Задачи №3 и №4 Алгоритмическая практика
Primary tabs
Решите задачу №6 -- составьте ФБН для поддержки переменных в выражении
Создаем в своем репозитории новую ветку для реализации задачи со скобками - ответвляемся от созданной, для решения предыдущей задачи.
Выполнить реализацию, опираясь на составленную ФБН
Далее требования к реализации:
Добавить хранилище переменных - в JS для этого можно использовать объект(link is external)
При обработке операции присваивания записывайте значение переменной в хранилище
Сообщать об ошибке (указав строку и номер символа в строке, в которой наблюдается проблема), если в выражении есть неинициализированная переменная.
Cоставьте ФБН для поддержки указанного выше синтаксиса (используем ранее составленные формы) - теперь присваивание должно само стать выражением, которое возврает результат
Создаем в своем репозитории новую ветку - ответвляемся от созданной, для решения предыдущей задачи.
Выполнить реализацию, опираясь на составленную ФБН
<Digit> ::= [0-9] <UnsignedInteger> ::= "0" | ([1-9] <Digit>*) <Variable> ::= [a-z] <Multiplier> ::= <UnsignedInteger> | <Variable> <Parentheses> ::= <Multiplier>| "(" Expression ")" <UnaryMInus> ::= "-" <Parentheses> | <Parentheses> <Multiplication> ::= <Term> "*" <UnaryMInus> <Division> ::= <Term> "/" <UnaryMInus> <Term> ::= <UnaryMInus> | <Multiplication> | <Division> <Addition> ::= ( <Term> | <Addition> | <Subtraction> ) "+" <Term> <Subtraction> ::= ( <Term> | <Addition> | <Subtraction> ) "-" <Term> <Expression> ::= <Term> | <Addition> | <Subtraction> <Assignment> ::= <Variable> "=" <Expression>
- Log in to post comments
- 330 reads