Diapositivas Algoritmos
Diapositivas Algoritmos
Diapositivas Algoritmos
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
491 2. Anotar 6
3. 2+9=11
+ 25 4. Anotar 1 y guardar 1
5. 4+0=4
516 6. 4+1=5
7. Anotar 5
8. El resultado es 516
Algoritmos
V +
V V V
+ F V F F
F V F
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
Ingresar K y P
G=K/1000
M=G x P
Devolver M
Construcción de un algoritmo
Ingresar K y P
G=K/1000
M=G x 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
Entrada de datos
• Los algoritmos son para solucionar tipos de
problemas
• Es imprescindible poder entregar entradas
distintas en cada ejecución
• La entrada de datos se realiza mediante
algún dispositivo
Entrada de datos
• Dispositivos de entrada
– Teclado
– Mouse
– Botones
– Censores de tacto
– Cámaras digitales
– Scanners
– Archivos
Entrada de datos
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
– Este dispositivo se denomina la entrada
estándar.
– En un computador suele ser el teclado.
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.
• La salida de datos se realiza mediante
dispositivos.
Salida de datos
• Dispositivos de salida
– Pantalla
– Impresora
– Parlantes
– Tableros luminosos
– Motores
– Tarjeta de red
– Archivos
Salida de datos
C:\
Salida de datos
• Al igual que con la entrada, cada dispositivo
tiene finalidades distintas.
• Los sistemas definen un dispositivo de
salida por defecto
– Este dispositivo se denomina la salida
estándar.
– En un computador suele ser la pantalla.
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,
recuperamos el resultados parcial.
Utilización de variables
K es un dato de entrada, y también
Se considera una variable
G=K/1000
G=K/1000
M=G * P
operador
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.
• Solo se pueden asignar valores a variables,
no a constantes
Asignación de valores
Operador de asignación
M=G * P
• Secuencial
– Un conjunto de operaciones básicas pueden ser
ejecutadas en forma secuencial.
– Una operación no inicia hasta que la anterior
termina
Combinación de operaciones básicas
Diagrama de flujo
Diagrama de Nassi-Schneidermann
Ingresar K y P
Ingresar K y P Ingresar K=200 y P=250
G=K/1000 G=K/1000 G tiene el valor 0,2
M=G * P
M=G * P
Devolver M M tiene el valor 50
Devolver M
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.
– Por esto, se denomina una estructura de control.
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
C
3
4 C: Condición
Combinación de operaciones básicas
1
2
C
si no
3
4
C: Condición
Combinación de operaciones básicas
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3
fin si
Ejecutar 4
fin
Combinación de operaciones básicas
si no
C
3a 3b
4
C: Condición
Combinación de operaciones básicas
1
2
C
si no
3a 3b
4
C: Condición
Combinación de operaciones básicas
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3a
si no
Ejecutar 3b
fin si
Ejecutar 4
fin
Combinación de operaciones básicas
x igual a 0
2a 2b 2c
3
Combinación de operaciones básicas
1
si no
x mayor que 0?
x menor que 0?
no si
2a 2b 2c
3
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
1
x mayor que 0?
si no
x menor que 0?
no si
2a
2b 2c
3
Combinación de operaciones básicas
Inicio
Ejecutar 1
Si x es mayor que cero entonces
Ejecutar 2a
Si no
Si x es menor que cero entonces
Ejecutar 2c
Si no
Ejecutar 2b
fin si
fin si
Ejecutar 3
fin
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 esta lloviendo pero hace frío
llevar la chaqueta
si no
llevar un chaleco
fin si
tomar la mochila
tomar la micro
fin
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
• Si el usuario presionó el botón 1, hacer un giro
• Si el usuario presionó el botón 2, entregar saldo
• Si el usuario presionó el botón 3, cambiar la clave
• Etc.
Combinación de operaciones básicas
etoc
Botón
1 2 3
salir
Combinación de operaciones básicas
Botón
1 2 3 etoc
salir
• 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
infinito.
Combinación de operaciones básicas
1
no
C
si
3
C: Condición
Combinación de operaciones básicas
1
C
C: Condición
IWI-131 - Tema 1 Algoritmos
Combinación de operaciones básicas
Inicio
ejecutar 1
mientras se cumpla la condición
ejecutar 2
fin mientras
ejecutar 3
fin
Combinación de operaciones básicas
Inicio
definir variable x
asignar el valor -1 a x
mientras x sea menor que cero
ingresar x por teclado
fin mientras
mostrar valor de x
fin
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 operación se ejecuta al menos una vez.
no
C
si
3
C: Condición
Combinación de operaciones básicas
C
3
C: Condición
Combinación de operaciones básicas
Inicio
ejecutar 1
repetir
ejecutar 2
hasta que se cumpla condición
ejecutar 3
fin
Combinación de operaciones básicas
• Ejemplo
– Mismo ejemplo anterior
Inicio
definir variable x
repetir
ingresar x por teclado
Hasta que x sea mayor que cero
mostrar valor de x
fin
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
contador en cada iteración.
Combinación de operaciones básicas
3
Combinación de operaciones básicas
1
Inicio contador, fin contador
3
Combinación de operaciones básicas
Inicio
ejecutar 1
desde contador inicial hasta
contador final
ejecutar 2
fin desde
ejecutar 3
fin
Combinación de operaciones básicas
5
• Ejemplo
i
i =0
Inicio
definir variable “sumatoria”
asignar el valor 0 a “sumatoria”
desde i igual a 0 hasta i igual a 5
sumatoria = sumatoria + i
fin desde
mostrar valor de “sumatoria”
fin
Combinación de operaciones básicas
• Ejemplos
– Cachi-pun
– Ordenar objetos
Gracias
Algoritmos