- •Методичні вказівки до виконання лабораторних робіт з дисциплін:
- •Введення
- •1. Лабораторна робота №1 Керівні структури мови Pascal
- •1.1 Стислі теоретичні відомості
- •1.2 Завдання до роботи
- •2 Лабораторна робота №2
- •2.2 Завдання до роботи
- •3 Лабораторна робота №3 Рядки у мові Pascal
- •3.1 Стислі теоретичні відомості
- •If ch in [‘a’..’z’] then . . .
- •I,j:Word;
- •3.2 Завдання до роботи
- •4 Лабораторна робота №4 Записи у мові Pascal
- •4.1 Стислі теоретичні відомості
- •Ves, Rost : Real;
- •XyRec:Record
- •X,y:Integer;
- •X,y:Integer;
- •4.2 Завдання до роботи
- •5 Лабораторна робота №5 Файли у мові Pascal
- •5.1 Стислі теоретичні відомості
- •BlockWrite(Var f:File;Var Source;Count:Word[;Var WriteOut:Word])
- •5.2 Завдання до роботи
- •6. Порядок виконання і захисту робіт
- •Перелік посилань
- •322618, Г.Дніпродзержинськ, вул.Дніпробудівська, 2.
I,j:Word;
BEGIN
. . .
res:=Str1+i; { res вказує на i символів далі, ніж Str1 }
res:=Str2–i; { res вказує на i символів ближче, ніж Str2 }
j:=Str1–Str2; { j дорівнює числу символів між Str1 та Str2 }
END.
Стандартний синтаксис Borland Pascal дозволяє при порівнянні вказівників визначати тільки їх рівність або нерівність. Розширений же синтаксис (при включеній директиві {$X+}) допускає до значень типу PChar застосовувати також і операції <, >, >=, <=, але при умові, що два порівнювальних вказівника вказують на один і той же масив символів.
Для підтримки операцій з ASCIIZ-рядками до комплекту постачання Borland Pascal включено стандартний модуль Strings з наступними функціями:
StrCat |
– додає один рядок до кінця другого рядка та повертає вказівник на результуючий рядок; |
StrComp |
– порівнює два рядки S1 та S2. Якщо S1<S2, то результатом буде від’ємне число; якщо S1=S2, то результатом буде 0; якщо S1>S2, то результатом буде додатне число; |
StrCopy |
– копіює значення одного рядка в інший. Повертає вказівник на початок результуючого рядка; |
StrDispose |
– знищує рядок, розподілений раніше за допомогою функції StrNew; |
StrECopy |
– копіює значення одного рядка в інший. Повертає вказівник на кінець результуючого рядка; |
StrEnd |
– повертає вказівник на нульовий символ, який завершує рядок; |
StrIComp |
– порівнює два рядки аналогічно StrComp, але без різниці регістра символів; |
StrLCat |
– приєднує початковий рядок до кінця цільового рядка. При цьому довжина результуючого рядка не перевищує заданого максимуму. Вказівник повертається на рядок-результат; |
StrLComp |
–порівнює два рядки з заданою максимальною довжиною; |
StrLCopy |
– копіює задане число символів із початкового рядка в результуючий рядок і повертає вказівник на результуючий рядок; |
StrLen |
– повертає довжину рядка; |
StrLIComp |
– порівнює два рядки з заданою максимальною довжиною без різниці регістра символів; |
StrLower |
– перетворює рядок в нижній регістр та повертає вказівник на нього; |
StrMove |
– переміщає послідовність символів із початкового рядка в цільовий рядок та повертає вказівник на цільовий рядок; |
StrNew |
– виділяє для рядка пам’ять в динамічно розподіленій області; |
StrPas |
– перетворює рядок, який завершується нулем, в рядок Паскаля; |
StrPCopy |
– копіює рядок Паскаля в рядок, який завершується нулем, та повертає вказівник на останній рядок; |
StrPos |
– повертає вказівник на перше входження заданого подрядка в рядок, або nil, якщо шуканий підрядок в рядку не міститься; |
StrRScan |
– повертає вказівник на останнє входження вказаного символу в рядок, або nil, якщо символ в рядку відсутній; |
StrScan |
– повертає вказівник на перше входження вказаного символу в рядок, або nil, якщо символ в рядку відсутній; |
StrUpper |
– перетворює рядок в верхній регістр та повертає вказівник на нього. |