Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Help me, please. Как на VB6 взять корень степени N Добавлено: 28.07.04 23:37  

Автор вопроса:  seumain
Привет ! Совсем ничего не получается и застрял наглухо. Помогите, пожалуйста - как на VB6 взять корень степени N? Задача при определении геометрического среднего.
Спасибо, Аркадий
seu278@ua.fm

Ответить

  Ответы Всего ответов: 42  

Номер ответа: 1
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #1
Добавлено: 29.07.04 00:07
 Чет ничего не нашёл в MSDN'е

Вот с ходу написал. Вроде работает.
 MsgBox 2 ^ 5 '=32
 ;Dim SqrDiv As Double
 SqrDiv = 1 / 5 'Корень 5 степени
 MsgBox 32 ^ SqrDiv '=2

Ответить

Номер ответа: 2
Автор ответа:
 alexis_b



ICQ: 232969505 

Вопросов: 10
Ответов: 74
 Профиль | | #2 Добавлено: 29.07.04 10:54
И вот так мона

Public Function power(ByVal a, n As Double) As Double
  If a = 0 Then
    power = 0
  Else
    power = Exp(n * Log(a))
  End If
End Function

Ответить

Номер ответа: 3
Автор ответа:
 alexis_b



ICQ: 232969505 

Вопросов: 10
Ответов: 74
 Профиль | | #3 Добавлено: 29.07.04 10:55
аяяй забыл byVal написать
Public Function power(ByVal a, ByVal n As Double) As Double
:)

Ответить

Номер ответа: 4
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #4 Добавлено: 29.07.04 11:30
x^1/N

x - число
N - показатель степени

Ответить

Номер ответа: 5
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #5
Добавлено: 29.07.04 11:47
 dNW,
 Это хорошо что смог прочесть мой пример. Но взял бы хоть в IDE его протестировал.
 То что ты написал - не выдаёт верного результата.

Ответить

Номер ответа: 6
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #6
Добавлено: 29.07.04 11:59
alexis_b,
 Ты забыл написать как с этим работать.

Корень из 16:
 MsgBox power(16, 1 / 2)

Ответить

Номер ответа: 7
Автор ответа:
 alexis_b



ICQ: 232969505 

Вопросов: 10
Ответов: 74
 Профиль | | #7 Добавлено: 29.07.04 13:15
Это точно извеняйте:)

Ответить

Номер ответа: 8
Автор ответа:
 alexis_b



ICQ: 232969505 

Вопросов: 10
Ответов: 74
 Профиль | | #8 Добавлено: 29.07.04 13:16
4dNW,
поясняю: то что ты написал равносильно вот этому
(x^1)/N, т.е. сначала х в степень 1 а потом делем на N:)

Ответить

Номер ответа: 9
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #9 Добавлено: 29.07.04 14:23
Я имел ввиду x^(1/n)
Извиняйте :-))))

Ответить

Номер ответа: 10
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #10 Добавлено: 29.07.04 14:26
to CyRax: Вот теперь точно работает!
И в пример твой я не смотрел! Чес-слово!
8^(1/3) дает 2!!!

Ответить

Номер ответа: 11
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #11
Добавлено: 29.07.04 21:22
 dNW,
 Я тоже плохо знаю приоритеты арифметических операций ;)
 Похоже что возведение в степень имеет более низкий приоритет чем деление.

Ответить

Номер ответа: 12
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #12
Добавлено: 29.07.04 21:24
 Хотя нет, наоборот, у деления приоритет ниже.

Ответить

Номер ответа: 13
Автор ответа:
 alexis_b



ICQ: 232969505 

Вопросов: 10
Ответов: 74
 Профиль | | #13 Добавлено: 30.07.04 09:12
У них у обоих приоретет одинаковый т.к. деление это умножение:) Здесь играет роль порядок в котором они записанны.

Ответить

Номер ответа: 14
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #14 Добавлено: 30.07.04 10:59
CyRax, тебе что? Старый профиль разблокировали?

Ответить

Номер ответа: 15
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #15
Добавлено: 30.07.04 20:43
Учим математику :)

Public Function Koren(a As Integer, b As Integer) As Integer
Dim temp1 As Single: Dim temp2 As Single
temp1 = Log(b)
temp2 = Log(a)
Koren = temp1 / temp2
End Function

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам