Объектті бағытталған программалау


К І Р І С П Е

Объектті бағытталған программалаудың негізгі түсінігі және программаның элементі болып мәліметтердің жиынтығын, сондай-ақ оларға жасалатын әрекеттерді үйлестіретін объект болып табылады. Delphi тіліндегі қолданбалы бағдарламалар немесе қосымшалар IDE (Integrated Development Environment) дамып отыратын құрылымдық ортада орындалады. IDE ортасы бағдарламаушының қарым-қатынасын ұйымдастырып, әр түрлі басқару элементтерінен құралған бірнеше терезелерден тұрады. Осы ортаның құралдарын пайдалана отыры, қосымшаның интерфейстік бөлігін жобалауға, программаның кодын жазуға және оны басқару элементтерімен байланыстыруға болады. Аталған жұмыстар және бағдарламаны түзету, оны орындау әрекеттері IDE ортасында орындалады.

Delphi-дің IDE ортасы көптерезелік жүйе деп саналады. Delphi оқиғалар бойынша басқарылатын объектті бағытталған, визуалды-программалау тілі болып саналады, және жалпы мөлшерде жобалаудың қазіргі құралдарына ұсынылатын жаңа талаптарға сәйкес келеді.

Бұл әдістемелік ңұсқауда жүйенің әр түрлі құралдарын пайдалану мысалдары келтірілген, әр түрлі мақсаттағы қолданбалы программалар өңделген, өзіндік жұмыстардың варианттары келтірілген.

1 1-Лабораториялық жұмыс «Сызықты алгоритмдерді бағдарламалау»

Лабораториялық жұмыстың мақсаты: визуалды ортаның негізгі элементтерін меңгеру, мәліметтерді енгізу/ шығару үшін DELPHI қарапайым құраушыларын пайдалануды меңгеру, және сызықты алгоритмді пайдаланатын қосымшаны құру.

1. 1 DELPHI визуалды ортасы

DELPHI-ді жүктегенде экранда 1. 1. суретте көрсетілген интерфейс панелі шығады. DELPHI ортасы монитор экранында біруақытта ашылатын бірнеше терезелер түрінде визуалды іске асырылады. Терезелердің саны, орналасуы, өлшемі және түрі программистпен өзгертілуі мүмкін.

Негізгі терезе экранда әрқашанда бар болады және қосымшаны құру үрдісін басқару үшін арналған.

Негізгі меню үрдісті басқару үшін барлық қажетті құралдардан тұрады.

Негізгі меню пиктограммалары көбінесе жиі қолданылатын командалармен жұмыс жасауды жеңілдетеді.

Компоненттер Палитрасы Форма терезесіне программистпен орналастырылған кейбір элементті (компонентті) сипаттайтын, DELPHI ортасының кітапханалық программалар жиынтығына рұхсатты қамтамасыз етеді. Әрбір компонент анықталған қасиеттер жиынтығынан тұрады, оларды программист өзінің көзқарасы бойынша таңдап алады және өзгерте алады. Мысалы, терезе аты, батырмадағы жазу, шрифтің өлшемі, түсі, түрі және т. б. Компоненттер қасиеттері HELP-та келтірілген .

Объекттілер Инспекторы терезесі таңдап алынған компоненттердің қасиеттерін өзгерту үшін арналған және екі беттен тұрады. Properties (Қасиеттер) беті компоненттердің қажетті қасиеттерін өзгерту үшін арналған. Events (Оқиғалар) беті- қандай да бір оқиғаға компоненттің реакциясын анықтау үшін арналған (мысалы, “тышқанның” батырмасын басу) .

Форма терезесі жобаланатын Windows-қосымшасының интерфейсін ұсынады. Осы терезеге қосымшаны жобалау кезінде қажетті компоненттер орналастырылады, компоненттерді өңдеуші Компоненттер Палитрасынан алады. Жобаның әрбір Формасына модуль ( Unit ) сәйкес келеді, оның Object Pascal тіліндегі мәтіні Код редакторы терезесіне орналастырылады.

Код Редакторы терезесі жоба модулінің мәтінін көру, құру және редакторлау үшін арналған. Бастапқы жүктемелеуде Код Редакторы терезесінде Windows-қосымшасы ретінде бос Форманың қалыптасуы үшін операторлардың минималды жиынтығынан тұратын модуль мәтіні болады. Форма терезесінде кейбір компонентті орналастыру кезінде, модуль мәтіні автоматты түрде қажетті операторлармен толықтырылады.

Форманы құру, клавиатура пернесін немесе тышқан батырмасын басу, т. б. сияқты жүйеде орындалатын барлық оқиғалар туралы Windows ядросы терезелерді қажетті хабарламаларды жіберу арқылы ақпараттайды. DELPHI ортасы оқиғаларды өңдеушілер көмегі арқылы хабарламаларды қабылдайды және өңдейді (мысалы, “тышқан” батырмасын басу- OnClick оқиғасы, Форманы құру - OnCreate) . Көбінесе жиі қолданылатын оқиғалар 1. 1. кестеде ұсынылған.

1. 1- кесте. Оқиғалар: 1. 1- кесте. Оқиғалар
1. 1- кесте. Оқиғалар: Оқиғалар
Оқиғалардың сипаттамасы
1. 1- кесте. Оқиғалар: OnActivate
Форманы активтеу кезінде қалыптасады
1. 1- кесте. Оқиғалар: OnCreate
Форманы құру кезінде қалыптасады. Берілген оқиғаның өңдеушісінде Форманы құру кезінде орындалатын әрекеттерді беру керек, мысалы бастапқы мәндерді орнату.
1. 1- кесте. Оқиғалар: OnClick
Компонент аймағында тышқанның батырмасын басу кезінде орындалады.
1. 1- кесте. Оқиғалар: OnDblClick
Компонент аймағында тышқанның батырмасын екі рет басу кезінде орындалады.
1. 1- кесте. Оқиғалар: OnKeyPress
Пернетақта пернелерін басу кезінде орындалады. Key параметрі Char түрінде болады және басылған перненің ASCII-кодынан тұрады (Enter пернесі нің коды #13, Esc пернесінікі - #27 және т. с. с. ) . Әдетте бұл оқиға пернелердің бірін басу кезінде реакция қажет болған жағдайда қолданылады.
1. 1- кесте. Оқиғалар: OnKeyDown
Пернетақта пернелерін басу кезінде орындалады. Бұл оқиғаның өңдеушісі басылған перне және Shift, Alt, Ctrl пернелерінің күйі, сондай-ақ тышқанның батырмасының басылуы туралы ақпарат алады .

Оқиғаның өңдеушісін құру үшін программист Объектілер Инспекторы терезесінің жоғарғы жағында компоненттер тізімін ашуы және қажетті компонентті таңдауы керек. Содан кейін, Объектілер Инспекторының Events бетінде, тышқанның сол жақ батырмасын басу арқылы өңдеушінің атын таңдауы және оның оң жақ (ақ) бөлігін екі рет шертуі қажет. Оған жауап ретінде DELPHI Код Редакторы терезесін активтейді және таңдалған оқиғаның өңдеу процедурасының дайындамасын көрсетеді. Әрбір өңделетін оқиға үшін модуль мәтінінде процедура ( procedure ) қалыптасады, бұның begin және end кілт сөздері арасында программист Object Pascal тілінде оқиға өңдеушісінің талап етілетін алгоритмін жазады.

Форма терезесі және Код Редакторы терезесі арасында ауысу негізгі меню батырмасы пиктограммасы арқылы немесе F12 пернесі арқылы орындалады.

1. 2 Қосымшаны құру мысалы

Тапсырма : Келесі шаманы есептеу үшін Windows-қосымшасын құру

\[u=t g^{5}(\bigtriangledown\times\vartheta^{3})+e^{\ y/z}\cdot\sin z^{2}\]
.

Берілген x , y және z сандық мәндерін интерфейс панелінің сәйкес өрістеріне пернетақтадан енгізу. Құрастырып жатырған қосымшаның интерфейс панелінің мүмкін варианттарының бірі 1. . 2. суретте көрсетілген.

1. 2. 1 Жобаны сақтау

Қосымшаны жобалау үрдісі кезінде DELPHI бірнеше файлдарды құрады - жоба. Әрбір жобаны алдын ала құрылған жеке папкаға сақтаған дұрыс. Windows сәйкес келетін қосымша көмегімен папка құрып, оны LAB1 деп атайық.

Жобаны сақтау үшін негізгі менюдан F ile пунктін ашыңыз және “тышқанды” Sav e Project As…(Сохранить проект как…) опциясында шертіңіз. DELPHI бірінші жоба модулін сақтау үшін Save Unit1 As (Сохранить модуль как) диалог панелін ашады. Осы панелден құрылған LAB1 папкамызды табамыз және соның ішіне модульге, мысалы UnLinAlg ат беріп сақтаймыз. Көңіл қойыңыз, DELPHI бұл файылға үнсіздік бойынша *. pas кеңеюі бар Delphi unit типін меншіктейді. Сонан соң Save Project1 As диалог панелі ашылады . Жобамызға, мысалы, PrLinAlg ат беріп осы папканың ішіне сақтайық. Бұнда DELPHI файлға Delphi project типін және *. dpr кеңейтілуін береді. Назар аударыңыздар, енді DELPHI негізгі терезесі PrLinAlg, жобаның негізгі файл терезесі- PrLinAlg. dpr, ал жоба модулі терезесі- UnLinAlg. pas деп аталады.

DELPHI ұсынатын бірқалыпты Unit1 және Project1 орнына, файлдарға мағынасы бар ат беруге тырысыңыздар.

Авариялық, мысалы тоқ көзінің сөніп қалуы немесе жүйенің істен шығып кетуімен және т. с. с. байланысты жағдайларда жоба файлының жоғалуын болдырмау үшін, негізгі менюдің пиктограммасын немесе F ile менюынан . Sa v e All опциясын пайдаланып периодты түрде жобаны сақтау ұсынылады.

1. 2. 2 Терезелерді орналастыру

Тереземен жұмыс жасау үшін, терезенің кез-келген жерінен “тышқанмен” шерту арқылы оны белсенді қылу керек. Белсенді терезенің аты бөлініп тұрады, мысалы, 1. 1 суретте белсенді болып Код Редакторы терезесі болып табылады.

Форма және модуль Коды Редакторының терезесінде жоғарғы оң жақ бұрышында басқару батырмалары болады, олар: - терезені пиктограммаға жабу үшін, - терезені бүткіл экранға ашу үшін және , бастапқы өлшемге келу ушін -терезені жабу үшін арналған.

“Тышқанның” көмегімен, Форма, Код Редакторы, Объектілер Инспекторы терезелерінің керек өлшемдерін және олардың экранда орналасуын реттеңіздер.

1. 2. 3 Форма атын өзгерту

Жаңа Форманың бірдей (Name) аты және тақырыбы(Сaption) - FORM1 болады. Жас программисттерге Форма атын өзгертудің қажеті жоқ, себебі ол модуль мәтінінде қолданылады.

Тақырыбын өзгерту үшін Объектілер Инспекторының терезесін белсенді қылыңыздар және Properties бетінде Caption қасиетіндегі Form1 жазуды Лабораториялық жұмыс №1-Сызықты алгоритм - деп өзгертіңіз. Біруақытта Форма терезесінің тақырыбы аты өзгергеніне көз жеткізіңіз.

1. 2. 4 Формада компоненттерді орналастыру

Формада компонентерді 1. 2. суретте көрсетілген панелге сәйкес келетіндей орналастырайық

Формаға жазуларды енгізу үшін Label компоненті қолданылады. Компоненттер Палитрасында Standard бетінде Label компонентінің пиктограммасын таңдаңыз және оның үстінен “тышқанмен” шертіңіз. Осыдан кейін Форманың керек жерінен “тышқанмен” шертіңіз - Label1 жазуы пайда болады. Объектілер Инспекторының Caption қасиетінде Label1 жазуын X мәнін енгізіңіз- деп өзгертіңіз: . Font қасиетінде шрифтті өзгертіңіз. Осыған ұқсас Формаға қалған жазуларды енгізіңіз. Кез-келген орналастырылған компоненттердің біріне “тышқанмен” шертіп, оның Формада орналасуын және өлшемін реттеңіз.

Мәліметтерді енгізу/шығару үшін қарапайым жағдайларда Edit және Memo компоненттері қолданылады. Edit компоненті мәліметтер бір жолмен көрсетілген кезде қолданылады. Егер мәліметтер бірнеше жолдардан тұрса, онда Memo компоненті қолдданылады.

x , y және z айнымалыларының сандық мәндерін енгізу өрістерін құру үшін Edit компонентін қолданамыз. Компоненттер Палитрасының Standard бетінен пиктограммасын таңдаңыз және Edit компонентін Форманың керек жеріне орналастырыңыздар.

Нәтижелерді шығару үшін Memo компонентін қолданамыз. Компоненттер Палитрасының Standard бетінен пиктограммасын таңдаңыздар, Memo компонентін Форманың керек жеріне орналастырып, орналасуын және өлшемін реттеңіздер.

1. 2. 5 Форма құру (FormCreate) оқиғаларын өңдеуші процедурасының жазылуы

Егер программист интерфейс панелі пайда болған кезде экранда сәйкес өрістерде мәліметтердің бастапқы мәндері болғанын қаласа, ол қосымшаны орындалуға жіберген кезде Форманы құру (OnCreate) оқиғасы шығатынын ескеруі керек. x, y, z айнымалыларының бастапқы мәндерін сәйкесінше Edit1, Edit2 және Edit3 өрістеріне, ал Memo1 өрісіне Лабораториялық жұмыс №1 - Сызықты алгоритм жолын шығаратын осы оқиғаның өңдеу процедурасын құрастырайық. Ол үшін тышқанмен Форманың кез-келген бос жерін шертіңіз. Экранда UnLinAlg модулінің мәтіні пайда болады, мұнда DELPHI автоматты түрде Форма құру оқиғасының өңдеуші - процедурасын : Procedure TForm1. FormCreate(Sender:TObject) құрады. Осы процедураның begin және end операторлары арасында қажет әрекеттерді орындайтын операторларды енгізіңіз (модуль мәтіні қ. 1. 2. 7 көрсетілген) .

1. 2. 6 Батырманы басу оқиғасын өңдеуші прпоцедурасын жазу Button1 (Button1Click)

Шаманы есептейтін батырманы Формаға орналастырайық. Компоненттер Палитрасында Standart бетінде Button компонентінің пиктограммасын таңдаңыз. Объектілер Инспекторының Caption қасиетінде батырмадағы Button1 жазуын Есептеу- ге ауыстырыңыз. Font қасиетінде шрифтті өзгертіңіз. Батырманың орналасуын және өлшемін реттеңіздер. Осыдан кейін батырманың үстінен “тышқанмен” екі рет шертіңіз, сонда курсор Button1 батырмасын басу оқиғасын өңдеуші процедурасының мәтінінде орналастырылады: Procedure TForm1. Button1Click(Sender:TObject ) . UnLinAlg модулінің мәтінін пайдаланып осы процедураның операторларын мұхият теріңіздер.

1. 2. 7 UnLinAlg модулінің мәтіні

Unit UnLinAlg;

interface

uses

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

StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Edit3: TEdit;

Label4: TLabel;

Memo1: TMemo;

Button1: TButton;

procedure FormCreate(Sender: TObject) ;

procedure Button1Click(Sender: TObject) ;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *. DFM}

// Форма құру оқиғасы өңдеушісінің процедурасы:

procedure TForm1. FormCreate(Sender: TObject) ;

begin

Edit1. Text:= '0. 4' ; // X -тің бастапқы мәні

Edit2. Text:= '8. 75e-2' ; // Y-тің бастапқы мәні

Edit3. Text:= '-19. 63' ; // Z-тің бастапқы мәні

Memo1. Clear; // Memo1 тазалау

// Жолды Memo1-ге шығару:

Memo1. Lines. Add( 'Лабораториялық жұмыс№1 - Сызықтық алгоритм ) ;

end;

// Button1 батырмасын басу оқиғасының өңдеуші процедурасы:

procedure TForm1. Button1Click(Sender: TObject) ;

var

x, y, z, a, b, c, u : extended; // локалді айнымалыларды хабарлау

begin

x:=StrToFloat(Edit1. Text) ; // X -ке Edit1 мәні меншіктеледі

y:=StrToFloat(Edit2. Text) ; // Y -ке Edit2 мәні меншіктеледі

z:=StrToFloat(Edit3. Text) ; // Z -ке Edit3 мәні меншіктеледі

// Шаманың есептелуі:

a:=sqrt(x) -y*y*y;

b:=sin(a) /cos(a) ;

c:=Exp(5*Ln(b) ) ;

u:=c+exp(y/z) *sin(z*z) ;

Memo1. Lines. Add(' X = '+Edit1. Text+' Y = '+Edit2. Text+

' Z = '+Edit3. Text) ; // Memo1-ға X, Y, Z нәтижесінің шығуы

// Memo1-ге нәтиженің шығуы:

Memo1. Lines. Add(' U = '+FloatToStrF(u, ffFixed, 8, 3) ) ;

end;

end.

Edit және Memo компоненттері жұмыс жасайтын мәліметтер String түрінде болады. Сондықтан TForm1. Button1Click процедурасында StrToFloat функциясы көмегімен X, Y, Z айнымалыларына Edit1, Edit2, Edit3 өрістерінің мәндері меншіктелген кезде, String түріндегі мәліметтердің Extended түріндегі қалқымалы нүктесі бар нақты мәндер түріне ауысуы орындалады. Бүтін түрдегі мәліметтермен жұмыс жасау керек болса, StrToInt функциясы пайдаланылады.

Мәліметтерді Memo1-ға шығарған кезде Lines қасиетінің Add әдісі пайдаланылады. Мәліметтерді нақты мәннен жолдық мәнге ауыстыру үшін және шығаратын нәтижені ұсынатын форманы басқару FloatToStrF функциясы пайдаланылады.

1. 2. 8 Қосымшамен жұмыс

Құрылған қосымшаны орындалуға жіберу үшін бас менюдің пиктограммасын немесе F9 пернесін басыңыз. Осы кезде модулдердің тексерілуі және, егер қате жоқ болса, жобаның компоновкасы және PrLinAlg. exe орындалатын файлдың құрылуы орындалады. Экранда қосымша интерфейсінің панелі шығады (сурет 1. 2) .

“Тышқанмен” “ Есептеу ” батырмасына шертіңіз және Memo1 өрісінде нәтиже шығады. Edit өрісінде x, y, z-тің бастапқы мәндерін өзгертіңіз және қайтадан ” Есептеу ” батырмасын басыңыз. Memo1 өрісінде жаңа мән шығатынына көз жеткізіңіздер. Қосымша жұмысын аяқтау интерфейс панелінің жоғарғы оң жақ бұрышында орналасқан батырмасын басу арқылы болады.

Қосымшаның штатсыз жұмыс жасау жағдайында жобаның бастапқы режимына Run менюында ProgramReset опциясын таңдау немесе Ctrl+F2 пернелерін басу арқылы қайтадан оралуға болады.

1. 3 Өзіндік тапсырманың орындалуы

Оқытушының нұсқауы бойынша өздеріңіздің жеке тапсырмаңызды таңдап алыңыздар. Тапсырманың шартын, бастапқы берілгендердің санын және түрін нақтылап алыңыздар. Осыған сәйкес жобаланатын қосымшаның интерфейс панелінің дизайнын қалыптастырыңыз, Edit өрісінің қажетті санын, Форма тақырыбының мәтінін, шрифт өлшемдерін, сондай-ақ нәтижелерді енгізу/шығару кезіндегі айнымалылардың түрлерін және айналдыру функцияларын орналастырыңыздар.

Жеке тапсырмалар.

1.

\[\mathbf{t}={\frac{2\cos\mathbf{x}}{0.5+\sin^{2}\mathbf{y}}}\,\mathbf{L}+{\frac{z^{2}}{3\ z^{2}/5}}\ .\]
. 3

Келесі мәндер бойынша x=14. 26, y=-1. 22, z=3. 5×

\[10^{-2}\]
. 3 t=0. 564849.

2.

\[u=\frac{{\dot{\sqrt{8+\left|x-\ y\right|^{2}+1}}}}{x^{2}+y^{2}+2}-\,e^{\left|x-y\right|}\left(g^{2}z+1\right).\]
. 3

Келесі мәндер бойынша x=-4. 5, y=0. 75×

\[\textstyle\bigcup\]
, z=0. 845
\[\mathbf{x}\mathbf{10}^{2}\]
u=-55. 6848.

3. . 3

Келесі мәндер бойынша x=3. 74

\[\scriptstyle\mathbf{x}\!\!10^{-2}\]
. 3, y=-0. 825, z=0. 16
\[\mathbf{x}\mathbf{10}^{2}\]
. 3 v =1. 0553.

4. . 3

Келесі мәндер бойынша x=0. 4 . 3, y=-0. 875, z=-0. 475

\[\scriptstyle\mathbf{x}\!10^{-3}\]
. 3 w =1. 9873.

5.

\[a\,=\ln_{\hat{\hat{Q}}}^{\hat{\mathbf{q}}}y^{-\left|\hat{\mathbf{q}}\right|}\,{\frac{\hat{\mathbf{Q}}\mathbf{c}}{\hat{\mathbf{Q}}\hat{\mathbf{c}}}}-\,{\frac{y}{2}}{\frac{\hat{\mathbf{q}}}{\hat{\boldsymbol{\omega}}}}+\mathrm{sin}^{2}\,a r c t g\left(z\right)\]
. 3

Келесі мәндер бойынша x=-15. 246, y=4. 642

\[\scriptstyle\mathbf{x}\!\!10^{-2}\]
. 3, z=20. 001 . 3
\[{\mathcal{Q}}\]
. 3=-182. 036.

2 2- лабораториялық жұмыс

Тармақталған алгоритмдерді бағдарламалау

Лабораториялық жұмыстың мақсаты : қарапайым ауыстырғыш-компоненттердің пайдалануын меңгеру және тармақталған алгоритмді пайдаланатын қосымша құру.

2. 1 Қосымша құру мысалы

Тапсырма: Келесі шаманы есептеу үшін Windows-қосымша құру

Z=

\[\begin{array}{c}{{\mathrm{i}\,f(x),x , мұнда
\[f(x)=\frac{\mathrm{i}\sin(x)}{|\mathrm{Cos}(x)}\]
пайдаланушының қалауы бойынша. Интерфейс панелінде бастапқы мәліметтердің бақылау нәтижесін басқару мүмкіндігін алдын ала қарастыру.

Құрастырып жатырған қосымшаның интерфейс панелінің мүмкін варианттарының бірі 2. 1. суретте көрсетілген

2. 1. 1 Формада компоненттерді орналастыру

Формада компонентерді 2. 1- суретте көрсетілгендей орналастырайық

DELPHI -де қосымшаларды құрған жағдайда ауыстырғыш- батырмалар түріндегі компоненттер жиі қолданылады. Бұндай батырманың күйі (қосылған - өшірілген) Формада визуалды түрде бейнеленеді. Панелде( 2. 1 сурет) ауыстырғыш- батырмалардың екі түрі көрсетілген: CheckBox және RadioGroup .

CheckBox компоненті тәуелсіз ауыстырғыш батырманы ұйымдастырады, бұның көмегімен пайдаланушы “ия/жоқ” түріндегі өзінің шешімін көрсете алады. RadioGroup компоненті, батырмалар тобынан тұрады - тәуелді ауыстырғыштар. Батырмалар тобының бір батырмасын басқан кезде, барлық қалған батырмалар сөнеді.

2. 1. суретке сәйкес Label, Edit және Memo компоненттерін Формаға орналастырыңыз. Компоненттер Палитрасындағы Standard бетінен CheckBox компонентінің пиктограммасын таңдап алыңыз және Форманың керек жеріне орналастырыңыз. Объектілер Инспекторының Caption қасиетінде CheckBox1 жазуының орнына мәліметтердің бақылау нәтижесі- деп жазыңыз . Қосымшаны орындалуға жіберген кезде CheckBox батырмасы қосылған болу үшін, Checked қасиетін True- деп өзгертіңіз.

Standard Компоненттер Палитрасынан RadioGroup компонентінің пиктограммасын таңдап алыңыз және Форманың керек жеріне орналастырыңыз. Caption қасиетінде RadioGroup1 атын f(x) деп өзгертіңіз. Батырмаларды бір бағанаға орналастыру үшін, Columns қасиетін 1-ге тең деп алыңыз. “Тышқанмен” Items қасиетінің оң жағына екі рет шертіңіз - батырмалар аты тізімінің жолдық редакторы пайда болады. Екі жолға ат беріңіз: бірінші жолға- sin(x), екінші жолға - cos(x) және ОК-ны басыңыз. Осыдан кейін Формада сәйкес жазулары бар екі батырма-ауыстырғыштан тұратын топ пайда болады. Қосымшаны орындалуға жіберген кезде RadioGroup бірінші батырма қосылған болу үшін, ItemIndex қасиетін 0-ге деп алыңыз.

2. 1. 2 FormСreate және Button1Сlick оқиғаларын өңдеуші процедураларын құру

Технология создания процедур обработки событий FormСreate және Button1Сlick оқиғаларын өңдеуші процедураларын құру технологиясы алдыңғы жұмыстан айырмашылығы жоқ. UnRazvAlg модулінің мәтінін пайдаланып осы процедуралардың операторларын мұхият теріңіздер.

2. 1. 3. UnRazvAlg модулінің мәтіні

Unit UnRazvAlg;

interface

uses

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

StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label4: TLabel;

Memo1: TMemo;

Button1: TButton;

RadioGroup1: TRadioGroup;

CheckBox1: TCheckBox;

procedure FormCreate(Sender: TObject) ;

procedure Button1Click(Sender: TObject) ;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *. DFM}

// Форма құру оқиғасы өңдеушісінің процедурасы:

procedure TForm1. FormCreate(Sender: TObject) ;

begin

Edit1. Text:= '0. 5 '; // X тің бастапқы мәні

Edit2. Text:=' 1. 8 '; // Y тің бастапқы мәні

Memo1. Clear; // Memo1 тазалау

// Жолдың Memo1-ге шығуы:

Memo1. Lines. Add( ‘Лабораториялық жұмыс №2 - Тармақталған алгоритм’ ) ;

end;

// Button1 батырмасын басу оқиғасының өңдеуші процедурасы:

procedure TForm1. Button1Click(Sender: TObject) ;

var

x, y, z, fx : extended; // локалды айнымалыларды хабарлау

begin

x:=StrToFloat(Edit1. Text) ; // X -ке Edit1 мәні меншіктеледі

y:=StrToFloat(Edit2. Text) ; // Y -ке Edit2 мәні меншіктеледі

fx:=sin(x) ; // fx-ке бастапқы мән меншіктеледі

// Басылған батырмаға сәйкес функцияның таңдалуы:

case RadioGroup1. ItemIndex of

0:fx:=sin(x) ;

1:fx:=cos(x) ;

end;

// Шаманың есептелуі:

if x<y then

z:=fx

else

z:=y;

// CheckBox1батырма күйін тексеру:

if CheckBox1. Checked then

Memo1. Lines. Add('X = '+Edit1. Text+

' Y = '+Edit2. Text) ; // Memo1-ге X, Y нәтижесінің шығуы

// Memo1-ге нәтиженің шығуы:

Memo1. Lines. Add(' Z = '+FloatToStrF(z, ffFixed, 8, 3) ) ;

end;

end.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Қасиеттер тізімі
SQL тілі туралы ақпарат
Тараз мемлекеттік университетінің «Компьютерлік жүйелер» кафедрасының оқытатын пәндері мен оқытушылары және білімгері туралы ақпаратты реттеу, жеделдетіп өңдеу жене қажетті ақпаратты тездетіп алу үшін деректер қорын құру
Информатика 10 сынып
Объектты бағытталған программалау
Turbo Pascal 7.0. программалау тілі
Borland Delphі ортасының интерфейсі
Компьютердің программалық жабдықтары
Шымкент қаласы самал мөлтек ауданындағы учаскелердің орналасуының электрондық картасы, жобасын құру
Интерфейстер, олардың сипатталуы және жүзеге асуы. Қабықша кластар
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz