Паскал (забони барноманависӣ)

Мавод аз Википедиа — донишномаи озод
Ҷаҳиш ба: новбари, Ҷустуҷӯи

Паскал- яке аз забонҳои барномасозӣ мебошад.

МУЌАДДИМА Дар байни забонњои алгоритмии сатњи баланд ба мисли ФОРТРАН, АЛГОЛ-60, ПЛ/1 ва БЕЙСИК забони алгоритмии Паскал љои сазоворро ишѓол мекунад. Аз ин рў, дар замони њозира, ќариб барои њамаи моделњои МЭЊ транслятор аз ин забон мављуд аст. Дар баробари пайдошавии трансляторњои MS-PASСAL ва TURBO-PASCAL дар ибтидои солњои 80-ум, мавќеъи Паскал дар миќёси љањонї боз њам пурќувваттар гардид. Бесабаб нест, ки дар аксари кулли университетњо ва мактабњои олии љањон забони алгоритмии Паскал њамчун курси асосї ба донишљўён омўзонида мешавад. Версияи нахустини забон соли 1968 аз тарафи профессори кафедраи техникаи њисоббарори институти технологияи федералии Швейтсария Никлаус Вирт њамчун алтернатив ба забонњои ФОРТРАН ва АЛГОЛ-60 пешнињод шуда буд. Тараќќиёти пурављи забони Паскал сабаби дар соли 1973 пайдо гардидани Паскали стандартї гардид. Бояд ќайд намоем, ки барои поси хотираи математик ва файласуфи франсуз Блез Паскал ба ин забон номи ПАСКАЛ дода шуд. Китоби мазкур дар натиљаи аз љониби муаллифон солњои тўлонї хондани лексияњо ва бурдани корњои амалї-лабораторї дар шўъбаи математикаи амалии факултаи механикаю математикаи Донишгоњи Миллии Тољикистон арзи вуљуд кардааст. Дастур аз чор боб иборат мебошад. Дар боби аввал рўйхати символњои асосии забон мафњумњои асосї, структураи программа, операторњои асосии забон ва тарзи тасвири шаклњои содда оварда шудаанд. Боби дуюм ба тасвири шаклњои мураккаб (RECORD, ARRAY, SET) бахшида шудааст. Дар боби сеюм бошад, протседурањо, функсияњо ва тарзи мурољиат ба онњо муњокима шудааст. Дар мисолњои мушаххас вобастагї ва муносибати параметрњои формалию аслї нишон дода мешавад. Дар боби чорум бошад, барои иљро намудани корњоиамалї-лабораторї мисолу масъалањои гуногунмазмуни фаровон, аслан аз курси математикаи олї пешкаш карда шудааст. Алгоритми њалли баъзе аз ин мисолу масъалањо муњокима карда шудаанд. Ба аќидаи мо мисолу масъалањои ин боб барои ѓанї гардонидани дониши компютерї ва математикии донишљўён кўмаки калон хоњад расонд. Дар хотимаи китоб якчанд фармонњое оварда шудаанд, ки тавассути онњо байни компютер ва программасоз «диалог» барќарор кардан муяссар мегардад. Солњои пешин адабиётњо бо забони русї фаровон буданд ва студентоназ онњо пурсамар истифода мебурданд. Дар чанд соли охир миќдори чунин адабиётњо коњиш ёфтааст ва дастрас кардани онњо корест басо душвор. Ба аќидаи мо, дастраси хонандагони арљманд гардидани китоби мазкур ба њалли ин проблема то андозае кўмак мерасонад. Дар муњокимаи бандњои алоњида, дотсенти кафедраи моделсозї ва информатика Ќуртаков Ќ.Ш., муаллими калони кафедраи механика ва методњои њисоббарорї номзади илмњои физикаю математика Олимшоев Р. иштирок намуда, маслињатњои пурарзиш доданд. Аз ин рў, муаллифон ба онњо изњори миннатдорї баён мекунанд.


БОБИ I. ЗАБОНИ АЛГОРИТМИИ ПАСКАЛ 1.1. АЛИФБОИ АСОСИИ ЗАБОНИ ПАСКАЛ Дар забони алгоритмии (алгорифмии) Паскал маљмўи њарфњо, ададњо ва символњои зерин истифода карда мешавад:  њарфњои лотинї аз A то Z  раќамњои арабї 0, 1, 2, 3, 4, 5, 6, 7, 8, 9  аломатњои китобат . , :  ; ..  аломатњои амалњои арифметикї + – * /  аломатњои амалњои мантиќї > < = >= <= <>  символњои махсус ( ) { } [ ] ' := (* *)

1.2. МАЪЛУМОТЊО Вобаста ба тарзи нигоњдории маълумотњо дар хотираи МЭЊ, онњоро ба ду гурўњ људо кардан мумкин аст: доимињо ва таѓйирёбандањо. Маълумотњои доимї гуфта, маълумотњоеро меноманд, ки њангоми кори программа ќимати онњо таѓйир намеёбад. Ќимати маълумотњои таѓйирёбанда њангоми кори программа таѓйир меёбанд. Дар забони Паскал доимињо намуди ададї, мантиќї, ва символї истифода бурда мешаванд. ДОИМИЊО. Доимињои ададї бутун ва њаќиќї мешаванд. 1) Доимињои бутун (INTEGER). Доимии бутун гуфта, пайдарпаи раќамњоро меноманд. Пеш аз доимии бутун аломати (-) гузошта мешавад (агар доимии бутун манфї бошад). Мисол: 143, -745, 62712. Доимињои бутун дар Паскал шарти зеринро бояд ќаноат кунонанд. |М|<231-1=2•109(барои МЭЊ Системаи Ягона). 2) Доимињои њаќиќї (REAL). Дар забони паскал ду тарзи навишти ададњои њаќиќї мављуд аст. Якум, дар намуди касри дањї (ба љои вергул нуќта гузошта мешавад). Дуюм, намуди дараљагї. Мисол: 17.54,-3.42,22.156,3.0,-5.0 0.15Е-10 (0.15•10-10),-14.5Е7 (-14.5•107) Доимии њаќиќї дар Паскал дар фосилаи (10-78; 10+78) таѓйир меёбад (барои МЭЊ Системаи Ягона), яъне 10-78 10+78

(х=10-78 чун нули мошинї ќабул карда мешавад).

3) Доимињои мантиќї (BOOLEAN). Ду доимии мантиќии TRUE (дуруст) ва FALSE (нодуруст) мављуд аст. 4) Доимињои символї (CHAR). Символи аз њарду тараф бо апостроф гирифташуда доимии символї номида мешавад. Мисолњо:`B`, `5`, `+`, `C`. 5) Доимињои сатрї. Пайдарпаии символњое, ки аз њар ду тараф бо апостроф гирифта шудаанд, доимињои сатрї (ё сатрњои символї) номида мешаванд. Миќдори символњо аз 256 зиёд нест. Мисолњо: `DUSHANBE`, `AKRAM`, `125+74`. 6) Доимињои шакли ALFA. Сатри символии дарозии як калимаи мошинї доштаро доимии шакли ALFA меноманд.

Мисолњо барои МЭЊ Системаи Ягона:

`DUSHANBE`, `MAN`, `15+B-C7L`.

1.3. ИДЕНТИФИКАТОРЊО 

Пайдарпаии њарфњою раќамњое, ки бо њарф сар мешавад ва миќдори символњо аз њашт зиёд нест идетификатор номида мешавад. Мисолњо: X, X1, F5, COR, LAB, DUST, DUST52. Идентификаторњо барои номгузории объектњои гуногун хизмат мекунанд. Масалан, дар геометрия масоњату њаљмро мувофиќан тавассути идентификаторњои S ва V, дар физика фишор ва ваќтро мувофиќан бо идентификаторњои P ва T ишора мекунанд. Њамин тариќ, идентификатор барои ишора намудани бузургии таѓйирёбанда хизмат мекунад.

1.4 ШАКЛИ ТАЃИРЁБАНДАЊО Њар як таѓирёбандае, ки дар программа истифода бурда мешавад, бояд тасвир бояд тасвир карда шавад. Дар забони Паскал якчанд шакли таѓирёбандањо мављуд аст. Як ќисми тасвири шаклњоро њоло ва ќисми дигарашро дар бандњои охир дида мебароем.

1.5 ШАКЛЊОИ СКОЛЯРЇ. 1) Шакли бутун (INTEGER). Таѓирёбандањои шакли INTEGER њангоми иљрошавии программа фаќат ќимати бутун ќабул мекунанд. Чунин таѓирёбандањо дар фасли VAR (таѓирёбанда) тасвир карда мешаванд. Масалан, агар дар программа таѓирёбандањои X,Y,A1 ва F дорои шакли бутун бошанд, дар фасли VAR ичунин тасвир карда мешаванд: VARX, Y, A1, F: INTEGER; 2) Шакли њаќиќї (REAL). Таѓирёбандањои шакли њаќиќї (REAL) њангоми иљрошавии программа ќиматњои њаќиќї ќабул мекунанд ва дар фасли VAR-и программа тавассути оператори REAL тасвиро карда мешаванд. VARX, B, Z, L: REAL Баъди чунин тасвир дар хотираи мошин барои таѓирёбандањои шакли њаќиќии X, B, Z ва L љой људо карда мешавад ва њинни иљрошавии программа ин таѓирёбандањо ќимати њаќиќї ќабул мекунад. 3) Таѓирёбандањои шакли мантиќї (BOOLEAN). Таѓирёбандањои шакли мантиќї њангоми иљрошавии программа яке аз ќиматњои мантиќии TRUE ё FALSE (TRUE (дуруст), FALSE (нодуруст))-ро ќабул менамоянд. Дар фасли VAR-и программа таѓирёбандањои ин шакл чунин тасвир карда мешаванд: VAR L1, L2,M, F, Z: BOOLEAN; 4) Таѓирёбандањои шакли символї (CHAR). Ќимати таѓирёбандањои шакли символї яке аз символњои имконпазир мебошанд ва дар фасли VAR тавассути оператори CHAR тасвир карда мешаванд. Масалан: Y1, Y2, Y3, A, B, BAL, KOR: CHAR; Ба њар як символи љадвали символњои барои транслятор дастрас раќами мувофиќ гузошта мешавад. Барои муайян намудани раќами символ ва баракс аз рўи раќами додашуда ёфтани символи мувофиќ, функсияњои ORD (C) ваCHR (I) мављуданд. Масалан: ќимати ORD (C) адади бутун, яъне раќами символии C ва ќимати CHR(I) символест, ки дорои раќами 1 мебошад. 5) Таѓирёбандањои шакли ALFA. Ќимати таѓирёбандањои ин шакл маълумотњои маълумотњои символие мебошанд, ки калимаи мошиниро ташкил медињанд. Ба таѓирёбандањои ин шакл амалњои нисбатро тадбиќ кардан мумкин аст. Аломати амалњои нисбат: = (баробар), <> (нобаробар), < (хурд), >(калон), <= (хурд ё баробар), >= (калон ё баробар). Бояд ќайд бикунем, ки ба њамаи таѓирёбандањои шакли сколярї амалњои нисбатро тадбиќ кардан мумкин аст. 6) Таѓирёбандањои шакли сатрї (STRING). Ќимати таѓирёбандањои ин шакл доимињои сатрї мебошанд. Таѓирёбандањои ин шакл дар программа тавассути оператори STRING тасвир карда мешванд. Дар њолати умумї ин оператори тасвир намуди зерин дорад: STRING [M]. Дар навишт STRING калимаи асосии забон буда, M –шумораи зиёдтарини элементњои сатри додашуда мебошад. Ќайд мекунем, ки ќимати M аз 255 зиёд нест. 7) Шакли номбаркунї (ѓайристандартї). Намуди умумии тасвири шаклњои ѓайристандартї: TYPE NOM = (WORD1, WORD2, …, WORDN); NOM - идентификатори шакл(идентификатори дилхоњ),WORD1, WORD2, …, WORDN-ќиматњои мушаххасе, ки таѓирёбандаи шаклиNOM метавонад ќабул намояд. Ин ќиматњо ба тартиби зайл WORD1<WORD2<…<WORDN љойгирифта њисоб меёбанд.

1.6. ИФОДАЊО 1) Функсияњоистандартї. Рўйхати функсияњои стандартї дар зер оварда мешаванд.

Навишти математикї Навишт дар Паскал sinx SIN(X) Cosx COS(X) Inx (x>0) LN(X) Ex EXP(X)

SQRT(X)

ABS(X) X2 SQR(X) arctg x ARCTG(X)

X-ифодаи арифметикї. Барои њисоб намуданиќиматњоифунксияњои arcsin x, arcos x, arcctg x функсияи стандартии ARCTN(x) истифода бурда мешавад. Ин вобастагињо чунинанд:

 ;
         ;
.

Барои њисоб намудани бузургии формулаи зеринро истифода бурдан мумкин аст: xn=en lnx. 2) Амалњои арифметикї. + (љамъ), -(тарњ), *(зарб), /(таќсим), DIV(ќисми бутуни њосили таќсим), MOD (баќия аз таќсим). 3) Амалњои мантиќї. Дар забони Паскал амалњои мантиќии ФТВ (зарби мантиќї), OR (љамъи мантикќї) ва NOT (инкор) истифода карда мешаванд. Оиди амалњои нисбат дар боло Сухан ронда будем. 4) Ифодањои арифметикї. Ифодањои арифметикї аз ададњо, таѓирёбандањо, функсияњои арифметикї, тавассути ќавсњо ва аломати амалњои арифметикї сохта мешаванд. 5) Ифодњои мантиќї (Булї). Ифодањои мантиќї низ, аз ќиматњои мантиќї,таѓирёбандањои мантиќї, нисбатњо тавассути ќавсњо ва аломатњои амалњои мантиќї сохта мешаванд.

1.7. СОХТИ ПАСКАЛ-ПРОГРАММА Программа дар забони Паскал аз ду ќисм (бахш) иборат аст: сарлавњаи программа ва блоки программа. Сарлавњаи программа намуди зерин дорад: PROGRAM HOM (INPUT, OUTPUT, X, Y, …); PROGRAM-калимаи асосии забон буда, маънояш программа мебошад, HOM-номи программа мебошад. Ба сифати HOM дилхоњ идентификаторро ќабул кардан мумкин аст (ѓайр аз идентификаторњои стандартї); INPUT ва OUTPUT –файлњоимувофиќан дохилкунї ва хориљкунї мебошанд; X, Y, … - файлњои берунае, ки дар программа истифода карда мешаванд. Агар дар программа фаќат файлњои дохилкунию хориљкунї истифода шаванд, онгоњ сарлавњаи программа чунин навишта мешавад: PROGRAM HOM (INPUT, OUTPUT); агар, фаќат файли дохилкунї истифода карда шавад, онгоњ: PROGRAM HOM (INPUT); Блок. Блоки программа нисбатан конструксияи мураккаб буда, аз шаш фасл иборат мебошад: 1) Фасли нишонањо (LABEL), 2) Фасли доимињо (CONST), 3) Фасли шаклњо (TYPE), 4) Фасли таѓирёбандањо (VAR), 5) Фасли протседурањо ва функсияњо, 6) Фасли амалиёт (операторњо). Вобаста ба мураккабии программа, навиштани њамаи фаслњои блок њатмї намебошад. Њар яке аз ин фаслњоро шарњ медињем. 1) Фасли нишонањо (LABEL). Дар программа нишонањо барои ба ќайд гирифтани операторњои иљрошаванда истифода бурда мешаванд. Дар забони Паскалба сифати нишонањо бутунњои бе аломате, ки миќдори раќамњояшон аз чор зиёд нест, ќабул карда мешаванд. Нишона пеш аз оператор навишта мешавад ва баъди он символи : гузошта мешавад. 2) Фасли доимињо (CONST). Бисёр бузургињое мављуданд, ки дорои ќиматњои доимї мебошанд ва дар программа истифода бурда меша-ванд. 3) Фасли шаклњо (TYPE). Агар дар программа шаклњои ѓайри стандартї дохил карда шаванд, чунин шаклњо дар фасли TYPE тасвир карда меша-ванд. Намуди умумии ин фасл чунин аст:

TYPE T1=< намуди шакл >; T2=<намуди шакл>;…

Дар ин конструксия TYPE калимаи асосии забон буда маънояш шакл мебошад; T1 ва T2 идентификатори шаклњо мебошанд. 4) Фасли таѓирёбандањо (VAR). Дар ин фасл таѓирёбандањое, ки дар программа истифода бурда мешаванд, бояд тасвир карда шаванд. Дар намуди умумї ин фасл чунин аст: VAR V1, V2, …: T1; C1, C2,…: T2;… Дар навишт маънои VAR таѓирёбанда буда, T1 ва T2 мувофиќан шаклњои таѓирёбандањои V1, V2,… ва C1, C2,… мебошанд. 5) Фасли протседурањо ва функсияњо. Агар дар программа протседурањо ё протседура-функсияњо истифода бурда шаванд, онњо дар њамин фасл, яъне фасли панљум тасвир карда мешаванд. Баъди омўхтани протседурањо ва сохтани программањои мушаххас, боз ба шарњи иловагии ин фасл бармегардад. 6) Фасли операторњо. Дар намуди умумї ин фасл шакли зерин дорад: BEGIN S1; S2;…; SK END. Дар инљо BEGIN ва END ќавсњои оператории кушоянда ва пўшанда мебо-шанд BEGIN-аввал; END-охир); S1, S2,…, SK-операторњои иљроша-вандаи забон мебошанд.

1.8 ОПЕРАТОРЊО (ОПЕРАТОРЊОИ ИЉРОШАВАНДА) 1) Оператори бахшанда. Оператори бахшанда яке аз оператоњои асосии забон буда, барои њисобкунии ифодањо хизмат мекнад. Оператори бахшан-да намуди зерин доард: V:=A; Дар ин навишт V-таѓирёбанда буда, A-ифода мебошад (:=аломати бахшидан). Дар намуди умумї тарзи иљрошавии ин оператор чунин аст: дар навбати аввал ифодаи A њисоб карда мешавад. Њангоми навишти ин оператор бояд якхелагии шаклњои тарафњои чап ва рост риоя карда шавад, вагарна хатоии даѓал содир карда мешавад. 2) Оператори дохилкунї. Њар як забони алгорифмї дорои операторњои дохилкунї ва хориљкунї мебошанд. Тавассути оператори дохилкунї маълумотњои додашудаи масъала ба хотираи мошин дохил карда мешаванд. Намуди умумии ин оператор чунин аст: READ (V1, V2,…, VN); Дар ин конструксия READ калимаи асосии забон буда, маънои дохил кунед-ро дорад; V1, V2,…, VN-таѓирёбандањои яке аз шаклњо; INTEGER, CHAR, REAL (ё намуди умумикардашудаи онњо). Њангоми иљрошавии ин оператор дар хотираи мошин ќиматњои V1, V2,…, VN навишта меша-ванд. 3) Оператори хориљкунии маълумотњо (ќиматњо). Намуди умумии ин оператор чунин аст: WRITELN (P1, P2,…, PN); WRITELN-номи протседураи хориљкунї ва P1, P2,…, PN-рўйхати бузургињое, ки ќиматњои онњо бояд ба чоп дода шаванд. Ба сифати P1, P2,…, PN таѓирёбандањо, ифодањо ва матнњоро ќабул кардан мумкин аст. Дар ин оператор формати чопро транслятор муайян мекунад. 4) Оператори гузариш. Намуди умумии ин оператор чунин аст: GOTO N; GOTO- калимаи асосии забон буда, маънояш «гузашта шават ба» мебо-шад; N-нишона буда, дар фасли LABEL љой дода мешавад. Тавассути ин оператор идоракунї ба операторе дода мешавад, ки дорои нишонаи N аст. 5) Оператори таркибї. Дар бисёр мавридњо ба мо зарур меояд, ки гурўњи операторњоро якљоя намуда, мантиќан як оператор нишон дињем. Барои иљрои ин вазифа оператори таркибї хизмат мекунад. Намуди оператори таркибї чунин аст: BEGIN S1, S2,…; SN END; S1, S2,…, SN-операторњо мебошанд. 6) Оператори шартї. Оператори шартї њангоми санљидани ин ё он шарт ва њисоб намудани ифодањои шарт васеъ истифода бурда мешавад. Ду намуди навишти ин оператор мављуд аст: оператори шартии «пурра» ва оператори шартии «кўтоњкардашуда». Оператори шартии пурра чунин аст: IF B THEN S1 ELSE S2; Дар ин љо IF, THEN ва ELSE-калимањои асосии забон буда, мувофиќан дорои маъноњои (IF-агар), (THEN-онгоњ) ва (ELSE- вагарна) мебошанд. B-ифодаи мантиќї ва S1, S2-операторњо мебошанд. Тарзи иљрошавии ин оператор чунин аст: дар аввал ифодаи мантиќии B њисоб карда мешавад; агар ќимати B TRUE бошад, оператори S1 иљро карда мешавад. Оператори шартии «кўтоњкардашуда» намуди зерин дорад: IF B THEN S; Дар ин љо B-ифодаи мантиќї ва S-оператор мебошанд. Тарзи иљрошавии ин оператор чунин аст: дар аввал B њисоб карда мешавад, агар ќимати он TRUE бошад, онгоњ оператори S иљро карда мешавад. Агар B ќимати FALSE ќабул намояд, онгоњ ин оператор ягон амалро иљро накарда, идоракунї ба оператори навбатї дода мешавад. Боз як намуди дигари ин оператор мављуд аст, ки онро оператори интихоб низ мегўянд. Бояд ќайд кунем, ки ин оператор њаммаънои таѓирдињандањои (переключатель, селектор) Алгол-60 мебошад. Намуди умумии ин оператор чунин аст: CASE N OF M1,…, MN: S1; K1, …, KL: S2; …………….. END; Дар ин навишт CASE ва OF калимањои асосии забон буда, мувофиќан маъноњои «дар њолати» ва «аз» - ро доранд; M1, …, MN, K1, K2,…, KL, …-нишонањо буда, S1, S2,…-операторњо мебошанд. N-таѓирдињанда (селектор) номида мешавад. Нишонањои оператори CASE аз нишонањои LABEL фарќ мекунанд, яъне дар фасли LABELнавишта намешаванд. Ин маънои онро дорад, ки твассути оператори гузариш ба ин нишонањо гузаштан мумкин нест. Ќимати таѓирёбандаи N яке аз нишонањои оператори CASE мебошад. Тарзи иљрошавии ин оператор чунин аст: агар N яке аз ќиматххои M1, M2, … MN-ро ќабул кунад, онгоњ оператори S1 иљро мегардад ва пас навбат ба оператори баъди END омада дода мешавад; агар N яке аз ќиматњои K1, K2,…, KL- ро ќабул кунад, онгоњ оператори S2 иљро мегардад ва пас идоракунї ба оператори баъди END омада дода мешавад ва њоказо. 7) Операторњои сикл. Чї тавре медонем њангоми њалли бисёр масъалањо бо алгорифмњое дучор моем, ки гурўњи амалњо чунин карат такрор меёбанд, яъне табиати сиклї доранд. Аз ин рў дар њамаи забонњои алгорифмї оператори сикл мављуд аст. Дар забони паскал се намуди оператори сикл мављуд аст. а) Сикли намудани WHILE (то даме ки). Намуди умумии ин оператор чунин аст: WHILE B DO S; Дар ин конструксия WHILE ва DO калимањои асосии забон буда, мувофиќан маънои «то даме ки» ва «иљро кунед»-ро доранд; B- ифодаи мантиќї ва S –оператор мебошанд. Тарзи иљрошавии ин оператор чунин аст: дар аввал ифодаи мантиќии B њисоб карда мешавад, агар ин ќимат TRUE бошад, онгоњ оператори S иљро карда мешавад. Ва ин кор то ќимати FALSE ќабул намудани ифодаи B давом мекунад. Њангоми ќимати FALSE ќабул намудани B кори ин оператор хотима меёбад ва идоракунї ба оператори навбатї дода мешавад. б) Сикли намуди REPEAT. Намуди ин оператор чунин аст: REPEAT ГО UNTIL B; Дар ин навишт ГО-гурўњу операторњо ва B –ифодаи мантиќї мебошанд; REPEAT ва UNTIL калимањои асосии забон буда, мувофиќан маъноњои «такрор кунед» ва «то» -ро доранд. Тарзи иљрошавии ин оператор чунин аст: то ваќти дуруст ќабул намуди ифодаи B гурўњи операторњоро иљро карда мешаванд. Њангоми ќимати дуруст (TRUE) ќабул намудани B кори оператор хотима меёбад ва навбат ба оператори оянда дода мешавад. в) Сикли намуди FOR (барои). Намуди ин оператор чунин аст: FOR I:= A1 TO A2 DO S; Дар ин конструксия FOR, TO ва DO калимањои асосии забон буда, мувофиќан маъноњои «барои», «то» ва «иљро кунед»-ро доранд; A1, A2 ифодањо буда (ё шакли INTEGER шакли CHAR), S –оператор мебошад. Таѓирёбандаи I (ё шакли бутун ё символї) параметри сикл намида мешавад. Агар A1, A2 ададњои бутун ва I таѓирёбандаи шакли INTEGER бошад, онгоњ ќадам доимо 1 ќабул карда мешавад. Дар ин њолат, барои њамаи ќиматњои I=A1 то A2 бо ќадами 1 оператори S иљро карда мешавад. Агар A1, A2 доимињои шакли символї бошанд, онгоњ I бо таѓирёбандаи шакли символї бошад. Эзоњ. Дар њолати камшавии ќиматњои параметри сикл ин оператор чунин навишта мешавад: FOR I :=A2 DOWNTO A1 DO S; Дар ин навишт DOWNTO калимаи асосии забон буда, маънои «ба поён ба» -ро дорад. Дар ин њолат, њангоми адањои бутун будани A1, A2(A1 A2) ќадам -1 ќабул карда мешавад. 8) Оператори холї. Њангоми њалли бисёр масъалањо, вобаста ба иљрошавии ин ё он шарт, ба мо зарурат пайдо мешавад, ки дар як њолат њисобкуниро давом дињем ва дар дигар њолат њисобкуниро ќатъ намоем. Дар чунин мавридњо зарурати истифодаи оператори холї ба миён меояд. Оператори холї намуди зерин дорад: M: M – нишона. Ин оператор мувофиќи вазифаи худ, пеш аз калимањои асосии END ё END. навишта мешавад. Масалан, 20: END. ё 90: END Ба ин нишонањо, тавассути оператори GOTO гузашта мешавад. Аз конструксияи ин оператор бармеояд, ки оператори холї ягон амалро иљро намекунад. 1) Баъзе иловањо оиди протседураи хориљкунї. Чи тавре дар боло ќайд карда будем, протседураи хориљкунї намуди WRITELN (P1, P2, …, PN); дорад. Тавассути ин оператор ќиматњои P1, P2, …, PN дар файли OUTPUT навишта шуда, пас ба чоп дода мешаванд. Боз намуди WRITE (P1, P2,…, PN); низ истифода карда мешавад. Тавассути ин оператор ќиматњои P1, P2, …, PN фаќат дар файли OUTPUT навишта мешаванд. Мо ќайд карда будем, ки формати чопро транслятор муайян мекунад. Вобаста ба синфи МЭЊ формати чоп гуногун мебошад. Масалан, формати чоп барои МЭЊ Системаи Ягона чуни наст:

Шакл CHAR ALFA BOOLEAN INTEGER REEL M K Дарозии майдон 1 8 5 12 24 16

M-дарозии майдони умумї барои адад; K-дарозии майдон барои ќисми касрии адад.

БОБИ II. ШАКЛЊОИ МУРАККАБ Дар забони паскал массивњо, маљмўъњо, навиштњо ва файлњо ба шаклњои мураккаб дохил мешаванд.

2.1. МАССИВЊО Дар зери мафњуми массив гурўњи охирноки маълумоњои якхела (њамшакл) фањмида мешавад. Масалан, массиви ададњои бутун ё массиви хонањо дар хиёбони Рўдакї. Њар як элементи (онсори) массив тавассути номи массив ва индекс ишора карда мешавад. Вобаста ба миќдори индексњои индексњои элементњо, массивро якченака, дученака, сечанака ва ѓайра меноманд. Массивњо дар математика ва забонњои алгорифмї васеъ истифода карда мешаванд. Масалан, координатањои векторро массиви якченака, элементњои матрисаро массиви дученака номидан мумкин аст. Массивњоро ё дар фасли VAR ё дар фаслњои TYPE ва VAR тасвир мекунанд. Тасвири массивњо дар фасли VAR. Дар ин фасл массив чунин тасвир карда мешавад: A: ARRAY [TYPE1, TYPE2,…,TYPEN] OF TYPE C; Дар ин љо A –номи массив, ARRAY ва OF калимањои асосии забон буда, мувоќан маъноњои (массив) ва (аз)-ро доранд. TYPE C – шакли элементњои массивро тасвир мекунад ва шакли асосї (базавї) номида мешавад. TYPE1, TYPE2,…, TYPEN- шакли индексњои массивро муайян мекунанд. Чи тавр мебинем, массиви N-ченаки A тасвир ёфтааст. Дар программа конструксияи дар боло оварда шуда баъди калимаи VAR љой дода мешавад. Тасвири массивњо дар фаслњои TYPE ва VAR.Чи тавре ќайд кардем, массивњоро дар фаслњои TYPE ва VAR низ тасвир мекунанд. Намуди умумї: TYPE NOM= ARRAY [TYPE1, TYPE2,…,TYPEN] OF TYPE C; VAR A: NOM; Дар ин љо NOM-номи шакл (идентификатори дилхоњ). Эзоњ. Агар якчанд массив дорои индексњои шакли якхела ва шакли базавии якхела бошанд, онгоњ дар фасли VAR онњоро дар як рўйхат њамроњ мекунанд. Бигузор массивњои A,B,C,X дорои индексњои шакли якхела шакли базавии якхела мебошанд. Онгоњ дар фасли VAR: VAR A,B,C,X: ARRAY [TYPE1,…,TYPE N] TYPE C; Дар фаслњои TYPE ва VAR: TYPE T= ARRAY [TYPE1, TYPE2,…,TYPEN] OF TYPE C; VAR A,B,C,X: T;

2.2. МАЉМЎЪЊО (SET) Дар забони Паскал бо маљмўъњои охирноки A ва B шаклњои зеринро иљро кардан мумкин аст: 1) Љамъ, зарб ва аз як маљмўъ тарњ кардани маљмўъи дигар.

Навишти муќарарї Навишт дар Паскал AB A+B Ab A*B A\B A-B

2) Ба њам муќоиса намудан. A=B, A< >B, A>=B, (B<=A). Тавассути амалњои= ва < > муодилаи (баробар ё нобаробар будан) A ва B санљида мешавад. Тавассути амалњои>=, ё<= шарти ба A тааллуќ доштани B (ё A ва B) санљида мешавад. Натиљаи амалњои=, < >, >=, <= ё TRUE ё FALSE мебошад. Њангоми истифодаи маљмўъњо онњоро дар программа бояд тасвир кард. Маљмўъњоро ё дар VAR ё дар фасли TYPE ва VAR тасвир мекунанд. Тасвири маљмўъ дар фасли VAR намуди зерин дорад: VAR NM: SET OF TYPE C; Дар ин љо NM-номи маљмўъ; TYPE C-шакли базавї, яъне шакли элементњои маљмўъ. Тасвири маљмўъ дар фаслњои TYPE ва VAR чунин намуд дорад:

TYPE NS= SET OF TYPE C;

VAR NM: NS; Дар ин љо NS-номи шакл. Масалан, дар навишти VAR SOL: SET OF 1920..1950; A: SET OF CHAR; Ду маљмўъ SOL: ва A-тасвир ётаанд. Маљмўъи A-маљмўъи символї тасвир ёфтааст, яъне элементњои он символњо мебошанд. Маљмўъи SOL њамчун бутун тасвир ёфтаст ва метавонад дилхоњ зермаљмўъи маљмўи [1920, 1921,…,1950]-ро ќабул намояд. Якчанд имкониятњои тасвирро дида мебароем: дар тасвири TYPE NM= SET OF 3..9; VAR X, Y, Z, T: NM; ќиматњои имконпазири таѓирёбандањои X,Y, Z, T зермаљмўъњои маљмўъи [3, 4, 5, 6, 7, 8, 9] мебошанд (маљмўъи холї њам). Баъди чунин тасвир мо навишта метавонем: X:=[4,5]; Z:=[5, 6, 3, 2]; Y:=[5, 7, 9]; T:=[3, 9, 7]; X:= Y+3; X:=Y*Z; T:=X-Y; ва ѓайра. 3) Њангоми тасвири маљмўъњо элементњои маљмўъро ба таври зерин низ нишон додан мумкин аст: TYPE N=(1, 3, 5, 7, 9, 11); VAR K: SET OF N; ё TYPE= (L1, L2,…, LK); VAR X, Y: SET OF P; Баъди чунин тасвирњо мо метавонем нависем: K:=[3, 5]; K:=[3, 7, 11, 5]; X:= [L1, L2]; Y:=[L5, L6, L9]; (K 11). Масалан , навиштиK:=[9,7,12]; ѓалат аст, элементи 12 ба маљмўъи [1, 3, 5,7, 9, 11] шомил нест.

2.3. АМАЛИ IN Намуди умумї чунин аст: X IN A; Дар ин љо A –бузургии шакли SET яъне маљмўъ; X-бузургии шакли базавї, яъне элементи маљмўъ. Тавассути ин амал ба бузургии шакли SET шомил будан ё набудани бузургии шакли базавї санљида мешавад. Њангоми X C ќимати (X IN C) –TRUE ва њангоми X C ќимати (X IN C)- FALSE мебошад. Дар њолатњои алоњида ќимати X IN A метаваонад номуайян бошад. Масалан, њангоми тасвири VAR A: SET OF 1..50; X: INTEGER; баъди оператори X:=70; ќимати (X IN A) метавонад муайян бошад.

2.4. НАВИШТЊО (RECORD) Дар забони Паскал навишт гуфта, љамъи охирноки майдонњоро меноманд. Њар майдон дорои ном (идентификатори дилхоњ) ва шакл мебошад. Майдонњои гуногун метавонанд шаклњои гуногун дошта бошанд. Номњои майдонњо ва шаклњои онњо њангоми тасвири навишт нишон дода мешаванд. Тасвири навишт дар фасли VAR намуди зерин дорад: VAR HOM: RECORD L1: r1; L2: r2,…, LK: rK END; Дар ин љо RECORD (навишт) ва END (охир) калимањои асосии забон буда, хизмати ќавсњои оператории кушояндаю пўшандаро иљро мекунанд. L1, L2,…, LK-номи майдонњо ва r1, r2, …, rK- шаклњои мувофиќи ин майдонњо бошанд. L1, L2, …, LK метавонанд дар навбати худ рўйхати майдонњо бошанд. HOM-номи навишт мебошад. Шакли навишт дар фасли TYPE дар њолати умумї ин тавр навишта мешавад: TYPE T= RECORD ID 11, ID 12,…, ID 1 N: TYPE1;

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

ID N1, ID N2, …, ID NM: TYPE N END; Дар ин љо ID K-идентификатори (номи) майдонњо, TYPE T-шакли майдонњоо ва T-номи шакл мебошанд. Шаклњои майдон барои шакли T асосї (базавї) номида мешаванд.

2.5 ОПЕРАТОРИ WITH ¬(ЊАМРОЊКУНЇ) Намуди ин оператор чунин аст: WITH A DO S; Дар ин љо A-номи таѓирёбандаи шакли RECORD, S-оператор. Њангоми дар оператори S бо унсурњои A кор кардан, номи A-ро навиштан шарт нест. Масалан: WITH OILA [PAD] DO BEGIN HOM:=7; RUS:=15; SOL:=1949 END.

БОБИ III. ПРОТСЕДУРАЊО ВА ФУНКСИЯЊО Дар њамаи забонњои алгоритмии сатњи баланд ва љумла дар забони алгоритмии Паскал низ протседурањо ва функсияњо васеъ истифода бурда мешаванд. Тавре, ки мо медонем, њангоми њалли масъалањои калонњаљм, дар бисёр мавридњо ба мо лозим меояд, ки чандин борњоро њисобу китобро аз рўи як алгоритм анљом дињем. Дар чунин мавридњо ба мо имконият дода мешавад, ки алгоритмро як бор тасвир намуда, дилхоњ бор ба он мурољиат намоем. Бояд ќайд намоем, ки тарзи тасвири протседурањо ва функсияњои Паскал ба тарзи тасвири подпрограммањо (SUBROUTINE) функсияњои (FUNCTION) забони FORTRAN наздик мебошад. Дар забони Паскал протседурањо ва функсияњо дар фасли панљуми программаи асосї тасвир карда мешаванд.

3.1. ПРОТСЕДУРАЊО Протседура аз ду ќисм: сарлавњаи протседура ва тани протседура (блок) иборат мебошад. Сарлавњаи протседура намуди зерин дорад: PROTCEDURE NP (<парметрњои формалї>); PROTCEDURE – калимаи асосии забон буда, маънои зерпрограммаро дорад. NP-номи протседура (идентификатори дилхоњ). Бояд ќайд намоем, ки параметрњои формалї дорои шакл мебошанд. Дар њолати умумї Тани протседура аз фаслњои LABEL, CONST, TYPE, VAR протседурањо ва аз функсияњо, инчунин фасли операторњо иборат мебошад (агар зарурият мављуд бошад). Инак протседура намуди зерин (дар њолати умумї) дорад: PROTSEDURE NP (<параметрњои формалї>); LAREL; CONST; TYPE; VAR; Протседурањо ва функсияњо

BEGIN




END; Њангоми набудани зарурият, ѓайр аз сарлавњаи протседура ва фасли операторњо, дигар фаслњоро нанавиштан мумкин аст.

3.2. ОПЕРАТОРИ ПРОТСЕДУРА Ба протседура тавассути оператори протседура мурољиат карда мешавад, ки намуди он чунин аст: NP(<параметрњои аслї>); Бояд миќдор ва шакли параметрњои формалию аслї ба њам мувофиќ оянд. Дар ин маврид, параметрњои формалї ба параметрњои аслї иваз карда мешаванд ва протседура њамчун программаи воќеъї иљро карда мешавад.

3.3. ПАРАМЕТР-ТАЃИРЁБАНДА Њоло њолатеро пеши назар меорем, ки гурўњи параметрњои формалиро таѓирёбандањо ташкил медињанд. Агар пеш аз як ќисми параметрњои формалї калимаи асосии VAR омада бошад, онгоњ чунин параметрњоро параметри таѓирёбанда меноманд.

3.4. ПАРАМЕТР-ЌИМАТ Он таѓирёбандањое, ки ба сифати параметри формалї омадаанд ва дар рўйхатиVAR вуљуд надоранд, параметр-ќимат номида мешаванд. Њангоми мурољиат ба протседура ин параметрњо ба ќимати параметрњои аслии ба худ мвофиќ иваз карда мешаванд.

3.5. ФУНКСИЯ Функсия нисабат ба протседура конструксияи содда мебошад. Алгоритме, ки дар он фаќат як ќимат њисоб карда мешавад, чун ќоида ба намуди функсия тасвир карда мешавад. Функсия њам ба мисли протседура аз сарлавња ва блок иборат мебошад. Сарлавњаи функсия дар намуди умумї чунин аст: FUNCTION NF (P1: T1;…; PK: TK): TYPE; P1, P2,…, PK- параметрњои формалї; T1, T2,…, TK-шаклњои параметрњои формалї; NF-номи функси (идентификатори дилхоњ); TYPE-шакли функсия (шакли натиља). Ба функсия чун функсияњои стандартї аз дилхоњ ифода мурољиат кардан мумкин аст. Барои ин кифоя аст, киноми он ва параметрњои аслиро нишон дињем.

ZIYO 2012