Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALGORITMOS
ALGORITMOS
Que es un algoritmo?
Una lista de instrucciones donde se especifica una
sucesin de operaciones necesarias para resolver
cualquier problema de un tipo dado.
Ejemplo sumar dos nmeros
ALGORITMOS
ALGORITMOS
1.
2.
3.
4.
5.
6.
7.
8.
5+1=6
Anotar 6
2+9=11
Anotar 1 y guardar
1
4+0=4
4+1=5
Anotar 5
El resultado es 516
491
+ 25
516
ALGORITMOS
V
+ F
F
+
V
ALGORITMOS
san
+ sano
sansano
IWI-131 - Tema 1 Algoritmos
ALGORITMOS
Entrada
Qu se necesita para realizar los pasos?
Salida
Que se obtiene al final del algoritmo?
Tipos de datos
Nmeros: enteros, reales, complejos
Texto: letras, palabras, frases
Otros
ALGORITMOS
Sirven para resolver un tipo de problema
especifico.
Son secuencias de pasos concretos.
Requiere la definicin de la entrada y la salida.
Adecuados para ser ejecutados por un
computador
ALGORITMOS
Qu tiene que ver con la programacin?
La programacin consiste en crear programas de
computador que resuelvan problemas especficos.
Un programa de computador es la implementacin de un
algoritmo.
ALGORITMOS
Qu es un programa de computador?
Es una secuencia de pasos a ejecutar
Los pasos estn 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 cdigo
del programa.
DESCRIPCIN DE UN ALGORITMO
Es necesario contar con formas de
expresar algoritmos
Diseo del algoritmo antes de codificar
Diseo del algoritmo de manera independiente
del lenguaje de programacin
Diferentes alternativas
Pseudo - cdigo
Diagramas de flujo
Diagramas de Nassi-Schneidermann
IWI-131 - Tema 1 Algoritmos
DESCRIPCIN DE UN ALGORITMO
Pseudo cdigo
El algoritmo se expresa en lenguaje natural
Expresa de manera genrica los pasos del algoritmo
No provee detalles de la implementacin particular del
cdigo final
DESCRIPCIN DE UN ALGORITMO
Diagramas de flujo
Presentan el algoritmo de manera grfica.
De gran utilidad para seguir la ruta de un algoritmo.
Aplicables a muchas otras disciplinas.
DESCRIPCIN DE UN ALGORITMO
Diagrama de Nassi-Schneidermann
CONSTRUCCIN DE UN ALGORITMO
1.
2.
3.
4.
CONSTRUCCIN DE UN ALGORITMO
Construccin de un programa
1. Definir el problema a resolver
2. Definir el algoritmo que lo resuelve
3. Escribir el programa
4.
5.
6.
7.
CONSTRUCCIN 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]
CONSTRUCCIN 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.
CONSTRUCCIN DE UN ALGORITMO
Ingresar K y P
G=K/1000
M=G x P
Devolver M
CONSTRUCCIN DE UN ALGORITMO
Ingresar K y P
G=K/1000
M=G x P
Devolver M
CONSTRUCCIN DE UN ALGORITMO
Operaciones bsicas
Entrada de datos
Salida de datos
Utilizacin de variables
Utilizacin de constantes
Aplicacin de operadores
Asignacin de valores
ENTRADA DE DATOS
Los algoritmos son para solucionar tipos de
problemas
Es imprescindible poder entregar entradas
distintas en cada ejecucin
La entrada de datos se realiza mediante algn
dispositivo
ENTRADA DE DATOS
Dispositivos de entrada
Teclado
Mouse
Botones
Censores de tacto
Cmaras digitales
Scanners
Archivos
ENTRADA DE DATOS
ENTRADA DE DATOS
Cada dispositivo tiene distintas caractersticas.
Por lo general, sirven para cosas distintas
Los sistemas definen un dispositivo de entrada
por defecto
Este dispositivo se denomina la entrada estndar.
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 informacin resultante
de su ejecucin.
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 estndar.
En un computador suele ser la pantalla.
UTILIZACIN DE VARIABLES
Durante la ejecucin 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.
UTILIZACIN DE VARIABLES
K es un dato de entrada, y tambin
Se considera una variable
G=K/1000
UTILIZACIN DE VARIABLES
La principal caracterstica 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.
El tipo de dato restringe que tipo de cosas se
pueden guardar en las cajas.
UTILIZACIN DE CONSTANTES
Adems de las variables, un algoritmo requiere
de constantes.
A diferencia de las variables, su valor no puede
cambiar en el tiempo.
Las constantes tambin pueden recibir nombres
para mayor claridad.
Ej.: PI = 3.1415
UTILIZACIN DE CONSTANTES
G=K/1000
La constante 1000 sirva para
transformar el valor Por kilo a un
valor por gramo
IWI-131 - Tema 1 Algoritmos
APLICACIN DE OPERADORES
Para obtener resultados, generalmente es
necesario transformar las entradas en la
salida.
Para esto se aplican operadores de distinta
ndole
Aritmticos ( + , - , * , / )
Lgicos (igual que, mayor que, menor que, y, o,
no)
Etc.
APLICACIN DE OPERADORES
operandos
M=G * P
operador
ASIGNACIN 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 asignacin.
Solo se pueden asignar valores a variables, no a
constantes
ASIGNACIN DE VALORES
Operador de asignacin
M=G * P
COMBINACIN DE OPERACIONES
BSICAS
Secuencial
Un conjunto de operaciones bsicas pueden ser
ejecutadas en forma secuencial.
Una operacin no inicia hasta que la anterior termina
COMBINACIN DE OPERACIONES
BSICAS
Diagrama de flujo
Diagrama de Nassi-Schneidermann
Ingresar K y P
Ingresar K y P
G=K/1000
M=G * P
G=K/1000
M=G * P
Devolver M
Devolver M
M tiene el valor 50
COMBINACIN DE OPERACIONES
BSICAS
Selectiva
Un algoritmo puede optar por ejecutar o no una
operacin (SI ENTONCES).
Un algoritmo puede optar por ejecutar una u otra
operacin (SI-ENTONCES-SINO).
Esta decisin se basa en un condicin.
Esta decisin controla el flujo del algoritmo.
Por esto, se denomina una estructura de control.
COMBINACIN DE OPERACIONES
BSICAS
1
2
C
3
4
IWI-131 - Tema 1 Algoritmos
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
1
2
C
si
no
3
4
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3
fin si
Ejecutar 4
fin
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
Ejemplo: levantarse en la maana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
tomar el paraguas
fin si
tomar la mochila
tomar la micro
fin
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
1
2
si
3a
no
3b
4
IWI-131 - Tema 1 Algoritmos
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
1
2
C
si
no
3a
3b
4
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3a
si no
Ejecutar 3b
fin si
Ejecutar 4
fin
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
Ejemplo: levantarse en la maana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
llevar la parca
si no
llevar la chaqueta
fin si
tomar la mochila
tomar la micro
fin
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
Estructura de control selectiva
Una condicin es cualquier proposicin lgica que tenga
un valor verdadero o falso definido.
Este esquema selectivo se denomina decision binaria.
Y si hay ms de dos opciones?
COMBINACIN DE OPERACIONES
BSICAS
Estructura de control selectiva
Toda decisin se puede llevar a un esquema de decisin
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.
Etc
COMBINACIN DE OPERACIONES
BSICAS
1
x mayor que 0
x?
x menor que 0
x igual a 0
2a
2b
3
IWI-131 - Tema 1 Algoritmos
2c
COMBINACIN DE OPERACIONES
BSICAS
1
si
x mayor que 0?
x menor que 0?
no
2a
no
2b
3
IWI-131 - Tema 1 Algoritmos
si
2c
COMBINACIN DE OPERACIONES
BSICAS
1
x mayor que 0?
si
x menor que 0?
no
2a
no
2b
3
IWI-131 - Tema 1 Algoritmos
si
2c
COMBINACIN DE OPERACIONES
BSICAS
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
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
Ejemplo: levantarse en la maana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
llevar la parca
si no esta lloviendo pero hace fro
llevar la chaqueta
si no
llevar un chaleco
fin si
tomar la mochila
tomar la micro
fin
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
Estructura de seleccin mltiple
Para algunos casos se puede utilizar un
esquema selectivo no binario (EN EL CASO DE)
Ejemplo: ingreso de opcin de men de un
cajero automtico
COMBINACIN DE OPERACIONES
BSICAS
Botn
1
giro
saldo
clave
etoc
salir
IWI-131 - Tema 1 Algoritmos
error
COMBINACIN DE OPERACIONES
BSICAS
Botn
1
giro
saldo
etoc
clave
salir
IWI-131 - Tema 1 Algoritmos
error
COMBINACIN DE OPERACIONES
BSICAS
Inicio
en el caso que el botn presionado
sea el 1
hacer giro
sea el 2
entregar saldo
sea el 3
cambiar clave
COMBINACIN DE OPERACIONES
BSICAS
Repetitiva
Adems de combinar operaciones en forma secuencial y
selectiva, se puede repetir la ejecucin de una operacin
cuantas veces se desee.
Existen varios esquemas
Repetir MIENTRAS se cumpla una condicin.
Repetir HASTA QUE se cumpla una condicin.
Repetir un nmero de veces.
COMBINACIN DE OPERACIONES
BSICAS
MIENTRAS
Se repite una operacin mientras una condicin sea
verdadera.
Al dejar de serlo, se rompe el ciclo
Si la condicin nunca es falsa, se tiene un ciclo infinito.
COMBINACIN DE OPERACIONES
BSICAS
1
C
no
si
2
3
IWI-131 - Tema 1 Algoritmos
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
1
C
3
IWI-131 - Tema 1 Algoritmos
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
Inicio
ejecutar 1
mientras se cumpla la condicin
ejecutar 2
fin mientras
ejecutar 3
fin
COMBINACIN DE OPERACIONES
BSICAS
Ejemplo validar ingreso de valor positivo
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
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
HASTA QUE
Se repite la ejecucin de una operacin hasta que se
cumpla una condicin.
La principal diferencia con MIENTRAS es que la operacin
se ejecuta al menos una vez.
COMBINACIN DE OPERACIONES
BSICAS
1
2
no
C
si
3
IWI-131 - Tema 1 Algoritmos
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
1
C
3
IWI-131 - Tema 1 Algoritmos
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
Inicio
ejecutar 1
repetir
ejecutar 2
hasta que se cumpla condicin
ejecutar 3
fin
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
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
COMBINACIN DE OPERACIONES
BSICAS
Repetir un nmero 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 nmero de cada iteracin.
Tambin se puede definir el incremento del contador en
cada iteracin.
COMBINACIN DE OPERACIONES
BSICAS
1
3
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
1
Inicio contador, fin contador
3
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
Inicio
ejecutar 1
desde contador inicial hasta
contador final
ejecutar 2
fin desde
ejecutar 3
fin
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
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
IWI-131 - Tema 1 Algoritmos
COMBINACIN DE OPERACIONES
BSICAS
Combinacin de estructuras de control seriales,
selectivas y repetitivas
Cualquier combinacin es posible
Pueden existir estructuras anidadas
Es importante definir el comienzo y el termino de cada
estructura
COMBINACIN DE OPERACIONES
BSICAS
Ejemplos
Cachi-pun
Ordenar objetos
FIN TEMA 1
ALGORITMOS