![]() | ![]() |
|
|
RELAZIONE SULLO
SVOLGIMENTO
DEI PROGRAMMI IN TURBO PASCAL
ORDINECRESCENTE
ORDINECRESCENTE2
Programma 1: Ordinecrescente
ENUNCIATO DEL PROBLEMA
L'obiettivo del programma è mettere in ordine crescente tre numeri interi escludendo volta per volta le possibili combinazioni numeriche.
STRATEGIA DI RISOLUZIONE
La strategia di soluzione si divide in tre patri: la prima è volta a schematizzare i passaggi che dovrà inseguito operare il computer attraverso un diagra 434d34e mma di flusso. Elaborando il diagramma di flusso si stabiliscono già i nomi delle variabili. Nel nostro caso le variabili sono A, B, C e rappresentano i tre numeri, in più, nel diagramma troveremo P, M, G i tre contenitori delle variabili sopra indicate che indicano la grandezza del numero in essi contenuto (Piccolo, Medio, Grande).
La parti più importanti del diagramma sono le strutture di selezione, queste sono rappresentate da un rombo e sono una specie di incrocio: dalle estremità laterali del quadrilatero infatti partono due linee che rappresentano le due possibili "strade" da seguire; la prima "strada" afferma che la condizione che contiene il rombo è vera, mentre la seconda afferma che questa condizione è falsa.
IL secondo passaggio consiste nel riportare il diagramma di flusso in linguaggio progetto, cioè seguendo le norme di una rigida semantica, scrivere passaggio per passaggio quello che bisogna fare, questo avviene per due motivi: il primo è che il linguaggio normale può dar luogo ad ambiguità, mentre LP non da spazio a controversie di questo tipo; il secondo motivo è più pratico visto che aiuta la successiva traduzione del programma in linguaggio Turbo Pascal
Infatti la traduzione in linguaggio macchina è il terzo e ultimo passaggio per la creazione del programma. In ambiente TP l'unico linguaggio ammesso è quello del programma, ed è in inglese.
In ambiente Pascal bisogna seguire un ordine per impostare il programma; infatti come prima cosa dovremmo immettere nel computer i nomi e il tipo di variabili con cui abbiamo a che fare, e solo in seguito potremmo operare i passaggi che ci porteranno ad un programma operante.
LINGUAGGIO PROGETTO
Programma Ordinecrescente;
inizio
leggi A, B, C;
se A<B allora
se C<A allora
P:=C;
M:=A;
G:=B;
altrimenti
se B<C allora
P:=A;
M:=B;
G:=C;
altrimenti
P:=A;
M:=C;
G:=B;
altrimenti
se C<B allora
P:=C;
M:= B;
G:=A;
altrimenti
se A<C allora
P:=B;
M:=A;
G:=C;
altrimenti
P:=B;
M:=C;
G:=A;
scrivi P, M, G;
fine.
Programma 2: Ordinecresente2
ENUNCIATO DEL PROBLEMA
L'obbiettivo del programma è molto simile al primo con due differenze: in Ordinecrescente2 tenteremo di ordinare 5 numeri senza fare largo uso delle strutture di selezione.
STRATEGIA DI RISOLUZIONE
Anche questa volta attueremo i tre passaggi che abbiamo già descritto nel programma precedente, e le variabili si chiameranno A, I, N, B.
Come già accennato in questo programma non faremo largo uso delle strutture di selezione, infatti grazie all'utilizzo della variabile array (nel nostro caso A) possiamo gestire molto facilmente molti numeri senza prendere in considerazione ogni caso.
In questo programma però c'è un'altra particolarità: la variabile di comodo (B). Questa speciale variabile è usata per lo scambio di informazioni tra altre variabili, informazioni che altrimenti andrebbero perse.
Anche questa volta nel diagramma di flusso troveremmo parecchi rombi ma questa volta le frecce ritorneranno anche indietro per ripetere l'azione finché non si verifica quello che c'è scritto nel quadrilatero
Quindi mentre nel programma Ordinecrescente, si può lavorare solo ed esclusivamente con tre numeri, in Ordinecresente2 basta cambiare il valore delle variabili I e N (i due contatori che rappresentano quante volte bisogna eseguire una determinata operazione) per riuscire a ordinare un numero maggiore di numeri.
LINGUAGGIO PROGETTO
Programma Ordinecrescente;
inizio
I:=1; N:=5;
ripeti
leggi A(I);
I:=I+1;
finché I>5:
ripeti
I:=0;
N:=N-1;
ripeti
I:=I+1;
se A(I)>A(I+1) allora
B:=A(I);
A(I):=A(I+1);
A(I+1):=B;
finché I>N-1;
finché N=1;
I:=1;
ripeti
scrivi A(I);
I:=I+1;
finché I>5;
fine.
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025