История развития программы Калькулятор комплексных чисел Версия 1.0 Базовые возможности по сложению, вычитанию, умножению и делению комплексных чисел. Сначала нужно выбрать знак арифметической операции, затем нажимать "=". Числа выводятся с лишними нулями после запятой. Версия 1.1 Добавлена возможность заносить данные в именованные ячейки па- мяти и читать их оттуда. Также можно скопировать результат вы- числений в поля ввода первого или второго аргумента. Версия 1.2 Подавляются лишние нули после запятой. Блокируется ввод с кла- виатуры ненужных символов. Добавлены кнопки сброса содержимого полей первого или второго аргумента, а также всех трех полей сразу. Версия 1.3(a) Все операции, вызываемые через кнопки в главном окне стали до- тупными через главное меню. В меню присутствуют нерабочие пункты. После нажатия маленьких кнопок выбора арифметической операции отныне сразу срабатывает и вычисление результата (не нужно лишний раз нажимать кнопку "=ОТВЕТ"). Можно вызывать арифметические операции через клавиатуру: "й", "с" - сложение "ц", "в" - вычитание "у", "*" - умножение "д", "к", "/" - деление "е" - изменение знака арифметической операции "н", "=" - равно Но именно здесь программа нестабильна - после нажатия клавиш не учитвываются изменения, вводимые в поля ввода, если пользо- ватель не изменял перед этим фокус ввода. Версия 1.3b Довольно неудачно исправленная версия. Использовать клавиатуру для управления программой отныне можно смело. При этом спектр операций увеличился: - можно использовать клавиши "вверх", "вниз" для верти- кального перемещения по ячейкам и Ctrl+"влево", Ctrl+"вправо" для горизонтального. Нажатие пробела изменяет знак арифметиче- ской операции, а "Enter" - вызывает операцию равно с перемеще- нием фокуса ввода к результату вычислений. Из меню убраны нефункциональные команды. Все хорошие впечатления портит серьезный глюк - перестал рабо- тать обмен с ячейками памяти. При вызове окна с ячейками памяти появляется сообщение об ошибке - "Access violation at address 004557B1 in module 'complexcalc.exe'. Read of address 00000000" Версия 1.3c Исправлена ошибка, появившаяся в версии 1.3b. Также в этой вер- сии в главном окне программы кодировка шрифта изменена на русский. Иных серьезных ошибок в версии 1.3 на данный момент не зафикси- ровано. Версия 1.3f Финальный релиз первой версии калькулятора комплексных чисел. Во всех окнах кодировка шрифта изменена на русский. Это должно предотвратить неприятную ситуацию, возникающую у некоторых по- льзователей, когда вместо русских букв выводятся ненужные сим- волы. Версия 1.4 Было решено перед выпуском второй версии усовершенствовать пер- вую. Расширены возможности калькулятора по инженерным вычислениям, теперь он вычисляет: - главное значение натурального логарифма ln (градусы перево- тся в радианы); - экспоненту (радианы переводятся в градусы); - оба значения квадратного корня; - квадрат; - тригонометрические функции: синус, косинус, тангенс, котан- генс; - гиперболические синус, косинус, тангенс, котангенс. Внимание!!!! В этой версии гиперболический синус и косинус вычисляются НЕВЕРНО!!! Кнопка "Sh" возвращает значение гиперболического ко- синуса, а кнопка "Ch" - синуса. Также по просьбе пользователей расширено с 10 до 20 количество ячеек памяти. Версия 1.4b Исправлены ошибки, когда не учитывалось последнее введенное по- льзователем изменение числа при вызове расширенной функции из меню. Добавлено вычисление: - обратного значения 1/х; - куба; - главного значения аргумента-угла комплексного числа (0"в радианах" теперь три штуки: 1-й отвечает за представление мнимой части при вычислении ло- гарифмов и экспонент; 2-й - за представление аргумента при вычислении тригонометри- ческих функций; 3-й - за представление угла в показательной форме числа как в случае отображения на экране, так и при экспорте в текстовый файл. Добавлено окно "Настройки программы", в котором пользователь по своему усмотрению может выбрать: - цвета интерфейса программы (цвет фона окна, цвет полей вво- да, цвет вводимого в эти поля текста, цвет области переключате- лей, цвет текста надписей); - положение переключателей "в градусах"<>"в радианах"; - количество ячеек памяти. Все настройки сохраняются при выходе из программы в ее рабочую папку в файл "complexcalc.ini" и соответственно загружаются при запуске программы. В этом же файле сохраняются координаты поло- жения главного окна программы; При этом: - Количество ячеек памяти изменяется без перезапуска программы и сохраняется содержимое ячеек (кроме случая уменьшения количе- ства ячеек, когда часть ячеек удаляется и лишь часть остается вместе со своим содержимым.). При этом динамически меняются размеры окна и расположение ячеек в нем. - Изменив состояние переключателей "в градусах"<>"в радианах", вы не изменяете настройки программы и при следующей загрузке они примут предыдущее положение. В то же время изменение состо- яния переключателей в окне "Настройки программы" изменит состо- яние переключателей в главном окне. - Изменение цветов интерфейса и состояния переключателей в окне "Настройки программы" совершается "на лету", но нажатие кнопки "Отмена" или "Закрыть" возвращает цвета и переключатели главного окна в исходное состояние. Изменение количества ячеек памяти происходит только после нажатия кнопки "Ок" или "Приме- нить". ВНИМАНИЕ!! В версии 2.20a была найдена ошибка, при которой в окне "Чтение/запись в память" после просмотра содержимого ячеек путем установления фокуса ввода(курсора) на хранящиеся пере- менные или "Страшный нуль" и последующем возврате к просмотру присланного числа (Аргумент1/ Аргумент2/ Результат), в поле для мнимой части отображалось значение действительной части. При этом в памяти происходила такая же ситуация и, если подобное число записать в какую либо ячейку памяти, а потом использовать в вычислениях, то дальнейшие результаты, понятно, окажутся не- верными. При этом нарушалось соответствие между алгебраической и показательной формами числа. Версия 2.30a Впервые появилась возможность открывать текстовые файлы, запи- санные калькулятором. При этом выполняется множество проверок и выдаются подробные сообщения о возникших проблемах при открытии файла. Добавлена возможность вычислять различные значения натурального логарифма Ln. Прямо в полях ввода первого и второго аргумента можно перево- дить из радиан в градусы и наоборот, а также менять знак числа (поворот на 180). Можно находить главное и любое из значений угла комплексного числа (функции arg и многозначная Arg). Для многозначных функций можно задавать как положительные, так и отрицательные k. (Arg, Ln, x^y). Появилась возможность по желанию пользователя автоматически со- хранять/загружать содержимое ячеек памяти при выходе из програ- ммы/запуске её. (Содержимое сохраняется в файл work.rcv в рабо- чей папке программы.) Повышена стабильность работы. В частности выполняется проверка вводимого числа на переполнение для слишком больших и малых чисел (1E+307; 1E-340 ), решена проблема "зависания" при отсеч- ке углов намного больших 270 град. или меньших -90 град. Внимание!!! Критическая ошибка с неправильным отображением мни- мой части присланного в окно "Чтение/запись в память" числа еще не обнаружена, а следовательно не исправлена. Версия 2.30b В версии 2.30a была найдена ошибка, при которой после вывода сообщения об ошибке ввода действительной части второго аргумен- та обнулялась действительная часть первого аргумента. При этом отображаемое на экране значение аргумента 1 могло не соответс- твовать действительности, когда оно было равно нулю. Эта ошибка устранена. Исправлена также ошибка с изменением количества про- белов в имени переменной при переименовании ее с "Перемен- ная XX" на "Запись ХХ" (было "Запись ХХ"). Внимание!!! Критическая ошибка с неправильным отображением мни- мой части присланного в окно "Чтение/запись в память" числа еще не обнаружена, а следовательно не исправлена. Версия 2.30c ВНИМАНИЕ!! В версиях 2.20a, 2.30a, 2.30b была найдена ошибка, при которой в окне "Чтение/запись в память" после просмотра со- держимого ячеек путем установления фокуса ввода(курсора) на хранящиеся переменные или "Страшный нуль" и последующем возвра- те к просмотру присланного числа (Аргумент1/ Аргумент2/ Резуль- тат), в поле для мнимой части отображалось значение действите- льной части. При этом в памяти происходила такая же ситуация и, если подобное число записать в какую либо ячейку памяти, а по- том использовать в вычислениях, то дальнейшие результаты, поня- тно, окажутся неверными. При этом нарушалось соответствие между алгебраической и показательной формами числа. Эта ошибка в версии 2.30c исправлена. Версия 2.30d Внимание! В функции экспорта содержимого ячеек памяти в тексто- вый файл, впервые появившейся в версии 2.0, была обнаружена ошибка: неправильно экспортировалась показательная форма числа. При этом если число имело положительный угол, в файл записыва- лся отрицательный. К счастью, эта ошибка не влияла на импорт записей ячеек памяти из текстового файла, так как при этом счи- тывалась только записанная выше алгебраическая форма, а показа- тельная вычислялась по ней. Эта ошибка в версии 2.30d исправлена. Такще немного преобразован интерфейс - увеличены кнопки быстро- го доступа к двухоперандным операциям ( "+", "-", "*", "/", "x^y", "x^(1/y)") и уменьшены кнопка выбора арифметической опе- рации и "=ОТВЕТ" за ненадобностью. Прогнозы Планируется выпустить версию 2.40, в которой будут расширены возможности настройки, удобство работы и еще повысится стабиль- ность работы. В последующих версиях возможно добавится такие функции, как - вычисление определителей; - рисование векторных диаграмм в файлах Windows Bitmap (точечный рисунок *.bmp); - рассчет несложных электроцепей. - и другие функции по предложению пользователей... Пишите автору программы на kassatka@front.ru