Помогите! Алгоритм вычисления суммы N членов ряда (+)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
akylich
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.12.2005 (Пт) 22:18

Помогите! Алгоритм вычисления суммы N членов ряда (+)

Сообщение akylich » 16.12.2005 (Пт) 22:23

(+)

Алгоритм вычисления суммы N членов ряда a(i)=(x^i)/i! и листинг (код программы) на языке Vis. Basica 6.0 , а то у нас в понедельник зачет, а препод урод полный, задачек надавал, ничего в течении семестра не объяснял и.т.п. Плиз, кто может.

Warn
Обычный пользователь
Обычный пользователь
 
Сообщения: 52
Зарегистрирован: 08.12.2005 (Чт) 20:34
Откуда: Питер

Сообщение Warn » 16.12.2005 (Пт) 23:32

Что значит a(i)? В задании должна быть указана точность вычислений. А вообще на практики ходить надо :)) Задание напиши, как в билете.

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 17.12.2005 (Сб) 12:39

Код: Выделить всё
Sub Main()
Dim S As Double,A As Double,X As Double,I As long, N As Long
N=InputBox("Ведите N:")
X=InputBox("Ведите X:")
A=1
S=1
For I=1 to N-1
  A=A*x/I
  S=S+A
Next I
MsgBox "Сумма первых N членов ряда:" & Str(S)
End Sub

По-моему, так. (с)
Листинги не горят!

akylich
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.12.2005 (Пт) 22:18

Сообщение akylich » 17.12.2005 (Сб) 16:50

А мне почему-то кажется, что алгоритм такой должен быть:

Код: Выделить всё
N = InputBox("Введите N:")
X = InputBox("Введите X:")
S = X
f = 1
For I = 2 To N
f = f * I
S = S + (X ^ I) / f
Next


Но вот что-то незнаю ((

akylich
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.12.2005 (Пт) 22:18

Сообщение akylich » 17.12.2005 (Сб) 16:55

А на практику я ходил, говорю же препод - урод. А сдать зачет отжиманиями не получится у меня - я получил 2 вопроса = 80 отжиманий. Не покатит!!!

Warn
Обычный пользователь
Обычный пользователь
 
Сообщения: 52
Зарегистрирован: 08.12.2005 (Чт) 20:34
Откуда: Питер

Сообщение Warn » 17.12.2005 (Сб) 19:07

А универ-то какой? :)

akylich
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.12.2005 (Пт) 22:18

Сообщение akylich » 17.12.2005 (Сб) 19:16

Международный Университет Природы Общества и Человека Дубна

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 18.12.2005 (Вс) 14:49

akylich писал(а):А мне почему-то кажется, что алгоритм такой должен быть:

Насколько я понял, от вас хотят получить сумму первых n членов разложения exp(x) в ряд Тейлора, а в нём первый член 1 (при I=0). А ты со второго начинаешь считать. К тому же операция X^I оччень ресурсоемкая, так что если ты не будешь её использовать - препод пропрется.
Листинги не горят!

akylich
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.12.2005 (Пт) 22:18

Сообщение akylich » 18.12.2005 (Вс) 19:12

Честно говоря, мы даже не знаем и не учили,что это такое "разложения exp(x) в ряд Тейлора", поэтому это не покатит ((

akylich
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.12.2005 (Пт) 22:18

Сообщение akylich » 18.12.2005 (Вс) 19:16

Мне надо найти" сумму n членов ряда "а итое" = (x в степени i) делить на i факториал." Вот.

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 19.12.2005 (Пн) 0:09

Упомянутый тобою ряд - это и есть разложение "е в степени x" в ряд Тейлора. Так что можешь смело юзать мой пример и преп тебя не обидит.
Листинги не горят!

akylich
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.12.2005 (Пт) 22:18

Сообщение akylich » 19.12.2005 (Пн) 17:40

Спасибо всем за помощь. Сегодня получил зачет, и главное, сделав пример сам. Правильно! Вот код:

Код: Выделить всё
Private Sub Command1_Click()

Dim S As Double, f As Double, X As Double, I As Long, N As Long
N = InputBox("Введите N:")
X = InputBox("Введите X:")
S = X
f = 1
   If N <= 1 Then
   MsgBox "Количество N членов не может быть меньше 2х!!!"
   Else
      For I = 2 To N
      f = f * I
      S = S + (X ^ I) / f
      Next
   MsgBox "Сумма первых" & Str(N) & " " & "членов ряда:" & Str(S)
   End If
End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 186

    TopList