Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lenguaje de programacin I
Tarea 3
1. Instrucciones estructuradas.
Para escribir programas que traten problemas ms arduos es necesario combinar las
acciones primitivas (bsicas) para producir otras acciones ms complejas. Este tipo de
acciones combinadas se componen a partir de otras, ms sencillas, mediante tres
mtodos fundamentales: la Secuencia o Composicin, la Seleccin y la Repeticin. Estos
tres mtodos se describen informalmente como sigue:
-
2. Instrucciones de seleccin.
2.1.
La instruccin if-then-else.
Esta instruccin es el equivalente en Pascal a una expresin condicional del tipo Si
apruebo entonces ir de vacaciones y si no tendr que estudiar en verano, con la cual se
indica que dependiendo del cumplimiento o no de una condicin se har una cosa u otra.
En Pascal, la instruccin if-then-else (en adelante, If) es la ms importante instruccin
de seleccin.
1 Hay que advertir que, si bien en ingls se prefiere el uso de otherwise al de else, aqul
resulta ciertamente ms propenso a ser escrito incorrectamente.
A efectos de la colocacin de los puntos y comas debe tenerse en cuenta que toda la
construccin if-then-else corresponde a una sola instruccin, y no es una composicin
de las instrucciones if, then y else; en particular, la aparicin de un punto y coma justo
antes de un then o de un else dar como resultado un error sintctico.
Una particularidad de esta instruccin es que la rama else es opcional; en caso de no ser
incluida se ha de interpretar que cuando la expresin booleana resulta ser falsa entonces
no se realiza ninguna accin. Por esta razn, la forma if-then es til como sentencia para
controlar excepciones que pudieran afectar el procesamiento posterior. Por ejemplo, en el
siguiente fragmento de programa se muestra el uso de la forma if-then como sentencia
de control.
El programa asigna a la variable feb el nmero de das del mes febrero, en general este
nmero es 28 salvo para aos bisiestos.2
Si, por el contrario, se desea forzar esa construccin de modo que sea interpretada en
contra del convenio, entonces se puede usar un par begin-end para aislar la instruccin
if anidada del siguiente modo:
Otro modo de lograr la misma interpretacin consiste en aadir la rama else con una
instruccin vaca, esta es:
Interpretando errneamente que la rama else est ligada con el primer if. Como
consecuencia, obtendra un programa sintcticamente correcto que arrojara resultados
imprevisibles debido a la interpretacin incorrecta, por parte del programador, del
anidamiento de instrucciones if. La solucin del problema reside en forzar la
interpretacin del anidamiento para que el compilador entienda lo que el programador
tena en mente, esto sera escribir:
Con frecuencia, aunque no siempre, puede evitarse el anidamiento para elegir entre ms
de dos opciones, pues para ello se dispone de la instruccin de seleccin mltiple case,
que permite elegir entre un nmero arbitrario de opciones con una sintaxis mucho ms
clara que la que se obtiene al anidar instrucciones if.
Referencias
Pareja Flores, C., Ojeda Aciego, M., Quesada, A., ngel, & Rossi Jimnez, C. (s.f.). Algoritmos y
programacin en Pascal.