Аралас типтер. Иерархиялық жазбалар
Аралас типтер.Иерархиялық жазбалар
ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТІРЛІГІ
ШЫҒЫС ҚАЗАҚСТАН ОБЛЫСЫ ӘКІМДІГІНІҢ БІЛІМ БАСҚАРМАСЫ
КМҚК «БИЗНЕС КОЛЛЕДЖІ»
Курстық жоба
Пән: Алгоритм және бағдарламалау негіздері
Тақырыбы: «Аралас типтер. Иерархиялық жазбалар.»
Тексерген оқытушы: Мусаинова Н.Б.
КМҚК «Бизнес колледж»
«Алгоритм және бағдарламалау негіздері» пәнінен курстық жобаға
Тапсырма
Студент Қажкенова Жұпар Қайрлықызы
Топ 33 прог, мамандығы
«1304000» Есептеу техникасы
Консультант Мусаинова Н.Б
- Курстық жобаның тақырыбы «Аралас типтер.Иерархиялық жазбалар»
- Мазмұны
- Кіріспе
- Негізгі бөлім
- Қорытынды
- Қосымша
- Пайдаланған әдебиттер
- Рәсімдеуге қойылатын талаптар
- Анықтама хат 2003, 2007 нұсқаларында MS Word мәтіндік редакторында, А4 форматтағы қағазда жазылып, баспаға шығарылады.
Шрифт Times New Roman, өлшемі 14 пт, енімен түзету.
Суреттер Word, Excel, Paintbrush редакторларында салынады.
Бет өлшемі жоғарғы және төменгі шек аралар – 2 см, сол жақтан 3 см оң жақтан 1,5 см.
Мәтіндегі жаңа сөйлем 1 см ара қашықтықтан басталады.
Анықтама хаттың әр бөлімі жаңа беттен басталады.
Бөлімдер мен бөлімшелердің тақырыпшалары болу керек.
Тақырыпшалар бөлімдер мен бөлімшелердің мазмұнын анық көрсету керек.
Тақырыпшалар жазбаша түрде нүкте қойылмай жазылу керек.
Тақырыпшаны бөліп жазуға болмайды. Егер тақырыпша екі сөйлемнен тұрса оны нүкте арқылы бөледі.
Курстық жобаны қорғауда негізгі мазмұны бар презентация құрылады.
3.2. Анықтама хатта келесі бөлімдері
- Мәліметтердің күрделі типтері
- Жазбалар
Берілген күні ___________ Аяқталған күні ________
Жетекшісі Мусаинова Н.Б
Мазмұны:
Курстық жобаның тапсырмасы
I. Кіріспе
II. Мәліметтердің күрделі
типтері
2.1 Жиымдар (массивтер)
2.2. Көп өлшемді жиымдар
2.3 Жиындар
2.4 Жазбалар
2.5 Жалғастыру операторы WITH
ІІІ. Қорытынды
IV. Пайдаланылған әдебиеттер
V. Қосымша
I. Кіріспе
Айнымалы типтер
Мәліметтердің айнымалы типтері стандартты типтерден өзгеше болып келеді. Мәліметтердің әртүрлі типтері үшін амалдар қолдануға болады. Мысалы, нақты сандар үшін + ,- ,* ,/ амалдарын орындағанымызбен, оларға DIV (бөлінді табу), MOD (бүтін санды бүтін санға бөлгендегі қалдыкты табу) амалдарын қолдану мүмкін емес. Мәліметтердің жаңа типін құру бір жағынан амалдарды орындау жолдарын жеңілдетсе, екінші жағынан қате жібермеуге мүмкіндік береді. Сонымен, мәліметтердің стандартты типтерінен өзге жаңа айнымалы типтерді құруға болады. Мәліметтердің бұл типтеріне саналатын және шектелген типтер жатады.
Мәліметтердің саналатын типтері.
Қабылдай алатын мәндерінің реттелген тізімі арқылы берілетін тип саналатын тип болып есептеледі.Бұл типті сипаттау оның мүмкін мәндерінің идентификатор түріндегі тізімін берумен анықталады. Ол идентификаторларға кіретін әрбір атау тұрақты болып саналады да, бір - бірінен үтірлермен бөлініп, жалпы атаулар тізімі жай жақшаға алынады. Тізімдегі алғашқы тұрақтының нөмірі -0, келесінің нөмірі - 1, ары карай 2, 3, т.с.с. болып біртіндеп өciп отырады. Осылай анықталатын саналатын типті әркім шығарылатын есептің түріне байланысты өздері сипаттай алады.
Оның жазылу форматы:
TYPE <тип атауы> = (<1~мән, 2-мән,..n - мән>);
VAR Идентификатор,... > : <тип атауы>;
Саналатын типтің синтаксистік диаграммасы былай өрнектеледі.
1-сурет. Саналатын типтің диаграммасы
Мәліметтердің шектелген типі.
Егер айнымалы сипаттау бөлімінде көрсетілген мәндердің белгілі бір аралығын ғана қабылдайтын болса, онда оны шектелген munmi айнымалы немесе аралық (интервалды) munmeгi айнымалы деп айтады. Мұндай типтегі айнымалының алғашқы және соңғы мәндері нүктелермен бөлiнiп тұрақты түрінде көрсетіледі де, ол екеуі де бір стандартты типте (real типін қолдануға болмайды) болып, міндетті түрде алғашқы мән соңғы мәннен кіші болуы керек.
Оның жазылу форматы:
TYPE <тип аты> - <1-тұрақты.. 2-тұрақты>;
VAR Идентификатор, ...> : <тип аты>;
Шектелген типтің синтаксистік диаграммасы былай өрнектеледі:
Шектелген типтің синтаксистік диаграммасы
Сонымен, шектелген типті пайдалануда төмендегі заңдылықтар орындалуы тиіс:
Шектеуші eкі тұрақтының типі бірдей болуы қажет.
Негізгі айнымалы нақаты REAL типінен басқа төмендегідей қарапайым типтің бipi бола алады:
бүтін тип - INDEX = 0..63;
символдық тип - LETTER = ‘A’… ‘Z’;
саналатын тип- күз — сентябрь., қараша;
Шектелген типтегі алғашқы тұрақтының мәні соңғысының мәнінен артық болмауы қажет.
Шектелген типтің айнымалылары типтер немесе айнымалылар бөлігінде міндетті түрде сипатталуы керек.
II. Мәліметтердің күрделі типтері
2.1 Жиымдар (массивтер)
Паскаль тілінде мәліметтер қарапайым және күрделі типтерге жіктеледі. Қарапайым типтерге - стандартты, саналатын және шектелген типтегі мәліметтер, ал күрделі типтерге жиымдар (массивтер), жиындар (множества) жазбалар (записи) және файлдар жатады. Күрделі типтің элементтерінің қарапайым немесе күрделі типте болуы мүмкін.
Тұрмыста тізбектелген сандарды, кестелердің реттелген жолдарын, фамилия тізімдерін көп пайдаланамыз, олар бip өлшемді (жатық немесе тік жол) немесе екі өлшемді (матрица) жиым элементтері болуы мүмкін.
Паскаль тілінде қарапайым
Жиым деп бip атаумен белгіленіп, реттеліп біріктірілген мәліметтер тобын айтамыз. Мысалы, нақты сандардан құрылған төмендегі тізбекті
1.6,14.9, -5,0, 8-5,0.46,2.25, -9.85,6.27, 5.7, -3.2
бір өлшемді жиым деп, оған А деп атау беруге болады. Жиымның әр элементі жиымның атымен белгіленеді де,тік жақша ішінe оның индексі қойылады, яғни жиым элементтері индекстері бойынша peттeлiп жазылады. Математикада жиым вектор түрінде көрсетіледі де, A1, А2,Аn немесе жалпы түрде A1, i=l, 2,n болып өрнектеледі. Жоғарыдағы жиымда А[1]=1.6, А[2]=14.9 және т.с.с. А[10]=-3.2 тәрізді мәндер қабылдайды. Жиымның кез келген элементін оның реттелген нөмерін ,яғни индексін көрсету жолымен пайдалана аламыз. Индекстер нақты типтен басқа кез келген скалярлы (реттелген) тұрақты немесе өрнек күйінде бола береді. Жиым элементтерінің саны оның индексінің мәнімен және олардың өзгеру аралығымен анықталады. Жиымды сипаттау array of сөз тіркесі қолданылады.
Оның жазылу форматы:
type <тип аты> = array [индекс типі] of <элемент типі>;
var <идентификатор, ...>: <тип аты>;
мұндағы array /жиым/ of /-дан, -ден, -тан, -тен/ — түйінді сөздер, [индекс типі] - real, integer базалық типтерінен өзге кез келген стандартты тип, яғни индекстің типі ретінде шектелген, саналатын, логикалық және литерлік типтер пайдаланылады. <элемент типі> - құраушылар (элементтер) типі, яғни Паскаль тілінде пайдалануға болатын жиым элементтерінің типі.
Бұдан программада жиым пайдаланылатын болса, онда ол VAR айнымалы бөлмінде немесе TYPE тип бөлiгiндe сипатталуы қажет eкені көрінеді. TYPE бөлiгiндe жиымның типі көрсетіледі де, одан соң айнымалы VAR бөлігінде осы типке жататын жиымдар көрсетіледі. Жиымды TYPE бөлiгiндe сипаттау программа көлемін үлкейтеді, бірақ программаны тез түзетуді, онда көп қате жібермеуді қамтамасыз ете алады.
Жиымның синтаксистік диаграммасы былай кесінделеді
5.3-сурет. Жиымның синтаксистік диаграммасы
Мысалы, программада нақты 40 элементтен тұратын А жиымы пайдаланылатын болса, онда оны тип бөлігінде былай сипаттайды:
type m= array [1..40] of real;
var a,b,c,d: m;
Бұның артықшылық жері - программадағы типі m болатын бірнеше жиым бip ғана жолмен ыңғайлы түрде сипатталып тұр.
Жиым типтер бөлігінде көрсетілмей, бірден айнымалылар бөлігінде былай анықтала береді:
Var <идентификатор, ..> : array [индекс типі] of [элемент типі];
Мысалдар:
type
Klass = (Kl, К2, КЗ, К4); Znak = array [1 ..255] of char;
Var
Ml : Znak; { Znak типi типтер бөлігінде анықталған}
M2 : array [1..60] of integer;
{ M2 жиымын тікелей сипаттау}
МЗ : array [1..4] of Klass;
Mas : array [1..4] of integer;
Lit: array [char] of real;
Ogr: array[5.. 15] og char;
Bol: array[boolean] of integer;
A: array[1..5] of real;
Aj : array [январь..., декабрь ] of integer;
Индекс типі стандартты, бүтін немесе нақты бола алмайды. Сондықтан, сипаттауды былай жазуға болмайды:
VAR А : ARRAY[5] OF REAL;
немесе
VAR А : ARRAY[INTEGER] OF REAL;
Егер бірнеше жиым бірдей базалық және индексік типте болса, онда оларды жиым ретінде сипаттағанда үтip арқылы бөліп жазуға болады:
VAR А,В,С : ARRAY [1 ..10] of REAL;
Мұнда А,В,С - жиымдар, олар нақты типтегі 10 саннан (элементтен) тұрады.
Программада "индекс" және "индекстің типі" ұғымдарын шатастыруға болмайды. Индекс типі жиымды сипаттағанда пайдаланылса, индекс жиым элементтерін белгілеу үшін операторлық бөлікте пайдаланылады.Индексті сипаттағанда қандай тип берілсе, индекс сол типте ғана болуы қажет. Индекс өрнек, айнымалы немесе тұрақты түрлерінде берілуі мүмкін.
Сондықтан да көбінесе жиымдарды индексті айнымалылар деп те атайды. Ал индекссіз айнымалыларды жиымдардан ажырату үшін қарапайым айнымалылар дейді. Базалық типтегі айнымалыларға қандай амалдар қолданылса, жиым элементтеріне де сондай амалдарды қолдануға болады. Мысалы, программаның операторлық бөлігінде жиым элементтері үшін мынадай өрнектер жазуға болады:
А[3]:=С[4]+5;
S:=S+X[K]
Р:=Х[3*1+1];
Егер жиым атауында бip ғана индекс болса, онда ол жиымды бip өлшемді, ал екі индекс болса - екі өлшeмдi және т.с.с.n индекс болса, n өлшемді жиым дейді.Бip өлшемді жиым вектор элементтері, ал eкi өлшемді жиым матрица болып табылады.
Осы айтылғандарға сәйкес жиым элементтері былай белгіленеді: A[i], B[i,j], C[i,j,k] және т.с.с. Мұндағы A[i] бip өлшемді жиымның i-шi элементі, оны математикада аі түрінде белгілейді, B[i,j] eкi өлшемді жиымның (кестенің) i- жолы мен j-бағанасының қиылысында орналасқан элементті белгілейді; ал C[i,j,k] үш өлшемді жиым, оның элементін кеңістікте орналасқан нүкте координаталары (i j,k) деп қарауға болады.
Егер көп өлшемді жиым құрар кезде базалық тип ретінде басқа жиым алынса, онда сипаттау бөлігі былай жазылады:
type vector = array[1. .4] of integer;
massiv = array[1..4] of vector;
var matr: massiv;
Мұнда massiv жэне matr жиымдары екі өлшемді, яғни massiv4,4, matr4,4 - олар 4 жол және 4 бағанадан тұратын кесте элeмeнттepiн бейнелейді. Жиым элементтері компьютер жадында тізбектеле орналасады. Төменгі индексті жиым элементі кіші адрестерде, жоғарғы индекстердегі элементтер жоғарға адрестерде сақталады. Көп өлшемді жиымдардың оң жақ шеткі индекстері бірінші болып өciп отырады. Мысалы, A: array[1..5,1..5] of integer жиымы берілсе, ол компьютер жадында адрестерінің өсуі бойынша былай орналасады:
А[1,1]
А[1,2]
…
А[1,5]
А[2,1]
А[2,2]
…
А[5,5]
Мәселен, бізде үш топ бар екен дейік: а, ә және б топ. Топ студенттерінің бес сабақтан алған орташа бағалары төмендегі кесте түрінде көрсетілген.
Сабақ аттары |
I- топ |
2- топ |
3- топ | |
1 |
Информатика |
4,1 |
4,7 |
4,2 |
2 |
Математика |
4,4 |
4,3 |
4,0 |
3 |
Экономика |
4,5 |
4,6 |
4,7 |
4 |
Қазақ тілі |
4,2 |
4,0 |
3,9 |
5 |
Орыс тілі |
4,3 |
4,5 |
4,6 |
Егер қарастырылатын жиымның аты В болса, онда оны былай жазады:
4,1 4,7 4,2
4,4 4,3 4
В= 4,5 4,6 4,7
4,2 4,0 3,9
мұндағы цифрлар В
жиымының құраушылары немесе элементтері деп аталады. Олар да сол атаумен белгіленіп, оның төменгі шетіне элементтің орналасқан орындары көрсетіледі
Алгоритмдік тілдерде өрнектер тек сызықты (бір жол бойында) түрде жазылатын болғандықтан индекстер Паскаль тілінде жиым атауынан соң тік жақша ішіне үтір арқылы бөлініп жазылады, яғни: B[i, j]. Паскаль тілінде жиым элементтерін басқаша да белгілеуге болады, мысалы, b[i] [j]. Паскаль тілінде жазылған программада жиымды пайдалану үшін, оны программаның сипаттау бөлігінде көрсету қажет. Жиымды программаның тип немесе айнымалылар бөлігінде сипаттауға болады.
Жиым элементтерін енгізу немесе экранға шығару үшін цикл операторларын мынадай түрде пайдалануға болады:
А жиымы элементтерін пернелерден енгізу:
FOR I :=i ТО N DO
READ (A[I]);
.........................
А жиымы элементтерін экранға шығару:
FOR I:=l ТО N DO
WRITE(A[I],' ');
..............................
Осы тәрізді eкi өлшeмдi жиым элементтері қабатталған for операторы арқылы өңделеді:
FOR М ТО 10 DO
FOR J:=l ТО 15 DO
WRITE(A[I,J], ‘’);
..........................
Индекстері мен элементтерінің типтері бірдей жиымдардың бірнің мәндерін екшісіне көшіру үшін, мысалы A:=D; меншіктеу операторын немесе операторы арқылы былай орындау мүмкіндігі бар: For i:=l to 4 do A[i]:=D[i]
Бір өлшемді жиымды көбінесе сызықты жиым дейді, олар тип бөллігінде былай сипатталады.
Type Sl= array [1..N] of real;
S2= array [1..M] of integer;
S3= array [1..K] of char;
S4= array [0..20] of boolean;
VAR А, В : SI;
L, G :S4;
С :S2;
D : S3;
Жиымды сипаттағанда индекстің үлкен мәні үшін кез келген (255-тен артпайтын) санды алуға болады, бірақ программада пайдаланылатын индекстің мәні оның берілген ең үлкен (максимум) мәніне дейін болуы шарт емес.
Мысалы, жиымды сипаттағанда array [1 ..255] деп жазып, программада оны пайдаланғанда i<255 кез келген мәнді пайдалануға болады. Программада i —дің мәнi жиымды сипаттағандағы оның ең үлкен мәнінен ешқашанда аспауы қажет.
Паскаль тілінде жиымдарға = (тең), < > (тең немесе) және меншіктеу амалдарын қолдануға болады. Ал жиым элементтері үшін олардың типіне сәйкес кез келген амалдар орындала береді.
Мысалы, А және В жиымдары былайша сипатталса:
VAR А,В: array [1...10] of real;
онда пайдаланылған амалдар төмендегі нәтижелер береді
өрнек |
нәтиже |
A=B |
А жиымының әр элементінің мәні В жиымының сәйкес элементтерінің мәніне тең болса, онда нәтиже true болады. |
A<>B |
А жиымының ең аз дегенде бip элементтің мәні В жиымының сәйкес элементінің мәніне тең болмаса, онда нәтиже true болады. |
A:=B |
В жиымының барлық элементтері А жиымының сәйкес элементтеріне айналады. |
Жиым элементері өрнектерде read, readln, write, writeln тәрізді оператор лардың параметрі міндетін атқара отырып, циклдік операторларда пайдаланылады немесе айнымалыларға басқа мәндер меншіктеуде операнд (аргумент) рөлін атқарады.
2.3. Көп өлшемді жиымдар
Күнделікті тұрмыста екі-үш өлшемді жиымдар да жиі қолданылады. Алгоритмдік тілдерде жиым өлшeмiнe шек койылмайды. Жоғарыда айтылғандай жиым бір,екі,үш,төрт тіпті одан да көп өлшемді болуы мүмкін. Бip өлшемді жиымдарды сызықты жиымдар десек, екі өлшемді жиымдарды математикада матрица немесе кесте деп атайды. Біз мұнда екі өлшемді жиымдарды ғана қарастырамыз. Екі өлшемді жиымға мысал ретінде студенттердің әр сабақтан алған бағалары толтырылған кестені алуға болады.
1. Тип бөлігінде жиым былай сипатталады:
A. TYPE атау=аrrау [l..n, l..m] of тип;
var В: атау;
мысалы, Т= аrrау [1..4Д..З] of Real;
В: Т;
немесе
Ә, TYPE атау= аrrау [l..n] of array [1..М] of тип;
мысалы,
Т= array [1..4] of array [ 1..3] of Real;
B:T;
Бірінші жағдайда индекстер әр типте сипатталынады да, одан соң жиым элементтерінің базалық типі көрсетіледі. Екінші жағдайда алдымен жол индекстерінің [1..N] типі, одан соң күрделі базалық тип array[l..M] of тип; көрсетіледі
Егер программада жиымның бағанасын және жолдарын бөліп жазу қажет болса, онда оны былай сипаттау қолайлы болады:
TYPE Tl=array[l..M] of тип;
Т= array [1..N] of Tl;
VAR B:T; A:T1;
Мұнда алдымен бағана типі Tl көрсетіледі де, одан соң ол жолдың типі арқылы матрицаның типі Т көрсетіледі. Айнымалы бөлікте eкi өлшемді жиым - В және бір өлшемді жиым - А көрсетілген.
2. Жиымды айнымалы бөлігінде сипаттауға болады.
VAR В: array [1..N, 1..М] of тип;
Жоғарыдағы бip өлшемді жиымда айтылғандай тік жақша ішінде индекстер типі, ал тип орнында элементтер типі көрсетіледі.Индекс типіне REAL, integer стандартты типтерден өзге типтердің барлығын пайдалануға болады, ал элементтер типі үшін Паскаль тіліде пайдалануға болатын барлық типтерді қолдану мүмкіндігі бар.
Мысалы,
Туре
den=(mo, tue, wed, th, fr, sat, sum);
Rden=mo...fr;
Zadan=array[L..25, rden] of integr;
VAR
A: array [den] of array[1..25] of char;
B:zadan;
C:array [1.365] of zadan;
Көп өлшемді жиымдармен жұмыс атқарғанда бip қайталау операторының iшіне бipншe қайталау операторлары болуы мүмкін. Мысалы, жиым eкi өлшемді болса, онда қайталау екі рет, ал үш өлшeмдi болса қайталау үш рет және т.с.с. орындалады. Демек eкi өлшемді жиым элементтерін енгізу және шығару үшін төмендегі үлгіні пайдаланады.
1 .Енгізу:
for i:= 1 to n do for j:=1to m do
read (B[ ij ]);
2. Шығару.
for i: = lto n do
begin
writeln;
for j:= lto m do
write (В [i, j ] : k:b)
end;
Ескерту. Егер қайталау тұлғасы бірнеше операторлардан тұрса, онда олар операторлық жақша begin және end iшінe алынып жазылады.
2.2. Жиындар
Жиын деп бір бірімен логикалық байланысты бip типтегі объектілердің (элементтердің) тобын айтады.
Жиынға кіретін элементтер саны 0-ден 256 аралығында болады. Жиын элементтері [ ] тік жақша ішіне жазылады.
Құрамында бірде бip элементі болмайтын жиынды бос жиын деп айтады да [ ] арқылы белгілейді. Егер жиын өсу реті бойынша бүтін сандардан тұратын болса, онда алғашқы элементі мен соңғы элементінің арасына екі нүкте қойылады, Мысалы, А {1,2,3,4,5} жиынын былай жазады А [1..5].
Жиын элементтеріне төмендегі амалдар қолданылады:
Жиындарды жалғастыру (қосу), ол жалпы түрде былай белгіленеді: C=AUB, ал алгоритмдік тілдерде U белгісі орнына + пайдаланылады. Мұнда С жиынның әр элементі А-ның немесе В-ның элементі болады. Мысалы,егер А[ 0-3,6], В[4,5] болса, онда С[0,1,2,3,4,5,6] болады.
Жиындарды қиылыстыру: С = АВ оны * арқылы белгілейді, мұнда С-ның әр элементі А-ның да және В-ның да элементі болады. Егер А=[0..3,6], В=[3..9] болса, С = А*В=[3], ал А = [0...3,6], В=[5,4] болса, онда С=[ ] бос жиын болады.
Екі жиынның айырмасы: С=А\В (немесе “-” арқылы белгілейді). С-ның әр элементі А-ның элементі бола алады, бірақ В-ның элементі бола алмайды. Мысалы, А= [1.7], В= [2,4] болса, С= А\В = [1,3,5,6,7] болады.
Eкi жиыннын теңдігі: А=В. Егер екі жиын эквивалента болса, онда орындалады. Мысалы, [5,6,7,3] = [3,7,5,6].
Соңғы амалдан жиынның элементтерінің реттеліп жазылуын қажет етпейтіндігі байқалады.
Мысалы, [1,2,3,4] = [2,1,4,3] = [4,3,2,1].
Жиын |
жиын элементтері |
[ ] |
бос жиын |
[1,2,3] |
1,2, 3 бүтін сандардан құрылған жиын. |
[‘a’,‘d’,‘x’,‘y’] |
A,d,x,y-символдары. |
[5...25] |
5-тен 25 дейінгі бүтін сан |
[5...2] |
Бос жиын, ceбебi 5>2 |
[1...1,10...3] |
1 бүтін сан |
[true, false] |
Саналатын екі элемент true және false |
[7.8, 1.25] |
Дұрыс берілмеген жиын. Ceбебi, элемент нақты типте |
берілген. | |
[-3, ‘ m’] |
Дұрыс берілмеген, ceбебi, элемент базалық типінің |
біреуінде берілмеуі қажет. | |
['қала', 'тау'] |
Дұрыс емес, ceбебi мән жолдық тип бола алмайды. |
Паскаль тілінде типтері бірдей әp түрлі элементтер тобын жиын дейді. Жиын элементтерінің типіне тәуелді, сол типке пайдалануға болатын барлық амалдарды орындауға болады, яғни: ‘+’, ‘-’, ‘*’, ‘/’, ‘:=’, ‘=’, ‘<>’
және т.б.
А жиынының мәні |
В жиынының мәні |
Өрнек |
Нәтиже |
[1, 2, 3] |
[2,1, 3] |
A=B |
True |
[‘a’… ‘d’] |
[‘a’, ‘d’] |
A=B |
False |
[1, 2, 3] |
[1, 3, 5,2] |
A<>B |
True |
[‘a’, ‘b’] |
[‘a’, ‘b’] |
A<>B |
False |
[1,2,3] |
[1,7, 3] |
A>=B |
False |
[‘a’… ‘d’] |
[‘a’, ‘b’] |
A>=B |
True |
[‘a’… ‘d’] |
[‘a’, ‘k’] |
A<=B |
True |
[1, 2, 3] |
[2,3, 5, 7] |
A+B |
[1,2, 3,5, 7] |
[‘a’… ‘d’] |
[‘c’…‘z’] |
A*B |
[‘c’‘z’] |
[1,2,3,4] |
[2,4] |
A-B |
[1,3] |
Бұлардан өзге жиын элементтеріне ену үшін IN амалы қолданылады. Мысалы, S([l ,4,3,2] болса, онда:
3 in S - нәтиже ақиқат (true)
5 in S - нәтиже жалған (false)
IN күрделі шарттарды жеңілдетуге пайдаланылады.
Мысалы,
y:=sin(x) жолына in-ді пайдаланса:
if a in[1...4] then y=sin(x) болады.
Бұл амалдарға қосымша екі процедураны пайдалануға болады:
- INCLUDE - жиынға жаңа элемент қосу (енгізу):
Жазылуы: INCLUDE (s,i);
Мұндағы S - базалық типтегі жиын;
I - жиынға енгізілетін элемент;
- EXCLUDE - жиыннан элемент алып тастау.
Жазылуы: EXCLUDE (s,i); S - жиынынан i-ді алып тастайды.
Жиым тәрізді жиынға да бip ғана ат беріледі.Жиынның типтері программаның Туре (тип) немесе Var (айнымалы) бөлінде сипатталады. Тип бөлігінде: Туре тип aты=set of тип; (set of-жиыннан)
Var жиын аты: тип аты;
Мұндағы тип орнына word, integer, longint-тен өзге кез келген базалық типтің бipi алынады.
Мысалы, Type digitchar=set of ‘0’.. ‘9’;
digit=set of 0..9;
VAR S1,S2: digit char;
S3,S4: digit;
Type тип аты=set of < 1-элемент, 2-элемент...n-элемент>;
VAR жиын аты, жиын аты,..., жиын аты: тип аты;
Мысалы,
type
PROST=set of (3, 5, 7,11);
den=set of (mo, tue, wed, th, fr, sdt, sun);
chis=1...30;
sym=set of char;
Var
PR:PROST;d=den;sm;sym;
ch:set of chis; int:set of byte;
2. Айнымалы бөлігінде:
VAR жиын аты: Set of тип;
Мысалы, VAR gil: set of 1980..2000;
C:set of char;
2.4. Жазбалар
Паскаль тілінде әр түрлі типтегі элементтерден құралған күpдeлi типтегі объектілерді жазбалар дейді.
Жазбаны құрайтын элeмeнттepдi жазбаның өpici деп атайды.
Жазбаның және оны құрайтын өрістердің жеке атаулары болады. Өрістің қажетті элементтерін оның атауы бойынша табады. Жазба типі RECORD кызмет сөзі арқылы сипатталады.
Жазбаның жалпы түрде сипатталуы төмендегідей: тип аты=RECORD (өpic тiзiмi) END;
мысалы, T= RECORD
Pi : tl;
P2:t2;
Pn: tn
END;
Мұндағы T - жазба аты (тип аты); Pi - өpic аттары, ti - өpic типтері. Жазбаны программаның тип (Type) бөлiгiндe немесе айнымалы (VAR) бөлігінде сипаттауға болады.
Жазба программаның тип бөлігінде былай сипатталынады:
TYPE
T=RECORD
Pl : tl;
P2 : t2;
Pn: tn
END;
VAR
А,В : T;
ti-лер стандарты, саналатын немесе шектелген типтердің бipeyi болуы мүмкін.
Мысалы:
Y=RECORD
KYNK:1..31; (*күндер*)
AI: (Jan.. Dec); (* Айлар*)
Gil: 1915 .. 2000; (*жылдар*)
FAM : string [40] (*Аты, жөні*).
END;
VAR A : Y;
Жазбаны программаның айнымалылар бөлгінде былай сипаттайды: VAR
T:RECORD
Pl:tl;
P2:t2;
Pn:tn
END;
RECORD (жазба) түйін cөзi ашылатын, END жабылатын операторлық жақша міндеттерін атқарады. Олардың ішінде жазба элементтері сипатталады.
Мысалы, баға жазылған студенттердің тiзiмi берілген болсын делік.
Hөмip |
Аты-жөні |
Бағалар |
1. |
Сариев Ардақ |
5,3,4 |
2. |
Қайыржанов Берік |
5,5,5 |
3. |
Алпысбаев Сәрсен |
4,4,5 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
Жазба атын V, нөмip атын N, Аты, жөнін F, бағаларды В арқылы белгілейік. Сонда, N - бүтін сан, F - символдың жиым (жол), В - бүтін сандардан құралған жиым. Демек, тізім жазбасы үш өpicтeн тұрады.
Жазбаның аты мен элeмeнттepiнiң аттары төмендегідей түрде жазылады:
Жазба аты. Элемент аты;
Мысалы, жоғарыдағы белгілеулерді пайдалансақ:
V.N
V.F
V.B
Бұл жазбаны сипаттауды айнымалы бөлгінде жазалық
VAR
V: RECORD;
N: Integer;
F : PACKED array [1..20] of char;
В : ARRAY [1..3] of integer
END;
Жазба элементтері программада қарапайым айнымалылар тәрізді пайдалынылады. Жазба элементтерінің типіне қарай тиісті амалдар орындалады.
Мысалы, V.N:=2 - жазбаның нөмері N-гe 2 санын меншіктейді.
S:= V.B[1]+V.B[2]+V.B [3]- үш бағаның қосындысы S-ке меншіктеледі.
Сипаттау алдында жазбаның өрістерінің атауларын оқуға қолайлы eтіп түciнiктi түрде таңдап алған жөн.
Егер бірнеше айнымалы бірде өрісте және олардың типтері бірдей болса, онда оларды үтip арқылы бөліп жазып жазба атын (тип атын) бірақ рет көрсетуге болады.
Мысалы, St=RECORD
P1: integer;
Р2 : string [20];
РЗ : string [8];
Р4: integer;
Р5 : array [1.-8] of char
END;
VAR A.,B,C:st;
Бұл жағдайда толық атаулар былай болады:
- Р1, А.Р2, А.РЗ, А.Р4, А.Р5;
- Р1, В.Р2, В.РЗ, В.Р4, В.Р5;
- Р1, С.Р2, С.РЗ, С.Р4, С.Р5;
Жазба элементтерін жиым элементтері тәрізді енгізеді Мысалы, А жазбасының элементтері былай енгізіледі;
Read (А.Р1, А.Р2, А.РЗ, А.Р4, А.Р5);
немесе
Read (А.Р1); read (А.Р2); read (А.РЗ); read (А.Р4); read (A.P5);
1-мысал. Айталық программа құрушылар үйірмесіне қатынасушылардың аты, жөні және алған бағалары берілген екен делік:
Асқаров Cepiк - 5 Алтынбекова Айнаш - 5
Гайдаров Алмас -5 Керімбаев Алтай - 4
Әлімжанов Болат - 4 Мейрамқұлов Сәкен - 5
Сәрсекеева Сәуле - 5 Алмасбеков Бақыт - 5
а) 5-ке оқитын студенттердің санын;

- Аралас экономика
- Аралас экономика мәні
- Аралас экономиканың мәні мен қалыптасу тегін ашатын алғышарттар
- Арал теңізі
- Арал теңізінің зерттелуі
- Аралық қаржылық есептілік
- Аралық стансаның жобалануы
- Арабо-израильский конфликт
- Арабо-израильский конфликт: Истоки и способы урегулирования
- Арабо-израильский конфликт на Ближнем Востоке
- Арабо-израильский конфликт на Ближнем Востоке
- Арабоязычная средневековая философия
- Арабские страны после распада Османской империи
- Арабские эмираты