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

    Oficiálně byl vydán Android 13. Více na blogu věnovaném vývojářům a samozřejmě v poznámkách k vydání na AOSP (Android Open Source Project).

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | Komunita

    GNOME slaví 25 let. Přesně před pětadvaceti lety odeslal Miguel de Icaza do diskusního listu GTK+ email, který je považován za zahájení projektu GNOME, jehož cílem bylo vyvinout prostředí podobné CDE a KDE, ale založené výhradně na svobodném softwaru.

    Ladislav Hagara | Komentářů: 5
    dnes 14:22 | Komunita

    Kamera Intel MIPI IPU6 v noteboocích Lenovo ThinkPad X1 Carbon nebo Dell XPS 13 9315/9320 potřebuje na Linuxu proprietární firmware. Navíc aktuálně běží pouze na opatchovaném Linuxu 5.15. Nejenom Greg Kroah-Hartman z těchto důvodů koupi těchto notebooků nedoporučuje. Zajímavé je, že Dell XPS 9315 získal certifikaci pro Ubuntu.

    Ladislav Hagara | Komentářů: 7
    dnes 11:33 | Komunita

    Nejnovější glibc rozbíjí Easy Anti-Cheat. Řada her tak přestala fungovat. V glibc 2.36 byla odstraněna podpora DT_HASH, jež je právě v Easy Anti-Cheat od Epic Games používána. Nejnovější glibc se již dostala například do Arch Linuxu. Tam je problém řešen balíčkem glibc 2.36-2 s vrácenou podporou DT_HASH.

    Ladislav Hagara | Komentářů: 13
    dnes 10:33 | Bezpečnostní upozornění

    V knihovně pro kompresi dat zlib (Wikipedie) byla objevena bezpečnostní chyba CVE-2022-37434 s vážností CVSS 9.8. Opravená upstream verze zatím nevyšla. Chyba se samozřejmě týká i softwarů s bundlovanou zlib, viz například vydání rsync 3.2.5.

    Ladislav Hagara | Komentářů: 0
    dnes 06:00 | Nová verze

    Linus Torvalds vydal Linux 6.0-rc1. Podpora programovacího jazyka Rust se tam nedostala. Kódové jméno bylo změněno ze "Superb Owl" na "Hurr durr I'ma ninja sloth".

    Ladislav Hagara | Komentářů: 5
    včera 09:00 | Zajímavý software

    JuiceFS dospěl do verze 1.0. Jedná se o distribuovaný souborový systém kompatibilní s POSIX, HDFS a S3. Architektura JuiceFS sestává ze 3 částí: JuiceFS Client, Data Storage (S3, Azure Blob, OpenStack Swift, Ceph, MinIO, …) a Metadata Engine (Redis, TiKV, MySQL/MariaDB, PostgreSQL, SQLite, …). Zdrojové kódy JuiceFS jsou k dispozici na GitHubu pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 15
    13.8. 14:11 | Komunita

    O víkendu probíhá online The Raku Conference 2022, tj. konference věnovaná programovacímu jazyku Raku.

    Ladislav Hagara | Komentářů: 7
    12.8. 17:22 | IT novinky

    Včera skončila bezpečnostní konference Black Hat USA 2022 (Twitter) a začala bezpečnostní konference DEF CON 30 (Twitter). V rámci Black Hat byly vyhlášeny výsledky letošní Pwnie Awards (Twitter). Pwnie Awards oceňují to nejlepší, ale i to nejhorší z IT bezpečnosti (bezpečnostní Oscar a Malina v jednom).

    Ladislav Hagara | Komentářů: 0
    12.8. 15:00 | Nová verze

    Vývojáři PostgreSQL oznámili vydání verzí 14.5, 13.8, 12.12, 11.17, 10.22 a 15 Beta 3. Opraveno je více než 40 chyb a také zranitelnost CVE-2022-2625. Upstream podpora verze 10 končí 10. listopadu letošního roku.

    Ladislav Hagara | Komentářů: 0
    Audioknihy ve srovnání s knihami tištěnými (papírovými nebo elektronickými) poslouchám
     (38%)
     (3%)
     (7%)
     (53%)
    Celkem 229 hlasů
     Komentářů: 2, poslední 13.8. 11:46
    Rozcestník

    Píšu CML

    26.2.2015 21:58 | Přečteno: 1757× | LeliMath | poslední úprava: 26.4.2016 19:44

    Aspoň mám ten pocit. Chci napsat dcerce na tablet aplikaci na procvičování matematiky. Udělal jsem si poměrně jasnou představu o designu i funkčnosti a začal jsem ji realizovat. Před večeří jsem dopsal komplexní datový model, co vše se dá parametrizovat pro generování rovnic. Zadavatel bude mít obrovské možnosti. Problém nastal, když jsem začal psát generátor.

    Sepsání myšlenek mi možná pomůže odrazit se dál, pokud ne, třeba mi někdo ze čtenářů konstruktivně poradí.

    Pro oba operandy rovnice i výsledek je možné nadefinovat buď minimální nebo maximální či obě hodnoty, případně rozsah hodnot (v tom případě jsou min a max zakázány). Pro jednoduchost zapomeňme na možné omezení vzdálenosti operandů. Triviální příklad se všemi možnostmi zadání je na prvním řádku, jedno řešení je na druhém řádku

    min: 1, max: 10 + min: 10 = výčet: 12, 13, 14, 18
    2 + 11 = 13

    Problém je, jak napsat obecný generátor? Nejspíše bych měl začít od výčtu hodnot, ze kterého si náhodně vyberu jedno číslo. A pak náhodně vybrat druhé číslo a dopočítat zbývající číslo. Například u uvedeného příkladu si k náhodnému výsledku (13) náhodně vygeneruju první operand (2) a vypočtu druhý (11). Bohužel je ale až příliš snadné zvolit číslo, se kterým rovnice nikdy nebude sedět; ke kterému nenajdu vhodné operandy. Můžu si pomoci chytristikou pro konkrétní situace. Zde u odečítání je lepší si vybrat vyšší číslo, takže začnu druhým operandem (11) a odečtem získám první (2). Ale stejně mi hodnota nemusí vyjít v rozsahu povolených hodnot. Takže pak musí následovat hledání správné kombinace brutální silou s pojistkou proti uváznutí (když zadání nemá řešení nebo mám smůlu na blbě vylosovaná čísla).

    Během psaní jsem nic nového nevymyslel. Napadá něco vás?

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    26.2.2015 22:46 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Píšu CML
    Jaké funkce se v těch rovnicích mohou vyskytovat?

    Pro vyřešení omezujících podmínek můžete zkusit nějaký CSP řešič např. minion nebo Gecode nebo ECLiPSe. Pokud to bude složitější, pak budete zřejmě potřebovat nějaký systém pro počítačovou algebru.
    27.2.2015 07:29 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    Díky, tušil jsem, že to bude vědecká disciplína. Po zběžném prohlédnutí nevidím reálné zprovoznění těchto knihoven pod androidem. Ale zkusím hledat něco v javě, už znám klíčová slova.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    26.2.2015 22:57 Dadam | skóre: 12 | blog: dadamovo
    Rozbalit Rozbalit vše Re: Píšu CML
    Sčítání a násobení bych udělal hrubou silou. Vyberu si výsledek, vygeneruju všechny možnosti jak ho dostat (pro sčítání je počet možností rovný výsledku, to není tak hrozné) a pak z nich vyberu ty, které vyhovují omezením pro operandy.

    Odčítání a dělení bude trochu horší, s daným výsledkem můžou být operandy jakkoliv složité. Tak si trochu pomůžu a jak odčítání, tak dělení si pro účely generování převedu na sčítání, respektive násobení. Pozor na dělení nulou.
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.
    27.2.2015 00:48 Marvin | blog: im_depressed | Gallifrey
    Rozbalit Rozbalit vše Re: Píšu CML
    Mas uz to implementovany? Dochazi tam realne k tomu zasekavani?

    Pokud to ma reseni, tak pravdepodobnost ze to bude u takhle jednoduchych prikladu nekonecne cyklit je dost mala. I kdyz chapu ze i ta teoreticka moznost ze k tomu dojde zpusobi ze brouk v hlave hloda :-) Ja mam podobnej filozofickej problem s gitem, kde se k identifikaci souboru pouzivaji hashe, a muze tam dochazet ke kolizim.

    Nedavno jsem delal neco podobnyho pro sestru a delal jsem to jednoduse hrubou silou:

    - vygeneruju prvni cislo

    - druhy cislo

    - zkontroluju jestli vysledek je v nejakym rozsahu; kdyz ne tak zahodim a opakuju

    Zadnyho zasekavani jsem si nevsiml. Ono i kdyz bys musel udelat treba 1000 pokusu nez se trefis, tak na dnesnich pocitacich jsou to radove mikrosekundy...

    Kdyz by k tomu dochazelo tak bych tam asi dal pocitadlo a po N pokusech nahlasil chybu :-)

    27.2.2015 07:15 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    Na tabletech jsou přeci jen horší procesory než v PC, takže stupidní hrubou silou jít nemohu. Chci ty větve aspoň trochu optimalizovat. Ale jinak konceptuálně souhlasím.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    27.2.2015 12:56 radix
    Rozbalit Rozbalit vše Re: Píšu CML
    Dnesni PC/NTB jsou tak 10krat (max) rychlejsi nez dnesni prumerne tablety.

    Hledat nejaka chytra/rychla reseni mne v tomto pripade prijde jako predcasna optimalizace. Ale pokud se s tim chce clovek trochu vyhrat/neco se naucit a ma na to cas, tak proc ne ...
    27.2.2015 13:24 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    Vždycky se snažím nejdříve přemýšlet a pak programovat. Pamatuju na přednášku na UPOL od Drdy, kdy vykládal, jak železničáři měli hrozně složitý algoritmus na fixní počet desetinných míst, který počítal poloměr zatáčky pro trať. Potřebovali více desetinných míst. Kouknul na to, našel v tom geometrické rovnice a sepsal jim na pár řádek algoritmus na libovolný počet desetinných míst.

    Podobně tady pro násobení. Pokud mám rozsah násobenců 10 čísel, může vyjít celkem 100 výsledků. Pokud je ale povoleno jen 5 výsledků, tak nalezení těchto rovnic může být se šancí 1:20 (pro prvočísla). Pokud ale začnu hledat od výsledku, mám dvakrát lepší šanci.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    28.2.2015 14:31 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Píšu CML
    Pamatuju na přednášku na UPOL od Drdy...
    Toto je stezi uveritelna historka, ... protoze Dr.Dla na prednasky zasadne nechodil.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    1.3.2015 07:02 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    Bavím se o roku cca 1997.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    27.2.2015 13:43 Mercuriuz | skóre: 16 | blog: Mercuriuz | V hospodě =)
    Rozbalit Rozbalit vše Re: Píšu CML
    predčasná optimalizace a promyslet si to dopředu a vyvarovat se možným problémům není jedno a to samý, nesmí se to samozřejmě přeháňet, ale pokud jde o důležitou část systému na které bude stát víc věcí, radši budu 20 minut přemýšlet a pak 10 minut programovat, než 5 minut přemýšlet a 5 minut programovat a potom to 10x přepisovat (nebo dělat znovu) včetně všech částí které ovlivnil přepis základu
    Linux users everywhere, raise your keyboards into the air, we´re warriors, warriors of the world.
    Josef Kufner avatar 27.2.2015 13:46 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Píšu CML
    Pokud to má být v rozsahu malé násobilky, tak těch možností budou stovky až tisíce. To i líný tablet upočítá během pár milisekund. Nebude to hezké řešení, ale bude spočítané rychleji, než naimplementuješ to hezké.
    Hello world ! Segmentation fault (core dumped)
    27.2.2015 14:15 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    Filozofická otázka: je lepší hledat řešení pro náhodně generované argumenty nebo najít všechny rovnice a z nich jednu náhodně vybrat? No, nic zase to přepíšu :-)
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    27.2.2015 19:35 Kaiten
    Rozbalit Rozbalit vše Re: Píšu CML
    Vypočítat celkové množství možných rovnic, jednu náhodně vybrat a tuto konkrétní vygenerovat (skrz vygenerování všech kombinací před naší chtěnou). Velice rychle by se to dalo řešit v nějakém líném jazyku. Šla by Scala. Má explicitní lenost a běží nad JVM. Také by šli kombinace cachovat, pokud dá paměť. A pokud ne, šli by napřed komprimovat.
    1.3.2015 07:17 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML

    Reálné výsledky na Nexus 4: během jedné milisekundy zvládne 5 cyklů nalezení jedné rovnice (obsahující 2x generování náhodného čísla, dvě matematické operace, pár porovnání a hlavně několik volání funkcí).

    Parametry:

    FormulaDefinition{unknowns=[RESULT], operators=[+], result=Values{minValue=null, maxValue=null, listing=[10, 11, 12]}, operandDifference=null, rightOperand=Values{minValue=3, maxValue=60, listing=null}, leftOperand=Values{minValue=0, maxValue=90, listing=null}}

    Moje optimalizovaná verze najde v 10 případech řešení do 3 pokusů 6x, do 5 pokusů 1x, do 9 pokusů 2x a jednou potřebovala 35 pokusů (což zabralo 7 ms). To je docela slušné :-)

    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    Josef Kufner avatar 2.3.2015 01:05 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Píšu CML
    Pokud vím, ty destičky mají CPU běžící minimálně na 1GHz. Máš tam pár násobení, hm, co ten program dělá těch zbývajících 999000 taktů?
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 27.2.2015 01:44 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Píšu CML
    Trochu inspirace můžeš najít v materiálech k předmětu Testování a verifikace software, hlavně v druhé přednášce. Sice ti to komplikuje vazba mezi operandy a výsledkem, ale mohlo by ti to pomoct s generováním lépe rozložených testů v prostoru.
    Hello world ! Segmentation fault (core dumped)
    27.2.2015 05:55 Radovan
    Rozbalit Rozbalit vše Re: Píšu CML
    Například u uvedeného příkladu si k náhodnému výsledku (13) náhodně vygeneruju první operand (2) a vypočtu druhý (11).
    Já jsem na to šel opačně, vždy jsem vygeneroval operandy, z nich jsem vypočítal výsledek. Pokud byly příklady sčítání a násobení, vypsaly se operandy, pokud byly odčítání a dělení, vypsal se výsledek a první operand, bez ohledu na to jestli je větší nebo menší. Tak jsem se vždycky vešel do zadaného limitu.

    Nedělaly se před třiceti lety takovéhle věci v BASICu na dvacet řádků? :-D
    27.2.2015 07:13 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    Problém jsou ty omezující podmínky. V tomto případě součet náhodného čísla do desíti a většího než deset se málokdy trefí do čtyř konkrétních hodnot.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    27.2.2015 08:08 Mercuriuz | skóre: 16 | blog: Mercuriuz | V hospodě =)
    Rozbalit Rozbalit vše Re: Píšu CML
    chápu důvod pro min-max omezení operandů a chápal bych to i u výsledku, proč je ale potřeba konkrétní výsledek z výčtu hodnot?
    Linux users everywhere, raise your keyboards into the air, we´re warriors, warriors of the world.
    27.2.2015 08:25 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    Analyzoval jsem učebnici, jaké typy příkladů tam jsou. A tak mi přišlo dobré mít kromě od-do i možnost definovat konkrétní hodnoty. Asi jsem to nadefinoval příliš univerzálně, teď právě ruším decimální čísla a nechám jen celá.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    27.2.2015 07:35 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Píšu CML
    Tolik práce a přitom je to taková blbost :-)

    Koupil bych dceři papír a tužku a místo věnování spousty času sezení u počítače nad pochybným programem využil čas k osobnímu kontaktu.
    Pochybnost, nejistota - základ poznání
    27.2.2015 07:51 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Píšu CML
    Přesně tak. Věnovat tolik času ptákovině, která ji za půl hodiny přestane bavit, je úplně o ničem.

    Věnuj ten čas raději rovnou jí. Udělej si s ní výlet do nějakého IQ parku, když už ji chceš dopřávat technické vzdělání, nebo jen tak někam na hřiště, kde bude mít kontakt s jinými dětmi. Uděláš lépe.
    27.2.2015 08:27 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    Je to koníček pro mě. Jsem tvořivý člověk, nebaví mě jen konzumovat. Stagnace je čekání na smrt.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    pavlix avatar 27.2.2015 10:20 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Píšu CML
    +1
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    27.2.2015 16:18 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Píšu CML
    Pokud to bereš jako cvičení, a pak se s tím hodláš někde vytasit.. Chtěl jsem jenom upozornit na fakt, že představy rodičů jsou mnohdy na hony vzdálené od představ jejich ratolestí.
    27.2.2015 18:11 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Píšu CML
    To je v pořádku, proti Vaší technické programovací zálibě nemůže nikdo nic namítat, sám to znám :-)

    Nicméně připomínka Aleše Kapicy a JD míří k otázce, zda to děláte pro sebe nebo pro dceru.

    Pokud pro dceru, opusťte tablet a matematiku se učte skutečně rovnou s ní. Mimo kontakt, který má význam pro vás oba, to může být zajímavé i pro Vás - existují třeba pozoruhodné metody jak matematiku učit pomocí hudby (je využit rytmus a opakování), kreslení (je využita geometrie a vizuální vnímání), navlékání provázků (je využita topologie), ve skupině pomocí cvičení (kombinace všeho předešlého) atd. Viz montessori, waldorfská a intuitivní pedagogika.

    Dopad na člověka se pak nedá porovnat s hraním nejaké hry na tabletu, které může malé děti spíš poškodit (chápu, že tím řadu lidí zde pobouřím, ale jsem o tom přesvědčen, mimo jiné vzhledem ke své zkušenosti s lidmi s postižením). Něco jiného je učit matematiku pomocí programování lidi v pozdějším věku - gymnázium a dál., tam je člověk už plně vybaven na uvažování v abstrakcích a je to naopak to pravé. Tam už ale programuje přímo ten člověk - žák.

    Omlouvám se za delší příspěvek - ale podle mě to je přímo k tématu.
    -- OldFrog
    27.2.2015 08:28 Mercuriuz | skóre: 16 | blog: Mercuriuz | V hospodě =)
    Rozbalit Rozbalit vše Re: Píšu CML
    To, jestli ji přestane bavit není jisté, pokud by finální aplikace byla ve formě hry, může mít dítě radost z odehraného levelu (správně vypočítaných příkladů), následné odměny a samozřejmě chuť jít dál. Výukové aplikace nejsou vždycky špatné, pokud dítě ve volném času může k tabletu sednout a hrát hry které jsou totálně o ničem, je možnost, že by si dobrovolně vybralo zábavnou výukovou aplikaci - a o to by bylo strašně fajn, no ne?
    Linux users everywhere, raise your keyboards into the air, we´re warriors, warriors of the world.
    27.2.2015 09:11 luky
    Rozbalit Rozbalit vše Soustava nerovnic
    Resil bych to jako soustavu. Vycet se rozpadne na nekolik soustav podle intervalu. Pocitam ze se jedna o cela cisla, pokud ne, da se na ne prevest nasobenim mocninou desitky podle pozadovaneho poctu mist.

    Po rozpadu vyctu c na 2 intervaly, ukazka pro c z <12; 14>:
      I.   a >= 2
     II.   a <= 9
    III.   b >= 11
     IV.   c >= 12   --->   a + b >= 12
      V.   c <= 14   --->   a + b <= 14
    ------------------------------------
           b <= 12   V. - I.
           a <= 3    V. - III.
    ------------------------------------
           2 <= a <= 3
          11 <= b <= 12
    
    Nyni postupuji tak, ze si postupne volim promenne z intervalu a dopocitam ostatni. Pro a = 2 a dosazeni do zbytku mi zadna omezujici podminka nepribude, takze mam reseni [2; 11], [2; 12]. Pro a 3 mi pribude b <= 11 (z V.), takze tam je jedno reseni [3; 11]. Pote dopocitam c a opakuji pro c = 18.

    Dalsi moznost je resit to graficky a reseni generovat nahodnym vzorkovanim pres obdelnikovou obalku vysledneho utvaru.

    xsubway avatar 27.2.2015 16:03 xsubway | skóre: 13 | blog: litera_scripta_manet
    Rozbalit Rozbalit vše Re: Soustava nerovnic
    Malé zjednodušení zadání:

    Řešil bych to vypuštěním podmínek pro výsledek. Oba parametry vygeneruji podle podminek, pak výpočítám výsledek.

    Zobrazím jeden parametr a výsledek a ptám se na druhý parametr. Zobrazovat mohu více výsledků, ale jen jeden bude správný, ostatní mohou být generované ...

    Založit nové vláknoNahoru

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