Sei sulla pagina 1di 40

AL60k11M0S 5S1k0C10kA 05

0A10S
AlgorlLmos
1ntroduccon a 1os ^1gortmos
suulmenLe, nos enfrenLumos u slLuuclones
que requleren soluclonurse.
Por e|emlo: como llumur or Lelefono.
Conforme esLus slLuuclones se hucen mus
comle|us, noLumos que enconLrur lu
soluclon se uede volver menos evldenLe.
Ls or eso, que se hun desurrolludo meLodos
uru uyudurnos u enconLrur dlchus
soluclones, los cuules son esLudludos en unu
dlsclllnu conocldu como Alqot|tm|u.
ue es un a1gortmo?
n Slqot|tmo es un con|unLo de lnsLrucclones
que conducen u lu soluclon de un roblemu o
slLuuclon or resolver.
n ulgorlLmo exresu un rocedlmlenLo uso
u uso uru soluclonur un
roblemu dudo.
ue es un a1gortmo?
uongumos que deseumos hucer unu llumudu
Lelefonlcu.
Lluboremos unu llsLu de usos, uru que
odumos hucerlu, dlgumos ulgo slmllur u lo
slgulenLe:
. 1omur el Lelefono,
z. Murcur el numero Lelefonlco,
. Lserur u que conLesLen,
. Hublur un ruLo y
. 1ermlnur lu llumudu.
aracterstcas
os ulgorlLmos ueden conslderur dlferenLes
slLuuclones que udlerun resenLurse.
Ln nuesLro e|emlo de lu llumudu, es oslble
que no conLesLen o que lu ersonu u lu que
llumumos no se encuenLre. 1umblen,
odemos huber olvldudo su numero
Lelefonlco, or lo que odriumos ocuurnos
rlmero en obLener dlcho numero, unLes de
reullzur lu llumudu.
Ln fln, el ulgorlLmo seru Lun comle|o o
slmle como se neceslLe (o refleru).
aracterstcas
us curucLerisLlcus que debe cumllr un
ulgorlLmo son ser:
tec|so, uru lndlcur el orden de reullzuclon
de cudu uso. olo se reullzu un uso or
vez.
ef|o|Jo, de muneru que sl un ulgorlLmo se
slgue dos veces, se debe obLener el mlsmo
resulLudo cudu vez.
|o|to, es declr, debe Lener un numero
llmlLudo de usos.
artes de un ^1gortmo.
n ulgorlLmo debe de consLur de Lres urLes:
LnLrudu, que es lu lnformuclon que se le
roorclonu ul ulgorlLmo.
Proceso, que es lu reullzuclon de lus
oeruclones necesurlus uru roduclr lu
sulldu.
ulldu, que es lu lnformuclon roducldu or el
ulgorlLmo.
artes de un ^1gortmo
Datos de Entrada
Proceso
Datos de Salida
epresentacon de1 ^1gortmos
Pseudocodlgo.
Llugrumu de llu|o(Ll).
Llugrumus de N.
seudocodgo
Pseudocodlgo Ls un lenguu|e urLlflclul e lnformul
que uyudu u los rogrumudores u desurrollur
ulgorlLmos.
Ll Pseudocodlgo es slmllur ul lenguu|e coLldluno,
es comodo y umuble con el usuurlo, uunque no
es reulmenLe un verdudero lenguu|e de
comuLudoru.
No se e|ecuLun en lus comuLudorus mus blen
slrven uru uyudur ul rogrumudoru ruzonur un
rogrumu unLes de lnLenLur escrlblrlo en ulgun
lenguu|e
rogramacon Lstructurada.
u rogrumuclon esLrucLurudu es unu Leoriu de
rogrumuclon que conslsLe en consLrulr rogrumus
de fucll comrenslon.
u rogrumuclon esLrucLurudu es eseclulmenLe uLll,
cuundo se neceslLun reullzur correcclones o
modlflcuclones desues de huber concluldo un
rogrumu o ullcuclon.
u rogrumuclon esLrucLurudu se busu en unu
meLodologiu de desurrollo de rogrumus llumudu
reflnumlenLo suceslvos:
rogramacon Lstructurada.
e lunLeu unu oeruclon como un Lodo y se dlvlde en
segmenLos mus senclllos o de menor comle|ldud. nu
vez Lermlnudo Lodos los segmenLos del rogrumu, se
rocede u unlflcur lus urLes.
u rogrumuclon esLrucLurudu roone segregur los
rocesos en esLrucLurus lo mus slmle oslbles, lus cuules
se conocen como secuenclu, selecclon e lLeruclon.
LsLun dlsonlbles en Lodos los lenguu|es modernos de
rogrumuclon lmeruLlvu en formu de senLenclus.
Comblnundo esquemus senclllos se ueden llegur u
consLrulr slsLemus umllos y comle|os ero de fucll
enLendlmlenLo.
Lstructura de un rograma.
N1RCCNL Y 1P LL N1RCCNL
nsLrucclones de lnlclojfln.
nsLrucclones de uslgnuclon.
nsLrucclones de lecLuru.
nsLrucclones de escrlLuru.
nsLrucclones de 8lfurcuclon.
ulldu
Progrumu
(AlgorlLmo de
resoluclon)
LnLrudu
Lstructura de un rograma.
LLMLN1 8AC LL N PRRAMA.
Pulubrus reservudus.
denLlflcudores.
CurucLeres eseclules.
ConsLunLes.
vurlubles.
Lxreslones.
nsLrucclones.
Lstructura de un rograma.
1R LLMLN1 LL N PRRAMA.
8ucles.
ConLudores.
Acumuludores.
nLerruLores.
LsLrucLurus.
ecuenclules.
elecLlvus.
ReeLlLlvus.
Lstructura de un rograma.
LA1
Ls lu exreslon generul que descrlbe los ob|eLos
con los cuules oeru lu comuLudoru.
us comuLudorus Lrubu|un con vurlos Llos de
duLos uru lu reullzuclon de oeruclones.
os Llos de duLos slmles son los slgulenLes:
Numerlcos(enLero, reul).
oglcos(booleuno).
CurucLer(curucLer, cudenu).
Lstructura de un rograma.
CN1AN1LYvARA8L
us consLunLes consLlLuyen clerLos vulores que no deben
cumblur durunLe lu e|ecuclon del rogrumu. nu consLunLe
es un ob|eLo que ermunece sln cumblos durunLe Lodo el
desurrollo del ulgorlLmo o lu e|ecuclon del rogrumu.
nu vurluble es un ob|eLo cuyo vulor uede cumblur
durunLe el desurrollo del ulgorlLmo u e|ecuclon del
rogrumu.
nu vurluble se ldenLlflcu: nombre y Llo de duLo.
Lstructura de un rograma.
LXPRLNL.
on comblnuclones de consLunLes, vurlubles,
simbolos de oeruclon, urenLesls y nombres de
funclones eseclules.
us exreslones se cluslflcun en:
ArlLmeLlcus.
Reluclonules.
oglcus.
CurucLer.
Lstructura de un rograma.
LXPRLNLAR1ML1CA.
umu
ResLu -
MulLlllcuclon *
Llvlslon j
Lxonencluclon , **,
Llvlslon LnLeru dlv, (burru lnverLldu)
Modulo mod
Lstructura de un rograma.
LXPRLNLAR1ML1CA.
us oeruclones que esLun enLre () se evuluun
rlmero. lrenLe u () lnLerlores se evuluun de udenLro
huclu fueru.
rden de Prlorldud
, o blen **
*, j
dlv y mod
, -
l colnclden vurlos oerudores de lguul rlorldud en unu
exreslon, se evuluun de lzqulerdu u derechu
Lstructura de un rograma.
LXPRLNLCA(8ooleunus).
u vulor slemre es verdudero o fulso.
us exreslones loglcus se formun comblnundo
consLunLes loglcus, vurlubles loglcus y oLrus exreslones
loglcus, uLlllzundo oerudores loglcos y los oerudores
reluclonules.
Lstructura de un rograma.
LXPRLNLCA(8ooleunus).
erudores Reluclonules
< menor que
<= menor o lguul
> muyor que
>= muyor o lguul
<> dlferenLe
= lguul
erudores oglcos
y y (und)
o o (or)
no neguclon (noL)
Lstructura de un rograma.
LXPRLNLCA(8ooleunus).
P q p Y q
0 0 0
0 1 0
1 0 0
1 1 1
P q p O q
0 0 0
0 1 1
1 0 1
1 1 1
p No(p)
0 1
1 0
Lerccos de expresones
presin ResuItado Operadores
1.0>=2*(3.1-2.6)
17>-8
3>2
(17>-8)y(3>2)
(17>-8)o(3>2)
no(17>-8)
no(17>-8)y(3>2)
(3/4>0.6)y(5<3)
39/4=
(-2*8)>(47*6)
39/4=
O(!(!((3>1)y(2<10)),((4>1)y(1<2))))
presin ResuItado Operadores
2+3*11=
(2+3)*11=
3+7*2-4*6=
-3*5+2/4-5=
-3*5+2/(4-5)=
-(3*5+2)/(4-5)=
(-3*5+2)/(4-5)=
3<6
4<>2+1
4.8/(2.6-3)*2=
'a'=='A'
no(7>=-2)
Lxpreslones Algebralcas a algorlLmlcas
3
1 2 1
, 7 , 7
7


25
36 6

2 2
( ) 2( )( ) ( ) , - , - , . , .
2
3.6( 3)(3 ) .2 (3.8 2)
5.2 2

( 1)( 1)
2( 2) 1
( 2)( 2)





2 3
3 3
5 1

,



(3)(5)
1
2 8

( 1)
6/
6/ 3 6
2 2
( ) 2( )( ) ( ) , - , - , . , .
.16
15(32 )

1
35

0

3
1 2 1
, 7 , 7
7

1Ax
-x

1Ae
(pasar de
o
C a
o
F)
Lscrtura de ^1gortmos,rogramas
n ulgorlLmo consLuru de dos comonenLes:
nu cubeceru de rogrumu
8loque de ulgorlLmos
1uo
Ll flu|o de un rogrumu es el orden en cuul se e|ecuLun lus
lnsLrucclones
NormulmenLe el flu|o es secuenclul
LxlsLen dos esLrucLurus que cumblun el flu|o:
LsLrucLurus condlclonules: un bloque solo se e|ecuLu bu|o clerLus
condlclones
LsLrucLurus de reeLlclon: un mlsmo bloque se e|ecuLu
reeLldumenLe
1nstruccones condcona1es
- si.fin_si
- si sino fin_si
- si sino si .. fin_si
- Segn sea
structura condicional Simple.
lnLuxls: si (<expresin-boolean>) entonces
<bloque-o-instruccion>
fin_si
expresin-boolean
bloque-o-instruccion
ttoe fSlse
1nstruccon ondicional doble
lnLuxls: Si (<expresin-boolean>) ntonces
<bloque-o-instruccion1>
sino
<bloque-o-instruccion2>
fin_si
bloque-o-instruccion2
expresin-boolean
bloque-o-instruccion1
ttoe
fSlse
si (<expresin-boolean1>) entonces
<bloque-o-instruccin1>
sino
si (<expresin-boolean2>) entonces
<bloque-o-instruccin2>
sino
si (<expresin-boolean2>) entonces
<bloque-o-instruccin2>
sino
....
fin_si
fin_si
fin_si
Lstructura ondcona1 andada
1nstruccon Segn sea
Segn sea (<selector>)
caso <etiqueta
1
>:
<bloque
1
>
caso <etiqueta
2
>:
<bloque
2
>
caso <etiqueta
n
>:
<bloque
n
>
sino: // opcional
<bloque>
Fin segun

Repeticin
A menudo queremos ejecutar una misma operacin
mas que una vez
Ejemplos:
Escribir Hola Nundo! en la pantalla 10 o 100 o 1000 veces
Escribir todas las letras del abecedario en la pantalla
Sumar los gastos anuales del Ayuntamiento de Barcelona
En cada caso, podemos escribir las instrucciones
individualmente en secuencia (muy ineficaz)
En cambio podemos usar bucles (estructuras de
repeticin)
Estructuras de repeticin
ientras
Hacer ientras
Desde hasta

Bucle ientras
a condicin (expresin boolean) de un hile sirve
para determinar cuando el bucle se debe terminar
Si la condicin siempre esta true, el bucle hile
nunca termina!
En consecuencia, algo en la condicin tiene que
cambiar
Cada bucle necesita una variable de bucle que
aparece en la condicin y cuyo valor cambia
Hay que inicializar el valor de la variable de bucle y
actualizar su valor dentro del bucle
Bucle ientras
Sintaxis: ientras(<expresin-boolean>)
<bloque-o-instruccin>
Fin ientras
expresin-boolean
bloque-o-instruccin
true false
,
Bucle Hacer ientras
a nica diferencia entre un bucle hile y un bucle
do-hile es que el bloque del do-hile siempre
se ejecuta por lo menos una vez
a condicin se prueba al final del bucle
Siempre se puede convertir en un hile, pero hay
casos cuando el do-hile es mas compacto
Bucle Hacer ientras
Sintaxis: Hacer
<bloque-o-instruccin>
ientras (<expresin-boolean>);
expresin-boolean
true
false
bloque-o-instruccin
ucle Desde Hasta
Sintaxis:
Desde <inicializacin> hasta <valor final> Incremento
<bloque-o-instruccin>
Fin Desde
Desde <inicializacin> hasta <valor final>
Incremento
<bloque-o-instruccin>

ucle Desde Hasta


Siempre equivalente a un bucle hile
Como en el caso de do-hile, muchas veces un
bucle for es mas compacto que un hile

Potrebbero piacerti anche