Задание
Уравнения для окружностей: Для окружности во 2-ой четверти (x+r)2+(y-r)2=r2 Для окружности в 4-ой четверти (x-r)2+(y+r)2=r2 |
Результат
Неравенства для заштрихованной области
Для точек вне окружности в 4-ой четверти:
l1=(x-r)**2.+(y+r)**2.>=r*r
Для точек вне окружности во 2-ой четверти:
l2=(x+r)**2.+(y-r)**2.>=r*r
Для точек внутри квадратов со стороной R и вершиной в начале координат:
l3=x>=-r .and. x<=0 .and. y<=r .and. y>=0
l4=x>=0 .and. x<=r .and. y<=0 .and. y>=-r
Общее условие попадания точки в заштрихованную область:
l=(l2 .and. l3) .or. (l1 .and. l4)
Текст программы
!Хасбиев Арсен гр. 1660
program lab4
implicit none
real alpha, x, y, r/2./
logical l1, l2, l3, l4, l
open(1, file='circle1.txt')
open(2, file='circle2.txt')
open(3, file='inside.txt')
open(4, file='outside.txt')
do alpha=0,360,2
x=r*cosd(alpha)-r
y=r*sind(alpha)+r
write(1,*) x, y
x=r*cosd(alpha)+r
y=r*sind(alpha)-r
write(2,*) x,y
enddo
do x=-2.*r,2.*r,0.25
do y=-2.*r,2.*r,0.25
l1=(x-r)**2.+(y+r)**2.>=r*r
l2=(x+r)**2.+(y-r)**2.>=r*r
l3=x>=-r .and. x<=0 .and. y<=r .and. y>=0
l4=x>=0 .and. x<=r .and. y<=0 .and. y>=-r
l=(l2 .and. l3) .or. (l1 .and. l4)
if(l) then
write(3,*) x, y
else
write(4,*) x, y
endif
enddo
enddo
end
Блок-схема
Санкт-Петербургский Государственный Университет
Информационных технологий,
Механики и оптики
Отчет
К лабораторной работе по информатике
Вариант № 12
Студент:
Преподаватель:
2004 г.