Лабораторная работа 3

advertisement
Лабораторная работа 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
Download