Сохторҳои идоракунандаи забони DELPHI 7

Related Articles

  1. Инструксияҳои if (шарт) ва case (интихоб);
  2. Сиклҳо. Инструксияҳои for, while, repeat, goto.

Хулоса ва мустаҳкамкунии дарс

Адабиёт

1. Фокс Дж. Программное обеспечение и его разработка / Пер. с англ. — М.: Мир,

1985. – 368 с., ил.

2. Фаронов В.В. Система программирование Delphi. – СПб.: БВХ Петербург, 2003.

– 912 с.: ил.

3.http://gluk.webhost.ru/delphi.html

  1. Инструксияҳои if (шарт) ва case (интихоб)

Интихоби амали оянда дар программа

Истифода интихоб дар алгоритми ин ё он масъала вобаста ба шарт амали гардонида мешавад. Интихоби амали ояндаи программа дар Delphi 7 бо ёрии инструксияхои if ва case ичро карда мешаванд. Инструксияи if интихоби яке аз ду вариантхои имконпазирро имконият медихад. Инструкцияи case бошад, интихоби яке аз якчанда вариантхои имконпазирро.

Инструксияи if

Намуди умумии инструкцияи if чунин аст:

if шарт then

begin

// амале ичро карда мешавад, ки агар шарт «true (дуруст)» бошад.

end

else

begin

// амале ичро карда мешавад, ки агар шарт «false (нодуруст)» бошад.

end;

Дар ин чо бояд як чизро диккат дод, ки пеш аз else (баъди end) нукта вергул монда намешавад.

Ичроиши ин инструксия чунин аст:

  • сараввал месанчад, агар шарт «true (дуруст)» бошад, онгох ичроиши инструксия баъди калимаи эхтиётии then дар байни калимахои эхтиётии begin ва end сурат мегирад. Дар ин ичроиш амалиёти if ба охир мерасад;
  • агар шарт «false (нодуруст)» бошад, онгох ичроиши инструксия баъди калимаи эхтиётии else дар байни калимахои эхтиётии begin ва end сурат мегирад. Дар ин ичроиш амалиёти if ба охир мерасад.

Агар дар инструксияи if байни begin ва end факат як инструксияи бошад, онгох калимахои begin ва end – ро метавонем нанависем.

Мисол. Алгоритм ва программаи муодилаи квадратиро бо истифода аз ин

инструксия тартиб медихем.

Дар форма (Form 1), ки хангоми ба кор омода сохтан забон ( ПУСК ПРОГРАММЫ Borland Delphi 7 Delphi 7) пайдо мешавад, компонентхои зеринро

истифода мебарем ва номи формаро «Муодилаи квадрати» меномем.

КомпонентхоБа сифати чи таъинкуни карда мешавад.
Label 1баровардани матни «натиҷагирb» дар форма
Button 1кнопкаи хисобкуни

Дар аввал дар болои кнопкаи Button 2 ду бор пахш намуда дар байни begin ва end калимаи «close ;»– ро менависем, ки ин барои баромадан хизмат мерасонад.

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

Баъд кнопкаи Button 1-ро ду бор пахш карда коди программаи зеринро менависем.

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,c,x1,x2,d:real;

begin

a:=strtoint(edit1.Text);

b:=strtoint(edit2.Text);

c:=strtoint(edit3.Text);

d:=(b*b-4*a*c);

if d>=0 then

begin

x1:=(-b-sqrt(d))/2*a;

x2:=(-b+sqrt(d))/2*a;

edit4.Text:=floattostr(x1);

edit5.Text:=floattostr(x2);

if x1=x2 then

showmessage(Решахои муодила баробаранд!’)

else

showmessage(‘Муодила 2 реша дорад!’)

end

else

begin

edit4.Text:=’Муодила реша надорад’;

edit5.Text:=’Муодила реша надорад’;

end;

end;

end.

Формаи программа оварда шудааст.

Изображение

Инструксияи case

Агар рафту дар шарти масъала интихобкунb бисёр бошад, истифодаи инструксияи if на он қадар қуллай аст. Барои бартараф кардани ин проблема махсус инструксия истифода бурда мешавад. Ин инструксия case мебошад. Ин инструксия имконият медиҳад, ки самаранок интихобкунb бисёр амалb гардонида шавад.

Дар намуди умуми ин инструксия чуни наст:

case Селектор of руйхати 1:

begin

ҳ инструксияи 1 }

end;

руйхати 2:

begin

ҳ инструксияи 2 }

end;

.

.

руйхати М:

begin

ҳ инструксияи N }

end;

else

begin

ҳ инструксия )

end;

end;

дар ин ҷо:

Селектор — ифодае, ки қиммати он рафти ояндаи программаро муайян мекунад (ё ин ки пайдарпаии инструксияи иҷромешуда);

Руйхати N — руйхати доимb. Агар доимиҳо ба худ фосилаи ададиро ташкил кунанд, онгоҳ ба ҷои руйхат доимии аввала ва охирини фосиларо бо ду нуқтаи пайдарпай ҷудо карда нишон додан мумкин аст.

Мисол, руйхати 1, 2, 3, 4, 5, 6 – ро метавонем ба фосилаи 1..6 иваз намоем.

Инструкция case чунин иҷро мешавад:

1. Аввал қимати ифода – селектор ҳисоб карда мешавад.

2. Қимати ифода – селектор пайдарпай бо доимиҳои аз руйхати доимиҳо муқоиса карда мешавад.

3. Агар қимати ифода– селектор ба доимии аз руйхатбуда мувофиқат кунад, онгоҳ мувофиқан гуруҳи инструксияи ҳамон доими иҷро мешавад. Дар ин ҷроиш кори инструксияи саsе ба итмом мерасад.

4. Агар қимати ифода – селектор ба ягон доимиҳои дар руйхатбуда мувофиқат накунад, онгоҳ пайдарпайии инструксияҳо баъди калимаи эҳтиётии else иҷро мешаванд.

Агар дар инструксияи case шарти истифодаи else набошад, онгоҳ иҷроиш баъди case сурат мегирад.

  1. Сиклҳо. Инструксияҳои for, while, repeat, goto.

Алгоритмҳои ҳалли бисёр масъалаҳо даврb мебошанд ё ин ки барои ба даст овардани натиҷа аз пайдарпаии муайян якчанд маротиба иҷро карда мешавад. Алгоритме, ки дар он пайдарпаии амалиётҳо якчанд маротиба иҷро карда мешавад даврb номида мешавад. Дар программа даврҳо ба воситаи махсус инструксияҳо (for,while ва repeat) амали гардонида мешавад.

Инструкция for

Инструксияи for дар он вақт истифода бурда мешавад, ки агар пайдарпаиҳои амалиётро (инструксияҳои программаро) якчанд маротиба иҷро кунем, ки дар ин ҷо адади такрор мешуда пешаки маълум бошад.

Дар намуди умуми инструксияи for чунин аст:

for счетчик:= қим_ ибтидои to қим_инт do

begin

// инструксияе, ки иҷроишаш якчанд маротиба такрор мешавад.

end

дар ин ҷо:

счетчик — қимати тағирёбандае, ки дар ҳар як давр такрор мешавад;

Бояд диққат дод, ки агар қиммати ибтидоии счетчик нисбати қимати интиҳоияш калон бошад, онгоҳ пайдарпаии операторҳои дар байни begin ва end ҷойгирбуда иҷро намешаванд ва баронома хато нишон медиҳад. Ғайр аз ин қадами давр бо таври автоматb баъди ҳар як иҷроиши ин инструксия зиёд мешавад.

Агар дар инструксияи for дар ҷои калимаи to калимаи downto нависем, онгоҳ баъди иҷроиши инструксияи даврb қимати счетчик зиёд нашуда, балки кам мешавад.

Инструкция while

Инструксияи while дар он вақт истифода бурда мешавад, ки агар якчанд амали пайдарпаиро якчанд маротиба ичро карда шавад.

Дар намуди умуми инструксияи while чунин навишта мешавад:

while шарт do

begin

// инструксияе, ки он якчанд маротиба иҷро карда мешавад.

end

дар ин ҷо шарт — ифодаи типи мантиқb доштае, ки шарти иҷроиши даврb инструксияро муайян мекунад.

Иҷроиши ин инструксия ин хел сурат мегирад:

1. Аввал қимати ифодаи шарт ҳисоб карда мешавад;

2. Агар қимати ифодаи шарт ба False баробар бошад (шарт иҷро нашавад), онгоҳ дар ин иҷроиш инструксияи while корашро ба итмом мерасонад.

3.Агар қимати ифода шарт ба True (шарт иҷро мешавад) баробар бошад, онгоҳ инструксияҳое, ки дар байни begin ва end ҷойгир аст иҷро мешавад. Баъди ин аз сари нав иҷроиши шарт санҷида мешавад. Агар шарт иҷро шавад, онгоҳ инструксияи давр як бори дигар иҷро карда мешавад. То он даме иҷро карда мешавад, ки шарт қимати False – ро қабул накунад.

Диққат!

Барои он, ки инструксияи даврии while – и дар байни begin ва end ҷойгир буда, ақалан як бор иҷро шавад, зарур аст бояд пеш аз иҷроиши инструксияи while қиммати ифодаи шарт «дуруст- false» бошад.

Инструкция repeat

Инструксия repeat ба монанди инструксияи while дар барнома дар он ҳолат истифода бурда мешавад, ки агар иҷроиши ҳисоби такрорb зарур бошад.

Дар намуди умуми ин инструксия чунин аст:

repeat

// инструксия

unti1 шарт

дар ин ҷо;

шарт — ифодаи типи мантиқие, ки шарти ба итмомрасии даврро муайян мекунад.

Иҷроиши инструксияи repeat:

1. Аввал инструксияҳои дар байни repeat ва until буда иҷро карда мешавад.

2. Баъд қимати ифодаи шарт ҳисоб карда мешавад. Агар шарт «нодуруст» бошад (қимати ифодаи шарт ба False баробар бошад), онгоҳ инструксияҳои дар байни repeat ва until буда як бори дигар иҷро карда мешавад.

3. Агар шарт «дуруст» бошад (қимати ифодаи шарт ба True баробар бошад), онгоҳ иҷроиши давр қатъ карда мешавад.

Ҳамин тавр инструксияи давре, ки дар байни repeat ва unti1 ҷойгир аст, то он даме иҷро карда мешавад, ки агар шарт ба False баробар нашавад.

Диққат!

Инструксияи даври дар байни repeat ва until ҷойгир буда, минимум як бор иҷро карда мешавад.

Хулоса ва мустаҳкамкунии дарс

Интихоби амали ояндаи программа дар Delphi 7 бо ёрии инструксияхои if ва case ичро карда мешаванд. Инструксияи if интихоби яке аз ду вариантхои имконпазирро имконият медихад. Инструкцияи case бошад, интихоби яке аз якчанда вариантхои имконпазирро. Алгоритмҳои ҳалли бисёр масъалаҳо даврb мебошанд ё ин ки барои ба даст овардани натиҷа аз пайдарпаии муайян якчанд маротиба иҷро карда мешавад. Алгоритме, ки дар он пайдарпаии амалиётҳо якчанд маротиба иҷро карда мешавад даврb номида мешавад.

209
Нет комментариев. Ваш будет первым!