Задача 2 Урок 16
Primary tabs
Вспомогательная задача (можно решить, просто используя одномерные массивы):
Пользователь вводит 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. - Log in to post comments
- 903 reads