Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Бирский филиал Уфимского политехнического техникума
КУРСОВАЯ РАБОТА
по дисциплине: «Технология разработки программных продуктов»
тема: Разработка программы "Калькулятор"
Выполнил студент
Специальность: Программное обеспечение вычислительной техники и автоматизированных систем
Группа: 3-ПО-2
Столбоушкин М.А
Руководитель:
Белова С.В.
Преподаватель:
Белова С.В.
К защите допущен _________________ Руководитель: Белова С.В. «______»_________________2013 г. |
Оценка: Дата защиты: «______»_________________2013 г. |
Бирск-2013г.
Содержание
Введение
1. Аналитический раздел
1.1 ОБЗОР И АНАЛИЗ СУЩЕСТВУЮЩИХ ПРОГРАММНЫХ РЕШЕНИЙ
1.2 Определение функциональных требований к разрабатываемой программной системе
2. Конструкторский раздел
2.1 Выбор языка и среды программирования
2.2 Функциональная схема работы программы
2.3 Организация данных и проектирование интерфейсов обмена данными в программной системе
3. Технологический раздел
3.1 Определение структуры и состава программной системы
3.2 Описание разработанных алгоритмов программы
3.3 Руководство пользователя
Заключение
Список литературы
Приложения
Программы, работающие на компьютере, можно разделить на три категории:
Данные категории программ в свою очередь так же разделяются на несколько разделов. Например, прикладные программы можно разделить по уровню сложности обработки информации и результатов. Для математических вычислений существует множество различных программных продуктов.
Калькулятор устройство для арифметических вычислений. Мы пользуемся простыми калькуляторами для математических вычислений в школе и для подсчета денег в магазине. Ученые, инженеры и статистики пользуются другими калькуляторами, способными выполнять сложные операции. Современные калькуляторы - это электронные приборы с маленькими силиконовыми микросхемами, производящими любые вычисления.
программа алгоритм калькулятор ошибка
Цель - Необходимо разработать программу "Калькулятор" выполняющую основные арифметические операции в среде программирования Turbo Pascal 7.0.
Задачи:
Сегодня повсеместное использование калькуляторов существенно облегчает работу человека в самых различных сферах. Впрочем, представить себе жизнь без таких помощников практически невозможно - ведь счетные устройства повсюду сопровождали человека в самые различные исторические периоды, хотя механизм их работы и был устроен иначе.
Уже три тысячи лет назад в Древнем Вавилоне появился первый абак - старинный аналог счет, в котором круглые камешки передвигались по специальным направляющим в форме углублений, и каждая из направляющих представляла собой отображение ряда единиц, десятков, сотен. За рубежом развитие счетных машин происходит не менее интенсивно. Первый калькулятор массового выпуска - ANITA MK VIII - выпускается в Англии в 1961-ом году и представляет собой устройство, работающее на газоразрядных лампах. Это устройство было достаточно громоздким по современным меркам, оно оснащалось клавиатурой для ввода числа, а также дополнительной 10-ти клавишной консолью для задания множителя. В 1965-ом году калькуляторы Wang впервые научились считать логарифмы, а уже через четыре года в США появился и первый настольный программируемый калькулятор. А в 1970-ые годы мир калькуляторов становится более совершенным и разнообразным - появляются новые настольные и карманные машины, а также профессиональные инженерные калькуляторы, позволяющие производить сложнейшие расчеты.
Из доступных программ-калькуляторов можно назвать "Калькулятор Windows" и "NumLock Calculator".
1. NumLock Calculator - очень удобный калькулятор, который выскакивает при нажатии NumLock (или ScrollLock), а при повторном нажатии прячется обратно в системную панель. Результат вычислений может автоматически вставляться в активное окно. Поддерживает разные форматы (десятичный, шестнадцатиричный, с фиксированной точкой, научный), разные виды (простой, инженерный, программерский и т.п.).
Основные функции NumLock Calculator:
Пример работы данной программы (рис.1.1).
Рис.1.1 Пользовательский интерфейс программы " NumLock Calculator".
2. "Калькулятор Windows" - компонент Microsoft Windows, имитирующий работу обычного карманного калькулятора. Его "кнопки" можно нажимать мышкой. Возможен ввод с дополнительной цифровой клавиатуры. Также можно вставлять математические выражения из буфера обмена и получать результат (например, набрать в Блокноте "2*2=", скопировать и вставить в Калькулятор, на "экране" которого появится ответ "4"). Пример работы данной программы (рис.1.2.).
Рис.1.2 Интерфейс программы "Калькулятор Windows".
Проанализировав существующие программные решения, были определены следующие функциональные требования к разрабатываемой программе:
В ходе разработки программы все вышеописанные функциональные требования к ней были выполнены.
Общее назначение программного средства - выполнение арифметических операций для использования в учебном процессе и повседневной жизни.
Реализуемая задача состоит в том, чтобы при выборе действия выполнялась определенная операция, и имелась возможность корректировать число (удаление последнего символа), сбросить полученный результат или же продолжить расчеты с данным результатом.
Язык Паскаль был одним языков, созданных для обучения и получивших популярность, как и новичков, так и в серьёзном программировании. При его создании успешно решена задача сочетания сравнительной простоты языка с потенциальной широтой области его применений. В отличии от своих предшественников (в частности Бейсика) Паскаль допускает разнообразные типы составных объектов: запись - упорядоченный набор про именованных объектов произвольных типов; файл - упорядоченный набор однородных данных, размещаемых во внешней памяти; множество - набор элементов одного типа, кодируемых отрезками натурального ряда или произвольными именами. В Паскале имеется оператор варианта, т.е. выбора одной из нескольких альтернативных последовательностей (ветвей) операторов по вычисляемому номеру ветви.
Программа на Паскаль, также как и в других языках программирования реализует алгоритм решения задачи. Она объединяет последовательность действий, выполняемых над определенными типами данными с помощью операций, определяемых возможностями языка. Язык Паскаль является универсальным языком, т.е. на нем можно писать вычислительные, графические и системные программы, программы по обработке больших блоков данных (типа СУБД).
Для представления принципа работы программы ниже приведена ее функциональная схема (рис.2.1).
Рис.2.1 Функциональная схема программы "Калькулятор"
Пункт "Ввод операнда" представляет собой часть программы, в которой выбираются нужные числа для подсчета. После выбора чисел нужно выбрать действие, которое необходимо выполнить (пункт "Выбор функции"). Затем по введенным данным вычисляется результат (пункт "Вычисление значения").
Далее пользователю предоставляется продолжить работу с результатом ("Работа с результатом"). В следствие работы с ним пользователь может выйти из программы или сбросить результат и продолжить вычисления.
Одной из самых важных функций любой программы является ввод и вывод данных.
Выводимые данные это то, что сообщается пользователю. Входные данные это то, что пользователь сообщает программе.
Выводимые данные в программе представлены в виде графического отображения окна программы (рис.2.2):
Рис.2.2 Окно программы
Входные данные представлены в виде программного кода, который необходимо выполнить при определенных действиях пользователя, а именно:
В программе используются модули, как стандартные, так и собственные.
Модуль GrMouse обрабатывает прерывание Dos $33 - это события от мыши и определяет координаты курсора и состояние кнопок мыши.
Модуль GrButton содержит описание процедур, связанных с событиями мыши.
Модуль Functions содержит набор подпрограмм для работы с числами.
Модуль GrOutPut содержит набор подпрограмм для собственно отрисовки результатов в графическом режиме, вывод результата в нужном виде в нужное место. Список стандартных модулей представляют Graph, crt, dos
В модуле Graph (GRAPH. TPU) находится библиотека, состоящая из более чем 50 графических подпрограмм от побитовых до подпрограмм высокого уровня.
Модуль Crt позволяет выводить цветные символы на цветном экране. Хотя по-прежнему отображение будет происходить в текстовом режиме. Текстовый режим означает, что на экране могут выводиться только определенные символы в определенных местах (знакоместах). Можно представить экран, разделенным вертикальными и горизонтальными линиями на ячейки. В эти ячейки можно "вписывать" различные символы. У каждой ячейки есть адрес.
Модуль Dos позволяет использовать возможности операционной системы MS DOS, не предусмотренные в стандарте языка Паскаль, и содержит типы, константы, переменные и подпрограммы для реализации этих дополнительных возможностей.
В программе использованы локальные переменные и константа, стандартные и пользовательские процедуры и функции.
Константа называется Captions и имеет тип данных строковый. Она нужна для нанесения надписей на кнопки, используемые в интерфейсе программы.
Локальные переменные:
Процедуры и функции пользователя:
Рис.3.1 Алгоритм программы "Калькулятор".
Для создания программы калькулятор необходимо реализовать алгоритм, позволяющий иметь возможность, при выборе действия (операции), выводить ее на экран и получать результат вычислений. Также необходимо организовать возможность сброса полученных результатов.
Для повышения удобства пользования программой разработан понятный графический интерфейс, то есть все возможные операции, которые пользователь может производить в программе, выведены непосредственно на экран пользователя.
Требования к аппаратуре и программному обеспечению
Так как программа выполнена в среде программирования Turbo Pascal, то требования к аппаратному и программному обеспечению минимальны.
ПК с процессором, совместимым с Intel Pentium или AMD, монитором и клавиатурой. Операционная система MS-DOS или MS Windows (кроме Windows 7, так как на данной операционной системе приложение не может работать в полноэкранном режиме).
Установка программы
Установка программы на компьютер пользователя заключается в копировании папки программы и установки ярлыка на Рабочий стол. Создайте в любом разделе жесткого диска новую папку и скопируйте в нее все файлы папки "Курсовой проект".
Запускать следует файл GRCALC. EXE непосредственно из папки или при помощи ярлыка кнопкой Enter или двойным щелчком мыши.
Если требуется доработка программы, то необходимо иметь исходный файл GRCALC. PAS, который открывается в среде программирования TURBO PASCAL версии 7 или совместимой с ней. Порядок работы с программой опишем в руководстве пользователя. Здесь приводится описание приемов управления программой.
Порядок работы
Запуск программы производится двойным щелчком мыши на файле GRCALC. EXE или на его ярлыке.
После запуска открывается окно программы. Далее в поле данных мы должны ввести первое число, затем операцию, которую мы хотим выполнить, а затем второе число. Нажимаем кнопку "=". Далее получаем результат выполнения действия. Можно сбросить результат (нажать "C") или продолжить работу с ним.
В результате выполнения данного курсового проекта был разработан игровой программный продукт "Калькулятор". При помощи этой программы можно высчитывать определенные арифметические операции. Программа не занимает много места, не требовательна к установленному программному обеспечению.
Также было проведено исследование полученного программного продукта. В результате были выявлены следующие достоинства и недостатки полученного программного продукта:
Достоинства:
Недостатки:
В целом, поставленная в начале курсового проекта цель была достигнута. В программе выполняются все необходимые функциональные требования.
1. Фаронов, В.В. Программирование в Delphi 7: учеб. пособие / В.В. Фаронов. - 7-е изд., перераб. - М.: Нолидж, 2006. - 412с.
2. Ставровский, А.Б. Delphi в задачах и примерах: учеб. для вузов / А.Б. Ставровский. - Киев: BНV, 2004. - 399с.
3. Кнут, Д.Э. Искусство программирования: учеб. пособие: в 3 т.: пер. с англ. Т.1: Основные алгоритмы. - 3-е изд. - М. и др.: Вильямс, 2000. - 720 с.
4. Гловацкая, А.П. Методы и алгоритмы вычислительной математики: учеб. пособие для вузов / А.П. Головыцкая. - М.: Радио и связь, 1999. - 408с.
5. Бежанова, М.М. Практическое программирование: структуры данных и алгоритмы: учеб. для вузов / М.М. Бежанова, Л.А. Москвина, И.В. Поттосин. - М.: Логос, 2001. - 223с.
Приложение 1
Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, XPMan, jpeg, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
XPManifest1: TXPManifest;
BitBtn14: TBitBtn;
BitBtn13: TBitBtn;
BitBtn15: TBitBtn;
BitBtn16: TBitBtn;
BitBtn17: TBitBtn;
BitBtn12: TBitBtn;
Image1: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn15Click(Sender: TObject);
procedure BitBtn16Click(Sender: TObject);
procedure BitBtn17Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
var a,b:real;//числа над которыми производятся операции
dlina,f:byte;{dlina-максимальная длина вводимого числа,
f-проверяет первый ли этот символ}
zn:char;//Знак операции
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'1'
else begin
f:=0;
form1.Edit1.Text:='1';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'2'
else begin
f:=0;
form1.Edit1.Text:='2';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'3'
else begin
f:=0;
form1.Edit1.Text:='3';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn7Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'4'
else begin
f:=0;
form1.Edit1.Text:='4';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn9Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'5'
else begin
f:=0;
form1.Edit1.Text:='5';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'6'
else begin
f:=0;
form1.Edit1.Text:='6';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'7'
else begin
f:=0;
form1.Edit1.Text:='7';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn6Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'8'
else begin
f:=0;
form1.Edit1.Text:='8';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn10Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'9'
else begin
f:=0;
form1.Edit1.Text:='9';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn8Click(Sender: TObject);
begin
if dlina<13 then begin
if f=0 then Form1.Edit1.Text:=Form1.Edit1.Text+'0'
else begin
f:=0;
form1.Edit1.Text:='0';
end;
inc(dlina);
end;
end;
procedure TForm1.BitBtn11Click(Sender: TObject);
begin
form1.Edit1.Text:='';
end;
procedure TForm1.BitBtn14Click(Sender: TObject);
begin
a:=strtofloat(form1.Edit1.Text);
f:=1;//следующий символ будет первым
dlina:=0;//готовимся для считывания 2 числа
zn:='+';
end;
procedure TForm1.BitBtn13Click(Sender: TObject);
begin
b:=strtofloat(form1.Edit1.Text);
if zn='+'then form1.Edit1.Text:=floattostr(a+b);
if zn='-'then form1.Edit1.Text:=floattostr(a-b);
if zn='*'then form1.Edit1.Text:=floattostr(a*b);
if (zn='/')and(b<>0)then form1.Edit1.Text:=floattostr(a/b);
//если 2 число равно 0, то ...
if (zn='/')and(b=0)then form1.Edit1.text:='ERROR=)';
zn:='0';//сбрасывем знак операции
dlina:=0;
f:=1;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
dlina:=0;
f:=0;
zn:='0';
end;
procedure TForm1.BitBtn15Click(Sender: TObject);
begin
a:=strtofloat(form1.Edit1.Text);
f:=1;
dlina:=0;
zn:='-';
end;
procedure TForm1.BitBtn16Click(Sender: TObject);
begin
a:=strtofloat(form1.Edit1.Text);
f:=1;
dlina:=0;
zn:='*';
end;
procedure TForm1.BitBtn17Click(Sender: TObject);
begin
a:=strtofloat(form1.Edit1.Text);
f:=1;
dlina:=0;
zn:='/';
end;
procedure TForm1.BitBtn12Click(Sender: TObject);
var s:string;
p:byte;
begin
if f=1 then begin edit1.Text:='';
f:=0;
end;
p:=0;
s:=form1.Edit1.Text;
p:=pos(',',s);
if p=0then
if s=''then begin form1.Edit1.Text:='0,';
dlina:=dlina+2;
end
else begin
form1.Edit1.Text:=form1.Edit1.Text+',';
inc(dlina);
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
//обрабатывем нажатие клавиши
case key of
'0'..'9':begin
if dlina=0 then edit1.Text:='';
if length(form1.Edit1.Text)>12 then key:=chr(0);//символ не добавляем
inc(dlina);
end;
#8:;//это код кнопки BackSpace
else key:=chr(0);
end;
end;
end.
en
Приложение 2
Графический интерфейс программы
Рис.1. Графический интерфейс программы
Рис.2. Программа во время работы
Размещено на Allbest.ru