La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Programmare in Visual Basic

Presentazioni simili


Presentazione sul tema: "Programmare in Visual Basic"— Transcript della presentazione:

1 Programmare in Visual Basic
Istruzione SE Contatori Ciclo di ripetizione

2 Testo del problema Per ciascuno degli N prodotti acquistati da un cliente in un negozio sono noti: il prezzo unitario e la categoria merceologica (due tipi di categorie, supponiamo A e B). Determinare (cioè calcolare): Il numero di prodotti di categoria A Il numero di prodotti di categoria B L’importo totale dovuto dal cliente prima dello sconto L’importo totale scontato sapendo che lo sconto è del 3% sul totale.

3 Facciamo un esempio immaginiamo…
Un negozio Il nostro carrello Una cassa

4 Noi che dobbiamo fare il programma, dove stiamo?
Noi ci dobbiamo immaginare di essere dentro la cassa!

5 E che ci facciamo li dentro?

6 Dobbiamo fare lo scontrino!
E per farlo dobbiamo vedere tutti i prodotti, controllare di quale categoria sono e il loro prezzo

7 Ma attenzione! C’è solo una piccola differenza.
Rispetto ad una cassa vera noi abbiamo bisogno di sapere prima quanti prodotti ci sono nel carrello .

8 Quindi partiremo così:
Quanti articoli ci sono nel carrello?

9 Poi possiamo partire a fare il lavoro per tante volte quanti sono gli articoli nel carrello

10 Dati in input NP = numero prodotti P = prezzo
CM = categoria merceologica

11 Dunque…abbiamo risposto a quello che chiedeva il testo del problema?
Dati in Output ITOT: Importo totale CONTB: Numero prodotti di categoria A CONTA: Numero prodotti di categoria B ISCONT: Importo scontato Dunque…abbiamo risposto a quello che chiedeva il testo del problema?

12 Per ciascuna domanda abbiamo una risposta!
Per ciascuno degli N prodotti acquistati da un cliente in un negozio sono noti: il prezzo unitario e la categoria merceologica (due tipi di categorie, supponiamo A e B). Determinare (cioè calcolare): Il numero di prodotti di categoria A (CONTA) Il numero di prodotti di categoria B (CONTB) L’importo totale dovuto dal cliente prima dello sconto (ITOT) L’importo totale scontato sapendo che lo sconto è del 3% sul totale (ISCONT).

13 Dati elaborazione Cont: numero totale di prodotti acquistati

14 Quanti articoli ci sono nel carrello?
Inizio ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A Quanti articoli ci sono nel carrello? NP! NP i CONT=0 CONTA=0 CONTB=0 ITOT=0 v F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP Questo è il ciclo. Cioè le istruzioni ripetute NP volte. i FINE v A

15 Anche questa è una elaborazione.
Però è fuori dal ciclo. Infatti viene svolta dopo che sono passati tutti i prodotti dalla cassa. Calcolo dello sconto! ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A Finalmente esce lo scontrino con - Importo totale Importo scontato - Quanti prodotti di tipo A E quanti di tipo B FINE

16 E in Visual Basic, come si traduce?
Cominciamo dall’inizio. Le prime operazioni di input. Inizio NP i TextBox Nome: txtNP Command Nome: cmdPassaAllaCassa

17 Per adesso è facile. Ma il ciclo?
Calma, calma. Adesso inizia il codice ma…. Option Explicit ' Dati di input Dim Np As Integer Dim P As Double Dim CM As String ' Dati di elaborazione Dim Cont As Integer ' Dati di OutPut Dim ContA As Integer Dim ContB As Integer Dim ITot As Double Dim Iscont As Double Un passo per volta! Prima dichiariamo le variabili!

18 Il codice da scrivere deve essere eseguito alla pressione del pulsante cmdPassaAllaCassa

19 Leggendo il diagramma a blocchi, cominceremo a scrivere qui!
Option Explicit ' Dati di input Dim Np As Integer Dim P As Double Dim CM As String ' Dati di elaborazione Dim Cont As Integer ' Dati di OutPut Dim ContA As Integer Dim ContB As Integer Dim ITot As Double Dim Iscont As Double Private Sub cmdPassaAllaCassa_Click() End Sub Leggendo il diagramma a blocchi, cominceremo a scrivere qui!

20 Option Explicit ' Dati di input Dim Np As Integer Dim P As Double Dim CM As String ' Dati di elaborazione Dim Cont As Integer ' Dati di OutPut Dim ContA As Integer Dim ContB As Integer Dim ITot As Double Dim Iscont As Double Private Sub cmdPassaAllaCassa_Click() NP = txtNP.text End Sub NP i

21 Elaborazione Private Sub cmdPassaAllaCassa_Click() NP = txtNP.text
End Sub ‘ Azzeramento variabili Cont=0 ContA = 0 ContB = 0 Itot=0 CONT=0 CONTA=0 CONTB=0 ITOT=0

22 Cominciamo a tradurre le istruzioni
La prima istruzione del CICLO non si vede ma c’è! L’ultima istruzione del ciclo è quella da dove parte la freccia che torna indietro per RIPETERE v F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP Questo è il ciclo. Cioè le istruzioni ripetute NP volte.

23 Tra la REPEAT e la LOOP metteremo le altre istruzioni
Elaborazione Private Sub cmdPassaAllaCassa_Click() NP = txtNP.text End Sub Infatti si scrivono le istruzioni che rappresentano l’INIZIO e la FINE del ciclo ‘ Azzeramento variabili Cont=0 ContA = 0 ContB = 0 Itot=0 ‘Inizio Ciclo Repeat Loop Until CONT = NP Tra la REPEAT e la LOOP metteremo le altre istruzioni

24 Quindi, si scrive dove inizia e dove finisce il ciclo…
REPEAT v F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP Questo è il ciclo. Cioè le istruzioni ripetute NP volte. LOOP UNTIL CONT=NP

25 A questo punto si passa alle istruzioni del CICLO
Questa è una istruzione di INPUT. P;CM Fino ad adesso abbiamo imparato a tradurla con i TextBox. Cont=cont+1 CM=“A” F v CONTB=CONTB+1 CONTA=CONTA+1 Ma se siamo dentro un ciclo dobbiamo usare la InputBox, anzi due inputbox perché due sono le variabili (P e CM) ITOT=ITOT+P CONT=NP F

26 Attenzione!!Un simbolo e due istruzioni.
P;CM ‘Inizio Ciclo DO P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Loop Until CONT = NP

27 Questa è facile! E’ una assegnazione.
Cont=cont+1 ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 Loop Until CONT = NP

28 E quando trovo una struttura condizionale la traduco con la se.
CM=“A” F v ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN ELSE END IF Loop Until CONT = NP E quando trovo una struttura condizionale la traduco con la se. Scrivo tutta la se, compreso IF, THEN, ELSE e l’END IF, poi dentro metto le istruzioni

29 Stiamo conteggiando i prodotti per categoria
F CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 v ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN CONTA = CONTA+1 ELSE CONTB = CONTB+1 END IF Loop Until CONT = NP Le istruzioni della struttura condizionale (il se) le porto al posto giusto. In questo caso sono due assegnazioni Stiamo conteggiando i prodotti per categoria

30 Qui invece, sommo l’importo totale
‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN CONTA = CONTA+1 ELSE CONTB = CONTB+1 END IF ITOT=ITOT+P Loop Until CONT = NP ITOT=ITOT+P Qui invece, sommo l’importo totale

31 DOVE SIAMO? P;CM Cont=cont+1 CM=“A” F v CONTB=CONTB+1 CONTA=CONTA+1
QUI!!! ITOT=ITOT+P CONT=NP F

32 Manca, poco… Il calcolo dell’importo scontato A L’Output dei risultati
ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A L’Output dei risultati FINE

33 ISCONT=ITOT-(ITOT*3/100)
‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN CONTA = CONTA+1 ELSE CONTB = CONTB+1 END IF ‘ calcolo importo totale ITOT=ITOT+P Loop Until CONT = NP ‘ Calcolo importo scontato ISCONT=ITOT-(ITOT*3/100) ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A FINE

34 ISCONT=ITOT-(ITOT*3/100)
‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN CONTA = CONTA+1 ELSE CONTB = CONTB+1 END IF ‘ calcolo importo totale ITOT=ITOT+P Loop Until CONT = NP ‘ Calcolo importo scontato ISCONT=ITOT-(ITOT*3/100) MsgBox “L’importo totale è “ & cstr(Itot) MsgBox “L’importo scontato è “ & cstr(Iscont) MsgBox “I prodotti di tipo A sono “ & cstr(ContA) MsgBox “I prodotti di tipo B sono “ & cstr(ContB) ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A FINE

35 Che aspettate a provare il programma?

36 Che succede se ho una struttura condizionale solo con il vero?
Approfondimenti Che succede se ho una struttura condizionale solo con il vero? CM=“A” F v Come si traduce in VB? CONTA=CONTA+1 IF CM=“A” THEN CONTA = CONTA+1 END IF


Scaricare ppt "Programmare in Visual Basic"

Presentazioni simili


Annunci Google