https://electroinfo.net

girniy.ru 1 2 ... 24 25

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

Семей қаласының шәкәрім атындағы семей мемлекеттік университеті


3 деңгейлі СМЖ құжаты

ПОӘК

ПОӘК 042-39.1.1/01- 2013

ПОӘК

«Программалау тілдері» пәні бойынша оқу-әдістемелік материалдар

Редакция №____от_____



5В010900 – «Математика» мамандығына арналған


«Программалау тілдері»

ПӘНІНІҢ ОҚУ-ӘДІСТЕМЕЛІК КЕШЕНІ


ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР


Семей

2014


МАЗМҰНЫ



  1. Глоссарий

  2. Дәрістер

  3. Практикалық және зертханалық жұмыстар

  4. Студенттің өздік жұмысы

ГЛОССАРИЙ


Begin – End - Программа денесі(операторлар тізбегі);

Const – тұрақтыларды жариялау (атуы= тұрақты мәні).

Clrsсr - экранды тазалауды іске қосу.

DIV — бүтін бөлу (бүтін санды бүтін санға бөлгендегі бөліндінің бүтін бөлігін табу), мысалы, 10 div 3 амалының нәтижесі 3.

Function - пайдаланушылар функциясын хабарлау.

Goto - кезн өзгертіп, белгіленген операторға тікелей көшуге болады.

Label - белгілерді жариялау.

MOD — қалдықты табу (бүтін сандарды бөлген кездегі бүтін қалдықты табу), мысалы, 10 mod 3 — нәтижесі 1.

Program - программа атауы.

Uses - стандартты және пайдаланушылар модульдерінің атауларын жариялау.


Туре – программада қолданылатын пайдаланушы типтерін жариялау (тип атауы=тип сипаттамасы).

Var – айнымалылыарды жариялау бөлімі (Айнымалылар атауы: типі).

Procedure - пайдаланушылар процедурасын хабарлау.

Арнайы символдарға пунктуация және арифметикалық операция (амалдар) белгілері жатады.

Арифметикалық амал белгілері (+) қосу; (*)көбейту; (-) азайту; (/) бөлу.

Атау — идентификатор (identification — объектінің белгілі бір символдар тіркесіне сәйкестігін бекіту) программаны және программадағы тұрақтыларды, типтерді, айнымалыларды, функцияларды, файлдарды т.б. белгілеп жазу үшін қажет.

Айыру белгілеріне бос орын, барлық басқару символдары,тыныс белгілері, ENTER (келесі жолға көшіру) пернесін басу белгісі және түсініктемелер жатады.

Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады.

Деректер — сан мәндері мен мәтін түріндегі сөз тіркестерін мән ретінде қабылдай алатын тұрақтылар (константалар), айнымалылар т.б. осы тәрізді құрылымдар немесе солардың адрестері.

Дерек енгізу — бастапқы деректерді пернетақтадан, дискіден немесе енгізу-шығару порттарынан енгізу арқылы жүзеге асырылады.

Диапазондық немесе ауқьмдық тип. Мұнда көрсетілген шама қабылдай алатын мәннің алғашқысы (ең кіші) мен соңғысы (ең үлкен) екі нүкте арқылы бөлініп көрсетіледі.

Жергілікті (локальды) блок - блок ішіндегі блок – жергілікті (локальды) блок деп аталады. Жергілікті блоктарға процедуралар мен функциялар кіреді, олар кейбір программаларда болмауы да мүмкін.

Қатынас таңбалары немесе салыстыру белгілері: = (тең), <> (тең емес), < (кіші), > (үлкен), < = (үлкен емес, < таңбасының орнына), > = (кіші емес, > таңбасының орнына).


Көмекші программа — алдын- ала қандай да бір атаумен аталған командалар тобы. Олар программаның кез - келген жерінен оның атауын көрсету арқылы шақырылып атқарыла береді.

Логикалық амал белгілері:

AND — және (логикалык көбейту) операциясы;

OR — немесе (логикалык қосу) операциясы;

NOT — емес (терістеу немесе жоққа шығару) операциясы;

XOR — арифметикалық немесе амалы;

SHL — биттер (1 мен 0-дер) тіркесін солға ығыстыру;

SHR — биттер (1 мен 0-дер) тіркесін оңға ығыстыру.

Логикалық типтегі (BOOLEAN) шамалар, негізінен, екі мән қабылдайды — TRUE (ақиқат) және FALSE (жалған), олар компьютер жадында бір байт орын алады.

Негізгі блок – негізгі программа блогы, сондықтан ол басқа блоктарға кірмеуі тиіс.

Нақты сан түріндегі типтер - ондық сандар бүтіні мен бөлшегін бөлетін үтірі жылжымалы және тұрақты түрде жазылады. Үтірі тұрақты ондық сандар кәдімгі математикадағыдай жазылады, бірақ үтір орнына нүкте қойылады. Мысалы, 25.48, -127.25, 0.67, -8.0. Үтірі жылжымалы ондық сандар дәрежелік көрсеткіші берілген экспотенциалды түрде жазылады, мысалы, -1.25Е + 12 (1,25*1012), 1.3Е-05 (1,3*105) т.б.

Нәтиже алу (шыгару) — аралық немесе қорытынды мәліметтерді экранға, дискіге немесе енгізу-шығару порттарына жазу.

Операциялар немесе амалдар — берілген және есептелген мәндерді меншіктеу, соларды өңдеу, салыстыру операцияларын орындайды.

Ондық цифрлар. 0,1, 2, 3, 4, 5, 6, 7, 8, 9 сан таңбалары.

Оналтылық цифрлар ондық цифрлардан және А-дан Ғ-қа (немесе а-дан f-қа) дейінгі латын әріптерінен тұрады.


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

Сандар мен айнымалылар бүтін және нақты болып бөлінеді. Бүтін сандар: +4, -100, 15743, 0 т.б. Разрядтылығы 16 биттен тұратын дербес компьютер үшін қолданылатын бүтін сандар (ағылшынша INTEGER) -32768-ден +32767 дейінгі аралықта ғана жазылады, бұдан үлкен сандар нақты сандарға айналдырылады.

Стандартты типтер - Паскаль тілінде төмендегі қарапайым типтер пайдаланылады:


  • бүтін типтер - SHORTINT, INTEGER, LONGINT, BYTE, WORD;

  • нақты тип — REAL, SINGLE, DOUBLE, EXTENDED, COMP;

  • логикалық— BOOLEAN;

  • символдық — CHAR;

  • саналатын тип;

  • ауқымды (диапазонды) тип.

Символдық типтегі (CHAR) шамалар мән ретінде тек бір таңбаны ғана қабылдай алады. Мәннің символ екендігін көрсету үшін оны апостроф ішіне алып жазады. Мысалы, ‘а’ , ‘һ’ , ‘5’, ‘*’, т.б.

Саналатын тип стандартты типке жатпайды, ол параметрлердің мәніне сәйкес келетін атаулар (идентификаторлар) тізімінен тұрады. Атаулар тізімі үтір арқылы ажыратылып, жай жақша ішіне жазылады. Мысалы:

атау = (1-идентификатор, 2-идентификатор,..., n-идентификатор);

kynder = (дүйсенбі’, ‘ сейсенбі ‘, ... , ' жексенбі );

Идентификаторлар орналасқан орны бойынша 0-ден бастап нөмірленеді. Бір идентификатор тек бір ғана саналатын типті көрсетеді.

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

Түсініктеме — программа жолдары соңында немесе оның түйінді сөздері арасында қазақша (орысша) түсінік беретін пішінді жақшаға алынып жазылған сөз тіркестері. Олар программа операторларының орындалуына ешқандай әсер етпейді.


Тіркестік типтегі шамалар (STRING) апостроф ішіне алынған символдар тізбегін қабылдайды. Мысалы, "компьютер", "универ­ситет", "main", "#&*" т.б.

Цикл — белгілі бір шарттар орындалған (кейде егер орындалмаса) жағдайда көрсетілген командалар жиыны бірнеше рет қайталанып атқарылады. Қайталау саны бүтін санмен беріледі.

Шартты турде атқарылу — белгілі бір көрсетілген шарттың орындалуына байланысты (ақиқат болса), командалар жиыны атқарылады, әйтпесе олар аттап өтіледі немесе басқа командалар жиыны орындалады.


ДӘРІСТЕРДІҢ ҚЫСҚАША КОНСПЕКТІСІ


1-ДӘРІС. Бағдарламалау жүйелері туралы жалпы мәлімет.


  1. Бағдарламалаудың типтік жүйелері.

  2. Жұмыс істеу схемасы. Жасалатын бағдарлама құрылымы.

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

  4. Бағдарламалау парадигмалары. Бағдарламалау тілдерінің классификациясы.



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

Pentium типті процессорлардың орындайтын қарапайым әрекеттерінің саны мыңнан асады. Процессордың әрбір әрекеті үшін арнайы команда бар, олар 0-ден 255-ке дейінгі сандармен немесе сандар тобымен жазылады.

Процессордың командалар жүйесі. Егер процессордың барлық командалары мен әр команда үшін сандық кодтар жазылған таблицаны көз алдымызға елестетсек, мұндай таблица процессордың командалар жүйесі деп аталады. Әртүрлі процессорлардың командалар жүйесі әртүрлі. Сондықтан әртүрлі компьютерлік жүйелерде жазылған программалар бір-бірінде орындалмайды, оны команда жүйесі бойынша программалық сәйкестенбеу деп атайды.


Pentium модельді процессорлардың әртүрлі буындарға жататын процессорлардың команда жүйесі бойынша сәйкестенбеуінен пайдаланушыларға қолайсыздық тумауы үшін «жоғарыдан төменге» сәйкестену принципі енгізілген. Мысалы, қазіргі заманғы Pentium ІІІ процессорлы компьютерлерде Pentium І процессорлы компьютерлерде жасалған программалар орындалуы керек. Ал керісінше ертеректегі буын компьютерлерінде қазіргі компьютерлерде жасалған программа әрдайым орындала бермейді.

Компьютерлік программа. Компьютерлік программа – ол орындалатын инструкциялардың реттелген тізбегі.

Программаны машиналық кодта жазу. Процессордың барлық командалары 0-ден 255-ке дейінгі мәні бар сандармен немесе осындай сандар тобымен (байттармен) көрсетіледі. Тура осы сияқты оперативті жадыдағы сандық берілгендер мен ұяшық адрестері көрсетіледі. Егер біз процессордың программамен жұмыс істеуіне қарайтын болсақ, онда тек сандардың ұзын қатарын ғана көреміз. Олардың кейбірі - командалар, кейбірі - жады ұяшығының адресі, кейбірі – берілгендер: сандар, әріптер, дыбыстар, бейне т.с.с. Мысалы:

33, 0, 1, 34, 210, 15, 238 ...

Программаны жазудың мұндай формасы машиналық код деп аталады. Бұл жалғыз ғана процессорға түсінікті программаның жазылу түрі. Өкінішке орай ол адамдардың көпшілігіне түсініксіз.

Программалау тілдері. Қазір программаны машиналық код түрінде жазу қабылданбаған. Себебі, ол өте қолайсыз. Оның орнына программалау тілдері қолданылады. Программалау тілін оқу үшін оның командалары мен қолданылу ережелерін меңгеру керек. Программалау тілдерінің командалары – операторлары деп аталады.

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

Транслятор – программа. Программа мәтіні – ол жұмыс істеу мүмкіншілігі бар программа емес, тек қана текст. Оны оқуға болады, бірақ компьютерде орындауға болмайды. Процессор тек қана машиналық кодты түсінеді, сондықтан адам жазған программа мәтінін машиналық кодқа аудару керек. Осы жұмысты арнайы транслятор-программалар орындайды. Транслятор – программаларды компьютерге орнатып алу қажет.


Трансляторлардың түрлері. Трансляторлар – аудармашы бағдарламалар. Олар аударманы әртүрлі тәсілмен орындайды, сондықтан олар әртүрлі болады. Трансляторлардың негізгі екі түрі: компиляторлар және интерпретаторлар.

Компилятор-программалар. Олар программист жасаған бағдарлама мәтінін толығымен қарап шығады. Синтаксикалық қателерді тексеріп, белгілі бір мазмұнды анализ жасағаннан кейін барып, машиналық кодқа автоматты түрде аударады (трансляциялайды). Нәтижесінде программа жинақы әрі тез жұмыс істейтін болады. Компилятор программалардың негізгі кемшілігі – берілгендердің күрделі құрылымын өңдеуге бағытталған жұмысының көптігі.

Интерпретатор-бағдарламалар. Интерпретатор программа мәтінінен кезектегі операторды алып, оның құрылымын талдап, сонан кейін бірден орындайды (трансляциялайды). Ағымдағы оператор толық орындалып болған соң ғана келесі операторға көшеді. Егер программада бір оператор бірнеше рет кездесетін болса, оны бірінші рет кездескендей орындайды. Осы қайталанатын есептеулерді қайта-қайта орындау керектігінің салдарынан программа баяу жұмыс істейді.

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


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

Жоғарғы деңгейдегі программалау тілдеріне: Fortran, Cobol, Algol, Pascal, Basic, C(Си), C++, Java тілдері жатады.

Алгоритмдік (модульдік) программалау. Алгоритм – есепті уақыт бойынша шектеулі қарапайым әрекеттер тізбегіне бөлу тәсілімен шешуді формалды жазу. Алгоритмдік программалаудың негізгі идеясы – программаны әрбіреуі бір немесе бірнеше әрекет орындайтын модульдердің тізбегіне бөлу болып табылады. Модульге негізгі талап – оның орындалуы әрқашан бірінші командадан басталып, соңғы командадан аяқталуы керек. Таңдалынып алынған программалау тілінде алгоритм берілгендерді көрсету, мәндерді есептеу, программаның орындалу тізбегін басқару командаларының көмегімен жазылады.

Құрылымдық программалау. Модульдік программалауда программа мәтіні меншіктеу операторларының сызықтық тізбегі, циклі, шартты операторлар екені белгілі. Мұндай тәсілмен бірнеше жүз код жолдарынан тұратын өте күрделі емес программаларды жазуға болады. Одан әрі программа мәтінінің түсініктілігі төмендейді, себебі көптеген бірінің ішіне бірі салынған шартты операторлар, циклдер пайда болады да, программа логикасы шатасады. Сондықтан операторлардың ұзақ сызықтық тізбегін теру және тексеру мүмкін емес. Мөлшері бойынша орташа қосымшаларды жасау үшін құрылымдық программалау қолданылады. Құрылымдық программалаудың негізі идеясы - программа құрылымы шығарылып жатқан есептің құрылымын көрсетіп отыруы керек. Осы мақсатта ішкі программа ұғымы енгізілген. Ішкі программалар – программа мәтінінің басқа бөліктеріне тәуелсіз, қажетті әрекетті орындайтын операторлар жиынтығы. Программа әрбіреуі программаның бір әрекетін орындайтын бірнеше ұсақ ішкі программаларға бөлінеді. Осы ішкі программаларды біріктіре отырып, соңғы алгоритмді қарапайым операторлардан емес, белгілі мағынасы бар, аяқталған код жиынтықтарынан тұратын қорытынды алгоритм құрылады. Ішкі программалардың жеке атаулары болады. Ішкі программаларды қолдану мүмкіндігі программалау тілін процедуралы тілдер класына жатқызады.



2– ДӘРІС. Тurbo Раscal бағдарламалау жүйесі.


  • Паскаль тілінің негізгі элементтері. Алфавит. Резервтегі (түйінді) сөздер.

  • Айнымалылар. Тұрақтылар. Өрнектер. Операторлар.

  • Арнайы символдар.

  • Паскаль-бағдарламасының құрылымы.

  • Сипаттау бөлімдері. Айнымалыларды сипаттау. Тұрақтыларды сипаттау.



Программа – белгілі бір программалау тілінің синтаксистік ережелеріне сәйкес жазылған нұсқаулар тізбегі. Pascal тілінде программа жазу үшін программалаушы оның жазылу ережесін жақсы білу керек.

Pascal тіліндегі программа жалпы мына түрде жазылады:

Программа тақырыбы:

Сипаттау бөлімі

Begin

Орындалатын бөлім

end.

Программа тақырыбы Program қызметші сөзінен басталады. Ол программа атынан және параметрлерден тұрады. Мысалы:

Program esep1 (input, output); (стандартты енгізу, шығару файлы);

Мұндағы esep1 – программаға берілген атау. Программалаушы программа атауын өз қалауынша бере алады. Программа атауы оларды екінші бір программадан ажыратуға қажетті көрсеткіш.

Сипаттау бөлімінде программада кездесетін барлық берілгендердің атауы, типі, мүмкін болатын мәндері, т.б. хабарланады.

Орындалатын бөлімде begin және end қызметші сөздері арасына операторлар тізбегі жазылады. Сол себепті, begin (ашу) және end (жабу) қызметші сөздерін операторлар жақшасы деп атаса да болады. Оператор - нұсқаулардың машиналық тілде жазылуы. Сонда әрбір оператор орындалуға қажетті әрекетті машинаға түсінікті түрде сипатталады. Программаның бір жолына бірнеше операторларды жазуға болады. Олардың арасына (;) нүктелі үтір таңбасы, ал программаның соңын көрсететін end сөзінен кейін (.) нүкте қойылады. Программаның орындалатын бөлімінде жазылған операторлар тізбегін-программа денесі деп атаймыз.


Turbo Pascal тіліндегі программа төмендегі бөлімдерден тұрады:

Программа тақырыбы;

Берілгендерді сипаттау;

Белгілерді хабарлау бөлімі;

Тұрақтыларды хабарлау бөлімі;

Типтерді хабарлау;

Айнымалыларды сипаттау бөлімі;

Процедура-функцияны хабарлау бөлімі;

Орындалатын бөлім

Begin

Программа денесі(операторлар тізбегі);

End.


Сонда программа құрылымы мына түрде болады:

Program программа атауы;

Uses

Модуль атаулары;

Label

Белгілер атаулары;

Const

Тұрақты атуы = тұрақты мәні;

Туре

Тип атауы = тип сипаттамасы;

Var

Айнымалылар атауы: типі;

( Пайдаланушылар процедурасын және функциясын хабарлау);

Begin

Операторлар тізбегі;

End.

Uses бөлімінде стандартты және пайдаланушылар модулі жарияланады. Мысалы:

Uses сrt;

Begin clrsсr; (экранды тазалауды іске қосу)


Кез келген операторды белгілей отырып, goto операторы арқылы программаның орындалу ретін өзгертіп, белгіленген операторға тікелей көшуге болады. Белгі атауы символдар тізбегі және бүтін оң сандармен қойылады. Оператор мен белгі арасына қос нүкте таңбасы жазылады. Белгілерді хабарлау бөлімі Label қызметші сөзінен басталады. Програмада кездесетін барлық белгілерді Label бөлімінде хабарлау қажет.

Label белгі 1, белгі 2, белгі 3;

Мысалы:

Label 1, 15, sum, AC;

Тұрақтыларды сипаттау бөлімі const (латының constants-тұрақты деген сөзінің қысқартылуынан алынған) қызметші сөзінен басталады.

Const тұрақты атауы=тұрақты мәні;

Мысалы:

Const

G=9.8;

Type бөлімде пайдаланушылар тарапынан анықталған типтер хабарлананды. TurboPascal-да программалаушы стандартты типтер арқылы жаңа типті құруға мүмкіндігі бар. Мұндай типтерді қолдану программаның құрылымын күрделендіреді. Сол себептен type бөлімі қарапайым программада кездеспейді. Бірақ, пайдаланушылар типі программадағы қателіктерді тез табуға септігін тигізеді. Туре бөлімінің жалпы жазылуы:

Туре

Тип атауы=сипаттамасы;

Мысалы:

Туре

Matris= array[1..3, 1..2] of real;

Бұл мысалда тип атауы – Matris, кесте берілген оның жол бойынша 3, ал бағаны бойынша 2 элементі бар.

Кестенің элементтерінің тегі нақты – real.

Программада кездесетін барлық айнымалы Var (variable-айнымалы деген сөзінің қысқартылуы) бөлімінде хабарлануы керек. Var бөлімінде айнымалының атауы, типі хабарланады. Программаның орындалуы барысында, айнымалы оған тағайындалған атауы бойынша шақырылады. Айнымалының мәні Var бөлімінде анықталмағандықтан оған бастапқы мән берілуі қажет.

Егер, программада типтері әр түрлі айнымалы болса, Var деп бірнеше рет жазудың қажеті жоқ, яғни Var сөзі бір-ақ рет жазылып, айнымалылардың тізімдері толық көрсетіледі. Айнымалылар бөлімінің жазылуы:

Var

Айнымалылар атауы: типі;

Мысалы:

Var

a,b,c:integer;

D,x1,x2:real;

y:char;

flag:boоlean;

Мұндағы a,b,c-айнымалылар атаулары, олардың типтері бүтін (integer).

Ал, D,x1,x2-нақты (real), у-символдық (char), flag-логикалық (boоlean) айнымалылар.

Программалауды жеңілдетуге бір программаны бірнеше кішкене бөліктерге бөлуге болады.

Программаның осындай бөліктері-көмекші программа (немесе ішкі программа) деп аталады. Көмекші программа 2-ге бөлінеді: процедуралар және функциялар. Процедуралар мен функциялардың 2 түрі бар: стандартты және пайдаланушылар дайындаған.


Стандартты функциялар процедуралардың атауы, атқаратын қызметтері алдын-ала анықталғандықтан, оларды программаның басында хабарлаудың қажеті жоқ, ал, пайдаланушылар процедурасы мен функцияларын программаның арнайы бөлімінде хабарлау керек. Бұл бөлімде пайдаланушы процедурасы мен функцияларына атау берілді. Оларды осы атауы бойынша программаның негізгі бөлімінде шақыруға болады.

Процедураның хабарлау бөлімінің жалпы жазылуы:

Prosedure атауы (формальды көрсеткіштері);

Begin

Процедураның орындалатын бөлімі;

End;

Функцияны хабарлау бөлімінің жалпы жазылуы:

Function функция атауы (формальды көрсеткіштер:типі): нәтиже типі;

Begin

Функцияның орындалатын бөлімі;

End;

Паскаль тілінің программасы блоктардан құрылады. Қандай-да бір блок ішінде басқа да кішігірім блоктар орналасуы мүмкін. Блоктар екі бөлімнен тұрады, олардың алғашқысы - мәліметтерді сипаттау бөлімі, ал екінші - сол мәліметтерді пайдаланып әр түрлі іс-әрекеттерді (операцияларды) атқару бөлімі.

Мәліметтерді сипаттау бөлімінің болуы міндетті емес, ал екінші негізгі бөлімнің болуы керек. Ал блок ішіндегі блок – жергілікті (локальды) блок деп аталады.

Негізгі блок – негізгі программа блогы, сондықтан ол басқа блоктарға кірмеуі тиіс. Жергілікті блоктарға процедуралар мен функциялар кіреді, олар кейбір программаларда болмауы да мүмкін.

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

Turbo Pascal программасының тақырыбын (атауын) жазбай кетуге де болады, бірақ жалпы Паскаль тілінің стандарты бойынша программада тақырып болуы қажет.


Паскаль тіліндегі кез келген программаның тақырыбы, одан кейін сипаттау бөлімі және begin және end сөздерімен қоршалған, операторлар бөлімі болуы керек. Сипаттау бөлімі толық жағдайда, 7 бөліктен тұрады, олар:


  1. программамен байланысатын кітапханалық модульдер атауларының тізімі (ол uses түйінді сөзімен басталады);

  2. белгілерді (Label) сипаттау;

  3. тұрақтыларды (const) сипаттау;

  4. мәліметтер типтерін (type) анықтау;

  5. айнымалыларды (var) сипаттау;

  6. процедураларды (procedure) сипаттау;

  7. функцияларды (function)сипаттау.

Осы айтылғандарға байланысты программа құрылымы мынадай болуы қажет:

Program <�программа атауы> (input,output);

Uses<1-атау, 2-атау, 3-атау,...>;

Label …;

Const …;

Type …;

Var

Procedure <�процедура атауы>;

<�процедура тұлғасы>;

Function <�функция атауы>;

<�функция тұлғасы>;

begin

<1-оператор>;

<2-оператор>;



ператор>

end.

Операторлар бөлімінде командалар ретімен орналасады. Олардың кейбірі шартқа байланысты атқарылса, ал кейбірі кайталанатын цикл немесе қосымша программа (ішкі программа, процедура) түрінде орындалады. Операторлар бөлімінде орындалатын негізгі әрекеттерді қарастырайық.

Деректер — сан мәндері мен мәтін түріндегі сөз тіркестерін мән ретінде қабылдай алатын тұрақтылар (константалар), айнымалылар т.б. осы тәрізді құрылымдар немесе солардың адрестері.

Дерек енгізу — бастапқы деректерді пернетақтадан, дискіден немесе енгізу-шығару порттарынан енгізу арқылы жүзеге асырылады.

Операциялар немесе амалдар — берілген және есептелген мәндерді меншіктеу, соларды өңдеу, салыстыру операцияларын орындайды.


Нәтиже алу (шыгару) — аралық немесе қорытынды мәліметтерді экранға, дискіге немесе енгізу-шығару порттарына жазу.

Шартты турде атқарылу — белгілі бір көрсетілген шарттың орындалуына байланысты (ақиқат болса), командалар жиыны атқарылады, әйтпесе олар аттап өтіледі немесе басқа командалар жиыны орындалады.

Цикл — белгілі бір шарттар орындалған (кейде егер орындалмаса) жағдайда көрсетілген командалар жиыны бірнеше рет қайталанып атқарылады. Қайталау саны бүтін санмен беріледі.

Көмекші программа — алдын - ала қандай да бір атаумен аталған командалар тобы. Олар программаның кез - келген жерінен оның атауын көрсету арқылы шақырылып атқарыла береді.

Түсініктеме — программа жолдары соңында немесе оның түйінді сөздері арасында қазақша (орысша) түсінік беретін пішінді жақшаға алынып жазылған сөз тіркестері. Олар программа операторларының орындалуына ешқандай әсер етпейді.

Тілдің негізгі анықтамаларын беру алдында Паскаль тілінде құрылған бір қарапайым мысал келтірейік.

1-мысал. Радиусы r = 5,5 см болатын берілген шеңбердің ұзындығын табу керек болсын. Шеңбер ұзындығын есептеу үшін формуласын пайдаланамыз.

Program bastau; {Программа тақырыбы}

const pi = 3.14159; { тұрақтысының мәнін беру}

var r, l real; {r,l мәндерінің нақты (аралас) сан екенін сипаттау}

begin {Операторлар басы}

r: =5.5; {r мәнін беру}

l:=2*рі*r; {Шеңбер үзындығын есептеу}

write (‘Радиусы 5,5 см болатын шеңбер ұзындығы =’, l);{Нәтижені экранға шығару}


end. {Программа соңы}

Мұнда программа мәтіні қарайтылған қаріппен терілген, ал оң жақ шетте және оның төменгі жолында пішінді жақша ішінде түсініктеме мәтіні берілген. Түсініктеме программа мәтініне ешқандай әсер етпейді, ол түсінуді жеңілдетеді, сондықтан әрбір программа түсініктемемен толықтырылуы тиіс. Әрине, бұл программасыз да шеңбер ұзындығын есептеуге болады, бірақ 200-300 шеңбер ұзындығын табу керек болса, компьютер программасы өте тиімді әрі нәтижесі тез шығарылады. Ол үшін жоғарыдағы программаға аздаған ғана түзету жазса жеткілікті.

Күрделі есеп программасын құру үшін алдымен осындай қарапайым есеп шығарып үйрену қажет. Қате жібермес үшін программа блок-схема түрінде немесе алгоритмдік тілде құрастырылады.

Жоғарыдағы программаның алғашқы жолы — оның тақырыбы, екінші және үшінші жолы — сипаттау бөлімі, begin (басы) жене end (соңы) сөздерінің ортасында орналасқан операторлар, яғни әр түрлі амалдар орындау бөлімі. Программаның сөздік элементтері ағылшын тілінде. Оны қазақшаға (орысшаға) аударуға болады, алгоритмдік тіл де солай жасалған. Бірақ барлық елдер программадағы негізгі немесе түйінді сөздерді өз тіліне аудармай, олардың ағылшынша нұсқасын пайдаланады, олар көп емес (60— 70 сөз). Сондықтан ағылшын тілін үйренуді осы түйінді сөздерден бастап әрі қарай дамыту оқушылар үшін тиімді болады.

ТІЛДІҢ АЛФАВИТІ

Тілдің алфавиті программаның элементтерін құруда қолдануға болатын символдар жиынынан тұрады. Оған әріптер, цифрлар және арнайы белгілер (символдар) жатады.

Тіл ерекшеліктеріне қарай символдар тобын шартты түрде төмендегі топтарға жіктеуге болады:


  • атаулар (идентификатор);

  • цифр;

  • айыру белгілері;

  • арнайы символдар.

Атау символдары ретінде латын алфавитінің 26 әріпі мен цифрлары қолданылады.

Әріп ретінде латын алфавитінің бас әріптері мен кіші әріптері:A B C D E FGHIJKLMNOPQRST U V W X Y Z abcde f g h i j k 1 m n o p q r s t uvwxyzжәне астын сызу таңбасы (_) қолданылады. Бас әріптер мен кіші әріптердің маңызы бірдей болып есептеледі, мысалы, X пен х-тің айырмасы жоқ, дәл сол сияқты ALFA1, aLfa1 және alfa1 де бір атаудың жазылу түрлері болып саналады. Атауларда әріптер цифрлармен араласып жазыла береді, бірақ атаудың алғашқы символы міндетті түрде әріп болуы тиіс, мысалы, VES1, SALMAK2, Baga5,T7S25, ART25var8 т.б.


Атау ретіyде ASCII — код кестесінің негізгі символдары (латын әріптері) пайдаланылады, ал ол кестенің қосымша бөлімінің сим­волдары (қазақ, орыс, араб т.б.) атау ретінде қолданылмайды, олар тек апострофқа — жоғарғы үтірге (‘’) алынған тұрақты сөз тіркестері немесе пішінді жақшаларға алынған түсініктеме ретінде ғана кездеседі.

Ондық цифрлар: 0,1, 2, 3, 4, 5, 6, 7, 8, 9 таңбалары.

Оналтылық цифрлар ондық цифрлардан және А-дан Ғ-қа (немесе а-дан f-қа) дейінгі латын әріптерінен тұрады.

Арнайы символдарға пунктуация және арифметикалық операция (амалдар) белгілері жатады.

Арифметикалық амал белгілері (+) қосу; (*)көбейту; (-) азайту; (/) бөлу.

DIV — бүтін бөлу (бүтін санды бүтін санға бөлгендегі бөліндінің бүтін бөлігін табу), мысалы, 10 div 3 амалының нәтижесі 3.

MOD — қалдықты табу (бүтін сандарды бөлген кездегі бүтін қалдықты табу), мысалы, 10 mod 3 — нәтижесі 1.

Логикалық амал белгілері:

AND — және (логикалык көбейту) операциясы;

OR — немесе (логикалык қосу) операциясы;

NOT — емес (терістеу немесе жоққа шығару) операциясы;

XOR — арифметикалық немесе амалы;

SHL — биттер (1 мен 0-дер) тіркесін солға ығыстыру;

SHR — биттер (1 мен 0-дер) тіркесін оңға ығыстыру.

Айыру белгілеріне бос орын, барлық басқару символдары, тыныс белгілері, ENTER (келесі жолға көшіру) пернесін басу белгісі және түсініктемелер жатады. Айыру белгілері атауларды, сандарды мағыналарына сәйкес арнаулы кызмет атқаратын түйінді өздерді бір-бірінен бөліп тұрады. Түсініктеме {және} немесе (*және*) белгілерімен қоршалып, солардың ішіне жазылады, ол бір немесе бірнеше жолдардан тұруы мүмкін. Компиляторға арналған директива (түсінік белгі) алдына $ белгісі қойылады. Алдында $ белгісі жоқ түсініктемеге компиляция жасалмайды.


Сонымен, айыру белгілері: _ (бос орын); , (үтір); . (нүкте); : (кос нүкте); ; (нүктелі үтір); '(апостроф); (,); [,]; {,}.

Пунктуация белгілерінің атқартын қызметтері мына 1-кестеде көрсетілген.

Қатынас таңбалары немесе салыстыру белгілері:

= (тең), <> (тең емес), < (кіші), > (үлкен), < = (үлкен емес, таңбасының орнына), > = (кіші емес, ≥ таңбасының орнына).

Әрбір символдың өзінің реттік номеріне сәйкес белгіленген коды болады, ол мемлекеттік стандарт түрінде бекітілген. Әр елдің стандарттары негізіне америкалық кодтар стандарты алынған (American Standart Code for Information Interchange — ASCII), компьютерде жұмыс істеу барысында оларды да білген дұрыс. Паскаль тілінде кейбір символдар пайдаланылмайды: мысалы, %, &, », және т. б.


1-кесте


Белгілер

Атқаратын міндеттері

{және} немесе

(*және*)

Түсініктеме мәліметтерді жақшамен беру

[және]

Жиым элементтерінің индекстерін және

жолдың ұзындығын көрсету белгісі

(және)

Өрнектерді және параметрлер тізімін бөліп көрсету белгілері

‘ (апостроф)

Символдың және тіркестік тұрақтыларды белгілеу таңбасы

:=(меншіктеу)

Айнымалыларға немесе типі көрсетілген

тұрақтыларға мәне беру, яғни меншіктеу белгісі

; (нүктелі үтір)


Операторларды бір-бірінен ажырату белгісі

: (қос нүкте)

Объектілерді типтерге ажырату және

операторларға белгі салу таңбасы

=(теңдік)

Тұрақтылардың мәнін көрсету және салыстыру белгісі

, (үтір)

Тізімдегі элементтерді бір-бірімен бөліп көрсету белгісі

..(екі нүкте)

Диапазонның шекарасын көрсету

. (нүкте)

Программаның соңын белгілеу, санның бүтін және бөлшек бөліктерін ажырату белгісі

@

Айнымалылардың, типі көрсетілген тұрақтылардың адрестерін белгілеу

# (номер белгісі)

Символды коды бойынша белгілеу

$ (ақша белгісі)

Компилятор директивасын немесе он алтылық сан белгісін көрсету


*

Паскаль тіліндегі түйінді сөздер бір-бірімен айыру белгілерімен бөлінген алдын ала анықталған белгілі бір мағынасы бар сөз тіркестері. Паскаль тіліндегі түйінді сөздерді үш топқа бөлуге болады, олар: қордағы (резервтегі) сөздер, стандартты атаулар немесе идентификаторлар және бейстандарт идентификаторлар. Тіл операторларында қарапайым сөйлем жазу үшін мағынасы мен қолдану тәсілі алдын ала анықталған символдар тіркесінен тұратын қордағы түйінді сөздер пайдаланылады. Олардың жалпы саны 80-нен астам. Алгоритмдік тілде бұлар қазақ, орыс тілінде қысқартылып жазылса, программалау тілінде — ағылшын тілінде жазылады.


Программалау тілдерінде «өрнек», «оператор», «тіл синтаксисі» мен «семантикасы» ұғымдары кең пайдаланылады.

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

Программалау тілінің белгілі бір іс-әрекетті орындай алатын тиянақты мағынасы бар ең қарапайым сөйлеміоператор деп аталады.

Tiл объектілерін, яғни программада пайдаланылатын мәліметтердің құрылымы мен ұйымдастырылуын алдын ала анықтайтын сөйлемдер жиыныпрограмманың сипаттамасы болып табылады.


3-ДӘРІС. Орындалатын операторлар.


Қарастырылатын сұрақтар:

  1. Меншіктеу операторы. Процедураларды шақыру.

  2. Енгізу және шығару. Құрама оператор.

  3. Құрылымдық операторлар. Шартты операторлар (if...then...else). Таңдау операторы (саsе...of..end).

  4. Параметрлі цикл операторы (for...tо...dо... және for...downto...do).

  5. Шарты басында тексерілетін цикл операторы (while...dо...). Шарты соңында тексерілетін цикл операторы (repeat.. .until).

Паскаль тілінің басқару операторларына шартсыз және шартты көшу операторлары, цикл (қайталау) ұйымдастыру операторлары жатады. Бұлардың соңғылары құрылымы күрделі операторлар арқылы жүзеге асырылады.

Программа операторлары, негізінен, жазылу ретімен орындалады. Олардың бұл орындалу тәртібін өзгерту үшін жоғарыда айтылған шартты немесе шартсыз көшу (өту) операторы GOTO қолданылады (оқылуы: гоу ту). Қойылған шартты тексеру арқылы оператордың орындалу ретін өзгертуге немесе өзгертпеуге болады. Шартты тексеру операторлары мен цикл операторлары көбінесе құрылымдық операторлар арқылы ұйымдастырылады.


Құрылымдық операторлар. Құрылымдық операторлар басқа операторларды белгілі бір ереже бойынша біріктіру жолымен құрылады. Олар үш топқа — құрама, шартты және қайталау операторларына жіктеледі.

Құрама оператор. Құрама оператор бір-бірінен нүктелі үтір арқылы бөлінген бірнеше операторларды begin және end түйінді сөздерімен шектей отырып, оларды бір оператор тәрізді орындалатын етіп біріктіру жолымен ұйымдастырылады.

Құрама оператор тілдің ережесіне сәйкес программаның кез келген жеріңде тұра береді де, бір оператор сияқты орындалады.

begin

1-оператор;

2-оператор;

...

п-1-оператор;

n-оператор

end.

Мұндағы операторды шектеп тұратын BEGIN (басы), END (coңы) түйінді сөздері операторлық жақшалар деп аталады, BEGIN сөзінің соңына және END сөзінің алдындағы оператордан кейін нүктелі үтір «;» қойылмайды. Құрама оператордың ішінде тағы да құрама оператор болуы мүмкін. Мысалы, әріптермен белгіленген операторлар жақшалармен көрсетілгендей ((A,B,C,D), (K,L,M), Е, (R,S)) топталатын болса, онда программадағы құрама операторлар былай құрылады:

begin

begin

А операторы;

В операторы;

С операторы;

D операторы;

end;

begin

К операторы;

L операторы;

М операторы;

end;

Е операторы;

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 (g) k2 түрінде қарастыруға болады, мұнда (g)— салыстыру белгілерінің бірі, k1, k2 — тұрақты, айнымалы немесе кез келген өрнек болуы мүмкін. Бір мезгілде бірнеше шартты, яғни күрделі құрама шартты жазу үшін логикалық амалдарды пайдалануға болады. Шартты операторды оқу, түсіну жеңіл болуы үшін оны сатылы түрде былай жазу қалыптасқан:

IF <�логикалық өрнек>

THEN 1-оператор

ELSE 2-оператор;

Шартты операторда төмендегідей түрде құрама оператор жиі пайдаланылады:

IF <�логикалык өрнек>

THEN

BEGIN

1-оператор;

2-оператор;


...

n-1-оператор;

n-оператор;

END.

Мысал:

If x>0

then a:=’оң сан’

else a:=’теріс сан’;



следующая страница >>