Студопедия

КАТЕГОРИИ:


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

Стандартный ввод-вывод

Стандартные процедуры

Функция Тип и значение результата

Ординальные функции

Функция Выполняемое действие

Функции преобразования

Функция Результат True, если

Логические функции

Функция Значение

Алгебраические функции

Обозначим x – любое выражение типа Real или Integer. Тип результата у функций Abs и Sqr – такой же, как у x. У остальных алгебраических функций тип результата – Real.

Abs(x) Абсолютное значение (модуль) x.

Sqr(x) Квадрат от x, т.е., x2.

Sqrt(x) Квадратный корень из x.

Sin(x) Синус x, значение x – в радианах.

Cos(x) Косинус x, значение x – в радианах.

Arctan(x) Арктангенс x, результат – в радианах.

Exp(x) Экспонента, ex.

Ln(x) Натуральный логарифм от x.

Обозначим i – выражение типа Integer, а f – файловая переменная. Результат выполнения функций – типа Boolean.

odd(i) Значение выражения i нечетное.

eof(f) При вводе из файла, связанного с переменной f, достигнут конец файла.

eoln(f) При вводе из текстового файла, связанного с переменной f, достигнут конец текущей строки.

Примечание. Файлы, текстовые файлы и файловые переменные рассматриваются в следующем разделе.

Обозначим r – выражение типа Real. Тип результата – Integer.

trunc(r) Отбрасывается дробная часть r.

round(R) Значение r округлятся по правилам арифметики до ближайшего целого.

Примечание. Если значение r по абсолютной величине превосходит максимально возможное значение целого типа, возникает ошибка.

Обозначим d – выражение любого ординального типа, i – выражение целого типа.

ord(d) Результат типа Integer – порядковый номер значения d в списке значений ординального типа, к которому относится x.

chr(i) Результат типа Char – символ, порядковый номер которого в кодовой таблицы символов компьютера равен значению i.

succ(x) Результат того же типа, что и x – ординальное значение, следующее за значением x.

pred(x) Результат того же типа, что и x – ординальное значение, предшествующее значению x.

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

Dispose Pack Readln Unpack

Get Put Reset Write

New Read Rewrite Writeln

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

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

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

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

<процедура стандартного вывода>::=("Write"|"Writeln")["(" <элемент вывода> [<формат>] {","<элемент вывода> [<формат>]}")"].

Здесь элемент вывода – выражение типа Integer, Real, Char или Boolean, или диапазонного типа, определенного на типах Integer или Char, или строковая константа.

Формат определяет, в каком виде будут выводиться данные.

<формат>::= ":"<целое без знака>[":" <целое без знака>"]".

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

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

Если формат для вывода значения типа Real состоит только из одного числа, значение выводится в экспоненциальном (инженерном) формате, например, 1.52Е–002. При этом следует учитывать, что для вывода степенного показателя нужно резервировать от 4 до 6 позиций, в зависимости от реализации языка Паскаль. Если в формате указаны оба числа, значение типа Real выводится в арифметическом формате с десятичной точкой, например, 0.0152.

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

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

Разница между процедурами Write и Writeln состоит в том, что по окончании вывода списка процедурой Write указатель вывода (например, курсор на дисплее) остается в текущей строке, и следующая процедура продолжит вывод в этой же строке, тогда как процедура Writeln по окончании вывода переводит указатель вывода на следующую строку.

Если при выводе на дисплей не все элементы поместились на одной строке, происходит автоматический переход на следующую строку.

Если использовать процедуры Write и Writeln без параметров, процедура Write не выводит ничего, а процедура Writeln производит перевод указателя вывода на следующую строку. Иногда бывает нужно напечатать несколько значений, последовательно вычисляемых в цикле, в одной строке, а затем перейти на следующую строку. Тогда в цикле делают вывод процедурой Write, а затем добавляют процедуру Writeln без параметров после цикла.

Например, для вывода степеней двойки от 21 до 210, можно написать такую программу:

Program PowersOf2;

Var i,j: Integer;

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


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


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



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




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