![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Bigben |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Продвинутые Сообщений: 7 Регистрация: 22.9.2010 Город: Одесса Учебное заведение: Лучший) Вы: студент ![]() |
Всем привет.
Помогите, пожалуйста, найти ошибку в коде. Данные на картинке. Код: Private Sub Command1_Click() n = InputBox("Введите значение N", "Ввод исходных данных") x = 0.254 / Cos(n) c = Sin(2.6 * n) If Tan(x) - Exp(-c) > 0.564 Then z = (Abs(Sin(x) ^ 3 - 12 * Cos( c))) ^ (1 / 5) Else z = Log(Abs((c - x) ^ Abs(x - c) - Log(x) / Log(10))) If Tan(x) - Exp(-c) > 0.564 Then l = MsgBox("Условие выполняетсяя!!!", vbOKOnly, "Выполняется ли условие???") Else l = MsgBox("Условие выполняется!!!", vbOKOnly, "Выполняется ли условие???") End If z = MsgBox("Z=" + Str(z), vbYes, "Результаты расчета") End End Sub Private Sub Command2_Click() End End Sub После попытки выполнить - выдаёт ошибку Run-time error '5': Invalid procedure call or argument. После debug выделяет сегмент, выделенный выше синим.. Чувствую, что что-то с логарифмом намудрил. Помогите плиз. Это на Visual Basic 6 (IMG:http://s05.radikal.ru/i178/1009/80/c5530cdb3379.jpg) |
tig81 |
![]()
Сообщение
#2
|
Академик ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 15 617 Регистрация: 15.12.2007 Город: Украина, Запорожье Учебное заведение: ЗНУ Вы: преподаватель ![]() |
|
Bigben |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Продвинутые Сообщений: 7 Регистрация: 22.9.2010 Город: Одесса Учебное заведение: Лучший) Вы: студент ![]() |
Сорри, файл был больше 500 кб, уже вставил.
|
Vahappaday |
![]()
Сообщение
#4
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
А зачем двоеточие после ELSE?
|
Bigben |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Продвинутые Сообщений: 7 Регистрация: 22.9.2010 Город: Одесса Учебное заведение: Лучший) Вы: студент ![]() |
Это как бы перенос на другую строку.. До этого просто я переносил.. Забыл убрать.
Сейчас убрал - ничего не поменялось, как была ошибка, так и есть(( |
Vahappaday |
![]()
Сообщение
#6
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
прогнал пооперационно, разбив на строчки....
ругается на возведение в степень отрицательного числа предлагаю определиться с правилами возведения в степень отрицательных чисел и реализовать) |
Bigben |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Продвинутые Сообщений: 7 Регистрация: 22.9.2010 Город: Одесса Учебное заведение: Лучший) Вы: студент ![]() |
Хм, а где ж там возведение в степень отр. числа... Вроде всё правильно..
А с логарифмами всё норм ? Я не уверен, что вместо ln можно писать log.. |
Vahappaday |
![]()
Сообщение
#8
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
C Log всё ок...
Выдаёт ошибку операция Код (c - x) ^ Abs(x - c) , когда основание степени (с-x) отрицательное.Так, например, происходит, когда n=11. |
Bigben |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Продвинутые Сообщений: 7 Регистрация: 22.9.2010 Город: Одесса Учебное заведение: Лучший) Вы: студент ![]() |
Хм... В лабораторке написано, что значение n=номеру варианта. У меня 18-ый, пишу 18 - и вот такая байда..
|
Vahappaday |
![]()
Сообщение
#10
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
В общем, я бы сделал так
Код Private Sub Command1_Click() n = InputBox("A", "B") x = 0.254 / Cos(n) c = Sin(2.6 * n) If Tan(x) - Exp(-c) > 0.564 Then Z = (Abs(Sin(x) ^ 3 - 12 * Cos(c))) ^ (1 / 5) Else If ((Int(x - c) = (x - c)) And (Abs(x - c) Mod 2 = 0)) Then Z = Log(Abs(Abs(c - x) ^ Abs(x - c) - Log(x) / Log(10))) Else Z = Log(Abs(Sgn(c - x) * Abs(c - x) ^ Abs(x - c) - Log(x) / Log(10))) End If End If If Tan(x) - Exp(-c) > 0.564 Then l = MsgBox("Условие выполняется!", vbOKOnly, "Выполняется ли условие?") Else l = MsgBox("Условие не выполняется!", vbOKOnly, "Выполняется ли условие?") End If Z = MsgBox("Z=" + Str(Z), vbYes, "Результаты расчета") End End Sub Отдельно рассмотрены варианты с чётной степенью и со всеми остальными. |
julia_lisha |
![]()
Сообщение
#11
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 147 Регистрация: 19.12.2009 Из: Omsk Город: omsk Учебное заведение: ОмГУ ![]() |
ну всем помог)))
|
Vahappaday |
![]()
Сообщение
#12
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
хм... по-моему, автору поста решение не очень понравилось)) как-то он его проигнорировал)) так что, возможно, не помог))
но иного не знаю... |
tig81 |
![]()
Сообщение
#13
|
Академик ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 15 617 Регистрация: 15.12.2007 Город: Украина, Запорожье Учебное заведение: ЗНУ Вы: преподаватель ![]() |
Спасибо, Vahappaday, за помощь.
Раз автору сложно это сказать. |
Vahappaday |
![]()
Сообщение
#14
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
ды нет!! я не про то....
забыл, так, забыл, значит не надо)) мне кажется, что решение моё не по нраву, не подходит для данного случая... |
tig81 |
![]()
Сообщение
#15
|
Академик ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 15 617 Регистрация: 15.12.2007 Город: Украина, Запорожье Учебное заведение: ЗНУ Вы: преподаватель ![]() |
|
Vahappaday |
![]()
Сообщение
#16
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
ладно, ерунда это всё))
|
tig81 |
![]()
Сообщение
#17
|
Академик ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 15 617 Регистрация: 15.12.2007 Город: Украина, Запорожье Учебное заведение: ЗНУ Вы: преподаватель ![]() |
|
julia_lisha |
![]()
Сообщение
#18
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 147 Регистрация: 19.12.2009 Из: Omsk Город: omsk Учебное заведение: ОмГУ ![]() |
ой да хватит! я всегда рада твоей помощи(IMG:style_emoticons/default/wink.gif)
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 19:39 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru