Предмет: Информатика, автор: MarfaJon

ПОМОГИТЕ ПОЖАЛУЙСТА ПРОГРАММУ СДЕЛАТЬ+ блок схема+результат. СМ ФОТО

Приложения:

Ответы

Автор ответа: Аноним
0
var
  n: integer;
  s, x, xn, y: double;

begin
  s := 0; x := 0.1; xn := x;
  for n := 1 to 20 do
  begin
    s := s + n * (n + 2) * xn;
    xn := xn * x
  end;
  y := x * (3 + x) / (1 - x);
  Writeln('Сумма (x=0.1, n=20)=', s, ', по формуле=', y );
  s := 0; x := 0.5; xn := x;
  for n := 1 to 15 do
  begin
    s := s + n * (n + 2) * xn;
    xn := xn * x
  end;
  y := x * (3 + x) / (1 - x);
  Writeln('Сумма (x=0.5, n=15)=', s, ', по формуле=', y );
end.

Тестовое решение:

Сумма (x=0.1, n=20)=0.397805212620028, по формуле=0.344444444444445
Сумма (x=0.5, n=15)=9.99008178710938, по формуле=3.5

Как видно, если в первом случае формула еще дает какое-то приближение, то во втором она совершенно не годится.

Блок-схема, реализующая алгоритм, приведена в приложении. Она не копирует программу, а лишь поясняет алгоритм, который в программе использован дважды для разных данных. Конечно, правильнее было воспользоваться функциями и тогда программа выглядела бы так:

function f1(x: double; k: integer): double;
var
  s, xn: double;
  n: integer;

begin
  s := 0; xn := x;
  for n := 1 to k do begin s := s + n * (n + 2) * xn; xn := xn * x end;
  f1 := s
end;

function f2(x: double): double;
begin
  f2 := x * (3 + x) / (1 - x);
end;

begin
  Writeln('Сумма (x=0.1, n=20)=', f1(0.1, 20), ', по формуле=', f2(0.1));
  Writeln('Сумма (x=0.5, n=15)=', f1(0.5, 15), ', по формуле=', f2(0.5));
end.



Приложения:
Автор ответа: Аноним
0
Читайте ЛС, оно как раз по нему
Автор ответа: Аноним
0
Вы что, с телефона? Иконка левее рупора с конвертиком
Автор ответа: MarfaJon
0
да с телефона
Автор ответа: Аноним
0
Тогда все понятно. Вам не повезлою
Похожие вопросы