home *** CD-ROM | disk | FTP | other *** search
- with TEXT_IO; use TEXT_IO;
- procedure FIBTEST is
- PASSED : BOOLEAN := TRUE;
- function FIBONACCI(N : in POSITIVE)return POSITIVE is separate;
- procedure COMPARE (N : in POSITIVE; RIGHT_ANSWER : in POSITIVE) is
- package INT_IO is new INTEGER_IO(INTEGER); use INT_IO;
- MY_ANSWER : POSITIVE := FIBONACCI(N);
- begin
- if MY_ANSWER /= RIGHT_ANSWER then
- PUT("N:"); PUT(N);
- PUT(" My answer:"); PUT(MY_ANSWER);
- PUT(" Right answer:"); PUT(RIGHT_ANSWER);
- NEW_LINE;
- PASSED := FALSE;
- end if;
- end COMPARE;
- begin
- COMPARE(1,1);
- COMPARE(2,1);
- COMPARE(3,2);
- COMPARE(4,3);
- COMPARE(5,5);
- COMPARE(6,8);
- COMPARE(7,13);
- COMPARE(10,55);
- COMPARE(15,610);
- COMPARE(20,6765);
- if PASSED then
- PUT_LINE("Congratulations, you completed the assignment!");
- end if;
- end FIBTEST;
-