Diccionario Informático Ampliado

Diseño de algoritmos.

Un algoritmo tiene que ser un reflejo del tipo de programación que se esté utilizando.
Lo cierto es que hoy lo que se impone es la programación orientada a objetos, en cuyo caso los sistemas tradicionales se modifican, pero siendo una derivación de los metodos de programación estructurada y participando de ellos, creo que el diseño de algoritmos habría que relacionarlo con los tipos de estructuras de este sistema. Lo voy a enfocar así.

Estructuras secuenciales. Las mas simples, el orden de ejecución de las sentencias no se va a ver modificado en ningún sentido, por ejemplo, si queremos efectuar una suma es una secuencial:

Inicio_secuencial
  {leer x e y}
  total := x+y
  {mostrar total}
Fin_secuencia


Estructuras condicionales
. Se hace más complejo, las sentencias pueden no ser leidas dependiendo del cumplimiento de unas premisas o condiciones. El nivel de dificultad depende del número de condiciones que entran a formar parte del proceso. Lo más simple podía ser mostar de dos datos cual es el mayor:

Inicio_condicional
{leer x e y}
SI x = y
ENTONCES
{advertir que son iguales}
SI_NO
SI x < y
{mostrar x}
SI_NO
{mostrar y}
FIN_SI
FIN_SI
Fin_condicional


Hay que considerar que hay otra estructura (CASE) cuyo algoritmo típico es diferente.

Estructuras repetitivas (o iterativas o bucles): Cuando una serie de sentencias se pueden repetir dependiendo de unas premisas. La forma del algoritmo vendría dada por el tipo de bucle utilizado, normalmente el For, While o Repeat. Voy a utilizar While pues con ese se puede hacer cualquier cosa. Y muy simple sería leer secuencialmente un fichero hasta
que se encuentre un valor determinado, tendríamos que echar mano también a un condicional:

Inicio_bucle
{leer valor}
localizado := falso

HAZ MIENTRAS (no EOF) Y (no localizado) /* EOF es la marca de fin de
fichero, pues puede no existir el valor */
SI campo = valor
ENTONCES
localizado := cierto
{mostrar valor}
SI_NO
{avanzar un registro}
FIN_SI
FIN HAZ
Fin_bucle

José Luis Freire
  El Rinconcito Informático: 25/06/2000 - (c) 2000 - 2008  | Creación y mantenimiento : José Luis Freire   | Se pretende poder utilizar cualquier navegador. Recomendado 1024x768