Не смотрите что я не сделал для 3 части



П.с.Правда хоть это и первый курс, но я решил выпендриться и решить не так как в условии... дело в том, что мы массивы не изучали... мы изучили только эти цыклы, но ещё и if then else... Вобщем это не важно... найдите ошибку если сможите...
Вот сама программа:
program lab5_var13;
uses crt;
const xn=0.4; xk=2.8; hx=0.4; a=1.7;
var x,y:real; v,i:integer; tab:array[1..7,1..2] of real;
begin
clrscr;
writeln('vubirite sposob reshenija i postavte cifry:');
writeln('1) WHILE');
writeln('2) REPEAT');
writeln('3) FOR');
write('Variant => '); read(v);
if v=1
then
begin
x:=xn;
i:=1;
writeln('nachali...');
while x<=a
do
begin
y:=cos((x)/(25));
tab[i,1]:=x;
tab[i,2]:=y;
x:=x+hx;
i:=i+1;
end;
writeln('prodolguli...');
while (x<=xk+hx)and(x>a)
do
begin
y:=sqrt(exp(3*ln(x))+4);
tab[i,1]:=x;
tab[i,2]:=y;
x:=x+hx;
i:=i+1;
end;
for i:=1 to 7
do writeln('Pri X=', tab[i,1]:10:7, ' => Y=', tab[i,2]:10:7);
end;
if v=2
then
begin
x:=xn;
i:=1;
writeln('nachali...');
repeat
y:=cos((x)/(25));
tab[i,1]:=x;
tab[i,2]:=y;
x:=x+hx;
i:=i+1;
until (x<=xk)and(x<a);
writeln('kapec...');
repeat
y:=sqrt(exp(3*ln(x))+4);
tab[i,1]:=x;
tab[i,2]:=y;
x:=x+hx;
i:=i+1;
until (x<=xk)and(x>a);
for i:=1 to 7
do writeln('Pri X=', tab[i,1]:10:7, ' => Y=', tab[i,2]:10:7);
end;
if v=3
then
begin
end;
readkey
end.