Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ввод числовых значений

Ввод символьных и строковых значений

При вводе значения переменной типа CHAR очередной символ считывается из файла и присваивается переменной.

При вводе из файла значений переменных типа String [n] считываются оче­редные n символов и помещаются в строку символов. количество считанных символов равно n, если не встретились символы EOLN или EOF.

При использовании процедуры Read для ввода данных с клавиатуры символ или символьная строка, занесенные на экран, запоминаются в буфере, содержи­мое которого передается программе только после нажатия клавиши Enter. Если вводимая строка больше размерности логической переменной, то в качестве значения из буфера вводятся только символы, вместившиеся в область памяти, отведенной переменной при объявлении - остальные символы теряются. Если при нажатии клавиши Enter было набрано символов меньше, чем объявлено, то вводится столько символов, сколько их расположено до курсора; но если в строке последние набранные символы - пробелы, то вводится значение до пробела. Чтобы ввести и пробелы, расположенные правее по­следнего вводимого символа, надо после пробелов набрать еще один символ, от­личный от пробела, но на позиции n + 1. Например, с помощью следующего оператора Readln можно ввести различные значения, примеры которых даны в таблице:

VAR ST: STRING[8];

... READLN (ST);

Примеры набранных и введенных с клавиатуры значений строк:

На экране Введется Пояснение ABCDEFIJKL_ 'ABCDEFIJ' Вместилось только 8 символов ABCDE _ 'ABCDE' До очередного пробела ABCD DF K_ 'ABCD DF ' Так как после пробелов стоит К

где _ - положение курсора перед нажатием клавиши Enter.

 

Процедура Read выполняет ввод числовых значений по следующим правилам:

1) пропускаются все ведущие (предшествующие числу) пробелы, признаки табу­ляции и признаки конца строк (EOLN); поэтому при вводе из файла ряда чи­словых значений, расположенных в нескольких строках, процедура Readln не требуется, можно использовать Read; если при пропуске ведущих пробелов встретится символ EOF, переменная получит значение 0;

2) выделяется значение очередного числа: от первого символа, отличного от про­бела, до очередного пробела или признака EOLN или EOF;

3) выделенная подстрока контролируется на правильность арифметической кон­станты;

4) полученное значение преобразуется в форму хранения числа, после чего копи­руется в область ОП переменной.

Если выделенное значение ошибочно (например, делается попытка ввести бу­кву О вместо цифры 0), возникает ошибка ввода-вывода и выдается сообщение; например:

106 Invalid numeric format - ошибочен числовой формат, т. е. ошибочно чи­словое значение.

В этом случае надо скорректировать в файле арифметическое значение или программу и только после этого повторить ввод данных.

 

<== предыдущая лекция | следующая лекция ==>
Ввод данных из текстового файла | Вывод данных в текстовый файл
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 638; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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