"Программы без ошибок можно написать
двумя способами, но работает — третий"
Алан Джей Перлис

Операторы вывода write и writeln в Pascal

В Pascal существуют два оператора вывода - это write() и writeln() . Их отличие заключается в том, что оператор writeln после вывода на экран информации переводит курсор на новую строку, в то время как write оставляет курсор на той же строке.

Рассмотрим на примере: необходимо вывести три переменные A = 5, B = 7, C = 3 друг за другом в одну строку. В этом случае следует использовать оператор write. Код будет выглядеть следующим образом:

program one;
var A,B,C:integer;
begin
     A:=5;
     B:=7;
     C:=3;
     write(A);
     write(B);
     write(C);
end.
или же таким:
program one;
var A,B,C:integer;
begin
     A:=5;
     B:=7;
     C:=3;
     write(A,B,C);
end.
Результат вывода на экран будет следующим: 573

Если необходимо вывести эти же переменные в столбик, следует воспользоваться оператором writeln( ). Код будет выглядеть так:

program one;
var A,B,C:integer;
begin
     A:=5;
     B:=7;
     C:=3;
     writeln(A);
     writeln(B);
     writeln(C);
end.
Результат вывода на экран будет следующим:
5
7
3

Хочу заметить, что в этом случае запись writeln(A,B,C) не принесет нужного эффекта, а именно, вывод будет осуществлен в строчку, а не в столбец.

С отличием операторов разобрались. Теперь поговорим о том, как правильно записывать в скобках у операторов write/writeln то, что мы хотим вывести на экран.

  1. Если мы хотим вывести переменную или несколько переменных, то достаточно просто записать их через запятую в скобках оператора вывода. Например:
    write(A,B);
  2. Бывает, что необходимо округлить число (типа real) при выводе. Например, у нас есть переменная А = 34,756942 и необходимо вывести это число с двумя знаками после запятой. Делается это следующим образом: сначала пишем необходимый нам оператор вывода (write/writeln), внутри скобок записываем имя переменной, затем ставим двоеточие и после него цифрой указываем сколько разрядов будет выводится в целой части, затем ставим еще одно двоеточие, после которого цифрой указываем количество выводимых на экран разрядов дробной части числа. Для нашего примера пишем следующий код: write(A:2:2);. На экран выведется
    34.76
    Если для вывода целой части числа указать меньшее количество разрядов, то компилятор проигнорирует это. Например, если написать write(A:1:2);, результат все равно будет
    34.76
    Если же наоборот, для вывода целой части числа указать большее количество разрядов, то перед числом выведутся пробелы, в количестве недостоющих разрядов. Например, если написать write(A:4:2);, результат будет
      34.76
    Думаю, принцип понятен.
  3. Если мы хотим вывести на экран какой-либо текст, то его следует взять в апострофы (одинарные кавычки). Вот так:
    write('Ученье - свет, неученье - тьма')
    Здесь тоже ничего сложного. Едем дальше.
  4. В этом пункте хотелось бы отметить, что в скобки оператора вывода можно записывать какие-либо выражения. Допустим, если взять пример из первого урока про периметр прямоугольника, то там мы сначала посчитали периметр, затем присвоили его значение переменной P, и только потом вывели ее на экран. Хотя можно было записать:
    write(2*(A+B))
    и обойтись без переменной P. Но это уже личное дело каждого, кто-то делает первым способом, кто-то вторым.

Все, что могло быть интересного в операторе вывода, я вам рассказал. Если возникли какие-то вопросы, не стесняйтесь задавать их, контакты для связи со мной находятся здесь. Если вопросов нет, то вперед к следующему уроку))