Алгоритмды оқыту



І.КІРІСПЕ
I.I. Алгоритм түсінігі және оның қасиеттері және түрлері
I.II. Алгоримді дәстүрлі оқыту
II. НЕГІЗГІ БӨЛІМ
II.I. Алгоритмді оқыту әдістерімен үйрету бағдарламасын құру
II.II. Алгоритмдеу бағдарламасын пайдалану әдістері
III. ҚОРЫТЫНДЫ
IV. ПАЙДАНЫЛҒАН ӘДЕБИЕТТЕР
Жұмыстың мақсаты: «Информатика мен есептеуіш техника негіздері» курсының бірінші бөліміндегі ең маңызды ұғым – тиімді алгоритм ұғымы, ал негізгі талап- есеп шешімін алгорм түрінде өрнектеп, алгоритмдік тілде жаза білуі.Осыған байланысты алгортмнің мәнін нақты, терең түсінуі, оның қасиеттерін, алгоритмдік тілдің негізгі құрылымының жазылу ережесін білуі, шамалардың типтерін жеке ажыратуы, сондай-ақ мәндер таблицасын пайдаланып, алгоритмнің атқарылуын бақылай білуі тиіс.
Жұмыстың көкейтестілігі:Тиімді алгоритмдерді құру және оның құрылымына талдау жасау кезінде алгоритм схемаларын қатты көңіл бөлінді, ал алгоритмнің атқарылу процесінде мәндер таблицасын пайдалануға баса назар аударылады.Сөзі мағынасы жағынан нұсқау, жарлық, рецепт, ереже, тәртіп, заң, жоба сөздеріне синоним болып келеді.
Жұмыстың құрылымы: Тиімді алгоритмді белгілі бір дәрежеде жасампаздық, ойлап – тапқыштық процесс болып табылады. Сонымен бірге өнертапқыштық стандартты емес және дәстүрлі емес ыңғаймен есептерді шешуді талап етеді.Көптеген жағдайларда қанағаттанатын нәтижені тез ала алмаймыз, сондықтан, тиімді алгоритмді құруда жасау және қатені түзету әдісіне келтіріледі және нәтиженің соңғы вариантын алу үшін талдау және нақтылау бағытында бірнеше қадамдар жасау талап етіледі.
Мақсаты тиімді алгоритмдерді айтылған ережелерге келтіріп, ретімен, орналасу тәртібімен, берілген есептін мәніне қарай шарт қойып, есептін дұрыс жолын, шешімін, нәтижесін табу.
1.Шәріпбаев А. Информатика Астана – 2003.
2.Каймин В.А. Информатика: Учебник. М., 2001.
3.Конюхоеский П.В., Колесова Д.Н. идр. Экономическая информатика: Учебник. М.;СПб.,2001.
4.Острейковский В.А. Информатика. М., 2000.
5.АлексеевА.П. Информатика-2002. М., 2002.
6.Балапанов Е.Қ., Бөрібаев Б., Дәулетқулов А. Информатикадан 30 сабақ.
Алматы, 2002.
7.ЕржаковК, ҚараевЖ., СтифутжаН. Информатика, 7-сынып. Алматы, 2001.
8.Камардинов О. Информатика. Бірінші бөлім. Шымкент, 2000.
9.Макарова Н.В. Информатика: Учебник. М., 2001.

Қазақстан Республикасы Білім және ғылым министрлігі
М.Өтемісов атындағы Батыс Қазақстан мемлекеттік университеті

Курстық жұмыс
Тақырыбы: Алгоритмды оқыту

Орындаған:
Тексерген:

Орал, 2017 жыл
МАЗМҰНЫ

І.КІРІСПЕ
I.I. Алгоритм түсінігі және оның қасиеттері және түрлері
I.II. Алгоримді дәстүрлі оқыту
II. НЕГІЗГІ БӨЛІМ
II.I. Алгоритмді оқыту әдістерімен үйрету бағдарламасын құру
II.II. Алгоритмдеу бағдарламасын пайдалану әдістері
III. ҚОРЫТЫНДЫ
IV. ПАЙДАНЫЛҒАН ӘДЕБИЕТТЕР

Жұмыстың мақсаты: Информатика мен есептеуіш техника негіздері курсының бірінші бөліміндегі ең маңызды ұғым - тиімді алгоритм ұғымы, ал негізгі талап- есеп шешімін алгорм түрінде өрнектеп, алгоритмдік тілде жаза білуі.Осыған байланысты алгортмнің мәнін нақты, терең түсінуі, оның қасиеттерін, алгоритмдік тілдің негізгі құрылымының жазылу ережесін білуі, шамалардың типтерін жеке ажыратуы, сондай-ақ мәндер таблицасын пайдаланып, алгоритмнің атқарылуын бақылай білуі тиіс.
Жұмыстың көкейтестілігі:Тиімді алгоритмдерді құру және оның құрылымына талдау жасау кезінде алгоритм схемаларын қатты көңіл бөлінді, ал алгоритмнің атқарылу процесінде мәндер таблицасын пайдалануға баса назар аударылады.Сөзі мағынасы жағынан нұсқау, жарлық, рецепт, ереже, тәртіп, заң, жоба сөздеріне синоним болып келеді.
Жұмыстың құрылымы: Тиімді алгоритмді белгілі бір дәрежеде жасампаздық, ойлап - тапқыштық процесс болып табылады. Сонымен бірге өнертапқыштық стандартты емес және дәстүрлі емес ыңғаймен есептерді шешуді талап етеді.Көптеген жағдайларда қанағаттанатын нәтижені тез ала алмаймыз, сондықтан, тиімді алгоритмді құруда жасау және қатені түзету әдісіне келтіріледі және нәтиженің соңғы вариантын алу үшін талдау және нақтылау бағытында бірнеше қадамдар жасау талап етіледі.
Мақсаты тиімді алгоритмдерді айтылған ережелерге келтіріп, ретімен, орналасу тәртібімен, берілген есептін мәніне қарай шарт қойып, есептін дұрыс жолын, шешімін, нәтижесін табу.

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

I.II. Алгоримді дәстүрлі оқыту
Мектептік информатика курсы негізінен екі бөлімнен тұрады: ақпараттық технологиялар және алгоритмдеу негіздері.Бүгінгі күн талабына сәйкес кез келген сала мамандары ақпараттық технологияларды толыққанды пайдаланушылар бола білуі тиіс. Ал ақпараттық технологияларды жаңа деңгейге көтеруге және оларды дамытуда алгоритмдеудің рөлі ерекше. Сондықтан алгоритмдеу негіздерін орта мектепте дұрыстап және жаңартуға, жаңа заман, қоғам талабына сай мамандар дайындауға мүмкіндік береді деген сөз.
Кез келген салада, ғылымда және техникада ақпараттық технологияларды мақсатты және тиімді пайдалану деңгейі, инновациялық жүйелердің дұрыс қалыптасуы, өмірде кездесетін практикалық есептерді ғылыми тұрғыда сауатты қоюға және оны шешудің технологиясын (тәсілдерін) меңгеруге тікелей байланысты болады.
Міне, осы тұрғыда біз ұсынып отырған ой-пікірлер, ұсыныстар және технологиялар келешек қоғам мамандарын дайындауға көмегі тиеді.
Кез келген келешек маман біз көрсетіп отырған осы техкологияны меңгеруі және пайдалана білуі керек, өйткені ол ақпараттандырылған қоғамда өмір сүріп және қызмет ететін, тіпті ең болмағанда осы қоғамды құруға белсене қатысуы тиіс болады.
Сонымен, енді тікелей есепті (жұмысты, тапсырманы) қою және оны компьютер көмегімен шығара (өңдей, орындай) білуге тоқталайық. Біздің қарастыратын жағдайымыз бәріміз үйренуге және білуге тиісті стандартты жағдай.
Компьютер көмегімен кез келген есепті шешу мына төмендегі бір-бірінен тәуелсіз бірақ та бір-бірімен логакалы байланысқан кезеңдерден тұрады:
1. Есептің қойылуы:
а) Есептің мазмұнын түсіну;
б) Есепке талдау жүргізу, оның мақсаты:
2.Бастапқы берілгендерді анықтау;
-аралық шамаларды анықтау;
-есептің шешімінің нелер болатындығын анықтау;
3. Қандай шарттардың орындалуында есептің нақты шешімдері болатындығын анықтау.
Осы тұжырымдаулардан бұл кезеңнің компьютер көмегімен есеп шешудегі ең басты және жауапты кезең екендігін байқауымызға болады. Өйткені есептің тиімді жолмен шешілуі есептің дұрыс және ғылыми-теориялық тұрғыда сауатты қойылуына байланысты болып келеді.
4. Есеп моделін (математикалық моделін) құру. Мектеп курсында негізінен есептің математикалық моделін құру қарастырылады. Есептің моделі (жалпы модельдеу теориясының өзі де үлкен мәселе екендігін оқырмандар түсінеді деп ойлаймыз) мына мәселелерді оң шешуге мүмкіңдік береді:
а) Берілгендерді толығынан анықтауға;
б) Берілгендердің структураларын анықтауға;
в) Есепті шешудің сандық әдісін таңдауға.
5. Есепті шешудің тиімді тәсілін талдау.
Бір сол бір есепті шешудің бірнеше әдістері болуы мүмкін. Есептің қойылуы ерекшелігіне сәйкес белгілі сандық әдістердің (тәсілдердің) ішінен ең тиімдісін таңдай білуіміз керек болады. Соңғы екі кезең компьютердің өз жұмысын тиімді түрде ұйымдастыруға және жүргізуге мүмкіңдік береді.
6.Есепті шешудің алгоритмін құру (жазу). Есепті шешудің алгоритмін дұрыс жазу үшін оқушылар мына түсініктер және ұғымдарды білуі керек болады:
а) алгоритм ұғымын;
б) алгоритмнің негізгі қасиеттерін;
в) алгоритмнің базалық структураларының алгоритмді жазу әдістерін.
Жазылған алгоритм негізінде есепті шешудің программасы құрылады.Алгоритмді орындаушы компьютер болғандықтан, құрылған алгоритмді компьютер түсінетін тілде жазу керек болады. Компьютерге арналған тілдерді программалау тідцері деп атайды. Есепті шешудің программасын дұрыстап құра алу үшін программалау тілдерін білу керек.
Осы бес кезеңді есепті компьютер көмегімен шешудің дайындық кезеңдері деп атайды. Бұл кезендер оқушының шығармашылық тұрғыда жұмыс істеуін қажет ететін кезеңдер болып саналады.Құрылған программаны компьютерге енгізу, тексеру және қателерін жөндеу,программаны тестілеуден өткізу.
Программаны тестілеуден өткізу жауапты кезеңнің біріне саналады. Тестілеуді бірнеше режимдерде өткізу қажет болады.Программаны тестілеуден өткізу мына мақсаттарда жүргізіледі:
а) программаны бүтіндей тексеру;
б) программаның функционалдық мүмкіндігін анықтау.
Программаны тексеру және оны әртүрлі режимдерде тестілеуден өткізу оқушылардьщ ойлау қабілетін, ой-өрісін дамытады, білімін тереңдетеді, пән аралық байланыстарды іске асырады, пәнге деген қызығушылығын арттырады.
7.Құрылған программа бойынша есепті тікелей компьютер көмегімен шешу.
Міне, осы кезеңде ғана компьютер адам араласуынсыз жұмыс істейді. Бұдан біз компьютер қандай қуатты құрал болғанымен де оның дамуы және тиімділігі адамға байланысты екендігіне көз жеткізе аламыз.
8.Алынған нәтижеге талдау жүргізу. Егер программада синтаксистік және семантикалық қателер орын алмаса, компьютер кейбір нәтижені бере береді. Алынған нәтиже күткен нәтиже бола ма, жоқ әлді басқаша ма, міне осы жағдайға міңдетті түрде баса назар аударуымыз керек болады.
Осы келтірілген кезеңдер міндетті кезендер болып саналады. Сондықтан мұғалім бұл кезеңдерді өзі де білуі және түсінуі тиіс болады. Компьютер көмегімен есеп шығару технологиясын оқушыларға дұрыстап түсіндіруге және үйретуге ол міндетті.Қарастырып отырған нақты есепте талдауды және зерттеуді тереңдету қажет болатын болса, жоғарыдағы келтірілген кезеңдер санын көбейтуге болады.Мектеп информатикасы курсындағы оқып-үйренудегі күрделі тақырыптардың бірі - ол циклдық (қайталанатын) құрылымды алгоритмдер және соған сәйкес программалар құру болып табылады.
Циклдық есептеу процесі алгоритмі - бұл берілгендердің әртүрлі мәндері үшін бірнеше рет қайталанатын бөлігі бар есептеу.
Циклдық алгоритмнің екі түрі болады:
1 қайталану саны алдын ала белгілі;
2 қайталану саны алдын ала белгісіз.
Мұндай циклдық алгоритмдерде арифметикалық және итерациялық деп те атайды. Итерациялық алгоритмдерде циклдың қайталану саны шешімнің көрсетілген дәлдігіне жетуге байланысты болады, сондықтан мұнда циклдың неше рет қайталанатындығын алдына ала айта алмаймыз.Арифметикалық циклда цикл қайталанған сайын мәні өзгеріп отыратын айнымалылардың бірі цикл параметрі ретінде алынатын болады. Бұл жағдайда циклды ұйымдастыру мына ретпен жүргізіледі:
цикл параметрінің бастапқы мәні беріледі;
цикл параметрінің мәнін өзгертіп отыру ережесі көрсетіледі;
циклдың аяқталу шарты беріледі (көрсетіледі).
Әдістемелік тұрғыда циклды құрылымды алгоритмді қалай түземіз және қалайша жазғанымыз дұрыс болады, соны көрсетсек алгоритмін жазу керек болсын.
Компьютер көмегімен есеп шығару технологиясына сәйкес осы есепті шешуге дайындау кезеңдерін былайша келтіруімізге болады:
1-кезең. Есептің қойылуы:
бастапқы берілгендер ретінде алынатындар: п- жиым элементтері саны, х.(і=1, 2,..., п) - жиым элементтерінің өзі (мәндері);
аралық шама ретінде цикл параметрі алынады;
нәтиже ретінде S қосындысының мәні алынады.
2-кезең. Есептің математикалық моделі.
жиым элементтері нақты типті, олай болса нәтиже S нақты тип; п - бүтін тип.
3-кезең. Есептеудің тиімді әдісі былайша ұйымдастырылады:
1 -қадам: S-тің бастапқы мәнін 0 деп аламыз;
2-қадам: S-тің мәніне х-лерді біртіндей қоса отырып, нәтижеге жетуге болады.
4-кезең. Есепті шығарудың алгоритмін жазамыз. Бірінші әдіс-алгоритмді блок схема түрінде жазу. Екінші әдіс - мектептік алгоритмдік тілде жазу. Мектеп курсында осы әдіс алгоритм жазудың негізгі әдісіне айналуы тиіс.
Оқып-үйренудің әдістемелік тұрғысында келтірілген мысалдардың коректілігі түрде (түсінікті, қадап айтылған, программалау технологияларына сәйкес, дұрыс лайықты) болуына жете көңіл аударған дұрыс болады деп есептейміз.
Информатика курсы бойынша мектептерде басқа да оқу орындарында пайдаланылып жүрген кейбір оқулықтарда және оқу құралдарында осы келтіріп отырған кемшіліктер орын алған. Оларды дөрекі қате деп айтуға болмайды, дегенмен, әдістемелік және программалау технологиялары талаптары тұрғысында дұрыс емес сияқты.Мына біз көрсетіп отырған үлгілерден, оқып үйрену әдістемесі тұрғысында корректілі жазу түріне мейлінше жақыңдайтындары 1), 3) және 5) варианттары болады.Енді осы жазылған алгоритмдер негізінде ұсынылып отырған есепті шешудің программасын оңай құруға болады.

II. НЕГІЗГІ БӨЛІМ
II.I. Алгоритмді оқыту әдістерімен үйрету бағдарламасын құру
Тиімді, жылдам жұмыс істейтін алгоритмдер құрудың практикалық есептер шығаруда бірінші дәрежелі болмаса да, үлкен мәні бар. Бірнеше алгоритмдердің ішінен жылдам жұмыс істейтін алгоритмді таңдау үшін олардың жұмыс уақытын салыстырып үйрену қажет. Дегенмен, жұмыс уақытын дәл есептеу мүмкін емес. Бұл уақыт алдымен программа орындалатын компьютердің шынайы сипаттамасына тәуелді болуы мүмкін. Әдетте алгоритмнің орындалуы уақыты тек жуықтап қана есептеледі. Сонымен бірге жұмыс уақытына арналған формула мәндері тек тәжірибелік
жолмен анықталатын қандай да бір сандық тұрақтылардан тұрады. Мұндай
ағалаудың ӛзі кӛбінесе ең тиімді бір алгоритмді ғана таңдауға мүмкіндік береді. Басқа жағдайларда жұмыс уақытын бағалаудың кӛмегімен баяу жұмыс істейтін алгоритмдерді шығарып тастауға болады, ал қалғандарынан программаның шынайы жұмыс уақытын ӛлшеудің кӛмегімен таңдауға
болады.
Енді жоғарыда айтылғандарды мысалмен түсіндірейік. Мысалы, қандай
да бір n саннан құрылған тізбекті ӛңдеу қажет болсын. Мұндағы n ӛзгеріп
отыратын болсын. Осы есепті шығаруға екі программа берілсін, олардың
жұмыс уақыты жуықтап С1n C2n2, мұндағы С1 және С2 - тұрақтылар, олар n-ге тәуелсіз. N үлкен болған жағдайда бірінші программа жылдам жұмыс істейді, ал n аз шама болғанда программа баяу жұмыс істейді. Бұл С1 С2 екенін кӛрсетеді. С1 С2 -ден 5 есе үлкен болсын. С1 =5С2 . С1 n=5С2 n мен C2n2-ты салыстыра отырып, n5 болғандағы программаның жұмыс уақытының баяу, ал n5 болғанда екінші программаның жылдам жұмыс істейтінін байқауға болады. Мұндағы n =5 бағалау уақытының шектік мәні де жуықтап тағайындалады. Бұдан екі тұжырым жасауға болады. Біріншіден, тұрақтыға дейінгі дәлдікпен жуықтап бағалаудың ӛзі алгоритмдерді салыстыруда пайдалы болып табылады. Екініден, есеп шығарудың бір алгоритмі өте жылдам деп айтуға болмайды. Қандай да бір алғашқы мәліметтер жиынтығы үшін кейбір алгоритм екіншісінен тиімді болуы мүмкін. Енді программаның жұмыс уақытын анықтайтын алғашқы мәліметтердің мұндай сипаттамасын таңдау мәселесіне тоқталайық. Мұндай сипаттама есептің ӛлшемі деп аталады. Әртүрлі есептерді шығару уақытына алғашқы мәліметтердің әртүрлі қасиеті әсер етеді. Мысалы, минимумды іздеу немесе әрбір сан бір бүтін сан ретінде қарастырылатын берілген сандарды іріктеу типті есептер үшін алғашқы сандар мӛлшері есептер мӛлшері болып
табылады. Қарапайым кӛбейткіштерге жіктеу есебі үшін санның шамасы мөлшері болып есептеледі. Есеептің мӛлшерін таңдау қандай да бір шығару алгоритмі туралы жалпы ұғымға негізделеді. 2n дәрежесін есептеу алгоритмін қарастырайық. Дәрежелеудің санның бірінен соң бірі көбейтілетінін ескере отырып, өлшем ретінде n дәреже көрсеткішті аламыз. Өлшемді сипаттаудың тағы бір тәсілі нәтижедегі цифр саны болып табылады. 2n дәрежесіндегі цифр саны n-ге пропорционал, сондықтан екі өлшем де эквивалентті. Жұмыс уақытын бағалау мезетіндегі маңызды кезең - орындалу барысында барлық жұмыс уақытының негізгі бӛлігін алатын программа бөлігін іздеу болып табылады. Кӛптеген программалар үшін экспериментті түрде дәлелденген факт: жұмыс уақытының негізгі бӛлігі программа мәтінінің шағын бӛлігін орындауға кетеді. Программаның мұндай бӛлігі цикл деп аталады. Кӛпшілік жағдайда жұмыс уақытын жуықтап бағалау талап етіледі, сондықтан программаның қалған бӛлігінің орындалу уақытын ескермеуге болады, тек ішкі циклдың орындалуын қарастыруға болады.
Егер программа бірінің ішіне бірі орналасқан бірнеше программадан тұратын болса, онда ішкі циклды табу жеңіл. Әрине, алдымен, бәрінен бұрын барлық циклға қатысты программа бӛлігі орындалады, ал бұл қалған барлық циклдардың ішіндегі және ішінде басқа цикл болмайтын циклдар болып табылады. Бұл бақылау программаның жиі орындалатын бӛлігі үшін ішкі
цикл деген атауды дәлелдей түседі. Егер ішкі циклды қамтымайтын бірнеше цикл болса, олардың әрқайсысының қайталану санын есептеуге болады. Егер бір циклдың қайталану саны басқаларымен салыстырғанда айтарлықтай үлкен болатын болса, онда басқа циклдардың жұмыс уақытын ескермеуге болады; кері жағдайда соңғы формулада жұмыс уақыты үшін бірнеше циклдардың орындалу уақытын ескеруге тура келеді. Параметрлі қайталану
командасындағы қайталану саны For операторы үшін тӛмендегі формуламен
есептеледі:
Циклдың басы For i:=A to B
Егер B=A-1 болса, онда қайталану саны B - A +1 - ге тең;
Егер BA болса, онда нӛлге тең; (1)
For i:=A downto B циклі үшін А мен В-ның орындарын ауыстыру қажет.Егер программада цикл бір рет орындалатын болса, онда бұл формула ақиқат болып есептеледі. Енді бұл циклдың басқа циклдың ішінде бірнеше рет қайталанып орындалған жағдайын қарастырайық. Цикл ішіндегі қайталану санын шартты түрде цикл денесінің орындалу санының саны деп атайық. Барлық циклдың орындалу санын цикл тақырыбының орындалу саны деп атайық. Сӛйтіп, цикл тақырыбының бір рет орындалуы цикл денесінің қанша рет орындалатынын кӛрсетеді. Бірінші формула оның тақырыбы цикл денесінің бір рет орындалуындағы цикл денесінің орындалу санын береді. Егер қарастырылып отырған цикл басқа циклдың ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Web беттерін құрудағы JavaScript-ің мүмкіндіктері және электрондық басылымдарды жасау технологиясы
Java кең таралған программалау тілі
Ашық кілтті криптожүйелер
Программалау тілдерімен танысу
Жалпы түрдегі алгебралық теңдеулер жүйесін шешу жолы
Педагогикалық кадрларының жұмысы мен аттестациясы
Деректер қорының моделі
HTTP хаттама
Басқарудың микропроцессорлық жүйелерi
Формативті бағалаудың әдістері. Топтық жұмыстың бағалануы
Пәндер