Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
Viol
0 / 0 / 0
Регистрация: 27.05.2015
1

Оператор Select Case: определить, сколько точек пересечения имеют окружность и прямая

23.10.2008, 21:58. Просмотров 4027. Ответов 1
Метки нет (Все метки)

Всем привет. Помогите, пожалуйста, решить задачку(я не лентяй, у меня не получается решить ее, наверное, потому что с математикой плохо %) ) Во-общем, вот само условие:

Определить, сколько точек пересечения имеют окружность радиуса R с центром в начале координат и произвольная прямая y=kx+e. Вычислить координаты точек пересечения.
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
32
33
34
35
36
37
38
39
40
41
42
43
Private Sub cmdВычисление_Click()
 
R = Val(txtR.Text)                       'присваивание переменных значений
k = Val(txtk.Text)                       'введенных в соответсвующие текстовые поля
e = Val(txte.Text)
a = 1 + k ^ 2                            'вспомогательные переменные
b = 2 * k * e
c = e ^ 2 - R ^ 2
D = b ^ 2 - 4 * a * c                    'вычисление дискриминанта
txtD.Text = Str(D)
    Select Case D
        Case Is < 0
        lblТочки.Caption = "Нет точек пересечения"
        fraX1.Visible = False
        fraX2.Visible = False
        fraY1.Visible = False
        fraY2.Visible = False
    Case 0
        lblТочки.Caption = "Одна точка пересечения. Прямая - касательная"
        X1 = ...
        fraX1.Visible = True
        fraX2.Visible = False
        fraY1.Visible = True
        fraY2.Visible = False
        Y1 = ...
        txtX1.Text = Str(X1)
        txtY1.Text = Str(Y1)
    Case Else
        fraX1.Visible = True
        fraX2.Visible = True
        fraY1.Visible = True
        fraY2.Visible = True
        lblТочки.Caption = "Две точки пересечения. Прямая - секущая"
        X1 = ...
        txtX1.Text = Str(X1)
        X2 = ...
        txtX2.Text = Str(X2)
        Y1 = ...
        txtY1.Text = Str(Y1)
        Y2 = ...
        txtY2.Text = Str(Y2)
     End Select
End Sub
Необходимо заполнить формулы для Х1, Х2, Y1, Y2. Я наверное настолько туп, но сделать это не могу, хотя мне кажется, что это что то элементарное. Помогите разобраться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2008, 21:58
Ответы с готовыми решениями:

определить,сколько точек пересечения имеет окружность радиуса R с центром в начале координат и произвольная прямая y=kx+b.
Написать программу, которая сможет определить,сколько точек пересечения имеет окружность радиуса R...

Разветвляющиеся алгоритмы: Оператор - Select Case!
Разработать приложение, реализующее подсчет числа броуновских частиц, попадающих в объектив...

Select case
Вот код. Можно его написать через Select Case ? я пытался написать но ни как не получается у меня ...

Select Case
Выдает ошибку: Private Sub Command1_Click() Dim K As Integer Dim X As Single, Y As Single X =...

Select Case
Здравствуйте! скажу сразу, в бейсике я почти полный ноль. дали мне такое задание: создать...

1
Жестянка
сцуко киборг
103 / 30 / 4
Регистрация: 11.09.2008
Сообщений: 193
05.11.2008, 00:55 2
при D=0:

Код
X1 = -b/2/a
Y1 = k*X1+e
при D>0:

Код
X1 = -b+D^0.5/2/a
Y1 = k*X1+e
X2 = -b-D^0.5/2/a
Y2 = k*X2+e
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2008, 00:55

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

Сколько точек пересечения имеет прямая с окружностью
1)По последним цифрам двух натуральных чисел определить последнюю цифру квадрата разности этих...

Определить, пересекаются ли прямая и окружность, и найти точки пересечения
задана окружность с центром в точке х(нулевое) и(нулевое) у и радиусом Р и прямая у=ах+в....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru