Ввод и вывод. Любая программа (алгоритм) должна быть результативна
Любая программа (алгоритм) должна быть результативна. В общем случае это означает, что она должна сообщать результат своей работы потребителю: пользователю-человеку или другой программе (например, программе управления принтером). В программировании существует специальное понятие консоль, которое обозначает клавиатуру при вводе и монитор при выводе. Для того чтобы получить данные, вводимые пользователем вручную (то есть с консоли), применяются команды read(<список_ввода>) и readln(<список_ввода>). Ввод данных выполняется через буфер – специальную область оперативной памяти. Фактически данные сначала заносятся в буфер, а затем считываются оттуда процедурами ввода. Занесение в буфер выполняется по нажатию клавиши Enter вместе с кодом (#13#10). Процедура read, в отличие от readln, не очищает буфер, поэтому следующий за ней ввод будет выполняться с того места, на котором закончился предыдущий, т.е. с символа конца строки. В остальном же их действия полностью совпадают. Список ввода - это последовательность имен переменных, разделенных запятыми. Например, при помощи команды readln(k,x,c,s); {k:byte; x:real; c:char; s:string} программа может получить с клавиатуры данные сразу для четырех переменных, относящихся к различным типам данных. Вводимые значения необходимо разделять пробелами, а завершать ввод - нажатием клавиши Enter. Ввод данных заканчивается в тот момент, когда последняя переменная из списка ввода получила свое значение. Следовательно, вводя данные при помощи приведенной выше команды, вы можете нажать Enter четыре раза - после каждой из вводимых переменных, - либо же только один раз, предварительно введя все четыре переменные в одну строчку (обязательно нужно разделить их пробелами или табуляцией). Типы вводимых значений должны совпадать с типами указанных переменных, иначе возникает ошибка. Поэтому нужно внимательно следить за правильностью вводимых данных. Вообще, вводить с клавиатуры можно только данные базовых типов (за исключением логического). Второе исключение: строки, хотя они и не являются базовым типом, вводить тоже разрешается. Признаком окончания ввода строки является нажатие клавиши Enter, поэтому все следующие за нею переменные необходимо вводить с новой строчки. Сделаем одно важное замечание: ожидая от человека ввода с клавиатуры, не нужно полагать, что он окажется ясновидящим и просто по мерцанию курсора на черном экране догадается, какого типа переменная нужна ожидающей программе. Старайтесь всегда придерживаться правила: "лысый" ввод недопустим! Перед тем как считывать что-либо с консоли, необходимо сообщить пользователю, что именно он должен ввести: смысл вводимой информации, тип данных, максимальное и минимальное допустимые значения и т.п. Примером неплохого приглашения служит, скажем, такая строчка: Введите два вещественных числа (0.1<x,y<1000000) - длины катетов. Впрочем, и ее можно улучшить, сообщив пользователю не только допустимый диапазон ввода, но и ожидаемую точность (количество знаков после запятой). Средства, позволяющие организовать выдачу информации на экран, мы здесь и рассмотрим. Для того чтобы вывести на экран какое-либо сообщение, воспользуйтесь процедурой write(<список_вывода>) или writeln(<список_вывода>). Первая из них, напечатав на экране все, о чем ее просили, оставит курсор в конце выведенной строки, а вторая переведет его в начало следующей строчки. Список вывода может состоять из нескольких переменных, записанных через запятую; все эти переменные должны иметь тип либо базовый, либо строчный. Например, writeln(a,b,c);
|