Tutorial

Co to ja miałem? Aha, sklerozę!

W przypadku takiego kodu:

var
  d,n,i : longint;

function fib(x: longint): longint;
begin
  fib:=(fib(x-1)+fib(x-2)) mod 10000
end;

begin
  readln(d);
  while (d>0) do
  begin
    d:=d-1;
    readln(n);
    writeln(fib(n));
  end;
end.

Sprawdzarka zwróci ocenę:

Runtime Error

Oznacza to, że w program chciał wykonać operację niedozwoloną (np. może to być dzielenie przez zero albo korzystanie z nie zaalokowanej pamięci). W tym przypadku, z braku warunku końcowego na rekurencję, program przekroczy pojemność stosu i zostanie przerwany.