Лабораторная работа 3. Условный оператор в языке С. Задание: 1 Даны три точки на плоскости: A (x1, y1), B (x2, y2), C (x3, y3). Составьте программу, которая проверяет, находится ли точка с координатами X, Y внутри треугольника ABC. Координаты точки X и Y вводятся пользователем с клавиатуры. Все переменные (x1, x2, x3, x, y1, y2, y3, y) имеют тип double. 2 Написать программу, которая вводит координаты точки (x, y) (тип double) и определяет, попадает ли точка в заштрихованную область на рисунке. Попадание на границу области считать попаданием в область. 3 Дан отрезок с начальными координатами X1, Y1 и конечными X2, Y2 (тип double). Составьте программу, проверяющую лежит ли точка с координатами X, Y на отрезке. Координаты X1, X2, Y1, Y2, X, Y – вводятся пользователем с клавиатуры. 4 Пользователь вводит с клавиатуры координаты трех точек: A (x1, y1), B (x2, y2), C (x3, y3). Составьте программу, выводящую на экран координаты той точки, которая расположена ближе всех к центру координат (0, 0), и длину до него. Переменные, хранящие координаты точек имеют тип double. 5 Значения трех переменных a, b и c (тип double) вводятся с клавиатуры. Написать программу, которая будет находить и выводить на экран вещественные корни квадратного уравнения ax²+bx+c=0, либо сообщать, что корней нет. Теория для тех, кто не учил математику в школе: http://ru.wikipedia.org/wiki/Квадратное_уравнение 6 Пользователь вводит с клавиатуры параметры двух окружностей на плоскости: координаты центра X, Y и радиус R. Составьте программу, проверяющую и сообщающую на экран пересекаются ли эти окружности или нет. Все переменные имеют тип double. 7 На некотором предприятии инженер Петров создал устройство, на табло которого показывается количество секунд, оставшихся до конца рабочего дня. Когда рабочий день начинается ровно в 9 часов утра — табло отображает «28800» (т.е. остаётся 8 часов), когда времени 14:30 — на табло «9000» (т.е. остаётся два с половиной часа), а когда наступает 17 часов — на табло отображается «0» (т.е. рабочий день закончился). Программист Иванов заметил, как страдают офисные сотрудницы — им неудобно оценивать остаток рабочего дня в секундах. Иванов вызвался помочь сотрудницам и написать программу, которая вместо секунд будет выводить на табло понятные фразы с информацией о том, сколько полных часов осталось до конца рабочего дня. Например: «осталось 7 часов», «осталось 4 часа», «остался 1 час», «осталось менее часа». Итак, в переменную n должно записываться случайное (на время тестирования программы) целое число из [0;28800], далее оно должно выводиться на экран (для Петрова) и на следующей строке (для сотрудниц) должна выводиться фраза о количестве полных часов, содержащихся в n секундах. Примеры работы программы: 23466 Осталось 6 часов 10644 Осталось 2 часа 5891 Остался 1 час 1249 Осталось менее часа 8 Написать программу, которая вводит координаты точки (x, y) (тип double) и определяет, попадает ли точка в заштрихованную область на рисунке. Попадание на границу области считать попаданием в область. 9 Дана окружность радиуса R (тип double) и координаты начального α1 и конечного угла α2 сектора окружности (тип double). Пользователь вводит с клавиатуры координаты точки в полярных координатах (расстояние ρ и угол Ω) (тип double). Написать программу, которая определяет попадает ли точка в сектор окружности. 10 Написать программу, которая вводит координаты точки (x, y) (тип double) и определяет, попадает ли точка в заштрихованную область на рисунке. Попадание на границу области считать попаданием в область. 11 Составьте программу решения кубического уравнения вида 𝑎𝑥 3 + 𝑏𝑥 2 + 𝑐𝑥 + 𝑑 = 0 В зависимости от количества действительных корней, программа должна выводить их, либо сообщать, что корнями уравнения являются комплексно сопряженных числа и один действительный (его надо вывести). Подсказка: http://www.integraloff.net/kub_urav/index.php 12 Пользователь вводит с клавиатуры координаты 4-х точек: A (x1, y1), B (x2, y2), C (x3, y3), D(x4, y4). Составьте программу, проверяющую и сообщающую на экран, лежат ли эти точки на одной окружности. 13 Написать программу, которая вводит координаты точки (x, y) (тип double) и определяет, попадает ли точка в заштрихованную область на рисунке. Попадание на границу области считать попаданием в область. 14 Пользователь вводит с клавиатуры координаты 3-х точек: A (x1, y1), B (x2, y2), C (x3, y3). Составьте программу, проверяющую и сообщающую на экран, лежат ли эти точки на одной прямой. 15 В три переменные a, b и c (тип double) явно записаны программистом три попарно неравных между собой числа. Создать программу, которая переставит числа в переменных таким образом, чтобы при выводе на экран последовательность a, b и c оказалась строго возрастающей. Например: Числа в переменных a, b и c: 3, 9, -1 Возрастающая последовательность: -1, 3, 9 Числа в переменных a, b и c: 2, 4, 3 Возрастающая последовательность: 2, 3, 4 Числа в переменных a, b и c: 7, 0, -5 Возрастающая последовательность: -5, 0, 7