DMarlon Studio

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.

Pascal · if, then y else en DMarlon Studio: el código del ejemplo y su salida en la terminal

`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 ... then ejecuta una orden si la condición se cumple.
  • Varias órdenes van entre begin y end.
  • Nunca ponga punto y coma justo antes de else.
  • else if comprueba 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.