| Номер теста
| Проверяемый
случай
| Коэффициенты прямых
| Результаты
|
| a1
| b1
| c1
| a2
| b2
| c2
|
|
| Первая прямая не существует
|
|
|
|
|
|
| Это не прямая
|
|
| Вторая прямая не существует
|
|
|
|
|
|
| Это не прямая
|
|
| Все коэффициенты одной или обеих прямых равны нулю
|
|
|
|
|
|
| Это не прямая (прямые)
|
|
| Коэффициенты попарно равны
|
|
|
|
|
|
| Прямые совпадают
|
|
| Коэффициенты попарно пропорциональны
|
|
|
|
|
|
| Прямые совпадают
|
|
| Прямые параллельны
|
|
| -1
|
|
|
| Прямые параллельны
|
|
| Прямые пересекаются
|
|
| -4
|
| -2
|
| x=1.50, y=1.25
|
Демонстрация
Начало формы
Конец формы
Школьный АЯ
Алг Пересечение (арг вещ a1, b1, c1, a2, b2, c2,
Рез вещ x, y, рез лит t)
Нач
если (a1 = 0 и b1 = 0) или ( a2 = 0 и b2 = 0)
то t := "Это не прямая (прямые)"
иначе если (a1*b2 = a2*b1) и (a1*c2 = a2*c1)
то t := "Прямые совпадают"
иначе если a1*b2 = a2*b1
то t := "Прямые параллельны"
иначе x := (c1*b2-c2*b1)/(b1*a2-b2*a1)
y := (c2*a1-c1*a2)/(b1*a2-b2*a1)
Все
Все
Все
Кон
Turbo Pascal
Program Intersection;
Uses Crt; {подключение библиотеки Crt }
Var a1, b1, c1, {коэффициенты уравнения первой прямой}
a2, b2, c2, {коэффициенты уравнения второй прямой}
x, y : Real; {координаты точки пересечения }
Test, NTest : Integer;
BEGIN
ClrScr; {очистка экрана}
Write('Введите количество тестов : ');
ReadLn(NTest);
For Test := 1 to NTest do {цикл по всем тестам задачи}
Begin
Write('Тест ', Test, '. Введите a1, b1, c1 : ');
ReadLn( a1, b1, c1);
Write(' Введите a2, b2, c2 : ');
ReadLn( a2, b2, c2);
WriteLn; Write('О т в е т : ');
If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) )
Then WriteLn( 'это не прямая (прямые). ' )
Else
if (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}