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.