|
Алгоритмы и структуры данных. Вариант №13
|
|
| engineerklub | Дата: Суббота, 06.05.2023, 06:52 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 37439
Статус: Offline
| Алгоритмы и структуры данных. Вариант №13
Тип работы: Работа Контрольная Форматы файлов: Microsoft Word Сдано в учебном заведении: СибГУТИ
Описание: Контрольная работа
Задание
Таблица 1. Варианты заданных предметных областей (ХХ – 2 последние цифры пароля) ХХ Предметная область Атрибуты информации Критерий отбора 13 38 63 88 Описание изображения тип фигуры (квадрат, окружность и т.п.), координаты на плоскости, числовые характеристики (длина стороны, радиус и т.п.). Многоугольники
------------------------------------------------------------------------------
Содержание:
Задание Часть I – Статические структуры 1.Текст задания 2.Текст программы 3.Результаты работы программы 4.Анализ полученных результатов Часть II – Дисциплина обслуживания 1.Текст задания 2.Текст программы 3.Результаты работы программы 4.Анализ полученных результатов Часть III – Линейные односвязные списки 1.Текст задания 2.Текст программы 3.Результаты работы программы 4.Анализ полученных результатов Часть IV – Двусвязные и кольцевые списки 1. Текст задания 2.Текст программы 3.Результаты работы программы 4.Анализ полученных результатов Выводы по работе
------------------------------------------------------------------------------
Часть I – Статические структуры
1. На основе материалов конспекта лекций, рекомендуемой литературы и материалов сети Интернет изучить теоретический материал по программированию статических структур данных (раздел 1 конспекта лекций) и области их эффективного использования, а также возможности языка С++ для создания и обработки статических структур.
2. Разработать программу с пользовательскими функциями для решения следующей задачи:
в соответствии с индивидуальным вариантом (табл. 1) составить структуру данных, описывающую заданную предметную область; написать подпрограммы: добавления записи; вывода записей на экран; удаления записи, указанной ее порядковым номером; изменение данных записи, указанной ее порядковым номером; вывода на экран записей, удовлетворяющих некоторому критерию; в основной программе организовать простое текстовое меню, посредством которого реализовать обработку данных при помощи вызова подпрограмм. 3. Протестировать программу. Данные следует вводить псевдореальные (не бессмысленные).
СКАЧАТЬ
|
| |
|
|
| engineerklub | Дата: Суббота, 06.05.2023, 06:52 | Сообщение # 2 |
 Генералиссимус
Группа: Администраторы
Сообщений: 37439
Статус: Offline
| Часть II – Дисциплина обслуживания
1. На основе материалов конспекта лекций, рекомендуемой литературы и материалов сети Интернет изучить теоретический материал по программированию статических структур данных с заданной дисциплиной обслуживания (раздел 2 конспекта лекций) и области их эффективного использования, а также возможности языка С++ для создания и обработки структур с заданной дисциплиной обслуживания.
2. На базе структуры, разработанной при выполнении части I, реализовать обработку данных посредством заданной дисциплины обслуживания, выбранной согласно последней цифре пароля:
нечетная цифра – LIFO (стек); четная цифра – FIFO (очередь); 3. Посредством пользовательских функций реализовать следующие операции:
добавление новой записи (с проверкой на переполнение); извлечение записи (с исключением) и возвращение ее в основную программу для вывода на экран; определение числа хранимых записей; очистка структуры. 4. Провести тестирование реализованных функций.
5. Разработать пользовательскую функцию вывода на экран записей, удовлетворяющих заданному критерию, и протестировать ее выполнение. Функция должна вызывать функцию извлечения записи и осуществлять ее проверку на соответствие параметрам. При соответствии выводить запись на экран, иначе отбрасывать. В результате проведенного анализа структура должна оказаться пустой.
Часть III – Линейные односвязные списки
1. На основе материалов конспекта лекций, рекомендуемой литературы и материалов сети Интернет изучить понятие линейного односвязного списка (раздел 3 конспекта лекций) и возможности языка программирования С++ для создания и обработки односвязных списков.
2. Разработать программу на языке С++ для решения следующей задачи: В соответствии с индивидуальным вариантом задания (табл. 1) реализовать динамическую структуру данных, описывающую предметную область в виде линейного односвязного списка, и процедуры:
добавления элемента в начало списка; добавления элемента в конец списка; удаления элемента из начала списка; удаления элемента из конца списка; удаления из списка элемента, указанного его порядковым номером; изменение данных элемента списка, указанного его порядковым номером; вывода элементов списка на экран. 3. Протестировать программу.
Часть IV – Двусвязные и кольцевые списки
1. На основе материалов конспекта лекций, рекомендуемой литературы и материалов сети Интернет изучить понятие двусвязного и кольцевого списка (раздел 4 конспекта лекций) и возможности языка программирования С++ для создания и обработки таких списков.
2. Выполнить преобразование кода, разработанного при выполнении задания части III, сделав список:
нечетная цифра – однонаправленным кольцевым; четная цифра – двунаправленным кольцевым; 3. Предусмотреть такие процедуры работы со списком:
добавления элемента в заданную позицию списка; изменение данных элемента списка в заданной позиции; удаления элемента из заданной позиции списка; вывода элементов списка на экран.
СКАЧАТЬ
|
| |
|
|
| engineerklub | Дата: Суббота, 06.05.2023, 06:53 | Сообщение # 3 |
 Генералиссимус
Группа: Администраторы
Сообщений: 37439
Статус: Offline
| Тип работы: Работа Лабораторная Форматы файлов: Microsoft Word Сдано в учебном заведении: СибГУТИ
Описание: Лабораторная работа 1
Задание
Тема: Линейные односвязные списки. Цель: изучение и освоение использование структур и линейных списков. Задание: 1. На основе материалов конспекта лекций (раздел 3) и рекомендуемой литературы изучить теоретический материал по программированию односвязного списка. 2. Сформировать однонаправленный список целых чисел заданной (см. табл. 1) длины и вывести его на экран. 3. Рассчитать заданный (см. табл. 1) показатель на основе значений элементов списка и вывести значение показателя на экран. 4. Выполнить заданную (см. табл. 1) обработку списка и вывести обработанный список на экран.
Таблица 3 - Индивидуальные задания к лабораторной работе №1 № варианта Число элементов Критерий для анализа Обработка 14 20 Минимальный по модулю элемент B. Отрицательные элементы сделать положительными и уменьшить на B
Содержание:
Задание Блок-схема алгоритма выполнения программы Текст программы Результаты работы программы Анализ полученных результатов Вывод
Лабораторная работа 2
Задание
Лабораторная работа №2 Тема: Двусвязные списки Цель работы: изучить понятие и способы описания двусвязных списков и освоить их программную реализацию средствами языка С++. Задание 1. На основе материалов конспекта лекций (раздел 3) и рекомендуемой литературы изучить теоретический материал по программированию двусвязного и кольцевого списка. 2. Составить программу на языке С++, в которой реализовать двусвязный список целых чисел. Предусмотреть операции добавления, изменения и удаления элемента в указанной позиции. 3. Сформировать список произвольных целых чисел (не менее 10 элементов) и вывести его на экран. 4. В соответствии с индивидуальным вариантом (табл. 2) обработать данные списка. При этом не использовать дополнительные списки или массивы. Обработанные данные вывести на экран. 5. Модифицировать программу для работы с кольцевым двусвязным списком и протестировать ее работу. 6. Сравнить реализации обоих списков и сделать выводы.
14. Упорядочить элементы списка по возрастанию
Содержание:
Задание Лабораторная работа №2 Блок-схема алгоритма выполнения программы Текст программы Результаты работы программы Анализ полученных результатов Вывод
Лабораторная работа 3
Задание
Тема: Бинарные деревья Цель работы: изучить понятие и способы описания бинарных деревьев и освоить их приемы программирования алгоритмов их обработки. Задание 1. На основе материалов конспекта лекций (раздел 5) и рекомендуемой литературы изучить теоретический материал по программированию бинарных деревьев. 2. Сформировать дерево (деревья) двоичного поиска и вывести его (их) на экран. 3. Выполнить обработку данных на этом бинарном дереве (табл. 3, задание 1) и вывести обработанное дерево на экран. 4. На полученном бинарном дереве найти заданную характеристику (табл. 3, задание 2) и вывести ее на экран.
Таблица 3 - Индивидуальные задания к лабораторной работе №3 № варианта Задание 1 (преобразование) Задание 2 (определение характеристики) 14 Обнулить элементы, являющиеся совершенным числом и среди потомков которых также есть совершенные числа. Определить для узла и двух его потомков, можно ли их значения принять за стороны треугольника. Найти количество возможных решений для данного бинарного дерева.
Содержание:
Задание Блок-схема алгоритма выполнения программы Текст программы Результаты работы программы Анализ полученных результатов Вывод
СКАЧАТЬ
|
| |
|
|