SlideShare a Scribd company logo
1 of 37
Programmare in Visual Basic ,[object Object],[object Object],[object Object]
Questa opera è sotto licenza   Si puo’ usarla liberamente…   ,[object Object],[object Object],[object Object],[object Object],[object Object]
Testo del problema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Facciamo un esempio immaginiamo… Un negozio Una cassa Il nostro carrello
Noi che dobbiamo fare il programma, dove stiamo? ,[object Object],[object Object]
E che ci facciamo li dentro?
Dobbiamo fare lo scontrino! ,[object Object]
Ma attenzione! C’è solo una piccola differenza. . Rispetto ad una cassa vera noi abbiamo bisogno di sapere prima quanti prodotti ci sono nel carrello
Quindi partiremo così: Quanti articoli ci sono nel carrello?
Poi possiamo partire a fare il lavoro per  tante volte  quanti sono gli articoli nel carrello
Dati in input ,[object Object],[object Object],[object Object]
Dati in Output ,[object Object],[object Object],[object Object],[object Object],Dunque…abbiamo risposto a quello che chiedeva il testo del problema?
Per ciascuna domanda abbiamo una risposta! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dati elaborazione ,[object Object]
Inizio v A Quanti articoli ci sono nel carrello? NP! i FINE CONT=0 CONTA=0 CONTB=0 ITOT=0 NP i v F 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. ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A
FINE Anche questa è una elaborazione.  Però è fuori dal ciclo. Infatti viene svolta dopo che sono passati tutti i prodotti dalla cassa. ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A Calcolo dello sconto! ,[object Object],[object Object],[object Object]
E in Visual Basic, come si traduce? Cominciamo dall’inizio. Le prime operazioni di input. Inizio TextBox Nome:  txtNP Command Nome:  cmdPassaAllaCassa NP i
Per adesso è facile. Ma il ciclo? Calma, calma. Adesso inizia il codice ma…. Un passo per volta! Prima dichiariamo le variabili! 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
Il codice da scrivere deve essere eseguito alla pressione del pulsante cmdPassaAllaCassa
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!
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
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
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 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.
Elaborazione Private Sub cmdPassaAllaCassa_Click() NP = txtNP.text End Sub ‘  Azzeramento variabili Cont=0 ContA = 0 ContB = 0 Itot=0 ‘ Inizio Ciclo Repeat Loop Until CONT = NP Infatti si scrivono le istruzioni che rappresentano l’INIZIO e la FINE del ciclo Tra la REPEAT e la LOOP metteremo le altre istruzioni
Quindi, si scrive dove inizia e dove finisce il ciclo… REPEAT LOOP UNTIL CONT=NP v F 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.
A questo punto si passa alle istruzioni del CICLO v F F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP Questa è una istruzione di INPUT.  Fino ad adesso abbiamo imparato a tradurla con i TextBox.  Ma se siamo dentro un ciclo dobbiamo usare la InputBox,  anzi  due inputbox  perché  due  sono le variabili ( P e CM )
‘ Inizio Ciclo DO P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Loop Until CONT = NP P;CM Attenzione!!Un simbolo e due istruzioni.
‘ Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 Loop Until CONT = NP Cont=cont+1 Questa è facile! E’ una  assegnazione .
‘ 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 CM=“A” E quando trovo una struttura condizionale la traduco con la se.  v F Scrivo tutta la se, compreso  IF ,  THEN ,  ELSE  e l’ END   IF , poi dentro metto le istruzioni
‘ 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 F CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 v
ITOT=ITOT+P ‘ 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 Qui invece, sommo l’importo totale
DOVE SIAMO? v F F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP QUI!!!
Manca, poco… FINE Il calcolo dell’importo scontato L’Output dei risultati ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A
FINE ‘ 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
‘ 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) FINE ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A
Che aspettate a provare il programma?
Approfondimenti F CM=“A” CONTA=CONTA+1 v Che succede se ho una struttura condizionale solo con il vero? Come si traduce in VB? IF CM=“A” THEN CONTA = CONTA+1 END IF

More Related Content

What's hot

presentazione dell'esercizio per le vacanze di natale
presentazione dell'esercizio per le vacanze di natalepresentazione dell'esercizio per le vacanze di natale
presentazione dell'esercizio per le vacanze di natalefro9
 
Esercizio N°29 Pag 299
Esercizio N°29 Pag 299Esercizio N°29 Pag 299
Esercizio N°29 Pag 299MarcoRizzo
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)STELITANO
 
Esercizio Visual Basic
Esercizio Visual BasicEsercizio Visual Basic
Esercizio Visual Basicvane1989
 
Es. 48 Pag. 301
Es. 48 Pag. 301Es. 48 Pag. 301
Es. 48 Pag. 301francy991
 
Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)STELITANO
 
Presentazione dell'esercizio n°49 pagina 301
Presentazione dell'esercizio n°49 pagina 301Presentazione dell'esercizio n°49 pagina 301
Presentazione dell'esercizio n°49 pagina 301Fillmore
 
Esercizio 24 Pagina 299
Esercizio 24 Pagina 299Esercizio 24 Pagina 299
Esercizio 24 Pagina 299Ginevra
 
Programma In Visual Basic
Programma In Visual BasicProgramma In Visual Basic
Programma In Visual Basickiarina91
 
Presentazione Pseudocodice
Presentazione PseudocodicePresentazione Pseudocodice
Presentazione Pseudocodicemerina91
 
presentazione in visual basic dell'esercizio per le vacanze di natale
presentazione in visual basic dell'esercizio per le vacanze di natalepresentazione in visual basic dell'esercizio per le vacanze di natale
presentazione in visual basic dell'esercizio per le vacanze di natalefro9
 
9 Altre Istruzioni Di I O
9   Altre Istruzioni Di I O9   Altre Istruzioni Di I O
9 Altre Istruzioni Di I Oguest60e9511
 
Esercitazione 2 (29 febbraio 2012)
Esercitazione 2 (29 febbraio 2012)Esercitazione 2 (29 febbraio 2012)
Esercitazione 2 (29 febbraio 2012)STELITANO
 
Presentazione Pseudocodice
Presentazione PseudocodicePresentazione Pseudocodice
Presentazione Pseudocodiceguestc8d975
 

What's hot (18)

mennitto sara
mennitto saramennitto sara
mennitto sara
 
presentazione dell'esercizio per le vacanze di natale
presentazione dell'esercizio per le vacanze di natalepresentazione dell'esercizio per le vacanze di natale
presentazione dell'esercizio per le vacanze di natale
 
Esercizio N°29 Pag 299
Esercizio N°29 Pag 299Esercizio N°29 Pag 299
Esercizio N°29 Pag 299
 
Es. Computer
Es. ComputerEs. Computer
Es. Computer
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Esercizio Visual Basic
Esercizio Visual BasicEsercizio Visual Basic
Esercizio Visual Basic
 
Es. 48 Pag. 301
Es. 48 Pag. 301Es. 48 Pag. 301
Es. 48 Pag. 301
 
Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)
 
Presentazione dell'esercizio n°49 pagina 301
Presentazione dell'esercizio n°49 pagina 301Presentazione dell'esercizio n°49 pagina 301
Presentazione dell'esercizio n°49 pagina 301
 
Esercizio 24 Pagina 299
Esercizio 24 Pagina 299Esercizio 24 Pagina 299
Esercizio 24 Pagina 299
 
Programma In Visual Basic
Programma In Visual BasicProgramma In Visual Basic
Programma In Visual Basic
 
Presentazione Pseudocodice
Presentazione PseudocodicePresentazione Pseudocodice
Presentazione Pseudocodice
 
presentazione in visual basic dell'esercizio per le vacanze di natale
presentazione in visual basic dell'esercizio per le vacanze di natalepresentazione in visual basic dell'esercizio per le vacanze di natale
presentazione in visual basic dell'esercizio per le vacanze di natale
 
9 Altre Istruzioni Di I O
9   Altre Istruzioni Di I O9   Altre Istruzioni Di I O
9 Altre Istruzioni Di I O
 
VB Cicli Lavoro Repeat
VB  Cicli  Lavoro  RepeatVB  Cicli  Lavoro  Repeat
VB Cicli Lavoro Repeat
 
Esercitazione 2 (29 febbraio 2012)
Esercitazione 2 (29 febbraio 2012)Esercitazione 2 (29 febbraio 2012)
Esercitazione 2 (29 febbraio 2012)
 
Presentazione Pseudocodice
Presentazione PseudocodicePresentazione Pseudocodice
Presentazione Pseudocodice
 

Viewers also liked (20)

Comunità Scolastiche Sostenibili 2007/2008
Comunità Scolastiche Sostenibili 2007/2008Comunità Scolastiche Sostenibili 2007/2008
Comunità Scolastiche Sostenibili 2007/2008
 
Blog Creazione
Blog CreazioneBlog Creazione
Blog Creazione
 
Contenuti WEB creati dagli Utenti
Contenuti WEB creati dagli UtentiContenuti WEB creati dagli Utenti
Contenuti WEB creati dagli Utenti
 
Blog Manutenzione
Blog ManutenzioneBlog Manutenzione
Blog Manutenzione
 
Blog Cosa E'?
Blog Cosa E'?Blog Cosa E'?
Blog Cosa E'?
 
Blog Riferimenti Risorse (4)
Blog Riferimenti Risorse (4)Blog Riferimenti Risorse (4)
Blog Riferimenti Risorse (4)
 
Comunità Scolastiche Sostenibili 2006/2007
Comunità Scolastiche Sostenibili 2006/2007 Comunità Scolastiche Sostenibili 2006/2007
Comunità Scolastiche Sostenibili 2006/2007
 
Php e data base introduzione a mysql
Php e data base  introduzione a mysqlPhp e data base  introduzione a mysql
Php e data base introduzione a mysql
 
PHP: gestione file sequenziale
PHP: gestione file sequenzialePHP: gestione file sequenziale
PHP: gestione file sequenziale
 
PHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzionePHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzione
 
Php e data_base_popolare_un_db_mysql
Php e data_base_popolare_un_db_mysqlPhp e data_base_popolare_un_db_mysql
Php e data_base_popolare_un_db_mysql
 
Da html in_poi, verso PHP
Da html in_poi, verso PHPDa html in_poi, verso PHP
Da html in_poi, verso PHP
 
Visual basic: odbc su MySql
Visual basic: odbc su MySqlVisual basic: odbc su MySql
Visual basic: odbc su MySql
 
Laboratorio Di Basi Di Dati 01 Introduzione
Laboratorio Di  Basi Di  Dati 01 IntroduzioneLaboratorio Di  Basi Di  Dati 01 Introduzione
Laboratorio Di Basi Di Dati 01 Introduzione
 
Biblioteconomia
BiblioteconomiaBiblioteconomia
Biblioteconomia
 
Ensaladas by savipi
Ensaladas by savipiEnsaladas by savipi
Ensaladas by savipi
 
acmscamp4
acmscamp4acmscamp4
acmscamp4
 
Consellos TIC
Consellos TICConsellos TIC
Consellos TIC
 
Eleccions a l’escola
Eleccions a l’escolaEleccions a l’escola
Eleccions a l’escola
 
Estadistica trabajo
Estadistica trabajoEstadistica trabajo
Estadistica trabajo
 

Similar to Supermercato

Presentazione Pseudocodice
Presentazione PseudocodicePresentazione Pseudocodice
Presentazione Pseudocodicemerina91
 
Presentazione Pseudocodice
Presentazione PseudocodicePresentazione Pseudocodice
Presentazione Pseudocodicemerina91
 
Programma In Visual Basic
Programma In Visual BasicProgramma In Visual Basic
Programma In Visual Basickiarina91
 
Presentazione dei compiti per le vacanze
Presentazione dei compiti per le vacanzePresentazione dei compiti per le vacanze
Presentazione dei compiti per le vacanzeblablabla
 
Presentazione compiti per le vacanze
Presentazione compiti per le vacanzePresentazione compiti per le vacanze
Presentazione compiti per le vacanzeblablabla
 
Presentazione In power point di Matteo Pistolesi
Presentazione In power point di Matteo PistolesiPresentazione In power point di Matteo Pistolesi
Presentazione In power point di Matteo Pistolesiguest297d9f
 
La mia presentazione sull'esercizio delle vacanze
La mia presentazione sull'esercizio delle vacanzeLa mia presentazione sull'esercizio delle vacanze
La mia presentazione sull'esercizio delle vacanzelore10sl
 
Esercizio N°29 Pag 299
Esercizio N°29 Pag 299Esercizio N°29 Pag 299
Esercizio N°29 Pag 299guestc3d5db
 
Esercizio 49 pag.301 Visual Basic
Esercizio 49 pag.301 Visual BasicEsercizio 49 pag.301 Visual Basic
Esercizio 49 pag.301 Visual Basicvane1989
 
Presentazione Es 49 Pag 301 Visual Basic
Presentazione Es 49 Pag 301 Visual BasicPresentazione Es 49 Pag 301 Visual Basic
Presentazione Es 49 Pag 301 Visual Basicfabbro1991
 
Presentazione Diagramma a blocchi per le Vacanze Natalizie
Presentazione Diagramma a blocchi per le Vacanze NataliziePresentazione Diagramma a blocchi per le Vacanze Natalizie
Presentazione Diagramma a blocchi per le Vacanze Natalizieyaya90
 
Presentazione Diagramma a Blocchi "Ristorante"
Presentazione Diagramma a Blocchi "Ristorante"Presentazione Diagramma a Blocchi "Ristorante"
Presentazione Diagramma a Blocchi "Ristorante"yaya90
 
Esercizio 27 Pag 299
Esercizio 27 Pag 299Esercizio 27 Pag 299
Esercizio 27 Pag 299Riccardino_91
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)STELITANO
 
Break even point (3)
Break even point (3)Break even point (3)
Break even point (3)lucanespoli2
 

Similar to Supermercato (19)

Presentazione Pseudocodice
Presentazione PseudocodicePresentazione Pseudocodice
Presentazione Pseudocodice
 
Presentazione Pseudocodice
Presentazione PseudocodicePresentazione Pseudocodice
Presentazione Pseudocodice
 
Programma In Visual Basic
Programma In Visual BasicProgramma In Visual Basic
Programma In Visual Basic
 
ristorante
ristoranteristorante
ristorante
 
Presentazione dei compiti per le vacanze
Presentazione dei compiti per le vacanzePresentazione dei compiti per le vacanze
Presentazione dei compiti per le vacanze
 
Presentazione compiti per le vacanze
Presentazione compiti per le vacanzePresentazione compiti per le vacanze
Presentazione compiti per le vacanze
 
Presentazione In power point di Matteo Pistolesi
Presentazione In power point di Matteo PistolesiPresentazione In power point di Matteo Pistolesi
Presentazione In power point di Matteo Pistolesi
 
La mia presentazione sull'esercizio delle vacanze
La mia presentazione sull'esercizio delle vacanzeLa mia presentazione sull'esercizio delle vacanze
La mia presentazione sull'esercizio delle vacanze
 
Esercizio N°29 Pag 299
Esercizio N°29 Pag 299Esercizio N°29 Pag 299
Esercizio N°29 Pag 299
 
Esercizio 49 pag.301 Visual Basic
Esercizio 49 pag.301 Visual BasicEsercizio 49 pag.301 Visual Basic
Esercizio 49 pag.301 Visual Basic
 
Presentazione Es 49 Pag 301 Visual Basic
Presentazione Es 49 Pag 301 Visual BasicPresentazione Es 49 Pag 301 Visual Basic
Presentazione Es 49 Pag 301 Visual Basic
 
Presentazione Diagramma a blocchi per le Vacanze Natalizie
Presentazione Diagramma a blocchi per le Vacanze NataliziePresentazione Diagramma a blocchi per le Vacanze Natalizie
Presentazione Diagramma a blocchi per le Vacanze Natalizie
 
Presentazione Diagramma a Blocchi "Ristorante"
Presentazione Diagramma a Blocchi "Ristorante"Presentazione Diagramma a Blocchi "Ristorante"
Presentazione Diagramma a Blocchi "Ristorante"
 
Visual Basic, Equazioni Sec Grado
Visual Basic, Equazioni Sec GradoVisual Basic, Equazioni Sec Grado
Visual Basic, Equazioni Sec Grado
 
Lezione 11
Lezione 11Lezione 11
Lezione 11
 
Esercizio 27 Pag 299
Esercizio 27 Pag 299Esercizio 27 Pag 299
Esercizio 27 Pag 299
 
Lezione 10
Lezione 10Lezione 10
Lezione 10
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Break even point (3)
Break even point (3)Break even point (3)
Break even point (3)
 

More from High Secondary School

More from High Secondary School (14)

Php: riconoscere il dispositivo del client
Php: riconoscere il dispositivo del clientPhp: riconoscere il dispositivo del client
Php: riconoscere il dispositivo del client
 
6.01 php ajax_json_mysql
6.01 php ajax_json_mysql6.01 php ajax_json_mysql
6.01 php ajax_json_mysql
 
Php e database: php mysql
Php e database: php mysqlPhp e database: php mysql
Php e database: php mysql
 
Php e database: creare relazioni fra tabelle
Php e database: creare relazioni fra tabellePhp e database: creare relazioni fra tabelle
Php e database: creare relazioni fra tabelle
 
Php e data base creare tabelle con mysql
Php e data base  creare tabelle con mysqlPhp e data base  creare tabelle con mysql
Php e data base creare tabelle con mysql
 
Php e data base accedere a mysql
Php e data base  accedere a mysqlPhp e data base  accedere a mysql
Php e data base accedere a mysql
 
PHP, ricerca dati_in_file_sequenziali
PHP, ricerca dati_in_file_sequenzialiPHP, ricerca dati_in_file_sequenziali
PHP, ricerca dati_in_file_sequenziali
 
PHP Introduzione a javascript e validazione
PHP Introduzione a javascript e validazionePHP Introduzione a javascript e validazione
PHP Introduzione a javascript e validazione
 
Dal cacao al cioccolato
Dal cacao al cioccolatoDal cacao al cioccolato
Dal cacao al cioccolato
 
Una bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & SolidaleUna bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & Solidale
 
Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007
 
Visual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedureVisual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedure
 
Programmare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezioneProgrammare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezione
 
Funzione se Incapsulata
Funzione se IncapsulataFunzione se Incapsulata
Funzione se Incapsulata
 

Supermercato

  • 1.
  • 2.
  • 3.
  • 4. Facciamo un esempio immaginiamo… Un negozio Una cassa Il nostro carrello
  • 5.
  • 6. E che ci facciamo li dentro?
  • 7.
  • 8. Ma attenzione! C’è solo una piccola differenza. . Rispetto ad una cassa vera noi abbiamo bisogno di sapere prima quanti prodotti ci sono nel carrello
  • 9. Quindi partiremo così: Quanti articoli ci sono nel carrello?
  • 10. Poi possiamo partire a fare il lavoro per tante volte quanti sono gli articoli nel carrello
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Inizio v A Quanti articoli ci sono nel carrello? NP! i FINE CONT=0 CONTA=0 CONTB=0 ITOT=0 NP i v F 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. ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A
  • 16.
  • 17. E in Visual Basic, come si traduce? Cominciamo dall’inizio. Le prime operazioni di input. Inizio TextBox Nome: txtNP Command Nome: cmdPassaAllaCassa NP i
  • 18. Per adesso è facile. Ma il ciclo? Calma, calma. Adesso inizia il codice ma…. Un passo per volta! Prima dichiariamo le variabili! 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
  • 19. Il codice da scrivere deve essere eseguito alla pressione del pulsante cmdPassaAllaCassa
  • 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() End Sub Leggendo il diagramma a blocchi, cominceremo a scrivere qui!
  • 21. 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
  • 22. 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
  • 23. 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 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.
  • 24. Elaborazione Private Sub cmdPassaAllaCassa_Click() NP = txtNP.text End Sub ‘ Azzeramento variabili Cont=0 ContA = 0 ContB = 0 Itot=0 ‘ Inizio Ciclo Repeat Loop Until CONT = NP Infatti si scrivono le istruzioni che rappresentano l’INIZIO e la FINE del ciclo Tra la REPEAT e la LOOP metteremo le altre istruzioni
  • 25. Quindi, si scrive dove inizia e dove finisce il ciclo… REPEAT LOOP UNTIL CONT=NP v F 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.
  • 26. A questo punto si passa alle istruzioni del CICLO v F F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP Questa è una istruzione di INPUT. Fino ad adesso abbiamo imparato a tradurla con i TextBox. Ma se siamo dentro un ciclo dobbiamo usare la InputBox, anzi due inputbox perché due sono le variabili ( P e CM )
  • 27. ‘ Inizio Ciclo DO P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Loop Until CONT = NP P;CM Attenzione!!Un simbolo e due istruzioni.
  • 28. ‘ Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 Loop Until CONT = NP Cont=cont+1 Questa è facile! E’ una assegnazione .
  • 29. ‘ 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 CM=“A” E quando trovo una struttura condizionale la traduco con la se. v F Scrivo tutta la se, compreso IF , THEN , ELSE e l’ END IF , poi dentro metto le istruzioni
  • 30. ‘ 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 F CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 v
  • 31. ITOT=ITOT+P ‘ 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 Qui invece, sommo l’importo totale
  • 32. DOVE SIAMO? v F F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP QUI!!!
  • 33. Manca, poco… FINE Il calcolo dell’importo scontato L’Output dei risultati ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A
  • 34. FINE ‘ 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
  • 35. ‘ 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) FINE ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A
  • 36. Che aspettate a provare il programma?
  • 37. Approfondimenti F CM=“A” CONTA=CONTA+1 v Che succede se ho una struttura condizionale solo con il vero? Come si traduce in VB? IF CM=“A” THEN CONTA = CONTA+1 END IF