Файл: Контрольная работа по дисциплине Программирование и алгоритмизация.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.10.2024
Просмотров: 27
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской Федерации
Федеральное бюджетное государственное образовательное учреждение
высшего профессионального образования
«Оренбургский государственный университет»
Факультет математики и информационных технологий
Кафедра программного обеспечения вычислительной техники
и автоматизированных систем
Контрольная работа
по дисциплине «Программирование и алгоритмизация»
Руководитель
__________
«___» _________20___г.
Исполнитель
студент группы
________
«___» _________20___г.
Оренбург 2022
Министерство науки и высшего образования Российской Федерации
Федеральное бюджетное государственное образовательное учреждение
высшего профессионального образования
«Оренбургский государственный университет»
Факультет математики и информационных технологий
Кафедра программного обеспечения вычислительной техники
и автоматизированных систем
Задание на контрольную работу по дисциплине
«Программирование и алгоритмизация»
Необходимо протабулировать функцию у на заданном отрезке, затем записать в одномерный массив M квадраты ненулевых значений функции.
y = 3cos5x + 2sinx [-π, π] , h = π /10.
Далее найти максимальный элемент в массиве M, а в одномерный массив N переписать все элементы массива, стоящие до максимального в массиве M, а в одномерный массив С – элементы, стоящие после максимального в массиве M.
Сформировать двумерный массив К из массива M, массива N и массива C, размерность которого по строкам равна четырём, по столбцам – наименьшей из размерностей массивов M, N и С. Элементы первых трех строк матрицы К – соответственно элементы массивов M, N, С, значения элементов 4-ой строки должны вычисляться по формуле:
К[4][J] = M[J] + N[J] + C[J].
Необходимо поменять местами четвертую строку со строкой, содержащей наименьшее число положительных элементов матрицы К.
Затем все значения исходной функции на отрезке вывести на печать в виде таблицы "Х Y", массивы M и N до и после изменений в виде строк с заголовками, матрицу К до и после перестановки строк, все искомые результаты.
Дата выдачи задания “___ ”____________20__г.
Руководитель
Исполнитель
Студент группы
Срок защиты работы “___”______________20__г.
Оренбург 2022
Содержание
Введение 4
1 Обоснование выбора языка программирования 5
2 Описание разработки программы 6
3 Словесное описание алгоритма 8
4 Спецификация глобальных структур и переменных 9
5 Спецификация функций 10
6 Руководство оператора 11
6.1 Назначение и условия применения программы 11
6.2 Характеристика программы 11
6.3 Выполнение программы 11
Список использованных источников 14
Приложение А 15
Схемы алгоритмов 15
Приложение Б 22
Текст программы 22
Введение
Язык программирования C++ — компилируемый, статически типизированный язык программирования общего назначения.
Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
Язык C++ представляет собой набор команд, которые говорят компьютеру, что необходимо сделать. Этот набор команд, обычно называется исходный код или просто код. Командами являются или «функции», или «ключевые слова». Ключевые слова (зарезервированные слова С/С++) являются основными строительными блоками языка. Функции являются сложными строительными блоками, так как записаны они в терминах более простых функций. Такая структура функций напоминает содержание книги. Содержание может показывать главы книги, каждая глава в книге может иметь своё собственное содержание, состоящее из пунктов, каждый пункт может иметь свои подпункты. Хотя C++ предоставляет много общих функций и зарезервированных слов, которые вы можете использовать, все-таки возникает потребность в написании своих собственных функций.
Целью создания языка C++ являлось развитие языка Cи возможностями, удобными для масштабной разработки прикладных программ. При создании языка C++ разработчики стремились сохранить совместимость с уже существующем языком Cи.
Как приемник языка Си, язык C++ широко используется в системном программировании. На языке пишутся высокоэффективные программы, операционные системы, драйверы и т.п. Также язык C++ является одним из основных языков, применяющихся при создании трансляторов.
Целью выполнения расчётно-графического задания является закрепление теоретических знаний и получения практических навыков программирования на языке C++ для самостоятельного решения задач алгоритмизации, конструирования и практической реализации программ на ЭВМ.
1 Обоснование выбора языка программирования
В качестве языка программирования для реализации данного проекта был выбран С++ — компилируемый статически типизированный язык программирования общего назначения. Именно этот язык наиболее подходит для решения поставленной задачи, так как С++ успешно используется во многих областях приложения, далеко выходящих за указанные рамки и позволяет создавать как простые приложения и утилиты, так и сложные системы.
C++ поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков.
C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ.
C++ — чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения.
С++ — универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста.
С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. При правильном использовании это делает программы более короткими, проще понимаемыми и легче контролируемыми.
C++ компилируется непосредственно в машинный код, что позволяет ему быть одним из самых быстрых в мире языков.
2 Описание разработки программы
Для облегчения и наглядности обработка данных проводится в динамической памяти. При разработке программного комплекса был использован принцип функционального программирования, где для упрощения реализации основных возможностей программы были созданы функции, отвечающие за работу программного средства. Для корректной работы функций и успешной компиляции программного кода были задействованы стандартные библиотеки языка С++. Был выбран консольный тип приложения, как наиболее подходящий для решения поставленной задачи.
Исходный код программы, представленный в приложении Б, состоит из главного файла, который содержит главную функцию main(), с вызова которой и начинается работа программного средства, формирование таблицы значений функции на заданном отрезке (табулирование), формирование массивов M, N и C, создание матрицы K и ее модифицированной копии, вызов меню. Кроме главной функции, в файле описана пользовательская структура данных Tab для хранения результатов табуляции заданной функции и реализованы вспомогательные функции:
func_y – заданная математическая функция,
tabulation – процедура табулирование функции,
select – возвращает массив из квадратов всех положительных значений функции,
before_max – возвращает массив из элементов, стоящих в массиве до максимального,
after_max – возвращает массив из элементов, стоящих в массиве после максимального,
makek – возвращает двумерный массив, созданный из трех исходных по заданному правилу,
print_mass – выводит в консоль заголовок и одномерный массив,
print_mass2 – выводит в консоль заголовок и двумерный массив,
print_table – выводит в консоль таблицу значений функции,
swap – возвращает двумерный массив с перестановкой строк в соответствии с заданием,
menu – консольное меню для организации интерфейса программы с пользователем, в котором содержаться команды для проверки всех возможных действий с заданными в конкретном варианте данными. Меню в удобной форме позволяет посмотреть все результаты работы программы, выполненные в соответствии с заданием.
Программа разбита на модули, логически законченные фрагменты оформлены в виде подпрограмм (функций), которым все необходимые данные передаются через список параметров.
Таким образом, на основании всего вышеперечисленного, программа удовлетворяет основным заданным требованиям к ее работоспособности и может быть использована пользователями для проведения необходимых расчетов.
3 Словесное описание алгоритма
Для запуска программы, пользователю необходимо выполнить запуск исполняемого файла, находящегося в корневой папке программы. Необходимые расчеты будут произведены программой автоматически, после чего управление через консольное меню переходит пользователю. Меню позволяет просмотреть результаты работы программы.
Алгоритм разрабатывался, в среде MS Visual Studio 2019, на языке программирования C++, с использование стандартных библиотек iostream, vector, algorithm, math, iomanip.
Программа начинается с вызова функции main. Для корректного отображение символов кириллицы, с помощью функции setlocale(LC_ALL, ”rus”) стандартной библиотеки C++ происходит подключение кодовой таблицы для корректного отображения сообщений на русском языке.
Далее функция tabulation выполняет подсчет значений функции на заданном интервале, а результат сохраняется в таблице F значений функции.
С помощью вызова функции select создается массив M из квадратов ненулевых значений функции.
Содержимое массива N создает функция before_max, а массива C - after_max.
Затем функция makek из массивов M, N и C создает матрицу К, элементы которой вычисляются по формулам в соответствии с заданием.
После получения массива K, создается его копия с переставленными в соответствии с заданием строками.
Далее управление передается в консольное меню, где в режиме диалога с программой пользователь может просмотреть результаты ее работы.