Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Циклы (для незнающих) Добавлено: 14.06.07 16:11  

Автор вопроса:  Сергей | Web-сайт: uts.dp.ua | ICQ: 369608887 
Задача такая:

B=40
D=300=2*A*B/(A+B)'ответ будет 27 (если точно - 26.66666)
Найти "A" (должно получится 20)

' в Excel есть такая штука, как подбор параметра. Вот, что мне нужно!
Я так монимаю, что в VB2005 это можно сделать с помощью оператора Do While...Loop ?
Хотя раньше я делал через If...Then....ElseIf (сказали, что это неверно), но код получается очешь большой, потому, что я перечисляю практически все варианты (около 80)
Подскажите, как правильно.
Заранее спасибо.

Ответить

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

Номер ответа: 1
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #1 Добавлено: 14.06.07 19:16
EROS ты где?
Без твоих телепатических способностей, ну никак...
B=40
D=300=2*A*B/(A+B)'ответ будет 27 (если точно - 26.66666)
Найти "A" (должно получится 20)

что это значит???

Ответить

Номер ответа: 2
Автор ответа:
 Сергей



ICQ: 369608887 

Вопросов: 7
Ответов: 24
 Web-сайт: uts.dp.ua
 Профиль | | #2
Добавлено: 14.06.07 19:38
Гы, ой, протупил.
B=40
D=27=2*A*B/(A+B)
как вычислить "А"?

Ответить

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



Вопросов: 24
Ответов: 363
 Профиль | | #3 Добавлено: 14.06.07 20:29
Если вы экстримал, и вам нужен результат чистым перебором:

Dim d1 As Long
        Dim d As Long
        Dim d2 As Long
        Dim d3 As Long
        Dim i As Double

        d = 27
        d1 = Integer.MaxValue
        d2 = Integer.MinValue
        pb1.Maximum() = d1 'прогрессбарчик
        pb1.Minimum = 0
        d3 = 40
        pb1.Value = pb1.Minimum

        For i = d2 + 1 To d1 - 1
            If (i + d3) = 0 Then GoTo next_
            If CLng((2 * i * d3) / (i + d3)) = d Then
                MsgBox(i)
                Exit For
            End If
next_:
            pb1.Value += 0.5
            if pb1.value mod 500 = 0 then pb1.Refresh()
        Next


P.S. Люди, только не смейтесь. Самому смешно. гг
P.P.S. Результата я так и недождалси...

Ответить

Номер ответа: 4
Автор ответа:
 Сергей



ICQ: 369608887 

Вопросов: 7
Ответов: 24
 Web-сайт: uts.dp.ua
 Профиль | | #4
Добавлено: 14.06.07 20:32
Ув. s12, у Вас есть ICQ?

Ответить

Номер ответа: 5
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #5 Добавлено: 15.06.07 14:01

Ув. s12, у Вас есть ICQ?


Нет, и не хочется.
Если надо пиши на мыло.

Ответить

Номер ответа: 6
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #6 Добавлено: 15.06.07 14:03
Ув. s12, у Вас есть ICQ?


Нет, и ненада. Если нада здесь же есть чат.

Ответить

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



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #7 Добавлено: 15.06.07 15:10
Тоже как вариант (не лучший) - метод половинного деления.

Ответить

Номер ответа: 8
Автор ответа:
 Сергей



ICQ: 369608887 

Вопросов: 7
Ответов: 24
 Web-сайт: uts.dp.ua
 Профиль | | #8
Добавлено: 18.06.07 11:01
Блин, когда разобрался, смеялся пол дня.
Это обычное уравнение с одним неизвестным.
Ответ такой
А=(D*B)/(2B-D)
Хотя циклы мне позже пригодятся.
Спасибо Всем. Извините за глупый вопрос.

Ответить

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #9
Добавлено: 18.06.07 14:18
Прочитал последний пост, перечитал вопрос, тоже поржал :) Я читаю темы, которые меня не затрагивали, только по диагонали, поэтому если бы ты понятнее сформулировал вопрос, еще 4 дня назад получил бы ответ :))

Ответить

Страница: 1 |

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



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