Оператори введення-виводу
Найпростіший оператор введення в Паскалі - оператор READ, записується у вигляді:
де ім'я – імена змінних чи типізованих констант. Значення, що вводяться, задаються у вигляді допустимих у Паскалі констант і поділяються будь-якою кількістю прогалин. Щоб завершити введення, натисніть клавішу Enter. Оператор введення можна записати як READLN, при введенні числових змінних вони еквівалентні. Крім того, оператор READLN без списку в дужках можна використовувати для організації затримки в роботі програми - він чекатиме натискання клавіші Enter.
Найпростіший оператор виведення записується у вигляді:
Вивести можна будь-який вираз, якщо необхідно вивести текст, він полягає в апострофі. Оператор WRITELN відрізняється від оператора WRITE тим, що після виведення відбувається перехід на новий рядок. Оператор WRITELN можна використовувати без списку виводу для пропуску рядка. Запишемо приклад програми, що здійснює введення та виведення:
WRITE('Введіть ціле число');
WRITE('Введіть натуральне число');
WRITE('Введіть дійсне число');
WRITELN('Ви ввели: ',i,' ',w,' ',r,' їх сума=',i+w+r);
WRITELN('Натисніть Enter для виходу');
Вперше записавши осмислену програму, зупинимося та обговоримо її зовнішній вигляд. Навіть на такому тривіальному прикладі ми можемо збагнути деякі основні правила оформлення програми.
1. Організація діалогу з користувачем. Перш ніж записати оператор READ, ви зобов'язані записати хоча б один WRITE, який виведе на екран запрошення "Введіть . ", причому з цього запрошення користувач повинен зрозуміти, які саме дані слід ввести. Так, у прикладі оператори WRITE('Введіть i '); READ(i); були б недоречні, оскільки користувачеві невідомо, що таке i, і він міг би ввести, наприклад, речовиннечисло, що призвело до аварійного завершення програми.
При виведенні чисел можна форматувати, тобто. керувати формою їхнього уявлення. Для цього у списку виводу після виразу можна вказувати модифікатори : “:L:d“ - для речових значень і “:L” для речових і цілих. L і d - цілочисленні вирази, перше з них визначає, скільки всього позицій відводиться для числа, що виводиться на екрані, а друге - скільки виводиться цифр після десяткової точки. Якщо при виведенні речового числа заданий модифікатор “:L:d“, то воно виводиться з фіксованою точкою, якщо ж заданий модифікатор “:L” або він відсутній - з плаваючою точкою. Нехай значення змінної X дорівнює 123.45678, тоді оператор
WRITE (X); виведе "1.2345678000E+02"
WRITE (X: 8:2); виведе "123.46"
WRITE(X:10:5); виведе "1.235E+02"
WRITE (X: 10); виведе "1.235E+02"
WRITE (X: 8); виведе "1.2E+02"
WRITE (X: 1); виведе "1.2E+02"
За замовчуванням речові числа завжди поділяються при виведенні пробілами, але якщо ви виводите кілька цілих чисел, не форматуючи їх і не виводячи між ними пробілів, вони будуть виводитися поспіль і зіллються в одне число.