Файл: Средства разработки клиентских программ.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.06.2023

Просмотров: 53

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

Исходя из постановки задачи курсовой работы, требуется разработать алгоритм проверки исходных данных на корректность (принадлежность к группе целых чисел, а также проверка, что исходный двумерный массив является квадратом), а также разработать алгоритм проверки соответствия заданного двумерного массива целых числе определению «Магический квадрат».

Для решения задачи был выбран язык программирования Object Pascal и среда программирования Delphi фирмы Borland Enterprise, так как она наиболее широкие возможности для программирования приложений под операционные системы семейства Windows. Среда программирования Delphi является средством быстрой разработки приложений (Rapid Application Development – RAD). Такие среды программирования часто называют визуальными средами разработки: вид рабочих и диалоговых окон во время проектирования, программирования и выполнения программы является одинаковым. В Delphi входят множество библиотек визуальных компонентов, необходимых для профессиональной разработки программных продуктов для операционной системы Windows с минимальными затратами на написание программного кода.

Компилятор Delphi производит небольшие по размерам и высокоэффективные по скорости исполняемые модули. Это означает, что требования к клиентским компьютерам существенно снижаются.

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

  • быстрота разработки приложения (RAD);
  • высокая производительность разработанного приложения;
  • низкие требования разработанного приложения к ресурсам компьютера;
  • наращиваемость за счет встраивания новых компонент и инструментов в среду Delphi;
  • возможность разработки новых компонентов и инструментов собственными средствами Delphi (существующие компоненты и инструменты доступны в исходных кодах);
  • удачная проработка иерархии объектов.

Таким образом, среда визуального проектирования Delphi способная взять на себя значительные объемы рутинной работы по подготовке приложений, что увеличивает скорость и качество разработки программ.


Глава 1 Основные аспекты разработки клиентских программ

1.1 Назначение и область применения, технические характеристики

Программа, разрабатываемая в рамках курсовой работы, предназначена для проверки двумерного массива целых чисел, заданного в текстовом файле, на соответствие определению «магический квадрат».

Область применения: учебный процесс. Автоматизация проверки заданий студентов на кафедре математики.

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

Входными данными является тестовый файл со значениями ячеек квадрата. При этом столбцы в строке разделяются пробелами, а строки отделяются друг от друга новой строкой. В качестве значений ячеек допускаются целые числа. Программа должна предоставлять возможность как ввода исходных данных вручную в поле ввода, так и загрузку ранее созданных матриц числе из текстового файла.

Выходными данными является сообщение о соответствии входных данных определению магический квадрат, либо сообщение о неправильных входных данных.

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

  • проверка, что заданный двумерный массив является непустым квадратом;
  • проверка, что в ячейках квадрата записаны целые числа;

Проверка, что заданный двумерный массив является квадратом, осуществляется путем подсчета столбцов в строках исходной матрицы. В каждой строке должно быть одинаковое количество столбцов. Также число столбцов и число строк должно совпадать, а также быть больше нуля.

Проверка, что в ячейках квадрата записаны целые числа, осуществляется способом конвертации значения ячейки в целое число средствами Delphi. В случае возникновения ошибки конвертации считается, что число записано неправильно.


1.2 Описание алгоритма

В программе решаются три независимые друг от друга подзадачи:

  1. Проверка исходных данных на равное количество строк и столбцов.
  2. Проверка исходных данных на правильную запись чисел в ячейках матрицы.
  3. Проверка соответствия исходных данных определению «магический квадрат».

Алгоритм подзадачи проверки исходных данных на равное количество строк и столбцов представлен на рисунке 1. Данные считаются правильными, если после выполнения алгоритма флаг rectOk остался в значении истинно (true). Ключевым моментом алгоритма является разбивка строки на подстроки с помощью встроенной функции Delphi ExactStrings.

Алгоритм проверки исходных данных на правильную запись целых чисел представлен на рисунке 2. Данные считаются правильными, если флаг digitsOk остался в значении истинно (true) после выполнения алгоритма. Ключевым моментом работы алгоритма является преобразование строки в число с помощью функции StrToInt. Если во время преобразования данных не возникло исключительной ситуации (ошибки), то данные считаются правильными и заносятся в массив входных значений M.

Алгоритм проверки соответствия исходных данных определению «магический квадрат» представлен на рис.3. Исходная матрица считается магическим квадратом, если флаг magicOk остался в значении истинно (true) после выполнения алгоритма.

Рис.1 Алгоритм проверки равного количества строк и столбцов у исходных данных.

Рис.2 Алгоритм проверки правильности ввода целых чисел в ячейки.

Рис.3 Алгоритм определения магического квадрата.

1.3 Организация входных и выходных данных

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

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


1.4 Выбор состава технических и программных средств

Для решения задачи был выбран язык программирования Object Pascal и среда программирования Delphi фирмы Borland Enterprise, так как она наиболее широкие возможности для программирования приложений под операционные системы семейства Windows. Преимущества Delphi по сравнению с аналогичными программными продуктами:

  • быстрота разработки приложения (RAD);
  • высокая производительность разработанного приложения;
  • низкие требования разработанного приложения к ресурсам компьютера;

Среда разработки Delphi работает на операционных системах начиная от Windows XP, со свободным дисковым пространством от 512 мегабайт и оперативной памятью от 1 Гигабайта.

ГЛАВА 2 Разработка рабочего проекта

2.1 Разработка программы

Для разработки приложения «Магический квадрат» используется среда визуального программирования Delphi. Проект программы содержит 2 окна:

  1. Form1 – ввод исходных данных и определение магического квадрата;
  2. Form2 – вывод информации о программе

Окно Form1 «Магический квадрат представлено на рисунке 4.

Рис.4 Окно «Магический квадрат»

Компонент Form1.

Свойства:

Caption – Магический квадрат;

ClientHeight – 408;

ClientWidth – 573;

События – нет;

0 – компонент TButton

Свойства:

Caption – Загрузить из файла;

События:

btn1Click – обработка клика по кнопке;

  1. – Компонент TButton

Свойства:

Caption – Проверка;

События:

btn2Click – обработка клика по кнопке;

  1. – Компонент TMemo

Свойства:

Название – mmo1;

3 – компонент TButton

Свойства:

Caption – О программе;

События:

btn3Click – обработка клика по кнопке;

  1. – невизуальный компонент TOpenDialog

Свойства:

Название: dlgOpen1

Filter: Text files|*.txt;

Окно Form2 “О программе” представлено на рисунке 5.

Компонент Form2.

Свойства:

Caption – О программе;

События – нет;

Рис.5 Окно «О программе»


Окно содержит единственный компонент TLabel:

Свойства:

Caption – содержит текст, представленный на рисунке 5

Align: alClient;

Alignment: taCenter;

Обработчик события btn1Click служит для загрузки содержимого файла в поле ввода.

Обработчик события btn2Click служит для определения магического квадрата по исходным данным, находящимся в поле ввода. Алгоритм проверки корректности данных и определения магического квадрата представлены ранее на рис.1 – 3.

Обработчик события btn3Click служит для отображения окна информации о программе.

Исходные коды с комментариями представлены в разделе 3.3.

2.2 Спецификация программы

Исполняемый файл программы «Магический квадрат» имеет название magicrect.exe и расположен в каталоге magicrect/magicrect.exe.

Таблица 1 - Обозначения

Наименование

Обозначение

Примечание

Sample.txt

Файл с примером двумерного массива

magicrect.dof

Файл параметров проекта

Содержит текущие настройки компилятора и компоновщика

magicrect.dpr

Файл проекта

Связывает все файлы, из которых состоит приложение

magicrect.dsk

Файл, содержащий Desktop – настройки проекта

Содержит информацию об открытых окнах и их размещении

magicrect.Res

Файл ресурсов

Содержит пиктограммы, графические изображения

Unit1.Pas

Файл программного модуля для формы № 1

Определяет функциональность формы № 1

Unit2.Pas

Файл программного модуля для формы № 2

Определяет функциональность формы № 2

Unit1.Dfm

Файл формы № 1

Содержит список свойств компонентов формы № 1

Unit2.Dfm

Файл формы № 2

Содержит список свойств всех компонентов формы № 2

Unit1.Dcu

Объектный файл для Unit1.Pas

Откомпилированная версия Unit1.Pas

Unit2.Dcu

Объектный файл для Unit2.Pas

Откомпилированная версия Unit2.Pas

2.3 Текст программы

Модуль Unit1.pas

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Unit2;

type

TForm1 = class(TForm)

btn1: TButton; {кнопка загрузки}