Está en la página 1de 12

ESTRUCTURAS DE CONTROL II

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


TEMARIO

 SWITCH CASE
 FOR
 WHILE
 DO – WHILE
 Recursiones

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


ALTERNATIVA MULTIPLE SWITCH / CASE

 En la vida real, una variable puede tomar mas de dos valores, y por cada valor que tome debemos tomar un curso
de acción de apropiados. Por ejemplo, si mi sueldo es 1000 soles, comprar una canasta, si mi sueldo es de 2 000
soles comprar una bicicleta, si mi sueldo es de 3 000 soles comprar un juego, etc.
SWITCH (nombre_variable) CASE
 VALOR_1: accion 1
 VALOR_2: accion 2
 ….
 VALOR_N: accion_N
 OTHERWISE: accion_other
END_SWITCH

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


EJERCICIO
Se desea convertir las calificaciones alfabéticas A, B, C, D, E y F a calificaciones numéricas 4, 5, 6, 7, 8 y 9 respectivamente.
PROCEDURE CONVERTIR_LETRA_A_NUMERO
CHAR LETRA
READ (LETRA)
SWITCH (LETRA) CASE
‘A’: WRITE (4)
‘B’: WRITE (5)
‘C’: WRITE (6)
‘D’: WRITE (7)
‘E’: WRITE (8)
‘F’: WRITE (9)
OTHERWISE: WRITE (“Has ingresado una opción no valida”)
END_SWITCH
END_PROCEDURE
Leída una fecha, decir el día de la semana, suponiendo que el día 1 de dicho mes fue lunes.

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


OTRA FORMA DEL SWITCH

Condicionales anidadas.
IF (A > 10) THEN
ELSE IF (A == 11) THEN
ELSE IF (A >=12 AND A < 100) THEN
END_IF
END_IF
END_IF

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


ESTRUCTURA REPETITIVAS O BUCLES

BUCLE, es la sección de código fuente que se repite, cada repetición se le conoce como una iteración o una pasada a
través del bucle.
 WHILE
 DO / WHILE
 FOR

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


WHILE O MIENTRAS

La condición de salida del bucle se realiza al principio del bucle. Cuando se ejecuta esta instrucción, lo primero que
se ejecuta es la condicional o expresión booleana. Si es FALSO, se termina el bucle, si es VERDADERO, entonces se
ejecuta el cuerpo del bucle.

NUMBER target  0
WHILE ( target <= 100 ) DO
target  target + 20
END_WHILE
WRITE(target)

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


EJERCICIO

Deme la suma de los 10 primeros números enteros positivos.


PROCEDURE SUMAR_ENTEROS
NUMBER it, suma
it1
WHILE (it <= 10 ) DO
suma  suma + it
END_WHILE
WRITE (“La suma es: ” suma)
END

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


DO / WHILE O REPETIR HASTA QUE

La condición de salida se realiza al final del bucle, el bucle se ejecuta hasta que se verifica una cierta condición. Es
decir, que el cuerpo se ejecuta una y otra vez mientras la condición sea verdadera. OBSERVACIÓN el cuerpo del
bucle se ejecuta una vez al menos.

NUMBER target  0
DO
target  target + 20
WHILE( target <= 100)

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


FOR O DESDE / HASTA

La condición de salida se realiza con un Contador que cuenta el numero de iteraciones. Porque se conoce de
antemano el numero de veces que se desea ejecutar las acciones de un bucle.
La estructura FOR comienza con un valor inicial de la variable “índice” y las acciones que se ejecuten

NUMBER target  0
FOR (CONT = 0, CONT < 100, CONT++) DO
target  target + 20
END_FOR

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


SALIDAS INTERNAS DE LOS BUCLES

A veces es necesario dejar de iterar cuando se cumple alguna condición. BREAK


NUMBER target  10
WHILE (true) DO
IF(target == 100) THEN
BREAK
END_IF
target  target * 10
END_WHILE

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM


EJERCICIO

Que imprime el siguiente Pseudocódigo


PROCEDURE PROGRAMA
NUMBER K  5
NUMBER m  -2
WHILE (m <= K) DO
mm+2
--K
WRITE (m+ K)
END_WHILE
END_PROCEDURE

Facultad de Ingeniería Electrónica y Eléctrica – UNMSM

También podría gustarte