somma = a + b start stampa somma leggi a,b stop sub somma( ) dim a, b as integer a =...

Post on 01-May-2015

218 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

12

ESEMPIO DI PROGRAMMA

Sub SOMMA( )Dim A, B, Somma as IntegerA = InputBox("Immetti un numero")B = InputBox(“Immetti un secondo

numero”)Somma = A+BPrint “Somma:”; Somma

End Sub

Somma = A + B

start

Stampa Somma

Leggi A,B

stop

Sub SOMMA( )Dim A, B as Integer

A = InputBox("Immetti un numero")B = InputBox(“Immetti un secondo numero”)

Somma = A+B

Print Somma

End Sub

Prova

OK

Sub Command1_Click() Dim A, B as Integer

A = InputBox(“Leggi A") B = InputBox(“Leggi B”) Somma = A+B

Print Somma

End Sub

Proprieta’ Caption

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

Diagramma 1 Diagramma 2

condizioneFT

Serve ad effettuare operazioni alternative:

If condizione Then

Blocco istruzioni

Else

Blocco istruzioni End if

Enunciato if (1)

ESEMPIO DI TRADUZIONE

Dim A, B, X as Integer

…….

If A = B Then

X = 1

Else

X = 2

Endif

…….

ESEMPIO 1.1Se 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

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 (2)

If condizione1 Or condizione2 Then

Blocco istruzioni

Else

Blocco istruzioni End if

N.B. Si possono mettere in Or anche più di 2 condizioni

Enunciato if (3)

If condizione1 Then

if condizione2 ThenBlocco istruzioni

ElseBlocco istruzioni

End ifElse

Blocco istruzioni

End if

Annidare enunciati if (1)

If condizione Then

Blocco di uno o più enunciati Visual Basic

Else

Blocco di uno o più enunciati Visual Basic

End if

ESEMPIO 1.2Se 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 = bonusElse

bonus = 50 Text1.text = bonus End ifEnd if

If condizione1 Then

Blocco di uno o più enunciati Visual Basic

Elseif condizione2 Then

Blocco di uno o più enunciati Visual Basic

End if

Annidare enunciati if (2)

ESEMPIO 2Dire 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

Diagramma 1

condizione

T

F

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 3Contare 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ù istruzioniNext

Es.For intContatore = 0 to 6 Step 2Next

ESEMPIO 4Calcolare la media dei propri voti

Private Sub Command1_Click()Dim Voto, NumeroEsami, Somma, i as IntegerDim Media as DoublePrint “Inserisci i tuoi voti”Somma = 0numeroEsami=inputBox(“Inserisci numero esami”) For i=1 to NumeroEsami

Voto = InputBox (“Inserisci un voto ”) Somma = Somma + Voto NextMedia = Somma/NumeroEsamiPrint “La tua media è”; MediaEndSub

ESEMPIO 5Calcolare se un certo anno sarà bisestilePrivate 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 IfEnd Sub

Esercizio: riscrivere ilProgramma 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.

top related