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


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

Жоспар:

  • Массивтерді сипаттау
  • Массивтердің түрлері, динамикалық массивтер
  • 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 :=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

Түрi: Түрi
өлшемi, байт: өлшемi, байт
Түрi: Boolean
өлшемi, байт: 1 байт
Түрi: ByteBool
өлшемi, байт: 1 байт
Түрi: WordBool
өлшемi, байт: 2 байт ( Word сияқты)
Түрi: LongBool
өлшемi, байт: 4 байт ( Longint сияқты )
... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Алгоритмдер және деректер структурасы
Паскаль және Си тілдері
Си тілі
Динамикалық массивтер
Алгоритм және оның қасиеттері
СИ тіліндегі функциялар
PHP синтаксисінің негіздері
C# Тілінің негіздері
Массивтер үшін типтерді түрлендіру. Массивтерді клондау
СИ тіліндегі символдық функциялар мен процедуралар
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz