85938

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

Курсовая

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

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

Русский

2015-04-01

334.5 KB

5 чел.

СОДЕРЖАНИЕ

[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


 

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

47212. Экономические отношения, связанные с повышением эффективности использования основных фондов предприятия 736.5 KB
  Для оценки производственного потенциала предприятия огромную роль играет анализ основных фондов. Основной целью выпускной квалификационной работы является выявление наличия движения и использования основных фондов предприятия посредством использования методов сравнительного анализа исторического экономического и иных методов. Предметом исследования выпускной квалификационной работы являются экономические отношения связанные с повышением эффективности использования основных фондов предприятия. Теоретической и методологической основой...
47213. Процесс формирования эмоционально-ценностного отношения младших школьников к музыке 168.15 KB
  Вместе с тем знания о музыке без знания самой музыки эмоционально воспринятой пережитой и осмысленной ребенком фактически теряют свою личностноценностную значимость оставаясь формальным показателем эрудиции учащегося Анализ научных исследований Э. позволяет заключить что проблема формирования эмоциональноценностных отношений к музыке учащихся общеобразовательной школы не является в педагогической науке принципиально новой и отдельные её аспекты так или иначе представлены в психологопедагогических трудах. Однако анализ современной...
47214. Организация рекламной деятельности на предприятиях гостиничного комплекса (на примере гостиницы «Холидей Ин Москва Виноградово» 472 KB
  Экономическая роль рекламы реализуется в том, что она способствует росту общественного производства, объема капиталовложений и числа рабочих мест. Реклама также поддерживает конкуренцию, расширяет рынки сбыта, содействует ускорению оборачиваемости средств, чем повышает эффективность общественного производства.
47215. Анализ актива и пассива компании. Вывод по агрегированному балансу 43.28 KB
  По полученным расчетам можно сказать, что краткосрочные обязательства значительно превышают собственные денежные средства предприятия, которые могут быть использованы для выполнения текущих расчетов немедленно.
47216. Сравнительная отладка OpenMP программ 274 KB
  Разработанная экспериментальная версия системы позволяет проверить предложенные в данной работе подходы и может находить некоторые распространённые ошибки, возникающие при распараллеливании или появляющиеся при переносе с машины на машину таких программ.
47217. Применение маркетинга в банковской деятельности 750 KB
  Имидж банка. Оба варианта связаны с тем как банк будет работать с клиентами будь они покупателями его акций или покупателями услуг банка. Тому как можно применять маркетинг в работе коммерческого банка и будет посвящена данная дипломная работа. Понятие принципы и сущность банковского маркетинга Создание и развитие широкого спектра услуг банков оказываемых клиентам физическим и юридическим лицам базируется на ряде основных предпосылок: формирование стратегии банка определение эффективности концепция продажа услуг...
47219. Урок-диалог как форма развития отношений сотрудничества учителя и ученика в образовательном процессе 245.68 KB
  Стили общения в педагогической деятельности. Зависимость поведения воспитанника от стиля общения педагога. Влияние стиля общения педагога на активность ученика и его взаимодействие с другими учениками. Технология педагогического общения и стадии организации в образовательном процессе.
47220. Методика восстановления динитроароматических соединений и токсикологическая оценка их производных 1.58 MB
  В результате проведенного токсикологического эксперимента с использованием тест-объектов Ceriodaphnia affinis и на смешанной культуре водорослей (Chlorella vulgaris и Scenedesmus quadricauda), были установлены закономерности их токсичности от строения химического вещества.