Sei sulla pagina 1di 3

Alternativas mltiples o con varias condiciones

Es muy probable que tengamos la necesidad de incluir en nuestros programas


alternativas con muchas opciones posibles.

variableOpciones= un valor a elegir, por ejemplo desde el teclado o desde una


ventana que marque el usuario;

if (variableOpciones=0) {lo que corresponda};


if (variableOpciones=1) {lo que corresponda};
if (variableOpciones=2) {lo que corresponda};

Podemos poner tantas if como queramos.

Tambin existe la posibilidad de que deban de cumplirse dos condiciones a la vez:

if (condicin1 && condicin2) {Se cumple esto}

Tambin con else:

if (condicin1 && condicin2) {Se cumple esto} else {se cumple esto otro}

Los smbolos && significan "y", es decir si se cumple la condicin1 y la


condicin2 a la vez (las dos).

Otro caso sera si se cumple una cualquiera de las dos condiciones:

if (condicin1 | condicin2) {Se cumple esto}

Como ves es el smbolo | (barra recta vertical del teclado = AltGr + 1)

Intenta hacer los siguientes ejercicios:

Sobre estructuras secuenciales

1. Escribid un algoritmo o pseudocdigo que calcule el rea de un tringulo o de un


rectngulo.

2. Escribid un algoritmo o pseudocdigo que calcule el precio de un artculo tras


aplicarle un 16% de IVA.

Sobre estructuras selectivas

3. Disead un esquema de men de opciones, por ejemplo, un men para seleccionar un


libro a leer de entre 3 disponibles.

4. Escribid un algoritmo que lea tres nmeros e imprima por pantalla el mayor de
ellos.

Estructuras Repetitivas o Bucles DESDE o "FOR".

Estas estructuras son instrucciones que se repiten formando un bucle (algo que se
repite una y otra vez).

A la variable que "lleva" la cuenta de las veces que el bucle se ha ejecutado, se


le he llamado variable contador.
La estructuras FOR tienen la peculiaridad, que la variable contador esta dentro
del bucle y no hace falta asignarle el valor (ni definirla) fuera del bucle, y
adems, al llegar el programa al bucle siempre se realizarn las instrucciones que
hay dentro del bucle, una cantidad de veces que nosotros fijemos.
Hay varias, pero esta que explicamos es la ms utilizada.

Vamos a suponer que estamos pensando en un programa que deba REPETIR algunas veces
una accin.

Un ejemplo ms concreto. El ordenador se ha portado mal, y como castigo, le vamos


a hacer imprimir por pantalla 3000 veces la frase "Prometo ser bueno".

Cmo lo hacemos? Escribimos 3000 veces la instruccin pertinente?

Se supone que el castigo es para la mquina, no para uno mismo!

Veamos como sera el pseudocdigo:

inicio

Inicio Bucle Desde


desde i=1 hasta i<=3.000

i=i+1;
Escribir 'Prometo ser bueno';

fin desde;
fin

Como vemos la variable i (llamada contador) no se define antes del bucle. al


entrar en el bucle i valdr 1 (toma el valor inicial que le pongamos en el primer
igual, en nuestro caso i= 1. Despus le decimos hasta que valor de i se repetir
el bucle, en nuestro caso hasta que i valga menos o igual a 3000. Posteriormente
ponemos cuanto aumenta la variable, en nuestro caso aadimos 1 al valor de la
variable i; i = i + 1. Al final ponemos las rdenes que queramos que haga el
programa cada vez que haga el bucle; en nuestro caso escribir en pantalla "Prometo
ser bueno".

Como ves la primera vez que entra el programa en el bucle i vale 1, despus i vale
2 (se le suma 1) y despus escribe la fase. Antes de salir del bucle vuelve a
evaluar la condicin para ver si la sigue cumpliendo, si es as vuelve hacer el
bucle entero. Es as? Pues claro porque i=2 sigue siendo menor de 3000.

Pero ojo la segunda vez que hace el bucle i tomar el valor de 3, ya que le
sumar 1 al valor que tena, y recuerda que como ya hizo el bucle una vez ahora i =
i + 1 ser 3; ya que i = 2 +1.

Ves que cada vez que hace una vez el bucle el valor de i aumenta 1. Esto es lo que
se llama "el paso". Podramos hacer el bucle con paso 2 simplemente haciendo i = i
+2.

Bueno siguiendo con el bucle, resulta que este bucle se repetir hasta que i valga
iguala o menor de 3000. Bueno pues en todas esas repeticiones el ordenador
escribir la frase: Prometo ser bueno. Castigo cumplido.

En lenguaje de programacin real las estructuras For se forman:

for ( i = 1 ; i<= 3000 ; i = i + 1)


A veces podrs ver esto:

for ( i = 1 ; i<= 3000 ; i++)

i++ significa lo mismo que i = i +1; es especificar el paso 1 de i pero de otra


forma, nada ms

Recuerda en programacin real se usa la palabra for, y no desde. Y normalmente la


variable en lo bucles for se llama i.

Y si quisiramos poner un paso decreciente? Es decir que el valor de i fuera


disminuyendo cada vez que se repite el bucle. Pues muy sencillo poniendo i = i - 1.

Ejercicio: Programa que escriba los nmeros del 1 al 10 con FOR

Potrebbero piacerti anche