Паскаль: тип символів та інші перелічувані, Детальна інформація

Паскаль: тип символів та інші перелічувані
Тип документу: Реферат
Сторінок: 4
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 11.6
Скачувань: 1176
Сталі й змінні перелічуваних типів, на відміну від базових типів, не можна вказувати у викликах процедур виведення та введення.

Будь-який перелічуваний тип, стандартний або тип-перелік, означений вище в програмі, може виступати базовим для типу-діапазону. Він задається виразом вигляду

стала1..стала2,

де стала1 <= стала2. Наприклад, ми можемо означити типи

type hundred=0..99; chesslet='A'..'H'; Workd=Mon..Fri

або змінні var stop : red..yellow; column : chesslet тощо.

Для діапазону означено ті самі операції, що для його базового типу.

Задачі

7. У розкладі рейсів літаків дні тижня позначаються номерами від 1 до 7. Припустимо, що в програмі дні тижня подаються типом Weekd. Написати вираз, що задає обчислення:

а) за номером дня тижня відповідного елемента типу Weekd;

б) за елементом типу Weekd номера дня тижня.

8. За понеділком іде вівторок тощо, а за неділею – понеділок. Написати функцію обчислення за днем тижня (типу Weekd) наступного за ним дня.

4. Оператор вибору варіантів

Повернемося до програми "найпростіший калькулятор" із прикладу 5.3. Там використовувалася змінна signop із значеннями 1, 2, 3 або 4, що позначали знаки операцій відповідно "+", "-", "*", "/". Її значення, отримане в результаті читання, порівнювалося з 1, 2, 3, 4 та виконувалися відповідні їм дії:

if signop=1 then first:=first+second else

if signop=2 then first:=first-second else

if signop=3 then first:=first*second else

{signop=4}

first:=first/second;

Цей оператор задає вибір потрібного оператора з тих, які записано після слів then, залежно від значення змінної signop. Такий вибір у мові Паскаль можна задати інакше, використавши оператор вибору варіантів, або case-оператор (case – англійське "випадок"). У даній програмі він має вигляд:

case signop of

1: first:=first+second;

2: first:=first-second;

3: first:=first*second;

4: first:=first/second

end;

Вираз після слова case (тут це ім'я signop) називається селектором варіантів. Його значення послідовно порівнюється з числами, що "відмічають" оператори-варіанти. Як тільки значення селектора співпаде з числом, буде виконано відповідний оператор, і все закінчиться. Якщо ж значення селектора відрізняється від усіх чисел-відміток варіантів, то жодний із варіантів не виконується.

Селектором може бути довільний вираз будь-якого перелічуваного типу. Варіант може бути відмічений списком із кількох сталих відповідного типу; вони записуються через кому. Наприклад, нехай робочий час у робочі дні 8 годин, а у вихідні – 0. За дії означення типу Weekd ми можемо запам'ятати в змінній wt робочий час:

var dd : Weekd; wt : integer;



The online video editor trusted by teams to make professional video in minutes