Алгоритмы типовых задач
Автор: redgi06 • Май 21, 2022 • Лабораторная работа • 1,226 Слов (5 Страниц) • 500 Просмотры
[pic 1]
Кафедра информационных систем
Рейтинговая работа | Расчетно-аналитическое задание |
по дисциплине | Алгоритмизация и программирование |
Задание / Вариант № | Индивидуальное задание в соответствие с ФИО и ID |
Тема | Алгоритмы типовых задач |
Выполнена обучающимся группы | о.ИВДтс 30.1/Б3-21 |
ФИО обучающегося | Суслов Семён Владимирови |
Преподаватель | Зайцев Сергей Александрович |
Москва – 2022 г.
Содержание
1. Задание с исходными данными 3
2. Описание последовательности выполнения работы 4
3. Обоснование выбора алгоритмов сортировки 5
4. Листинг программного кода 7
5. Результаты выполнения программы 10
6. Список использованных источников 11
ЗАДАНИЕ С ИСХОДНЫМИ ДАННЫМИ
Дан ряд целых чисел, полученный в результате обработки символов Фамилии, Имени, Отчества обучающегося, а также его ID. Необходимо отсортировать набор данных двумя способами, а также выполнить некоторые арифметические расчеты.
Исходные данные
ФИО и ID подготавливаются заранее в текстовом файле с именем source_data.txt в кодировке Unicode (Юникод). Каждое слово, составляющее ФИО должно быть с заглавной буквы. Слова между собой должны быть разделены пробелом. Точка в конце не ставится. Текстовый файл с исходными данными должен иметь следующий вид:
Суслов Семен Владимирович
70180283
[pic 2]
ОПИСАНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ ВЫПОЛНЕНИЯ РАБОТЫ
Для решения задачи необходимо:
- Выполнить чтение данных (символов ФИО и ID) из файла «source_data.txt» в две строки;
- Удалить пробелы и символы перевода каждой строки;
- Получить два списка кодов – по одному для каждого из алгоритмов сортировки, а также третий список кодов для вывода исходных, неотсортированных кодов в файл результатов «result.txt»;
- Найти длину (количество элементов) списка исходных кодов;
- Вычислить значение, определяющее направление сортировки – разделить целочисленное значение ID на длину списка нацело;
- Определить направление сортировки в зависимости от четности полученного значения – список необходимо отсортировать по возрастанию, если значение четное, по убыванию – если нечетное. Выбрать соответствующую функцию сравнения двух чисел, определяющую направление сортировки;
- Выполнить сортировку списков пузырьком и вставками, используя для упорядочения выбранную на предыдущем шаге функцию;
- Рассчитать среднеквадратическое значение как корень из суммы квадратов элементов списка исходных кодов, разделенный на длину списка. Выполнить округление полученного значения до трех знаков после запятой;
- Рассчитать среднее арифметическое значение как сумму элементов списка исходных кодов, разделенная на длину списка. Выполнить округление полученного значения до трех знаков после запятой;
- Записать полученные значения в файл «result.txt».
ОБОСНОВАНИЕ ВЫБОРА АЛГОРИТМОВ СОРТИРОВКИ
Для сортировки элементов были выбраны алгоритмы сортировки «пузырьком» и методом простой вставки, поскольку они являются простыми в изучении и достаточными для того, чтобы отсортировать небольшой объем данных без существенных временных потерь (поскольку в исходном задании не выдвигается требований к использованию памяти и допустимой скорости выполнения сортировки данных).
Блок-схемы алгоритмов приведены на рисунках ниже («пузырьком» – на рисунке 1, вставок – на рисунке 2).
...