«Объектга йўналтирилган дастурлаш тиллари» ни ўрганишда интерактив ўқитиш услубиёти


Кейс –технологиясига қуйидагилар киритилади


Download 1.85 Mb.
bet4/12
Sana07.03.2023
Hajmi1.85 Mb.
#1243688
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
delphi CASE1

Кейс –технологиясига қуйидагилар киритилади:

  • Тармоқланиш алгоритми усули;

  • Тармоқланиш (if then else) дастури усули;

  • Radiogroop усули;

  • Checkbox усули;

  • Listbox усули;

  • Combobox усули;

  • Музокара усули;.

Шундай қилиб кейс-технология – бу ҳисоблаш жараёнини бошқариш билан боғлиқ бўлган фикрлаш, тафаккур ва мулохазалар асосида дастурлашни ўрганишнинг интерфаол технологиясидир.
Кейс технологиясини амалга оширишда унинг бир қанча босқичлардан иборат эканлигига эътибор берилиши керак.

  1. Босқич. Кейсни яратиш учун материалларни тўплаш

  2. босқич . Delphi да тармоқланувчи масалага доир лойиха ва дизайни яратиш

  3. Босқич. Муаммоли холатлар тахлили

  4. Босқич. Лойихага кирган объектлар ва уларнинг хусусиятлар тахлили

  5. Босқич. Дастур тахлили

  6. Бочқич. Аниқ холат билан боғлиқ бўлган кейс технология хисобот тахлили

  7. Босқич. Талабалар билимини, ўзлаштириш кўрсаткичини баҳоловчи тест назорати тахлили

Кейсни тадбиқ қилиш учун тармоқланувчи жараёнлардаги таянч муаммоларни юзага чиқариб, муқобил ечим йўлларини излаб топиш ва оптимал ечимларни танлаш, дастурларни шакллантишни билиш зарур бўлади.


Шундай қилиб, тармоқланувчи жараёнлар учун таянч муаммоларни қараб чиқамиз ва ечим, лойиҳа, дастурларни холатлар бўйича тахлил қиламиз.

  1. Кейс. Қуйидаги таянч муаммо талабалар диққатига хавола этилади.

  1. дан 9 гача натурал сон берилган. Уларнинг қайси бирлари 2 га каррали, 3 га каррали, 2 ва 3 га каррали ёки туб сонлар эканлигини аниқловчи тармоқланувчи дастур тузилиши талаб этилсин.

Қўйилгвн масалани ҳал этиш учун талабаларни бир неча гурухларга ажратиб уларнинг хар бирига алоҳида топшириқлар берилади. Гурухларнинг бирига қўйилган муаммонинг алгоритмини тузиш топшириғи, иккинчи гурухга туб сонлар , натурал сонлар, қисқаси, сонлар назарияси тўғрисидаги тассаввурларни ойдинлаштириш топшириғи, учунчи гурухга эса Delphi даги лойихасини яратиш ва дизайни билан шуғулланиш, тўртинчи гурухга дастур тузиш, бешинчи гурухга эксперт вазифалари топширилади.
Гурухларнинг айрим ишлари билан танишамиз. Лойиҳа гурухининг ишларини тахлил қиламиз.
А) Ўзгарувчининг қийматини клавиатура орқали киритишда мавжуд бўлиши мумкин бўлган таянч муаммолар.
Лойихадан кўринадики, берилган N натурал сонни Edit объект ёрдамида клавиатура орқали киритилади.



Масала мазмунига мувофиқ N натурал сон берилган бўлиб уни клавиатура орқали киритилиши шарт деб ҳисобланса лойихада edit объектдан фойдаланиш кўрсатилган. Edit объект лойихадан чиқариб ташланса ўзгарувчининг қийматини киритишнинг янги муаммоси хосил бўлади. Гурух аъзоларидан бири бу муаммони хал этиш учун дастурда Inputbox дан фойдаланиш таклифини киритади. Гурух аъзоси сўзга чиқиб Inputbox нинг дастурдаги ўрни, параметрлари ва хосил бўладиган панелнинг барча хусусиятларини батафсил баён қилиб беради.
n:=strtoint(inputbox('Киритиш','n қийматини киритинг',' '));

Бу ерда талабаларнинг ўзаро фаоллигини янада ошириш мумкин. Шу нуқтаи назардан янги муаммони ўртага қўйиш мумкин. N натурал сонни клавиатура орқали киритишда edit, inputbox дан воз кечилса, Delphiда қандай қилиб N қийматини клавиатура орқали киритиш мумкин? Гурух аъзолари муаммонинг аниқ ечими хақида шуғулланишлари, муаммо ечимини тахлил қилиб беришлари зарур бўлади.
Delphi бу муаммони ечиш учун аниқ икки хил ечим мавжуд

  1. Консол иловаларини активлаштириш тавсия этилади. Бунинг учун File менюсининг New буйруғидан Other… танланса экранда қуйидаги панел пайдо бўлади. Фойдаланувчи ушбу нишонни танласа консол иловалари активлашган бўлади.



Дастурда {$APPTYPE CONSOLE} компонент мухим бўлиб, натижада Pascal тили буйруқлари активлашган бўлади. read(n); оператори ёрдамида берилган N натурал сон қийматини консол экранида клавиатура орқали киритиш мумкин бўлади. Консол иловалари ёрдамида тармоқланувчи дастур намунаси қуйида келтирилган.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n:integer;
begin
read(n);
case n of
2,4,8:writeln('2 ga karrali');
3,9:writeln('3 ga karrali');
6:writeln('2 va 3 ga karrali');
1,5,7:writeln('tub sonlar');
end;
end.
Дастурдан кўринадики, мураккаб тармоқланишларни ташкил этишда case операторидан фойдаланилади. Case хол маъносини англатади. Унинг таъсир чегараси end; билан якунланади.
VCL Forms Application Delphi for Win32 лойихасида хам консол иловаларини активлаштириш мумкин. Бунинг учун дастур ойнагидаги implementation хизматчи сўздан сўнг {$APPTYPE CONSOLE} муносабат киритилиши керак бўлади.
VCL Forms Application Delphi for Win32 лойихасида берилган масала мазмунига мувофиқ дастурни қуйидагича ифодалаш мумкин.
var n:integer;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
n:=strtoint(edit1.Text);
case n of
2,4,8:memo1.Lines.Add('2 ga karrali');
3,9:memo1.Lines.Add('3 ga karrali');
6: memo1.Lines.Add('2 va3 ga karrali');
1,5,7:memo1.Lines.Add('tub sonlar');
end;
end;
end.
Юқоридаги дастурларда case оператори киритилган n қиймати учун аниқ тахлил қилади ва мос тармоқланишда хисоблаш жараёни бошқарилади.
Б) Ҳисоблаш натижаларини кўрсатилган объектларга чиқаришдаги таянч муаммолар.
Юқоридаги лойиҳада ҳисоблаш натижаларини memo1 объектдан фойдаланилган. Memo1 объект лойиҳадан чиқариб ташланса хисоблаш натижаларини қандай объектга чиқариш таянч муаммоси қўйилса гурух аъзолари янги лойиҳа ва дастурни тавсия этадилар. Лойиҳага memo1 объект ўрига label объектни жойлашни тавсия этадилар. Унинг caption хусусияти орқали ҳисоблаш натижаларини чиқариш имконига эга бўладилар.
Label объект иштирокидаги тармоқланувчи дастур қуйидаги кўринишда бўлади.
var n:integer;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
n:=strtoint(edit1.Text);
label1.Color:=clred;
label1.Font.Size:=14;
label1.Font.Style:=[fsbold,fsitalic];
case n of
2,4,8:label1.Caption:='2 ga karrali';
3,9:label1.Caption:='3 ga karrali';
6:label1.Caption:='2 va3 ga karrali';
1,5,7:label1.Caption:='tub sonlar';
end;
end;
end.
Лойиҳа гурухи олдига ҳисоблаш натижаларини чиқаришда memo1, label объектлардан фойдаланмаслик таянч муаммоси қўйилади. Гурух аъзолари Delphi алгоритмик тилининг имкониятларидан келиб чиқиб янги лойиха ва дастурни тавсия этадилар. Лойиҳага ҳисоблаш натижаларини чиқариш объекти сифатида edit объектдан фойдаланиш намунаси келтирилади. Берилган тармоқланувчи дастур намунасини edit объект иштирокида қуйидагича ифодаланади
var n:integer;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Color:=clblue;
edit1.Font.Size:=16;
edit1.Font.Style:=[fsbold,fsitalic];
n:=strtoint(edit1.Text);
edit2.Color:=claqua;
edit2.Font.Size:=16;
edit2.Font.Style:=[fsbold,fsitalic];
case n of
2,4,8:edit2.Text:='2 ga karrali';
3,9:edit2.Text:='3 ga karrali';
6:edit2.Text:='2 va3 ga karrali';
1,5,7:edit2.Text:='tub sonlar';
end;
end;
end.
Delphi имкониятларидан фойдаланиб дастурлаш технологиясини янада чуқурроқ ўрганиш мақсадга мувофиқ. Шу нуқтаи назардан лойиҳа гурухига навбатдаги таянч муаммо қўйилади. Бу лойиҳага memo1, label, edit объектлар хисоблаш натижаларини чиқаришда фойдаланмасдан дастур структурасини ўзгартиришдан иборатдир.
Delphi да ихтиёрий маълумотларни, ҳисоблаш натижаларини чиқаришда showmessage хизматчи сўздан фойдаланиш мумкин. Дастур ишга туширилганда showmessage мавжудлиги туфайли экранда алохида панел хосил бўлади ва унинг аргументидаги харфий типли катталиклар панел марказига чиқарилган бўлади. ОК тугмачаси босилгунгача дастур ижроси вақтинча тўхтатилган бўлади. Showmessage иштирокидаги лойиҳа ва дастур қуйида келтирилган.
var n:integer;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
n:=strtoint(edit1.Text);
case n of
2,4,8:showmessage(inttostr(n)+' soni '+' 2 ga karrali');
3,9:showmessage(inttostr(n)+' soni '+' 3 ga karrali');
6:showmessage(inttostr(n)+' soni '+' 2 va3 ga karrali');
1,5,7:showmessage(inttostr(n)+' soni '+' tub sonlar');
end;
end;
end.
В) Бошқарув тугмачаларидан фойдаланишдаги таянч муаммолар.
Юқоридаги дастурларда бошқарув тугмачаси сифатида Button объектдан фойдаланилган. Дастурлардан кўринадики, Button1 объект ёрдамида процедура яратилган ва у тугмача босилиши билан содир бўладиган ходиса дастури киритилган.
procedure TForm1.Button1Click(Sender: TObject);
Тавсия қилинган дастурларнинг мохияти шу билан характерланадики, button1 тугмача босилгандагина дастур ижросини намойиш қилинади.лойиха гурухи аъзолари олдига button объектдан фойдаланмаслик муаммоси қўйилса,улар янги лойиҳа устида ишлашлари зарур бўлади. Бошқурув тугмачаси сифатида Additional компонентлар сохасидаги BitBtn ёки speedbutton тугмачасидан фойдаланишни тавсия этилади

BitBtn, speedbutton объект қатор хусусиятларга эга бўлиб, унинг сиртига зарурий расмни Glyph хусусусияти ёрдамида жойлаш имкони мавжуд ва матн рангларини ўзгартириш каби хусусиятларидан фойдаланиб лойиха дизайни яхшиланиши мумкин. BitBtn , speedbutton да содир бўладиган ходисалар button каби бўлади. Ушбу тугмачаларга келтирилиб on click ходисаси танланса унга мос процедура хосил бўлади.
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin

end;
Одатдагидек, тармоқланувчи дастур begin ва end; ўртасига киритилади.


Лойиҳа гурухи талабаларига бошқарув тугмачаси билан ьоғлиқ бўлган қуйидаги таянч муаммони қўйиш мумкин, яъни бошқарув тугмачаси сифатида button, bitbtn, speedbutton объектлардан фойдаланмаслик муаммоси қўйилади.
Бу ерда гурух аъзолари тармоқланувчи дастур содир бўладиган процедурани яратиш муаммосини хал қилишлари зарур бўлади.яратилаётган процедура танланган объектдаги ходиса билан боғлиқ бўлиши шарт. Масалан, Form1 нинг oncreate ходисаси танланса ўзгарувчининг қийматини inputbox орқали киритиш шарт бўлиб қолади. Дастур қуйидаги кўринишда бўлади.
procedure TForm1.FormCreate(Sender: TObject);
begin
n:=strtoint(inputbox('kiritish','N qiymati',' '));
label1.Color:=clred;
label1.Font.Size:=16;
label1.Font.Style:=[fsbold,fsitalic];
case n of
2,4,8:label1.Caption:='2 ga karrali';
3,9:label1.Caption:='3 ga karrali';
6:label1.Caption:='2 va3 ga karrali';
1,5,7:label1.Caption:='tub sonlar';
end;
end;
бундан ташқари Form1 нинг onclick ва бошқа ходисалардан хам фойдаланиш мумкин.



Download 1.85 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling