Les sentències condicionals són una part fonamental de qualsevol llenguatge de programació, ja que permeten que el codi prengui decisions basades en certes condicions. En Objective-C, les sentències condicionals més comunes són if, else if, else i switch.

  1. Sentència if

La sentència if s'utilitza per executar un bloc de codi només si una condició específica és certa.

Sintaxi

if (condició) {
    // Bloc de codi a executar si la condició és certa
}

Exemple

int edat = 20;

if (edat >= 18) {
    NSLog(@"Ets major d'edat.");
}

En aquest exemple, el missatge "Ets major d'edat." només es mostrarà si la variable edat és major o igual a 18.

  1. Sentència else

La sentència else s'utilitza juntament amb if per executar un bloc de codi alternatiu si la condició de l'if és falsa.

Sintaxi

if (condició) {
    // Bloc de codi a executar si la condició és certa
} else {
    // Bloc de codi a executar si la condició és falsa
}

Exemple

int edat = 16;

if (edat >= 18) {
    NSLog(@"Ets major d'edat.");
} else {
    NSLog(@"Ets menor d'edat.");
}

En aquest exemple, el missatge "Ets menor d'edat." es mostrarà perquè la variable edat és menor que 18.

  1. Sentència else if

La sentència else if permet comprovar múltiples condicions en seqüència.

Sintaxi

if (condició1) {
    // Bloc de codi a executar si la condició1 és certa
} else if (condició2) {
    // Bloc de codi a executar si la condició2 és certa
} else {
    // Bloc de codi a executar si cap de les condicions anteriors és certa
}

Exemple

int nota = 85;

if (nota >= 90) {
    NSLog(@"Excel·lent");
} else if (nota >= 75) {
    NSLog(@"Bé");
} else if (nota >= 50) {
    NSLog(@"Suficient");
} else {
    NSLog(@"Insuficient");
}

En aquest exemple, el missatge "Bé" es mostrarà perquè la variable nota és major o igual a 75 però menor que 90.

  1. Sentència switch

La sentència switch s'utilitza per seleccionar una de moltes blocs de codi a executar. És una alternativa a múltiples sentències else if.

Sintaxi

switch (expressió) {
    case valor1:
        // Bloc de codi a executar si expressió == valor1
        break;
    case valor2:
        // Bloc de codi a executar si expressió == valor2
        break;
    // Més casos...
    default:
        // Bloc de codi a executar si cap dels casos anteriors és cert
}

Exemple

int dia = 3;

switch (dia) {
    case 1:
        NSLog(@"Dilluns");
        break;
    case 2:
        NSLog(@"Dimarts");
        break;
    case 3:
        NSLog(@"Dimecres");
        break;
    case 4:
        NSLog(@"Dijous");
        break;
    case 5:
        NSLog(@"Divendres");
        break;
    case 6:
        NSLog(@"Dissabte");
        break;
    case 7:
        NSLog(@"Diumenge");
        break;
    default:
        NSLog(@"Dia invàlid");
}

En aquest exemple, el missatge "Dimecres" es mostrarà perquè la variable dia és igual a 3.

Exercicis Pràctics

Exercici 1

Escriu un programa que determini si un nombre és positiu, negatiu o zero.

Solució

int nombre = -5;

if (nombre > 0) {
    NSLog(@"El nombre és positiu.");
} else if (nombre < 0) {
    NSLog(@"El nombre és negatiu.");
} else {
    NSLog(@"El nombre és zero.");
}

Exercici 2

Escriu un programa que assigni una qualificació basada en una nota numèrica (A, B, C, D, F).

Solució

int nota = 88;
char qualificacio;

if (nota >= 90) {
    qualificacio = 'A';
} else if (nota >= 80) {
    qualificacio = 'B';
} else if (nota >= 70) {
    qualificacio = 'C';
} else if (nota >= 60) {
    qualificacio = 'D';
} else {
    qualificacio = 'F';
}

NSLog(@"La qualificació és %c", qualificacio);

Errors Comuns i Consells

  1. Oblidar el break en una sentència switch: Si oblides el break, el codi continuarà executant els següents casos fins que trobi un break o arribi al final del switch.
  2. No utilitzar parèntesis correctament: Assegura't que les condicions dins dels parèntesis estiguin correctament tancades.
  3. Comparacions incorrectes: Recorda utilitzar == per comparar valors i = per assignar valors.

Conclusió

Les sentències condicionals són essencials per controlar el flux del teu programa. Amb if, else if, else i switch, pots crear lògiques complexes que permetin al teu codi prendre decisions basades en diferents condicions. Practica aquests conceptes amb els exercicis proporcionats per assegurar-te que entens com funcionen.

© Copyright 2024. Tots els drets reservats