Жиым элементтерін реттеу әдістері
Мазмұны:
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... 4
І.
Жиымдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... .5
1.1 Жиым
түсінігі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ...5
1.2 Жиымның
сипаттамалары ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... 5
II. Бір типті
жиым ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ...7
2.1 Бір типті жиымның типтер бөлімінде
сипатталуы ... ... ... ... ... ... . ... ... ...7
2.2 Бір типті жиымның айнымалылар бөлімінде
сипатталуы ... ... ... ... ... ... 9
2.3 Жиымдар арасында амалдар
қолдану ... ... ... ... ... ... ... ... ... ... ... ... ... ...14
2.4 Жиым элементтерін реттеу
әдістері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...20
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... .29
Қолданылған
әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ..30
Курстық жобалауға тапсырма
Мен осы курстық жобалауда жиымдарды қолданып, есептерді шығару, және
типтерді қолдану, процедура мен функцияларды қолдану мақсатында жазып
отырмын.
Кіріспе
Алгоритм және бағдарламалау негіздері пәнінен қарастырылып отырған
Бір типті жиымды программалауда қолдану тақырыбы бойынша курстық
жұмысында бір типті жиымның түсінігі, сипатталуы, оның түрлері реттеу
әдістері, амалдар қолдану және мысалдарды талдау Turbo Pascal ортасында
қарастырылған.
Жоғарғы деңгейлі программалау тілдерінің бірі – Паскаль. Оның алғашқы
нұсқасын 70-ші жылдары Швейцария ғалымы Никлаус Вирт жарыққа шығарған
болатын. Қазіргі кезде Паскаль тілінің кеңейтілген ондаған диалектісі бар,
оның ішінде IBM PC-ге үйлесімді дербес компьютерлер жұмыс істей алатын
Turbo Pascal диалектісінің варианттары да жеткілікті.
Turbo Pascal нұсқасын 1983 жылы Borland International Inc(АҚШ)
фирмасының қызметкері Андерсон Хейлсберг жасап шығарды. Ол CP\M операциялық
жүйесіне негізделген. 1984 жылдың басында MS DOS жүйесіне ауысқалы
пайдалану қарқыны өсе түсуде.
І. Жиымдар
1.1 Жиым түсінігі
Программалау кезінде пайдаланылатын айнымалы шамалар қарапайым және
индексті айнымалылар болып екіге бөлінеді. Тек қана қарапайым айнымалыны
пайдаланып есептерді шығару көптеген қиындықтар туғызады, ал кейбір күрделі
есептерді шығару мүмкіндігі болмай да қалады.
Қарапайым типтер қатарына жататын стандартты (integer, real) және
қолданушылар (тізбектелген тип) типтерде бір айнымалыны сақтау үшін,
негізінен компьютер жадының бір ғана ұяшығы қолданылады. Бірақ көптеген
программалау есептерінің шешімін табу барысында әрбір элементтің деректерін
жеке айнымалыға сақтау орнына, олардың тізбектеп бір жерде сақтау анағұрлым
тиімді болып табылады. Компьютердің жадында сандардың бір-бірімен
байланысқан көптеген мәндерін сақтау үшін индексті айнымалылар, яғни
жиымдар қолданылады. Бір типтес берілгендер жиынынан құралып, барлық
элементтеріне бір ортақ атау берілген сипаттаманы жиым деп атаймыз. Жиымдар
құрылымдық тип қатарына жатады.
1.2 Жиымның сипаттамалары
Жиымды сипаттау үшін оның элементтерінің қандай тип екенін және
олардың қалай нөрірленгенін анықтауымыз керек (оның индексінің қай тип
екенін).
Жиым сипаттамалары:
• Типі – жиым элементтерінің жалпы типі;
• Көлемі – жиым индекстерінің саны;
• Шектелімі - әрбір индекстердің шектеу бойынша сәйкестігі;
• Пішімі – көлем және шектеулер жиындары.
Паскаль тілінде жиымды программада қолдану үшін оларды міндетті түрде
арнаулы array (ағылшын тілінен аударғанда – жиым дегенді білдіреді)
операторы арқылы сипаттап жазу керек.
ІІ. Бір типті жиым
2.1 Бір типті жиымның типтер бөлімінде сипатталуы
Жиымды екі түрде сипаттауға болады:
1. Типтер бөлімінде сипаттау үлгісі:
Type
Жиым типінің атауы = array [жиым индексінің аралығы] of элемент типі;
Мысалы:
type
GRUP = array [1..8] of integer;
Мұндағы:
Жиым типінің атауы – жиым элементінің жиынын сипаттайды;
Индекс типі – тізбектелген немесе шектелген типтерді көрсету;
Элемент типі – жиым элементтерінің типін көрсету.
Турбо Паскальда жиым элементтері нөмірленеді. Жиымның әрбір элементіне
индексін көрсету арқылы жұмыс жасау барысында, жиым атауынан кейін міндетті
түрде тік жақшаға алынған индекс көрсетіледі. Индекс ретінде сандар немесе
белгілі бір әріптер қолданылады. Жиымның элементтері индекстері бойынша
ажыратылады. Сондай-ақ массивтің идентификаторы (аты) да жай айнымалылардың
идентификаторы сияқты белгіленеді.
Берілген жиымдардың бірінші элементіне қатынас алу үшін жиым атауынан
кейін бірінші индексті көрсету қажет: А [1]; жиымның екінші элементіне
қатынас алу үшін: А [2]; ал А жиымының сегізінші элементіне: А [8]
көрсетіледі (1 сурет):
А [1] A [2] A [3] A [4] A [5] A
[6] A [7] A [8]
12 11 5 -2 405 -3 9 -7
жиымның жиымның жиымның жиымның жиымның
жиымның жиымның жиымның
бірінші екінші үшінші төртінші
бесінші алтыншы жетінші
сегізінші элементі элементі
элементі элементі элементі элементі
элементі элементі
(1 – сурет)
Берілген жиымдардың кез-келген элементтеріне арифметикалық
операцияларды, салыстыру және меншіктеу операторларын қолдануға болады.
Сонымен қатар, жиымдарды Турбо Паскаль программалау тіліндегі айнымалы
типіне сәйкес келетін барлық стандартты процедуралар және функциялар
қолданылады.
Жиым атауы [индексі]:=нәтиже
Мысалы:
а) А жиымының бірінші элементіне – 12 санын меншіктеу үшін : А
[1]:=12;
ә) А жиымының бесінші элементіне - 405 санын меншіктеу үшін: A
[5]:=405;
б) А жиымының екінші элемент нәтижесін экранға шығару үшін: writeln(A
[2]); (экранға 11 шығады).
в) А жиымының бірінші элементіне нәтижені пернелер тақтасы көмегімен
енгізу үшін: readln (A [1]);
г) А жиымының бірінші және үшінші элементтерінің қосындысын Sum
айнымалысына меншіктеу үшін: Sum:=A [1]+A [3]; (нәтижесінде Sum
айнымалысына 17 саны меншіктеледі.
Типті сипаттау мысалдары:
Type mas = array [1..10] of real;
color = array [byte] of mas;
active = array [menu] of boolean;
Бірінші операторда жиымның 1-ден 10-ға дейін нөмірленетін типі
заттық элементтермен сипатталған. Екінші операторда жиымның элементі mas
типті жиым болады және де олар byte типіне сәйкес 0-ден 255-ке шейін
нөмірленеді. Үшінші мысалда элементтер true немесе false мәндерін қабылдай
алады.
Сонымен, жиымның элементтер типі әртүрлі болуы мүмкін, тек қана
файлдық емес, индекстің типі – интервалдық, тізбектелетін және byte.
Индексті сипаттағанда көбінесе мәліметтердің интервалдық типі қолданылады.
Әдетте жиымды сипаттағанда оның индексінің жоғарғы шекарасы атаулы
тұрақты шама (константа) ретінде беріледі . Мысалы:
const n=6;
type intmas=array [1..n] of integer;
Тапсырмадан кейін массив типі бұл типтің айнымалысы кәдімгі түрде
сипатталады, мысалы:
var a,b:intmas;
Егер талап етілген жиым типі программада тек бір орында қолданылса,
айнымалыларды анықтаған кезде типті сипаттауға болады:
var a,b:array [1..n] of integer;
2.2 Бір типті жиымның айнымалылар бөлімінде сипатталуы
Жиымдарды программада қолдану үшін Турбо Паскаль программалау тілінде
оларды бірден var бөлімінде сипаттау жолы қарастырылған.
2. Айнымалылар бөлімінде жалпы жазылу түрі:
Var
жиым атауы: array [жиым индексінің аралығы] of элемент типі;
var
A:GRUP;
Мысалы, бөлшек сандарға арналған 18 элементтен тұратын GR жиымын
сипаттау:
Var
GR:array [1..18] of real;
Берілген 9 элементтен тұратын А жиыміне бөлшек сандар енгізіп, оларды
дисплей бетіне ретімен шығару программасын қарастырайық:
{$R+}
PROGRAM MASSIV; {Программа атауы}
TYPE {Типтерді сипаттау бөлімі}
MAS=ARRAY[1..9] OF REAL;{Шарт бойынша жиым типі}
VAR {Айнымалаларды сипаттау бөлімі}
A:MAS; {MAS типті А - массив}
I:INTEGER; {Циклді басқару айнымалысы}
BEGIN {Негізгі программа басы}
WRITELN (‘А - жиымның 9 элементін енгіз:’);
FOR I:=1 TO 9 DO {I - бойынша цикл}
READ (A[I]); {A [I] жиыміне нақты сандарды енгізу операторы}
FOR I:=1 TO 9 DO {I – бойынша цикл}
WRITE (‘A [‘,I,’]=’,A [I]);{A [I] жиымының элементін дисплейге шығару
операторы}
END. {Негізгі программа соңы}
Жиымның кез-келген элементтерімен жұмыс істегенде программалау
барысында олардың индекстерінің мәні типтер немесе айнымалылар бөлімінде
сипатталған шектеуден асып кетсе, онда синтаксистік қате тіркеліп, экранда
“Index type is not compatible with declaration” деген сөз тіркестері
шығарылады.
Жиымдар қолданылатын программада “{R+}” директивасын жазу арқылы
жиымдардың шектеулерін тексеруге болады. Егер программада {R+} директивасы
беріліп, жиым индексі шектеуден асып кетсе, онда экранға “Range check
error” сөз тіркесі шығарылады.
Жиымды типтер бөлімінде анықтау программаны оқуды көп жеңілдетеді және
ол программалаудың жақсы тәсілі болып табылады.
Программалауда бір өлшемді жиымдарды қолдану арқылы программаны
ықшамдауға болады.
Мысалы: Шарт бойынша 15 белгісіз айнымалыны енгізу қажет болсын.
Берілген шартты екі жолмен орындайық, яғни бірінші массивті қолданбай және
екінші жолы жиымды қолдану арқылы:
Бірінші жолы:
readln (a1, a2, a36, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15);
Екінші жолы:
for i:=1 to 15 do
readln (a[i]);
Көрсетілген мысалдардың орындалуының бірінші жолында айнымалыларды
енгізу үшін 15 түрлі атау қолданылады. Ал егер шарт бойынша 100 немесе одан
да көп айнымалы енгізілу талап етілсе, онда олардың барлығын тізбектеп жазу
көп уақыт және көп орын алады, сондай-ақ құрылымдық жағынан бұл тиімсіз
болып табылады.
Мысалды орындаудың екінші жолында жиымды қолдану арқылы жинақы түрде
15 элементті енгізу түрі көрсетіледі. Егер шарт бойынша 100 немесе одан да
көп айнымалылар енгізу талап етілсе, онда бұл операция тез жүзеге
асырылатыны анық.
Көрсетілген мысалды қолдана отырып А [15] жиымындағы бүтін сандар
арасынан ең үлкенін анықтайтын программа құру:
PROGRAM PRIM_MIN;
USES CRT;
VAR
A:ARRAY [1..15] OF INTEGER;
I, MIN:INTEGER;
BEGIN
CLRSCR;
WRITELN (‘ жиым элементтерін енгізіңіз–’ );
FOR I:= 1 TO 15 DO
BEGIN
WRITE (‘A [‘,I,’]=’);
READLN (A [I]);
END;
MIN:=A [1];
FOR I:= 1TO 15 DO
IF MIN A[I] THEN MIN:=A [I];
WRITELN (‘MIN=’,MIN);
END.
Берілген программада var бөлімінде А [15] жиымы сипатталған: А:array
[1..15] of integer; - бұл сипаттама А жиымының 15 бүтін сандардан
құралатынын білдіреді.
Программада жиым элементтерін енгізу үшін цикл операторы қолданылған:
FOR I:=1 TO 15 DO – I-ді 1-ден 15-ке дейін өзгертіп орындау;
BEGIN – цикл басы;
WRITE (`A[,I,]=`); “A [I]=” тіркесін экранға бейнелеу;
READLN (A[I]); - жиым элементтерін енгізу;
END; - цикл соңы.
Шарт бойынша ең кіші элементті анықтау үшін min айнымалысына жиымның
бірінші элементі меншіктейміз min:=a [1]. Ал цикл денесінде орналасқан
шартты тексеру операторы арқылы ең кіші элемент анықталады:
FOR I:=1 TO 15 DO
IF MIN A [I] THEN MIN:=A [I];
Табылған элементті экранға шығару:
WRITELN (‘MIN=’);
[CTRL]+[F9] пернелерін басу арқылы берілген программа қорытындысы
шығарылады.
Көп жағдайда жиымның номері (индексі) 1-ден басталады. Бірақ , бұл
міндетті емес. Мәселен мына мысалды алып қарастырайық. Григориандықтардың
күнтізбесі бойынша 1992 жылға дейінгі жер шарының халқына санақ
жүргізілген. Мұны жиым түрінде сипаттасақ, келесі түрде болмақ:
VAR халық саны : ARRAY [1582..1992] OF INTEGER;
Жиымның бүтін, не нақты сандардан тұратын сандық типтерін алдыңғы
мысалдан көріп отырмыз. Сондай-ақ жиым символдық типтерден де тұрады.
Символдық жол – STRING үшін жиым келесі түрде өрнектеледі:
TYPE
STRING : ARRAY [0..255] OF CHAR;
Жиымның номерінің санына қарай қанша элементті жиым екенін байқауға
болады. Алдыңғы мысалда STRING – жиымы 255 элементті болады.
Келесі мысалдарды қарастыратын болсақ, жиым номері тек сол мәндерді
ғана емес, басқа мәндерді де қабылдайтынын төмендегі келтірілген
мысалдардан да көре аламыз.
1. Текстегі латын әріптерін шығару:
VAR :ARRAY [‘A’.. ‘Z’] OF INTEGER;
2. Құрлықтағы бір жылдағы ауаның орташа температурасы:
TYPE құрылық = (Гаити, Таймыр, Ява, Тасмания, Сицилия);
VAR T:ARRAY [құрылық] OF REAL;
3. Келесі адамдардың қайсысының бойы ең ұзын:
TYPE аты = (Қарлығаш, Қадыр, Ақын, Жанар, Бақыт);
VAR Ж : ARRAY [аты] OF (ұл, қыз);
Б : ARRAY [аты] OF 140..240;
Осы мысалдарға қарай отырып, жиымның дұрыс (қатесіз) жазылуын келесі түрде
көрсетуге болады:
VAR M : ARRAY [1..N] OF REAL;
Жыл : ARRAY [қаңтар..желтоқсан] OF INTEGER;
L : ARRAY [Жол] OF BOOLEAN;
M1 : ARRAY [CHAR] OF Шеңбер;
Егер бірнеше жиымдар бірыңғай типті және элементтер саны тең болса,
онда оларды программада бір жолда сипаттауға болады, мысалы:
VAR A, B, C, : ARRAY [1..25] OF REAL;
Мұнда A, B, C – жиымдарының мәндері 25 элементтен тұратын нақты сандар.
A [1], A [2], A [3], ... , A [25],
B [1], B [2], B [3], ... , B [25],
C [1], C [2], C [3], ... , C [25].
3. Жиымдар арасында амалдар қолдану
Паскаль ... жалғасы
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... 4
І.
Жиымдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... .5
1.1 Жиым
түсінігі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ...5
1.2 Жиымның
сипаттамалары ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... 5
II. Бір типті
жиым ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ...7
2.1 Бір типті жиымның типтер бөлімінде
сипатталуы ... ... ... ... ... ... . ... ... ...7
2.2 Бір типті жиымның айнымалылар бөлімінде
сипатталуы ... ... ... ... ... ... 9
2.3 Жиымдар арасында амалдар
қолдану ... ... ... ... ... ... ... ... ... ... ... ... ... ...14
2.4 Жиым элементтерін реттеу
әдістері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...20
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... .29
Қолданылған
әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ..30
Курстық жобалауға тапсырма
Мен осы курстық жобалауда жиымдарды қолданып, есептерді шығару, және
типтерді қолдану, процедура мен функцияларды қолдану мақсатында жазып
отырмын.
Кіріспе
Алгоритм және бағдарламалау негіздері пәнінен қарастырылып отырған
Бір типті жиымды программалауда қолдану тақырыбы бойынша курстық
жұмысында бір типті жиымның түсінігі, сипатталуы, оның түрлері реттеу
әдістері, амалдар қолдану және мысалдарды талдау Turbo Pascal ортасында
қарастырылған.
Жоғарғы деңгейлі программалау тілдерінің бірі – Паскаль. Оның алғашқы
нұсқасын 70-ші жылдары Швейцария ғалымы Никлаус Вирт жарыққа шығарған
болатын. Қазіргі кезде Паскаль тілінің кеңейтілген ондаған диалектісі бар,
оның ішінде IBM PC-ге үйлесімді дербес компьютерлер жұмыс істей алатын
Turbo Pascal диалектісінің варианттары да жеткілікті.
Turbo Pascal нұсқасын 1983 жылы Borland International Inc(АҚШ)
фирмасының қызметкері Андерсон Хейлсберг жасап шығарды. Ол CP\M операциялық
жүйесіне негізделген. 1984 жылдың басында MS DOS жүйесіне ауысқалы
пайдалану қарқыны өсе түсуде.
І. Жиымдар
1.1 Жиым түсінігі
Программалау кезінде пайдаланылатын айнымалы шамалар қарапайым және
индексті айнымалылар болып екіге бөлінеді. Тек қана қарапайым айнымалыны
пайдаланып есептерді шығару көптеген қиындықтар туғызады, ал кейбір күрделі
есептерді шығару мүмкіндігі болмай да қалады.
Қарапайым типтер қатарына жататын стандартты (integer, real) және
қолданушылар (тізбектелген тип) типтерде бір айнымалыны сақтау үшін,
негізінен компьютер жадының бір ғана ұяшығы қолданылады. Бірақ көптеген
программалау есептерінің шешімін табу барысында әрбір элементтің деректерін
жеке айнымалыға сақтау орнына, олардың тізбектеп бір жерде сақтау анағұрлым
тиімді болып табылады. Компьютердің жадында сандардың бір-бірімен
байланысқан көптеген мәндерін сақтау үшін индексті айнымалылар, яғни
жиымдар қолданылады. Бір типтес берілгендер жиынынан құралып, барлық
элементтеріне бір ортақ атау берілген сипаттаманы жиым деп атаймыз. Жиымдар
құрылымдық тип қатарына жатады.
1.2 Жиымның сипаттамалары
Жиымды сипаттау үшін оның элементтерінің қандай тип екенін және
олардың қалай нөрірленгенін анықтауымыз керек (оның индексінің қай тип
екенін).
Жиым сипаттамалары:
• Типі – жиым элементтерінің жалпы типі;
• Көлемі – жиым индекстерінің саны;
• Шектелімі - әрбір индекстердің шектеу бойынша сәйкестігі;
• Пішімі – көлем және шектеулер жиындары.
Паскаль тілінде жиымды программада қолдану үшін оларды міндетті түрде
арнаулы array (ағылшын тілінен аударғанда – жиым дегенді білдіреді)
операторы арқылы сипаттап жазу керек.
ІІ. Бір типті жиым
2.1 Бір типті жиымның типтер бөлімінде сипатталуы
Жиымды екі түрде сипаттауға болады:
1. Типтер бөлімінде сипаттау үлгісі:
Type
Жиым типінің атауы = array [жиым индексінің аралығы] of элемент типі;
Мысалы:
type
GRUP = array [1..8] of integer;
Мұндағы:
Жиым типінің атауы – жиым элементінің жиынын сипаттайды;
Индекс типі – тізбектелген немесе шектелген типтерді көрсету;
Элемент типі – жиым элементтерінің типін көрсету.
Турбо Паскальда жиым элементтері нөмірленеді. Жиымның әрбір элементіне
индексін көрсету арқылы жұмыс жасау барысында, жиым атауынан кейін міндетті
түрде тік жақшаға алынған индекс көрсетіледі. Индекс ретінде сандар немесе
белгілі бір әріптер қолданылады. Жиымның элементтері индекстері бойынша
ажыратылады. Сондай-ақ массивтің идентификаторы (аты) да жай айнымалылардың
идентификаторы сияқты белгіленеді.
Берілген жиымдардың бірінші элементіне қатынас алу үшін жиым атауынан
кейін бірінші индексті көрсету қажет: А [1]; жиымның екінші элементіне
қатынас алу үшін: А [2]; ал А жиымының сегізінші элементіне: А [8]
көрсетіледі (1 сурет):
А [1] A [2] A [3] A [4] A [5] A
[6] A [7] A [8]
12 11 5 -2 405 -3 9 -7
жиымның жиымның жиымның жиымның жиымның
жиымның жиымның жиымның
бірінші екінші үшінші төртінші
бесінші алтыншы жетінші
сегізінші элементі элементі
элементі элементі элементі элементі
элементі элементі
(1 – сурет)
Берілген жиымдардың кез-келген элементтеріне арифметикалық
операцияларды, салыстыру және меншіктеу операторларын қолдануға болады.
Сонымен қатар, жиымдарды Турбо Паскаль программалау тіліндегі айнымалы
типіне сәйкес келетін барлық стандартты процедуралар және функциялар
қолданылады.
Жиым атауы [индексі]:=нәтиже
Мысалы:
а) А жиымының бірінші элементіне – 12 санын меншіктеу үшін : А
[1]:=12;
ә) А жиымының бесінші элементіне - 405 санын меншіктеу үшін: A
[5]:=405;
б) А жиымының екінші элемент нәтижесін экранға шығару үшін: writeln(A
[2]); (экранға 11 шығады).
в) А жиымының бірінші элементіне нәтижені пернелер тақтасы көмегімен
енгізу үшін: readln (A [1]);
г) А жиымының бірінші және үшінші элементтерінің қосындысын Sum
айнымалысына меншіктеу үшін: Sum:=A [1]+A [3]; (нәтижесінде Sum
айнымалысына 17 саны меншіктеледі.
Типті сипаттау мысалдары:
Type mas = array [1..10] of real;
color = array [byte] of mas;
active = array [menu] of boolean;
Бірінші операторда жиымның 1-ден 10-ға дейін нөмірленетін типі
заттық элементтермен сипатталған. Екінші операторда жиымның элементі mas
типті жиым болады және де олар byte типіне сәйкес 0-ден 255-ке шейін
нөмірленеді. Үшінші мысалда элементтер true немесе false мәндерін қабылдай
алады.
Сонымен, жиымның элементтер типі әртүрлі болуы мүмкін, тек қана
файлдық емес, индекстің типі – интервалдық, тізбектелетін және byte.
Индексті сипаттағанда көбінесе мәліметтердің интервалдық типі қолданылады.
Әдетте жиымды сипаттағанда оның индексінің жоғарғы шекарасы атаулы
тұрақты шама (константа) ретінде беріледі . Мысалы:
const n=6;
type intmas=array [1..n] of integer;
Тапсырмадан кейін массив типі бұл типтің айнымалысы кәдімгі түрде
сипатталады, мысалы:
var a,b:intmas;
Егер талап етілген жиым типі программада тек бір орында қолданылса,
айнымалыларды анықтаған кезде типті сипаттауға болады:
var a,b:array [1..n] of integer;
2.2 Бір типті жиымның айнымалылар бөлімінде сипатталуы
Жиымдарды программада қолдану үшін Турбо Паскаль программалау тілінде
оларды бірден var бөлімінде сипаттау жолы қарастырылған.
2. Айнымалылар бөлімінде жалпы жазылу түрі:
Var
жиым атауы: array [жиым индексінің аралығы] of элемент типі;
var
A:GRUP;
Мысалы, бөлшек сандарға арналған 18 элементтен тұратын GR жиымын
сипаттау:
Var
GR:array [1..18] of real;
Берілген 9 элементтен тұратын А жиыміне бөлшек сандар енгізіп, оларды
дисплей бетіне ретімен шығару программасын қарастырайық:
{$R+}
PROGRAM MASSIV; {Программа атауы}
TYPE {Типтерді сипаттау бөлімі}
MAS=ARRAY[1..9] OF REAL;{Шарт бойынша жиым типі}
VAR {Айнымалаларды сипаттау бөлімі}
A:MAS; {MAS типті А - массив}
I:INTEGER; {Циклді басқару айнымалысы}
BEGIN {Негізгі программа басы}
WRITELN (‘А - жиымның 9 элементін енгіз:’);
FOR I:=1 TO 9 DO {I - бойынша цикл}
READ (A[I]); {A [I] жиыміне нақты сандарды енгізу операторы}
FOR I:=1 TO 9 DO {I – бойынша цикл}
WRITE (‘A [‘,I,’]=’,A [I]);{A [I] жиымының элементін дисплейге шығару
операторы}
END. {Негізгі программа соңы}
Жиымның кез-келген элементтерімен жұмыс істегенде программалау
барысында олардың индекстерінің мәні типтер немесе айнымалылар бөлімінде
сипатталған шектеуден асып кетсе, онда синтаксистік қате тіркеліп, экранда
“Index type is not compatible with declaration” деген сөз тіркестері
шығарылады.
Жиымдар қолданылатын программада “{R+}” директивасын жазу арқылы
жиымдардың шектеулерін тексеруге болады. Егер программада {R+} директивасы
беріліп, жиым индексі шектеуден асып кетсе, онда экранға “Range check
error” сөз тіркесі шығарылады.
Жиымды типтер бөлімінде анықтау программаны оқуды көп жеңілдетеді және
ол программалаудың жақсы тәсілі болып табылады.
Программалауда бір өлшемді жиымдарды қолдану арқылы программаны
ықшамдауға болады.
Мысалы: Шарт бойынша 15 белгісіз айнымалыны енгізу қажет болсын.
Берілген шартты екі жолмен орындайық, яғни бірінші массивті қолданбай және
екінші жолы жиымды қолдану арқылы:
Бірінші жолы:
readln (a1, a2, a36, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15);
Екінші жолы:
for i:=1 to 15 do
readln (a[i]);
Көрсетілген мысалдардың орындалуының бірінші жолында айнымалыларды
енгізу үшін 15 түрлі атау қолданылады. Ал егер шарт бойынша 100 немесе одан
да көп айнымалы енгізілу талап етілсе, онда олардың барлығын тізбектеп жазу
көп уақыт және көп орын алады, сондай-ақ құрылымдық жағынан бұл тиімсіз
болып табылады.
Мысалды орындаудың екінші жолында жиымды қолдану арқылы жинақы түрде
15 элементті енгізу түрі көрсетіледі. Егер шарт бойынша 100 немесе одан да
көп айнымалылар енгізу талап етілсе, онда бұл операция тез жүзеге
асырылатыны анық.
Көрсетілген мысалды қолдана отырып А [15] жиымындағы бүтін сандар
арасынан ең үлкенін анықтайтын программа құру:
PROGRAM PRIM_MIN;
USES CRT;
VAR
A:ARRAY [1..15] OF INTEGER;
I, MIN:INTEGER;
BEGIN
CLRSCR;
WRITELN (‘ жиым элементтерін енгізіңіз–’ );
FOR I:= 1 TO 15 DO
BEGIN
WRITE (‘A [‘,I,’]=’);
READLN (A [I]);
END;
MIN:=A [1];
FOR I:= 1TO 15 DO
IF MIN A[I] THEN MIN:=A [I];
WRITELN (‘MIN=’,MIN);
END.
Берілген программада var бөлімінде А [15] жиымы сипатталған: А:array
[1..15] of integer; - бұл сипаттама А жиымының 15 бүтін сандардан
құралатынын білдіреді.
Программада жиым элементтерін енгізу үшін цикл операторы қолданылған:
FOR I:=1 TO 15 DO – I-ді 1-ден 15-ке дейін өзгертіп орындау;
BEGIN – цикл басы;
WRITE (`A[,I,]=`); “A [I]=” тіркесін экранға бейнелеу;
READLN (A[I]); - жиым элементтерін енгізу;
END; - цикл соңы.
Шарт бойынша ең кіші элементті анықтау үшін min айнымалысына жиымның
бірінші элементі меншіктейміз min:=a [1]. Ал цикл денесінде орналасқан
шартты тексеру операторы арқылы ең кіші элемент анықталады:
FOR I:=1 TO 15 DO
IF MIN A [I] THEN MIN:=A [I];
Табылған элементті экранға шығару:
WRITELN (‘MIN=’);
[CTRL]+[F9] пернелерін басу арқылы берілген программа қорытындысы
шығарылады.
Көп жағдайда жиымның номері (индексі) 1-ден басталады. Бірақ , бұл
міндетті емес. Мәселен мына мысалды алып қарастырайық. Григориандықтардың
күнтізбесі бойынша 1992 жылға дейінгі жер шарының халқына санақ
жүргізілген. Мұны жиым түрінде сипаттасақ, келесі түрде болмақ:
VAR халық саны : ARRAY [1582..1992] OF INTEGER;
Жиымның бүтін, не нақты сандардан тұратын сандық типтерін алдыңғы
мысалдан көріп отырмыз. Сондай-ақ жиым символдық типтерден де тұрады.
Символдық жол – STRING үшін жиым келесі түрде өрнектеледі:
TYPE
STRING : ARRAY [0..255] OF CHAR;
Жиымның номерінің санына қарай қанша элементті жиым екенін байқауға
болады. Алдыңғы мысалда STRING – жиымы 255 элементті болады.
Келесі мысалдарды қарастыратын болсақ, жиым номері тек сол мәндерді
ғана емес, басқа мәндерді де қабылдайтынын төмендегі келтірілген
мысалдардан да көре аламыз.
1. Текстегі латын әріптерін шығару:
VAR :ARRAY [‘A’.. ‘Z’] OF INTEGER;
2. Құрлықтағы бір жылдағы ауаның орташа температурасы:
TYPE құрылық = (Гаити, Таймыр, Ява, Тасмания, Сицилия);
VAR T:ARRAY [құрылық] OF REAL;
3. Келесі адамдардың қайсысының бойы ең ұзын:
TYPE аты = (Қарлығаш, Қадыр, Ақын, Жанар, Бақыт);
VAR Ж : ARRAY [аты] OF (ұл, қыз);
Б : ARRAY [аты] OF 140..240;
Осы мысалдарға қарай отырып, жиымның дұрыс (қатесіз) жазылуын келесі түрде
көрсетуге болады:
VAR M : ARRAY [1..N] OF REAL;
Жыл : ARRAY [қаңтар..желтоқсан] OF INTEGER;
L : ARRAY [Жол] OF BOOLEAN;
M1 : ARRAY [CHAR] OF Шеңбер;
Егер бірнеше жиымдар бірыңғай типті және элементтер саны тең болса,
онда оларды программада бір жолда сипаттауға болады, мысалы:
VAR A, B, C, : ARRAY [1..25] OF REAL;
Мұнда A, B, C – жиымдарының мәндері 25 элементтен тұратын нақты сандар.
A [1], A [2], A [3], ... , A [25],
B [1], B [2], B [3], ... , B [25],
C [1], C [2], C [3], ... , C [25].
3. Жиымдар арасында амалдар қолдану
Паскаль ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz