Програмування: Структури перехід та вибір варіанту, типи символів та перелічувані, Детальна інформація
Програмування: Структури перехід та вибір варіанту, типи символів та перелічувані
Вираз із сталими перелічуваних типів можна присвоювати однотипним із ними змінним.
Сталі й змінні перелічуваних типів, на відміну від базових типів, не можна вказувати у викликах процедур виведення та введення.
Будь-який перелічуваний тип, стандартний або тип-перелік, означений вище в програмі, може виступати базовим для типу-діапазону. Він задається виразом вигляду
стала1..стала2,
де стала1 <= стала2. Наприклад, ми можемо означити типи
type hundred=0..99; chesslet='A'..'H'; Workd=Mon..Fri
або змінні var stop : red..yellow; column : chesslet тощо.
Для діапазону означено ті самі операції, що для його базового типу.
5.. Оператор вибору варіантів
Розробимо програму "найпростіший калькулятор" . Будемо використовувати змінну 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;
…
case dd of
Mon, Tue, Wed,Thu, Fri : wt:=8;
Sat, Sun : wt := 0
Сталі й змінні перелічуваних типів, на відміну від базових типів, не можна вказувати у викликах процедур виведення та введення.
Будь-який перелічуваний тип, стандартний або тип-перелік, означений вище в програмі, може виступати базовим для типу-діапазону. Він задається виразом вигляду
стала1..стала2,
де стала1 <= стала2. Наприклад, ми можемо означити типи
type hundred=0..99; chesslet='A'..'H'; Workd=Mon..Fri
або змінні var stop : red..yellow; column : chesslet тощо.
Для діапазону означено ті самі операції, що для його базового типу.
5.. Оператор вибору варіантів
Розробимо програму "найпростіший калькулятор" . Будемо використовувати змінну 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;
…
case dd of
Mon, Tue, Wed,Thu, Fri : wt:=8;
Sat, Sun : wt := 0
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021