
- •Зертханалық жұмыс №1
- •Зертханалық жұмыс №2
- •2. Delphi негізгі терезесі
- •4. Объектілер инспекторы терезесі
- •Зертханалық жұмыс №3
- •Өзіндік жұмыс тапсырмалары
- •Зертханалық жұмыс №4
- •Зертханалық жұмыс №5
- •Зертханалық жұмыс №6
- •Зертханалық жұмыс №8
- •Зертханалық жұмыс №9
- •Зертханалық жұмыс №10
- •Зертханалық жұмыс №11
- •Зертханалық жұмыс №12.
- •Зертханалық жұмыс №13.
- •Зертханалық жұмыс №14
- •Зертханалық жұмыс №15
- •Зертханалық жұмыс № 16
- •Зертханалық жұмыс №17
- •3.Қорғалған блок механизмі.
- •Зертханалық жұмыс №18
- •Зертханалық жұмыс №19
- •Зертханалық жұмыс № 20
- •Зертханалық жұмыс №21
- •Зертханалық жұмыс №22
- •Зертханалық жұмыс №23
- •Зертханалық жұмыс №24
- •Зертханалық жұмыс №25
- •Зертханалық жұмыс №26
- •Зертханалық жұмыс №27
- •Зертханалық жұмыс №28
- •Зертханалық жұмыс № 29
Зертханалық жұмыс №12.
Тақырыбы: Repeat … until – аяқталу шартымен берілген цикл операторы.
Техникалық жабдық: Дербес компьютер.
Бағдарламалық жабдық: Windows 98/200/XP, Borland Delphi7.
Мақсаты: Қайталанушы алгоритмдерді Delphi ортасында бағдарламалау дағдыларын қалыптастыру, өзіндік тапсырмаларды орындау.
Негізгі ұғымдар.
Есептің шешімін көрсететін алгоритмдерде қайталанатын командаларды немесе оның бағдарламасын құрғанда қайталанатын операторларды кездестіруге болады.
Турбо Паскальда мұндай қайталануларды жазу үшін цикл операторының үш түрі қолданылады.
While … do – жалғасу шартымен берілген цикл операторы;
Repeat … until – аяқталу шартымен берілген цикл операторы;
For … do – параметрлі цикл операторы.
Repeat … until – аяқталу шартымен берілген цикл операторында цикл денесі ең болмағанда бір рет орындалады, өйткені әуелі цикл денесі орындалады да, сонан соң барып, шарт тексеріледі. Бағдарламада жалпы жазылу түрі:
Repeat S until R; мұндағы R – шарт, ол true(ақиқат) немесе false (жалған) мән қабылдайды, ал S – цикл денесі. Until қызметші сөзі дейін дегенді білдіреді.
1-мысал.
Геометриялық прогрессияның бірінші мүшесі және еселігі белгілі, алғашқы n мүшесінің қосындысын аяқталу шартымен берілген циклдің көмегімен есепте қажет.
Шешуі.
Бірінші мүшесін (р), еселігін (q) және мүшелер саны (n)-ді TEdit компоненттері арқылы оқып, ал нәтижесін TMemo-ның көмегімен шығарамыз. Жоғарыдағы R-шартты і-параметрі арқылы тексеріледі, яғыни і-ді бірге апарып оны n-нен үлкенбе деп тексеріледі. Сонымен қатар TMemo-да жазылатын мәтіннің шрифтісінің стилін және түсін өзгерту үшін TGroupBox контейнеріне екі TCheckBox компонентін орналастырайық. Компонент күйін State қасиеті көрсетеді. CbUn checked – жоқ, cb checked – иә, cbGrayed – білмеймін. Checked қасиеті қолданушының иә/жоқ типті таңдауын көрсетеді.
Есеп шешімін BitBtn1 компоентінің OnClick оқиғасында жүзеге асырамыз. Қосымша интерфейсі 1-сурете көрсетілген.
Форма мен оның компоненттерінің қасиеттерін төмендегідей орнату қажет.
Компоенттер |
Қасиеттер |
Меншіктелетін мән |
Form1 |
Caption |
Геометриялық прогрессия |
Form1 |
Name |
Form1 |
Label1 |
Caption |
Бірінші мүшесін енгіз |
Edit1 |
Text |
Тазалау |
Label2 |
Caption |
Еселігін енгіз |
Edit2 |
Text |
Тазалау |
Label3 |
Caption |
Мүшесінің санын енгіз |
BitBtn1 |
Kind |
bkOK |
BitBtn2 |
Kind |
bkClose |
Memo1 |
Lines |
Тазалау |
GroupBox1 |
Caption |
Редакторды келтіру |
CheckBox1 |
Caption |
«курсив» стилі |
CheckBox2 |
Caption |
«қызыл» түс |
1-сурет. Қосымша интерфейсі.
Бағдарлама кодын келтірейік.
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.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;
Өзіндік жұмыс
Берілген n натурал саны және х нақты сандары үшін өрнектің мәнін есептеу программасын құр. Өрнектің мәні цикл операторының көмегімен есептелінеді. Бағдарлама құру барысында циклды ұйымдастыру үшін цикл операторын пайдалану қажет.
Нұсқалар |
Алғашқы мәліметтер |
|
Үшке қалдықсыз бөлінетін k-ға дейіггі натурал сандардың көбейтіндісін табыңдар.Алгоритм құрғанда бірінші сан 3 екендігін және әрбір келесі сан алдыңғысынан 3-ке артық болатындығын ескереміз |
|
Экранға 10-нан 20-ға дейінгі сандардың квадратттарын шығаратын бағдарлама құрыңыздар. |
|
1-ден 100-ге дейінгі сандардың қосындысын есептейтін бағдарлама құру. |
|
Пернетақтадан оншақты теріс және оң сан енгізіңіздер. Барлық теріс сандарды олардың содульдерімен алмастырып сандарды экранға шығарыңыздар |
|
Пернетақтадан 10 сан енгізіңіздер. Егер олардың ішінде 15-тен үлкені бар болса, онда оларды 15-пен алмастырыңыздар. Сандарды экранға басып шығарыңыздар. |
Бақылау сұрақтары:
1. Цикл операторларының неше түрі бар?
2. Аяқталу шартымен берілген цикл операторының жалпы жазылу түрі?
3. CheckBox компонентінің қандай оқиғалары бар?
4 BitBtn компонентінің қандай оқиғалары бар?
5. Memo компонентінің қандай оқиғалары бар?
Әдебиеттер:
1. А. Я. Архангельский. Delphi 7.
2. М.М. Ерекешова, Т.А.Әмірғалиева Delphi ортасында программалау негіздері
3. Ю.А.Шпак Delphi 7 на примерах
К.З.Халықова Программалау тілдерін оқыту (Delphi)