Мультисистемный калькулятор
Разработка программы
Созданная в среде Visual Basic 6. 0 программа является калькулятором, работающим в системах счисления с основаниями от 2 до 36 и способным осуществлять перевод любых чисел из одной системы счисления в другую.
Система счисления - это способ записи числа с помощью цифр. Например, десятичная система счисления (система счисления с основанием 10) использует 10 цифр (0-9), а двоичная - только две (0 и 1).
Современные программные средства работы с числами (различные электронные калькуляторы) позволяют выполнять различного рода вычисления, в том числе переводить числа из одних систем счисления в другие, как правило только в основные: десятичную, двоичную, восьмеричную и шестнадцатеричную. Основная программа, используемая для перевода чисел пользователями Windows, это стандартный «Калькулятор».
Но известно, что «Калькулятор» при переводе чисел из одной системы счисления в другие дроби округляет. Точнее не округляет, а переводит только целую часть числа, а дробную отбрасывает. Кроме того, при переводе длинных чисел «Калькулятор» урезает число (до 8 байт), что является совершенно недопустимым. Также он не работает с отрицательными числами в недесятичных системах счисления.
А на данный момент программы, находящиеся в свободном распространении, являются просто переводчиками дробей из десятичной системы счисления в одну из дополнительных систем счисления.
Поэтому пришлось решать проблему создания работоспособного мультисистемного калькулятора с возможностью перевода целых и дробных чисел любой длины в разные системы счисления с проверкой введенных данных.
Чтобы написать такую программу, предстояло решить следующие задачи:
Проанализировать существующие алгоритмы перевода чисел из одной системы счисления в другую, а также алгоритмы арифметических операций.
Провести формализацию данных алгоритмов с помощью языка Visual Basic.
Разработать механизм контроля корректного ввода данных.
Разработать механизм сохранения точности перевода дробей из одной системы счисления в другую.
Разработать интерфейс программы.
Но существуют и некоторые проблемы.
Основная проблема заключается в том, что не существует встроенных функций языка программирования для работы с дробями и длинными числами, т. е. встроенных функций сложения, вычитания, умножения и деления длинных чисел.
Поэтому была создана абстрактная модель числа (представление числа в виде строковой переменной), на основании которой были разработаны функции, отвечающие за перевод отдельно целой и дробной части. Это позволяет более точно осуществлять перевод.
В работе использовалась среда разработки Microsoft Visual Basic 6. 0, а также стандартная программа Windows «Калькулятор» и программы из Интернета для проверки и сравнения результатов.
Комментарии