
- •Методичні вказівки до виконання лабораторних робіт з дисциплін:
- •Введення
- •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.
Введення
Ціль лабораторного практикуму – навчитися писати та відлагоджувати програми, які реалізують в Borland Pascal:
- роботу з основними операторами мови;
- роботу з масивами та множинами;
- роботу з символами та рядками;
- роботу з записами;
- роботу з файловою системою.
Задачі лабораторного практикуму:
- вивчити теоретичні положення по роботі з типами масив (Array) і множина (Set of Type ) в Borland Pascal;
- ознайомитися з методами сортування;
- вивчити теоретичні положення по роботі з символьними та строковими типами Borland Pascal;
- вивчити теоретичні положення по роботі з типом запис (Record) в Borland Pascal;
- вивчити теоретичні положення по файловій системі Borland Pascal, процедури та функції для роботи з файлами та каталогами;
1. Лабораторна робота №1 Керівні структури мови Pascal
1.1 Стислі теоретичні відомості
Сама коротка програма на Вorland Рascal має наступний вигляд:
Begin
End.
В будь-якій програмі всі дії виконуються між операторними дужками Begin та End., тобто в основному програмному (операторному) блоці. Великі програми обростають різними смисловими блоками. Так формально загальну структуру програми на Вorland Рascal можна представить наступним чином:
{ Заголовок програми }
Program Ім’я_Програми;
{ Список бібліотек (модулів), які використовуються }
Uses Список_модулів;
{ Розділ описання }
Label Описання_міток;
Const Описання_констант;
Type Описання_типів;
Var Описання_змінних;
Procedure Описання_процедур;
Function Описання_функцій;
Exports Описання_експорту;
{ Основний (операторний) блок }
Begin
{ оператори }
End.
Зарезервовані слова Borland Pascal:
and |
downto |
in |
of |
string |
asm |
else |
inherited |
or |
then |
array |
end |
inline |
packed |
to |
begin |
exports |
interface |
procedure |
type |
case |
file |
label |
program |
unit |
const |
for |
library |
record |
until |
constructor |
function |
mod |
repeat |
uses |
destructor |
goto |
nil |
set |
var |
div |
if |
not |
shl |
while |
do |
implementation |
object |
shr |
with xor |
Стандартні директиви Borland Pascal:
absolute |
external |
index |
near |
resident |
assembler |
for |
interrupt |
private |
virtual |
export |
forward |
name |
public |
|
Для компілятора регістр написання зарезервованих слів та ідентифікаторів значення не має, наприклад: ARRAY, Array, array означають одне і теж зарезервоване слово.
Ідентифікатори виступають в якості імені констант, типів, змінних, процедур, функцій, модулів, програм та полів в записах. Ідентифікатор може мать будь-яку довжину, однак компілятор розрізняє тільки перші 63 символи. Ідентифікатор повинен починатися з літери або символу підкреслення і не може містить у собі пробілів. Після першого символу ідентифікатора можна використовувати літери, цифри, символ підкреслення в будь-якій сполуці.
Рядки програми мають довжину до 126 символів. Коментарі представляють собою фрагмент тексту програми, який обмежений символами { та } або (* та *). Коментарі в програмі мають чисто інформаційне значення. Вони ігноруються компілятором і не впливають на роботу програми. Коментарі можуть служити роздільниками у програмі.
Цілочислові типи даних Borland Pascal:
Тип даних |
Розмір у байтах |
Діапазон значень |
shortint |
1 |
–128...127 |
byte |
1 |
0...255 |
integer |
2 |
–32768...32767 |
word |
2 |
0...65535 |
longint |
4 |
–2147483648...2147483647 |
Група дійсних типів Borland Pascal:
Тип даних |
Розмір у байтах |
Діапазон значений |
single |
4 |
1.5E–45...3.4E+38 |
real |
6 |
2.9E–39...1.7E+38 |
double |
8 |
5.0E–324...1.7E+308 |
extended |
10 |
3.4E–4932...1.1E+4932 |
comp |
8 |
–263+1...263–1 або –9.2E+18...9.2E+18 |
Група бульових (логічних) типів Borland Pascal:
Тип даних |
Значенню false відповідає |
Значенню true відповідає |
Розмір у байтах |
boolean |
0 |
будь-яке |
1 |
bytebool |
0 |
число, |
1 |
wordbool |
0 в обох байтах |
відмінне |
2 |
longbool |
0 у всіх байтах |
від 0 |
4 |
Арифметичні операції Borland Pascal:
Операція |
Дія |
Приклад |
+ |
унарний плюс |
|
– |
унарний мінус |
|
+ |
додавання |
|
– |
віднімання |
a–b |
* |
множення |
|
/ |
поділення |
a/b |
div |
цілочислове поділення |
a div b |
mod |
залишок від поділення |
a mod b |
Оператори відношень Borland Pascal:
Оператор |
Описання |
Приклад |
< |
менше |
|
<= |
менше або дорівнює |
|
> |
більше |
|
>= |
більше або дорівнює |
|
= |
дорівнює |
|
<> |
не дорівнює |
|
Логічні операції Borland Pascal:
Операція |
Дія |
Тип операндів |
Тип результату |
not |
логічне заперечення |
бульовий |
бульовий |
and |
логічне “І” |
бульовий |
бульовий |
or |
логічне “АБО” |
бульовий |
бульовий |
xor |
логічне виключне “АБО” |
бульовий |
бульовий |
Бітові та зсувові операції Borland Pascal:
Операція |
Дія |
Тип операндів |
Тип результату |
not |
порозрядне заперечення |
цілий |
цілий |
and |
порозрядне “І” |
цілий |
цілий |
or |
порозрядне “АБО” |
цілий |
цілий |
xor |
порозрядне виключне “АБО” |
цілий |
цілий |
shl |
порозрядний зсув вліво |
цілий |
цілий |
shr |
порозрядний зсув вправо |
цілий |
цілий |
Нижче розглянуті приклади використання управляючих конструкцій мови Borland Pascal.
Оператор if.
|
if not okay WriteLn(‘Incorrect answer!’);
if (number>=1) and (number<=10) begin x:=number*y; z:=number/y; end; |
Оператор else.
|
if not okay WriteLn(‘Incorrect answer!’) else begin WriteLn(‘Okay!’); Inc(i); { i:=i+1; } end;
|
Оператор while. |
while x<=y do begin WriteLn(‘x=’,x); Inc(x); end; |
Оператор repeat–until. |
repeat Inc(x); WriteLn(‘x=’,x); until x<=y; |
Оператор for. |
for i:=x to y do { x>=y } WriteLn(‘i=’,i);
for i:=x downto y do { x<=y } WriteLn(‘i=’,i); |
Для передчасного завершення циклу використовується оператор break.
Оператор continue заставляє цикл перервати поточну ітерацію та почати наступну.
Оператор goto заставляє програму виконувати інший оператор (на який вказує мітка) та, починаючи з його позиції, продовжувати виконання програми.
Оператор exit завершує роботу свого програмного блока (процедура, функція, основний блок програми).
Оператор halt терміново завершує програму.