Программирование условий
Автор: Maia4 • Май 9, 2024 • Лабораторная работа • 824 Слов (4 Страниц) • 67 Просмотры
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ИВАНОВСКИЙ ГОСУДАРСТВЕННЫЙ ЭНЕРГЕТИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ В.И. ЛЕНИНА»
Кафедра Систем управления
ОТЧЁТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 1
по дисциплине «Программирование и основы алгоритмизации»
на тему
«Программирование условий»
Вариант №6
Выполнила: Майновская М.Е.
студентка группы 1-43
Проверил: старший преподаватель
Наумов Ю.В.
Иваново 2022
СОДЕРЖАНИЕ
Цель работы………………………………………………………………………………………3
Условие задачи ……………………………………………………………………………….….3
Анализ задачи………….………………………………………………………………....……....3
Алгоритм решения задачи………………………………………………………………...….…4
Программа………………………………………………………………………………………..5
Результаты программы………………………………………………………….…………….…6
Вывод……………………………………………………………………………………………..6
Цель работы
В ходе изучения темы 1 «Программирование условий» решить задачу с помощью выбора путей решения, научиться пользоваться условиями.
Условие задачи
Треугольник – из отрезков. Даны числа l1, a1, l2, a2, l3, a3, определяющие соответственно длины трех отрезков прямых и углы их наклона к оси абсцисс Ox. Выяснить, можно ли из этих отрезков построить треугольник путем их параллельного переноса по координатной плоскости.
Анализ задачи
Вернёмся в планиметрию и вспомним, что параллельным переносом называют преобразование, при котором каждая точка фигуры перемещается в одном и том же направлении и на одно и то же расстояние. Для того, чтобы задать перенос, достаточно задать вектор.
При высчитывании координат векторов по оси Ох мы пользуемся формулой:
Px = l * cos (a*pi/180)
При высчитывании координат векторов по оси Оy мы пользуемся формулой:
Py = l * sin (a*pi/180)
Введем начальные значения отрезков и по формулам определим координаты векторов через косинус и синус, далее с помощью комбинаторики проверяем все возможные варианты расположения векторов в пространстве и сравниваем их сумму с 0. Если и для координаты x, и для координаты y сумма будет равна 0, то это будет означать, что треугольник будет существовать, так как в этом подходе убираем те случаи, когда по длине сторон треугольник может построится, но из-за углов наклона отрезков это невозможно
Алгоритм решения задачи
[pic 1][pic 2][pic 3]
Программа
#include<locale.h>
#include <stdio.h>
#include <math.h>
#include <Windows.h>
int _Cycle;
float l, a, x1, x2, x3, y4, y2, y3; // y4 используется вместо y1 т.к. за y1 закреплена одна из глобальных функций.
const float pi = 3.14159265358979323846;
int main()
{
setlocale(LC_CTYPE, ""); //Русский язык в консоли.
do
{
printf("Введите длину и угол наклона первого отрезка: \n"); // Ввод l1, a1. Определение через косинус и синус координат (x1, y4(y1)) вектора.
...