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

Варіант 1

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

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

  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 (– додатне ціле число).

  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,– додатні цілі числа).

  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,– додатні цілі числа).

  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}.