Programmare In Visual Basic, prima lezione

Post on 14-Dec-2014

14.675 views 3 download

description

classe terza scuola secondaria superiore primi diagrammi a blocchi in visual basic

Transcript of Programmare In Visual Basic, prima lezione

Programmare in Visual Basic

Secondo esercizio•Input / Output•Dichiarazione delle variabili•Concatenazione di stringhe

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 flo.ste@lillinet.org(per scopi commerciali occorre richiedere espressa autorizzazione)

Testo del problema da risolvere

Calcolare la media dei voti dopo aver preso in input il voto orale e quello scritto.

Individuiamo i dati in input e output

• Dati in Input: Orale, Scritto

• Dati in Output: Media

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:

Traduzione in Visual BasicINIZIO

OraleScritto

Media <-(Orale+Scritto)/2

Media

FINE

Controllo textBox

Nome: txtOraleControllo textBox

Nome: txtScritto

Controllo CommandButton

Nome: cmdCalcolaMedia

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)

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!

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!!

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”

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…

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…

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)

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)

Output! Usando il TextBoxINIZIO

OraleScritto

Media <-(Orale+Scritto)/2

Media

FINE 2° Possibilità (usando il textBox)

txtMedia.Text = “Ecco, la media è” & cstr(Media)

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

Provate da soli

Realizzare un programma per prendere in input il numero di goal fatti nelle ultime tre partite e presentare il totale dei gol fatti.

Il nostro blog!

www.3cmercurio2007.wordpress.com