ПОӘК 042-18-12 5/03-2013 №1 басылым 18. 09. 2013ж


m2: array [1..10, 1..10] of real



бет6/12
Дата13.02.2017
өлшемі2,26 Mb.
#9383
1   2   3   4   5   6   7   8   9   ...   12

m2: array [1..10, 1..10] of real;

мұндағы алғашқы сөз – массивтердің атауы; N, M – массивтің төменгі және жоғарғы индекстерінің мәндері, const бөлімінде анықталған тұрақтылар; Т – type бөлігінде сипатталған массивтің типі.

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





    1. Программаның операторлар бөлігі

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

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

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

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

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

Мысалы:


begin

a:=beta/5.25;

c:=2*beta+sin(a);

write(a:6:2, c:8:3)



end;

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



1.1-сурет


ІІ. Программалау тілінің операторлары

Паскаль тілінің операторларын жай және күрделі операторлар деп екі топқа бөлуге болады. Жай операторлардың ішінде ешқандай оператор болмайды. Күрделі операторлар бірнеше жай операторлар конструкциясынан құралады.


2.1 Меншіктеу операторы

Меншіктеу операторы кез келген программалау тілінің негізгі операторы. Меншіктеу операторы жазылған өрнектердің мәнін есептеп, оны айнымалыға телу үшін қолданылады. Өрнек мәнінің типі айнымалының типіне міндетті түрде сәйкес келуі тиіс. Кейде нақты түрдегі айнымалыға бүтін сан мәнін меншіктеуге болады, ондайда бүтін сан нақты санға айналып кетеді. Меншіктеу операторының жазылу ережесі төмендегідей болады:



<айнымалы>:=<өрнек>;

мұндағы := - меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген сан мәніне тең болуы тиіс.



Мысалдар:

i:=i+1;


x1:=(-b+sqrt(b*b-4*a*c))/(2*a);

a[2,3]:=m-n;

fun:=false; (fun айнымалысының типі – boolean)

l:=2*pi*r;



2.2 Көшу операторы

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

GOTO _ <белгі>;

Мұндағы <белгі> - белгі идентификаторы, _ - бір бос орын қалдыру белгісі.



Мысалдар:

goto 20;


goto n1;


Жалпы құрылымдық программалау тәртібі бойынша бұл операторды қолданбауға тырысу керек. Ол программаны оқып түсіну ісін қиындатады.

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


2.3 Бос оператор

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



Мысалы:

A:=A;


10: BEGIN END; {мұндағы 10 белгі рөлін атқарады}

WHILE A <> ‘ ‘ DO;


ІІІ. Енгізу-шығару процедуралары
Паскаль тілінде енгізу-шығару операторлары процедура болып анықталады.

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

read (a1, a2, … , an),

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

Енгізілетін айнымалылардың мәндері integer, real, char, string (сөз тіркестері) типтеріне жатуы мүмкін. Логикалық айнымалылардың мәндерін енгізуге болмайды.

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

Read (FN, b1, b2, … , bn);

Read (FN, b1, b2, … , bn);

Readln (FN);

Мұндағы FN – мәндер енгізілетін дискідегі файл аты; bi – айнымалылар идентификаторлары, файлдарда да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да операторлардың үш түрі де қолданылады.Файлдағы мәліметтер бір-бірінен «бос орын» не «енгізу» пернесі арқылы бөлінуі тиіс, яғни файлға әрбір мән енгізілгеннен кейін «_», ал қатар соңына «» таңбасы қойылады.

Мәліметтерді ЭЕМ есінен дисплей экранына басып шығаруға арналған шығару операторы write. Оператордың жазылу формасы:

Write (a1, a2, … , an);

Нақты және бүтін сандарды экранға шығару үшін write операторында оның форматын көрсетуге болады. Нақты сандар үшін формат екі бөліктен тұрады. Бірінші бөлікте санның таңбасымен қоса есептегенде оның алатын орнының саны, екінші бөлікте бөлшек бөлігінің алатын орыны көрсетіледі. Паскаль тілінде writeln параметрсіз шығару операторын қолдануға болады. Бұл оператордан кейін келетін параметрлі шығару операторы мәліметтерді жаңа жолына шығарады.

Нақыт сандар үшін оның жалпы енін, сонан соң бөлшегі алатын орынды көрсету қажет, сол себепті аралас сандарды бейнелеуде оның ені қос нүктемен бөлінген екі бүтін сан арқылы жазылады. Мысалы, С=-145.7865 болғанда WRITE(C:8:3) операторы экранға –145.786 мәнін шығарады, мүндағы жалпы орындар саны – 8, ал бөлшек үш санмен бейнеленгендіктен соңғы бір сан жазылмай қалып отыр. С айнымалысының берілген мәнін толық бейнелеу үшін WRITE(C:9:4) операторын жазу керек еді. Жалпы нақты санды экранда бейнелеу операторының жазылу түрі:

WRITE(C:n:m);

Мұндағы n – C мәнінің бүтін бөлігіне белгіленген орын саны; m – C мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол n>m+3 болуы тиіс. Экранға шығаратын сандардың арасында қалдырылатын бос орындар санын да осы жолмен көрсетуге болады. Ол үшүін екі апостроф жазып, одан кейін қос нүктемен бөлінген бүтін сан арқылы қалдырылатын бос орындар санын өрнектейміз. Мысалы:

WRITE(b:8:3, ‘ ‘: 4, c:12:4);

Мұндағы 4 – b мен с сандарының арасындағы бос орындар саны.



Мысалы:

PROGRAM A(input, output);

VAR

x, y, z:string[10];



a, b, c: real;

m, n: integer;

BEGIN

x:=’f’;


y:=’j’;

z:=’jan’;

a:=23.5;

b:=23.456789;

m:=1444;

n:=6785;


WRITE(x:2, y:2, z:4, a:5:2, b:9:6, m:6, n:5:0)

END.


Программа тақырыбындағы жақша ішіндегі екі сөз (input, output) керекті мәліметтер пернелерден енгізілетінін, ал нәтиже экранға шығарылатынын мәлімдейді. Паскальдың стандарты бұл екі сөзді жазуды міндетті түрде талап еткенімен Паскальда оларды жазбауға рұқсат етілген, сондықтан мысалдарда бұл параметрлерді көрсетпейміз. Енгізу және шығару операторлары іс жүзінде барлық программаларда қолданылады.
IV. Сызықты құрылым алгоритмдерін программалау
Қарапайым алгоритмдік құрылым операцияның сызықтық жүру реті болып табылады. Мұндай алгоритмдік құрылымның программалық жүзеге асуын сызықтық программа деп атайық. Сызықтық алгоритм және сызықтық программа қарапайым есептерді шешуге арналған. Онда бірнеше мүмкін альтернативалардың ішінен таңдауы және қандай да бір операциялардың циклдік қайталануы қарастырылмаған.

Мысалы: Герон формуласы бойынша а, в, с қабырғаларымен берілген үшбұрыштың ауданын есептеуге арналған программаны құру керек.



мұндағы

PROGRAM М 1 (input, output);

VAR A, B, C, P, T, HA, HB, HC:REAL;

BEGIN


READ(A, B,C);

P:=(A+B+C)/2;

T:=2*sqrt(p*(p-A)*(p-B)*(p-C));

HA:=T/A;


HB:=T/B;

HC:=T/C;


WRITELN(‘HA=’,HA);

WRITELN(‘HB=’,HB);

WRITELN(‘HC=’,HC);

READLN;


END.


Тексеру сұрақтары

  1. Оператор деген не?

  2. Операторды жазу форматы?

  3. айнымалыларға мәндер меншіктеу операторының жазылу форматы және оның қызметі?

  4. Ақпаратты енгізу деген не?

  5. Ақпаратты шығару деген не?

  6. Input және Output стандарттық операторларының қызметі?

  7. Мәндерді шығару процедурасын жазу форматы және оның қызметі?

  8. Ақпараттың форматты шығарылуы не үшін қолданылады?


Әдебиет: (1) бет. 29-61


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   12




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет