Паскаль тілінің функцияларымен процедураларын қолдану
Мазмұны
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1. Паскаль бағдарламалау тілі ... ... ... ... ... ... ... ... .
1.1.Паскаль бағдарламалау тілінің тарихы ... ... ... ... ... ... ... ...
1.2. Паскаль бағдарламалау тілінің негізгі командалары ... ... ... ...
1.3.Меншіктеу, енгізу-шығару операторлары ... ... ... ... ... ... .
1.4.Қосалқы бағдарламалар
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
1.5.Паскаль тілінің функцияларымен процедураларын қолдану ... ..
1.6.Бейстандарт функциялар мен
процедуралар ... ... ... ... ... ... ... ... ...
1.7. Экранды басқаратын процедура мен функция
... ... ... ... ... ... ... .
1.8. Графиктік фигуралар салу
процедуралары ... ... ... ... ... .. ... ... ... ...
1.9. Графиктік режимде мәтін шығару
процедуралары ... ... ... ... ... .
2. Паскаль бағдарламалау тілінде электронды сағат құру ... ... ...
2.1 Есептің
шарты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ...
2.2 Есепті шешу
алгоритмі ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
...
2.3 Блок-
сызба ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ...
2.4 Бағдарлама
мәтіні ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ..
2.5 Мәндер
кестесі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ...
2.6 Тексеру
нәтижесі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ...
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ...
Пайдаланған
әдебиет ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ...
Кіріспе
Компьютердің пайда болуы мен оның даму тарихы қазіргі және өткен
ғасырдың ең басты жаңалығы болып табылады. Дербес компьютердің пайда
болғанынан бастап бірнеше жыл өтті. Ал қазіргі кезде компьютерсіз адамның
өмірін елестету қиын. Себебі қандай ғылым саласы болсын ЭЕМ арқасында дамып
келе жатыр, сонымен бірге оны қолданушылар саны артуда. Біз күнделікті
өмірде белгілі бір әрекеттерді орындау барысында көптеген алгоритмдерді
қолданып жүрміз. Міне, осы тұрғыдан қарағанда, өмір дегенді алда тұрған
мәселелерді шеше алатын алгоритмдер жиыны деп түсінуге болады. Сол себепті
алгоритмдерді жүйелі түрде оқып, олардың пайдалану тәсілдерін мектептен
бастап үйренгеніміз жөн. Паскаль тілі қысқа қарапайым бағдарламалармен
қатар күрделі өндірістік мәселелерді шеше алатын құрылымды тіл болып
табылады. Компьютер үшін ыңғайлы, бағдарлама жасау реттілігін алгоритмдік
тәртіппен қарастыратын, оқушыларды тиянақтылыққа, іс-әрекет тәртіптілігіне
тәрбиелейтін, бағдарламалауда дұрыс әдет қалыптастыратын тіл болып
табылады.
Қазіргі кезде қоғам индустриялық кезеңінен кейінгі дамудың ақпараттық
кезеңіне аяқ басты. Ақпараттандыру жағдайында оқушылар меңгеруге тиісті
білім, білік, дағдының көлемі күннен –күнге артып, мазмұны өзгеріп отырады.
Оның басты сипаттарына – ақпараттық технологияларды кеңінен пайдалану
адамдардың көптеген қызмет түрлерін компьютерлендіру, коммуникациялардың
бірыңғай халықаралық жүйелерін жасау істері жатады. Казіргі кезде адамдар
үшін компьюртерлік сауаттылық дегеніміз кешегі жай сауаттылық (оқып жаза
білу) тәрізді міндетті түрде іске асырылатын шара болып саналуы тиіс. Олай
болса, егемендік алған еліміздің жас талапкерлері де бағдарламалау тілінің,
алгоритмдердің терминдерін ана тілінде оқып-үйренуі қажет.
Курстық жұмыстың өзектілігі – Паскаль тілінде электронды сағат
бағдарламасын құру.
Зерттеу мақсаты – Turbo Pascal бағдарламалау тілінде электронды
сағатты құру.
Зерттеу нысаны – Pascal бағдарламалау тілін пайдалана отырып,
электронды сағат құру.
Зерттеу міндеттері:
1) функциялар мен процедуралар қолдану аясын кеңейту;
2) бағдарламаны құру барысында ең тиімді әдісті таңдай білу.
Зерттеу әдістері: Функциялар мен процедураларды талдау, қосалқы
бағдарламалар туралы мәлімет жинау, компьютерде Turbo Pascal бағдарламасы
арқылы электронды сағат құру.
1.Паскаль бағдарламалау тілі
1. Паскаль бағдарламалау тілінің тарихы
Turbo Pascal – жоғарғы деңгейлі бағдарламалау жүйесі. Оның тұңғыш
нұсқасын 1970 жылы швейцрия физигі Niklaus Wirth ұсынған. Паскаль тілі
жөніндегі алғашқы дерек 1979 жылы пайда болып, содан бері тілдің дүниеге
келген жылы болып табылады. Автор тілді алғашқы арифметикалық есептеу
машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль
деп атап , тіл атауын үнемі бас әріппен жазылуын сұраған. Кейінен тілдің
көптеген нұсқалары жарық көреді.Солардың ішінде 1983 жылы Борланд
корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа
үлгісі Turbo Pascal бағдарламалаушылар арасында жоғарғы сұранысқа ие болды.
Бейсик тілі сияқты, Паскаль оқып-үйренуге жеңіл, түрлі салалық
ақпаратпен жұмыс істеуде нәтижелі болғандықтан, дүние жүзінде көп тараған
тілдердің бірі
Turbo Pascal бағдарламалау тілінің басқа тілдер сияқты өзіне тән
алфавиті бар. Паскаль тілінде жазылған бағдарлама ағылшын сөздерінен
құрылған қызмет сөзден тізбегінен тұрады. Әрбір аяқталған іс-қимылдан соң
нүктелі үтір қойылады.
Жоғарғы деңгейлі бағдарламалау тілдерінің бірі − Паскаль. Қазіргі
кезде Паскаль тілінің кеңейтілген ондаған диалектісі бар, оның ішінде IBM
PC-ге үйлесімді дербес компьютерлер жұмыс істей алатын Турбо Паскаль
диалектісінің варианттары да жеткілікті.
Turbo Pascal жүйесінде қарапайым есептерді шешудің бағдарламасынан
бастап, күрделі мәліметтер қорын құрудың сан қырлы жұмыстары жүргізеді.
Паскаль тілі бұрын құрылған (Фортран, Алгол және т.б.) бағдарламалау
тілдерінен маңызды ерекшелігі ол құрылымдық бағдарламалау идеясын өмірге
біртіндеп енгізу.
Паскаль бағдарламалау тілінің авторы - Цюрих информатика институтының
профессоры, бағдарламалау саласында құнды еңбектер жазған Швейцария ғалымы
Никлаус Вирт. Ол өзінің тілін дәлелдеп және зерттеп жасаған атақты (1934
ж) француз математигі Блез Паскальдің құрметіне Паскаль деп атады. Паскаль
тілі бастапқыда бағдарламалаудың негіздерін үйрету үшін жасалғанымен, қазір
түрлі есептерді шығаруға да арналған. (1623-1662 ж.ж.)
Паскаль тілінің ыңғайлылығы:
Тіл алгоритм құрылымын сақтауға негізделген. Мұнда бағдарламаны бірте-
бірте дамыту арқылы жеке блоктар түрінде құруға болады. Ол бағдарламалау
тәсілін үйрену үшін қажет: Тілге дамытылған мәліметтер типтері енгізілген.
Олар өңделетін мәліметтер элементтерін толық сәйкестендіріп сипаттауға және
жаңа мәліметтер типтеріненгізуге мүмкіндік береді.Мұнда кішігірім жеңіл
бағдарламалармен бірге күрделі құрылымды бағдарламаларды құруға болады.Тіл
синтаксисі жеңілдетілген, нұсқаулардың саны мүмкіндігінше азайтылған, т.б.
1.2. Паскаль бағдарламалау тілінің негізгі командалары
Паскаль тiлiнің бағдарламасы блоктардан құралады. Бiр блок iшiне
басқа да кiшігiрім блоктар кiре бередi. Блоктар екi бөлiмнен тұрады,
олардың алғашқысы — мәлiметтердi сипаттау бөлiмi, ал екіншісі – сол
мәліметтерді пайдалана отырып, әр түрлi іс - әрекеттерді (операцияларды,
амалдарды) атқару бөлiмi.
Мәлiметтердi сипаттау бөлiмi болмауы да мүмкiн, ал екiншi бөлiм —
негізгі бөлiм, ол міндетті түрде болуы тиiс. Басқа блокқа кірмейтін блок
басты (глобальды) блок болып саналады. Ал блок ішіндегі блок -жергіліктi
(локальдi) блок деп аталады. Басты блок — негiзгi бағдарлама блогы,
сондықтан ол әрқашанда болуы тиіс. Жергілікті блоктарға процедуралар мен
функциялар кіреді, олар кейбір бағдарламаларда болмауы да мүмкін.
(1.2.1)- сурет. Бағдарлама құрылымы диаграммасы
Бағдарламалардың негізгі объектiлерi болып саналатын айнымалы,
тұрақты және олардың типтерi де орналасқан блогына байланысты басты немесе
жергiлiктi деп аталады. Бағдарлама объектiлерiнiң де жұмыс iстеу, әсер ету
аймағы сол өздерi орналасқан блокпен шектеледi. Блоктық құрылым бағдарлама
мәтiнiн тиянақты түрде қатесiз құрастыруға көмектеседi. Бағдарламалық
блоктың синтаксикалық диаграммасын(1.2.1)- суреттегiдей етiп көрсетуге
болады.
Кез келген бағдарламаның тақырыбы, онан кейiн сипаттау бөлiмi және
begin және end сөздерiмен қоршалған операторлар бөлiмi болуы керек.
Сипаттау бөлiмi, толық болған жағдайда, 7 бөлiктен тұрады, олар:
(1.2.2)- сурет. Бағдарламалық блоктың диаграммасы
1) бағдарламамен байланысатын кітапханалық модульдер атауларының
тізімі (ол uses түйінді сөзімен анықталады);
2) белгілерді (label) сипаттау;
3) тұрақтыларды (const) сипаттау;
4) мәліметтертиптерін (type) анықтау;
5) айнымалылырды (var) сипаттау;
6) процедураларды (procedure) сипаттау;
7) функцияларды (function) сипаттау.
1.3. Меншіктеу, енгізу-шығару операторлары
Меншiктеу операторы барлық тiлдерде пайдаланылатын негiзгi оператор
болып табылады. Математикадағы қарапайым теңеу тәрiздi айнымалыларға сандық
(символдықта болуы мүмкiн) мән беру өрнегiн мұнда меншiктеу операторы деп
атайды.
Меншiктеу операторы жазылған өрнектердің мәнін есептеп, оны
айнымалыға беру үшін қолданылады. Өрнек мәнiнің типi айнымалының типіне
міндетті түрде сәйкес келуi тиiс. кейде нақты түрдегі айнымалыға бүтін сан
мәнін меншіктеуге болады, ондайда бүтін сан нақты санға айналып кетеді.
Меншіктеу операторының жазылу ережесі (пішімі) төмендегідей болады:
‹ айнымалы атауы›: = өрнек;
мұндағы ‹айнымалы атауы› - айнымалы идентификаторы, : = - меншіктеу
белгісі, яғни айнымалының мәні өрнектің есептелген сан мәнін қабылдайды;
өрнек - арифметикалық өрнек немесе сан.
(1.3.1)- суретте меншіктеу операторының синтаксикалық диаграммасы
келтірілген.
Бұл оператор екі міндет атқарады.:
1. Айнымалылардың белгілі мәндері бойынша арифметикалық өрнектің
сандық мәнін есептейді;
2. Табылған мән айнамалы атауына меншіктеледі (теніліп жазылады),
яғни анықталған мән сол айнымалыға сәйкес компьютер жады ұяшығына
орналасады. Мұнда әдеттігі теңдік = белгісімен бағдарламалау тіліндігі
меншіктеу := белгісін шатыстырмау қажет. Олар тек түр жағынан ғана емес
мағынасы жағынан да өзгеше. x= 5 өрнегі x- тің мәні 5- ке тең дегенді
білдіреді де, x=x+3 өрнегінің дұрыс мағынасы жоқ. Ал x:=5 өрнегі x
айнымалысына арналған ұяшыққа 5 санын жазамыз дегенді білдіреді. Ал енді
x:=x+3 өрнегі де дұрыс, өйткені бұл бұрынғы x ұяшығында тұрған санға 3
санын қосып x ұяшығына қайта орналастыру дегенді білдіреді.
Меншіктеу операторы тек арифметикалық өрнектер ушін ғана емес
логикалық және символдық өрнектер үшін де пайдаланады.
(1.3.1) Мысалы, егер K: =A AND B, мұндағы A- ақиқат, ал B- жалған
болса, онда K жалған мән қабылдайды. K ақиқат мән қабылдау үшін А және В
мәндері бірдей ақиқат болуы қажет, өйткені AND сөзі ЖӘНЕ деген ұғымды
білдіреді.
Сандық мәліметтерді енгізу операторы
Паскаль тілінде екі енгізу операторы қолданылады: Read( ); немесе
Readln( );
Read операторының жалпы түрі келесідей болады: Read(a1, a2,...,an) –
мұндағы a1,a2,...,an айнымалы атаулары, оларды енгізу операторларының
параметрлері деп те атайды. Айнымалылардың мәндері алғашқысынан бастап
пернетақта арқылы енгізіледі. Курсор келесі қатарға көшірілмейді. Ал
Readln(a1, a2,...,an) айнымалылардың мәндері пернетақтадан енгізілген соң
курсорды келесі жолға көшіреді. Read операторы орындалғанда параметрлер
өздеріне сәйкес мәндерді қабылдайды. Сандар арасына бiр немесе бiрнеше бос
орын қалдыруға болады, себебi сан енгiзiлгенде бос орын еске алынбайды.
Енгізілетін айнымалылардың мәндері integer, real, char немесе string
( сөз тіркесі) типтеріне жатуы мүмкін. Логикалық айнымалылардың мәндері
енгізілмейді. Айнымалылар мәндері өз типтеріне сәйскес Паскаль тілінің
ережелері бойынша енгізіледі. Егер ол шарт бұзылса (Х1 типі integer болса,
ал енгізгенде char типтес мән терілсе ), онда экранға енгізу –шығару қатесі
шығады.
Шығару операторы
Паскаль тілінде нәтижені экранға шығару үшін Write( );немесе Writeln(
); операторлары қолданылады. Write операторы былай жазылады
Write(a1,a2,...,an)
Егер В=2.15 болып мына команда орындалғанда: Write(‘B мәні=’, В);
экранда В мәні =2.15 деген сөз тіркесі көрсетіледі. Шығарылатын параметрлер
бір-бірімен үтір арқылы ажыратылып Write операторынан соң жай жақша ішіне
жазылады.
Паскаль тілінде параметрсіз шығару операторы Writeln( )жаңа жолға өту
үшін пайдалынады. Егер Writeln(a1,a2,...,an ) операторы пайдаланылса
a1,a2,...,an мәндерін экранға шығарған соң курсор келесі жолға көщеді. Write
операторын түсініктеме беруге пайдалануға болады. Write(‘А,В,С мәндерін
енгізіңдер’)
Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады,
олар integer, real, boolean (true, false),char, string сияқты типтер
түрінде беріле береді.
Шығарылатын параметрлер бір - бірімен үтір арқылы ажырытылып WRITE
түйінді сөзінен соң жай жақта ішіне жазылады.
Паскаль тілінде басқада алгоритмдік тілдердей бағдарламада алдымен
деректерді өңдеуге оларға әр түрлі іс-қимылдар қолдануға арналады. Деректер
әртүрлі болып келуі мүмкін біз жалпы деректер ұғымына сандарды символды
белгіліп жазуларды айнымалыларды тұрақты бір мәндерді енгізіп отырыңыз.
Бағдарламаның жұмыс істеу кезінде бір деректер бастапқы мән қабылдап
біреулері алынған нәтижесі болып келеді.
1.4.Қосалқы бағдарламалар
Бағдарлама құрастырғанда бір әрекеттер жиынтығын көп қайтара
пайдалану қажеттілігі жиі туады, онда бұл әрекеттер жиынтығы жеке
бағдарлама ретінде ерекшелінеді де, оған ат беріледі. Осы кезден бастап ол
Қосалқы бағдарлама болады, яғни оны басқа бағдарламаларда пайдалану
мүмкіндігі туады. Қосалқы бағдарламалар үлкен және күрделі бағдарламалар
жасағанда оқуды, түсінуді, өзгерістер енгізуді жеңілдетуге, компьютер жадын
тиімдірек пайдалануға мүмкіндік береді. Белгiлi бiр ат қойылып, жеке
бағдарлама түрiнде бөлек жазылған, қажет кезiнде оны қайталап пайдаланып
отыруға болатын негiзгi бағдарламаның арнайы бөлiгiн қосалқы бағдарлама деп
атайды.
Қосалқы бағдарламаны пайдалану:
• бағдарламаның көлемiн кiшiрейтедi;
• негiзгi бағдарламада пайдаланылған айнымалыларды қосалқы
бағдарламада да пайдалану мүмкiндiгiн бередi;
• қосалқы бағдарламаға берiлген компьютердiң жедел жады көлемiн ол
орындалмай тұрғанда, бос ұялар ретінде басқа мақсаттарға пайдалануға
болады;
• қосалқы бағдарламаны пайдалану тәсiлдерi құрылымдық бағдарламалау
талаптарына сай келедi.
Pascal-да Қосалқы бағдарламалар процедураларға (procedure) және
функцияларға (function) бөлінеді. Процедуралар мен функциялар
бағдарламалары сипаттау бөлімінде орналасады. Олар аяқталған бағдарламалар
болып табылады. Белгiлi бiр әрекеттердi орындау мақсатында алдын ала
бекiтiлген аты бойынша шақырылып орындалатын бағдарламаның тәуелсiз бөлiгі
процедура деп аталады. Процедура өрнектердiң операнды (аргументi) бола
алмайды. Бағдарламада процедураның атын көрсету оның орындалуына себепшi
болады да, мұндай әрекет процедураны шақыру деп аталады.Read(F) процедурасы
пернелерде терiлген бiр мәндi F айнымалысына меншiктейдi.
Функция да процедура секiлдi орындалады, бiрақ оның процедурадан екi
айырмашылығы бар, олар: функция аты өрнектердiң операнды рөлiн атқара
алады; функция орындалған соң, бағдарламаға тек бiр ғана мән берiледi.
Жұмысының нәтижесi бiр ғана мән болатын процедура функция деп аталады.
Тurbо Раsсаl бағдарламалау тілінде айнымалыларды негізгі бөлімде
сипаттау түрі – ауқымды айнымалылар деп аталады. Егер айнымалылар Қосалқы
бағдарламада сипатталса онда олар жергілікті айнымалылар деп аталады.
Сондай-ақ негізгі бағдарламада қосалқы бағдарламаны шақыруда қолданылатын
айнымалыларды нақты айнымалылар деп атайды. Ал Қосалқы бағдарламаның
атауында берілген айнымалылар формальды айнымалылар деп аталады. Әрбір
Қосалқы бағдарламаның атауы болады және олар айнымалыларды сипаттау
бөлімінен құралып, операторлық жақшаларда орналасқан командалар жиынынан
тұруы мүмкін.
Турбо Паскаль тiлiнiң барлық процедуралары мен функциялары екiге
бөлiнедi, олар: стандартты және тұтынушы өзi анықтаған бейстандарт топтар.
Стандартты функциялар мен процедуралар тiлдiң элементi ретiнде өз аттары
бойынша алдын ала анықталған түйiндi сөздермен белгiленедi. Ал бейстандарт
функциялар мен процедураларды әрбiр бағдарламалаушы өзі жаңа атау беруi
арқылы анықталады да, олар орындалатын әрекеттерден тұрады. Барлық
стандартты атауларды анықтау жолдары арнайы кiтапханалық модульдерде
көрсетілген, олардың да жүйелiк өз атаулары бар.
Іс-қимылдарды белгілі бір жиыны бағдарламаның бірнеше жерінде
кездессе, осы іс-қимылдарды іске асыратын операторлардың тобын қайталап
жаза беру көп ыңғайсыздық тудырады осы қайталанудан құтылу үшін көрсетілген
операцияның тобын бағдарламада бір рет жазып алып қажет жерінде шақыртуға
болады. Бағдарламаның әр жерінде керек уақытында бірнеше рет қолдануға
болатын операторлардың ерекшеленген тобын қосалқы бағдарлама
(подбағдарлама) дейді. Қосалқы бағдарламаларда бірнеше операцияларды біріге
отырып толық орындалуын қадағалап, бағдарламаның негізгі бөлігінде оның тек
атын көрсету арқылы бір рет орындаумен шектелуге болады.
Қайталанатын әрекеттерді қайта жазып көшіруге көп уақыт кетірмеу үшін
Турбо Паскальда қосалқы бағдарламалар ретінде функциялар мен процедураларды
қолданады. Процедуралардың циклдерден айырмашылығы, олар бағдарламаның әр
жерiнде оператор тiзбегi өзгермей, тек бiр ғана рет қайталанып отырады,
яғни әр пайдалану кезiнде бiр рет қана орындалады. Белгiлi бiр
әрекеттердi орындау мақсатында алдын ала бекiтiлген аты бойынша шақырылып
орындалатын бағдарламаның тәуелсiз бөлiгі процедура деп аталады. Процедура
өрнектердiң операнды (аргументi) бола алмайды. Бағдарламада процедураның
атын көрсету оның орындалуына себепшi болады да, мұндай әрекет процедураны
шақыру деп аталады. Read(F) процедурасы пернелерде терiлген бiр мәндi F
айнымалысына меншiктейдi. Процедура жалпы түрде былай жазылады:
Procedure N(P1:T1; P2:T2;...; var P3:T3;...);
Мұндағы N-процедура аты; PI – формальды, келісімді параметр
көрсеткіштер. TI – олардың түрлері.
Функция да процедура секiлдi орындалады, бiрақ оның процедурадан екi
айырмашылығы бар, олар: функция аты өрнектердiң операнды рөлiн атқара
алады; функция орындалған соң, бағдарламаға тек бiр ғана мән берiледi.
Жұмысының нәтижесi бiр ғана мән болатын процедура функция деп аталады.
Процедура түрiндегi қосалқы бағдарлама бiрнеше операторлар тiзбегiнен
тұрады және оның жұмыс нәтижесі де бiрнеше мән болуы мүмкiн. Функция
түріндегі қосалқы бағдарлама математикалық функциялар тәрізді бастапқы
оперант (аргумент) арқылы белгiлi бiр өрнекті есептей отырып, нәтижесінде
тек бiр ғана мән бередi. Функцияның және процедураның жұмыс iстеуi үшін
берiлген бастапқы мәлiметтер, яғни нақтылы параметрлер қажет.
Турбо паскаль тілінің барлық процедуралары мен функциялары екіге
бөлінеді, олар: стандартты және тұтынушы өзі таңдайтын бейстандартты
топтар. Стандартты функциялар мен процедуралар Turbo Pascal тілінің
құрамында тұрақты системалық атпен аталып орындалады. Оларға арнаулы USES
пайдаланушылар кітапханасында орналасқан – SYSTEM, CRT, GRAPH, GRAPH3,
OVERLAY, PRINTER, TURBO3, TURBO VISION модульдерінің барлық функциялары мен
процедуралары жатады. SYSTEM модулінің процедуралары мен функциялары
Turbo Pascal бағдарламасымен бірге автоматты түрде іске қосылады, сондықтан
оны пайдаланушылар бөлімінде көрсетпесе де болады және оның құрамында ішкі
стандартты процедуралар мен функциялар кез келеген жерде пайдалана беруге
болады
Стандартты кітапханалық модульдер
Турбо Паскаль тiлiнің 6.0 және одан жоғарғы нұсқаларына 9 стандартты
кiтапханалық модуль кiредi, олар:
System, Crt, Dos, Graph, Graph3, Overlay, Printer, Турбо3 және Турбо Vision
арнаулы кiтапханасы. System модулi келiсiм бойынша бiрден iске қосылады, ал
қалғандарын бағдарлама құрушының өзi стандартгы Uses түйiндi сөзi арқылы
енгiзедi. (1.4.1)мысал: Uses Crt, Dos, Printer;
System — Турбо Паскаль тiлiнiң негiзгi модулi, осының құрамындағы
стандартты қосалқы бағдарламалар басқа барлық модульдердiң жұмысын
қамтамасыз етедi.
Crt — дисплей мен пернетақтаны басқарады.
Dos — Dos жүйесiнiң әр түрлi функцияларын орындау iсiн жүзеге
асырады.
Graph— қазiр қолданыстан шыққан немесе сирек кездесетiн CGA, EGA,
VGA, HRC, IBM 3270, MCGA және ATT6300 графикалық адаптерлерiмен
(дисплейлерiмен) тиiмдi жұмыс атқару мүмкiндiктерi iске қосылады да, түрлi-
түрлi графика элементтерiн экранға шығару жұмысын атқарады.
Graph3— Турбо Паскаль 3.0 нұсқасының стацдартты графикалық қосалқы
бағдарламаларын пайдалануды қамтамасыз етедi.
Overlay — оверлейлiк (көлемдi бағдарламаны шағын бөлiктерге бөлiп,
қажет болғанда оны қайтадан бiртұтас күйде жұмыс атқаратын қалыпқа келтiру)
бағдарламаларды ұйымдастыру мүмкiндiктерiн жасайды.
Printer — принтерде мәлiмет басып шығаруды жылдамдатады.
Турбо3 — бағдарламаның Турбо Паскаль 3.0 нұсқасымен сәйкестiгiн
барынша үйлестiру iсiн атқарады.
Турбо Vision — тұтынушы интерфейсiн (жұмыс ортасын) жасайтын
объектiге бағытталған қосалқы бағдарламалар кiтапханасы iске қосылады.
Процедураларды қолдану
Тurbо Раsсаl бағдарламалау тілінде процедураның жалпы құрылымы:
Рrосеdurе рrос_nаmе(а1,b1,...: tуре_1;а2,b2,...:tуре2);
bеgіn
процедураның негізгі бөлігі
еnd;
Мұндағы: рrос_nаmе - процедура атауы. Процедура атауында бос орын
белгісі қолданылмай символдар тізбегінен құралады. Процедура атауы әріптен
басталуы тиіс; аl,b1,а2,b2 - қосалкы бағдарламада қолданылатын айнымалылар
тізбегі. Негізгі бағдарламамен байланыс ретінде қолданылатын айнымалылар
сипатталады; tуре_l,tуре2 - айнымлылар tипі (1.4.2)мысалы: х:іntеgеr;
у:rеаl және т.б.
bеgіn, еnd;- процедураның басы мен соңы.
(1.4.1)Мысал S мәнін табу бағдарламасын құру керек:
S = 2! + 3! + 4! + ... + n!.
Program esep1;
Var s,i,p,n: integer;
Procedure fakt(n:integer; var f: integer);
Var i: integer;
Begin F:=1; for i:=1 to n do f:= f*I;end;
begin
Writeln(‘n=?’); readln(n); s:= 0; For i:=1 to n do
begin Fakt(i, p); S:= s + p; End;
Writeln(‘S=’, s); End.
Функцияны қолдану
Тurbо Раsсаl бағдарламалау тілінде функцияның жалпы құрылымы:
Funсtіоn funс_nаmе(а1,а2,...: tуре1): tуре_2;
bеgіn
процедураның негізгі бөлігі;
еnd;
Мұндағы:
funс_nаmе - функция атауы. Функция атауында бос орын белгісі
қолданылмай символдар тізбегінен құралады. Функция атауы әріптен басталуы
тиіс (1.4.3.) мысал: sum, рrl, usеr2); аl,а2 - қосалкы бағдарламада
қолданылатын айнымалылар тізбегі. Негізгі бағдарламамен байланыс ретінде
қолданылатын айнымалылар сипатталады; tуре_l - айнымлылар типі (1.4.4)
мысал: х:іntеgеr; у:rеаl және т.б.); tуре2 - функцияның типі; bеgіn -
функцияның басы; еnd; - функцияның соны.
(1.4.5) Мысал Пернетақтадан енгізілген бүтін санның цифрларының
қосындысын табу бағдарламасын құру керек.
Program esep2;
Uses crt;
Var n: longint; s: integer;
Function sum(longint):integer;
Var y:integer;
Begin Y:=0;
While x0 do Begin y:=y+x mod 10;
x:=x div 10;
End; If y0 then sum:=-y else sum:=y;
End;
Begin {негізгі бөлім}
Checkeof:=true;
Writeln(‘Санды енгізіңіз. Eof бойынша енгізуді аяқтау’);
While not eof do Begin Readln(n); Writeln(n,‘ сан цифрларының
қосындысы тең ’);
Writeln(sum(n)); End; End.
Функцияларда рекурсия қолдануға болады. Мұндай бағдарламаларды
рекурсивті бағдарламалар деп атайды. Рекурсия дегеніміз ол қосалқы
бағдарламаның өзін өзі шақыруы. Егер қосалқы бағдарламада рекурсияны
аяқтауды білдіретін шарт қарастырылмаса, онда функция өз-өзін тоқтаусыз
шақыра береді.
(1.4.6.)Мысал (1.4.5.)мысалында келтірілген бағдарламаны рекурсиялы
бағдарлама ретінде жазайық.
Program esep3;
Var y,n,i,s: longint;
Function fakt(n:integer): longint;
Begin If n=1 then fakt:=1 else fakt:=fakt(n-1)*n; End;
Begin Writeln(‘n=?’); readln(n); s:=0; For i:=2 to n
do s:=s+fakt(i); writeln(‘S=’,s);
End.
1.5.Паскаль тілінің функцияларымен процедураларын қолдану
Қайталанатын әрекеттердi қайта жазып көшiруге көп уақыт кетiрмеу үшiн
Турбо Паскальда қосалқы бағдарламалар ретiнде функциялар мен процедураларды
қолданады. Процедуралардың циклдерден айырмашылығы, олар бағдарламаның әр
жерiнде оператор тiзбегi өзгермей, тек бiр ғана рет қайталанып отырады,
яғни әр пайдалану кезiнде бiр рет қана орындалады.
Белгiлi бiр әрекеттердi орындау мақсатында алдын ала бекiтiлген аты
бойынша шақырылып орындалатын бағдарламаның тәуелсiз бөлiгі процедура деп
аталады. Процедура өрнектердiң операнды (аргументi) бола алмайды.
Бағдарламада процедураның атын көрсету оның орындалуына себепшi болады да,
мұндай әрекет процедураны шақыру деп аталады. Read(F) процедурасы
пернелерде терiлген бiр мәндi F айнымалысына меншiктейдi.
Функция да процедура секiлдi орындалады, бiрақ оның процедурадан екi
айырмашылығы бар, олар: функция аты өрнектердiң операнды рөлiн атқара
алады; функция орындалған соң, бағдарламаға тек бiр ғана мән берiледi.
Жұмысының нәтижесi бiр ғана мән болатын процедура функция деп аталады.
Процедура түрiндегi қосалқы бағдарлама бiрнеше операторлар тiзбегiнен
тұрады және оның жұмыс нәтижесі де бiрнеше мән болуы мүмкiн. Функция
түріндегі қосалқы бағдарлама математикалық функциялар тәрізді бастапқы
оперант (аргумент) арқылы белгiлi бiр өрнекті есептей отырып, нәтижесінде
тек бiр ғана мән бередi. Функцияның және процедураның жұмыс iстеуi үшін
берiлген бастапқы мәлiметтер, яғни нақтылы параметрлер қажет.
Турбо Паскаль тiлiнiң барлық процедуралары мен функциялары екiге
бөлiнедi, олар: стандартты және тұтынушы өзi анықтаған бейстандарт топтар.
Стандартты функциялар мен процедуралар тiлдiң элементi ретiнде өз аттары
бойынша алдын ала анықталған түйiндi сөздермен белгiленедi. Ал бейстандарт
функциялар мен процедураларды әрбiр бағдарламалаушы өзі жаңа атау беруi
арқылы анықталады да, олар орындалатын әрекеттерден тұрады. Барлық
стандартты атауларды анықтау жолдары арнайы кiтапханалық модульдерде
көрсетілген, олардың да жүйелiк өз атаулары бар.
Процедура тақырыбы көмекші бағдарламаны анықтаушы procedure
қызметші сөзінен басталып, оның оң жағына процедураның атауы енгізіледі.
Одан әрі жай жақшалар ішінде формальды параметрлер сипатталады да,
тақырыптың соңына нүктелі үтір символы қойылады. Ол- процедура тақырыбын
өзінің басқа бөлімдерінен ажырату белгісі. Тақырыптан соң негізгі
бағдарламадағы сияқты сипаттау бөлімдерінің енгізілуі мүмкін. Бұдан әрі
begin, end қызметші сөздерімен шектелген операторлар бөлімі жазылады да,
end – тен соң нүктелі үтір таңбасы қойылады:
Procedure атау [(типтері сипатталған формальды параметрлер
тізімі)];
[сипаттау бөлімдері]
begin
операторлар бөлімі
end.
... жалғасы
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1. Паскаль бағдарламалау тілі ... ... ... ... ... ... ... ... .
1.1.Паскаль бағдарламалау тілінің тарихы ... ... ... ... ... ... ... ...
1.2. Паскаль бағдарламалау тілінің негізгі командалары ... ... ... ...
1.3.Меншіктеу, енгізу-шығару операторлары ... ... ... ... ... ... .
1.4.Қосалқы бағдарламалар
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
1.5.Паскаль тілінің функцияларымен процедураларын қолдану ... ..
1.6.Бейстандарт функциялар мен
процедуралар ... ... ... ... ... ... ... ... ...
1.7. Экранды басқаратын процедура мен функция
... ... ... ... ... ... ... .
1.8. Графиктік фигуралар салу
процедуралары ... ... ... ... ... .. ... ... ... ...
1.9. Графиктік режимде мәтін шығару
процедуралары ... ... ... ... ... .
2. Паскаль бағдарламалау тілінде электронды сағат құру ... ... ...
2.1 Есептің
шарты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ...
2.2 Есепті шешу
алгоритмі ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
...
2.3 Блок-
сызба ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ...
2.4 Бағдарлама
мәтіні ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ..
2.5 Мәндер
кестесі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ...
2.6 Тексеру
нәтижесі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ...
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ...
Пайдаланған
әдебиет ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ...
Кіріспе
Компьютердің пайда болуы мен оның даму тарихы қазіргі және өткен
ғасырдың ең басты жаңалығы болып табылады. Дербес компьютердің пайда
болғанынан бастап бірнеше жыл өтті. Ал қазіргі кезде компьютерсіз адамның
өмірін елестету қиын. Себебі қандай ғылым саласы болсын ЭЕМ арқасында дамып
келе жатыр, сонымен бірге оны қолданушылар саны артуда. Біз күнделікті
өмірде белгілі бір әрекеттерді орындау барысында көптеген алгоритмдерді
қолданып жүрміз. Міне, осы тұрғыдан қарағанда, өмір дегенді алда тұрған
мәселелерді шеше алатын алгоритмдер жиыны деп түсінуге болады. Сол себепті
алгоритмдерді жүйелі түрде оқып, олардың пайдалану тәсілдерін мектептен
бастап үйренгеніміз жөн. Паскаль тілі қысқа қарапайым бағдарламалармен
қатар күрделі өндірістік мәселелерді шеше алатын құрылымды тіл болып
табылады. Компьютер үшін ыңғайлы, бағдарлама жасау реттілігін алгоритмдік
тәртіппен қарастыратын, оқушыларды тиянақтылыққа, іс-әрекет тәртіптілігіне
тәрбиелейтін, бағдарламалауда дұрыс әдет қалыптастыратын тіл болып
табылады.
Қазіргі кезде қоғам индустриялық кезеңінен кейінгі дамудың ақпараттық
кезеңіне аяқ басты. Ақпараттандыру жағдайында оқушылар меңгеруге тиісті
білім, білік, дағдының көлемі күннен –күнге артып, мазмұны өзгеріп отырады.
Оның басты сипаттарына – ақпараттық технологияларды кеңінен пайдалану
адамдардың көптеген қызмет түрлерін компьютерлендіру, коммуникациялардың
бірыңғай халықаралық жүйелерін жасау істері жатады. Казіргі кезде адамдар
үшін компьюртерлік сауаттылық дегеніміз кешегі жай сауаттылық (оқып жаза
білу) тәрізді міндетті түрде іске асырылатын шара болып саналуы тиіс. Олай
болса, егемендік алған еліміздің жас талапкерлері де бағдарламалау тілінің,
алгоритмдердің терминдерін ана тілінде оқып-үйренуі қажет.
Курстық жұмыстың өзектілігі – Паскаль тілінде электронды сағат
бағдарламасын құру.
Зерттеу мақсаты – Turbo Pascal бағдарламалау тілінде электронды
сағатты құру.
Зерттеу нысаны – Pascal бағдарламалау тілін пайдалана отырып,
электронды сағат құру.
Зерттеу міндеттері:
1) функциялар мен процедуралар қолдану аясын кеңейту;
2) бағдарламаны құру барысында ең тиімді әдісті таңдай білу.
Зерттеу әдістері: Функциялар мен процедураларды талдау, қосалқы
бағдарламалар туралы мәлімет жинау, компьютерде Turbo Pascal бағдарламасы
арқылы электронды сағат құру.
1.Паскаль бағдарламалау тілі
1. Паскаль бағдарламалау тілінің тарихы
Turbo Pascal – жоғарғы деңгейлі бағдарламалау жүйесі. Оның тұңғыш
нұсқасын 1970 жылы швейцрия физигі Niklaus Wirth ұсынған. Паскаль тілі
жөніндегі алғашқы дерек 1979 жылы пайда болып, содан бері тілдің дүниеге
келген жылы болып табылады. Автор тілді алғашқы арифметикалық есептеу
машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль
деп атап , тіл атауын үнемі бас әріппен жазылуын сұраған. Кейінен тілдің
көптеген нұсқалары жарық көреді.Солардың ішінде 1983 жылы Борланд
корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа
үлгісі Turbo Pascal бағдарламалаушылар арасында жоғарғы сұранысқа ие болды.
Бейсик тілі сияқты, Паскаль оқып-үйренуге жеңіл, түрлі салалық
ақпаратпен жұмыс істеуде нәтижелі болғандықтан, дүние жүзінде көп тараған
тілдердің бірі
Turbo Pascal бағдарламалау тілінің басқа тілдер сияқты өзіне тән
алфавиті бар. Паскаль тілінде жазылған бағдарлама ағылшын сөздерінен
құрылған қызмет сөзден тізбегінен тұрады. Әрбір аяқталған іс-қимылдан соң
нүктелі үтір қойылады.
Жоғарғы деңгейлі бағдарламалау тілдерінің бірі − Паскаль. Қазіргі
кезде Паскаль тілінің кеңейтілген ондаған диалектісі бар, оның ішінде IBM
PC-ге үйлесімді дербес компьютерлер жұмыс істей алатын Турбо Паскаль
диалектісінің варианттары да жеткілікті.
Turbo Pascal жүйесінде қарапайым есептерді шешудің бағдарламасынан
бастап, күрделі мәліметтер қорын құрудың сан қырлы жұмыстары жүргізеді.
Паскаль тілі бұрын құрылған (Фортран, Алгол және т.б.) бағдарламалау
тілдерінен маңызды ерекшелігі ол құрылымдық бағдарламалау идеясын өмірге
біртіндеп енгізу.
Паскаль бағдарламалау тілінің авторы - Цюрих информатика институтының
профессоры, бағдарламалау саласында құнды еңбектер жазған Швейцария ғалымы
Никлаус Вирт. Ол өзінің тілін дәлелдеп және зерттеп жасаған атақты (1934
ж) француз математигі Блез Паскальдің құрметіне Паскаль деп атады. Паскаль
тілі бастапқыда бағдарламалаудың негіздерін үйрету үшін жасалғанымен, қазір
түрлі есептерді шығаруға да арналған. (1623-1662 ж.ж.)
Паскаль тілінің ыңғайлылығы:
Тіл алгоритм құрылымын сақтауға негізделген. Мұнда бағдарламаны бірте-
бірте дамыту арқылы жеке блоктар түрінде құруға болады. Ол бағдарламалау
тәсілін үйрену үшін қажет: Тілге дамытылған мәліметтер типтері енгізілген.
Олар өңделетін мәліметтер элементтерін толық сәйкестендіріп сипаттауға және
жаңа мәліметтер типтеріненгізуге мүмкіндік береді.Мұнда кішігірім жеңіл
бағдарламалармен бірге күрделі құрылымды бағдарламаларды құруға болады.Тіл
синтаксисі жеңілдетілген, нұсқаулардың саны мүмкіндігінше азайтылған, т.б.
1.2. Паскаль бағдарламалау тілінің негізгі командалары
Паскаль тiлiнің бағдарламасы блоктардан құралады. Бiр блок iшiне
басқа да кiшігiрім блоктар кiре бередi. Блоктар екi бөлiмнен тұрады,
олардың алғашқысы — мәлiметтердi сипаттау бөлiмi, ал екіншісі – сол
мәліметтерді пайдалана отырып, әр түрлi іс - әрекеттерді (операцияларды,
амалдарды) атқару бөлiмi.
Мәлiметтердi сипаттау бөлiмi болмауы да мүмкiн, ал екiншi бөлiм —
негізгі бөлiм, ол міндетті түрде болуы тиiс. Басқа блокқа кірмейтін блок
басты (глобальды) блок болып саналады. Ал блок ішіндегі блок -жергіліктi
(локальдi) блок деп аталады. Басты блок — негiзгi бағдарлама блогы,
сондықтан ол әрқашанда болуы тиіс. Жергілікті блоктарға процедуралар мен
функциялар кіреді, олар кейбір бағдарламаларда болмауы да мүмкін.
(1.2.1)- сурет. Бағдарлама құрылымы диаграммасы
Бағдарламалардың негізгі объектiлерi болып саналатын айнымалы,
тұрақты және олардың типтерi де орналасқан блогына байланысты басты немесе
жергiлiктi деп аталады. Бағдарлама объектiлерiнiң де жұмыс iстеу, әсер ету
аймағы сол өздерi орналасқан блокпен шектеледi. Блоктық құрылым бағдарлама
мәтiнiн тиянақты түрде қатесiз құрастыруға көмектеседi. Бағдарламалық
блоктың синтаксикалық диаграммасын(1.2.1)- суреттегiдей етiп көрсетуге
болады.
Кез келген бағдарламаның тақырыбы, онан кейiн сипаттау бөлiмi және
begin және end сөздерiмен қоршалған операторлар бөлiмi болуы керек.
Сипаттау бөлiмi, толық болған жағдайда, 7 бөлiктен тұрады, олар:
(1.2.2)- сурет. Бағдарламалық блоктың диаграммасы
1) бағдарламамен байланысатын кітапханалық модульдер атауларының
тізімі (ол uses түйінді сөзімен анықталады);
2) белгілерді (label) сипаттау;
3) тұрақтыларды (const) сипаттау;
4) мәліметтертиптерін (type) анықтау;
5) айнымалылырды (var) сипаттау;
6) процедураларды (procedure) сипаттау;
7) функцияларды (function) сипаттау.
1.3. Меншіктеу, енгізу-шығару операторлары
Меншiктеу операторы барлық тiлдерде пайдаланылатын негiзгi оператор
болып табылады. Математикадағы қарапайым теңеу тәрiздi айнымалыларға сандық
(символдықта болуы мүмкiн) мән беру өрнегiн мұнда меншiктеу операторы деп
атайды.
Меншiктеу операторы жазылған өрнектердің мәнін есептеп, оны
айнымалыға беру үшін қолданылады. Өрнек мәнiнің типi айнымалының типіне
міндетті түрде сәйкес келуi тиiс. кейде нақты түрдегі айнымалыға бүтін сан
мәнін меншіктеуге болады, ондайда бүтін сан нақты санға айналып кетеді.
Меншіктеу операторының жазылу ережесі (пішімі) төмендегідей болады:
‹ айнымалы атауы›: = өрнек;
мұндағы ‹айнымалы атауы› - айнымалы идентификаторы, : = - меншіктеу
белгісі, яғни айнымалының мәні өрнектің есептелген сан мәнін қабылдайды;
өрнек - арифметикалық өрнек немесе сан.
(1.3.1)- суретте меншіктеу операторының синтаксикалық диаграммасы
келтірілген.
Бұл оператор екі міндет атқарады.:
1. Айнымалылардың белгілі мәндері бойынша арифметикалық өрнектің
сандық мәнін есептейді;
2. Табылған мән айнамалы атауына меншіктеледі (теніліп жазылады),
яғни анықталған мән сол айнымалыға сәйкес компьютер жады ұяшығына
орналасады. Мұнда әдеттігі теңдік = белгісімен бағдарламалау тіліндігі
меншіктеу := белгісін шатыстырмау қажет. Олар тек түр жағынан ғана емес
мағынасы жағынан да өзгеше. x= 5 өрнегі x- тің мәні 5- ке тең дегенді
білдіреді де, x=x+3 өрнегінің дұрыс мағынасы жоқ. Ал x:=5 өрнегі x
айнымалысына арналған ұяшыққа 5 санын жазамыз дегенді білдіреді. Ал енді
x:=x+3 өрнегі де дұрыс, өйткені бұл бұрынғы x ұяшығында тұрған санға 3
санын қосып x ұяшығына қайта орналастыру дегенді білдіреді.
Меншіктеу операторы тек арифметикалық өрнектер ушін ғана емес
логикалық және символдық өрнектер үшін де пайдаланады.
(1.3.1) Мысалы, егер K: =A AND B, мұндағы A- ақиқат, ал B- жалған
болса, онда K жалған мән қабылдайды. K ақиқат мән қабылдау үшін А және В
мәндері бірдей ақиқат болуы қажет, өйткені AND сөзі ЖӘНЕ деген ұғымды
білдіреді.
Сандық мәліметтерді енгізу операторы
Паскаль тілінде екі енгізу операторы қолданылады: Read( ); немесе
Readln( );
Read операторының жалпы түрі келесідей болады: Read(a1, a2,...,an) –
мұндағы a1,a2,...,an айнымалы атаулары, оларды енгізу операторларының
параметрлері деп те атайды. Айнымалылардың мәндері алғашқысынан бастап
пернетақта арқылы енгізіледі. Курсор келесі қатарға көшірілмейді. Ал
Readln(a1, a2,...,an) айнымалылардың мәндері пернетақтадан енгізілген соң
курсорды келесі жолға көшіреді. Read операторы орындалғанда параметрлер
өздеріне сәйкес мәндерді қабылдайды. Сандар арасына бiр немесе бiрнеше бос
орын қалдыруға болады, себебi сан енгiзiлгенде бос орын еске алынбайды.
Енгізілетін айнымалылардың мәндері integer, real, char немесе string
( сөз тіркесі) типтеріне жатуы мүмкін. Логикалық айнымалылардың мәндері
енгізілмейді. Айнымалылар мәндері өз типтеріне сәйскес Паскаль тілінің
ережелері бойынша енгізіледі. Егер ол шарт бұзылса (Х1 типі integer болса,
ал енгізгенде char типтес мән терілсе ), онда экранға енгізу –шығару қатесі
шығады.
Шығару операторы
Паскаль тілінде нәтижені экранға шығару үшін Write( );немесе Writeln(
); операторлары қолданылады. Write операторы былай жазылады
Write(a1,a2,...,an)
Егер В=2.15 болып мына команда орындалғанда: Write(‘B мәні=’, В);
экранда В мәні =2.15 деген сөз тіркесі көрсетіледі. Шығарылатын параметрлер
бір-бірімен үтір арқылы ажыратылып Write операторынан соң жай жақша ішіне
жазылады.
Паскаль тілінде параметрсіз шығару операторы Writeln( )жаңа жолға өту
үшін пайдалынады. Егер Writeln(a1,a2,...,an ) операторы пайдаланылса
a1,a2,...,an мәндерін экранға шығарған соң курсор келесі жолға көщеді. Write
операторын түсініктеме беруге пайдалануға болады. Write(‘А,В,С мәндерін
енгізіңдер’)
Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады,
олар integer, real, boolean (true, false),char, string сияқты типтер
түрінде беріле береді.
Шығарылатын параметрлер бір - бірімен үтір арқылы ажырытылып WRITE
түйінді сөзінен соң жай жақта ішіне жазылады.
Паскаль тілінде басқада алгоритмдік тілдердей бағдарламада алдымен
деректерді өңдеуге оларға әр түрлі іс-қимылдар қолдануға арналады. Деректер
әртүрлі болып келуі мүмкін біз жалпы деректер ұғымына сандарды символды
белгіліп жазуларды айнымалыларды тұрақты бір мәндерді енгізіп отырыңыз.
Бағдарламаның жұмыс істеу кезінде бір деректер бастапқы мән қабылдап
біреулері алынған нәтижесі болып келеді.
1.4.Қосалқы бағдарламалар
Бағдарлама құрастырғанда бір әрекеттер жиынтығын көп қайтара
пайдалану қажеттілігі жиі туады, онда бұл әрекеттер жиынтығы жеке
бағдарлама ретінде ерекшелінеді де, оған ат беріледі. Осы кезден бастап ол
Қосалқы бағдарлама болады, яғни оны басқа бағдарламаларда пайдалану
мүмкіндігі туады. Қосалқы бағдарламалар үлкен және күрделі бағдарламалар
жасағанда оқуды, түсінуді, өзгерістер енгізуді жеңілдетуге, компьютер жадын
тиімдірек пайдалануға мүмкіндік береді. Белгiлi бiр ат қойылып, жеке
бағдарлама түрiнде бөлек жазылған, қажет кезiнде оны қайталап пайдаланып
отыруға болатын негiзгi бағдарламаның арнайы бөлiгiн қосалқы бағдарлама деп
атайды.
Қосалқы бағдарламаны пайдалану:
• бағдарламаның көлемiн кiшiрейтедi;
• негiзгi бағдарламада пайдаланылған айнымалыларды қосалқы
бағдарламада да пайдалану мүмкiндiгiн бередi;
• қосалқы бағдарламаға берiлген компьютердiң жедел жады көлемiн ол
орындалмай тұрғанда, бос ұялар ретінде басқа мақсаттарға пайдалануға
болады;
• қосалқы бағдарламаны пайдалану тәсiлдерi құрылымдық бағдарламалау
талаптарына сай келедi.
Pascal-да Қосалқы бағдарламалар процедураларға (procedure) және
функцияларға (function) бөлінеді. Процедуралар мен функциялар
бағдарламалары сипаттау бөлімінде орналасады. Олар аяқталған бағдарламалар
болып табылады. Белгiлi бiр әрекеттердi орындау мақсатында алдын ала
бекiтiлген аты бойынша шақырылып орындалатын бағдарламаның тәуелсiз бөлiгі
процедура деп аталады. Процедура өрнектердiң операнды (аргументi) бола
алмайды. Бағдарламада процедураның атын көрсету оның орындалуына себепшi
болады да, мұндай әрекет процедураны шақыру деп аталады.Read(F) процедурасы
пернелерде терiлген бiр мәндi F айнымалысына меншiктейдi.
Функция да процедура секiлдi орындалады, бiрақ оның процедурадан екi
айырмашылығы бар, олар: функция аты өрнектердiң операнды рөлiн атқара
алады; функция орындалған соң, бағдарламаға тек бiр ғана мән берiледi.
Жұмысының нәтижесi бiр ғана мән болатын процедура функция деп аталады.
Тurbо Раsсаl бағдарламалау тілінде айнымалыларды негізгі бөлімде
сипаттау түрі – ауқымды айнымалылар деп аталады. Егер айнымалылар Қосалқы
бағдарламада сипатталса онда олар жергілікті айнымалылар деп аталады.
Сондай-ақ негізгі бағдарламада қосалқы бағдарламаны шақыруда қолданылатын
айнымалыларды нақты айнымалылар деп атайды. Ал Қосалқы бағдарламаның
атауында берілген айнымалылар формальды айнымалылар деп аталады. Әрбір
Қосалқы бағдарламаның атауы болады және олар айнымалыларды сипаттау
бөлімінен құралып, операторлық жақшаларда орналасқан командалар жиынынан
тұруы мүмкін.
Турбо Паскаль тiлiнiң барлық процедуралары мен функциялары екiге
бөлiнедi, олар: стандартты және тұтынушы өзi анықтаған бейстандарт топтар.
Стандартты функциялар мен процедуралар тiлдiң элементi ретiнде өз аттары
бойынша алдын ала анықталған түйiндi сөздермен белгiленедi. Ал бейстандарт
функциялар мен процедураларды әрбiр бағдарламалаушы өзі жаңа атау беруi
арқылы анықталады да, олар орындалатын әрекеттерден тұрады. Барлық
стандартты атауларды анықтау жолдары арнайы кiтапханалық модульдерде
көрсетілген, олардың да жүйелiк өз атаулары бар.
Іс-қимылдарды белгілі бір жиыны бағдарламаның бірнеше жерінде
кездессе, осы іс-қимылдарды іске асыратын операторлардың тобын қайталап
жаза беру көп ыңғайсыздық тудырады осы қайталанудан құтылу үшін көрсетілген
операцияның тобын бағдарламада бір рет жазып алып қажет жерінде шақыртуға
болады. Бағдарламаның әр жерінде керек уақытында бірнеше рет қолдануға
болатын операторлардың ерекшеленген тобын қосалқы бағдарлама
(подбағдарлама) дейді. Қосалқы бағдарламаларда бірнеше операцияларды біріге
отырып толық орындалуын қадағалап, бағдарламаның негізгі бөлігінде оның тек
атын көрсету арқылы бір рет орындаумен шектелуге болады.
Қайталанатын әрекеттерді қайта жазып көшіруге көп уақыт кетірмеу үшін
Турбо Паскальда қосалқы бағдарламалар ретінде функциялар мен процедураларды
қолданады. Процедуралардың циклдерден айырмашылығы, олар бағдарламаның әр
жерiнде оператор тiзбегi өзгермей, тек бiр ғана рет қайталанып отырады,
яғни әр пайдалану кезiнде бiр рет қана орындалады. Белгiлi бiр
әрекеттердi орындау мақсатында алдын ала бекiтiлген аты бойынша шақырылып
орындалатын бағдарламаның тәуелсiз бөлiгі процедура деп аталады. Процедура
өрнектердiң операнды (аргументi) бола алмайды. Бағдарламада процедураның
атын көрсету оның орындалуына себепшi болады да, мұндай әрекет процедураны
шақыру деп аталады. Read(F) процедурасы пернелерде терiлген бiр мәндi F
айнымалысына меншiктейдi. Процедура жалпы түрде былай жазылады:
Procedure N(P1:T1; P2:T2;...; var P3:T3;...);
Мұндағы N-процедура аты; PI – формальды, келісімді параметр
көрсеткіштер. TI – олардың түрлері.
Функция да процедура секiлдi орындалады, бiрақ оның процедурадан екi
айырмашылығы бар, олар: функция аты өрнектердiң операнды рөлiн атқара
алады; функция орындалған соң, бағдарламаға тек бiр ғана мән берiледi.
Жұмысының нәтижесi бiр ғана мән болатын процедура функция деп аталады.
Процедура түрiндегi қосалқы бағдарлама бiрнеше операторлар тiзбегiнен
тұрады және оның жұмыс нәтижесі де бiрнеше мән болуы мүмкiн. Функция
түріндегі қосалқы бағдарлама математикалық функциялар тәрізді бастапқы
оперант (аргумент) арқылы белгiлi бiр өрнекті есептей отырып, нәтижесінде
тек бiр ғана мән бередi. Функцияның және процедураның жұмыс iстеуi үшін
берiлген бастапқы мәлiметтер, яғни нақтылы параметрлер қажет.
Турбо паскаль тілінің барлық процедуралары мен функциялары екіге
бөлінеді, олар: стандартты және тұтынушы өзі таңдайтын бейстандартты
топтар. Стандартты функциялар мен процедуралар Turbo Pascal тілінің
құрамында тұрақты системалық атпен аталып орындалады. Оларға арнаулы USES
пайдаланушылар кітапханасында орналасқан – SYSTEM, CRT, GRAPH, GRAPH3,
OVERLAY, PRINTER, TURBO3, TURBO VISION модульдерінің барлық функциялары мен
процедуралары жатады. SYSTEM модулінің процедуралары мен функциялары
Turbo Pascal бағдарламасымен бірге автоматты түрде іске қосылады, сондықтан
оны пайдаланушылар бөлімінде көрсетпесе де болады және оның құрамында ішкі
стандартты процедуралар мен функциялар кез келеген жерде пайдалана беруге
болады
Стандартты кітапханалық модульдер
Турбо Паскаль тiлiнің 6.0 және одан жоғарғы нұсқаларына 9 стандартты
кiтапханалық модуль кiредi, олар:
System, Crt, Dos, Graph, Graph3, Overlay, Printer, Турбо3 және Турбо Vision
арнаулы кiтапханасы. System модулi келiсiм бойынша бiрден iске қосылады, ал
қалғандарын бағдарлама құрушының өзi стандартгы Uses түйiндi сөзi арқылы
енгiзедi. (1.4.1)мысал: Uses Crt, Dos, Printer;
System — Турбо Паскаль тiлiнiң негiзгi модулi, осының құрамындағы
стандартты қосалқы бағдарламалар басқа барлық модульдердiң жұмысын
қамтамасыз етедi.
Crt — дисплей мен пернетақтаны басқарады.
Dos — Dos жүйесiнiң әр түрлi функцияларын орындау iсiн жүзеге
асырады.
Graph— қазiр қолданыстан шыққан немесе сирек кездесетiн CGA, EGA,
VGA, HRC, IBM 3270, MCGA және ATT6300 графикалық адаптерлерiмен
(дисплейлерiмен) тиiмдi жұмыс атқару мүмкiндiктерi iске қосылады да, түрлi-
түрлi графика элементтерiн экранға шығару жұмысын атқарады.
Graph3— Турбо Паскаль 3.0 нұсқасының стацдартты графикалық қосалқы
бағдарламаларын пайдалануды қамтамасыз етедi.
Overlay — оверлейлiк (көлемдi бағдарламаны шағын бөлiктерге бөлiп,
қажет болғанда оны қайтадан бiртұтас күйде жұмыс атқаратын қалыпқа келтiру)
бағдарламаларды ұйымдастыру мүмкiндiктерiн жасайды.
Printer — принтерде мәлiмет басып шығаруды жылдамдатады.
Турбо3 — бағдарламаның Турбо Паскаль 3.0 нұсқасымен сәйкестiгiн
барынша үйлестiру iсiн атқарады.
Турбо Vision — тұтынушы интерфейсiн (жұмыс ортасын) жасайтын
объектiге бағытталған қосалқы бағдарламалар кiтапханасы iске қосылады.
Процедураларды қолдану
Тurbо Раsсаl бағдарламалау тілінде процедураның жалпы құрылымы:
Рrосеdurе рrос_nаmе(а1,b1,...: tуре_1;а2,b2,...:tуре2);
bеgіn
процедураның негізгі бөлігі
еnd;
Мұндағы: рrос_nаmе - процедура атауы. Процедура атауында бос орын
белгісі қолданылмай символдар тізбегінен құралады. Процедура атауы әріптен
басталуы тиіс; аl,b1,а2,b2 - қосалкы бағдарламада қолданылатын айнымалылар
тізбегі. Негізгі бағдарламамен байланыс ретінде қолданылатын айнымалылар
сипатталады; tуре_l,tуре2 - айнымлылар tипі (1.4.2)мысалы: х:іntеgеr;
у:rеаl және т.б.
bеgіn, еnd;- процедураның басы мен соңы.
(1.4.1)Мысал S мәнін табу бағдарламасын құру керек:
S = 2! + 3! + 4! + ... + n!.
Program esep1;
Var s,i,p,n: integer;
Procedure fakt(n:integer; var f: integer);
Var i: integer;
Begin F:=1; for i:=1 to n do f:= f*I;end;
begin
Writeln(‘n=?’); readln(n); s:= 0; For i:=1 to n do
begin Fakt(i, p); S:= s + p; End;
Writeln(‘S=’, s); End.
Функцияны қолдану
Тurbо Раsсаl бағдарламалау тілінде функцияның жалпы құрылымы:
Funсtіоn funс_nаmе(а1,а2,...: tуре1): tуре_2;
bеgіn
процедураның негізгі бөлігі;
еnd;
Мұндағы:
funс_nаmе - функция атауы. Функция атауында бос орын белгісі
қолданылмай символдар тізбегінен құралады. Функция атауы әріптен басталуы
тиіс (1.4.3.) мысал: sum, рrl, usеr2); аl,а2 - қосалкы бағдарламада
қолданылатын айнымалылар тізбегі. Негізгі бағдарламамен байланыс ретінде
қолданылатын айнымалылар сипатталады; tуре_l - айнымлылар типі (1.4.4)
мысал: х:іntеgеr; у:rеаl және т.б.); tуре2 - функцияның типі; bеgіn -
функцияның басы; еnd; - функцияның соны.
(1.4.5) Мысал Пернетақтадан енгізілген бүтін санның цифрларының
қосындысын табу бағдарламасын құру керек.
Program esep2;
Uses crt;
Var n: longint; s: integer;
Function sum(longint):integer;
Var y:integer;
Begin Y:=0;
While x0 do Begin y:=y+x mod 10;
x:=x div 10;
End; If y0 then sum:=-y else sum:=y;
End;
Begin {негізгі бөлім}
Checkeof:=true;
Writeln(‘Санды енгізіңіз. Eof бойынша енгізуді аяқтау’);
While not eof do Begin Readln(n); Writeln(n,‘ сан цифрларының
қосындысы тең ’);
Writeln(sum(n)); End; End.
Функцияларда рекурсия қолдануға болады. Мұндай бағдарламаларды
рекурсивті бағдарламалар деп атайды. Рекурсия дегеніміз ол қосалқы
бағдарламаның өзін өзі шақыруы. Егер қосалқы бағдарламада рекурсияны
аяқтауды білдіретін шарт қарастырылмаса, онда функция өз-өзін тоқтаусыз
шақыра береді.
(1.4.6.)Мысал (1.4.5.)мысалында келтірілген бағдарламаны рекурсиялы
бағдарлама ретінде жазайық.
Program esep3;
Var y,n,i,s: longint;
Function fakt(n:integer): longint;
Begin If n=1 then fakt:=1 else fakt:=fakt(n-1)*n; End;
Begin Writeln(‘n=?’); readln(n); s:=0; For i:=2 to n
do s:=s+fakt(i); writeln(‘S=’,s);
End.
1.5.Паскаль тілінің функцияларымен процедураларын қолдану
Қайталанатын әрекеттердi қайта жазып көшiруге көп уақыт кетiрмеу үшiн
Турбо Паскальда қосалқы бағдарламалар ретiнде функциялар мен процедураларды
қолданады. Процедуралардың циклдерден айырмашылығы, олар бағдарламаның әр
жерiнде оператор тiзбегi өзгермей, тек бiр ғана рет қайталанып отырады,
яғни әр пайдалану кезiнде бiр рет қана орындалады.
Белгiлi бiр әрекеттердi орындау мақсатында алдын ала бекiтiлген аты
бойынша шақырылып орындалатын бағдарламаның тәуелсiз бөлiгі процедура деп
аталады. Процедура өрнектердiң операнды (аргументi) бола алмайды.
Бағдарламада процедураның атын көрсету оның орындалуына себепшi болады да,
мұндай әрекет процедураны шақыру деп аталады. Read(F) процедурасы
пернелерде терiлген бiр мәндi F айнымалысына меншiктейдi.
Функция да процедура секiлдi орындалады, бiрақ оның процедурадан екi
айырмашылығы бар, олар: функция аты өрнектердiң операнды рөлiн атқара
алады; функция орындалған соң, бағдарламаға тек бiр ғана мән берiледi.
Жұмысының нәтижесi бiр ғана мән болатын процедура функция деп аталады.
Процедура түрiндегi қосалқы бағдарлама бiрнеше операторлар тiзбегiнен
тұрады және оның жұмыс нәтижесі де бiрнеше мән болуы мүмкiн. Функция
түріндегі қосалқы бағдарлама математикалық функциялар тәрізді бастапқы
оперант (аргумент) арқылы белгiлi бiр өрнекті есептей отырып, нәтижесінде
тек бiр ғана мән бередi. Функцияның және процедураның жұмыс iстеуi үшін
берiлген бастапқы мәлiметтер, яғни нақтылы параметрлер қажет.
Турбо Паскаль тiлiнiң барлық процедуралары мен функциялары екiге
бөлiнедi, олар: стандартты және тұтынушы өзi анықтаған бейстандарт топтар.
Стандартты функциялар мен процедуралар тiлдiң элементi ретiнде өз аттары
бойынша алдын ала анықталған түйiндi сөздермен белгiленедi. Ал бейстандарт
функциялар мен процедураларды әрбiр бағдарламалаушы өзі жаңа атау беруi
арқылы анықталады да, олар орындалатын әрекеттерден тұрады. Барлық
стандартты атауларды анықтау жолдары арнайы кiтапханалық модульдерде
көрсетілген, олардың да жүйелiк өз атаулары бар.
Процедура тақырыбы көмекші бағдарламаны анықтаушы procedure
қызметші сөзінен басталып, оның оң жағына процедураның атауы енгізіледі.
Одан әрі жай жақшалар ішінде формальды параметрлер сипатталады да,
тақырыптың соңына нүктелі үтір символы қойылады. Ол- процедура тақырыбын
өзінің басқа бөлімдерінен ажырату белгісі. Тақырыптан соң негізгі
бағдарламадағы сияқты сипаттау бөлімдерінің енгізілуі мүмкін. Бұдан әрі
begin, end қызметші сөздерімен шектелген операторлар бөлімі жазылады да,
end – тен соң нүктелі үтір таңбасы қойылады:
Procedure атау [(типтері сипатталған формальды параметрлер
тізімі)];
[сипаттау бөлімдері]
begin
операторлар бөлімі
end.
... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz