Для данных областей составить линейную программу, - QBasic
Формулировка задачи:
Для данных областей составить линейную программу, которая печатает true, если точка с координатами (х, у) принадлежит закрашенной области, и false — в противном случае:
Решение задачи: «Для данных областей составить линейную программу,»
textual
Листинг программы
DIM a(-1 TO 0) AS STRING*5 a(-1) = "TRUE": a(0) = "FALSE" INPUT x, y PRINT a(x ^ 2 + y ^ 2 <= 36 AND x ^ 2 + y ^ 2 >= 16 AND y >= 2)
Объяснение кода листинга программы
В этом коде:
- Создается массив
aтипаSTRING*5с размером-1 TO 0(включая границы). - Элемент
a(-1)присваивается значениеTRUE, а элементa(0)— значениеFALSE. - Вводится пара чисел
xиy. - Выводится значение элемента
a(x ^ 2 + y ^ 2 <= 36 AND x ^ 2 + y ^ 2 >= 16 AND y >= 2). Значение выводимого элемента массиваaопределяется условиемx ^ 2 + y ^ 2 <= 36 AND x ^ 2 + y ^ 2 >= 16 AND y >= 2. Если это условие истинно, то выводится значениеTRUE, иначе —FALSE. Для понимания, как работает это условие, можно разложить его на составляющие: x ^ 2 + y ^ 2 <= 36— это квадрат расстояния от центра окружности с радиусом 6 до точки(x, y). Если расстояние меньше или равно 6, то это условие истинно.x ^ 2 + y ^ 2 >= 16— это квадрат расстояния от центра окружности с радиусом 4 до точки(x, y). Если расстояние больше или равно 4, то это условие истинно.y >= 2— это условие, чтоyбольше или равно 2. Таким образом, условиеx ^ 2 + y ^ 2 <= 36 AND x ^ 2 + y ^ 2 >= 16 AND y >= 2истинно, если точка(x, y)находится внутри окружности радиусом 6 и ограничена сверху окружностью радиусом 4, а также еслиyбольше или равно 2.