Les estructures de control són fonamentals en qualsevol llenguatge de programació, ja que permeten controlar el flux d'execució del codi. En aquest tema, aprendrem sobre les estructures de control en Perl, incloent-hi les condicions i les estructures de selecció.

Continguts

  1. Condicionals
    • if
    • else
    • elsif
    • Operador ternari
  2. Estructures de Selecció
    • unless
    • given-when (similar a switch-case en altres llenguatges)

  1. Condicionals

if

La instrucció if s'utilitza per executar un bloc de codi si una condició és certa.

my $x = 10;

if ($x > 5) {
    print "x és més gran que 5\n";
}

else

La instrucció else s'utilitza per executar un bloc de codi si la condició de l'if és falsa.

my $x = 3;

if ($x > 5) {
    print "x és més gran que 5\n";
} else {
    print "x no és més gran que 5\n";
}

elsif

La instrucció elsif (equivalent a else if en altres llenguatges) s'utilitza per afegir condicions addicionals.

my $x = 5;

if ($x > 5) {
    print "x és més gran que 5\n";
} elsif ($x == 5) {
    print "x és igual a 5\n";
} else {
    print "x és menor que 5\n";
}

Operador Ternari

L'operador ternari és una forma concisa d'escriure una condició if-else.

my $x = 10;
my $result = ($x > 5) ? "més gran que 5" : "no és més gran que 5";
print "$result\n";

  1. Estructures de Selecció

unless

La instrucció unless és l'oposat de if. Executa el bloc de codi si la condició és falsa.

my $x = 3;

unless ($x > 5) {
    print "x no és més gran que 5\n";
}

given-when

La instrucció given-when és similar a switch-case en altres llenguatges i s'utilitza per seleccionar entre múltiples opcions.

use feature 'switch';

my $x = 2;

given ($x) {
    when (1) { print "x és 1\n"; }
    when (2) { print "x és 2\n"; }
    when (3) { print "x és 3\n"; }
    default { print "x no és 1, 2 o 3\n"; }
}

Exercicis Pràctics

Exercici 1

Escriu un programa que llegeixi un nombre de l'entrada de l'usuari i imprimeixi si el nombre és positiu, negatiu o zero.

print "Introdueix un nombre: ";
my $num = <STDIN>;
chomp($num);

if ($num > 0) {
    print "El nombre és positiu\n";
} elsif ($num < 0) {
    print "El nombre és negatiu\n";
} else {
    print "El nombre és zero\n";
}

Exercici 2

Escriu un programa que llegeixi una nota (0-100) de l'entrada de l'usuari i imprimeixi la qualificació corresponent (A, B, C, D, F).

print "Introdueix una nota (0-100): ";
my $nota = <STDIN>;
chomp($nota);

given ($nota) {
    when ($_ >= 90) { print "Qualificació: A\n"; }
    when ($_ >= 80) { print "Qualificació: B\n"; }
    when ($_ >= 70) { print "Qualificació: C\n"; }
    when ($_ >= 60) { print "Qualificació: D\n"; }
    default { print "Qualificació: F\n"; }
}

Resum

En aquesta secció, hem après sobre les estructures de control en Perl, incloent-hi les instruccions if, else, elsif, l'operador ternari, unless i given-when. Aquestes estructures ens permeten controlar el flux d'execució del nostre codi basant-nos en condicions específiques. Practica amb els exercicis proporcionats per reforçar els conceptes apresos.

© Copyright 2024. Tots els drets reservats