СТАНДАРТНІ ПРОЦЕДУРИ ВВОДУ ТА ВИВОДУ ІНФОРМАЦІЇ.

Попередня сторінка Зміст Задачі Наступна сторінка

Для операцій вводу та виводу служать чотири стандартні процедури Read, ReadLn, Write, WriteLN. Розглянемо їх застосування для вводу даних з клавіатури і виводу на екран дисплея. Процедура Read забезпечує ввід числових даних, символів. Рядків для їх наступної обробки програмою.

Формат. Read(x1, x2,... , xn);

Тут x1, x2... , xn - змінні допустимих типів даних. Значення змінних повинні вводитися у строгій відповідальності до їх типу. Якщо відповідність порушена (наприклад, x1 має тип integer, а при вводі набирається значення типу char), то виникає помилка вводу - виводу.

Приклад.

Var 
I:real; J:integer; K:char; 
Begin
 Read(I,J,K);
...................
end.
1-й варіант набору 		 2-й варіант набору
235.98 100 G <Enter>	   235.98 G 100 <Enter>

Перший варіант забезпечує правильний ввід даних, так як значення 235. 98, 100 і G відповідають типам змінним I, J, K в процедурі Read. Другий варіант вводу приводить до помилки, оскільки замість значення типу integer набирається значення типу char.

Процедура вводу ReadLn аналогічна процедурі Read. Відмінність полягає в тому, що при вводі процедурою Read можна вводити як окремі значення, так і їх сукупність, а процедурою ReadLn тільки окремі значення. Якщо вводити сукупність значень, то їх розділяють пробілами. Кількість пробілів ніякої ролі не грає. ReadLn без параметрів використовується для затримки виконання програми. Програма продовжить виконання , якщо буде натиснути клавіша <Enter>.

Процедура виводу Write здійснює вивід числових даних, символів, рядків і булевих значень.

Формат: Write(Y1, Y2,.. , Yn);
де Y1, Y2... , Yn-вирази типу integer, real, char, boolean і ін.

Приклад.

Write(384); { виводиться число }
Write('Результат обчислень ');{ виводиться текст }
Write(False); { виводиться булеве значення }

При виводі рядків процедурою Write останні беруться в апострофи. В українській мові багато слів вживаються з апострофом. Щоб вивід був коректним, в словах, що містять апостроф, слід замінити апостроф на лапки (а не на два апострофи, що помилково). Наприклад, щоб вивести слово "Розв'язок" слід записати Write (' Розв"язок ’);.

Процедура Write і WriteLn дозволяють виконувати форматований вивід. Для різних типів даних задасться різні формати. При виводі даних цілочисельних, символьного, рядкового і булевого типів можна через двокрапку вказати кількість позицій, у які виводитись значення.

Приклад
Результат
I:=345; Write(I:5); _ _ 345
Ch:='G';Write(Ch:2); _ G
B:=False; Write(B:3); False

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

Приклад
Результат
R1:=15.277; Write(R1:6:2); _ 15,28
R1:=178.385; Write(R2:4:2); 178.39

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

Попередня сторінка Зміст Задачі Наступна сторінка