Операторы ввода-вывода данных
В языке Pascal для выполнения операций ввода-вывода служат 4 стандартные процедуры: Read, Readln, Write,Writeln. Процедура чтенияRead обеспечивает ввод данных. Формат процедуры: Read (x 1, x 2, …, xn); или Read (FV, x 1, x 2, …, xn); здесь x1, x2, …, xn – имена (идентификаторы) переменных, FV – имя переменной, связанной с файлом, откуда будет выполняться чтение. Значения x1, x2, …, xn вводят с клавиатуры через пробел или Enter. Завершают ввод всего списка клавишей Enter. Процедура чтенияReadln аналогична процедуре Read и имеет тот же формат. Отличие: после считывания последнего в списке ввода значения для одной процедуры Readln данные для следующей процедуры Readln будут считываться с начала новой строки. Это несущественно при вводе данных с клавиатуры, но существенно при считывании данных из файла. Пример: в текстовом файле данные расположены по 5 штук в строке; а). в программе есть Read (f, a, b); Read (f, c, d);... Как произойдет считывание? б). в другой программе есть Readln (f, a, b); Readln (f, c, d);... Как произойдет считывание? Процедура записиWrite осуществляет вывод данных. Формат процедуры: Write (x1, x2, …, xn); или Write (FW, x1, x2, …, xn); здесь x1, x2, …, xn – идентификаторы и выражения типа integer, real, byte, char,…, FW – имя файла, в который осуществляется вывод. Для вывода на принтер необходимо использовать специальные средства среды, которые будут рассмотрены ниже. Процедура записиWriteln аналогична процедуре Write и имеет тот же формат. Отличие: после вывода последнего в списке вывода значения при использовании процедуры Writeln происходит перевод курсора к началу следующей строки. Процедура Writeln, указанная без параметров, вызывает переход на новую строку. Удобно при выводе числовой информации указывать после имени данного формат: либо <имя>: n, либо <имя>:n:m, где n, m – целые числа, n > m. Формат:n означает, что при выводе данное типа integer займет в общей сложности n позиций. Формат:n:m означает, что при выводе данное типа rea l займет в общей сложности n позиций, причем m из них займет десятичная часть данного.
Примечание. Стандартные процедуры ввода-вывода – неотъемлемая часть так называемых диалоговых программ. Диалоговые программы – это программы, работающие в интерактивном режиме, т.е. в режиме диалога с пользователем. Интерактивное выполнение программ – это вид информационного взаимодействия между пользователем и программой в реальном масштабе времени. Пакетное выполнение программ – это вид организации обработки информации, когда несколько задач объединяются и отсутствует непосредственный доступ пользователей к программе. Задание 1. Составить программу ввода с клавиатуры 8 целых чисел с последующим выводом их на экран: а) в строку; б) в столбец; в) в две строки через запятую. Обрабатываемые в программе данные подразделяются на константы и переменные. Константы – это данные, значения которых установлены в разделе объявления констант и не изменяются в процессе выполнения программы. Переменные объявляются в разделе объявления переменных, а свои значения получают в процессе выполнения программы, причем эти значения можно менять. К константам и переменным можно обращаться по имени. (Различают статические и динамические переменные. Статические переменные присутствуют в программе на протяжении всего времени ее работы. Динамические переменные создаются и уничтожаются на разных этапах выполнения программы.) Каждый элемент данных принадлежит к определенному типу. Тип данных – это множество допустимых значений этих данных и совокупность операций над ними. Типы данных можно разделить на следующие группы: o простые; o структурированные;
o указатели; o процедурные; o вариантные; o объектные. Все типы данных можно также разделить на стандартные (предопределенные) и пользовательские (определяемые программистом). Кстандартным типам относятся: o целочисленные; o вещественные; o логические; o символьные; o строковые; o файлы; o указатели. Все другие используемые типы данных должны быть определены пользователем либо в разделе описания типов, либо в разделе объявления переменных. Существенное значение имеет понятие совместимости типов, которое означает, что типы равны друг другу или один из них может быть автоматически преобразован к другому. Текст программы может содержать специальные команды, называемые директивами компилятора и служащие для управления режимами компиляции. Директивы компилятора заключают в фигурные скобки и в их начале указывают символ $. Простые типы данных Данные простых типов не содержат данных других типов. Переменные этих типов могут в каждый момент времени иметь только одно значение. К простым типам данных относятся: o Целочисленные; o Символьные (литерные); o Логические (булевские); o Вещественные. Все типы, кроме вещественного, являются порядковыми, т.е. значения переменных каждого из этих типов образуют упорядоченную конечную последовательность. Номера соседних значений в ней отличаются на единицу. Для данных порядковых типов определены стандартные функции (Low, High, Ord, Pred, Succ) и стандартные процедуры (Dec, Inc). Для порядковых типов программист может создавать перечисляемые и интервальные т ипы. Эти типы относятся к пользовательским. Их применение улучшает внешний вид программы и облегчает поиск ошибок. Некоторые простые типы данных делятся на физические (фундаментальные) и общие. Физические типы закладываются при разработке языка и не зависят от работы конкретного компьютера. Общие типы соответствуют одному из конкретных физических типов, их использование считается предпочтительным, так как при этом компилятор создает более эффективный код. Символьные типы: значениями символьного типа являются элементы из набора символов, т.е. буквы. К символьным типам относятся: Char, AnsiChar, WideChar. Для кодирования символов типа AnsiChar используется код Американского национального института стандартов ANSI. Для кодирования символов типа WideChar используется международный набор символов Unicode, включающий более 60 тыс. элементов им позволяющий кодировать символы национальных алфавитов. Первые 256 символов Unicode совпадают с кодом ANSI. Тип Char эквивалентен типу AnsiChar.
Для символов определены следующие функции: Chr(x):Char – возвращает символ с кодом, равным значению целочисленного выражения x; UpCase (С): Char – преобразует символ C в символ C верхнего регистра (заглавный). В программах значения данных символьного типа заключают в апострофы ‘ ‘. Логические типы: Boolean, ByteBool, WordBool, LongBool. В программах рекомендуется использовать тип Boolean, остальные логические типы введены для совместимости с другими системами программирования. Данные этого типа могут принимать два возможных значения True (Истина) и False (Ложь). Перечисляемые типы: задаются непосредственно перечислением всех значений (имен), которые может принимать переменная данного типа. Формат описания перечисляемого типа: Type <имя типа> = (<значение_1>, <значение_2>,..., <значение_ n >); Пример: type Gas=(C, O, N); Day=(Mon, Tue, Wed, Thur, Fri, Sat, Sun); var G1, G2: Gas; Period: Day; Season: (Winter, Spring, Summer, Autumn); Достоинством перечисляемых типов является то, что они облегчают контроль значений переменных, т.к. переменной нельзя присвоить предварительно не перечисленное значение. Определенным недостатком их является то, что при вводе и выводе значений перечисляемых типов нельзя указывать имена соответствующих переменных в процедурах ввода-вывода. Итервальные типы: описываются заданием двух констант, определяющих границы (диапазон) допустимых для данных типов значений, т.е. интервал значений. Интервал можно задать только для данных порядкового типа, т.е. для любого простого типа, кроме вещественного. Формат описания интервального типа: Type <имя типа> = <константа_1>.. <константа_2>); Пример: type Day 1_31 = 1.. 31; ... var day1, day2: Day1_31; Вещественныетипы: Real48, Single, Double, Extended, Comp, Currency. Общим является тип Real, который соотвествует типу Double.
Данные этих типов занимают от 4 до 10 байтов. Запись вещественных чисел возможна в форме с фиксированной десятичной точкой и в форме с плавающей точкой. Примеры: +12.5, -137.46, 5 e +3 (~5? 10 3 = 5000) К выражениям вещественных типов применимы функции Round(x) – округленное значение выражения x и Trunc(x) – целая часть значения выражения x.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|