You are on page 1of 29

SEMESTRE ACADMICO 2011-I

ALGORITMOS
ING. JOSE LUIS HERRERA SALAZAR
SESIN 2

Algoritmos
Etapas para la solucin

Agosto 2010

CARRERA DE INGENIERA DE SISTEMAS

RESOLUCION DE PROBLEMAS
Un problema es un conjunto de
cuestiones que se plantean para ser
resueltas. En Informtica: se busca la
solucin
utilizando
computadoras,
mediante un programa (buscando el mejor
resultado en tiempo y forma)

CARRERA DE INGENIERA DE SISTEMAS

Planteo
QUE me estn pidiendo;
CMO resolverlo;
CON QU, expresar la supuesta solucin
(recursos, herramientas...).
Dicho de otro modo, responde al siguiente orden
de planteo:
1) ESTRATGICO
2) LGICO
3) HERRAMENTAL
CARRERA DE INGENIERA DE SISTEMAS

Enunciado
Debe estar dado en forma completa, correcta y sin ambigedades. El problema
tiene una naturaleza, su particularidad, y debo reconocerla para saber si puedo
enfrentarlo, para ello se sugiere tener en cuenta:
a) CONOCIMIENTO
b) HABILIDAD
c) EXPERIENCIA
Es decir:
- conocer los elementos, propiedades, leyes, teora;
- poseer cualidades que me permitan alcanzar la solucin, creatividad;
- toma de decisiones, naturaleza que me de mayor seguridad y garanta de
resolucin.
Debo sentirme en condiciones de responder, ya que no entiendo lo que no
conozco.

CARRERA DE INGENIERA DE SISTEMAS

Los sistemas de procesamiento de la


informacin
Para los informticos, datos e informacin no
son sinnimos. Datos se refiere a la
representacin de algn hecho, concepto o
entidad real, en cambio, informacin implica
datos procesados y organizados.
Un sistema en general se define como un
conjunto de componentes conectados e
interactivos, que tiene un propsito y una
unidad total. En consecuencia, sistema de
procesamiento de informacin es un sistema
que transforma datos brutos en informacin
organizada, significativa y til.
El conjunto de instrucciones que especifican la
secuencia de operaciones a realizar para
resolver un sistema especfico o clase de
problema se denomina algoritmo. En otras
palabras, un algoritmo es una frmula para la
resolucin de un problema.
Un programa se escribe en un lenguaje de
programacin y a la actividad de expresar un
algoritmo en forma de programa se le
denomina programacin. Un programa consta
de una secuencia de instrucciones, cada una
de las cuales especifica las operaciones que
debe realizar la computadora.

CARRERA DE INGENIERA DE SISTEMAS

La resolucin de problemas exige al


menos los siguientes pasos:
1.- Definicin o anlisis del problema
2.- Diseo del algoritmo (Secuencia
ordenada de pasos que conducen a la
solucin).
3.- Transformacin del algoritmo en un
programa (Fase de codificacin).
4.- Ejecucin y validacin del programa.

Algoritmos
Es un conjunto de pasos
lgicos
ordenados,
secuencialmente y finita,
escritos de tal forma que
permiten
visualizar
la
solucin de un problema
determinado en un momento
especfico.

CARRERA DE INGENIERA DE SISTEMAS

Para ser un programador eficaz se


necesita
aprender
a
resolver
problemas de un modo riguroso y
sistemtico.
Los algoritmos son ms importantes
que los lenguajes de programacin o
las computadoras. Un
lenguaje de programacin es tan slo
un medio para expresar el algoritmo, y
una computadora es
slo un procesador para ejecutarlo.

ALGORITMO: Nombre
El nombre en latn de
algoritmo proviene de la
traduccin que realiz
Fibonacci, de la obra
del matemtico rabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.

CARRERA DE INGENIERA DE SISTEMAS

ALGORITMO: Caracterticas
CONCRETO

FINITO

LEGIBLE

Debe realizar las


Debe
Debe generar
estar
indicarbien
un
el
Debe
operaciones
Debe
funciones
estar
tener
libre
con
u
Debe
ser...
mismo
estructurado
orden
resultado
de
terminar
operaciones
un
demnimo
errores.
en algn
de
para
siempre
realizacin
para su que
fcil
de
se
utilizacin
las
(Validado)
momento
que fue
de
entendimiento.
cada
siga.
paso.
recursos.
creado.

NO
AMBIGUO

DEFINIDO
PRECISO

CARRERA DE INGENIERA DE SISTEMAS

EFICIENTE

ALGORITMO: Estructura
Corresponden a los
Conforma
Determinan
ella
grupo
datos requeridos
de
organizacin
instrucciones
de las
para
realizar el
que
instrucciones
realizan
las
quede
algoritmo
(datos
operaciones
deben
sery loscon
los
entrada)
datos
datos.
realizadas.
que son generados
(datos de salida)

Datos

Procesos

Estructuras
de Control

CARRERA DE INGENIERA DE SISTEMAS

ALGORITMO: Elementos
Las instrucciones
Es
quenecesario
se van a
identificar
que estar
realizar deben
datos
se necesitan y
bien estructuradas
ingresar,
cuales
tener un orden
sirven
lgico, de
conforma
el fin de
auxiliar
evitar y cuales se
van
a generar. en
inconsistencias
el resultado.

Definicin
de variables y
constantes

Entrada

CARRERA DE INGENIERA DE SISTEMAS

Proceso
Estructuras
de control

Salida

Cuerpo del algoritmo

ALGORITMO: Quienes pueden


hacer un algoritmo?
Toda persona, implcitamente
y diariamente disea y realiza
algoritmos, para dar solucin
a situaciones cotidianas de
forma natural.
Sin embargo el programador,
disea el algoritmo conciente
de que al realizar cada paso
obtendr la solucin de un
problema especfico.

CARRERA DE INGENIERA DE SISTEMAS

ALGORITMO: Cmo se hace?


El no programador hara lo siguiente:
Buscar la pgina de cines
en elSupongamos
diario local y mirar
que si
ve deseamos
la pelcula anunciada.
ir al cine laSi
la ve anunciada
mira cmo
en qu
pelcula
The Matrix,
cine la procedemos?
hacen y se va a
verla. Si no la ve anunciada,
espera a los estrenos de
lasemana que viene.

CARRERA DE INGENIERA DE SISTEMAS

ALGORITMO: Cmo se hace?


El programador sin embargo, lo hara de este otro modo:

Buscar la pgina de cines en el diario


local, con fecha de hoy
2

Revisar la cartelera de arriba abajo y de izquierda


a derecha, buscando entre los ttulos existentes.
Si se encuentra el ttulo The Matrix, no seguir
buscando. Apuntar el nombre del cine, su
direccin y los horarios

Si no se encuentra el ttulo en la cartelera,


esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.

CARRERA DE INGENIERA DE SISTEMAS

ALGORITMO: Otro ejemplo


Encender un automvil
1. Poner la llave.
2. Asegurarse que el cambio est en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posicin arranque.
5. Si el motor arranca antes de 6 seg, dejar
la llave en la posicin encendido.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como mximo 5 veces).
7. Si el auto no arranca, llamar a la gra.
CARRERA DE INGENIERA DE SISTEMAS

ALGORITMO: Requisitos
Seguir los pasos del
Por ejemplo:
algoritmo
debe sellevarnos
Lossealgoritmos
crean el
SiNo
requiere
hallar
la
debemos
omitir
aparalaresolver
resolucin
del
velocidad
de de
un automvil,
contexto
nuestros
problema.
problemas.
es
necesario, definir si la
algoritmos.
Siempre
que sea
posible
Es
importante
que
junto
distancia
debe
ser
en
Es
necesario
establecer
seguiremos
al algoritmo,
metros,
kilmetros,
etc y y
lo
que
se
necesita
personalmente
los pasos
describamos
claramente
eldnde
tiempo
estar
dado en
se debe comenzar.
de
nuestro
algoritmo
el problema
que ste
segundos
u horas,
ya nos
que
para comprobar
son
resolver.que puede
lapermite
velocidad
efectivamente correctos y
representarse en Km/h
conducen efectivamente a
mts/seg.
la solucin esperada.

CARRERA DE INGENIERA DE SISTEMAS

Debe Definirse del


problema
Debe estar dentro
de contexto
Debe resolver el
problema
Debe evitar la
ambigedad

ALGORITMO: Tcnicas de
Diseo
Top Down
Est
Es una tcnica
tcnica de permite
diseo
dividir
el problema
descendente
donde se en
pequeas
partes, a las
realiza un refinamiento
cuales
se que
les da
solucin
sucesivo,
permite
por
luego se
darleseparado,
una organizacin
a
integran
las soluciones
las instrucciones,
en
para
el problema
formaresolver
de mdulos
o
principal.
bloques.

CARRERA DE INGENIERA DE SISTEMAS

Divide y vencers

ALGORITMO: Tcnicas de
Representacin
Es una tcnica
Est
tcnica quepermite
permite representar
representar
el algoritmo
grficamenteunlas lenguaje
mediante
operaciones estructurado,
y
ms
estructuras que
van a
facilitando
su se
posterior
realizar, mediante una
codificacin.
simbologa estndar, con
un nico punto de inicio y
uno de finalizacin.

CARRERA DE INGENIERA DE SISTEMAS

Diagrama de Flujo
Pseudocdigo
Inicio
Instruccin 1
Instruccin 2
Si condicin entonces
.. Instruccin 3
.
Instruccin n
Fin

PSEUDOCDIGO:Cmo se Hace?
1

Cada instruccin que se va a realizar


debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.
Se debe mantener una identacin o sangra
sobre el margen izquierdo para identificar
fcilmente el comienzo y final de las estructuras

La representacin de las estructuras son


similares u homnimas de los lenguajes de
programacin, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.

CARRERA DE INGENIERA DE SISTEMAS

PSEUDOCDIGO:Cmo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la accin de introducir datos o variables
desde un dispositivo estndar de entrada.
Imprimir : Representa la accin de enviar datos desde
variables a un dispositivo estndar de salida.
Calcular : Denota la realizacin de cualquier operacin
aritmtica que genere valores para ser
almacenados en una variable.
Fin: Denota el punto de finalizacin del algoritmo.

CARRERA DE INGENIERA DE SISTEMAS

DIAGRAMA DE FLUJO: Simbologa


Lectura
Inicio
Proceso
Captura
Fin

CARRERA DE INGENIERA DE SISTEMAS

Permite indicar la
Permite indicar la
realizacin
Se
utiliza
para
Entrada de datos
deelunpunto
proceso
indicar
de
desde
matemtico,
inicioun
y finalizacin
dispositivo
o una del
operacin
de
diagrama
estndar
asignacin

DIAGRAMA DE FLUJO: Simbologa


Conectores
Impresin
Decisin
Flujo

CARRERA DE INGENIERA DE SISTEMAS

Permite
establecer
Permiten
Permiten
continuidad
enlazaruna
los
Indica
ladar
realizacin
de
condicin
relacional

alsmbolos
diagrama
desiun
la sentido
pgina
operaciones
de salida
lgica
que
tomar
o rea
nico
depuede
trabajo
pueden
esta
ser
a un
un
valor de el
verdadero
o
horizontales
llena,
o verticales.
crculo
se
dispositivo
estndar
falso,
de
esteun
smbolo
se
utiliza
como
Estas
no
conector
pueden
deducen
flujos
entrecruzarse
dentro
ymonitor
cada
la 2misma
una
(elde
o
alternativos
de
pgina,
de ellasel
debe
otro
tener
smbolo
un
impresor.)
nico smbolo
se defineejecucin.
de
como
partida
un
conector
y un nico
a otra
smbolo
pgina.
de
destino.

DIAGRAMA DE FLUJO: Simbologa


Estructuras de Decisin (Condicin)

Decisin
Decisin
Decisin
DecisinMltiple
Simple
Compuesta
Anidada
Si

No
No No
Si
No
Condicin
Condicin
No
Condicin
Si
No
Condicin
Val1

Condicin

Val2

Si Si

Condicin
Val3
Otro

CARRERA DE INGENIERA DE SISTEMAS

Si
condicin
entonces
Caso
condicin

Val1:
Si condicin entonces
Si condicin
entonces
Instrucciones
Instrucciones
Instrucciones
Si
condicin
entonces
siVal2:
no
Instrucciones
si no
Instrucciones
Si condicin entonces
Val3:
Instrucciones
Instrucciones
Instrucciones
si no
Otros:
Instrucciones
Instrucciones
Fin Caso

DIAGRAMA DE FLUJO: Simbologa


Estructuras de Ciclo

Ciclo
Para
Ciclo
Ciclo
Mientras
Hasta

v=valini,v=valfinal, incremento
Instrucciones

Condicin
Instrucciones
Si

Condicin

No

No

Instrucciones

Si

CARRERA DE INGENIERA DE SISTEMAS

..
...
.
Para
v=valini, v=valfinal, inc
Repita
Mientras
que condicin
Instrucciones
Instrucciones
Instrucciones
Fin
Para
..Hasta
que condicin
Fin Mientras
.

...
..
.. variable
v:
valini: valor inicial
valfinal: valor final
inc: incremento

ALGORITMO: Fases de Diseo

Algoritmo

Definicin del problema


Anlisis del problema
Seleccin de la mejor alternativa
Diagramacin
Prueba de escritorio

CARRERA DE INGENIERA DE SISTEMAS

ALGORITMO: Definicin del


Problema
Est
Estdada
dadapor
porelelenunciado
enunciado
del
delproblema,
problema,elelcul
culdebe
debe
ser
serclaro
claroyycompleto
completo
Esimportante
importanteque
que
Es
conozcamosexactamente
exactamente
conozcamos
quese
sedesea.
desea.
que
Mientras
Mientrasqu
questo
estono
no se
se
comprenda,
comprenda, no
notiene
tienecaso
caso
pasar
pasar aala
lasiguiente
siguienteetapa.
etapa.

CARRERA DE INGENIERA DE SISTEMAS

ALGORITMO: Anlisis del Problema


Los datos de
entrada que nos
suministran

Recursos

Frmulas

Proceso

Entendido el problema para


resolverlo es preciso analizar
CARRERA DE INGENIERA DE SISTEMAS

rea
de
Trabajo

Los datos de
salida o
resultados que
se esperan

ALGORITMO: Seleccin de
Alternativa
Solucin ..1
Solucin ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrn
hacer de una mejor
forma.

La
que
produce
los Solucin ..5
Lo importante
es
Analizado
el problema
resultados Esperados en el
Posiblemente
tengamos
determinar
cul
menor tiempo y al menor
varias
resolverlo
es laformas
mejorde
alternativa
costo
CARRERA DE INGENIERA DE SISTEMAS

Solucin ..2

ALGORITMO: Diagramacin

Una vez que


sabemos
cmo resolver el
problema

CARRERA DE INGENIERA DE SISTEMAS

Dibujar
grficamente
la lgica de la
alternativa
seleccionada

Plasmar la
solucion
mediante el
Pseudocdigo

ALGORITMO: Prueba de Escritorio


Esta prueba consiste en:
Es
Recomendable
Serealizar
utiliza
parase
Al
lo anterior
Dardiferentes
diferentes
datos
Dar
datos
de
corroborar
que
el
puede comprobar
si el
de
entrada
al programa
entrada
y
considerar
todoso
algoritmoes plasmado
algoritmo
correcto
los
casos,
an los
si hay necesidad
enposibles
cualquier
seguir
laosecuencia
de excepcin
no
de
hacer
ajustes
herramienta
esperados,
parapresenta
asegurar
indicada
(volver
al
paso
anterior)
la el programa
solucin
al
que
no

que el programa no
problema
inicial
produzca
errores
en
hasta
ejecucin cuando se
obtener los resultados
presenten estos casos.

CARRERA DE INGENIERA DE SISTEMAS

You might also like