Для представления исходных и выходных данных используйте необходимые компоненты вместо текстовых файлов. 1. Сформировать список строк и а) сохранить его в текстовом файле; б) сохранить его в обратном порядке в текстовом файле. Использовать рекурсию. 2. Сформировать список строк из текстового файла и подсчитать количество символов во всех элементах списка. 3. Написать функцию, которая вычисляет среднее арифметическое элементов непустого списка. 4. Написать процедуру присоединения списка L2 к списку L1. 5. Написать функцию, которая создает список L2, являющийся копией списка L1, начинающегося с данного узла. 6. Написать функцию, которая подсчитывает количество вхождений ключа в списке. 7. Написать функцию, которая удаляет из списка все вхождения ключа. 8. Многочлен задан своими коэффициентами, которые хранятся в форме списка. Написать функции: – Equal(p, q), проверяющую на равенство многочлены p и q; – Summa(p, q, r), которая строит многочлен r = p + q. 9. Вычислить значение многочлена в целочисленной точке x. Коэффициенты вводятся с клавиатуры и динамически размещаются в памяти. 10. Сформировать список целых чисел и упорядочить их по неубыванию. 11. Сформировать список целых чисел и удалить из него все четные. 12. Сформировать список вещественных чисел и вычислить сумму. 13. Написать рекурсивную и нерекурсивную процедуры проверки наличия в списке заданного числа. 14. Написать функцию, которая проверяет, упорядочены ли элементы списка по алфавиту. 15. Написать функцию, подсчитывающую количество слов в списке, которые начинаются с той же буквы, что и следующее слово. 16. Определить симметричность произвольного текста любой длины. Текст должен оканчиваться точкой. Задачу решить с помощью двух списков. 17. Вычислить значение выражения . Значения вводятся с клавиатуры и динамически размещаются в памяти. 18. Написать функцию, которая использует исходный список L и создает два новых списка L1 и L2. L1 содержит нечетные узлы, а L2 – четные. 19. Написать функцию, которая использует исходный список L и создает два новых списка L1 и L2. L1 содержит нечетные числа, а L2 – четные. 20. Сформировать два списка, отсортировать их объединить в один, не нарушая порядка. 2.Контрольные вопросы 1. В чем сходство и отличие динамических структур данных типа список и стек? 2. Можно ли добраться до середины или конца («дна») стека, минуя его начало («вершину»)? 3. Приведите примеры из жизни, где встречается «принцип стека». 4. Оформите в виде процедуры Push занесение в стек значения. 5. Оформите в виде процедуры Pop извлечение значения из стека. Варианты заданий 1. Подсчитать количество элементов в стеке. 2. Сформировать стек, содержащий строки и сохранить его в текстовом файле. 3. Восстановить стек, содержащий строки, из текстового файла. 4. Написать функцию, которая вычисляет среднее арифметическое элементов стека. 5. Написать процедуру присоединения стека S2 к стеку S1. 6. Определить симметричность произвольного текста любой длины. Текст должен оканчиваться точкой. Задачу решить с помощью двух стеков. 7. Слить два стека, содержащих возрастающую последовательность целых положительных чисел, в третий стек так, чтобы его элементы располагались также в порядке возрастания. 8. В данном тексте проверить соответствие открытия и закрытия скобок. 9. Напечатать содержимое текстового файла, выписывая символы каждой его строки в обратном порядке. 10. Проверить, является ли строка палиндромом. |