«Алгоритмдер және деректер құрылымы» пәні бойынша дәріс - 050602 – «информатика» мамандығы
АЛГОРИТМ ТҮСІНІГІ - Алгоритм - информатика пәнінің негізгі
- ұғымдарының бірі.Компьютерді қоғам өмірінің қай
- саласында болмасын пайдалана білу үшін алгоритм
- ұғымын меңгеру керек.
- «Алгоритм» сөзі мағынасы жағынан нұсқау, жарлық, рецепт, ереже, тәртіп, заң, жоба сөздеріне синоним болып келеді. Алгоритм сөзі Орта Азияның ортағасырлық ұлы ғалымы - Мұхамед ибн Мұса әл-Хорезмидің атымен байланысты шыққан. Ол өзінің
- «Арифметикалық трактат» деген еңбегінде
- арифметикалық амалдарды орындау тәртібін ұсынған.
- Анықтама. Алгоритм деп алдын-ала анықталған мақсатқа жету үшін, есептің шешімін табу үшін орындаушыға (адамға, компьютерге және т.б.) берілген түсінікті нұскаулардың тізбегін айтады.
- Алгоритм – бастапқы мәндерден шешімге дейінгі процесті анықтайтын нақты түсініктеме.
- Дискреттік қасиеті. Алгоритмдік үрдіс жеке қадамдарға бөлінуі қажет. Әрбір келесі бұйрықты орындау үшін алдыңғы бұйрықты орындау қажет.
- Түсініктілік қасиеті. Тәжірибе жүзінде қолданылатын алгоритмдер белгілі бір орындаушыға арналады, сондықтан ол алгоритмді құру үшін орындаушыға түсінікті болуы керек, яғни орьшдаушының бүйрықтар жүйесін білу қажет.
- Анықтық немесе детерминдік қасиеті. Алгоритм түсінікті болуымен қатар мағынасы әр түрлі бұйрықтардан тұрмауы қажет, яғни алгоритм орындаушының еркіндігіне жол бермеуі қажет.
- Нәтижелілік қасиеті. Кез келген алгоритм қадамдарының саны шектеулі болу керек және белгілі бір нәтижеге жетуі қажет. Есептің шешімі жоқтығы да нәтиже болып есептеледі.
Көпшілік қасиеті немесе жалпылылығы. Көптеген алгоритмдер тек қана бір есепті ғана емес, бір типті есептер кластарының шешімін табуға мүмкіндік береді. Қарапайым жағдайда көпшілік қасиеті алгоритмді әр түрлі алғашкы мәліметтер үшін қолдануға мүмкіндік береді. - Алгоритмді беру және сипаттау тәсілдері
- Алгоритмдегі жарлықтардың, нұсқаулардың берілу түріне қарай алгоритмді жазу әдістерін ажыратуға болады. Орындаушының өзіне тән біліміне байланысты арнайы таңбалар, сөздер, іс-қимылдар, схемалар арқылы алгоритмдерді жазудың тәсілдерін ұйымдастыруға болады.
- Мысалы, цирктегі кұстар мен жануарларға алгоритмдер арнайы дауыстар, іс-кимылдар арқылы, автокөлікті жүргізу алгоритмі, телевизор, магнитофонды жүмыс істету алгоритмі арнайы пернелерді басу, бұрау арқылы жүзеге асырылады; т.с.с. әртүрлі таңбалармен, белгілермен берілген алгоритмдер көп кездеседі.
- Орындаушы - адам болатын жағдайда алгоритм көбінесе сөзбен жазылады. Сөзбен жазылған алгоритмдер, ретпен орналасқан сөйлемдерден (нұсқаулардан) тұрады. Сонымен бірге алгоритмдер арнайы таңбалар, блок-схемалар, формулалар, кесте түрінде, ноталар (сазгерлер үшін) арқылы жазылады.
- Алгоритмді беру үшін оның келесі элементтерін сипаттау керек:
- алгоритмді бастау ережесі;
- мүмкін алғашқы мәліметтер, аралық мәліметтер және қорытынды нәтижелер жиынтықтарын қүрайтын объектілер жиыны;
- мәліметтерді тікелей өңдеу ережелері (қимылдар тізбегінің сипаттамасы);
- нәтиже алу ережелері;
- алгоритмді тәмамдау ережелері;
- Алгоритмдерді сипаттаудың негізгі әдістері:
- сөзді-формулалы;
- қүрылымдық немесе блок-сызбалық;
- программалау тілдері көмегімен.
- Енді сөзбен жазылған алгоритмге мысалдар қарастырайық.
- 1-есеп. Екі бүтін санның ең үлкен ортақ бөлгішін (ЕҮОБ) табу керек. Бұл есепті шешу, үлкен санды кішісіне бөлу арқылы, сонан соң кіші санды қалдыққа бөлу, бірінші қалдықты екінші қалдыққа бөлу және т.с.с. қалдық нөл болғанша тізбектей бөлу арқылы жүзеге асырылады. Саны бойынша ең соңғы бөлгіш нәтиже болып табылады.
- Бастапқы берілген екі бүтін санды М және N деп белгілейік. Бөлуді қайталанып отыратын азайту амалымен алмастырайық. Онда алгоритмді келесі түрде ұйымдастыруға болады:
- Басы
- (М, N) енгізіңдер.
- Егер М ≠ N болса, онда 4 пунктке, әйтпесе 7 пунктке өтіңдер.
- Егер М > N болса, онда 5 пунктке, әйтпесе 6 пунктке өтіңдер.
- М := М - N; 3 пунктке өтіңдер.
- N := N -М; 3 пунктке өтіңдер.
- ЕҮОБ:=М
- ЕҮОБ:=М жауапқа шығару.
- Соңы.
- Блок-схема түрінде жазылған алгоритмге мысал қарастырайық.
- 1-есеп. Екі бүтін санның ең үлкен ортақ бөлгішін (ЕҮОБ) табу керек.
- Программалау тілдері көмегімен. Біздің жағдайымызда орындаушының ролін ЭЕМ атқарады. Программалау тілі деп, орындаушы ЭЕМ үшін жазылған алгоритмді сипаттайтын тілді айтамыз. Ал бағдарламалау деп алгоритмді бағдарламалау тілінде жазу процесін айтады.
-
Алгоритмнің негізгі құрылымдары - Бұл элементарлық блок-сызбалардан алгоритмдеу
- тәжірибесінде қолданылатын 3 негізгі құрылым
- құрылады:
- тізбектік немесе сызықтық.
- тармақтық немесе альтернативалық.
- қайталану немесе циқлдік.
- Блок-схема – алгоритмнің орындалуын ұйымдастыру үшін қолданылатын амалдар тізбегінің графиктік кескіні.
- Ол белгілі бір геометриялық фигуралардың көмегімен жасалады. Мысалы: тіктөртбұрыш – арифметикалық амалдарды орындаушы, ромб – кез-келген шартты тексеруші және т.б. Фигуралар бір-бірімен бағыттауыштар арқылы жалғасады. Әрбір фигура ішінде орындалатын амалдар көрсетіледі де, олар амалдар блогы деп аталады. Блоктар ішінде орындалатын функцияларды сипаттайтын ақпарат көрсетіледі.
| | | | | | | | | | | - Есептеу амалдарының жиыны
| | | | | | | | | - Қорытындылау, нәтижені баспаға алу
| | | - Бағынышты бағдарламаны шақыру
| | | - Анықтама, ішкі бағдарламалардағы формулалардың түсініктемесі
| - Алгоритмнің сызықты, тармақталған және циклдық структурасы, сонымен қатар қабаттасқан цикл структурасы болады. Күрделі есептерді шығарғанда алгоритмнің барлық түрлері қолданылуы мүмкін.
- Сызықты алгоритм деп блоктары бірінен соң бірі схемада көрсетілген тәртіппен орындалатын алгоритмді айтады.
- Есептеу процессі кейбір логикалық шарттардың орындалуына байланысты бір немесе бірнеше тармаққа бөлініп шығарылуы мүмкін, мұндай алгоритмдерді тармақталған деп айтады.
- Бір немесе бірнеше операциялар қайталанып орындалатын алгоритм циклдық деп аталады.
Сызықты алгоритм. - Егер барлық есептеу тізбектеліп, бірінен кейін бірі орындалатын болса, яғни есептеу процесінде бір кіріс бір шығыс болса онда ол процесс сызықты деп аталады.
- 1 мысал: Радиусы берілген шеңбердің ауданын есептеу алгоритмімен блок-схемасын құру керек.
- Есептің қойылымы:
- Алғашкы мәлімет: есепті шығару үшін шеңбер радиусы берілген.
- Нәтиже: есептелінген шеңбер ауданы.
- Есептеу моделі: S=Pi*R2.
- Алгоритм: «тізбектелу» - сызықты құрылымды сипаттайды, оның блок-схемасы суретте келтірілген. Бағдарламасы:
- 5 PI =3.1415
- 10 INPUT R
- 20 LET S=Pi*R^2
- 30 PRINT " S =" ; S
- 40 END
-
Егер есепті шығару нәтижесінде берілген шартқа байланысты бірінші немесе екінші есепті шешу жолын таңдау қажет болса, онда мұндай есептеу процесі тармақталған деп аталады. - Егер есепті шығару нәтижесінде берілген шартқа байланысты бірінші немесе екінші есепті шешу жолын таңдау қажет болса, онда мұндай есептеу процесі тармақталған деп аталады.
- мысал. АХ2+ВХ+С квадрат теңдеуін есептеу алгоритмімен блок-схемасын құру керек.
- Есептің қойылымы: Алғашкы мәлімет: есепті шығару коэффиценттері А,В және С.
- Нәтиже: есеп нәтижесі Х1 және Х2.
- Есептеу моделі: D=B2-4AC. Терсеру шарты: егер D<0 болса нақты түбір жоқ, әйтпесе теңдеудін екі бірдей немесе екі әртүрлі шешімі бар. Теңдеудің түбірін есептеу: Х1,2=(-B±
- алгоритм: тармақталу құрылымын сипаттайды, оның блок-схемасы суретте келтірілген
-
- + -
- + -
- Егер есептеу процесінде бір айнымалының мәні (цикл санауышы) өзгеру кезінде бір операция бірнеше рет қайталанатын болса (цикл денесі) онда бұл процесс циклді деп аталады.
- Циклді процестер көбінесе үлкен массивтердің қосындысымен көбейтіндісін есептеу кезінде қолданылады.
- Цикл ұйымдастырудың үш түрі бар . Олар: 1 – “Дейін", 2 – " Әзір", 3 – “Параметрлі цикл".
- Цикл құрылымының блок-схемасын салуды және программаны жазуды жеңілдету үшін алгоримдердің ықшамдалған түрі “Модификатор” немесе “Параметрлі цикл” қолданылады
-
- Мысал 1. у=ах2 функция мәнін есептейтін программа құру, Х -5-тен 5-ке дейін 0,5 қадаммен өзгереді.
- 10 REM “Функция мәнін есептеу”
- 20 INPUT A
- 30 FOR X=-5 TO 5 STEP 0.5
- 40 Y=A*X^2
- 50 PRINT “X=“;X, “Y=“;Y
- 60 NEXT X
- 70 END
Программалар – әр түрлі оперцияларды орындауға арналған командалар тізбегі. Олар – алгоритмдердің компьютерге түсінікті түрде жазылған нұсқасы ЭЕМ-де есеп шығару. - Кез келген жұмысты орындау үшін осы жұмыстың мақсатын білу керек. Егер жұмыс барысында есеп шығарылатын болса бағдардамалау тілі қолданылады, Кең тараған бағдарламалау тілдеріне Basic, Fortran, Pacscal, Delphi, С тілдері жатады.
- ЭЕМ-де бағдарламаның орындалуы үшін бағдарлама (программа) қатаң ережелер бойынша ЭЕМ-де өңдеуге түсінікті дәрежеде жазылуы тиіс.
- Мұндай ережелер жиыны программалау тілі немесе алгоритмдік тіл деп аталады.
ЭЕМ-де есепті шығару мен дайындау процедурасы күрделі және көпжұмысты процесс, ол келесі этаптардан тұрады: - ЭЕМ-де есепті шығару мен дайындау процедурасы күрделі және көпжұмысты процесс, ол келесі этаптардан тұрады:
- 1 - есептің қойылымы (тапсырма құру)
- 2 - есептің математикалық қойылымы (формулировкасы)
- 3 - есеп шығарудың алгоритмін құру
- 4 – программалау тілінде программа құру
- 5 – берілген мәліметтерді дайындау
- 6 – программа мен берілген мәліметтерді ЭЕМ-ге енгізу
- 7 – программаны түзету
- 8 – программаны тестілеу
- 9 – ЭЕМ-де есепті шығару мен шешімдерді өңдеу
- Программалардың мынадай түрлері бар: ЭЕМ-ге арналған программалар, станокты, роботтарды және басқа кұрылғыларды басқаруға арналған программалар.
- Алгоритмді компьютерге түсінікті тілде жазылуы үшін арнайы бағдарламалау тілдері (бейсик, паскаль, фортран, т.с.с) қолданылады.
0>
Достарыңызбен бөлісу: |