- •Сборник методических указаний к лабораторным работам
- •Тула 2012
- •Содержание
- •Лабораторная работа №1 Использование стека при решении различных задач
- •1. Цель работы
- •2. Теоретические сведения
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы.
- •Лабораторная работа №2 Использование очереди при решении задач обслуживания вс поступающих заявок
- •1. Цель работы
- •2. Теоретические сведения
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы.
- •Лабораторная работа №3 Аналитические преобразования полиномов от нескольких переменных
- •1. Цель работы
- •2. Теоретические сведения
- •Реализация алгоритмов обработки полиномов
- •1. Ввод полинома
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы.
- •Лабораторная работа №4 Организация доступа в таблицах по имени
- •1. Цель работы
- •2. Теоретические сведения
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы.
- •Лабораторная работа №5 методы внутренней сортировки
- •1. Цель работы
- •2. Теоретические сведения
- •3. Порядок выполнения работы
- •6. Контрольные вопросы.
- •Лабораторная работа №6 способы задания графов
- •3. Порядок выполнения работы.
- •4. Требования к оформлению отчета.
- •5. Варианты заданий.
- •6. Контрольные вопросы.
Реализация алгоритмов обработки полиномов
1. Ввод полинома
Ввод полинома целесообразно оформить как ввод текстовой строки с формульным выражением, описывающим вводимый полином. Возможная форма задания полинома может быть выбрана следующей
P='x7y2z1+3x2z1-6y2-3z9 '
Q='-7x2z1+6y2+5'
Можно принять, что коэффициенты мономов имеют целый тип; при вводе полинома рекомендуется контролировать наличие мономов с одинаковыми степенями переменных и осуществлять приведение подобных членов.
2. Вывод полинома
Вывод полинома осуществляется обходом списка и печатью коэффициента и степеней каждого монома.
Следует отметить, что голова полинома играет роль барьера при обходе списка: цикл завершается, когда текущим звеном окажется головное звено.
Рекомендуемая форма печати полинома состоит в представлении полинома в виде текстовой строки с формульным выражением, описывающим полином. Например, полином P(x,y,z) из примера может быть представлен как строка
P(x,y,z)='x7y2z1-4x2z1-3x9+5'
3.Удаление полинома.
При удалении полинома предлагается возвращать освободившуюся память в кучу. В этом случае не образуется мусор из освободившихся звеньев.
При удалении полинома осуществляется обход списка аналогично предыдущей операции, и каждое звено возвращается в кучу.
4.Копирование полинома.
При копировании полинома сначала создается голова копии, затем обходится исходный список и к результирующему списку присоединяется новое звено (память под него выделяется из кучи), информация в которое копируется из текущего звена исходного списка:
5.Сложение полиномов.
Для сложения полиномов P и Q производится одновременный обход обоих списков, начиная с головных звеньев, по правилу слияния упорядоченных массивов. Сумма формируется на месте первого слагаемого (P). При этом, если свернутая степень текущего монома полинома Q больше свернутой степени текущего монома полинома P, то копия монома полинома Q вставляется в полином P; в полиноме Q осуществляется переход на следующее звено. Если свернутая степень текущего монома полинома P больше свернутой степени текущего монома полинома Q, то в полиноме P осуществляется переход на следующее звено. Если свернутые степени текущих мономов полиномов P и Q совпадают, то осуществляется приведение подобных членов к коэффициенту монома полинома P прибавляется коэффициент монома полинома Q. Если при этом сумма коэффициентов оказывается равной нулю, то соответствующий моном полинома P исключается из списка. В обоих списках осуществляется переход к следующему звену.
Для реализации операций вставки и удаления звеньев в односвязных списках необходимы указатели как текущего, так и предыдущего звеньев.
Процедуры и функции, реализующие операции над полиномами, рекомендуется оформить в виде отдельной библиотеки.
3. Порядок выполнения работы
Получить вариант задания у преподавателя.
Разработать программу.
Продемонстрировать выполнение преподавателю.
Оформить и защитить отчет.
4. Требования к оформлению отчета
Отчет по лабораторной работе должен содержать следующие разделы:
задание по лабораторной работе;
листинг программы;
выводы по проделанной работе.