- •1. Алгоритм және оның қасиеттері.Оларды қалай түсінесіз?
- •18. Массив дегеніміз не?Индекс деп нені айтамыз?Массивтің өлшемі, мөлшері ұгымдары қапай түсінесіз?
- •19. Массив элементтері эем еске сақтау күрылгысында калай орналасады? Массив элементтерінэлементтерін пайдалануды қалай жүзеге асыруға болады?
- •26)Алгоритмді алгоритмдік тілде сипаттау үшін қолданылатын белгілеулер.
- •27.Алгоритм жазу жолдары
- •30) Рекуррентік
- •30) Рекурренттік қатынас дегеніміз не?
- •45)Массив элементін өшірудің, жаңадан элемент косудың алгоритмдері қандай? Массив элементтерін жылжыту неге соңынан басталу керек?
- •46)Массив элементтерін кері багытта орналастырудың алгоритмін сипаттаңыз.
- •51)Массивтің ең кіші элементін анықтаудың алгоритмі кандай?
- •57)A - (a,,...,an) массиві берілген. Осы массив үшін нөлге тен емес элементтер санын шыгарыныз?
26)Алгоритмді алгоритмдік тілде сипаттау үшін қолданылатын белгілеулер.
Енгізу <мәні енгізілетін айнымалылар тізімі>
Қорытындылау <мән қорытындылайтын айнымалылар тізімі>
Айнымалы:=өрнек
:= айнымалы шамаға өрнектің мәнін меншіктеу керектігін білдіретін символ.
27.Алгоритм жазу жолдары
27. Алгоритмді жазудың бірнеше әдістері бар: сөзбен, сөзбен және формулалармен, сызбалық, операторлық сұлба тілімен, алгоритмдік тілмен. Өзінің көрнекілігіне байланысты ең көп тараған алгоритмді жазу түрі блок-сұлбаның көмегімен жасалатын графикалық түр боп саналады. Символдар тізімі, олардың атаулары, олармен көрсетілетін функциялар, түрлері мен өлшемдері мемлекеттік стандарттармен анықталады. Алгоритмді блок-сұлба ретінде көрсетудің екі кемшілігі бар: талдап тексерудің өте төмен деңгейін талап етеді, сондықтан күрделі алгоритмдердің мағынасы жасырын боп қалады және басқаруды берудің құрамды емес әдістерін (goto) қолдануға мүмкіндік береді, сонымен бірге алгоритмдік блок-сұлбада олар эквивалентті құрамды алгоритмдерге қарағанда қарапайым болып көрінеді.
Алгоритмді суреттеу үшін сұлбалардан басқа жанамшарттаңбалауды, Flow-формаларды және Насси-Шнейдерман диаграммаларын қолдануға болады. Барлық аталып кеткен әдістер бір жағынан негізгі құрамдарда негізделеді, ал екінші жағынан талдап тексерудің әртүрлі деңгейлерін жіберіп алады.
Flow-форманың әр символы басқару құрылымға сәйкес және төртбұрышпен көрсетіледі. Құрылымдардың бір бірінің ішіне енгізілуін көрсету үшін Flow-форма символы кез-келген басқа символ төртбұрышының сәйкес аймағына жазылады. Негізгі және қосымша басқарушы құрылымдарға сәйкес Flow-формалардың символдары Б1 суретте келтірілген.
Насси-Шнейдерман диаграммаларының Flow-формалардан негізгі ерекшелігі – шартты белгілеу мен бұтақтар нұсқасы үшбұрыш түрінде көрсетіледі (Б2 сурет). Осындай белгілеу алгоритмді көрсетудің көрнекілігін қамтиды.
Flow-формалар мен Насси-Шнейдерман диаграммаларының ортақ кемшілігі - символдарды бейнелеуді құрастырудың күрделілігі, сондықтан да үлкен алгоритмдерді сипаттағанда оларды практика жүзінде қолдану күрделенеді.
Блок-сұлбаларға қарағанда жанамашарттаңбалар операцияларды тұжырымдаудың дәрежесін шектемейді, бірақ сызбалық болмағандықтан көрнекілігі төмен.
Құрылымды емес алгоритмдерді жанамашарттаңбалау, Flow-формалар және Насси-Шнейдерман диаграммалар көмегімен бейнелеуге болмайды, себебі оларда құрамды емес басқаруды берудің келісілген белгілері жоқ. Оларды қолдану әуел бастан-ақ жобалаушыны басқаруды берудің тек қана құрылымды әдістерін пайдалануға бағыттайды, сондықтан алгоритмнің мұқият сараптамасын талап етеді.
Есептер шешудің алгоримтдері әр түрлері болғанымен, есептеу үрдісінің негізгі үш түрін бөліп алуға болады: сызықты, тармақталған және циклдік. Оларды іске асыру үшін бағдарламаларда сәйкес базалық басқару құрылымдары қолданылады: соңынан жүру, тармақталу, әзір-цикл.
Бағдарламалаудың жоғары деңгейіндегі процедуралық тілдер негізгі құрамдардан басқа олардың көмегімен жеңіл іске асырылатын тағы үш құрылымды қолданады: таңдау, оған-дейін-цикл, қайталану саны бар цикл.
Аталып кеткен алты құрылымдар құрылымдық бағдарламалаудың негізінде болады. Атаудағы «құрылымдық» деген сөз бағдарламалауда тек қана осы аталған құрылымдар қолданылғанын білдіреді. Осыдан «goto жоқ бағдарламалау» деген түсініктеме пайда болған. Тек қана басқаруды берудің құрылымды операторларын қолданған бағдарламаларды құрылымды деп атайды. Бұл атау олардың басқаруды берудің төменгі деңгейлі әдістерінен ерекшелігін көрсетеді.
Дайындалған алгоритм бағдарламалық тілдердің бірінде бағдарламалық шарттаңбалар ретінде (бағдарламаларға) іске асырылады. Бар болатын бағдарламалау тілдерін келесі топтарға бөлуге болады:
- жоғарғы деңгейдегі әмбебап тілдер;
- бағдарламалық қамтамасыздандыруды өңдеушінің арнайы тілдері;
- қолданушының арнайы тілдері;
төменгі деңгейдегі тілдер.
Алгоритмді компьютерде орындау үшін оларды алдын-ала жазып алу керек. Жалпы жағдайда, алгоритм жазудың келесі түрлері қабылданған:
1) табиғи тілдегі жазылуы;
2) белгілі бір түйінді сөздер – терминдер арқылы қысқаша тізбекті түрде жазу;
3) графиктік жолмен жазу;
4) программалау тілдеріндегі жазылуы.
Бірақ табиғи тілде жазылған алгоритм компьютерде орындалмайды, өйткені бұл жағдайда дәлдік, нақтылық сақталмайды. Алгоритмдерді графиктік жолмен жазу, кейіннен осы программалау тіліндегі программаға айналдыру жұмысы мемлекеттік стандартпен бекітіліп, ақпарат өндеу жұмысында кеңінен қолданылады.
