|
TIPUL STRING
NOTIUNI INTRODUCTIVE
> Poate ati observat ca, pana in acest moment , nu am memorat cuvinte .
Acestea au fost numai afisate . In Turbo Pascal se poate lucra cu usurinta
cu ele , datorita faptului ca limbajul este inzestrat cu un tip de date
special , numit string .
O succesiune de caractere cuprinse intre doua caractere se numeste
sir de caractere .
Exemple :
. ' Un sir '
. ' toamna se numara bobocii ' .
> In Turbo Pascal pentru a putea lucra cu sirurile de caractere se folosesc
variabilele de tip string . Tipul string este predefinit , adica este
cunoscut , nu avem nevoie sa-l declaram cu type .
Exemplu :
program st1;
var t : string;
begin
t := ' iepuras ';
writeln (t);
end.
V Programul de mai sus are declarata o variabila t , de tip string .
Ea este initializata cu sirul 'iepuras', apoi este afisata .
V In exemplul dat sirul 'iepuras' este alcatuit din 7 caractere .
Octetii de la 1 la 7 memoreaza caracterele din care este alcatuit
sirul . Restul octetilor , de la 8 la 255 au un continut neprecizat
. De altfel , nici nu ne intereseaza continutul lor . Observati
faptul ca afisarea s-a realizat , in ansamblu , prin precizarea
numelui .
> Intrucat o variabila de tip string memoreaza cuvintele sub forma de
vector de caractere , exista posibilitatea sa accesam direct
continutul unui octet , asa cum suntem obisnuiti . Astfel , t[1]
retine codul caracterului I , t[2] retine codul caracterului e
s.a.m.d. Programul care urmeaza afiseaza acelasi cuvant , pe litere
.
program st2;
var t : string;
i : integer;
begin
t := ' iepuras ';
for i :=1to n do
write (t[i]);
end .
V Mai mult , putem modifica continutul unui singur octet , asa cum
rezulta din programul urmator
program st3;
var t : string ;
begin
t := ' iepuras ';
t[6] := ' i';
write(t);
end .
V In loc de 'a' t [6] retine 'i'. Prin urmare , programul afisaza
'iepuras'
In cazul variabilelor de tip string exista posibilitatea ca atribuirea sa
se faca direct , nu pe litere , asa cum rezulta din programul st4 .
program st4;
var t ' z : string;
begin
t := ' iepuras ';
z := t;
write(z);
end .
In urma atribuirii , variabila z retine cuvantul '' iepuras '' si acesta
este afisat .
> Am vazut ca pentru o variabila de tip string se
retin automat 256 de octeti , din care primul
retine lungimea . In multe cazuri , acest numar
este prea mare - se consuma memorie inutil . Din
acest motiv exista posibilitatea ca o varianta
de tip string sa fie declarata in asa fel incat
|