Программирование на ЭВМ (261гр., 4 семестр, 2010г)
Список половины группы:
- Антонов Кирилл Сергеевич
- Забранский Дмитрий Юрьевич
- Карымов Антон Вячеславович
- Коршаков Степан Андреевич
- Лебедев Дмитрий Юрьевич
- Савенко Мария
- Яськов Сергей Андреевич
- Волкова Екатерина
Правила
Для зачета требуется 75% посещаемости
Весь код в svn (http://code.google.com/p/261studentprojects)
Задания
1. Арифметические выражения: написать лексический и синтаксический анализатор для арифметических выражений. Построить абстрактное синтаксическое дерево, и перевести выражение в обратную польскую запись.
2. (необязательно) Ввести идентификаторы, и операторы присваивания и печати выражения. Написать интерпретатор.
Пример программы.
x = 1+2;
y = 3;
z = x+y;
print(z);
3. Реализовать IDE (см далее.)
4. Отчет по курсовой.
IDE для Student ML
Язык StudentML
Конструкции языка
- Арифметические выражения
- Например: 1+2
- Логические выражения и сравнения
- Например: 5 <= 2+3
- Оператор печати print
- Например: print(1)
- Последовательность: begin expr1; epxr2; ... exprn end
- Например: begin print(1); 2+3 end
- Сопоставление идентификатора (let binding): let id = epxr1 in expr2
- Например: let x = 2 in x+1
- Условный оператор: if expr then expr1 else expr2 или if expr then expr1
- Например: if x > 5 then x*x else 0
- Функции: fun id -> expr
- Например: fun x -> x+1
- Применение функции: expr expr
- Например: let f = fun x -> x+1 in f (2+3)
Редактор
Отладчик
Отчет по курсовой
Форма отчета: доклад о проделанной работе с презентацией.
Тема: желательно рассказать о каком-нибудь проекте, не связанным непосредственно с учебой.
Типичная структура отчета такова (разумеется, допустимы отступления):
- Введение -- 10 - 20%. Предназначено для краткого описания предметной области и задачи, решаемой в курсовой работе.
Здесь надо ввести основные понятия, обосновать актуальность, явно сформулировать цель работы, описать практическую значимость ожидаемого результата.
- Обзор средств, подходов, и пр. -- 20-30%. Обзор должен содержать явно сформулированные цели и критерии сравнения, которые должны коррелировать с требованиями к искомому решению исходной задачи. В конце обзора должны быть сформулированы выводы, демонстрирующие актуальность выбранной темы работы и поставленных в ней задач.
- Описание алгоритма, решения, всплываваших проблем -- 50%. Может содержать несколько разделов, для каждой возникшей задачи детально описывается способ ее решения, алгоритмы и т.п., приводится аргументированное обоснование всех принятых решений и отказов от возможных альтернатив.
- Заключение, выводы, дальнейшие направления исследований по теме, описание результата: 1-2 стр. Результаты должны быть согласованы с целью работы.