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.
- 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
ageamb el valor 20. - Utilitzem una sentència
if-elseper comprovar siageé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
scoreamb el valor 85. - Utilitzem una sentència
if-else if-elseper avaluar diferents rangs de puntuació. - Es mostra un missatge diferent segons el valor de
score.
- 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
forper 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
countamb el valor 0. - Utilitzem un bucle
whileper iterar mentrecountsigui menor que 5. - A cada iteració, es mostra el valor de
counti després s'incrementa en 1.
- Sentències
switch
switchExemple: 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
dayamb el valor 3. - Utilitzem una sentència
switchper comprovar el valor deday. - Segons el valor de
day, es mostra el nom corresponent del dia de la setmana. - La sentència
defaultes 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.
Curs de Programació en Objective-C
Mòdul 1: Introducció a Objective-C
- Introducció a Objective-C
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsiques
- Tipus de Dades i Variables
- Operadors i Expressions
Mòdul 2: Flux de Control
Mòdul 3: Funcions i Mètodes
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Sintaxi de Mètodes en Objective-C
- Mètodes de Classe i d'Instància
Mòdul 4: Programació Orientada a Objectes
Mòdul 5: Gestió de Memòria
- Introducció a la Gestió de Memòria
- Comptatge Automàtic de Referències (ARC)
- Retenció i Alliberament Manual
- Millors Pràctiques de Gestió de Memòria
Mòdul 6: Temes Avançats
Mòdul 7: Treballant amb Dades
- Gestió d'Arxius
- Serialització i Deserialització
- Conceptes Bàsics de Xarxes
- Treballant amb JSON i XML
Mòdul 8: Desenvolupament d'Interfícies d'Usuari
- Introducció a UIKit
- Vistes i Controladors de Vista
- Disseny Automàtic
- Gestió de l'Entrada de l'Usuari
