Pascal/Input e Output: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
BimBot (discussione | contributi)
m Template + Categoria
Ramac (discussione | contributi)
m punteggiatura e contenuto
Riga 1:
{{Programmare in Pascal}}
 
Finalmente ci occupiamo del grande problema dell'''input-output''. <br/>Gran parte delle funzioni di input-output sono contenute nella libreria standard di pascalPascal. Queste funzioni sono tipicamente:
*''read()'' e ''readln()'' che permettono di leggere l'input dell'utente da tastiera inserendo fra le parentesi il nome della variabile in cui vogliamo salvare il dato. La differenza consiste nel cursore, che nel caso di un'istruzione ''read'' continua sulla stessa riga mentre nel caso di ''readln'' va a capo.
*''write()'' e ''writeln()'' che permettono, come già visto in precedenza, di stampare su schermo il contenuto delle parentesi.
*''readwrite()'' e ''readlnwriteln()'' che permettono, dicome leggeregi&agrave; l'inputvisto dell'utentein daprecedenza, tastieradi inserendostampare frasu le parentesischermo il nomecontenuto delladelle variabileparentesi. Anche in cuiquesto vogliamocaso salvarela ildifferenza dato.&egrave; relativa all'andare a capo
La differenza fra la versione con e senza ''ln'' è che la prima va a capo prima della scrittura o dell'immissione, la seconda versione no.
 
Un semplice esempio basato sull'uso delle variabili e dell'input-output potrebbe essere un modo per personalizzare un programma, salvando in una stringa il nome dell'utente per inserirlo nelle domande.
Line 20 ⟶ 19:
end.
 
Analizziamo come al solito riga per riga.:
* Dichiarazionedichiarazione del nome
* Dichiarazionedichiarazione della variabile ''name'' di tipo Stringa di dimensione 50
* Dichiarazionedichiarazione delle librerie necessarie. Di questo argomento riparleremo a breve, ma sappiate che almeno due dei comandi utilizzati di seguito sono dipendenti da questa libreria.
* Inizioinizio programma
* Puliziapulizia dello schermo. Questa è&egrave; la prima (e forse la piùpi&ugrave; usata) delle due funzioni che dipendono da ''crt''.
* Scritturastampa sullo schermo della stringa ‘Inserisci il nome’. Dopo questa istruzione il programma va a capo
* Letturalettura della stringa corrispondente al nome ed inserimento di questa stringa letta da tastiera nella variabile ''name''
* nuova pulizia dello schermo
* Scritturastampa del messaggio di benvenuto.
* Nuovaaltra funzione dipendente dalla libreria ''crt'' che permette di leggere un solo carattere qualunque da tastiera. Vedremo che questa funzione e&egrave; molto utilizzata per risolvere un problema riguardo all'esecuzione dei programmi compilati finora.
 
Il contenuto della parentesi delche seguono l'istruzione ''writeln'' può essere sia un'espressione testo(stringa cheo numerica), sia una variabile. sia una combinazione
La parte testuale è&egrave; compresa tra due apici; per separare il testo dalle variabili si usa una virgola,come nell'esempio precedente.
Quando la variabile inserita nel ''writeln'' è di tipo ''real,'' si deve specificare con quante cifre dev'essere rappresentato il numero, e quante di queste devono essere decimali; per questo,fare ci&ograve; si utilizza la sintassi
nome_della_variabile : numero_di_cifre : numero_di_cifre_decimali;
Ad esempio:
writeln(n:8:6);
Ovvero, il contenuto della variabile ''n'' verrà rappresentato con 8 cifre,di cui 6 decimali. Una istruzione come questa
writeln(n);
stamperebbe il valore di in notazione esponenzionale (ad esempio 3.4E4 anzich&egrave; 34.000)
 
Riguardo Inputinput e Outputoutput, si può anche fare un esempio con i numeri, di con un programma che calcoli la radiceil quadrataquadrato di un numero interoreale:
Ovvero,il contenuto della variabile ''n'' verrà rappresentato con 8 cifre,di cui 6 decimali.
 
Riguardo Input e Output,si può anche fare un esempio con i numeri,con un programma che calcoli la radice quadrata di un numero intero:
 
program quadrato_di_un_numero;
var n,r:integerreal;
r:real;
uses crt;
begin
Line 57 ⟶ 56:
end.
 
*Ilil programma stampa la stringa 'Inserisci un numero reale';
*Concon ''readln(n)'' assegna alla variabile n un valore immesso da tastiera;
*Allaalla variabile ''r'' viene assegnato il valore del quadrato di ''n'';
*Vieneviene scritto il risultato.
 
Si notanoti che per l'assegnazione di un certo valore a una variabile si usa la sintassi:
nome_della_variabile := valore_assegnato_alla_variabile;
 
Questo valore puòpu&ograve; essere, come nell'esempio precedente, il risultato di un'operazioneespressione.
 
[[Categoria:Programmare in Pascal|Input e Output]]