Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция Pascal_mat №8_9.doc
Скачиваний:
4
Добавлен:
02.12.2018
Размер:
197 Кб
Скачать
☆

Діапазонний тип

Діапазонний тип являє собою діапазон (інтервал) значень якого-небудь порядкового типу, що називають базовим. При описі діапазонного типу вказуються найменше й найбільше значення діапазону значень, допустимих для цього типу. Мінімальне й максимальне значення інтервалу розділяються знаком .. (дві крапки).

0 . . 500 -1 . . 1 -128 . . 127 ‘А’ . . ‘Z’ Моn . . Fri

Змінна діапазонного типу має всі властивості змінних базового типу, однак її значення на етапі виконання повинно належати вказаному діапазону.

  1. Діапазонний тип даних задається на базі якого-небудь порядкового типу із вказівкою більш вузького, ніж у базового, діапазону можливих значень.

  2. Нижнє обмеження не повинне перевищувати верхнє.

  3. До змінних діапазонного типу застосовні функції Ord, Pred, Succ.

  4. Діапазонний тип даних використовується для контролю значень змінних, а також для поліпшення наочності програми.

Особливості роботи з користувацькими простими типами

До користувацьких простих типів відносять перерахований тип і тип-діапазон. Робота зі змінними типів-діапазонів здійснюється так само як і з їх «батьківськими» типами, але з урахуванням їхнього меншого діапазону допустимих значень.

Наведемо приклади, що демонструють деякі з допустимих дій для перерахованих типів.

1) Оголошення перерахованого типу:

type Days = (Sunday , Monday, Tuesday , Wednesdays , Thursday, Fri, Sat);

var Yest, Today, Tomor : Days;

2) Використання змінних і значень перерахованого типу, у виразах і операторі присвоювання:

if Today = Saturday

then begin

Yesterday := Friday;

Tomorrow := Sunday;

end;

3) Використання змінної й значень перерахованого типу, в операторі вибору:

case Today of

Sunday : Writeln (‘Сьогодні неділя’);

Monday : Writeln (‘Сьогодні понеділок’);

Tuesday : Writeln (‘Сьогодні вівторок’);

Wednesdays : Writeln (‘Сьогодні середовище’);

Thursday : Writeln (‘Сьогодні четвер’);

Friday : Writeln (‘Сьогодні п’ятниця’);

Saturday : Writeln (‘Сьогодні субота’);

end;

4) Використання змінної й значень перерахованого типу, як специфікація оператора циклу for:

for Today := Monday to Friday do begin … end;

Регулярний тип даних (масиви)

  1. Регулярний тип даних мови Pascal дозволяє в програмі задавати структуру даних, яка називається масивом.

  2. Масив – упорядкований за номерами і фіксований за розміром набір даних (елементів) одного типу. Масив визначається ім’ям (ідентифікатором), розмірністю (кількістю індексів) і типом елементів.

  1. У масиві кожний елемент має свій порядковий номер, що називається індексом. Для того, щоб звернутися до елемента масиву, необхідно задати ім’я масиву й список індексів у квадратних дужках. Число індексів повинне точно відповідати розмірності масиву, а значення кожного індексу повинне відповідати оголошеному типу індексу.

  2. Елементами масиву можуть бути різні величини, як числові (цілі й дійсні), так і символьні або рядкові. Але при цьому строго повинне виконуватися наступне правило: всі елементи кожного окремо взятого масиву повинні відноситися до тому самому типу, що й називається однорідністю масиву. Елементи масиву можуть бути структурованого типу, наприклад, елементами масиву можуть бути масиви:

type Row = 1..25;

Col = 1..80;

var Tabl : array [Row] of array [Col] of byte;

Tab : array [Row, Col] of byte;

begin

Tabl[1][1]:=5;

Tab[2,2]:=7;

end.

  1. Для змінної регулярного типу допустимий оператор присвоювання, якщо праворуч стоїть змінна точно того ж типу. Наприклад :

var M1, M2 : array [1..5,1..7] of Byte; M3: array [1..35] of Byte;

begin

M2:=M1; {так можна}

M3:=M1; {так не можна}

end.

  1. До елементів масиву застосовні всі операції, допустимі над типом даних, до якого відносяться елементи масиву.

  2. Тип даних string можна розглядати як масив символів.

Масиви

Масиви бувають одновимірні, двовимірні й багатовимірні.