на мета використання процедур це виключення повторюваних дій, а в даній програмі деякі процедури використовуються один раз і їх можна було записати в інші процедури або основну програму, але, на мій погляд, так набагато зручніше, як при програмуванні, так і при перевірки. p align=center>
5. Опис алгоритму програми Незважаючи на простоту даної програми, написання алгоритму виявилося достатньо не простий завданням. У зв'язку з цим довелося розділити його, в цілях його читабельності і доступності.
Основний алгоритм програми розбитий на чотири розділи (схема 1):
- Опис;
- Управління;
- Гра;
- Результати. br/>В
В
Схема 1 - Основний алгоритм програми
5.1 Розділ Опис.
В
Даний розділ призначений для ознайомлення користувачем, з можливостями, програми.
Розділ реалізований за допомогою процедури Avtor. Дана процедура зчитує інформацію з файлу fhelp1.txt і виводить зчитану інформацію на екран, для ознайомлення користувачеві. p> Загальний алгоритм даного розділу полягає в наступному (Схема 2):
- Читання інформації з файлу fhelp1.txt;
- Висновок інформації з файлу на екран;
- Закриття файлу.
Схема 2 Алгоритм - Опис
5.1.1 Читання файлу.
За допомогою процедури assign (f, 'fhelp1.txt'), пов'язуємо файлову змінну f з файлом fhelp1.txt, до якого відбувається звернення. У даному варіанті не описується повний шлях до файлу, маючи на увазі, що даний файл знаходиться в корені каталогу з програмою. Це необхідно в тих випадках, коли користувач захоче перенести файли програми в будь-який зручний для нього місце, якби був прописаний повний шлях, тоді користувач не міг би переміщати файли програми, а в разі переміщення, інформація з розділу Опис, не виводилася б на екран. У цьому випадку, необхідно було б точно встановлювати файли програми, в те місце, де було б прописано. Далі за допомогою процедури reset (f) відкриваємо файл для читання. br/>
5.1.2 Виведення інформації на екран здійснюється за допомогою інструкцій readln (f, g1); writeln (g1). У даній інструкції, змінної g1, спочатку за допомогою readln присвоюється рядок з файлу fhelp1.txt, а потім за допомогою writeln виводиться на екран вміст змінної g1.
5.1.3 Закриття файлу, здійснюється за допомогою процедури close (f);
5.2 Розділ Управління.
У даному розділі, користувачеві пропонується ознайомитися з клавішами управління.
Розділ реалізований за допомогою процедури help. Дана процедура зчитує інформацію з файлу fhelp.txt і виводить зчитану інформацію на екран для ознайомлення користувачеві.
Реалізована дана процедура, точно таким же способом, як і у розділі 5.1 Опис, за винятком того, що звернення відбувається до файлу fhelp.txt, з цього детально зупинятися на даному розділі не має сенсу.
5.3 Розділ Игра.
Даний розділ є основним. Саме в цьому розділі відбуваються основні події. Реалізовано цей алгоритм за допомогою процедури Game15.
Алгоритм даного розділу полягає в наступному:
- Ініціалізація графічного режиму;
- Заповнення в пам'яті комп'ютера табло випадковими цифрами;
- Висновок табло на екран;
- Введення напрямки переходу;
- Пошук порожнього елемента;
- Переміщення елементів табло;
- Перевірка;
- Підсумок;
- Введення особистих даних.
Схематично, даний алгоритм, показаний на схемі 3.
В
В В
В В
В В
Ні
Ні
Так
В
В
Так
В
В
Ні
Схема 3 - Розділ Игра. br/>
5.3.1 Ініціалізація графічного режиму здійснюється в цій же процедурі Game15, при переході з Головного меню програми в розділ ГРА. Перехід до графічного режиму здійснюється, за допомогою процедури InitGraph (grDriver, grMode, grPath), де grDriver - це використовувані програмою драйвер відеоадаптера (VGA), grMode - режим роботи відеосистеми (VGAHi), grPath - це місце знаходження файлу EGAVGA.BGI на диску (як і у випадку з файлами, пишемо тільки ім'я і розширення файлу, а не повний шлях, для того щоб в майбутньому можна було переміщати файли програми).
5.3.2 Заповнення табло випадковими цифрами.
У пам'яті комп'ютера створюється табло, в якому, надалі будуть проводитися перестановки. Табло складається з шістнадцяти клітин...