miércoles, 18 de mayo de 2011

EL PSEUDOCODIGO

El pseudocódigo (o falso lenguaje) es utilizado por programadores para describir algoritmos en un lenguaje humano simplificado que no es dependiente de ningún lenguaje de programación. Por este motivo puede ser implementado en cualquiera lenguaje por cualquier programador que utilice el pseudocodigo pseudocódigo.

Características y partes

Las principales características de este lenguaje son:
  1. Se puede ejecutar en un ordenador
  2. Es una forma de representación sencilla de utilizar y de manipular.
  3. Facilita el paso del programa al lenguaje de programación.
  4. Es independiente del lenguaje de programación que se vaya a utilizar.
  5. Es un método que facilita la programación y solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la descripción de:
  1. Instrucciones primitivas.
  2. Instrucciones de proceso.
  3. Instrucciones de control.
  4. Instrucciones compuestas.
  5. Instrucciones de descripción.
Estructura a seguir en su realización:
  1. Cabecera.
    1. Programa.
    2. Modulo.
    3. Tipos de datos.
    4. Constantes.
    5. Variables.
  2. Cuerpo.
    1. Inicio.
    2. Instrucciones.
    3. Fin.
Funciones y procedimientos


Muchas personas prefieren distinguir entre funciones y procedimientos. Una función, al igual que una función matemática, recibe uno o varios valores de entrada y regresa una salida mientras que un procedimiento recibe una entrada y no genera ninguna salida aunque en algún caso podría devolver resultados a través de sus parámetros de entrada si estos se han declarado por referencia (ver formas de pasar argumentos a una función o procedimiento).
En ambos casos es necesario dejar en claro cuáles son las entradas para el algoritmo, esto se hace comúnmente colocando estos valores entre paréntesis al principio o bien declarándolo explícitamente con un enunciado. En el caso de las funciones, es necesario colocar una palabra como regresar o devolver para indicar cuál es la salida generada por el algoritmo. Por ejemplo, el pseudocódigo de una función que permite calcular an (un número a elevado a potencia n).


 

Un ejemplo de procedimiento seria el algoritmo de Ordenamiento de burbuja, por el que partiendo de una lista de valores estos se ordenan, nótese que en un procedimiento, no se calcula el valor de una función, sino que se realiza una acción, en este caso ordenar la lista.


   { \color{Sepia} \mathit{ procedimiento }} \;
   { \color{Blue}  \mathit{ DeLaBurbuja }} \; 
   (
      { \color{Green}  \mathit{ a }}
      { \color{Plum}   \mathit{ {}_0 }} ,
      { \color{Green}  \mathit{ a }}
      { \color{Plum}   \mathit{ {}_1 }} ,
      { \color{Green}  \mathit{ a }}
      { \color{Plum}   \mathit{ {}_2 }} ,
      \ldots,
      { \color{Green}  \mathit{ a }} {}_(
      { \color{Green}  \mathit{ {}_n }}
      { \color{Blue}   \mathit{ {}_- }}
      { \color{Plum}   \mathit{ {}_1}} {}_)
   )

   { \color{Sepia} \mathit{ para }} \;
   { \color{Green} \mathit{ i}} \;
   { \color{Blue}  \mathit{ \gets }} \;
   { \color{Plum}  \mathit{ 2}} \;
   { \color{Sepia} \mathit{ hasta }} \;
   { \color{Green} \mathit{ n}} \;
   { \color{Sepia} \mathit{ hacer }}

   { \color{Sepia} \mathit{ para }} \;
   { \color{Green} \mathit{ j}} \;
   { \color{Blue}  \mathit{ \gets }} \;
   { \color{Plum} \mathit{ 0}} \;
   { \color{Sepia} \mathit{ hasta }} \;
   { \color{Green} \mathit{ n }} \;
   { \color{Blue}  \mathit{ - }} \;
   { \color{Green} \mathit{ i }} \;
   { \color{Sepia} \mathit{ hacer }}

   { \color{Sepia} \mathit{ si }} \;
   { \color{Green} \mathit{ a }}    {}_(
   { \color{Green} \mathit{ {}_j }} {}_) \;
   { \color{Blue}  \mathit{ < }} \;
   { \color{Green} \mathit{ a }} {}_(
   { \color{Green} \mathit{ {}_j }}
   { \color{Blue}  \mathit{ {}_+ }}
   { \color{Plum}  \mathit{ {}_1}} {}_) \;
   { \color{Sepia} \mathit{ entonces }}

   { \color{Green} \mathit{ aux }} \;
   { \color{Blue}  \mathit{ \gets }} \;
   { \color{Green} \mathit{ a }}    {}_(
   { \color{Green} \mathit{ {}_j }} {}_) \;

   { \color{Green} \mathit{ a }}    {}_(
   { \color{Green} \mathit{ {}_j }} {}_) \;
   { \color{Blue}  \mathit{ \gets }} \;
   { \color{Green} \mathit{ a }} {}_(
   { \color{Green} \mathit{ {}_j }}
   { \color{Blue}  \mathit{ {}_+ }}
   { \color{Plum}  \mathit{ {}_1}} {}_)

   { \color{Green} \mathit{ a }} {}_(
   { \color{Green} \mathit{ {}_j }}
   { \color{Blue}  \mathit{ {}_+ }}
   { \color{Plum}  \mathit{ {}_1}} {}_) \;
   { \color{Blue}  \mathit{ \gets }} \;
   { \color{Green} \mathit{ aux }}

   { \color{Sepia} \mathit{ fin \; si }}

   { \color{Sepia} \mathit{ fin \; para }}

   { \color{Sepia} \mathit{ fin \; para }}

   { \color{Sepia} \mathit{ fin \; procedimiento }}
DIAGRAMA DE FLUJO


Archivo:DiagramaFlujoLampara.svg

No hay comentarios:

Publicar un comentario