Орта мектепте Паскаль программалау тілін оқытуды жетілдіру жолдары



Кіріспе
1. Орта мектепте Паскаль программалау тілін оқытудың ғылыми әдістемелік негіздері
1.1. Орта мектептегі программалау тілдерін оқыту әдістерінің жалпы мәселелері
1.2. Орта мектепте программалау тілін оқытудың орны
1.3. Орта мектеп оқушыларын компьютерде программалау дағдысына баулу.
2. Орта мектепте Паскаль программалау тілін оқытуда жаңа педагогикалық технологиялар
2.1 Программалау тілдерін оқытудың модульдік технологиясы
2.2 Программалау тілдерін оқытуда дидактикалық материалдар
2.3 Паскаль программалау тілін оқытуда электрондық оқулық
Қорытынды
Пайдаланылған әдебиеттер
Қосымшалар
Мектепте информатиканы оқытудың мақсаты - әрбір оқушыға информатиканы ғылымы негіздерінің алғашқы фундаментальды білімін беріп, оқушыларға осы білімді мектепте оқытылатын басқа ғылымдардың негіздерін түпкілікті және сапалы түрде меңгеруге қажетті іскерліктер мен дағдыларды қалыптастыру болып табылады. Қазіргі заманда адам көп істі компьютер пайдалану арқылы атқарады. Кез келген міндетті орындау алгоритмінің болуын, яғни нәтиже алуға жеткізетін әрекеттердің алдын-ала жазылуын қажет етеді. Алгоритмнің негізінде программа түзіледі, яғни есеп шешуінің алгоритмі оны компьютерде орындауға жарамды түрде жазылады. Осыдан барып компьютердің көмегімен есепті шешу процесінің мәні алгоритмдерді құру екені көрінеді.
Қазіргі қоғам өміріндегі алгоритмдеудің ролі оны пайдаланудың техникалық аспектілермен ғана айқындалмайды. Алгоритмдік қатынас адамның күнделікті өмірінен, олардың әдеттегі жұмысынан айырғысыз. Басым көп жағдайларда адам қызметінің нәтижесі оның өз әрекеттерінің алгоритмдік мәнін қаншалықты дәл білетіндігіне тәуелді: әр мезетте, қандай ретте не істеу керек; әрекеттер қорытындысы қандай болу керек. Бұл белгілі дәрежеде алгоритмдерді құрастыру мен пайдалана білуге қатысты.
«Информатика және есептеуіш техника негіздері» пән ретінде қалыптасқан ғылымның бір саласы. Мұнда алгоритм құрастыру, жазу түсініктері беріліп, қазіргі кезде кең тараған программалау тілінің бірі - Паскаль тілінің ерекшеліктері қарастырылып, оны пайдаланып математика, физика есептерін шығаруды компьютерде орындау жүзеге асырылады.
Информатика пәні негізінен мынадай тақырыптарды қамтиды:
• «Алгоритм», «программа» ұғымы.
• Алгоритмдерді қарапайым тілде, блок-схема түрінде жазу.
• Паскаль тілінде мәліметтерді сипаттау, программалар құру, оларды компьютерде орындау.
• Әр түрлі операторларды жазу, функциялар мен процедураларды пайдалану жолдары т.б.
Қазіргі кезде Паскаль тілі кез-келген күрделі есептерді шығара алатын, кең таралған стандартты оқу тіліне айналды. Сондықтан жалпы білім беретін мектептерде программалауды оқытуда осы Паскаль тілі таңдалып алынған.Программалау тілінің бірі – Паскальдің негізін салушы Никлас Вирттың тұжырымдауынша, программалау ісі қалай болған күнде де математикасыз өмір сүре алмайды. Математика қанша дамыса да көптеген құбылысты математикалық түрде мазмұндап жазу әлі күнге мүмкін болмай отырғаны сияқты, көптеген есептер үшін алгоритм жазу әлі күнге мүмкін болмай отыр.
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР
1. С. Айнамқұлова: «Математикалық есептерді шешуге Паскаль тілінде программа құру», «Информатика негіздері» журналы
2. Б. Бөрібаев, Р. Дүзбаева, А. Махметова: «Информатика және есептеуіш техника негіздері» 9-сыныпқа арналған есептер мен жаттығулар жинағы, Алматы, 2005ж
3. Б. Бөрібаев, Б. Нақысбеков, Г. Мадиярова: «Информатика және есептеуіш техника негіздері» 9-сынып оқулық, Алматы, 2005ж.
4. Н. Ермеков, Ж. Қараев, В. Криворучка, В. Кафтупкина: «Информатика» 9- сынып оқулық, Алматы, 2001ж.
5. Я. Зайдельман : «Язык программирование», «Информатика и образование», 1987г, №5.
6. Н. Ковтун: «Программы всистема Express Pascal», «Информатика и образование», 1992г, №3.
7. Ж. Масанов, Б. Бельгибаев, А. Бижанова, Қ. Мақұлов: «Turbo Pascal», Алматы, «Бастау» баспаханасы, 2004ж.
8. С. Мухамедиева, Р. Мукашева: «Паскаль тілінің негіздері», Өскемен, ШҚМУ баспасы, 2003ж.
9. Қ. Мұқанов: «Паскаль программалау тілінің бастапқы тақырыптарына арналған байқау тестісі», «Информатика негіздері» журналы, 2003ж, №.
10. Қ. Мұқанов: «Паскаль тілінде программа құруда бүтін сандарымен жұмыс істеудің арнайы әдістері», «Информатика негіздері» журналы, 2003ж, №3.
11. Б. Нақысбеков, Г. Мадиярова, А. Мұхамади: «Информатика және есептеуіш техника негіздерін оқыту» 9-сыныпқа әдістемелік нұсқау, Алматы, 2005ж.
12. Никифоов: «Программирование на языке Паскаль», часть1, учебное пособие, Усть-Каменогорск, 2002г.
13. Программалар кітапханасы: «Есептерге программа қүру», «Информатика негіздері» журналы, 2002ж, №1-2.
14. Е. Лодатко: «Рекурсивные алгоритм», «Информатика и образование», 1989г, №2.
15. Ү. Смайлова, Ә. Өтехожиева: «Turbo Pascal тілінің элементтері», «Информатика негіздері» журналы, 2003ж, №2.
16. Смайлова, Ә. Өтехожиева: «Turbo Pascal тілі бойынша тест сұрақтары», «Информатика негіздері» журналы, 2003ж, №3-4.
17. Сочнев: «Изучение алгоритмического языке в курсе информатике», «Информатика и образование», 1988г, №1.
18. Тойкенов: «Паскаль тілінде программалау», Алматы, 2001ж.
19. А. Үмбетов: «Turbo Pascal ортасы», «Информатика негіздері» журналы, 2002ж, №1-3.
20. А. Шәріпбаев: «Информатика оқу құралы», Астана, 2003ж.
21. А.Кузнецов, В.Долматов. Методическая система обученияОИВТ: структура и функции, состояние и перспективы. «Информатика и образование», №1, 1989 г.,стр.3.
22. А.Г.Гейн, В.Г.Житомирский, Е.В.Линецкий, М.В.Сапир, В.Ф.Шолохович. Основы информатики и вычислительной техники. Учебное пособие. Свердловск: Издательство Уральского университета, 1989. -272 с.: ил.
23. Семакин И.Г., Шестаков А.П.Основы программирования.Учебник.М.:Мастерство, 2002.
24. Лавров С.Программирование. Математические основы.СПб.:Петербург,2001
25. Давыдов В.Г.Программирование и основы алгоритмизации. М.:Высш.шк, 2003
26. Иванова Г.С.Основы программирования. М.:Изд.МГТУ им Н.Э.Баумана, 2002
27. Рапаков Г.Г., Ржеуцкая С.Ю.Программирование на языке Pascal.
Уч.пособие.СПб: БХВ-Петербург,2004
28. Фаронов В.В. TurboPascal7.0 Практика программирования. Учебное пособие. -М.: «Нолидж», 1999
29. Немнюгин С.А. TurboPascal. Практикум.-СПб.:Питер, 2001
30.Ж.Қ. Масанов, Б.А. Бельгибаев, А.С. Бижанова, Қ.Қ. Мақұлов. Turbo Pascal. А.: «Бастау», 2004
31.Кнут Д.Искусство программирования для ЭВМ. Т.1. Основные алгоритмы:Пер. с англ. – М.:Мир, 1976.
32. Шәріпбаев А. Информатика (оқу құралы). –Астана, Нұржол, 2003.
33. Под ред.В.А.Острейковского. Лабораторный практикум поинформатике:Уч.пособие для вузов. М.:Высшая школа,2003.
34. С.И. Молчанов. Основы программирования. –М.: Высшая школа, 2000.
35. “Информатика негіздері” журналы, №1, 2002

Қазақстан Республикасы Білім және ғылым министрлігі

Орта мектепте Паскаль программалау тілін оқытуды
жетілдіру жолдары

мамандығы 5B011100-Информатика

Кіріспе
1. Орта мектепте Паскаль программалау тілін оқытудың ғылыми әдістемелік негіздері
1.1. Орта мектептегі программалау тілдерін оқыту әдістерінің жалпы мәселелері
1.2. Орта мектепте программалау тілін оқытудың орны
1.3. Орта мектеп оқушыларын компьютерде программалау дағдысына баулу.
2. Орта мектепте Паскаль программалау тілін оқытуда жаңа педагогикалық технологиялар
2.1 Программалау тілдерін оқытудың модульдік технологиясы
2.2 Программалау тілдерін оқытуда дидактикалық материалдар
2.3 Паскаль программалау тілін оқытуда электрондық оқулық
Қорытынды
Пайдаланылған әдебиеттер
Қосымшалар

Кіріспе
Президентіміздің нақты тапсырмасына сәйкес, Республика Үкіметі орта білім беру мекемелерін ісіне қазірдің өзінде кірісіп кетті. Алайда, білім беру мекемелерін компьютерлендіру дегеніміз өзі сандық көрсеткіштер арқылы ғана өлшенбек емес. Әңгіме, оқушылардың қазіргі заман талабына сай жан-жақтылығын қамтамасыз ету жолындағы кеңінен ақпараттандыру процесі жайлы болып отыр.
Мектепте информатиканы оқытудың мақсаты - әрбір оқушыға информатиканы ғылымы негіздерінің алғашқы фундаментальды білімін беріп, оқушыларға осы білімді мектепте оқытылатын басқа ғылымдардың негіздерін түпкілікті және сапалы түрде меңгеруге қажетті іскерліктер мен дағдыларды қалыптастыру болып табылады. Қазіргі заманда адам көп істі компьютер пайдалану арқылы атқарады. Кез келген міндетті орындау алгоритмінің болуын, яғни нәтиже алуға жеткізетін әрекеттердің алдын-ала жазылуын қажет етеді. Алгоритмнің негізінде программа түзіледі, яғни есеп шешуінің алгоритмі оны компьютерде орындауға жарамды түрде жазылады. Осыдан барып компьютердің көмегімен есепті шешу процесінің мәні алгоритмдерді құру екені көрінеді.
Қазіргі қоғам өміріндегі алгоритмдеудің ролі оны пайдаланудың техникалық аспектілермен ғана айқындалмайды. Алгоритмдік қатынас адамның күнделікті өмірінен, олардың әдеттегі жұмысынан айырғысыз. Басым көп жағдайларда адам қызметінің нәтижесі оның өз әрекеттерінің алгоритмдік мәнін қаншалықты дәл білетіндігіне тәуелді: әр мезетте, қандай ретте не істеу керек; әрекеттер қорытындысы қандай болу керек. Бұл белгілі дәрежеде алгоритмдерді құрастыру мен пайдалана білуге қатысты.
Информатика және есептеуіш техника негіздері пән ретінде қалыптасқан ғылымның бір саласы. Мұнда алгоритм құрастыру, жазу түсініктері беріліп, қазіргі кезде кең тараған программалау тілінің бірі - Паскаль тілінің ерекшеліктері қарастырылып, оны пайдаланып математика, физика есептерін шығаруды компьютерде орындау жүзеге асырылады.
Информатика пәні негізінен мынадай тақырыптарды қамтиды:
:: Алгоритм, программа ұғымы.
:: Алгоритмдерді қарапайым тілде, блок-схема түрінде жазу.
:: Паскаль тілінде мәліметтерді сипаттау, программалар құру, оларды компьютерде орындау.
:: Әр түрлі операторларды жазу, функциялар мен процедураларды пайдалану жолдары т.б.
Қазіргі кезде Паскаль тілі кез-келген күрделі есептерді шығара алатын, кең таралған стандартты оқу тіліне айналды. Сондықтан жалпы білім беретін мектептерде программалауды оқытуда осы Паскаль тілі таңдалып алынған.Программалау тілінің бірі - Паскальдің негізін салушы Никлас Вирттың тұжырымдауынша, программалау ісі қалай болған күнде де математикасыз өмір сүре алмайды. Математика қанша дамыса да көптеген құбылысты математикалық түрде мазмұндап жазу әлі күнге мүмкін болмай отырғаны сияқты, көптеген есептер үшін алгоритм жазу әлі күнге мүмкін болмай отыр.
Соңғы төрт-бес жыл ішінде пайда болған жаңа программалық өнімдер көпшілікке кәсіби информациялық технологияларды пайдалана білудің аса қажеттігін көрсетті. Біздің қоғамымызда болып жатқан өзгерістер орта білім беру саласының дамуына да өзгерістер енгізуге себепші болды.
Біздің негізгі мақсатымыз - мектеп курсындағы жаңа бағдарлама бойынша 2005-2006 оқу жылында ғана Информатика пәніне енгізілген 9-сынып оқулығындағы Паскаль тілі программасының оқытудың әдістемелік ерекшеліктеріне тоқталамыз және көкейтесті бірнеше мәселелерді қарастыру және жетілдіру жолдарын ұсынамыз. Ойымыз дәлелді болу үшін жоғарғы оқу орнының материалдарымен салыстырып, айырмашылықтарына баса назар аударып, ондағы қолданатын тәсілдерді мектеп деңгейінде қарастырамыз. Кез келген есепті компьютермен шешу үшін алдымен есептің математикалық қойылуын анықтау, алгоритмін құру, одан соң оны програмалау тілінде жазу керек екені белгілі.
І тарауда. Орта мектепте программалау тілін оқытудың ғылыми әдістемелік негіздері осы тарауда қарастырдым. Яғни, оқушыларды программалауға баулу.
ІІ тарауда. Бұл тарау толығымен мектептегі Turbo Pascal программалау тілін оқытудың жетілдіру жолдарын қарастырдым.
Қорыта келе, менің бітіру жұмысымның негізгі мақсаты - орта мектепте программалау негіздерін оқыту ерекшеліктері, Паскаль-программалу тілі, және оның негізгі элементтері туралы айту, түсіндіру. Паскаль программасында жұмыс жасай білуге үйрету. Тез ойлап, ұтымды жауап қайыра білуге, жүйелі, еркін сөйлеу дағдыларын дамыту, пәнге қызығушылығын арттыру. Оқушыларды компьютермен жұмыс жасата отырып, қауіпсіздік ережесін сақтауға,ұқыптылыққа,еңбексүйгіштік ке, ізденімпаздыққа тәрбиелеу.

1. Орта мектепте Паскаль программалау тілін оқытудың
ғылыми әдістемелік негіздері

1.1 Орта мектептегі программалау тілдерін оқыту әдістерінің жалпы мәселелері

Информатика пәнінің мектеп пәні ретінде енгізілгеніне біршама жылдар болды. Ал алгоритмдеу және программалау информатика курсының дәстүрлі тараулары болып есептеледі. Осы уақыт ішінде информатика пәнінің мазмұны бірнеше рет өзгеріске ұшырады. А.П. Ершов пен В.М. Монаховтың Информатика және есептеуіш техника негіздері оқулығында информатиканың мазмұны мына ұғымдарға бағытталып құрастырылған: ақпарат-алгоритм-программа. Оқулықтардың негізгі мазмұны оқушылардың алгоритмдік ойлау қабілетін дамытуға бағытталған. Программалау дегеніміз ЭЕМ-нің программалық қамсыздандыруының өңделуінің қызметін атқаратын информатиканың бөлімі, нақты мағынада программалау белгілі бір программалау тіліндегі кез келген программаны өңдеу процесін білдіреді.
Жаңа ақпараттық технологияларды құрумен айналысу үшін де программалау тілдерін меңгеру қажет. Паскаль программалау тілі программалаушыға көп мүмкіндік беретін ыңғайлы тіл. Программалау курсының негізгі мақсаты оқушыларды программалау курсымен таныстыру және есептеу алгоритмдері мен жоғарғы деңгейдегі тілде (Паскаль) оларды программалауға үйрету. Сондай-ақ оқушылардың программалау жүйесімен жұмыс істеу дағдысын қалыптастыру.
Негізігі мәселелері:
* Информатика бөлімі ретіндегі программалау.
* Өлшемдермен жұмыс істеу алгоритмдері.
* Әр түрлі құрылымды есептеу алгоритмдерін құру.
* Паскаль программалау тілімен танысу.
* Программалау тілінің нақты бағытын анықтау.
* Паскальда программалау жүйесінің жұмыс тәсілдерін меңгеру.
ЭЕМ-дегі программалаудың бірден-бір қажетті құралы болып программалық қамсыздандыру табылады. ЭЕМ-нің 1, 2, 3 ұрпақтарында программалық қамсыздандыру құралдары барлық қолданушыларға ЕМ-нің 1,2,3 ұрпақтарында программалық қамсыздандыру құралдары барлық қолданушылардың қолы жетерліктей болды.Енді программалай білуді, программалау тілдерін білу қажет емес. Біздің уақытта программалаушы мамандар программалауға тек программалық қамсыздандыру құралы болмаған жағдайда ғана қатынасады. Осыдан мынадай сұрақ туады: Онда не үшін мектепте программалау курсын оқытады? Бұл сұраққа екі жауап бар:

1. Информатика курсын фундаментальды білу үшін. Информатика курсының фундаментальды принципіне компьютердің жұмыс программасын басқару жатады.
2. Пәннің негізгі функциясы көзқарасы тұрғысынан кез келген мектеп пәні бұл функцияны білімділік, тәрбиелік, дамытушылық функцияларымен қатар алып жүру керек.
Программалау шығармашылықтың профессионалдық саласы болып табылады. Ол өте маңызды қазіргі заманға сай перспективалы мамандық екеніне барлығының көзі жеткен. Программалауды мектепте және жоғарғы мектепте оқыту әдістемелері өзгеріп, өңделіп отырды. Қазіргі кезде программалау негіздері орта мектептің 9 сыныбында Б. Бөрібаев, Б.Нақысбеков пен Г.Мадиярованың Информатика және есептеуішщ техника негіздері оқулығы бойынша оқытылады. Программалауды оқытудың әр түрлі парадигмалары бар және әрқайсысының өз ерекшелігі мен артықшылықтары бар. Негізгі парадигмаларға жататындар:
* Процедуралық программалау (Паскаль, Бейсик, Фортран, СИ, Ассемблер).
* Логикалық программалау (Пролог).
* Функционалды программалау (Лисп).
* Нысаналы-бағытталған программалау (Смолток, СИ, Делфи).
Классикалық, универсалды және кең таралған парадигма процедуралық программалау болып табылады. Сондықтан мектепте кеңінен оқытылатын программалау тілдеріне Паскаль мен Бейсик жатады. Жалпы программалауды оқу процесі мен оның практикалық меңгеруі үш бөлімге бөлінеді:
* Есептеу алгоритмінің құрылу әдістерін қарастыру.
* Программалау тілін оқу.
* Белгілі бір программалау жүйесін зерттеп және оны практикалық түрде меңгеруі.

Программалауды оқытудағы негізгі бөлімдер.

Әрбір программалау жүйесінде мынадай компоненттері бар:
* Программалау ортасы.
* Жұмыс режимі.
* Командалар жүйесі.
* Деректер.
Программалау жүйесіне тән жұмыс режимдері мынадай:
* Программа мәтінін өңдеу режимі.
* Компиляция режимі.
* Орындау режимі.
* Файлдармен жұмыс режимі.
* Көмек режимі.
* Программаны өңдеу режимі.
Алгоритмдерді (Программаларды) құруды үйрене бастаған оқушы программалау тілдері мен программалар жүйесі туралы толық мағлұмат алуы тиіс.

Программалау тілдерін оқыту әдістері

Программалау тілдерін оқыту әдістерінің бірнеше түрлері бар. Бұл әдістер программалау тілдерінің оқу нысанасы ретіндегі құрылымына негізделеді. Ол мына сызба түрінде көрсетілген:
Жоғары деңгейдегі программалау тілінің құрылымы.

Программалау тілдері төмендегідей бөлінеді:
1. Машинальды бағытталған: автокадалар, ассемблерлер.
2. Жоғары деңгейдегі программалау тілдері (ЖДПТ).
Қазіргі кезде барлық программалаушылар жоғары деңгейдегі программалау тілдерін пайдаланады. Порграмманың кез келген тілінде есептің шешу алгоритмін командалар жиыны ретінде көрсетеді. Жоғары деңгейдегі бір команда процессордың бір операциясын емес, жалпы бірнеше операцияларды анықтайды. Базалық курста жоғары деңгейдегі программалау тілдерін оқыту тек таныстыру ретінде болу керек.
Программалау тілінде командалар, әрекеттер мен операцияларды жазу еережесі айқын бекітілген. Бұл ережелер тіл синтаксисін құрайды. Ал алгоритмді блок-схема немесе алгоритмдік тілде сипаттау барысында программаларды жазудың синтаксистік ережесін сақтау міндет емес. Программалаушы алгоритмді өхзі үшінь дайындық ретінде жазып алады. Сондықтан да алгоритм мағынасы программалаушының өзіне түсінікті болса болғаны.
Программалау тілдерін біз жоғарыда атап өттік. Біздің білуімізше, мектепте көбінесе Паскаль программалау тілі оқытылады. Мен осы жобада Паскаль программалау тілін оқытудың әдістемесін және оны жетілдіру жолдарын ұсынамын. Онымен

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

Паскаль тілі программасының негізгі ұғымдары

Паскаль тілі өзінің қарапайымдылығының және тиімділігінің арқасында дүние жүзіне тез таралды. Қазіргі кезде барлық дербес компьютерлер осы тілде жұмыс істей алады. Паскаль тілінде жазылған программаның дұрыстығын компьютерде тексеру және жіберілген қатені түзету оңай. Бұл тілде программа компьютерде орындалу барысында алдымен трансляцияланады (машина тіліне аударылады), объектік программаға түрлендіріледі де, содан кейін ғана орындалады. Осы сәтте компьютерде программаның екі нұсқасы болады, оның біріншісі-алгоритмдік тілдегі алғашқы түпнұсқасы, ал екіншісі-объектік кодтағы жазылған программа. Есеп нәтижесін машиналық кодта жазылған алғашқы нұсқасы өңделеді.
Паскаль тілін 1970 жылы Швейцария ғалымы Н. Вирт программалау әдістерін оқыту мақсатында арнайы жасаған.
Қазіргі кезде Паскаль тілі қолданбалы программалар жасау үшін және жүйелі программалау ретінде де кеңінен қолданылады. Сонымен бірге көптеген мини және макрокомпьютерлерді қамтамасыз ету осы тілде жазылған. Паскаль тілі бұрын құрылған (Фортран, Алгол және тағы басқа) программалау тілдерінен маңызды ерекшелігі ол құрылымдық прграммалау идеясын өмірге біртіндеп енгізу. Паскаль тілінің тағы бір ерекшелігі ол деректер құрылымның концепсиясының алгоритм түсінігімен қатар программалаудың негізінде жатқан фундаментальды түсініктер қатарына кіруі.
Қазіргі заманда адам көп есепті компьютерді пайдалану арқылы атқарады. Кез-келген міндетті орындау алгоритмнің болуын, яғни нәтиже алуға жеткізетін әрекеттердің алдын ала жазылып қоюын қажет етеді. Алгоритмнің негізінде программа түзіледі, яғни есеп шешуінің алгоритмі оны компьютерде орындауға жарамды түрде жазылады. Осыдан барып компьютердің көмегімен есепті шешу процесінің мәні алгоритмді құру екені көрінеді. Алгоритмдік алдын ала жазбаларды құрастыру процесі алгоритмдеу деп аталады. Алгоритм сөзі IX ғасырдағы Орта Азияның ұлы математигі Әл-Хорезми атының латынша жазылу - algoritmi қалпынан шыққан.
Қазіргі кезде алгоритм ұғымы тек математикалық есеп шешу әдісімен шектелмейді. Оның мағынасы әлдеқайда кең. Әрбір компьютер алдын ала берілген алгоритмен, яғни жоспарлы жұмыс істейді. Алгоритмді реттелген амалдар жиыны, кезекпен орындалатын операциялар тізімі деп ұғынған жөн. Оның көптеген анықтамасы бар. Соның бірі: алгоритм-берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіру. Кез-келген есепті қарапайым амалдарды тізбектей орындау арқылы шығаруға болады. Алгоритмді компьютерде орындау үшін оны программа түрінде жазып шығу керек.
Алгоритмнің жеке қадамдардан құрыла алатын қасиеті дискреттігі деп аталады. Алгоритмнің әр ұйғарымы немесе командасы орындаушыға түсінікті болуға тиіс, яғни олар бір мағынада түсініліп, қайталанатын алғашқы деректер бойынша бірыңғай нәтижелерге әкелуге тиіс. Алгоритмнің бұл қасиеті анықтығы деп аталады.
Алгоритмдерді компьютерде орындау үшін оларды алдын ала жазып алу керек, яғни ол белгілі бір заңдылықпен өңделуі тиіс. Жалпы жағдайда, алгоритм жазудың келесі түрлері қабылданған:
1. табиғи тілдегі жазылуы;
2. белгілі бір түйінді сөздер-терминдер (псевдокодтар-жалған кодтар) арқылы қысқаша тізбекті түрде жазу, мұны қарапайым алгоритмдік тіл деп те айтады.
3. Графиктік жолмен (блок-схема арқылы) жазу;
4. Программалау тілдеріндегі жазылуы.
Бірақ табиғи тілде жазылған алгоритм компьютерде орындалмайды, өйткені бұл жағдайда дәлдік, нақтылық сақталмайды. Ал алгоритмді екінші көрсетілген жолмен жазу, қарапайым алгоритмдік тіл деп аталып, қолданылып жүр. Мұны олардың ағылшын тіліне негізделіп жасалған программалау тілдеріне жақындығымен түсіндіруге болады.
Алгоритмдерді графиктік жолмен жазу, кейіннен оны программалау тіліндегі программаға айналдыру жұмысы мелекеттік стандартпен бекітіліп, ақпарат өңдеу жұмысында қолданылады.

Кесте 1 Алгоритм блок-схемаларының арнайы белгілері
Іс-әрекеттің аталуы
Блок пішімі
Атқаратын жұмысы
Процесс

Таңдау

Модификация

Құжат

Енгізу, шығару

Бастау, аяқтау

Қосалқы программа

Түсініктеме

Математикалық өрнектерді есептеу
Есеп шығару жолын таңдау

Цикл (қайталау) басы

Нәтижені шығару, қағазға басу
Мәліметтерді енгізу, (шығару)
Алгоритмдердің басталуы, аяқталуы
Қосалқы программаларға кіру және шығу
Схеманы, формулаларды түсіндіру

Алгоритмдік тіл команда және шамалардан тұрады. Командының өзі жай (меншіктеу, арг, нәтиже, көмекші алгоритм) және құрама (серия, тармақталу, таңдау, қайталау, параметрлі қайталау) деп екіге бөлінеді, ал шамалар тұрақты сандар (натурал, бүтін, нақты) және айнымалы (литерлік, графикалық-геометриялық фигуралар және сызықтар) болып екәге бөлінеді. Мысалы: Фибоначчи сандардың қосындысын есептеу алгоритмін қарастырайық.
Алг нат Фибоначчи ( нат к)
Басыегер к=2
Ондамән:=1
әйтпесемән:= Фибоначчи
(к-1) + Фибоначчи (к-2)
болды
соңы
Алг Фибоначчи-цикл(нат к, натz )
Арг к
Рез , z
Басы нат х,у; бүт і
X:=1; z:=1
Егерk2
Онда і үшін 3-ден к-ға дейін
Цбy:=xx:=zz:=x+y
цс
болды
соңы.
Тапсырма қойылымы, алгоритм, бағдарлама тексті, нәтиже (ықшамдалған түрі). Атаулар (идентификаторлар):
Дұрысы Дұрыс емес
№135, А 325 ав (цифрдан басталған)
data6 mas a 121 (ашық аралық бар)
Alpha_1 bb# 1 (арнайы символдар бар) [19].
Паскаль тіліндегі программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі.
Кез келген программаның алғашқы жолы PROGRAM сөзінен басталатын оның тақырыбынан тұрады. Одан кейін программаның ішкі объектілерінің сипаттау бөлімі жазылады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала анықтап алуға көмектеседі. Сипаттау бөлімі бірнеше бөліктерден тұрады, бірақ программаның күрделілігіне байланысты көбінесе ол бір немесе екі ғана бөліктен тұруы мүмкін.
Программаның соңғы және негізгі бөлімі операторлар бөлімі болып табылады. Орындалатын іс-әрекеттер, командалар осы бөлімде орналасады. Ол begin түйінді сөзінен басталып, барлық атқарылатын операторлар (командалар) тізбегі жеке-жеке жолдарға біткен соң end түйінді сөзімен аяқталады.
Тілдің алфавиті программаның элементтерін құруда қолдануға болатын символдар жиынынан тұрады. Оған әріптер, цифрлар және арнайы белгілер (символдар) жатады.
Латын алфавитінің 26 әрпі (ағылшынша A-Z).
10 араб цифрлары: 0 1 2 3 4 5 6 7 8 9.
Операциялар таңбалары: +,-, *,, ,,,=,=.:,=.
Ажырату белгілері: ` () [] {} (**) : .
Арнайы белгілері: ^ # $ @ % !& .
Паскаль программалау тілінің артықшылығы кең көлемде берілгендердің әртүрлі типтерімен жұмыс істей алу мүмкіндігінде. Типтердің ішінде есеп шығаруда көп қолданылатыны-бүтін типті сан.
Турбо Паскаль тілінде алдын ала программалары жасалып стандартты модульге жинақталып қойылған, қажет кезінде пайдалануға болатын объектілер бар. Солардың бірі стандартты функциялар болып табылады. Олар жиі кездесетін математикалық және басқа да функцияларды есептеу үшін қолданылады.
Паскальда бүтін типті деректерге нәтижесі де бүтін сан болатын негізгі операциялар анықталған:
DIV - Бүтін қылып бөлу;
MOD- бөлшектің қалдығы;
SHR - берілген биттер санына оңға жылжу;
SHL- - берілген биттер санына солға жылжу;
TRUNC(X)- нақты Х шамасының бүтін бөлігін қайтарады;
ROUND(X)- нақты Х шамасының бүтін мәнге дейін дөңгелектейді.
Xn- ді дәрежеге шығару амалын белгілейтін арнайы белгі болмағанмен, программалауда төмендегідей жазып көрсетуге болады:
Xn=exp(n*ln(x))
Кесте 2 Стандартты функциялар
Математикадағы жазылуы
Паскаль тілінде жазылуы
Атқаратын қызметі
Функция типі
׀х׀

Arctgx
Cosx
Sinx
ex

[x]
lnx
PI
x2
Abs(x)

Arctan(x)
Cos(x)
Sin(x)
Exp(x)
Frac(x)
Int(x)
Ln(x)
Pi
Sqr(x)
Sqrt(x)
Аргументтіңабсолюттікшамасы
Аргументтіңарктангенсі
Аргументтіңкосинусы
Аргументтің синусы
Е-нің х дәрежесі
Х санының бөлшек бөлігі
Х санының бүтін бөлігі
Х санының натурал логарифмі
Π- дің мәні pi=3.14159265
Х-тің квадраты
Х-тің квадрат түбірі
Х-тің типіндей

Нақты
Нақты
Нақты
Нақты
Нақты
Нақты (бүтін)
Нақты
Нақты
Х-тің типіндей
Нақты

Логикалық шамалар TRUE (ақиқат) немесе FALSE (жалған) мәндерінің бірін ғана қабылдайды. Логикалық типтегі шамаларға мына амалдар қолданылады: and - (ЖӘНЕ), or - (НЕМЕСЕ).
Мысалы: Логикалық өрнектердің мәндерін анықта:Y = (A and B) or C при A=TRUE, B=FALSE, C=TRUE.
program name; {Программаның аты}
uses CRT; {Модульды іске қосу}
var a,b,c,y:boolean; {а,в,с логикалық типті айнымалылар}
BEGIN
clrscr; {экранды тазалау}
a:=true; b:=false; c:=true; {а-ақиқат, в-жалған, с-ақиқат}
y:=(a and b) or c; {а және в немесе с }
writeln('y=',y); {у-ті шығару}
readln; {мәліметтерді оқу}
END. [12].

Сызықтық құрылымды алгоритмдерді және тармақталу
алгоритмін программалау

Сызықтық алгоритмдерді программалауға ерекше көңіл бөлу керек.
V=pi*R2H цилиндрдің көлемінің формуласы, конустың көлемі 13 цилиндрдің көлеміндей V=pi*R2*H3, pi=3.14159263. Осыған программа құру керек.
Program VOL; {Кез келген атты жазуға болады}
Const pi=3.14159263; {Тұрақтыны хабарлап тұр}
Var
V1,V2:Real; {цилиндрдің және конустың көлемдері. Real-нақты сан екенін көрсетеді}
R,h:Integer; { R,h-бүтін сан }
Begin
Write(`Радиус пен биіктікті енгіз:');
Readln(R,h); { R,h-мәндерді енгізу }
V1:=pi*Sqr(R)*h; { цилиндрдің көлемінің формуласы }
V2:=V13; { конустың көлемінің формуласы }
Writeln(`цилиндрдің көлемі',V1);
Writeln(` конустың көлемі', V2);
End. [8].
Стандарт функцияларды қолданып, өрнектің мәнін есептеңдер:
Program S_pr;
USES CRT;
VAR a,b:Integer; y:real;
Begin
clrscr;
writeln (' 2 санды енгіз');
Readln(a,b);
y:=sqrt(sqr(a)-abs(b));
writeln('y=',y:2:3);
readln;
END.
Арифметикалық операцияларды және санның типтерін ажырата білу программаны құруда маңызы зор. Төмендегіде келтірілген мысал оған дәлел болады:
Дұрыс дұрыс емес
1) Var 1) Var
a, b: integer; a, b: integer;
r: integer; r: integer;
s: integer; r:= ab; {бөлуге болмайды}
r:=adivb; s:=a*b;
2) Var 2) Var
a: integer; b, c: real a: integer; b, c: real
c:=a+b a:=b+c {сол жағында едәуір кең тип тұруы керек}

Тармақталу операторларының үш түрі бар (қосымшадан қараңыз).
Тармақталу алгоритмдерді программалауда блок-схемаларды қолдану міндетті деп есептейміз. Себебі программа құрғанда блок-схемалар көп көмегін тигізеді. Мысалы, ах2+вх+с=0 квадрат теңдеуін шешу программасын блок-схеманының көмегімен құрып көрейік. Бұл есепті шешу үшін математикалық білім керек және 8-сыныптағы Алгебра пәнінде қарастырған материалды еске түсіріп, оның маңыздылығын сезінуге баулау тәрбиелеу оқытудың бір көрінісі.
Сызба 1 Квадрат теңдеуін шешу блок-схемасы

ProgramKvadrattendey;
Var a, b, c, D: integer;
X, X1, X2: real;
Begin
Writeln (`a, b, c-engiz'); {нақты айнымалыларды шығару}
Begin
Writeln (`a, b, c-engiz');
Readln (a, b, c);
D:=sqr(b)-4*a*c;{Формуланы жазу }
Writeln(`D=', D);
If D0 then
Begin
X1:= (-b-sqrt(D))2*a;
X2:= (-b+sqrt(D))2*a;
Writeln (`X1=', X1:5:2, `X2=', X2:5:2);
End else
If D0 then
Begin
Writeln (`Теңдеудің бір түбірі бар');
X:= -b2*a;
Writeln (`X=', X:5:2); {5 орынды санды 2 орынға дөңгелектеу}
End else
Writeln (`Теңдеудің түбіріжоқ');
Readln;
End.
Есепті таңдау case операторын қолданып шешу тиімді әдістердің бірі болып табылады. Себебі мүмкін болатын жағдай екеу емес, одан да көп бола береді. Мысалы, жыл мезгілдерін анықтайтын программа құрайық .
program Мезгіл; {Кез келген атты жазуға болады}
uses CRT;
var m:Integer; {m- бүтін типті екенін көрсетеді}
BEGIN
clrscr;
writeln('Айдың аттарын енгіз:');
readln(m);
case m of
1,2,12: writeln('Қыс');
3,4,5: writeln('Көктем');
6,7,8: writeln('Жаз');
9,10,11: writeln('Күз');
end;
readln;
END.
Мынандай бір қызықты есепті енгізіп отырмыз:
Қазақша жыл қайыру алгоритміне программа құрып көрейік. Ол үшін ең алдымен төмендегідей белгілеулерді енгіземіз: Мк=13+(к-1)*12, мұндағы к=1, 2, 3, ..., Мк-мүшел сандар. Қазақ жыл қайыру күнтізбесі бойынша мүшел есебін дұрыс және тез шешу үшін мүшел жылдарының кестелік рет санын және жыл жануарлары аттарын жатқа білу шарт.
Г- қазіргі (григориандық) жыл саны, М- мүшел саны.
1- қадам: А=Г+9 2- қадам: А=12* n+к, к=0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
3- қадам: Мүшел бойынша қай жыл екенін анықтау.
Ескерту: Егер қалдық к=0 болса, онда к= доңыз жылы деп аталады.
Мүшел алгоритмнің Паскаль тіліндегі программасы:
PROGRAM GYL;
VAR А, G, к: integer;
BEGIN
Write (`G жылды енгіз'); {Туған жылды енгізу}
read(G); А: =G+9; {оған 9 санын қосамыз}
k:=Amod12; case k of {шыққан нәтижені 12-ге бөлу}
0:write (A'= доңыз жылы'); {0-жыл- доңыз жылы }
1:write (A'= тышқан жылы'); {1-жыл- тышқан жылы }
2:write (A'= сиыр жылы'); {2-жыл- сиыр жылы }
3:write (A'= барыс жылы'); {3-жыл- ,барыс жылы }
4^ write (A'= қоян жылы'); {4-жыл- қоян жылы }
5: write (A'= ұлу жылы'); {5-жыл- ұлу жылы }
6: write (A'= жылан жылы'); {6-жыл- жылан жылы }
7: write (A'= жылқы жылы'); {7-жыл- жылқы жылы }
8: write (A'= қой жылы'); {8-жыл- қой жылы }
9: write (A'= мешін жылы'); {9-жыл- мешін жылы }
10: write (A'= тауық жылы'); {10-жыл- тауық жылы }
11: write (A'= ит жылы'); end; {11-жыл- ит жылы }
end.

Циклдік құрылымды алгоритмдерді программалау

Көп жағдайда аргументтердің әртүрлі мәні бойынша алгоритмнің белгілі бір бөліктерін бірнеше рет қайталауға тура келеді. Лсындай процестерді ұйымдастыру үшін циклдік құрылымды алгоритмдер - қайталау операторлары қолданылады. Олар әр түрлі заңдылық негізіндегі ереже бойынша құрылады.
Циклдік операторлардың үш түрі бар (қосымшадағы материалдан қараңыз). Параметрлі қайталау командасының жазылу форматы:
FOR P:= NV TO KV DO A немесе
FOR P:= NV DOWNTO KV DO А, мұндағы Р-циклдік парметрі, NV- цикл параметрінің алғашқы мәні, KV- цикл параметрінің соңғы мәні, А- қарапайым немесе құрама оператор.
Бір есепті циклдік оператордың қайсысымен де шығаруға болады.
Мысалы, есептеңдер: у=х2, мұндағы х=2, 4, 6, 8, 10.
1) Цикл -әзір (While) үлгісімен құрылған программасы:
Program cikl1;
Var X,Y:Integer; {x,y - бүтін типті екенін көрсетеді}
Begin
X:=2; {алғашқы 2 мәнін меншіктейміз}
While x=10 Do{10-ға дейіні}
Begin
Y:=Sqr(X);{х-тің квадрат түбірі}
Writeln(`X=',X:3, `Y=',Y:5);
X:=X+2; {циклдің қадамы 2-ге тең}
End;
End.
2)Цикл - Repeat үлгісімен құрылған программасы:
Program cikl3;
Var x,y:Integer; {x,y - бүтін типті екенін көрсетеді}
Begin
X:=2; {алғашқы 2 мәнін меншіктейміз}
Repeat {шартты соңынан тексереді}
Y:=Sqr(x); {х-тің квадрат түбірі}
Writeln(x:3,y:5);
X:=x+2; {циклдің қадамы 2-ге тең}
Until x10;{10-нан артық}
End.
For - параметрлі қайталау оператордың жазылу түрлерін төмендегі кестеден көріп, дұрысын ажырата білуіміз керек:
Оператордың жазылуы
Нәтижесі
For k:=-1 to 6 Do Write (x, `,')
For k:=3 to 3 Do Write (x, `,')
For k:=1 to 9 Do Write (x, `,')
For k:=-1 to -6 Do Write (x, `,')
For k:=10 downto 6 Do Write (x, `,')
For k:=0 downto -1 Do Write (x, `,')
For k:=1 downto 16 Do Write (x, `,')
-1, 0, 1, 2, 3, 4, 5, 6
3
1, 2, ...,9
цикл орындалмайды
10, 9, 8, 7, 6
0, -1
цикл орындалмайды

Бір және екіөлшемді жиымдар

Жиымдар - бір атаумен белгіленген бір типті шамалардың нөмірленген тізімі. Жиымның элементтері сәйкес тібектелген ұяшықтарға орналастырылады, жиым өзінің атауымен және индексімен белгіленеді. Жиымды құрайтын әрбір мән оның элементі деп аталады.
Программада жиымға атау беріледі, ол арқылы жиымның элементін пайдалануға болады. Жиымның элементтерін құрайтын айнымалылар индексті айнымалылар деп аталады. Жиым элементтері болатын индекстер константа (тұрақты), айнымалы немесе өрнек түрінде берілу мүмкін.
Жиымға төмендегі қасиеттер тән:
1) Жиымның әр компоненті айқын түрде белгілене алады және оған тікелейқатынас бар;
2) Жиымның компоненттерінің саны онысипаттаған кездеанықталады және одан кейін өзгермейді.
Егер жиымның әрбір элементіне реттік нөмір бекітілген болса, онда жиым сызықтық деп аталады. Жалпы жиым элементінің индекстерінің саны жиымның өлшемін анықтайды. Осыған байланысты бірөлшемді (сызықтық), екіөлшемді, үшөлшемді және т.с.с. болып бөлінеді.
Мысал. Жиым элементтерінің қосындысын есептейтін программа.
Алдымен 10 нақты сан енгізіліп, олар жиым элементтері ретінде сақталады, сонан кейін енгізілген сандардың қосындысы есептеліп нәтиже ретінде шығарылады.
Programm PRIMER;
Var
M: Array[1..10] of real; {жиымды сипаттау}
I: integer;{ For операторының параметрі}
S: real;{элементтер қосындысы}
Begin
For i:=1 to 10 do{Жиымды толтыру}
Begin
Write(`Жиымның ', I, `-элементін енгізіңдер:');
Readln(m[i]);
End;
S:=0;{Қосынды санауышын тазалау}
For i:=1 to 10 do s:=s+m[i];{Қосынды есептеу}
Write(`Жиым элементтерінің қосындысы=', s);
Readln;
End.
Матрицалар жиымдардың ішінде екіөлшемді жиымдар, оларды кейде тікбұрышты (квадрат) кестелер немесе матрицалар деп атайды. Матрица элементері екі индекс арқылы сипатталады. Мысалы, мұндағы бірінші индекс - жолдың нөмірі, екіншісі - бағананың нөмірі. а1,3 - а бір бүтін оннан үш емес а бір де үш деп оқылады. Паскаль тіліндегі программада сәйкесінше а[1, 3] түріндегі құрылым қолданылады.
Матрицаларды өңдеу үшін параметрлі қабаттасқан циклдерді қолданған ыңғайлы. Төмендегі 4*5 матрицасын пернетақтадан бүтін сандармен толтыруға арналған программа фрагменті келтірілген.
For i:=1 to 4 do
For j:=1 to 5 do
Begin
Write(I, `',j, ' ');
Readln a[I, j];
End;
Turbo Pascal жүйесінде өлшемдері бірдей жиымдар үшін жиымды жиымға меншіктеу операциясын қолдануға болады.Мысалы, екі жиым төмендегідей сипатталса:
Var
A, B: array[1..50, 1..60] of real;
Онда А:=В; меншіктеу операциясын жазуға болады.

Графиктік объектілерді программалау

Графикалық режімде экранның нүктесін түрлі түске бояп, сол түстер арқылы сызықтар, мәтіндер және әр түрлі бейнелер тұрғызатын мүмкіндіктер бар. Графкалық программалау процесін тиімдірек ету мақсатында Borland International фирмасы GRAPH арнайы программалар кітапханасын жасап шығарған болатын, онда қазіргі кездегі мониторлардың барлық типтерімен жұмыс істей отырып, экранда түрлі мөлшердегі қаріптер шығара алатын драйверлер жиыны бар.
Экранда мәлімет шығаруды аппараттық жағынан сүйемелдеу екі модуль - бейнеадаптер және бейнемонитор арқылы қамтамасыз етіледі.
Жалпы бейнеадаптер екі бөліктен - электрондық сәулелік түтікше контроллерінен (CRT контроллері) және бейнебуферден тұрады. Жетілдірілген қазіргі кездегі адаптерлер бұлардан басқа графика контроллерімен де жабдықталады.
CRT (Cathod ray tube - электронды-сәулелік трубка) жиі қолданылатын модульдің бірі. CRT модулі - мәліметтерді экранға шығару, пернетақтадан енгізу, сонымен бірге дыбыстық сигналдарды басқаруға негізделген процедуралар мен функциялардан тұрады.
CRT модулі арқылы экранмен жұмыс жасағанда бүкіл экран жеке жолдарға бөлінеді. Ал әр жол жеке позицияларға бөлінеді. Әр позицияға бір символ орналастыруға болады.
Нүкте салу операторы. Экранның кез келген жеріне нүкте салуға болады, GRAPH модулінде нүкте PutPixel процедурасы арқылы салынады, оның пішімі PutPixel(X, Y: integer; color: word); мұндағы X,Y-нүкте координаталары, оның түсін анықтайды. Экран бетіндегі бұрын салынған нүктенің орнын анықтау үшін GetPixel(X, Y: integer):word; функциясы қолданылады.
Түзу сызық салу процедурасы экранда екі ұшының координаталары бойынша кесінді сызу ісін атқарады. Оның пішімі Line(X1, Y1, X2, Y2: integer); мұнда ағымдағы түс бойынша координаталары X1, Y1 нүктесінен X2, Y2 нүктесіне дейін кесінді сызылады.
Бастапқы нүкте көрсетілмесе, онда Lineto(X, Y: integer); - меңзер тұрған орыннан бастап координаталары X, Y болатын нүктеге дейін түзу сызық сызатын процедураны қолдануға болады.
LineRel(DX, DY: integer); - ағымдағы нүктеден қашықтығы координаталар өсімшесіне DX, DY сәйкес келетін жаңа нүктеге дейін түзу сызық сызады.
SetLineStyle(T, P, Th: word); сызық қалыңдығы мен стилін орнату.
Көпбұрыш сызу процедуралары көпбұрыштардың бірнеше түрін салу мүмкінігін береді, олардың түсі, стилі келісім бойынша орнатылады.
Rectangle (x1, y1, x2, y2); - сол жақ жоғарғы (х1, у1) және оң жақ төменгі төбелерінің координаталары (х2, у2) бойынша төртбұрыш сызады.
For i:=1 to 100 do
Begin
SetColor(Green); Rectangle(200, Random(300), 250, 300);
Delay(50);
ClearDevice
End.
Bar (x1, y1, x2, y2); - мұнда ағымдағы түспен іші боялған тіктөртбұрыш сызылады.
SetFillStyle (Pattern, Color: word) - объектінің ішін бояйды.
Floodfill(x, y: integer; Bor: word) - таңдалған стиль бойынша тұйық фигураның ішін бояйды.
Мысал: Әр түрлі стильмен сызылған төртбұрыштар сызу керек.
Program tortbur;
Uses graph, crt;
Var d, m: integer;
Begin
D:= detect; initgraph(d, m, `');
Setbkcolor(1);
Rectangle(150, 150, 300, 320);
Setfillstyle(8, 6);
Floodfill(160, 200, 15);
Setfillstyle(1, 3);
Bar(350, 150, 500, 320);
Readln; closegraph
End.

Процедуралар және функциялар

Практикалық есептерге программа құрғанда үлкен программаның белгілі бір бөлігін әр түрлі мәндер бойынша бірнеше рет қайталап пайдалануға тура келеді. Мұндайй бір типтес программа бөлігін программаның әр бөлігінде қайталап жаза бермеу үшін оны жеке қосалқы программа ретінде бөліп жазған ыңғайлы.
Жеке программа түрінде бөлек жазылған, қажет кезінде оған оралып, оны пайдаланып отыруға болатын негізгі программаның арнайы бөлігін қосалқы программа дейді. Қосалқы программаға автоматты түрде енуге және одан шығуға болады.
Қосалқы программаны пайдалану төмендегідей мүмкіндіктер береді:
1. негізгі программаның көлемі кішірейеді;
2. негізгі программада пайдаланылған айнымалыларды қосалқы программада пайдалануға болады;
3. қосалқы программаны пайдалану құрылымдық программалауға мүмкіндік береді.
Паскаль тілінде алгоритмдік тіл тәрізді қосалқы программаның екі түрі пайданылады. Олар: процедура және функция. Бір программада бір немесе бірнеше процедура немесе функция пайдалануға болады.
Кез келген процедура - процедура аты және процкдура мәтінінен, яғни тұлғасынан тұрады. Процедура тұлғасы негізгі программа тәрізді: айнымалыларды сипаттау және операторлар бөлімнен тұрады. Процедураны сипаттаудың жалпы түрі:
PROCEDURE аты(формальды параметрлер тізбегі);
Формальды параметрлер тізбегі процедура мен негізгі программа арасындағы байланыс үшін қажет. Тізбекте процедураның енгізілетін және шығарылатын параметрлері және олардың типтері жазылады.
Турбо Паскальда процедура тақырыбын формальды параметрлер тізбегінсіз жазуға да болады:
PROCEDURE аты;
Процедураны сипаттау өздігінен ешқандай іс-әрекет орындамайды. Процедурада жазылған операторлар орындалу үшін, негізгі программаның қажет жерінде процедураны шақыру операторын жазу керек.
Процедураны шақыру операторының жалпы түрі:
процедура аты (фактіге негізделген параметрлер тізбегі);
Процедура орындалу барысында нақты, яғни фактілі параметрлер формальді параметрлерді алмастырады. Нақты параметрлер негізінде тұрақтылар, айнымалылар және өрнек алынуы мүмкін.
Мысалы: аnдәрежесін есептеу программасын құр, мұндағы n-дәреже көрсеткіші, а-дәреже негізі. Мәндерді пернетақтадан енгізу керек.
Ең алдымен процедураға жеке программаны жазайық:
ProcedureDegree( х ,у: integer; Vаrst: Longint); { процедура аты }
Var i :integer; {Жазылу бөлігі }
Begin{ процедураның тұлғасы}
st:=1;
For i:=1 to y do
St:=st*х;
End;
Программаның толықтай жазылуы келесі түрде болады:
Program Ехатр1е;
Var a, n: Integer; s: Longint;
Procedure Degree ( х ,у:; Уаr st: Longint);
Var i : integer;
Begin
st:=1;
For i:=1 to y do
St:=st*х;
End;
Begin
Writeln(екі санды енгізу); {мәндерді енгізу }
Readln(а,n);
Degree (а,n,s); {процедураны шақыру }
Writeln ('Нәтиже ',s); {мәндерді шығару аn }
Readln;
Еnd.
Функцияның процедурадан айырмашылығы, функция жұмысының нәтижесі негізгі программаға функция мәні ретінде қайтады. Сондықтан функция үшін нәтиже типі көрсетіліп, ал функция тұлғасында сол жағында функция аты көрсетілген меншіктеу операторы болу керек.
Функция нәтижесі негізгі программаға функция аты арқылы қайтып оралатын болғандықтан, функцияны шақыруды стандартты функцияға ұқсас, өрнек операнд (аргументі) түрінде жазуға болады:
функция аты (формальды параметрлер тізбегі);
Формальды параметрлер мен фактілі параметрлер арасындағы байланыс процедурадағы байланыс ережесімен сәйкес.
Мысалы: формуласын есептейтін программа құр.
n, k -- берілген сандарды сақтау айнымалылар;
С -- нәтижені сақтау айнымалы.
Берілге формуланы есептеу үшін, n!, (n -- к)!, k! әрқайсысын жеке есептеу керек. n! Факториал санын (n!=1*2*...*n) түрде жазамыз.
Function fасtоriа1(n:intеger):Lопgint; { функцияның аты}
Vari: integer; rez: longint; {жазылу бөлігі }
Begin{ функция тұлғасы}
Rez:=1;
For i:=1 То n do
Rez:=rez * i;
fасtоriа1:=rez; { функция мәндерін меншіктеу}
Еnd;
Енді программаны құрайық:
РrogramЕхатр1е_1;
Уаrn,к: integer; а1, а2, а3, с: lопgint;
Functionfасtоriаl (n :intеger):Lопgint; { функцияның аты }
VarI: integer; rez: longint; { жазылу бөлігі}
Begin{функция тұлғасы }
Rez:=1;
For i:=1 То n do
Rez:=:rez*i;
fасtоriа1:=rez; { функция мәндерін меншіктеу }
Еnd;
Begin
Writeln(' n және k мәндерін енгізу, Сnk `);
Readl n(n, k) ;
а1:=fасtorial(n); { n.'-ді есептеу}
а2:= fасtorial(k);{ k! -ді есептеу }
аЗ:= fасtorial(п (n-k); { (n- k)! -ді есептеу }
с:=а1div (а2 * аЗ); {нәтиже }
writeln (c);
end.

Символдық шамалармен жұмыс жасау

Турбо Паскаль жүйесінде мәтіндік мәліметтер мәндердің екі түрлі типімен берілуі мүмкін: символдық (CHAR) және жолдық немесе тіркестік (STRING). Тіркес - бұл символдар тізбегі.
Компьютердің ішкі жадында әр символ 1 байт орын алады.
Мәндерді енгізгенде кез келген сан емес перненің барлығы символ ретінде қабылданатындығын есте сақтау керек. Сонымен бірге Enter пернесі де символ ретінде қабылданады.
1-Мысал. a='I'; b='_'; c='j ` айнымалыларын енгізуді және экранға шығаруды ұйымдастыратын программа фрагменті
Program stroki;
Var a, b, c: char;
Begin
Writeln(`Бастапқы мәндерді енгізіңдер');
Readln(a, b, c);
Write(a, b, c);
Writeln;
End.
Пернетақтадан символдарды енгізгенде апострофсыз тереміз:
I_ j Enter
Нәтиже: I_ j
Турбо Паскаль жүйесінде символдар реттеоген, сондықтан оларға қатынас (, , =, =, =) операцияларын қолдануға болады. Бұл шартты операторда символдық мәндер арқылы логикалық өрнектер жазуға мүмкіндік береді, мысалы:
If ch='!' then ch:='.';
Символдық мәндер үшін параметрлі For операторын қолдануға болады.
For ch:='a' to `d' write(ch);
Writeln;
Нәтижесінде экранда abcd символдары тізбегі шығады.

1.2. Орта мектепте программалау тілін оқытудың орны
Қандай программалау тілін оқыту және сол кезде қандай әдістерді қолдану мүлдем басқа мәселе болып табылады.
Осы уақытқа дейін бұл мәселе негізінен төмендегідей жолмен шешіліп келді:
* мектепте қандай да бір нақты программалар тілі оқытылды;
* тілді таңдау программаның талаптарымен анықталды (көп жағдайда бұл Бейсик тілі болды) немесе компьютердің маркасына және оқушының даярлығына қарай басқа тілдер (мысалға, Фортран) оқытылды;
* тиісті техникалық базасы бар және оқытушылары информатика оқытудағы өз әдістемелерін әзірлеп жүрген жекелеген мектептерде программалаудың неғұрлым жаңа құралдары(мысалы, Турбо Паскаль) оқытылды.
Қазіргі уақытта мектепке жаңа компьютерлер келген кезеңде программалау жүйелерін таңдау мүмкіндіктерінің шеңбері біршама кеңейді. Бұл Turbo Pascal 7.0,Visual Basic, Delphi, C++. Бұл тізімді әрі қарай да жалғастыра беруге болады.
Алайда мектепте оқыту үшін программалаудың қандайда бір жеке жүйесін таңдау осы жүйеге тән қатаң таптаурындар (стереотиптер) туғызатына және оқушының бұған дейін Basic тіліне бауыр басып кеткені сияқты басқа да жүйеге де үйреніп кеткені айдан анық болды.Тығырықтан шығар жол қайда?
Мұның шығар жолы - программалаудың қандай да бір жеке жүйесін оқытуда емес, жалпы алғанда программалау негіздерін меңгеруде, және атап айтқанда, қандай да бір программалау жүйесіндегі негізгі ұстамдармен (принциптерімен) танысуда. Сондықтанда оқушыларда таныс алгоритмдік тілдің көмегі арқылы программалаудың әдістерімен таныстырған дұрыс.
Сонымен, орта мектепте информатика курсын оқытудың мақсатына сай, алгоритмдеу мен программалау бастамасының міндетіне мыналар кіреді:
1. ЭЕМ-ның көмегімен шешуге арналған есептің қойылу техникасы жайлы ұғымды түсіндіру;
2. әртүрлі мектеп пәндерінен қарапайым есептерді шешу әдісі мен моделін таңдау;
3. физика, математика және басқа да сабақтар бойынша ЭЕМ-де есептер шығаруға қарапайым алгоритм құру іскерлігін қалыптастыру;
4. қандай да бір программалау тілінде қарапайым программа құрып, оны есептегіш машинада жүргізу іскерлігін қалыптастыру;
5. қазіргі есептегіш техниканың негізгі мүмкіндіктері мен оның даму болашағы жайлы білім беру;
6. ЭЕМ-нан алынған нәтижені талдау іскерлігін қалыптастыру.
Мұндай программаны жүзеге асыруды әдістемелік негізі ретінде ЭЕМ-де есеп шығаруға дайындалу іс - әрекетін былай көрсетуге болады:
есеп тәсіл
қойылымы әдіс
сценарий алгоритм
ЭЕМ программа
Кез келген есепті компьютер көмегімен шығару жұмысын келесі этаптарға бөлуге болады.
1. Есептің математикалық қойылымы;
2. Таңдалған есепті қалыптастыру;
3. Есептің алгоритмін құру.
4. Программалау тілінде программа құру;
5. Программаны тестілеу және тексеру;
6. Алынған нәтижелерді есептеу және сараптау.
Бұл тізбекті ЭЕМ-да есепті шығарудың технологиялық тізбегі деп атайды.

1.3. Орта мектеп оқушыларын компьютерде программалау дағдысына баулу.
Бұдан бірнеше жыл бұрын ғана программалауды сауаттылықпен салыстыру заңсыз болып көрінер еді. Қазір "Информатика және есептеу техникасы негіздері" пәні әрбір мектепте оқытылып жатқан кезде, мұндай салыстыру бізге осы пәнді меңгеру қазіргі заман адамының жалпы мәдениеттік білімінде қандай орын алатынын және болашақтағы оның қандай рөл атқаратынын түсінуге көмектеседі. Бір ескертетініміз, пайдаланудағы жалпы икемдік деген кең мағынада түсінеміз.
Егер сауаттылықтың өзіндік пайда болуы және дамуы бар тарихи категория екенін ескерсек, онда программалауды сауаттылықпен салыстыру оңайырақ.
Алайда, осындай қарқында дамудың алдында бір маңызды кедергі бар. Қазіргі кезде адамның машинаға білім беру қабілеті сол машинаны жасау мен салыстығанда көп артта қалып келеді.Егер микропроцессор мен микроЭЕМ жасауға кететін қоғамдық еңбек шығыны адам-сағатпен есептелетін болса, онда программалық жабдықтарға кететін шығын әлі күнге дейін адам- ай және адам жыл өлшемдерімен есептеледі. Программалау мамандары программалаушы еңбегін бұдан өнімдірек ету жолында аянбай еңбек етуде. Алайда, олар қазіргі дәстүрлі программа жасау процесіндегі еңбек өнімділігін он есе арттыруға қажетті жағдай жасай алғанның өзінде, қарапайым есептеулер бойынша шамамен жиырма жылдан кейін, барлық микропроцессорларды программалармен қамтамассыз ету үшін жер шарындағы барлық ересек адамдар программалаумен айналасуы керек болады. Өздерінің қиялдау күші XXI ғасырда қамтыған фантастардың айтуынша, болашақта нақты ғылымдарды білмейтін адамды есеп және жазумен "Хатшыларым айналысады" деп шірене сөйлейтін орта ғасырлық сауатсыз баронмен салыстыруға болады.
Программалаумен де тура осылай болуға тиіс. Ғылымда, өндірісте және т.б. қай салада болса да жұмыс істейтін әрбір маман ЭЕМ-ді тиімді пайдалана және программалай алуы тиіс, міне екінші сауаттылық дегеніміз осы.
Сонымен, біз машиналар әлемінен программалар әлеміне ауысамыз.
Француз жазушысы Мольердің кейіпкері месье Журден өзінің өмір бойы прозамен сөйлеуін байқамағанын білгенде қатты таң қалады. ЭЕМ-нің шығуы және соған байланысты есептеу ғылымының пайда болуы арқасында адамзат сол месье Журденнің жағдайыны тап болып, өзінің программалар әлемінде өмір сүріп жатқанын сезінеді.
Иә, біз программалар әлемінде өмір сүреміз, өзіміз сезбесек те әрқашан программалаумен айналысамыз. XX ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
ИНФОРМАТИКАНЫ ОРТА МЕКТЕПТЕ ОҚЫТУДЫҢ ТЕОРИЯЛЫҚ-ӘДІСТЕМЕЛІК НЕГІЗДЕРІ
Паскаль тілінің операторлары
Программалауды оқытудың әдістері мен тәсілдері
Программалау тілінде программа құру
Алгоритм тілін оқыту әдістемесі
Информация, информатика
Паскаль тілін оқытуды интерактивті тақта арқылы ұйымдастыруды программалау
Жаратылыстану-математикалық бағытта бейіндік оқытудың әдістемелік ерекшеліктері
Turbo Pascal тілінде программа дайындау жолдары
ИНФОРМАТИКАНЫ ОҚЫТУДЫҢ ӘДІСТЕМЕСІ ПӘНІНІҢ ОҚУ-ӘДІСТЕМЕЛІК КЕШЕНІ
Пәндер