jueves, 1 de octubre de 2020

SEMANA No.8 - TALLER 5 - SEGÚN - DE OTRO MODO

Comprobando condiciones (Según)



Es frecuente tener que comprobar más de una condición a la vez, o bien varias condiciones consecutivas. En concreto, un caso especialmente habitual es el de que una variable pueda un valor de entre varios. Por ejemplo, en el sistema de notas escolares español clásico, ciertas notas numéricas tienen "nombres" asociados: un 5 es un aprobado, un 9 y un 10 son sobresaliente, etc. Si queremos hacer un programa que convierta de la nota numérica a su equivalente escrito, podríamos emplear varias órdenes IF, una tras la otra. Pero en muchos lenguajes de programación (y por tanto, también en muchas variantes de pseudocódigo) existe una alternativa más compacta y más legible: la orden "SEGUN". Esta órden permite hacer unas cosas u otras según el valor que tome una variable. Su uso sería así:
Segun variable Hacer
  valor1: pasos_a_dar_si_es_el_valor1
  valor2: pasos_a_dar_si_es_el_valor2
  valor3: pasos_a_dar_si_es_el_valor3
De Otro Modo:
  pasos_a_dar_si_es_otro_valor
FinSegun
El bloque "De Otro Modo" es opcional: si detallamos todos los valores posibles, no sería necesario utilizarlo.
El número de valores que podemos probar es indefinido: no tiene por qué ser 3, sino que pueden ser menos casos o muchos más.
Según la variante de pseudocódigo (o el lenguaje de programación) que empleemos, puede haber restricciones en el tipo de datos que es aceptable. Por ejemplo, en el caso de PseInt, la variable tiene que tener un valor numérico, no puede ser un texto.
Al igual que ocurría con la orden SI, existe un símbolo que podemos usar en los diagramas de flujo para ayudarmos a planificar nuestro programa (aunque este símbolo está menos extendido que el de SI):

Así, si en PseInt hacemos clic en el icono del panel derecho que representa la condición SEGUN, aparece un esqueleto de programa casi completo, para que hagamos los cambios que nos interesen:

Sólo tenemos que escribir la condición que realmente nos interesa, y la serie de pasos a dar si se cumple y si no se cumple, de modo que nuestro programa podría quedar así:
Algoritmo EjemploCasos
 Escribir "Introduzca la nota";
 Leer nota;
 Segun nota Hacer
  10:
   Escribir "Ha obtenido un sobresaliente alto";
  9:
   Escribir "Ha obtenido un sobresaliente bajo";
  8:
   Escribir "Ha obtenido un notable alto";
  7:
   Escribir "Ha obtenido un notable bajo";
  6:
   Escribir "Ha obtenido un aprobado alto";
  5:
   Escribir "Ha obtenido un aprobado";
  De Otro Modo:
   Escribir "Ha suspendido";
 FinSegun
FinAlgoritmo
 
Su resultado sería éste:

Pero no siempre habrá que comprobar condiciones una única vez. Es muy frecuente que haya que hacerlo de forma repetitiva. Por ejemplo, "pedir una contraseña al usuario hasta que sea la correcta", o aún más cercano al mundo real, "pedir una contraseña al usuario hasta que sea la correcta o agote sus intentos". De eso hablaremos en la próxima entrega.
 
ACTIVIDAD PRÁCTICA 
Ejercicio 1: Haz un programa que pida un número al usuario un número de día de la semana (del 1 al 7) y escriba el nombre de ese día (por ejemplo, "martes" para el día 2). Debes emplear la orden SEGUN.

Ejercicio 2: Desarrolla un programa que permita ingresando un numero del 0 al 9 mostrar la tabla de multiplacación de dicho numero.
NOTA: Recuerda subir al DRIVE los archivos resultantes de los ejercicios incluyendo el ejemplo (3 en total). 
 PROYECTO:

1. Realiza la prueba de escritorio del algoritmo de modulo I (Retiro) - Esto debes agregarlo a la presentación que ya vienes realizando.
2. Desarrolla en codigo (PseInt) la solución al modulo I (Retiro).
CIBERGRAFÍA: http://www.aprendeaprogramar.com


No hay comentarios:

Publicar un comentario