Программирование на языке Паскаль
Как работать с файлами?
Принцип сэндвича
Ввод данных
Вывод данных в файл
Чтение неизвестного количества данных
Задачи
498.00K
Категория: ПрограммированиеПрограммирование

Программирование на языке Паскаль. Работа с файлами

1. Программирование на языке Паскаль

1
Программирование
на языке Паскаль
§ 68. Работа с файлами
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

2. Как работать с файлами?

Алгоритмизация и программирование, Паскаль, 10 класс
2
Как работать с файлами?
файлы
текстовые
«plain text»:
• текст, разбитый на строки;
• из специальных символов
только символы перехода
на новую строку
К.Ю. Поляков, Е.А. Ерёмин, 2013
двоичные
• любые символы
• рисунки, звуки, видео, …
http://kpolyakov.spb.ru

3. Принцип сэндвича

Алгоритмизация и программирование, Паскаль, 10 класс
3
Принцип сэндвича
хлеб
начинка
хлеб
открыть файл
работа с файлом
закрыть файл
файловые
переменные
var Fin, Fout: Text;
связать с
Assign(Fin, 'input.txt');
файлами
Assign(Fout, 'output.txt');
Reset(Fin);
{ открыть на чтение }
Rewrite(Fout); { открыть на запись }
{ здесь работаем с файлами }
Close(Fout);
{ закрыть файлы }
Close(Fin);
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

4. Ввод данных

Алгоритмизация и программирование, Паскаль, 10 класс
4
Ввод данных
var a, b: integer;
Fin: Text;
...
Assign(Fin, 'input.txt');
Reset(Fin);
readln(Fin, a, b);
Close(Fin);
Переход к началу открытого файла:
Close(Fin);
Reset(Fin);
Определение конца файла:
if Eof(Fin) then { end of file }
write('Данные кончились');
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

5. Вывод данных в файл

Алгоритмизация и программирование, Паскаль, 10 класс
5
Вывод данных в файл
var a, b: integer;
Fout: Text;
...
a:= 1; b:= 2;
Assign(Fout,'output.txt');
Rewrite(Fout);
writeln(Fout, a, '+', b, '=', a+b);
Close(Fout);
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

6. Чтение неизвестного количества данных

Алгоритмизация и программирование, Паскаль, 10 класс
6
Чтение неизвестного количества данных
Задача. В файле записано в столбик неизвестное
количество чисел. Найти их сумму.
program z1;
var s,x:integer;
fin: text;
begin
assign(fin,'input.txt');
reset(fin);
s:=0;
while not (eof(fin)) do
begin
readln(fin,x);
s:=s+x;
end;
close(fin);
writeln(s)
end.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

7. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
7
Задачи
«A»: Напишите программу, которая находит среднее арифметическое всех
чисел, записанных в файле в столбик, и выводит результат в другой
файл.
program z2;
var s,x,k:integer;
fin,res: text;
begin
assign(fin,'input.txt');
reset(fin);
s:=0;
k:=0;
while not (eof(fin)) do
begin
readln(fin,x);
s:=s+x;
k:=k+1;
end;
close(fin);
assign(res,'output.txt');
rewrite(res);
writeln(res,s/k);
close(res);
end.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
English     Русский Правила