tipul multime brosura rom

4
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țiile type 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

Upload: colegiul-de-industrie-usoara

Post on 23-Jun-2015

281 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tipul multime brosura rom

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

Page 2: Tipul multime brosura rom

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