Zadanie zaliczeniowe z laboratorium Pascala i C. ZSI I. 00/01

Termin opublikowania: tydzień 27.11-1.12
Termin oddania:       tydzień 11.12-15.12

Silnia i liczba Fibonacciego (4 pkty)
-------------------------------------

Napisz program wczytujący od użytkownika liczbę całkowitą k, 0<=k,
a następnie wypisujący na ekranie wartość k! (k silnia) i k-tą
liczbę Fibonacciego. Program powinien działać dla sensownego zakresu
liczb naturalnych, tzn. powinien być w stanie policzyć np. 100-cyfrowe
wyniki (maksymalna liczba cyfr używanych liczb powinna być stałą
w programie).

Program powinien:
 - przeprowadzać dialog z użytkownikiem (tzn. na początku poinformować co robi,
   potem prosić o podawanie kolejnych danych - w tym przypadku liczby k),
 - zawierać następujące procedury: 
     procedure wypisz(A: TDlugaLiczba);
      {Wypisuje na ekranie długą liczbę a}
     procedure dodaj(A, B: TDlugaLiczba; var C: TDlugaLiczba);
      {Dodaje do siebie liczby A i B, wynik umieszcza w C. Jeśli
       wynik jest zbyt duży, to kończy działanie całego programu}
     procedure mnoz(A: TDlugaLiczba; k: integer; VAR B: TDlugaLiczba);
      {Oblicza iloczyn krótkiej liczby k i długiej liczby A. Wynik umieszcza
       w zmiennej B. Można założyć, że k jest na tyle małe, że iloczyn
       k przez 9 mieści się w zakresie typu integer}
    gdzie typ TDlugaLiczba jest zdefiniowany następująco:
     type
      TDlugaLiczba = 
        record 
	  Cyfry: array[0..N] of 0..9;   {Cyfry długiej liczby, najmniej znacząca
	                                 jest na pozycji 0}
	  LCyfr: 1..N+1;             {Liczba cyfr, 1 <= LCyfr <= N+1}
	end;
    Jak widać z deklaracji cyfry sa dziesiętne.
 - i oczywiście wypisać wynik.