Casino online











Mercato forex






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:
Module Module1
  Sub Main()
    Dim Lato As Single

    Console.WriteLine("Inserire il alto di un quadrato:")
    Lato = Console.ReadLine

    If Lato < 0 Then '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 
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:
  • > : maggiore
  • < : minore
  • = : uguaglianza
  • <> : diverso
  • >= : maggiore o uguale
  • <= : minore o uguale
  • Is : identicità (solo per tipi reference)
  • IsNot : negazione di Is (solo per tipi reference)
Ma l'importante è ricordarsi di attenersi a questa sintassi:
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:
Module Module1
  Sub Main()
    Dim Numero As Int16

    Console.WriteLine("Inserisci un numero:")
    Numero = Console.ReadLine

    If Numero > 0 Then
      If Numero < 5 Then
        Console.WriteLine("Hai indovnato il numero!")
      End If
    Else
      Console.WriteLine("Numero errato!")
    End If

    Console.ReadKey()
  End Sub
End Module 
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.

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
Un esempio pratico:
Module Module1
  Sub Main()
    Dim a, b As 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 > 0 And b > 0 Then
      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.