Sunteți pe pagina 1din 44

UNIVERSIDAD FACULTAD DE INGENIERÍA INFORMÁTICA

SAN IGNACIO Coordinadora del Curso

DE LOYOLA
Mg. Beatriz Zakimi – pr.bzakimi@u.sil.edu.pe

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

La Universidad que forma empresarios Ing. Luis Pinedo – pr.lpinedo@u.sil.edu.pe

Pseudocódigo

oLoop básico

1
Agenda

Pse udocó digo


Expresiones
Entrada/Salida
Asignación
Decisión
Iteración
Contadores y Acumuladores
Arreglos
Comentarios
Recomendaciones
Estándar

2
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.

Usa remos o Loop que es u n pse udocó digo


orie nta do obje tos y e ve ntos
3
Notación
La s palabras/ símbolos subrayados ( en
azul) se esc riben tal cual
Ejemplo: leer ( variable )
Se deberá escribir leer ( …..)

La s cat egorí as si ntácticas (en negro)


serán reem plaz adas según neces ari o
Ejemplo: leer ( variable )
Se deberá escribir leer (nombreVariable)

| indic a alt ernativas par a escoger u na


Ejemplo {O | Y}
Se debe escoger O ó Y

4
Notación

[ ] indic an op cionalidad
Ejemplo a [ b]
Puede ser a ó a b

{ } indican a grupam ien to de alternat iv as


o repet ición 0 ó m as veces
Agrupamiento de alternativas
{O | Y}
Cero o mas repeticiones
variable {, variable}
Puede ser nvar
nvar, nvar1
nvar, nvar1, nvar2

5
Expresiones Aritméticas

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:
/ , * (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

6
Expresiones Lógicas

El res ultado de una ex pres ió n lógica es


el valor verdadero o f also
Tiene la siguient e fo rm a:
expresion {= | <> | < | <= | > | >=} expresion [ { O | Y}
expresion ]
Ejemplos:
A= 5
C > B
(A = 5 ) O ( C > B )
(A <> 5 ) Y (C < B)

7
Sentencias de Entrada/Salida
leer ( variable )
escribir ( Identificador | Expresión )

Ejemplos:
Leer ( a )
Leer ( c, d )
Escribir ( x )
Escribir ( ‘Valor ‘, resul )

8
Asignación

Identificador  Expresión
Se le e identificador recibe expresión

Ejemplos:
x← z*u
fin ← (i > j) y (i <= 100)
i ← tangente(x) * m

9
Decisión Simple: Si

Una ins trucc ión condici on al (de cisi ón)


es a quella qu e p erm ite pregun tar sobre
el e ntorn o q ue n os rodea y según la
respue sta to mar una deci sión, es de cir
rea lizar algun a acci ón d e en tre d os
alte rnativas.

10
Si

Por ejem plo, sup onga que Webstar está


subiend o las esc aleras de la Torre
Eiffel y debem os indic arle que al llega r
al e scalón 200 ll egó a la m eta:
Si estás en el escalón 200 entonces no continúes
subiendo, sino continúa tu ascenso

11
Si

Ahora W ebster tam bién e ntiende las


siguiente s ins trucc iones:
Parar se detiene y se coloca en posición de descanso
Escalon es una variable que cuenta los escalones
que Webster sube

12
Si

Si es calon = 200
En tonces P arar
Sino levanta PieIzquierd o
levan taP ieDerecho
Fin si

13
Si
si ExpresiónBooleana
entonces
Secuencia de “n” acciones
[ sino
Secuencia de “m” acciones ]
fsi

14
Ejemplo: Si

Ejem plo :
Si x = 20
En tonces a ← a+1
Sino a ← a-1
fsi

15
Si

Supong am os qu e We bs ter est á en una


plat aform a d e do s posi ciones: 1 a la
de rec ha y 2 a la iz quierda.
Deseam os que si W ebster está e n la
po sici ón 1 se mue va a la posi ción 2 y si
está en la po sici ón 2 que se mue va a la
po sici ón 1.

16
Si

Nue vas instrucciones qu e We bs ter


en tiende
MoverDer Webster se moverá una posición a la
derecha
MoverIzq Webster se moverá una posición a la
izquierda
Posicion nos indica en que posición está Webster
BloqueEncima Webster mira arriba y ve el nombre
del bloque que está encima
CogerBloque Webster cogerá un bloque

17
Si

Si posic ion = 1
En tonces
MoverI zq
Sino
MoverDe r
Fin si

18
Si

Ahora W ebster es tá en u na plat af orm a


de tres p os iciones (1, 2 y 3) y e nc im a
de una estas po siciones de be ha ber u n
bloq ue de nom bre A (e n las ot ras
po sici on es habrá un bloqu e con o tro
no mbre).
Querem os que Webster, p artiendo de la
po sici ón 1, recorra las po siciones
mirand o el bloque que s e encuen tra en
él. Si es el bloqu e A de berá cog erl o.
19
Si

Si B loqueEncim a = ‘A’
Ento nce s Co gerBloque
Sino Move rDer
Si Bl oqueEnci ma = ‘ A’
Entonce s C ogerBloque
Sino Mo ve rDer
Co gerBlo que
Fi n si
Fi n si
20
Si

Si Bloque Encim a <> ‘A’


En tonces M overDe r
Si Bloq ueEn cim a <> ‘A’
Enton ces MoverDer
Fin si
Fin si
Coge rBloque

21
Decisión Múltiple: Caso

caso Expresión vale


Alternativa1:
Secuencia de “n” acciones
Alternativa2:
Secuencia de “m” acciones
...
[ otro:
Secuencia de “x” acciones ]
fcaso

22
Ejemplo: Caso
Ca so Di a Vale :
1: Mostra r (‘Lunes’ )
2: Mostra r (‘Ma rte s’ )
3: Mostra r (‘Mi erco les’ )
4: Mostra r (‘Ju eve s’ )
5: Mostra r (‘Vie rn es’ )
6: Mostra r (‘Sábado’)
7: Mo st rar (‘Do mingo’)
fcaso

23
Ejemplo: Caso
Caso Dia Va le :
1: Most rar (‘Lunes’ )
2: Most rar (‘Ma rtes’)
3: Most rar (‘Mi erco le s’)
4: Most rar (‘Ju eve s’ )
5: Most rar (‘Viernes’ )
6: Most rar (‘Sábado’)
7: Mo st rar (‘ Do mi ngo’)
otro: Mo st rar (‘Erro r’)
fca so

24
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, esto só lo e s
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.
25
Iteraciones

Supong a qu e deseam os que Webste r se


de splace h as ta la te rcera posic ión de la
plat aform a
Mient ras Po sic io n <> 3
Hacer
MoverDer
Fin m ien tras

26
Iteraciones

¿Q ué sucederí a en este cas o?


Mient ras Po sic io n > 1
Hacer
MoverDer
Fin m ien tras

27
Iteraciones

Supong a ah ora qu e We bs ter es tá en


un a plat afor ma a mpli ada d e 5
po sici on es y que no sabem os e n que
po sici ón está.
Deseam os que Webster recorra d es de
la p os ición 1 bu scando el bloq ue A p ara
cogerlo

28
Iteraciones

Mi entras Posici on <> 1


Ha cer Mo ve rIzq
Fi n M ie ntras
Mi entras Posici on <> 5
Ha cer Si Blo queEnci ma = ‘ A’
entonce s C ogerBloque
Fin si
Mo ve rDer
Fi n M ie ntras
29
Iteraciones: Mientras

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

30
Ejemplo: Mientras

Num Alu ← 0
Mient ras Num Alu <= 20
Hacer
Calcular_P rom edio
Num Alu ← Num Alu + 1
fm ientras

31
Iteraciones: Para

para VariableControl desde


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

32
Ejemplo: Para

Ejemp lo:
Para I de 1 a 3 0 inc 1
Hace r
CalcularP rom edio
fpara

33
Iteraciones: Repetir

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

34
Iteraciones: Repetir

Num Alu ← 0
Repet ir
CalcularProm edio
Num Alu ← Num Alu + 1
Hasta Num Alu = 20
frep etir

35
Contadores

Son va riables q ue, co mo su nombre i ndica


si rve n para l leva r la cu enta de o se us an para
co ntar . G eneralme nte e l incr ement o es d e 1.
Es im portante a si gnarle un va lor i nicia l, q ue
genera lme nte e s 0.
Contador ← Contador + 1
Se in terpre ta como C ontador reci be su va lor
anterior i ncr ementa do en 1.
En algu nos ca so s el incr emento puede s er
diferente d e 1 e i ncl usiv e podría se r negati vo

36
Ejemplo: Contadores

Ejemp lo: C onta r el núme ro d e alumn os.


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

37
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 inte rpreta co mo A CC recibe su valo r a nterior
incr ement ado 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 38
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 var iable Sum a n o t iene valor in icial 0 en to nc es
¿Cu án to va le Su ma en la e jec uc ión de l p rim er
co man do que Su ma?

39
Acumuladores

En cie rtos p roblemas se requiere n


acu mula dore s q ue u se n la opera ció n de
mult iplic ac ió n su bsti tuye ndo a l a suma
Por ejemp lo: h allar el p ro ducto de l os ci nco
prim eros núme ro s n aturales.
En este ca so n ece si tamo s un ac um ulador que
acu mule p roduct os.
Podemo s usa r u n acu mu lador pero co n l a
sa lve dad de d arle un va lo r in ici al 1 para
obtener un p ro ducto co rre cto .
¿C uál se ría el res ul tado si lo i nici ali za mos
co n 0?
40
Acumuladores

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


na tu ra les
Pro d ← 1
Pa ra I de 1 a 5 inc 1
Hac er
Pro d ← Pro d * I
fpa ra
Mos tra r Pro d

41
Arreglos

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

Re fere ncia a Arr eglos


IdentificadorArreglo [ Indice {, Índice} ]
Ín dice
ExpresiónAritmética {, ExpresiónAritmética }

42
Ejemplo: Arreglos

Se d ecl ara :
Arreglo Lista Dimension 1:20 contiene Enteros
Se usa :
Lista [ I ]  20;
Valor  Lista [ 3 ]
Mostrar (Lista [ 3+MM ])

43
Comentarios

// t ex to

Ejemplo:

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

44

S-ar putea să vă placă și