Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
bmstu-team
 Аватар для antonboom
301 / 136 / 91
Регистрация: 10.01.2012
Сообщений: 420
Записей в блоге: 10

Тригонометрическая функция: деление на ноль, если ничего не вводить в TextBox

01.11.2012, 21:02. Показов 994. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Visual Basic
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
Function ArcSin(X As Double) As Double
   ArcSin = Atn(X / Sqr(-X * X + 1))
End Function
 
Private Sub Image2_Click()
 
Dim g, al, Hm As Double
Dim Vo As Variant
 
If g1(0).Text <> "" Then
 g = Val(g1(0).Text) 
End If
 If Vo1(1).Text <> "" Then
 Vo = Val(Vo1(1).Text) 
End If
If Hm(1).Text <> "" Then
 Hm = Val(Hm(1).Text) 
End If
 
If IsEmpty(al) Then
If Not IsEmpty(Hm) And Not IsEmpty(Vo) And Not IsEmpty(g) And ((2 * g * Hm) ^ (1 / 2)) / Vo < 1 Then
 al = ArcSin(((2 * g * Hm) ^ (1 / 2)) / Vo) * TO_DEG
 
al1.text = al
 
End Sub
Почему он выводит деление на ноль если ничего не вводить в текст боксы?
Почему он выводит ошибку из-за корня из отрицательного числа, если поставил условие.

Спасибо=*
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.11.2012, 21:02
Ответы с готовыми решениями:

Возникает ошибка "Деление на ноль", когда на ноль ничего и нигде не делится
Написал программу, которая выводит на экран координаты клика мыши. SSEG segment stack db 256 dup(0) SSEG ends ...

Как запретить вводить ноль первым в textbox?
Но разрешить вводить числа как 0.6

Разрешено ли деление на ноль, если числитель равен нулю
Разрешено ли деление на ноль, если числитель тоже ноль.

4
0 / 0 / 0
Регистрация: 03.06.2012
Сообщений: 65
01.11.2012, 21:14
Попробуйте поставить.
Visual Basic
1
On Error Resume Next
Может быть поможет
0
bmstu-team
 Аватар для antonboom
301 / 136 / 91
Регистрация: 10.01.2012
Сообщений: 420
Записей в блоге: 10
01.11.2012, 21:54  [ТС]
не помогает
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
01.11.2012, 23:24
antonboom, из этого фрагмента трудно понять. Видна только путаница с типами. Здесь
Visual Basic
1
Dim g, al, Hm As Double
g, al объявлены как Variant.
Функция IsEmpty применима только к Variant, IsEmpty(Hm) всегда возвращает False.
0
Телекомпания ВИD
 Аватар для anny05
1364 / 115 / 19
Регистрация: 14.10.2012
Сообщений: 100
02.11.2012, 02:29
Visual Basic
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
'На форме текстбоксы с именами: g1, Vo1, Hm1, al1 и рисунок Image2
 
Function ArcSin(X As Double) As Double 'результат в радианах
    If Abs(X) = 1 Then ArcSin = Sgn(X) * 3.14159265358979 / 2: Exit Function
    ArcSin = Atn(X / Sqr(-X * X + 1))
End Function
 
Private Sub Image2_Click()
 
Const TO_DEG = 180 / 3.14159265358979
Dim g#, Vo#, Hm#, al#  'Double
 
g1.Text = Replace(g1.Text, ".", ",", , , vbTextCompare)
If IsNumeric(g1.Text) Then g = CDbl(g1.Text) Else: MsgBox "Введите g правильно!", , "": Exit Sub
If g < 0 Then MsgBox "Ошибка: g < 0!", , "": Exit Sub
 
Vo1.Text = Replace(Vo1.Text, ".", ",", , , vbTextCompare)
If IsNumeric(Vo1.Text) Then Vo = CDbl(Vo1.Text) Else: MsgBox "Введите Vo правильно!", , "": Exit Sub
If Vo = 0 Then MsgBox "Vo не должно быть нуль!", , "": Exit Sub
 
Hm1.Text = Replace(Hm1.Text, ".", ",", , , vbTextCompare)
If IsNumeric(Hm1.Text) Then Hm = CDbl(Hm1.Text) Else: MsgBox "Введите Hm правильно!", , "": Exit Sub
If Hm < 0 Then MsgBox "Ошибка: Hm < 0!", , "": Exit Sub
 
al = ((2 * g * Hm) ^ (1 / 2)) / Vo
If Abs(al) > 1 Then MsgBox "Модуль аргумента арксинуса > 1!" & vbCrLf & "Введите другие параметры", , "": Exit Sub
 
al = ArcSin(al) * TO_DEG 'результат в градусах
al1.Text = al
 
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2012, 02:29
Помогаю со студенческими работами здесь

Как сделать так чтобы если на ноль было деление не выодился Результат
var a,d,c:real; b:char; procedure kakulyator; begin case b of '+':d:=a+c; '-':d:=a-c; '*':d:=a*c; '/': if c=0 then writeln...

Сделать, чтобы при попытке деления на ноль, выводилось сообщение: «Деление на ноль»
Создайте консольное приложение. В нем реализуйте нахождение значения выражения 1/(x+n), где n – ваш вариант, а вместо х должно вводиться...

Отключение radiobutton, если в textbox ничего не написано
Как сделать так, чтобы radiobutton отключался, если в text box ничего не написано if (Value.Text.Length &gt; 0) {...

Dataview - не отображать в datagrid ничего, если textbox пустой
Добрый день. есть datatable, datagridview и dataview. В dataview есть фильтр, который отображает данные, которые совпадают с textbox. Если...

Подтверждение в консоли: При вводе "y" всё ок, если вводить другое — то первый раз ничего не происходит
Добрый вечер. Написал простенькое подтверждение: Console.WriteLine(&quot;\nНайдёны схожие файлы:\n{0} и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru