Основы программирования на C++, PASCAL
6.15. Задачи по теме «Динамические структуры данных»
1. Составить программу, которая вставляет в список L новый элемент F за каждым вхождением элемента Е.
2. Составить программу, которая вставляет в список L новый элемент F перед первым вхождением элемента Е, если Е входит в L.
3. Составить программу, которая вставляет в непустой список L, элементы которого упорядочены по неубыванию, новый элемент Е так, чтобы сохранилась упорядоченность.
4. Составить программу, которая удаляет из списка L все элементы Е, если таковые имеются.
5. Составить программу, которая удаляет из списка L за каждым вхождением элемента Е один элемент, если таковой имеется и он отличен от Е.
6. Составить программу, которая удаляет из списка L все отрицательные элементы.
7. Составить программу, которая проверяет, есть ли в списке L хотя бы два одинаковых элемента.
8. Составить программу, которая переносит в конец непустого списка L его первый элемент.
9. Составить программу, которая вставляет в список L за первым вхождением элемента Е все элементы списка L, если Е входит в L.
10. Составить программу, которая переворачивает список L, т.е. изменяет ссылки в этом списке так, чтобы его элементы оказались расположенными в обратном порядке.
11. Составить программу, которая в списке L из каждой группы подряд идущих одинаковых элементов оставляет только один.
12. Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.
13. Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1, но не входят в список L2.
14. Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в один из списков L1 и L2, но в то же время не входят в другой.
15. Многочлен

с целыми коэффициентами можно представить в виде списка, причем если аi = 0, то соответствующее звено не включается в список.

Ниже показано представление многочлена S(x) = 52x40— 3х8 + х.

Описать на языке Паскаль тип данных, соответствующий такому представлению многочленов, и определить следующие процедуры и функции для работы с этими списками-многочленами:
15.1. Логическую функцию Ravno (P, Q), проверяющую на равенство многочлены Р и Q.
15.2. Функцию Znach(P,x), вычисляющую значение многочлена Р в целочисленной точке х.

