Você está na página 1de 12

Estructura Condicional de alternativa DOBLE

Es de la forma

Si CONDICION entonces
acción 1
acción 2
acción 3
...
acción n
SiNo
acción q1
acción q2
acción q3
...
acción qn
Fin_SI

Donde CONDICION es un TEST que se desea comprobar y las acciones de la 1 hasta la n solo se ejecutan si la CONDICION resulta verdadera.
En caso la CONDICION Resultase falsa se ejecutan las acciones de la q1 a la qn que corresponden al bloque SINO

Ejemplo 1

Cual será el valor impreso o mostrado en pantalla para la variable N


Inicio
A = 20
N= A -2
Si A > 10 entonces
N=N+1
SiNo
N=N-1
fin_si
Escribe N
Fin
Solución
1 paso: A toma el Valor de 20
2 paso: N toma el valor de 18 (o sea 20-2)
3 paso: Nos preguntamos "¿20 es mayor que 10?"
Aquí debe salir una respuesta SI o No (Verdadero o Falso)
obviamente 20 es mayor que 10 la respuesta es SI
entonces todas aquellas acciones o instrucciones que dependan del bloque SI - FIN_SI se ejecutan
la única acción es N = N+1 o sea N+1 es 18+1, entonces el valor de N es 19
de aqui se salta a la instrucción que esta después del FIN_SI
4 paso se escribe en pantalla 19

Ejemplo 2

Cual será el valor impreso o mostrado en pantalla para la variable N


Inicio
A = 20
N= A -2
Si A < 10 entonces
N=N+1
SiNo
N=N-1
fin_si
Escribe N
Fin

Solución
1 paso: A toma el Valor de 20
2 paso: N toma el valor de 18 (o sea 20-2)
3 paso: Nos preguntamos "¿20 es menor que 10?"
Aquí debe salir una respuesta SI o No (Verdadero o Falso)
obviamente 20 es mayor que 10 la respuesta es NO
entonces todas aquellas acciones o instrucciones que dependan del bloque SINO se ejecutan
la única acción es N = N-1 o sea N-1 es 18-1, entonces el valor de N es 17
de aquí se salta a la instrucción que esta después del FIN_SI
4 paso se escribe en pantalla 17

Recuerde

Si Condicion entonces
....
Se ejecutan por ser VERDAD la Condición
....
Sino
....
Se ejecutan por ser FALSA la Condición
....
Fin_SI

7 - Condiciones Repetitivas (2: Repetir-Hasta)


Es también muy frecuente que un bloque de programa que quizá se repita, deba ejecutarse al menos una vez.
Por ejemplo, si queremos pedir un dato al usuario, quizá exista algún error y haya que insistir, pero al menos
deberemos pedírselo una primera vez.

En estos casos, la estructura "mientras" no es la más adecuada: no podemos comprobar la condición al


principio, sino después de haber pedir el valor. En estos casos (que son muy frecuentes), sería más razonable
usar otra estructura de programación en la que la condición se compruebe después de dar ciertos pasos. Esa
estructura es "repetir... hasta":

Su representación en un diagrama de flujo sería:


Y en el caso de PseInt, ese icono generaría un esqueleto de programa como éste:
Por ejemplo, un programa que pida al usuario una clave de acceso, y que no le permita seguir hasta que la
introduzca correctamente, se podría hacer así:

Proceso Repetir01
Repetir
Escribir "Dime tu clave de acceso";
Leer clave;
Si clave <> 1234 Entonces
Escribir "Clave incorrecta";
FinSi
Hasta Que clave=1234
Escribir "Bienvenido!";
FinProceso

Cuyo resultado sería:


Queda otra forma de repetir fragmentos de programa. Pronto estaremos con ella...

8 - Repetir Un Cierto Número De Veces: Para


En muchas ocasiones, no querremos que algo se repita mientras se cumpla una condición, sino un cierto
número de veces. Por ejemplo, para escribir "Hola" 3 veces en pantalla existe una orden más cómoda que la
orden "mientras" o la orden "repetir... hasta". Es la orden "para", que hace que una variable tome una serie de
valores que se van incrementando. Por ejemplo, una estructura como "para x con valores desde 2 hasta 4" haría
que un bloque de programa se repitiera 3 veces. En la primera repetición, la variable "x" tendría el valor 2, en la
segunda tendría el valor 3 y en la tercera tendría el valor 4. La sintaxis exacta en PseInt es: "
Para variable <- valorInicial Hasta valorFinal Hacer"
Su representación en un diagrama de flujo sería:

Y en el caso de PseInt, ese icono generaría un esqueleto de programa como éste:


Por ejemplo, un programa que mostrara los números del 1 al 10, podría ser:
Proceso Para01
Para x <- 1 Hasta 10 Hacer
Escribir x;
FinPara
FinProceso

Cuyo resultado sería:


Si no queremos avanzar de uno en uno, sino con un incremento distinto, podemos indicar otro tamaño de
"paso":

Proceso Para02
Para x <- 10 Hasta 20 Con Paso 2 Hacer
Escribir x;
FinPara
FinProceso

Y obtendríamos:
Hemos visto casi todas las construcciones que podremos encontrar en los lenguajes de programación
convencionales (y, por tanto, al planificarlos usando pseudocódigo). En la próxima entrega veremos alguna otra
posibilidad, como el manejo de matrices y las funciones matemáticas, para pasar después a algunos ejemplos
completos.

Você também pode gostar