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

Функцыі

Функцыя Ord(С) (Order – парадак), дзе C тыпу Char дае парадкавы ну­мар сімвала ў табліцы.

Функцыя Chr(i) па парадкавым нумары i дае сімвальнае значэнне – сім­вал. Калі гэты сімвал можна знайсці ў табліцы.

Мае месца Chr(Ord(С))= C і Ord(Chr(i))= i – значыць, гэтыя фун­к­цыі адваротныя. Напрыклад, #32=Chr(32) – сімвал прабелу.

Трэба мець на ўвазе, што Ord('0') 0. Але мноства сімвалаў '0', '1', …, '9' (якія вызначаюць лічбы) упарадкавана без пропускаў. Зна­чыць, можна выканаць перавод сімвальнага ўяўлення лічбы d у цэ­ла­лі­ка­вае значэнне:

Дзве функцыі Pred(с) і Succ(с) даюць адпаведна папярэдні і на­ступ­ны сімвалы. Іх можна выкарыстоўваць і да іншых простых дыс­к­рэт­ных тыпаў. Не маюць сэнсу такія выразы: Succ(#255) і Pred (#0).

Функцыя UpCase пераводзіць сімвалы з ніжняга рэгістра ў верхні для лацінскага алфавіта: UpCase('a') 'A'.

Булеўскія даныя

Пераменныя гэтага тыпу маюць апісанне Boolean. Існуюць два зна­чэн­ні булеўскага тыпу (праўда і няпраўда), і гэтыя значэнні ў мове Pascal аба­зна­ча­юц­ца стандартнымі ідэнтыфікатарамі true і false.

Значэнні булеўскага тыпу займаюць 1 байт памяці. Іх унутранае ўяў­лен­не false ёсць 0, true ёсць 1. Функцыя ord вяртае значэнне 0 для бу­леў­с­ка­га значэння true і значэнне 1 для булеўскага значэння false.

Над значэннямі булеўскага тыпу магчымы толькі аперацыі па­раў­нан­ня, прычым лічыцца, што false < true. Акрамя таго, існуюць ча­ты­ры стандартныя лагічныя аперацыі: AND, OR, XOR, NOT.

AND

true

false

OR

true

false

XOR

true

false

true

true

false

true

true

true

true

false

true

false

false

false

false

true

false

false

true

false

NOT

NOT true = false

NOT false = true

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

П рыклад. Ёсць некаторая вобласць D і каардынаты пункта Пераменнай U надаць зна­чэн­не 1, калі і значэнне 0 – у адваротным выпадку. Фраг­мент праграмы будзе наступны:

VAR x, y : Real;

U : Byte;

d : Boolean;

BEGIN

d := (sqr(x) + sqr(y) <=1) AND (abs(x) + abs(y) >= 1);

IF d THEN U := 1 ELSE U := 0

END.

Можна і інакш:

U := ord(d);

{магчыма далейшае выкарыстанне значэння пераменнай d}

Даныя адраснага тыпу

Мова Turbo Pascal аб’яўляе спецыяльны адрасны тып – Pointer (паказальнік). Значэннем адраснага тыпу з’яўляецца адрас ячэйкі памяці, за­дадзе­ны па правілах аперацыйнай сістэмы MS DOS. Гэты тып – унут­ра­ны, таму яго значэнне нельга вывесці на друк ці запісаць у пе­ра­мен­ную, як мы запісваем лікавыя значэнні. Дзеля гэтага заўсёды да­водзіц­ца выка­ры­стоўваць спецыяльныя функцыі.

Існуе ўбудаваная функцыя Sizeof(а), якая дае памер памяці ар­гу­мен­та ў байтах. Напрыклад, выклік функцыі Sizeof(Pointer)дае вы­нік 4 (байты).