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”.
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
Algoritmos
Algoritmos
Algoritmos
+
V V V
V F F
F V F
F F F
V
+ F
Algoritmos
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
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
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
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
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
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
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.
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
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.
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
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
Construcción de un algoritmo
Inicio
Ingresar valor de K y P
Calcular G = K/100
Calcular M = G x P
Construcción de un algoritmo
G=K/1000
M=G x P Ingresar K y P
Construcción de un algoritmo
G=K/1000
M=G x P Ingresar K y P
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
Entrada de datos
Los algoritmos son para solucionar tipos de
problemas
Es imprescindible poder entregar entradas
distintas en cada ejecución
Entrada de datos
Dispositivos de entrada
Teclado Mouse Botones
Censores de tacto Cámaras digitales Scanners
Entrada de datos
Cada dispositivo tiene distintas características.
Por lo general, sirven para cosas distintas
Los sistemas definen un dispositivo de entrada
por defecto
Salida de datos
De nada sirve implementar un algoritmo si no
podemos saber su resultado.
Al finalizar el algoritmo (o durante), es
imprescindible obtener la información
resultante de su ejecución.
Salida de datos
Dispositivos de salida
Pantalla Impresora Parlantes
Tableros luminosos Motores
Salida de datos
Salida de datos
Al igual que con la entrada, cada dispositivo
tiene finalidades distintas.
Los sistemas definen un dispositivo de salida por
defecto
Utilización de variables
Durante la ejecución del algoritmo, es
importante recordar los resultados parciales de
cada paso.
Estos resultados se etiquetan con un nombre.
Al invocar con posterioridad ese nombre,
Utilización de variables
G=K/1000
Esta variable se denomina G y
Utilización de variables
La principal característica de una variable es que
su valor puede cambiar en el tiempo.
Usualmente se compara con una caja donde se
puede almacenar una sola “cosa”.
Por lo general, las variables se definen con un
tipo de dato.
Utilización de constantes
Además de las variables, un algoritmo requiere
de constantes.
A diferencia de las variables, su valor no puede
cambiar en el tiempo.
Las constantes también pueden recibir nombres
para mayor claridad.
Utilización de constantes
G=K/1000
Aplicación de operadores
Para obtener resultados, generalmente es necesario “transformar” las entradas en la salida.
Para esto se aplican operadores de distinta índole
Aritméticos ( + , - , * , / )
Lógicos (igual que, mayor que, menor que, y, o, no) Etc.
Los operadores requieren de operandos y entregan un resultado.
Aplicación de operadores
M=G * P operandos
Asignación de valores
El resultado de un operador se puede almacenar
en una variable.
Para esto se utiliza un tipo especial de operador.
Este es el operador de
asignación
.
Asignación de valores
M=G * P
Operador de asignación
Combinación de operaciones
básicas
Secuencial
Un conjunto de operaciones básicas pueden ser
ejecutadas en forma secuencial.
Una operación no inicia hasta que la anterior
Combinación de operaciones
básicas
G=K/1000
M=G * P Ingresar K y P
Ingresar K=200 y P=250
G tiene el valor 0,2
M tiene el valor 50 G=K/1000
M=G * P Ingresar K y P
Devolver M
Diagrama de flujo
Combinación de operaciones
básicas
Selectiva
Un algoritmo puede optar por ejecutar o no una
operación (SI –ENTONCES).
Un algoritmo puede optar por ejecutar una u otra
operación (SI-ENTONCES-SINO).
Esta decisión se basa en un condición.
Esta decisión controla el flujo del algoritmo.
Combinación de operaciones
básicas
C
3 2
Combinación de operaciones
básicas
3
si no
4 2 1
Combinación de operaciones
básicas
Inicio
Ejecutar 1 Ejecutar 2
si se cumple C entonces Ejecutar 3
fin si
Combinación de operaciones
básicas
Ejemplo: levantarse en la mañana
Inicio
salir de la cama ducharse
tomar desayuno
si esta lloviendo entonces tomar el paraguas
fin si
Combinación de operaciones
básicas
C
3a 3b
2 1
Combinación de operaciones
básicas
3a 3b
si no
4 2 1
Combinación de operaciones
básicas
Inicio
Ejecutar 1 Ejecutar 2
si se cumple C entonces Ejecutar 3a
si no
Combinación de operaciones
básicas
Ejemplo: levantarse en la mañana
Inicio
salir de la cama ducharse
tomar desayuno
si esta lloviendo entonces llevar la parca
si no
llevar la chaqueta fin si
Combinación de operaciones
básicas
Estructura de control selectiva
Una condición es cualquier proposición lógica que
tenga un valor verdadero o falso definido.
Este esquema selectivo se denomina “decision
binaria”.
Combinación de operaciones
básicas
Estructura de control selectiva
Toda decisión se puede llevar a un esquema de
decisión binaria.
Basta con decidir entre una alternativa y todo el
resto
Si se elige “el resto”, se decide entre una
alternativa y el resto del resto.
Combinación de operaciones
básicas
2a 2b 2c
1
x? x mayor que 0
x igual a 0
Combinación de operaciones
básicas
x mayor que 0? 1
x menor que 0? si
si no
no
Combinación de operaciones
básicas
1
2a
x mayor que 0?
x menor que 0?
2b 2c
si
si no
Combinación de operaciones
básicas
Inicio
Ejecutar 1
Si x es mayor que cero entonces Ejecutar 2a
Si no
Combinación de operaciones
básicas
Ejemplo: levantarse en la mañana
Iniciosalir de la cama ducharse
tomar desayuno
si esta lloviendo entonces llevar la parca
si no esta lloviendo pero hace frío llevar la chaqueta
Combinación de operaciones
básicas
Estructura de selección múltiple
Para algunos casos se puede utilizar un esquema selectivo no binario (EN EL CASO DE)
Ejemplo: ingreso de opción de menú de un cajero automático
Combinación de operaciones
básicas
Botón
giro saldo clave error
1 2 3
…
Combinación de operaciones
básicas
giro saldo clave error Botón
1 2 3 etoc
Combinación de operaciones
básicas
Inicio
en el caso que el botón presionado sea el 1
hacer giro sea el 2
entregar saldo sea el 3
cambiar clave …
Combinación de operaciones
básicas
Repetitiva
Además de combinar operaciones en forma
secuencial y selectiva, se puede repetir la
ejecución de una operación cuantas veces se desee.
Existen varios esquemas
Repetir MIENTRAS se cumpla una condición.
Combinación de operaciones
básicas
MIENTRAS
Se repite una operación mientras una condición
sea verdadera.
Al dejar de serlo, se rompe el ciclo
Si la condición nunca es falsa, se tiene un ciclo
Combinación de operaciones
básicas
C
2 1
si
Combinación de operaciones básicas
1
Combinación de operaciones
básicas
Inicio
ejecutar 1
mientras se cumpla la condición ejecutar 2
Combinación de operaciones
básicas
Ejemplo validar ingreso de valor positivo
Inicio
definir variable x
asignar el valor -1 a x
Combinación de operaciones
básicas
HASTA QUE
Se repite la ejecución de una operación hasta que
se cumpla una condición.
La principal diferencia con MIENTRAS es que la
Combinación de operaciones básicas
C 2 1
Combinación de operaciones básicas
1
2
Combinación de operaciones básicas
Inicio
ejecutar 1 repetir
ejecutar 2
Combinación de operaciones
básicas
Ejemplo
Mismo ejemplo anterior
Inicio
definir variable x repetir
Combinación de operaciones
básicas
Repetir un número fijo de veces
Muy útil cuando se sabe el numero de
repeticiones a ejecutar.
Por lo general se define una variable que sirve de
contador
El contador mantiene el número de cada iteración. También se puede definir el incremento del
Combinación de operaciones básicas
Inicio contador, fin contador
Combinación de operaciones básicas
1
2
Combinación de operaciones básicas
Inicio
ejecutar 1
desde contador inicial hasta contador final
ejecutar 2 fin desde
Combinación de operaciones básicas
• Ejemplo
5 0 i
i
Iniciodefinir variable “sumatoria”
asignar el valor 0 a “sumatoria”
Combinación de operaciones
básicas
Combinación de estructuras de control seriales,
selectivas y repetitivas
Cualquier combinación es posible Pueden existir estructuras anidadas
Es importante definir el comienzo y el termino de
Combinación de operaciones
básicas
Ejemplos
Cachi-pun