Зворотний зв'язок

ПАСКАЛЬ: РОБОТА З ФАЙЛАМИ

end.

Крім операцій заміни та вилучення елементів файла, опишемо операцію вставки елемента в довільне місце файла. Нехай місце задається номером нового елемента в файлі. Для вставки використовують один із двох алгоритмів.

У першому алгоритмі використовується допоміжний файл, в який переписуються всі елементи, що передують заданому.

Відкрити основний та допоміжний файли.

У циклі переписати з основного файла в допоміжний всі елементи, номери яких менші заданого. Для цього можна використати допоміжну змінну того ж типу, що і в елементів файла.

У допоміжний файл записати значення, яке треба вставити.

У циклі переписати з основного файла в допоміжний усі елементи, що залишились.

Закрити основний та допоміжний файли.

Знищити основний файл.

Переіменувати допоміжний файл в основний.

У другому алгоритмі замість допоміжного файла використовуються дві допоміжні змінні того ж типу, що і в елементів файла, та допоміжна змінна-лічильник типу LongInt для запам’ятовування поточного місця вставки.

Першій допоміжній змінній присвоїти значення, яке треба вставити в файл.

Встановити файловий вказівник на місце вставки за допомогою процедури Seek.

Запам’ятати місце вставки в змінній-лічильнику за допомогою функції FilePos.

Прочитати значення того елемента, на який вказує файловий вказівник, і присвоїти другій допоміжній змінній.

Знов установити файловий вказівник на місце вставки за допомогою процедури Seek, використавши значення лічильника.

В циклі, поки файл не прочитано:

записати в доступний елемент файла значення з першої змінної;

запам’ятати нове місце вставки, збільшивши лічильник;

першій допоміжній змінній присвоїти значення другої;

прочитати значення того елемента, на який вказує файловий вказівник, і присвоїти другій допоміжній змінній;

установити файловий вказівник на місце вставки за допомогою процедури Seek, використавши значення лічильника.

Записати в доступний елемент файла значення з першої змінної.

Наостанок зауважимо, що значення другого аргументу у виклику процедури Seek може не бути номером елемента в файлі, тобто може бути від’ ємним або більшим кількості елементів файла. За її виклику нічого не трапиться, але за подальшої спроби читати елемент із установленим номером виконання програми аварійно завершиться. Адже елемента з таким номером немає!


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат