AiR - Informatyka 2
Zadanie na laboratorium

Kolejnym zadaniem będzie zmodyfikowanie poprzedniego programu do gromadzenia i podsumowywania danych o użytkownikach tak, aby zwiększyć jego funkcjonalność, a także zastąpić zwykłe drzewa binarne drzewami AVL.

Program powinien teraz umożliwić użytkownikowi wykonanie następujących informacji:

  1. obliczenie i wyświetlenie wysokości obu zbudowanych drzew binarnych, oraz wagi dowolnego z nich (te informacje są pomocnicze, dlatego można je wyświetlić tylko raz, po wczytaniu wszystkich danych z pliku),
  2. wykonanie przeglądu wybranego drzewa, w porządku inorder, w celu zapisania na pliku całej jego zawartości, po jednym rekordzie w wierszu,
  3. zbudowanie i wyświetlenie listy użytkowników logujących się do systemu, uporządkowanej malejąco według liczby logowań (z dowolnego adresu); listę należy wyświetlać porcjami po 20 pozycji (albo tyle ile się zmieści na terminalu),
  4. zbudowanie i wyświetlenie listy adresów, z których było logowanie do systemu, uporządkowanej malejąco według liczby logowań (dowolnego użytkownika); listę należy wyświetlać porcjami po 20 pozycji (albo tyle ile się zmieści na terminalu).

Do implementacji programu należy użyć drzew AVL korzystając z gotowej biblioteki procedur. Biblioteka składa się z plików nagłówkowych zawierających deklaracje elementów biblioteki dla kompilatora Pascala, oraz z biblioteki właściwej, zawierającej skompilowane, binarne procedury, stałe, zmienne, itp. Pliki nagłówkowe znajdują się na diablo w katalogu:

/usr/local/air/sunpc/include
biblioteka w pliku:
/usr/local/air/sunpc/lib/libdrzewa.a
a sposób korzystania z biblioteki ilustruje program przykładowy
/usr/local/air/sunpc/examples/drzewa/przyklad_avl.p