V konzoli prohlížeče si založte proměnnou title a uložte do ní název svého oblíbeného filmu. Proveďte následující úkoly.
> const title = 'Forrest Gump';
> title.length;
<· 12
> title.toUpperCase()
<· "FORREST GUMP"
> title.slice(0, 5);
<· "Forre"
> title.slice(title.length - 5, title.length);
<· " Gump"
Vytvořme stránku, která bude pracovat s emailovými adresami ve formátu
jmeno.prijmeni@domena
Tedy například:
petr.novak@gmail.comromana.nejedla@czechitas.czslavomir.ponuchalek@yahoo.comPostupujte dle následujících kroků.
email.indexOf najděte v tomto emailu pozici znaku zavináč. Tuto pozici si uložte do proměnné atIndex.slice vyřízněte z emailu první část představující jméno a příjmení uživatele.gmail.com.const parsedEmail = {
userName: 'slavomir.ponuchalek',
domain: 'yahoo.com',
}'use strict';
const email = prompt('Zadejte email:');
const atIndex = email.indexOf('@');
const parsedEmail = {
userName: email.slice(0, atIndex),
domain: email.slice(atIndex + 1),
};
console.log(parsedEmail);
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Emaily</title>
</head>
<body>
<h1>Emaily</h1>
<script src="index.js"></script>
</body>
</html>
Vytvořte webovou stránku, kde uživatel zadá svoji adresu například pro účely doručení objednaného zboží. Požaduje ulici, číslo domu, město a PSČ.
<div class="address">
<p>Pod Stájemi 67<p>
<p>12754 Klysnov</p>
</div>document.write vypište sestavené HTML do stránky. 'use strict';
const ulice = prompt('Zadej ulici:');
const cisloDomu = prompt('Zadej číslo domu:');
const mesto = prompt('Zadej město:');
const psc = prompt('Zadej PSČ:');
const adresaElm = `
<div class="address">
<p>${ulice} ${cisloDomu}<p>
<p>${psc} ${mesto}</p>
</div>
`;
document.write(adresaElm);
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Doručování</title>
</head>
<body>
<h1>Doručování</h1>
<script src="index.js"></script>
</body>
</html>
V předchozí lekci jsem vytvářeli stránku pro registraci na očkování. Chtěli jsme po uživateli jméno a věk. Nyní budeme chtít, aby uživatel zadal také heslo. To bychom v pozdější verzi aplikaci mohli použít například k přihlášení do systému.
věk v pořádku.Nízký věk.slabé heslo.'use strict';
const jmeno = prompt('Zadejte jméno:');
const vek = Number(prompt('Zadejte věk:'));
let heslo;
if (vek >= 65) {
console.log('Věk v pořádku');
const zadaneHeslo = prompt('Zadejte heslo:');
if (zadaneHeslo.length <= 8) {
console.log('slabé heslo');
} else {
heslo = zadaneHeslo;
}
} else {
console.log('Nízký věk');
}
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Registrace na očkování</title>
</head>
<body>
<h1>Registrace na očkování</h1>
<script src="index.js"></script>
</body>
</html>
Pokusme se o základ jednoduchého rezervačního sestému pro vstupenky do divadla. Nechte uživatele zadat svůj věk. Vytvořte si proměnnou plnaCena, do které uložte hodnotu 12. Vytvořte podmínku, která do proměnné cena uloží cenu spočítanou podle věku uživatele dle následujících pravidel
Nezapomeňte na zaokrouhlování, ať nám cena vyjde v celých centech.
Nakonec spočtenou cenu vypište s nějakou hezkou zprávou na výstup.
'use strict';
const vek = Number(prompt('Zadejte věk:'));
const plnaCena = 12;
let cena;
if (vek < 6) {
cena = 0;
} else if (vek <= 26) {
cena = plnaCena * 0.65;
} else if (vek <= 64) {
cena = plnaCena;
} else {
cena = plnaCena * 0.5;
}
const vystup = `Cena vstupneky pro věk ${vek}, je ${cena.toFixed(2)} centů`;
console.log(vystup);
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Cena vstupenky</title>
</head>
<body>
<h1>Cena vstupenky</h1>
<script src="index.js"></script>
</body>
</html>
Pokud se přihlásíte jako student například na Fakultu Informačních Technologí ČVUT, bude vám informačním systémem automaticky přidělen email, který se vytvoří z vašeho jména a příjmení. Z vašeho příjmení se vezme pět prvních znaků a z vašeho křestního jména první tři. Výsledek se převede na malá písmena a připojí se doména fit.cvut.cz. Pro jméno Žaneta Procházková tak vznikne adresa prochzan@fit.cvut.cz.
trim zajistěte, že ve jméně ani příjmení nebudou na začátku ani na konci žádné bílé znaky. slice vyřízněte ze jména i příjmení příslušné části.'use strict';
const jmeno = prompt('Zadejte jméno:').trim().toLowerCase().slice(0, 3);
const prijmeni = prompt('Zadejte prijmeni:').trim().toLowerCase().slice(0, 5);
document.write(`${prijmeni}${jmeno}@fit.cvut.cz`);
Firma nabízející trička s potiskem poskytuje množstevní slevy podle počtu objednaný kusů. Při objednávce pod 50 kusů stojí jedno tričko 300 kč. Pokud si objednáme alespoň 50 kusů, je cena 250 kč za kus. Při objednávce nad 200 kusů je cena 200 kč za tričko. Nad 500 kusů zaplatíme 150 kč za tričko a nad 1000 kusů zaplatíme 120 korun za tričko.
Napište program, který od uživatele obdrží počet kusů, které si chce objednat, a program odpoví celkovou ceny objednávky.
'use strict';
const mnozstvi = Number(prompt('Kolik triček si objednáte:'));
let cena;
if (mnozstvi < 50) {
cena = 300;
} else if (mnozstvi <= 200) {
cena = 250;
} else if (mnozstvi <= 500) {
cena = 200;
} else if (mnozstvi <= 1000) {
cena = 150;
} else {
cena = 120;
}
document.write(`Při objednávkce ${mnozstvi} triček zaplatíte ${cena} Kč/ks.`);
Vytvořte webovou stránku, která pomůže zaměstnavatelům spočítat náklady na jednoho zaměstnance, tedy takzvenou superhrubou mzdu. Zaměstnavetel zadá na vstupu dvě hodnoty: hodinovou sazbu zaměstnance a velikost úvazku v procentech. Tedy například 100% je plný úvazek (8 hodině denně), 50% poloviční apod. Stránka vypíše výši superhrubé mzdy, výší hrubé mzdy a výší čisté mzdy, vše v korunách.
Pravidla pro tyto výpočty se v čase mění. Aktuální pravidla v době vzniku tohoto cvičení platí od 1.7.2019 a jsou následující (zdroj).
Hrubou mzdu spočítáme z hodinové sazby a velikosti úvazku. Předpokládejme, že každý měsíc má 21 pracovních dní. Výsledné číslo zaokrouhlíme běžným způsobem na celé koruny.
Superhrubá mzda se spočítá z hrubé mzdy takto:
Čistá mzda se spočítá z hrubé mzdy takto:
Příklad: Celkové náklady na mzdu zaměstnance z hodinovou sazbou 450 Kč/h a 70% úvazkem jsou 70 807 Kč. Hrubá mzda činí 52 920 Kč a čistá mzda 38 533 Kč. Své výpočty můžete ověřit například na této stránce. Bude nám stačit už pouze jedna lekce, abyste takovou stránku dokázali vyrobit úplně sami.
'use strict';
const hodinovaSazba = Number(prompt('Zadejte hodinovou sazbu'));
const uvazek = Number(prompt('Zadejte velikost úvazku v %')) / 100;
const hodinVPracovniDen = 8;
const pracovnichDnu = 21;
const hrubaMzda = Math.round(
hodinovaSazba * uvazek * hodinVPracovniDen * pracovnichDnu,
);
console.log(hrubaMzda);
//superhruba
const superHruba = Math.ceil(hrubaMzda + hrubaMzda * 0.09 + hrubaMzda * 0.248);
console.log(superHruba);
//cista mzda
const zdravotniPojisteni = hrubaMzda * 0.045;
const socialniPojisteni = hrubaMzda * 0.065;
const danovyZaklad = Math.ceil(superHruba * 0.01) / 0.01;
const danZPrijmu = danovyZaklad * 0.15;
const cistaMzda = Math.floor(
hrubaMzda - zdravotniPojisteni - socialniPojisteni - danZPrijmu + 2070,
);
console.log(cistaMzda);
Na obrázku vidíte rozložení čísel na klasické Francouzské ruletě. Ruleta obsahuje čísla 0 - 36. Každé číslo s výjimkou nuly je buď sudé nebo liché a zároveň červené nebo černé. Pro čísla 1 až 10 a 19 až 28 platí, že lichá čísla jsou červená a sudá jsou černá. Pro zbytek platí obrácené pravidlo, tedy lichá jsou černá a sudá červená. Nula není ani lichá ani sudá, ani černá ani červená.

Vytvořte stránku, které uživatel zadá číslo a stránka odpoví jestli jde o číslo sudé nebo liché, černé nebo červené, nebo je to nula.
'use strict';
const cislo = Number(prompt('Zadejte číslo (0 - 36):'));
let sude = false;
let cervene = false;
if (cislo !== 0) {
if ((cislo >= 1 && cislo <= 10) || (cislo >= 19 && cislo <= 28)) {
console.log(cislo);
if (cislo % 2 === 0) {
sude = true;
} else {
cervene = true;
}
} else {
if (cislo % 2 === 0) {
cervene = true;
sude = true;
}
}
document.write(`Zadané číslo ${cislo} je: `);
if (sude) {
document.write('sudé a ');
} else {
document.write('liché a ');
}
if (cervene) {
document.write('červené.');
} else {
document.write('černé.');
}
} else {
document.write(`${cislo} není ani sudá ani lichá, ani červená ani černá.`);
}
Napište program, který po zadání kalendářního roku vypíše, zda jde o rok přestupný, či nikoliv. Letopočet je přestupný, pokud je dělitelný čtyřmi. Roky, které jsou dělitelné 100 jsou ovšem přestupné pouze tehdy, jsou-li zároveň dělitelné 400.
Řešení zatím nikdo nepřidal.
Napište program, který po zadání kalendářního roku vypíše, zda jde o rok přestupný, či nikoliv. Pro výpis použijte funkci document.write. Její volání se však ve vašem kódu smí objevit pouze dvakrát.
'use strict';
const rok = Number(prompt('Zadej rok:'));
let prestupnost = 'nepřestupný';
if (rok % 4 === 0) {
prestupnost = 'přestupný';
if (rok % 100 === 0 && rok % 400 !== 0) {
prestupnost = 'nepřestupný';
}
}
document.write(`Tvůj zadaný rok ${rok} je ${prestupnost}.`);
Napište program, který po zadání kalendářního roku vypíše, zda jde o rok přestupný, či nikoliv. Pro výpis použijte funkci document.write, jejíž volání seve vašem kódu smí objevit pouze dvakrát. Zároveň v kódu nesmíte použít víc než dva logické operátory.
'use strict';
const uzivatelRok = Number(prompt('Zadej rok:'));
const delCtyrmi = uzivatelRok % 4; // zbytek po deleni 4mi by mel byt nula (aby byl prestupny)
let delStem = 0;
if (uzivatelRok % 100 === 0) {
delStem = uzivatelRok % 400; // pokud je rok delitelny 100, zjistime jaky je zbytek po deleni 400
}
const prestupny = delCtyrmi + delStem; // pokud jsou oba zbytky po deleni nula, vysledek bude nula
if (prestupny === 0) {
// pokud je vysledek nula, rok je prestupny
document.write('Rok je přestupný.');
} else {
document.write('Rok není přestupný.');
}