ESEMPIO DI PROGRAMMA
Sub SOMMA( )
Dim A, B, Somma as Integer
A = InputBox("Immetti un numero")
B = InputBox(“Immetti un secondo
numero”)
Somma = A+B
Print “Somma:”; Somma
End Sub
12
start
Leggi A,B
Sub SOMMA( )
Dim A, B as Integer
A = InputBox("Immetti un
numero")
B = InputBox(“Immetti un
secondo numero”)
Somma = A + B
Somma = A+B
Stampa Somma
Print Somma
stop
End Sub
Sub Command1_Click()
Dim A, B as Integer
Proprieta’
Caption
A = InputBox(“Leggi A")
B = InputBox(“Leggi B”)
Somma = A+B
Print Somma
Prova
End Sub
OK
Funzioni di Input/Output
 InputBox
serve a prendere i dati da input.
 MsgBox
serve a mandare messaggi in output.
 Print
serve a “stampare” il risultato in output.
BLOCCHI DI FLUSSO:
BLOCCO CONDIZIONALE
F
T
condizione
Diagramma 1
Diagramma 2
Enunciato if (1)
Serve ad effettuare operazioni alternative:
If condizione Then
Blocco istruzioni
Else
Blocco istruzioni
End if
ESEMPIO DI TRADUZIONE
Dim A, B, X as Integer
…….
If A = B Then
X=1
Else
X=2
Endif
…….
ESEMPIO 1.1
Se le vendite sono maggiori di 10000 e le ore lavorative maggiori di 40 assegna un bonus
di 100.
Private Sub Command1_Click()
Dim vendite, bonus as Integer
vendite = InputBox("Immetti il totale delle vendite")
If vendite > 10000 Then
bonus =100
Else
msgbox(“lavora di più!!!”)
End if
End Sub
Enunciato if (2)
If condizione1 And condizione2 Then
Blocco istruzioni
Else
Blocco istruzioni
End if
N.B. Si possono mettere in And anche più di 2
condizioni.
Enunciato if (3)
If condizione1 Or condizione2 Then
Blocco istruzioni
Else
Blocco istruzioni
End if
N.B. Si possono mettere in Or anche più di 2
condizioni
Annidare enunciati if (1)
If condizione1 Then
If condizione Then
if condizione2 Then
Blocco istruzioni
Else
Blocco istruzioni
End if
Blocco di uno o più
enunciati Visual Basic
Else
Else
Blocco di uno o più
enunciati Visual Basic
Blocco istruzioni
End if
End if
ESEMPIO 1.2
Se le vendite sono maggiori di 10000 e le ore lavorative maggiori di 40 assegna un bonus di 100,
altrimenti se le ore sono meno di 40, assegna metà bonus (50).
Private Sub Command1_Click()
Dim vendite, bonus, oreLavoro as Integer
vendite = InputBox("Immetti il totale delle vendite")
oreLavoro = InputBox("Immetti ore lavorative")
If vendite > 10000 Then
If oreLavoro > 40 Then
bonus =100
Text1.text = bonus
Else
bonus = 50
Text1.text = bonus
End if
End if
Annidare enunciati if (2)
If condizione1 Then
Blocco di uno o più enunciati Visual Basic
Elseif condizione2 Then
Blocco di uno o più enunciati Visual Basic
End if
ESEMPIO 2
Dire se un triangolo è equilatero, isoscele o scaleno
Private Sub Command1_Click()
Dim A, B, C As Integer
A = InputBox("Inserisci il lato A")
B = InputBox("Inserisci il lato B")
C = InputBox("Inserisci il lato C")
If A = B And B = C Then
Print "Triangolo Equilatero"
ElseIf A = B Or B = C Or A = C Then
Print "Triangolo Isoscele"
End If
End Sub
BLOCCHI DI FLUSSO:
BLOCCO DI RIPETIZIONE
F
condizione
T
Diagramma 1
Ciclo While
Serve a ripetere un’istruzione (o un blocco di istruzioni)
fino a quando una certa condizione rimane vera.
Il numero di volte che l’istruzione viene ripetuta non è
noto a priori, ma dipende dalla condizione.
Do While condizione
Blocco di uno o più enunciati
Loop
ESEMPIO 3
Contare per quanti giorni la temperatura è stata superiore ai 30 gradi
Private Sub Command1_Click()
Dim Conta, Temperatura As Integer
Conta = 0
Temperatura = 0
Print "Inserisci una serie di temperature quotidiane (terminata da -400)"
Do While Temperatura <> -400
Temperatura = InputBox("Dammi un valore di temperatura")
If Temperatura > 30 Then
Conta = Conta + 1
End If
Loop
Print "Il numero totale di giorni afosi è "; Conta
End Sub
Cicli For
Serve a ripetere un’istruzione (o un blocco di istruzioni) un
numero x di
volte, dove x è un numero noto a priori.
For intContatore = intInizio to intFine [Step intIncremento]
Blocco di una o più istruzioni
Next
Es.
For intContatore = 0 to 6 Step 2
Next
ESEMPIO 4
Calcolare la media dei propri voti
Private Sub Command1_Click()
Dim Voto, NumeroEsami, Somma, i as Integer
Dim Media as Double
Print “Inserisci i tuoi voti”
Somma = 0
numeroEsami=inputBox(“Inserisci numero esami”)
For i=1 to NumeroEsami
Voto = InputBox (“Inserisci un voto ”)
Somma = Somma + Voto
Next
Media = Somma/NumeroEsami
Print “La tua media è”; Media
EndSub
ESEMPIO 5
Calcolare se un certo anno sarà bisestile
Private Sub Command1_Click()
Dim Anno As Integer
Anno = InputBox("Inserisci l'anno")
If Anno Mod 4 = 0 Then
If Anno Mod 100 = 0 And Anno Mod 400 <> 0 Then
Print "Anno Non Bisestile"
Else
Print "Anno bisestile"
End If
Else
Print "Anno Non bisestile"
End If
Esercizio: riscrivere il
End Sub
Programma facendo
uso di un unico IF
Esercizio da svolgere

Si scriva un programma in Visual Basic che
letti da input l’area e l’altezza di un
rettangolo, calcoli il triplo dell’area. Si
ricorda che l’area del rettangolo è data da
base* altezza.
Scarica

1O_esempi VB6