Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_самостійне_опрацюв.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.22 Mб
Скачать

2. Пошук в масиві заданого елементу.

При вирішенні багатьох завдань|задач| виникає необхідність визначити, чи містить|утримує| масив певну інформацію чи ні|або ні|. Наприклад, перевірити, чи є в списку студентів прізвище Петров. Завдання|задачі| такого типу|типа| називаються пошуком в масиві.

Для організації пошуку в масиві можуть бути використані різні алгоритми. Найбільш простій – це алгоритм простого перебору. Пошук здійснюється послідовним порівнянням елементів масиву із|із| зразком|взірцем| до тих пір, поки не буде знайдений елемент, рівний зразку|взірцю|, або не будуть перевірені всі елементи. Алгоритм простого перебору застосовується, якщо елементи масиву не впорядковані.

Питання для самоконтролю:

  1. Яка суть методу пошуку мінімального (максимального) елемента масиву?

  2. Як здійснити пошук в масиві заданого елемента?

Тема 3.3. Робота з файлами.

Помилки відкриття файла. Приклади застосування.

Спроба відкрити файл може завершитися невдачею і викликати помилку часу виконання програми. Причин невдачі при відкритті файлів може бути дещо. Наприклад, програма спробує відкрити файл на гнучкому диску, який не готовий до роботи (не закрита шторка накопичувача, або диск не вставлений в накопичувач). Інша причина – відсутність файла, що відкривається в режимі додавання (файла немає – додавати нікуди).

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

Приклад повідомлення про помилку відкриття файла (програма Delphi)

Якщо програма запускається з Windows, то вікно з повідомленням про помилку виглядає інакше.

Приклад повідомлення про помилку відкриття файла (програма Windows)

Програма може узяти на себе задачу контролю за результатом виконання інструкції відкриття файла. Зробити це можна, перевіривши значення функції IOResult (input-Output Result – результат введення/виведення). Функція IOResult повертає 0, якщо операція введення/виведення завершилася успішно; інакше – код помилки (не нуль).

Для того, щоб програма змогла перевірити результат виконання операції введення/виведення, потрібно дозволити їй це робити. Для цього треба перед інструкцією виклику процедури відкриття файла помістити директиву компілятору – рядок {$І-}, який забороняє автоматичну обробку помилок введення/виведення. Ця директива повідомляє компілятор, що програма бере на себе контроль помилок. Після інструкції відкриття файла слід помістити директиву {$І+}, поновлюючу режим автоматичної обробки помилок введення/виведення.

Нижче приведена блок-схема алгоритму відкриття файла для додавання, що забезпечує створення файла (і тим самим знімаючого помилку, що виникає при спробі відкрити неіснуючий файл) у випадку, якщо що відкривається для додавання файла на диску ще немає.

Алгоритм відкриття файла з обробкою можливої помилки

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

AssignFile(f,filename);

{$І-}

Append(f) // відкрити для додавання

{$І+}

if IOResult<> 0 // помилка відкриття

then Rewrite(f); // відкрити для запису

// тут відкритий існуючий або новий файл

Питання для самоконтролю:

  1. Чи може завершитися спроба відкриття афйла невдачею?

  2. Які помилки при цьому виникають?

  3. Назвіть їх причини.

  4. Для чого призначена функція IOResult?

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