jueves, 12 de marzo de 2009

PSEUDOCODIGO

Un pseudocódigo (falso lenguaje), es una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software.

Para probar el algoritmo se utiliza un Pseudo intérprete el cual se encuentra disponible para las plataformas GNU/Linux y Windows, es de código libre y está escrito en C++. El mismo se ejecuta en un Terminal.

El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema.

No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones, veamos un ejemplo, que podríamos definir como: lenguaje imperativo, de tercera generación, según el método de programación estructurada.

Secuencial

Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo.

Instrucción1
Instrucción2
Instrucción3
\vdots
Instrucciónn

Selectiva

La instrucción selectiva determina si una determinada instrucción se ejecuta o no, según el cumplimiento de una condición P.

si P entonces
Instrucciones1
fin si

Selectiva doble (alternativa)

La instrucción selectiva realiza una instrucción de dos posibles, según el cumplimiento de una condición P.

si P entonces
Instrucciones1
si no
Instrucciones2
fin si

Selectiva múltiple

También es común el uso de una selección múltiple que equivaldría a anidar varias funciones de selección.

si Condición1 entonces
Instrucciones1
si no si Condición2 entonces
Instrucciones2
\vdots
si no si Condiciónn entonces
Instruccionesn - 1
si no
Instruccionesn
fin si

Selectiva múltiple-Casos

Una construcción similar a la anterior (equivalente en algunos casos) es la que se muestra a continuación.

seleccionar Indicador
caso Valor1:
Instrucciones1
caso Valor2:
Instrucciones2
\vdots
caso Valorn-1:
Instruccionesn-1
[en otro caso:
Instruccionesn]
Fin seleccionar Indicador

Iterativa

Las instrucciones iterativas abren la posibilidad de realizar una secuencia de instrucciones más de una vez.

Diagrama de flujo que muestra el funcionamiento de la instrucción mientras
mientras P hacer
Instrucciones
fin mientras

El bucle se repite mientras la condición P sea cierta, si al llegar por primera vez al bucle mientras la condición es falsa, el cuerpo del bucle no se ejecuta ninguna vez.

Existen otras variantes que se derivan a partir de la anterior. La estructura de control hacer se utiliza cuando es necesario que las instrucciones de una estructura mientras se ejecuten al menos una vez:

hacer
Instrucciones
mientras P

La estructura anterior equivaldría a escribir

Instrucciones
mientras P hacer
Instrucciones
fin mientras

Una estructura de control muy común es el ciclo para, la cual se usa cuando se desea iterar sobre sobre un índice i (por convención se usa i, sin embargo se puede usar cualquier identificador):

para i\leftarrow x hasta n hacer
Instrucciones
fin para

la cual se define como

i\leftarrow x
mientras i\leq n hacer
Instrucciones
i\leftarrow i+1
fin mientras

Por último, también es común usar la estructura de control para cada. Esta sentencia se usa cuando se tiene una lista o un conjunto L y se quiere iterar por cada uno de sus elementos:

para cada x\in L hacer
Instrucciones
fin para

Si asumimos que los elementos de L son L_0,L_1,\dots,L_n, entonces esta sentencia equivaldría a

para i\leftarrow 0 hasta n hacer
x\leftarrow L_i
Instrucciones
fin para
(http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo)