Formuły warunkowe

Formuły w programie Dietrich’s są świetnym miejscem do centralnego zarządzania wartościami wprowadzanymi do modelu. Mogą wykorzystywać zmienne systemowe oraz zmienne tworzone przez użytkowników. Wszędzie tam, gdzie przy polu wprowadzania wartości pojawia się ikonka kalkulatora możemy użyć formuły.

Pozwalają one jednak na znacznie więcej. Można w nich zawierać warunki, których spełnienie lub nie, da precyzyjnie zaplanowaną wartość.

Warunki w formułach

zapis formuły warunkowej sprowadza się do utworzenia trzech następujących po sobie nawiasów okrągłych () oddzielonych średnikami ;

(warunek);(prawda);(fałsz)

  1. pierwszy nawias to formuła warunkowa/porównawcza badająca zależności miedzy wybranymi przez użytkownika wartościami
  2. drugi nawias to wartość, którą zwróci cała formuła gdy warunki z pierwszego nawiasu zostaną spełnione
  3. trzeci nawias to wartość, którą zwróci cała formuła gdy warunki z pierwszego nawiasu nie zostaną spełnione

formuły warunkowe

warunek można komplikować zagnieżdżając w jego strukturze kolejne warunki. Dzięki temu można uwzględnić wiele okoliczności.

Przykłady:
((warunek1)&(warunek2));(prawda);(fałsz)
(warunek1);((warunek2);(prawda1);(fałsz1));(fałsz2)
(warunek1);(prawda1);((warunek2);(prawda2);(fałsz2))
(warunek1);(prawda1);((warunek2);(prawda2);((warunek3);(prawda3);(fałsz3)))

 

Operatory porównawcze

symbol znaczenie opis
= równe warunek jest spełniony jeśli obie strony równania są takie same
!= różne warunek jest spełniony jeśli obie strony równania są różne od siebie
> większe niż warunek jest spełniony jeśli lewa strona jest większa od prawej
>= większe niż lub równe warunek jest spełniony jeśli lewa strona jest większa lub równa prawej
< mniejsze niż warunek jest spełniony jeśli lewa strona jest mniejsza od prawej
<= mniejsze niż lub równe warunek jest spełniony jeśli lewa strona jest mniejsza lub równa prawej
Przykład:
zmienna V_a ma wartość 0.04[m]
(V_a>=0,02[m]);(20[cm]);(0[cm]) -> 20[cm]
(V_a!=0,04[m]);(20[cm]);(0[cm]) -> 0[cm]

 

Operatory matematyczne

symbol znaczenie opis
+ – * / dodawanie, odejmowanie, mnożenie, dzielenie podstawowe działania matematyczne
( ) nawias okrągły grupuje działania matematyczne, określa kolejność, zagnieżdża części składowe formuły 
[ ] nawias kwadratowy określa jednostkę wartości liczbowej np: 0.1[m] lub 0.1[cm]
sin, cos, tan Sinus, Cosinus, Tangens funkcje trygonometryczne – wartość kata podawana jest w stopniach (koło = 360°)
asin, acos, atan Arcus Sinus, Arcus Cosinus, Arcus Tangens funkcje cyklometryczne – wartość kata podawana jest w stopniach (koło = 360°)
sqrt pierwiastek kwadratowy sqrt(25) daje wartość 5 (√25 = 5)
^ potęga 5^2 daje wartość 25
Pi stała Pi Pi = 3.1415 – np.: obwód koła o średnicy 2.5m obliczane jest jako Pi*2.5[m]
round zaokrąglenie

poziom istotności zaokrąglenia jest stały i wynosi 0 – liczba jest zaokrąglana do jedności np.: round(2.4) daje wartość 2; round(2.5) daje wartość 3; round(2.4+0.5) daje wartość 3

abs wartość bezwzględna wartość bez znaku (bez minusa) abs(25) daje wartość 25 abs(-25) daje również wartość 25
Przykład:
zmienna V_a ma wartość 0.04[m]
(V_a*2<0.08[m]);(20[cm]);(0[cm]) -> 0[cm]

 

Operatory zapytań tekstowych

symbol znaczenie opis
~ lista pozwala na tworzenie listy wyszukiwanych wartości; odnalezienie choćby jednej wartości powoduje spełnienie warunku np.: abc~bca~cab
*

symbol zastępczy /wieloznacznik

skraca szukaną wartość do kilku konkretnych znaków, znaki nieistotne można pominąć w ten sposób: a*=abc *c=abc *b*=abc
{ } nawias klamrowy

pozwala tworzyć złożone wyszukiwania w warunku np.: warunek1=(V_tekst={abc~bca~cab}) warunek2=(V_tekst={*b*})

” „ cudzysłów liczba zapisana w cudzysłowie jest traktowana jako tekst; pozwala zapisać warunek, w którym znakami do wyszukania są tylko liczby (jeśli zapytanie składa się z cyfr oraz innych znaków nie trzeba ich zapisywać w ” „) 
Przykład:
zmienna V_tekst ma wartość abc
(V_tekst={abc~bca~cab});(20[cm]);(0[cm]) -> 20[cm]
(V_tekst={ab*});(20[cm]);(0[cm]) -> 20[cm]
(V_tekst="1.23");(20[cm]);(0[cm]) -> 0[cm]

wskazówka: Teksty są sortowane alfabetycznie, dzięki czemu można je również porównywać pod kątem „większy” i „mniejszy”. Tekst, który jest pierwszy w kolejności alfabetycznej, jest mniejszy. Np.: „abc” jest „mniejsze” niż „bca”

Przykład:
zmienna V_tekst ma wartość abc
(V_tekst<bca);(20[cm]);(0[cm]) -> 20[cm]
(V_tekst>bca);(20[cm]);(0[cm]) -> 0[cm]

Operatory logiczne

symbol znaczenie opis
& logiczne „i” oznacza wymóg spełnienia wszystkich warunków rozdzielonych tym znakiem
| logiczne „lub” oznacza wymóg spełnienia choćby jednego z warunków, z wszystkich rozdzielonych tym znakiem
Przykład:
zmienna V_tekst1 ma wartość abc
zmienna V_tekst2 ma wartość cab
((V_tekst1={a*})|(V_tekst2={b*}));(20[cm]);(0[cm]) -> 20[cm]
((V_tekst1={a*})&(V_tekst2={b*}));(20[cm]);(0[cm]) -> 0[cm]
((V_tekst1={a*})&((V_tekst2={b*})|(V_tekst2={c*})));(20[cm]);(0[cm]) -> 20[cm]

 

Comments are closed.