Перевести программу с Pascal

помогите пожайлуста перевести на QBASIC програму:
var a,b,h,x,y1,y2,eps:real;
{-------------------------}
function f1(x:real):real;
begin
f1:=(x-4)*x*x+2;
end;
{-------------------------}
procedure delpop(n,k,eps:real);
var x,z1,z2,z3:real;
begin z1:=f1(n); z2:=f1(k);
repeat
x:=(n+k)/2;
z3:=f1(x);
if z1*z3<0 then begin k:=x; z2:=z3; end;
if z2*z3<0 then begin n:=x; z1:=z3; end;
until ((k-n)<=eps) or (z3=0);
writeln('x:',x:10:6)
end;
{---------------------------}
procedure per1(n,k,h:real);
var x,z1,z2:real;
begin
x:=n; z1:=f1(x);
repeat
if z1=0 then writeln('пойман корень! x=',x:10:6);
x:=x+h; z2:=f1(x);
if (z1*z2<0) then begin write('есть корень на отрезке: ');
delpop(x-h,x,eps);
end;
z1:=z2;
until x>k;
end;
{-------------------------}
begin
eps:=0.000001;
write('введите нач.диап:'); readln(a);
write('введите кон.диап:'); readln(b);
write('введите шаг.перебора:'); readln(h);
per1(a,b,h);
writeln('Отрезок [',A:8:4,'; ',B:8:4,'] Пройден!');
write('нажмите<ENTER>');
readln;
end.
-------------------------------------------------------------------- очень надо пожайлуста!!!
5 ответов

наверняка не работает, но вот:
DECLARE FUNCTION f1 (X)
DECLARE FUNCTION delpop (n, k, eps)
DECLARE SUB per1 (n, k, h)
 
Dim a, b, h, x, y1, y2, eps
eps=0.000001
input "введите нач.диап:", a
input "введите кон.диап:", b
input "введите шаг.перебора:", h
 
per1 a, b, h
print "отрезок ["; a; ";"; b "] пройден"
 
function f1(x)
f1=(x-4)*x*x+2;
end function
 
sub delpop(n, k, eps)
dim x, z1, z2, z3
z1=f1(n)
z2=f1(k)
do
  x=(n+k)/2
  z3=f1(x)
  if z1*z3<0 then k=x: z2=z3
  if z2*z3<0 then n=x: z1=z3
loop until ((k-n)<=eps) or (z3=0)
Print "x:"; x
end sub
 
sub per1(n, k, h)
dim x, z1, z2
x=n
z1=f1(x)
do
  if z1=0 then print "пойман корень! x="; x
  x=x+h: z2=f1(x)
  if (z1*z2<0) then
    '?? write('есть корень на отрезке: ');
    delpop x-h, x, eps
  end if
z1=z2
loop until x>k
end sub


сомневаюсь я что это заработает. во-первых, вместо функции delpop надо процедуру прописать, во-вторых, зачем объявлять переменные, если не задавать их тип (DIM x, z1, z2, z3) в-третьих, что это:
IF (z1*z2<0) THEN '?? write(' есть корень на отрезке: ');
щас, отопьюсь, будет время, посмотрю, но, лучше было бы видеть задание.


в-третьих, что это:
я просто не понял что там хотят
во-первых, вместо функции delpop надо процедуру прописать
ага, надо


Не совсем Вас понял... Вы хотите сказать ,что программа написана не на Паскале ?


народ всем огромное спасибо)))) давно уже сделанно)))