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
[code lang=”objc”]</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>
}
[/code]
Costrutto di selezione nidificato
Esempio: programma Objective-C per determinare se un numero intero è positivo, nullo o negativo
[code lang=”objc”]</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>[/code]
While <predicato>
<corpo del ciclo>
endwhile
[/code]
repeat until
[code lang=”objc”]
repeat
<corpo del ciclo>
until <predicato>
[/code]
do while
[code lang=”objc”]
do{
<corpo del ciclo>
}
while(<predicato>);
[/code]
Il costrutto for in Obj-c è equivalente a while
[code lang=”objc”]
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;
}
[/code]