Лаба№1,2 / Отчет по лаборатрной работе №2
.docПермский государственный технический университет
кафедра Микропроцессорных Средств Автоматизации
Отчет по
Лабораторной работе №2
«Программа принадлежности точек определенным областям»
По дисциплине «Информатика»
Выполнил студент группы АУЦ-10
Рычин Вадим
Проверил ассистент кафедры ИТАС
Баранов А.А.
Пермь 2010
Цель работы: написать программу для определения принадлежности точки к определенным областям ограниченным разными функциями.
Ход работы: задание №20
Зададим окружность, эллипс и прямую на плоскости функциями.
-Общий вид уравнения окружности выглядит следующим образом:
(x-x0)2+(y-y0)2=r2
x0,y0–координаты центра окружности, r–радиус окружности.
-Известна крайняя левая точка с координатами (-32;0). Отсюда, мы можем найти
x0=30-32=-2
И так же зная радиус окружности и крайнюю нижнюю точку пересечения окружности с осью мо можем найти yo=30-35=-5
-Тогда уравнение окружности будет иметь вид:
(x+2)2+(y+5)2=302
Рассмотрим эллипс.
-Уравнение эллипса имеет вид:
(x-x0)2/a2+(y-y0)2/b2<1
где x0,y0–координаты центра эллипса.
Так как a-полуширина эллипса,b-полудлина эллипса мы можем найти xo, yo зная самую левую точку пересечения и самую верхнюю точку пересечения эллипса с осью
Т.е.:xo=20-25=-5; yo=35-33=2
-Получили уравнение эллипса:
(x+5)2/202+(y-2)2/332=1
Рассмотрим прямую.
-На рисунке ясно видно 2 точки, через которые проходит прямая:1.точка пересечения прямой с осью ординат; 2.точка пересечения прямой с осью абцисс.
-Нужно найти эти 2 точки, чтобы задать уравнение прямой, которое имеет вид:
x-x1/x2-x1=y-y1/y2-y1
y1=0 нам известен, так как т.2 лежит на оси абцисс, x1 мы можем найти зная крайнюю левую точку пересечения эллипса с осью абцисс,она равна 25.Так как полуширина эллипса равна 20 мы вычислим расстояние z обозначенное мной на рисунке,оно равно 5.Вычев из полуширины эллипса кусочек z мы найдем x1=15.
x2=24,
y2 мы можем найти с помощью тангенса.
y2=15*0,57
y2=8,6
Подставим координаты этих точек в общее уравнение:
(x-15)/(0-15)=(y-0)/(8,6-0)
отсюда
y = 8,6*x -0,57x – уравнение прямой в заданной системе координат
Далее создаём программу в Turbo Pascal:
Var x,y:real;
begin
readln(x,y);
if ((x+5)*(x+5)/400+(x+2)*(x-2)/1089<=1)
and ((x+2)*(x+2)+(y+5)*(y+5)<=900) and
(x>0) and (y>=8.6-0.57*x)
then writeln ('da')
else writeln ('net');
if (x>0) and (y<=8.6-0.57*x)
and ((x+2)*(x+2)+(y+5)*(y+5)<=900)
and ((x+5)*(x+5)/400+(x-2)*(x+2)/1089>1)
then writeln ('da')
else writeln ('net');
end.
Вывод: на этой лабораторной работе мы с помощью Turbo Pascal научились писать программу, благодаря которой можно определять по координатам точки её принадлежность к заданным областям, ограниченных разными функциями.