Добавил:
Лабы/курсовые по программированию (С++/Verilog HDL), Теория и Практика Помехоустойчивого Кодирования Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1сем Дагаев / ЛР5 / Отчет

.docx
Скачиваний:
20
Добавлен:
09.03.2022
Размер:
156.93 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет инфокоммуникационных Сетей и систем (иксс)

кафедра программной инженерии и вычислительной техники

(пи и вт)

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

Лабораторная работа №5.

Тема: «Программирование вложенных циклов»

вариант №20

Выполнил: Студент группы ИКВТ-03

Ситников Д.Г.

Подпись____________

Принял: к.т.н, доцент кафедры ПИиВТ

Дагаев А.В.

Подпись____________

«_____»________ 2020

Санкт-Петербург

2020г

Постановка задачи

Требуется составить программу вычисления значений функций

Рис.1 Поставленная задача.

по заданным значениям m, xнач, xкон, n и выполнить вычисления на ЭВМ

Разработка алгоритма

Решаемая задача относится к категории задач формульного счета. В формуле для вычисления величины удобнее использовать отдельные функции для вычисления сумм.

Рис.2 Функции для высчитывания сумм.

В программе должен быть предусмотрен ввод исходных данных, к которым относятся переменные: m, xn, xk, n; вычисления величин y; вывод результатов значений (вывод значений величин y).

Таблица идентификаторов

Табл.1. Таблица идентификаторов

N

Обозначения в задаче

Идентификатор

Назначение

1

m

m

Исходные данные

2

xn

xn

3

xk

xk

4

n

n

5

y

y

Результаты вычислений

6

x

x

Промежуточная величина

7

f

f

8

k

k

9

j

j

Описание программы

Программа разработана при помощи среды разработки 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, sqrt.

Результаты работы программы

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

Рис.3 Результаты расчетов функции y.

Контрольный расчет

Для тестирования программы выбираем контрольный набор исходных данных: m = 15, xn= 1.5, xk = 15 и n = 20.

Расчет, выполненный вручную, дал следующие результаты:

Рис.4 Результаты расчетов функции y.

Таблица вычислений

Табл.2. Таблица вычислений

Назначение набора данных

Набор данных

Результаты вычислений

m

xn

xk

n

Ручных

Машинных

y

y

Контрольный набор данных (тест)

15

1.5

15

20

Рабочий набор данных

10

1

5

15

Текст программы на C++

#include <iostream>

#include <windows.h>

#include <math.h>

using namespace std;

float Sum1(int *m, int n) {

float f = 0;

for (int k = 1; k <= *m; k++) {

f += k*k;

}

return f;

}

float Sum2(int *m, float *x1, int n) {

float f = 0, x = *x1;

for (int j = 1; j <= *m; j++) {

f += pow((2 + x + (j / x)*Sum1(&*m, n)),2);

}

return f;

}

void main() {

int n, m;

float x, y, xn, xk;

setlocale(LC_ALL, "RUS");

system("cls");

cout << "Введите m, xn, xk, n: ";

cin >> m >> xn >> xk >> n;

x = xn;

while (x <= xk) {

y = 2 * x*x + Sum2(&m, &x, n);

y = sqrt(y);

cout << "f (" << x << ") = " << y << endl;

x += ((xk - xn) / n);

}

system("pause");

}

Выводы

В ходе выполнения работы были получены следующие результаты:

1. Изучены алгоритмы написания программ решения задач формульного счета.

2. Программа разработана для вычисления математических функций на языке C++ таких, как нахождения корня числа sqrt(), возведения числа в степень pow().

3. Использование вложенных циклов (в функции с циклом функции с циклом).

Соседние файлы в папке ЛР5