Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
1 / 1 / 1
Регистрация: 04.10.2013
Сообщений: 65

Для аргумента , изменяющегося от –0.6 с шагом 0.05 вычислить 20 значений функций

31.01.2016, 14:38. Показов 3497. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем задание такое:
Для аргумента , изменяющегося от –0.6 с шагом 0.05 вычислить 20 значений функций:
https://www.cyberforum.ru/cgi-bin/latex.cgi?f1(x)=\frac{-x}{4}+\frac{\sqrt{2}(1+{x}^{4})}{32}*(\ln \frac{{x}^{2}+x*\sqrt{2}+1}{{x}^{2}-x*\sqrt{2}+1}+2\operatorname{arctg} (\frac{x*\sqrt{2}}{1-{x}^{2}}))

https://www.cyberforum.ru/cgi-bin/latex.cgi?f2(x)=\sum_{k=0}^{\infty}\frac{({-1}^{k}){x}^{4k+5}}{(4k+1)(4k+5)}
Функцию f2(x) вычислить для ряда точностей .
Для указанных точностей определить количество N элементов ряда, суммируемых для достижения заданной точности. Результаты расчетов свести в таблицу.
Причем результат в пределах точности должен быть одинаковым у обеих функций.
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
PROGRAM Ex1; 
Uses Crt; 
Const 
eps1 = 0.01; { Точность 10-2} 
eps2 = 0.01; { Точность 10-3 } 
eps3 = 0.001; { Точность 10-4 } 
a = -0.6; { Начальное значение Х} 
b = 0.05; { Шаг} 
Var 
k1, k2, k3, i: Integer; {Вспомогательные переменные} 
f1, f2_1, f2_2, f2_3, step, slag, x: Real; 
 
BEGIN 
ClrScr; 
{Рисуется шапка таблицы} 
writeln('___________________________________________________________'); 
writeln('|       |             | e=0.01   | e=0.001   | e=0.0001   |'); 
writeln('|       |             |----------|-----------|------------|'); 
writeln('| x     | f1(x)       |      |   |       |   |        |   |'); 
writeln('|       |             |f2(x) | N | f2(x) | N | f2(x)  | N |'); 
writeln('|_______|_____________|______|___|_______|___|________|___|'); 
x := a; {Начальное значение Х} 
for i:=1 to 20 do 
begin 
f1:=(-x/4)+((sqrt(2)*(1+x*x*x*x))/32) 
*((((ln(sqr(x)+x*sqrt(2)+1)/(sqr(x)-x*sqrt(2)+1)))+(2*Arctan((x*sqrt(2))/(1-sqr(x)))))); { Вычисляется значение функции f1} 
{ Вычисляется значения функции f2} 
step:=x; {Начальное значение степени Х} 
f2_1:=0; {Начальное значение функции f2_1} 
k1:=-1; 
repeat {Итерационный цикл для точности 10-2} 
inc(k1); 
step:=step*x*x*x*x; {Наращивается степень} 
slag:=step/((4*k1+1)*(4*k1+5)); {Считается очередное слагаемое} 
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-1); 
f2_1:=f2_1+slag; {Считается значение f2_1} 
until abs(slag)<=eps1; {Выход из цикла, когда слагаемое становится меньше точности 10-2} 
f2_2:=f2_1; 
k2:=k1; 
repeat {Итерационный цикл для точности 10-3} 
inc(k2); 
step:=step*x*x*x*x; {Наращивается степень} 
slag:=step/((4*k2+1)*(4*k2+5)); {Считается очередное слагаемое} 
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-1); 
f2_2:=f2_2+slag; 
until abs(slag)<=eps2; {Выход из цикла, когда слагаемое становится меньше точности 10-3} 
f2_3:=f2_2; 
k3:=k2; 
repeat {итерационный цикл для точности 10-4} 
inc(k3); 
step:=step*x*x*x*x; {Наращивается степень} 
slag:=step/((4*k3+1)*(4*k3+5)); {Считается очередное слагаемое} 
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-1); 
f2_3:=f2_3+slag; 
until abs(slag)<=eps3; {Выход из цикла, когда слагаемое становится меньше точности 10-4} 
{ Вывод результатов} 
writeln('| ', x:5:2,' | ',f1:12:9,'| ',f2_1:5:2,'| ', 
k1:2,'| ',f2_2:6:3,'| ',k2:2,'| ',f2_3:7:4,'| ', k3:2,'|'); 
x:=x+b; 
end; 
{ завершение таблицы } 
write('-----------------------------------------------------------'); 
ReadKey 
END.
У меня же они получаются разными. Ошибка гдето в вычислении f1. Не могу найти, помогите плз.

Добавлено через 3 часа 19 минут
Заработало.
Вынес Арктангенс в отдельную переменную, и заработало как надо.
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
PROGRAM Ex1; 
Uses Crt; 
Const 
eps1 = 0.01; { Точность 10-2} 
eps2 = 0.01; { Точность 10-3 } 
eps3 = 0.001; { Точность 10-4 } 
a = -0.6; { Начальное значение Х} 
b = 0.05; { Шаг} 
Var 
k1, k2, k3, i: Integer; {Вспомогательные переменные} 
f1, f2_1, f2_2, f2_3, step, slag, x,at: Real; 
 
BEGIN 
ClrScr; 
{Рисуется шапка таблицы} 
writeln('___________________________________________________________'); 
writeln('|       |             | e=0.01   | e=0.001   | e=0.0001   |'); 
writeln('|       |             |----------|-----------|------------|'); 
writeln('| x     | f1(x)       |      |   |       |   |        |   |'); 
writeln('|       |             |f2(x) | N | f2(x) | N | f2(x)  | N |'); 
writeln('|_______|_____________|______|___|_______|___|________|___|'); 
x := a; {Начальное значение Х} 
for i:=1 to 20 do 
begin 
at:=Arctan((x*sqrt(2))/(1-sqr(x)));
f1:=(-x/4)+((sqrt(2)*(1+x*x*x*x))/32) 
*(ln((sqr(x)+x*sqrt(2)+1)/(sqr(x)-x*sqrt(2)+1))+(2*at)); { Вычисляется значение функции f1} 
{ Вычисляется значения функции f2} 
step:=x; {Начальное значение степени Х} 
f2_1:=0; {Начальное значение функции f2_1} 
k1:=-1; 
repeat {Итерационный цикл для точности 10-2} 
inc(k1); 
step:=step*x*x*x*x; {Наращивается степень} 
slag:=step/((4*k1+1)*(4*k1+5)); {Считается очередное слагаемое} 
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-1); 
f2_1:=f2_1+slag; {Считается значение f2_1} 
until abs(slag)<=eps1; {Выход из цикла, когда слагаемое становится меньше точности 10-2} 
f2_2:=f2_1; 
k2:=k1; 
repeat {Итерационный цикл для точности 10-3} 
inc(k2); 
step:=step*x*x*x*x; {Наращивается степень} 
slag:=step/((4*k2+1)*(4*k2+5)); {Считается очередное слагаемое} 
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-1); 
f2_2:=f2_2+slag; 
until abs(slag)<=eps2; {Выход из цикла, когда слагаемое становится меньше точности 10-3} 
f2_3:=f2_2; 
k3:=k2; 
repeat {итерационный цикл для точности 10-4} 
inc(k3); 
step:=step*x*x*x*x; {Наращивается степень} 
slag:=step/((4*k3+1)*(4*k3+5)); {Считается очередное слагаемое} 
if (k1 mod 2=0) THEN slag:=slag*1 else slag:=slag*(-1); 
f2_3:=f2_3+slag; 
until abs(slag)<=eps3; {Выход из цикла, когда слагаемое становится меньше точности 10-4} 
{ Вывод результатов} 
writeln('| ', x:5:2,' | ',f1:12:9,'| ',f2_1:5:2,'| ', 
k1:2,'| ',f2_2:6:3,'| ',k2:2,'| ',f2_3:7:4,'| ', k3:2,'|'); 
x:=x+b; 
end; 
{ завершение таблицы } 
write('-----------------------------------------------------------'); 
ReadKey 
END.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2016, 14:38
Ответы с готовыми решениями:

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

Для аргумента, изменяющегося от –0.6 с шагом 0.05 вычислить 20 значений f, E=1*10^-4

Вывести на экран таблицу значений функций y(x) для x, изменяющегося от а=0,1 b= 1,2 с шагом h=0,1
Вывести на экран таблицу значений функций y(x) для x, изменяющегося от а=0,1 b= 1,2 с шагом h=0,1

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
31.01.2016, 14:49
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
PROGRAM Ex1;
Uses Crt;
Const
z=20;
a = -0.6; { Начальное значение Х}
b = 0.05; { Шаг}
eps1 = 0.01; { Точность 10-2}
eps2 = 0.001; { Точность 10-3 }
eps3 = 0.0001; { Точность 10-4 }
 
function f1(x:real):real;
var k:real;
begin
k:=sqrt(2);
f1:=-x/4+k*(1+x*x*x*x)/32*(ln((x*x+x*k+1)/(x*x-x*k+1))+2*arctan(x*k/(1-x*x)))
end;
 
function f2(x,e:real;var k:integer):real;
var s,t:real;
begin
k:=0;
t:=x*x*x*x*x;
s:=t/(4*k+1)/(4*k+5);
while abs(t)/(4*k+1)/(4*k+5)>e do
 begin
  k:=k+1;
  t:=-t*x*x*x*x;
  s:=s+t/(4*k+1)/(4*k+5);
 end;
f2:=s;
end;
 
Var x,s1,s2,s3:real;
    i,n1,n2,n3:integer;
begin
ClrScr;
{Рисуется шапка таблицы}
writeln('-----------------------------------------------------------------');
writeln('|       |          |    e=0.01    |   e=0.001    |   e=0.0001   |');
writeln('|       |          |--------------|--------------|--------------|');
writeln('|  x    |   f1(x)  |   f2(x)  | N |   f2(x)  | N |   f2(x)  | N |');
writeln('-----------------------------------------------------------------');
x := a; {Начальное значение Х}
for i:=1 to z do
 begin
  s1:=f2(x,eps1,n1);
  s2:=f2(x,eps2,n2);
  s3:=f2(x,eps3,n3);
  writeln('|',x:6:2,' |',f1(x):10:7,'|',s1:10:7,'|',n1:3,'|',s2:10:7,'|',n2:3,'|',s3:10:7,'|',n3:3,'|');
  x:=x+b;
 end;
{ завершение таблицы }
write('-----------------------------------------------------------------');
ReadKey
END.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.01.2016, 14:49
Помогаю со студенческими работами здесь

Вычислить множество значений выражения x(в кубе)+b ,для x, изменяющегося от -2 до 2 с шагом 2.
Дано вещественное число b. Вычислить множество значений выражения x(в кубе)+b ,для x, изменяющегося от -2 до 2 с шагом 2. 4...

Вычислить сумму отрицательных значений функции Z=sin(5–x)/cos(x–2) для x, изменяющегося на отрезке [–5, 12] с шагом 1
Вычислить сумму отрицательных значений функции Z=sin(5–x)/cos(x–2) для x, изменяющегося на отрезке с шагом 1 Помогите решить,...

Выведите на экран таблицу значений ф-ии y=a^x для х изменяющегося от а до b с шагом h.
Выведите на экран таблицу значений ф-ии y=a^x для х изменяющегося от а до b с шагом h.

Построить таблицу значений функции f для x изменяющегося в пределах от x0 до xk с шагом h
Построить таблицу значений функции f для x изменяющегося в пределах от x0 до xk с шагом h. Значения x0,xk,h задаются пользователем.

написать программу для вычисления значений функции F(x) для х, изменяющегося в интервале от A до B с шагом DEL.
С использованием оператора цикла с предусловием написать программу для вычисления значений функции F(x) для х, изменяющегося в интервале от...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru