programmare in visual basic
Click here to load reader
-
Upload
viola-anesin -
Category
Documents
-
view
220 -
download
6
description
Transcript of programmare in visual basic
![Page 1: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/1.jpg)
Programmare in Visual Basic
Secondo esercizio•Input / Output•Dichiarazione delle variabili•Concatenazione di stringhe
![Page 2: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/2.jpg)
Questa opera è sotto licenza
Si puo’ usarla liberamente… • Citando la fonte
• Per scopi non commerciali
• Rimettendola a disposizione di tutti con la stessa licenza
• A cura di Stefano Floris [email protected](per scopi commerciali occorre richiedere espressa autorizzazione)
![Page 3: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/3.jpg)
Testo del problema da risolvere
Calcolare la media dei voti dopo aver preso in input il voto orale e quello scritto.
![Page 4: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/4.jpg)
Individuiamo i dati in input e output
• Dati in Input: Orale, Scritto• Dati in Output: Media
![Page 5: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/5.jpg)
Diagramma a blocchiTraduzione del diagramma a
blocchi in Visual BasicINIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE
La media dei voti indicati è 5!
Operazione di input.Utilizzo due controlli textbox (uno per ciascun dato)
Elaborazione.Devo calcolare la media dei voti, il risultato della formula lo salvo in una variabile che chiamo media (e che devo dichiarare)
Output.Dopo il calcolo mi preoccupo di visualizzarlo all’utente. Ho due possibilità (MsgBox oppure un controllo di tipo textbox).In entrambi i casi devo comporre un messaggio che sia comprensibile dall’utente. Per esempio:
![Page 6: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/6.jpg)
Traduzione in Visual BasicINIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE
Controllo textBox
Nome: txtOrale Controllo textBox
Nome: txtScritto
Controllo CommandButton
Nome: cmdCalcolaMedia
![Page 7: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/7.jpg)
Traduzione in Visual BasicPrima di usare una variabile devo dichiararla (media è reale perché riceve il risultato di una divisione, quindi Double):
Option Explicit
Dim Media As Double
----------------------------------------------------------------
INIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE
Media = (txtOrale.text + txtScritto.text) / 2
Media = ???????
Assegnazione: attribuire un valore ad
una variabile
Al posto dei ???? Occorre mettere il valore o
l’espressione (cioè la formula per calcolare il
valore)
![Page 8: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/8.jpg)
Somma o concatenazione?Prima di usare una variabile devo dichiararla (media è reale perché riceve il risultato di una divisione, quindi Double):
Option Explicit
Dim Media As Double
----------------------------------------------------------------
INIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE
Media = (txtOrale.text + txtScritto.text) / 2
Sbagliato! Perché se txtOrale.text vale 8 e
txtScritto.text vale 6, con questa istruzione media rischia di diventare “86”
diviso due, cioè 43.
Infatti il simbolo + (o il simbolo &) somma i numeri e
concatena i caratteri. Le proprietà Text sono di tipo
testo (caratteri): se vogliamo sommare dobbiamo prima
trasformarle in numeri!
![Page 9: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/9.jpg)
Somma!INIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE
Prima di usare una variabile devo dichiararla (media è reale perché riceve il risultato di una divisione, quindi Double):
Option Explicit
Dim Media As Double
----------------------------------------------------------------
Media = ( Val(txtOrale.text) + Val(txtScritto.text) ) / 2
Finalmente!!Adesso otteniamo che
8+6=1414/2=7
Dentro la variabile Media ci finisce il valore giusto!!
![Page 10: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/10.jpg)
Finalmente l’output!INIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE
Abbamo due modi per far l’output Usare
MsgBox
Oppure utilizzare un textBox dove
riporre il risultato
In entrambi i casi dobbiamo comporre un messaggio per chi lo deve leggere. Tipo…
“Ecco, la media dei voti è 5”
![Page 11: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/11.jpg)
Messaggio “Ecco, la media
dei voti è 5”
Questo messaggio è composta a sua volta da due parti. Una fissa, che è sempre uguale (sottolineata). Un’altra variabile (in rosso). Infatti è la variabile media (di tipo numerico, reale) che contiene il valore della media.
La parte in rosso è variabile perché ogni volta il suo valore dipende da come l’utente che usa il programma si comporta, dai valori che digita nello spazio dei nomi.
Quindi il messaggio sarà “Ecco, la media dei è” + media,
Ma…
![Page 12: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/12.jpg)
Concatenazione
Quindi il messaggio sarà “Ecco, la media è” + media,
Ma…
Il simbolo + si usa solo per somme algebriche
Il simbolo & si usa per concatenare parti di testo.
Visto che voglio creare un messaggio (cioè un testo) allora userò il simbolo & di concatenazione“Ecco, la media è” & media,ma…
![Page 13: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/13.jpg)
Trasformazione di tipo
Visto che creo un messaggio e che sto concatenando due testi è importante
verificare se le due cose che metto insieme sono dello stesso tipo (cioè testo). Media è di tipo numerico. Quindi la devo trasformare in testo con il comando cstr(Media). Il contrario
di Val usata per trasformare da testo a numero.
Quindi il messaggio sarà: “Ecco, la media è” & cstr(media)
![Page 14: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/14.jpg)
Output! Due scelte.INIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE
1° Possibilità (MsgBox)
MsgBox “Ecco, la media è” & cstr(Media)
2° Possibilità (usando il textBox)
txtMedia.Text = “Ecco, la media è” & cstr(Media)
![Page 15: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/15.jpg)
Output! Usando il TextBoxINIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE 2° Possibilità (usando il textBox)
txtMedia.Text = “Ecco, la media è” & cstr(Media)
![Page 16: programmare in visual basic](https://reader038.fdocuments.net/reader038/viewer/2022100509/568c511c1a28ab4916b15314/html5/thumbnails/16.jpg)
Il programmaINIZIO
OraleScritto
Media <-(Orale+Scritto)/2
Media
FINE
Option ExplicitDim media As Double----------------------------------------------------------Private Sub cmdCalcola_Click()media = (Val(txtOrale.Text) + Val(txtScritto.Text)) / 2
' Output: esempio con msgbox'MsgBox "La media è " & CStr(media)
' Output: esempio con TextBoxtxtMedia.Text = "La media è " & CStr(media)End Sub