Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos
ING. SALDAA GOLDSCHMIDT,
JUAN
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
Algoritmos
Entrada
Proceso
Transformacin, efectuar las
operaciones.
Salida
Tipos de datos
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
Algoritmos
Qu es un programa de computador?
Descripcin de un
algoritmo
a,b;
int b int
=));
integer.parseInt(JOptionPane.ShowInputDialog(a));
int suma
= a +b;
integer.parseInt(JOptionPane.ShowInputDialog(b));
System.out.println(suma);
int suma = a +b;
System.out.println(suma);
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.
Construccin de un
algoritmo
1.
2.
3.
4.
5.
6.
7.
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 soles) del kilo de manzanas [K]
Peso (en gramos) promedio de una manzana[P]
Salida
Precio (en soles) de una manzana [M]
Construccin de un
algoritmo
Inicio
Ingresar valor de K y P
Calcular G = K/1000
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
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
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
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
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
C: Condicin
Combinacin de operaciones
bsicas
1
2
C
si
no
3
4
C: Condicin
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3
fin si
Ejecutar 4
fin
Combinacin de operaciones
bsicas
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
tomar el paraguas
fin si
tomar la mochila
tomar la micro
fin
Combinacin de operaciones
bsicas
1
2
si
3a
no
3b
C: Condicin
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
1
2
C
si
no
3a
3b
4
C: Condicin
IWI-131 - Tema 1 Algoritmos
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
Combinacin de operaciones
bsicas
Combinacin de operaciones
bsicas
Combinacin de operaciones
bsicas
1
x mayor que 0
x menor que 0
x?
x igual a 0
2a
2b
2c
3
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
1
si
no
x mayor que 0?
x menor que 0?
no
2a
si
2b
2c
3
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
1
x mayor que 0?
si
no
x menor que 0?
no
si
2a
2b
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
Combinacin de operaciones
bsicas
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
Combinacin de operaciones
bsicas
etoc
Botn
1
giro
saldo
clave
error
salir
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
Botn
1
giro
saldo
etoc
clave
salir
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
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
no
C
si
2
3
C: Condicin
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
1
C
3
C: Condicin
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
Inicio
ejecutar 1
mientras se cumpla la condicin
ejecutar 2
fin mientras
ejecutar 3
fin
Combinacin de operaciones
bsicas
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
no
C
si
3
C: Condicin
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
1
C
3
C: Condicin
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
Inicio
ejecutar 1
repetir
ejecutar 2
hasta que se cumpla condicin
ejecutar 3
fin
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
Combinacin de operaciones
bsicas
1
3
IWI-131 - Tema 1 Algoritmos
Combinacin de operaciones
bsicas
1
Inicio contador, fin contador
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
Programacin Estructurada
Anlisis
Anlisis
Anlisis
Diseo
Diseo
La programacin estructurada consiste en
el diseo del problema a solucionar a partir
de un flujo lgico.
A diferencia de la programacin lineal, la
programacin estructurada considera el uso
de elementos de control a partir de
decisiones.
Programacin
estructurada
Estructura secuencial
Estructura de seleccin
Estructura de repeticin
Algoritmo
Algoritmos en la vida
cotidiana
Instrucciones para el uso de un aparato
Partitura de msica
Instrucciones de construccin de un modelo
a escala
Trucos de magia
Recetas de cocina
Definicin formal de
algoritmo
El algoritmo de Euclides
Algoritmo
Inicio
Obtener los dos datos de entrada
Sea A el mayor y B el menor
Asegurarse que sean enteros positivos
Mientras B no sea igual a cero hacer las siguientes 4
instrucciones en secuencia:
El algoritmo de Euclides
1.
2.
3.
4.
Dividir A entre B
Asignar el valor del residuo a R
El nuevo valor de A ser el valor de B
El nuevo valor de B ser el valor de R
.
.
Pseudocdigo
Pseudocdigo
Pseudocdigo de
secuencia
Inicio
Accin 1
Accin 2
.
Accin n
Fin
Si CONDICIN entonces
Accin 1
Accin 2
.
Accin n
Fin del Si
Si CONDICION entonces
Accin 1
Accin 2
.
Accin n
En caso contrario
Accin 1
Accin n
Fin del Si
Pseudocdigo de iteracin
fija
Para INICIO hasta FIN hacer
Accin 1
Accin 2
.
Accin n
Accin n
Repetir
Accin 1
Accin 2
.
Accin n
Pseudocdigo de seleccin
Caso de SELECTOR
Valor 1 : Accin 1
Accin 2
Valor 2: Accin 1
Accin 2
Valor n: Accin 1
Accin 2
Ejemplo de Pseudocdigo
Ejemplo
Inicio
Repetir
escribir(Primer valor: )
leer(X)
escribir(Segundo valor: )
leer(Y)
escribir(1) Suma )
escribir(2) Resta )
escribir(3) Multiplicacin )
escribir(4) Divisin )
escribir(Qu operacin deseas realizar?: )
Ejemplo
leer(OPCION)
casos OPCION de
1:
2:
3:
4:
RESULTADO X+Y
RESULTADO X-Y
RESULTADO X*Y
si Y=0 entonces
Ejemplo
escribir( Error )
RESULTADO 0
en caso contrario
RESULTADO X/Y
escribir (Resultado: ,RESULTADO)
escribir(Deseas otro clculo?: [S/N] )
leer(OP)
Fin