Предмет: Информатика,
автор: Дигидроортоборат
200 БАЛЛОВ за решение: Даны координаты точки (Х; У). Составить программу(Паскаль), которая печатает true, если точка с координатами (х;у) принадлежит заштрихованной области из задания № 2 вашего варианта, и false в противном случае.
Начало -- var x, y: integer;
f: boolean;
begin .....
Приложения:

Ответы
Автор ответа:
0
Прежде всего, надо построить логическое выражение, которое описывает попадание точки a(x,y) в заштрихованные области.
1. первая четверть
Область образована частью кольца, меньший радиус равен 4, больший - 8.

2. третья четверть
Такая же область.

3. вторая четверть
треугольник, гипотенуза которого имеет уравнение вида y=2x+8

В программе эти три области следует объединить по "или".
Можно сделать упрощение, заметив, что выражения для 1-й и 3-й четвертей отличаются лишь противоположными знаками координат, причем обе координаты одного знака, следовательно их произведение неотрицательно:

var
x, y: real;
f: boolean;
begin
Write('Введите координаты точки (x,y): '); Readln(x, y);
f := ((sqr(x) + sqr(y)) >= 16) and ((sqr(x) + sqr(y)) <= 64) and (x * y >= 0);
f := f or (y <= 2 * x + 8) and (x <= 0) and (y >= 0);
Writeln(f)
end.
Тестовое решение:
Введите координаты точки (x,y): 1.57 3.93
True
1. первая четверть
Область образована частью кольца, меньший радиус равен 4, больший - 8.
2. третья четверть
Такая же область.
3. вторая четверть
треугольник, гипотенуза которого имеет уравнение вида y=2x+8
В программе эти три области следует объединить по "или".
Можно сделать упрощение, заметив, что выражения для 1-й и 3-й четвертей отличаются лишь противоположными знаками координат, причем обе координаты одного знака, следовательно их произведение неотрицательно:
var
x, y: real;
f: boolean;
begin
Write('Введите координаты точки (x,y): '); Readln(x, y);
f := ((sqr(x) + sqr(y)) >= 16) and ((sqr(x) + sqr(y)) <= 64) and (x * y >= 0);
f := f or (y <= 2 * x + 8) and (x <= 0) and (y >= 0);
Writeln(f)
end.
Тестовое решение:
Введите координаты точки (x,y): 1.57 3.93
True
Автор ответа:
0
Большое спасибо)
Автор ответа:
0
Пожалуйста
Похожие вопросы
Предмет: Алгебра,
автор: JuliaUlianenko
Предмет: Английский язык,
автор: bedevah
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: lyudapetrova8
Предмет: Геометрия,
автор: sw1705