Массивтер. деректердің стандартты типтері


Жоспар:

• Массивтерді сипаттау

• Массивтердің түрлері, динамикалық массивтер

• Delphi ортасында массив элементтерiмен жұмыс атқару

• Object Pascal тiлiндегi қолданылатын берiлгендердiң түрлерi.

• Деректердің стндартты типтері

Пән: Информатика
Жұмыс түрі: Материал
Көлемі: 6 бет
Бұл жұмыстың бағасы: 200 теңге


Массивтер. Деректердің стндартты типтері
Жоспар:
• Массивтерді сипаттау
• Массивтердің түрлері, динамикалық массивтер
• Delphi ортасында массив элементтерiмен жұмыс атқару
• Object Pascal тiлiндегi қолданылатын берiлгендердiң түрлерi.
• Деректердің стндартты типтері
1. Массивтерді сипаттау
Бiр түрдегi айнымалылар тiзбегiн массив деп атайды.
Массивтiң синтаксисi келесi:
Type
= array [ ] of , немесе айнымалылар бөлiмiнде бiрден
Var : array [ ] of - айнымалыны массив деп анықтауға болады.
Массивтер бiр, екi және одан да көп өлшемдi болады. Массивтер
өлшемiне шектеу қойылмайды, тек келесi жәйт есте болу керек: массивтiң iшкi
көрiнiсiнiң ұзындығы 2 Гбайттан аспау керек. Массив элементтерi жадыда
бiрiнен соң бiрi орналасады, сонымен қатар кiшi адресiнен жоғарғыға өткенде
алдымен оң жақтағы индексi жылдам өзгередi.
Екi өлшемдi матрицаны бiр өлшемдi массивтерден құралған массив деп
санауға болады.
Динамикалық массивтер
Delphi 4 ортасынан бастап динамикалық массивтер деген ұғым енгiзiлген.
Осындай түрде анықталған массивтердiн индекстер аралығын анықтаудың қажетi
жоқ және массив iшкi жады кеңiстiгiнде орналасады.
Динамикалық массивтiң идентификаторы негiзiнде массивтiң элементтерiне
бөлiнген аймақтың бiрiншi байтынын адресi- сiлтеме болып табылады.
Сондықтан массивке бөлiнген жадыны босату үшiн массив идентификаторына NIL
мәнiн меншiктесе жеткiлiктi (немесе Finalize процедурасын қолдануға
болады).
Орнатылған динамикалық массивтiң кез келген өлшем индекстерiнiң шегiн
өзгерту үшiн жаңа массивке қажеттi аймақ алдын-ала даярланады және бұрыңғы
массивтiң элементтерi жаңа аймаққа орналастырылады, сонан кейiн ескi
массивке бөлiнген жадының аймағы босатылады.
Object Pascal тілінде динамикалық массивтердің екінші және одан арғы
өлшемдерінің ұзындығы әртүрлі болуы мүмкін.
Delphi ортасында массив элементтерiмен жұмыс атқару мысалы:
1. Бүтiн элементтен тұратын бiр өлшемдi массив берiлген. Массивтi
көрсету үшiн Additional парағының StringGrid1 {Options: goEditing:=True
(түзетуге болатындығы), goTabs:=True (Тab пернесiне сезiндiру); ColCount:=5
(бағаналар саны); RowCount:=1 (жолдар саны); FixedCols:=0 (бекiтiлген
бағаналар саны); FixedRows:=0 (бекiтiлген жолдар саны)} компонентi
қолданылған. ColCount және RowCount қасиеттерi бағаналар және жолдар саны.
Олардың нөмiрлерi 0 - ден басталады.
Сонымен қатар, екi белгi - Label1 (Caption - Бүтiн сандар массивiн
енгiзiңiз) және Label2 (Caption - тазаланған), екi батырма - Button1
(Caption - Есептеу), BitBtn1 (Kind - bkClose). Массив элементтерi
StringGrid1 ұяшықтарынан көрсетiледi және Есептеу батырмасы басылғанда олар
массивке меншiктеледi де элементтердiң қосындысы және орташа шамасы
есептелiп, Label2 - ге шығарылады. Close батырмасы басылғанда программа
жұмысын тоқтатады.
Массив элементтерiн
StringGrid терезесiнен көрсету
Модуль кодын келесi түрде келтiруге болады:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
//goEditing:= True, goTab:=True; ColCount=5 ; RowCount=1;
//FixedCols:=0; FixedRows:=0;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
a: array [1..5] of integer; // массив анықтамасы
s,i:integer;
sr:real;
begin
for i:=1 to 5 do
if Length(StringGrid1.Cells[i-1,0])0 //массив элементтерiн енгiзу
then
a[i]:=StrToInt(StringGrid1.Cells[i-1,0])
// жолдар және бағаналар нөмiрлерi 0 - ден басталады
else a[i]:=0;
s:=0; for i:=1 to 5 do
s:=s+a[i]; sr :=s/5;
Label2.Caption := 'Элементтер қосындысы =' + IntToStr(s)+ #13+
'Арифметикалық орташасы ='+ FloatToStr(sr);
end;
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin //енгiзуде кеткен қателiктердi өңдеу процедурасы
case Key of
#8,'0'..'9': ; // цифрлар және BackSpace пернесi
#13: // Enter
if StringGrid1.Col< StringGrid1.ColCount-1
then StringGrid1.Col:=StringGrid1.ColCount+1;
'.',',':
begin
Key:=DecimalSeparator; //үтiр және нүкте орнына бөлгiш қою
end;
else Key:=Chr(0); //басқа символдар
end; end; end.
Массив элементтерiн StringGrid терезесiнен көрсету
мысалының орындалғандағы көрiнiсi
Object Pascal тiлiнде кез келген мәлiметтер - ... жалғасы







Ұқсас жұмыстар
Тақырыб Бет саны
PHP тілі. PHP-мен бірге жұмыс істейтін құралдар47 бет
Іeee 802.х стандарттарының құрылымы3 бет
Аудиттің постулаттары, стандарттары және нормалары. ХАС сәйкес аудитті жоспарлау32 бет
Стандарт – кост жүйесі5 бет
Электронды ақпарат нарығы7 бет
C++ екі өлшемді массивтер20 бет
Delphi ортасында программалау негіздері10 бет
Бір өлшемді массивтер12 бет
Массивтер жайлы5 бет
Массивтерде компоненттер құру39 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь