Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Input sta a Text Box...
In Visul basic le istruzioni di
input vengono effettuate tramite
alcuni oggetti:
TEXT BOX
COMBO BOX
INPUT BOX
Input in Visual Basic
Le istruzioni tipiche di input in visual basic
sono:
variabile=txtnome.text
variabile=combo
variabile=Inputbox(“testo di input”)
...come output sta a label
In Visul basic le istruzioni di output vengono
effettuate tramite alcuni oggetti:
Label
MsgBox
Output in Visual Basic
Le istruzioni tipiche di output in visual
basic sono:
lblnome.caption=“altro testo”&
variabile & “altro testo”
MsgBox(“messaggio da visualizzare”)
Print variabile
Convertire
Occorre ricordare che gli oggetti del visual
basic utilizzati per gli input lavorano con le
stringhe e quindi occorre convertire da
stringhe in valori numerici se si hanno delle
variabili di tipo numerico.
Abbiamo alcune funzione predefinite per far
questo:
Cint(da stringa a integer)
Cdbl(da stringa a double)
Convertire
Nel caso del output,visto che nel visul basic
gli oggetti atti a tale scopo lavorano su
stringhe,occorre convertire i valori numerici
in alfanumerici.
Abbiamo una funzione predefinita per fa
questo
CStr(da numerico a stringa)
Convertire:esempi
Input(da stringa in numerico)
variabile=CInt (txtnome.text)
variabile=CDbl (combo)
variabile=CInt(Inputbox(“testo opzionale”))
output (da numerico a stringa)
lblnome.caption=“altro testo”&CStr(variabile) &
“altro testo”
MsgBox=
Istruzioni di assegnazione
spesso compaiono espressioni, cioè formule
o regole di calcolo che specificano sempre un
valore o risultato:
sconto=(valoreiniziale*10)/100
prezzoFinale=valoreiniziale-sconto
delta = b ^ 2 - 4 * a * c
x1 = -b - Sqr(delta) / 2 * a
NB: Sqr(X) è una funzione predefinita che
restituisce la radice quadra di X
Problematica sul controllo
Le strutture di controllo permettono di
definire il percorso (flusso) di ogni istruzione
all'interno di un programma;
La programmazione strutturata propone tre
schemi:
Sequenza
Selezione
Iterazione
Risultato fondamentale
TEOREMA (Böhm-Jacopini) :
Dato un programma, ne esiste uno
equivalente che utilizza
esclusivamente le tre strutture di
controllo fondamentali: sequenza,
selezione e iterazione.
La sequenza
La sequenza è il più semplice dei tre
costrutti fondamentali e viene
utilizzato quando le istruzioni devono
essere eseguite ordinatamente, con
lo stesso ordine con cui sono scritte,
per cui l’istruzione successiva è
quella in posizione successiva.
E’ spesso indicata col termine
blocco.
Selezione o alternativa
La selezione o alternativa permette di effettuare
una scelta fra due possibili alternative. Per
effettuare la scelta occorre valutare una
condizione.
Possiamo distinguere cinque tipi di alternative:
a una via
a due vie
a cascata
annidata
Multipla
Alternativa a una via
In Visual Basic
IF condizione THEN
istruzione
END IF
Alternativa a due vie
In Visual Basic
IF condizione THEN
istruzione1
ELSE
istruzione2
END IF
Selezione in cascata
In Visual basic:
IF condizione1 THEN
istruzione1
ELSE
istruzione2
END IF
IF condizione2 THEN
istruzione4
ELSE
istruzione3
END IF Selezione annidata
In Visual Basic
IF condizione1THEN
IF condizione2 THEN
istruzione1
ELSE
istruzione2
END IF
ELSE
istruzione3
END IF Selezione annidata2
In Visual Basic
IF condizione1THEN
IF condizione2 THEN
istruzione1
ELSE
istruzione2
END IF
ELSE
istruzione3
END IF Selezione multipla
In Visual Basic
SELECT CASE scelta
CASE 1
istruzione1
CASE 2
istruzione2
CASE ELSE
istruzione3
END SELECT
Selezione multipla: esempi
Alcune istruzioni possibili in Visual basic
possono essere:
Case “lunedi” per indicare un singolo valore
Case 2,4,7 per indicare più valori
Case 2 to 7 per indicare i valori compresi in un
certo intervallo
N.B: la variabile scelta può essere sia di tipo
numerico che alfanumerico
esempio sulla selezione multipla
creare un’agenda settimanale
INIZIO
leggi
giorno
giorno
lun case else
dom
mar mer mesg “non hai
” ” ” ”
mesg “vai in 3a mesg “vai in 5a mesg “g.libero mesg “g.festivo digitato un giorno della
”
settimana!
scrivi mesg
Operatori di relazione
< minore di
<= minore o uguale di
> maggiore di
>= maggiore o uguale di
<> Diverso
= uguale
Esercizio 1 :
Calcolo del massimo tra due numeri
Codice:
' input
x=CInt(txtx.text)
y=CInt(txty.text)
'blocco selezione a 2 vie
if x>y then
massimo=x
else
massimo=y
end if
'output
lblrisultato.caption=CStr(massimo)
Esercizio 2:
nel seguente algoritmo dire per quali condizioni è eseguita
l’istruzione c? e l’istruzione b? e l’istruzione a?
falso vero
condizione1
Istruzione c falso condizione2 vero
Istruzione b Istruzione a
Esercizio 3:
nel seguente algoritmo dire per quali condizioni è eseguita
l’istruzione c? e l’istruzione b? e l’istruzione a?
falso condizione1 vero vero
vero
falso falso
condizione2 condizione2
Istruzione d Istruzione c Istruzione a
Istruzione b
Esercizio 4:
il segmento di programma riportato sotto presenta delle
istruzioni inutili:
if a=0 then
lblmessaggio.caption=“valore nullo”
else
if a<>0 then
lblmessaggio.caption=“valore diverso da zero”
end if
end if
scritta in questo modo che tipo di struttura è?
Esercizio 5:
compare nella label lblmessaggio dopo l’esecuzione
delle seguenti istruzioni:
A=5 A=2
B=3 B=7
if A>B then if A>B then
C=A-B C=A-B
else else
C=B-A C=B-A
end if end if
lblmessaggio.caption=C lblmessaggio.caption=C
Eserizio6:
Su una certa somma di denaro viene
applicata un imposta in base al seguente
schema:
Somma < 5000 imposta =5%
Somma compresa tra 5000 e 10000 imposta =
10%
Somma >10000 imposta =15%
Calcolare la somma finale
Eserizio6:
Diagramma a blocchi
Eserizio6:
Codice
' input
somma=CDbl(txtsomma.text)
'blocco selezione multipla
Select case somma
case 0 to 5000
somma=somma+(somma*5)/100
case 5000 to 10000
somma=somma+(somma*10)/100
case is >10000
somma=somma+(somma*15)/100
case else somma=0
End select
'output
lblrisultato.caption=CStr(somma)
Iterazione o Ripetizione
I costrutti di iterazione detti anche di ripetizione o cicli,
consentono di eseguire molte volte la stessa istruzione fino
al verificarsi di una condizione. Due tipi:
Condizionale: la ripetizione viene decisa in base al risultato
di un test, da effettuarsi ad ogni iterazione:
ripeti Istruzione finchè succede una certa cosa;
mentre succede una certa cosa esegui Istruzione;
• Il test può essere fatto all’inizio o alla fine.
Enumerativa: ripetizione di un’azione per un numero di
volte determinato (o determinabile) all’inizio dell’esecuzione
dell’istruzione “ripeti tot volte”
Sono equivalenti ma appropriati in situazioni diverse !
Ripetizione postcondizionale
In Visual Basic
Do
istruzione
Loop Until condizione
Che equivale a:
1 Si esegue l’istruzione
2 Viene valuta la condizione se il valore
è FALSO si torna al passo 1
3 Se il valore è VERO si esce dal ciclo
Postcondizionale
Con una ripetizione postcondizionale, se la
condizione è inizialmente vera, il blocco di
istruzioni verrà comunque eseguita almeno
una volta.
Per essere sicuri che il ciclo termini, esso
dovrà contenere qualche istruzione che
modifichi il valore di verità dell’espressione.
Ripetizione precondizionale
In Visual Basic
Do While condizione
istruzione
Loop
Che equivale a:
1 Valuta la condizione
2 Se il valore è VERO si esegue
l’istruzione e si torna al passo 1
3 Se il valore è FALSO si esce dal ciclo
Precondizionale
Se la condizione è inizialmente falsa, l’istruzione
del ciclo non viene mai eseguita.
Quindi un’istruzione con una ripetizione
precondizionale può:
essere eseguito più volte
non essere mai eseguito
Attenzione: L’istruzione interna ad una ripetizione
precondizionale deve alla fine rendere falsa la
condizione perchè il ciclo si fermi, altrimenti si va
avanti all’infinito (loop)
Ripetizione enumerativa
In certi casi si conosce a priori il numero delle
iterazioni che devono essere eseguite
Esiste una struttura di ripetizione che funziona
esattamente in questo modo: utilizza una variabile
contatore che viene inizializzata ad un valore
particolare e successivamente incrementata fino
ad un valore massimo.
Per ogni valore che il contatore assume viene
ripetuta l’esecuzione di un blocco di istruzioni.
Ripetizione enumerativa
In Visual Basic
FOR c<=max TO max STEP salto
istruzione
Next c
Che equivale a:
1 Inizializza il contatore al valore min;
2 Se condizione è FALSA esci, altrimenti vai
alla 3;
3 Esegui l’istruzione
4 Incrementa contatore del valore salto
5 vai alla 2 Esempi
Esempio 1:
Calcolo dell’area di un rettangolo
Tabella delle variabili
Nome Descrizione Tipo Utilizzo
base Base del rettangolo numerico Input
altezza Altezza del rettangolo numerico Input
area Area del rettangolo numerico Output
Esempio 1:
Calcolo dell’area di un rettangolo
Interfaccia grafica Diagramma a blocchi
Esempio 1:
Calcolo dell’area di un rettangolo
In Visual basic Diagramma a blocchi
' dichiarazione variabili
dim base as integer
dim altezza as integer
dim area as double
Private Sub btcalcola_Click()
'input con text box
base=CInt(txtbase.text)
altezza=CInt(txtaltezza.text)
'blocco istruzioni
area=base*altezza
'output con label
lblarea.caption= “Area = ” & CStr(area)
End Sub Esempio 2:
Calcolo della media di tre numeri interi
Tabella delle variabili
Nome Descrizione Tipo Utilizzo
a Primo numero numerico Input
b Secondo numero numerico Input
c Terzo numero numerico Input
somma Somma dei numeri a,b numerico Lavoro
e c
media Media dei numeri a,b e numerico Output
c
Esempio 2:
Calcolo della media di tre numeri
Diagramma a blocchi
Interfaccia grafica
Esempio 2:
Calcolo della media di tre numeri
In Visual Basic Diagramma a blocchi
' dichiarazione variabili
dim a as integer Private Sub btcalcola_Click()
'input con text box
dim b as integer a=CInt(txta.text)
dim c as integer b=CInt(txtb.text)
dim somma as integer c=CInt(txtc.text)
dim media as double 'blocco istruzioni
somma=a+b+c
media=somma/3
'output con label
lblmedia.caption= “Media = ” & CStr(media)
End Sub
Esempio 3:
Dato il nome e l’anno di nascita di una persona,
calcolarne l’età
Tabella delle variabili
Nome Descrizione Tipo Utilizzo
nome Nome della alfanumerico Input
persona
a_nascita Anno di nascita numerico Input
della persona
a-attuale Anno attuale numerico Input
età Età della persona numerico Output
Esempio 3:
Calcolo eta di una persona
Interfaccia grafica Diagramma a blocchi
Esempio 3:
Calcolo eta di una persona
In Visual Basic Diagramma a blocchi
' dichiarazione variabili
dim nome as string
dim anno_nascita as integer
dim anno_attuale as integer
dim eta as integer
Private Sub btcalcola_Click()
'input con text box
nome=txtnome.text
anno_nascita=CInt(txtnascita.text)
anno_attuale=CInt(txtattuale.text)
'blocco istruzioni
eta=anno_attuale - anno_nascita
'output con label
lbleta.caption= “Il sign ” & nome & “ ha ” & CStr(eta)
End Sub Esempio 4:
Visualizzare i numeri da 1 a 10
Tabella della variabili
Nome Descrizione Tipo Utilizzo
n Numero di elementi numerico costante
da visualizzare
cont Numero che conta gli numerico Lavoro/
elementi visualizzati Output
(contatore)
num Numero da numerico Output
visualizzare
Esempio 4:
Visualizzare i numeri da 1 a 10
Diagrammi a blocchi (post, pre, enumerativa)
Esempio 4:
Visualizzare i numeri da 1 a 10
In Visual Basic Diagramma a blocchi
' dichiarazione costanti Private Sub btvisualizza_Click()
const n=10 'inizializzazione
' dichiarazione variabili num=0
dim num as integer 'blocco post condizionale
Do
'istruzioni
num=num+1
'output con label
lblnum.caption= Cstr(num)
Loop Until num=10
'uscita ciclo
End Sub
Esempio 4:
Visualizzare i numeri da 1 a 10
In Visual Basic Diagramma a blocchi
' dichiarazione costanti Private Sub btvisualizza_Click()
const n=10 'inizializzazione
' dichiarazione variabili num=0
dim num as integer 'blocco precondizionale
Do while num <= n
'istruzioni
num=num+1
'output con print
print num
Loop
'uscita ciclo
End Sub
Esempio 4:
Visualizzare i numeri da 1 a 10
In Visual Basic Diagramma a blocchi
' dichiarazione costanti
const n=10
' dichiarazione variabili
dim cont as integer
Private Sub btvisualizza_Click()
'blocco enumerativa
For cont=1 To n Step 1
'output con print