АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Задание B

Читайте также:
  1. Window(x1, y1, x2, y2); Задание окна на экране.
  2. В основной части решается практическое задание.
  3. Домашнее задание
  4. Домашнее задание
  5. Домашнее задание
  6. Домашнее задание
  7. Домашнее задание
  8. Домашнее задание
  9. Домашнее задание
  10. Домашнее задание
  11. Домашнее задание
  12. Домашнее задание

Составить схему алгоритма и программу, которая определяет и выводит на экран сведения о положении точки с координатами (x, y) в указанной области. Координаты точки вводятся с клавиатуры по запросу пользователя. Выполнить тестирование и отладку программы. При тестировании программы количество точек следует взять равным количеству областей плюс одна точка, которая должна находиться вне областей. Получить результаты выполнения программы для тестового варианта исходных данных. Проанализировать результаты выполнения программы.

 

1) Точка (x, y) находится в области А;

2) точка (x, y) находится в области В;

3) точка (x, y) находится в области С;

4) точка (x, y) находится вне областей.

Примечание: Попадание на границу области следует считать попаданием в область. Точки, находящиеся на окружности, считать принадлежащими области А.

Разработка алгоритма решения

Первым шагом алгоритма должен быть ввод координат точки: x и y. Для большего удобства при анализе результатов можно вывести введенные значения на экран.

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

Если прямая отсекает на осях x и y отрезки a и b (не равные нулю), то её можно представить уравнением: .

Окружность радиуса R с центром в начале координат представляется уравнением: .

Окружность радиуса R с центром в точке с координатами (a, b) представляется уравнением: .

Исходя из этого условие нахождения точки в области А выглядит следующим образом: , так как R=1.

Область B образуется пересечением прямой Y=2 и окружностью радиуса R=1 с центром в точке с координатами a=2, b=2. Уравнение этой окружности . Для проверки попадания точки в заданную область нужно проверить условия того, что:

1) Точка лежит ниже прямой или на ней, т.е.: Y£2.

2) Точка лежит внутри окружности или на ней, т.е.: .

Точка принадлежит области B, если выполняются оба условия. Если же не выполняется хотя бы одно из них, точка лежит вне области. Следовательно, эти условия должны быть объединены логической операцией «конъюнкция» – «И». Таким образом, условие нахождения точки в области B на алгоритмическом языке выглядит: (x-2)^2+(y-2)^2<=1^2 and y<=2.

Аналогичным образом записываем выражение, определяющее условие нахождения точки в области C. Область C определяется пересечением прямой , где a=-3, b=3, т.е. , осью x, уравнение которой y=0, осью y, уравнение которой x=0, и окружностью с центром в начале координат . Для проверки попадания точки в заданную область нужно проверить условия того, что:

1) Точка лежит ниже прямой или на ней, т.е.: .

2) Точка лежит слева от оси y или на ней, т.е.: x£0.

3) Точка лежит выше оси x или на ней, т.е.: y³0.

4) Точка лежит вне окружности с центром в начале координат или на ней, т.е.: . Проверка этого условия является лишней, так как условие нахождения точки в области C проверяется после проверки условия нахождения точки в области A и в том случае, если точка находится вне области A, следовательно, .

Итак, точка принадлежит области C, если выполняются три условия. Если же не выполняется хотя бы одно из них, точка лежит вне области. Следовательно, эти условия должны быть объединены логической операцией «конъюнкция» – «И». Таким образом, условие нахождения точки в области С на алгоритмическом языке выглядит: x/-3+y/3<=1 and x<=0 and y>=0.

Визуальное представление алгоритма решения задачи в виде блок-схемы представлено на рисунке 9.

Рис. 9. Визуальное представление алгоритма решения задания B

в виде блок-схемы

 

Программа на языке QBasic

INPUT “введите координаты x,y”;x,y

PRINT “точка (”;x; “,”;y; “) находится ”;

IF (x-2)^2+(y-2)^2<=1 and y<=2 THEN

PRINT “в области B”

ELSEIF x^2+y^2<=1 THEN

PRINT “в области A”

ELSEIF x/-3+y/3<=1 and x<=0 and y>=0 THEN

PRINT “в области C”

ELSE

PRINT “вне областей”

END IF

END

В качестве тестовых значений нужно взять по одной точке из каждой области и одну точку вне областей.

Результаты выполнения программы

введите координаты x,y? 2,1.5

точка (2, 1.5) – в области B

введите координаты x,y? 0.5,0.5

точка (.5,.5) – в области А

введите координаты x,y? –1.5,0.5

точка (-1.5,.5) – в области C

введите координаты x,y? 3,3

точка (3, 3) – вне областей

 

Рассмотрим этот же пример разработки ветвящейся программы, основанный на методике компьютерного решения задач (процедурное программирование), реализуемый средствами языка VBA.

 

Программный код

Public Sub Ветвление_В()

Dim x As Single

Dim y As Single

Dim strRezultat As String

x = val(InputBox("Введите координату x”))

y = val(InputBox("Введите координату y"))

strRezultat = "точка (" & x & ", " & y & ") находится"

If (x - 2) ^ 2 + (y - 2) ^ 2 <= 1 And y <= 2 Then

MsgBox strRezultat & "в области B"

ElseIf x ^ 2 + y ^ 2 <= 1 Then

MsgBox strRezultat & "в области A"

ElseIf x / -3 + y / 3 <= 1 and x <= 0 and y >= 0 Then

MsgBox strRezultat & "в области С"

Else

MsgBox strRezultat & "вне областей"

End If


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)