IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Помогите найти ошибку в коде
Bigben
сообщение 22.9.2010, 17:01
Сообщение #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
сообщение 22.9.2010, 17:06
Сообщение #2


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(Bigben @ 22.9.2010, 20:01) *

Данные в прикреплённой картинке.

файла нет
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Bigben
сообщение 22.9.2010, 18:10
Сообщение #3


Новичок
*

Группа: Продвинутые
Сообщений: 7
Регистрация: 22.9.2010
Город: Одесса
Учебное заведение: Лучший)
Вы: студент



Сорри, файл был больше 500 кб, уже вставил.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 22.9.2010, 18:25
Сообщение #4


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



А зачем двоеточие после ELSE?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Bigben
сообщение 22.9.2010, 18:28
Сообщение #5


Новичок
*

Группа: Продвинутые
Сообщений: 7
Регистрация: 22.9.2010
Город: Одесса
Учебное заведение: Лучший)
Вы: студент



Это как бы перенос на другую строку.. До этого просто я переносил.. Забыл убрать.
Сейчас убрал - ничего не поменялось, как была ошибка, так и есть((
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 22.9.2010, 19:39
Сообщение #6


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



прогнал пооперационно, разбив на строчки....
ругается на возведение в степень отрицательного числа
предлагаю определиться с правилами возведения в степень отрицательных чисел и реализовать)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Bigben
сообщение 22.9.2010, 19:52
Сообщение #7


Новичок
*

Группа: Продвинутые
Сообщений: 7
Регистрация: 22.9.2010
Город: Одесса
Учебное заведение: Лучший)
Вы: студент



Хм, а где ж там возведение в степень отр. числа... Вроде всё правильно..
А с логарифмами всё норм ? Я не уверен, что вместо ln можно писать log..
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 22.9.2010, 20:04
Сообщение #8


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



C Log всё ок...
Выдаёт ошибку операция
Код
(c - x) ^ Abs(x - c)
, когда основание степени (с-x) отрицательное.
Так, например, происходит, когда n=11.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Bigben
сообщение 22.9.2010, 20:06
Сообщение #9


Новичок
*

Группа: Продвинутые
Сообщений: 7
Регистрация: 22.9.2010
Город: Одесса
Учебное заведение: Лучший)
Вы: студент



Хм... В лабораторке написано, что значение n=номеру варианта. У меня 18-ый, пишу 18 - и вот такая байда..
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 23.9.2010, 2:54
Сообщение #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
сообщение 27.9.2010, 5:15
Сообщение #11


Студент
**

Группа: Продвинутые
Сообщений: 147
Регистрация: 19.12.2009
Из: Omsk
Город: omsk
Учебное заведение: ОмГУ



ну всем помог)))
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 27.9.2010, 11:39
Сообщение #12


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



хм... по-моему, автору поста решение не очень понравилось)) как-то он его проигнорировал)) так что, возможно, не помог))
но иного не знаю...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 27.9.2010, 11:43
Сообщение #13


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Спасибо, Vahappaday, за помощь.
Раз автору сложно это сказать.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 27.9.2010, 13:39
Сообщение #14


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



ды нет!! я не про то....
забыл, так, забыл, значит не надо))
мне кажется, что решение моё не по нраву, не подходит для данного случая...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 27.9.2010, 13:59
Сообщение #15


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(Vahappaday @ 27.9.2010, 16:39) *

забыл, так, забыл, значит не надо))

Нет, не забыл, 24 на форуме был. Посмотрите в профиле дату последнего посещения.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 27.9.2010, 14:17
Сообщение #16


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



ладно, ерунда это всё))
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 27.9.2010, 14:21
Сообщение #17


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



(IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
julia_lisha
сообщение 1.10.2010, 16:15
Сообщение #18


Студент
**

Группа: Продвинутые
Сообщений: 147
Регистрация: 19.12.2009
Из: Omsk
Город: omsk
Учебное заведение: ОмГУ



ой да хватит! я всегда рада твоей помощи(IMG:style_emoticons/default/wink.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 20.4.2024, 7:08

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru