Паскаль программалоо тили
Паскаль программалоо тили 1968-71-жылдары Цюрих шаарындагы Стэнфорд университетинин информатика кафедрасынын окутуучусу швейцариялык окумуштуу Никлаус Вирт тарабынан негизделип, француз математик жана философ Блез Паскалдын (1623-1662) ысымына ыйгарылып, окуу программалоо тили катары пайда болгон. Азыркы учурда бул программалоо тилин колдонуу көп чөйрөгө таандык. Бул тил өзүнүн жөнөкөйлүүлүгү менен башка программалоо тилдери менен айырмаланат.
Паскаль программалоо тилинин алфавити жана иштѳѳ чѳйрѳсү.
Латын тамгалары (A, B, C, ..., Y, Z, a, b, c, ..., y, z)
Араб цифралары(0, 1, 2, … , 9)
Атайын символдор.
Комментарий жазуу үчүн орус тамгалары колдонулат.
| Арифметикалык амалдар | Катыш белгилер | Кошумча символдор |
| + - * / | , =, , = | # , . ( ) { } [ ] & ! ? ‘ ; ж.б |
Стандарттык функциялар
| Математикалык жазылышы | Паскаль программалоо тилинде жазылышы |
| x | Abs(x) |
| X2 | SQR(x) |
| √x | SQRT(x) |
| LN(x) | LN(x) |
| Ex | Exp(x) |
| Sin(x) | SIN(x) |
| Cos(x) | COS(x) |
| Arctg(x) | ARCTAN(x) |
| Xn | Exp(n*ln(x)) |
| Tg(x) | Sin(x)/cos(x) |
| Ctg(x) | Cos(x)/sin(x) |
Арифметикалык амалдардын, белгилердин жана сандардын паскаль программалоо тилинде жазылышы
| Математикалык жазылышы | Паскаль програмалоо тилинде жазылышы |
| + | + |
| - | - |
| . | * |
| : | / |
| | |
| | |
| ≥ | = |
| ≤ | |
| ≠ | |
| 2,5 | 2.5 |
| ‘ ’ | Символдорду киргизүү |
| ( ) | Ѳзгѳрмѳлѳрдүн тизмеси жазылат |
| { } | Комментарий жазылат |
| [ ] | Массивдин ѳлчѳмү жазылат |
| .. | Массивдин ѳлчѳмү кѳрсѳтүлѳт |
Паскаль программалоо тилиндеги кызматчы сѳздѳр
| Сѳз | Аныктама | Сѳз | Аныктама |
| And | Жана | Downto | Чейин (кичирейтүү м-н) |
| Array | Массив | Else | Антпесе |
| Begin | Башы | End | Аягы |
| Case | Тандоо | File | Файл |
| Goto | Ѳтүү | For | Үчүн |
| If | Эгер | Function | Функция |
| Label | Метка | Mod | Калдыгы менен бѳлүү |
| Then | Анда | Or | Же |
| To | Чейин(чоңойтуу м-н) | Procedure | процедура |
| Type | Тип | Program | Программа |
| Const | Турактуу | Repeat | Кайталоо |
| Div | Калдыгы жок бѳлүү | Until | Чейин |
| Do | Аткар | Var | Ѳзгѳрмѳ |
| Not | Жок(тануу) | while | Чейин |
Операндылар
div-тегеректелбеген тийинди (тийиндинин бүтүн бѳлүгү)
Мисалы: a=17, b=3
A div b=5
Себеби, 17 санын 3 санына бѳлгѳндѳ 5 ден тийет, бирок калдыгы бар.
mod-тийиндинин калдыгы (тийиндинин калдыгы)
Мисалы: a=17, b=3
A div b=2
Себеби, 17 санын 3 санына бѳлгѳндѳ 5 ден тийет, ал эми калдыгы 2 ге барабар.
Функциялар:
ABS(x)-х бүтүн санынын абсолюттук чоңдугу.
Мисалы: x=-14 abs(x)=14
Себеби, оң Жана терс сандардын абсолюттук чоңдугу оң санга барабар болот.
SQR(x)-x бүтүн санынын квадраты
Мисалы: x=4 sqr(x)=16
Trunc(x)-берилген анык сандарда үтүрдѳн кийинки сандарын алып таштоо(мында x-анык, жыйынтык-бүтүн сан болот)
Мисалы: x:=4.925 trunc(x)=4
round(x)-берилген анык сандарды үтүргѳ чейин тегеректѳѳ (мында x-анык, жыйынтык-бүтүн сан болот)
Мисалы: x:=7.925 round(x)=8
succ(i)-берилген I бүтүн санынан кийинки санды чыгарат.
Мисалы: i:=2 succ(i)=3
pred(i)-берилген I бүтүн санынан мурунку санды чыгарат.
Мисалы: i:=7 pred(i)=6
dec(процедура)-x санын берилген ѳсүндүгѳ чейин кичирейтип чыгарат.
Мисалы: x:=5 dec(x,2)=3
Эгерде ѳсүндү берилбесе, бир кадам менен мурдагы санды чыгарат
inc(процедура)-x санын берилген ѳсүндүгѳ чейин чоңойтуп чыгарат.
Мисалы: x:=5 dec(x,2)=7
Эгерде ѳсүндү берилбесе, бир кадам менен кийинки санды чыгарат.
9. frac(x)-берилген анык сандын бөлчөк бөлүгүн чыгарат.
Мисалы: x:=7.925 trunc(x)=0.925
Негизги командалар жана ысык баскычтар
| Баскычтар | Аткарган кызматы |
| Alt+f9 | Программаны текшерүү |
| Ctrl+f9 | Ѳзгѳрмѳлѳргѳ маани берүү |
| Alt+F5 | Маселенин жыйынтыгын кѳрүү |
| Alt+F3 | Учурдагы иштеп жаткан терезени жабу |
| Alt+Х | Паскаль программалоо чөйрөсүнөн чыгуу |
| F2 | Программаны сактоо |
| F3 | Сакталган программаны ачуу |
| Ctrl+F1 | Курсор турган оператор жөнүндө маалымат алуу |
| Alt+Backspace | Акыркы киргизилген өзгөртүүнү жокко чыгаруу |
| Ctrl+y | Курсор турган сапты жок кылуу |
| Shift+() | Тексттин блогун белгилөө |
| Ctrl+insert | Белгиленген блокту буферге сактоо |
| Shift+insert | Буфердеги маалыматты жайгаштыруу |
Идентификатор.
Паскаль программалоо тилинде идентификатор деген түшүнүк бар. Идентификатор-бул турактуулардын, ѳзгѳрмѳлѳрдүн, меткалардын, типтердин, объекттердин, процедуралардын, функциялардын жана модулдардын аты. Идентификатор сѳзсүз түрдѳ латын тамгаларынан башталыш керек, андан ары ар түрдүү символдорду жана сандарды жазсак болот, бирок символдор жана цифралар менен башталса болбойт. Идентификатор каалагандай узундукка ээ, бирок алгачкы 63 символ гана мааниге ээ болуп калат. Жалгыз пробел жана атайын символдор идентификатор боло албайт. Латындын чоң жана Кичине тамгалары бири-биринен айырмаланбайт. Мисалы: ALMAZ жана Almaz. Булар бир эле идентификаторду түшүндүрөт.
Биз ѳзүбүз түзүп жаткан программанын мазмунуна карап идентикаторду тандап алсак болот. Мисалы, misal1, misal2, tyiyntma Жана башка ушул сыяктуу.
Туура жазылган идентификаторго мисал:
Meder
Jildiz1
Asil9
Ukg
G7g
Date_11_sep_74
_beta
Туура эмес жазылган идентификаторлор
1program(цифра менен башталган)
block#1 (атайын символ кошулуп жазылган)
my program (пробел камтылган)
mod(кызматчы сѳз)
Паскаль программалоо тилинин структурасынын жалпы көрүнүшү:
Паскалдагы каалагандай программа 3 блоктон турат.
Жарыялоо блогу
Процедура жана функцияны баяндоо блогу
Негизги программа
Жарыялоо блогу
Program …(программанын аты)
Uses …(сырткы модулдарды колдонуу)
Const …(турактууларды жарыялоо)
Label …(меткаларды жарыялоо)
Type …(типтерди жарыялоо)
Var …(өзгөрмөлөрдү жарыялоо)
Процедура жана функцияны баяндоо блогу
Procedure(function)
Begin
…
End;
…
Негизги программа
Begin
… (негизги программанын операторлору) …
End;
Жогорудагы бөлүктөрдүн негизгилерине токтолуп өтөбүз:
Жарыялоо блогу. Мында «program» кызматчы сѳзү андан кийин идентификатор жазылат. (Эгерде идентификатор жазылбаса, анда {program} сѳзүн жогорудагыдай кылып фигуралуу кашага алып жазабыз). Эгерде турактуу чоңдуктар берилсе, анда аны const(англис тилинин constanta-«турактуу») деген кызматчы сѳзү менен баяндап жазабыз. Кийин колдонулуучу чоңдуктарды var(англис тилинен алынган variable-«ѳзгѳрмѳ») деген кызматчы сѳзү менен жарыялайбыз.
Негизги программа. begin(башы) жана end(аягы) деген кызматчы сѳздѳрдүн ортосундагы бир нече операторлордун тизмегинен турат. Мындагы операторлор удаалаш биринин артынан бири аткарылат.
Program Ruslan;
Var x,y:integer;
Begin
Read(x);
Y:=2*x;
Write(‘y=’, y:3);
End.
Мында Ruslan деген программанын аты. Программанын жыйынтыгы берилген каалагандай бүтүн санды эки эселейт. Бул тилде программа түзүүдѳ ар бир сап «;» менен аяктайт. Программанын аягы end кызматчы сѳзү менен аяктап андан кийин «.» коюлат. (end кызматчы сѳзүнѳн мурдагы сапка «;» койбосо да болот)
Берилиштер эки түрдѳ болот.
Турактуулар-бул программанын аткарылышында маанисин ѳзгѳртпѳгѳн чоңдуктар. Аларды программада англис тилинин const-«турактуу» кызматчы сѳзү менен баяндап жазабыз.
Ѳзгѳрмѳлѳр-бул программанын аткарылышында маанисин ѳзгѳрткѳн чоңдуктар. Программанын аткарылышында ѳзгѳрмѳлѳрдү variable-«ѳзгѳрмѳ» деген сѳзү менен баяндайбыз.
Паскаль тилиндеги типтердин иерархиясы:
| 1. жѳнѳкѳй: | 2. Татаал: |
| Integer-бүтүн Real-анык(чыныгы) Char-символдук Boolean-логикалык | Array-массив Set-кѳптүк File-файл Record-запись String-саптык |
Бүтүн типтер:
| Байт, узундук | Типтин аты | Маанилердин диапазону |
| 1 | Byte | 0 … 255 |
| 1 | Shortint | -128 … 127 |
| 2 | Word | 0 … 65535 |
| 2 | Integer | -32768 … 32767 |
| 4 | longint | -2147483648 … 2147483647 |
Анык типтер:
| Байт, узундук | Типтин аты | диапазон ондук системада |
| 4 | Single | -45…+38 |
| 6 | Real | -39…+38 |
| 8 | Double | -324… +308 |
| 10 | Extended | -4951…4932 |
| 8 | comp | -263+1…263-1 |
Туюнтманы Паскаль программалоо тилине которуп жазууга мисалдар карайбыз(таблицаны колдонобуз).
паскаль тилинде:
exp(3*ln(x))-sqr(a+b)-a/(b-2.5)+abs(x+1/3)