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

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

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

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

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

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

(СПбГУТ)

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

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

(пи и вт)

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

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

Тема: «Циклические вычислительные процессы. Вычисления по рекуррентным формулам»

вариант №20

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

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

Подпись____________

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

Дагаев А.В.

Подпись____________

«_____»________ 2020

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

2020г

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

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

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

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

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

Решаемая задача относится к категории задач формульного счета. В формуле для вычисления величины z удобнее подсчитать сумму в отдельной функции вещественного типа, называемой Sum (рис.2), она получает на вход значения переменных n и x1.

Рис. 2. Функция Sum

В программе должен быть предусмотрен ввод исходных данных, к которым относятся переменные x, n; вычисление z с обращением к функции Sum; вывод результатов значений (вывод значения z).

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

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

N

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

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

Назначение

1

n

n

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

2

x

x

3

k

k

4

z

z

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

5

f

f

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

Программа разработана при помощи среды разработки Microsoft Visual Studio, в которой предоставлены все необходимые библиотеки, заголовки, необходимые компилятором C и C++ для работы в системе Windows, написана на языке C++. Программа собрана при помощи системы сборки компилятор C++ Visual Studio includes a command-line C, набора инструментов .NET Framework 4.5, тестировалась на Windows 10. Были подключены библиотеки iostream и windows.h, для ввода и вывода и управления экраном вывода соответственно, были использованы функции cout, cin и system.

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

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

Рис.3 Результат расчета функции z.

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

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

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

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

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

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

Набор данных

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

x

n

ручных

машинных

z

z

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

15

1.5

0.417

0.417002

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

1

1

0.5

0.5

Рис.4 Результаты выполнения программы

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

#include <iostream>

#include <windows.h>

using namespace std;

float Sum(int *n, float *x1) {

float x = *x1;

float f = 0;

int znak = -1;

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

f = f + znak*k*x / (x*x + k*k);

znak = -znak;

}

return f;

}

void main() {

int n;

float z, x;

system("cls");

cout << "Vvedite n(int) & x(float) = ";

cin >> n >> x;

z = 1 / x + Sum(&n, &x);

cout << "z = " << z << endl;

system("pause");

}

Выводы

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

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

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

3. Научились находим произведение и суммы чисел от k до n, через цикл for().

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