Repeat S until (not R) ; мұндағы R – шарт, ол true (ақиқат) немесе false (жалған) мән қабылдайды, ал S- цикл денесі; until қызыметші сөзі, дейін дегенді білдіреді.
2 мысал. Геометриялық прогрессияның бірінші мүшесі және еселігі белгілі, алғашқы n мүшесінің қосындысын аяқталу шартымен берілген циклдің көмегімен есепте.
Шешуі. Бірінші мүшесін (p), еселігін (q) және мүшелер саны (n)-ді ТЕdit компонентері арқылы оқып,ал нәтижесін ТМemo-ның көмегімен шығарамыз.Жоғарыдағы R- шартты i-параметрі арқылы тексеріледі, яғни і-ді бірге арттырып оны n- нен үлкенбе деп тексеріледі. Сонымен қатар ТМemo-да жазылатын мәтіннің шрифінің стилін және түсін өзгерту үшін TGroupBox контейнеріне екі TChecbox компонентін орналастырайық. Компонент күйін State қасиеті көрсетеді. CbUn checked–жоқ, Cb Checked-иә, cbGrayed-білмеймін. Checked қасиеті қолданушының иә/жоқ типті таңдауын көрсетеді.
Есеп шешімін Bitbtn1 компонентінің OnClick оқиғасында реализациялаймыз (ұйымдастырамыз). Қосымша интерфейсі 2-суретте келтірілген.
Форма мен оның компоненттерінің қасиеттерін төмендегідей орнату қажет.
Компоненттер
|
Қасиеттер
|
Меншіктелетін мән
|
Form1
|
Caption
|
геометриялық прогрессия
|
Form1
|
Name
|
Form1
|
Label1
|
Caption
|
бірінші мүшесін енгіз
|
Edit1
|
Text
|
тазалау
|
Label2
|
Caption
|
еселігін енгіз
|
Edit1
|
Text
|
тазалау
|
Label3
|
Caption
|
мүшесінің санын енгіз
|
Bitbtn1
|
Kind
|
bkOK
|
Bitbtn2
|
Kind
|
bkClose
|
Memo1
|
Lines
|
тазалау
|
GroupBox1
|
Caption
|
редакторды келтіру
|
CheckBox1
|
Caption
|
“курсив” стилі
|
CheckBox2
|
Caption
|
“қызыл” түс
|
2-сурет. Форма мен оның компоненттерінің қасиеттерін төмендегідей орнату
Программаның кодын келтірейік.
unit Unit1;
procedure TForm1.BitBtn1Click(Sender: TObject);
var p,q,i,n,s:integer;
begin
p:=strtoint(edit1.text);
q:=strtoint(edit2.text);
n:=strtoint(edit3.text);
i:=1;
repeat
s:=s+p;
p:=p*q;
i:=i+1;
until i>n;
memo1.Lines.clear;
memo1.Lines.Add('геометриялык прогрессиянын '+
edit3.Text+' мушесінін косындысы s='+inttostr(s));
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.State=cbChecked then
Memo1.Font.Style:=[fsitalic]
else
Memo1.Font.style:=[];
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.State=cbchecked then
Memo1.Font.Color:=clRed
else
Memo1.Font.Color:=clBlack;
end;
Параметрлі цикл операторы For …do, оператордың немесе операторлар тізбегінің қайталану саны алдын- ала белгілі болған жағдайда ғана қолданылады. Программада жалпы жазылу түрі:
Достарыңызбен бөлісу: |