русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ПРОЦЕДУРЫ ВВОДА И ВЫВОДА


Дата добавления: 2013-12-23; просмотров: 1347; Нарушение авторских прав


 

Ввод/вывод связан с обменом информацией между оперативной памятью и внешними устройствами. Здесь рассмотрены процедуры ввода/вывода: read, readln, write, writeln, использующие стандартные файлы ввода/вывода. Стандартным файлом ввода является клавиатура, а вывода – экран. Для ввода данных с клавиатуры применяются процедуры:

read (<список ввода>);

readln (<список ввода>);

Список ввода – это последовательность из одной или более переменных типа char, string, а также любого целого или вещественного типа. При вводе числовых переменных процедура read вначале выделяет подстроку во входном потоке по следующему правилу: все ведущие пробелы, символы табуляции и маркеры конца строки пропускаются, выделяется первый значащий символ, признаком конца подстроки является любой из вышеперечисленных символов или символ конец файла. Выделенная таким образом подстрока рассматривается как символьное представление числовой константы, которое преобразуется в соответствии с типом переменной, и полученное значение присваивается переменной. Если значащих символов в строке нет, а список ввода еще не исчерпан, то автоматически осуществляется переход к новой строке. Процедура readln идентична процедуре read за исключением того, что после считывания последней переменной, оставшаяся часть строки пропускается, так что следующее обращение к read или readln начнется с первого символа новой строки. Кроме того, процедуру readln можно вызывать без параметров, что приведет к пропуску всех символов текущей строки. Рассмотрим следующий фрагмент программы:

var a,b,c,d:real;

begin ... read(a,b,c,d); ... end.

Пусть, требуется ввести числа 1,3;13,3;76,8;125,0. Информация набирается в виде:

1.3 13.3 76.8 125.0

на одной или нескольких строках. В результате выполнения процедуры read переменной а присвоится значение 1.3, переменной b – значение 13.3, с – 76.8, d – 125.0. Если же ввод производится с помощью двух процедур:



readln(a,b,c);read(d);

числа, соответствующие a,b,c, набираются на одной строке, а число, соответствующее d, – на другой.

Для вывода данных на экран используются процедуры:

writeln(<список ввода>);

write(<список ввода>);

Список вывода может содержать одно или несколько выражений типа char, string, boolean, а также любого целого или вещественного типа. Отличие процедуры writeln от write состоит лишь в том, что в процедуре write курсор остается на той же строке экрана за последним выведенным символом, а в writeln курсор переходит на начало следующей строки. Предположим, что переменные a,b,c описаны как целые и имеют соответственно значения 132, 25, -37. После выполнения процедур

writeln(a,b);write(c);

a и b будут напечатаны на одной строке, а с - на другой:

13225

-37

Кроме того, процедура вывода предоставляет возможность указать в выводимом числе количество позиций и сколько из них после запятой (последнее только для чисел с плавающей точкой):

writeln(a:3,b:5,c:4);

В этом случае при печати под значение переменной a отводится 3 позиции, b5 позиций, под с4 позиции, т.е. будет выведено 132 25 -37.

Если количество литер в представлении выводимого значения меньше, чем указано в процедуре, то оно слева дополняется пробелами. Если количество указанных позиций недостаточно, то происходит автоматическое увеличение поля до необходимых размеров:

writeln('a=',a:1,'b=',b:2,'c=',c:3);

В последнем примере используется возможность вывода строк символов, при этом будет напечатано:

a=132b=25c= -37

Пусть переменные d, e, f описаны как вещественные и имеют соответственно значения 13,13;123,45;-987,654. Результатом работы оператора

writeln('d=',d:5:2,'e=',e:8:3,'f=',f:8:2);

будет строка

d=13.13e= 123.450f= -987.65

Если для чисел с плавающей точкой указывается только количество позиций в числе, без указания числа позиций после запятой, то в этом случае числа выводятся в экспоненциальной форме, занимая указанное количество позиций. Если длина поля не указывается совсем, то под каждое число отводится стандартная длина поля и числа печатаются в экспоненциальной форме:

writeln('d=',d:10,' e=',e:9,' f=',f);

d= 1.313E+01 e= 1.23Е+02 f=-9.8765000000E+02



<== предыдущая лекция | следующая лекция ==>
ОПЕРАТОР ПРИСВАИВАНИЯ | УСЛОВНЫЙ ОПЕРАТОР


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.