Решение задач с использованием ввода-вывода из файлов презентация

Содержание

Слайд 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)

(1)

(k+1)


Действия с файлами производятся поэлементно, причем в них участвует тот элемент, на который смотрит текущий указатель, перемещающийся в результате выполнения действия на следующий элемент.


Eof

Слайд 5

Обработка файлов

В Паскале файл является некоторой переменной, поэтому ему можно присвоить имя. С

другой стороны существует операционная система, которая в свою очередь использует имена файлов. Поэтому необходимо установить связь между переменной-файлом в Паскале и именем файла, присвоенного операционной системой.

Assign(<имя переменной-файла>,’<имя внешнего файла>’);

Процедура устанавливает соответствие между файловой переменной и внешним файлом: Например,
Assign(F1,’А:init.dat’);

Такое соответствие обозначает, что все операции, выполняемые над переменной F1, будут выполняться над файлом, хранящимся на диске А: и имеющим имя ’init.dat’

Слайд 6

Чтение из файла

- ввод данных из внешнего файла, находящегося на диске, в оперативную

память машины.
Открыть файл для чтения – процедура:
ReSet(<имя-переменной файла>);
2. Прочитать данные файла в программу, последовательно читая элементы – процедура:
Read(<имя-переменной_ файла>,<элемент>);
Элемент должен быть того же типа, что и компоненты файла.

Слайд 7

Запись в файл

Вывод результатов программы из оперативной памяти ЭВМ на диск, т.е. создание

нового файла на внешнем устройстве.
Открыть файл для записи – процедура:
ReWrite(<имя-переменной файла>);
Записать данные в файл, при этом запись идет поэлементно – процедура:
Write(<имя-переменной_ файла>,<элемент>);
Элемент должен быть того же типа, что и компоненты файла.

Слайд 8

Закрытие файла

Процедура:
Close(<имя-переменной файла>);
Общая форма чтения файла имеет вид:
ReSet(<имя-переменной файла>);

Read(<имя-переменной_ файла>,<элемент>);

Close(<имя-переменной

файла>);
Общая форма записи в файл имеет вид:
ReWrite(<имя-переменной файла>);

Write(<имя-переменной_ файла>,<элемент>);

Close(<имя-переменной файла>);
(Многоточием отмечено наличие других операторов в программе)

Слайд 9

Признак конца файла

Так как , по определению, число элементов файла не задается заранее,

то в языке Паскаль введен признак конца файла. Это логическая функция:
Eof(<имя-переменной файла>);
Если конец файла достигнут, она принимает истинное значение (TRUE), и ложное значение (FALSE) – в противном случае.
While Not EOF(<имя-переменной файла>) Do
… ;

Слайд 10

Текстовые файлы

- это файлы, содержащие символы, разделенные на строки. Причем в конце

каждой строки стоит признак конца строки.
Описание:
Var A: Text;
Особенность текстовых файлов:
Элементами этих переменных являются символы, и они имеют текстовую структуру.
При чтении и записи числа преобразуются автоматически.

Слайд 11

Пример.

Дан текстовый файл, содержащий только целые числа, в каждой строке может быть

несколько чисел, которые разделяются пробелами. Вывести на экран все числа, с учетом разбиения их на строки и подсчитать количество элементов в каждой строке.

Слайд 12

Решение

Пусть в файле содержится следующая информация:
-32 16 0 8 7
4

5 9 13 11 -5 -8
6 -8 0 -12
1 2
-1 -2 -4
-1 -2 4
Этот файл можно создать в среде 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.
Имя файла: Решение-задач-с-использованием-ввода-вывода-из-файлов.pptx
Количество просмотров: 19
Количество скачиваний: 0