Смекни!
smekni.com

Паскаль робота з файлами (стр. 4 из 4)

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

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

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

Ще цікавіше буде, якщо у виклику Seek задати номер, більший від кількості елементів у файлі, а потім спробувати записати в цей ніби доступний елемент файла. Все буде гаразд, але після цього в файлі чомусь з’ явиться зовсім незрозуміла інформація, "сміття". Перевірте цю інформацію та поміркуйте, звідки береться "сміття"! І будьте уважні, коли записуєте другий аргумент процедури Seek.

Задачі

8. Написати "дурнестійкий" варіант процедури Seek, за яким не дозволяється задавати від’ ємний чи більший від кількості елементів файла номер елемента. Зауважимо, що варіант такої процедури для подальшого читання відрізняється від варіанта для запису тим, що при читанні найбільшим номером доступного елемента є Filesize(f)-1, а при записі – Filesize(f).

9. Написати програми, що реалізують алгоритми вставки нового значення в файл.

10. Написати програму вилучення елемента з файла даних про студентів групи, аналогічну програмі з прикладу 13.4, в якій не використовується допоміжний файл (доцільно застосувати процедуру Truncate).

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

12. Написати програму створення, поповнення, перегляду та обробки файлів записів про студентів груп засобами послідовного та прямого доступу. Використання файлів ведеться за допомогою меню. Воно повинно бути змістом окремого файла та складатися з пунктів, що позначають конкретні операції з файлами чи кінець роботи з меню. Використання меню полягає в тім, що воно виводиться на екран, а виконання програми забезпечує можливість указання з клавіатури, який пункт меню вибирається. У відповідь на указання залежно від обраного пункту забезпечується виконання операції з файлом. Кінець роботи з меню означає завершення програми.

Файли повинні задовольняти умови правильності: в одному класі не може бути двох учнів з однаковими прізвищами та іменами одночасно.

Програма має забезпечити такі операції з файлами:

"установкафайла" – задання імені файла;

"поповнення" – введення записів із клавіатури й додавання їх до файла (з перевіркою умов правильності);

"перегляд" – виведення записів файла на екран сторінками.

"вибірковий перегляд за полем" – задання значення поля та перегляд лише записів файла з таким значенням цього поля;

"вибіркове копіювання за полем" – задання значення поля та копіювання в інший файл записів тільки з таким значенням цього поля;

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

"перевірка умов правильності" – файл не повинен вміщувати записи-дублі та записи, що порушують умови правильності;

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