Generative Programming Homework 3 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Новая страница: «<b>3. Генератор калькуляторов</b>, срок сдачи до 22.10.2013 <br> Предполагается генерировать кальку…»)
 
м
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
<b>3. Генератор калькуляторов</b>, срок сдачи до 22.10.2013 <br>
+
<b>3. Генератор калькуляторов</b>, срок сдачи до 27.10.2013 <br>
Предполагается генерировать калькулятор по описанию.
+
Предполагается генерировать калькулятор по описанию. В качестве описания можно взять структуру из [[Медиа: calc.zip | примера]], а можно взять свое описание, если оно есть.
 
<br/>
 
<br/>
  
Строка 6: Строка 6:
 
Модель должна уметь описывать стандартный (минимальный) калькулятор Windows (или любой другой ОС). <br/>
 
Модель должна уметь описывать стандартный (минимальный) калькулятор Windows (или любой другой ОС). <br/>
  
Ожидаемый результат: проект MPS с описанием домена калькуляторов (language) и редактором, sandbox с моделью, описывающей примерно такой калькулятор:
+
Ожидаемый результат: проект MPS с описанием домена калькуляторов (language), редактором и генератором, sandbox с моделью, описывающей примерно такой калькулятор:
 
[[Файл: calc_pict.gif]]
 
[[Файл: calc_pict.gif]]
 +
<br/>
 +
<br/>
 +
Чего не хватает в генераторе из примера:<br/>
 +
- Вычисление правильных размеров и расположения кнопок и размеров самого калькулятора.<br/>
 +
- Работа с памятью.<br/>
 +
- 0-арные функции (pi)<br/>
 +
- Остальные стандартные операции, кнопка сброса.<br/>
 +
- Аккуратный layout и разумные шрифты (для индикатора, например).<br/>
 +
Что можно добавить:<br/>
 +
- Статус калькулятора для возможности введения клавиш типа "arc" [+"sin"/"cos"].<br/>
 +
- Расширения языка baseLanguage для работы со статусом.<br/>
 +
- Поддержка типов данных для калькулятора (сейчас реализован только double).<br/>
 +
- Настройка пользовательского интерфейса.<br/>
 +
- ...
 +
<br/><br/>
  
<br><br>
+
Чтобы получить максимальную оценку, надо сделать, чтобы правильно работало все, что перечислено в списке "не хватает". Дополнительные фичи могут компенсировать недостатки в реализации основных фич. На все фичи должен быть пример в sandbox.<br/>
Баллы:  <br/>
+
  
 
Два первых сданных задания получают +1 балл.
 
Два первых сданных задания получают +1 балл.

Текущая версия на 16:37, 17 октября 2013

3. Генератор калькуляторов, срок сдачи до 27.10.2013
Предполагается генерировать калькулятор по описанию. В качестве описания можно взять структуру из примера, а можно взять свое описание, если оно есть.

Калькулятор должен уметь выполнять арифметические операции (+-*/) с числами. Должна быть предусмотрена возможность добавления новых (специфических для данного калькулятора) операций, например, возведение в степень или извлечение квадратного корня. UI фичи - на усмотрение. Модель должна уметь описывать стандартный (минимальный) калькулятор Windows (или любой другой ОС).

Ожидаемый результат: проект MPS с описанием домена калькуляторов (language), редактором и генератором, sandbox с моделью, описывающей примерно такой калькулятор: Calc pict.gif

Чего не хватает в генераторе из примера:
- Вычисление правильных размеров и расположения кнопок и размеров самого калькулятора.
- Работа с памятью.
- 0-арные функции (pi)
- Остальные стандартные операции, кнопка сброса.
- Аккуратный layout и разумные шрифты (для индикатора, например).
Что можно добавить:
- Статус калькулятора для возможности введения клавиш типа "arc" [+"sin"/"cos"].
- Расширения языка baseLanguage для работы со статусом.
- Поддержка типов данных для калькулятора (сейчас реализован только double).
- Настройка пользовательского интерфейса.
- ...

Чтобы получить максимальную оценку, надо сделать, чтобы правильно работало все, что перечислено в списке "не хватает". Дополнительные фичи могут компенсировать недостатки в реализации основных фич. На все фичи должен быть пример в sandbox.

Два первых сданных задания получают +1 балл.