өңдей алады. 2 сөз екілік сөзді құрайды. (64 бит, 0-ден 63-ке дейін солдан
оңға қарай нөмірленген).
2.2 Мәліметтердің құрылымы мен типтері туралы негізгі
түсініктер
ЭЕМ-дегі есептеу процестері ол қолданатын және құратын
бағдарламалар және мәліметтер көмегімен жүзеге асады. Бағдарламаның өзі
– мәліметтер жиынтығы. Сондықтан ЭЕМ жұмыс істей алатын кез келген
ақпарат мәліметтермен бейнеленеді деп есептеуге болады.
Машиналық деңгейде ақпарат көрінісі құрамнан және оның
күрделілігінен тәуелсіз. ЭЕМ-дегі кез келген мәлімет екілік разрядтардың
(биттердің) тізбегімен өрнектеледі, ал оның мәні ретінде екілік сан қызмет
көрсетеді. Бірақ адам үшін бұндай әлсіз құрылымдалған екілік разряд
түріндегі бейнелеу мүлде қолайсыз. Битке қарағанда неғұрлым үлкенірек
және құрамды «құрылыс блоктары» қажет.
Мұндай блоктарды «мәлімет типі» түсінігінің негізінде алуға болады.
Мәлімет типі мәліметтің мәндерінің жиынымен және осы мәндерге
қолданылатын операциялар жинағымен анықталады. Мәліметтердің базалық
типтері ЭЕМ-нің архитектурасын анықтайды. Қазіргі кездегі ЭЕМ-нің
командалары мәліметтердің келесі типтерін өңдеуді қамтамасыз етеді:
бүтін сандар INTEGER, нақты сандар REAL, символды мәліметтер
CHARACTER, логикалық BOOLEAN адрестер (бүтін сандар) POINTER
(көрсеткіш тип).
INTEGER типі – бүтін сандардың шекті жиыны, сонымен қатар,
модуль бойынша ең үлкен бүтін сан нақты ЭЕМ-мен есептеледі.
CHARACTER типі – бір символды - әріпті, белгіні немесе кодты
сақтауға тағайындалған. Символдар сандық кестеге сәйкес сандық мәндер
түрінде сақталады. ЭЕМ жадында символды сақтау үшін 1 байт бөлінеді. Бұл
әртүрлі 256 символды көрсету үшін жеткілікті.
BOOLEAN типі – логикалық мәнді еске сақтау үшін 1 бит жеткілікті.
Бірақ оған қатынауды тездету үшін минималды адрестелетін жадының
элементін – байтты қолданған жөн, бірақ бұндай көрініс артық.
POINTER типі – мәліметтердің адрестері мен көрсеткіштер жиынын
ұсынады. POINTER типті мәлімет қандай да бір басқа мәліметті немесе
мәліметтер тобын көрсетеді. Көрсеткішке сол немесе басқа мәнді меншіктей
отыра, осы көрсеткіш арқылы өзіңізге қажет мәліметке қатынау
мүмкіншілігін аламыз.
POINTER типті мәліметтердің мәндерінің жиындарының арасында
берілген көрсеткіш ешқайда көрсетпей тұрғанын хабарлайтын бір арнайы
мән бар, яғни нөлдік немесе бос көрсеткіш болып табылады. Паскальда
бұндай мән болып Nil (ештеңе) символы болып табылады, жадыда ол әдетте
0 санымен көрсетілген. Көрсеткішке қолданылатын операциялар оған басқа
көрсеткіштің мәнін немесе басқа мәлімет алатын жады облысының адресін
меншіктеуге ұмтылады. Мысалы, паскальда аргументі қандай да бір
айнымалының аты болып табылатын ADDR функциясы бар, ал мәні –
әдетте көрсеткішке меншіктелетін оның адресі болып табылады.
(Көрсеткіштермен жұмыс істейтін бай құралдар Си тілінде бар). Жалпы
көрсеткіштер байланысты құрылымдар құруда және оны өңдеуде маңызды
роль атқарады.
Жадыда көрсеткіштерді сақтау үшін сәйкес есептеуіш жүйедегі
адрестің максималды ұзындығына тең келетін облыс бөлінеді.
Біз әдетте мәліметтердің жай (скаляр) типтері деп аталатын
мәліметтер типін қарастырдық. Оларға әрекет аппаратты командалармен
орындалады.
Олар
үшін
ұйымның
қарапайымдылығы
(құрылымдалмағандығы) мінезделеді.
Мәліметтер құрылымы деп араларында қандай бір байланыс бар
мәліметтер элементтерінің жиынтығын айтайық, сонымен қатар мәліметтер
элементтері қарапайым мәліметтер және мәліметтер құрылымы болуы
мүмкін. S мәліметтер құрылымын былайша анықтауға болады:
S=(D,R),
мұндағы D – мәліметтер элементтерінің жиыны;
R – олардың арасындағы байланыстар жиыны.
Құрылымдарды алу үшін қарапайым типтер негізінде мәліметтердің
жаңа типін жасау қажет. Бағдарламалаудың қазіргі кездегі тілдері (Паскаль,
Ада) осындай мүмкіндік береді, себебі оларда жаңа типтерді анықтау әдістері
бар.
Осылайша, қарапайым типтердің мәліметтері агрегаттарға біріге алады.
Агрегат – (жинақ), ертеде анықталған типтерге жататын компонент
мәндерінің жиынтығы. Мұндай құрамдас типтерді құрылымдалған деп
есептеуге болады.
Компоненттер типтері өз кезегінде құрамдас бола алады.
Құрылымдардың бүтін иерархиясын құруға болады, бірақ құрылымның
шекті компоненттері қарапайым болу керек.
Алгоритмдік тілдің нотациялар жүйесі жай және құрылымдалған
типтердің бейнелеуін жіберуі керек.
Жай типті бейнелеудің ең қарапайым әдісі – осы тптің барлық
мәндерін атап өту. Мысалы, фигура типі (егер есепте сөз жазық
геометриялық фигуралар туралы болса) тіктөртбұрыш, эллипс, шеңбер
идентификаторларымен берілетін мәндерге ие бола алады.
Бағдарламалаушы құратын типтерден басқа стандартты (алдын-ала
анықталған) типтер міндетті түрде болуы керек. Олар әдетте сандар мен
логикалық айнымалыларды қамтиды.
Егер кейбір типтердің мәндері реттелген болса, онда олар реттелген
немесе скаляр деп аталады. Паскальда барлық құрылымдалмаған типтер
реттелген деп есептелінеді. Егер олар анық атап өтілсе, онда олар саналған
ретпен реттелген деп есептеледі.
Осы ережелерді қолдана отырып, жай типтерді бейнелеуге болады
және олардан кез келген дәрежедегі құрылымдалған типтерді құруға болады.
Бірақ практикада құрылымға компонент типтерін біріктірудің бір ғана жалпы
әдісі болуы жеткіліксіз. Практикалық көзқарас бойынша әмбебап тіл
құрылымдаудың бірнеше әдістеріне ие болу керек. Біз бұл әдістердің
Паскальға қолданылуын қарастырамыз.
Нақты құрылымдармен таныспай тұрып, кейбір белгілері бойынша
олардың классификациясын келтіреміз.
1. Мәліметтердің элементтерінің арасындағы нақты берілген
байланыстың болуына байланысты:
а) байланыссыз құрылымдар:
• векторлар,
• массивтер,
• жолдар,
• стектер,
• кезектер;
б) байланысты құрылымдар:
• байланысты тізімдер
2. Құрылымның өзгермелілігінің белгісіне байланысты (яғни,
элементтер санының өзгеруі және (немесе) олардың арасындағы
байланыстың):
а) статикалық;
б) жартылайстатикалық;
в) динамикалық.
3. Құрылымның элементтерінің реттелуінің сипаты бойынша:
а) сызықты-реттелген (сызықты);
б) сызықты емес.
4. Жадыда элементтердің өзара орналасуының сипаты бойынша:
а) тізбекті таратумен:
• векторлар,
• массивтер,
Достарыңызбен бөлісу: |