Порядок выполнения работы.

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

Проверка расположения точки с координатами (x,y) относительно прямой.


Пусть уравнение прямой задано в каноническом виде y = ax+b. Тогда, все точки, лежащие на линии прямой подчиняются условию . Все точки, лежащие левее линии прямой подчиняются условию , это условие выполняется для точки с координатами . Все точки, лежащие правее линии прямой подчиняются условию

. Тогда:

· .

· .

· .

Для представленного рисунка составим уравнение прямой по двум заданным точкам: прямая проходит через точки с координатами (0,-1) и (2,0). Найдем коэффициенты уравнения a и b.

Тогда проверить, местоположение точки с координатами (x,y) можно проверить следующим образом: … if (y<0.5*x-1) printf(“Точка расположена левее прямой”); else if(y>0.5*x-1) ) printf(“Точка расположена правее прямой”); else ) printf(“Точка расположена на прямой”);

Рассмотрим решение следующей задачи:

 

Проверить, принадлежит ли точка с заданными координатами (x,y) заштрихованной области. Значения координат вводятся с клавиатуры. Проверка корректности ввода данных обязательна.

 

 

Порядок выполнения работы.

Построим условие, по которому будем определять положение точки относительно фигуры. Очевидно, что точка может попасть либо в левую часть фигуры, для которой строится следующее условие – (x>=-2) и (x<=0) и (y>=-2) и (y<=2). Либо, точка может попасть в правую часть фигуры, которая ограничивается следующими условиями – (x>=0) и (x<=2) и (y>=-1) и (y<=1).

 

1.Подключим основные библиотеки // библиотека стандартного ввода-вывода //библиотека функций управления текстовым экраном // библиотека стандартных функций 2.Опишем функцию main 3.очистим экран 4.Опишем используемые переменные x,y – по условию задачи определим их как вещественные переменные. В языке Си это тип float 5.сообщение об авторе программы 6.Выведем на экран приглашение 7.Чтение данных с клавиатуры выполняет функция scanf(управляющая строка, адрес переменной). Результат работы функции сохраним в переменной s. Это целочисленная переменная (тип int) 8.Проверим результат выполнения функции (считывается две переменных) – если введены не числовые данные, то на экран выводится сообщение и программа заканчивает свою работу. 9.Построим условия вхождения - не вхождения точки в заданную область и выведем соответствующие сообщения.   #include <stdio.h> #include <conio.h> #include <stdlib.h>   void main() { clrscr(); float x,y; printf (“Программу выполнил … \n”); printf(“Введите значения переменных: ”); int s; s = scanf(“%f%f”,&x,&y); if (s!=2){ printf(“Введены данные, не являющиеся числами.”); getch(); exit(0); } else { if (x>=-2 &&x<=0&&y>=-2&& y<=2 || x>=0 &&x<=2&&y>=-1&&y<=1) printf(“Точка с координатами (%9.2f, %9.2f) принадлежит закрашенной области”,x,y); else printf(“Точка с координатами (%9.2f, %9.2f) не принадлежит закрашенной области”,x,y); } getch(); }