Tema 1
Algoritmos
Algoritmos
• ¿Que es un algoritmo?
– “Una lista de instrucciones donde se especifica
una sucesión de operaciones necesarias para
resolver cualquier problema de un tipo dado”.
– Ejemplo sumar dos números
Algoritmos
Algoritmos
1. 5+1=6
2. Anotar 6
3. 2+9=11
4. Anotar 1 y guardar 1
5. 4+0=4
6. 4+1=5
7. Anotar 5
8. El resultado es 516
491
+ 25
516
Algoritmos
V
+ F
F
+
V V V
V F F
F V F
F F F
Algoritmos
san
+ sano
sansano
Algoritmos
• Entrada
– ¿Qué se necesita para realizar los pasos?
• Salida
– ¿Que se obtiene al final del algoritmo?
• Tipos de datos
– Números: enteros, reales, complejos
– Texto: letras, palabras, frases
– Otros
Algoritmos
• Sirven para resolver un tipo de problema
especifico.
• Son secuencias de pasos concretos.
• Requiere la definición de la entrada y la
salida.
• Adecuados para ser ejecutados por un
computador
Algoritmos
• ¿Qué tiene que ver con la programación?
– La programación consiste en crear programas
de computador que resuelvan problemas
específicos.
– Un programa de computador es la
implementación de un algoritmo.
Algoritmos
• ¿Qué es un programa de computador?
– Es una secuencia de pasos a ejecutar
– Los pasos están descritos en un lenguaje
especial.
– Este lenguaje se puede traducir al lenguaje del
computador.
– Por lo general es un archivo de texto.
– El texto escrito en dicho lenguaje se denomina
el código del programa.
Descripción de un algoritmo
• Es necesario contar con formas de expresar
algoritmos
– Diseño del algoritmo antes de codificar
– Diseño del algoritmo de manera independiente del
lenguaje de programación
• Diferentes alternativas
– Pseudo - código
– Diagramas de flujo
– Diagramas de Nassi-Schneidermann
Descripción de un algoritmo
• Pseudo – código
– El algoritmo se expresa en lenguaje natural
– Expresa de manera genérica los pasos del
algoritmo
– No provee detalles de la implementación
particular del código final
Descripción de un algoritmo
• Diagramas de flujo
– Presentan el algoritmo de manera gráfica.
– De gran utilidad para seguir la “ruta” de un
algoritmo.
– Aplicables a muchas otras disciplinas.
Descripción de un algoritmo
• Diagrama de Nassi-Schneidermann
– También se denominan diagramas de caja.
– Menos usado que el diagrama de flujo
– Mas ordenado
– Ocupa mucho espacio para representar
algoritmos complejos.
Construcción de un algoritmo
1. Definir el problema a resolver
2. Identificar las entradas del algoritmo
3. Identificar la salida del algoritmo
4. Definir los pasos a seguir para convertir las
entradas en la salida
5. Seguir los pasos y comprobar que el algoritmo
sea correcto analizando la salida.
6. Revisar los pasos y hacer las correcciones.
7. Resolver el problema.
Construcción de un algoritmo
• Construcción de un programa
1. Definir el problema a resolver
2. Definir el algoritmo que lo resuelve
3. Escribir el programa
• Escribir cada uno de los pasos del algoritmo en el lenguaje de
programación
4. Ejecutar el programa en el computador
5. Verificar que las salidas sean correctas
6. Hacer correcciones al programa
7. Resolver el problema
Construcción de un algoritmo
• Ejemplo:
– Objetivo: Calcular el precio de una manzana
– Entradas
• Precio (en pesos) del kilo de manzanas [K]
• Peso (en gramos) promedio de una manzana[P]
– Salida
• Precio (en pesos) de una manzana [M]
Construcción de un algoritmo
Inicio
Ingresar valor de K y P
Calcular G = K/100
Calcular M = G x P
Devolver el valor de M
Fin.
Construcción de un algoritmo
G=K/1000
M=G x P
Ingresar K y P
Devolver M
Construcción de un algoritmo
G=K/1000
M=G x P
Ingresar K y P
Devolver M
Construcción de un algoritmo
• Operaciones básicas
– Entrada de datos
– Salida de datos
– Utilización de variables
– Utilización de constantes
– Aplicación de operadores
– Asignación de valores
• Combinación de operaciones básicas
– Secuencial
– Selectiva
– Repetitiva
Continua

01 algoritmo

  • 1.
  • 2.
    Algoritmos • ¿Que esun algoritmo? – “Una lista de instrucciones donde se especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”. – Ejemplo sumar dos números
  • 3.
  • 4.
    Algoritmos 1. 5+1=6 2. Anotar6 3. 2+9=11 4. Anotar 1 y guardar 1 5. 4+0=4 6. 4+1=5 7. Anotar 5 8. El resultado es 516 491 + 25 516
  • 5.
    Algoritmos V + F F + V VV V F F F V F F F F
  • 6.
  • 7.
    Algoritmos • Entrada – ¿Quése necesita para realizar los pasos? • Salida – ¿Que se obtiene al final del algoritmo? • Tipos de datos – Números: enteros, reales, complejos – Texto: letras, palabras, frases – Otros
  • 8.
    Algoritmos • Sirven pararesolver un tipo de problema especifico. • Son secuencias de pasos concretos. • Requiere la definición de la entrada y la salida. • Adecuados para ser ejecutados por un computador
  • 9.
    Algoritmos • ¿Qué tieneque ver con la programación? – La programación consiste en crear programas de computador que resuelvan problemas específicos. – Un programa de computador es la implementación de un algoritmo.
  • 10.
    Algoritmos • ¿Qué esun programa de computador? – Es una secuencia de pasos a ejecutar – Los pasos están descritos en un lenguaje especial. – Este lenguaje se puede traducir al lenguaje del computador. – Por lo general es un archivo de texto. – El texto escrito en dicho lenguaje se denomina el código del programa.
  • 11.
    Descripción de unalgoritmo • Es necesario contar con formas de expresar algoritmos – Diseño del algoritmo antes de codificar – Diseño del algoritmo de manera independiente del lenguaje de programación • Diferentes alternativas – Pseudo - código – Diagramas de flujo – Diagramas de Nassi-Schneidermann
  • 12.
    Descripción de unalgoritmo • Pseudo – código – El algoritmo se expresa en lenguaje natural – Expresa de manera genérica los pasos del algoritmo – No provee detalles de la implementación particular del código final
  • 13.
    Descripción de unalgoritmo • Diagramas de flujo – Presentan el algoritmo de manera gráfica. – De gran utilidad para seguir la “ruta” de un algoritmo. – Aplicables a muchas otras disciplinas.
  • 14.
    Descripción de unalgoritmo • Diagrama de Nassi-Schneidermann – También se denominan diagramas de caja. – Menos usado que el diagrama de flujo – Mas ordenado – Ocupa mucho espacio para representar algoritmos complejos.
  • 15.
    Construcción de unalgoritmo 1. Definir el problema a resolver 2. Identificar las entradas del algoritmo 3. Identificar la salida del algoritmo 4. Definir los pasos a seguir para convertir las entradas en la salida 5. Seguir los pasos y comprobar que el algoritmo sea correcto analizando la salida. 6. Revisar los pasos y hacer las correcciones. 7. Resolver el problema.
  • 16.
    Construcción de unalgoritmo • Construcción de un programa 1. Definir el problema a resolver 2. Definir el algoritmo que lo resuelve 3. Escribir el programa • Escribir cada uno de los pasos del algoritmo en el lenguaje de programación 4. Ejecutar el programa en el computador 5. Verificar que las salidas sean correctas 6. Hacer correcciones al programa 7. Resolver el problema
  • 17.
    Construcción de unalgoritmo • Ejemplo: – Objetivo: Calcular el precio de una manzana – Entradas • Precio (en pesos) del kilo de manzanas [K] • Peso (en gramos) promedio de una manzana[P] – Salida • Precio (en pesos) de una manzana [M]
  • 18.
    Construcción de unalgoritmo Inicio Ingresar valor de K y P Calcular G = K/100 Calcular M = G x P Devolver el valor de M Fin.
  • 19.
    Construcción de unalgoritmo G=K/1000 M=G x P Ingresar K y P Devolver M
  • 20.
    Construcción de unalgoritmo G=K/1000 M=G x P Ingresar K y P Devolver M
  • 21.
    Construcción de unalgoritmo • Operaciones básicas – Entrada de datos – Salida de datos – Utilización de variables – Utilización de constantes – Aplicación de operadores – Asignación de valores • Combinación de operaciones básicas – Secuencial – Selectiva – Repetitiva
  • 22.