Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемНаталья Якушова
1 Файловый тип данных Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация. В языке Паскаль файл представляет собой последовательность элементов одного типа. Все компоненты файла имеют общее имя. Они становятся доступными нам лишь после того, как мы последовательно пройдем все предыдущие значения.
2 Зачем нужен файловый тип данных? Количество элементов файла заранее не фиксируется (может уменьшаться или увеличиваться в ходе выполнения программы). Поэтому в нем можно хранить достаточно большое количество данных. После каждого элемента автоматически ставится признак конца элемента, а в конце файла ставится признак конца файла.
3 Описание файлов Переменные файлового типа могут быть описаны в программе либо явно в разделе переменных Var, либо с использованием раздела типов Type. В разделе переменных: Var : File of ; Например, Var F1: File of Integer; M: File of Char; В разделе типов: Type File_integer = File of Integer; File_char = File of Char; Var F1: File_integer; M: File_char;
4 Файлы, у которых указывается тип их элементов, называются типизированными. Все компоненты файла имеют общее имя, и каждый имеет еще и свой номер. Начальный элемент имеет нулевой номер. С каждым файлом можно связать понятие – текущий указатель (0)(k)(k)(1)(k+1) … Действия с файлами производятся поэлементно, причем в них участвует тот элемент, на который смотрит текущий указатель, перемещающийся в результате выполнения действия на следующий элемент. … Eof
5 Обработка файлов В Паскале файл является некоторой переменной, поэтому ему можно присвоить имя. С другой стороны существует операционная система, которая в свою очередь использует имена файлов. Поэтому необходимо установить связь между переменной-файлом в Паскале и именем файла, присвоенного операционной системой. Assign(, ); Процедура устанавливает соответствие между файловой переменной и внешним файлом: Например, Assign(F1,А:init.dat); Такое соответствие обозначает, что все операции, выполняемые над переменной F1, будут выполняться над файлом, хранящимся на диске А: и имеющим имя init.dat
6 Чтение из файла - ввод данных из внешнего файла, находящегося на диске, в оперативную память машины. 1.Открыть файл для чтения – процедура: ReSet( ); 2. Прочитать данные файла в программу, последовательно читая элементы – процедура: Read(, ); Элемент должен быть того же типа, что и компоненты файла.
7 Запись в файл -Вывод результатов программы из оперативной памяти ЭВМ на диск, т.е. создание нового файла на внешнем устройстве. 1.Открыть файл для записи – процедура: ReWrite( ); 2.Записать данные в файл, при этом запись идет поэлементно – процедура: Write(, ); Элемент должен быть того же типа, что и компоненты файла.
8 Закрытие файла Процедура: Close( ); Общая форма чтения файла имеет вид: ReSet( ); … Read(, ); … Close( ); Общая форма записи в файл имеет вид: ReWrite( ); … Write(, ); … Close( ); (Многоточием отмечено наличие других операторов в программе)
9 Признак конца файла Так как, по определению, число элементов файла не задается заранее, то в языке Паскаль введен признак конца файла. Это логическая функция: Eof ( ); Если конец файла достигнут, она принимает истинное значение (TRUE), и ложное значение (FALSE) – в противном случае. While Not EOF ( ) Do … ;
10 Текстовые файлы - это файлы, содержащие символы, разделенные на строки. Причем в конце каждой строки стоит признак конца строки. Описание: Var A: Text; Особенность текстовых файлов: 1.Элементами этих переменных являются символы, и они имеют текстовую структуру. 2.При чтении и записи числа преобразуются автоматически.
11 Пример. Дан текстовый файл, содержащий только целые числа, в каждой строке может быть несколько чисел, которые разделяются пробелами. Вывести на экран все числа, с учетом разбиения их на строки и подсчитать количество элементов в каждой строке.
12 Решение Пусть в файле содержится следующая информация: Этот файл можно создать в среде Turbo Pascal: Создать новый файл (Меню File команда New); Записать числа в строках через пробелы; Сохранить его, например: d:int1.dat Аналогично файл можно создать в среде «Блокнот»d:int1.txt
13 program Ex1; Var f:text; x,k:integer; begin Assign(f,d:int1.dat'); {связываем с внешним файлом} reset(f); {открываем для чтения} while not eof(f) do begin {пока не конец файла} k:=0; {начальное количество элементов строки} while not eoln(f) do {пока не конец строки} begin read(f,x); {считываем очередное число} write(x,' '); {вывод его на экран} inc(k) {увеличиваем счетчик (k)} end; writeln(' В строке ',k, элементов'); readln(f) {переходим к следующей строке файла } end; close(f); {закрываем файл} readln end.
14 Задача. 1.Элементы одномерного массива (10 чисел) считать из файла. В файле числа расположены в одной строке. Посчитать сумму элементов получившегося массива. Записать элементы этого массива в другой файл и в конце приписать получившуюся сумму. Все элементы в новом файле расположить по одному в строке.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.