Algoritmos
Diseño de un Algoritmo
1
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2014
Campus Ixtac
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
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
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
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
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
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
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
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
Símbolos de diagramas de
flujo
10
Símbolos de diagramas de
flujo
11
Símbolos de diagramas de
flujo
12
Ejemplo: Diagrama de flujo 13
Diagrama de flujo
algoritmo NumeroMayor
var
entero: a0, b0
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
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
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
Algoritmos
Diseño de un Algoritmo
17
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2014
Campus Ixtac

5. Diseño de un algoritmo

  • 1.
    Algoritmos Diseño de unAlgoritmo 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 refinamientopaso 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 unlenguaje 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 unalgoritmo 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 algoritmoCalculoAreaRectangulo 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
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
    Diagrama de flujo algoritmoNumeroMayor var entero: a0, b0 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 unode 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ónde 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 unAlgoritmo 17 Universidad Veracruzana Ricardo Carrera Hernández Agosto 2014 Campus Ixtac