Ввод данных — это передача информации от внешних устройств в оперативную память. Вводятся, как правило, исходные данные решаемой задачи.
Вывод данных — это передача данных из оперативной памяти на внешние носители (печать, дисплей, магнитные устройства и т.д.). Результаты решения любой задачи должны быть выведены.
Основными устройствами ввода-вывода персонального компьютера являются клавиатура и дисплей (экран монитора). Именно через эти устройства, главным образом, осуществляется диалог между человеком и ПК.
Процедура ввода с клавиатуры имеет следующий формат:
Здесь — это последовательность имен переменных, разделенных запятыми, a Read (читать) — оператор обращения к стандартной процедуре ввода. Например:
Read (a, b, с, d)
При выполнении этого оператора работа компьютера прерывается, после чего пользователь набирает на клавиатуре значения переменных а, b, с, d, отделяя их друг от друга пробелами. При этом вводимые значения высвечиваются на экране. В конце набора нажимают клавишу : Ввод значений должен выполняться в строгом соответствии с синтаксисом языка Паскаль. Например, при выполнении ввода в программе
Программа Python (Питон). Ввод и вывод. Типы данных. Линейные алгоритмы
Var T: Real;
Begin
на клавиатуре следует набрать 253.98 100 G [Enter].
Если в программе имеется несколько операторов Read, то данные для них вводятся потоком, т.е. после считывания значений переменных для одного оператора Read данные для следующего оператора до окончания строки считываются из той же строки на экране, что и для предыдущего затем происходит переход на следующую строку. Например, при выполнении ввода в программе
Var А, В: Integer;
Begin
на клавиатуре следует набрать
18758 34[Enter] 2.62Е-02 1.54Е+01[Enter].
Оператор ввода с клавиатуры также может иметь вид
Здесь ReadLn (от read line) — считать строку. В отличие от оператора Read после считывания последнего в списке значений для одного оператора ReadLn данные для следующего оператора ReadLn будут считываться с начала новой строки. Если в предыдущем примере заменить оператор Read на ReadLn, т.е. записать
ReadLn(А, В); ReadLn(С, D);
ввод значений будет происходить из двух строк:
18758 34 [Enter] 2.62Е-02 1.54Е+01 [Enter]
Оператор вывода на экран (обращение к стандартной процедуре вывода) имеет следующий формат:
Здесь элементами списка вывода могут быть выражения различных типов (в частности, константы и переменные), например:
Write(X, Summa, Argl, Arg2);
При выводе на экран нескольких чисел в строку они не отделяются друг от друга пробелами, об этом должен позаботиться программист. Пусть, например, I = 1; J = 2; К= 3. Тогда при выполнении оператора
на экране получим следующую строку: 1 2 3. Причем после вывода последнего символа курсор останется в той же строке, и следующий ввод на экран будет начинаться с этой позиции курсора.
Процедура вывода на экран также может иметь вид
Здесь WriteLn (от Write line) — записать строку. Действие этою оператора отличается от Write тем, что после вывода последнего в списке значения происходит перевод курсора в начало следующей строки. Оператор WriteLn, записанный без параметров, выполняет перевод строки.
Pascal | Ввод и вывод данных
Форматы вывода. Список вывода может содержать указатели форматов вывода (форматы). Формат определяет представление выводимого значения на экране и отделяется от соответствующего ему элемента двоеточием. Если указатель формата отсутствует, машина выводит значение по определенному правилу, предусмотренному по умолчанию.
Далее кратко в справочной форме приведем правила и примеры бесформатного и форматированного вывода величин различных типов. Для представления списка вывода используем следующие обозначения:
I, R, Q — целочисленные выражения;
R — выражение вещественного типа;
B — выражение булевского типа;
Ch — символьная величина;
S — строковое выражение;
* знак «+» или «-»;
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
9. Ввод и вывод данных в Турбо Паскале
Любая программа производит обмен информацией между оперативной памятью и внешними устройствами, на которых расположены файлы с данными. В Паскале для ввода и вывода данных используются два текстовых файла с закрепленными именами Input и Output.
Файл ввода имеет имя Input. Он связан с физическим устройством – клавиатурой, то есть в него попадает информация, вводимая с клавиатуры. При этом происходит эхо-повтор, то есть вводимая информация повторяется на экране.
Файл вывода имеет имя Output и связан с физическим устройством — монитором. В этот файл выводится информация, указанная в программе, и сразу попадает на экран.
Ввод данных — это передача информации от внешних устройств в оперативную память. Вводятся, как правило, исходные данные решаемой задачи. Вывод — обратный процесс, когда данные передаются из оперативной памяти на внешние носители (принтер, дисплей, дисковые накопители и т.д.). Результаты решения всякой задачи должны быть выведены на один из этих носителей.
Основными устройствами ввода-вывода у персонального компьютера являются клавиатура и дисплей (экран монитора). Именно через эти устройства главным образом осуществляется диалог между человеком и ПК.
Стандартные файлы ввода-вывода могут быть переназначены, то есть могут быть связаны с другими физическими устройствами.
Для ввода-вывода данных в Паскале используются специальные стандартные процедуры (операторы).
1. Операторы ввода
Ввод исходных данных с клавиатуры производится с помощью двух процедур (операторов): Read (переводится как «читать») и ReadLn (read line — читать строку). Они имеют следующий формат:
где — это последовательность имен переменных, разделенных запятыми. Например, Read(a,b,c,d).
Переменные в списке ввода могут быть типов integer, real, char, string.
Дойдя до этих операторов в программе, ЭВМ останавливается. Появляется окно вывода результатов, и система ждет ввода данных. На клавиатуре набирают числа, отделяемые друг от друга пробелами, которые отражаются строкой на экране дисплея. После набора чисел нажимают на клавишу ввода Enter (лавишу Enter можно нажимать после каждого вводимого значения).
Каждая переменная из списка получает свое значение в порядке следования. Данных с клавиатуры можно вводить больше, чем в списке. Невостребованные данные будут храниться в файле Input.
Между операторами существует различие:
- оператор read заканчивает свое действие, когда все переменные списка получают свое значение. Те данные, которые были введены через пробел до нажатия клавиши Enter, могут быть использованы следующим оператором read или readln;
- оператор readln, присвоив значения своим переменным, остальные (лишние введенные)значения пропускает, то есть следующим оператором read или readln они не используются.
Источник: studfile.net
Процедуры Read и ReadLn
Процедуры Read и ReadLn выполняют чтение информации из устройства стандартного ввода. В консольных приложениях этим устройством может быть, например, клавиатура (точнее — введённые с клавиатуры данные), в графических приложениях — файл на диске.
То есть эти процедуры являются “антиподами” процедур Write и WriteLn — выполняют противоположные им действия.
Процедуры Read и ReadLn выполняют схожие действия. Основное отличие между ними следующее: процедура ReadLn после завершения ввода выполняет перевод строки (а в случае с файлами читает файл строка за строкой). А процедура Read читает данные подряд — без перевода строки.
В Турбо Паскале я не помню такого (может просто забыл), но в FreePascal ввод с клавиатуры можно выполнять только процедурой ReadLn, а процедура Read почему-то не работает.
Синтаксис для вывода на консоль:
procedure Read(Args: Arguments);
Синтаксис для вывода в файл:
procedure Read(var F: Text; Args: Arguments);
Аргументами (Arguments) могут быть переменные разных типов. Если используется несколько переменных, то они перечисляются через запятую. Например:
var x, y : integer; z : real; str : string; begin WriteLn(‘Введите три целых числа через пробел:’); ReadLn(x, y, z); WriteLn(‘Вы ввели: ‘, x, ‘, ‘, y, ‘, ‘, z:0:2); ReadLn(str); WriteLn(str + str); ReadLn; end.
Как уже было сказано, при вводе с консоли эти переменные могут быть разных типов. Но, в отличие от процедур Write/WriteLn использовать константы не допускается (и это логично))).
ВАЖНО!
При вводе данных следует учитывать, что в случае, если введённое пользователем значение имеет тип, отличный от типа переменной, в которую вводится это значение, то возникнет ошибка времени выполнения. Если, например, в указанном выше примере пользователь в качестве первого числа введёт вещественное значение (такое как 3.14), то программа завершится аварийно, так как переменная х имеет целый тип.
При чтении из файла можно работать как с типизированными файлами, так и с текстовыми файлами.
Если F (см. синтаксис) — это типизированный файл, то переменные, передаваемые как параметры (Args) должны иметь такой же тип, какой указан для файла F. Нетипизированные файлы использовать не допускается. Если параметр F не указан, то предполагается, что чтение выполняется из стандартного устройства ввода.
Если файл F имеет тип Text, то переменные должны иметь тип Char, Integer, Real или String.
Если при чтении файла нет данных, доступных для чтения, то в переменную F возвращается пустое значение (0 — для порядковых типов, пустая строка — для строковых).
В случае использования процедуры ReadLn, то есть при построковом чтении данных, конец строки обозначается определённой последовательностью символов (какими именно — зависит от операционной системы, для DOS/Windows это два символа — #10 и #13).
Маркер конца строки не является частью прочитанной строки и игнорируется.
Если во время выполнения процедуры Read/ReadLn происходит ошибка, то генерируется ошибка времени выполнения. Такое поведение не всегда приемлемо (например, во время чтения файла). Поэтому в каких-то случаях генерацию ошибок отключают. Сделать это можно с помощью директивы компилятора .
В разных отладочных и учебных программах процедуру ReadLn часто используют для того, чтобы консольное приложение не закрылось автоматически после выполнения. Для этого в конце программы просто записывают (как в примере выше):
То есть просто имя процедуры без параметров. В этом случае программа будет ожидать нажатия клавиши ENTER. Следовательно, программа не завершится, пока не будет нажата клавиша ENTER, и это позволит увидеть результат работы программы. Разумеется, в операционной системе DOS (и подобных) такой проблемы нет. Это актуально только для Windows.
Источник: info-master.su