Программа "Калькулятор"
Разработка программы-калькулятора, вычисляющей результат выражения, имеющего в себе числа (целые и дробные), переменные, состоящие из одной буквы и арифметические знаки. Алгоритм работы программы. Описание процедур и функций. Руководство пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 16.05.2014 |
Размер файла | 433,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
ЗАДАНИЕ
Разработать программу -калькулятор, которая позволит выполнить четыре арифметических действия над целыми и вещественными данными. Исходное выражение можно составить с использованием переменных, констант, знаков + - * / и любого числа пробелов, но без использования скобок. Операции * и / считаются самыми главными. Результат вычисления выводится на экран.
ВВЕДЕНИЕ
На мой взгляд, данное задание может являться хорошим наглядным пособием при изучении структурного типа данных, отличным упражнением для улучшения навыков программирования и написания кода программы.
Программа выполнена на языке программирования Pascal, при помощи свободно распространённого компилятора Free Pascal.
В этой записке приведено описание структуры программы, ее входных и выходных данных, параметры и алгоритмы рабочей программы. Кроме того, для удобства пользователя написано руководство пользователя, где в доступной форме с применением экранных форм, которые наглядно иллюстрируют работу с программой, описаны диапазоны значений и типы использованных данных. Для возможности последовательной модификации, а так же понимания программного кода было разработано руководство программиста.
ОПИСАНИЕ ПРИМЕНЕНИЯ
Назначение программы
Программа предназначена для улучшения навыков программирования и написания заверенного кода. Также она может быть использована в сфере образования в виде наглядного примера для иллюстрирования решений задач в которых нужно производить поиск элементов в строке, определить положения места курсора на экране и выполнять арифметических действий в программе Pascal.
Входные данные
1. Bufrek типа ^rtype. Rtype -запись, для удобного хранения информации. Несколько полей записи: name типа char(тип для символов),znath типа real(диапазон: от 2.9·10-39 до 1.7·1038), next типа bufrek.
2. Head типа bufrek. Голова списка.
3. I типа integer. Диапазон: от -32768 до 32767.
4. St, st2 типа string. Тип данных определяет последовательности символов - строки.
Выходные данные
1) После ввода выражения и произведения вычислений на экран выводится ответ. Внешний вид экрана с ответом:
рисунок 1- Вывод ответа
Алгоритм работы программы
Изначально на экране появляется диалоговое окно, где у пользователя требуется ввести свое выражение с помощью оператора Write . Оно считывается в переменную st. С помощью процедуры «дружественный ввод» пользователь может исправить свое выражение, если оно было введено неверно или требуется внести изменения. После каждого изменения курсор, за который отвечает переменная x, передвигается в следующую позицию в зависимости от прошлой операции. После чего пользователь должен нажать клавишу Enter и будет произведен орфографический анализ написанной строки. То есть, если две переменные будут написаны друг за другом будет выведена «ошибка в переменных». Это действие возможно благодаря множеству оператору for, который пройдется по всем элементам строки, кроме последнего. В программе присутствует множество mnog в которое занесены переменные-буквы английского алфавита, и если i-тый символ строки st[i] будет находится в mnog и следующий символ st[i+1] тоже в mnog, то на следующей строке появиться запись об ошибке после чего у пользователя опять будет возможность изменить свой пример с помощью дружественного ввода. Так же и со знаками, есть множество dot в которое занесены арифметические знаки, если один знак будет стоять сразу же за другим, т.е. st[i] в dot и следующий символ st[i+1] тоже будет принадлежать dot , то окно с ошибкой вновь появится на экране. Еще если после знака «\» пользователь поставит 0, то появиться подсказка о том, что делить на 0 нельзя и курсор станет на место после знака деления. Последующее действие программы -это анализ строки. Цикл For пройдется от первого элемента и до конца длины строки. Все переменные будут сохранены в списке, для удобного хранения информации. То есть если строка пуста, то программа прекратит свои дальнейшие действия с помощью break, а если в ней будет один элемент, то создастся новая динамическая переменная head, а ее адрес будет сохранен в переменной city. Но также возможен случай если, в строке будет записано длинное выражение, тогда создастся динамическая переменная city^.next, а ее адрес будет сохранен в в переменной city. После того, как проанализируются все элементы строки, city^.next присвоиться последнему значению списка nil. Дальше у пользователя потребуется ввести значение переменных, которое будет сохранено в city^/zhath. В поле «ответ» заносится выражение со значением переменных. Дальше будет анализироваться строка с ответом и она же будет исправляться, пока не дойдет до конечного ответа. Потом опять с помощью цикла For анализируется строка от первого символа до последнего и находятся первым делом символы деления и умножения. Считываются числа по обе стороны найденного знака, производится вычисление и вставляется вместо чисел и знака в строке «ответ». Но если после знака «\» будет стоять 0, то на экране появиться сообщение «Деление на 0 невозможно» и ему опять будет предоставленная возможность изменить свое выражение с помощью дружественного ввода. Таким образом сокращается строка. Потом находятся знаки сложения и вычитания по всей строке с помощью цикла for и pos и также производятся вычисления и полученное число записывается на месте 2х чисел вокруг знаков «+» и «-» . После того как все вычисления будут окончены в строке «ответ» останется только число-ответ, которое получилось. Оно же и будет являться результатом, после чего пользователь нажмет Enter и программа прекратит свои действия.
Описание процедур и функций
В программе используется 7 процедур:
1) Ramka, предназначена для вывода на экран рамки. Не содержит переменных, а лишь обрамляется часть экрана пунктирной линией;
2) DrygestvenVvod(var st:string), позволяет изменить написанное выражение, вставить нужные знаки, переменные и числа, а так же исправиться ошибки. Использует глобальную переменную st;
3) Orfograf(st:string), анализирует положение знаков и переменных, чтобы не допустить написания знака после знака, тоже самое и с константами. Использует глобальную переменную st;
4) AnalizStr(st:string; var head:bufrek), сохраняет все значения в списке и позволяет пользователю ввести значения переменных. Использует глобальные переменные st и head;
5) PoiskYmDel, для поиска знаков умножения и деления, производит эти вычисления и вставляет результат вычисления в строку, вместо знака и его чисел;
6) PoiskSlVuch осуществляет поиск знаков сложения и вычитания, производит эти вычисления и вставляет результат вычисления в строку, вместо знака и его чисел;
7) Otvet(st2:string), в строку записывается результат вычисления всего выражения .Использует глобальную переменную st2;
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
В данной программе меню не требуется,поэтому после ее запуска на экране появляется такое окно, где у пользователя требуется ввести его выражение в розовую рамку:
рисунок 2-начало работы с программой
рисунок 3- Экран с введенной информацией
После ввода пользователем ему нужного примера требуется нажать Enter для выполнения следующих действий в программе.
Если в выражении знаки будут стоять друг после друга, то программа выведет ошибку:
рисунок 4- вывод ошибки
Если в примере будут присутствовать переменные, программа запросит у пользователя ввести их значения.
После правильно введенного примера ,будут произведены все вычисления и на экране появится, следующее окно с ответом, который будет подсвечиваться голубым цветом :
рисунок 5- Вывод ответа
РУКОВОДСТВО ПРОГРАММИСТА
программа калькулятор процедура
В программе используются глобальные переменные, которые видят процедуры и работают с ними. А также есть переменные множеста, которые нужны только в некоторых процедурах.
В данной программе используются такие переменные: bufrek, rtype, znath, name, next, head, i,St, st2. Для переменной Bufrek используется тип ^rtype, для Head -bufrek, i - integer, st и st2 тип string.
В программе присутствуют 7 процедур:
1) Ramka, для вывода на экран рамки;
2) DrygestvenVvod позволяет изменить написанное выражение, вставить нужные знаки, переменные и числа, а так же исправиться ошибки;
3) Orfograf анализирует положение знаков и переменных, чтобы не допустить написания знака после знака, тоже самое и с константами;
4) AnalizStr сохраняет все значения в списке и позволяет пользователю ввести значения переменных;
5) PoiskYmDel для поиска знаков умножения и деления, производит эти вычисления и вставляет результат вычисления в строку, вместо знака и его чисел;
6) PoiskSlVuch осуществляет поиск знаков сложения и вычитания, производит эти вычисления и вставляет результат вычисления в строку, вместо знака и его чисел;;
7) Otvet в строку записывается результат вычисления всего выражения;
ЗАКЛЮЧЕНИЕ
Программа была выполнена согласно заданию - в полном объеме.
В результате выполненной работы была разработана программа-калькулятор, позволяющая вычислить результат выражения, имеющего в себе числа(целые и дробные), переменные, состоящие из одной буквы и арифметические знаки.
Программы была выполнена на языке Turbo Pascal в интегрированной среде разработки Free Pascal IDE.
В процессе работы с запиской были приобретены основные навыки программирования на языке Turbo Pascal.
Размещено на Allbest.ru
...Подобные документы
Си - это язык программирования общего назначения. Постановка задачи: разработка программы - калькулятора. Метод решения задачи. Алгоритм работы программы. Технические данные для использования. Описание основных функций.
курсовая работа [14,1 K], добавлен 23.05.2002Особенности объектно-ориентированного программирования. Основные возможности языка программирования Java, классификация платформ. Создание программы, обеспечивающей вычисление арифметических выражений. Руководство пользователя и характеристика функций.
курсовая работа [1,2 M], добавлен 07.07.2012Разработка программы "Калькулятор" для работы с вещественными числами. Алгоритм работы программы. Набор тестов и варианты исполнения программы. Порядок ввода текста, стандартные ошибки в работе программы. Программная документация, текст программы.
курсовая работа [225,9 K], добавлен 13.10.2013Создание программы "Калькулятор". Возможность выбора типа калькулятора: обычный или инженерный. Главный модуль проекта CALC. Программа Calc for win (calc4win.exe), разработанная в среде Delphi версии 6. Руководство пользователя. Результаты моделирования.
курсовая работа [56,1 K], добавлен 10.01.2010Теория чисел как одно из направлений математики, изучающее свойства натуральных чисел. Разработка программы-калькулятора CalcKurs на языке программирования Pascal. Основные функции, реализованные в программе. Интерфейс программы, описание процедур.
курсовая работа [1,9 M], добавлен 03.06.2010Написание программы, состоящей из двух модулей и реализующей простейший калькулятор. Разработка алгоритма решения задачи, реализация его в среде программирования Delphi. Список использованных переменных. Блок-схема программы, руководство пользователя.
курсовая работа [106,6 K], добавлен 16.06.2014Организация вычислительных процессов и программирования на алгоритмическом языке. Создание программы "Калькулятор". Выбор языка и среды программирования. Функциональная схема работы программы, описание разработанных алгоритмов. Способы устранения ошибок.
курсовая работа [434,1 K], добавлен 27.08.2012Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.
курсовая работа [506,5 K], добавлен 21.02.2011Создание программы для выполнения простейших математических функций с применением языка программирования ObjectPascal. Проектирование графического интерфейса Калькулятора двоичных и шестнадцатеричных систем. Описание алгоритма на естественном языке.
курсовая работа [115,4 K], добавлен 19.05.2014Составление алгоритма и разработка в среде программирования Delphi 7 программы, вычисляющей макроэкономические индексы цен. Реализация программы в виде 4 форм и 1 диалогового окна. Описание алгоритма решения задачи. Текст программы, руководство оператора.
курсовая работа [1,4 M], добавлен 04.06.2013Общая характеристика основ дисциплины "Теория чисел". Интерфейс, листинг и оценка положительных и отрицательных качеств программы-калькулятора CalcKurs, а также описание ее основных процедур – DelOstatok, Factor, NodNok, SuperGorner, Express и AntiExp.
курсовая работа [1,9 M], добавлен 28.05.2010Осуществление работы разрабатываемой программы на основе алгоритма, использующего Z-буфер. Аналитическое описание программной реализации. Алгоритмы основных функций программы. Содержание руководства пользователя. Файлы программы, пункты главного меню.
курсовая работа [1,7 M], добавлен 15.04.2015Разработка структуры объекта "Калькулятор" - электронного вычислительного устройства для выполнения операций над числами или алгебраическими формулами. Текст программы, результат ее работы. Свойство реального объекта. Блок-схема, алгоритм приложения.
контрольная работа [68,8 K], добавлен 11.04.2015Создание легкой и удобной в применении программы "Клавиатурный тренажер" с помощью программы Delphi7. Использование компонентов Panel, Timer, Button, Status Bar, Label. Описание процедур и функций программы. Руководство разработчика и пользователя.
курсовая работа [276,3 K], добавлен 27.05.2015Рассмотрение основ создания калькулятора на объектно–ориентированном языке программирования Java, который будет подсчитывать длину текста. Математическая модель и алгоритм работы программы. Описание файлов готовой программы расчета символов в тексте.
курсовая работа [276,5 K], добавлен 28.11.2014Описание использованных структур данных и разработка программы, обеспечивающей сжатие данных по алгоритму LZ77 с пошаговой визуализацией. Описание процедур, функций, структуры приложения и интерфейса пользователя. Тест и анализ работы алгоритма LZ77.
курсовая работа [537,9 K], добавлен 28.06.2011Определение необходимых модулей программы, структуры файла базы данных. Описание разработки программы, отладка и тестирование. Разработка приложения Organizer.exe, меню и руководство пользователя. Алгоритм обработки событий главного меню (расписания).
курсовая работа [901,8 K], добавлен 11.02.2014Пример построения программы с использованием арифметических операторов. Основные инструменты создания калькулятора. Процедура ввода чисел. Измененная процедура обработки нажатия кнопки "+". Процедура открытия формы "Справка", итоговый результат.
презентация [1,5 M], добавлен 02.03.2012Приемы программирования в Delphi. Алгоритм поиска альфа-бета отсечения, преимущества. Описание программного средства. Разработка программы, реализующая алгоритм игры "реверси". Руководство пользователя. Листинг программы. Навыки реализации алгоритмов.
курсовая работа [357,1 K], добавлен 28.02.2011Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.
курсовая работа [1,5 M], добавлен 17.01.2011