Lección 6 · 6 de 20
if, then y else · Pascal
Tome decisiones en Pascal con if, then y else: avisos según la temperatura y la nota de un examen, con bloques begin…end y cadenas de else if.

`if` condición `then` orden ejecuta la orden solo si la condición es verdadera. Con temp a 31, temp > 30 se cumple y sale el aviso del calor; temp < 10 no se cumple, y la línea del abrigo no se ejecuta.
Detrás de then (y de else) va una sola orden. Si hacen falta varias, se agrupan entre `begin` y `end`, como las dos líneas del aprobado.
`else` indica qué hacer cuando la condición es falsa. Hay una regla de Pascal que confunde al principio: antes de `else` nunca va punto y coma, porque el ; cerraría el if y el else quedaría suelto. Por eso pone end y no end; justo antes.
Para elegir entre varias opciones se encadena `else if`: las condiciones se miran en orden y solo se ejecuta la primera que se cumple. Con un 6, grade >= 9 y grade >= 7 fallan, grade >= 5 acierta y sale Pass.
Código · main.pas
program main;var temp, grade: Integer;begin temp := 31; // The line after then only runs if the condition is true. if temp > 30 then WriteLn(temp, ' C: it is hot, drink water.'); if temp < 10 then WriteLn('Take a coat.'); // Several statements go between begin and end. // There is never a semicolon just before else. grade := 6; if grade >= 5 then begin WriteLn('Grade ', grade, ': passed.'); WriteLn('See you next year.'); end else WriteLn('Grade ', grade, ': failed.'); // else if checks the conditions in order. if grade >= 9 then WriteLn('Outstanding') else if grade >= 7 then WriteLn('Very good') else if grade >= 5 then WriteLn('Pass') else WriteLn('Fail');end.Salida · fpc main.pas && ./main
31 C: it is hot, drink water. Grade 6: passed. See you next year. Pass
Para recordar
if ... thenejecuta una orden si la condición se cumple.- Varias órdenes van entre
beginyend. - Nunca ponga punto y coma justo antes de
else. else ifcomprueba varias condiciones en orden.
Ejercicio
Junte los dos avisos de temperatura en un solo if ... else if ... else que escriba «Hot» por encima de 30 grados, «Cold» por debajo de 10 y «Mild» en el resto, y pruébelo con temp a 5, 18 y 31.