Está en la página 1de 4

Diseño del algoritmo

En la etapa de análisis del proceso de programación se determina, ¿qué hace el


programa? En la etapa de diseño se determina cómo hace el programa la tarea solicitada.

Los métodos más eficaces para el proceso de diseño se basan en el conocido por divide y
vencerás. Es decir, la resolución de un problema complejo se divide en subproblemas y
después dividir éstos en otros de nivel más bajo, hasta que pueda ser implementada una
solución en la computadora.

Este método se conoce técnicamente como diseño descendente (top-down) o modular. El


proceso de romper el problema en cada etapa y expresar cada paso en forma más
detallada se denomina refinamiento sucesivo.

Cualquier programa bien diseñado consta de un programa principal (el módulo


de nivel más alto) que llama a subprogramas (módulos de nivel más bajo) que a
su vez pueden llamar a otros subprogramas. Los programas estructurados de
esta forma se dice que tienen un diseño modular y el método de romper el
programa en módulos más pequeños se llama programación modular.

El proceso implica la ejecución de los siguientes pasos hasta que el programa se termina:
1.- Programar un módulo.

2.- Comprobar el módulo.

3.- Si es necesario, depurar el módulo.

4.- Combinar el módulo con los módulos anteriores.

El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a


codificar posteriormente.

Herramientas de programación
Las dos herramientas más utilizadas comúnmente para diseñar algoritmos son: diagramas
de flujo y pseudocódigos.

Diagramas de flujo

Un diagrama de flujo (flowchart) es una representación gráfica de un algoritmo.


Los símbolos utilizados en estos diagramas, han sido normalizados por el Instituto
Norteamericano de Normalización (ANSI).
Pseudocódigo
El pseudocódigo es una herramienta de programación en la que las
instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la
escritura como la lectura de programas.

En esencia, el pseudocódigo se puede definir como un lenguaje de especificaciones de


algoritmos. Aunque no existen reglas para escritura del pseudocódigo es español, se
utilizan palabras reservadas básicas, estas palabras son traducción libre de palabras
reservadas de lenguajes como C, Pascal, etc.

Ejemplo:
Se desea calcular el total a pagar, en una venta normal en una papelería, proporcionando
el precio unitario de un producto, así como el número de total de productos a comprar,
además de aplicar un IVA del 15%.

Pseudocódigo:
Calculando total a pagar
Introducir precio unitario
Numero total de productos a comprar
Calcular importe
Calcular importe más IVA
Imprimir total a pagar

Ejemplo:

Algoritmo para calcular el área de un rectángulo.

1.- Inicio
2.- Obtener el valor del largo, denominado LARGO
3.- Obtener el valor del ancho, denominado ANCHO
4.- Multiplicar el valor de ANCHO por LARGO, llamar al resultado: AREA
5.- El área del rectángulo es: AREA.
6.- Fin

Ejemplo:

Algoritmo para realizar la conversión de minutos en segundos.

1.- Inicio
2.- Obtener el número de minutos a convertir, denominado MINUTOS.
3.- Multiplicar MINUTOS por 60, llamar al resultado MINUTOS
4.- Visualizar el resultado en minutos: MINUTOS.
5.- Fin
Ejemplo:

Algoritmo para calcular el promedio de dos materias.

1.- Inicio
2.- Leer la calificación de la materia 1, denominada MATERIA1
3.- Leer la calificación de la materia 2, denominada MATERIA2
4.- Sumar MATERIA1 más MATERIA2, el resultado denominarlo: SUMA
5.- Dividir a SUMA entre 2, el resultado denominarlo PROMEDIO
6.- Visualizar el promedio de las materias, imprimir PROMEDIO.
7.- Fin

Ejemplo:

Diagrama de flujo, que permite calcular el promedio de dos materias.


Ejercicios propuestos
1.- Realizar un algoritmo que permita calcular el área de un triángulo.

2.- Realizar un algoritmo que permita calcular la edad actual de una persona, solicitando
su año de nacimiento.

3.- Realizar un algoritmo que permita calcular el año de nacimiento de una persona,
solicitando su edad.

4.- Realizar un algoritmo que permita calcular el promedio de un alumno, el cual tiene 10
materias y cuya calificación se solicita previamente.

5.- Realizar un algoritmo que permita calcular la velocidad que emplea un móvil,
considerando que velocidad=distancia/tiempo.

6.- Realizar un algoritmo que permita calcular la distancia que emplea un móvil,
considerando que tiempo=distancia/velocidad.

7.- Realizar un algoritmo que permita calcular el área de un círculo.

También podría gustarte