Программалау тілдері оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011



Pdf көрінісі
бет10/24
Дата03.12.2019
өлшемі1,6 Mb.
#52901
түріПрограмма
1   ...   6   7   8   9   10   11   12   13   ...   24
Байланысты:
Программалау учебник


121
5.15-суретҚосындыны берілген дəлдікпен есептеу алгоритмі:
а – цикл-əзірше нұсқасы бойынша; ə – цикл-дейін нұсқасы бойынша. 
Бақылау сұрақтары
1.  Шарты соңынан тексерілетін цикл дегеніміз не?
2.   Шарты соңынан тексерілетін цикл операторы неше рет орында-
лады?
3.   Шарты соңынан тексерілетін циклдан шығу қалай іске асырыла-
ды?
4.  Шарты соңынан тексерілетін цикл операторының құрылымын 
түсіндіріңіз.
5.  Шарты соңынан тексерілетін цикл операторының орындалу 
ретін түсіндіріңіз.
6.   Шарты соңынан тексерілетін цикл операторының блок-схемасын 
түсіндіріңіз.
7.    Шарты соңынан тексерілетін цикл операторына мысал келтіріңіз.
Тапсырмалар
1. 
3
2
16
43
y
x
x
x
= − +

 
функциясының x [–4;4] аралығында 0,5 
қадаммен өзгергендегі мəнін есептеңіз.

122
2
4,
2
14,
2
,
4
x
x
y
x
x
x
⎧⎪⎪
⎪ −
⎪⎪⎪
=
+

⎨⎪
⎪⎪⎪
⎪⎪⎩


2.  функциясының x [–5;3] аралығында 0,25 қадаммен өзгергендегі 
мəнін есептеңіз.
3.  Пернетақтадан енгізілген n үшін 
n
s
sin
2
sin
1
sin
+
+
+
=

 
қатарының мəнін есептеңіз.
4. 
Пернетақтадан енгізілген x жəне n үшін 
cos
cos cos
cos cos
cos
n
рет
s
x
x
x
x
x
x
=
+

+ +

⋅ ⋅


  
қатарының мəнін есептеңіз.5. Кемпірқосақ доғасының фрагмен-
тін салыңыз.
6.  Пернетақтадан енгізілген n, r жəне c үшін радиусы r, түсі с  n 
дөңгелектер тізбегін салатын программа құрыңыз.
7.  15 əр түсті үшбұрыштардан тұратын экран «диагональын» 
сызыңыз.
8.   Көлемдері бірдей 40 əр түсті тікбұрыштардан тұратын ромб 
суретін салыңыз.
9.   Пернетақтадан енгізілген n үшін, əр түсті қилысқан дөңге лек-
терден тұратын көлемі nxn тор суретін салыңыз.
10.  Көлемдері өсіп отыратын, 36 əр түсті дөңгелектерден тұратын 
шеңбер салыңыз.
басқа жағдайда

123
 6. БАЗАЛЫҚ ҚҰРЫЛЫМДАРДЫ СИПАТТАУ
6.1 Жиымдарды сипаттау. Жиым элементтерін пайдалану
Паскаль тілінде əр айнымалы мен тұрақтының өз типтері 
болады. Мəндер типіне қарап, осы айнымалы немесе тұ рақ тыға 
қолданылатын операциялар жиыны жəне нəтиже типі анық-
талады. Паскаль тілінде стандартты типтер жəне тұты 
нушы 
анық тайтын типтер бар.
Программада қолданылатын барлық айнымалылар, оларды 
си пат тай тын  VAR бөлімінде жариялануы тиіс.
VAR <идентификатор> [,<идентификатор>,…]: <тип>;
          [<идентификатор> [,<идентификатор>,…]<тип>;…]
Мысалы,
         VAR A:INTEGER;
             B,C:REAL;
Бұл мысалда А айнымалысы бүтін, ал В жəне С айнымалыла-
ры нақты тип ретінде сипатталған.
Тип алдын ала типтерді сипаттайтын TYPE бөлімінде 
жарияла нуы да мүмкін. 
TYPE <идентификатор типі> = <тип> ;
Мысалы,
         TYPE I = INTEGER;
         R = REAL;
Бұдан кейін А, В жəне С айнымалыларын төмендегідей түрде 
сипатталады:
                   VAR A: I; 
           B,C: R;
Шектелген бір текті мəндер жиыны реттелген стандартты 
типке (бүтін, байттық, сим вол дық жəне логикалық) жатады. 
Саналатын тип – мəндерді тұрақты ретінде өрнектейтін иден-
тификаторлардың реттелген жиынын анықтайды. Əрбір осындай 
элементке компьютер жадының бір байты бөлінеді. Ол жиымның 

124
(массивтің) индексі ретінде қолданылады да, оның реттік нөмірі 
нөлден басталады. Саналатын типтің жазылуы: 
TYPE <идентификатор типі> = (<идентификатор> 
                                                                  [<идентификатор>,…]);
Аралық (интервалды) тип – белгілі бір айнымалы қабылдай 
алатын оның мəндері жиынының қажетті бөлігін анықтайды. 
Аралық типтің екі шеткі – ең кіші жəне ең үлкен мəні беріледі. 
Əрбір элементке ЭЕМ жадының бір байты бөлінеді. Аралық 
типтің жазылуы:
TYPE <идентификатор типі> = <тұрақты>. .<тұрақты>;
Тұрақты ретінде нақты типтен басқа барлық қарапайым 
типтердің мəні қолданыла береді.
Мысалы,
TYPE GR = (DS101, DS102, DS201, DS202, DS301, 
DS302);
     SPEC = DS101..DS302;
     DIGIT = 0..9;
     VAR A: DIGIT;
     B: SPEC;
     D: 100..200;
Жолдық немесе тіркестік тип ұзындығы 0-ден 255 символға 
дейінгі жолдардан тұратын сөз тіркестерін сипаттау үшін қол-
данылады. Жолдың, яғни сөз тіркестерінің максимальды ұзын-
дығы тік жақша ішіне жазылады. Егер максимальды ұзын 
дық 
берілмеген болса, ол 255-ке тең деп есептеледі. Тіркестік ай-
нымалылар тіркестік тұрақтылар тəрізді компьютер жадында 
сөз тіркестерінің максимальды ұзындығынан қосымша 1 байтқа 
(нөлдік) артық орын алады. Турбо Паскальдің ерекшелігі – 
тіркестік символдардың əрбір элементіне оның нөмірі арқылы 
қол жеткізуге болады. 
TYPE <идентификатор типі> = String [<максимальды 
ұзындық>];
Мысалы,
TYPE TSTRING = STRING[100];
           TS = STRING;

125
      VAR  S,S1: TSTRING; 
     S2: STRING[20];
     SS: TS;
Жиым (массив) – қасиеттері бірдей, бір типті айныма лылардың 
реттелген жиыны. Жиым элементтері ішіндегі реттік қатынас 
индекс арқылы беріледі. Əр элементке бір немесе бірнеше индекс 
тағайын далады. Егер əр элементке бір индекстен берілсе, онда 
бұл бір өлшемді жиым (вектор) болып саналады. Ал, екі индекс 
берілсе – екі өлшемді жиым (матрица) болады да, мұнда бірінші 
индекс элемент орналасқан жол нөмірін, ал екіншісі бағана 
нөмірін көрсетеді.  
TYPE <идентификатор типі> = ARRAY [<индекстер типі тізімі>] 
                                                                      OF <тип>;
<индекс типі> :: = <қарапайым тип>
<қарапайым тип>:: = <идентификатор типі>|<иденти фи -
ка тор> [,<идентификатор>] | <тұрақты>. .<тұрақты>
Индекс ретінде нақты типтен басқа кез келген қарапайым тип 
қолданыла алады. Мұнда көбінесе бүтін типтің аралық мəндері 
жиі қолданылады.
Мысалы,
         TYPE T1 = ARRAY [-10..20,1..30] OF 
BYTE;
              T2 = ARRAY [0..50] OF BOOLEAN;
              T3 = ARRAY [BYTE] OF INTEGER;
         VAR A,B: T1;
             C: T2;
             Z: ARRAY[1..100] OF REAL;
            MAS: T3;  
Бұл мысалдың типтерді сипаттау бөлімінде жиымның үш 
түрі келтірілген. T1 – жол нөмірі – 10-нан 20-ға дейін, ал бағана 
нөмірі 1-ден 30-ға дейін өзгеретін екі өлшемді жиым. T1 жиымы 
элементтерінің типі – 0-ден 255-ке дейінгі таңбасыз бүтін сандар. 
T2 – бір өлшемді жиым, элемент нөмірі 0-ден 50-ге дейін өзгеретін 
логикалық тип. T3 – бір өлшемді жиым, элементтері 0-ден 255-ке 
дейінгі таңбалы бүтін сандар. 
Айнымалыларды сипаттау бөлімінде А жəне В айнымалысы 
T1 типті, С – Т2 типті, MAS – Т3 типті ретінде сипатталған. Типті 
алдын ала сипаттаудан басқа, жиымды Z айнымалысы сияқты 
айнымалы ларды сипаттау бөлімінде де жариялауға болады. 

126
Жиым элементтерін олардың индекстері арқылы пайдалануға 
болады. Айнымалыдағы индекстер саны элементтер санына тең. 
Ин декс тер бүтін сан, қарапайым айнымалы, арифметикалық өрнек 
ретінде берілуі мүмкін. Егер екі жиымның сипаттамалары бірдей 
болса, оларды В:=А меншіктеуі арқылы теңестіріп, көшірмесін 
алуға мүмкіндік бар.
Мысалы,
         ... 
         S:= S + Z[I];
         P:= P * A[I][J];
         C[6]:= TRUE;
         P:= P * A[I,J];
         R:= B[I+5,J];
         MAS[I]:= MAS[I-1] * MAS[I];
         ...
Жиымды сипаттаудың түрлі тəсілдерін қарастырайық.
10 жол жəне 50 бағанадан тұратын бүтін типті A матрицасын 
сипаттау керек.
1) CONST N = 10;
        M = 50; 
TYPE   TMATR = ARRAY[1..N, 1..M] OF INTEGER;
VAR   A: TMATR;
2) TYPE  TSTR = ARRAY [1..50] OF INTEGER;
      TMATR = ARRAY [1..10] OF TSTR;
VAR A: TMATR;
3) VAR A:ARRAY[1..10,1..50] OF INTEGER;
4) VAR  A:ARRAY[1..10]OF ARRAY[1..50]OF INTEGER;        
Көп жағдайларда кесте, мəтін, жиым жəне т.с.с. біртипті мəлі-
мет терді өңдеуге тура келеді. Мұндай мəліметтерді сипаттау 
үшін құрылымдық мəндер типі қолданылады. Турбо Паскальда 
төмендегі дей құрылымдық мəндер типтері (6.1 сурет) бар:
• жиымдар — біртипті немесе кестелік мəліметтерді сипаттау 
үшін; 
• жолдар – сиволдық (мəтіндік) мəліметтерді сипаттау үшін; 
• жиындар – абстрактілі математикалық жиындарды сипаттау 
үшін; 

127
• жазбалар – əр түрлі типтегі кестелік мəліметтерді сипаттау 
үшін;
• файлдар – бір типте тізбектеле жазылған мəліметтер жиыны. 
6.1-сурет. Типтер құрамы
Жиымдар
Индекс типі оның мүмкін мəнін анықтайды. Индекс типі 
ретінде longint жəне оның туынды титерінен басқа кез келген рет-
телген тип (boolean, char, integer, саналатын тип, сонымен бірге 
осы типтер диапазоны) көрсетілуі мүмкін.
Индекс типінің санына байланысты бір, екі жəне n өлшемді 
жиымдар болады. Екі өлшемді жымдар матрица деп аталады 
жəне бірінші индекс жол нөмірін, екінші индекс бағана нөмірін 
көрсетеді. 
6.2-сурет. Жиымдар типін анықтаудың синтаксистік диаграммасы
Паскаль тіліндегі жиым элементтерінің типі файлдан басқа 
кез келген тип бола алады. Жиым түріндегі айнымалыны сипат-
тау екі тəсілмен іске асырылады:

128
•  айнымалыларды сипаттау бөлігінде, мысалы:
Var a:array[1..10] of integer;
 { 10 бүтін сан-
нан тұратын жиым}
     b:array[byte] of char; {256 символдан 
тұратын жиым, жиым индексі 0-ден 255-ке дейін 
өзгереді}
     c:array['A'..'C',-5..-3] of byte; {9 сан-
нан тұратын матрица}
     d:array['A'..'C'] of array [-5..-3] 
of byte;
 {құрылымы бойынша алдыңғы матрицаға 
эквивалентті 9 саннан тұратын матрица} 
•  типін алдын ала сипаттау, мысалы:
Type mas=array[1..10] of integer;
 { типті 
сипаттаймыз}
Var a:mas;
 {айнымалыны сипаттаймыз} 
Турбо Паскальда индекс санына шектеу жоқ. Алайда бір про-
граммада қолданылатын индекстердің барлығының саны 65537 
байттан аспауы керек.
Программадағы жиым элементтерін үш тəсілмен сипаттауға 
болады. Біріншіден, жиым типтік тұрақтылар немесе элемент-
терге мəн беру арқылы иницализациялануы мүмкін. Екіншіден, 
жиым элемент тері пернетақтадан немесе файлдан енгізуге бо-
лады. Үшіншіден, жиым элементтерін программада былай 
анықтауға: 
• кездейсоқ сандар генераторы арқылы; 
• берілген бойынша жəне басқа жиымнан көшіруге болады. 
Жиымдарды инициализациялау. Инициализацияланатын 
(мəн дер  берілетін)  жиым дар ды  сипаттау үшін Турбо Паскаль-
да типтелген тұрақтылар қолданы 
лады. Сəйкес мəндер жақша 
ішінде, үтір арқылы ажыратылып көрсетіледі. Көп өлшемді жиым 
элементтері солдан оңға қарай индек сі нің өсу реті бойынша жа-
зылады. Əр ішкі жиым жеке жақшаға алынады. Матрица мəндері 
бір жолда реттеліп жазылады. Мысалы:
Const a:array[1..5] of real = (0,-
3.6,7.8,3.789,5.0);
b:array[boolean, 1..5,] of real = ((0,-3.6,7.8, 
3.789,5.0),(6.1,0,-4.56,8.9,3.0));
{жиым төмендегідей инициализацияланады:

129
b
false,1
=0, b
false,2
=-3.6, b
false,3
=7.8, ..., b
true,1
=6.1,т.с.с.}
c:array[1..3,0..1,-2..1] of byte = (((3,6,9,6)
,(0,4,3,9)),((5,7,3,1),(45,8,0,2)),((5,9,2,3), 
(1,5,8,4)));
 ... 
Жиымдармен орындалатын операциялар. Жиымдармен 
тек меншіктеу операция сын орындау ғана анықталған.
Меншіктеу – бір жиым элементтерін екінші жиымға көшіру. 
Бұл операцияны тек бір типтес жиымдармен орындауға блады.
Егер жиымдар бір жолда үтір арқылы сипатталса, олар біртип-
тес болып саналады. Мысалы:
Var a,b:array[boolean] of real;
... a:=b; ... 
немесе, егер бастапқыда жиым типі анықталып, сонан кейін 
осы типте гі жиымдар анықталса:
Type 
mas=array[boolean] of real;
Const a:mas=(3.6,-5.1);
Var b:mas;
... b:=a; ... 
Жиым элементтерін пайдалану – жиым элементтерімен 
орын 
да 
латын іс-əрекеттерді орындау болып саналады. Жиым-
ның белгілі бір элементін пайдалану үшін жиым атын жəне тік 
жақша ішіне үтір арқылы ажырата отырып, жиым элементтерінің 
индекстерін көрсету керек, мысалы:
Var a:array[char,boolean] of real;
 {матрицаны 
жариялаймыз}
... 
a[‘A’,true]:=5.1; ...
 {мəнді a
A,true 
элементіне 
меншіктейміз} 
Индекс мəнінің нақты нөмірін тікелей, мысалы а[3] немесе 
жанамалы түрде, айны 
ма 
лының мəні орналасқан идентифи-
каторды көрсету арқылы, мысалы, a[i] деп жазуға болады.
Индексті жанамалы түрде көрсету – жиым элементтерін тізбек-
теп өңдеуге мүмкіндік береді. Индекстің өзгеру аралығы жиымды 
жариялау кезінде белгілі болғандықтан, қайталану саны белгілі 
циклді қолдануға болады. Цикл параметрі ретінде жиымның 
жанамалы түрде берілген индекстік айнымалысы қолданылады. 
Мысалы:
9–1618

130
Var a:array[1..6] of integer; ...
for i:=1 to 6 do a[i]:=i; ...
 { i=1 болғанда a
1
-ге 1 
меншіктеледі, i=2 болғанда a
2
-ге 2 меншіктеледі, i=3 болғанда 
a
3
-ке 3 меншіктеледі жəне т.с.с.} 
Жиымдардың жанамалы адресіне қажет айнымалылар саны 
жиым мөлшеріне сəйкес келеді. Матрицамен жұмыс жасағанда 
индекстерді сақтау үшін, екі айнымалы қажет: бірі – жол нөмірін 
сақтау үшін, екіншісі – бағана нөмірі үшін.
Ескерту. Көп өлшемді жиымдардан оның ішкі бір жолын, 
яғни ішкі бөлігін ерекшелеп алуға болады. Ол үшін жиымның оң 
жақ шеткі индекстерін алып тастап, тек жолды – ішкі жиымды 
анықтайтын сол жақтағы индексті қалдыру керек. Осылай 
матрицаның тек бір жолын бөліп алуға болады. Мысалы:
Type mas=array[boolean] of real;
 {екі нақты    
 
 
 
 
 
    саннан тұратын жиым}
Const
a:array[1..2] of mas=((2.6,-5.1),(7.0,-4.2))

{төрт нақты саннан тұратын матрица}
Var b:mas;
Begin b:=a{1}; ...
 {b жиымына a матрицасының бірінші 
жолы көшіріледі} 
Жиымдарды енгізу-шығару. Жиымдарды енгізу-шығару 
қайталану саны белгілі параметрлі цикл көмегімен жеке-жеке 
элементтерді енгізу-шығару арқылы орындалады. Мысалы:
Var a:array[1..5] of real$
Begin
for i:=1 to 5 do Read(a[i]);
 {жиымды енгіземіз }
ReadLn;
 { мəндер жаңа жолдан енгізілу үшін буферді 
тазалаймыз } 
Жиым элементтерінің мəні цикл арқылы рет-ретімен енгі зі-
леді. Мысалы, жоғарыда көрсетілген цикл үшін жиым эле мент-
тері: a
1
, a
2
, а
3
, а
4
, а
5
 түрінде енгізіледі (6.3-сурет). Бұл мəндерді бос 
орын арқылы бір-бірінен бөле отырып бір жолға жазып немесе 
əр элемент мəнінен кейін Enter пернесін басып енгізуге болады.

131
6.3-сурет. Жиым элементтерін циклде енгізу 
Көлемі үлкен матрицаны немесе бір өлшемді жиымдар эле-
менттерін жеке-жеке жолдармен енгізіп шығарған ыңғайлы.
Мысалы:
Var a:array[1..5, 1..7] of real;
 {5 жол, əр жолда 7 
                                        элементі бар матрица}
Begin
 for i:=1 to 5 do
 {a
1
, a
2
, a
3
, a
4
, a
5
 жиымының жолдарын
                        енгізетін цикл}
     for j:=1 to 7 do {i -ші жолдың элементтерін 
                              енгізетін цикл:}
         Read(a[i,j]); {a
i,1
, a
i,2
, a
i,3
, a
i,4
, a
i,5
, a
i,6
, a
i,7
}
     ReadLn; {енгізу буферін тазалау}
end; ... 
6.1-мысал. А(5) жиымының ең үлкен элементін жəне оның 
нөмірін анықтайтын программа жазыңыз.
Алдымен жиым элементтерін енгізу керек. Бұл операцияны 
орындау үшін қайталау саны белгілі циклді қолданымыз.
Ең үлкен элементті табу үшін: алдымен жиымның бірінші 
элементін ең үлкен элемент ретінде аmах айнымалысына мен-
шіктейміз де, осы элементтің нөмірін imax деп белгілейміз. 
Содан кейін жиым элементтерін жеке-жеке аmах айнымалы-
сының мəнімен салыстырып шығамыз. Егер салыстырып отыр-
ған элемент аmах айнымалысының мəнінен үлкен болса, оны 
ең үлкен элемент ретінде аmах айнымалысында меншіктейміз. 
Элемент нөмірін imax айнымалысына жазамыз (6.4-сурет). 

132
Жиым элементтерін тізбектеп қарап шығу үшін қайталану саны 
белгілі циклді пайдаланамыз. Цикл параметрі 2-ден 5-ке дейін 
өзгереді, себебі бірінші элементті біз ең үлкен элемент ретінде 
алдық. Барлық элементтерді қарап шығып, біз жиымның ең үлкен 
элементін жəне оның нөмірін анықтаймыз. Бұдан кейін экранға 
бастапқы жиымды жəне оның ең үлкен элементі мен оның нөмірін 
шығару керек.
6.4-суретте программа алгоритмінің схемасы берілген. Жиым 
элементтерін енгізу-шығару операциялары ұқсас екендігі ал-
горитм схемасында параметрлі цикл (модификатор) блогынан 
байқалып тұр. 
Төменде программа мəтіні келтірілген.
Program ex; 
Var a:array[1..5] of real; 
  amax:real; i,imax:byte; 
Begin
 {Жиым элементтерін енгізуге сұраныс} 
 WriteLn(‘5 сан енгізіңіз:’); {жиым элементтерін 
енгізу} 
 for i:=1 to 5 do Read(a[i]); 
 ReadLn;
 {жиымның ең үлкен элементін іздеу} 
 amax:=a[1]; imax:=1; 
 for i:=2 to 5 do 
  if a[i]>amax then 
   begin 
    amax:=a[i]; 
    imax:=i; 
   end;
 
   {жиымды шығару
 WriteLn(‘Бастапқы мəндер:’); 
 for i:=1 to 5 do Write(a[i]:5:2); 
 WriteLn; 
 {нəтижені шығару
  WriteLn(‘Ең үлкен элемент= ‘,amax:5:2,’, 
оның 
     нөмірі= ‘,imax); 
End. 

133
6.4-сурет. Жиым элементтерінің ең үлкенін табу 
 Бақылау сұрақтар
1.  Қандай мəндер типтерін білесіз?
2.  Мəндердің қарапайым типтерін атап, оларға мысал келтіріңіз.
3.  Мəндердің күрделі типтерін атаңыз.
4.  Жиым доегеніміз не?
5.   Жиым элементі де п нені атайды?

134
6.   Жиым элементінің индексі дегеніміз не?
7.   Жиымда неше элемент болуы мүмкін?
8.   Жиымның бір элементінде неше индекс болуы мүмкін?
9.   Жиым элементтерінің типі қандай болуы мүмкін?
10.  Жиым элементтерінің индекстерінің типі қандай болуы керек?
Тапсырмалар
1.   Он элементтен тұратын бірөлшемді жиым берілген. Алдымен 
жиым элементтерін пернетақтадан енгізіп, олардың оң эле-
менттерінің жəне теріс элементтерінің қосындысын жеке-жеке 
есептеп экранға шығаратын программа құрыңыз.
2.   25 элементтен тұратын бірөлшемді жиым берілген. Перне тақ-
тадан енгізілген а санының осы жиымда бар екендігін тексеріп, 
экранға мəлімет шығаратын программа құрыңыз.
3.   25 элементтен тұратын бірөлшемді жиым берілген. Жиымның оң 
элементтерінің санын анықтайтын программа құрыңыз.
4.   20 элементтен тұратын бірөлшемді жиым берілген. Жиымдағы 
оң жəне теріс элемнттердің санын анықтап, экранға мəлімет 
шығаратын программа құрыңыз.
5.  15 элементтен тұратын бірөлшемді жиым берілген. Жиым эле-
менттерінің арифметикалық ортасын анықтайтын программа 
құрыңыз.
6.  20 элементтен тұратын бірөлшемді жиым берілген. Жиымның 
ең үлкен элементін жəне оның индексін анықтайтын программа 
құрыңыз.
7.  30 элементтен тұратын бірөлшемді жиым берілген. Жиым эле-
менттерін кері ретпен индекстерін көрсетіп экранға шыға ратын 
программа құрыңыз.
8.   20 элементтен тұратын бірөлшемді жиым берілген. Жиымның 
жұп жəне тақ элементтерінің арифметикалық ортасын есептеп, 
экранға шығаратын программа құрыңыз.
9.   20 элементтен тұратын бірөлшемді жиым берілген. Жиымдағы 
оң топтар санын (оң топ дегеніміз, кем дегенде екі қатар орна-
ласқан оң сан) анықтайтын программа құрыңыз.
6.2 Жиын типін анықтау. Жиындардың қасиеттері. 
Жиындармен орындалатын операциялар
Қарапайым типтегі (нақты типтен басқасы) біртиптес мə-
лімет терді жиынға (set) біріктіруге болады.
Жалпы алғанда, жиынды төмендегідей етіп сипаттауға бола-
ды:

135
TYPE <идентификатор типі>= SET OF <компонент типі>;    
Жиындағы компонент типі (базалық тип) – аралық неме-
се саналатын тип болып табылады. Жиын типіндегі айнымалы 
мəндері оның компоненттерін үтірмен бөле отырып, тік жақша 
ішінде жазы лады.
 Мысалы,
    TYPE INTERVAL= 5..10;
         MN=SET OF INTERVAL;
    VAR  PR:MN;
                   
PR айнымалысы төмендегі мəндерді қабылдай алады:
[5,6,7,8,9,10], [5], [6],…, [5,6], [5,7],…, [6,7,8],…, [ ],
мұндағы [ ] – бос жиын, себебі бұнда базалық типті көрсететін 
өрнек жоқ. Бос жиын жиындардың барлық типімен үйлесе береді.
Турбо Паскаль тілінде жиындарға төмендегідей шектеулер 
қойылады:
• Жиын элементтерінің саны 256-дан аспауы керек.
•  Жиын элементтері тек қарапайым типтегі (нақты типтен 
басқа) мəндер бола алады.
• Жиын құрамына кіретін элементтер алдын ала анықталуы 
тиіс.
• Жиын элементтері кез келген ретпен жазылуы мүмкін.
Жиын – қазіргі математиканың негізгі ұғымдарының бірі. 
Ол қайталанбайтын объектілердің реттелмеген жиыны деген 
мағынаны береді. Жалпы жағдайда, жиында бірде бір элемент 
болмауы да мүмкін. Мұндай жиын бос жиын деп аталады. 
Турбо Паскаль тілінде жиындарды сипаттауға арналған құ-
рылымдық тип бар. Жиын типіндегі мəліметтер, өзара бай-
ланысқан біртипті элементтер тобынан тұрады. Элементтер 
арасындағы байла нысты тек программа жасаушы ғана анықтай 
алады жəне ол бақылан байды.
Жиындық тип кез келген бір базалық типтегі элементтер тобы 
ретінде жарияланады (6.5-сурет). Ол элементтерінің саны 0-ден 
255-ке дейінгі аралығынан аспайтын, шекті жиындар түрінде си-
патталады.

Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   ...   24




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет