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

лабы / Laba_varik12_8

.1.pdf
Скачиваний:
8
Добавлен:
10.06.2023
Размер:
742.48 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Информатика»

Лабораторная работа №8 – Проект 1

«Разработка проекта, решающего задачу построения таблицы значений функции одной переменной»

по теме:

«Циклические алгоритмические структуры. Регулярные циклические структуры и их программная реализация»

по дисциплине «Информатика»

Выполнил: студент гр. БИН2104 Книгин Е.А. Вариант №12

Проверил:

Москва, 2021 г.

СОДЕРЖАНИЕ

1)ЦЕЛЬ РАБОТЫ

2)ФОРМУЛИРОВКА ЗАДАЧИ №12

3)ФОРМАЛИЗАЦИЯ ЗАДАНИЯ

4)РАЗРАБОТКА АЛГОРИТМОВ РЕШЕНИЯ ЗАДАЧИ

5)ПРОГРАММЫЙ КОД ПРОЕКТА

6)РЕЗУЛЬТАТ И ДОКАЗАТЕЛЬСТВО ПРАВИЛЬНОСТИ РАБОТЫ ПРОГРАММЫ

1

ЦЕЛЬ РАБОТЫ

1)Обучиться программированию алгоритмов регулярный циклических структур.

2)Разработать функции для: вычисления значения, построения таблицы значений, ввода данных, вывода данных, главной функции main.

3)Оформить отчет по работе.

ФОРМУЛИРОВКА ЗАДАЧИ №12

Постройте таблицу и вычислите наибольшее значение при изменении x на отрезке [a; b] с шагом h.

1) f(x)= x3 – 0.4x3 – 1.24

Отрезок [-1.5; 1.5], шаг h = 0.15

ФОРМАЛИЗАЦИЯ ЗАДАНИЯ

Для реализации задания разработаем следующие пользовательские функции:

функция f, вычисляющая f(x) в заданной точке x;

функция cycle, формирующая и выводящая таблицу значений f(x) на заданном отрезке значений x, а также определяющая наибольшее;

функция Input, выполняющая ввод исходных данных: границ отрезка [a; b] и шага табуляции h;

2

функция Output, выводящая найденные наибольшее значение

f(x);

главная функция main, последовательно вызывающая функции

Input, cycle и Output.

РАЗРАБОТКА АЛГОРИТМОВ РЕШЕНИЯ ЗАДАЧИ

Схема алгоритма f вычисления значения заданной функции в одной точке показана ниже. (см. рис. 1)

Рисунок 1 - схема функции f(x)

Схема алгоритма функции cycle решения задачи и формирования таблицы значений функции f(x) на отрезке [a; b] с шагом h изображена ниже. (см. рис. 2)

3

Рисунок 2 – схема алгоритма функции cycle

4

ПРОГРАММНЫЙ КОД ПРОЕКТА

Программный код проекта приведен ниже (см. рис. 3, 4, 5, 6)

1)#include "cycle.h"

2)#include "f(x).h"

3)#include "inpoutp.h"

5)void main(void)

6){

7)double a, b, h, max;

8)Input(a, b, h);

9)cycle(a, b, h, max);

10)Output(max);

11)}

Рисунок 3 – программный код файла “main.cpp”

1)#pragma once

2)#include <iostream>

4)using namespace std;

5)void Input(double& a, double& b, double& h)

6){

7)setlocale(LC_ALL, "rus");

8)cout << "Введите нижнюю границу отрезка:\n a = ";

9)cin >> a;

10)cout << "Введите верхнюю границу отрезка:\n b = ";

11)cin >> b;

12)cout << "Введите шаг:\n h = ";

13)cin >> h;

14)}

15)void Output(double& max)

16){

17)setlocale(LC_ALL, "rus");

18)cout << "Наибольшее значение y = " << max << endl;

19)}

Рисунок 4 – программный код библиотеки “inpoutp.h”

1)#pragma once

2)#include <cmath>

3)double f(double x)

4){

5)double y;

6)y = pow(x, 3) - 0.4 * pow(x, 3) - 1.24;

7)return y;

8)}

Рисунок 5 - программный код библиотеки “f(x).h”

5

1)#pragma once

2)#include <iostream>

3)#include <cmath>

4)#include "f(x).h"

6) using namespace std;

7)

8)void cycle(float a, float b, float h, double& max)

9){

10)setlocale(LC_ALL, "rus");

11)max = -1E38;

12)cout << "Таблица значений функции:\n"<<"\t| x\t| y\t\t|\n";

13)for (float i = a; i <= b; i += h)

14){

15)float x;

16)double y;

17)if (i > 0.14 || i < -0.14)

18){

19)x = i;

20)y = f(x);

21)cout << "\t| " <<x<< "\t| " <<y<< "\t|\n";

22)}

23)else

24){

25)x = 0;

26)y = f(x);

27)cout << "\t| " <<x<< "\t| " <<y<< "\t\t|\n";

28)}

29)if (max < y) max = y;

30)

31)}

32)}

Рисунок 6 – программный код библиотеки “cycle.h”

6

РЕЗУЛЬТАТ И ДОКАЗАТЕЛЬСТВО ПРАВИЛЬНОСТИ РАБОТЫ ПРОГРАММЫ

Результат выполнения проекта при заданных значениях исходных данных изображены ниже. (см. рис. 7)

Рисунок 7 - результат работы программы

Подставив тестовые данные в уравнение, мы воспользуемся ручным расчетом и увидим, что результаты совпадают.

7

Соседние файлы в папке лабы