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

Варіант 9

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

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

  1. Для граматики G=({S, L, F}, {w, v, c}, P, S), де P={SLcS, S, LwFS, Fc, FSwvF} вибрати довільний ланцюжок і побудувати відповідне дерево виводу.

  2. Виконайте еквівалентні перетворення граматики G= ({S, A, E, M, L}, {b, c, e}, P, S), де P = { S→AEb | ε, A→ A | MeS, E→bL | eS | c, M→eA, L→bS} спрямовані на видалення:

  1. ε –правил;

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

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

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

Варіант 10

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

Підрахувати суму всіх чисел від a до b (b > a), включаючи a і b (a,– додатні цілі числа).

  1. Для граматики G=({S, N, Q}, {a, b, c}, P, S), де P={S NQ, S , Nbc, QacNa, Naacb} вибрати довільний ланцюжок і побудувати відповідне дерево виводу.

  2. Виконайте еквівалентні перетворення граматики G= ({S, K, M, L}, {a, c, ☺}, P, S), де P = { S→ aK | cM, K→La | ε, L→La, M→KaM | c} спрямовані на видалення:

  1. ε –правил;

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

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

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

Варіант 11

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

Знайти найменше ціле число y, при якому виконується нерівність 3* y > x (x,– додатні цілі числа).

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

  2. Виконайте еквівалентні перетворення граматики G= ({S, A, B, F, M}, {d, m, n}, P, S), де P = { S→ nmB | nmA, A→Am | Ad, B→mn | ε, F→dMn, M→dn} спрямовані на видалення:

  1. ε –правил;

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

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

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

Варіант 12

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

Дано координати точки (x, y), що не лежить на координатних осях. Знайти номер координатної четверті в якій знаходиться точка (x,– цілі числа).

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

  2. Виконайте еквівалентні перетворення граматики G=({Y, K, M, L, S}, {a, b, *, /, ^}, P, Y), де P = {Y→KS | KM; K→K* | K/ | S; S→Sa/ | Sb/ | ε; M→*M*; L→L^ | ^a} спрямовані на видалення:

  1. ε -правил.

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

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

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