Transcript pps

Работа с входными и
выходными файлами
Зачем это нужно и как это сделать
Подготовила Пресняк Т.В.
Для чего нужны входной и
выходной файлы
Мы рассматривали задачи, в которых во время
выполнения программ данные поступали с клавиатуры, а
результаты выводились на экран дисплея. Поэтому ни
исходные данные, ни результаты не сохранялись. Всякий
раз при выполнении одной и той же программы, особенно
во время ее отладки, приходится заново вводить исходные
данные. А если их очень много?
В языке Паскаль есть возможность записать их на диск.
Для этого создаются входные (содержащие исходные
данные) и выходные (содержащие результат выполнения
программы) файлы.
В языке Паскаль файл представляет собой
последовательность элементов одного типа.
Работа с входным файлом
На диске «С» сохраняем файл, созданный в «Блокноте» с именем
«input», в котором записываем исходные данные для программы
Для установления связи между входным файлом и программой
имеется стандартная процедура:
Assign(input, ‘c:\input.txt’); - где input –имя входного файла,
а c:\input.txt – путь к данному файлу
Чтение исходных данных из файла:
Reset(input);- открываем файл для чтения
Read(a,b); - читаем данные файла в программу (a и b переменные)
Закрытие входного файла:
Close(input);
Между операторами Reset, Read, Close могут быть другие операторы в
программе
Запись результата в
выходной файл
Под записью файла понимается вывод
результатов программы из оперативной
памяти на диск, т.е. создание нового файла на
внешнем устройстве. Для записи файла в
программе необходимо выполнить следующие
действия:
Assign(output,’C:\output’);
Rewrite(output.txt); - открыть файл для
записи
Writeln(s); - записать данные в файл, при
этом запись идет поэлементно
Close(output); - закрыть файл для записи
Пример программы №1
Задача: Даны три целых числа.
Найдите среднее из них по своему
значению
Пример программы №1
Решение: Program chislo;
Var a,b,c,sr: integer;
Begin
Assign(input,’c:\input.txt’);
Reset(input);
Read(a,b,c);
Close(input);
If (a<=b) and (b<=c) then sr:=b;
If (a<=c) and (c<=b) then sr:=c;
If (b<=a) and (a<=c) then sr:=a;
Assign(output,’c:\output.txt’);
Rewrite(output);
Write(sr);
Close(output);
End.
Пример программы №2
Задача: Дано N-е количество пар
двузначных чисел. Найти среди них
такие пары чисел, сумма которых
равна 100.
Пример программы №2
Решение: Program para_chisel;
Var N,a,b,S: integer;
Begin
Assign(input,’c:\input.txt’);
Assign(output,’c:\output.txt’);
Reset(input);
Rewrite(output);
Read(N);
For i:=1 to N do
Begin
Read(a,b);
S:=a+b;
If S=100 then writeln(a:3,b:3);
end;
Close(input);
Close(output);
End.