Sir de caractere in turbo pascal

14
Șir de caractere Limbajul de programare PASCAL

description

Sir de caractere in turbo pascal

Transcript of Sir de caractere in turbo pascal

Page 1: Sir de caractere in turbo pascal

Șir de caractere

Limbajul de programare PASCAL

Page 2: Sir de caractere in turbo pascal

ȘIR DE CARACTERE

Este o secvență de caractere din codul ASCII precedată și urmată de caracterul apostrof.

Ex.:‘Finanțe’, ‘STOP’, ‘!’, ‘123’, ‘elementele șirului : ’

Page 3: Sir de caractere in turbo pascal

Tipul de date șir de caractere (STRING)

Type <nume_tip> = string;Var <nume_variabila> : <nume_tip>; <nume_variabila> : string; <nume_variabila> : string[k];unde k este o constantă, număr natural nenul ≤ 255

Ex.:Type nume=string;Var n : nume; p : string; s : string[12];

Modul de definire:

Page 4: Sir de caractere in turbo pascal

Atribuirea valorilor pentru variabile de tip STRING:Prin citirea de la tastaturăPrin atribuirea directă

Ex.:Var x : string; ...

Readln(x);Read(x);x:= ‘Algoritm’;...

Afișarea valorilor pentru variabile de tip STRING:Poate fi afișată în totalitate sau caracter cu caracter

Ex.:Var x : string[8]; ...

x:= ‘Algoritm’; Write(x); For i:=1 to 8 do write(x[i]); ...

{ Algoritm}

{ Algoritm}

Page 5: Sir de caractere in turbo pascal

Lungimea șirului de caractere:

Este dată de numărul de caractere din șir;Nu poate depăși 255 de caractere;Funcția length determină lungimea șirului de caractere indicat ca argument.

Ex.:Var x,y : string; a,b: integer; ... x:= ‘Algoritm’;

a:= length(x); y:= ‘elementele șirului’;

b:= length(y); ...

Page 6: Sir de caractere in turbo pascal

Compararea șirurilor:Se compară codul primului caracter al primului șir cu codul primului caracter al celui de-al doilea șir, în urma comparației se poate ajunge în una din următoarele situații: Primul cod este mai mare, caz în care se consideră

primul șir ma mare decît celălalt; Primul cod este mai mic, astfel că primul șir este mai

mic; Cele două coduri sunt egale;

Se trece la comparațiile de cod pentru al doilea caracter al primului șir cu al doilea caracter pentru șirul al doilea și în urma comparației se procedează ca pentru primul caracter;Etc.

Page 7: Sir de caractere in turbo pascal

Concatenarea șirurilor:Este o operație specifică șirurilor de caractere, prin care la un șir de caractere se pot lipi caracterele altui șir de caractereOperatorul folosit este +Funția Concat realizează concatenarea (alipirea), această funcție poate avea mai multe argumente

Ex.:Var x,y,a,b : string; ... x:= ‘Popescu’; y:= ‘Ion’;

b:= x+y; a:=concat(y, ‘ ’, x);...

{ b←PopescuIon }

{ a← Ion Popescu }

Page 8: Sir de caractere in turbo pascal

Extragerea unui subșir:

Funcția COPY extrage în s un subșir din șirul t dat începînd cu poziția p și avînd lungimea l

Copy(t,p,l)Ex.:Var t,s : string; ... t:= ‘Algoritm’; s:= copy(t,5,4); ...

{ s← ritm }

Page 9: Sir de caractere in turbo pascal

Poziția unui subșir:

Funcția POS returnează prima poziție a unui subșir s într-un șir t, în caz contrar returnează 0

Pos(s,t)Ex.:Var s,t : string; p : integer; ... t:= ‘Algoritm’; s:= ‘ritm’;

p:=pos(s,t);...

{ p← 5 }

Page 10: Sir de caractere in turbo pascal

Inserarea unui subșir:

Procedura INSERT inserează un subșir s în șirul t înaintea caracterului de pe poziția p

Insert(s,t,p)

Procedura INSERT inserează un subșir s în șirul t înaintea caracterului de pe poziția p

Insert(s,t,p)Ex.:Var x,s,t : string; ... t:= ‘bine’; s:= ‘ul’;

x:=insert(s,t,2); ...

{ x← buline }

Page 11: Sir de caractere in turbo pascal

Ștergerea unui subșir:

Procedura DELETE șterge un subșir de lungime l dintr-un șir s, începînd cu poziția p

Delete(s,p,l)Ex.:Var x,t : string; ... t:= ‘Informatica’; x:=delete(t,3,8); ...

{ x← Ina }

Page 12: Sir de caractere in turbo pascal

Transformarea numărulu în șirul de caractere:

Procedura STR transformă numărul n de tip integer în șirul de caractere corespunzător, pe care îl memorează în șirul s.

Str(n,s)

Ex.:Var s : string; n: integer ... n:= 314; str(n,s); ...

{ s←‘314’ }

Page 13: Sir de caractere in turbo pascal

Transformarea caracterului într-un număr: Procedura VAL încearcă să convertească șirul de caractere s în numărul corespunzător. Tentativa va reuși dacă șirul conține numai caractere permise pentru un număr, adică cifre, punctul zecimal și caracterul “-“, dacă transformarea reușește, atunci în parametrul n se memorează numărul rezultat prin transformare, iar parametrul cod va primi valoarea 0; dacă transformarea eșuează, atunci parametrul n va fi nedefinit, iar în parametrul cod se memorează poziția în șir a primului caracter din cauza căruia a eșuat transformarea.

Val (s,n,cod)Ex.:Var s : string; n, cod: integer ... s:= ‘314’ ; val(s,n,cod); s:= ‘3#14’ ; val(s,n,cod); ...

{n←314 , cod ←0}

{n←0, cod ←2}

Page 14: Sir de caractere in turbo pascal

Sursa:

A.Braicov, Turbo Pascal, culegere de probleme; Editura Prut Internațional , 2005R. Matei, D.Mateiaș, Tainele informaticii, manual de informatică, clasele V-VIII, Editura Paralela 45, 2006