Занятие 3. Стандартные текстовые файлы Input и Output. Примеры задач
В Паскале существуют два стандартных текстовых файла Input и Output. Эти файлы считаются известными в любой Pascal-программе (иными словами, они описаны в стандартном модуле System). Они обозначают (по терминологии MS-DOS) соответственно стандартный файл ввода и стандартный файл вывода. Обычно эти стандартные файлы связаны с конкретными физическими устройствами компьютера. Так, файловая переменная Input связана с клавиатурой, файловая переменная Output – с экраном дисплея. эти файлы считаются заранее открытыми, а соответствующие идентификаторы можно использовать в операциях ввода-вывода.
Рассмотрим, например, следующий оператор:
writeln (Output, 'Результат равен ', (X+Y)*2)
В соответствии с общими правилами, этот оператор выведет значения двух последних операндов в текущую строку заданного файла, а затем произведет переход к следующей строке. В применении к стандартному файлу Output эти действия будут выглядеть как появление в текущей строчке дисплея литеральных изображений указанных значений, после чего курсор будет перемещен в первую позицию следующей строки.
Аналогично, оператор read (Input, X1, X2); будет выполняться таким образом: система перейдет в состояние ожидания ввода с клавиатуры двух значений. Типы вводимых значений должны совпадать с типами переменных Х1 и Х2. Эти значения при вводе должны отделяться друг от друга одним или несколькими пробелами, а ввод должен быть завершен нажатием клавиши Enter. В процессе ввода значений набираемые на клавиатуре символы отображаются на экране. После нажатия Enter введенные значения будут присвоены переменным Х1 и Х2, и выполнение программы будет продолжено.
Для стандартных файлов Input и Output допускается сокращенная форма записи операций ввода-вывода. Так, если в процедурах read и readln первый параметр опущен, то по умолчанию подразумевается файл Input. Аналогично, отсутствие в процедурах write и writeln первого параметра означает вывод в стандартный файл Output. Вывод в стандартный файл Output используется очень часто – всегда, когда необходимо выдать некоторую информацию из программы на экран.
В соответствии с общими правилами MS-DOS стандартные файлы ввода-вывода могут быть "переназначены", то есть связаны с другими физическими устройствами или дисковыми файлами. Простейшим способом переназначения является использование для этой цели процедуры assign, например,
assign (Output,'MyFile.out')
После выполнения такого оператора стандартный файл вывода будет переназначен, то есть файловая переменная Output будет связана с дисковым файлом MyFile.out из текущего каталога. Все операции вывода, явно или неявно работающие с файлом Output, будут выводить информацию в указанный дисковый файл.
Задание. Рассмотрите предложенные программы, наберите их на компьютере, выделите необходимые части алгоритма в подпрограммы, сформулируйте решаемые ими задачи, дополните необходимыми операторами и комментарием.
Примечание. Если Вы можете решить выше поставленные задачи устно, то поставьте в известность учителя и приготовьтесь к ответу.
Program StringCount;
Uses
Crt;
Var
i : integer;
s : string;
f : text;
Begin
ClrScr;
readln(s);
assign(f,s);
reset(f);
while not Eof(f) do
begin
readln(f,s);
i:=i+1;
end;
close(f);
readln;
End.
Program Zamen;
Uses
Crt;
Var
s : string;
f, d : text;
Begin
ClrScr;
readln(s);
assign(f,s);
readln(s);
assign(d,s);
reset(f);
rewrite(d);
while not Eof(f) do
begin
readln(f,s);
while Pos('o',s)>0 do
s[Pos('o',s)]:='a';
writeln(d,s);
end;
close(f);
close(d);
readln;
End.
Program MaxInFile;
Uses
Crt;
Var
i, j, r, Code : integer;
s : string;
f : text;
Begin
ClrScr;
readln(s);
assign(f,s);
reset(f);
while not Eof(f) do
begin
readln(f,s);
j:=0;
for i:=1 to Length(s) do
begin
Val(s[i],r,Code);
if r>j
then
j:=r;
end;
writeln(j);
end;
close(f);
readln;
End.
Дата добавления: 2015-05-16; просмотров: 1368;