Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab6.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
444.42 Кб
Скачать

Лабораторна робота №6

Масиви

Завдання. Скласти програму для обчислення добутку двох квадратних матриць порядку не більше 10.

1. Тип даних перелік

Крім стандартних типів даних, які ми розглядали до цих пір, програміст може використовувати і свої власні, визначені ним, типи даних. Одним із них є тип перелік. Є дві альтернативи введення типу перелік.

1 альтернатива:

type

ім'я типу перелік=(список значень(констант));

var

список змінних:ім'я типу перелік;

2 Альтернатива:

var

список змінних:(список значень(констант));

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

Приклад.

type

gaz=(C, O, N, Cl);

metal=(Fe, Co, Na, Cu, Zn);

color=(red, orange, blue, green, yellow, violet);

var

g1, g2, g3: gaz;

met1, met2, met3, met4: metal;

col1, col2, col3: color;

season: (winter, spring, summer, autumn);

В цьому прикладі введені 4 типи перелік. Типи gaz, metal, color – поіменовані типи. Змінні g1, g2, g3 можуть приймати одне із значень (C, O, N, Cl), змінні met1, met2, met3, met4 типу мetal можуть приймати одне із значень (Fe, Co, Na, Cu, Zn), змінні col1, col2, col3 типу color можуть приймати одне із значень red, orange, blue, green, yellow, violet. І, нарешті, змінна season може приймати одне із значень winter, spring, summer, autumn. Останній тип є непоіменованим.

У списку значень (констант) не може бути двох однакових ідентифікаторів, тобто

значенняi<>значенняj, якщо i<>j, i, j=0...n

Значення власних типів можна зрівнювати між собою, причому

значення0<значення1<значення2

Приклади.

Нехай met1=Fe, met2=Na, met3=Fe,

col1=orange, col2=yellow, col3=violet,

g1=C, g2=N, g3=Cl.

Тоді

met1>met2=false,

met2>met1=true,

(met1=met2)=false,

(met1=met3)=true,

g1<g2=true, g3>g1=true, g2>g3=false,

col1<col2=true, col3<col2=false.

Значення змінних власних типів можуть бути визначені операторами присвоєння.

Приклади.

g1:=C; g2:=Cl; met1:=Fe; met2:=met1; met3:=Zn;

col1:=yellow; col2:=green;

Для роботи з даними власних типів у мові Turbo Pascal можна використовувати наступні функції:

succ(значенняi)=значенняi+1 (наступне значення);

pred(значенняi)=значенняi-1 (попереднє значення);

ord (значенняi)=i (порядковий номер значення у списку

значень(констант)

Приклади.

succ(red)=orange; pred(orange) = red;

succ(yellow)=violet; pred(green) = blue;

succ(violet) – не визначено; pred(Co) = Fe;

succ(Fe)=Co; pred(Spring) = Winter;

succ(Cu)=Zn; pred(red) – не визначено;

ord(red)=0; ord(0)=1;

ord(violet)=5; ord(Na)=2.

Змінні власних типів даних можна використовувати в операторах if, case, while, repeat, for.

Приклад.

if met1>succ(met2) then оператор1 else оператор2[;]

for col1:= red to green do оператор [;]

(цикл виконається 4 рази при col1 = red, orange, blue, green).

for col2:= violet downto green do оператор[;]

(цикл виконається 3 рази при col2 = violet, yellow, green).

repeat

оператор1;

оператор2;

…………

until met3>Cu;

Тип перелік, який визначається програмістом, символьний і логічний типи відносяться до типів перелік. Типи перелік і цілочисельні типи утворюють порядкові типи. В свою чергу порядкові типи разом з дійсними типами утворюють скалярні типи.

В будь-якому порядковому типі можна виділити підмножину значень, які визначаються діапазоном від min до max. Ця підмножина визначає тип діапазон.

Тип діапазон визначається програмістом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]