UNIVERSITA’ DELLA CALABRIA
UNIVERSITÀCALABRIA
DELLA
Facoltà di Scienze Matematiche Fisiche e Naturali
Corso di Laurea in Biologia A.A. 2010/11
ESERCIZIO 1 (AREA RETTANGOLO)
Scrivere un programma che legga da input la base e l’altezza di un rettangolo e ne calcoli l’area.
Se la base o l’altezza lette sono minori di 0 stampare un messaggio di errore.
Svolgimento:
PASSO 1: Individuare le variabili che il programma dovrà leggere da input:
“legga da input la base e l’altezza”
Questo verrà tradotto con un Parallelogramma nel diagramma di flusso e con l’istruzione:
base = InputBox("Inserisci la base")
nel corrispondente programma Visual Basic.
PASSO 2: Individuare l’output che dovrà restituire il programma:
“e ne calcoli l’area”
L’area è il risultato dell’operazione base*altezza che viene tradotta con un Rettangolo nel
diagramma di flusso e con l’istruzione:
area = base*altezza
nel corrispondente programma Visual Basic.
PASSO 3: Analizzare sotto quali condizioni non può essere effettuato il calcolo:
“Se la base o l’altezza inserite sono minori di 0 stampare un messaggio di errore.”
In questo caso dobbiamo fare un CONTROLLO sulla base:
• se la base è <0 allora stampiamo un messaggio di errore altrimenti
facciamo un CONTROLLO sull’ altezza:
• se l’altezza è <0 allora stampiamo un messaggio di errore
altrimenti
calcoliamo l’area.
Questi controlli si traducono con un Rombo nel diagramma di flusso e con il costrutto
If (Se) Then (allora) Else (altrimenti) End If (fine del controllo)
nel programmaVisual Basic. Quindi nel nostro caso diventa:
if base<0 then
Print “ERRORE: la base deve essere positiva”
Else
if altezza<0 then
Print “ERRORE: la base deve essere
positiva”
else
Annamaria Bria ([email protected])
area = base*altezza
Print “AREA:”; area
endif
endif
PASSO 4: Stampare l’output del programma, che nel diagramma di flusso viene rappresentato con
un Parallelogramma mentre nel programma viene tradotto con l’istruzione:
Print “AREA:”; area
RICORDA CHE:
1. tutte le variabili che si usano in un programma Visual basic vanno dichiarate prima di essere
usate in altre parti del programma. La sintassi per dichiarare una variabile è:
Dim NomeVariabile as Tipo
dove
o NomeVariabile è un nome che deve essere unico per ogni variabile e deve
essere una sola parola -- ES: base rettangolo non è nome di variabile valido
mentre baseRettangolo è un nome di variabile valido.
o Tipo può essere Integer, Double, Char.
2. Il costrutto If-Then-Else esprime in genere una biforcazione (infatti nel diagramma
abbiamo due uscite per base>0 e altezza>0). Se è vera la condizione dell’If eseguo il corpo
dell’If, altrimenti eseguo il corpo dell’Else. Non vengono eseguite entrambe!
Annamaria Bria ([email protected])
DIAGRAMMA
IAGRAMMA DI FLUSSO
PROGRAMMA VISUAL BASIC
Sub Area( )
Dim base, altezza,
, area as Double
base = InputBox("Inserisci la base")
altezza = InputBox(“Inserisci l’altezza”)
if base<0 then
Print “ERRORE: la base deve essere positiva”
Else
if altezza<0 then
Print “ERRORE: la base deve essere positiva”
else
area = base*altezza
Print “AREA:”; area
endif
endif
End Sub
Annamaria Bria ([email protected])
ESERCIZIO 2 (AREA RETTANGOLO)
Scrivere un programma che legga da input la base e l’altezza di un rettangolo e ne calcoli l’area.
Se la base è minore di 0 continua a leggere un nuovo valore fino a quando non viene inserito un
valore corretto per la base.
Se l’altezza è minore di 0 continua a leggere un nuovo valore fino a quando non viene inserito un
valore corretto per l’altezza.
Svolgimento:
PASSO 1: vedi PASSO 1 esempio precedente.
PASSO 2: vedi PASSO 2 esempio precedente.
PASSO 3: Analizzare sotto quali condizioni non può essere effettuato il calcolo:
“Se la base è minore di 0 continua a leggere un nuovo valore fino a quando non viene
inserito un valore corretto per la base”
Poiché dobbiamo continuare a leggere fino a quando non viene inserito un valore corretto il
programma dovrà:
• fin tanto che la base è <0 leggere un nuovo valore per la base;
trovato il valore per la base dovrà:
• fin tanto che l’altezza è <0 leggere un nuovo valore per l’altezza;
Questi controlli si traducono con un Rombo nel diagramma di flusso e con il costrutto
While (fin tanto che) WEnd(fine del While)nel programmaVisual Basic, che nel nostro
caso è:
While base<0
base = InputBox("Inserisci la base")
Wend
While altezza<0
altezza = InputBox(“Inserisci l’altezza”)
Wend
PASSO 4: Stampare l’output del programma, che nel diagramma di flusso viene rappresentato con
un Parallelogramma mentre nel programma viene tradotto con l’istruzione:
Print “AREA:”; area
Annamaria Bria ([email protected])
DIAGRAMMA DI FLUSSO
PROGRAMMA VISUAL BASIC
Sub Area()
Dim base, altezza, area as Double
base = InputBox("Inserisci la base")
altezza = InputBox(“Inserisci l’altezza”)
While base<0
base = InputBox("Inserisci la base")
wend
While altezza<0
altezza = InputBox(“Inserisci l’altezza”)
wend
area = base*altezza
Print “AREA:”; area
End Sub
Annamaria Bria ([email protected])
Scarica

25 Gennaio - Dipartimento di Matematica e Informatica