Министерство сельского хозяйства Российской Федерации Федеральное государственное бюджетное Образовательное учреждение высшего
77.11K
Категория: ПрограммированиеПрограммирование

Сортировка и поиск данных. Действия над матрицами. Методы шифрования данных и работа со строками. Курсовая работа

1. Министерство сельского хозяйства Российской Федерации Федеральное государственное бюджетное Образовательное учреждение высшего

образования
Мичуринский государственный аграрный университет
Курсовая работа
По дисциплине «Программирование»
Вариант 22
Выполнила
Студентка 3 курса
Инженерного института группы
ИЗБ 36 ИВТ
Объедкова А. И.
Проверил: доцент Абалуев Р.Н.
Мичуринск 2018

2.

Задание №1 – Сортировка и поиск данных
Написать программу реализующую сортировку данных или поиск кратчайшего пути в графе используя
заданные алгоритмы. Исходные данные необходимо считать из файла. Результаты вычисления программы
необходимо записать в файл.
Исходные данные: Быстрая сортировка Хоара. Текстовый файл.
Требуется:
Реализовать процедуру чтения исходных данных из файла заданного типа.
Заполнить массив исходными данными.
Реализовать заданный алгоритм поиска или сортировки в виде отдельного класса.
Вывести результаты выполнения программы в файл заданного типа.
Задание №2 – Действия над матрицами
Написать программу реализующую заданную операцию над матрицами. Исходные данные необходимо считать
из файлов. Результаты вычисления программы необходимо записать в файл.
Исходные данные: Реализовать алгоритм поиска индекса столбца матрицы неотрицательных чисел, содержащий
минимальную сумму. Текстовый файл.
Требуется:
Реализовать процедуру чтения исходных данных из файлов заданного типа.
Заполнить массивы исходными данными.
Реализовать алгоритм выполняющий заданную операцию над матрицами.
Вывести результаты выполнения программы в файл заданного типа.
Задание №3 – Методы шифрования данных и работа со строками
Написать программу реализующую заданные операции над текстовыми данными. Необходимо создать форму
Windows с элементами ввода/ вывода данных. Задан алгоритм шифрования или вид действия над исходными
данными.
Исходные данные: Реализовать алгоритм шифрования символов в код азбуки Морзе.
Требуется:
Создать форму Windows с необходимыми элементами управления.
Реализовать функциональность в виде отдельного класса.
В случае реализации алгоритмов шифрования реализовать функцию расшифровки.
Результаты выполнения программы должны выводится на форму Windows.

3.

Быстрая сортировка Хоара
Широкоизвестный метод быстрой сортировки (англ. quicksort) , часто
называемый qsort (по имени в стандартной библиотеке языка Си), был впервые
описан Чарльзом Хоаром в 1962 году. Быстрая сортировка – ряд алгоритмов,
который отражает подходы к получению критичного параметра, влияющего на
производительность метода.
QuickSort является существенно улучшенным вариантом алгоритма
сортировки с помощью прямого обмена (его варианты известны как «Пузырьковая
сортировка» и «Шейкерная сортировка»), известного, в том числе, своей низкой
эффективностью. Отличие данного метода от других состоит в том, что в первую
очередь производятся перестановки на наибольшем возможном расстоянии и после
каждого прохода элементы делятся на две независимые группы.
Основным составляющим является элемент массива, который выбирается
определенный образом. С точки зрения корректности алгоритма выбор опорного
элемента безразличен. С точки зрения повышения эффективности алгоритма
выбираться должна медиана, но без дополнительных сведений о сортируемых
данных ее обычно невозможно получить. Необходимо выбирать постоянно один и
тот же элемент или выбирать элемент со случайно выбранным индексом.
Быстрая сортировка является наиболее эффективным алгоритмом из всех
известных методов сортировки, но все усовершенствованные методы имеют один
общий недостаток – невысокую скорость работы при малых значениях n.

4.

Матрицы. Операции над ними
Матрица – это таблица, образованная из элементов
некоторого множества (например, чисел или функций) и имеющая
m строк и n столбцов. Место каждого элемента определяется
номером строки и столбца, на пересечении которых он находится.
Элементы матрицы обозначаются aij, где i- номер строки, а jномер столбца
Для матрицы определены следующие алгебраические операции:
• Сложение и вычитание матриц;
• Умножение матриц на число;
• Операция умножения матриц;
• Операция транспонирования матрицы.

5.

Алгоритм шифрования символов в код азбуки Морзе
Азбука Морзе – это один из способов кодирования букв, цифр и других
символов. Для кодирования какого-либо символа используется набор знаков, состоящий
из “точек” и “тире”. Сэмюэль Морзе является изобретателем данного метода
кодирования.
В Азбуке Морзе за единицу времени принимается длительность одной точки.
Длительность тире равна трём точкам. Пауза между элементами одного знака — одна
точка, между знаками в слове — 3 точки, между словами — 7 точек.
В данной курсовой работе мы разберем исходный код программы, которая
выполняет шифрование символов в код азбуки Морзе, а также выполняет обратное
действие – дешифровку.
При нажатии кнопки “Зашифровать” происходит следующее : в переменную
input заносится текст из textBox1, затем этот текст переводится в верхний регистр с
помощью метода ToUpper(). Далее в цикле foreach перебираем посимвольно строку
input. Для каждого символа выполняем поиск такого же символа в массиве characters
(пробелы игнорируются) с помощью метода IndexOf() и сохраняем его номер в
переменную index. “Добавляем” к строке вывода (output) код Морзе из массива
codeMorse, в качестве номера элемента указываем index. Разделяем коды Морзе
пробелами. С помощью метода Remove() удаляем последний символ в строке output –
он является пробельным символом. И, наконец, выводим результат шифрования на
экран в textBox2.
Процесс дешифровки по азбуке Морзе реализован по аналогии с
шифрованием. Отметим лишь, что к входной строке применяется метод Split(), который
разбивает строку input на массив строк, разделенных пробелом. Каждый элемент этого
массива будет являться одним закодированным символом.

6.

Обоснование выбора средств проектирования
Для реализации алгоритмов заданных курсовой работой необходимо выбрать язык
программирования и среду разработки. В качестве среды разработки мной была выбрана
интегрированная среда разработки Microsoft Visual Studio, а в качестве языка программирования C# .
Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих
интегрированную среду разработки программного обеспечения и ряд других инструментальных
средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с
графическим интерфейсом.
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense
и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик
уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты
включают в себя редактор форм для упрощения создания графического интерфейса приложения, вебредактор, дизайнер классов и дизайнер схемы базы данных. VisualStudio позволяет создавать и
подключать сторонние дополнения (плагины) для расширения функциональности практически на
каждом уровне, включая добавление поддержки систем контроля версий исходного кода (например,
Subversion и VisualSourceSafe), добавление новых наборов инструментов (например, для
редактирования и визуального проектирования кода).
Главным преимуществом Visual Studio 2012 является производительность. Обеспечивает
возможность создания разнообразных приложений на основе одного набора навыков.
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++
и Java . Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в
том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства,
обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ,
исключения, комментарии в формате XML.

7.

БЛАГОДАРЮ ЗА ВНИМАНИЕ
English     Русский Правила