Documente Academic
Documente Profesional
Documente Cultură
1
Program str;
var a: string;
begin
а:=‘informatica’;
writeln(length(a));
end.
11
Pe ecran se afişează
Functii si proceduri asupra sirurilor de
caractere
1) Functia LENGTH(x) – are ca rezultat lungimea sirului de caractere x.
EXEMPLU:
LENGTH (‘POPESCU’) = 7
Exemplu
Program Spat; i-număratorul
Var S:string; j- numărul de spaţiu
i,j:integer;
Begin
Writeln (‘Dati siruri de caractere’);
Readln(S);
j:=0;
for i:=1 to length(S) do
if S[i]=‘ ‘ then j:=j+1;
writeln(‘ numarul de spatiu =‘,j);
readln;
end.
3
Exemplu: Rezultatul
var a: string;
begin
a:=‘прилипала’;
«липа»
writeln(copy(a,4,4));
end.
2) Functia COPY – se utilizeaza pentru a selecta un subsir dintr-un sir.
Are urmatoarea sintaxa:
copy (sir, pozitie, lungime)
Functia returneaza un subsir al sirului dat sir care incepe dintr-o anumita pozitie si are o
anumita lungime.
Exemple:
copy (‘POPESCU’,1,3) = ‘POP’
copy (‘PROGRAMAREA CALCULATOARELOR’,13,12) =‘CALCULATOARE’
3) Functia POS – are ca efect localizarea unui subsir intr-un sir dat.
Sintaxa functiei:
pos (subsir,sir)
Functia are ca rezultat pozitia in care se gaseste subsirul cautat in sirul dat.
Exemple:
pos (‘PROGRAM’, ‘LIMBAJE DE PROGRAMARE’) = 12
pos (‘POPA’, ‘POPESCU’) = 0
5
exemplu
Rezultatul
var a: string;
begin
a:=‘значение’;
«знание»
delete(a,4,2);
writeln(a);
end.
Functii si proceduri asupra sirurilor de caractere
4) Procedura DELETE are ca rol stergerea unui subsir dintr-un sir. Sintaxa procedurii este:
delete (sir, pozitie, lungime)
Procedura are ca efect stergerea din sirul dat sir, de pe o anumita pozitie, un anumit
numar precizat de caractere,lungime.
Exemple:
var s: string;
s: ‘LIMBAJE DE PROGRAMARE’
delete (s,8,14);
s = ‘LIMBAJE’
5) Procedura INSERT are ca rol inserarea unui subsir intr-un sir dat. Sintaxa procedurii este:
insert (sir, subsir, pozitie);
Procedura are ca efect inserarea intr-un sir dat, pe o anumita pozitie, a unui subsir.
Exemple:
var s: string;
s:= ‘CE FACI’
insert (s, ‘MAI ’, 4)
T s = ‘CE MAI FACI’
7
Exemplu: Rezultatul
var a: string;
begin «lapte»
a:=‘pte’;
insert(‘la’,a,1);
writeln(a);
end.
Compararea sirurilor de caractere
Pentru a compara intre ele 2 siruri de caractere se pot utiliza operatorii relationali cunoscuti <,
<=,>,>=, <>.
Expresia sir1 = sir2, are valoarea TRUE daca cele 2 siruri au aceeasi lungime si caracterele
aflate in pozitii corespunzatoare sunt identice.
Expresia sir1<sir2 are valoarea TRUE daca prin compararea caracterelor de la stanga la
dreapta, in prima pozitie in care cele 2 siruri difera, caracterul din sir1 este mai mic decat caracterul
din sir2.
Exemple:
‘POPESCU’ > ‘POPA’
‘POP’ < ‘POPA’
Referirea la un element al unui sir de caractere se poate face utilizand o expresie cu indice, ca
la tipul ARRAY; de forma:
Nume_variabila [pozitie caracter]
nume: = ‘POPESCU.IOAN’;
x : = ‘ARHITECTURA.CALCULATOARELOR’;
Exemplu:
nume[4] = ‘E’
x[4] = ‘i’
In memoria interna, o variabila de tip sir de caractere va fi reprezentata pe n+1 octeti, unde n
este lungimea sirului. Octetul nume [0] va contine lungimea reala a sirului la un moment dat, iar in
ceilalti octeti se vor memora caracterele care compun sirul.