Для обмена информацией между пользователем и ПК все данные организуются в файлы.
Файл - либо именованная область памяти на внешнем носителе информации (винчестер, дискета, CD-диск и т.д.), либо логическое устройство представляющее источник или приемник информации (клавиатура, дисплей, принтер, порты и т.д.).
Под файлом можно понимать любой набор данных.
Например: Программа - исходная, откомпилированная, и т.д. Данные – исходные, промежуточные, результирующие, рисунок, текст, график, аудио- видео и т.д. ).
Связь программы с внешним окружением (устройствами) осуществляется с через имена файлов с использованием стандартных процедур ввода/вывода:
READ (читать)
WRITE (писать).
При вводе данных с клавиатуры и выводе на экран дисплея используются стандартные файлы с именами INPUT (ввод) и OUTPUT (вывод) их имена задаются по умолчанию. Рассмотрим стандартный ввод/вывод.
Вывод данных в Паскале
Для вывода данных используются процедуры:
WRITE (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана;
WRITELN (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана с переводом строки;
WRITELN; - перевод строки.
Выводимые переменные могут иметь следующие типы:
- целый;
- вещественный;
- логический;
- символьный;
- строковый.
В качестве элементов списка м.б. символьные и строковые константы. Допускается вывод данных с форматом и без него. При бесформатном выводе для данных отводится длина поля равная необходимой, при этом данные не разделяются пробелами, что затрудняет их чтение, поэтому необходимо предусмотреть разделительные пробелы.
При бесформатном выводе данные вещественного типа выводятся в экспоненциальной форме в виде:
_±#.##############E±####
Пример 8.1. Необходимо вывести следующие значения:
A=10; B=20; C=30;
D=-25,11
R=’IBM PC’;
L=TRUE;
G=FALSE.
Процедура: Будет выведено:
WRITELN (A, B, C); 102030
WRITELN (A, ‘ ‘:2,B,’ ‘:2 C); 10 20 30
WRITELN (‘Компьютер ’, R); Компьютер IBM PC
WRITELN (‘D=’,D); D=_-0.25110000000000E+0001
WRITELN (L,’ ‘:2, G); TRUE FALSE
При использовании форматов в процедурах вывода указывается длина поля отводимого для вывода переменных (К) и точность представления для вещественного числа (М):
WRITELN (A:К);
WRITELN (A:К:М);
Правила использования форматов:
- в отведенном поле данные располагаются справа;
- свободные позиции слева заполняются пробелами, а справа нулями;
- если длина поля меньше необходимой, то формат игнорируется и отводится необходимая длина поля;
- минимальная длина поля для вещественного 10 позиций;
- максимальная длина поля для дробной части вещественного 18 позиций.
Пример 8.2. Необходимо вывести следующие значения:
A=25; B=-3,5; C=-12,21?10-2;
Процедура:
WRITELN (‘A=’,A :3,’ ‘:2,’B=’B:4:1,’C=’, C:13);
Будет выведено: A= 25 B=-3.5 C= -0.1221E-0002
Ввод данных в Паскале
Для ввода данных используются процедуры:
READ (A1, A2,…, AN); - ввод N значений и присваивание их переменным A1, A2,…, AN;
READLN (A1, A2,…, AN); - ввод N значений и присваивание их переменным A1, A2,…, AN с пропуском остальных данных до конца строки;
READLN; - пропуски строки.
Вводимые переменные могут иметь следующие типы:
- целый;
- вещественный;
- символьный;
- строковый.
При вводе данных происходит преобразование форматов из внешней формы представления во внутреннюю, в соответствии с типом переменных в списке.
При чтении данных вещественного типа пробелы, предшествующие числу игнорируются.
При чтении данных строкового и символьного типа пробелы являются значащими.
Пример 8.3. Необходимо ввести следующие значения:
A=5,1; B=-12,21*10-2; I=5; J=20; G=’R’; H=’S’;
* * *
Var
A, B :real;
I, J :integer;
G,H :char;
* * *
Read(A,B);
Readln(I,J);
Readln(G,H);
* * *
Вводим с клавиатуры:
5.1 12.21E-2 5 20 нажимаем Enter
RS нажимаем Enter
Данные примут значения:
A=5,1; B=-12,21*10-2; I=5; J=20; G=’R’; H=’S’.