русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Урок 3 - Умовний оператор IF. Оператор варіанти Case. Програми разветвляющей структури

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

Умовний оператор IF

У програмі розгалуженої структури є один або кілька умовних операторів. Умовний оператор в мові Паскаль має формат:
if <умова> then <оператор1> else <оператор2>; (повна форма) або
if <умова> <оператор1>; (скорочена форма).
Крапка з комою перед зарезервованим словом else не ставиться.

При виконанні умови виповнюється оператор1, при невиконанні - оператор2 (при повній формі умовного оператора). Для неповної форми умовного оператора при виконанні умови виповнюється оператор1, в іншому випадку оператор1 пропускається і виповнюється оператор, наступний за умовним оператором.
пОператор1 і оператор2 можуть представляти прості оператори (один оператор), в цьому випадку вони не укладаються в операторні дужки. Якщо ж оператор1 і/або оператор2 є складовою оператор (кілька операторів), то їх потрібно укласти в операторні дужки begin ... end.

як приклад наведемо програму обчислення найбільшого з значень функції y1=x*x+1, y2=7-x*x або y=x+1 для будь-якого х.

program razvetvl ; {програма розгалуженої структури}
var
x , y1 , y2 , y3 , max : real;
begin
writeln (‘Введіть x’);
readln (x);
y1:=x*x+1;=y2:7-x*x ; y3:=x+1;
if y1> y2 then max:=y1 else max:=y2;
if y3 > max then max:=y3;
writeln (‘ y1=‘,y1: 6:2’ y2=‘,y2: 6:2, ’ y3=‘,y3: 6:2,);
writeln (‘при x=‘,x: 6:2,’ найбільше значення функцій=‘,max: 6:2);
readln;
end.

Оператор варіанти Case

Якщо кількість розгалужень програми більше двох, то використовується оператор варіантів Case, який є більш загальним випадком умовного оператора. Оператор Case виконує один з декількох операторів в залежності від значення selector. Якщо селектор не збігається з жодним із значень, то виконується оператор після else або наступний після case, якщо else відсутній.
Селектор може бути цілого, символьного, перелічувального, інтервального типу або виразом.
Наприклад, визначимо час року по введеному номеру місяці.

Program case1; { множинний вибір}
Label m;
Var num: integer;
begin
m: writeln (‘Введіть номер місяця’);
readln (num);
write (‘Час року: ‘, num);
case num of { вибір значень селектора num}
1, 2, 12: writeln (‘Зима’);
3..5: writeln (‘Весна’);
6..8: writeln (‘Літо’);
9..11: writeln (‘Осінь’);
else
begin writeln (‘немає з таким номером місяці!’); goto m ; end;
end; {завершення оператора case}
readln;
end .

У наведеному прикладі програми при введенні номери місяця від 1 до 12 на екрані друкується відповідне час року і виконання програми закінчується. Якщо ж номер місяця перевищує 12 або менше 0, то виводиться повідомлення про неправильному введенні місяці, для чого служить зарезервоване слово else і виконується перехід на введення нового значення місяця з допомогою мітки m. У даній програмі num - селектор.

Переглядів: 4558

Повернутися взміст


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн