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


 

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

85326. Семейно-бытовые праздники и обряды: структура, функции и художественные элементы 47.87 KB
  Понятие обычая обряда ритуала традиции Мы видим что стремлением людей ярко красиво торжественно и памятно отметить узловые события своей жизни обусловлено придание этим событиям форм праздников и обрядов. являются переломными моментами в жизни людей меняющими их отношения с окружающими дающими им новые права и предъявляющими новые требования. Что же заключается в понятии обряд В чем его сущность Почему во все времена начиная с первобытнообщинного строя люди отмечали торжественными ритуальными действиями наиболее выдающиеся события...
85327. Концепция этногенеза Л. Н. Гумилева 42.19 KB
  В основу своей теории этногенеза Гумилев положил в качестве главного постулата тезис о природнобиологическом характере этноса обусловленного тем что он является составной частью биоорганического мира планеты и возникает в определенных географоклпматических условиях.cnn же некоторое количество людей обладающих этим признаком соберется вместе объединенные одной целью если при этом они находятся в благоприятных географических условиях необходим разнообразный ландшафт появляется зародыш нового этноса начинается бурный процесс...
85328. Основные принципы формирования понятия народной художественной культуры 38.78 KB
  До сих пор понимание предметного поля каждого ил этих образований народной к остается весьма дискурсивным. Тем более что ряд наук филология история этнография искусствоведение претендовали в разные годы на всеобъемлющую роль в изучении народной культуры преувеличивая значение для последней своих проблем. Нельзя не сказать и о том что в России ситуация усугубляется за счет потерянных народной художественной культурой ориентиров развития в ХХ в.
85329. Традиционные и инновационные формы народной художественной культуры 39.23 KB
  В народной художественной культуре любого народа постоянно появляется и бытует огромное количество образований представляюших собой традиционный фольклор традиции и новых образований связанных с традиционными художественными структурами новации. В культурологии сочетанием традиции и новации обозначают две взаимозависимые стороны развития культуры в которых зафиксирована мысль о том что она содержит в себе как устойчивые так и изменчивые моменты. Глобальная характеристика культуры заключается в единстве традиции и новаторства...
85330. Поняття «норма» і «аномалія» в психології 31.92 KB
  Норма лат. В практичній психології і педагогіці сьогодні працюючими є поняття учбова норма; соціальновікова норма індивідуальна норма. Питання про аномалії в розвитку може розглядатися тільки в контексті знання про нормальні параметри цих процесів і поведінки.
85331. Полісенсорна система навчання слабочуючих дітей і комунікаційна система навчання глухих 38.93 KB
  Отже потрібно для нього створити відповідні його природі умови. У сучасній дидактичній системі навчання мови глухих дітей за принципом формування мовного спілкування С.Зиков розрізняють три форми словесної мови: дактильная усна і письмова. В якості вихідної форми мови найбільш повно відповідає природі глухого дитини використовується пальцева сприймається зором форма словесної мови дактильная форма.
85332. Психолого-педагогічні основи розвитку і освіти дітей зі складним дефектом 37.31 KB
  Залежно від структури порушення діти з поєднаними порушеннями поділяються на три основні групи. У першу входять діти з двома вираженими психофізичними порушеннями кожне з яких може викликати аномалію розвитку: сліпоглухих діти розумово відсталі глухі слабочуючі із затримкою психічного розвитку первинної. У другу групу мають одне істотне психофізичний порушення провідне і супутнє йому інше порушення виражене в слабкому ступені але помітно обтяжлива хід розвитку: розумово відсталі діти з невеликим зниженням слуху. У третю групу...
85333. Причини порушень слуху 41.95 KB
  Стійкі порушення слуху у дітей можуть бути вродженими і набутими. Висновок про природжений або набутий характер порушення слуху робиться зазвичай на підставі відомостей отриманих зі слів батьків а ці відомості часто виявляються досить неточними. З іншого боку нерідко дійсно вроджене порушення слуху залишається протягом декількох місяців а іноді років нерозпізнаним а коли воно виявляється то приписується якомусь випадковому захворювання або травмі що мали місце незадовго до виявлення дефекту слуху.
85334. Поняття про складне порушення розвитку 38.45 KB
  У літературі та практиці на даний час не встановилася єдина термінологія одні й ті ж порушення можуть бути названі і складними і комплексними і множинними. Порушення розвитку може бути ізольованим одиничним або складним множинним. Одиничне порушення це порушення якоїсь однієї системи організму.