Ақпаратты өңдеу форматтары



бет25/31
Дата24.01.2022
өлшемі1,6 Mb.
#113866
1   ...   21   22   23   24   25   26   27   28   ...   31
Байланысты:
Итн толық жауаптарыменн

Рекурсия — бұл көмекші алгоритмді (ішкі программаны) ұйымдастырудың әдісі. Мұнда сол ішкі программа (процедура немесе функция) операторлары орындалуы кезінде өз-өзін шақырады (обращаться). Рекурсиялы деп өзі арқылы анықталатын кез келген объектіні атауға болады. Мысалы:

<екілік код> ::= <екілік цифр> | <екілік код><екілік цифр>

<екілік цифр> ::= 0 | 1

Мұнда ұғымдарды сипаттау үшіінн Бэкус-Наурдың металингвистикалық формулалары қолданылды: "::=" таңбасы "анықтама бойынша бар", ал "|" — "немесе" дегенді білдіреді. Рекурсивті анықтамада шектеу болуы керек. Басқа да мысалдарды қарастырайық:



Мысал. Рекурсияны айтқанда айтпау кетуге болмайтын классикалық мысал факториалды қарастырайық. Ол былай анықталады:

n!=1*2*3*...*n. Ал тағы бір жағынан алып қарасақ, шектік шарт n<=1.

Рекурсиялы ішкі программаны шақыру басқа да ішкі программаларды шақырудан ерекшелігі жоқ. Алайда рекурсиялы ішкі программаны шақырғанда жадыда сол ішкі программаның барлық жергілікті айнымалыларымен бірге көшірмесі пайда болады. Мұндай көшірмелер шектік шартқа жеткеше қайталана береді. Ал шектік шарт болмаса ол стек толып, программаның дұрыс аяқталмауына әкеледі. Рекурсиялы ішкі программалардың шектік шартқа жеткенге дейінгі көшірмелерінің пайда болуы рекурсивті түсу (рекурсивный спуск) деп аталады. Көшірмелердің компьютер жадысында орналасқан максималды саны рекурсия тереңдігі (глубина рекурсии) деп аталады.



Сандарды компьютерде бекітілген нүкте арқылы өрнектеу

Сандарды бекітілген нүкте арқылы өрнектегенде екілік жүйе қолданылады. Сандар жарты немесе бүтін сөз ретінде өрнектеледі. Фориаттың ұзындығы(разрядтылығы) өрнектелетін сандардың шамасын анықтайды. Бұл сандарда(бүтін мен бөлшекті бөлетін үтір) санның ең кіші разрядынан кейін бекітілген болып есептеледі, яғни өрнектелетіндер тек бүтін сандар болып келеді, мысалы , 145.0,-7.0. Форматта нүктеден кейін 0 жазылмайды, нүкте де көрсетілмейді. Тек ең соңғы байттан кейін нүкте тұрады деп есептелінеді. Санның таңбасы нөлінші битте (ең соңғы жолақтағы) көрсетіледі. Оң сан «0» таңбасымен, ал теріс сан форматтары көрсетілген. Бекітілген нүкте арқылы Компьютерлерде жарты және толық машиналық сөзбен жазылған бүтін сандар форматталады. Жартылай сөз форматтында өрнектелген еі үлкен сан 15 разрядпен(0-разряд сан таңбасы) жазылады.

Бекітілген нүктелі сандарға қатысты мына жағдайларды атап өткен жөн:

Компьютердегі бекітілген нүктелі сандар диапазоны салыстырмалы түрде онша үлкен емес.

Абсолют мәні минималды машиналық сөзден кіші сан(2-н) компютерде 0 түрінде жазылады. Мұндай сан машиналық 0 деп аталады, шындығына келгенде ол 0 емес , бірақ бұл сангды өрнектеу үшін машиналық сөздегі разрядтар жеткілікті емес.

Есептеулерден кейін алынған сан абсолют мәні бойынша максималды машиналық сан(2н-1) асып кетпеуі керек. Егер сан осы шамадан асып кетсе, онда оның бүтін бөлігі машиналық сөз еніне сыймайдыда , оның щеткі бөлігі жоғалып кетеді, яғни нәтиженің бұрмалануы орын алады.Мұндай жағдайда разряд торлары толып кетті деп айтылады.

Есептеулер кезінде разряд торларының толып кетпеуін қамтамасыз ету үшін есептеуге қатысатын сандар мен нәтиже максималды машиналық саннан асып кетпейтіндей масштабтық коэффициенттік шынай сан оның машиналық Х бейнесін (кодын) қатынас арқылы жазуға болады.

Сандарды жылжымалы нүкте арқылы өрнектеу

Компьютерлерде жылжымалы нүкте арқылы бөлшегі бар аралас сандар жазылады және олар бүтін сандарға қарағанда жиі кездеседі. Мұнда да сандар екілік жүйеде бейнеленеді. Олардың форматы толық және екі еселенген машиналық сөз түрінде (1.5-сурет) болуы мүмкін. Биттер 0-ден 63-ке дейін нөмірленеді. Сол жақ шеттегі 0-бит санның таңбасын өрнектейді. Жылжымалы нүктелі сан мынадай түрде жазылады:



мұндағы p – санау жүйесінің негізі (оң бүтін сан); zнегіз дәрежесі; S A санының мантиссасы. Бұл жерде нүкте бекітілмеген, мұнда оның орны дәрежемен анықталады. Мысалы, саны берілсін делік. Оны жылжымалы нүкте арқылы жазсақ, А=687,53510=0,687535 ×103 болады. Мұндағы S = 0,687535 – мантисса, ал негіз дәрежесі z =3, ал санның негізі р =10.

Жылжымалы нүктелі есептеуіш машиналарда да разряд торларының толып кетуі жиі орын алады. Мысалы, оның толып кетуі дәрежелері бірдей нормаланған сандарды қосқанда пйда болуы мүмкін. Мұндай жағдайда үтірдің сол жағында бір пайда болады. Толып кетудің мұндай түрі мантиссаны оң жаққа қарай бір орынға жылжыту арқылы жойылады.

Санау жүйелері. Бөлшек сандарды басқа санау жүйесіне ауыстыру



Достарыңызбен бөлісу:
1   ...   21   22   23   24   25   26   27   28   ...   31




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

    Басты бет