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.