Операторы ввода/вывода данных

· Операторы вывода данных на экран Write("сп"); или Writeln("сп");

Здесь "сп" - список переменных.

Например, операторы Write(a, b, c); или Write(a); Write(b); Write(c); или Writeln(a, b, c); - выводят значения переменных "a", "b", "c" начиная с текущей позиции курсора. После вывода данных оператором Write("сп"); курсор остается за последним выведенным символом. Оператор Writeln("сп"); после вывода данных переводит курсор на первую позицию следующей строки. Например, для вывода значений переменных "a", "b", "c" в трех строках экрана следует написать:

Writeln(a); Writeln(b); Writeln(c); Оператор Writeln; переводит курсор на начало следующей строки экрана. Оператор Write('Моя первая программа!'); выводит на экран указанный текст.

В операторах вывода допускается производить арифметические действия, например, оператор Writeln(32*a+Sin(x)); соответствует операторам b:=32*a+Sin(x); Writeln(b);

При выводе данных можно задавать формат вывода. Для этого после имени переменной ставится знак двоеточие ": ", например: Writeln(a:5:2); - при выводе значения переменной вещественного типа отводится 5 позиций (включая отрицательный знак и точку), из них 2 позиции отводится для вывода цифр в дробной части. При выводе значения переменной целого типа задается количество позиций для числа (включая отрицательный знак), например: Writeln(i:8);

При выводе значений символьных и строковых переменных формат определяет чис-ло позиций для вывода значения переменной (текста).

При выводе число или текст выравниваются по правому краю отведенного поля, например: если а:=5. 02;, то оператор Writeln('а=', a:6:2); выведет на экран: а= _ _ 5. 02, если n:= '116'; s:= 'Школа N';, то оператор Writeln(s:7, n:6); выведет на экран надпись: Школа N _ _ _ 116.

Для выравнивания числа или текста по левому краю отведенного поля первый знак формата задается отрицательным.

При недостатке количества позиций для вывода число или текст выводятся полностью, а формат игнорируется, кроме формата вывода дробной части числа. Если формат вывода не задавать, то значения целых и строковых переменных выводятся полностью, а вещественных - в экспоненциальной форме с количеством цифр, соответствующих типу переменной, например, оператор Writeln('а=', a); выведет на экран надпись: a=5. 0200000000E+00 (тип Real), либо a=5. 02000000000000E+0000 (тип Double).

Приведем пример программы, выполняющей различные операции с переменными разного типа.

Program N_1; { работа с переменными разного типа }var x, y, z: real; x0, y0: byte; { описание типов переменных } x1, y1, z1: integer; xb, yb, zb: boolean; c1, c2, c3: char; s1, s2, s3: string; Begin x:= 5.8; y:= 3.4; x1:= 43; y1:= 28; { присвоение значений } c1:= 'Z'; c2:= 'S'; x0:= 65; xb:= True; yb:= False; s1:= 'Иванов '; s2:= 'Петров '; Writeln('Математические операции:'); Z:= x+y; { и т. д. } Write('x:=', x:3:1, ' y:=', y:3:1); Writeln('Логические операции:'); Zb:= xb and yb; { и т. д. } Write('xb:=', xb,' yb:= ', yb); Writeln('Математические функции:'); Z:= sin(x*Pi/180); { и т. д. } Writeln('Математические процедуры:'); Write('x1:=', x1); Inc(x1); { и т. д. } Writeln('Функции преобразования типов:'); c3:= Chr(x0);{ и т. д. } Write('x0:=', x0); readln { Задержка экрана до нажатия Enter }end.

· Операторы ввода данных с клавиатуры Read("сп"); или Readln("сп");

Здесь "сп" - список переменных.

Перед вводом данных с клавиатуры желательно вывести на экран поясняющее сообщение. Для этого в программу следует включить оператор вывода, например: Write('введите значение а='); затем оператор Readln(a); При выполнении программы на экране появится надпись: введите значение а=. Оператор Readln(a); будет ждать ввода данных. Следует набрать на клавиатуре значение переменной "а", например, число и нажать клавишу Enter.

Для ввода значений нескольких переменных, например, a, b, c применяются конструкции вида: Readln(a); Readln(b); Readln(c); или Readln(a, b, c);

При вводе нескольких числовых данных, например, оператором Readln(a, b, c); необходимо после набора каждого значения переменной нажимать клавишу SpaceBar или Enter, а в конце ввода - Enter.

При вводе значений символьных переменных нажатие клавиши Enter приводит к присвоению символьной переменной значения кода клавиши Enter (#13), поэтому значения символьных переменных вводятся одна за другой без нажатия Enter или SpaceBar (#32). Например, оператор: Readln(с1, с2, с3, c4); ожидает ввода значений символьных переменных с1, с2, с3, c4, т. е. набора на клавиатуре символов, например: "У", "Р", "А", "!" и нажатия Enter. Тогда оператор Writeln(с1, с2, с3, c4); выведет на экран надпись: УРА!

Оператор Readln; без параметров служит для приостановки выполнения программы и ожидает нажатия клавиши Enter, т. е. применяется с целью приостановки вывода информации на экран для просмотра результатов. При вводе данных предпочтительнее использовать оператор Readln, поскольку оператор Read после срабатывания не считывает управляющий код (#13), который остается в буфере клавиатуры.

Приведем пример программы возведения положительного числа "x" в степень"n", т. е. y = xn. Расчет производится по формуле: y=Exp(n*ln(x)).

Program N_2; {возведение положительного числа в степень}Var n, x, y: real;BEGIN Writeln('Программу разработал Иванов'); Writeln('Возведение положительного числа x степень n'); Writeln('x = '); Readln(x); Write('n = '); Readln(n); y:= exp(n*ln(x)); Writeln('результат y=', y:10:6); readln; {задержка экрана до нажатия Enter}END.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: