|
LIMBAJUL DE PROGRAMARE PASCAL – Tipurile utilizator
a) Tipuri simple:
1) tipul enumerare: mul?imea valorilor acestui tip se define?te prin enumerarea identificatorilor ce reprezint? aceste valori;
2) tipul subdomeniu: trebuie precizat? limita inferioar? ?i superioar? a intervalului;
Exemplu
type luni =(ian, feb, mar, apr, mai, iun,
iul, aug, sep, oct, nav, dec) ?tipul enumerare?
vara: iun.. aug; ?tipul subdomeniu?
b) Tipuri structurate(ce se ob?in din tipurile simple):
1) tipul tablou(array): la definirea unui tablou se precizeaz? tipul elementelor ?i tipul permis pentru indici.
Un tablou reprezint? o colec?ie de elemente care sunt toate de acelasi tip.
array ?v1..v2? of tip_element
sau
packed array ?v1..v2? of tip_element
Atributul packed indic? în general cerin?a de optimizare a spa?iului de memorare pentru elementele tipului array.
O component? a tabloului se specific? ca o variabil? indexat?:
nume_tablou ?lista _indici ?
Deoarece tipul elementelor poate fi orice tip admis de limbajul Pascal, elementele unui tablou pot fi la rândul lor de tip structur?.Astfel, putem defini un tablou multidimensional:
array ?tip1, tip2? of tip_element
Exemplu:
type A = array ?2.. 5? of real;
var ?ir: packed array ?1.. 4? of char;
a: array ?1...4, 1.. 3? of integer;
2) tipul ?ir de caractere(string): este un tip special de vector, cu elemente de tip char, care memoreaz?, în afara caracterelor din ?ir, ?i lungimea respectivului ?ir de caractere;
identificator: string ?valoare_întreag??
Func?ii ?i proceduri predefinite pentru prelucrarea datelor de tip string:
? Func?ia concat: admite doi sau mai mul?i parametri de tip string sau char ?i furnizeaz? ca rezultat ?irul ob?inut prin concatenarea valorilor acestora.
? Func?ia length: furnizeaz? ca rezultat lungimea unui ?ir de caractere ?i admite ca parametru un string.
? Func?ia pos: caut? un sub?ir al unui ?ir dat ?i are doi parametrii - ?irul c?utat ?i ?irul în care se caut?. Rezultatul acestei func?ii este un num?r întreg, cuprins între 0 ?i lungimea ?irului(0 dac? ?irul c?utat nu a fost g?sit, altfel se precizeaz? unde anume a fost întâlnit? prima apari?ie a ?irului respectiv).
? Func?ia copy: realizeaz? copierea unui sub?ir dintr-un ?ir, având ca parametri: ?irul din care se copiaz?, pozi?ia caracterului din ?ir cu care începe copierea ?i num?rul de caractere copiate. Rezultatul func?iei este de tip string.
? Procedura delete: realizeaz? ?tergerea unui sub?ir dintr-un ?ir.Admite urm?torii parametri: ?irul modificat, indicele în cadrul ?irului a primului caracter din sub?irul ce trebuie ?ters ?i num?rul de caractere ce trebuie ?terse.
? Procedura insert are tot trei parametri: sub?irul inserat, ?irul în care se face inserarea ?i pozi?ia de la care începe inserarea.Primii doi parametri sunt de tip string, în timp ce al treilea este de tip întreg. Primul ?i ultimul parametru sunt transmi?i prin valoare(pot fi expresii, constante, variabile), iar cel de-al doilea parametru este transmis prin referin??(trebuie s? fie o variabil? de tip string).
? Procedura val: realizeaz? conversia unui ?ir de caractere într-o valoare numeric?(întreag? sau real?). Admite ca parametri: ?irul surs?, variabila de tip numeric în care se memoreaz? rezultatul conversiei ?i o variabil? de tip întreg c?reia i se atribuie o valoare indicatoare a modului în care s-a terminat conversia(valoarea zero arat? c? nu s-au detectat erori, în timp ce o valoare mai mare ca zero precizeaz? pozi?ia din ?irul surs? în care a fost detectat? o eroare).
Procedura str:este utilizat? pentru a ob?ine reprezentarea sub form? de ?ir de caractere a unei valori numerice întregi sau reale. Admite doi parametri: valoarea numeric?(constant?, variabil? sau expresie de tip întreg sau real) ?i variabila de tip string, în care se memoreaz? rezultatul conversiei.
|