Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.10.2020
Сообщений: 5

Построение таблицы значений функции

27.11.2020, 10:08. Показов 1261. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составьте программу построения таблицы значений функции. Вычисление суммы оформить
в виде процедуры-функции. Предусмотреть выход по точности и максимальному числу
слагаемых. Полученные результаты сравнить с точными (или табличными) значениями:

https://www.cyberforum.ru/cgi-bin/latex.cgi?C\left(z \right)=\cos\left(\frac{\pi z^2}{2} \right)\sum_{k=0}^{\infty}\frac{\left(-1 \right)^k \pi^{2k}}{\left(4k+1 \right)!!}\:z^{4k+1}+\sin\left(\frac{\pi z^2}{2} \right)\sum_{k=0}^{\infty} \frac{\left(-1 \right)^k \pi^{2k+1}}{\left(4k+3 \right)!!}\:z^{4k+3} - интеграл Френеля

https://www.cyberforum.ru/cgi-bin/latex.cgi?0 \le z \le 5
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2020, 10:08
Ответы с готовыми решениями:

Вычисление значений функции F(x) и построение таблицы значений F(x)
Дана функция F(x). Написать и отладить программу, в которой будет реализовано вычисление значений...

Построение таблицы значений функции y=f(x)
Необходимо построить таблицу значений функции y=f(x), x изменяется от xmin до xmax с шагом dx....

Построение таблицы значений функции от двух переменных
Вывести на экран таблицу значений функции f от двух переменных: z и x. z принимает значения: от...

4
0 / 0 / 0
Регистрация: 19.01.2022
Сообщений: 1
19.01.2022, 16:33
Привет, если ты смог сделать это задание, скинь пожалуйста решение.
0
Модератор
10442 / 5734 / 3406
Регистрация: 17.08.2012
Сообщений: 17,442
21.01.2022, 01:41
Вла дик, участник форума Keiko последний раз был на форуме в декабре 2020 года. Если поднимаете древнюю тему, то задавайте вопрос безадресно, а не обращайтесь к топикстартеру, он Вам, скорее всего, ничего не ответит.

Интеграл Френеля не вычисляется аналитически, поэтому сравнить результат с точным значением не выйдет. Я не нашёл таблиц для интеграла Френеля, поэтому сравнения результата с табличными значениями тоже не будет. Если Вы найдёте нужные таблицы, выкладывайте, я переделаю программу.

Преступим.

Сумм здесь две, их и будем вычислять с помощью функций. Суммы представляют собой знакопеременные степенные ряды, модули слагаемых которых монотонно убывают. Поэтому в качестве критерия окончания вычислений с заданной точностью будем применять критерий Лейбница для знакопеременных рядов.

Найдём рекуррентные соотношения для слагаемых каждой суммы.

──────────────────────────────────────── ─
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
S_1=\sum_{k=0}^{\infty }\frac{(-1)^k\pi ^{2k}z^{4k+1}}{(4k+1)!!}=\sum_{k=0}^{\infty }\!a_n<br />

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\boxed{a_0=\frac{z}{1!!}=z};\ \ \ a_k=\frac{(-1)^k\pi ^{2k}z^{4k+1}}{(4k+1)!!};\ \ \ a_{k-1}=\frac{(-1)^{k-1}\pi ^{2(k-1)}z^{4(k-1)+1}}{(4(k-1)+1)!!}=\frac{(-1)^{k-1}\pi ^{2k-2}z^{4k-3}}{(4k-3)!!};<br />

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\frac{a_k}{a_{k-1}}=\frac{\frac{(-1)^k\pi ^{2k}z^{4k+1}}{(4k+1)!!}}{\frac{(-1)^{k-1}\pi ^{2k-2}z^{4k-3}}{(4k-3)!!}}=\frac{-\pi ^2z^4}{(4k-1)(4k+1)}=\frac{-\pi ^2z^4}{16(k-0.25)(k+0.25)}\ \Rightarrow \ \boxed{a_k=\frac{-\pi ^2z^4a_{k-1}}{16(k-0.25)(k+0.25)}}<br />

──────────────────────────────────────── ─

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
S_2=\sum_{k=0}^{\infty }\frac{(-1)^k\pi ^{2k+1}z^{4k+3}}{(4k+3)!!}=\sum_{k=0}^{\infty }\!a_n<br />

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\boxed{a_0=\frac{\pi z^3}{3!!}=\frac{\pi z^3}{3}};\ \ \ a_k=\frac{(-1)^k\pi ^{2k+1}z^{4k+3}}{(4k+3)!!};\ \ \ a_{k-1}=\frac{(-1)^{k-1}\pi ^{2k-1}z^{4k-1}}{(4k-1)!!};<br />

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\frac{a_k}{a_{k-1}}=\frac{\frac{(-1)^k\pi ^{2k+1}z^{4k+3}}{(4k+3)!!}}{\frac{(-1)^{k-1}\pi ^{2k-1}z^{4k-1}}{(4k-1)!!}}=\frac{-\pi ^2z^4}{(4k+1)(4k+3)}=\frac{-\pi ^2z^4}{16(k+0.25)(k+0.75)}\ \Rightarrow \ \boxed{a_k=\frac{-\pi ^2z^4a_{k-1}}{16(k+0.25)(k+0.75)}}<br />

──────────────────────────────────────── ─
Рекуррентные соотношения получились очень похожими, для них можно использовать одну и ту же функцию с дополнительным параметром - номером функции. В самой функции значения -π2z4/16 и то, что добавляется к "k" в знаменателе, а также a0, имеет смысл вычислять перед вхождением в цикл. Выход из цикла можно сделать одновременно по двум условиям: достижение требуемой точности и суммирование нужного количества слагаемых. Для получения нужной точности для всего интеграла точность вычисления для каждой суммы должна быть ε/2.

Пишем программу.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
function Sum(x, e: real; q, f: integer): real;
var
  a, m, d1, d2, s: real;
  k: integer;
begin
  d1 := (f - 1) * 0.5 - 0.25; // для первой суммы получится -0.25, для второй 0.25
  d2 := d1 + 0.5; // для первой суммы получится 0.25, для второй 0.75
  m := -pi * pi * x * x * x * x / 16;
  if f = 1 then a := x else a := pi * x * x * x / 3; // a_0
  k := 0;
  s := a;
  while (abs(a) > e) and (k < q - 1) do
    begin
      inc(k);
      a := m * a / (k + d1) / (k + d2);
      s := s + a
    end;
  Sum := s
end;
 
const
  zmin = 0;
  zmax = 5;
  hor = '+----------+--------------------+';
var
  zn, zk, hz, z, Cz, eps, t: real;
  n, p: integer;
begin
  repeat
    write('Начальная граница итервала ', zmin, ' <= zn < ', zmax, ';  zn = ');
    readln(zn)
  until (zmin <= zn) and (zn < zmax);
  repeat
    write('Конечная граница итервала ', zn:0:2, ' < zk <= ', zmax, ';  zn = ');
    readln(zk)
  until (zn < zk) and (zn <= zmax);
  repeat
    write('Шаг 0 < hz <= ', zk-zn:0:2, ';  hz = ');
    readln(hz)
  until (0 < hz) and (hz <= zk - zn);
  repeat
    writeln('1 - считать суммы с заданной точностью');
    writeln('2 - суммировать заданное количество членов');
    write('Ваш выбор: ');
    readln(p)
  until p in [1, 2];
  if p = 1 then
    begin
      repeat
        write('0 < eps < 1;  eps = ');
        readln(eps)
      until (0 < eps) and (eps < 1);
      eps := eps / 2;
      n := MaxInt
    end
  else
    begin
      repeat
        write('n > 0;  n = ');
        readln(n)
      until n > 0;
      eps := 0
    end;
    writeln;
    writeln('Таблица для нтеграла френеля');
    writeln(hor);
    writeln('|     z    |         C(z)       |');
    writeln(hor);
  z := zn;
  zk := zk + hz / 2;
  while z < zk do
    begin
      t := pi * z * z / 2;
      Cz:= cos(t) * Sum(z, eps, n, 1) + sin(t) * Sum(z, eps, n, 2);
      writeln('| ', z:8:6, ' | ', Cz:18:15, ' |');
      z := z + hz
    end;
  writeln(hor);
  readln
end.
0
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 1
24.01.2022, 08:21
Это учебник в котором есть нужная таблица со значениями (страница 85 таблица 24)
По ней видно что в программе после какого то момента интеграл перестаёт сходится (зависит от точности и на 5 уже не сходится)
0
Модератор
10442 / 5734 / 3406
Регистрация: 17.08.2012
Сообщений: 17,442
24.01.2022, 22:47
RaKaLuS, эту книгу я видел ещё в 80-х годах прошлого века. Аж молодость вспомнил, спасибо Вам.

Для интеграла Френеля есть несколько немного разных формул. В упомянутой книге и в данной теме формулы для интеграла Френеля немного разные.

Насчёт сходимости. Вы заблуждаетесь, сходимость от точности не зависит. Все ряды, и из книги, и из этой темы, сходятся абсолютно. Легко проверяется нахождением радиуса сходимости ряда. Или Вы имели ввиду, что результат работы моей программы расходится с таблицами из книги? Ну так, формулы-то разные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2022, 22:47
Помогаю со студенческими работами здесь

Построение таблицы значений функции
Составьте программу, которая строит таблицу значений функции x3+5*x2+x-10*sin(5*x)-1. Количество...

Построение таблицы значений функции, состоящую из n строк
Здравствуйте всем ! Помогите пожалуйста решить. Буду очень благодарен ! Задание: В каждой...

Вычисление таблицы значений функции при заданных изменениях значений аргумента
Пожалуста помогите написать прогу на паскале для вычисления таблицы значений функци при заданных...

Вычисление таблицы значений функции u(x, y) при изменении значений аргументов
Ребят, кто поможет? буду очень благодарен..нужно составить блок-схему и программу для вычисления...

Построение таблицы значений функций на интервале [a, b] с шагом Δх
Функция f\left( x\right)=\sqrt{x}+2 При a=0 b=2.5 Δх=0.1


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru