Introducción a la programación 2023
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:
- Gráfica (mediante dibujos)
- No gráfica (mediante textos).
Los métodos usuales para representar algoritmos son:
- Diagrama de flujo (del tipo Gráfico)
- Diagrama de Nassi Schneiderman (comúnmente denominado Diagrama de Chapin)
- Pseudocódigo (del tipo NO Gráfico)
- Lenguaje natural
- 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.