En este tema, aprenderemos sobre las estructuras de control en Perl, que son fundamentales para dirigir el flujo de ejecución de un programa. Las estructuras de control permiten tomar decisiones, repetir acciones y manejar condiciones específicas.

Contenido

Condicionales

if, elsif, else

La estructura condicional if se utiliza para ejecutar un bloque de código solo si una condición es verdadera. Puedes extender esta estructura con elsif y else para manejar múltiples condiciones.

Sintaxis:

if (condición) {
    # código a ejecutar si la condición es verdadera
} elsif (otra_condición) {
    # código a ejecutar si la otra condición es verdadera
} else {
    # código a ejecutar si ninguna de las condiciones anteriores es verdadera
}

Ejemplo:

my $num = 10;

if ($num > 10) {
    print "El número es mayor que 10\n";
} elsif ($num == 10) {
    print "El número es igual a 10\n";
} else {
    print "El número es menor que 10\n";
}

unless

La estructura unless es lo opuesto a if. Ejecuta el bloque de código solo si la condición es falsa.

Sintaxis:

unless (condición) {
    # código a ejecutar si la condición es falsa
}

Ejemplo:

my $num = 5;

unless ($num > 10) {
    print "El número no es mayor que 10\n";
}

Estructuras de Control de Flujo

while

La estructura while repite un bloque de código mientras una condición sea verdadera.

Sintaxis:

while (condición) {
    # código a ejecutar mientras la condición sea verdadera
}

Ejemplo:

my $i = 0;

while ($i < 5) {
    print "i = $i\n";
    $i++;
}

until

La estructura until es lo opuesto a while. Repite un bloque de código mientras una condición sea falsa.

Sintaxis:

until (condición) {
    # código a ejecutar mientras la condición sea falsa
}

Ejemplo:

my $i = 0;

until ($i >= 5) {
    print "i = $i\n";
    $i++;
}

for y foreach

La estructura for se utiliza para iterar sobre un rango de valores. foreach es una variante que se utiliza para iterar sobre listas o arreglos.

Sintaxis:

for (inicialización; condición; incremento) {
    # código a ejecutar en cada iteración
}

Ejemplo:

for (my $i = 0; $i < 5; $i++) {
    print "i = $i\n";
}

Sintaxis de foreach:

foreach my $elemento (@lista) {
    # código a ejecutar para cada elemento en la lista
}

Ejemplo:

my @numeros = (1, 2, 3, 4, 5);

foreach my $num (@numeros) {
    print "Número: $num\n";
}

Ejercicios Prácticos

Ejercicio 1: Condicionales

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

Solución:

print "Introduce un número: ";
my $num = <STDIN>;
chomp($num);

if ($num > 0) {
    print "El número es positivo\n";
} elsif ($num < 0) {
    print "El número es negativo\n";
} else {
    print "El número es cero\n";
}

Ejercicio 2: Bucles while

Escribe un programa que imprima los números del 1 al 10 utilizando un bucle while.

Solución:

my $i = 1;

while ($i <= 10) {
    print "$i\n";
    $i++;
}

Ejercicio 3: Bucles for

Escribe un programa que imprima los números del 1 al 10 utilizando un bucle for.

Solución:

for (my $i = 1; $i <= 10; $i++) {
    print "$i\n";
}

Ejercicio 4: Bucles foreach

Escribe un programa que imprima cada elemento de un arreglo de nombres.

Solución:

my @nombres = ("Ana", "Luis", "Carlos", "Marta");

foreach my $nombre (@nombres) {
    print "Nombre: $nombre\n";
}

Resumen

En esta sección, hemos aprendido sobre las estructuras de control en Perl, incluyendo condicionales (if, elsif, else, unless) y estructuras de control de flujo (while, until, for, foreach). Estas herramientas son esenciales para dirigir el flujo de ejecución de un programa y manejar condiciones específicas. Asegúrate de practicar los ejercicios para reforzar tu comprensión de estos conceptos.

En el próximo tema, exploraremos los bucles en Perl con más detalle. ¡Sigue adelante!

© Copyright 2024. Todos los derechos reservados