Написание программы, состоящей из двух модулей и реализующей простейший калькулятор

Автор работы: Пользователь скрыл имя, 16 Января 2013 в 14:15, курсовая работа

Описание работы

Техническая эволюция персональных компьютеров и постоянно растущие требования пользователей привели к тому, что такие ОС как MS-DOS, OS/2 и подобные были вытеснены с рынка информационных технологий значительно более мощными системами с более удобным и дружелюбным интерфейсом, например Windows, программирование для которых существенно сложнее, чем программирование для MS-DOS

Содержание работы

Введение 3
Задание 5
Основная часть 6
Delphi язык и среда программирования
Визуальное программирование
Выгоды от проектирования АРМ в среде Windows с помощью Delphi
Создание приложений для Windows
Аннотация 11
Блок-схема программы 13
Руководство пользователя 14
Заключение 15
Список использованной литературы 16
Приложение 1.Листинг программы 17

Файлы: 1 файл

основная.DOC

— 148.00 Кб (Скачать файл)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АННОТАЦИЯ

Программа «Калькулятор»  была разработана как один из вариантов  программы для выполнения стандартных арифметических операций и вычислений простейших функций (синус, косинус, тангенс, котангенс, степень и квадратный корень) от заданных чисел, а так же для того чтобы более углубленно освоить возможности по созданию Windows-приложений, среды программирования Delphi 7. Программа представляет собой окно (рис.1) с расположенными на нем кнопками для ввода данных (цифры), кнопки с функциями (синус, косинус, тангенс, котангенс, степень и квадратный корень) и дисплей для отображения результатов.

 

                                          

                                                                          Рис 1.

При нажатии на кнопку с цифрой программа начинает функционировать  и на дисплее отображаются все ваши действия (рис.2).

       

У программы так же есть мню с двумя пунктами: файл и о программе (знак ?) это так  же видно на рисунке 2. В меню файл находится закладка «закрыть», а  в справке находятся краткие сведения о программе и разработчике.

Список использованных переменных

В программе Calculator были использованы стандартные элементы Delphi 7. Ее структуру простую структуру отображает рисунок 3. В программе использованы элементы закладок Standard (TButton, TEdit, TMainMenu, TLabel) (в главной форме-Form1, которая является самим калькулятором и в меню о программе) рис.3 и Additional (TImage) (только в меню о программе-Form2) рис.4.

     

                    Рис.3   Рис.4    

Первые 11 элементов TButton (названия от _0 до _9) осуществляют функцию ввода чисел. А 12й элемент с именем ‘Dot’, служит для отделения дробной части от челой. При нажатии на одну из этих кнопок число отображается на дисплее и заносится в переменную ‘back’ с типом string которая хранит в себе данные о введенных числах. Остальные элементы TButton являются функциональными клавишами, 1 кнопка вывода результата (‘=’) и 1 кнопка очистки дисплея. При нажатии на функциональную клавишу, знак функции так же отображается на дисплее и заносится в переменную ‘s’ типа string. После этого у нас есть все необходимые данные для вычисления результата действий (события OnClick для кнопки со значением “=”). Результат вычисления заносится в переменную rez типа real и выводится на дисплей.

 Элементs TMainmenu используются для реализации меню программы с пунктам: Файл,  ?(на Form1), Закрыть(на Form2)


         Выход           О программе

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

Элемент TLabel применен для отображения текста информации о программе в одноименном меню.

 

 

 

БЛОК-СХЕма ПРОГРАММЫ Calculator








 


 

 



 

 






 

 

 

 

 

 

 

 

 

 

 

 

 

Руководство пользователя

При запуске программы на экран выводится окно программы, содержащее серое поле и размещенные на нем кнопки  1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 00, ., /, *, -, +, =, синус, косинус, тангенс, котангенс, степень, кв. корень, а также “дисплей” на котором отображаются арифметические операции и результаты вычислений.

При нажатии на кнопку - цифру программа начнет свою работу, т. е. в окне программы на “дисплее” результатов появится набранная цифра. На дисплее будут отображаться все действия пользователя. Для вычисления какой либо функции необходимо сначала ввести число (или воспользоваться результатом предыдущих вычислений), а после этого нажать на кнопку необходимой функции. При нажатии на закладку меню «О программе» появится окно на котором изложена краткая информация о программе и разработчике. Программа закроется если в меню «Файл» нажать закладку Выход или стандартным способом – нажать на крестик в правом верхнем углу окна.

Для вычисления результата нужно нажать кнопку “=”, а для сброса результата нужно второй раз нажать “CE”.

 

 

 

ЗАКЛЮЧЕНИЕ

Данная программа является типичным примером реализации простейших программ созданных для Windows с помощью Delphi.

Достоинством данной программы является ее простота в  использовании в наиболее распространенной, на данный момент, операционной системе Windows  и то, что при необходимости можно добавить нужные кнопки-функции.

Недостаток программы  в том, что при наборе очень сложных функций одновременно программа выдает ошибку набора. Поэтому чтобы избежать этой ошибки необходимо соблюдать последовательность и правильность набора команд. К примеру: такое простое правило вычисления как, любое число на  0 делить нельзя. 

Список использованных источников

  1. Сван Т. Основы программирования в Delphi для Windows 95: Пер. с англ. - К: «Диалектика», 1996. -480 с.
  2. Федоров А. Г. Создание Windows-приложений в среде Delphi: - М.: ТОО фирма «КомпьютерПресс», 1995. -287 с., ил.
  3. Учебный курс лекций – практик. 
    ЛИСТИНГ ПРОГРАММЫ.

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Buttons, StdCtrls, Menus;

type

  TForm1 = class(TForm)

    _1: TButton;

    _2: TButton;

    _3: TButton;

    _4: TButton;

    _5: TButton;

    _6: TButton;

    _7: TButton;

    _8: TButton;

    _9: TButton;

    _0: TButton;

    Dot: TButton;

    _00: TButton;

    Pole: TEdit;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    Button6: TButton;

    Button7: TButton;

    Button8: TButton;

    Button9: TButton;

    Button10: TButton;

    Button11: TButton;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    procedure _1Click(Sender: TObject);

    procedure _2Click(Sender: TObject);

    procedure _3Click(Sender: TObject);

    procedure _4Click(Sender: TObject);

    procedure _5Click(Sender: TObject);

    procedure _6Click(Sender: TObject);

    procedure _7Click(Sender: TObject);

    procedure _8Click(Sender: TObject);

    procedure _9Click(Sender: TObject);

    procedure DotClick(Sender: TObject);

    procedure _00Click(Sender: TObject);

    procedure _0Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure PoleChange(Sender: TObject);

    procedure Button8Click(Sender: TObject);

    procedure Button9Click(Sender: TObject);

    procedure Button10Click(Sender: TObject);

    procedure Button11Click(Sender: TObject);

    procedure FormKeyPress(Sender: TObject; var Key: Char);

    procedure N2Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.dfm}

uses

  Math, Unit2

var

  rez: real;

procedure TForm1._1Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'1';

end;

procedure TForm1._2Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'2';

end;

procedure TForm1._3Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'3';

end;

procedure TForm1._4Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'4';

end;

procedure TForm1._5Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'5';

end;

procedure TForm1._6Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'6';

end;

procedure TForm1._7Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'7';

end;

 

procedure TForm1._8Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'8';

end;

procedure TForm1._9Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'9';

end;

procedure TForm1.DotClick(Sender: TObject);

begin

  Pole.Text:= Pole.Text+',';

end;

procedure TForm1._00Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'00';

end;

procedure TForm1._0Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'0';

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'+';

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'-';

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'*';

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'/';

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

  Pole.Text:= Pole.Text+'^';

end;

procedure TForm1.Button7Click(Sender: TObject);

var

  s: string;

  i: word;

  First: boolean;

begin

  s:=Pole.Text;

  rez:=0;

  while (s[1]='+')or(s[1]='*')or(s[1]='/')or(s[1]='^') do

        delete(s,1,1);

  First:=true;

  for i:=1 to length(s) do

      if s[i]=' ' then delete(s,i,1)

                  else if s[i]='.' then

                       begin

                         delete(s,i,1);

                         insert(',',s,i);

                       end;

  for i:=1 to length(s) do

      if (s[i]='+')or(s[i]='-')or(s[i]='*')or(s[i]='/')or(s[i]='^')then

         if (First=false) then delete(s,i,length(s)-i+1)

                          else First:=false;

  Pole.Text:='';

  i:=1;

  while (s[i]<>'+')and(s[i]<>'-')and(s[i]<>'*')and(s[i]<>'/')and(s[i]<>'^') do

        inc(i);

  if i<length(s) then

  begin

    if s[i]='+' then rez:= StrToFloat(copy(s,1,i-1))+StrToFloat(copy(s,i+1,length(s)-i+1));

    if s[i]='-' then rez:= StrToFloat(copy(s,1,i-1))-StrToFloat(copy(s,i+1,length(s)-i+1));

    if s[i]='*' then rez:= StrToFloat(copy(s,1,i-1))*StrToFloat(copy(s,i+1,length(s)-i+1));

    if s[i]='/' then rez:= StrToFloat(copy(s,1,i-1))/StrToFloat(copy(s,i+1,length(s)-i+1));

    if s[i]='^' then rez:= power(StrToFloat(copy(s,1,i-1)),StrToFloat(copy(s,i+1,length(s)-i+1)));

    Pole.Text:=FloatToStr(rez);

  end;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

  Pole.Text:= FloatToStr(sqrt(StrToFloat(Pole.Text)));

end;

procedure TForm1.PoleChange(Sender: TObject);

begin

  if Pole.Text='' then

                  begin

                    Button7.Enabled:=false;

                    Button6.Enabled:=false;

                    Button8.Enabled:=false;

                    Button9.Enabled:=false;

                    Button10.Enabled:=false;

                    Button11.Enabled:=false;

                  end else

                      begin

                        Button7.Enabled:=true;

                        Button6.Enabled:=true;

                        Button8.Enabled:=true;

                        Button9.Enabled:=true;

                        Button10.Enabled:=true;

                        Button11.Enabled:=true;

                      end;

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

  Pole.Text:= FloatToStr(sin(StrToFloat(Pole.Text)));

end;

procedure TForm1.Button9Click(Sender: TObject);

Информация о работе Написание программы, состоящей из двух модулей и реализующей простейший калькулятор