Fibonacci, en klassiker

Publicerad: 04 oktober 2009 | Kategori: HowTo | Etiketter: , , | Snabblänk » | Bli först att kommentera! »

När man lär sig ett nytt programmeringsspråk brukar en av de ”svårare” uppgifterna från läraren vara att skriva ut Fibonaccis talserie. Så är det även i denna Ada-kurs jag läser nu. Nyckelordet här är rekursion om man inte vill fastna i massa långa loopar och konstiga villkorssatser.

Så här ser koden ut i Ada:

with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;

procedure Fibonacci is
  In_N : Integer := 0;
  function Fibonacci_Numbers (N : Integer) return Integer is
  begin
    if N < 2 then
      return N;
    else
      return Fibonacci_Numbers(N-1) + Fibonacci_Numbers(N-2);
    end if;
  end Fibonacci_Numbers;
begin
  Put ("Ange max antal tal i Fibonaccis talserie som ska visas: ");
  Get (In_N);
  Put (Fibonacci_Numbers(In_N));
end Fibonacci;

Något kul att notera är att exekveringstiden växer exponentiellt vilket gör att du ska vara försiktig med hur många tal du väljer att visa.