V3_2010 (1119657)
Текст из файла
Вариант 3_2010 Ф.И.О.___________________________________№ группы________
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1 S aA | A A Bb | B | Ac B c | Bc | ( | (б) Каким из перечисленных классов принадлежит язык L(G)?
|
(в) Каким из перечисленных классов грамматик принадлежит G?
Класс П | G П? (да/нет) |
контекстно-свободные | |
контекстно-зависимые | |
регулярные | |
грамматики типа 0 | |
неукорачивающие |
2. Описать иерархию классов языков по Хомскому. Привести примеры трех языков, относящихся к различным уровням иерархии.
3. Построить по заданной грамматике G конечный автомат (в виде ДС). Если автомат оказался детерминированным, построить анализатор на Си, иначе – преобразовать автомат в соответствии с алгоритмом преобразования НКА в эквивалентный ДКА и по полученному ДКА построить праволинейную грамматику.
G: S A | B
A Aa | Ab | Ba | Bb | b
B Aa | Ab | Ba | Bb | a
4. | Имеется клетчатый лист бумаги, бесконечный вправо и вверх. В левом нижнем углу расположено перо, оставляющее на бумаге след при перемещении. Перо управляется интерпретатором-графопостроителем. На вход интерпретатору подается последовательность символов-команд из алфавита {с, a, e}: c — переместить перо на одну клетку вверх; | |
a — переместить перо на одну клетку вправо; e — переместить перо на одну клетку вниз. Например, по последовательности ccccaa интерпретатор построит букву «Г» размера 42, изображенную на рисунке. Построить грамматику с терминальным алфавитом {c, a}, описывающую буквы «Г» любого размера nm, n,m 1. В грамматике должно быть не более 4 правил вывода (считая альтернативы). |
| |
В построенную грамматику добавить действия вида cout << ′символ′; так, чтобы описание буквы «Г» размера nm переводилось в описание буквы «П» размера (n+1) m. |
5. Восстановить грамматику по заданному анализатору на С++. Сформулировать критерий применимости метода рекурсивного спуска для контекстно-свободных грамматик. Соответствует ли полученная грамматика этому критерию? Обосновать свой ответ. Корректен ли данный анализатор? Обосновать свой ответ (доказать корректность или найти примеры некорректного поведения анализатора).
void S () { if (c != ‘b’) Error ();
c = GetL (); A (); B (); C (); D ();
if (c != ‘b’) Error ();
c = GetL (); A (); D ();
}
void A () { C(); E(); }
void B () { if (c == ‘b’) { c = GetL (); C (); }
else D ();
}
void C () { if (c == ‘a’) { c = GetL (); D (); }
}
void D () { if (c == ‘b’) { c = GetL (); E (); }
else A ();
}
void E () { if (c == ‘a’) { c = GetL (); B (); }
}
6. Описать основные особенности программ, программных продуктов и интегрированных программных продуктов.
7. Перечислить основные виды оптимизации циклов. Привести пример оптимизационного преобразования цикла.
8. Описать деление библиотек систем программирования по функциональному признаку, дать краткие характеристики содержания различных видов библиотек. Признаки каких из перечисленных Вами видов библиотек можно наблюдать в стандартной библиотеке языка С++?
9. Дать определение эквивалентных грамматик. Для контекстно-свободной грамматики G построить эквивалентную ей неукорачивающую грамматику, выписывая результаты применения каждого шага используемого алгоритма.
G: S Ab | BaCaC
A Ca
B Cb
C Aa | Bb | a | ε
10. По приведенной обратной польской записи фрагмента программы, написанной на языке Си++, восстановите этот фрагмент двумя способами: сначала, пользуясь операторами условного и безусловного перехода на метку, а затем (если это возможно), пользуясь только операторами структурного программирования без переходов. Операция ПОЛИЗ '@' соответствует унарной операции изменения знака.
ПОЛИЗ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
&t | &p | #+ | &q | +# | t | @ | / | 4 | * | + | = | ; | t | u | < | 34 |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | |
!F | 26 | ! | &t | +# | ; | 14 | ! | &r | p | 7 | + | –= | ; | 21 | ! | &r | r | 2 | % | = | ; |
|
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.