En aquest tema, aprendrem com definir i utilitzar funcions en ALGOL. Les funcions són blocs de codi reutilitzables que permeten estructurar millor els programes, facilitant la seva lectura, manteniment i depuració.

Conceptes Clau

  1. Funció: Un bloc de codi que realitza una tasca específica i pot ser cridat des de diferents parts del programa.
  2. Paràmetres: Valors que es passen a la funció per ser utilitzats dins d'ella.
  3. Valor de retorn: El resultat que la funció retorna després de la seva execució.

Estructura d'una Funció en ALGOL

Una funció en ALGOL es defineix amb la següent estructura bàsica:

function nom_funció(paràmetres) : tipus_de_retorn;
begin
    // Cos de la funció
    return valor_de_retorn;
end;

Components de la Definició de Funció

  1. Nom de la funció: Identificador únic per a la funció.
  2. Paràmetres: Llista de variables que la funció necessita per operar.
  3. Tipus de retorn: El tipus de dada que la funció retorna.
  4. Cos de la funció: Bloc de codi que defineix les operacions que la funció realitza.
  5. Instrucció de retorn: Especifica el valor que la funció retorna.

Exemple Pràctic

Vegem un exemple pràctic d'una funció que calcula la suma de dos nombres:

function suma(a, b) : integer;
begin
    return a + b;
end;

Explicació del Codi

  • Nom de la funció: suma
  • Paràmetres: a i b, ambdós de tipus integer
  • Tipus de retorn: integer
  • Cos de la funció: return a + b; retorna la suma dels dos paràmetres

Crida a una Funció

Per utilitzar una funció, simplement la cridem pel seu nom i li passem els arguments necessaris. Per exemple:

integer resultat;
resultat := suma(5, 3);

En aquest cas, resultat tindrà el valor 8 després de l'execució de la funció suma.

Exercicis Pràctics

Exercici 1: Funció de Multiplicació

Defineix una funció anomenada multiplica que prengui dos paràmetres x i y i retorni el seu producte.

function multiplica(x, y) : integer;
begin
    return x * y;
end;

Exercici 2: Funció de Factorial

Defineix una funció anomenada factorial que calculi el factorial d'un nombre enter positiu.

function factorial(n) : integer;
begin
    if n = 0 then
        return 1;
    else
        return n * factorial(n - 1);
end;

Solucions

Solució Exercici 1

function multiplica(x, y) : integer;
begin
    return x * y;
end;

Solució Exercici 2

function factorial(n) : integer;
begin
    if n = 0 then
        return 1;
    else
        return n * factorial(n - 1);
end;

Errors Comuns i Consells

  1. Oblidar el tipus de retorn: Assegura't de definir el tipus de retorn de la funció.
  2. No retornar un valor: Cada funció ha de retornar un valor del tipus especificat.
  3. Paràmetres no inicialitzats: Assegura't que els paràmetres passats a la funció estiguin inicialitzats.

Resum

En aquest tema, hem après a definir funcions en ALGOL, incloent la seva estructura bàsica, com passar paràmetres i com retornar valors. També hem vist exemples pràctics i hem practicat amb exercicis per reforçar els conceptes apresos. En el següent tema, explorarem els paràmetres de funció i els valors de retorn amb més detall.

© Copyright 2024. Tots els drets reservats