русс | укр

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

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

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

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


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

Процедуры ввода


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


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

Возможны следующие способы записи указанных процедур:

· Read (A1, A2, …, AK);

· Readln (A1, A2, …, AK);

· Readln;

Первая запись реализует чтение К значений исходных данных и присваивание этих значений переменным А1, А2, …, АК. Вторая запись реализует чтение К значений исходных данных, пропуск остальных значений до начала следующей строки, присваивание считанных значений переменным А1, А2, …, АК. Третий оператор реализует пропуск строки исходных данных.

При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать к целому, вещественному или к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо.

Процедуры ввода при чтении значений переменных целого и вещественного типа пропускают пробелы, предшествующие числу. В то же время эти операторы не пропускают пробелов, предшествующих значениям символьных переменных, так как пробелы являются равноправными символами строк.

Пример: Запрос у пользователя 2-ух вещественных и 2-ух целых значений, а также 2-ух символов.

var x, y: real;

a, b: integer;

c1, c2: char;

Read(x, a, c1);

Readln(c2, b, y);

При вводе данных пользователю требуется ввести значение именно того типа данных, который ожидается программой. В случае же, если требуется ввести, например, значение целого типа, а пользователь вводит символ «a», то произойдет исключительная ситуация (т.е. ошибка). В этом случае на экран будет выведено соответствующее сообщение и работа программы будет остановлена, что недопустимо, когда речь идет о «реальных» разработках для заказчика. Программист должен быть готов к таким ситуациям и предусмотреть действия программы на такой случай. Так, можно воспользоваться директивой компилятора I.



Перед вводом данных можно отключить контроль правильности ввода-вывода с помощью записи {$I-}. После осуществления ввода данных с помощью функции IOResult можно самостоятельно проверить корректность последней операции ввода/вывода: если функция возвращает 0, значит, все в порядке, иначе – была ошибка. Обратите внимание: после вызова функции ее результат сбрасывается, а это означает, что повторный вызов функции IOResult, без осуществления новых операций ввода/вывода, всегда будет возвращать значение 0. Если же код ошибки требуется использовать неоднократно, то его следует запомнить в некоторую переменную. Вновь включить контроль правильности ввода-вывода можно с помощью записи {$I-}.

Пример: Организовать ввод целого значения и проверить корректность вводимого значения.

var k, temp: integer;

begin

{$I-}

readln(k);

temp:=IOResult; {запоминаем код ошибки, т.к. IOResult сбросится в 0}

if temp>0 then writeln (‘Ошибка ввода!!!’); {проверяем код ошибки}

{оператор if будет рассмотрен позже}

{$I+}

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

Пример:

writeln (‘Введите длину забора (в метрах, целое значение)’);

write (‘l=’);

readln (l);



<== предыдущая лекция | следующая лекция ==>
Форматированный вывод | Условный оператор IF


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


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

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

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


 


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

 
 

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

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