Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Текст программы

Читайте также:
  1. Ex. 1 Прочитайте и письменно переведите текст.
  2. I READING Текст №3 My grandfather
  3. I)Однофакторный дисперсионный анализ (выполняется с применением программы «Однофакторный дисперсионный анализ» надстройки «Анализ данных» пакета Microsoft Excel).
  4. I. Обоснование соответствия решаемой проблемы и целей Программы приоритетным задачам социально-экономического развития Российской Федерации
  5. I. Стандарты текста
  6. I.1.2. Божественное — человеческое в авторитетных текстах ислама
  7. II. Место дисциплины в структуре основной образовательной программы
  8. II. Речевая деятельность человека. Создание текста. Коммуникативные качества хорошей речи и способы их достижения
  9. II. Структура программы
  10. III READING Текст №1 Harrods Christmas sale

unit Unit1;

 

interface

 

uses

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

Dialogs, Menus, StdCtrls, ExtCtrls,Math,clipbrd,UnitAbout;

 

type

TJournal=record

x,y,z:real;

cod:char;

end;

TForm1 = class(TForm)

bmod: TButton;

open_brace: TButton;

close_brace: TButton;

Button12: TButton;

Button13: TButton;

Button14: TButton;

Button15: TButton;

Button16: TButton;

Button17: TButton;

Button18: TButton;

Button6: TButton;

B7: TButton;

B8: TButton;

B9: TButton;

B4: TButton;

B5: TButton;

B6: TButton;

B3: TButton;

B2: TButton;

B1: TButton;

B0: TButton;

Button24: TButton;

Button25: TButton;

Button26: TButton;

Button27: TButton;

Button28: TButton;

Button_Calculate: TButton;

Button30: TButton;

BSqrt: TButton;

Button1: TButton;

Edit1: TEdit;

RadioGroup1: TRadioGroup;

MainMenu1: TMainMenu;

N2: TMenuItem;

CtrlC1: TMenuItem;

CtrlV1: TMenuItem;

N_Spravka: TMenuItem;

N_invokespravka: TMenuItem;

N7: TMenuItem;

N_aboutprogram: TMenuItem;

N8: TMenuItem;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

Button10: TButton;

Button11: TButton;

Button22: TButton;

Button23: TButton;

ListBox1: TListBox;

Button19: TButton;

procedure B9Click(Sender: TObject); //процедуры ввода данных

procedure Button24Click(Sender: TObject);

procedure Button25Click(Sender: TObject);

procedure Button26Click(Sender: TObject);

procedure Button27Click(Sender: TObject);

procedure Button28Click(Sender: TObject);

procedure Button_CalculateClick(Sender: TObject);

procedure Button30Click(Sender: TObject);

procedure BSqrtClick(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure B0Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button18Click(Sender: TObject);

procedure Button17Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure open_braceClick(Sender: TObject);

procedure Button13Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure B1Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button14Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure Button19Click(Sender: TObject);

procedure Button20Click(Sender: TObject);

procedure close_braceClick(Sender: TObject);

procedure B2Click(Sender: TObject);

procedure Button21Click(Sender: TObject);

procedure Button22Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure Button23Click(Sender: TObject);

procedure B3Click(Sender: TObject);

procedure B4Click(Sender: TObject);

procedure B5Click(Sender: TObject);

procedure B6Click(Sender: TObject);

procedure B7Click(Sender: TObject);

procedure B8Click(Sender: TObject);

procedure CtrlC1Click(Sender: TObject);

procedure CtrlV1Click(Sender: TObject);

 

procedure N8Click(Sender: TObject);

procedure N_invokespravkaClick(Sender: TObject);

procedure N_aboutprogramClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure ListBox1Click(Sender: TObject);

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

private

{ Private declarations }

public

{ Public declarations }

end;

const

journal_max=1000;

var

Form1: TForm1;

code: char;

op1, y, z: real;

x1, y1, z1: Integer;

mem_str,journal_str:String;

journal_array:array[1..journal_max] of TJournal;

ji:Integer;

implementation

{$R *.dfm}

procedure TForm1.B9Click(Sender: TObject); //ввод данных

begin

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

 

end;

procedure TForm1.Button24Click(Sender: TObject); //ввод запятой

begin

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

end;

procedure TForm1.Button25Click(Sender: TObject);

begin

if edit1.Text<>'' then op1:=strtofloat(edit1.text);

code:= '+';

Edit1.Clear;

end;

procedure TForm1.Button26Click(Sender: TObject);

begin

if edit1.Text<>'' then op1:=strtofloat(edit1.text);

code:= '-';

Edit1.Clear;

end;

procedure TForm1.Button27Click(Sender: TObject);

begin

if edit1.Text<>'' then op1:=strtofloat(edit1.text);

code:= '*';

Edit1.Clear;

end;

procedure TForm1.Button28Click(Sender: TObject);

begin

if edit1.Text<>'' then op1:=strtofloat(edit1.text);

code:= '/';

Edit1.Clear;

end;

procedure TForm1.Button_CalculateClick(Sender: TObject); //рассчет данных и

begin //вывод в журнал событий

if edit1.Text<>'' then y:=strtofloat(edit1.text);

journal_array[ji].x:=op1;

journal_array[ji].y:=y;

journal_array[ji].cod:=code;

journal_str:=FloatToStr(op1);

journal_str:=journal_str+ code + FloatToStr(y);

ListBox1.Items.Add(journal_str);

case code of

'+': z:=op1+y;

'-': z:=op1-y;

'*': z:=op1*y;

'/': z:=op1/y;

'^': z:=Power(op1,y);

'[': z:=Trunc(op1) Mod Trunc(y);

']': z:=Trunc(op1) Div Trunc(y);

'{': z:=Power(op1,1/y);

end;

edit1.Text:=floattostr(z); // вывод в поле Edit1 значение переменной z

journal_array[ji].z:=z;

Inc(ji);

if ji=journal_max then ji:=1;

end;

procedure TForm1.Button30Click(Sender: TObject); //расчет обратного числа

begin

op1:= strtofloat(edit1.text);

z:=1/op1;

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.BSqrtClick(Sender: TObject); //вычисление квадратного корня

begin

op1:= strtofloat(edit1.text);

z:=Power(op1,1/2);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button2Click(Sender: TObject); //ввод данных

begin

op1:= strtofloat(edit1.text);

z:=(op1*(-1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.B0Click(Sender: TObject); //ввод данных

begin

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

end;

procedure TForm1.Button6Click(Sender: TObject); //стирание всех данных,

op1:=0; // не занесенных в память

begin

y:=0;

z:=0;

Edit1.Clear;

end;

procedure TForm1.Button18Click(Sender: TObject); //стирание последнего

begin //введенного числа

Edit1.Text:='';

 

end;

 

procedure TForm1.Button17Click(Sender: TObject); //стирание знаков

var

st:string;

begin

st:=Edit1.Text;

delete(st,length(st),1);

Edit1.Text:=st;

if Edit1.Text='' then begin

Edit1.Text:='';

end;

end;

procedure TForm1.Button3Click(Sender: TObject); //вычисление котангенса

begin

if RadioGroup1.ItemIndex=0 then begin

op1:=(strtofloat(edit1.text)*3.141592653589793)/180;

z:=cos(op1)/sin(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=1 then begin

op1:=strtofloat(edit1.text);

z:=cos(op1)/sin(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=2 then begin

op1:=strtofloat(edit1.text);

z:=cos(gradtorad(op1))/sin(gradtorad(op1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

end;

procedure TForm1.Button4Click(Sender: TObject); //возведение в квадрат числа

begin

op1:= strtofloat(edit1.text);

z:=Power(op1,2);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button1Click(Sender: TObject); //возведение в степень числа

begin

op1:= strtofloat(edit1.text);

code:= '^';

edit1.Clear;

end;

procedure TForm1.open_braceClick(Sender: TObject);//открытие скобок

begin

op1:= strtofloat(edit1.text);

code:= '{';

edit1.Clear;

end;

 

procedure TForm1.Button13Click(Sender: TObject); // вызов числа из памяти

begin

mem_str:='';

mem_str:=Edit1.Text;

end;

procedure TForm1.Button5Click(Sender: TObject); //регистр последнего результата

i:Integer; //вычеслений

result:Real;

begin

result:=1;

op1:=strtofloat(edit1.text);

if (Trunc(op1) < 0) then begin

Edit1.Text:='Недопустимый ввод';

end

else if (Trunc(op1) = 0) then begin

Edit1.Text:='1';

end

else begin

for i:= 1 to Trunc(op1) do begin

result:= result * i;

end;

Edit1.Text:=FloatToStr(result);

end;

end;

 

procedure TForm1.Button7Click(Sender: TObject); //вычисление десятичного

begin //логарифма

op1:= strtofloat(edit1.text);

z:=log10(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.B1Click(Sender: TObject);

begin

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

end;

procedure TForm1.Button8Click(Sender: TObject);//вычисление натурального

begin //логарифма

op1:=strtofloat(edit1.text);

z:=ln(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button14Click(Sender: TObject); //занести отображаемое

begin //число в память

if (mem_str<>'') then Edit1.Text:=mem_str else Edit1.Text:='';

end;

procedure TForm1.Button9Click(Sender: TObject); // вывод числа Pi

begin

edit1.Text:='3,141592653589793';

 

end;

 

procedure TForm1.Button10Click(Sender: TObject); //вычисление синуса

Var

rcs:Real;

begin

if RadioGroup1.ItemIndex=0 then begin

op1:=(strtofloat(edit1.text)*3.141592653589793)/180;

z:=sin(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=1 then begin

op1:=strtofloat(edit1.text);

z:=sin(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=2 then begin

op1:=strtofloat(edit1.text);

z:=sin(gradtorad(op1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

journal_array[ji].x:=op1;

journal_array[ji].y:=0;

journal_array[ji].cod:='0';

journal_array[ji].z:=z;

journal_str:=FloatToStr(op1);

journal_str:='sin('+journal_str+')';

ListBox1.Items.Add(journal_str);

Inc(ji);

if ji=journal_max then ji:=1;

end;

procedure TForm1.Button11Click(Sender: TObject); //вычисление косинуса

begin

if RadioGroup1.ItemIndex=0 then begin

op1:=(strtofloat(edit1.text)*3.141592653589793)/180;

z:=cos(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=1 then begin

op1:=strtofloat(edit1.text);

z:=cos(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=2 then begin

op1:=strtofloat(edit1.text);

z:=cos(gradtorad(op1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

journal_array[ji].x:=op1;

journal_array[ji].y:=0;

journal_array[ji].cod:='0';

journal_array[ji].z:=z;

journal_str:=FloatToStr(op1);

journal_str:='cos('+journal_str+')';

ListBox1.Items.Add(journal_str);

Inc(ji);

if ji=journal_max then ji:=1;

end;

procedure TForm1.Button19Click(Sender: TObject); // вычисление тангенса

begin

if RadioGroup1.ItemIndex=0 then begin

op1:=(strtofloat(edit1.text)*3.141592653589793)/180;

z:=sin(op1)/cos(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=1 then begin

op1:=strtofloat(edit1.text);

z:=sin(op1)/cos(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=2 then begin

op1:=strtofloat(edit1.text);

z:=sin(gradtorad(op1))/cos(gradtorad(op1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

journal_array[ji].x:=op1;

journal_array[ji].y:=0;

journal_array[ji].cod:='0';

journal_array[ji].z:=z;

journal_str:=FloatToStr(op1);

journal_str:='tan('+journal_str+')';

ListBox1.Items.Add(journal_str);

Inc(ji);

if ji=journal_max then ji:=1;

end;

procedure TForm1.close_braceClick(Sender: TObject); //закрытие скобок

begin

op1:= strtofloat(edit1.text);

code:= '}';

edit1.Clear;

end;

procedure TForm1.B2Click(Sender: TObject); //ввод числа 2

begin

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

 

end;

 

procedure TForm1.Button21Click(Sender: TObject); //вывод числа Эйлера

Var

e:Real;

begin

e:=2.7182818284;

op1:= strtofloat(edit1.text);

z:=Power(e,op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button22Click(Sender: TObject); //Возведение в степень

begin //по основанию 10

op1:= strtofloat(edit1.text);

z:=Power(10,op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button12Click(Sender: TObject); //очистить память

begin

mem_str:='';

end;

procedure TForm1.Button23Click(Sender: TObject); //возвращает дробную часть числа с плавающей запятой

begin

op1:= strtofloat(edit1.text);

z:=Frac(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.B3Click(Sender: TObject); //ввод числа 3

begin

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

end;

procedure TForm1.B4Click(Sender: TObject); //ввод числа 4

begin

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

end;

procedure TForm1.B5Click(Sender: TObject); //ввод числа 5

begin

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

end;

procedure TForm1.B6Click(Sender: TObject);

begin

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

end;

 

procedure TForm1.B7Click(Sender: TObject);

begin

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

end;

procedure TForm1.B8Click(Sender: TObject);

begin

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

end;

procedure TForm1.CtrlC1Click(Sender: TObject); //копировать

begin

Edit1.SelectAll;

Edit1.CopyToClipboard;

end;

procedure TForm1.CtrlV1Click(Sender: TObject); //вставить

begin

Edit1.SelectAll;

Edit1.PasteFromClipboard;

end;

procedure TForm1.N8Click(Sender: TObject); //выход из приложения

begin

Form1.Close;

end;

procedure TForm1.N_invokespravkaClick(Sender: TObject); //вызов справки

begin

WinExec('hh.exe calc.htm',SW_SHOW);

end;

procedure TForm1.N_aboutprogramClick(Sender: TObject); //про программу

begin

AboutBox.Show;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

ji:=1;

end;

procedure TForm1.ListBox1Click(Sender: TObject); //журнал событий

var

ind:Integer;

begin

ind:=(ListBox1.ItemIndex);

Inc(ind);

z:=journal_array[ind].z;

Edit1.Text:=FloatToStr(z);

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); //ввод с клавиатуры

begin

if key='+' then begin Button25Click(Sender);Edit1.Clear; end;

if key='-' then begin Button26Click(Sender);Edit1.Clear; end;

if key='*' then begin Button27Click(Sender);Edit1.Clear; end;

if key='/' then begin Button28Click(Sender);Edit1.Clear; end;

if key='=' then Button_CalculateClick(Sender);

end;

end.




Дата добавления: 2014-12-23; просмотров: 31 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.051 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав