Тема: «Динамические структуры данных».

Варианты индивидуальных заданий:

При формировании списков значения элементов задавать произвольно, каждый этап алгоритма выполнять в виде отдельной процедуры. Предусмотреть вывод на печать всех промежуточных результатов.

Вариант 1.

Составить процедуру нахождения среднего арифметического элементов непустого списка L. Используя данную процедуру, найти максимальное среднее арифметическое в списках К, М, N.

Вариант 2.

Составить процедуру проверки упорядоченности символьных элементов списка L по алфавиту. Используя данную процедуру, проанализировать элементы списков М, N, К.

Вариант 3.

Составить функцию, подсчитывающую количество слов списка, которые начинаются и оканчиваются одной и той же литерой. Используя данную функцию, найти сумму числа слов, начинающихся и оканчивающихся одной и той же литерой в списках М, К, L.

Вариант 4.

Составить процедуру, которая помещает в начало списка L количество четных элементов, а в конец списка — количество нечетных элементов. С использованием данной процедуры преобразовать списки М, N и К.

Вариант 5.

Составить процедуру, проверяющую на равенство значения элементов списков L1 и L2 и подсчитывающую количество одинаковых элементов в них. Используя процедуру, проанализировать пары списков М1 и М2, N1 и N2.

Вариант 6.

Составить процедуру, определяющую вхождение списка L1 в список L2 и наоборот. Если один из списков длиннее, удалить лишние элементы из его начала. Используя процедуру, проанализировать пары списков М1 и М2, N1 и N2.

Вариант 7.

Составить процедуру, определяющую порядковый номер наибольшего элемента последовательности натуральных чисел. Используя данную процедуру, проанализировать последовательности натуральных чисел М и N.

Вариант 8.

Составить процедуру вставки элемента Е после каждого элемента списка, превышающего некоторое значение Р. Подсчитать количество вставленных элементов.

Вариант 9.

В списке натуральных чисел переставить элементы по следующему правилу: если текущий элемент больше некоторого числа Р, то поместить следующий за ним элемент в конец цепочки; если текущий элемент меньше или равен числу Р, перенести в начало цепочки текущий элемент (первый оставить без изменения).

Вариант 10.

Построить список L1 — копию списка L, расположив элементы в обратном порядке (первый элемент списка L — последний элемент списка L1). Заменить элементы списка L, имеющие четные значения, на элементы списка L1, имеющие нечетные значения.

Вариант 11.

Построить список L, упорядочив его по возрастанию, из двух неупорядоченных списков L1 и L2.

Вариант 12.

Определить, входит ли элемент Е в список L; подсчитать количество вхождений данного элемента в список. Вставить первый элемент цепочки после каждого вхождения Е в список.

Вариант 13.

Построить список L, упорядочив его по убыванию, из четных элементов L1 и нечетных элементов L2.

Вариант 14.

Сформировать список L из элементов, которые входят одновременно в списки L1 и L2. Дописать в начало элементы, которые входят в L1, но не входят в L2, а в конец — элементы, которые входят в L2, но не входят в L1.

Вариант 15.

Сформировать список L, включив в него положительные элементы списка L1 и отрицательные элементы списка L2. Список L отсортировать в порядке возрастания абсолютных значений элементов.

Вариант 16.

Определить, является ли список L пустым; если список непуст, поменять местами первый и последний элементы списка и найти среднее арифметическое значений элементов.

Вариант 17.

Сформировать списки L1 и L2 из списка по следующему правилу: в L1 поместить четные положительные элементы списка L, в L2 — нечетные отрицательные элементы списка L. Подсчитать количество компонентов в списках L1 и L2.

Вариант 18.

Сформировать списки L1 и L2 из списка L по следующему правилу: в список L1 занести порядковые номера положительных компонентов, а в список L2 — отрицательных, считая от начала списка L. В начало списка Ll и конец списка L2 добавить порядковые номера нулевых компонентов списка L.

Вариант 19.

Дописать в список L после первого вхождения элемента Е список L1 и удалить из списка L все оставшиеся элементы Е, если таковые имеются.

Вариант 20.

Дописать после каждого вхождения в список L компонента Е элемент, который представляет собой среднее арифметическое положительных элементов списка L.

Вариант 21.

Определить максимальные элементы списков L1 и L2. Поменять местами найденные максимальные элементы в списках. Вывести порядковые номера найденных элементов, считая от начала списка.

Вариант 22.

Дописать в конец списка L1 максимальный четный элемент списка L2, а в начало списка — L2 минимальный нечетный элемент списка L1.

Вариант 23.

Вставить после максимального элемента цепочки L1 компонент, равный среднему арифметическому компонентов списка L2; перед минимальным элементом списка L1 — компонент, равный произведению компонентов списка L2.

Вариант 24.

Сформировать цепочку L из минимальных и максимальных элементов цепочек L1 и L2, поместив минимальные элементы в начало, а максимальные в конец, а среднее арифметическое компонентов L1 и L2 — в середину цепочки L.

Вариант 25.

Заменить минимальный и максимальный элемент списка L компонентом, равным среднему арифметическому компонентов списка L, минимальный элемент дописать в начало цепочки, максимальный в конец.