Las sentencias condicionales son fundamentales en cualquier lenguaje de programación, ya que permiten tomar decisiones basadas en condiciones específicas. En Delphi/Object Pascal, las sentencias condicionales más comunes son if, case, y else.

  1. Sentencia if

La sentencia if se utiliza para ejecutar un bloque de código solo si una condición es verdadera.

Sintaxis Básica

if condición then
  // código a ejecutar si la condición es verdadera

Ejemplo

var
  edad: Integer;
begin
  edad := 18;
  if edad >= 18 then
    WriteLn('Eres mayor de edad.');
end.

Explicación

  • edad es una variable de tipo Integer.
  • La condición edad >= 18 se evalúa.
  • Si la condición es verdadera, se ejecuta WriteLn('Eres mayor de edad.');.

Sentencia if-else

La sentencia if-else permite ejecutar un bloque de código si la condición es verdadera y otro bloque si es falsa.

if condición then
  // código a ejecutar si la condición es verdadera
else
  // código a ejecutar si la condición es falsa

Ejemplo

var
  edad: Integer;
begin
  edad := 16;
  if edad >= 18 then
    WriteLn('Eres mayor de edad.')
  else
    WriteLn('Eres menor de edad.');
end.

Explicación

  • Si edad es menor que 18, se ejecuta el bloque de código dentro del else.

  1. Sentencia case

La sentencia case se utiliza para seleccionar entre múltiples bloques de código basados en el valor de una expresión.

Sintaxis Básica

case expresión of
  valor1: 
    // código a ejecutar si expresión es igual a valor1
  valor2: 
    // código a ejecutar si expresión es igual a valor2
  ...
else
  // código a ejecutar si ningún valor coincide
end;

Ejemplo

var
  dia: Integer;
begin
  dia := 3;
  case dia of
    1: WriteLn('Lunes');
    2: WriteLn('Martes');
    3: WriteLn('Miércoles');
    4: WriteLn('Jueves');
    5: WriteLn('Viernes');
    6, 7: WriteLn('Fin de semana');
  else
    WriteLn('Día no válido');
  end;
end.

Explicación

  • dia es una variable de tipo Integer.
  • Dependiendo del valor de dia, se ejecuta el bloque de código correspondiente.
  • Si dia es 3, se imprime Miércoles.
  • Si dia es 6 o 7, se imprime Fin de semana.
  • Si dia no coincide con ninguno de los valores especificados, se ejecuta el bloque else.

Ejercicios Prácticos

Ejercicio 1

Escribe un programa que determine si un número es positivo, negativo o cero.

Solución

var
  numero: Integer;
begin
  Write('Introduce un número: ');
  ReadLn(numero);
  if numero > 0 then
    WriteLn('El número es positivo.')
  else if numero < 0 then
    WriteLn('El número es negativo.')
  else
    WriteLn('El número es cero.');
end.

Ejercicio 2

Escribe un programa que imprima el nombre del mes basado en un número del 1 al 12.

Solución

var
  mes: Integer;
begin
  Write('Introduce un número de mes (1-12): ');
  ReadLn(mes);
  case mes of
    1: WriteLn('Enero');
    2: WriteLn('Febrero');
    3: WriteLn('Marzo');
    4: WriteLn('Abril');
    5: WriteLn('Mayo');
    6: WriteLn('Junio');
    7: WriteLn('Julio');
    8: WriteLn('Agosto');
    9: WriteLn('Septiembre');
    10: WriteLn('Octubre');
    11: WriteLn('Noviembre');
    12: WriteLn('Diciembre');
  else
    WriteLn('Número de mes no válido');
  end;
end.

Errores Comunes y Consejos

  1. Olvidar el else en una sentencia if-else:

    • Asegúrate de cubrir todos los casos posibles para evitar comportamientos inesperados.
  2. No usar begin y end para múltiples sentencias:

    • Si tienes más de una línea de código dentro de un if o else, usa begin y end para agruparlas.
    if condición then
    begin
      // primera línea de código
      // segunda línea de código
    end
    else
    begin
      // primera línea de código
      // segunda línea de código
    end;
    
  3. No manejar todos los casos en una sentencia case:

    • Siempre incluye un bloque else para manejar valores no esperados.

Conclusión

Las sentencias condicionales son esenciales para controlar el flujo de un programa. En Delphi/Object Pascal, las sentencias if y case proporcionan una manera flexible y poderosa de tomar decisiones basadas en condiciones. Practicar con ejemplos y ejercicios te ayudará a dominar estas estructuras y a escribir código más eficiente y claro.

Curso de Programación en Delphi/Object Pascal

Módulo 1: Introducción a Delphi/Object Pascal

Módulo 2: Estructuras de Control y Procedimientos

Módulo 3: Trabajando con Datos

Módulo 4: Programación Orientada a Objetos

Módulo 5: Características Avanzadas de Delphi

Módulo 6: Desarrollo de GUI con VCL y FMX

Módulo 7: Desarrollo Web y Móvil

Módulo 8: Mejores Prácticas y Patrones de Diseño

Módulo 9: Proyecto Final

© Copyright 2024. Todos los derechos reservados