Лабораторная работа №2
Программирование ветвящихся вычислительных процессов
Задание: требуется составить программу, которая определить попадает ли точка в заданную область на плоскости.
Исходные функции
1.
2.
На плоскости задана область определения, необходимо узнать, попадает ли точка, с координатами в эту область определения или нет.
Если попадает, значит необходимо вычислить функцию и найти переменную, значение которой будет доказывать попадание или непопадание в область определения. В противном случае высчитать, с новой переменной.
Функция f1 задана
Функция f2 задана
Область ограниченна в первой и четвертой четвертях прямыми: в первой четверти, в четвертой – . Во второй четверти уравнением окружности с центром в начале координат:
Зададим точку с координатами и запишем, что она попадает в область D, если и , и или и ,и .
Точка не попадает, если и или и , или , и , или и .
Опишем переменные, которые будем использовать в программе:
– Логическая переменная (true-значение попадания; false-значение непопадания).
- свободные переменные
- переменная, значение функции
- переменная цикла
Текст программы
Program L2
Logical::C
Open(1,file='inp.txt')
Open(2,file='out.txt')
write(2,*)' x y z c m '
Do i=1,6
Print*,'x,y-?';read(1,*)x,y
c=x>0..and.y>0..and.y<-x+2.&
.or.x>0..and.y<0..and.y>x-2.&
.or.x<0..and.y>0..and.x**2+y**2<9
if(C)then
Print*,'YES';z=(2*x+atan(y));m=0
else
print*,'NO';z=(atan((1./x**2)+(1./y**2)));m=1
endif
write(2,'(3F12.3,L7,I7)')x,y,z,c,m
Enddo
End
В результате проверки программы, получаем данные, приведенные в таблице.
Таблица
.500 |
1.000 |
1.785 |
T |
0 |
|
1.000 |
-.500 |
1.536 |
T |
0 |
|
-1.000 |
2.000 |
-.893 |
T |
0 |
|
3.000 |
3.000 |
.219 |
F |
1 |
|
2.000 |
2.000 |
.464 |
F |
1 |
|
2.000 |
-2.000 |
.464 |
F |
1 |
Задача на защиту
Для заданных значений найти
Текст программы
Program L2
Real a,b,c
Do i=1,9
Print*,'a,b,c-?';read*,a,b,c;
If(a<b.and.a>c)then; print*, ' z=a';else;print*, ' z=c'
Endif
If(b<a.and.b>c)then;print*,' z=b';else;print*,' z=c';
Endif
Enddo
End
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.