Чтение из файла

advertisement
Тема: Читання з файла
Цель:
Учебная: отработать навыки
применения процедуры работы с текстовыми файлами
посредством решения задач
Воспитательная: Формировать навыки принятия решений, бережное отношение к
технике и информации.
Развивающая: развивать логическое мышление, поддерживать постоянный интерес к
исследуемому предмету и стремление к усвоению новых знаний.
Ход урока
I.
Организационный момент
II.
Проверка домашнего задания
Вопросы по домашнему заданию. Кратковременная с/р по задачам
1.
Создать файл f, компоненты которого являются целыми числами.
Распечатать этот файл.
Program n181; {При этом создан файл .txt, имя которого вводится с клавиатуры}
var
name:string;
x,i:integer;
f:file of integer;
Begin
Writeln('vvedite ima file');
readln(name);
assign(f,name);
rewrite(f);
for i:=1 to 5 do {5 чисел}
Begin
x:= random(100);
Write(f,x);
End;
writeln('sodergimoe file f');
reset(f);
While not eof(f) do
begin
read(f,x);
write(x,' ');
end;
close(f);
end.
2.
Создать файл f, компоненты которого являются целыми числами. Найти
сумму компонент файла.
Program n182;
var
name:string;
S,x,i:integer;
f:file of integer;
Begin
Writeln('vvedite ima file');
readln(name);
assign(f,name);
rewrite(f);
for i:=1 to 5 do
Begin
x:= random(1000);
Write(f,x);
End;
writeln('sodergimoe file f');
reset(f);
While not eof(f) do
begin
read(f,x);
writeln(x,' ');
s:=s+x;
end;
Writeln('summa komponent=',S);
close(f); end.
III.
Новая тема
Вспомним процедуру, которая готовит файл для чтения Reset(f) и непосредственно
считывает компоненты файла, начиная с позиции Read(f, x). Какое условие позволит
определить, является ли компонент файла четным числом? If x mod 2 =0 Каким
образом нужно организовать подсчет четных чисел? S=S+1 в цикле, если значение
вышеуказанного логического выражения равно истина.
1. Дан файл f, компоненты которого являются целыми числами. Найти количество
четных чисел среди компонент файла.
Program n185;
var
S,x,i:integer;
f1:text;
Begin
assign(f1,'erty.txt');
reset(f1);
S:=0;
While not eof(f1) do
begin
read(f1,x);
if x mod 2=0 then S:=S+1;
end;
Writeln('summa chetnih=',S);
close(f1);
end.
2. Дан файл f, компоненты которого являются целыми числами. Записать в файл g все
четные числа файла f, а в файл h – все нечетные. Порядок следования чисел
сохраняется.
Program n185;
var
name:string;
S,x,i:integer;
f,g,h:text;
Begin
assign(f,'erty.txt');
assign(g,'res1.txt');
assign(h,'res2.txt');
reset(f);
Rewrite(g);
Rewrite(h);
While not eof(f) do
begin
read(f,x);
if x mod 2=0 then
Begin
Append(g);
Write(g,x)
end
else
Begin
Append(h);
Write(h,x)
end;
end;
close(f);
close(h);
close(g);
end.
IV.
Постановка домашнего задания
1. Дан файл f, компоненты которого являются действительными числами. Найдите: (в) сумму
квадратов компонент файла f; (г) модуль суммы и квадрат произведения компонент файла f.
V.
Итог урока
Download