Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > !Решение выражения!


Автор: stasic0640 4.2.2006, 08:27
Имеется выражение, соответственно математическое smile :

Vгм = Sд * Нк + 0.5Рд * Нк^2 * ctgB + Пи / 3 * Нк^3 * ctgB^2, м3

'Понятно, надеюсь, что Нк^2 и подобные это степень...(это чисто для выражения, а не для учения smile )

Подробности описания нах не надо, а вот правильность решения, никак не добьюсь... smile
Как правило, сначала ВБ возведёт в степень:
Vгм = Sд * Нк + 0.5Рд * (Нк^2) * ctgB + Пи / 3 * (Нк^3) * (ctgB^2) , потом умножить и поделит:
Vгм = Sд * Нк + 0.5Рд * (Нк^2) * ctgB + Пи / 3 * (Нк^3) * (ctgB^2), ну и сложение...

Если писать всё в одной строке, не то, еррор, а вот расписываю в 3 строки(каждая до сложения):
Vgm1 = Sд * Нк
Vgm2 = 0.5Рд * Нк^2 * ctgB
Vgm3 = Пи / 3 * Нк^3 * ctgB^2
Вот тут есть решение... Не понимаю, пчему в строке не решает...А, вот еще - ctg угла B, т.к. Котангеса нет, то получается так 1/TAN(Скоко мне стоило усилий, чтобы узнать где котангес взять smile )
Допустим, угол В = 40 (ПС: по Брадиса tg40 = 0,8390, a ctg40 = 1,1918), пишу подобие:

Код

Private Sub Command1_Click()
Dim B As Integer
Dim X As Long

B = Val(Text1.Text)

X = 1 / Tan(B)

Text2.Text = Format(X, "Fixed")

End Sub



И какой результат? -1, вот и не могу раздуплится пока....
А кстати, там есть выражение Пи/3, во встроенных константах есть Пи? smile



Автор: Exception 4.2.2006, 15:31
Цитата(stasic0640 @ 4.2.2006, 09:27 Найти цитируемый пост)
А кстати, там есть выражение Пи/3, во встроенных константах есть Пи?

Не-а. Если надо, (по памяти)
Pi = 3.14159265358979323846264338327950288...

Автор: Akina 4.2.2006, 19:31
Цитата(stasic0640 @ 4.2.2006, 09:27 Найти цитируемый пост)

Vгм = Sд * Нк + 0.5Рд * Нк^2 * ctgB + Пи / 3 * Нк^3 * ctgB^2, м3

0.5 * Рд

Автор: stasic0640 5.2.2006, 00:02
Цитата(Exception @ 4.2.2006, 15:31)
Цитата(stasic0640 @  4.2.2006,  09:27 Найти цитируемый пост)
А кстати, там есть выражение Пи/3, во встроенных константах есть Пи?

Не-а. Если надо, (по памяти)
Pi = 3.14159265358979323846264338327950288...

Ну это не проблема, Пишку можно в константы загнать.... smile
Добавлено @ 00:04
Цитата(Akina @ 4.2.2006, 19:31)
Цитата(stasic0640 @  4.2.2006,  09:27 Найти цитируемый пост)

Vгм = Sд * Нк + 0.5Рд * Нк^2 * ctgB + Пи / 3 * Нк^3 * ctgB^2, м3

0.5 * Рд

Ну то что, там умножить, эт понятно... (Просто то был исходник примера) smile

Автор: Akina 5.2.2006, 00:16
Цитата(stasic0640 @ 5.2.2006, 01:02 Найти цитируемый пост)

то что, там умножить, эт понятно... (Просто то был исходник примера)

Вы пишете в форум по Visual Basic 6, а не в форум по текстовым примерам. smile

Автор: stasic0640 5.2.2006, 00:23
Цитата(Akina @ 5.2.2006, 00:16)
Цитата(stasic0640 @  5.2.2006,  01:02 Найти цитируемый пост)

то что, там умножить, эт понятно... (Просто то был исходник примера)

Вы пишете в форум по Visual Basic 6, а не в форум по текстовым примерам. smile

Дык, так я и спрашиваю, как реализовать функцию Котангес на Вб6, да и прочее.... smile
smile
Получается, что пишу такой код:
Код

lngVgm1 = lngSd * sngHk
                                lngVgm2 = (0.5 * lngPd) * (sngHk ^ 2) * 1.1918
                                lngVgm3 = (PI / 3) * (sngHk ^ 3) * (1.1918 ^ 2)
                            lngVgm = lngVgm1 + lngVgm2 + lngVgm3

Но, как видно, при этом использую вместо вводимых данных( B) я испльзую константу - 1,1918,т.е. уже решеный вариант Тангес угла Б..., А у мя есть входящие данные угол В (Текс.Поле), которое надо использовать, а не делать постоянку... smile smile

Автор: cardinal 5.2.2006, 01:43
Посмотри тут:
http://forum.vingrad.ru/index.php?showtopic=82426

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)