Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 FUNCTION / 23 сообщений из 23, страница 1 из 1
06.05.2015, 20:05
    #38953024
VB6 FUNCTION
Здравствуйте уважаемые!
Нужна помощь, незнаю как это сделать.
_Исходные данные: А, В, С . контроль ввода. А, В, С вводить в цикле пока А=0 и пока корень <=0. результаты X1, X2 .

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Dim A%, B%, C%
Private Sub cmdExit_Click()
    If MsgBox("Выйти?", 36, "") = 6 Then End
End Sub
Private Sub cmdRaschet_Click()
Dim X1%, X2%
    Text1.Visible = True
    Text2.Visible = True
    X1 = (-B + Sqr((B ^ 2) - 4 * A * C)) / (2 * A)
    X2 = (-B - Sqr((B ^ 2) - 4 * A * C)) / (2 * A)
    Text1.Text = X1
    Text2.Text = X2
    cmdRaschet.Enabled = False
End Sub
Private Sub cmdVod_Click()
    Text1.Text = ""
    Text2.Text = ""
    Text1.Visible = False
    Text2.Visible = False
    Image1.Visible = False
    Image2.Visible = False
    A = CInt(InputBox("Введите значение А", "Исходные данные"))
    B = CInt(InputBox("Введите значение В", "Исходные данные"))
    C = CInt(InputBox("Введите значение С", "Исходные данные"))
    Image1.Visible = True
    Image2.Visible = True
    cmdRaschet.Enabled = True
End Sub
Function F%(k%)
    F = (-B + [color=red]k[/color] * Sqr((B ^ 2) - 4 * A * C))) / (2 * A)
End Function


k- -1,1
k-сказали умножать для смены знака с плюса на минус.
Большое вам спасибо!
...
Рейтинг: 0 / 0
06.05.2015, 20:08
    #38953026
VB6 FUNCTION
...
Рейтинг: 0 / 0
07.05.2015, 09:12
    #38953240
Slava_Psk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
Для случая вещественных коэффициентов кв. уравнения.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Dim A As Variant, B As Variant, C As Variant, X1 As Variant, X2 As Variant, D As Variant
Private Sub cmdExit_Click()
    If MsgBox("Выйти?", 36, "") = 6 Then End
End Sub

Private Sub cmdRaschet_Click()
On Error GoTo m1
Do
    A = InputBox("Введите значение А", "Исходные данные")
    B = InputBox("Введите значение В", "Исходные данные")
    C = InputBox("Введите значение С", "Исходные данные")
        D = B ^ 2 - 4 * A * C
    If D <= 0 Then
    MsgBox "Дискриминант меньше нуля"
    GoTo m2
    End If
    If A = 0 Then
    MsgBox "A=0"
    GoTo m2
    End If
    X1 = (-B + Sqr(D)) / (2 * A)
    X2 = (-B - Sqr(D)) / (2 * A)
    Text1.Text = X1
    Text2.Text = X2
m2:
    If MsgBox("Закончить расчет?", 36, "") = 6 Then Exit Sub
    Text1.Text = ""
    Text2.Text = ""
Loop
m1:
End Sub
...
Рейтинг: 0 / 0
07.05.2015, 11:51
    #38953378
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
Slava_Psk,

goto зло
а в чем вопрос то собственно?
...
Рейтинг: 0 / 0
07.05.2015, 13:34
    #38953523
Slava_Psk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
капитанская дочкаSlava_Psk,

goto зло
а в чем вопрос то собственно?

Да? А вот программисты Microsoft так не считают.
...
Рейтинг: 0 / 0
07.05.2015, 13:49
    #38953545
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
Slava_Pskкапитанская дочкаSlava_Psk,

goto зло
а в чем вопрос то собственно?

Да? А вот программисты Microsoft так не считают.

да ну!?!? у них и программисты то не рабоют. давай лучше пруфлинк. срач на эту тему только в радость

пс: ежели ты столько знаешь то занахрена тебе попощь нужна
...
Рейтинг: 0 / 0
07.05.2015, 13:51
    #38953551
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
капитанская дочкапс: ежели ты столько знаешь то занахрена тебе попощь нужнаон не ТС ))
...
Рейтинг: 0 / 0
07.05.2015, 14:09
    #38953585
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
Shocker.Proкапитанская дочкапс: ежели ты столько знаешь то занахрена тебе попощь нужнаон не ТС ))

вот ёпрст! точно
...
Рейтинг: 0 / 0
07.05.2015, 14:10
    #38953586
Slava_Psk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
капитанская дочкаSlava_Pskпропущено...


Да? А вот программисты Microsoft так не считают.

да ну!?!? у них и программисты то не рабоют. давай лучше пруфлинк. срач на эту тему только в радость

пс: ежели ты столько знаешь то занахрена тебе попощь нужна

Есть такое понятие, как грамотность письма.
...
Рейтинг: 0 / 0
07.05.2015, 14:21
    #38953604
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
капитанская дочкаgoto злоНу не всегда... И соглашусь и нет. Кто-то считает, что это нечто вроде архаизма - остаток от первых версий. И, наверное, прав.
Я стараюсь не использовать данный оператор (к тому же составление программы без него неплохо развивает логику программную :-)). Но иногда он помогает.
Например, его брат: On Error GoTo. Очень полезен для отлова ошибок на ПК клиентов.
Да и сам GoTo при грамотном использовании не вреден. Он категорически не рекомендуется внутри циклов.
Например, приведенный код не нуждается во второй метке:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Dim s As string,bEx as Boolean
Do
    bEx = False
    A = InputBox("Введите значение А", "Исходные данные")
    B = InputBox("Введите значение В", "Исходные данные")
    C = InputBox("Введите значение С", "Исходные данные")
    D = B ^ 2 - 4 * A * C
    If D <= 0 Then 
        s = "Дискриминант меньше нуля. ":bEx = True
    End If
    If A = 0 Then
        s = "A=0. ":bEx = True
    End If
    If bEx Then
        If MsgBox(s & "Закончить расчет?", 36, "") = 6 Then Exit Sub
        Text1.Text = ""
        Text2.Text = ""
    Else
        X1 = (-B + Sqr(D)) / (2 * A)
        X2 = (-B - Sqr(D)) / (2 * A)
        Text1.Text = X1
        Text2.Text = X2
    End if
Loop



Так что по факту нет ошибки, но с ним читабельности кода может значительно снизится, т.к. логика перескакивает с одного участка кода на другой, а в циклах это особенно запутывает.

Это мое личное мнение.
...
Рейтинг: 0 / 0
07.05.2015, 14:31
    #38953619
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
The_Prist,

+100500
...
Рейтинг: 0 / 0
07.05.2015, 14:35
    #38953626
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
Slava_Pskкапитанская дочкапропущено...


да ну!?!? у них и программисты то не рабоют. давай лучше пруфлинк. срач на эту тему только в радость

пс: ежели ты столько знаешь то занахрена тебе попощь нужна

Есть такое понятие, как грамотность письма.

да ты не увиливай. давай своих программистов. я думаю тут всем будет любопытно почитать
...
Рейтинг: 0 / 0
07.05.2015, 14:36
    #38953628
Slava_Psk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
The_Prist, приведенный вами пример по алгоритму отличается, нет диагностики по некорректным данным.
Если бы goto было таким злом и анахронизмом его бы дано убрали из языка.
...
Рейтинг: 0 / 0
07.05.2015, 14:45
    #38953639
Slava_Psk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
The_Prist,

Извиняюсь, не рассмотрел, что есть и диагностика.
...
Рейтинг: 0 / 0
07.05.2015, 15:26
    #38953691
uux
uux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
капитанская дочкаSlava_Pskпропущено...


Есть такое понятие, как грамотность письма.

да ты не увиливай. давай своих программистов. я думаю тут всем будет любопытно почитать

По поводу майкрософтовских программистов: если в любом приложении MS Office процедуры (точнее, методы контролов), создаваемые при помощи мастера, содержат по парочке goto, это ж, наверно, показатель, нет? :)

А вообще данная тема достаточно полно обсуждена здесь .
...
Рейтинг: 0 / 0
07.05.2015, 15:37
    #38953715
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
Slava_PskThe_Prist, приведенный вами пример по алгоритму отличается, нет диагностики по некорректным данным.
Если бы goto было таким злом и анахронизмом его бы дано убрали из языка.

ага я прямо вижу как мелкомягкие заявляют что goto отменяется и все компиляторы начиная с х.х будут ругаться не говоря уже о том что вб6 сам по себе анахренизм. вот откровенно ты оправдываешься ссылаешься на каких то там программистов и ищешь до чего бы до***аться только не признать легко и просто что твой код с goto макаронный и точка. а будет там еще пара goto вместо if так вообще суп с лапшой. если уж на то пошло то беда не в самой goto а в тех кто пишет говнокод и учит других как оно правильно. that's being said!
...
Рейтинг: 0 / 0
07.05.2015, 15:39
    #38953718
Slava_Psk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
uux,
Все правильно. Во всем должна быть золотая середина.
...
Рейтинг: 0 / 0
07.05.2015, 15:43
    #38953726
Slava_Psk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
капитанская дочка,
Пустой спор и разговор, напоминает спор Остроконечников с Тупоконечниками.
...
Рейтинг: 0 / 0
07.05.2015, 15:53
    #38953742
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
uuxкапитанская дочкапропущено...


да ты не увиливай. давай своих программистов. я думаю тут всем будет любопытно почитать

По поводу майкрософтовских программистов: если в любом приложении MS Office процедуры (точнее, методы контролов), создаваемые при помощи мастера, содержат по парочке goto, это ж, наверно, показатель, нет? :)

А вообще данная тема достаточно полно обсуждена здесь .

ты сам-то ссылку открывал?
и да это показатель того что генерировать код на лету не так просто тебе кажется
а вот что мелкомягкие на самом деле думают : " GoTo statements can make code difficult to read and maintain. Whenever possible , use a control structure instead. For more information, see Control Flow in Visual Basic."
...
Рейтинг: 0 / 0
07.05.2015, 15:54
    #38953745
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
Slava_Pskкапитанская дочка,
Пустой спор и разговор, напоминает спор Остроконечников с Тупоконечниками.

он пустой только потому что ты брякнул а теперь кусты ищешь
...
Рейтинг: 0 / 0
07.05.2015, 16:19
    #38953781
uux
uux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
капитанская дочкаты сам-то ссылку открывал?

Да.

капитанская дочкаи да это показатель того что генерировать код на лету не так просто тебе кажется

Я многого не знаю, конечно, но в принципе сделать обработчик ошибок не через Goto, а с помощью On Error Resume Next и т. д. в простейшей процедурке, пусть и генерируемой автоматически, едва ли составляет большую проблему.

Другое дело, что у майкрософтовских могли остаться наработки по мастерам с лохматых времен и сейчас они бы и рады их переписать, да руки не доходят.

капитанская дочкаа вот что мелкомягкие на самом деле думают : " GoTo statements can make code difficult to read and maintain. Whenever possible , use a control structure instead. For more information, see Control Flow in Visual Basic."

Так это они для лохов пишут. Так же, как Страдивари для лохов скрипки делал, а для реальных пацанов - барабаны.

А если серьезно - вот с этим твоим утверждением

капитанская дочкабеда не в самой goto а в тех кто пишет говнокод и учит других как оно правильно.

в принципе соглашусь, но оно не вполне соответствует твоему первоначальному

капитанская дочкаgoto зло
...
Рейтинг: 0 / 0
07.05.2015, 16:36
    #38953801
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
капитанская дочкаgoto зло
а в чем вопрос то собственно?Долго втыкал в код, искал метку "зло"
...
Рейтинг: 0 / 0
08.05.2015, 08:15
    #38954171
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 FUNCTION
Казанскийкапитанская дочкаgoto зло
а в чем вопрос то собственно?Долго втыкал в код, искал метку "зло"


Зачет!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 FUNCTION / 23 сообщений из 23, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]