celochisl.PAS

{* Целые точки *}

Unit CELOCHISL;
Interface
Implementation
Begin
 writeln('Все целочисленные координаты точек, лежащих на данном отрезке');
End.

Program z1;

Uses celochisl.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Var {* В работе нам потребуются переменные: *}
  x1 : longint;
  x2 : longint;
  y1 : longint;
  y2 : longint;
  i  : longint;
  j  : longint;
  m  : longint;
  n  : longint;
  k  : longint;
  l  : longint;
  s  : integer;
Begin
  clrscr; {* Стираем всё с экрана *}
  readln(x1);
  readln(y1);
  readln(x2);
  readln(y2);
  If x1 > x2 Then
  Begin
    m := x2;
    n := x1;
  End;
  Else Begin
    m := x1;
  n := x2;
End;
If y1 > y2 Then
Begin
  k := y2;
  l := y1;
End;
Else Begin
  k := y1;
l := y2;
End;
For i := m To n Do {* Переменная i увеличивается с m до n *}
  For j := k To l Do {* Переменная j увеличивается с k до l *}
    If (i - x1) * (y2 - y1) = (j - y1) * (x2 - x1) Then
      s := s + 1;
writeln(s - 2);
readkey; {* Ждем нажатия пользователя *}
End....