8-ДӘРІС. Нысанды-бағдарланған программалаудың ерекшеліктері


1.      Класстар және нысандар;

2.      Өрістер;

3.      Қасиеттер;

4.      Әдістер;

5.      Хабарламалар мен оқиғалар;

6.      Визуалды компоненттер кітапханасы.

Кез келген жіберілген программа автоматты жан жақты төрт объектімен байланысты ол: Application (программа), Screen (экран), Printer (принтер), Clipboard (буфердің программа арасында ауысуы).

             Application объектісі TApplication класында жатады, ол автоматты түрде кез келген программада жіберіледі.

Screen объектісі Тscreen  класында инкапсуляцияланған қасиеті және әдісі. Printer объектісі автоматты түрде құрылады, егер де программада Printers модульдік сілтемеде көрсетілсе.

ClipboardWindows  - та Clipboart мәліметтер мен буфер программасында ауысу кең көлемде пайдаланады. Егер де  Delphi программасы Clipboart –тік модульде, онда оған автоматты түрде Clipboart объектісіне енуге болады.

Кілт сөзді анықтау.

Help қызметі кілтік сөздерді іздеуге мүмкіндік береді. Басты бөлімде кілтік сөзді анықтау үшін (символдық текстің ең алдында ), латын әріпімен «К» немесе «к» Мысалы:

Открыть: текстік файл; Asil; текст;

Секция Options

Секция  [Options] құралады немесе ауыса алады. Options батырмасының  көмегімен Options батырмасын басқаннаң кейін  көп бетті терезе ашылады.

General   беті.

         Default topic-идентификатор.

          Help title- негізгі іздеу тересзесінде қызмет етеді.

          Notes-қысылғыш таңдалса, онда компелятор мәселені хабарлайды.

          Errors- кодтын қатесін көрсетеді.

          Compession –беті нәтижелік файлды қысу арқылы байқалады.

          Sorting –беті кілт сөзіне тіл әдістері өңделеді.

          Longuage of Help file-кілт сөзді тілді өңдеу үшін пайдалынады.

          Other-индексі бойынша тілді өңдейді.

           Files –беті папкадағы файлдың жобасын анықтайды.

           Help Files- HIP-файл нәтиже аты.

           Log Files-ASCII-файл текстің аты.

                                     Секция Windows  

  Секция Windows толықтырылған терезені іздеу жиынына қызмет етеді. Әр көрсетілген секция терезеде сипатталынады, түсімен, өлшемімен және тақырып.

    Егерде секцияда 1 терезеде анықталмаса, онда Windows  батырмасын басып  диалог терезесін шақырамыз.

  Greate   жолында Windows named-қа терезе атын береміз.

   Procedure-текстік процедураны шығаруға арналған.

    Reference- іздеу терезесі.

    Error massage-қатені шығаруға арналған.

      Ескерту осы 3 түрдегі стандартты Windows-те терезесінде «қалың» рамка және заголовка мен құралады.

   General беті.

         Windows type- бірнешенің терезесінің ішінен ерте таңдалғанды шығарады.

          Add- тізімдер  терезесін шақырады, жаңадан терезе қосуға.

          Remove-тізімнен терезені жояды.

          Include-ASCII текстік файл тізімдеріне терезе қосады.

          Title bar text-терезе заголовкасын анықтайды.

           Comment-тәлкелік түсініктеме сақтайды.

           Position –беті экранға шықпас бұрын, терезе өлшемін, қанша орын алып

                            Жатқаның анықтайды.

            Height-терезе биіктігі

            Weigth-терезе енің анықтайды.

             Auto Sizer-батырмасын басқаннаң кейін ОК, Gancel батырмасы шығады.

             Buttons –беті төменде орналасқан қосылғыштар терезеде сәйкес батырмасы қойылса.

              Contents-мазмұны.

             Index-индексі.

             Find-поиск.

             Help Topic- бөлімдері.

             Back-артқа.

             Options-параметрлары.

             Brows-алдын-ала көру.

             Macros- осы бетің көмегімен макрокомандаларды анықтауға боладыэкранда терезе шықпас бұрын автоматты түрде орындалады.        

 

                             Секция MAP.

Бұл секцияда сандық идентификатор бөлімі анықталады, автаматты түрде Help батырмасы шақырылады және F1 клавишімен программа жұмыс істейді.

   Ескерсек көшіру компоненті Delphi –де арнайы Help Context қасиеті бар, сандық идентификаторы бөлімін іздеу кітабын сығыстыруға боладыБөлімдердегі [MAP] секцияда көрсетілген, компонентік-жіберілуі жұмыс істеу программасында.

   MAP батырмасын басқаннаң кейін Ms HW терезесі пайда болады.

   MAP topic тізімінде IDS to numeric values форматта бөлімдер көрсетіледі. Идентификаторды құру үшін жаңа бөлімдер немесе тізмнен жою MAР сәйкес ADD және Remove батырмасы пайдалынады.

  Edit батырмасы жөндеу элемент тізімімен жұмыс істеуге мүмкіндік береді.

 

 

          Секция Aliases.

  Мына секцияда  псевдонимін көрсетуге болады идентификатор бөлімімен, MAP секциясын  модификациялау көмегімен RTF –файлыңын өзгеруінсіз. Тағайындау батырма Add, Remove, Include  және Edit тағы сол сияқты, MAP секциясында да жүреді.

     Секция Baggage.

 Data Files батырмасы Ms HW тірізеден диалог терезесі ашылады, файлдың анықталуы, іздеу кітапханасыда пайдалынады. Осы файалдардың тізімі [Baggage] секциясын жоба файлын сақтайды.

 Delphi-де программалау элементтері

 

  1. Тармақталу командасы. RadioButton компоненті.

Тармақталу командасының қысқа және толық нұсқалары бар. Олардың жазылу түрлері Турбо Паскальдағы сияқты:

1) if P then S                         //қысқа нұсқа

2) if P then S1 else S2          //толық нұсқа

мұндағы P– шарт; S,S1,S2- орындалуы тиіс сериялар (бір блоктық операторлар). Егер блок бірнеше операторлардан тұрса, олар бір құрама оператор ретінде қарастырылып, begi – end операторлық жақшылардың ішіне жазылады:

If P then  begin

                    S1

                End

Else        begin

                    S2

                End;

Блокқа енгізілген оператор тек біреу болса, оны операторлық жақшаларға алу міндетті емес.

Мысал. RadioButton компоненттерін пайдаланып, геометриялық фигуралардың аудандарының формулалары жөнінде анықтамалық программа құру керек.

1. Жаңа жоба ашу. Формаға Memo1,  RadioButton1,…RadioButton4, BitBtn1,BitB2  компоненттерін орнату. (1 - сурет).

RadioButton - байланысты ауыстырып қосқыш компонентФормада оның кемінде екеуі орнатылуы тиіс. Олар Checked қасиеті арқылы анықталатын тек екі күйде болуы мүмкін: True және False. жоба іске қосылып, көрінген формада қай ауыстырып қосқыш шертілсе (Check қасиетіне True мәні меншіктелсе), программада осыған сәйкес программа бөлімі орындалады.

1 - сурет Калькулятор үшін дайындалған

  1. Компоненттер қасиеттеріне мәндер меншіктеу:

Компонент

Қасиет

Мән

Form1

RadioButton1

RadioButton2

RadioButton3

RadioButton4

BitBtn1

BitBtn2

Caption

Font

Caption

Caption

Caption

Caption

Kind

Kind

Геометрия-анықтамалық

Tmes Kaz, 11

Үшбұрыш

Тіктөртбұрыш

Дөңгелек

Трапеция

BkOK

BkClose

  1. ОК батырмасын екі рет шертіп, батырманың OnClickоқиғасын өңдеуіш процедурасын құру:

Procedure Tform1.BitBtn1Click(Sender: TObject);

Begin

If RadioButton1.Checked then

Begin Memo1.Lines.clear;

Memo1.Lines.Add(S=ah/2);

Memo1.Lines.Add(‘a – үшбұрыш табаны, h - биіктігі’);

End;

If RadioButton2.Checked then

Begin Memo1.Lines.clear;

Memo1.Lines.Add(S=ab);

Memo1.Lines.Add(‘a – тіктөртбрыш табаны, b- биіктігі’);

End;

If RadioButton3.Checked then

Begin Memo1.Lines.clear;

Memo1.Lines.Add(S=Pi*r*r);

Memo1.Lines.Add(‘r- дөңгелек радиусы, Pi – 3,14’);

End;

If RadioButton4.Checked then

Begin Memo1.Lines.clear;

Memo1.Lines.Add(S=(a+b)*h/2);

Memo1.Lines.Add(‘a,b – тіктөртбрыш табаны, h- биіктігі’);

End;

End;

  1. Жобаны сақтап,  - іске қосу. Көрінген формадан қажетті фигураның атауын таңдап, ОК батырмасын шерту. Мысалы, «Трапеция» қатарындағы ауыстырып-қосқыш орнатылса, өрісінде нәтиже көрінеді (1-сурет).

2. Таңдау командасы. StaticText, ComboBox компоненттері

Таңдау комакндасы – көп сериялы тармақталу командасы. Әдетте ол Турбо Паскальдағы сияқты (жағдай) операторын пайдаланып құрылады. Оператордың жазылу үлгісі:

Case <өрнек> of

 1-тізім: begin

S1

End;

2-тізім: begin

S2

End;

……………

n-тізім: begin

Sn

End;

End;

мұндағы: «өрнек» мәні бойынша сәйкес тізім нұсқаулары (S1,S2,’,Sn)орындалатын өрнек;

k-тізімтаңдаушы.

Мысал. Таңдау командасын пайдаланып, арифметикалық төрт амалды орындайтын калькулятор программасын құру керек.

  1. Жаңа жоба ашып, форма бетіне ComboBox1, StaticText1, Edit1,Edit2, BitBtn1, BitBtn2 компоненттерін орнату. (2-сурет).

StaticText–мәтін шығаруға арналған компонент (оның орнына Label компонентін пайдалануға да болады); ComboBox - амалдарды таңдау үшін ашылатын тізім. Компоненттің Items қасиетін шерткен кезде String List Editor терезесі көрінеді. Осы терезенің жеке жолдарына амалдар операторларының тізімін енгізу керек.

(+,-,*,/);

  1. Компоненттер қасиеттеріне мәндер меншіктеу:

Компонент

Қасиет

Мән

Form1

Caption

Калькулятор

Edit1

Edit2

BitBtn1

BitBtn2

ComboBox1

StaticText1

Font

Text

Text

Kind

Kind

Text

Caption

Align

TimesKaz, 11

Бос ету

Бос ету

BkOK

BKClose

Бос ету

Бос ету

AlTOP

  1. ComboBox1 компонентінің Items қасиетін шертіп, ашылған String List Editor  терезесіне +,/,*,/ операторларының әрқайсысын жеке жолға енгізу.
  2. ОК батырмасын екі рет шертіп, сәйкес оқиғаны өңдеуіш процедура құру:

Prozedur Tform1.BitBtn1Click(Sender:TObject);

Var z,x,y:real;

Begin

X:=StrToFloat(Edit1.text); y:= StrToFloat(Edit2.text);

Case ComboBox1.ItemIndex of

0: begin z:=x+y; StaticText1.Caption:=Edit1Text+ComboBox1.Items[ComboBox1.ItemIndex]+’’+Edit2.Text+’ =‘ +FloatToStrF(z,ffGeneral,5,5); end;

1: begin z:=x-y; StaticText1.Caption:=Edit1Text+ComboBox1.Items[ComboBox1.ItemIndex]+’’+Edit2.Text+’ =‘ +FloatToStrF(z,ffGeneral,5,5); end;

2: begin z:=x*y; StaticText1.Caption:=Edit1Text+ComboBox1.Items[ComboBox1.ItemIndex]+’’+Edit2.Text+’ =‘ +FloatToStrF(z,ffGeneral,5,5); end;

3: begin z:=x/y; StaticText1.Caption:=Edit1Text+ComboBox1.Items[ComboBox1.ItemIndex]+’’+Edit2.Text+’ =‘ +FloatToStrF(z,ffGeneral,5,5); end;

end;

end;

  1. Жобаны сақтап, іске қосу. өрітеріне мәндер енгізіп, ComboBox1 тізімін орындалуы тиіc амалды таңдау және ОК батырмасын шерту. StaticText1 өрісінде нәтиже көрінеді (3-сурет).

2 - сурет Калькулятор терезесі

3. Цикл. Delphi–де циклдермен жұмыс стандартты Турбо Паскальдағы сияқты. While(әзірше), Repeat(дейін), For(үшін) циклдік құрылымдардың жазылу үлгілері:

1)      While P do

Begin

S

End;

2)      Repeat

S

Until (not P);

3)      For k:=k0 to kn do

Begin

S

End;

мұндағы Ршарт; do - орындау, until – дейін (do, until - кілттік cөздер); S -цикл денесі;k - есептегіш (цикл параметрі); k0,kn - есептегіштің бастапқы, соңғы мәндері.

Мысалы, жалпы мүшесі  ak=1/k2 (k=1,2…)тізбектің алғшқы бес мүшесінің қосындысын табу керек (n=5; Sn - ?).

Procedure Tform1.FormCreat(Sender: TOject);

Var s,a:real; k,n:integer; s1:string;

Begin

n:=StrToInt(‘’,’Мүшелер саны=’,’’));

s:=0; k:=0;

For k:=1 to n do

Begin

a:=FloatToStrF(s,ffFixed,7,3); ShowMessage(s1);

End;

  1.  

Жиындармен (массивтермен) жұмыс

Жиын (массив) – бір типті нысандар (объектілер) жиыны. Жиындар (массивтер) бір өлшемді (сызықтық), екі өлшемді (матрица) не көп өлшемді болуы мүмкін. Жиындарды сипатту Турбо Пакальдағы сияқты. Мысалы:

var

a:array[1..10] of integer;               //бүтін сандар жиыны

b:array[3..8] of real;                      //нақтысандар жиыны

c:array[0..5] of string;                  //жолдық типті жиыны

Мартицаекі өлшемді жиын. Матрицаны сипаттаудың сызықтық жиынды сипаттаудан айырмавшылығы шамалы. Мысалы:

var

аa:array[1..10,1..10] of integer;               //бүтін сандар матрицасы

bb:array[1..8,1..5] of real;                      //нақтысандар  матрицасы

cc:array[0..5,0..3] of string;                  //жолдық типті матрицасы

Мысал. 100 метрлік қашықтыққа жүгіру барысында үш топтың әрқайсысынан үш студент іріктеп алынды. Олардың секөндпен өлшенген жүгіру нәижелері 1-кестеге енгізілген. Қайсы топтың студенттері бірінші орынға шықты? Орта есеппен олардың әрқайсысы 100 метрді қанша уақытта өтті?

12,69   13,25   12,98

14,05  13,16    13,08

 13,32  14,27    14,02

  1-кесте                            1-топ      2-топ       3-топ

  1. Жаңа жоба ашып, формада  Memo1, StringGrid1, BitBtn1, BitBtn2, Label1 компоненттерін орнату (4-сурет).

TstringGrid -ұяшықтарында кез-келген ұзындықтағы жолдық шамаларды орналастыруға болатын кестелік компонент.

Қасиет

Мағынасы

Cells[n,n]

ColCount

RowCount

GrigLineWidth

Fixedcos

FixedRows

FixedColor

ColWidth[i]

RowHeight[j]

n*m өлшемді кесте ұяшықтарының мәндері

Кестенің баған саны

Кестенің жол саны

Кесте сызылатын сызықтың қалыңдығы

Ерекше жолдар саны

Ерекше бағандар саны

Ерекше жолдар мен бағандар түсі

i-бағанның ені

j-жодың биіктігі

Компоненттер қасиеттеріне мәндер меншіктеу:

  1. Код терезесінде батырмасын оқиғасын өңдеуіш процедурасын құру.

Компонент

Қасиет

Мән

BitBtn1

BitBtn2

StringGrid1

Label1

Memo1

Kind

Kind

FxedCols

FxedRows

Caption

Strigns

bkOK

bkClose

1

1

бос ету

бос ету

Procedure Tform1.BitBtn1click(Sender: TObject);

Const n=3;

Var nomer,k,I,j:longint;

S:array[1..n,1..n] of real;               //матрица

P:array[1..n] of real;         //қосындылар жиыны

Min:real; nomerT:string;

Begin

{кесте құру}

StringGrid1.Font,Name:=’Times Kaz’;

StringGrid1.ColCount:=n+1;

StringGrid1.RowHeight:=n+2;

StringGrid1.Cells[0,n+1]:=   ‘Орт.жылд.’;

For I:=1 to n do

Begin

P[i]:=0;          //қосыенды жиынға бастапқы мәндер меншіктеу

StringGrid1.Colwidth[i]:=60;

StringGrid1.Cells[0,i]:=’ ‘+FloatToStr(i);

StringGrid1.RowHeight[i]:=15;

StringGrid1.Cells[I,0]:=’’+FloatToStr(i)+’топ’;

End;

{енгізілген элменттерді мартица ретіндек құу және экранға шығару}

k:=0;

for I:=1 to n do

for j:=1 to n do

begin s[i,j]:=StrToFloat(memo1.Lines[k]);

StringGrid1.Cells[I,j]:=’ ’+Memo1.Lines[k]; k:=k+1;

End;

{топ студентетрінің орташа жылдамдықтарын анықтау}

for I:=1 to n do

begin for j:=1 to n do

p[j]:=p[j]+s[j,i];

end;

for I:=1 to n do

StringGrid1.Cells[I,n+1]:=’ ‘FloatToStrF(p[i]/n,ffGeneral,4,2);

{бірінші орынға қай топ шыққанын анықтау}

min:=p[1];

nomer:=1;

for I:=111 to n do

if p[i]<min then

begin min:=p[i];

nomer:=I;

end;

nomerT:=IntToStr(nomer);

Label1.Font.Size:=10;

Label1.Caption:=’1 – орынға’ +nomerT+ ‘топ шыққан’+#13+#13+’Орташа жылдамдығы:’’+FloatToStrF(min/nffGeneral,4,2);

End;

Жобаны сақтап, іске қосу. Форма көрінеді. Memo1 терезесіне топтар көрсеткіштерін кезекпен енгізіп, ОК батырмасын шерту. Нәтиже алынады(4-сурет).

3 - сурет Жарыс нәтижесі

Ескерту. StrigGrid компонентін пайдаланбай, мәндерді терезесіне енгізіп, нәтижені Label өрістеріне шығару да мүмкін.


Ұқсас жұмыстар

Нысанды-бағдарланған программалаудың негізгі принциптері
Тізімді өңдеу операторлары
ЭЕМ-нің қызметі,құрамы және жіктелуі
Delphi бағдарламалау жүйесі
Информатиканы тереңдетіп оқытатын сыныптарда информатика сабағын өткізу әдістемесі
Delphi ортасынның графикалық мүмкіндіктерін сипаттайтын программа
Дельфи ортасында тізімдермен жұмыс істейтін компоненттер
Нысанды-бағдарланған программалаудың негізгі принциптері: инкапсуляция, мұрагерлеу, полиморфизм
Жаратылыстану-математикалық бағытта бейіндік оқытудың әдістемелік ерекшеліктері
Delphi программалау тілін оқыту әдістемесі