Descripción de algoritmos
En la bodega del barrio, Lázaro quiere explicarle a un compañero cómo se calcula el total de una compra de varios productos. Podría contarlo con palabras, dibujarlo con figuras o escribirlo con instrucciones exactas. ¿Cuál de las tres formas es la mejor? Depende de para qué la necesites, y en esta página aprenderás a usar las tres.
Tres formas de describir un algoritmo
Un algoritmo es una secuencia ordenada de pasos que resuelve un problema. Lo que cambia es la forma de contarlo:
| Forma | En qué consiste | Cuándo es útil |
|---|---|---|
| Lenguaje natural | Los pasos se escriben con oraciones normales, numeradas. | Para pensar la idea y explicarla a otras personas. |
| Diagrama de flujo | Los pasos se dibujan con figuras unidas por líneas. | Para ver el recorrido y las decisiones de un vistazo. |
| Pseudocódigo | Los pasos se escriben con palabras clave fijas (Inicio, leer, escribir…). |
Para acercarse a un lenguaje de programación. |
Las tres describen lo mismo. Si el algoritmo es correcto, da el mismo resultado sea cual sea la forma elegida.
Un algoritmo se puede describir de varias formas. Menciona tres de ellas y explica en una oración en qué consiste cada una.
Un algoritmo se puede describir de varias formas.
Menciona tres de ellas y explica en una oración en qué consiste cada una.
El diagrama de flujo
El diagrama de flujo usa figuras con significado fijo. Se leen de arriba hacia abajo siguiendo las líneas que unen las figuras.
| Figura | Significado | Ejemplo de texto dentro |
|---|---|---|
| Óvalo | Inicio o fin | Inicio |
| Rectángulo | Proceso o cálculo | area <- lado * lado |
| Rombo | Decisión (dos salidas: sí / no) | nota >= 60 |
| Paralelogramo | Entrada o salida de datos | leer lado |
Un rombo siempre tiene dos caminos de salida, uno para cuando la condición se cumple y otro para cuando no.
En un diagrama de flujo se usan distintas figuras. Relaciona cada figura con su significado: óvalo rectángulo rombo paralelogramo Significados: decisión, entrada o…
En un diagrama de flujo se usan distintas figuras. Relaciona cada figura con su significado:
-
óvalo
-
rectángulo
-
rombo
-
paralelogramo
Significados: decisión, entrada o salida de datos, inicio o fin, proceso o cálculo.
El pseudocódigo
El pseudocódigo se escribe en líneas, una instrucción por línea, entre Inicio y Fin.
| Instrucción | Qué hace |
|---|---|
Inicio / Fin |
Marcan el comienzo y el final del algoritmo. |
leer x |
Entrada: toma un dato y lo guarda en la variable x. |
y <- expresión |
Asignación: calcula la expresión y guarda el resultado en y. |
escribir y |
Salida: muestra el valor de y (o un texto entre comillas). |
La flecha <- se lee «recibe». Primero se calcula lo de la derecha y después se guarda en la variable de la izquierda. Por eso es válido suma <- suma + 1: toma el valor viejo de suma, le suma 1 y lo guarda de nuevo.
Inicio
leer lado
area <- lado * lado
escribir area
Fin
En este algoritmo la variable de entrada es lado, la variable que guarda el resultado es area, la instrucción de entrada es leer lado y la de salida es escribir area.
Observa este pseudocódigo: Identifica la variable de entrada, la variable donde se guarda el resultado, la instrucción de entrada y la de salida.
Observa este pseudocódigo:
Inicio
leer lado
area <- lado * lado
escribir area
Fin
Identifica la variable de entrada, la variable donde se guarda el resultado, la instrucción de entrada y la de salida.
Escribe en pseudocódigo un algoritmo que lea la base y la altura de un rectángulo, calcule su área y la muestre. Indica cuáles son los datos de entrada y cuál es el…
Escribe en pseudocódigo un algoritmo que lea la base y la altura de un rectángulo, calcule su área y la muestre.
Indica cuáles son los datos de entrada y cuál es el resultado.
Decisiones: si … entonces … sino
A veces el algoritmo debe elegir entre dos caminos según una condición. En pseudocódigo:
si condición entonces
instrucciones si se cumple
sino
instrucciones si no se cumple
fin si
En el diagrama de flujo esa decisión es un rombo con dos salidas: sí y no.
La traza (o prueba de escritorio) consiste en ejecutar el algoritmo a mano con valores concretos, anotando qué pasa en cada paso.
Dado este pseudocódigo: Haz la traza para las notas 60, 59 y 100 y escribe lo que se muestra en cada caso. Explica qué elemento del algoritmo representa la decisión.
Dado este pseudocódigo:
Inicio
leer nota
si nota >= 60 entonces
escribir "Aprobado"
sino
escribir "Suspenso"
fin si
Fin
Haz la traza para las notas 60, 59 y 100 y escribe lo que se muestra en cada caso. Explica qué elemento del algoritmo representa la decisión.
Describe en lenguaje natural un algoritmo que determine si un número entero es par o impar. Después indica, en una lista ordenada, qué figuras usarías para dibujar su…
Describe en lenguaje natural un algoritmo que determine si un número entero es par o impar. Después indica, en una lista ordenada, qué figuras usarías para dibujar su diagrama de flujo y qué texto escribirías dentro de cada una.
Repetir pasos: ciclos, contadores y acumuladores
Cuando hay que repetir pasos se usa un ciclo. El más común es mientras:
mientras condición hacer
instrucciones
fin mientras
Mientras la condición sea verdadera, se repiten las instrucciones. Cuando es falsa, el algoritmo sigue después de fin mientras.
Dos variables aparecen casi siempre dentro de los ciclos:
-
Contador: cuenta cuántas veces ocurre algo.
cont <- cont + 1. -
Acumulador: va sumando valores.
suma <- suma + x.
Ambas deben comenzar con un valor inicial, normalmente 0.
Un ciclo con error
Diseña en pseudocódigo un algoritmo que lea números enteros y los sume. Debe terminar cuando se lea el valor 0, y al final debe mostrar la suma y la cantidad de números…
Diseña en pseudocódigo un algoritmo que lea números enteros y los sume. Debe terminar cuando se lea el valor 0, y al final debe mostrar la suma y la cantidad de números leídos sin contar el cero.
Haz la traza con la secuencia 5, 8, 3, 0, indicando los valores de las variables en cada paso.
Un compañero escribió este algoritmo para sumar los números del 1 al 5: Analiza qué ocurre al ejecutarlo, explica cuál es el error y corrígelo. Haz la traza del…
Un compañero escribió este algoritmo para sumar los números del 1 al 5:
Inicio
suma <- 0
i <- 1
mientras i <= 5 hacer
suma <- suma + i
fin mientras
escribir suma
Fin
Analiza qué ocurre al ejecutarlo, explica cuál es el error y corrígelo. Haz la traza del algoritmo corregido y da el valor final de suma.
Vuelve al principio: el total de la compra de Lázaro se puede contar en lenguaje natural para explicarlo, dibujar para ver el recorrido o escribir en pseudocódigo para acercarlo al programa. Para sumar los precios se usaría un ciclo con un acumulador (total <- total + precio) y un contador para saber cuántos productos son.
Resumen
-
Un algoritmo se describe en lenguaje natural, con diagrama de flujo o en pseudocódigo; las tres formas dicen lo mismo.
-
Figuras: óvalo (inicio/fin), rectángulo (proceso), rombo (decisión), paralelogramo (entrada/salida).
-
Pseudocódigo:
Inicio,leer,<-,escribir,Fin; las decisiones usansi … entonces … sino … fin si. -
Un ciclo
mientrasrepite mientras la condición sea verdadera; algo dentro debe cambiarla. -
Contador:
cont <- cont + 1. Acumulador:suma <- suma + x. Ambos se inicializan en 0. -
La traza (prueba de escritorio) sirve para comprobar y corregir un algoritmo.