1 00:00:01,312 --> 00:00:03,552 Graliśmy w rzut monetą. 2 00:00:03,652 --> 00:00:06,495 Generowaliśmy liczby losowe między 0 a 1 3 00:00:06,595 --> 00:00:12,040 i zaokrąglaliśmy je do najbliższej liczby całkowitej. Czyli do 0 lub 1. 4 00:00:12,140 --> 00:00:14,907 Zilustrowaliśmy to realistyczną monetą 5 00:00:15,007 --> 00:00:18,877 - elipsą w kolorze fioletowym lub żółtym, zależnie od liczby. 6 00:00:18,977 --> 00:00:22,755 Zaprogramowaliśmy to. Mówimy, że jeśli „integer” jest równe 0, 7 00:00:22,855 --> 00:00:26,121 to wypełnienie ma być fioletowe. Inaczej - żółte. 8 00:00:26,221 --> 00:00:27,794 I rysujemy monetę. 9 00:00:27,894 --> 00:00:30,998 Ale teraz moja moneta ma 3 strony. 10 00:00:31,098 --> 00:00:33,785 Tak, trójstronna moneta! Dodajmy 3. stronę. 11 00:00:33,885 --> 00:00:37,198 Zacznę od liczby z przedziału 0-2. 12 00:00:37,298 --> 00:00:41,865 Po zaokrągleniu uzyskamy 0, 1 lub 2. 13 00:00:41,965 --> 00:00:45,557 W naszym programie do rysowania ujęliśmy tylko 2 przypadki. 14 00:00:45,657 --> 00:00:48,831 Dla „integer=0” elipsa jest fioletowa, inaczej - żółta. 15 00:00:48,931 --> 00:00:51,801 Teraz „inaczej” może oznaczać 1 albo 2. 16 00:00:51,885 --> 00:00:55,008 A gdybym zrobiła to samo, co wcześniej... 17 00:00:55,108 --> 00:00:58,003 ale w tym bloku „else”... Powiem: 18 00:00:58,103 --> 00:01:00,610 jeśli „integer” będzie równe 1, 19 00:01:00,710 --> 00:01:04,852 to wypełnienie zrobi się żółte, jak przedtem, 20 00:01:04,953 --> 00:01:07,430 a w przeciwnym razie 21 00:01:07,530 --> 00:01:11,053 będzie to czerwień. Ładny kolor! 22 00:01:11,153 --> 00:01:15,371 Tzn. dla „integer” równego 0 kolor będzie fioletowy, 23 00:01:15,471 --> 00:01:18,576 inaczej, dla 1, będzie żółty. 24 00:01:18,676 --> 00:01:24,265 Inaczej, jeśli nie będzie 0 ani 1, to musi być 2 - i czerwień. 25 00:01:24,365 --> 00:01:28,537 Kilka razy wciskam „restart”. To działa! 26 00:01:28,637 --> 00:01:32,020 Gdybym chciała dodać więcej stron do monety, 27 00:01:32,120 --> 00:01:35,716 mogę tutaj zaznaczyć 0-3, wejść głębiej w blok „else”, 28 00:01:35,816 --> 00:01:38,237 dodać więcej instrukcji „if-else” itd. 29 00:01:38,337 --> 00:01:40,124 Masa zagnieżdżonych bloków! 30 00:01:40,224 --> 00:01:43,607 Wtedy zobaczycie, że ten program jest okropny! 31 00:01:43,707 --> 00:01:48,204 Program ma być czytelny, a nie pogmatwany! 32 00:01:49,040 --> 00:01:50,550 Zrobimy tak: 33 00:01:50,650 --> 00:01:55,470 mając jedną instrukcję warunkową albo jedno „if-else” w bloku „else”, 34 00:01:55,570 --> 00:01:58,597 nie robimy nic innego poza tymi blokami, 35 00:01:58,697 --> 00:02:04,664 nie ustalamy koloru pędzla, nie ma więcej instrukcji warunkowych. 36 00:02:04,764 --> 00:02:08,499 Mamy jedną instrukcję warunkową, może z blokiem „else”. 37 00:02:08,598 --> 00:02:13,236 Możemy połączyć ten warunek z poprzednim wierszem i powiedzieć: 38 00:02:13,336 --> 00:02:17,346 inaczej, jeśli „integer” równa się 1, wypełnienie ma być żółte. 39 00:02:17,446 --> 00:02:22,500 A ostatni blok „else” nie jest zagnieżdżony. Siedzi sam na końcu. 40 00:02:22,600 --> 00:02:27,307 Świetnie! Teraz: jeśli „integer” jest równe 0, kolor ma być fioletowy, 41 00:02:27,407 --> 00:02:30,442 inaczej, dla „integer” równego 1, kolor ma być żółty, 42 00:02:30,542 --> 00:02:34,366 inaczej, jeśli oba te stwierdzenia są fałszywe, ma być czerwony. 43 00:02:34,466 --> 00:02:37,427 Kilka razy wcisnę „restart” i widzicie - to działa! 44 00:02:37,527 --> 00:02:41,757 Świetnie! W dodatku możemy mieć tyle „if-else”, ile chcemy. 45 00:02:41,857 --> 00:02:46,115 Będzie łatwo dodać więcej stron monety. Zróbmy to teraz. 46 00:02:46,215 --> 00:02:48,275 Dajmy liczbę od 0 do 3 47 00:02:48,375 --> 00:02:51,340 i dołóżmy jeszcze jeden blok „else”: 48 00:02:51,440 --> 00:02:56,076 jeśli „integer” jest równe 2, 49 00:02:56,176 --> 00:02:59,815 to zrobimy wypełnienie... już jest czerwień, niech zostanie. 50 00:02:59,915 --> 00:03:03,391 I ostatni blok „else” będzie dla „integer” równego 3. 51 00:03:03,491 --> 00:03:05,364 Zrobi się niebiesko. 52 00:03:06,247 --> 00:03:07,570 Wspaniale! 53 00:03:08,522 --> 00:03:13,050 Dobrze. Zawsze trzeba zacząć od instrukcji warunkowej, 54 00:03:13,150 --> 00:03:16,394 a potem możecie zrobić tyle „if-else”, ile chcecie. 55 00:03:16,494 --> 00:03:19,989 Ten ostatni jest opcjonalny. Poradzimy sobie bez niego. 56 00:03:20,089 --> 00:03:23,812 Jeśli to wszystko będzie fałszywe, te bloki nie zostaną wykonane. 57 00:03:23,912 --> 00:03:26,889 Ale dopóki mamy to tutaj, 58 00:03:26,989 --> 00:03:29,815 wykonany zostanie jeden blok. 59 00:03:30,465 --> 00:03:31,285 Fajnie? 60 00:03:31,385 --> 00:03:34,227 W tym przypadku nie ma znaczenia, 61 00:03:34,327 --> 00:03:36,781 czy powiecie „if-else”, „if-else”... 62 00:03:36,881 --> 00:03:40,235 czy użyjecie zwykłych instrukcji warunkowych. 63 00:03:40,335 --> 00:03:45,744 Gdy „integer” jest równe 3. 64 00:03:45,844 --> 00:03:47,612 Bo nie ma możliwości, by liczba 65 00:03:47,712 --> 00:03:51,283 jednocześnie równała się 0, 1, 2 i 3. 66 00:03:51,384 --> 00:03:54,196 Te warunki wykluczają się wzajemnie. 67 00:03:54,296 --> 00:03:56,777 Zostanie uruchomiony tylko jeden blok. 68 00:03:56,877 --> 00:04:01,580 Ale nie zawsze tak jest. A gdybyśmy nie chcieli zaokrąglać? 69 00:04:01,680 --> 00:04:06,177 Pozbędę się tego zaokrąglenia i rysowania na ekranie. 70 00:04:07,269 --> 00:04:09,521 Dodajmy do gry nowe zasady. 71 00:04:09,621 --> 00:04:12,725 Nadal generuję liczbę od 0 do 3; 72 00:04:13,491 --> 00:04:16,603 dołożymy trochę punktów na osi liczbowej. 73 00:04:16,702 --> 00:04:22,942 Powiedzmy, że dla liczby z przedziału od 0 do 1 kolor będzie fioletowy. 74 00:04:23,042 --> 00:04:26,121 Niewyraźnie zapisałam. Ale to nic. 75 00:04:26,221 --> 00:04:30,257 Dla liczby z przedziału od 1 do 2 kolor będzie żółty. 76 00:04:31,209 --> 00:04:35,179 A dla przedziału 2-3 będzie czerwony. 77 00:04:35,279 --> 00:04:39,219 Dobrze! Zobaczmy, jak to zrobić z poleceniami „if-else”. 78 00:04:39,319 --> 00:04:43,840 Najpierw: jeśli liczba jest mniejsza od 1... 79 00:04:43,940 --> 00:04:49,483 Jeśli jest mniejsza od 1, a wiem, że należy do przedziału 0-3, 80 00:04:50,713 --> 00:04:52,873 to kolor będzie fioletowy. 81 00:04:55,729 --> 00:05:00,814 Inaczej, dla liczby mniejszej od 2, 82 00:05:00,914 --> 00:05:05,412 ustawię kolor żółty... 255... 83 00:05:06,364 --> 00:05:11,890 A w przeciwnym razie - czerwony. 84 00:05:12,865 --> 00:05:16,074 Super! I działa tak, jak miało być! 85 00:05:16,174 --> 00:05:19,487 Zatem liczba mniejsza od 1 znajduje się w tym przedziale. 86 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, 87 00:05:23,646 --> 00:05:26,472 będzie w tym przedziale, więc damy kolor żółty. 88 00:05:26,572 --> 00:05:31,766 Inaczej musi być większa lub równa 2, czyli z tego przedziału. 89 00:05:31,866 --> 00:05:34,274 A tutaj nie powiemy: 90 00:05:34,374 --> 00:05:39,289 „jeśli liczba jest mniejsza od 2, i jest mniejsza od 3, 91 00:05:39,389 --> 00:05:44,468 bo jeśli liczba jest mniejsza od 1, to jest też mniejsza od 2 i 3. 92 00:05:44,568 --> 00:05:46,697 Moneta zawsze więc będzie czerwona. 93 00:05:46,797 --> 00:05:50,458 Dlatego, w tym przypadku, „if-else” bardzo się przydaje.