Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze |
krouzek:cykly_ulohy [2022/11/23 14:53] – admin | krouzek:cykly_ulohy [2023/11/15 20:54] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 |
---|
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: |
//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]]// | //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 === | === Ú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())%%'' |
//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.// |
| |
=== Spam === | === Úkol:Spam === |
Nahraď tělo aktuálního dokumentu (''%%document.body.innerHTML = 'Test'%%'') a zaplň stránku hromadou libovolného textu! | 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 ===== | ===== 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ň. |
| |
=== Hacker ==== | <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") | ''%%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)%%'' |