Sei sulla pagina 1di 78

ALGORITMOS

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 1


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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 2


Algoritmos

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 3


Algoritmos
1. 5+1=6

491 2.
3.
Anotar 6
2+9=11
+ 25 4.
5.
Anotar 1 y guardar 1
4+0=4

516 6.
7.
4+1=5
Anotar 5
8. El resultado es 516

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 4


Algoritmos

V +

+ F V
V
V
F
V
F

F F
F
V
F
F
F

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 5


Algoritmos

san
+ sano
sansano
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 6
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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 7
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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 8
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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 9


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.
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 10
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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 11
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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 12
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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 13


Descripcin de un algoritmo
Diagrama de Nassi-Schneidermann
Tambin se denominan diagramas de caja.
Menos usado que el diagrama de flujo
Mas ordenado
Ocupa mucho espacio para representar
algoritmos complejos.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 14


Construccin 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.
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 15
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
Escribir cada uno de los pasos del algoritmo en el
lenguaje de programacin
4. Ejecutar el programa en el computador
5. Verificar que las salidas sean correctas
6. Hacer correcciones al programa
7. Resolver el problema
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 16
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
24-Ago.-17
Precio (en pesos) de una manzana [M]
INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 17
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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 18


Construccin de un algoritmo
Ingresar K y P

G=K/1000

M=G x P

Devolver M

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 19


Construccin de un algoritmo

Ingresar K y P

G=K/1000

M=G x P

Devolver M

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 20


Construccin de un algoritmo
Operaciones bsicas
Entrada de datos
Salida de datos
Utilizacin de variables
Utilizacin de constantes
Aplicacin de operadores
Asignacin de valores
Combinacin de operaciones bsicas
Secuencial
Selectiva
Repetitiva
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 21
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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 22


Entrada de datos
Dispositivos de entrada
Teclado
Mouse
Botones
Censores de tacto
Cmaras digitales
Scanners
Archivos
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 23
Entrada de datos

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 24


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.
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 25
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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 26


Salida de datos
Dispositivos de salida
Pantalla
Impresora
Parlantes
Tableros luminosos
Motores
Tarjeta de red
Archivos
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 27
Salida de datos

C:\

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 28


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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 29


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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 30


Utilizacin de variables
K es un dato de entrada, y tambin
Se considera una variable

G=K/1000

Esta variable se denomina G y se utiliza para recordar


el valor de un gramo de manzana.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 31


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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 32


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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 33
Utilizacin de constantes

G=K/1000

La constante 1000 sirva para transformar el valor Por


kilo a un valor por gramo

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 34


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.
Los operadores requieren de operandos y
entregan un resultado.
Por lo general, los operadores son unarios o
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 35
Aplicacin de operadores
Operandos

M=G * P

Operador

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 36


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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 37
Asignacin de valores
Operador de asignacin

M=G * P

El resultado de GxP se asigna a la variable M

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 38


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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 39


Combinacin de operaciones bsicas
Diagrama de flujo
Diagrama de Nassi-Schneidermann

Ingresar K y P
Ingresar K y P Ingresar K=200 y P=250

G tiene el valor 0,2


G=K/1000 G=K/1000

M=G * P M tiene el valor 50


M=G * P
Devolver M

Devolver M

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 40


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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 41


Combinacin de operaciones bsicas
1

4 C: Condicin

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 42


Combinacin de operaciones bsicas
1

C
si no

C: Condicin

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 43


Combinacin de operaciones bsicas
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3
fin si
Ejecutar 4
fin

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 44


Combinacin de operaciones bsicas
Ejemplo: levantarse en la maana

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 45


Combinacin de operaciones bsicas
1

si no
C

3a 3b

4 C: Condicin
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 46
Combinacin de operaciones bsicas
1

C
si no

3a 3b

C: Condicin

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 47


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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 48


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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 49
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?

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 50


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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 51
Combinacin de operaciones bsicas
1

x mayor que 0 x menor que 0


x?

x igual a 0

2a 2b 2c

3
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 52
Combinacin de operaciones bsicas
1

si no
x mayor que 0?

x menor que 0?
no si

2a 2b 2c

3
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 53
Combinacin de operaciones bsicas
1
x mayor que 0?
si no
x menor que 0?
no si

2a
2b 2c

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 54


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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 55
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
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 56
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
Si el usuario presion el botn 1, hacer un
giro
Si el usuario presion el botn 2, entregar
saldo
Si el usuario presion el botn 3, cambiar la
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 57
Combinacin de operaciones bsicas

Entonces
Botn

1 2 3

giro saldo clave


error

salir

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 58


Combinacin de operaciones bsicas
Botn

1 2 3 etoc

giro saldo clave error

salir

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 59


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

En cualquier otro caso
Error
fin caso
Fin
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 60
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.
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 61
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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 62


Combinacin de operaciones bsicas
1

No
C

Si

3
C: Condicin

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 63


Combinacin de operaciones bsicas
1

C: Condicin
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 64
Combinacin de operaciones bsicas
Inicio
ejecutar 1
mientras se cumpla la condicin
ejecutar 2
fin mientras
ejecutar 3
Fin

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 65


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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 66


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.

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 67


Combinacin de operaciones bsicas

No
C
si

3
C: Condicin
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 68
Combinacin de operaciones bsicas

C: Condicin
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 69
Combinacin de operaciones bsicas

Inicio
ejecutar 1
repetir
ejecutar 2
hasta que se cumpla condicin
ejecutar 3
Fin

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 70


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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 71


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.
24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 72
COMBINACIN DE OPERACIONES BSICAS

Inicio contador, fin contador

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 73


COMBINACIN DE OPERACIONES BSICAS

Inicio contador, fin contador

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 74


COMBINACIN DE OPERACIONES BSICAS

Inicio
ejecutar 1
desde contador inicial hasta contador
final
ejecutar 2
fin desde
ejecutar 3
Fin

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 75


COMBINACIN DE OPERACIONES BSICAS
5
Ejemplo:
Inicio
i 0
i
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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD 76


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

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 77


Combinacin de operaciones bsicas
Ejemplos:
Cachi-pun
Ordenar objetos

24-Ago.-17 INSTRUCTOR: Choque del Pozo, SIMON ELIAD Diapositiva # 78

Potrebbero piacerti anche