Орта мектепте программалау негіздерін оқыту
МАЗМҰНЫ
КІРІСПЕ 3
1 тарау. Алгоритмнің программалау негіздеріндегі рөлі
1.1. Алгоритм негіздерінің ерекшеліктері 5
1.2. Оқушылардың алгоритмдік мәдениеті. 9
1.3. Алгоритм туралы ұғым 14
1.4. Блок.схема түрінде алгоритмдердің бейнеленуі 17
1.5. Алгоритмдегі басқару құрылымдары 19
2 тарау. Орта мектепте программалау негіздерін оқыту
2.1. Орта мектепте программалау тілін оқытудың орны 23
2.2. Орта мектеп оқушыларын компьютерде программалау дағдысына баулу. 25
2.3. Қолданбалы есептерге (жүйеге) программа құру. 29
2.4. Программалау тілінің құрамы .
2.4.1. Синтаксисі жєне семантикасы. 34
2.4.2. Тілдің сипатталуы. 36
2.4.3. Программалау тілдерінің стандарты және іске асырылуы 40
2.4.4. Программалық өнім және оныњ сипаттамасы. 41
2.4.5. Программаның өмірлік циклы. 42
3 тарау. Turbo Pascal программалау тілін мектепте оқыту әдістері
3.1. Turbo Pascal программалау тілін оқыту 45
3.1.1. Паскаль тілінің лексикалық құрылымы 46
3.2. Паскаль программасының жалпы құрылымы 47
3.2.1. Мәліметтер типтерінің классификациясы. 48
3.3. Паскаль тілінің операторлары 50
3.4. Амалдар және өрнектер 53
3.5. Поцедуралар және функциялар 55
3.5. Мәліметтердің құрылымды типтері
60
Қорытынды 69
Қолданылған әдебиеттер 71
1 қосымша 72
2 қосымша 73
КІРІСПЕ 3
1 тарау. Алгоритмнің программалау негіздеріндегі рөлі
1.1. Алгоритм негіздерінің ерекшеліктері 5
1.2. Оқушылардың алгоритмдік мәдениеті. 9
1.3. Алгоритм туралы ұғым 14
1.4. Блок.схема түрінде алгоритмдердің бейнеленуі 17
1.5. Алгоритмдегі басқару құрылымдары 19
2 тарау. Орта мектепте программалау негіздерін оқыту
2.1. Орта мектепте программалау тілін оқытудың орны 23
2.2. Орта мектеп оқушыларын компьютерде программалау дағдысына баулу. 25
2.3. Қолданбалы есептерге (жүйеге) программа құру. 29
2.4. Программалау тілінің құрамы .
2.4.1. Синтаксисі жєне семантикасы. 34
2.4.2. Тілдің сипатталуы. 36
2.4.3. Программалау тілдерінің стандарты және іске асырылуы 40
2.4.4. Программалық өнім және оныњ сипаттамасы. 41
2.4.5. Программаның өмірлік циклы. 42
3 тарау. Turbo Pascal программалау тілін мектепте оқыту әдістері
3.1. Turbo Pascal программалау тілін оқыту 45
3.1.1. Паскаль тілінің лексикалық құрылымы 46
3.2. Паскаль программасының жалпы құрылымы 47
3.2.1. Мәліметтер типтерінің классификациясы. 48
3.3. Паскаль тілінің операторлары 50
3.4. Амалдар және өрнектер 53
3.5. Поцедуралар және функциялар 55
3.5. Мәліметтердің құрылымды типтері
60
Қорытынды 69
Қолданылған әдебиеттер 71
1 қосымша 72
2 қосымша 73
КІРІСПЕ
Президентіміздің нақты тапсырмасына сәйкес, Республика Үкіметі орта білім беру мекемелерін ісіне қазірдің өзінде кірісіп кетті. Алайда, білім беру мекемелерін компьютерлендіру дегеніміз өзі сандық көрсеткіштер арқылы ғана өлшенбек емес. Әңгіме, оқушылардың қазіргі заман талабына сай жан-жақтылығын қамтамасыз ету жолындағы кеңінен ақпараттандыру процесі жайлы болып отыр.
Мектепте информатиканы оќытудың маќсаты - әрбір оќушыға информатиканы ғылымы негіздерінің алғашќы фундаментальды білімін бері, оќушыларға осы білімді мектепте оќытылатын басќа ғылымдардыњ негіздерін түпкілікті жєне сапалы түрде мењгеруге ќажетті іскерліктер мен дағдыларды ќалыптастыру болып табылады. Информатиканы оќытудағы алгоритмдер ќұру, оларды ЭЕМ-да орындау оќушыдан ойлануды және шыдамдылыќты арттыруды, көңіл ќоя білуді, көз алдына елестете білуді талап етеді. Алгоритмді жазуға дағдылану жауапкершілікпен ќарауды, жаңа талап ќоюды керек етеді.
Қазіргі заманда адам көп істі компьютерді пайдалану арқылы атқарады. Кез-келген міндетті орындау алгоритмнің болуын, яғни нәтиже алуға жеткізетін әрекеттердің алдын ала жазылып қоюын қажет етеді. Алгоритмнің негізінде программа түзіледі, яғни есеп шешушінің алгоритмі оны компьютерде орындауға жарамды түрде жазылады. Осыдан барып компьютердің көмегімен есепті шешу процесінің мәні алгоритмді құру екені көрінеді.
Алгоритм дегеніміз - іздеген нәтижеге жеткізетін әрекеттер тізбегі, яғни орындаушының белгіленген мақсатқа жетуіне бағытталған түсінікті де дәл ұйғарым.
Кез келген есепті компьютермен шешу үшін алдымен есептің математикалық қойылуын анықтау, алгоритмін құру, одан соң оны програмалау тілінде жазу керек екені белгілі. Программалау тілінің бірі – Паскальдің негізін салушы Никлас Вирттың тұжырымдауынша, программалау ісі қалай болған күнде де математикасыз өмір сүре алмайды. Математика қанша дамыса да көптеген құбылысты математикалық түрде мазмұндап жазу әлі күнге мүмкін болмай отырғаны сияқты, көптеген есептер үшін алгоритм жазу әлі күнге мүмкін болмай отыр.
Соңғы төрт-бес жыл ішінде пайда болған жаңа программалық өнімдер көпшілікке кәсіби информациялық технологияларды пайдалана білудің аса қажеттігін көрсетті. Біздің қоғамымызда болып жатқан өзгерістер орта білім беру саласының дамуына да өзгерістер енгізуге себепші болды.
Менің бітіру жұмысым 3 бөлімнен тұрады.
І тарауда. Алгоритмнің программалау негіздеріндегі рөлі қарастырылған. Кез келген программалау тілінің негізі – алгоритм болып есептелінеді.
ІІ тарауда. Орта мектепте программалау негіздерін оқытуды осы тарауда қарастырдым. Яғни, оқушыларды программалауға баулу.
ІІІ тарауда. Бұл тарау толығымен мектептегі Turbo Pascal программалау тілін оқытуға арналған.
Қорыта келе, менің бітіру жұмысымның негізгі мақсаты – орта мектепте программалау негіздерін оқыту ерекшеліктері, алгоритмдік тіл және оның ерекшеліктері, алгоритмдік тілдері жайындағы ұғымдарды толығырақ ашу, оқушылардың программалау дағдыларын қалыптастыру.
Президентіміздің нақты тапсырмасына сәйкес, Республика Үкіметі орта білім беру мекемелерін ісіне қазірдің өзінде кірісіп кетті. Алайда, білім беру мекемелерін компьютерлендіру дегеніміз өзі сандық көрсеткіштер арқылы ғана өлшенбек емес. Әңгіме, оқушылардың қазіргі заман талабына сай жан-жақтылығын қамтамасыз ету жолындағы кеңінен ақпараттандыру процесі жайлы болып отыр.
Мектепте информатиканы оќытудың маќсаты - әрбір оќушыға информатиканы ғылымы негіздерінің алғашќы фундаментальды білімін бері, оќушыларға осы білімді мектепте оќытылатын басќа ғылымдардыњ негіздерін түпкілікті жєне сапалы түрде мењгеруге ќажетті іскерліктер мен дағдыларды ќалыптастыру болып табылады. Информатиканы оќытудағы алгоритмдер ќұру, оларды ЭЕМ-да орындау оќушыдан ойлануды және шыдамдылыќты арттыруды, көңіл ќоя білуді, көз алдына елестете білуді талап етеді. Алгоритмді жазуға дағдылану жауапкершілікпен ќарауды, жаңа талап ќоюды керек етеді.
Қазіргі заманда адам көп істі компьютерді пайдалану арқылы атқарады. Кез-келген міндетті орындау алгоритмнің болуын, яғни нәтиже алуға жеткізетін әрекеттердің алдын ала жазылып қоюын қажет етеді. Алгоритмнің негізінде программа түзіледі, яғни есеп шешушінің алгоритмі оны компьютерде орындауға жарамды түрде жазылады. Осыдан барып компьютердің көмегімен есепті шешу процесінің мәні алгоритмді құру екені көрінеді.
Алгоритм дегеніміз - іздеген нәтижеге жеткізетін әрекеттер тізбегі, яғни орындаушының белгіленген мақсатқа жетуіне бағытталған түсінікті де дәл ұйғарым.
Кез келген есепті компьютермен шешу үшін алдымен есептің математикалық қойылуын анықтау, алгоритмін құру, одан соң оны програмалау тілінде жазу керек екені белгілі. Программалау тілінің бірі – Паскальдің негізін салушы Никлас Вирттың тұжырымдауынша, программалау ісі қалай болған күнде де математикасыз өмір сүре алмайды. Математика қанша дамыса да көптеген құбылысты математикалық түрде мазмұндап жазу әлі күнге мүмкін болмай отырғаны сияқты, көптеген есептер үшін алгоритм жазу әлі күнге мүмкін болмай отыр.
Соңғы төрт-бес жыл ішінде пайда болған жаңа программалық өнімдер көпшілікке кәсіби информациялық технологияларды пайдалана білудің аса қажеттігін көрсетті. Біздің қоғамымызда болып жатқан өзгерістер орта білім беру саласының дамуына да өзгерістер енгізуге себепші болды.
Менің бітіру жұмысым 3 бөлімнен тұрады.
І тарауда. Алгоритмнің программалау негіздеріндегі рөлі қарастырылған. Кез келген программалау тілінің негізі – алгоритм болып есептелінеді.
ІІ тарауда. Орта мектепте программалау негіздерін оқытуды осы тарауда қарастырдым. Яғни, оқушыларды программалауға баулу.
ІІІ тарауда. Бұл тарау толығымен мектептегі Turbo Pascal программалау тілін оқытуға арналған.
Қорыта келе, менің бітіру жұмысымның негізгі мақсаты – орта мектепте программалау негіздерін оқыту ерекшеліктері, алгоритмдік тіл және оның ерекшеліктері, алгоритмдік тілдері жайындағы ұғымдарды толығырақ ашу, оқушылардың программалау дағдыларын қалыптастыру.
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР
1. Семакин И.Г., Шестаков А.П. Основы программирования. Учебник. М.:Мастерство, 2002.
2. Лавров С. Программирование. Математические основы. СПб.:Петербург,2001
3. Давыдов В.Г. Программирование и основы алгоритмизации. М.:Высш.шк, 2003
4. Иванова Г.С. Основы программирования. М.:Изд.МГТУ им Н.Э.Баумана, 2002
5. Рапаков Г.Г., Ржеуцкая С.Ю. Программирование на языке Pascal.
Уч.пособие.СПб: БХВ-Петербург,2004
6. Фаронов В.В. Turbo Pascal 7.0 Практика программирования. Учебное пособие. -М.: «Нолидж», 1999
7. Немнюгин С.А. TurboPascal. Практикум.-СПб.:Питер, 2001
2. Ж.Қ. Масанов, Б.А. Бельгибаев, А.С. Бижанова, Қ.Қ. Мақұлов. Turbo Pascal. А.: «Бастау», 2004
3. Кнут Д. Искусство программирования для ЭВМ. Т.1. Основные алгоритмы: Пер. с англ. – М.:Мир, 1976.
4. Шәріпбаев А. Информатика (оқу құралы). –Астана, Нұржол, 2003.
5. Под ред. В.А.Острейковского. Лабораторный практикум по информатике: Уч.пособие для вузов. М.:Высшая школа, 2003.
6. С.И. Молчанов. Основы программирования. –М.: Высшая школа, 2000.
7. “Информатика негіздері” журналы, №1, 2002
1. Семакин И.Г., Шестаков А.П. Основы программирования. Учебник. М.:Мастерство, 2002.
2. Лавров С. Программирование. Математические основы. СПб.:Петербург,2001
3. Давыдов В.Г. Программирование и основы алгоритмизации. М.:Высш.шк, 2003
4. Иванова Г.С. Основы программирования. М.:Изд.МГТУ им Н.Э.Баумана, 2002
5. Рапаков Г.Г., Ржеуцкая С.Ю. Программирование на языке Pascal.
Уч.пособие.СПб: БХВ-Петербург,2004
6. Фаронов В.В. Turbo Pascal 7.0 Практика программирования. Учебное пособие. -М.: «Нолидж», 1999
7. Немнюгин С.А. TurboPascal. Практикум.-СПб.:Питер, 2001
2. Ж.Қ. Масанов, Б.А. Бельгибаев, А.С. Бижанова, Қ.Қ. Мақұлов. Turbo Pascal. А.: «Бастау», 2004
3. Кнут Д. Искусство программирования для ЭВМ. Т.1. Основные алгоритмы: Пер. с англ. – М.:Мир, 1976.
4. Шәріпбаев А. Информатика (оқу құралы). –Астана, Нұржол, 2003.
5. Под ред. В.А.Острейковского. Лабораторный практикум по информатике: Уч.пособие для вузов. М.:Высшая школа, 2003.
6. С.И. Молчанов. Основы программирования. –М.: Высшая школа, 2000.
7. “Информатика негіздері” журналы, №1, 2002
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 77 бет
Таңдаулыға:
Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 77 бет
Таңдаулыға:
КІРІСПЕ
Президентіміздің нақты тапсырмасына сәйкес, Республика Үкіметі орта
білім беру мекемелерін ісіне қазірдің өзінде кірісіп кетті. Алайда, білім
беру мекемелерін компьютерлендіру дегеніміз өзі сандық көрсеткіштер арқылы
ғана өлшенбек емес. Әңгіме, оқушылардың қазіргі заман талабына сай жан-
жақтылығын қамтамасыз ету жолындағы кеңінен ақпараттандыру процесі жайлы
болып отыр.
Мектепте информатиканы оќытудың маќсаты - әрбір оќушыға информатиканы
ғылымы негіздерінің алғашќы фундаментальды білімін бері, оќушыларға осы
білімді мектепте оќытылатын басќа ғылымдардыњ негіздерін түпкілікті жєне
сапалы түрде мењгеруге ќажетті іскерліктер мен дағдыларды ќалыптастыру
болып табылады. Информатиканы оќытудағы алгоритмдер ќұру, оларды ЭЕМ-да
орындау оќушыдан ойлануды және шыдамдылыќты арттыруды, көңіл ќоя білуді,
көз алдына елестете білуді талап етеді. Алгоритмді жазуға дағдылану
жауапкершілікпен ќарауды, жаңа талап ќоюды керек етеді.
Қазіргі заманда адам көп істі компьютерді пайдалану арқылы атқарады.
Кез-келген міндетті орындау алгоритмнің болуын, яғни нәтиже алуға
жеткізетін әрекеттердің алдын ала жазылып қоюын қажет етеді. Алгоритмнің
негізінде программа түзіледі, яғни есеп шешушінің алгоритмі оны компьютерде
орындауға жарамды түрде жазылады. Осыдан барып компьютердің көмегімен
есепті шешу процесінің мәні алгоритмді құру екені көрінеді.
Алгоритм дегеніміз - іздеген нәтижеге жеткізетін әрекеттер тізбегі,
яғни орындаушының белгіленген мақсатқа жетуіне бағытталған түсінікті де дәл
ұйғарым.
Кез келген есепті компьютермен шешу үшін алдымен есептің
математикалық қойылуын анықтау, алгоритмін құру, одан соң оны програмалау
тілінде жазу керек екені белгілі. Программалау тілінің бірі – Паскальдің
негізін салушы Никлас Вирттың тұжырымдауынша, программалау ісі қалай болған
күнде де математикасыз өмір сүре алмайды. Математика қанша дамыса да
көптеген құбылысты математикалық түрде мазмұндап жазу әлі күнге мүмкін
болмай отырғаны сияқты, көптеген есептер үшін алгоритм жазу әлі күнге
мүмкін болмай отыр.
Соңғы төрт-бес жыл ішінде пайда болған жаңа программалық өнімдер
көпшілікке кәсіби информациялық технологияларды пайдалана білудің аса
қажеттігін көрсетті. Біздің қоғамымызда болып жатқан өзгерістер орта білім
беру саласының дамуына да өзгерістер енгізуге себепші болды.
Менің бітіру жұмысым 3 бөлімнен тұрады.
І тарауда. Алгоритмнің программалау негіздеріндегі рөлі қарастырылған.
Кез келген программалау тілінің негізі – алгоритм болып есептелінеді.
ІІ тарауда. Орта мектепте программалау негіздерін оқытуды осы тарауда
қарастырдым. Яғни, оқушыларды программалауға баулу.
ІІІ тарауда. Бұл тарау толығымен мектептегі Turbo Pascal программалау
тілін оқытуға арналған.
Қорыта келе, менің бітіру жұмысымның негізгі мақсаты – орта мектепте
программалау негіздерін оқыту ерекшеліктері, алгоритмдік тіл және оның
ерекшеліктері, алгоритмдік тілдері жайындағы ұғымдарды толығырақ ашу,
оқушылардың программалау дағдыларын қалыптастыру.
1 тарау. Алгоритмнің программалау негіздеріндегі рөлі
1.1. Алгоритм негіздерінің ерекшеліктері
А.Г.Кушниренконың оқулығында алгоритмдік тіл – ЭЕМ –дағы программалау
тілі ретінде берілген және осы мақсатқа сай мектептегі Ямаха, Корвет, УКНЦ
компьютеріне арнайы оқу программалау жүйесі ретінде енгізілді. Ал
В.А.Кайниннің оқулығында “алгоритмдік тіл” алгоритмді жазу құралы ретінде
пайдаланылды. Оның байқау оқу құралындағы псевдакод алгоритмді программалау
тілдеріне аударуды барынша жеңілдету үшін жасалған. Бұл тәсілдің ерекшелігі
тілдер ауысқанымен, ЭЕМ-лар ауысқанымен, оқыту әдістемесінің өзгеріссіз
қалатындығында.
Тәжірибеде мұндай тәсілдің негізінен жоғары математиканың дайындығы
бар студенттер мен оқушылар үшін тиімді екені байқалды. Бұл қағида,
алгоритм мен программадағы қателердің көпшілігі логикалық немесе
математикалық сипатта болатындығымен түсіндіріледі. Дербес ЭЕМ-дер үшін
программалау бастамасын оқытудағы жүйелік тәсіл төмендегідей кезеңдерді
қамтиды:
есеп – сценарий – алгоритм – программа – ЭЕМ.
Жүйелік тәсілдердің авторлары В.А.Каймин және т.б.
Бұл тәсіл бойынша алгоритм мен программа құруда дербес ЭЕМ-мен
болатын диалогтың сценариін құру бірінші орындалады. Алгоритм мен программа
құруда құрылымдық программалаудың барлық ережесі мен принципі толық
пайдаланылады. Бұл технологиядағы ең маңызды нәрсе ЭЕМ-да орындалатын
программаның сценариін алдын – ала талқылап, ұғып жазу болып табылады. Бұл
жүйелілік тәсіл машиналық графикасы бар, диалогты ЭЕМ-мен оқытуға арналған.
Осы тәсіл бойынша 10-15 жас аралығында нақты программалау элементтерін
меңгеруге болады деп есептейді. Бұның себебі, оқушылар шығармашылықпен
жұмыс істеп, ЭЕМ-де өзінің құрған суреттерінің нәтижесін, программадағы
қателерін өздері түзей отырып, экраннан көруге мүмкіндігі бар. Бұл әдіс
бойынша алгоритмді жазып, құрып қана қоймайды, программадағы алгоритмдік
қателерді бірден таба алады. Осы құрылған сценарий бойынша алгоритм мен
программа тексіндегі барлық алгоритмдік қателерді табуға болады.
Орта мектепке арналған барлық информатика оқулықтарында мектептік
алгоритмдік тіл (МАТ) берілген.
Информатикаға кіріспеде алгоритмдеуге есептер қарастырылған болатын,
енді оны алгоритмнің жазылу ережесін ескере отырып, компьютердегі
атқарушыға қолдану қажет.
Алгоритмдік тілдердің құрылымы 1-суретте көрсетілген.
1 – сурет. Алгоритмдік тілдердің құрылымы.
Алгоритмдік тіл – алгоритмді бейнелеу әдісі. Ол табиғи немесе жасанды
тіл ретінде беріледі.
Адамдар қатынас жасайтын тіл – табиғи тіл. Табиғи тілге, мысалы,
қазақ тілі, орыс тілі, ағылшын тілі жәнет.б. тілдер жатады. Алгоритмдегі
нұсқаулар мен амалдар анықтай түсу үшін кейде осы тілдерге математикалық
өрнектер қосылады.
Электрондық есептегіш машиналар – алуан түрлі есептерді шешуге
арналған информацияларды өңдеудің жоғары өнімді құралы. Алайда ЭЕМ – бар
болғаны адам құрастырған жарлықтарды тез және дәл орындайтын автомат.
Мұндай жарлықтарды дайындау, яғни есептерді шешудің барлық жолын біле тұра
жобалау – есептегіш машинаны пайдаланумен байланысты әрекетінің ажырамас
бөлігі. Жетілдірілген есептегіш машиналар есептеу программаларының зердесін
сақтайды, сонда адамға тек программаны құрастырып және машина зердесіне
орналастыру ғана қалады, ал барлық қалғанын – тікелей есеп шешуді – машина
автоматты түрде, яғни адамның араласуынсыз жүзеге асырады. Бұл жағдайда
машина программалы есептегіш техникаға айналады да, онда есепті шешу
процесі тікелей программаны құрастыруға байланысты болады. Демек, есептегіш
машинаға арналған программа негізінде берілген есепті шешу алгоритмі, яғни
нәтижеге жеткізуші әрекеттер тізбегінен тұратын дәл жарлықтар құрайды.
Алгоритм - программаға қарағанда өте жалпы ұғым, ал программа берілген
есептегіш машинаға түсінікті тілде жазылған алгоритм. Бұдан программалы
басқарылатын техника көмегімен есептерді шешу процесінің негізгі бөлігі -
осы есепті шешу алгоритмдердің дайындау екендігі көрінеді. Есепті шешу
алгоритмі айқындалғанда, ол еш қиындықсыз программалау тілінде беріледі.
Басқа сөзбен айтқанда, программалы басқарылатын есептегіш машинада есепті
шығарудағы негізгі процесс – алгоритмдеу, яғни алгоритмдік жарлықтарды
белгілі бір ережеге сәйкес құрастырып жазу. Алгоритм құру мәселесі алгоритм
жазуға қандай тілді пайдаланатынымызға байланысты болатындығы бұрын
айтылғандардан көруге болады.
Алгоритмдік тілді меңгеру ІХ сынып информатика курсының маңызды
мәселелерінің бірі болады. Алгоритмдік тіл оқытуда екі негізгі міндет
атқарады. Біріншіден, оны қолдану курста қарастырылатын барлық
алгоритмдерді стандарттауға, оларға ортақ форма беруге мүмкіндік жасайды,
бұл жайт алгоритмдендірілген мәнін түсіну үшін алгоритмдердің қасиеттері
туралы түсініктері қалыптастыру үшін маңызды. Екіншіден, алгоритмдік тілді
оқу программалы тілін оқудың бастамасы болып табылады. Алгоритмдік тілдің
және оны пайдалану ережесінің құрылымдық қарапайымдығы бұл тілді
программалау элементтеріне баулудың бастапқы кезеңінде ойдағыдай қолдануға
мүмкіндік береді. Оның негізгі құрылымдарының ережелері көптеген
программалау тілдерінің негізінен алынған. Сондықтан алгоритмдік тілді
игеру келешекте программалау тілдерін пайдалануға көшкенде жеңілдік
жасайды.
Алгоритмдік тілдің бірқатар әдістемелік артықшылықтары бар екенін атап
өту керек, осы себепті де алгоритмдер мен программалау негіздерін оқуды
программалау тілін емес, дәл осы тілді пайдалана отырып бастаған орынды.
Алгоритмдік тіл ең алдымен табиғи тілге жақын, бұл жайт оқушының осы
тілдің ережелерін тез меңгеруге және келешекте назарын негізінен оқитын
алгоритмдердің мәніне шоғырландыруға мүмкіндік береді. Күрделі алгоритмнің
үлкен бөлімдерін бір команда ретінде жазу және қабылдау мүмкіндігі
алгоритм жазуда оңай бағдарлануды қамтамасыз етеді. Ақырында, әлі де
көптеген мектептер ЭЕМ-мен жабдықталмауы жағдайында, алгоритмдік тіл
адамның орындауына бағдарланған. Алгоритмдерді жазудың ыңғайлы тілі болып
табылады. Оқушы жарлықтарды алгоритмдік тілдің командаларына сәйкес орындай
отырып, алгоритмдердің жекеленген қадамдарын орындау кезінде есепті
тұтастай түсінік жатудың қажеті жоқ екенін, тек команданы команданың
соңынан дәл орындау маңызды екенін, өз бетінше аңғара алады. Бұдан тағы бір
мақсатқа қол жетеді: барлық әрекеттерді автоматтық құрылғыға жүктеуге
болатының түсінікті.
Алгоритм түрліше жолмен мазмұндалады, ол үшін деңгейі әр түрлі
көптеген алгоритмдік тілдер қолданылады. Қай тілді таңдап алу қажеттігі
бірқатар жағдайларға, ең алдымен мазмұндау кім үшін арналғандығына – адам
үшін бе немесе машина үшін бе – соған байланысты.
Алгоритмді жазу үшін қандай да болмасын тілді пайдалану қажет. Жалпы
алғанда тіл белгілі бір информацияны өрнектеу және жеткізу құралы. Бұл
мағынада адамдар арасындағы қатынас тілі (адамзат тілі), математика тілі
адамдар мен автоматтар арасындағы қатынас тілі, т.б. тілдер туралы айтуға
болады. Алгоритмдік тіл бірқатар қатаң талаптарға сай болуы керек:
1. Командалар тұжырымдау кезінде атқарушыға белгілі операциялар
орындалуына ғана талап ету;
2. Командалар тек қана белгілі бір ережеге сай қолдану;
3. Ережеден тыс әрекеттерді пайдаланылған жағдайда атқарушы
алгоримтді түсінбейді де, оны атқарудан бас тартады.
1.2. Оқушылардың алгоритмдік мәдениеті.
Математиканы тереңдетіп оќытатын мектептерде программалауды оќыту
арнайы жєне профессионалды-баѓытталѓан мүмкіндіктердің үлкен бµлігін
ќарастырады. Біраќ, сонымен ќатар ЭЕМ-ге жалпы білім беруде єсер етуді
зерттеу жєне барлыќ орта мектептерде оќуды ќамтамасыз етуде адамныњ ж±мыс
істеуініњ жања облысы етінде программалау енеді. Басынан бастап
программалау облысынан алынѓан єдістер мен идеялардыњ жалпы білім беретін
к‰ші мектептік білім беруде жања фундаментальды компоненттерді ќамтамасыз
етуді дамыту ‰шін ‰лкен потенциалды ж‰зеге асыратыны белгілі.
ЭЕМ ‰шін программалау негізіне алгоритмдеу т‰сінігі жатады. Ол кењ
маѓынада берілген тілдіњ єдістерімен алгоритмдерді суреттеп жєне ќ±рылымын
жасау процесі ретінде ќарастырылады. Біраќ алгоритмдеу адамныњ наќтыланѓан
орындаушыларымен ќарым-ќатынасына с‰йенетін єдіс ретінде ЭЕМ ‰шін
программаны ќ±румен ѓана байланысты емес. Модельдеу сияќты, алгоритмдеу –
б±л кибернетиканыњ жалпы єдісі. Єр т‰рлі ж‰йелерді басќару процесі ќандай
да бір алгоритмді ќ±растыруѓа єкеледі. Алгоритмді ќ±ру ењ ќарапайым
автоматты ќ±рылѓыларды жасау жєне басќарудыњ автоматты ж‰йесін ќиын µнімді
процстерді µњдумен байланысты. Алгоритмдеудіњ т‰пкі негізі ќазіргі
математиканыњ теориялыќ облысында – алгоритмдер теориясында жатыр, біраќ
практикалыќ маѓынада алгоритмдеу алгоритм туралы рационалды ойлау
ќабілетіне негізделген аныќталѓан практикалыќ єдістер жинаѓы ретінде
т‰сініледі.
Алгоритмдік процестер туралы т‰сінік жєне оларды суреттеу єдістері
иформатика мен есептегіш техника шыќќанға дейін мектептік пєндерді оќыту
кезінде оќушылар т‰сінігінде ќалыптасќан. Мектептік пєндер арасында
негізгі роль математикаѓа т‰сті, µйткені операциялыќ жєне алгоритмдік іс-
єрекеттер оќыту ж±мысы элементініњ бірін ќ±рады. Шынында да, негіздеу, жазу
ќабілеті, математикалыќ алгоритмдерді тексеру, сонымен ќатар оны єрќашанда
наќты орындау оќшылардыњ математикалыќ мєдениетініњ мањызды компонентін
ќ±рады, біраќта алгоритм термині мектептік оќыту програмасында
ќолданылмауы да м‰мкін еді. ЭЕМ-нің және программалаудың көбеюіне
байланысты математикалық мәдениеттің бұл секторы өзіндік мағына ала
бастады, тек қана алгоритмдеудің белгілі компоненттерінің есебімен оны
толықтыру қажет болды. Сонымен қазіргі әрбір адамның жалпы мәдениетінің
жаңа элементін анықтайтын спецификалық түсінігінің арқасында және жалпы
мектептік білім алуды қосу нәтижесінде оқушының алгоритмдік мәдениеті деген
атау алды.
Төменде алгоритмдеу негіздерін жалпы оқыту анализі негізінде
құрастырылған алгоритмдік мәдениет компоненттерінің суреттелуі мен құрылымы
келтірілген:
1. Алгоритм түсінігі және оның оның құрамы. Алгоритм түсінігі
алгоритмдеудің орташа түсінігі, және де алгоритмдік мәдениеттің негізгі
компоненті болып табылады. Алгоритмдеуді оқытуда бұл түсінікті
математикалық дәлдікпен қолданудың қажеті жоқ, тек қана оны интуитивті-
көрнекі деңгейде түсіндіру жеткілікті.
2. Алгоритмдерді суреттеу тілінің түсінігі. Алгоритмді суреттеу
мәселесі әрқашанда суреттеу орындалған кейбір тілдердің түрін көрсетеді.
Сондықтан алгоритм түсінігінің өзі алгоритм мазмұнының әдісі ретінде тіл
түсінігімен үзілмес байланысты. Әрбір жеке жағдайда тілді таңдау алгоритмді
қолдану облысымен анықталады, яғни орындаушы ролінде қатысатын
объектілердің (адам, автомат, компьютер) кұрамы анықталады. Орындаушы қарым-
қатынасындағы тілдік мүмкіндіктердің шекараларын қатал сақтауда
алгоритмдеудің кейбір мағынасында қызмет етеді. Бұл жағдайды түсіну және
әрбір суреттеудің мүмкіндіктерін дәл сақтау да алгоритмдік мәдениеттің
маңызды компонентін құрайды.
3. Суреттеуді нақтылау деңгейі. Суреттеуді нақтылау деңгейі түсінігі
тілдің түсінігімен ажырамас байланыста. Егер суреттеу автомат үшін
құрастырылса, онда бұл жағдайда қолданылатын тіл тілдің синтаксиін құрайтын
нақты ережелер жүйесіне сәйкестендірілген қатаң шектеулерге бағынады.
Мұндай жағдайда тілдің өзі нақтылана түседі. Бірақ тәжірибеде алдын-ала
суреттеуді құрастыру кезінде, алгоритмдерді құру процесінде тек қана қатаң
шектеулер ғана қолданылмай, тілдік әдістер де қолданылуы мүмкін. Сонымен
қатар, мұндай жағдай алдын-ала құрастыру процесінде ғана мүмкін емес. Егер
де, мысалы, алгоритм адамға жіберілсе, онда алгоритмдеудің соңғы варианты
нақты емес, қалқымалы көрініс болуы мүмкін. Тәжірибеде қолданылатын
алгоритмдердің көпшілігі нақты емес вариантта жұмыс істейді. Тек қана
алгоритм орындаушыға түсінікті болғаны маңызды, яғни оның мүмкіндіктер
шекарасынан шығатын көрініс әдістерін қолданбауы керек. Орындаушы үшін
алгоритм түсініктілігінің факторын есептеумен әр түрлі нақтылау
деңгейіндегі тілдермен жұмыс істей білуі алгоритмдік мәдениеттің нақты
компоненті болып табылады.
4. Суреттеудің дискретті принципі. Алгоритмді құру қажет ететін
шешімдерге әкеліп соғатын мүмкін элементарлы іс-әрекеттерді нақты бағыттау
әрекетін орындайды. Бұл іс-әрекеттер оған нақтылық және түсініктілікті
айтатын алгоритмдерді суреттеудің анықталған дискретті құрылымын құрайды.
Әр түрлі тілдерде алгоритмдердің мұндай жеке этаптары әр түрлі әдістермен
көрсетіледі. Алгоритмнің (табиғи тілде) сөздік түсінігімізде – бұл жеке
ұсыныстар, көрсеткіштер, пункттар, схемалар тілінде – бұл жеке блоктар, ЭЕМ-
нің объектті тілінде – бұл жеке командалар, алгоритмдік тілдің жоғары
деңгейдегі – операторлар.
5. Блоктау принципі. Алгоритмді құру үшін қолданылатын тілдердің
мүмкіндіктері детализациялау деңгейін таңдауға әкеліп соқтырады. Бірақ оның
ең бірінші схемасын суреттеу кезінде қажет ететін алгоритмді құрастыру
бойынша жұмыс істеу процесінде алгоритм жіберген орындаушының
мүмкіндіктерімен салыстырғанда іс-әрекет бірлігі өте үлкен тілді қолдану
керек. Бұл жағдайдағы әңгіме, қиын есептерді қарапайым компоненттерге бөле
алу туралы болып отыр. Есеп қиын болған жағдайда, керек тілде оның шешу
алгоритмі дәл сол кезде суреттеуге мүмкін болу үшін бұл жолды әрқашанда
таңдауға тура келеді. Бұл жағдайда есеп меншікті мағына берілетін
ақпараттық шектелген бөліктерге (блоктарға) бөлінеді және есептің бөлігін
қосатын бірінші схеманы құрастырғаннан кейін жеке блоктарды детализациялау
жұмысы орындалады. Осы блоктың әрбірі жаңа ғана суреттелген принцип бойынша
детализацияланған болуы мүмкін.
Жалпы ойлау қабілеті болып табылатын блоктау принципі жалпы білім
және тәрбиелік мағына береді. Оның схемасына өте жиі әр түрлі облыстарда
зерттеу процесі қойылады. Ішкі байланыстар құрғаннан кейін зерттеуші жеке
меншікті бөліктерге (блоктарға) облысты бөлуге ұмтылады, содан кейін әрбір
блоктың ішіне кіре бастайды. Блоктау принципі программалау облысынан
алынған жалпы білім беру күшін көрнекі түрде көрсетеді:
а) жеке-жеке блоктарды көрсету алгоритм орнына сәйкес орналасады, ал
блоктың өзі алгоритмді іздеудің жалпы орындау ролін сызып, сонда балқып
кетеді;
б) блоктардың мазмұны алгоритмге құрылмайды, ал оның
сәйкестендірілген орындарында жіберілетін жеке блоктарға орналасқан
жолдамалар орналасады; соңғы алгоритм болып негізгі алгоритм бағамы мен
оның жеке блоктары саналады.
6. Тармақталу принципі. Алгоритмдерді көрсеті үшін қолданылатын
тілдердің алгоритмдік толықтылығын қажет етуі логикалық жағдайларды
алгоритмдік суреттеуде құрастыруға мүмкіндік беретін әдістердің
бірегейлігін қамтамасыз ету керек, яғни берілген бастапқы шарттарға
байланысты шешім қабылдауын керек ететін жағдайлар. Мұндай алгоритмдерді
ұйымдастыру, тілдің логикалық әдістерін қолдана білу шеберлігін қажет
етеді. Мұнда алгоритмдік сауаттылықтың нақты компоненттері болып:
а) суреттеу мәліметтердің шығу мәліметтер варианттарының барлық
мүмкіндіктері қарастырылады және әрбір комбинация үшін нәтижелі болуы
керек;
б) шығу мәліметтерінің нақты мағынасы үшін алгоритмдердің орындалуы
нақты шарттармен анықталатын мүмкін жолдардың ішінен әрқашанда біреуін ғана
өтеді.
7. Циклдеу принципі. Көп жағдайда алгоритмдік суреттеудің эффектілігі
енгізілген шамалардың әр түрлі мағынасында суреттеудің қайталанатын
фрагменттерін қайталап өтуде тілдің логикалық әдістерін қолданумен
ұйымдастырылуы мүмкін, бірақ тіл циклдык алгоритмдерді ұйымдастырудың нақты
әдістерін де қамтамасыз ете алады (мысалы, тілдің жоғары деңгейлі циклдің
операторлары). Осы және басқа да жағдайда алгоритмдік мәдениеттің нақты
компоненті болып циклдік процестің функционалданған жалпы схемасын түсіну
табылады және алгоритмді айрықша көрсету қабілеті маңызды болып табылады.
8. Алгоритмді орындау. Алгоритмдік мәдениеттің маңызды компоненті
алгоритмдеу процесінде қабылдау қабілеті мен жоспарланған шешімдерден
алынған алгоритмдерді суреттеу фрагементтерін орындау болып табылады.
Алгоритмдеудің бұл компоненті алгоритм авторын әрдайым қатал орындаушыға
айналуды қажет етеді және алгоритмдік суреттеуді құру процесінде дұрыс
бақылау мен алгоритмді толықтыру әдісі ретінде жалғыз жұмыс істейтін
процесс болып табылады.
9. Мәліметтерді ұйымдастыру. Алгоритм үшін берілген материал өңдеуді
қажет ететін ақпарат немесе берілген материал болып табылады. Алгоритм
құрастырушы өңдеуді қандай ретпен өндіру керектігін ғана ойламай,
алгоритмнің жұмысының бір айналмалы мен соңғы шешімін тіркестіріп отыру
керек.
Мен алгоритмдік мәдениеттің компонентерін атап шықтым. Бірақ
алгоритмдік мәдениетті құрастыратын компоненттер ерекшелігі оқушының ЭЕМ-
мен қарым-қатынасына тар ориентациясы бар, ал программалауға қарағанда кең
мағына алады. Басқа сөзбен айтқанда, оқушының алгоримтдік мәдениеті жалпы
программалауға дейінгі көрінісі, қабілеті мен әдістері ретінде тек қана
оқушы - компьютер жүйесінде жұмыс істеу үшін ғана емес, сонымен қатар
оқушы - мұғалім, оқушы - оқушы және тағы басқа формальды емес машинасыз
жүйе оқушы мәдениетінің бастапқы деңгейін қамтамасыз етеді.
1.3. Алгоритм туралы ұғым
Алгоритмдер жазу үшін уақыт кетіріп ерекше тіл үйренудің қажетті неде?
Алгоритмдерді қазақ тілінде-ақ жаза берсек болмас па екен? – деген сұрақ
тууы мүмкін. – Біздің ана тіліміз соншалықты бай, жан-жақты, тек
алгоритмдер ғана емес, одан басқа да кез келген нәрселерді суреттеп бере
алады.
Әрине тілдің жан-жақтылығы, бір нәрсені алуан түрлі сөзбен жеткізе
алатындығы, керісінше, жалғыз ғана сөзбен неше түрлі сезім толқындарын
тудыратындығы адамдардың өзара қатынасы, көркем әдебиет, мәдениет және т.б.
үшін өте құнды.
Алайда, алгоритмдерге келгенде мәселе басқаша. Мәселе алгоритмдерді
орындаушылардың басым көпшілігі автоматтар екендігінде болып тұр. Дәлірек
айтқанда, жаңа нұсқауларды автоматтың негізгі командаларына сүйеніп, қатаң
ережелерді сақтай отырып құрастыруға болады.
Литерлік шама деп мәндері сөздері немесе текст болып келген шаманы
айтамыз.
Жаңа байқау оқу құралында мектептік алгоритмдік тіл қарастырылған.
Бұдан былай тілді жай ғана алгоритмдік тіл деп атау келісілген. Осы тілде
жазылған алгоритмнің жалпы түрі мынадай:
алг алгоритмнің атауы
арг алгоритмнің қолданылу шарты
нәт алгоритмді атқарудағы мақсат
басы
алгоритмнің денесі командалар тізбегі
соңы
Алгоритмдік тілде негізгі және қосалқы алгоритм деген ұғымдар
енгізілген. Алгоритмдердің былайша аталуы олардың белгілі бір мезеттегі
өзара қатынасын көрсетеді. Бір алгоритмнің құрамында пайдаланылатын
алгоритм қосалқы алгоритм, ал құрамында қосалқы алгоритм пайдаланылатын
алгоритм негізгі алгоритм деп аталады.
Қосалқы алгоритм пайдалану жаңа алгоритмді құрастыру процесін
жеңілдетеді, әрі негізгі алгоритмнің жазылуы жинақты және түсінікті болады.
Қосалқы алгоритм негізгі алгоритмнің құрамына шақыру командасы ретінде
жазылады. Оны жазу былай жүзеге асырылады: негізгі алгоритмнің тиісті
командасының орнына қосалқы алгоритмнің атауы жазылады. Ал егер
аргументтері бар болса, онда алгоритм атауына тіркелініп дөңгелек жақша
ішіне қосалқы алгоритмнің аргументтеріне қандай мәндер беру, атқарылу
нәтижесін қалай пайдалану керектігі көрсетіледі.
Алгоритмдік тілде нақты сандардың орнына кейбір жағдайда сандық және
алгебралық өрнектерді де пайдалануға болады. Оларды алгоритмдік тілде
арифметикалық өрнектер деп атайды. Оны былай түсінуге болады: алгебралық
өрнек арифметикалық өрнекке айналғаннан кейін ғана ондағы амалдар ЭЕМ-де
орындалады.
Арифметикалық өрнек деп арифметикалық амал белгілері және дөңгелек
жақшалар арқылы байланыстырылған сандар, стандартты функциялар және
айнымалылар тізбегін айтады. Демек, алгоритмдік тілде сан жазудың орнына
арифметикалық өрнек жазуға болады.
Арифметикалық өрнектердің алгоритмдік тілде жазылуының алгебрадағы
жазылудан бірнеше өзгешіліктері бар екендігін бір-бірімен салыстыра отырып
түсідірген жөн. Ол өзгешіліктер мыналар:
- арифметикалық өрнектер алгоритмдік тілде сызықты түрде, яғни бір
жолдың бойына жазылады.
- арифметикалық амал белгілері: қосу+, азайту -, көбейту *,
бһлу :, дәрежелеу амалдары алгоритмдік тілде былай белгіленеді: +, -, *,
, **;
- алгебрада көбейту амалы орынан ешнәрсе жазбауға болады, мысалы, 6
а, ал алгоритмдік тілде оны былай жазу керек: 6*а;
- қосалқы алгоритмдердің, фукнциялардың стандартты, стандартты емес
аргументтері дөңгелек жақша ішіне алынып жазылады.
Математика курсындағыдай алгоритмдік тілдегі шамаларды тұрақты және
айнымалы шамалар деп бөледі.
Алгоритмдік тілде әр шаманың аты, мәні, типі және түрі анықталып
мазмұндалады математика шаманың мәнінің берілуі, типі мен түрінің
анықталып берілуі мідетті емес.
Алгоритмдегі пайдалануына сәйкес, атқаратын жұмысына байланысты
шамаларды түрлерге бөледі. Алгоритмдік тілде шамалардың мынадай төрт түрі
бар: арг, нәт, арг, нәт және аралық.
Адам мен ЭЕМ арасындағы информация алмасуды қамтамасыз ету алгоритмдік
тілде арнай енгізу және шығару командалары пайдаланылады. Мысалы, есептің
программасын, сол сияқты алгоритмнің атқарылуына қажетті бастапқы
мәліметтер мен басқа да информациялар ЭЕМ зердесіне клавиатурадан
енгізіледі. Алгоритмді атқару барысында енгіз і командасы бойынша ЭЕМ
айнымалысының мәтінің клавиатурадан енгізілуін күтеді. Енгізілген сандық
немесе литерлік мәні і айнымалысына телінеді де, алгоритмнің атқарылуы әрі
қарай жылғасады.
Шығару t командасындағы шығар қызметші сөз айнымалысының мәні
экранға шығарылатындығын көрсетеді. Егер экранға текстік информацияны
шығару қажет болса, ол информация символ, сөз немесе сөйлем шығару
қызметші сөзінен соң тырнақша ішіне жазылады.
Сонымен алгоритмдік тіл жай командалардың жазылу ережесін, құрама
командалардың, алгоритмдердің құрылымын және олардың мағынасын,яғни қалай
орындалатынын дәл және бірмәнді анықтайды.
Алгоритмдік тілді анықтауда келесі ұғымдар:
1. Тілде қолдануға болатын символдардың (белгілердің) жиынтығы, яғни
алфавит.
2. Тілдің конструкцияларының: айнымалының, өрнектердің, командалардың
жазылу және алгоритмдік жазудың жалпы құрылымының ережелері, яғни
синтаксис
3. Әр түрлі командалардың қызметі мен орындалу жолы, яғни
семантика
берілуі керек.
Табиғи тілдерде бірмәнділік болмағандықтан осы тілдерде жазылған
алгоритмдегі нұсқауладың бірнеше мағынасы болуы мүмкін. Әрине, бұл
орындаушының осындай тілде жазылған алгоритмді орындауын қиындатады, тіпті
ондай алгоритмді орындау мүмкін болмайды. Сондықтан, табиғи тілдердің
байлығына қарамастан, информатикада алгоритмдерді бейнелеу үшін бір мәнді
жасанды тілдерді қолданады. Олар жасанды графикалық тілдер және жасанды
вербальды-сөзді тілдер.
1.4. Блок-схема түрінде алгоритмдердің бейнеленуі
Блок-схема тілі алгоритмдегі әр түрлі әрекеттердің хронологиялық
байланысын көрсете алады. Ол үшін бұл тілде түрлі әрекеттерді бейнелейтін
геометриялық фигуралар және әрекеттердің орындалу ретін көрсететін
бағыттама пайдаланылады. Бұлар блок-схема тілінің әліпбиін құрайды, ал
олардың мағынасы алдын ала анықталған келісім бойынша беріледі. Блок-схема
тіліндегі фигуралады жазықтықтың кез-келген бағытында жазуға болады. Ол
алгоритм құрушының өз еркінде. Әдетте қағаздың бір бетіне логикалық толық
әрекеттер тізбегін жазады.
Блок-схема - әрқайсысы қандай да бір іс-әрекеттерді немесе
операцияларды бейнелейтін геометриялық фигуралардың жиынтыѓын көрсететін
алгоритмнің графикалық интерпретациясы. Символдар қалыпы жєне алгоритмдерді
құру ережелері мемлекеттік стандартқа сєйкес бекітілген: ГОСТ 19.701-90
Алгоритмдер, программалар, мєліметтер жєне жүйелер схемалары.
Блок-схема тілінде алгоритмдерді ќ±ру ережелері
1. Блок-схема жоѓарыдан тµмен ќ±рылады.
2. Кез келген блок-схемада алгоритмніњ басына сєйкес бір ѓана элемент
болу керек жєне алгоритмніњ соњына сєйкес бір элемент болу керек.
3. Блок-схеманыњ басынан кез келген элементке кем дегенде бір баѓыт болу
керек.
4. Блок-схеманыњ кез келген элементінен блок-схеманыњ соњына кем дегенде
бір баѓыт болу керек.
Ќазіргі технологиялыќ алгоритмдерді жобалаудыњ негізгі єдістері
1. Қ±рылымдыќ жобалау єдісі. Кез келген алгоритм ‰ш ќ±рылымдыќ ќорлардыњ
комбинациясынан ќ±рылуы м‰мкін: сызыќтыќ алгоритм (тізбектік), тармаќталѓан
алгоритм жєне циклдыќ алгоритм (ќайталау)
2. Жинаќсыз жобаланѓан єдіс. Ењ алдымен негізгі функциялар екінші
дєрежелі функциялар ерекшеленеді.
3. Ќадам бойынша бµлшектеу єдісі.
4. Модульдік єдіс. Модуль – программаныњ логикалыќ байланысты бµлігі.
Блок-схема ќ±рмастан б±рын мына іс-єрекеттерді орындау керек:
1. Кіру жєне шыѓу ќ±рамын реттеу, яѓни енгізілген мєліметтердіњ аралыќ жєне
шыѓарѓан нєтижелердіњ атауларын аныќтау.
2. Негізгі программаѓа жєне ќосымша алгоритмге атау беру.
1.5. Алгоритмдегі басқару құрылымдары
Басқару құрылымдарының алгоритмді құруда маңызы зор. Сондықтан
төменде басқару құрылымдарын әртүрлі алгоритмдік тілдеріндегі бейнелері
және қасиеттері қарастырылады.
Басқару құрылымдарын бейнелеу үшін блок- схема тілі, бұтақ тәрізді
тіл және жасанды тіл қолданылады.
1. Сызықтық басқару құрылымы бірнеше қарапайым әрекеттердің тізбегінен
бір күрделі әрекет құрастыруға болатындығын көрсетеді. Сызыќтыќ алгоритмдер
– блоктар тізбегі, єрќайсысыныњ бір-бірден енгізілуі жєне шыѓуы болады,
жєне программада бір рет орындалады.
2. Тармақталу басқару құрылымы белгілі шарт бойынша әр түрлі
әреттердің бірін орындалуға болатынын көрсетеді. Өз кезегінде тармақталу үш
түрге бөлнеді: қарапайым тамақталу, баламалы тармақталу,көп мәнді
тармақталу.
Қарапайым тармақталу күрделі S әрекеті белгілі В шартына байланысты
берілген S1 әрекетін орындау керек немесе еш нәрсе орындамау керек дегеннен
құрылатындығын көрсетеді. Яғни, шарты қанағаттандырылған жағдайда S1
әрекет орындалады, ал басқа жағдайда еш нәрсе орындалмайды.
Алгоритмдік тілде әр команданы әр жолға жазумен қатар, бір жолға
бірнеше команда жазуға болады. Бұл жағдайда командалар бір-бірінен нүктелі
үтір (;) арқылы бөлініп тұрады. Мысалы, ах=в теңдеуін шешу алгоритмін
алгоритмдік тілде жазайық.
егер а=0
онда егер в=0
онда у:= кез-келген сан
әйтпесе у:= шешімі жоқ
бітті
әйтпесе х:=ва
бітті
2.1. Баламалы тармақталу күрделі S әрекеті белгілі В шартына
байланысты берілген S1 әрекетін немесе S2 әрекетін орындау керек дегенді
көрсетеді. Яғни, егер В шарты қанағаттандырылған жағдайда S1 әрекеті
орындалады, әйтпесе, S2 әрекеті орындалады.
2.2. Көп мәнді тармақталу (таңдау) күрдел S әрекеті белгілі айнымалы
шама V өзінің әртүрліі мүмкін 1,2,...,N мәндерінің біреуін міндетті түрде
қабылдауына сәйкес берілген әр түрлі S1,S2...,SN әрекеттернің біреуі мндетті
түрде орындалуы қажет дегенд көрсетеді.Яғни, егер V=1, онда S1 орындалады,
әйтпесе егер V=2 онда S1 орындалады, әйтпесе егер V=N-1, онда SN-1
орындалады, әйтпесе AN орындалады. Көп мәнді тармақталу мағынасы брнеше
паралель тартылған сымдарға шамдар орнатып, электр қуатын бергенде тек бір
ғана шамдар жағылатын болатындай еткенге ұқсас болады.
3. Қайталау басқару құрылымы белгілі бір әрекеттің орындалуын бірнеше
рет қайталау керек дегенді көрсетеді. Қайталау саны белгіл шартқа
байланысты немесе алдын ала белгілі болады. Орындалуы қайталанатын әрекетті
қайталау денесі деп аталады.
Жалпы, белгл бр шартқа байланысты қайталаудың екі түр бар: алғышартты
қайталау, соңғы шартты қайталау. Орындалу реті бойынша көрсетілген шарт
берілген әрекеттен алғышарттты қайталауда бұрын (яғни, шарт әрекеттің
алдында орналасады), соңғы шартты қайталауда –кейін тексеріледі.
Егер қайталау саны алдын ала белгілі болса, онда оны параметрлі
қайталау деп атайды, ол соңғы шартты қайталау тобына жатады.
3.1. Алғышартты қайталау күрделі S әрекеті белгілі В шарты
қанағаттандырылса, қайталау денесі S1 әрекетін орындауды қайталау керек,
ал егер осы В шарты қанағаттандырылмаса еш нәрсе орындамау керек дегенді
көрсетеді.
3.1.1. Соңғы шартты қайталау күрделі S әрекеті қайталау денесі
болатын берілген S1 әрекетін орындауды белгілі В шарты
қанағаттандырылғанға шейін қайталай беру керек, ал осы В шарты
қанағаттандырылса қайталауды тоқтату керек дегенді көрсетеді.
3.1.2. Параметрлік қайталау басқару құрылымында қайталау денесінің
орындау саны параметр деп аталатын айнымалы шаманың алғшқы мәні мен соңғы
мәні және қадам деп аталатын тұрақты шама арқылы анықталады: қайталау
денесін әр орындау кезнде параметрдің соңғы мәніне жеткенше қадамның мәні
(егер қадамның мәні, онда 1) қосылып отырады.
Әдетте, параметрдің алғашқы мәні, соңғы мәні бүтін сандар болады.
Сондықтан қайталау саны параметрдің соңғы мәні мен алғашқы мәнінің
айырмасын қадам мәніне бөлгендегі шыққан санның бүтін бөлігіне брді
қосқанға тең болады. Мысалы: параметрдің алғашқы мәні 5, соңғы мәні 20, ал
қадам мәні 2 болса, онда қайталау саны мына өрнек [(20-5):2]+1=8 арқылы
есептелінеді, мұнда тік жақшаның ішінде санның бүтін бөлгі жазылады.
Алгоритмдік тіл – алгоритмдерді біркелкі және дәл жазудың және оларды
орындаудың ережелері мен белгілер жүйесі.
Алгоритмдік тілді анықтауда келесі ұғымдар:
І. Тілде қолдануға болатын символдардың (белгілердің) жиынтығы, яғни
алфавиті берілуі керек.
ІІ. Тілдің конструкцияларының: айнымалының, өрнектердің, командалардың
жазылу және алгоритмдік жазудың жалпы құрылымының ережелері, яғни синтаксис
берілуі керек.
ІІІ. Әр түрлі командалардың қызметі мен орындалу жолы, яғни семантика
берілуі керек.
2 тарау. Орта мектепте программалау негіздерін оқыту
2.1. Орта мектепте программалау тілін оқытудың орны
Қандай программалау тілін оқыту және сол кезде қандай әдістерді
қолдану мүлдем басқа мәселе болып табылады.
Осы уақытқа дейін бұл мәселе негізінен төмендегідей жолмен шешіліп
келді:
- мектепте қандай да бір нақты программалар тілі оқытылды;
- тілді таңдау программаның талаптарымен анықталды( көп жағдайда бұл
Бейсик тілі болды) немесе компьютердің маркасына және оқушының
даярлығына қарай басқа тілдер( мысалға, Фортран) оқытылды;
- тиісті техникалық базасы бар және оқытушылары информатика оқытудағы өз
әдістемелерін әзірлеп жүрген жекелеген мектептерде программалаудың
неғұрлым жаңа құралдары( мысалы, Турбо Паскаль) оқытылды.
Қазіргі уақытта мектепке жаңа компьютерлер келген кезеңде программалау
жүйелерін таңдау мүмкіндіктерінің шеңбері біршама кеңейді. Бұл Turbo Pascal
7.0,Visual Basic, Delphi, C++. Бұл тізімді әрі қарай да жалғастыра беруге
болады.
Алайда мектепте оқыту үшін программалаудың қандайда бір жеке жүйесін
таңдау осы жүйеге тән қатаң таптаурындар(стереотиптер) туғызатына және
оқушының бұған дейін Basic тіліне бауыр басып кеткені сияқты басқа да
жүйеге де үйреніп кеткені айдан анық болды.Тығырықтан шығар жол қайда?
Мұның шығар жолы - программалаудың қандай да бір жеке жүйесін оқытуда
емес, жалпы алғанда программалау негіздерін меңгеруде және, атап айтқанда,
қандай да бір программалау жүйесіндегі негізгі ұстамдармен (принциптерімен)
танысуда. Сондықтанда оқушыларда таныс алгоритмдік тілдің көмегі арқылы
программалаудың әдістерімен таныстырған дұрыс.
Сонымен, орта мектепте информатика курсын оқытудың мақсатына сай,
алгоритмдеу мен программалау бастамасының міндетіне мыналар кіреді:
1) ЭЕМ-ның көмегңмен шешуге арналған есептің қойылу техникасы
жайлы ұғымды түсіндіру;
2) әртүрлі мектеп пәндерінен қарапайым есептерді шешу әдісі мен
моделін таңдау;
3) физика, математика және басқа да сабақтар бойынша ЭЕМ-де
есептер швғаруға қарапайым алгоритм құру іскерлігін
қалыптастыру;
4) қандай да бір программалау тілінде қарапайым программа құрып,
оны есептегіш машинада жүргізу іскерлігін қалыптастыру;
5) қазіргі есептегіш техниканың негізгі мүмкіндіктері мен оның
даму болашағы жайлы білім беру;
6) ЭЕМ-нан алынған нәтижені талдау іскерлігін қалыптастыру.
Мұндай программаны жүзеге асыруды әдістемелік негізі ретінде ЭЕМ-де
есеп шығаруға дайындалу іс - әрекетін былай көрсетуге болады:
есеп тәсіл
қойылымы әдіс
сценарий алгоритм
ЭЕМ программа
Кез келген есепті компьютер көмегімен шығару жұмысын келесі этаптарға
бөлуге болады.
1) Есептің математикалық қойылымы;
2) Таңдалған есепті қалыптастыру;
3) Есептің алгоритмін құру.
4) Программалау тілінде программа құру;
5) Программаны тестілеу және тексеру;
6) Алынған нәтижелерді есептеу және сараптау.
Бұл тізбекті ЭЕМ-да есепті шығарудың технологиялық тізбегі деп
атайды.
2.2. Орта мектеп оқушыларын компьютерде программалау дағдысына баулу.
Бұдан бірнеше жыл бұрын ғана программалауды сауаттылықпен салыстыру
заңсыз болып көрінер еді. Қазір “Информатика және есептеу техникасы
негіздері” пәні әрбір мектепте оқытылып жатқан кезде, мұндай салыстыру
бізге осы пәнді меңгеру қазіргі заман адамының жалпы мәдениеттік білімінде
қандай орын алатынын және болашақтағы оның қандай рөл атқаратынын түсінуге
көмектеседі. Бір ескертетініміз, пайдаланудағы жалпы икемдік деген кең
мағынада түсінеміз.
Егер сауаттылықтың өзіндік пайда болуы және дамуы бар тарихи
категория екенін ескерсек, онда программалауды сауаттылықпен салыстыру
оңайырақ.
Алайда, осындай қарқында дамудың алдында бір маңызды кедергі бар.
Қазіргі кезде адамның машинаға білім беру қабілеті сол машинаны жасау мен
салыстығанда көп артта қалып келеді.Егер микропроцессор мен микроЭЕМ
жасауға кететін қоғамдық еңбек шығыны адам-сағатпен есептелетін болса, онда
программалық жабдықтарға кететін шығын әлі күнге дейін адам- ай және адам
жыл өлшемдерімен есептеледі. Программалау мамандары программалаушы еңбегін
бұдан өнімдірек ету жолында аянбай еңбек етуде. Алайда, олар қазіргі
дәстүрлі программа жасау процесіндегі еңбек өнімділігін он есе арттыруға
қажетті жағдай жасай алғанның өзінде, қарапайым есептеулер бойынша шамамен
жиырма жылдан кейін, барлық микропроцессорларды программалармен қамтамассыз
ету үшін жер шарындағы барлық ересек адамдар программалаумен айналасуы
керек болады. Өздерінің қиялдау күші XXI ғасырда қамтыған фантастардың
айтуынша, болашақта нақты ғылымдарды білмейтін адамды есеп және жазумен
“Хатшыларым айналысады” деп шірене сөйлейтін орта ғасырлық сауатсыз
баронмен салыстыруға болады.
Программалаумен де тура осылай болуға тиіс. Ғылымда, өндірісте және
т.б. кай салада болса да жұмыс істейтін әрбір маман ЭЕМ- ді тиімді
пайдалана және программалай алуы тиіс, міне екінші сауаттылық дегеніміз
осы.
Сонымен, біз машиналар әлемінен программалар әлеміне ауысамыз.
Француз жазушысы Мольердің кейіпкері месье Журден өзінің өмір бойы
прозамен сөйлеуін байқамағанын бігенде қатты таң қалады. ЭЕМ-нің шығуы және
соған байланысты есептеу ғылымының пайда болуы арқасында адамзат сол месье
Журденнің жағдайыны тап болып, өзінің программалар әлемінде өмір сүріп
жатқанын сезінеді.
Иә, біз программалар әлемінде өмір сүреміз, өзіміз сезбесек те
әрқашан программалаумен айналысамыз. XX ғасырдағы биологиялық ғылымның ең
үздік табыстарының бірі- организм дамуы оның гендік құрылымында жазылған
генетикалық программа орындалуының ашылуы екені күмәнсіз. Бұл жерде
орындалу және программа деген компьютерлік терминдерді қолдану метафора
еместігін ескертеміз, олар клетка ішіндегі өсу және даму процестерінің
мағынасын беріп тұр, ол процестермен мағынасын беріп тұр, ол процестермен
салыстырып қарағанда, молекулалық құрылымдар және химиялық процестер-
өзінше элементтік база және командаларды іске асыру тәсілі ғана болды.
Осыған ұқсас, біздің организмде өтіп жатқан барлық физиологиялық
процестер ұқыпты тиянақталған, күрделі құрылған, өте үлкен программалар
кітапханасы. Осы кітапхана программаларының құрылымы мен олардың
информациялық байланыстарына талдау жасау организмін қазіргі жағдайы туралы
қорытынды айтуға және оның болашақтағы өзгеруін болжауға мүмкіндік береді.
Іс жүзінде кез-келген кәсіпорында барлық өндірістік процес – ол
программалар бойынша жұмыс істеу. Сонда өндірістік процестің тиімділігі сол
программалардың тиянақты жасалу дәрежесіне байланысты.
Тіпті процесте кездейсоқ элемент бар болғанның өзінде, мысалы,
аңшылық немесе автомашина жүргізу, кездейсоқтық және болжамсыздық тек
жағдайлар тізбегінің орналасуына ғана әсер етеді, бірақ осы жағдайларға
жауап реакцияға әсер етпейді, ал ол әрқашан дерлік алдын-ала белгіле
программа бойынша орындалады.
Ақырында, оқып үйрену, яғни білім алу да - белгілі программа бойынша
жұмыс істеу. Шынында да, сәби бірдеңе істеуді үйрену үшін, ол алдымен оны
қалай істейтінін түсінуі керек. Тек осындай түсінік пайда болғаннан кейін
ғана қайталап жаттығу нәтижеге жеткізеді. Бір ескертетініміз, бұл алдын-ала
белгілі әрекетке логикалық реакциялар тізбегі болып табылатын
программаларға ғана қатысты емес, сонымен қатар адамның спорттағы,
музыкадағы, ойындардағы және т.б. күрделі қозғалыс процесінде орындайтын
программаларға да қатысты.
Адамның күнделікті өмірі - ол да көбінесе программа бойынша жасалатын
іс-әрекет. Режим сақтайтын әрбір адам өзін мақтанышпен программалаушымын
деп сезінеді. Өздерінің таңертеңгілік, қоңыраулы сағат үнінен бастап үйден
шыққанға дейінгі уақыттарыңды еске сүріңдерші. Бұл уақыт әбден әдет болып
кеткен таңертеңгілік жұмыстарға толы: төсек жинау, жуыну және т. С.с. Үйді
жинау туралы ойласаңдар оның оңай емес екеніне көздерің жетеді. Үй жинаудың
тиімді программасын жасау әрбір кәсіби программалаушыға абырой болар еді.
Сонымен программалар әлемі тіпті де ЭЕМ жадына салынған нәрсеге ғана
байланысты емес. Ол бәрінен бұрын, адамзаттың жинаған амалдау білімінің
үлкен қоры, бұл қор қазір ғана есептеуіш машиналар, роботтар және
автоматтық құрылғылар арқылы іске асырылуда. Бұл бүкіл тіршілік иелерінің
гендік инженерияның мәселелері.
Ал мұның бәрі осылай болса, онда біз, әрине программалау негізін
іздеу проблемасына, оның ішінде табиғаттағы және адам жасаған
программаларды ортақ тұрғыдан түсінуге мүмкіндік беретін кейбір бастапқы
мәндерді бөліп қарау проблемаларына келеміз. Егер біз осы бастапқы мәндерді
адам саналы түрде қабылдай алсын десек, онда осы мәндерді жалпыға ортақ
білімнің құрылымы мен мазмұнына енгізуден басқа жол жоқ.
Сонымен біз іс жүзінде электронды - есептеуіш техниканың қоғамда
шексіз дамуы және таралуы қарсаңында тұрмыз. Машина іс жүзінде адам
қызметінің барлығында да адамды бірсарынды өнімсіз жұмыстан босатып және
интелектін күшейтіп оның серігі болып келеді.
Адам интелектінің даму процесінің маңызды жеделдеткіші ролінде болып,
оның информация өңдеу заңдары, білімнен іске көшу тәсілдері, программа
құру, олар туралы ой толғау және жұмыстар нәтижесін болжау қабілеті болу
керек. Осы мәселелер бойынша білім жиынтығы қоғамның әрбір мүшесі алған
жалпы білімнің ілгері бөлігі- екінші сауаттылық болуы керек.
Қазір барлығымыз бүкіл дүние жүзіндегі ауқымды саяси және
экономикалық өзгерістердің куәгері болып отырмыз. Бүгінгі таңда болып
жатқан істердің бір жарқын көрінісі- біздің және басқа елдерге жаңа
компьютерлік технологиялардың енуі. Қазіргі компьютер біздің өміріміздің
барлық салаларына, оның ішінде білім беру саласына да енді. Бұған дәлел,
1997 жылы 22 қыркүйекте Қазақстан Республикасы Президентінің Орта білім
беру жүйесі ақпараттандыру мемлекеттік бағдарламасы.
Қалыпты орта мектептер аумағыңда компьютерлік сауаттылықты меңгеру
біздің қоғамымыздың әлемдік стандарттарға тартудың түйінді мәселесі болып
табылады. Информатика пәнінің 7-ші, тіпті 1 сыныптан бастап оқуды
қарастыратын оқу курсының бағдарламалары әзірленген және әлі де жалғасын
тауып жатыр. Оқулықтардың бірқатар нұсқалары және әртүрлі әдістемелік
құралдар баспадан шығарылды. Алайда бұған қарамастан, орта мектеп
бағдарламасына программалау тілдерін оқытуды енгізуге бола ма және оның
қайсысын оқыту керектігі туралы сұрақтар әлі депікірталас тудыруда. Бүгінгі
күнде байқап отырғанымыздай, дайын программаның жабдықтардың молшылығы
кезінде компьютерлік сауаттылық негіздерін меңгерумен шектеліп, негізгі
көңілді стандартты офистік жиынды немесе нақты кәсіптік бағытпен байланысты
курсты оқытуға бөлуге, ал программалауды оқытуды арнайы оқу орындарына-
колледждер мен институттарға ұсынсақ болар еді. Бірақ мұндай көзқарас бір
қарапайым, бірақ өте маңызды нәрсені- компьютерлік технологиядағы ең
ауқымды шығармашылық потенциалдың программалауда жатқанын ескермейді.
Мұнымен есептеспеу - оқушыны жаңа, көпқырлы қызмет түрінде өзінің
шығармашылық қабілеттерін дамыту мүмкіндігінен айыру деген сөз ( бұл кезде
оқушы бұған әбден бейім). Оның үстіне сөз программалау тілін кәсіби меңгеру
туралы емес, программалау негіздерін оқып- үйрену туралы болып отыр, бұл
оқушыларға осы қызмет түрін танысуға, тіпті оны өзінің бұдан әрі жоғары
білім алу жолын таңдауына мүмкіндік береді.
Өзіміз байқап отырғанымыздай, қалыпты орта мектеп бағдаламасына
программалау тілдерін оқытуды енгізу үшін тіпті осы аргументтердің өзі де
толығымен жеткілікті.
2.3. Қолданбалы есептерге (жүйеге) программа құру.
Модельдеуші жүйеге құрылған модельдің алгоритмі белгілі болуы да,
болмауы да мүмкін. Егер модельді шешуге арналған алгоритм белгілі болса,
онда ол белгі алгоритм негізінде таңдалған тілде программаны бірден құруға
болады. Көп жағдайларда белгілі алгоритмге арналған программалар,
программалар кітапханасына еніп машина зердесінде жазылуы болуы да мүмкін,
бұл жағдайда даяр программаны пайдалануға да болады.
Практикалық модельдеуші жүйе құруда, оған жасалған модельдің
алгоритмі белгісіз болады. Яғни, жасалған модель бойынша есепті шешудің
алгоритмі орындаушыға белгілі алгоритмдердің ешқайсысымен сәйкес келмейді.
Бұл жағдайда тіпті модельдеуші жүйге арналып құрылған модельдің дұрыс
немесе дұрыс еместігі белгісіз болады. Яғни, мұндай математикалық модельді
құрғанда кейбір қажетті шарттар модельге енбей қалуы немесе артық шарттар
енгіізіліп кетуі мүмкін. Бұл мәселелер тек есептің алғашқы шешуін
талдағанда ғана белгілі болады. Осы айтылғандарға байланысты есептердің
төмендегідей, негізгі классификациясын көрсетуге болады:
- шешу алгоритмі белгілі, бірақ оған программа (стандартты) құруды
қажет ететін есептер тобы;
- шешу алгоритмі белгілі және оның программасы машина зердесінде бар
есептер тобы;
- шешу алгоритмі жоқ, оны жаңадан құру қажет болатын есептер тобы;
- математикалық моделін ізденіс және зерттеулер жүргізу арқылы құруға
келетін есептер тобы. Бұндай есептердің математикалық моделдері де,
ол моделді іс жүзіне асыратын алгоритмі де белгісіз болуы мүмкін.
Көп жағдайларда есептің математикалық моделі белгілі болғанымен, ол
моделді классикалық математиканың жолымен жолымен шешуге болмауы да мүмкін.
Ондай есептерге мысал ретіне математикалық программалаудың кейбір
экстремалдық есептері, динамикалық программалау, салалар ара байланыс және
т.с.с. есептерді алуға болады.
Алгоритмдерді алдын – ала белгісіз есептерді проблемалық есептер деп
атайды. Проблемалық емес есептерді алгоритмдерін орындаушы бірден таңдап
ала алады және “адам - ЭЕМ” жүйесінде шеше алады. Дегенмен де бұндай
есептердің алгоритміне программа құру барысында көптеген қиыншылықтардың
кездесуі мүмкін.
Орындаушы алгоритмнің дұрыстығын тексере алатын мүмкіндігі болатын
еғсептер болады. Мұндай есептерді дұрыс ... жалғасы
Президентіміздің нақты тапсырмасына сәйкес, Республика Үкіметі орта
білім беру мекемелерін ісіне қазірдің өзінде кірісіп кетті. Алайда, білім
беру мекемелерін компьютерлендіру дегеніміз өзі сандық көрсеткіштер арқылы
ғана өлшенбек емес. Әңгіме, оқушылардың қазіргі заман талабына сай жан-
жақтылығын қамтамасыз ету жолындағы кеңінен ақпараттандыру процесі жайлы
болып отыр.
Мектепте информатиканы оќытудың маќсаты - әрбір оќушыға информатиканы
ғылымы негіздерінің алғашќы фундаментальды білімін бері, оќушыларға осы
білімді мектепте оќытылатын басќа ғылымдардыњ негіздерін түпкілікті жєне
сапалы түрде мењгеруге ќажетті іскерліктер мен дағдыларды ќалыптастыру
болып табылады. Информатиканы оќытудағы алгоритмдер ќұру, оларды ЭЕМ-да
орындау оќушыдан ойлануды және шыдамдылыќты арттыруды, көңіл ќоя білуді,
көз алдына елестете білуді талап етеді. Алгоритмді жазуға дағдылану
жауапкершілікпен ќарауды, жаңа талап ќоюды керек етеді.
Қазіргі заманда адам көп істі компьютерді пайдалану арқылы атқарады.
Кез-келген міндетті орындау алгоритмнің болуын, яғни нәтиже алуға
жеткізетін әрекеттердің алдын ала жазылып қоюын қажет етеді. Алгоритмнің
негізінде программа түзіледі, яғни есеп шешушінің алгоритмі оны компьютерде
орындауға жарамды түрде жазылады. Осыдан барып компьютердің көмегімен
есепті шешу процесінің мәні алгоритмді құру екені көрінеді.
Алгоритм дегеніміз - іздеген нәтижеге жеткізетін әрекеттер тізбегі,
яғни орындаушының белгіленген мақсатқа жетуіне бағытталған түсінікті де дәл
ұйғарым.
Кез келген есепті компьютермен шешу үшін алдымен есептің
математикалық қойылуын анықтау, алгоритмін құру, одан соң оны програмалау
тілінде жазу керек екені белгілі. Программалау тілінің бірі – Паскальдің
негізін салушы Никлас Вирттың тұжырымдауынша, программалау ісі қалай болған
күнде де математикасыз өмір сүре алмайды. Математика қанша дамыса да
көптеген құбылысты математикалық түрде мазмұндап жазу әлі күнге мүмкін
болмай отырғаны сияқты, көптеген есептер үшін алгоритм жазу әлі күнге
мүмкін болмай отыр.
Соңғы төрт-бес жыл ішінде пайда болған жаңа программалық өнімдер
көпшілікке кәсіби информациялық технологияларды пайдалана білудің аса
қажеттігін көрсетті. Біздің қоғамымызда болып жатқан өзгерістер орта білім
беру саласының дамуына да өзгерістер енгізуге себепші болды.
Менің бітіру жұмысым 3 бөлімнен тұрады.
І тарауда. Алгоритмнің программалау негіздеріндегі рөлі қарастырылған.
Кез келген программалау тілінің негізі – алгоритм болып есептелінеді.
ІІ тарауда. Орта мектепте программалау негіздерін оқытуды осы тарауда
қарастырдым. Яғни, оқушыларды программалауға баулу.
ІІІ тарауда. Бұл тарау толығымен мектептегі Turbo Pascal программалау
тілін оқытуға арналған.
Қорыта келе, менің бітіру жұмысымның негізгі мақсаты – орта мектепте
программалау негіздерін оқыту ерекшеліктері, алгоритмдік тіл және оның
ерекшеліктері, алгоритмдік тілдері жайындағы ұғымдарды толығырақ ашу,
оқушылардың программалау дағдыларын қалыптастыру.
1 тарау. Алгоритмнің программалау негіздеріндегі рөлі
1.1. Алгоритм негіздерінің ерекшеліктері
А.Г.Кушниренконың оқулығында алгоритмдік тіл – ЭЕМ –дағы программалау
тілі ретінде берілген және осы мақсатқа сай мектептегі Ямаха, Корвет, УКНЦ
компьютеріне арнайы оқу программалау жүйесі ретінде енгізілді. Ал
В.А.Кайниннің оқулығында “алгоритмдік тіл” алгоритмді жазу құралы ретінде
пайдаланылды. Оның байқау оқу құралындағы псевдакод алгоритмді программалау
тілдеріне аударуды барынша жеңілдету үшін жасалған. Бұл тәсілдің ерекшелігі
тілдер ауысқанымен, ЭЕМ-лар ауысқанымен, оқыту әдістемесінің өзгеріссіз
қалатындығында.
Тәжірибеде мұндай тәсілдің негізінен жоғары математиканың дайындығы
бар студенттер мен оқушылар үшін тиімді екені байқалды. Бұл қағида,
алгоритм мен программадағы қателердің көпшілігі логикалық немесе
математикалық сипатта болатындығымен түсіндіріледі. Дербес ЭЕМ-дер үшін
программалау бастамасын оқытудағы жүйелік тәсіл төмендегідей кезеңдерді
қамтиды:
есеп – сценарий – алгоритм – программа – ЭЕМ.
Жүйелік тәсілдердің авторлары В.А.Каймин және т.б.
Бұл тәсіл бойынша алгоритм мен программа құруда дербес ЭЕМ-мен
болатын диалогтың сценариін құру бірінші орындалады. Алгоритм мен программа
құруда құрылымдық программалаудың барлық ережесі мен принципі толық
пайдаланылады. Бұл технологиядағы ең маңызды нәрсе ЭЕМ-да орындалатын
программаның сценариін алдын – ала талқылап, ұғып жазу болып табылады. Бұл
жүйелілік тәсіл машиналық графикасы бар, диалогты ЭЕМ-мен оқытуға арналған.
Осы тәсіл бойынша 10-15 жас аралығында нақты программалау элементтерін
меңгеруге болады деп есептейді. Бұның себебі, оқушылар шығармашылықпен
жұмыс істеп, ЭЕМ-де өзінің құрған суреттерінің нәтижесін, программадағы
қателерін өздері түзей отырып, экраннан көруге мүмкіндігі бар. Бұл әдіс
бойынша алгоритмді жазып, құрып қана қоймайды, программадағы алгоритмдік
қателерді бірден таба алады. Осы құрылған сценарий бойынша алгоритм мен
программа тексіндегі барлық алгоритмдік қателерді табуға болады.
Орта мектепке арналған барлық информатика оқулықтарында мектептік
алгоритмдік тіл (МАТ) берілген.
Информатикаға кіріспеде алгоритмдеуге есептер қарастырылған болатын,
енді оны алгоритмнің жазылу ережесін ескере отырып, компьютердегі
атқарушыға қолдану қажет.
Алгоритмдік тілдердің құрылымы 1-суретте көрсетілген.
1 – сурет. Алгоритмдік тілдердің құрылымы.
Алгоритмдік тіл – алгоритмді бейнелеу әдісі. Ол табиғи немесе жасанды
тіл ретінде беріледі.
Адамдар қатынас жасайтын тіл – табиғи тіл. Табиғи тілге, мысалы,
қазақ тілі, орыс тілі, ағылшын тілі жәнет.б. тілдер жатады. Алгоритмдегі
нұсқаулар мен амалдар анықтай түсу үшін кейде осы тілдерге математикалық
өрнектер қосылады.
Электрондық есептегіш машиналар – алуан түрлі есептерді шешуге
арналған информацияларды өңдеудің жоғары өнімді құралы. Алайда ЭЕМ – бар
болғаны адам құрастырған жарлықтарды тез және дәл орындайтын автомат.
Мұндай жарлықтарды дайындау, яғни есептерді шешудің барлық жолын біле тұра
жобалау – есептегіш машинаны пайдаланумен байланысты әрекетінің ажырамас
бөлігі. Жетілдірілген есептегіш машиналар есептеу программаларының зердесін
сақтайды, сонда адамға тек программаны құрастырып және машина зердесіне
орналастыру ғана қалады, ал барлық қалғанын – тікелей есеп шешуді – машина
автоматты түрде, яғни адамның араласуынсыз жүзеге асырады. Бұл жағдайда
машина программалы есептегіш техникаға айналады да, онда есепті шешу
процесі тікелей программаны құрастыруға байланысты болады. Демек, есептегіш
машинаға арналған программа негізінде берілген есепті шешу алгоритмі, яғни
нәтижеге жеткізуші әрекеттер тізбегінен тұратын дәл жарлықтар құрайды.
Алгоритм - программаға қарағанда өте жалпы ұғым, ал программа берілген
есептегіш машинаға түсінікті тілде жазылған алгоритм. Бұдан программалы
басқарылатын техника көмегімен есептерді шешу процесінің негізгі бөлігі -
осы есепті шешу алгоритмдердің дайындау екендігі көрінеді. Есепті шешу
алгоритмі айқындалғанда, ол еш қиындықсыз программалау тілінде беріледі.
Басқа сөзбен айтқанда, программалы басқарылатын есептегіш машинада есепті
шығарудағы негізгі процесс – алгоритмдеу, яғни алгоритмдік жарлықтарды
белгілі бір ережеге сәйкес құрастырып жазу. Алгоритм құру мәселесі алгоритм
жазуға қандай тілді пайдаланатынымызға байланысты болатындығы бұрын
айтылғандардан көруге болады.
Алгоритмдік тілді меңгеру ІХ сынып информатика курсының маңызды
мәселелерінің бірі болады. Алгоритмдік тіл оқытуда екі негізгі міндет
атқарады. Біріншіден, оны қолдану курста қарастырылатын барлық
алгоритмдерді стандарттауға, оларға ортақ форма беруге мүмкіндік жасайды,
бұл жайт алгоритмдендірілген мәнін түсіну үшін алгоритмдердің қасиеттері
туралы түсініктері қалыптастыру үшін маңызды. Екіншіден, алгоритмдік тілді
оқу программалы тілін оқудың бастамасы болып табылады. Алгоритмдік тілдің
және оны пайдалану ережесінің құрылымдық қарапайымдығы бұл тілді
программалау элементтеріне баулудың бастапқы кезеңінде ойдағыдай қолдануға
мүмкіндік береді. Оның негізгі құрылымдарының ережелері көптеген
программалау тілдерінің негізінен алынған. Сондықтан алгоритмдік тілді
игеру келешекте программалау тілдерін пайдалануға көшкенде жеңілдік
жасайды.
Алгоритмдік тілдің бірқатар әдістемелік артықшылықтары бар екенін атап
өту керек, осы себепті де алгоритмдер мен программалау негіздерін оқуды
программалау тілін емес, дәл осы тілді пайдалана отырып бастаған орынды.
Алгоритмдік тіл ең алдымен табиғи тілге жақын, бұл жайт оқушының осы
тілдің ережелерін тез меңгеруге және келешекте назарын негізінен оқитын
алгоритмдердің мәніне шоғырландыруға мүмкіндік береді. Күрделі алгоритмнің
үлкен бөлімдерін бір команда ретінде жазу және қабылдау мүмкіндігі
алгоритм жазуда оңай бағдарлануды қамтамасыз етеді. Ақырында, әлі де
көптеген мектептер ЭЕМ-мен жабдықталмауы жағдайында, алгоритмдік тіл
адамның орындауына бағдарланған. Алгоритмдерді жазудың ыңғайлы тілі болып
табылады. Оқушы жарлықтарды алгоритмдік тілдің командаларына сәйкес орындай
отырып, алгоритмдердің жекеленген қадамдарын орындау кезінде есепті
тұтастай түсінік жатудың қажеті жоқ екенін, тек команданы команданың
соңынан дәл орындау маңызды екенін, өз бетінше аңғара алады. Бұдан тағы бір
мақсатқа қол жетеді: барлық әрекеттерді автоматтық құрылғыға жүктеуге
болатының түсінікті.
Алгоритм түрліше жолмен мазмұндалады, ол үшін деңгейі әр түрлі
көптеген алгоритмдік тілдер қолданылады. Қай тілді таңдап алу қажеттігі
бірқатар жағдайларға, ең алдымен мазмұндау кім үшін арналғандығына – адам
үшін бе немесе машина үшін бе – соған байланысты.
Алгоритмді жазу үшін қандай да болмасын тілді пайдалану қажет. Жалпы
алғанда тіл белгілі бір информацияны өрнектеу және жеткізу құралы. Бұл
мағынада адамдар арасындағы қатынас тілі (адамзат тілі), математика тілі
адамдар мен автоматтар арасындағы қатынас тілі, т.б. тілдер туралы айтуға
болады. Алгоритмдік тіл бірқатар қатаң талаптарға сай болуы керек:
1. Командалар тұжырымдау кезінде атқарушыға белгілі операциялар
орындалуына ғана талап ету;
2. Командалар тек қана белгілі бір ережеге сай қолдану;
3. Ережеден тыс әрекеттерді пайдаланылған жағдайда атқарушы
алгоримтді түсінбейді де, оны атқарудан бас тартады.
1.2. Оқушылардың алгоритмдік мәдениеті.
Математиканы тереңдетіп оќытатын мектептерде программалауды оќыту
арнайы жєне профессионалды-баѓытталѓан мүмкіндіктердің үлкен бµлігін
ќарастырады. Біраќ, сонымен ќатар ЭЕМ-ге жалпы білім беруде єсер етуді
зерттеу жєне барлыќ орта мектептерде оќуды ќамтамасыз етуде адамныњ ж±мыс
істеуініњ жања облысы етінде программалау енеді. Басынан бастап
программалау облысынан алынѓан єдістер мен идеялардыњ жалпы білім беретін
к‰ші мектептік білім беруде жања фундаментальды компоненттерді ќамтамасыз
етуді дамыту ‰шін ‰лкен потенциалды ж‰зеге асыратыны белгілі.
ЭЕМ ‰шін программалау негізіне алгоритмдеу т‰сінігі жатады. Ол кењ
маѓынада берілген тілдіњ єдістерімен алгоритмдерді суреттеп жєне ќ±рылымын
жасау процесі ретінде ќарастырылады. Біраќ алгоритмдеу адамныњ наќтыланѓан
орындаушыларымен ќарым-ќатынасына с‰йенетін єдіс ретінде ЭЕМ ‰шін
программаны ќ±румен ѓана байланысты емес. Модельдеу сияќты, алгоритмдеу –
б±л кибернетиканыњ жалпы єдісі. Єр т‰рлі ж‰йелерді басќару процесі ќандай
да бір алгоритмді ќ±растыруѓа єкеледі. Алгоритмді ќ±ру ењ ќарапайым
автоматты ќ±рылѓыларды жасау жєне басќарудыњ автоматты ж‰йесін ќиын µнімді
процстерді µњдумен байланысты. Алгоритмдеудіњ т‰пкі негізі ќазіргі
математиканыњ теориялыќ облысында – алгоритмдер теориясында жатыр, біраќ
практикалыќ маѓынада алгоритмдеу алгоритм туралы рационалды ойлау
ќабілетіне негізделген аныќталѓан практикалыќ єдістер жинаѓы ретінде
т‰сініледі.
Алгоритмдік процестер туралы т‰сінік жєне оларды суреттеу єдістері
иформатика мен есептегіш техника шыќќанға дейін мектептік пєндерді оќыту
кезінде оќушылар т‰сінігінде ќалыптасќан. Мектептік пєндер арасында
негізгі роль математикаѓа т‰сті, µйткені операциялыќ жєне алгоритмдік іс-
єрекеттер оќыту ж±мысы элементініњ бірін ќ±рады. Шынында да, негіздеу, жазу
ќабілеті, математикалыќ алгоритмдерді тексеру, сонымен ќатар оны єрќашанда
наќты орындау оќшылардыњ математикалыќ мєдениетініњ мањызды компонентін
ќ±рады, біраќта алгоритм термині мектептік оќыту програмасында
ќолданылмауы да м‰мкін еді. ЭЕМ-нің және программалаудың көбеюіне
байланысты математикалық мәдениеттің бұл секторы өзіндік мағына ала
бастады, тек қана алгоритмдеудің белгілі компоненттерінің есебімен оны
толықтыру қажет болды. Сонымен қазіргі әрбір адамның жалпы мәдениетінің
жаңа элементін анықтайтын спецификалық түсінігінің арқасында және жалпы
мектептік білім алуды қосу нәтижесінде оқушының алгоритмдік мәдениеті деген
атау алды.
Төменде алгоритмдеу негіздерін жалпы оқыту анализі негізінде
құрастырылған алгоритмдік мәдениет компоненттерінің суреттелуі мен құрылымы
келтірілген:
1. Алгоритм түсінігі және оның оның құрамы. Алгоритм түсінігі
алгоритмдеудің орташа түсінігі, және де алгоритмдік мәдениеттің негізгі
компоненті болып табылады. Алгоритмдеуді оқытуда бұл түсінікті
математикалық дәлдікпен қолданудың қажеті жоқ, тек қана оны интуитивті-
көрнекі деңгейде түсіндіру жеткілікті.
2. Алгоритмдерді суреттеу тілінің түсінігі. Алгоритмді суреттеу
мәселесі әрқашанда суреттеу орындалған кейбір тілдердің түрін көрсетеді.
Сондықтан алгоритм түсінігінің өзі алгоритм мазмұнының әдісі ретінде тіл
түсінігімен үзілмес байланысты. Әрбір жеке жағдайда тілді таңдау алгоритмді
қолдану облысымен анықталады, яғни орындаушы ролінде қатысатын
объектілердің (адам, автомат, компьютер) кұрамы анықталады. Орындаушы қарым-
қатынасындағы тілдік мүмкіндіктердің шекараларын қатал сақтауда
алгоритмдеудің кейбір мағынасында қызмет етеді. Бұл жағдайды түсіну және
әрбір суреттеудің мүмкіндіктерін дәл сақтау да алгоритмдік мәдениеттің
маңызды компонентін құрайды.
3. Суреттеуді нақтылау деңгейі. Суреттеуді нақтылау деңгейі түсінігі
тілдің түсінігімен ажырамас байланыста. Егер суреттеу автомат үшін
құрастырылса, онда бұл жағдайда қолданылатын тіл тілдің синтаксиін құрайтын
нақты ережелер жүйесіне сәйкестендірілген қатаң шектеулерге бағынады.
Мұндай жағдайда тілдің өзі нақтылана түседі. Бірақ тәжірибеде алдын-ала
суреттеуді құрастыру кезінде, алгоритмдерді құру процесінде тек қана қатаң
шектеулер ғана қолданылмай, тілдік әдістер де қолданылуы мүмкін. Сонымен
қатар, мұндай жағдай алдын-ала құрастыру процесінде ғана мүмкін емес. Егер
де, мысалы, алгоритм адамға жіберілсе, онда алгоритмдеудің соңғы варианты
нақты емес, қалқымалы көрініс болуы мүмкін. Тәжірибеде қолданылатын
алгоритмдердің көпшілігі нақты емес вариантта жұмыс істейді. Тек қана
алгоритм орындаушыға түсінікті болғаны маңызды, яғни оның мүмкіндіктер
шекарасынан шығатын көрініс әдістерін қолданбауы керек. Орындаушы үшін
алгоритм түсініктілігінің факторын есептеумен әр түрлі нақтылау
деңгейіндегі тілдермен жұмыс істей білуі алгоритмдік мәдениеттің нақты
компоненті болып табылады.
4. Суреттеудің дискретті принципі. Алгоритмді құру қажет ететін
шешімдерге әкеліп соғатын мүмкін элементарлы іс-әрекеттерді нақты бағыттау
әрекетін орындайды. Бұл іс-әрекеттер оған нақтылық және түсініктілікті
айтатын алгоритмдерді суреттеудің анықталған дискретті құрылымын құрайды.
Әр түрлі тілдерде алгоритмдердің мұндай жеке этаптары әр түрлі әдістермен
көрсетіледі. Алгоритмнің (табиғи тілде) сөздік түсінігімізде – бұл жеке
ұсыныстар, көрсеткіштер, пункттар, схемалар тілінде – бұл жеке блоктар, ЭЕМ-
нің объектті тілінде – бұл жеке командалар, алгоритмдік тілдің жоғары
деңгейдегі – операторлар.
5. Блоктау принципі. Алгоритмді құру үшін қолданылатын тілдердің
мүмкіндіктері детализациялау деңгейін таңдауға әкеліп соқтырады. Бірақ оның
ең бірінші схемасын суреттеу кезінде қажет ететін алгоритмді құрастыру
бойынша жұмыс істеу процесінде алгоритм жіберген орындаушының
мүмкіндіктерімен салыстырғанда іс-әрекет бірлігі өте үлкен тілді қолдану
керек. Бұл жағдайдағы әңгіме, қиын есептерді қарапайым компоненттерге бөле
алу туралы болып отыр. Есеп қиын болған жағдайда, керек тілде оның шешу
алгоритмі дәл сол кезде суреттеуге мүмкін болу үшін бұл жолды әрқашанда
таңдауға тура келеді. Бұл жағдайда есеп меншікті мағына берілетін
ақпараттық шектелген бөліктерге (блоктарға) бөлінеді және есептің бөлігін
қосатын бірінші схеманы құрастырғаннан кейін жеке блоктарды детализациялау
жұмысы орындалады. Осы блоктың әрбірі жаңа ғана суреттелген принцип бойынша
детализацияланған болуы мүмкін.
Жалпы ойлау қабілеті болып табылатын блоктау принципі жалпы білім
және тәрбиелік мағына береді. Оның схемасына өте жиі әр түрлі облыстарда
зерттеу процесі қойылады. Ішкі байланыстар құрғаннан кейін зерттеуші жеке
меншікті бөліктерге (блоктарға) облысты бөлуге ұмтылады, содан кейін әрбір
блоктың ішіне кіре бастайды. Блоктау принципі программалау облысынан
алынған жалпы білім беру күшін көрнекі түрде көрсетеді:
а) жеке-жеке блоктарды көрсету алгоритм орнына сәйкес орналасады, ал
блоктың өзі алгоритмді іздеудің жалпы орындау ролін сызып, сонда балқып
кетеді;
б) блоктардың мазмұны алгоритмге құрылмайды, ал оның
сәйкестендірілген орындарында жіберілетін жеке блоктарға орналасқан
жолдамалар орналасады; соңғы алгоритм болып негізгі алгоритм бағамы мен
оның жеке блоктары саналады.
6. Тармақталу принципі. Алгоритмдерді көрсеті үшін қолданылатын
тілдердің алгоритмдік толықтылығын қажет етуі логикалық жағдайларды
алгоритмдік суреттеуде құрастыруға мүмкіндік беретін әдістердің
бірегейлігін қамтамасыз ету керек, яғни берілген бастапқы шарттарға
байланысты шешім қабылдауын керек ететін жағдайлар. Мұндай алгоритмдерді
ұйымдастыру, тілдің логикалық әдістерін қолдана білу шеберлігін қажет
етеді. Мұнда алгоритмдік сауаттылықтың нақты компоненттері болып:
а) суреттеу мәліметтердің шығу мәліметтер варианттарының барлық
мүмкіндіктері қарастырылады және әрбір комбинация үшін нәтижелі болуы
керек;
б) шығу мәліметтерінің нақты мағынасы үшін алгоритмдердің орындалуы
нақты шарттармен анықталатын мүмкін жолдардың ішінен әрқашанда біреуін ғана
өтеді.
7. Циклдеу принципі. Көп жағдайда алгоритмдік суреттеудің эффектілігі
енгізілген шамалардың әр түрлі мағынасында суреттеудің қайталанатын
фрагменттерін қайталап өтуде тілдің логикалық әдістерін қолданумен
ұйымдастырылуы мүмкін, бірақ тіл циклдык алгоритмдерді ұйымдастырудың нақты
әдістерін де қамтамасыз ете алады (мысалы, тілдің жоғары деңгейлі циклдің
операторлары). Осы және басқа да жағдайда алгоритмдік мәдениеттің нақты
компоненті болып циклдік процестің функционалданған жалпы схемасын түсіну
табылады және алгоритмді айрықша көрсету қабілеті маңызды болып табылады.
8. Алгоритмді орындау. Алгоритмдік мәдениеттің маңызды компоненті
алгоритмдеу процесінде қабылдау қабілеті мен жоспарланған шешімдерден
алынған алгоритмдерді суреттеу фрагементтерін орындау болып табылады.
Алгоритмдеудің бұл компоненті алгоритм авторын әрдайым қатал орындаушыға
айналуды қажет етеді және алгоритмдік суреттеуді құру процесінде дұрыс
бақылау мен алгоритмді толықтыру әдісі ретінде жалғыз жұмыс істейтін
процесс болып табылады.
9. Мәліметтерді ұйымдастыру. Алгоритм үшін берілген материал өңдеуді
қажет ететін ақпарат немесе берілген материал болып табылады. Алгоритм
құрастырушы өңдеуді қандай ретпен өндіру керектігін ғана ойламай,
алгоритмнің жұмысының бір айналмалы мен соңғы шешімін тіркестіріп отыру
керек.
Мен алгоритмдік мәдениеттің компонентерін атап шықтым. Бірақ
алгоритмдік мәдениетті құрастыратын компоненттер ерекшелігі оқушының ЭЕМ-
мен қарым-қатынасына тар ориентациясы бар, ал программалауға қарағанда кең
мағына алады. Басқа сөзбен айтқанда, оқушының алгоримтдік мәдениеті жалпы
программалауға дейінгі көрінісі, қабілеті мен әдістері ретінде тек қана
оқушы - компьютер жүйесінде жұмыс істеу үшін ғана емес, сонымен қатар
оқушы - мұғалім, оқушы - оқушы және тағы басқа формальды емес машинасыз
жүйе оқушы мәдениетінің бастапқы деңгейін қамтамасыз етеді.
1.3. Алгоритм туралы ұғым
Алгоритмдер жазу үшін уақыт кетіріп ерекше тіл үйренудің қажетті неде?
Алгоритмдерді қазақ тілінде-ақ жаза берсек болмас па екен? – деген сұрақ
тууы мүмкін. – Біздің ана тіліміз соншалықты бай, жан-жақты, тек
алгоритмдер ғана емес, одан басқа да кез келген нәрселерді суреттеп бере
алады.
Әрине тілдің жан-жақтылығы, бір нәрсені алуан түрлі сөзбен жеткізе
алатындығы, керісінше, жалғыз ғана сөзбен неше түрлі сезім толқындарын
тудыратындығы адамдардың өзара қатынасы, көркем әдебиет, мәдениет және т.б.
үшін өте құнды.
Алайда, алгоритмдерге келгенде мәселе басқаша. Мәселе алгоритмдерді
орындаушылардың басым көпшілігі автоматтар екендігінде болып тұр. Дәлірек
айтқанда, жаңа нұсқауларды автоматтың негізгі командаларына сүйеніп, қатаң
ережелерді сақтай отырып құрастыруға болады.
Литерлік шама деп мәндері сөздері немесе текст болып келген шаманы
айтамыз.
Жаңа байқау оқу құралында мектептік алгоритмдік тіл қарастырылған.
Бұдан былай тілді жай ғана алгоритмдік тіл деп атау келісілген. Осы тілде
жазылған алгоритмнің жалпы түрі мынадай:
алг алгоритмнің атауы
арг алгоритмнің қолданылу шарты
нәт алгоритмді атқарудағы мақсат
басы
алгоритмнің денесі командалар тізбегі
соңы
Алгоритмдік тілде негізгі және қосалқы алгоритм деген ұғымдар
енгізілген. Алгоритмдердің былайша аталуы олардың белгілі бір мезеттегі
өзара қатынасын көрсетеді. Бір алгоритмнің құрамында пайдаланылатын
алгоритм қосалқы алгоритм, ал құрамында қосалқы алгоритм пайдаланылатын
алгоритм негізгі алгоритм деп аталады.
Қосалқы алгоритм пайдалану жаңа алгоритмді құрастыру процесін
жеңілдетеді, әрі негізгі алгоритмнің жазылуы жинақты және түсінікті болады.
Қосалқы алгоритм негізгі алгоритмнің құрамына шақыру командасы ретінде
жазылады. Оны жазу былай жүзеге асырылады: негізгі алгоритмнің тиісті
командасының орнына қосалқы алгоритмнің атауы жазылады. Ал егер
аргументтері бар болса, онда алгоритм атауына тіркелініп дөңгелек жақша
ішіне қосалқы алгоритмнің аргументтеріне қандай мәндер беру, атқарылу
нәтижесін қалай пайдалану керектігі көрсетіледі.
Алгоритмдік тілде нақты сандардың орнына кейбір жағдайда сандық және
алгебралық өрнектерді де пайдалануға болады. Оларды алгоритмдік тілде
арифметикалық өрнектер деп атайды. Оны былай түсінуге болады: алгебралық
өрнек арифметикалық өрнекке айналғаннан кейін ғана ондағы амалдар ЭЕМ-де
орындалады.
Арифметикалық өрнек деп арифметикалық амал белгілері және дөңгелек
жақшалар арқылы байланыстырылған сандар, стандартты функциялар және
айнымалылар тізбегін айтады. Демек, алгоритмдік тілде сан жазудың орнына
арифметикалық өрнек жазуға болады.
Арифметикалық өрнектердің алгоритмдік тілде жазылуының алгебрадағы
жазылудан бірнеше өзгешіліктері бар екендігін бір-бірімен салыстыра отырып
түсідірген жөн. Ол өзгешіліктер мыналар:
- арифметикалық өрнектер алгоритмдік тілде сызықты түрде, яғни бір
жолдың бойына жазылады.
- арифметикалық амал белгілері: қосу+, азайту -, көбейту *,
бһлу :, дәрежелеу амалдары алгоритмдік тілде былай белгіленеді: +, -, *,
, **;
- алгебрада көбейту амалы орынан ешнәрсе жазбауға болады, мысалы, 6
а, ал алгоритмдік тілде оны былай жазу керек: 6*а;
- қосалқы алгоритмдердің, фукнциялардың стандартты, стандартты емес
аргументтері дөңгелек жақша ішіне алынып жазылады.
Математика курсындағыдай алгоритмдік тілдегі шамаларды тұрақты және
айнымалы шамалар деп бөледі.
Алгоритмдік тілде әр шаманың аты, мәні, типі және түрі анықталып
мазмұндалады математика шаманың мәнінің берілуі, типі мен түрінің
анықталып берілуі мідетті емес.
Алгоритмдегі пайдалануына сәйкес, атқаратын жұмысына байланысты
шамаларды түрлерге бөледі. Алгоритмдік тілде шамалардың мынадай төрт түрі
бар: арг, нәт, арг, нәт және аралық.
Адам мен ЭЕМ арасындағы информация алмасуды қамтамасыз ету алгоритмдік
тілде арнай енгізу және шығару командалары пайдаланылады. Мысалы, есептің
программасын, сол сияқты алгоритмнің атқарылуына қажетті бастапқы
мәліметтер мен басқа да информациялар ЭЕМ зердесіне клавиатурадан
енгізіледі. Алгоритмді атқару барысында енгіз і командасы бойынша ЭЕМ
айнымалысының мәтінің клавиатурадан енгізілуін күтеді. Енгізілген сандық
немесе литерлік мәні і айнымалысына телінеді де, алгоритмнің атқарылуы әрі
қарай жылғасады.
Шығару t командасындағы шығар қызметші сөз айнымалысының мәні
экранға шығарылатындығын көрсетеді. Егер экранға текстік информацияны
шығару қажет болса, ол информация символ, сөз немесе сөйлем шығару
қызметші сөзінен соң тырнақша ішіне жазылады.
Сонымен алгоритмдік тіл жай командалардың жазылу ережесін, құрама
командалардың, алгоритмдердің құрылымын және олардың мағынасын,яғни қалай
орындалатынын дәл және бірмәнді анықтайды.
Алгоритмдік тілді анықтауда келесі ұғымдар:
1. Тілде қолдануға болатын символдардың (белгілердің) жиынтығы, яғни
алфавит.
2. Тілдің конструкцияларының: айнымалының, өрнектердің, командалардың
жазылу және алгоритмдік жазудың жалпы құрылымының ережелері, яғни
синтаксис
3. Әр түрлі командалардың қызметі мен орындалу жолы, яғни
семантика
берілуі керек.
Табиғи тілдерде бірмәнділік болмағандықтан осы тілдерде жазылған
алгоритмдегі нұсқауладың бірнеше мағынасы болуы мүмкін. Әрине, бұл
орындаушының осындай тілде жазылған алгоритмді орындауын қиындатады, тіпті
ондай алгоритмді орындау мүмкін болмайды. Сондықтан, табиғи тілдердің
байлығына қарамастан, информатикада алгоритмдерді бейнелеу үшін бір мәнді
жасанды тілдерді қолданады. Олар жасанды графикалық тілдер және жасанды
вербальды-сөзді тілдер.
1.4. Блок-схема түрінде алгоритмдердің бейнеленуі
Блок-схема тілі алгоритмдегі әр түрлі әрекеттердің хронологиялық
байланысын көрсете алады. Ол үшін бұл тілде түрлі әрекеттерді бейнелейтін
геометриялық фигуралар және әрекеттердің орындалу ретін көрсететін
бағыттама пайдаланылады. Бұлар блок-схема тілінің әліпбиін құрайды, ал
олардың мағынасы алдын ала анықталған келісім бойынша беріледі. Блок-схема
тіліндегі фигуралады жазықтықтың кез-келген бағытында жазуға болады. Ол
алгоритм құрушының өз еркінде. Әдетте қағаздың бір бетіне логикалық толық
әрекеттер тізбегін жазады.
Блок-схема - әрқайсысы қандай да бір іс-әрекеттерді немесе
операцияларды бейнелейтін геометриялық фигуралардың жиынтыѓын көрсететін
алгоритмнің графикалық интерпретациясы. Символдар қалыпы жєне алгоритмдерді
құру ережелері мемлекеттік стандартқа сєйкес бекітілген: ГОСТ 19.701-90
Алгоритмдер, программалар, мєліметтер жєне жүйелер схемалары.
Блок-схема тілінде алгоритмдерді ќ±ру ережелері
1. Блок-схема жоѓарыдан тµмен ќ±рылады.
2. Кез келген блок-схемада алгоритмніњ басына сєйкес бір ѓана элемент
болу керек жєне алгоритмніњ соњына сєйкес бір элемент болу керек.
3. Блок-схеманыњ басынан кез келген элементке кем дегенде бір баѓыт болу
керек.
4. Блок-схеманыњ кез келген элементінен блок-схеманыњ соњына кем дегенде
бір баѓыт болу керек.
Ќазіргі технологиялыќ алгоритмдерді жобалаудыњ негізгі єдістері
1. Қ±рылымдыќ жобалау єдісі. Кез келген алгоритм ‰ш ќ±рылымдыќ ќорлардыњ
комбинациясынан ќ±рылуы м‰мкін: сызыќтыќ алгоритм (тізбектік), тармаќталѓан
алгоритм жєне циклдыќ алгоритм (ќайталау)
2. Жинаќсыз жобаланѓан єдіс. Ењ алдымен негізгі функциялар екінші
дєрежелі функциялар ерекшеленеді.
3. Ќадам бойынша бµлшектеу єдісі.
4. Модульдік єдіс. Модуль – программаныњ логикалыќ байланысты бµлігі.
Блок-схема ќ±рмастан б±рын мына іс-єрекеттерді орындау керек:
1. Кіру жєне шыѓу ќ±рамын реттеу, яѓни енгізілген мєліметтердіњ аралыќ жєне
шыѓарѓан нєтижелердіњ атауларын аныќтау.
2. Негізгі программаѓа жєне ќосымша алгоритмге атау беру.
1.5. Алгоритмдегі басқару құрылымдары
Басқару құрылымдарының алгоритмді құруда маңызы зор. Сондықтан
төменде басқару құрылымдарын әртүрлі алгоритмдік тілдеріндегі бейнелері
және қасиеттері қарастырылады.
Басқару құрылымдарын бейнелеу үшін блок- схема тілі, бұтақ тәрізді
тіл және жасанды тіл қолданылады.
1. Сызықтық басқару құрылымы бірнеше қарапайым әрекеттердің тізбегінен
бір күрделі әрекет құрастыруға болатындығын көрсетеді. Сызыќтыќ алгоритмдер
– блоктар тізбегі, єрќайсысыныњ бір-бірден енгізілуі жєне шыѓуы болады,
жєне программада бір рет орындалады.
2. Тармақталу басқару құрылымы белгілі шарт бойынша әр түрлі
әреттердің бірін орындалуға болатынын көрсетеді. Өз кезегінде тармақталу үш
түрге бөлнеді: қарапайым тамақталу, баламалы тармақталу,көп мәнді
тармақталу.
Қарапайым тармақталу күрделі S әрекеті белгілі В шартына байланысты
берілген S1 әрекетін орындау керек немесе еш нәрсе орындамау керек дегеннен
құрылатындығын көрсетеді. Яғни, шарты қанағаттандырылған жағдайда S1
әрекет орындалады, ал басқа жағдайда еш нәрсе орындалмайды.
Алгоритмдік тілде әр команданы әр жолға жазумен қатар, бір жолға
бірнеше команда жазуға болады. Бұл жағдайда командалар бір-бірінен нүктелі
үтір (;) арқылы бөлініп тұрады. Мысалы, ах=в теңдеуін шешу алгоритмін
алгоритмдік тілде жазайық.
егер а=0
онда егер в=0
онда у:= кез-келген сан
әйтпесе у:= шешімі жоқ
бітті
әйтпесе х:=ва
бітті
2.1. Баламалы тармақталу күрделі S әрекеті белгілі В шартына
байланысты берілген S1 әрекетін немесе S2 әрекетін орындау керек дегенді
көрсетеді. Яғни, егер В шарты қанағаттандырылған жағдайда S1 әрекеті
орындалады, әйтпесе, S2 әрекеті орындалады.
2.2. Көп мәнді тармақталу (таңдау) күрдел S әрекеті белгілі айнымалы
шама V өзінің әртүрліі мүмкін 1,2,...,N мәндерінің біреуін міндетті түрде
қабылдауына сәйкес берілген әр түрлі S1,S2...,SN әрекеттернің біреуі мндетті
түрде орындалуы қажет дегенд көрсетеді.Яғни, егер V=1, онда S1 орындалады,
әйтпесе егер V=2 онда S1 орындалады, әйтпесе егер V=N-1, онда SN-1
орындалады, әйтпесе AN орындалады. Көп мәнді тармақталу мағынасы брнеше
паралель тартылған сымдарға шамдар орнатып, электр қуатын бергенде тек бір
ғана шамдар жағылатын болатындай еткенге ұқсас болады.
3. Қайталау басқару құрылымы белгілі бір әрекеттің орындалуын бірнеше
рет қайталау керек дегенді көрсетеді. Қайталау саны белгіл шартқа
байланысты немесе алдын ала белгілі болады. Орындалуы қайталанатын әрекетті
қайталау денесі деп аталады.
Жалпы, белгл бр шартқа байланысты қайталаудың екі түр бар: алғышартты
қайталау, соңғы шартты қайталау. Орындалу реті бойынша көрсетілген шарт
берілген әрекеттен алғышарттты қайталауда бұрын (яғни, шарт әрекеттің
алдында орналасады), соңғы шартты қайталауда –кейін тексеріледі.
Егер қайталау саны алдын ала белгілі болса, онда оны параметрлі
қайталау деп атайды, ол соңғы шартты қайталау тобына жатады.
3.1. Алғышартты қайталау күрделі S әрекеті белгілі В шарты
қанағаттандырылса, қайталау денесі S1 әрекетін орындауды қайталау керек,
ал егер осы В шарты қанағаттандырылмаса еш нәрсе орындамау керек дегенді
көрсетеді.
3.1.1. Соңғы шартты қайталау күрделі S әрекеті қайталау денесі
болатын берілген S1 әрекетін орындауды белгілі В шарты
қанағаттандырылғанға шейін қайталай беру керек, ал осы В шарты
қанағаттандырылса қайталауды тоқтату керек дегенді көрсетеді.
3.1.2. Параметрлік қайталау басқару құрылымында қайталау денесінің
орындау саны параметр деп аталатын айнымалы шаманың алғшқы мәні мен соңғы
мәні және қадам деп аталатын тұрақты шама арқылы анықталады: қайталау
денесін әр орындау кезнде параметрдің соңғы мәніне жеткенше қадамның мәні
(егер қадамның мәні, онда 1) қосылып отырады.
Әдетте, параметрдің алғашқы мәні, соңғы мәні бүтін сандар болады.
Сондықтан қайталау саны параметрдің соңғы мәні мен алғашқы мәнінің
айырмасын қадам мәніне бөлгендегі шыққан санның бүтін бөлігіне брді
қосқанға тең болады. Мысалы: параметрдің алғашқы мәні 5, соңғы мәні 20, ал
қадам мәні 2 болса, онда қайталау саны мына өрнек [(20-5):2]+1=8 арқылы
есептелінеді, мұнда тік жақшаның ішінде санның бүтін бөлгі жазылады.
Алгоритмдік тіл – алгоритмдерді біркелкі және дәл жазудың және оларды
орындаудың ережелері мен белгілер жүйесі.
Алгоритмдік тілді анықтауда келесі ұғымдар:
І. Тілде қолдануға болатын символдардың (белгілердің) жиынтығы, яғни
алфавиті берілуі керек.
ІІ. Тілдің конструкцияларының: айнымалының, өрнектердің, командалардың
жазылу және алгоритмдік жазудың жалпы құрылымының ережелері, яғни синтаксис
берілуі керек.
ІІІ. Әр түрлі командалардың қызметі мен орындалу жолы, яғни семантика
берілуі керек.
2 тарау. Орта мектепте программалау негіздерін оқыту
2.1. Орта мектепте программалау тілін оқытудың орны
Қандай программалау тілін оқыту және сол кезде қандай әдістерді
қолдану мүлдем басқа мәселе болып табылады.
Осы уақытқа дейін бұл мәселе негізінен төмендегідей жолмен шешіліп
келді:
- мектепте қандай да бір нақты программалар тілі оқытылды;
- тілді таңдау программаның талаптарымен анықталды( көп жағдайда бұл
Бейсик тілі болды) немесе компьютердің маркасына және оқушының
даярлығына қарай басқа тілдер( мысалға, Фортран) оқытылды;
- тиісті техникалық базасы бар және оқытушылары информатика оқытудағы өз
әдістемелерін әзірлеп жүрген жекелеген мектептерде программалаудың
неғұрлым жаңа құралдары( мысалы, Турбо Паскаль) оқытылды.
Қазіргі уақытта мектепке жаңа компьютерлер келген кезеңде программалау
жүйелерін таңдау мүмкіндіктерінің шеңбері біршама кеңейді. Бұл Turbo Pascal
7.0,Visual Basic, Delphi, C++. Бұл тізімді әрі қарай да жалғастыра беруге
болады.
Алайда мектепте оқыту үшін программалаудың қандайда бір жеке жүйесін
таңдау осы жүйеге тән қатаң таптаурындар(стереотиптер) туғызатына және
оқушының бұған дейін Basic тіліне бауыр басып кеткені сияқты басқа да
жүйеге де үйреніп кеткені айдан анық болды.Тығырықтан шығар жол қайда?
Мұның шығар жолы - программалаудың қандай да бір жеке жүйесін оқытуда
емес, жалпы алғанда программалау негіздерін меңгеруде және, атап айтқанда,
қандай да бір программалау жүйесіндегі негізгі ұстамдармен (принциптерімен)
танысуда. Сондықтанда оқушыларда таныс алгоритмдік тілдің көмегі арқылы
программалаудың әдістерімен таныстырған дұрыс.
Сонымен, орта мектепте информатика курсын оқытудың мақсатына сай,
алгоритмдеу мен программалау бастамасының міндетіне мыналар кіреді:
1) ЭЕМ-ның көмегңмен шешуге арналған есептің қойылу техникасы
жайлы ұғымды түсіндіру;
2) әртүрлі мектеп пәндерінен қарапайым есептерді шешу әдісі мен
моделін таңдау;
3) физика, математика және басқа да сабақтар бойынша ЭЕМ-де
есептер швғаруға қарапайым алгоритм құру іскерлігін
қалыптастыру;
4) қандай да бір программалау тілінде қарапайым программа құрып,
оны есептегіш машинада жүргізу іскерлігін қалыптастыру;
5) қазіргі есептегіш техниканың негізгі мүмкіндіктері мен оның
даму болашағы жайлы білім беру;
6) ЭЕМ-нан алынған нәтижені талдау іскерлігін қалыптастыру.
Мұндай программаны жүзеге асыруды әдістемелік негізі ретінде ЭЕМ-де
есеп шығаруға дайындалу іс - әрекетін былай көрсетуге болады:
есеп тәсіл
қойылымы әдіс
сценарий алгоритм
ЭЕМ программа
Кез келген есепті компьютер көмегімен шығару жұмысын келесі этаптарға
бөлуге болады.
1) Есептің математикалық қойылымы;
2) Таңдалған есепті қалыптастыру;
3) Есептің алгоритмін құру.
4) Программалау тілінде программа құру;
5) Программаны тестілеу және тексеру;
6) Алынған нәтижелерді есептеу және сараптау.
Бұл тізбекті ЭЕМ-да есепті шығарудың технологиялық тізбегі деп
атайды.
2.2. Орта мектеп оқушыларын компьютерде программалау дағдысына баулу.
Бұдан бірнеше жыл бұрын ғана программалауды сауаттылықпен салыстыру
заңсыз болып көрінер еді. Қазір “Информатика және есептеу техникасы
негіздері” пәні әрбір мектепте оқытылып жатқан кезде, мұндай салыстыру
бізге осы пәнді меңгеру қазіргі заман адамының жалпы мәдениеттік білімінде
қандай орын алатынын және болашақтағы оның қандай рөл атқаратынын түсінуге
көмектеседі. Бір ескертетініміз, пайдаланудағы жалпы икемдік деген кең
мағынада түсінеміз.
Егер сауаттылықтың өзіндік пайда болуы және дамуы бар тарихи
категория екенін ескерсек, онда программалауды сауаттылықпен салыстыру
оңайырақ.
Алайда, осындай қарқында дамудың алдында бір маңызды кедергі бар.
Қазіргі кезде адамның машинаға білім беру қабілеті сол машинаны жасау мен
салыстығанда көп артта қалып келеді.Егер микропроцессор мен микроЭЕМ
жасауға кететін қоғамдық еңбек шығыны адам-сағатпен есептелетін болса, онда
программалық жабдықтарға кететін шығын әлі күнге дейін адам- ай және адам
жыл өлшемдерімен есептеледі. Программалау мамандары программалаушы еңбегін
бұдан өнімдірек ету жолында аянбай еңбек етуде. Алайда, олар қазіргі
дәстүрлі программа жасау процесіндегі еңбек өнімділігін он есе арттыруға
қажетті жағдай жасай алғанның өзінде, қарапайым есептеулер бойынша шамамен
жиырма жылдан кейін, барлық микропроцессорларды программалармен қамтамассыз
ету үшін жер шарындағы барлық ересек адамдар программалаумен айналасуы
керек болады. Өздерінің қиялдау күші XXI ғасырда қамтыған фантастардың
айтуынша, болашақта нақты ғылымдарды білмейтін адамды есеп және жазумен
“Хатшыларым айналысады” деп шірене сөйлейтін орта ғасырлық сауатсыз
баронмен салыстыруға болады.
Программалаумен де тура осылай болуға тиіс. Ғылымда, өндірісте және
т.б. кай салада болса да жұмыс істейтін әрбір маман ЭЕМ- ді тиімді
пайдалана және программалай алуы тиіс, міне екінші сауаттылық дегеніміз
осы.
Сонымен, біз машиналар әлемінен программалар әлеміне ауысамыз.
Француз жазушысы Мольердің кейіпкері месье Журден өзінің өмір бойы
прозамен сөйлеуін байқамағанын бігенде қатты таң қалады. ЭЕМ-нің шығуы және
соған байланысты есептеу ғылымының пайда болуы арқасында адамзат сол месье
Журденнің жағдайыны тап болып, өзінің программалар әлемінде өмір сүріп
жатқанын сезінеді.
Иә, біз программалар әлемінде өмір сүреміз, өзіміз сезбесек те
әрқашан программалаумен айналысамыз. XX ғасырдағы биологиялық ғылымның ең
үздік табыстарының бірі- организм дамуы оның гендік құрылымында жазылған
генетикалық программа орындалуының ашылуы екені күмәнсіз. Бұл жерде
орындалу және программа деген компьютерлік терминдерді қолдану метафора
еместігін ескертеміз, олар клетка ішіндегі өсу және даму процестерінің
мағынасын беріп тұр, ол процестермен мағынасын беріп тұр, ол процестермен
салыстырып қарағанда, молекулалық құрылымдар және химиялық процестер-
өзінше элементтік база және командаларды іске асыру тәсілі ғана болды.
Осыған ұқсас, біздің организмде өтіп жатқан барлық физиологиялық
процестер ұқыпты тиянақталған, күрделі құрылған, өте үлкен программалар
кітапханасы. Осы кітапхана программаларының құрылымы мен олардың
информациялық байланыстарына талдау жасау организмін қазіргі жағдайы туралы
қорытынды айтуға және оның болашақтағы өзгеруін болжауға мүмкіндік береді.
Іс жүзінде кез-келген кәсіпорында барлық өндірістік процес – ол
программалар бойынша жұмыс істеу. Сонда өндірістік процестің тиімділігі сол
программалардың тиянақты жасалу дәрежесіне байланысты.
Тіпті процесте кездейсоқ элемент бар болғанның өзінде, мысалы,
аңшылық немесе автомашина жүргізу, кездейсоқтық және болжамсыздық тек
жағдайлар тізбегінің орналасуына ғана әсер етеді, бірақ осы жағдайларға
жауап реакцияға әсер етпейді, ал ол әрқашан дерлік алдын-ала белгіле
программа бойынша орындалады.
Ақырында, оқып үйрену, яғни білім алу да - белгілі программа бойынша
жұмыс істеу. Шынында да, сәби бірдеңе істеуді үйрену үшін, ол алдымен оны
қалай істейтінін түсінуі керек. Тек осындай түсінік пайда болғаннан кейін
ғана қайталап жаттығу нәтижеге жеткізеді. Бір ескертетініміз, бұл алдын-ала
белгілі әрекетке логикалық реакциялар тізбегі болып табылатын
программаларға ғана қатысты емес, сонымен қатар адамның спорттағы,
музыкадағы, ойындардағы және т.б. күрделі қозғалыс процесінде орындайтын
программаларға да қатысты.
Адамның күнделікті өмірі - ол да көбінесе программа бойынша жасалатын
іс-әрекет. Режим сақтайтын әрбір адам өзін мақтанышпен программалаушымын
деп сезінеді. Өздерінің таңертеңгілік, қоңыраулы сағат үнінен бастап үйден
шыққанға дейінгі уақыттарыңды еске сүріңдерші. Бұл уақыт әбден әдет болып
кеткен таңертеңгілік жұмыстарға толы: төсек жинау, жуыну және т. С.с. Үйді
жинау туралы ойласаңдар оның оңай емес екеніне көздерің жетеді. Үй жинаудың
тиімді программасын жасау әрбір кәсіби программалаушыға абырой болар еді.
Сонымен программалар әлемі тіпті де ЭЕМ жадына салынған нәрсеге ғана
байланысты емес. Ол бәрінен бұрын, адамзаттың жинаған амалдау білімінің
үлкен қоры, бұл қор қазір ғана есептеуіш машиналар, роботтар және
автоматтық құрылғылар арқылы іске асырылуда. Бұл бүкіл тіршілік иелерінің
гендік инженерияның мәселелері.
Ал мұның бәрі осылай болса, онда біз, әрине программалау негізін
іздеу проблемасына, оның ішінде табиғаттағы және адам жасаған
программаларды ортақ тұрғыдан түсінуге мүмкіндік беретін кейбір бастапқы
мәндерді бөліп қарау проблемаларына келеміз. Егер біз осы бастапқы мәндерді
адам саналы түрде қабылдай алсын десек, онда осы мәндерді жалпыға ортақ
білімнің құрылымы мен мазмұнына енгізуден басқа жол жоқ.
Сонымен біз іс жүзінде электронды - есептеуіш техниканың қоғамда
шексіз дамуы және таралуы қарсаңында тұрмыз. Машина іс жүзінде адам
қызметінің барлығында да адамды бірсарынды өнімсіз жұмыстан босатып және
интелектін күшейтіп оның серігі болып келеді.
Адам интелектінің даму процесінің маңызды жеделдеткіші ролінде болып,
оның информация өңдеу заңдары, білімнен іске көшу тәсілдері, программа
құру, олар туралы ой толғау және жұмыстар нәтижесін болжау қабілеті болу
керек. Осы мәселелер бойынша білім жиынтығы қоғамның әрбір мүшесі алған
жалпы білімнің ілгері бөлігі- екінші сауаттылық болуы керек.
Қазір барлығымыз бүкіл дүние жүзіндегі ауқымды саяси және
экономикалық өзгерістердің куәгері болып отырмыз. Бүгінгі таңда болып
жатқан істердің бір жарқын көрінісі- біздің және басқа елдерге жаңа
компьютерлік технологиялардың енуі. Қазіргі компьютер біздің өміріміздің
барлық салаларына, оның ішінде білім беру саласына да енді. Бұған дәлел,
1997 жылы 22 қыркүйекте Қазақстан Республикасы Президентінің Орта білім
беру жүйесі ақпараттандыру мемлекеттік бағдарламасы.
Қалыпты орта мектептер аумағыңда компьютерлік сауаттылықты меңгеру
біздің қоғамымыздың әлемдік стандарттарға тартудың түйінді мәселесі болып
табылады. Информатика пәнінің 7-ші, тіпті 1 сыныптан бастап оқуды
қарастыратын оқу курсының бағдарламалары әзірленген және әлі де жалғасын
тауып жатыр. Оқулықтардың бірқатар нұсқалары және әртүрлі әдістемелік
құралдар баспадан шығарылды. Алайда бұған қарамастан, орта мектеп
бағдарламасына программалау тілдерін оқытуды енгізуге бола ма және оның
қайсысын оқыту керектігі туралы сұрақтар әлі депікірталас тудыруда. Бүгінгі
күнде байқап отырғанымыздай, дайын программаның жабдықтардың молшылығы
кезінде компьютерлік сауаттылық негіздерін меңгерумен шектеліп, негізгі
көңілді стандартты офистік жиынды немесе нақты кәсіптік бағытпен байланысты
курсты оқытуға бөлуге, ал программалауды оқытуды арнайы оқу орындарына-
колледждер мен институттарға ұсынсақ болар еді. Бірақ мұндай көзқарас бір
қарапайым, бірақ өте маңызды нәрсені- компьютерлік технологиядағы ең
ауқымды шығармашылық потенциалдың программалауда жатқанын ескермейді.
Мұнымен есептеспеу - оқушыны жаңа, көпқырлы қызмет түрінде өзінің
шығармашылық қабілеттерін дамыту мүмкіндігінен айыру деген сөз ( бұл кезде
оқушы бұған әбден бейім). Оның үстіне сөз программалау тілін кәсіби меңгеру
туралы емес, программалау негіздерін оқып- үйрену туралы болып отыр, бұл
оқушыларға осы қызмет түрін танысуға, тіпті оны өзінің бұдан әрі жоғары
білім алу жолын таңдауына мүмкіндік береді.
Өзіміз байқап отырғанымыздай, қалыпты орта мектеп бағдаламасына
программалау тілдерін оқытуды енгізу үшін тіпті осы аргументтердің өзі де
толығымен жеткілікті.
2.3. Қолданбалы есептерге (жүйеге) программа құру.
Модельдеуші жүйеге құрылған модельдің алгоритмі белгілі болуы да,
болмауы да мүмкін. Егер модельді шешуге арналған алгоритм белгілі болса,
онда ол белгі алгоритм негізінде таңдалған тілде программаны бірден құруға
болады. Көп жағдайларда белгілі алгоритмге арналған программалар,
программалар кітапханасына еніп машина зердесінде жазылуы болуы да мүмкін,
бұл жағдайда даяр программаны пайдалануға да болады.
Практикалық модельдеуші жүйе құруда, оған жасалған модельдің
алгоритмі белгісіз болады. Яғни, жасалған модель бойынша есепті шешудің
алгоритмі орындаушыға белгілі алгоритмдердің ешқайсысымен сәйкес келмейді.
Бұл жағдайда тіпті модельдеуші жүйге арналып құрылған модельдің дұрыс
немесе дұрыс еместігі белгісіз болады. Яғни, мұндай математикалық модельді
құрғанда кейбір қажетті шарттар модельге енбей қалуы немесе артық шарттар
енгіізіліп кетуі мүмкін. Бұл мәселелер тек есептің алғашқы шешуін
талдағанда ғана белгілі болады. Осы айтылғандарға байланысты есептердің
төмендегідей, негізгі классификациясын көрсетуге болады:
- шешу алгоритмі белгілі, бірақ оған программа (стандартты) құруды
қажет ететін есептер тобы;
- шешу алгоритмі белгілі және оның программасы машина зердесінде бар
есептер тобы;
- шешу алгоритмі жоқ, оны жаңадан құру қажет болатын есептер тобы;
- математикалық моделін ізденіс және зерттеулер жүргізу арқылы құруға
келетін есептер тобы. Бұндай есептердің математикалық моделдері де,
ол моделді іс жүзіне асыратын алгоритмі де белгісіз болуы мүмкін.
Көп жағдайларда есептің математикалық моделі белгілі болғанымен, ол
моделді классикалық математиканың жолымен жолымен шешуге болмауы да мүмкін.
Ондай есептерге мысал ретіне математикалық программалаудың кейбір
экстремалдық есептері, динамикалық программалау, салалар ара байланыс және
т.с.с. есептерді алуға болады.
Алгоритмдерді алдын – ала белгісіз есептерді проблемалық есептер деп
атайды. Проблемалық емес есептерді алгоритмдерін орындаушы бірден таңдап
ала алады және “адам - ЭЕМ” жүйесінде шеше алады. Дегенмен де бұндай
есептердің алгоритміне программа құру барысында көптеген қиыншылықтардың
кездесуі мүмкін.
Орындаушы алгоритмнің дұрыстығын тексере алатын мүмкіндігі болатын
еғсептер болады. Мұндай есептерді дұрыс ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz