Pascal[Zamiana liczby dziesiętnej na binarny]

Witam

Napisałem o to taki program, który pozwoli zapisać liczbę dziesiętna w systemie binarnym. Ale program nie zapisuje do tablicy reszty z dzielenia przez 2 i przez to nie działa.

program zamiana;

uses crt;

var

i,p,x,licznik:integer;

tablica:array[0..30] of integer;


begin

clrscr;

readln(x);

i:=0;

repeat

        p:= x mod 2;

        x:=x div 2;

        tablica[i]:=p;

        i:=i+1;


until x=0;

for licznik:=1 to i do begin

        write(tablica[i+1]);

        i:= i+1;

end;

 readln();

end.

W Pascalu indeksy tablic zaczynają się od 1; nie od 0, i nie od 2.

powinno być tablica[licznik] oraz licznik powinien iterować po przedziale [0 : i - 1]

W Pascalu można indeksować tablicę nawet od -50.

Prawda; nie zauważyłem, że w kodzie zadeklarowane jest zero. Ale to nie zmienia faktu, że jest błąd w pętli.