Version 4 by Olga Koneva
on Jan 12, 2016 19:40.

compared with
Current by egor.blagov
on May 06, 2020 15:37.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (8)

View Page History

Эти ограничения введены для упрощения разбора выражений, поскольку разбор выражений не является основной частью проблемы. Вы можете спокойно положиться на эти ограничения. Вот грамматика содержимого ячейки:
!Снимок экрана 2016-01-11 в 17.53.57 (2).png|width=300!

{code}
expression ::= '=' term {operation term}*
term ::= cell_reference | nonnegative_number
cell_reference ::= [A-Za-z][0-9] --
operation ::= '+' | '-' | '*' | '/'
text ::= '\'' {printable_character}
{code}

*Процесс обработки *

Пример данных:

!Снимок экрана 2016-01-11 в 18.09.21 (2).png|width=300!\\
{code}
3 4
12 =C2 3 'Sample
=A1+B1*C1/5 =A2*B1 =B3-C3 'Spread
'Test =4-3 5 'Sheet
{code}
Ожидаемый вывод:

!Снимок экрана 2016-01-11 в 18.16.53 (2).png|width=300!
{code}
12 -4 3 Sample
4 -16 -4 Spread
Test 1 5 Sheet
{code}
*Указания по решению*


Необходимо промышленное качество кода. Более короткое и читаемое решение предпочтительней. Решение должно содержать тестовые примеры и код, использованные в процессе создания решения. Не забудьте откомментировать код в ключевых местах. Код должен быть устойчив к ошибкам. Задание можно выполнить на любом языке программирования.