Определение функционально-независимых подзадач (процедур и функций) и пути их реализации



При взаимодействии подпрограмм одного уровня иерархии вступает в силу основное правило ObjectPascal: любая программа должна быть описана.

Каждую пользовательскую процедуру программисту необходимо описать разделе описаний, то есть указать ее заголовок и тело.Procedure<имя> (формальные параметры). Описание функции в основном аналогично описанию процедуры. 

Для функции, кроме того, указывается тип возвращаемого ею результата.

Заголовок содержит служебное словоFunction. Список параметров необязателен и может отсутствовать.

Перечень разрабатываемых процедур следующий:

- ProcedureTimeTimerTimer (Sender: TObject)–процедураявляетсясчетчикомпрошедшеговремени. Организует работу с графикой.

- ProcedurebtnSaveGameClick(Sender: TObject)– данная процедура позволяет сохранить пройденную игру.

- ProcedurebtnNewGameClick (Sender: TObject)– процедура позволяет создать новую игру в любой момент.

- function CheckForSolve: boolean– функция проверки, решена ли матрица Map правильно.

 

 

 

Блок-схемы процедур и алгоритма основной программы

 

Как было указано, алгоритм означает точное описание некоторого процесса, инструкцию по его выполнению.

Блок-схема - описание структуры алгоритмаспомощьюгеометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Этот способ имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость» алгоритма и явно отображает порядок выполнения отдельных команд. В блок-схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур.

Описание блок-схемы программы:

- Блок «Начало/Конец» – открытие программы. Начало и конец алгоритма исполнения;

- Блок «Выбор режима» (условие и проверка) - пользователь выбирает уровень сложности.

Этот блок включает такие функции как: настройки, новая игра (блоки вычислений), ввод цифр, сообщение о выигрыше и завершение процесса.

На рисунке 5 показана блок-схема основной программы.

Рисунок 5 - Глобальная блок-схема основной программы

 

 

 

Описание программы

Логическая структура (функции, процедуры, основная программа)

При разработке программного средства в основном пользуются тремя технологиями разработки:

- структурное программирование 

- модульное программирование

- объектно-ориентированное программирование

Объектно-ориентированное программирование позволяет разложить программу на составные части. Каждая составляющая становится самостоятельным объектом, содержащим свои собственные коды и данные, которые относятся к этому объекту.

При разработке данного программного средства было использовано объектно-ориентированное программирование, так как оно наиболее подходит для написания игры «Судоку».     

Процедура обработки события – это реакция приложения на изменение свойства компонента под воздействием системы или пользователя (нажатие клавиши, перемещение курсора и т.п.) ObjectPascal объекты существуют только в динамической памяти (т.е. переменная, являющаяся объектом, по сути, является указателем на объект, и содержит адрес объекта).

Основная программа включает в себя следующие подпрограммы:

- ProcedurebtnLoadGameClick (Sender: TObject)– процедуру загрузки сохраненной игры;

- ProcedureTimeTimerTimer (Sender: TObject)–процедура является счетчиком прошедшеговремени. Организует работу с графикой.

- Procedure btnSaveGameClick(Sender: TObject) – данная процедура позволяет сохранить пройденную игру.

- ProcedurebtnNewGameClick (Sender: TObject)– процедура позволяет создать новую игру в любой момент.

- functionCheckForSolve: boolean– функция проверки, решена ли матрица Map правильно.

- functionFindMinPoint (varMinPt: TSudokuPt; varMap: TSudokuBoard): integer– данная функция ищет точку (клетку поля) с наименьшим числом кандидатов (цифр), которые можно поставить. В Приложении А будет представлена функциональная модель программы Судоку.

 


Дата добавления: 2019-07-15; просмотров: 243; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!