Согласие на обработку персональных данных.



10.12.2017
Новые видео и статья Как пользоваться курсом об указателях.

06.12.2017
Новые видео и статья Стековый калькулятор.

05.12.2017
Новые видео и статья Рекурсия.

04.11.2017
Новые видео и статья Функция Odd.

29.10.2017
Новые видео и статья Функция Low.

Раздел: Курсы / Указатели /

Стековый калькулятор

Куда указывают указатели Куда указывают указатели

Видеокурс для начинающих программистов. Вы узнаете, что такое динамические и статические структуры данных. Узнаете, что такое указатели и как с ними работать. Узнаете, как использовать память компьютера в своих программах, и как избежать ошибок, таких как утечки памяти. Кроме того, увидите реальные примеры, как и где применяются эти знания на практике. Подробнее...
Эта статья и видео являются частью курса "Куда указывают указатели". Полную версию курса можно получить здесь. До 15.12.2017 это можно сделать по акции на выгодных условиях!

Стековый калькулятор - это калькулятор, который накапливает последовательность операндов и операций в стеке, а затем поочерёдно извлекает их из стека и вычисляет результат выражения.

Такой калькулятор удобно использовать, когда надо выполнить операцию не с двумя числами, а вычислить выражение, которое может содержать несколько знаков операций (+, -, *, / и т.п.), а также скобки, которые определяют очерёдность вычисления математических операций.

Например, такое выражение:

(2+3)-(7+2*4)

человек вычислит без труда в уме. А вот если он захочет вычислить это выражение с помощью обычного калькулятора, то у него на это уйдёт, пожалуй, больше времени, чем на вычисление в уме.

К тому же при работе с обычным калькулятором человек не видит выражение целиком, следовательно, он может допустить ошибку при вводе данных. Другое дело, если в калькулятор можно вводить выражения:

Стековый калькулятор

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

Вычислять подобные выражения можно и другими способом. Первое, что напрашивается - это получить строку с выражением и обработать её. Но это проще сказать, чем сделать. Потому что такая обработка потребует у программиста немало усилий: надо будет разобрать строку на числа, знаки операций, да ещё и учесть скобки (то есть последовательность выполнения операций). Я уж молчу про то, что пользователь может ввести ошибочные данные, например, букву вместо числа.

Так что для создания калькулятора, умеющего вычислять выражения, лучше использовать стек и специальный алгоритм помещения данных в стек и извлечения данных из стека, который позволит без особых умственных усилий и сложных способов разбора выражения-строки получить нужный результат, то есть вычислить выражение независимо от того, сколько в этом выражении будет скобок, знаков операций, и в какой последовательности пользователь всё это будет вводить.

Пример стекового калькулятора, а также подробнейший разбор алгоритма вычисления введённого пользователем выражения рассмотрен в моём курсе Куда указывают указатели. Там же очень подробно и доступно рассказано, что такое стек и как с ним работать.


Директивы компилятора Директивы компилятора
Как это ни странно, но даже многие опытные программисты не используют директивы компилятора, считая их чем-то ненужным и бесполезным. А между тем, директивы компилятора - это очень классная штука. Если их умело применять в своих программах, то можно существенно сократить время на разработку и уменьшить количество рутинных операций. Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика