0:00:00.981,0:00:03.708 Wracamy do programu,[br]który wykorzystuje funkcję 0:00:03.808,0:00:05.570 i rysuje Winstona cztery razy. 0:00:05.672,0:00:09.331 Zmieniłam to tak, żeby pokazać[br]jego wiek w każdym etapie życia. 0:00:09.431,0:00:11.288 Niedługo zobaczycie, dlaczego. 0:00:11.388,0:00:13.583 Najpierw powiem wam coś o Winstonie. 0:00:13.683,0:00:16.084 Jest uzależniony od pączków. 0:00:16.184,0:00:18.436 Je trzy pączki dziennie. 0:00:18.536,0:00:21.640 Pewnie dlatego ma tak dużą[br]i żółtą twarz. 0:00:21.740,0:00:25.123 Żeby mu powiedzieć,[br]jak szkodliwe są pączki, 0:00:25.223,0:00:26.713 zmienię program 0:00:26.813,0:00:29.582 i pokażę, ile zjadł pączków 0:00:29.682,0:00:31.466 w różnych etapach życia. 0:00:31.566,0:00:35.503 Np. gdy miał 2 lata... 0:00:35.603,0:00:37.291 to zjadł już... 0:00:37.391,0:00:41.470 3 razy 365 razy 2. 0:00:41.570,0:00:45.745 3 pączki dziennie razy 365 dni[br]razy 2 lata. 0:00:45.873,0:00:49.342 Wyświetlimy to pod nagłówkiem. 0:00:49.442,0:00:50.786 Dwa tysiące pączków! 0:00:50.886,0:00:53.452 Dużo jak na dwulatka! 0:00:54.334,0:00:56.749 Tu ma 14 lat. 0:00:56.849,0:01:02.554 Zjadł 3 razy 365 razy 14. 0:01:04.226,0:01:07.581 To 15 tysięcy pączków. 0:01:08.486,0:01:13.073 Mogłabym liczyć dalej,[br]ale dostrzegam schemat. 0:01:13.173,0:01:16.416 Powtarzam obliczenia 0:01:16.516,0:01:20.550 i zmieniam tylko jedno: liczbę lat. 0:01:20.650,0:01:22.988 Gdy widzę taki powtarzalny kod, 0:01:23.088,0:01:27.724 myślę: „Czy mogłabym[br]zrobić z tego funkcję?”. 0:01:27.824,0:01:31.625 Tak, to możliwe.[br]Zróbmy więc to teraz. 0:01:32.786,0:01:35.457 Zdefiniuję funkcję. Nazwę ją 0:01:35.557,0:01:40.426 „calcTotalDonuts = function”. 0:01:40.526,0:01:44.184 Będzie przyjmować[br]jeden parametr, liczbę lat. 0:01:44.284,0:01:48.204 Bo tylko to zmieniamy[br]w tych obliczeniach. 0:01:49.203,0:01:52.918 Obliczymy to wewnątrz 0:01:53.018,0:01:55.735 i zachowamy w zmiennej. 0:01:55.835,0:02:00.581 Mamy: 3 razy 365 razy „numYears”[br](liczba lat). 0:02:00.681,0:02:03.228 Gdy już mamy tę funkcję, 0:02:03.328,0:02:06.246 zastąpię to wyrażenie 0:02:06.346,0:02:09.799 przywołaniem funkcji[br]„calcTotalDonuts”, 0:02:09.899,0:02:11.471 i wprowadzę „2”. 0:02:12.864,0:02:16.974 No i nie widzimy żadnej sumy. 0:02:17.074,0:02:19.081 Co się stało? 0:02:19.181,0:02:23.011 Nasza funkcja obliczyła sumę, tutaj, 0:02:23.111,0:02:26.216 ale nikomu o niej nie powiedziała. 0:02:26.316,0:02:30.465 Jakby nauczyciel wywołał was[br]do odpowiedzi, 0:02:30.565,0:02:33.600 a wy udzielacie jej w głowie,[br]bo głośno się wstydzicie. 0:02:33.700,0:02:37.431 Uczyliście się,[br]a nauczyciel się o tym nie dowie. 0:02:37.531,0:02:41.216 Jeśli chcemy, by funkcja[br]pokazywała wartość, 0:02:41.316,0:02:45.670 musi ona tę wartość zwrócić. 0:02:45.770,0:02:49.714 Żeby funkcja zwróciła wartość,[br]musimy wpisać „return”, 0:02:49.814,0:02:52.315 i określić, co. 0:02:52.415,0:02:55.240 Zmienną, wartość, wyrażenie... 0:02:55.340,0:02:57.679 Tu napiszemy:[br]„return totalDonuts”. 0:02:57.779,0:03:02.067 Kto przywołał tę funkcję,[br]uzyska odpowiedź. 0:03:02.167,0:03:04.854 I wartość już widać! 0:03:04.954,0:03:06.943 Możemy skrócić funkcję, 0:03:07.043,0:03:10.426 nie trzymać jej w zmiennej.[br]Bierzemy to wyrażenie, 0:03:10.526,0:03:15.303 umieszczamy je w „zwróć”[br]i mamy jedną linijkę. Ładnie! 0:03:15.403,0:03:20.344 Możemy teraz obliczyć, ile pączków[br]zjadł w każdym etapie życia, 0:03:20.444,0:03:23.615 przywołując tę funkcję[br]i wprowadzając liczbę lat. 0:03:25.752,0:03:28.770 Mamy więc „calcTotalDonuts(25)”, 0:03:28.870,0:03:34.552 umieśćmy to...[br]„calcTotalDonuts(65)”... 0:03:36.433,0:03:40.473 Jeśli dożyje 65 lat, 0:03:40.573,0:03:45.071 to łącznie zje[br]70 tysięcy pączków. Dużo! 0:03:45.171,0:03:47.648 Chyba nie da rady. 0:03:47.748,0:03:50.335 Gdy już zrobiliśmy z tego funkcję, 0:03:50.435,0:03:53.198 będziemy mogli łatwo[br]zmieniać jej części. 0:03:53.298,0:03:55.357 Winston to widzi i mówi: 0:03:55.457,0:03:59.119 „Dużo! A gdybym jadł[br]jednego pączka dziennie?”. 0:03:59.219,0:04:02.741 Wejdźmy tu, zmieńmy jedną liczbę 0:04:02.841,0:04:04.482 i zmieni się wszystko. 0:04:04.582,0:04:07.338 Jest 23 tysiące. Nadal dużo. 0:04:07.438,0:04:10.447 Winston mówi „Dobrze,[br]może więc jeden tygodniowo?”. 0:04:10.547,0:04:12.540 To już rozsądne. 0:04:12.640,0:04:15.326 Zmieniamy 365 na 50, 0:04:15.426,0:04:17.976 bo rok ma ok. 50 tygodni. 0:04:18.077,0:04:20.481 Tak już lepiej, prawda? 0:04:20.581,0:04:22.849 3 tysiące pączków. To rozsądne. 0:04:22.949,0:04:27.099 Znając funkcje[br]i zwracane wartości 0:04:27.199,0:04:30.979 uratujemy program[br]i życie innych osób!