Тапсырма жауаптары:
1. Алгоритмдер теориясы
Алгоритм ұғымы - математикада вектор, жиын секілді негізгі ұғымдардың бірі. Негізгі ұғымдардың дәл анықтамасы болмайды. Оларды тек интуициямен қабылдаймыз. Дегенімен, осы параграфта алгоритм ұғымын мағыналық тұрғыдан анықтауға тырысамыз.
Көбінесе алгоритм ұғымын берілген элементке сәйкес элементті берілген нұсқаулар арқылы табу деп түсінеміз.
Бірақ бұл анықтама - математикалық тұрғыдан алғанда дәл анықтама емес. Себебі, есептеу, нұсқау ұғымдарының да анықтамасы берілмеген.
Алгоритм ұғымын анықтаудың алдында бірнеше мысалдар келтірейік.
1. ¦(х) = х-ші жай сан. Бұл функцияны есептеуге алгоритм ретінде Эратосфен елегін пайдалануға болады.
2. ¦(х,у) = х пен у-тің ең үлкен ортақ бөлгіші. Бұл жерде Евклид алгоритмі жұмыс істейді.
3. m(¦) = , бұл жерде ¦- көпмүше. Көпмүшелердің туындысы алу алгоритмі мектептен белгілі.
Біз көбінесе тек қана натурал сандарға қолданылатын алгоритмтерді қарастырамыз.
Алгоритмдер төмендегі ортақ қасиеттерімен сипатталады:
1. Алгоритм ақыpлы өлшемді нұсқаулар жиыны ретінде беріледі.
2. Нұсқауларды түсініп, есептеулерді жүргізетін есептегіш (көбінесе адам) болады.
3. Есептеулердің кез келген бөлігін бөліп алуға, жаттауға және кейбір қадамдарын қайталауға мүмкіндіктер бар.
4. Есптегіш нұсқаулар бойынша әр берілген санға сәйкес есептеу кезінде қадамдары дискретті түрде кездейсоқ әдістерсіз жұмыс істейді.
Бұл қасиеттер электронды есептеу машиналарға ұқсастықты көрсетеді. Шынында да
1) машинаның программасы,
2) есептеу құрылысы,
3) жаттау қабілеті,
4) табиғи құрлысы.
Әрине көрсетілген төрт қасиет алгоритмді дәл анықтайды деп айта алмаймыз. Бұл жерде көптеген сұрақтар пайда болады. Солардың бірнешесін қарастырайық.
1) Берілген санның өлшемін шектеу қажет пе?
Егер біз "иә" деп жауап берсек, онда, мысалы, ¦(х) = функциясын есептеудің алгоритмі жоқ болады. Себебі, берілетін сан кез келген ақырлы болу керектігін ұмытпаймыз.
3) Жаттау қабілетін шектеу қажет пе?
Алдыңғы екі сұраққа жоқ деп жауап берген соң, бұл сұраққа да "жоқ" деуіміз қажет. Бірақ бір қызығы, кез келген машинаның жаттау қабілеті шектеулі. Дегенмен ол қазіргі керекті есептеулерге жеткілікті.
2. Рекурсивти функция
Рекурсивті функция - мәндері және аргументтері теріс емес бүтін сандар болатын y=f(x1,x2,...,xn) функциясы. Рекурсивті функция анықталу аймағына енетін аргументтердің x1,x2,...,xn мәндері бойынша у-ті есептеудің нақты ережелері де берілуі мүмкін. Осымен қатар, қандай да болмасын бір алгоритмнің көмегімен есептелетін функциямен теңестірілген жартылай рекурсив функция туралы ұғым да қалыптасқан.
Рекурсивті функция - мәндері және аргументтері теріс емес бүтін сандар болатын y=f функциясы. Рекурсивті функция анықталу аймағына енетін аргументтердің x 1,x 2.,x n мәндері бойынша у-ті есептеудің нақты ережелері де берілуі мүмкін. Осымен қатар, қандай да болмасын бір алгоритмнің көмегімен есептелетін функциямен теңестірілген жартылай рекурсив функция туралы ұғым да қалыптасқан.
нұсқаулығы бар алғашқы компьютерлердің бірі бұл функция кіші бағдарламалардың еркін терең салынуын да, рекурсивті кіші бағдарламаларды да қолдайды. Алғашқы
істелді. Алголдың аса маңызды ерекшелігі рекурсивті процедураларды ұйымдастыру мүмкіндігі болды. Рекурсивті процедураларға нарық көшбасшылары Фортран
Достарыңызбен бөлісу: |