1сем Дагаев / ЛР6 / Отчет
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет инфокоммуникационных Сетей и систем (иксс)
кафедра программной инженерии и вычислительной техники
(пи и вт)
Дисциплина: «Программирование»
Лабораторная работа №6.
Тема: «Организация функций»
вариант №20
Выполнил: Студент группы ИКВТ-03
Ситников Д.Г.
Подпись____________
Принял: к.т.н, доцент кафедры ПИиВТ
Дагаев А.В.
Подпись____________
«_____»________ 2020
Санкт-Петербург
2020г
Постановка задачи
Вычислить значение величины, содержащей несколько однотипных сумм по заданным значениям a, n, m и выполнить вычисления на ЭВМ. Для вычисления сумм написать функцию пользователя.
Рис.1 Поставленная задача.
Разработка алгоритма
Решаемая задача относится к категории задач формульного счета. В формуле для вычисления величины необходимо использовать отдельные функции для вычисления сумм.
Рис.2 Функции для высчитывания сумм.
В программе должен быть предусмотрен ввод исходных данных, к которым относятся переменные: a, n и m; вычисления величины; вывод результата значения.
Таблица идентификаторов
Табл.1. Таблица идентификаторов
N |
Обозначения в задаче |
Идентификатор |
Назначение |
1 |
a |
a |
Исходные данные |
2 |
n |
n |
|
3 |
m |
m |
|
4 |
y |
y |
Результаты вычислений |
5 |
k |
k |
Промежуточная величина |
Описание программы
Программа разработана при помощи среды разработки Microsoft Visual Studio, в которой предоставлены все необходимые библиотеки, заголовки, необходимые компилятором C и C++ для работы в системе Windows, написана на языке C++. Программа собрана при помощи системы сборки компилятор C++ Visual Studio includes a command-line C, набора инструментов .NET Framework 4.5, тестировалась на Windows 10. Были подключены библиотеки iostream, windows.h, math.h; были использованы функции cout, cin, system, pow.
Результаты работы программы
Далее предоставлены результаты выполнения программы с выбранным для тестирования контрольным набором исходных данных.
Рис.3 Результаты расчетов функции y.
Контрольный расчет
Для тестирования программы выбираем контрольный набор исходных данных: a = 5, n = 10, m = 15.
Расчет, выполненный вручную, дал следующие результаты:
Рис.4 Результаты расчетов функции y.
Таблица вычислений
Табл.2. Таблица вычислений
Назначение набора данных |
Набор данных |
Результаты вычислений |
||||
a |
n |
m |
Ручных |
Машинных |
|
|
y |
y |
|
||||
Контрольный набор данных (тест) |
5 |
10 |
15 |
|
|
|
Рабочий набор данных |
10 |
5 |
20 |
|
|
|
Текст программы на C++
#include <iostream>
#include <windows.h>
#include <math.h>
using namespace std;
float Sum1(int *n) {
float f = 0;
for (int k = 2; k <= *n; k++)
f += 2 * pow(k, 3) + 1;
return f;
}
float Sum2(int *m, float *a) {
float f = 0;
for (int k = 1; k <= *m; k++)
f += pow(k, 3) + *a;
return f;
}
void main() {
int n, m;
float a, y;
setlocale(LC_ALL, "RUS");
system("cls");
cout << "Введите a, n, m: ";
cin >> a >> n >> m;
y = (a + Sum1(&n)) / (2 + Sum2(&m, &a));
cout << y << endl;
system("pause");
}
Выводы
В ходе выполнения работы были получены следующие результаты:
1. Изучены алгоритмы написания программ решения задач формульного счета.
2. Программа разработана для вычисления математических функций на языке C++ таких, как возведения числа в степень pow().
3. Использование функций для раздельного счета сумм.