Vous êtes sur la page 1sur 37

FACULTAD DE INGENIERÍA INFORMÁTICA

UNIVERSIDAD Coordinadora del Curso

SAN IGNACIO Mg. Beatriz Zakimi – pr.bzakimi@u.sil.edu.pe

DE LOYOLA
Profesores
Mg. Beatriz Zakimi – pr.bzakimi@u.sil.edu.pe
Ing. Luis Pinedo – pr.lpinedo@u.sil.edu.pe
La Universidad que forma empresarios Lic. Pablo Romero – pr.promero@u.sil.edu.pe

Algoritmos y Pseudocódigo

Informática I
1
Agenda

Algoritmo s
Pse udo có di go
Asignación
Decisión
Iteración
Contadores y Acumuladores
Arreglos
Comentarios
Recomendaciones

Informática I
2
Algoritmos

Un a lgorit mo e s si mp leme nte u n


pro ce dimi ento fi nito , bien d efinido , paso a
paso , p ara reso lve r un p ro blem a.
Finito: Que tiene final
Bien definido: Significa que cada paso está
completamente definido a partir de la entrada actual
y de los pasos anteriores. NO SE PERMITEN
AMBIGÜEDADES.
Paso a paso: significa que cada paso se completa
antes que el próximo se inicie; es decir, secuencia
finita de acciones o instrucciones.

Informática I
3
Algoritmos

Nue stros algoritm os es tarán orient ados


a la PC, e s deci r no será n ejecuta dos
po r un hum an o sino por un a m áquina
llam ada com put ador a qu e “ ent ien de” y
“sabe” hacer cierta s cosas.
Pri ncipalm en te no tiene con oc im iento
pre vio, es de cir no pue do a sum ir que
sabe algo q ue n o e sté explic it o

Informática I
4
Algoritmos

Ejemplo: Tenem os al robot We bs ter que


entiend e las siguient es instrucc ione s:
levantePieIzquierdo (levanta pie izquierdo y sube un
escalón)
levantePieDerecho (levanta pie derecho y sube un
escalón)

Querem os que Webster suba 1 escal ón,


po r tan to hay qu e instruirlo e n su
“lengua je”
levantePieIzquierdo
levantePieDerecho
Informática I
5
Algoritmos

Si deseo q ue W ebster suba 5 esc alon es


levantePieIzquierdo
levantePieDerecho
levantePieIzquierdo
levantePieDerecho
levantePieIzquierdo
levantePieDerecho
levantePieIzquierdo
levantePieDerecho

Informática I
6
Algoritmos

Ejemplo: Si e s un d ía de sol y h ay agu a


en la pis cina, me m eto a la pis cina, si
no iré a ver t elevi sión.
Es un a lgoritm o, po rque siem pre sabrá
qu e ha cer.
Verifique si es un día de sol y hay agua en la piscina
Si se cumple, entrar a la piscina
Si no se cumple, ver televisión

Informática I
7
Algoritmos

Com o plant ear u n a lgoritm o


Entender al 100 % el problema a resolver: léelo detenidamente
hasta saber el objetivo (entendimiento)
Cuando lo hallas entendido, piensa en una solución usando papel
y lápiz (búsqueda de solución)
Cuando tengas la solución escríbela usando algún lenguaje no
ambiguo (pseudocódigo)
Una vez escrito, prueba la solución con varios datos para ver si
está correcta. Intenta escoger datos de diversos tipos tratando
de cubrir todo la gama de posibilidades (verificación y prueba)
Cumplidos satisfactoriamente los pasos anteriores tendrás un
algoritmo correcto.

Informática I
8
Algoritmos

Es im portante p rimero, co nce bir la s ol uci ón


del problema y l uego exp resa rlo en algún
lenguaje n o amb iguo y q ue se a co mprendido
por o tras perso nas.
A princi pio cu alquier le nguaj e no a mb iguo
si rve p ara e xp res ar a lgori tm os
Para el f áci l e ntendimi ento entre va rias
perso nas q ue tra bajan e n co njunto , se t rata
de halla r un lenguaje co mún d e fácil
co mpresi ón.
Informática I
9
Pseudocódigo

Pse udocó digo es u n co njun to de re gla s que


nos permite exp resa r cl aramente un
algorit mo , co mo si se t ratara d e un l enguaje
cu alquiera (idioma ).
Caract erísti ca s:
Reglas de formación de “oraciones” simples, muy claras y
bien definidas.
Cercano al lenguaje natural pero sin ambigüedad.
Más próximo a un lenguaje de programación que al
lenguaje natural.

Informática I
10
Sentencias de Entrada/Salida

leer ( Identificador )
escribir ( Identificador | Expresión
)

Ejemplos:
Leer ( A )
Leer ( C, D )
Escribir ( X )
Informática I
Escribir ( ‘Valor ‘, Resul )
11
Asignación

Identificador  Expresión
Se l ee identificador recibe expresión

Ejemplos:
X← Z*U
Fin ← (I > J) y (I <= 100)
I ← Seno(X) * M

Informática I
12
Expresiones

Las exp resi ones a ri tm éti ca s se u sa n para


rep re se nta r c ál cu los aritmé ti co s
Op era dores má s usa dos: +, - , * , /, **
Prioridad de l os operadore s:
** (potencia)
/ , * (división/multiplicación)
+,- (suma/resta)

Se u sa paréntesi s p ara al terar l a prioridad de l os


operadores
A + B * 5 es diferente a (A + B) * 5
Informática I
13
Expresiones Lógicas
El resultad o de una expresión lógica e s
el valor verdadero o falso
Tiene la siguient e f orm a:
expresion { = , <> , < , <= , > , >= } expresion [{ O / Y}
expresion ...]
Ejemplos:
A= 5
C>B
A= 5 O C >B
A <> 5 Y C < B
Informática I
14
Expresiones Lógicas

Operad ores lógicos


No, Y, O, = , <> , < , <= , > , >=

Pri oridad de los op erado res


**, No
/ , *, Y
+ , -, O
= , <> , < , <= , > , >=

Informática I
15
Decisión Simple: Si

si ExpresiónBooleana
entonces
Secuencia de “n” acciones
[ sino
Secuencia de “m”
acciones ]
fsi Informática I
16
Ejemplo: Si

Ejem plo :
Si X = 20
En tonces A ← A+1
Sino A ← A-1
fsi

Informática I
17
Decisión Múltiple: Caso

caso Expresión vale


Alternativa1:
Secuencia de “n” acciones
Alternativa2 :
Secuencia de “m” acciones
...
[ otro:
Secuencia de “x” acciones ]
Informática I
fcaso
18
Ejemplo: Caso

Ejemp lo:
Ca so Cu an to sCur sos Va le :
1: Le er Cu rs o1
2: Le er Cu rs o1
Lee r Cur so2
3: Le er Cu rs o1
Lee r Cur so2
Le er Curs o3
fca so

Informática I
19
Iteraciones

Exi ste n so luci on es en la s que es n ece sa rio


rep etir un mi smo co nju nto de a cci ones
rep etidas ve ce s.
Con l as accio nes a nteriores est o só lo es
posi ble si reescrib imo s las ac cio nes cu anta s
ve ce s se a n ece sa rio que se e jecu ten, lo q ue
puede se r una t area basta nte te diosa .
Prese ntaremos u n co njunto de ac cio nes
co noci das co n el n ombre de It erativa s, cu ya
finali dad es p ermi tir q ue un dete rminado
co njunto de accio nes se repitan un núme ro
req uerido d e ve ce s Informática I
20
Iteraciones: Mientras

mientras ExpresiónBooleana
hacer
Secuencia de “n” acciones
fmientras

Informática I
21
Ejemplo: Mientras

Ha y_ Alum nos ← Ve rd ade ro ; Nu mAlu ← 0


Mientra s Hay _Al umnos // Ha y_Alu mno s = verd ad er o
Hac er
Si Nu mAl u > 20
En to nc es
Le er No ta _Par cial
Le er No ta _Fina l
Calc ular _P ro me dio
Num Alu ← NumAlu + 1
Sino Ha y_Alu mno s ← Fals o
Fs i
Informática I
fm ien tra s
22
Iteraciones: Para

para VariableControl desde


ValorInicial a ValorFinal
[inc {+ | -} ValorIncremento]
hacer
Secuencia de “n” acciones
fpara

Informática I
23
Ejemplo: Para

Ejemp lo:
Para I de 1 a 30 in c 1
Hace r
Leer C odigo
Escr ibir Cod ig o
fpara

Informática I
24
Iteraciones: Repetir

repetir
Secuencia de “n” acciones
hasta ExpresiónBooleana
frepetir

Informática I
25
Iteraciones: Repetir

Nu mAl u ← 1
Ha yAl umno s ← Fa lso
Re pe tir
Lee r Par cial ; Le er Fi nal
Si NumAlu > 20
En to nces NumAlu ← Nu mAl u +1
Sino Hay Alum nos ← V er da de ro
Fs i
Ha st a Ha yAl umnos // Ha yAl umnos = ver da de ro
fre pe tir
Informática I
26
Contadores

So n var iable s que , com o s u n om bre in dic a sirven


pa ra llev ar la c uent a de o s e u san pa ra co nta r .
Gen er alm ent e el incre men to es de 1 .
Es im po rt ant e asign arle un valor in icial q ue
ge ner alme nte e s 0 .
Contador ← Contador + 1
// se inter pr et a com o Co nt ado r re cibe su valo r an te rior
incre men ta do en 1 .
En a lgun os c aso s e l inc rem ent o pue de s er dif er en te
de 1 e inclus ive po dr ía se r neg at ivo

Informática I
27
Ejemplo: Contadores

Ejemp lo: C onta r el núme ro d e va lores le ídos.


Ver ejemplo de Mientras (diapositiva 19)
La variable NumAlu es un contador.

Informática I
28
Acumuladores
Los acu mu ladores so n co ntadores en do nde e l
incr ement o puede se r cu alq uier va lor y n o
nece sa riame nte es c on st ante.
ACC ← ACC + Edad // se i nterpre ta co mo AC C
rec ib e su v al or a nterior incr eme nta do en E dad
Se u sa para ir acu mu lando v al ore s e n una s ol a
va ria ble.
Por ejemp lo p ara h allar la su ma de los n primeros
núme ro s n at urales, n ece si taremos u na va riable q ue
irá su ma ndo (acu mu la ndo los d iferentes n úm eros)
Co mo cu alq uier co ntador es n ecesario q ue te nga
un va lor i nici al
Informática I
29
Ejemplo: Acumuladores

// su mar lo s 3 0 prime ro s n úm ero s n at ura les


Su ma ← 0
Pa ra I de 1 a 30 inc 1
Hac er
Su ma ← S um a + I
fpa ra
Es cribir Su ma
// si la va riab le Su ma no t ien e v alor inicia l 0 ent on ces
¿Cu án to va le Su ma en la e jec uc ión de l p rim er
co man do Su ma r?

Informática I
30
Acumuladores

En ci erto s problema s se requieren


acu mu ladore s q ue use n l a operaci ón de
mu ltiplica ci ón su bsti tuye ndo a la su ma
Por ejemp lo: hallar el product o de l os cin co
primeros núme ros naturales.
En e st e ca so n ece si tamo s un a cu mula dor q ue
acu mu le product os.
Podemo s usa r un ac um ulador pero co n l a
sa lve dad d e darle un va lor i nici al 1 para
obtener un p ro ducto co rre cto .
¿C uá l se ría e l resu ltado si lo inicia liza mo s
co n 0? Informática I
31
Acumuladores

// ha ll ar el p ro duc to de los 5 pr imer os nú mero s


na tu ra les
Pro d ← 0
Pa ra I de 1 a 5 inc 1
Hac er
Pro d ← Pro d * I
fpa ra
Es cribir Pro d

Informática I
32
Arreglos

De finir:
arreglo IdentificadorArreglo dimension rango { ,rango }
[ contiene IdentificadorClase ]
Ra ngo:
ValorIncial : ValorFinal

Re fere ncia a Arr eglos


IdentificadorArreglo [ Indice ]
In dice
ExpresiónAritmética {, ExpresiónAritmética }

Informática I
33
Ejemplo: Arreglos

Se d efine co mo:
Arreglo Lista Dimension 1:20
Se usa :
Lista [ I ]
Lista [ 3 ]
Lista [ 3+MM ]

Informática I
34
Comentarios

// t ex to

Ejemplo:

// Es te t ext o e s un ejem plo de co men ta rio

Informática I
35
Recomendaciones

Usar in dent ac ión para darle mayor


claridad al algorit mo
Trat e e n lo p os ible de usar un solo
idiom a.
Com bine m ay úsculas y m inúsculas en
el nom br e de los ident ific ad ores
Lo s nom bre s de los ide ntif icado res
de ben ser lo m ás signif ic at ivos po sible.
Informática I
36
Estándar de Nomenclatura

Utili zar no mbr es con m inú sculas , c on las


ex cepc ion es que s e in dica n e n los pu nt os sigu iente s.
Cu an do u n n omb re co ns ta de var ias p alabr as es
ha bitual p one r un a a c ont inuac ión d e o tr a, po nie nd o
con m ayús cula la p rim er a letr a de la pa lab ra q ue
sigue a otra (Ejem plos : e lMayo r, ven ta na Ce rr ab le,
re cta ng uloGra fico, es cuc harM en saje ).
Lo s n ombr es de las con sta nte s, se de fin en sie mp re
con m ayús cula s (E jemplo : PI)

Informática I
37