ИДЗ-2 МЛиТА 2013

Задания по ИДЗ-2 МлиТА 2013

Работы должны быть выложены на студенческих сайтах в форме документов, к редактированию которых преподаватель имеет доступ.
В отчёт должны войти:
1. Набор граничных примеров и контрпримеров, демонстрирующих уточнение языка.
2. КС-грамматика языка.
3. Грамматический разбор одного примера.
4. Проверка того, что грамматика удовлетворяет однозначности ветвления по первому символу (принадлежит классу LL0).
5. Модифицированная грамматика (если исходная КС-грамматика не удовлетворяет условию однозначности ветвления).
6. Таблица перевода языка в диаграммы (может быть опущена, если используется алгоритм прямого перевода, который должен быть сформулирован вместо диаграмм). Оптимизация числа диаграмм подстановкой.
7. Таблица перевода синтаксических диаграмм в алгоритм синтаксического анализа.
8. Таблица перевода алгоритма в программу.
9. Исходный код программы.
10. Исполняемый файл программы (при запуске программы должно появляться условие задачи с примерами и инструкция по вводу, после выполнения программа должна предложить ввести другой пример выражения для анализа).

1. Правильные скобочные записи с двумя видами скобок: ()[()[]([[]])(())]

2. Правильные скобочные записи, у которых внутри круглых скобок могут быть только круглые, а внутри квадратных — любые: (()())[()[[](())[]]]

3. Правильные скобочные записи, у которых внутри квадратных могут быть любые, а внутри круглых - ничего: ()[()[[()()]()[]]]

4. Правильные скобочные записи, у которых на одном уровне находятся скобки одного типа: [()][()([[()]][])]

5. Правильные скобочные записи, у которых типы скобок одного уровня чередуются:

()[[]()[]]()[()]()

6. Правильные скобочные записи, у которых при переходе на следующий уровень тип скобок меняется: ([][()])[()()][]([])

7. Правильные скобочные записи, у которых внутри квадратных могут быть только квадратные, а внутри круглых только круглые скобки: (()()(()))[][[][[]]]()

8. Правильные скобочные записи, у которых максимальная вложенность скобок — два уровня: (()[]())[[]][()]()

9. Правильные скобочные записи, у которых максимальное количество скобок одного уровня — два: ([][(([()]))])[(()())]

10. Правильные скобочные записи, у которых внутри любой пары квадратных скобок стоит последовательность квадратных и круглых скобок из более чем одной пары скобок: [()()][([(())()])()[()()]]

11. Алгебраические формулы со скобками и знаками операций + и -. При этом сумма операндов никогда не берется в скобки, а разность может браться, а может нет:
a+b-(c-(d-f))

12. Алгебраические формулы со скобками и знаками операций + и -. При этом разность операндов всегда берется в скобки, а сумма может браться, а может нет:
a+(b-(c+(d-a)))

13. Алгебраические формулы со скобками и знаками операций + и -. При этом перед скобкой плюс стоять не может: a+b-(c-(d-f))

14. Алгебраические формулы со скобками и знаками операций + и . При этом знак умножения может быть опущен: (a+b)(c+d)*fa

15. Алгебраические бесскобочные формулы, знаками арифметических операций и именами функций одной переменной, под знаком функции стоят бесскобочные выражения: f(a+b-c)*c-g(a)+f(g(f(a*d+c)))

16. Алгебраические бесскобочные формулы, знаками арифметических операций и именами функций любого числа переменных, под знаком функции стоят имена переменных (у функций с разным числом переменных могут быть одинаковые имена): f(a)*g(x;y;f(a;g(a))+x*f(g(f(a;z;c)))

17. Многочлены одной переменной с целыми коэффициентами: x^234-3x+17x^2+50

18. Линейные функции нескольких переменных с рациональными коэффициентами: -23/5x+1/17y+x-5+90z

19. Произведение линейных многочленов от x с коэффициентами, записанными конечными десятичными дробями: 2*(x-3,7)*(0,54x+1)*(-0,23+25x)

20. Комбинаторные формулы с переменными арифметическими операциями: C(n;k)*n!+(2*n-m)*k+(3k-n)!!+C(C(n+k;k);n)

Comments