Назар аударыңыз. Бұл материалды сайт қолданушысы жариялаған. Егер материал сіздің авторлық құқығыңызды бұзса, осында жазыңыз. Біз ең жылдам уақытта материалды сайттан өшіреміз
Жақын арада сайт әкімшілігі сізбен хабарласады
Бонусты жинап картаңызға (kaspi Gold, Halyk bank) шығарып аласыз
Алгоритм және оның мүмкіндіктері
Дипломдар мен сертификаттарды алып үлгеріңіз!
Материалдың толық нұсқасын
жүктеп алып көруге болады
1
2
Молдаханова С.А., Каршикенова А.Б.
Шымырбаева Ж.С., Жаксибергенова А.С.
(әдістемелік құрал)
3
УДК 37.0
ББК 74.04
К 20
Пікір берушілер:
Семей қаласының Шәкәрім атындағы мемлекеттік университетінің
«Информатика және ақпараттық технологиялар» кафедрасының аға оқытушысы,
магистр Абишева А.А.______________________________________
Қазақ инновациялық гуманитарлық – заң университетінің «Информатика
және математика» кафедрасының оқытушысы, магистр Еркінбек Ә.Е._________
Молдаханова С.А., Каршикенова А.Б.
Шымырбаева Ж.С., Жаксибергенова А.С.
К 20 «Алгоритм және оның мүмкіндіктері» әдістемелік құралы /
Семей, 2017 ж.- 110 бет.
ISBN 978-601-248-327-7
Ұсынылып отырған оқу құралы жоғары оқу орындарына және орта
мектептерге арналып жазылған. Оқушылардың информатика пәніне деген
қызығушылығын арттыруға, алгоритм түсінігін толық меңгеруге, оларға
пайдаланылатын мүмкіндіктерімен танысып, толығымен меңгеру. Өз
қолданыстарына пайдалануға мақсат етіліп жазылған. Сонымен қатар,
информатика пәніне арналған әдістемелік құрал ретінде оқу үрдісінде, сабақтан
тыс жұмыстарында кеңінен қолдануға мүмкіндік туғызады. Әдістемелік құралда
алгоритм бойынша тақырыптар мен бақылау сұрақтары, деңгейлік тапсырмалары,
арнайы тест сұрақтары қамтылған.
УДК 37.0
ББК 74.04
© Молдаханова С.А., Каршикенова А.Б.
Жаксибергенова А.С., Шымырбаева Ж.С., 2017
4
АЛҒЫ СӨЗ
Алгоритм, алгорифм (ағылшынша: algorіthm, algorіsmus — Әл-Хорезмидің
атынан шыққан) — бастапқы берілген мәліметтермен бір мәнде анықталатын
нәтиже алу үшін қай амалды (жұмысты) қандай ретпен орындау қажеттігін
белгілейтін есептерді (мәселелерді) шешу (математикалық есеп-қисаптар орындау,
техникалық объектілерді жобалау, ғылыми-зерттеу жұмысын жүргізу т.б.)
тәсілдерінің дәл сипаттамасы.
Алгоритм — математика мен кибернетиканың негізгі ұғымдарының бірі.
Алгоритмді орындау алгоритмдік процесс деп аталады.
Жалпы алгоритм деп алдын ала не істеу керек екені дәл көрсетілген есептеу
процесін айтады. Есептеу процесі қандай болса да алғашқы мәндерден бастап, сол
арқылы толық анықталған қорытынды шыққанша жүргізіледі. Алгоритм
ұғымының алғышартына алгоритмдік процеспен қатар мүмкін болатын алғашқы
деректер жиынтығының нұсқауы және қорытынды алуға байланысты жүргізілген
процестің аяқталғандығын көрсететін ереже енеді. Белгілі бір бастапқы
деректердің жиынына қолданылған алгоритм тиянақты қорытындыға келмеуі
немесе есептеу барысы аяқталмай тоқталуы мүмкін. Егер есептеу процесі белгілі
бір қорытынды алумен аяқталса (не аяқталмай қалса), онда алгоритм мүмкін
болатын бастапқы деректерге қолданылады (не қолдануға болмайды) деп
ұйғарылады.
Алгоритм — қазіргі математикада, оның ішінде электронды есептеуіш
машинада қолданылатын негізгі ұғымдардың бірі. Белгілі бір теңдеу түбірінің
жуық мәнін кез келген дәлдікпен табу алгоритммен есептеледі. Компьютердің кең
қолданылуына байланысты алгоритм жаңа мағынаға ие болды. Берілген есепті
шешу барысында орындаушыға біртіндеп қандай әрекеттер жасау керектігін
түсінікті әрі дәл көрсететін нұсқау да алгоритм деп аталады. Алогритмді
орындаушы — адам, ЭЕМ немесе робот.
5
АЛГОРИТМ ТҮСІНІГІ
Алгоритм – информатика пәнінің негізгі ұғымдарының бірі. Компьютерді
қоғам өмірінің қай саласында болмасын пайдалана білу үшін алгоритм ұғымын
меңгеру керек.
«Алгоритм»-сөзі мағынасы жағынан нұсқау, жарлық, рецепт, ереже, тәртіп,
заң, жоба сөздеріне синоним болып келеді. Алгоритм сөзі Орта Азияның
ортағасырлық ұлы ғалымы – Мұхамед ибн Мұса әл-Хорезмидің атымен
байланысты шыққан. Осы жерде обсерваториялар, ғылыми орталықтар салынды.
Араб мемлекетінің астанасы Бағдадта «Даналық үйі» құрылды. Сол кездегі
оқымыстылардың бірі - Хорезми Мұхаммед ибн Мұса (787-850). Толық аты Абу
Адделах Мұхаммед беи -Мұса аль-Хорезми. Араб тілінен аударғанда
«Абдаллахтың әкесі Мұхамедтің ұлы Мұса, Хорезма жерінікі». Ол жылдар
«Даналық үйінде» жұмыс істеген.
Әл – Хорезми – Орта Азияның математигі, әрі астрономы (9 ғасыр). Ол
Хиуада дүниеге келген. Өмірінің ұзақ уақытын Бағдадта өткізген.
Әл-Хорезми өзінің ұрпаққа өлмес мұра етіп қалдырған төмендегідей 9 ірі
көлемді шығармалардың авторы болып саналады:
1. Үндістан арифметикасы туралы кітап - Көне Үндістан есептерінің және
амалдарының талдануына арналған;
2. Алгебра (Ал-джабр) және алмукабаланың есептеулері туралы қысқаша кітап
- Алгебра ғылымының негізгі қағидалары мен амалдарын жинақтауға
арналған;
3. Астрономиялық таблицалар (зидж) – Жұлдызнамалық еңбек, яғни аспан
денелерінің, ғаламшарлардың қозғалысын зерттеуге арналған ;
4. Жер шары бейнесінің кітабы - Планетамыздың жағрапиясы, яғни Жер
бедерін, елдер мен өзен, көлдерді, таулар мен шөлдердің орналасуын
анықтап, картаға түсіруге бағытталған;
5. Астролябияның көмегімен жасалатын зерттеу әдістері туралы кітап;
6. Күн сағаттары туралы кітап;
7. Еврейлер дәуірінің (пайғамбарлар дәуірі) сипаты және оның мейрамдары
туралы трактат;
8. Тарих кітабы – адамзат тарихына арналған туынды
Сонымен қатар, оның «Жер түрлері» жайындағы кітап араб тілінде жазылған
бірінші географиялық кітап болды. Бұл кітап 1878 жылдан белгілі. Хорезмидің
астролябия күн сағаты туралы да еңбектер жазған, астрономиялық,
тригонометриялық таблицалар жасаған. Хорезмидің еңбектері ХІІ ғасырдан
бастап латын тіліне аударылып, Европаға кеңінен мәлім болды. Оның есіміне
байланысты алгоритм термині қалыптасты.
Ол өзінің «Арифметикалық трактат» деген еңбегінде арифметикалық
амалдарды орындау тәртібін ұсынған. Сөйтіп, арифметикалық амалдарды орындау
6
ережесі, геометриялық фигураларды салу ережесі, сөздердің жазылуының
грамматикалық ережесі т.с.с. алгоритм деп аталып кеткен.
Анықтама. Алгоритм деп алдын ала анықталған мақсатқа жету үшін,
есептің шешімін табу үшін орындаушыға (адамға, компьютерге және т.б.) берілген
түсінікті нұсқаулардың тізбегін айтады.
Алгоритмдер жазу үшін уақыт кетіріп ерекше тіл үйренудің қажеті неде?
Алгоритмдерді қазақ тілінде-ақ жаза берсек болмас па екен? – деген сұрақ тууы
мүмкін. – Біздің ана тіліміз соншалықты бай, жан-жақты, тек алгоритмдер ғана
емес, одан басқа да кез келген нәрселерді суреттеп бере алады.
Әрине тілдің жан-жақтылығы, бір нәрсені алуан түрлі сөзбен жеткізе
алатындығы, керісінше, жалғыз ғана сөзбен неше түрлі сезім толқындарын
тудыратындығы адамдардың өзара қатынасы, көркем әдебиет, мәдениет және т.б.
үшін өте құнды.
Алайда, алгоритмдерге келгенде мәселе басқаша. Мәселе алгоритмдерді
орындаушылардың басым көпшілігі автоматтар екендігінде болып тұр. Дәлірек
айтқанда, жаңа нұсқауларды автоматтың негізгі командаларына сүйеніп, қатаң
ережелерді сақтай отырып құрастыруға болады.
Литерлік шама деп мәндері сөздері немесе мәтін болып келген шаманы
айтамыз.
Информатикада негізгі түсініктердің бірі – алгоритм. Информатикада өңдеу
ережесін Алгоритм деп қарастырады. «Алгоритм» деген сөздің шығуы
математикамен байланысты. Ол – көп разрядты бүтін сандар үшін
арифметикалық (қосу, алу, көбейту, бөлу) амалдардың орындалу ережелерін
алғаш құрастырған адам. Мысалы, көп разрядты екі бүтін санды қосу үшін
мынадай ережені орындау керек:
1. Екі көпзарядты бүтін сандарының мәндерін анықтау;
2. Берілген екі санды бірінің астына бірін разрядтарын сәйкестендіріп жазу;
3. Егер осы сандардың біреуінің үлкен разрядтары жетіспесе, оны нөлдермен
толтыру;
4. Ең кіші разрядта қосу амалын орындау және келесі разрядты қарастыруға
көшу. Бұл жағдайда, келесі үлкен разрядқа өтетін бірлік пайда болса, онда
еске сақтап қою керек.
5. Барлық разрядтар біткенше оңнан солға жылжи қарастырып есте сақталған
бірлікті ескеріп және пайда болған жаңа үлкен разрядқа өтетін бірлікті
қайтадан еске сақтай отырып әрбір разрядқа қосу амалын орындау;
6. Нәтиже ретінде барлық разрядтарда қосу амалы орындалғаннан кейін,
шыққан санды аламыз және есте сақталған бірілік болса, онда оның
нәтиженің ең үлкен разрядының мәні ретінде есептейміз.
Бұл жазылған ережемен екі көпразрядты бүтін санды қосу үшін
орындаушының қазақ тілін білуі (себебі, ереже қазақ тілінде жазылып тұр) және
бір разрядты сандарды қосатын қабілеті болуы қажет.
Екі көпразрядты бүтін сандарды қосу мысалы 1 – кестеде көрсетілген.
7
Кесте 1 Екі санның қосындысын ереже бойынша табу
Орындалатын
нұсқаудың
нөмірі
Орындалған
нұсқаудың
іздері
Түсініктеме
1 997 76 Екі санның мәндері анықталады
2 997
76
Бірінің астына бірі жазылады
3 997
076
Жетіспеген үлкен разряд нөлмен
толықтырылады.
4 +997
076
13
Ең кіші разрядты қосу кезінде
келесі үлкен разрядқа өтетін
бірлік пайда болады.
5 +997
076
73
Келесі разрядты қосқан кезде
тағы да үлкен разрядқа өтетін
бірлік пайда болады.
6 +997
076
073
Соңғы разрядты қосқан кезде
тағы да үлкен разрядқа өтетін
бірлік пайда болады.
7 1073 Ең үлкен разрядқа өтетін бірлік
есептеліп нәтиже алынады.
Енді бізге керек орындаушының ондық сан деген ұғымды білетін, екі көп
разрядты бүтін санды көбейте алатын және қазақ тілін түсінетін қабілеті бар деп
алып, кез-келгшен екі ондық санды көбейтуге болатын ережені құрастырайық:
1. Екі ондық санның мәндерін анықтау;
2. Осы сандардағы ондық белгісін көрсететін үтірді ескермей, оларды бірінің
астына бірін бүтін көбейткіштер ретінде жазу;
3. Көбейткіштерді көбейтіп көбейтіндіні табу;
4. Берілген екі ондық сандардағы үтірдің оң жағындағы таңбалардың санын
қосу;
5. Нәтиже ретінде үтірден кейінгі таңбалардың саны 4 қадамнан шыққан санға
тең болатындай етіп жазылған 3-қадамнан шыққан көбейтіндіні аламыз. Мұнда
көбейтіндідегі барлық таңбалардың саны 4-қадамнан шыққан санна кем болса,
онда үтірдің сол жағына бір нөл қойылады да, үтірдің оң жағына алдымен
жетіспеген таңбалардың орнына нөлдер, соңынан көбейтіндінің мәні жазылады.
8
1-сұлба. ЭЕМ-де есептің шығарылу этаптары
Алгоритм – ережелер, нұсқаулар жүйесі. Алгоритм – алғашқы
мәліметтерден ізделінетін нәтижелерге бағытталған үрдістерді анықтайтын іс-
әрекеттердің нақты тәртібі, және төмендегідей қасиеттері бар:
▪ Нақтылық т.с.с. жалпы түсініктілік;
▪ Бұқаралық, т.с.с. бірдей типті есептерді шешуде, әртүрлі мәліметтерді
қолдану мүмкіндіктері;
▪ Нәтижелік, т.с.с. ізделінді нәтижені алуға бағыттылық;
▪ Дискреттік, орындауға іс-әректтің немесе қадамның соңғы тізбегіне
бөлінеді;
▪ Шектік, т.с.с. соңғы уақытта орындалу керек. Алгоритмдерді
таныстыру үшін бірнеше тәсілдер қолданылады;
▪ Сөздік (табиғи тілде);
▪ Графиктік (блок схема тілінде);
▪ Псевдокод-бағдарлама жобалау арнайы тілдердегі символдардың
көмегімен;
▪ HIPO – диаграммасын қолданумен;
▪ Кесте қолдану арқылы;
▪ Бағдарламалаудың бір алгоритмдік тілінің көмегімен;
▪ Насси – Шнейдерман схемасының кешенімен;
▪ Бағдарламалаудың кез келген бір алгоритмдік тілімен.
Алгоритмдерді өңдеудің типтік этаптары:
▪ Алгоритмнің жалпы мағынасын сипаттау;
▪ Есептің қалыптасуы;
▪ Алгоритмнің жалпылама схемасын өңдеу;
▪ Блоктардың қиылысуы;
▪ Стандартты блоктарды қолдануда мүмкіндіктерді анықтау;
6
Бағдарлам
аның
өңделуі
2
Физикалық
модельдеу
7
Есептерді
алгоритмдеу
5
Бағдарламаны
тестілеу және
тексеру
1
Есептің
қойылымы
4
Нәтижелер
анализі
3
Математикалық немесе
информациялық модельдеу
9
▪ Логикалық бақылаудағы блоктарды өңдеу;
▪ Алгоритм схемасын оптимизациялау;
▪ Параметрлерді анықтау;
▪ Машиналық ресурстарды бағалау.
Алгоритм дегеніміз- іздеген нәтижеге жеткізетін әрекеттер тізбегі, яғни
орындаушының белгіленген мақсатқа жетуіне бағытталған түсінікті де дәл
ұйғарым.
Кез келген есепті компьютер көмегімен шығару жұмысын келесі этаптарға
бөлуге болады.
1) Есептің математикалық қойылымы;
2) Таңдалған есепті қалыптастыру;
3) Есептің алгоритмін құру.
4) Бағдарламалау тілінде бағдарлама құру;
5) Бағдарламаны тестілеу және тексеру;
6) Алынған нәтижелерді есептеу және сараптау.
Алгоритмді оқытудың теориясы мен тәжірибесі
Алгоритмді оқытудың теориясы мен тәжірибесі ұғымы жалпы ғылыми
категориямен толық үндеседі. Информатика тілінде теория компьютерлік әлемнің
жұмысын, қасиеттерін түсіндіру немесе болжау құралы, ал тәжірибеде теория
мен теорияларға арналған гипотезалар көзін тексеру құралы. Мысалы, дәріс
сабағында мәліметтер қорын басқару жүйесіне қатысты теория: іздеуге
сұранысты құру ережесі және т.б. Тәжірибеде оқушы машинамен меңгеріп,
дәлелдеу теориялық әдіспен жүргізіледі. Бірақ, бұл тәсіл аса күрделі емес
алгоритмдерден шектеледі.
Алгоритмді құру немесе түрлендіру – бұл оқушының жұмыс істеуіне,
нұсқауына негізделген теориялық іс-әрекет. Тәжірибенің негізгі түрі ешқандай
ережесіз компьютерлік ортаны зерттеу болып табылады. Тіпті, ағылшын тіліндегі
нұсқау қолда болғанмен, оның мазмұны барлық уақытта түсінікті бола бермейді.
Жұмыстың комбинацияланған әдісі бағдарламаны жүргізу болып
табылады. Бұл жерде қатенің себептерін тәжірибелік талдау мен оны тәжірибелік
тексеру өзара үйлесім табады.
Алгоритм курсын мектепте оқытудың рөлі
Алгоритмдеу мен бағдарламалауды оқытудағы негізгі мәселе –
бағдаламалау тілін, алгоритмді жазу тілі мен ЭЕМ-нің түрін таңдауға
байланысты. Ал, одан да аса маңызды мәселенің бір - алгоритмдеу
проблемаларын шешуге пайдаланылатын әдісті таңдау.
«Информатика» курсы ақпаратты автоматты түрде өңдеу технологиясын
қазіргі кездегі ерекшеліктері бойынша біріккен ақпарат – алгоритм – ЭЕМ сияқты
10
осы ұғымдар жүйесі оқушылар міндетті түрде теориялық даярлықтың деңгейін
анықтайды. Оқытудың нақты мазмұны алгоритмдік мәдениеттің және олардың
компьютерллік сауаттылығын компонентттерінен құралады.
ЭЕМ-де ақпараттарды автоматты түрде өңдеу нәтиже шығарып алғанға
дейінгі аралықта ЭЕМ-мен есеп шығаруға дайындық жасау мен есеп шығарудың
үш кезеңін: алгоритмдендіруді, бағдарламалауды және ЭЕМ-де есеп шығаруды
талап етеді.
Осы уақытқа дейінгі қалыптасқан тәжірибелерден, бағдарламалауды оқыту
мен бағдарлама жасауда үш негізгі тәсілді бөліп көрсетуге болады:
1) дәстүрлі тәсіл; 2) алгоритмдік тәсіл; 3) жүйелік тәсіл.
Бірінші, дәстүрлі тәсіл бағдарлама жасауда төмендегідей әрекеттерді
атқарудан тұрады: есеп-бағдарлама-ЭЕМ. Ол төмендегідей кезеңдерді қамтиды:
1) бағдарлама жазу;
2) бағдарламаны ЭЕМ-ге енгізу;
3) бағдарламаны ЭЕМ-де жүргізу.
Бұл әдістің ең қиын кезеңі бағдарламаны жүргізу. Бағдарламаны жүргізу
дегеніміз (отладка)-бұл ЭЕМ-ге енгізілген бағдарламадағы қатені түзету мен
іздеу процесі. Бұл процесті келеңсіз жайт бағдарламадағы қате санының авторға
алдын-ала белгісіздігі. Оқытуда мұндай тәсілді пайдалану – ЭЕМ-де жұмыс істеу
икемділігі қалыптасқан оқушылар үшін ғана тиімді. Ал, қалған оқушылардың
өзінің бағдарламасындағы қатені тауып, түзетуге мүкіндігінің жоқтығы ЭЕМ-де
жұмыс орындау мүмкіндігінен айырады.
Келесі, екінші алгоритмдік тәсіл – бағдарлама мәтінін жазғанға дейін
қойылған есепті шешу алгоритмін құруға негізделген:
Есеп-алгоритм-бағдарлама ЭЕМ
Құру-жазу-енгізу
Бұл әдіс бойынша бағдарлама жазу төмендегідей кезеңдердей кезеңдерді
қамтиды:
1) алгоритм құру;
2) бағдарлама жазу;
3) ЭЕМ-ге бағдарламаны енгізу;
4) ЭЕМ-де бағдарлама жүргізу.
Бұдан, бұл технологияның алгоритмді жазу ережесі мен құралдарын
таңдаудың барынша маңызды екені көрінеді. Мұндай жолды 1969 жылы
голландиялық профессор Э.Дикстра ұсынды. Ол бағдарлама логикасын
баяндауда қатаң түрде құрылымдық алгоритмдерді пайдалануды негізге алды.
Дикстра мұндай алгоритмдердің мәтініне қойылатын талапты да бірден көрсетті:
1) алгоритмді оқу мен түсінудің қарапайымдылығы;
2) өзгерістер мен түзетулер енгізудің қарапайымдылығы;
3) алгоритмнің дұрыстығын талдаудың қарапайымдылығы.
Жаңа курс мектеп оқушысының математикалық танымын кеңейтеді, оны
есепті ЭЕМ-де шешуге қойылуы мен есептің шешуі ерекшеліктерін толық
11
қанағаттандыратын және қолданылу салаларына қатысты бесаспап құрал етеді.
Бұл инструментарийге мыналар енеді:
Теориялық жаңа білімдер:
• математикалық объектіні компьютерлік зерттеу талаптарын
қанағаттандыратын маткматикалық модель түрінде бейнелеу ережесін білу;
• алгоритмдердің жазылу формаларын білу;
• алгоритмдердің типтерін білу;
• алгоритмдік тілдің (адамға бейімделген) ережесі мен грамматикасын білу;
• бағдарламалау тілдерінің (машинаға бейімделген) біреуін білу және оған
сәйкес бағдарламалық қамтамасыз ету мен қолданбалы бағдарламалар
пакеттері жайлы түсініктер.
Оқушыға оқулық есептерді алгоритмдендіруге, бағдарламалауға және ЭЕМ-де
шешуге мүкіндік беретін жаңа практикалық икемдіктер.
«Информатика» курсының басты мақсаты ЭЕМ-да есептер шешуді іске
асыратын негізгі ережелер мен әдістер туралы түсініктерді және есептер шешу
үшін микрокомпьютерлерді пайдаланудың қарапайым икемдіктерін
қалыптастыру, сондай-ақ оқушыларды осы заманғы қоғамдық өндірістегі ЭЕМ-
нің ролімен және есептеуіш микропроцессорлық техникаларды дамыту мен
оларды әрі қарай пайдалану перспективаларымен таныстыру. Жаңа курстың
бағдарламасы оқушылардың орта мектепте алатын жалпы білімдері мен
икемдіктеріне тікелей сүйенген. Бұл курста оқушылардың мектеп
математикасында дәстүрлі түрде қалыптастырылатын математикалық модельдеу
білімдері мен икемдіктері едәуір кеңейтіледі. Курс әдістемесінде мәдениетті
қалыптастыруға ерекше назар аударылған, оқушылардың осы заманғы қоғамдық
өндірістің талаптарын қанағаттандыратын жеке басының ерекшелігін
тәрбиелеуге, ойлау деңгейін көтеруге, ақыл-ой парасатын дамытуға ерекше көңіл
бөлінді.
Жаңа курс мәселелеріне мыналар енеді:
• орта мектептің алгебра курсындағы алгоритмдік бағытты жүйелеу және
аяқтау;
• алгоритмдендірудің негізгі икемдіктерін игеру;
• қазіргі ЭЕМ-мен есептер шешу алгоритмдерін нақтылай іске асырудан
тұратын алгоритмдік бағыттың қолданбалық және политехникалық
бағдарларын нығайту;
• алгоритмді орындауды автоматтандыру мүмкіндігі туралы түсінікті
қалыптастыру;
• ЭЕМ-ның құрылысы мен жұмыс істеуінің жалпы принцптерін қарастыру
мысалында осы заманғы есептеуіш техниканың негіздерімен таныстыру;
• Бағдарламалау тілдерінің бірінде бағдарлама жасаудың негізгі әдістерімен
таныстыру;
12
• Есептеуіш техниканың қоғамды дамытудағы ролімен, оның қолданылатын
негізгі салаларымен таныстыру.
Орта мектептің сатылары бойынша информатика курсын оқытуды екі
кезеңге бөліп қарастырады.
1- кезең (7-9 сыныптар)-негізгі курс деп аталады, ол информатика пәні
бойынша оқушыларды міндетті жалпы біліммен қамтамасыз етуге бағыттыалған.
Бұл кезеңде оқушылар компьютермен алғаш танысады, ЭЕМ-нің архитектурасы
мен информациялық технологиямен жұмыс істеу тәсілдерін үйрене отырып, оқу
процесінде компьютерді жан-жақты, тиімді пайдалана отырып, өзіндік танымдық
іс-әрекеттерін қалыптастырады. Негізгі курсты оқытуда басқару ісіндегі
информацияның мәні, информациялық процестердің жалпы заңдылықтары және
жүйелі – информациялық тәсілдер туралы түсініктер қалыптасады. Бұл кезеңде
оқушылар алгоритм, алгоримтнің құрылымдары (сызықтық, тармақталған,
қайталану), бағдарламалау тілдерімен танысып, оны алгоритм жазуда және
қолданбалы есептерді шешуде пайдалану жолдары мен мүмкіндіктері туралы
мағлұматтар алады.
2 -кезең (10-11 сыныптар) бағдарлы курс, мұнда оқушылар кәсіптік бағдар
бойынша оқытылады. Ол оқушылардың сұранысына, қабілетіне және
қызығушылығына байланысты сараланған мазмұнмен беріліп, оларға кәсіптік
мамандық деңгейіндегі дәрежеде білім беріледі. Мысалы, оқушы жаратылыстану
– математика бағдары бойынша оқыса, онда бағдарламалау тілі тереңдетіліп
оқытылады. Сонымен қатар, «Дербес компьютерді пайдаланушы», «Компьютер
және іс-қағаздарын жүргізуші» және т.б. курстар енгізілген. Егер базистік
жоспардың өзгермелі бөлігінің есебінен курсты оқыту 136 сағатқа дейін
арттырылса, онда оқушыларға мамандыққа сәйкес куәліктер беру мүмкіндігі
туады.
Білім беру жүйесінің басты міндеті-ұлттық және жалпы адамзаттық
қазыналар ғылым мен практиканың жетістіктері негізінде жеке адамды
қалыптастыру және дамыту үшін қажетті жағдайлар жасау. Әрине, мемлекет
зиялы болу үшін оның әр азаматы зиялы болуы қажет. Бұл білім беру процесінің
үздіксіз болуын талап етеді. Білім беру үздіксіз процесс болса, информатиканы
оқыту да үздіксіз болуы қажет.
Жалпы білім беретін орта мектепке арналған информатикадан мемлекеттік
білім беру стандарты осы мәселені көздейді.
Ал, стандартты осы пәнді орта мектепте үздіксіз білім беру
тұжырымдамасына негізделіп жасалынған. Тұжырымдама білім беру жүйесін
демократияландыру принцптерін жүзеге асыруға бағытталып құрылған. Мұнда
оқушы өз бетімен танымдық қызмет жасап, дами алатын субъект болса, мұғалім
осы қызметтің тиімді ұйымдастырылуына, нәтижелі болуына жауап беретін,
шығармашылықпен жұмыс істейтін жеке тұлға.
Жалпы информатика курсының мазмұны мынадай екі дидактикалық
мәселені шешуге бағытталуы керек:
13
1) Компьютер-оқыту объектісі;
2) Компьютер – универсал таным құралы.
Оқушы таным субъектісі болған кезде бұл екі мәселе бірін-бірі толықтыра
отырып, курстың негізгі мазмұнын құрайды.
Информатика курсының негізгі мектептегі мазмұны мынадай үш кешенді
мәселелердің төңірегінде шоғырланған: біріншісі-компьютерлік техникамен
танысу, оның негізгі элементтері мен жалпы жұмыс істеу принцптерімен танысу;
екіншісі – алгоритмдеу және бағдарламалау негіздерін оқып үйрену; үшіншісі –
информатиканың қолдану шеңберін анықтау.
Мұнда оқыту моделі оқушыны жеке тұлға ретінде дамытуға бағытталған:
мақсат – мотив – қызмет – рефлекция – теориялық білім өрнегімен анықталатын
түрі таңдалынып алынады.
Сонымен, орта мектепте информатика курсын оқытудың мақсатына сай,
алгоритмдеу мен бағдарламалау бастамасының міндетіне мыналар кіреді:
1. ЭЕМ-ның көмегімен шешуге арналған есептің қойылу техникасы
жайлы ұғымды түсіндіру;
2. әртүрлі мектеп пәндерінен қарапайым есептерді шешу әдісі мен
моделін таңдау;
3. физика, математика және басқа да сабақтар бойынша ЭЕМ-де есептер
шығаруға қарапайым алгоритм құру іскерлігін қалыптастыру;
4. қандай да бір бағдарламалау тілінде қарапайым бағдарлама құрып,
оны есептегіш машинада жүргізу іскерлігін қалыптастыру;
5. қазіргі есептегіш техниканың негізгі мүмкіндіктері мен оның даму
болашағы жайлы білім беру;
6. ЭЕМ-нан алынған нәтижені талдау іскерлігін қалыптастыру.
Мұндай бағдарламаны жүзеге асыруды әдістемелік негізі ретінде ЭЕМ-де
есеп шығаруға дайындалу іс-әрекетін былай көрсетуге болады:
Есеп тәсіл
Қойылымы әдіс
Сценарий алгоритм
ЭЕМ бағдарлама
Кез келген есепті компьютер көмегімен шығару жұмысын келесі этаптарға
бөлуге болады:
1. есептің математикалық қойылымы;
2. таңдалған есепті қалыптастыру;
3. есептің алгоритмін құру;
4. бағдарламалау тілінде бағдарлама құру;
5. бағдарламаны тестілеу және тексеру;
6. алынған нәтижелерді есептеу және сараптау;
Бұл тізбекті ЭЕМ-да есепті шығарудың технологиялық тізбегі деп атайды.
Алгоритмдік тілді меңгеру IX сынып информатика курсының маңызды
мәселелерінің бірі болады. Алгоритмдік тіл оқытуда екі негізгі міндет атқарады.
14
Біріншіден, оны қолдану курста қарастырылатын барлық алгоритмдерді
стандарттауға, оларға ортақ форма беруге мүмкіндік жасайды, бұл жайт
алгоритмдендірілген мәнін түсіну үшін алгоритмдердің қасиеттері туралы
түсініктері қалыптастыру үшін маңызды. Екіншіден, алгоритмдік тілді оқу
бағдарламалы тілін және оны пайдалану ережесінің құрылымдық қарапайымдығы
бұл тілді бағдарламалау элементтеріне баулудың бастапқы кезеңінде ойдағыдай
қолдануға мүмкіндік береді. Оның негізгі құрылымдарының ережелері көптеген
бағдарламалау тілдерінің негізіне алынған. Сондықтан алгоритмдік тілді игеру
келешекте бағдарламалау тілдерін пайдалануға көшкенде жеңілдік жасайды.
Оқушылардың алгоритмдік мәдениеті
Математиканы тереңдетіп оқытатын мектептерде бағдарламалауды оқыту
арнайы және профессионалды-бағытталған мүмкіндіктердің үлкен бөлігін
қарастырады. Бірақ, сонымен қатар ЭЕМ-ге жалпы білім беруде әсер етуді зерттеу
және барлық орта мектептерде оқуды қамтамасыз етуде адамның жұмыс істеуінің
жаңа облысы етінде бағдарламалау енеді. Басынан бастап бағдарламалау
облысынан алынған әдістер мен идеялардың жалпы білім беретін күші мектептік
білім беруде жаңа фундаментальды компоненттерді қамтамасыз етуді дамыту
үшін үлкен потенциалды жүзеге асыратыны белгілі.
ЭЕМ үшін бағдарламалау негізіне алгоритмдеу түсінігі жатады. Ол кең
мағынада берілген тілдің әдістерімен алгоритмдерді суреттеп және құрылымын
жасау процесі ретінде қарастырылады. Бірақ алгоритмдеу адамның нақтыланған
орындаушыларымен қарым-қатынасына сүйенетін әдіс ретінде ЭЕМ үшін
бағдарламаны құрумен ғана байланысты емес. Модельдеу сияқты, алгоритмдеу –
бұл кибернетиканың жалпы әдісі. Әр түрлі жүйелерді басқару процесі қандай да
бір алгоритмді құрастыруға әкеледі. Алгоритмді құру ең қарапайым автоматты
құрылғыларды жасау және басқарудың автоматты жүйесін қиын өнімді
процестерді өңдеумен байланысты. Алгоритмдеудің түпкі негізі қазіргі
математиканың теориялық облысында – алгоритмдер теориясында жатыр, бірақ
практикалық мағынада алгоритмдеу алгоритм туралы рационалды ойлау
қабілетіне негізделген анықталған практикалық әдістер жинағы ретінде түсініледі.
Алгоритмдік процестер туралы түсінік және оларды суреттеу әдістері
иформатика мен есептегіш техника шыққана дейін мектептік пәндерді оқыту
кезінде оқушылар түсінігінде қалыптасқан. Мектептік пәндер арасында негізгі
роль математикаға түсті, өйткені операциялық және алгоритмдік іс-әрекеттер
оқыту жұмысы элементінің бірін құрады. Шынында да, негіздеу, жазу қабілеті,
математикалық алгоритмдерді тексеру, сонымен қатар оны әрқашанда нақты
орындау оқшылардың математикалық мәдениетінің маңызды компонентін құрады,
бірақта «алгоритм» термині мектептік оқыту програмасында қолданылмауы да
мүмкін еді. ЭЕМ-нің және бағдарламалаудың көбеюіне байланысты
математикалық мәдениеттің бұл секторы өзіндік мағына ала бастады, тек қана
15
алгоритмдеудің белгілі компоненттерінің есебімен оны толықтыру қажет болды.
Сонымен қазіргі әрбір адамның жалпы мәдениетінің жаңа элементін анықтайтын
спецификалық түсінігінің арқасында және жалпы мектептік білім алуды қосу
нәтижесінде оқушының алгоритмдік мәдениеті деген атау алды.
Төменде алгоритмдеу негіздерін жалпы оқыту анализі негізінде
құрастырылған алгоритмдік мәдениет компоненттерінің суреттелуі мен құрылымы
келтірілген:
1. Алгоритм түсінігі және оның оның құрамы. Алгоритм түсінігі
алгоритмдеудің орташа түсінігі, және де алгоритмдік мәдениеттің негізгі
компоненті болып табылады. Алгоритмдеуді оқытуда бұл түсінікті математикалық
дәлдікпен қолданудың қажеті жоқ, тек қана оны интуитивті-көрнекі деңгейде
түсіндіру жеткілікті.
2. Алгоритмдерді суреттеу тілінің түсінігі. Алгоритмді суреттеу мәселесі
әрқашанда суреттеу орындалған кейбір тілдердің түрін көрсетеді. Сондықтан
алгоритм түсінігінің өзі алгоритм мазмұнының әдісі ретінде тіл түсінігімен
үзілмес байланысты. Әрбір жеке жағдайда тілді таңдау алгоритмді қолдану
облысымен анықталады, яғни орындаушы ролінде қатысатын объектілердің (адам,
автомат, компьютер) курамы анықталады. Орындаушы қарым-қатынасындағы
тілдік мүмкіндіктердің шекараларын қатал сақтауда алгоритмдеудің кейбір
мағынасында қызмет етеді. Бұл жағдайды түсіну және әрбір суреттеудің
мүмкіндіктерін дәл сақтау да алгоритмдік мәдениеттің маңызды компонентін
құрайды.
3. Суреттеуді нақтылау деңгейі. Суреттеуді нақтылау деңгейі түсінігі тілдің
түсінігімен ажырамас байланыста. Егер суреттеу автомат үшін құрастырылса,
онда бұл жағдайда қолданылатын тіл тілдің синтаксисін құрайтын нақты ережелер
жүйесіне сәйкестендірілген қатаң шектеулерге бағынады. Мұндай жағдайда тілдің
өзі нақтылана түседі. Бірақ тәжірибеде алдын-ала суреттеуді құрастыру кезінде,
алгоритмдерді құру процесінде тек қана қатаң шектеулер ғана қолданылмай,
тілдік әдістер де қолданылуы мүмкін. Сонымен қатар, мұндай жағдай алдын-ала
құрастыру процесінде ғана мүмкін емес. Егер де, мысалы, алгоритм адамға
жіберілсе, онда алгоритмдеудің соңғы варианты нақты емес, «қалқымалы» көрініс
болуы мүмкін. Тәжірибеде қолданылатын алгоритмдердің көпшілігі нақты емес
вариантта жұмыс істейді. Тек қана алгоритм орындаушыға түсінікті болғаны
маңызды, яғни оның мүмкіндіктер шекарасынан шығатын көрініс әдістерін
қолданбауы керек. Орындаушы үшін а лгоритм түсініктілігінің факторын
есептеумен әр түрлі нақтылау деңгейіндегі тілдермен жұмыс істей білуі
алгоритмдік мәдениеттің нақты компоненті болып табылады.
4. Суреттеудің дискретті принципі. Алгоритмді құру қажет ететін
шешімдерге әкеліп соғатын мүмкін элементарлы іс-әрекеттерді нақты бағыттау
әрекетін орындайды. Бұл іс-әрекеттер оған нақтылық және түсініктілікті айтатын
алгоритмдерді суреттеудің анықталған дискретті құрылымын құрайды. Әр түрлі
тілдерде алгоритмдердің мұндай жеке этаптары әр түрлі әдістермен көрсетіледі.
16
Алгоритмнің (табиғи тілде) сөздік түсінігімізде – бұл жеке ұсыныстар,
көрсеткіштер, пункттар, схемалар тілінде – бұл жеке блоктар, ЭЕМ-нің объектті
тілінде – бұл жеке командалар, алгоритмдік тілдің жоғары деңгейдегі –
операторлар.
5. Блоктау принципі. Алгоритмді құру үшін қолданылатын тілдердің
мүмкіндіктері детализациялау деңгейін таңдауға әкеліп соқтырады. Бірақ оның ең
бірінші схемасын суреттеу кезінде қажет ететін алгоритмді құрастыру бойынша
жұмыс істеу процесінде алгоритм жіберген орындаушының мүмкіндіктерімен
салыстырғанда іс-әрекет бірлігі өте үлкен тілді қолдану керек. Бұл жағдайдағы
әңгіме, қиын есептерді қарапайым компоненттерге бөле алу туралы болып отыр.
Есеп қиын болған жағдайда, керек тілде оның шешу алгоритмі дәл сол кезде
суреттеуге мүмкін болу үшін бұл жолды әрқашанда таңдауға тура келеді. Бұл
жағдайда есеп меншікті мағына берілетін ақпараттық шектелген бөліктерге
(блоктарға) бөлінеді және есептің бөлігін қосатын бірінші схеманы
құрастырғаннан кейін жеке блоктарды детализациялау жұмысы орындалады. Осы
блоктың әрбірі жаңа ғана суреттелген принцип бойынша детализацияланған
болуы мүмкін.
Жалпы ойлау қабілеті болып табылатын блоктау принципі жалпы білім және
тәрбиелік мағына береді. Оның схемасына өте жиі әр түрлі облыстарда зерттеу
процесі қойылады. Ішкі байланыстар құрғаннан кейін зерттеуші жеке меншікті
бөліктерге (блоктарға) облысты бөлуге ұмтылады, содан кейін әрбір блоктың
ішіне кіре бастайды. Блоктау принципі бағдарламалау облысынан алынған жалпы
білім беру күшін көрнекі түрде көрсетеді:
а) жеке-жеке блоктарды көрсету алгоритм орнына сәйкес орналасады, ал блоктың
өзі алгоритмді іздеудің жалпы орындау ролін сызып, сонда «балқып» кетеді;
б) блоктардың мазмұны алгоритмге құрылмайды, ал оның сәйкестендірілген
орындарында жіберілетін жеке блоктарға орналасқан жолдамалар орналасады;
соңғы алгоритм болып негізгі алгоритм бағамы мен оның жеке блоктары
саналады.
6. Тармақталу принципі. Алгоритмдерді көрсету үшін қолданылатын
тілдердің алгоритмдік толықтылығын қажет етуі логикалық жағдайларды
алгоритмдік суреттеуде құрастыруға мүмкіндік беретін әдістердің бірегейлігін
қамтамасыз ету керек, яғни берілген бастапқы шарттарға байланысты шешім
қабылдауын керек ететін жағдайлар. Мұндай алгоритмдерді ұйымдастыру, тілдің
логикалық әдістерін қолдана білу шеберлігін қажет етеді. Мұнда алгоритмдік
сауаттылықтың нақты компоненттері болып:
а) суреттеу мәліметтердің шығу мәліметтер варианттарының барлық
мүмкіндіктері қарастырылады және әрбір комбинация үшін нәтижелі болуы керек;
б) шығу мәліметтерінің нақты мағынасы үшін алгоритмдердің орындалуы нақты
шарттармен анықталатын мүмкін жолдардың ішінен әрқашанда біреуін ғана өтеді.
7. Циклдеу принципі. Көп жағдайда алгоритмдік суреттеудің эффектілігі
енгізілген шамалардың әр түрлі мағынасында суреттеудің қайталанатын
17
фрагменттерін қайталап өтуде тілдің логикалық әдістерін қолданумен
ұйымдастырылуы мүмкін, бірақ тіл циклдік алгоритмдерді ұйымдастырудың
нақты әдістерін де қамтамасыз ете алады (мысалы, тілдің жоғары деңгейлі циклдің
операторлары). Осы және басқа да жағдайда алгоритмдік мәдениеттің нақты
компоненті болып циклдік процестің функционалданған жалпы схемасын түсіну
табылады және алгоритмді айрықша көрсету қабілеті маңызды болып табылады.
8. Алгоритмді орындау. Алгоритмдік мәдениеттің маңызды компоненті
алгоритмдеу процесінде қабылдау қабілеті мен жоспарланған шешімдерден
алынған алгоритмдерді суреттеу фрагементтерін орындау болып табылады.
Алгоритмдеудің бұл компоненті алгоритм авторын әрдайым қатал орындаушыға
айналуды қажет етеді және алгоритмдік суреттеуді құру процесінде дұрыс
бақылау мен алгоритмді толықтыру әдісі ретінде жалғыз жұмыс істейтін процесс
болып табылады.
9. Мәліметтерді ұйымдастыру. Алгоритм үшін берілген материал өңдеуді
қажет ететін ақпарат немесе берілген материал болып табылады. Алгоритм
құрастырушы өңдеуді қандай ретпен өндіру керектігін ғана ойламай, алгоритмнің
жұмысының бір айналмалы мен соңғы шешімін тіркестіріп отыру керек.
Осымен алгоритмдік мәдениеттің компоненттерін атап шықтық. Бірақ
алгоритмдік мәдениетті құрастыратын компоненттер ерекшелігі оқушының ЭЕМ-
мен қарым-қатынасына пар ориентациясы бар, ал бағдарламалауға қарағанда кең
мағына алады. Басқа сөзбен айтқанда, оқушының алгоримтдік мәдениеті жалпы
бағдарламалауға дейінгі көрінісі, қабілеті мен әдістері ретінде тек қана «оқушы -
компьютер» жүйесінде жұмыс істеу үшін ғана емес, сонымен қатар «оқушы -
мұғалім», «оқушы - оқушы» және тағы басқа формальды емес машинасыз жүйе
оқушы мәдениетінің бастапқы деңгейін қамтамасыз етеді.
АЛГОРИТМДІК ТІЛ ТҮСІНІГІ
Алгоритмдік тіл (ағылш. algorіtmіc — алгоритмдік және language — тіл) —
ЭЕМ-мен шығарылатын есептердіңалгоритмін бірмәнді түрде жазуға арналған
жасанды тіл. Ол белгілер (символдар) жиынтығынан (Алгоритмдік тіл
алфавитінен), синтаксистік ережелер мен семантикалық анықтамалардан құралған.
Алгоритмдік тілдің негізгі белгілері латын не орыс алфавиттері әріптері, қандай да
бір таңбалар мен шартты белгілер болуы мүмкін. Сөздер, сөз
тіркестері (фразалар, сөйлемдер), кестелер мен кестелер жүйесі - алгоритмдік
тілдің құрылымы болып табылады. Түсіндіру ережелері ЭЕМ-де аппараттармен
жүзеге асырылатын алгоритмдік тіл машиналық тіл деп аталады. Алгоритмдік тіл
табиғи тілден бірмәнділігі мен айқындылығы жағынан ерекшеленеді. Есептеу
машинасына алгоритмдік тілін пайдаланғанда бағдарламалау мен машина
жұмысын үйлестіретін арнайы бағдарламалаушы —процессор қолданылады. Ол
бағдарламаны енгізу, машиналық, синтаксистік, семантикалық талдаулар,
18
формальды қателерді анықтау, бағдарламаны орындау т.б. жұмыстарды атқарады.
Алгоритмдік тілдің бірнеше түрі бар. Олардың кейбіреулері ғана
(мыс., алгол, кобол, лисп, Пл/1, Фортран, Паскаль т.б.) кең тараған.
Орта мектепке арналған барлық информатика оқулықтарында мектептік
алгоритмдік тіл (МАТ) берілген.
Информатика пәнінің кіріспе бөлімінде алгоритмдеуге есептер
қарастырылған, онда алгоритмнің жазылу ережесі ескеріліп, компьютердегі
атқарушыға қолдану қажет.
Алгоритмдік тілдердің құрылымы 2-сұлба көрсетілген.
2 – сұлба. Алгоритмдік тілдердің құрылымы
Алгоритмдік тіл – алгоритмді бейнелеу әдісі. Ол табиғи немесе жасанды
тіл ретінде беріледі.
Адамдар қатынас жасайтын тіл – табиғи тіл. Табиғи тілге, мысалы, қазақ
тілі, орыс тілі, ағылшын тілі және т.б. тілдер жатады. Алгоритмдегі нұсқаулар мен
амалдар анықтай түсу үшін кейде осы тілдерге математикалық өрнектер
қосылады.
Электрондық есептегіш машиналар – алуан түрлі есептерді шешуге
арналған ақпараттарды өңдеудің жоғары өнімді құралы. Алайда ЭЕМ – бар
болғаны адам құрастырған жарлықтарды тез және дәл орындайтын автомат.
Мұндай жарлықтарды дайындау, яғни есептерді шешудің барлық жолын біле тұра
жобалау – есептегіш машинаны пайдаланумен байланысты әрекетінің ажырамас
бөлігі. Жетілдірілген есептегіш машиналар есептеу бағдарламаларының зердесін
сақтайды, сонда адамға тек бағдарламаны құрастырып және машина зердесіне
орналастыру ғана қалады, ал барлық қалғанын – тікелей есеп шешуді – машина
автоматты түрде, яғни адамның араласуынсыз жүзеге асырады. Бұл жағдайда
машина бағдарламалы есептегіш техникаға айналады да, онда есепті шешу
процесі тікелей бағдарламаны құрастыруға байланысты болады. Демек, есептегіш
машинаға арналған бағдарлама негізінде берілген есепті шешу алгоритмі, яғни
Алгоритмдік тілдер
Жасанды тіл Табиғи тілдер Графикалық тілдер
Блок-схема тілі Бұтақ тәрізді тіл
19
нәтижеге жеткізуші әрекеттер тізбегінен тұратын дәл жарлықтар құрайды.
Алгоритм бағдарламаға қарағанда өте жалпы ұғым, ал бағдарлама берілген
есептегіш машинаға түсінікті тілде жазылған алгоритм. Бұдан бағдарламалы
басқарылатын техника көмегімен есептерді шешу процесінің негізгі бөлігі - осы
есепті шешу алгоритмдердің дайындау екендігі көрінеді. Есепті шешу алгоритмі
айқындалғанда, ол еш қиындықсыз бағдарламалау тілінде беріледі. Басқа сөзбен
айтқанда, бағдарламалы басқарылатын есептегіш машинада есепті шығарудағы
негізгі процесс – алгоритмдеу, яғни алгоритмдік жарлықтарды белгілі бір ережеге
сәйкес қарастырып жазу. Алгоритм құру мәселесі алгоритм жазуға қандай тілді
пайдаланатынымызға байланысты болатындығы бұрын айтылғандардан көруге
болады.
Алгоритмдік тілді меңгеру информатика курсының маңызды мәселелерінің
бірі болады. Алгоритмдік тіл оқытуда екі негізгі міндет атқарады. Біріншіден, оны
қолдану курста қарастырылатын барлық алгоритмдерді стандарттауға, оларға
ортақ форма беруге мүмкіндік жасайды, бұл жайт алгоритмдендірілген мәнін
түсіну үшін алгоритмдердің қасиеттері туралы түсініктері қалыптастыру үшін
маңызды.
Екіншіден, алгоритмдік тілді оқу бағдарламалы тілін оқудың бастамасы
болып табылады. Алгоритмдік тілдің және оны пайдалану ережесінің
құрылымдық қарапайымдығы бұл тілді бағдарламалау элементтеріне баулудың
бастапқы кезеңінде ойдағыдай қолдануға мүмкіндік береді. Оның негізгі
құрылымдарының ережелері көптеген бағдарламалау тілдерінің негізіне алынған.
Сондықтан алгоритмдік тілді игеру келешекте бағдарламалау тілдерін
пайдалануға көшкенде жеңілдік жасайды.
Алгоритмдік тілдің бірқатар әдістемелік артықшылықтары бар екенін атап
өту керек, осы себепті де алгоритмдер мен бағдарламалау негіздерін оқуды
бағдарламалау тілін емес, дәл осы тілді пайдалана отырып бастаған орынды.
Алгоритмдік тіл ең алдымен табиғи тілге жақын, бұл жайт оқушының осы
тілдің ережелерін тез меңгеруге және келешекте назарын негізінен оқитын
алгоритмдердің мәніне шоғырландыруға мүмкіндік береді. Күрделі алгоритмнің
үлкен бөлімдерін бір команда ретінде жазу және қабылдау мүмкіндігі алгоритм
жазуда оңай бағдарлануды қамтамасыз етеді. Ақырында, әлі де көптеген
мектептер ЭЕМ-мен жабдықталмауы жағдайында, алгоритмдік тіл адамның
орындауына бағдарланған. Алгоритмдерді жазудың ыңғайлы тілі болып
табылады. Оқушы жарлықтарды алгоритмдік тілдің командаларына сәйкес
орындай отырып, алгоритмдердің жекеленген қадамдарын орындау кезінде есепті
тұтастай түсінік жатудың қажеті жоқ екенін, тек команданы команданың соңынан
дәл орындау маңызды екенін, өз бетінше аңғара алады. Бұдан тағы бір мақсатқа
қол жетеді: барлық әрекеттерді автоматтық құрылғыға жүктеуге болатының
түсінікті.
Алгоритмдік тілдің жазылуы жалпы түрде мынадай:
алг алгоритмнің атауы
20
арг алгоритмнің қолданылу шарты
нәт алгоритмді атқарудағы мақсат
басы
алгоритмнің денесі /командалар тізбегі/
соңы
Алгоритмдік тілде негізгі және қосалқы алгоритм деген ұғымдар енгізілген.
Алгоритмдердің былайша аталуы олардың белгілі бір мезеттегі өзара қатынасын
көрсетеді. Бір алгоритмнің құрамында пайдаланылатын алгоритм қосалқы
алгоритм, ал құрамында қосалқы алгоритм пайдаланылатын алгоритм негізгі
алгоритм деп аталады.
Қосалқы алгоритм пайдалану жаңа алгоритмді құрастыру процесін
жеңілдетеді, әрі негізгі алгоритмнің жазылуы жинақты және түсінікті болады.
Қосалқы алгоритм негізгі алгоритмнің құрамына шақыру командасы ретінде
жазылады. Оны жазу былай жүзеге асырылады: негізгі алгоритмнің тиісті
командасының орнына қосалқы алгоритмнің атауы жазылады. Ал егер
аргументтері бар болса, онда алгоритм атауына тіркелініп дөңгелек жақша ішіне
қосалқы алгоритмнің аргументтеріне қандай мәндер беру, атқарылу нәтижесін
қалай пайдалану керектігі көрсетіледі.
Алгоритмдік тілде нақты сандардың орнына кейбір жағдайда сандық және
алгебралық өрнектерді де пайдалануға болады. Оларды алгоритмдік тілде
арифметикалық өрнектер деп атайды. Оны былай түсінуге болады: алгебралық
өрнек арифметикалық өрнекке айналғаннан кейін ғана ондағы амалдар ЭЕМ-да
орындалады.
Арифметикалық өрнек деп арифметикалық амал белгілері және дөңгелек
жақшалар арқылы байланыстырылған сандар, стандартты функциялар және
айнымалылар тізбегін айтады. Демек, алгоритмдік тілде сан жазудың орнына
арифметикалық өрнек жазуға болады.
Арифметикалық өрнектердің алгоритмдік тілде жазылуының алгебрадағы
жазылудан бірнеше өзгешіліктері бар екендігін бір-бірімен салыстыра отырып
түсіндірген жөн. Ол өзгешіліктер мыналар:
- арифметикалық өрнектер алгоритмдік тілде сызықты түрде, яғни бір
жолдың бойына жазылады.
- арифметикалық амал белгілері: қосу/+/, азайту /-/, көбейту /*/, бөлу /:/,
дәрежелеу амалдары алгоритмдік тілде былай белгіленеді: +, -, *, /, **;
- алгебрада көбейту амалы орнына ешнәрсе жазбауға болады, мысалы, 6 а,
ал алгоритмдік тілде оны былай жазу керек: 6*а;
- қосалқы алгоритмдердің, функциялардың /стандартты, стандартты емес/
аргументтері дөңгелек жақша ішіне алынып жазылады.
Математика курсындағыдай алгоритмдік тілдегі шамаларды тұрақты және
айнымалы шамалар деп бөледі.
21
Алгоритмдік тілде әр шаманың аты, мәні, типі және түрі анықталып
мазмұндалады /математика шаманың мәнінің берілуі, типі мен түрінің анықталып
берілуі мідетті емес/.
Алгоритмдегі пайдалануына сәйкес, атқаратын жұмысына байланысты
шамаларды түрлерге бөледі. Алгоритмдік тілде шамалардың мынадай төрт түрі
бар: арг, нәт, арг, нәт және аралық.
Адам мен ЭЕМ арасындағы ақпарат алмасуды қамтамасыз ету алгоритмдік
тілде арнай енгізу және шығару командалары пайдаланылады. Мысалы, есептің
бағдарламасын, сол сияқты алгоритмнің атқарылуына қажетті бастапқы
мәліметтер мен басқа да ақпараттар ЭЕМ зердесіне пернетақтадан енгізіледі.
Алгоритмді атқару барысында «енгізу і» командасы бойынша ЭЕМ
айнымалысының мәтінің пернетақтадан енгізілуін күтеді. Енгізілген сандық
немесе литерлік мәні і айнымалысына енгізіледі де, алгоритмнің атқарылуы әрі
қарай жалғасады.
«Шығару t» командасындағы шығару қызметші сөзі айнымалысының мәні
экранға шығарылатындығын көрсетеді. Егер экранға мәтіндік ақпаратты шығару
қажет болса, ол ақпарат /символ, сөз немесе сөйлем/ «шығару» қызметші сөзінен
соң тырнақша ішіне жазылады.
Сонымен алгоритмдік тіл жай командалардың жазылу ережесін, құрама
командалардың, алгоритмдердің құрылымын және олардың мағынасын, яғни
қалай орындалатынын дәл және бірмәнді анықтайды.
Алгоритмдік тілді анықтауда келесі ұғымдар:
1. Тілде қолдануға болатын символдардың (белгілердің) жиынтығы, яғни
алфавит.
2. Тілдің конструкцияларының: айнымалының, өрнектердің, командалардың
жазылу және алгоритмдік жазудың жалпы құрылымының ережелері, яғни
синтаксис.
3. Әр түрлі командалардың қызметі мен орындалу жолы, яғни семантика
берілуі керек.
Табиғи тілдерде бірмәнділік болмағандықтан осы тілдерде жазылған
алгоритмдегі нұсқаулардың бірнеше мағынасы болуы мүмкін. Әрине, бұл
орындаушының осындай тілде жазылған алгоритмді орындауын қиындатады, тіпті
ондай алгоритмді орындау мүмкін болмайды. Сондықтан, табиғи тілдердің
байлығына қарамастан, информатикада алгоритмдерді бейнелеу үшін бір мәнді
жасанды тілдерді қолданады. Олар жасанды графикалық тілдер және жасанды
вербальды-сөзді тілдер.
А.Г.Кушниренконың оқулығында алгоритмдік тіл – ЭЕМ –дағы
бағдарламалау тілі ретінде берілген және осы мақсатқа сай мектептегі Ямаха,
Корвет, УКНЦ компьютеріне арнайы оқу бағдарламалау жүйесі ретінде енгізілді.
Ал В.А.Кайниннің оқулығында “алгоритмдік тіл” алгоритмді жазу құралы ретінде
пайдаланылды. Оның байқау оқу құралындағы псевдакод алгоритмді
бағдарламалау тілдеріне аударуды барынша жеңілдету үшін жасалған. Бұл
22
тәсілдің ерекшелігі тілдер ауысқанымен, ЭЕМ-лар ауысқанымен, оқыту
әдістемесінің өзгеріссіз қалатындығында.
Тәжірибеде мұндай тәсілдің негізінен жоғары математиканың дайындығы
бар студенттер мен оқушылар үшін тиімді екені байқалды. Бұл қағида, алгоритм
мен бағдарламадағы қателердің көпшілігі логикалық немесе математикалық
сипатта болатындығымен түсіндіріледі. Дербес ЭЕМ-дер үшін бағдарламалау
бастамасын оқытудағы жүйелік тәсіл төмендегідей кезеңдерді қамтиды:
есеп – сценарий – алгоритм – бағдарлама – ЭЕМ.
Жүйелік тәсілдердің авторлары В.А.Каймин және т.б.
Бұл тәсіл бойынша алгоритм мен бағдарлама құруда дербес ЭЕМ-мен
болатын диалогтың сценариін құру бірінші орындалады. Алгоритм мен
бағдарлама құруда құрылымдық бағдарламалаудың барлық ережесі мен принципі
толық пайдаланылады. Бұл технологиядағы ең маңызды мәселе ЭЕМ-да
орындалатын бағдарламаның көрсетілімін алдын – ала талқылап, жазу болып
табылады. Бұл жүйелік тәсіл машиналық графикасы бар, диалогты ЭЕМ-мен
оқытуға арналған. Осы тәсіл бойынша 10-15 жас аралығында нақты бағдарламалау
элементтерін меңгеруге болады деп есептейді. Бұның себебі, оқушылар
шығармашылықпен жұмыс істеп, ЭЕМ-де өзінің құрған суреттерінің нәтижесін,
бағдарламадағы қателерін өздері түзей отырып, экраннан көруге мүмкіндігі бар.
Бұл әдіс бойынша алгоритмді жазып, құрып қана қоймайды, бағдарламадағы
алгоритмдік қателерді бірден таба алады. Осы құрылған сценарий бойынша
алгоритм мен бағдарлама тексіндегі барлық алгоритмдік қателерді табуға болады.
Алгоритмді жазу үшін қандай да болмасын тілді пайдалану қажет. Жалпы
алғанда тіл белгілі бір ақпаратты өрнектеу және жеткізу құралы. Бұл мағынада
адамдар арасындағы қатынас тілі (адамзат тілі), математика тілі адамдар мен
автоматтар арасындағы қатынас тілі, т.б. тілдер туралы айтуға болады.
Алгоритмдік тіл бірқатар қатаң талаптарға сай болуы керек:
1. Командалар тұжырымдау кезінде атқарушыға белгілі операциялар
орындалуына ғана талап ету;
2. Командалар тек қана белгілі бір ережеге сай қолдану;
3. Ережеден тыс әрекеттерді пайдаланылған жағдайда атқарушы алгоритмді
түсінбейді де, оны атқарудан бас тартады.
Алгоримдік тіл бірқатар қатаң талаптарға сай болуы керек:
1. Командалар тұжырымдау кезінде атқарушыға белгілі операциялар
орындауына ғана талап ету;
2. Командалар тек қана белгілі бір ережеге сай қолдану;
3. Ережеден тыс әрекеттерді пайдаланылған жағдайда атқарушы алгоритмді
түсінбейді де, оны атқарудан бас тартады. Мысалы, а және в екі
айнымалыны көбейту операциясын математика тілінде бірнеше рет
жазуға болады: 1) ав; 2) ахв; 3) а.в. Ал алгоритмдік тілде бұл операция
а*в деп жазылады.
23
Пайдалануға рұқсат етілген символдардың (таңбалардың) жиынтығы
алгоритмдік тілдің алфавиті деп аталады. Ал жоғарыда айтылған формаларды
ережелердің жиынтығы алгоритмдік тілдің синтаксисін құрайды да, ал тілдің өзі
формалды тіл деп аталады. Алгоритмдік тіл формалді тіл санатына қосылады,
олай болса, ол бір мағынада, нақты үлгіде жазылуы тиіс. ЭЕМ осы тілде жазылған
алгоритмді оның мазмұны мен мағынасына талдау жасамастан атқарады, яғни
командаларды формалды түрде орындайды.
Қазіргі кезде әр типті машинаға арналған әр түрлі алгоритмдік тіл бар, олар:
Фортран, Алгол, Паскаль, Бейсик, Ада, Си, Лого, Пролог және т.б.
Ақпаратты өңдеуге байланысты алгоритмдерде шамалар ұғымын енгізу
қажет.
Шама ұғымы информатика курсының іргелі ұғымдарының бірі болып
табылады. Шама дегеніміз типі анықталған, мәні мен атауы бар объект. Шамалар
екіге бөлінеді: тұрақты және айнымалы.
Егер алгоритмнің атқаруы барысында мәні өзгермесе, онда тұрақты шама
деп аталады, ал алгоритмнің атқарылуы барысында мәндері өзгеріп отыратын
шамаларды айнымалы шамаларды айнымалы шамалар дейді. Шамалар типіне
қарай сандық және литерлік болып бөлінеді. Сандық шамалар өз кезегінде бүтін
және нақты болып бөлінеді.
Мектептік алгоритмдік тілді (МАТ) шамалар бүт – бүтін, нақ – нақты, лит –
литерлік қызметші сөздермен белгіденеді.
Алгоритмді жазу үшін пайдаланылатын тілдің сипаты орындаушының
мүмкіндіктеріне байланысты. Орындаушының мүмкіндігі тіл құралдарының
бірнеше деңгейін анықтайды. Енді алгоритмдерді жазу тілдерінің кейбір негізгі
ерекшеліктеріне тоқталайық.
Тілдің деңгейі туралы сөз қозғағанда мен, соның ішінде, алгоритмдік жазу
командаларының нақтылану дәрежесі (яғни, берілген орындаушы үшін элементар
деп есептелетін амалдың шын мәніндегі «элементарлық» дәрежесі) туралы
айтамын. Мысалы, егер есептеу алгоритмдерін орындайтын орындаушы «бір
қадамда» квадрат түбір ала алатын болса, онда оған нұсқауы түсінікті болады. Ал,
егер орындаушының мүмкіндігі арифметикалық негізгі төрт амалмен шектелген
болса, онда квадрат түбірді табу орындаушыға осы төрт амалды ғана
пайдаланылатын командалардың толық бір жүйесін ұсйнуға тура келеді.
Тілдің деңгейі туралы айтқанда, алгоритмдердің машинада орындалуына
тұрғысынан тілдің өте маңызды қаситеі – формальдандырылу дәрежесі де
ескеріледі. Алгоритм орындаушысы адам болған жағдайларды, алгоритмдерді
жазуға арналған тіл құралдары қатаң шектелмеген. Алгоритм құрушының қалауы
бойынша алгоритмдерді жазу барысында баршаға түсінікті кез келген
сөйлемшелер мен сөз құрылымдары пайдалана алады. Егер алгоритмдік жазу ЭЕМ
– ге арналған болса, онда бірқатар міндетті талаптарды орындауға тура келеді:
24
▪ нұсқауларды (командаларды) тұжырымдау барысында машинадан осы
машина үшін қатаң анқыталған операцияларды орындауды ғана талап
етуге болады;
▪ берілген машинаның тілі үшін қабылданған нұсқаулар құру ережелерін
ғана пайдалануға болады;
▪ ережелерді көрсетілмеген нәрселерді ешбір қолдануға болмайды, себебі
бәрібір машина ондай нұсқауларды орындамайды.
Тілді формальдандыру сол тілдің табиғи адам тілімен салыстырғанда
көркемдік мүмкіндіктерін азайтатыны өзінен - өзі түсінікті. Әр уақытта сөйлем
құрудың қатаң ережелерін есте сақтаудың керектігінен бұл тілді қолдану қиындай
түседі. Соған қарамастан мұндай тілдер жасалып жатыр және автоматтардың
жұмысын басқарғысы келген адам осы тілдерді пайдалануға мәжбүр болады.
Сонымен, машинамен қатысу (сөйлесу) тілін пайдаланушылардың бірі адам
болғандықтан, тілдің деңгейі туралы айтқанда тілдің адам үшін түсініктілік
дәрежесін де ескереді. Алғашқы электрондық есептеуіш машиналармен қатынас
цифрлар тілі деңгейінде болды. ЭЕМ – нің әрі қарай жаппай таралуы есепті
тұжырымдайтын адам мен машинаның қатынасуының жаңа түрлерін қажет етеді.
Алайда, түсініктілік талабы формальдандыру талабымен өзара қайшылықта
тұрғандықтан, тілді машинаға түсінікті ете отырып, «табиғиландыру» мәселесі өте
күрделі мәселе. Бұл мәселе машиналардың өзін жетілдірумен қатар жүргізіле
шешіледі. Қазіргі уақытта бұл бағытта елеулі нәтижелер алынған. Кәдімгі табиғи
тіл мен математика тілінің кейбір элементтерін жылдастыра отырып жасалған
тілдерге ғылыми және инженерлік – техникалық есептерді шешуге арналған
белгілі алгоритмдік тілдер.
Енді бір жағынан, кәдімгі табиғи тілге жақын, екінші жағынан «нағыз»
алгоритмдік тілдерін негізгі қасиеттері бар тілдің анықтамасын берейін. Бұл тілді
оқу алгоритмдік тілі деп атаймыз, ал қай тіл туралы сөз болып отырғаны түсінікті
болса, жай алгоритмдік тіл деп те атай береміз.
Бұл тілде жазылған алгоритмдер кәдімгі текст сияқты оқылады және Алгол,
Фортран, Бэйсик және т.б. бағдарламалау тілдерін үйренуге негіз бола алады.
Алгоритмдер жазу үшін уақыт кетіріп ерекше тіл үйренідің қажетті неде?
Алгоритмдерді қазақ тілінде – ақ жаза берсек болмас па екен? – деген сұрақ тууы
мүмкін. – Біздің ана тіліміз соншалықты бай, жан - жақты, тек алгоритмдер ғана
емес, одан басқа да кез келген нәрселерді суреттеп бере алады.
Әрине тілдің жан – жақтылығы, бір нәрсені алуан түрлі сөзбен жеткізе
алатындығы, керісінше, жалғыз ғана сөзбен неше түрлі сезім толқындарын
тудыратындығы адамдардың өзара қатынасы, көркем әдебиет,мәдениет және т.б.
үшін өте құнды.
Алайда, алгоритмдерге келгенде мәселе басқаша. Мәселе алгоритмдерді
орыншылардың басым көпшілігі автоматтар екендігіне болып тұр. Дәлірек
айтқанда, жаңа нұсқауларды автоматтың негізгі командаларына сүйеніп, қатаң
ережелерді сақтай отырып құрастыруға болады.
25
Литерлік шама деп мәндері сөздері немесе текст болып келген шаманы
айтамыз.
Жаңа байқау оқу құралына мектептік алгоритмдік тіл қарастырылған. Бұдан
былай тілді жай ғана алгоритмдік тіл деп атау келісілген. Осы тілде жазылған
алгоритмнің жалпы түрі мынадай:
алг алгоритмнің атауы
арг алгоритмнің қолданылу шарттары
нәт алгоритмді атқарудағы мақсат
басы
алгоритмнің денесі /командалар тізбегі/
Алгоритмдік тілде негізгі және қосалқы алгоритм деген ұғымдар енгізілген.
Алгоритмдердің былайша аталуы олардың белгілі бір мезеттегі өзара қатынасын
көрсетеді. Бір алгоритмнің құрамында пайдаланылатын алгоритм қосалқы
алгоритм, ал құрамында қосалқы алгоритм пайдаланылатын алгоритм негізгі
алгоритм деп талады.
Қосалқы алгоритм пайдалану жаңа алгоритмді құрастыру процесін
жеңілдетеді, әрі негізгі алгоритмнің жазылуы жинақты және түсікті болады.
Қосалқы алгоритм негізгі алгоритмнің құрамына шақыру командасы ретінде
жазылады. Оны жазу былай жүзеге асырылады: негізгі алгоритмнің тиісті
командасының орнына қосалқы алгоритмнің атауы жазылады. Ал егер
аргументтері бар болса, онда алгоритм атауына тіркеліп дөңгелек жақша ішіне
қосалқы алгоритмнің аргументтеріне қандай мәндер беру, атқарылу нәтижесін
қалай пайдалану керектігі көрсетіледі.
Алгоритмдік тілде нақты сандардың орнына кейбір жағдайда сандық және
алгебралық өрнектерді де пайдалануға болады. Оларды алгоритмдік тілде
арифметикалық өрнектер деп атайды. Оны былай түсінуге болады: алгебралық
өрнек арифматикалық өрнекке айналғаннан кейін ғана ондағы амалдар ЭЕМ –де
орындалады.
Арифметикалық өрнек деп арифметикалық амал белгілері және дөңгелек
жақшалар арқылы байланыстырылған сандар, стандартты фнукциялар және
айнымалылар тізбегін айтады. Демек, алгоритмдік тілде сан жазудың орнына
арифметикалық орнына арифметкалық өрнек жазуға болады.
Арифметикалық өрнектердің алгоритмдік тілде жазылуының алгебрадағы
жазылудан бірнеше өзгешіліктері бар екендігін бір – бірімен салыстыра отырып
түсіндірген жөн. Ол өзгешіліктер мыналар:
▪ арифметкалық өрнектер алгоритмдік тілде сызықты түрде, яғни бір
жолдың бойына жазылады.
▪ арифметикалық амал белгілері: қосу /+/, азайту /-/, көбейту /*/, бөлу /:/,
дәрежелеу амалдары алгоритмдік тілде былай белгіленеді: +,-,*,/,**;
▪ алгебрада көбейту амалы орнынан ешнәрсе жазбауға болады,
мысалы, 6 а, ал алгоритмдік тілде оны былай жазу керек: 6*а;
26
▪ қосалқы алгоритмдердің, функциялардың /стандартты, стандартты
емес/ аргументтері дөңгелек жақша ішіне аланып жазылады. Мысалы:
▪ нақты сандарды жазғанда үтір орнына нүкте қойылады;
▪ Арифметикалық амалдардың орындалуы алгоритмдік тіл мен
алгебрада бірдей: ең алдымен жақша болмаса, онда алдымен
жәрежелеу, одан соң көбейту және бөлу, соңында қосу және азайту
амалдарын орындалады, егер бір типтес амалдар болса, онда амал
солдан оңға қарай жазылу ретімен орындалады.
Оқушыларға математикалық және физика курстарынан «шама» ұғымы
таныс. Олар тұрақты және айнымалы шамаларды біледі, сондай – ақ оларға
индексті айнымалы шамалар да таныс. Шамалардың, әсіресе айнымалы
шамалардан, бір кезде математикаға енгізілуі оған үлкен серпіліс, даму әкелгені
және әлі күнге дейін маңызды роль атқарып отырғаны белгілі.
Алгоритмдік тілдегі шамалардың маңызы бізге таныс шамалардан кем емес.
Алгоритмдік тілге шамалардың енгізілуі алгоритмге жалпаламалық сипат беріп,
оның өрісін кеңітеді. Мысалы, тек айнымалының мәнін өзгерту арқылы бір
алгоритммен бернеше типтес есептер шығаруға болады. Біз бұған дейін жазған
алгоритмдердің көбіне айнымалы шаманы енгізугемәжбүр болдық, бірақ оларды
мазмұндап жазуды және теліну командасын білмеген соң толық
пайдаланғанымыз жоқ.
Математика курсындағыдай алгоритмдік тілдегі шамаларды тұрақты және
айнымалы шамалар деп бөледі.
Алгоритмдік тілге әр шаманың аты, мәні, типі және түрі анықталып
мазмұндалады /математика шаманың мәнінің берілуі, типі мен түрінің анықталып
берілуі міндетті емес/.
Алгоритмдегі пайдалануына сәйкес, атқаратын жұмысына байланысты
шарттарды түрлерге бөледі. Алгоритмдік тілде шамалардың мынадай төрт түрі
бар: арг, нәт, арг, нәт және аралық.
Адам мен ЭЕМ арасындағы информация алмасуды қамтамасыз ету
алгоритмдік тілде арнайы енгізу және шығару командалары пайдаланылады.
Мысалы, есептің бағдарламасын, сол сияқты алгоритмнің атқарылуына қажетті
бастапқы мәліметтер мен басқа да информациялар ЭЕМ зердесіне клавиатурадан
енгізіледі. Алгоритмді атқару барысында «енгізу» командасы бойынша ЭЕМ
айнымалысының мәтінін клавиатурадан енгізілуін күтеді. Енгізілген сандық
немесе литерлік мәні і айнымалысына телінеді де, алгоритмнің атқарылуы әрі
қарай жалғасады.
«Шығару t» командасындағы шығар қызметші сөз айнымалысының мәні
экранға шығарылатындығын көрсетеді. Егер экранға текстік информацияны
шығару қажет болса, ол информация /символ, сөз немесе сөйлем/ «шығару»
қызметші сөзінен соң тырнақша ішіне жазылады.
27
Сонымен алгоритмдік тіл жай командалардың жазылу ережесін, құрама
командалардың, алгоритмдердің құрылымын және олардың мағынасын, яғни
қалай орындалатынын дәл және бірмәнді анықтайды.
Алгоритмдік тілді анықтауда келесі ұғымдар:
1. Тілде қолдануға болатын симвлодардың (белгілердің) жиынтығы, яғни
алфавит.
2. Тілдің конструкцияларының: айнымалының, өрнектердің, командалардың
жазылу және алгоритмдік жазудың жалпы құрылымының ережелері, яғни
синтаксис
3. Әр түрлі командалардың қызметі мен орындалу жолы, яғни семантика
берілуі керек.
Табиғи тілдерде бірмәнділік болмағандықтан осы тілдерде жазылған
алгоритмдегі нұсқаулардың бірнеше мағынасы болуы мүмкін. Әрине, бұл
орындаушының осындай тілде жазылған алгоритмді орындауын қиындатады, тіпті
ондай алгоритмді орындау мүмкін болмайды. Сондықтан, табиғи тілдердің
байлығына қарамастан, информатика алгоритмдерді бейнелеу үшін бір мәнді
жасанды тілдерді қолданады. Олар жасанды графикалық тілдер және жасанды
вербальды – сөзді тілдер.
Графикалық алгоритмдік тіл
Графикалық тілдің екі түрі бар: блок- схема тілі, бұтақ тәрізді тіл. Блок –
схема тілі алгоритмдегі әр түрлі әрекеттердің хронологиялық байланысын көрсете
алады. Ол үшін бұл тілде түрлі әрекеттерді бейнелейтін геометриялық фигуралар
және әрекеттердің орындалу ретін көрсететін бағыттама пайдаланылады. Бұлар
блок – схема тілінің әліпбиін құрайды, ал олардың мағынасы алдын ала
анықталған келісім бойынша беріледі. Блок – схема тіліндегі фигураларды
жазықтықтың кез – келген бағытына жазуға болады. Ол алгоритм құрушының өз
еркінде. Әдетте қағаздың бір бетінде логикалық толық әректтер тізбегін жазады.
Блок – схема- әрқайсысы қандай да бір іс - әрекеттерді немесе
операцияларды бейнелейтін геометриялық фигуралардың жиынтығын көрсететін
алгоритмнің графикалық интерпретациясы. Символдар қалыпты және
алгоритмдерді құру ережелері мемлекеттік стандартты сәйкес бекітілген: ГОСТ
19.701-90 «Алгоритмдер, бағдарламалар, мәліметтер және жүйелер схемалары».
Жасанды вербальды алгоритмдік тіл
Енді жасанды вербальды алгоритмдік тілді қарастырайық. Осындай тілде ең
кіші құрылым бірлігі оның әліпбиінің таңбалары болғандықтан, алдымен
әліпбийді анықтаймыз. Сонан кейін сол әліпби таңбаларымен қалай сөз және
сөйлем құрылатындығын көрсетеміз. Төменде қазақ тілі мен математикалық
өрнектерге негізделген жасанды тіл қарастырылады.
28
Бұл тілде қазақ тілінің бас әріптерімен жазылған бірнеше «бекітілген»
сөздер қолданылады. Олардың әрқайсысының алдын-ала анықталған тек бір ғана
мағынасы болады. Сондықтан оларды осы тілдің әліпбиіне кіргізугеболады.
Сонымен қатар, бұл тілдің әлипбиіне латын және қазақ әліпбиінің таңбалары, араб
цифрлары, математикалық таңбалар, тыныс белгілері, жақшалар, меншіктеу
амалының таңбасы, бос жерді белгілейтін таңба қосылады. Осы тілдің әліпбиі
төмендегі 3- кестесінде беріледі.
Кесте 3. Жасанды алгоритмдік тілдің әліпбиі
Таңбалардың түрі Әліпбидегі бейнесі
І.Әріптер
І.1. Латын әріптері A, B, C, …, X, Y, Z, a, b, c, …, x, y, z
І.2.Қазақ әріптері А, Ә, Б, ..., І, Э, Я, а, ә, б, ..., і, э, я
ІІ Цифрлар 0, 2, 3, 4, 5, 6, 7, 8, 9
ІІІ. Арнаулы таңбалар
ІІІ. 1. Жақшалар
ІІІ. 1.1. Құрылымдық жақша (,)
ІІІ. 1.2. Символдық жақша ‘,’
ІІІ. 1.3. Өлшемдік жақша [,]
ІІІ. 2. Амалдар таңбалары
ІІІ. 2.1. Сандық амалдар +, -, *, /, %
ІІІ. 2.2. Символдық амалдар ., |
ІІІ. 2.3. Қатынас амалдар =, <, >, ,
ІІІ. 2.4. Логикалық амалдар , ,
ІІІ. 2.5. Меншіктеу амалы
ІІІ. 3. Тыныс белгілері ., ,, :, ;, !
ІІІ. 4. Бос орын
ІV. Бекітілген сөздер БАСЫ, СОҢЫ, ЕНГІЗУ, ШЫҒАРУ,
ЕГЕР, ОНДА, ӘЙТПЕСЕ, ТАҢДАУ,
БОЛСА, ОРЫНДА, ҚАЙТАЛАУ,
ӘЗІРГЕ, ШЕЙІН, ҮШІН, ҚАДАМ,
АЛГОРИТМ, БІТТІ
29
АЛГОРИТМНІҢ ҚАСИЕТТЕРІ
Алгоритм ұғымының құрылымы 3-сұлбада көрсетілген.
3- сұлба. Өңдеу ұғымының құрылымы
Алгоритм - бағдарламаға қарағанда өте күрделі ұғым, ал бағдарлама
берілген есептегіш машинаға түсінікті тілде жазылған алгоритм. Бұдан
бағдарламамен басқарылатын техника көмегімен есептерді шешу процесінің
негізгі бөлігі – осы есепті шешу алгоритмдерін дайындау екендігі көрінеді. Есепті
шешу алгоритмі айқындалғанда, ол еш қиындықсыз бағдарламалау тілінде
беріледі. Басқа сөзбен айтқанда, бағдарламамен басқарылатын есептегіш
машинада есепті шығарудағы негізгі процесс – алгоритмдеу, яғни алгоритмдік
жарлықтарды белгілі бір ережеге сәйкес қарастырып жазу.
Қойылған мәселені шешудің дұрыс алгоритмі мынадай негізгі қасиеттерге ие
болуы тиіс: анықтылық, нәтижелілік, жалпыламалық, дискреттік (үздіктілік).
Алгоритмнің анықтылығы дегенде оның әрбір адымы әртүрлі түсінікке жол
бермейтін, дәл және анық тұжырымдалған ережені түсінеміз.
Алгоритмнің нәтижелілігі деп санаулы қадам жасалған соң қарастырылған
мәселенің не шешімі табылатынын, не шешімі жоқтығы анықталатынын айтады.
Алгоритмнің жалпыламалық қасиеті бойынша дайын алгоритммен жеке бір
есепті ғана емес, осы есеп класына тиісті кезкелген есепті шығару мүмкін болуы
тиіс.
Алгоритмнің дискреттілігі (үздіктілігі) деп алгоритммен анықталған
есептеулерді жекеленген кезеңдерге (қарапайым амалдарға) жіктеуді ұғамыз.
Алгоритм құру мәселесі алгоритм жазуға қандай тілді пайдаланатымызға
байланысты болатындығы бұрын айтылғандардан көруге болады.
Жалпы айтқанда, тіл – кейбір мағлұматтарды өрнектеу және жеткізу құралы.
Осы мағынада адамдардың қатынасу тілі, математика тілі, автоматтар мен
адамдардың қатынасу тілі туралы айтуға болады. Автоматтар өзара қатынастың
ерекше тілдердің бар екендігі туралы да айтуға болады.
Қарапайым Күрделі
Алгоритм
Түрі
Қасиеті
Түсініктілік Дәлдік Дискреттілік Шектілік Жалпыламалық
30
Жоғарыда атап көрсетілгендей, алгоритмдерді жазу үшін пайдаланатын
тілдің сипаты орындаушының мүмкіндіктеріне байланысты. Орындаушылардың
мүмкіндігі тіл құралдарының бірнеше деңгейін анықтайды деп те айтуға болады.
АЛГОРИТМНІҢ БАСҚАРУ ҚҰРЫЛЫМДАРЫ ЖӘНЕ ҚҰРЫЛЫМДЫҚ
СХЕМАСЫ (БЛОК - СХЕМА)
4- сұлба. Басқару құрылымдарының құрылымы
Басқару құрылымы алгоритмді құруда маңызы зор. Сондықтан төменде
басқару құрылымдарын әртүрлі алгоритмдік тілдеріндегі бейнелері және
қасиеттері қарастырылады.
Басқару құрылымдарын бейнелеу үшін блок- схема тілі, бұтақ тәрізді тіл
және жасанды тіл қолданылады.
1. Сызықтық басқару құрылымы бірнеше қарапайым әрекеттердің
тізбегінен бір күрделі әрекет құрастыруға болатындығын көрсетеді. Сызықтық
алгоритмдер – блоктар тізбегі, әрқайсысының бір-бірден енгізілуі және шығуы
болады, және бағдарламада бір рет орындалады.
2. Тармақталу басқару құрылымы белгілі шарт бойынша әр түрлі
әрекеттердің бірін орындалуға болатынын көрсетеді. Өз кезегінде тармақталу үш
түрге бөлінеді: қарапайым тамақталу, баламалы тармақталу,көп мәнді
тармақталу.
Қарапайым тармақталу күрделі S әрекеті белгілі В шартына байланысты
берілген S1 әрекетін орындау керек немесе еш нәрсе орындамау керек дегеннен
құрылатындығын көрсетеді. Яғни, шарты қанағаттандырылған жағдайда S1
әрекет орындалады, ал басқа жағдайда еш нәрсе орындалмайды.
Алгоритмдік тілде әр команданы әр жолға жазумен қатар, бір жолға бірнеше
команда жазуға болады. Бұл жағдайда командалар бір-бірінен нүктелі үтір (;)
арқылы бөлініп тұрады. Мысалы, ах=b теңдеуін шешу алгоритмін алгоритмдік
тілде жазайық.
Басқару
құрылымы
Тізбектеу
Тармақталу
Қайталау
Қарапайым тармақталу
Баламалы тармақталу
Көп мәнді тармақталу
Алғы шартты қайталау
Соңғы шартты қайталау
Параметрлік қайталау