помогите решить задачку

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

помогите решить задачку

Сообщение romanow » 06.04.2005 (Ср) 18:16

дано натуральное число n
наити чему будет раво уравнение:
(cos1/sin1)+(cos1+cos2/sin1+sin2)+.....+cos1+....+cosn/sin1+...+sin n
причем n произвольное число :roll:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.04.2005 (Ср) 18:35

Ты форумом ошибся. Тебе на форум "Математика, 9 класс".
Lasciate ogni speranza, voi ch'entrate.

Inferno
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 26.01.2005 (Ср) 1:06

Сообщение Inferno » 06.04.2005 (Ср) 18:51

Код: Выделить всё
Private Sub Form_Load()
Dim Angle(8) As Integer
Angle(0) = 10
Angle(1) = 20
Angle(2) = 30
Angle(3) = 40
Angle(4) = 50
Angle(5) = 60
Angle(6) = 70
Angle(7) = 80

MsgBox Iteration(Cos(Angle(0)) / Sin(Angle(0)), Angle(), 0)
End Sub


Private Function Iteration(ByVal Result As Single, ByRef Angle() As Integer, ArrPtr) As Single
  If ArrPtr >= UBound(Angle) Then Iteration = Result: Exit Function
  Result = Result + Cos(Angle(ArrPtr)) + Cos(Angle(ArrPtr + 1)) / Sin(Angle(0)) + Sin(Angle(ArrPtr + 1))
  Iteration = Iteration(Result, Angle(), ArrPtr + 1)
End Function

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 06.04.2005 (Ср) 19:54

Э-э...
А тебе не кажется, что басик всё в радианах мерит? :shock:
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

Inferno
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 26.01.2005 (Ср) 1:06

Сообщение Inferno » 06.04.2005 (Ср) 20:01

А ты уверен что у него углы в градусах? Лично я нет и вобщем-то разделить/умножить на константу думаю проблем не должно вызывать :)

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 06.04.2005 (Ср) 20:06

А константа эта зовётся таинственным именем скрытого мата - "пи" :D
Чем больше знаков после запятой, тем точнее вычисления...
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.04.2005 (Ср) 20:13

PI = pi
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение Faust » 06.04.2005 (Ср) 20:34

Это тебе надо запрогать или в общем виде решить? Ежели первое - то тут делать нечего, ежели второе - то так сразу не вспомню... :oops: Могу только доказать, что:
(cos(1)+...+cos(n))/(sin(1)+...+sin(n))=ctg((n+1)/2)
PS. 2alibek: и где ты такие ссылки берешь?
Листинги не горят!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.04.2005 (Ср) 20:42

Faust, это военная тайна :)
Lasciate ogni speranza, voi ch'entrate.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 06.04.2005 (Ср) 22:16

А по какой формуле можно рассчитать ПИ до произвольного знака? Я только про экспоненту знаю(рядом тейлора ее, рядом тейлора :wink: )

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

Сообщение Faust » 07.04.2005 (Чт) 10:13

2Ariman: pi - это замечательное число, часто встречающеееся во многих разделах математики. Как следствие, оно фигурирует во множестве формул. Попытаюсь вспомнить такие, где оно или его степень выступают "сольно" (нет других иррациональных чисел).
Ряды.
Самое простое: 1-1/3+1/5-1/7+1/9-1/11+...=pi/4 (кстати, кто-то упоминал ряды Тейлора... выше приведенный ряд как раз и есть разложение в ряд Тейлора arctg x при x=1)
Если не влом находить корень: D(2n)=2^(2n-1)*pi^2n*Bn/(2n)!, где D(p)=1/1^p+1/2^p+1/3^p+... (дзета-функция Римана), Bn - n-ное число Бернулли. Отсюда, в частности:
D(2)=(pi^2)/6
Интегралы.
Всякие разные. Ну хотя бы f(x)=2*Sqrt(1-x*x) по x от -1 до 1.
Теорвер
С этого способа меня прет больше всего.
<|cos x|>=(Интеграл |cos x| по x от 0 до 2*pi)/(2*pi)=(Интеграл cos x по x от 0 до pi)/pi=2/pi. А вот <|cos x|> найти не так уж и сложно - в реале это делается бросанием длинного предмета на расчерченную в клетку поверхность, в машинной реализации где-то так:
Код: Выделить всё
Const c = 10000000
Sub Main()
Dim s As Double, i As Long
s=0
For i=1 to c 'почти бесконечность
s=s+abs(cos(i))
Next i
MsgBox 2*c/s
End Sub

Но конечно, это далеко не все и вероятно, далеко не самые быстрые способы узнать это замечательное число.
Листинги не горят!

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 07.04.2005 (Чт) 13:26

Faust писал(а):Самое простое: 1-1/3+1/5-1/7+1/9-1/11+...=pi/4 (кстати, кто-то упоминал ряды Тейлора... выше приведенный ряд как раз и есть разложение в ряд Тейлора arctg x при x=1)


Т.е.

arctg(0)+arctg`(0)*x\1!+arctg``(0)*x^2\2!+.....................
Это?

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

Сообщение Faust » 07.04.2005 (Чт) 13:46

Это. Разложение arctg по Маклорену дает:
arctg x = x - x^3/3 + x^5/5 - x^7/7 + ...
Листинги не горят!

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 07.04.2005 (Чт) 17:13

Ну да, старая-добрая формула Маклорена....... :?
Чего-то сразу и не подумал с ее помощью ПИ искать. Экспоненту искал, а ПИ чего-то не догадался :lol:


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 183

    TopList