Файл қосу
Ақпараттық жүйе ұғымы
ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ Семей қаласының шәкәрім атындағы семей мемлекеттік университеті 3 деңгейлі СМЖ құжаты ПОӘК ПОӘК 042-39. 1.ХХ/01- 2013 ПОӘК <<Информатиканың теориялық негіздері>> пәні бойынша оқу-әдістемелік материалдар Редакция №____от_____ 5В011100 - <<Информатика>> мамандығына арналған <<Информатиканың теориялық негіздері>> ПӘНІНІҢ ОҚУ-ӘДІСТЕМЕЛІК КЕШЕНІ ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР Семей 2013 МАЗМҰНЫ * Глоссарий * Дәрістер * Практикалық және зертханалық жұмыстар * Студенттің өздік жұмысы ГЛОССАРИЙ Алгоритм (қатаң емес анықтама) - бұл қандай да бір классқа жататын кез келген есептің нәтижесін қамтамасыз ететін, анықталған қарапайым (элементар) әрекеттер тізбегі. Алгоритм - бұл кез келген ақырлы алфавитте өзгертілген ақпараттың (берілгендердің) өзгеруінің шектеулі ережелер жүйесі (В.М.Глушковтың анықтамасы). Алгоритм құрылымыдық болып табылады, егер де ол стандартты функционалды блок ретінде көрсетілген болса. Алфавит - кезектесу реті тағайындалған белгілер жиыны (лексикографикалық рет). Анализ - жүйенің жеке компонеттерінің ерекшеленуіне және қасиеттері мен байланыстарын қарастыруға негізделген зерттеу әдісі. Ақпаратты сипаттаудың аналогты формасы - ақпаратқа ие болатын, сигналдармен көрсетілетін және ақпараттық параметрі уақыттың үздіксіз функциясы болып табылатын хабарламаның сипатталуы. Бит - тәжірибенің екі бірдей мүмкін мәндеріндегі энтропияның өлшем бірлігі. Кодтық комбинация салмағы - берілген кодтық комбинациядағы нөлдік емес (бірлік) разрядтар саны. Сыртқы есте сақтау құрылғысы (СЕСҚ) - заттық тасмалдаушыдаға деректерді оқу және сақтаумен байланысты операцияларды орындайтын құрылғылар. Берілгендер - нақты бір түрде берілген және болашақта қолданылатын қандай да бір жүйені, құбылысты, процессті немесе объектіні сипаттайтын мәлімдемелер. Декодер - декодтау операцияларын орындауды қамтамасыз ететін құрылғы. Декодтау - кодтауға кері операция, яғни ақпараттың алынған кодтық реттен алғашқы алфавитті түрінде қайтарылуы. Дискретті канал - дискретті хабарламаларды беру үшін қолданылатын байланыс каналы. Дискретті құрылғылар - бұл ішкі күйлері, кіру және шығу сигналдары, сонымен қатар кіру сигналдарының берілген уақыт моменттері дискретті болатын және де ішкі күйлері өзгеріп, шығу сигналдары берілетін құрылғылар. Ақпаратты ұсынудың дискретті формасы - белгілердің (алфавиттің) ақырлы санымен берілген ақпаратқа ие болатын хабарламаның сипатталуы. Құжат - белгілі бір программаның орындалу нәтижесінде құрылған өнім. Логикалық жазу - мағыналы соңы бар қарапайым мәліметтердің атауланған жиыны. Физикалық жазу - тасыушының бекітілген физикалық принциптеріне сәйкес берілгендердің орналасуына ие болатын және логикалық жазуды құрайтын тасушының беткі элементі. Кездейсоқ рұқсаты бар есте сақтау құрылғысы - бұл берілгендердің сақталған ұяшықтарына рұқсат алу арқылы жүзеге асырылған құрылғылар. Белгілер - бір бірінен маңызы жағынан ажыратылатын, дискретті сигналдарды сипаттауға қолданылатын ақырлы жиынның қандай да бір элементі. Салыстырмалы кодтың артықшылығы - хабарламаның дұрыс (толық) жіберілуі үшін ұзындығын неше рет өсіру керектігін көрсететін сипаттама. Информатика - ақпараттың, процесстердің, әдістердің және олардың өңделуінің (жинақтау, сақтау, өзгерту, алмастыру, беру) жалпы қасиеттерін зерттейтін бекітілген табиғи ғылым (А.П.Ершов және Б.Н.Наумов анықтамасы). Ақпарат (статистикалық анықтама) - бір мағыналы берілгені бар қандай да бір дағдының толық анықталмауын төмендетін хабарлама мазмұны; бұған байланысты кему энтропиясы ақпараттың сандық өлшемі болып табылады. Ақпараттық процесс - бұл ақпараттың мазмұны немесе хабарламаның сипаттамасы уақыт өтуіне байланысты өзгеруі. Алгоритмді орындаушы - алгоритмнің сипаттамасын дұрыс интерпритациялайтын және ондағы қамтылған әрекеттер тізбегін орындауға бейімделген субъект немесе құрылғы. Ақпарат бұлағы - ақпаратты тудырушы және оны хабарлама түрінде бейнелейтін объект немесе субъект. Байланыс каналы - бұл заттық орта, сондай-ақ физикалық немесе бақа да құбылыс, ол арқылы хабарламаның жіберілуі жүзеге асырылады, яғни қандай да бір уақыт аралығында кеңістікте сигналдардың таралуы. Класс - бір немесе бірнеше бірдей атрибуттарға ие объектілер жиыны; бұл атрибуттар класс қасиеттерінің өрісі деп аталады. Классификация - бір типті объектілерді ерекшеленген қасиеттеріне сәйкес (белгілеріне, категорияларына, класстарына) тарату. Кодер - кодтау операциясының орындалуын қамтамасыз ететін құрылғы. Код - 1) белгілердің сәйкестігін бір алфавиттік белгімен немесе оларды басқа алфавиттің сәйкестігімен сипаттайтын ереже. 2) бірлік алфавиттегі белгілерді немесе олардың сәйкестігін екінші алфавиттік белгілер арқылы қолдану. Кодтау - бастапқы алфавит негізінде ұсынылған ақпаратты кодтар тізіміне ақпаратты ауыстыру. Ақырлы автомат - жүйесі, мұндағы Х және Ү арқылы шығу және кіру алфавиттері болып табылады, Q - ішкі күйді ақырлы жиыны, (х,q) - ауысу функциясы және Q(x,q) - шығу функциясы. Байланыс желісі - бастаудан қабылдаушыға ақпаратты жіберуі жүзеге асатын байланыс каналы мен байланыс құрылғыларының жиынтығы. Массив - бір мәндә мәліметтердің реттелген сызықтық жиыны. Ақпаратты материалды тасушы - ақпаратты тасуға немесе ұсынуға арналған материалды объект немесе құрылғы. Машиналық сөз - 1) компьютер жадысында және құрылғыларында бір бүтін ретінде өңделетін екілік элементтердің жиынтығы. 2) компьютер жадысының бір ұяшығында орналасатын берілгендер. Модельдеу - есептің берілгенін құрудың немесе жүргізуге арналған тура бейнеленуді қамтамасыз ететін протатиптің қарапайым нұсқасы. Имитациялық модельдеу - протатиптің ерекшеліктерін анықтау мақсатында жүргізілетін тәжірибеде, зерттелетін протатип өзінің ұқсатқышымен алмасуна негізделіп зерттелетін әдіс. Модель - берілген есептің протатипінің заттық қасиеттерін көрсететін құраушы бөліктердің (элементтердің) бірігуі және олардың арасындағы байланыс. Математикалық модель - қатынастардың ақырлы жиыны анықталған кездейсоқ табиғаттың элементтер жиыны. Тексеруші модель - бұл қолданудың нәтижесі протатиптің өзімен салыстырмалы (сәйкес) болатын модель. Белгілер жиыны - белгілердің дискретті жиыны. Объект - күрделі бірігудің қарапайым құраушысы, ол келесідей қасиеттерге ие: * Берілген есепте ол ішкі құрылғыға ие болмайды және бір бүтін ретінде қарастырылады; * Сыртқы әсердің нәтижесінде өзгеріске келетін қасиеттер жиынына ие болады; * Ол анықталған, яғни атауы бар. Біркелкі дискретті канал деп аталады - егер кез келген і,j үшін уақыт аралығындағы ықтималдығы өзгермесе (яғни әсерлер әрқашан да бірдей). Оптимальды (n,k)-коды - n мен k және басқа да кодтардың қате декодталудың минимальды ықтималдығы қамтамасыз етеді. Бөгеттерге тұрақты код - қателерді іздеп табуға және қажет жағдайда оларды түзетуге арналған код. Хабарлманың интерпретациялану ережесі - хабарлама мен оның мазмұны арасындағы сәйкестікті орнататын заңдылық. Хабарлама қабылдаушы - хабарламаны қабылдауға және оны дұрыс интерпретациялауға мбейімделген субъект немесе объект. Программа - <<компьютер>> атты орындаушыда ақпаратты өңдеу бойынша жүргізілетін әрекеттер тізбегі. Программалық объект - берілгендер мен процедуралар жиынының өзгеру мүмкіндігін анықтайтын әрекеттесулер. Байланыс каналының өткізу мүмкіндігі - бір уақыт бірлігінде канал бойынша берілетін максималды ақпараттар саны. Қасиет (атрибут) - өлшемі тағайындалған объектінің қасиеті. Сигнал - ақпаратты ұсыну үшін қоланылатын заттық сақтаушылардың сипаттамаларының өзгерісі Үздіксіз сигнал (аналогты) - оның параметрлері қандай да бір интервалда кез келген мәнді қабылдай алады. Дискретті сигнал - оның параметрлері қандай да бір интервалда ақырлы санның мәнін қабылдайды. Синтез - 1) жүйені жалпы зерттеу әдісі, анализ нәтижесін ортақ қылып шығарады; 2) заңдылықтарға сүйене отырып, жеке компоненттерді біріктіру арқылы бір ортақ нәтиже шығару. Жүйе - өзара әрекеттескен компоненттердің бірігуі, олардың әрқайсысын жеке алғанда жүйе қасиеттеріне ие болады, бірақ ол ажырамас бөлігі болып табылады. Жүйелік код - бұл (n,k) коды, мұндағы барлық (Рj) тексерілетін биттердің мәні (Ui) ақпаратты биттердің сызықты комбинацияларымен анықталады. Санау жүйесі - арнайы белгілердің көмегімен (цифрлар көмегімен) берілгендерді сандармен жазу ережесі. Позицицялы санау жүйесі - санды белгілеуді әрбір цифрдің мәні басқа ифрлардың арасындағы позициясын анықтау. Алгоритмнің уақытша күрделілігі - n сөзінің әрбір кіру ұзындығына сәйкес алгоритммен шешуге келетін максималды уақыттың орны. Хабарлама - сигналдар тізбегі Марковтік хабарлама (жадыға ие) - белгілердің арасында немесе сәйкестіктер арасындағы статистикалық байланысы бар хабарлама. Шенондық хабарлама (жадысыз) - жеке белгінің көрінуі уақытқа байланысты өзгеру ықтималдығына ие болатын хабарламалар. Байланыс құрылғысы - бастаудан қабылдаушыға ақпаратты жіберуі жүзеге асатын байланыс каналы мен байланыс құрылғыларының жиынтығы Берілгендер құрылымы - біртипті берілгендер мен олардын бірыңғай сипаттамаларын біріктіретін, сонымен қатар олардың арасындағы байланысты орнататын реттеу. Сызба - бұл базисті элементтер комбинациясы, бұлардың бір элементінің шығуы басқалардың кіруіне сәйкес келеді. Тьюринг тезисі: кез келген алгоритм тьюрингтік функциямен берілуі мүмкін және Тьюринг машинасында жүзеге асады. Черч тезисі: алгоритм негізінде шешілетін бөлшектік сандық функциялар класы, барлық бөлшекті рекурсивтік функциялармен сәйкес келеді. Бом-Джакоптини теоремасы: кез келген алгоритм құрылымдықпен салыстыруы мүмкін. Котельников теориемасы (санау теоремасы): үздіксіз сигналды толық көрсетуге болады және осы сигналды біркелкі максимальды жиілік периодының жартысына тең немесе одан да кіші уақыт интервалының көмегімен өлшенген санаулы көлемдер арқылы қайта құруға болады. Шеннон теоремасы (бірінші): мәліметті беру кезінде ешбір әсердің жоқ болу кезінде хабарламаны кодтаудың мынадай нұсқасы бар, бұнда кодталатын алфавиттің бір белгісіне келетін белгінің орташа коды бірлік немесе екілік алфавиттің белгілеріне жақын болады. Шеннон теоремасы (екінші): мәліметтерді каналдар бойынша беру кезінде хабарламаны кодтау қолданылады, бұнда хабарлама қаншалық терілсе, соншалықты жеткізіледі, бірақ оның берілу жылдамдығы каналдың өкізу қабілетінен аспауы керек. Фано шарты: біркелкі емес код біркелкі декодталады, егер кодтардың еш қайсысы басқа ұзақ кодтың басталуымен сәйкес болмаса. Файл - ақапараттарды сақтау жүйесінде сипатталатын және бір ортақ болып қарастырылатын, физикалық жазылымдардың анықталған түрде безендірілу жиынтығы. Формальді грамматика - формальді алфавиттің ақырлы символдарының кезектескен жиынтығын сипаттайтын ережелер жүйесі. Формальді орындаушы - алгоритм бұйрықтарын талдай алатын және қабылдай алатын субъект немесе құрылғы, соларға байланысты өзінің күйін өзгертетін және ақпараттың қадамдық өңделуін орындайтын механизмін қамтитын құрылғы. Формальді жүйе - көптеген бар объектілер арқылы және жаңа компоненттерді құру ережелері арқылы дискретті компоненттер жиынтығын беретін математикалық модель. Функционалды блок - қарапайым әрекет түрінде ұйымдастырылған, яғни бір немесе бірнеше шығысы бар (орындалулар бір ғана әрекеттен басталады) алгоритмнің бөлігі. Қара жәшік - құрылысы жағынан қолданушыға таныс емес, бірақ оның реакциясы мен сырқы әрекеттесулері таныс болатын жүйе. Өткізу жолағының ені - сигналдарды беруге арналған каналмен байланысқа қолданылатын жиіліктер интервалы. Санау жүйесінің үнемділігі - берілген жүйеде анықталған цифрлар саны арқылы жазуға болатын сандар жиыны. Энтропия дағдының анықталмаған мөлшері, мұнда оынң шығыстарының орташа анықталмағандығына тең болатын кездейсоқ әрекеттер көрсетіледі. ДӘРІСТЕРДІҢ ҚЫСҚАША КОНСПЕКТІСІ 1-ДӘРІС. Информатика пәні және мақсаттары. Теориялық информатика. Қарастырылатын сұрақтар: Информатиканың пайда болуы және дамуы. Есептеу техникасының даму тарихы. Информатиканың ғылым ретінде пайда болуы. Информатика құрылымы. Ғылыми зерттеулердің бағыттары (теориялық информатика, ақпараттандыру құралдары, ақпараттық технологиялар, әлеуметтік информатика). Информатика халық шаруашылық саласы ретінде, фундаментальды ғылым және қолданбалы пән. Информатиканың мақсаты мен міндеттері. Теориялық информатиканың зерттеу бағыттары. Кез келген ғылым ондағы теориялық және практикалық сипатта қарастырылып шешілетін мәселелер тобын анықтаудан басталады. Одан әрі ғылыми білім даму логикасы қатаң түсінікте аппарат - осы ғылымда қабылданған және мамандар түсіндіруінің бір мағынада баяндауын қамтамасыз ететін тілді талап етеді. Ғылыми тілде жаңа терминдерді аксиомалақ және операциялық жолдармен анықтауға болады. Бірінші жағдайда, соның ішінде математикада постулат түрінде қабылданған жағдайда бастапқы анықтамалардың кейбір жиынтығы қосылады да, сосын олар арқылы басқа қалған түсініктері айтылады. Мысалы, жылдамдықты материалды нүкте уақыт бірлігі үшін жасалған ауыспалылық ретінде анықтаса, онда ауыспалылық пен уақытты өлшеу тәсілдері бар екені, ал оларың қатынасы жаңа шаманы анықтайтыны өз-өзінен түсінікті болады. Ереже бойынша, жаратылыс ғылыми пән де ғылыми тілге операциялық жолмен анықталуы мүмкін шамаларды ғана енгізу орынды болып саналады. Ұғымдар мен оларды сипаттайтын шамалар анықталған соң олардың арасындағы байланыс сипатын анықтау қажет - кез келген ғылымның негізгі міндеті осыдан тұрады. Бұл байланыстарда заңдар, заңдылықтар немесе беталыстар сипаты болуы мүмкін. Практика тапсырмаларын шешу үшін бұл заңдарды пайдалану ғылыми зерттеудің тағы бір кезеңі-табиғи немесе абстрактілі жүйелермен және олардың үлгісі құрылымын анықтаумен сөзсіз байланысты. Барлық іс жүзінде қолданылатын "техникалық" аспектілер мен шешімдер осылай құрылған теориялық негізге сүйенеді, ал егер қажет болса оның салдары болып табылады. Ғылыми пәнде, оқып үйренуде информатиканың ерекшелігі оны құрайтын іс жүзіндегі қолданысын көп адамдар талап ететін болып шығатындығында, олардың ішінде ғылым саласы мүлде алыс адамдарға да қажеттілігін де. Мұндай ситуацияны ешқандай жағдайда дұрыс емес немесе қажетсіз санауға болмайды - керісінше. Информатика мен технология жетістіктері компьютер қондырғысын жасауға, сондай- ақ қара жәшік ережесінде жұмыс істеуге, яғни оның көмегімен шешім механизмін жүзеге асыруды ұғынбай- ақ, қоданбалы міндеттерді шешуге жол беретін қолайлы бағдарлама қамтамасыздығының мүмкіндігіне әкелді. Дәл осы жағдайдың арқасында компьютер қазіргі заман қоғамында соншалықты кең қолданысқа ие болады: тіпті "компьютерді игерудің пайдаланымдық деңгейі" деген термин де пайда болады. Инфоматика - оны оқыту құралы әлемнің бастапқы категорияларының бірі - ақпарат болып табылғандығы үшін болса да дүниетанымдық ғылым. Оқушылар инфоматика заңының негізділігі мен жан-жақтылығын түсінуі тиіс. Қазіргі көрсетілген бойынша ақпарат материямен және энергиямен қатар әлемнің бастапқы категорияларының бірі болып табылады. Бұл категориялар бір-бірімен өзара байланысты. Мұндай байланыстарды табиғи құбылыс ретінде қарастыруға болады. Материя, энергия және ақпарат арасындағы байланыс көрінетін табиғи құбылысқа мыналар мысал бола алады: * қатты дене кристалды күйден сұйық күйге фазалық өтуі-мұнда материалдық өзгеру және энергетикалық шығынмен қатар атом орналасқаны жөнінде ақпарат жоғалуы да болада. * ДНК малекулаларының ішіне алынған ақпараттар арқылы тірі табиғатқа тұқым қуалау белгілері берілуі, бұл бір жағынан храмосомалардың әртүрлі жиынтығы арқасында жануардың немесе өсімдіктің осы түрінің даминанттық белгілерін беруді, ал екініш жағынан тіршілік иесінің сыртқы жағдайдың өзгеруіне бейімделуін қамтамасыздандырады. * Шартты және шартысыз рефлекстер - бұл сыртқы ортаның арқасында жануар миында пайда болып, сақталатын ақпарат. Материя - энергия- ақпараттың адам қоғамындағы байланыстарына мыналар масал бола алады. * кез келген өндіріске материалдық объкетілерді түрлендіру үшін қажетті энергетикалық ресуртарды, сондай-ақ технология, әртүрлі құжаттама және тағы басқаларды баяндау түрінде ақпараттық қамсызданыдыруды құрайтын бастапқы материал кіреді; * қоғамның жаңа мүшелерінің, білім - материалдық және энергетикалық қамсыздандыруды талап ететін ақпаратық процесс дайындалуы; * кез келген саладағы басқарма мысалы, велосипед тең құлау немесе электрэнергиясының өшіп қалу сияқты нақты материалдық және энергетикалық көрсетулері болуы мүмкін бар ақпараттар негізінде шешімдерді өңдіруден тұрады. Осы аталған үш категориялардың қайсысы адам үшін маңыздырақ? Нақты ситуацияларда бұлардың әрқайсысының тиімділігіне көптеген мысал келтіруге әрқашанда болатындықтан сұрақты бұлай қою мәнсіз сияқты. Сонымен бірге адамзаттың жалпы көлемінің ұлғаюын болдырады, оның үстіне бұл көлем уақыт ағымымен жер шары халқы мен оның материалды қажеттіліктерінен гөрі анағұрлым жылдамырақ өседі. Осылайша, ақпарат маңыздылығын басқа категорияларға қарағанда өседі деп тұжырымдауға болады. Дәл осы себептен де адамзаттың әрі қарай дамуы құрылыммен және жаңа ақпаратқа- ақпараттық қоғам өтуімен байланыстырады. Ақпаратты өңдеудің информатика және ақпаратты компьютерлік технологисының ролі неліктен соңғы бірнеше онжылдықта ғана байқала бастады? Ақпараттық процестермен және ақпаратты қайта өңдеумен адамзаттың ісі әрқашан болғанмен информатика неліктен жарты ғасырдан бері ғана өзбетінше ғылыми пән болды? Бұл сұрақтарға жауап беру үшін тарихты ақпарттық процестерді дамыту деңгейінің көзқарасымен бағалай отырып, оған қысқа экскурс жасау қажет. Жануралар әлемінен адамдардың алғаш өз бетімен бөлініп шығуы мен алғашқы қоғам қалыптасуының біріккен мақсаты шешу барысындағы олардың қатынасымен, аңшылық, күрестің зілзала апаттармен байланыстылығын айта кеткен жөн. Қатынас жолға қатысты ситуация өткен мың жылдықтан бері еш өзгерген жоқ- қазірдің өзінде де бірден артық адам қатысатын кез келген тапсырма шешуі, әрекеті барлық қатысушыларға түсінікті түрде ұсынылған ақпарат алмасуды талап етеді. Тарихи дәуірлердің ақпараттық қамтамасыздандырылуын сипаттау үшін бірнеше параметрлерді ажыратамыз: * кеңістікте ақпарта берілуін ұйымдастыру, яғни бір- бірінен алыстап кеткен адамдардың, оған қол жеткізуін қамтамасыздандыру мақсатымен ақпарат тарату; * уақытында ақпарат беруді ұйымдастыру, яғни ақпарат жиналуы мен сақталуы келешек тұтынушылардың қызығушылығында; * ақпарт өңдеудің ұйымдастырылуы, яғни бар ақпартты оны басқару, оқыту, жаңа ақпарат жасау т.б. сияқты практика тапсырмаларын шешу үшін пайдалану мақсатымен түрлендіру. Адамзат тарихы барысында аталған процестердің даму деңгейін сипаттайтын көрсеткіштердің жақсаруы бірқалыпты болған, бұл бірнеше ақпараттық кедергілердің тууына, кейін оларды жеңуге әкеп соқты. Ақпараттық кедергілер қоғамның ақпаратқа сұранысы мен олардың қамтамасыздандырылуының техникалық мүмкіндіктрері арасындағы қарама-қарасылық нәтижесінде туындалған. Бұл тосқауылдар қоғамның алға жылжу жолында қиындық болып шықты да, сондықтан да материалдық немесе энергетикалық кедергілер жағдайында адамзат әрқашан оларды жеңудің тәсілін тапқан. Мұндай үш ақпаратты кедергіні көрсетуге болады. 1-ші ақапарттық кедергі біздің заманымызға дейінгі шамамен V мың жылдықта жеңілген болатын. Ол уақытқа дейін ақпараттың жалғыз қоймасы адамның миы болған. Ақпарат берілуі адамның өзінің механикалық ауысымдылығымен байланысты болған, сондықтан берілу жылдамдығы өте төмен, ал берілу сенімсіз болған. Ақпарат өңдеуді сондай- ақ адам жасаған. Қарама - қарсылық адамзатқа уақытында келесі буынға берілуі үшін алдыңғы буыннан жиналған білім мен тәжірибені жазбаның пайда болуы арқасында жеңген. Ақпарат таратушылар тастар, саз балшық тақтайшалар, папирус, жарғақ, қабық, материя болған кейіннен қағаз пайда болды. 2-ші ақпарттық кедергі өңдіріс дамуымен- цех, мануфактуралар пайда болуына байланысты осы өңдірісті басқаруға қабілетті білімді адамдар қажеттілігі туғандықтан XV ғасырға қарай қалыптасты. Қарама-қайшылық ақпарат көздерінің көбі қол жазбалар болғандықтанда еді, қолжазба кітаптар көп мөлшерде адамдарды оқытуды қамтамасыздандыра алмады. Кітап басу өнерін XV ғасырда Еуропада И. Гутенберг және XVI ғасырда И. Федоров тапқандығы осы қайшылықты жеңуге мүмкіндік берді. Ол кезде ақпарат беру оны қағаз таратуының механикалық ауысымдылық жылдамдығымен анықталған. Өңдеуді адам жасаған. Ақпараттың негізгі таратушысы қағаз болғандықтан жинақталу техонглогиялары мен ақпарат таралуы дәл осымен анықталған, В.М. Глушковтың анықтамасы бойынша бұл жағдайды қағаз ақпарат деп атауға болады. XX ғасырдың басына қарай 1-ші кезекте ақапарат таралуының жылдамдығына қатысты ситуация өзгереді: алдымен XIX ғасырда телеграф, сосын телефон, 1905 жылы радио, 1920-30 жылдары теледидар пайда болды. Осы өнертабулар нәтижесінде ақпарат жер шарының кез келген нүктесіне сол сәтте- қ жете алатын болды. Сақтауға арнаған- фото сурет, сосын кино, одан кейін магнитті жазба сияқты ақпарат жазудың басқа принциптерін қамтамасыздандыратын қондырғылар пайда болды. Еш өзгеріссіз қалғаны ақпаратты қайта өңдеуге байланысты ситуация ғана - бұл қызметті бұрынғысынша тек адам атқарады. 3-ші ақпараттық кедергіге адамзат билігінде болған ақпараттың жалпы көлемі өскендігі сонша адамзат миының жиынтық істеп шығару қабілеті оны қайта өңдеуге жеткіліксіз болып шыққан кез- XX ғасырдың екінші жартысында таяды. Адамзаттың алға озуы ақпаратты өңдеуді автоматтандыру мәселесін шеше алуына байланысты болды. Шешу нұсқалары 1945-46 жалдарда американдық инженерлер П. Экрет пен Дж Мочли "Эниак" деп аталатын алғашқы сандық есептеуіш машинаны құрастырып, математик Дж фон Нейман автоматты есептеуіш қондырғы жұмысының принциптерін жүйелеп баяндаған кезде пайда болады, ал 1948 жылы К.Шеннон кодтаудың математикалық принциптер мен ақпарат беру мазмұндалған "Байланыстың математикалық теориясы" деп аталатын танымал жұмысын жариялады, сондай- ақ ақпарат санын объективті өлшеу тәсілін ұсынады- дәл осы идеялар жаңа ғылыми - информатиканың негізін жеңу ақпараттың автоматтандырылған өңдеуін қамтамасызданыратын құрылғы жасалуының қажеттілігін тудырды. Жаңа ғылыми атауын білдіретін "информатика" термині бірден пайда болып, сіңісіп кеткен жоқ. Біздің елде ХХ ғасырдың 60 жылдарында ақпарат өңдеудің автоматандырырылған жүйесін жасау, жұмыс істеп, қодануға байланысты сұрақтар "кибернетика" терминімен бірікті, әйткенмен Н. Винердің анықтамасы бойынша кибернетика - бұл тірі және өлі табиғаттағы басқару заңы туралы ғылым, яғни оның мүддесі тек адамзат пайдаланатын ақпараттық процестер мен жүйелерді ғана қамтитын болғандықтан бұл онша дұрыс болмады. Ағылшын тілді елдерде ақпарат зерттеуіне байланысты анағұрлым жалпы ғылыми пәнді "Compute Science" -"есептеуіш ғылым" деп атаса, францияда "Informatigue" - "информатика" термині пайда болады- сол атау 1970 жылдардың ортасынан бастап үлгіге алынады, алдымен ғылыми - техникалық қолданысқа нықтап енді де, сосын жалпыға белгілі және ортақ қабылдауда болды. Алайда информатика пәнін пәндік салада орныққан деп санауға болмайды. Информатика жөніндегі халықаралық конгресс 1978 жылы мына анықтаманы ұсынды: "Информатика ұғымы ақапарат өңдеу жүйесінің туындауы, жасалуы, пайдаланылуы мен материалды техникалық қызмет көрсетуіне байланысты саланы, оның ішінде машиналар, қоңдырғылар, математикалық қамсыздандырулар, ұйымдастыру аспектілерін, сондай-ақ өнеркәсіптік, коммерциялық, әкімшілік және әлеуметтік әсерлер жиынтығын қамтиды". Біздің қарастыруымыз үшін академиктер А. П. Ершов пен Б. Н. Наумовтың анықтамасын әбден жарамды деп санауға болады. Информатика - ақпараттың ортақ қасиеттерін, оның өңделу процесстерін, әдістері мен құалдарын оқытатын негізгі жаратылыс ғылымы. Инфоматиканың негізгі ғылымға жатқызылуы онда жалпы ғылыми мәнділік бар екенін, яғни оның ғылымның өз шеңберінде ғана емес, басқа да ғылыми және қолданбалы пәндерде ұғымы, заңдары мен әдістері қолданылатындығын біліреді. Информатика екі бағытқа бөлінеді: терориялық және қолданбалы. Теорялық информатиканың зерттеу нәтижесі ақпарат пен ақпарат процестеріне қатысты ортақ заңдарды анықтап, қалыптастыру, ақпараттық роцестермен және дисккретті ақпараттарды өңдеумен байланысты техникалық жүйелердің жұмыс істеуін анықтау, сондай-ақ, ақпараттық үлгілерідің құрылуымен пайдаланылуының методологиясын құрастыру болып табылады. Қолданбалы информатика ақпарттық жүйенің тікелей жасалуын және оларға арналған бағдарламалық қамтамасыздандыруды, сондай-ақ олардың практикалық тасырмаларды шешу үшін қолданылуын қамтамасызданыдырады. Теориялық информатика - математика әдістерін пайдаланатын пән. Кез келген ақпарат дискретті түрде көрсетіле алатын болғандықтан ақпараттық процессті баяндап беру үшін дискретті математика аппараты пайдаланылуы мүмкін. Алайда теориялық информатикада бұл аппарат ақпараттық объкетіге қоданылатындықтан нақты әрі өзгеше мазмұнға толы болды. Теориялық информатикаға мына пәндер кіреді: ақпарат теориясы, алгоритм теориясы, кодтау теориясы, жүйелер мен үлгілер теориясы, негізгі автоматтар теориясы, есептеу математикасы, математикалық бағдарламалау және басқа да толып жытыр. 2-ДӘРІС. Ақпарат және оның қасиеттері. Қарастырылатын сұрақтар: Ақпарат философиялық категория ретінде. Ақпаратты түрлендіру. Хабар ақпаратты жеткізуші. Хабарды сигналдар көмегімен жеткізу. Ақпараттар көзі, ақпарат қабылдаушы және жеткізу каналы. Хабарды дискретизациялау. Ақпаратты өрнектеу формалары. Статикалық. Динамикалық. Кодтау. Декодтау. Ақпаратты өлшеу. Құрылымдық өлшем (геометриялық, комбинаториялық, аддитивтік (Хартли өлшемі)). Статикалық өлшем (энтропия ұғымы, энтропия қасиеттері). Семантикалық өлшем (мазмұндылық, логикалық саны, ақпараттың орындылығы және мәнділігі). Ақпаратты жеткізу. Кедергілерсіз канал арқылы. Кедергілермен канал арқылы. Ақпарат теориясы жеке пән ретінде мына тапсырмаларды шешу барысына туды: бұл берілуге бөгет болу жағдайында берушіден қабылдаушыға ақпараттың сенімді әрі тиімді берілуін қамтамасыздандыру. Бұл нақтылаулырды қажетсінеді. * "сенімдіні", бұл ақпарат жоғалу, берілу процесінде болмауы тиіс; * қабылдаушы беруші жіберген ақпаратты бұрмалаусыз толығымен алуы тиіс дегенді білдіреді; * "тиімдісін" бұл байланыс жолының падаланылым уақыты мейлінше азайтуды талап ететін экономиаклық фактор болғандықтан беру анағұрлым жылдам тәсілмен іске асырылуы тиіс дегенді білдіреді; * кедергілер байланыстың кез келген шынайы жолында болады: солайша, жоғарыда қайылған міндетте анық пратикалық бағыттылық болады. Бұл есептерді шешу шартты түрде техникалық және математикалық деп атауғаболатын екі бағытпен жүргізіледі. Техникалық іздеу беру үлкен жылдамдықпен жүруі мүмкін байланыс сызығының практикалық жасалуымен кедергіден қорғанысты немесе олардың әсерін азайтуды қамтамасыздандырумен жылдам және сенімді байланысты қамтамасыздандыратын техникалық қондырғы жасалуымен байланысты. Алайда бұл өңдеулердің негізінде ақпарат берудің қандай да бір нақты сызығына емес, байлыныстың кез келген жолына қолданылатын кейбір ортақ заңдар мен принциптер жатыр. Олар ақпаратты кодтау тәсілдерін, ақапарттың сенімді берілу шарттарын, соңында ақпаратты процесстерді сандап түсіндіріп беруге мүмкіндік беретін шамалары анықтайды. Дәл осы әдістер ақпарат теорисының мағыналы негізін құрайды. Ақпарат теориясы жалпылықтың жоғары кезеңі мен математикалық теория болып табылады. Ол түсіндірілуі үшін ықтыималдық және энтропия ұғымдары қоданылатын кездейсоқ оқиғалар теориясына сүйенеді. Теорияның өз шеңберіне ақпарат ұғымы кіреді және оның өлшемі бит белгіленеді. Ақпарат теорясы басқа теориялар сияқты математикада құрылады: алдымен аксиомалық бастапқы ұғым анықталады, ал сосын олардан талдау жолымен жаңа жағдайлар немесе теориялар дұрыстығы дәлелденеді-осы теория негізін салушылар Клод Шеннон дәл осы жолдармен жүрген. Ақпарат теориясы пайаланылуына мысалдарды информатика, техника, психология, биология, физика, педагогика, лингвистикада және т.б. табуға болады. Алайда басқа кез келген математикалық теория сияқты ақпарат теориясы баяндалған материалдың жүйелерде немесе процесстерде теорияның бастапқы жағдайын қанағаттандырса, сонша практиканы нақты тапсырмаларды шешу үшін қолданылады. Оның басқа жағдайларда олданылмаушылығын теорияның кемшілігіне еш санауға болмайды. Сөз сонымен қата бастапқы терминнің өзі - информация - тек осы теорияда ғана пайдаланылмайтындығы туралы болады; алайда, еер басқа пәндерде оған басқа мағына берілсе, онда ақпарат теориясы оған қолданылумен талап етуге болмайды. Дәл осылай Ньютон механикасы бұл терминнің мағынасының барлық түрінде емес, тек дененің уақыт ағынымен кеңістікте ауыспалылығы қозғалысын суреттейтін теория болып табылады; қозғалыстың басқы түрлері - өсіміктің жетілуі, әлемнің дамуы, қоғамдық ұйымдастырудағы өзгерістер және т.б. Ньютон заңымен түсіндірілмейтіні сөзсіз, бірақ бұл соңғысының мағынасын төмендетпейді. Ақпараттың математикалық ұғымы оның сандық өлшемінің мүмкіндігімен байланысты оның үстіне ақпарат теориясында хабарламадағы ақпарат саны хабарламаны алған соң кездейсоқ оқиғалардың нәтижесі анықталмаушылығы қаншалықты азайғанымен анықталатын кезде энтропиялық тәсіл орнығады. Егер хабарлама бастапқы белгісіздікті бүтіндей алып тастайтын боса, ол оқиға туралы толық ақпарат таратады. Техникалық қосымшаларда қарапайым есептеуде хабарламадағы белгілер саны негізделген ақпарат санын санауды басқа тәсілі қолданылады - мұндай амал көлемдік деген атқа ие болды. Жалпы жағдайда ақпарат санының бұл екі мөлшері сәйкестенбейді, сонымен қатар ақпарат теориясында хабарламада энтропиялық мөлшер қос символдың санынан аспайтыны көрсетіледі. Екі амалда да ақпараттың сандық мөлшері, оның семантикалық негізіне бекітілмейтіндігі бірдей болып шығадаы. Тұрмыстық көзқараста мағынасын жоғалтқан жоғалтқан ақпарат алушы үшін қандай да бір бағасын да жоғалтады әйткенмен ақпарат беруге немесе сақтауға арналған қондырғы берілген ақпарттың мағынасын бағалай алмайды-бұл жағдай басытыс семантиткалық негізіне байланыссыз ақпартың сенімді берілуі және сақталу міндеті болады. Егер пошташы хаттардың мазмұнын бағалап, өз түсінігіне байланысты олардың өайсысын жіберіп, жібермеуі маңызды екекенің шешетін болса, бізге жағдай ұнай қояр ма еді? Байланыс құралы болған пошташы тіпті ішінде қағаздың таза беті болса да мекен - жайына апаруы тиіс. Оған қоса сақтау және беру үшін ақпарттардың сандық сипаты, олардың бағалану әдістері мағыңды болып шығады - оларды ақпарат теоричсы анықтайды. Осылайша, ақпарат теориясы ақпараттың мазмұндық жағын елемеуге болатын практикалық тапсырмаларды шешуге ғана қолданылады. Кез келген ғылым ол пайдаланыланатын ұғымдар мен терминдердің қатаң анықталуынан басталады. Сондықтан ақпарат теориясы негіздерінің мазмұнын дәл нақты анықтамадан бастау әбден қонымды болар еді. Қандай да бір ұғымды анықтау-бұрын анықталған басқа ұғым арқылы жеткізу деген сөз. Ситуацияның қиындығы, әйткенмен ақпарат әлемнің бастапқы категорияларының бірі болып табылып, сондықтан "жалпы ақпарат" анықтамасын неғұрлым қарапайым, әлдеқайда бұрынғы терминмен өиюластыру мүмкін емес болатындығында. "Информация" ұғымының жеке түсіндірілуіне қатысты айтар болсақ, онда әртүрлі ғылыми пәндерде, техникада және тұрмыстық деңгейде олардың едәуір айырмашылықтарын айта кеткен жөн. Мұндай жағдайды қандай да бір ерекше санаудың қажеті жоқ-терминнің қозғалыс, энергия, жүйе, байланыс, тіл т.б. сияқты көптеген мағынасы болып және сол мағынада қоданылғанда көптеген ұқсас үлгілер келтіруге болады. бір мағыналы болмауды терминнің өз анықтамасы әрбір "тар" пәнде берілетіндігі жеңеді-оның "жеке" деп санаған жөн - дәл сол қолданылады. Бірақ бұл мұндай анықтаманы көшіруге және оны осы пәннің шеңберінен тыс қолдануға негіздеу бермейді. Мысалы, теориялық механикада "байланыс" дегеннің ауысымдылығы мүмкіндігін шектейтін қандай да бір артық әсер ретінде анықталады. Мұндай түсіндірмені айталық, телеграфта немесе әлеуметтік ғылымда қолдануға тырысудың мәні жоқ. Информация терминімен де ұқсас жағдай: тұрмыстық деңгейде және көптеген ғылыми пәндерде ол мәлімдеу, білім, мәліметтер, хабар, хабарлама, басқарма және т.б. ұғымдармен байланыстырылады. Барлық аталған мысалдарда жалпысы олардағы мәнді және мағыналысы пайдалану үшін аұқпараттың мазмұндық жағы - "дұрыс мағына" жағынан бұл әбден табиғи болып көрінеді. Алайда мағынаның бағалануы мен әртүрлі адамдардың бір ақпаартты бағалауы, жалпы айтқанда, әртүрлі болады: ақпарттың мағыналық жағының объективті сандақ өлшемі болмайды. Бір жағынана ақпараттың семантикалық негізі еш рөл ойнамай қалған, нақтырақ өлшеуі өлшеуі тиіс, ал бұл үшін ақпараттың материалдық көрсетілуінің өзгермеуін қамсыздандыруы жөн ақпараттың ерекше бнлгілері түрінде қабылданатын жағдайлардың мысалдарын келтіруге болады. осы себептен теориялық техникалық және тіпті ұйымдастырушылық қолданыстар қатарында ақпараттың, онымен байланысты өзгерістер болмауын, сондай-ақ осы процестердің, салыстырусыз-ақ ақпарттың өзінің мазмұның іске асырудың ең жақсы жағдайын іздеуді қамсыздандыру тапсырмасына мұқият болу керек. Мысалы, кітапхан міндеті- қордағы кітаптарға олардың мазмұнына байланыссыз кез келгеніне оқырмандардың рұқсатын, тіркелуін, сақталуын қамтамасыз ету. Кітапханашылардың әрекеті формалды белгілеріне- кодтары, автордың фамилияларына, атауы бойынша қажетті кітапты іздеп тауып оқырманға беруге салды, оған қоса кітаптың мазмұны, пайдалылығы, мәнділігі т.б. оны сақтаушы емес оқырман бағалайды. Ақпаратты оның семантикалық негізінен ажыратып, біз ақапарат анықтамасын құруға, сонымен қатар оның объективті сандық өлшемін жүргізуге мүмкіндік аламыз, операциялық деп аталатын анықтама әдісі және түсіндіріп баяндаудағы өлшеу әдісі немесе анықталатын шаманың мәнін табу пайдаланылатын болады- мұндай тәсілге бір мағыналылықпен өлшемі жоқ категориялар үшін жету қиын объективтілікті қамсыздандыратындықтан ғылыми білімдегі жоғары бағалау беріледі. Мұндай тәсілдің ашылуы ақпарат теориясының басты еңбегі болып табылады. Ақпараттың операциялық анықтамасын ал өткен және жалғасып келе жатқан ұғымдар қатарын менгертуді талап ететіндіктен, 2 тарауда қарастыратын боламыз. Әзірге біз, кез келген ақпарат ие болатын ерекшеліктерді талқылаймыз. Сондықтан біздің материалдық әлемімізде болып, таралуы үшін ол қандайда бір материалдық негізбен міндетті түрде байланысты болуы тиіс - онсыз ақпаратты біз көрсетіп, беріп және сақтай алмаймыз, мысалы, қабылдап есте сақтай алмаймыз. Анықтама жүргіземіз: Ақпараттың көрсетілуі немесе берілуі үшін қызмет ететін материалды объектіні немесе ортаны материалды таратушы деп атайтын боламыз. Ақпараттың материалын таратушы қағаз, ауа, лазерлі дик электромагнитті өріс және т.б. болуы мүмкін. Оның үстіне ақпарат сақталуы уақыт ағымымен өзгермейтін таратушының кейбір сипаттамаларымен байланысты, мысалы, дыбыс толқынының тербеліс амплитудасы немесе өткізгіштегі қуат басқаша айтқанда ақпарат сақталуы таратушының жағдайының белгіленуімен, ал таралу таратушыда өтетін процеспен байланысты жағдай мен процесте физикалық, химиялық, биологиялық немесе басқа негіз болуы мүмкін, бастысы олар материалдық. Алайда кез келген процеспен ақпартты байланыстыруға болмайды. Соның ішінде стационарлы процесс, яғни уақыт өте өзгеретін процесс ақпарат таратпайды. Бұған тұрақты электр тоғы, шамның тегіс жануы немесе бір қалыпты гуіл бола алады- оларда процесс болып жатқан, яғни бірдеңе жұмыс істеп жатқан ақпарат болады. Егер біз шамды өшіріп, жақсақ, яғни оның жарықтығын өзгертсек іс басқа кезекпен жағып, үзіліс жасау ақпаратты көрсестеді және беру мүмкін процесс қажет. Оған қоса ақпарат процестің болуымен емес, оның қандай да бір сипаты өзгеруімен байланысады. Ақпарат берілуі үшін пайдаланылатын таратушы сипатының өзгеруі сигнал деп, ал өлшеудің кейбір шкаласына жататын осы сипаттаманың мәні сигнал параметрі деп аталады. + кестеде ақпарат берілу үшін пайдаланылатын процестердің және олармен байланысты сигналдардың мысалы келтірілген Беру тәсілі Процесс Сигнал параметрі Дыбыс Дыбыс толқыны Дыбыстың жоғарылығы, қаттылығы Радио, теледидар Радиотолқындар Радиотолқынның жиілігі, амплитудасы немесе фазасы Кескін бейнесі Жарық толқыны Жарық толқынының жиілігі мен амплитудасы Телефон компьютер желісі Электр тоғы Байланыс сызығындағы электр тербелісінің жиілігі мен амплитудасы Алайда жалғыз сигнал, біз әрі қарай көретіндігіміздей көп ақпарат ұстап тұра алмайды. Сондықтан ақпарат берілу үшін мына бірінен соң бірі берілетін сигналдар қатары пайдаланылады. Сигналдардың бір ізділігі хабарлама деп аталады. Осылайша ақпарат берушіден қабылдаушыға хабарлама түрінде беріледі. Хабарлама берілу кезінде ақпарат көрсетілуі үшін материалды қабық ретінде шығады. Сондықтан, хабарлама ақпарат хабарлама мазмұны болады. Хабарлама мен онда мазмұндалатын ақпараттың үйлесімділігі хабарлама түсіндірілуінің ережесі деп аталады. Бұл үйлесімділік бір мағыналы да бір мағыналы емес те болуы мүмкін. Бірінші жағдайда хабарламада түсіндірудің бір ғана ережесі болады. мысалы, Морзе әліпбиіндегі нүкте, сызықша, паузаның бірінен соң бірі келуі бойынша берілген әріп қалпына келтіріледі. Хабарлама мен ақпарат арасындағы үйлесімділік бір мағыналы болмауы екі нұсқада мүмкін: * бір ақпарат әртүрлі хабарламамен берілуі мүмкін. * бір хабарламада әртүрлі қабылдаушы үшін әртүрлі ақпарат болуы мүмкін. Келесі бастапқы ұғым - ақпараттық процесті талқылаймыз. Жалпы процесс "термині" жүйені немесе объектіні сипаттайтын кейбір қасиет сыртқы әсердің немесе қандайда бір ішкі себептің нәтижесінде уақыт ағымымен өзгеретін жағдайда қолданылады. Материалдық ақпаратта уақыт ағымымен қандай ерекше белгілер өзгеруі мүмкін? Сірә, ақпарат, яғни хабарлама көрсетілетін оның мазмұны мен материалдық қабығы ғана. Осыған байланысты мына анықтаманы қабылдаймыз. Ақпараттық процесс - бұл ақпарат немесе оның хабарламасы мазмұнының ауқыт ағымымен өзгеруі. Ақпарат процестерінің әр түрлі түрлері аз ғана: - жаңа ақпарат тууы - ақпараттың түрленуі - ақпарат жойылуы - ақпарат берілуі Шыныдығында аталған барлық оқиғалар ақпараттың өзі арқылы болмайды, хабарлама арқылы, яғни материалды қабығы арқылы болады. Және бұл ұстанымнан процестің екі түрі ғана мүмкін: онда мазмұндалатын ақпарат сақтауымен хабарлама өзгеруі және ақпарат түрленуі мен бірге жүретін хабарлама өзгерісі. Бірінші типтегі процесске ақпараттың шығынсыз берілуі мен бастапқы қалпына келетін қайта кодтау жатады. Екінші типтегі процесске жасалу - жойылу, бастапқы қалпына келмейтін қайта кодтау, шығынмен берілу, жаңа ақпараттың пайда болуымен өңделу жатады. Ақпарат сақталуына жеке тоқталған жөн. Айтылып кеткендей, сақтау әрі қарай уақыт ағымымен өзгермейтін материалдық таратушының параметрі белгіленуімен байланыстырылады. Сондыөтан таратушыға ақпарат жазылуы мен оның әрі қарай салыстырылып оқылуы ақпараттық процестің анықтамасына түседі, ал сақтаудың өзі - жоқ. Сақтауды ақпараттық жағдай деп атаған жөн еді, алайда, мұндай ұғым информатикада пайдаланылмайды. Ақпарат берілуімен тағы екі бастапқы кездесетін ұғым байланысты, олар ақпараттың берушісі мен қабылдаушысы. Ақпарат көзі - бұл ақпарат тудыратын оны хабарлама түрінде көрсететін субъект немесе объект. Ақпарат қабылдаушы - бұл хабарламаны қабылдайтын және оны дұрыс түсіндіруге қабілетті субъект немесе объект. Бұл анықтамаларда субъект немесе объектінің үйлесуі ақпаратты беруші мен алушы жанды немесе жансыз боуы мүмкін дегенді білдіреді. Объект ақпарат көзі болуы үшін ол оны тудырып қана қоймай, қандай да бір стационарлы емес процессті иницирлеуге мүмкіндігі болуы және ақпаратты оның параметрімен байланыстыруға, яғни хабарлама тудыруға мүмкіндігі болуы тиіс. Мысалы, егер адам бірдеңе ойласа, бірақ оны өз миында ұстаса, ол ақпарат көзі болмайды, алайда ол оны қағазға түсірсе немесе сөзбен айтса сол сәтте - ақ ақпарат көзі болады. Ақпарат қабылдаушыны анықтауда хабарламаны қабылдау әлі ақпаратты алу дегенді білдірмейтіндігі маңызды көрсетіледі. Ақпарат, егер қабылдаушыға ақпарат түсіндірілу ережесі белгілі болған жағдайда ғана алынған болып санала алады. Басқаша айтқанда хабарлама қабылдаушы мен ақпарат қабылдаушы ұғымдары пара - пар емес. Мысалы, таныс емес тілде сөзді ести тұрып, адам хабарлама қабылдаушы емес. Адамда сыртқы әлеммен байланыс үшін бес сезім мүшесі болатыны белгілі. Сондықтан біз хабарламаны солардың біреуі арқылы ғана қабылдай аламыз әйткенмен бұл ақпаратты беру немесе алу үшін адам олар қабылдай алмайтын, мысалы, радиотолқын сияқты қандай да бір басқа процесстерді пайдалана алмайды деген сөз емес. Бұл жағдайда ақпарат беруші адам оның хабарламасын радиотолқынға түрлендіретін аралық қондырғыны, ал қабылдаушы адам радиотолқындарды дыбысқа түрлендіретін радиоқабылдағыш басқа аралық қондырғыны пайдаланады. Мұндай амал белгілі түрде ақпаратты беру және қабылдауды іске асыруда адамның мүмкіндігін кеңейтеді. Аралық түрлендіруші қондырғылар байланыстың техникалық байланысы деген атауға ие болды, ал оларды ортамен қосатын жиынтықта олар байланыс сызыға деп аталады. Оларға телеграф, телефон, радио, теледидар, компьютерлі телекоммуникация және т.б. жатады. Мұндай құралдарыд пайдалануда хабарламаны алушы үшін ақпарат шығынсыз бір түрден екінші түрге түрлену қажеттілігі, сондай-ақ қабылдағыш пен байланыс сызығы мүмкіндіктерімен хабарлма беру жылдамдығының үйлесу қажеттілігі туындайды. Бұл екі мәселе де ақпарат теориясында орталық болып шығады. Алдынғы пункте ақпарат берілу, сигнал көмегімен жүретіні, ал сигналдың өзі уақыт ағымымен таратушының кейбір сипаттарының өзгерісі болып табылатыны айтылған. Оған қоса уақыт ағымымен бұл сипаттамалар өзгерісінің ерекшеліктеріне байланысты сигнал үздіксіз және дискретті болып екі түрге бөлінеді. Егер сигнал параметрі белгісін Z - деп , уақытты t - деп белгілесек, онда байланысы Z(t) үздіксіз функция болады. (a) үздіксіз сигнал (б) дискретті сигнал Сурет 1.1 Үздіксіз және дискретті сигналдар. Үздіксіз сигналдардың мысалы сөз және музыка, кескін, термометр көрсеткіші т.б. Егер сигналдың параметрі бірнеше интервал шегінде белгінің соңғы санын қабыдай алса, диксретті сигнал болып табылады. Дискретті сигнал мысалы 1.1(б) суретінде көрсетілген. Дискретті сигналдарды анықтамада айтылғандай, параметрді (Z) дикретті және шеткі көптеген белгілері суреттеп түсіндіреді. Дискретті сигналдарды пайдаланатын қондырғылар мысалы сағаттар (электрондық және механикалық) сандық өлшеуіш құралдар, кітаптар, табло және т.б. Сигналдардың бір ізділігі хабарлама болғандықтан сигналдардың үздікті - үздіксіздік сапасы хабарламаға ауыса қалады - үздіксіз хабарлама және дискретті хабарлама дискретті болып саналатыны анық ақпарат материалды емес категория және дискреттік немесе үздіксіздік қасиетке ие бола алмайтындықтан ақпараттың өзінің берілген спасын қосымша жазуға негізделген сапасын қосымша жазуға негіз анағұрлым аздау. Екінші жағынана сол ақпаратты , айтылып кеткендей, әртүрлі хабарламалар олардың ішінде сигнал сипатымен ерекшеленетіндері арқылы көрсетуі мүмкін. Мысалы, біз еститін сөзді магнитофон көмегімен ұқсас түрде жазып алуға, сондай-ақ әріптерді дискретті теру арқылы конспектілеп алуға да болады. Сол себептен де информаткада "үздіксіз ақпарат" және "дискретті ақпарат" үйлесімділігі бар және пайдаланылады. Оларды тек "үздіксіз сигналдар арқылы көрсетілетін ақпараттар" деген толық фразалардың қысқартылуы ретінде ұғыну қажет - дәл осындай конспектіде бұд ұғымдар әрі қарайғы мазмұндауда пайдаланылатын болады. Сондықтан сөз ақпараттар түрлері туралы болғанда хабарламадағы оның көрсетілу формалары немесе хабарламалардың түрлдері туралы айтқан дұрысырақ. Үздіксіз және дискретті сигналдардың негізгі және маңызды айырмашылығы дискретті сигналды белгілеуге, яғни берілген белгіні басқасынан ажырататын белгі сигналының мүмкін мәндерінің соңғы сандарының әрқайсысына қосымша жазуға болатындығы. Белгі - бұл бір - бірінен өзгеше кейбір соңғы көптеген мәндердің элементі. Белгілі жаратылысы кез келген - ым, сурет, әріп бағдаршам сигналы, нақты дыбыс т.б. бола алады. Белгі жаратылысын хабарлама таратушы және хабарламада ақпарат көрсету формасын анықтайды. Дискретті ақпараттарды көрсету үшін пайдаланылатын белгілердің барлық жиынтығы белгілер жинағы деп аталады. Осылайша жиынтық белгілердің дискретті көп тірлігі Белгілердің қолданылуна тіртіп орнатылған белгілер жиыны алфавит деп аталады. Сондықтан, алфавит - бұл белгілердің реттелген жиынтығы. алфавитте белгілердің қолданылуы, тәртібі лексикографиялық деп аталады. Осы тәртіптің арқасында белгілер арасында "үлкен - кіші" қатынасы орнайды. Екі белгі үшін егер реттік нөмір ჴ алфавитте N-нен кіші болса ჴD типіндегі түрленуге жалпы амалды талдаймыз. Математикалық көз қараста сигналды ұқсас формадан дискреттіге өтуі соңғы көптікпен {Z1, t1} кейбір бөлікте [t1 t2 ] уақытта Z (t) үздіксіз қызметін түсіндіретін алмасуды білдіреді. Мұндай түрлену үздіксіз сигналдың дискретизациясы деп аталады және екі операция уақыт бойынша квантталуы арқылы жүзеге асады. Уақыт бойынша жазба көлем Z белгісін бақылау үздіксіз жасалмай, ал уақыттың нақты бір уақытында интервалмен ∆t жасалатындығында. Шама бойынша квантталу - бұл кейбір тұрақты шамаларға еселі сандардың соңғы көптігіндегі сигнал параметрінің заттық белгісінің бейнесі. Екі операцияның бірге орындалуы 1.2 суретте көрсетілнедей графикке Z (t) масштабы тордың түсірілуіне тең. Одан әрі екі белгі {Z1, t1} ретінде Z(t1)-ге аанағұрлым жақын орналасқан тор түйіні таңдалады. Осылай алынған көптеген түйіндер бастапқы үздіксіз қызметтің дискретті көрсетілуі болып шығады. Осылайша Z (t) жүруімен байланысты кез келген хабарлама дискреттікте түрленуі мүмкін, яғни кейбір алфавиттер арқалы көрсетілуі мүмкін. Сурет 1.2 уақыт бойынша жазба операциясы есебіне ұқсас сигналдың дискретизациясы және шама бойынша квантталу. Мұндай аламасуда n азырақ болған сайын тор саны азырақ бірақ белгілердің Zi алмасуы Z (t) дәлдігі азырақ болады. Бір қарағанда нүктелер n саның өсірумен алынған массив пен бастапқы функция арасындағы үйлесімдікті жақсартуға болатын сияқты, алайда n - шектеулі шама болғандықтан бәрібір ақпарат жоғалуынан толық құтылудың сәті түспейді. К.Шеннонның жұмысынан соң 1948 жылы ғана мағынасы ақпарат берілу мәселесін шешу үшін жете түсіндірілген В. А. Котельников дәлелдген санау теоремасы деп аталатын торема бұл күманға жауабы болады. Біз дәлелдеусіз қабылдайтын, бірақ ары қарай пайдаланатын теорема былай: Үздіксіз сигналды өлшем жүйелілігі бойынша немесе сигналдағы ең жоғары жиіліктің периодының жартысына тең немесе аз уақыттың бірдей интервалы арқылы бұл сигналдың шамасының есептеуі бойынша дәл жаңадан жасауға болады. Теоремадағы түсіндірме: * теорема беру үшін тербелмелі немесе толқынды процесстер қолданылатын байланыс сызықтарына ғана қатысты. Байланыстың практикалық қондырғыларының көпшілігінің әрекеті дәл осы процесстерге негізделгендіктен бұл белгілі шектеу ретінде қабылданбауы тиіс. 2. кез келген мұндай қондырғыны тербеліс жиілігінің барлық спектрі пайдаланбайды, тек оның қандай да бір бөлігі ғана; мысалы, телефон желілерінде 300 - ден 3400 гц - қа дейінгі жиіліктегі тербелістер пайдаланылады. Санау теоремасына сәйкес анықтаушы жиіліктің жоғарғы шегінің мәні - оны Vm деп белгілейміз. Теореманың мәні дискретизация ақпарат жоғалуына апармайтындығында және дискретті сигнал бойынша егер уақыт бойынша жазба мына үйлесімдікпен сәйкес орындалған болса, бастапқы ұқсас сигналды толығымен қалпына келтіруге болады. ∆t <= (1.1) Санау теоремасының сөзін өзгертуге болады: Егер (1.1) - ге сәйкес анықталған жазба қадамы жоғары бомаса үздіксіз (ұқсас) сигналды ерекшелігімен байланысты ақпарат шығынынсыз уақыт бойынша жазба жүзеге асуы мүмкін. Мысалы, дискретті жазбада Vm =4000 Гц дейінгі жиілікпен сөздік сигналды дәл беру үшін секундына 8000 - нан кем санау болмауы тиіс; теледидарлық сигналдар, Vm - 4 Гц, сондықтан оның нақты берілуі үшін секундына 8000000 - ға жуық санау қажет болады. Алайда дискретизацияда уақытша жазбадан басқа құрайтын кванттау бар. Кванттау қадамы қандай түсінікпен анықталады екен? Адам ба, әлде қондырғы ма кез екдген хабарлама лаушы да сигнал шамасын айырып танудың соңғы щектегі дәлдігі әрқашан болады. Мысалы, адам көзі 16 миллионға жуық түс реңдерін айыра алады; бұл түсті кванттауда басқыштаушылықты көптеп жасаудың мәні жоқ дегенді білдіреді. Сөздің берілуінде анағұрлым азырақ дәлдік - 1%-ға жуық дәлді жеткілікті болады, сондықтан дыбыс тербелісінің амплетудасы үшін Z=0,01*Zmax, ал дыбыс қаттылығының барлық басқыштаушылығын белгілеуде 100 белгі болуы тиіс. Біз кванттау қадамы қабылдауушы қондырғының сезімталдығымен анықталады деген қорытындыға келеміз. Сигналдың шама бойынша квантталу мен уақыт бойынша жазылу қадамын таңдау бойынша нұсқалған түсінік дыбыс пен кескіннің цифрлау негізінде жатады. Мұндай түрлендірулер болатын қондырғыларға сканер, модем, дыбыс пен бейненің лазерлі күйтабақ ойнатқыш, графақұрушы мысал бола алады. "Сандық жазба", "сандық сигнал" терминдерінің екі сандық алфавит қолданылуымен дискретті көрсету ретінде түсінген жөн. Сөйтіп, N--> D, керісінше D --> N сияқты типтегі сигналдар түрленуі ондағы ақпараттардың жоғалуынсыз іске асырылады. D1--> D2 типтегі түрлену сигнал көрсетілуі кезінде бір алфавиттен екіншісіне өтуінен тұрады - мұндай операция қайта кодтау деп аталады және шығынысыз іске асуы мүмкін. Мұндай түрленулер жүзеге асатын жағдайға мылалар мысал бола алады: ақпараттың компьютерлік таратушыдан салыстыра жазу; мәтінді шифрлау және шифрды жай жазуға айналдыру; калькуляторда еептеу. Сөйтіп, N1 --> N2 - ден бсақа жағдайларда хабарлама түрленуі ондағы ақпарат шығынсы мүмкін екен. Оған қоса бір қарағанда үздіксіз және дискретті хабардламалар тең провалы болып көрінеді. Алайда, шығынында, бұл олай емес N--> D және D --> N түрленулерінде ақпарат сақталуы оларда дискретті көрсетуі қатысқандығы арқасында қамтамасыздандырылады. Басқаша айтқанда хабарламаның ақпарат шығынысыз түрленуі егер олардың кем дегенде біреу дискретті болған жағдайда ғана мүмкін. Мұнда хабарлама түрлерінің симметриялы еместігі және дискретті форманың артықшылығы көрінеді. Оның басқа қасиеттеріне мыналарды жатқызуға болады. * жоғарғы кедергіге онықтылығы * қарапайымдылығы және салдары ретінде сенімділігі және ақпарат өңдеу бойынша қондырғының арзандығы * өңдеуші элементтерінің санымен анықталатын және олардың дайындалуы дәлдігіне байланыссыз ақпараттар өңделуінің дәлдігі * қондырғының әмбебабы. Соңғы сапа - әмбебаптық - қайтымды кодтау арқылы әртүрлі алфавиттерде құрылған кез келген дискретті хабарламаны бірыңғай алфавитқа әкелуге болатындығының салдары болып шығады. Бұл кейбір алфавиттерді базалық ретінде бөлуге және онда кез келген дискреттті ақпаратты көрсетуге мүмкіндік береді. Сонда базалық алфавиттегі ақпаратпен жұмыс істейтін қондырғы кез келген басқа дискретті ақпаратты қайта өңдеу үшін пайдаланылған болуы мүмкіндігі жағынан әмбебап болып шығады. Біз одан әрі көретін мұндай базалық алфавит екілік алфавит, ал оның әмбебап қондырғысын пайдаланушы компьтер болып табылады. Энтропия ұғымы Бұл теориямен таныс емес адамдар үшін оның қажетті элементтері А қосымшадан кейбір формалырға сілтеулер бар - олар 1-ші индекс ретінде А әрпіне ие. Кездейсоқ оқиғалар "ықтималдық" ұғымын пайдаланумен түсіндіріліп баяндалуы мүмкін. Ықтималды теорясы үйлесімділігі жалғыз кездейсоқ оқиғалардың да, сондай - ақ өзара байланысқа немесе байланыссыз бірнеше оқиғаларды біріктіретін қиын тәжірибелердің ықтималдылығын табуға мүмкіндік береді. Алайда кездейсоқ оқиғаларды ықтималдық теориясында ғана баяндауға болады деуге болмайды. Оқиғаның кездейсоқтығы оның нәтижесінде толық сенімділік жоқтығын білдіреді, бұл өз кезегінде берілген оқиғамен байланысты бастапқы тәжірибеге белгісіздікті тудырады. Белгісіздік дәрежесі әртүрлі сипатуациялар үшін түрліше екені сөзсіз. Мысалы, егер тәжірибе жоғары оқу орынының күндізгі бөлімінің 1- курсына кездейсоқ алынған студенттің жасын анықтаудан тұратын болса, онда үлкен сенімділікпен ол 30 - ға болып шығатынын айтуға болады. Күндізгі бөлім жағдайы бойынша онда 35 ке дейінгі жастағы тұлғалар оқи алатын болғанымен іштей тлдауға бірнеше жыл ішінде бітірген түлектер жиі оқиды. Егер еркімен алынған студенттің жасы 18-ден кіші бола ма екені тексерілсе, ұқсас тәжірибеде әлдеқайда азырақ нақылық болады. Практика үшін әртүрлі тәжірибелердің белгісіздігінің сандық бағасын жүгізу мүмкіндігі болғаны маңызды. Белгісіздіктің осындай сандық өлшемін клтіріп көрейік. Тәжірибе тең мүмкіндіігі бар бастауға n ие болғандағы қарапайым ситуациядан бастайық. Олардың әрқайсының белгісіздік өлшемі нәтиже (f(n)) санының функциясы болып табылады. Бұл функцияның кейбір қасиеттерін көрсетуге болады: * n=1 болғанда тәжірибе нәтижесі кездейсоқ болмайтындықтан f(1)=0, сондықтан белгісіздік жоқ. * Мүкін нәтижелер саны көбірек болған сайын, тәжірибе нәтижесін болжау соншалықты қиын болып кететіндіктен, f(n) n - нің өсуімен бірге өседі. Функцияның f(n) айқын түрін анықтау үшін теңмүмкіндікті нәтижелер санымен α және β екі тәуелсіз тәжірибені, сәйкесінше Πα, Πβ-ді қарастырымыз. Орында α және β тәжірибелерінің бір уақытта орындалуынан тұратын қиын тәжірибеге ие болсын делік: Олардың мүмкін нәтижелерінен саны nα, nβ-ға тең мүмкіндікті мұндай қиын тәжірибенің α және β нәтижесінің белгісіздігі оған α белгісіздігі қосылатындықтан α тәжірибесінің белгісіздігі көбірек болатыны анық; қиын тәжірибе белгісіздігінің мөлшері f(Πα, Πβ) тең. Екінші жағынан жеке α және β-ның белгісіздік өлшемі сәйкесінше f(Πα) және f(Πβ)-ны құрайды. Бірінші жағдайда біріккен оқиғалардың ортақ белгісіздігі көрінеді, екіншісінде әр оқиғаның жеке белгісіздігі көрсетіледі. Алайда α мен β тәуелсіздігінен қиын тәжірибеде олар бер - біріне ешқандай ықпал ете алмайды, соның ішінде α мен β-ның белгісіздігіне ықпал көрсете алмайды және керісіншеү. Сондықтан жиынтық белгісіздіктер өлшемі тәжірибелердің әрқайсысының белгісіздік өлшемі сомасына тең болуы тиіс: f(nα*nβ)=f(nα)+f(nβ) (2.1) Енді ол қасиеттер (1) мен (2) және үйлесімдік; (2.1) қанағаттандыру үшін функцияның f(n) айқын түрі қандай болуы мүмкін деген ойға қаламыз. Мұндай қасиет жиынтығын функция logn(n) қанағаттандыратынын көру оңай, оның үстіне ол функцияның барлық кластарының ішінде жалғыз екенін дәлелдеуге болады. Сөйтіп теңмүмкіндікті нәтижелері (n) бар тәжірибелердің белгісіздігі мөлшеріне logn(n) санын қабылдауға болады. Бұл жағдайда логарифм негізінің таңдалуында мән жоқ екенін айта кеткен жөн, өйткені лагорифмнің бір негізден екіншісіне түрленуінің белгілі формуласы күшіне. lognbn=lognba*lognan басқа негізге өтуі тұрақты, көбейткіштің lognba түрінің екі бөлігі үшін бірдей (2.1) енгізуден тұрады, бұл белгісіздік өлшемімасштабының өзгерісіне тең күште. Бұл осылай болғандықтан бізде логарифм негізінің біз үшін қолайлысын таңдап алуға мүмкіндік бар. Қолайлы негіз екеу, өйткені бұл жағадайда өлшем бірлік үшін айқын көрсетуге болатын және математикалық логика аппаратын осындай оқиғалардың анализі үшін қодануға болатын тек екі бірдей мүмкіндікті нәтижелерге бар тәжірибедегі белгісіздік қабылданады. Тәжірибернің екі мүмкін теңмүмкіндікті нәтижелерінде белгісіздік өлшем бірлігі бит2 деп аталады. Сөйтіп, біз n бірдей мүмкіндікті нәтижелері бар тәжірибе белгісіздігі өлшемін түсіндіретін функцияның айқын түрін анықтадық. f(n)=logn2 n (2.2) Бұл шама энтропия атауына ие болды. әрі қарай оны H деп белгілейтін боламыз. Қайтадан n бірдей мүмкіндікті нәтижелері бар тәжірибені қарасытырамыз. әрбір нәтиже кездейсоқ болғандықтан, олардың белгісіздіктері бірдей деу миға қонымды. Белгісіздік аддитивтік қасиеттен, сондай-ақ (2.2) сәйкес жалпы белгісіздік f(n)=logn2 n - ға тең, бір бастаумен енгізілген белгісіздік мынаны құрайды. , мұнда - кез келген жеке нәтиженің ықтималдығы. Осылайша, бірдей мүмкіндікті нәтижелердің әрқайсы енгізілген белгісіздік мынаған тең. H=-p *log2 p (2.3) Енді тәжірибелер нәтижелері бірдей мүмкіндікті емес болғандаға ситуацияға (2.3) формуласын жинақтап қорытамыз, мысалы, p(A1) және p(A2). Сонда : H1= -p(A1) және H2= -p(A2)*log2 p(A2) H=H1+H2= -p(A1)*log2 p(A1)*log2 p(A1) -p(A2)*log2 p(A2) Тәждірибеде α бірдей мүмкіндікті емес нәтижелер A1, A2, ... An болған жағадайға бұл формуланы жинақтай отырып, мынаны алмыз. H(α)= - (2.4) Айтылып кеткендей осындай түрде енгізілген шама тәжірибе α энтропиясы деп аталады. Дискретті кездейсоқ шамалардың (А.11) орташа мәніне арналған формуланы пайдалана отырып, мынаны жазуға болады. H( ) мұнда А(α) тәжірибедегі (α) мүмкін нәтижелерді білдіреді. Энтропия кездейсоқ оқиғалар көрінетін және оның барлық мүмкін нәтижелерінің орташа белгісіздігіне тең тәжірибе белгісіздігі мөлшер болып табылады. Практика үшін (2.4) формуласы әртүрлі тәжірибелермен салыстыруға мүмкіндік беретіндгімен маңызды. Мысал (2.1) Әрқайсында 12 шардан салынған екі жәшік бар. Біріншісінде 3-ақ шар, 3-қара және 6-қызыл, ал екіншісінде әр түстен 4-тен. Тәжірибелер әр жәшіктен бір шардан алып шығудан тұрады. Бұл тәжірибелердің нәтижелерінің белгісіздіктеріне қатысты не айтуға болады? (2.4) - ке сәйкес екі тәжірибенің де энтропиясын табамыз: бит, бит, Hβ >Hα, яғни β тәжірибесінде нәтиженің белгісіздігі жоғары, сондықтан, оны α нәтижесіне қарағанда азырақ сенімділікпен боложауға болады. * Кездейсоқ нәтижелері бар тәжірибелерді белгілеу үшін грек әріптерін, ал тәжірибелердің жеке нәтижелернін белгілеу үшін латының бас әріптерін пайдаланатын боламыз. * Бит атауы ағылшынның binari digit сөзінен шыққан, дәлме - дәл аудармада екілік разряд немесе екілік бірлік дегенді білдіреді. o Энтропия қасиеттері 1. (2.4) - тегіге тиісінше тек екі жағдайда ғана H=0; а) p(A1) қайсыбірі 1-ге тең болғанда,алайда бұған қоса (A7)- ден қалған барлығы p(A1)=1(i!=j), яғни нәтижелердің бірі сенімді болғанда ситуация жүзеге асады; (b) барлығы p(А1)=0, яғни lim (p*logp)=0 екенін көрсету қиын емес юолғандықтан тәжірибенің қарсытырылған нәтижелерінінің ешқайсысы мүмкін емес. Барлық қалған жағдайларда H>0 екені анық 2. Тәуелсіз тәжірибе үшін дәлелдеу айқын нәтиже (2.1) болады. H(α∩β)=H(α)+H(β) (2.5) 3. Екі тәуелсізден тұратын қиын тәжірибе энтропиясы жеке тәжірибелер энтропиясының суммасына тең. 3-ДӘРІС. Ақпараттық жүйелер. Қарастырылатын сұрақтар: Ақпараттық жүйелер(АЖ). Ақпараттық жүйе ұғымы. Ақпараттық жүйелердің даму кезеңдері. Акпараттық жүйелердегі процесстер. Ақпараттық жүйелердің кұрылымы және топтасуы. Қамтамасыз ететін ішкі жүйелердің типтері. Ақпараттық жасау. Техникалық жасау. Математикалық және бағдарламалық жасау. Ұйымдық жасау. Құқықтық жасау. АЖ-ді есептердің құрылымдық белгілері бойынша топтастыру. АЖ-ді қызмет ету белгілері және басқару деңгейлері бойынша топтастыру. АЖ-дің өзге де топтастырылуы. Ақпараттық жүйелер -- әртүрлі күрделі жүйелердегі ақпарат ағынын талдау мәселелерін шешумен, олардың оптимизациясымен, құрылымдануымен, ақпаратты сақтау және іздеу прин.циптерімен байланысты информатиканың бөлімі. Ақпараттық-анықтамалық жүйелер, ақпараттық іздеу жүйелері, ақпаратты сақтау мен іздеудің заманауи ауқымды жүйелері (баршамызға белгілі Internet желісі де) ХХ ғасырдың соңғы онжылдықтарында көпшіліктің назарын өзіне аударуда. Принциптік шешімдердің теориялық негіздерінсіз ақпарат мухитында адасып кетуге болады. Мәселені ауқымдық деңгейде шешудің белгілі мысалы - гипертекстік іздеу жүйесі WWW болатын. Ақпараттық жүйе үғымы және оларды ұйымдастырудың кейбір принциптері ЭЕМ пайда болмай тұрып туындаған. Кітапханалар, архивтер, мекен-жай бюросы, телефон анықтамалығы, сөздщіктер - осылардың барлығы - ақпараттық жүйелер. Дәстүрлі ақпараттық жүйелерді жүзеге асыру үшін әртүрлі картотекалар, бумалар, журналдар, кітапхана каталогтары және т.б. қолданылған. Қағаз түрінде орындалған ақпараттық жүйелерге қызмет ету көптеген қиындықтар тудырады: ақпараттық жүйе көп болған сайын, соғұрлым қағаз және оны сақтайтын орын көп қажет болады. Қажетті ақпаратты табу да көп уақытты қажет етеді. Мәліметтерді жаңартуда, өңдеуде және талдауда да қиындықтар туындайды. Қазіргі информатикада ақпаратты сақтауға және өңдеуге компьютерлік техниканы қолданатын ақпараттық жүйелер қарастырылады. Кез-келген ақпараттық жүйе үш негізгі функция атқаруы керек: мәліметтерді енгізу, мәліметтер бойынша сұраныстарға жауап беру және есеп құру. Жалпы жағдайда ақпараттық жүйе құрылымын төмендегідей көрсетуге болады.: Кестеде ақпараттық жүйелер мен есептеуіш жүйелердің сипаттамалары көрсетілген: Ақпараттық жүйелер Есептеуіш жүйелер Мәні Ақпаратты жинау, сақтау және өңдеу Асқан дәлдікпен белгілі уақытта есептеу. ЕТ-ға талабы Ақпараттың үлкен көлемін сақтау. Сыртқы жадыны тиімді қолдану. Есептеудің үлкен көлемі; әрекеттездігіне үлкен талап; сыртқы жады аралық нәтижелерді сақтау үшін қолданылады. Интерфейсі ЕТ аймағының маманы емес - көп пайдаланушыға бағдарланған: Міндетті түрде жетілдірілген интерфейсіболуы Бір пайдаланушы-есептегішке бағдарланған; интерфей міндетті емес. 4-ДӘРІС. Ақпараттық технологиялар(АТ). Қарастырылатын сұрақтар: Ақпараттық технологиялар ұғымы. Ақпараттық технологиялардың даму кезеңдері. Ақпараттық технологияларды пайдалану мәселелері. Ақпараттық технологиялар түрі. Деректерді өңдеудің АТ-лары. Басқарудың АТ-лары. Шешімдерді қабылдауды сүйеудің АТ-лары. Эксперггік жүйелердің АТ-лары. Ақпараттық технология - ақпараттық ресурстарды қолдану процесін жеңілдету үшін ақпаратты жинау, сақтау, өңдеу, шығару және таратуды қамтамасыз ететін бір тізбекке біріктірілген әдістер, өндірістік және программа-техникалық құралдар жиынтығы. Қазіргі өркениетті қоғамда ақпаратандыру кезеңі өзінің барлық мүшелерімен қоғамдық жағдайға тәуелсіз ақпаратты және өзінің білімдерін қолданады, өздерінің алдарындағы үздіксіз пайда болатын мәселелерді шешеді. Кітаптарда, потенттерде, журналдарда, есептерде, идеяларда жиналған қоғамның барлық интеллектуалды потенуциалы білім, тәжірибе қорлары адамның күнделікті өндірістік, ғылыми, білім және қыөметтің басқа түрлері қазіргі технологиялық деңгейде қатысады. Ақпараттың бағалылығы және қазіргі қоғамның өмірінде ақпараттық қызмет көрсетудің салмақты үлесі өте қарқынды өсті. Бұл ақпараттандыру процесінде негізгі рольді материалдық бағалықтарды өздігінен өндірмейтін ақпарат атқарады. Ақпарат деп - нақты берілгендер туралы мәліметтерді түсіну және олардың арасындағы тәуелділіктер туралы білімдер жиыны, яғни қоғам өзін мойындауға және бүтін бөлігі ретінде функционалдай алатын құрал болып табылады. Ақпарат ғылыми түсінікті, оны түсіну және игеру мүмкіндігі, ақпараттан алынатын берілгендер нақты, қазіргі ғылыми деңгейге сәйкес болуы керек. Ақпаратандыру кезеңінің қоғамы қоғамдық өнім ретінде ақпаратты белсенді қолдану процесін сипаттайды. Осымен байланысты бұл қоғамның мүшелерінің өмірлік қызметінің барлық жақтарына әсер ететін жоғары ұйымдастырылған ақпараттық ортаны қалыптастырып өтеді. Ақпараттық орта көптеген ақпараттық сандарды, олардың арасындағы байланыстарды, ақпаратты жинау, тасымалдау, өңдеу және тарату құралдарымен технологиясын, яғни білімдерді, сондай - ақ ақпараттық процестерді қолдайтын ұйымдастырушылық және заңды құрылдымдарды өзіне қосады. Қоғам ақпараттық жүйені жасай отырып, бұл жүйеде функциялайды, өзгертеді және оын жетілдіреді. Қазіргі ғылыми зерттеулер көрсеткеніндей, қоғамның ақпараттық ортасын жетілдіру өндірістік күштерді дамытудың прогрессивті тенденцияларын қалыптастыруды білім беру сфераларын қоса алғанда қоғамның барлық сфераларында мүшелер қызметінің интеллектуализация процестерін, қоғамдық өзара қарым - қатынастар мен байланыстар құрылымын өзгертуді көрсетеді. Білім беру сферасында көрініс табатын прогрессивті қоғамдық дамудың жаңа мүмкіндігін ашатын технологияларды, әдістерді және құралдарды қалыптастырудың негізгі бірқатар бағыттарды бөліп алу қажет: - пәндік облыстардың математизациясы және ақпараттандырылуы: математика аппаратының мүмкіндігін іске асыру кезінде қазіргі ақпараттық технологияларды қолданады. Бұл математикалық статистикаға да қатысты, ақпаратты өңдеу процесстерін, ғылыми тәжірибенің нәтижесін автоматтандыруға, математика құрал - саймандарын әлеуметтік зерттеулерде қолдануға мүмкіндік береді. Математизация адам немесе ЭЕМ - мен шешім қабылданатын процесінің барлық кезеңдерінде қабылданатын шешімдердің сапасын көп факторлы сараптама, болжалдау, модельдеу және нұсқаларды бағалау, тиімді жоспарланудың қазіргі әдістерін қолдану есебінен жоғардлату мүмкіндігін береді. Бұл ғылыми негізделген сәйкестіктерді нақты жағдайда тиімді шешім қабылдауда әртүрлі пәндік облыстарда мәселелерді шешу процесінде информатиканың құралдарын және әдістерін қолдану. - қызметтің интеллектуализациясы: қазіргі ақпараттық технологиялардың техникалық және программалық құралдарының мүмкіндігін іске асыру: ақпарат ағындарымен басқаруды қамтамасыз ету; қолданушымен табиғи тілде қарым - қатынаста болып, бейнелер және жағдайдың танылуын іске асыру, оларды жүктеу; логиканы дәлелдеулерге тиімді үйрету; білімдерді жинау және қолдану; жеке түрде білім алу бойынша қызметтің әртекті қалыптарын ұйымдыстыру; зерттелетін заңдылықтың <<микрожаңалығын>> іске асыру. * интеграциялық процесстер: қазіргі ақпараттық технологиялардың операционалдық технологиялармен интеграциясы жүйелі тиімділікті қамтамасыз етеді, мұның әсерінен педагогикада орын алатын <<технологиялық жаңалық>> іске асады. Сонымен қатар, қазіргі ақпараттық технологияларды қолдану қоршаған ақпараттық, экологиялық, әлеуметтік ортаны тануды процесінің жалпы интеграциондық тенденцияларын қолдайды, оқу процесінң жеке түрде игерілу мүмкіндігін іске асыруға ықпал етеді. Білім беру процесінің тиімділігін қамтамасыз етеді. Оқу облысындағы ақпараттық ортаны жетілдіру, дамыту жалпы және жекелей түрде алғанда жаңа ақпараттық технология құралдарымен қызмет жасауды ұйымдастыруға арналған арнайы білім беру мекемелерінің бөлімшелеріне тәуелді. 5-ДӘРІС. Автомат ақпараттық жүйенің негізгі элементі ретінде Қарастырылатын сұрақтар: Абстракциялық автоматтар. ЭЕМ-программалық басқарылатын цифрлы автомат. Тьюринг машинасы. Пост машинасы. Әдетте автомат деп нәтижесінде материалды объектілердің, энергияның немесе ақпараттың түрленуі болатын белгілі бір амалдар тізбегін адамның қатысуынсыз орындайтын құрылғыны атайды. <<Адамның қатысуынсыз>> деген кезде амалдың орыналуы кезінде анық адамның басқаруы болмайды деген ұғым айтылып тұр. Дегенмен шын мәнісінде басқару жүргізіледі, бірақ адамның алдын-ала құрып, құрылғыға енгізген программасы арқылы. Бұдан әрі тек дискретті формада көрсетілген ақпаратты автоматты түрде өңдеуге арналған құрылғыларды ғана қарастырамыз. Құрылғы сыртқы ортамен ақпарат алмасатындықтан оның ақпарат енгізілетін енгізу каналы болу керек, сол сияқты түрлендіру нәтижесі берілетін шығару каналы болу қажет. Бұдан басқа, құрылғыда оның ағымдағы қалпы бекітілетін жадысы болу керек; жалпы жағдайда өңдеу нәтижесі енгізілген әрекеттер мен құрылғының ішкі қалпы арқылы анықталады. Айталық, енгізілетін ақпаратты көрсету үшін қанадай-да бір шекті Х алфавиті (енгізу алфавиті) қолданылсын, ал шығарылатын ақпаратты көрсету үшін Ү шекті алфавиті (шығару алфавиті) қолданылсын. Алфавиттің шектілігіне талап ақпаратты өңдеу уақытының шектілігіне байланысты. Ішкі қалпы ішкі алфавит деп есептеуге болатын дискретті жиынтықты құрайды - Q деп белгілейміз. Кіру сигналдарының келіп түсуі және құрылғы қалыптарының қайта қосулары үзіліссіз емес, ал белгілі уақыт мезеттерінде, яғни, дискретті түрде жүргізіледі деп есептейік. Егер мезеттердің тізбегі еркін болса, онда құрылғы элементтерінің жұмысын асинхронды ұйымдастырған деп айтады, мысалы, телефон нөмірін немесе құлыптың кодын теру. Дегенмен, күрделі құрылғыларда синхронды ұйымдастыру қолданылады, яғни мұнда сигналдардың келіп түсү мезеттері мен шығарылуы, сол сияқты ішкі қалыптарды қайта қосу бірінен кейін бірі такт деп аталатын бекітілген уақыт t = Const аралығында жүргізіледі. Бұл мезеттер арнайы құрылғы арқылы беріледі - тактілік генератор (немесе синхроимпульстық генератор). Уақыт бірлігіне тактілік импульстар саны тактілік жиілік деп аталады - ол құрылғының әрекетжылдамдығын анықтайтын маңызды факторлардың бірі болып табылады. Такт шекараларын бейнелейтін t0, t1, t2,... уақыт мезеттерін (t0 жұмыстың басталу мезетіне сәйкес келеді) енгізуге болады. Ішкі қалыптарының жиыны, енгізу және шығару сигналдары сол сияқты енгізу сигналдры келіп түсетін, ішкі қалыптары өзгеретін және шығу сигналдары берілетін уақыт мезеттерінің жиынтығы дискретті болатын құрылғылар дискретті құрылғылар деп аталады. Дискретті құрылғылардың мысалы телефонның теру дискісі, кодты құлып, калькулятор, электрондық табло және компьютер болып табылады. Пост машинасы Шындығында, Тьюрингтен айырмашылығы Пост <<машина>> терминін қолданбаған, өзінің моделін алгоритмдік жүйе деп атаған. Біз екі автордың да ойларының бір екенін айта отырып, әдебиеттерде көрсетілгендей Пост машинасы туралы айтамыз. Посттың абстрактілі машинасы бірдей секцияларға бөлінген шексіз лентадан, және оқитын-жазатын головкадан тұрады. Әр секция немесе бос (яғни оған ештеңе жазылмаған), немесе толтырылған (белгіленген - яғни, оған белгі жазылған) болады. Лентаның қалпы деген ұғым енгізіледі, бұл ұғым қай секциялардың бос, қай секциялардың белгіленгендігі туралы ақпарат береді (басқаша айтқанда: лентаның қалпы - бұл белгілердің секциялар бойынша таралуы, яғни бұл секцияның әрбір сандық нөміріне не белгі, не <<бос>> белгісін сәйкес қоятын функция). Әрине, машина жұмысы процесінде лента қалпы өзгереді. Лентаның қалпын және головканың орналасуын Пост машинасының қалпы сипаттайды. Шолынулы секцияның үстіндегі головканы <<>> таңбасымен, ал белгіні секцияның ішіндегі <<М>> таңбасымен белгілеуге шарттасайық. Бос секцияда ешқандай белгі болмайды. Бір тактіде (оны қадам деп те болады) головка бір секцияға оңға немесе солға жылжып, белгіні қоя немесе өшіре алады. Пост машинасының жұмысы берілген жеке командалардан құрылған программа бойынша машинаның бір қалпынан екіншісіне өтуінен тұрады. Әрбір команда келесі құрылымға ие: xKy, мұндағы х - орындалатын команданың нөмірі; K - орындалатын әрекет туралы нұсқау; у - келесі команданың (ізбасардың) нөмірі. Келесі кестеде 6 әрекеттен тұратын машинаның командалар жүйесі берліген: Таблица 7.1. № Команда Команданың жазылуы Машина әрекетінің сипаттамасы 1 Оңға қадам Xy Головканыі бір секция оңға жылжуы 2 Солға қадам Xy Головканыі бір секция солға жылжуы 3 Белгіні орнату XMy Шолынатын секцияға метка қойылады 4 Белгіні өшіру XCy Шолынатын секциядан метка өшіріледі 5 Басқаруды беру Шолынған секцияда белгі болмаса басқару y1 командасына беріледі, бар болса y2 командасына беріледі. 6 Тоқтату x стоп Машина жұмысын тоқтату Осы тізім келесі шарттармен толықтырылуы керек: * командасы тек бос секцияда ғана орындалуы керек; * командасы тек толтырылған секцияға қолданыла алады; * Кез-келген (y) командасының ізбасарының номері міндетті түрде осы программада бар команданың номеріне сәйкес келуі керек. Егер осы шарттар орындалмаса, машинаның нәтижесіз тоқтатылуы болады, яғни, жоспарланған нәтижеге алынудан бұрын тоқтатылу орындалады. Осы жағдан қарағанда командасымен тоқтату нәтижелі болып табылады, яғни ол алгоритм әрекетінің нәтижесі алынғаннан кейін орындалады. Сол сияқты, машинаның ешқашан тоқтатылмайтын жағдайлары да болуы мүмкін - бұл жаңдай егер командалардың ешқайсысы ізбасар ретінде тоқтату командасының номерінен тұрмаса немесе программа осы командаға өтпесе болады. Тағы бір негізгі түсінік келесі болады: кез-келген шекті алфавит таңбалары цифрлармен кодталған болуы мүмкін болғандықтан, осылардан алынған сөзді түрлендіру кейбір сандарды өңдеу ережелері түрінде көрсетілуі мүмкін. Осы себептен Пост машинасында тек бүтін оң таңбалы сандарды ғана жазу (көрсету) қарастырылады. k бүтін саны Пост машинасының лентасында келесі қатар белгіленген k+1 секциялар арқылы жазылады, яғни бірлік санау жүйесі қолданылады. Лентада көршілес сандарды жазғанда бір немесе бірнеше бос секциялар арқылы бөледі. Төменде 0,2,3 сандарын жазу келтірілген: M M M M M M M M Пост машинасының көмегімен шешілетін есептеу есептерінің шеңбері кең. Бірақ, жоғарыда айтылғандай барлығы элементар қадамдар деңгейінде белгіні қою немесе өшіру және головканы қозғалтуға келтіріледі. Мысал ретінде Пост машинасын меңгеруде талқыланатын бірнеше есептерді қарастырамыз. Программаның түрі машинаның бастапқы қалпына байланысты болғандықтан, ол есептің қойылымында анық көрсетілуі керек. Мысал 7.6 Лентада қандай-да бір сан жазылған және головка белгіленген секциялардың біреуін (кез-келгенін) шолуда. Осы санған бірлікті қосу программасын құр. Жағдай келесі суретте көрсетілген: Есепті шешуді қамтамасыз ететін программа 4 командадан тұрады: 1 және 2 командаларды тәзбектей орындау машинаның екі такті жасау барысында головканың оңға жылжуына әкеледі. Бұл орынауыстыру головканың кезекті жылжуынан кейін оның астында бос ұяшық қалғанша орындалады - сонда 3 команда бойынша оған белгі қойылады және 4 команда бойынша машина тоқтатылады. Мысал 7.7 Лентада қандай-да бір сан жазылған, және головка жазбаның сол жағында орналасқан бос секциялардың бірін (кез-келгенін) шолуда. Осы санға бірлік қосу программасын құру керек. Программасы: Программа жұмысына түсіндірме алдыңғы мысалдағыдай, тек айырмашылығы белгі бастапқы санның алдына қойылады. Комментарий к работе программы подобен приведенному выше с той лишь разницей, что метка ставится перед исходным числом. Пост машинасының көмегімен бірлік санау жүйесінде барлық арифметикалық әрекеттерді орындауға болатынын көрсетуге болады. Алдында көрсетілгендей сандар кез-келген дискретті ақпаратты көрсетуге қолданылады. Жекелей алғанда, лентаның қалпын екілік алфавиттегі сөз ретінде кқрсетуге болады, мұнда 0 бос секцияға сәйкес келеді, ал 1 белгіленген секцияға сәйкес келеді. Жұмыс процесі кезінде лента қалпы өзгереді, бастапқы сөзден шығатын екілік алфавитте көрсетілген сөзге ауысу орындалады. Тьюринг машинасы Тьюринг машинасы үш бөліктен тұрады: лентадан, оқитын-жазатын головкадан және логикалық құрылғыдан ( 7.1 суретті қара). Лента сырқы жады ретінде болады; ол шектелмеген (шексіз) болып есептелінеді - бұл Тьюринг машинасының моледьді құрылғы екенін көрсетеді, себебі ешқандай шынайы құрылғының шексіз көлемді жадысы болмайды. 7.1. сурет. Тьюринг машинасының схемасы. Пост машинасындағыдай, лента жеке бөліктерге бөлінген, бірақ, Тьюринг машинасында головка қозғалмайды, ал лента оған қатысты оңға және солға қозғалады. Басқа айырмашылығы ол екілік алфавитте емес, кандай-да бір кез-келген A = {, a1...a n} шекті алфавитте жұмыс істейді - бұл алфавит сыртқы алфавит деп аталады. Онда бос белгі деп аталатын арнайы символы ерекшеленіп тұр, оны қандай-да бір ұяшыққа жіберу ондағы белгіні өшіріп, ұяшықты бос қалдырады. Лентаның әр ұяшығына бір ғана символ жазылады. Лентада сақталған ақпарат сыртқы алфавиттің бос белгісінен басқа белгілерінің шектелген тізбегімен бейнеленеді. Головка әрқашан лента ұяшықтарының бірінің үстінде орналасады. Жұмыс тактілермен (қадамдармен) жүреді. Головкаларымен орындалатын командалар жүйесі қарапайым: әр такті сайын ол шолынулы ұяшықтағы ai белгісін aj белгісіне ауыстырады. Мұнда келесі сәйкестіктер болуы мүмкін: * j = i - бұл шолынулы ұяшықта ештеңе өзгермегенін білдіреді; * i0, j = 0 - ұяшықта сақтаулы белгі бос белгіге ауыстырылғанын, яғни өшірілгенін білдіреді; * i =0, j 0 - ұяшықта сақтаулы бос белгі бос емес белгіге (алфавиттегі j белгісіне) ауыстырылғанын білдіреді, яғни белгі қою орындалады; * i j 0 - бір белгіні екіншісімен ауыстыруды білдіреді. Осылайша, Тьюринг машинасында ақпараттарды өңдеудің ең қарапайым командалары жүзеге асырылады. Бұл өңдеудің командалар жүйесі тура сол сияқты қарапайым лентаның орын ауыстыруының командалар жүйесімен толықтырылады: бір ұяшық солға, бір ұяшық оңға және орнында қалу, яғни шолынулы ұяшықтың адресі команданы орындау нәтижесінде немесе 1-ге ауысады, немесе өзгеріссіз қалады. Бірақ, шыныда лента жылжығанмен, әдетте головканың секцияға қатысты жылжуы қарастырылады - сондықтан лентаның оңға жылжуы командасы R (< >) арқылы, ал солға жылжу командасы L (< >) арқылы, жылжудың болмауы - S (< >) арқылы бейнеленеді. Ары қарай головканың жылжуы туралы айтамыз да, R, L және S командаларын оның қозғалысы деп білеміз. Бұл командалардың қарапайымдылығы қандай-да бір ұяшықтың мазмұнына барғымыз келсе, ол жеке бір ұяшыққа жылжу командасының тізбегі арқылы ізделінетінін білдіреді. Әрине бұл өңдеу процесін біршама ұзартады, оның есесіне ұяшықтарды нөмірлеу және адрес бойынша өту командасынан арылуымызға көмектеседі, яғни, шынайы қарапайым қадамдардың санын азайтады, бұл теориялық тұрғыдан өте маңызды. Тьюринг машинасында ақпаратты өңдеу және таңбаны жазу командасын беру, сол сияқты лентаны жылжыту логикалық құрылғы (ЛҚ) арқылы орындалады. ЛҚ шекті жиын құрып, Q ={q1...qm, z} арқылы бейнеленетін қалыптардың бірінде бола алады, z қалпы жұмыстың аяқталғанына сәйкес келеді, ал q1 бастапқы қалып болып табылады. Q таңбасы R, L, S таңбаларымен бірге машинаның ішкі алфавтін құрады. ЛҚ екі кіру каналына (ai, qi) және үш шығу каналына (ai+1, qi+1, Di+1) (суретке қара) ие: Схеманы келесі түрде түсіну керек: i тактісінде ЛҚ-ның бір кірісіне сол мезетте шолынулы (ai,) ұяшығынан белгі беріледі, басқа кірісіне сол мезеттегі ЛҚ-ның қалпын (qi)-ді бейнелейтін белгі беріледі. Алынған (ai, qi) белгілерінің үйлесуіне және бар өңдеу ережелеріне байланысты ЛҚ жаңа (ai+1) белгісін дайындап, бірінші шығыс каналынан шолынулы ұяшыққа бағыттайды, головканың орын ауыстыру командасын (R, L және S-ден Di+1-ді) береді, сол сияқты келесі басқару белгісін (qi+1 ) шақыру командасын береді. Осылайша, Тьюринг машинасы жұмысының қарапайым қадамы (такт) келесіден тұрады: головка шолынулы ұяшықтан символды оқиды, және өзінің қалпына және оқылған символға байланысты қандай символ жазу (немесе өшіру) керектігі және қандай қозғалыс орындау керектігі жазылған команданы орындайды. Мұнда головка да жаңа қалыпқа өтеді. Мұндай машинаның функционалдану схемасы келесі 7.2 суретте көрсетілген. Сурет 7.2. Тьюринг машинасының функционалдану схемасы Осы схемада жадыны сыртқы және ішкі жадыға бөлу бейнеленген. Сыртқы жады шексіз лента түрінде көрсетілген - ол сыртқы алфавитттің символдарымен кодталған ақпаратты сақтауға арналған. Ішкі жады ағымдағы тактідегі келесі команданы сақтауға арналған екі ұяшық түрінде көрсетілген: Q-де ЛҚ-дан келесі қалып (qi+1) беріліп, сақталады, ал D-да - жылжу командасы (Di+1). Q-дан кері байланыс линиясы бойынша qi+1 ЛҚ-ға түседі, ал D-дан команда қажет кезінде лентаны бір позиция оңға немесе солға жылжытатын орындаушы механизмге түседі. Тьюринг машинасы жұмыс істейтін жалпы ережені келесі жазба түрінде көрсетуге болады: qiajqi'aj 'Dk, яғни, qi қалпында головканың aj символын шолуынан кейін ұяшыққа aj' символын жазады, головка qi' қалпына өтеді, ал лента Dk жылжуын жасайды. Әрбір qiaj комбинациясы үшін тура бір түрлендіру ережесі бар (ереже тек қана z үшін жоқ, себебі бұл қалыпқа түскенде машина тоқтайды). Бұл логикалық блоктың мынадай функцияны жүзеге асыратынын білдіреді: әрбір qiaj қос кіру синалына бір және тек бір qi'aj'Dk үштік сигналын сәйкестендіреді - бұл машинаның логикалық функциясы деп аталып, әдетте кесте (машинаның функционалды схемасы) түрінде көрсетіледі, олардың бағандары қалыптардың символдарымен белгіленеді, ал жолдары сыртқы алфавит белгілерімен бейнеледнеді. Егер сыртқы алфавит таңбалары n, ал ЛҚ-ның қалыптарының саны m болса, онда түрлендіру ережелерінің жалпы саны n ·m болады. Нақты Тьюринг машинасы A и Q жиындарының элементтерін көрсетумен, және сол сияқты ЛҚ-ны жүзеге асыратын логикалық функциялармен , яғни түрлендіру ережелерінің жиынтығымен беріледі. Әртүрлі A, Q жиындары мен логикалық функциялар шексіз көп болатыны түсінікті, яғни Тьюринг машинасы да сол сияқты шексіз көп. Тьюринг машинасының функционалдануын талдамас бұрын тағы бір ұғым енгізейік. Лентаның ұяшықтарының барлық қалыптарының жиынтығы, ЛҚ-ның қалпы және головканың қалпы машинаның конфигурациясы деп аталады. Конфигурацияны келесі түрде жазуға болды: a1qiaj...ak , бұл k символдан тұратын сөзде j нөмірлі секция шолынуда, және бұл кезде басқарушы құрылғы qi қалыпта тұр дегенді білдіреді. Машина конфигурациясы сыртқы алфавиттің символдарының кез-келген санынан тұратыны және тек бір ғана ішкі алфавит символынан тұратыны түсінікті. Көбінесе конфигурацияны 1 qi2 түрде жазады, мұндағы 1 - лентадағы головканың сол жағында тұрған сөз, 2 - лентадағы головканың оң жағындағы тұрған сөз, шолынулы таңбаны қоса есептегенде. 1 - дің сол жағында және 2 - нің оң жағында лента бос. 7.1 суретте бейнеленген конфигурацияны келесі түрде жазуға болады: a1 a2qa3a 4ak, ал 7.2 суреттегі - 1q1111. Жұмысты бастамас бұрын бос лентаға А алфавитінде жазылған, шекті бастапқы сөзі жазылады; головка сөзінің бірінші символының үстіне орнатылады, ЛҚ q1 қалпына келтіріледі (яғни, бастапқы конфигурация q1 түрде болады). Әрбір конфигурацияда тек қана бір түрлендіру ережесі жүзеге асатындықтан, бастапқы конфигурация машинаның барлық келесі жұмысын, яғни, жұмысты тоқтатқанға дейінгі барлық конфигурациялар тізбегін бірмәнді анықтайды. Бастапқы конфигурацияға байланысты оқиғаның өрбуінің екі нұсқасы бар: * Тактілердің шекті санынан кейін тоқтау командасы бойынша машина тоқтайды; бұл кезде лентада шығатын ақпаратқа сәйкес соңғы конфигурация қалады; * Тоқтау болмайды. . Бірінші жағдайда, осы машинаның бастапқы ақпаратқа қолданылатыны туралы айтылады, ал екінші жағдайда - жоқ. Машина нәтиже алуды қамтамасыз ететін барлық кіру конфигурацияларының жиынтығы шешілетін есептер класын құрады. Әрине, Тьюринг машинасын шешілетін классқа кірмейтін есептерге қолдану мәнсіз болады. Екінші жағынан, көптеген жағдайларда шешілетін есептер класын басқа Тьюринг машиналарын құру арқылы кеңейтуге борлады. Сұрақ туындайды: кез-келген есепті шешетін әмбебап машина құруға (тым болмаса теориялық деңгейде) бола ма? Бұл жерде алгоритмдік шешілу мәселесіне келдік, оны кешірек қарастырамыз. Мысал 7.8 Алдыңғы тақырыпта қарастырылған унарлық санға 1-ді қосу есебін Тьюринг машинасымен шешуді қарастырайық. Сырқы алфавит A={,1} жиынымен беріледі, мұндағы 1 толтырылған секцияға, ал - бос белгіге сәйкес келеді, толтырылғандар бірінен кейін бірі қатар тұрады. Ішкі алфавит Q={q,z} жиынымен беріледі, мұндағы q ЛҚ-ның жұмыс қалпына, ал z - тоқстауға сәйкес келеді. Барлық түрлендіру ережесінің жиынтығы (логикалық функция) функционалдық схемамен көрсетіледі: A q z z1S zS 1 q1R z1S Осылайша кесте түрінде функционалдық схема құрылады, яғни колонкалар мен жолдарды белгілеген таңбалар ЛҚ-ның кіру параметрлерін бейнелейді, ал кестенің ұяшықтарында олардың қиылысуында шығатын ақпарат тұр. Жекелей алғанда, егер лента головкасы 1 таңбасы тұрған секцияны шолуда болса және машина (q) жұмыс қалпында тұрса, онда оның осы тактідегі жұмыс нәтижесі осы секцияда 1-ді қайталап, бір секция оңға R жылжу болуы керек (бұл кезде алдында айтылғандай лента солға жылжиды) - бұл команда q1R деп жазылады. Егер шолынулы секцияда тұрса, ал ЛҚ-ның қалпы q болса, онда таңбасы 1-ге ауыстырылады, лентаның жылжуы болмайды және машина тоқтайды - z1S. Кірісте z комбинациясы, сол сияқты 1z комбинациясы кезінде машина жұмыс емес қалпында болады - ешқандай өзгеріс, жылжу болмайды - сондықтан мұндай комбинациялар бұдан былай функционалды схемаларда бейнеленбейді. Айталық, бастапқы конфигурация 1q1111 болсын. Онда машина жұмысы сипатталған логикалық функцияға сәйкес келесі түрде жүргізілдеі: Такт 1 1 шолынуда, ЛҚ-да в q қалпы. Шығу командасы q1R, бұл головканың лентаға қатысты 1 қадам оңға жалжуына эквивалентті. Сәйкесінше, 11q111 аралық конфигурациясы құрылады. Такт 2 - аналогиялық түрде 111q11 конфигурациясы жасалынады. Такт 3 - 1111q1 конфигурациясына өту. . Такт 4 - 11111q конфигурациясына өту (мұнда жақсы түсіну үшін оң жақтағы анық түрде көрсетілген). Такт 5 шолынуда, ЛҚ-ның қалпы q. Шығу командасы z1S - орнына ұяшыққа 1 жазылады, жылжу жоқ, жұмыс тоқтатылды. сдвига нет, работа прекращается. Конечная конфигурация 111111z. Есеп шешілді. Мысал 7.9 Көпразрядты бүтін сан n - нің ондық санау жүйесіндегі жазылуы бар; n+1 мәнін есептеуді қамтамасыз ететін Тьюринг машинасын құру керек. A={0,1,...,9,} сыртқы алфавитін қолданамыз, мұнда символы бос белгіге сәйкес келеді. Ішкі алфавит алдыңғы есептегідей екі қалыптан тұрады - жұмыс қалпы (q) және тоқтау (z) (Q={q, z}). Бастапқы сөз n, сол сияқты нәтиже - n+1 - ондық санау жүйесінде жазылады, және де цифрлар көрші ұяшықтарда бір-бірден, бос орынсыз жазылады. Функционалдық схема кесте түрінде көрсетіледі (қолайлылық үшін жол q қалпына, ал бағандар - сыртқы алфавит таңбаларына сәйкес келеді): a 0 1 2 3 4 5 6 7 8 9 q z1S z2S z3S z4S z5S z6S z7S z8S z9S q0L z1S Айталық, бастапқы конфигурациясы 21q9 болсын. Такт 1 q9q0L, яғни 9 таңбасы 0-ге ауысады да, головка ондықтар бірлігіне жылжиды - аралық конфигурация 2q10. Такт 2 q1z2S, яғни 1 таңбасы 2-ге ауысады да соңғы конфигурациямен 2z20 тоқтау болады, яғни, 219+1 қосынды нәтижесі алынды. Аталық, бастапқы конфигурация 99q9 болсын. Такт 1 q9q0L, яғни, 9q90 аралық конфигурациясы құрылады. Такт 2 q9 q0L - q900 аралық конфигурациясы құрылады. Такт 3 q9 q0L - q000 құрылады. Такт 4 q z1S - z1000 туындайды және жұмыс тоқтатылады. Осылайша, сипатталған алгоритм кез-келген бүтін сан мен бірлікті қосуды қамтамасыз етеді. Осылайша бірлікті емес, қандай-да бір бүтін m санын қосу үшін осы алгоритмді m рет қайталау кажеттігі түсінікті. Бүтін сандарды көбейту де санды өзіне-өзін қосуға келтіруге болады. Осыдан, Тьюринг машинасы маңызды қасиетке ие - қолда бар машиналарды біріктіру арқылы жаңа машина құру мүмкіндігі - мұндай амал композиция деп аталады. Өзінің құрылғылары бойынша Тьюринг машинасы тым примитивті. Ол алғашқы компьютерлерден әлдеқайда қарапрайым. Примитивтілігі - оның головкамен орындалатын - оқу және жазу элементар амалдар жиынтығы тым қарапайымдығында, және де сол сияқты жады ұяшықтарына қол жеткізу компьютерлердегідей адрес бойынша емес, лента бойымен тізбектей жылжу арқылы орындалатындығында. Осы себеппен, екі символды қосу немесе салыстыру сияқты қарапайым амалдарды Тьюринг машинасы бірнеше қадаммен жүргізеді, ал кәдімгі қосу және көбейту амалдары әлдеқайда көп қарапайым әрекеттер санын қажет етеді. Бірақ Тьюринг машинасы шынайы есептеуіш машиналардың моделі ретінде емес, тым қарапайым амалдармен қандай болсын күрделі алгоритмдерді құрудың принцитік (теориялық) мүмкіндігін көрсету үшін ойлап табылған, және де амалдардың өздерін де, және бірінен келесісіне өтуді де машина автоматты түрде орындайды. Тьюринг машинасы алгоритм ұғымын жетілдірудің жолдарының бірін береді. Осыған байланысты сұрақ туындайды: * Тьюринг машинасы ұғымы қаншалықты жалпы болып табылады? * Тьюринг машинасы көмегімен алгоритмдерді беру тәсілін әмбебап деп есептеуге бола ма? * Кез-келген алгоритм осылайша беріле ала ма? Қазіргі алгоритмдер теориясы осы сұрақтарға жауапты келесі гипотеза түрінде береді: Кез-келген алгоритм тьюрингтік функционалдық схема арқылы беріліп, сәйкес Тьюринг машинасында жүзеге асырыла алады. Бұл гипотеза Тьюринг тезисі деген атауға ие болды. Черч тезисі сияқты оны дәлелдеуге болмайды, себебі ол қатаң емес алгоритм ұғымын Тьюринг машинасының қатаң анықтамасымен байланыстырып тұр. Негізінде егер тьюрингтік функционалдық схема арқылы жүзеге аспайтын алгоритмге мысал келтіру мүмкін болса бұл гипотезаны жоққа шығаруға боолады. Бірақ барлық осы кезге дейін белгілі алгоритмдер тьюрингтік функционалдық схема арқылы беріле алады. 6-ДӘРІС: Сандық автоматтарда информацияны өрнектеу Қарастырылатын сұрақтар: Санау жүйелері. Ақпараттарды өрнектеу үшін санау жүйесін таңдау. Сандық ақпараттарды бір санау жүйесінен екінші санау жүйесіне көшіру. Сандық ақпараттарды өрнектеу түрлері. Үтірі (нүктесі) бекітілген сандарды өрнектеу. Жылжымалы үтірі бар сандарды өрнектеу. Теріс сандарды өрнектеу. Сандық ақпараттардың қателіктері. Әрине, комьютерді қолданудың басты бағыттарының бірі әртүрлі есептеулер болған және болып қала береді де. Сандық ақпаратты өңдеу бір қарағанда қандай-да бір есептеулерге байланысы жоқ есептерді шешуде де жүргізіледі, мысалы компьютерлік графика немесе дыбысты пайдаланғанда. Осыған байланысты компьютерде сандарды тиімді көрсетуді таңдау мәселесі туындайды. Әрине, 8-битті (байттық) кодтауды қолданып, олардан сандарды құрастыруға болады. Бірақ мұндай кодтау тиімді болмайды, оны мына мысалдан көруге болады: айталық екіорынды 13 саны берілсін; оның жеке цифрларын 8-битті кодтау кезінде ASCII кодтарында оның коды келесі түрде болады: 0011000100110011, яғни ұзындығы 16 бит; Сандарды көрсету тек берілгендерді (әріптерді немесе сандарды) жазу тәсілінен ғана емес, сол сияқты оларға қолданылатын амалдар жиынтығын да анықтауы керек. Жекелей алғанда, әріптер қандай-да бір тізбекке орналастырылады (немесе ол жерден алынып тасталынады), олардың өздерінің өзгеруінсіз; ал сандардға оларды өзгертетін амалдар қолданылады, мысалы, түбір табу немесе басқа санмен қосу. Сандарды компьютерде көрсетудің, бізге мектеп математикасынан белгілі формада көрсетілуінен екі маңызды айырмашылығы бар: Біріншіден, сандар екілік санау жүйесінде жазылады (үйреншікті ондық жүйеден қарағанда); Екіншіден, сандарды жазу мен өңдеу үшін саны шектеулі разрядтар қолданылады ( <<компьютерлік емес>> арифметикада мұндай шектеу жоқ). Санау жүйелері Сан ұғымына қатысты жалпы ескертулерден бастайық. Кез-келген санның мәні және көрсетілу формасы болады деп есептеуге болады. Санның мәні оның басқа сандарға қатынасын береді (<<үлкен>>, <<кіші>>, <<тең>>) және сәйкесінше, сандардың сан осьінде орналасу ретін береді. Көрсету формасы атауында көрсетілгендей, санды жазуға арналған таңбалардың көмегімен санды жазу ретін анықтайды. Мұнда санның мәні инвариант болып табылады, яғни оны көрсету формасына тәуелсіз. Бұл мәні бірдей сандарды әртүрлі формада жазуға болатынын білдіреді, яғни, санды көрсету мен оның мәні арасында өзара бірмәнді сәйкестік жоқ. Осыған байланысты сұрақтар туындайды, бірінішіден, сандарды көрсету формасы туралы, екіншіден, бір формадан екіншісіне өту мүмкіндігі мен тәсілдері туралы. Сандарды көрсету тәсілі санау жүйесімен анықталады. Санау жүйесі - арнайы берілген таңбалар жиынтығы - цифрлардың көмегімен сандарды жазу ережелері. Адамдар сандарды жазудың әртүрлі тәсілдерін қолданған, оларды бірнеше топқа біріктіруге болады: унарлық, позииялық емес және позииялық. Унарлық - бұл сандарды жазу үшін тек бір таңба - I (<<таяқша>>) қолданылатын санау жүйесі. Келесі сан алдыңғысына тағы бір I қосудан тұрады; олардың саны (қосындысы) санның өзіне тең. Осындай жүйе балаларды санауға үйрету үшін қолданылады (еске түсірсек <<санау таяқшалары>> деп аталған); унарлық жүйені пайдалану балаларды сандар әлеміне енгізуге арналған маңызды педагогикалық әдіс болып табылады. Бірақ біз унарлық жүйенің теориялық тұрғыдан маңызды екеніне көз жеткіземіз, себебі онда сан неғұрлым қарапайым тәсілмен көрсетіледі, сәйкесінше амалдар орындау да қарапайым болады. Сол сияқты унарлық жүйе ондағы бірліктердің санымен бүтін санның мәнін анықтайды, Сандарды унарлық жүйеде жазу үшін Z1 белгілеуін қолданамыз. Позииялық емес жүйелердің ішінде кең тарағаны римдік санау жүйесі деп есептеуге болады. Онда базалық сандар латынның бас әріптерімен белгіленген: 1 - I, 5 - V, 10 - X, 50 - L, 100 - C, 500 - D, 1000 - M. Барлық басқа сандар базалық сандар комбинаиясымен, келесі ережелерге сәйкес құрылады: * Егер мәні кіші цифр мәні үлкен цифрдың оң жағындап тұрса, онда олардың мәні қосылады; егер оң жағында тұрса - онда кіші мән үлкенінен азайтылады. * I, X, C және M цифрлары үш реттен артық емес бірінен кейін бірі тұра алады; * V, L және D цифрлары санды жазуда бір реттен артық қолданылмайды. Мысалы, XIX жазбасы 19 санына сәйкес, MDXLIX - 1549 санына. Мұндай жүйеде сандарды жазу көп орын алады, бірақ одан да қолайсызы олармен тіпті ең қарапайым арифметикалық амалдар орындаудың қолайсыздығы. М-нен артық санның және нольдің болмауы кез-келген санды (тым болмаса натурал санды) римдік жүйеде жазуға мүмкіндік бермейді. Осы себептерге байланысты римдік сандар нөмірлеуге ғана пайдаланылады. Қазіргі уақытта сандарды көрсету үшін позииялық санау жүйелері қолданылады. Позициялық деп әрбір ифрдың санды бейнеленуіндегі мәні оның басқа ифрлар қатарында орналасуына (позииясына) байланысты санау жүйесін атайды. Ең кең тараған және үйреншікті санау жүйесі сандарды жазу үшін 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 және 9 пайдаланылатын жүйе болып табылады. Сан құрамына қандай-да бір санның дәрежелері енетін көпмүшенің қысқартылған жазбасы болып табылады, мұндағы сан - санау жүйесінің негізі деп аталады. Мысалы, 272,12 = 2·102+7·101+2·100+ 1·10-1+2·10-2 Осы санда 2 цифры үш рет кездеседі, бірақ бұл цифрлардың мәні әртүрлі және олардың сандағы орнымен (позииясымен) анықталады. Ондық санау жүйесінің кең таралуының себебі түсінікті - ол унарлық жүйеде <<таяқшалар>> ретінде қол саусақтарын қолданудан шыққан. Унарлық жүйе мен римдік санау жүйелерінің ортақ қасиеті ондағы сандардың мәні сан құралған базистік цифрлардың қосындысы немесе айырмасы арқылы, олардың позициясына тәуелсіз алынғандығы. Мұндай жүйелер аддитивті деген атауға ие. Олардан қарағанда позициялы көрсетуді аддитивті-мультипликативті деп есептеуге болады, себебі сандардың мәні көбейту және қосу арқылы анықталады. Позициялық көрсетудің басты ерекшелігі шектеулі таңбалар жинағы (цифрлар, ондық разрядтарды бөлуші және сан таңбасын бейнелеуі) арқылы әртүрлі сандардың шектеусіз санын жазуға болатындығында. Сол сияқты позициялық жүйелерде көбейту және бөлу амалдары әлдеқайда оңай орындалады. Нақ осы жағдай сандарды адамның да, компьютердің де өңдеуінде позициялық жүйелердің қолайлылығын қамтамасыз етеді. Ондық санау жүйесінің негізіне қойылған принцип бойынша басқа негізді де санау жүйелерін құруға болады. Айталық, p - санау жүйесінің негізі болсын. Сонда Z < pk (k 0, бүтін) шартын қанағаттандыратын кез-келген Z саны (әзірше бүтін сандарды қарастырамыз) p-ның дәрежелері бар көпмүше түрінде көрсетіле алады (мұнда дәреженің максималды көрсеткіші k - 1-ге тең болады): (4.1) Негіз дәрежелерінің aj коэффициенттерінен санның қысқаша жазылуы шығады: Zp = (ak-1 ak-1... a1 a0) Z санындағы p индексі оның p негізді санау жүйесінде жазылғандығын көрсетеді; санның цифрларының жалпы саны k-ға тең. Барлық aj коэффициенттері - төмендегі шартты қанағаттандыратын бүтін сандар: 0 aj p - 1 Мына сұрақты қойған орынды: p-ның минималды мәні қандай? p =1 мүмкін емес, себебі онда барлық aj = 0 және (4.1) формасы мағынасын жоғалтады. Бірінші мүмкін мән p=2 - бұл позициялық санау жүйелері үшін минималды мән болады. 2 негізді санау жүйесі екілік санау жүйесі деп аталады. Екілік санау жүйесінің цифрлары 0 және 1, ал (4.1) формасы 2-нің дәрежелері болып табылады. Дәл осы санау жүйесіне деген қызығушылық жоғарыда көрсетілгендей компьютердегі кез-келген ақпарат техникалық оңай жүзеге асатын 0 және 1 - екі қалпы арқылы көрсетілетіндігінде. Екілік жүйемен қатар компьютерлерде 8-дік және 16-лық санау жүйелері де қолданылады. Бүтін санның мәні, яғни оған кіретін бірліктердің жалпы саны оны көрсету тәсіліне тәуелді емес және барлық санау жүйелерінде бірдей болып қала береді; тек қана санның сандық мазмұнын көрсету формалары ғана ерекшеленеді. Мысалы, IIIII1 = 510 = 1012 = 105 = 56 = 516. Басқаша сөздермен айтқанда, стипендияның немесе еңбекақының көлемі оны есептегенде ондық санау жүйесінің орнына екілік санау жүйесінің қолданғандығына байланысты болмайды. 4.2 Сандарды әртүрлі санау жүйелерінде көрсету 4.2.1 Бүтін сандарды бір санау жүйесінен екіншісіне аудару Бір сан әртүрлі санау жүйелерінде жазылуы мүмкін болғандықтан санадрды көрсетуді бір (p) жүйесінен басқа (q) жүйесіне ауыстыру деген сұрақ туындайды - мұндай түрлендіруді Zp Zq деп бейнелейік. Теориялық тұрғыдан алғанда кез-келген q және p-да орындауға болады. Бірақ мұндай тура аудару барлық арифметикалық амалдарды ондық емес жүйелерде орныдауға тура келетіндігімен қиындайды. Сол себептен практикалық тұрғыдан қарағанда арифметикалық амалдарды орындау оңай болатын негізі r болатын аралық түрлендірулері бар түрлендіру қолданған қолайлы: Zp Zr Zq . Мұндай қолайлы жүйелер негізі r = 1 и r = 10 болтын жүйелер, яғни унарлық және ондық санау жүйелері арқылы ауыстыру орындалады. Мысал 4.1 223 Z6 түрлендіруән орында. Әрекеттер тізбегі мен аралық нәтижелер келесі кестеде көрсетілген: Қадам 0 1 2 3 4 5 6 7 8 Z3 - 1 22 21 20 12 11 10 2 1 0 Z6 + 1 0 1 2 3 4 5 10 11 12 Бұдан, 223 = 126. Тәсіл 1: Мысал 4.2 12310 Z5 түрлендіруін орында. (3, 4) бөлу қалдықтары және соңғы бүтінсанды бөлу нәтижесі (4) жаңа санның цифрларының кері ретін құрайды. Бұдан, 12310 = 4435. ЭЕМ жадысында мәліметтерді көрсету үшін кодтаудың екілік тәсілі (сандық ақпарат үшін де, сандық емес үшін де) қолданылады. ЭЕМ жадысының элементар ұяшығы 8 байт ұзындыққа ие. Әр байттың өзінің нөмірі бар (оны адрес деп атайды). ЭЕМ бір бүтін ретінде өңдей алатын ең үлкен бит тізбегін машиналық сөз деп атайды. Машиналық сөздің ұзындығы процессордың разрядтылығына байланысты болады және 16,32 және т.с.с. битке тең болуы мүмкін. Символдарды кодтау үшін 1 байт жеткілікті. Мұнда 256 символ көрсетуге болады. ЭЕМ IBM PC дербес компьютерлеріндегі символдар жиынтығы көбінесе ASCII (American Standard Code for Information Interchange -- ақпарат алмасуға арналған стандарты американдық код) кеңейтілуі бар код болады ЭЕМ жадысында сандарды көрсету кезінде кей жағдайларда аралас екілік-ондық санау жүйесі қолданылады, мұндағы әрбір ондық таңбаны сақтау үшін жартыбайт (4 бит) қажет болады және 0-ден 9-ға дейінгі ондық сандар сәйкесінше 0000-ден 1001-ге дейінгі екілік сандармен көрсетіледі. Мысалы, 18 мәндік цифрлары бар бүтін санды сақтауға арналған және жадыда 10 байт (үлкені таңбалық) орын алатын капталған ондық формат осы нұсқаны қолданады. Сандарды көрсетудің басқа тәсілі - қосымша код. Шамалардың мәндерінің диапазоны оларды сақтауға бөлінген жады биттерінің санына тәуелді. Мысалы, Integer типті шамалар - 32768 ( - 2[15])-нан 32767 (2[15] - 1)-ға дейінгі диапазонда жатады және оларды сақтауға 2 байт жұмсалады; LongInt типті шама - 2[31] - ден 2[31] - 1-ге дейінгі диапазонда жатады; Word типті -- 0-ден 65535 (2[16] - 1)-ге дейінгі диапазонжа жатады және т.с.с. Мысалдардан көріп отырғандай мәліметтер таңбалы және таңбасыз сандар ретінде келтіріледі. Таңбалы шаманы көрсету кезінде сол жағындағы (ең үлкен) разряд 0-ге тең болса, оң санды көрсетеді, 1-ге тең болса, теріс санды көрсетеді. Жалпы разрядтар 0-ден бастап оңнан солға қарай нөмірленеді. Төменде екі байты машиналық сөздегі нөмірлеу келтірілген. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Оң санның қосымша коды оның тура кодына сәйкес келеді. Бүтін санның тура коды келесі түрде алынады: сан екілік санау жүйесіне аударылады, содан кейін оның екілік жазбасын сан жататын мәліметтер типі талап ететін 0-дер санымен толықтырылады. Мысалы, егер 37(10) = 100101(2 саны Integer типінің шамасы ретінде жарияланса, оның тура коды 0000000000100101 болады, ал егер 37(10) = 100101(2) саны LongInt типі ретінде жарияланса, онда оның тура коды 00000000000000000000000000100101 болады. Неғұрлым шағын жазба үшін оналтылық кодты жиі қолданады. Алныған кодтарды сәйкесінше 0025(16) и 00000025(16) деп жазуға болады. Бүтін теріс санның қосымша кодын келесі алгоритммен алуға боолады: 1) санның модулінің тура кодын жазу керек; 2) оны инверттеу (нольдерді бірліктермен, ал бірліктерді нольдермен ауыстыру); 3) инверстік кодқа бірлікті қосу. Мысалы, ( - 37) санының қосымша кодын LongInt типті шама ретінде алып жазамыз. 1) 37 санының тура коды 00000000000000000000000000100101 болады; 2) инверттік коды 11111111111111111111111111011010; 3) қосымша коды 11111111111111111111111111011011 немесе FFFFFFDB(16). Санды оның қосымша коды арқылы алу үшін ең алдымен оның таңбасын анықтап алу қажет. Егер сан оң сан болса, онда оның кодын тек ондық санау жүйесіне аудару қажет болады. Теріс сан болған жағдайда келесі алгоритмді орындау қажет: 1) санның кодынан 1-ді азайту; 2) кодты инверттеу; 3) ондық санау жүйесіне аудару. Алынған санды теріс таңбамен жазу. Мысалдар. Қосымша кодтарға сәйкес келетін сандарды жазайық: а) 0000000000010111. Үлкен разрядта ноль жазылғандықтан нәтиже оң болады. Бұл 23 санының коды. б) 1111111111000000. Мұнда теріс санның коды жазылған. Алгоритмді орындаймыз: 1) 1111111111000000(2) - 1(2) = 1111111110111111(2); 2) 0000000001000000; 3) 1000000(2) = 64(10). Жауап: - 64. Дербес компьютердің жадысында нақты сандарды көрсету үшін басқадай тәсіл қолданылады. Жылжымалы үтірлі шамаларды көрсетуді қарастырамыз: Кез-келген нақты санды M 10[p], где 1 M < 10 стандартты түрде жазуға болады, мұндағы 1 M < 10, p -- бүтін. Мысалы, 120100000 = 1,201 10[8]. Ондық санның әр позицицясы көршісінен 10 санының дәрежелеріндей айырмашылығы болатындықтан, 10-ға көбейту ондық үтірді бір позиция оңға жылжытуға эквивалентті. Осылайша 10-ға бөлу ондық үтірді бір позиция солға жылжытуға пара-пар. Сондықтан жоғарыда келтірілген мысалды жалғастыруға болады. 120100000 = 1,201 108 = 0,1201 109 = 12,01 107. Ондық үтір санда <<жылжиды>> және санның бүтін және бөлшек бөліктеріндегі абсолютті орны белгіленбеген. Жоғарыда келтірілген жазбада М-ді санның матиссасы деп, ал p - оның реті деп аталады. Максималды дәлдікті сақтау үшін есептеуіш машиналар мантиссаны үнемі дерлік нормальданған түрде сақтайды, бұл мантисса осы жағдайда 1(10) и 2(10) (1 M < 2).. аралығында жататын сан дегенді білдіреді. Мұнда санау жүйесінің негізі 2 саны. Жылжымалы үтірлі мантиссаны сақтау тәсілі екілік үтірдің бекітілген орында тұрғанын білдіреді. Шын мәнісінде екілік үтір бірінші екілік цифрдан кейін тұрады, яғни, мантиссаны нормальдау бірінші битті жалғыздайды, осымен мәнді 1 мен 2-нің аралығына орналастырады. Жылжымалы нүктелі санға берілген орын екі өріске бөлінеді. Бір өріс мантиссаның таңбасы мен мәнінен тұрады, келесісі ретінің таңбасы мен мәнінен түрады. Математикалық соопроцессоры бар IBM PC дербес компьютері келесі нақты сандармен жұмыс істеуге мүмкіндік береді (мәндердің диапазоны абсолютті шама бойынша көрсетілген): Типі Диапазоны Мантиссасы Байттар Real 2,9 10 - 39..1,7 1038 11 - 12 6 Single 1,5 10[ - 45]..3,4 10[38] 7 - 8 4 Double 5,0 10 - 324..1,7 10[308] 15 - 16 8 Extended 3,4 10 - 4932..1,1 10[4932] 19 - 20 10 Нақты сандардың ЭЕМ жадысында көрсетілуіне арналған түрлендірулерін Double типті шаманың мысалында көрейік. Кестеде көрініп тұрғандай, осы типтің шамасы жадыдан 8 байт орын алады. Суретте мантиссаның және реттің өрістерінің көрсетілуі берілген: S Аралас рет Мантисса 63 52 0 Мантиссаға берілген үлкен бит 51-ші нөмір екенін, яғни мантисса 52 биттің кішілерін алады. Сызықша екілік үтірдің орнын көрсетеді. Үтірдің алдында мантиссаның бүтін бөлігінің биті түруы қажет, бірақ ол үнемі 1-ге тең болғандықтан бұл жерде осы бит қажет емес және сәйкесінше жадыда жоқ (бірақ ол ойда). Реттің мәні бұл жерде қосымша кодпен көрсетілген бүтін сан ретінде сақталмайды. Есептеулерді оңайлату және нақты сандарды салыстыру үшін реттің мәні ЭЕМ-де аралас сан ретінде сақталады, яғни, реттің осы мәніне оның жадыға жазылар алдында жылжу қосылады. Жылжу реттің минимальды мәніне ноль сәйкес келетіндей болып таңдалынады. Мысалы, Double типі үшін рет 11 бит орын алады және 2 - 1023-ден 21023-ге дейінгі диапазонға ие, сондықтан жылжу 1023(10) = 1111111111(2)-ге тең. Сонымен, 63 номерлі бит санның таңбасын кқрсетеді. Осылайша, жоғарыда айтылғандардан ЭЕМ жадысында нақты сандарды көрсетуді алудың келесі алгоритмі туындайды: 1) берілген санның содулін екілік санау жүйесіне аудару; 2) екілік санды нормальдау, яғни M 2p, түрінде жазу, мұндағы M -- мантисса (оның бүтін бөлігі 1(2)-ге тең) және p -- ондық санау жүйесінде жазылған рет; 3) жылжу ретіне қосу және жылжытылған ретті екілік санау жүйесіне аудару; 4) берілген санның таңбасын (0 -- оң; 1 -- теріс) ескере отырып, оның ЭЕМ жадысында көрсетілуін жазу. Мысал. - 312,3125 санының кодын жаз. 1) Осы санның модулінің екілік жазбасы: 100111000,0101. 2) 100111000,0101 = 1,001110000101 2[8]. 3) аралас рет аламыз 8 + 1023 = 1031. Осыдан, 1031(10) = 10000000111(2). 4) Соңғысы 1 10000000111 0011100001010000000000000000000000000000000000000000 63 52 0 Әрине алынған кодты неғұрлым шағын түрде келесідей жазуға болады: C073850000000000(16). Келесі мысал нақты санның кодынан керісінше санның өзіне өтуді қарастырады. Мысал. Айталық, келесі код берілсін: 3FEC600000000000(16) немесе 0 01111111110 1100011000000000000000000000000000000000000000000000 63 52 0 1) Алдымен оның оң санның коды екенін байқаймыз, себебі 63 нөмірлі разрядта ноль жазылған. Осы санның ретін алайық: 01111111110(2) = 1022(10); 1022 - 1023 = - 1. 2) сан мына түрге ие: 1,1100011 2 - 1 немесе 0,11100011. 3) ондық санау жүйесіне аударып, келесіні аламыз: 0,88671875. 7-ДӘРІС. Екілік сумматорларда арифметикалық амалдарды орындау. Қарастырылатын сұрақтар: Қосу және азайту. Көбейту. Бөлу. Ондық бөлшектерді екілік санау жүйесіне ауыстыру үшін бөлекті екіге көбейту керек. Көбейтіндінің бүтін бөлігін екілік бөлшектің үтірден кейінгі бірінші цифры ретінде алып, бөлшек бөлігін қайтадан 2-ге көбейту керек. Енді бұл көбейтіндінің бүтін бөлігін екілік бөлшектің келесі цифры ретінде алып, бөлшек бөлігін тағы 2-ге көбейту керек. 0,625*2=1,250 бүтін бөлігі 1-ге тең 0,250*2=0,500 бүтін бөлігі 0-ге тең 0,500*2=1,000 бүтін бөлігі 1-ге тең Жауабы: 0,62510=0,1012 Егер бір мән қайтална берсе, яғни цикл пайда болса, онда сол жерден тоқтап, қайталанатын бөлігін жақшаға алып жазамыз. Сандарды екілік жүйеден сегіздік санау жүйесіне ауыстыру: Екілік жүйе Сегіздік жүйе 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 Осы кесте арқылы ауыстырамыз. Екілік сандарды соңынан бастап үштіктерге бөлемізде, кестеге қарап сегіздік жүйедегі мәнін қоямыз. Мысалы: 1101111011 екілік саны 1 101 111 011 деп жазып әрбір топты кестедегі мәнмен ауыстырамыз, сонда 1573 санына тең болады. Сандарды екілік жүйеден оналтылық санау жүйесіне ауыстыру: Ондық жүйе Екілік жүйе Оналтылық жүйе 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F Осы кесте арқылы ауыстырамыз. Екілік сандарды соңынан бастап төрттен топтаймыз да, кестеге қарап оналтылық жүйедегі мәнін қоямыз. Мысалы: 1101111011 екілік саны 11 0111 1011 деп жазып әрбір топты кестедегі мәнмен ауыстырамыз, сонда 37В санына тең болады. Арифметикалық амалдар Қосу: 0+0=0 1+0=1 0+1=1 1+1=10 бір көрші разрядқа тасымалданады. Азайту: 0-0=0 1-0=1 0-1=1 көрші разрядтан бірін қарызға аламыз. 1-1=0 Көбейту: 0*0=0 1*0=0 0*1=0 1*1=1 Бөлу ондық жүйедегі сатылап бөлу сияқты орындалады. Тақырып 8: Логикалық алгебранын негізгі ұғымдары. Қарастырылатын сұрақтар: Тұжырымдама. Логикалық (бульдік) айнымалы. Логикалық функция. Логикалық алгебраның элементар функцияларының қасиеттері. ЕМЕС, ЖӘНЕ, НЕМЕСЕ үш логикалық функцияның жиынын XIX ғ. аяғында өмір сүрген, осы функцияларды зерттеген ағылшын математигі Джордж Бульдің қүрметіне Бульдік базис деп атаған. Осы үш функция арқылы әртүрлі логикалык функциялар өрнектелетін алгебраны Буль алгебрасы деп атайды. ЕМЕС функциясы - бұл бір аргумент функциясы (басқа атаулары: теріске шығару, инверсия). Функция әдетте аргумент үстіндегі сызықшамен белгіленеді: Y=a Мүндағы Ү - логикалық функция; а - аргумент. Теріске шығару функциясы 1-ге тең, егер оның аргументі 0-ге тең болса және керісінше: өшірілді =жанды. Егер ЖАНДЫ айтылымы ақиқат болса, онда ӨШІРІЛДІ айтылымы жалған болады және керісінше. Терістеу аргументін теріске шығару аргументтің өзіне тең болады: (өшірілді ЕМЕС)ЕМЕС=өшірілді немесе егер Ү=а, ОНДА Ү=а=а. Тоқ немесе кернеудің белгілі деңгейі түрінде ЕМЕС функциясын жүзеге асыратын электронды логикалық элемент инвертор деп аталады. Инвертор функционалдық сүлбелерде төмендегідей бейнеленеді: а Y=a а а a)) б) Y=a а +U 1 1 в) Сур. 1.1. Инвертор: а,б - функционалдық сүлбелердегі бейнеленуі; в - ағытылатын контактілі реле арқылы ЕМЕС функциясының жүзеге асуы; Кіріс - сол жақтан, шығыс - оң жақтан. Шығыс сызығында оның тіктөртбұрышпен қосылатын жерінде шеңбер - инверсия символы бейнеленген. Релелі-контактілі логикада ЕМЕС функциясын ағытылатын контакт жүзеге асырады (сур. 1.1), яғни реленің мұндай контактісі жүйеде тоқ күші а болған кезде ағытылып тұрады, ал а тоқ күшін берген кезде ағытылады. ЖӘНЕ функциясы - бүл екі немесе одан да көп аргумент функциясы (Басқа атауы: конъкция, логикалық көбейту). Белгіленуі: Ү=а&b, Ү=аb. ЖӘНЕ функциясы 1-ге тең сонда және тек сонда, егер оның барлық аргументі 1-ге тең болса. Табиғи тілдегі <<және>> осы байланысты білдірері, мысалы: лифт жүреді, егер есік жабылса ЖӘНЕ кнопка басылса. Релелі-контактілі техникада ЖӘНЕ функциясы сигнал-аргументтер басқаратын тұйықталған контактілерді тізбектей жалғау арқылы жүзеге асады (сур.1.2 а). Рис. 1.2. Конъюктор: а - реле контактілерінде ЖӘНЕ амалын жүзеге асыру; б,в - екі және төрт кірісті конъюкторлардың шартты белгіленуі; а Y=ab б) & b в)) а Y=abcd b c d Y=ab а +U a) b & & 1 Барлық контактілер бірдей қалыпта болған жағдайда ған тоқ жүреді. Егер тым болмаса бір контакт нольдік күйде тұрса (ажыратылған), онда тоқ жүрмейді, функция 0-ге тең болады. ЖӘНЕ функциясын жүзеге асыратын элементті ЖӘНЕ элементі немесе конъюктор деп атайды. ЖӘНЕ элементін көбінесе ақпарат ағынын басқару үшін пайдаланады. Мұнда оның бір кірісіне қандай-да бір ақпаратты әкелетін логикалық сигналдар келеді, ал басқасына басқарушы сигнал келеді: 1-өткізу, 0-өткізбеу. Осындай жолмен қолданылатын элементті вентиль деп атайды. НЕМЕСЕ функциясы - бұл функция екі немесе одан да көп аргумент функциясы. НЕМЕСЕ функциясы 1-ге тең, егер оның ең болмағанда бір аргументі 1-ге тең болса (басқа атаулары: дизъюнкция). Белгіленуі: Ү=аЬ. Табиғи тілдерде дизъюнкция функциясы <<немесе>> шылауымен айтылып, мына түрдегі сөйлемдерде қолданылады: Біз келесі жағалауға өте аламыз, егер өзен таяз НЕМЕСЕ көпір бүтін болса. Логикалық формула (логикалық өрнек) - логикалық шамалар мен логикалық амалдар таңбасынан тұратын формула. Логикалық формуланың есептелуінің нәтижесі тек қана АҚИҚАТ немесе ЖАЛҒАН болады. НЕМЕСЕ элементін жүзеге асыратын элемент - дизъюнктордың шартты белгісі төмендегідей. Рис. 1.3. Дизъюнктор: а - шартты белгісі; б - контактілерде НЕМЕСЕ функциясын жүзеге асыру. а)) а Y=a b c b c 1 Y=a b а +U б) b ЕМЕС, ЖӘНЕ, НЕМЕСЕ ункцияларының ақиқаттық кестесі: А В емес А А және В А немесе В а а ж а а а ж ж ж а ж а а ж а ж ж а ж ж 9-ДӘРІС. Алгоритм ұғымы. Алгоритмдер теориясынын негізгі ұғымдары. Қарастырылатын сұрақтар: Тьюринг машинасы және Пост машинасы көмегімен алгоритм ұғымын айқындау. Марковтың нормальды алгоритмдері. Маккарти бойынша рекурсивті алгоримдер. Алгоримдер арқылы шешілмейтін есептер. Тарихи жағынан <<алгоритм>> термині ІХ ғасырда өмір сүрген шығыс математигі Мухаммед ибн Муса әл-Хорезми тегінен шыққан. Ол алғаш негізгі төрт арифметикалық амалдың ережесін құрастырған. Алдымен осы ережелер алгоритмдер деп аталып, кейіннен термин ары қарай дамуын ең алдымен математикада жалғастырды - алгоритм деп қандай-да бір бастапқы мәліметтер класына бірдей орындалатын есептеулер тәсілі атала бастады, мысалы, функцияның туындысын табу. Математикаға оқытудың маңызды міндеттерінің бірі жалпы есептеу алгоритмдерін меңгерту болып табылады. Басқаша айтқанда, егер мектеп оқушысын екі санды бағанмен көбейтуге үйретсе, бұл жерде оған тек сол екі санды көбейтуді ғана емес, жалпы кез-келген екі санды көбейтуге қолданылатын әмбебап тәсілді (алгоритмді) үйретуде дегенді білдіреді. Мұндай мысалдарды көптеп келтіруге болады. Тек математикада ғана емес - <<алгоритм>> термині жалпы қоданысқа ие болды. Осыған байланысты сұрақ туындайды: алгритмнің жалпы және нақты анықтамасын құруға болды ма (<<кез-келген алгоритм>> ұғымы )? Мысалы осы анықтаманы пайдаланып, қандай-да бір нұсқаулар жиынтығы алгоритм бола алатындығын немесе бола алмайтындығын анықтауға бола ма? Егер дұрыс мағынада айтсақ, алгоритм дегеніміз - қандай-да бір класстың кез-келген есебін шешуді қамтамасыз ететін, нақты анықталған (бірмәнді), қарапайым (элементар) әрекеттер тізбегі. Бірақ бұл анықтаманы алгоритмнің қатаң анықтамасы ретінде қабылдауға болмайды. Себебі оның ішінде басқа анықталмаған ұғымдар қолданылған - бірмәнділік, қарапайымдылық және т.б. Бұл ұғымдарды алгоритмге тән жалпы қасиеттерді көрстеу арқылы жетілдіруге болады. Оларға төмендегі қасиеттер жатады: 1. Алгоритмнің дискреттілігі - алгоритмнің жеке қадамдарға бөлінетінін білдіреді, сол сияқты келесі қадамның орындалуы тек қана алдыңғы қадамдағы барлық амалдар орындалып болғаннан кейін ғана мүмкін болады. Мұнда аралық мәліметтер жиынтығы аяқталған және олар алдыңғы қадамдағы мәліметтерге қандай-да бір ережені қолдану арқылы алынады. 2. Алгоритмнің детерминирленгендігі - кез-келген қадамдағы аралық шамалардың жиынтығы алдыңғы қадамда болған шамалар жүйесімен бірмәнді анықталатынын білдіреді. Бұл қасиет алгоритмнің нәтижесі оның орындаушысына байланысты емес, тек енгізілген мәліметтер мен алгоритмнің өзінің қадамдарына (әрекеттер тізбегіне) байланысты екенін білдіреді. 3. Қадамдардың элементарлығы - келесі шамалар жиынтығын алдыңғыдан алу заңдылығы қарапайым әрі жергілікті болу керек. Қандай қадамды (әрекетті) элементарлы деп есептеуге болатыны алгоритм орындаушысының ерекшеліктеріне байланысты анықталады. 4. Алгоритмнің бағыттылығы - егер қандай-да бір бастапқы мәліметтерден келесі шамаларды алу тәсілі нәтижеге әкелмесе, онда алгоритм нәтижесі ретінде нені есептеу керектігі көрсетілуі керек. 5. Алгоритмнің көпшілдігі - бастапқы шамалар жүйесі қандай-да бір жиыннан таңдалынады. Бұл қасиет бір алгоритм, яғни бір әрекеттер жиынтығы, жалпы жағдайда, кандай-да бір есептер класын (яғни, көп есептерді) шешуге қолданылатынын білдіреді. Практика үшін, жекелеме алғанда компьютерде есепті шешу үшін бұл қасиет маңызды (существенно), себебі, неғұрлым біртипті есептердің үлкен шеңберін шешуге мүмкіндік берсе, бағдарламаның пайдаланушылық құндылығы соғұрлым жоғары болады. Бірақ алгоритмдік теория құру үшін бұл қасиет қолнысқа ие емес (не существенно) және міндетті болып табылмайды. 1-5 қасиеттерді көрсету арқылы анықталған алгоритм түсінігін қатаң деп есептеуге болмайды, себебі қасиеттерді айтқанда <<шама>>, <<тәсіл>>, <<қарапайым>>, <<жергілікті>> және басқа да нақты мағынасы орнатылмаған терминдер пайдаланылды. Ары қарай бұл анықтаманы алгоритмнің қатаң емес түсінігі деп атаймыз. Сұрақ туындайды: алгоритмнің нақты анықтамасын алу осыншама маңызды ма, егер онсыз да алгоритмдерді құрып, қолдануға болса (тіпті, терминнің өзін қолданбай-ақ)? Және де алгоритмнің интуитивті ұғымы қатаң болмаса да анық болды, тіпті ХХ ғасырға дейін қандай-да бір процесстің алгоритм болатындығы немесе болмайтындығы туралы математиктер арасында дау туындаған жағдайы болған емес. ХХ ғасырдың басында алгоритмдік шешілуі көрінбейтін мәселелер туындаған кезде жағдай бірқатар өзгерді. Шыныда да, алгоритмнің бар болуын дәлелдеу үшін белгілі тәсілдерді пайдаланып осы есепті шешу керек, немесе ол болмаса жаңа тәсілдерді ұсыну керек - мұндай жағдайда сипатталған процестің алгоритм екеніне көз жеткізу үшін алгоритмнің интуитивті ұғымы да жеткілікті. Қандай-да бір есептің (немесе есептер класының) шешілу алгоритмін құрудың мүмкін еместігі фактісін дәлелдеу әлдеқайда күрделірек - алгоримнің нақты анықтамасынсыз бұл мәселе өзінің мағынасын жоғалтады. Алгоритмнің нақты анықтамасын құруды қажет ететін басқа негіз - алгоритмдік әрекеттерді орындау кезінде <<қадамның қарапайымдылығы>> түсінігінің анықталмағандығы болып табылады. Математика сандық объектілерді қарастырғанда олармен орындалатын әрекеттер есептеу амалдарының қандай-да бір тізбегіне келтірілетін де, және де арифметикалық амалдар, сол сияқты шамалар арасындағы қатынасты тексеруге байланысты бірнеше логикалық амалдар (теңдік, теңсіздік, кіші, үлкен және т.б.) элементар қадамдар деп есептелінетін. Бірақ, математика кешірек күрделі объектілердің (векторлар, матрицалар, жиындар, функциялар) қасиеттері мен оларға қолданылатын амалдарды зерттеуге көшті де, <<қадамның қарапайымдылығы>> түсінігі оңай көрінбейтін болды. Мысалы, интеграл алу немесе матрицаны транспондауды қарапайым қадам деп қарастыруға бола ма? Ақырында, есеп бірнеше алгоритм құруға мүмкіндік берген жағдайда теориялық және практикалық тұрғыдан алғанда оларды салыстыру және ең тиімдісін таңдау туралы сұрақ туындайды, бұл сұрақты да шешу мәселесі алгоритмнің қатаң анықтамасынсыз мүмкін емес. <<Кез-келген алгоритм>> ұғымының нақты анықтамасын, яғни, алгоритмнің барлық ойға келетін түрлері жатқызылатын максималды жалпы анықтамасын құру қажеттілігі осылайша туындады. ХХ ғасырдың 20-шы жылдарында алгоритмнің нақты анықтамасын құру мәселесі маңызды математикалық мәселелердің біріне айналды. Бұл анықтама бір жағынан алгоритмнің интуитивті түсінігінің маңызына сәйкес келуі қажет болса, екінші жағынан формальды түрде қатаң болуы қажет болды. Осындай түсінікті құрастыру әрекеттері ХХ ғасырдың 30-шы жылдарында алгоритмдер теориясының өз алдына жеке ғылым болып қалыптасуына әкелді. Бұл ғылым математикалық логикамен бірге математиканың негізгі құралдарын - дәледеу тәсілдерін, аксиоматикалық теорияны құру тәсілдерін, математикалық процедуралардың қасиеттерін және т.б. қарастырады. 40-шы - 50-ші жылдарда есептеу техникасы мен оның функционалдануы мен қолданылуына байланысты ғылымдардың қарқынды дамуы кезінде осы ғылымдардың негізінде алгоритмдер теориясы жататыны анықталды, себебі компьютер алгоритмдер түрінде көрсетілетін процедураларды ғана жүзеге асыра алады. Кез-келген программа алгоритмнің орындаушы - компьютер <<түсінетін>> тілде жазылуы. Осылайша практикалық тұрғыдан алғанда да алгоритм ұғымын жетілдіру маңызды болып табылады. Алгоритм түсінігін жетілдіру алгоритмдік модельдер аясында жүргізіледі. Модель есепті шешу кезінде қолдануға болатын құралдар жиынтығын көрсетеді, яғни, элементар қадамдар тізімін, келесі қадамды анықтау тәсілін, т.б. Алгоритмдік модельдер теориялық және практикалық болуы мүмкін. Теориялық тұрғыдан алғанда модельдердің бір жағынан әмбебап болғаны, яғни, кез-келген алгоритмді сипаттауға мүмкіндік бергені, екінші жағынан неғұрлым қарапайым болғаны, яғни, есепті шешудің неғұрлым аз құралын пайдаланғаны ерекше қызығушылық тудырады. Қарапайымдылық талабы алгоритмнің нақты қажет элементтері мен қасиеттерін ерекшелеп, осы қасиеттер туралы жалпы тұжырымдарды дәлелдеуді қамтамасыз ету үшін маңызды. Практикалық және қолданбалы модельдерде программалаудың қолайлылығы мен есептеу тиімділігі маңыздырақ, сондықтан олардың құралдары - қарапайым қадамдар жиынтығы, т.б. - әлдеқайда көп және күрделірек, бұл теориялық анализді қиындатады. Алгоритмнің қатаң анықтамасын құрудың теориялық қырларында тарихи жағынан негізгі үш бағыт бөлініп шықты. Бірінші бағыт аргументтердің бүтінсанды мәндеріне тәуелді сандық функциялардың мәндерін есептеуге мүмкіндік беретін алгоритмдерді қарастырумен байланысты - мұндай функциялар есептелінетін функциялар атауына ие болды. Есептелінетін функциялар ұғымы алгоритмдер ұғымы сияқты қатаң ұғым емес. Бірақ А.Черчтің, К.Гедельдің, С.Клинидің еңбектерінің арқасында барлық жерде анықталған есептелінетін функциялар класының қатаң анықталатын бөлікті рекурсиялы функциялар класымен ұқсастығы негізделді. Бұл алгоритмдік шешілу мәселесін есепті шешешін рекурсиялы функцияны құру мүмкіндігін (немесе мүмкін еместігін) дәлелдеуге келтіруге мүмкіндік берді. Дәл осы жолмен А.Черчке математикалық логиканың мәселелерінің бірі - предикаттардың ақиқаттығын есептеу мәселесінің шешілмейтіндігін дәлелдеудің сәті түсті. Екінші бағыт машиналық математикамен бай>>ланысты. Алгоритм орындаушысы - алгоритмде көрсетілген әрекеттер тізімін орындауға қабілетті субъект немесе құрылғы. Әрбір орындаушыға әрекеттерді орындауға нұсқау - арнайы тілдер арқылы беріледі. Мұнда әрекеттерді көрсететін қызметші сөздер, сол сияқты оларды біріктіретін синтаксикалық ережелер, командалар жиынтығы орындаушының командалар жиынтығын (СКИ) құрайды. Дискретті информацияны өңдеудегі қарапайым бір белгіні екіншісімен ауыстыру болып табылады. Бірақ қарапайым әрекеттер тізімін орындайтын абстрактілі және шынайы құрылғы жасауға болады. Орындаушыға арналған мұндай алгоритм құру барысында интегралданған командалар тізбегін көрсету жеткілікті, ал оларды шын қарапайым командалар тізбегіне түрлендіруді орындаушы өзі атқарады. Мұндай алгоритмдеудің <<көпсатылылығы>> компьютерді басқару барысында көп қолданылады. Шын қарапайым әрекет деп процессордың әрекеттерін айтуға болады қазіргі процессорларда олар бірнеше жүз немесе мыңға барады) - оларды машиналық команда, ал белгіленуін машиналық кодтар деп атайды. Машиналық кодтардан бөлінген бірінші (төменгі) деңгейдегі ассемблер коды есептелінеді, яғни ішкі (аппараттық - тәуелді) тіл. Қарапайым әрекеттерді күрделі командаларға біріктіру бұл деңгейде әлі жүргізілмейді және ассемблердің жалпы командалар саны процессордың командалар санымен бірдей болады. Бірақ машиналық пен процессор регистрлерін-мнемоникаларды символдық бейнелеу формалары қолданылады. Бұл пайдаланушыға екілік машиналық кодтан қарағанда қолайлы. Мнемониктерді машиналық командаларға аударуды - ассемблер программасы жүзеге асырады. Программист орындаушы ретінде осы тілмен жұмыс істейді. Қарапайым әрекеттерді біріктіретін командалар жоғары деңгейдегі программалау тілдерінде көрінеді. Мысалы, < > сөзін программа текстінде жазу жеткілікті. Ал транслятор оларды қарапайым қадамдарға айналдырады. Программистке қарағанда бұл жағдайда орындаушы программалау тілінің трансляторы есептеледі. Бұдан жоғары қарапайым интеграциялау деңгейлерін қолданбалы программалардан көреміз. Бұл жерде ақырғы пайдаланушыға қарағанда қолданбалы программа орындаушы болып тұр. Мұндау орындаушының командалар жүйесіне барлық басқару командалары кіреді, яғни меню, экрандық батырмалар және т.б. интерфейс элементтері. Бір команданы орындау күрделі әрекеттердің тізімін орындауға әкеледі, мысалы текстің көп жолдарын туралау. Осылайша алгоритмді жазу барысында алгоритмді көрсету тілі формальды болуы мүмкін, ал онда орындаушының өзімен шынайы қарапайым әрекеттерге аударылатын күрделі командалар қолданылады. 7.3 Алгоритм абстрактілі машина ретінде 7.3.1 Жалпы қырлары Бөлікті рекурсиялы функциялар класының нақты сипаттамасы Черч тезисімен бірге алгоритм үғымын жетілдіру туралы есептің мүмкін шешімдерінің бірін береді. Бірақ, бұл шешім толықтай тура емес, себебі есептелінетін функция ұғымы алгоритм ұғымына қатысты екінші болып тұр. Алгоритм ұғымы анықтамасының өзін тікелей жетілдіріп алып, содан кейін оның көмегімен есептелінетін функциялар класын нақты анықтауға болмай ма деген сұрақ туындайды. Іздеудің мұндай бағыты басқа алгоритм модельдерінің класын құруға әкелді. Оның негізгі идеясы келесіден тұрады: алгоритмдік процесстер - бұл белгілі бір үлгі бойынша құрылған, осылайша жеке амалдарды адамның орындауын модельдейтін машиналар орындайтын процесстер. Мұндай машинаның қызмет етуі (функционирование) қандай-да бір алгоритмнің орындалуы болып табылады. Алгоритмнің қасиеттерінен мұндай машиналарға жалпы талаптарды құруға болады: * олардың функционалдану сипаты дискретті болуы тиіс, яғни әрбіреуі алдыңғысы аяқталған соң ғана орындалатын жеке қадамдардан тұруы керек; * әрекеттері детерминирленген болуы керек, яғни, қадамдар қатаң тәртіппен орындалады, ал олардың нәтижесі қадамның өзінде және алдыңғы қадамдардың нәтижесімен анықталады; * жұмыс басталмас бұрын машинаға алгоритмнің анықталу облысынан бастапқы мәліметтер беріледі; * машинаның шекті қадамдар санынан кейін нәтиже алынуы тиіс (немесе нәтиже ретінде нені есептеу керектігі жөнінде ақпарат); * машина әмбебап болу керек, яғни оның көмегімен кез-келген алгоритмді орындауға болатындай болуы керек; Неғұрлым сипатталған машинаның құрылымы қарапайым болса және оның қадамдары неғұрлым элементар болса, соғұрлым оның жұмысын алгоритм деп есептеуге негіз көбірек болады. Қандай қадамдарды элементар қадамдар қатарына жатқызуға болады деген сұраққа жауап беру үшін қандай-да бір шекті алфавит көмегімен көрсетілген ақпаратты түрлендіру мәселесіне оралайық. Алфавиттің шектілігі талабы шешімнің шекті қадамдар санынан кейін алынуы керектігі туралы жағдайдың салдары болап табылады. Егер ақпарат дискретті формада көрсетілмесе, мысалы нақты сандар, онда оны оңдеу жалпы жағдайда шексіз қадамдар санынан тұруы мүмкін (мысалы, р санының цифрларын табу немесе 2 санынан квадрат түбір табу). Осылайша, алгоритм дегеніміз шекті алфавит көмегімен көрсетілген берілгендерге орындалатын әрекеттердің шекті тізбегі. Осы айтылғандарды есептке алсақ, В.М.Глушков берген алгоритм анықтамасы түсінікті болады: Алгоритм - бұл кез-келген шекті алфавит үстінен ақпаратты түрлендіру ережелерінің шекті жүйесі. Айталық, алгоритмнің анықталу жүйесінен алынған берілгендер А алфавитінің көмегімен көрсетілсін және {a1...a n} белгілерінің шекті тізбегін құрсын - мұндай тізбек сөз деп аталады. Алгоритмді орындау нәтижесінде басқа В алфавитінде көрсетілген жаңа {b1...bm} сөзі құрылсын. Бір қарағанда мұндай түрлендіру кезінде элементар болып келесі амалдар (қадамдар) ерекшеленеді: * ai бастапқы сөзінің бір белгісін В алфавитінен алынған bj белгісімен ауыстыру; * бастапқы сөздің белгісін өшіру; * бастапқы сөзге В алфавитінің белгісін қосу; Бірақ егер алфавиттерге бос белгі мағынасы бар белгілер қосылған болса, және де оларды сөзге оң жағынан немесе сол жағынан қосу бұл сөзді өзгертпесе, онда (2) амалдың ai - ді бос белгімен ауыстыру екенін және (3) амалдың бос белгіні bj белгісімен ауыстыру екенін оңай көруге болады. Осылайша, барлық мүмкін алфпавитті түрлендірулер (1) амалға - бір белгіні екіншімен ауыстыруға келтіріледі. Дәл осы себептен абстрактілі машиналардың функционалдануы оның жадыда жазылған (бұл ретте шексіз лента алынады) символдарды шолуына (яғни, оларды оқып, тануына) келтіріледі, және де өзінің қалпына және шолынған символдың қандай екеніне байланысты оны басқа символмен ауыстырады; осыдан кейін ол жаңа қалыпқа өтеді, келесі символды оқиды, және т.с.с. жұмысты тоқтату командасына дейін. Мұндай машиналар таза модельді, теориялық құрылым болғандықтан, олар абстрактілі машиналар деген атауға ие болған және мүмкін әмебеп алгоритмдік жүйе ретінде қарастырылады. Абстрактілі машина ретіндегі алгоритм концепциясын (1936-1937 жылдары) ағылшын математигі Алан Тьюринг және оның американдық әріптесі Эмиль Пост бір уақытта дерлік ұсынды. Олардың маңыздылығының тағы бір себебі - олар тек 8-9 жылдан кейін пайда болған мәліметтерді өңдеуге арналған шынайы құрылғылардың (есептеуіш машиналардың) негізгі принциптік сипатын болжап білді. Посттың алгоритмдік машинасы Шындығында, Тьюрингтен айырмашылығы Пост <<машина>> терминін қолданбаған, өзінің моделін алгоритмдік жүйе деп атаған. Біз екі автордың да ойларының бір екенін айта отырып, әдебиеттерде көрсетілгендей Пост машинасы туралы айтамыз. Посттың абстрактілі машинасы бірдей секцияларға бөлінген шексіз лентадан, және оқитын-жазатын головкадан тұрады. Әр секция немесе бос (яғни оған ештеңе жазылмаған), немесе толтырылған (белгіленген - яғни, оған белгі жазылған) болады. Лентаның қалпы деген ұғым енгізіледі, бұл ұғым қай секциялардың бос, қай секциялардың белгіленгендігі туралы ақпарат береді (басқаша айтқанда: лентаның қалпы - бұл белгілердің секциялар бойынша таралуы, яғни бұл секцияның әрбір сандық нөміріне не белгі, не <<бос>> белгісін сәйкес қоятын функция). Әрине, машина жұмысы процесінде лента қалпы өзгереді. Лентаның қалпын және головканың орналасуын Пост машинасының қалпы сипаттайды. Шолынулы секцияның үстіндегі головканы <<>> таңбасымен, ал белгіні секцияның ішіндегі <<М>> таңбасымен белгілеуге шарттасайық. Бос секцияда ешқандай белгі болмайды. Бір тактіде (оны қадам деп те болады) головка бір секцияға оңға немесе солға жылжып, белгіні қоя немесе өшіре алады. Пост машинасының жұмысы берілген жеке командалардан құрылған программа бойынша машинаның бір қалпынан екіншісіне өтуінен тұрады. Әрбір команда келесі құрылымға ие: xKy, мұндағы х - орындалатын команданың нөмірі; K - орындалатын әрекет туралы нұсқау; у - келесі команданың (ізбасардың) нөмірі. Келесі кестеде 6 әрекеттен тұратын машинаның командалар жүйесі берліген: Таблица 7.1. № Команда Команданың жазылуы Машина әрекетінің сипаттамасы 1 Оңға қадам Xy Головканыі бір секция оңға жылжуы 2 Солға қадам Xy Головканыі бір секция солға жылжуы 3 Белгіні орнату XMy Шолынатын секцияға метка қойылады 4 Белгіні өшіру XCy Шолынатын секциядан метка өшіріледі 5 Басқаруды беру Шолынған секцияда белгі болмаса басқару y1 командасына беріледі, бар болса y2 командасына беріледі. 6 Тоқтату x стоп Машина жұмысын тоқтату Осы тізім келесі шарттармен толықтырылуы керек: * командасы тек бос секцияда ғана орындалуы керек; * командасы тек толтырылған секцияға қолданыла алады; * Кез-келген (y) командасының ізбасарының номері міндетті түрде осы программада бар команданың номеріне сәйкес келуі керек. Егер осы шарттар орындалмаса, машинаның нәтижесіз тоқтатылуы болады, яғни, жоспарланған нәтижеге алынудан бұрын тоқтатылу орындалады. Осы жағдан қарағанда командасымен тоқтату нәтижелі болып табылады, яғни ол алгоритм әрекетінің нәтижесі алынғаннан кейін орындалады. Сол сияқты, машинаның ешқашан тоқтатылмайтын жағдайлары да болуы мүмкін - бұл жаңдай егер командалардың ешқайсысы ізбасар ретінде тоқтату командасының номерінен тұрмаса немесе программа осы командаға өтпесе болады. Тағы бір негізгі түсінік келесі болады: кез-келген шекті алфавит таңбалары цифрлармен кодталған болуы мүмкін болғандықтан, осылардан алынған сөзді түрлендіру кейбір сандарды өңдеу ережелері түрінде көрсетілуі мүмкін. Осы себептен Пост машинасында тек бүтін оң таңбалы сандарды ғана жазу (көрсету) қарастырылады. k бүтін саны Пост машинасының лентасында келесі қатар белгіленген k+1 секциялар арқылы жазылады, яғни бірлік санау жүйесі қолданылады. Лентада көршілес сандарды жазғанда бір немесе бірнеше бос секциялар арқылы бөледі. Төменде 0,2,3 сандарын жазу келтірілген: M M M M M M M M Пост машинасының көмегімен шешілетін есептеу есептерінің шеңбері кең. Бірақ, жоғарыда айтылғандай барлығы элементар қадамдар деңгейінде белгіні қою немесе өшіру және головканы қозғалтуға келтіріледі. Мысал ретінде Пост машинасын меңгеруде талқыланатын бірнеше есептерді қарастырамыз. Программаның түрі машинаның бастапқы қалпына байланысты болғандықтан, ол есептің қойылымында анық көрсетілуі керек. Мысал 7.6 Лентада қандай-да бір сан жазылған және головка белгіленген секциялардың біреуін (кез-келгенін) шолуда. Осы санған бірлікті қосу программасын құр. Жағдай келесі суретте көрсетілген: Есепті шешуді қамтамасыз ететін программа 4 командадан тұрады: 1 және 2 командаларды тәзбектей орындау машинаның екі такті жасау барысында головканың оңға жылжуына әкеледі. Бұл орынауыстыру головканың кезекті жылжуынан кейін оның астында бос ұяшық қалғанша орындалады - сонда 3 команда бойынша оған белгі қойылады және 4 команда бойынша машина тоқтатылады. Мысал 7.7 Лентада қандай-да бір сан жазылған, және головка жазбаның сол жағында орналасқан бос секциялардың бірін (кез-келгенін) шолуда. Осы санға бірлік қосу программасын құру керек. Программасы: Программа жұмысына түсіндірме алдыңғы мысалдағыдай, тек айырмашылығы белгі бастапқы санның алдына қойылады. Комментарий к работе программы подобен приведенному выше с той лишь разницей, что метка ставится перед исходным числом. Пост машинасының көмегімен бірлік санау жүйесінде барлық арифметикалық әрекеттерді орындауға болатынын көрсетуге болады. Алдында көрсетілгендей сандар кез-келген дискретті ақпаратты көрсетуге қолданылады. Жекелей алғанда, лентаның қалпын екілік алфавиттегі сөз ретінде кқрсетуге болады, мұнда 0 бос секцияға сәйкес келеді, ал 1 белгіленген секцияға сәйкес келеді. Жұмыс процесі кезінде лента қалпы өзгереді, бастапқы сөзден шығатын екілік алфавитте көрсетілген сөзге ауысу орындалады. Тьюрингтің алгоритмдік машинасы Тьюринг машинасы үш бөліктен тұрады: лентадан, оқитын-жазатын головкадан және логикалық құрылғыдан ( 7.1 суретті қара). Лента сырқы жады ретінде болады; ол шектелмеген (шексіз) болып есептелінеді - бұл Тьюринг машинасының моледьді құрылғы екенін көрсетеді, себебі ешқандай шынайы құрылғының шексіз көлемді жадысы болмайды. 7.1. сурет. Тьюринг машинасының схемасы. Пост машинасындағыдай, лента жеке бөліктерге бөлінген, бірақ, Тьюринг машинасында головка қозғалмайды, ал лента оған қатысты оңға және солға қозғалады. Басқа айырмашылығы ол екілік алфавитте емес, кандай-да бір кез-келген A = {, a1...a n} шекті алфавитте жұмыс істейді - бұл алфавит сыртқы алфавит деп аталады. Онда бос белгі деп аталатын арнайы символы ерекшеленіп тұр, оны қандай-да бір ұяшыққа жіберу ондағы белгіні өшіріп, ұяшықты бос қалдырады. Лентаның әр ұяшығына бір ғана символ жазылады. Лентада сақталған ақпарат сыртқы алфавиттің бос белгісінен басқа белгілерінің шектелген тізбегімен бейнеленеді. Головка әрқашан лента ұяшықтарының бірінің үстінде орналасады. Жұмыс тактілермен (қадамдармен) жүреді. Головкаларымен орындалатын командалар жүйесі қарапайым: әр такті сайын ол шолынулы ұяшықтағы ai белгісін aj белгісіне ауыстырады. Мұнда келесі сәйкестіктер болуы мүмкін: * j = i - бұл шолынулы ұяшықта ештеңе өзгермегенін білдіреді; * i0, j = 0 - ұяшықта сақтаулы белгі бос белгіге ауыстырылғанын, яғни өшірілгенін білдіреді; * i =0, j 0 - ұяшықта сақтаулы бос белгі бос емес белгіге (алфавиттегі j белгісіне) ауыстырылғанын білдіреді, яғни белгі қою орындалады; * i j 0 - бір белгіні екіншісімен ауыстыруды білдіреді. Осылайша, Тьюринг машинасында ақпараттарды өңдеудің ең қарапайым командалары жүзеге асырылады. Бұл өңдеудің командалар жүйесі тура сол сияқты қарапайым лентаның орын ауыстыруының командалар жүйесімен толықтырылады: бір ұяшық солға, бір ұяшық оңға және орнында қалу, яғни шолынулы ұяшықтың адресі команданы орындау нәтижесінде немесе 1-ге ауысады, немесе өзгеріссіз қалады. Бірақ, шыныда лента жылжығанмен, әдетте головканың секцияға қатысты жылжуы қарастырылады - сондықтан лентаның оңға жылжуы командасы R (< >) арқылы, ал солға жылжу командасы L (< >) арқылы, жылжудың болмауы - S (< >) арқылы бейнеленеді. Ары қарай головканың жылжуы туралы айтамыз да, R, L және S командаларын оның қозғалысы деп білеміз. Бұл командалардың қарапайымдылығы қандай-да бір ұяшықтың мазмұнына барғымыз келсе, ол жеке бір ұяшыққа жылжу командасының тізбегі арқылы ізделінетінін білдіреді. Әрине бұл өңдеу процесін біршама ұзартады, оның есесіне ұяшықтарды нөмірлеу және адрес бойынша өту командасынан арылуымызға көмектеседі, яғни, шынайы қарапайым қадамдардың санын азайтады, бұл теориялық тұрғыдан өте маңызды. Тьюринг машинасында ақпаратты өңдеу және таңбаны жазу командасын беру, сол сияқты лентаны жылжыту логикалық құрылғы (ЛҚ) арқылы орындалады. ЛҚ шекті жиын құрып, Q ={q1...qm, z} арқылы бейнеленетін қалыптардың бірінде бола алады, z қалпы жұмыстың аяқталғанына сәйкес келеді, ал q1 бастапқы қалып болып табылады. Q таңбасы R, L, S таңбаларымен бірге машинаның ішкі алфавтін құрады. ЛҚ екі кіру каналына (ai, qi) және үш шығу каналына (ai+1, qi+1, Di+1) (суретке қара) ие: Схеманы келесі түрде түсіну керек: i тактісінде ЛҚ-ның бір кірісіне сол мезетте шолынулы (ai,) ұяшығынан белгі беріледі, басқа кірісіне сол мезеттегі ЛҚ-ның қалпын (qi)-ді бейнелейтін белгі беріледі. Алынған (ai, qi) белгілерінің үйлесуіне және бар өңдеу ережелеріне байланысты ЛҚ жаңа (ai+1) белгісін дайындап, бірінші шығыс каналынан шолынулы ұяшыққа бағыттайды, головканың орын ауыстыру командасын (R, L және S-ден Di+1-ді) береді, сол сияқты келесі басқару белгісін (qi+1 ) шақыру командасын береді. Осылайша, Тьюринг машинасы жұмысының қарапайым қадамы (такт) келесіден тұрады: головка шолынулы ұяшықтан символды оқиды, және өзінің қалпына және оқылған символға байланысты қандай символ жазу (немесе өшіру) керектігі және қандай қозғалыс орындау керектігі жазылған команданы орындайды. Мұнда головка да жаңа қалыпқа өтеді. Мұндай машинаның функционалдану схемасы келесі 7.2 суретте көрсетілген. Сурет 7.2. Тьюринг машинасының функционалдану схемасы Осы схемада жадыны сыртқы және ішкі жадыға бөлу бейнеленген. Сыртқы жады шексіз лента түрінде көрсетілген - ол сыртқы алфавитттің символдарымен кодталған ақпаратты сақтауға арналған. Ішкі жады ағымдағы тактідегі келесі команданы сақтауға арналған екі ұяшық түрінде көрсетілген: Q-де ЛҚ-дан келесі қалып (qi+1) беріліп, сақталады, ал D-да - жылжу командасы (Di+1). Q-дан кері байланыс линиясы бойынша qi+1 ЛҚ-ға түседі, ал D-дан команда қажет кезінде лентаны бір позиция оңға немесе солға жылжытатын орындаушы механизмге түседі. Тьюринг машинасы жұмыс істейтін жалпы ережені келесі жазба түрінде көрсетуге болады: qiajqi'aj 'Dk, яғни, qi қалпында головканың aj символын шолуынан кейін ұяшыққа aj' символын жазады, головка qi' қалпына өтеді, ал лента Dk жылжуын жасайды. Әрбір qiaj комбинациясы үшін тура бір түрлендіру ережесі бар (ереже тек қана z үшін жоқ, себебі бұл қалыпқа түскенде машина тоқтайды). Бұл логикалық блоктың мынадай функцияны жүзеге асыратынын білдіреді: әрбір qiaj қос кіру синалына бір және тек бір qi'aj'Dk үштік сигналын сәйкестендіреді - бұл машинаның логикалық функциясы деп аталып, әдетте кесте (машинаның функционалды схемасы) түрінде көрсетіледі, олардың бағандары қалыптардың символдарымен белгіленеді, ал жолдары сыртқы алфавит белгілерімен бейнеледнеді. Егер сыртқы алфавит таңбалары n, ал ЛҚ-ның қалыптарының саны m болса, онда түрлендіру ережелерінің жалпы саны n ·m болады. Нақты Тьюринг машинасы A и Q жиындарының элементтерін көрсетумен, және сол сияқты ЛҚ-ны жүзеге асыратын логикалық функциялармен , яғни түрлендіру ережелерінің жиынтығымен беріледі. Әртүрлі A, Q жиындары мен логикалық функциялар шексіз көп болатыны түсінікті, яғни Тьюринг машинасы да сол сияқты шексіз көп. Тьюринг машинасының функционалдануын талдамас бұрын тағы бір ұғым енгізейік. Лентаның ұяшықтарының барлық қалыптарының жиынтығы, ЛҚ-ның қалпы және головканың қалпы машинаның конфигурациясы деп аталады. Конфигурацияны келесі түрде жазуға болды: a1qiaj...ak , бұл k символдан тұратын сөзде j нөмірлі секция шолынуда, және бұл кезде басқарушы құрылғы qi қалыпта тұр дегенді білдіреді. Машина конфигурациясы сыртқы алфавиттің символдарының кез-келген санынан тұратыны және тек бір ғана ішкі алфавит символынан тұратыны түсінікті. Көбінесе конфигурацияны 1 qi2 түрде жазады, мұндағы 1 - лентадағы головканың сол жағында тұрған сөз, 2 - лентадағы головканың оң жағындағы тұрған сөз, шолынулы таңбаны қоса есептегенде. 1 - дің сол жағында және 2 - нің оң жағында лента бос. 7.1 суретте бейнеленген конфигурацияны келесі түрде жазуға болады: a1 a2qa3a 4ak, ал 7.2 суреттегі - 1q1111. Жұмысты бастамас бұрын бос лентаға А алфавитінде жазылған, шекті бастапқы сөзі жазылады; головка сөзінің бірінші символының үстіне орнатылады, ЛҚ q1 қалпына келтіріледі (яғни, бастапқы конфигурация q1 түрде болады). Әрбір конфигурацияда тек қана бір түрлендіру ережесі жүзеге асатындықтан, бастапқы конфигурация машинаның барлық келесі жұмысын, яғни, жұмысты тоқтатқанға дейінгі барлық конфигурациялар тізбегін бірмәнді анықтайды. Бастапқы конфигурацияға байланысты оқиғаның өрбуінің екі нұсқасы бар: * Тактілердің шекті санынан кейін тоқтау командасы бойынша машина тоқтайды; бұл кезде лентада шығатын ақпаратқа сәйкес соңғы конфигурация қалады; * Тоқтау болмайды. . Бірінші жағдайда, осы машинаның бастапқы ақпаратқа қолданылатыны туралы айтылады, ал екінші жағдайда - жоқ. Машина нәтиже алуды қамтамасыз ететін барлық кіру конфигурацияларының жиынтығы шешілетін есептер класын құрады. Әрине, Тьюринг машинасын шешілетін классқа кірмейтін есептерге қолдану мәнсіз болады. Екінші жағынан, көптеген жағдайларда шешілетін есептер класын басқа Тьюринг машиналарын құру арқылы кеңейтуге борлады. Сұрақ туындайды: кез-келген есепті шешетін әмбебап машина құруға (тым болмаса теориялық деңгейде) бола ма? Бұл жерде алгоритмдік шешілу мәселесіне келдік, оны кешірек қарастырамыз. Мысал 7.8 Алдыңғы тақырыпта қарастырылған унарлық санға 1-ді қосу есебін Тьюринг машинасымен шешуді қарастырайық. Сырқы алфавит A={,1} жиынымен беріледі, мұндағы 1 толтырылған секцияға, ал - бос белгіге сәйкес келеді, толтырылғандар бірінен кейін бірі қатар тұрады. Ішкі алфавит Q={q,z} жиынымен беріледі, мұндағы q ЛҚ-ның жұмыс қалпына, ал z - тоқстауға сәйкес келеді. Барлық түрлендіру ережесінің жиынтығы (логикалық функция) функционалдық схемамен көрсетіледі: A q z z1S zS 1 q1R z1S Осылайша кесте түрінде функционалдық схема құрылады, яғни колонкалар мен жолдарды белгілеген таңбалар ЛҚ-ның кіру параметрлерін бейнелейді, ал кестенің ұяшықтарында олардың қиылысуында шығатын ақпарат тұр. Жекелей алғанда, егер лента головкасы 1 таңбасы тұрған секцияны шолуда болса және машина (q) жұмыс қалпында тұрса, онда оның осы тактідегі жұмыс нәтижесі осы секцияда 1-ді қайталап, бір секция оңға R жылжу болуы керек (бұл кезде алдында айтылғандай лента солға жылжиды) - бұл команда q1R деп жазылады. Егер шолынулы секцияда тұрса, ал ЛҚ-ның қалпы q болса, онда таңбасы 1-ге ауыстырылады, лентаның жылжуы болмайды және машина тоқтайды - z1S. Кірісте z комбинациясы, сол сияқты 1z комбинациясы кезінде машина жұмыс емес қалпында болады - ешқандай өзгеріс, жылжу болмайды - сондықтан мұндай комбинациялар бұдан былай функционалды схемаларда бейнеленбейді. Айталық, бастапқы конфигурация 1q1111 болсын. Онда машина жұмысы сипатталған логикалық функцияға сәйкес келесі түрде жүргізілдеі: Такт 1 1 шолынуда, ЛҚ-да в q қалпы. Шығу командасы q1R, бұл головканың лентаға қатысты 1 қадам оңға жалжуына эквивалентті. Сәйкесінше, 11q111 аралық конфигурациясы құрылады. Такт 2 - аналогиялық түрде 111q11 конфигурациясы жасалынады. Такт 3 - 1111q1 конфигурациясына өту. . Такт 4 - 11111q конфигурациясына өту (мұнда жақсы түсіну үшін оң жақтағы анық түрде көрсетілген). Такт 5 шолынуда, ЛҚ-ның қалпы q. Шығу командасы z1S - орнына ұяшыққа 1 жазылады, жылжу жоқ, жұмыс тоқтатылды. сдвига нет, работа прекращается. Конечная конфигурация 111111z. Есеп шешілді. Мысал 7.9 Көпразрядты бүтін сан n - нің ондық санау жүйесіндегі жазылуы бар; n+1 мәнін есептеуді қамтамасыз ететін Тьюринг машинасын құру керек. A={0,1,...,9,} сыртқы алфавитін қолданамыз, мұнда символы бос белгіге сәйкес келеді. Ішкі алфавит алдыңғы есептегідей екі қалыптан тұрады - жұмыс қалпы (q) және тоқтау (z) (Q={q, z}). Бастапқы сөз n, сол сияқты нәтиже - n+1 - ондық санау жүйесінде жазылады, және де цифрлар көрші ұяшықтарда бір-бірден, бос орынсыз жазылады. Функционалдық схема кесте түрінде көрсетіледі (қолайлылық үшін жол q қалпына, ал бағандар - сыртқы алфавит таңбаларына сәйкес келеді): a 0 1 2 3 4 5 6 7 8 9 q z1S z2S z3S z4S z5S z6S z7S z8S z9S q0L z1S Айталық, бастапқы конфигурациясы 21q9 болсын. Такт 1 q9q0L, яғни 9 таңбасы 0-ге ауысады да, головка ондықтар бірлігіне жылжиды - аралық конфигурация 2q10. Такт 2 q1z2S, яғни 1 таңбасы 2-ге ауысады да соңғы конфигурациямен 2z20 тоқтау болады, яғни, 219+1 қосынды нәтижесі алынды. Аталық, бастапқы конфигурация 99q9 болсын. Такт 1 q9q0L, яғни, 9q90 аралық конфигурациясы құрылады. Такт 2 q9 q0L - q900 аралық конфигурациясы құрылады. Такт 3 q9 q0L - q000 құрылады. Такт 4 q z1S - z1000 туындайды және жұмыс тоқтатылады. Осылайша, сипатталған алгоритм кез-келген бүтін сан мен бірлікті қосуды қамтамасыз етеді. Осылайша бірлікті емес, қандай-да бір бүтін m санын қосу үшін осы алгоритмді m рет қайталау кажеттігі түсінікті. Бүтін сандарды көбейту де санды өзіне-өзін қосуға келтіруге болады. Осыдан, Тьюринг машинасы маңызды қасиетке ие - қолда бар машиналарды біріктіру арқылы жаңа машина құру мүмкіндігі - мұндай амал композиция деп аталады. Өзінің құрылғылары бойынша Тьюринг машинасы тым примитивті. Ол алғашқы компьютерлерден әлдеқайда қарапрайым. Примитивтілігі - оның головкамен орындалатын - оқу және жазу элементар амалдар жиынтығы тым қарапайымдығында, және де сол сияқты жады ұяшықтарына қол жеткізу компьютерлердегідей адрес бойынша емес, лента бойымен тізбектей жылжу арқылы орындалатындығында. Осы себеппен, екі символды қосу немесе салыстыру сияқты қарапайым амалдарды Тьюринг машинасы бірнеше қадаммен жүргізеді, ал кәдімгі қосу және көбейту амалдары әлдеқайда көп қарапайым әрекеттер санын қажет етеді. Бірақ Тьюринг машинасы шынайы есептеуіш машиналардың моделі ретінде емес, тым қарапайым амалдармен қандай болсын күрделі алгоритмдерді құрудың принцитік (теориялық) мүмкіндігін көрсету үшін ойлап табылған, және де амалдардың өздерін де, және бірінен келесісіне өтуді де машина автоматты түрде орындайды. Тьюринг машинасы алгоритм ұғымын жетілдірудің жолдарының бірін береді. Осыған байланысты сұрақ туындайды: * Тьюринг машинасы ұғымы қаншалықты жалпы болып табылады? * Тьюринг машинасы көмегімен алгоритмдерді беру тәсілін әмбебап деп есептеуге бола ма? * Кез-келген алгоритм осылайша беріле ала ма? Қазіргі алгоритмдер теориясы осы сұрақтарға жауапты келесі гипотеза түрінде береді: Кез-келген алгоритм тьюрингтік функционалдық схема арқылы беріліп, сәйкес Тьюринг машинасында жүзеге асырыла алады. Бұл гипотеза Тьюринг тезисі деген атауға ие болды. Черч тезисі сияқты оны дәлелдеуге болмайды, себебі ол қатаң емес алгоритм ұғымын Тьюринг машинасының қатаң анықтамасымен байланыстырып тұр. Негізінде егер тьюрингтік функционалдық схема арқылы жүзеге аспайтын алгоритмге мысал келтіру мүмкін болса бұл гипотезаны жоққа шығаруға боолады. Бірақ барлық осы кезге дейін белгілі алгоритмдер тьюрингтік функционалдық схема арқылы беріле алады. Марковтың қалыпты алгоритмдері Алгоритм ұғымын жетілдірудің (нақтыландырудың) үшінші қырын қысқаша талдайық. Мағынасы бойынша ол Тьюринг машинасына жақын, бірақ онда қандай-да бір машиналар туралы ойлар қолданылмайды. Алгоритм ауыстарулар жүйесімен беріледі, онда қандай символдар ауыстыруын жасау қажеттігі және бұл ауыстырулар қандай ретпен орындалатыны туралы көрсетіледі. Мұндай қырды А.А.Марковым ұсынған. 50 ж. басында қалыпты алгоритмдер ұғымы енгізілді (Марковтың өзі оларды алгорифмдер деп атаған). Тағы да қандай-да бір А алфавитін қарастырайық. Анықтамалар енгізейік: Сөз - бұл алфавит таңбаларының кез-келген шекті тізбегі. Сөздегі символдар саны оның ұзындығы деп аталады. Ұзындығы нольге тең сөз бос деп аталады. s сөзі q сөзінің ішкі сөзі деп аталады, егер q-ді q=rst түрінде көрсетуге болса, мұндағы r және t сол алфавиттегі кез-келген сөздер (соның ішінде бос сөздер де болады). Енді алгоритм ұғымын анықтауға болады (қатаң емес): А алфавитіндегі алгоритм деп анықталу облысы А алфавитіндегі барлық сөздер жиынының қандай-да бір ішкі жиыны болатын және мәндері сол сияқты А алфавитінің сөздері болатын тиімді есептелінетін функция аталады. Марков алгоритмдерінде бір сөзді басқа сөздің орнына қою алгоритмнің элементар қадамы ретінде қабылданған. Айталық, А алфавитінде Р бастапқы сөзі құрылған болсын. Ол сөзде Pr ішкі сөзі болсын (жалпы жағдайда мұндай сөздер бастапқы сөзде бірнеше болуы мүмкін), сол сияқты сол алфавиттегі қандай-да бір Pk сөзі де болсын. Орнына кою деп бастапқы Р сөзіндегі реті бойынша бірінші Pr ішкі сөзін Pk сөзіне ауыстыру аталады. Орнына қою Pr Pk арқылы бейнеленеді. Осы түрде көрсету алгоритмі орнына қоюлар тізбегі (тізімі) болып табылатын орнына қоюлар жүйесімен беріледі. Егер бұл тізімде Р-ға енетін сол жақ бөлігі бар орнына қоюлар бар болса, онда алғашқысы Р-ға қолданылады, нәтижесінде ол басқа P1 сөзіне өтеді. Оған тағы да ауыстырулар схемасы қолданылады, және т.с.с. процесс екі жағдайда тоқтатылады: немесе тізімде Pn-ге енетін сол жақ бөлігі бар орнына қою табылған жоқ, немесе Pn-ді алу кезінде соңғы орнына қою қолданылды. Мысал 7.10 Айталық, A ={ *,1} алфавиті және жалғыз *11 орнына қою берілсін. Егер P = 11*111*1 бастапқы сөз болса, өңдеу нәтижесін тап. Қалыпты алгоритмді берілген сөзге көрсетілген орнына қоюды қолдану келесі тізбекті беред (астын сызу арқылы түрленуші комбинация көрсетілген): 11*111*1 11111*1 111111 , яғни, алгоритм бастапқы сөздегі бірліктер санын табады (унарлық санау жүйесінде сандарды қосады). Мысал 7.11 Алфавитте орыс тілінің символдары болсын: A ={а,б...я}. Келесі түрлендірулерді қамтамасыз ететін орнына қоюлар жүйесін табу керек: путь муть, поло мала. Мұндай алгоритмнің папа, пузо бастапқы сөздеріне қолданылу нәтижесін тап. Орнына қоюлар жүйесі түсінікті: п м, о а. Алгоритмді қолдану: папа мапа мама пузо музо муза Мысал 7.12 Үштік санау жүйесінде қосу амалын орындауды қамтамасыз ететін қалыпты алгоритм құрастыр. Алфавит келесі символдардан тұрады: A ={0,1,2,+}; орнына қоюлар жүйесі: 0+11, 1+12, 2+1+10, +11. әртүрлі бастапқы сөздерге алгоритмді қолданамыз: 112+1 11+10 120 22+1 2+10 +100 100 Әртүрлі қалыпты алгоритмдер бір-бірінен алфавиттерімен және мүмкін орнына қоюлар жүйесімен еренкшеленеді. Марковтың қалыпты алгоритмін кез-келген алгоритмді берудің стандартты формасы ретінде қарастыруға болады. Алгортмді көрсетудің осы түрі алгоритмдер теориясында зерттеулер жүргізу тұрғысынан ғана маңызды емес, Данная форма представления алгоритма важна не только с точки зрения проведения исследований в теории алгоритмов, сол сияқты ол жасанды интеллект жүйелеріндегі мамандандырылған символдық түрлендірулер тіліне негіз болды. Алгоритмдік модельдерді салыстыру Кейбір теориялық мәселелер (мысалы, алгоритмдік шешілу мәселелері) және практика қажеттіліктері (мысалы, ақпаратты атоматты түрде өңдеуді жүзеге асыратын құрылғылардың жұмыс принциптерін құру қажеттілігі) алгоритмнің қатаң анықтамасын құруды қажет етті. Мәселелерді шешудің әртүрлі варианттары абстрактілі алгоритмдік жүйелер деп аталатын жүйелерді құруға алып келді (оларды сол сияқты алгоритмдік модельдер деп те атайды). Олардың толық тізімі келесі суретте көрсетілген. Жеке модельдердің өзара байланысын анықтайық. Сур. 7.3. абстрактілі алгоритмдік жүйелер (модельдер) класы Барлық алгоритмдік есептерді екі үлкен классқа бөлу қарастырылған: біріншісі - бұл функция мәнін есептеумен байланысты есептер; екіншісі - бұл объектінің берілген жиынға тиістілігін тануға байланысты есептер (бұл келесі сұраққа жауап алумен тең: объекттің берілген қасиеттері бар ма?). Бірінші жағдайда Q алгоритмі бастапқы берілгендермен - А алфавитінің негізінде құрылған P сөзімен жұмыс істей бастайды, және шектеулі қадамдардан (түрлендірулерден) кейін Pk = fQ (P) нәтижесін беруі керек. Нәтиже бастапқы сөзге, сол сияқты өңдеу тізіміне, яғни алгоритмнің өзіне тәуелді (функция болып табылады). Мұнда есептеу кең көлемде - алфавиттік түрлендіру ретінде түсіндіріледі. Екінші классқа жатқызылатын есептерде алгоритмді орындау нәтижесінде келесі сұраққа жауап алынады: < > айтылымы ақиқат болып табыла ма?>> немесе тура солай xM предикатының ақиқаттығы тексеріледі және екі мүмкін нәтиженің біреуі беріледі: АҚИҚАТ немесе ЖАЛҒАН. Бұл классты біріншінің әртүрлілігі деп санауға болады, себебі, предикат - бұл шартына байланысты екі мән қабылдайтын функция. Дегенмен, бұл есептер класын бөлу пайдалы, себебі алгоритмдер теориясының екі маңызды ұғымына әкеледі - есептелінетін функция және шешілетін жиын. Функция есептелінетін деп аталады, егер оның мәнін есептейтін алгоритм бар болса. Жиын шешілетін деп аталады, егер кез-келген объектінің берілген жиынға тиісті немесе тиісті еместігін анықтайтын алгоритм бар болса. Бұл анықтамалар формальды түрде қатаң емес, себебі қандай-да бір функцияның есептелетін функция болатынын немесе болмайтынын алдын ала анықтауға мүмкіндік бермейді (немесе қалай функция сипаты бойынша оның есептелуіне алгоритм құруға болатынын анықтауға болады?). Осы себеппен алгоритмдер теориясын құру үшін барлық бөлікті рекурсиялы функция есептелінетін функция болып табылатындығы туралы Черч тезисі өте маңызды болды. Басқаша айтқанда, егер функцияны қарапайым функциялардан суперпозиция, рекурсия немесе минимизацияның көмегімен құруға болатын болса, онда оны есептейтін алгоритм бар болады. Осындан ары қарай, барлық есептелінетін функция үшін оны есептейтін Тьюринг машинасын құруға болатыны жөнінде айтылған Тьюринг тезисі болды. Пост алгоритмдері де осылайша бөлікті рекурсиялы функциялар көмегімен жүзеге асатын функцияларға келтірілетінін дәлелдеуге болады. Керісінше тұжырым да әділ болады. Кешірек бір алгоритмдік модельдің екіншісіне келтірілетіндігі туралы теорема дәлелденді, оның салдары келесідей тұжырымдамалар болып табылады: <<кез-келген рекурсивті функцияларды сәйкес Тьюринг машинасының көмегімен есептеуге болады>> немесе <<Тьюринг машинасының көмегімен шешілетін кез-келген есеп үшін оны шешетін Марков алгоритмі бар болады>>. Осылайша барлық модельдер эквивалентті болады. Бұдан терең мағына көруге болады, яғни, ақпаратты өңдеу нәтижесі функция (алгоритм) сипатымен және енетін берілгендермен анықталады, бірақ алгоритмдік модельге байланысты емес. Алгоритмдік шешілу мәселесі Барлық алгоритмге оны шешу үшін құрылған есеп сәйкес келеді. Кері тұжырымдау жалпы жағдайда екі себептен дұрыс болмайды: біріншіден, бір есеп әртүрлі алгоритмдермен шешілуі мүмкін; екіншіден, оларды шешу үшін мүдем алгоритм құрылмайтын есептер болуы мүмкін. <<Алгоритм>> термині математикада бұрыннан пайда болды және ұзақ қолданылды - алгоритм деп белгілі қарапайым қадамдар тізбегін орындау арқылы кімнің орындағанына байланыссыз бірмәнді нәтиже алуға болатын процедураны түсінген. Осылайша, өзіндік шешім қабылдау алгоритмнің бар болуына дәлел ретінде қызмет еткен. Бірақ жалпылама түрде шешу мүмкін емес бірқатар математикалық есептер белгілі болатын. Мысал ретінде, үш көне геометриялық есепті алуға болады: бұрыштың үш секциясы туралы, шеңбердің квадратурасы туралы және кубтың екіленуі туралы - олардың біреуі де циркуль және бөліксіз сызғыштың көмегімен шешудің жалпы тәсіліне ие емес. 10-ДӘРІС. Алгоритмдердің тиімділігі мен күрделілігіне анализ жасау. Қарастырылатын сұрақтар: Алгоритмнің күрделілігі ұғымы. Алгоритмнің асимптотикалық күрделілігі. Есептің күрделілігі. Күрделіліктің жоғарғы, төменгі және орташа бағасы. Алгоритмнің асимптотикалық уақытша күрделілігі. Әр түрлі алгоритмдердің тиімділігін салыстыру. Алгоритмдер анализіне кіріспе Алгоритмдердің салыстырмалы бағалары Практикалық есептерді шешуге арналған алгоритмдерді қолдану кезінде біз есепті шешу алгоритмін орынды таңдау мәселесімен кездесеміз. Таңдау мәселесін шешу салыстырмалы бағалар жүйесін құрумен байланысты. Ол өз кезегінде алгоритмнің формальды моделіне сүйенеді. Ары қарай жалпы мәселеге қолданылатын Пост анықтамасына сүйене отырып, дұрыс және финитті алгоритмдерді, яғни жалпы мәселенің 1-шешімін беретін алгоритмдерді қарастырамыз. Формальды жүйе ретінде адрестік жадыны және жоғарғы деңгей тіліне сәйкестендірілген <<элементар>> амалдар жиынтығын қолдайтын фонНеймандық архитектуралы процессорды қамтитын абстрактілі машинаны қарастырамыз. Ары қарай талдау мақсатында келесі ережелерді орнатамыз: * әр команда бекітілген уақыттан артық орныдалмайды; * алгоритмнің бастапқы берілгендері әрбіреуі биттен болатын машиналық сөздермен беріледі. * Нақты мәселе жадының N сөзімен беріледі, осылайша,алгоритм кірісінде = N* бит ақпарат. Кей жағдайларда әсіресе матрицалық есептерді қарастырғанда N алгоритм кірісінің сызықтық өлшемін бейнелейтін ұзындық өлшемі болып табылатынын атап өтейік. Жалпы мәселені шешу алгоритмін жүзеге асыратын программа әрбіреуі биттер - = М* бит ақпарат болатын М машиналық инструкциядан тұрады. Сонымен қатар, алгоритм абстрактілі машинаның келесі қосымша ресурстарын талап ете алады: * - аралық нәтижелерді сақтауға арналған жады; * - есептеу процесін ұйымдастыруға арналған жады (рекурсиялық шақырулар мен қайтаруларды жүзеге асыруға қажетті жады). Жадының N сөзімен берілген нақты мәселені шешу кезінде тек финитті алгоритмдерді қарастыру шартында алгоритм абстрактілі машинаның <<элементар>> амалдарының шекті санынан артығын орындамайды. Осыған байланысты келесі анықтаманы енгізейік: Анықтама 4.1. Алгоритмнің еңбеккөлемділігі. Берілген нақты кіріс - (N) үшін алгоритмнің еңбеккөлемділігі деп осы формальды жүйедегі нақты мәселені шешу үшін алгоритм орындайтын <<қарапайым>> амаладар санын ұғамыз. Алгоритмнің комплексті анализі нақты есептер шешу үшін алгоритм талап ететін формальды жүйенің ресурстарын комплекстті бағалау негізінде орындала алады. Әрине, әртүрлі қолданылу облыстары үшін ресурстар салмақтары әртүрлі болды, бұл келесі алгоритмдерді комплексті бағалауға алып келеді: , мұндағы - ресурс салмақтары. * Алгоритм анализіндегі белгілеу жүйелері Алгоритмнің еңбеккөлемділігін бөлшектеп талдау кезінде N ұзындықты бір кірісте орындалатын элементар амалдар саны тура осындай ұзындықты келесі кірістегі амалар санымен үнемі сәйкес келе бермейтіні белгілі болды. Бұл осы алгоритмнің бектіліген ұзындықты кіріс берілгендерінде еңбеккөлемділік функциясының мінезін бейнелейтін арнайы белгілеулер енгізу қажеттігіне алып келеді. Айталық, - осы есептің нақты мәселелерінің формальды жүйеде берілген жиыны болсын. Айталық, D є - нақты мәселенің тапсырмасы болсын және |D| = N. Жалпы жағдайда жиынының барлық нақты мәселелерді қамтитын, N қуаты бар жеке ішкі жиыны болады: Осы ішкі жиында : = {D є ,: |D| = N} арқылы белгілейік; Сонда осы алгоритм N өлшемді әртүрлі есептерді шеше отырып, қандай-да бір жағдайда неғұрлым саны көбірек амал орындайды, қандай-да бір жағдайда неғұрлым саны азырақ көбірек амал орындайды. Келесі белгілеулерді енгізейік: + (N) - ең нашар жағдай - N өлшемді нақты мәселелерді шешуге арналған А алгоритмінің неғұрлым көбірек амал саны: - - ге ең нашар жағдай + (N) - ең жақсы жағдай - N өлшемді нақты мәселелерді шешуге арналған А алгоритмінің неғұрлым азырақ амал саны: - -ге ең жақсы жағдай + (N) - орташа жағдай - N өлшемді нақты мәселелерді шешуге арналған А алгоритмінің орташа амал саны: - -ге орташа жағдай * Еңбеккөлемділік функциясының түрі бойынша алгоритмдер классификациясы Бастапқы мәліметтердің алгоритмнің еңбеккөлемділігінің функциясына әсеріне байланысты алгоритмдер анализі үшін практикалық маңызы бар келесі классификация ұсынылады: 1.Еңбеккөлемділігі бойынша сандық-тәуелді алгоритмдер Бұл еңбеккөлемділік функциясы нақты кірістің өлшеміне ғана тәуелді болып, және де нақты мәндерден тәуелсіз болатын алгоритмдер: (D) = (|D|) = (N) Сандық-тәуелді еңбеккөлемділік функциясы бар алгоритмдерге массивтер және матрицалармен стандартты амалдарға - матрицаларды көбейту, матрицаларды векторларға көбейту және т.б. - арналған алгоритмдер мысал бола алады. 2.Еңбеккөлемділігі бойынша параметрлі-тәуелді алгоритмдер Бұл еңбеккөлемділігі кірістің өлшемімен емес(әдетте, осы топ үшін кіріс өлшемі әдетте бекітілген болады), жадының өңделетін сөздерінің нақты мәндерімен анықталатын алгоритмдер: (D) = (,...,) = (,...,), m =< n Еңбеккөлемділігі бойынша параметрлі-тәуелді алгоритмдерге сәйкес дәрежелік қатарларды есептеу арқылы берілген дәлдікті стандартты функцияларды есептеу мысал болады. Әлбетте, мұндай алгоритмдер кірісінде екі сандық мәнге ие бола отырып - функция аргументі және дәлдікті - мәнге нағыз амалдар санын орындайды. а) Тізбектей көбейту арқылы есептеу (x, k) = (k). б) = (/n!) есептеу, = (x, )дейінгі дәлдікпен. 3. Еңбеккөлемділігі бойынша сандық-параметрлі алгоритмдер Дегенмен, көпшілік практикалық жағдайларда еңбеккөлемділік функциясы кірістегі мәліметтердің санына да, сол сияқты кіріс мәліметтерінің мәндеріне де тәуелді болады, бұл жағдайда: (D) = (||D||, ,...,) = (N, ,..., ) Мысал ретінде параметрлі-тәуелді сыртқы цикл дәлдігі бойынша өлшемді сандық-тәуелді фрагментті қамтитын сандық әдістердің алгоритмдерін келтіруге болады. 3.1 Еңбеккөлемділігі бойынша реттік-тәуелді алгоритмдер Параметрлі-тәуелді алгоритмдер әртүрлілігінің ішінде амалдарының саны бастапқы объектілерінің орналасу ретіне тәуелді болатын тағы да бір топты ерекшелейік. Айталық, D жиыны келесі элементтерден тұрсын (,...,), және ||D||=N, Определим = {( ,...,)}- ,..., -дан барлық реттелген N жиынын анықтайық. Мұндағы ||=n!. Егер (i) (j), мұндағы i, j є , онда алгоритмді еңбеккөлемділігі бойынша реттік-тәуелді деп атаймыз. Мұндай алгоритмдердің мысалдары ретінде бірқатар сорттау. Массивтегі минимум және максимумды іздеу алгоритмдері жатады. n элементтен тұратын S массивіндегі максимумды іздеу алгоритмін қарастырайық. (орындалған меншіктеу операторларының саны массив элементтерінің ілесі ретіне байланысты) * Функцияның ассимптотикалық анализі Алгоритмнің еңбеккөлемділігі функциясының мінез-құлқын талдау кезінде математикада қабылданған функцияның нақты коэффициенттерді бетперделеп, өсу жылдамдығын көрсететін асимптотикалық бейнелеуді жиі қолданады. Алгоритмнің еңбеккөлемділігін осылайша бағалау алгоритм күрделілігі деп аталады және бастапқы берілгендердің үлкен көлемдері үшін қай алгоритмді қолдану керектігін анықтауға мүмкіндік береді. В асимптотическом анализе приняты следующие обозначения: 1. (тетта) бағасы. Айталық, f(n) және g(n) - оң аргументті оң функциялар, n >= 1 (кірістегі объектілер саны және амалдар саны - оң сандар), сонда: f(n) = (g(n)), егер төмендегідей с1, с2, n0 оң сандар бар болса: с1 * g(n) =< f(n) =< c2 * g(n), мндағы n > n0 Әдетте мұнда g(n) функциясы f(n)функциясының асимптотикалық нақты бағасы деп айтылады, себебі, f(n)функциясы анықтамасы бойынша g(n) функциясынан тұрақты көбейткіш дәлдігімен айырмашылығы жоқ. Ескерту: f(n) = (g(n)) теңдігінен g(n) = (f(n)) екені шығады. Мысалдар: 1) f(n)=4+nlnN+174 - f(n)= (); 2) f(n)=(1) - жазбасы f(n) немесе нольге тең емес константаға тең, немесе f(n) тұрақтысымен шектелген: f(n) = 7+1/n = (1) дегенді білдіреді. 11-ДӘРІС. Рекурсивті алгоритмдер. Қарастырылатын сұрақтар: "Билеп төсте" түріндегі алгоритм. Рекурсивтік алгоритмнің тиімділігі. Турнирлер әдісі. Рекурсивті функциялар Ары қарай қарастыру үшін бізге бірқатар анықтамалар қажет болады. Айталық, Х және Ү екі жиыны бар болсын. Егер Х жиынының кейбір элементтеріне Ү жиының бірмәнді анықталған элементтері сәйкестендірілген болса, онда Х-тан Ү-ке жекелеме функция (частичная функия) берілген деп аталады. Ү-те сәйкес элементтері бар Х-тің элементтерінің жиынтығы функияның анықталу облысы деп аталады, ал Х-тің элементтеріне сәйкес келетін Ү-тің элементтерінің жиынтығы функия мәндерінің жиынтығы деп аталады. Егер функцияның Х-тен Ү-ке анықталу облысы Х жиынымен сәйкес келсе, онда функция барлық жерде анықталған деп аталады. Рекурсивті функия ұғымына сүйеніп алгоритм ұғымын нақты анықтамасын құрудың бастапқы идеясы мынада жатыр: кез-келген берілгендерді (әрине дискретті) қандай-да бір санау жүйесінде натурал сандармен кодтауға болады, және сонда оларды кез-келген жолмен түрлендіру - есептеу операцияларының тізбегіне келтіріледі, ал өңдеу нәтижесі де сол сияқты бүтін санды Бұл жағдайда осы сандық функцияға бірдей кез-келген алгоритм оның мәнін есептейді, ал оның элементар қадамдары кәдімгі арифметикалық және логикалық амалдар болып табылады. Мұндай функциялар есептелінетін функциялар деп аталады. Айталық Пусть y(x1, x2, ..., xn), типті функциялар класы берілсін, олардың ерекшеліктері функцияның барлық аргументтерінің x1,..., xn бүтінсандылығы және функция мәні у-те бүтін сан арқылы өрнектеледі. Басқаша айтқанда аргументтері мен мәндері дискретті болып табылатын функциялар қарастырылады. y(x1, x2, ..., xn) функциясы тиімді есептелінетін деп аталады, егер оның мәнін аргументтердің белгілі мәндері бойынша есептеуге мүмкіндік беретін алгоритм бар болса. Бұл анықтамада алгоритм ұғымы интуитивті түрде алынғандықтан, тиімді есептелінетін функция ұғымы да интуитвті болып табылады. Сонда да алгоритмдерден есептелінетін функцияларға өту барысында да бір мағызды жағдай туындайды. Алдыңғы тақырыптарда қарастырған алгоритмнің интуитивті ұғымына сәйкес келетін, 1-5 шарттарды қанағаттандыратын процесстер жиынтығы барынша кең және анық көрінбейді. Керісінше, келтірілген шарттарды қанағакттандыратын, процесстердің әртүрлі түсініктері үшін есептелінетін функциялар бірдей болып табылды және әдеттегі математикалық терминдермен оңай сипатталады. Барлық есептелінетін функциялар жиынтығымен беттесетін, дәл сипатталған сандық функциялар жиынтығы осы кезге дейін белгілі алгоритмнің кең ұғымында рекурсивті функциялар жиынтығы деп аталады. Кез-келген алгоритмдік модель, оның ішінде рекурсивті функциялар, алгоритмнің қарапайым қадамдарын анықтауды және олардан мәліметтерді өңдеудің қажетті тізбегін қамтамасыз ететін қандай-да бір түрлендірулер тізбегін құру тәсілдерін қарастыруы керек. Рекурсивті модельде мұндай <<элементар қадамдар>> болып S1, 0n және Imn қарапайым функциялар деп аталатын функциялар табылады. Олардың комбинацияларының көмегімен олардан да күрделірек функциялар құрылады және олар келесідей анықталады: * S1(x) = x+1 - тікелей ілесудің бірорынды (яғни, бір аргументі бар) функциясы. * 0n(x1,x2,...,xn) = 0 - бұл нольге теңдікке ұқсастық n-орынды функциясы. * Imn(x1,...,xn) = xm (1 m n; n=1,2,...) - өзінің аргументтерінің бірінің мәнін ұқсас (тождественного повторения) қайталайтын n-орынды функция. Аталған қарапайым функциялар барлық жерде анықталған және интуитвті есептелінеді. Олардың үстінен амалдар анықталған (ары қарай оларды операторлар деп атаймыз). Бұл амалдарды интуитвті есептелінетін функцияларға қолданатын болсақ, итуитивті есептелінетін жаңа функцияларды туындататын қасиеттерге ие. Осы операторлардың көмегімен қарапайым функциялардан алынатын бөлікті функцияларды бөлікті рекурсивті функциялар деп атаймыз. Черч гипотезасының мағынасы мынадай: осылайша құрылған бөлікті рекурсивті функциялар класы алгоримтдік есептелінуі мүмкін функциялар класымен беттеседі. Қарапайым функциялардың түрленуін қамтамасыз ететін операторларды қарастырамыз: Бөлікті функциялардың суперпозициясы Айталық, m-орынды функциялар f1(x1,..., xm), f2 (x1,..., xm),..., fn(x1,..., xm) n-орынды g(x1,..., xn) функциялардың астына қойылсын. Нәтижесінде n-орынды функция алынады h(x1,..., xn)=g(f1(x1, ..., xm),..., fn(x1,..., xm)) Осы жерде h функциясы g, f1, ..., fn функцияларынан суперпозициямен (немесеастына қоюмен) алынды деп айтылады. Символды түрде мұндай астына қою келесідей белгіленеді: Sn+1(g,f1,...,fn), мұндағы жоғарғы индекс аргумент ретінде қойылатын функция санын бейнелейді. Егер біз g, f1, ..., fn функциясын есептей алсақ, онда h функциясы да есептелінеді. Осылайша g, f1, ..., fn функциялары барлық жерде анықталған болса, онда h функциясы да барлық жерде анықталған. Осылайша егер g, f1, ..., fn функциясы итуитивті есептелінетін болса, онда h функциясы да интуитивті есептелінеді. Мысал 7.1 S2(S1,01) мәнін табу керек. Бұл үшін қарапайым 01 функциясының мәні S1 (x)=x+1 -ге қойылу керек. Бірақ 01(x)=0, бұдан , h(x) = S2(S1, 01) = S1(01) = 0+1= 1. Мысал 7.2 S3(I22,I1 1,01) мәнін табу керек. Бұл жағдайда соңғы функция екіорынды болады (n = 3 - 1 =2), бұдан h(x1,x2) = I2 2(I11,01) = I22(x1,0) = 0 Примитивті рекурсия Айталық, қандай-да бір сандық бөлікті функциялар берілсін: n-орынды g(x1, ..., xn) және (n + 2)-орынды h(x1,..., xn, k, y). Бұл жерде (n + 1)-орынды бөлікті f функциясы g и h функцияларынан примитивті рекурсия арқылы жасалынды деп айтылады, егер x1,..., xn, y барлық натурал мәндері үшін келесі теңдіктер тура болса: f(x1,..., xn ,0) = g(x1,..., xn), f(x1,..., xn,y+1) = h(x1,..., xn , y, f(x1,..., xn ,0)) (7.1) Функцияның анықталу облысы барлық натурал сандар жиыны болғандықтан, (7.1) шартын қанағаттандыратын f функциясы g және h әрбір бөлікті функция үшін бар болады және бұл функция жалғыз болады. (7.1) шарты рекурсияның әртүрлі қадамдарында f мәнін анықтау тізбегін береді: f(x1,..., xn,0) = g(x1,..., xn), f(x1,..., xn,1) = h(x1,..., xn,1, f(x1,..., xn,0)), ... (7.2) f(x1,..., xn,m+1) = h(x1,..., xn, m+1, f(x1,..., xn, m)) Симводы түрде примитивті рекурсия f = R(g,h) түрінде белгіленеді; бұл жазбада R барлық бөлікті функциялар жиынтығында анықталған екіорныды бөлікті амал ретінде қарастырылады. (7.2) қатынасынан, егер g және h барлық жерде анықталған болса, онда f функциясы да барлық жерде анықталғандығы шығады. Сол сияқты (7.2) қатынасынан мындадай маңызды жағдай көрінеді: егер g және h функцияларының мәнін таба алсақ, онда f(a1,..., an,m+1) функциясының мәнін алдыңғы қадамдарда мәнін тізбектей табу арқылы <<механикалық>> түрде есептеуге болады. Анықтама енгізейік. f(x1,..., xn) бөлікті функциясы примитивті рекурсиялы деп аталады, егер оны суперпозиция және примитивті рекурсия амалдарының аяқталған санымен, тек S1, 0n и Imn қарапайым функциялары арасынан алуға болса. Егер суперпозиция және примитивті рекурсия амалдарын барлық жерде анықталған функцияларға қолданатын болса, нәтижесінде сол сияқты барлық жерде анықталған функция алынады. Жекелей алғанда барлық примитивті рекурсиялы функциялар барлық жерде анықталған. Мысал 7.3 f(x,y)=x+y екіорынды функциясы примитивті-рекурсиялы болып табылатынын дәлелдеу керек. Бұл функция (7.1) түрде көрсетіле алады: x + 0 = x = I11(x) x + (y+1) = (x+y) +1 = S1(x+y) Бұдан, f(x,y) функциясы примитивті рекурсиялы функциялардан примитивті рекурсия амалымен жасалынады, және бұдан оның өзінің примитивті рекурсиялы екені шығады. Мысал 7.4 f(3,2) функциясының мәнін табу керек, егер ол келесі қатынастармен берілсе: f(0,x) = 0 f(y+1,x) = f(y,x) + x Бұл жағдайда g(x) = 0, h(x,y,z) = y + z. Себебі f(0,x) = g(x) = 0, кез-келген x үшін, онда f(0,2) = 0 болады, ал басқа мәндерді тәзбектей есептеуге болады: f(1,2) = h(1,0,2)= 0+ 2 = 2 f(2,2) = h(2,2,2)= 2+ 2 = 4 f(3,2) = h(3,4,2)= 4+ 2 = 6 Осы мысалда f(x,y)=x · y болатынын дәлелдеу қиын емес. Минимизация амалы Айталық, қандай-да бір f(x,y) функциясы берілсін. Х-тің мәнін бекітіп алып, у-тің қай мәнінде f(x,y)=0 болатынын анықтаймыз. f(x,y)=0 болатындай у-тің мәндерінің ең кішісін іздеу есебі күрделірек болады. Мұндай есепті шешу нәтижесі х-ке тәуелді болғандықтан, у-тің кішісі же х-тің функциясы болып табылады. Белгілеу қолданайық: (былай оқылады: < >, ал -ті -оператор немесе минимизация амалы деп аталады). Осылайша көп айнымалысы бар функциялар да анықталады: функциясын есептеу үшін келесі процедураны ұсынуға болады: * f(x1,...xn,0)-ді есептейміз; егер мән нольге тең болса, (x1,...xn)=0. деп есептейміз. Егер f(x1, ...xn,0) 0 болса, онда келесі қадамға өтеміз. * f(x1,...xn,1) есептейміз; егер мән нольге тең болса, онда (x1,...xn)=1 деп есептейміз. Егер f(x1,... xn,0) 0 болса, онда келесі қадамға өтеміз. Және т.с.с. Егер барлық у үшін f(x1,...xn,0) 0 болса, онда (x1,...xn) функциясы анықталмаған деп есептелінеді. Мысал 7.5 Минимизацияның көмегімен алына алатын f(x,y)=x - y функциясын қарастырамыз: f(x,y) = z (y+z=x) = z [ I32(x,y,z) + I33(x,y,z) = I31(x,y,z)] Мысалы f(7,2) есептейік, яғни y = 2 және x = 7 болғандағы функция мәні. y = 2 деп алып, ал x-ке тізбекті мән беріп отырамыз: z = 0, 2 + 0 = 2 7, z = 1, 2 + 1 = 3 7, z = 2, 2 + 2 = 4 7, z = 3, 2 + 3 = 5 7, z = 4, 2 + 4 = 6 7, z = 5, 2 + 5 = 7 = 7. Осылайша, f(7,2) = 5 функцияның табылған мәні. Анықтама енгізейік: f(x1,..., xn) бөлікті функциясы бөлікті рекурсиялы деп аталады, егер оны тек S1, 0n және Imn қарапайым функциялар арасынан суперпозиция, примитивті рекурсия және минимизация амалдарының аяқталған санымен алуға болса. Бөлікті рекурсиялы функциялар класы примитивті рекурсиялы функциялар класынан кең, себебі, барлық примитивті рекурсиялы функциялар барлық жерде анықталған болып табылады, ал бөлікті рекурсиялы функциялар арасында барлық жерде анықталмаған, сол сияқты еш жерде анықталмаған функциялар кездеседі. Бөлікті рекурсиялы функциялар түсінігі алгоритмдер теориясының негізгі түсініктерінің бірі. Оның маңызы келесіден тұрады: бір жағынан, стандартты түрде берілген әрбір бөлікті рекурсиялы функция алгоритмдерді интуитивті көрсетуге жауап беретін қандай-да бір механикалық сипаттағы процедура жолымен есептеліне алады. Екінші жағынан, тура сызылған қандай алгоритмдер класы құрылмаса да, барлық жағдайда олардың көмегімен есептелінетін сандық функциялар бөлікті рекурсиялы болып табылған. Сондықтан Черч тезисі деп аталатын ғылыми гипотеза жалпықабылданған болып табылады: Алгоритмдік (немесе машиналық) есептелінетін бөлікті сандық функциялар класы барлық бөлікті рекурсиялы функциялар класымен беттеседі. Бұл тезис бөлікті рекурсиялы функция ұғымының алгоритмдік түсіндірілуін береді. Оны дәлелдеуге болмайды, себебі ол математикалық қатаң емес интуитивті есептелінетін функция ұғымын қатаң математикалық бөлікті рекурсиялы функциялар ұғымымен байланыстырады. Бірақ бірнеше онжылдықтар көлемінде көптеген математиктердің жүргізген зерттеулері нәтижесінде бөлікті рекурсиялы функция түсінігін есептелінетін бөлікті функциялардың интуитивті ұғымының эквиваленті деп есептеудің толық мақсатқа лайықты екенін анықтады. Черч тезисі алгоритмдік мәселелердің формулировкасына қажетті нақтылық беру үшін және кей жағдайларда олардың шешілмейтіндігін дәлелдеудің мүмкіндігін жасауға жеткілікті болып табылды. Себебі әдеттегі математиканың алгоритмдік мәселерінде алгоритм туралы емес, арнайы үлгімен құрылған функциялардың есептелетіндігі туралы айтылады. Черч тезисіне сүйенсек, функцияның есептелетіндігі туралы сұрақ, оның рекурсивтілігі туралы сұраққа тепе-тең. Функция рекурсивтілігі туралы ұғым қатаң. Сондықтан кәдімгі математикалық техника кейде есепті шешетін функция рекурсивті бола алмайтынын тікелей дәлелдеуге мүмкіндік береді. Тура осы жолмен Черчтің өзіне предикаттар логикасының негізгі алгоритмдік мәселесі - бірінші баспалдақтағы есептеу формулаларының ұқсас ақиқаттығы мәселесінінің шешілмейтіндігін дәлелдеу мүмкін болды. 12-ДӘРІС. Іздеу және тандау алгоритмдері. Қарастырылатын сұрақтар: Тізбекті іздеу. Екілік іздеу. Таңдау. Іздеу (поиск) екіге бөлінеді: * Тізбектеліп іздеу. * Бинарлық іздеу. * Тізбектеліп іздеу. Тізбектеліп іздеудің мағынасы элементтерді тізбекпен таңдап алуды және элементтерді кілт мәнімен салыстырудан тұрады. Функция парамертлер ретінде массивті, элементтер санын және кілт мәнін алады. Сәйкес элементтің индексін қайталайды, егер іздеу сәтсіз болса, -1 мәнін береді. Тізбектеліп іздеу кез келген тізбек үшін қолайлы, тізбектеліп іздеудің орталық тиімділігі O(n) тең болады. * Бинарлық іздеу. Бинарлық іздеулер тек қана реттелген тізімдер үшін ғана қолданылады. Мысалы элементтер тұратын массив берілсін. Тізімнің басындағы және соңындағы элементтердің индекстері мынадай low=0 high=n-1 дейін болады. Бинарлық іздеудің алгоритмі: * Массивтің ортаңғы элементінің индексін табу: mid=(low+high)/2. * Орталық элементтің мәнін кілтпен салыстыру < >. Егер салыстыру нәтижесінде сәйкестік бар болса, онда mid индексін кілтті табу үшін қолданамыз. Егер орталық элемент мәні кілттен кіші болса, онда қарастырылып отырған тізімнің оң жағындағы бөлігінде іздеу жүргіземіз. Егер керісінше үлкен болса, онда сол жақтағы бөлігінде іздеу жүргіземіз. * Егер ізделіп отырған элемент тізімде жоқ болса, онда үзу индикаторын береміз. Мысалға: Бүтін сандар тұратын А массиві берілсін. 33 кілті берілген элементі бар табу керек. Мысал элементтері: А 0 1 2 3 4 5 6 7 8 -7 3 5 8 12 16 23 33 55 Low=0 High=8 mid=4 33>A(mid) 0 1 2 3 4 5 6 7 8 -7 3 5 8 12 16 23 33 55 mid Low=5 High=8 mid=6 33>A(mid) 0 1 2 3 4 5 6 7 8 -7 3 5 8 12 16 23 33 55 mid Low=7 High=8 mid=7 33=A(mid) Сонда тізбектеліп іздеуде 8 салыстыру, ал бинарлық іздеуде 3 салыстыру жүргізіледі. 13-ДӘРІС. Сұрыптау. Қарастырылатын сұрақтар: Қосулар арқылы сұрыптау. Көпіршік сұрыптауы. Шелл сұрыптауы. Түпкі сұрыптау. Пирамидалық сұрыптау. Тоғыстырма сұрыптау. Жылдам сұрыптау. Сыртқы көпфазалық сұрыптау. Массивтерді сұрыптау алгоритмдері 4-ке бөлінеді: * Таңдау арқылы сұрыптау. * Ауыстыру арқылы сұрыптау (көпіршік әдіісі). * Қою арқылы арқылы сұрыптау. * Тез сұрыптау. Сұрыптау немесе объектілер тізімін реттеу деп осы объектілердің қандай да бір сызықтық реттілікке қатысты өсуі мен кемуі бойынша орындауды айтамыз. Сұрыптаудың мәні сонда жазулар тізімінің реттілігін кілттік өріс мәндері кемімейтін тізбек құратындай етуіміз керек. Басқа сөзбен айтқанда R1, R2, .. , Rn жазулары кілттік мәндері K1, K2,...,Kn орналасуы керек. Ki1 > болып есептелінеді. Бұл есептер класы (P) полиномиалды уақытта бірпроцессорлы машинадан гөрі мықтырақ - детерминирленбеген есептеуіште орындауға болатын есептер класы. Детерминирленбеген есептеуіш детерминирленбеген алгоритмдерді орындайды. Детерминирленгендік қасиетін еске түсірейік: алгоритмнің анықтылығы (детерминирленгендігі) мынаны білдіреді: әрбір қадам үшін бастапқы мәліметтер жиынтығы үшін мбірмәнді есептелінетін қадам нәтижелері де болады, және де осы нәтижелер ешқандай кездейсоқ факторларға тәуелді емес. Осыған байланысты тұтас алгоритм де белгілі жұмысы аяқталған соң нәтиже береді. Детерминирленбеген алгоритмде бұл қасиет жоқ. Бірмәнді емес нәтижелі қадамдарды орындаймыз - бір айнымалы үшін бірнеше мән беретін қадамдарды. Бұл бірнеше мәндер ары қарай екі тәсілдің біреуімен орындалады. Бірінші тәсіл. Бірнеше параллель орындалатын процесстерді құрайық. Бұл параллель орындалатын процессорлары бар көппроцессорлы машинада мүмкін болады. Мысалы ai санының n қосындысын орындайық. Бірпроцессорлы машинада (n-1) қосу амалын орындауға туракеледі. Бірінші қадамда a1 + a2, a3 + a4, ... қос-қостан қосуға болады. Содан кейін тағы да қос-қостан қосайық. Бұл да нәтиже болады. log2n қадам болатынын есептеу қиын емес. Екінші тәсіл. Осы қадамда алынған бірнеше мәндердің қайсысы дұрыс екенін тауып, соны ғана орындау. Бірақ бұл жағдайда табушы құрылғымен толықтырылған бірпроцессорлы машина қолданамыз. 15-ДӘРІС. Ықтималдықтар алгоритмдері. Қарастырылатын сұрақтар: Сандық ықтималдық алгоритмдері. Монте Карло алгоритмі. Лас Вегас алгоритмдері. Шервуд алгоримтдері. Кездейсоқ оқиғалар "ықтималдық" ұғымын пайдаланумен түсіндіріліп баяндалуы мүмкін. Ықтималды теорясы үйлесімділігі жалғыз кездейсоқ оқиғалардың да, сондай - ақ өзара байланысқа немесе байланыссыз бірнеше оқиғаларды біріктіретін қиын тәжірибелердің ықтималдылығын табуға мүмкіндік береді. Алайда кездейсоқ оқиғаларды ықтималдық теориясында ғана баяндауға болады деуге болмайды. Оқиғаның кездейсоқтығы оның нәтижесінде толық сенімділік жоқтығын білдіреді, бұл өз кезегінде берілген оқиғамен байланысты бастапқы тәжірибеге белгісіздікті тудырады. Белгісіздік дәрежесі әртүрлі сипатуациялар үшін түрліше екені сөзсіз. Мысалы, егшер тәжірибе жоғары оқу орынының күндізгі бөлімінің 1- курсына кездейсоқ алынған студенттің жасын анықтаудан тұратын болса, онда үлкен сенімділікпен ол 30 - ға болып шығатынын айтуға болады. Күндізгі бөлім жағдайы бойынша онда 35 ке дейінгі жастағы тұлғалар оқи алатын болғанымен іштей тлдауға бірнеше жыл ішінде бітірген түлектер жиі оқиды. Егер еркімен алынған студенттің жасы 18-ден кіші бола ма екені тексерілсе, ұқсас тәжірибеде әлдеқайда азырақ нақылық болады. Практика үшін әртүрлі тәжірибелердің белгісіздігінің сандық бағасын жүгізу мүмкіндігі болғаны маңызды. Белгісіздіктің осындай сандық өлшемін клтіріп көрейік. Тәжірибе тең мүмкіндіігі бар бастауға n ие болғандағы қарапайым ситуациядан бастайық. Олардың әрқайсының белгісіздік өлшемі нәтиже (f(n)) санының функциясы болып табылады. Бұл функцияның кейбір қасиеттерін көрсетуге болады: * n=1 болғанда тәжірибе нәтижесі кездейсоқ болмайтындықтан f(1)=0, сондықтан белгісіздік жоқ. * Мүкін нәтижелер саны көбірек болған сайын, тәжірибе нәтижесін болжау соншалықты қиын болып кететіндіктен, f(n) n - нің өсуімен бірге өседі. Функцияның f(n) айқын түрін анықтау үшін теңмүмкіндікті нәтижелер санымен α және β екі тәуелсіз тәжірибені, сәйкесінше Πα, Πβ-ді қарастырымыз. Орында α және β тәжірибелерінің бір уақытта орындалуынан тұратын қиын тәжірибеге ие болсын делік: Олардың мүмкін нәтижелерінен саны nα, nβ-ға тең мүмкіндікті мұндай қиын тәжірибенің α және β нәтижесінің белгісіздігі оған α белгісіздігі қосылатындықтан α тәжірибесінің белгісіздігі көбірек болатыны анық; қиын тәжірибе белгісіздігінің мөлшері f(Πα, Πβ) тең. Екінші жағынан жеке α және β-ның белгісіздік өлшемі сәйкесінше f(Πα) және f(Πβ)-ны құрайды. Бірінші жағдайда біріккен оқиғалардың ортақ белгісіздігі көрінеді, екіншісінде әр оқиғаның жеке белгісіздігі көрсетіледі. Алайда α мен β тәуелсіздігінен қиын тәжірибеде олар бер - біріне ешқандай ықпал ете алмайды, соның ішінде α мен β-ның белгісіздігіне ықпал көрсете алмайды және керісіншеү. Сондықтан жиынтық белгісіздіктер өлшемі тәжірибелердің әрқайсысының белгісіздік өлшемі сомасына тең болуы тиіс: f(nα*nβ)=f(nα)+f(nβ) (2.1) Енді ол қасиеттер (1) мен (2) және үйлесімдік; (2.1) қанағаттандыру үшін функцияның f(n) айқын түрі қандай болуы мүмкін деген ойға қаламыз. Мұндай қасиет жиынтығын функция logn(n) қанағаттандыратынын көру оңай, оның үстіне ол функцияның барлық кластарының ішінде жалғыз екенін дәлелдеуге болады. Сөйтіп теңмүмкіндікті нәтижелері (n) бар тәжірибелердің белгісіздігі мөлшеріне logn(n) санын қабылдауға болады. Бұл жағдайда логарифм негізінің таңдалуында мән жоқ екенін айта кеткен жөн, өйткені лагорифмнің бір негізден екіншісіне түрленуінің белгілі формуласы күшіне. lognbn=lognba*lognan басқа негізге өтуі тұрақты, көбейткіштің lognba түрінің екі бөлігі үшін бірдей (2.1) енгізуден тұрады, бұл белгісіздік өлшемімасштабының өзгерісіне тең күште. Бұл осылай болғандықтан бізде логарифм негізінің біз үшін қолайлысын таңдап алуға мүмкіндік бар. Қолайлы негіз екеу, өйткені бұл жағадайда өлшем бірлік үшін айқын көрсетуге болатын және математикалық логика аппаратын осындай оқиғалардың анализі үшін қодануға болатын тек екі бірдей мүмкіндікті нәтижелерге бар тәжірибедегі белгісіздік қабылданады. Тәжірибернің екі мүмкін теңмүмкіндікті нәтижелерінде белгісіздік өлшем бірлігі бит2 деп аталады. Сөйтіп, біз n бірдей мүмкіндікті нәтижелері бар тәжірибе белгісіздігі өлшемін түсіндіретін функцияның айқын түрін анықтадық. f(n)=logn2 n (2.2) Бұл шама энтропия атауына ие болды. әрі қарай оны H деп белгілейтін боламыз. Қайтадан n бірдей мүмкіндікті нәтижелері бар тәжірибені қарасытырамыз. әрбір нәтиже кездейсоқ болғандықтан, олардың белгісіздіктері бірдей деу миға қонымды. Белгісіздік аддитивтік қасиеттен, сондай-ақ (2.2) сәйкес жалпы белгісіздік f(n)=logn2 n - ға тең, бір бастаумен енгізілген белгісіздік мынаны құрайды. , мұнда - кез келген жеке нәтиженің ықтималдығы. Осылайша, бірдей мүмкіндікті нәтижелердің әрқайсы енгізілген белгісіздік мынаған тең. H=-p *log2 p (2.3) Енді тәжірибелер нәтижелері бірдей мүмкіндікті емес болғандаға ситуацияға (2.3) формуласын жинақтап қорытамыз, мысалы, p(A1) және p(A2). Сонда : H1= -p(A1) және H2= -p(A2)*log2 p(A2) H=H1+H2= -p(A1)*log2 p(A1)*log2 p(A1) -p(A2)*log2 p(A2) Тәждірибеде α бірдей мүмкіндікті емес нәтижелер A1, A2, ... An болған жағадайға бұл формуланы жинақтай отырып, мынаны алмыз. H(α)= - (2.4) Айтылып кеткендей осындай түрде енгізілген шама тәжірибе α энтропиясы деп аталады. Дискретті кездейсоқ шамалардың (А.11) орташа мәніне арналған формуланы пайдалана отырып, мынаны жазуға болады. H( ) мұнда А(α) тәжірибедегі (α) мүмкін нәтижелерді білдіреді. Энтропия кездейсоқ оқиғалар көрінетін және оның барлық мүмкін нәтижелерінің орташа белгісіздігіне тең тәжірибе белгісіздігі мөлшер болып табылады. Практика үшін (2.4) формуласы әртүрлі тәжірибелермен салыстыруға мүмкіндік беретіндгімен маңызды. Мысал (2.1) Әрқайсында 12 шардан салынған екі жәшік бар. Біріншісінде 3-ақ шар, 3-қара және 6-қызыл, ал екіншісінде әр түстен 4-тен. Тәжірибелер әр жәшіктен бір шардан алып шығудан тұрады. Бұл тәжірибелердің нәтижелерінің белгісіздіктеріне қатысты не айтуға болады? (2.4) - ке сәйкес екі тәжірибенің де энтропиясын табамыз: бит, бит, Hβ >Hα, яғни β тәжірибесінде нәтиженің белгісіздігі жоғары, сондықтан, оны α нәтижесіне қарағанда азырақ сенімділікпен боложауға болады. * Кездейсоқ нәтижелері бар тәжірибелерді белгілеу үшін грек әріптерін, ал тәжірибелердің жеке нәтижелернін белгілеу үшін латының бас әріптерін пайдаланатын боламыз. * Бит атауы ағылшынның binari digit сөзінен шыққан, дәлме - дәл аудармада екілік разряд немесе екілік бірлік дегенді білдіреді. 16-ДӘРІС. Ақпараттық модельдеу. Қарастырылатын сұрақтар: Ақпараттық модельдеу туралы ұғым. Модельдерді құрудың негізгі кезеңдері. Формальдау. Математикалық модельдеу және есептеу эксперименті. Модель - дегеніміз қандайда бір объектінің өзінің нақты бейнесінен басқа бейнеде берілуі. Барлық дерлік тірі не өлі табиғат жайындағы немесе қоғам жөніндегі ғылымдарда модельді қолдану танудың ең күшті құралы болып табылады. Шынай объектілер мен процесстер өте күрделі болып келеді, сондықтан оларды зерттеудің ең қолайлы жолы шынайы түрінің тек кейбір жақтарын бейнелейтін сондықтан да одан бірнеше есе қарапайым болатын модель құрып және сол модельді зерттеген тиімді. Ғылымның ғасырлар бойғы дамуының тәжірбиесінде модельдеудің нәтижелілігін дәлелдеп отыр. Модельдеудің екі ерекше жолы бар. Модель шынайы объектінің кейбір ғана элементтерін алып тастаған, басқа материалдан басқа масштабта жасалған көшірмесі болуы мүмкін. Мысалы ойыншық самолет, ойыншық кеме, кубиктерден жасалынған үй т.б. Модель шынайы объектіні қандай да бір ережелерге сай формальданған түрде, математикалық қатыстар арқылы, сөзбен бейнеленген еркін формада т.б. формаларда абстрактілі беріле алады. Ғылымдардың қолданбалы салаларында абстрактілі модельдердің келесі түрлері кездеседі: * Мәтіндік модельдер. Бұл модельдер қолданыс саласының диалектісіне сәйкес жазылған сөйлемдердің тізбегінен тұрады. * Объектінің немесе процесстің маңызды жақтарын теңдеулер түріндегі немесе басқа математикалық құралдармен бейнелейтін математикалық модельдер. * Информациялық процесстерді бейнелейтін таңбалар класының модельдері-табиғаты әр түрлі жүйелердің информациялық модельдері. Компьютерлік математикалық модельдеу информациялық технологияға байланысты. Компьютерді қолдану және информацияны өңдеудің сәйкес технологиясы физик, инженер, эколог, экономист, жобалаушы сияқты мамандар жұмысының ажырамас қыры болып табылады. Математикалық модельдеу қадамдары. Математикалық модельдерді қолданып есептерді аналитикалық жолмен де шығаруға болады. Бірақ көп жағдайда есептеудің сандық әдістері қолданылатындықтан компьютерде модельдеудің маңызы зор. 1-суретте есепті математикалық модельдеу жолымен шешу процессінің қадамдары көрсетілген. Модельдеудің мақсатын анықтау Объектінің маңызды жақтарын бөліп алу Матемтикалық сипатталуын қарастыру Математи-калық моделі Зерттеу тәсілін таңдау Модельді дәлдеу Зерттеуді жүргізу Нәтиже-лерді талдау соңы Бастапқы объект Бірінші қадамда модельдеудің мақсатын анықтау үшін келесілерді ескеру қажет: * нақты объектінің (процесстің) табиғатын, оның құрылымын, негізгі қасиеттерін, табиғаттың басқа объектілерімен өзара әсерін түсіну үшін модель қажет; * объектіні немесе процессті басқара білу үшін және қойылған мақсатты және шарттарды ескеріп, басқарудың ең тиімді тәсілдерін анықтау үшін модель қажет; * объектіге әсер ету тәсілдері мен формаларының тура және қосалқы нәтижелерін талдау үшін модель қажет. Модельдеудің мақсаттарының кейбірін мысалға кетірейік. Ұшақтың ұшуының қауіпсіз, әрі экономикалық тиімді болуы үшін ұшудың қандай режимін таңдап алу қажет. Үлкен құрылыстардағы жүздеген түрлі жұмыстардың күн тәртібін құрылыс ең қысқа мерзімде бітетіндей етіп қалай құруға болады? Объектіге басқа әсердің салдарларын болжау физикалық процесстер үшін аса қиын мәселе болмаса, биология-экономикалық, әлеуметтік жүйелерде бұл мәселенің шешілуі өте күрделі, кейде мүлде шешілмейтіндей болады. Объектіні тек түсіну үшін құрылған модельдерді дескриптивті, басқаруға арналған модельді оптимизациялау, болжауға арналғанды болжаушы модельдер деп атайды. Одан басқа ойын, имитациялық, статистикалық және басқа модельдер түрлерін келтіруге болады. Математикалық модель ұғымын түсіндірейік. Объектіге немесе процесске әсер ететін шамалардың тізімін және модельдеу нәтижесінде алынатын шамалардың тізімін құрайық. Алғашқы шамаларды x1, x2,...,xn алынатын шамаларды y1,y2,...,yn деп белгілейік. Онда объектіні немесе процессті символды түрде былай сипаттауға болады. Yj=Fj(x1,x2,...,xn), (j=1,2,..,k) (1.1) Мұндағы Fj нәтижеге жету мақсатында алғашқы шамаларға қолданылатын амалдарды сипаттайды. Fj(x1,x2,...,xn) жазуы кейбір қарапайым жағдай үшін функция ұғымымен бірдей болғанымен функция ұғымынан кең мағынада қолданылады. Алғашқы шамалардың мәні көп жағдайда мысалы классикалық механикада дәлме-дәл беріледі. Алғашқы шамалардың мәні дәл емес қандайда бір дәрежелі ықтималдықпен берілуі де мүмкін. Мұндай процесстерді кездейсоқ процесстерге жатқызамыз. Модельдеудің маңызды сатысы алғашқы параметрлерді соңғы парметрлерге әсер етуінің дәрежесіне қарай топтау. Модельдеудегі табыс, мақсатқа жетудің жылдамдығы мен тиімділігі маңызды факторлардың қаншалықты дұрыс ерекшеленгеніне байланысты. Екінші қадамда модельдің математикалық сипатталуын жасау. Бұл қадамда абстракциялық тұжырымнан математикалық тұжырымға көшу талап етіледі. Осы кезеңде модель математикалық теңдеулер, теңсіздіктер, теңдеулер немесе теңсіздіктер жүйесі түрінде, дифференциалдық теңдеулер мен теңдеулер жүйесі түрінде жазылады. Математикалық модель құрылып болғаннан кейін оны зерттеудің математикалық тәсілін таңдайды. Егер ЭЕМ-ге арналған тәсіл таңдалса сәйкес программасы жазылады немесе бұрынғы дайын программа қолданылады. Программаны құрып болғаннан кейін оны тестілеу есебі енгізу қажет. Программадағы синтаксистік қателермен семантикалық қателер жойылып болғаннан кейін де жауаптың қанағаттанарлық екендігін тексеру маңызды. Программаның берілгендеріне әр түрлі мәндер бере отырып нәтижені талдау қажет. Алынған сандық мәндерді эксперимент нәтижелерімен салыстырып модельдің қаншалықты дәлдікпен шын объектіге сәйкес келетінін, яғни адекваттылығын тексеру қажет. Модель немесе процесс адекватты болмаса алдыңғы қадамдардың біреуіне қайта ораламыз. Қазіргі кезде компъютерлік математикалық модельдеудің жетістіктері абстрактілі, <<көрінбейтінді>> ғылыми графиканың көмегімен көрнектілеуге болады. Мысалға математикалық моделі бар болса қатты денені қыздыру кезіндегі температураның таралуын компьютерлік графиканың көмегімен оңай бақылауға болады. Сол сияқты басқа планета бетінің құрылымын, жер асты металлдарының таралуын тағы басқа көптеген мысалдарды келтіре отырып математикалық модельдеудің маңыздылығын айтуға болады. 17-ДӘРІС. Информатиканың семантикалық негізі. Қарастырылатын сұрақтар: Компьютерлік семантикалық жүйелер. Семантикалық ақпарат. Семантикалық амалдар. Семантикалық объектілер. Мақсатты жүйелер. Семотиканың негізгі ұғымдары. Әлеуметтік нформацияны таңдағанда алдыңғы орында информацияны шыншылдығы (истинность), өзуақыттылы (своевременность), құныдылығы (ценность), толықтығы (полната) және т.б. қасиеттері алдыңғы орында тұрады. Оларды анықталмағандығының азаюымен (ықтималдылығы), символдарының санымен (көлемділігі) жағынан бағалау мүмкін емес. Информацияның сапалы жағына назар аудару, оны бағалаудың басқадай жақтарына әкелді. Аксиологиялық жағынан алғанда информацияның құндылығы, практикалық маңызы, яғни әлеуметтік жүйедегі сапалы мазмұны бағаланады. Семантикалық жағынан информация формасы жағынан сол сияқты мазмұны жағынан қарасытырылады. Информация ұғымын техникалық пәнаралық терминдер деп санауға болмайды. Информация бұл фундаменталды, филисофиялы категория. Информацияның философиялық аспектілерін қазіргі кезде ғалымдар зерттеуде. Енді ақпараттық ресурстың не екеніне тоқталайық.Ресур - бұл кейбір заттардың қоры немесе көзі. Кез келген қоғам, мемлект, фирма және жеке адамның тіршілік әрекетіне белгілі ресурстары болады. Қоғамдық ресурс - тардың келесі түрлері бар: * Материалдық * Шикізат (табиғи) * Энергетикалық * Еңбек * Қаржы Біздің қоғамымыздағы маңызды ресурстардың бірі - ақпараттық ре - сурс.Қазіргі таңда ақпараттық ресурстардың маңыздылығы күннен - күнге өсуде, осының бірден - бір дәлелі: қазіргі фазадағы ақпараттық ресурстың ақпараттық қоғамда товарға айналуы, бұның нарықтағы бағасы дәстүрлі ресурстардың бағасымен бірдей. Ақпараттық ресурстарға әр тұрғыдан түсінік беруге болады. Заң тұрғысынан қарастырсақ Ресей Федерациялық заңында ақпарат, ақ - параттану, ақпаратты қорғау туралы былай делінген: Ақпараттық ресурстар - жеке құжаттар мен құжаттардың жиынтығы (кітапханалар, архивтер, қорлар, басқа да ақпараттық ресурстар). Осы анықтама ақпарат - тық ресурстарды қорғау мәселелерін заңды түрде шешуге көмекте - седі.Алдында айтылған барлық құжаттар мен құжаттар жиынтығы соны құрған адамдардың әртүрлі формадағы білімдерін көрсетеді. Бұл білімдер көбінесе бірегей (уникальный). Оларды қолдану материалдық ресурстарды үнемдеуге, әлеуметтік - экономикалық қатынастардың қалыптасуына кө - мектеседі. Сонымен қатар басқа заңды формула сияқты келтірілген ақпараттық ресурстар туралы түсініктер бір арнада тоғысады, ал көптеген адамдар оны кең мағынада түсінуі мүмкін. Онымен келісуге болады,бірақ өмірдегі барлық нәрселерді нақты формуламен өлшеуге болады.Шындығында ақпараттық ресурстарға барлық ғылыми - техникалық білімдерді, әдеби және өнер туындыларын, қоғамды ,мемлекеттік маңызы бар ақпараттарды жатқызуға болады. Қоғамның ақпараттық ресурстары қазіргі уақытта стратегиялық ресурсы ретінде қарастырылады,мағыналық жағынан ұқсас ресурстарға: материалдық, табиғи, энергетикалық , еңбек және қаржы ресурстары жатады. Бірақта ақпараттық ресурстар мен басқа ресурстардың арасында бір маңызды айырмашылық бар.Кез келген ресурс пайдаланғаннан кейін жоғалып кетуі мүмкін(жанармай, ұсталынып кеткен қаражат т.с.с),ал ақпараттық ресурстар сол күйінде қалады және де оны бірнеше қайтара қолдануға болады.Ол шексіз көшіріле береді.Сонымен қатар ақпараттық ресурстарды қолданылуына байланысты тенденция көбейуде. Сонымен бірге ақпараттық ресурс жеке-жеке өзі ресурс бола алмайтынын және өздігінен тек қана потенциалдық мағынаға ие екенін түсінуіміз керек. Кез келген қоғамның ақпараттық ресурсын жіктеймін деген бос әурешілік.Жіктелудің негізіне мыналарды жатқызуға болады: * Негізгі принцип(өнеркәсіп,әлеуметтік сфералар,ғылым түрлері бар - лық ақпаратқа қатысты ғылым салалары). * Жеткізу формасы(тасымалдаушылар түріне қарай,формальдану деңгейі қосымша сипаттауда және т.б) мен басқа принциптер. Ресурстардың әрқайсына жеке-жеке тоқталып ,оларды бірнеше бөліктерге бөлуге болады.Мысалы: байланыс ресурсы интернетті алатын болсақ, біз оны қызмет көрсету ақпараты, кітапханалық ақпарат, пограммалық қамсыздандыру, видео және тағы басқа да бөліктерге бөлуге болады. Ақпаратық ресурстың ірі түрінің бірі - ұлттық ақпараттық ресурстар. Ал бұл ұғымның пайда болғанына көп болған жоқ, 1980 жылдардың ба - -сын да дамыған елдерде ақпаратты беру және өңдеу жолдарына байланысты шыққан.Төменгі жақта оның жүктелуі көрсетілген. Ұлттық ақпараттық ресурс Кітапханалық ресурс Архивтік ресурс Ғылыми -техникалық ресурс Құқықтық ақпарат Мемлекеттің ақпараттық құрылымы Табиғи ресурстар туралы ақпарат Қаржы -экономикалық ақпарат Негізгі ақпарат Өнеркәсіптік ақпарат Дамыған елдерде ақпараттық ресурстар кітапханаларда сақталынуда, кейінгі жылдары кітапханалық ресурстар сандық жүйеге көшірілуде. Архивтерде елдің тарихы мен мәдениетіне байланысты материалдар сақталған. Архивтік материалдың көлемі үлкен және оларды өңдеп біткенше үсті - үстіне көбеюде . Барлық дамыған елдерде арнайы ғылыми - техникалық ақпараттық жүйесі орналасқан.Олар өздеріне арнайы баспаларды қосып алуда. Осындай ақпараттар көбінесе қымбат товар болып табылады. Заң, кодекс және басқа да құқықтық ақпараттарсыз мемлекеттің болуы мүмкін емес. Кез келген әлеуметтік, өнеркәсіптік,ауылшаруашылық және қоғамның басқа да бағыттарында да ақпараттық ресурстың негізі бар.Кең көлемдегі ақпараттық ресурстар айналым бағытында және білім жүйесінде бар. Жоғарыда көрсетілген сызба ұлттық ресурстар туралы мәліметтер берді. Ұлттық ақпараттық ресурстың ішінен өнеркәсіптік ақпараттық ресурс пен жеке тұлғаның ресурсын бөліп қарауға болады.Бұл түрлер қоғамның деңгейіне сәйкес келмейді, бұл түрлер белгілі бір тұлғаның қызығуынан және мамандығына байланысты.Жоғарғы оқу орнының ақпараттық ресурс төменгі жақта көрсетлген. Жоғарғы оқу орнындағы ақпараттық ресурс Оқулықтар, оқу жеңілдіктері, оқыту әдісінің материалдары Білім - ғылым министірлігінің бұйрықтары мен басқа да құжаттары Заңдар, мемлекеттік стандарттар және тағы басқалар Жұмысшылар мен студентте туралы ақпараттар Архивтік материалдар Экономикалық ақпараттар Материалдық ресурстар туралы ақпараттар Ақпараттық ресурстар мен қызметтер өнім ретінде . Ақпараттық ресурстардың көптігі және оларды қазіргі заманғы элек - трондық түрге келтірілуі дамыған нарықтық ақпарттық ресурстың, товар мен қызмет көрсетудің пайда болуына әсер етті. Қазірігі уақытта көптеген елдерде ақпараттық ресурстың ұлттық нарығы құрылды, әлемдік нарықтың түрлері мен белгілері пайда бола бастады. Бұл нарық дәстүрлі ресурстар нарығына ұқсас:себебі бұл нарықта ақпараттық өнім мен қызмет көрсету товар ретінде қолданылады.Соның ішінде : * Ақпараттық техникалар, компьютерлік программалар * Мәлімметтер қор, ақпараттық жүйелер және тағы басқалар. * Ғылыми - техникалық түрдегі ақпараттар Барлық нарықтағы сияқты ақпараттық товар мен қызмет көрсету нарығында да өндірушілер мен тұтынушылар бар.Ақпаратты ойлап табу - шылар өндірушілер болып саналады. * Мәліметтер қорын құратын және сақтайтын орталықтар * Байланыс және телекомуникация * Концультациялық фирмалар * Ақпаратты сату және сатып алумен айналысатын ақылы фирмалар * Биржа * Жеке тұлға (программа құрушы) * Тұрмыстық қызмет Ақпаратты тұтынушылар - бұлар жеке тұлғалар, өнеркәсіптер, барлық бағыттағы басқару органдары және тағы басқалар. Ақпараттық қызмет көрсету - ақпараттық нарықтың ерекше бір түрі.Ақпараттық қызмет көрсетуге мысыл ретінде көптеген кітапха - лардағы тапсырыс берушінің сұранысы бойынша әдеби кітаптарды тауып беруді(немесе тұрған жері мен суреттелуіне қарай тауып беруді) қарастыруға болады.Кітапханашы әдеби кітаптарды тауып берумен бірге тапсырыс берушіге үлкен көлемдегі ақпараттарды бере алады. Бақылау сұрақтары: * Әртүрлі ғылымдарда, техникада, тұрмыста бірнеше түсіндірмесі бар терминдерге мысал келтір. * Мәтін көрсетілгеннен басқа ақпарат берілуі үшін ғана және олармен байланысты сигналдар берілуі үшін пайдаланылатын процесстерге мысал келтір. * Хабарлама мен ондағы ақпарат арасындағы бір мәнді және бір мәнде емес үйлесімділікке мысал келтір. * Ақпарат сақталуын неліктен ақпараттық процесс деп санауға болмайды. * "Хабарлама қабылдаушы" мен "ақпарат қабылдаушы" ұғымдарының айырмашылығы неде? * Адамның сезім мүшелері ұқсас ақпаратарды қабылдауға бағытталған. Бұл біз дискретті ақпаратты қабылдай алмаймыз дегенді білдіре ме? * Символ - белгілеріне мысал келтір. Сивол алфавитті құрастыра ла ма? * Санаудың он алтылық жүйесінде A,B,C,D,E және F цифралары пайдаланылады. Бұл белгілерді символдар деп санауға бола ма? * Осы тарау мәтінінде белгі "әріп", " символ" ұғымдары дәлдеп ажыратылады. Олармен "цифр" ұғымы қалай үйлеседі? * Санау торемасының мән - мағынасы неде? * Егер телефон (а), лазерлі диск (b) жазбасы сапасын қамтамасыздандыру талап етілсе, сандық дыбыс жазушы қондырғыға 1 секундта қанша санау қажет? * "Бейнені цифрлау" және "дыбысты цифрлау" терминдерін қалай түсінген жөн? Бұл операциялар қанадай қондырғылармен жүргізіледі? * Бастапқы хабарламада ақпарат сақталмады мүмкін D1-->D2 типтегі түрленуге мысал келтір. * Базалық ретінде дискретті хабарламаны көрсету үшін неге екілік алфавить таңдалады? * Компьютер неліктен ақпарат өңдеу бойынша әмбебап қондырғы болып табылады? * Ақпарат көрсетудің дискретті формасы мен үздіксіз фомасының симметриялы болмау неде және қалай көрінеді? * Алгоритм ұғымын түсіндіріп бер. * Алгоритм қасиеттерін ата. * Алгоритм ұғымын формальдандыруды қалай түсінесің? * Пост машинасы туралы не айта аласың? * Тьюринг машинасының жұмыс принциптерін түсіндіріп бер. * Марковтың қалыпты алгоритмдеріне мысал келтір. * Рекурсивті функциялар деген не? * Алгоримтдік шешілу мәселесі туралы айтып бер. * ЭЕМ-да берілгендерді қалай ұйымдастырамыз. * Берілгендердің классификасын жаса. * Берілгендердің сызықтық құрылымына не жатады? * Берілгендердің сызықтық емес құрылымына мысалдар келтір. * Модель деген не? * Модельдеу принциптерін ата. * Математикалық модель деген не? * Модельдеу қадамдарын түсінідіріп бер. * Кибернетика ғылым туралы не білесің? * Кибернетиканың бөлімдерін ата. * Энтропия анықтауында белгісіздік мөлшері ретінде неліктен Н пен n арасындағы Логарифмдік байланыстылық таңдалған? Неліктен log2 таңдалған? * Келесі тәжірибелер энторпиясы қандай: * монета лақтыру; * ойыншық сүйек лақтыру; * 36 картадан жорамалдап бір ойын картасын суырып алу; * екі ойыншық сүйекті лақтыру. * Орыс алфавитінде 34 әріп, ағылшында 27 әріп бар. Егер мәтінде барлық әріптер пайда болуын бірдей деп санасақ, онда мәтіннің кездейсоқ таңдалған әрпін табумен байланысты белгісіздік қалай үйлеседі? * Тәжірибенің екі нәтижесі бар. Егер екі нәтиденің ықтималдығы да 0,5 тең болса, мұндай тәжірибе энтропиясы мейлінше көп еккенің дәлелде. * 12 - тапрсыманың А қосымшасы шарты бойнша А немесе В тілдерінен шыққан атыс нәтижесімен үлкен белгісіздік байланысты екенін анықта. * Екі тәжірибе үшін H()+H()=H()+H() қатынасы тура екендігін дәлелде. * 2.2 мысалда қарасытырған тапсырманы шарлар жәшікке алынған соң қайтарылады деген шартта шығарыңыз. * және тәжірибелері әуел баста ақ щарлар n мен қара шарлар m болған жәшіктен екі шардың қайтарусыз бірізділікпен алынуынан тұрады. H(), H(), H() және H() табыңыз. * Мына тәжірибелер нәтижелерімен қанша ақпарат байланысты: * ойыншық сүйек лақтырылуы; * екі монета лақтырылуы; * 36 ойын картасынан біреуін жорамалдаумен суырып алу; * екі ойыншық сүйекті лақтыру. * Біз біреудің ойлаған екі таңбалы санын табамыз: * барлық санды табу үшін қанша ақпарат өажет болады? * табу кезіндегі сұрақтардың оптимальды жүйелілігі қандай? Олардың мейлінше аз саны қанша? * егер біз барлық санды бірден емес, кезекпен табатын болсақ, ақпарат қажет болған саны өзгере ме? * 1-ші және 2-ші цифрды шешу үшін қажетті ақпарат бірдей ме? * I(,)=I(,) екенін дәлелде. * 2.7 мысалында түсіндірідген тапсырманы А және В ауылдарынан өзге біресе дұрыс, біресе өтірік жауапты беретін, оның үстіне олардың қайсынан бастайтыны белгісіз тұрғндары бар С ауылы да бар деген шартпен шығарыңыз. * сұрақтың екі жауап нұсқасы бар. Жауаптың әрқайсысымен ақпараттың әртүрлі мөлшері байлаысты болуы мүмкін бе? * Бинралы жауапта 1 биттен аз ақпарат болуы мүмкін бе? * Жауап бар жағы 3 болса және олардың барлығы теңықтималды болса, сұраққа жауаптардын әрқайсысында қанша ақпарат болады? * Ақпарат көзі әрқайсысында бір "H" белгісі, екі "%" белгісі, үш "!" белгісі бар көптеген алтытаңбалы хабрлама тудырады. Осындай хабарламалардың әрқайсында қанша ақпарат болады? * Орыс алфавитінің "а" және "б" қайсымен көбірек ақпарат байланысты? Бұл ақпаратты табыңыз. * Орыс тілінде сөздің орташа ұзндығы 5,3 әріп, ағылшын тілінде -4,5. Мәтіндерде сәйкесінше ашық жерлердің пайда болу мүмкіндіктерін табыңыз. Екі тілде де ашық орымен қанша ақпарат байланысты? * 2.1 кестесі берілгені бойынша Excel көмегімен орыс тілі үшін І, есептеп шығарыңыз жіне мәтінде келтірілген мәнді тексер. * Алфавит таңбасында ақпарат саны бүтін емес санмне білдірілетіндігіне түсінік бер. * "Шеннондық хабарлама" деген не? Ақпарат теориясының ісі неге дәл осындай хабарламалармен болады? * Біз неге "артық" тілді пайдаланамыз? * Сіздің көзқарасыңызда әдеби жіне іс мәтіндерінің артықтығы бірдей ме? Неліктен? Негізгі әдебиеттер: * Стариченко Б.Е. Теоретические основы информатики: Учебное пособие для вузов. - 2-е изд. перераб. и доп. - М.: Горячая линия-Телеком, 2003. -312 с, ил. * Информатика: Учебник. - 3-е перераб. изд. /Под. ред. проф. Н.В. Макаровой. - М.: Финансы и статистика, 2001. - 768 с: ил. * Савельев А.Я. Основы информатики: Учеб. для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2001 - 328 с, ил. (Сер. Информатика в техническом университете). * Вирт Н. Алгоритмы и структуры данных: Пер. с англ. - 2-е изд., испр. -СПб.: Невский Диалект, 2001. - 352 с: ил. * Дж. Макконнелл. Анализ алгоритмов. Вводный курс -- М.: Техносфера, 2002.-304 с * Бешенков С.А., Ракитина Е.А. Моделирование и формализация. Методическое пособие. - М.: Лаборатория Базовых Знаний, 2002. - 336 с: ил. * Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ, М: Центр непрер.матем. образ-я, 2000. * М.Д.Князева. Алгоритмика: от алгоритма к программе. КУДИЦ-ОБРАЗ-М:2006 * http://community.livejournal.com/ru_cs Қосысша әдебиеттер: * Носов В.А. Основы теории алгоритмов и анализа их сложности. Курс лекции. Москва. 1992. - 139с. * А.В.Могилев, Н.И.Пак, Е.К.Хеннер. Информатика. Учебное пособие для студентов пед вузов. * В.А.Острейковский. Информатика: Учебник для вузов. - М.:Высшаая школа., 2000.-511 с. * Камардинов О. Информатика: жоғарғы және орта оқу орындарына арналған оқу құралы. - Алматы:Қарасай, 2006.-360б. * Игошин В.И. Математическая логика и теория алгоритмов. - М:, 1991 * http://de.uspu.ru/Informatics/Metodes/DPP/F/08/1/glavs/oglav.htm ЗЕРТХАНАЛЫҚ ЖҰМЫСТАРДЫ ЖҮРГІЗУГЕ АРНАЛҒАН ӘДІСТЕМЕЛІК НҰСҚАУЛАР Зертханалық жұмыс №1 (2 сағат) Тақырыбы: Ақпаратты кодтау. Екілік кодтау. Ақпаратты бір формадан басқа формаға ауыстыру барысында кодтау болады. Кодтау құралы деп белгілер мен таңбалардан тұратын кестелерді айтамыз. Олардың арасында бір сәйкестік болуы керек. Келесі кестеде графикалық объектілер арасында байланыс орнатылған. Екілік код Ондық код КОИ8 СР1251 СР866 Мас ISO 00000000 0 ............. 00001000 8 Соңғы символды жою (BacSpase пернесі) ............. 00001101 13 Жолды ауыстыру ( ENTERпернесі) ............. 00100000 32 Бос орын 00100001 33 ! ............. 01011010 90 Z .............. 01111111 127 10000000 128 - Ъ А А К .............. 11000010 194 б В - - Т ............. 11001100 204 л М | | Ь ............. 11011101 221 щ Э _ Е н ............ 11111111 255 ь Я Бос орын Бос орын п Ақпаратпен алмасу кезінде кодтау мен қатар декодтау процестері де жүргізіледі. Компьютерге алфавит таңбасын енгізген кезде сәйкес перненін басқанда оның компьютер кодына ауысуы жүзеге асырылады. Ал монитор экранына шыққан кезде қайтадан декодтау процесі жүзеге асырылады. Кодтау - бір таңбалар жүйесіндегі таңбалар немесе таңбалар тобының басқа таңбалар жүйесінің таңбалары немесе таңбалар тобына ауысу операциясы. Мысал ретінде тауардың штрих кодын қарастырайық. Мұндай кодтар әрбір тауарда болады. Адам үшін сандық кодтау қолайлы, ал автоматтандырылған есеп үшін штрих кодтау қолайлы болып табылады. 4 8 2 0 0 0 0 01 9 0 5 3 4 Екілік кодтау Компьютерде мәтіндік, графиктік, сандық аақпаратты өңдеуге болады. Сұрақ пайда болады: <<Компьютер адам үшін әр түрлі түрдегі ақпаратты қалай қабылдап, қалай тез өңдейді?>> Осы аталған барлық ақпараттың түрлері электрлік импульстар тізбегімен кодталады: импульс бар (1), импульс жоқ (0), т.с.с. Ақпаратты компьютерде кодтаудың осындай тәсілі екілік кодтау деп аталады. Ал бір мен нольдердің тізбегі машиналық тіл деп аталады. Ақпарат түрі Екілік код Сандық 1 0 1 1 0 0 1 1 Мәтіндік Графиктік Дыбыстық Видео Сурет 1. Ақпаратты екілік кодтау Ақпарат компьютерде екілік код түрінде көрінеді, оның алфавиті екі цифрдан тұрады: 0 және 1. Бұл екі санды тең ықтималдықты оқиғалар немесе жағдай деп қарастыруға болады. Ақпаратты өлшеу бірлігінің өзі ағылшынның Binary Digit сөзінен шыққан. Ол сөз аударғанда екілік разряд деп аталады. Машиналық екілік кодтың әрбір цифры 1 битке тең ақпарат тасиды. Сұрақтар: * Ақпаратты кодтау дегеніміз не? * Компьютер неге екілік кодтауды, ал адамдар неге ондық кодтауды қолданады? * Екілік кодтаудың қандай артықшылықтары бар деп ойлайсыз? * Машиналық тіл дегеніміз не№ Тапсырмалар: * Ақпаратты кодтау мен декодтауға мысалдар келтіріңіз. * <<ЭЕМ>> сөзі СР1251 кодымен берілген. Осы сөзді КОИ8 және ISO кодтау жүйелеріндегі кодын табыңыз. * Ондық жүйедегі 130, 131 сандарын екілік кодтау жүйесінде жазыңыз. Зертханалық жұмыс №2 (3 сағат) Тақырып: Сандық ақпаратты көрсету формалары * Бекітілген үтірлі (нүктелі) сандарды көрсету. * Сандарды жылжымалы үтірлі формада көрсету. * Теріс сандарды көрсету. * Сандық ақпаратты көрсету қателіктері. Қысқаша мәлімет (ЭЕМ жадысында мәліметтерді көрсету) ЭЕМ эжадысында мәліметтерді көрсету үшін кодтаудың екілік тәсілі (сандық ақпарат үшін де, сандық емес үшін де) қолданылады. ЭЕМ жадысының элементар ұяшығы 8 байт ұзындыққа ие. Әр байттың өзінің нөмірі бар (оны адрес деп атайды). ЭЕМ бір бүтін ретінде өңдей алатын ең үлкен бит тізбегін машиналық сөз деп атайды. Машиналық сөздің ұзындығы процессордың разрядтылығына байланысты болады және 16,32 және т.с.с. битке тең болуы мүмкін. Символдарды кодтау үшін 1 байт жеткілікті. Мұнда 256 символ көрсетуге болады. ЭЕМ IBM PC дербес компьютерлеріндегі символдар жиынтығы көбінесе ASCII (American Standard Code for Information Interchange -- ақпарат алмасуға арналған стандарты американдық код) кеңейтілуі бар код болады ЭЕМ жадысында сандарды көрсету кезінде кей жағдайларда аралас екілік-ондық санау жүйесі қолданылады, мұндағы әрбір ондық таңбаны сақтау үшін жартыбайт (4 бит) қажет болады және 0-ден 9-ға дейінгі ондық сандар сәйкесінше 0000-ден 1001-ге дейінгі екілік сандармен көрсетіледі. Мысалы, 18 мәндік цифрлары бар бүтін санды сақтауға арналған және жадыда 10 байт (үлкені таңбалық) орын алатын капталған ондық формат осы нұсқаны қолданады. Сандарды көрсетудің басқа тәсілі - қосымша код. Шамалардың мәндерінің диапазоны оларды сақтауға бөлінген жады биттерінің санына тәуелді. Мысалы, Integer типті шамалар - 32768 ( - 2[15])-нан 32767 (2[15] - 1)-ға дейінгі диапазонда жатады және оларды сақтауға 2 байт жұмсалады; LongInt типті шама - 2[31] - ден 2[31] - 1-ге дейінгі диапазонда жатады; Word типті -- 0-ден 65535 (2[16] - 1)-ге дейінгі диапазонжа жатады және т.с.с. Мысалдардан көріп отырғандай мәліметтер таңбалы және таңбасыз сандар ретінде келтіріледі. Таңбалы шаманы көрсету кезінде сол жағындағы (ең үлкен) разряд 0-ге тең болса, оң санды көрсетеді, 1-ге тең болса, теріс санды көрсетеді. Жалпы разрядтар 0-ден бастап оңнан солға қарай нөмірленеді. Төменде екі байты машиналық сөздегі нөмірлеу келтірілген. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Оң санның қосымша коды оның тура кодына сәйкес келеді. Бүтін санның тура коды келесі түрде алынады: сан екілік санау жүйесіне аударылады, содан кейін оның екілік жазбасын сан жататын мәліметтер типі талап ететін 0-дер санымен толықтырылады. Мысалы, егер 37(10) = 100101(2 саны Integer типінің шамасы ретінде жарияланса, оның тура коды 0000000000100101 болады, ал егер 37(10) = 100101(2) саны LongInt типі ретінде жарияланса, онда оның тура коды 00000000000000000000000000100101 болады. Неғұрлым шағын жазба үшін оналтылық кодты жиі қолданады. Алныған кодтарды сәйкесінше 0025(16) и 00000025(16) деп жазуға болады. Бүтін теріс санның қосымша кодын келесі алгоритммен алуға боолады: 1) санның модулінің тура кодын жазу керек; 2) оны инверттеу (нольдерді бірліктермен, ал бірліктерді нольдермен ауыстыру); 3) инверстік кодқа бірлікті қосу. Мысалы, ( - 37) санының қосымша кодын LongInt типті шама ретінде алып жазамыз. 1) 37 санының тура коды 00000000000000000000000000100101 болады; 2) инверттік коды 11111111111111111111111111011010; 3) қосымша коды 11111111111111111111111111011011 немесе FFFFFFDB(16). Санды оның қосымша коды арқылы алу үшін ең алдымен оның таңбасын анықтап алу қажет. Егер сан оң сан болса, онда оның кодын тек ондық санау жүйесіне аудару қажет болады. Теріс сан болған жағдайда келесі алгоритмді орындау қажет: 1) санның кодынан 1-ді азайту; 2) кодты инверттеу; 3) ондық санау жүйесіне аудару. Алынған санды теріс таңбамен жазу. Мысалдар. Қосымша кодтарға сәйкес келетін сандарды жазайық: а) 0000000000010111. Үлкен разрядта ноль жазылғандықтан нәтиже оң болады. Бұл 23 санының коды. б) 1111111111000000. Мұнда теріс санның коды жазылған. Алгоритмді орындаймыз: 1) 1111111111000000(2) - 1(2) = 1111111110111111(2); 2) 0000000001000000; 3) 1000000(2) = 64(10). Жауап: - 64. Дербес компьютердің жадысында нақты сандарды көрсету үшін басқадай тәсіл қолданылады. Жылжымалы үтірлі шамаларды көрсетуді қарастырамыз: Кез-келген нақты санды M 10[p], где 1 M < 10 стандартты түрде жазуға болады, мұндағы 1 M < 10, p -- бүтін. Мысалы, 120100000 = 1,201 10[8]. Ондық санның әр позицицясы көршісінен 10 санының дәрежелеріндей айырмашылығы болатындықтан, 10-ға көбейту ондық үтірді бір позиция оңға жылжытуға эквивалентті. Осылайша 10-ға бөлу ондық үтірді бір позиция солға жылжытуға пара-пар. Сондықтан жоғарыда келтірілген мысалды жалғастыруға болады. 120100000 = 1,201 108 = 0,1201 109 = 12,01 107. Ондық үтір санда <<жылжиды>> және санның бүтін және бөлшек бөліктеріндегі абсолютті орны белгіленбеген. Жоғарыда келтірілген жазбада М-ді санның матиссасы деп, ал p - оның реті деп аталады. Максималды дәлдікті сақтау үшін есептеуіш машиналар мантиссаны үнемі дерлік нормальданған түрде сақтайды, бұл мантисса осы жағдайда 1(10) и 2(10) (1 M < 2).. аралығында жататын сан дегенді білдіреді. Мұнда санау жүйесінің негізі 2 саны. Жылжымалы үтірлі мантиссаны сақтау тәсілі екілік үтірдің бекітілген орында тұрғанын білдіреді. Шын мәнісінде екілік үтір бірінші екілік цифрдан кейін тұрады, яғни, мантиссаны нормальдау бірінші битті жалғыздайды, осымен мәнді 1 мен 2-нің аралығына орналастырады. Жылжымалы нүктелі санға берілген орын екі өріске бөлінеді. Бір өріс мантиссаның таңбасы мен мәнінен тұрады, келесісі ретінің таңбасы мен мәнінен түрады. Математикалық соопроцессоры бар IBM PC дербес компьютері келесі нақты сандармен жұмыс істеуге мүмкіндік береді (мәндердің диапазоны абсолютті шама бойынша көрсетілген): Типі Диапазоны Мантиссасы Байттар Real 2,9 10 - 39..1,7 1038 11 - 12 6 Single 1,5 10[ - 45]..3,4 10[38] 7 - 8 4 Double 5,0 10 - 324..1,7 10[308] 15 - 16 8 Extended 3,4 10 - 4932..1,1 10[4932] 19 - 20 10 Нақты сандардың ЭЕМ жадысында көрсетілуіне арналған түрлендірулерін Double типті шаманың мысалында көрейік. Кестеде көрініп тұрғандай, осы типтің шамасы жадыдан 8 байт орын алады. Суретте мантиссаның және реттің өрістерінің көрсетілуі берілген: S Аралас рет Мантисса 63 52 0 Мантиссаға берілген үлкен бит 51-ші нөмір екенін, яғни мантисса 52 биттің кішілерін алады. Сызықша екілік үтірдің орнын көрсетеді. Үтірдің алдында мантиссаның бүтін бөлігінің биті түруы қажет, бірақ ол үнемі 1-ге тең болғандықтан бұл жерде осы бит қажет емес және сәйкесінше жадыда жоқ (бірақ ол ойда). Реттің мәні бұл жерде қосымша кодпен көрсетілген бүтін сан ретінде сақталмайды. Есептеулерді оңайлату және нақты сандарды салыстыру үшін реттің мәні ЭЕМ-де аралас сан ретінде сақталады, яғни, реттің осы мәніне оның жадыға жазылар алдында жылжу қосылады. Жылжу реттің минимальды мәніне ноль сәйкес келетіндей болып таңдалынады. Мысалы, Double типі үшін рет 11 бит орын алады және 2 - 1023-ден 21023-ге дейінгі диапазонға ие, сондықтан жылжу 1023(10) = 1111111111(2)-ге тең. Сонымен, 63 номерлі бит санның таңбасын кқрсетеді. Осылайша, жоғарыда айтылғандардан ЭЕМ жадысында нақты сандарды көрсетуді алудың келесі алгоритмі туындайды: 1) берілген санның содулін екілік санау жүйесіне аудару; 2) екілік санды нормальдау, яғни M 2p, түрінде жазу, мұндағы M -- мантисса (оның бүтін бөлігі 1(2)-ге тең) және p -- ондық санау жүйесінде жазылған рет; 3) жылжу ретіне қосу және жылжытылған ретті екілік санау жүйесіне аудару; 4) берілген санның таңбасын (0 -- оң; 1 -- теріс) ескере отырып, оның ЭЕМ жадысында көрсетілуін жазу. Мысал. - 312,3125 санының кодын жаз. 1) Осы санның модулінің екілік жазбасы: 100111000,0101. 2) 100111000,0101 = 1,001110000101 2[8]. 3) аралас рет аламыз 8 + 1023 = 1031. Осыдан, 1031(10) = 10000000111(2). 4) Соңғысы 1 10000000111 0011100001010000000000000000000000000000000000000000 63 52 0 Әрине алынған кодты неғұрлым шағын түрде келесідей жазуға болады: C073850000000000(16). Келесі мысал нақты санның кодынан керісінше санның өзіне өтуді қарастырады. Мысал. Айталық, келесі код берілсін: 3FEC600000000000(16) немесе 0 01111111110 1100011000000000000000000000000000000000000000000000 63 52 0 1) Алдымен оның оң санның коды екенін байқаймыз, себебі 63 нөмірлі разрядта ноль жазылған. Осы санның ретін алайық: 01111111110(2) = 1022(10); 1022 - 1023 = - 1. 2) сан мына түрге ие: 1,1100011 2 - 1 немесе 0,11100011. 3) ондық санау жүйесіне аударып, келесіні аламыз: 0,88671875. Зертханалық жұмыстарға тапсырма: 1. Берілген санды ондық жүйеден ондық-екілік жүйеге аудар. 2. Берілген санды екілік-ондық жүйеден ондық жүйеге аудар. 3. Берілген мәтінді ASCII кодтар кестесін пайдаланып шифрла. 4. Осы мәтінді ASCII кодтар кестесін пайдаланып дешифрла. 5. Санның тура кодын оны таңбасыз сегізбайтты бүтін сан ретінде жазыңыз.. 6. Санның қосымша кодын оны таңбалы сегізбайтты бүтін сан ретінде жазыңыз. 7. Санның тура кодын оны таңбасыз оналтыбайтты бүтін сан ретінде жазыңыз. 8. Санның қосымша кодын оны таңбалы оналтыбайтты бүтін сан ретінде жазыңыз. 9. Санды оның берілген қосымша коды арқылы ондық санау жүйесінде бүтін сан ретінде жазыңыз. 10. Нақты санның кодын Double типті шама ретінде көрсетіп жазыңыз. 11. Double типті шама коды берілген. Оны санға айналдырыңыз. Вариант 1 1. а) 585(10); б) 673(10); в) 626(10). 2. а) 010101010101(2-10); б) 10011000(2-10); в) 010000010110(2-10). 3. IBM PC. 4. 8A AE AC AF EC EE E2 A5 E0. 5. а) 224(10); б) 253(10); в) 226(10). 6. а) 115(10); б) - 34(10); в) - 70(10). 7. а) 22491(10); б) 23832(10). 8. а) 20850(10); б) - 18641(10). 9. а) 0011010111010110; б) 1000000110101110. 10. а) - 578,375; б) - 786,375. 11. а) 408E130000000000; б) C077880000000000. Вариант 2 1. а) 285(10); б) 846(10); в) 163(10). 2. а) 000101010001(2-10); б) 010101010011(2-10); в) 011010001000(2-10). 3. Автоматизация. 4. 50 72 6F 67 72 61 6D. 5. а) 242(10); б) 135(10); в) 248(10). 6. а) 81(10); б) - 40(10); в) - 24(10). 7. а) 18509(10); б) 28180(10). 8. а) 28882(10); б) - 19070(10). 9. а) 0110010010010101; б) 1000011111110001. 10. а) - 363,15625; б) - 487,15625. 11. а) C075228000000000; б) 408B9B0000000000. Вариант 3 1. а) 905(10); б) 504(10); в) 515(10). 2. а) 010010010100(2-10); б) 001000000100(2-10); в) 01110000(2-10). 3. Информатика. 4. 50 72 6F 63 65 64 75 72 65. 5. а) 207(10); б) 210(10); в) 226(10). 6. а) 98(10); б) - 111(10); в) - 95(10). 7. а) 19835(10); б) 22248(10). 8. а) 18156(10); б) - 28844(10). 9. а) 0111100011001000; б) 1111011101101101. 10. а) 334,15625; б) 367,15625. 11. а) C07C08C000000000; б) C0811B0000000000. Вариант 4 1. а) 483(10); б) 412(10); в) 738(10). 2. а) 001101011000(2-10); б) 100010010010(2-10); в) 010101000110(2-10). 3. Computer. 4. 84 88 91 8A 8E 82 8E 84. 5. а) 185(10); б) 224(10); в) 193(10). 6. а) 89(10); б) - 65(10); в) - 8(10). 7. а) 29407(10); б) 25342(10). 8. а) 23641(10); б) - 23070(10). 9. а) 0111011101000111; б) 1010110110101110. 10. а) 215,15625; б) - 143,375. 11. а) C071760000000000; б) 407FF28000000000. Вариант 5 1. а) 88(10); б) 153(10); в) 718(10). 2. а) 000110000100(2-10); б) 100110000111(2-10); в) 100100011000(2-10). 3. Printer. 4. 43 4F 4D 50 55 54 45 52. 5. а) 158(10); б) 134(10); в) 190(10). 6. а) 64(10); б) - 104(10); в) - 47(10). 7. а) 30539(10); б) 26147(10). 8. а) 22583(10); б) - 28122(10). 9. а) 0100011011110111; б) 1011101001100000. 10. а) - 900,546875; б) - 834,5. 11. а) 407C060000000000; б) C0610C0000000000. Вариант 6 1. а) 325(10); б) 112(10); в) 713(10). 2. а) 100101100010(2-10); б) 001001000110(2-10); в) 011100110110(2-10). 3. компьютеризация. 4. 50 52 49 4E 54. 5. а) 239(10); б) 160(10); в) 182(10). 6. а) 55(10); б) - 89(10); в) - 22(10). 7. а) 17863(10); б) 25893(10). 8. а) 24255(10); б) - 26686(10). 9. а) 0000010101011010; б) 1001110100001011. 10. а) - 969,15625; б) - 434,15625. 11. а) C082B30000000000; б) C086EB0000000000. Вариант 7 1. а) 464(10); б) 652(10); в) 93(10). 2. а) 000110010010(2-10); б) 001100011000(2-10); в) 011000010000(2-10). 3. YAMAHA. 4. 4D 4F 44 45 4D. 5. а) 237(10); б) 236(10); в) 240(10). 6. а) 95(10); б) - 68(10); в) - 77(10). 7. а) 28658(10); б) 29614(10). 8. а) 31014(10); б) - 24013(10). 9. а) 0001101111111001; б) 1011101101001101. 10. а) - 802,15625; б) - 172,375. 11. а) C085EB0000000000; б) C07D428000000000. Вариант 8 1. а) 342(10); б) 758(10); в) 430(10). 2. а) 010110010000(2-10); б) 011101100101(2-10); в) 011100010111(2-10). 3. световое перо. 4. 4C 61 73 65 72 5. а) 136(10); б) 130(10); в) 239(10). 6. а) 82(10); б) - 13(10); в) - 77(10). 7. а) 27898(10); б) 24268(10). 8. а) 19518(10); б) - 16334(10). 9. а) 0000110100001001; б) 1001110011000000. 10. а) 635,5; б) - 555,15625. 11. а) C07848C000000000; б) C085394000000000. Вариант 9 1. а) 749(10); б) 691(10); в) 1039(10). 2. а) 100100010001(2-10); б) 001000111001(2-10); в) 001101100011(2-10). 3. Микропроцессор. 4. 88 AD E4 AE E0 AC A0 E2 A8 AA A0. 5. а) 230(10); б) 150(10); в) 155(10). 6. а) 74(10); б) - 43(10); в) - 21(10). 7. а) 18346(10); б) 25688(10). 8. а) 31397(10); б) - 21029(10). 9. а) 0110101101111000; б) 1110100100110101. 10. а) 110,546875; б) - 743,375. 11. а) C08B794000000000; б) 407CB28000000000. Вариант 10 1. а) 817(10); б) 661(10); в) 491(10). 2. а) 100001010001(2-10); б) 010000000111(2-10); в) 001001110001(2-10). 3. Принтер. 4. 42 69 6E 61 72 79. 5. а) 219(10); б) 240(10); в) 202(10). 6. а) 44(10); б) - 43(10); в) - 94(10). 7. а) 23359(10); б) 27428(10). 8. а) 21481(10); б) - 20704(10). 9. а) 0001101010101010; б) 1011110111001011. 10. а) - 141,375; б) 145,375. 11. а) 408EA14000000000; б) C07B128000000000. Вариант 11 1. а) 596(10); б) 300(10); в) 515(10). 2. а) 001100100110(2-10); б) 001000010110(2-10); в) 010100010010(2-10). 3. Дисковод. 4. 49 6E 66 6F 72 6D 61 74 69 6F 6E. 5. а) 237(10); б) 160(10); в) 253(10). 6. а) 122(10); б) - 97(10); в) - 82(10). 7. а) 30469(10); б) 21517(10). 8. а) 23008(10); б) - 23156(10). 9. а) 0010111101000000; б) 1011001101110001. 10. а) 576,375; б) - 99,375. 11. а) 40864B0000000000; б) C047140000000000. Вариант 12 1. а) 322(10); б) 320(10); в) 738(10). 2. а) 000110000000(2-10); б) 100101010110(2-10); в) 011101100001(2-10). 3. Pentium 100. 4. 91 A8 E1 E2 A5 AC A0 20 E1 E7 A8 E1 AB A5 AD A8 EF. 5. а) 201(10); б) 135(10); в) 198(10). 6. а) 91(10); б) - 7(10); в) - 95(10). 7. а) 29234(10); б) 19909(10). 8. а) 25879(10); б) - 27169(10). 9. а) 0001111001010100; б) 1011010001110010. 10. а) - 796,15625; б) 325,15625. 11. а) 4060B00000000000; б) C0846C6000000000. Вариант 13 1. а) 780(10); б) 949(10); в) 718(10). 2. а) 0001000000010101(2-10); б) 100110011001(2-10); в) 001101100001(2-10). 3. Арифмометр. 4. AC AE A4 A5 AB A8 E0 AE A2 A0 AD A8 A5. 5. а) 188(10); б) 213(10); в) 217(10). 6. а) 89(10); б) - 90(10); в) - 34(10). 7. а) 25173(10); б) 25416(10). 8. а) 27435(10); б) - 22433(10). 9. а) 0111110101101100; б) 1111011001100010. 10. а) - 142,375; б) 565,15625. 11. а) C086494000000000; б) C083DC6000000000. Вариант 14 1. а) 164(10); б) 1020(10); в) 713(10). 2. а) 011110000100(2-10); б) 001100010001(2-10); в) 100101010001(2-10). 3. Сканер. 4. A2 EB E7 A8 E1 AB A8 E2 A5 AB EC AD EB A9 20 ED AA E1 AF A5 E0 A8 AC A5 AD E2. 5. а) 127(10); б) 199(10); в) 187(10). 6. а) 57(10); б) - 31(10); в) - 109(10). 7. а) 17689(10); б) 20461(10). 8. а) 26493(10); б) - 30785(10). 9. а) 0010110001100110; б) 1010001111010000. 10. а) - 550,15625; б) 616,15625. 11. а) 407C360000000000; б) 408B594000000000. Вариант 15 1. а) 280(10); б) 700(10); в) 464(10). 2. а) 010100110011(2-10); б) 100100100101(2-10); в) 100010010001(2-10). 3. ВИНЧЕСТЕР. 4. 43 6F 6D 70 75 74 65 72 20 49 42 4D 20 50 43. 5. а) 217(10); б) 161(10); в) 232(10). 6. а) 53(10); б) - 24(10); в) - 110(10). 7. а) 23380(10); б) 22620(10). 8. а) 24236(10); б) - 30388(10). 9. а) 0100101101100011; б) 1001001000101100. 10. а) 84,15625; б) - 681,375. 11. а) 4075E28000000000; б) C07E980000000000. Вариант 16 1. а) 728(10); б) 383(10); в) 202(10). 2. а) 001100110011(2-10); б) 001101100010(2-10); в) 010001000100(2-10). 3. IBM PC. 4. 8A AE AC AF EC EE E2 A5 E0. 5. а) 170(10); б) 242(10); в) 158(10). 6. а) 70(10); б) - 50(10); в) - 90(10). 7. а) 21581(10); б) 31014(10). 8. а) 19903(10); б) - 17431(10). 9. а) 0011111110001000; б) 1001011111011111. 10. а) 650,375; б) - 974,5. 11. а) C05DCA0000000000; б) 408E5B0000000000. Вариант 17 1. а) 158(10); б) 177(10); в) 439(10). 2. а) 000100110101(2-10); б) 001010010011(2-10); в) 0001000000100100(2-10). 3. Автоматизация. 4. 50 72 6F 67 72 61 6D. 5. а) 172(10); б) 247(10); в) 216(10). 6. а) 104(10); б) - 67(10); в) - 88(10). 7. а) 17134(10); б) 17996(10). 8. а) 24197(10); б) - 19851(10). 9. а) 0001010110011011; б) 1001010000111010. 10. а) 423,15625; б) 835,15625. 11. а) 4089794000000000; б) 408B414000000000. Вариант 18 1. а) 328(10); б) 537(10); в) 634(10). 2. а) 000100000100(2-10); б) 010110011001(2-10); в) 100000110111(2-10). 3. Информатика. 4. 50 72 6F 63 65 64 75 72 65. 5. а) 203(10); б) 199(10); в) 214(10). 6. а) 87(10); б) - 50(10); в) - 31(10). 7. а) 17130(10); б) 27910(10). 8. а) 26837(10); б) - 17264(10). 9. а) 0100011000011101; б) 1101001111000101. 10. а) - 197,15625; б) - 341,375. 11. а) C057D80000000000; б) 406F0C0000000000. Вариант 19 1. а) 1026(10); б) 725(10); в) 100(10). 2. а) 100110010110(2-10); б) 100100110010(2-10); в) 000110010000(2-10). 3. Computer. 4. 84 88 91 8A 8E 82 8E 84. 5. а) 173(10); б) 149(10); в) 129(10). 6. а) 73(10); б) - 117(10); в) - 39(10). 7. а) 24335(10); б) 28591(10). 8. а) 19650(10); б) - 27052(10). 9. а) 0110010000000000; б) 1111111001010100. 10. а) 612,15625; б) - 652,546875. 11. а) 40664C0000000000; б) 40684C0000000000. Вариант 20 1. а) 853(10); б) 135(10); в) 66(10). 2. а) 100001111001(2-10); б) 100000010000(2-10); в) 001101000100(2-10). 3. Printer. 4. 43 4F 4D 50 55 54 45 52. 5. а) 178(10); б) 240(10); в) 152(10). 6. а) 54(10); б) - 10(10); в) - 43(10). 7. а) 18083(10); б) 19157(10). 8. а) 18477(10); б) - 28803(10). 9. а) 0101010001100111; б) 1110101001001100. 10. а) 575,375; б) 983,375. 11. а) C088440000000000; б) C0696C0000000000. Вариант 21 1. а) 206(10); б) 382(10); в) 277(10). 2. а) 011101100101(2-10); б) 010001110111(2-10); в) 011101010000(2-10). 3. компьютеризация. 4. 50 52 49 4E 54. 5. а) 234(10); б) 254(10); в) 192(10). 6. а) 120(10); б) - 110(10); в) - 112(10). 7. а) 19743(10); б) 30381(10). 8. а) 30643(10); б) - 23233(10). 9. а) 0111100111001110; б) 1001100000100111. 10. а) - 503,15625; б) 339,375. 11. а) C06EA50000000000; б) C08E230000000000. Вариант 22 1. а) 692(10); б) 844(10); в) 1014(10). 2. а) 010101100010(2-10); б) 100100100111(2-10); в) 001001000101(2-10). 3. YAMAHA. 4. 4D 4F 44 45 4D. 5. а) 215(10); б) 229(10); в) 241(10). 6. а) 101(10); б) - 34(10); в) - 56(10). 7. а) 23242(10); б) 17599(10). 8. а) 25657(10); б) - 29323(10). 9. а) 0010101000011001; б) 1011000010001010. 10. а) 654,546875; б) 494,375. 11. а) C0642C0000000000; б) C082F14000000000. Вариант 23 1. а) 707(10); б) 133(10); в) 1023(10). 2. а) 001010000011(2-10); б) 010000000011(2-10); в) 001010000001(2-10). 3. световое перо. 4. 4C 61 73 65 72. 5. а) 136(10); б) 202(10); в) 207(10). 6. а) 85(10); б) - 44(10); в) - 66(10). 7. а) 17949(10); б) 27584(10). 8. а) 27445(10); б) - 31187(10). 9. а) 0100011111000100; б) 1011001111110000. 10. а) 446,15625; б) - 455,375. 11. а) 408B894000000000; б) C089930000000000. Вариант 24 1. а) 585(10); б) 239(10); в) 361(10). 2. а) 011010000001(2-10); б) 100001010001(2-10); в) 001110000111(2-10). 3. Микропроцессор. 4. 88 AD E4 AE E0 AC A0 E2 A8 AA A0. 5. а) 162(10); б) 224(10); в) 206(10). 6. а) 73(10); б) - 111(10); в) - 66(10). 7. а) 17189(10); б) 22238(10). 8. а) 32549(10); б) - 23508(10). 9. а) 0011100011010100; б) 1001010101100011. 10. а) - 279,375; б) - 838,15625. 11. а) 4081C94000000000; б) 403D800000000000. Вариант 25 1. а) 382(10); б) 830(10); в) 512(10). 2. а) 100000100101(2-10); б) 010010010100(2-10); в) 011000000011(2-10). 3. Принтер. 4. 42 69 6E 61 72 79. 5. а) 136(10); б) 183(10); в) 162(10). 6. а) 111(10); б) - 122(10); в) - 61(10). 7. а) 21736(10); б) 22611(10). 8. а) 18894(10); б) - 25174(10). 9. а) 0000111101011000; б) 1110000000001111. 10. а) 300,546875; б) - 400,15625. 11. а) 408EFB0000000000; б) 4078D28000000000. Зертханалық жұмыс №3 (2 сағат) Тақырып: Шекті автомат туралы түсінік * Шекті автоматтарды беру тәсілдері * Логикалық элементтер мен бөгеттерден құрылған схемалар ЕМЕС, ЖӘНЕ, НЕМЕСЕ үш логикалық функцияның жиынын XIX ғ. аяғында өмір сүрген, осы функцияларды зерттеген ағылшын математигі Джордж Бульдің қүрметіне Бульдік базис деп атаған. Осы үш функция арқылы әртүрлі логикалык функциялар өрнектелетін алгебраны Буль алгебрасы деп атайды. ЕМЕС функциясы - бұл бір аргумент функциясы (басқа атаулары: теріске шығару, инверсия). Функция әдетте аргумент үстіндегі сызықшамен белгіленеді: Y=a Мүндағы Ү - логикалық функция; а - аргумент. Теріске шығару функциясы 1-ге тең, егер оның аргументі 0-ге тең болса және керісінше: өшірілді =жанды. Егер ЖАНДЫ айтылымы ақиқат болса, онда ӨШІРІЛДІ айтылымы жалған болады және керісінше. Терістеу аргументін теріске шығару аргументтің өзіне тең болады: (өшірілді ЕМЕС)ЕМЕС=өшірілді немесе егер Ү=а, ОНДА Ү=а=а. Тоқ немесе кернеудің белгілі деңгейі түрінде ЕМЕС функциясын жүзеге асыратын электронды логикалық элемент инвертор деп аталады. Инвертор функционалдық сүлбелерде төмендегідей бейнеленеді: а Y=a а а a)) б) Y=a а +U 1 1 в) Сур. 1.1. Инвертор: а,б - функционалдық сүлбелердегі бейнеленуі; в - ағытылатын контактілі реле арқылы ЕМЕС функциясының жүзеге асуы; Кіріс - сол жақтан, шығыс - оң жақтан. Шығыс сызығында оның тіктөртбұрышпен қосылатын жерінде шеңбер - инверсия символы бейнеленген. Релелі-контактілі логикада ЕМЕС функциясын ағытылатын контакт жүзеге асырады (сур. 1.1), яғни реленің мұндай контактісі жүйеде тоқ күші а болған кезде ағытылып тұрады, ал а тоқ күшін берген кезде ағытылады. ЖӘНЕ функциясы - бүл екі немесе одан да көп аргумент функциясы (Басқа атауы: конъкция, логикалық көбейту). Белгіленуі: Ү=а&b, Ү=аb. ЖӘНЕ функциясы 1-ге тең сонда және тек сонда, егер оның барлық аргументі 1-ге тең болса. Табиғи тілдегі <<және>> осы байланысты білдірері, мысалы: лифт жүреді, егер есік жабылса ЖӘНЕ кнопка басылса. Релелі-контактілі техникада ЖӘНЕ функциясы сигнал-аргументтер басқаратын тұйықталған контактілерді тізбектей жалғау арқылы жүзеге асады (сур.1.2 а). Рис. 1.2. Конъюктор: а - реле контактілерінде ЖӘНЕ амалын жүзеге асыру; б,в - екі және төрт кірісті конъюкторлардың шартты белгіленуі; а Y=ab б) & b в)) а Y=abcd b c d Y=ab а +U a) b & & 1 Барлық контактілер бірдей қалыпта болған жағдайда ған тоқ жүреді. Егер тым болмаса бір контакт нольдік күйде тұрса (ажыратылған), онда тоқ жүрмейді, функция 0-ге тең болады. ЖӘНЕ функциясын жүзеге асыратын элементті ЖӘНЕ элементі немесе конъюктор деп атайды. ЖӘНЕ элементін көбінесе ақпарат ағынын басқару үшін пайдаланады. Мұнда оның бір кірісіне қандай-да бір ақпаратты әкелетін логикалық сигналдар келеді, ал басқасына басқарушы сигнал келеді: 1-өткізу, 0-өткізбеу. Осындай жолмен қолданылатын элементті вентиль деп атайды. НЕМЕСЕ функциясы - бұл функция екі немесе одан да көп аргумент функциясы. НЕМЕСЕ функциясы 1-ге тең, егер оның ең болмағанда бір аргументі 1-ге тең болса (басқа атаулары: дизъюнкция). Белгіленуі: Ү=аЬ. Табиғи тілдерде дизъюнкция функциясы <<немесе>> шылауымен айтылып, мына түрдегі сөйлемдерде қолданылады: Біз келесі жағалауға өте аламыз, егер өзен таяз НЕМЕСЕ көпір бүтін болса. Логикалық формула (логикалық өрнек) - логикалық шамалар мен логикалық амалдар таңбасынан тұратын формула. Логикалық формуланың есептелуінің нәтижесі тек қана АҚИҚАТ немесе ЖАЛҒАН болады. НЕМЕСЕ элементін жүзеге асыратын элемент - дизъюнктордың шартты белгісі төмендегідей. Рис. 1.3. Дизъюнктор: а - шартты белгісі; б - контактілерде НЕМЕСЕ функциясын жүзеге асыру. а)) а Y=a b c b c 1 Y=a b а +U б) b Тапсырмалар: 1. Аргумент мәндерінің барлық комбинациялары үшін ЕМЕС функциясының ақиқаттық кестесін құр. 2. ЖӘНЕ және НЕМЕСЕ функциялары үшін аргументтердің барлық комбинациялары үшін ақиқаттық кесте құр. 3. ЕМЕС функциясын жүзеге асыратын логикалық элемент - инвертордың жұмысы мен функционалдық схемадағы шартты белгісін сипатта. 4. ЖӘНЕ функциясын жүзеге асыратын логикалық элемент - конъюктордың жұмысы мен функционалдық схемадағы шартты белгісін сипатта. 5. НЕМЕСЕ функциясын жүзеге асыратын логикалық элемент - дизъюнктордың жұмысы мен функционалдық схемадағы шартты белгісін сипатта. Зертханалық жұмыс №4 (3 сағат) Тақырып: Алгоритмдер теориясының негізгі ұғымдары * Тьюринг және Пост машиналарының көмегімен алгоритмдерді есептеу. * Марковтың қалыпты алгоритмдері. Қысқаша мәлімет (Алгоритм ұғымын формальдандыру) Тьюринг машинасы туралы түсінік алгоритмге берілген ең ыңғайлы да қолайлы анықтама болды. Бұл түсінік ағылшын математигінің атымен аталды, 1937 жылы, яғни, ЭЕМ пайда болғаннан жыл бұрын берген болатын. Тьюринг машинасының анықтамасы: Тьюринг машинасы математикалық машина, сонымен қатар Тьюринг машинасын мынандай математикалық объектілермен салыстыруға болады: топ, интеграл, функция, туынды т.с.с. Тьюринг машинасының автоматты түрде жұмыс істейтін құрал ретінде елестетуге болады. Тьюринг машинасы елес машина, ол қандай да бір көзге көрініп жұмыс атқарып тұрған құрылғы емес. Біз ол машинаны бар деп санаймыз. Белгілі бір жағдайда бір ұяшықты қарасытрады, ол ұяшықтар лента бойында орналсқан. Лентадағы ұяшықтар жағдай ауысқанда өзгеруі немесе сол қалпында қалуы мүмкін. Жағдай ауысып отырады. Тьюринг машинасы программамен жұмыс істейді. Екі алфавит бар: ішкі және сыртқы алфавиттер. Мысалы, ішкі алфавит Машинаға берілген элементтер міндетті түрде ақырлы болуы керек. Жұмыс істеуге ыңғайлы болу үшін лента бойында бос ұяшық бар деп есептейміз. Сыртқы алфавит . Ішкі алфавит лента ішінде жазылған, сыртқы алфавит лента үстінде жазылған. q0 - бастапқы жағдай q1- соңғы жағдай. Программа былай берілуі мүмкін: * * * Тьюринг машинасының командасының жалпы түрі: * Егер Х=С болса, онда aj тұрған ұяшықты қарастырамыз және соны өшіреміз. Содан кейн al элементін жазамыз. Жағдай qi -дан qk - ға өзгереді. Одан кейін ешқандай қадам жасамай орнымызда қаламыз. Яғни, al элементі тұрған және qk жағдайы бар ұяшық өз-өзін қарастырады. * Егер Х=П болса, онда бір қадам оңға (направо) ауысады. * Егер Х=Л болса, онда бір қадам солға (налево) ауысады. Мысал: q1 1 0 1 q1 1 0 1 0 q2 1 0 1 0 0 q0 1 0 1 0 1 Қортыа келе, бастпқы сөз 101 болса, программа бойынша Тьюринг машинасымен жұмыс істегенде 10101 сөзін алдық. Тапсырмалар мен есептер * Рекурсивті функцияларды қолдана отырып құр: А) қосудың үшорынды функциясын; Б) n-орынды қосу функциясын; * Рекурсивті функцияларды қолдана отырып құр: А) көбейтудің екіорынды функциясын; Б) көбейтудің үшорынды функциясын; В) n-орынды көбейтудің функциясын. * Бөлудің бөлікті екіорынды функциясын құрастыр. * Лентада бөлінегн екі санды қосатын Пост машинасының программасын құрып, өзбетіңмен орында; А) бір бос орынмен; Б) көп бос орынмен. * Лентада бөлінегн екі санды азайтатын Пост машинасының программасын құрып, өзбетіңмен орында А) бір бос орынмен; Б) көп бос орынмен. * Лентада бөлінегн екі санды көбейтетін Пост машинасының программасын құрып, өзбетіңмен орында А) бір бос орынмен; Б) көп бос орынмен. * Қарапайым арифметикалық амалдарды орындайтын Тьюринг машинасын құрастыр. * g және h функциясын есептейтін Тьюринг машиналары бар. Келесі есептеуді орындайтын машина құрастыр: А) осы функциялардың суперпозициясын; Б) g және h функцияларынан примитивті рекурсия арқылы алынатын. * Кері функцияны тудыратын Тьюринг машинасын құрастыр. * Келесілерді есептейтін Тьюринг машинасын құрастыр: А) екі санның қосындысын; Б) екі санның айырымын; В) екі санның көбейтіндісін; * 1 символдарымен көрсетілген екі бүтін сандарды азайтуды орындайтын Марковтың қалыпты алгоритмін құрастыр. Алгоритмнің жұмысын мысалдармен тексер. * 1 символдарымен көрсетілген екі бүтін сандарды көбейтуді орындайтын Марковтың қалыпты алгоритмін құрастыр. Бақылау сұрақтары * Неге математикада алгоритм ұғымын формальдандыру қажет болды? * Алгоритм ұғымын жетілдірудің қандай қырлары бар? * Қандай функциялар есептелінетін функциялар деп аталады? * Қандай функциялар бөлікті рекурсиялы функциялар деп аталады? * рекурсивті функциялар теориясында қандай қарапайым функциялар мен амалдар жиынтығы қолданылады? * Черч тезисінің формулировкасы қандай? * Посттың абстрактілі машинасының құрылғылары қандай? * Тъюрингтің абстрактілі машинасының құрылымы қандай? * Тьюринг машинасы қалай сипатталады? Тьюринг машинасының схемаларына мысал келтір. * Тьюринг машинасының композициясы деген не? * Тьюринг теоремасының мазмұны неден тұрады? * Дедекциялық шынжырға мысал келтір. * Марковтың қалыпты алгоритмдері қалай анықталады? * Әмбебап алгоритмнің есебі неден тұрады? Зертханалық жұмыс №5 (3 сағат) Тақырып: Алгоритмдерді көрсетуді формальдандыру. * Формальді тілдер * Алгоритмдерді көрсету тәсілдері * Құрылымдық теорема Формальды тілдер грамматикасын қарастыруды алгоритмнің қатаң сипаттамасын құру қажеттілігінен келетін болсақ, шын мәнісінде олардың қолданылу облысы әлдеқайда кеңірек. Формальды грамматика негізінде программалау тілдері және оларға трансляторлар құрылады. Жасанды интеллект есептерін шығару кезінде олар машиналық аударуға, сол сияқты эксперттік жүйелердегі өолданушылардың жауаптарына синтаксикалық дұрыс сөйлемдерді генерациялау үшін қолданылады. Формальды грамматикалар оқу және басқа да программаларда қолданылады. Формалды тілдерді сипаттау тәсілдері Объект-тілді сипаттау үшін метатіл қолданылуы қажет. Бірақ метатіл оъект-тілдің құрылымын бірмәнді анықтау үшін формальді тілдің бірқатар қасиеттеріне ие болуы керек, Бұдан, метатіл алдымен өзі сипатталуы қажет, бұл үшін ден сол сияқты тіл қажет -* әрине, мұндай процесстің ешқашан бітпейтіндігі туралы ой қалыптасуы мүмкін. Бірақ кез-келген метатілді сипаттау үшін табиғи тілді қолдануға болатыны дәлелденген. Осылайша формальді тілді құру үшін табиғи тілдің құралдарымен метатілді сипаттау қажет, содан кейін метатіл арқылы формальді тілді сипаттау қажет. Метатілдерді сипаттаудың екі нұсқасын қарастырайық. Ең кең тараған метатілдердің бірі - Бекус-Наур нотациялары. Бекуса-Наура формасында сөйлем құру үшін әмбебап метасимволар қолданылады: { <, >, ::=, | }. Алғашқы екі метасимволды <<бұрыштық жақшалар>> деп атайды - олар терминді емес сөздерді қоршауға қажет. <<::=>> символы <<анықтама бойынша бар>> деп оқылады; <<>>"символы - <<немесе>>. Бекус-Наура формасында жазылған сөйлемдерде бұрыштық жақшаларда тұрған терминалды емес символ объект-тілдің құрылымы анықтайтын роль атқарады. Бекус-Наур формулаларында әмбебап метасимволдардан айрықша объект-тілдің алфавитінен терминалды символдар қолданыла алады. Формальді тілдің терминалды символдары ешнәрсемен шектелмейді. Формальді тілдердің сипатталуы формулалар тізбегінен тұрады, олардың әрқайсысының сол жағында объект-тілдің қандай-да бір құрылымын бейнелейтін бір метасимвол болады. Мұндай формуланың оң жағы немесе орбъект-тілдің метасимволдар және терминалды символдар тізімінен (бұл жерде ешқандай бөлгіштер қойылмайды), немесе <<|>> символымен бөлінген тізімдер жинағынан тұрады. Оң және сол бөліктері <<::=>> таңбасымен бір формулаға бірігеді. Егер кез-келген теминальді емес символды теминалды символдар тізбегі ретінде көрсетуге болатын болса, онда объект-тілді толығымен Бекус-Наур формасында анықталған деп есептеуге болады. Мысал ретінде көптеген программалау тілдерінде қолданылатын <<идентификатор>> ұғымын анықтауды қарастыруға болады.табиғи тілде анықтама төмендегідей айтылады: <<Идентификатор - бұл әріптен басталатын әріптер мен цифрларлың кез-келген тізбегі>>. Бекус-Наур формасында оло төмендегідей көрінетін болады: <идентифтор>::=<әріп>|<идентификатор><әріп>|<идентификатор><цифр> <әріп>::= a|b|c|d|e... <цифр>::= 0|1|2|3|...|9 Осы ұғымның анықтамасында рекурсивтілік бар екені көрінеді, себебі <<идентификатор>> ұғымы өзі арқылы анықталып тұр. Бір әріптен тұратын идентификатор қарапайым болып табылады. Бекус-Наур нотацияларының жетістігі олардың әріптік түрде көрсетілуі; Келесі формальді тілді сипаттау тәсілі бдан да көрнекті деп есептеуге болады: оны PASCAL программалау тілін құрастырушы Никлаус Вирт ұсынған - және <<синтаксикалық диаграммалар>> деген атауға ие болған. Синтаксикалық диаграмма - бұл объект-тілдің қандай-да бір терминалды емес символын сипаттау схемасы (графикалық көрсетілуі). Схема үнемі бір кіріс және бір шығысқа ие. Схема элементтері ретінде объект-тілдің дөңгелекке алынған теминалды символдары немесе тіктөртбұрышқа алынған объект-тілдің теминалды емес символдары қызмет атқара алады. Элементтер анықталатын терминалды емес символдағы объектілердің ілесу ретін көрсететін бағытталған сызықтармен өзара біріктіріледі. Келесі бейнелеулер қабылданған: Біріктіретін сызық Терминалды емес символдар Терминалды символдар Тармақталу Айналып өту Цикл Синтаксикалық диаграммалардың құрылымы программалау тілдерінің құрылымдарына ұқсас, бұл диаграммаларды әртүрлі тілдердің трансляторларын жазуға кең қолданылуына мүмкіндік берді. Синтаксикалық диаграммалардың көмегімен сипатталған тіл - PASCAL тілі болған. Диаграмманы оқу стрелка бағытына сәйкес; тармақталу нүктесінде кез-келген маршрут таңдалоынуы мүмкін. Метатіл ретінде табиғи орыс тілі қолданылуы мүмкін; программалау тілдері ағылшын тілі негізінде құрылады. Терминальды символдар формальды тілдердің құрылымына сөзбе-сөз жазылады. Синтаксикалық диаграммаларды құрудың бірнеше мысалын қарастырайық: Қажетті жетілдіретін диаграммалар: Ағылшын тілінде осы диаграммаға сәйкес идентификаторлар құру мысалдары: q, a123, identificator, e2e4. PASCAL тілінің жалпы түрін көрсететін диаграмма: Шартты және циклды жазбалар мысалы: Осындай және ұқсас диаграммаларға сәйкес тілдің мүмкін синтаксикалық құрылымдары құрылады. Сонымен, Бекус-Наур нотациялары және синтаксикалық диаграммалар - бұл формальді тілдер құрылатын метатілдер құрылымын сипаттаудың ұқсас екі тәсілі. Формальды грамматика құрылып болғаннан, және бұдан тіл туындаса, ол қолданбалы есептерді шешуге қолданыла алады - коммуникация, ақпаратты сақтау және өңдеу. Соңғы есептер класы тілдер көмегімен ақпаратты өңдеу тізбегін сипаттауды жасаудың қажеттігіне әкеледі, яғни алгоритмдерге және оларды өңдеуді жүргізетін адам немесе техникалық құрылғы түсініп, орындауға мүмкін формада көрсету. Алгоритмдерді көрсету тәсілдері Алгоритм жазылу тәсіліне қарай 3 түрге бөлінеді; * Сөздік алгоритм немесе жаратылыс тілінде жазылған алгоритм; * Графиктік алгоритм немесе блок-схема; * Программалау тілінде жазылған программа; Алгоритмнің құрылымдық түрлері: * Сызықтық алгоритм - қарапайым амалдардың жазылу реті мен орындалу реті тізбектелген алгоритм. * Тармақталған алгоритм - есептеу барысында қай амалдар тізбегінің орындалатыны шартқа байланысты алгоритм. * Циклдық алгоритм - берілгендердің әртүрлі мәндері үшін белгілі амалдары қайталанып орындалатын алгоритм. * Көмекші алгоритм - алгоритм орындалу барысында алгоритм ішінде пайдаланылатын алдын-ала құрылған дайын алгоритм. Сөздік алгоритм: Еклид алгоритмі * n және m сандары берілген; * k =mod m; * k!=0? Онда * n:= m және m:= k 1-ге көшеміз; * k=0, тоқтаймыз. Графиктік алгоритмнің шартты белгілері: - басы (соңы) - енгізу (шығару) - есептеу (процесс) - шарт - көмекші алгоритм - циклдық блок S1 S2 ... Сызықтық композиция шарт S1 S2 Жоқ Иә Тармақталған құрылым Циклдық құрылымның 3 түрін қарастыруға болады: Шарт алдынан берілген цикл. шарт S Жоқ Иә Шарт дұрыс болған сайын цикл орындалады, шарттың ең алғаш дұрыс болмаған жағдайында цикл тоқтайды. Шарт соңынан берілген цикл шарт S Жоқ Иә Шарт дұрыс болмаған жағдайда цикл айналады, ал дұрыс болған жағдайда цикл тоқтайды. Ерекшелігі: амал кем дегенде 1 рет орындалады. Қайталау саны белгілі цикл (параметрлі цикл): Параметр: бастапқы, соңғы мәндер, қадам S Параметрдің соңғы мәніне жеткенге дейін Тапсырма 1 Блок-схему схемасын құрып, программа жаз. Тармақталған құрылымды программалау. 1. а, в, с нақты сандар берілген. Осы сандардың арасында тым болмаса бір қарама-қарсы сандар бар-жоғын анықта. * n бүтін саны a,b,c сандарының ортақ бөлгіші болатынын анықта. * Определить, имеется ли среди чисел А,В,С хотя бы одно делящееся на 7. * Үш нақты сандар берілген. Теріс еместерінің квадратын тап. * Үш нақты сандар берілген. Осы сандардың арасынан (1,3) кесіндісіне тиістілерін таңдап ал. * x, y, z нақты сандары берілген. max. (x, y, z)-ті тап. * x, y, z нақты сандары берілген. min(x, y, z)-ті тап. * x,y,r,x1,y1 нақты сандары берілген. М(х,у) нүктесі центрі О(х1,у1), радиусы r болатын шеңберге жататынын анықта. * х нақты саны берілген. Осы санның екіорынды екенін анықта. * Екіорынды сан берілген. Осы сан өзінің цифрларының қосындысынан асып кететінін анықта. Тапсырма 2. x, k R берілген. Y-ті есепте. * х,у екі бүтін сан берілген. Егер олардың екеуі де тақ болса, онда қосындысын тап, кері жағдайда тиісті хабарлама бер. * * * * Х нақты саны берілген. Есепте: 6. 7. 8. 9. a және b екі санының үлкенінің квадратын тап және егер екі санның үлкені а болса, N=1 белгісін экранға шығар, кері жағдайда N=2 белгісін экранға шығар. x R берілген. Y-ті есепте: 10. Тапсырма 3. Блок-схемасын құрастыр. Берілген қатардың алғашқы n мүшелерін экранға шығар. Тапсырм нұсқалары: * мұндағы |х|<5 , n=8; * n=6 * n=10 * мұндағы х=1,2, n=12 * x=3,5 n=8 * x=6,25 n=10 * x=2 n=10 * где х=0,7 n=9 * * x=20 n=7 Зертханалық жұмыс №6 (2 сағат) Тақырып: Жиындар теориясы мен комбинаторика элементтері + Жиындарға қолданылатын амалдар Комбинаториканың негізгі формулалары Қысқаша теориялық материал Практикада көбінесе объект жиынынан қандай-да бір қасиеттерге ие кейбір ішкі жиын элементтерін таңдауға, жиын элементтерін белгілі бір қатармен орналастыруға және т.б. тура келеді. Мұндай есептерде объектілердің комбинациялары қарастырылатындықтан оларды <<комбинаториялық есептер>> деп атайды. Комбинаторика шектеулі жиын элементтерінен құрастырыла алатын әртүрлі сипаттағы біріктірулермен айналысады. "Комбинаторика" термині латынның combina - үйлестіру, біріктіру сөзінен шығып тұр. Комбинаторика - объектілердің қандай-да бір комбинациялары қарастырылатын математика облысы. Қосу ережесі: айталық, сәйкесінше m1, m2, ..., mn элементтен тұратын A1, A2, ..., An қос-қостан қиылыспайтын n жиындар бар болсын. Осы жиындардан бір элементті таңдап алу тәсілінің саны m1 + m2 + ... + mn - ге тең. Кортеж - қанадй-да бір жиынның элементтерінің шектеулі тізбегі (қайталау болатын). Көбейту ережесі: айталық, сәйкесінше m1, m2, ..., mn элементтен тұратын A1, A2, ..., An n жиындар бар болсын. Осы жиындардан бір элементті таңдап алу тәсілінің саны, яғни (а1, а2, ..., аn) кортеж құру m1 · m2 · ... · mn - ге тең, мұндағы аi Аi1 (i = 1, 2, ..., n). n элементтерден m элементтер (m < n) орналастыру деп немесе элементтердің өздерінен немесе элементтердің реттік нөмірлерімен ерекшеленетін берілген n элементтерден m элементтен құрылған комбинациялар аталады. Қайталаусыз орналастыру (n әртүрлі элементтер): Қайталаумен орналастыру (n әртүрлі элементтер, элементтер қайталануы мүмкін): Мысал: Б, А, Р әріптерін алайық. Осы элементтердің екіден алынған қандай орналастыруларын алуға болады? Осындай жиындардан қанша алуға болады, егер: 1) жиынтықтағы әріптер қайталанбаса; 2) әріптер қайталанса; 1) Келесі жиынтықтар алынады: БА, БР, АР, АБ, РБ, РА. 2) Жиынтықтар алынады: ББ, БА, БР, АА, АБ, АР, РР, РБ, РА. n элементтерден орынауыстыру деп осы n элементтерден n элементтен орналастыру айтылады. Орын ауыстырулар - орналастырулардың жеке жағдайлары. Қайталаусыз орын ауыстыру (n әртүрлі элементтер): Қайталаулары бар орынауытырулар (k әртүрлі элементтер, мұнда элементтер m1, m2, ..., mk рет және m1 + m2 + ... + mk = n қайталанады, мұндағы n - элементтердің жалпы саны): Мысал. Б, А, Р әріптерін алайық. Осы әріптерден қандай орынауыстырулар алуға болады? Осындай жиынтықтар қанша алынады, егер: 1) жиынтықтарда әріптер қайталанбаса; 2) А әрпі екі рет қайталанса? 1) Алынатын жиынтықтар: БАР, БРА, АРБ, АБР, РАБ, РБА. 2) Алынатын жиынтықтар: БАРА, БРАА, БААР, ААРБ, ААБР, АБАР, АРАБ, АРБА, АБРА, РАБА, РААБ, РБАА. n элементтердің m элементтен үйлесуі деп тым болмаса бір элементінің айырмашылығы бар берілген n элементтен құрылған m элементтер комбинациясы айтылады. Үйлесудің орналастырудан айырмашылығы үйлестірілуде элементтер реті ескерілмейді. Қайталаусыз үйлестіру (n әртүрлі элементтер, m-нен алынған): Қайталаумен үйлестіру (n элементтер, m-нен алынған, мұнда жиынтықта элементтер қайталануы мүмкін): Мысал: Жемістерді алайық: банан (Б), ананас (А) және шалқан (Р). Екіден алып, қандай үйлестірулер алуға болады? Осындай қанша жиынтық алуға болады, егер: 1) жиынтықта жемістер қайталанбаса; 2) екі бірдей жемістен алуға болса? 1) Келесі жиынтықтар алынады: БА ("банан, ананас" и "ананас, банан" - один и тот же набор), АР и РБ. 2) Келесі жиынтықтар алынады: ББ, БА, БР, АА, АР, РР. Тапсырмалар: 1. Қатарда тұрған n орындық бар және осы оырндақытарда отыра алатын n әртүрлі адамдар бар. Оларды қанша тәсілмен орындықтарға отырғызуға болады? Бұл n элементтен ауыстырулар саны - Pn. 2. Қатарда тұрған n орындық бар және осы оырндақытарда отыра алатын m (m <= n) әртүрлі адамдар бар. Оларды қанша тәсілмен орындықтарға отырғызуға болады? Бұл n элементтен m-нен орналастыру саны - Anm. 3. Қатарда тұрған n орындық бар және осы оырндақытарда отыра алатын m адамдар (m <= n) бар. Айталық, бұл адамдар бірдей. Оларды қанша тәсілмен орындықтарға отырғызуға болады? Бұл n элементтен m-нен үйлестіру саны -- Cnm. 4. Әртүрлі n шарлар бар. Барлық топтар әртүрлі болатындай етіп m шардан тұратын топтарды қанша тәсілмен бөліп алуға болады? Топта реттің маңызы жоқ. 5. Келесі 0, 1, 2, 3, 4 сандарын пайдаланып сандары қайталанбайтын қанша бесорынды сан жазуға болады? 6. Келесі 0, 1, 2, 3, 4 цифрларын пайдаланып, цифрлары қайталанатын қанша бесорынды сан жазуға болады? 7. Келесі 0, 1, 2, 3, 4 сандарын пайдаланып цифрлары қайталанбайтын, ортадағы цифрры жұп (0,2 немесе 4) болатын қанша бесорынды сан жазуға болады? 8. Цифрлары қайталанбайтын қанша бесорынды сандар бар? 9. Жеті қыз шебер жасап тұр. Олар қанша тәсілмен тұра алады? 10. Жеті іртүрлі моншақ тастарынан қанша моншақ құрастыруға болады? 11. Квадраттырының қабырғалары 1-ге тең тікбұрышты сетка берілген. а) Қанша тәсілмен O(0;0) нүктесінен Q(m;n) нүктесіне (суретті қара) баруға болды, егер кесінділермен тек қана алға және жоғары жылжуға болса? б) Осы жолдардың қаншасы R(r;s) нүктесі арқылы өтеді? Сұрақтар 1. Жиындар мен олардың ішкі жиындарына мысалдар келтір. 2. Жиындардың бірігуіне, қиылысуына және айырымына өмірден мысалдар келтір. 3. Айырым және толықтыру қасиеттеріне Эйлер - Венн диаграммасын құр.4. Қай жерде реті маңызды, қай жерде реті маңызды емес комбинациялар түрлерін ата. ОСӨЖ ОРЫНДАУ БОЙЫНША ӘДІСТЕМЕЛІК НҰСҚАУ ОСӨЖ бойынша тапсырмаларды орындау және тапсыру графигі Тақырып 1. Ақпарат ұғымы Жұмыстың мақсаты: ақпараттың түрлерін қарастырып, оның қасиеттерін анықтау. Бақылау сұрақтары 1. Энтропия ұғымы қалай анықталады? Ол ақпаратпен қалай байланысқан? 2. Ақпарат саны деген не? 3. Ақпарат санын өлшеудің негізіне қандай принцип салынған? 4. Кибернетикалық қырларында ақпарат санының бірлігі қалай анықталады? 5. Таңбалы хабарламаларда ақпарат саны қалай анықталады? 6. Ақпарат санын өлшеудің негізгі өлшем бірліктері қандай? 7. Сіздерге белгілі ақпарат тасушылардың жады көлемін келтіріңдер. 8. Энтропия, негэнтропия және ақпарат араларында қандай байланыстар бар? Мәселелік сұрақтар . 1. Анықталмағандық шараларына анықтама беріңіздер. Осы ұғымға мысал келтір. 2. ақпаратты мертмен, килограммен өлшеу тәсілдерін көрсет. Рефератқа арналған тақырыптар. 1. Ақпарат және энтропия.2. Ақпараттың ықтималдылығы. 3. Ақпаратты өлшеу мәселелері. 4. Ақпараттың құндылық қырлары. 5. Семантикалық ақпарат. Бақылау сұрақтары 1. Әлеуметтік ақпаратты сапалық талдау кезінде қандай қасиеттері маңызды? 2. Ақпаратты философиялық категория ретінде анықтаңыз. 3. Ақпараттың функционалдық концепциясы неден тұрады? 4. Ақпараттың атрибутивтік концепциясы неден тұрады? 5. Бейнелеу және белсенділік категорияларымен ақпарат қалай байланысты? 6. Әлеуметтік процессстердің ақпараттық трактовкалары туралы айтып бер. 7. Ресурстың ерекше түрі ретінде ақпараттың негізгі қасиеттері қандай?8. Басқару процесстері түрғысынан ақпараттың қозғалу процесі туралы айтып беріңіздер. Мәселелік сұрақтар. 1. Неліктен ақпарат философиялық категория болып табылады? 2. Ақпарат пен энтропияны неліктен бірмәнді қоюға болмайды? 3. Неліктен ақпараттың функционалдық және атрибутивтік екі концепциясы толыө емес болып табылады? Рефератқа арналған тақырыптар 1. Ақпараттың атрибутивтік және функционалдық концепциялары. 2. Ақпарат және тірі табиғат эволюциясы. 3. Тірі емес табиғаттағы ақпараттық процесстер. 4. Бейнелеу және ақпарат.5. Материя, энергия және ақпарат.6. Синергетика және информация.7. Тану, ойлау және ақпарат. 8. Әлем бейнесі және ақпарат. 9. Ақпараттық ресурстар қасиеттері.10. Информация және сана. Есептер 1. Келесі экономикалық мазмұндағы мәтінде бір символға сәйкес келетін ақпарат санын есепте. Организационно-правовые формы предприятий в своей основе определяют форму их собственности, то есть, кому принадлежит предприятие, его основные фонды, оборотные средства, материальные и денежные ресурсы. В зависимости от формы собственности в России в настоящее время различают три основные формы предпринимательской деятельности: частную, коллективную и контрактную. Нұсқау: мәтіндегі әр символдың ықтималдылығын бірдей символдардың санының мәтіндегі барлық символдар санына қатынасы ретінде анықтап, кесте толтыр. Содан кейін бір символға сәйкес келетін ақпарат санын есепте. 2. Келесі техникалық мазмұндағы мәтінде бір символға сәйкес келетін ақпарат санын есепте: Общая технологическая схема изготовления сплавного транзистора напоминает схему изготовления диода, за исключением того, что в полупроводниковую пластинку производят вплавению двух навесок примесей с двух сторон. Вырезанные из монокристалла германия или кремния пластинки шлифуют и травят до необходимой толщины. 3. Келесі тарихи мазмұндағы мәтінде бір символға сәйкес келетін ақпарат санын есепте: С конца пятнадцатого столетия в судьбах Восточной Европы совершается переворот глубокого исторического значения. На сцену истории Европы выступает новая крупная политическая сила - Московское государство. Объединив под своей властью всю северо-восточную Русь, Москва напряженно работает над закреплением добытых политических результатов и во внутренних, и во внешних отношениях. 4. Келесі жаратылыстық мазмұндағы мәтінде бір символға сәйкес келетін ақпарат санын есепте: Новые данные о физиологической потребности организма человека в пищевых веществах и энергии, а также выяснение закономерностей ассимиляции пищи в условиях нарушенного болезнью обмена веществ на всех этапах метаболического конвейера позволили максимально сбалансировать химический состав диет и их энергетическую ценность. 5. Келесі көркем-әдебиеттік мазмұндағы мәтінде бір символға сәйкес келетін ақпарат санын есепте: С любопытством стал я рассматривать сборище. Пугачев на первом месте сидел, облокотясь на стол и подпирая черную бороду своим широким кулаком. Черты лица его, правильные и довольно приятные, не изъявляли ничего свирепого. Все обходились между собою как товарищи и не оказывали никакого особенного предпочтения своему предводителю. Тақырып 2. Ақпаратты көрсетудің үздіксіз және дискретті формасы Жұмыстың мақсаты: ақпаратты көрсетудің үзіліссіз және дискретті формасын қарастыру, ақпаратты өлшеу машықтарын меңгеру. Бақылау сұрақтары * Ақпаратты көрсетудің қандай формасы - үзіліссіз немесе дискретті -- копьютерде қолданылады және неге? * Үзіліссіз ақпаратты дискретту процедурасы неден тұрады? * <<Ақпарат>> ұғымының қандай анықтамаларын білесіңдер? * Ақпараттың негізгі қасиеттерін атаңыздар? * Ақпарат қалай туындайды, сақталады және жіберіледі? * Информатикада ақпаратты көрсетудің қандай формасы қолданылады? * Ақпараттық сигналдардың қандай түрлерін білесіңдер? * Ақпаратты дискретті түрде көрсетудің артықшылықтары неде? * Адам машинаға ақпарат жібере ала ма? Қалай? Керісінше ше? * Ақпаратты кодтау деген не? * Ақпаратты өңдеу процесстері арасында кодтаудың орны қандай? * Таңба, абстрактілі алфавит деген не? Мысалдар келтіріңдер. * Код деген не? Кодтау және декодтау мысалдарын келтір. * Код артықшылығы деген не? * Табиғи тілдердің артықшылықтары қандай? Олар не үшін қызмет етеді? * Кодтың артықшылықтарын жасанды түрде арттыру мысалдарын келтір. * Шеннонның 1-ші және 2-ші теоремаларының мазмұны неде? * Қандай кодтар екілік деп аталады? Мысалдар келтіріңдер. * Латын алфавиттерінің әріптерін қодтау үшін қандай код қолдщанылады? * Бүтін сандардың тура және қосымша кодтарын қалай аламыз? * ЭЕМ жадысында нақты сандар қалай көрсетіледі? * Графикалық ақпарат қалай кодталады, егер ақпарат ақ-қара, түрлі-түсті болса? Мәселелік сұрақтар. 1. Табиғатта, техникада және адамның қоғамдық қызметтерінде ақпаратты жіберу, сақтау және өңдеуіне мысалдар келтір. 2. Қазіргі ақпараттық технологиялар ақпаратты сақтаудың және өңдеудің қандай мәселелерін шешуде және қандайын туындатады? Рефератқа арналған тақырыптар 1. Қазіргі ғылымдардағы ақпарат мәселесі. 2. Ақпаратты жіберу.3. Үзіліссіз хабарламаны дискреттеу. 4. Ақпараттың субъектілік қасиеттері. 5. Аналогтық ЭЕМ.6. Үзіліссіз және дискретті ақпарат. Тапсырмалар мен жаттығулар 1. Алфавит символдарының символдар санын бағалаңыз, егер кодталған екілік тізбектің ұзындығы: а) 4 таңба; б) 8 таңба; в) 12 таңба; г) 16 таңба болса. 2. ASCII кодтар кестесінің көмегімен келесі хабарламаны декодтаңыз: 01010100 01001111 00100000 01000010 01000101 00100000 01001111 01010010 00100000 01001110 01001111 01010100 00100000 01010100 01001111 00100000 01000010 01000101. 3. ASCII кодтар кестесінің көмегімен COMPUTER сөзін оналтылық жүйе тізбегіне кодтаңыз. 4. Кез-келген текстік хабарламаны Цезарь кодының көмегімен кодтаңыз. Цезар коды алфавитті ондық сандармен нөмірлеп, сол сандармен әріптерді ауыстыру арқылы жасалады. 5. Цезарь кодын әріпті ауыстыратын санға қандай-да бір тұрақты сан қосу арқылы күрделендіріп, кез-келген хабарламаны кодтаңыз және декодтаңыз. Тақырып 3. ЭЕМ ақпаратты өңдеудің әмбебап құралы Жұмыстың мақсаты: Компьютерлерді жасау тарихы мен олардың жұмыс істеу принциптерін қарастыру. Бақылау сұрақтары * Компьютердің қай құрылғысы ақпаратты өңдеуге арналған? * Электронды есептеуіш машиналардың жұмыс істеу принциптерін кім дайындаған? * Мәліметтердің ағаш түрінде орналасуы қандай мәліметтер қоры модельдеріне сәйкес келеді? * Геоинформациялық жүйелердің қолданылу саласын атаңыз. * Компьютерді желіге қосуды қажет ететін программалық құралдарды атаңыз? * Жобалау құралдарын кімдер қолданады? * Компьютердің негізгі құрылғыларын ата. * Компьютердің қосымша құрылғыларын ата. * Олардың айырмашылығы неде? * Компьютердің ішкі құрылғыларын ата. * Жадының түрлерін ата? * АЛҚ деген не? * программалық құралдардың түрлерін ата. Рефератқа арналған тақырыптар: * Есептеуіш техниканың құрылу тарихы. * Фон Неймана архитектурасы. Кибернетика * Қазіргі компьютердің құрылғылары. * Компьютер буындары. * Программалық қамсыздандыру түрлері Тақырып 4. Санау жүйелері Жұмыстың мақсаты: санау жүйелерінің түрлерін және әртүрлі санау жүйелеріндегі сандарға қолданылатын амалдарды қарастыру. Мысал 1. Берілген санды ондық жүйеден екілік жүйеге аудар (екілік көрсетілімде үтірден кейін 5 таңба ал). а) 464(10); б) 380,1875(10); в) 115,94(10) Шешуі а) 464 0 б) 380 0 1875 в) 115 1 94 232 0 190 0 0 375 57 1 1 88 116 0 95 1 0 75 28 0 1 76 58 0 47 1 1 5 14 0 1 52 29 1 23 1 1 0 7 1 1 04 14 0 11 1 3 1 0 08 7 1 5 1 1 1 0 16 3 1 2 0 1 1 1 1 а) 464(10)=111010000(2); б) 380,1875(10) = 101111100,0011(2); в) 115,94(10) 1110011,11110(2) P Сәйкестіктер 2 00 01 10 11 4 0 1 2 3 2 000 001 010 011 100 101 110 111 8 0 1 2 3 4 5 6 7 2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 16 0 1 2 3 4 5 6 7 8 9 A B C D E F Кестені пайдаланып 1111010101,11(2) санын екілік жүйеден оналтылық жүйеге аудар. 0011 1101 0101,1100(2) = 3D5,C(16). Мысал 2. Берілген санды ондық санау жүйесіне аудар: а) 1000001(2). 1000001(2) = 1 2[6] + 0 2[5] + 0 2[4] + 0 2[3] + 0 2[2] + 0 2[1] + 1 2[0] = 64 + 1 = 65(10). б) 1000011111,0101(2). 1000011111,0101(2) = 1 2[9] + 1 2[4] + 1 2[3] + 1 2[2] + 1 2[1] + 1 2[0] + 1 2[ - 2] + 1 2[ - 4] = = 512 + 16 + 8 + 4 + 2 + 1 + 0,25 + 0,0625 = 543,3125(10). в) 1216,04(8). 1216,04(8) = 1 8[3] + 2 8[2] + 1 8[1] + 6 8[0] + 4 8[ - 2] = 512 + 128 + 8 + 6 + 0,0625 = 654,0625(10). г) 29A,5(16). 29A,5(16) = 2 16[2] + 9 16[1] + 10 16[0] + 5 16[ - 1] = 512 + 144 + 10 + 0,3125 = 656,3125(10). P негізді санау жүйесінде арифметикалық амалдарды орындау үшін келесі косу және көбейту кестесі болу керек: + 0 1 0 1 0 0 1 0 0 0 1 1 10 1 0 1 + 0 1 2 3 4 5 6 7 0 0 1 2 3 4 5 6 7 1 1 2 3 4 5 6 7 10 2 2 3 4 5 6 7 10 11 3 3 4 5 6 7 10 11 12 4 4 5 6 7 10 11 12 13 5 5 6 7 10 11 12 13 14 6 6 7 10 11 12 13 14 15 7 7 10 11 12 13 14 15 16 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 2 0 2 4 6 10 12 14 16 3 0 3 6 11 14 17 22 25 4 0 4 10 14 20 24 30 34 5 0 5 12 17 24 31 36 43 6 0 6 14 22 30 36 44 52 7 0 7 16 25 34 43 52 61 + 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 1 2 3 4 5 6 7 8 9 A B C D E F 10 2 2 3 4 5 6 7 8 9 A B C D E F 10 11 3 3 4 5 6 7 8 9 A B C D E F 10 11 12 4 4 5 6 7 8 9 A B C D E F 10 11 12 13 5 5 6 7 8 9 A B C D E F 10 11 12 13 14 6 6 7 8 9 A B C D E F 10 11 12 13 14 15 7 7 8 9 A B C D E F 10 11 12 13 14 15 16 8 8 9 A B C D E F 10 11 12 13 14 15 16 17 9 9 A B C D E F 10 11 12 13 14 15 16 17 18 A A B C D E F 10 11 12 13 14 15 16 17 18 19 B B C D E F 10 11 12 13 14 15 16 17 18 19 1A C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 8 9 A B C D E F 2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E 3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D 4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C 5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B 6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A 7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69 8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78 9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87 A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96 B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5 C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4 D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3 E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2 F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1 Мысал3. Сандарды қос: а) 10000000100(2) + 111000010(2) = 10111000110(2); б) 223,2(8) + 427,54(8) = 652,74(8); в) 3B3,6(16) + 38B,4(16) = 73E,A(16). 1 0 0 0 0 0 0 0 1 0 0 2 2 3 , 2 3 B 3 , 6 + + + 1 1 1 0 0 0 0 1 0 4 5 7 , 5 4 3 8 B , 4 1 0 1 1 1 0 0 0 1 1 0 6 5 2 , 7 4 7 3 E , A Мысал 4. Азайтуды орында: а) 1100000011,011(2) - 101010111,1(2) = 110101011,111(2); б) 1510,2(8) - 1230,54(8) = 257,44(8); в) 27D,D8(16) - 191,2(16) = EC,B8(16). 1 1 0 0 0 0 0 0 1 1 , 00 1 1 1 5 1 0 , 2 2 7 D , D 8 - - - 1 0 1 0 1 0 1 1 1 , 1 1 2 3 0 5 4 1 9 1 , 2 1 1 0 1 0 1 0 1 1 , 1 1 10 2 5 7 , 4 4 E C , B 8 Мысал 5. Көбейтуді орында: а) 100111(2) 1000111(2) = 101011010001(2); б) 1170,64(8) 46,3(8) = 57334,134(8); в) 61,A(16) 40,D(16) = 18B7,52(16). 1 0 0 10 1 1 1 1 7 0 ,6 4 6 1, A 1 0 0 0 1 1 1 4 6 ,3 4 0, D 1 0 0 10 1 1 3 5 5 2 3 4 4 F 5 2 + + + 1 0 0 10 1 1 7 3 2 4 7 0 1 8 6 8 1 0 0 10 1 1 4 7 44 3 2 0 1 8 B 7 ,5 2 1 0 0 10 1 1 5 7 3 3 4 ,1 3 4 1 0 1 0 1 1 0 1 0 0 0 1 Бақылау сұрақтары * Позициялық және позициялық емес санау жүйелері деген не? Мысалдар келті. * Санау жүйесінің негізі деген не? * Неге есептеуіш техника үшін 2 негізді санау жүйесі маңызды? * ЭЕМ архитектурасында неліктен екілік бейнелеуден оналтылық бейнелеуге көшті? * Бүтін ондық сандарды екілік сандарға көшірудің қандай тәсілдерін білесіңдер? * Екілік түрде көрсетілген сандарға арифметикалық амалдар орындаудың қандай ережелері бар? * Есептеуіш техникада теріс сандарды көрсетудің қандай екілік көрсетілімі бар? * Наөты сандар есептеуіш техникада қалай көрсетіледі? (жалжымалы үтірлі сандар)? * Санау жүйесіне анықтама бер. Санау жүйелерінің касиеттерін ата және сипатта. * Екілік, сегіздік, оналтылық санау жүйелерінде сандарды жазу үшін қандай символдар қолданылады? Рефератқа арналған тақырыптар * Ежелгі дүниенің санау жүйелері. . * Римдік санау жүйелері. Онда сандарды көрсету және арифметикалық есептерді шешу. * Ондық санау жүйесінің тарихы. * Цифрлық электроникада екілік, сегіздік, оналтылық санау жүйелерін қолдану. * Математика мен есептеуіш техниканың дамуыындағы санау жүйесінің маңызы. * Екілік, сегіздік, оналтылық санау жүйелерін аудару және онда арифметикалық амалдар орындау. Тапсырмалар мен жаттығулар 1. Берілген санды екілік, сегіздік, оналтылық санау жүйелеріне аудар; 2. Берілген санды ондық жүйеге аудар. 3. Сандарды қос. 4. Азайтуды орында. 5. Көбейтуді орында. Ескерту. 3 - 5 тапсырмаларда есептеудің дүрыстығын берілген сан мен нәтижені ондық жүйеге аудару арқылы тексер. 1д тапсырмасында үтірден кейін 5 таңба ал. Вариант 1 1. а) 860(10); б) 785(10); в) 149,375(10); г) 953,25(10); д) 228,79(10). 2. а) 1001010(2); б) 1100111(2); в) 110101101,00011(2); г) 111111100,0001(2); д) 775,11(8); е) 294,3(16). 3. а) 1101100000(2) + 10110110(2); б) 101110111(2) + 1000100001(2); в) 1001000111,01(2)+100001101,101(2); г) 271,34(8)+1566,2(8); д) 65,2(16)+3CA,8(16). 4. а) 1011001001(2) - 1000111011(2); б) 1110000110(2) - 101111101(2); в) 101010000,10111(2) - 11001100,01(2); г) 731,6(8) - 622,6(8); д) 22D,1(16) - 123,8(16). 5. а) 1011001(2) 1011011(2); б) 723,1(8) 50,2(8); в) 69,4(16) A,B(16). Вариант 2 1. а) 250(10); б) 757(10); в) 711,25(10); г) 914,625(10); д) 261,78(10). 2. а) 1111000(2); б) 1111000000(2); в) 111101100,01101(2); г) 100111100,1101(2); д) 1233,5(8); е) 2B3,F4(16). 3. а) 1010101(2)+10000101(2); б) 1111011101(2)+101101000(2); в) 100100111,001(2)+100111010,101(2); г) 607,54(8)+1620,2(8); д) 3BF,A(16)+313,A(16). 4. а) 1001000011(2) - 10110111(2); б) 111011100(2) - 10010100(2); в) 1100110110,0011(2) - 11111110,01(2); г) 1360,14(8) - 1216,4(8); д) 33B,6(16) - 11B,4(16). 5. а) 11001(2) 1011100(2); б) 451,2(8) 5,24(8); в) 2B,A(16) 36,6(16). Вариант 3 1. а) 759(10); б) 265(10); в) 79,4375(10); г) 360,25(10); д) 240,25(10). 2. а) 1001101(2); б) 10001000(2); в) 100111001,01(2); г) 1111010000,001(2); д) 1461,15(8); е) 9D,A(16). 3. а) 100101011(2)+111010011(2); б) 1001101110(2)+1101100111(2); в) 1010000100,1(2)+11011110,001(2); г) 674,34(8)+1205,2(8); д) 2FE,6(16)+3B,4(16). 4. а) 1100110010(2) - 1001101101(2); б) 1110001100(2) - 10001111(2); в) 11001010,01(2) - 1110001,001(2); г) 641,6(8) - 273,04(8); д) 3CE,B8(16) - 39A,B8(16). 5. а) 1010101(2) 1011001(2); б) 1702,2(8) 64,2(8); в) 7,4(16) 1D,4(16). Вариант 4 1. а) 216(10); б) 336(10); в) 741,125(10); г) 712,375(10); д) 184,14(10). 2. а) 1100000110(2); б) 1100010(2); в) 1011010,001(2); г) 1010100010,001(2); д) 1537,22(8); е) 2D9,8(16). 3. а) 101111111(2)+1101110011(2); б) 10111110(2)+100011100(2); в) 1101100011,0111(2)+1100011,01(2); г) 666,2(8)+1234,24(8); д) 346,4(16)+3F2,6(16). 4. а) 1010101101(2) - 110011110(2); б) 1010001111(2) - 1001001110(2); в) 1111100100,11011(2) - 101110111,011(2); г) 1437,24(8) - 473,4(8); д) 24A,4(16) - B3,8(16). 5. а) 101011(2) 100111(2); б) 1732,4(8) 34,5(8); в) 36,4(16) A,A(16). Вариант 5 1. а) 530(10); б) 265(10); в) 597,25(10); г) 300,375(10); д) 75,57(10). 2. а) 101000111(2); б) 110001001(2); в) 1001101010,01(2); г) 1011110100,01(2); д) 1317,75(8); е) 2F4,0C(16). 3. а) 1100011010(2)+11101100(2); б) 10111010(2)+1010110100(2); в) 1000110111,011(2)+1110001111,001(2); г) 1745,5(8)+1473,2(8); д) 24D,5(16)+141,4(16). 4. а) 1100101010(2) - 110110010(2); б) 110110100(2) - 110010100(2); в) 1101111111,1(2) - 1100111110,1011(2); г) 1431,26(8) - 1040,3(8); д) 22C,6(16) - 54,2(16). 5. а) 1001001(2) 11001(2); б) 245,04(8) 112,2(8); в) 4B,2(16) 3C,3(16). Вариант 6 1. а) 945(10); б) 85(10); в) 444,125(10); г) 989,375(10); д) 237,73(10). 2. а) 110001111(2); б) 111010001(2); в) 100110101,1001(2); г) 1000010,01011(2); д) 176,5(8); е) 3D2,04(16). 3. а) 1000011101(2)+101000010(2); б) 100000001(2)+1000101001(2); в) 101111011,01(2)+1000100,101(2); г) 1532,14(8)+730,16(8); д) BB,4(16)+2F0,6(16). 4. а) 1000101110(2) - 1111111(2); б) 1011101000(2) - 1001000000(2); в) 1000101001,1(2) - 1111101,1(2); г) 1265,2(8) - 610,2(8); д) 409,D(16) - 270,4(16). 5. а) 111010(2) 1100000(2); б) 1005,5(8) 63,3(8); в) 4A,3(16) F,6(16). Вариант 7 1. а) 287(10); б) 220(10); в) 332,1875(10); г) 652,625(10); д) 315,21(10). 2. а) 10101000(2); б) 1101100(2); в) 10000010000,01001(2); г) 1110010100,001(2); д) 1714,2(8); е) DD,3(16). 3. а) 1100110(2)+1011000110(2); б) 1000110(2)+1001101111(2); в) 101001100,101(2)+1001001100,01(2); г) 275,2(8)+724,2(8); д) 165,6(16)+3E,B(16). 4. а) 1011111111(2) - 100000011(2); б) 1110001110(2) - 100001011(2); в) 110010100,01(2) - 1001110,1011(2); г) 1330,2(8) - 1112,2(8); д) AB,2(16) - 3E,2(16). 5. а) 110000(2) 1101100(2); б) 1560,2(8) 101,2(8); в) 6,3(16) 53,A(16). Вариант 8 1. а) 485(10); б) 970(10); в) 426,375(10); г) 725,625(10); д) 169,93(10). 2. а) 10101000(2); б) 101111110(2); в) 1010101,101(2); г) 1111001110,01(2); д) 721,2(8); е) 3C9,8(16). 3. а) 1010100111(2)+11000000(2); б) 1110010010(2)+110010111(2); в) 1111111,101(2)+101010101,101(2); г) 1213,44(8)+166,64(8); д) 41,4(16)+3CF,D(16). 4. а) 1010000000(2) - 1000101010(2); б) 1011010101(2) - 110011001(2); в) 1001001010,11011(2) - 1000111000,01(2); г) 1145,2(8) - 1077,5(8); д) 380,1(16) - 2DC,3(16). 5. а) 111011(2) 100000(2); б) 511,2(8) 132,4(8); в) 68,4(16) 37,8(16). Вариант 9 1. а) 639(10); б) 485(10); в) 581,25(10); г) 673,5(10); д) 296,33(10). 2. а) 1011000011(2); б) 100010111(2); в) 1100101101,1(2); г) 1000000000,01(2); д) 1046,4(8); е) 388,64(16). 3. а) 1000010100(2) + 1101010101(2); б) 1011001010(2)+101011010(2); в) 1110111000,101(2)+1101100011,101(2); г) 1430,2(8)+666,3(8); д) 388,3(16)+209,4(16). 4. а) 1111100010(2) - 101011101(2); б) 1011000100(2) - 1000100000(2); в) 1101111000,1001(2) - 1000000,01(2); г) 1040,2(8) - 533,2(8); д) 3FB,4(16) - 140,6(16). 5. а) 11111(2) 10001(2); б) 1237,3(8) 117,5(8); в) 66,4(16) 65,8(16). Вариант 10 1. а) 618(10); б) 556(10); в) 129,25(10); г) 928,25(10); д) 155,45(10). 2. а) 1111011011(2); б) 1011101101(2); в) 1001110110,011(2); г) 1011110011,10111(2); д) 675,2(8); е) 94,4(16). 3. а) 11111010(2)+10000001011(2); б) 1011010(2)+1001111001(2); в) 10110110,01(2)+1001001011,01(2); г) 1706,34(8)+650,3(8); д) 180,4(16)+3A6,28(16). 4. а) 111101101(2) - 101111010(2); б) 1000110100(2) - 100100111(2); в) 1111111011,01(2) - 100000100,011(2); г) 1300,44(8) - 1045,34(8); д) 16A,8(16) - 147,6(16). 5. а) 100111(2) 110101(2); б) 1542,2(8) 50,6(8); в) A,8(16) E,2(16). Вариант 11 1. а) 772(10); б) 71(10); в) 284,375(10); г) 876,5(10); д) 281,86(10). 2. а) 1000001111(2); б) 1010000110(2); в) 101100110,011011(2); г) 100100110,101011(2); д) 1022,2(8); е) 53,9(16). 3. а) 1100111(2)+1010111000(2); б) 1101111010(2)+1000111100(2); в) 1111101110,01(2)+1110001,011(2); г) 153,3(8)+1347,2(8); д) E0,2(16)+1E0,4(16). 4. а) 1010101110(2) - 11101001(2); б) 1000100010(2) - 110101110(2); в) 1010100011,011(2) - 1000001010,0001(2); г) 1517,64(8) - 1500,3(8); д) 367,6(16) - 4A,C(16). 5. а) 1100110(2) 101111(2); б) 1272,3(8) 23,14(8); в) 48,4(16) 5,A(16). Вариант 12 1. а) 233(10); б) 243(10); в) 830,375(10); г) 212,5(10); д) 58,89(10). 2. а) 1001101111(2); б) 1000001110(2); в) 111110011,011(2); г) 11010101,1001(2); д) 1634,5(8); е) C2,3(16). 3. а) 1101111001(2)+1010010101(2); б) 1111001001(2)+1001100100(2); в) 100110010,011(2)+110001000,011(2); г) 1712,14(8)+710,4(8); д) E6,1(16)+38C,8(16). 4. а) 1000001110(2) - 100100001(2); б) 1101000110(2) - 1001101000(2); в) 1011001111,01(2) - 110100010,01(2); г) 1734,4(8) - 134,2(8); д) 2F2,A(16) - 22D,A(16). 5. а) 1000000(2) 100101(2); б) 103,2(8) 147,04(8); в) 67,4(16) 54,8(16). Вариант 13 1. а) 218(10); б) 767(10); в) 894,5(10); г) 667,125(10); д) 3,67(10). 2. а) 1111100010(2); б) 1000011110(2); в) 101100001,011101(2); г) 1001111001,1(2); д) 1071,54(8); е) 18B,0C(16). 3. а) 1000011111(2)+1111100(2); б) 1011100011(2)+111110110(2); в) 111111100,1(2)+1011100100,1(2); г) 1777,2(8)+444,1(8); д) 3EF,3(16)+C7,4(16). 4. а) 1101000100(2) - 101010101(2); б) 1110010111(2) - 1011100(2); в) 1100101111,01(2) - 10010001,01(2); г) 640,2(8) - 150,22(8); д) 380,68(16) - 50,4(16). 5. а) 100010(2) 1100110(2); б) 741,4(8) 141,64(8); в) B,7(16) D,C(16). Вариант 14 1. а) 898(10); б) 751(10); в) 327,375(10); г) 256,625(10); д) 184,4(10). 2. а) 101110100(2); б) 1111101101(2); в) 1110100001,01(2); г) 1011111010,0001(2); д) 744,12(8); е) 1EE,C(16). 3. а) 1001000000(2)+101010110(2); б) 11000010(2)+1001110100(2); в) 1011101110,1(2)+11100101,01(2); г) 2015,1(8)+727,54(8); д) 9D,8(16)+ED,8(16). 4. а) 1010000100(2) - 1000001000(2); б) 1111110011(2) - 1001101001(2); в) 101001100,101(2) - 100100101,1(2); г) 1024,6(8) - 375,14(8); д) 3E9,4(16) - 72,6(16). 5. а) 1001010(2) 1001000(2); б) 747,2(8) 64,14(8); в) 56,1(16) 33,C(16). Вариант 15 1. а) 557(10); б) 730(10); в) 494,25(10); г) 737,625(10); д) 165,37(10). 2. а) 101001101(2); б) 1110111100(2); в) 10000001000,001(2); г) 1000110110,11011(2); д) 147,56(8); е) 1CA,3(16). 3. а) 1101100001(2)+1001101110(2); б) 1101010101(2)+101011001(2); в) 1101111110,011(2)+1100101101,1011(2); г) 1771,2(8)+300,5(8); д) 2F2,8(16)+E4,B(16). 4. а) 1111000000(2) - 111101000(2); б) 1100110111(2) - 1001110000(2); в) 1000011110,1001(2) - 110000111,01(2); г) 1436,34(8) - 145,2(8); д) 3F5,98(16) - 240,3(16). 5. а) 1011100(2) 101000(2); б) 1300,6(8) 65,2(8); в) 68,A(16) 9,6(16). Вариант 16 1. а) 737(10); б) 92(10); в) 934,25(10); г) 413,5625(10); д) 100,94(10). 2. а) 1110000010(2); б) 1000100(2); в) 110000100,001(2); г) 1001011111,00011(2); д) 665,42(8); е) 246,18(16). 3. а) 11110100(2)+110100001(2); б) 1101110(2)+101001000(2); в) 1100110011,1(2)+111000011,101(2); г) 1455,04(8)+203,3(8); д) 14E,8(16)+184,3(16). 4. а) 1000010101(2) - 100101000(2); б) 1001011011(2) - 101001110(2); в) 111111011,101(2) - 100000010,01(2); г) 341,2(8) - 275,2(8); д) 249,5(16) - EE,A(16). 5. а) 1001000(2) 1010011(2); б) 412,5(8) 13,1(8); в) 3B,A(16) 10,4(16). Вариант 17 1. а) 575(10); б) 748(10); в) 933,5(10); г) 1005,375(10); д) 270,44(10). 2. а) 1010000(2); б) 10010000(2); в) 1111010000,01(2); г) 101000011,01(2); д) 1004,1(8); е) 103,8C(16). 3. а) 1011110101(2)+1010100110(2); б) 1001100011(2)+1110010010(2); в) 1111110100,01(2)+110100100,01(2); г) 755,36(8)+1246,5(8); д) 8D,2(16)+63,8(16). 4. а) 1100111110(2) - 1101001(2); б) 1101111011(2) - 1101110101(2); в) 1101001010,011(2) - 1010011110,101(2); г) 1632,1(8) - 706,34(8); д) 283,C(16) - 19C,8(16). 5. а) 111000(2) 1101001(2); б) 133,6(8) 73,4(8); в) 46,8(16) B,A(16). Вариант 18 1. а) 563(10); б) 130(10); в) 892,5(10); г) 619,25(10); д) 198,05(10). 2. а) 11100001(2); б) 101110111(2); в) 1011110010,0001(2); г) 1100010101,010101(2); д) 533,2(8); е) 32,22(16). 3. а) 1100100011(2)+1101001111(2); б) 111101111(2)+10010100(2); в) 1010010000,0111(2)+111010100,001(2); г) 1724,6(8)+1322,2(8); д) 2C7,68(16)+6F,4(16). 4. а) 111001110(2) - 11011011(2); б) 1011000001(2) - 110100001(2); в) 1011111101,1(2) - 111100000,01(2); г) 1126,06(8) - 203,54(8); д) 32B,D(16) - 187,D8(16). 5. а) 1100101(2) 1001010(2); б) 1544,4(8) 16,64(8); в) 69,8(16) 30,8(16). Вариант 19 1. а) 453(10); б) 481(10); в) 461,25(10); г) 667,25(10); д) 305,88(10). 2. а) 111001010(2); б) 1101110001(2); в) 1001010100,10001(2); г) 111111110,11001(2); д) 1634,35(8); е) 6B,A(16). 3. а) 101110001(2)+101111001(2); б) 1110001110(2)+1100110111(2); в) 10000011010,01(2)+1010010110,01(2); г) 1710,2(8)+773,24(8); д) 3E7,7(16)+32,2(16). 4. а) 1111000010(2) - 1110000011(2); б) 1110101011(2) - 111000111(2); в) 1111011010,011(2) - 1011100111,01(2); г) 1650,2(8) - 502,2(8); д) 3E0,6(16) - 17E,9(16). 5. а) 1001101(2) 11111(2); б) 1226,1(8) 24,4(8); в) 36,6(16) 38,4(16). Вариант 20 1. а) 572(10); б) 336(10); в) 68,5(10); г) 339,25(10); д) 160,57(10). 2. а) 1010110011(2); б) 1101110100(2); в) 1010101,101(2); г) 1101000,001(2); д) 414,1(8); е) 366,4(16). 3. а) 10001000(2)+1011010010(2); б) 111110011(2)+111110000(2); в) 1010001010,1011(2)+1101010100,011(2); г) 711,2(8)+214,2(8); д) 7A,58(16)+2D0,9(16). 4. а) 110111010(2) - 1110001(2); б) 1100001000(2) - 11000100(2); в) 1111111010,01(2) - 1000110010,0101(2); г) 1060,52(8) - 761,14(8); д) 1C0,6(16) - 8D,2(16). 5. а) 11101(2) 110101(2); б) 1106,2(8) 145,2(8); в) 65,4(16) 55,9(16). Вариант 21 1. а) 949(10); б) 763(10); в) 994,125(10); г) 523,25(10); д) 203,82(10). 2. а) 1110001111(2); б) 100011011(2); в) 1001100101,1001(2); г) 1001001,011(2); д) 335,7(8); е) 14C,A(16). 3. а) 1110101010(2)+10111001(2); б) 10111010(2) + 10010100(2); в) 111101110,1011(2) + 1111011110,1(2); г) 1153,2(8)+1147,32(8); д) 40F,4(16)+160,4(16). 4. а) 1000000100(2) - 101010001(2); б) 1010111101(2) - 111000010(2); в) 1101000000,01(2) - 1001011010,011(2); г) 2023,5(8) - 527,4(8); д) 25E,6(16) - 1B1,5(16). 5. а) 1001011(2) 1010110(2); б) 1650,2(8) 120,2(8); в) 19,4(16) 2F,8(16). Вариант 22 1. а) 563(10); б) 264(10); в) 234,25(10); г) 53,125(10); д) 286,16(10). 2. а) 1100010010(2); б) 10011011(2); в) 1111000001,01(2); г) 10110111,01(2); д) 416,1(8); е) 215,7(16). 3. а) 10111111(2)+1100100001(2); б) 110010100(2)+1011100001(2); в) 10000001001,0101(2)+1010000110,01(2); г) 1512,4(8)+1015,2(8); д) 274,5(16)+DD,4(16). 4. а) 1000001001(2) - 111110100(2); б) 1111000101(2) - 1100110101(2); в) 1100110101,1(2) - 1011100011,01(2); г) 1501,34(8) - 1374,5(8); д) 12D,3(16) - 39,6(16). 5. а) 111101(2) 1010111(2); б) 1252,14(8) 76,04(8); в) 66,68(16) 1E,3(16). Вариант 23 1. а) 279(10); б) 281(10); в) 841,375(10); г) 800,3125(10); д) 208,92(10). 2. а) 1100111001(2); б) 10011101(2); в) 1111011,001(2); г) 110000101,01(2); д) 1601,56(8); е) 16E,B4(16). 3. а) 1000100001(2) + 1011100110(2); б) 1101110011(2) + 111000101(2); в) 1011011,01(2)+1000101110,1001(2); г) 665,1(8)+1217,2(8); д) 30C,7(16)+2A1,8(16). 4. а) 11110010(2) - 10101001(2); б) 1110100001(2) - 1011001001(2); в) 1101001010,1(2) - 1011101001,11011(2); г) 166,14(8) - 143,2(8); д) 287,A(16) - 62,8(16). 5. а) 1001001(2) 100010(2); б) 324,2(8) 122,12(8); в) F,4(16) 38,6(16). Вариант 24 1. а) 744(10); б) 554(10); в) 269,375(10); г) 120,25(10); д) 139,09(10). 2. а) 101000001(2); б) 1110111100(2); в) 1001110101,011001(2); г) 1000010001,00011(2); д) 1177,6(8); е) 3FA,E8(16). 3. а) 10000001010(2)+11111111(2); б) 111011000(2)+1110111(2); в) 111010101,101(2)+11101111,001(2); г) 251,42(8)+72,54(8); д) 2CF,A(16)+242,4(16). 4. а) 1001000100(2) - 100111010(2); б) 100001100(2) - 10110011(2); в) 1110111100,011(2) - 1100000011,0111(2); г) 1700,2(8) - 456,44(8); д) 1A1,8(16) - E0,7(16). 5. а) 11110(2) 1100100(2); б) 1034,6(8) 43,1(8); в) 2C,4(16) 6,2(16). Вариант 25 1. а) 686(10); б) 585(10); в) 530,6875(10); г) 87,375(10); д) 131,82(10). 2. а) 110111001(2); б) 101111011(2); в) 1110111100,1(2); г) 110000011,0111(2); д) 742,34(8); е) 396,A(16). 3. а) 10000010001(2)+1000100010(2); б) 101011100(2)+10101111(2); в) 1001110000,001(2)+10100101,011(2); г) 1216,2(8)+2012,4(8); д) 372,18(16)+251,38(16). 4. а) 100110110(2) - 11101001(2); б) 1010100111(2) - 110000010(2); в) 11001101,1011(2) - 1001101,011(2); г) 1254,2(8) - 1150,54(8); д) 2E1,8(16) - 19A,4(16). 5. а) 1101000(2) 10011(2); б) 1411,44(8) 46,4(8); в) 63,8(16) 8,6(16). Тақырып 5. Алгоритм орындаушысы Жұмыстың мақсаты: алгоритмді көрсету құралдарын, орындаушының командалар жүйесін қарастыру, орындаушы тілінде алгоритм құрастыру машықтарын меңгеру. Рефератқа арналған тақырыптар. + Алгоритм орындаушысы. + Формальды орындаушы. + Орындаушының командалар жүйесі. + Кіріс және шығыс ақпаратты көрсету формасы. + Мүмкін ішкі қалыптар жүйесі. + Алгоритмді көрсету тілі. + Алгоритмді жолдық, сөздік жазу. + Алгоритмдерді көрсету тәсілдері. Бақылау сұрақтары 1. Алгоритмнің қатаң емес анықтамасы. 2. Алгоритмнің жалпы қасиеттері. 3. Алгоритмнің қатаң анықтамасын жасау қажеттілігі неге туындады? 4. Алгоритмдік модельдерді ата. 5. Алгоритм орындаушысы деген не? 6. Орындаушының командалар жүйесі деген не? Тақырып 6. Алгоритмдердің асимтотикалық күрделілігі. Жұмыстың мақсаты: есептің күрделілігі ұғымын қарастыру, қиын есеп ұғымын меңгеру. Рефератқа арналған тақырыптар: * Есепттің күрделілігінің негізгі ұғымдары * Асатолтыру есебі ұғымы. * Тану есебі ұғымы. * Полиномиалды үйлестіру ұғымы. * NP есептер күрделілігінің класы. * ОРЫНДАЛУШЫЛЫҚ есебінің NP күрделілігі класына жатуы туралы теорема. * P және NP класстары арасындағы байланыс. * P, NP, NPI, NPC күрделілік класы. Тақырып 7. Рекурсия және итерация Жұмыстың мақсаты: рекурсия және итерация ұғымдарын қарастыру. Рекурсивті алгоритмдер мен есептеу итерациясын құрастыру машықтарын және олардың тиімділігін бағалауды меңгеру. * Есептелінетін функция ұғымы. * Бөлікті функциялардың суперпозициясы. * Примитивті рекурсиялы функциялар. Негізгі қасиеттері. * Ауыстыру амалының негізгі қасиеттері. * Примитивті рекурсияның негізгі қасиеттері. * Шекті қосу және көбейту амалдары * Рекурсия және итерация * Рекурсия және итерация арасындағы байланыс. * Рекурсия механизмін жүзеге асыру. Тақырып 8. Желілерде және графтардағы оптимизация алгоритмдері Жұмыстың мақсаты: Коммивояжер есебі туралы ұғым, Коммивояжер есебінің эвристикалық алгоритмі. Тапсырмалар: 6 қалалар арасындағы қашықтық матрицасы берілген. Барлық қалаларды аралап шығудың ең қысқа жолын эвристикалық алгоритмді пайдаланып тап. Қайталау сұрақтары: 1. Коммивояжер есебінің мазмұнын тұжырымдап бер. 2. Тиімділік критерийі деген не? 3. Құн матрицасын сипаттап бер. 4. Комивояжер есебінің формальды қойылымын айтып бер. 5. Қандай эвристикалық алгоритмді қарастырдық? 6. Неліктен аяу алгоритм деп аталады? 7. Аяу алгоритмді сипаттап бер. Тақырып 9. Модельдердің әр түрлері Жұмыстың мақсаты: формальдандыру ұғымын қарастыру, математикалық модельдеу машықтарына үйрену. * Жүйе, ішкі жүйе, жүйе құрылымы деген не? * Табиғи және жасанды жүйелер арасындағы айырмашылық; * Жүйені құрайтын объектілер арасындағы материалдық және ақпараттық байланыстыр туралы; * Графтар теориясының негізгі ұғымдары; * Ақпараттық модельдерді - реляциялық, иерархиялық, желілік - жүзеге асыру тәсілдері туралы; * Жүйелерге және ішкі жүйелерге мысалдар келтір; * Табиғи және жасанды жүйелерде ақпараттық байланыстарды ерекшелеу; * Күрделі объектілердің элементтерін (сипаттамаларын) ерекшелеу; * Ағаштәрізді және қарапайым графтық ақпараттық модельдерді құру; * Алгоритмнің блок-схемасын бағдарланған граф ретінде көрсету; * Реляциялық, иерархиялық және желілік ақпараттық модельдерді құру; * Word-та кестелермен жұмыс істеу; СӨЖ ОРЫНДАУ БОЙЫНША НҰСҚАУЛАР 1 СӨЖ тақырыбы: Ақпараттық процесстер Тапсырма: Ақпараттық процесстің түрлерін ата, тұрмыста, есептеуіш техникада, табиғатта, қоғамда кездесу формаларын ата. Тарихы. Олардың компьютерлік жүзеге асырылуы. * Ақпараттық процесстердің түрлері. * Ақпаратты жинау. * Ақпаратты өңдеу. * Ақпаратты сақтау. * Ақпаратты жіберу. 2 СӨЖ тақырыбы: Ақпарат саны және өлшем бірлігі Тапсырма:Ақпаратты компьютерде көрсету, кодтау тәсілдері, өлшем бірліктері, өлшеу формалары. * Компьютерде символдық ақпаратты көрсету. * Компьютерде сандық ақпаратты көрсету. * Компьютерде дыбыстық ақпаратты көрсету. * Компьютерде графикалық ақпаратты көрсету. * Ықтималдылық өлшем. * Семантикалық өлшем. * Көлемдік өлшем. 3 СӨЖ тақырыбы: Жоғарғы және төменгі баға Тапсырма: Алгоритмдердің күрделілігінің бағасын беру, мысалдар келтіру. * Алгоритмдер күрделілігінің екі түрі: уақыттық және көлемдік. * Алгоритмдер күрделілігінің жоғарғы және төменгі бағасы. * Күрделілікті талдаудың негізгі әдістері мен тәсілдері. * Басқару графы бойынша күрделілік графын құру. * Рекурсивті алгоритмдердің күрделілігінің анализі. 4 СӨЖ тақырыбы: Соңына дейін іздестіру Тапсырма: Әр тақырып бойынша сұрауға дайындалу. * Іздеу алгоритмдері туралы ұғым. * Тізбектей іздеу. * Екілік іздеу. * Таңдау. 3 СӨЖ тақырыбы: Модельдеу - ғылыми танымның негізгі әдісі ретінде Тапсырма: Төмендегі тақырыптарды қамтып, реферат жазу, қорғау. * "Шынайы объект - модель - алгоритм - программа - нәтижелер - шынайы объект" тізбегі. * Вербальды модельдер. * Математикалық модельдер. * Ақпараттық модельдер.
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz