Delphi бағдарламасындағы массивтер



КІРІСПЕ
1 БӨЛІМ. БАҒДАРЛАМАЛАУДАҒЫ МАССИВ ТЕРМИНІ
1.1 Массив типті айнымалылар
1.2 Массивтің ең кіші элементін іздеу
2 БӨЛІМ. ФАЙЛДАРМЕН ЖҰМЫС
2.1 Файлдардың түрлері және мәтіндік файлға мәліметтер жазу
2.2 Бір өлшемді массивтер және екі өлшемді массивтер
2.3 Бағдарламаның тәжірбиелік орындалуы
ҚОРЫТЫНЫ
Осыған дейінгі қарастырылып келген мәлімет типтері қарапайым болып есептеледі. Себебі олар тек бір ғана объектіге яғни бір ғана санға немесе символға қатысты ғана қолданылады. Delphi-де бір типке жататын бірнеше элементтерден тұратын обектілерді де пайдалануға болады. Массив осындай бір типке жататын элементтерден құралатын құрылымдық тип болып табылады.
Қарапайым типтер қатарына жататын стандартты (Integer, real) және қолданушылар (тізбектелген тип) типтерінде бір айнымалыны сақтау үшін, негізінен компьютер жадысының бір ғана ұяшығы қолданылады.
Курстық жұмыстың тақырбы: Бір өлшемді және екі өлшемді массивтерді қолданып бағдарлама құру.
Курстық жұмыстың мақсаты: массивтердің түрлерімен жұмыс жасай отырып, тез әрі жылдам түрде бағдарлама құрып, нақты нәтиже алу.
Курстық жұмыстың міндеттері:
Массив туралы теориялық ақпарат жинақтау;
Бір өлшемді және екі өлшемді массивтерді анықтау;
Массив элементтерін іздеу;
Delphi ортасында массив элементтерін өңдеу.
Курстық жұмыстың зерттеу объектісі: Delphi бағдарламау ортасы.
Курстық жұмыстың бірінші бөлімінде бағдарламалау ұғымында массив элементтерін сипаттау болып табылады. Бұл бөлімде массив элементтерінің типтері мен түрлерін анықтау туралы мәселелер қарастырылады. Ал, екінші бөлімінде бір өлшемді және екі өлшемді массив элементтері туралы ақпараттар жазылып, бағдарламалық кодқа түрлендіру туралы қарастырады.
Қорытынды бөлімінде бағдарламаны жасау барысында нені үйрендім, нені білдім деген мәселелер қортындыланылады.
1. Бекмолдаева Қ. Солтанаева С. TURBO PASCAL бағдарламалау тілі (зертханалық жұмыстар); Оқу құралы  Астана: Фолиант, 2010
2. Ғұмыров Ж. Алгоритмдеу және бағдарламалау негіздері: (есеп жинағы).
3. Ғабулаев Д. Медешова А. Дербес компьютердің бағдарламалық жасақтамасы: оқулық  Астана: Фолиант, 2010
4. Ермеков Н.Т. Есептеу техника негіздері: оқулық  Астана: Фолиант, 2010
5. Кондратюк Е.К «Си трюки т эффекты» 2010
6. Козен Д.С. Есептеу теориясы.1  бөлім: Оқулық\ауд. Рыспайұлы Б, т.б  Алматы, 2013.
7. Керниган Б.И Ритчи Д.А «Язык программирования Си» 2012
8. Лабор В.В Шарп С.И «Создание приложений для Си»
9. Медешов А.Б. Мұхамбетова Ғ.Г. Бағдарламалау: оқулық құралы  Алматы «Бастау» баспасы» 2014 ж.
10. Объектілі бағытты бағдарламалау негіздері А. Аймқханов. 2 бас. Өңд – Астана: фолиант, 2014 ж.
11. Тукубаева З.Б. Қолданбалы ақпараттар теориясы: оқулықАлматы 2012 ж
12. Хакімова Т. Компьютерлік өңдеуді автоматтандыруда инновациялық технологияларды пайдалану. Оқу құралы. 2012 ж
13. Шайқұлова А.Ә., Аманжолова С.Т., Асқарова Н.Т. Бағдарламалық жасақтаманың қазіргі заманғы жабдықтар. Оқулық Астана: Фолиант, 2010ж.
14. Шмыгалиева Т.А., Черекбаева Л. Клиент  сервер қосымша: «Информатика» мамандығы студенттеріне арналған оқулық құралы – Алматы: Қазақ университеті. 2011 ж.
15. Хакімова Т. Компьютерлік өңдеуді автоматтандыруда инновациялық технологияларды пайдалану. 2010 ж.

КІРІСПЕ

Осыған дейінгі қарастырылып келген мәлімет типтері қарапайым болып
есептеледі. Себебі олар тек бір ғана объектіге яғни бір ғана санға немесе
символға қатысты ғана қолданылады. Delphi-де бір типке жататын бірнеше
элементтерден тұратын обектілерді де пайдалануға болады. Массив осындай бір
типке жататын элементтерден құралатын құрылымдық тип болып табылады.
Қарапайым типтер қатарына жататын стандартты (Integer, real) және
қолданушылар (тізбектелген тип) типтерінде бір айнымалыны сақтау үшін,
негізінен компьютер жадысының бір ғана ұяшығы қолданылады.
Курстық жұмыстың тақырбы: Бір өлшемді және екі өлшемді массивтерді
қолданып бағдарлама құру.
Курстық жұмыстың мақсаты: массивтердің түрлерімен жұмыс жасай отырып,
тез әрі жылдам түрде бағдарлама құрып, нақты нәтиже алу.
Курстық жұмыстың міндеттері:
Массив туралы теориялық ақпарат жинақтау;
Бір өлшемді және екі өлшемді массивтерді анықтау;
Массив элементтерін іздеу;
Delphi ортасында массив элементтерін өңдеу.
Курстық жұмыстың зерттеу объектісі: Delphi бағдарламау ортасы.
Курстық жұмыстың бірінші бөлімінде бағдарламалау ұғымында массив
элементтерін сипаттау болып табылады. Бұл бөлімде массив элементтерінің
типтері мен түрлерін анықтау туралы мәселелер қарастырылады. Ал, екінші
бөлімінде бір өлшемді және екі өлшемді массив элементтері туралы ақпараттар
жазылып, бағдарламалық кодқа түрлендіру туралы қарастырады.
Қорытынды бөлімінде бағдарламаны жасау барысында нені үйрендім, нені
білдім деген мәселелер қортындыланылады.

1 БӨЛІМ. БАҒДАРЛАМАЛАУДАҒЫ МАССИВ ТЕРМИНІ

1.1 Массив типті айнымалылар

Delphi тілінде жеке-дара мәліметтермен қатар, қандай да бір жүйеде
жиналыстырылған олардың топтары да қарастыруға болады. Осындай топтардың
бірі – құрылымдық типі ARRAY (массив) мәліметтері. Массив дегеніміз – бір
типті шамалардың реттелген белгілі бір тобы. Маcсивке кіретін айнымалыларды
массивтің элементтері дейді, олардың саны сипаттама бөлімінде жарияланып
анықталады да, бағдарламаның орындалау барысында өзгермейді. Массив
элементтерінің типі файлдан басқа кез келген (бүтін, нақты, символдық,
жолдық, масивтік т.б.) типі бола алады. Массив тұтасымен бір атпен аталады,
ал элементтерінің реті индекс арқылы көрсетіледі. Индекс массивтің
идентификаторынан соң тік жақшаға алынып жазылады, мысалға: a[1], a[2],
a[3], ... ,a[i], ..., a[n]. Массивтің типін анықтау үшін Array ...of (...тұратын
массив) қызметші сөздері қолданылады. Массив алдын ала типтерді сипаттайтын
Type тарауында жарияланады немесе айнымалылар Var тарауында
аталады.Жазылуының жалпы түрі:
Type
массив аты =array[индекстер типі]: ofэлементтер типі;
Var
         айнымалылар: типтің аты;
мұндағы: индекстер типі – 1индекс, 2 индекс, ...
         элементтер типі – массивті құрайтын негізгі элементтердің типі.
Немесе массив айнымалылар тарауында анықталуы:
Var
массив аты : array[индекстер типі]: ofэлементтердің типі;
Массивке мысал:
Program Fatima;
Const n= 20;
Var
k, i, j: integer;
A,B: array [1..n] of real;
Begin
For I: =1 to n do
Readln (a[i]);
j:= 0 {В массивіндегі санаушының бастапқы мәні}
for I:=1 to n do
begin
if A[i]0 then {U шарты – А массивіндегі теріс элементтерді іздейтін
шарт}
          begin
          j:=j+1;
         B[ j]:=A[i];
         end;
         end;
          k:=j;
         for I:=1 to k do
         writeln (B[i]);
end [1, 208-209].
Ж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мi және индекспен (массивте бұл элементтi нөмiрмен) немесе
индекспен бiр мәндi анықталады. Массивтiң жеке элементiне өндеу үшiн бұл
массивтiң есiмi және тiк жақшаға алынған элементтiң нөмiрі көрсетiледi.
Индекстiк позициялар саны массивтiң (бiр өлшемдi, екi өлшемдi және
тағы басқалар) өлшемдігін анықайды, сонымен қоса массивтiң бұл өлшемдігі
шектелмейдi [2, 17-18].
Жиынның элементтер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п
алынады. Бұдан кейін бастапқы тiзiмін өзгертiлген болады. Өзгертiлген тiзiм
бастапқы қалпына келеді, және үрдіс барлық элементтер таңдалғанға дейін
жалғаса береді. Таңдалған элементтер ретке келтiрiлген тiзiмді құрайтыны
анық [3, 176-177].

1.2 Массивтің ең кіші элементін іздеу

Типі - сандық, символдық және логикалық. Өлшемі – бір өлшемді, екі
өлшемді, т.с.с. Көлемі - массивтің элементтер санына байланысты. Массив
бір, екі және одан да көпөлшемді болады және оның өлшемі элементтінің
реттік номерін көрсететін индекстер саны арқылы анықталады.
Енді массив элементтерімен жұмысты қарастырамыз: яғни элементтерді
компьютерге енгізіп оларды өңдейміз. Ол үшін массивтерді сипаттап алу керек
Жоғарыда айтылғандай, әрбір массивке оперативтік зердеде алдын ала
оның элементтерінің саны және типі ескеріліп қатар орналасқан ұяшықтар
бөлінеді. Бұл жұмыс бағдарлама жазуға дайындық жүргізу кезеңдерінде мұқият
ұйымдастырылуы керек
Мысалы:
VAR А: ARRAY [1..30] OF INTEGER;
B: ARRAY [1..20] OF CHAR;
C: ARRAY [-9..21] OF REAL;
D:ARRAY[1..7,1..10] OF REAL;
K:ARRAY[1..4,1..3] OF CHAR;
Мұндағы, А массиві 30 элементтен, типі бүтін; В массивы 20 элементтен,
типі символдық; С массиві 32 элементтен, типі нақты сан; D массивы 70
элементтен (7 жол, 10 баған), типі нақты сан; К массивы 12 элементтен (4
жол, 3 баған), типі символдық шама. Әр массивке осы сипаттау бойынша
оперативтік зердеден орын бөліп береді [4, 12-16].

Массив Массивінің сипатталуы
түрі:
1 тәсіл: 2 тәсіл
Бір Type t=array[1..n] of тип; Var a: array[1..n] of тип;
өлшемді: Var a:t;
Екі Type р=array[1..n,1..m] of Var в:array[1..n,1..m] of
өлшемді: тип; тип;
Var в:р;
Үшөлшемді: Type р=array[1..n,1..m,1..k]Var с:array[1..n,1..m,1..k]
of тип; Var с:р; of
Тип

1 – кесте. Массивтердің берілу және сипатталу түрлері

Массивті сипаттап болғаннан кейін, операторлар бөлімінде массив
элементтеріне жай айнымалылармен орындалатын әртүрлі амалдар қолдануға
болады. Оларды әртүрлі өрнектерде оперторлар орнына For, While, Repeat
операторларының параметрлерінде логикалық амалдарды салыстыру элементі
ретінде пайдалануға болады. Бағдарламалық мәтінде массивнің әр элементі
массивтің аты мен индексі арқылы жазылады. Бір ескеретіні индекс және
индекс типі түсініктерін араластыруға болмайды. Индекс типі түсінігі
тек массивды сипаттайтын бөлімінде қолданылады. Ал индекс түсінігі
операторлар бөлімінде массив элементтерін белгілегенде қолданылады.
Компьютер зердесіне енгізілген массив элементеріне әртүрлі амалдар немесе
әрекеттер орындауға болады. Яғни, массив элементтерін сұрыптау:
элементтер орнын ауыстыру, элементтердің қосындысын және арифметикалық
ортасын, ең кіші немесе ең үлкен элементін іздеу, қосымша массивтерді
пайдалану т.с.с [5, 18-19].
Массив элементтерін өңдеу тәсілдерін қарастырайық:
1. Массивнің екі элементінің орнын ауыстыру:
c:=a[i]; a[i]:= a[j]; a[j]:=c;
2. Бір өлшемді массив элементтерінің қосындысын табу:
s:=0;
for i:=1 to 10 do
s:=s+a[i];
3. Бір өлшемді массив элементтерінің ішінен оң элементтердің санын табу
(сұрыптау тәсілі):
k:=0;
for i:=1 to 10 do
if a[i]0 then k:=k+1;
4. Бір өлшемді массивінің үлкен элементін және оның индекісін табу:
max:=a[1];
n:=1;
for i:=2 to 10 do
if a[i]max then begin max:=a[i]; n:=i; end [6, 25-26]
Бір өлшемді массивның ең үлкен, ең кіші элементін және оның индекісін
табу.
program max, min;

uses crt;

var a: array[1..5] of integer; i, max, nmax, min, nmin:integer;

begin

clrscr;

for i:=1 to 5 do

begin ('элементті енгіз');

readln (a[i]);

end;

for i:=1 to 5 do writeln (a[i]:7);

nmax:=1;

max:=a[1];

nmin:=1;1

min:=a[1];

for i:=1 to 5 do

if a[i]max then begin max:=a[i]; nmax:=i; end;

if a[i]min then begin min:=a[i]; nmin:=i; end;

end;

('Ең үлкен элемент=', max);

('Ең үлкен элемент индексі=', nmax);

('Ең кіші элемент=', min);

('Ең кіші элемент индексі=', nmin);

repeat until keypressed; end [7, 12-13].
Сұрыптау тәсілі: массив элементтерін өсу немесе кему мәні бойынша
реттеу.
Сұрыптау көпіршік тәсілі: 1-ші немесе соңғы элементтен бастап жұп-
жұбымен тексеріп, егер алдыңғысы соңғысынан үлкен болса орындарын
ауыстырамыз.
for i:=1 to n-1 do

for j:=i+1 to n do

if f[j]f[i] then

begin

a:=f[i];

f[i]:=f[j];

f[j]:=a;

end [8, 36-37].

Сұрыптау тәсілімен таңдау: Ең кіші элемент табылып, сосын 1-ші және ең
кіші элемент орындарын ауыстырамыз, содан соң 2-ші элементтен бастап
соңғыға дейін іздестіріледі және де 2-ші элемент кіші элементпен орын
ауыстырады, т.с.с.

Мысал 1: Массив элементтерін солға қарай бір позиция жылжыту.

uses crt; const n=10;

var a: array[1..n] of integer;i, c:integer;

begin for i:=1 to n do begin

a[i]:=random(50);

write (a[i]:5);

end;

c:=a[1];

for i:=1 to n-1 do

a[i]:=a[i+1];

a[n]:=c; writeln;

for i:=1 to n do

write(a[i]:5);

repeat until keypressed;

end [9, 368-369].

2 БӨЛІМ. ФАЙЛДАРМЕН ЖҰМЫС

2.1 Файлдардың түрлері және мәтіндік файлға мәліметтер жазу

Кейбір тілдерде құрылым деп аталатын жазу (record) бір атаумен
біріктірілген әр түрлi типті мәлiметтер жиынтығы. Жазудың жеке мәлiметтерi
жолдар деп аталады. Тек қана компьютердің оперативті жадыда сақталатын,
дерекқорлардағы жазуды еске салады. Жазу түрi төмендегiше жарияланады:
type
Тип атауы = record
Жол аттарының тізімі : тип ;
Жол аттарының тізімі : тип ;
end, -
Мысалы:
type
TPers= record
Fam, Name, Par : String [15] ;
Year : Integer;
Sex : boolean;
Dep : string [10]
end
Бұл операторлар кейбiр ұйым қызметкері туралы мәліметтер бар: тегі,
есiм (Fam, Name, Par жолы) әкесiнiң аты, (Year жолы) туған жыл, (Sex жолы)
жарты, ол (Dep жолы) жұмыс iстейтiн бөлiм Tpes типті жазуды хабарлайды.
Жазу жолдардың идентификаторлары көру кеңiстiгi тек қана iшiнде болады.
Жазу түрі анықталған кезде, бұл типтің айнымалысында анықтауға болады.
Мысалы:
var Pers, Persl: TPers;
Жазудың жеке жолдарына бару жолы жазу түрiндегi тиiстi айнымалыға
нұсқаумен жүзеге асырылады және нүктенiң нышанынан кейiн – жол есiмi.
Мысалы:
Pers.Fam:= 'Иванов';
Pers.Nam:= 'Иван';
Pers.Par:- 'Иванович';
Pers.Year:= 1960;
Pers.Sex:= true;
Pers.Dep:='Цех 1';
Жолдармен топтық операцияларда with..do. Операторларын пайдалану
ыңғайлы. Файл көптеген ретке келтiрiлген бір тип элементтерін көрсетеді.
Файлдарға бару үшiн арнаулы файлдық айнымалы пайдаланылады. Ол AssignFile
процедураның көрcетiлген файлымен ұластырады. Бұл процедураға синтаксис ие
болады:
procedure AssignFile(var F: File, S: string);
F – кез келген типтің файлы айнымалысы, S – файл аты бар жолақша.

Мысалы, оператор AssignFile (F1, 'Test.txt') файлды айнымалымен F1
Test.txt файлымен байланыстырады.
Қазiргi файлдың ашылуы келесi Reset процедурамен жүзеге асырылады:
procedure Reset(var F: File ); Файлдық айнымалы F бұл процедураға үндеу
алдында файлмен байланыста болуы керек.
Жаңа файлдың жасау және ашылуы келесi Rewrite процедурамен жүзеге
асырылады: procedure Rewrite(var F: File ) [10, 120-121].
Әр түрлi оқу, жазу операцияларының орындалуынан кейiн файл CloseFile
процедурасы ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Ассемблер тілінде программалау жайлы ақпарат
Деректер базасының түрлері
Массивтерде компоненттер құру
Delphi және PASCAL тілдерінде массив ұғымын түсіндіру және массивтерді өңдеу
Құрылымдық типтер және жолдық процедуралармен функциялар
ТАРМАҚТАЛҒАН АЛГОРИТМДЕРДІ ПРОГРАММАЛАУДЫ ОҚЫТУ
Delphi программалау тілінде массивтермен жұмыс
Динамикалық жады. Құрылымдық типтер
Массивтер. Деректердің стандартты типтері
ОҚУ ТӘЖІРБИЕСІНІҢ ЕСЕБІ (1304000 – Есептеу техникасы және бағдарламамен қамтамасыз ету мамандығы)
Пәндер