Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

repeat A until P; (Бейсик, Паскаль тілдерінде)

If P then A else B; (Паскаль тілінде)

if P A else B; (С/С++, C#, Java,

PHP тілдерінде)

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

If P then A ; (Бейсик, Паскаль тілдерінде)

if P A; (С/С++, C#, Java, PHP тілдерінде)

3)циклдік құрылым (қайталау)

цикл – әзірше

while P do A;

Мұнда А әрекеті Р предикат мәні ақиқат болып тұрса, қайта­лана береді. Сондықтан А әрекеті орындалуы кезінде Р-ға әсер ететін айнымалылар мәні өзгеруі тиіс. Бұлай болмаған жағдайда шексіз цикл орын алады. Предикат мәні А әрекеті­не дейін анықталады, сол себепті кейде А әрекеті бір де бір рет орындалмауы да мүмкін.

Цикл – дейін

repeat A until P; (Бейсик, Паскаль тілдерінде)

do A while P;(С/С++, C#, Java, PHP тілдерінде)

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

4) таңдауcase (switch) ауыстырғыш (көп тармақты) құрылымы програм­малауды жеңілде­тетін мүмкіндік болып табылады. Таңдау құрылымы бірнеше мүмкіндіктердің біреуін ғана орындау кезінде қолайлы болып табылады.

Р мәніне қарай А, В, …, Z әрекет­те­рінің біріорындалады, сонан соң кей­ін­­гі орналасқан құрылымдар атқарылады.

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


1. Сызықтық құрылым немесе қарапайым сызық­тық алго­ритм іс-әрекеттердің орындалу ретіне қарай тізбектеле орна­ласқан блоктардан тұрады. Мысалы, y = a+b формуласы бойынша есеп­теу тіктөртбұрыш ар­қы­лы кескінделетін есеп­теу блогы (3-блок) арқылы өрнектеліп, нә­ти­же­ні қағазға басу үшін көп­бұрыш­ты құжат алу блогын (4-блок) пайдаланып, оның ішіне нәтиже­нің атау­ла­­рын жазамыз. Осы көрсетілген y=a+b фор­­му­­ласын есептеу үшін a және b-ның сандық мән­­дерін программаға енгізіп (2-блок), содан кейін қо­су амалын орындап, ақырында y-ті экранға (қағазға) басып шығарып, жұмысты тоқта­тамыз. Осы алгорит­м­нің схемасы 1.2-суретте көрсетілген, ал оның жанында Паскаль және Си тіліндегі прог­рам­масы жазылған.

 

 
 

 

 

 

 


2. Тармақталу алгоритмдеріқұрылымы қарапайым болып келеді. Мұнда арифмети­калық теңсіздік (теңдік) түрінде берілген логикалық шарт тексе­ріледі. Егер ол орын­дал­са, онда алгоритм бір жолмен, ал орындалмаса екінші жолмен жүзеге асырылады, яғни есепті шығару жолы тармақталып екіге бөлініп кетеді. Тармақталу алгоритм­деріне шартты тексеру блогы міндетті түрде кіреді. Ол ромб түрінде кескін­деліп, басқа блоктармен 1 кіру және 2 шығу сызықтары арқылы байла­нысады. Көбінесе тармақта­лу алгоритмдері екі түрде кездеседі, олар "таңдау" және "аттап өту" мүмкін­діктерін іске асыруға көмектеседі.

"Таңдау" жолымен тармақталуда берілген шарт тексеріледі (1.3-су­рет), егер ол шарт орындалса (ақиқат болса), онда 2-амал жү­зеге асырылып, содан кейін келесі 3-амалға көшеміз. Ал, егерде шарт орын­далмаса, яғни оның орын­да­лу мүмкіндігі жал­ған болса, онда 1-амал атқарылып, содан кейін 3-амал атқарылады. Сонымен, шарт­тың ақи­қат немесе жалған болуына байланысты 1-амал немесе 2-амал орындалады.

"Аттап өту" (1.4-сурет) алгоритмінде шарт орындалса, 1-амалды аттап өтіп, бір­ден 2-амалды, содан кейін 3-амалды орындаймыз. Ал шарт жалған болса, онда 1-амал міндетті түрде орындалып, одан кейін 2- және 3-амалдар жүзеге асырылады.

 

 
 

 

 


1-мысал. y функциясын төмен­дегі фор­мула бойынша есептеп шығарайық.

Мұнда x айнымалысының таң­­ба­­сына (оң, теріс) байла­нысты не жоға­рғы, не төм­ен­гі фор­муланы таңдап алып, сол ар­қы­лы у функ­ция­­сы­ның мә­нін таба­мыз (1.5 су­рет). 2-блок­тың орын­далу ба­ры­­сында х айны­ма­лы­сына бел­гілі бір мән бері­леді де, ол мән ен­гізу опе­ра­торлары ар­қы­лы прог­рам­маға енгі­зі­луі тиіс. Бұ­дан ке­йін енгі­зілген мәннің оң неме­се теріс екен­дігі үшінші шартты тексеру блогы арқылы айқын­далады. Шарттың "ақиқат" (иә) немесе "жалған" (жоқ) болу­ы­на қарай 4- не 5-бло­к­­тар­дың бірі ғана орында­лып, "таңдау" орында­ла­ды. 6-блок х айныма­лы­сының және у функция­сының сандық мәндерін экран­ға неме­се қағазға басып шыға­рады.

Бақылау сұрақтары

1. Алгоритм және программа дегеніміз не, олардың қандай ұқсастық­та­ры мен айырмашылықтары бар?

2. Компьютерде орындалатын алгоритмдердің қандай қасиеттері болады?

3. Алгоритмдерді өрнектеу жолдары.

4. Компьютерде есеп шығару кезеңдері.

5.Алгоритм схемаларының әр түрлі блоктары, олардың бейнеленуі, бай­ла­ныстары.

6. Программалау тілдері деген не?

4-дәріс. Циклдік құрылымдар. Алгоритмнің циклдік құрылымы. Бірінің ішіне бірі енген циклдік құрылымның алгоритмдік баяндалуы. Техникалық есептердің қойылымының класқа бөлінуі. Есептерді шешу алгоритмдердің толық құрылуы. Мате­ма­тикада, эко­но­микада көптеген есеп­терді шығару кезе­ңінде бір теңдеуді пайда­ланып, ондағы айныма­лының өз­ге­руіне байланысты оны бірнеше рет қайталап есептеуге ту­ра келетін сәттер де жиі кез­де­седі. Осындай қайталап орын­да­латын есеп­теу процесі­нің белгілі бір бөлік­терін цикл деп атайды. Осы бірнеше рет қайта­ланатын бөлігі бар алгоритмдер тобы циклдік алгоритмдерге жа­та­­ды. Циклдік алгоритм­дерді пайдалану олар­ды кейіннен програм­маларда цикл операторы түрінде қысқартып жазу мүмкіндігін береді. Циклдер қайталану саны­ның алдын ала белгілі және белгісіз болуына байла­нысты екі топқа бө­лі­неді. Қайталану сандары алдын ала белгілі болып келген циклдер тобы арифме­тикалық цикл болып есептеледі, ал орын­да­­лу саны белгі­сіз циклдер – қадамдық (итерация) цикл болып аталады. Практикада белгілі бір айны­ма­лы­ның сандық мәніне байла­нысты орын­да­латын арифмети­ка­лық цикл­дер жиі кездеседі. Мұн­да ариф­мети­калық прог­рес­сияға ұқсас болып кел­етін циклдер ең қарапайым арифме­тика­лық цикл болып табылады. Оны бас­қару қай­та­лану кезе­ңінде прогрес­сия­ның заңына сәйкес тұрақты шама­ға өзгеріп отыра­тын цикл пара­мет­­рінің сандық мәнімен байла­ныс­ты болуы тиіс. Цикл орындалуы алдында оның айнымалы аргументі – пара­метрі ал­ғаш­қы мәнге ие болуы керек, сонан кейін қайталану ке­зе­ңінде цикл пара­мет­рі белгілі бір шамаға (қадамға) өз­ге­­ре отырып, ол алдын ала берілген ең соңғы мәнге дейін жетуі қажет. Алгоритмнің орындалу бары­сы­н­­­да цикл параметрі, мысалы, х өзінің ең алғашқы х0 мәнінен ең соңғы хk мәніне дейін тұрақты шамаға (dx) өзгеріп отырады. Осы­ның нәтиже­сін­де х мынадай мәндерді қабылдай­ды: x0, x0+dx, x0+2dx, ..., x0+(n-1)dx, xk, мұндағы n – циклдің қайталану саны, ол былай анықталады: , мұнда [...] – өрнектің бүтін бөлігі алынатынын көрсетеді, n – циклдің қай­та­лану саны әрқашанда бүтін натурал сан болуы тиіс, егер ол аралас сан болса, онда оның бөлшегі алынып тас­та­лады. Ариф­ме­ти­ка­лық цикл үшін y=f(x) функция­сының есептелу жолы алго­ритм ретінде 2.1-суретте көрсетілген. Мұндағы 3-ші, 4-ші, 7-блоктар циклді ұйым­дас­тыру үшін қажет. Олар цикл пара­мет­рінің алғашқы мәнін, өзгеру қа­да­мын белгі­леп және оның ең соңғы мәніне жеткен-жетпегенін тексере­ді. Ал 5- және 6-блок­­тар бірнеше рет қайтала­нып цикл­дің өзін құрай­ды. 4-блок шарт­ты тексе­ріп қайта­лану процесін ұйым­дас­ты­рады. Алгоритм схемасын салуды жә­не програм­маны жазуды жеңіл­дету үшін цикл алгоритмдері ық­шам­далған түрде "модификатор" немесе "цикл басы" блогын пайдалану арқылы жазылады. Онда 2.2 -суретте көрсетілген 3-ші, 4-ші, 5-ші блок­тардың орнына "цикл басы" блогы орналасады.     Ол алтыбұрыш тәрізді геомет­рия­лық фигу­радан тұрады және оның міндетті түрде екі кіру және екі шығу сызығы болуға тиіс. Осы блокты пайда­лану арқылы жоға­ры­да келтіріл­ген алго­ритм 2.2-суретте көрсе­тілген түрде кескінде­леді. Параметрдің алғашқы х мәні оның соңғы х мәні­нен кем бол­са, онда оның қадамы dx оң сан бо­лады. Керісінше, параметрдің алғашқы мәні оның соңғы мәнінен артық болса, онда қадам теріс сан болады. 4. Қадамдық циклдер. Циклді орын­даудың алдында, оның қайталану саны белгісіз болған жағдайда қадам­дық цикл­дер пайдаланылады. Мұнда циклді жазу үшін тек қана "шарт­ты тек­серу" блогын қол­да­ну қажет, ол цикл­ді аяқ­тау үшін белгілі бір шартты тексе­реді. Қадамдық циклдердің схе­ма­сын сызғанда моди­фикаторды (алтыбұ­рыш­ты) қолда­на алмаймыз, себебі алдын ала циклдің неше рет қайта­ланатыны бізге белгісіз. Енді осындай циклдер жұмысына мысал келтірейік. 3-мысал. функциясының мәндерін k = 1, 2, 3, ... және Z 0.0001-ден артық болған жағдайда есептейік, мұндағы 0 £х £ 1. Бұл мысалда ал­дын ала цикл неше рет қайталанатынын айта алмаймыз, өйт­кені бізде тек k параметрінің алғашқы мәні мен қадамы ғана белгілі. Сонымен қатар Z функциясының 0.0001-ден ар­тық болуы циклді қайталау шарты болып есеп­теледі (Z >0.001). 2.3-суретте осы есептің алгоритм схемасы көрсетілген. Программалау тілдері Программа жазуды жеңілдету үшін математи­калық формула­лар­ды кеңінен қолданатын, ағылшын тілінің негізінде жасалған алгоритм­дік тілдер Бейсик, Паскаль, Си, т.б. кеңінен қолда­нылады. Олардың машина тілдерінен айыр­ма­шылығы – табиғи ағыл­шын тілі негізге алынып, кең тараған мате­ма­ти­калық таңбалармен толықтырылып жасал­ған. Сон­дық­тан алго­ритмдік тілдерде программа жасау адам­дарға әрі жеңіл, әрі ыңғайлы болып келеді. Алгоритмдік тілдер автоматты түрде компьютердің көмегімен аудармашы программалар арқылы машиналық тілге көші­ріледі. Алгоритмдік тілдер машинаға және проблемаға бағытталған бо­лып екіге бөлінеді. Машинаға бағытталған тілдердің машина тілінен айыр­машылығы, олар компьютердің ерекшеліктерін есепке ала отырып әріптерді де пайдала­на­ды. Қазіргі кезде машинаға бағытталған тілдер­де маман програм­ма­лау­шылар жұмыс істейді. Оларға – автокод, макро­ассемблер, ассемблер тәрізді тілдер жатады. Проблемаға бағытталған тілдер шығарылатын есептердің ерекше­лік­терін еске ала отырып, есептің математикада жазылу тіліне жақын­дас­тырылады. Бұларға – Бейсик, Фортран, Паскаль, С/С++, т.с.с. тілдер жатады. Қазіргі кезде бес жүзге жуық алгоритмдік тілдер тараған. Олар­дың әрқайсысы белгілі бір мақсаттарда қолданылады. Мысалы, Форт­ран – ғылыми-техникалық (инженерлік) есептерді шығару үшін, Пас­каль – оқып үйренуде, ал С/С++ тілі үйрену үшін де, өндірістік есеп­терде де, операциялық жүйелер жазу үшін де қолданыла беретін кең қолда­ныс­тағы тіл болып табылады. Жоғары деңгейдегі программалау тілдері нақты бір компьютерлік архи­тек­тура ерек­ше­ліктерін есепке алмай жұмыс істейді, сондықтан олар процессорға сәйкес тран­слятор жазыл­ған басқа компьютерлерге оңай көшіріледі. Жоғары деңгейдегі програм­малау тілдерінде программа жазу машиналық тілдерге қарағанда анағұрлым жеңіл. Жоғары деңгейдегі программалау тілдері: 1. Фортран – өткен ғасырдың 50-ші жылдары жасалған, машиналық тілге компи­лятор арқылы аударылатыналғашқытіл. Мұнда программалаудың бірсыпыра маңызды түсініктері жүзеге асырылған еді. Осы тілде жай инженерлік есептерден бастап, жер серіктерін басқаруға арналған есептерге дейін көптеген програм­ма­лар жасалған болатын, сондықтан ол осы кезге дейін пайдаланылып келеді. 2. Паскаль – өткен ғасырдың 70-ші жылдары аяғында швейцар математигі Никлаус Вирттің программа­лауды үйрету мақсатында қолдану үшін арнайы жасаған тілі. Ол адамның алгоритмдік ойлау қабілетін қалыптастыратын, көпшілікке түсінікті қысқа программа жазуға қолайлы, алгорит­м­деудің негізгі тәсілдерін көрсетуге және де ірі жобаларды да жүзеге асыра алатын тіл болды. 3. Cи – 1970-ші жылдары шықты, ол алдымен көпшілікке арналып жасалмаған тіл еді. Cи тілі нақты процессорға тәуелді емес, қысқа, әрі тиімді программалар жасайтын ассемблер орнына пайдалану үшін жоспарланған тіл болатын. C тілінің көптеген қаси­ет­тері Паскаль тіліне ұқсас болғанымен, оның компьютер жадымен тікелей жұмыс істей алатын жаңа мүмкіндік­тері бар еді. Осы тілде көптеген қолданбалы және жүйелік программалармен қатар Unix операциялық жүйесі де жазылып шыққан болатын. Бақылау сұрақтары 1. Алгоритм және программа дегеніміз не, олардың қандай ұқсастық­та­ры мен айырмашылықтары бар? 2. Компьютерде орындалатын алгоритмдердің қандай қасиеттері болады? 4. Алгоритмдерді өрнектеу жолдары. 5. Компьютерде есеп шығару кезеңдері. 6. Алгоритм схемаларының әр түрлі блоктары, олардың бейнеленуі, бай­ла­ныстары. 7. Сызықтық, тармақталу және циклдік алгоритмдер. 8. Қадамдық циклдер және олардың ерекшеліктері.    
5-дәріс. Турбо Паскаль программалау тілінің негізгі сипаттамалары. Тілдің алфавиті. Тілдің объектілерінің жазылуының ережелері. Мәліметтер типтері. Тұрақтылар. Айнымалылар. Ерекше белгілер. Өрнектер. Арифметикалық және логикалық өрнектер. Мәліметтер құрылымы: массивтер, жиындар, жазбалар. 1. Кез-келген тексті құру үшін пайдаланылатын элементарлық белгілерді тілдің символы дейді. Сондай символдардың тобын тілдің алфавиті дейді. Паскаль тілінің алфавиті төмендегі символдар тобын қамтиды: а) 26 латын әрпі: A, B, C, D,…Z; ә) араб цифрлары: 0, 1, 2,...9; б) 32 орыстың баспа әріптері: А, Б, В,...Я; в) арнайы символдар: *, /, +, -,...; 2. Кейбір түсініктер. Тілдің алфавиттерін көп жағдайларда - тілде пайдаланылмайтын символдар деп те атайды. Тілдің жеке символдары арқылы белгілі мағынаны білдіретін тілдің сөздері және сөйлемдері құрастырылады. Текстегі сөздерді бір-бірінен ажыратып тұру үшін бос орын немесе әр түрлі бөлгіш белгілері (жақша, қос нүкте, т.с.с.) пайдаланылады. Бір сөз бен екінші сөз арасына бір немесе бірнеше бос орын қалдыруға болады. Орындайтын міндеттеріне байланысты сөздерді: қызмет сөздері, атаулар және тұрақтылар деп бөледі. Қызмет сөздері. Мағынасы алдын ала анықталып қойылған Паскаль тілінде пайдаланылатын сөздер тобын Паскаль тілінің қызмет сөздері дейді. Мысалы, PROGRAM, VAR, BEGIN, END және т.б. Атау (идентификатор). Атау бір өрнекті белгілеуге арналады. Паскаль тілінде атауды стандартты және пайдаланушылар атаулары деп бөледі. Стандартты атаулар – стандартты объектілерді (стандартты функциялар, стандартты бағдарламалар т.с.с.) белгілеуге арналады. Мысалы, енгізу - READ, шығару - WRITE , (INPUT, OUTPUT) т.с.с. Пайдаланушылар атауы ретінде әріптен басталатын кез-келген әріптер мен цифрлар тізбегі, сөздер, тіпті сөйлемдер алынады. Мысалы, жылдамдық, SUMMA, А, К, А5, АВ т.с.с. Бірақ пайдаланушылардың атауы үшін стандартты атауларды пайдалануға болмайды. Берілгендердің элементі. Паскаль тілінде берілгендердің элементіне тұрақтылар және айнымалылар жатады. Паскаль тілінде тұрақтылар деп алдын-ала мәні берілетін, бағдарлама орындалу барысында мәндерін өзгертпейтін шамаларды айтады. Ал бағдарлама орындалу барысында мәндері өзгеріп отыратын шамаларды айнымалы шамалар дейді. Түсініктеме. Бағдарламаға, оның бөліктеріне немесе жеке операторларға түсінік беру үшін түсініктеме пайдаланылады. Паскаль тілінде түсініктеме {} ішіне алынып жазылады. Мысалы, {квадрат теңдеуді жазу}.   3. Паскаль тілінде төмендегі арифметикалық амал белгілері пайдаланылады: + - қосу амалы; - - алу /азайту/ амалы; * - көбейту амалы; / - бөлу амалы; DIR – бүтін бөлу; MOD – бүтін бөлгендегі қалатын қалдық. DIR, MOD амалдары тек бүтін сандар үшін ғана пайдаланылады. Мысалы, А=25., B=2 A DIR B (нәтиже 12) A MOD B (нәтиже 1) @- адресті алу (анықтау) shl - солға жылжыту shr- оңға жылжыту in - элементтің жиынға жататындығын немесе жатпайтындығын анықтау операциясы. Басқа программалау тілдерінен ерекшелігі Паскальда логикалық амалдар жақшаға алынып жазылады. A=b and c<d - дұрыс емес. Синтаксистік қате пайда болмас үшін бұл қатынастарды былай жазған дұрыс. (a=b) and (c<d). Логикалық типке келесі стандартты логикалық функциялар қолданылады: ODD(x) EOLN(x) EOF(x). Егер х бүтін сан болса ODD(x) логикалық функциясының мәні =1 (TRUE), қарама-қарсы жағдайда = 0(FALSE). Егер х мәтіні файл жолының соңын білдіретін символ болса, онда EOLN(x)=1(TRUE) ақиқат мәнін береді. Егер х кез келген файлдың соңын белгілейтін символ болмаған жағдайда EOF(x) логикалық функциясының мәні (FALSE) жалған болмақ. Арифметикалық амал белгілері және жақшалар арқылы жалғастырылған сандарды және функцияларды өрнектер дейді. Паскаль тілінде арифметикалық өрнектердің мәндері есептелгенде кәдімгі математикадағыдай амалдар өз оындалу тәртібі бойынша орындалады. Егер өрнекте жақша болса, онда алдымен жақша ішіндегі өрнектің мәні табылады. 4. Паскаль тілінде тұрақтылар, айнымалылар, функциялар, өрнектер пайдаланылады. Берілгендердің типтері: қарапайым және күрделі болып екіге бөлінеді. Қарапайымға стандартты және айнымалы типтер жатады. Стандартты типтер: INTEGER (бүтін), REAL (нақты), BOOLEAN (логикалық), CHAR (символдық). Айнымалы типтерді ЭЕМ-ді пайдаланушылар өздері анықтайды. Оларға шектелген және көрсетілетін типтер жатады. Әр түрлі қарапайым типтердің комбинацияларынан құралған типтер күрделі типтерді береді (мысалы, массивтер, жиымдар, жазулар және файлдар типтері). Бүтін типтегі тұрақтылар – кез-келген нүктесіз жазылған бүтін сан. Олар теріс немесе оң таңбалы болуы мүмкін. Диапозоны: -32768 ден 32767 дейін. Типі бүтін болатын айнымалыны көрсету үшін INTEGER қызмет сөзі пайдаланылады. Айнымалыларды белгілеу үшін оларға атау береді. Паскаль тілінде атау ретінде әріптерден басталатын, әріптер мен цифрлардан құрылған символдар тізбегі пайдаланылады, мысалы, А, В, ..., Х2, СU, … Бүтін сандарға мына амалдар қолданылады: +, -, *, /, DIV, MOD. Нақты тұрақты. Паскаль тілінде нақты тұрақтылар екі түрде жазылады: - сандардың үтірлері өзгермейтін түрі – ±m; Мысалы: 25.3, 5.Ø т.б. - сандардың үтірлері өзгеретін түрде жазылуы – ±mE+D Мысалдар: математикалық берілуі Паскаль тілінде жазылуы 4∙10 -3 4Е - 3 0,62∙10 4 Ø.62Е+4 (0.62Е4) -10,52·10 12 -1Ø.52Е12 (-1Ø.52Е+12) Нақты айнымалы. Нақты мән қабылдайтын айнымалыны бейнелеу үшін REAL қызмет сөзі пайдаланылады. Бүтін және нақты типтерді арифметикалық тип дейді. Нақты типтегі шамаларға базалық арифметикалық амалдарды орындауға болады. Логикалық тип. Логикалық айнымалы: тип BOOLEAN, TRUE (ақиқат) немесе FALSE (жалған) тұрақтыларының біріне қабылдайды. Логикалық берілгендер шарт тексеруге жиі пайдаланылады, логикалық шарттарды жазу үшін <, <=, =, <>, >=, > белгілері пайдаланылады. Мысалы, 5>3 нәтиже TRUE; 5=3 нәтиже FALSE. Логикалық берілгендерге мына амалды қолдануға болады: OR – логикалық қосу (немесе); AND – логикалық көбейту (және); NOT – жоққа шығару (жоқ). Символдық типтер. Символдық тұрақтылар екі апостроф ішіне алынып жазылады. Мысалы, ‘А’ ,’+’, ... Символдық айнмалылар. Символдық айнымалылардың типін көрсету үшін Паскаль тілінде CHAR қызмет сөзі пайдаланылады. 5. Паскаль тілінде стандартты функциялардың мәндері автоматты түрде есептеледі.Олардың мәнін есептеу үшін функцияны дұрыс жазса болғаны. Стандартты функцияларды жазу ережелері төмендегідей: а) функция аты латын әрпімен жазылады ә) функция атауы 6 әріптен аспауы қажет б) функцияның аргументі функция атауынан соң дөңгелек жақша ішіне алынып жазылады в) функция аргументі тұрақты, айнымалы типті аргументтің өрнек түрінде терілуі де мүмкін г) тригонометриялық функцияларда аргумент мәні радиан өлшемімен берілуі қажет. Егер α бұрыштың мәні градус өлшемімен берілсе, онда оны алдын-ала мына формуланы β=α∙π/180˚ пайдаланып радиан өлшеміне аударып содан соң тригонометрилық функциялардың мәндерін есептейді.  
Функция Орындайтын міндеті Аргумент типі Функция типі
ABS(x) │x│мәнін табу нақты бүтін нақты бүтін
SQR(x) x2 мәнін табу нақты бүтін нақты бүтін
Sin(x) sinx есептеу нақты бүтін нақты нақты
Cos(x) cosx есептеу нақты бүтін нақты нақты
ARCTAN(x) arctgx есептеу нақты бүтін нақты нақты
EXP(x) e x есептеу нақты бүтін нақты нақты
SQRT(x) табу нақты бүтін нақты нақты
LN(x) ln x табу нақты бүтін нақты нақты
ADIBB A-ны B-ға бүтін бөлу бүтін бүтін
AMDB A-ны B-ға бөлгендегі қалдық бүтін бүтін
TRUNC(x) INT(x) x-тің бүтін бөлігін табу нақты бүтін бүтін
ROUND(x) х санын жақын бүтінге дейін дөңгелектеу нақты бүтін бүтін
ODD(x) TRUE, егер х-тақ FALSE, егер х-жұп бүтін   логикалық
ORD(x) x элементінің реттік нөмірін табу ORD(x)=x x символының реттік нөмірін табу логикалық бүтін символдық бүтін бүтін бүтін
CHR(x) реттік нөмірі (коды) бойынша символды анықтау бүтін символдық
SUCC(x) табылған элементтен кейінгі элементті анықтау бүтін логикалық символдық бүтін логикалық символдық
PRED(x) табылған элементтің алдындағы элементті табу есептелетін есептелетін

 

Паскаль тілінде дөңгелектеуге арналған екі функция бар, олар TRUNC(x) (trunk - деген ағылшынның truncate - қию, қысқарту деген сөзінен қысқартылып алынған) және ROUND(x) (round – дөңгелек).

TRUNC(x) - функциясы х-тің “бөлшексіз” цифрын береді, мысалы, trunk (3.14)=3, trunc (-3.14) = -3 т.с.с.

ROUND(x) – функциясы х-ті дөңгелектеу ережесі бойынша дөңгелектейді, яғни: ROUND(x)= trunc(x+0.5), егер х≥Ø,

trunc(x-0.5), егер х< Ø,

 

мысалы, ROUND (3.14)=3, ROUND(3.7)=4

ax, EXP (x*LN(A));

 

Паскаль тілінде бағдарлама екі бөліктен тұрады:

1) берілгендерді сипаттау (бейнелеу);

2) алгоритмдік амалдарды бейнелеу немесе операторлық бөлік.

Берілгендер бейнелеу көмегімен жазылса, ал амалдар оператор көмегімен жазылады.

Синтаксистік жағынан Паскаль бағдарламасын және екі бөлікке бөлуге болады:

а) бағдарлама тақырыбы

ә) блок .

Бағдарламасының тақырыбында: бағдарлама аты және параметрлер тізімі беріледі.

Блокта: бейнелеулер және операторлар беріледі.

Бағдарламаның тақырыбын көрсету үшін PROGRAM қызмет сөзі пайдаланылады.

Бағдарламаның тақырыбының жазылу үлгісі:

PROGRAM <бағдарлама аты> (INPUT, OUTPUT);

Бағдарламалық тақырыпты “;” символымен аяқтайды. Бағдарламаға (операторларға) түсініктеме беру үшін түсініктемені “{}” белгілерінің арасына кез-келген жолдан немесе кез-келген позициядан жазуға болады. Мысалы: {үшбұрыштың ауданы}

Сонымен Паскаль тілінде бағдарламаның жалпы құрылымын былай көрсетуге болады:

PROGRAM аты

бейнелеу бөлігі

BEGIN

операторлар бөлігі

END.

Сонымен бағдарлама түрі былай болады:

 

PROGRAM аты(INPUT, OUTPUT);

LABEL – белгі бөлігі;

CONST – тұрақтылар бөлігі;

TYPE – тип бөлігі;

VAR – айнымалы бөлігі;

PROCEDURE, FUNCTION – процедура және функция бөлігі,

BEGIN

1 - оператор;

_ _ _ _

n-оператор;

END.

 

1.Жоғарыда көрсетілгені 1-ші жолда бағдарлама тақырыбына жазылады. Ол PROGRAM қызмет сөзі, бағдарлама аты, дөңгелек жақша ішінде пайдаланылатын стандартты процедуралар (файлдар) атынан (мысалы, INPUT, OUTPUT және т.б.) тұрып соңына нүктелі үтір “;”қойылады.

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

 

Бейнелеудің жеке бөліктері

Белгі. Белгі ретінде кез-келген бүтін оң сан пайдаланылады. Белгі операторды немесе бағдарламаның бөлігін табуға пайдаланылады. Белгі оператор алдында орналасады да “;”арқылы ажыратылады. Қажетті операторға (бағдарламаның бөлігіне) оралу белгі арқылы жүзеге асырылады. Белгіні пайдалану үшін ол алдын-ала белгі бөлігінде LABEL (белгі) қызмет сөз арқылы хабарлануы (бейнеленуі) қажет.

Белгіні хабарлаудың жазылу үлгісі:

 

LABEL сан, сан, ... , сан;

Мысалы: LABEL 5,13,45;

 

Стандартты типтегі тұрақтылар мен айнымалыларды бейнелеу.

1) Тұрақтылар.

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

Жазылу үлгісі:

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

 

Мысалы: CONST N=28;

Бір бөлімде бірнеше тұрақты жазуға болады, бірақ олар “;”ажыратылып жазылуы тиіс. Мысалы: CONST

K = 23; {бүтін тип}

B = 1.8Е-3; {нақты тип}

Р = 3.14; {нақты тип}

S = ‘R’; {символдық тип}

L = TRUE; {логикалық тип}

Жолдық тұрақты- программаның бір жолына жазылған және тырнақшаға (апостроф) алынған символдар тізбегі болып табылады.Жолдық тұрақтылардың мысалдары:’Text’ , ‘A’, # 61, #$ A2,^ G.

Логикалық тұрақтылар«Ақиқат» және «Жалған» деген түсініктерге сәйкес TRUEжәне FALSEидентификаторларымен өрнектеледі.

 

2) Айнымалылар

Бағдарламаларда пайдаланылатын кез-келген айнымалы бағдарламаның айнымалылар бөлігінде бейнеленуі қажет. Айнымалыларда бейнелеу қызмет сөзі VAR (айнымалы) сөзінен басталады.

Жазылу үлгісі:

VAR айнымалы атауы : тип;

 

Мысалы, VAR K: integer; {К – айнымалысының типі бүтін}.

Бір мезгілде бірнеше айнымалыны бейнелеуге болады. Мысылы:

VAR

A: INTEGER; {А – бүтін типтегі айнымалы}

S: REAL; {S – нақты типтегі айнымалы}

S2: CHAR; {S2 – символдық типтегі айнымалы}

L: BOOLEAN; {L – логиқалық типтегі айнымалы}.

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

VAR

M, N: integer; {M, N – типі бүтін}

SUM, K, L: real; {SUM, K, L – типі нақты}

R, RI: CHAR; {R, RI – типі символдық}

Сонымен, айнымалы деген – атау берілген әр түрлі мән қабылдайтын объект.

Типтерді |TYPE|, функцияларды |FUNCTION| және процедураларды |PROCEDURE| бейнелеуге төменде арнайы тоқталамыз.

3) Операторлар бөлігінің жазылуы.

Операторлар бөлігі опреаторлық жақша BEGIN (бастау) және END ( бітіру) ішіне алынып жазылады және END қызмет сөзінен соң “;” қойылады.

Операторлық бөлікте біртіндеп орындалатын орператорлар тізбегі жазылады. Әр операторлар не орындалатынын көрсетеді. Орындалатын операторлар бір-бірімен “;” арқылы ажыратылады, ал соңғы оператордың соңына еш нәрсе қойылмайды. Мысалы:

BEGIN

1-оператор;

2-оператор;

_ _ _ _ _ _ _

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

n-оператор

END.

Бір жолға бір немесе бірнеше оператор жазуға болады, бірақ олар “;” арқылы бір-бірінен ажыратылады. Бір жолға сыймаған операторды екінші жолға жалғастырып жазуға болады. Бір-ақ бағдарламаны оқуға қолайлы етіп жазған дұрыс , бұл жағдайда оны түзету, редакциялау ыңғайлы болады.

Паскаль тіліндегі программаның жалпы құрылымын келесі түрде көрсетуге болады:

Program программаның аты

Uses модульдер

Label белгілер;

Const тұрақтыларды хабарлау;

Type деректер типін сипаттау;

Var айнымалыларды хабарлау;

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

(Function) сипаттау.

Begin

Программаның денесі

End.

Программада барлық - USES, LABEL, CONST, TYPE, VAR, PROCEDURE және FUNCTION алты хабарлау бөлімдерінің болуы міндетті емес.

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

USESсөйлемінде программада пайдаланылып отырған барлық модульдер идентификацияланады. Оларға тікелей пайдаланылып отырған модульдер және осы модульдер пайдаланылып отырған модульдер кіреді.

SYSTEMмодулі әрқашан автоматты түрде пайдаланылады.SYSTEMбарлық төменгі деңгейді, файлдық енгізу/шығару, жолдарды өңдеу, жылжымалы үтірлі операция, жадының динамикалық үлестірілуі және т.б. жүзеге асырады. Паскаль тіліSYSTEMмодулінен басқа PRINTER, DOSжәне CRTсияқты көптеген модульдерді жүзеге асырады. Олар автоматты түрде пайдаланылмайды. Қажет болған жағдайда олар USESсөйлеміне міндетті түрде қосылуы керек. Мысалы:

USES, DOS , CRT ; {ендіDOSжәнеCRTқұралдарымен жұмыс істеуге болады }

Типтерді сипаттау бөлімі

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

Типтердің үлкен үш класы бар: жай типтер, құрылымды типтер (массивтер, жазбалар, жиындар, файлдар); көрсеткіш (указатель) тип. Типті хабарлау TYPEкілттік сөзінен, сипатталып отырған типтің идентификаторынан , = (тең) белгісінен, типтің анықтамасынан және ; (нүктелі үтір) белгісінен тұрады.

Мысалы:

Type

Number = Integer;

Color = (Red, Green, Blue);

CharVal = Ord (′ A′ ) …Ord (′Z′);

TestIndex = 1…100;

TestValue = -99 … 99;

TestList = Array [TestIndex] Of TestValue;

TestListPtr = ^ Testlist;

Date = Record

Year: Integer;

Month : 1...12;

Day : 1... 31;

End;

Түгенделетін тип. Паскаль тілінде тек бір ғана стандартты түгенделетін тип бар. Ол – логикалық тип.

Программаға программист өзіне қолайлы түгенделетін типті енгізуіне болады. Түгенделетін тип реттелген идентификаторлар жиынында анықталады.

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

TYPE NT = (w1,w2…wn).

Мұндағы NT - анықталатын типтің идентификаторы.

w1,w2…wn - тұрақты идентификаторлар, NT - типті айнымалы қабылдайтын нақтылы мәндер. Бұл мәндер реттелген, реттелу тәртібі типті баяндайтын идентификаторлардың мынадай орналасуымен анықталады:

w1<w2<…<wn

Мысалы,

Type Апта= (дүйсенбі, сейсенбі, сәрсенбі, бейсенбі, жұма, сенбі, жексенбі);

Бұл Мысалда Апта типі

(дүйсенбі, сейсенбі, сәрсенбі, бейсенбі, жұма, сенбі, жексенбі) тұрақты идентификаторлар жиыны екені анықталған.

Егер салыстыру операндаларының айнымалылар типтері бірдей болса, онда барлық түгенделетін типтерге келесі салыстыру амалдарын қолдануға болады:

=,<>, <, <=, >, >=

Барлық скалярлы типті айнымалыларға (Real типінен басқа) келесі стандартты функцияларды қолдануға болады:

SUCC(x) - реттелген тізбекте х-ке жалғасатын келесі элементті анықтайды.

Pred(x) - реттелген тізбекте х-тің алдындағы элементті анықтайды.

ORD(x) - реттелген тізбекте х-элементінің нөмірін анықтайды.

Мысалы,

SUCC(B)=C;

SUCC(M)=N;

SUCC (дүйсенбі) = сейсенбі

PRED(M) = L;

PRED(жұма) = бейсенбі;

Upcase(‘n’)=’N.’ Tек латын әріптеріне қолданылады, кіші әріпті үлкен әріпке түрлендіру функциясы. Шектелген тип.Паскальда типтерді баяндаған кезде программа талабына орай белгілі бір деректердің белгілі бір аралығын қамтып отыру мүмкіндігі қарастырылған. Осындай аралықты белгілейтін айнымалыны анықтағанда шектелген немесе түгенделетін типтер қолданылады.

Мысалы, VAR A: MIN..MAX;Мұндағы, А - айнымалысы MIN - төменгі және MAX - жоғарғы шектермен шектелген ішкі жиында анықталған, жиынның шекаралары екі нүктемен (..) бөлінеді. Мысалы, i - айнымалысы 1900-1995 жиынның мәндерін қабылдау үшін баяндау бөлімінде бұл талап былайша көрсетіледі:

Var i: 1900..1995;

i - айнымалысы integer, яғни жиынның шегі бүтін сандар болмақ. Шектелген типтерді символдық және түгенделетін типтерде де анықтауға болады, Мысалы:

Type Апта = дүйсенбі, сейсенбі, сәрсенбі, бейсенбі, жұма, сенбі, жексенбі;

Var

Жұмыс_күні: дүйсенбі.. жұма;

Мұндағы, Жұмыс_күні айнымалысы Апта типіне сәйкес дүйсенбіден Жұмаға дейінгі күндердің мәндерін қабылдай алады.

 

6-дәріс. Алгоритмдік тілдік операторларын класқа бөлу. Меншіктеу операторлары. Басқару операторлары. Мәліметтерді енгізу шығаруды ұйымдастыру. Стандартты процедураларды қолдану. Қайталану операторлары. Программаның құрылымы. Алгоритмнің схемасынан программаның схемасына көшу. Алгоритмдердің сызықтық құрылымын программалау. Бағдарламаға енетін нұсқауларды (бұйрықтарды) Паскаль тілінде операторлар дейді. Паскаль тілінің операторларын қарапайым және күрделі (құрама) операторлар деп екі топқа бөледі. Қарапайым операторлардың құрамына басқа оператор енбейді. Ал күрделі операторлардың ішіне бінеше қарапайым операторлар еніп тұруы мүмкін. Паскаль тілінде қарапайым операторларға: меншіктеу, көшіру, бос, енгізу және шығару операторлары жатады. Күрделі операторға: шартты көшіру, қайталау, таңдау, жалғастыру т.б. операторлар жатады. Меншіктеу операторлары “Мән меншікте ” деген бұйрықты орындайтын операторды меншіктеу операторы дейді. Жалпы жазылу үлгісі:
W:=E;

Мұнда: W-айнымалы атауы, “ :=”- меншіктеу белгісі; E-өрнек.

Жалпы жағдайда арифметикалық өрнек

Е={тұрақты, айнымалы атауы, функция, өрнек болуы мүмкін.

Меншіктеу операторы тек арифметикалық өрнектер үшін ғана емес, логикалық және символдық берілгендер үшін де пайдаланылады. Мысалы: K:=A AND B, B:=’T’; B5=’9’;

Меншіктеу операторын пайдаланғанда айнымалы атауының типі мен қабылдайтын мәнінің типі бірдей болуы қажет. Мысалы, егер VAR A, B, C, D:REAL;

Мысалы: A:=15.7 т.с.с.

Бос оператор

Бос оператор ешқандай амал орындамайды. Бос оператор қалдырылып кеткен оператордың орнын белгілеу үшін пайдаланылады. Әдетте бос оператор орнына “;” қойылады. Мысалы, S:=A;

R:=5;

;

M:=19.36;

Сандық берілгендерді енгізу

Берілген мәндерді айнымалыға жазу үшін меншіктеу операторын пайдалануға болады. Мысалы, A:=15 т.б. Бірақ бұл жағдайда бағдарлама әмбебап болмайды. Бағдарламаны әмбебап етіп жазу үшін айнымалылардың мәндерін өзгеретін түрде жасау қажет, бұл жағдайда бағдарлама әр түрлі мәндер үшін дұрыс болады. Ол үшін енгізу операторы READ – (ағылшынша оқу) пайдаланылады.

Жазылу үлгісі:

READ (d1, d2, …, d n);

Мұнда d1, d2, …, d n – айнымалы атаулары, оларды енгізу операторларының параметрлері деп те атайды. Параметрлердің сандық мәндері бір-бірінен бос орын арқылы ажыратылып жазылады. Мысалы, READ (A, B, C); берілсе, параметрлерге мән мына түрде беріледі:

5 6.2 4.5 (ЕП) Мәндерді енгізгенде мән енгізілген жолдан келесі жаңа жолға көшіру үшін параметрсіз немесе параметрімен сәйкес READLN, READLN (d1, d2, …, d n); операторын пайдалану қажет.

Шығару операторы.

Жазылу үлгісі: WRITE (d1, d2, …, d n);

Мұнда, d1, d2, …, d n жай айнымалылар немесе апострофтар ішіне алынған символдар тобы болуы мүмкін. Мысалы, егер B=17,15 болып мына команда оындалғанда: WRITE (‘B=’, B) экранда B=17.15 көрінеді.

Бүтін және нақты сандарды шығару үшін сандардың форматын беру қажет. Формат айнымалы атынан соң “;” арқылы жазылады. Нақты сан үшін формат екі саннан тұрады:

I – санға берілетін барлық орын,

II – үтірден кейін бөлшек бөлік саны,

Мысалы, WRITE (Y:5:2);

Мұнда, 5 нәтижеге берілген барлық орын, 2 үтірден соң алынатын бөлшек бөліктің саны. Жалпы түрде:

Бүтін сан үшін: WRITE (N:S); немесе WRITE (‘K=’, K:S); мұнда S формат, яғни бүтін санға берілген орын.

Нақты сан үшін. WRITE (‘Y=’, Y:8:3); егер y=1,76 болса, онда y=….1.760. Егер операторда формат көрсетілмесе, онда нәтижеде қанша орынды сан алынса, сол сан экранға шығады.

Паскаль тілінде параметрсіз шығару операторы WRITELN – жаңа жоға көшіру үшін пайдаланылады.

Егер WRITELN (d1, d2, …, d n) операторы пайдаланылмаса, онда d1, d2, …, d n мәндерін экранға шығарған соң курсор келесі жолға көшеді.

WRITE операторын түсініктеме беруге пайдалануға болады. Мысалы WRITE (‘A, B, C енгіз:’); READ (A, B, C);

Мысалы, Радиусы R–ге тең щардың көлемін есептеуге бағдарлама құралық.

{Шар көлемін есептеу}

Program B1 (input, output);

const P1=3.14;

VAR

R: real;

V: real;

begin

writeln (‘R- мәнін енгіз :’);

read (R);

V:=4*PI*R*R*R;

WRITELN;

writeln (‘нәтиже:’);

writeln (‘шар көлемі V=’, V:8:3);

end.

 

7-дәріс. Тармақталған құрылымдарды программалау. Алгоритмдердің циклдік құрылымдарын программалау (сандық талдау есептері, сандық массивтерді өңдеу, массивтер компоненттерін реттеу есептері және т.б. мысалдарында) массивтерді енгізу шығаруды программалау. Паскаль тілінің басқару операторлары. Шартсыз көшу операторы. Жазылу үлгісі:
GOTO белгі;

Белгі ретінде таңбасыз 1-9999 дейінгі бүтін сан пайдаланылады. Көшіру операторы қарапайым оператор қатарына жатады. Белгі LABEL – белгі бөлігінде өрнектеледі. Оның жазылу үлгісі: LABEL белгі;

Белгіні былай жазуға да болады:

LABEL 1–белгі , 2–белгі,..., N–белгі ;

Мысалы, LABEL 10,99;

. . .

GOTO 99;

. . .

99: WRITELN (‘АУЫСУ ОПЕРАТОРЫ ОРЫНДАЛАДЫ’);

Құрама операторлар

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

BEGIN

1-оператор;

2-оператор;

_ _ _ _ _ _ _

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

n-оператор

END.

Бұл жағдайда BEGIN – END қызмет сөздері операторлық жақшалар деп аталады. Құрама оператор бүтін бір оператор қызметін атқарады, сондықтан оны бағдарламаның кез-келген бөлігіне қоюға болады. Құрама оператордың құрамында өзінің құрама операторы болуы мүмкін.

Құрама операторларға шартты көшіру және қайталау операторлары жатады.

Шартты оператор

Жазылу үлгісі:

IF шарт THEN 1-серия ELSE 2-серия;

 

Шартты операторда құрама команданы пайдалануға болады:

IF логикалық өрнек THEN

BEGIN

1-оператор;

2-оператор;

. . . . . . . . .

n-оператор;

END

ELSE

BEGIN

1-оператор

. . . . . . . . .

n-оператор;

END;

Қысқартылған жазылу үлгісі:

 

IF шарт THEN оператор;

 

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

Жазылу үлгісі:

CASE өрнек OF 1-тұрақты: 1-оператор; 2-тұрақты: 2-оператор; . . . n-тұрақты: n-оператор; END.

 

CASE-жағдай, OF- солар, төмендегілер

Мысал:

CASE k+1 of

5: y:= SQR(x);

11: y:= SQRT(x);

4: z:=y*(A-B);

7: WRITE (A, B);

END.

 

Өрнек символдық та болуы мүмкін, онда тұрақтыларда символдық типте болуы керек. Мысалы:

CASE s of

‘+’,’ –‘, ‘*’, ‘/’: P:=1;

‘A’, ‘B’: P:=2

‘·’ : P:=3

END.

 

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

Паскаль тілінде қайталау процесін үш түрлі жолмен ұйымдастыруға болады:

- алдын ала берілген шарт бойынша;

- келесі шарт бойынша;

- параметрдің мәні бойынша;

1. Алдын ала берілген шарт бойынша қайталау.

Алдын ала берілген шарт бойынша қайталау қайталаудың саны белгісіз болған жағдайда пайдаланылады.

Жазылу үлгісі:

WHILE шарт DO BEGIN серия (шарт денесі) END.

WHILE – әзір, DO – орындалу.

Егер қайталаудың денесі бірнеше оператордан құралса, онда олар BEGIN – END қызмет сөздерінің арасына алынып жазылады. Ал егер қайталаудың денесі бір ғана оператордан тұрса, онда оны операторлық жақшасыз жазуға болады:

WHILE шарт DO оператор;

 

2. Келесі шарт бойынша орындалатын қайталау операторы.

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

Оның жазылу үлгісі:

REPEAT қайталау денесі UNTIL логикалық өрнек  

 

Мұнда, REPEAT – қайтала, UNTIL - соған дейін - қызмет сөздері.

Орындалуы: қашан логикалық өрнектің мәні ақиқат болғанша циклдің денесі қайталана береді.

Оператордың соңы UNTIL сөзінен бітетін болғандықтан , мұнда операторлық ашылатын және жабылатын жақшалар орнына жазылатын BEGIN – END қызмет сөздері жазылмайды.

Мысал: x=8, 6, 4, 2 болғанда y=x2 мәндерін табуға бағдарлама құру керек.

program B10;

var x, y: integer;

begin

writeln (‘x, y: ’);

x:=8;

REPEAT

y:=x*x;

writeln (‘X’, X:3, ‘Y’, Y:5);

x:=x-2;

UNTIL x=0;

end.

 

Параметрлік қайталау

Қайталау саны белгілің болған жағдайда параметрлік қайталау операторын пайдалануға болады. Жазылу үлгісі:

FOR I:=m1 TO {DOWNTO} m2 DO BEGIN операторлар END.

Мұнда, FOR- үшін, TO - дейін, DO - орындалу деген мағынаны білдіреді. I - цикл параметрі, m1, m2 – сәйкес параметрдің бастапқы және соңғы мәндері, олар бүтін сандар немесе бүтін мән беретін арифметикалық өрнектер болуы мүмкін.

Паскаль тілінде параметрдің қадамы тек екі мән., 1 немесе -1 –ді ғана қабылдай алады.

Қадамның мәніне тәуелді операторда TO немесе DOWNTO қызмет сөздері пайдаланылады. Егер қадам 1 – ге тең болса, онда операторда TO, ал қадам -1 болса, онда DOWNTO пайдаланылады.

Мысал: A=2i, B=2i+1 мәндері i-дің 1, 2, 3, 4, 5 болғандағы мәндерін табуға бағдарлама құру қажет.

1 - вариант.

program B14;

var a, i, b: integer;

begin

for i:=1 to 5

begin

A:= 2*I; B:=2*I+1;

writeln (‘A=’, A:3, ‘B=’, B:3);

end

end.

2 - вариант.

program B15;

var A, I, B: integer;

begin

for i:=5 downto 1 Do

begin

A:=2*I; B:= 2*I+1;

writeln (‘A=’, A:3, ‘B=’, B:3);

end

end.

 

Егер бағдарламаның денесі тек жалғыз ғана оператордан тұратын болса, онда begin-еnd жазбауға да болады.

 

FOR I:=m1 TO m2 DO оператор;

 

немесе

FOR I:=m1 TO m2 DO оператор

 

Күрделі циклдер

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

Мысал: N=1, 2, 3 және k=2, 4, 6, 8 болғандағы y=2k+N мәндерін есептеуге бағдарлама құру қажет.

program B18;

var N, k, y: integer;

begin

for N:=1 to 3 do

begin k:=2;

while k<=800

begin y:=2*k+N;

writeln (N:4, k:4, 9:4);

k:=k+2;

end;

end;

end.

Паскаль тілінде типтер қарапайым және күрделі болып бөлінеді. Қарапайым типке-стандартты,саналатын және шектелетын типтер жатады. Күрделі типке-массивтер,жиындар,жазулар және файлдар жатады.

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

Массив дегеніміз-бір типтегі берілгендер жиыны.басқаша айтқанда массив-бір атауға біріктірілген айнымалылардың реттелген тізбегі. Айнымалылардың массив элементтерінің типтері бірдей болады. Массив бір ғана атпен белгіленеді.мысалы: нақты сандардан құралған тізбекті К атаулы массив деуге болады. Массивтің әр элементі массивтың атымен белгіленеді де,оның индексі қойылады, яғни массив элементтері индекстерібойынша реттеліп жазылады. Мысалы: А12,...,Аn немесе жалпы түрде Ai,i=1,2,…n. Паскаль тілінде массив элементтерінің индексі алгаритмдік тілдегі тәрізді тік жақшаға алынып жазылады.

Мысалы: A[i]

Паскаль тілі

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.