Вывести уравнение прямой по координатам двух точек

ЗАДАЧА

По введенным пользователем координатам двух точек вывести уравнение прямой, проходящей через эти точки.

Общее уравнение прямой имеет вид y = kx + b. Для какой-то конкретной прямой в уравнении коэффициенты k и b заменяются на числа, например, y = 4x — 2. Задача сводится именно к нахождению этих коэффициентов.

Так как координаты точки это значения x и y, то мы имеем два уравнения. Пусть, например, координаты точки А(3;2), а координаты B(-1;-1). Получаем уравнения:
2 = k*3 + b,
-1 = k*(-1) + b.

Решая полученную систему уравнений находим значения k и b:
b = 2 — 3k
-1 = -k + 2 — 3k
4k = 3
k = 3/4 = 0.75
b = 2 — 3 * 0.75 = 2 — 2.25 = -0.25

Таким образом, получается уравнение конкретной прямой, проходящей через указанные точки: y = 0.75x — 0.25.

Вывод общих выражений для вычисления b и k:
| y1 = kx1 + b
| y2 = kx2 + b
b = y2 — kx2
y1 = kx1 + y2 — kx2
k = (y1 — y2) / (x1 — x2)

Алгоритм решения данной задаче на языке программирования будет таков:

  1. Получить значения координат первой точки и присвоить их переменным, например x1 и y1.
  2. Получить значения координат (x2, y2) второй точки.
  3. Вычислить значение k по формуле k = (y1 — y2) / (x1 — x2).
  4. Вычислить значение b по формуле b = y2 — k * x2.
  5. Вывести на экран полученное уравнение.

Pascal


уравнение прямой по двум точкам паскаль

var
x1,y1,x2,y2: real;
k, b: real;

begin
write('A(x1;y1): '); readln(x1, y1);
write('B(x2;y2): '); readln(x2, y2);

k := (y1 - y2) / (x1 - x2);
b := y2 - k * x2;

writeln('y = ',k:0:2,'x + ',b:0:2);
end.



A(x1;y1):
1.2
5.6
B(x2;y2):
-3.45 8.2
y = -0.56x + 6.27

Язык Си


#include

main() {
float x1, y1, x2, y2, k, b;

printf("A(x1;y1): ");
scanf("%f%f", &x1,&y1);
printf("A(x2;y2): ");
scanf("%f%f", &x2,&y2);

k = (y1 - y2) / (x1 - x2);
b = y2 - k * x2;

printf("Уравнение прямой: y = %.2fx + %.2f\n", k, b);
}



A(x1;y1): 5.67 -1.45
A(x2;y2): -3.12 4.00
Уравнение прямой: y = -0.62x + 2.07

Python


уравнение прямой по двум точкам python
уравнение прямой по двум точкам python

print("Координаты точки A(x1;y1):")
x1 = float(input("\tx1 = "))
y1 = float(input("\ty1 = "))

print("Координаты точки B(x2;y2):")
x2 = float(input("\tx2 = "))
y2 = float(input("\ty2 = "))

print("Уравнение прямой, проходящей через эти точки:")
k = (y1 - y2) / (x1 - x2)
b = y2 - k*x2
print(" y = %.2f*x + %.2f" % (k, b))



Координаты точки A(x1;y1):
x1 = 4.3
y1 = -1.2
Координаты точки B(x2;y2):
x2 = -8.5
y2 = 4
Уравнение прямой, проходящей через эти точки:
y = -0.41*x + 0.55

КуМир


алг уравнение_прямой
нач
вещ x1, y1, x2, y2, k, b
вывод "Координаты точки A(x1;y1): "
ввод x1, y1
вывод "Координаты точки B(x2;y2): "
ввод x2, y2
k := (y1 - y2) / (x1 - x2)
b := y2 - k * x2
вывод "Уравнение прямой: y = " + вещ_в_лит(k) + "x + " + вещ_в_лит(b)
кон



Координаты точки A(x1;y1): 4 9
Координаты точки B(x2;y2): -1 -3
Уравнение прямой: y = 2.4x + -0.6

Basic-256


input "x1 = ", x1
input "y1 = ", y1
input "x2 = ", x2
input "y2 = ", y2

k = (y1 - y2) / (x1 - x2)
b = y2 - k * x2

decimal 2
print "y = " + k + "x + " + b



x1 = 7.45
y1 = -1
x2 = -3.4
y2 = 3
y = -0.37x + 1.75

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Pascal

уравнение прямой по двум точкам паскаль

var
x1,y1,x2,y2: real;
k, b: real;

begin
write('A(x1;y1): '); readln(x1, y1);
write('B(x2;y2): '); readln(x2, y2);

k := (y1 - y2) / (x1 - x2);
b := y2 - k * x2;

writeln('y = ',k:0:2,'x + ',b:0:2);
end.



A(x1;y1):
1.2
5.6
B(x2;y2):
-3.45 8.2
y = -0.56x + 6.27
Язык Си

#include

main() {
float x1, y1, x2, y2, k, b;

printf("A(x1;y1): ");
scanf("%f%f", &x1,&y1);
printf("A(x2;y2): ");
scanf("%f%f", &x2,&y2);

k = (y1 - y2) / (x1 - x2);
b = y2 - k * x2;

printf("Уравнение прямой: y = %.2fx + %.2f\n", k, b);
}



A(x1;y1): 5.67 -1.45
A(x2;y2): -3.12 4.00
Уравнение прямой: y = -0.62x + 2.07
Python

уравнение прямой по двум точкам python
уравнение прямой по двум точкам python
print("Координаты точки A(x1;y1):")
x1 = float(input("\tx1 = "))
y1 = float(input("\ty1 = "))

print("Координаты точки B(x2;y2):")
x2 = float(input("\tx2 = "))
y2 = float(input("\ty2 = "))

print("Уравнение прямой, проходящей через эти точки:")
k = (y1 - y2) / (x1 - x2)
b = y2 - k*x2
print(" y = %.2f*x + %.2f" % (k, b))



Координаты точки A(x1;y1):
x1 = 4.3
y1 = -1.2
Координаты точки B(x2;y2):
x2 = -8.5
y2 = 4
Уравнение прямой, проходящей через эти точки:
y = -0.41*x + 0.55
КуМир

алг уравнение_прямой
нач
вещ x1, y1, x2, y2, k, b
вывод "Координаты точки A(x1;y1): "
ввод x1, y1
вывод "Координаты точки B(x2;y2): "
ввод x2, y2
k := (y1 - y2) / (x1 - x2)
b := y2 - k * x2
вывод "Уравнение прямой: y = " + вещ_в_лит(k) + "x + " + вещ_в_лит(b)
кон



Координаты точки A(x1;y1): 4 9
Координаты точки B(x2;y2): -1 -3
Уравнение прямой: y = 2.4x + -0.6
Basic-256

input "x1 = ", x1
input "y1 = ", y1
input "x2 = ", x2
input "y2 = ", y2

k = (y1 - y2) / (x1 - x2)
b = y2 - k * x2

decimal 2
print "y = " + k + "x + " + b



x1 = 7.45
y1 = -1
x2 = -3.4
y2 = 3
y = -0.37x + 1.75