
Министерство образования Республики Беларусь УО «Полоцкий государственный университет» Факультет информационных технологий Кафедра технологий программирования
КУРСОВАЯ РАБОТА
по дисциплине «Основы алгоритмизации и программирования» Вариант 25
Выполнил студент гр. 12-ИТз-1 Штукин С.В.
Руководитель преподаватель-стажер Кеда И.С.
Оценка _____ Подпись председателя комиссии по защите КР ___________
Новополоцк 2012
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1 РЕШЕНИЕ ЗАДАЧИ № 1 4
1.1 Постановка задачи 4
1.2 Форма представления исходных данных 4
1.3 Разработка алгоритма и его описание 4
1.4 Описание программы 5
1.5 Инструкция по эксплуатации программы 5
2 РЕШЕНИЕ ЗАДАЧИ № 2 6
2.1 Постановка задачи 6
2.2 Математическая формулировка задачи и выбор метода обработки информации 6
2.3 Форма представления исходных данных 6
2.4 Разработка алгоритма и его описание 6
2.5 Описание программы 8
2.6 Инструкция по эксплуатации программы 8
3 РЕШЕНИЕ ЗАДАЧИ № 3 9
3.1 Постановка задачи 9
3.2 Математическая формулировка задачи и выбор метода обработки информации 9
3.3 Форма представления исходных данных 9
3.4 Разработка алгоритма и его описание 9
3.5 Описание программы 11
3.6 Инструкция по эксплуатации программы 11
4 РЕШЕНИЕ ЗАДАЧИ № 4 12
4.1 Постановка задачи 12
4.2 Математическая формулировка задачи и выбор метода обработки информации 12
4.3 Форма представления исходных данных 12
4.4 Разработка алгоритма и его описание 12
4.5 Описание программы 14
4.6 Инструкция по эксплуатации программы 14
5 РЕШЕНИЕ ЗАДАЧИ № 5 15
5.1 Постановка задачи 15
5.2 Математическая формулировка задачи и выбор метода обработки информации 15
5.3 Форма представления исходных данных 15
5.4 Разработка алгоритма и его описание 15
5.5 Описание программы 17
5.6 Инструкция по эксплуатации программы 17
ЗАКЛЮЧЕНИЕ И ВЫВОДЫ 18
Введение
Курсовая работа студента – заключительный этап изучения дисциплины. Цель работы – систематизация и закрепление теоретических знаний, полученных за время обучения, а также приобретение и закрепление навыков самостоятельной работы.
Задания данной курсовой работы было решено выполнить на языке программирования C++, так как он является современным, гибким, быстрым и популярным.
Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщенное программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
1 РЕШЕНИЕ ЗАДАЧИ № 1
1
.1
Постановка задачи
Необходимо вычислить сумму S(x) с точностью
.
1.2 Форма представления исходных данных
Исходные данные представляют собой одно числовое значения x вводимое с клавиатуры при запросе программы. Вводимое число является параметром, подставляемым в функцию.
1.3 Разработка алгоритма и его описание
На рисунке 1.1 представлена блок-схема алгоритма. Как видно после запуска программа просит ввести исходные данные, если введенное значение не удовлетворяет условию, то программа просит ввести их повторно. После ввода данных запускается цикл, в котором происходит суммирование результатов вычисления формулы. После вычисления формулы на экран выводится результат.
Рисунок 1.1 – Блок-схема алгоритма
1.4 Описание программы
Программа реализована на языке C++ и представлена на CD-RW диске. В директории «prg\Ex1» представлен исходный код проекта.
Программа состоит из одной функций: «main». Функция «main» является входной функцией программы, в которой производится расчет формулы. По завершению расчетов результат выводится на экран.
1.5 Инструкция по эксплуатации программы
Скомпилированная программа находится на прилагающемся на CD-RW диске в директории «exe\Ex1». Для ее запуска необходимо запустить программу с помощью файла «Ex1.exe» ввести значение x (рисунок 1.2), после чего программа выдаст результаты.
Рисунок 1.2 – Ввод параметров
2 РЕШЕНИЕ ЗАДАЧИ № 2
2.1 Постановка задачи
Дана матрица размерностью n*m, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее набольший по модулю элемент, расположенный на побочной диагонали.
2.2 Математическая формулировка задачи и выбор метода обработки информации
Необходимо построить матрицу произвольного размера, после чего обойти каждый элемент матрицы расположенный на побочной диагонали, сравнивая его с наименьшим по модулю элементом, имеющимся на дынный момент.
2.3 Форма представления исходных данных
Исходные данные представляют собой числовые значения, вводимые с клавиатуры. Для работы программы необходимо ввести значения n и m (размерность формируемой матрицы).
2.4 Разработка алгоритма и его описание
На рисунке 2.1 представлена блок-схема алгоритма. После запуска программа просит ввести размерность массива, после чего формируется массив из произвольных чисел. Далее переменной присваивается последний элемент в первой строке, и с ним сравниваются все элементы на побочной диагонали. После чего формируется новый массив путем деления всех элементов матрицы на набольший по модулю элемент, расположенный на побочной диагонали.
Рисунок 2.1 – Блок-схема алгоритма
2.5 Описание программы
Программа реализована на языке C++ и представлена на CD-RW диске. В директории «prg\Ex1» представлен исходный код проекта.
Программа состоит из одной функций: «main». Функция «main» является входной функцией программы, в которой формируется матрица, а так же находится наибольший по модулю элемент и формируется матрица. По завершению расчетов результат выводится на экран.
2.6 Инструкция по эксплуатации программы
Скомпилированная программа находится на прилагающемся CD-RW диске в директории «exe\Ex2». Для ее запуска необходимо запустить программу с помощью файла «Ex2.exe» и ввести размерность массива, после чего программа выдаст результаты (рисунок 2.2).
Рисунок 2.2 – Вывод результатов
3 РЕШЕНИЕ ЗАДАЧИ № 3
3.1 Постановка задачи
Дан одномерный массив. Отсортировать все элементы, стоящие на четных позициях, по убыванию. Использовать пирамидальную сортировку, реализовав метод в виде подпрограммы.
3.2 Математическая формулировка задачи и выбор метода обработки информации
Необходимо построить матрицу произвольного размера, далее выполнить сортировку элементов стоящих на четных позициях.
3.3 Форма представления исходных данных
Исходные данные представляют собой числовые значения, вводимые с клавиатуры. Для работы программы необходимо ввести размерность массива.
3.4 Разработка алгоритма и его описание
На рисунке 3.1 представлена блок-схема алгоритма. Как видно после запуска программы необходимо ввести размерность массива, после чего формируется массив из произвольных чисел. Далее формируется массив из четных элементов исходного массива. Затем вызывается подпрограмма, которая производят сортировку нового массива. После чего отсортированные элементы подставляются в исходный массив.
Рисунок 3.1 – Блок-схема алгоритма