Из курсовой по программированию. В самом конце статьи вы найдете ссылку на закачку исходников калькулятора дробных чисел.
Разработать калькулятор, работающий с обыкновенными дробями в двух форматах:
Для решения поставленной задачи нам необходимо:
Тогда получим схему:
Для написания программы на форму были помещены такие компоненты среды разработки Delphi:
При нажатии кнопок Button1-Button4 вызываются процедуры, с помощью которых считываются данные, введенные пользователем. В соответствии с нажатой кнопкой, будет вызвана подпроцедура сложения, вычитания, умножения или деления(summa, minus, umn, del).
После обработки данных подпроцедурой будет возвращен результат. Если данные не введены, будет вызвана процедура вывода на экран и в файл сообщения об ошибке. Процедура называется log_error.
При нажатии кнопок Button5-Button9 вызываются процедуры выделения целой части, сокращения дроби, возведения в степень, обмена местами числителя и знаменателя, смены знака.
Процедура возведения в степень вызывает подпроцедуру stepen. Необходимо, чтобы в поле возле кнопки вызова процедуры предварительно было введено значение степени.
Процедура обмена местами вызывает подпроцедуру obmen. Процедура смены знака вызывает подпроцедуру Smena. Так же, как и выше, если данные вводятся неправильно, выводится сообщение об ошибке.
Эти пять процедур подразумевают сохранение полученных данных. При выполнении какой-либо другой операции можно отменить последнее действие и посмотреть предыдущий результат. Но после выполнения третьей операции значения, найденные во время первой, безвозвратно теряются.
При нажатии кнопки Button10 происходит вышеназванная отмена последнего действия. При нажатии кнопки Button11 очищаются поля ввода и вывода, но значения переменных не удаляются. При нажатии кнопки Button12 обнуляются все значения переменных. После этого уже нельзя будет отменить последнее действие.
При нажатии кнопки Button13 выводятся на экран логи работы программы. Они включают в себя введенные пользователем данные, произведенные операции, результат этих операций, а так же сообщения об ошибках. При нажатии кнопки Button14 вызывается справочная система калькулятора.
Справочная система разработана с помощью утилиты Hcw.exe. Для этого сначала справочный материал был написан в Microsoft Word, расставлены ссылки в каждом пункте справки, информация сохранена в rtf формате. Далее с помощью вышеназванной утилиты была создана справочная система и оглавление к ней. Для связи справочной системы с нашим приложением было введено название help-файла в меню Borland Delphi «Проект» → «Параметры» → «Приложение» → «Файл справки».
Например вычислим:
Получим такие результаты:
Теперь перенесем полученное значение в нижнее поле и выделим целую часть:
Теперь можно обменять местами числитель и знаменатель:
Возведем полученное значение во вторую степень:
Сменим знак дроби:
При неправильном вводе данных мы увидим такое сообщение:
При нажатии на кнопку «Логи» мы увидим логи работы нашей программы:
Полностью просмотреть только что созданный log-файл можно в приложении А, размещенном ниже, а в конце статьи можно найти ссылку на листинг программы и на само приложение.
При нажатии на кнопку помощи мы увидим справочное руководство:
При выборе необходимого нам пункта можно будет почитать интересующий материал.
Сложение, вычитание, умножение и деление:
Для выполнения этих операций необходимо ввести дроби и нажать на кнопку с соответствующим знаком. Если дробь без целой части, то оставляем это поле пустым. При незаполнении остальных полей будет выведено сообщение об ошибке.
Результат выводится без целой части в форме числитель/знаменатель.
Выделение целой части:
Для выделения целой части дробь вводится не в те поля, где производились операции «+,-,*,/», а ниже, в специально отведенных полях. Затем нажимается кнопка «Выделение целой части».
Если дробь введена уже с целой частью или не введена вообще, то будет выведено сообщение об ошибке.
Сокращение дроби:
Для сокращения дроби нужно выбрать соответствующее значение делителя от 2 до 9 в поле возле кнопки «Сократить дробь на …» и нажать на кнопку. Если дробь не сокращается на выбранное число, то никаких изменений не произойдет. Если дробь введена неправильно, будет выведено сообщение об ошибке.
Возведение в степень:
Для возведения в степень нужно ввести значение степени в поле возле кнопки «Возведение в степень…» и нажать на кнопку. Если не введена дробь или значение степени, то будет выведено сообщение об ошибке.
Обмен местами числителя и знаменателя:
Для обмена местами нужно ввести дробь и нажать на кнопку «Обмен местами». При неправильном вводе значения дроби появится сообщение об ошибке.
Смена знака:
Для смены знака нужно ввести дробь и нажать на кнопку «Смена знака». При неправильном вводе значения дроби появится сообщение об ошибке.
Работа с памятью:
Для отмены последней операции нужно нажать кнопку «Отмена последней операции».
Для полной очистки памяти нажимается кнопка «Обнулить».
Кнопка «Очистить» только очищает поля ввода и вывода, но не удаляет из памяти последние значения переменных.
Просмотр логов:
В программе предусмотрена возможность во время работы сохранять логи в файл. Туда заносятся все входные данные и действия, произведенные пользователем.
Для просмотра этих логов нужно нажать кнопку «Просмотреть логи».
Сложение
Первое число Второе число
Целая часть Числитель Знаменатель Целая часть Числитель Знаменатель
3 21 6 + 0 2 3
Результат:
23/ 6
Выделение целой части
Числитель Знаменатель
23 6
Результат:
Целая часть Числитель Знаменатель
3 5 6
обмен местами числителя и знаменателя
Целая часть Числитель Знаменатель
3 5 6
Результат:
Числитель Знаменатель
6 23
Возведение в степень
Целая часть Числитель Знаменатель Степень
0 6 23 2
Результат:
Числитель Знаменатель
36 529
Смена знака
Целая часть Числитель Знаменатель
0 36 529
Результат:
Числитель Знаменатель
-36 529
Неправильно введены данные
Так как приложение записывает данные в текстовый файл, они могут отображаться не совсем корректно.
Здесь можно скачать листинг программы калькулятора дробных чисел и готовое приложение:
Если заинтересовало программирование подобных приложений в Делфи, посмотрите калькулятор дат, калькулятор решения квадратных уравнений и калькулятор времени.
Постановка задачи
Разработать калькулятор, работающий с обыкновенными дробями в двух форматах:
- числитель/знаменатель;
- целая часть числитель/знаменатель.
Схема алгоритма решения задачи
Для решения поставленной задачи нам необходимо:
- Если пользователем введены значения, то считать их.
- Выбрать операцию.
- Определить, в каком формате введена дробь. Если с целой частью, то привести ее к дроби без целой части.
- Вычислить результат.
- Сохранить данные на случай отмены последней операции.
- Вывести результат.
Тогда получим схему:
Описание используемых компонентов
Для написания программы на форму были помещены такие компоненты среды разработки Delphi:
- поля Edit (для ввода пользовательских значений и вывода полученных результатов);
- кнопки Button;
- поле Memo (для вывода логов работы программы);
- ComboBox (для выбора значения степени, в которую будет возводиться дробь).
При нажатии кнопок Button1-Button4 вызываются процедуры, с помощью которых считываются данные, введенные пользователем. В соответствии с нажатой кнопкой, будет вызвана подпроцедура сложения, вычитания, умножения или деления(summa, minus, umn, del).
После обработки данных подпроцедурой будет возвращен результат. Если данные не введены, будет вызвана процедура вывода на экран и в файл сообщения об ошибке. Процедура называется log_error.
При нажатии кнопок Button5-Button9 вызываются процедуры выделения целой части, сокращения дроби, возведения в степень, обмена местами числителя и знаменателя, смены знака.
Процедура возведения в степень вызывает подпроцедуру stepen. Необходимо, чтобы в поле возле кнопки вызова процедуры предварительно было введено значение степени.
Процедура обмена местами вызывает подпроцедуру obmen. Процедура смены знака вызывает подпроцедуру Smena. Так же, как и выше, если данные вводятся неправильно, выводится сообщение об ошибке.
Эти пять процедур подразумевают сохранение полученных данных. При выполнении какой-либо другой операции можно отменить последнее действие и посмотреть предыдущий результат. Но после выполнения третьей операции значения, найденные во время первой, безвозвратно теряются.
При нажатии кнопки Button10 происходит вышеназванная отмена последнего действия. При нажатии кнопки Button11 очищаются поля ввода и вывода, но значения переменных не удаляются. При нажатии кнопки Button12 обнуляются все значения переменных. После этого уже нельзя будет отменить последнее действие.
При нажатии кнопки Button13 выводятся на экран логи работы программы. Они включают в себя введенные пользователем данные, произведенные операции, результат этих операций, а так же сообщения об ошибках. При нажатии кнопки Button14 вызывается справочная система калькулятора.
Справочная система разработана с помощью утилиты Hcw.exe. Для этого сначала справочный материал был написан в Microsoft Word, расставлены ссылки в каждом пункте справки, информация сохранена в rtf формате. Далее с помощью вышеназванной утилиты была создана справочная система и оглавление к ней. Для связи справочной системы с нашим приложением было введено название help-файла в меню Borland Delphi «Проект» → «Параметры» → «Приложение» → «Файл справки».
Пример результатов работы программы
Например вычислим:
Получим такие результаты:
Теперь перенесем полученное значение в нижнее поле и выделим целую часть:
Теперь можно обменять местами числитель и знаменатель:
Возведем полученное значение во вторую степень:
Сменим знак дроби:
При неправильном вводе данных мы увидим такое сообщение:
При нажатии на кнопку «Логи» мы увидим логи работы нашей программы:
Полностью просмотреть только что созданный log-файл можно в приложении А, размещенном ниже, а в конце статьи можно найти ссылку на листинг программы и на само приложение.
При нажатии на кнопку помощи мы увидим справочное руководство:
При выборе необходимого нам пункта можно будет почитать интересующий материал.
Инструкция пользователю программы
Сложение, вычитание, умножение и деление:
Для выполнения этих операций необходимо ввести дроби и нажать на кнопку с соответствующим знаком. Если дробь без целой части, то оставляем это поле пустым. При незаполнении остальных полей будет выведено сообщение об ошибке.
Результат выводится без целой части в форме числитель/знаменатель.
Выделение целой части:
Для выделения целой части дробь вводится не в те поля, где производились операции «+,-,*,/», а ниже, в специально отведенных полях. Затем нажимается кнопка «Выделение целой части».
Если дробь введена уже с целой частью или не введена вообще, то будет выведено сообщение об ошибке.
Сокращение дроби:
Для сокращения дроби нужно выбрать соответствующее значение делителя от 2 до 9 в поле возле кнопки «Сократить дробь на …» и нажать на кнопку. Если дробь не сокращается на выбранное число, то никаких изменений не произойдет. Если дробь введена неправильно, будет выведено сообщение об ошибке.
Возведение в степень:
Для возведения в степень нужно ввести значение степени в поле возле кнопки «Возведение в степень…» и нажать на кнопку. Если не введена дробь или значение степени, то будет выведено сообщение об ошибке.
Обмен местами числителя и знаменателя:
Для обмена местами нужно ввести дробь и нажать на кнопку «Обмен местами». При неправильном вводе значения дроби появится сообщение об ошибке.
Смена знака:
Для смены знака нужно ввести дробь и нажать на кнопку «Смена знака». При неправильном вводе значения дроби появится сообщение об ошибке.
Работа с памятью:
Для отмены последней операции нужно нажать кнопку «Отмена последней операции».
Для полной очистки памяти нажимается кнопка «Обнулить».
Кнопка «Очистить» только очищает поля ввода и вывода, но не удаляет из памяти последние значения переменных.
Просмотр логов:
В программе предусмотрена возможность во время работы сохранять логи в файл. Туда заносятся все входные данные и действия, произведенные пользователем.
Для просмотра этих логов нужно нажать кнопку «Просмотреть логи».
Приложение А
Сложение
Первое число Второе число
Целая часть Числитель Знаменатель Целая часть Числитель Знаменатель
3 21 6 + 0 2 3
Результат:
23/ 6
Выделение целой части
Числитель Знаменатель
23 6
Результат:
Целая часть Числитель Знаменатель
3 5 6
обмен местами числителя и знаменателя
Целая часть Числитель Знаменатель
3 5 6
Результат:
Числитель Знаменатель
6 23
Возведение в степень
Целая часть Числитель Знаменатель Степень
0 6 23 2
Результат:
Числитель Знаменатель
36 529
Смена знака
Целая часть Числитель Знаменатель
0 36 529
Результат:
Числитель Знаменатель
-36 529
Неправильно введены данные
Так как приложение записывает данные в текстовый файл, они могут отображаться не совсем корректно.
Здесь можно скачать листинг программы калькулятора дробных чисел и готовое приложение:
Если заинтересовало программирование подобных приложений в Делфи, посмотрите калькулятор дат, калькулятор решения квадратных уравнений и калькулятор времени.
Комментариев нет:
Отправить комментарий