Написание программы, состоящей из двух модулей и реализующей простейший калькулятор
Автор работы: Пользователь скрыл имя, 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) с расположенными на нем кнопками для ввода данных (цифры), кнопки с функциями (синус, косинус, тангенс, котангенс, степень и квадратный корень) и дисплей для отображения результатов.
При нажатии на кнопку с цифрой программа начинает функционировать и на дисплее отображаются все ваши действия (рис.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 делить нельзя.
Список использованных источников
- Сван Т. Основы программирования в Delphi для Windows 95: Пер. с англ. - К: «Диалектика», 1996. -480 с.
- Федоров А. Г. Создание Windows-приложений в среде Delphi: - М.: ТОО фирма «КомпьютерПресс», 1995. -287 с., ил.
- Учебный курс лекций – практик.
ЛИСТИНГ ПРОГРАММЫ.
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]=
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]=
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(
inc(i);
if i<length(s) then
begin
if s[i]='+' then rez:= StrToFloat(copy(s,1,i-1))+
if s[i]='-' then rez:= StrToFloat(copy(s,1,i-1))-
if s[i]='*' then rez:= StrToFloat(copy(s,1,i-1))*
if s[i]='/' then rez:= StrToFloat(copy(s,1,i-1))/
if s[i]='^' then rez:= power(StrToFloat(copy(s,1,i-1)
Pole.Text:=FloatToStr(rez);
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Pole.Text:= FloatToStr(sqrt(StrToFloat(
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(
end;
procedure TForm1.Button9Click(Sender: TObject);