Pascal/Ввід і вивід

Матеріал з Вікіпідручника
Перейти до: навігація, пошук

Розширений ввід та вивід[ред.]

Як вже згадувалося, в мові Паскаль є дві функції для вводу: read та readln. Різниця між ними полягає, насамперед, у тому, що read читає символи, які треба ввести (наприклад, якщо вводиться ціле число - цифри), доки не зустріне "неправильний" символ, а решту лишає для наступного вводу; readln же читає символи до кінця рядку і викидає "зайві". Так, фрагмент коду (змінні a та b - цілі)

readln(a);
readln(b);
writeln(a,' ',b);

на ввід

1 2↵ Enter

3 4↵ Enter

виведе "1 3"; а фрагмент

read(a);
read(b);
writeln(a,' ',b);

на той самий ввід виведе "1 2"!

Зауважимо, що другий код еквівалентний коду

read(a, b);
writeln(a,' ',b);

Розширений вивід[ред.]

Ми вже знаємо, що процедури write і writeln виводять свої параметри, причому writeln додає знак нового рядку наприкінці. Але лишається одна незручність - дійсні числа виводяться не так, як нам би хотілося. Щоб вказати, як саме мають виводитися числа, використовуються позначки форматування, які ставляться через двокрапку після параметра. Так, рядок

writeln('x = ',2.0:5:2);

виведе x = 2.00 Друга позначка - число 2, як ви могли здогадатися, означає "2 знаки після десяткової коми"; а перша позначка - мінімальну загальну кількість знаків у виводі (зверніть увагу на два пробіли між = і 2! Число 2.00 має зайняти 5 знаків, але має тільки 4, і тому доповнюється пробілом). Друга позначка може використовуватися тільки з дійсними числами. Позначки можуть бути будь-якими виразами із цілим значенням.

Крім процедур виводу, є ще одна, що використовує позначки форматування - процедура Str(n,s) перетворює число n на рядок s. До числа можна додавати позначки.

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

Завдання[ред.]