Для студентов СПбПУ Петра Великого по предмету ДругиеПолиномиальной сложности оптимальные принтер-комбинаторы с выборомПолиномиальной сложности оптимальные принтер-комбинаторы с выбором
2024-07-252024-07-25СтудИзба
Курсовая работа: Полиномиальной сложности оптимальные принтер-комбинаторы с выбором
Описание
Оглавление
3
Введение
int foo(int k){if(k<1||k>2){printf( ” out␣of␣rangen” ) ; printf( ” this␣function␣requires␣a␣value␣of␣1␣or␣2n” ) ; }else{ printf( ” Switchingn” ) ;switch(k){case 1:printf( ” 1n” ) ;break;case 2:printf( ” 2n” ) ;break;}}}
Рис. 1: Неформатированный код
int
foo(int k)
{
if (k < 1 | | k > 2) {
printf( ” out␣of␣rangen” ) ;
printf( ” this␣function␣requires␣a␣value␣of␣1␣or␣2n” ) ;
} else {
printf( ” Switchingn” ) ;
switch (k) {
case 1:
printf( ” 1n” ) ;
Введение | 4 | |||
1. | Обзор предметной области | 9 | ||
1.1. | Принтер-комбинаторы ............................. | 9 | ||
1.2. | Принтер-комбинаторысвыбором . . . . . . . . . . . . . . . . . . . . . . . | 10 | ||
1.3. | BURS ....................................... | 12 | ||
1.4. | Средства форматирования кода в IDE . . . . . . . . . . . . . . . . . . . . | 14 | ||
2. | Реализация | 17 | ||
2.1. | Оптимальное форматирование как задача BURS . . . . . . . . . . . . . . | 18 | ||
2.2. | Реализация сведения задачи оптимального форматирования к BURS . . | 20 | ||
2.3. | Расширение принтер-комбинаторов . . . . . . . . . . . . . . . . . . . . . . | 23 | ||
2.3.1. Мемоизация вычислений для поддеревьев . . . . . . . . . . . . . . | 23 | |||
2.3.2. | Комбинатор fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 23 | ||
2.3.3. Дополнительная фильтрация вариантов . . . . . . . . . . . . . . . | 24 | |||
2.3.4. | Вставкавшаблон............................ | 25 | ||
2.4. | Принтер-плагин языка Java для IntelliJ IDEA . . . . . . . . . . . . . . . . | 27 | ||
2.4.1. Практические особенности получения и использования шаблонов | 28 | |||
2.4.2. Обработка списочных структур . . . . . . . . . . . . . . . . . . . . | 29 | |||
2.4.3. Обработкакомментариев. . . . . . . . . . . . . . . . . . . . . . . . | 31 | |||
2.4.4. | Анализпроизводительности . . . . . . . . . . . . . . . . . . . . . . | 32 | ||
2.4.5. | Открытыепроблемы .......................... | 32 | ||
Заключение | 33 | |||
Список литературы | 34 | |||
A. Программный код полиномиальной сложности оптимальных | ||||
принтер-комбинаторов на языке Haskell | 36 |
3
Введение
- жизненном цикле программного обеспечения важную роль занимает этап под-держки [3]. На этом этапе особую роль приобретает понимание программного текста поддерживаемой системы, что часто бывает достаточно сложной задачей. В данном контексте существенным достоинством программного текста становится его аккурат-ное оформление. В качестве примера рассмотрим два описания одной и той же функ-ции на языке C (см. рис. 1 и 2).
int foo(int k){if(k<1||k>2){printf( ” out␣of␣rangen” ) ; printf( ” this␣function␣requires␣a␣value␣of␣1␣or␣2n” ) ; }else{ printf( ” Switchingn” ) ;switch(k){case 1:printf( ” 1n” ) ;break;case 2:printf( ” 2n” ) ;break;}}}
Рис. 1: Неформатированный код
int
foo(int k)
{
if (k < 1 | | k > 2) {
printf( ” out␣of␣rangen” ) ;
printf( ” this␣function␣requires␣a␣value␣of␣1␣or␣2n” ) ;
} else {
printf( ” Switchingn” ) ;
switch (k) {
case 1:
printf( ” 1n” ) ;
Характеристики курсовой работы
Предмет
Учебное заведение
Семестр
Просмотров
1
Размер
624,5 Kb
Список файлов
Полиномиальной сложности оптимальные принтер-комбинаторы с выбором.doc