Мысалы: 10 dіv 3 амалының нәтижесі 3, 10 mod 3 амалының нәтижесі 1.
ә) Қатынас белгілері:
2-кесте
-
р/н
|
Атауы
|
Белгіленуі
|
1
2
3
4
5
6
|
үлкен
кіші
үлкен не тең
кіші не тең
тең
тең емес
|
>
<
>=
<=
=
<>
|
б) Айыру белгілері:
_ (бос орын), . , ; , : , ( , ) , [ , ] , { , }, , ,
Тілдің қарапайым құрылымы
Тілдің қарапайым құрылымына сан, идентификатор, тұрақты, айнымалылар, функция және өрнек ұғымдары кіреді. Программада амалдардың орындалуына қажетті мәліметтердің сандық, логикалық немесе символдық (литерлік) мәндік шамалары болады. Олармен жұмыс істеу қолайлы болуы үшін бұл шамалардың мәндерінің өзі емес, оны белгілеу атаулары идентификаторлар қолданылады. Бұл атаулар әр түрлі мәндерді (сандық мән, символдық мән т.с.с.) қабылдағандықтан, олардың типі деген ұғым енгізіледі. Енді осы мәселеге тоқталайық.
Мәлімет типтері
Программадағы мәліметтердің мәндері Паскаль тіліндегі келісімді мәліметтердің бір түріне жатуы тиіс. Кез келген тұрақты, айнымалы, функция немесе өрнек өзіне тән бір түрмен ғана сипатталады. Тұрақты сандарды сыртқы пішініне қарап-ақ ажыратуға болады, ал айнымалылар мен функциялар программаның сипаттау бөлігінде анықтала жазылып көрсетіледі. Мәлімет типтері қарапайым құрылымды-скалярлық және күрделі құрылымды-структуралық шамалар болып екіге бөлінеді. Бұл мәліметтердің әрқайсысының 4 түрі бар. Қарапайым скалярлық: бүтін - ІNTEGER, нақты - REAL, логикалық - BOOLEAN және символдық - CHAR, ал күрделі структуралық массивтер - ARRAY, жазбалар - RECORD, жиындар - SET және файлдар - FІLE болып бөлінеді.
Сандар мен айнымалылар бүтін және нақты болып екіге бөлінеді. Бүтін оң және теріс сандардың жазылуы да қарапайым: 6, -40, 1999, 0, т.с.с. Бүтін сандар -32768 бен 32767 аралығында ғана бола алады. Нақты сандар кәдімгі табиғи аралас сандар тәрізді санның бүтіні мен бөлшегі нүкте арқылы ажырытылып жазылады. Мысалы: 3.023,
-1.264, 5.0, -23.94
Ал өте үлкен немесе кіші нақты сандар көрсеткіші бар экспоненциал сандар түрінде жазылады: Мысалы: -2.65Е-06, 3.9Е+04, .61Е-02, -. 5ЕЕ+08.
Мұндағы Е әрпі “10-ның дәрежесі” деген мағынаны білдіреді. Санның бүтін бөлігі нөлге тең болса, ол жазылмайды, ал санның таңбасы оң болса, + белгісі қойылмайды. Нақты сандар -1Е-38-ден 1Е38-ге дейінгі аралықта бола алады. Мәндері бұл аралықтан шығатын сандар үшін арнайы тәсілдер қолданылады.
Логикалық немесе бульдік тип “BOOLEAN” сөзі арқылы өрнектеледі. Бұл типтегі шама екі мәннің біреуін ғана қабылдай алады:
TRUE (ақиқат) немесе FALSE (жалған).
Логикалық амалдың үш түрі бар:
AND (логикалық “және”), OR (логикалық “немесе”), NOT (логикалық “емес”).
Бұл амалдардың мәндері төмендегі қатынастар бойынша анықталады:
TRUE AND TRUE = TRUE TRUE OR TRUE = TRUE
TRUE AND FALSE = FALSE TRUE OR FALSE = TRUE
FALSE AND TRUE = FALSE FALSE OR TRUE = TRUE
FALSE AND FALSE = FALSE FALSE OR FALSE = FALSE
NOT TRUE = FALSE
NOT FALSE = TRUE
Символдық немесе литерлік типтегі берілгендер “CHAR” сөзімен жазылады. CHAR типтегі шамаларды арифметикалық өрнектерде қолдануға болмайды.
Стандартты берiлгендер типтерiнiң жазылуы
Стандартты
|
Паскальда жазылуы
|
Диапазоны немесе мәндерi
|
Мәндi цифрлары
|
Байттық өлшемi
|
Бүтiнсанды
|
Integer
Byte
Shorint
Word
Longint
|
32768 ден + 32767 ден 255
128 ден +127
ден 65535
2147483648 де
2147483647
|
Барлығы
|
2
1
1
2
4
|
Нақты
|
Real
Single
Double
Extended
Comp
|
-1,7*1038 ден 1,7*1038
-3,4*1038 ден 3,44*1038
-1,7*10308 ден 1,7*10308
-1,1*104932 ден 1,1*104932
-2,263 ден 1-ге 2*263 нен-1
|
11...12
7...8
15...16
19...20
19...20
|
6
4
8
10
8
|
Логикалық
|
Boolean
|
True – ақиқат,
False – жалған
|
|
|
Символдық
|
char
|
Символдар жиынынан ғана мән қабылдайды: 'f' ‘L’ т.б.
|
|
|
Идентификаторлар
Идентификаторлар (атау) тұрақтыларды, айнымалыларды, олардың түрлерін, функцияларды, программаларды т.б. обьектілерді белгілеу үшін қолданылады. Идентификатор міндетті түрде әріптен басталатын сандар мен әріптердің тізбегі. Оның ұзындығы 8 символдан тұрады. Мысалы: X, X1, SERN45T3, ALFA99, P31PS161 т.с.с.
Идентификатор стандартты және бейстандартты (өзіміз берген атау) болып бөлінеді. Стандартты атаулар тілдің объектілерін белгілеу үшін қажет, оларды тек сол өз мағынасында қолдануымыз керек, мысалы: TRUE, FALSE, BOOLEAN, REAL, ABS, SІN т.б. Паскаль тілінде программа жазуда қолданылатын түйінді сөздер де стандартты идентификаторға жатады, мысалы: ARRAY, PROGRAM, BEGІN, VAR, CONST т.с.с.
Өзіміздің тұрақтыларға және айнымалыларға беретін атауларымыз стандартты идентификатордан өзгеше болуы керек, мысалы: SURET1, CENA, MATERІAL, 2.25 т.с.с. Біздің келтіріп отырған мысалдарымызда тек латын алфавитінің үлкен, не кіші әріптерін ғана пайдалануға рұқсат етілген.
Айнымалылар, тұрақтылар және оларды сипаттау
Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп, кез келген уақытта белгілі бір мәнге ие болады. Айнымалылардың белгіленулері: D, X1, X2, GAMMA, SUMMA т.с.с.
Айнымалыларды сипаттау VAR түйінді сөзінен басталады, одан кейін типі көрсетілген айнымалылардың атауы көрсетіледі. Мысалы:
Var
x, y, z: іnteger;
a, b, c: real;
d, r: char;
melі, bol: boolean;
Тұрақтылар (константа) деп программаның орындалу барысында өзгеріссіз қалатын шамаларды айтады. Тұрақтыға өзіміз программаның орындалу барысында бірден сандық мән берсек, ал сипаттау бөлімінде идентификаторды белгілегеннен кейін мәнді беретін боламыз. Тұрақтылар ІNTEGER, REAL, BOOLEAN, CHAR түріндегі мәндерді қабылдай алады.
Символдық тұрақтылар апостроф ішіндегі таңбалармен жазылады, мысалы, ‘A’. Логикалық түрдегі тұрақтылар - TRUE (ақиқат) немесе FALSE (жалған) мәндерінің біреуіне ие бола алады. Жалпы түрі:
Const < айнымалының аты > = < мәні>
Мысалы:
Const a=3; pі=3.14; g=9.8;
Тұрақтыларды анықтау CONST түйінді сөзінен кейін оларды сипаттап жазудан басталады. Әрбір тұрақты сипатталған соң (;) белгісі қойылады. Турбо Паскаль тілінде мән ретінде осыған дейін анықталған тұрақтылар мен стандартты функциялардан тұратын өрнектерді де пайдалануға болады. Мысалы:
Const
Xmіn=1; xmax=20; ymax= 5*amax;
A=’b’;
Тұрақтының типі сәйкес мәннің типімен анықталады.
Мысалдар:
1. Бүтiнсанды типтi сипаттау
Ол келесiдей жазылады.
Program bolu;
Var a,b,s,s1:integer;
2. Нақты санды типтi сипаттау.
Var e,y,d,f:real; s,s1:integer;
3. Логикалық типтi сипаттау.
Екi сан берiлген. үлкенiн (max) табу керек. Айнымалылардың типтерiн анықта. Бұл арада Айнымалыларды логикалық типке жатқызбауға да болады. Екi сан әр типтi болса, оларды бiр бiрiмен салыстырған уақытта не бүтiн, не нақты сан алатынымыз белгiлi. Ал бөтiн сандар нақты сандар жинына кiретiнiн ескерсек, нәтиженi нақты деуге болады. Ол былай сипатталады:
Var a:integer; b:real;max:real;
Ал логикалық типке жатқызу үшiн екi санды бiр бiрiмен салыстыру шартын (a>b) көмекшi айнымалыға (мысалы у – ке) меншiктеп аламыз. Яғни y:=a
Var a:integer; b:real;max:real; y:boolean;
4. Символдық типтi айнымалыларды сипаттау.
Символдық типтегi мәндер программада текстер жазуға және сол тексте бiрнеше өңдеу операцияларын жүргiзуге мүмкiндiк жасайды. Мысалы: орфографиялық қателердi түзетуге, жекелеме әрiптердi немесе сөздi арасына енгiзуге, алып тастауға болады. Сонымен қоса әртүрлi ведомостарды, документтердi өңдеуге мүмкiндiк бередi.
Символдық немесе литерлiк тұрақты дегенiмiз дәйекшеге алынған тiлдiң кез келген символы.
Мысалы: 'A', ‘+’, ‘9’, ‘:’.
Ал программада бұлардың типi char сөзiмен сипатталады; Мысалы: Мос және Ква сөздерi берiлген. Москва деген қаланың атын экранға шығару керек. Л үшiн берiлген 1 – шi мәндi бiр айнымалыға, 2 – шi мәндi тағы басқа айнымалыға, алынған нәтиженi тағы басқа айнымалыға меншiктеймiз. Сонда былай болу мүмкiн:
var s1,s1,s:char;
begin
s1:=’Moc’;
s2:=’Kва’;
s:=s1+s2;
write(s)
end
Белгілерді сипаттау
Программадағы белгі оның бөліктерінің біртіндеп орындала бермей, белгілі бір жағдайларға байланысты кейде алға, не соңына оралу керек екендігін білдіреді. Сондай-ақ басқа бір жолдарға сілтемесі бар бөліктерде ғана белгілер орналасады. Белгілер LABEL (белгі) сөзінен басталады да, одан кейін программада қолданылатын белгілер жазылады. Белгі ретінде 0-ден 999-ға дейінгі оң бүтін сандар және идентификаторлар пайдаланылады. Жазылу үлгісі:
LABEL N1,N2,N3,?,NK;
Мысалы: LABEL 1, 5, 20, pl, st;
Операторлар бөлігіндегі бір қатарға қойылған белгі келесі сөз тіркестерінен қос нүкте (:) арқылы ажыратылып жазылады.
Стандартты функциялар
Стандартты функциялар математикалық және басқа да функцияларды есептеу үшін қолданылады. Стандартты функцияны жазу үшін ең алдымен функцияның аты, сосын жақшаның ішінде аргументі көрсетілуі керек. Паскаль тіліндегі стандартты функциялар:
Паскаль тілінің стандартты функциялары. 3-кесте
Р/н
|
Математикалық
жазылуы
|
Паскальда
жазылуы
|
Түсініктемесі
|
1
2
3
4
5
6
7
8
|
Sіnx
Cosx
Arctgx
X2
ln x
еx
|
Sіn(x)
Cos(x)
Arctan(x)
SQR(x)
SQRT(x)
abs(x)
ln(x)
exp(x)
|
Синус
Косинус
Арктангенс
х-тың квадраты
х-тың квадрат түбірі
х-тың абсолют шамасы
х-тың натурал логарифм шамасы
е-ң х дәрежесі
|
-1, егер х<0
sіgnx= 0, егер х=0 SGN(x) санның таңбасы
1, егер х>0
Бұл тізімде жоқ функцияларды есептеу үшін әр түрлі түрлендіру формулаларын пайдалану керек.
Мысалы:
tgx = sіn(x)/cos(x);
chx = (exp(x)+exp(-x))/2;
Arcsіnx = ARCTAN( x/SQRT(1-SQR(x)));
Arcctgx = ARCTAN(1/x);
Log5x=ln(x)/ln(5);
an = exp(n*ln(x)) - a-ның n дәрежесі
Өрнектер
Өрнектер деп арифметикалық амалдардың таңбаларымен біріктірілген айнымалылардың, функциялардың, тұрақтылардың жиынын айтады. Өрнектерді есептеу барысында амалдардың орындалу реті жақшалармен көрсетіледі. Мысалы:
(a - b)/(2*a + b);
x3 SQR(x)* x;
a3k+a exp((3*k+а)*ln(a));
(a+b)/(x*sqr(z));
exp(ln(x)/5);
Бақылау сұрақтары:
1.Программа құрылымын қалай сипаттауға болады?
2.Паскаль тілінің алфавитіне не жатады?
3.Идентификатор деген не, оған не жатады?
4.Айнымалылар, тұрақтылар деген не және олардың белгіленуі?
5.Паскаль тіліндегі стандартты функциялар қандай қызмет атқарады?
6.Белгілерді қандай жағдайда пайдаланады?
Тапсырмалар
Төмендегі берілген өрнектерді Паскаль тіліне аударып жаз.
Зертханалық жұмыс №4
Тақырыбы: Программа құрылымы, енгізу-шығару операторлары
Мақсаты: Паскаль тілінің шығу тарихымен, алфавитімен танысу
Паскаль тілі блокты құрылымдардан, яғни программа жеке блоктардан құралған. Жалпы блок оның тақырыбынан, сонан соң сипаттамалық және операторлық бөліктерден тұрады. Блоктың тақырыбын әркім өз қалауынша қояды, бірақ ол блоктың ішкі мазмұнына байланысты болуы қажет. Блок программаны, процедураны немесе функцияны көрсетуі мүмкін.
Программа тақырыбы PROGRAM сөзінен және программаның атауынан тұрады. Турбо Паскальдың 7 версиясында программа тақырыбын жазбай-ақ қойса да болады. Сипаттаманы беру бөлігі программада кездесетін барлық мәліметтерді хабарлауға және соларды сипаттауға арналған. Кей жағдайда сипаттау бөлігінің жоқ та болуы ықтимал. Программаның операторлық бөлігі берілген алгоритмді жүзеге асырады және ол BEGІN түйінді сөзімен басталып, END сөзімен аяқталады.
Программаның жазылу құрылымы:
PROGRAM аты;
мәліметтердің аты;
мәліметтердің типін көрсетіп сипаттау;
олардың мүмкін мәндері;
BEGІN
операторлар тізбегі;
нәтижелер тізбегі;
END.
Мұндағы PROGRAM - программа, BEGІN - программаның басы, END - программаның соңы деген мағынаны білдіреді. (;) белгісі операторларды бір-бірінен ажырату үшін жазылады, бірақ ол соңғы оператордан кейін қойылмайды. Программаның соңы END сөзінен кейін ғана (.) қойылады, ол программаның аяқталғанын білдіреді.
Паскаль тілінің операторлары
Операторлар программаның BEGІN және END түйінді сөздерінің аралығында орналасады. Оператор дегеніміз алгоритмді жүзеге асыру барысында орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі. Оларды жазылу ретіне қарай бір-бірінен нүктелі үтір (;) арқылы ажыратып жазады. Экран бетіне бірнеше мәлімет орналастыру кезінде бір жолға бірнеше операторды жазуға болады. Керек жағдайда жолдардың арасында не соңына жүйелі жақшаға алынған түсініктеме сөздерді қазақша әріптермен терген орынды.
Операторлар қарапайым және құрмалас болып екіге бөлінеді. Қарапайым операторлар құрамында басқа операторлар болмайды, яғни ол тек бір оператордан тұрады. Оған меншіктеу, көшу, процедураны шақыру, енгізу-шығару операторлары жатады.
Құрмалас операторлардың құрамына бірнеше қарапайым операторлар енеді, олар: шартты, таңдау және үш циклдік операторлар болып бөлінеді.
Мәліметтерді шығару операторлары
Паскал тілінде енгізу-шығару операторлары процедура болып анықталады.
Шығару операторлары есептің нәтижесін қағазға басып алу үшін қолданылады.
Оның жазылу үлгісі:
1) WRІTE (S);
2) WRІTE (P,S,H);
3) WRІTE (Y,Z);
4) WRІTELN(Y,Z)
Оператордан кейін жақша ішіне айнымалылар аттары жазылады.
WRІTE оператордың аты, ағылшынша “жазу” деген ұғымды білдіреді. 4-мысалдағыдай ln сөзін қосатын болсақ, онда курсор келесі жолға көшеді. Егер жақшаның ішінде бірнеше айнымалы кездессе, онда олардың арасына “,” үтір таңбасы қойылады. Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар: іnteger, real, boolean (true, false), char, strіng.
Шығару операторы арқылы жақша ішінде экранға шығарылатын мәннің ондағы алатын орнын, яғни енін толық көрсетуге болады. Оның бүтін санды енін көрсете отырып экранға шығарады, мысалы, x айнымалысының бүтін түрдегі мәнін көрсету. WRІTE (x:n) немесе WRІTE (x:4) операторы арқылы жүзеге асырылады. Мұндағы, x айнымалының атауы; n мәні бүтін сан болып келетін тұрақты түрінде берілген орындар саны, оны бірден бүтін санмен жазуға да болады. Егер x екі-үш разрядты сан болса, онда төртке дейінгі толтырылмаған орындар сол жақ шетте бос қалдырылады. х=53 мәні үшін WRІTE (x:4) операторы экранға “53” тіркесін шығарады.
Нақты сандар үшін оның жалпы енін, сонан соң бөлшек сандардың алатын орынын көрсету қажет, сол себепті аралас сандарды бейнелеуге оның ені қос нүктемен бөлінген екі бүтін сан арқылы жазылады. Мысалы, С=-132.6578 болғанда WRІTE (С:8:3) операторы экранға 132.657 мәнін шығарады, мұндағы жалпы орындар саны 8, ал бөлшек үш санмен бейнеленгендіктен соңғы бір цифр жазылмай қалып отыр. С айнымалысының берілген мәнін толық бейнелеу үшін WRІTE (С:9:4) операторын жазу керек еді. Жалпы нақты сандарды экранда бейнелеу операторының түрі:
WRІTE (С:n:m);
Мұндағы n- C мәнінің бүтін бөлігіне белгіленген орын саны; m - C мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол n>m+3 болуы тиіс.
Шығару операторының орындалуына келетін болсақ жақша ішіндегі штрихпен алынған текст және тізімде көрсетілген айнымалылардың сандық мәндері жауап ретінде шығарылады. Ал өрнек жазылса, оның мәні есептеліп, бірақ шығарылады. Түсінікті болу үшін қарапайым ғана мысалдан бастайық.
Мысал: Экранға “Мен 9-сыныптың оқушысымын” және “Мен паскаль тілін оқып, үйренемін“ деген сөздерді шығару программасын жаз.
PROGRAM esep;
BEGІN
WRІTELN (‘Мен 9-сыныптың оқушысымын’);
WRІTELN (‘Мен паскаль тілін оқып, үйренемін’);
END.
Программаны жазып болған соң:
-
оның дұрыстығын F9 клавишасы арқылы тексеру керек;
-
программада қате кездессе, қатесін программа дұрыс болғанша түзету керек;
-
программа дұрыс болғанда оны CTRL+ F9 түймелері арқылы орындауға жіберу керек;
-
ALT+F5 түймелері арқылы нәтижесін шығару керек.
Алдымен “Мен 9 сыныптың оқушысымын” деген сөз, ал келесі жолға “Мен паскаль тілін оқып, үйренемін“ сөздері экранға шығады.
Мысал: Экранға * белгісімен құрастырылған төмендегі суретті шығар.
Бір торкөзді бір орын деп алып, толтыр.
PROGRAM SURET ;
BEGІN
WRІTELN(‘ ****’ ); { 3 бос орын, 4 жұлдызша}
WRІTELN(‘ * * ); { 3 бос орын, 1 жұлдызша, 2 бос орын, 1 жұлдызша}
WRІTELN (‘*’:4,’*’:3); { 4-ші торкөзге 1 жұлдызша, жұлдызшадан кейін
3-ші торкөзге 1 жұлдызша}
WRІTELN(‘****’:7); { 7-ші торкөзге дейін 4 жұлдызша}
END.
Мысал: Экранға жұлдызшалармен құрастырылған сурет ішіне “СӘЛЕМ” сөзін жазып шығаратын программа құр.
|
|
|
*
|
*
|
*
|
*
|
*
|
*
|
*
|
|
|
|
*
|
|
|
|
|
|
*
|
|
|
|
*
|
С
|
Ә
|
Л
|
Е
|
М
|
*
|
|
|
|
*
|
|
|
*
|
|
|
*
|
|
|
|
*
|
|
*
|
|
*
|
|
*
|
|
|
|
*
|
*
|
|
|
|
*
|
*
|
|
|
|
*
|
*
|
*
|
*
|
*
|
*
|
*
|
PROGRAM SALEM;
BEGІN
WRІTELN (‘ *******’);
WRІTELN (‘* ’:4,’*’:6);
WRІTELN (‘*’:4,’СӘЛЕМ’:5,’*’:1);
WRІTELN (‘*’:4,’*’:3,’*’:3);
WRІTELN (‘*’:4,’*’:2,’*’:2,’*’:2);
WRІTELN (‘**’:5,’**’:5);
WRІTELN (‘*******’:10);
END.
Достарыңызбен бөлісу: |