Ввод – вывод информации в Турбо Паскаль
Решение даже самой простой задачи на компьютере не обходится без операций ввода – вывода информации. В принципе, программирование теряет смысл, если не будет осуществляться ввод и вывод информации.
Простейшим оператором ввода является оператор присваивания (:=). Например:
Program Primer;
Var
x: integer;
y: real;
Begin
x:=1;
y:=2.5;
…
End.
Эта запись означает: переменной целого типа «x» присвоить значение 1, переменной вещественного типа «у» присвоить значение 2.5.
Операторы присваивания так же часто используются в конструкциях вида: х:=х+1; . С точки зрения математики эта запись полный абсурд, а в программировании имеет следующий смысл: взять содержимое переменной «х» прибавить к нему 1 и полученный результат записать опять в переменную «х».
Для вывода информации на экран в Турбо Паскаль служат процедуры Write и Writeln. Например,
Write(x); – выводит на экран значение переменной x,
Write(x,y,z); – выводит на экран значения переменных x,y и z.
Фраза, заключенная в апострофы выводится процедурой write без изменения, например процедура write ('Компьютеризация') выведет на экран слово 'Компьютеризация'. Для выведения на экран комбинаций надписей и значений переменных часто используются конструкции типа:
Write('Значение переменной x= ', x);
Write('Введите ', n, ' элементов');
Write('Значение переменной х= ',x,' Значение переменной у= ',y); .
Обратите внимание на использование пробелов в словах, заключенных в апострофы. Пробелы тоже являются знаками и выводятся без изменения.
Процедура writeln работает аналогично процедуре write. Отличие состоит в том, что после выполнения процедуры указатель переводится на начало следующей строки. Процедура writeln без параметров вызывает перевод указателя на начало следующей строки. Несколько следующих подряд процедур Writeln используются для вставки пустых строк.
В процедурах write и writeln имеется возможность установки формата представления выводимого числа. Например, для целых чисел
Значение x Выражение Результат
10 write(x:6); ____10
2300 write(x:6); __2300
Для вещественных чисел формат представления может иметь вид R: p: q. Здесь p – ширина поля символов, q – число символов после десятичной точки. Например,
Значение x Выражение Результат
511.04 write(x:8:4); 511.0400
-46.78 write(x:8:2); __-46.78
Пример:
Программа, которая вычисляет площадь прямоугольника со сторонами 8 и 4 и выводит результат на экран.
Program DemoWriteln;
Var A,B,Pl: integer; {A,B – длина сторон, Pl – площадь}
Begin
A:=8; B:=4;
Pl:=A+B;
Writeln ('-----------------------------------------------');
Writeln ('! Сторона А ! Сторона В ! Площадь !');
Writeln ('----------------------------------------------');
Writeln ('!',A:7, B:11, Pl:11,'!':5);
Writeln ('----------------------------------------------');
End.
В результате работы программы получим таблицу:
-----------------------------------------------
! Сторона А ! Сторона В ! Площадь !
-----------------------------------------------
! 8 4 32 !
-----------------------------------------------
Для ввода значений переменных с клавиатуры служат процедуры read и readln.
Процедура read(x) работает следующим образом. Она приостанавливает выполнение программы и переводит компьютер в режим ожидания ввода значения переменной. После набора числа на клавиатуре необходимо нажать клавишу Enter. Именно после нажатия клавиши Enter число воспринимается компьютером как введенное. В этом случае переменной х будет присвоено значение введенного числа.
Процедура read позволяет вводить одновременно несколько значений переменных. Например, read(x1,x2,x3);. В данном случае значения x1, x2, x3 набираются минимумом через один пробел.
Значения переменных должны вводиться в строгом соответствии с синтаксисом языка Паскаль. Если соответствие нарушается (например, x1 имеет тип integer, а при вводе набирается значение типа real), то компилятор фиксирует ошибку ввода – вывода и выдает сообщение I/O error XX, где XX – код ошибки.
Процедура readln отличается от read только тем, что после ее выполнения указатель переводится на начало следующей строки. Возможно использование процедуры readln без параметров. В этом случае компьютер приостанавливает выполнение программы и переходит в режим ожидания нажатия клавиши Enter. Процедуру обычно часто ставят в конце программы, чтобы видеть результат исполнения.
Для ввода значений с клавиатуры часто используют комбинацию writeln – readln, типа:
Writeln('Введите число');
Readln(x);
Пример:
Программа нахождения суммы двух чисел введенных с клавиатуры.
Program SummaChisel;
Var
X, Y, Summa: real;
Begin
Writeln('Введите вещественные числа X и Y');
Readln(x,y);
Summa:=X+Y;
Writeln('Сумма чисел X и Y равна ', Summa);
End.