Паскаль тілі- программалаудағы өте жаќсы тіл. Бұл тіл жеңіл, түсінікті болып оќылады. Паскаль тілі жазылудың, яғни ќұрылымын үйретеді. Паскаль тілі Бейсик тіліне ќарағанда өте жеңіл тіл. Паскаль тілінде әртүрлі типтермен рекурсиямен жұмыс істеуге болады.
Паскаль тілінің шығу тарихына тоќталатын болсаќ. Алгоритмдік тіл АЛГОЛ 1950-60 жылдары шыќќан. Паскаль тілі осы АЛГОЛ-дың мұрагері болып табылады. Бұл тілді шығарған швейцардың ғалымы НИКЛАУС ВИРТ ол осы тілмен өз студенттерін үйреткісі келді.
Паскаль тілі 70- ші жылдары пайда болады. Паскаль тілі, АЛГОЛ тіліне ќарағанда жеңіл және түсінікті. Бұнда енгізу және шығару процедуралары бар және АЛГОЛ тіліне ќарағанда мүмкіндігі өте көп.
BORLAND фирмасының TURBO PASCAL тіл стандартының кеңейтілген түрі болып табылады. Сонымен ќатар программа ќұрылуының процесін жылдамдататын және жеңілдететін интегрерленген ортасы бар. TURBO PASCAL пайда болғанға шейін бұл программалыќ өнім жеті версиядан өтті.
1. ТУРБО ПАСКАЛЬ ТІЛІНДЕГІ ПРОГРАММА ҚҰРЫЛЫМЫ
Паскаль тіліндегі программа мына түрде болады:
PROGRAM аты);
BEGIN – программа денесі
END – программа соңы
Программаның таќырыбын көрсету үшін PROGRAM ќызмет сөзі ќолданылады.Программаның таќырыбы жалпы былай жазылады:
PROGRAM <программа аты>
Программаның таќырыбын ” ; ” символымен аяќтайды.
Программаларға (операторларға) түсініктеме беру үшін түсініктемені”(* ”және” *)” белгілерінің арасында кез келген жолдан немесе кез келген позициядан бастап жазуға болады. Мысалы:
(*үшбұрыштың ауданы*)
(*берілгендер бейнесі*)
Блок:
1.Белгілерді бейнелеу бөлігі.
2.Тұраќтыларды бейнелеу бөлігі.
3.Типтерді аныќтау бөлігі.
4.Айнымалыларды бейнелеу бөлігі.
5.Функцияларды және процедураларды бейнелеу бөлігі.
6.Операторлар бөлігі.
Паскаль тіліндегі программалардың ќұрылымын жалпы былай көрсеруге
болады:
PROGRAM аты
сипаттау бөлігі
BEGIN
Оператор бөлігі
END
Программаның жалпы ќұрылымы былай болады:
PROGRAM аты;
LABEL
белгі бөлігі
CONST
Тұраќтылар бөлігі
TYPE
Типтер бөлігі
VAR
айнымалылар бөлігі
PROCEDURE
процедура бөлісі.
FUNCTION
функция бөлігі
BEGIN
Оператор бөлімі
END
Метка бөлімі
Метка бөлімі белгі ретінде кез-келген бүтін оң сан,символ, символдар тіркесі пайдаланылады.Белгі операторды немесе программаның бөлігін табу үшін пайдаланылады. Белгі операторалдындаорналасады да,ќос нүкте арќылы ажыратылады.Ќажетті операторға,программаның бөлігіне оралу белгі арќылы жүзеге асырылады.Белгіні пайдалану үшін алдын ала белгі бөлігінде label(белгі)ќызмет сөзі арќылы хабарлануы керек.
Белгіні хабарлау түрі төмендегідей:
LABEL сан, сан,... сан символ
Мысалы:
Label 5,12, 45. Sum AB:
Тұраќтылар бөлімі
Программада тұраќтылар өз түрімен немесе атауы арќылы берілуі мүмкін.
Егер тұраќтылар атау арќылы берілсе, онда оны программаның тұраќтылар бөлігінде міндетті түрде бейнелеу ќажет.
Бейнелеу түрі:
CONST тұраќты атауы = мәні;
Мысалы:
CONST N=28;
Бір бөлімде бірнеше тұраќты жазуға болады. Біраќ олар “;” арќылы ажыратылып жазылуы ќажет.
Мысалы:
CONST
K=23; (*бүтін тек*)
В=1.8 E-3; (*наќты тип*)
Р=3.14; (*наќты тип*)
S=’R’; (*символдыќ тип *)
L= TRUE; (*логикалыќ тип*)
Айнымалылар бөлімі
Программада командалардың кез келген айнымалылары, программаның айнымалылар бөлігінде бейнеленуі ќажет.
Айнымалыларды буйнелеу VAR (айнымалы)ќызмет сөзіне басталады.
Жазылу түрі:
VAR “ айнымалы атауы”; тип;
Мысалы:
VAR K; INTEGER;
(*K- айнымалысының типі бүтін *)
Бір мезгілде бірнеше айнымалыларды бейнелеуге болады.
Мысалы:
VAR
A: INTEGER;(*A-бүтін типтегі айнымалы *)
S: REAL; (*S- наќты типтегі айнымалы *)
S2: CHAR; (*S2- символдыќ типтегі айнымалылар*)
L: BOOLEAN; (*L-логикалыќ типтегі айнымалылар*)
Егер бірнеше айнымалылардың типтері бірдей болса, онда оларды бір жолға үтір арќылы бөліп жазцып, типін бір-аќ рет көрсетсе де болады.
Мысалы:
VAR
M,N; INTEGER; (*M,N- типі бүтін *)
S,SUM,K,L; REAL; (*S6SUM,K,L- типі наќты*)
P,R,R1; CHAR; (*P,R,R1- типі символдыќ*)
Немесе
VAR
K,L; INTEGER;
Сонымен айнымалы деген атау берілген әр түрлі мән ќабылдайтын обьект.
Операторлар бөлімі.
Меншіктеу операторы
Айнымалы аты:= өрнек
Меншіктеу белгісі “:=”мұны теңдік белгісімен “=” шатастыруға болмайды.
Меншіктеу операторының жазылу түрі төмендегідей:
W: = E;
Бұл оператор екі міндет атќарады:
Айнымалылардың белгілі мәндері бойынша Е- арифметикалыќ өрнегінің мәнін есептейді;
Есептелген мән W атауына меншіктеледі, яғни мән W- ге сәйкес жады ұяшығына орналасады. Жалпы жағдайда арифметикалыќ өрнек
тұраќты
айнымалы атауы
Е={ функция
өрнек
түрлерінің бірінде берілуі мүмкін. Мысалы:
R:=19.35;
M:=’завод’
Y:=SQR (SQR(x)+1);
Y1:= 3.1+SIN(x).
Мысалы: Егер Z айнымалысы
Var z: integer
Z:=11*(10*1) болса онда, есептің шешуі121 болса, онда Z:121 ге тең болып Z оның шыќќан мәнін меншіктейді. Меншіктеу операторы ”;” мына белгімен белгіленеді.
Мысалы:
Z=1. t=2;
Егер программада меншіктеу операторы мән алмаса оны “?” белгісімен белгілейміз
Программаның имитациясы
Орындалатын
операторлар
Жады жағдайы
X
y
z
?
?
?
Z:=1
?
?
1
X:=3
3
?
1
Y:=15
3
15
1
X:=10
10
15
1
Program a2(input, output);
Var
x,y,z: integer;
Begin
Z:=1
X:=3
Y:=15
X:=10
End
Writeln (өрнек) – шығару операторы
Z:=1: Writeln (1+z);
Writeln (z<=1)
Экранда мына символдар пайда болады.
2
true
Меншіктеу операторының ішіне бірнеше өрнек жазуға да болады.
X:=2; Writeln (1, x, x*x, x*x>2)
экранда 121 true шығады.
Келесі түрде символдарды опострофќа алып жазуға болады.
‘x=’, ‘123’, олар жолдыќ константалар деп аталады.
Мысалы:
x:=2;
Writeln (1,’ x=,’x’; ‘x2=’, ‘x*x,’ x2>2:’, x*x>2)
x=2; x2=4; x2>2;
true экранға шығарады.
Мысалы:
X:10;
write (‘x=’, x:5’, x2=’, x*x; 1)
Экранда 10 ассанының алдында үш пробел ќойылады және барлы цифрлар
100
x=10,
x2=100.
Writeln мен write операторының айырмашылығы Writeln операторы орындалғанда соңғы константалалдан кейін, курсор экранның келесі жолына жылжымайды. Мысалы:
X:=2;
Writeln (‘x=,’ x);
Write (‘,x2>2;’,x*x>2)
Экранға X=2, x2>2; true шығады.
Курсор Е әрпінен кейін оң жағында ќалады.
Енгізу операторы
Readln - фғылшын тілінен ќысќартылып алынған Read line – жолды оќу деген магынаны енгізеді. Берілген ьәндерді айнымалыға жазу үшін меншіктеу операторын пайдалануға болады.
Мысалы:
А:=15;
BC:=-16.4 т.с.с.
Біраќ бұл жағдайда программа әмбебап /универсалды/ болмайды. Программаны әмбебап етіп жасау үшін, айнымалылар мәндерін өзгеретін түрде жасау ќажет, бұл жағдайда программа әр түрлі мәндер үшін дұрыс болады. Ол үшін енгізу операторы READ пайдаланылады. Енгізу операторының жалпы түрі /форматы/ төмендегідей:
READ (a1, a2,……., a n);
Мұндағы а1, а2,......., а n – айнымалы атаулары, оларды енгізу операторларынңпараметрлері деп те атайды. READ операторы орындалғандапараметрлер өздеріне сәйкес келесі мәндерді ќабылдайды.
Оператор READ
Оператор READ ерікті сандағы параметрлер арќылы жұмыс атќара алады.
Параметрлердің сандыќ мәндері бір бірінен бос орын арќылы жазылады, ажыратып мәндерді беріп болдыќ дегенді білдіру үшін ВК (enter) клавищасы басылыды. Мысалы: Енгізу операторы READ (A, B, C);
Түрінде берілсе, параметрлерге мәндер беріледі. Бұл жағдайда A=5, B=6.2, C=4.5 мәндер ќабылдайды.Осы мәндер арќылы программа орындалып болған соң, басќа мәндер үшін программаны ќайталау ќажет болса, онда программаны басынан бастап ќайта орындау ќажет. Бұтін айнымалыларға бүтін, наќты айнымылыларға наќты мәндер берілуі ќажет.
Айнымалы бейнеленгенде наќты сан ретінде бейнеленсе, оған наќты да, бүтін де мән беруге болады. Себебі наќты сан ќұрамына бүтін сан енеді.
VAR
A,B: REAL;
READ (A, B);
Түрінде буріліп А, В айнымалылары үшін 4,5ВК орындалса, онда оларды 4.0 5.0 түрінде ќабылдайды. Сандар арасына бір немесе бірнеше бос орын ќалдыруға болады. Себебі сан енгізілгенде бос орын ескерілмейді. Мәндерді енгізгенде, мін енгізген жолдан келесі жаңа жолға көшіру үшін, параметрсіз немесе параметрмен сәйкес
Readln
Readln (a1, a2,….., an);
Операторын пайдалану ќажет. Сонымен Readln (a1, a2,….., an); Readln
Операторын пайдалануға болатындығы белгілі болды.
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы пайдаланылады;
WRITE (a1, a2,….., an);
Мұндағы a1, a2,….., an жай айнымалылар немесе опострофтар ішіне алынған символдар тобы болуы мүмкін. Мысалы: егер В= 17.15 болып мына команда орындалғанда:
Write(‘ B мәні=’,B)
экранда B мәні=17.15 информациясы көрінеді. Шығарылатын параметрлер бір бірімен үтір арќылы ажыратылып, ќызмет сөзінен соң дөңгелек жаќша ішіне жазылыды. Бүтін және наќты сандарды шығару үшін сандардың формасын беру ќажет. Наќты сан үшін формат 2 саннан тұрады:
Санға берілетін барлыќ орын ‡тірден кейін бөлшек бөлік саны
Мысалы:
WRITE (y; 5; 2)
мұндағы 5 нәтижеге берілген барлыќ орын екі үтірден соң алынатын бөлшек бөліктің саны. Жалпы түрде:
Бүтін сан үшін WRITE (N: S) немесе WRITE (‘ K=’, N: S) мұндағы S формат яғни бүтін санға берілген орын.
Наќты сан үшін:
WRITE (‘y=’, y; 8:3)
Егер Y=1.75 болса экраннан Y= 1.760 көрінеді.
Жалпы түрде: WRITE (‘y=’, y: M: N); Мұндағы M барлыќ сан үшін берілгенорын саны, N бөлшек орынының саны.
Паскаль тілінің параметрсіз шығару операторы Writeln жаңа жолға көшу үшін пайдаланылады. Егер Writeln (a1, a2,….., an); операторы пайдаланылса, онда a1, a2,….., an мәндерін экранға шығарған соң курсор келесі жолға көшеді. Write операторын түсініктеме беру үшін де пайдала нуға да болады. Мысалы:
WRITE (A,B,C-мәндерін енгіз ;);
READ (A,B,C);
Болған жағдайда экранға: A,B,C мәндерін енгіз деген сөз шығады.
Компьютерде көрсетілген айнымалы типі клавиатурадан константалар типін, күтеді. Клавиатурадан ќандайда бір константаны теру керек, сосын [Enter] клавищасын басаьыз. Enter басќаннан кейін клавиатурадан компьютерге беріледі. Осы константа бойынша айнымалы мәнін меншіктейді.
2. БАСҚАРУШЫ ОПЕРАТОРЛАР
2.1. Ќұрама операторлар.
Бірнеше операторларды бір операторға біріктіргенде шыќќан оператор ларды ќұрама операторлар дейді. Ол оператордың жазылуы:
BEGIN
оператор
оператор
.....................
n -1- оператор
n – оператор
ЕND
Бұл жағдайда BEGIN /басы /, ЕND /соңы/ ќызмет сөздері операторлыќ жаќша деп аталады. Ќұрама оператор бүтін тип оператор ќызметін атќарады, сондыќтан оны программаның кез келген бөлігінле ќолдануға болады. Ќұрама оператордың ќұрамында өзінің ќұрама оператрлары да болуы мүмкін
BEGIN – ң соңына, ЕND – ң алдындағы оперпторға нүктелі үтір ќойылмайды
Мысалы: егер (A, D, C, D), (K, L, M), E, ((R, S)) болса, онда программа былай болады:
BEGIN
BEGIN
A оператары;
В оператары;
С оператары;
Д оператары
ЕND;
BEGIN
К оператары;
L оператары;
М оператары
ЕND;
F оператары;
BEGIN
R оператары;
S оператары;
ЕND
ЕND
Ќұрама операторларға шартты көшіру және ќайталау операторы жатады.
2.2. Тармақталу операторы
2.2.1. Шартсыз көшу операторы
Паскаль тілінде негізінен операторлар рет ретімен орындалады. Олардың бұл орындалу тәртібін өзгерту үшін көшіру операторы орындалады. / оќылуы гоу ту/ жазылуы:
GO TO белгі
Бұл операторлар бойынша белгісі көрсетілген операторға көшіріледі. Белгі ретінде таңбасыз 1-9999 үшінші бүтін сан пайдаланылады. Ол бүтін сан операторлар алдына жазылып операторлардан ќос нүкте арќылы ажыратылады. Әдетте шартсыз көшіру операторы программаның кейбір бөліктерін орындамай өтіп кету үшін пайдаланылады. Мысалы:
GOTO 34
10: A:=2;
………….
3.4:
y:=x/z;
Мұнда Goto 34 операторынан соң 34 белгісі бар операторлар орындалады. Көшіру операторы ќарапайым операторлар ќатарына жатады.Белгі LABEL /белгі/ бөлігінде өрнектеледі. Жазудың түрі:
LABEL белгі:
2.2.2. Шартты операторлар
Тармаќталуы бар процестерді ұйымдастыру ұшін шартты операторлар ќолданылады. Тармаќталу белгілі бір шарттың орындалуы немесе орындалмауына тәуелді басќарылады. Бұл алгаритмдік тілдегі тармаќталу командасына сәйкес келеді.
Егер Шарт IF шарт THEN 1- серия
Онда 1- серия ELSE 2- серия
Әйтпесе 2- серия (оќылуы – иф, зен, элс) бітті.
Жалпы түрде бұл оператордың форматы:
IF шарт (логикалыќ өрнек) THEN 1—оператор
ELSE 2- оператор
Мұндағы 1 және 2 операторларының өзі ќарапайым немесе ќұрама операторлары болуы мүмкін.
Егер IF сөзінен кейінгі жазылған шарт саќталса / аќиќат болса / Онда THEN сөзінен кейінгі жазылған оператор сериясы орындалады, ал 2 серия операторы орындалмайды. Егер шарт саќталмаса, онда ELSE сөзінен кейін 2 серия командалары орындалады Жалпы түрде шартты
L1 * L2 түрінде ќарауға болады. Бір мезгілде бір емес бірнеше шартты яғни ќұрама шартты жазу үшін логикалыќ амалдарды пайдалануға болады. Кей жағдайларда шартты операторларды басќаша былай да жазуға да болады:
IF логикалыќ өрнек
THEN 1- оператор
ELSE 2- оператор
Егер жазылу операторы бір жолға сыймай ќалған жағдайда пайдаланылады. Шартты операторға ќұрама командасын пайдалануға да болады:
IF логикалыќ өрнек THEN
BEGIN
оператор
о;ператор;
....................
n – 1 оператор
n – оператор
END
ELSE
BEGIN
оператор
оператор;
.....................
n – 1 оператор
n – оператор
END
Таңдау операторы
Берілген өрнектің мәніне тәуелді бір немесе бірнеше оператор орындалатын жағдайда таңдау операторы пайдаланылады. Таңдау операторы алгоритмдік тілдегі таңдау командасына ұќсағаны мен бір өзгешелігі бар. Алгоритмдік тілде таңдау шарт бойынша орындалса, паскаль тілінде тұраќтылар бойынша іске асырылады.
Жазылу формасы /түрі/;
Таңдау
Жағдай 1- шарт: 1-серия
Жағдай 2- шарт: 2-серия
..........................................
Жағдай n- шарт: n-серия
Бітті
Case өрнек of
1 тұраќты: 1- оператор;
2-тұраќты: 2- оператор;
…………………………
n-тұраќты: n- оператор;
End
Таңдау операторы былай орындалады:өрнектің мәні берілген тұраќтының ќайсысына тең болса, оның сәйкес операторын орындайды да, басќару таңдау операторының соңындағы операторға беріледі. Егер өрнектің мәні тұраќтылардың еш ќайсысына тең болмаса да басќару таңдау операторынан соңғы операторға беріледі. ¤рнектің мәні және тұраќтылары әрќашан да бүтін сан болуы керек. Тұраќты типпен өрнек типі бірдей болуы керек. Мысалы:
Case k+1 of
5: y:= SQR (x);
11: y:= SQRT (x);
4: Z:=y*(A-B);
7: WRITE(A,B)
END
2.3. Қайталану операторлары.
2.3.1. Цикл әзір
Алдын ала берілген шарт бойынша қайталану.Алдын ала берілген шарт бойынша қайталанудың саны белгісіз болған жағдайда, пайдаланылады. Бұл оператор WHILE /оқылуы –уайл / -әзір және DO /оқылуы-ду /орындау қызмет сөздерінің көмегі арқылы орындалады да, алггоритмд