0:00:02.596,0:00:08.219 Mamy różne części mowy, np. rzeczownik,[br]przymiotnik, przyimek i czasownik. 0:00:08.319,0:00:12.051 Obowiązują zasady ich łączenia. 0:00:12.151,0:00:15.537 Gdybym powiedziała np. „Pies... 0:00:15.637,0:00:19.249 książki… mój… je”, 0:00:19.349,0:00:21.757 spytalibyście: „Co to znaczy?”. 0:00:21.857,0:00:23.846 Może nie zdawaliście sobie sprawy, 0:00:23.946,0:00:28.490 ale nie ustawia się dwóch rzeczowników[br]przed przymiotnikiem i czasownikiem. 0:00:28.590,0:00:30.559 Gdybym zmieniła kolejność: 0:00:30.659,0:00:36.441 „Mój pies je książki”,[br]zrozumielibyście doskonale. 0:00:37.035,0:00:40.044 Mogłabym zamienić[br]czasownik „je” na inny, 0:00:40.588,0:00:44.584 np. „rzuca”.[br]Miałoby to sens gramatyczny, 0:00:44.684,0:00:47.699 choć trudno sobie wyobrazić[br]psa rzucającego książkę. 0:00:47.799,0:00:51.661 W programowaniu zamiast części[br]mowy mamy typy danych. 0:00:51.761,0:00:54.089 Jeden już widzieliście: liczby. 0:00:54.189,0:00:56.587 Używamy ich w programach[br]do rysowania. 0:00:56.687,0:01:01.002 I tak, jak w języku, czasami użycie[br]liczby ma sens, a czasami nie. 0:01:01.102,0:01:05.549 Gdybym w funkcji tła[br]wpisała „100 minus”, 0:01:06.153,0:01:08.382 to obok powinna znaleźć się liczba 0:01:08.482,0:01:13.166 lub coś, co da liczbę, np. „14 + 15”. 0:01:14.280,0:01:16.344 A gdybym wklepała „100” i spację, 0:01:16.444,0:01:20.573 nie mogłabym po tym dać liczby, 0:01:20.673,0:01:22.988 bo „100 spacja 10” nic nie znaczy. 0:01:23.798,0:01:27.639 W programowaniu mamy też[br]typ logiczny, inaczej boolowski. 0:01:27.739,0:01:33.228 Nazywa się „boolowski”,[br]bo wymyślił go George Boole. 0:01:34.412,0:01:37.404 Liczby mają mnóstwo różnych wartości, 0:01:37.504,0:01:41.935 a dane logiczne tylko dwie:[br]prawdę lub fałsz. 0:01:42.771,0:01:46.987 Gdy je wpisuję, robią się niebieskie.[br]To wyjątkowe, świetne słowa! 0:01:47.087,0:01:50.553 Używaliście już danych logicznych,[br]choć może nieświadomie, 0:01:50.653,0:01:53.389 w instrukcjach warunkowych.[br]Powtórzmy. 0:01:53.489,0:01:55.844 Zrobię zmienną „liczba”... 0:01:55.944,0:01:59.118 i przypiszę jej liczbę: 40. 0:01:59.218,0:02:02.601 Napiszę instrukcję warunkową:[br]„Jeśli liczba 0:02:02.701,0:02:05.318 jest mniejsza od 50, 0:02:06.304,0:02:09.845 to narysuję pierwszą elipsę”. 0:02:10.479,0:02:12.759 Skopiuję to do instrukcji 0:02:12.859,0:02:15.025 i przesunę tabulatorem. 0:02:17.113,0:02:21.162 Instrukcja mówi: „Jeśli liczba[br]jest mniejsza od 50” (a jest!), 0:02:21.262,0:02:22.895 to narysujemy górną elipsę”. 0:02:22.995,0:02:26.935 Jeśli wpiszę liczbę większą od 50,[br]górna elipsa zniknie. 0:02:28.219,0:02:32.601 To coś w nawiasie[br]- to wyrażenie logiczne. 0:02:32.701,0:02:34.952 Wyrażeniem matematycznym jest to, 0:02:35.052,0:02:39.783 co przybiera wartość liczby,[br]np. 3 plus 2 plus 4 razy 8. 0:02:40.357,0:02:43.700 A wyrażenie logiczne[br]przybiera wartość logiczną. 0:02:43.800,0:02:46.655 Czy coś jest wyrażeniem logicznym, 0:02:46.755,0:02:50.039 sprawdzimy, dopisując „czy?”[br]i czytając to pytająco. 0:02:50.139,0:02:53.801 Gdy można odpowiedzieć „tak lub nie”[br]- wyrażenie jest logiczne. 0:02:53.901,0:02:56.866 Tu spytamy: „Czy liczba[br]jest mniejsza od 50?”. 0:02:56.966,0:03:00.419 Jest. I mamy wyrażenie logiczne. 0:03:00.519,0:03:03.623 A gdybym miała np. „4 + 4” 0:03:03.863,0:03:07.331 i spróbowała spytać: „Czy 4 + 4?”... 0:03:07.431,0:03:10.411 Nie. To nie jest wyrażenie logiczne. 0:03:10.511,0:03:14.010 Wróćmy do instrukcji.[br]W nawiasie mogę wpisać wszystko, 0:03:14.110,0:03:17.299 byle były to dane logiczne[br]lub wyrażenie logiczne. 0:03:17.399,0:03:20.991 Mogę napisać: „Jeśli to prawda...”[br]i pojawi się elipsa, 0:03:21.091,0:03:24.405 albo „Jeśli fałsz” - i elipsy nie będzie. 0:03:24.505,0:03:28.375 Mogłabym wpisać np.:[br]„jeśli 3 jest mniejsze od 4”. 0:03:28.475,0:03:31.440 To zawsze prawdziwe[br]stwierdzenie logiczne. 0:03:31.540,0:03:34.227 Nie ma sensu pisać[br]- elipsa będzie zawsze. 0:03:34.327,0:03:37.919 A „3 większe od 4”[br]zawsze będzie fałszem. 0:03:38.019,0:03:40.659 Mogę przypisywać[br]dane logiczne zmiennym: 0:03:40.759,0:03:42.609 zrobię nową zmienną, 0:03:42.709,0:03:47.416 nazwę ją „Winston jest fajny” 0:03:48.227,0:03:51.433 i przypiszę jej wartość[br]logiczną - prawdę lub fałsz. 0:03:51.533,0:03:54.150 Prawdę, bo Winston fajny jest! 0:03:54.250,0:03:56.820 Gdy ta zmienna ma wartość logiczną, 0:03:56.920,0:04:00.558 mogę ją skopiować[br]i wkleić do instrukcji warunkowej. 0:04:02.619,0:04:06.944 Pojawia się elipsa, bo wartość[br]„Winston jest fajny” to „prawda”. 0:04:07.044,0:04:11.263 Mogłabym to też zastąpić[br]wyrażeniem logicznym, 0:04:11.363,0:04:13.910 np. „2 mniejsze od 4”. 0:04:15.233,0:04:18.298 Pisząc zmienną[br]dla wartości logicznej, 0:04:18.398,0:04:21.363 zawrzyjcie w nazwie warunek[br]jej prawdziwości. 0:04:21.463,0:04:24.051 Aby sprawdzić,[br]czy wybraliśmy dobrą nazwę, 0:04:24.151,0:04:27.470 zobaczmy, czy miałaby sens[br]w instrukcji warunkowej. 0:04:27.570,0:04:30.605 Zostawmy „Winston jest fajny”;[br]wiemy, że to prawda. 0:04:30.705,0:04:33.879 Weźmy zmienną „babeczki”. 0:04:33.979,0:04:37.176 No dobrze. „Jeśli babeczki”. Hmmm... 0:04:37.276,0:04:41.240 Nic to nie mówi. Zła nazwa zmiennej. 0:04:41.340,0:04:45.071 Ale gdybym napisała:[br]„Jeśli babeczki się pieką”... 0:04:45.171,0:04:48.899 wiedzielibyśmy,[br]że gdy ta zmienna jest prawdziwa, 0:04:48.999,0:04:50.644 to babeczki się pieką. 0:04:50.744,0:04:53.958 Nie pytajcie, jakie babeczki.[br]To nieistotne. 0:04:54.058,0:04:58.074 Wróćmy do „Jeśli liczba[br]jest mniejsza od 50”. 0:04:58.771,0:04:59.828 Super! 0:05:00.258,0:05:02.277 Poznajmy inne wyrażenia logiczne. 0:05:02.377,0:05:05.481 Widzieliście już[br]„mniejsze niż” i „większe niż”. 0:05:05.581,0:05:08.686 Można też sprawdzić,[br]czy coś jest „mniejsze lub równe”. 0:05:08.786,0:05:12.726 Spróbujmy: „Jeśli liczba[br]jest mniejsza lub równa 48”. 0:05:12.826,0:05:15.025 Możemy też powiedzieć: 0:05:15.125,0:05:19.297 „Jeśli liczba jest większa[br]lub równa 48”. 0:05:20.481,0:05:23.546 Jeśli tak, pojawi się[br]prawa górna elipsa. 0:05:25.218,0:05:26.727 Wcięcie. 0:05:27.262,0:05:31.514 A chcąc sprawdzić, czy dwie rzeczy[br]są sobie równe, powiecie: 0:05:31.614,0:05:36.875 „Jeśli liczba”... i trzy znaki[br]równości, 48. 0:05:39.206,0:05:43.910 Takich znaków równości używacie[br]w matematyce, tylko że tu są trzy. 0:05:44.514,0:05:46.070 Myślicie, że to przesada? 0:05:46.170,0:05:52.177 A gdy chcemy sprawdzić,[br]czy dwie rzeczy są sobie nierówne, 0:05:52.277,0:05:57.447 piszecie „Jeśli liczba”, wykrzyknik,[br]dwa znaki równości i 48. 0:05:59.421,0:06:02.626 I narysujemy ostatnią elipsę. 0:06:03.677,0:06:07.850 Wróćmy do początku.[br]Nasza liczba to 48. 0:06:07.950,0:06:11.751 Jest mniejsza lub równa 48,[br]mamy więc lewą górną elipsę. 0:06:11.851,0:06:14.444 Jest też większa lub równa 48. 0:06:14.544,0:06:16.333 I równa 48! 0:06:16.433,0:06:21.225 Ale nie jest nierówna 48,[br]dlatego brakuje prawej dolnej elipsy. 0:06:21.325,0:06:25.544 Zmieniając liczby, zobaczycie,[br]które elipsy się pojawiają. 0:06:26.867,0:06:29.445 Już wiecie, jak działają[br]wyrażenia logiczne. 0:06:29.545,0:06:33.386 Tak jak wyrażenia matematyczne,[br]mogą być bardzo skomplikowane. 0:06:33.486,0:06:35.621 O tym pomówimy kiedy indziej.