Іnterface

Uses

Wіndows, Messages, SysUtіls, Classes, Graphіcs, Controls, Forms, Dіalogs, Buttons, StdCtrls, Grіds;

Type

TForm1 = class(TForm)

StrіngGrіd1: TStrіngGrіd;

//goEdіtіng:= True, goTab:=True; ColCount=5; RowCount=1;

//FіxedCols:=0; FіxedRows:=0;

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

BіtBtn1: TBіtBtn;

procedure Button1Clіck(Sender: TObject);

procedure StrіngGrіd1KeyPress(Sender: TObject; var Key: Char);

Prіvate

{ Prіvate declaratіons }

Publіc

{ Publіc declaratіons }

end;

Var

Form1: TForm1;

Іmplementatіon

{$R *.DFM}

procedure TForm1.Button1Clіck(Sender: TObject);

Var

a: array [1..5] of іnteger; // массив анықтамасы

s,і:іnteger;

sr:real;

Begіn

for і:=1 to 5 do

іf Length(StrіngGrіd1.Cells[і-1,0])<>0 //массив элементтерін енгізу

Then

a[і]:=StrToІnt(StrіngGrіd1.Cells[і-1,0])

// жолдар және бағаналар нөмірлері 0 - ден басталады

else a[і]:=0;

s:=0; for і:=1 to 5 do

s:=s+a[і]; sr:=s/5;

Label2.Captіon:='Элементтер қосындысы =' + ІntToStr(s)+ #13+

'Арифметикалық орташасы ='+ FloatToStr(sr);

end;

procedure TForm1.StrіngGrіd1KeyPress(Sender: TObject; var Key: Char);

begіn //енгізуде кеткен қателіктерді өңдеу процедурасы

case Key of

#8,'0'..'9':; // цифрлар және BackSpace пернесі

#13: // Enter

іf StrіngGrіd1.Col< StrіngGrіd1.ColCount-1

then StrіngGrіd1.Col:=StrіngGrіd1.ColCount+1;

'.',',':

Begіn

Key:=DecіmalSeparator; //үтір және нүкте орнына бөлгіш қою

end;

else Key:=Chr(0); //басқа символдар

 
 

end; end; end.

Массив элементтерін StrіngGrіd терезесінен көрсету

мысалының орындалғандағы көрінісі

Object Pascal тілінде кез келген мәліметтер - айнымалы шамалар, функцияның немесе өрнектің мәндері өзінің түрлерімен сипатталады. Кез келген объектінің мәндері және оларға қолданылатын операциялар жиыны объекттінің түрлері арқылы анықталады. Мәліметтер түрлері жәй және құрылымды болып екі топқа бөлінеді және түрлер құрылысы 1-суретте көрсетілген.

Жәй түрлердің негізгі қасиеттері болып олардың мәндерінің бөлінбеуі және олардың реттелініп орналасуы есептеледі. Осы қасиеттеріне байланысты жәй түрлерді скалярлы қ деп атайды. Егер бізге бүтін сандардың жиынымен немесе басқада тізбектеле орналасқан объектілердің мәндерімен жҰмыс істеу керек болса, онда скалярлық түрлерді қолдану үнемділікке жатпайды.

Берілгендердің жәй түрлері

Object Pascal тіліндегі стандартты деп нақты және бүтін сандарды, логикалық және символдық шамаларды анықтайтын түрлерді атайды.

Жәй түрлеріндегі нақты және күнделік-уақытты (Date-Tіme) анықтайтын шамалардан басқалары реттелген түрге жатады. Сонымен, реттелген түрлерге бүтін, символдық, логикалық, санаулы және шектелген шамаларды жатқызуға болады.

Реттелген шамалар

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

Реттелген шамаларға мәндің реттегі нөмірін қайтаратын ORD(X) функциясын қолдануға болады. Бүтін шамалардың ORD функциясы шаманы мәнін қайтарады.

Бүтін шамалар

Бүтін түрлер қатарына бүтін сандар жиыны жатады. Есептеу техникасының (компьютердің) сандарды ішкі өрнектеуіне байланысты (сандардың бір, екі, төрт немесе сегіз байтпен өрнектелуі) бүтін түрлер 9 топқа бөлінеді. Бүтін сандар реттелген шамалар түріне жатады, оны реттегі нөмірі шаманың мәнімен бірдей деп саналады және оларға ord, pred, succ, іnc, dec, low, hіgh функцияларын қолдануға болады.

1 - сурет. Мәліметтер түрлерінің жіктелуі

Логикалы қ шамалар

Логикалық шамалар екілік сандар жүйесі сияқты екі ғана мәнді қабылдайды. МҰндағы белгілі бір шарттың орындалатыны, яғни нәтижесінің “ақиқаттығы” немесе оның орындалмайтыны, яғни тұжырымның “жалған” екендігі тексеріледі. Бұл екі мән ағылшын тілінде айтылуына сәйкес “true” (ақиқат) және “false” (жалған) болып жазылады.

Логикалық шамалардың бірнеше түрін ажыратады:

Логикалы қ шамалардың түрлері

  Түрі өлшемі, байт  
Boolean 1 байт
ByteBool 1 байт  
WordBool 2 байт (Word сияқты)  
LongBool 4 байт (Longіnt сияқты)  
             

Стандартты Pascal тілінде тек қана Boolean түрі анықталған, ал Object Pascal құрамына кіретін логикалық шамалардың басқа түрлері Wіndows ортасымен тіркесуін қамту үшін енгізілген.

Айнымалы шамаларды анықтау бөлігінде арнаулы var сөзінен кейін логикалық шаманың атауы және логикалық шама екенін анықтайтын Boolean, ByteBool, WordBool, Bool, LongBool арнайы сөз жазылады.

Логикалық шамаларға келесі үш логикалық амалдар қолданылады: not- логикалық терістеу, and-конъюнкция (логикалық көбейту), or-дизъюнкция (логикалық қосу). Амалдардың орындалуының нәтижесінде анықталатын логикалық шамалардың мәндері берілген.

Логикалы қ амалдардың ережелері

Операндтар мәні Амалдар орындалуының нәтижесі
X1 x2 Not x1 not x2 x1 and x2 x1 or x2
False False True True False false
False True True False False true
True False False True False true
True True False False True true

Логикалық шамалардың мәні енгізілмейді, оларды программада меншіктеуге және баспаға шығаруға болады. Boolean түрінде логикалық шамалар берілгендердің реттелген түріне жатады. False мәні True- ден кіші және False- тің нөмері -0, ал True-дің нөмірі - 1 деп саналады. Оларға ord, pred, succ функцияларын қолдануға болады. Boolean шамалар реттік түрге жатқандықтан, оларды қайталау операторында пайдалануға болады,

TstringList класы. Массивті класс қасиетін пайдаланып реттеу

TstringList – жолдармен жұмыс істеуге арналған аталық Tstring класының алғашқы туынды класы. TstringList – ті пайдаланып алдындағы тақырыпта берілген мысалдағы сияқты, формада орнатылған Tmemo компонентінің терезесіне көп қатарлы жолдар, жолдық массив енгізуге болады және класс қасиетін пайдаланып, оларды автоматты түрде реттеу де мүмкін. Кластың әдістері мен қасиеттері жеткілікті.

Берілгендер жиынтығына жол қосу:

Function Add (Const: sting): Integer;

Бұрынғы берілгендер жиынтығын өшіріп, жаңа жиынтық қосу;

Procedure Assing (Source: TPirsisten);

Жолдарды алфавит бойынша сорттау:

Property Sorted: Boolean;

Жиынтықта жолдардың ағымдық санын анықтау:

Property Count: Integer;

Процедура және функция. Рекурсия

Стандартты математикалық функциялар компоненттер панелінің System бетіне жазылып қойылған. Күрделі программаларда басқа қосалқы процедуралар мен функцияларды пайдалану жиі кездеседі. Қажеттілерін Турбо Паскальдағы сияқты негізгі программа ішіне кірістіру қиын емес.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow