Главная страница
Контакты

    Басты бет


Алгоритм және оның қасиеттері

жүктеу 1.45 Mb.



жүктеу 1.45 Mb.
бет1/11
Дата20.03.2017
өлшемі1.45 Mb.

Алгоритм және оның қасиеттері


  1   2   3   4   5   6   7   8   9   10   11

Алгоритм және оның қасиеттері
Егер сіз берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек.
Алгоритм, алгорифм (ағылшынша: algorіthm, algorіsmus - Әл-Хорезмидің атынан шыққан) - бастапқы берілген мәліметтермен бір мәнде анықталатын нәтиже алу үшін қай амалды (жұмысты) қандай ретпен орындау қажеттігін белгілейтін есептерді (мәселелерді) шешу (математикалық есеп-қисаптар орындау, техникалық объектілерді жобалау, ғылыми-зерттеу жұмысын жүргізу т.б.)
Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған.
Шаршы (Квадрат) - шаршы деп сыбайлас қабырғалары өзара тең тіктөртбүрышты айтады. Техникада Шаршы тәрізді тесіктері бар тетіктер көп кезігеді.
Ғасыр - 100 жылға тең уақыт бірлігі. Грегориан күнтізбесіне сәйкес алғашқы ғасыр 1 жылдың қаңтардың 1 басталып желтосанның 31де аяқталған.
Осылайша алгоритм ұғымы математикада ертеден қолданыла бастағанымен, математикалық теорианың объектісі ретінде кейбір проблемаларды зерттеуге байланысты ХХ ғасырдың 30-шы жылдарында зерттеле бастады.
Ұғым - объективті нағыздық нәрселерін және олардың қасиеттерін көрсететін абстрактілі ойлау формаларының бірі. Ұғым туралы мәселені талдауды "белгі" ұғымын қарастырудан бастайық.


Алгоритм деп берілген есепті шешудегі жасалатын әректтерді дәл және қарапайым етіп жазуды айтамыз. Басқаша айтқанда алға қойылған мақсатқа жетуде немесе берілген есепті шешуде орындаушыға біртіндеп қандай әректтер жасау керектігін дәл көрсететін нұсқауларды немесе іздеп отырған нәтижені алу мақсатында деректермен атқарылатын әрекеттерін орындалу реттілігін анықтайтын жарлықты алгоритм дейміз.
Жасау - жігіт жағынан келген қалыңмал мөлшеріне шамалас, кейде одан да асып түсетін, ұзатылатын қызға берілетін мал-мүлік.
Мақсат - белгілі бір межеге қол жеткізуге бағытталған әрекеттің ой-санадағы көрінісі. Мақсат ойлау нәтижесінде болашақты алдын ала болжау арқылы туатын мұрат, ішкі қозғаушы күшті білдіреді. Мақсатқа жету үшін әр түрлі іс-әрекеттер мен қимылдар жасалады.
Алгоритм белгілі бір реттіліепен бірінен соң бірі орындалатын бірнеше қадамдардан тұрады. Алгоритмнің әрбір қадамы бір немесе бірнеше қарапайым операцияларды қамтиды. Алгоритм ұғымның мәнін аша түсетін оның мынадай қасиеттері бар:

1. Алгоритм дискретті информациялармен жасалатын әрекеттерді тағайындайды және өрнектейді. Алгоритмге қатысты әрекеттердің бәрі дискретті болады. Алгоритмнің жұмысына қажетті материалдар ретінде символдық мәтіндер және сандар пайдаланылады.

Сан - мөлшерді сипаттайтын, санауда пайдаланылатын абстракт нәрсе.
Символ (грекше symbolon - танымдық белгі, таңба, рәміз, пернелеу) лингвистика, логика, математика ғылымдарында таңба ұғымын береді; өнерде, философияда нәрсенің, құбылыстың қасиетін, сыр-сипатын бейнелеп, астарлап білдіретін әмбебап эстетикалық категория.

2. Алгоритм біздің қалауымызға қарай өзгертуге болмайтын нақты нұсқау алгоритмде не істеу керектігі алдын-ала айқын береді.

Нұсқау (Инструкция; лат. instructio - құру, ереже) - әскердің (күштің) қандай да бір жағын реттейтін немесе ұрыс құралдарын қолдану мен пайдалану мәселелері бойынша толық нұсқаулары бар құжат. Нұсқау мемлекеттің қолданыстағы заңдары, үкіметтің қаулылары, бұйрықтар мен директивалар, жарғылар мен басшылыққа алынатын құжаттардың негізінде шығарылады, Нұсқауды шығару құқығы қорғаныс министріне, оның орынбасарларына, қарулы күштер түрлерінің бас қолбасшысына, әскер түрлерінің (арнайы әскер түрлерінің) қолбасшыларына (бастықтарына) берілген. Нұсқауда әдетте жойғыш құралдарды қолдану және ұрыс қимылдарын қамтамасыз ету (бомба тастау бойынша нұсқау), жауынгерлік дайындықты қамтамасыз ету (жаттығу және ұрыс атыстарын ұйымдастыру және өткізу бойынша нұсқау) мәселелері көрсетіледі. Мұнда, сонымен қатар, қандай да бір қызметгі реттейтін ережелер мен нормалар айтылуы мүмкін (әскери тасымал құжаттарын есепке алу тәртібі, оларды ресімдеу мен пайдалану және әскери тасымалдардың төлемақысы туралы нұсқау). Қорғаныс министрлігінің орталық аппараттарындағы органдары шығаратын әскерлердегі (флот күштеріндегі) нұсқаулардан басқа, әскер қызметіне катысты, мысалы, полк кезекшісінің нұсқауы, қарауыл бастығының нұсқауы сияқты нұсқаулар дайындалады. Бұл нұсқаулардың мазмұны әскери жарғы талаптары мен әскерді (флот күштерін) орналастыру ерекшеліктерін есепке алуға негізделеді. Нұсқау ережелері міндетті түрде орындалуы тиіс.
Мысалы, бір есепті шешудің алгоритмі берілсе онда ойланбай-ақ алгоритмде қандай нұсқаулар берілсе, сол нұсқауларды берілу ретімен орындасақ, есеп шығады. Алгоритмнің осы қасиетін оның анықталғандық қасиеті дейміз. Бұл жағдай адам сияқты емес ойлау қабілеті жоқ құрылғылардың мысалы, компьютердің көмегімен есептерді шешу мүмкіндігіне кепілдік берді.
Жағдай - адам әрекетінің , жан-жануарлар тіршілігінің, табиғат пен қоғамдағы өзгерістің, оқиғаның, т.б. айналадағы ортаның ықпалына тәуелділігін білдіретін философиялық ұғым. Табиғаттағы, қоғамдағы белгілі бір өзгерісті тудырушы алғышарт есебінде де қарастырылады.
Мұндай құрылғылар алгоритмнің жарлықтарын ойланбастан формальды орындайды. Сондықтан алгоритмді есепті шығаруға қажеттінің бәрі бір мәнді анықталу және атқарушыға түсінікті әрі нақты болуы тиіс.

3. Бір алгоритмнің өзін бірнеше есептің шешімін табу үшін пайдалану мүмкіндігі, яғни бастапқы деректер мәндерінің жиынына пайдаланылу мүмкіндігі бар.

Алгоритмнің мұндай қасиетін көпшілікке бірдейлік, басқаша айтқанда, жалпылық қасиеті деп атайды.

4. Әрбір алгоритм белгілі бір бастапқы деректердің болуын талап етеді және іздеген нәтижені алуға жеткізеді. Мысалы, екі санды қосу алгоритмнде қосылғыштар бастапқы деректерге, ал қосынды нәтижеге жатады. Осылайша, алгоритмдегі әрекеттердің белгілі бір санның орындалуынан кейін қажетті нәтиже алу мүмкіндігі алгоритімнің нәтижелілігі деп аталады.

Осы айтылғандардан алгоритім бастапқы деректерді пайдаланып іздеген нәтижеге қол жеткізетін реттелген әрекеттер тізбегі деген қлрытынды жасруға болады. Мұндай әректтер тізбегінің орындалуы алгоритмдік процесс, ал әрбір әрекет оның қадамы, әрбір нұсқау алгоритмнің қалыптасуы болып табылады.

Алгоритмнің ең маңызды қасиеті жоғарыда анықталғандық қасиетінде айтылғандай оның орындалу нәтижесінің атқарушыға тәуелсіздігі.

Қазақстан Республикасының Тәуелсіздік күні - тарихы тереңде жатқан елдің жаңа заманда өз алдына қайта егеменді ел болған күні. Тәуелсіздік күні мерекесі әр жылдың 16 желтоқсанында аталып өтеді. Бұл күн ұлттық, мемлекеттік деңгейдегі елеулі мереке болғандықтан 16-17-желтоқсан күндері күнтізбеде демалыс болып табылады.

Сонымен алгоритм туралы мына төмендегідей тұжырымдар жасауға болады:


  • алгоритмдер әртүрлі есептерді шешу үшін пайдаланылады;

  • алгоритмді атқарушыдан аз білім талап етілетіндіктен есеп шығаруды айтарлықтай оңайлатады;

  • әрбір алгоритм толық аяқталған әрекеттерді орындайтын атқарушыға арналған командалардан тұрады;

  • атқарушы орындайтын командалардың жиынын атқарушының командалар жүйесі д.а.
    Команда (command, instruction) - 1) программалау тілдерінде - кез келген операцияны орындауды және оған керекті мәліметтерді (операндыны) бейнелейтін өрнек; компьютер атқаруға тиіс операция сипаты; 2) ақпаратты өңдеу процесіне байланысты атқару құрылғысында жүйенің белгілі бір операцияны орындауын талап ететін басқару сигналы; 3) программа орындау процесінің адымын анықтайтын ұйғарым.


  • алгоритмдегі командалар атқарушының командалар жүйесінен алынады;

  • алгоритмдегі командалар тізбегінің орындалуы алгоритмдік процесс д.а;

  • алгоритмдегі әрбір команда оның қадамы д.а;

  • санаулы әрекеттен кейін ғана алгоритмде іздеген нәтижеге қол жетеді;

  • алгоритмдегі әрбір әрекет атқарушыға түсінікті және нақты болуы керек;

  • бірнеше есептің шешімін табу үшін бір ғана алгоритмді пайдалануға болады;

  • құрылған алгоритмді атқару есептің мазмұнына ой жүгіртіп оны талдауды қажет етпейді, тек командаларды формальді орындай береді;
    Мазмұн (Оглавление; table of Contents) - 1) мәтіндік құжаттың құрылымдық элементі. Беттердің нөмірі көрсетілген тақырыптардың тізімінен тұрады; 2) объектілердің атауы мен адресінен тұратын кесте.


  • алгоритм әрбір атқарушыға арналып құрылады;

  • алгоритмнің командалары атқарушыға түсінікті және орындалатын болуы тиіс;

  • алгоритмді атқаруды тек адамға емес компьютерге де жүктеуге болатындығы есептеу процесін автоматтандыруға мүмкүндік береді;

Алгоритмнің құрамы дараланып және оның әрекеттері анықталғаннан кейін алгоритмді жазып көрсету тәсілін және тілін білу керек

Алгоритмдік тілді падалану оны құрушының өзіне ғана түсінікті командаларды көпшілік қауымның пайдалануына мүмкіндік береді.

Алгоритмді жазудың бірнеше тәсілдері бар.Төменде алгоритмді бейнелеу әдістерінің логикалық құрылымы көрсетілген.

Жазу - адамның ой-пікірін, басқа адамға хабарлап айтқысы келген сөзін, мағлұматын таңбалар арқылы жеткізуді қамтамасыз ететін белгілер жүйесі. Оның алғашқы нұсқалары өте ерте заманда жасалды. Жазу қатынас құралы ретінде пайдаланылған суреттер мен шартты белгілерден кейін пайда болған.
Логика (гр. λογική - «талдауға құрылған», λόγος - «сөз», «сөйлем», «ойлау», «ақыл») - ойлау, оның формалары мен заңдылықтары туралы ғылым. Логика дәлелдеу мен теріске шығарудың белгілі бір әдіс-тәсілдері қаралатын ғылым теориялар жиынтығын құрайды.



Алгоритмді бейнелеу әдістерінің ішінен біз блок – схема мен мектептік алгоритмдік тілді пайдаланамыз.

Блок-схема
Блок схема компьютерге программалар жасау практикасында кеңінен қолданылатын алгоритмдерді жазудың графикалық тәсілі, басқаша айтқанда, алгоритмнің логикалық құрылымын график түрінде бейнелейтін тіл десек болады. Есепті шешу алгоритімінің блок схемасын құрған кезде есепті шығару процесі кезең дерге бөлініді. Әрбір кезең есептелетін операцияның сипатына байланысты белгілі конфигурациясы бар бір геометриялық фигурамен (блокпен) белгіленеді.
Блок (лат. block, фр. bloc) - жүк көтергіш машиналардың шеңберінде арқан (трос, жіп, шынжыр) асуға ыңғайлап жасалған ойық белдеуі бар доңғалақ пішінді бөлігі. Оның айналу осі тірекке бекітіледі (жылжымайтын Блок) не кеңістікте орын ауыстырады (жылжымалы Блок).
Кезең - тау жотасы қырқаларының биік бөліктері мен кейбір төбелердің аралығында орналасқая ояң бөліктер. Олардың едәуір белігі тау жоталарының бір жағынан екінші жағына өтуге мүмкіндік туғызады. Кезең - тектоникалық немесе эрозиялық-денудациялық генезисті тау жотасы төбелерінің аралығындағы қырқалар; бар өрісіндегі жоғары қысымды екі атырап пен төмен кысымды екі атыраптың арасындағы кеңістік.
Графика - (гр. graphein, тырнау, жазу, салу дегеннен) Жазуда қолданылатын таңбалардың (әріп және тыныс белгілерінін) жиынтығы. Жазу танбалары жүйесі мен тілдін фонетикалық жүйесінің ара қатынасын, байланысын білдіреді.
Геометрия (көне грекше: γεωμετρία; көне грекше: γῆ - жер и көне грекше: μετρέω - «өлшеу») - математиканың кеңістіктік пішіндер (формалар) мен қатынастарды, сондай-ақ, оларға ұқсас басқа да пішіндер мен қатынастарды зерттейтін саласы.
Мысалы, жұмыр (сопақ), параллелограмм, тіктөртбұрыш, ромб т.с.с.

Блок деп аталатын мұндай фигуралардың ішіне кезеңдердің мазмұны жазылады. Есептелу процесінің бағыты блоктарды қосатын стрелкалармен көрсетіледі. Осы аталғандардың бәрі блок – схема тілінің алфавитін құрайды және олардың мағынасы алдын ала келісілген келісім бойынша беріледі.

Мағына - сөздердің ұғыммен байланысты мәні, мазмұны. Сөз мағынасының қалыптасуына ұғымнан басқа да жәйттер себеп болады, ол адамның дүниеге көзқарасын, көңіл-күйін білдіреді. Сөз ұғымы тұтас, дербес болғанымен, мағынасы әлдеқайда кең әрі бірнешеу болуы мүмкін.

Төмендегі 1-кестеде стандартты блок – схема тілінің алфавиті берілген. Әрбір блок схеманың басы және соңы деп аталатын блоктары болады.

Басы, соңы блоктарынан басқа әрбір блоктың бір ену және бір – екі шығу сызықтары болады.

Атқаратын қызметі жағынан блоктар негізгі және қосымша болып бөлінеді. Негізгі блоктар енгізіу мен баспаға шығару және информацияларды өңдеу әрекеттерін білдіреді, ал қосымша блоктар блок – схеманы түсіндіру және байланыстарды таңбалау үшін пайдаланылады.

Блоктардың анықтайтын әрекеттері, яғни түсініктер блокты бейнелейтін геометриялық фигураның ішіне жазылады.

Деректерді енгізу блогы есептеу есептерін шешуде айнымалылардың сандық мәндерін компьютердің жадына енгізу үшін қолданылады.

Деректерді өңдеу блогы қандай да бір формула бойынша айнымалының мәнін есептеу процесін білдіреді.

Сандық - киіз үйдің ағаш жиһаздарының бірі. Оған киім-кешек, асыл бұйымдар салынады. Қазақ шеберлері Сандықты қайың, қара тал ағаштарының сүрегінен жасаған. Сыртынан көркем етіп темір, мыс жапсырмамен, қатырма ою өрнектермен безендіріледі.
Таңба (знак; character, symbol) - есептеуіш техникасында қолданылатын алфавиттің жеке символы. Арифметикалық амалдар таңбасы (знак арифметической операции; arithmetic operation character) - арифметикалық амалдарды анықтайтын алфавит белгісі (әдетте, +,-,*,/ ).
Формула (Formula) - электрондық кестедегі (Excel) математикалық өрнек, оның жұмыс нәтижесі торлардағы мәндерге байланысты болады. Мысалы, D5 торына енгізілген мынадай формула =а5+b5+с5 A5, В5, С5 торындағы сандардың қосындысын D5 торына орналастырады.
Мұнда есептелген шамалар оларға сәйкес айнымалылар жаңа мәндер қабылдағанша сақталады.

Бұл блокта формуланың сол жағында тұрған айнымалылар оның жағына да қатыса алады, бұл дегеніміз айнымалының жаңа мәнін бұрын есептелген ескі мәнінен шығарып алудың қажеттігін көрсетеді.

Шартты тексеру блогы есептелу процесінің барысы тікелей кейбір шартқа тәуелді болатын есептелу процесінде анықталатын тармақталу алгоритмін бейнелейді.

Тәуелділік (Зависимость; dependence) функция мен оның аргументгері арасындағы қатынас; мәліметгер базасындағы мәліметтер ассоциациясы. Мәліметтер тәуелділігі (Зависимость данных (по данным); data dependence) - мәліметтер мен программаның өзара өсер етуі.



Аталуы Бейнеленуі Мазмұны




Жұмыр Алгоритмнің басы.
Деректерді енгізу немесе

Параллеограм шығару.







Деректерді өңдеу

Тіктөртбұрыш Меншіктеу амалы немесе



кез келген әрекет.

Жоғары жағы Массивті хабарлаушы

жиектелген процедура.

Массив (латынның massa сөзінен туындаған француздың massif сөзі - "жақпартас") - Тектоникада: өзіне іргелес яки көршілес жатқан тектоникалық құрылымдармен салыстырғанда көнелеу, көп уақыттар бойы жоғары көтерілуі нәтижесінде ашылып қалған, қазіргі кезеңде тектоникалық тұрғыдан салғырт тектоникалық құрылым.

тіктөртбұрыш





Екі шеті Бағыныңқы программа

жиектелген



тіктөртбұрыш


Магниттік диск Информацияны ИСТ – на

ендіру және одан оқу
Ия Жоқ

Шартты тармақталу

Ромб
Жұмыр Алгоритмнің соңы


Түйін Бірнеше сызықтарды

біріктіру.

Байланыссыз Сызықтардың

екі сызықтың қиылысуы

қиылысуы
Блоктарды қосатын

Сызықтар ағыны сызықтар және олардың

бағыттары

Сызықтар

ағынының бағытын Сызықтардың

өзгерту бағыты


Түсініктеме -------- Ендіру немесе есептеу

блоктарын түсіндіру.



Сызықтық алгоритм
Егер алгоритмнің N қадамы болса және олардың барлығы басынан аяғына дейін бірінен соң бірі тізбектеле орындалатын болса, онда ондай алгоритмді сызықтық алгоритм деп атаймыз. Сызықтық алгоритмнің блок – схемасы мына суретте бейнеленген.


Алгоритмнің басы



Мәліметтерді енгізу


Осы алгритмнің барлық N қадамы жоғары-

дан төмен қарай тізбектеле орындалады.








Нәтижелерді шығару

Алгоритмнің соңы


Мысалы, табаны В, биіктігі Н үшбұрышьң ауданын табатын алгоритмді келтірейік.
Биіктік географияда - жер бедеріндегі жеке элементтердің тік бағытта орналасу шамасы (қара Абсолют биіктік, Салыстырмалы биіктік); астрономияда (h) - аспан шырағының горизонталь координаттар жүйесіндегі (қара Аспан координаттары) координатының бірі.
Барлық - Шығыс Қазақстан облысы Катонқарағай ауданындағы ауыл, Коробиха ауылдық округі құрамында.
Сурет, бөлмедегі сурет. Сурет әртүрлі бояулармен: акварельмен (қағазға немесе картон), майлы бояумен (холстқа, картонға, ағашқа), пастельмен (ерекше түрлі-түсті қарындаштармен қағазға немесе картонға) салынады.
Табан (лат. pes) - бір-бірімен буындасып жалғасқан сүйектерден тұратын аяқтың төменгі бөлігі.









Тармақталушы алгоритм

Егер алгоритм қадамдарының тізбектеле орындалуы қандай да бір шартқа тәуелді өзгеретін болса, онда ондай алгоритмді тармақталушы алгоритм дейміз.

Алгоритм орындалғанда "иә" немесе " жоқ " деген мәндердің бірі қабылждай алатын логикалық өрнекті шарт деп атаймыз.

Кез келген шарт мынадай үш бөлімнен тұрады:



  • сол жақ бөлігі;

  • салыстыру таңбасы;

  • оң жақ бөлігі.

Мысалдар келтірейік: А > 0, Х < А С, К = 6

Мына төменде алгоритмнің тармақталушының бөлігінің жалпы түрі келтірілген.



егер < шарт >

онда "иә" тармағы

әйтпесе " жоқ " тармағы

бітті

Мұнда егер, онда, әйтпесе, бітті – қызметші сөздер, егер команданың басын, ал бітті команданың аяқталуын білдіреді.





иә жоқ





Тармақталу командасы мына тшөмендегідей қысқаша түрде пайдаланылады:



егер < шарт >

онда

"иә" тармағы



бітті





жоқ иә







Шартты тексеру блогын сіздер блок – схемада ромбымен таңбалаймыз. Егер шарт дұрыс болса, онда есепті шешу үшін "иә" тармағы пайдаланылады, ал оған кері жағдайда - "жоқ" тармағы пайдаланылады.



Мысал үшін ах вх с = 0 квадрат теңдеуінің нақты түбірлерін табуға және нақты түбірлері болмаған жағдайда оған сәйкес хабарды баспаға шығаратын тармақталу алгоритмнің блок – схемасын келтірейік.













иә жоқ










  1   2   3   4   5   6   7   8   9   10   11

  • Аталуы Бейнеленуі Мазмұны

  • жүктеу 1.45 Mb.