Білет 7
7.1
Умовний оператор IF. (оператор альтернативи if … then … else…;)
Застосовується для виконання одного з двох можливих операторів, в залежності від вказаної умови. Записується в повній та неповній формах:
Неповна форма запису
if Логічний Вираз
then Оператор;
Повна форма запису
If Логічний Вираз
then Оператор1
else Оператор2;
Порядок виконання :
1. обчислюється Логічний Вираз;
2. якщо результат має значення True (так), то виконується Оператор1, що слідує за службовим словом then;
3. якщо результат має значення False (ні), то виконується Оператор2, що слідує за службовим словом else.
Синтаксичні особливості оператора if
перед службовим словом else символ “;”(крапка з комою) не ставиться;
якщо після службового слова then або else потрібно виконати одразу кілька операторів, то необхідно скористатися оператором об’єднання begin … end.
Після службових слів then і else може слідувати будь-який оператор, в тому числі й оператор if.
If логічний вираз
then if логічний вираз
then оператор
else оператор
else оператор;
Оператор вибору CASE …ОF…
За допомогою оператора if можна здійснити вибір тільки з двох можливих напрямів продовження виконання роботи програми в залежності від значення логічного виразу. Оператор вибору case … of… є узагальненням оператора if. За його допомогою можна здійснити вибір з кількох можливих напрямів продовження виконання роботи програми в залежності від значення виразу упорядкованого типу.
Повна форма
Case Вираз of
Список Значень 1 : Оператор 1;
Список Значень 2 : Оператор 2;
...
Список Значень N : Оператор N;
else Оператор E;
end;
Скорочена форма
Case Вираз of
Список Значень 1 : Оператор 1;
Список Значень 2 : Оператор 2;
...
Список Значень N : Оператор N;
end;
Порядок виконання оператора case у повній формі:
1. обчислюється значення Виразу;
2. якщо результат входить до Списку Значень k ( 1 ≤ k ≤ N ), то виконується Оператор k;
3. якщо результат не входить в жодний із Списків, то виконується Оператор E;
Порядок виконання оператора case в скороченій формі відрізняється відсутністю пункту 3.
7.2
UNIT
unit Lesson;
interface
type
// --------------------------------------------------- Допом³жн³ описи --------------------------------------------------
TMinute = 0..59; // тип значення хвилини
THour = 0..23; // тип значення години
// тип значення часу
TTime = record
Hour : THour; // години
Minute : TMinute; // хвидини
end;
// тип значення часу под³¿
TTimeEvent = record
BeginEvent : TTime; // час початку под³¿
EndEvent : TTime; // час зак³нчення под³¿
end;
// ---------------------------------------- клас заняття TLesson -----------------------------------------------------
TLesson = class
//------------------------- атрибути ----------------------------------------------------------------------------
Kind : String; // вид заняття - Лекц³я, Лабораторна робота,
// Практичне заняття, Сем³нарське заняття
Discipline : String; // назва предмету
Teacher: String; // пр³звище викладача
ClassRoom : String; // номер аудитор³¿
Group: String; // номер групи
Cours : Byte; // номер курсу
Time : TTimeEvent; // час почату ³ зак³нчення заняття
//------------------------- методи - конструктори-----------------------------------------------------------
constructor Create(KindLesson, DisciplineLesson, TeacherLesson, ClassRoomLesson, GroupLesson : String; CoursLesson : Byte; TimeLesson : TTimeEvent); overload;
// в³домост³ про заняття задати параметрично
constructor Create; overload; // в³домост³ про заняття ввести з клав³атури }
//------------------------- методи -----------------------------------------------------------
procedure Print; // вивести на екран дан³ про заняття
function GetKind : String; // отримати в³домост³ про вид заняття
function GetDiscipline : String; // отримати в³домост³ про предмет заняття
function GetTeacher: String; // отримати в³домост³ про викладача, який веде заняття
function GetClassRoom: String; // отримати в³домост³ про аудитор³ю,
// в як³й в³дбудеться заняття
function GetGroup: String; // отримати в³домост³ про номер групи
function GetCours: Byte; // отримати в³домост³ про курс
function GetBegin: TTime; // отримати в³домост³ про час початку заняття
function GetEnd: TTime; // отримати в³домост³ про час зак³нчення заняття
function GetDuration: TTime; // отримати в³домост³ про тривал³сть заняття
function GetRemain(NowTime : TTime): TTime; // отримати в³домост³ про час,
// що залишився до к³нця заняття
end;