Итерационные циклы. Вычисление суммы бесконечного ряда - Free Pascal
Формулировка задачи:
Нужна подмога!
Разработать алгоритм и программу, определяющие сумму ряда с заданной погрешностью Е (ипсилон) для произвольно заданного аргумента х. Определить число повторений итерационного цикла. Бесконечная сумма:
Диапазон изменения х:
Выражение для проверки: cosx
Решение задачи: «Итерационные циклы. Вычисление суммы бесконечного ряда»
textual
Листинг программы
Uses Crt; Var x,n,i: integer; sum: real; Function fact(x: integer): int64; Var i: integer; Begin fact:=1; If fact = 0 then fact:=1 else For i:=1 to x do fact:=fact*i; End; Function st(x,i: integer): int64; Var j: integer; Begin st:=1; For j:=1 to i do st:=st*x; End; Begin Clrscr; Randomize; sum:=1; Write('Введите x: '); Readln(x); n:=Random(5)+1; For i:=1 to n do sum:=sum + st(-1,i)*st(x,2*i)/fact(2*i); Writeln('Полученная сумма: ', sum:0:4); Readln; End.
Объяснение кода листинга программы
В этом коде используется язык программирования Free Pascal.
- Объявляются переменные:
- x, n, i: integer (целочисленные)
- sum: real (с плавающей точкой)
- fact: int64 (целочисленный тип с большим размером)
- st: int64 (целочисленный тип с большим размером)
- Определяются функции:
- fact(x: integer): int64 (факториал числа)
- st(x,i: integer): int64 (степенной член для суммы)
- В основной части программы:
- Очищается экран
- Инициализируется генератор случайных чисел
- Выводится приглашение для ввода числа x
- Считывается значение x
- Инициализируется переменная n случайным числом от 1 до 5
- Выполняется цикл от 1 до n
- В каждой итерации цикла вычисляется значение степенного члена st(-1,i) и добавляется к сумме sum
- Выводится сообщение с полученной суммой
- Считывается символ конца строки Обратите внимание, что в данном коде используется вызов функции fact(2i) вместо fact(i) из-за того, что в цикле переменная i имеет значение 2i.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д