Todos los algoritmos tienen una cierta similitud, o por lo menos deberían tenerla, ya que seguir un esqueleto o estructura común te ayuda a centrarte en el problema en sí.
Tabla de contenidos
Estructura general en lenguaje algorítmico
Primero empezaré por mostrarte la estructura general de un algoritmo, sus partes, de que esta formado y en qué orden deben estar para tener claras las pautas que hay que tener en cuenta a la hora de plantear un algoritmo.
Hay que tener en cuenta que todo esto es una sintaxis del lenguaje algorítmico, es una convención lo más aproximada a tu lenguaje natural, en este caso el español, para facilitar la creación de algoritmos que después pueden ser exportados a cualquier lenguaje de programación imperativo.
Cabecera
Sirve para marcar donde empieza tu algoritmo. En ella darás el nombre al código. Utilizarás la palabra clave algoritmo
seguido del nombre identificativo, por ejemplo primerCodigo
algoritmo primerCodigo
...
Definición de constantes
Justo después de la cabecera, si es el caso, determinarás las constantes que utilizará tu algoritmo, recuerda que las constantes son las variables que no cambian en el trascurso del programa.
Utilizarás la palabra reservada const ... fconst
. Dentro de estas sentencias define las constantes de la siguiente forma:
const
nombreConstante1: tipo = valor1;
nombreConstante2: tipo = valor2;
nombreConstanteN: tipo = valorN;
...
fconst
El algoritmo irá quedando así:
algoritmo primerCodigo const nombreConstante1: tipo = valor1; nombreConstante2: tipo = valor2; nombreConstanteN: tipo = valorN; ... fconst
Definición de tipos
En este apartado sólo pondrás las definiciones de tipos que el lenguaje algorítmico no proporcione, es decir, si sólo vamos a utilizar tipos básicos de datos, como booleano, caracter, entero o real no es necesario que definas ningún tipo, ya que los provee en lenguaje.
Cuando necesites tipos de datos más complejos que los básicos, como tablas o tuplas (los verás más adelante), será cuando tengas que declararlos en este apartado.
La palabras reservadas para este caso son tipo ... ftipo
. Dentro de estas sentencias pondremos los siguientes datos:
tipo
nombreTipo1 = definicionTipo1;
nombreTipo2 = definicionTipo2;
nombreTipoN = definicionTipoN;
...
ftipo
Hasta ahora vamos así:
algoritmo primerCodigo const nombreConstante1: tipo = valor1; nombreConstante2: tipo = valor2; nombreConstanteN: tipo = valorN; ... fconst tipo nombreTipo1 = definicionTipo1; nombreTipo2 = definicionTipo2; nombreTipoN = definicionTipoN; ... ftipo
Definición de variables
En este apartado pondrás todas las variables que vas a utilizar en tu algoritmo. También podrás del tipo que serán.
Como el lenguaje algorítmico es generalista, me explico, a partir de él puedes implementarlo en cualquier otro. Y hay lenguajes de programación que son muy rígidos en cuanto la declaración de variables y tipos, como por ejemplo Java o C, por eso en este pseudo-lenguaje tienes que serlo a la hora de plantear tu código y declarar los tipos.
La sintaxis de declaración de variables es var ... fvar
, dentro declaras todas las varaibles:
var
nombreVariable1: tipoVariable1;
nombreVaraible2: tipoVariable2;
nombreVariableN: tipoVaraibleN;
...
fvar
Ya casi acabamos…queda así:
algoritmo primerCodigo const nombreConstante1: tipo = valor1; nombreConstante2: tipo = valor2; nombreConstanteN: tipo = valorN; ... fconst tipo nombreTipo1 = definicionTipo1; nombreTipo2 = definicionTipo2; nombreTipoN = definicionTipoN; ... ftipo var nombreVariable1: tipoVariable1; nombreVaraible2: tipoVariable2; nombreVariableN: tipoVaraibleN; ... fvar
Cuerpo del algoritmo
Como es lógico, en este espacio describirás tu algoritmo con las acciones que lleguen a resolver el problema planteado.
accion1;
accion2;
accionN;
...
Quedará así:
algoritmo primerCodigo const nombreConstante1: tipo = valor1; nombreConstante2: tipo = valor2; nombreConstanteN: tipo = valorN; ... fconst tipo nombreTipo1 = definicionTipo1; nombreTipo2 = definicionTipo2; nombreTipoN = definicionTipoN; ... ftipo var nombreVariable1: tipoVariable1; nombreVaraible2: tipoVariable2; nombreVariableN: tipoVaraibleN; ... fvar accion1; accion2; accionN; ...
Fin del algoritmo
Para finalizar, simple y fácil. Igual que hemos iniciado el algoritmo con la palabra clave algoritmo
, ahora cierras el código con la sentencia falgoritmo
.
Con lo que la estructura general de cualquier algoritmo debería ser algo así:
algoritmo primerCodigo const nombreConstante1: tipo = valor1; nombreConstante2: tipo = valor2; nombreConstanteN: tipo = valorN; ... fconst tipo nombreTipo1 = definicionTipo1; nombreTipo2 = definicionTipo2; nombreTipoN = definicionTipoN; ... ftipo var nombreVariable1: tipoVariable1; nombreVaraible2: tipoVariable2; nombreVariableN: tipoVaraibleN; ... fvar accion1; accion2; accionN; ... falgoritmo
Ahora para acabar, si juntamos conocimientos previos adquiridos sobre la especificación de algoritmos el código final quedará más o menos de la siguiente manera:
{Pre: Estado previo de las variables } algoritmo primerCodigo const nombreConstante1: tipo = valor1; nombreConstante2: tipo = valor2; nombreConstanteN: tipo = valorN; ... fconst tipo nombreTipo1 = definicionTipo1; nombreTipo2 = definicionTipo2; nombreTipoN = definicionTipoN; ... ftipo var nombreVariable1: tipoVariable1; nombreVaraible2: tipoVariable2; nombreVariableN: tipoVaraibleN; ... fvar accion1; accion2; accionN; ... falgoritmo {Post: Estado final de las variables}
En sucesivas entradas, iré presentándote estructuras más concretas, como un esquema de recorrido secuencial, iterativo, etc.
Si te ha gustado o te ha aclarado conceptos el contenido de este articulo compártelo en redes sociales para que pueda crecer, ¡Muchas gracias!
BIEN GRACIAS
INTERESA MUCHO SABER
INTERESANTE
GRACIAS
¡Gracias a ti por leerme!