Урок по теме "Геометрическое место точек"

Разделы: Информатика


Выражение – это правило вычисления значения. В выражении участвуют операнды, объединенные знаками операций. Операндами выражения могут быть константы, переменные и вызовы функций. Операции выполняются в определенном порядке в соответствии с приоритетами, как и в математике. Функции, используемые в выражении, выполняются в первую очередь. Константы и переменные являются частными случаями выражения.

Приоритеты логических операций и операций отношения:

  1. not;
  2. and;
  3. or, xor;
  4. =, <, >, <>, <=, >=.

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

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

Значением выражения логического типа может быть одна из констант: FALSE (ложь), TRUE (истина). Для них справедливы правила: ord(false)=0; ord(true)=1; false<true; succ(false)=true; pred(true)=false.

Примеры выражений:

  1. t + sin(x)/2*x – результат имеет вещественный тип;
  2. a<=b+2 – результат имеет логический тип;
  3. (x>0) and (y<0) – результат имеет логический тип.

Определите порядок действий в указанных выше выражениях.

Задание 1.

  1. Вычисли значение выражения (a < d) and (x + a < d) or (c < m) or g, если
  2. a=2,4; d=7,8; c=-17,9; m=5; g=true; x=18,7.

  3. Записать приведенные высказывания в виде выражений.
  1. a I (0; 8);
  2. a I [-1; 6];
  3. значение переменной а принадлежит одному из отрезков [-4; 5], [0; 3], [1,2; 7].

Геометрическое место точек (ГМТ) – фигура речи в математике, употребляемая для определения геометрической фигуры как множества точек, обладающих некоторым свойством.

Пример 1.

Принадлежит ли точка A(x, y) закрашенной области, изображенной на рисунке 1 (включая границы)?

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

Рисунок 1 Решение.

Точки, принадлежащие закрашенной области, обладают следующими свойствами:

  1. располагаются внутри окружности радиуса 1, с центром в начале координат, уравнение которой имеет вид: х22=1;
  2. х>=0;
  3. y>=0.

Программа может быть составлена так:

program oblast1;
var
x, y: real;
begin
write(‘x=’); readln(x);
write(‘y=’); readln(y);
writeln((x>=0) and (y>=0) and (sqr(x)+sqr(y)<=1));
readln;
end.

Задание 2: изобразить в декартовой прямоугольной системе координат область, в которой истинно данное логическое выражение. Составить программу для определения принадлежности данной области точки A( x, y ).

  1. ( y >= -x + 1 ) and ( y >= x + 1 ) and ( y <=-x – 1) and (y < =x -1) and ( x 2 +y 2 <=1).
  2. ( x 2 +y 2 <= 2 ) and ( y >= x ) and ( y >= -x ).
  3. ( x >= -1) and ( x <= 0 ) and ( y >= -2 ) and ( y <= -x ) or ( x >= 0 ) and ( x <=1 ) and ( y >= -2) and ( y <= x ).
  4. (¦y¦<=1) and (¦x¦<=2).

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

a) Рисунок 2

b) Рисунок 3

Ответы.

Задание 1.

  1. (2,4 < 7,8) and (18,7 + 2,5 < 7,8) or (-17,9 < 5) or true. Значение данного логического выражения – истина.
  2. Логические выражения:
    1. (0<a) and (a<8);
    2. (a<-1) or (a>6);
    3. (-4<=a) and (a<=5) or (0<=a) and (a<=3) or (1,2<=a) and (a<=7).

Задание 2.

1. Рисунок 4

2. Рисунок 5

3. Рисунок 6        

4. Рисунок 7

Задание 3.

а) program oblast2;

var
x,y,r:real;
b:boolean;
begin
write('x=');readln(x);
write('y=');readln(y);
write('r=');readln(r);
b:=(sqr(x)+sqr(y)<=sqr(r)) and ((y>=-x) or (y<=x));
if b=true
then writeln('принадлежит')
else writeln('не принадлежит');
readln;
end.

b) program oblast3;
var
x,y,r1,r2:real;
b:boolean;
begin
write('x=');readln(x);
write('y=');readln(y);
write('r1=');readln(r1);
write('r2=');readln(r2);
b:=(sqr(x)+sqr(y)<=sqr(r1)) and (sqr(x)+sqr(y)>=sqr(r2));
if b=true
then writeln(' принадлежит ')
else writeln('не принадлежит');
readln;
end.

Список используемой литературы:

  1. Павловская Т.А. Паскаль. Программирование на языке высокого уровня. Учебник для вузов – СПб. Питер, 2004.
  2. Васюкова Н.Д., Тюляева В.В. Практикум по основам программирования. Язык Паскаль: Учеб. Пособие для учащихся средних специальных заведений, – М.: Высш. шк., 1991.