Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
паскаль.docx
Скачиваний:
18
Добавлен:
24.09.2019
Размер:
161.15 Кб
Скачать

{Loadposition adsense2}

Причины использования

- оптимизация ввода большого количества данных

- файл данных может быть подготовлен другой программой

- не требуется присутствия пользователя при работе с файлом

Характерные особенности файлов

- имеет имя, одновременно можно работать с несколькими файлами

- состоит из компонентов одного типа (любого, кроме файлового)

- длина создаваемого файла при объявлении не указывается

Типы файлов:

По способу доступа

- последовательного

- прямого

По типу (логической структуре)

- текстовые

- типизированные

- не типизированные

Файл имеет

- логическое имя (из раздела var)

- физическое имя (на диске)

Команды

Assign (логическое имя, ‘ физическое имя ‘) установления соответсвия между логическим и физическим именами

Rewrite (логическое имя) – открытие файла для записи, перезапись

Reset (логическое имя) – открытие файла для чтения

Write (логическое имя, переменная которую записуют) – запись информации в файл

{Loadposition adsense1}

Read (логическое имя, переменная которую записуют) – чтение информации из файла

Eof (логическое имя) – анализ признака конца файла. ( whilenoteof (f) do <оператор> - работа с файлом до последнего элемента)

Close (логическое имя) – закрытие файла

Rename (логическое имя, 'физическое имя') – переименование файла

Erase (логическое имя) – удаление файла.

Объявление файла

Var f:file of <тип>;

F:text; (текстовый файл)

 

 

Типизированные файлы

Это файлы строго определенного типа. Обычно состоят из записей.

Объявление

Typefilerec=record

End;

Var

F:file of filerec;

Для определения размера:

Sizeof (filerec)

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

Процедура seek (var f ; numrec : longint) устанавливает текущую длину переменной f на запись с номером numrec.

Для данных файлов существуют следующие операции:

Truncate (varf) – уничтожает все компоненты файла f, начиная с места текущего положения файлового показателя

Filepoz (varf):longint – возвращает для файла f текущую файловую позицию в виде значения типа longint;

Filesize (varf):longint – возвращает размер файла.

Seek (f, filesize (f)); - команда помещения позиции курсора в конец файла.

 

Нетепизированный файл

Объявление

Varuntypedfile:file;

Нетепизированный файл является файлом прямого доступа

Открытие

Rewrite (untypedfile, <длина записи>);

Или

Reset (untypedfile, <длина записи>);

Команды

Blockread (varf:file; varbuf; count:word); - процедура считывает из файла F некоторое число блоков в память, начиная с 1-го байта переменной buf. Параметр buf – любая переменная, используемая для извлечения информации из файла. Параметр count – задает число считывающих блоков

Blockwrite (varf:file; varbuf; count:word); - процедура записи в файл, переменные одинаковые с предыдущей командой.

 

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

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

Eoln (<имя файла>) – проверка, есть ли символы в строке.

Описание

Var <список имен переменных>:text;

Команды считывания информации:

Read (<имя файла>, <список параметров>);

Readln (<имя файла> , <список параметров>);

Создание строки:

Write (<имя файла>,<список выражений>);

Writeln (<имя файла>,<список выражений>);

Для дописывания в файл данных выполнить (вместо rewrite)

Append (<имя файла>);

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

Хорошей иллюстрацией механизма рекурсии является функция для вычисления факториала натурального числа. Вспомним, что факториалом числа называется произведение всех натуральных чисел от 1 до этого числа включительно:

N! = 1*2*3* . . . *(N-2)*(N-1)*N 1! = 1 0! = 1

Сначала покажем обычную не рекурсивную функцию для вычисления факториала, которая реализует итеративный алгоритм вычисления:

Function NonRecFact(N:integer) : LongInt; Var   i : integer; {переменная цикла }   Res : LongInt; {результат} Begin   Res := 1;   for i := 1 to N do     res := Res*i;   NonResFact := Res; End;

12) Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. Данные одного поля разных записей имеют один и тот же тип, а разных полей могут иметь разные типы. Общий вид описания типа record:

type t = record

id11, id12, …: type1;

id21, id22, …: type2;

……………….

end;

здесь id – идентификаторы полей; type – типы полей; t – имя типа.

10,9,8) Существует множество методов сортировки. Одни из них являются более эффективными, другие – проще для понимания. Достаточно простой для понимания является сортировка методом пузырька, который также называют методом простого обмена. ак известно воздух легче воды, поэтому пузырьки воздуха всплывают. Это просто аналогия. В сортировке методом пузырька по возрастанию более легкие (с меньшим значением) элементы постепенно "всплывают" в начало массива, а более тяжелые друг за другом опускаются на дно (в конец массива).

При сортировке выбором выбирается элемент с наименьшим значением и делается его обмен с первым элементом массива. Затем находится элемент с наименьшим значением из оставшихся n-1 элементов и делается его обмен со вторым элементом и т.д. до обмена двух последних элементов. Например, если сортировку выбором применить для массива "bdac", то будут получены следующие проходы:

исходное положение: b d a c;

первый проход: a d b c;

второй проход: a b b c;

третий проход: a b c d.

Сортировка вставкой является последней из класса простых алгоритмов сортировки. При сортировке вставкой сначала упорядочиваются два элемента массива. Затем делается вставка третьего элемента в соответствующее место по отношению к первым двум элементам. Затем делается вставка четвертого элемента в список из трех элементов. Этот процесс повторяется до тех пор, пока все элементы не будут упорядочены. Например, для массива "dcab" сортировка вставкой будет проходить следующим образом:

исходное положение: d c a b;

первый проход: c d a b;

второй проход: a c d b;

третий проход: a b c d.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]