Está en la página 1de 37

ALGORITMOS

ALGORITMOS - UASF

TORRE DE HANOI
Gran Templo de Benares
64 discos de oro
Pasar uno por uno
Considerando
el porte

brahmanes se convertirn en polvo,


y con un trueno el mundo se desvanecer

http://www.amolasmates.es/juegos/j
uegos3.html
ALGORITMOS - UASF

CUBO DE RUBIK
http://www.rubikaz.com/index.php
http://www.rubikaz.com/resolucion.php

ALGORITMOS - UASF

Cambiar la llanta pinchada usando


una gata

ALGORITMOS - UASF

DEFINICION: ALGORITMO
En otras palabras,
un algoritmo es un
mtodo para la
solucin
de
problemas.

ALGORITMOS - UASF

PROPIEDADES DE UN
ALGORITMO

Secuencialidad
Ausencia de Ambigedades
Generalidad
Limitaciones

SECUENCIALIDAD
Un algoritmo debe tener
una instruccin inicial
nica y un sucesor nico
en cada secuencia.
Las entradas son las
partidas de datos
presentadas al algoritmo.
Las salidas son partidas
de datos procesados
que son el resultado de
un conjunto de elementos encadenado
la ejecucin un programa
basado en el algoritmo.

AUSENCIA DE AMBIGEDAD
En algoritmo debe ser
defino, claro, preciso
y no ambiguo. La
representacin de cada
paso de un algoritmo
debe dar lugar a una
sola interpretacin
posible.
Esta condicin significa
que cada vez que se
presente para su
ejecucin un algoritmo
con los mismos datos
de entrada, se
obtendrn los mismos
resultados.

GENERALIDAD
Un algoritmo se puede
realizar para varios
problemas que se
relacionan entre s.
Un algoritmo se aplica a
un problema o clase de
problemas especficos;
el rango de las
entradas o dominios
se tiene que definir
previamente, ya que
est determinado el

LIMITACIN
Un algoritmo es
finito en tamao y
tiempo.
La ejecucin de un
algoritmo
programado debe
finalizar despus de
que se haya llevado
a cabo una
cantidad finita de
operaciones.

Ejercicio: El ejemplo de cambiar una bombilla (foco)


fundida ordena
o
o
o
o

Ubicar una escalera debajo de la bombilla fundida


Subir por la escalera
Enroscar la bombilla nueva en el plafn hasta apretarla
Girar la bombilla fundida hacia la izquierda hasta
soltarla
o Bajar de la escalera
o Fin
o Tomar una bombilla nueva

ALGORITMOS - UASF

11

Ejercicio

Por ejemplo, ordenar los pasos para pescar:


___ El pez se traga el anzuelo.
___ Enrollar el sedal.
___ Tirar el sedal al agua.
___ Llevar el pescado a casa.
___ Quitar el Anzuelo de la boca del
pescado.
___ Poner carnada al anzuelo.
___ Sacar el pescado del agua.
ALGORITMOS - UASF

12

un algoritmo consta de tres partes


El mdulo 1.- representa
la operacin o accin que
permite el ingreso de los
datos del programa

El mdulo 2.- representa la


operacin o conjunto de
operaciones secuenciales,
cuyo objetivo es obtener la
solucin al problema.
El mdulo 3.- representa una operacin o
conjunto de operaciones que permiten
comunicar al exterior el o los resultados
alcanzados.
ALGORITMOS - UASF

13

Construccin de un
algoritmo
1.
2.
3.
4.

Definir el problema a resolver


Identificar las entradas del algoritmo
Identificar la salida del algoritmo
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.
IWI-131 - Tema 1 Algoritmos

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]
IWI-131 - Tema 1 Algoritmos

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.

IWI-131 - Tema 1 Algoritmos

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.
IWI-131 - Tema 1 Algoritmos

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.

IWI-131 - Tema 1 Algoritmos

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.
IWI-131 - Tema 1 Algoritmos

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

IWI-131 - Tema 1 Algoritmos

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.

Los operadores requieren de operandos y


entregan un resultado.
Por lo general, los operadores son unarios
o binarios.
IWI-131 - Tema 1 Algoritmos

Aplicacin de operadores
operandos

M=G * P

operador

IWI-131 - Tema 1 Algoritmos

Asignacin de valores
Operador de asignacin

M=G * P

El resultado de GxP se asigna a la variable M

IWI-131 - Tema 1 Algoritmos

TIPOS DE ALGORITMOS

CUALITATIVO
Son aquellos en los que se
describen los pasos utilizando
palabras.

CUANTITATIVO
Son aquellos en los que se
utilizan clculos numricos
para definir los pasos del proceso.

Tcnica de Vuelta Atrs o repeticion


Se contempla como un mtodo de prueba o bsqueda, que gradualmente
construye, de forma sistemtica, tareas bsicas y las inspecciona para
determinar si conducen a la solucin del problema.
Si una tarea no conduce a la solucin, prueba con otra tarea bsica hasta que se
encuentre una solucin o se hayan agotado todas las posibilidades.
ALGORITMOS - UASF

25

MEDIOS DE EXPRESIN DE UN ALGORITMO


Lenguaje natural

El trmino lenguaje natural es el que se utiliza como


medio de comunicacin habitual entre los humanos,
est compuesto por una sintaxis.
Los algoritmos de este tipo son similares a las
recetas de cocina (para preparar comidas,
bebidas, etc) o a los manuales de instruccin para
manejo de una maquina (ejm. un corta pasto) o
un equipo (ejm. una lavadora o el microondas).

ALGORITMOS - UASF

26

Ejemplos
Seguimos una secuencia de
pasos( algoritmo) para ir a la oficina
Seguimos una secuencia de
pasos(algoritmo) para ir a clases en
la universidad.
Seguimos una secuencia de pasos
para cambiar la llanta pinchada de
un auto.
ALGORITMOS - UASF

27

ALGORITMOS - UASF

28

Pseudocdigo
Un pseudocdigo (falso lenguaje), es una
serie de normas lxicas y gramaticales
parecidas a la mayora de los lenguajes de
programacin, pero sin llegar a la rigidez
de sintaxis de estos ni a la fluidez del
lenguaje coloquial.
Pseudocdigo es la descripcin de un algoritmo
que asemeja a un lenguaje de programacin
pero con algunas convenciones del lenguaje
natural.

ALGORITMOS - UASF

29

ALGORITMOS - UASF

30

Dada las horas trabajadas de una


persona y el valor por hora. Calcular
su salario e imprimirlo.

ALGORITMOS - UASF

31

Diagrama de flujo
Son representaciones grficas de
secuencias de pasos a realizar. Cada
operacion se representa mediante un
smbolo normalizado el Instituto
Norteamericano de Normalizacion (ANSI American National Standars Institute). Las
lneas de flujo indican el orden de ejecucin.
Consiste en una serie de smbolos que
denotan acciones, decisiones o
procedimientos que se unen mediante
flechas y conectores.
ALGORITMOS - UASF

32

SIMBOLOGA DE LOS DIAGRAMAS DE


FLUJO

ALGORITMOS - UASF

33

Tipos de
condiciones

ALGORITMOS - UASF

34

Ejemplos

ALGORITMOS - UASF

35

ALGORITMOS - UASF

36

ALGORITMOS - UASF

37