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

Напечатать координаты точки пересечения этих прямых, либо сообщить, что эти прямые совпадают, не пересекаются или вовсе не 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

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

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] Стартовый номер участника соревнований по автомотоспорту определяется на квалификационных заездах. При этом фиксируется время начала и конца прохождения так называемого "быстрого" круга (часы, минуты, секунды). Проверьте, корректно ли зафиксированы данные участника, и найдите время прохождения им "быстрого" круга.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: