Работа с входными и выходными файлами Зачем это нужно и как это сделать Подготовила Пресняк Т.В.
Для чего нужны входной и выходной файлы Мы рассматривали задачи, в которых во время выполнения программ данные поступали с клавиатуры, а результаты выводились на экран дисплея. Поэтому ни исходные данные, ни результаты не сохранялись. Всякий раз при выполнении одной и той же программы, особенно во время ее отладки, приходится заново вводить исходные данные. А если их очень много? В языке Паскаль есть возможность записать их на диск. Для этого создаются входные (содержащие исходные данные) и выходные (содержащие результат выполнения программы) файлы. В языке Паскаль файл представляет собой последовательность элементов одного типа.
Работа с входным файлом На диске «С» сохраняем файл, созданный в «Блокноте» с именем «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 Задача : Д аны т ри ц елых ч исла. Н айдите среднее и з н их п о с воему з начению
Решение: Program chislo; Var a,b,c,sr: integer; Begin Assign(input,c:\input.txt); Reset(input); Read(a,b,c); Close(input); If (a
Пример программы 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.