Sir de Caractere

12
TIPURI DE DATE: Șir de caractere Clasa a X-a Profesor: Gurmeza Inga

Transcript of Sir de Caractere

Page 1: Sir de Caractere

TIPURI DE DATE:Șir de

caractereClasa a X-a Profesor: Gurmeza Inga

Page 2: Sir de Caractere

TIPUL ȘIR DE CARACTERE (STRING).

Tipul String a fost conceput pentru a prelucra șiruri de caractere.

Pentru că o dată de tip Array Of Char nu permite operații specifice șirurilor de caractere (concatenare, citire, tipărire și altele), tipul string reușește astfel de operații.

Acest tip se declară astfel : String [m] sau simplu String. - m - reprezintă numărul maxim de caractere pe care poate să-l conțină o variabilă de acest tip. Dacă nu se specifică această limită m (varianta a doua), atunci lungimea maximă este 255 (valoarea implicită pentru m).

Page 3: Sir de Caractere

Descrierea constantelor de tip String se realizează utilizând caracterul apostrof (′) astfel : ′ sir_caractere ′ .

Dacă dorim ca șirul de caractere descris să conțină acest caracter, atunci caracterul apostrof va fi dublat.

Exemplu : ′Str. Lalelelor, Nr.2′ , ′ Domnu′′ Trandafir ′′ ( reprezintă șirul Domnu′Trandafir ′ ).

Page 4: Sir de Caractere

Operația de concatenare a două șiruri este notată cu + .

Operatorii relaționali permit compararea a două șiruri utilizând ordinea lexicografică (utilizată în dicționare, cărți de telefon, etc.) :

= și <> pentru egalitatea respectiv neegalitatea a două șiruri,

<, >, <=, >= pentru compararea lexicografică.

De exemplu

′Algoritmica,′ + ′ Programare ′ are valoarea ′Algoritmica, Programare′.

Exemple :

‘Alb’ < ‘Albastru’;

Page 5: Sir de Caractere

Tipul String are ( în plus față de tipul Array Of Char ) implementate următoarele facilități :

a) valorile variabilelor și expresiilor de tip String pot fi citite respectiv tipărite,

b) se pot utiliza următoarele funcții și proceduri specifice tipului string:

Exemplu :

Mesaj:=‘Numele autorului’; Write (‘Dati ‘+Mesaj+’ : ‘); Readln (s);

Page 6: Sir de Caractere

FUNCȚII

- Length (S) - returnează lungimea șirului S, o valoare de tip întreg.

Ex1.S:=‘calculator’;Length(s); {s=10}

Ex2. S1:=‘Eu invat la liceu’;For i:=1 to length(S1); {S1=?}

Page 7: Sir de Caractere

Copy (S,P,N) - conține trei parametri unde S este șirul din care se face extragerea unui subșir, P este poziția primului caracter a subșirului extras, N – numărul de caractere care se extrag.

Program Str;Var S,S1:String;Begin S:=‘informatica’; S1:=Copy(S,3,6);Writeln(S1);End.

Page 8: Sir de Caractere

- Concat (S1,S2, S3, … ,Sn) – se folosește pentu a uni mai multe cuvinte într-o propoziție și este echivalentă cu S:=S1+S2+S3+..+Sn;

- Pos (S,S1) – funcția are doi parametri S este subșirul căutat și S1 șirul în care se caută. Rezultatul acestei funcții este de tipul byte, dacă retultatul este 0 -subșirul căutat nu a fost gasit, în caz contrar- subșirul a fost gasit și se indică numărul de început a subșirului din cadrul șirului.

Ex.Var S,S1:integer;Begin S1:=‘informatica’; S:=‘for’; i:=pos(S,S1); write(i); {i=3}End.

Page 9: Sir de Caractere

PROCEDURI Delete (S,P,N) - șterge din șirului S începând din

poziția P, n- caractere.

Insert (S, S1, P) – inserează șirul S în șirul S1 la poziția P.

Ex.S:=‘calculator’;Delete(S,7,4);Write(S); {S=calcul}

Ex.S1:=‘mama’;S:=‘riti’;Insert(S,S1,3);Write(S1); {S1=maritima}

Page 10: Sir de Caractere

- Str (x,S) – se folosește pentru a converti (transforma) conținutul unei variabile de tip numeric într-o variabilă de tip string.

Variabila x poate fi un număr întreg sau real.

- Val (S,v,Cr) examinează șirul S. Dacă acesta conține caractere ce reprezintă un număr scris corect atunci se va depune în v valoarea acelui număr iar în Cr valoarea 0. Dacă șirul S conține caractere nepermise, atunci în v se depune valoarea 0 iar în variabila Cr (de tip întreg) poziția primului caracter nepermis.

Ex. v:=5/2; Str (v:5:2,S); va depune în S șirul ‘ 2.50’.

Val (‘1997’,v,Cr); are ca efect : v=1234 •i Cr=0 , iarVal (‘19d7’,v,Cr); are ca efect : v=0 și Cr=3 ( pe poziția 3 se află ‘d’).

Page 11: Sir de Caractere

ELABORATI UN PROGRAM CARE: a) determină numărul de apariții ale

caracterului ‘a’ într-un șir; b) substituie caracterul ‘a’ prin caracterul ‘*’ c) radiază din șir caracterul ‘b’ d) determină numărul de apariții ale silabei

‘ma’ într-un șir; e) substituie silabele ‘ma’ prin silaba ‘ta’ f) radiază din șir silaba ‘to’

Page 12: Sir de Caractere

ALCĂTUIȚI PROGRAME PENTRU PROBLEMELE DE

MAI JOS 1. Se dă un text (un șir de caractere), să se

afișeze caracterele de pe poziții pare.

2. Să se determine dacă textul dat conține două simboluri alăturate identice să afiseze mesajul “Succes” in caz contrar “Insucces”.

3. Șirul S este compus din cîteva propozitii, fiecare terminîndu-se cu punct, semnul exclamării sau semnul întrebării. Elaborați un program care afișează pe ecran numărul de propoziții din șirul studiat.