Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Реализация базовых функций интерфейса по вводу и выводу данных в Паскале

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

В каждом языке для выполнения этих действий есть отдельные процедуры. В Паскале это операторы read и readln (ввод данных) и write и writeln (вывод). Окончание ln в них означает, что после выполнения их действий происходит перевод указателя на новую строку. Без него все действия продолжаются в текущей строке.

Ввод данных. Данные в программу можно ввести с клавиатуры или файла. Стандартным устройством ввода (по умолчанию) является клавиатура. В MS-DOS реализуется асинхронный буферизованный ввод с клавиатуры, при котором вначале. коды всех клавиш, нажимаемых пользователем, попадают в накопитель, называемый буфером клавиатуры. Стандартная его длина рассчитана на хранение до 16 кодов символов и если программа долго не производит выборку из него, а пользователь нажимает клавиши, буфер может оказаться переполненным, что приводит к потере «лишних» кодов.

Чтение из буфера обеспечивается процедурами read и readln, а также функцией ReadKey из библиотеки CRT. Оператор ReadLn(A1,A2,...AK) производит считывание К значений исходных данных (список ввода), вводимых с клавиатуры и отображаемых на экране монитора (это называют эхо-повтором). Компиллятор присваивает эти значения переменным А1, А2,..., АК, переводя их из внешней формы представления во внутреннюю, определяемую типом переменных (который должен быть определен в программе заранее).

Процедура ввода при помощи операторов read и readln может быть использована для ввода одиночных величин следующих типов:

- целый,

- вещественный,

- символьный.

Чтение исходных данных логического типа в языке Паскаль недопустимо.

Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter. Разделение вводимых чисел запятыми не допускается.

Вывод данных. Вывести данные можно на экран монитора, в файл, на принтер. По умолчанию вывод производится на монитор. Оператор WriteLn(A1,A2,...AK) производит вывод значений параметров А1, А2,...,АК, составляющих список вывода, в строку экрана посимвольно, начиная с текущей позиции курсора с последующим переходом к началу следующей экранной строки. При выводе значения величин переводятся из внутреннего представления во внешнее, предназначенное для пользователя. Если процедура WriteLn используется без параметров, то она просто выполняет переход к началу следующей строки.

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

Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.

Операторы вывода позволяют задать ширину поля вывода для каждого элемента его списка (форматированный вывод). В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой. Увеличение размеров полей для выводимых величин обычно используется для повышения их точности, уменьшение - для более компактного представления величин в одной строке.

Вывод вспомогательных строковых величин обычно используется для пояснения смысла вводимых величин. Рассмотрим примеры записи операторов ввода и вывода для одиночных величин:

var A, B: Real;

n, i:Integer;

R, S: Boolean;

chT, chV, chU, chW: Char;

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


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


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



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




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