Массивҳо

  1. Эълони массив
  2. Амалиётҳо бо массивҳо
  3. Дохилкунии массив

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

Адабиёт

1. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного

обеспечения / Пер. с англ. — М.: Мир, 1982. — 386 с., ил.

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

1985. – 368 с., ил.

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

– 912 с.: ил.

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

5. Язык компьютера. Пер. с англ, под ред. и с предисл. В. М. Курочки-на. — М.: Мир, 1989. – 240 с., ил.

Массивҳо

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

1.Эълони массив

Массив ба монанди тамоми таѓирёбандаҳое, ки дар программа истифода бурда мешаванд, пеш аз истифодабарb бояд дар қисми эълони таѓирёбандаҳо эълон карда шавад.

Дар намуди умуми инструксияи эълони массив чунин аст:

Ном: array ҳиндекси поёни..индекси болои] of тип

дар ин ҷо:

  • ном – номи массив;
  • array – калимаи эҳтиётии забон буда, массивро мефаҳмонад;
  • индекси поёни ва индекси болои – ададҳое бутуне, ки ченаки массивро мефаҳмонанд. Дар ин ҷо мо метавонем руйхати индексҳоро, ки бо якдигар бо вергул ҷудоанд, истифода барем;
  • тип – типи элементҳои массив.

Мисоли эълони массивҳо шуда метавонанд:

tem:arrayҳ1..31] of real;

коf:arrayҳ0. .2] of integer;

name:arrayҳ1..30] of stringҳ25];

Барои эълони массив доимиҳои номдорро истифода бурдан қулай аст. Доимиҳои номдор дар қисми эълони доимиҳо эълон карда мешаванд, ки онҳо одатан пеш аз қисми эълони таѓирёбандаҳо ҷойгиранд. Қисми эълони доимиҳо бо калимаи const сар мешавад. Баъди эълон кардани доимиҳои номдор онро ҳамчун доимии рамзb дар программа истифода бурдан мумкин аст.

Мисол:

program Project2; ҳ$APPTYPE CONSOLE}

const

m=10;

var

a:arrayҳ1..m] of integer;

n,i:integer;

s: real;

begin

readln(n);

s:=0;

for i:= 1 to n do

begin

readln(aҳi]);

s:=s+aҳi];

end;

writeln(s);

readln;

end.

uses

SysUtils;

begin

ҳ TODO -oUser -cConsole Main : Insert code here }

end.

2. Амалиётҳо бо массивҳо

Амалиётҳо бо масивҳо инҳо шуда метавонанд:

  1. хориҷкунии массив;
  2. дохилкунии массив;
  3. ҷустуҷў намудани элементи минималb ва максималии массив;
  4. ҷустуҷўи элементи массиве, ки дода мешавад;
  5. сортировканамоии массив.

Ҳар яки инро дар алоҳидаги дида мебароем:

  1. Хориҷкунии массив;

Дар зери мафҳуми «хориҷкунии массив» дар экрани монитор (дар окнои диалогb) баровардани элементҳои массивро фаҳмидан мумкин аст.

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

Барои фаҳмо шудан мисоли зеринро меорем.

Массивро истифодабурда руйхати додашудаи зеринро

Matematika, Informatika, Adib, Hona, Omma.

дар Label 1 бароред.

Компанентҳои зеринро истифода мебарем:

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

Кнопкаи «Руйхат» -ро ду бор пахш намуда коди программаро менависем.

ҳ$R *.dfm}

const

NT = 5;

var

foot: arrayҳ1..NT] of stringҳ10] =

(‘Matematika’,’Informatika’,’Adib’,’Hona’,’Omma’);

procedure TForm1.Button1Click(Sender: TObject);

var

st:string;

i:integer;

begin

for i:=1 to NT do

st := st + IntToStr(i)+ ‘ ‘ + footҳi] + #13;

Label1.Caption := st;

end;

end.

Кнопкаи «Баромад» -ро ду бор пахш намуда коди зеринро менависем.

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

end.

Натиҷаи программа:

3. Дохилкунии массив

Дар зери мафҳуми «дохилкунии массив» рафти бадастовардани қиммати элементҳои массивро дар вақти кор кардани программа аз тарафи истифодабаранда фаҳмидан мумкин аст. Дар поён ду варианти «дохилкунии массив» бо истифода аз компанентҳои StringGrid ва Memo оварда шудааст.

Истифодабарии компоненти StringGrid

Барои дохилкунии массив компоненти StringGrid –ро истифода бурдан қулай аст. Компоненти StringGrid дар вкладкаи Additional ҷойгир аст. (ҷадвали 1).

Расми *. Компоненти StringGrid

Компоненти StringGrid ба худ таблитсаеро мегирад, ки ячейкаҳои он сатри символҳоро мегирад. Дар ҷадвали1 руйхати баъзе аз хосиятҳои (свойства) компоненти StringGrid оварда шудааст.

Ҷадвали 1. Хосиятҳои компоненти StringGrid

Хосият Маълум мекунад
Name Номи компонент. Дар программа барои роҳхат ба хосияти компанент истифода бурда мешавад.
ColCount Миқдори катакҳои ҷадвал
RowCount Миқдори сатрҳои ҷадвал
Cells Ячейкаҳои ҷадвал, ки дар буриши сутуни номери col ва сатри номери row ҷойгиранд элементи cells ҳcol, row] -ро ташкил медиҳанд.
FixedCols Миқдори катакҳои аз чап бақайдгирифташудаи ҷадвал. Катакҳои бақайдгирифташуда бо ранг ҷудо карда мешавад ва ҳангоми гардондани прокруткаи горизонтали дар ҷояш меистад.
FixedRows Миқдори сатрҳои аз боло бақайдгирифташудаи ҷадвал. . Сатрҳои бақайдгирифташуда бо ранг ҷудо карда мешавад ва ҳангоми гардондани прокруткаи вертикали дар ҷояш меистад.
Options . goEditing Оид ба таҳриркунии символҳо дар ячейкаҳои ҷадвал буда. Агар true бошад, программа таҳриркуниро иҷозат медиҳад, дар акси ҳол яъне false иҷозат намедиҳад.
Options . goTab Барои истифодадаи клавиши <Таb> дар ячейка таблитса гузариш аз як ячейка ба дигараш.

True – ичозат медиҳад ;

False – иҷозат намедиҳад.

DefaultColWidth Паҳмии колонокаи таблитса
DefaultRowHeight Баландии сатри таблитса
Left Фосилаи аз чапи сарҳади майдони таблитса то сарҳади чапи форма.
Top Фосилаи аз болои сарҳади майдони таблитса то сарҳади болоии формаРасстояние от верхней границы поля.
Height Баландии майдони таблитса
Width Паҳмии майдоин таблитса
Font Шрифт ин барои инъикоси маълумоти дохили ячейкаи таблитса пешбини шудааст.

Истифодабарии компоненти Memo

Дар якчанд ҳолатҳо барои дохил намудани массив компаненти Memo –ро истифода бурдан мумкин аст. Компоненти Memo имконият медиҳад, ки матнҳои аз якчанд сатр иборатбударо дохил кардан мумкин аст.

Барои ҳамин ин компанентро барои дохил намудани массивҳои символb(рамзb) одатан истифода мебаранд. Компоненти Memo – ро аз вкладкаи Standard – и истифода бурдан мумкин аст (дар форма).

Мо дар поён баъзе аз хосиятҳои (свойства)- и компаненти Memo -ро дида мебароем.

Хосиятҳои компоненти Memo

Хосият Маълум мекунад
Name Номи компонент. Дар программа барои роҳхат ба хосияти компанент истифода бурда мешавад.
Text Матне, ки дар майдони Memo ҷойгир аст.
Lines Сатрҳои матни дар майдони Memo ҷойгирбуда.
Lines .Count Миқдори сатрҳои матн дар майдони Memo.
Left Фосила аз тарафи чапи сарҳади майдон то сарҳади чапи форма.
Top Фосила аз болои сарҳади майдон то болои сарҳади форма.
Height Баландии майдон.
Width Паҳмии майдон
Font Шрифт барои инъикоси матни дохилкардашуда.

Истифодабарии компоненти Memo барои дохил намудани қимати ҳар як элементи массив дар сатри алоҳида дохил карда мешавад, ки баъди дохил кардани ҳар як элемент клавиши <Enter> пахш карда мешавад.

Барои дастрас кардани қимати сатри майдон аз хосияти Lines (дар қавси квадрати номери сатри заруриро нишон диҳед) истифода бурдан мумкин аст (сатри аз нол сар мешавад).

Сикли асосии проседураи дохил намудани массиви символb ба компанента Memo чунин аст:

for i:=l to SIZE do

a ҳ i ]:= Memol.Linesҳi];

дар ин ҷо:

SIZE — доимиҳои номдор, ки андозаи массивро муайян мекунад;

а — массив;

Memol — номи компоненти Memo;

Lines — хосияти компоненти Memo, ки ба худ массивро мегирад (ҳар як элементи он ба худ як сатри дар майдони Memo ҷойгир бударо мегирад).

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

Донистани массив барои донишҷўен зарур мебошад, чунки баъзе аз масъалаҳо талабот ба истифодабарии «массив» – ро дорад. Бояд қайд карда, ки барои баъзе масъалаҳо агар мо «массив» – ро истифода набарем, мо барномаи он масъаларо навишта наметавонем. Дар забони Delphi 7 массив ҷои махсусро ишѓол мекунад. Дар фазои консолb ва дар фазои формавb.

test

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *