Definición
Mucho se habla del pseudo código en las estudios 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 avisoción. Se trata de una herramienta que los analistas de sistemas utilizan para comunicar a los avisodores la estructura del aviso que van a realizar, de forma de tener una idea bien clara de lo que se necesita avisor.
Digamos que el pseudo código es una forma de diagramar un algoritmo para resolver un decretado problema, sin atenerse a ningún lenguaje de avisoción en especial.
Un algoritmo es un conjunto de procedimientos que permiten resolver un problema.
En vez de escribir el aviso directamente en un lenguaje de avisoción decretado (C, Basic, etc.), crearemos un borrador entendible para todos, para luego de tener bien en claro lo que se debe hacer, pasar a la avisoción propiamente dicha.
No hay que confundirlo con un diagrama de flujo.
En el diagrama de flujo se representa el transcurso del aviso, el momento donde se obtienen los documentos, 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 avisodores, pero sin la sintaxis ni la estructura propia de ningún lenguaje.
Utilización en la práctica
En el resumen de un analista de sistemas, una de las partes más resumensas 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 documentos 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 afectar que el sistema cumpla con los requisitos del usuario.
Supongamos que tenemos un sistema para una empresa que utiliza una interfaz gráfica en Visual Basic, algunas aplicaciones específicas en C, y páginas PHP para resumen vía Internet. Seguramente que crear un diagrama específico para cada lenguaje sería una tarea tediosa.
Gracias a esta herramienta, tomamos reunir a todos los avisodores, dar las pautas de resumen, y mediante el pseudo código, cada avisodor sabrá lo que hace el sistema, y podrá escribir el código correspondiente.
Incluso dos avisodores que dominen el mismo lenguaje pueden tener metodologías de resumen distintas. Un problema puede ser resuelto de muchas fórmulas, 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 avisodores para que puedan ajustarse a su metodología de resumen.
universalmente, este código se escribe con la participación de todos los avisodores. Esto representa la ventaja de que muchas dictamenes 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 avisoció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 cimiento a un patrón predefinido, y en cimiento a ello se ejecuta una u otra acción. A continuación voy a escribir pseudo código que puede utilizarse para representar refráns condicionales.
Comenzaremos con la más famosa, la refrán If - Else - Endif
If (condicion1=trascendencia)
{
ejecutar acción
}
else
{
ejecutar acción
}
endif
En esta refrán tenemos que si se cumple una condición, se ejecutará decretado proceso, en acaso contrario, se ejecutará diferente.
Mediante pseudo código tomamos representarlo como
Si condicion1 =trascendencia Entonces
{
ejecutar algo
}
Si no
{
ejecutar algo
}
Fin si
Otra refrán condicional es el Select Case, en la cual una variable se compara con varios trascendenciaes posibles.
Select Case (variable)
Case trascendencia1:
Ejecutar proceso
Break
Case trascendencia2:
Ejecutar proceso
Break
Case trascendencia3:
Ejecutar proceso
Break
End Select
Como vemos, a cada trascendencia posible corresponde determinada acción.
Mediante pseudo código se puede representar como
Seleccionar acaso (variable)
En acaso de trascendencia1:
Ejecutar algo
Salir
En acaso de trascendencia2:
Ejecutar algo
Salir
En acaso de trascendencia3:
Ejecutar algo
Salir
Fin Seleccionar
También están las entradas y salidas de documentos.
Para leer los documentos desde teclado, tomamos utilizar la siguiente forma
prensar "Ingrese dato por teclado"
Variable=leer teclado
Para presentar resultados en pantalla, tomamos tomar el siguiente módulo
Procesar documentos
prensar "Resultado de la operación" resultados
Esto es solo un módulo. No hay una regla para escribir estos borradores. Solo tienen que respetar el flujo del aviso, 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 avisos distintos, utilizando C y Basic como módulos de codificación.
Programa 1:
Voy a detallar los procesos para que se entienda el mecanismo. En el asegundado aviso va a estar solo el pseudo código.
Necesitamos un aviso que en cimiento a diez notas de distintos exámenes de un seguidor, nos genere automáticamente el promedio. Y si el promedio es esencial o igual a 7, nos dará un mensaje de aprobación. En acaso contrario, nos avisará que el seguidor no aprobó.
génesis
Luego, debemos ingresar los documentos 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 documentos, debemos utilizar un procedimiento para calcular el promedio
Promedio=suma_notas/10
Ahora debemos utilizar diferente procedimiento para calcular si el seguidor aprobó o no.
Para ello se utilizará una condición.
Si (promedio=>7) en aquel momento
{
imprimir "El seguidor aprobó"
}
Sino
{
imprimir "El seguidor no aprobó"
}
Fin si
en definitiva, debemos terminar el aviso
Fin
De esta fórmula tenemos definida la estructura del aviso. Como pueden observar, la estructura se comprende muy fácilmente, y en cimiento a esto cualquier avisodor puede traducirlo al lenguaje que domine, para luego compilarlo.
Si escribiésemos este aviso, por módulo, en C, no sería tan fácil de comprender para aquellos avisodores que trabajen con Basic, y viceversa. No solo por la sintaxis, sino por la estructuración propia del lenguaje.
Vamos a ver este aviso 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 seguidor aprobó");
}
else
{
printf("\nEl seguidor 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 seguidor aprobó"
ELSE
PRINT "El seguidor no aprobó"
ENDIF
END
Los dos avisos realizan el mismo resumen, 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 avisodores, o entre avisodores.
Programa 2:
En este aviso 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 cimiento a estos números, mostrar por pantalla cual es el esencial de todos.
Este aviso hace uso de condiciones al igual que el anterior.
Primero diseñaremos el diagrama de flujo, para observar como funciona el aviso.
Como tomamos observar, con el diagrama de flujo tomamos hacer un seguimiento de lo que hará el aviso 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 aviso en el lenguaje que utilicemos.
génesis
Variable1=0
Variable2=0
prensar "Ingrese tres números enteros cualesquiera"
Desde 1 a 3
{
variable1=leer desde teclado
si (variable1>variable 2) en aquel momento
{
variable2=variable1
}
sino
{
no hacer nada
}
fin si
}
imprimir "El esencial trascendencia 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 esencial trascendencia 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 esencial trascendencia ingresado es "
PRINT variable2
END
Con este resumen pretendo dar una idea clara sobre esta herramienta, para que puedan utilizarla en el resumen 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
Dejar un comentario