SlideShare a Scribd company logo
1 of 17
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

More Related Content

What's hot

Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
marigelcontreras
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programación
ionurrutia
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
Roldan El Gato
 

What's hot (20)

Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
El lenguaje matemático y sus tipos
El lenguaje matemático y sus tiposEl lenguaje matemático y sus tipos
El lenguaje matemático y sus tipos
 
Programacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoProgramacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismo
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Ciclo PARA
Ciclo PARACiclo PARA
Ciclo PARA
 
Propiedades de las relaciones
Propiedades de las relacionesPropiedades de las relaciones
Propiedades de las relaciones
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Omega Up
Omega UpOmega Up
Omega Up
 
Los signos en las matemáticas
Los signos en las matemáticasLos signos en las matemáticas
Los signos en las matemáticas
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programación
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Traza de un algoritmo
Traza de un algoritmoTraza de un algoritmo
Traza de un algoritmo
 
Grafo bipartito
Grafo bipartitoGrafo bipartito
Grafo bipartito
 
Teoría de las Ecuaciones
Teoría de las EcuacionesTeoría de las Ecuaciones
Teoría de las Ecuaciones
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Grado de una expresión algebraica
Grado de una expresión algebraicaGrado de una expresión algebraica
Grado de una expresión algebraica
 
Estructura selectiva multiple
Estructura selectiva multipleEstructura selectiva multiple
Estructura selectiva multiple
 
Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICA
 

Similar to 5. Diseño de un algoritmo

Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujo
infobran
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
neyvajms
 
Desarrollo de un programa.
Desarrollo de un programa.Desarrollo de un programa.
Desarrollo de un programa.
Sam Arr
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
EberCV1
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
EberCV1
 

Similar to 5. Diseño de un algoritmo (20)

Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujo
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
DEFINICIÓN DE LENGUAJES ALGORÍTMICOS
DEFINICIÓN DE LENGUAJES ALGORÍTMICOSDEFINICIÓN DE LENGUAJES ALGORÍTMICOS
DEFINICIÓN DE LENGUAJES ALGORÍTMICOS
 
Desarrollo de un programa.
Desarrollo de un programa.Desarrollo de un programa.
Desarrollo de un programa.
 
Presentación1
Presentación1Presentación1
Presentación1
 
TEMA11.ppt
TEMA11.pptTEMA11.ppt
TEMA11.ppt
 
Seudocodigo
SeudocodigoSeudocodigo
Seudocodigo
 
Presentación1
Presentación1Presentación1
Presentación1
 
Diseño de pseudocodigo
Diseño de pseudocodigoDiseño de pseudocodigo
Diseño de pseudocodigo
 
Algoritmos y programas estructuras
Algoritmos y programas estructurasAlgoritmos y programas estructuras
Algoritmos y programas estructuras
 
Fases Para Solucionar Problemas con computadoras
Fases Para Solucionar Problemas con computadorasFases Para Solucionar Problemas con computadoras
Fases Para Solucionar Problemas con computadoras
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
Algoritmos Algoritmos
Algoritmos
 
Dfd
DfdDfd
Dfd
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTX
 
Video Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaVideo Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia Abierta
 

More from rcarrerah

3. Conceptos de sistemas operativos
3. Conceptos de sistemas operativos3. Conceptos de sistemas operativos
3. Conceptos de sistemas operativos
rcarrerah
 
Expresiones matemáticas
Expresiones matemáticasExpresiones matemáticas
Expresiones matemáticas
rcarrerah
 
13. arreglos parte ii
13. arreglos parte ii13. arreglos parte ii
13. arreglos parte ii
rcarrerah
 
12. arreglos parte i
12. arreglos parte i12. arreglos parte i
12. arreglos parte i
rcarrerah
 
11. subalgoritmos parte ii
11. subalgoritmos parte ii11. subalgoritmos parte ii
11. subalgoritmos parte ii
rcarrerah
 
9. estructuras de control parte ii
9. estructuras de control parte ii9. estructuras de control parte ii
9. estructuras de control parte ii
rcarrerah
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte i
rcarrerah
 
8. estructuras de control parte i
8. estructuras de control parte i8. estructuras de control parte i
8. estructuras de control parte i
rcarrerah
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
rcarrerah
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
rcarrerah
 
1. algoritmos introducción
1. algoritmos    introducción1. algoritmos    introducción
1. algoritmos introducción
rcarrerah
 
4. Conceptos básicos III
4. Conceptos básicos III4. Conceptos básicos III
4. Conceptos básicos III
rcarrerah
 
3. Conceptos básicos II
3. Conceptos básicos II3. Conceptos básicos II
3. Conceptos básicos II
rcarrerah
 
2. Conceptos básicos I
2. Conceptos básicos I2. Conceptos básicos I
2. Conceptos básicos I
rcarrerah
 
Algoritmos - Conceptos básicos I
Algoritmos - Conceptos básicos IAlgoritmos - Conceptos básicos I
Algoritmos - Conceptos básicos I
rcarrerah
 

More from rcarrerah (20)

Recurrencia en procesos
Recurrencia en procesosRecurrencia en procesos
Recurrencia en procesos
 
Ejercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión okEjercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión ok
 
4. procesos
4. procesos4. procesos
4. procesos
 
3. Conceptos de sistemas operativos
3. Conceptos de sistemas operativos3. Conceptos de sistemas operativos
3. Conceptos de sistemas operativos
 
Expresiones matemáticas
Expresiones matemáticasExpresiones matemáticas
Expresiones matemáticas
 
13. arreglos parte ii
13. arreglos parte ii13. arreglos parte ii
13. arreglos parte ii
 
12. arreglos parte i
12. arreglos parte i12. arreglos parte i
12. arreglos parte i
 
11. subalgoritmos parte ii
11. subalgoritmos parte ii11. subalgoritmos parte ii
11. subalgoritmos parte ii
 
9. estructuras de control parte ii
9. estructuras de control parte ii9. estructuras de control parte ii
9. estructuras de control parte ii
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte i
 
8. estructuras de control parte i
8. estructuras de control parte i8. estructuras de control parte i
8. estructuras de control parte i
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
 
1. algoritmos introducción
1. algoritmos    introducción1. algoritmos    introducción
1. algoritmos introducción
 
4. Conceptos básicos III
4. Conceptos básicos III4. Conceptos básicos III
4. Conceptos básicos III
 
3. Conceptos básicos II
3. Conceptos básicos II3. Conceptos básicos II
3. Conceptos básicos II
 
2. Conceptos básicos I
2. Conceptos básicos I2. Conceptos básicos I
2. Conceptos básicos I
 
2. hardware de computadora PC
2. hardware de computadora PC2. hardware de computadora PC
2. hardware de computadora PC
 
1. introducción a los so
1. introducción a los so1. introducción a los so
1. introducción a los so
 
Algoritmos - Conceptos básicos I
Algoritmos - Conceptos básicos IAlgoritmos - Conceptos básicos I
Algoritmos - Conceptos básicos I
 

5. Diseño de un algoritmo

  • 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
  • 10. Símbolos de diagramas de flujo 10
  • 11. Símbolos de diagramas de flujo 11
  • 12. Símbolos de diagramas de flujo 12
  • 14. 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
  • 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