Описание разработанных алгоритмов программы



 

Рис.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


Дата добавления: 2018-09-22; просмотров: 403; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!