Другие языки программирования и технологии

Что значит - "написать калькулятор"?

Когда говорят о написании первой программы часто говорят "написать калькулятор"
Что это значит?
Арифметические функции уже встроены в язык, и остается написать интерфейс?
Или интерфейс не пишется, и имеется в виду, что нужно прописать значения...?

Что из себя представляет код этого самого калькулятора? - не важно, на каком языке.
Относительно простая задача, похожая на практическую, примерно то, с чем вы будете сталкиваться постоянно, если будете работать программистом.
Да, арифметические функции встроены в язык и прочее, но в процессе написания вы столкнетесь с очень многими сложностями, например, обработка деления на ноль (или очень маленькие числа), ввод букв или иероглифов вместо цифр, да можно придумать много чего. И все это ваш написанный калькулятор должен спокойно переваривать и, самое главное, выдавать правильный результат.
Роман Баканов
Роман Баканов
58 720
Лучший ответ
Настоящий графический калькулятор должен учитывать приоритет умножения и деления над сложением и вычитанием и приоритет операций в скобках. Для этого нужны алгоритмы постфиксной записи и обратной польской нотации. Ни в один язык это даже близко не встроено, там самому нужно думать головой.
Я вот как раз совсем недавно писал такой калькулятор. Код по ссылке
https://jsfiddle.net/mbfwuj9v/3/
Если сама польская нотация далась легко, то чуть посложнее были такие вещи как лексический анализ строки для преобразования ее в массив положительных и отрицательных чисел с десятичной точкой, знаков операций и скобок (чтобы все были отдельно, вроде это называется токены) и особенно не просто оказалось с переводом инфиксной записи в постфиксную.
Так что реализация полноценного графического калькулятора это задача сравнительно сложная
Алексей Юсубов очень интересно! только я пока не знаю, что такое массивы и стою на пороге их изучения. возможно ли вам в 2х словах мне на будущее пояснить, в чем их суть?

...что неожиданно - алгоритмы счета не заложены в языки.
параллельно я изучаю html, так что ваш пример - очень кстати))...
Понятно, что некоторые операции встроены в язык... но каким образом ты их будешь использовать?
Ввод пользователя подается строкой и тебе придется все это отпарсить так, чтобы учесть все приоритеты, скобки и т. п. каким либо подходящим алгоритмом. И уже, преобразуя в числа, применять те самые операции.
???????»?? ???°??????????
???????»?? ???°??????????
73 465
Тебе нужно разработать интерфейс (чтобы был похож на калькулятор), а потом писать код для каждой кнопки.. умножение.. деление и тд.
В качестве первой программы подойдёт самый простой калькулятор, сконструированный как консольное приложение, а не как приложение с пользовательским интерфейсом. Но тут как раз всё зависит от используемого алгоритмического языка. Вот как можно написàть простенький калькулятор на С++:
#include <iostream>
#include <string>
using namespace std; int main()
{ double a, b; string c; while (1) { cout << "» ";
cin >> a >> c >> b; if (c == "+") cout << a + b;
if (c == "-") cout << a - b; if (c == "*" || c == "·" ||
c == "×") cout << a * b; if (c == "/" || c == "÷")
cout << a / b; cout << endl; } }
А вот как делается гораздо более сложный калькулятор на Питоне:
import math
while 1: print(eval(input("» ")))
Rustem Bekezhanov
Rustem Bekezhanov
29 440