Egzamin ze Wst_{}epu do Informatyki, 24 maja 1999

Zadanie 1 Na wejściu dany jest plik tekstowy tekst.txt. Napisać program w pascalu, który liczy ile słów wyst_{}epuje w tym pliku. Przez słowo rozumiemy dowolny ci _{}ag znaków różnych od spacji, końca linii i końca pliku.

Zadanie 2 Lista jednokierunkowa zbudowana jest z elementów zadeklarownych jako:

 type
   wsk=^elem;
   elem = record
            id: integer;
            nast: wsk
         end;

Napisać w pascalu funkcj_{}e merge(var l1,l2:wsk):wsk. Listy l1,l2 s _{}a posortowane rosn _{}aco wzgl_{}edem pola id. Wartości _{}a funkcji merge jest lista posortowana rosn _{}aco zbudowana z elementów list l1, l2 (listy te powinny stać si_{}e puste po wykonaniu merge).

Zadanie 3 Drzewo binarne jest zdefiniowane nast_{}epuj _{}aco:

 type
   drzewo = ^wezel;
   wezel = record
             klucz: integer;
             lewy, prawy: drzewo
           end;

Napisać w pascalu funkcj_{}e ścieżka(d: drzewo):integer, która oblicza sum_{}e kluczy na ścieżce o maksymalnej długości w tym drzewie; np. dla drzewa d

                 3
                /  \
               1    4
             /  \    \
            1    5    9
                /
               2

wartościa ścieżka(d) powinno być 10.