2.1-сурет.
Қарапайым
x;y
соңы
y:=f(
x)
басы
x0,xк,dxен
x:=x0
х
≤xk
жоқ
иə
8
2
3
5
x:=x+dx
6
7
1
4
25
4. Қадамдық циклдер. Циклді орындаудың алдында, оның
қайталану саны белгісіз болған жағдайда қадамдық циклдер
пайдаланылады. Мұнда циклді жазу үшін тек қана "шартты тексеру"
блогын қолдану қажет, ол циклді аяқтау үшін белгілі бір шартты
тексереді. Қадамдық циклдердің схемасын сызғанда модификаторды
(алтыбұрышты) қолдана алмаймыз, себебі алдын ала циклдің неше
рет қайталанатыны бізге белгісіз. Енді осындай циклдер жұмысына
мысал келтірейік.
3-мысал.
2
k
k
x
Z
=
функциясының мəндерін k = 1, 2, 3, ... жəне Z 0.0001-
ден артық болған жағдайда есептейік, мұндағы 0
≤х ≤ 1. Бұл мысалда
алдын ала цикл неше рет қайталанатынын айта алмаймыз, өйткені
бізде тек k параметрінің алғашқы мəні мен қадамы ғана белгілі.
Сонымен қатар Z функциясының 0.0001-ден артық болуы циклді
қайталау шарты болып есептеледі (Z >0.001). 2.3-суретте осы есептің
алгоритм схемасы көрсетілген.
Бақылау сұрақтары
1. Алгоритм жəне программа дегеніміз не, олардың қандай ұқсастық-
тары мен айырмашылықтары бар?
2. Компьютерде орындалатын алгоритмдердің қандай қасиеттері
болады?
3. Алгоритмдерді өрнектеу жолдары.
4. Компьютерде есеп шығару кезеңдері.
3
2.2-сурет. Модификаторлы
циклдік алгоритм
y:= f (x)
x,y
соңы
x0,xк,dxенгізу
x:=x0,xk,dx
2
4
6
5
басы
1
x-ті енгізу
2
k := 1
3
k, z
соңы
басы
z>10
-4
жоқ
иə
8
k:=k+1
5
6
1
7
4
z:=
2
/ k
x
k
2.3-сурет. Қадамдық
цикл
26
5. Алгоритм схемаларының əр түрлі блоктары, олардың бейнеленуі,
байланыстары.
6. Сызықтық, тармақталу жəне циклдік алгоритмдер.
7. Қадамдық циклдер жəне олардың ерекшеліктері.
5-Дəріс. Турбо Паскаль тілінің негізгі сипаттамалары. Тілдің
алфавиті. Тілдің объектілерінің жазылуының ережелері.
Мəліметтер типтері. Тұрақтылар. Айнымалылар. Ерекше
белгілер. Өрнектер. Арифметикалық жəне логикалық өрнектер.
Мəліметтер құрылымы: массивтер, жиындар, жазбалар.
1. Кез-келген тексті құру үшін пайдаланылатын элементарлық
белгілерді тілдің символы дейді. Сондай символдардың тобын тілдің
алфавиті дейді. Паскаль тілінің алфавиті төмендегі символдар тобын
қамтиды:
а) 26 латын əрпі: A, B, C, D,…Z;
ə) араб цифрлары: 0, 1, 2,...9;
б) 32 орыстың баспа əріптері: А, Б, В,...Я;
в) арнайы символдар: *, /, +, -,...;
2. Кейбір түсініктер.
Тілдің алфавиттерін көп жағдайларда - тілде пайдаланылмайтын
символдар деп те атайды. Тілдің жеке символдары арқылы белгілі
мағынаны білдіретін тілдің сөздері жəне сөйлемдері құрастырылады.
Текстегі сөздерді бір-бірінен ажыратып тұру үшін бос орын немесе əр
түрлі бөлгіш белгілері (жақша, қос нүкте, т.с.с.) пайдаланылады. Бір
сөз бен екінші сөз арасына бір немесе бірнеше бос орын қалдыруға
болады.
Орындайтын міндеттеріне байланысты сөздерді: қызмет сөздері,
атаулар жəне тұрақтылар деп бөледі.
Қызмет сөздері. Мағынасы алдын ала анықталып қойылған
Паскаль тілінде пайдаланылатын сөздер тобын Паскаль тілінің
қызмет сөздері дейді. Мысалы, PROGRAM, VAR, BEGIN, END жəне
т.б.
Атау (идентификатор). Атау бір өрнекті белгілеуге арналады.
Паскаль тілінде атауды стандартты жəне пайдаланушылар атаулары
деп бөледі.
Стандартты атаулар – стандартты объектілерді (стандартты
функциялар, стандартты бағдарламалар т.с.с.) белгілеуге арналады.
Мысалы, енгізу - READ, шығару - WRITE , (INPUT, OUTPUT) т.с.с.
27
Пайдаланушылар атауы ретінде əріптен басталатын кез-келген
əріптер мен цифрлар тізбегі, сөздер, тіпті сөйлемдер алынады.
Мысалы, жылдамдық, 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Синтаксистік қате пайда болмас үшін бұл қатынастарды былай
жазған дұрыс.
(a=b) and (c
28
Логикалық типке келесі стандартты логикалық функциялар
қолданылады:
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.
Нақты тұрақты. Паскаль тілінде нақты тұрақтылар екі түрде
жазылады:
29
- сандардың үтірлері өзгермейтін түрі – ±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 əріптен аспауы қажет;
б) функцияның аргументі функция атауынан соң дөңгелек жақша
ішіне алынып жазылады;
в) функция аргументі тұрақты, айнымалы типті аргументтің өрнек
түрінде терілуі де мүмкін;
30
г) тригонометриялық функцияларда аргумент мəні радиан
өлшемімен берілуі қажет.
Егер α бұрыштың мəні градус өлшемімен берілсе, онда оны
алдын-ала мына формуланы β=α·π/180˚ пайдаланып радиан
өлшеміне аударып содан соң тригонометрилық функциялардың
мəндерін есептейді.
Функция
Орындайтын міндеті
Аргумент
типі
Функция
типі
ABS(x)
│x│мəнін табу
нақты
бүтін
нақты
бүтін
SQR(x) x
2
мəнін табу
нақты
бүтін
нақты
бүтін
Sin(x) sinx
есептеу
нақты
бүтін
нақты
нақты
Cos(x) cosx
есептеу
нақты
бүтін
нақты
нақты
ARCTAN(x) arctgx есептеу
нақты
бүтін
нақты
нақты
EXP(x) e
x
есептеу
нақты
бүтін
нақты
нақты
SQRT(x)
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 символының реттік нөмірін
табу
логикалық
бүтін
символдық
бүтін
бүтін
бүтін
31
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
a
x
, EXP (x*LN(A));
Сонымен Паскаль тілінде бағдарламаның жалпы құрылымын
былай көрсетуге болады:
PROGRAM аты
бейнелеу
бөлігі
BEGIN
операторлар бөлігі
END.
Сонымен бағдарлама түрі былай болады:
PROGRAM аты(INPUT, OUTPUT);
LABEL – белгі бөлігі;
CONST – тұрақтылар бөлігі;
TYPE – тип бөлігі;
VAR – айнымалы бөлігі;
PROCEDURE, FUNCTION – процедура жəне функция бөлігі,
BEGIN
1 - оператор;
_ _ _ _
n-оператор;
END.
32
Бейнелеудің жеке бөліктері
Белгі. Белгі ретінде кез-келген бүтін оң сан пайдаланылады. Белгі
операторды немесе бағдарламаның бөлігін табуға пайдаланылады.
Белгі оператор алдында орналасады да “;” арқылы ажыратылады.
Қажетті операторға (бағдарламаның бөлігіне) оралу белгі арқылы
жүзеге асырылады. Белгіні пайдалану үшін ол алдын-ала белгі
бөлігінде 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) Айнымалылар
Бағдарламаларда пайдаланылатын кез-келген айнымалы бағдар-
ламаның
айнымалылар
бөлігінде
бейнеленуі
қажет.
LABEL сан, сан,
... , сан;
33
Айнымалыларда бейнелеу қызмет сөзі 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.
Бір жолға бір немесе бірнеше оператор жазуға болады, бірақ олар
“;” арқылы бір-бірінен ажыратылады. Бір жолға сыймаған
операторды екінші жолға жалғастырып жазуға болады.
34
Бір-ақ бағдарламаны оқуға қолайлы етіп жазған дұрыс , бұл жағдайда
оны түзету, редакциялау ыңғайлы болады.
Паскаль тіліндегі программаның жалпы құрылымын келесі
түрде көрсетуге болады:
Program программаның аты
Uses модульдер
Label белгілер;
Const тұрақтыларды хабарлау;
Type деректер типін сипаттау;
Var айнымалыларды хабарлау;
Процедураларды (Procedure) жəне функцияларды
(Function) сипаттау.
Begin
Программаның денесі
End.
Типтердің үлкен үш класы бар: жай типтер, құрылымды типтер
(массивтер, жазбалар, жиындар, файлдар); көрсеткіш (указатель) тип.
Типті хабарлау 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;
Түгенделетін тип. Паскаль тілінде тек бір ғана стандартты
түгенделетін тип бар. Ол – логикалық тип.
Программаға программист өзіне қолайлы түгенделетін типті
енгізуіне болады. Түгенделетін тип реттелген идентификаторлар
жиынында анықталады.
35
Мəндердің кез келген стандартты емес типі программада типті
баяндау бөлімінде анықталуы қажет. Бұл тип (түгенделетін) типтер
бөлімінде былай баяндалады.
TYPE NT = (w1,w2…wn).
Мұндағы NT - анықталатын типтің идентификаторы.
w1,w2…wn - тұрақты идентификаторлар, NT - типті айнымалы
қабылдайтын нақтылы мəндер. Бұл мəндер реттелген, реттелу тəртібі
типті баяндайтын идентификаторлардың мынадай орналасуымен
анықталады:
w1Мысалы,
Type Апта= (дүйсенбі, сейсенбі, сəрсенбі, бейсенбі, жұма, сенбі,
жексенбі);
Бұл Мысалда Апта типі
(дүйсенбі, сейсенбі, сəрсенбі, бейсенбі, жұма, сенбі, жексенбі)
тұрақты идентификаторлар жиыны екені анықталған.
Егер салыстыру операндаларының айнымалылар типтері бірдей
болса, онда барлық түгенделетін типтерге келесі салыстыру
амалдарын қолдануға болады:
=,<>, <, <=, >, >=
Барлық скалярлы типті айнымалыларға (Real типінен басқа) келесі
стандартты функцияларды қолдануға болады:
SUCC(x) - реттелген тізбекте х-ке жалғасатын келесі элементті
анықтайды.
Pred(x) - реттелген тізбекте х-тің алдындағы элементті анықтайды.
ORD(x) - реттелген тізбекте х-элементінің нөмірін анықтайды.
Мысалы,
SUCC(B)=C;
SUCC(M)=N;
SUCC (дүйсенбі) = сейсенбі
PRED(M) = L;
PRED(жұма) = бейсенбі;
Upcase(‘n’)=’N.’ Tек латын əріптеріне қолданылады, кіші əріпті
үлкен əріпке түрлендіру функциясы. Шектелген тип. Паскальда
типтерді баяндаған кезде программа талабына орай белгілі бір
деректердің белгілі бір аралығын қамтып отыру мүмкіндігі
қарастырылған. Осындай аралықты белгілейтін айнымалыны
анықтағанда шектелген немесе түгенделетін типтер қолданылады.
36
Мысалы, VAR A: MIN..MAX; Мұндағы, А - айнымалысы MIN -
төменгі жəне MAX - жоғарғы шектермен шектелген ішкі жиында
анықталған, жиынның шекаралары екі нүктемен (..) бөлінеді.
Мысалы, i - айнымалысы 1900-1995 жиынның мəндерін қабылдау
үшін баяндау бөлімінде бұл талап былайша көрсетіледі:
Var i: 1900..1995;
i - айнымалысы integer, яғни жиынның шегі бүтін сандар болмақ.
Шектелген типтерді символдық жəне түгенделетін типтерде де
анықтауға болады, Мысалы:
Достарыңызбен бөлісу: |