Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка - Калькулятор для дробей.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
868 Кб
Скачать
☆

1.3.2 Описание алгоритма

В программе решаются одновременно две задачи: работа с дробями и запись этой работы в файл на диск.

Программа калькулятор достаточно простая, рассматривать алгоритмы работы большинства функций не имеет смысла. В данной курсовой работе представлены наиболее интересные алгоритмы программы калькулятор..

Основной алгоритм работы программы представляет собой типичный алгоритм по выбору пунктов меню и вызове соответствующих функций. Алгоритм главной программы осуществляет:

- вывод меню;

- открытие файла;

- ввод дроби и запись в файл;

- ввод математической операции или завершения программы;

- выбор математической операции с записью в файл;

- в зависимости от выбранной математической операции, необходимо сделать ввод дроби или степень, или сразу получить ответ. При этом сразу идет запись текущей информации на диск;

- при нажатии клавиши «Esc», закрывается файл и выход из программы.

Алгоритм главной программы представлен на рисунке 1.

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

Алгоритмы функций извлечения корня и возведения дроби в степень представлены на рисунках 3 и 4 соответственно.

Следует отметить алгоритм вывода ответа и алгоритм формирования дроби.

Алгоритм вывода ответа позволяет вывести дробь в зеленом цвете и строго указанном месте экрана в виде правильной дроби или смешанного числа.

Алгоритм вывода подразумевает:

  1. установления позиции курсора;

  2. очищения строка для вывода путем записи пробелов;

  3. восстановления позиция курсора;

  4. задание цвета вывода зеленым;

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

  6. восстановление белого цвета для дальнейшего вывода.

Алгоритм формирования дроби заключается в последовательном воде двух символьных строк с анализом на ввод ошибок, преобразованием этих строк в целые числа соответственно для числителя и знаменателя дроби. Цвет символов при выводе сообщений для оператора и введенных строк осуществляются в определенных местах консольного окна. Алгоритм формирования дроби (а) с вызовом функции ввода (б) представлены на рисунке 5.

Рисунок 1. Алгоритм главной программы.

Рисунок 2. Алгоритм вызова арифметических операций.

Рисунок 3. Алгоритм вызова функций извлечения квадратного корня.

Рисунок 4. Алгоритм вызова функций возведения дроби в степень.

а)

б)

Рисунок 5 Алгоритм формирования дроби (а) с вызовом функции ввода (б).

1.3.3 Организация входных и выходных данных

Входные данные – данные, с которыми работает программа: числитель, знаменатель, степень числа – натуральные числа, а вид операции - символ. Перечисленные данные вводятся с клавиатуры. При вводе числителя, знаменателя, степени числа применяется ввод сроки символов в символьный массив. Такой ввод удобен, так как позволяет вовремя обнаружить и исправить ошибки.

Дробное число состоит из двух составляющих, поэтому разумно его представить как структуру - собственный тип данных:

struct drob

{

int chis; //числитель

int znam; //знаменатель

};

Так как каждое поле структуры – целое число, символьный массив после ввода и проверки на ошибки переводится в целое число.

Степень дробного числа - целое число, для ее получения используется такой же способ, как и составляющих частей дроби. Степень в программе определена как int step.

Вид операции или операция – символьная переменная, определенная как char oper. Данная переменная может принимать строго определенные значения: «+», «-», «*», «/», «^», «&», либо значение переменной с кодом 1 и 27. Любое другое значение переменной вызовет сообщение о неправильной операции.

Выходные данные – результат расчета операций с дробями представляет собой дробь, которая выводится на экран в последовательности: значения числителя, знака «/», значение знаменателя взятые в круглые скобки. Например: ( 1/2 ).

Кроме того, при запуске программы выдаются текстовые сообщения о последовательности действий оператора и об ошибках, допущенных оператором.

Дроби и операции с ними последовательно, по мере проведения расчета, записываются в текстовый файл протокола для контроля. Эта запись представляет собой форматированный вывод дробей, операций между ними, и ответов.