Anda di halaman 1dari 31

Ing.

Sonia Alexandra Pinzon Nuez -


Ing. Rocio Rodriguez Guerrero
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.
El nombre en latn de
aIgoritmo proviene de la
traduccin que realiz
Fibonacci, de la obra
del matemtico rabe
AI'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
FINITO
CONCRETO
LESILE
DEFINIDO
PRECISO
NO
AMISUO
EFICIENTE
Debe ser...
Debe fener
ferminor en oIqn
momenfo
Debe reoIizor Ios
funciones u
operociones poro
Ios que fue
creodo.
Debe esfor bien
esfrucfurodo
poro su fociI
enfendimienfo.
Debe reoIizor Ios
operociones con
un mnimo de
ufiIizocion de
recursos.
Debe esfor Iibre
de errores.
(VoIidodo)
Debe indicor un
orden de
reoIizocion de
codo poso.
Debe qeneror eI
mismo resuIfodo
siempre que se
siqo.
Dofos
Procesos
Esfrucfuros
de ConfroI
orresponden a los
datos requeridos
para realizar el
algoritmo (datos de
entrada) y los datos
que son generados
(datos de salida)
onforma el grupo
de instrucciones
que realizan las
operaciones con los
datos.
Determinan la
organizacin de las
instrucciones que
deben ser
realizadas.
Definicin
de variables y
constantes
Proceso
Estructuras
de control
Entrada
Salida
Es necesario
identificar que
datos se necesitan
ingresar, cuales
sirven de forma
auxiliar y cuales se
van a generar.
Las instrucciones
que se van a
realizar deben estar
bien estructuradas y
tener un orden
lgico, con el fin de
evitar
inconsistencias en
el resultado.
uerpo del algoritmo
%oda 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.
El no programador hara lo siguiente:
Supongamos que
deseamos ir al cine a ver la
tercera pelcula de La
Guerra delas Galaxias,
cmo procedemos?
Buscar la pgina de cines
en el diario local y mirar si
ve la pelcula anunciada. Si
la ve anunciada mira en qu
cine la hacen y se va a
verla. Si no la ve anunciada,
espera a los estrenos de
lasemana que viene.
El programador sin embargo, lo hara de este otro
modo:
Buscar la pgina de cines en el diario
local, con fecha de hoy
Revisar la cartelera de arriba abajo y de izquierda
a derecha, buscando entre los ttulos existentes.
Si se encuentra el ttulo La Guerra de las
Galaxias, 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.

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.
Encender un automvil
Los algoritmos se crean
para resolver
problemas.
Es importante que junto
al algoritmo,
describamos claramente
el problema que ste nos
permite resolver.
No debemos omitir el
contexto de nuestros
algoritmos.
Es necesario establecer
lo que se necesita y
dnde se debe comenzar.
Seguir los pasos del
algoritmo debe llevarnos
a la resolucin del
problema.
Siempre que sea posible
seguiremos
personalmente los pasos
de nuestro algoritmo
para comprobar que son
efectivamente correctos y
conducen efectivamente a
la solucin esperada.
Por ejemplo:
Si se requiere hallar la
velocidad de un automvil,
es necesario, definir si la
distancia debe ser en
metros, kilmetros, etc y
el tiempo estar dado en
segundos u horas, ya que
la velocidad puede
representarse en Km/h
mts/seg.
Debe Definirse deI
probIemo
Debe esfor denfro
de confexfo
Debe resoIver eI
probIemo
Debe evifor Io
ombiquedod
Es una tcnica de diseo
descendente donde se
realiza un refinamiento
sucesivo, que permite
darle una organizacin a
las instrucciones, en
forma de mdulos o
bloques.
Est tcnica permite
dividir el problema en
pequeas partes, a las
cuales se les da solucin
por separado, luego se
integran las soluciones
para resolver el problema
principal.
%op Down
Divide y venceros
Es una tcnica que
permite representar
grficamente las
operaciones y
estructuras que se van a
realizar, mediante una
simbologa estndar, con
un nico punto de inicio y
uno de finalizacin.
Est tcnica permite
representar el algoritmo
mediante un lenguaje
ms estructurado,
facilitando su posterior
codificacin.
Dioqromo de FIuo
Pseudocodiqo
nicio
nstruccin 1
nstruccin 2
Si condicin entonces
nstruccin 3
.
.
.
nstruccin n
Fin
ada instruccin que se va a realizar
debe comenzar por un ;0rbo, ejemplo:
Muestre, Haga, Lea, etc.
Se debe mantener una id0ntacin o sangra
sobre el margen izquierdo para identificar
fcilmente el comienzo y final de las estructuras
La representacin de las 08tructura8 son
similares u homnimas de los lenguajes de
programacin, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.

Inicio Denofo eI punfo de inicio deI oIqorifmo.


Leer Denofo Io occion de infroducir dofos o voriobIes
desde un disposifivo esfondor de enfrodo.
CuIcuIur Denofo Io reoIizocion de cuoIquier operocion
orifmfico que qenere voIores poro ser
oImocenodos en uno voriobIe.
Imprimir Pepresenfo Io occion de envior dofos desde
voriobIes o un disposifivo esfondor de soIido.
Fin Denofo eI punfo de finoIizocion deI oIqorifmo.
Se utiliza para
indicar el punto de
inicio y finalizacin
del diagrama
Permite indicar la
Entrada de datos
desde
un dispositivo
estndar
nicio
Fin
Lecfuro
Copfuro
Permite indicar la
realizacin
de un proceso
matemtico,
o una operacin de
asignacin
Proceso
ndica la realizacin de
operaciones de salida
a un
dispositivo estndar
(el monitor o
impresor.)
Permite establecer una
condicin relacional
lgica que puede tomar
un valor de verdadero o
falso, de este smbolo se
deducen 2 flujos
alternativos de
ejecucin.
mpresion Decision
Permiten dar continuidad
al diagrama si la pgina
o rea de trabajo esta
llena, el crculo se
utiliza como un conector
dentro de la misma
pgina, el otro smbolo
se define como un
conector a otra pgina.
Conecfores
Permiten enlazar los
smbolos de un sentido
nico pueden ser
horizontales o verticales.
Estas no pueden
entrecruzarse y cada una
de ellas debe tener un
nico smbolo de partida
y un nico smbolo de
destino.
FIuo
ondicin
Si
No
ondicin
Si No
$i condicin 0ntonc08
nstrucciones
$i condicin 0ntonc08
nstrucciones
8i no
nstrucciones
Decision SimpIe
Decision
Compuesfo
ondicin
Si No
ondicin
No
ondicin
Si No
Decision
Anidodo
$i condicin 0ntonc08
$i condicin 0ntonc08
nstrucciones
8i no
$i condicin 0ntonc08
nstrucciones
8i no
nstrucciones
Ca8o condicin
Val1:
nstrucciones
Val2:
nstrucciones
Val3:
nstrucciones
Otros:
nstrucciones
Fin Ca8o
Decision MIfipIe
ondicin
Si
No
ondicin
Val3 Val1 Val2 Otro
ondicin
Si
No
nstrucciones

i0ntra8 qu0 condicin


nstrucciones
Fin i0ntra8

#05ita
nstrucciones
Ha8ta qu0 condicin

CicIo Mienfros CicIo Hosfo


CicIo Poro

!ara v=valini, v=valfinal, inc


nstrucciones
Fin !ara

v: variable
valini: valor inicial
valfinal: valor final
inc: incremento
ondicin
Si
No
nstrucciones
nstrucciones
v=valini,v=valfinal, incremento
AnoIisis deI probIemo
Definicion deI probIemo
SeIeccion de Io meor oIfernofivo
Dioqromocion
Pruebo de escriforio
Est dada por el enunciado
del problema, el cul debe
ser claro y completo
Es importante que
conozcamos exactamente
que se desea.
Es importante que
conozcamos exactamente
que se desea.
Mientras qu esto no se
comprenda, no tiene caso
pasar a la siguiente etapa.
Mientras qu esto no se
comprenda, no tiene caso
pasar a la siguiente etapa.
!roc08o
Entendido el problema para
resolverlo es preciso analizar
Los datos de
salida o
r08uItado8 que
se esperan
Los datos de
0ntrada que nos
suministran
reo
de
%roboo
FormuIos
Pecursos
Analizado el problema
Posiblemente tengamos
varias formas de resolverlo
Solucin ..1
Solucin ..2
Solucin ..3
Solucin ..5
Lo importante es
determinar cul
es la mejor alternativa
La que produce los
resultados Esperados en el
menor tiempo y al menor
costo
Se debe tener en cuenta
el principio de que las
cosas siempre se podrn
hacer de una mejor
forma.
&na vez que
sabemos
cmo resolver el
problema
Dibujar
grficamente
la lgica de la
alternativa
seleccionada
Plasmar la
solucion
mediante el
Pseudocdigo
Esta prueba consiste en:
Dar diferentes datos
de entrada al programa
seguir la secuencia
indicada
hasta
obtener los resultados
Se utiliza para
corroborar que el
algoritmo plasmado
en cualquier
herramienta presenta
la solucin al
problema inicial
AI reoIizor Io onferior se
puede comprobor si eI
oIqorifmo es correcfo o
si hoy necesidod
de hocer ousfes
(voIver oI poso onferior)
8 #0com0ndabI0
Dar diferentes datos de
entrada y considerar todos
los posibles casos, an los
de excepcin o no
esperados, para asegurar
que el programa no
produzca errores en
ejecucin cuando se
presenten estos casos.
Minima parte de la
informacin.
Se refiere a los
elementos que se
utilizan en los
algoritmos para
realizar alguna
operacin sobre estos.
orresponde al tipo de
valor que puede
almacenarse en un
espacio de memoria
definido y a la cantidad
de espacio que requiere
para almacenar un valor.
Dofo %ipo de Dofo
orresponde a un
espacio de memoria que
almacena un dato que
dentro del programa en
ejecucin cambia o vara
su contenido (valor)..
VoriobIe
orresponde a un
espacio de memoria que
almacena un dato que
dentro del programa en
ejecucin mantiene
siempre su contenido
(valor).
Consfonfe
%i5o8
d0
Dato8
Curucter
ReuI
Entero
oIeuno
cudenu
umrico8
gico8
Carct0r
Aritmtico8
gico8
#0IacionaI08


-
=
o
Y &&
O ||

% =
-=
|=
-
Disear y escribir un programa para resolver las raices
de una ecuacion cuadratica distinguiendo a que tipo
pertenecen.
1 Problema Resolver la ec. Y ver si el resultado tiene 2
raices reales distintas, 2 raices reales igual es o raices
compleas
2 DeIinir entradas y salidas
ax
2
bxc0
los datos de entrada son los coeIicientes a, b y c
La salida son las raices del la ecuacion distinguiendo su
tipo.
3 l algoritmo
comienzo
Lectura de
a,b y c
b**2-4*a*c ~ 0 b**2-4*a*c ~ 0
Imprimir
La ec tiene 2 raices
Distintas reales
Imprimir
La ec tiene 2 raices
Distintas compleas
s
i
s
i
Imprimir
La ec tiene 2 raices
iguales
Iin
< Fundomenfos de Proqromocion. AIqorifmos y
Esfrucfuros. Luis Joyones AquiIor. EdiforioI
Mc 0row HiII.
< hffpfuxion.fripod.cIfundomenfos.hfm#C
UE7Z0HEPPAME%AS

Anda mungkin juga menyukai