Координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат - Turbo Pascal
Формулировка задачи:
Три точки заданы своими координатами X(x1, x2), Y(y1, y2) и Z(z1, z2). Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат с точкой, минимальный. Вычисления оформить в виде процедуры.
Решение задачи: «Координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат»
textual
Листинг программы
uses crt; type point=record x,y,u:real; end; procedure vvod(var t:point;c:char); begin repeat writeln('Введите координаты точки ',c,' равные одновремено 0'); readln(t.x,t.y); until(t.x<>0)or(t.y<>0); end; procedure ugol(var t:point); begin if(t.x=0)then t.u:=90 else t.u:=arctan(abs(t.y)/abs(t.x))*180/pi; end; var x,y,z,mn:point; begin clrscr; vvod(x,'X'); vvod(y,'Y'); vvod(z,'Z'); ugol(x); ugol(y); ugol(z); if x.u<y.u then mn:=x else mn:=y; if z.u<mn.u then mn:=z; writeln('Минимальный угол=',mn.u:0:2,' координаты точки (',mn.x:0:2,',',mn.y:0:2,')'); readln end.
Объяснение кода листинга программы
- Создаётся тип данных
point
, который представляет собой структуру записи с тремя полями: x, y и u. Поле u является дополнительным и используется для хранения угла между осью абсцисс и лучом, соединяющим начало координат. - Определяется процедура vvod, которая считывает координаты точки от пользователя и проверяет их на допустимость (то есть, что они одновременно равны нулю). Если это условие выполняется, то выводится сообщение об ошибке.
- Определяется процедура ugol, которая вычисляет угол между осью абсцисс и лучом, соединяющим начало координат для заданной точки. Если координата x равна нулю, то угол равен 90 градусов. В противном случае, угол вычисляется с помощью арктангенса.
- Объявляются переменные x, y, z и mn типа point.
- Запускается цикл, который состоит из трех вызовов процедур vvod, ugol и чтения строки. Каждый вызов процедуры vvod считывает координаты точки от пользователя.
- После завершения цикла, вычисляется минимальный угол среди всех точек и сохраняется в переменной mn.
- Выводится сообщение с координатами точки mn.
- Программа завершается с помощью команды readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д