En aquesta secció, veurem exemples pràctics de com utilitzar les sentències condicionals, bucles i sentències switch en Objective-C. Aquests exemples t'ajudaran a comprendre millor com controlar el flux del teu programa.

  1. Sentències Condicionals

Exemple 1: Sentència if-else

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int age = 20;
        
        if (age >= 18) {
            NSLog(@"Ets un adult.");
        } else {
            NSLog(@"Ets un menor.");
        }
    }
    return 0;
}

Explicació:

  • Declarem una variable age amb el valor 20.
  • Utilitzem una sentència if-else per comprovar si age és major o igual a 18.
  • Si la condició és certa, es mostra el missatge "Ets un adult.".
  • Si la condició és falsa, es mostra el missatge "Ets un menor.".

Exemple 2: Sentència if-else if-else

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int score = 85;
        
        if (score >= 90) {
            NSLog(@"Excel·lent!");
        } else if (score >= 75) {
            NSLog(@"Bé fet!");
        } else if (score >= 50) {
            NSLog(@"Pots millorar.");
        } else {
            NSLog(@"Necessites estudiar més.");
        }
    }
    return 0;
}

Explicació:

  • Declarem una variable score amb el valor 85.
  • Utilitzem una sentència if-else if-else per avaluar diferents rangs de puntuació.
  • Es mostra un missatge diferent segons el valor de score.

  1. Bucles

Exemple 1: Bucle for

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        for (int i = 0; i < 5; i++) {
            NSLog(@"Iteració %d", i);
        }
    }
    return 0;
}

Explicació:

  • Utilitzem un bucle for per iterar des de 0 fins a 4.
  • A cada iteració, es mostra el missatge "Iteració" seguit del valor de i.

Exemple 2: Bucle while

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int count = 0;
        
        while (count < 5) {
            NSLog(@"Comptador: %d", count);
            count++;
        }
    }
    return 0;
}

Explicació:

  • Declarem una variable count amb el valor 0.
  • Utilitzem un bucle while per iterar mentre count sigui menor que 5.
  • A cada iteració, es mostra el valor de count i després s'incrementa en 1.

  1. Sentències switch

Exemple: Sentència switch

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int day = 3;
        
        switch (day) {
            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");
                break;
        }
    }
    return 0;
}

Explicació:

  • Declarem una variable day amb el valor 3.
  • Utilitzem una sentència switch per comprovar el valor de day.
  • Segons el valor de day, es mostra el nom corresponent del dia de la setmana.
  • La sentència default es fa servir per gestionar qualsevol valor que no coincideixi amb cap dels casos anteriors.

Exercicis Pràctics

Exercici 1: Sentència if-else

Escriu un programa que comprovi si un nombre és parell o senar.

Solució:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int number = 7;
        
        if (number % 2 == 0) {
            NSLog(@"%d és parell.", number);
        } else {
            NSLog(@"%d és senar.", number);
        }
    }
    return 0;
}

Exercici 2: Bucle for

Escriu un programa que mostri els nombres del 1 al 10.

Solució:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        for (int i = 1; i <= 10; i++) {
            NSLog(@"%d", i);
        }
    }
    return 0;
}

Exercici 3: Sentència switch

Escriu un programa que mostri el nom del mes segons un nombre del 1 al 12.

Solució:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int month = 4;
        
        switch (month) {
            case 1:
                NSLog(@"Gener");
                break;
            case 2:
                NSLog(@"Febrer");
                break;
            case 3:
                NSLog(@"Març");
                break;
            case 4:
                NSLog(@"Abril");
                break;
            case 5:
                NSLog(@"Maig");
                break;
            case 6:
                NSLog(@"Juny");
                break;
            case 7:
                NSLog(@"Juliol");
                break;
            case 8:
                NSLog(@"Agost");
                break;
            case 9:
                NSLog(@"Setembre");
                break;
            case 10:
                NSLog(@"Octubre");
                break;
            case 11:
                NSLog(@"Novembre");
                break;
            case 12:
                NSLog(@"Desembre");
                break;
            default:
                NSLog(@"Mes invàlid");
                break;
        }
    }
    return 0;
}

Conclusió

En aquesta secció, hem vist com utilitzar les sentències condicionals, bucles i sentències switch en Objective-C amb exemples pràctics. Aquests conceptes són fonamentals per controlar el flux del teu programa i prendre decisions basades en diferents condicions. Practica amb els exercicis proporcionats per reforçar els teus coneixements i prepara't per al següent tema.

© Copyright 2024. Tots els drets reservats