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

Варіант 17

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

Визначити чи є трикутник зі сторонами a, b, c рівнобедреним (a, b,– додатні цілі числа)

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

  2. Виконайте еквівалентні перетворення граматики G=({R, T, F, G, K}, {m, i, j, k, ^, ~, ⊥}, P, R), де P = {R→R~T⊥| R^T⊥ | ε; T→F | Fi | Fj | Gk | ε; G→GkG; K→Ki | Km | m} спрямовані на видалення:

  1. ε –правил;

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

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

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

Варіант 18

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

Обчислити суму непарних чисел на проміжку [0, x] (– додатне ціле число)

  1. Для граматики G=({S, A, B, C, D}, {a, b, c, d, v}, P, S), де P={SaBC, BAD, Ab, Dda, Ccv} вибрати довільний ланцюжок і побудувати відповідне дерево виводу.

  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. Побудуйте, якщо це можливо, ліволінійну граматику, яка породжує ланцюжки, які починаються і закінчуються парною цифрою, крім того парна цифра чередується з непарною.

Варіант 19

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

Обчислити значення функції sg(x) (x – додатне ціле число)

  1. Для граматики G=({S}, {a, b}, P, S), де P={SaSa, SbSb, Saa, Sbb} вибрати довільний ланцюжок і побудувати відповідне дерево виводу.

  2. Виконайте еквівалентні перетворення граматики G=({Q, A, B, C, D}, {a, b, c, d}, P, Q), де P = {Q→acA | acB | ε , B→A | Cb | ε , A→Aa | Ab | a, C→dCc, D→dc} спрямовані на видалення:

  1. ε –правил;

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

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

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

Варіант 20

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

Обчислити 2x (x – додатне ціле число)

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

  2. Виконайте еквівалентні перетворення граматики G=({E, T, F, G, H}, {+, -, *, /, n, m, h}, P, E), де P = {E→T | E+T | E-T | ε; T→F | F*T | F/T | ε; F→G | Fn | n; G→Gm; H→Hh | h} спрямовані на видалення:

  1. ε –правил;

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

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

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