Файл: Лабораторная работа 1 По дисциплине Информатика и программирование.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.04.2024
Просмотров: 12
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДРАСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Факультет дистанционного обучения (ФДО)
Лабораторная работа № 1
По дисциплине «Информатика и программирование»
Выполнила:
Студентка ФДО ТУСУР
Направление подготовки 09.03.04
Киломатова Элина Руслановна
Томск 2022
Индивидуальный вариант №11:
Проверить, принадлежит ли точка с заданными координатами (x, y) заштрихованной области (рисунок 1):
Рисунок 1. Вариант задания
Алгоритм решения задачи
Алгоритм решения задачи представлен в виде блок-диаграммы на рисунке 2.
Рисунок 2. Блок-диаграмма
Текст программы:
#include
#include
#include
void main(int argc, char* argv[])
{ system("chcp 1251"); float x, y; printf("Введите значение x = "); scanf("%f", &x); printf("Введите значение y = "); scanf("%f", &y); if (fabs(x) <= 1.0 && fabs(y) <= -0.5 * x + 1.5) printf("Точка принадлежит заданной области!\n"); else printf("Точка не принадлежит заданной области!\n"); system("pause"); return 0;
}
Результаты тестирования программы:
На рисунках 3-6 представлены экранные формы работы программы.
⦁
При введенных значениях координат x=0, y=0 точка принадлежит заштрихованной области;
⦁
При введенных значениях координат x=0, y=0 точка принадлежит заштрихованной области (рисунок 3);
⦁
При введенных значениях координат x=0,7, y=0,4 точка принадлежит заштрихованной области (рисунок 4);
⦁
При введенных значениях координат x=1,5, y=2 точка не принадлежит заштрихованной области (рисунок 5);
⦁
При введенных значениях координат x=-1,2, y=-1,3 точка не принадлежит заштрихованной области (рисунок 6);
{ system("chcp 1251"); float x, y; printf("Введите значение x = "); scanf("%f", &x); printf("Введите значение y = "); scanf("%f", &y); if (fabs(x) <= 1.0 && fabs(y) <= -0.5 * x + 1.5) printf("Точка принадлежит заданной области!\n"); else printf("Точка не принадлежит заданной области!\n"); system("pause"); return 0;
}
Результаты тестирования программы:
На рисунках 3-6 представлены экранные формы работы программы.
⦁
При введенных значениях координат x=0, y=0 точка принадлежит заштрихованной области;
⦁
При введенных значениях координат x=0, y=0 точка принадлежит заштрихованной области (рисунок 3);
⦁
При введенных значениях координат x=0,7, y=0,4 точка принадлежит заштрихованной области (рисунок 4);
⦁
При введенных значениях координат x=1,5, y=2 точка не принадлежит заштрихованной области (рисунок 5);
⦁
При введенных значениях координат x=-1,2, y=-1,3 точка не принадлежит заштрихованной области (рисунок 6);
Рисунок 3. Точка принадлежит области
Рисунок 4. Точка принадлежит области
Рисунок 5. Точка не принадлежит области
Рисунок 6. Точка не принадлежит области
Пояснение
⦁
Фигура ограничена отрезками по оси X -1 и 1 с координатами слева [-1; -2] и [-1; 2], справа [1; -1] и [1; 1]. Ось Y фигура пересекает под некоторым углом в точке ±1.5.
Уравнение прямой с угловым коэффициентом выглядит, как y=mx+b, где m равняется угловому коэффициенту, а b равняется
координате Y пересечения прямой с осью Y. Зная координаты вычисляем угловой коэффициент, который будет равен ±0.5.
Следовательно уравнение прямой будет иметь вид y=±0.5x±1.5.
⦁
Ответьте на вопрос – почему построенные условия связаны логическим И?
В написанной программе я немного упростил условие, опустив лишние записи, указал, чтобы входные данные рассматривались по модулю числа. Для этого выбрал уравнение прямой y=-
0.5x+1.5. Из-за симметричного расположения фигуры на координатной плоскости любая точка, принадлежащая заданной области с положительным знаком, будет также принадлежать этой области имея отрицательный знак. Логическое И будет проверять условие на истину. Поэтому если оба условия истинны, то следовательно точка с указанными координатами принадлежит заданной области, в противном случае, если хотя бы одно условие ложно, то точка не принадлежит заданной области.
Следовательно уравнение прямой будет иметь вид y=±0.5x±1.5.
⦁
Ответьте на вопрос – почему построенные условия связаны логическим И?
В написанной программе я немного упростил условие, опустив лишние записи, указал, чтобы входные данные рассматривались по модулю числа. Для этого выбрал уравнение прямой y=-
0.5x+1.5. Из-за симметричного расположения фигуры на координатной плоскости любая точка, принадлежащая заданной области с положительным знаком, будет также принадлежать этой области имея отрицательный знак. Логическое И будет проверять условие на истину. Поэтому если оба условия истинны, то следовательно точка с указанными координатами принадлежит заданной области, в противном случае, если хотя бы одно условие ложно, то точка не принадлежит заданной области.