Este documento describe los pasos para diseñar algoritmos, incluyendo el análisis del problema, la división del problema en subproblemas más simples, y el uso de herramientas como pseudocódigo y diagramas de flujo. Explica conceptos como diseño descendente, refinamiento paso a paso, y los símbolos estándar utilizados en diagramas de flujo. También incluye ejemplos de pseudocódigo y diagramas de flujo para el cálculo del área de un rectángulo.
1. Algoritmos
Diseño de un Algoritmo
1
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2014
Campus Ixtac
2. Ejemplo: calcular el área de un
rectángulo
Análisis del problema
El cálculo del área del rectángulo se puede dividir en:
Entrada de datos (altura y base)
Proceso: cálculo del área (= base x altura)
Salida de datos (base, altura, área)
2
A = b * a a
b
3. Diseño del algoritmo
La solución de un problema complejo puede requerir muchos pasos, es necesario dividir el
problema en subproblemas más sencillos de resolver.
Este método se denomina divide y vencerás y es aplicable a la resolución y escritura de
algoritmos y programas para computadora.
Este método de división de un problema en otros subproblemas más sencillos se puede expresar
para conseguir su solución en una computadora, mediante el método denominado diseño
descendente.
El proceso de la división de un problema principal en etapas o subproblemas más sencillos se
denomina refinamiento paso a paso o sucesivos.
3
4. Diseño descendente y
refinamiento paso a paso
4
Problema del
cálculo del área
del rectángulo
Entrada de
datos
Cálculo del
área
Salida de
resultados
Entrada
BASE
Entrada
ALTURA
AREA =
BASE X
ALTURA
Salida
ALTURA
Salida
BASE
Salida
AREA
5. Herramientas de programación
Las herramientas de programación utilizadas como
lenguajes algorítmicos son:
Pseudocódigo: es un lenguaje algorítmico, muy parecido al
español pero más conciso que permite la redacción rápida
del algoritmo.
Diagramas de flujo: ha sido la herramienta de
programación por excelencia, y aún hoy sigue siendo muy
utilizada. Es fácil de diseñar pues el flujo lógico del algoritmo
se muestra en un diagrama en lugar de palabras.
5
6. Pseudocódigo
Es un lenguaje de pseudo programación, es decir,
muy parecido a un lenguaje de programación.
El pseudocódigo es muy fácil de utilizar, ya que es
muy similar al español.
Algunas palabras utilizadas en el pseudocódigo:
inicio
fin
leer
escribir
asignar (x y + z)
6
7. Estructura de un algoritmo
algoritmo <nombre del algoritmo>
// secciones de declaraciones
const
// declaración de constantes
var
// declaración de variables
inicio
// cuerpo del algoritmo
fin
8. Ejemplo de pseudocódigo
8
algoritmo CalculoAreaRectangulo
var
entero: base, altura, area
inicio
leer (base, altura)
area base x altura
escribir (base, altura, area)
fin
9. Diagramas de flujo
Un diagrama de flujo utiliza símbolos estándar en el que cada
paso del algoritmo se visualiza dentro del símbolo y en el
orden en que estos pasos se ejecutan, se indica conectándolos
con flechas llamadas líneas de flujo, ya que indican el flujo
lógico del algoritmo.
Los símbolos utilizados en los diagramas de flujo han sido
estandarizados por la ANSI (American National Institute) y por
la ISO (International Standard Organization)
9
14. Diagrama de flujo
algoritmo NumeroMayor
var
entero: a0, b0
inicio
escribir (“Escriba el primer número: ”)
leer (a)
escribir(“Escriba el segundo número:” )
leer (b)
si (a > b)
escribir(“a es mayor que b”)
si_no
escribir(“b es mayor que a”)
fin
Pseudocódigo
14
15. Ejercicios
Desarrollar cada uno de los siguientes problemas utilizando los
procedimientos de desarrollo de algoritmos vistos hasta ahora.
1. Escriba un algoritmo que lea dos números enteros y
que devuelva como resultado la suma de éstos.
2. Calcular el área de un círculo.
3. Determinar si un número n es par o impar.
4. Determinar el valor del perímetro de un rectángulo.
15
16. Elementos de construcción de un
algoritmo
Inicio el algoritmo
Finalización del algoritmo
Comentarios
Declaración de variables
Expresiones
Funciones de lectura
Funciones de escritura
16
17. Algoritmos
Diseño de un Algoritmo
17
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2014
Campus Ixtac