Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 семестр / Лабароторная работа №2 прога

.docx
Скачиваний:
2
Добавлен:
16.05.2023
Размер:
208.45 Кб
Скачать

ФГБОУ ВО

«Уфимский государственный авиационный технический университет»

Кафедра ТК

ОТЧЕТ

по лабораторной работе № 2

по дисциплине «Программирование»

Вариант № 26

Выполнил: студент гр. ИВТ-127Б

Проверил: доцент каф. ТК

Федорова Н.И.

Уфа 2021

Тема работы: Простейшие программы на языке C++

Цель работы: Получение навыков составления и отладки простейших программ на языке С++.

Задачи работы:

  • составить блок-схему алгоритма работы программы;

  • написать программу на языке С++ для простейших математических расчетов;

  • протестировать работоспособность программы для различных исходных данных.

Вариант № 26

Задание:

Даны три положительных числа. Определить, можно ли построить треугольник со сторонами, длины которых равны этим числам. Если возможно, то определить, будет ли он остроугольным.

Выполнение задания:

Задание № 1:

Решение задачи:

  1. Введем переменные:

a, b, c – стороны треугольника;

max – величина большой стороны треугольника;

powsum – сумма квадратов двух меньших сторон треугольника.

  1. Проверяем точно ли пользователь ввел положительные числа.

  2. Если п2 выполнился, проверяем существует ли треугольник с данными сторонами. Для этого должны быть верны следующие неравенства:

  1. Если п3 выполнился, присваиваем переменной max значение большей стороны, а переменной powsum сумму квадратов двух других меньших сторон треугольника:

  1. ИЛИ

  2. ИЛИ

  1. Определяем вид треугольника:

  1. Если выполняется неравенство:

, то треугольник остроугольный.

  1. Если выполняется неравенство:

, то треугольник прямоугольный.

  1. Если не выполнилось ни 1 неравенство, ни 2-ое то треугольник тупоугольный.

Схема алгоритма работы программы:

Текст программы:

#include <iostream>

#include <math.h>

using namespace std;

int main() {

setlocale(0, "");

int a, b, c, max, powsum;

cout << "Проверка существования треугольника по длинам его сторон. Определение вида треугольника "<< endl ;

cout << endl << "Введите три положительных числа" << endl;

cout << "a= ";

cin >> a;

cout << "b= ";

cin >> b;

cout << "c= ";

cin >> c;

if (a>0 && b>0 && c>0)

{

if (a + b > c && a + c > b && b + c > a) {

cout << endl << "Треугольник с данными сторонами существует" << endl;

if (a > b && a > c) {

max = a;

powsum = pow(b, 2) + pow(c, 2);

}

else if (b > a && b > c) {

max = b;

powsum = pow(a, 2) + pow(c, 2);

}

else { max = c;

powsum = pow(b, 2) + pow(a, 2);

}

if (pow(max, 2) < powsum) {

cout << endl << "Вид треугольника - остроугольный " ;

}

else if (pow(max, 2) == powsum) {

cout <<endl << "Вид треугольника - прямоугольный " ;

}

else {

cout << endl << "Вид треугольника - тупоугольный " ;

}

}

else { cout << endl << "Треугольник с данными сторонами не существует"; }

}

else { cout << endl << "Ошибка ввода"; }

return 0;

}

Тестовый пример:

Возьмем треугольник со сторонами 8,9,5.

  1. Проверим верно ли ввел пользователь числа:

8>0, 9>0, 5>0.

  1. Проверим существует ли треугольник с данными сторонами:

8+9>5 17>5

8+5>9 13>9

9+5>8 14>8

  1. Определим максимальную сторону и присвоим powsum сумму квадратов двух других сторон:

max=9

  1. Проверяем какое из неравенств выполняется и определяем вид треугольника:

  1. 81<89

  2. 81=89

  3. 81>89

Выполнилось 1-ое неравенство — значит треугольник остроугольный.

Ответ: Треугольник со сторонами 8,9,5 существует. Вид треугольника – остроугольный.

Вывод: В ходе выполнения работы были получены навыки использования условных операторов, составления и отладки простейших программ на языке С++.