Un costrutto di selezione denota la scelta (selezione) tra due insiemi di istruzioni, in dipendenza del valore di una condizione (predicato) .
Un costrutto di selezione deve specificare
1)Una condizione che può assumere due valori vero o falso
2)Due insiemi di istruzioni
Costrutto di selezione IF
Operatori Logici
Operatori Logici e di eguaglianza
== —————-> uguale
!= —————-> diverso
Hanno priorità inferiore a quella degli operatori di relazione
Operatori logici di connessione
! ————->negazione (not)
&& ———-> congiunzione (and)
|| ————> disgiunzione (or)
Hanno priorità inferiore a quella di tutti gli altri operatori logici
Esempio: programma Objective-C per il calcolo del valore assoluto di un numero
</pre> <div> #include <Cocoa/Cocoa.h> Int main(int argc, char *argv[]) { <pre> float x,val_assoluto; NSLog(@“inserire un numero ”); scanf(“%f”,&x);//salviamo il valore della variabile immessa da input if (x >= 0.0) val_assoluto = x; else</pre> val_assoluto = -x; NSLog(@“\n valore assoluto di %f <pre> = %f\n”,x,val_assoluto); return 0;</pre> }
Costrutto di selezione nidificato
Esempio: programma Objective-C per determinare se un numero intero è positivo, nullo o negativo
</pre> <div> #include <Cocoa/Cocoa.h> int main(int argc, char *argv[]) { int x; NSLog(@“ inserire un numero\n”); scanf(“%i”,&x); if (x > 0) <pre> NSLog(@“%i e‟ positivo”,x); else if (x == 0) NSLog(@“%i e‟ nullo”,x); else NSLog(@“%i e‟ negativo”,x); return 0;</pre> }</div> <div>
While <predicato> <corpo del ciclo> endwhile
repeat until
repeat <corpo del ciclo> until <predicato>
do while
do{ <corpo del ciclo> } while(<predicato>);
Il costrutto for in Obj-c è equivalente a while
for (i=a;i<=b;i=i+c) { <corpo del ciclo> } oppure possiamo scrivere i=a while (i<=b) { <corpo del ciclo> i=i+c; }