85938

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

Курсовая

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

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

Русский

2015-04-01

334.5 KB

10 чел.

СОДЕРЖАНИЕ

[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


 

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

53885. Органи кровообігу 91.5 KB
  Обладнання: таблиця Органи кровообігу картки; компютер ППЗ Природознавство 3й клас для загальноосвітніх навчальних шкіл. Органи дихання це ніс гортань трахея бронхи легені легеневі пухирці кровоносні судини 3. Мотивація навчальної діяльності Прослухавши вірш ви легко дасте відповідь на запитання: про яку систему органів сьогодні піде мова Тема сьогодні у нас важкувата Адже кров ми вивчаєм малята.
53886. День слави і печалі. Урок – пам’ять присвячений річниці бою під Крутами 111 KB
  94 роки тому назад у бою під Крутами що на Чернігівщині понад 300 курсантів військової школи студентів та гімназистів рішуче відстоюючи право українського народу жити у власній державі вступили у нерівний бій із значно переважаючим добре озброєним і вишколеним противником і протягом кількох днів стримували на підступах до Києва величезну більшовицьку армію. Єдиною активною мілітарною нашою силою була наша інтелігентна молодь і частина національносвідомого робітництва яке гаряче стояло за українську державність розуміючи за нами ту...
53887. Квадратне рівняння та його використання 87.5 KB
  Завдання: навчальні: відтворити знання про квадратне рівняння його види способи розвязування;вміння розвязувати квадратні рівняння. використовувати рівняння що зводяться до квадратних перетворювання раціональних виразів розвязування квадратичних виразів графічним способом; систематизувати та узагальнити навчальні досягнення учнів щодо розвязання квадратних рівнянь та їх використання в ході уроку та їх використання в ході уроку під час формування компетенцій учнів з алгебри;;розвивальні: розвивати увагу мислення пам'ять...
53889. Американська їжа. Традиційна українська кухня 332 KB
  Dear friends! I аm very glad to meet you here in our beautiful village and welcome you to the lesson About Americans Food. Today we shall speak English, watch video-cassettes. In other words we shall enjoy the English language today.
53890. Методика «Кулькова лялька» 90.5 KB
  Вік: рекомендуємо використовувати з 2х років разом з психологом з батьками до 11 років вік коли дитина ще вірить у казки чаклунство. Емоція яку проговорить дитина буде відображена на обличчі кулькової ляльки. Хід роботи: Чарівні маленькі предмети дитина кладе у коробок зпід кіндерсюрпризу. Дитина думає про те що їй допомагає та 3 рази дує в коробочок закриває його.
53891. Культура и традиции 62.5 KB
  И такой вариант возможен и у вас начнётся как переплетение с цветочками посредине. Допустим мы взяли черно злато белые цвета императорского штандарта. Что вам нужно Я взял три нитки можно цветов и поболее собрал их вместе. Можно подвести просто по одному цвету.
53892. Наземний, підземний, повітряний, водний – нас транспорт домчить будь-куди вже сьогодні 72.5 KB
  Тема: Наземний підземний повітряний водний - нас транспорт домчить будькуди вже сьогодні Автор: Ярмоленко Людмила Анатоліївна вчительлогопед ДНЗ №8 Золотий півник м. Вчительлогопед. Диференціація голосних та приголосних звуків Вчительлогопед. Вчительлогопед.
53893. Створення розвивально-ігрового середовища для розвитку творчого життя дошкільника 38 KB
  Продовжувати вчити виконувати роль кожного працівника кондитерського цеху знаходити методи спілкування між працівниками фабрики: кондитер завідувач кондитерським цехом директор секретар; будувати правильні міжрольові діалоги; закріпити засвоєні знання дітей із культури ділового спілкування; продовжувати вчити застосовувати свої знання на практиці в нестандартних умовах; закріпити вміння творчо працювати групами і допомагати один одному співпереживати. Розширювати уявлення дітей про роботу малих підприємств; закріпити вміння виконувати...