Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая вычислит, сколько всего точек с целочисленными коорд - Turbo Pascal
Формулировка задачи:
Решение задачи: «Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая вычислит, сколько всего точек с целочисленными коорд»
uses crt; const t=10e-10; var x1,y1,x2,y2,x,y,kol:integer; k,b:real; begin clrscr; writeln('Введите координаты начала отрезка, целые числа'); readln(x1,y1); writeln('Введите координаты конца отрезка, целые числа'); readln(x2,y2); if(x1=x2)and(y1=y2) then k:=1 {если отрезок вырожденный} else if x1=x2 then kol:=abs(y2-y1)+1{если горизонтальный} else if y1=y2 then kol:=abs(x2-x1)+1{если вертикальный} else {иначе} begin if x1>x2 then{определим начало и конец по оси Х} begin x:=x1; x1:=x2; x2:=x; end; kol:=0;{количество точек с целыми координатами} {определим коэффициенты уравнения прямой y=kx+b} k:=(y2-y1)/(x2-x1); b:=y2+x2*k; {проверим все точки по Х} for x:=x1 to x2 do {если вычисленное значение дробной части практически=0, то целое} if abs(frac(k*x+b))<t then kol:=kol+1; end; write('Количество точек с целыми коoрдинатами=',kol); readln end.
Объяснение кода листинга программы
В данном коде используется язык программирования Turbo Pascal. Программа запрашивает у пользователя координаты начала и конца отрезка, а затем проверяет, является ли отрезок вырожденным или горизонтальным, вертикальным или нет. Если отрезок вырожденный, программа присваивает переменной k значение 1. Если отрезок горизонтальный или вертикальный, программа присваивает переменной k абсолютное значение разности координат по оси Y и вычисляет значение переменной b. Затем программа проверяет все точки на отрезке по оси X и увеличивает значение переменной kol на единицу, если дробная часть вычисленного значения равна нулю. В конце программа выводит на экран количество точек с целыми координатами.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д