21
12 ESEMPIO DI PROGRAMMA Sub SOMMA() Dim A,B,Som m a as Integer A = InputB ox("Im m ettiun num ero") B = InputB ox(“Im m ettiun secondo num ero”) Som m a = A +B Print“Somm a:”;Som m a 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)

Embed Size (px)

Citation preview

Page 1: 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)

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

Page 2: 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

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

Page 3: 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)

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

Page 4: 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)

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.

Page 5: 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)

BLOCCHI DI FLUSSO:BLOCCO CONDIZIONALE

Diagramma 1 Diagramma 2

condizioneFT

Page 6: 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)

Serve ad effettuare operazioni alternative:

If condizione Then

Blocco istruzioni

Else

Blocco istruzioni End if

Enunciato if (1)

Page 7: 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)

ESEMPIO DI TRADUZIONE

Dim A, B, X as Integer

…….

If A = B Then

X = 1

Else

X = 2

Endif

…….

Page 8: 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)

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

Page 9: 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)

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)

Page 10: 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)

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)

Page 11: 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)

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

Page 12: 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)

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

Page 13: 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)

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)

Page 14: 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)

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

Page 15: 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)

BLOCCHI DI FLUSSO:BLOCCO DI RIPETIZIONE

Diagramma 1

condizione

T

F

Page 16: 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)

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

Page 17: 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)

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

Page 18: 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)

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

Page 19: 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)

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

Page 20: 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)

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

Page 21: 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)

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.