Ну ладно, специально для остальных...
== Внеконкурсная задача №2. Калькулятор! ==
Введение
Это вторая внеконкурсная задача для тех, кто не успел на первую.
Является логическим развитием второй.
Задача
Создать схему, реализующую "извращённый" калькулятор. Этот калькулятор имеет три режима вычисления:
- Если на вход поданы 3 аргумента (2 операнда и признак операции) - то как в прошлой задаче
- Если на вход поданы 2 аргумента (1 операнд и при знак операции), то:
- Если символ операции набран с Заглавной буквы, то использовать предыдущий результат вычислений как 2й операнд
- Если символ операции набран со строчной буквы, то использовать предыдущий результат вычислений как 1й операнд
- Если на вход подан 1 аргумент (операнд), то повторить операцию из предыдущего шага вычислений в соответствии с правилами выше.
Входные данные
Последовательность строк, каждая из которых содержит:
- Либо 2 операнда и признак операции
- Либо 1 операнд и признак операции
- Либо только 1 операнд
Выходные данные
Для каждой строки входных данных программа должна печатать результат операции.
Пример входных и выходных данных
Знаком ">" помечены входные, а "<" - выходные данные.
> 1 7 S
< 8
> 2 P
< 14
> 24 D
< 10
> 4 dь
< 6
Дополнтельная информация
- Операдны и результат никогда не выйдут за пределы целого со знаком
- Начальное значение "результата" равно нулю
Требования к оформлению
Решение задачи должно быть оформлено в виде мультиэлемента
#sha
Add(MultiElementEx,9964527,434,273)
{
@Hint=#23:Внеконкурсная задача №2|16:Автор: iarspider|11:Версия: 0.0|
}
BEGIN_SDK
Add(EditMultiEx,14999505,21,21)
{
WorkCount=#6:doCalc|
EventCount=#8:onOutput|
DataCount=#6:InpStr|
}
END_SDK