Программа "Калькулятор"

Разработка программы-калькулятора, вычисляющей результат выражения, имеющего в себе числа (целые и дробные), переменные, состоящие из одной буквы и арифметические знаки. Алгоритм работы программы. Описание процедур и функций. Руководство пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.