{ "tasks": [ { "id": "26-Z1-1", "type": "open-data", "comment": "Kevin a magnety - triviální, lineární průchod pole", "requires": [ "label-1d-pole", "data" ], "title": "Kevin a magnety", "position": [ -165.5925064086914, 75.26382446289062 ], "taskReference": "26-Z1-1" }, { "id": "26-Z1-2", "type": "open-data", "comment": "Piškvorky - detekce vítězství v piškvorkách, procházení 2D pole v různych směrech", "requires": [ "26-Z4-3" ], "position": [ -538.6227111816406, 223.0074005126953 ], "taskReference": "26-Z1-2", "title": "Piškvorky" }, { "id": "26-Z1-3", "type": "open-data", "comment": "Zamilovaný dopis - triviální, procházení stringů po znacích a kontrola podmínek", "requires": [ "26-Z1-1", "label-retezce" ], "position": [ -143.04217529296875, 406.042236328125 ], "taskReference": "26-Z1-3", "title": "Zamilovaný dopis" }, { "id": "26-Z1-4", "type": "open-data", "comment": "Hroch v jezeře - BFS či jiné prohledávání, počítání velikosti komponent v 2D poli, ", "requires": [ "26-Z4-3", "label-grafy" ], "position": [ -811.6162109375, 282.03977966308594 ], "taskReference": "26-Z1-4", "title": "Hroch v jezeře" }, { "id": "26-Z2-1", "type": "open-data", "comment": "Had z domina - triviální, linerání průchod pole a počítání, na kolika místech platí podmínka, vyžaduje práci se dvojicemi", "requires": [ "26-Z1-1", "label-1d-pole" ], "position": [ -70.56319046020508, 120.35980987548828 ], "taskReference": "26-Z2-1", "title": "Had z domina" }, { "id": "26-Z2-2", "type": "open-data", "comment": "SADO - triviální, procházení celých čísel v intervalu a kontrola podmínky", "requires": [], "position": [ 1167.1616821289062, 208.39923095703125 ], "taskReference": "26-Z2-2", "title": "SADO" }, { "id": "26-Z2-3", "type": "open-data", "comment": "Šifrovaná zpráva - práce s řetězci, hledání mapování mezi písmenky (substitučka) a validace, že jinde substitučka funguje", "requires": [ "26-Z1-3", "label-retezce" ], "position": [ -218.5698013305664, 452.1306457519531 ], "taskReference": "26-Z2-3", "title": "Šifrovaná zpráva" }, { "id": "26-Z2-4", "type": "open-data", "comment": "Životně důležitá úloha - dostanu pole čísel, potřebuju v něm najít pravidelně se opakující výskyty hodnot, relativně složitá práce s poli, dvojcemi apod.", "requires": [ "26-Z2-1" ], "title": "Životně důležitá úloha", "position": [ -44.170326232910156, 178.35317993164062 ], "taskReference": "26-Z2-4" }, { "id": "26-Z3-1", "type": "open-data", "comment": "Zámky labyrintu - hromada ifů, vhodné možná na code review, hledání čísla z trojice takového, že je trojice aritmetrická posloupnost", "requires": [], "position": [ 1205.6161193847656, 327.53318786621094 ], "taskReference": "26-Z3-1", "title": "Zámky labyrintu" }, { "id": "26-Z3-2", "type": "open-data", "comment": "Čarodějova šifra - šifrování mřížkou, práce se stringy, rotace matice, vhodné na code review?, docela hard", "requires": [ "26-Z4-3", "29-Z3-2" ], "position": [ -431.3240966796875, 546.5056457519531 ], "taskReference": "26-Z3-2", "title": "Čarodějova šifra" }, { "id": "26-Z3-3", "type": "open-data", "comment": "Hádanka - triky s dělitelností devíti a rozkladem čísel, docela hard teorie", "requires": [], "position": [ 1244.6161193847656, 406.53318786621094 ], "taskReference": "26-Z3-3", "title": "Hádanka" }, { "id": "26-Z3-4", "type": "open-data", "comment": "Tvar labyrintu - nejdelší cesta ve stromě, graf", "requires": [ "label-grafy-pracovni-poznamka" ], "position": [ -890.9130859375, 501.766845703125 ], "taskReference": "26-Z3-4", "title": "Tvar labyrintu" }, { "id": "26-Z4-1", "type": "open-data", "comment": "Vražedná čísla- WTF, teorie čísel, hard as fuck, divný", "requires": [], "position": [ 1087.2091645675546, 270.43162285670724 ], "taskReference": "26-Z4-1", "title": "Vražedná čísla" }, { "id": "26-Z4-2", "type": "open-data", "comment": "Sbírání vajíček - hledení mediánu, musí se to ale vymyslet, nejkratší cesta při chození tam a zpět", "requires": [], "position": [ 1004.9775306332087, 310.44566129452164 ], "taskReference": "26-Z4-2", "title": "Sbírání vajíček" }, { "id": "26-Z4-3", "type": "open-data", "comment": "Hra Othello - link na 26-Z1-2, procházení 2D pole po různých směrech", "requires": [ "26-Z1-1", "label-2d-pole" ], "title": "Hra Othello", "position": [ -480.6444091796875, 179.95367431640625 ], "taskReference": "26-Z4-3" }, { "id": "26-Z4-4", "type": "open-data", "comment": "Hlídači v labyrintu - policajti hlídající na grafu, konkrétně na stromě, rekurze, technicky asi až DP", "requires": [ "label-grafy-pracovni-poznamka" ], "position": [ -675.1974487304688, 442.068115234375 ], "taskReference": "26-Z4-4", "title": "Hlídači v labyrintu" }, { "id": "27-Z2-1", "type": "open-data", "comment": "Závorky z cereálií - 2 průchody pole, závorky", "requires": [ "26-Z1-1", "label-1d-pole" ], "position": [ -235.95565795898438, 131.96937561035156 ], "taskReference": "27-Z2-1", "title": "Závorky z cereálií" }, { "id": "28-Z1-1", "type": "open-data", "taskReference": "28-Z1-1", "comment": "triviální, průchod pole", "requires": [], "position": [ 1574.8651123046875, -54.023719787597656 ] }, { "id": "28-Z1-2", "type": "open-data", "taskReference": "28-Z1-2", "comment": "dělitelnost", "requires": [], "position": [ 1468.0250244140625, -49.02372360229492 ] }, { "id": "28-Z1-3", "type": "open-data", "taskReference": "28-Z1-3", "comment": "dělení a modulení", "requires": [], "position": [ 1400.1099853515625, -145.4812469482422 ] }, { "id": "28-Z1-4", "type": "open-data", "taskReference": "28-Z1-4", "comment": "hledání komponent souvislosti", "requires": [], "position": [ 1383.2698974609375, -202.57998657226562 ] }, { "id": "28-Z2-1", "type": "open-data", "taskReference": "28-Z2-1", "comment": "hledání podřetězce", "requires": [], "position": [ 1483.3087158203125, -193.50497436523438 ] }, { "id": "28-Z2-2", "type": "open-data", "taskReference": "28-Z2-2", "comment": "Collatzova domněnka", "requires": [], "position": [ 1450.6412353515625, -508.93878173828125 ] }, { "id": "28-Z2-3", "type": "open-data", "taskReference": "28-Z2-3", "comment": "seznam sousedů, hledání kružnic dané velikosti (3)", "requires": [], "position": [ 1261.51611328125, -521.9762878417969 ] }, { "id": "28-Z2-4", "type": "open-data", "taskReference": "28-Z2-4", "comment": "spojový seznam nebo eulerovský tah", "requires": [], "position": [ 1442.344970703125, -274.54248046875 ] }, { "id": "28-Z3-1", "type": "open-data", "taskReference": "28-Z3-1", "comment": "nalezení minima a maxima", "requires": [], "position": [ 1096.826171875, -141.4437255859375 ] }, { "id": "28-Z3-2", "type": "open-data", "taskReference": "28-Z3-2", "comment": "matematika", "requires": [], "position": [ 818.8499145507812, -206.74127197265625 ] }, { "id": "28-Z3-3", "type": "open-data", "taskReference": "28-Z3-3", "comment": "zjednodušení problému??", "requires": [], "position": [ 874.887451171875, -94.75247955322266 ] }, { "id": "28-Z3-4", "type": "open-data", "taskReference": "28-Z3-4", "comment": "rekurze (není to jednoduché)", "requires": [], "position": [ 1073.7274169921875, -258.63002014160156 ] }, { "id": "28-Z4-1", "type": "open-data", "taskReference": "28-Z4-1", "comment": "souřadnice", "requires": [], "position": [ 859.5786743164062, -276.0987548828125 ] }, { "id": "28-Z4-2", "type": "open-data", "taskReference": "28-Z4-2", "comment": "triviální průchod 2D pole", "requires": [], "position": [ 754.1712036132812, -282.5687561035156 ] }, { "id": "28-Z4-3", "type": "open-data", "taskReference": "28-Z4-3", "comment": "binární vyhledávání, třídění", "requires": [], "position": [ 880.9987182617188, -358.81500244140625 ] }, { "id": "28-Z4-4", "type": "open-data", "taskReference": "28-Z4-4", "comment": "dynamické programování, práce s čísly", "requires": [], "position": [ 814.6162109375, -379.39630126953125 ] }, { "id": "29-Z1-1", "type": "open-data", "comment": "Kevinova želva — triviální, průchod po 2D souřadnicích", "requires": [ "label-zelvy" ], "title": "Kevinova želva", "position": [ 153.23114013671875, 435.23114013671875 ], "taskReference": "29-Z1-1" }, { "id": "29-Z1-2", "type": "open-data", "taskReference": "29-Z1-2", "comment": "Sářiny pamlsky — triviální, výpis přirozených čísel na základě pravidel", "requires": [], "position": [ 1433.2462158203125, -348.25872802734375 ] }, { "id": "29-Z1-3", "type": "open-data", "comment": "Petrova statistika — ne úplně triviální, tvorba histogramu z pole", "requires": [ "27-Z2-1" ], "title": "Petrova statistika", "position": [ -239.7012176513672, 191.6642303466797 ], "taskReference": "29-Z1-3" }, { "id": "29-Z1-4", "type": "open-data", "comment": "Zuzčin výlet — DFS (topologické pořadí)", "requires": [ "label-grafy-pracovni-poznamka" ], "position": [ -1084.8828125, 465.46002197265625 ], "taskReference": "29-Z1-4", "title": "Zuzčin výlet" }, { "id": "29-Z2-1", "type": "open-data", "comment": "Krocení zlé želvy — triviální, průchod po 2D souřadnicích, přímo navazuje na 29-Z1-1", "requires": [ "29-Z1-1" ], "position": [ 263.0097351074219, 491.6130676269531 ], "taskReference": "29-Z2-1", "title": "Krocení zlé želvy" }, { "id": "29-Z2-2", "type": "open-data", "taskReference": "29-Z2-2", "comment": "Sářina volba — spíš triviální, hledání společných vlasností na dvou stejně dlouhých polích", "requires": [], "position": [ 1410.2337646484375, -441.5187683105469 ] }, { "id": "29-Z2-3", "type": "open-data", "taskReference": "29-Z2-3", "comment": "Petr v říši divů — grafy - prohledávání (rozpad na komponenty)", "requires": [], "position": [ 1576.2962646484375, -488.655029296875 ] }, { "id": "29-Z2-4", "type": "open-data", "taskReference": "29-Z2-4", "comment": "Zuzka: Cesta tam a zase zpátky — nejdelší rostoucí podposloupnost splňující podmínku, příběh i vstup připomínají 28-Z4-5", "requires": [], "position": [ 1631.98876953125, -358.9374694824219 ] }, { "id": "29-Z3-1", "type": "open-data", "comment": "Želva na dvorku — spíš triviální, netriviální udělat efektivně (ale asi to není třeba pro úspěch), volně navazuje na 29-Z2-1 a 29-Z1-1, průchod po 2D souřadnicích, invalidní příkazy (směrem do překážky) ignorujeme", "requires": [ "26-Z4-3" ], "position": [ -394.7185363769531, 232.44407653808594 ], "taskReference": "29-Z3-1", "title": "Želva na dvorku" }, { "id": "29-Z3-2", "type": "open-data", "comment": "Písemka z angličtiny — voser implementovat, easy dřevorubecký řešení, optimálně trie, což na Z IMHO hard", "requires": [ "26-Z2-3", "label-retezce" ], "position": [ -321.57469177246094, 498.2836608886719 ], "taskReference": "29-Z3-2", "title": "Písemka z angličtiny" }, { "id": "29-Z3-3", "type": "open-data", "comment": "Šestková čísla — mega voser implementovat, spíš matematická úloha, převod dešitkových čísel do hacknutých římských", "requires": [], "position": [ 1229.6161193847656, 274.53318786621094 ], "taskReference": "29-Z3-3", "title": "Šestková čísla" }, { "id": "29-Z3-4", "type": "open-data", "taskReference": "29-Z3-4", "comment": "Zdobení stromečku — grafy - prohledávání, hledání kružnice v grafu, zmateně zadané", "requires": [], "position": [ 1613.5562744140625, -297.6412353515625 ] }, { "id": "29-Z4-1", "type": "open-data", "taskReference": "29-Z4-1", "comment": "Šíření viru — vopruz načítat vstup, přímočaré kvadratické řešení, trochu důmyslnější optimální, podhodnocená as fuck, šíření viru v grafu", "requires": [], "position": [ 1570.2962646484375, -265.0612487792969 ] }, { "id": "29-Z4-2", "type": "open-data", "taskReference": "29-Z4-2", "comment": "Vybírání atrakcí — ezy hladový řešení, pokud si ho umíte zdůvodnit, což není úplně triviální, máme K lidí, pro každého přípustný interval a K² čísel, které každému chceme přidělit", "requires": [], "position": [ 1634.2974853515625, -199.5549774169922 ] }, { "id": "29-Z4-3", "type": "open-data", "comment": "Želva v akváriu — malej voser, triviální, přímo navazuje na 29-Z2-1 a 29-Z1-1, průchod po 3D souřadnicích", "requires": [ "29-Z1-1", "29-Z2-1" ], "position": [ 119, 511 ], "taskReference": "29-Z4-3", "title": "Želva v akváriu" }, { "id": "29-Z4-4", "type": "open-data", "taskReference": "29-Z4-4", "comment": "Hledání součtu — ezy housenka pokud umíte číst, hledání podposloupnosti se součtem co nejbližším zadanému, celé v kladných číslech", "requires": [], "position": [ 1610.87744140625, -133.54248046875 ] }, { "id": "30-Z1-1", "type": "open-data", "taskReference": "30-Z1-1", "title": "Kevinova nepatnáctka", "comment": "Trivka, chození po souřadnicích", "requires": [], "position": [ 572.9862060546875, -361.655029296875 ] }, { "id": "30-Z1-2", "type": "open-data", "taskReference": "30-Z1-2", "title": "Sářiny loutky", "comment": "Hladový algoritmus", "requires": [], "position": [ 1046.9624633789062, -526.9387512207031 ] }, { "id": "30-Z1-3", "type": "open-data", "taskReference": "30-Z1-3", "title": "Petrovo luštění zprávy", "comment": "Hledání nejčastějšího výskytu ", "requires": [], "position": [ 721.6036987304688, -430.6800231933594 ] }, { "id": "30-Z1-4", "type": "open-data", "taskReference": "30-Z1-4", "title": "Zuzčin projekt", "comment": "Sousednost v grafu", "requires": [], "position": [ 596.0599365234375, -297.4825439453125 ] }, { "id": "30-Z2-1", "type": "open-data", "taskReference": "30-Z2-1", "title": "K-k-koktavý K-K-Kevin", "comment": "Trivka, projít string a skippovat duplikáty", "requires": [], "position": [ 640.2936401367188, -213.85252380371094 ] }, { "id": "30-Z2-2", "type": "open-data", "taskReference": "30-Z2-2", "title": "Hřiště pro tarantule", "comment": "Chození po souřadnicích, detekce kolizí", "requires": [], "position": [ 702.7511596679688, -135.3337631225586 ] }, { "id": "30-Z2-3", "type": "open-data", "taskReference": "30-Z2-3", "title": "Klonování pavouků", "comment": "Sestavení stromu a vypsání cesty do kořene", "requires": [], "position": [ 807.9862060546875, -24.777490615844727 ] }, { "id": "30-Z2-4", "type": "open-data", "taskReference": "30-Z2-4", "title": "Příliš bílý displej", "comment": " Práce s 2d polem", "requires": [], "position": [ 960.7762451171875, -208.45751953125 ] }, { "id": "30-Z3-1", "type": "open-data", "taskReference": "30-Z3-1", "title": "Rozkolísaná produktivita", "comment": " Hledání dvou čísel s co největším rozdílem", "requires": [], "position": [ 1047.8624877929688, 2.5687755346298218 ] }, { "id": "30-Z3-2", "type": "open-data", "taskReference": "30-Z3-2", "title": "Podlézání Číňanům", "comment": "Výroba palindromu", "requires": [], "position": [ 1335.9012451171875, -74.43122863769531 ] }, { "id": "30-Z3-3", "type": "open-data", "taskReference": "30-Z3-3", "title": "Teambuilding", "comment": "Voser implementovat, hledání klíčů na odemčení dveří", "requires": [], "position": [ 1233.739990234375, -237.59249877929688 ] }, { "id": "30-Z3-4", "type": "open-data", "taskReference": "30-Z3-4", "title": "Korporátní seznamka", "comment": "Voser implementovat, doplňování do stringu", "requires": [], "position": [ 1161.6162109375, -319.74127197265625 ] }, { "id": "30-Z4-1", "type": "open-data", "taskReference": "30-Z4-1", "title": "Statistika sprintů", "comment": " Prefixové součty", "requires": [], "position": [ 983.1099853515625, -302.6050109863281 ] }, { "id": "30-Z4-2", "type": "open-data", "taskReference": "30-Z4-2", "title": "Klíče od tělocvičny", "comment": "Provházení bludiště", "requires": [], "position": [ 1138.3812255859375, -378.9012451171875 ] }, { "id": "30-Z4-3", "type": "open-data", "taskReference": "30-Z4-3", "title": "Uhlazovací válec", "comment": "ProhledávánI grafu", "requires": [], "position": [ 1306.1600341796875, -363.9637756347656 ] }, { "id": "30-Z4-4", "type": "open-data", "taskReference": "30-Z4-4", "title": "Ohrazení zahrádky", "comment": "Trivka, práce souřadnicemi", "requires": [], "position": [ 1238.6287841796875, -164.0612335205078 ] }, { "id": "31-Z1-1", "type": "open-data", "requires": [], "comment": "úloha s odčítáním času", "title": "Zuzka a poník", "position": [ 1255.5751953125, 131.96621704101562 ], "taskReference": "31-Z1-1" }, { "id": "31-Z1-2", "type": "open-data", "comment": "BFS (šachovnice, custom figurka, nejkratší cesta) ", "requires": [ "label-grafy-pracovni-poznamka" ], "position": [ -763.1971435546875, 493.9221496582031 ], "taskReference": "31-Z1-2", "title": "Ukradený jezdec" }, { "id": "31-Z1-3", "type": "open-data", "taskReference": "31-Z1-3", "comment": "průnik N intervalů (3D na kvádrech)", "requires": [], "position": [ 978.01123046875, -112.03751373291016 ] }, { "id": "31-Z1-4", "type": "open-data", "comment": "2D pole (až na poslední vstup), hešování (piškvorky) - navazuje na 26-Z1-2", "requires": [ "26-Z1-2" ], "title": "Piškvorky naslepo", "position": [ -578.6199951171875, 278.00364685058594 ], "taskReference": "31-Z1-4" }, { "id": "31-Z2-1", "type": "open-data", "taskReference": "31-Z2-1", "comment": "hešování (objednávka pizzy po dílcích, ceil(group by typ, sum, / 8)))", "requires": [], "position": [ 1127.4437255859375, -64.70246124267578 ] }, { "id": "31-Z2-2", "type": "open-data", "taskReference": "31-Z2-2", "comment": "2D pole (simulace tetrisu)", "requires": [], "position": [ 1333.40625, -291.3462677001953 ] }, { "id": "31-Z2-3", "type": "open-data", "taskReference": "31-Z2-3", "comment": "ňáký šachy, předzpracování, hledání nejbližších věží a střelců in bulk - chce lepší tag", "requires": [], "position": [ 720.4924926757812, -342.6925354003906 ] }, { "id": "31-Z2-4", "type": "open-data", "taskReference": "31-Z2-4", "comment": "hledání periody v desetinném čísle", "requires": [], "position": [ 927.677490234375, -439.93878173828125 ] }, { "id": "31-Z3-1", "type": "open-data", "taskReference": "31-Z3-1", "comment": "triviální - zapamatování stringů (vybírání rýmů)", "requires": [], "position": [ 1253.751220703125, -437.8525390625 ] }, { "id": "31-Z3-2", "type": "open-data", "comment": "DFS (hledání cesty v grafu po písmenech)", "requires": [ "label-grafy-pracovni-poznamka" ], "position": [ -1028.935791015625, 523.2289428710938 ], "taskReference": "31-Z3-2", "title": "Zámek obrazovky" }, { "id": "31-Z3-3", "type": "open-data", "comment": "barvení bipartitního grafu (hledání partit), na vstupu hrany", "requires": [ "26-Z1-4", "label-grafy" ], "position": [ -899.0215454101562, 314.04736328125 ], "taskReference": "31-Z3-3", "title": "Stáda hrochů" }, { "id": "31-Z3-4", "type": "open-data", "taskReference": "31-Z3-4", "comment": "geometrie - přihrádky/zametání (vypsat všechny dvojice bodů s vzdáleností max K)", "requires": [], "position": [ 1142.356201171875, -461.64251708984375 ] }, { "id": "31-Z4-1", "type": "open-data", "taskReference": "31-Z4-1", "comment": "sort + průchod pole (nejosamělejší bod na přímce)", "requires": [], "position": [ 872.5675048828125, -481.3587646484375 ] }, { "id": "31-Z4-2", "type": "open-data", "taskReference": "31-Z4-2", "comment": "binární čísla", "requires": [], "position": [ 1028.8512573242188, -439.8162841796875 ] }, { "id": "data", "type": "text", "comment": "...", "requires": [ "jak-resit-ulohy" ], "title": "Data a algoritmy", "htmlContent": "

Datové struktury

V programech potřebujeme nějak reprezentovat data o reálném světě. Paměť počítače je ale jen dlouhá sekvence bytů (malých čísel). Abychom mohli reprezentovat něco komplikovanějšího, skládáme si v paměti datové struktury. Technicky je to akorát hromada čísel, kterým přikládáme speciální význam. Pro potřeby programátora je ale často podstatnější ten samotný speciální význam, než hodnota čísel, kterými je zapsán.

Úlohy, které najdeš dále, se všechny zabývají nějakou datovou strukturou. Jsou uspořádány s rostoucí obtížností a pro pochopení složitějších datových struktur je často potřeba mít vštípené detaily struktury předchozí.

Algoritmy

Datové struktury jsou nám samotné k ničemu. K jejich smysluplnému využití potřebujeme nějaký důvod. Datovou strukturou jenom reprezentujeme nějaký stav světa. Proto v úlohách najdeš krom datových struktur také využití různých algoritmů - ověřených postupů, jak řešit nějaké druhy problémů.

", "position": [ -163, -83 ] }, { "id": "jak-resit-ulohy", "type": "text", "requires": [ "start" ], "comment": "kecy o tom, jak se může řešit taková úloha", "title": "Jak řešit úlohy?", "htmlContent": "", "position": [ 43, -98 ] }, { "id": "label-1d-pole", "type": "label", "comment": "...", "requires": [], "title": "Pole", "rotationAngle": 337, "position": [ -184.5875244140625, 31.301490783691406 ] }, { "id": "label-2d-pole", "type": "label", "comment": "...", "requires": [], "title": "2D pole", "rotationAngle": 340, "position": [ -498.642578125, 140.9576416015625 ] }, { "id": "label-grafy", "type": "label", "comment": "...", "requires": [], "title": "Grafy", "rotationAngle": 342, "position": [ -879.3245239257812, 253.7253875732422 ] }, { "id": "label-grafy-pracovni-poznamka", "type": "text", "comment": "Chtělo by to grafy celé nějak přeuspořádat. Je to přeci jen dost široké téma.", "requires": [ "31-Z3-3" ], "title": "Grafy, ale neuspořádané", "htmlContent": "

undefined

", "position": [ -916.2467041015625, 398.9772033691406 ] }, { "id": "label-retezce", "type": "label", "comment": "...", "requires": [], "title": "Textové řetězce", "rotationAngle": 326, "position": [ -256.3359832763672, 405.51519775390625 ] }, { "id": "label-uvod", "type": "label", "comment": "...", "requires": [], "title": "Úvod", "position": [ 42, -243 ] }, { "id": "label-zelvy", "type": "label", "comment": "...", "requires": [], "title": "Želvy", "rotationAngle": 43, "position": [ 205, 407 ] }, { "id": "placeholder-kurz-programovani", "type": "text", "comment": "...", "requires": [ "programovani" ], "title": "Placeholder pro základní kurz programování", "htmlContent": "

Tady by měl začítat kurz programování. Chceme ze stávajícího kurzu vybrat úlohy a dát je sem. Postupně by asi také bylo fajn to celé rozvinou do větších detailů.

", "position": [ 464.3114318847656, 68.15572357177734 ] }, { "id": "programovani", "type": "text", "comment": "...", "requires": [ "jak-resit-ulohy" ], "title": "Programování", "htmlContent": "

Počítače nemluví lidskou řečí. Aspoň zatím. Pokud jim chceme vysvětlit nějaký komplikovanější problém, potřebujeme mluvit správnou řečí - nějakým programovacím jazykem.

Jaký programovací jazyk použít?

Programovacích jazyků je více a každý se hodí na něco jiného. S roustoucími zkušenostmi se pravděpodobně naučíš přecházet mezi několika programovacími jazyky podle toho, jaký problém zrovna řešíš.

Pro řešení úloh Ti doporučujeme Python 3. Pokud se ho chceš naučit, můžeš zkusit projít kurzem, který jsme pro Tebe připravili.

", "position": [ 144, 2 ] }, { "id": "start", "type": "text", "requires": [ "label-uvod" ], "comment": "úvodní kecy o tom, jak to celé funguje", "title": "Start", "htmlContent": "

Aktuálně je celý projekt v BETA režimu. Pokud najdeš libovolnou chybu nebo pokud Tě napadá, že by se dalo cokoliv vylepšit (a ideálně jak), dej prosím vědět Vaškovi a Standovi. Díky!

Vítej v našem novém kurzu!

Pokud tě napadá, jak by se tento projekt mohl jmenovat, dej nám vědět!

Co zde (časem) najdeš?

Co budu mít z toho, že budu úlohy zde řešit?

Něco se můžeš naučit a z toho můžeš mít dobrý pocit. Nic jiného teď neslibujeme. Splnit zde úlohu je to samé jako splnit ji ve cvičišti. Navíc ono k úlohám jsou většinou přístupná vzorová řešení, takže soutěžit zde nedává moc smysl.

Ohledně vzorových řešení – je čistě na Tobě, zda budeš úlohy řešit poctivě, nebo jestli si budeš číst řešení před tím, než vymyslíš něco vlastního. Zabránit Ti v tom nedokážeme a ani nechceme. Pokud se chceš něco naučit, nebo si něco procvičit, tak doporučujeme vzorová řešení otevírat až po vlastním řešení, případně když se zasekneš. Získáš tak z kurzu nejvíce.

", "position": [ 38, -176 ] } ], "clusters": { "Triviální výpočet": [ "31-Z1-1" ], "Triviální průchod 1D pole": [ "26-Z1-1" ], "Triviální průchody 2D pole": [ "26-Z1-2", "26-Z4-3", "29-Z3-1", "31-Z1-4" ], "Želvy": [ "29-Z1-1", "29-Z2-1", "29-Z4-3" ], "Komplexnější práce s poli": [ "26-Z2-4", "29-Z1-3" ], "Práce s čísly": [ "26-Z2-2", "26-Z3-3", "26-Z4-1" ], "Práce s řetězci": [ "26-Z1-3", "26-Z2-3", "26-Z3-2", "29-Z3-2" ], "Grafy": [ "26-Z1-4", "26-Z3-4", "26-Z4-4", "29-Z1-4", "31-Z1-2", "31-Z3-2", "31-Z3-3" ], "Voser": [ "26-Z3-1", "29-Z3-3" ], "Nápad": [ "26-Z4-2" ] } }