М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
лера21091
лера21091
24.11.2022 22:44 •  Информатика

написать программу, вычисляющую сумму бесконечного ряда с заданной точностью. в Pascal. Если можно, то с минимальными объяснениями.


написать программу, вычисляющую сумму бесконечного ряда с заданной точностью. в Pascal. Если можно,

👇
Ответ:

function factorial(x:real): real;

begin

   if x = 1 then factorial := 1

   else factorial := x * factorial(x-1);

end;

function F(n:integer; x:integer): real;

begin

   if n = 1 then F:=3*sqr(x)/2

   else F:=exp(n*ln(3))*exp(2*n*ln(x))/factorial(2*n) + F(n-1, x);

end;

var n,x:integer;

begin

   x := 2;

   n := 50;

   write(F(n,x):0:2);

end.

4,4(81 оценок)
Открыть все ответы
Ответ:
Haesiy
Haesiy
24.11.2022
Пункт а:

Насколько я помню, в паскале невозможно реализовать бесконечный цикл, поэтому решение будет слегка притянуто за уши. Например если вы введете число из 9001 символа, программа будет работать неккоректно. Для выхода из цикла используется 'метка'.

a, counter, Summa : integer;
Label Transfer;
Begin
writeln('Введите число');
readln(a);
counter := 1;
counterTw0 := counterTwo + 1;
while counter < 9000 Do
    begin
    counter := counter +1;
    if (a div counter) < 0 then Transfer
    else counterTwo := counterTwo + 1;
    else;
Goto Transfer;

//Узнали, что в числе counterTwo символов

while counter < counterTwo Do
Summa := Summa + ((a div counter) mod 10);

Summa := Summa + (a mod 10);
writeln(Summa);
end.
4,8(23 оценок)
Ответ:
KateBytorova
KateBytorova
24.11.2022
Function F(x: real): real;
begin
  F := 3 * sin(x) + 2 * sqr(x) - 1;
end;

var
  a, b, h, x, Fa, Fx: real;

begin
  Write('Введите через пробел начало интервала, конец и шаг: ');
  Readln(a, b, h);
  x := a; Fa := F(a);
  repeat
    Fx := F(x);
    if Fx = 0 then Writeln('Найден корень ', x:0:3)
    else
    if Fx * Fa < 0 then
      Writeln('Найден интервал изоляции корня (', a:0:3, ';', x:0:3, ')');
    a := x; Fa := Fx; x := x + h
  until x > b;
end.

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

Введите через пробел начало интервала, конец и шаг: 0 1.95 0.15
Найден интервал изоляции корня (0.150;0.300)

Введите через пробел начало интервала, конец и шаг: -5 5 0.1
Найден интервал изоляции корня (-1.500;-1.400)
Найден интервал изоляции корня (0.200;0.300)

Программа pascal которая отделяет корни уравнения: составляет таблицу значений функции на интервале
4,8(63 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ