Вверх ↑
Ответов: 5446
Рейтинг: 323
#1: 2008-09-07 16:35:11 ЛС | профиль | цитата
anderstudio, вообще-то задачку я выложил для сомневающихся вроде juk-а, а ты уже тут как тут

Ну ладно, специально для остальных...
== Внеконкурсная задача №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

карма: 1

0