Задача 2 Урок 16

Задача 2 Урок 16:

Вспомогательная задача (можно решить, просто используя одномерные массивы):
Пользователь вводит 4 целых числа, считаем все их координатами на прямой, а именно:
-первые два числа - начало и конце отрезка 1
-вторые два - начало и конец отрезка 2
Задача: напишите подпрограмму, которая определит пересекаются ли данные отрезки.

program u16z2;
type
  massiv=array [1..2] of integer;
var
  i,j:integer;
  a,b:massiv;
  q:boolean;
function f1 (a,b: massiv): boolean;    //проверяем общие точки
var
  i,j,n,m:integer;
  q:boolean;
begin
  q:=false;
  if a[1]>a[2] then
  begin
    n:=a[1];
    a[1]:=a[2];
    a[2]:=n;
  end;
  if b[1]>b[2] then
  begin
    m:=b[1];
    b[1]:=b[2];
    b[2]:=m;
  end;
  for i:=a[1] to a[2] do
  begin
    for j:=b[1] to b[2] do
      if i = j then
      begin
        q:= true;
        break;
      end;
    if q = true then
    break;
  end;
  result:=q;
end;
begin
  writeln('Vvedite tochki 1 otrezka');
  for i:=low(a) to high(a) do
    readln(a[i]);
  writeln('Vvedite tochki 2 otrezka');
  for j:=low(b) to high(b) do
    readln(b[j]);
  q:=f1(a,b);
    if q=true then
      writeln('+')
    else
      writeln('-');
  readln();
end.