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

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

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

ФГБОУ ВО

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

Кафедра ТК

ОТЧЕТ

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

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

Вариант № 26

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

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

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

Уфа 2021

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

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

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

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

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

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

Вариант № 26

Задание:

Треугольник задан координатами своих вершин на плоскости. Найти высоты треугольника.

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

Задание № 1:

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

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

Ax, Ay – координаты вершины A;

Bx, By – координаты вершины B;

Cx, Cy – координаты вершины C;

AB, AC, BC – стороны треугольника;

p – полупериметр треугольника;

S – площадь треугольника;

Hab, Hac, Hbc – высоты треугольника.

  1. Рассчитаем стороны треугольника по формуле:

  1. Рассчитаем полупериметр по формуле:

  1. Рассчитаем площадь по формуле Герона:

  1. Рассчитаем высоты по формуле:

  1. Округлим ответ до целых.

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

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

#include <iostream>

#include <math.h>

using namespace std;

int main() {

setlocale(0, "");

int Ax, Ay, Bx, By, Cx, Cy;

cout << "Введите целочисленные координаты x,y вершины A ";

cin >> Ax >> Ay;

cout << "Введите целочисленные координаты x,y вершины B ";

cin >> Bx >> By;

cout << "Введите целочисленные координаты x,y вершины C ";

cin >> Cx >> Cy;

float AB, AC, BC;

//находим длину стороны AB

AB = sqrt(pow(Bx - Ax, 2) + pow(By - Ay, 2));

//находим длину стороны AC

AC = sqrt(pow(Cx - Ax, 2) + pow(Cy - Ay, 2));

//находим длину стороны BC

BC = sqrt(pow(Cx - Bx, 2) + pow(Cy - By, 2));

float p, S;

//находим по формуле Герона площадь

p = (AB + AC + BC) / 2;

S = sqrt(p * (p - AB) * (p - AC) * (p - BC));

//выражаем высоты треугольника

float Hab, Hac, Hbc;

Hab = round(2 * S / AB);

Hac = round(2 * S / AC);

Hbc = round(2 * S / BC);

cout << "Высота проведенная к стороне AB " << Hab << endl;

cout << "Высота проведенная к стороне AC " << Hac << endl;

cout << "Высота проведенная к стороне BC " << Hbc << endl;

}

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

Возьмем треугольник с координатами вершин A (-2,4), B (-3,1), C (-1,1).

  1. Вычислим стороны этого треугольника:

  1. Вычислим полупериметр:

  1. Вычислим площадь по формуле Герона:

.

  1. Вычислим высоты треугольника:

Ответ: Высоты треугольника равны 2, 2, 3.

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

Контрольные вопросы:

  1. Что делает строка программы # include <iostream.h>?

Директива include используется для подключения внешнего файла <iostream.h> для поддержки системы вывода и ввода.

  1. В чем особенность функции main ( )?

Выполнение программы начинается со специальной стартовой функции main. Функция main обязательно должна быть определена в программе, модуль с этой функцией обозначается главным.

  1. Что обозначают имена cin, cout и для чего они используются? Тогда как cout выводит данные в консоль с помощью оператора вывода «, cin получает данные от пользователя с помощью оператора ввода ».

  2. Каково назначение операций “>>” и “<<”?

"»" - "оператор сдвига влево"

" «" - "оператор сдвига вправо"

  1. Что такое условие и как формируются сложные условия?

Условия – это некоторые логические функции принимающие значения ИСТИНА или ЛОЖЬ. Сложные условия образуются путем соединения простых с помощью операций: И, ИЛИ, НЕ.

  1. Каково назначение оператора if? Каковы его формы?

Условный оператор if обеспечивает выполнение оператора или группы операторов в зависимости от заданных условий. Если условие выполнится, то начнется выполнение всех команд, которые находятся между фигурными скобками. Каждому оператору if соответствует только один оператор else. Совокупность этих операторов — else if означает, что если не выполнилось предыдущее условие, то проверить данное. Если ни одно из условий не верно, то выполняется тело оператора else.