Turbo Pascal – программалау тілі. Берілгендер типі.
Жоспары:
-
Turbo Pascal туралы тарихи анықтама.
-
Тілдің алфабиті.
-
Қызметші сөздер.
-
Идентификатор.
-
Берілгендер типтерінің классификациясы.
-
Бүтіп тип.
-
Логикалық тип.
-
Символдық тип.
-
Нақты тип.
Лекцияның мақсаты: Turbo Pascal тілінің алфабитімен, қызметші сөздерімен,
идентификатормен, берілгендер типтерімен таныстыру.
1. Turbo Pascal туралы тарихи анықтама
Turbo Pascal – жоғары деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцария физигі Никлаус Вирт ұсынған. Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдың құрметіне Паскаль деп атаған.
Кейіннен тілдің көптеген нұсқалары жарық көреді. Солардың ішінде, 1983 жылы Borland корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа үлгісі - Turbo Pascal программалаушылар арасында үлкен сұранысқа ие болды. Оның бұл нұсқасы СР/М операциялық жүйесіне негізделген. 1984 жылдың басында MS DOS жүйесіне ауыстырылғалы бері пайдалану қарқыны бұрынғыдан да арта түсті.
2. Тілдің алфабиті
Кез-келген тілді үйрену оның алфабитінен басталады. Программаның элементтерін жазуда қолдануға болатын символдар жиынтығын тілдің алфабиті дейміз. Turbo Pascal тілінің алфабиті мына символдардан тұрады:
-
Латын алфабитінің бас және кіші әріптері;
-
орыс, қазақ алфабитінің әріптері программада түсіндірме мәндерді жазуда пайдаланылады;
-
Араб цифрлары 0-9;
-
Арнайы символдар. Оларды белгілі бір функцияларды атқаруына сәйкес төмендегі топтарға жіктеуге болады:
а) Айыру белілері: _ (бос орын), “.”, “,”, “;”, “:”, (), [], “’-дәйекше“, “#-тор“;
ә) Арифметикалық амалдар таңбалары: +, -, *, /, div (бүтін бөлу), mod (бүтін қалдықты анықтау);
б) Қатынас таңбалары: <, >, =, :=, <>, <=, >=;
1.1.-кесте Паскаль тіліндегі тыныс белгілер
Белгі |
Қолданылуы |
|
{ } |
Программаға түсініктеме беруде |
|
(* *) |
Программаға түсініктеме беруде |
|
[ ] |
Массив өлшемін белгілеуде |
|
(. . ) |
Массив индексін, жолдың өлшемін белгілеуде |
|
‘ |
Символдар мен жолдық тұрақтыларды белгілеуде |
|
:= |
Айнымалы мәнін меншіктеуде |
|
; |
Программаның жолдарын, операторларды, хабарламаларды айқындауда |
|
: |
Айнымалылар типтерін айқындауда, (белгі мен оператор арасына) |
|
= |
Тұрақтымен оның мәнінің арасын бөлуде |
|
, |
Тізім элементтерінің арасын айыруда |
|
.. |
Диапазон типін беруде |
|
. |
Программа соңында |
|
^ |
Көрсеткіш типін анықтауда |
|
@ |
Айнымалылар адерсін, қосалқы программаны белгілеуде |
|
# |
Символды оның коды бойынша белгілеуде |
|
$ |
Компилятор мәліметін белгілеуде |
3. Қызметші сөздер
Pascal тілінде алдын ала қызметі тағайындалған сөздер тобы қолданылады. Оларды Pascal-дың қызметші сөздері деп атайды. Бұл сөздер ағылшын тілінде берілгенімен, мағынасы атқарылатын іс-әрекетті баяндайды.
Мысалы: Program – сөзі программаның тақырыбын, begin – программаның басын, end – программаның соңын сипаттауға пайдаланылады.
1.2. кесте. Қызметші сөздер
Қызметші сөз |
Мағынасы |
Қызметші сөз |
Мағынасы |
|
Abcolute |
абсолюттік |
Label |
белгі |
|
And |
және |
Library |
библиотека |
|
Array |
массив |
Mod |
бүтін қалдық |
|
Asm |
асемблер |
Nit |
бос ссылка |
|
Begin |
басы |
Not |
терістеу |
|
Case |
таңдау |
Object |
объект |
|
Const |
тұрақты |
Of |
тип анықтау |
|
Constructor |
конструктор |
Or |
немесе |
|
Destructor |
Деструктор |
Packed |
жинақталған |
|
Div |
бүтін бөлу |
Procedure |
процедура |
|
Do |
Оренда |
Program |
программа |
|
Downto |
Кеміту |
Record |
жазба |
|
Else |
әтпесе |
Repeat |
қайталау |
|
End |
Соңы |
Set |
көпшелеу |
|
Export |
Експорт |
String |
жол |
|
External |
Сыртқы |
Then |
онда |
|
File |
Файл |
To |
дейін |
|
For |
Үшін |
Type |
тип |
|
Function |
Функція |
Unit |
модуль |
|
Forward |
Оздыру |
Until |
соған дейін |
|
Goto |
көшу |
Uses |
пайдалану |
|
If |
Егер |
Var |
айнымалы |
|
In |
Құрамында |
While |
әзір |
|
InLine |
Негізгі |
With |
жазба басы |
|
Interface |
Інтерфейс |
Xor |
немесе кері |
|
Interrupt |
Үзу |
|
|
4. Идентификатор
Pascal тілінде атауды идентификатор деп атайды, яғни, идентификатор программаның кез-келген элементтіне (айнымалылар, тұрақтылар, функциялар, файлдар, жиындар, т.б.) берілген атау. Олар стандартты және пайдаланушылар идентификаторы болып екіге бөлінеді.
Стандартты функциялар, қызметші сөздер, т.с.с. стандартты объектілер атаулары стандартты идентификатор тобына жатады. Олардың көпшілігі алдын ала орындалатын операция немесе белгіленген элемент туралы мағлұмат беріп тұрады. Мысалы: Real (нақты сан), Writeln (шығару), Begin (басы), End (соңы).
Пайдаланушылар идентификаторы ретінде әріптер мен цифрлар тізбегі алынады. Программалаушы идентификатордың төмендегі жазылу ережелерін білуі қажет:
-
идентификатор міндетті түрде әріптен басталатын латын әріптері мен цифрлардан тұрады;
-
Оның құрамында орыс алфабитінің әріптері, арнайы символдар, әсіресе бос орын болмауы қажет;
-
қызметші сөздер пайдаланушылар идентификаторы бола алмайды;
-
Идентификатордың максималь ұзындығы –127 символ болғанымен, оның тек 63 символы ғана оқылады.
Идентификатор қысқа, әрі түсінікті болғаны дұрыс. Себебі, оның мағынасы болмағаны қателік туғызбаса да, белгіленген программа элементті туралы мәлімет беруі тиімді екенін ескерген жөн. Мысалы, metka12, blok, window1, т.с.с.
Бір программада бірнеше объектіге бір ғана атау беруге болмайды. Бұл шарт орындалмаған жағдайда экранда төмендегідей хабарлама шығады: Error 4: Duplicate identifier (Қате 4: Қайталанған идентификатор).
Идентификатор тағайындауда программалаушылар тарапынан жиі жіберілетін қателіктер:
3А - цифрдан басталған;
Nomer.Do - құрамында нүкте бар;
Blok# - арнайы символ қойылған;
My Program - құрамында бос орын бар;
Mod - қызметші сөз қолданылған.
5. Берілгендер типтерінің классификациясы
Программаның негізгі объектілері айнымалылар мен тұрақтылар болып табылады. Программа құру барысында, программалаушы олардың типтерін алдын-ала анықтауы қажет. Айнымалылар мен тұрақтылардың типтері – олардың мәндерін және оларға қолданылатын әртүрлі өңдеу амалдарын белгілейтін – басты көрсеткіш.
Pascal-да берілгендердің типтерін екі үлкен топтарға жіктеуге болады:
-
Қарапайым типтер (скалярлық);
-
Құрылымдық типтер (структуралық)
|
|
|
Б |
|
|||||||||||||
|
|
||||||||||||||||
|
Қ |
|
Құрылымдық (структуралық) |
||||||||||||||
|
|
|
|||||||||||||||
|
С |
|
Пайдала-нушылар |
Жазабал-ар |
|
массив-тер |
|
файлдар |
|
жолдар |
|||||||
|
|
|
|
|
|
|
|
|
|||||||||
|
Бүтін |
|
Нақты |
|
Символ-дық |
|
Логика-лық |
|
|
|
|
|
|
|
|
||
6. Бүтін тип
Паскаль тілінің стандартында бүтін типтің Integer бір ғана түрі анықталса, Turbo Pascal-да стандартты бүтін типтің бес түрі бар: Shortint, Integer, Longint, Byte, Word
|
Тип |
Діапазон |
Форматы |
Көлемі (байт) |
|
Shortint |
-128 ... 127 |
таңбалы |
1 |
|
Integer |
-32768 ... 32767 |
таңбалы |
2 |
|
Longint |
-2147483648 ... 2147483647 |
таңбалы |
4 |
|
Byte |
0 ... 255 |
таңбасыз |
1 |
|
Word |
0 ... 65535 |
таңбасыз |
2 |
7. Логикалық тип
Паскальда стандартты логикалық тип –boolean (көлемі 1 байт). Логикалық типтің бұл атауы, атақты математик Джордж Буль есіміне байланысты Boolean деп аталады. Логикалық типтегі элемент тек екі мәнді қабыладай алады: true(ақиқат), false (жалған). Логикалық типтің мәні true болғанда 1 санына, false болғанда 0 санына тең болады.
Логикалық типтегі берілгендер программада шартты тексеруде қолданылады. Логикалық шарт мына қатынас таңбалары: >, <, <=, >=, <>, = арқылы жазылады. Мысалы, 12<30- true, 12=30 false.
Логикалық типтегі берілгендерге логикалық амалдар қолданамыз. Логикалық амалдар арқылы логикалық өрнектер ұйымдастыруға болады. Логикалық өрнектің нәтижесі әрқашанда екі мәннің true, false біріне тең болады.
8. Символдық тип
Символдық (литерлік) тип Char ASCII (American Standart Code for Information Interchange) кодының барлық түріне сәйкес келетін символдарды анықтайды. Char типтегі көрсеткіштердің кодын ORD функциясымен алуға болады. Осы кодтары арқылы символдық типтегі көрсеткіштерді бір-бірімен салыстыруға болады.
Белгілі бір іс-әрекетті атқаратын, басқарушы символдарға 0-ден 31-ге дейінгі код тағайындалған. Символдық тип айнымалылар мәні ‘(дәйекше) таңбасына алынады. Мысалы: ‘A’, ‘$’, ‘2’, т.с.с.
Символдық типтің кеңейтілген түсінігі жолдық тип String болып табылады.
9. Нақты тип
Паскальдың стандартында нақты типтің бір ғана түрі Real анықталса, Turbo Pascal-да нақты типтің 5 түрі қолданылады: Real, Single, Double, Extended, Comp
|
Тип |
Диапазоны |
Формат (цифр саны) |
Көлемі (Байт) |
|
Real |
2,9*10-39 … 1,7*1038 |
11-12 |
5 |
|
Single |
1,5*10-45 … 3,4*1038 |
7-8 |
4 |
|
Double |
5*10-324 … 1,7*10308 |
15-16 |
8 |
|
Extended |
3,4*10-4932 … 1,1*104932 |
19-20 |
10 |
|
Comp |
-263+1 … 263-1 |
19-20 |
8 |
Мұндағы Single, Double, Extended, Comp типтерін компьютердің жетілген, соңғы түрлерінде жұмыс істегенде қолданған тиімді. Себебі бұл нақты типтің түрлерін пайдаланғанда компьютердің қосымша процессоры болғаны жөн.
Нақты типтегі сандарды жазудың екі тәсілі бар: әдеттегідей және экспоненциал.
Өте үлкен және өте кіші нақты сандарды жазуда 10 санының дәрежесін қолданған ыңғайлы (12*10-16, 3*108). Осындай сандарды экспоненциал түрге келтіру үшін 10-ның орнына Е символы және дәреже көрсеткіші жазылады.
12*10-16 12Е-16
3*108 3Е+8
Кез-келген нақты типтегі сан компьютер жадысында экспоненциал түрде сақталынады. Программа нәтижесі нақты сан болса, бұл сан экранға экспоненциал түрде шығады.
Бақылау сұрақтары:
-
Тілдің алфабиті.
-
Қызметші сөздер.
-
Идентификатор.
-
Бүтіп тип.
-
Логикалық тип.
-
Символдық тип.
-
Нақты тип.
Лекция тақырыбына сәйкес СӨЖ тапсырмалары:
Тілдің алфабиті. Идентификатор.
Әдебиеттер:
-
Камардинов О. Есептеуіш техника және программалау. Алматы, 1997
-
Н.Ы.Омарова, К.У.Тұрмағанбетова, К.Н. Нурединова. Паскаль тілінде программалау негіздері.
-
Фаранов В.В. TURBOPASCAL 7.0, Нолидж, 1999
-
Ж.Қ.Масанов, Б.А.Бельгибаев, А.С.Бижанова, Қ.Қ.Мақұлов. Turbo Pascal.Алматы, 2004.
Лекция 2
Turbo Pascal-дағы негізгі ұғымдар.
Жоспар:
-
Программаға сипаттама. Берілгендер. Нәтиже.
-
Тұрақтылар.
-
Айнымалылар.
-
Стандартты функциялар.
-
Арифметикалық өрнектер.
-
Div және mod амалы.
Лекцияның мақсаты: Берілгендер, нәтиже, айнымалылар, тұрақтылр туралы
түсінік беру. Стандартты функциялармен таныстыру.
1. Программаға сипаттама. Берілгендер. Нәтиже.
Программа-берілген есептің шешілу жолын анықтайтын алгоритмнің арнайы машиналық тілде жазылуы.
Программаның негізгі сипаттамасы:
-
алынған нәтиженің дұрыстығы;
-
орындалу уақыты;
-
жадыдағы алатын орны немесе көлемі.
Кез келген программаның басты қызметі-берілгендерді өңдеу болып табылады. Программаның басында өңделуге берілген мәліметтер – алғашқы берілгендер деп аталады. Алғашқы берілгендерді пернетақта көмегімен енгізуге болады. Кейбір жағдайда алғашқы берілгендерді программа дискідегі файлдардан да оқи алады.
Программаның орындалу барысында алғашқы берілгендер өңделіп, нәтижеге айналады. Алынған нәтиженің нақты әрі дұрыс болуы – программаның басты сипаттамасы болып табылады.
2. Тұрақтылар.
Программада қолданылатын берілгендердің элементіне тұрақты немесе айнымалы жатады. Программаның басында мәні анықтал,ан және программаның орындалу процесінде осы мәні өзгеріссіз қалатын шама тұрақты деп аталады.
Turbo Pascal-да тұрақтылардың сандық, логикалық, символдық, жолдық түрлері қолданылады. Сандық тұрақтылардың мәні нақты және бүтін сандар болады. Логикалық мазмұндағы ақиқат-жалған немесе 0-1 сигналдарын қабылдай алатын тұрақтылар логикалық тұрақты деп аталса, символдық және жолдық тұрақтылар жеке символдан және олардың жиынтығынан тұрады.
3.Айнымалылар.
Программаның орындалу барысында мәні өзгере алатын шама – айнымалы деп аталады. Программадағы айнымалы ұғымы түсінікті болу үшін оны компьютердің аты аталған (идентификаторы) ұяшығы деп қарастырайық. Мысалы: c:=2 яғни, с атаулы ұяшыққа 2 саны орналастырылды дейік. c:=c+4 амалы орындалғаннан кейін с ұяшығындағы 2 санына 4 қосылып, c:=6 болады. Ұяшыққа жазылған соңғы мәлімет бастапқы мәліметтерді өшіріп отырады. Мысалдан көргеніміздей, әр түрлі өңделуден кейін ұяшық ішіндегі мәлімет өзгереді. Ал ұяшық, яғни айнымалы атауы сол қалпында қалады. Айнымалының соңғы мәні ағымдағы мән деп аталса, айнымалы әр уақытта бір ағымдағы мәнге ие болады.
4. Стандартты функциялар.
Паскаль тілінің стандартына қарағанда Turbo Pascal-да стандартты функциялар саны көбейген. Жолдармен, көрсеткіштермен және адрестермен жұмыс істейтін стандартты функциялар қызметі туралы кейінгі тарауларда айтылады. Ал, стандартты арифметикалық функцияларға тоқталар болсақ олар мына ережелер бойынша жазылады:
-
Стандартты функция атауы латын алфабиті әріптерімен жазылады;
-
Функция атауы алты әріптен аспауы қажет;
-
Функция аргументі жай жақшаға алынады;
-
Функция аргументі бірнешеу болса, олардың арасына үтір таңбасы қойылады;
-
Тригонометриялық функция аргументтері радиан өлшемімен беріледі.
Градуспен берілген аргументі радианға аудару үшін төмендегі теңдікті пайдаланамыз:
Паскаль тіліндегі арифметикалық функциялар мәні тек нақты және бүтін типті болады.
3.1. кесте
|
Математикада жазылуы |
Паскальда жазылуы |
Нәтиже типі |
|
|x| |
Abs(x) |
Х-тің типіне сйкес келеді |
|
Arctg x |
Arctan(x) |
Нақты (Real) |
|
Cos x |
Cos(x) |
Нақты (Real) |
|
Sin x |
Sin(x) |
Нақты (Real) |
|
ex |
Exp(x) |
Нақты (Real) |
|
X2 |
Sqr(x) |
Нақты (Real) |
|
Sqrt(x) |
Нақты (Real) |
|
|
Ln x |
Ln(x) |
Нақты (Real) |
|
Pi |
Нақты (Real) |
|
|
Х-тің бөлшек бөлігі |
Frac(x) |
Нақты (Real) |
|
Х-тің бүтін бөлігі |
Int(x) |
Нақты (Real) |
|
0 мен 1-дің арасындағы кез- келген нақты сан |
Random |
Нақты (Real) |
|
0-ден х-ке дейінгі кез- келген бүтін сан |
Random(x) |
Бүтін (Integer) |
|
Санды бүтінге дейін дәлдіктеу |
Round(x) |
Бүтін (Integer) |
Кестедегі Random(x) функциясы 0 мен Х арасындағы кез келген бүтін оң санды береді. Мысалы, Random(3) болғанда 0 мен 3 саны аралығындағы бүтін сандар, 0,1,2. Егер a<=x<b аралықтағы кез келген санды алу қажет болса, өрнекті Random(b-a)+a түрінде жазамыз. Random функциясы х параметрінсіз жазылса, нәтиже 0 мен 1-дің арасындағы кез-келген нақты санды береді.
Frac(x) функциясы х санының бөлшек бөлімін анықтайды. Мысалы, Frac(1.005) болса, нәтиже 0.005. Аргумент және нәтиженің типі нақты. Функцияны қолдануда аргументті өрнек түрінде жазса да болады. Мысалы, Frac(5*2.3), мұндағы 5*2.3=11.5 болғанда, нәтиже 0.5-ке тең.
Int(x) функциясы х нақты санының бүтін бөлігін анықтайды. Нәтиже типі де нақты болады. Мысалы, Int(13.05) болғанда, нәтижесі 13.00. Х-ті өрнек түрінде жазуға мысал келтірейік: Int(5*2.3), мұндағы 5*2.3 болғанда нәтиже 11.0. Сонда x=frac(x)+int(x).
Тізімде жоқ функцияларды жазу үшін түрлендіру формулаларын пайдаланамыз.
Мысалы:
Logax = ln(x) / ln(a)
Lg x = ln(x) / ln(10)
Tg x = sin(x) / cos (x)
Ctg x = cos(x)/ sin(x)
Csc = 1 / sin(x)
Arcsin x= arctan(x / sqrt (1-sqr(x)))
Arcos x = arctan(sqrt(1-sqr(x))/x)
Turbo Pascal-да дәреже көрсеткішін логарифм қасиеттерін қолдана отырып, төмендегі теңдеумен есептейміз:
Ab = ebln(a) = exp(b*ln(a))
Бірақ, бұл теңдеу теріс таңбалы дәреже көрсеткішін есептеуге жарамсыз. Ол үшін цикл операторын қолданамыз.
-
Арифметикалық өрнектер
Программадағы барлық есептеулер арифметикалық өрнектің көмегімен ұйымдастырылады. Өрнек – тұрақтылардан, айнымалылардан, функциялардан, амалдар таңбасынан және өрнектің орындалу ретін өзгертуге арналған жай жақшадан тұрады. Қарапайым жағдайда өрнек тек бір ғана айнымалыдан немесе тұрақтыдан тұруы мүмкін. Арифметикалық өрнек сызықты түрде, яғни бөлшектің бөлімі мен алымы, дәреже көрсеткіштер мен индекстер бір қатарда жазылады. Сондай-ақ, өрнектің әдеттегі жазылуынан айырмашылығы амал таңбалары міндетті түрде қойылады. Мысалы, 4a-bc өрнегіндегі көбейту таңбасы Паскаль тілінде міндетті түрде жазылады, 4*a-b*c.
Өрнектің нәтижесі бүтін немесе нақты сан болады. Арифметикалық өрнектегі амалдардың орындалуы жақша ішінен басталады. Өрнекте жақша болмаған жағдайда амалдар төмендегі кестедегі реттілік бойынша орындалады.
-
-
-
Реті
Амалдар
Not, @
*, /, div, mod, and, shl, shr
+, -, or, xor
=, <>, <, >, <=, >=, in
-
-
Унарлық амалдар элементтің таңбасын өзгертуге қолданылады. Мысалы, -а-унарлық амал, а+в бинарлық. Өрнекте екі таңба қатар кездескенде унарлық амалды жақшаға алу керек. Мысалы: а*(-с).
Өрнектің жазылуына мысалдар:
(a-b) (a+b) = (a-b)*(a+b)
a3x3+a2x2+a1x+a0 = a3*xp(3*ln(x))+a2*sqr(x)+a1+a0
2a2+3b5 = 2*sqr(a)+3*exp(5*ln(b))
sin2x + 3cosx2 = sin(2*x)+3*cos(sqr(x))
6. Div және mod амалы
Div-division сөзінен қысқартылып алынған. Бұл сөздің қазақша мағынасы – бөлу. Div амалының әдеттегі бөлуден айырмашылығы: бөліндінің тек бүтін бөлігі ғана алынады, бөлшек бөлімі қарастырылмайды.
Мысалы: 40 div 8 =5
11 div 5 =2
10 div 3 =3
123 div 4 =30
6 div 5 =1
Div амалы орындалғанда нәтиженің таңбасына да мән беген жөн. Мысалы:
17 div (-5) =-3
-17 div (5) =-3
-17 div (-5) =3
Егер, div амалы бойынша жазылған өрнекте кіші сан үлкен санға бөлінсе, нәтиже 0-ге тең болады.
Мысалы:
5 div 17 =0
4 div 10 =0
Бөліндінің бүтін қалдығын табу амалы –mod (modulus).
Мысалы: 11 mod 5 болса, 11-ді 5-ке бөлгендегі бүтін қалдық табылады. Сонда, өрнектің нәтижесі 1-ге тең.
Мысалы: 10 mod 5 = 0
10 mod 3 = 1
14 mod 5 = 4
Егер, бөлінді немесе бөлгіштің таңбасы теріс болса, mod амалы орындалғандағы нәтиже таңбасы төмендегідей:
17 mod -5 = 2
-17 mod 5 = -2
-17 mod (-5) = -2
Бөлінді бөлгіштен кіші болған жағдайда бөліндінің өзі нәтиже болып қалады.
Мысалы: 4 mod 6 = 4
7 mod 12 = 7
-5 mod 10 = -5
7 mod (-15) = 7
-6 mod (-8) = -6
Егер, mod амалымен жазылған өрнекте бөлгіш 0-ге тең болса, мысалы: 10 mod 5 = 0 нәтиже анықталмаған.
Div және mod операцияларының нәтижесі үнемі бүтін сан болады.
Бақылау сұрақтары:
-
Программаның негізгі сипаттамасы.
-
Айнымалылар. Тұрақтылар.
-
Стандартты функциялар.
-
Өрнектердің жазылу ережелері.
-
Бүтін бөлу және бүтін қалдықты анықтау.
Лекция тақырыбына сәйкес СӨЖ тапсырмалары:
-
Берілгендер. Нәтиже.
-
Тұрақтылар. Айнымалылар.
Әдебиеттер:
1. Ж.Қ.Масанов, Б.А.Бельгибаев, А.С.Бижанова. Қ.Қ.Мақұлов. Turbo Pascal
2. Фаранов В.В. TURBOPASCAL 7.0, Нолидж, 1999
Лекция 3
Turbo Pascal тіліндегі программа
Жоспар:
-
Программа құрылымы.
-
Программа бөлімдері.
Лекцияның мақсаты: Программа бөлімдерімен таныстыру.
1. Программа құрылымы
Программа – белгілі бір программалау тілінің синтаксистік ережелеріне сәйкес жазылған нұсқаулар тізбегі. Демек, Turbo Pascal тілінде программа жазу үшін программалаушы оның жазылу ережесін жақсы білу қажет.
Turbo Pascal тіліндегі программа жалпы мына түрде жазылады:
Программа тақырыбы;
Сипаттау бөлімі;
begin
Орындалатын бөлім
end.
Программа тақырыбы program сөзінен басталады. Ол программа атынан және параметрлерден тұрады. Мысалы:
Program esep1 (input, output);
Мұндағы esep1 – программаға берілген атау. Программалаушы программа атын өз қалауынша бере алады. Программа атауы оларды екінші бір программадан ажыратуға қажетті көрсеткіш.
Ескерту! Программа атауының оның мазмұны сақталған файл атауына еш қатысы жоқ.
(input, output) – стандартты енгізу, шығару файлдары.
Сипаттау бөлімінде программада кездесетін барлық берілгендердің атауы, типі, мүмкін болатын мәндері, т.б. хабарланады.
Орындалатын бөлімде begin және end қызмтші сөздері арасына операторлар тізбегі жазылады. Сол себепті begin (ашылатын) және end (жабылатын) қызметші сөздерін операторлар жақшасы деп атаса да болады. Оператор – нұсқаулардың машиналық тілде жазылуы. Сонда әрбір оператор орындалуға қажетті әрекетті машинаға түсінікті түрде сипаттайды. Программаның бір жолына бірнеше операторларды жазуға болады. Олардың арасына (;) нүктелі үтір таңбасы, ал программаның соңын көрсететін end сөзінен кейін (.) нүкте қойылады. Программаның орындалатын бөлімінде жазылған операторлар тізбегін –программа денесі деп атайды.
2. Программа бөлімдері.
Turbo Pascal тіліндегі программа төмендегі бөлімдерден тұрады:
-
Программа тақырыбы;
-
Берілгендерді сипаттау;
-
Белгілерді хабарлау бөлімі;
-
Тұрақтыларды хабарлау бөлімі;
-
Типтерді хабарлау бөлімі;
-
Айнымалыларды сипаттау бөлімі;
-
Орындалатын бөлім;
Begin
Программа денесі (операторлар тізбегі)
End.
Сонда, программа құрылымы мына түрде болады:
Program Программа аты;
Uses
Модуль аты;
Label
Белгі;
Const
Тұрақты атауы = тұрақты мәні;
Type
Тип атауы = тип сипаттамасы;
Var
Айнымалылар атауы: типі;
{Пайдаланушылар процедурасын және функциясын хабарлау};
Begin
Операторлар тізбегі;
End.
Uses бөлімінде стандартты және пайдаланушылар модулі жарияланады. Мысалы,
Uses crt
Begin clrscr {Экранды тазалауды іске қосу}
...
Кез-келген операторды белгілей отырып, goto операторы арқылы программаның ретін өзгертіп, белгіленген операторға тікелей көшуге болады. Белгі атауы символдар тізбегі және бүтін оң сандармен қойылады. Оператор мен белгі арасына (:) қос нүкте таңбасы жазылады. Белгілерді хабарлау бөлімі Label қызметші сөзінен басталады. Программада кездесетін барлық белгі label бөлімінде хабарлануы қажет.
Label белгі1, белгі2, белгі3;
Мысалы,
Label 1, 15, SUM, AC;
Тұрақтыларды сипаттау бөлімі Const (латынның constants – тұрақты деген сөзінің қысқартылуынан алынған) қызметші сөзінен басталады. Бұл бөлім программада төмендегідей жазылады:
Const
Тұрақты атауы = тұрақты мәні;
Мысалы,
Const
G=9.8;
Type бөлімінде пайдаланушылар тарапынан анықталған типтер хабарланады. Turbo Pascal-да программалаушы стандартты типтер арқылы жаңа типті құруға мүмкіндігі бар. Мұндай типтерді қолдану программаның құрылымын күрделендіреді. Сол себепті Type бөлімі қарапайым программада кездеспейді. Бірақ, пайдаланушылар типі программадағы қателіктерді тез табуға септігін тигізеді. Type бөлімінің жалпы жазылуы:
Type
Тип атауы = сипаттамасы;
Мысалы,
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:Boolean;
Мұндағы a, b, c -айнымалылар атаулары, олардың типтері бүтін (integer). Ал, D, x1, x2-нақты (real), y -символдық (char), flag -логикалық (Boolean) айнымалылар.
Программаны жеңілдетуде бір программаны бірнеше кішкене бөліктерге бөлуге болады. Программаның осындай бөліктері – көмекші программа (ішкі прогамма немесе подпрограмма) деп аталады. Көмекші программа екіге бөлінеді: процедуралар және функциялар. Процедуралар мен функциялардың екі түрі бар: стандартты және пайдаланушылар. Стандартты функциялар мен процедуралардың атауы, атқаратын қызметтері алдын-ала анықталғандықтан, оларды программаның басында хабарлаудың қажеті жоқ. Ал, пайдаланушылар процедурасы мен функцияларын программаның арнайы бөлімінде хабарлау керек. Бұл бөлімде пайдаланушы процедурасы мен функцияларына атау беріледі. Оларды осы атау бойынша программаның негізгі бөлімінде шақыруға болады.
Процедураны хабарлау бөлімінің жалпы жазылуы:
Procedure атауы (формальды көрсеткіштері);
Begin
процедураның орындалатын бөлімі;
End;
Функцияны хабарлау бөлімінің жалпы жазылуы:
Function функция атауы (формальды көрсеткіштері): нәтиже типтері;
Begin
функцияның орындалатын бөлімі;
End;
Программаның орындалатын бөлімін – операторлар бөлімі деп атаймыз. Операторлар бөлімі – программаның негізгі бөлімі. Бұл бөлімде программаның сипаттау бөлімінде хабарланған тұрақтыларға, айнымалыларға, функция мәндеріне түрлендіру операциялары қолданылып, қойылған мақсатта программа жазылуы керек.
Операторлар бөлімі begin қызметші сөзінен басталып, орындалатын операторлар бірінен кейін бірі жазылады. Программаның бір жолына бірнеше операторларды жазуға болады. Олардың арасын нүктелі үтір таңбасымен бөлеміз. Бұл бөлімді end қызметші сөзі аяқтайды. Бұл сөзден кейін нүкте таңбасы қойылып, программаның соңын көрсетеді.
Операторлар бөлімінің жазылуы:
Begin
1-оператор;
2-оператор;
...
n-оператор;
End.
Операторлар жазылу реті бойынша жоғарыдан төменге қарай орындалады. Жазылуы көлемді болатын оператор экранның бірнеше жолын алу мүмкін.
Бақылау сұрақтары:
-
Программа тақырыбы.
-
Типтер бөлімі.
-
Таңбалар бөлімі.
-
Айнымалыларды сипаттау бөлімі.
-
Орындалатын бөлім.
-
Көмекші программа.
Лекция тақырыбына сәйкес СӨЖ тапсырмалары:
Программа құрылымы.
Әдебиеттер:
-
Камардинов О. Есептеуіш техника және программалау. Алматы, 1997
-
Н.Ы.Омарова, К.У.Тұрмағанбетова, К.Н. Нурединова. Паскаль тілінде программалау негіздері.
-
Фаранов В.В. TURBOPASCAL 7.0, Нолидж, 1999
-
Ж.Қ.Масанов, Б.А.Бельгибаев, А.С.Бижанова, Қ.Қ.Мақұлов. Turbo Pascal.Алматы, 2004.
Лекция 4
Сызықтық программа.
Жоспар:
-
Түсініктеме.
-
Меншіктеу операторы.
-
Мәліметтерді экранға шығару операторы.
-
Берілгендерді енгізу операторы.
-
ClrScr, delay нұсқаулары.
-
Бос оператор.
Лекцияның мақсаты: Сызықтық программаларда қолданылатын
операторлармен таныстыру.
1. Түсініктеме
Кейде программада айнымалы нені білдіретіндігін, функция немесе оператор қандай іс-әрекет жасайтыны жайлы еске салатын немесе хабарлайтын ескертулер қою қажет болады. Бұл ескертулер түсініктемелер деп аталады. Паскальда программаға қанша болмасын түсініктемелер қоюға болады.
Түсініктемелер { }, (* *) символдарының аралықтарына орналастырылады. Түсініктемелердің мысалдары:
{Шешу әдісі}
(*Циклдің басы*)
Түсініктеме бірнеше жолдан тұра алады.
{Квадрат теңдеулерді
шешудің мысалы}
2. Меншіктеу операторы
Паскальда меншіктеу операторының жазылу үлгісі:
<айнымалы атауы>:=<өрнек>
Мысалы, y:=4/(3*x+1); z1:=’a’; Мұндай операторлардың орындалуы үшін айнымалы атауы мен өрнек мәндерінің типтері бірдей болуы тиіс.
3. Мәліметтерді экранға шығару операторы
Оперативті жадыдан мәндерді монитор экранына шығару WRITE операторы арқылы орындалады (write-жазу). Мысалы, х, у айнымалыларының мәндерін экранға шығару операторы – write(x,y). x,y айнымалыларын WRITE операторының параметрлері деп те атайды. Параметрлер үтіп арқылы бөлініп, жай жақшалар ішінде жазылуы тиіс.
WRITE операторының түрлі түрде жазылу мысалдары:
-
write (x);
-
write (x, ‘ ‘, y);
-
write (3*x+5, ‘ ‘, y+2);
-
write (x:n:m);
-
write (‘символдар тізбегі’);
-
write (lst, x);
1-4, 6 операторларының орындалуы үшін алдын-ала х,у айнымалыларының мәндері жадыға ендіріліп қойылуы тиіс.
Мысалда берілген операторлардың қызметі:
1) –экранға х мәнін шығару. Егер х параметрінің типі REAL болса, экранда 16 символдық өрісте стандартталынған жылжымалы нүктелі түрде көрінеді (оның соңғы төрт символы санның ретін көрсетеді, алғашқы 11 символы-мәнді цифрлар). Мысалы, 253.426034981 санының экранда көрінуі: 2.5342760347Е+02,
2) –экранға х, у мәндерін шығару. (Олардың аралығына қойылған Бос орын (‘ ‘) символы мәндерді ажыратып көрсету үшін пайдаланылды),
3) –жақшалардың ішіндегі екі өрнектің мәндерін экранға шығару,
4) –REAL типті айнымалы мәнін экранға көрсетілген үлгі бойынша тиянақты нүктелі түрде шығару. n:m-нақты санды курсордың тұрған жерінен бастап n символдық орынға шығару белгісі, m-оның бөлшек бөлігінің цифрлар саны (0<=m<=n). Экранда сан бөлінген орынның оң жағынан бастап орналастырылады. Осы тәсіл бойынша бүтін типті айнымалы мәнін де экранға шығару мүмкін. Мұнда пайдаланылатын оператор
Write (x:n)
Мысал:
|
х мәні |
Оператор |
мәннің экранда көрінуі |
|
145 |
write (x:7) |
_ _ _ _ 145 |
|
86.92 |
write (x/2:7:3) |
_ _ _ _ 43.460 |
|
86.937 |
write (x/2:7:3) |
_ _ _ _ 43.468 |
|
86.937 |
write (x/2) |
4.3468500000E+01 |
|
2/3 |
write (x) |
6.6666666667E-01 |
5) –жолдық тұрақтыны экранға шығару
Мысалы, x=25 үшін write (‘х мәні=’, x) операторының орындалу нәтижесі мынадай: х мәні=25;
6) –х мәнін принтер арқылы қағазға басып шығару. LST (list pleace-басып шығару құрылғысы) – принтерде басып шығаруға арналған стандартты жүйелік файл атауы.
Паскаль тілінде құрылатын программада әр оператордан соң нүктелі үтір таңбасы қойылады (ол операторларды ажырату белгісі); бір жолға сыйғанынша бірнеше операторды орналастыру мүмкін. Операторларды жол басынан бастап жазу, бір жолға бірнеше операторды орналастыру және END қызметші сөзінің алдындағы оператор соңына нүктелі үтір таңбасын қою міндетті емес. Программаны оқуға ыңғайлы етіп орналастырса болғаны.
Мысал. Қабырғалары 6.5, 3.9, биіктігі 4.7 болатын трапецияның ауданын табу керек.
Program audan;
var a, b, h, s: real;
begin
a:=6.5; b:=3.9; h:=4.7;
s:=(a+b)*h/2; write(‘s=’,s:5:2)
end.
Жай типті айнымалыларды пайдаланып құрылған сызықтық программаны қарапайым деп те атайды.
жүктеу мүмкіндігіне ие боласыз
Бұл материал сайт қолданушысы жариялаған. Материалдың ішінде жазылған барлық ақпаратқа жауапкершілікті жариялаған қолданушы жауап береді. Ұстаз тілегі тек ақпаратты таратуға қолдау көрсетеді. Егер материал сіздің авторлық құқығыңызды бұзған болса немесе басқа да себептермен сайттан өшіру керек деп ойласаңыз осында жазыңыз
Turbo Pascal тақырыбында шығармашылығым
Turbo Pascal тақырыбында шығармашылығым
Turbo Pascal – программалау тілі. Берілгендер типі.
Жоспары:
-
Turbo Pascal туралы тарихи анықтама.
-
Тілдің алфабиті.
-
Қызметші сөздер.
-
Идентификатор.
-
Берілгендер типтерінің классификациясы.
-
Бүтіп тип.
-
Логикалық тип.
-
Символдық тип.
-
Нақты тип.
Лекцияның мақсаты: Turbo Pascal тілінің алфабитімен, қызметші сөздерімен,
идентификатормен, берілгендер типтерімен таныстыру.
1. Turbo Pascal туралы тарихи анықтама
Turbo Pascal – жоғары деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцария физигі Никлаус Вирт ұсынған. Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдың құрметіне Паскаль деп атаған.
Кейіннен тілдің көптеген нұсқалары жарық көреді. Солардың ішінде, 1983 жылы Borland корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа үлгісі - Turbo Pascal программалаушылар арасында үлкен сұранысқа ие болды. Оның бұл нұсқасы СР/М операциялық жүйесіне негізделген. 1984 жылдың басында MS DOS жүйесіне ауыстырылғалы бері пайдалану қарқыны бұрынғыдан да арта түсті.
2. Тілдің алфабиті
Кез-келген тілді үйрену оның алфабитінен басталады. Программаның элементтерін жазуда қолдануға болатын символдар жиынтығын тілдің алфабиті дейміз. Turbo Pascal тілінің алфабиті мына символдардан тұрады:
-
Латын алфабитінің бас және кіші әріптері;
-
орыс, қазақ алфабитінің әріптері программада түсіндірме мәндерді жазуда пайдаланылады;
-
Араб цифрлары 0-9;
-
Арнайы символдар. Оларды белгілі бір функцияларды атқаруына сәйкес төмендегі топтарға жіктеуге болады:
а) Айыру белілері: _ (бос орын), “.”, “,”, “;”, “:”, (), [], “’-дәйекше“, “#-тор“;
ә) Арифметикалық амалдар таңбалары: +, -, *, /, div (бүтін бөлу), mod (бүтін қалдықты анықтау);
б) Қатынас таңбалары: <, >, =, :=, <>, <=, >=;
1.1.-кесте Паскаль тіліндегі тыныс белгілер
Белгі |
Қолданылуы |
|
{ } |
Программаға түсініктеме беруде |
|
(* *) |
Программаға түсініктеме беруде |
|
[ ] |
Массив өлшемін белгілеуде |
|
(. . ) |
Массив индексін, жолдың өлшемін белгілеуде |
|
‘ |
Символдар мен жолдық тұрақтыларды белгілеуде |
|
:= |
Айнымалы мәнін меншіктеуде |
|
; |
Программаның жолдарын, операторларды, хабарламаларды айқындауда |
|
: |
Айнымалылар типтерін айқындауда, (белгі мен оператор арасына) |
|
= |
Тұрақтымен оның мәнінің арасын бөлуде |
|
, |
Тізім элементтерінің арасын айыруда |
|
.. |
Диапазон типін беруде |
|
. |
Программа соңында |
|
^ |
Көрсеткіш типін анықтауда |
|
@ |
Айнымалылар адерсін, қосалқы программаны белгілеуде |
|
# |
Символды оның коды бойынша белгілеуде |
|
$ |
Компилятор мәліметін белгілеуде |
3. Қызметші сөздер
Pascal тілінде алдын ала қызметі тағайындалған сөздер тобы қолданылады. Оларды Pascal-дың қызметші сөздері деп атайды. Бұл сөздер ағылшын тілінде берілгенімен, мағынасы атқарылатын іс-әрекетті баяндайды.
Мысалы: Program – сөзі программаның тақырыбын, begin – программаның басын, end – программаның соңын сипаттауға пайдаланылады.
1.2. кесте. Қызметші сөздер
Қызметші сөз |
Мағынасы |
Қызметші сөз |
Мағынасы |
|
Abcolute |
абсолюттік |
Label |
белгі |
|
And |
және |
Library |
библиотека |
|
Array |
массив |
Mod |
бүтін қалдық |
|
Asm |
асемблер |
Nit |
бос ссылка |
|
Begin |
басы |
Not |
терістеу |
|
Case |
таңдау |
Object |
объект |
|
Const |
тұрақты |
Of |
тип анықтау |
|
Constructor |
конструктор |
Or |
немесе |
|
Destructor |
Деструктор |
Packed |
жинақталған |
|
Div |
бүтін бөлу |
Procedure |
процедура |
|
Do |
Оренда |
Program |
программа |
|
Downto |
Кеміту |
Record |
жазба |
|
Else |
әтпесе |
Repeat |
қайталау |
|
End |
Соңы |
Set |
көпшелеу |
|
Export |
Експорт |
String |
жол |
|
External |
Сыртқы |
Then |
онда |
|
File |
Файл |
To |
дейін |
|
For |
Үшін |
Type |
тип |
|
Function |
Функція |
Unit |
модуль |
|
Forward |
Оздыру |
Until |
соған дейін |
|
Goto |
көшу |
Uses |
пайдалану |
|
If |
Егер |
Var |
айнымалы |
|
In |
Құрамында |
While |
әзір |
|
InLine |
Негізгі |
With |
жазба басы |
|
Interface |
Інтерфейс |
Xor |
немесе кері |
|
Interrupt |
Үзу |
|
|
4. Идентификатор
Pascal тілінде атауды идентификатор деп атайды, яғни, идентификатор программаның кез-келген элементтіне (айнымалылар, тұрақтылар, функциялар, файлдар, жиындар, т.б.) берілген атау. Олар стандартты және пайдаланушылар идентификаторы болып екіге бөлінеді.
Стандартты функциялар, қызметші сөздер, т.с.с. стандартты объектілер атаулары стандартты идентификатор тобына жатады. Олардың көпшілігі алдын ала орындалатын операция немесе белгіленген элемент туралы мағлұмат беріп тұрады. Мысалы: Real (нақты сан), Writeln (шығару), Begin (басы), End (соңы).
Пайдаланушылар идентификаторы ретінде әріптер мен цифрлар тізбегі алынады. Программалаушы идентификатордың төмендегі жазылу ережелерін білуі қажет:
-
идентификатор міндетті түрде әріптен басталатын латын әріптері мен цифрлардан тұрады;
-
Оның құрамында орыс алфабитінің әріптері, арнайы символдар, әсіресе бос орын болмауы қажет;
-
қызметші сөздер пайдаланушылар идентификаторы бола алмайды;
-
Идентификатордың максималь ұзындығы –127 символ болғанымен, оның тек 63 символы ғана оқылады.
Идентификатор қысқа, әрі түсінікті болғаны дұрыс. Себебі, оның мағынасы болмағаны қателік туғызбаса да, белгіленген программа элементті туралы мәлімет беруі тиімді екенін ескерген жөн. Мысалы, metka12, blok, window1, т.с.с.
Бір программада бірнеше объектіге бір ғана атау беруге болмайды. Бұл шарт орындалмаған жағдайда экранда төмендегідей хабарлама шығады: Error 4: Duplicate identifier (Қате 4: Қайталанған идентификатор).
Идентификатор тағайындауда программалаушылар тарапынан жиі жіберілетін қателіктер:
3А - цифрдан басталған;
Nomer.Do - құрамында нүкте бар;
Blok# - арнайы символ қойылған;
My Program - құрамында бос орын бар;
Mod - қызметші сөз қолданылған.
5. Берілгендер типтерінің классификациясы
Программаның негізгі объектілері айнымалылар мен тұрақтылар болып табылады. Программа құру барысында, программалаушы олардың типтерін алдын-ала анықтауы қажет. Айнымалылар мен тұрақтылардың типтері – олардың мәндерін және оларға қолданылатын әртүрлі өңдеу амалдарын белгілейтін – басты көрсеткіш.
Pascal-да берілгендердің типтерін екі үлкен топтарға жіктеуге болады:
-
Қарапайым типтер (скалярлық);
-
Құрылымдық типтер (структуралық)
|
|
|
Б |
|
|||||||||||||
|
|
||||||||||||||||
|
Қ |
|
Құрылымдық (структуралық) |
||||||||||||||
|
|
|
|||||||||||||||
|
С |
|
Пайдала-нушылар |
Жазабал-ар |
|
массив-тер |
|
файлдар |
|
жолдар |
|||||||
|
|
|
|
|
|
|
|
|
|||||||||
|
Бүтін |
|
Нақты |
|
Символ-дық |
|
Логика-лық |
|
|
|
|
|
|
|
|
||
6. Бүтін тип
Паскаль тілінің стандартында бүтін типтің Integer бір ғана түрі анықталса, Turbo Pascal-да стандартты бүтін типтің бес түрі бар: Shortint, Integer, Longint, Byte, Word
|
Тип |
Діапазон |
Форматы |
Көлемі (байт) |
|
Shortint |
-128 ... 127 |
таңбалы |
1 |
|
Integer |
-32768 ... 32767 |
таңбалы |
2 |
|
Longint |
-2147483648 ... 2147483647 |
таңбалы |
4 |
|
Byte |
0 ... 255 |
таңбасыз |
1 |
|
Word |
0 ... 65535 |
таңбасыз |
2 |
7. Логикалық тип
Паскальда стандартты логикалық тип –boolean (көлемі 1 байт). Логикалық типтің бұл атауы, атақты математик Джордж Буль есіміне байланысты Boolean деп аталады. Логикалық типтегі элемент тек екі мәнді қабыладай алады: true(ақиқат), false (жалған). Логикалық типтің мәні true болғанда 1 санына, false болғанда 0 санына тең болады.
Логикалық типтегі берілгендер программада шартты тексеруде қолданылады. Логикалық шарт мына қатынас таңбалары: >, <, <=, >=, <>, = арқылы жазылады. Мысалы, 12<30- true, 12=30 false.
Логикалық типтегі берілгендерге логикалық амалдар қолданамыз. Логикалық амалдар арқылы логикалық өрнектер ұйымдастыруға болады. Логикалық өрнектің нәтижесі әрқашанда екі мәннің true, false біріне тең болады.
8. Символдық тип
Символдық (литерлік) тип Char ASCII (American Standart Code for Information Interchange) кодының барлық түріне сәйкес келетін символдарды анықтайды. Char типтегі көрсеткіштердің кодын ORD функциясымен алуға болады. Осы кодтары арқылы символдық типтегі көрсеткіштерді бір-бірімен салыстыруға болады.
Белгілі бір іс-әрекетті атқаратын, басқарушы символдарға 0-ден 31-ге дейінгі код тағайындалған. Символдық тип айнымалылар мәні ‘(дәйекше) таңбасына алынады. Мысалы: ‘A’, ‘$’, ‘2’, т.с.с.
Символдық типтің кеңейтілген түсінігі жолдық тип String болып табылады.
9. Нақты тип
Паскальдың стандартында нақты типтің бір ғана түрі Real анықталса, Turbo Pascal-да нақты типтің 5 түрі қолданылады: Real, Single, Double, Extended, Comp
|
Тип |
Диапазоны |
Формат (цифр саны) |
Көлемі (Байт) |
|
Real |
2,9*10-39 … 1,7*1038 |
11-12 |
5 |
|
Single |
1,5*10-45 … 3,4*1038 |
7-8 |
4 |
|
Double |
5*10-324 … 1,7*10308 |
15-16 |
8 |
|
Extended |
3,4*10-4932 … 1,1*104932 |
19-20 |
10 |
|
Comp |
-263+1 … 263-1 |
19-20 |
8 |
Мұндағы Single, Double, Extended, Comp типтерін компьютердің жетілген, соңғы түрлерінде жұмыс істегенде қолданған тиімді. Себебі бұл нақты типтің түрлерін пайдаланғанда компьютердің қосымша процессоры болғаны жөн.
Нақты типтегі сандарды жазудың екі тәсілі бар: әдеттегідей және экспоненциал.
Өте үлкен және өте кіші нақты сандарды жазуда 10 санының дәрежесін қолданған ыңғайлы (12*10-16, 3*108). Осындай сандарды экспоненциал түрге келтіру үшін 10-ның орнына Е символы және дәреже көрсеткіші жазылады.
12*10-16 12Е-16
3*108 3Е+8
Кез-келген нақты типтегі сан компьютер жадысында экспоненциал түрде сақталынады. Программа нәтижесі нақты сан болса, бұл сан экранға экспоненциал түрде шығады.
Бақылау сұрақтары:
-
Тілдің алфабиті.
-
Қызметші сөздер.
-
Идентификатор.
-
Бүтіп тип.
-
Логикалық тип.
-
Символдық тип.
-
Нақты тип.
Лекция тақырыбына сәйкес СӨЖ тапсырмалары:
Тілдің алфабиті. Идентификатор.
Әдебиеттер:
-
Камардинов О. Есептеуіш техника және программалау. Алматы, 1997
-
Н.Ы.Омарова, К.У.Тұрмағанбетова, К.Н. Нурединова. Паскаль тілінде программалау негіздері.
-
Фаранов В.В. TURBOPASCAL 7.0, Нолидж, 1999
-
Ж.Қ.Масанов, Б.А.Бельгибаев, А.С.Бижанова, Қ.Қ.Мақұлов. Turbo Pascal.Алматы, 2004.
Лекция 2
Turbo Pascal-дағы негізгі ұғымдар.
Жоспар:
-
Программаға сипаттама. Берілгендер. Нәтиже.
-
Тұрақтылар.
-
Айнымалылар.
-
Стандартты функциялар.
-
Арифметикалық өрнектер.
-
Div және mod амалы.
Лекцияның мақсаты: Берілгендер, нәтиже, айнымалылар, тұрақтылр туралы
түсінік беру. Стандартты функциялармен таныстыру.
1. Программаға сипаттама. Берілгендер. Нәтиже.
Программа-берілген есептің шешілу жолын анықтайтын алгоритмнің арнайы машиналық тілде жазылуы.
Программаның негізгі сипаттамасы:
-
алынған нәтиженің дұрыстығы;
-
орындалу уақыты;
-
жадыдағы алатын орны немесе көлемі.
Кез келген программаның басты қызметі-берілгендерді өңдеу болып табылады. Программаның басында өңделуге берілген мәліметтер – алғашқы берілгендер деп аталады. Алғашқы берілгендерді пернетақта көмегімен енгізуге болады. Кейбір жағдайда алғашқы берілгендерді программа дискідегі файлдардан да оқи алады.
Программаның орындалу барысында алғашқы берілгендер өңделіп, нәтижеге айналады. Алынған нәтиженің нақты әрі дұрыс болуы – программаның басты сипаттамасы болып табылады.
2. Тұрақтылар.
Программада қолданылатын берілгендердің элементіне тұрақты немесе айнымалы жатады. Программаның басында мәні анықтал,ан және программаның орындалу процесінде осы мәні өзгеріссіз қалатын шама тұрақты деп аталады.
Turbo Pascal-да тұрақтылардың сандық, логикалық, символдық, жолдық түрлері қолданылады. Сандық тұрақтылардың мәні нақты және бүтін сандар болады. Логикалық мазмұндағы ақиқат-жалған немесе 0-1 сигналдарын қабылдай алатын тұрақтылар логикалық тұрақты деп аталса, символдық және жолдық тұрақтылар жеке символдан және олардың жиынтығынан тұрады.
3.Айнымалылар.
Программаның орындалу барысында мәні өзгере алатын шама – айнымалы деп аталады. Программадағы айнымалы ұғымы түсінікті болу үшін оны компьютердің аты аталған (идентификаторы) ұяшығы деп қарастырайық. Мысалы: c:=2 яғни, с атаулы ұяшыққа 2 саны орналастырылды дейік. c:=c+4 амалы орындалғаннан кейін с ұяшығындағы 2 санына 4 қосылып, c:=6 болады. Ұяшыққа жазылған соңғы мәлімет бастапқы мәліметтерді өшіріп отырады. Мысалдан көргеніміздей, әр түрлі өңделуден кейін ұяшық ішіндегі мәлімет өзгереді. Ал ұяшық, яғни айнымалы атауы сол қалпында қалады. Айнымалының соңғы мәні ағымдағы мән деп аталса, айнымалы әр уақытта бір ағымдағы мәнге ие болады.
4. Стандартты функциялар.
Паскаль тілінің стандартына қарағанда Turbo Pascal-да стандартты функциялар саны көбейген. Жолдармен, көрсеткіштермен және адрестермен жұмыс істейтін стандартты функциялар қызметі туралы кейінгі тарауларда айтылады. Ал, стандартты арифметикалық функцияларға тоқталар болсақ олар мына ережелер бойынша жазылады:
-
Стандартты функция атауы латын алфабиті әріптерімен жазылады;
-
Функция атауы алты әріптен аспауы қажет;
-
Функция аргументі жай жақшаға алынады;
-
Функция аргументі бірнешеу болса, олардың арасына үтір таңбасы қойылады;
-
Тригонометриялық функция аргументтері радиан өлшемімен беріледі.
Градуспен берілген аргументі радианға аудару үшін төмендегі теңдікті пайдаланамыз:
Паскаль тіліндегі арифметикалық функциялар мәні тек нақты және бүтін типті болады.
3.1. кесте
|
Математикада жазылуы |
Паскальда жазылуы |
Нәтиже типі |
|
|x| |
Abs(x) |
Х-тің типіне сйкес келеді |
|
Arctg x |
Arctan(x) |
Нақты (Real) |
|
Cos x |
Cos(x) |
Нақты (Real) |
|
Sin x |
Sin(x) |
Нақты (Real) |
|
ex |
Exp(x) |
Нақты (Real) |
|
X2 |
Sqr(x) |
Нақты (Real) |
|
Sqrt(x) |
Нақты (Real) |
|
|
Ln x |
Ln(x) |
Нақты (Real) |
|
Pi |
Нақты (Real) |
|
|
Х-тің бөлшек бөлігі |
Frac(x) |
Нақты (Real) |
|
Х-тің бүтін бөлігі |
Int(x) |
Нақты (Real) |
|
0 мен 1-дің арасындағы кез- келген нақты сан |
Random |
Нақты (Real) |
|
0-ден х-ке дейінгі кез- келген бүтін сан |
Random(x) |
Бүтін (Integer) |
|
Санды бүтінге дейін дәлдіктеу |
Round(x) |
Бүтін (Integer) |
Кестедегі Random(x) функциясы 0 мен Х арасындағы кез келген бүтін оң санды береді. Мысалы, Random(3) болғанда 0 мен 3 саны аралығындағы бүтін сандар, 0,1,2. Егер a<=x<b аралықтағы кез келген санды алу қажет болса, өрнекті Random(b-a)+a түрінде жазамыз. Random функциясы х параметрінсіз жазылса, нәтиже 0 мен 1-дің арасындағы кез-келген нақты санды береді.
Frac(x) функциясы х санының бөлшек бөлімін анықтайды. Мысалы, Frac(1.005) болса, нәтиже 0.005. Аргумент және нәтиженің типі нақты. Функцияны қолдануда аргументті өрнек түрінде жазса да болады. Мысалы, Frac(5*2.3), мұндағы 5*2.3=11.5 болғанда, нәтиже 0.5-ке тең.
Int(x) функциясы х нақты санының бүтін бөлігін анықтайды. Нәтиже типі де нақты болады. Мысалы, Int(13.05) болғанда, нәтижесі 13.00. Х-ті өрнек түрінде жазуға мысал келтірейік: Int(5*2.3), мұндағы 5*2.3 болғанда нәтиже 11.0. Сонда x=frac(x)+int(x).
Тізімде жоқ функцияларды жазу үшін түрлендіру формулаларын пайдаланамыз.
Мысалы:
Logax = ln(x) / ln(a)
Lg x = ln(x) / ln(10)
Tg x = sin(x) / cos (x)
Ctg x = cos(x)/ sin(x)
Csc = 1 / sin(x)
Arcsin x= arctan(x / sqrt (1-sqr(x)))
Arcos x = arctan(sqrt(1-sqr(x))/x)
Turbo Pascal-да дәреже көрсеткішін логарифм қасиеттерін қолдана отырып, төмендегі теңдеумен есептейміз:
Ab = ebln(a) = exp(b*ln(a))
Бірақ, бұл теңдеу теріс таңбалы дәреже көрсеткішін есептеуге жарамсыз. Ол үшін цикл операторын қолданамыз.
-
Арифметикалық өрнектер
Программадағы барлық есептеулер арифметикалық өрнектің көмегімен ұйымдастырылады. Өрнек – тұрақтылардан, айнымалылардан, функциялардан, амалдар таңбасынан және өрнектің орындалу ретін өзгертуге арналған жай жақшадан тұрады. Қарапайым жағдайда өрнек тек бір ғана айнымалыдан немесе тұрақтыдан тұруы мүмкін. Арифметикалық өрнек сызықты түрде, яғни бөлшектің бөлімі мен алымы, дәреже көрсеткіштер мен индекстер бір қатарда жазылады. Сондай-ақ, өрнектің әдеттегі жазылуынан айырмашылығы амал таңбалары міндетті түрде қойылады. Мысалы, 4a-bc өрнегіндегі көбейту таңбасы Паскаль тілінде міндетті түрде жазылады, 4*a-b*c.
Өрнектің нәтижесі бүтін немесе нақты сан болады. Арифметикалық өрнектегі амалдардың орындалуы жақша ішінен басталады. Өрнекте жақша болмаған жағдайда амалдар төмендегі кестедегі реттілік бойынша орындалады.
-
-
-
Реті
Амалдар
Not, @
*, /, div, mod, and, shl, shr
+, -, or, xor
=, <>, <, >, <=, >=, in
-
-
Унарлық амалдар элементтің таңбасын өзгертуге қолданылады. Мысалы, -а-унарлық амал, а+в бинарлық. Өрнекте екі таңба қатар кездескенде унарлық амалды жақшаға алу керек. Мысалы: а*(-с).
Өрнектің жазылуына мысалдар:
(a-b) (a+b) = (a-b)*(a+b)
a3x3+a2x2+a1x+a0 = a3*xp(3*ln(x))+a2*sqr(x)+a1+a0
2a2+3b5 = 2*sqr(a)+3*exp(5*ln(b))
sin2x + 3cosx2 = sin(2*x)+3*cos(sqr(x))
6. Div және mod амалы
Div-division сөзінен қысқартылып алынған. Бұл сөздің қазақша мағынасы – бөлу. Div амалының әдеттегі бөлуден айырмашылығы: бөліндінің тек бүтін бөлігі ғана алынады, бөлшек бөлімі қарастырылмайды.
Мысалы: 40 div 8 =5
11 div 5 =2
10 div 3 =3
123 div 4 =30
6 div 5 =1
Div амалы орындалғанда нәтиженің таңбасына да мән беген жөн. Мысалы:
17 div (-5) =-3
-17 div (5) =-3
-17 div (-5) =3
Егер, div амалы бойынша жазылған өрнекте кіші сан үлкен санға бөлінсе, нәтиже 0-ге тең болады.
Мысалы:
5 div 17 =0
4 div 10 =0
Бөліндінің бүтін қалдығын табу амалы –mod (modulus).
Мысалы: 11 mod 5 болса, 11-ді 5-ке бөлгендегі бүтін қалдық табылады. Сонда, өрнектің нәтижесі 1-ге тең.
Мысалы: 10 mod 5 = 0
10 mod 3 = 1
14 mod 5 = 4
Егер, бөлінді немесе бөлгіштің таңбасы теріс болса, mod амалы орындалғандағы нәтиже таңбасы төмендегідей:
17 mod -5 = 2
-17 mod 5 = -2
-17 mod (-5) = -2
Бөлінді бөлгіштен кіші болған жағдайда бөліндінің өзі нәтиже болып қалады.
Мысалы: 4 mod 6 = 4
7 mod 12 = 7
-5 mod 10 = -5
7 mod (-15) = 7
-6 mod (-8) = -6
Егер, mod амалымен жазылған өрнекте бөлгіш 0-ге тең болса, мысалы: 10 mod 5 = 0 нәтиже анықталмаған.
Div және mod операцияларының нәтижесі үнемі бүтін сан болады.
Бақылау сұрақтары:
-
Программаның негізгі сипаттамасы.
-
Айнымалылар. Тұрақтылар.
-
Стандартты функциялар.
-
Өрнектердің жазылу ережелері.
-
Бүтін бөлу және бүтін қалдықты анықтау.
Лекция тақырыбына сәйкес СӨЖ тапсырмалары:
-
Берілгендер. Нәтиже.
-
Тұрақтылар. Айнымалылар.
Әдебиеттер:
1. Ж.Қ.Масанов, Б.А.Бельгибаев, А.С.Бижанова. Қ.Қ.Мақұлов. Turbo Pascal
2. Фаранов В.В. TURBOPASCAL 7.0, Нолидж, 1999
Лекция 3
Turbo Pascal тіліндегі программа
Жоспар:
-
Программа құрылымы.
-
Программа бөлімдері.
Лекцияның мақсаты: Программа бөлімдерімен таныстыру.
1. Программа құрылымы
Программа – белгілі бір программалау тілінің синтаксистік ережелеріне сәйкес жазылған нұсқаулар тізбегі. Демек, Turbo Pascal тілінде программа жазу үшін программалаушы оның жазылу ережесін жақсы білу қажет.
Turbo Pascal тіліндегі программа жалпы мына түрде жазылады:
Программа тақырыбы;
Сипаттау бөлімі;
begin
Орындалатын бөлім
end.
Программа тақырыбы program сөзінен басталады. Ол программа атынан және параметрлерден тұрады. Мысалы:
Program esep1 (input, output);
Мұндағы esep1 – программаға берілген атау. Программалаушы программа атын өз қалауынша бере алады. Программа атауы оларды екінші бір программадан ажыратуға қажетті көрсеткіш.
Ескерту! Программа атауының оның мазмұны сақталған файл атауына еш қатысы жоқ.
(input, output) – стандартты енгізу, шығару файлдары.
Сипаттау бөлімінде программада кездесетін барлық берілгендердің атауы, типі, мүмкін болатын мәндері, т.б. хабарланады.
Орындалатын бөлімде begin және end қызмтші сөздері арасына операторлар тізбегі жазылады. Сол себепті begin (ашылатын) және end (жабылатын) қызметші сөздерін операторлар жақшасы деп атаса да болады. Оператор – нұсқаулардың машиналық тілде жазылуы. Сонда әрбір оператор орындалуға қажетті әрекетті машинаға түсінікті түрде сипаттайды. Программаның бір жолына бірнеше операторларды жазуға болады. Олардың арасына (;) нүктелі үтір таңбасы, ал программаның соңын көрсететін end сөзінен кейін (.) нүкте қойылады. Программаның орындалатын бөлімінде жазылған операторлар тізбегін –программа денесі деп атайды.
2. Программа бөлімдері.
Turbo Pascal тіліндегі программа төмендегі бөлімдерден тұрады:
-
Программа тақырыбы;
-
Берілгендерді сипаттау;
-
Белгілерді хабарлау бөлімі;
-
Тұрақтыларды хабарлау бөлімі;
-
Типтерді хабарлау бөлімі;
-
Айнымалыларды сипаттау бөлімі;
-
Орындалатын бөлім;
Begin
Программа денесі (операторлар тізбегі)
End.
Сонда, программа құрылымы мына түрде болады:
Program Программа аты;
Uses
Модуль аты;
Label
Белгі;
Const
Тұрақты атауы = тұрақты мәні;
Type
Тип атауы = тип сипаттамасы;
Var
Айнымалылар атауы: типі;
{Пайдаланушылар процедурасын және функциясын хабарлау};
Begin
Операторлар тізбегі;
End.
Uses бөлімінде стандартты және пайдаланушылар модулі жарияланады. Мысалы,
Uses crt
Begin clrscr {Экранды тазалауды іске қосу}
...
Кез-келген операторды белгілей отырып, goto операторы арқылы программаның ретін өзгертіп, белгіленген операторға тікелей көшуге болады. Белгі атауы символдар тізбегі және бүтін оң сандармен қойылады. Оператор мен белгі арасына (:) қос нүкте таңбасы жазылады. Белгілерді хабарлау бөлімі Label қызметші сөзінен басталады. Программада кездесетін барлық белгі label бөлімінде хабарлануы қажет.
Label белгі1, белгі2, белгі3;
Мысалы,
Label 1, 15, SUM, AC;
Тұрақтыларды сипаттау бөлімі Const (латынның constants – тұрақты деген сөзінің қысқартылуынан алынған) қызметші сөзінен басталады. Бұл бөлім программада төмендегідей жазылады:
Const
Тұрақты атауы = тұрақты мәні;
Мысалы,
Const
G=9.8;
Type бөлімінде пайдаланушылар тарапынан анықталған типтер хабарланады. Turbo Pascal-да программалаушы стандартты типтер арқылы жаңа типті құруға мүмкіндігі бар. Мұндай типтерді қолдану программаның құрылымын күрделендіреді. Сол себепті Type бөлімі қарапайым программада кездеспейді. Бірақ, пайдаланушылар типі программадағы қателіктерді тез табуға септігін тигізеді. Type бөлімінің жалпы жазылуы:
Type
Тип атауы = сипаттамасы;
Мысалы,
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:Boolean;
Мұндағы a, b, c -айнымалылар атаулары, олардың типтері бүтін (integer). Ал, D, x1, x2-нақты (real), y -символдық (char), flag -логикалық (Boolean) айнымалылар.
Программаны жеңілдетуде бір программаны бірнеше кішкене бөліктерге бөлуге болады. Программаның осындай бөліктері – көмекші программа (ішкі прогамма немесе подпрограмма) деп аталады. Көмекші программа екіге бөлінеді: процедуралар және функциялар. Процедуралар мен функциялардың екі түрі бар: стандартты және пайдаланушылар. Стандартты функциялар мен процедуралардың атауы, атқаратын қызметтері алдын-ала анықталғандықтан, оларды программаның басында хабарлаудың қажеті жоқ. Ал, пайдаланушылар процедурасы мен функцияларын программаның арнайы бөлімінде хабарлау керек. Бұл бөлімде пайдаланушы процедурасы мен функцияларына атау беріледі. Оларды осы атау бойынша программаның негізгі бөлімінде шақыруға болады.
Процедураны хабарлау бөлімінің жалпы жазылуы:
Procedure атауы (формальды көрсеткіштері);
Begin
процедураның орындалатын бөлімі;
End;
Функцияны хабарлау бөлімінің жалпы жазылуы:
Function функция атауы (формальды көрсеткіштері): нәтиже типтері;
Begin
функцияның орындалатын бөлімі;
End;
Программаның орындалатын бөлімін – операторлар бөлімі деп атаймыз. Операторлар бөлімі – программаның негізгі бөлімі. Бұл бөлімде программаның сипаттау бөлімінде хабарланған тұрақтыларға, айнымалыларға, функция мәндеріне түрлендіру операциялары қолданылып, қойылған мақсатта программа жазылуы керек.
Операторлар бөлімі begin қызметші сөзінен басталып, орындалатын операторлар бірінен кейін бірі жазылады. Программаның бір жолына бірнеше операторларды жазуға болады. Олардың арасын нүктелі үтір таңбасымен бөлеміз. Бұл бөлімді end қызметші сөзі аяқтайды. Бұл сөзден кейін нүкте таңбасы қойылып, программаның соңын көрсетеді.
Операторлар бөлімінің жазылуы:
Begin
1-оператор;
2-оператор;
...
n-оператор;
End.
Операторлар жазылу реті бойынша жоғарыдан төменге қарай орындалады. Жазылуы көлемді болатын оператор экранның бірнеше жолын алу мүмкін.
Бақылау сұрақтары:
-
Программа тақырыбы.
-
Типтер бөлімі.
-
Таңбалар бөлімі.
-
Айнымалыларды сипаттау бөлімі.
-
Орындалатын бөлім.
-
Көмекші программа.
Лекция тақырыбына сәйкес СӨЖ тапсырмалары:
Программа құрылымы.
Әдебиеттер:
-
Камардинов О. Есептеуіш техника және программалау. Алматы, 1997
-
Н.Ы.Омарова, К.У.Тұрмағанбетова, К.Н. Нурединова. Паскаль тілінде программалау негіздері.
-
Фаранов В.В. TURBOPASCAL 7.0, Нолидж, 1999
-
Ж.Қ.Масанов, Б.А.Бельгибаев, А.С.Бижанова, Қ.Қ.Мақұлов. Turbo Pascal.Алматы, 2004.
Лекция 4
Сызықтық программа.
Жоспар:
-
Түсініктеме.
-
Меншіктеу операторы.
-
Мәліметтерді экранға шығару операторы.
-
Берілгендерді енгізу операторы.
-
ClrScr, delay нұсқаулары.
-
Бос оператор.
Лекцияның мақсаты: Сызықтық программаларда қолданылатын
операторлармен таныстыру.
1. Түсініктеме
Кейде программада айнымалы нені білдіретіндігін, функция немесе оператор қандай іс-әрекет жасайтыны жайлы еске салатын немесе хабарлайтын ескертулер қою қажет болады. Бұл ескертулер түсініктемелер деп аталады. Паскальда программаға қанша болмасын түсініктемелер қоюға болады.
Түсініктемелер { }, (* *) символдарының аралықтарына орналастырылады. Түсініктемелердің мысалдары:
{Шешу әдісі}
(*Циклдің басы*)
Түсініктеме бірнеше жолдан тұра алады.
{Квадрат теңдеулерді
шешудің мысалы}
2. Меншіктеу операторы
Паскальда меншіктеу операторының жазылу үлгісі:
<айнымалы атауы>:=<өрнек>
Мысалы, y:=4/(3*x+1); z1:=’a’; Мұндай операторлардың орындалуы үшін айнымалы атауы мен өрнек мәндерінің типтері бірдей болуы тиіс.
3. Мәліметтерді экранға шығару операторы
Оперативті жадыдан мәндерді монитор экранына шығару WRITE операторы арқылы орындалады (write-жазу). Мысалы, х, у айнымалыларының мәндерін экранға шығару операторы – write(x,y). x,y айнымалыларын WRITE операторының параметрлері деп те атайды. Параметрлер үтіп арқылы бөлініп, жай жақшалар ішінде жазылуы тиіс.
WRITE операторының түрлі түрде жазылу мысалдары:
-
write (x);
-
write (x, ‘ ‘, y);
-
write (3*x+5, ‘ ‘, y+2);
-
write (x:n:m);
-
write (‘символдар тізбегі’);
-
write (lst, x);
1-4, 6 операторларының орындалуы үшін алдын-ала х,у айнымалыларының мәндері жадыға ендіріліп қойылуы тиіс.
Мысалда берілген операторлардың қызметі:
1) –экранға х мәнін шығару. Егер х параметрінің типі REAL болса, экранда 16 символдық өрісте стандартталынған жылжымалы нүктелі түрде көрінеді (оның соңғы төрт символы санның ретін көрсетеді, алғашқы 11 символы-мәнді цифрлар). Мысалы, 253.426034981 санының экранда көрінуі: 2.5342760347Е+02,
2) –экранға х, у мәндерін шығару. (Олардың аралығына қойылған Бос орын (‘ ‘) символы мәндерді ажыратып көрсету үшін пайдаланылды),
3) –жақшалардың ішіндегі екі өрнектің мәндерін экранға шығару,
4) –REAL типті айнымалы мәнін экранға көрсетілген үлгі бойынша тиянақты нүктелі түрде шығару. n:m-нақты санды курсордың тұрған жерінен бастап n символдық орынға шығару белгісі, m-оның бөлшек бөлігінің цифрлар саны (0<=m<=n). Экранда сан бөлінген орынның оң жағынан бастап орналастырылады. Осы тәсіл бойынша бүтін типті айнымалы мәнін де экранға шығару мүмкін. Мұнда пайдаланылатын оператор
Write (x:n)
Мысал:
|
х мәні |
Оператор |
мәннің экранда көрінуі |
|
145 |
write (x:7) |
_ _ _ _ 145 |
|
86.92 |
write (x/2:7:3) |
_ _ _ _ 43.460 |
|
86.937 |
write (x/2:7:3) |
_ _ _ _ 43.468 |
|
86.937 |
write (x/2) |
4.3468500000E+01 |
|
2/3 |
write (x) |
6.6666666667E-01 |
5) –жолдық тұрақтыны экранға шығару
Мысалы, x=25 үшін write (‘х мәні=’, x) операторының орындалу нәтижесі мынадай: х мәні=25;
6) –х мәнін принтер арқылы қағазға басып шығару. LST (list pleace-басып шығару құрылғысы) – принтерде басып шығаруға арналған стандартты жүйелік файл атауы.
Паскаль тілінде құрылатын программада әр оператордан соң нүктелі үтір таңбасы қойылады (ол операторларды ажырату белгісі); бір жолға сыйғанынша бірнеше операторды орналастыру мүмкін. Операторларды жол басынан бастап жазу, бір жолға бірнеше операторды орналастыру және END қызметші сөзінің алдындағы оператор соңына нүктелі үтір таңбасын қою міндетті емес. Программаны оқуға ыңғайлы етіп орналастырса болғаны.
Мысал. Қабырғалары 6.5, 3.9, биіктігі 4.7 болатын трапецияның ауданын табу керек.
Program audan;
var a, b, h, s: real;
begin
a:=6.5; b:=3.9; h:=4.7;
s:=(a+b)*h/2; write(‘s=’,s:5:2)
end.
Жай типті айнымалыларды пайдаланып құрылған сызықтық программаны қарапайым деп те атайды.
шағым қалдыра аласыз













