Дано действительное число х, натуральное число n. Вычислить: 1/x+1/x(x+1)+…+1/x(x+1)…(x+n) — Pascal(Паскаль)

uses crt;
var x,s,p:real;
    n,i,j:integer;
begin
clrscr;
repeat
write('Введите действительное число, кроме 0 и целых отрицательных x=');
readln(x);
until (x>0)or(frac(x)>0);{чтобы избежать деления на ноль}
write('Введите натуральное число n=');
readln(n);
s:=1/x;{сумма при n=0}
for i:=1 to n do{следующие члены ряда}
 begin
  p:=1/x;{считаем произведение}
  for j:=1 to i do
  p:=p/(x+j);{домножая знаменатель на следующую сумму}
  s:=s+p;{суммируем}
 end;
write('S=',s:0:4);
readln
end.

Следующий вариант

Модуль

unit unit1;
interface
var x,s:real;
    n:integer;
procedure Vvod;
function Summa:real;
implementation
procedure Vvod;
begin
repeat
write('Введите действительное число, кроме 0 и целых отрицательных x=');
readln(x);
until (x>0)or(frac(x)>0);
write('Введите натуральное число n=');
readln(n);
end;
function Summa;
var i,j:integer;
    p:real;
begin
s:=1/x;
for i:=1 to n do
 begin
  p:=1/x;
  for j:=1 to i do
  p:=p/(x+j);
  s:=s+p;
 end;
end;
end.

Программа

uses crt,unit1;
begin
clrscr;
Vvod;
write('S=',Summa:0:4);
readln
end.

Leave a Comment

+ 89 = 92