Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 7

Составить процедуру для приближенного вычисления заданной функции y=f(x) путем суммирования членов заданного ряда

26.04.2013, 00:29. Показов 4250. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Второй день не могу составить процедуру программы для заданного ряда. Если кто сможет помочь,буду признателен.
Суммирование членов ряда проводить включительно до члена ряда, значение которого по
абсолютной величине будет меньше чем 10^(-6)
Вычислить значения суммы ряда при указанных в таблице контрольных данных аргумента и сравнить полученные
значения со значениями, вычисленными непосредственно с помощью функции y= f(x).
Миниатюры
Составить процедуру для приближенного вычисления заданной функции y=f(x) путем суммирования членов заданного ряда  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.04.2013, 00:29
Ответы с готовыми решениями:

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

Составить и отладить процедуру для приближенного вычисления заданной функции
Пожалуйста помогите найти ошибку в программе. Составить и отладить процедуру для приближенного вычисления заданной функции y=f(x)...

Составить рекуррентную формулу заданного ряда для последующего вычисления приближенного значения
Доброго времени суток! Нужно составить рекуррентную формулу данного ряда для последующего вычисления приближенного значения. Изображение...

11
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
26.04.2013, 09:18
И в чём проблема?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function dSiNomad(dX As Double) As Double
  Dim dY As Double
  Dim dN As Double
  Dim dS As Double
  '
  dN = 2
  dY = 1
  Do While True
    dS = (dN * dX ^ (dN - 1)) / dFactorial(dN - 1)
    If dS < 0.00001 Then
      dSiNomad = dY
      Exit Function
    End If
    dY = dY + dS
    dN = dN + 1
  Loop
End Function
Функцию факториала кинуть или сами напишите?
1
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
26.04.2013, 09:23
Держите проект целиком:
TEST0018.zip

Ввод и вывод уж делать не стал, влом.
1
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 7
26.04.2013, 23:58  [ТС]
Проблема заключается в том,что наши методички просто ужасны, а преподаватели и толком ничего объяснить не могут.

Visual Basic
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
Sub Lab4_2()
Dim x, y, s, a, p As Double
Dim n As Integer
 
'ВВОД АРГУМЕНТА X
 
10 x = CSng(InputBox(" Введите аргумент Х " & vbLf & " для ф-ции SIN(X):"
'ВЫЧИСЛЕНИЕ СУММЫ ЧЛЕНОВ ЗАДАННОГО РЯДА
s = 0: p = 1 
k = 1: n = 3
a = x                                          'Первый член ряда
Do While (Abs(a) >= 0.000001)
s = s + a                                    'Суммирование членов a ряда
a = x ^ n                                   'Вычисление числителя члена ряда
p = -p * (n - 1) * n                    'Вычисление знаменателя члена ряда
a = a / p                                   'Очередной член a ряда
n = n + 2: k = k + 1           
Loop y = Sin(x)                        'Непосредственное вычисление заданной функции
'ВЫВОД РЕЗУЛЬТАТОВ
Ответ = MsgBox("Заданное значение аргумента X=" & x & vbLf & "Вычисленная сумма ряда S=" & s& vbLf & "Количество членов ряда K=" & k& vbLf & " Функция SIN(X)=" & y,vbRetryCancel, "Результат работы процедуры")
Select Case Ответ
Case vbRetry: GoTo 10
Case vbCancel: GoTo 20
End Select
20 End Sub
Данный ряд был выполнен для вычисления функций y=sin(x)
Возможно таким же образом преобразовать программу и выполнить мой ряд?
Изображения
 
0
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
29.04.2013, 14:11
И в чём проблема?

Visual Basic
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
Function dSiNomad(dX As Double) As Double
  Dim dY As Double
  Dim dN As Double
  Dim dS As Double
  Dim iFlag As Integer
  '
  dN = 3
  dY = dX
  iFlag = 0
  Do While True
    'dS = (dN * dX ^ (dN - 1)) / dFactorial(dN - 1)
    dS = dX ^ dN / dFactorial(dN)
    If dS < 0.00001 Then
      dSiNomad = dY
      Exit Function
    End If
    If 0 = iFlag Then
      iFlag = 1
      dY = dY - dS
    ElseIf 1 = iFlag Then
      iFlag = 0
      dY = dY + dS
    End If
    dN = dN + 2
  Loop
End Function
Подправьте в функции пару строчек, да флажок поставьте, чтобы вычитание на сложение через шаг менялось... и собственно всё.

Добавлено через 6 минут
Попробуем запустить.
X=3.14

Ряд Y=1.59189*10^-3
Sin(X) Y=1.59265*10^-3

Хм... можно точность попробовать увеличить...
1
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 7
29.04.2013, 20:22  [ТС]
zink0000, Я просто не составлял процедуры типа функций (Function.) Как я знаю это самостоятельная часть кода,знаю некоторый синтаксис.
В том - то вся и соль... По мере моих знаний,я работаю исключительно :
- Зашёл в Excel потом (Alt + F11) и начинаю писать программу.
Сталкивался я и работал я пока только с процедурой Sub ()
Как работать и использовать в VBA на данный момент процедуру,которую вы используете и запускать,к сожалению я не знаю.
И спасибо,за уделенное вами время.

Всё,что необходимо оформить (написать) программу именно в такой форме
Visual Basic
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
Sub Lab4_2()
Dim x, y, s, a, p As Double
Dim n As Integer
 
'ВВОД АРГУМЕНТА X
 
10 x = CSng(InputBox(" Введите аргумент Х " & vbLf & " для ф-ции SIN(X):"
'ВЫЧИСЛЕНИЕ СУММЫ ЧЛЕНОВ ЗАДАННОГО РЯДА
s = 0: p = 1 
k = 1: n = 3
a = x                                          'Первый член ряда
Do While (Abs(a) >= 0.000001)
s = s + a                                    'Суммирование членов a ряда
a = x ^ n                                   'Вычисление числителя члена ряда
p = -p * (n - 1) * n                    'Вычисление знаменателя члена ряда
a = a / p                                   'Очередной член a ряда
n = n + 2: k = k + 1           
Loop y = Sin(x)                        'Непосредственное вычисление заданной функции
'ВЫВОД РЕЗУЛЬТАТОВ
Ответ = MsgBox("Заданное значение аргумента X=" & x & vbLf & "Вычисленная сумма ряда S=" & s& vbLf & "Количество членов ряда K=" & k& vbLf & " Функция SIN(X)=" & y,vbRetryCancel, "Результат работы процедуры")
Select Case Ответ
Case vbRetry: GoTo 10
Case vbCancel: GoTo 20
End Select
20 End Sub
Вот такой вот я недалёкий человек..
0
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
30.04.2013, 09:13
Цитата Сообщение от iNomad Посмотреть сообщение
zink0000, Я просто не составлял процедуры типа функций (Function.) Как я знаю это самостоятельная часть кода,знаю некоторый синтаксис.
В том - то вся и соль... По мере моих знаний,я работаю исключительно :
- Зашёл в Excel потом (Alt + F11) и начинаю писать программу.
Сталкивался я и работал я пока только с процедурой Sub ()
Как работать и использовать в VBA на данный момент процедуру,которую вы используете и запускать,к сожалению я не знаю.
И спасибо,за уделенное вами время.
Мда... так Вы ещё и не в тот раздел зашли.
Вам надо с VBA сюда:
https://www.cyberforum.ru/vba/
там раздел форума посвящённый именно VBA, а не Visual Basic, это несколько разные вещи.

Добавлено через 2 минуты
iNomad, попробуйте там спросить...
а я на VB пишу программы, а не на VBA,
так что в этом вопросе мало чем могу помочь.
0
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 7
05.05.2013, 22:43  [ТС]
Неужели никто не знает?
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
05.05.2013, 23:28
Цитата Сообщение от iNomad Посмотреть сообщение
наши методички просто ужасны
а в виде файла они у вас есть?
не могли бы поделиться?
0
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 7
05.05.2013, 23:36  [ТС]
Пожалуйста
Вложения
Тип файла: pdf Programmirovanie_na_VBA.pdf (3.26 Мб, 30 просмотров)
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
05.05.2013, 23:53
спасибо.
имхо, очень хорошая методичка.
152 страницы - практически мини-учебник.

как я и предполагал, почти такой же пример разобран и расписан полностью. стр. 89-91.
только ряд другой.
сути дела это не меняет нисколько.
разве что ваш ряд вдруг оказался бы расходящимся (точнее - сумма ряда не имела бы конечного предела).
кстати, не мешает проверить.

теории тоже вполне и даже больше чем достаточно - и про циклы, и про условия.
проблемы с математикой?
или что?

честно - не понимаю.
0
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 7
06.05.2013, 21:58  [ТС]
Да,проблема с рядами.
В теорий мне всё понятно,но всё же я не понимаю

Добавлено через 21 час 53 минуты
Ладно..Спасибо всем кто уделил время на просмотр данной темы.Жаль что так и не удалось выполнить это.
Можно закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2013, 21:58
Помогаю со студенческими работами здесь

Составить программу для приближённого вычисления заданной функции у(х)
Составить и отладить программу для приближённого вычисления заданной функции у(х) путём суммирования членов заданного её ряда s(x) см....

Составить программу для приближённого вычисления заданной функции у(х)
Составить и отладить программу для приближённого вычисления заданной функции у(х) путём суммирования членов заданного её ряда s(x) см....

Составить и отладить программу для приближённого вычисления заданной функции
C# Составить и отладить программу для приближённого вычисления заданной функции y(x),путём суммирования членов заданного ее ряда s(x)....

Составить и отладить программу для приближенного вычисления заданной функции
Составить и отладить программу для приближенного вычисления заданной функции y(x) путем суммирования членов заданного ее ряда s(x)....

Составить и отладить программу для приближённого вычисления заданной функции y(x)
C# Составить и отладить программу для приближённого вычисления заданной функции y(x),путём суммирования членов заданного ее ряда s(x)....


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru