Массивтер. Деректердің стандартты типтері
Жоспар:
• Массивтерді сипаттау
• Массивтердің түрлері, динамикалық массивтер
• Delphi ортасында массив элементтерiмен жұмыс атқару
• Object Pascal тiлiндегi қолданылатын берiлгендердiң түрлерi.
• Деректердің стндартты типтері
• Массивтерді сипаттау
• Массивтердің түрлері, динамикалық массивтер
• Delphi ортасында массив элементтерiмен жұмыс атқару
• Object Pascal тiлiндегi қолданылатын берiлгендердiң түрлерi.
• Деректердің стндартты типтері
1. Массивтерді сипаттау
Бiр түрдегi айнымалылар тiзбегiн массив деп атайды.
Массивтiң синтаксисi келесi:
Type
<түрдiң атауы> = array [<индекс түрлерiнiң тiзiмi> ] of <кез келген реттiк түр> , немесе айнымалылар бөлiмiнде бiрден
Var <айнымалының атауы>: array [<индекс түрлерiнiң тiзiмi> ] of <кез келген реттiк түр>- айнымалыны массив деп анықтауға болады.
Массивтер б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 тілінде динамикалық массивтердің екінші және одан арғы өлшемдерінің ұзындығы әртүрлі болуы мүмкін.
Бiр түрдегi айнымалылар тiзбегiн массив деп атайды.
Массивтiң синтаксисi келесi:
Type
<түрдiң атауы> = array [<индекс түрлерiнiң тiзiмi> ] of <кез келген реттiк түр> , немесе айнымалылар бөлiмiнде бiрден
Var <айнымалының атауы>: array [<индекс түрлерiнiң тiзiмi> ] of <кез келген реттiк түр>- айнымалыны массив деп анықтауға болады.
Массивтер б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 тілінде динамикалық массивтердің екінші және одан арғы өлшемдерінің ұзындығы әртүрлі болуы мүмкін.
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 7 бет
Таңдаулыға:
Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 7 бет
Таңдаулыға:
Массивтер. Деректердің стндартты типтері
Жоспар:
• Массивтерді сипаттау
• Массивтердің түрлері, динамикалық массивтер
• Delphi ортасында массив элементтерiмен жұмыс атқару
• Object Pascal тiлiндегi қолданылатын берiлгендердiң түрлерi.
• Деректердің стндартты типтері
1. Массивтерді сипаттау
Бiр түрдегi айнымалылар тiзбегiн массив деп атайды.
Массивтiң синтаксисi келесi:
Type
түрдiң атауы = array [индекс түрлерiнiң тiзiмi ] of кез келген
реттiк түр , немесе айнымалылар бөлiмiнде бiрден
Var айнымалының атауы: array [индекс түрлерiнiң тiзiмi ] of кез
келген реттiк түр- айнымалыны массив деп анықтауға болады.
Массивтер б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 :=s5;
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.ColCou nt+1;
'.',',':
begin
Key:=DecimalSeparator; үтiр және нүкте орнына бөлгiш қою
end;
else Key:=Chr(0); басқа символдар
end; end; end.
Массив элементтерiн StringGrid терезесiнен көрсету
мысалының орындалғандағы көрiнiсi
Object Pascal тiлiнде кез ... жалғасы
Жоспар:
• Массивтерді сипаттау
• Массивтердің түрлері, динамикалық массивтер
• Delphi ортасында массив элементтерiмен жұмыс атқару
• Object Pascal тiлiндегi қолданылатын берiлгендердiң түрлерi.
• Деректердің стндартты типтері
1. Массивтерді сипаттау
Бiр түрдегi айнымалылар тiзбегiн массив деп атайды.
Массивтiң синтаксисi келесi:
Type
түрдiң атауы = array [индекс түрлерiнiң тiзiмi ] of кез келген
реттiк түр , немесе айнымалылар бөлiмiнде бiрден
Var айнымалының атауы: array [индекс түрлерiнiң тiзiмi ] of кез
келген реттiк түр- айнымалыны массив деп анықтауға болады.
Массивтер б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 :=s5;
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.ColCou nt+1;
'.',',':
begin
Key:=DecimalSeparator; үтiр және нүкте орнына бөлгiш қою
end;
else Key:=Chr(0); басқа символдар
end; end; end.
Массив элементтерiн StringGrid терезесiнен көрсету
мысалының орындалғандағы көрiнiсi
Object Pascal тiлiнде кез ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz