UNIVERSIDAD SAN IGNACIO DE LOYOLA

La Universidad que forma empresarios

FACULTAD DE INGENIERÍA INFORMÁTICA
Coordinadora del Curso
Mg. Beatriz Zakimi – pr.bzakimi@u.sil.edu.pe

Profesores
Mg. Beatriz Zakimi – pr.bzakimi@u.sil.edu.pe 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 ( azul) se esc riben tal cual
Ejemplo: leer ( variable ) Se deberá escribir leer ( …..)

en

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
Ejemplo {O | Y} Se debe escoger O ó Y

a escoger u na

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 Sino a fsi

a ← a+1 ← a-1

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 en tiende e We bs ter

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 Ín dice

IdentificadorArreglo [ Indice {, Índice} ]

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

Sign up to vote on this title
UsefulNot useful