4.1 Задание № 4.1.1
4.1.1 Задание
Условие задачи: вычислить и вывести значения функции (2) на интервале от 2 до 3.
|
(2) |
4.1.2 Алгоритм
Блок-схема алгоритма представлена на рисунке 1.
Рисунок 13 – Алгоритм программы, которая находит сумму ряда
4.1.3 Программный код
Программный код, реализующий алгоритм (рисунок 13), представлен в приложении К.
4.1.4 Тесты
Программа работает корректно. Результат работы программы представлен на рисунке 13.
Рисунок 13 – Результат программы, которая находит сумму ряда
4.2 Задание № 4.2.1
4.2.1 Задание
Условие задачи: вычислить сумму ряда (3).
|
(3) |
4.2.2 Алгоритм
Блок-схема алгоритма представлена на рисунке 14.
Рисунок 14 – Алгоритм программы, которая находит сумму ряда при заданном n
4.2.3 Программный код
Программный код, реализующий алгоритм (рисунок 14), представлен в приложении Л.
4.2.4 Тесты
Тестирование программы показало корректный вывод суммы ряда. Результаты приведены в таблице 6.
Таблица 5 – Входные и выходные данные программы 4.2.1
N |
1 |
2 |
3 |
4 |
5 |
S |
0.5 |
0.25 |
0.066 |
0.012 |
0.002 |
5 Лабораторная работа №5. Массивы и указатели
5.1 Задание № 5.1.1
5.1.1 Задание
Условие задачи: вывести на экран строку, добавив в начало и конец каждого слова “*”.
5.1.2 Алгоритм
Блок-схема алгоритма представлена на рисунке 15.
Рисунок 15 – Алгоритм программы, которая заменяет пробелы звездочкой
5.1.3 Программный код
Программный код, реализующий алгоритм (рисунок 15), представлен в приложении М.
5.1.4 Тесты
Тестирование показало корректную работу программы. Результат представлен на рисунке 16.
Рисунок 16 –
5.2 Задание № 5.2.1
5.2.1 Задание
Условие задачи: создать массив из n элементов и заполнить числами 1, n, 2, n-1, 3, n-2, 4, n-3.
5.2.2 Алгоритм
Блок-схема алгоритма представлена на рисунке 17.
Рисунок 17 – Алгоритм программы, которая заполняет массив числами
5.2.3 Программный код
Программный код, реализующий алгоритм (рисунок 17), представлен в приложении Н.
5.2.4 Тесты
Тестирование программы показала корректный вывод значений массива по заданному правилу. Результат представлен на рисунке 18.
Рисунок 18 – Результат заполнения массива
5.3 Задание № 5.3.1
5.3.1 Задание
Условие задачи: создать матрицу, найти в ней наибольший элемент и сумму столбца, в котором находиться наибольший элемент.
5.3.2 Алгоритм
Блок-схема алгоритма представлена на рисунке 19.
Рисунок 19 – Алгоритм программы, которая работает с матрицей
Рисунок 20 – Продолжение алгоритма, работающего с матрицей
5.3.3 Программный код
Программный код, реализующий алгоритм (рисунок 20), представлен в приложении П.
5.3.4 Тесты
Тестирование программы представлено на рисунке 21. Матрица создается нужного размера, а сумма считается корректно.
Рисунок 21 – Результат работы с матрицей
6 Лабораторная работа №6 Функции и ссылки
6.1 Задание № 6.1.1
6.1.1 Задание
Условие задачи: создать функцию для вычисления длины медианы треугольника с известными длинами сторон.
6.1.2 Алгоритм
Блок-схемы алгоритмов представлены на рисунках 22 и 23.
Рисунок 22 – Алгоритм основной программы
Рисунок 23 – Алгоритм программы, вычисляющий медиану
6.1.3 Программный код
Программный код, реализующий алгоритм, представлен в приложении Р.
6.1.4 Тесты
Тестирование показало корректную работу программы. Результат представлен на рисунке 24.
Рисунок 24 – Результат вычислений
6.2 Задание № 6.2.1
6.2.1 Задание
Условие задачи: написать функцию для нахождения наибольшего и наименьшего из трёх чисел.
6.2.2 Алгоритм
Блок-схемы алгоритмом представлены на рисунках 25 и 26.
Рисунок 25 – Алгоритм основной программы, которая находит ним. и наиб. из трех чисел
Рисунок 26 – Алгоритм программы, которая находит ним. и наиб. из трех чисел
6.2.3 Программный код
Программный код, реализующий алгоритм представлен в приложении С.
6.2.4 Тесты
Тестирование показало о корректном нахождении максимального и минимального значения из трёх введённых. Входные и выходные данные представлены в таблице 7.
Таблица 6 Данные работы программы 6.2.1
Входные данные |
5, 4, 1 |
2, 15, 133 |
-25, 26, 3 |
0, 0, 0 |
Минимальное |
1 |
2 |
-25 |
0 |
Максимальное |
5 |
133 |
26 |
0 |
6.3 Задание № 6.3.1
6.3.1 Задание
Условие задачи: создать функцию для циклического сдвига массива вправо.
6.3.2 Алгоритм
Блок-схемы алгоритмом представлены на рисунках 27 и 28.
Рисунок 27 – Алгоритм основной программы
Рисунок 28 – Алгоритм программы, которая сдвигает массив
6.3.3 Программный код
Программный код, реализующий алгоритм, представлен в приложении Т.
6.3.4 Тесты
Результат сдвига массива можно увидеть на рисунке 29. Сдвиг массива происходи циклически, то есть последний элемент перемещается на место первого, а не уничтожается.
Рисунок 29 – Результат сдвига массива
7 Лабораторная работа №7 Структуры и работа с ними
7.1 Задание № 7.1.1
7.1.1 Задание
Условие задачи: создать тип данных для хранения информации о книге. Реализовать поиск и вывод списка книг одного из авторов.
7.1.2 Алгоритм
Блок-схемы алгоритмов представлены на рисунках 30, 31, 32.
Рисунок 30 – Алгоритм основной программы
Рисунок 31 – Алгоритм программы, которая находит книги по автору
Рисунок 32 – Алгоритм программы, которая находит книгу по номеру
7.1.3 Программный код
Программный код, реализующий алгоритм, представлен в приложении У.
7.1.4 Тесты
Тестирование показало корректную работу программы. Результаты представлены на рисунках 33 и 34.
Рисунок 33 –
Рисунок 34 –
7.2 Задание № 7.2.1
7.2.1 Задание
Условие задачи: написать функцию для нахождения наибольшего и наименьшего из трёх чисел.
7.2.2 Алгоритм
Блок-схемы алгоритмов представлены на рисунках 35, 36 и 37.
Рисунок 35 – Алгоритм основной программы, в которой складываются строки
Рисунок 36 – Алгоритм программы, которая складывает две строки
Рисунок 37 – Алгоритм программы, которая складывает две строки и сохраняет в первой
7.2.3 Программный код
Программный код, реализующий алгоритм, представлен в приложении Ф.
7.2.4 Тесты
Тестирование показало корректную работу программы. Результат представлен на рисунке 38.
Рисунок 38 –
8 Лабораторная работа №8 Классы и объекты
8.1 Задание № 8.1.1
8.1.1 Задание
Условие задачи: создать тип данных для хранения информации о книге. Реализовать поиск и вывод списка книг одного из авторов.
8.1.2 Алгоритм
Блок-схемы алгоритмов представлены на рисунках 39, 40, 41.
Рисунок 39 – Алгоритм программы, которая складывает 2 строки в одну
Рисунок 40 – Алгоритм программы, которая складывает 2 строки
8.1.3 Программный код
Программный код, реализующий алгоритм, представлен в приложении Х.
8.1.4 Тесты
Тестирование показало корректную работу программы. Результат представлен на рисунке 41.
Рисунок 41 – Результаты складывания 2 строк
ПРИЛОЖЕНИЕ А (обязательное)
Программный код 1.1.1
#include <conio.h>
#include <iostream>
void main() {
setlocale(LC_ALL, "Russian");
printf("Беспятых МА \n Т12О-102С-19 \n ИЛА");
_getch();
}
ПРИЛОЖЕНИЕ Б (обязательное)
Программный код 1.2.1
#include <conio.h>
#include <iostream>
void main()
{
setlocale(LC_ALL, "Russian");
std::cout << "МАИ Аэрокосмические Наукоемкие Технологии и Производства \n";
std::cout << "Т12О-102С-19 Беспятых М.А.";
_getch();
}
ПРИЛОЖЕНИЕ В (обязательное)
Программный код 2.1.1
#include <conio.h>
#include <iostream>
#include <cmath>
void main()
{
int N;
std::cout << "Input N";
std::cin >> N;
std::cout << (2*pow(N,2)) + (4 * N) + 8 + (pow(10,-1) );
_getch();
}
ПРИЛОЖЕНИЕ Г (обязательное)
Программный код 2.2.1
#include <conio.h>
#include <iostream>
void main()
{
int a, b;
std::cout << "Input a \n";
std::cin >> a;
std::cout << "Input b \n";
std::cin >> b;
b = b ^ a;
a = a ^ b;
b = b ^ a;
std::cout << a << " " << b;
_getch();
}
ПРИЛОЖЕНИЕ Д (обязательное)
Программный код 2.3.1
#include <conio.h>
#include <iostream>
void main()
{
unsigned int a, min, max;
std::cout << "Input number ";
std::cin >> a;
min = a >> 1;
max = a << 1;
std::cout << min << "\n";
std::cout << max;
_getch();
}
ПРИЛОЖЕНИЕ Е (обязательное)
Программный код 3.1.1
#include <conio.h>
#include <iostream>
void main()
{
int x, y;
std::cout << "Input x \n";
std::cin >> x;
std::cout << "Input y \n";
std::cin >> y;
if (y > ((x + 2) / 2) && (y>0))
{
std::cout << "yes";
}
else if (y > 2) {
std::cout << "yes";
}
else {
std::cout << "no";
}
_getch();
}
ПРИЛОЖЕНИЕ Ж (обязательное)
Программный код 3.2.1
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
int i = 0, k = 0;
char ch;
string s = "aeiouAEIOU";
cout << "Symbol: "; cin >> ch;