Răspunsuri

2014-11-10T18:18:20+02:00
Putem avea multimi de caractere si multimi de numere byte(256 de caractere). Pentru a declara o multime:type multime=set of 0..9;var mc:multime;ml:set of ‘A’..’Z’;mk:set of char; Obs! Constantele de tip multime se numesc constructori.Un constructor contine intre paranteze patrate elementele membre ale multimii.Ex!mc:=[0..2,5..9];Multimea de litere ia valoarea: ml:=[];{multimea vida} Multimea de caractere ia valoarea demcar:=[a..f,0..3,’+’,’*’];  Operatii cu multimi Operatia de incluziune: m1<=m2;{verifica daca m1 este inclusa sau egal cu m2}m1>=m2;{incluziunea inversa}m1=m2;{egalitatea}m1<>m2;{diferit} Obs!Nu exista mai mare strict!>,<;EROARE!  Operatorul de apartenenta!x in m verfifica daca x apartine multimii mnot (x in m) daca x nu apartine multimii Operatii cu multimi! + reuniuneam:=m1+m2;m:=[1..3,5,,9]+[6..8]; * intersectiami:=m1*m2; - diferentamd:=m1-m2; Citirea unei multimi: -se initializeaza multimea cu multime vida-intr-o structura repetitiva se citeste fiecare element al multimii,si se face reuniune intre vechea multime si multimea formata din elementul curent;var m:set of byte;n,i,e:byte;beginm:=[];write('n:=');readln;for i:=1 to n do beginwrite('Elementul ',i,' este:');readln(e);{elementul curent}m:=m+[e];end;Afisarea unei multimi -se parcurge cu for multimea elementelor tipului de baza a multimii si utilizand operatorul de apartenenta in se verifica daca elementul curent apartine multimii; for i:=1 to 255 doif i in m then write(i,' '); OBS!Daca m este de tip char,atunci se verifica in functie de codul ASCII! for i:=1 to 255 doif chr(i) in m then write(chr(i),' ');SAUfor c:=chr(0) to chr(255) doif c in m then ;Diagrama de sintaxa a tipului SET<constanta SET><Tip ordinal> este fie numele unui tip ordinal declarat anterior sau un tip ordinal (nou) declarat la locul respectiv (ca în SET OF [0..9]).(Borland) PASCAL 7.0 limiteaza numarul de elemente ale unei multimi la 256. Din acest motiv tipul de baza al unei multimi nu poate fi tipul integer, ci numai un subdomeniu al acestui tip, cu cardinal cel mult 256.Dupa cum am mai precizat, tipul de baza al multimii este acel tip care stabileste domeniul în care elementele multime pot fi accesate.Daca tipul de baza este enumerare si contine zilele saptamânii, putem forma multimi cum ar fi [luni, marti] si [miercuri, joi, vineri], dar nu [vineri, joi, miercuri, 20].Remarca. O multime poate fi construita din elementele sale folosind constructorii de multimi: enumerarea elementelor inclusa între paranteze drepte. Notatia x..y într-o astfel de enumerare este echivalenta cu specificarea tuturor elementelor între x si y.Astfel, [7, 8, 9] reprezinta multimea cu trei elemente de tip întreg, ['A'..'Z'] reprezinta multimea majusculelor cu tipul de baza char, iar [ ] reprezinta multimea vida.Pentru variabilele si constantele de tip multime sunt definite toate operatiile întâlnite în teoria multimilor: reuniune, intersectie, diferenta (vezi Conversatia 3).MatematicaPASCALc=aÈ bc:=a+bc=aÇ bc:=a*bc=a-b; d=b-a;c:=a-b; d:=b-a a {da sau nu}e in a {true sau false}