Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекцый для 1 курса-1 семестр.doc
Скачиваний:
3
Добавлен:
09.11.2019
Размер:
2.95 Mб
Скачать

Сродкі алгарытмічнай мовы Pascal Агульная характарыстыка алгарытмічных моў

Асноўная мэта, якая ставіцца пры распрацоўцы алгарытмічнай мо­вы, заключаецца ў тым, каб прапанаваць некаторы фармалізаваны сродак зно­сін паміж людзьмі, а галоўным чынам паміж чалавекам і машынай, прыз­на­ча­ны для выканання алгарытмаў.

Кожная мова ахоплівае нейкую абмежаваную вобласць прык­ла­дан­ня, бо патрабаванні кампактнасці мовы, зручнасці запісу алгарытмаў, зра­зу­ме­лас­ці пры вывучэнні яе, пэўная прастата стварэння транслятараў, а таксама парк ЭВМ, якія будуць яе скарыстоўваць, накладваюць пэўныя аб­ме­жа­ван­ні.

Кожная алгарытмічная мова характарызуецца сваёй арыентацыяй на аз­на­ча­ныя тыпы даных і на азначаныя дзеянні над данымі. На­пры­клад, алгарытмічныя мовы, якія арыентаваны на задачы ма­тэ­ма­ты­кі (аналізу, алгебры), павінны мець даныя цэлалікавыя, сапраўдныя, кам­п­лек­с­ныя і г. д. Існуюць і іншыя мовы, якія апрацоўваюць тэксты, гра­фы, банкаў­скія і падобныя дакументы. Там узнікаюць свае ха­рак­тэр­ныя тыпы даных.

Элементы даных могуць групавацца ў структуры і наогул утвараць аб­’­ек­ты мовы. Дзеянні над данымі выконваюцца пры дапамозе аператараў – сказаў мо­вы.

Для абазначэння канкрэтных аб’ектаў алгарытмічнай мовы вы­ка­рыс­тоў­ва­ец­ца паняцце пераменнай велічыні. Пераменная ў матэматычных вы­ра­зах тлумачыцца так: тут нешта будзе; пераменная ў выразе на ал­га­рыт­міч­най мове – тут нешта ёсць (пэўнага зафіксаванага тыпу), і гэта мо­жа быць зменена.

Фундаментальным дзеяннем у любой алгарытмічнай мове з’яў­ля­ец­ца дзеянне надання значэння, якое змяняе значэнне некаторай пе­ра­мен­най. Надаваць значэнне можна праз аператар «:=» ці ўводам, а можна і ўскос­на (напрыклад, залезці на чужое поле памяці).

Базавыя элементы мовы Pascal

Н. Вірт у 1968 г. распрацаваў для мэт навучання алгарытмічную мо­ву Pascal. У 1971 г. з’явіўся першы транслятар, у 1973 г. – стандарт, у 1979 г. – пры­бліз­на 80 транслятараў. У 80-я гг. XX ст. – Turbo Pascal для ПЭВМ ты­пу IBM са сваёй інструментальнай сістэмай праграміравання (мова, транс­ля­тар, рэдактар, адладчык).

Алфавіт

Тэкст Pascal-праграмы ўяўляе сабой паслядоўнасць радкоў, якія скла­да­юц­ца з сімвалаў, што ўтвараюць алфавіт мовы. Радкі праграмы за­кан­ч­ва­юц­ца спецыяльнымі кіруючымі сімваламі, якія не ўваходзяць у ал­фа­віт. Максімальная даўжыня радка – 126 сімвалаў.

Алфавіт складаецца з наступных сімвалаў:

 вялікіх і малых літар і сімвала «падкрэсліванне», які аднесены да лі­тар: A, …, Za, … , z, _. Літары выкарыстоўваюцца для фарміра­ван­ня ідэн­ты­фі­ка­та­раў і службовых слоў (звярніце ўвагу, што тут ад­сут­ні­ча­юць літары кірыліцы);

 дзесяці арабскіх лічбаў ад 0 да 9: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Лічбы вы­ка­рыс­тоў­ва­юц­ца для запісу лікаў і ідэнтыфікатараў;

 дваццаці двух спецыяльных сімвалаў і прабелу: + – * / = > < . , ; : @ ‘ ( ) [ ] { } # $ ^ (няма сімвала !, % і некаторых іншых).

Спецыяльныя сімвалы выкарыстоўваюцца для канструявання знакаў апе­ра­цый, выразаў, каментарыяў, а таксама як сінтаксічныя раз­дзя­ля­ль­ні­кі.

Лексічная структура мовы

Сімвалы з алфавіта мовы выкарыстоўваюцца для пабудовы базавых эле­мен­таў Pascal-праграм – лексем. Лексема (лексічны элемент) – мі­ні­маль­ная адзінка мовы, якая мае са­мас­той­ны сэнс.

У мове Pascal існуюць наступныя класы лексем: 1) службовыя словы; 2) ідэнтыфікатары; 3) выявы канстант; 4) знакі аперацый; 5) раздзяляль­ні­кі; 6) дырэктывы кампілятара.

1. Службовыя (зарэзерваваныя) словы. Гэта абмежаваная група слоў, па­бу­да­ва­ных з літар. Іх прыкладна 55. Кожнае службовае слова ўяўляе са­бой непадзельнае ўтварэнне, сэнс якога зафіксаваны. Службовыя словы нельга вы­ка­рыс­тоў­ваць для другіх мэт.

Службовае слова трактуецца як адзін сімвал і ўжываецца для наг­ляд­нас­ці, каб не прыдумваць новых знакаў. Для кожнага службовага слова з мнос­т­ва значэнняў, якія існуюць у англійскай мове, выбрана адно, якое ад­па­вя­дае службовай ролі гэтага слова ў мове Pascal.

Разгледзім службовыя словы.

Назва

Пераклад

Тлумачэнне

ABSOLUTE

Абсалютна

Опцыя (рэжым)

AND, OR, XOR

І, ці, якое выключае ці

Аперацыі

ARRAY

Масіў

Масіў

ASM, ASSEMBLER

Опцыя падпраграмы

BEGIN, END

Пачатак, канец

Аператарныя дужкі

CASE, OF

Выбар з

Варыянт

CONST

Канстанты

Секцыя канстант

CONSTRUCTOR,

DESTRUCTOR

Ствараць,

разбураць

Тыпы працэдур

DIV, MOD

Дзяленне цэлалікавае

Аперацыі

FOR, DO, TO, DOWNTO, REPEAT, WHILE, UNTIL

Для, выконваць, да, да, паўтараць, пакуль, пакуль

Для ўтварэння аператараў цыклаў

IF, THEN, ELSE

Калі, тады, інакш

Для ўтварэння аператара выбару

EXTERNAL

Знешні

Опцыя

FILE

Файл

Найменная сукупнасць даных на знешнім носьбіце

FORWARD, FUNCTION, PROCEDURE, PROGRAM

Уперадзе, функцыя, працэдура, праграма

Службовыя словы

GOTO

Перайсці да

Аператар

IMPLEMENTATION,

INTERFACE

Рэалізацыя,

сукупнасць сродкаў

Пры вызначэнні знешняга модуля

INLINE, INTERRUPT

Убудаваны, перарыванне

Опцыі падпраграм

IN

У (чымсьці)

Аперацыя

LABEL

Метка

Секцыя метак

NIL

Пуста

Канстанта

NOT

Не

Аперацыя

OBJECT

Аб’ект

Тып

PACKET

Упакаваны

Тып

PRIVATE

Прыватны

Секцыя

RECORD

Запіс

Састаўны элемент даных з кампанентамі розных тыпаў

SET OF

Мноства з

Аператар

SHL, SHR

Зрух улева, управа

Аперацыя

STRING

Радок (сімвалаў)

Тып данага

TYPE

Тып (данага)

Секцыя

UNIT, USES

Модуль, выкарыстанне

Службовыя словы

VAR

Пераменныя

Секцыя

VIRTUAL

Мяркуемы

Які не мае фізічнага ўвасаблення

WITH

Разам з, з

Аператар

2. Ідэнтыфікатары (імёны). Уводзяцца для абазначэння ў праграме пе­ра­мен­ных, канстант, тыпаў, метак, працэдур, функцый і фарміруюцца з лі­тар і лічбаў у адпаведнасці з наступнай дыяграмай.

Ідэнтыфікатар:

Даўжыня ідэнтыфікатара можа быць адвольнай, але кампілятар ус­п­ры­мае толькі першыя 63 (або 8 – залежыць ад версіі) сімвалы.

Трэба памятаць, што ў мове Pascal адпаведныя вялікія і малыя лі­та­ры ў ідэнтыфікатарах і службовых словах не адрозніваюцца. Напрыклад, INDEX, index, Index – гэта адно і тое ж.

Ідэнтыфікатары ўводзяцца ў праграму пры дапамозе апісанняў.

У мове існуюць так званыя стандартныя ідэнтыфікатары для абаз­на­чэн­ня загадзя вызначаных распрацоўшчыкамі мовы тыпаў даных, кан­стант, працэдур, функцый. Іх лепш выкарыстоўваць без якіх-небудзь змен (напрыклад, Integer, Pi, Maxint, Sin, Cos і інш.).

3. Выявы канстант. Гэта група лексем абазначае нязменныя аб’екты: лі­кі, радок сімвалаў і інш. (13.14; ‘ОХ-ОХ’, $F7F0, #55).

4. Знакі аперацый. Яны фарміруюцца з аднаго ці некалькіх спе­цы­я­ль­ных сімвалаў і прызначаны для задання дзеянняў па пераўтварэнні даных і пад­лі­ку значэнняў выразаў. Прыклады аперацый: <>, <=, >=, *, +, /, –, @, ^, DIV, MOD, AND, OR, XOR, NOT.

5. Раздзяляльнікі. Яны таксама фарміруюцца са спецыяльных сім­ва­лаў і ў асноўным выкарыстоўваюцца, каб павысіць нагляднасць тэкстаў праг­рам. Да раздзяляльнікаў належаць ; : ( ) = і інш. Прабел вы­ка­рыс­тоў­ва­юць для аддзялення лексем тады, калі іх злітнае напісанне зменіць змест пра­гра­мы. Колькасць прабелаў не абмежавана. Іх можна ўжываць разам з лю­бым раздзяляльнікам.

У тэкстах праграм дапускаюцца фрагменты тлумачальнага ха­рак­та­ру – каментарыі, якія не ўплываюць на выкананне праграмы.

Каментарый – гэта паслядоўнасць сімвалаў неабавязкова з алфавіта мо­вы (г. зн. могуць быць і рускія літары), якія заключаны ў фігурныя дуж­кі {…} ці раздзяляльнікі віду (*...*). Напрыклад:

{каментарый (*укладзены каментарый*)

каментарый на двух радках}

Каментарыі могуць знаходзіцца паміж любымі дзвюма лексемамі праг­ра­мы.

6. Дырэктывы кампілятара. Яны задаюць або адмяняюць зададзены рэ­жым кампіляцыі ці даюць іншую інфармацыю кампілятару. Сінтаксіс: {$імя_дырэктывы...}. Гэтыя канструкцыі таксама, як і каментарыі, за­клю­ча­юц­ца ў фігурныя дужкі, але па спецыяльным сінтаксісе.

Напрыклад: {$R+}, {$R–} – дазвол ці забарона праверкі межаў ска­ляр­ных даных ці індэксаў масіваў; {$Q+}, {$Q–} – дазвол ці забарона праверкі пе­ра­паў­нен­ня цэлалікавых даных.