Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Две прямые описываются уравнениями




a1 x + b1 y + c1 = 0;

a2 x + b2 y + c2 = 0.

Напечатать координаты точки пересечения этих прямых, либо сообщить, что эти

Прямые совпадают, не пересекаются или вовсе не существуют.

Система тестов

Номер теста Проверяемый случай Коэффициенты прямых Результат
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) {условие совпадения}

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;

ReadLn;

END.

Результаты работы Pascal-программы:






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных