Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verzePoslední revizeObě strany příští revize |
krouzek:cykly_ulohy [2022/11/23 14:41] – admin | krouzek:cykly_ulohy [2022/11/23 15:11] – admin |
---|
| ===== Jednoduchý cyklus ===== |
| |
S použitím ''%%for%%'' nebo ''%%while%%'' cyklu vyřešte následující problémy: | S použitím ''%%for%%'' nebo ''%%while%%'' cyklu vyřešte následující problémy: |
| |
==== Násobilka ==== | === Úkol:Násobilka === |
Do konzole vytiskni popořadě všechny násobky čísla 7 menší než 1000. | Do konzole vytiskni popořadě všechny násobky čísla 7 menší než 1000. |
| |
==== Náhodný řetězec ==== | === Úkol:Náhodný řetězec === |
Vytvoř funkci, která vrací (''%%return%%'') náhodný řetězec o délce (zadané parametrem ''%%delka%%''). | Vytvoř funkci, která vrací (''%%return%%'') náhodný řetězec o délce (zadané parametrem ''%%delka%%''). |
Jeden náhodný znak A-Z získáš třeba takhle: | Jeden náhodný znak A-Z získáš třeba takhle: |
String.fromCharCode('A'.charCodeAt(0) + Math.floor(Math.random()*26)) | String.fromCharCode('A'.charCodeAt(0) + Math.floor(Math.random()*26)) |
</code> | </code> |
//Poznámka: Math.random není správné používat pro cokoliv co souvisí s bezpečností. Hesla lze generovat pomoci [[https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues|CryptoAPI]]// | |
| |
=== Aktuální čas === | //Poznámka: Math.random() není správné používat pro cokoliv co souvisí s bezpečností. Hesla lze generovat pomoci [[https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues|CryptoAPI]]// |
| |
| === Úkol:Aktuální čas === |
Padesátkrát vypiš do konzole aktuální čas. | Padesátkrát vypiš do konzole aktuální čas. |
''%%console.log(new Date())%%'' | ''%%console.log(new Date())%%'' |
Pokud se chceš vyhnout sdružení stejných výpisů v konzoli, připoj k výpisu třeba náhodné číslo. | Pokud se chceš vyhnout sdružení stejných výpisů v konzoli, připoj k výpisu třeba náhodné číslo. |
| |
//Poznámka: funkce ''%%sleep%%'' která by nějakou dobu čekala v javascriptu v klasické podobě neexistuje.// | //Poznámka: funkce ''%%sleep%%'' která by nějakou dobu čekala v javascriptu v klasické podobě neexistuje.// |
| |
| === Úkol:Spam === |
| Nahraď tělo aktuálního dokumentu (''%%document.body.innerHTML = 'Test'%%'') a zaplň stránku hromadou libovolného textu! |
| |
| ===== Cyklus přes všechny prvky ===== |
| Klasičtější přístup s číselným indexem: |
| <code javascript> |
| pole = ['ahoj', 'svete'] |
| for(let i=0;i < pole.length; i++){ |
| console.log(pole[i]) |
| } |
| </code> |
| Modernější přístup: |
| <code javascript> |
| pole = ['ahoj', 'svete'] |
| for(let prvek of pole){ |
| console.log(prvek) |
| } |
| </code> |
| === Úkol:Formátovaný text (značkovací jazyk) ==== |
| Dostaneš pole textů. Některé z textů začínají znakem ''%%#%%''. |
| Vlož texty nezačínající ''%%#%%''do stránky jako odstavce (''%%<p>%%'') a ty začínající ''%%#%%'' jako nadpisy druhé úrovně (''%%<h2>%%''). Pokročilé: uvozující znak ''%%#%%'' z nadpisů odstraň. |
| |
| <code javascript> |
| testovaciVstup = ['#Praha', 'Praha (německy Prag; v jiných jazycích často Prague či Praga) je hlavní město a současně největší město Česka', '#Brno', 'Brno (německy Brünn) je statutární město, počtem obyvatel i rozlohou druhé největší město v České republice', 'Je sídlem Jihomoravského kraje.'] |
| </code> |
| |
| === Úkol:Hacker ==== |
| ''%%document.querySelectorAll("input[type=password]")%%'' najde všechny heslové vstupy na aktuální stránce a vráti jako pole. Využijte toho a vypište všechna hesla zadaná do stránky (například ve chvíli kdy se přihlašujete do emailu, atp. - do vstupu samozřejmě nepište svoje heslo, ale třeba "test") |
| |
| === Úkol:Součet === |
| Pro zadané pole čísel vypiš do konzole jeho součet. |
| <code javascript> |
| cisla = [2, 15, 8, 2, 5] |
| </code> |
| Rozšíření: v html stránce si udělej ''%%<textarea id="cisla"></textarea>%%''. Čísla načti z jejích jednotlivých řádků. Použij funkci ''%%document.getElementById("cisla").value.split("\n")%%'' - rozdělí do pole. Řetězce je potom třeba převést na čísla pomocí ''%%parseFloat(radek)%%'' |