Turbo Pascal MSX – Lezione 5

da | Dic 2, 2023 | Programmazione, Turbo Pascal | 0 commenti

MSX Turbo Pascal Rubrica a cura di Stefano Roperto (parte 5)

Lezione 5

Cicli e istruzioni di controllo

In turbo Pascal sono presenti le consuete strutture iterative presenti in tutti i linguaggi di alto livello il ciclo FOR DO e le strutture REPEAT UNTIL e WHILE DO. Vediamoli nel dettaglio e  commentiamoli.

Ciclo FOR:

Program cicloFor;
var i:integer;
begin
FOR i:=0 to 10 DO
writeln(i);
end;
….
….
End.

Il ciclo FOR non presenta molte differenze, se non nella sintassi, rispetto al basic MSX ed è un ciclo che si utilizza quando è necessario ripetere una serie di istruzioni un numero noto di volte

Ciclo REPEAT

Program cicloRepeat;
var i,j,k:integer;
begin
j:=100;
k:=0
REPEAT
i:=i+k*2;
k:=k+1;
writeln(i);
UNTIL (k=j);
end;


End;

Il ciclo REPEAT è una struttura iterativa che permette di eseguire una serie di istruzioni fino a che (UNTIL) non si verifica una determinata condizione, quindi non si conosce a priori quante volte le istruzioni saranno eseguite.

Ciclo WHILE

Program cicloWhile;
var i,j,k:integer;
begin
j:=100;
k:=0
WHILE (k=j) DO
Begin
i:=i+k*2;
k:=k+1;
writeln(i);
end;il ciclo


End.

Il ciclo WHILE è simile al ciclo REPEAT, ma in questo caso le istruzioni del ciclo sono eseguite mentre (WHILE) la condizione è verificata e anche in questo caso non si conosce a priori il numero di iterazioni.
Come si vede apparentemente non vi sono differenze tra la struttura REPEAT e la struttura WHILE, ma in realtà vi è una differenza fondamentale che determina quando utilizzare una o l’altra struttura. Nel ciclo REPEAT le istruzioni nel ciclo sono eseguite almeno una volta, infatti l’istruzione di controllo è alla fine del ciclo, mentre in linea di principio le istruzioni nel  ciclo WHILE potrebbero non essere eseguite mai in quanto l’istruzione di controllo è all’inizio del ciclo e, ovviamente questo fa la differenza nella scelta della struttura da utilizzare in accordo col proprio algoritmo.
Per quanto riguarda le istruzioni di controllo turbo pascal mette a disposizione l’istruzione IF – THEN – ELSE e l’istruzione CASE OF. Vediamo anche qui un apio di esempi:

Istruzione IF

program istruzioneIf;
var i: integer;
begin
readln(i);
IF (i=1 )THEN
istruzioni;
ELSE
istruzioni;
end;


End.

Consideriamo un altro esempio un po’ più complesso :

Istruzione IF (versione 2)

program istruzioneIf;
var i: integer;
begin
readln(i);
IF (i=1) THEN
istruzioni;
IF (i= 2) THEN
istruzioni;
IF (i= 3) THEN
istruzioni;
ELSE
Istruzioni;
end;


End.

Qui abbiamo un controllo complesso che sebbene sia corretto da un punto di vista sintattico risulta poco pratico da un punto di vista pratico. Per ovviare a problemi come questo turbo pascal fornisce l’istruzione di controllo CASE OF:

istruzione CASE OF

 program istruzioneCase;
var i: integer;
begin
readln(i);
CASE i OF
1: istruzioni1;
2: begin
Istruzioni2;
istruzioni2;
istruzioni2;
end;
3:istruzioni3;
ELSE begin
Istruzioni_else;
        end;
end;


End.

L’istruzione CASE quindi fornisce una certa flessibilità alle strutture di controllo e permette di risolvere in maniera elegante situazioni in cui è necessario controllare molti valori diversi della stessa variabile. Come vediamo turbo Pascal, mette a disposizione del programmatore strutture iterative e di controllo complete ed efficienti.

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Turbo Pascal MSX – Lezione 7

Turbo Pascal MSX – Lezione 7

I FILES (parte 1) Turbo Pascal fornisce un completo set di istruzione per la gestione dei file. Il tipo FILE è rappresentato da una sequenza di oggetti dello stesso tipo, la dimensione di  un file non è determinata dal tipo, ma viene fornito un puntatore che si sposta...

Turbo Pascal MSX – Lezione 4

MSX Turbo Pascal Rubrica a cura di Stefano Roperto (parte 4) Lezione 4 Set di istruzioni Le parole riservate sono parte integrante di Turbo Pascal. Non possono essere ridefinite, né usate come identificatori o nomi di variabili. Il Turbo Pascal è sostanzialmente il...

Turbo Pascal MSX – lezione 3

MSX Turbo Pascal Rubrica a cura di Stefano Roperto (parte 3) Capitolo 3 Il tipo di dati definisce l’insieme di valori che una variabile può assumere. I tipi di dati più complessi che possono essere definiti dal programmatore, derivano tutti dai tipi standard. I tipi...

Turbo Pascal MSX – lezione 2

MSX Turbo Pascal Rubrica a cura di Stefano Roperto (parte 2) Capitolo 2 Introduzione al linguaggio Turbo Pascal Vedremo ora come è strutturato un programma in Turbo Pascal. Non è necessario comprendere tutto in questo momento, stiamo solo vedendo la struttura tipica...

it_ITIT_IT