Una vez que se ha elegido la mejor alternativa para solucionar el problema o reto para el que se crea el algoritmo es el momento de representarlo siguiendo alguno de estos métodos:
- Lenguaje natural (español, inglés, etc.)
- Diagramas de flujo
- Pseudocódigo
Diagramas de Flujo
A continuación se muestran una serie de símbolos útiles para llevar a cabo este tipo de representaciones.
Fuente: Slideshare de Paco González Caballero
En Internet existen numerosas herramientas que pueden ayudarte a crear diagramas de flujo. Aquí te proponemos dos gratuitas:
- draw.io: Permite guardar los diagramas en el disco duro de tu ordenador, Gdrive, OneDrive o Dropbox.
- Diagramly: Posibilita crear diagramas de flujo o mapas mentales.
En este documento (ver) encontrarás una serie de reglas y ejemplos para crear algoritmos y diagramas de flujo.
Pseudocódigo
El Pseudocódigo es sin duda de las representaciones más utilizadas. Es una forma de expresar el algoritmo utilizando el lenguaje natural, comprensible para cualquier persona, pero añadiendo ciertas instrucciones típicas de los lenguajes de programación.
No existe una sintaxis estándar para el pseudocódigo, pero como hemos comentado, en el pseudocódigo se reflejan las instrucciones típicas de los lenguajes de programación, como las instrucciones condicionales:
SI condición ENTONCES
instrucciones/pasos a realizar si se cumple la condición
SI NO
instrucciones/pasos a realizar si NO se cumple la condición
FIN SI
Elaboración propia utilizando Scratch
Y las instrucciones repetitivas:
REPETIR n veces
instrucciones/pasos a realizar
FIN REPETIR
Elaboración propia utilizando Scratch
REPETIR HASTA condición de salida
instrucciones/pasos a realizar hasta que se cumpla la condición de salida del bucle
FIN REPETIR
Elaboración propia utilizando Scratch
En definitiva, el pseudocódigo se trata de un falso lenguaje, ya que apela a las normas de estructura de un lenguaje de programación aunque está pensado para que pueda ser leído por un ser humano y no interpretado por una máquina.
El pseudocódigo, en este sentido, está considerado como una descripción de un algoritmo que resulta independiente de otros lenguajes de programación. Para que una persona pueda leer e interpretar el código en cuestión, se excluyen diversos datos que no son clave para su entendimiento. Veamos un par de ejemplos orientados a crear algoritmos matemáticos:
Ejemplo: Realizar el pseudocódigo de un programa que permita calcular el área de un rectángulo. Se debe introducir la base y la altura para poder realizar el cálculo.
Programa: área
Entorno: BASE, ALTURA, AREA son números enteros
Algoritmo:
escribir "Introduzca la base y la altura"
leer BASE, ALTURA
calcular AREA = BASE * ALTURA
escribir "El área del rectángulo es "AREA"
Finprograma
Ejemplo: Realizar el pseudocódigo que permita al usuario introducir por teclado dos notas, calculando la suma y el producto de las notas.
Programa: Suma Producto
Entorno: NOTA1, NOTA2, SUMA, PRODUCTO son números enteros
Algoritmo:
escribir "Introduzca las notas"
leer NOTA1, NOTA2
calcular SUMA = NOTA1 + NOTA2
calcular PRODUCTO = NOTA1 * NOTA2
escribir "La suma de las dos notas es: "SUMA"
escribir "El producto de las dos notas es: "PRODUCTO".
Finprograma
Ningún ordenador podría interpretar estas instrucciones. Para crear un programa a partir del algoritmo, una vez refinado el pseudocódigo, deberíamos reescribirlo en un leguaje de programación: C, C++, Java, Scratch...