Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая вычислит, сколько всего точек с целочисленными коорд - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая вычислит, сколько всего точек с целочисленными координатами принадлежат этому отрезку.

Решение задачи: «Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая вычислит, сколько всего точек с целочисленными коорд»

textual
Листинг программы
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 на единицу, если дробная часть вычисленного значения равна нулю. В конце программа выводит на экран количество точек с целыми координатами.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы