Zadanie zaliczeniowe z laboratorium Pascala i C. ZSI I. 01/02 ------------------------------------------------------------- Zadane: 23-24.01.2002, odbiór: 30-31.01.2002, 2 punkty. Zad 6. Zadanie (2 pkt) --------------- 1) Zaimplementuj modul udostepniajacy listy liczb calkowitych i operacje na nich. W module powinny znalezc sie nastepujace elementy: type lista = ^elemlisty; elemlisty = record w: integer; nast: lista end procedure WstawNaPocz (var l: lista; x: integer); { wstawia liczbe x jako pierwszy element listy l } procedure WstawNaKon (var l: lista; x: integer); { wstawia liczbe x na koniec listy l } function Dlugosc (l: lista): integer; { przekazuje w wyniku dlugosc listy l } function CzyPusta (l: lista): boolean; { przekazuje w wyniku true wtw, gdy lista jest pusta } procedure Inicjuj (var l: lista); { tworzy liste pusta } procedure Wstaw (var l: lista; x: integer); { wstawia element x na wlasciwe miejsce listy l, przy zalozeniu, ze l jest uporzadkowana niemalejaco } function Znajdz (l: lista; x: integer): lista; { odszukuje element x w liscie l i przekazuje w wyniku wskaznik do elementu listy lub nil, jesli x nie ma } procedure Usun (var l: lista; co: lista); { usuwa z listy l, element wskazywany przez co. Mozna przyjac, ze co pokazuje na pewien element listy l. Uwaga na implementacje! } procedure WypiszListe (l: lista; var f: text); { wypisuje liczby z listy l na plik f } procedure WczytajListe (var l: lista; var f: text); { wczytuje liczby z pliku --- dokladna specyfikacja na laboratorium } procedure NiszczListe (var l: lista); { usuwa wszystkie elementy z listy l i zwalnia pamiec zajmowana przez nie } procedure Odwroc (var l: lista); { odwraca liste l (nie tworzac jej kopii!) } 2) Napisz program, ktory zilustruje dzialanie modulu. Specyfikacja programu zostanie podana przez prowadzacego.