Sunteți pe pagina 1din 4

Afiarea informaiei alfanumerice.

S lum receta de preparare a ceaiului. Deci, s ne amintim de la


leciile precedent cum se creeaz algoritmul problemei.
Pasul 1. nceput(begin)
Pasul 2. Punem apa la fiert;
Pasul 3. Punem zahr n ciac;
Pasul 4. Punem un pacheel de ceai n ceac;
Pasul 5. Dac apa a fiert, turnm apa n ceac;
Pasul 6. Ceaiul este gata;
Pasul 7. Terminat(end).
Pentru a fi comunicat calculatorului acest algoritm, este necesar de a
transpune acest algoritm ntr-un limbaj de programare. Vom transpune acest
algoritm n limbajul Pascal.
Deci, avem:
Program receta_ceai;
Uses crt;
{n problema dat variabile nu avem, deci nu declarm nimic}
Begin
Clrscr; {curata ecranul, sterge datele precedente ce au fost afisate}
{Aici vom scrie algoritmul}
{Pentru a afia pasul 2-6 a algoritmului avem nevoie de procedura
predefinit writeln. Deaorece, aceste mesaje-anunuri sunt niste iruri de
caractere, ele vor fi luate n apostrofuri(vezi tema sir de caractere)}
Writeln(`Punem apa la fiert`);
Writeln(`Punem zahar in ceasca`);
Writeln(`Punem un pachetel de ceai in ceasca`);
Writeln(`Daca apa a fiert, turnam apa in ceasca`);
Writeln(`Ceaiul este gata`);
Readkey; {mesajul se va mentine pe ecran pina cind vom apasa o tasta
de la tastatura}
End.

Deci, la ecran vom avea afiat urmtoarea informaie:

Fig.1
Dac scrim acelai program folosind procedura predefinit write, vom
avea mesajul afisat la ecran sub urmatorul aspect:

Fig.2
Deci, putem spune c diferena dintre write i writeln este c
procedura write afieaz mesajul i cursorul ne rmne n linia curent, adic
n aceiai linie, iar dac apelm procedura writeln, atunci procedura afieaz
mesajul i dup aceea va trece din rnd nou, adic pe urmtoarea linie. Dac
privim atent fig.1 i fig.2 se poate de vzut c n fig.1 cursorul este din linie
nou, iar n fig.2 cursorul este n aceai linie.
ns acest program ne pune la dispozitie receta de ceai fr a ne
permite s concretizm ct zahr s punem la o ceac de ceai. Pentru a
concretiza cantitatea zahrului avem nevoie de o variabil prin care s
introducem de la tastatur cantitatea zahrului i de procedurile read i
readln care ne va ajuta s introducem datele de la tastatur.
Deci, vom avea:

La ecran vom avea afiat urmtoarea informaie, unde cursorul


asteapt ca utilizatorul sa introduca datele de la tastatura, adica n cazul
nostru s introducem numrul de lingurie necesar.

Dup introducerea numrului apsai tasta Enter.

Afiarea informaiei alfanumerice se realizeaz uor cu ajutorul


procedurilor predefinite write i writeln, adic pentru a afia un mesaj de
ndrumare pentru o claritate mai mare, apelm procedurile predefinite write
i writeln.
Deasemenea, procedurile write i writeln pot fi folosite i pentru
afiarea datelor de ieire ale unui program.
S lum urmtoarea problem: s se scrie un program care calculeaz
i afieaz la ecran valoarea expresiei: 3*5+9
Rezolvare:
Program expresie;
Uses crt;
Begin
Clrscr;
Write(3*5+9);
Write(`3*5+9`);
Readkey;
End.
Deci, prin write(3*5+9) la ecran se va afia valoarea expresiei, adica 24,
iar prin write(`3*5+9`) la ecran ne va aparea expresia scris dintre
apostrofuri, adica 3*5+9, fiindc calculatorul o nelege ca ir de
caractere(vezi tema iruri de caractere).

Citirea datelor de la tastatur.


Citirea datelor de la tastatur se realizeaz uor cu ajutorul
procedurilor predefinite read i readln, adic pentru a
intruduce diferite valori pentru o variabil noi putem folosi procedurile
predefinite read i readln.
Spre exemplu, s se scrie un program care calculeaz suma a dou
numere naturale.
Program suma;
Var a,b:integer; declaram variabilile
Begin
Writeln(`introdu a si b`); afiseaza mesajul si cursorul trece din
rind nou
Readln(a,b); aici introducem valorile lui a si b, cursorul trece din
linie noua
writeln(`suma numerelor este `, a+b); se afiseaza rezultatul si
cursorul trece din linie noua
write(`suma numerelor este `, a+b:3); se afiseaza rezultatul pe 3
pozitii
End.
Afiarea informaiei poate fi fcut sub diferite aspecte:
e

e:w

e:w:f

Unde e este o expresie a crei valoare trebuie afiat, w i f fiind


expresii de tip integer, numite specificatori de format. Expresia w arat
numrul de spaii ce vor fi alocate pentru afiarea numrului intreg.
Exemple:
Write(12345)
1 2 3 4 5
Write(12:4)

1 2

Iar, specificatorul f are sens n cazul cind e este de tip real, el aloc
spaii pentru partea fracionar, adic ce este dup virgule.
Exemple:
Write(12345,67:10:2);
1 2 3 4 5 . 6 7