Mam pewien problem z kompilacja programu.
Otóż napisałem program, który wypisuje n pierwszych wyrazów ciągów arytmetycznego dla podanych r i a1.
Problem polega na tym że jak chce skompilować program to kompilator się na chwile wiesza i po około 30 sek program zostaje skompilowany i odpala się w konsoli. Gdy zamknę konsole i próbuje ponownie go skompilować jest ok, ale wystarczy że zmienię chociaż 1 znak w kodzie i robi się to samo.
Oto kod programu:
program Project2;
{$APPTYPE CONSOLE}
uses
sysutils;
var
i,n1,r1,kod: Integer;
a:array[0..1000] of Integer;
n,x,r: String;
procedure odstep;
begin
writeln('***************************************************************');
end;
begin
writeln('Program wyswietla n kolejnych wyrazow ciagu arytmetycznego');
odstep;
write('Podaj ilosc wyrazow n: ');
repeat
readln(n);
val(n,n1,kod);
if (kod<>0) or (n1<=0) or (n1>1000) then
begin
writeln('Bledne dane');
writeln;
write('Podaj prawidlowa ilosc wyrazow n: ');
end;
until (kod=0) and (n1>0) and (n1<=1000);
odstep;
write('Podaj pierwszy wyraz a[1]: ');
repeat
readln(x);
val(x,a[1],kod);
if (kod<>0) or (a[1]<0) or (a[1]>20) then
begin
writeln('Bledne dane');
writeln;
write('Podaj jeszcze raz pierwszy wyraz: ');
end;
until (kod=0) and (a[1]>=0) and (a[1]<=20);
odstep;
write('Podaj roznice r: ');
repeat
readln(r);
val(r,r1,kod);
if (kod<>0) or (r1<-10000) or (r1>10000) then
begin
writeln('Bledne dane');
writeln;
write('Podaj prawidlowa roznice r: ');
end;
until (kod=0) and (r1>=-10000) and (r1<=10000);
odstep;
i:=1;
writeln('a[',i,']=',a[i]);
for i:=2 to n1 do
begin
a[i]:=a[i-1]+r1;
writeln('a[',i,']=',a[i]);
end;
odstep;
readln;
end.