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


Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 7 бет
Таңдаулыға:
Массивтер. Деректердің стндартты типтері
Жоспар:
- Массивтерді сипаттау
- Массивтердің түрлері, динамикалық массивтер
- Delphi ортасында массив элементтерiмен жұмыс атқару
- Object Pascal тiлiндегi қолданылатын берiлгендердiң түрлерi.
- Деректердің стндартты типтері
- Массивтерді сипаттау
Б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 :=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меттер - айнымалы шамалар, функцияның немесе өрнектiң мәндерi өзiнiң түрлерiмен сипатталады. Кез келген объектiнiң мәндерi және оларға қолданылатын операциялар жиыны объекттiнiң түрлерi арқылы анықталады. Мәлiметтер түрлерi жәй және құрылымды болып екi топқа бөлiнедi және түрлер құрылысы 1-суретте көрсетiлген.
Жәй түрлердiң негiзгi қасиеттерi болып олардың мәндерiнiң бөлiнбеуi және олардың реттелiнiп орналасуы есептеледi. Осы қасиеттерiне байланысты жәй түрлердi скалярлы қ деп атайды. Егер бiзге бүтiн сандардың жиынымен немесе басқада тiзбектеле орналасқан объектiлердiң мәндерiмен жҰмыс iстеу керек болса, онда скалярлық түрлердi қолдану үнемдiлiкке жатпайды.
Берiлгендердiң жәй түрлерi
Object Pascal тiлiндегi стандартты деп нақты және бүтiн сандарды, логикалық және символдық шамаларды анықтайтын түрлердi атайды.
Жәй түрлерiндегi нақты және күнделiк-уақытты (Date-Time) анықтайтын шамалардан басқалары реттелген түрге жатады. Сонымен, реттелген түрлерге бүтiн, символдық, логикалық, санаулы және шектелген шамаларды жатқызуға болады.
Реттелген шамалар
Реттелген шамалардың ерекшелiгi- әрбiр реттелген түрге жататын шамалардың қабылдай алатын мәндерiнiң саны шектеулi болғандығы. Оларды белгiлi бiр заңдылықпен реттеуге және әрбiр мәнге бiр бүтiн санды- реттегi нөмiрiн сәйкестеуге болады.
Реттелген шамаларға мәндiң реттегi нөмiрiн қайтаратын ORD(X) функциясын қолдануға болады. Бүтiн шамалардың ORD функциясы шаманы мәнiн қайтарады.
Бүтiн шамалар
Бүтiн түрлер қатарына бүтiн сандар жиыны жатады. Есептеу техникасының (компьютердiң) сандарды iшкi өрнектеуiне байланысты (сандардың бiр, екi, төрт немесе сегiз байтпен өрнектелуi) бүтiн түрлер 9 топқа бөлiнедi. Бүтiн сандар реттелген шамалар түрiне жатады, оны реттегi нөмiрi шаманың мәнiмен бiрдей деп саналады және оларға ord, pred, succ, inc, dec, low, high функцияларын қолдануға болады.
1 - сурет. Мәлiметтер түрлерiнiң жiктелуi
Логикалы қ шамалар
Логикалық шамалар екiлiк сандар жүйесi сияқты екi ғана мәндi қабылдайды. МҰндағы белгiлi бiр шарттың орындалатыны, яғни нәтижесiнiң “ақиқаттығы” немесе оның орындалмайтыны, яғни тұжырымның “жалған” екендiгi тексерiледi. Бұл екi мән ағылшын тiлiнде айтылуына сәйкес “true” (ақиқат) және “false” (жалған) болып жазылады.
Логикалық шамалардың бiрнеше түрiн ажыратады:
Логикалы қ шамалардың түрлерi
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz