Задание

Уравнения для графиков

Для дуги окружности:

x=r*cos(a)

y=r*sin(a)

Для горизонтальных линий:

y=r

y=-r

Для наклонных линий:

y=-x

y=x

Условие для точек внутри заштрихованной области:

Внутри дуги окружности:

l1=x*x+y*y<=r*r .and. x>=0

Внутри треугольника во 2-ой четверти:

l2=y>=-x .and. y<=r .and. y>=0 .and. x>=-r .and. x<=0

Внутри треугольника в 3-ей четверти:

l3=y<=x .and. y<=0 .and. y>=-r .and. x>=-r .and. x<=0

Полученный график:

Текст программы

program lab4

implicit none

real r, alpha, x, y

logical l,l1,l2,l3

open(1, file='duga.txt')

open(2, file='line1.txt')

open(3, file='line2.txt')

open(4, file='inside.txt')

open(5, file='outside.txt')

open(6, file='line3.txt')

open(7, file='line4.txt')

write(*,*) 'R=?'

read(*,*) r

do alpha=90,-90,-2

x=r*cosd(alpha)

y=r*sind(alpha)

write(1,*) x,y

enddo

do x=-r,0,0.5

write(2,*) x,-x

write(3,*) x, x

write(6,*) x, r

write(7,*) x, -r

enddo

do x=-2.*r,2.*r,0.25

do y=-2.*r,2.*r,0.25

l1=x*x+y*y<=r*r .and. x>=0

l2=y>=-x .and. y<=r .and. y>=0 .and. x>=-r .and. x<=0

l3=y<=x .and. y<=0 .and. y>=-r .and. x>=-r .and. x<=0

l=l1 .or. l2 .or. l3

if(l) then

write(4,*) x,y

else

write(5,*) x,y

endif

enddo

enddo

end

Блок схема

Санкт-Петербургский Государственный Университет

Информационных технологий,

Механики и оптики

Отчет

К лабораторной работе по информатике

Вариант № 8

Студент:

Преподаватель:

2004 г.