Stránky neboli dlhú dobu aktualizované. Môžu obsahovať nepresné alebo neaktuálne informácie.
Hľadanie
Rozšírené vyhľadávanie
TOP 7 - stránky
Napaľovacie programy - 108 657x
Free Pascal - Úvod - 66 165x
Lazarus - Kreslenie - 47 678x
Free Pascal - Začiatky - 44 985x
Free Pascal - Podmienky - 37 301x
Free Pascal - Cykly - 36 543x
Internetové prehliadače - 36 476x
Nové v diskusii
Free Pascal - Cykly - štvrtok 31.3.
Lazarus - Začíname - piatok 25.3.
Anketa - streda 2.3.
Navigácia: Programovanie > Free Pascal - Množiny

Free Pascal - Množiny

Jazyk Pascal nám ponúka užitočný typ premennej - množinu. Množina môže obsahovať celé čísla alebo iné ordinálne premenné, všetky však musia byť rovnakého typu. Počet prvkov je obmedzený na 256. Ordinálne hodnoty sa môžu pohybovať od 0 do 255.

Vytvorenie množiny

Najprv si vytvoríme množinu, ktorá bude obsahovať celé čísla, každé typu byte (celočíselný typ s rozsahom od 0 do 255).

Množinu definujeme kľúčovými slovami set of a typom premennej. Všetky prvky množiny budú mať zadaný typ.

program mnoziny;
var
 MnozinaCisel: set of byte;
 Mnozina2: set of 10..100;

Druhá vytvorené množina bude môcť obsahovať celé čísla od 10 do 100 (vrátane).

Práca s prvkami

Teraz do množniny MnozinaCisel vložíme prvky - napr. čísla 5, 7 a 18. Použijeme hranaté zátvorky.

begin
 MnozinaCisel := [5, 7, 18];

Do druhej dáme najprv jediný prvok - číslo 100. Potom sa ale rozhodneme vložiť do nej naraz všetky čísla od 32 do 40 vrátane.

 Mnozina2 := [100];
 Mnozina2 := [32..40];
Pascal ponúka zaujímavé operácie s množinami. Ich funkcia je podobná ako v matematike, preto si ukážeme len jednoduchý príklad a uvediem tabuľku všetkých operátorov.

Napríklad operátor + slúži na vytvorenie zjednotenia dvoch množín. Nasledujúcim kódom teda pridáme do našej množiny prvky 3 a 4:

 MnozinaCisel := MnozinaCisel + [3, 4];
Operácie s množinami
príklad názov výsledok
m1 + m2 zjednotenie množina obsahujúca prvky, čo sú aspoň v jednej z množín
m1 - m2 doplnok -II-, ktoré sú v 1., ale nie v 2. množine
m1 * m2 prienik -II-, ktoré sú v 1. aj v 2. množine
m1 <= m2 je podmnožina true, ak všetky prvky množiny m1 sú aj v m2
m1 >= m2 je nadmnožina to isté ako m2 <= m1
m1 = m2 rovná sa true, ak m1 obsahuje presne rovnaké prvky ako m2
m1 <> m2 nerovná sa true, ak m1 neobsahuje presne rovnaké prvky ako m2
p1 in m1 rovnosť true, ak sa prvok p1 nachádza v množnine m1

Napríklad, ak sa chceme presvedčiť, či sa číslo 4 naozaj nachádza v množine, použijeme operátor in:

 if 4 in MnozinaCisel then
  writeln('Prvok 4 sa nachadza v mnozine.');
end.

Ďalšie možnosti

Prvkami množiny nemusia byť len čísla či znaky, ale i vymenovaný typ.

Vytvoríme si nový typ, ktorý nazveme TStyl. Bude predstavovať štýl písma v textovom editore. Písmo má vlastnosti: tučné, kurzíva, podčiarknuté. Môže však byť aj byť normálne (vtedy nemá ani jednu z vlastností). Existuje však aj písmo, ktoré je zároveň tučné a podčiarknuté a pod. Práve na tento účel sa hodí množina.

program pismo;
type
 TVlastnosti = (psTucne, psKurziva,
  psPodciarknute);
 TPismo = set of TVlastnosti;
var
 BeznyText, Nadpis: TPismo;
begin
 BeznyText := [];
 Nadpis := [psTucne, psKurziva];
end.

Vidíme, že prázdnu množinu vytvoríme prázdnymi hranatými zátvorkami.

Hodnotenie
1 2 3 4 5 (ako v škole)
Priemerná známka: 3,13
Diskusia k tejto stránke Príspevok na túto tému zatiaľ neexistuje. Môžete pridať prvý z nich!
Prejsť do diskusie»
2005-2012, Matúš Sulír, matus.sulir (zav) gmail bodka com. Gen.: 0,0225 s. Valid XHTML, CSS.