Ako napísať kvalitne spracovaný dokument nielen pomocou OoO


Je to už nejaký ten piatok, čo je na scéne Open Office, prípadne jeho sestra LibreOffice. Tieto programy sú veľmi silné nástroje šírené zdarma. Ak používate Linux, tak sú tieto nástroje väčšinou jeho štandardnou výbavou na písanie. Môžete si ich samozrejme stiahnuť aj pre Windows. Čo však, ak chcete vytvárať dokumenty inou formou? Že akou? Je tu ešte možnosť zvaná Kile. V Ubuntu ju nainštalujeme dvoma príkazmi: sudo apt-get install kile (enter) a po skončení inštalácie ešte treba doinštalovať prehliadač dokumentov sudo apt-get install okular (enter) Tento mocný nástroj v sebe skrýva editor typu WYSIWYM=what you see is what you mean. Predstavte si teda, že píšete dokument pomocou špeciálnych príkazov, ktoré vkladáte medzi písaný text a sám editor potom rozpozná, ako má text usporiadať, ako má očíslovať strany, kde má vložiť obrázky a ako ich očíslovať. Že by ste taký editor chceli? Nuž, stačí vyskúšať Kile v Ubuntu, prípadne obdobu programu pre iné operačné systémy. Tu je malá nápoveda, ako začať: introduction_to_latex

Posted in Moje komentáre | Zanechať komentár

Eclipse – prechod na novšiu verziu v staršom Ubuntu


Tak sa mi stalo, že som potreboval prejsť na novšiu verziu v starom Ubuntu v prostredí Eclipse Galileo. Ja som samozrejme chcel prechod o dve verzie vpred, teda na Eclipse Indigo. Na internete bolo pekných pár návodov, ako to spraviť, no ani jeden mi akosi nevyhovoval a počítač odmietal spolupracovať. Možno bola chyba medzi klávesnicou a stoličkou, no nakoniec sa ukázalo byť riešením to najjednoduchšie. Pre prechod na novšiu verziu som sa teda rozhodol len stiahnuť binárku z netu a používať starú verziu paralelne s tou novou a čuduj sa svete, všetko zatiaľ funguje. Teda zo stránky programu som stiahol binárny súbor pre Linux, ktorý som si uložil a na polochu som si vytvoril odkaz. Tento postup mi pripomenul vetu môjho kamaráta, ktorý mi odporučil, aby som písal básne a mal sa krásne. Nuž niekedy to nie je také ľahké a treba sem tam aj nejakú tú novšiu verziu Eclipse pre písane programíkov. Nakoniec všetko funguje (zatiaľ) dobre, aj keď všetci vieme, že tie počítače si aj tak väčšinou robia to, čo sa im zachce.

Posted in Linux návody | Zanechať komentár

Newtonova metóda, nájdenie PÍ a obsah kruhu – praktické využitie Newtona


Tak ma napadlo praktické využitie Newtonovej metódy pre nájdenie obsahu kruhu. Keďže túto metódu môžeme využiť na nájdenie mocniny resp. odpocniny, tak ešte potrebujeme nájsť číslo pí a to nájdeme ako 4*súčet čísiel 1/1-1/3+1/5-1/7+1/9 atď. Toto všetko si poďme skúsiť skombinovať ako vždy v našom obľúbenom jazyku Gambas3. Tu je teda zdroják:

' Gambas class file

'mnohe veci v tomto programe sa daju vylepsit 
'podla vlastnej fantazie a podla chuti
'toto je len koncept programu, 
'treba si ho dopisat podla vlastnej chuti

Public Sub umocni(n As Float, k As Float) As Variant
  'funkcia umocni n^k a vrat vysledok
  'pozor k moze byt zaporne alebo desatinne cislo
  'ak sa jedna o celociselne umocnenie, tak spravim toto
  'najskor skontrolujem, ci k je cele cislo a potom umocnim
  Dim cele, zaporne As Integer
  'vysledok
  Dim vysl, fi, fra, vysl1, vysl2, vysl3 As Float
  vysl = 0
  'bool je/nieje cele cislo
  cele = 0
  'bool k je/nieje zaporne cislo, nula pre nezaporne
  zaporne = 0
  
  If Abs(Frac(k)) > 0 Then
    'ak desatinna cast cisla je vacsia ako nula, tak k neni cele cislo
    cele = 0
  Else
    'inak k je cele cislo
    cele = 1
  Endif
  
  'kontrola zaporneho k
  If k > 0 Then
    'nie je zaporne
    zaporne = 0
  Endif
  'kontrola zaporneho k
  If k < 0 Then
    'je zaporne
    zaporne = 1
  Endif
  
  'ak k je rovne nule, vratim rovno vysledok 1
  'hocico umocnene na nultu je jedna
  If k = 0 Then
    Return 1.0
  Endif
  
  'ak sa jedna o cele cislo a nezaporne, tak vytvorim umocnenie
  If cele = 1 And zaporne = 0 Then
    'vynasobim float, lebo chcem float vysledok
    'explicitny casting premennej
    vysl = n * 1.0
    k = CInt(k)
   While (k - 1 > 0)
     vysl = n * vysl
     Dec k
   Wend
     
  Endif
  
  
   'ak sa jedna o cele cislo a zaporne, tak vytvorim umocnenie
  If cele = 1 And zaporne = 1 Then
    'vynasobim float, lebo chcem float vysledok
    'explicitny casting premennej
    vysl = n * 1.0
    k = CInt(k)
   While (k - 1 > 0)
     vysl = n * vysl
     Dec k
   Wend
     
   vysl = 1 / vysl
  Endif 
  
  
  'ak sa jedna o necele cislo a nezaporne, tak vytvorim umocnenie
  If cele = 0 And zaporne = 0 Then
   'spravim si 100 nasobok, aby som sa dostal za desatinnu ciarku na dve miesta
    fra = Frac(k)
    'cela cast
    fi = k - fra
    'desatinna cast
    fra = fra * 100
    fra = Round(fra)
    'Print "cela cast= " & fi & " des cast= " & fra & " n= " & n
    vysl1 = umocni(n, fi)
    'Print vysl1
    vysl2 = umocni(n, fra)
    'Print vysl2
    vysl3 = odmocni(100, vysl2)
    'Print vysl3
    vysl = vysl1 * vysl3
           
  Endif
  
  'vrat vysledok
    Return vysl
End

'funckia najde vhodne X0
Public Sub NajdiX0(k As Float, n As Float) As Float
  Dim x, t, fx, fxd2 As Float
  t = 1
  While t < 10000
    fx = umocni(t, k) - n
    fxd2 = (k * k - k) * umocni(t, (k - 2))
    If fx * fxd2 > 0 Then
      Return t
    Endif
    t = t + 1
  Wend  
  Return k
End


Public Sub odmocni(k As Float, n As Float) As Variant
  'premenne xi+1 a xi0
  Dim xi0, xi1, k2 As Float
  'iterator q
  Dim q As Integer
  k2 = k
  k = Abs(k)
  q = 1
  
  'nastavim si xi0 podla podmienok, ktore uvazim
  'vid podmienky Newtonovej metody pre ziskanie korena
  xi0 = NajdiX0(k, n)
  'ak k > 180 tak vrat 1
  'vacsia odmocnina ako 180 beriem, ze je uz prakticky rovna 1
  If Abs(k) > 180 Then
    Return 1.0
  Endif
  While q < 10000
    
    xi1 = xi0
    'pouzijem Newtonovu metodu pre vypocet odmocniny z cisla
    'pozor na delenie nulou - treba este upravit, domysliet
      
        Try xi0 = xi0 - (umocni(xi0, k) - n) / (k * umocni(xi0, k - 1))
        If Error Then
          Message.Error("Chyba, toto umocnenie, odmocnenie neviem spočítať! " & error.text)
          Exit
          Endif

          
    If Abs(xi1 - xi0) = 0 Then
      'ak som nasiel cistu odmocninu, vratim vysledok
      If k2 < 0 Then
        Return 1 / xi1
      Endif
      If k2 > 0 Then
        Return xi1  
      Endif
      If k2 = 0 Then
        Message.Error("Nultá odmocnina???")
        Return -1.0 
      Endif
    Endif
    'zdvihnem q o jedna
    Inc q
  Wend
  Return xi1
End

Public Sub zisti_pi() As Float
'funkcia vyrata pi
Dim s As Float
Dim n, presnost, delta, x As Integer
s = 1
x = 1
delta = 2
'pocet clenov
presnost = 1000
'vypocitam pi stvrt
For n = 1 To presnost
  x = x + delta
  s = s + umocni(-1, n) / (x)
  Print x
Next
'vratim cele pi
Return s * 4
End


Public Sub _new()
'konstruktor triedy
End

Public Sub Form_Open()
Dim r, s As Float
r = 3.5
s = zisti_pi() * 3.5 * 3.5
Message.Info("Obsah kruhu s polomerom 3.5m je " & CStr(s) & " m^2")
Me.Close
End

Tento malý program, ktorý ma napadol ako ukážka využitia Newtonovej metódy a nájdenia čísla Pí spočíta obsah kruhu. Čo je zaujímavé je to, že vôbec neberieme pevnú konštantu čísla pí, ale si toto číslo sami vypočítame. Ďalej je tu zaujímavé spočítanie mocniny a odmocniny, na to využijeme Newtonovu metódu. Program som komentoval a nadvazuje na sériu článkov na tomto Blogu. Ak tento Content Management System zasa náhodou nezmenil niektoré znaky zdrojáku, tak by malo stačiť len skopírovať si tento zdroják do Gambas3 a malo by to fičať. Výsledkom programu je len okienko, ktoré vypíše obsah kruhu s polomerom 3.5metra ako vidíme v zdrojáku. Polomer je pevne zadaný. Dalo by sa ešte spraviť to, že v Gambase by sme si vytvorili textové políčko a v ňom by sme si zadávali polomery kruhu a po kliknutí na tlačítko by nám program zrátal obsah príslušného kruhu, ale to je už len námet na ďalšie rozmýšľanie…

Posted in Jazyk Gambas | Zanechať komentár

Moje Ubuntu už nie je to, čo bývalo…


Kde sú tie časy, keď Linux fungoval :-( Spomínam si ako by to bolo včera, keď som si len klikol v Ubuntu na aktualizovať a všetko fičalo skvele. Dnes po aktualizácií Ubuntu celý systém padne a už vôbec nefunguje a ja márne hľadám príčinu :D Ale to len tá sieť – nikdy som jej neveril. Človek niečo stiahne a už sa veci kazia. Povedal by som, že vytváraním noviniek vnášame do dobrých odladených vecí viacej chýb. Uznávam, pokrok musí ísť vpred, ale chcel by som dodať, že by niekedy mohol ísť vpred po špírale smerom nahor. Niekedy by som zasa chcel zapnúť počítač s Ubuntu, aktualizovať všetko a následne pracovať s fungujúcim systémom ďalej. Azda to už žijeme v takej dobre, že každý na všetko kašle, no ja verím, že raz ma ten šlak konečne trafí (samozrejme žartujem:D) Verím, že Ubuntu je stlále Linux pre ľudí a aj pre ľudí ako som ja – obyčajný člen rodiny, ktorý sem tam ťukne pre radosť do klávesnice. Snáď to chce len čas,aby ľudia ešte popracovali na kvalitnejšom softe, snáď to chce len trpezlivosť, aby Ubuntu vyzrelo na systém, ktorý nielen prináša veľa zábavy, ale hlavne podpory nového hardwéru a viacej spoľahlivosti pre obyčajných ľudí. Napriek všetkým neduhom, ktoré som zažil s týmto programom musím povedať, že je tu aj mnoho pekných chvíľ, ktoré Linux priniesol do našej domácnosti. Z obchodu si človek často donesie aj Windows a tak, keby niečo, je tu aj ten. Dokonca sa stalo, že keď to nefungovalo v jednom, išlo to v druhom. Preto je potrebné podporovať obidva systémy a teda si myslím, že kokurencia je potrebná kým ľudia budú ľuďmi ;-) Zostáva mi na jazyku tá večná otázka: Ktorý z nich je lepší???

Posted in Moje komentáre | Zanechať komentár

Hoarse sound from the speakers?


It is the rule that everything just breaks when you need it the most. So I decided to record some music from Youtube to listen to it offline. The problem was I couldn’t hear clear sound. I thought it was quality of source but finally I’ve noticed the amplification. The picture of channels in audacity was pretty amplified. I’ve asked Harry Potter to lend me The philosophers’ stone and the solution came up to me. It needs only a bit of magic to run terminal command in Linux and write: sudo alsamixer [enter]. Then we need only to adjust the levels and the hoarse sound is away. Now it is possible to rec your favourite music with Audacity or OutRec or something like that. It was pretty easy to create solution, wasn’t it? It seems like the best things cost nothing :-) or The simplicity is marvellous…

Posted in Linux návody | Zanechať komentár

Uvedenie Gambas3 projektov z predošlých článkov


Keďže niekedy sa ťažko odpisuje zdroják z článku, hlavne vtedy, ak CMS aplikuje svoje bezpečnostné pravidlá na článok, tak tu uvádzam zdrojové projekty z Gambas3 z predošlých článkov. Teda stačí stiahnuť, rozbaliť a otvoriť si to v Gambas3 a prípadne vyskúšať a pomeniť. Tu je link ku projektom popisujúcim hľadanie koreňa rôznymi metódami ako aj zdroják databázového frontendu popisovaného v predošlých častiach: http://www.mypoetry.comeze.com/rozne/wordpress/gambas3_projekty2.zip

Posted in Jazyk Gambas | Zanechať komentár

Chybička se vloudila alebo Preklep sa sem-tam nájde


Zistil som, že tento CMS asi mierne upravil moje zdrojové kódy na mieste, kde má byť < sa objavuje niekde medzera, teda to už treba čítať v predošlých častiach medzi riadkami. Ak sa niekde vyskytne preklep, verím, že si ho vie každý opraviť sám.

Posted in Moje komentáre | Zanechať komentár