TURBOPASCAL
…. ripassiamo
- prof. V. Riboldi -
Programmare in Turbo Pascal
(TP)
significa operare una “traduzione” in frasi
del linguaggio TP (codifica)

delle frasi in linguaggio di progetto (LP)
oppure

dei simboli grafici del diagramma a blocchi (flowchart) di un algoritmo
- prof. V. Riboldi -
In un programma TP si distinguono
le seguenti parti:



intestazione
sezione delle dichiarazioni
corpo del programma
- prof. V. Riboldi -
Intestazione
e' formata da una sola riga che inizia
con la parola chiave program seguita
dal nome del programma e dal ;
(punto e virgola)
- prof. V. Riboldi -
Sezione delle dichiarazioni
devono essere dichiarati tutti gli oggetti del
programma (costanti, variabili, funzioni,
procedure ....) prima di essere usati
const NomeCostante = Valore ;
var NomeVariabile : tipovariabile ;
- prof. V. Riboldi -
Corpo del programma
inizia con la parola chiave begin (inizio)
seguita dalla lista delle istruzioni che
vengono eseguite in ordine sequenziale e
termina con la parola chiave end (fine)
seguita da un . (punto)
la coppia di termini begin ... end
(costrutto di blocco) serve per
“comunicare al calcolatore” che le
istruzioni ivi comprese sono un unico
blocco.
- prof. V. Riboldi -
CODIFICA DELLE ISTRUZIONI
per indicare una istruzione di acquisizione
di dati
LP
TP
leggi A,B,C
read (A,B,C) ;
readln (A,B,C);
- prof. V. Riboldi -
CODIFICA DELLE ISTRUZIONI
per indicare la comunicazione di dati
LP
TP
scrivi A,B
write (A,B);
writeln (A,B);
- prof. V. Riboldi -
Le strutture di controllo
Teorema di Jacopini-Bohm
Un qualunque algoritmo può essere
costruito usando solo tre strutture di
controllo del processo di elaborazione
Sequenza
Selezione
Iterazione
- prof. V. Riboldi -
La sequenza


Indica l’ordine in
cui devono essere
eseguite le
istruzioni
In TP le istruzioni
di una sequenza
sono racchiuse
dalle parole
riservate begin e
end
inizio
istruzione 1
istruzione 2
istruzione 3
fine
- prof. V. Riboldi -
La selezione binaria



scelta tra due
possibilità alternative
if proposizione then
istruzione1 else
istruzione2
se le istruzioni sono
più di una vanno
racchiuse tra begin e
end
F
V
proposizione
istruzione 1
- prof. V. Riboldi -
istruzione 2
La selezione - Complementi




la selezione può esistere in forma semplificata
(senza else)
l'istruzione che precede else non deve mai essere
seguita dal ; invece la fine della struttura
condizionale è caratterizzata dal ;
se più condizioni devono essere verificate
contemporaneamente, esse vanno collegate
dall’operatore logico and e racchiuse tra parentesi
tonde
se deve verificarsi almeno una condizione tra un
certo numero, esse vanno collegate dall’operatore
logico or e racchiuse tra parentesi tonde
- prof. V. Riboldi -
La selezione - Complementi
Le istruzioni if possono presentarsi
 in
cascata
 annidate
 multiple
- prof. V. Riboldi -
Condizioni in cascata – flow chart
INIZIO
leggi cod, prezzo, pag
falso
vero
prezzo>psconto
prezzo := prezzo - (prezzo*p1)/100
vero
falso
pag
pag='c'
= 'c'
prezzo := prezzo - (prezzo*p2)/100
scrivi prezzo
FINE
APPROFONDIAMO LA SELEZIONE - Problema 1
- prof. V. Riboldi -
Condizioni annidate – flow chart
INIZIO
leggi nome, pn
sp := 0
F
V
pn > p1
F
V
pn < p2
F
V
pn > = p3
sp := pn + pr2
sp := pn + pr1
sp := pn + pr3
V
F
sp <> 0
scrivi nome,
'nessun premio'
scrivi nome, sp
FINE
APPROFONDIAMO LA SELEZIONE - Problema 2
- prof. V. Riboldi -
Condizioni multiple
LP
se <condizione1> allora .....
se <condizione2> allora .....
.......................
altrimenti (*istr. facoltativa*)
TP
case NOMEVARIABILE of
VALORE1:
begin
blocco istruz. 1;
end;
VALORE2:
begin
blocco istruz. 2;
end;
……….
else (*istr. facoltativa*)
....................
fine (*istr. obbligatoria*)
....................
end; (*istr. obbligatoria*)
- prof. V. Riboldi -
Selezione multipla - spiegazione
Quando la variabile di questa struttura,
che, poiché discrimina la scelta, è detta
selettore, assume il VALORE1 vengono
eseguite le istruzioni corrispondenti a tale
valore e così via.
 Quando la variabile assume un valore non
specificato vengono eseguite le istruzioni
del blocco che segue la parola else; se
questa parte viene omessa e la variabile
assume un valore non specificato tra i
valori dell’elenco, l’esecutore procede con
l’istruzione successiva.

- prof. V. Riboldi -
Selezione multipla - osservazioni




I valori elencati devono essere dichiarati dello
stesso tipo della variabile selettore
L’istruzione case significa “nel caso che”
Se uno stesso blocco di istruzioni deve essere
eseguito per più di un valore, allora basta
farne un elenco separandoli con una virgola
Se uno stesso blocco di istruzioni deve essere
eseguito per un intervallo di valori, per
esempio per 0  NOMEVARIABILE  10, si
utilizza la scrittura 1..10 in cui
NOMEVARIABILE assume valori interi
- prof. V. Riboldi -
Scarica

TURBO PASCAL