A10. Il costrutto If
Capita spessissimo di dover eseguire un controllo per verificare se vigono certe condizioni.
È possibile attuare tale operazione tramite una struttura di controllo, la cui forma più comune e diffusa è la struttura If.
Questa permette di controllare se una condizione è vera. Ad esempio: in un programma che calcoli l'area di un quadrato si deve imporre di
visualizzare un messaggio di errore nel caso l'utente immetta una misura neagtiva, poichè, come è noto, non esistono lati la cui misura è un
numero negativo:
Come sicuramente avrete intuito, questo controllo si può associare al costrutto italiano 'Se avviene qualcosa Allora fai questo Altrimenti fai quell'altrò. Si possono fare qualsiasi tipo di comparazioni tra If e Then utilizzando i seguenti operatori di confronto:Module Module1Sub Main()Dim LatoAs Single Console.WriteLine("Inserire il alto di un quadrato:") Lato = Console.ReadLineIf Lato < 0Then 'Se Lato è minore di 0... Console.WriteLine("Il lato non può avere una misura negativa!")Else 'Altrimenti, se non lo è... Console.WriteLine("L'area del quadrato : " & Lato * Lato)End If 'Fine controllo Console.ReadKey()End Sub End Module
- > : maggiore
- < : minore
- = : uguaglianza
- <> : diverso
- >= : maggiore o uguale
- <= : minore o uguale
- Is : identicità (solo per tipi reference)
- IsNot : negazione di Is (solo per tipi reference)
If [Condizione]Then [istruzioni]Else [istruzioni alternative]End If
If nidificati
Quando si trova una struttura If all'interno di un'altra struttura If, si dice che si tratta di una Struttura If Nidificata. Questo avviene abbastanza
spesso, specie se si ha bisogno di fare controlli multipli:
Se il numero inserito da tastiera è compreso fra 0 e 5, estremi esclusi, allora l'utente ha indovinato il numero, altrimenti no. Si può trovare un numero illimitato di If nidificati, ma è meglio limitarne l'uso e, piuttosto, fare utilizzo di Connettivi logici.Module Module1Sub Main()Dim NumeroAs Int16 Console.WriteLine("Inserisci un numero:") Numero = Console.ReadLineIf Numero > 0Then If Numero < 5Then Console.WriteLine("Hai indovnato il numero!")End If Else Console.WriteLine("Numero errato!")End If Console.ReadKey()End Sub End Module
I connettivi logici
I connettivi logici sono 4: And, Or, Xor e Not. Servono per costruire controlli complessi. Di seguito un'illustrazione del loro funzionamento:
- If A And B : la condizione risulta verificata se sia A che B sono vere contemporaneamente
- If A Or B : la condizione risulta verificata se è vera almeno una delle due condizioni
- If A Xor B: la condizione risulta vera se una sola delle due condizioni è vera
- If Not A: la condizione risulta verificata se è falsa
Module Module1Sub Main()Dim a, bAs Double Console.WriteLine("Inserire i lati di un rettangolo:") a = Console.ReadLine b = Console.ReadLine'Se tutti e due i lati sono maggiori di 0 If a > 0And b > 0Then Console.WriteLine("L'area è: " & a*b)Else Console.WriteLine("Non esistono lati con misure negative!")End If Console.readkey()End Sub End Module
The Totem's Lair - Copyright (C) 2009
È vietata la riproduzione sia totale che parziale del sito.



