Wstęp do Programowania
                   ZSI. I Rok. Klasówka nr 1
                          29.10.2002
                               

Zad 1 (4 pkt.)
Dane  są  4  zmienne całkowite a, b, c, d o  wartościach  >  0.
Napisz program wyliczający z ilu trójek z tych zmiennych  można
skonstruować  trójkąt  o długościach boków  równych  wartościom
tych zmiennych.

Wskazówka: z zadanych 3 liczb całkowitych większych od zera  da
się zbudować trójkąt o podanych długościach boków wtedy i tylko
wtedy,  gdy  suma  każdych dwu liczb (długości boków  trójkąta)
jest większa od trzeciej (długości trzeciego z boków).

Zad 2 (6 pkt.)
W  dwu tablicach L1 i L2 typu Tab=array[1..N] of integer  (N  –
stała  większa  od  zera) zapisano cyfry  dwu  liczb  (pierwszy
element zawiera najmniej znaczącą cyfrę, jeśli liczba ma  mniej
niż   N  cyfr  to  brakujące  cyfry  uzupełniono  nieznaczącymi
zerami). Napisz program porównujący wartości tych liczb ze sobą
i przypisujący na zmienną wyn jedną z 3 wartości:
  ˇ   0 gdy liczby są równe,
ˇ   -1 gdy pierwsza liczba jest mniejsza,
ˇ   1 gdy pierwsza liczba jest większa.
Uwaga:  N  może być bardzo duże (np. 1000), więc  nie  można  w
żadnym ze standardowych całkowitoliczbowych typów Pascala  (np.
integer) zapamiętać wartości tych dwu liczb.

Zad 3 (10 pkt.)
Dana jest tablica A typu Tab=array[1..N] of 1..N+1. Wiedząc, że
jej zawartość jest posortowana rosnąco (tzn. A[i]<A[i+1] dla  i
=   1..N-1)   napisz  program  wypisujący  wszystkie   wartości
całkowite z przedziału 1..N+1 nie występujące w A.

Rozwiązanie  każdego  zadania  napisz  na  osobnej,  podpisanej
kartce. Podaj uzasadnienia rozwiązań. Zwróć uwagę na czytelność
rozwiązań  i  ich efektywność (tzn. szybkość działania,  np.  w
zadaniach z tablicami lepszy jest program przeglądający tablicę
jeden raz niż N razy).

Powodzenia!