Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
153 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 9
1

Области, описываемые логическими выражениями: принадлежит ли точка области?

03.06.2013, 23:57. Показов 4858. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Для данных областей составить линейную программу, которая печатает true, если точка с координатами (х, у) принадлежит закрашенной области, и false — в противном случае:
Миниатюры
Области, описываемые логическими выражениями: принадлежит ли точка области?  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2013, 23:57
Ответы с готовыми решениями:

"принадлежит или нет" точка заштрихованной области
Какой нужен код в VBA, чтобы могла определиться "принадлежит или нет" точка заштрихованной области,...

Надо написать программу, которая определит, принадлежит ли точка М области
Как решить 2 задачу ? надо написать программу которая определит принадлежит ли точка М области ?

Работа с логическими выражениями
Доброго времени суток! Необходимо выполнить следующее задание: В окне сообщений показать...

Нужно определить к какому Федеральному Округу, Области, Населенному пункту принадлежит код
нужно написать процедуру. Задание состоит в том, что есть база данных кодов Дополненная.rar есть...

11
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
04.06.2013, 01:21 2

Не по теме:

21. Хм... Типа первые 20 я как орешки, а тут вот затык!


Цитата Сообщение от filipokuma Посмотреть сообщение
линейную программу
Просветите форум: линейную — это как? Как в телепрограмме?!
0
153 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 9
04.06.2013, 01:35  [ТС] 3
Линейной называется программа, все операторы которой выполняются последовательно в том порядке, в котором они записаны.
0
166 / 13 / 2
Регистрация: 21.05.2013
Сообщений: 66
04.06.2013, 01:38 4
Без условных переходов if then ???
0
153 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 9
04.06.2013, 01:39  [ТС] 5
[QUOTE=Sasha_Smirnov;4665161]

Не по теме:

21. Хм... Типа первые 20 я как орешки, а тут вот затык!



нет,просто по списку я 21-ая...
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
04.06.2013, 01:46 6
Цитата Сообщение от second3 Посмотреть сообщение
Без условных переходов if then...
Ага, давайте ещё без ЭВМ и электричества... где-то там моя бабушка рейсмус оставила?.. и счёты.
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
Sub Supercharge()
Const x = 0 'абцисса
Const y = 3 'ордината
'Теперь отсекаем (по одной) незакрашенные области координатной плоскости.
Dim принадлежит As Boolean: принадлежит = True
 
    Select Case x
    Case Is < -3: принадлежит = False
    Case Is > 6: принадлежит = False
    End Select
 
    Select Case y
    Case Is < -3: принадлежит = False
    Case Is > 0
        If x ^ 2 + y ^ 2 > 9 Then
            принадлежит = False
        Else '(X;Y) внутри окружности радиуса 3 с центром в (0; 0)
            If y > -x / 2 + 3 Then
                принадлежит = False
            Else '(X;Y) под прямой, соединяющей точки (0; 3) и (6; 0)
                принадлежит = True
            End If
        End If
    Case Is > 3: принадлежит = False
    End Select
    
    MsgBox принадлежит 'выводит True, если (X;Y) в области, иначе False
End Sub
Сильно не пытал, но вроде не врёт.
1
166 / 13 / 2
Регистрация: 21.05.2013
Сообщений: 66
04.06.2013, 02:05 7
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub sdf()
Dim x, y As Double
Dim yes As Boolean
 
x = -1 'CDbl(InputBox("x="))
y = 1 'CDbl(InputBox("y="))
yes = False
 
If y > 0 Then
  If x > 0 Then
    If y < -3 / 6 * x + 3 Then yes = True
  Else
    If x * x + y * y < 3 * 3 Then yes = True
  End If
End If
 
Debug.Print yes
 
End Sub
Добавлено через 17 минут
Вот так совсем правильно. А они еще хотят запретить курить

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub sdf()
Dim x, y As Double
Dim yes As Boolean
 
x = -1 'CDbl(InputBox("x="))
y = 1 'CDbl(InputBox("y="))
yes = False
 
If (y > 0 and x>0) and (y<-3 / 6 * x + 3) Then yes = True
If (y > 0 and x<=0) and (x * x + y * y < 3 * 3) Then yes = True
 
Debug.Print yes
 
End Sub
1
153 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 9
04.06.2013, 02:15  [ТС] 8
second3,
спасибо вам огромное!
может вы поможете мне разобраться с задачей? у меня получается,что арктангес считает не правильно

задача: Найти (в радианах в градусах) все углы треугольника со сторонами а, b, с.

Sub f1_2()
Dim a As Double
Dim b As Double
Dim g As Double
Dim x As Double
Dim y As Double
Dim z As Double

Cells(2, 1) = ""
Cells(2, 2) = ""
Cells(2, 3) = ""
x = Cells(1, 1) '=3
y = Cells(1, 2) '=4
z = Cells(1, 3) '=5

a = ((y ^ 2) + (z ^ 2) - (x ^ 2)) / (2 * y * z)
b = ((x ^ 2) + (z ^ 2) - (y ^ 2)) / (2 * x * z)
g = ((x ^ 2) + (y ^ 2) - (z ^ 2)) / (2 * x * y)


If (a = 0) Then Cells(2, 1) = 90 Else Cells(2, 1) = Atn(Sqr(1 - a * a) / a) 'по идее arctn (0.75) = 52.4, когда считает он =0,64

If (b = 0) Then Cells(2, 2) = 90 Else Cells(2, 2) = Atn(Sqr(1 - b * b) / b) 'опять таки arctn (1.33) = 36.9

If (g = 0) Then Cells(2, 3) = 90 Else Cells(2, 3) = Atn(Sqr(1 - g * g) / g) ' и тут 90

'в идеале так и получается: 52.4+36.9+90 = 180 градусов


End Sub
0
166 / 13 / 2
Регистрация: 21.05.2013
Сообщений: 66
04.06.2013, 02:40 9
Все верно atn выдает результат в радианах, чтобы были градусы результат надо умножить на 180 и поделить на число_пи
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
04.06.2013, 02:43 10
Спасибо, second3 (кнопка не работает), теперь все узнают этот средневековый рецепт!

filipokuma, по идее (по правилам) об этом нужно спрашивать в новой теме, и весь форум, а не отдельно избранного second3.

Но тут уж скажу, что дело не в том, что
Цитата Сообщение от filipokuma Посмотреть сообщение
арктангес считает не правильно
Просто уже решённую задачу (Как найти все углы треугольника со сторонами а, Ь, с) вы решили разобрать по частям — а ради чего?!
1
166 / 13 / 2
Регистрация: 21.05.2013
Сообщений: 66
04.06.2013, 02:52 11
гугл говорит что atan (0.75) действительно равен 0,64
0
153 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 9
04.06.2013, 03:15  [ТС] 12
Лучший ответ Сообщение было отмечено как решение

Решение

second3, СПАСИБО!!!


Sasha_Smirnov, Александр,я извиняюсь,что нарушила правила форума... но не стоит столь грубо разговаривать.зачем мне создавать новую тему,если мне ответ нужен был именно сейчас?
я разобрала по частям,потому что так удобнее. извините,просто в этом деле я еще совсем новичок...
Вам тоже большое спасибо!
0
04.06.2013, 03:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2013, 03:15
Помогаю со студенческими работами здесь

Программа для определения области, где находится точка с координатами Х и У
Всем доброго дня! Сейчас я столкнулся с такой проблемой: Уже довольно-таки длительное время...

Программа для определения области, где находится точка с координатами Х и У
Sub vvv() Dim x#, y#, Y1#, Y2#, Y3#, Y4#, Y5# x = Val(InputBox(&quot;Введите координаты точки X&quot;,...

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

Области, описываемые логическими выражениями
Для данных областей составить линейную программу, которая печатает true, если точка с координатами...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru