Bueno, anteriormente mostre lo que son las estructuras de entrada y salida de datos y asignaciones, pero, esas son, obvio, las sentencias mas basicas y hay muuchas mas que esa que cumplen con distintas funciones, y si...
Ahora les voy a mostrar las estructuras selectivas. Hay dos tipos, Simples y Multiples. Emepecemos con la simple que es mas facil (.......).
Es facil (......) se trata de la sentencia Si-Entonces, veamos un ejemplo que es facil (....).
Si(condiciones)Entonces //El Entonces indica el incio del si
sentencias
FinSi //El FinSi indica el final del si
Y para que no les quede duda, lean lo siguiente todo seguido:
Si(las condiciones se cumplen)Entonces
pasa esto
FinSiBueno, pero para usar esto debemos primero saber imponer las condiciones. De las sentencias, ya conocemos un par (Escribir, Leer, asignar...). Pero para establecer las condiciones debemos conocer los operadores Relacionales y Lógicos, anteriormente les mostre los Algebraicos, aca les dejo la tablita que viene en el Pseint:
Relacionales
> Mayor estricto que ej: 3>3 (tres es mayor que tres, falso, por que es igual)
< Menor estricto que ej: 3<2 (tres es menor que dos, seria falso y el Si no se cumpliria)
= Igual que ej: 4=3 (cuatro igual a tres, tambien falso)
<= Menor o igual que 4<=8 (cuatro es menor o igual a ocho, verdadero)
>= Mayor o igual que 4>=4 (cuatro es mayor o igual a cuatro, verdadero, por que es igual)
Lógicos
& ó Y Conjunción (y). (7>4) & (2=1) (siete es mayor a cuatro <verdadero> y dos es igual a uno <falso>, falso, no se cumpliria, en el unico caso que se cumple es cuando tanto la primer condicion como la segunda son verdaderas, tambien puede haber mas condiciones: (cond) Y (cond) Y (cond) y funciona tanto con umperside (&) como con la letra Y mayuscula).
| ó O Disyunción (o). (1=1 | 2=1) (esto se cumple si: uno es igual a uno <verd> O dos es igual a uno <falso> entonces, se cumple! ¿por que? por que se lee asi: (se cumple si ocurre esto) O (se cumple si ocurre esto), osea que si se cumple uno de los dos ya es suficiente. En la disyuncion la unica forma de que sea falso es cuando NINGUNA de las condiciones se cumple, tambien se pueden usar varias como el Y)
~ ó NO Negación (no). ~(2<5) (esto seria falso, por que? por que la negacion convierte todo lo verdadero en falso y viceversa, entonces en el ejemplo, dos es menor que cinco <verdadero> pero como esta negado, el resultado es falso)
Algebraicos
De estos, los algebraicos, les mostre la suma(+), resta(-), multiplicacion (*) y division (/), pero hay dos mas que son:
^ Potenciación. 4^2 ( esto es cuatro elevado al cuadrado, primero se pone el numero y despues del signo de potencia(^), el exponente al que queramos elevar el numero)
% ó MOD Módulo. 4%2 (esto devuelve el resto de la división entera, es decir, en el ejemplo, hace cuatro dividido dos, el resto es cero, por que de esa division entera no sobra nada)
Bueno, ahora con estas herramientas, podemos darle las condiciones al Si, aca va un ejemplo:
Si(dat>10)Entonces //si en esta linea del programa, la variable dat es mayor a diez, entonces lee la sentencia
Escribir dat," es mayor a 10"; //que mostraria en pantalla la variable dat, seguida de " es mayor a 10", si dat no es mayor a diez entonces esta linea no la lee.
FinSi //fin del Si.
Bueno, ahora con esto podemos hacer un algoritmo de un programa que le pida al usuario un numero, y que SI ese numero es mayor a 10, muestre " es mayor a 10" y SI es menor a 10 muestre " es menor a 10", seria algo asi:
Proceso mayor_menor //comienzo
Escribir "Ingrese un numero"; //pide ingreso de datos...
Leer num; //guarda el numero en la variable: num
Si (num>10) Entonces //si la variable num es mayor a diez
Escribir num," es mayor a diez"; //suponiendo que el user ingreso 11 muestra: 11 es mayor a 10
FinSi //fin del si
Si (num<10) Entonces //suponiendo que el user ingreso 11, esto seria falso (11 no es menor a 10)
Escribir num," es menor a diez"; //entonces como es falso esta linea no la mostraria
FinSi //fin del si
FinProceso //fin del algoritmo
Eso haria este algoritmo si el usuario ingresara 11, que es un numero mayor a 10, pero si hubiera ingresado 4, por ejemplo, hubiera sido todo alreves, el primer Si hubiera sido falso,(por lo que no mostraria el mensaje) y el segundo verdadero, y ahi si mostraria el mensaje: 4 es menor a 10, en caso de que el usuario ingrese 10, no entraria a ninguno de los dos Si, por que 10 no es menor a 10 ni tampoco es mayor, es igual, si quisieramos que muestre un mensaje " es igual a 10" deberiamos agregar otro Si, con la condicion: (num=10).
Aca el algoritmo en limpio:
Proceso mayor_menor
Escribir "Ingrese un numero";
Leer num;
Si (num>10) Entonces
Escribir num," es mayor a diez";
FinSi
Si (num<10) Entonces
Escribir num," es menor a diez";
FinSi
FinProceso
Fin de la Parte I
No hay comentarios:
Publicar un comentario