abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 0
    včera 19:33 | Nová verze

    Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Bezpečnostní upozornění

    Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.

    Ladislav Hagara | Komentářů: 2
    včera 11:00 | Nová verze

    Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".

    Ladislav Hagara | Komentářů: 3
    1.5. 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 13
    1.5. 22:22 | Nová verze

    Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".

    Ladislav Hagara | Komentářů: 0
    1.5. 12:55 | Nová verze

    Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.

    Ladislav Hagara | Komentářů: 0
    1.5. 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

    Ladislav Hagara | Komentářů: 20
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (13%)
     (31%)
     (38%)
     (19%)
    Celkem 16 hlasů
     Komentářů: 3, poslední včera 19:48
    Rozcestník
    Štítky: není přiřazen žádný štítek

    .

    6.7.2007 20:39 | fake | poslední úprava: 31.12.2010 16:49

    .        

    Hodnocení: 57 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 6.7.2007 20:44 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Což sinus, ale dal bych tam desetinou tečku místo čárky. ;-)
    Hello world ! Segmentation fault (core dumped)
    6.7.2007 20:45 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Ha! Tak chybu na řádku 60 jsem už vyřešil. Překladatel byl až příliš svědomitý a přeložil desetinou tečku na desetinou čárku. Teď mi straší řádka 70 a její IF.
    > blassic monte_carlo 
    
    Syntax horror in 70
    
    Josef Kufner avatar 6.7.2007 20:49 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    70 IF X > U THEN 90
    Hello world ! Segmentation fault (core dumped)
    6.7.2007 20:50 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    výborně! už to jede! díky!
    6.7.2007 23:09 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    nemá tam být GOTO 90 ?
    Quando omni flunkus moritati
    7.7.2007 10:22 Robo
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Tiez sa mi zda, ze tam ma byt:
    IF X > U THEN GOTO 90
    michich avatar 7.7.2007 11:36 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    V mnoha dialektech BASICu je možné GOTO za THEN vypustit. V některých za THEN ani nic jiného být nemůže.
    6.7.2007 20:55 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    sice to jede ale výstup je dost divný :( místo krásného pí vypadávají nějaké dvojky .. :(
    Josef Kufner avatar 6.7.2007 20:58 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Asi to bude rozbitý...
    Hello world ! Segmentation fault (core dumped)
    6.7.2007 21:02 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Že by proto, že se tam nikde nepřiřazuje do fí?
    6.7.2007 21:40 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Tohle jsem teda nepochopil, počítá to pí a pracuje to se sin a pí? WTF? přece rovnoměrně [0-1] střelím x-ovou souřadnici a y-souřadnici a podívám se jestli mi to spadlo do toho jednotkovýho čtvrtkruhu nebo ne, takhle získám aproximaci obsahu toho čtvrkruhu (počet pokusů co se trefily/počet včech pokusů), tohle vydělim 4 a mám pí
    6.7.2007 21:43 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    na to "podívání se" mi stačí umocňování, žádnej sin (x^2 + y^2 <= 1)
    6.7.2007 21:54 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Taky se mi ta implementace zdá nějaká divná :)
    6.7.2007 22:00 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Mě se mnohem více líbí tento vztah pro výpočet. :)
    michich avatar 6.7.2007 22:01 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    No to bude jiný pokus: Buffonova jehla
    6.7.2007 22:09 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    jj to je ono
    6.7.2007 22:48 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    dokonce je tam parádní javová app http://www.angelfire.com/wa/hurben/buff.html
    6.7.2007 22:16 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Z Archa jsem vydoloval blassic (a classic interpreter of basic), naťukal source do souboru a hodil mu to.

    Možná stojí za úvahu použít skutečný kompilátor - FreeBasic. S různými těmi interprety nemám dobré zkušenosti.

    6.7.2007 23:42 spang
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Chyba je nejspíš ve funkci RND (resp. její implementaci v blassicu, která není zdokumentovaná). To RND(X) a RND(F) totiž, zdá se, vrací pořád nulu. Kdyby to vracelo náhodný float od 0 do 1, tak to půjde. Zajímavé věci to dělá, pokud RND(X) nahradíš třeba RND(1) a RND(F) nahradíš RND(2), ale správně to pořád nevypadá ;-)

    Tady je funční ekvivalent v pythonu:
    import random, math
    
    n = 0
    print "No. OF THROWS ; PI"
    for j in xrange(1,24):
      for k in xrange(1,500):
        x = random.random()
        u = math.sin(math.pi*random.random())
        if x < u:
          n += 1
      t = 500*j
      p = 2*float(t)/float(n)
      print t, ";", p
    7.7.2007 10:43 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    poklona pane :-) dobrá práce, díky moc
    7.7.2007 10:48 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Zajímavé. Někdy kolem roku 1970~1980 tento experiment zabral cca 53 sec počítačového času (On the Librascope of the Electr. Engin. Depth, Univ. of Colorado). Ještě dříve to pár nadšenců dělali jako rekreační sport :) A dneska..
    real    0m0.053s
    user    0m0.036s
    sys     0m0.000s
    
    7.7.2007 16:05 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Zdá se ti to rychlé? CPU podtaktované na 800MHz.
    marek@mantisha:~/pi> time python pi.py
    10000 ; 3.11041990669
    
    real    0m0.125s
    user    0m0.108s
    sys     0m0.016s
    marek@mantisha:~/pi> gfortran pi-jehla.f95
    marek@mantisha:~/pi> time ./a.out
     ***   3.122561
    
    real    0m0.009s
    user    0m0.004s
    sys     0m0.004s
    marek@mantisha:~/pi>
    
    PROGRAM PI_JEHLA
    integer                     ::    i = 1,pocet_iteraci = 10000,vnejsi_citac = 24, splneno = 0, foo = 0
    double precision            ::    pi = 0, random = 0, x = 0, u = 0
    double precision,parameter  ::    const_pi = 3.141592653589793238462643383279
    !!print*,"Napiste pocet iteraci"
    !read(*,*)pocet_iteraci
     vnitrni:  DO
      call random_number(random)
      x = random
      call random_number(random)
      u = random
      if(x < sin(u*const_pi)) splneno=splneno+1
      i=i+1
    !  if(splneno>0) print*,i," -- ",(2*real(i)/real(splneno))
      if(i==pocet_iteraci) EXIT vnitrni
     END DO vnitrni
      print*,"***",(real(2*pocet_iteraci)/real(splneno))
    END
    
    Místní guruové by to jistě ještě nějak zoptimalizovali.
    7.7.2007 16:10 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Použitý pythoní kód
    import random, math
    
    n = 0
    for k in xrange(1,10000):
      x = random.random()
      u = math.sin(math.pi*random.random())
      if x < u:
        n += 1
    t = 10000
    p = 2*float(t)/float(n)
    print t, ";", p
    
    8.7.2007 12:49 rad.ovan@seznam.cz
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
        Předpokládám že ten program je původně psaný v GW-BASICu od Microsoftu, takže chybka by byla skutečně v té funkce RND. Ona se tam totiž chová dost divně, RND nebo RND(cokoliv) vrací následující číslo v posloupnosti, zatímco RND(0) vrací to poslední použité. No, co by člověk chtěl od Gatese, žejo.
        Chvilku jsem si s tím hrál v Chipmunk BASICu, a tam to fungovalo když se v obou případech použilo RND(1), které vrací číslo mezi 0 a 1. Tady je výsledek na 1200MHz P3:
    radovan@PC1:~/basic$ time basic montecarlo.bas
    No. OF THROWS   PI
    500     3.125
    1000    3.154574
    1500    3.144654
    2000    3.167063
    2500    3.134796
    3000    3.176284
    3500    3.146067
    4000    3.145891
    4500    3.144654
    5000    3.143666
    5500    3.138374
    6000    3.138896
    6500    3.129514
    7000    3.139717
    7500    3.127606
    8000    3.121342
    8500    3.115265
    9000    3.119584
    9500    3.133245
    10000   3.133323
    10500   3.124535
    11000   3.126332
    11500   3.133942
    12000   3.136025
    
    real    0m0.041s
    user    0m0.036s
    sys     0m0.004s
    
        Jen mě tak napadlo, když se počítá poměr zásahů uvnitř a vně kruhu, nebylo by lepší, než používat umělou "náhodu", prostě udělat mřížku a vzít to bod po bodu? Zkusím na tom po obědě trochu zapracovat.

    P.S. Syntax horror je fakt pěkné hlášení :-)
    8.7.2007 14:19 Radovan Garabík
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    nebylo by lepší, než používat umělou "náhodu", prostě udělat mřížku a vzít to bod po bodu?

    - bolo by to v tomto prípade jednoduchšie, ale:
    • v prípade zložitých mnohodimenzionálnych problémov môže byť vytvorenie mriežky väčší problém, než náhodné strieľanie
    • mriežka by spôsobovala systematickú chybu, buď by bol výsledok vždy podhodnotený alebo nadhodnotený, podľa toho, ako by si rátal body po obvode kruhu. Vyrovnať túto chybu si vyžaduje dodatočnú analýzu, napr. ako presne je zakrivená kružnica v danom bode mriežky - a zložitosť takej analýzy je asi porovnateľná s priamym výpočtom π "iným spôsobom" - tak to už rovno môžeme použiť ten "iný spôsob" :-)
    8.7.2007 16:08 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Snad jen nedává moc smysl zvyšovat počet lineárně...zákon velkých čísel je neúprosný:
    kyosuke@gondolin:~> ruby <<EOF
    > require 'narray'
    > def pi(n)
    >         x, y = Array::new(2){NArray::float(n).random}
    >         return 4 * ((x**2 + y**2) < 1).mean
    > end
    >   puts   "      N   |    Pi   \n  =================="
    > 14.times do |x| 
    >   x = (x%2==0 ? 1 : 3) * 10**(x/2)
    >   printf " %8d | %f\n", x, pi(x)
    > end
    > EOF
          N   |    Pi   
      ==================
            1 | 4.000000
            3 | 4.000000
           10 | 2.800000
           30 | 2.800000
          100 | 3.040000
          300 | 3.200000
         1000 | 3.056000
         3000 | 3.150667
        10000 | 3.134400
        30000 | 3.150133
       100000 | 3.146520
       300000 | 3.137933
      1000000 | 3.141056
      3000000 | 3.141111
    kyosuke@gondolin:~>
    Možná právě proto se to takhle nepočítá... :-)
    8.7.2007 16:13 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    jak dlouho to jelo?
    8.7.2007 17:37 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Nevím, asi něco pod dvě sekundy? Není to žádný zázrak, kdybych to chtěl rychlý, nepíšu to v Ruby, ne? ;-) A hlavně bych nepoužíval tenhle algoritmus... :-D
    8.7.2007 19:00 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Kdyby si to chtěl rychlé tak by si to napsal ve fortranu IV?
    8.7.2007 20:00 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Ne, použil bych GMP... ;-)
    8.7.2007 20:07 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Není GMP náhodou knihovna pro práci s velkýma číslama?
    8.7.2007 20:17 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Jasně, a chytřejší než její autoři nebudeme. Takže až budu potřebovat hodně dlouhé pí, vezmu ten ukázkový zdroják ke GMP a nebudu si hrát se špendlíkama. :-D
    8.7.2007 20:41 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Když budu potřebovat hodně dlouhé pí tak napíšu echo "scale=$kolik_des_cisel; 4*a(1)" | bc -l :-) Upřímně, kolik lidí kdy v životě použilo z nějakého praktického důvodu více než 20 číslic z desetinného rozvoje čísla pí? :) Myslím, že jich moc nebude to by mělo stačit i pro mezihvězdné vzdálenosti.
    8.7.2007 21:39 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Já myslím, že je dobré, že pí i é jsou 3, dobře se to pamatuje :-D
    8.7.2007 22:52 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Jo, jo pí to je něco kolem tří.
    8.7.2007 23:22 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Mno, jednak to má pedagogickou hodnotu, jednak tam pořád ještě můžou být schovaný všechny ty MP3ky, co ještě nemám. Jen je najít, no. :-)
    8.7.2007 20:47 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Proč GMP? Mrknu do wikipedie a najdu si tam hezký odkaz na první 4 milióny čísel z Pi. To by mělo uspokojit většinu požadavků :-D
    When your hammer is C++, everything begins to look like a thumb.
    8.7.2007 21:13 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Michale, Michale ty mi kazíš celou radost. :-)
    8.7.2007 23:21 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Ale to není ono, tam se nic nekompiluje ani nedebuguje, kam zmizela dětinská radost z úspěchu? :-D ;-)
    9.7.2007 08:41 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    Inženýrský přístup, hledá se nejjednodušší řešení, které ještě funguje (v překladu, jsem líný jako veš a chci to mí rychle) :-D
    When your hammer is C++, everything begins to look like a thumb.
    9.7.2007 15:49 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    (Hmm, když jsem to z hnusného Ruby přepsal do ještě hnusnějšího Lispu, prošlo to celé asi za čtvrt sekundy. :-) Mno jo, kompilátor.)
    8.7.2007 21:00 rad.ovan@seznam.cz
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
        Matematika není zrovna moje silná stránka, přiznávám. Tu mřížku jsem myslel takhle nějak:
    10 d=54: z=d^2
    20 for x=-d to d
    30   x2=x^2
    40   for y=-d to d
    50     if x2+y^2<=z then n=n+1
    60   next y
    70 next x
    80 print n/z
    90 exit
    
        Při přibližně stejném počtu pokusů to je dokonce rychlejší, s podobnou přesností:
    radovan@PC1:~/basic$ time basic pi_mrizka.bas
    3.136145
    
    real    0m0.022s
    user    0m0.020s
    sys     0m0.004s
    
        Ale pravda je, že abych z toho dostal správně aspoň pět míst, musel jsem dát d=10000 a počkat si deset minut. On BASIC nikdy nebyl z nejrychlejších, už kvůli tomu počítání s reálnými čísly ;-) V tom Chipmunku jsem ještě nenastudoval jak to přepnout do celých, neznáte někdo obdobu DEFINT A-Z? Pak by ten čas mohl být zajímavější.
    9.7.2007 05:42 spang
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    http://en.wikipedia.org/wiki/Computing_pi -- To je dobrý článek. Je tam popsána i tato metoda.

    Tady je python verze, jako bonus tu kružnici nakreslí do konzole :-) (což má smysl jen dokud se vleze jeden řádek do konzole, tzn. pro r do 40):
    import sys
    
    r = 10
    n = 0
    for y in xrange(-r,r+1):
      for x in xrange(-r,r+1):
        if (x**2 + y**2)**0.5 <= r:
          sys.stdout.write(".")
          n += 1
        else:
          sys.stdout.write(" ")
        if x == r:
          sys.stdout.write("\n")
    print "pi =", float(n)/float(r**2)
    To mi připomíná jeden pěkný bash skript co jsem někde viděl -- do konzole takhle kreslil Mandelbrotův fraktál :-).
    9.7.2007 10:23 fakenickname | skóre: 42 | blog: fakeblog
    Rozbalit Rozbalit vše Re: BASIC, Házení jehlou
    hezké :)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.