Bueno, por ultimo, vamos a ver como usar esta estructura, que nos permite realizar diferentes acciones dependiendo de n cantidad de casos, y se llama: SegunHacer :). Funciona asi: generalmente, se le presenta al usuario un menu de opciones, del cual debera elegir la opcion 1, 2, 3...n. Y Segun que opcion elija, realizara el caso correspondiente, si elige 1, realizara las sentencias de la opcion 1, y asi con todos... Veamos el ejemplo:
Proceso seleccione
Escribir "1. opcion 1, 2. opcion 2, 3. opcion 3"; //Este sera el menu
Leer opc; //aca guarda la opcion que elija
Segun(opc)Hacer //comienza el Segun
opc 1: //si elige opcion 1
//sentencias opcion 1
opc 2: //si elige opcion 2
//sentencias opcion 2
opc 3: //si elige opcion 3
//sentencias opcion 3
De Otro Modo:
//sentencias en caso de que no elija ninguna de las opciones
FinSegun
Me pongo a ver y no hay mucho que explicar, lo que les podria decir es que esta estructura les va a ser realmente util cuando sepamos usar ciclos repetitivos, que es lo siguiente a condicionales/selectivas, pero primero veamos un ejemplo para que no les quede dudas:
Ejercicio: Realizar un algoritmo para un programa que le pida al usuario dos numeros, y luego le muestre un menu con tres opciones: 1. sumar los dos numeros, 2. restar los dos numeros, 3. multiplicarlos, y que por cada caso (obvio) muestre el resultado.
Proceso operar_segun
Escribir "Ingrese los dos numeros";
Leer num1; //Supongamos que aca ingresa 5
Leer num2; //Supongamos que aca tambien ingresa 5
Escribir "Seleccione opcion: 1. Sumar, 2. Restar, 3. Multiplicar"; //Menu
Leer opc; //Lee la opcion que elija el usuario
Segun (opc) Hacer //Segun que opcion elija, hacer lo siguiente:
opc 1: //Si elije la opcion 1
res<-num1+num2; //Realiza la suma (5+5) y la guarda en la variable res
Escribir "Resultado: ",res; //Muestra el texto: Resultado 10
opc 2: //Si elije la opcion 2
res<-num1-num2; //Realiza la resta (5-5) y la guarda en res
Escribir "Resultado: ",res; //Muestra: Resultado 0
opc 3: //Si elije la opcion 3
res<-num1*num2; //Realiza la multiplicacion (5*5) y la guarda en res
Escribir "Resultado: ",res; //Muestra: Resultado 25
De Otro Modo: //Si el usuario ingresara una opcion diferente a 1, a 2 o a 3
Escribir "Error, opcion incorrecta"; //Muestra: Error, opcion incorrecta
FinSegun //Importante marcar el fin del segun
FinProceso //Fin del programa
Que mas agregar? la cantidad de opciones que puede tener un segun son 257, suficientes jeje, esto no quiere decir que el numero de opcion tenga como limite 257, ejemplo:
Segun(opc)Hacer
opc 4:
//sentencias
opc 598:
//sentencias
opc 23:
//sentencias
FinSegun
Como veran, en este ejemplo no puse el De Otro Modo:, por que este caso no es indispensable para el Segun, solo lo ponemos si queremos. Algo que tambien deben saber, es que no puede haber dos casos con el mismo valor, por obvias razones -_-
Entonces tenemos que el Segun:
Puede tener hasta 257 casos distintos.
No puede haber dos casos con el mismo valor.
Solo admite variables enteras.
Puede contener opciones sin sentencias.
Ejercicios de lo que vimos hasta ahora:
Ejercicios Nivel 2
Bueno, creo que esto es todo, si me olvido de algo despues agregare, cualquier cosa comenten :) Para la proxima un par de ejercicios con todo lo que explique hasta ahora, Saludos!!
No hay comentarios:
Publicar un comentario