Автор работы: Пользователь скрыл имя, 11 Марта 2013 в 23:18, курсовая работа
Эволюция технических средств персональных компьютеров привела к повсеместному вытеснению старой “доброй” ОС MS-DOS значительно более мощными системами Windows, программирование для которых существенно сложнее, чем программирование для MS-DOS. В 1993 году Microsoft выпустила первую визуальную среду программирования Visual Basic, и программирование для Windows стало даже проще, чем программирование для MS-DOS. В ответ на это Borland в 1995 году выпустила первую версию Delphi, а затем, с интервалом в 1 год, - еще 4 версии: 2, 3, 4 и 5. Наконец, в середине 2001 г. выпускается версия 6.
Введение………………………………………………………………………..…..5
Теоретическая часть……………………………………………………………...10
Описание функций и процедур……………………………………………….....13
Руководство пользователя…………………………………………………….…17
Результат работы программы……………………………………………….…...24
Заключение………………………………………………………………….…….26
Список литературы……
Таблица 1. Функции кнопок.
Результат работы программы.
В меню Вид можно выбрать два типа калькулятора: обычный и инженерный (рис. 5,6).
Рис.5. Обычный вид.
Рис. 6. Инженерный вид.
Чтобы решить систему алгебраических уравнений, необходимо в меню Вид выбрать Решение СЛАУ (рис. 7).
Рис. 7. Решение СЛАУ
После нажатия кнопки Sta, появляется окно статистика, в котором можно выполнять статистические вычисления (рис.8).
Рис. 8. Статистика
Заключение
В ходе выполнения данной курсовой работы был разработан хороший, многофункциональный калькулятор, с удобным интерфейсом, который позволяет вычислять и системы линейных уравнений.
В целом, работа была не сложной, но потребовала немало временных затрат.
Во время выполнения, мною были закреплены знания по программированию и математике, приобретены навыки со средой программирования Delphi XE. Я познакомился с такими понятиями как «Объект», «Класс». В процессе выполнения были изучены компоненты классов TButton, TMemo, TStrigGrid и др. Я изучил методы для работы с этими компонентами и научился обрабатывать реакции этих компонентов на различные события.
В результате, получилось то, что нужно было сделать, программа работает без ошибок. Можно было добавить в программу и другие операции (например, умножение матриц, нахождение обратной матрицы и др.), но это не было частью задания.
Список использованной литературы.
Приложение
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Menus, Buttons, jpeg, math, XPMan, unit2, unit3,
unit4,ClipBrd;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Pravka: TMenuItem;
Copy: TMenuItem;
Insert: TMenuItem;
Vid: TMenuItem;
Ingener: TMenuItem;
Standart: TMenuItem;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButtonT: TSpeedButton;
SpeedButton0: TSpeedButton;
SpeedButtonPlusMinus: TSpeedButton;
SpeedButtonCL: TSpeedButton;
SpeedButtonCE: TSpeedButton;
SpeedButtonBack: TSpeedButton;
SpeedButtonSta: TSpeedButton;
SpeedButtonAve: TSpeedButton;
SpeedButtonSum: TSpeedButton;
SpeedButtonS: TSpeedButton;
SpeedButtonDat: TSpeedButton;
SpeedButtonD: TSpeedButton;
SpeedButtonE: TSpeedButton;
SpeedButtonF: TSpeedButton;
SpeedButtonA: TSpeedButton;
SpeedButtonB: TSpeedButton;
SpeedButtonC: TSpeedButton;
SpeedButtonUmn: TSpeedButton;
SpeedButtonDel: TSpeedButton;
SpeedButtonPlus: TSpeedButton;
SpeedButtonRavno: TSpeedButton;
SpeedButtonMinus: TSpeedButton;
SpeedButtonMC: TSpeedButton;
SpeedButtonMR: TSpeedButton;
SpeedButtonMS: TSpeedButton;
SpeedButtonMplus: TSpeedButton;
SpeedButtonSin: TSpeedButton;
SpeedButtonCos: TSpeedButton;
SpeedButtonTg: TSpeedButton;
SpeedButtonLn: TSpeedButton;
SpeedButtonLog: TSpeedButton;
SpeedButtonMod: TSpeedButton;
SpeedButtonAnd: TSpeedButton;
SpeedButtonLsh: TSpeedButton;
SpeedButtonNot: TSpeedButton;
SpeedButtonXor: TSpeedButton;
SpeedButtonOr: TSpeedButton;
SpeedButtonX2: TSpeedButton;
SpeedButtonXY: TSpeedButton;
SpeedButton1x: TSpeedButton;
SpeedButtonFac: TSpeedButton;
SpeedButtonPi: TSpeedButton;
SpeedButtonInt: TSpeedButton;
SpeedButtonSqrt: TSpeedButton;
SpeedButtonMumn: TSpeedButton;
SpeedButtonMdel: TSpeedButton;
SpeedButtonCtg: TSpeedButton;
Memo1: TMemo;
Panel1: TPanel;
RadioButtonHex: TRadioButton;
RadioButtonDec: TRadioButton;
RadioButtonOct: TRadioButton;
RadioButtonBin: TRadioButton;
Panel2: TPanel;
Panel3: TPanel;
Inv: TCheckBox;
Hyp: TCheckBox;
Panel5: TPanel;
RadioButtonGradus: TRadioButton;
RadioButtonRad: TRadioButton;
RadioButtonGrad: TRadioButton;
RadioButton4: TRadioButton;
RadioButton2: TRadioButton;
RadioButton1: TRadioButton;
Image1: TImage;
N1: TMenuItem;
Image2: TImage;
N2: TMenuItem;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure RadioButtonHexClick(Sender: TObject);
procedure RadioButtonDecClick(Sender: TObject);
procedure RadioButtonOctClick(Sender: TObject);
procedure RadioButtonBinClick(Sender: TObject);
procedure SpeedButtonStaClick(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButtonTClick(Sender: TObject);
procedure SpeedButton0Click(Sender: TObject);
procedure SpeedButtonAClick(Sender: TObject);
procedure SpeedButtonBClick(Sender: TObject);
procedure SpeedButtonCClick(Sender: TObject);
procedure SpeedButtonDClick(Sender: TObject);
procedure SpeedButtonEClick(Sender: TObject);
procedure SpeedButtonFClick(Sender: TObject);
procedure SpeedButtonPlusClick(Sender: TObject);
procedure SpeedButtonRavnoClick(Sender: TObject);
procedure SpeedButtonPlusDblClick(
procedure SpeedButtonCEClick(Sender: TObject);
procedure SpeedButtonCLClick(Sender: TObject);
procedure SpeedButtonBackClick(Sender: TObject);
procedure SpeedButtonMinusClick(Sender: TObject);
procedure SpeedButtonDelClick(Sender: TObject);
procedure SpeedButtonUmnClick(Sender: TObject);
procedure SpeedButtonLnClick(Sender: TObject);
procedure SpeedButtonX2Click(Sender: TObject);
procedure SpeedButton1xClick(Sender: TObject);
procedure SpeedButtonLogClick(Sender: TObject);
procedure SpeedButtonXYClick(Sender: TObject);
procedure SpeedButtonIntClick(Sender: TObject);
procedure SpeedButtonPiClick(Sender: TObject);
procedure SpeedButtonSinClick(Sender: TObject);
procedure SpeedButtonCosClick(Sender: TObject);
procedure SpeedButtonTgClick(Sender: TObject);
procedure SpeedButtonCtgClick(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure SpeedButtonFacClick(Sender: TObject);
procedure SpeedButtonSqrtClick(Sender: TObject);
procedure Memo1Change(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure SpeedButtonPlusMinusClick(
procedure SpeedButtonMSClick(Sender: TObject);
procedure SpeedButtonMRClick(Sender: TObject);
procedure SpeedButtonMCClick(Sender: TObject);
procedure SpeedButtonMplusClick(Sender: TObject);
procedure SpeedButtonMumnClick(Sender: TObject);
procedure SpeedButtonMdelClick(Sender: TObject);
procedure SpeedButtonDatClick(Sender: TObject);
procedure SpeedButtonSumClick(Sender: TObject);
procedure SpeedButtonAveClick(Sender: TObject);
procedure SpeedButtonSClick(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure SpeedButtonNotClick(Sender: TObject);
procedure Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonModClick(Sender: TObject);
procedure SpeedButtonAndClick(Sender: TObject);
procedure SpeedButtonOrClick(Sender: TObject);
procedure SpeedButtonXorClick(Sender: TObject);
procedure SpeedButtonRavnoMouseMove(
Y: Integer);
procedure SpeedButtonRavnoMouseLeave(
procedure SpeedButtonLshClick(Sender: TObject);
procedure SpeedButton7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton8MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton9MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton5MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton6MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonTMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton0MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonPlusMinusMouseMove(
X, Y: Integer);
procedure SpeedButtonAMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonBMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonCMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonDMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonEMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonFMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButtonFMouseLeave(Sender: TObject);
procedure SpeedButtonEMouseLeave(Sender: TObject);
procedure SpeedButtonDMouseLeave(Sender: TObject);
procedure SpeedButtonCMouseLeave(Sender: TObject);
procedure SpeedButtonBMouseLeave(Sender: TObject);
procedure SpeedButtonAMouseLeave(Sender: TObject);
procedure SpeedButtonPlusMinusMouseLeave
procedure SpeedButton0MouseLeave(Sender: TObject);
procedure SpeedButtonTMouseLeave(Sender: TObject);
procedure SpeedButton3MouseLeave(Sender: TObject);
procedure SpeedButton2MouseLeave(Sender: TObject);
procedure SpeedButton1MouseLeave(Sender: TObject);
procedure SpeedButton6MouseLeave(Sender: TObject);
procedure SpeedButton5MouseLeave(Sender: TObject);
procedure SpeedButton4MouseLeave(Sender: TObject);
procedure SpeedButton9MouseLeave(Sender: TObject);
procedure SpeedButton8MouseLeave(Sender: TObject);
procedure SpeedButton7MouseLeave(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CopyClick(Sender: TObject);
procedure InsertClick(Sender: TObject);
procedure StandartClick(Sender: TObject);
procedure IngenerClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
kol,ss,i,j,l,pk,mk,uk,dk,mok,
a,b,c,R,m,d,u,s,mem_s,mem_p,
klav,nol:char;
kopy,vstavka:string;
implementation
uses Unit5;
{$R *.dfm}
{---------------------Перевод
function ItoS(val:integer):string;
var
r:string;
begin
Str(val,r);
ItoS:=r;
end;
function ConvertToCS(val:integer;CS:
var
r,r1:string;
m,i:integer;
begin
r:=''; if CS>16 then exit;
repeat
m:=val mod CS;
val:=val div CS;
if m<10 then
r:=r+ItoS(m)
else
r:=r+chr(ord('A')+m-10);
until val=0;
r1:='';
for i:=length(r) downto 1 do r1:=r1+r[i];
ConvertToCS:=r1;
END;
function Rto10(s:string;R:word):
var z,m,n:integer;
function stepen(x,n:integer):longint;
var k,i:longint;
begin
k:=1;
for i:=1 to n do k:=k*x;
stepen:=k;
end;
begin
m:=0;
for i:=1 to length(s) do
begin
val(s[i],n,z);
if z<>0 then n:=10+ord(UpCase(s[i]))-ord('
m:=m+stepen(R,length(s)-i)*n;
end;
Rto10:=m;
end;
{---------------------Перевод
function rol32(value, shift: longint): longint;
asm
mov ecx, edx
rol eax, cl
end;
procedure TForm1.CopyClick(Sender: TObject); {Копируем в буфер обмена}
begin
memo1.SelectAll;
memo1.CopyToClipboard;
flag:=true;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ss:=10;
Memo1.Text:='0';
net:='Недопустимое значение';
HideCaret(memo1.Handle);
Memo1.Alignment := taRightJustify;
Memo1.MaxLength := 27;
Memo1.WantReturns :=true;;
Memo1.WordWrap := true;;
flag:=true;
SpeedButtonA.Enabled:=false; SpeedButtonB.Enabled:=false;
SpeedButtonC.Enabled:=false; SpeedButtonD.Enabled:=false;
SpeedButtonE.Enabled:=false; SpeedButtonF.Enabled:=false;
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
CASE key of
#27: begin SpeedButtonCLClick(
'1': begin SpeedButton1Click(
'2': begin SpeedButton2Click(
'3': begin SpeedButton3Click(
'4': begin SpeedButton4Click(
'5': begin SpeedButton5Click(
'6': begin SpeedButton6Click(
'7': begin SpeedButton7Click(
'8': begin SpeedButton8Click(
'9': begin SpeedButton9Click(
'0': begin SpeedButton0Click(
#97: if RadioButtonHex.Checked=true then begin
SpeedButtonAClick(
#98: if RadioButtonHex.Checked=true then begin
SpeedButtonBClick(
#99: if RadioButtonHex.Checked=true then begin
SpeedButtoncClick(
#100: if RadioButtonHex.Checked=true then begin
SpeedButtonDClick(
#101: if RadioButtonHex.Checked=true then begin
SpeedButtonEClick(
#102: if RadioButtonHex.Checked=true then begin
SpeedButtonfClick(
'+': SpeedButtonPlusClick(
'-': SpeedButtonMinusClick(
'*': SpeedButtonUmnClick(
'/': SpeedButtonDelClick(
#13: SpeedButtonRavnoClick(
#115: SpeedButtonSinClick(
#107: SpeedButtonCosClick(
#116: SpeedButtonTgClick(
#113: SpeedButtonCtgClick(
#33: SpeedButtonFacClick(
#96: SpeedButtonSqrtClick(
#92: SpeedButtonPlusMinusClick(
#46: SpeedButtonTClick(
#112: SpeedButtonPiClick(
{I} #105: begin
if Inv.Checked=true then Inv.Checked:=false
else
if Inv.Checked=false then Inv.Checked:=true;
end;
{H} #104: begin
if Hyp.Checked=true then Hyp.Checked:=false
else
if Hyp.Checked=false then Hyp.Checked:=true;
end;
#108: SpeedButtonLnClick(
#103: SpeedButtonLogClick(
#122: SpeedButtonIntClick(
#64 : SpeedButtonX2Click(
#94 : SpeedButtonXYClick(
#08 : SpeedButtonBackClick(
END;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);