Создать текст можно “собственными руками”, набирая его строки на клавиатуре в ответ на приглашение при выполнении такой программы:
program creatext ( input, output );
var f : text; s : string;
begin
assign (f, ‘myfile.txt’);
rewrite(f);
writeln ( ‘Наберите символы строки и нажмите [Enter]: ‘);
while not eof ( input ) do begin
readln(s);
writeln (f, s) ;
writeln ( ‘Наберите символы строки и нажмите [Enter]: ‘);
end;
close (f)
end.
Для задания конца текста на клавиатуре нужно вместо набора очередной строки нажать клавиши [Ctrl+Z]. И не забыть про [Inter].
Отметим, что при закрытии текста с помощью процедуры close к нему добавляется символ конца файла chr (26).
4. Чтение числовых констант из текста.
Для чтения числовых констант удобно воспользоваться процедурой READ – ее выполнение в случае чтения текстов полностью отличается от чтения типизированных файлов. Ее вызов, как и для чтения типизированных файлов, имеет вид:
read(f, список_имен_переменных)
где f – имя текста, а переменные имеют числовые типы. Для безошибочного выполнения вызова файл должен содержать последовательность констант, типы которых соответствуют типам переменных списка.
Целая константа – это последовательность цифр, возможно, со знаком “+” или “-“ в начале, которая задает целое число соответствующего типа, причем между знаком и первой цифрой в тексте не может быть пробелов. Действительная константа – это последовательность цифр и других символов со структурой констант языка Turbo Pascal, например 1.1, 2., 0.99, le-3, -2.73Е+02. Каждая целая константа также может рассматриваться как действительная.
Числовые константы в текстах отделяются произвольным количеством пробелов. Символы табуляции и конца строки также будем называть пробелами.
Вызов read(f, X), где X — имя целой или действительной переменной, выполняется следующим образом. Из текста читаются пробелы, а после них – символы константы до ближайшего пробела. Доступным после чтения константы будет следующий за ней пробел. Если символы в самом деле образуют константу соответствующего типа, то по ним вычисляется значение и присваивается переменной. При действительной переменной X в тексте может быть и целая константа – по ней вычисляется действительное значение. Например, по целой константе 99 – действительное значение 99.0.
Символы могут не образовывать константу соответствующего типа – тогда возникает ошибочная ситуация и выполнение программы аварийно завершается. Например, ошибочными являются последовательности символов “- 2” (здесь стоит пробел между знаком и цифрой), “12345m”, “123-“ (присутствуют нецифровые символы там, где их быть не должно), или “13.” (если читается значение целой переменной).
Отметим, что системы программирования обеспечивают средства обработки ошибочных ситуаций и предотвращения аварийного завершения. Но здесь мы это не рассматриваем.
Система программирования Turbo Pascal имеет следующую особенность. Если доступен конец файла, то попытка прочитать число не завершается аварийно, а соответствующая переменная получает значение 0!
Чтение констант базовых типов с помощью процедуры READLN аналогично чтению с помощью процедуры read. Отличие ее в том, что после чтения последней константы все символы текста, которые остались до ближайшего слова eol, пропускаются вместе с ним. Доступным становится первый символ следующей строки текста. Список имен переменных может быть пустым; в таком случае вызов readln (f) задает пропуск, т.е. чтение без сохранения, текущей строки текста.
5. Особенности чтения символов и строк из текста.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.