Learning Machine #7 - Programando en Pascal - Select.

Hola a todos, el día de hoy vamos a continuar con más del aprendizaje del lenguaje de programación Pascal, continuaremos con las instrucción "Select"

Algunas veces debemos de elegir una opción entre un numero finito de ellas, cuando son reducidas o podemos predecirlas, la instrucción "select" nos servirá para llevar esa tarea.

La instrucción "select" en Pascal, tiene la siguiente forma:

	case MiRespuesta of
		Respuesta1:
		Código que se ejecuta por la respuesta1;
		Respuesta2:
		Código que se ejecuta por la respuesta2;
		else
		Código que se ejecuta si ninguna respuesta anterior se cumple;
	end;


Para cada sentencia posible, se pueden usar números o cadenas de texto, es conveniente utilizar solo un tipo, ya que a veces las conversiones de una cadena de texto por ejemplo: "7"; no se puede convertir directamente a 7, entonces si estamos esperando un valor numérico, siempre debemos de usar 7 en la sentencia.
Cada sentencia debe de ir seguida por ":" (dos puntos), cuando terminamos de escribir el código que se ejecutará, pondremos ";" para indicar que es el fin de esa parte.

Supongamos que queremos crear un programa que pase un número a su correspondiente día de la semana de la siguiente forma:


  • 1 -> Domingo.
  • 2 -> Lunes.
  • 3 -> Martes.
  • 4 -> Miércoles.
  • 5 -> Jueves.
  • 6 -> Viernes.
  • 7 -> Sábado.
Usando "Select", lo podemos hacer de la siguiente manera:

program Casos;
uses crt;
var MiRespuesta : integer;
begin
	writeln('ingresa un numero del 1 al 7');
	readln(MiRespuesta);
	case MiRespuesta of
		1:
		writeln('El dia 1 corresponde al domingo');
		2:
		writeln('El dia 2 corresponde al lunes');
		3:
		writeln('El dia 3 corresponde al martes');
		4:
		writeln('El dia 4 corresponde al miercoles');
		5:
		writeln('El dia 5 corresponde al jueves');
		6:
		writeln('El dia 6 corresponde al viernes');
		7:
		writeln('El dia 7 corresponde al sabado');
		else
		writeln('Dia desconocido');
	end;
	readln;
end.

Cómo veras, esta definida una respuesta para cada día de la semana, si el usuario escribe 1, el programa mostrará que ese día corresponde al domingo, en este ejemplo, se hace uso de la conversión implícita, para empezar funciona, pero no en todos los casos se puede convertir un fragmento de texto (que parezca número) a un número.
También hacemos uso de "else", esta, se debe de usar al final de todos los casos y será utilizada cuando ninguno de los casos definidos se cumpla, en el caso del programa anterior, si el usuario introduce un valor fuera del rango 1-7, se mostrará: "Día desconocido".

Y bien, por ahora es todo, en futuros post, veremos cuando es conveniente el uso de "if" y cuando el uso de "case", el ejemplo anterior puede ser hecho usando solo "if" en lugar de "Select".

Los leo luego.

No hay comentarios.