Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы 1 курс 2 семестр / Отчёт по ЛР Информатика.docx
Скачиваний:
11
Добавлен:
15.01.2021
Размер:
789.5 Кб
Скачать

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

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

«МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(национальный исследовательский университет)»

(МАИ)

Кафедра «Технология испытаний и эксплуатации»

Отчёт по лабораторным работам

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

(2 семестр)

Студент Беспятых М.А

Группа Т12О-102С-19

Дата сдачи

Подпись

Проверил

Дата

Подпись

Содержание

Y

Введение 8

1 Лабораторная работа №1. Простейшие программы 9

1.1 Задание № 1.1 9

1.1.1 Задание 9

1.1.2 Алгоритм 9

1.1.3 Программный код 9

1.1.4 Тесты 9

1.2 Задание № 1.2 10

1.2.1 Задание 10

1.2.2 Алгоритм 10

1.2.3 Программный код 10

1.2.4 Тесты 10

2 Лабораторная работа №2. Типы данных и операторы языка «C++» 12

2.1 Задание № 2.1.1 12

2.1.1 Задание 12

2.1.2 Алгоритм 12

2.1.3 Программный код 13

2.1.4 Тесты 13

2.2 Задание № 2.2.1 14

2.2.1 Задание 14

2.2.2 Алгоритм 14

2.2.3 Программный код 14

2.2.4 Тесты 15

2.3 Задание № 2.2.1 16

2.3.1 Задание 16

2.3.2 Алгоритм 16

2.3.3 Программный код 16

2.3.4 Тесты 17

3 Лабораторная работа №3. Управляющие конструкции. 18

3.1 Задание № 3.1.1 18

3.1.1 Задание 18

3.1.2 Алгоритм 18

3.1.3 Программный код 19

3.1.4 Тесты 19

3.2 Задание № 3.2.1 20

3.2.1 Задание 20

3.2.2 Алгоритм 20

3.2.3 Программный код 21

3.2.4 Тесты 21

3.3 Задание № 3.3.1 22

3.3.1 Задание 22

3.3.2 Алгоритм 22

3.3.3 Программный код 23

3.3.4 Тесты 23

4 Лабораторная работа №4. Управляющие конструкции. Циклы. 25

4.1 Задание № 4.1.1 25

4.1.1 Задание 25

4.1.2 Алгоритм 25

4.1.3 Программный код 25

4.1.4 Тесты 26

4.2 Задание № 4.2.1 27

4.2.1 Задание 27

4.2.2 Алгоритм 27

4.2.3 Программный код 28

4.2.4 Тесты 28

5 Лабораторная работа №5. Массивы и указатели 29

5.1 Задание № 5.1.1 29

5.1.1 Задание 29

5.1.2 Алгоритм 29

5.1.3 Программный код 29

5.1.4 Тесты 30

5.2 Задание № 5.2.1 31

5.2.1 Задание 31

5.2.2 Алгоритм 31

5.2.3 Программный код 32

5.2.4 Тесты 32

5.3 Задание № 5.3.1 33

5.3.1 Задание 33

5.3.2 Алгоритм 33

5.3.3 Программный код 34

5.3.4 Тесты 34

6 Лабораторная работа №6 Функции и ссылки 36

6.1 Задание № 6.1.1 36

6.1.1 Задание 36

6.1.2 Алгоритм 36

6.1.3 Программный код 37

6.1.4 Тесты 37

6.2 Задание № 6.2.1 38

6.2.1 Задание 38

6.2.2 Алгоритм 38

6.2.3 Программный код 39

6.2.4 Тесты 39

6.3 Задание № 6.3.1 40

6.3.1 Задание 40

6.3.2 Алгоритм 40

6.3.3 Программный код 41

6.3.4 Тесты 41

7 Лабораторная работа №7 Структуры и работа с ними 42

7.1 Задание № 7.1.1 42

7.1.1 Задание 42

7.1.2 Алгоритм 42

7.1.3 Программный код 44

7.1.4 Тесты 44

7.2 Задание № 7.2.1 45

7.2.1 Задание 45

7.2.2 Алгоритм 45

7.2.3 Программный код 46

7.2.4 Тесты 46

8 Лабораторная работа №8 Классы и объекты 47

8.1 Задание № 8.1.1 47

8.1.1 Задание 47

8.1.2 Алгоритм 47

8.1.3 Программный код 48

8.1.4 Тесты 48

ПРИЛОЖЕНИЕ А (обязательное) 50

Программный код 1.1.1 50

ПРИЛОЖЕНИЕ Б (обязательное) 51

Программный код 1.2.1 51

ПРИЛОЖЕНИЕ В (обязательное) 52

Программный код 2.1.1 52

ПРИЛОЖЕНИЕ Г (обязательное) 53

Программный код 2.2.1 53

ПРИЛОЖЕНИЕ Д (обязательное) 54

Программный код 2.3.1 54

ПРИЛОЖЕНИЕ Е (обязательное) 55

Программный код 3.1.1 55

ПРИЛОЖЕНИЕ Ж (обязательное) 56

Программный код 3.2.1 56

ПРИЛОЖЕНИЕ И (обязательное) 57

Программный код 3.3.1 57

ПРИЛОЖЕНИЕ К (обязательное) 59

Программный код 4.1.1 59

ПРИЛОЖЕНИЕ Л (обязательное) 60

Программный код 4.2.1 60

ПРИЛОЖЕНИЕ М (обязательное) 61

Программный код 5.1.1 61

ПРИЛОЖЕНИЕ Н (обязательное) 62

Программный код 5.2.1 62

ПРИЛОЖЕНИЕ П (обязательное) 63

Программный код 5.3.1 63

ПРИЛОЖЕНИЕ Р (обязательное) 64

Программный код 6.1.1 64

ПРИЛОЖЕНИЕ С (обязательное) 65

Программный код 6.2.1 65

ПРИЛОЖЕНИЕ Т (обязательное) 67

Программный код 6.3.1 67

ПРИЛОЖЕНИЕ У (обязательное) 68

Программный код 7.1.1 68

ПРИЛОЖЕНИЕ Ф (обязательное) 70

Программный код 7.2.1 70

ПРИЛОЖЕНИЕ Х (обязательное) 71

Программный код 8.1.1 71

Введение

Основными целями и задачами выполнения лабораторных работ по информатике ставятся освоение и понимания языка программирования C++, получение навыков построения вычислительных программ для выполнения задач различного класса.

1 Лабораторная работа №1. Простейшие программы

1.1 Задание № 1.1

1.1.1 Задание

Условие задачи: вывести при помощи функции «printf()» текст в разных строках.

1.1.2 Алгоритм

Блок-схема алгоритма представлена на рисунке 1.

Рисунок 1 – Алгоритм программы, которая выводит текст

1.1.3 Программный код

Программный код, реализующий алгоритм (рисунок 1), представлен в приложении A.

1.1.4 Тесты

Тестирование программы показало, что программа работает исправно и выводит необходимую информацию в каждой строке. Результат представлен на рисунке 2.

Рисунок 2 – Результат программы, которая выводит текст

1.2 Задание № 1.2

1.2.1 Задание

Условие задачи: вывести в разных строках текст, используя конструкцию std::cout<<.

1.2.2 Алгоритм

Блок-схема алгоритма представлена на рисунке 3.

Рисунок 3 – Алгоритм программы, которая выводит текст в разных строках

1.2.3 Программный код

Программный код, реализующий алгоритм (рисунок 3), представлен в приложении Б.

1.2.4 Тесты

Тестирование программы показало, что программа работает исправно и выводит необходимую информацию в каждой строке. Результат представлен на рисунке 4.

Рисунок 4 – Результат программы, которая выводит текст с использованием конструкции std::cout<<.

2 Лабораторная работа №2. Типы данных и операторы языка «C++»

2.1 Задание № 2.1.1

2.1.1 Задание

Условие задачи: вычислить значение N по указанной формуле (1)

(1)

2.1.2 Алгоритм

Блок-схема алгоритма представлена на рисунке 5.

Рисунок 5 – Алгоритм программы, которая вычисляет значение N

2.1.3 Программный код

Программный код, реализующий алгоритм (рисунок 5), представлен в приложении В.

2.1.4 Тесты

Тестирование программы показало корректную работу. При вводе значения 0 программа не уходит в ошибку, так как использована функция возведения в степень, а не деления. Результаты входных и выходных данных представлены в таблице 1.

Таблица 1 – Результат тестирования 2.1.1

Ввод

1

33

-5

100

0

6

Вывод

24

2318

36

20408

8

105

2.2 Задание № 2.2.1

2.2.1 Задание

Условие задачи: поменять местами значения целочисленных переменных без использования дополнительных переменных.

2.2.2 Алгоритм

Блок-схема алгоритма представлена на рисунке 6.

Рисунок 6 – Алгоритм программы, которая меняет значение 2 переменных, не используя третью.

2.2.3 Программный код

Программный код, реализующий алгоритм (рисунок 6), представлен в приложении Г.

2.2.4 Тесты

Значения переменных меняются местами без использования дополнительных переменных. Принцип работы алгоритма основан на побитовом исключающем ИЛИ( XOR) Всё работает.

2.3 Задание № 2.2.1

2.3.1 Задание

Условие задачи: вывести на экран числа вдвое большее и вдвое меньшее введённого, не используя операторы умножения и деления.

2.3.2 Алгоритм

Блок-схема алгоритма представлена на рисунке 7.

Рисунок 7 – Алгоритм программы, которая удваивает , а так же уменьшает число в двое

2.3.3 Программный код

Программный код, реализующий алгоритм (рисунок 7), представлен в приложении Д.

2.3.4 Тесты

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

Таблица 2 – Входные и выходные данные программы 2.3.1

a

5

10

3

25

min

2

5

1

12

max

10

20

6

50

3 Лабораторная работа №3. Управляющие конструкции.

3.1 Задание № 3.1.1

3.1.1 Задание

Условие задачи: ввести координаты x и y точки и определить, принадлежит ли она заштрихованной области, которая представлена на рисунке 8

Рисунок 8 – Рисунок к заданию 3.1.1

3.1.2 Алгоритм

Блок-схема алгоритма представлена на рисунке 9.

Рисунок 9 – Алгоритм программы, которая определяет, находится ли точка в закрашенной области

3.1.3 Программный код

Программный код, реализующий алгоритм (рисунок 9), представлен в приложении Е.

3.1.4 Тесты

Тестирование показало о корректной работе алгоритма. Результаты представлены на таблице 3.

Таблица 3 – Результат тестирования 2.1.1

Ввод

1

33

-5

100

0

6

Вывод

24

2318

36

20408

8

105

3.2 Задание № 3.2.1

3.2.1 Задание

Условие задачи: вывести “yes” если введенный символ обозначает строчную или заглавную гласную букву латинского алфавита. В остальных случаях “no”.

3.2.2 Алгоритм

Блок-схема алгоритма представлена на рисунке 10.

Рисунок 10 – Алгоритм программы, которая проверяет строку на верхний регистр

3.2.3 Программный код

Программный код, реализующий алгоритм (рисунок 10), представлен в приложении Ж.

3.2.4 Тесты

Тестирование алгоритма приведено в таблице 4. Программа работает корректно.

Таблица 3 – Ввод и вывод программы 3.2.1

Ввод

a

c

D

E

Вывод

Yes

No

No

Yes

3.3 Задание № 3.3.1

3.3.1 Задание

Условие задачи: определить количество полей, на которые может переместиться шахматный конь.

3.3.2 Алгоритм

Блок-схемы алгоритмов представлены на рисунках 11 и 12.

Рисунок 11 – Алгоритм программы, которая рассчитывает ходы коня

Рисунок 12 – Продолжение алгоритма расчета ходов

3.3.3 Программный код

Программный код, реализующий алгоритм (рисунки 11 и 12), представлен в приложении И.

3.3.4 Тесты

Алгоритм работы программы основан на проверке принадлежности конечной точки хода коня к полю, которое задано пользователем. Также введено исключение, если пользователь вводит положение коня вне размера поля. Данные ввода и вывода приведены в таблице 5.

Таблица 4 – Данные программы 3.3.1

Размеры поля

8;8

5;5

4;3

3;2

Начальная точка коня

4;4

2;1

3;2

45;666

Вывод

8

3

2

Invalid input

4 Лабораторная работа №4. Управляющие конструкции. Циклы.

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;

while (s[i])

{

if (s[i] == ch) { k = 1; cout << "yes\n"; break; }

i++;

}

if (k == 0) cout << "no\n";

system("pause");

return 0;

}

ПРИЛОЖЕНИЕ И (обязательное)

Программный код 3.3.1

#include <conio.h>

#include <iostream>

void main()

{

int x, y, k, l, count;

count = 0;

std::cout << "Input x:";

std::cin >> x; //Длина поля

std::cout << "Input y:";

std::cin >> y; //Ширина поля

std::cout << "Input k:";

std::cin >> k; //Положение коня по длине

std::cout << "Input l:";

std::cin >> l; //Положение коня по ширине

if ((k >= 1) && (k <= x) && (l >= 1) && (l <= y))

{

if ((k + 2 <= x) && (l + 1 <= y)) { //1

count++;

}

if ((k + 1 <= x) && (l + 2 <= y)) { //2

count++;

}

if ((k - 2 <= x) && (l + 1 <= y) && (k-2 > 0)) { //3

count++;

}

if ((k - 1 <= x) && (l + 2 <= y) && (k-1 > 0)) { //4

count++;

}

if ((k - 2 <= x) && (l - 1 <= y) && (k-2 > 0) && (l-1 > 0)) { //5

count++;

}

if ((k - 1 <= x) && (l - 2 <= y) && (k -1> 0) && (l -2> 0)) { //6

count++;

}

if ((k + 2 <= x) && (l - 1 <= y) && (l -1> 0)) { //7

count++;

}

if ((k + 1 <= x) && (l - 2 <= y) && (l -2> 0)) { //8

count++;

}

std::cout << count;

}

else

{

std::cout << "Invalid input";

}

_getch();}

ПРИЛОЖЕНИЕ К (обязательное)

Программный код 4.1.1

#include <conio.h>

#include <iostream>

void main()

{

float x,y;

x = 2;

while (x < 3)

{

y = (pow(x, 2) + 4 * x + 4) / (2 * (pow(x, 2) + 1));

std::cout << y << "\n";

x = x + 0.02;

}

_getch();

}

ПРИЛОЖЕНИЕ Л (обязательное)

Программный код 4.2.1

#include <conio.h>

#include <iostream>

void main()

{

int n;

float s = 0;

float f = 1;

float d = 1;

std::cout << "Input N \n";

std::cin >> n;

for (int i=1; i <=n; i++ )

{

f *= i;

int b = 1;

d = 1;

while (b <= (n + i))

{

d *= b++;

}

s += (f / d);

}

std::cout << s;

_getch();

}

ПРИЛОЖЕНИЕ М (обязательное)

Программный код 5.1.1

#include <conio.h>

#include <iostream>

void main()

{

int i;

char str[101];

std::cout << "Input string:";

std::cin.getline(str, 101);

std::cout << "\n\n";

for (i = 0; i < strlen(str); i++)

if (str[i] == ' ')

str[i] = '*';

std::cout << str;

_getch();

}

ПРИЛОЖЕНИЕ Н (обязательное)

Программный код 5.2.1

#include <conio.h>

#include <iostream>

void main()

{

int n;

int b = 1;

int c = 0;

std::cout << "Input mas size \n";

std::cin >> n;

int* mas = new int[n];

for (int i = 0; i <= n; i++)

{

if (i % 2 == 0)

{

mas[i] = b;

b++;

std::cout << mas[i] << "\n";

}

else

{

mas[i] = n - c;

c++;

std::cout << mas[i] << "\n";

}

}

_getch();}

ПРИЛОЖЕНИЕ П (обязательное)

Программный код 5.3.1

#include <conio.h>

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "RUS");

int i, st, j, N, M, S, a[20][20];

int max = 0;

int* A;

cout << "Введите количество строк,N=";

cin >> N;

cout << "Введите количество столбцов,M=";

cin >> M;

A = new int[N * M];

cout << "Составьте матрицу А\n";

for (i = 0; i < N; i++)

for (j = 0; j < M; j++)

cin >> a[i][j];

for (i = 0; i < N; i++)

{

for (j = 0; j < M; j++)

if (a[i][j] > max)

{

max = a[i][j];

st = i;

}

}

for (S = j = 0; j < M; j++)

S += a[st][j];

cout << "сумма равна,S=" << S << endl;

system("pause");

return 0;

}

Приложение р (обязательное) Программный код 6.1.1

#include <iostream>

#include <conio.h>

int Median(double a, double b, double c)

{

double m;

m = 0.5 * sqrt(2 * b * b + 2 * c * c - a * a);

std::cout << m;

return(m);

}

int main()

{

setlocale(LC_ALL, "RUS");

double A, B, C, m;

std::cout << "Введите длину стороны А:";

std::cin >> A;

std::cout << "Введите длину стороны B:";

std::cin >> B;

std::cout << "Введите длину стороны C:";

std::cin >> C;

m = Median(A, B, C);

_getch();

}

Приложение с (обязательное) Программный код 6.2.1

#include <iostream>

#include <conio.h>

int Compare(int X, int Y, int Z, int& min, int& max)

{

if (X > Y)

{

max = X;

min = Y;

}

else

{

max = Y;

min = X;

}

if (max < Z)

{

max = Z;

}

else if (min > Z)

{

min = Z;

}

return 0;

}

int main()

{

setlocale(LC_ALL, "RUS");

int min, max, x, y, z;

std::cout << "Введите 1-е число: ";

std::cin >> x;

std::cout << "Введите 2-е число: ";

std::cin >> y;

std::cout << "Введите 3-е число: ";

std::cin >> z;

Compare(x, y, z, min, max);

std::cout << "\nМинимальное значение: ";

std::cout << min;

std::cout << "\nМаксимальное значение: ";

std::cout << max;

_getch();

}

Приложение т (обязательное) Программный код 6.3.1

#include <iostream>

#include <conio.h>

int Shift(int N, int M[])

{

int c;

for (int i = 10; i > 0; i--)

{

c = M[N];

M[i] = M[i - 1];

}

M[0] = c;

for (int i = 0; i < N; i++)

std::cout << M[i] << " ";

return 0;

}

int main()

{

int n;

std::cout << "Input mas size: ";

std::cin >> n;

int* mas = new int[n];

std::cout << "Input mas: ";

for (int i = 0; i < n; i++)

std::cin >> mas[i];

Shift(n, mas);

_getch();

Приложение у (обязательное) Программный код 7.1.1

#include <iostream>

#include <conio.h>

using namespace std;

struct Book

{

string name, publ, author;

int year, page;

};

int search(Book mas[2])

{

string searchname;

cout << "Введите название книги: ";

cin >> searchname;

for (int i = 0; i < 2; i++)

{

if (mas[i].name == searchname)

{

cout << "\n Название: " << mas[i].name << "\n Издание: " << mas[i].publ

<< "\n Автор: " << mas[i].author << "\n Год: " << mas[i].year

<< "\n Страниц: " << mas[i].page;

}

}

return 0;

}

int aubook( Book aumas[2])

{

string auau;

cout << "Введите автора: ";

cin >> auau;

for (int i = 0; i < 2; i++)

{

if (aumas[i].author == auau)

{

cout << "\n Название: " << aumas[i].name << "\n Издание: " << aumas[i].publ

<< "\n Автор: " << aumas[i].author << "\n Год: " << aumas[i].year

<< "\n Страниц: " << aumas[i].page;

}

}

return 0;

}

int main()

{

int c;

setlocale(LC_ALL, "RUS");

Book xeq[2]; //каталог книг

xeq[0].name = "Hudo";

xeq[0].publ = "Kniga";

xeq[0].author = "P.I.Author";

xeq[0].year = 2020;

xeq[0].page = 35;

//-------------------------------

xeq[1].name = "ABC";

xeq[1].publ = "Vizantiya";

xeq[1].author = "Drevniy";

xeq[1].year = 1632;

xeq[1].page = 255;

//-----------------------------

cout << "Для поиска по названию введите 1\n"

<<"Для поиска по автору любое число\n";

cin >> c;

if (c == 1)

{

search (xeq);

}

else

aubook (xeq);

_getch();

}