Задание

Уравнения для окружностей:

Для окружности во 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 г.