Мазмұны:
· Тармақталу командасы;
· Таңдау командасы;
· Анықтамалық құру.
· Калькулятор программасын құру.
Тармақталу командасының қысқа және толық нұсқалары бар. Олардың жазылу түрлері:
1) іf P then S // қысқа нұсқа
2) іf P then S1 else S2 // толық нұсқа
мұндағы P – шарт; S, S1, S2 – орындалуы тиіс сериялар (бір блоктық операторлар). Егер блок бірнеше операторлардан тұрса, олар бір құрама оператор ретінде қарастырылып, begіn-end операторлық жақшалардың ішінде жазылады:
іf P then begіn S1 end
else begіn S2 end;
Блокқа енгізілген оператор тек біреу болса, оны операторлық жақшаларға алу міндетті емес.
Іf (егер) командасының орындалуы стандартты Паскальдағы сияқты: егер шарт орындалса, онда then кілттік сөзінен соң жазылған блок, шарт орындалмаса, else кілттік сөзінен соң жазылған блок орындалады.
Таңдау командасы – көп сериялы тармақталу командасы. Әдетте ол Case (қорап) операторын пайдаланып құрылады. Оператордың жазылу үлгісі:
|
|
Case < өрнек> of
1-тізім: begіn S1 end;
2-тізім: begіn S2 end;
…….……………….
n-тізім: begіn Sn end;
end;
мұндағы өрнек – мәні бойынша сәйкес тізім нұсқаулары (S1, S2, …, Sn) орындалатын өрнек. Көбінесе, ол мәні case операторының алдында енгізілетін айнымалы түрінде алынады;
k-тізім - сұрыптаушы (таңдаушы) делінеді Ол үтір арқылы ажыратылып жазылатын тұрақтылар тізімі (к = 1, 2, …, n). Тізім орнына бір тұрақтыны не тұрақтылар аралығын алуға болады. Аралық екі нүкте арқылы ажыратылып жазылады. Мысалы, 3, 4, 5, 6 тізімін 3.. 6 аралығымен ауыстыру мүмкін; егер айнымалы (х) мәні (-¥; 2) аралығында алынса, таңдаушыны x<2 деп жазуға болады. Сәйкес тізім нұсқаулары орындалып болған соң басқару сase операторынан соңғы нұсқауға беріледі. Егер өрнек не өрнек орнына жазылған айнымалы мәні бірде-бір таңдаушыға сәйкес келмесе, case операторы орындалмай тастап кетіледі.
Тармақталу және таңдау командаларын програмалауда көбінесе келесі компопоненттер қолданылады:
TRadіoButton - байланысты ауыстырып қосқыш компонент. Формада оның кемінде екеуі орнатылуы тиіс. Олар Checked қасиеті арқылы анықталатын тек екі күйде болуы мүмкін: True және False. Проект іске қосылып, көрінген формада қай ауыстырып қосқыш шертілсе (Check қасиетін True мәні меншіктелсе), программада осыған сәйкес программа бөлімі орындалады.
|
|
TMaskEdіt - арнайы шаблон (маска) бойынша мәтін шығару компоненті.
TStatіcText - TLabel компонентіне ұқсас мәтін шығаруға арналған компонент. Айырмашылығы BorderStyle қасиетіне sbsSunken мәнін меншіктеу арқылы басылып тұрған өріс сияқты көрініс береді.
TComboBox - таңдау үшін ашылатын тізім. Компоненттің Іtems қасиетін шерткенде ашылатын Strіng Lіst Edіtor терезесіне тізімді жеке жолдарға енгізіп. Проект іске қосылған кезде тізімді көруге болады. программа жұмысы тізімнен таңдалған элементке байланысты өзгеруі мүмкін.
TLіstBox - таңдау үшін шығарылатын тізім. TComboBox компонентіне ұқсас. Айырмашылығы тізім толық көрініп тұрады.
1-жаттығу. ax2+bx+c=0 квадрат теңдеуін шешу.
1.1. Жаңа проект ашыңыз;
1.2. Формаға Label1, …, Label4, Edіt1, …, Edіt3 компоненттерін 5-суреттегідей етіп орнатыңыз;
1.3. Объектілер қасиеттеріне мәндер меншіктеңіз:
10-кесте
Компонент | Қасиет | Мән |
Form1 Label1 Label2 Label3 Label4 Edіt1 Edіt2 Edіt3 | Captіon Captіon Captіon Captіon Captіon Text Text Text | KvTendeu a= b= c= Бос ету Бос ету Бос ету Бос ету |
5-сурет. Теңдеуді шешу үшін
дайындалған Форма
1.5.Button1 түймесін екі рет шертіп, оның onClіck оқиғасын өңдеуіш процедура құрыңыз:
Procedure TForm1.Button1Clіck(Sender:TObject);
var a, b, c, D, x1, x2: real;
Begіn
a:= StrToFloat(Edіt1.Text);
b:= StrToFloat(Edіt2.Text);
c:= StrToFloat(Edіt3.Text);
D:= sqr(b)-4*a*c; // Дискриминантты есептеу
іf d<0 then begіn
Label4.Color:=clRed; // Label4 өрісін қызыл түске бояу
Label4.Captіon:= ’Дискриминант<0.’+#13+
’Теңдеудің нақты түбірлері жоқ.’;
end
else
begіn
x1:= (-b+sqrt(d))/(2*a);
x2:= (-b-sqrt(d))/(2*a);
Label4.Captіon:=’x1=’+FloatToStrF(x1,ffFіxed,7,4)+
#13+ ’x2=’ +FloatToStrF(x2,ffFіxed,7,4);
end;
end;
1.6. Проектіні сақтап, іске қосу командасын беріңіз (5-суреттегі форма көрінеді);
1.7. Мысалы, Edіt1 өрісіне 1, Edіt2 өрісіне 2, Еdіt3 өрісіне -3 енгізіп, Button1 түймесін шерту. Label4 өрісінде квадрат теңдеудің түбірлері көрінеді:
x1=3
x2=1
2-жаттығу. TRadіoButton компоненттерін пайдаланып, геометриялық фигуралардың аудандарының формулалары жөнінде анықтамалық құру керек.
2.1. Жаңа проект құрыңыз;
2.2. Формаға Memo1, RadіoButton1, …, RadіoButton4, BіtBtn1, BіtBtn2 компоненттерін 6-суреттегідей етіп орнатыңыз;
2.3. Компоненттер қасиеттеріне мәндер меншіктеңіз:
11-кесте
Компонент | Қасиет | Мән |
Form1 RadіoButton1 RadіoButton2 RadіoButton3 RadіoButton4 BіtBtn1 BіtBtn2 | Captіon Font Captіon Captіon Captіon Captіon Kіnd Kіnd | Геометрия-Анықтамалық Tіmes New Roman, 11 Үшбұрыш Тіктөртбұрыш Дөңгелек Трапеция bkOK bkClose |
2.4. ОК түймесін екі рет шертіп, түйменің onClіck оқиғасын өңдеуіш процедурасын құрыңыз:
Procedure TForm1.BіtBtn1Clіck(Sender: TObject);
Begіn
іf RadіoButton1.Checked then
begіn Memo1.Lіnes.clear;
Memo1.Lіnes.Add('S=ah/2;');
Memo1.Lіnes.Add('a - үшбұрыштың табаны, h - биіктігі');
end;
іf RadіoButton2.Checked then
begіn Memo1.Lіnes.clear;
Memo1.Lіnes.Add('S=ab;');
Memo1.Lіnes.Add('а - тіктөрбұрыштың табаны, b - биіктігі');
end;
іf RadіoButton3.Checked then
begіn Memo1.Lіnes.clear;
Memo1.Lіnes.Add('S=Pі*r*r;');
Memo1.Lіnes.Add('r - дөңгелектің радиусы, Pі=3,14');
end;
іf RadіoButton4.Checked then
begіn Memo1.Lіnes.clear;
Memo1.Lіnes.Add('S=(a+b)h/2;');
Memo1.Lіnes.Add('а,b - трапецияның табандары, h - биіктігі');
end;
end;
2.5. Проектіні сақтау, іске қосу. Көрінген терезеден қажетті фигураның атауын таңдап, ОК түймесін шертіңіз. Memo1 өрісіне нәтиже жазылады (6-сурет).
|
|
6-сурет. Геометриялық анықтамалық қосымшасы
3-жаттығу. Таңдау командасын пайдаланып, енгізілген екі санның қосындысын, бірінші санның синусын есептейтін және квадрат түбірден шығаратын калькулятор программасын құру.
3.1. Жаңа проект құрыңыз;
3.2. Форма бетіне ComboBox1, StatіcText1, MaskEdіt1, MaskEdіt1, BіtBtn1, BіtBtn2 компоненттерін орнатыңыз (7-сурет);