на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Дипломная работа: Разработка автоматизированной системы для исследования устойчивости и автоколебаний в электромеханической следящей системе


;

5)  Уравнение тахогенератора имеет вид

6)  Уравнение редуктора

,

где  – коэффициент передачи редуктора.

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

Например, можно пренебречь влиянием статического момента нагрузки и переходного процесса в цепи якоря, тогда структурная схема следящей системы может быть представлена в виде той, которая приведена на рис 1.5

Рис. 1.5

Согласно этой схеме дифференциальное уравнение линейной части системы, записанное относительно входной величины нелинейного звена релейного усилителя U2, имеет следующий вид:


                    (1.19)

Уравнение линейной части дополняется уравнениями нелинейных звеньев. Уравнения имеют вид:

U2=F1(U), U3=F2(U2).


2. Исследование нелинейной следящей системы аналитическими

методами

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

Исходные данные:

Т 1=0,1 с – постоянная времени усилителя;

Т2=1 с – электромеханическая постоянная времени двигателя;

Кл=20 с-1 – общий коэффициент передачи линейной части системы;

К1=50 В/рад – коэффициент передачи чувствительного элемента. Исследование проведем для к2=1 и к2=2;

Составляем структурную схему с учетом допущений рис. 1.6.

Рис. 1.6

Согласно этой схеме дифференциальное уравнение линейной части системы при V1(t)=0 запишется в следующем виде:

(T2p+1)pU1=-kЛU2                                                                                (1.20)

где kЛ=k1k3k5

Дифференциальное уравнение нелинейного звена имеет вид:

(T1p+1)U2=kyU1                                                                                    (1.21)


Коэффициент усиления усилителя ky является нелинейной функцией, заданной графически (рис. 1.5).

Поэтому согласно методу гармонической линеаризации, запишем для него гармонически линеаризованное выражение

                                                                                    (1.22)

где коэффициенты гармонической линеаризации для характеристики с насыщением имеют значение:

                                                                   (1.23)

Из уравнений (1.21) – (1.23) получим линеаризованное уравнение замкнутой нелинейной системы

[(T1p+1)(T2p+1)p+kЛq(a)]U1= 0,                                                           (1.24)

которому соответствует характеристическое уравнение. Оно имеет вид:

T1T2p3+(T1+T2)p2+p+kЛq(a)=0                                                              (1.25)

Для отыскания условий существования периодического решения

                                                                                            (1.26)

из характеристического полинома после подстановки p=j выделим вещественную и мнимую части и приравняем их к нулю:

                              (1.27)

Частота периодического решения находится из второго уравнения (1.27)

                                                             (1.28)

Из первого уравнения(1.27), с учетом (1.28), получим формулу, связывающую амплитуду периодического решения с параметрами системы

                                                                         (1.29)

Для исследования устойчивости периодического решения найдем частные производные от выражений

                                                      (1.30)

Для устойчивости периодического решения (1.26) требуется, чтобы выполнялось следующее неравенство

                                                                 (1.31)

или с учетом выражений


                                                                                        (1.32)

то есть частная производная должна быть отрицательной.

Для определения знака этой производной по выражению (1.23) построим график q(A) рис 1.7 согласно которому

dq(A) dA

<0 при А>b                                                                                            (1.33)

Следовательно, амплитуда периодического решения (1.27) будет амплитудой автоколебаний лишь при выполнении следующего условия, когда А>b

При А<b автоколебания в системе отсутствуют, что и понятно, так как при этом, согласно рис. 1.5, нелинейная система превращается в линейную, которая является устойчивой.

Определим амплитуду автоколебаний. Уравнение (1.29), связывающее ее с параметрами системы, является трансцендентным. Поэтому для определения амплитуды воспользуемся графоаналитическим методом. Для этого решим уравнение (1.29) относительно следующего равенства k = kЛk2:

                                                                       (1.34)

и построим график, в котором k = k(A) рис. 1.7,


3

Рис. 1.7

где Av – является амплитудой колебаний относительно исполнительной оси системы (рис. 1.8).

Рис. 1.8

Что касается частоты автоколебаний Q, то она остается неизменной для любой переменной системы и, согласно выражению (1.28), не зависит от коэффициента k.

Граничный коэффициент передачи системы k,p определяется из выражения (1.34) при следующем равенстве А=b и равен

                                                                                                   (1.35)

Автоколебания в системе возникают лишь тогда, когда k>kГР.

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

На рис. 1.3 также изображены графики, связывающие амплитуду и частоту автоколебаний с шириной b зоны линейности статической характеристики нелинейного звена при равенстве К2=1

Для заданных значений параметров системы по графику рис. 1.9

Рис. 1.9

определяем частоту и амплитуду автоколебаний:

Рассмотрим случай, когда в системе не учитывается нелинейность электронного усилителя. Исследуем устойчивость состояния электромеханической следящей системы, структурная схема которой, изображена на рис. 1.10 частотным методом определения автоколебаний.

Рис. 1.10

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

K1=57,3 В/рад – крутизна статической характеристики чувствительного элемента;

к2:=2,5 – коэффициент усиления линейного усилителя;

к3=5,7 – коэффициент передачи двигателя;

k4=10-2 В с/рад – крутизна статической характеристики тахогенератора;

k5=0,001 – коэффициент передачи редуктора;

Т j =0,05 с – постоянная времени линейного усилителя; и статическая характеристика нелинейного звена (уравнение релейного усилителя) 1.11, для которой b=0,25 В

V3max=c=110B

Рис. 1.11

По заданной структурной схеме определим передаточную функцию линейной части системы WЛ(p) и гармонически линеаризованную передаточную функцию нелинейного звена WH(a).

Для этого структурную схему нелинейной системы представим в виде последовательного соединения нелинейного звена и линейной части системы рис. 1.10.

Согласно рис. 1.10 мы получим следующее:

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

WH(a)=q(a)                                                                                             (1.37)

Где

По передаточной функции (1.36) определим частотную передаточную функцию:

                                 (1.38)

ее модуль:

                                                                   (1.39)

и фазу:

                                                   (1.40)

По формуле (1.39) и (1.40) строим амплитудно-фазовую характеристику линейной части системы рис. 1.11 и годограф нелинейного звена.

                                (1.41)

при значениях амплитуд

В данном случае этот годограф совпадает с отрицательной вещественной полуосью и имеет две ветви.


Минимальное значение модуля функции – Z(a) равно следующему

Достигается при

Рис. 1.12

Как видно из рис. 1.12, годографы  и -Z(a) не имеют общих точек пересечения.

Следовательно, состояние равновесия рассматриваемой системы устойчиво. Эту же систему рассмотрим, если статическая характеристика нелинейного звена имеет петлю гистерезиса рис. 1.12.

Согласно структурной схемы рис. 1.10 передаточная функция линейной части системы при исходных данных задачи равна:

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

WH (a)=q(a)=jq’(a),


где для релейной характеристики с гистерезисной петлей рис. 1.11 мы получаем следующее:

Годограф нелинейного звена -Z(a), построенный по выражению, имеющему вид:

WH(a) 4с,

изображен на рис. 1.13.

6

Рис. 1.13

На этом же рисунке построена амплитудно-фазовая характеристика линейной части системы , которая полностью совпадает с построенной на рис. 1.11.

Точка пересечения этих двух кривых определяет периодическое решение в системе:

,


где . Согласно рис. 1.13, найденное периодическое решение является устойчивым, т.е. А и Ω являются амплитудой и частотой автоколебаний.

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


3. Разработка требований к интерфейсу пользователя диалоговой

системы

Проектируемая система состоит из двух практически самостоятельных частей.

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

Программа-оболочка предназначена для связи в единое целое вычислительных задач (методы исследования САУ), текстовых файлов (справочные материалы), графических файлов (иллюстрации).

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

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

Понятие диалоговую по отношению к программной системе подразумевает тесное взаимодействие человека-пользователя с ЭВМ.

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

Целесообразно кратко рассмотреть основные вопросы, связанные с этим. Пользователь программного обеспечения рассмотрен в двух аспектах:

•  пользователь, как человек;

•  пользователь в процессе общения с системой.

Такой подход приводит к выделению ряда важных факторов.

А. Пользователь, как человек. Потребности.

Навыки.

Свойства личности.

Б. Диалоговая подготовка пользователя. Обучение диалогу.

Опыт работы с диалоговыми системами.

В. Подготовка пользователя в прикладной области.

Г. Отношение пользователя к системе.

Причины пользования системой.

Отношение и ожидания.

Цели пользователя.

Д. Аспекты, связанные с задачей.

Структура задачи. Ограничения по времени.

Эти факторы могут быть описаны подробнее.

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

Навыки пользователя состоят из физических и моторных навыков, лингвистических навыков, навыков общения.

Свойства личности это, например, подверженность ошибкам, терпеливость, неустойчивое внимание.

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

Выделим три класса пользователей:

•  оперирующие языком программирования и знающие организацию базы данных;

•  оперирующие языком запросов и использующие модели данных;

•  оперирующие параметрическим вводом с почти «естественным видом» данных.

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

Причина пользования системой может быть :

•  обязательной, как неотъемлемая часть работы;

•  необязательной, как часть работы;

• обязательной в частной жизни (пользование библиотекой).

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

Оно может быть:

•  нейтральным (пользователь воспринимает компьютер, как рабочий инструмент);

•  положительным;

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

Целями пользователя могут быть: решить определенную задачу с помощью компьютера или как научиться работать с системой.

По своей структуре задача может быть отнесена в зависимости от природы проблемы к одному из классов, а именно:

•  хорошо структурированные задачи, где данные и методы известны;

•  плохо структурированные задачи, где решение может быть получено лишь приближенно.

Кроме того, можно выделить пять различных категорий:

•  простой запрос;

•  принятие решения после системного запроса;

•  систематический сбор данных;

•  непрерывное построение и перестройка на основе правил ограничений;

• обнаружение взаимосвязей.


Ограничения по времени.

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

На основе анализа этих факторов можно определить требования к диалоговой системе:

•  Поведение системы по отношению к пользователю должно быть гибким, так чтобы пользователь не был вынужден действовать строго предписанным образом.

•  Должна существовать процедура отказа от услуг системы.

Система должна быть способна различать пользователей и приспосабливаться к ним.

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

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

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

•  Должно складываться впечатление, что управление всеми аспектами системы принадлежит пользователю.

•  Взаимодействие человека с машиной должно напоминать, по возможности, человеческое общение.

•  Проект системы должен принимать во внимание физические и психические особенности пользователя во время его работы с машиной.

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

Подготовленность людей.

Для пользователя системой не должны требоваться специальные навыки. Система должна подстраиваться к возможностям пользователя.

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

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

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

Взаимодействие пользователя с ЭВМ осуществляется через систему экранных окон (независимость от операционной системы DOS или WINDOWS), связанных через меню.

Управление может осуществляться с помощью клавиатуры или манипулятором «мышь». Один и тот же результат может быть достигнут различным путем:

•  использование меню;

•  использование функциональных или «горячих клавиш»;

•  указание и запуск с помощью «мыши».

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

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

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

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

Меню действий представляет доступ к основным функциям приложения и отображается вверху экрана. При выборе действия на экране появляется расширенное меню действий – выпадающее меню.

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

Краткое описание типов панели.

Панель меню.

Содержит один и более список объектов, из которых пользователь выбирает один или несколько. Для этой цели есть поля выбора.

Панель ввода.

Она отображает поля, в которые пользователь вводит информацию и из которых выбирает объекты. Имеется три типа панелей ввода:

•  панель ввода параметров отображает поля для ввода значений параметров и указания режимов действий. Содержит поля ввода и выбора.

•  Панель ввода с заголовками представляет форму документов на бумаге и на каждой строке, и на каждой строке может содержать несколько панелей;

•  Панель ввода с табуляцией содержит поля с заголовками, организованные по столбцам и строкам.

Информационная панель.

Отображает защищенную информацию: данные, сообщения, справки.

Списковая панель.

Отображает список объектов, из которых пользователь выбирает один или несколько и запрашивает одно или несколько действий над ними. Для каждого объекта одновременно запрашивается только одно действие, но для различных объектов – различные действия.

Панель идентификации приложения.

Отображает информацию, идентифицирующую приложение и авторские права разработчиков. Панели имеют различные рабочие области. К ним относятся:

•  разделители областей;

•  идентификатор панели;

•  заголовок панели;

•  инструкция;

•  заголовок столбца и группы;

•  заголовок поля;

•  указатель протяжки;

•  область сообщений;

•  область команд.

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

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

Из изложенного видно, что круг задач, который должен решить программист при разработке диалоговых программ, весьма обширен. Поэтому для эффективной работы необходимо пользоваться современными инструментальными средствами. В качестве такого может быть выбран язык программирования BORLAND PASCAL в комплекте с библиотекой TURBO VISION.

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

Разрабатываемая программа-оболочка должна обеспечивать следующее:

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

•  отображение в окне графических файлов в формате PCX, содержащих иллюстрации;

•  запуск на выполнение исследовательских программ и отображение результатов в окне.

Основное окно программы-оболочки содержит главное меню, тело и область функциональных клавиш.

Главное меню имеет следующий вид:

Справки Демонстрация Исследование Выход

Выбор пункта меню «справки» приводит к появлению выпадающего меню второго уровня, которое имеет вид:

Методы исследования
Нелинейные элементы
Инструкция программисту
Инструкция пользователю

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

Выбор пункта меню «Исследование» вызывает запуск программ, реализующих методы исследования САУ, и имеет вид:

Метод 1
Метод 2
Метод 3
Метод 4
Метод N

Где «Метод» – конкретное название метода анализа САУ. Выбор пункта меню «Выход» приводит к завершению работы.

4. Разработка программного обеспечения АИС

Библиотека TURBO VISION основана на объектно-ориентированном подходе к программированию, который базируется на трех основных понятиях: инкапсуляция, наследование, полинорфаза.

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

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

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

Под объектом понимается такая структура, компонентами которой являются взаимосвязанные данные различных типов и использующие эти данные процедуры и функции. Компоненты – данные называются полями объекта, а компоненты – процедуры и функции называются методами. Дальнейшее описание диалоговой программы будет базироваться на этих понятиях.

Разработка системы меню с использованием TURBO VISION, базируется на применении объектов TMenu Bar и Tmenu Box, которые отличаются от абстрактного типа Tmenu View.

Объекты TMenu Bar представляют полосы горизонтального меню, пункт которого может быть выбран через:

•  прямую отметку;

•  клавишу F10;

•  выбор (подсветку) и нажатие ENTER;

•  горячие клавиши.

Объект TMenu Bar обычно принадлежит TApplication. Перекрывая Tapplication Tnit Menu Bar соответствующим набором вложенных видов New, NewSubMenu, Newltem и NewLine, можно сформировать объект меню.

Объекты MenuBox представляют вертикальные прямоугольники меню. Они могут содержать произвольный характер выполняемых действий.

Функция NewSubMenu распределяет и возвращает указатель на новую запись TMenuItem, которая представляет собой подменю. Функция Newltem распределяет и возвращает указатель на новую запись THenaltem, которая представляет собой меню. Реализация системы меню диалоговой программы осуществлена в процедуре TMyAPP.InitMenu Bar.

Функция, которая будет выполнена диалоговой программой; определяется выбором пункта меню. В TURBO VISION для обработки событий меню предназначен метод HandleEvent (процедура) объекта TmenuView. Он определяет, какой элемент меню был выбран «мышью» или клавиатурой, и генерирует соответствующее командное событие. Реализация обработки событий осуществлена в процедуре Тту Арр. HandleEvent.

Кроме описанных процедур в состав диалоговой программы входят также:

TmyApp. TnitStatusLine – привязка функциональных клавиш к пунктам меню.

•  TmyApp. PrintFile – вывод текста в окно без возможности прокрутки;

•  TmyApp. PrintFileScr – вывод текста в окно с возможностью прокрутки

•  TmyApp. ShowFile – вывод графического файла в формате PCV в окно;

•  TmyApp. RunMetod I, TmyApp. RimMetod2,..., TmyApp. RunMetod N – запуск программы исследования САУ.

На следующих страницах приведены рисунки, иллюстрирующие вышеизложенное.

5. Результаты испытания АИС

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

Результаты показали адекватность разработанной АИС. Результаты испытаний АИС приведены на рисунках.


Заключение

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

Разработана диалоговая программа, позволяющая объединить в рамках одной системы различные методы исследования САУ.

Для доказательства работоспособности автоматизированной системы были проведены аналитические исследования некоторых контрольных примеров, а затем они же были рассчитаны с помощью АИС. Сравнительный анализ полученных результатов подтверждает адекватность системы.


Приложение

Program Diplom; uses

Forms,

Main in 'Main.pas' {MainForm},

Unitl in'Unitl.pas' {Forml},

Unit2 in 'Unit2.pas' {AboutBox}; ($R *.RES begin

Application. CrateForm (TmainForm, MainForm);

Application. CrateForm (TForml, Forml);

Application. CrateForm (TAboutBox, AboutBox);

Forml.Show;

Application.Run; end.

unit Main;

interface

uses

SysUtils, Windows, Messages, Classes, Graphics, Controls, Fornis, Dialogs,

StdCtris, Buttons, ExtQik, Menus, Grids, Unitl; type

TMainForm=dass (TForm); StringGridl:TStringGrid;

procedure FormCreate (Sender TObject);

procedure SttingGridlClick (Sender TObject); ant

TMass=aiay[l J6,136]ofByte; var

MainForm TMainForm; MassTMass В1:Всх*щ

implementation fSR *DFM)

procedure TMainFomiFomCreate (Sender TObject); var

I, J, К : Integer; begin

Bl: =False; For i:=l to 36 do For j=l to 36 do

Mass [i, j] :=4; with StringGridl do begin K:=0;

forl:=l to 31 do begin

К :=К+1;

Cells [I,0]:=IntToStr(K); end; К -0;

for I :=lto31do begin

К :=К+1;

Cells [0,1] :=IntToStr(K); end;

k:=0;

for I :=lto31do forJ =1 to 31 do

Cells P,J]-IntToStr(K);

k:=l;

Cells [7,2] : =IntToStr (K);

Cells [13,4]: =IntToStr (K);

Cells [21,4] : = IntToStr (K);

Cells[3,6]: = IntToStr (K);

Cells [15,6] : = IntToStr(K);

Cells [14,8] : = InfToStr(K);

Cells [9,10]: = InfToSlr(K);

Cells [29,10] : = IntToStr(K);

Cells [17,9] : = IntToStr(K);

Cells [16,9] : = IntToStr(K);

Cells [15,10] : = lntToStr(K);

Cells [16,10] : = IntToStr(K);

Cells [17,10] : =IntToSlr(K);

Cells [18,10] : =lntToStr(K);

Cells [14,11] : = JntToStr(K);

Cells [15,11] : = IntToStr(K);

Cells [16,11] : = IntToStr(K);

Cells [17,11] : = IntToStr(K);

Cells [18,11] : =IntToStr (K);

Cells [19,11]: = IntToStr(K);

Cells [7,12] := InrToStr (К);

Cells[13,12]: = InrToStr(K);

Cells [15,12]: = InrToStr (K);

Cells [16,12] : = IntToStr (K);

Cells [17,12] : = IntToSlr(K);

Cells [18,12] : = IntToStr(K);

Cells [19,12] : = IntToStr (K);

Cells [20,12] : = IntToStr(K);

Cells [21,12]: = IntToStr (K);

Cells [12,13] : = IntToStr(K);

Cells [13,13] : = IntToSlr(K);

Cells [14,13] : = IntToStr(K);

Cells [15,13]: = IntToStr (K);

Cells [16.13] : = lnfToSlr(K);

Ceils [17,13] : = lntToStr(K),

Cells [18,13] :=IntToStr(K);

Cells [19,13] : = IntToStr (K);

Cells [11,14] : = IntToSlr(K);

Cells [12,14] : = IntToStr(K);

Cells [13,14] : = IntToStr(K);

Cells [14,14] : = IntToSlr(K);

Cells [15,14] : = IntToStr(K);

Cells [16,14]: = IntToStr (K);

Cells [17,14] : = IntToSlr(K);

Cells [18,14] : = IntToStr (K);

Cells [9,15]: = IntToStr (K);

Cells [10,15]: = IntToStr (K);

Cells [11,15]: = IntToStr (K);

Cells [12,15]: = IntToStr (K);

Cells [13,15]: = IntToStr (K);

Cells [14,15]: = IntToStr (K);

Cells [15,15]: = IntToStr (K);

Cells [16,15]: = IntToStr (K);

Cells [17,15]: = IntToStr (K);

Cells [23,15] : = brfToStr(K);

Cells [10,16] : = IntToStr (K);

Cells [11,16] : = IntToStr (K);

Cells [12,16] : = IntToStr (K);

Cells [13,16] : = IntToStr(K);

Cells [14,16]: = IntToStr (K);

Cells [15,16]: = IntToStr (K);

Cells [16,16]: = IntToStr (K);

Cells [9,17] : = InrToStr (K);

Cells [12,17]: = IntToStr (K);

Cells [13,17]: = IntToStr (K);

Cells [14,17]: = IntToStr (K);

Cells [15,17]: = IntToStr (K);

Cells [10,18] : = IntToStr(K);

Cells [H,18]: = IntToSlr(K);

Celk [12,18]: = IntToStr (K);

Cells [13,18]: = IntToStr (K);

Cells [14,18]: = IntToStr (K);

Cells [8,19] : = IntToStr(K);

Celk [11,19]:=IntToStr (K);

Cells[12,19]: = InfToSlr(K);

Cells [13,19]: = IntToStr (K);

Cells [14,19]: = IntToStr (K);

Cells [12,20]: = IntToStr (K);

Cells [22,20]: = IntToStr (K);

Cells [27,20] : = IntToStr (K);

Cells [5,2З]: = IntToStr (K);

Cells [18,23]: = IntToStr (K);

Cells [24,23] : = IntToSlr(K),

Cells [13,25]: = IntToStr (K);

Cells [29,26]: = IntToStr (K),

Cells [14,27]: = IntToSlr(K);

Cells [16,27]: = IntToSlr(K);

Cells [27,27]: = IntToStr(K);

Cells [2,29] : = IntToSlr(K);

Cells [8,29] : = IntToStr(K);

Cells [10,30] : = IntToStr(K);

Cells [30,30] : = IntToStr (K);

end;

For i:=l to 31 do For j=l to 31 do

Mass [i, j]:=0; end;

procedure TMainForm.StringGridl Click (Sender:TObject);

Procedure Show Mass: Varij:byte; begin

Application. ProcessMessages; Fori:=lto36do Forj:=lto36do begin

If (Mass [L j] = 3) then StringGridl. Cells [i, j] := 'X' else If (Mass [i, j] = 4) then StringGridl.Cells [i, j] :=?'

else StringGridl.Cells [i, j] := IntToStr (Mass [i, j]); end; end;

procedure Stepl; Var Lj: Byte; begin

Fori:=lto31 do For j: = 1 to 31 do

Mass[I,j]:=0; Mass [16,9]:=1;

Mass [17,9]:=1;

Mass [15,10]:=1;

Mass [16,10]:=1;

Mass [17,10]:=1;

Mass [18,10]:=1;

Mass [14,11]:=1;

Mass [15,11]:=1;

Mass [16,11]:=1;

Mass [17,11]:=1;

Mass [18,11]:=1;

Mass [19,11]:=1;

Mass [12,12]:=1;

Mass [13,12]:=1;

Mass [14,12]:=1;

Mass [15,12]:=1;

Mass [16,12]:=1;

Mass [17,12]:=1;

Mass [18,12]:=1;

Mass [19,12]:=1;

Mass [20,12]:=1;

Mass [11,13]:=1;

Mass [12,13]:=1;

Mass [13,13]:=1;

Mass [14,13]:=1;

Mass [15,13]:=1;

Mass [16,13]:=1;

Mass [17,13]:=1;

Mass [18,13]:=1;

Mass [19,13]:=1;

Mass [11,14]:=1;

Mass [12,14]:=1;

Mass [13,14]:=1;

Mass 14,14]:=1;

Mass [15,14]:=1;

Mass [16,14]:=1;

Mass [17,14]:=1;

Mass [18,14]:=1;

Mass [10,15]:=1;

Mass [11,15]:=1;

Mass [12,15]:=1;

Mass [13,15]:=1;

Mass [14,15]:=1;

Mass [15,15]:=1;

Mass [16,15]:=1;

Mass [17,15]:=1;

Mass [9,16]:=1;

Mass [10,16]:=1;

Mass [11,16]:=1;

Mass [12,16]:=1;

Mass [13,16]:=1;

Mass [14,16]:=1;

Mass [15,16] :=1;

Mass [16,16]:=1;

Mass [9,17]:=1;

Mass [10,17]:=1;

Mass [11,17]:=1;

Mass [12,17]:=1;

Mass [13,17] :=1;

Mass [14,17]:=1;

Mass [15,17]:=1;

Mass [10,18]:=1;

Mass [11,18]:=1;

Mass [12,18]:=1;

Mass [13,18]:=1;

Mass [14,18]:=1;

Mass [11,19]:=1;

Mass [12,19]:=1;

Mass [13,19]:=1;

Mass [12,20]:=1; ShowMass;

end;

procedure StepX; Var i,j:Byte;

begin

For i:=l to 31 do

For j:=l to 31do

If Mass [i, j]=3 then StringGridl.Cells [i, 0]:= 'X'; ShowMass;

end;

procedure Step2; begin

Mass[16,9]:=3;

Mass[16,10]:=3;

Mass[16,ll]:=3;

Mass[16,12]:=3;

Mass[16,13]:=3;

Mass[15,14]:=3;

Mass[14,15]:=3;

Mass[13.16]:=3;

Mass[12,17]:=3;

Mass[12,18]:=3;

Mass[12,19]:=3;

Mass[12.20]:=3;

StepX;

end;

procedure Step31;

Var i,j,k,l,:Byte;

Begin

For i:=l to31do

For j :=33 to 36 do

For i:=33 to 36 do For j:=1 to 31 do

Mass[i,j]:=0; For i:=l to31 do

For j :=1 to 31 do

If Mass [I,j]>0 then begin

Mass[i,33]:=l; Mass[i,34]:=l;

end;

For i:=l to31do

For j:=l to31 do

If Mass [i,j]>0 then begin

Mass[33,j]:=l;

Mass[34,j]:=l;

end;

end;

procedureStep32; Var i, j, k, l: Byte; begin

For i:=l to 31 do

if Mass [33, i]=1 then begin

Mass[34,i]:=0;

Break;

end;

For i:=15 to31do

if Mass [i, 33] =0 then

begin

Mass[i-l,34]:=0;

Break;

end;

K:=0;

l:=0;

For i:=1 to31do

if Mass[34,i]=l then

begin

inc(k);

l:=I;

end;

k:=Round (k/2); l:=l-k+l;

Mass [1,35]:=l;

K:=0;

l:=0;

For i:=1 to31do

if Mass [i, 34] =1 then begin

inc(k);

l:=i;

end;

k:=Round(k/2);

l:=l-k+l;

Mass [1,35] :=1;

ShowMass ;

end;

Procedure Step4; Var i,j :Byte; begin

Forml.ListBoxl.Items.Add(‘Начинаем расчёт’)

For i:=l to31do

For j:=1 to31 do

Mass[i,j]:=0;

For i:=14 to 18 do

For j:=11 to 21 do

Mass[i,j] :=1; For i:=11 to 21 do

Mass[16,i] :=3;

Form1. ListBox1. Items. Add ('Очистка от помех");

Form1. ListBox1. Items. Add ('Построение проекции");

Form1. ListBox1. Items. Add ('Нахождение центра проекции');

Form1. ListBox1. Items. Add ('Расчет окончен');

Step31;

StepX;

Mass [16,35 ]:=1;

Mass [35,16] :=1;

ShowMass;

end;

begin

If Bl then

begin

Step4;

Bl:=False;

Exit;

end

else Bl:=True;

Form1.ListBox1.Items. Add ('Начинаем расчет'); Step1;

Form1.ListBox1.Items. Add ('Очистка от помех'); Step2;

Form1.ListBox1.Items.Add ('Построение проекции'); Step31;

Step32;

Form1.ListBox1.Items.Add ('Нахождение центра проекции"); Form1.ListBox1.Items.Add ('Расчет окончен');

end;

end.

Unit Until;

interface uses

Windows, Messages, SysLftils, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, Buttons;

type

TForml = class (TForm)

ListBox1:TlistBox;

BitBtn1:TBitBtn;

procedure BitBtn1Click (Sende: TObject); private

{Private declarations}

public

{Public declarations}

end;

var

Form1:TForm1; implementation uses Unit2;

{$R*.DFM}

Procedure TForm1.BitBtn1Click (Sender: TObject); begin

AboutBox.ShowModal;

end;

end.

unit Unit2; interface uses

Windows, SysUtils, Classes, Graphics, Forms, Controls,

StdCtrls, Buttons, ExtCtrls;

type

TAboutBox = class (TForm)

Pane1: TPanel;

ProgramIcon: TImage;

ProductName: TLabel;

Version: TLabel;

Copyright: TLabel;

Comments: TLabel;

OKButton: TButton; private

{Private declarations} public

{Public declarations}

end;

var

AboutBox: TAboutBox; implementation

{$R*.DFM}

end.


Страницы: 1, 2, 3


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.