Algoritmy http://algds.cronos.cz cs © Petr Voborník algds@cronos.cz algds@cronos.cz Wed, 12 Oct 2005 01:00:00 +0300 Sun, 21 Aug 2016 20:11:23 +0300 http://algds.cronos.cz Algoritmy http://algds.cronos.cz/img/icon.png 104 104 Závorka http://algds.cronos.cz/?sec=discusion Ještě taková drobnost, chtěl jsem vyzkoušet jenom jednu část algoritmu, tak jsem použil závorku komentáře {, což zbytek kódu až do konce bralo jako komentář (i s&nbsp;příkazem "konec", což jsem si tehdy neuvědomil). Jenže se stala podobná věc jako s&nbsp;tím apostrofem, že program donekonečna hledal uzavírací závorku }, která tam nebyla. Program přestal reagovat a musel jsem ho ukončit. Pro srandu jsem zkusil smazat "začátek" a "konec" a na začátek jsem napsal jedinou závorku {, což program okamžitě shodilo. Možná by bylo dobré vypsat chybu, že chybí uzavírací závorka komentáře, nebo za závorkou { automaticky brát jako komentář zbytek kódu za ní až po příkaz "konec". Michal Diskuze Sun, 21 Aug 2016 20:11:23 +0300 http://algds.cronos.cz/?sec=discusion Děkuji za vysvětlení. :) Michal Diskuze Sun, 21 Aug 2016 13:16:10 +0300 Re: 219 http://algds.cronos.cz/?sec=discusion Znak s&nbsp;ASCII kódem 39 neboli #27 je apostrof. Mělo by ho to sice normálně vypsat, ale program pracuje tak, že si všechny funkce (v tomto případě chr()) nejdříve převede na výsledné hodnoty, ty pak vyhodnotí (např. poskládá stringy) a výsledek vypíše. S&nbsp;apostrofem je ten problém, že se jím ohraničují konstantní textové řetězce (i když se místo něj použijí uvozovky, tak si je program při zpracování převede na apostrofy). A když si tam překladač hodí jeden apostrof, tak pak hledá ten druhý, co string uzavírá, přičemž pevně věří tomu, že tam je, jelikož předchozí kontrola žádnou chybu neodhalila, protože to tam ten první apostrof ještě nebyl, takže se to zacyklí. Zkuste použít napiš(chr(39)+chr(39)); a vše proběhne v&nbsp;pořádku, respektive to nevypíše to nic, protože výsledkem budou dva apostrofy hned za sebou, tedy prázdný textový řetězec. Nicméně je to samozřejmě bug v&nbsp;programu (myslím program Algoritmy, ne pseudokód) a v&nbsp;příští verzi to zkusím opravit. Děkuji za upozornění. Petr Voborník Diskuze Sat, 20 Aug 2016 22:19:02 +0300 Znak 39 http://algds.cronos.cz/?sec=discusion Zdravím, trochu jsem se hrál s&nbsp;tímto programem, konkrétně jsem zkoušel jednoduchý cyklus pro vypsání všech ascii znaků, no algoritmus se vždy zasekl na znaku s&nbsp;kódem 39. Zkusil jsem napsat algoritmus s&nbsp;jediným řádkem napiš(chr(39)); a program se zasekl, nešlo nic dělat ani algoritmus zastavit, jediná cesta byla celý program ukončiť. Nemyslím že bych dělal něco blbě takže, co je tak speciálního na znaku #39 že to zasekne celej program? :D Michal Diskuze Sat, 20 Aug 2016 20:43:12 +0300 Vývojový diagram - prumer http://algds.cronos.cz/?sec=discusion Ahoj, nevite nahodou nekdo jak by vypadal vyvojivy diagram pro toto zadani?<br /> <br /> Vytvorte vyv. Diagram pro zjištění bodového prumeru pro zjištění výsledků testů ve třech skupinách a vytisknete celkový počet studentů a aritmetický průměr v&nbsp;těchto skupinách. Dále vytisknete vážený průměr. Lukasp Diskuze Mon, 16 Nov 2015 19:00:42 +0300 Re: 213 http://algds.cronos.cz/?sec=discusion Měl jsem verzi 3.1 po update v&nbsp;pořádku. Problém byl, že jsem v&nbsp;celém programu použil pro pole název A a pro generované číslo název a, což hlásí chybu i nyní. Po update a přejmenovaní vše v&nbsp;pořádku, díky za rychlou reakci. JH JHaviger Diskuze Wed, 04 Nov 2015 10:47:50 +0300 Re: 213 http://algds.cronos.cz/?sec=discusion Zkusil jsem ten kód asi 20x a vždy prošel bez chyby. Verze programu 1.4.1.1. Operace "div 1" pro useknutí desetinné hodnoty na celé číslo funguje ale již od první verze. Jakou hodnotu to ukazuje v&nbsp;proměnné a před provedením druhého příkazu? Petr Voborník Diskuze Wed, 04 Nov 2015 09:24:02 +0300 datové typy http://algds.cronos.cz/?sec=discusion Zdravím, mám dotaz k&nbsp;následujícímu kódu:<br /> <br /> a:=(3+random()*20) div 1;<br /> B[a]:=1;<br /> <br /> příkaz B[a]:=1; píše chybu [Error 19] \\\"char on coord \\\"[a]\\\" doesnt exist\\\" (za [a] dosaď nějakou vygenerovanou a upravenou hodnotu). <br /> <br /> Dá se tento problém nějak vyřešit, tj zajistit, aby náhodně generované číslo upravené celočíselným dělením mohlo vstupovat jako index do pole? JHaviger Diskuze Wed, 04 Nov 2015 08:55:48 +0300 a http://algds.cronos.cz/?sec=discusion ahoj program je bezva a Diskuze Fri, 22 May 2015 17:09:41 +0300 Re: 210 http://algds.cronos.cz/?sec=discusion Bohužel aktuální verze podporuje pouze zápis záporných čísel (např. -3), ale nikoli záporných proměnných (např. -b). Takový výraz je tedy třeba rozepsat do klasického násobení zápornou jedničkou (např. "-1*b"). Zadaný výraz by tak tedy vypadal následovně:<br /> <br /> <code>b&nbsp;:=&nbsp;-3;<br /> x&nbsp;:=&nbsp;-1*b&nbsp;+&nbsp;2;</code><br /> <br /> O tomto nedostatku vím a plánuji jej v&nbsp;příští aktualizaci odstranit. Petr Voborník Diskuze Mon, 06 Oct 2014 20:01:28 +0300 Záporná čísla http://algds.cronos.cz/?sec=discusion Ahoj,<br /> mám dotaz ohledně počítání se zápornými čísly. Mám tento kousek kódu:<br /> b := -3;<br /> x := -b + 2;<br /> <br /> Pokaždé skončím s&nbsp;chybou "Access violation at address 004117E6". <br /> Co tu dělám špatně? Přijde mi to jako normální výraz, ale nemohu se z&nbsp;toho dostat ke kloudnému výsledku. Jan Budina Diskuze Sun, 05 Oct 2014 10:18:59 +0300 Re: 208 http://algds.cronos.cz/?sec=discusion Obnovování dat funguje díky tomu, že při mazání nejsou data vůbec mazána, ale místo na disku kde se nacházejí je pouze označeno jako volné. Až se bude něco nového na disk nahrávat, tak až teprve pak se přepíší. Takže obnova pouze zruší toto označení z&nbsp;volného místa na původní soubory, pokud tedy samozřejmě již nebyly celé nebo z&nbsp;části přepsány novými daty. Aby toto bylo možné, je zapotřebí přímý přístup k&nbsp;disku, jeho sektorům, indexům souborů atd. což program Algoritmy skutečně neumí. Petr Voborník Diskuze Thu, 03 Jul 2014 17:06:07 +0300 princip obnovy dat http://algds.cronos.cz/?sec=discusion Ahoj,<br /> netušíte někdo na jakém principu fungují programy pro obnovu dat? Dal by se pro to napsat nějaký vhledávací a obnovovací" alg.? <br /> Díky moc :)) Han Ka Diskuze Thu, 03 Jul 2014 14:07:53 +0300 Re: Re: Ekvivalent GoTo http://algds.cronos.cz/?sec=discusion Děkuji mnohokrát za \\\"nakopnutí\\\" :) Takže problém byl (jak jsem předpokládal) ve mně - přes opakované čtení manuálu jsem nebyl schopen pochopit, kde má být začátek / konec u \\\"vnořených\\\" výpočtů. Pořád mi to házelo chyby. Díky moc.<br /> Jinak ta druhá odmocnina jde v&nbsp;pohodě mocněním převrácenou hodnotou dvojky:<br /> <br /> X1 := (-B + D ^ 0.5) / (2 * A);<br /> <br /> Ještě jednou díky. Tj.<br /> DTJ Diskuze Sun, 17 Nov 2013 14:19:49 +0300 Re: Ekvivalent GoTo http://algds.cronos.cz/?sec=discusion Tak konkrétně zápis tohoto algoritmu by vypadal asi takto:<br /> <br /> <code>začátek<br /> &nbsp;&nbsp;čti(a);<br /> &nbsp;&nbsp;čti(b);<br /> &nbsp;&nbsp;čti(c);<br /> &nbsp;&nbsp;jestliže&nbsp;a&nbsp;=&nbsp;0&nbsp;pak<br /> &nbsp;&nbsp;&nbsp;&nbsp;napiš("Není&nbsp;kvadratická&nbsp;rovnice")<br /> &nbsp;&nbsp;jinak<br /> &nbsp;&nbsp;začátek<br /> &nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;:=&nbsp;b&nbsp;*&nbsp;b&nbsp;-&nbsp;4&nbsp;*&nbsp;a&nbsp;*&nbsp;c;<br /> &nbsp;&nbsp;&nbsp;&nbsp;jestliže&nbsp;d&nbsp;<&nbsp;0&nbsp;pak<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;napiš("Nemá&nbsp;řešení")<br /> &nbsp;&nbsp;&nbsp;&nbsp;jinak<br /> &nbsp;&nbsp;&nbsp;&nbsp;začátek<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x1&nbsp;:=&nbsp;(-b&nbsp;+&nbsp;Sqrt(d))&nbsp;/&nbsp;(2&nbsp;*&nbsp;a);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x2&nbsp;:=&nbsp;(-b&nbsp;-&nbsp;Sqrt(d))&nbsp;/&nbsp;(2&nbsp;*&nbsp;a);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;napiš(x1);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;napiš(x2);<br /> &nbsp;&nbsp;&nbsp;&nbsp;konec;&nbsp;&nbsp;<br /> &nbsp;&nbsp;konec;<br /> konec.</code><br /> <br /> Bohužel funkce Sqrt pro odmocninu, ani její ekvivalent, Algoritmy aktuálně nepodporují, což bych do příští verze přidat mohl... Petr Voborník Diskuze Tue, 12 Nov 2013 10:52:39 +0300 Re: Ekvivalent GoTo http://algds.cronos.cz/?sec=discusion Děkuji za bleskovou reakci. Já jsem v&nbsp;oboru programování takový mírně poučený laik :), ale shodou okolností mi teď připadla výuka úplných základů, takže váš program využívám pro zápis vývojových diagramů a je opravdu výborný. Nejsem si jist, zda se dá požadavek skoku do určitého místa v&nbsp;programu obejít (možná to jen neumím) - řada těch vývojových diagramů má v&nbsp;podmínce třeba testování proměnné na hodnotu 0 s&nbsp;výsledkem, že pak nemá řešení a přiznávám, že nevím jak to obejít - např. výpočet kv. rovnice:<br /> https://drive.google.com/file/d/0BwntaNW5qhrEUUNNSWhqdDUwY2M/edit?usp=sharing<br /> Jinak je ale program, opravdu výborný a děkuji za možnost jej využívat. Oceňuji také, že běží naprosto bez problémů v&nbsp;Linuxu pod Wine. DTJ Diskuze Mon, 11 Nov 2013 06:20:31 +0300 Re: Ekvivalent GoTo http://algds.cronos.cz/?sec=discusion Od příkazu GoTo se v&nbsp;moderních programovacích jazycích ustupuje. Pro ukončení nějaké větve programu je však běžné používat break; continue; či return; ovšem nic z&nbsp;toho v&nbsp;Algoritmech zatím není. V&nbsp;neprocedurálním strukturovaném jazyku by to však nemělo příliš smysl a vždy se to dá elegantně vyřešit pomocí vhodně navrženého větvení. Petr Voborník Diskuze Sun, 10 Nov 2013 16:48:07 +0300 Ekvivalent GoTo http://algds.cronos.cz/?sec=discusion Existuje nějaké možnost, jak při splnění podmínky vypsat text a skočit rovnou na konec programu? Vždy mi jen napíše text, přeskočí následující přiřazeni (pro nesplněnou podmínku) a pokračuje dále v&nbsp;programu, což skončí pochopitelně chybou. Nevím jestli jsem se vyjádřil přesně - prostě něco jako GoTo -> konec. DTJ Diskuze Sun, 10 Nov 2013 15:12:42 +0300 Re: Android http://algds.cronos.cz/?sec=discusion viz 200 Petr Voborník Diskuze Mon, 04 Nov 2013 15:47:18 +0300 Android http://algds.cronos.cz/?sec=discusion Dobrý den, chtěl bych se optat, jestli nezvažujete verzi pro android? :-)<br /> Předem děkuji za odpověď Ondra H. Diskuze Mon, 04 Nov 2013 13:37:33 +0300 Re: Algoritmy mac http://algds.cronos.cz/?sec=discusion O ničem pro mac ani android neuvažuji. Petr Voborník Diskuze Thu, 10 Oct 2013 19:43:47 +0300 Algoritmy mac http://algds.cronos.cz/?sec=discusion Dobrý den, chci se zeptat existuje nebo uvažujete o nějaké alternativě na mac ? díky. Filip Mikolanda Diskuze Thu, 10 Oct 2013 18:05:41 +0300 Re: klíčová slova http://algds.cronos.cz/?sec=discusion Pravda, jednotný seznam všech funkcí zatím není. Nicméně ty základní jsou sepsány v&nbsp;dokumentu, algoritmy.pdf, který je zde v&nbsp;sekci Stáhnout a ty nově přidané jsou postupně sepisované v&nbsp;sekci Historie verzí. Petr Voborník Diskuze Tue, 04 Oct 2011 08:32:40 +0300 klíčová slova http://algds.cronos.cz/?sec=discusion Dobrý den, <br /> lze někde zjistit úplný seznam klíčových slov a funkcí? Např. algoritmus "Césarova šifra" obsahuje funkce "chr" a "ord", které v&nbsp;přehledu základních příkazů chybí. Dvořák Diskuze Mon, 26 Sep 2011 10:38:44 +0300 vývojový diagram http://algds.cronos.cz/?sec=discusion Program načte číslo d a dále neprázdnou posloupnost dvojic čísel x,y udávajících body [x,y] v&nbsp;rovině různé od počátku, ukončenou dvojicí nul; určí počet zadaných bodů a kolik z&nbsp;těchto bodů má vzdálenost od počátku větší než d. Fred Diskuze Fri, 11 Mar 2011 19:53:09 +0300