• Non ci sono risultati.

Le procedure

N/A
N/A
Protected

Academic year: 2021

Condividi "Le procedure"

Copied!
7
0
0

Testo completo

(1)

Il Pascal (continua)

Università degli Studi di Salerno

Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari)

Docente: Angela Peduto A.A. 2005/2006

Angela Peduto - Informatica generale A.A. 2005/06

2

Le procedure

!

Spesso, soprattutto in programmi complessi e piuttosto elaborati, ci troviamo dinanzi al problema di ripetere uno stesso procedimento più volte all'interno dello stesso programma.

!

La soluzione a questo problema è data dal fatto che possiamo memorizzare una procedura e ripeterla a piacimento durante la stesura del programma.

!

Questa utilissima funzione ha la seguente sintassi:

PROCEDURE nomeprocedura;

BEGIN

blocco istruzioni ....

END;

(2)

Angela Peduto - Informatica generale A.A. 2005/06

3

Le procedure (2)

!

E' importante dire che i precedenti comandi devono essere digitati tra il settore dichiarativo e il corpo del programma (per intenderci, prima del BEGIN

iniziale).

!

Per richiamare una procedura durante il programma bisogna digitare il nome della procedura seguito da un punto e virgola(;).

PROGRAM numeri_casuali;

USES crt;

VAR a,b,c:INTEGER;

PROCEDURE output; (* Qualsiasi nome va bene *) BEGIN

WRITELN(' Il numero estratto e'' ',c);

READLN;

END;

BEGIN CLRSCR;

RANDOMIZE;

c:=RANDOM(10); (*genera un numero a caso compreso tra 0 e il numero indicato. Il massimo consentito è 255*)

CASE c OF 7:BEGIN

output;

END;

9:BEGIN output;

END;

3:BEGIN output;

END;

ELSE BEGIN

(3)

Angela Peduto - Informatica generale A.A. 2005/06

5

File di testo

!

Un file di testo (txt) è un file in cui sono scritte delel linee di testo. In Pascal per ‘lavorare’ con un file di testo è necessario creare un variiabile di tipo ‘file di testo’.

program Files;

var f: Text;

begin end.

Angela Peduto - Informatica generale A.A. 2005/06

6

File di testo (2)

!

Dopo che la varibile ‘file di testo’ è stata

dichiarata si può assegnare un nome al file di testo.

program Files;

var f: Text;

begin

Assign(f,'MyFile.txt');

end.

(4)

Angela Peduto - Informatica generale A.A. 2005/06

7

File di testo (3)

!

Per creare un ‘nuovo file vuoto’ si usa il comando Rewrite. Questo comando fa si che venga sovrascritto qualsiasi file di testo con lo stesso nome di quello da noi indicato.

program Files;

var f: Text;

begin

Assign(f,'MyFile.txt');

Rewrite(f);

end.

File di testo (3)

! I comandi Write e Writeln lavorano sui file di testo nello stesso modo che sullo schermo eccetto che possono essere usati con un parametro in più per specificare in quale file devono scrivere.

program Files;

varf: Text;

begin

Assign(f,'MyFile.txt');

Rewrite(f);

Writeln(f,'A line of text');

(5)

Angela Peduto - Informatica generale A.A. 2005/06

9

File di testo (4)

! Per leggere da un file che già esiste si deve utilizzare Reset invece di Rewrite. Readln si usa pe leggere le line di testo dal file. Di solito per leggere un file è necessario il costrutto while con condizione di uscita la fine del file (end of the file).

program Files;

varf: Text;

s: String;

begin

Assign(f,'MyFile.txt');

Reset(f);

while not eof(f) do Readln(f,s);

end.

Angela Peduto - Informatica generale A.A. 2005/06

10

File di testo (5)

! L’istruzione Append apre un file e permette di aggiungere del testo dopo la fine del file.

program Files;

varf: Text;

s: String;

begin

Assign(f,'MyFile.txt');

Append(f);

Writeln('Some more text');

end.

(6)

Angela Peduto - Informatica generale A.A. 2005/06

11

File di testo (6)

! Ricordate sempre di ‘chiudere’ il file dopo gli accessi altrimenti potrete perdere del testo.

program Files;

varf: Text;

s: String;

begin

Assign(f,'MyFile.txt');

Append(f);

Writeln('Some more text');

Close(f);

end.

File di testo (6)

!

Un file può essere rinominato mediante l’istruzione Rename e può essere cancellato con l’istruzione Erase.

program Files;

var f: Text;

begin

Assign(f,'MyFile.txt');

Rename(f,'YourFile.txt');

Erase(f);

(7)

Angela Peduto - Informatica generale A.A. 2005/06

13

File di testo (6)

program Max_su_file;

var x, y : Integer;

Massimo : Text;

begin

assign (Massimo, 'C:\Esercizi\Max.txt');

Rewrite (Massimo);

write ('Inserisci il primo numero: ');

Read(x);

write ('Inserisci il secondo numero: ');

Read(y);

if x>y then write (Massimo, x) else writeln (Massimo,y);

Close (Massimo);

Write ('Premi INVIO per terminare');

Readln;

Readln;

end.

Angela Peduto - Informatica generale A.A. 2005/06

14

File di testo (7)

program Elenco_inverso;

var

persone : array [1..10] of string;

i : integer;

memorizza : text;

begin i:=1;

while i <= 10 do begin

write ('Inserisci elemento numero',i:3 ,': ');

readln (persone[i]);

i := i+1;

end;

assign (Memorizza,'c:\esercizi\Persone.txt');

rewrite (Memorizza);

i:=10;

while i >= 1 do begin

writeln (Memorizza,persone[i]);

i := i-1;

end;

close (Memorizza);

writeln ('Nel file Persone.txt troverai la risposta');

write ('PREMI INVIO per terminare.');

readln;

end.

Riferimenti

Documenti correlati

• Ogni tipo di dispositivo ha una riga, nella tabella appropriata, che indirizza al driver corrispondente (contiene il puntatore della tabella delle operazioni passato al termine

• L’i-node identifica il tipo di file speciale e indirizza alla riga della tabella dei driver per dispositivi a blocchi o alla tabella per dispositivi a carattere identificandone

 Per leggere dati da un file presente sul disco, Per leggere dati da un file presente sul disco, occorre dapprima costruire un oggetto di tipo occorre dapprima costruire un

1) Creare una cartella generale del corso, in una posizione facilmente raggiungibile (es. sul desktop). 2) Creare varie sotto-cartelle coi nomi degli studi principali che svolgiamo;

java Pappagaller &lt; testo.txt &gt; temp.txt sort &lt; temp.txt &gt;

ARCHIVIO.C Il secondo programma deve gestire un archivio di persone che vengono memorizzate in un file INI diviso in due sezioni: nella prima sezione, “Struttura” , c’è un

Scrivere un programma che dato un codice libro visualizzi il titolo ed il numero dei suoi autori ed il nome ed email della sua

 Utilizzare il contenuto del file raggi.txt per inizializzare un vettore cerchi di oggetti Cerchio.  Implementare la funzione membro operator&gt; per confrontare due oggetti