Процедура для нахождения точки пересечения двух прямых - Pascal

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

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

составить процедуру для нахождения точки пересечения двух прямых.Найти попарно точки пересечения прямых a1x+b1y+c1=0;a2x+b2y+c2=0 и a3x+b3y+c3=0.в процедуре предусмотреть случай параллельности и совпадения прямых

Решение задачи: «Процедура для нахождения точки пересечения двух прямых»

textual
Листинг программы
uses crt;
procedure Peres(a1,b1,c1,a2,b2,c2:integer; var x,y:real);
begin
if a1*b2-a2*b1=0 then writeln('Прямые параллельны или совпадают!')
else
 begin
  x:=(c2*b1-c1*b2)/(a1*b2-a2*b1);
  y:=(a2*c1-a1*c2)/(a1*b2-a2*b1);
 end;
end;
var a1,b1,c1,a2,b2,c2,a3,b3,c3:integer;
    x,y:real;
begin
clrscr;
writeln('Введите коэффициенты первой прямой:');
readln(a1,b1,c1);
writeln('Введите коэффициенты второй прямой:');
readln(a2,b2,c2);
writeln('Введите коэффициенты третьей прямой:');
readln(a3,b3,c3);
writeln('Точка пересечения прямых 1 и 2:');
Peres(a1,b1,c1,a2,b2,c2,x,y);
writeln('x=',x:0:2,'  y=',y:0:2);
writeln('Точка пересечения прямых 1 и 3:');
Peres(a1,b1,c1,a3,b3,c3,x,y);
writeln('x=',x:0:2,'  y=',y:0:2);
writeln('Точка пересечения прямых 2 и 3:');
Peres(a2,b2,c2,a3,b3,c3,x,y);
writeln('x=',x:0:2,'  y=',y:0:2);
readln
end.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека crt, которая предоставляет функции для работы с консолью.
  2. Затем объявляются переменные a1, b1, c1, a2, b2, c2, a3, b3, c3: integer; и переменные x, y: real;
  3. Далее идет блок clrscr, который очищает экран консоли.
  4. После этого пользователю предлагается ввести коэффициенты для первой, второй и третьей прямых.
  5. Затем вызывается процедура Peres, которая принимает коэффициенты первой и второй прямых, а также переменные a1, b1, c1, a2, b2, c2, a3, b3, c3: integer; и переменные x, y: real; в качестве параметров.
  6. Внутри процедуры Peres выполняется проверка на равенство нулю выражения a1b2-a2b1. Если это выражение равно нулю, то выводится сообщение о том, что прямые параллельны или совпадают.
  7. Если же выражение не равно нулю, то вычисляются значения x и y по формулам x=(c2b1-c1b2)/(a1b2-a2b1) и y=(a2c1-a1c2)/(a1b2-a2b1).
  8. После выполнения процедуры Peres выводятся значения x и y с помощью функции writeln.
  9. Конец программы оформлен в виде блока readln, который позволяет пользователю вводить данные для следующих вычислений.

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


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

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

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