Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_pr_ta / Лаб_та_пр__10.doc
Скачиваний:
31
Добавлен:
07.02.2016
Размер:
166.91 Кб
Скачать

Індивідуальні завдання.

  1. Функція Аккермана має означення:

де n, x, y - цілі невід’ємні числа.

Обчислити значення функції Аккермана за допомогою стека, що містить трійки чисел (i, j, k).

  1. Написати нерекурсивну функцію, яка, використовуючи стек, обчислює значення F(m,n) для будь-якої пари невід’ємних чисел n і m за співвідношенням

  1. На вході задана послідовність n трійок (xi,yi, pi), де xi,- англійське слово, yi,- його український еквівалент, pi - частота використання ( в %) слова xi, в типовому англійському тексті. Для послідовності пар (xi,yi), інтерпретованих як лінійний список, застосоване послідовно - зв’язане зберігання. Елементи, що мають однакову першу букву англійського слова, вміщуються в один зв’язаний список, де впорядковані за спаданням частоти використання. Написати програму формування цієї структури даних та здійснення послідовного перекладу англійського речення з m слів. За відсутності перекладу конкретного англійського слова залишити його неперекладеним.

  2. Многочлен від однієї змінної з цілими коефіцієнтами можна подати зв’язаним лінійним списком, впорядкованим за зростанням степеня змінної без одночленів з нульовими коефіцієнтами (на рис. зображено многочлен x5 -12x2+3). Написати функції, які реалізують над многочленами у такому поданні:

  1. додавання двох многочленів;

  2. множення двох многочленів;

  3. ділення двох многочленів з часткою та остачею у вигляді многочленів.

  1. Придумати спосіб моделювання черги за допомогою двох стеків ( та фіксованого числа змінних типу Т). При цьому обробка n операцій з чергою (таких, які починаються, коли черга порожня) повинна вимагати дій порядку n.

  2. Деком називають структуру, яка поєднує чергу та стек: додавати та забирати елементи можна з обох кінців. Треба реалізувати дек обмеженого розміру на базі масиву так, щоб кожна операція потребувала обмеженого числа дій.

  3. Є дек елементів типу Т (див. задачу 6) і кінчене число змінних типу Т та цілого типу. В початковому стані в деку деяке число елементів. Скласти програму, після виконання якої в деку зостались би ті ж самі елементи, а їх число було б в одній з цілих змінних.

  4. Надрукувати в порядку зростання перші n натуральних чисел, в розкладу яких на прості множники входять тільки числа (2, 3, 5). (Вказівка: використати 3 черги).

  5. Відомо, що орієнтований граф зв’язаний, якщо з будь якої вершини виходить стільки ж ребер, скільки входить. Довести, що існує замкнутий цикл, який проходить по кожному ребру рівно один раз. Скласти алгоритм відшукання такого циклу.

  1. Довести, що для всякого n існує послідовність нулів та одиниць довжини 2n з наступною властивістю: якщо “звернути її в кільце” та розглянути всі фрагменти довжини n (їх кількість дорівнює 2n ), то одержимо всі можливі послідовності нулів та одиниць довжиною n. Побудувати алгоритм пошуку такої послідовності, який потребує не більш ніж Сn дій для деякої константі С.

  2. Реалізувати k черг з обмеженою сумарною довжиною n, використовуючи пам’ять порядку n+k, причому кожна операція (крім початкової, яка робить всі черги порожніми) повинна потребувати обмеженого константою кількості дій.

  3. На площині задано n точок, які пронумеровані зліва направо (а при рівних абсцисах - знизу вверх). Скласти програму, яка будує многокутник, що є випуклою їх оболонкою, за не більш ніж С*n дій.

  4. За один перегляд файлу f дійсних чисел та без використання додаткових файлів надрукувати елементи файлу f в наступному порядку: спочатку всі числа менші за a, далі всі числа з відрізку [a,b], і в кінці всі інші числа, зберігаючи вихідний взаємний порядок в кожній з цих трьох груп чисел (a та b - задані числа, a<b).

  5. Складове текстового файлу f , розділене на рядки, переписати в текстовий файл g, переносячи при цьому в кінець кожного рядка всі цифри, які входять до нього (з зберіганням вихідного взаємного порядку як серед цифр, так і серед решти літер рядка).

  6. В текстовому файлі f записана без помилок формула такого виду:

<формула>::=<цифра>| М(<формула>,<формула>)|m(<формула>,<формула>)

<цифра>::=0|1|2|3|4|5|5|7|7|9

де М - означає функцію max, а m - min.

Визначити (як ціле число) значення даної формули (наприклад, M(5,m(6,8)) 6).

Соседние файлы в папке lab_pr_ta