ДӘРІСТЕР КЕШЕНІ Дәріс 1-2. Тақырыбы: Алгоритм және оның қасиеттері. Алгоритм терминінің тарихы. Алгоритм түрлері

Σχετικά έγγραφα
Тақырыбы: Кері функция. Функцияның нүктедегі шегі. Шектің негізгі қасиеттері

5 ДИФФЕРЕНЦИАЛДЫҚ ЖӘНЕ ИНТЕГРАЛДЫҚ ЕСЕПТЕУЛЕРДІҢ САНДЫҚ ӘДІСТЕРІ. 5.1 Интегралдарды жуықтап есептеу

2 СЫЗЫҚТЫҚ АЛГЕБРАЛЫҚ ТЕҢДЕУЛЕР ЖҮЙЕСІН ШЕШУ ӘДІСТЕРІ

АЛГОРИТМДЕУ ЖӘНЕ ПРОГРАММАЛАУ НЕГІЗДЕРІі

І. ТАРАУ 1.1. Оператор ұғымы 4 Мат.анализ I. Функция. Функционал анализ I.Оператор амалгер бейнелік f : X Y x X, мұндағы X R,

Тема: 12 Функциялар Подтема: 01-Функцияның анықтамасы. Функцияның анықталу жəне өзгеру облысы. у =

БАҒДАРЛАМАЛАУ ЖƏНЕ ДЕРЕКҚОР НЕГІЗДЕРІ

КИНЕМАТИКАНЫҢ НЕГІЗГІ ҰҒЫМДАРЫ. Кинематика деп денелердің қозғалысын зерттейтін, бірақ қозғалыстың туу себебін қарастырмайтын физиканың бөлімі.

Математика талапкерге

ПƏННІҢ ОҚУ-ƏДІСТЕМЕЛІК КЕШЕНІ

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖƏНЕ ҒЫЛЫМ МИНИСТРЛІГІ. М.Өтемісов атындағы Батыс-Қазақстан мемлекеттік университеті ЖҰМЫС ОҚУ БАҒДАРЛАМАСЫ.

Әл-Фараби атындағы Қазақ ұлттық университеті МАНАТ. 6D Математика (Қолданбалы математика)

САБАҚ ЖОСПАРЫ. Əбдірахманова Күнсая Жамбыл облысы, Тараз қаласы, ФМБ НЗМ, 11-сынып. ҰБТ-ға дайындық үшін геометрия пəнінен тест тапсырмалары

ДЕНЕЛЕРДІҢ ЕРКІН ТҮСУІ

ӘДІСТЕМЕЛІК НҰСҚАУЛЫҚ

Қазақстан Республикасының білім және ғылым министрлігі Қарағанды мемлекеттік техникалық университеті

АЛГОРИТМДЕУ ЖƏНЕ ПРОГРАММАЛАУ ТІЛДЕРІ

АЛГОРИТМДЕУ ЖƏНЕ ПРОГРАММАЛАУ ТІЛДЕРІ

Курстың мақсаты: - Математикалық физика теориясының іргелі ұғымдарымен таныстыру, негізгі әдістерді үйрету және оларды қолдану білуге дайындау, әр

МАЗМҰНЫ ЭЕМ-НІҢ НЕГІЗГІ ФУНКЦИОНАЛДЫҚ ЭЛЕМЕНТТЕРІ, I БӨЛІМ... ЭЕМ-НІҢ НЕГІЗГІ ФУНКЦИОНАЛДЫ ЭЛЕМЕНТТЕРІ, II БӨЛІМ... АРИФМЕТИКАЛЫҚ-ЛОГИКАЛЫҚ ҚҰРЫЛҒЫ...

факторлары келесі формулалармен анықталады

ПӘННІҢ ОҚУ-ӘДІСТЕМЕЛІК КЕШЕНІ

ЗЕРТХАНАЛЫҚ ЖҰМЫСТАРДЫ ОРЫНДАУҒА ӘДІСТЕМЕЛІК НҰСҚАУЛАР

1. Кіріспе 2. Тармақталу 3. Кү рделі шарттар 4. Циклдер 5. Шартты циклдер 6. Таң дау операторы

рметті студент! Мамандыты атауы Жауап парағыны 6-9 секторларындағы пəндер реті 1. Жоғары математика 2. Физика 3. Сызыты автоматты реттеу ж(йелері

Криптография. ОРЫНДАҒАН: Сабитов Аманбек ОИН-302 тобы.

А.Байтұрсынов атындағы Қостанай мемлекеттік университеті. Электроэнергетика және физика кафедрасы. Г.Асанова

санын айтамыз. Бұл сан екі тік және екі жатық жолдардан тұратын а а

Инерция моменті Инерция тензоры

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ ЖОҒАРЫ ОҚУ ОРЫНДАРЫНЫҢ ҚАУЫМДАСТЫҒЫ А. Т.

ПӘНДІ ОҚЫТУДАҒЫ ӘДІСТЕМЕЛІК НҰСҚАУЛАР

Теллурдың жаңа туындыларының синтезі және қасиеттері

АВТОМАТТЫ БАСҚАРУ ТЕОРИЯСЫ

рметті студент! Мамандыты атауы Жауап парағыны 6-9 секторларындағы пəндер реті 1. Алгебра «Математикалы жəне 2. Физика компьютерлік 2.

МАТЕМАТИКАЛЫҚ ФИЗИКА ТЕҢДЕУЛЕРІ

«Назарбаев Зияткерлік мектептері» ДББҰ Cambridge International Examinations ФОРМУЛАЛАР ТІЗІМІ ЖƏНЕ СТАТИСТИКАЛЫҚ КЕСТЕЛЕР

МГД- ҚОНДЫРҒЫЛАР ЖӘНЕ ЦИКЛДАРЫ

әдістемелік нұсқаулар

Тексерген: Рысжанова Айжан Сайлаухановна Орындаған: Оралғазин Бекнар Болатқазыұлы

АЛМАТЫ ЭКОНОМИКА ЖӘНЕ СТАТИСТИКА АКАДЕМИЯСЫ

Б.Бӛрібаев ПРОГРАММАЛАУ ТЕХНОЛОГИЯЛАРЫ. Оқулық

әл-фараби атындағы Қазақ ұлттық университеті Қолжазба құқығы бойынша АИПЕНОВА АЗИЗА СРАИЛҚЫЗЫ 6D Математика

ЖЕРСЕРІКТІК НАВИГАЦИЯЛЫҚ ЖҮЙЕЛЕР

Аннотация. Annotation

АЛМАТЫ ЭКОНОМИКА ЖӘНЕ СТАТИСТИКА АКАДЕМИЯСЫ

Тақырыбы: 11 сынып оқушыларын ҰБТ-ге математика және физика пәндерінен дайындаудың кейбір тиімді әдістері.

1 Тақырып. Информатиканың фундаментальды негіздері 1,2 дәріс

Сабақ жоспары. 1. Теңдеулер жүйесін шешіңдер: x 2 +y 2-6y=0 x 2 -xy+y 2 = Теңсіздіктер жүйесін шешіңдер: x 2 +4x-5>0

МАЗМҰНЫ. 13 ерекше (жеке) жағдайда орналасуы 2.6 Түзудегі нүкте. Түзудің ізі Жалпы жағдайда орналасқан түзу кесіндісінің сызбада

Металдар мен бейметалдар қасиеттері

Орындаған: Саматқызы Гүлманат Ақтөбе қаласы Ғ.Ақтаев атындағы 6 ОМ, 10 класс оқушысы

рметті студент! Мамандыты атауы Жауап парағыны 6-9 секторларындағы пəндер реті 5В «Механика» 1. Математикалы талдау I

Қазақстан Республикасының Білім және ғылым министрлігі. Д.СЕРІКБАЕВ атындағы ШЫҒЫС ҚАЗАҚСТАН МЕМЛЕКЕТ ТЕХНИКАЛЫҚ УНИВЕРСИТЕТІ

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖƏНЕ ҒЫЛЫМ МИНИСТРЛІГІ. Еуразиялық нарық институты А.Ə.БАЙМҰХАМЕТОВ, Қ.А.ҚАРАЖАНОВА ЖОҒАРЫ МАТЕМАТИКА

Атом құрылысы және химиялық байланыс

Тақырып: Жоғары молекулалы қосылыстар

1 1.2 Курстық жұмысқа тапсырма Құбырдың параллельді тармақтарындағы G 1, G 2, G 3 массалық

АВТОМАТИКА ЖӘНЕ ТЕЛЕМЕХАНИКА ЖҮЙЕЛЕРІН ЖОБАЛАУ

Қазақстан Республикасының білім жєне ғылым министрлігі. Қарағанды мемлекеттік техникалық университеті

МАТЕРИАЛДАР КЕДЕРГІСІ

І ТАРАУ ТЕХНИКАЛЫҚ ТЕРМОДИНАМИКА ПӘНІ МЕН ОНЫҢ МІНДЕТТЕРІ

Жарық Интерференциясын зерттеу

нарықтың дамыған инфрақұрылымның болуы; тұрақты салықтық-бюджеттік және кредитті-ақшалай жүйенің болуы. Еркін нарықтың қызмет етуін қамтамасыз ететін

«Назарбаев Зияткерлік мектептері» ДББҰ

С.Ж.АСФЕНДИЯРОВ АТЫНДАҒЫ ҚАЗАҚ ҰЛТТЫҚ МЕДИЦИНА УНИВЕРСИТЕТІ

АҚПАРАТТЫҚ ТЕХНОЛОГИЯЛАР

СТУДЕНТТІҢ ПӘНДІК ОҚУ-ӘДІСТЕМЕЛІК КЕШЕНІ

Сұлтанғали Төлегенов БИОМЕТРИЯ. ОҚУлық

Толқындардың интерференция құбылысы

М. Өтемісұлы атындағы Батыс Қазақстан мемлекеттік университеті

СӨЗЖАСАМ, ТЕРМИНЖАСАМ ТӘСІЛДЕРІ ОЛАРДЫҢ БАЙЛАНЫСЫ

Тема: 23-Көпжақтар. Олардың аудандары мен көлемдері Подтема: 01-Призма. Тік жəне көлбеу призмалар. Куб. Олардың бет аудандары мен көлемдері.

1-БЛОК: Математика. Бір дрыс жауабы бар тапсырмалар

Иондаушы сәулелердің затпен әсерлесуі

ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ ДЕНСАУЛЫҚ САҚТАУ ЖӘНЕ ӘЛЕУМЕТТІК ДАМУ МИНИСТРЛІГІ ОҢТҮСТІК ҚАЗАҚСТАН МЕМЛЕКЕТТІК ФАРМАЦЕВТИКА АКАДЕМИЯСЫ АЛИХАНОВА Х.Б.

ДЕРЕКТЕР ҚОРЫН ӘЗІРЛЕУ ЖӘНЕ БАСҚАРУ

9. СҰЙЫҚ ЖӘНЕ ҚАТТЫ ДЕНЕЛЕРДЕГІ ЖАРЫҚТЫҢ ЖҰТЫЛУЫ

Қазақстан Республикасының білім және ғылым министрлігі. С. Торайғыров атындағы Павлодар мемлекеттік университеті

Михайлова Светлана Леонидовнаның

Қазақстан Республикасының білім және ғылым министрлігі. С.Торайғыров атындағы Павлодар мемлекеттік университеті

ЭЛЕКТРОМАГНЕТИЗМ НЕГІЗГІ ЗАҢДАР

2 тур Логикалық есеп. 1 тур Бәйге. есеп. Ұтқырлар сайысы. 3 тур Сан қилы. 4 тур Сиқырлы сурет

Серіков Т.Ғ-ның АҢДАТПА Тақырыптың өзектілігі.

Электростатика мейрамханасы

ФИЗИКАНЫҢ АРНАЙЫ ТАРАУЛАРЫ

Б.Қ. Бұқарбаев, Ж.Ғ. Займолдина, Б.Б. Ораз, О.Ж. Ұлқабай ДЕНЕ ШЫНЫҚТЫРУ ӘДІСТЕМЕЛІК ҚҰРАЛ

ПӘНІ БОЙЫНША ОҚЫТУ БАҒДАРЛАМАСЫ (SYLLABUS)

Зерттеулер және статистика департаменті Экономикалық зерттеу Төлеуов Олжас

кедергісі бар туннелдік диодтың(теріс кедергісі бар) электрондық сулбесін қарастырамыз.


Дəрістің қысқаша мазмұны. 1-тақырып. Механика пəні. Материалдық нүктенің кинематикасы

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ ХАЛЫҚАРАЛЫҚ РЕЗЕРВТЕРІНІҢ ЖЕТКІЛІКТІЛІГІН БАҒАЛАУ

«СТАТИСТИКА» ПƏНІ БОЙЫНША ОҚУ- ƏДІСТЕМЕЛІК КЕШЕН

Пайдаланушы нұсқаулығы

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

1-бөлім: Эрозия және үгілу. Үгілу мен эрозия арасында қандай айырмашылық бар?

АНОМАЛЬДЫ БАЛАЛАРМЕН ЖҰМЫС ЖАСАУДЫҢ КЕЙБІР АСПЕКТІЛЕРІ

АЙМАҚТЫҚ ӘЛЕУМЕТТІК ИННОВАЦИЯЛЫҚ УНИВЕРСИТЕТІ. 5В Математика мамандығы бойынша МОДУЛЬДІК БІЛІМ БЕРУ БАҒДАРЛАМАСЫНЫҢ ЭЛЕКТИВТІ ПӘНДЕР КАТАЛОГЫ

ФИЗИКАЛЫҚ және КОЛЛОИДТЫҚ ХИМИЯ

Veritor System. For Rapid Detection of Flu A+B. (A+B тұмауын жылдам анықтауға арналған)

Transcript:

ДӘРІСТЕР КЕШЕНІ Дәріс -2. Тақырыбы: Алгоритм және оның қасиеттері. Алгоритм терминінің тарихы. Алгоритм түрлері Алгоритм математика мен информатиканың кең тараған негізгі ұғымдарының бірі. Кӛп жағдайда алгоритм ұғымы электронды есептеу машиналарына байланысты пайда болады деген пікір дұрыс емес. Алгоритм ұғымы электронды есептеу машиналарынан бірнеше ғасыр бұрын пайда болып ӛмірде қолданылып келеді. Алгоритм деген сӛздің ӛзі ІХ ғасырда ӛмір сүрген орта азиялық белгілі математик Мұхамедтің арабша атынан (альхорезм) латынша (algorithm) жазылуынан таралған. Ол қазіргі уақытқа дейін ӛзіміз қолданып жүрген арифметикалық тӛрт амалдың орындалу ережелерін тұжырымдаған. Мұхамед Әл-Хорезми әдісін жақтаушылар алгоритмиктер деп, белгілі бір қасиеттері бар ережелер жүйесі алгоритм деп аталып кетті. Қазіргі кездегі түсінігіміз бойынша алгоритм ұғымын кез келген процесті орындау үшін берілетін нұсқаулардың жиынымен байланыстыруға болады. "Мұнда есептің алгоритмі берілген" деген сӛйлемді "Мұнда белгілі бір есепті шешуге қажетті амалдар беріліп, олардың орындалу реті кӛрсетілген" деп түсінуге болады. Күнделікті ӛмірде біз алгоритмнің кӛптеген түрлерімен кездесіп отырамыз. Мысалы, шай қайнату, торт пісіру, дәрі-дәрмек жасау, кӛше тәртібін сақтау, таныс кісімен сӛйлесу, лифтпен кӛтерілу т.б.с. Алгоритм ұғымын тереңірек түсіну үшін бірнеше мысалдар келтірейік. -мысал. Квадрат теңдеудің ах 2 +Ьх+с=0 нақты түбірлерін есептеу керек. Тӛмендегі нұсқаулар тобы орындалса берілген есептің шешімін алуға болатындығына кӛз жеткізуге болады. ) a,b,c коэффициенттерінің мәндерін есіңе сақта. 2) Дискриминантты есепте: d=b 2-4ac. 3) d-шы 0-мен салыстыр. Егер d<0 болса, 5-ке кӛш әйтпесе 4-ші әрекетке кӛш. 4) Түбірлерді есепте: х = 5) Есептеуді тоқтат. Осындай нұсқауларды математикалық емес есептерді шешуге де пайдалануға болатынын айтқан едік, енді соған мысалдар келтірейік. Берілген нұсқаулар есепті шығарудың алгоритмі. Нұсқаулардағы кӛрсетілген әрекеттер орындалса кӛздеген мақсатқа (яғни, телефон шалуға, кӛшеден ӛтуге, квадрат теңдеудің нақты түбірлерін) табуға жетеміз. Сонымен, жоғарыдағы мысалдарды талдай келе, алгоритм деп берілген мәліметтер бойынша іздеген нәтижеге жеткізетін іс-әрекеттердің жиынтығын және олардың орындалу ретін анықтайтын ережелер жүйесін айтамыз. Негізінде кез келген есептің шешімі белгілі бір берілген мәндер бойынша табылады. Сондықтан, алгоритмді берілген мәндерді нәтижеге түрлендіретін процесс деп қарастыруға да болады. Алгоритмнің қасиеттері. Алгоритмдер адам ӛмірінің алуан түрлі саласын қамтығанымен, олардың бәріне ортақ бірнеше қасиеттері мен ерекшеліктердің бар екендігін байқауға болады. Алгоритмнің негізгі қасиеттеріне оның үздіктілігі, анықталғандығы, жалпылығы, нәтижелілігі жатады. Алгоритмнің үздіктілігі деп алгоритмі сипатталып отырған процестің қадамдарға бӛлінуін айтады. Қадамдарда нұсқау түрінде қарапайым ісәрекеттің сипаттамасы беріледі. Алгоритм қадамдарды кез келген ретпен орындала бермейді. Әр адамның сипаттамасында келесі орындалатын қадам кӛрсетілуі мүмкін, егер ол ашық кӛрсетілмесе, нұсқаулар жазылу ретімен орындалады деп түсіну келісілген. Алгоритмде кӛрсетілген іс-әрекеттерді орындаушы адам немесе автоматты құрылғы (ЭЕМ) болуы мүмкін.

Анықталғандық (түсініктілік) қасиеті. Алгоритмнің бұл қасиеті, алгоритмді құрайтын іс-әрекеттер оны орындаушыдан ойлануды қажет етпейді, тек орындай алатындай нақты түсінікті етіп берілуі керектігін кӛрсетеді. Алгоритм еркіндікке жол бермейтін нақты жарлық. Сондықтан алгоритмде "екі санның біреуін таңда" немесе "қызыл заттардың біреуін ата" деген сияқты нұсқаулар болмауы тиіс. Алгоритмнің бұл қасиеті ешқандай ақыл-ой қабілеті жоқ құрылғылардың кӛмегімен есеп шығарудың мүмкіндігіне кепілдік береді. Осындай құрылғыларға біздің заманымызда ЭЕМ жатады. Жалпылық қасиеті. Бӛл оның кӛпшілікке бірдейлік қасиеті, яғни белгілі бір есепті шығаруға құрылған алгоритмді сол типтегі есептердің барлығына да қолдана беруге болатынын кӛрсетеді. Мысалы, жоғарыда келтірілген ах 2 +Ьх+с=0 теңдеуін шешуге арналған алгоритм a,b,c -ның кез келген мәндерінде қолдануға болатындай жасалуы тиіс. Алгоритмнің нәтижелігі деп саны шектеулі қадамдардағы нұсқаулар орындалып болғаннан кейін есептің шешімі табылатыны не болмаса шешімінің болмайтыны айқындалатынын айтады. Алгоритм құрастыру және оны сипаттау әдістері. Алгоритм құру үшін, алдымен есептің шешу әдісін жақсы меңгеру керек. Алдымен берілген мәліметтермен есептелетін шамаларды анықтап, содан кейін ғана есепті шешу тәсілі бойынша алгоритм құрастырылады. Алгоритм құрастыру деп есепті шешуге қажетті амалдардың тізбегін анықтауды, ал сипаттау деп алгоритм қадамдарын мағынасы мен жазылу үлгісі тұрақты шартты белгілер жүйесі арқылы жазуды айтады. Алгоритм белгілі бір орындаушыға арналып жасалатындықтан, оны сипаттаған кезде атқарушының мүмкіншіліктері ескерілуі керек. Егер алгоритмді атқарушы адам болса, алгоритмнің кӛрнекі болуына аса кӛңіл аудару керек те, ал атқарушы ЭЕМ болса, электронды есептеуіш машиналардың ерекшеліктері ескерілуі керек, яғни онда енгізу, қорытындылау, меншіктеу қадамдары болуы тиіс. Енгізу деп берілген мәліметтерді ЭЕМ есте сақтау құрылғысына жазуды, ал қорытындылау деп керісінше, ЭЕМ еске сақтау құрылғысынан пайдаланушыға жеткізуді айтады. Енгізу, қорытындылау мен қатар меншіктеу операциясы есептец машиналарында қолданылатын маңызды операциялардың бірі. Меншіктеу деп белгілі бір шаманың мән қабылдауын айтады. Алгоритмді сипаттаудың кӛптеген тәсілдері бар. Солардың ішіндегі ең қарапайымдары: ) Алгоритмді алгоритмдік тілде сипаттау. 2) Алгоритмді схема арқылы сипаттау. 3) Алгоритмді арнаулы алгоритмдік тілде сипаттау. Енді осылардың әрқайсысына жеке жеке тоқталайық. Алгоритмді табиғи тілде сипаттау. Алгоритмді сипаттаудың бұл тәсілінде алгоритм қадамдарын сипаттауға математикалық формулалар мен табиғи тілдің мүмкіншіліктері пайдаланылады. Енді алгоритмді табиғи тілде сипаттау үшін қолданылатын кейбір шартты белгілерді келтіреміз: Алгоритмді алгоритмдік тілде сипаттау үшін қолданылатын белгілеулер. ) Енгізу <мәні енгізілетін айнымалылар тізімі> 2) Қорытындылау <мән қорытындылайтын айнымалылар тізімі> 3) Айнымалы:=ӛрнек := айнымалы шамаға ӛрнектің мәнін меншіктеу керектігін білдіретін символ. Негізгі әдебиеттер: [36-49],2[59-94],3[75-8] Қосымша әдебиеттер: 7[20-63] Бақылау сұрақтары:

) Алгоритм деген не? Алгоритмнің қандай қасиеттері бар, оларды қалай түсінесіз? 2) Алгоритмді сипаттаудың қандай әдістерін білесіз? 3) Табиғи тілде алгоритм қадамдарын сипаттауға қандай қызметші сӛздер қолданылады және олардың мағыналары қандай? 4) Енгізу, қорытындылау, меншіктеу операцияларының мағынасы неде? 5) Алгоритм схемасын сызуға қандай белгілеулер қолданылады, оларды пайдалану тәртібі қандай? Схемада блоктардың атқарылу реті қалай кӛрсетіледі? 6) Алғашқы, қорытынды мәліметтер деп нені айтамыз? 7) Алгоритмді сипаттау әдістеріне қойылатын талаптарды атаңыз, табиғи тілден сипаттау мен алгоритм схемасы сол талаптардың қайсысын қанағаттандырады? Дәріс 3-4. Тақырыбы: Алгоритмнің басқарушы құрылымдары. Тізбектелу,тармақталу құрылымдары. Тізбектелген,тармақталған алгоритмдер. Алгоритмнің басқарушы құрылымдары. Біз әртүрлі сипаттау әдістерінде Алгоритмнің басқарушы құрылымдары деп атқарылу реті бірбірімен стандартты жалғасу әдісіне байланысты анықталатын алгоритм қадамдарының жиындарын айтамыз. Алгоритм құрылымдарының үш түрі бар: тізбектелу, тармақталу және қайталау (цикл). Осы үш құрылымды араластырып пайдалану арқылы кез келген күрделі есептердің алгоритмдерін сипаттауға болады. Басқарушы құрылымдар кез келген алгоритмдік тілдің негізі болып табылады. Сондықтан, алгоритмдерді басқару құрылымдары негізінде сипаттау программалау тілін тез меңгеріп пайдалануға тиімді қадам. Оған қоса алгоритмді сипаттауға басқарушы құрылымдарды пайдалану жаңадан жазылған алгоритмнің дұрыстығын тексеруді жеңілдетеді және басқа программалаушылардың әр уақытта жазған алгоритмдерін пайдалануға мүмкіншілік береді. Енді осы алгоритмнің басқарушы құрылымдарына жекелеп тоқтайық. Тізбектелу. Сызықты алгоритмдертізбектелу алгоритмнің ең қарапайым құрылымы. Ол табиғи тілде және схемада тӛмендегіше белгіленеді: -әрекет. Әрекеттердің осылайша тізбектеліп жазылуы. I 2-әрекет. Олардың бірінен кейін бірі атқарылатындығын.... кӛрсетеді, яғни 2-ші әрекет -шіден кейін, 3-ші ----- I ----. -әрекет. әрекет, 2-шіден кейін т.с.с.. I. Тізбектелудің схемада белгіленуі. Мұндағы стрел калар атқарылу ретін кӛрсетеді. Құрамында тізбектелу құрылымы бар алгоритмдер сызықты алгоритмдер деп аталады. Сызықты алгоритмдердің құрамына енгізу, қорытындылау, ӛңдеу қадамдары енеді. Енді сызықты алгоритмдерге мысалдар келтірейік. -алгоритм. Формула бойынша есептеу. у-тің мәнін берілген y = f () ӛрнегі бойынша есептеу керек болсын. Пайдаланылатын айнымалылар: Берілгені: х; Нәтиже: у Табиги тілде алгоритмдеу және оны сипаттау: ) Басы. 2) Енгізу: х. 3) Есептеу: y = f ().

4) Қорытындылау: у. 5) Соңы. Алгоритм қадамдарды жазылу ретімен бір бірден ғана орындалады. Тармақталу. Тармақталган алгоритмдер.көп алгоритмдерде қадамдардың жазылуы қатар болғанмен атқарылу реті қатар бола бермейді. Алгоритм қадамдарының атқарылу реті берілген немесе артық шарттың нәтижесіне байланысты болуы мүмкін. Берілген шартты тексеру нәтижесінде алгоритмнің келесі орындалатын қадамдары анықталады. Шартқа байланысты атқарылатын әрекет немесе әрекеттер тобы тармақ деп шарт тексеріліп тұрған қадам таңдау қадамы деп аталады. Есептің берілгеніне байланысты алгоритмдерде тармақтардың саны бір, екі немесе бірнешеу болып келуі мүмкін. Тармақталы құрылымнан ең қарапайым түрі бір тармақтан тұрады және ол тӛмендегідей белгіленеді: Табиғи тілде: Егер С онда А Мұндағы, С-тексерілетін шарт; А-бір немесе бірнеше әрекеттен тұратын тармақ.бұл құрылымның мағынасы: егер С шарты ақиқат болса, А тармағы орындалады, жалған болса А тармағы ескерілмейді де, келесі қадамдағы әрекет атқарылады. Мысалы, у-тің мәні f () ӛрнегі бойынша есептеліп, нәтижені егер ол нӛльден үлкен болса ғана баспаға беру керек болсын. Бұл есептің алгоритмін тӛмендегідей сипаттауға болады: Табиғи тілде: ) Басы. 2) Енгізу: х. 3) Есептеу: y = f (). 4) Егер у<0 болса, у-ті қорытындылау. 5) Соңы. Екі тармақтан тұратын тармақталу құрылымының үлгісі тӛмендегідей. Табиғи тілде: Егер С онда А әйтпесе А 2 Мұндағы С-тексерілетін шарт А, А 2 -алгоритм тармақтары. Егер С шарты ақиқат болса, А тармағы атқарылады, А2 ескерілмейді, жалған болса керісінше, яғни Аі ескерілмейді, А 2 тармағы орындалады. Аі, А 2 тармақтарының құрамына басқа тармақталу құрылымдары енуі мүмкін. Құрамына тармақталу құрылымы енетін алгоритмдер тармақталған алгоритмдер деп аталады. Тармақталған алгоритмдердің мысалдары: -алгоритм.есептеу формуласын таңдау арқылы функция мәнін есептеудің алгоритмі. ) Есептің математикалъщ қойылуы. х-тің мәніне байланысты берілген ӛрнектердің бірімен у-тің мәнін есептеу керек. 2) Есептің математикалъщ сипатталуы. Сұрақтар мен тапсырмалар. Күрделі алгоритмдер қалай сипатталады? Алгоритм құрылымдарының қандай комбинациялары болады?

2. Тармақталған цикл құрылымының схемалық үлгісі қандай? Негізгі әдебиеттер: [36-49],2[59-94],3[75-8] Қосымша әдебиеттер: 7[20-63] Бақылау сұрақтары:. Алгоритм деген не? Алгоритмнің қандай қасиеттері бар, оларды қалай түсінесіз? 2. Алгоритмді сипаттаудың қандай әдістерін білесіз? 3. Алғашқы, қорытынды мәліметтер деп нені айтамыз? Дәріс 5-6 Тақырыбы: Алгоритмдерге талдау. Цикл. Циклдардың классификациясы. Қайталау саны алдан-ала белгілі циклдарды ұйымдастыру әдістері. Цикл құрылымды алгоритмдер. Тиімді, жылдам жұмыс істейтін алгоритмдер құрудың практикалық есептер шығаруда бірінші дәрежелі болмаса да, үлкен мәні бар. Бірнеше алгоритмдердің ішінен жылдам жұмыс істейтін алгоритмді таңдау үшін олардың жұмыс уақытын салыстырып үйрену қажет. Дегенмен, жұмыс уақытын дәл есептеу мүмкін емес. Бұл уақыт алдымен программа орындалатын компьютердің шынайы сипаттамасына тәуелді болуы мүмкін. Әдетте алгоритмнің орындалуы уақыты тек жуықтап қана есептеледі. Сонымен бірге жұмыс уақытына арналған формула мәндері тек тәжірибелік жолмен анықталатын қандай да бір сандық тұрақтылардан тұрады. Мұндай бағалаудың ӛзі кӛбінесе ең тиімді бір алгоритмді ғана таңдауға мүмкіндік береді. Басқа жағдайларда жұмыс уақытын бағалаудың кӛмегімен баяу жұмыс істейтін алгоритмдерді шығарып тастауға болады, ал қалғандарынан программаның шынайы жұмыс уақытын ӛлшеудің кӛмегімен таңдауға болады. Енді жоғарыда айтылғандарды мысалмен түсіндірейік. Мысалы, қандай да бір саннан құрылған тізбекті ӛңдеу қажет болсын. Мұндағы ӛзгеріп отыратын болсын. Осы есепті шығаруға екі программа берілсін, олардың жұмыс уақыты жуықтап С C 2 2, мұндағы С және С 2 - тұрақтылар, олар - ге тәуелсіз. N үлкен болған жағдайда бірінші программа жылдам жұмыс істейді, ал аз шама болғанда программа баяу жұмыс істейді. Бұл С > С 2 екенін кӛрсетеді. С С 2 -ден 5 есе үлкен болсын. С =5С 2. С =5С 2 мен C 2 2 -ты салыстыра отырып, >5 болғандағы программаның жұмыс уақытының баяу, ал <5 болғанда екінші программаның жылдам жұмыс істейтінін байқауға болады. Мұндағы =5 бағалау уақытының шектік мәні де жуықтап тағайындалады. Бұдан екі тұжырым жасауға болады. Біріншіден, «тұрақтыға дейінгі дәлдікпен» жуықтап бағалаудың ӛзі алгоритмдерді салыстыруда пайдалы болып табылады. Екініден, есеп шығарудың бір алгоритмі ӛте жылдам деп айтуға болмайды. Қандай да бір алғашқы мәліметтер жиынтығы үшін кейбір алгоритм екіншісінен тиімді болуы мүмкін. Енді программаның жұмыс уақытын анықтайтын алғашқы мәліметтердің мұндай сипаттамасын таңдау мәселесіне тоқталайық. Мұндай сипаттама есептің ӛлшемі деп аталады. Әртүрлі есептерді шығару уақытына алғашқы

мәліметтердің әртүрлі қасиеті әсер етеді. Мысалы, минимумды іздеу немесе әрбір сан бір бүтін сан ретінде қарастырылатын берілген сандарды іріктеу типті есептер үшін алғашқы сандар мӛлшері есептер мӛлшері болып табылады. Қарапайым кӛбейткіштерге жіктеу есебі үшін санның шамасы мӛлшері болып есептеледі. Есеептің мӛлшерін таңдау қандай да бір шығару алгоритмі туралы жалпы ұғымға негізделеді. 2 дәрежесін есептеу алгоритмін қарастырайық. Дәрежелеудің санның бірінен соң бірі кӛбейтілетінін ескере отырып, ӛлшем ретінде дәреже кӛрсеткішті аламыз. Ӛлшемді сипаттаудың тағы бір тәсілі нәтижедегі цифр сан ыболып табылады. 2 дәрежесіндегі цифр саны -ге пропорционал, сондықтан екі ӛлшем де эквивалентті. Жұмыс уақытын бағалау мезетіндегі маңызды кезең орындалу барысында барлық жұмыс уақытының негізгі бӛлігін алатын программа бӛлігін іздеу болып табылады. Кӛптеген программалар үшін экспериментті түрде дәлелденген факт: жұмыс уақытының негізгі бӛлігі программа мәтінінің шағын бӛлігін орындауға кетеді. Программаның мұндай бӛлігі цикл деп аталады. Кӛпшілік жағдайда жұмыс уақытын жуықтап бағалау талап етіледі, сондықтан программаның қалған бӛлігінің орындалу уақытын ескермеуге болады, тек ішкі циклдың орындалуын қарастыруға болады. Егер программа бірінің ішіне бірі орналасқан бірнеше программадан тұратын болса, онда ішкі циклды табу жеңіл. Әрине, алдымен, бәрінен бұрын барлық циклға қатысты программа бӛлігі орындалады, ал бұл қалған барлық циклдардың ішіндегі және ішінде басқа цикл болмайтын циклдар болып табылады. Бұл бақылау программаның жиі орындалатын бӛлігі үшін «ішкі цикл» деген атауды дәлелдей түседі. Егер ішкі циклды қамтымайтын бірнеше цикл болса, олардың әрқайсысының қайталану санын есептеуге болады. Егер бір циклдың қайталану саны басқаларымен салыстырғанда айтарлықтай үлкен болатын болса, онда басқа циклдардың жұмыс уақытын ескермеуге болады; кері жағдайда соңғы формулада жұмыс уақыты үшін бірнеше циклдардың орындалу уақытын ескеруге тура келеді. Параметрлі қайталану командасындағы қайталану саны For операторы үшін тӛмендегі формуламен есептеледі: Циклдың басы For i:=a to B Егер B>=A- болса, онда қайталану саны B - A + ге тең; Егер B<A болса, онда нӛлге тең; () For i:=a dowto B циклі үшін А мен В-ның орындарын ауыстыру қажет. Егер программада цикл бір рет орындалатын болса, онда бұл формула ақиқат болып есептеледі. Енді бұл циклдың басқа циклдың ішінде бірнеше рет қайталанып орындалған жағдайын қарастырайық. Цикл ішіндегі қайталану санын шартты түрде цикл денесінің орындалу санының саны деп атайық. Барлық циклдың орындалу санын цикл тақырыбының орындалу саны деп атайық. Сӛйтіп, цикл тақырыбының бір рет орындалуы цикл денесінің қанша рет орындалатынын кӛрсетеді. Бірінші формула оның тақырыбы цикл денесінің бір рет орындалуындағы цикл денесінің орындалу

санын береді. Егер қарастырылып отырған цикл басқа циклдың ішінде орналасқан болса, онда онда оның тақырыбы бірнеше рет орындалады да, цикл денесінің орындалуының жалпы санын табу үшін осы цикл тақырыбының барлық орындалуы барысындағы () формуламен алынған сандарды қосу қажет. Бұл формуланы қолданудың қарапайым мысалы ретінде тӛмендегі программа фрагментін талдайық: For j:= to do Begi (*-цикл *) For k:= to M do (* 2-цикл денесі*) For l:= dowto j do (* 3-цикл денесі*) Ed; Екінші және үшінші цикл денелерінде ішкі цикл жоқ, ал, M және N қандай да бір үлкен тұрақтылар. 2 және 3-циклдардың қайталану санын бағалайық. Екеуі де бірінші циклдың ішінде орналасқан, олардың қай талану саны () формула бойынша оңай есептеледі; ол N-+=N-ге тең. Бұл қайталанулардың әрқайсысында 2-цикл денесі М-+=М рет орындалады. М саны тұрақты болғандықтан 2-цикл денесінің жалпы орындалу саны N 2 = N М тең. 3-цикл денесі -цикл денесінің әрбір орындалуында N-J+ рет орындалады. Бұл санның М санынан айырмашылығы -циклдың орындалуы барысында ӛзгеріп отырады; сондықтан екі санды тек кӛбейте салуға болмайды:3-цикл денесінің барлық орындалу санын қосу қажет. Бұдан - циклдың орындалуында J айнымалысы -ден N-ге дейінгі барлық мәндерді қабылдайды (міне дәл осы -цикл тақырыбында жазылған. Сӛйтіп, 3-цикл денесінің жалпы орындалу саны: j N N ( N J ) 3 Бұл арифметикалық прогрессияның қосындысы; ол (N+) N/2 тең. Уақыт жуықтап есептелінетіндіктен N-мен салыстыруға жүгінбей-ақ, формуланы жеңілдетуге болады: N 3 жуықтап N 2 /2 тең. N 2 мен N 3 -ті салыстыра отырып, бұл сандардың біреуі екіншісінен әлдеқайда артық деп айта алмаймыз. Керісінше, қандай да бір N мен М үшін олар бір ретте болады. Мысалы, егер М= N, онда N 2 шамамен N 3 -тен 2 есе үлкен болады. Сондықтан жұмыс уақыты үшін формулаға екі циклға да жауап беретін екі қосылғыш қосуға тура келеді. Цикл денелерінің бір реттік орындалу уақытын есептей отырып, тұрақтыларды Т 2 және Т 3 арқылы белгілеп, жалпы жұмыс уақытын есептеу үшін тӛмендегідей жуықтатылған формуланы аламыз: Т =М N Т 2 +(N 2 /2) Т 3. Егер цикл денелерінің орындалу уақытын тұрақты деп есептемейтін болса (мысалы, онда шартты оператор немесе процедураны шақыру болса), онда алдымен денелердің орындалу уақытын талдап, одан кейін оларды қосу қажет. Жұмыс уақыты жӛнінде бұдан да дәл ақпаратты әртүрлі алғашқы мәліметтер бойынша программа программа жұмысының шынайы уақытын ӛлшеу нәтижесі бойынша алуға болады. Бұл эксперименттердің кӛмегімен

формулаға кіретін белгісіз тұрақтыларды (біздің жағдайда Т 2 және Т 3 ) бағалауға болады. Енді нақты программа жұмысын талдауға кӛшейік, 2 N дәрежесін есептеуді қарастырайық. Программа жұмысы циклды қамтитын екі ірі бӛліктен тұрады. Ол 2 N дәрежесін есептеу және баспаға шығару. Программаның жұмыс уақытын бағалауда әдетте, баспаға шығару уақытын емес, тек есептеуге кететін уақыт ескеріледі. Бұл кӛптеген есепті шығару алгоритмі үшін басу уақыты ӛте аз болғандықтан ескерілмейді. Сонымен қатар, ӛте үлкен N үшін есептеу уақыты аз болғандықтан ескермеуге де болады. Басып шығаруды және циклған кірмейтіндерді шығарып тастағаннан кейін тӛмендегідей программма аламыз: For K:= To N Do Begi (*-цикл*) For I:=еңҮлкенҰзындық DowTo XБасы Do Begi (*2-цикл *) Құрамында циклы жоқ әрекеттер Ed; Құрамында циклы жоқ әрекеттер Ed; Бір цикл, дәлірек айтсақ, 2-циклға басқа цикл кірмейді.ол ішкі цикл болып қалады. Енді оның денесінің қайталану санын есептейік. 2-цикл денесінің орындалу саны МАХұзындық-Хбасы+-ге тең, жұмыс барысында ХБасы мәнінің ӛзгеруінің есебінен ӛзгереді. Мұнда ХБасы мәнінің -циклды басқаратын К мәніне қаншалықты тәуелді екенін біз білмейміз. 2-цикл денесінің орындалу санын N 2 (К) арқылы белгілей отырып, тӛмендегідей қосындыны есептеу қажеттілігіне кӛз жеткіземіз: K N N N ( K ). 2 2 N 2 (К) функциясын табу үшін алгоритмді мазмұны жағынан талдау қажет. () формуланы тікелей қолдану ыңғайсыз. Мұның орнына 2-цикл тақырыбының әрбір орындалуында оның денесінің орындалу саны екі еселенген цифрларының санына тең екенін байқаймыз. Программа мәтінінен байқалғанындай екі еселенген сан 2 К- не тең. Кез келген натурал санның цифрларының саны оның ондық логарифмінің бір бүтін бӛлігіне кӛбейтіндісіне тең, 2 К- нің ондық логарифмі (К-)*lg2-ге тең, мұндағы lg2 жуықтап 0,3-ке тең. Сӛйтіп, N 2 (К) үшін тӛмендегідей формуланы аламыз: N 2 (К) = +[(K+)Lg2]. Мұндай жалпы мүшесі бар қосындыны есептеу қиын. Есептеуді жеңілдету үшін жуықтатылған санға кӛшеміз. Санның бүтін бӛлігі ӛзінен - ге жуық ажырыатылатынын байқаймыз. Бұл айырмашылықты ескермей, логарифмнің бүтін бӛлігіні логарфимнің ӛзімен алмастырамыз. Жалпы мүшесі +[(K+)Lg2] болатын арифметикалық прогрессияның қосындысын табу қажет. Қосынды тӛмендегі формуламен есептеледі:

K N ( ( K ) Lg 2) ( ( N 2 ) Lg 2 ) * 2 2 N Соңғы шамаға кӛшу барысында N* Lg2-мен салыстырғанда шамасы кіші болатын 2- Lg2 қосылғышын ескермедік. Сондай-ақ, қорытынды нәтижені де бірден алуға болатын еді, егер і+(к-) Lg2 шамасын К* Lg2-ге жуықтап алмастырса, ал, арифметикалық прогрессияның қосындысын табуға арналған формулада прогрессияның алғашқы мүшесін алмауға болады. Барлық бұл ауыстырулардың қателігі бір ретті және жуықтап қорытынды нәтиженің /N бӛлігін құрайды. Сӛйтіп, 2-циклдың орындалуының қорытынды уақыты барлық программа бойынша есептеудің негізгі бӛлігін құрайды, ол: N 2 Lg2/2 Т 2 0,5 N 2 Т 2 тең. Мұндағы Т 2 -цикл денесінің бір рет орындалу уақыты. Сӛйтіп, біз 2 N дәрежесін есептеу программасының жұмыс уақытын бағалауды жүргіздік. Жұмыс уақытын бағалау барлық уақытта қажет және оны программаны құру кезінде орындау қажет. Енді WHILE-DO типті қайталану алгоритмінің жұмыс уақытын талдау мысалын қарастырайық. Бүтін санды натурал санға дәрежелеу функциясының жұмыс уақытын талдайық. Мұны есептеу функциясының мәтінеі тӛмендегідей: Fuctio Dareje (M,N:iteger):iteger; {М дәреженің негізі, N дәреже кӛрсеткіш} Var M,N,P:iteger; {Р нәтижені есептейтін айнымалы} Begi P:=; M:=M; N:=N; WHILE N<>0 do {сыртқы цикл} Begi WHILE N mod 2 =0 do Begi {ішкі цикл} N:=N div 2; M:=M*M; {N дәрежелі М-дің мәні ӛзгерген жоқ} Ed; {ішкі циклдың соңы}{} N:=N-; P:=P*M {Нәтижеге N дәрежелі М меншіктеледі} Ed; {Сыртқы циклдың соңы} Dareje:=P; END; Есептің ӛлшемі қызметін N дәреже кӛрсеткішінің мәні атқарады. Уақыттың негізгі бӛлігі циклды орындауға кетеді. Дегенмен, ішкі циклды орындауға кететін уақыт сыртқы циклды орындауға кететін уақыттан айтарлықтай кӛп деген тұжырым жасауға болмайды, ӛйткені тақ N үшін ішкі цикл денес іорындалмайды. Сыртқы цикл денесінің бір рет орындалу уақытын Т, сыртқы цикл денесінің орындалу санын К арқылы белгілейік. Ал, Т 2 және К 2 сәйкес ішкі циклдың сипаттамалары.функцияның жалпы жұмыс уақыты Т(N) жуықтап Т(N) = Т К + Т 2 К 2 тең. К мен К 2 -ні бағалау үшін N -дің кему процесін қадағалайық. Dareje функциясы N -дің * Lg 2 2.

жұптығын, 2-ге бӛлінетіндігін тексеру операциясын қамтиды. Бұл алгоритмді талдау үшін N -дің мәнінің екілік санау жүйесіндегі жазылуын қарастыру қажет деген ойға жетелейді. (А санының негізі b болатын позициялық санау жүйесіндегі а m a m- a a 0 цифрларымен жазылуы: m A i 0 a i b i -ге тең. B=2 болғанда 0 және цифрлары арқылы жазылған санның екілі жүйедегі жазылуын аламыз. Мысалы, екілік жүйедегі 00 саны ондық жүйедегі 9 санының жазылуы. К және К 2 -ні табу үшін N мәніндегі бір ең кіші екілік цифрды ӛңдеу барысында ішкі және сыртқы циклдардың қанша рет орындалатынын есептеу қажет. Мұнда үш түрлі жағдай қарастырылуы мүмкін.. N=. Ішкі цикл орындалмайды; ал сыртқы цикл бір рет орындалады; N 0-ге дейін кеміп, циклдан шығады. 2. N>, N нӛлмен аяқталады (яғни жұп). Ішкі цикл бір рет орындалғаннан кейін N 2-ге бӛлінеді. Екілік жүйеде екіге бӛлу ең кіші цифрды шығарып тастағанмен бірдей. Сӛйтіп, ең кіші нӛлді ӛңдеу үшін ішкі циклдың бір рет орындалуы жеткілікті. 3. N, N бірмен аяқталады (тақ). Ішкі цикл орындалмайды, сыртқы циклда N-ден -алып тастайды, яғни N жұп болып қалады. Сӛйтіп, 2- жағдайға келеміз. Ең кіші бірлікті ӛңдеу үшін ішкі және сыртқы циклдың бір реттен орындалуы талап етіледі. Бірінен соң бірі ӛңделіп, N цифрының барлық екілік цифрлары шығарылып тасталынады. Сонымен, бастапқы N= N жағдайды ескере отырып, К = N-нің екілік жазылуындағы берліктер саны, К 2 = (N-нің екілік жазылуындағы цифрлар саны)- екенін аламыз. N-нің екілік жазылуындағы цифрлар саны N-нің екілік логарифмінің бүтін бӛлігін -ге арттырғанмен бірдей, яғни К 2 = [log 2 N]. К 2 үшін мұндай қарапайым формуланы жаза алмаймыз, сондықтан К ді жоғарыдан ғана бағалай аламыз. Бірліктер саны цифрлар санынан кӛп болмайтыны белгілі, К +[log 2 N]. Бұдан Т(N) (+[log 2 N]) Т + [log 2 N] Т 2 =( Т + Т 2 ) [log 2 N] + Т. Теңдік N екілік жүйеде тек -лермен жазылған жағдайда ғана теңдік орындалады, яғни екінің дәрежесі -ге кем. N екілік жүйедегі жазылуында бірліктер қаншалықты аз болса, онда Dareje функциясы соншалықты жылдам жұмыс істейді. Егер N екінің дәрежесі болса, К минимумға жетеді, ал жалпы уақыт Т(N) = Т + log 2 N Т 2. Енді Dareje функциясын tyzusyzykty функциясымен салыстырып кӛрейік.

Fuctio tyzusyzykty (M,N:iteger):iteger; {М дәреженің негізі, N дәреже кӛрсеткіш} Var M,N,P:iteger; {Р нәтижені есептейтін айнымалы} Begi P:=; M:=M; N:=N; WHILE N<>0 do Begi N:=N-; P:=P* M; Ed; Tyzusyzykty:=P; END; Бұл функцияның жұмыс уақытын ТС(N), ал циклдың бір рет орындалуын ТС арқылы белгілейік. ТС(N) N ТС болсын. N мен салыстырғанда log 2 N баяу ӛсетіндіктен, N-нің шамасы ӛте үлкен болған жағдайларда Т(N)< ТС(N) болады, N-нің шамасы артқан сайын жылдамдық та артады. Енді қаншасыншы N-нен бастап Dareje функциясы жылдам жұмыс істейтінін қарастырайық. Әрбір циклда негізгі уақыт кӛбейтуге кететіндіктен ТС Т Т 2 деп есептеуге болады. Бұдан, Т(N) ТС (2 [log 2 N]+) екені шығады. 2 [log 2 N]+<N теңсіздігін шеше отырып, N>5 екенін табамыз. N-нің шекаралық мәнін іздеуде T(N) үшін жоғарыдан бағалауды пайдаландық. N-нің -ден 5-ке дейінгі мәндерін жеке зерттеуге болады. N=,2,3 мәндері үшін Dareje функциясы tyzusyzykty функциясы тәрізді кӛбейтуді орындайды, ал N=4,5 мәндерінде кӛбейту аз орындалады. Бұл N- нің барлық мәндері үшін Dareje функциясын пайдалануға болатынын кӛрсетеді. Талдауды қорытындылайтын болсақ, егер FOR циклында қайталану саны айнымалы болып, программада есептелсе онда, жұмыс уақытын бағалауға формальды әдістерді қолдануға келмейді, программа жұмысын мазмұнды талдауды талап етеді. Ал, While-Do және Repeat-Util қайталанулар одан да үлкен қиындық әкеледі. Бұл қайталанулар үшін қайталанудың жалпы формуласын жазуға келмейді. Бұдан барлық уақытта барлық қиындықтарды жеңіп, жұмыс уақытын есептеудің жуықтатылған формуласын табу мүмкін бола бермейді. Алгоритмді бағалауда кейде құрғақ ақпаратпен шектелуге тура келеді. Мұндай жағдай барлық мүмкін болатын кӛбейткіштерді таңдауға негізделген санды қарапайым кӛбейткіштерге жіктеу алгоритмінде орын алады. Сонымен бірге, сан жай сан болса, таңдауды соңына дейін жүргізуге тура келеді, алдымен санның жай сан екеніне кӛз жеткізу қажет. Бұл алгоритм үшін жұмыс уақытын жоғарыдан бағалау міндеті қойылады, осындай TMAX(N) шамасы N ӛлшемді есеп үшін шынайы жұмыс уақыты TMAX(N)-нан артпайды және кейде осы шаманың ӛзіне тең болады. Жұмыс уақытын есептеуге арналған формуламен алгоритмді салыстырумен қатар, ӛлшенген жұмыс уақытын басқа есептің ӛлшеміне экстрополяциялау үшін пайдалануға болады. Мысалы, 2 0000

Цикл Циклд ың денесі П- ңмәні Циклд ы қайтал Келесі орын далаты н дәрежесін есептеу қажет болсын. Мұның едәуір уақыт алатынын алдын-ала айтуға болады. Ол үшін 2 000 дәрежесін есептеп, есептеу уақытын ӛлшейміз. Мысалы, ол 30 секундқа тең болсын. Онда 2 0000 -ін есептеу 0*0=00 есе кӛп болады, 3000 секундты, яғни 50 минутты құрайды. Бұл 2 0000 дәрежесін есептеу одан да жылдам алгоритм іздеуді талап етеді. Негізгі әдебиеттер:2[207-2],3[362-388,395-406] Бақылау сұрақтары :. Жұмыс уақытын бағалау мезетіндегі маңызды кезең қандай? 2. WHILE-DO типті қайталану алгоритмінің жұмыс уақытықандай? 3. Уақыттың негізгі бӛлігі қайда? Дәріс 7-8 Тақырыбы: Қосындыны, кӛбейтіндіні есептеудің алгоритмдерін сипаттау. Қосылғыштарды есептеу әдістері. Реккуренттік формулалар. Алгоритмдердің дұрыстығын тексеру әдістері. Қайталау саны алдан-ала белгісіз цикл. Итерациялы циклдар І-мысал. Тӛмендегі қосындыны есептейтін алгоритмнің схемасын жазу керек. y 30 2...! 2! 3!! 3 Қосындының кезекті мүшелерін есептейтін формуланы қорытып шығарайық a a! ; a ; * ; a a * ; ( )!! a! Алгоритмнің дұрыстығын тӛмендегі кестені толтыру арқылы дәлелдеуге болады: кесте S= 0+ і=2 2 30 5 2 S= + 2 і=3 3 30 5 3 3 і=4 4 30 5 3 0 s 2! 4!............ s 2 2!... і=3 3 30 9 Алгоритмнің схемасын екі түрлі вариантта жазуға болады: Дейін үлгісімен жазылған схема Параметрлі цикл үлгісімен жазылған схема

Қосылғышты есептеудің екінші бір тәсілін мына мысалдан кӛруге болады. Кейбір есептерде кезекті қосылғаштарды есептеу үшін қарастырылған екі тәсілді аралыстырып пайдалануға тура келеді. 3-мысал. Есептеу керек. s 2 2! 3 4! 4... ( ) 2 * (2)! Бұл қосындыны қысқаша жазайық: 2 ; 0 s 0 ( ) 2 * * (2 )! 2 Ци кл Циклдың денесі Мәні шарт Келесі орындала тын блок c=- 2 /2; s=+ 2 /2 4 0 2 c=- 4 /4!; 2 2 4 s=+ 2 /2-3 4 /4! 3 c= 6 /6; s=+ 2 /2-3 4 /4!+7 6 /6! Схеманың дұрыстығын тексеру 2-кесте 3- есеп. Көбейтіндіні есептеу алгоритмі. Есептің математикалық қойылуы P a ( ) * a ( )... a ( ) a ( ) 2 i i 0 3 3 0 Сигма сияқты П (пи-ң бас әрпі) әрпі де кӛбейтіндіні қысқаша белгілеу 3 4 үшін қолданылады. Мысалы: 2 2 2 2 2 * ; k * 2 * 3 * 4 i i * 2 3 Кӛбейтіндіні есептеу алгоритмі қосынды есептеу алгоритміне ұқсас. Айырмашылығы, кӛбейтінді P=P*U формуласы жинақталады және Р-ның алғашқы мәні -ге тең. Итерациялы циклдар. Кӛп есептердің алгоритмдерінде циклдың қайталану саны аралық нәтижеге байланысты болып келеді және алдын ала 4 k

белгісіз. Бұндай циклдарды сипаттау үшін Дейін немесе Әзір -үлгісін пайдалануға болады. Қарастырылған циклдардан айырмашылығы циклдан шығу әдісінде. Қайталау саны белгісіз циклдардан шығу үшін нәтиженің берілген дәлдікке жету шарты тексеріледі. Кейде мұндай циклдарды итерациялық циклдар деп те атайды. Итерациялық циклдар кӛбінесе жуықтап есептеу әдістерін программалағанда қолданылады. Мысал ретінде шексіз қатарды есептеудің алгоритмін қарастырайық: s Қосу шексіз қатардың кезекті мүшесінің абсолют шамасы алдын ала берілген санынан кіші болғанға дейін жүргізіле береді Қосындыны есептеу алгоритмі бойынша. u u * ;! * ( ; )! 2 2!... ( )!... u ( ) ( )! * ; u! ( ) u u * ; s s u Дәріс 9 тақырыбы: Қабаттасқан циклдар Цикл денесінің құрамына бір немесе бірнеше циклдар енуі мүмкін. Мұндай циклдарды қабаттасқан циклдар деп атайды. Циклдарды қоршап түрған циклды сыртқы деп, басқалары ішкі циклдар деп аталады. Қабаттасқан циклды ұйымдастыру әдісі де қарапайым циклды ұйымдастыру әдісіндей. Тек сыртқы, ішкі циклдардың параметрлері әртүрлі болуы керек және екеуі қатар ӛзгермеуге тиіс.

Қабаттасқан цикл үлгісімен сипатталатын үлгі алгоритмдер. -алгоритм. Екі аргументті функцияның мәндерін есептеудің алгоритмі. ) Есептің математикалық қойылуы: Тӛменде кӛрсетілген функцияның мәндерін есептеукерек: z f (, y ), a b,, h - қадам, y a, d, h y - қадам 2) пайдаланылған айнымалылар: Берілгендері: a, b, c, d, h, h y Нәтиже: z мәндерінің жиыны сыртқы циклдың қайталау саны, 2 ішкі циклдың қайталау саны. 2) Алгоритм құрастыру және сипаттау 4-9 блоктар сыртқы циклды, ал 6-9 ішкі циклды құрайды. х-ң әр мәнінде у ӛзінің барлық мәндерін қабылдап шығады. Ішкі циклдың алдында х-ң мәні (5-6) есептеледі. Сӛйтіп, х бойынша құрылған циклдың ішіне, у бойынша ұйымдастырылған цикл орналасады. 2-алгоритм. Қосынды түрінде берілген функцияның мәнін есептеудің алгоритмі. ) Есептің математикалық қойылуы y i a i ( ) функциясын есептеу керек. Мұндағы 2) Қолданылатын айнымалылар: Берілгендері: a, b, h, Нәтиже: у мәндерінің жиыны. Сұрақтар мен тапсырмалар a, b, h-аргументтің ӛзгеру қадамы.. Күрделі алгоритмдер қалай сипатталады? Алгоритм құрылымдарының қандай комбинациялары болады? 2. Тармақталған цикл құрылымының схемалық үлгісі қандай? Негізгі әдебиеттер: [36-49],2[59-94],3[75-8] Қосымша әдебиеттер: 7[20-63] Бақылау сұрақтары: 4. Алгоритм деген не? Алгоритмнің қандай қасиеттері бар, оларды қалай түсінесіз? 5. Алгоритмді сипаттаудың қандай әдістерін білесіз? 6. Алғашқы, қорытынды мәліметтер деп нені айтамыз? Дәріс 0- тақырыбы: Мәліметтердің күрделі құрылымдары. Массивтер. Ӛлшем. Индекстер. Массив элементтерін ӛндеудің қарапайым алгоритмдерін сипаттау үлгілері Бірдей аталған (индентификаторлары бірдей) біртекті шамалардың тобы массив деп аталады. Топқа кіретін әр шаманы массив элементі деп атайды.

Әр элементтің массивтің басына қатыс ты алынған реттік нӛмірі оның индексі деп аталады. Массив элементінің индексімен қоса кӛрсе тілген атын нидексті айнымалы дейді. Мысалы, в 9 -Вмассивінің 9-шы элементінің индентификаторы (белгіленуі):с 3 -С массивінің 3-ші элементінің аты. Индексті айнымалының бір немесе бірнеше индекстері болуы мүмкін. Осыған сәйкес бір ӛлшемді, екі ӛлшемді т.с.с. массивтер болып ажыратылады.массивтің элементтерінің санын кӛрсету үшін мӛлшер деген термин қолданылады. Мысалы В=(В,В 2,...,В 9 ) масивінің мӛлшері 9-ға тең. Математикадағы тізбектер, векторлар, таблицалар, анықтауыштар, матрицалар массивтердің аналогтары болып табылады. Біртекті шамалар дегенді массив элементтерінің бір типке (не бәрі де бүтін, не бәрі де нақты т.с.с.) жататындығын түсіну керек. Массив элементтерімен түрлі операциялардың орындалуын массив элементтерін ӛңдеу дейміз. Массив элементтерін ӛңдейтін түрлі алгоритмдерді сипаттауға да жай циклдар, тармақталған циклдар және қабаттасқан цикл құрылымдары қолданылады. Массив элементтерін ӛңдеу алгоритмдеріндегі кездесетін циклдарды параметрлі цикл үлгісінде сипаттаған қолайлы. -Алгоритм. Массив элементтерін қосудың алгортмі. ) А=(а,а 2,...,а ) массиві берілсін. Массив элементтерінің қосындысын есептеу керек. Қосындыны S деп белгілейік: S=a +a 2 +...+a = i a i ; S=? 2) Пайдаланылатын айнымалылар тізімі: Берілгендері:, a, a 2,...,a Нәтиже: S; І:цикл параметрі ; 3) Алгоритм құрастыру және сипаттау. Жалпы қосынды есептеудің алгоритмін массивтерге де қолдануға болады. Айырмашылығы қосылғыштар есептелмейді, олардың мәндері дайын, алдын-ала берілген. Цикл денесінде қосындыны жинақтау үшін S=S+a і формуласы жазылады. массивтерге де қолдануға болады. Айырмашылығы қосылғыштар есептелмейді, олардың мәндері дайын, алдын-ала берілген. А, S=0 S=S+a I S

.. - сурет Цикл денесінде қосындыны жинақтау үшін S=S+a і формуласы жазылады 2- Алгоритм. Мөлшері бірдей бір өлшемді екі массив элементтерін қосудың алгоритмі. (.2-сурет) ) Есептің математикалық қойылуы: Екі массив берілген: А=(а,а 2,...,а ) және В=(в,в 2,...,в ). Екі массивтің сәйкес элементтерін қосып С=( с,с 2,...,с ) массивін құрастыру керек. Мұндағы с i =а i +в i, i=,2,,,,, ; А,В-берілген массивтер 2) Пайдаланылатын айнымалылар: -массив мӛлшері Нәтиже: С мӛлшерлі массив. Қосымша айнымалы: i-цикл параметрі. 3) Алгоритм құрастыру және сипаттау. Есепті шығару үшін цикл ұйымдастырылады. Цикл денесіне орналасқан с=а і + в і і=,2,..., формуласы арқылы С массивінің элементтері есептелінеді. Басы A, I=,, C i=a i+в і C.2. - сурет 3 - алгоритм. Берілген екі массивтің элементтерін кезектестіріп орналастыру арқылы жаңа массив құрудың алгоритмі (.3-сурет). Есептің математикалық қойылуы:

Әр қайсысы элементтен тұратын берілген А және В массивтерін біріктіріп, 2 элементтен тұратын С массивін құрастыру (элементтерін анықтау) керек, яғни С=( с,с 2,...,с ) массивін алу керек. 2) Пайдаланылатын айнымалылар тізімі: Берілгендері: - берілген массив мӛлшері; А,В- мӛлшерлі массивтер Нәтиже: 2 - мӛлшерлі С массиві, i-параметр. Алгоритм құрастыру және сипаттау. Бұл есепті шығару үшін де цикл ұйымдастыру керек. Цикл денесінде 2 формула орналасқан. С 2l- =a i C 2i =в i С-ның тақ номерлі элементтері А-массивінің, ал жұп номерлі элементтері В массивінің элемент- терімен бірдей. 4-Алгоритм. Массив элементтерін кері бағытта орналастырудың алгоритмі. )Есептің математикалық қойылуы: A=(a,,a ) массиві берілген. Қосымша бір айнымалыны пайдаланып А массивінің элементтерін кері бағытта орналас- тыру керек, яғни a мен a -ді, a 2 мен a 3 - ті т.с.с.(.4- сурет). 2)Пайдаланылатын айнымалылар.берілгені: -массивтің мӛлшері. А - мӛлшерлі массив. Нәтиже: элементтері кері бағытта орналасқан А массиві. Р-қосымша айнымалы і-индекс 3)Алгоритм құрастыру және сипаттау.ең алдымен a мен a -ң орында рын ауыстыру керек. Ол үшін мына- дай үш амалдар тізбегін орындауға болады: р=а ; а =а ; a =р; Дәл осыны a 2 мен a үшін де орындауға болады: р=а 2 ; а 2 =а - ; a - =р; Қалған элементтер үшін де осыларды қайталау керек. Массивтің ортасына келгенде элементтердің орын ауыстыру лары тоқтатылады.егер массив элементтерінің саны жұп болса, барлық элементтің орны ауысады, ал тақ болса дәл ортада тұрған элемент орнында қалады. Сонымен массивтің сол жақ бӛлігінің индексі к,2,3... мәндерін қабылдайды да, оң жақ бӛлігінің элементтерінің индексі,-, -2,... мәндерін қабылдайды, к- ның мәндерін і арқылы былайша ӛрнектеуге болады: k=+-і Ал цикл р денесінде қайталанатын операцияларды былай жазуға болады: p=a і ; a і =a k ; a k =p Бұл операциялардың қайталау саны M=[/2]. і-дің мәні М-нан аспайды. Әйтпесе орны ауысқан элементтер қайтадан орындарына келеді. Екі элементтің орындарын ауыстыру үшін қосымша айнымалысы қолданылады

.4. - сурет 5-Алгоритм. Массив элементтерінің бірін өшірудің алгоритмі(.5-сурет). ) Есептің математикалық қойылуы: Берілген A=( a,,a ) массивінің к-шы элементін ӛшіру керек. 2) Пайдаланылатын айнымалылар: Берілгендері: A- мӛлшерлі массив; - массив мӛлшері; к-ӛшірілетін элементтің индексі; і-массив элементтерінің индекстерінің белгіленуі; Нәтиже: - мӛлшері А массиві; 3) Алгоритм құрастыру және сипаттау. к-шы элементті ӛшіру үшін массив элементтерін (к+)-ші элементтен бастап солға қарай бір орынға жылжыту керек..5 - сурет

6-Алгоритм. Массивтің берілген позициясына жаңадан элемент қосудың алгоритмі(.6-сурет). ) Есептің математикалық қойылуы Берілген A=(a,,a ) массивінің к-шы позициясына b элементін қосу керек. 2) Пайдаланылатын айнымалылар: Берілгендері: -массив мӛлшері; А- мӛлшерлі массив; b- қосылатын сан. Нәтиже: Жаңадан бір элемент қосылған А массиві. 3) Алгоритм құрастыру және оны сипаттау. Массивтің к-шы позициясына жаңадан элемент қосу үшін к-шы элементтен бастап қалғанда- рын оң жаққа бір позицияға жылжытып, жаңадан қосылатын элементке орын дайындау қажет. Ол үшін і-дың,-,...,k (3- блок) мәндері үшін а і+ =a і (4-блок) операциясын орындау керек әйтпесе. массивтің соңы к-шы элементпен толтырылады Элементтерді жылжытып болғаннан. Жылжытуды массивтің соңғы элементтерінен бастау керек кейін босаған орынға b жазылады (5-блок) Массив мӛлшері -ге артады.6. сурет Негізгі әдебиеттер:2[207-2],3[362-388,395-406] Бақылау сұрақтары :. Массив элементтері ЭЕМ еске сақтау құрылғысында қалай орналасады? Массив элементтерін пайдалануды қалай жүзеге асыруға болады? 2. Массивтің екі элементтерінің орындарын қалай ауыстыруға болады? 3. Функция мәндерін есептеу алгоритмдерінің айырмашылығы неде? 4. Екі массив және бір массив элементтерінің қосындыларын есептеудің алгоритмдері қандай? 5. Бірдей мӛлшерлі екі массив элементтерін кезектестіріп бір массивке біріктірудің алгоритмі қандай? Берілген массив пен құрастырылған массивтердің индекстерінің арасында қандай байланыс бар?

6. Массив элементін ӛшірудің, жаңадан элемент қосудың алгоритмдері қандай? Массив элементтерін жылжыту неге соңынан басталу керек? 7. Массив элементтерін кері бағытта орналастырудың алгоритмін сипаттаңыз. 8. Алгоритмдегі циклдың дұрыстығын қалай тексеруге болады? Дәріс 2-3 тақырыбы: Оқып үйренетін алгоритмдік тілдің негізгі сипаттамалары.тілдің алфавиті. Тілдің объектілерінің жазылуының ережелері. Мәліметтер типтері. Тұрақтылар. Айнымалылар. Тіл алфавиті Паскаль программалау тілінің алфавиті - осы тілде жазылатын программалық мәтіндерді құру үшін пайдаланылатын символдардың жиыны. Кез келген программалық тіл символдардан, сӛздерден, сӛз тізбектерінен және сӛйлемдерден тұрады. Сӛздер символдардан құралады. Тіл алфавиті:. Латын әріптерінен: 26 әріп. 2. Сандарды белгілейтін араб цифрларынан: 0,,...,9. Сан Бүтін нақты Сондай-ақ, ӛте үлкен немесе ӛте кіші сандар экспоненциал сандар арқылы жазылады. 3. Ұлттық алфавит әріптерінен: түсініктемелер (комментарий) жазу үшін немесе символдық айнымалыларда қолданылады. 4. Арнайы символдардан: +, -, ;, :, &, (, ), {, }, =>, <=, <>, ],[,:=, (* *), (..),@ және т.с.с. 5. Түйінді сӛздерден: Absolute Абсолютті Ad және Array Массив Begi Басы Case Вариант Cost Тұрақты Div бүтінге бӛлу Do Орындау Dowto -ге дейін азайту Else әйтпесе Ed Соңы Eteral Сыртқы File Файл For Үшін Fuctio Функция Goto кӛшу Mod бүтін санды бӛлгеннен кейінгі Not Емес қалдық Or Немесе Packed Қатталған Procedure Процедура Record Жазба

Set Жиын Shl солға жылжыту Shr оңға жылжыту Strig Қатар To Онда If Егер Imp lametatio жүзеге асыру Label Тамға Type Типі Var Айнымалы Uses қолданылатын While әзір With Xor Absolute Абсолютті Ad және Array Массив Begi Басы Case Вариант Cost Тұрақты Div бүтінге бӛлу Do Орындау Dowto -ге дейін азайту Else әйтпесе Ed Соңы Eteral Сыртқы File Файл For Үшін Fuctio Функция Goto кӛшу Mod бүтін санды бӛлгеннен кейінгі Not Емес қалдық Or Немесе Packed Қатталған Procedure Процедура Record Жазба Set Жиын Shl солға жылжыту Shr оңға жылжыту Strig Қатар To Онда If Егер Imp lametatio жүзеге асыру Label Тамға Type Типі Var Айнымалы Uses қолданылатын While әзір Бұл түйіндік сӛздерді индентификаторлар ретінде қолдануға болмайды. Паскаль программасының мәтінінде түсініктемелер қолдануға болады. Түсініктеме дегеніміз - (* және *) қос таңбасының арасында орналасқан таңбалардың кез келген тізбегі (кириллица, орыс, латын, қазақ әріптері). Айнымалыларды, тұрақтыларды, стандартты функцияларды баяндау Айнымалылар деп программаның орындалуы барысында әртүрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп әртүрлі уақытта белгілі бір мәнге ие бола алады. Айнымалы екі түрге бөлінеді: қарапайым; индексті. Тұрақтылар деп программаның орындалуы барысында мәндері ӛзгеріссіз қалатын шамаларды айтады. Мысалы, π =3,4. Паскаль тілінде программалар тақырыптан, блоктан және. (нүкте) белгісінен тұрады. Программаның тақырыбы программа атынан және параметрлер тізімінен тұрады: Program программа аты (идф, идф2,...,идфn) мұндағы идф, идф2,...,идфn программаның сыртқы ортамен байланысын жүзеге асыруға

кӛмектесетін файлдардың идентификаторлары; идф және идф2 ретінде кӛбінесе стандартты енгізу (INPUT) және шығару (OUTPUT) файлдары кӛрсетіледі. әдетте параметрлер кӛрсетілмейді. Паскальда блок екі бӛлімнен тұрады: сипаттау және орындалу. Әрбір блок процедураның немесе функцияның хабарлануының бӛлігі не болмаса программаның немесе модульдің бӛлігі болады. Хабарлау бӛлімінде хабарланған барлық идентификаторлар мен белгілер блок үшін жергілікті болып табылады. Орындалу бӛлімі программа операторларын қамтитын құрамды оператордан тұрады. Сипаттау бӛліміне модульдерді іске қосу, белгілерді, тұрақтыларды, типтерді, айнымалыларды, процедуралар мен функцияларды сипаттау сияқты бӛлімшелер енеді. Паскаль тіліндегі программаның жалпы құрылымын келесі түрде кӛрсетуге болады: Program программаның аты Uses модульдер Label белгілер; Cost тұрақтыларды хабарлау; Type деректер типін сипаттау; Var айнымалыларды хабарлау; Процедураларды (Procedure) және функцияларды (Fuctio) сипаттау. Begi Программаның денесі Ed. Программада барлық - USES, LABEL, CONST, TYPE, VAR, PROCEDURE және FUNCTION алты хабарлау бӛлімдерінің болуы міндетті емес. Модульдерді іске қосу бӛлімі - Паскаль тілінде модульдер модульді программалаудың негізі болып табылады. Олар әр түрлі программаларға ендіріле алатын библиотекаларды құру үшін пайдаланылады. Ал үлкен программалар логикалық байланысқан модульдерге бӛлініп жазыла алады. USES сӛйлемінде 98 0 0 программада пайдаланылып отырған барлық модульдер идентификацияланады. Оларға тікелей пайдаланылып отырған модульдер және осы модульдер пайдаланылып отырған модульдер кіреді. SYSTEM модулі әрқашан автоматты түрде пайдаланылады. SYSTEM барлық тӛменгі деңгейді, файлдық енгізу/шығару, жолдарды ӛңдеу, жылжымалы үтірлі

операция, жадының динамикалық үлестірілуі және т.б. жүзеге асырады. Паскаль тілі SYSTEM модулінен басқа PRINTER, DOS және CRT сияқты кӛптеген модульдерді жүзеге асырады. Олар автоматты түрде пайдаланылмайды. Қажет болған жағдайда олар USES сӛйлеміне міндетті түрде қосылуы керек. Мысалы: USES, DOS, CRT ; {енді DOS және CRT құралдарымен жұмыс істеуге болады } Белгілерді сипаттау бӛлімі - Программада кез келген оператор белгімен белгіленуі мүмкін. Белгі ретінде 0-ден 9999-ға дейінгі кез келген санды немесе идентификаторды қолдануға болады. Бастапқы нӛлдер есептелмейді (мысалы 0909 белгісі 909 белгісіне пара-пар). Белгі оператордың алдына қойылып, одан қос нүктемен ажыратылады..белгі кӛшу (GOTO) операторымен бірге пайдалыналады. Программада пайдаланылған барлық белгілер LABEL бӛлімінде үтір арқылы бӛлініп жазылуы қажет. Мысалы 0, 20 және met белгілері келесі түрде сипатталады және пайдаланылады: LABEL 0, 20 met ;... 0: <оператор>... 20 : <оператор>... met : <оператор>... Тұрақтыларды сипаттау бӛлімі - Бұл бӛлімде тұрақтылардың синонимі ретінде әлде бір идентификаторлар енгізіледі. Мысалы: Cost идк = тұрақты ; идк2= тұрақты2;... идкn=тұрақтыn; мұндағы ИДКJ J-ші тұрақтының идентификаторын сипаттайды; ТҰРАҚТЫ J тұрақты мән немесе тұрақты ӛрнек. Бұл жердегі тұрақты ӛрнек дегеніміз компилятор объекті кодты құру (компиляция) кезеңінде есептей алатын ӛрнек. Әрбір тұрақтыны анықтау үшін қандай да бір тұрақты мәнді белгілейтін идентификатор енгізіледі. Тұрақтыларды анықтау бӛлімін пайдалану арқылы программаларда тұрақтыларды айқын түрде пайдаланбауға болады. Cost бӛлімінде берілген тұрақтылардың мәнін программада ӛзгертуге болмайды. Тұрақтыларды хабарлауда хабарлауы бар блоктың ішіндегі тұрақтыларды белгілейтін идентификаторлар болады. Тұрақтының идентификаторы жеке ӛзінің хабарлауына енуі мүмкін емес. Тұрақтыларды хабарлаудың бірнеше мысалдарын кӛрсетейік:

Cost Mi =0 ; Ma=00 ; Rad = (Ma-Mi) div 2 ; ErKod = '0 ' ; ErrStr ='Error' + ErKod ; Тұрақтылар арифметикалық, символдық, жолдық және логикалық болып бӛлінеді. Арифметикалық тұрақтылар бүтін және нақты болып бӛлінеді Бүтін тұрақтылар ZAAA A түрінде жазылады, мұндағы Z тұрақтының таңбасы: оң (+), теріс (-) немесе болмауы мүмкін (ӛздігінен+), A- 0-ден 9-ға дейінгі сандар. Бүтін тұрақтылардың сандық мәндері [-32768,32767] диапазонында болуы керек. Мәндері [0, 255] диапазонында жататын бүтін тұрақтыны байттық тұрақты деп атайды. Бүтін тұрақтыны оналтылық түрде кӛрсетуге болады. Z$BB B мұндағы Z тұрақтының таңбасы: оң (+), теріс (-) немесе болмауы мүмкін (ӛздігінен+),$ - санның оналтылық түрде кӛрсетілгеннінің белгісі, B - 0-ден 9-ға дейінгі және А-дан F-ке дейінгі оналтылық сандар. Бүтін тұрақтылардың мысалдары:, +5, -25, $А4. Нақты тұрақтылар мысалдары: -45.5 7Е-2 «7 кӛбейтілген 0-ның 2 дәрежесі» = 0.07 2.25Е «2.25 кӛбейтілген 0-ның 6 дәрежесі» = 2250000 Жолдық тұрақты - программаның бір жолына жазылған және тырнақшаға (апостроф) алынған символдар тізбегі болып табылады. Жолдық тұрақтылардың мысалдары: Tet, A, # 6, #$ A2,^ G. Логикалық тұрақтылар «Ақиқат» және «Жалған» деген түсініктерге сәйкес TRUE және FALSE идентификаторларымен ӛрнектеледі. Типтерді сипаттау бөлімі Программаларда, модульдерде, процедураларда және функцияларда типтерді хабарлауға арналған бӛлім бар. Айнымалыны хабарланғанда оның типін кӛрсету қажет. Айнымалының типі оның қандай әрекеттер пайдалануға болатынын анықтайды. Тип идентификатормен анықталады. Идентификаторды типті хабарлаудың сол жағында кӛрсетеді және ол осы типті хабарлау кездесетін блок (прграммалар, процедуралар және функциялар) үшін сол типтің идентификаторы болып анықталады. Типтердің үлкен үш класы бар: жай типтер, құрылымды типтер (массивтер, жазбалар, жиындар, файлдар); кӛрсеткіш (указатель) тип. Типті хабарлау TYPE кілттік сӛзінен, сипатталып отырған типтің идентификаторынан, = (тең)

белгісінен, типтің анықтамасынан және ; (нүктелі үтір) белгісінен тұрады. Мысалы: Type Number = Iteger; Color = (Red, Gree, Blue); CharVal = Ord ( A ) Ord ( Z ); TestIde = 00; TestValue = -99 99; TestList = Array [TestIde] Of TestValue; TestListPtr = ^ Testlist; Date = Record Year: Iteger; Moth :...2; Day :... 3; Ed; Айнымалыларды хабарлау бӛлімі. Жаңа айнымалылар мен олардың типтерін білдіретін идентификаторлар кестесі айнымалыларды хабарлау болып табылады. Айнымалыларды хабарлаудың жалпы түрі тӛмендегідей : Var идп, идп2, идп3: тип; идп4, идп5: тип2; Мұндағы ИДП J ТИП немесе ТИП2 жататын J-шы айнымалының идентификаторы. Айнымалыға берілетін тип типтерді хабарлау бӛліміндегі бұрын анықталған типтің идентификаторы бола алады. Сондай-ақ бұл жаңадан анықталған тип те бола алады. Айнымалыларды хабарлау бӛлімінде идентификаторды кӛрсеткенде, бұл айнымалы осы хабарлау кездескен блокта анықталған деп саналады және оның идентификаторы алдыңғы блокқа кіретін блокта қайта анықталмаған болса, онда оны блоктың кез келген жерінде шақыруға болады. Қайта анықтау жаңа айнымалыға алдында қолданылған идентификаторды қолдануы білдіреді, бірақ бұл қолдану алғашқы пайдаланылған айнымалының мәніне әсер етпейді. Айнымалыларды хабарлаудың мысалын келтірейік: Var X,Y,Z : Real; I,J,K : Iteger; Digit : 0 9; Doe, Error : Bоolea; Operator : (Plus, Mius, Times); Matri : Array [ 0, 0]of Real; Блоктыңсыртында хабарланған айнымалылар жалпы деп аталады. Блоктың ішінде хабарланған айнымалылар жергілікті деп аталады. Стандартты функцияларды программада жазу үшін алдымен функцияның атын, сонан соң жақшаның ішінде оның аргументтерін кӛрсету қажет.

Программада аргументтердің мәнін берген кезде міндетті түрде функцияның анықталу аймағын ескеру керек. Дәріс 4-5 тақырыбы Тьюринг машинасы. Пост машинасы Тюринг машинасының анықталуы әр кітапта әр турлі анықталған.тюринг машинасының құрылысы ақырлы автоматқа ұқсас. Автомат келесі схемада жұмыс істейді. Бірінші кіріс лентадағы символдар кезекпен саналады. Содан кейін цикл қайталанады. Тұтас лента ӛңделгеннен кейін жұмыс аяқталады. Тюринг машинасының саны әр уақытта әр түрлі күйде болады. Машинаның жұмысы бастапқы күйден басталып, жіберілу күйінде ( сурет бейнесінде Y болып белгіленеді ), немесе (N) қайтарылу күйінде аяқталады. (, ) ( N,, R ) ) (3, ) (4, ) (3, A ) (3, ) (,, R ) (3,, R ) (, C, R ) ( Y, C, R ) Сурет. Тюринг машинасы. ( Схема түрінде кӛрсетілуі.) Тюринг машинасының ақырлы автоматтан айырмашылығы, оның лентаның кез келген жеріне орналастыратын,санайтын және жазба жазатын ерекшелігі бар. Ақырлы автомат кіріс лентаның символдпрын бір-біріне ретімен анализдей алатын мүмкіндігі бар. Осыдан басқа Тюринг машинасы кіріс лентадағы ақпаратты санап қана қоймай, жазбаны машинада жүзеге асырады. Лента уақытының әрбір моменті символдың соңғы сандарын құрайды, бірақ Тьюринг машинасының басы кез келген қажетті сандағы ұяшықтарды араластырып тастауға мумкіндігі бар. Бірінші ұяшықтағы ленталар арнайы символ құрайды, лента жегіне қызмет жасайды. Ары қарай символдар орналасады, кіріс белгілерін құрайды. Ал бос ұяшықтар пробельдік символдармен толтырылады. Бұл екеуі (күй мен символ) ағымдағы жағдайды анықтайды: құрылғы орналасқан жердегі жағдай мен дәл қазіргі уақытта қарастырылып отырған кіріс жолының символ жағдайы (бұл жағдайда санағыштар басы болып табылатын Тьюринг машинасы- символ). Ӛту нәтижесінде машина күй күйінде болады, ал лентаға символ символы жазылады. Одан басқа, команда компоненті кӛмегімен басы жылжиды. Әртүрл үш і команда бар: L: басты бір ұяшық солға жылжыту; R: басты бір ұяшық оңға жылжыту; H: бастың ағымдағы жағдайын ӛзгеріссіз қалдыру. Тьюринг машинасы әрбір жолда жүру мүмкіндігі мол және жұмыстың аяқталу себебі жіберуші немесе керісінше, жібермеуші күйге ауысу мүмкіндігі бар. Жұмыс аяқталмай жатып, Тьюринг машинасын қайта құруға