Prendere delle decisioni

    
    Una istruzione condizionale è uno speciale comando che permette di valutare una o più condizioni per eseguire un particolare blocco di istruzioni. Il concetto è: se si verifica la condizione allora esegui questa istruzione.
    In Visual Basic le istruzioni condizionali più semplici sono:
    	If "condizione" then "istruzione" End if
    	If "condizione" then "istruzione" else "istruzione" End if
    	
    Vediamo un esempio:
    	Sub valuta()
    	    VariabileInput = _ 
    		InputBox("immettere un numero o una stringa di caratteri")
    		'inizio dell’ istruzione condizionale
    	    If IsNumeric(VariabileInput) Then
    	        MsgBox "la variabile è un numero", vbInformation, "valutazione 1"
    	    Else
    	        MsgBox "la variabile è un carattere o una stringa di caratteri", _
    	        vbInformation, "valutazione 2"
    	    End If
    		'fine dell’ istruzione condizionale
    	End Sub
    Soffermiamo la nostra attenzione su due aspetti:
    • Nella routine è usata l’istruzione: "IsNumeric" che definisce se il valore memorizzato nella variabile "VariabileInput" è numerico o stringa.
    • L’istruzione "InputBox" apre una finestra contenente una casella di testo, se immettiamo del testo e clicchiamo "Ok" la funzione restituisce il valore digitato.
    Con l’istruzione ElseIf è possibile valutare più espressioni all’interno dello stesso blocco. Esempio:
    	Sub ValutaNumero()
    	    VariabileInput = InputBox("immettere un numero")
    	    If VariabileInput <= 1 Then
    	        MsgBox "la variabile è minore o uguale a 1", vbInformation, _ 
    		"valutazione 1"
    	    ElseIf (VariabileInput > 1) And (VariabileInput <= 5) Then
    	        MsgBox "la variabile è maggiore di 1 e minore o uguale a 5", _ 
    		vbInformation, "valutazione 2"
    	    ElseIf (VariabileInput > 5) And (VariabileInput <= 10) Then
    	        MsgBox "la variabile è maggiore di 5 e minore o uguale a 10", _ 
    		vbInformation, "valutazione 3"
    	    Else
    	        MsgBox "la variabile è maggiore di 10", vbInformation, _ 
    		"valutazione 4"
    	    End If
    	End Sub
    Soffermiamo la nostra attenzione su un aspetto:
    • Nella routine sono usati degli operatori logici e matematici come: "And", ">", "<=". Essi verranno trattati nel prossimo paragrafo.
    Una istruzione molto simile a "If ... ElseIf ..." è "Select Case ..." Proviamo a modificare l’esempio precedente:
    	Sub valutaNumero()
    	    VariabileInput = InputBox("immettere un numero")
    	    Select Case VariabileInput
    	    Case Is <= 1
    	        MsgBox "la variabile è minore o uguale a 1", vbInformation, _ 
    		"valutazione 1"
    	    Case 2 To 5
    	        MsgBox "la variabile è maggiore di 1 e minore o uguale a 5", _ 
    		vbInformation, "valutazione 2"
    	    Case 6 To 10
    	        MsgBox "la variabile è maggiore di 5 e minore o uguale a 10", _ 
    		vbInformation, "valutazione 3"
    	    Case Else
    	        MsgBox "la variabile è maggiore di 10", vbInformation, _ 
    		"valutazione 4"
    	    End Select
    	End Sub