Wstęp do Programowania
            ZSI. I Rok. Klasówka nr 2 - poprawkowa
                          18.12.2002

Zad 1 (6 pkt.)
Dany jest typ TTab = array[1..N] of integer (N stała większa od
zera). Należy napisać funkcję:
    function Jest(A: TTab): boolean;
której  wynikiem jest  true, gdy w posortowanej rosnąco tablicy
A  jest  co  najmniej  jedna para liczb o  tej  samej  wartości
bezwzględnej (i false wpp).

Zad 2 (9 pkt.)
Dany  jest typ TTab = array[1..N] of integer oraz typ  TTab1  =
array[1..N-1]  of integer (N stała większa od jednego).  Napisz
funkcję:
    function Brak(A: TTab; B: TTab): integer;
która  wiedząc, że w tablicy A wszystkie wartości są  różne,  a
tablica  B  zawiera po kolei wszystkie, prócz jednej liczby,  z
tablicy A, da w wyniku wartość brakującego w tablicy B elementu
z tablicy A.

Zad 3 (5 pkt.)
Podaj  gramatykę  dla języka a^i b^j c^k,  gdzie  0<=i,k  i+k<j
(czyli  terminal ”b” występuje więcej razy niż ”a” i ”c”  razem
wzięte). Uzasadnij jej poprawność.

Rozwiązanie  każdego  zadania  napisz  na  osobnej,  podpisanej
kartce. Podaj uzasadnienia rozwiązań. Zwróć uwagę na czytelność
rozwiązań i ich efektywność.

Powodzenia!