-- $Id: fibo.gnat,v 1.0 2003/06/11 12:02:00 dada Exp $ -- http://dada.perl.it/shootout/ -- Ada 95 code by C.C. with Ada.Command_Line, Ada.Text_IO, Ada.Integer_Text_IO; procedure Fibo is function Fib (N : Natural) return Integer is L : Integer := N - 1; pragma Suppress (Range_Check, On => L); begin if L <= 0 then return 1; else return Fib (N - 2) + Fib (L); end if; end Fib; N : Natural := 0; begin begin N := Natural'Value (Ada.Command_Line.Argument (1)); exception when Constraint_Error => null; end; Ada.Integer_Text_IO.Put (Item => Fib (N), Width => 0); Ada.Text_IO.New_Line; end Fibo;