következtetést készlet

Amikor dolgozik készlet fontos kérdés a kijelző elemek a készlet. Megjegyzendő, hogy a legtöbb nyelvi változatok write utasítással nem nevezhető egy változó típusú tömb. Például, lehet következtetni a beállított az alábbiak szerint:

VAR A. SET OF 1..9;

Nincs semmi meglepő, hiszen még ha egy olyan tömb, ez is nem lehet kinyomtatni egyszerre egyetlen szolgáltatóval WRITE (A). Jelenítse meg a tömb elemeit szervezett ciklus.

Megjelenítheti a beállított elemek is kell, hogy hurok (egyszeres), bele van illesztve egy változó kezdve az összes lehetséges értékei a beállított, és mielőtt a write utasítás belül a BA szerkezetét megvizsgáljuk, hogy ez az elem benne van a különösen sor:

ha K HALMAZ1 majd írjuk (K).

Általános szabály, hogy az alkalmazásában a elemhalmaz nyomtatványok szervezett az eljárásban. Tegyük fel, hogy van dolgunk az egész számok határain belül NIZ és VERH. Mi határozza meg több típusú TS ezeket a határokat:

INT típus = NIZ..VERH; TS = beállított ° F INT.

Akkor írj egy rutin, amely paraméterként egy csomó:

eljárás PrintSET (OS TS.);

| Az M: = NIZ a VERH csinálni

| Ha M OS majd writeln (M);

Most már hozzáférhet ehhez nyomtatási eljárást készletek, hacsak nem elemekből állnak, amelyek nem jönnek ki NIZ intervallum ... VERH. Hagyja, hogy a konstansok szakaszban leírt:

const NIZ = 0; VERH = 10.

Akkor képes megjeleníteni a halmaz elemeit, utalva az eljárást:

a) PrintSET ([5, 6, 7]);

Eljárás igénybevételét lehet megszervezni formájában:

var SET1, SET2. TS;

PrintSET (SET1); PrintSET (SET1 + SET2); stb

Példa Példa. Összefoglalva, vegyünk egy példát az egész, amely megmutatja az összes olyan tevékenységek, amelyek meghatározott meghatározza.

írja KOST = 1..6; BROSOK = szett KOST;

var A, B, C BROSOK;

eljárás SRAWNENIE (D. BROSOK);

| A K: = 1-6 csinálni

| Ha K D majd írjuk (K: 4); writeln;

| A: = [1, 3, 4]; B: = [2, 4, 6];

| Write ( '[1, 3, 4] + [2, 4, 6] ='); SRAWNENIE (C);

| Write ( '[1, 3, 4] - [2, 4, 6] ='); SRAWNENIE (C);

| Write ( '[1, 3, 4] * [2, 4, 6] ='); SRAWNENIE (C);

Megjegyzés. A program által meghatározott több A, B, BROSOK C típusú, elemei, melyek egész számok a tartományban [1..6], és az eljárás kijelző elemek ilyen készletek.

Ezután állítsa az A és B sorozat, amelyek több különböző értékei a C, és megmutatja annak elemei.

Megjegyzés: 1. Ha a készülék be van állítva egy felsorolt ​​típus, annak elemei nem lehet nyomtatni. A nyomtatási elemek származhatnak csak ordinális típusú integer, KAR, BOOLEAN, intervallum.

2. megjegyzés: Az ugyanazt az adathalmazt lehet elhelyezni egy lineáris array tömb, mint egy több készlet, és egy sor STRING típusú. Az alábbiak közül melyik formája előnyös? Ha a fenti tételek (számokat) termel, annál jobb tömb. Ha a feladat a kapcsolatot az elemeit is megadja, vagy kérdése van, hogy néhány tárgyat a készülék, annál jobb a SET.

Például ellenőrizheti, hogy egy bizonyos levelet előfordul egy adott szöveg, két módja van:

var TX. sor 'a' .. 'Z';

1. En jo b a 2., hogy n C. b

k: = 1-20 tenni, ha BW TX majd writeln ( „igen”).

ha BW = TX [k], majd OTWET: = 'igen';

A fenti program töredékek azt mutatja, hogy 2. módszer Ebben az esetben előnyös, hiszen itt, hogy meghatározzák az esemény a betűk a szövegben elég egyszer használatos IF utasítás, míg az első esetben használják ezt a többszörös felhasználása ugyanazon IF utasítás a FOR ciklus nyilatkozatot.

1. Az értékek bármilyen adattípust lehet kombinálni a különböző?

2. Mi a különbség az unió a tömb elemeit egy?

4. Milyen művelet lehetséges a készlet?

5. Hogyan kell meghatározni a személyazonosságát elemek sokaságát?

6. Hogyan adjunk új elem, hogy a forgatáson?

7. A sokaságát eltávolítani szereplő elemek a másik meg a B?

8. Milyen műveletet, és amely üzemeltető megjelenítésére halmaz elemeit?

Kapcsolódó cikkek