Паскаль – бағдарламалау тілі



Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3

І . Паскаль . бағдарламалау тілі
1.1 Паскаль бағдарламалау тілі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..6
1.2 Паскаль тіліндегі операторлар бөлімі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7

ІІ. Рекурсивті алгоритм
2.1. Рекурсивтік алгоритмдер және рекурсивтік анықтамалар ... ... ... ... ... ... 29
2.2. Рекурсивтік ішкі программалар және оларды пайдалану ... ... ... ... ... ... 31
2.3. Іріктеу есептері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..40

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...49

Пайдаланылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .50
Компьютерде шығарылатын есептердің күрделенуіне байланысты программалардың көлемі өсіп, оларды жазу, оқу, түзету күннен-күнге қиындап келеді. Белгілі бір өндірістік мәселенің мезгіл – мезгіл қайталанып отыратын есептеу программалары ұзақ уақыт пайдаланылады, олар күнделікті өмір талабына сәйкес өзгертіліп, түзетіліп отыруы тиіс. Осыған байланысты программа құруды, түсінуді, өзгертуді жеңілдететін тәсілдер жасалған, олар құрылымдық (структуралық) программалау деп аталады.
Программа адамның түсінуі мен қабылдауына ыңғайлы жүргізуге бағытталған тәсілдер жиынын құрылымдық программалау деп атайды. Әрбір программа бөліктері бір – бірімен тығыз логикалық байланыста болады, оның бір жерінен екінші бір жеріне «секіру» болмауы тиіс.
Құрылымдық программалау – goto операторынсыз программалау болып саналады, яғни шартсыз көшу операторын мүмкіндігінше пайдаланбау керек. Сол себепті программа бөліктері соларда көрсетілген тәртіп бойынша мәліметтерді өңдеу ережесін орындайтын логикалық құрылымдардан тұрады. Кез келген программа саны шектеулі стандартты логикалық құрылымдардан құралады. Негізгі логикалық құрылымдар туралы бұдан бұрын айтылған болатын, олар:
Сызықтық құрылым - операторлардың немесе олардың топтарының жазылу реттілігімен тізбектеле орындалуы;
Тармақталу – берілген шарттың орындалуы – орындалмауы бойынша алдын ала көрсетілген бірнеше (көбінесе екі) мүмкіндіктің бірін таңдауды жүзеге асыратын басқару құрылымы;
Қайталау – көрсетілген шарттың орындалуына байланысты операторлар тобының циклде қайталануы.
Бұл құрылымдардың ең басты ерекшелігі – олардың орындалу алгоритмдерінің бір кіріс және тек бір шығыс сығызы болады. Мұндағы әрбір құрылымдық бірлік – бір оператордан, біріктірілген операторлар тобынан немесе қабаттастырылған құрылысдардан да тұруы мүмкін.
Қазіргі кездегі программалау технологиясы «жоғарыдан төмен қарай» орындалатын әрекеттерді біртіндеп айқындау тәсілін кең пайдаланады. Осы технологияға сәйкес күрделі есептің белгілі бір бөлігі тәуелсіз қарастыруға, шығаруға болатын блок – қосалқы программа ретінде құрылуы мүмкін. Осындай құрылымда күрделі программаны – сатылы түрде жинақталған тәуелсіз қосалқы программадан құруға болады.
Әдетте, циклден тыс кейбір әрекеттер тізбегін программаның бірнеше жерінде қайталауға тура келеді. Практикалық есептерге программа құрғанда үлкен программаның белгілі бір бөлігін әр түрлі мәндер бойынша бірнеше рет пайдалануға тура келеді. Мұндай бір типтес программа бөлігін программаның әр бөлігінде қайталап жаза бермеу үшін оны жеке қосалқы программа ретінде бөліп жазған ыңғайлы.
Жеке программа түрінде бөлек жазылған, қажет кезінде оған оралып, оны пайдаланып отыруға болатын негізгі программаның арнайы бөлігін көмекші немесе қосалқы программа (подпрограмма) дейді. Қосалқы программада бірнеше операциялардың біріге отырып толық орындалуын қадағалап, программаның негізгі бөлігінде оның тек атын көрсету арқылы бір рет орындаумен шектелуге болады:
• негізгі программаның көлемі кішірейеді;
• негізгі программада пайдаланылған айнымалыларды қосалқы программада пайдалануға болады;
• қосалқы программаға берілген жады ұяшықтарын ол орындалмай тұрғанда, бос ұяшық ретінде (бос айнымалы ретінде) пайдалануға болады;
• қосалқы программаны пайдалану құрылымдық программалауға мүмкіндік береді.
Құрамында қосалқы программалар тәрізді құрылымдық программалау жабдығы бар Турбо Паскаль тілі процедураға бағытталған тіл деп аталып жүр.
Қайталанатын әрекеттерді қайта жазып көшіруге көп уақыт кетірмеу үшін Турбо Паскальда қосалқы программалар ретінде функциялар мен процедураларды қолданылады. Процедуралардың циклдерден айырмашылығы, олар программаның әр жерінде оператор тізбегі өзгермей, тек бір рет қайталанып отырады, яғни әр пайдалану кезінде бір рет қана орындалады.
Пайдаланылған әдебиеттер

1.В.Б.Попов. Турбо Паскаль. Для школников. М:. «Финансы и статистика» 2001. 528 стр.
2.Г.Григас.Начало программирования.Книга для учащихся. Москва. «Просвещение». 1987. 110 стр.
3.С.А.Абрамов. Е.В.Зима «Начало программирования на языке Паскаля. Москва . «Наука» Главная редакция физика-математической литературы. 1987. 112 стр.
4.В.Н.Кирнос. Язык Паскаль и численные методы. Учебное пособие для студентов технических специальностей ВУЗов. Кокшетау 2004. Изд. Келешек. 254 стр
5. Б.Қ .Науысбеков, Е.Қ .Балапанов, К.З.Халықова, А.Б.Дәулетқұлов. Паскаль тілінің негіздері. Әдістемелік құрал. Алматы: Рауан, 1998-128 бет.
6.А.Б.Дәулетқұлов , С.С.Алғазы. Паскаль тілінде программалау негіздері:Алгоритмдеу және программалау. Методикалық құрал.-Алматы: ЖТИ, 2005-154 бет.
7.Б.Бөрібаев. Р.М.Дүзбаева , А.М.Махметова. Информатика және есептеуіш техника негіздері. Есептер мен жаттығулар жинағы. Жалпы білім беретін мектептің 9-сыныбына арналған оқу құралы. Алматы «Мектеп» 2005:-104 бет
8.Йенсен К., Вирт Н. Руководство для пользователя и описание языка. – М., 1982. 151 с.
9. Пильщиков В.Н. Сборник упражнений по языку Паскаль. – М.: Наука, 1989. – 160 с.
10.Грэхем Р. Практический курс языка Паскаль. – М.: Радио и связь. 1986 – 200 с.
11. Бутомо И.Д., Самочадин А.В., Усанова Д.В. Программирование на алгоритмическом языке Паскаль. – Л.: Издательство Ленинградского университета, 1985. – 216 с.
12. Абрамов В.Г., Трифонов Н.П. Введение в язык Паскаль. – М. :Наука, 1988.-320 с.
13. Рашбаев Ж.М. Функция,процедура және рекурсия.Әдістемелік нұсқау-Атырау:АМУ ЖАТО.2002
14.Динисламов Ж. Turbo Pascal 6.0.ортасында программалау-II.Оқу құралы.-Қызылорда-2002. 140-бет.

Мазмұны

Кіріспе
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ..3
І . Паскаль – бағдарламалау тілі
1.1 Паскаль бағдарламалау
тілі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ..6
1.2 Паскаль тіліндегі операторлар
бөлімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... 7
ІІ. Рекурсивті алгоритм
2.1. Рекурсивтік алгоритмдер және рекурсивтік
анықтамалар ... ... ... ... ... ... 29
2.2. Рекурсивтік ішкі программалар және оларды пайдалану
... ... ... ... ... ... 31
2.3. Іріктеу
есептері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ..40
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... .49
Пайдаланылған
әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ...50

Кіріспе

Компьютерде шығарылатын есептердің күрделенуіне байланысты
программалардың көлемі өсіп, оларды жазу, оқу, түзету күннен-күнге
қиындап келеді. Белгілі бір өндірістік мәселенің мезгіл – мезгіл
қайталанып отыратын есептеу программалары ұзақ уақыт пайдаланылады,
олар күнделікті өмір талабына сәйкес өзгертіліп, түзетіліп отыруы
тиіс. Осыған байланысты программа құруды, түсінуді, өзгертуді
жеңілдететін тәсілдер жасалған, олар құрылымдық (структуралық)
программалау деп аталады.
Программа адамның түсінуі мен қабылдауына ыңғайлы жүргізуге
бағытталған тәсілдер жиынын құрылымдық программалау деп атайды. Әрбір
программа бөліктері бір – бірімен тығыз логикалық байланыста болады,
оның бір жерінен екінші бір жеріне секіру болмауы тиіс.
Құрылымдық программалау – goto операторынсыз программалау болып
саналады, яғни шартсыз көшу операторын мүмкіндігінше пайдаланбау
керек. Сол себепті программа бөліктері соларда көрсетілген тәртіп
бойынша мәліметтерді өңдеу ережесін орындайтын логикалық
құрылымдардан тұрады. Кез келген программа саны шектеулі стандартты
логикалық құрылымдардан құралады. Негізгі логикалық құрылымдар туралы
бұдан бұрын айтылған болатын, олар:
Сызықтық құрылым - операторлардың немесе олардың топтарының жазылу
реттілігімен тізбектеле орындалуы;
Тармақталу – берілген шарттың орындалуы – орындалмауы бойынша алдын
ала көрсетілген бірнеше (көбінесе екі) мүмкіндіктің бірін таңдауды
жүзеге асыратын басқару құрылымы;
Қайталау – көрсетілген шарттың орындалуына байланысты операторлар
тобының циклде қайталануы.
Бұл құрылымдардың ең басты ерекшелігі – олардың орындалу
алгоритмдерінің бір кіріс және тек бір шығыс сығызы болады. Мұндағы
әрбір құрылымдық бірлік – бір оператордан, біріктірілген операторлар
тобынан немесе қабаттастырылған құрылысдардан да тұруы мүмкін.
Қазіргі кездегі программалау технологиясы жоғарыдан төмен қарай
орындалатын әрекеттерді біртіндеп айқындау тәсілін кең пайдаланады.
Осы технологияға сәйкес күрделі есептің белгілі бір бөлігі тәуелсіз
қарастыруға, шығаруға болатын блок – қосалқы программа ретінде
құрылуы мүмкін. Осындай құрылымда күрделі программаны – сатылы түрде
жинақталған тәуелсіз қосалқы программадан құруға болады.
Әдетте, циклден тыс кейбір әрекеттер тізбегін программаның
бірнеше жерінде қайталауға тура келеді. Практикалық есептерге
программа құрғанда үлкен программаның белгілі бір бөлігін әр түрлі мәндер
бойынша бірнеше рет пайдалануға тура келеді. Мұндай бір типтес программа
бөлігін программаның әр бөлігінде қайталап жаза бермеу үшін оны
жеке қосалқы программа ретінде бөліп жазған ыңғайлы.
Жеке программа түрінде бөлек жазылған, қажет кезінде оған
оралып, оны пайдаланып отыруға болатын негізгі программаның арнайы
бөлігін көмекші немесе қосалқы программа (подпрограмма) дейді. Қосалқы
программада бірнеше операциялардың біріге отырып толық орындалуын
қадағалап, программаның негізгі бөлігінде оның тек атын көрсету
арқылы бір рет орындаумен шектелуге болады:
• негізгі программаның көлемі кішірейеді;
• негізгі программада пайдаланылған айнымалыларды қосалқы
программада пайдалануға болады;
• қосалқы программаға берілген жады ұяшықтарын ол орындалмай
тұрғанда, бос ұяшық ретінде (бос айнымалы ретінде) пайдалануға
болады;
• қосалқы программаны пайдалану құрылымдық программалауға
мүмкіндік береді.
Құрамында қосалқы программалар тәрізді құрылымдық программалау жабдығы
бар Турбо Паскаль тілі процедураға бағытталған тіл деп аталып
жүр.
Қайталанатын әрекеттерді қайта жазып көшіруге көп уақыт
кетірмеу үшін Турбо Паскальда қосалқы программалар ретінде
функциялар мен процедураларды қолданылады. Процедуралардың циклдерден
айырмашылығы, олар программаның әр жерінде оператор тізбегі өзгермей,
тек бір рет қайталанып отырады, яғни әр пайдалану кезінде бір рет
қана орындалады.

І. Паскаль – бағдарламалау тілі
1.1 Паскаль бағдарламалау тілі

Паскаль бағдарламалау тілі (француз математигі және философы Блез
Паскальдің (1623-1662) құрметіне) 1968-1971 ж.ж Информатика Институты
Швейцариялық жоғарғы политехникалық мектептің директоры, профессор Никлаус
Вирттың еңбегімен құрастырылған. Паскаль тілі алғашында бағдарламаны
жүйелік деңгейде оқу үшін, кейіннен кеңейтілген көлемде кәсіби
бағдарламалау құралы болып құрастырылды.
Бұл Паскаль бағдарламалау тілін баѓдарламашылар кең көлемде
пайдалануға төмендегідей себептер себепші болды:
✓ Паскаль өзінің тиімді, жинақты сипаттамасының арқасында үйренуге
жеңіл әрі оңай;
✓ Паскаль бағдарламалау тілі программистерге басты концепциялы
алгоритмдер мен бағдарламаны жобалау үшін фундаментальді, жеңіл және
соншалықты тиімді құрал болды;
✓ Паскаль тілі мәліметтер мен бағдарламалық жобаның құрылымын анық
және айқын көрсете білді;
✓ Паскаль тілі бағдарламаның дұрыстығын дәлелдейтін әдістемелік құрал
ретінде үлкен орын алды және осы бағдарламаның дұрыстығын дәлелдеуді
программаның өздік басқару тәсілі арқылы дәлелдеді;
✓ Паскаль тілін қолдану өңделетін бағдарламаның Паскаль талаптарына
сай болуын ескеруі тиіс:
a) Аралас бағдарламадағы сипаттамаға
b) Бағдарламаның орындалмаған кездегі компиляциясына сай болуын тексеру.
✓ Паскаль тілі қолданылуына қарай қарапайым да жеңіл екі түрге
бөлінді: циклді және тармақты.

1.2 Паскаль тіліндегі операторлар бөлімі

Программаға енетін айнымалылар мен тұрақтыларды сандарды пайдаланып
түрлі әрекет орындай алатын сөйлемдерді Паскаль тілінде операторлар, ал
алгоритмдік тілде командалар деп атайды.Операторларды қарапайым және
күрделі деп екі топқа бөледі.Begin және end түйінді сөздерді операторлық
жақшалар деп аталады.Сәйкесінше begin-ашылатын, end-жабылатын
жақшалар.Оператор дегеніміз-алгоритмді жүзеге асыру барысында орындалатын
іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі.Олар жазылу ретіне қарай
біртіндеп бірінен кейін бірі тізбектей орындалады.Операторлар бір бірінен
нүктелі үтір(;) арқылы бөлініп жазылады.Оқуға,түсінуге қолайлы болу үшін
бір жолға бір оператор жазылады.Қағазға программа мәтінін басып шығарарда
орын үнемдеу үшін немесе экран бетіне көбірек символ жазу мақсатында бір
жолға бірнеше операторжазуға да болады.Бірақ бір жолға орналасатын
операторларды құраушы символдар саны 256 символдан артпауы қажет.
Сонымен операторлардың жалпы жазылу түрі төмендегідей болады.
BEGIN
1-оператор;
2-оператор;
... ... ... ... ..;
n-1-оператор;
n-оператор
END.
{соңында; немесе.}
Құрама немесе күрделі операторлар бірнеше қарапайым операторлардан
құралып,бір оператор сияқты орындалады.Осындай құрама операторлар
операторлық жақша болып саналатын BEGIN және END сөздері арасына
жазылады.Жол арасына не соңына жүйелі жақшаға ({})немесе(**) алынған
түсініктеме сөздер жазуға болады.Түсініктеме сөздерді орыс,қазақ сондай-ақ
кез келген ұлттық алфавит әріптерімен жазуға болады.
Операторларды пайдаланып айнымалыға мән меншіктеуге, берілген
мәліметтерге амалдар қолдануға,программаны басқаруға,мәндер енгізуге және
шығаруға,процедуралар мен функцияларды орындауға болады.
Паскаль тіліндегі опреаторлар қарапайым және құрама күрделі құрылымды
болып екіге бөлінеді.
Қарапайым операторлар деп құрамына басқа операторлар енбейтін
меншіктеу,шартсыз көшіру,процедура шақыру операторларды айтады.
Құрама операторлар бірнеше операторлардан құралады,оларға: шартты
операторлар,таңдау операторы,қайталау операторлары
жатады.Сонымен,операторлар орындайтын қызметіне байланысты жіктелуін
көрсетеді.
Программа тақырыбына мысал келтіреміз.
PROGRAM атау (INPUT, OUTPUT);
түрінде болуы тиіс.
Кез келген программада INPUT және OUTPUT стандартты процедуралар
қолданылатындықтан,оларды жазбауға да болады.Ал егер программада басқа
стандартты пайдаланылатын болса,олардың атаулары программа атауынан соң
жақша ішіне үтір арқылы бөлініп жазылады.
Программаның сипаттау бөлігінде аталып өткен 7 түрлі сипаттаудың
барлығының да болуы шарт емес көбінесе,тек var-айнымалыларды сипаттау
бөлігі және begin,end сөздерімен қоршаған операторлар бөлімінің болуы
міндетті.
Паскаль тілінің қарапайым операторлары
Қарапайым операторлар құрамына ішіне басқа бір оператор енбейді.Ал
күрделі операторлар ішіне бірнеше қарапайым операторлар еніп тұруы мүмкін.
Программалау тілдерінің қарапайым операторларына:меншіктеу,шартсыз
көшу,енгізу-шығару операторлары мен бос оператор және процедураларды
орындау шақыру операторлары жатады.
Ал күрделі немесе құрама операторларға: шартты көшу,қайталау цикл,
таңдау,жалғастыру, тіркестіру т.б.операторлар жатады.
Меншіктеу операторы.Меншіктеу операторы барлық тілде пайдаланылатын
негізгі оператор болып табылады.Математикадағы қарапайым теңдеу тәрізді
айнымалыларға сандық символдық та болуы мүмкін мән беру бұл жағдайда
меншіктеу операторы деп аталады.
Меншіктеу операторы жазылған өрнектің мәнін есептеп,оны айнымалыға
меншіктеу үшін қолданылады.Өрнек мәнінің типі айнымалының типіне міндетті
түрде сәйкес келуі тиіс.Кейде нақты түрдегі айнымалыға бүтін сан мәнінің
меншіктеуге болады,ондайда бүтін сан нақты санға айналып кетеді.Меншіктеу
операторының жазылу ережесі пішімі төмендегідей болады:
айнымалы атауы;=өрнек;
мұндағы айнымалы атауы-айнымалы идентификаторы, :=- меншіктеу белгісі
яғни айнымалының мәні өрнектің есептелген сан мәнін қабылдайды;
өрнек -арифметикалық өрнек немесе сан.
Бұл оператор екі міндет атқарады:
1.Айнымалылардың белгілі мәндері бойынша арифметикалық өрнектің
сандық мәнін есептейді.
2.Табылған мән айнымалы атауына меншіктеледі яғни анықталған мән сол
айнымалыға сәйкес компьютер жады ұяшығына орналасады.Мұнда әдеттегі теңдік
белгісі мен программалау тіліндегі меншіктеу белгісін шатастырмау
қажет.Олар ұқсас болғанымен, мағынасы жағынан өзгеше.
Мысалы,х=5өрнегі х-тің мәні 5-ке тең дегенді білдіреді де, х:=x+3
өрнегінің дұрыс мағынасы жоқ.Ал х:=5 өрнегі x айнымалысына арналған ұяшыққа
5 санын жазамыз дегенді білдіреді.Ал енді х:= х+3 өрнегі де дұрыс, өйткені
бұл бұрынғы х ұяшығында тұрған санға 3 санын қосып х ұяшығына қайта
орналастыру дегенді білдіреді.
Меншіктеу операторы тек арифметикалық өрнектер үшін ғана емес
логикалық және символдық өрнектер үшін қолданылады.
Мысалы,егер К:=A AND B,мұндағы А-ақиқат, ал В-жалған болса, онда К жалған
мән қабылдайды.К ақиқат мән қабылдау үшін А және В мәндері бірдей ақиқат
болуы қажет, өйткені AND сөзі ЖӘНЕ деген ұғымды білдіреді.
Символдық мән арқашанда апостроф алгоритмдік тілде қос тырнақша ішіне
алынып жазылады.
Меншіктеу операторын пайдаланғанда айнымалы атауының типі мен
қабылдайтын мәннің типі бірдей болуы қажет.
Себебі оператордың оң жағындағы өзнек логикалық типте,ал айнымалы
сипатталуы бойынша нақты типте деп көрсетілген.
1-мысал.Берілген өрнектердің қайсысы меншіктеу операторы болатыны немесе
болмайтыны көрсетіліп, оған түсінік берілген.
Өрнек Түсініктеме
a:=b болады
a=c+1 болмайды, орнына алынған
a:b-sqr(4) болмайды, орнына алынған
a*x+b:=0 болмайды,сол жақта орнына өрнек алынған
z:=0 болады
z:=z+5 болмайды 1.4 орнына 1,4 алынған
z:=z+1,4 болады
z:=z болмайды, мол жақтағы атаудың таңбасы
-z:=y болмауы тиіс

2-мысал. Орналасу тәртібі төмендегідей:
а)К:=К+М;
М:=2*М;
ә)М:=2*М;
К:=К+М;
бірнеше операторлар берілген.
К мен М-нің кез келген бастапқы мәндерінде а) және ә) пунктерінде К мен М-
нің соңғы мәндері бірдей болама.
Жауабы: М-нің мәні бірдей,ал К-нің мәні әртүрлі болады.Себебі, К=2,M=4
деген бастапқы мән берсек, онда
а)орналасуы бойынша:
К:=К+М=2+4=6; К=6,ал М:=2*M=2*4=8, M=8 болады;
ә) орналасуы бойынша:
М:=2*M=2*4=8; K:=K+M=2+8=10;K=10 болады.
Бұл мысалдан операторлардың орналасу тәртібін қалауымызша өзгерте беруге
болмайтығын көруге болады.
Көшу операторы. Көшу немесе шартсыз көшу операторы операторлардың рет-
ретімен орналасуын бұзып,келесі атқарылуды,яғни белгісі бар операторға
көшуді орындайды.Бұл оператор GOTO көшу түйінді сөзінен басталады да, одан
кейін LABEL бөлімінде сипатталған белгі атауы жазылады.Көшу операторының
пішімі:
GOTOбелгі;
мұндағыбелгі-LABEL бөлімінде сипатталған белгінің біреуі.
Жоғарыда айтылғандай программадағы белгі, белгіленетін оператордан қос
нүкте арқылы бөлініп жазылады.Мысалы,белгі бөлігінде:
LABEL 20 SUM;
берілсе, онда GOTO операторында тек осы белгілер ғана пайдаланылады,яғни
GOTO 20;
немесе
GOTO SUM;
Жалпы дұрыс құрылған программалау ережесі бойынша шартсыз көшу
операторын қолданбауға тырысу керек.Ол программаны оқуды,мәтінін түсінуді
қиындатады.Сондықтан оны барынша аз қолдануға тырысамыз.
Осы оператор пайдаланылған жағдайда опсыз программа құру мүмкін
болмаса,оны программа мәтіні бойынша тек төмен қарай көшу үшін пайдаланған
жөн; бұл операторды кері қайту үшін қолдану қажет болса,цикл операторының
алмастыруға тырысу керек;
белгі тұрған орын мен көшу операторының арасы мәтін бойынша бір беттен
немесе дисплей экраны биіктігінен артпауы тиіс.
GOTO операторын қолданған кезде, оның қатарына пішімді жақша ішіне
неліктен басқа қатарға көшу қажет екендігін түсіндіріп кету керек немесе
оның орнына кейінірек көрсетілетін шартты көшу операторын пайдаланған жөн.
Бос оператор. Бос оператор ешқандай да әрекеттің орындалмайтынын
көрсетеді.Ол программа блогынан шықпай-ақ бірнеше жолды орындамай өткізіп
жіберіп,блок соңына бірден көшетін кезде пайдаланылады.Мұндайда END сөзінің
алдына белгі жазылып, соңына қос нүкте қойылады.
Кейде бос оператор begin end сөздерінен немесе ешбір мәнді өзгертпейтін
өрнектен тұрады.
Бос оператор ешқандай да амал орындамайды. Бос оператор қалдырылып кеткен
жоқ оператордың орнын белгілеу үшін пайдаланылады.
Сандық мәліметтерді енгізу операторы. Берілген мәндерді айнымалыға беру
үшін меншіктеу операторын пайдалануға болады. Мысалы,А:=-15; ВЕС:=16.4;т.б.
Бірақ бұл жағдайда программада жалпылық қасиет болмайды, яғни ол тек
көрсетілген мәндер мәндер үшін ғана есептеу жұмысын жүргізіп, қалған кез
келген мәндер үшін ғана есептеу жұмысын жүргізіп, қалған кез келген мәндер
үшін дұрыс нәтиже бермейді. Программаны дұрыс әрі әмбебап етіп жасау үшін
айнымалылардың мәндері өзгерілетін түрде жасалып, олар пернелерден
енгізілуі қажет, мұндайда программа айнымалының әр түрлі мәндері үшін дұрыс
жұмыс атқара алады.Паскаль тілінде мәліметтерді енгізу және шығару үшін
яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала
анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді
Input файлынан алады да, алынған нәтижені Output файлына орналастырады.
Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей
экраны саналады. Ол үшін енгізу операторы пайдаланылады.Паскаль тілінде
мәлімет енгізетін READ- ағылшынша оқу операторының жалпы түрі пішімі
төмендегідей:
READ (a1,a2,...,an);
READLN (a1,a2,...,an);
READLN;
Мұндағы а1,а2,...,an- айнымалы атаулары, оларды енгізу операторының
параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың
мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген
соң, курсорды келесі қатарға көшірмейді. Ал readln алдыңғы оператордағыдай
пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп
жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей,
тек курсорды келесі қатарға көшіруді ғана атқарады.
Енгізілетін айнымалылардың мәндері integer, real, char немесе string
типтеріне жатуы мүмкін.Логикалық айнымалалардың мәндері
енгізілмейді.Айнымалылар мәндері өз типтеріне сәйкес Паскаль тілінің
ережесі бойынша енгізіледі.Егер ол шарт бұзылса, онда экранға енгізу-шығару
қатесі шығады.READ операторы орындалғанда параметрлер өздеріне сәйкес
мәндерді қабылдайды,бұл мәндер INPUT енгізу файлы арқылы жүзеге
асырылады.Параметрлер жаңа мән қабылдағанда,оларда бұрын орналасқан ескі
мән өшіріліп,орнына жаңа мәндер жазылып отырылады да программа параметрдің
жаңа мәні бойынша жұмыс атқарады.Алғашқы нұсқасында мәлімет енгізу дұрыс
орындалады,өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар
типтеріне сәйкес келіп тұрады,себебі real типтес I айнымалысы үшін char
типіндегі мән енгізіліп отыр.
Егер енгізу пернетақта арқылы емес,дискіден арқылы емес,дискіден немесе
файлдан жүзеге асырылса, онда жақша ішіне аодымен файл аты жазылады.
READ (FN,a1,a2,...,an);
READLN (FN a1,a2,...,an);
READLN (FN);
мұндағы FN-енгізілетін мәндер жазылған дискіде файлдың аты;а-айнымалылар
идентификаторлары, файлдарда да мәндер бір қатардан немесе келесі қатардан
оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш
түрі қолданылады.Файлдағы мәліметтер де бір-бірімен бос орын не енгізу
пернесін басу арқылы бөлінуі тиіс,яғни файлға әрбір мән енгізілгеннен кейін
ал енгізу соңында “Enter” пернесі басылады.
Файлдардан мәлімет енгізу мысалдар кейінірек қарастырылады.READ операторы
кез келген сандармен, символдармен және сөз тіркестерімен жұмыс атқара
алады.
Сонымен,параметрлердің сандық мәндері бір-бірінен бос орын арқылы
ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін Enter
енгізу пернесі басылады.Мысалы, енгізу операторы READ (A,B,C); түрінде
берілсе,параметрлерге мәндер былай беріледі: 5 6 2 4, 5 Enter. Бұл
жағдайда А- 5, В- 6.2, С- 4.5 мәндер қабылдайды.Осы мәндер арқылы программа
орындалып болған соң, басқа мәндер үшін программаны басынан бастап қайта
орындау қажет.Бүтін айнымалыларға бүтін,нақты айнымалыларға нақты мәндер
берілуі қажет.Айнымалы сипатталғанда нақты ретінде көрсетілсе, оған нақты
да, бүтін де мән беруге болады, себебі нақты сан құрамына бүтін сан
енеді.Ал машина өзі бүтін санды нақты сан түрінде келтіріп
алады.Мысалы:VAR A,B: REAL; BEGIN READ(A,B); END.түрінде беріліпА,В
айнымалылары үшін 4 5 Enter орындалса, онда машина оларды А-4.0, В-5.0
түрінде қабылдайды. Сандар арасына бір немесе бірнеше бос орын қалдыруға
болады,себебі сан енгізілгенде бос орын есепке алынбайды.Мәндерді
енгізгенде мән енгізілген жолдан келесі жаңа жолға өту үшін параметрсіз
немесе параметрге сәйкес READLN; , READLN(a1, a2,..., an);операторларының
пайдалану қажет.Сонымен,READ(a1,a2,...,an);READ LN;операторларының орнына бір
ғана READLN(a1, a2,...,an)операторын пайдалануға болады.
Шығару операторы. Паскаль тілінде нәтижені экранға шығару үшін WRITE
жазу операторы процедурасы деп те қолданылады:
WRITE (a1, a2, ... an);
Мұндағы жақша ішінде жай айнымалылар немесе апострофтармен қоршалған
символдар тобы болуы мүмкін. Мысалы, егер B – 17.15 болып, мына команда
орындалғанда:
WRITE (B мәні -, B);
Экранда
B мәні – 1.715E+01 деген сөз тіркесі көрінеді.
Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар
integer, real, boolean (true, false), char, string сияқты типтер түрінде
беріле береді.
Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылып, WRITE
түйінді сөзінен соң жай жақша ішіне жазылады.
Шығару операторында жақша ішінде қағазға не экранға шығарылатын
мәннің пішімін – оның алатын орнын, яғни енін толық көрсетуге болады. Бүтін
санды оның енін көрсетс отырып экранға шығаруға болады, мысалы: b
айнымалысының бүтін түрдегі мәнін көрсету
WRITE (b: n) немесе WRITE (b: 5)
Операторы арқылы жүзеге асырылады. Мұндағы b – айнымалының атауы; n-мәні
бүтін сан болып келетін тұрақты түрінде берілген орые саны, оны бірден
бүтін санмен де жазуға болады. Егер b:5 пішімі беріліп, ал b-56 (екі не үш
разрядты сан) болса, онда беске дейінгі толтырылмаған орындарға сол жақ
шетте бос орын қалдырылады. b-56 мәні үшін WRITE (b:5) операторы экранға
56 тіркесін шығарады.
Нақты сандар үшін оның жалпы енін, сонан соң бөлшегі алатын орынды
көрсету қажет, сол себепті аралас сандарды бейнелеуде оның ені қос нүктемен
бөлінген екі бүтін сан арқылы жазылады. Сонымен, нақты сан үшін пішім екі
саннан тұрады:
1 – санға берілетін барлық орын.
2 – үтірден кейін алынатын бөлшек цифрлар саны.
Мынадай оператор берілді.
WRITE (Y: 5:2)
мұндағы 5-нәтижеге берілген барлық орын,2-үтірден соңғы бөлшек берілетін
орындар саны.Мысалы, С=-1457865 болғанда WRITE(С:8:3)операторы экранға
-145786 мәнін шығарады,мындағы жалпы орындар саны – 8, ал бөлшек үш санмен
бейнеленетіндіктен соңғы бір цифр жазылмай қалып отыр. С айнымалысының
берілген мәнін толық бейнелеу үшін WRITE(C:9:4)операторын жазу керек
еді.Жалпы нақты санды экранда бейнелеу операторының жазылу түрі:
WRITE(C:n:m);
мұндағы n-С мәнінің барлығына берілген орын саны; m - C мәнінің бөлшек
бөлігіне белгіленген орын саны.n- нің мәні таңбаны, бүтін мен бөлшекті
бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол
nm+3 болуы тиіс.Экранға шығаратын сандардың арасында қалдырылатын бос орын
санын да осы жолмен көрсетуге болады. Ол үшін екі апостроф жазып,одан кейін
қос нүктемен бөлінген бүтін сан арқылы қалдырылатын бос орындар санын
өрнектейміз,мысалы:
WRITE (b: 8:3, :4, c:12:4);
мұндағы 4- b мен с сандарының арасындағы бос орын саны.Егер нақты сан
үшін WRITE(Y=; Y:8:3) пішімі берілсе, ал оның мәніY=1.76 болса,экраннан
Y=1.760 тіркесі көрінеді.Егер операторда пішім көрсетілмесе, онда нәтижеде
сол сан экспоненциальды түрде экранға шығады. Паскаль тілінде параметрсіз
шығару операторы WRITELN жаңа жолға өту үшін қолданылады.Егер WRITELN (a1,
a2, ...,an); операторы қолданылса, онда а1, а2, ..., an мәндерін экранға
шығарған соң курсор келесі жолға көшеді. WRITE операторын түсініктеме
беруге қолдануға болады. Мысалы: WRITE(A,B,C мәндерін енгізіңдер:); READ
(A,B,C,); Мұндайда экранға: А,В,С мәндерін енгізіңдер: түсініктеме сөзі
шығады, сонан кейін үш сандық мән енгізілуі тиіс.Мысалы,WRITE(= , N:3, :4,
M= , M : 4 :2) болса, онда Т- нің үшорынды мәнінен соң 4 бос орын қалады
да, одан соң М – нің нақты мәні жазылады. Айталық, X= 7, Y= 15, Z= 11, ал
R= 450,08 болсын, оларды экранға шыға
рудың әр түрлі тәсілдерін көрсетеді.
Мысалыдар:
Program A(input,output);
VAR
x,y,z:string[10];
a,b,c:real;
m,n:integer;
BEGIN
x:=’f’ ;
y:=’j’;
z:=’jan’;
a:=23.5;
b:=23,456789;
m:=1444;
n:=6785;
WRITE (x:2,y:2,z:4,a:5:2,’8’,b:9:6,m:6,n: 5:0)
Программа тақырыбындағы жақша ішіндегі екі сөз (input, output) керекті
деректердің пернелерден енгізілетін,ал нәтиже экранға шығарылатын
мәлімдейді. Паскальдің стандарты бұл екі сөзді жазуды мәліметті түрде талап
еркенімен Турбо Паскальда оларды жазбауға да болады, сондықтан көбінесе
бұл параметрлерді көрсетпейміз.

Паскаль тілінің басқару операторлары
Паскаль тілінің басқару операторына шартсыз және шартты көшу
операторы,цикл ұйымдастыру операторлары жатады. Бұлардың соңғылары құрылымы
күрделі операторлар арқылы жүзеге асырылады.
Программа операторлары,негізінен,жазылу ретімен орындалады. Олардың
бұл орындалу тәртібін өзгерту үшін жоғарыда айтыоңан шартты немесе шартсыз
көшу операторы GOTO қолданылады.Қойылған шартты тексеру арқылы оператордың
орындалу ретін өзгертуге немесе өзгертпеуге болады. Шартты тексеру
операторлары мен цикл операторлары көбінесе құрылымдық операторлар арқылы
ұйымдастырылады.
Құрылымдық операторлар. Құрылымдық операторлар басқа операторларды
белгілі бір ереже брйынша біріктіпу жолымен құрылады. Олар үш топқа-
құрама,шартты және қайталау операторларына жіктеледі.
Құрама операторлар.Құрама оператор бір-бірінен нүктелі үтір арқылы
бөлінген бірнеше операторларды begin және end түйінді сөздерімен шектей
отврвп, оларды бір оператор тәрізді орындалатын етіп, біріктіру жолымен
ұйымдастырылады. Құрама оператор тілдің ережесіне сәйкес программаның кез
келген жерінде тұра береді де, бір оператор сияқты орындалады.
Мұндағы операторды шектеп тұратын BEGIN(басы), END(соңы) түйінді сөздері
операторлық жақшалар деп аталады, BEGIN сөзінің соңына және END сөзінің
алдындағы оператордан кейін нүктелі үтір ; қойылмайды. Құрама оператордың
ішінде тағы да құрама оператор болуы мүмкін. Мысалы, әріптермен белгіленген
операторлар жақшалармен көрсетілгендей (A,B,C,D), (K,L,M), E, (R,S))
топталатын болса, онда программадағы құрама операторлар былай құрылады:

begin
begin
A операторы;
B операторы;
E операторы;
D операторы;
end;
begin
K операторы;
L операторы;
M операторы;
end;
E операторы;
begin
R операторы;
S операторы;
end
end.
Құрама операторы шартты өту, таңдау және қайталау операторлары
құрамында жиі кездеседі.
Шартты операторлар. Тармақталу процестері бар алгоритмдерді
ұйымдастыру үшін шартты операторлар пайдаланылады. Тармақталу белгілі бір
шарттың орындалуы немесе орындалмауына тәуелді атқарылады. Кейде бір тармақ
ішінде ешбір амал орындалмай да қала береді. Шарт ретінде логикалық
өрнектің мәні пайдаланылады. Турбо Паскальда екі шартты оператор бар, олар:
if және case.
If шартты операторы. If егер операторы программадағы іс- әрекеттердің
орындалу реттілігін өзгертетін мүмкіндіктің ең кең тараған тәсілі болып
табылады. Оның синтаксистік диаграммасы көрсетілген.
Диаграммадан көрінгендей бұл оператор мынадай түрлердің бірінде
жазылады:
If шарттыөрнек
THEN 1-оператор
ELSE 2-оператор;
Немесе қысқартылған түрде

Ifшартты өрнек
THEN 1-оператор);
(оқылуы: IF- иф, THEN- зен, ELSE -элс).Мұндағы 1- және
2- операторлардың өздері қарапайым немесе құрама оператор болуы мүмкін.
IF сөзінен соң жазылатын өрнек түрінде берілген шарт алдын ала есептеледі,
оның нәтижесі логикалық(boolean-бульдік) типте болады.Егер ол шарттың мәні
TRUE ақиқат болса, яғни шарт ақиқат болып орындалса, онда THEN онда сөзінен
кейін жазылған 1- оператор атқарылады, онда ELSE сөзінен кейінгі 2-
оператор атқарылмайды.Екінші жағдайда, шарт мәні FALSE жалған болса, яғни
теріс болып орындалмаса, онда ELSE сөзінен кейінгі 2- оператор атқарылып, 1-
оператор атқарылмайды. If операторлары бірінің ішіне бірі кіріп қабаттасып
та орындала береді.
Әдетте шарт өрнегін жазу үшін қатынас белгілері =,, =, , =, жиі
пайдаланылады.Жалпы түрде шартты k1 x k2 түрінде қарастыруға болады, мұнда
х-салыстыру белгілерінің бірі,к1,к2-тұрақты, айнымалы немесе кез келген
өрнек болуы мүмкін. Бір мезгілде бірнеше шартты, яғни күрделі құрама шартты
жазу үшін логикалық амалдарды пайдалануға болады.
Шартты операторды оқу, түсіну жеңіл болуы үшін оны сатылы түрде былай
жазуға болады:
IFлогикалық өрнек
THEN 1-оператор
ELSE 2-оператор;
Шартты операторды төмендегідей түрде құрама құрама оператор жиі
пайдаланылады:
IFлогикалық өрнек
THEN
BEGIN
1-оператор;
2-оператор;
. . . . . . . . . .
n-1-оператор;
n-оператор;
END.
Енді мысал қарастырамыз.
1-мысал. y={x+2, x0;
{2x, x0.
Program ShoN (INPUT, OUTPUT);
VAR x, y: REAL;
BEGIN
WRITE (‘x енгіз’);
READLN (x);
IF x0
THEN y:=X+2
ELSE y:=2*x*x*x;
WRITELN (‘y=’, y:6:3);
WRITE (‘есептеу бітті’);
END.

Таңдау операторлары

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

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

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Ішкі бағдарламалар
Төменгі деңгейлі бағдарламалау тілдері
Тілдің алфавиті
Turbo Pascal жүйесінде массивтерді ұйымдастыру технологиясы
Паскаль программалау тіліне жалпы түсінік
Паскаль тілінің функцияларымен процедураларын қолдану
Паскаль тілінде сызықтық бағдарлама құру
ТУРБО ПАСКАЛЬ ТІЛІНІҢ ТҮСІНІКТЕРІМЕН ЖҰМЫС ЖАСАУ
Паскаль тілінде сызықтық программалармен жұмыс
Турбо Паскаль бағдарламасының жазу ережелері, құрылымы және тілдің әліпбиі
Пәндер