Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в программе, нахождение точки, на графике 
:(
    Опции темы
SIMarOK
  Дата 26.10.2004, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Проблема в следующем:
Дана окружность единичного радиуса и парабола y= 7x^2 - 2
Принадлежит ли точка D выделенной части плоскости ( исключая границу ).
ССылка на картинку графика

Вот код программы:

Код
Private X As Single
Dim Y As Single
Dim Y1 As Single
Sub Command1_Click()
X = Text1.Text
Y = Text2.Text
Y1 = 7 * X ^ 2 - 2//условие за-
r = 1//да-
Y2 = r ^ 2//чи
If Y < Y1 And Y > Y2 Then//...
Text1.Visible = False
Text2.Visible = False
Command1.Visible = False
Command2.Visible = True
Label5.Visible = True
Label5.Caption = "Точка D(" & Str(X) & "," & Str(Y) & ") расположена в выделенной части плоскости."
Else
Text1.Visible = False
Text2.Visible = False
Command1.Visible = False
Command2.Visible = True
Label5.Visible = True
Label5.Caption = "Точка D(" & Str(X) & "," & Str(Y) & ") не лежит в выделенной части плоскости."
End If
End Sub

Private Sub Command2_Click()
Unload Form1
End Sub


Как еще можно представить условия задачи в программе...вроде все правельно работает, но показав преподу он сказал что это чуш :( .

Помогите пожалуйста кто знает, спасибо:)
PM MAIL   Вверх
boevik
Дата 27.10.2004, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Не знаю почему назвал чушью, но кое что желательно перепесать.
Кусок кода:
Код
Text1.Visible = False
Text2.Visible = False
Command1.Visible = False
Command2.Visible = True
Label5.Visible = True
Label5.Caption = "Точка D(" & Str(X) & "," & Str(Y)

желатально вынести перед if, так как в обеих частях он одинаков.

Код
Private X As Single
Dim Y As Single
Dim Y1 As Single
Sub Command1_Click()
X = Text1.Text
Y = Text2.Text
Y1 = 7 * X ^ 2 - 2 'условие за-
r = 1  'да-
Y2 = r ^ 2 'чи
Text1.Visible = False
Text2.Visible = False
Command1.Visible = False
Command2.Visible = True
Label5.Visible = True
Label5.Caption = "Точка D(" & Str(X) & "," & Str(Y)
If Y < Y1 And Y > Y2 Then '...
   Label5.Caption = Label5.Caption  & ") расположена в выделенной части плоскости."
Else
   Label5.Caption = Label5.Caption  & ") не лежит в выделенной части плоскости."
End If
End Sub

Private Sub Command2_Click()
Unload Form1
End Sub



А насчет, того верен ли алгоротм решения, я не смотрел.
Добавлено @ 00:14
Кажется, я догадываюсь в чем чушь.
Посмотри внимательно на код:
Код
r = 1 'да-
Y2 = r ^ 2 'чи

и
Код
If Y < Y1 And Y > Y2 Then



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
SIMarOK
Дата 27.10.2004, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Ну окружность, а именно
Код
r = 1 'да-
Y2 = r ^ 2 'чи
можновообще выкинуть, так как значения меньше единицы приниматься не будут...Вот я поправил условие:
Код
If Y > Y1 Then
- так я думаю алгоритм решения должен быть верен:)
PM MAIL   Вверх
boevik
Дата 27.10.2004, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



SIMarOK, странно, что ты только Y проверяешь, а что с X, не надо проверять?


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
boevik
Дата 27.10.2004, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



С утра, мне повидемому, лучше думается.

X проверять не надо и похоже твоё условие достаточно для проверки принадлежности точки выделенной части плоскости.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.