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

5.1. Алгоритм основной программы

Основной алгоритм программы представлен на рис. 2. Он представляет собой бесконечный цикл ожидания ввода информации с виртуальной клавиатуры.

Ожидание нажатия клавиши на экранной клавиатуре

Да

Анализ введенной строки

Вычисление арифметического выражения.

Вычисление значения функции на заданном интервале

Построение графика

Отслеживание нажатых клавиш и запись символов в текстовую строку

Нет

Да

Вывод сообщения об ошибке

Нет

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

После окончания ввода (если нажата клавиша «=») запускается подпрограмма анализа и вычисления введенной формулы, алгоритм которой представлен на рис. 3. Если в процессе анализа формулы произошли ошибки ввода, то программа предупредит сообщением об ошибке. Для очистки всех полей программы служит кнопка «Очистить». После этого программа снова ожидает ввод данных.

5.2 Алгоритм анализа строки формулы

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

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

Прочитать очередной символ строки формулы

Добавление цифры к числу

Добавление операции в текущую формулу

Создание подформулы для функции

Создание подформулы

Закрытие подформулы и возврат на формулу выше

Добавление переменной

Да

Да

Да

Да

Да

Нет

Нет

Нет

Нет

Нет

Нет

Рис. 3. Алгоритм анализа строки функции

5.3 Алгоритм построения графика функции Алгоритм построения графика функции представлен на рис. 4.

Вычисление положения оси Y относительно интервала вывода

Вычисление положения оси Х относительно максимального и минимального значения функции

Вывод графика функции и осей координат

Да

Создание таблицы значений функции и нахождения их минимального и максимального значения

Нет

Рис. 4. Алгоритм построения графика функции

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

Если правильно задан интервал, программа переходит к вычислению значений функции на заданном интервале. Результаты сохраняются в массив. Определяется максимальное и минимальное значение функции. Далее вычисляется положение оси Y относительно введенного интервала построения функции, и положение оси Х в зависимости от максимального и минимального значения функции. После этого выводятся оси координат и график функции.