Sunteți pe pagina 1din 9

          Declararea unui sir de caractere se poate face in felul urmator

                        type nume =  string [lungime]                                                        (a)


sau:
                        type nume =  string;                                                                       (b)
           
 In cazul (a) variabilele de acest tip pot contine un numar de caractere de la 0 pana
la lungime. In cazul (b) variabilele de acest tip pot contine pana la 255 de caractere.
            Exemple:
                        type      sir1 = string [20];
                                     sir2 = string;
                        var       nume : sir1;
                                    x: sir2;
Variabila “nume” poate avea pana la 20 de caractere, iar variabila “x” poate avea
pana la 255 caractere. Spre exemplu, se pot face urmatoarele atribuiri:
                         nume: = ‘POPESCU.IOAN’;
                        x : = ‘ARHITECTURA.CALCULATOARELOR’;
            Variabila “nume” are lungimea 12, iar variabila “x” are lungimea 27.
nume[8]=‘.’
X[7] = ‘C’

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.         

   Pentru variabila x din exemplul precedent x[0] = 23. 9

S-ar putea să vă placă și