Теория:

Для ввода в оперативную память значений переменных используется оператор ввода read:
 
 vvod.png

При выполнении оператора read компьютер переходит в режим ожидания данных: пользователь должен ввести данные с клавиатуры и нажать клавишу Enter. Несколько значений переменных числовых типов могут вводиться через пробел или через запятую. При вводе символьных переменных пробел и запятая воспринимаются как символы, поэтому ставить их нельзя. Первое введённое пользователем значение переменной помещается в ячейку памяти, имя которой расположено первым в списке ввода, и т.д. Поэтому типы вводимых значений (входного потока) должны соответствовать типам переменных, указанных в разделе описания переменных.
 
var i,j: integer;
x:real;
a:char;
 
Присвоим переменным i,j,x,a значения 1, 0, 2,5 и 'A'. Для этого воспользуемся оператором read (i, j, х, а) и организуем входной поток одним из следующих способов:
 
potok.png
 
Здесь мы не только использовали различные разделители (пробел, запятая), но и представляли входной поток в виде одной, двух и четырёх строк. Для ввода данных с клавиатуры можно также использовать оператор readln. Отличие состоит в том, что после выполнения readln осуществляется автоматический переход на новую строку входного потока, даже если в текущей строке остались невведённые символы. Таким образом, readln позволяет считать лишь начальную часть введённой пользователем строки и, проигнорировав её окончание, перейти к следующей строке.
 
Для удобства пользователя с помощью оператора writeln выведем на экран сообщения о предназначении данной программы и запросим ввод радиуса с клавиатуры. Организуем ввод данных в память компьютера с помощью оператора read.
 
Screenshot_6.png
 
Результат работы программы:
 
Screenshot_7.png
 
С помощью этой программы мы можем вычислить длину любой окружности и площадь любого круга. Программа решает не одну задачу с конкретными данными, а целый класс задач. Дополнительно к этому мы организовали удобный и понятный ввод и вывод данных.