Zadanie zaliczeniowe z laboratorium Pascala i C. ZSI I. 01/02
-------------------------------------------------------------

Zadane: 28.11.2001, odbiór: 12.12.2001, 4 punkty.

Zad 3.

Część 1:

Dane są deklaracje:

  const
    n =  ;
    m =  ;

  type
    TZbior = array[0..n] of boolean

Typ TZbior reprezentuje zbiory liczb naturalnych od 0 do n.

Napisz następujace procedury/funkcje:
 - tworzenie pustego zbioru,
 - tworzenie pełnego zbioru,
 - dodanie zadanego elementu do zbioru, usunięcie zadanego elementu ze zbioru,
 - sprawdzenie czy element należy do zbioru,
 - znalezienie maksymalnego/minimalnego elementu,
 - obliczenie sumy, przecięcia i różnicy dwu zbiorów,
 - obliczenie mocy zbioru, 
 - wypisanie zbioru,
 - utworzenie zbioru na podstawie m-elementowej tablicy.

 Część 2:

Z deklaracji oraz z procedur i funkcji wymienionych w części pierwszej zadania
utwórz moduł. Następnie napisz program, który przy pomocy tego modułu wypisze
wszystkie liczby pierwsze z zakresu 2..k, gdzie k jest liczbą z przedziału
2..n zadaną przez użytkownika. Znajdowanie liczb pierwszych należy zrealizować
za pomocą algorytmu Sita Eratostenesa. 

Algorytm Sita Eratostenesa:
===========================
Działanie tego algorytmu jest następujące:
 - tworzymy zbiór wszystkich liczb z przedziału 2..k (można utworzyć zbiór 
   wszystkich liczb z przedziału 0..n),
 - po kolei sprawdzamy wszystkie liczby z przedziału 2..k:
    - jeśli nie należą do zbioru to je pomijamy,
    - jeśli należą, to je wypisujemy i usuwamy ze zbioru ich
      wszystkie wielokrotności.
Uwaga: powyższy algorytm można zmodyfikować tak by był nieco efektywniejszy - 
przeanalizujemy to na laboratorium.