Таблица - Система тестов
Номер теста | Проверяемый случай | Коэффициенты прямых | Результаты | |||||
a1 | b1 | c1 | a2 | b2 | c2 | |||
Первая прямая не существует | Это не прямая | |||||||
Вторая прямая не существует | Это не прямая | |||||||
Все коэффициенты одной или обеих прямых равны нулю | Это не прямая (прямые) | |||||||
Коэффициенты попарно равны | Прямые совпадают | |||||||
Коэффициенты попарно пропорциональны | Прямые совпадают | |||||||
Прямые параллельны | -1 | Прямые параллельны | ||||||
Прямые пересекаются | -4 | -2 | x=1.50, y=1.25 |
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) then WriteLn( 'прямые совпадают.' ) else if a1*b2 = a2*b1 then WriteLn('прямые параллельны.') else begin x:=(c1*b2-c2*b1)/(b1*a2-b2*a1); y:=(c2*a1-c1*a2)/(b1*a2-b2*a1); WriteLn('координаты точки пересечения : x = ', x : 5 : 2 , ', y = ', y : 5 : 2); end; WriteLn end; ReadLnEND.
Результаты работы Pascal-программы:
Введите количество тестов : 7 Тест 1. Введите a1, b1, c1 : 0 0 1 <Enter> Введите a2, b2, c2 : 1 2 2 <Enter> О т в е т : это не прямая (прямые). Тест 2. Введите a1, b1, c1 : 1 2 2 <Enter> Введите a2, b2, c2 : 0 0 1 <Enter> О т в е т : это не прямая (прямые). Тест 3. Введите a1, b1, c1 : 0 0 0 <Enter> Введите a2, b2, c2 : 1 2 1 <Enter> О т в е т : это не прямая (прямые). Тест 4. Введите a1, b1, c1 : 1 2 1 <Enter> Введите a2, b2, c2 : 1 2 1 <Enter> О т в е т : прямые совпадают. Тест 5. Введите a1, b1, c1 : 1 2 1 <Enter> Введите a2, b2, c2 : 2 4 2 <Enter> О т в е т : прямые совпадают. Тест 6. Введите a1, b1, c1 : 2 3 -1 <Enter> Введите a2, b2, c2 : 4 6 1 <Enter> О т в е т : прямые параллельны. Тест 7. Введите a1, b1, c1 : 1 2 -4 <Enter> Введите a2, b2, c2 : 1 -2 1 <Enter> О т в е т : координаты точки пересечения : x = 1.50, y = 1.25 |