Pseudo código

    1. Definición
    2. Utilización en la práctica
    3. Manejo de condiciones, entradas y salidas
    4. Ejemplos

    Definición

    Mucho se habla del pseudo código en las carreras de Analista de Sistemas y Programación. Pero no existe mucha bibliografía al respecto.

    En este articulo voy a tratar de echar un poco de luz sobre algo de lo que siempre se habla, pero que muchos no saben a ciencia cierta que es y como se usa.

    Comencemos aclarando que no es una forma de programación. Se trata de una herramienta que los analistas de sistemas utilizan para comunicar a los programadores la estructura del programa que van a realizar, de forma de tener una idea bien clara de lo que se necesita programar.

    Digamos que el pseudo código es una forma de diagramar un algoritmo para resolver un determinado problema, sin atenerse a ningún lenguaje de programación en especial.

    Un algoritmo es un conjunto de procedimientos que permiten resolver un problema.

    En vez de escribir el programa directamente en un lenguaje de programación determinado (C, Basic, etc.), crearemos un borrador entendible para todos, para luego de tener bien en claro lo que se debe hacer, pasar a la programación propiamente dicha.

    No hay que confundirlo con un diagrama de flujo.

    En el diagrama de flujo se representa el transcurso del programa, el momento donde se obtienen los datos, cuando se procesan y el momento de presentar los resultados. Si bien son dos herramientas que se utilizan en conjunto, cada una representa dos partes distintas en el diseño de un sistema.

    El pseudo código se refiere a crear un código para orientar a los programadores, pero sin la sintaxis ni la estructura propia de ningún lenguaje.

    Utilización en la práctica

    En el trabajo de un analista de sistemas, una de las partes más trabajosas es la de determinar que es lo que necesitan de un sistema los usuarios finales. Se dedican muchas horas a hacer un relevamiento de los datos que serán necesarios, los tipos de procesamientos, las salidas, etc. Y debe existir una realimentación entre el diseño y el usuario, para garantizar que el sistema cumpla con los requisitos del usuario.

    Supongamos que tenemos un sistema para una que utiliza una interfaz gráfica en Visual Basic, algunas aplicaciones específicas en C, y páginas PHP para trabajo vía Internet. Seguramente que crear un diagrama específico para cada lenguaje sería una tarea tediosa.

    Gracias a esta herramienta, podemos reunir a todos los programadores, dar las pautas de trabajo, y mediante el pseudo código, cada programador sabrá lo que hace el sistema, y podrá escribir el código correspondiente.

    Incluso dos programadores que dominen el mismo lenguaje pueden tener metodologías de trabajo distintas. Un problema puede ser resuelto de muchas maneras, cada una más o menos eficiente que la otra, pero todas cumplen con el objetivo.

    El pseudo código elimina estas diferencias, dando libertad a los programadores para que puedan ajustarse a su metodología de trabajo.

    Generalmente, este código se escribe con la participación de todos los programadores. Esto representa la ventaja de que muchas opiniones ayudan a elegir la mejor entre todas, logrando una solución efectiva y eficaz al problema planteado.

    Manejo de condiciones, entradas y salidas

    Gran parte de la programación se basa en evaluación de variables, para luego mostrar un resultado, ya sea por pantalla o por impresora.

    Dos o más variables se comparan en base a un patrón predefinido, y en base a ello se ejecuta una u otra acción. A continuación voy a escribir pseudo código que puede utilizarse para representar sentencias condicionales.

    Comenzaremos con la más famosa, la sentencia If - Else - Endif

    If (condicion1=valor)

    {

    ejecutar acción

    }

    else

    {

    ejecutar acción

    }

    endif

    En esta sentencia tenemos que si se cumple una condición, se ejecutará determinado proceso, en caso contrario, se ejecutará otro.

    Mediante pseudo código podemos representarlo como

    Si condicion1 =valor Entonces

    {

    ejecutar algo

    }

    Si no

    {

    ejecutar algo

    }

    Fin si




    Otra sentencia condicional es el Select Case, en la cual una variable se compara con varios valores posibles.

    Select Case (variable)

    Case valor1:

    Ejecutar proceso

    Break

    Case valor2:

    Ejecutar proceso

    Break

    Case valor3:

    Ejecutar proceso

    Break

    End Select

    Como vemos, a cada valor posible corresponde determinada acción.

    Mediante pseudo código se puede representar como

    Seleccionar caso (variable)

    En caso de valor1:

    Ejecutar algo

    Salir

    En caso de valor2:

    Ejecutar algo

    Salir

    En caso de valor3:

    Ejecutar algo

    Salir

    Fin Seleccionar

    También están las entradas y salidas de datos.

    Para leer los datos desde teclado, podemos utilizar la siguiente forma

    Imprimir "Ingrese dato por teclado"

    Variable=leer teclado

    Para presentar resultados en pantalla, podemos tomar el siguiente ejemplo

    Procesar datos

    Imprimir "Resultado de la operación" resultados

    Esto es solo un ejemplo. No hay una regla para escribir estos borradores. Solo tienen que respetar el flujo del programa, la estructura de las condiciones y procesos involucrados.

    Ejemplos

    Vamos a realizar una pequeña práctica para aprender a utilizar esta sencilla pero eficaz herramienta en el análisis de sistemas.

    Crearemos dos programas distintos, utilizando C y Basic como ejemplos de codificación.

    Programa 1:

    Voy a detallar los procesos para que se entienda el mecanismo. En el segundo programa va a estar solo el pseudo código.

    Necesitamos un programa que en base a diez notas de distintos exámenes de un alumno, nos genere automáticamente el promedio. Y si el promedio es mayor o igual a 7, nos dará un mensaje de aprobación. En caso contrario, nos avisará que el alumno no aprobó.

    Inicio

    Luego, debemos ingresar los datos por teclado, en un bucle de 10 ingresos, y guardar en alguna variable las notas

    Desde 1 a 10

    {

    leer dato

    suma_notas=suma_notas + dato

    }

    Una vez que tengamos todos los datos, debemos utilizar un procedimiento para calcular el promedio

    Promedio=suma_notas/10

    Ahora debemos utilizar otro procedimiento para calcular si el alumno aprobó o no.

    Para ello se utilizará una condición.

    Si (promedio=>7) entonces

    {

    imprimir "El alumno aprobó"

    }

    Sino

    {

    imprimir "El alumno no aprobó"

    }

    Fin si

    Finalmente, debemos terminar el programa

    Fin

    De esta manera tenemos definida la estructura del programa. Como pueden observar, la estructura se comprende muy fácilmente, y en base a esto cualquier programador puede traducirlo al lenguaje que domine, para luego compilarlo.

    Si escribiésemos este programa, por ejemplo, en C, no sería tan fácil de comprender para aquellos programadores que trabajen con Basic, y viceversa. No solo por la sintaxis, sino por la estructuración propia del lenguaje.

    Vamos a ver este programa escrito en los dos lenguajes antes mencionados. A ver si notan las diferencias.

    Programa escrito en C

    #include <stdio.h>

    viod main()

    {

    int numero=0, i=0;

    double promedio=0.00;

    for(i==0;i<10;i++)

    {

    scanf("%d",&numero);

    promedio=promedio+numero;

    }

    promedio=promedio/10;

    if(promedio>=7)

    {

    printf("\nEl alumno aprobó");

    }

    else

    {

    printf("\nEl alumno no aprobó");

    }

    }

    Programa escrito en Basic

    DIM numero, i AS INTEGER

    DIM promedio AS DOUBLE

    FOR i=0 TO 9

    INPUT "", numero

    promedio=promedio+numero

    NEXT i

    promedio=promedio/10

    IF (promedio>=7) THEN

    PRINT "El alumno aprobó"

    ELSE

    PRINT "El alumno no aprobó"

    ENDIF

    END

    Los dos programas realizan el mismo trabajo, pero con distinta estructura y sintaxis.

    El pseudo código, como podrán deducir, sirve para evitar confusiones entre el analista de sistemas y los programadores, o entre programadores.

    Programa 2:

    En este programa vamos a incluir el diseño de un diagrama de flujo, para ver la relación entre este y el pseudo código.

    Se solicita al operador que ingrese tres números enteros cualesquiera.

    En base a estos números, mostrar por pantalla cual es el mayor de todos.

    Este programa hace uso de condiciones al igual que el anterior.

    Primero diseñaremos el diagrama de flujo, para observar como funciona el programa.

    Como podemos observar, con el diagrama de flujo podemos hacer un seguimiento de lo que hará el programa ante cada estado de las variables en uso.

    Seguidamente escribamos el pseudo código para tener una idea de cómo vamos a escribir el programa en el lenguaje que utilicemos.

    Inicio

    Variable1=0

    Variable2=0

    Imprimir "Ingrese tres números enteros cualesquiera"

    Desde 1 a 3

    {

    variable1=leer desde teclado

    si (variable1>variable 2) entonces

    {

    variable2=variable1

    }

    sino

    {

    no hacer nada

    }

    fin si

    }

    imprimir "El mayor valor ingresado es "

    imprimir variable2

    Fin

    Ahora veamos la codificación en C y Basic.

    Programa escrito en C

    #include <stdio.h>

    viod main()

    {

    int variable1=0, i=0, variable2=0;

    printf("\nIngrese tres números enteros cualesquiera ");

    for(i==0;i<3;i++)

    {

    scanf("%d",&variable1);

    if(variable1>variable2)

    {

    variable2=variable1;

    }

    else

    {

    }

    }

    printf("\nEl mayor valor ingresado es %d",&variable2);

    }

    Programa escrito en Basic

    DIM variable1, variable2 AS INTEGER

    variable1=0

    variable2=0

    FOR i=0 TO 2

    INPUT "", variable 1

    IF (variable1>variable2) THEN

    variable2=variable1

    ELSE

    ENDIF

    NEXT i

    PRINT "El mayor valor ingresado es "

    PRINT variable2

    END

    Con este trabajo pretendo dar una idea clara sobre esta herramienta, para que puedan utilizarla en el trabajo diario, junto con tantas otras de las que dispone el análisis y diseño de sistemas.

    Cualquier corrección, duda o sugerencia pueden escribir a todoparaarmar[arroba]yahoo.com.ar

    Espero que les sea de utilidad.

     

     

     

    Autor:

    Carlos A. Rodriguez

    Webmaster de www.todoparaarmar.34x.com

    San Vicente, provincia de Buenos Aires, Argentina

    31 de octubre de 2006

    Trabajo enviado por:

    todoparaarmar[arroba]yahoo.com.ar



    Artículo original: Monografías.com

    Mantente al día de todas las novedades

    Pseudo código

    Indica tu email.
    Indica tu Provincia.
    Al presionar "Enviar" aceptas las políticas de protección de datos y privacidad de Plusformación.

    Escribir un comentario

    Deja tu comentario/valoración:

    El contenido de este campo se mantiene privado y no se mostrará públicamente.
    Si especificas la url de tu página o perfil de Google+, aparecerá el avatar que tengas en Google+
    Deja tu comentario y nosotros te informaremos
    CAPTCHA
    Esta pregunta se hace para comprobar que es usted una persona real e impedir el envío automatizado de mensajes basura.
    9 + 6 =
    Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.