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.
- Sentencia
if
ifLa sentencia if se utiliza para ejecutar un bloque de código solo si una condición es verdadera.
Sintaxis Básica
Ejemplo
Explicación
edades una variable de tipoInteger.- La condición
edad >= 18se 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
edades menor que 18, se ejecuta el bloque de código dentro delelse.
- Sentencia
case
caseLa 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
diaes una variable de tipoInteger.- Dependiendo del valor de
dia, se ejecuta el bloque de código correspondiente. - Si
diaes 3, se imprimeMiércoles. - Si
diaes 6 o 7, se imprimeFin de semana. - Si
diano coincide con ninguno de los valores especificados, se ejecuta el bloqueelse.
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
-
Olvidar el
elseen una sentenciaif-else:- Asegúrate de cubrir todos los casos posibles para evitar comportamientos inesperados.
-
No usar
beginyendpara múltiples sentencias:- Si tienes más de una línea de código dentro de un
ifoelse, usabeginyendpara 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; - Si tienes más de una línea de código dentro de un
-
No manejar todos los casos en una sentencia
case:- Siempre incluye un bloque
elsepara manejar valores no esperados.
- Siempre incluye un bloque
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
- Introducción a Delphi y Object Pascal
- Configuración del Entorno de Desarrollo
- Primera Aplicación en Delphi
- Sintaxis y Estructura Básica
- Variables y Tipos de Datos
Módulo 2: Estructuras de Control y Procedimientos
- Sentencias Condicionales
- Bucles e Iteración
- Procedimientos y Funciones
- Ámbito y Ciclo de Vida de las Variables
- Manejo de Errores y Depuración
Módulo 3: Trabajando con Datos
- Arreglos y Cadenas
- Registros y Conjuntos
- Tipos Enumerados y Subrangos
- Manejo de Archivos
- Acceso a Bases de Datos
Módulo 4: Programación Orientada a Objetos
- Introducción a la POO
- Clases y Objetos
- Herencia y Polimorfismo
- Interfaces y Clases Abstractas
- Manejo de Excepciones en POO
Módulo 5: Características Avanzadas de Delphi
- Genéricos y Colecciones
- Multihilo y Programación Paralela
- Desarrollo Basado en Componentes
- Biblioteca de Tiempo de Ejecución de Delphi (RTL)
- Técnicas Avanzadas de Depuración
Módulo 6: Desarrollo de GUI con VCL y FMX
- Introducción a VCL
- Creación de Formularios y Controles
- Programación Orientada a Eventos
- Introducción a FireMonkey (FMX)
- Desarrollo Multiplataforma con FMX
Módulo 7: Desarrollo Web y Móvil
- Desarrollo Web con Delphi
- Servicios RESTful
- Desarrollo Móvil con Delphi
- Despliegue de Aplicaciones Móviles
- Integración con Servicios Web
Módulo 8: Mejores Prácticas y Patrones de Diseño
- Organización del Código y Documentación
- Patrones de Diseño en Delphi
- Técnicas de Refactorización
- Pruebas Unitarias y Desarrollo Basado en Pruebas
- Optimización del Rendimiento
