Описание логической структуры. Программа не несет в себе единого алгоритма в привычном понимании и поэтому блок-схема не приводится. Методы, использованные при написании программы, не являются математическими или прочими стандартными и будут описаны ниже при описании соответствующих функций.
Структурно программа grafika.срр представляет ряд функций, которые кратко описаны в таблице.2
Таблица.2
наименование функции в программе | краткое описание |
main | главная функция из которой вызываются все другие функции |
demoline | функция демонстрации рисования линий с применением оператора lineto различными цветами |
democircle | функция демонстрации рисования окружностей произвольного радиуса с произвольным выбором цвета и координат центра |
demopix | функция рисования точек в произвольном месте экрана с произвольным цветом |
demopieslice | функция рисования закрашенных секторов с произвольным расположением на экране, произвольным выбором угла, радиуса, стиля заполнения и цвета |
demotext | функция демонстрации вывода текстовых данных в графическом режиме всеми доступными в языке С++ стандартными способами и шрифтами c применением библиотек шрифтов, перечисленных в таблице.1 |
mainwindow | функция формирования на экране графического окна с указанным заголовком *header |
drawborder | функция прорисовки границ графического экрана |
statusline | функция формирования статусной строки с выводом сообщения *msg |
demoarcs | функция вывода на экран дуг (частей окружностей) с произвольным начальным углом, цветом и координатами центра |
demobars | функция вывода на экран определенного числа одинаковых прямоугольников с произвольно изменяющимся цветом |
demo3dbars | функция демонстрации вывода на экран прямоугольных параллелепипедов произвольного размера, способа заполнения передней грани, и цвета, а так же расположения на экране |
diagram | функция демонстрации практического применения функции voidpieslice(...) языка С++ для построения круговой диаграммы по заданным параметрам |
endpage | функция демонстрации практического применения рисования линий и секторов с циклически изменяющимися параметрами |
endpage1 | функция практического применения операторов языка С++ для построения простого калейдоскопа |
endpage2 | завершающая страница, сообщающая пользователю о завершении работы программы |
Кроме функций mainwindow и statusline все остальные функции не имеют входных и выходных параметров. Функция mainwindow в качестве параметра использует символьную строку передаваемую ей вызывающей функцией, также действует и функция statusline. Все функции вывода изображения кроме mainwindow, statusline, drawborder вызываются из главной функции по порядку, а вышеперечисленные вызываются из функций вывода изображения.
Каждая функция вывода изображения вызывает функцию формирования графического окна с необходимым заголовком а также определяет визуальные границы экрана при помощи функции drawborder и помещает в нижнюю часть экрана статусную строку при помощи функции statusline с необходимой надписью. Затем начинается процесс вывода на экран самого изображения, демонстрирующего работу той или иной графической функции языка С++. После прекращения работы управление переходит в главную функцию, откуда вызывается следующая функция вывода изображения.
В процессе работы программа использует файлы, приведенные в таблице.1 и в случае их отсутствия или недоступности функционирование программы будет не полным (библиотеки шрифтов) или полностью невозможным (библиотека взаимодействия с видеоадаптером).
Используемые технические средства. Для правильного функционирования программы необходимо применять следующие компоненты аппаратного комплекса: персональный компьютер класса Ix86 с 640Кб ОЗУ, оснащенный одним накопителем на гибком магнитном диске 720Кб или накопителем типа «винчестер», а так же видеоадаптером EGA или VGA (предпочтительно).Компьютер рекомендуется оснастить видеомонитором, соответствующим видеоадаптеру.
Вызов и загрузка. Для правильного функционирования программы необходимо разместить основной модуль и сопутствующие файлы в одной директории. Для вызова программы необходимо в командой строке ДОС набрать полное имя основного модуля. Никаких параметров в командной строке не требуется.
Входные и выходные данные. Данная программа является демонстрационной и не использует входных данных от пользователя. Выходными данными являются результаты работы функций по выводу изображений на экран. Параметры изображения сохраняются только на экране в процессе работы программы (данной функции).
Общие сведения. Данная программа разработана как учебная и в силу этого не имеет кодового обозначения предусмотренного ГОСТом 19.402-78 и представляет собой исполняемый файл notebook.exe и создаваемые ею в процессе работы файлы данных пользователя, структура которых приводится в приложении 3.
Для функционирования программы необходима операционная система MSDOS 3.30 и выше или полностью совместимой с ней.
Исходный текст программы написан на языке программирования высокого уровня Турбо Паскаль версии 7.0 фирмы Borland для DOS и WINDOWS с применением библиотеки TurboVision и содержится в файле notebook.pasв форме пригодной к использованию его как текстового документа в среде ДОС, и приведен в приложении 3.
Функциональное назначение. Данная программа предназначена для ведения файлов баз данных подобных страницам адресной записной книжки и способна полностью заменить собой ее бумажных предшественников. Информация из файлов программы применяется только в «электронном» варианте и не может быть выведена на устройство печати (данная функция в программе отсутствует). В процессе работы программа создает файл данных и поэтому пользователю не требуется предварительно создавать его самому.
Описание логической структуры. Программа не несет в себе определенного алгоритма в стандартном понимании, а является объектно-ориентированной программой (применены специфические конструкции языка - объекты).
В силу сложившихся традиций и особенностей языка Турбо Паскаль данная программа представляет собой ряд процедур, выполняющих определенную роль и взаимодействующих между собой в рамках исполнительного модуля. Каждая функция выполняет определенное действие исходя из параметров полученных от других функций или от пользователя.
Основной текст программы можно разделить на две части: первая - описание переменных и объектов; вторая - реализация процедур. Ниже в таблице 3 приводятся процедуры, применяемые в программе, а в таблице 4 - объекты.
Таблица 3
tdlgwin.handleEvent | |
Tnotebook.FileOpen | открывает файл данных |
Tnotebook.FileSave | сохраняет файл данных |
Tnotebook.ChangeDir | изменяет текущий каталог |
Tnotebook.DOSCall | временный выход в ДОС |
Tinterior.ReadFile | читает содержимое файла данных в массив LINES |
Tinterior.Draw | выводит данные в окно просмотра |
Control | получает команду из основного диалогового окна |
Tinterior.HandleEvent | основная процедура обработки событий и операций с файлом данных |
DEleteItem | удаляет указанный в Location элемент данных |
AddItem | добавляет новый или редактирует имеющийся элемент данных |
SearchItem | осуществляет поиск необходимого элемента данных по контексту (первые символы) |
Tnotebook.Work | создает окно, в которое в последствии будут выводиться данные |
Tnotebook.HandleEvent | обработчик событий программы связанных с различными объектами |
Tnootebook.InitMenuBar | создание верхнего Bar-меню |
Tnotebook.InitStatusLine | формирование строки статуса |
таблица 4.
Tworkwin | объект-потомок от Twindow - стандартного объекта ТурбоВижн создает рамочное окно с полосами прокрутки для управления встроенным в него объектом Tinterior |
Tdlgwin | объект-потомок от Tdialog - стандартного объекта ТурбоВижн создает диалоговое окно для выбора режима работы |
Tinterior | объект-потомок от Tscroller - стандартного объекта ТурбоВижн обуславливает внутреннюю часть рамочного окна Tworkwin, создает прокручиваемое окно с записями из файла данных и с помощью диалогового окна Tdlgwin управляет работой с этими записями |
Tnotebook | оъект-потомок от Taplication стандартного объекта ТурбоВижн обеспечивающего внешний вид прикладной программы. |
Используемые технические средства. Для правильного функционирования программы необходимо применять следующие компоненты аппаратного комплекса: персональный компьютер класса Ix86 с 640Кб ОЗУ, оснащенный одним накопителем на гибком магнитном диске 720Кб или накопителем типа «винчестер», а так же видеоадаптером EGA или VGA (предпочтительно).Компьютер рекомендуется оснастить видеомонитором, соответствующим видеоадаптеру.
Вызов и загрузка. Для вызова программы необходимо в командой строке ДОС набрать полное имя основного модуля. Никаких параметров в командной строке не требуется.
Входные и выходные данные. Входными и выходными данными для программы является файл (файлы) данных пользователя и выводит информацию, содержащуюся в них на экран дисплея.
приложение 1
#include <stdio.h>
#include <math.h>
//описание переменных, используемых в программе
double pi=3.14,a=1.8,b=-2.0,c=0.1,d=1.6,e=0.9,eps=0.000001;
int i=0;
double x,y;
//описания функций решения методами Ньютона и простых итераций