tipul multime brosura rom
TRANSCRIPT
Tema pentru acasă
1. Faceți punctele f,g,h,i,j din sarcina 4.
2. Elaborați un program care generează toate submulțimile mulțimii {‘A’,’B’,’C’,’D’}
3. Se dau declarațiiletype Culoare=(Galben, Verde,
Albastru,Violet);Nuanţa =set of Culoare; var NT : Nuanţa;Care din valori poate primi variabila NT?
4. Se consideră tipul de date Multimelndicii din paragraful în studiu. Precizaţi mulţimile specificate de constructorii ce urmează:a) [ ] ; f) [ 4.. 3] ;b) [ 1. .10] ; g) [ 1. .3, 7. .6, 9] ;c) [ 1. .3, 9. .10] ; h) [ 4-2. .7 + 1] ;d) [ 1 + 1, 4. .7, 9] ; i) [ 7-5. .4 + 4] ;e) [ 3, 7. .9] ; j) [6, 9, 1. .2] .5. Elaborați un program care generează toate submulțimile mulțimii {1,2,3,4}
5
Colegiul de Industrie Ușoară din Bălți
Tipul de date mulțime (SET)
Bălți 2013
Noțiuni generaleUn tip de date mulţime (set) se defineşte în raport cu un tip de bază care trebuie să fie ordinal:<Tip mulţime> ::= set of <Tip>Valorile unui tip de date set sînt mulţimi formate din valorile tipului de bază. Dacă tipul de bază are n valori, tipul mulţime va avea2n valori. în implementările limbajului valoarea lui n este limitată, de regulă n < 256.În PASCAL o mulţime poate fi specificată enumerându-i-se elementele între parantezele pătrate " [ " şi "] ", care ţin locul acoladelor din matematică.Notaţia [ ] reprezintă mulţimea vidă.Exemple:type Indice=l..10;
Zi=(L, Ma, Mi, J, V, S, D);Multimelndicii=set of Indice;ZileDePrezenta=set of Zi;
var MI : Multimelndicii;ZP : ZileDePrezenta;
Tipul ordinal Indice are n = 10 valori: 1, 2, 3, 4, 5, 6, 7, 8, 9,10. Tipul Multimelndicii are 210= 1024 de valori, şi anume:[ ] ,[ 1] ,[ 2] ,...,[ 1, 2] ,[ 1, 3][ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]Prin urmare, variabila MI poate să aibă oricare din aceste valori, de exemplu:MI:= [ 1, 3] .Variabila ZP poate să aibă oricare dintre aceste valori, de exemplu ZP := [ L, Ma, Mi, V] .
2
Asupra valorilor unui tip de date mulţime se pot efectua operaţiile:+ reuniunea;
* intersecţia;
- diferenţa,
operaţiile relaţionale:= egalitatea;<> inegalitatea;<=, => incluziunea;in apartenenţa,
Programul ce urmează afişează pe ecran rezultatele operaţiilor +, * şi efectuate asupra valorilor de tip Multimelndicii.
3
Program P86;type Indice=l..10; { Date de tip Multimelndicii }
Multimelndicii=set of Indice;var A, B, C : Multimelndicii;i : integer;
beginA:=[1..5, 8]; { A conţine 1,2,3,4,5,8 }B: = [ 1..3, 9, 10] ; { B conţine 1,2,3,9,10 }C:=[]; { C este o mulţime vidă }C:=A+B; { C conţine 1,2,3,4,5,8,9,10 }writeln('Reuniune');for i:=l to 10 do
if i in C then write(i:3);writeln;C:=A*B; { C conţine 1, 2, 3 }writeln('Intersecţie') ;for i:=l to 10 doif i in C then write(i:3);writeln;C:=A-B; { C conţine 4, 5, 8 }writeln('Diferenfa') ;for i:=l to 10 doif i in C then write(i:3);end.
Întrebări şi exerciţii 1. Enumeraţi valorile posibile ale variabilelor din declaraţiile ce urmează:var V : set of 'A'. . 'C;
S : set of (A, B, C);I : set of '1'..'2';J : set of 1..2;
2. Comentaţi următorul program :Program P88;{ Eroare }type Multime=set of integer;var M : Mulţime;i : integer;beginM:=[ 1, 8, 13] ;for i:=l to Maxlnt doif i in M then writeln(i);end.
4