write что это в паскале
Primary tabs
Forums:
В этом уроке мы рассмотрим инструкции (стандартные процедуры ввода/вывода):
Read и Readln
Инструкция read предназначена для ввода с клавиатуры значений переменных (исходных данных). В общем виде инструкция выглядит следующим образом:
где переменнаяы — имя переменной, значение которой должно быть введено с клавиатуры во время выполнения программы.
Приведем примеры записи инструкции read:
При выполнении инструкции read происходит следующее:
Например, в результате выполнения инструкции
и ввода с клавиатуры строки 21, значением переменной Temperat будет число 21.
Одна инструкция read позволяет получить значения нескольких переменных. При этом вводимые числа должны быть набраны в одной строке и разделены пробелами. Например, если тип переменных а, b и с — real, то в результате выполнения инструкции
и ввода с клавиатуры строки:
переменные будут иметь следующие значения:
Если в строке набрано больше чисел, чем задано переменных в инструкции read, то оставшаяся часть строки будет обработана следующей инструкцией read. Например, в результате выполнения инструкций
и ввода с клавиатуры строки
переменные получат следующие значения:
. Инструкция read (С); присвоит переменной с значение 18.
Readln
Например, в результате выполнения инструкции
и вводе с клавиатуры строки
перемнные получат следующие значения:
После чего программа будет ожидать ввода нового числа, чтобы присвоить его переменной с.
Write и Writeln
Организация вывода данных на языке Паскаль
Для того чтобы вывести из оперативной памяти полученные данные на экране монитора необходимо использовать оператор вывода Write.
Синтаксис оператора Write имеет следующий вид.
в круглых скобках помещают список вывода, то есть список выражений, которые будут водиться последовательно, друг за другом на экран. Они могут представлять из себя числовые, символьные и логические выражения, в том числе и константы.
Строковой константой называют произвольный набор символов заключённый в апострофы. Такая константа может содержать любые символы, которые могут быть набраны с клавиатуры.
Пример работы оператора write.
В апострофах выводится строковая переменная, а из переменной а, значение равное 10.
На экране будет отображена запись а=10.
На экран выводятся символы, заключенный в апострофы.
Далее на экран выводится значение переменной, которая хранится в ячейке оперативной памяти под определённым именем.
На экране монитора появляется надпись.
Для того чтобы при выводе, отделить друг от друга элементы списка, необходимо организовать их правильный вывод.
сделать это можно следующими способами:
Форматом вывода является указанное после двоеточия целое число, которое определяет, сколько позиций на экране должно занимать выводимая величина.
допустим, если в качестве формата указано число 5. Значит, то на вывод числа приходится 5 свободных мест.
Организация вывода | Вид оператора | Результат на экране |
---|---|---|
без пробелов | write(1,5,10); | 1510 |
с разделителем | write(1,» «,5,» «,10); | 1 5 10 |
с форматом вывода | write(1:3,5:3,10:4); | 1 5 10 |
В том случае, если цифр в числе будет меньше, чем зарезервированных для него на экране, то свободные позиции будут заполнены пробелами слева от числа.
неуказанная в формате выводы: если число будет меньше, то количество знаков будет автоматически увеличено до минимального необходимого.
Для отображения на экране вещественного числа можно указать 2 параметра:
Пример вывод целой и дробной частей вещественного числа.
Вид оператора | Результат на экране |
---|---|
write(«pi=», 3.14:1:1); | pi=3.1 |
write(«pi=», 3.14:2:2); | pi=3.14 |
write(«pi=», 3.14:5:5); | pi=3.14000 |
write(«pi=», 213.14:1:0); | pi=213 |
Отметим, что при выполнении нового оператора write, вывод данных будет продолжен в той же строке.
Для того чтобы принудительно осуществить переход на новую строку, применяется оператор writeln. Других различий, между этими операторами, нет.
Pascal. Операторы ввода-вывода
Ввод данных:
Процедура ввода данных с клавиатуры – Read (читать). Ее можно представить так:
В качестве списка ввода выступают имена переменных. Во время выполнения оператора ввода данных программа останавливается и ждет, пока они будут введены. Для завершения ввода необходимо нажать Enter. Если переменных несколько, то они могут вводиться через пробел, либо, введя одну переменную нужно нажать Enter, потом ввести вторую и т. д.
Для перевода каретки после выполнения оператора Read на новую строку, следует прибавить окончание ln:
Также можно не указывать список ввода:
Программа не перейдет к выполнению следующей части до тез пор, пока не выполниться пустой оператор.
Вывод данных:
Для вывода данных в Паскале имеется оператор Write. Для того, чтобы каретка переводилась на следующую строку, к нему прибавляется окончание ln и получается Writeln. В общем виде эти операторы имеют вид:
Элементами списка вывода являются величины различных типов, в том числе выражения и строки, отделенные друг от друга запятыми, например:
Здесь x и y – параметры, заключенные в круглые скобки. Возможно использование оператора вывода и без параметров:
Форматированный вывод:
Недостаточно просто вывести значение на экран, нужно также сделать это как можно корректнее. Допустим нам нужно в одном операторе Write вывести значения нескольких переменных (a=1, b=2, c=3). Пишем:
После выполнения, на экране действительно отобразятся значения данных переменных, но это понятно компьютеру, а пользователь увидит число 123. Необходимо придать вид выводимым данным, сделать это в Паскале можно двумя способами:
1) Вписать пробел вручную, например:
2) Воспользоваться возможностью форматированного вывода:
Двоеточие относиться к переменной, после которой оно следует, и говорит программе, что при выводе (переменной) нужно выделить место, заданное целым числом (в нашем случае это 2), т. е. под значения, хранящиеся в переменных b и c отводиться две клетки, сами они выведутся «прижатыми» к правому краю.
Процедура форматированного вывода может применяться и к другим типам данных, но особого внимания заслуживает вещественный тип. Как известно переменные вещественного типа имеют целую и дробную части, поэтому для них предусмотрена такая форма записи с использованием формата:
Результат выполнения: 32.101
Формат 5 означает, что всего под число 32.1012 выделено 5 клеток, а 2 – из этих пяти под дробную часть отводиться 2 клетки.
Процедуры Write и WriteLn
Подпишись на новости, чтобы ничего не пропустить
Синтаксис для вывода на консоль:
procedure Write(Args : Arguments);
Синтаксис для вывода в файл:
procedure Write(var F: Text; Args : Arguments);
Аргументами (Arguments) могут быть переменные разных типов. Если используется несколько переменных, то они перечисляются через запятую. Например:
Причём, как уже было сказано, при выводе на консоль эти переменные могут быть разных типов. Также можно использовать и константы:
Если требуется перевод строки, то лучше использовать функцию WriteLn вместо Write:
Но можно использовать, например, символы перевода строки в конце списка аргументов:
При записи в файл можно работать как с типизированными файлами, так и с текстовыми файлами.
Если файл F имеет тип Text, то все необходимые преобразования будут выполнены таким образом, что выходная переменная будет в удобочитаемом формате. Это преобразование выполняется для всех числовых типов. Строки и типы PChar выводятся точно так, как они находятся в памяти.
При выводе на консоль целые числовые значения выводятся в обычном числовом формате. А вещественные числовые значения по умолчанию выводятся в научной нотации.
Чтобы выводить целые числа в поля фиксированной ширины или вещественные числа с фиксированным количеством знаков после запятой, используется специальный формат вывода. Но об этом в данной статье я говорить не буду, так как уже рассказывал об этом здесь.
Ввод-вывод данных в Pascal
Компьютерные программы обрабатывают (изменяют) различные данные. Программа получает данные, что-то делает с ними и выводит их в измененной форме или выводит другие данные.
Откуда или с помощью чего можно ввести данные в программу? Обычно это можно сделать с помощью клавиатуры или из файлов.
Куда можно вывести данные? На экран, в файл, на принтер и др.
Стандартным устройством ввода является клавиатура, а вывода — монитор. Стандартные — значит «работающие по-умолчанию»; т.е. если не указано ничего иного, то программа будет считывать данные с клавиатуры, а выводить их на монитор. Вместе клавиатуру и монитор называют консолью. Таким образом консоль представляет собой стандартное устройство ввода-вывода.
Вывод данных на экран. Форматированный вывод
Write() чаще используется, когда надо вывести для пользователя сообщение на экран, после чего получить данные, не переводя курсора на новую строку. Например, выводим на экран «Введи число: » и не переводим курсор на новую строку, а ждем ввода.
Еще один пример. В памяти компьютера хранятся данные. Из программы мы обращаемся к ним с помощью переменных num, fl и st. Вывести их значения на экран можно по-разному.
Во втором случае мы видим, что процедуры вывода (как write() так writeln() ) позволяют конструировать выводимую информацию из различных компонент (строк-констант и переменных).
В третьем случае был осуществлен так называемый форматированный вывод. При этом для выводимого значения указывается ширина поля вывода (количество знакомест). Если мы выводим вещественное (дробное) число, то вторым числом через двоеточие указывается количество знаков после запятой. Если для вещественных чисел не осуществлять форматирование, то они отобразятся так, как определено для данного компьютера. Если указать только число знакомест без фиксирования дробной части, то вывод будет в экспоненциальной форме.
Ввод данных с клавиатуры
Когда данные вводятся, то они помещаются в ячейки памяти, доступ к которым обеспечивается с помощью механизма переменных. Поэтому, когда в программе на Pascal используется процедура read() (или readln() ), то в качестве фактического параметра (аргумента) ей передается имя переменной, которая будет связана с вводимыми данными. Потом эти данные можно будет использовать в программе или просто вывести на экран.
В процедуры ввода можно передавать не один фактический параметр, а множество.
При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.