< Return to Video

Návratové hodnoty funkce (video verze)

  • 0:01 - 0:03
    Tak jsme zpátky s naším programem.
  • 0:03 - 0:06
    Ten používá funkci k
    malování čtyř Winstonů.
  • 0:06 - 0:07
    Změnila jsem ho trošku.
  • 0:07 - 0:09
    Nyní ukazuje skutečný věk
    v určitém bodě života.
  • 0:09 - 0:11
    Brzy uvidíte proč.
  • 0:11 - 0:14
    Nejdříve Vám musím něco
    říct o Winstonovi.
  • 0:14 - 0:16
    Winston má závislost na koblihách.
  • 0:16 - 0:18
    Jí je 3x denně.
  • 0:18 - 0:21
    Pravděpodobně díky tomu je jeho
    obličej tak velký a žlutý.
  • 0:22 - 0:25
    Jak varovat Winstona,
    že jsou pro něj koblihy špatné?
  • 0:25 - 0:27
    Musíme tento program trochu upravit.
  • 0:27 - 0:32
    A to tak, aby ukázal kolik
    koblih snědl v každém bodě jeho života.
  • 0:32 - 0:46
    Například, když mu byly dva roky,
    což znamená, že jich snědl 3x365x2.
  • 0:46 - 0:50
    Zobrazíme si to pod tímto nadpisem.
  • 0:50 - 0:54
    Dva tisíce koblih, to je hodně koblih
    za dva roky.
  • 0:54 - 1:02
    Nyní mu je 14 let, podívejme,
    3 krát 365 krát 14.
  • 1:04 - 1:08
    Správně, to je 15 000 koblih.
  • 1:08 - 1:13
    Mohli bychom nadále takto počítat,
    ale všimněte si určitého vzoru.
  • 1:13 - 1:20
    Opakuji stále můj výpočet a jedinou věc,
    kterou měním je počet let.
  • 1:20 - 1:23
    Kdykoliv vidím opakující se kód,
    jako je tento.
  • 1:23 - 1:28
    Pomyslím si,
    "Hm, mohu z toho udělat funkci?"
  • 1:28 - 1:32
    Ano určitě můžeme.
    Tak pojďme na to.
  • 1:33 - 1:34
    Definuji zde moji funkci.
  • 1:34 - 1:40
    Nazvu ji calcTotalDonuts = function.
  • 1:41 - 1:44
    Dáme jí jeden parametr a to
    počet let.
  • 1:44 - 1:46
    Je to totiž jediná věc, jenž
    měníme.
  • 1:46 - 1:49
    A to pokaždé, když děláme tento výpočet.
  • 1:49 - 1:53
    Uvnitř provedeme výpočet.
  • 1:53 - 2:00
    Tento výpočet uložíme do proměnné,
    takže to bude 3x 365x numYears.
  • 2:01 - 2:03
    Správně, nyní máme funkci.
  • 2:03 - 2:13
    Nahradím zde tento výraz
    výrazem calcTotalDonuts s parametrem 2.
  • 2:13 - 2:17
    Dobře, nyní nevidíme žádný celkový počet.
  • 2:17 - 2:19
    Co se stalo?
  • 2:19 - 2:23
    Naše funkce zde spočítala celkový počet.
  • 2:23 - 2:26
    Problém je, že o tom nikomu neřekla.
  • 2:26 - 2:30
    Je to jako, když se Vás učitelka
    na něco zeptá.
  • 2:30 - 2:32
    A odpověď je u Vás v hlavě.
  • 2:32 - 2:34
    Prostě se stydíte odpovědět.
  • 2:34 - 2:37
    Odpověděli jste, ale Vaše učitelka
    se o tom nikdy nedozví.
  • 2:37 - 2:45
    Pokud má funkce něco vracet, tak
    musí mít definovanou návratovou hodnotu.
  • 2:46 - 2:52
    K definování této hodnoty
    stačí napsat return a to co chceme ukázat.
  • 2:52 - 2:55
    Může to být proměnná nebo
    hodnota nějakého výrazu.
  • 2:55 - 2:58
    Pro náš příklad budeme vracet
    totalDonuts.
  • 2:58 - 3:02
    Tedy kdokoliv zavolá tuto funkci,
    dostane tuto odpověď.
  • 3:02 - 3:04
    Nyní se již naše hodnota zobrazuje.
  • 3:05 - 3:07
    Můžeme naší funkci zkrátit.
  • 3:07 - 3:08
    Nemusíme ji ukládat
    do proměnné.
  • 3:08 - 3:10
    Celý výraz vložíme do return.
  • 3:10 - 3:14
    Nyní je to na jednom řádku.
  • 3:15 - 3:17
    Dále spočítáme celkový počet
    koblih.
  • 3:18 - 3:23
    Uděláme to pomocí zavolání této
    funkce s počtem let.
  • 3:24 - 3:36
    Podívejte, je to calcTotalDonuts(25),
    poté calcTotalDonuts(65).
  • 3:36 - 3:45
    Tedy pokud by mu bylo 65 let,
    tak by snědl 70 000 koblih a to je dost.
  • 3:45 - 3:48
    Nemyslím si, že by toho byl
    Winston schopen.
  • 3:48 - 3:53
    Nyní je to funkce a
    je snadné měnit její části.
  • 3:53 - 3:55
    Například kdyby to viděl
    Winston a řekl:
  • 3:55 - 3:59
    "Páni, to je až moc.
    Co kdybych jedl jednu denně?"
  • 3:59 - 4:02
    Dobře, stačí změnit pouze jedno číslo.
  • 4:03 - 4:04
    Tím se vše změní.
  • 4:04 - 4:08
    Výsledek je 23 000. Stále dost.
    Možná by Winston řekl:
  • 4:08 - 4:11
    "Dobře, dobře, tak co kdybych jedl
    jen jednu týdně?"
  • 4:11 - 4:12
    Ano, to je již rozumné.
  • 4:12 - 4:18
    Stačí jen změnit 365 na 50,
    protože rok má 50 týdnů.
  • 4:18 - 4:23
    Je to lepší? 3000 koblih se zdá již jako
    rozumné množství.
  • 4:23 - 4:31
    Takže jak vidíte s funkcemi a návratovými
    hodnotami můžeme zachránit kód a životy.
Title:
Návratové hodnoty funkce (video verze)
Description:

Toto je jen výsek obrazovky našeho mluveného interaktivního kódování, připraveného k vytváření titulků a k usnadnění překladu. Je lepší sledovat naše rozhovory zde:
https://www.khanacademy.org/cs/programming/

more » « less
Video Language:
English
Duration:
04:32

Czech subtitles

Incomplete

Revisions