WEBVTT 00:00:01.312 --> 00:00:03.552 Graliśmy w rzut monetą. 00:00:03.652 --> 00:00:06.495 Generowaliśmy liczby losowe między 0 a 1 00:00:06.595 --> 00:00:12.040 i zaokrąglaliśmy je do najbliższej liczby całkowitej. Czyli do 0 lub 1. 00:00:12.140 --> 00:00:14.907 Zilustrowaliśmy to realistyczną monetą 00:00:15.007 --> 00:00:18.877 - elipsą w kolorze fioletowym lub żółtym, zależnie od liczby. 00:00:18.977 --> 00:00:22.755 Zaprogramowaliśmy to. Mówimy, że jeśli „integer” jest równe 0, 00:00:22.855 --> 00:00:26.121 to wypełnienie ma być fioletowe. Inaczej - żółte. 00:00:26.221 --> 00:00:27.794 I rysujemy monetę. 00:00:27.894 --> 00:00:30.998 Ale teraz moja moneta ma 3 strony. 00:00:31.098 --> 00:00:33.785 Tak, trójstronna moneta! Dodajmy 3. stronę. 00:00:33.885 --> 00:00:37.198 Zacznę od liczby z przedziału 0-2. 00:00:37.298 --> 00:00:41.865 Po zaokrągleniu uzyskamy 0, 1 lub 2. 00:00:41.965 --> 00:00:45.557 W naszym programie do rysowania ujęliśmy tylko 2 przypadki. 00:00:45.657 --> 00:00:48.831 Dla „integer=0” elipsa jest fioletowa, inaczej - żółta. 00:00:48.931 --> 00:00:51.801 Teraz „inaczej” może oznaczać 1 albo 2. 00:00:51.885 --> 00:00:55.008 A gdybym zrobiła to samo, co wcześniej... 00:00:55.108 --> 00:00:58.003 ale w tym bloku „else”... Powiem: 00:00:58.103 --> 00:01:00.610 jeśli „integer” będzie równe 1, 00:01:00.710 --> 00:01:04.852 to wypełnienie zrobi się żółte, jak przedtem, 00:01:04.953 --> 00:01:07.430 a w przeciwnym razie 00:01:07.530 --> 00:01:11.053 będzie to czerwień. Ładny kolor! 00:01:11.153 --> 00:01:15.371 Tzn. dla „integer” równego 0 kolor będzie fioletowy, 00:01:15.471 --> 00:01:18.576 inaczej, dla 1, będzie żółty. 00:01:18.676 --> 00:01:24.265 Inaczej, jeśli nie będzie 0 ani 1, to musi być 2 - i czerwień. 00:01:24.365 --> 00:01:28.537 Kilka razy wciskam „restart”. To działa! 00:01:28.637 --> 00:01:32.020 Gdybym chciała dodać więcej stron do monety, 00:01:32.120 --> 00:01:35.716 mogę tutaj zaznaczyć 0-3, wejść głębiej w blok „else”, 00:01:35.816 --> 00:01:38.237 dodać więcej instrukcji „if-else” itd. 00:01:38.337 --> 00:01:40.124 Masa zagnieżdżonych bloków! 00:01:40.224 --> 00:01:43.607 Wtedy zobaczycie, że ten program jest okropny! 00:01:43.707 --> 00:01:48.204 Program ma być czytelny, a nie pogmatwany! 00:01:49.040 --> 00:01:50.550 Zrobimy tak: 00:01:50.650 --> 00:01:55.470 mając jedną instrukcję warunkową albo jedno „if-else” w bloku „else”, 00:01:55.570 --> 00:01:58.597 nie robimy nic innego poza tymi blokami, 00:01:58.697 --> 00:02:04.664 nie ustalamy koloru pędzla, nie ma więcej instrukcji warunkowych. 00:02:04.764 --> 00:02:08.499 Mamy jedną instrukcję warunkową, może z blokiem „else”. 00:02:08.598 --> 00:02:13.236 Możemy połączyć ten warunek z poprzednim wierszem i powiedzieć: 00:02:13.336 --> 00:02:17.346 inaczej, jeśli „integer” równa się 1, wypełnienie ma być żółte. 00:02:17.446 --> 00:02:22.500 A ostatni blok „else” nie jest zagnieżdżony. Siedzi sam na końcu. 00:02:22.600 --> 00:02:27.307 Świetnie! Teraz: jeśli „integer” jest równe 0, kolor ma być fioletowy, 00:02:27.407 --> 00:02:30.442 inaczej, dla „integer” równego 1, kolor ma być żółty, 00:02:30.542 --> 00:02:34.366 inaczej, jeśli oba te stwierdzenia są fałszywe, ma być czerwony. 00:02:34.466 --> 00:02:37.427 Kilka razy wcisnę „restart” i widzicie - to działa! 00:02:37.527 --> 00:02:41.757 Świetnie! W dodatku możemy mieć tyle „if-else”, ile chcemy. 00:02:41.857 --> 00:02:46.115 Będzie łatwo dodać więcej stron monety. Zróbmy to teraz. 00:02:46.215 --> 00:02:48.275 Dajmy liczbę od 0 do 3 00:02:48.375 --> 00:02:51.340 i dołóżmy jeszcze jeden blok „else”: 00:02:51.440 --> 00:02:56.076 jeśli „integer” jest równe 2, 00:02:56.176 --> 00:02:59.815 to zrobimy wypełnienie... już jest czerwień, niech zostanie. 00:02:59.915 --> 00:03:03.391 I ostatni blok „else” będzie dla „integer” równego 3. 00:03:03.491 --> 00:03:05.364 Zrobi się niebiesko. 00:03:06.247 --> 00:03:07.570 Wspaniale! 00:03:08.522 --> 00:03:13.050 Dobrze. Zawsze trzeba zacząć od instrukcji warunkowej, 00:03:13.150 --> 00:03:16.394 a potem możecie zrobić tyle „if-else”, ile chcecie. 00:03:16.494 --> 00:03:19.989 Ten ostatni jest opcjonalny. Poradzimy sobie bez niego. 00:03:20.089 --> 00:03:23.812 Jeśli to wszystko będzie fałszywe, te bloki nie zostaną wykonane. 00:03:23.912 --> 00:03:26.889 Ale dopóki mamy to tutaj, 00:03:26.989 --> 00:03:29.815 wykonany zostanie jeden blok. 00:03:30.465 --> 00:03:31.285 Fajnie? 00:03:31.385 --> 00:03:34.227 W tym przypadku nie ma znaczenia, 00:03:34.327 --> 00:03:36.781 czy powiecie „if-else”, „if-else”... 00:03:36.881 --> 00:03:40.235 czy użyjecie zwykłych instrukcji warunkowych. 00:03:40.335 --> 00:03:45.744 Gdy „integer” jest równe 3. 00:03:45.844 --> 00:03:47.612 Bo nie ma możliwości, by liczba 00:03:47.712 --> 00:03:51.283 jednocześnie równała się 0, 1, 2 i 3. 00:03:51.384 --> 00:03:54.196 Te warunki wykluczają się wzajemnie. 00:03:54.296 --> 00:03:56.777 Zostanie uruchomiony tylko jeden blok. 00:03:56.877 --> 00:04:01.580 Ale nie zawsze tak jest. A gdybyśmy nie chcieli zaokrąglać? 00:04:01.680 --> 00:04:06.177 Pozbędę się tego zaokrąglenia i rysowania na ekranie. 00:04:07.269 --> 00:04:09.521 Dodajmy do gry nowe zasady. 00:04:09.621 --> 00:04:12.725 Nadal generuję liczbę od 0 do 3; 00:04:13.491 --> 00:04:16.603 dołożymy trochę punktów na osi liczbowej. 00:04:16.702 --> 00:04:22.942 Powiedzmy, że dla liczby z przedziału od 0 do 1 kolor będzie fioletowy. 00:04:23.042 --> 00:04:26.121 Niewyraźnie zapisałam. Ale to nic. 00:04:26.221 --> 00:04:30.257 Dla liczby z przedziału od 1 do 2 kolor będzie żółty. 00:04:31.209 --> 00:04:35.179 A dla przedziału 2-3 będzie czerwony. 00:04:35.279 --> 00:04:39.219 Dobrze! Zobaczmy, jak to zrobić z poleceniami „if-else”. 00:04:39.319 --> 00:04:43.840 Najpierw: jeśli liczba jest mniejsza od 1... 00:04:43.940 --> 00:04:49.483 Jeśli jest mniejsza od 1, a wiem, że należy do przedziału 0-3, 00:04:50.713 --> 00:04:52.873 to kolor będzie fioletowy. 00:04:55.729 --> 00:05:00.814 Inaczej, dla liczby mniejszej od 2, 00:05:00.914 --> 00:05:05.412 ustawię kolor żółty... 255... 00:05:06.364 --> 00:05:11.890 A w przeciwnym razie - czerwony. 00:05:12.865 --> 00:05:16.074 Super! I działa tak, jak miało być! 00:05:16.174 --> 00:05:19.487 Zatem liczba mniejsza od 1 znajduje się w tym przedziale. 00:05:19.587 --> 00:05:23.546 Inaczej, jeśli jest większa od 1 lub równa 1, ale też mniejsza od 2, 00:05:23.646 --> 00:05:26.472 będzie w tym przedziale, więc damy kolor żółty. 00:05:26.572 --> 00:05:31.766 Inaczej musi być większa lub równa 2, czyli z tego przedziału. 00:05:31.866 --> 00:05:34.274 A tutaj nie powiemy: 00:05:34.374 --> 00:05:39.289 „jeśli liczba jest mniejsza od 2, i jest mniejsza od 3, 00:05:39.389 --> 00:05:44.468 bo jeśli liczba jest mniejsza od 1, to jest też mniejsza od 2 i 3. 00:05:44.568 --> 00:05:46.697 Moneta zawsze więc będzie czerwona. 00:05:46.797 --> 00:05:50.458 Dlatego, w tym przypadku, „if-else” bardzo się przydaje.