Напечатать координаты точки пересечения этих прямых, либо сообщить, что эти прямые совпадают, не пересекаются или вовсе не cуществуют.
Две прямые описываются уравнениями
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
Результаты работы 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 |
QBasic
CLSINPUT "Введите количество тестов: ", NTestFOR Test = 1 TO NTest ' цикл по всем тестам задачи PRINT "Тест"; Test; INPUT ". Введите a1, b1, c1: ", a1, b1, c1 INPUT " Введите a2, b2, c2: ", a2, b2, c2 PRINT: PRINT "О т в е т: "; IF (a1 = 0) AND (b1 = 0) OR (a2 = 0) AND (b2 = 0) THEN PRINT "это не прямая (прямые)." ELSE IF (a1*b2=a2*b1) AND (a1*c2=a2*c1) THEN PRINT "прямые совпадают." ELSE IF a1*b2 = a2*b1 THEN PRINT "прямые параллельны." ELSE x=(c1*b2 - c2*b1) / (b1*a2 - b2*a1) y=(c2*a1 - c1*a2) / (b1*a2 - b2*a1) PRINT "координаты точки пересечения: x="; x; ", y="; y END IF END IF END IF PRINTNEXT TestENDЗадачи для самостоятельного решения
1.1. [Pascal | C | Basic] Вычислите длину окружности, площадь круга и объём шара одного и того же заданного радиуса.
1.2. [Pascal | C | Basic] Вычислите периметр и площадь прямоугольного треугольника по длинам двух его катетов.
1.3. [Pascal | C | Basic] По координатам трёх вершин некоторого треугольника найдите его площадь и периметр.
1.4. [Pascal | C | Basic] Вычислите дробную часть среднего геометрического трёх заданных вещественных чисел.
1.5. [Pascal | C | Basic] Определите, является ли заданное целое число А нечётным двузначным числом.
1.6. [Pascal | C | Basic] Определите, имеется ли среди заданных целых чисел A, B, C хотя бы одно чётное.
1.7. [Pascal | C | Basic] Даны три числа. Выберите те из них, которые принадлежат заданному отрезку [ e, f ].
1.8. [Pascal | C | Basic] Определите число, полученное выписыванием в обратном порядке цифр заданного целого трёхзначного числа.
1.9. [Pascal | C | Basic] Для заданных вещественных чисел a, b и c определите, имеет ли уравнение ax2 + bx + c = 0 хотя бы одно вещественное решение.
1.10. [Pascal | C | Basic] Вычислите площадь кольца, ширина которого равна Н, а отношение радиуса большей окружности к радиусу меньшей окружности равно D.
1.11. [Pascal | C | Basic] Определите, есть ли среди цифр заданного целого трёхзначного числа одинаковые.
1.12. [Pascal | C | Basic] Заданы площади круга и квадрата. Определите, поместится ли квадрат в круге.
1.13. [Pascal | C | Basic] Для задачи 1.12 определите, поместится ли круг в квадрате.
1.14. [Pascal | C | Basic] Заданы координаты двух точек. Определите, лежат ли они на одной окружности с центром в начале координат.
1.15. [Pascal | C | Basic] Определите, лежит ли заданная точка на одной из сторон треугольника, заданного координатами своих вершин.
1.16. [Pascal | C | Basic] Проверьте, можно ли построить треугольник из отрезков с длинами x, y, z и, если можно, то какой - остроугольный, прямоугольный или тупоугольный.
1.17. [Pascal | C | Basic] Проверьте, можно ли построить параллелограмм из отрезков с длинами x, y, v, w.
1.18. [Pascal | C | Basic] Даны координаты (как целые от 1 до 8) двух полей шахматной доски. Определите, может ли конь за один ход перейти с одного из этих полей на другое.
1.19. [Pascal | C | Basic] Треугольник задан величинами своих углов (град.) и радиусом описанной окружности. Вычислите стороны треугольника.
1.20. [Pascal | C | Basic] Смешали v1 литров воды с температурой t1 градусов Цельсия с v2 литрами воды с температурой t2 градусов Цельсия. Вычислите объем и температуру образовавшейся смеси.
1.21. [Pascal | C | Basic] Выберите наибольшее из трех заданных чисел.
1.22. [Pascal | C | Basic] Два прямоугольника заданы длинами сторон. Определите, можно ли первый прямоугольник целиком разместить во втором.
1.23. [Pascal | C | Basic] Значения заданных переменных a, b и c перераспределите таким образом, что a, b, c станут, соответственно, наименьшим, средним и наибольшим значениями.
1.24. [Pascal | C | Basic] Решите линейное уравнение ax = b.
1.25. [Pascal | C | Basic] Решите биквадратное уравнение ax4 + bx2 + c = 0.
1.26. [Pascal | C | Basic] Определите номер квадранта, в котором находится точка с заданными координатами (x, y).
1.27. [Pascal | C | Basic] Запишите заданное смешанное число в виде неправильной дроби.
1.28. [Pascal | C | Basic] Определите, пройдет ли кирпич с рёбрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его рёбер было параллельно или перпендикулярно каждой из сторон отверстия.
1.29. [Pascal | C | Basic] Идет k -ая секунда суток. Определитe, сколько полных часов и полных минут прошло к этому моменту от начала суток.
1.30.* [Pascal | C | Basic] Найдите центр и радиус окружности, проходящей через три заданные точки на плоскости.
1.31.* [Pascal | C | Basic] Даны четыре точки на плоскости. Определите, можно ли построить треугольник с вершинами в этих точках такой, что оставшаяся точка окажется внутри треугольника.
1.32.* [Pascal | C | Basic] Определите, имеют ли общие точки две плоские фигуры - треугольник с заданными координатами его вершин и круг радиусом R c центром в начале координат.
1.33. [Pascal | C | Basic] В кубический, наполненный до краев аквариум со стороной а метров выпустили рыбу-шар диаметром b см. Вычислите, сколько процентов от первоначального объема воды выплеснется из аквариума (хвост и плавники рыбы не учитывайте).
1.34. [Pascal | C | Basic] Станции А, B и C расположены на n -м, m -м и p -м километрах железной дороги, соответственно. Какие из этих станций расположены наиболее близко друг к другу?
1.35. [Pascal | C | Basic] На карте координаты начала и конца строящегося прямолинейного участка шоссе обозначены как (x 1, y 1) и (x 1, y 2). Карьер, откуда можно брать гравий для стройки, имеет координаты (x 0, y 0), причем x 0 <> x 1. Определите минимальное расстояние от строящегося участка шоссе до карьера.
1.36. [Pascal | C | Basic] Составьте программу, играющую со своим автором в "Орел или решку".
1.37*. [Pascal | C | Basic] Любитель горнолыжного спорта собирается провести свой недельный отпуск на одном из трех курортов. Курорт А открыт с начала ноября по конец апреля, но из-за лавинной опасности его закрывают на весь январь. Курорт В открыт с начала декабря по конец марта. Его закрывают на соревнования с 1 по 15 февраля. Курорт С постоянно открыт с начала октября по конец мая. Стоимость отдыха на каждом из курортов, включая проезд, составляет, соответственно, P1, P2 и P3 рублей. По дате начала отпуска определите, сможет ли он провести свой отпуск в горах, и какой минимальной суммой он должен располагать.
1.38*. [Pascal | C | Basic] Стартовый номер участника соревнований по автомотоспорту определяется на квалификационных заездах. При этом фиксируется время начала и конца прохождения так называемого "быстрого" круга (часы, минуты, секунды). Проверьте, корректно ли зафиксированы данные участника, и найдите время прохождения им "быстрого" круга.