Вычислить последовательно справа налево. Ряды. Pascal.

Даны действительное число а и натуральное число n. Вычислить последовательно слева направо и справа налево.
3 ответа

Входной файл: 5 2 Выходной: 0.233333333333333
program zz;
var i:integer;
    n:integer;
    a,rez,z:real;
    d1,d2:text;
begin
assign(d1, 'input.txt');
assign(d2, 'output.txt');
reset(d1);
read(d1, a, n);
close(d1);
rez:=0;
z:=1;
 for i:=0 to n-1 do
  begin
  z:=z*(1/(a+i));
  rez:=rez+z;
  end;
rewrite(d2);
write(d2, rez);
close(d2);
end.


uses crt;
var n,i:integer;
    a,sum,z,k,e:real;
begin
clrscr;
repeat
write('vedite deistvitelnoe chislo (a) u natyralnoe (n):');
readln(a,n);
until (n>0)and(a<>0);
sum:=0;
z:=1;
 for i:=0 to n do
  begin
    z:=z*(1/(a+i));
    sum:=sum+z;
  end;
k:=0;
e:=1;
 for i:=n downto 0  do
  begin
   e:=e*(1/(a+i));
   k:=k+e;
  end;
writeln ('Spravo nalevo:',k:0:4);
writeln ('Cleva napravo:',sum:0:4);
readln;
end.
Строки 17-22 надо исправить чтобы щитала справа налево?


Какая логика в задаче? У Вас СУММА - ее хоть слева направо, хоть справо налево считай - одно и то же получим. Впрочем, если про начало счета - то в цикле нужно изменить выражение, т.е., переделать инкрементирующее в декрементирующее. и вообще, зачем цикл repeat...until??? Какова задача вообще - исправить данную программу или написать ее для вычисления ряда? потому как я бы ее проще решила... и короче ... раза в полтора точно))) Отпишитесь, и посмотрим, что можно сделать.