Калькулятор Windows получит графический режим



    Не так давно на Хабре публиковалась новость о раскрытии кода Калькулятора Windows, одной из наиболее известных программ в мире. Исходный код этого ПО выложен на GitHub.

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

    Собственно, здесь все понятно — графический режим даст возможность визуализировать уравнения и функции, примерно то же, что делает Plotting Mode в Matlab. Функция была предложена инженером корпорации Microsoft Дейвом Грочоски (Dave Grochocki). По его словам, графический режим не будет слишком уж продвинутым. Он позволит учащимся строить графики по алгебраическим уравнениям.

    «Алгебра — путь в высокие сферы математики и связанные с ней дисциплины. Тем не менее, это один из наиболее сложных для учащихся предметов, очень многие получают по алгебре плохие оценки», — говорит Грочоски. Разработчик считает, что если в калькулятор добавить графический режим, то ученикам и учителям станет проще понимать друг друга на занятиях.

    «Графические калькуляторы могут быть весьма дорогими, программные решения требуют лицензирования, онлайн-сервисы не всегда являются оптимальным решением», — продолжает свою мысль Грочоски.

    По словам представителей Microsoft, именно графический режим является одним из наиболее часто запрашиваемых возможностей в приложении Feedback Hub, куда пользователи программных продуктов корпорации сбрасывают свои предложения.

    Цели, которые ставят перед собой разработчики:
    • Обеспечение базовой визуализации в Калькуляторе Windows;
    • Поддержка основных учебных программ по математике в США (к сожалению, пока функциональность Калькулятора будет планироваться, исходя из нужд учащихся этой страны), включая умение строить и интерпретировать функции, понимать линейные, квадратичные и экспоненциальные модели, изучение при помощи калькулятора тригонометрических функций и понимание концепции уравнений.

      Что еще получит пользователь:
      • Возможность ввести уравнение для построения соответствующего графика.
      • Возможность добавить несколько уравнений и визуализировать их, чтобы сравнить между собой графики.
      • Режим редактирования уравнений, чтобы можно было видеть, что изменяется при внесении определенных модификаций в исходное уравнение.
      • Изменение режима просмотра графиков — разные участки можно будет просмотреть в разной степени детализации (т.е. речь идет о масштабировании).
      • Возможность изучения различных типов графиков.
      • Возможность экспортировать полученный результат — теперь визуализациями функций можно будет делиться в Office / Teams.
      • Пользователи могут легко манипулировать вторичными переменными в уравнениях, что даст возможность понять, как изменения в уравнениях влияют на график.

      Насколько можно судить, графики можно будет строить для не очень сложных функций.

      Сейчас разработчики Калькулятора пытаются показать, что с течением времени программа совершенствуется. Она появилась на свет в качестве элементарного помощника для выполнения арифметических действий. Сейчас же это надежный научный калькулятор, который может использоваться широким кругом пользователей для решения весьма серьезных задач. В дальнейшем ПО будут улучшать и дальше.

      Что касается открытия исходного кода, то это сделано для того, чтобы любой желающий мог ознакомиться с такими технологиями Microsoft как Fluent, Universal Windows Platform, Azure Pipelines и другими. Благодаря этому проекту разработчики могут больше узнать о том, как выполняется работа по созданию тех либо иных проектов в Microsoft. С подробным анализом исходного кода Калькулятора Windows можно ознакомиться здесь, прямо на Хабре.

      Программа написана на С++ и содержит более 35000 строк кода. Для компиляции проекта пользователям необходима Windows 10 1803 (или более новая) и последняя версия Visual Studio. Со всеми требованиями можно ознакомиться на GitHub.
    Поддержать автора
    Поделиться публикацией

    Комментарии 41

      +4
      Пусть стандартный калькулятор останется калькулятором, а если, например, нужны графики — берите GeoGebr'у, решать уравнения — Maxim'у или SageMath, и. т. д. У каждого инструмента должна быть своя область, потребностям которой он удовлетворяет. Область определения стандартного калькуятора — простые вычисления, для большего есть свои инструменты, которые будут лучше, разработчики которых уже поняли, «методом проб и ошибок», каким именно должен быть инструмент, и тратили все время на движение в этом направлении.
        +1
        Упомянутая вами GeoGebra из одного приложения (GeoGebra Classic) как раз постепенно превращается в семейство приложений, состоящее из приложения для динамической геометрии, графического, а так же CAS-«калькулятора».
          +2
          Область определения стандартного калькуятора — простые вычисления, для большего есть свои инструменты


          Как я мог заметить, люди, профессионально использующие компьютер — уже давно не заморачиваются на Калькулятор: делают все вычисления в Excel. Так как и быстрее и проще. (И повторяемость процесса лучше )

          И да, Калькулятор должен быть простым — он для тех, кому Excel сложен.

            0
            делают все вычисления в Excel
            Wolframalpha.com?
              +3
              я вот сейчас попробовал на него зайти. 25 секунд он открывался. 2+2 он считал более двух минут и так и не посчитал. После полной перезагрузки это заняло секунд 30. Впрочем и в лучшие времена выдать что-то быстрее двух секунд он никогда не мог. Создать табличку в гуглдрайве существенно быстрее.
                0

                Странно. Открылся за пару секунд, 2+2 посчитал секунд за 5 (но при обилии итоговой инфы это даже простительно).
                Да и Exel оффлайновый, кто мешает wolfram alpha тоже поставить и не напрягаться?

                  0
                  Да, сейчас очухался и открывается/считает быстро. Наверное авария была.
                +1
                Wolframalpha.com?


                Одно из преимуществ экселя — работа офлайн.
                Бывают случаи, когда это принципиально.
                  0
                  Самое быстрое подтверждение аксиомы " о полноте Excel"
                +1
                Если мне надо посчитать что-то совершенно простое — обычный калькулятор, а более сложное — Python repl.
                  +1
                  Боюсь в Excel и других электронных таблицах можно получить весьма «странные» для калькулятора результаты, ввиду двоичной, а не двоично-десятичной арифметики.
                    0
                    Галочка «точность как на экране» не включена =)
                      0

                      А что, в таком простом вычислении бывает какая-то альтернативная точность, кроме очевидного результата "0,1"?

                        0
                        А что, в таком простом вычислении бывает какая-то альтернативная точность, кроме очевидного результата «0,1»?


                        Мне так и не удалось воспроизвести показанный на вашей иллюстрации результат.
                          +1
                          Да ладно. Сделайте все как на картинке и кнопочкой «увеличить разрядность» добейте до 15-20 знаков после запятой.
                            0
                            Сделайте все как на картинке и кнопочкой «увеличить разрядность» добейте до 15-20 знаков после запятой.


                            Действительно, до 15 разрядов все нормально, с 16 — глюк.
                            Но только для дробных чисел.
                            0

                            Но это не моя иллюстрация. :)

                  +1
                  Еще бы функции конвертора физ величин добавить.
                    +2

                    Так ить давно уже есть, как минимум со времён Windows XP:Calculator Windows XP


                    Или что — эту функциональность Microsoft умудрилась по пути благополучно похеритьтерять?

                      0
                      Нет, сохранилась, но только систему СГС/CGS эта софтина не знает. Про вязкость тоже понятия не имеет. И много про что еще. Я обычно Maple для этого использую.
                    +2
                    С подробным анализом исходного кода Калькулятора Windows можно ознакомиться здесь, прямо на Хабре.
                    Сложно назвать поиск «пахнущего» кода подробным анализом.
                      +6
                      Лучше бы сделали адекватный режим для конвертации hex-dec-oct-bin, а то при переходе из режима в режим теряются данные, для выбора системы счета нет хоткеев, отображение числа идет только в текущем и двоичном виде, почему бы сразу все четыре не показывать?
                      Настолько мелкие доработки, что есть впечатление, что проектировал «режим программист» тот, кто им никогда не пользовался.

                      Добавить графику в принципе было бы неплохо. Лишь бы не на электроне реализацию делали.
                        +1
                        для выбора системы счета нет хоткеев

                        hex — F5, dec — F6, oct — F7, bin — F8. Или Вы не про это?
                          +2
                          Ок хоткеи есть, хотя и вообще не интуитивные. Но почему бы сразу не выводить число
                            +1
                            С этим я не спорю, было бы очень удобно :) Как и со многими другими претензиями, высказанными тут — например, работа с дробными числами в счислениях, отличных от десятичного :)
                          +2
                          Тоже добавлю (жутко бесит лично меня).

                          1. Будет круто, если калькулятор, наконец таки научится из буфера обмена вынимать число, несмотря на префиксы/постфиксы, т.е. пора бы уже нормально считывать «0x1234», «h1234», «1234h», «b1010», «1001b». Я уже не говорю о том, чтобы по префиксам догадаться о системе счисления. И даже из «ijoefjw1234fojwef» неплохо бы уже считать подстроку с числом.

                          2. Куда и зачем убрали ROR и ROL из режима программиста? Если кнопочек не жалко, то можно добавить ещё NOR с NAND.
                            0
                            И даже из «ijoefjw1234fojwef» неплохо бы уже считать подстроку с числом.

                            Много вариантов: 1234(8), 1234(10), 1234(16), 1234f(16).

                              0
                              И десятичный разделитель понимает из буфера обмена только запятую (для русской венды) — вот тоже бесит.
                              +2
                              А меня бесит, что не поддерживает дробную часть в режимах отличных от dec.
                              0
                              По-моему, шикарная идея. С такой наглядной визуализацией калькулятору даже считать необязательно:)
                                0
                                Как в том анекдоте про АК-47:
                                За что бы не брался Microsoft, все равно получается Windows-)
                                  +2
                                  Следующий шаг это ненавязчивая реклама в калькуляторе и интеграция со skype-ом?

                                  ps: Берём обычный скриптовый языка типа Lua,Python и т.п. и получаем калькулятор на порядок лучше, удобнее с возможность автоматизировать действия.
                                    +4

                                    Калькулятор Windows 10 какой-то отстой. Раньше у нас был просто гребаный калькулятор, а теперь это калькулятор с кучей графических свистоперделок. Который хоть и потребляет памяти сущие копейки в масштабе системы, все равно как-то дофига для такого примитивного инструмента. Ну, и как выяснилось, содержит просто дофига кода.


                                    Например, в убунтовском калькуляторе есть очень удобный клавиатурный режим. Зачем кнопочки на экране, если можно набрать на клавиатуре?

                                      0
                                      Кнопочки для устройств с сенсорным экраном.
                                        0

                                        Ага, предусмотрели такой задел на будущее ещё в 95м году :)

                                          0

                                          На устройствах с сенсорным экраном обычно есть виртуальная клавиатура.

                                            0

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

                                              0

                                              Калькулятору выражений хватит двух строк на экране — ввод и результат.
                                              Опционально можно добавить несколько стрьк истории.
                                              Пользовал на мобильном разные калькуляторы (в том числн вообще без кнопок). Бвло нормально.

                                          0
                                          А винда в поиске не считает? В макоси и на айпаде можно так считать. На худой конец у гугле.
                                          0
                                          А мне в стандартном калькуляторе не хватает запоминания предыдущих настроек. Например, в конвертере величин по дефолту открывается «вес/масса (гектограмм)» и каждый раз приходится выставлять требуемые параметры преобразования.
                                            0
                                            image
                                            Кстати, где названия осей, где единицы измерения, где сетка и названия кривых?
                                            Справа три прямые, а слева какая-то кривая типа логарифма. Это дизайнерский прототип или так и будет?

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                            Самое читаемое