85938

КОЛИЧЕСТВЕННЫЕ ХАРАКТЕРИСТИКИ БЕЗОТКАЗНОСТИ. ЛОГИКО-ВЕРОЯТНОСТНЫЙ МЕТОД РАСЧЕТА

Курсовая

Информатика, кибернетика и программирование

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

Русский

2015-04-01

334.5 KB

7 чел.

СОДЕРЖАНИЕ

[1]
ВВЕДЕНИЕ

[2]
ГЛАВА 1. КОЛИЧЕСТВЕННЫЕ ХАРАКТЕРИСТИКИ БЕЗОТКАЗНОСТИ

[3]
ГЛАВА 2. ЛОГИКО-ВЕРОЯТНОСТНЫЙ МЕТОД РАСЧЕТА

[3.1] 2.1. Структурно – логический анализ технических систем

[3.2] 2.2. Этапы построения логико-вероятностного метода расчета

[4]
ЗАКЛЮЧЕНИЕ

[5]
БИБЛИОГРАФИЧЕСКИЙ СПИСОК

[6]
ПРИЛОЖЕНИЕ


ВВЕДЕНИЕ

              

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

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


ГЛАВА 1. КОЛИЧЕСТВЕННЫЕ ХАРАКТЕРИСТИКИ БЕЗОТКАЗНОСТИ

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

Наработка есть продолжительность или объем работы объекта. Для РЭС естественно исчисление наработки в единицах времени, тогда как для других технических средств могут быть удобнее иные средства измерения (например, наработка автомобиля - в километрах пробега). Для невосстанавливаемых и восстанавливаемых изделий понятие наработки различается: в первом случае подразумевается наработка до первого отказа (он же является и последним отказом), во втором - между двумя соседними во времени отказами (после каждого отказа производится восстановление работоспособного состояния). Математическое ожидание случайной наработки Т

 

является характеристикой безотказности и называется средней наработкой на отказ (между отказами). 

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

,

N(t) – число объектов исправно работающих на интервале от 0 до t,

No – число объектов в начале испытаний.

 

Вероятность противоположного события называется вероятностью отказа и дополняет вероятность безотказной работы до единицы:

,

Q(t) – вероятность того, что в пределах заданной наработки отказ системы возникает.

 

Плотность вероятности f(t) также является показателем надежности, называемым частотой отказов:

,

,

- число отказов за интервал времени ,

- рассматриваемый промежуток времени.

Интенсивностью отказов называют условную плотность вероятности возникновения отказа изделия при условии, что к моменту t отказ не возник:

,

,

- число исправно работающих объектов в начале интервала,

- число исправно работающих объектов в конце интервала.

 

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

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

                     ,

                        ,

No – общее количество объектов,

tср.i – время исправной работы i – го объекта.

Средняя наробтка на отказ.

                        ,

To – отношение наработки восстановленной системы математического ожидания числа ее отказов в пределах этой наработки,

n – Число отказов системы,

- время исправной работы между отказами.

Показатели ремонтопригодности:

Вероятность  восстановления  s(t)  –  это  вероятность  того,  что отказавшее изделие будет восстановлено в течение времени t.

Интенсивность   восстановленного   М(t)   –   условная   плотность

распространения времени восстановления для момента  времени  t  при

условии, что до этого момента восстановление изделия не произошло.

Среднее время восстановления Тв – это математическое ожидание времени восстановления работоспособного состояния системы.

,

,

Tв.i – время восстановления i – го объекта.

Восстановления работоспособного состояния системы.

Коэффициент готовности Кг (t) – это вероятность того,  что  изделие

работоспособно в произвольный момент времени t.

Коэффициент  оперативной  готовности  Копер.  (t,  ()  –  это

вероятность   того,   что   аппаратура   будет   работоспособна   в

произвольный момент времени t. и  безотказно  проработает  заданное

время r.

Копер.(t, ()) = Кг(t)  Р(())

Показатели долговечности:

  •  средний ресурс;
  •  назначенный срок службы;
  •  средний срок службы;
  •  назначенный ресурс;

гамма – процентный ресурс.


ГЛАВА 2. ЛОГИКО-ВЕРОЯТНОСТНЫЙ МЕТОД РАСЧЕТА

2.1. Структурно – логический анализ технических систем

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

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

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

Расчленение системы на элементы достаточно условно и зависит от постановки задачи расчета надежности. 

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

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

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

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

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

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

 

 

 

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

Однако не всегда структурная схема надежности аналогична конструктивной или электрической схеме расположения элементов.

2.2. Этапы построения логико-вероятностного метода расчета

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

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

1. Этап структурно-логической постановки задачи, который включает в себя:

- разделение всей рассматриваемой системы на конечное число H элементов i =1,2,...,H, каждый из которых представляется в модели надежности простым (бинарным) событием i x с двумя возможными состояниям ~ { , } i i i x = x x , например, работоспособности/отказа, готовности/не готовности, поражения/не поражения и т.д., и заданными вероятностными параметрами p (t), i ;

- определение содержания и логических условий реализации i y и/или не реализации i y выходных (интегративных) функций для каждого элемента в системе;

- логически строгое вербальное и графическое (аналитическое) описание множества X отдельных элементов системы и множества условий Y реализации ими своих системных функций, которые в совокупности G(X ,Y)образуют специальную схему функциональной целостности (СФЦ) рассматриваемой системы;

- логически строгое описание и задание с помощью отдельных или групповых выходных (интегративных) функций логических критериев функционирования (ЛКФ) системы Y Y ({~y },i 1,2,...,N) F F i = = реализации основных функций и/или возникновения опасных состояний системы;

2. Этап  логического  моделирования, на котором с помощью специальных методов преобразования СФЦ и ЛКФ осуществляется построение логической функции работоспособности системы (ФРС) Y Y ({~x },i 1,2,...,H) F F i = = . Логическая функция работоспособности системы аналитически строго, но в компактной форме, определить все комбинации состояний элементов x i H i ~ , =1,2,..., , в которых (и только в которых) система реализует свою выходную функцию F.

3. Этап  вероятностного  моделирования, на котором с помощью специальных методов преобразования функции работоспособности системы осуществляется построение многочлена расчетной вероятностной функции (ВФ) P ({p (t),q (t)},i 1,2,...,H;t) F ii = . Многочлен ВФ позволяет аналитически строго определить закон распределения времени безотказной работы системы по реализации выходной функции F, заданной логическим критерием функционирования.

4. Этап  выполнения  расчетов  показателей  надежности,  которые выполняются на основе ВФ и заданных параметров надежности элементов.

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

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

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

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


ЗАКЛЮЧЕНИЕ

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

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


БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1.  Рябинин И.А., Черкесов С.Н. Логико-вероятностные методы исследованиянадежности структурно-сложных систем. // М., Радио и связь, 1991 - 264 с.
  2.  Нозик А.А. Технология автоматизированного структурно-логического моделирования в проектных расчетах надежности систем. // Труды второй международной научной школы "Моделирование и анализ безопасности и риска в сложных системах". МА БР - 2002. СПб.: Издательство "Бизнес-Пресса , 2002, - с. 337-344.
  3.  Нозик А.А. Методы проектного расчета надежности автоматизированных систем управления технологическими процессами. // Труды II международной научно-практической конференции. Часть I. "Микропроцессорные, аналоговые и цифровые системы: проектирование и системотехника, теория и вопросы применения". Новочеркасск: НПИ, 2002, -с.33-45.


ПРИЛОЖЕНИЕ

Рис. Главное окно программы

procedure TForm1.Button1Click(Sender: TObject);     //////////////////////////////

var  d,i,j,pos1,pos2,kol,kol1:integer;         /////////////////////////////

                        ret:boolean;

begin

ret:=false;

Button1.Enabled:=false;

kol:=0;kol1:=0;

d:=0; pos1:=0; pos2:=0;

if (BitBtn5.Enabled=false) and (BitBtn5.Enabled=false) then

begin

 for i:=1 to length(Edit1.Text) do          // делит скобки

   begin

   if Edit1.Text[i]='(' then pos1:=i;

   if Edit1.Text[i]=')' then pos2:=i;

   end;

   Edit3.Text:=copy(Edit1.Text,pos1+1,pos2-pos1-1);

Edit2.Text:=copy(Edit1.Text,1,pos1-1);              //перед скобками

for j:=1 to length(Edit3.Text) do

   if edit3.Text[j]<>'v' then begin Label3.Caption:=Label3.Caption+Edit3.Text[j];kol:=kol+1;end

   else break;

   kol:=kol+2;

for j:=kol to length(Edit3.Text) do

   if edit3.Text[j]<>'v' then begin Label4.Caption:=Label4.Caption+Edit3.Text[j];kol1:=kol1+1;end

   else break;

   kol1:=kol1+kol+1;

   for j:=kol1 to length(Edit3.Text) do

   if edit3.Text[j]<>'v' then begin Label5.Caption:=Label5.Caption+Edit3.Text[j];end

   else break;

if (Label4.Caption='') and (Label5.Caption='') then ret:=true;

if  (Label3.Caption<>'') and (ret=false)then

begin

Edit3.Text:='('+Label3.Caption +'+'+ Label4.Caption+'-'+Label3.Caption +'*' +Label4.Caption + ')';

Edit2.Text:=Edit2.Text+copy(Edit3.Text,1,length(Edit3.Text));

end;

if  (Label3.Caption<>'') and (Label5.Caption<>'') and (ret=false) then

begin

Edit3.Text:='('+Label3.Caption +'+'+ Label4.Caption+'-'+Label3.Caption +'*' +Label4.Caption + ')';

Edit3.Text:='('+Edit3.Text  + '+' + Label5.Caption + '-' + Edit3.Text + '*' + Label5.Caption+ ')';

Edit2.Text:=Edit2.Text+copy(Edit3.Text,1,length(Edit3.Text));

end;

                                                           ///////////////////если перед скобкой 1 v

if (Edit2.Text[2]='v') and (Edit2.Text[4]<>'v') then begin

if Edit2.Text[1]='A' then

Edit2.Text:=Edit2.Text[1]+'+'+Edit3.Text+'-'+Edit2.Text[1]+'*'+Edit3.Text;

if Edit2.Text[1]='B' then

Edit2.Text:=Edit2.Text[1]+'+'+Edit3.Text+'-'+Edit2.Text[1]+'*'+Edit3.Text;

if Edit2.Text[1]='C' then

Edit2.Text:=Edit2.Text[1]+'+'+Edit3.Text+'-'+Edit2.Text[1]+'*'+Edit3.Text;

if Edit2.Text[1]='D' then

Edit2.Text:=Edit2.Text[1]+'+'+Edit3.Text+'-'+Edit2.Text[1]+'*'+Edit3.Text;

end;

end;

if (BitBtn5.Enabled=true) and (BitBtn5.Enabled=true) then

begin

for i:=1 to length(Edit1.Text) do inc(d);

                                                       /////// 3333333333333333

if (Edit1.Text[2]='*') and (d=3) then begin Edit2.Text:= Edit1.Text;end;

if (Edit1.Text[2]='v') and (d=3) then begin Edit2.Text:=Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3];end;

                                                       /////////5555555555555555

if (Edit1.Text[2]='*') and (Edit1.Text[4]='*') and (d=5) then begin Edit2.Text:=Edit1.Text;end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='*') and (d=5) then begin Edit2.Text:=Edit1.Text[1]+'+'+Edit1.Text[3]+'*'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5];end;

if (Edit1.Text[2]='*') and (Edit1.Text[4]='v') and (d=5) then begin Edit2.Text:=Edit1.Text[1]+'*'+Edit1.Text[3]+'+'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5];end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='v') and (d=5) then begin Edit2.Text:='('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'+'+Edit1.Text[5]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'*'+Edit1.Text[5] ;end;

                                                       ////////////7777777777777777777

if (Edit1.Text[2]='*') and (Edit1.Text[4]='*') and (Edit1.Text[6]='*') and (d=7) then begin Edit2.Text:=Edit1.Text;end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='*') and (Edit1.Text[6]='*') and (d=7) then begin Edit2.Text:=Edit1.Text[1]+'+'+Edit1.Text[3]+'*'+Edit1.Text[5]+'*'+Edit1.Text[7]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+'*'+Edit1.Text[7];end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='v') and (Edit1.Text[6]='*') and (d=7) then begin Edit2.Text:='('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'+'+Edit1.Text[5]+'*'+Edit1.Text[7]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'*'+Edit1.Text[5]+'*'+Edit1.Text[7];end;

if (Edit1.Text[2]='*') and (Edit1.Text[4]='v') and (Edit1.Text[6]='v') and (d=7) then begin Edit2.Text:='('+Edit1.Text[1]+'*'+Edit1.Text[3]+'+'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+')'+'+'+Edit1.Text[7]+'-'+'('+Edit1.Text[1]+'*'+Edit1.Text[3]+'+'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+')'+'*'+Edit1.Text[7];end;

if (Edit1.Text[2]='*') and (Edit1.Text[4]='*') and (Edit1.Text[6]='v') and (d=7) then begin Edit2.Text:=Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+'+'+Edit1.Text[7]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+'*'+Edit1.Text[7];end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='v') and (Edit1.Text[6]='v') and (d=7) then begin Edit2.Text:='('+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'+'+Edit1.Text[5]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'*'+Edit1.Text[5]+')'+'+'+Edit1.Text[7]+'-'+'('+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'+'+Edit1.Text[5]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'*'+Edit1.Text[5]+')'+'*'+Edit1.Text[7];end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='*') and (Edit1.Text[6]='v') and (d=7) then begin Edit2.Text:='('+Edit1.Text[1]+'+'+Edit1.Text[3]+'*'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+')'+'+'+Edit1.Text[7]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'*'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+')'+'*'+Edit1.Text[7];end;

if (Edit1.Text[2]='*') and (Edit1.Text[4]='v') and (Edit1.Text[6]='*') and (d=7) then begin Edit2.Text:=Edit1.Text[1]+'*'+Edit1.Text[3]+'+'+Edit1.Text[5]+'*'+Edit1.Text[7]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+'*'+Edit1.Text[7];end;

end;

if (Edit1.Text[1]='(') and (Edit1.Text[3]='v') and (Edit1.Text[5]='*') and (Edit1.Text[7]=')') and (Edit1.Text[8]='v')then begin

Edit2.Text:='('+Edit1.Text[2]+'+'+Edit1.Text[4]+'*'+Edit1.Text[6]+'-'+Edit1.Text[2]+'*'+Edit1.Text[4]+'*'+Edit1.Text[6]+')'+'+'+Edit1.Text[9]+'-'+'('+Edit1.Text[2]+'+'+Edit1.Text[4]+'*'+Edit1.Text[6]+'-'+Edit1.Text[2]+'*'+Edit1.Text[4]+'*'+Edit1.Text[6]+')'+'*'+Edit1.Text[9];end;

end;

procedure TForm1.BitBtn10Click(Sender: TObject);

var d,i:integer;

begin

if (BitBtn5.Enabled=false) and (BitBtn6.Enabled=false) then

begin

   if Label3.Caption='A' then label15.Caption:=Edit5.Text;

   if Label3.Caption='B' then label15.Caption:=Edit6.Text;

   if Label3.Caption='C' then label15.Caption:=Edit7.Text;

   if Label3.Caption='D' then label15.Caption:=Edit8.Text;

   if Label4.Caption='A' then label16.Caption:=Edit5.Text;

   if Label4.Caption='B' then label16.Caption:=Edit6.Text;

   if Label4.Caption='C' then label16.Caption:=Edit7.Text;

   if Label4.Caption='D' then label16.Caption:=Edit8.Text;

   if Label5.Caption='A' then label17.Caption:=Edit5.Text;

   if Label5.Caption='B' then label17.Caption:=Edit6.Text;

   if Label5.Caption='C' then label17.Caption:=Edit7.Text;

   if Label5.Caption='D' then label17.Caption:=Edit8.Text;

if Label3.Caption[2]='*' then begin         ///// если 2 или 3 перемен в скобках

   if Label3.Caption[1]='A' then label18.Caption:=Edit5.Text;

   if Label3.Caption[1]='B' then label18.Caption:=Edit6.Text;

   if Label3.Caption[1]='C' then label18.Caption:=Edit7.Text;

   if Label3.Caption[1]='D' then label18.Caption:=Edit8.Text;

   if Label3.Caption[3]='A' then label19.Caption:=Edit5.Text;

   if Label3.Caption[3]='B' then label19.Caption:=Edit6.Text;

   if Label3.Caption[3]='C' then label19.Caption:=Edit7.Text;

   if Label3.Caption[3]='D' then label19.Caption:=Edit8.Text;

   if Label3.Caption[5]='A' then label20.Caption:=Edit5.Text;

   if Label3.Caption[5]='B' then label20.Caption:=Edit6.Text;

   if Label3.Caption[5]='C' then label20.Caption:=Edit7.Text;

   if Label3.Caption[5]='D' then label20.Caption:=Edit8.Text;

Label15.Caption:=floattostr(strtofloat(Label18.Caption)*strtofloat(Label19.Caption)*strtofloat(Label20.Caption));;

end;

if Label4.Caption[2]='*' then begin         ///// если 2 или 3 перемен в скобках

   if Label4.Caption[1]='A' then label21.Caption:=Edit5.Text;

   if Label4.Caption[1]='B' then label21.Caption:=Edit6.Text;

   if Label4.Caption[1]='C' then label21.Caption:=Edit7.Text;

   if Label4.Caption[1]='D' then label21.Caption:=Edit8.Text;

   if Label4.Caption[3]='A' then label22.Caption:=Edit5.Text;

   if Label4.Caption[3]='B' then label22.Caption:=Edit6.Text;

   if Label4.Caption[3]='C' then label22.Caption:=Edit7.Text;

   if Label4.Caption[3]='D' then label22.Caption:=Edit8.Text;

Label16.Caption:=floattostr(strtofloat(Label21.Caption)*strtofloat(Label22.Caption));//*strtofloat(Label23.Caption));;

end;

if Label17.Caption='' then //  в скобках 2 элемента

begin Edit9.Text:= floattostr(strtofloat(Label15.Caption)+strtofloat(Label16.Caption)-strtofloat(Label15.Caption)*strtofloat(Label16.Caption));end;

if Label17.Caption<>'' then //  в скобках 3 элемента

begin Edit9.Text:=floattostr((strtofloat(Label15.Caption)+strtofloat(Label16.Caption)-strtofloat(Label15.Caption)*strtofloat(Label16.Caption))+strtofloat(Label17.Caption)-(strtofloat(Label15.Caption)+strtofloat(Label16.Caption)-strtofloat(Label15.Caption)*strtofloat(Label16.Caption))*strtofloat(Label17.Caption));end;

end;

if (Edit2.Text[2]='*') and (Edit3.Text<>'') then begin

if Edit2.Text[1]='A' then Edit4.Text:=floattostr(strtofloat(Edit9.Text)*strtofloat(Edit5.Text));

if Edit2.Text[1]='B' then Edit4.Text:=floattostr(strtofloat(Edit9.Text)*strtofloat(Edit6.Text));

if Edit2.Text[1]='C' then Edit4.Text:=floattostr(strtofloat(Edit9.Text)*strtofloat(Edit7.Text));

if Edit2.Text[1]='D' then Edit4.Text:=floattostr(strtofloat(Edit9.Text)*strtofloat(Edit8.Text));

end;

if (Edit2.Text[4]='*') and (Edit3.Text<>'') then begin

if Edit2.Text[3]='A' then Edit4.Text:=floattostr(strtofloat(Edit4.Text)*strtofloat(Edit5.Text));

if Edit2.Text[3]='B' then Edit4.Text:=floattostr(strtofloat(Edit4.Text)*strtofloat(Edit6.Text));

if Edit2.Text[3]='C' then Edit4.Text:=floattostr(strtofloat(Edit4.Text)*strtofloat(Edit7.Text));

if Edit2.Text[3]='D' then Edit4.Text:=floattostr(strtofloat(Edit4.Text)*strtofloat(Edit8.Text));

end;

                                                           ///////////////////если перед скобкой 1 v

if (Edit1.Text[2]='v') and (Edit1.Text[4]<>'v') then begin

if Edit1.Text[1]='A' then

Edit4.Text:=floattostr(strtofloat(Edit5.Text)+strtofloat(Edit9.Text)-strtofloat(Edit5.Text)*strtofloat(Edit9.Text));

if Edit2.Text[1]='B' then

Edit4.Text:=floattostr(strtofloat(Edit6.Text)+strtofloat(Edit9.Text)-strtofloat(Edit6.Text)*strtofloat(Edit9.Text));

if Edit2.Text[1]='C' then

Edit4.Text:=floattostr(strtofloat(Edit7.Text)+strtofloat(Edit9.Text)-strtofloat(Edit7.Text)*strtofloat(Edit9.Text));

if Edit2.Text[1]='D' then

Edit4.Text:=floattostr(strtofloat(Edit8.Text)+strtofloat(Edit9.Text)-strtofloat(Edit8.Text)*strtofloat(Edit9.Text));

end;

///////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////

if (BitBtn5.Enabled=true) and (BitBtn6.Enabled=true) then

begin

d:=0;

///////////////////// определение ячеек

if (Edit1.Text[1]='A') then Label11.Caption:=Edit5.Text;

if (Edit1.Text[1]='B') then Label11.Caption:=Edit6.Text;

if (Edit1.Text[1]='C') then Label11.Caption:=Edit7.Text;

if (Edit1.Text[1]='D') then Label11.Caption:=Edit8.Text;

if (Edit1.Text[3]='A') then Label12.Caption:=Edit5.Text;

if (Edit1.Text[3]='B') then Label12.Caption:=Edit6.Text;

if (Edit1.Text[3]='C') then Label12.Caption:=Edit7.Text;

if (Edit1.Text[3]='D') then Label12.Caption:=Edit8.Text;

if (Edit1.Text[5]='A') then Label13.Caption:=Edit5.Text;

if (Edit1.Text[5]='B') then Label13.Caption:=Edit6.Text;

if (Edit1.Text[5]='C') then Label13.Caption:=Edit7.Text;

if (Edit1.Text[5]='D') then Label13.Caption:=Edit8.Text;

if (Edit1.Text[7]='A') then Label14.Caption:=Edit5.Text;

if (Edit1.Text[7]='B') then Label14.Caption:=Edit6.Text;

if (Edit1.Text[7]='C') then Label14.Caption:=Edit7.Text;

if (Edit1.Text[7]='D') then Label14.Caption:=Edit8.Text;

for i:=1 to length(Edit1.Text) do inc(d);

                                                         /////// 3333333333333333

if (Edit1.Text[2]='*') and (d=3) then begin Edit2.Text:= Edit1.Text;Edit4.Text:=floattostr(strtofloat(Label11.Caption )*strtofloat(Label12.Caption)); end;

if (Edit1.Text[2]='v') and (d=3) then begin Edit2.Text:=Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3];

Edit4.Text:=floattostr(StrToFloat(Label11.Caption)+StrToFloat(Label12.Caption)-StrToFloat(Label11.Caption)*StrToFloat(Label12.Caption));end;

                                                       /////////5555555555555555

if (Edit1.Text[2]='*') and (Edit1.Text[4]='*') and (d=5) then begin Edit2.Text:=Edit1.Text;

Edit4.Text:=floattostr(StrToFloat(Label11.Caption)*StrToFloat(Label12.Caption)*StrToFloat(Label13.Caption));end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='*') and (d=5) then begin

Edit2.Text:=Edit1.Text[1]+'+'+Edit1.Text[3]+'*'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5];

Edit4.Text:=floattostr(strtofloat(Label11.Caption)+strtofloat(Label12.Caption)*strtofloat(Label13.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption));end;

if (Edit1.Text[2]='*') and (Edit1.Text[4]='v') and (d=5) then begin

Edit2.Text:=Edit1.Text[1]+'*'+Edit1.Text[3]+'+'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5];

Edit4.Text:=floattostr(strtofloat(Label11.Caption)*strtofloat(Label12.Caption)+strtofloat(Label13.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption));end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='v') and (d=5) then begin

Edit2.Text:='('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'+'+Edit1.Text[5]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'*'+Edit1.Text[5] ;

Edit4.Text:=floattostr((strtofloat(Label11.Caption)+strtofloat(Label12.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption))+strtofloat(Label13.Caption)-(strtofloat(Label11.Caption)+strtofloat(Label12.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption))*strtofloat(Label13.Caption));end;

                                                       ////////////7777777777777777777

if (Edit1.Text[2]='*') and (Edit1.Text[4]='*') and (Edit1.Text[6]='*') and (d=7) then begin Edit2.Text:=Edit1.Text;

Edit4.Text:=floattostr(StrToFloat(Label11.Caption)*StrToFloat(Label12.Caption)*StrToFloat(Label13.Caption)*StrToFloat(Label14.Caption));end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='*') and (Edit1.Text[6]='*') and (d=7) then begin Edit2.Text:=Edit1.Text[1]+'+'+Edit1.Text[3]+'*'+Edit1.Text[5]+'*'+Edit1.Text[7]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+'*'+Edit1.Text[7];

Edit4.Text:=floattostr(StrToFloat(Label11.Caption)+StrToFloat(Label12.Caption)*StrToFloat(Label13.Caption)*StrToFloat(Label14.Caption)-StrToFloat(Label11.Caption)*StrToFloat(Label12.Caption)*StrToFloat(Label13.Caption)*StrToFloat(Label14.Caption));end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='v') and (Edit1.Text[6]='*') and (d=7) then begin Edit2.Text:='('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'+'+Edit1.Text[5]+'*'+Edit1.Text[7]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'*'+Edit1.Text[5]+'*'+Edit1.Text[7];

Edit4.Text:=floattostr((strtofloat(Label11.Caption)+strtofloat(Label12.Caption)-strtofloat(Label11.Caption)* strtofloat(Label12.Caption))+strtofloat(Label13.Caption)*strtofloat(Label14.Caption)-(strtofloat(Label11.Caption)+strtofloat(Label12.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption))*strtofloat(Label13.Caption)*strtofloat(Label14.Caption));end;

if (Edit1.Text[2]='*') and (Edit1.Text[4]='v') and (Edit1.Text[6]='v') and (d=7) then begin Edit2.Text:='('+Edit1.Text[1]+'*'+Edit1.Text[3]+'+'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+')'+'+'+Edit1.Text[7]+'-'+'('+Edit1.Text[1]+'*'+Edit1.Text[3]+'+'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+')'+'*'+Edit1.Text[7];

Edit4.Text:=floattostr((strtofloat(Label11.Caption)*strtofloat(Label12.Caption)+strtofloat(Label13.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption))+strtofloat(Label14.Caption)-(strtofloat(Label11.Caption)*strtofloat(Label12.Caption)+strtofloat(Label13.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption))*strtofloat(Label14.Caption));end;

if (Edit1.Text[2]='*') and (Edit1.Text[4]='*') and (Edit1.Text[6]='v') and (d=7) then begin Edit2.Text:=Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+'+'+Edit1.Text[7]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+'*'+Edit1.Text[7];

Edit4.Text:=floattostr(strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption)+strtofloat(Label14.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption)*strtofloat(Label14.Caption));end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='v') and (Edit1.Text[6]='v') and (d=7) then begin Edit2.Text:='('+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'+'+Edit1.Text[5]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'*'+Edit1.Text[5]+')'+'+'+Edit1.Text[7]+'-'+'('+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'+'+Edit1.Text[5]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+')'+'*'+Edit1.Text[5]+')'+'*'+Edit1.Text[7];

Edit4.Text:=floattostr(((strtofloat(Label11.Caption)+strtofloat(Label12.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption))+strtofloat(Label13.Caption)-(strtofloat(Label11.Caption)+strtofloat(Label12.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption))*strtofloat(Label13.Caption))+strtofloat(Label14.Caption)-((strtofloat(Label11.Caption)+strtofloat(Label12.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption))+strtofloat(Label13.Caption)-(strtofloat(Label11.Caption)+strtofloat(Label12.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption))*strtofloat(Label13.Caption))*strtofloat(Label14.Caption));end;

if (Edit1.Text[2]='v') and (Edit1.Text[4]='*') and (Edit1.Text[6]='v') and (d=7) then begin Edit2.Text:='('+Edit1.Text[1]+'+'+Edit1.Text[3]+'*'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+')'+'+'+Edit1.Text[7]+'-'+'('+Edit1.Text[1]+'+'+Edit1.Text[3]+'*'+Edit1.Text[5]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+')'+'*'+Edit1.Text[7];

Edit4.Text:=floattostr((strtofloat(Label11.Caption)+strtofloat(Label12.Caption)*strtofloat(Label13.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption))+strtofloat(Label14.Caption)-(strtofloat(Label11.Caption)+strtofloat(Label12.Caption)*strtofloat(Label13.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption))*strtofloat(Label14.Caption));end;

if (Edit1.Text[2]='*') and (Edit1.Text[4]='v') and (Edit1.Text[6]='*') and (d=7) then begin Edit2.Text:=Edit1.Text[1]+'*'+Edit1.Text[3]+'+'+Edit1.Text[5]+'*'+Edit1.Text[7]+'-'+Edit1.Text[1]+'*'+Edit1.Text[3]+'*'+Edit1.Text[5]+'*'+Edit1.Text[7];

Edit4.Text:=floattostr(strtofloat(Label11.Caption)*strtofloat(Label12.Caption)+strtofloat(Label13.Caption)*strtofloat(Label14.Caption)-strtofloat(Label11.Caption)*strtofloat(Label12.Caption)*strtofloat(Label13.Caption)*strtofloat(Label14.Caption));end;

//if (Edit1.Text[1]='(') and (Edit1.Text[3]='v') and (Edit1.Text[5]='*') and (Edit1.Text[7]=')') and (Edit1.Text[8]='v')then begin

//Edit2.Text:='('+Edit1.Text[2]+'+'+Edit1.Text[4]+'*'+Edit1.Text[6]+'-'+Edit1.Text[2]+'*'+Edit1.Text[4]+'*'+Edit1.Text[6]+')'+'+'+Edit1.Text[9]+'-'+'('+Edit1.Text[2]+'+'+Edit1.Text[4]+'*'+Edit1.Text[6]+'-'+Edit1.Text[2]+'*'+Edit1.Text[4]+'*'+Edit1.Text[6]+')'+'*'+Edit1.Text[9];end;

//Edit4.Text:=floattostr((strtofloat(Label11.Caption)  '('+Edit1.Text[2]+'+'+Edit1.Text[4]+'*'+Edit1.Text[6]+'-'+Edit1.Text[2]+'*'+Edit1.Text[4]+'*'+Edit1.Text[6]+')'+'+'+Edit1.Text[9]+'-'+'('+Edit1.Text[2]+'+'+Edit1.Text[4]+'*'+Edit1.Text[6]+'-'+Edit1.Text[2]+'*'+Edit1.Text[4]+'*'+Edit1.Text[6]+')'+'*'+Edit1.Text[9];end;

end;

PAGE  1


 

А также другие работы, которые могут Вас заинтересовать

21704. Модуль Нейрокибернетика 380 KB
  В первом случае сформированная нейронная сеть выступает в роли регрессионной модели и имеет k входов и один выход то есть в качестве входных значений нейронной сети выступают предшествующие значения котировок а в качестве выхода значение на текущий момент. В автоматическом управлении нейронные сети так же не плохо справляются со своей задачей и если учесть что не нужно проводить сложных расчетов то выбор в пользу использования нейронных сетей становиться очевидным. Так же нейронные сети находят практическое применение при диагностике...
21705. Технология личностного ориентирования в географии 103.5 KB
  Содержание личностно-ориентированного образования, его средства и методы структурируются так, что позволяют ученику проявить избирательность к предметному материалу, его виду и форме, в этих целях разрабатываются индивидуальные программы обучения, которые моделируют исследовательское мышление.
21706. Методы экспертного оценивания 136 KB
  5] Анализ компетентности экспертов по взаимооценкам [0.6] Анализ компетентности экспертов по оценкам объектов [0. Типичные ситуации группового выбора: распределение конкурсной комиссией поощрений; обсуждение и согласование нескольких альтернативных законопроектов; ранжирование по перспективности внедрения образцов новых промышленных изделий производимое группой экспертов. Например для 3х объектов предпочтение одного из экспертов или он может количественно выразить интенсивность ; ; .
21707. Разделы модуля «Базовые понятия. Методы извлечения знаний» 368 KB
  Методы извлечения знаний [1] История и этапы развития искусственного интеллекта [2] Подходы к созданию систем искусственного интеллекта [3] Искусственный интеллект в России [4] Направления развития искусственного интеллекта [5] Основные определения [6] Методы извлечения знаний [7] Классификация методов извлечения знаний [8] Пассивные методы [9] Наблюдения [10] Анализ протоколов мыслей вслух [11] Лекции [12] Активные методы [13] Активные индивидуальные методы [14] Анкетирование [15] Интервью [16] Свободный диалог [17] Активные групповые методы...
21708. Модуль Жизненный цикл интеллектуальной системы 147.5 KB
  2] Этап 2: Разработка прототипной системы [1.4] Этап 4: Оценка системы [1.5] Этап 5: Стыковка системы [1.
21709. Модуль Методы представления знаний: Нечеткая логика 192 KB
  Математический аппарат Характеристикой нечеткого множества выступает функция принадлежности Membership Function. Обозначим через MFcx – степень принадлежности к нечеткому множеству C представляющей собой обобщение понятия характеристической функции обычного множества. Значение MFcx=0 означает отсутствие принадлежности к множеству 1 – полную принадлежность. Так чай с температурой 60 С принадлежит к множеству 'Горячий' со степенью принадлежности 080.
21711. Оценка вероятностей возможных последствий от нарушений электроснабжения потребителей 181.5 KB
  Оценка вероятностей возможных последствий от нарушений электроснабжения потребителей Для решения широкого класса задач эксплуатации и проектирования с учётом фактора надёжности необходимо определение вероятностей возникновения возможных последствий от нарушения электроснабжения потребителей которые сводятся к следующим: вероятность возникновения катастрофических и аварийных ситуаций исследование которых необходимо для нормирования надёжности электроснабжения; вероятность возникновения отдельных составляющих ущерба их величина и...
21712. ИСПЫТАНИЯ НА НАДЕЖНОСТЬ ЭМС. КОНТРОЛЬНЫЕ ИСПЫТАНИЯ 2.49 MB
  Показатели надежности экспериментальными методами могут быть получены по результатам либо испытаний – специальных или совмещенных либо наблюдением за функционированием объекта в условиях эксплуатации. Методы испытаний организуются специально с целью определения показателей надежности объем их обычно заранее планируется условия функционирования объектов устанавливаются исходя из требований оценки конкретных показателей. Показатели надежности таких объектов оцениваются в основном либо по результатам совмещенных испытаний при которых...