Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Завдання розрахункової по теорії програмування.doc
Скачиваний:
10
Добавлен:
06.06.2015
Размер:
216 Кб
Скачать
☆

Варіант 1

  1. Побудувати програму на мові SIPL. Перевірити синтаксичну правильність програми , побудувавши її дерево синтаксичного виводу. Побудувати семантичний терм даної програми та застосувати його до певних вхідних даних.

Обчислити x–y, використовуючи функцію віднімання одиниці (–1) (x, y – додатні цілі числа).

  1. Для граматики G=({S, Q, A, B}, {a, b, c}, P, S), де P={S QB, S, QAc, ABa, Bb}, вибрати довільний ланцюжок і побудувати відповідне дерево виводу.

  2. Виконайте еквівалентні перетворення граматики G= ({S, M, К, T}, {@, #, a, b, d}, P, S) де P = {S → S@Td | MTb | К | Sab, M → К#, К → Mab | К#a, T → Sdb | ε} спрямовані на видалення:

    1. ε -правил;

    2. Непродуктивних символів;

    3. Недосяжних символів.

  1. Побудуйте, якщо це можливо, контекстно-вільну граматику, яка контекстно-вільну породжує мову: L(G) = {, n > 0}.

Варіант 2

  1. Побудувати програму на мові SIPL. Перевірити синтаксичну правильність програми , побудувавши її дерево синтаксичного виводу. Побудувати семантичний терм даної програми та застосувати його до певних вхідних даних.

Підрахувати суму чисел від 0 до вказаного числа x (x – додатне ціле число).

  1. Для граматики G=({S, Q, A, B}, {a, b, c}, P, S), де P={S BA, S , BQa, QAb, Aca} вибрати довільний ланцюжок і побудувати відповідне дерево виводу.

  2. Виконайте еквівалентні перетворення граматики G= ({S, F, N}, {a, @, f, ☺}, P,S), де P = {S→ aF@f | ☺N | fS, F→ ε | N | @☺fF, N→ SN} спрямовані на видалення:

    1. ε –правил;

    2. Непродуктивних символів;

    3. Недосяжних символів.

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

Варіант 3

  1. Побудувати програму на мові SIPL. Перевірити синтаксичну правильність програми , побудувавши її дерево синтаксичного виводу. Побудувати семантичний терм даної програми та застосувати його до певних вхідних даних.

Визначити модуль числа x (x, y – додатні цілі числа).

  1. Для граматики G=({S, A, C, D}, {a, b, c}, P, S), де P={S ASD, S , ACaSD, CaSD, DAacb, Aaa} вибрати довільний ланцюжок і побудувати відповідне дерево виводу.

  2. Виконайте еквівалентні перетворення граматики G= ({S, M, N, L}, {a, b, c, d, f}, P,S), де P = {S→ aML | bcN | ε, M→ Mac, N→ SMa | Ld, L→S | NMf} спрямовані на видалення:

    1. ε –правил;

    2. Непродуктивних символів;

    3. Недосяжних символів.

  1. Побудуйте, якщо це можливо, контекстно-вільну граматику, яка породжує контекстно-вільну мову L(G) = { | n > 0}.

Варіант 4

  1. Побудувати програму на мові SIPL. Перевірити синтаксичну правильність програми , побудувавши її дерево синтаксичного виводу. Побудувати семантичний терм даної програми та застосувати його до певних вхідних даних.

Обчислити xy, використовуючи функції +, –, (x, y – додатні цілі числа).

  1. Для граматики G=({S, C, A, D}, {a, b, c}, P, S), де P={S DC,S , Dab, CAb, DDca, Dca} вибрати довільний ланцюжок і побудувати відповідне дерево виводу.

  2. Виконайте еквівалентні перетворення граматики G= ({S, A, B, D, E}, {a, b, c, d, e}, P, S), де P = {S→aSbDcC | BcA, A→BcS | acb, B→c | Bb | ε, D→ccAD, E→de} спрямовані на видалення:

    1. ε –правил;

    2. Непродуктивних символів;

    3. Недосяжних символів.

  1. Побудуйте, якщо це можливо, контекстно-вільну граматику, яка породжує контекстно-вільну мову L(G) = { | n ≥ 0}.