ПОРОЖНІЙ І СКЛАДНОЇ ОПЕРАТОРИ
У програмі може застосовуватися порожній оператор, який не виконує жодної дії. Він є крапкою з комою.
Складовим оператором вважається послідовність довільних операторів, укладена в операторні дужки - зарезервовані слова begin .end. Допускається довільна глибина вкладеності складових операторів. Складовий оператор застосовується там, де за синтаксичними правилами мови може стояти лише один оператор, а нам треба виконати кілька дій. У цьому випадку набір необхідних команд має бути оформлений як складовий оператор. По суті, все тіло програми є одним складовим оператором.
Стандартні процедури введення та виведення
Розглянемо найпростіші процедури введення та виведення. За промовчанням введення здійснюється з клавіатури, а виведення на екран. До операторів введення належать:
Read ( );
Readln ( );
Readln ;
Другий відрізняється від першого тим, що після введення перекладає курсор на новий рядок, точніше наприкінці своєї роботи зчитує з клавіатури код клавіші . Третій оператор використовується для організації паузи – виконання програми продовжиться, як правило, лише після натискання на клавіатурі клавіші . До операторів висновку належать:
Write ( );
Writeln ( );
Writeln ;
У списку виведення крім імен змінних можна писати строкові константи (послідовність символів в апострофах) і навіть вирази (виводяться їх значення). Другий оператор відрізняється від першого тим, що після виведення перекладає курсор на новий рядок. Третій оператор просто переводить курсор на новий рядок.
Існує так званий форматований висновок. Можна задати кількість позицій, які відводяться під число. Для цілих - після виразу абозмінною через двокрапку вказується менше якої кількості позицій може бути виділено значенню. Для речових - додатково через двокрапку можна вказати кількість цифр у дробовій частині. При цьому відбувається округлення на ближній бік.
ПРИКЛАД :Прості обчислення.
програм vvod_vyvod;
const n=1.5;
var y1, y2: real; x:byte;
Begin
writeln ('Введіть натуральне число.
label ;
Кожною міткою в програмі може бути помічений лише один оператор. Операторів переходу з однією і тією ж міткою можна писати будь-яку кількість. Необхідно, щоб розділ опису мітки, сама мітка та оператор переходу з її використанням розташовувалися в межах одного блоку програми (див. тему процедури та функції). Крім того, не можна передавати керування всередину структурованих операторів (наприклад, if, for, while, repeat та ін).
УМОВНИЙ ОПЕРАТОР
Умовний операторIF дозволяє змінити порядок виконання команд залежно від певної логічної умови, тобто. він здійснює розгалуження обчислювального процесу. Умовний оператор має вигляд:
IFTHEN [ELSE ];
У разі істиності логічного виразу, що стоїть за умови, виконується , а пропускається. При хибному значенні логічного виразу пропускається і виконується.
ОператорIF може бути повним (є обидві гілки) або неповним (Else -гілки немає, за помилкової умови нічого не робиться). За правилами кожна з гілок може містити або один оператор, або кілька, об'єднаних у складовій. Крапка з комою передElse вважається помилкою.
ПРИКЛАД: Введіть ціле число. Вивести відповідний символ ASCII-таблиці, або повідомити, що такого символу немає (0-31 - коди, що управляють, потім до 256 - друковані символи).
program ascii_symbol;
var i:word;
Begin
write ('Введіть ціле число: ');readln (i);
if (i>31)and (iOF
[ELSE ;]
END ;
Тут - це порядкового типу, залежно від значення якого приймається рішення; C1. CN - значення, з якими порівнюється значення; . - оператор (можливо складові), з яких виконується той, з константою якого відбувається перший збіг значення, виконається, якщо значення ключа не збігається з жодною з констант C1. CN.
ГілкаElse не є обов'язковою, і на відміну від оператораif, перед нею можна ставити крапку з комою. Якщо для кількох значень дії збігаються, то ці константи можна перерахувати через ком перед двокрапкою або навіть задати діапазон значень (нижня межа .. верхня межа).
ПРИКЛАД: Вводиться ціле число, якщо це цифра, то визначити парна вона чи ні, а якщо число, то визначити, чи потрапляє воно в діапазон від 10 до 100, якщо ні, то видати відповідне повідомлення.
програм chislo;
var i:integer;
Begin
write ('Введіть ціле число: ');
readln (i);
case іof
0,2,4,6,8:writeln ('парна цифра');
1,3,5,7,9:writeln ('Непарна цифра');
10. 100,200:writeln ('Кількість від 10 до 100 або 200');
else writeln ('Число або негативне, або > 100, але не 200');
end ;
Readln
end.
ОПЕРАТОРИ ЦИКЛУ
Розглянемо випадок, коли дію требаповторити кілька разів. Наприклад, числохнеобхідно звести в цілу міруn. Тут потрібнооператор циклу. Операторів циклу в Паскалі три: циклfor (з відомим числом повторень або цикл з параметром), циклwhile (з передумовою) та циклrepeat (з постумовою) .
Цикл із параметром
Оператор циклуFor використовується, коли число ітерацій циклу відоме заздалегідь. Його ще називають цикл із лічильником. Існує дві форми:for_to таfor_downto.
Синтаксис
1-а форма:forпараметр:=поч_значtoкон_значdoоператор
2-я форма:forпараметр:=поч_значdowntoкон_значdoоператор
параметр– лічильник циклуfor, може бути змінною будь-якого порядкового типу (нагадаємо, що до порядкових типів відносяться цілий, символьний, перерахований та інтервальний).
поч_значікон_знач- вирази, що визначають початкове та кінцеве значення лічильника.
оператор- оператор, званий тілом циклу, повторюваний кілька разів.