Usa if .. then o if .. then .. else para ejecutar el código correspondiente cuando la condición sea verdadera. A diferencia de los lenguajes estilo C: la expresión condicional en Pascal no necesita paréntesis.
var
A: Integer;
B: boolean;
begin
// Solo una sentencia si se cumple la condición, no hace falta begin end
if A > 0 then
DoSomething;
// Varias sentencias tras la condición, obligatorio envolver con begin end
if A > 0 then
begin
DoSomething;
AndDoSomethingMore;
end;
// Estructura if-else de una sola línea
if A > 10 then
DoSomething
else
DoSomethingElse;
// Lógica idéntica al código anterior: guardar el resultado de la comparación en una variable booleana
B := A > 10;
if B then
DoSomething
else
DoSomethingElse;
end;Lenguaje del código: JavaScript (javascript)
Regla de vinculación del else
El else se asocia al if más cercano sin else asignado. El código siguiente funciona como se espera:
if A <> 0 then
if B <> 0 then
AIsNonzeroAndBToo
else
AIsNonzeroButBIsZero;Lenguaje del código: HTML, XML (xml)
Este else pertenece al if interno if B <> 0.
Los if anidados sin bloque son sintácticamente válidos pero difíciles de leer. Se recomienda envolver toda la lógica anidada con begin … end para delimitar claramente los bloques lógicos; incluso con una indentación desordenada, se distinguen fácilmente los ámbitos y se evitan errores al añadir o quitar ramas.
Forma estándar optimizada:
if A <> 0 then
begin
if B <> 0 then
AIsNonzeroAndBToo
else
AIsNonzeroButBIsZero;
end;Lenguaje del código: HTML, XML (xml)
- No hay paréntesis alrededor de la condición del if (obligatorios en C/C++/Java, lo opuesto en Pascal) ;
- Se puede omitir
begin endsi solo hay una línea después de then; imprescindible para varias líneas ; - El
elsese empareja con el if interno más cercano; usa siempre bloques en estructuras anidadas para eliminar ambigüedad ; - Las expresiones de comparación (ej:
A>10) se pueden asignar directamente a variables booleanas.
A continuación un ejemplo completo ejecutable: sistema de calificaciones por puntuación
Reglas lógicas:
- ≥90 → A
- ≥80 y <90 → B
- ≥60 y <80 → C
- <60 → D
{$ifdef FPC} {$mode objfpc} {$H+} {$endif}
{$codepage utf8}
program ScoreLevel;
var
score: Integer;
begin
Write('Introduce la nota del examen: ');
ReadLn(score);
if score >= 90 then
Writeln('Calificación: A')
else if score >= 80 then
Writeln('Calificación: B')
else if score >= 60 then
Writeln('Calificación: C')
else
Writeln('Calificación: D');
ReadLn;
end.Lenguaje del código: PHP (php)
Compilar y ejecutar
Introduce la nota del examen: 96
Calificación: A
El programa pide introducir una nota y muestra la calificación correspondiente.
Los caracteres no latinos pueden verse distorsionados, añade esta línea: {$codepage utf8}
También podemos encapsular el cálculo de la calificación en una función.
{$ifdef FPC} {$mode objfpc} {$H+} {$endif}
{$codepage utf8}
program ScoreLevelFunc;
function GetLevel(s: Integer): string;
begin
if s >= 90 then
Result := 'A'
else if s >= 80 then
Result := 'B'
else if s >= 60 then
Result := 'C'
else
Result := 'D';
end;
var
score: Integer;
begin
Write('Tu nota: ');
ReadLn(score);
Writeln('Tu calificación: ', GetLevel(score));
ReadLn;
end.Lenguaje del código: PHP (php)

Juicio condicional if