
Презентация 45_ОАиП.ppt
- Количество слайдов: 17
ПОВТОРЕНИЕ: Что такое файл? Что такое физический файл? Что такое логический файл? Какие вы знаете характеристики файлов
ДВЕ СТОРОНЫ ПОНЯТИЯ ФАЙЛ : файл – это область памяти на внешнем носителе, в котором хранится некоторая информация. Файл в таком понимании называют физическим файлом, т. е. существующим физически на некотором материальном носителе информации. это одна из структур данных, используемых в программировании. Файл в таком понимании называют логическим файлом, т. е. существующим в нашем логическом представлении при написании программы. Структура физического файла - простая последовательность байт памяти носителя информации. Структура логического файла – это способ восприятия файла в программе.
ЛЮБОЙ ФАЙЛ ИМЕЕТ СЛЕДУЮЩИЕ ХАРАКТЕРИСТИКИ-ТРЕБОВАНИЯ: имя (набор из восьми, допустимых для имени файла, символов плюс расширение, указываемое после точки в имени файла состоящее из трех символов); данные одного типа (любой тип Турбо Паскаля, кроме типа Файл, то есть не существует типа «Файл файлов» );
ТЕМА: ТИПИЗИРОВАННЫЕ ФАЙЛЫ.
В ЗАВИСИМОСТИ ОТ СПОСОБА ОБЪЯВЛЕНИЯ МОЖНО ВЫДЕЛИТЬ ТРИ ВИДА ФАЙЛОВ: типизированные файлы (задаются предложением file of); текстовые файлы (определяются типом text); нетипизированные типом file). файлы (определяются
ТЕКСТОВЫЕ ФАЙЛЫ – это файлы, содержащие символы, разделенные на строки. Причем в конце каждой строки стоит признак конца строки. НЕТИПИЗИРОВАННЫЕ ФАЙЛЫ предназначены для низкоуровневой работы с файлами. С их помощью можно обратиться к файлу любого типа и логической структуры.
ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТКИ ФАЙЛОВЫХ ПЕРЕМЕННЫХ: Assign (<имя файловой переменной>, ’<путь и имя файла на диске>’) – связь переменной файлового типа с конкретным внешним файлом. Reset (f) – процедура открытия существующего файла и подготовка к чтению файла. Указатель текущей позиции файла устанавливается в его начало. Rewrite (f) – процедура создания нового физического файла и подготовка к записи файла. Если такой файл существует, то он удаляется, и на этом месте создается новый пустой файл. Указатель текущей позиции файла устанавливается в его начало.
ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТКИ ФАЙЛОВЫХ ПЕРЕМЕННЫХ: Get (f) - присваивание значения компоненты буферной переменной; Put (f) - создание в файле новой компоненты; Readln (f) - пропуск строки файла до начала следующей; Writeln (f) - запись признака конца строки и переход на следующую; Read (f, x) – процедура чтения компоненты файла. Данные выводятся из файла.
ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТКИ ФАЙЛОВЫХ ПЕРЕМЕННЫХ: Write (f, x) – процедура записи значения переменной в файл, который хранится на диске. Указатель перемещается на следующий элемент. Если указатель текущей позиции файла находится за последним элементом, т. е. в конце файла, то файл расширяется. Eof - признак конца файла- логическая функция для определения, достигнут ли конец файла. Close (f) - процедура закрытия файла.
ПОРЯДОК РАБОТЫ С ФАЙЛАМИ: Assign (F 1, ‘A: int. dat); {связываем файловую переменную с файлом на диске} Reset (F 1); {открываем файл для чтения} while not EOF (F 1) do {пока не достигнут конец файла} begin read (F 1, n); {считываем очередное число} write (n, ‘ ‘); {выводим его на экран} end; close (F 1); {закрываем файл}
ПОВТОРЕНИЕ: Что такое типизированные файлы? Что такое нетипизированные файлы? Какой порядок работы с типизированными файлами?
ЗАДАНИЕ № 1. ПРОЧИТАТЬ ИЗ ФАЙЛА ЦЕЛЫЕ ЧИСЛА И ВЫВЕСТИ ИХ НА ЭКРАН. Program summa; Var F 1: file of integer; {файловая переменная} N: integer; Begin {С файловой переменной F 1 связываем файл на диске} assign (F 1, ‘d: dan. txt‘); reset (F 1); {открываем файл для чтения} While not eof (F 1) do {проверка на конец файла F 1} begin read (F 1, N); {чтение элемента из файла F 1} writeln(N); {вывод элемента на экран} end; close(F 1); {закрываем файл F 1} end.
ЗАДАНИЕ № 2. ПРОЧИТАТЬ ИЗ ФАЙЛА ЦЕЛЫЕ ЧИСЛА И ЗАПИСАТЬ ИХ В ДРУГОЙ ФАЙЛ. Program summa; Var F 1, F 2: file of integer; {файловые переменные} N: integer; Begin {С файловой переменной F 1 связываем файл на диске} assign (F 1, ‘ d: dan. txt); resit (F 1); {открываем файл для чтения} {С файловой переменной F 2 связываем файл на диске} assign (F 2, ‘ d: dan 1. txt); reset (F 2); {Открываем файл F 2 для записи} While not eof (F 1) do {проверка на конец файла F 1} begin read (F 1, N); {чтение элемента из файла F 1} write(F 2, N); {запись элемента в файл F 2} end; write(‘Результат находится в файле dan 1. dat’); close(F 1); {закрываем файл F 1} close(F 2); {закрываем файл F 2} end.
ЗАДАЧА № 3: В ФАЙЛЕ DAN. DAT ЗАПИСАНЫ ЦЕЛЫЕ ЧИСЛА. ВЫЧИСЛИТЬ СУММУ ЭЛЕМЕНТОВ ФАЙЛА И РЕЗУЛЬТАТ ВМЕСТЕ С ИСХОДНЫМИ ДАННЫМИ ЗАПИСАТЬ В ФАЙЛ DAN 1. DAT Program summa; Var F 1, F 2: file of integer: {файловые переменные} S, N: integer; Begin {С файловой переменной F 1 связываем файл на диске} assign (F 1, ‘dan. dat’); resit (F 1); {открываем файл для чтения} {С файловой переменной F 2 связываем файл на диске} assign (F 2, ‘dan 1. da’t); write (F 2); {Открываем файл F 2 для записи}
S: =0; While not eof (F 1) do {проверка на конец файла F 1} begin read (F 1, N); {чтение элемента из файла F 1} write(F 2, N); {запись элемента в файл F 2} S: =S+N; {накопление суммы} end; {Запись суммы элементов в конец файла F 2} write(F 2, S); write(‘Результат находится в файле dan 1. dat’); close(F 1); {закрываем файл F 1} close(F 2); {закрываем файл F 2} readln end.
ЗАДАЧИ: Найти количество элементов файла. сумму положительных элементов файла.
ЗАДАНИЕ НА ДОМ: Повторить тему занятия Оформить результаты решения задач