C/C++
Как работает реальный калькулятор?
Вот учу С++, и задаюсь вопросом, мы же можем прибавлять сотни тысяч чисел на калькуляторе, там сотни тысяч новых перменных?
В 80-е годы я оказался в одном из колхозов и случайно наткнулся на книжку «Калькулятор - твой помощник и соперник в играх» (автор — Александр Гайштут). Если Вы ещё не знакомы с этой книгой, советую ознакомиться.
★ СЛЕДУЮЩИЕ ДВЕ ССЫЛКИ НЕПОСРЕДСТВЕННО НА СКАЧИВАНИЕ DJVU (одно и то же). Не переходите по ним, если Вы не хотите скачать файл.
http://publ.lib.ru/ARCHIVES/G/GAYSHTUT_Aleksandr_Grigor'evich/Gayshtut_A.G._Kal'kulyator_-_tvoy_pomoschnik_i_sopernik_v_igrah.(1988).[djv-fax].zip
https://djvu.online/download/mtMOKEglVuQva
Ссылки испытаны 14.03.2022. В будущем актуальность ссылок не гарантируется!!!
• К сожалению Парсинг искажает первую из ссылок. Я вынужден подать их простым текстом.
✓ Обратите внимание на то, что в программируемом калькуляторе есть стек, и это позволяет вводить в калькулятор простые выражения.
Но даже в примитивном калькуляторе есть стек из двух ячеек, этого достаточно для выполнения одной двуместной операции.
Этот стек и отвечает на Ваш вопрос.
★ СЛЕДУЮЩИЕ ДВЕ ССЫЛКИ НЕПОСРЕДСТВЕННО НА СКАЧИВАНИЕ DJVU (одно и то же). Не переходите по ним, если Вы не хотите скачать файл.
http://publ.lib.ru/ARCHIVES/G/GAYSHTUT_Aleksandr_Grigor'evich/Gayshtut_A.G._Kal'kulyator_-_tvoy_pomoschnik_i_sopernik_v_igrah.(1988).[djv-fax].zip
https://djvu.online/download/mtMOKEglVuQva
Ссылки испытаны 14.03.2022. В будущем актуальность ссылок не гарантируется!!!
• К сожалению Парсинг искажает первую из ссылок. Я вынужден подать их простым текстом.
✓ Обратите внимание на то, что в программируемом калькуляторе есть стек, и это позволяет вводить в калькулятор простые выражения.
Но даже в примитивном калькуляторе есть стек из двух ячеек, этого достаточно для выполнения одной двуместной операции.
Этот стек и отвечает на Ваш вопрос.
В примитивном калькуляторе всего 3 переменных: аккумулятор Х, операнд Y и память M. Этого более чем достаточно.
Дима Стафиевский
В некоторых и памяти нет
Прочитайте книгу "Искусство программирования на Java" Герберт Шилдт. и узнаете. Там как раз с начала книги описывается весь процесс создания калькулятора на Java. Потом описывается, как написать свой собственный Интерпретатор на Java. А потом как создать менеджер закачек по типу Торрента. А дальше я пока не прочитал. Вот здесь https://visualstudio.microsoft.com/ru/ можно скачать компилятор для языка программирования C#.
Нет. Переменная создаётся в тот момент, когда пользователь нажимает клавишу с цифрой. Каждой цифре соответствует двоичный код.
Алексей Третьякович
Опаа, даже так можно
Олег Карпов
Вообще-то интерпретаторы клавиатуры бывают различными, но в калькуляторах как правило один из двух: 1) собирает нажатия в цепочку, потом переводит 2-10 код в двоичный; 2) циклически умножает частичное значение на 10 и прибавляет новую цифру. В обоих случаях используется вспомогательная память.
Динамическое выделение памяти - ответ. На pawn калькулятор не напишешь к примеру.
C/C++ можно сделать структуру из двух операндов (как сказано выше) и указателя на участок памяти и потом юзать malloc/realloc;
UPD: вообще прежде чем в Си лезть, мне кажется лучше будет под тотже NASM простенькие программки пописать, даже без системных вызовов. Там с регистрами быстро все в голове образуется.
C/C++ можно сделать структуру из двух операндов (как сказано выше) и указателя на участок памяти и потом юзать malloc/realloc;
UPD: вообще прежде чем в Си лезть, мне кажется лучше будет под тотже NASM простенькие программки пописать, даже без системных вызовов. Там с регистрами быстро все в голове образуется.
Похожие вопросы
- Не могу разораться с калькулятором на языке СИ
- История в калькуляторе
- Реализация Алгоритма калькулятора
- Разработать программу (калькулятор) на языке С++,
- Я попробовал сделать мини калькулятор. Но испытываю проблему.
- С++ Не работает двумерный вектор (std::vector)
- Объясните максимально простым языком, как работает данный код C++
- Не работает код на с++
- Не работает транспонирование матрицы. Исправить программу
- Программа на c++ не работает. Написать структуру и прочее. Подскажите, пожалуйста, что я делаю не так.
2 + 2 = = =
На дисплее друг за другом будет появляться:
2, 2, 4, 6, 8
Ясно, что первые две цифры — аргументы операции, третья — результат. А четвёртая и пятая?