Programovanie makier v LibreOffice: Operátory (1)

LO.png Doteraz sme prebrali úctyhodne základy programovania v jazyku Visual Basic uspôsobený pre LibreOffice. Avšak, nie veľmi podrobne sme rozobrali binárne a unárne operátory. Okrajovo sme ich už spomínali v príkladoch alebo v teórii, ale myslím si, že začiatočník ocení nejaké okomentovanie tejto problematiky. Chcel by som v dvoch troch článkov vysvetliť tieto typy operátorov a následne niektoré aplikovať i do praktických príkladov.  

S operátormi sa stretávate snáď v každom napísanom makre. Operátory delíme na unárne a binárne. Samotné binárne sa ešte ďalej delia na aritmetické, relačné, logické a bitové. Prejdeme si jednotlivé kategórie operátorov a ak bude potrebné, ukážeme i príklad.

Unárne operátory

Medzi unárne operátory radíme tri operátory. 

Prvý operátor je NOT. Už z článku viete, že je to negácia logického operátoru. Inak povedané, ak premenná je true, tak sa stane false a naopak. 

Druhý operátor je predné znamienko + a tretí operátor predné znamienko -. Druhý a tretí operátor nás nebude zaujímať, Pozrieme sa v príklade na operátor NOT.

1. príklad: Použitie operátora NOT v jednoduchom programe

Sub exampleNOT
 Dim isBoolean As Boolean
 
 isBoolean = false
 
 MsgBox NOT isBoolean
 End Sub

Výsledok makra Výsledok makra

Binárne operátory

Medzi binárne operátory ako sme hovorili, patria aritmetické, relačné, logické a bitové operátory. Hranica medzi logickými a bitovými operátormi nie je až taká jednoduchá na pochopenie a preto ich budeme považovať ako spoločnú skupinu. Tak poďme si ich predstaviť.

Medzi aritmetické operátory patria: 

  • Operátor + znamená numerické sčítanie alebo spája reťazce. 
  • Operátor znamená numerické odčítanie.
  • Operátor * znamená násobenie.
  • Operátor / znamená numerické delenie.
  • Operátor \ znamená celočíselné delenie.
  • Operátor ^ znamená umocňovanie.
  • Operátor MOD znamená numerické delenie so zvyškom.
  • Operátor & spája reťazce.

Relačné operátory:

  • Operátor < znamená menší ako.
  • Operátor > znamená väčší ako.
  • Operátor <= znamená menší alebo rovný ako.
  • Operátor >= znamená väčší alebo rovný ako.
  • Operátor <> znamená nerovnosť.

Logické (a bitové) operátory:

  • Operátor AND znamená logický súčin.
  • Operátor OR znamená logický súčet.
  • Operátor XOR znamená exkluzívny logický súčet.
  • Operátor EQV znamená ekvivalenciu.
  • Operátor IMP znamená implikáciu.

2. príklad: Využitie + miesto & na spájanie reťazcov a premenných

Sub example
 MsgBox "Jupiter je najväčšia planéta v Slnečnej sústave." & Chr(10) 
+ "Divne počasie je dnes vonku, brrr!"
 End Sub

Výsledná činnosť makra Výsledná činnosť makra

3. príklad: Experimenty s umocňovaním 

Sub example
 MsgBox "7^2: " & 7^2 & Chr(10) & "-7^2: " & -7^2 & Chr(10) & "7^-2: " & 
7^-2 & Chr(10) & "7^2^2: " & 7^2^2 & Chr(10) & "7^0.2: " & 7^0.2 & Chr(10) & "7^-0.2: " & 
7^-0.2 & Chr(10) & "-(7^2): " & -(7^2) & Chr(10)
 End Sub

Výsledná činnosť makra Výsledná činnosť makra

4. príklad:  Ukážka na operátor MOD

Sub example
 Dim prvy()
 Dim druhy()
 Dim retazec As String
 Dim i As Integer
 
 prvy() = Array(10,7,5.1,-11,77,125,0.99)
 druhy() = Array(4, 77, 45, 4, 5.1, -4.7, 12)
 
 For i = LBound(druhy()) To Ubound(prvy()) REM cyklus
  retazec = retazec & prvy(i) & " MOD " & druhy(i) & " = " & 
  prvy(i) MOD druhy(i) & CHR(10) REM tu skúšame operátor MOD
 Next
 
 MsgBox retazec REM vypíšeme na obrazovku
 End Sub

Výsledok makra Výsledok makra

Rozbor makra: Vytvoríme si dve polia. Do nich vložíme rôzne čísla. Následne cez cyklus For vypočítame zvyšok po delení z čísel. Zaujímavosťou je, že v cykle budeme potrebovať stále uložiť reťazec, aby sa nám nestratil v ďalšej iterácii. Naše riešenie zabezpečí, že celý reťazec ostane bez úhony.

Prvú časť o operátoroch máme za sebou. Dúfam že vám článok pomohol sa zorientovať. Ako vidíte, postupom času v seriáli sa môžem vrátiť na už spomenuté témy a výstižnejšie ich vysvetliť v kontexte aktuálnej témy. Ja razím cestu, že sú dôležité veľa príkladov z každej strany, než nalinkovaný obsah teórie, podľa ktorého sa treba striktné držať. Iste, mám v pláne časom dôjsť aj na zaujímavejšie oblastí makier, o ktoré je zvýšený záujem, napríklad písanie makier pre LibreOffice Calc. Ostaňte zatiaľ naladený. 

(Jako ve škole) Průměr: 1,00 | Hodnotilo: 3
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
EDU Trainings
Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.

 

Public Relations

IPv4 zastarává, i tak si však zaslouží kvalitní zabezpečení

Znáte souvislost mezi doménami a typickými IP adresami? Není od věci si uvědomit, že zatímco domény jsou určeny pro zjednodušení hledání webové stránky na internetu, IP adresy slouží primárně pro výpočetní techniku, konkrétně pro přesné vyhledání konkrétního serveru nebo počítače.

Pokračování ...


LinuxEXPRES (news 300px)
SAM v kostce 2019
 
 
woo jaw demo hz