5. Representación de Algoritmos.

Ahora veremos en que forma se puede escribir un algoritmo. No existe un lenguaje único y universal para escribir algoritmos. Cada lenguaje tiene una sintaxis determinada, un grupo finito de elementos que ayudan a representar los algoritmos, y una semántica asociada a la sintaxis, la cual se refiere al concepto que se representa.
Existen libros que tratan el tema, en ellos existen muchísimos elementos, no es el propósito de esta materia usar todos, así que se reducen los elementos a un mínimo que consideramos adecuado para escribir cualquier Algoritmo.
La sintaxis, conformada por dibujos y/o por palabras, no debe ser ambigua, y debe tener un nivel de detalle bien establecido con el cual pueda expresarse el algoritmo. Otro punto importante a tener en cuenta es que toda representación de algoritmos debe usar alguna forma que permita independizar dicho algoritmo de detalles propios de los lenguajes de programación en sí. Además, la descripción del algoritmo deber ser tal que permita ser fácilmente transformado en un programa, esto último condiciona el uso de cualquier combinación.
Existen dos tipos de representaciones de algoritmos:
  1. Gráfica (mediante dibujos)
  2. No gráfica (mediante textos).
Los métodos usuales para representar algoritmos son:
  1. Diagrama de flujo (del tipo Gráfico)
  2. Diagrama de Nassi Schneiderman (comúnmente denominado Diagrama de Chapin)
  3. Pseudocódigo (del tipo NO Gráfico)
  4. Lenguaje natural
  5. Fórmulas
Ejemplo de métodos 1 y 3:







Los dos primeros son formas gráficas de representación, mientras que los últimos son no gráficas.
Analizaremos las distintas representaciones. Los métodos 4) y 5) no suelen ser fáciles de transformar en programas. No es frecuente que un algoritmo sea expresado por medio de una simple fórmula, pues no es sencillo traducirlo a un lenguaje de programación. Observamos en el ejemplo de las bombas de papas lo ambiguo del lenguaje natural (en nuestro caso el español). A continuación veremos las diferentes representaciones sobre un mismo algoritmo, cuyo problema base es:
Enunciado del Problema: “Calcular el promedio de un conjunto de números positivos, suponiendo que los números ingresan de a uno por teclado. Un valor cero como entrada indicará que finalizó el ingreso de números positivos y se deberá mostrar el promedio de los mismos.”
Para poder resolver el problema mediante una representación Algorítmica anteriormente en esta materia se  usaban :
  • Gráficos (Diagrama de Flujo)
  • NO Gráficos (Pseudocódigo).
A partir del Cursado Informática 2020 NO vamos a utilizar ni Pseudocódigo ni Diagrama de Flujos para crear  los Algorítmos, vamos a resolver el Algoritmo utilizando directamente el lenguaje Python.