1 00:00:08,483 --> 00:00:11,477 [Powered by Google Translate] [ROCK MUSIC] 2 00:00:32,435 --> 00:00:35,429 [MUZYKA - "Happy Together" The Turtles] 3 00:01:27,330 --> 00:01:30,170 DAVID Malan: Dziś rozpoczynamy eksplorację 4 00:01:30,170 --> 00:01:32,710 Podstawy informatyki i naszej wprowadzenie, 5 00:01:32,710 --> 00:01:35,070 Teraz, w dziedzinie programowania, w którym to 6 00:01:35,070 --> 00:01:36,260 tylko jeden przykład. 7 00:01:36,260 --> 00:01:39,600 Ale w tym samym duchu, rozwiązywania problemów, wiem, że 8 00:01:39,600 --> 00:01:42,080 Tradycyjny Dzień CS50 w Puzzle to jutro. 9 00:01:42,080 --> 00:01:45,190 Jeśli nie zostały jeszcze RSVPed dla tego wydarzenia, można przejść do 10 00:01:45,190 --> 00:01:47,510 cs50.net/rsvp. 11 00:01:47,510 --> 00:01:50,940 Można przynieść zespoły z dwóch lub trzech lub czterech. 12 00:01:50,940 --> 00:01:53,080 Będziesz być kwestionowane z problemami takimi jak ten, który widział 13 00:01:53,080 --> 00:01:54,190 tam na początku. 14 00:01:54,190 --> 00:01:57,000 Wszystkie nowe problemy w tym roku, jeśli zjedli w zeszłym roku, a 15 00:01:57,000 --> 00:01:59,680 będą mogli następnie do wygrania wspaniałych nagród. 16 00:01:59,680 --> 00:02:02,750 Wśród nich, Wii i niektóre bony i podobne, 17 00:02:02,750 --> 00:02:05,650 a jednocześnie spędzać czas z CS50 studentów i kolegów 18 00:02:05,650 --> 00:02:07,720 i pizza i Facebook. 19 00:02:07,720 --> 00:02:10,430 Więc bardziej na tym jutro, jeśli chcesz. 20 00:02:10,430 --> 00:02:13,330 >> Jest to zatem CS50, dla tych z Was, przyłączenie się do nas 21 00:02:13,330 --> 00:02:14,510 pierwszy raz. 22 00:02:14,510 --> 00:02:18,030 I wiem, że ten kurs jest szczególnie zdeterminowany, aby 23 00:02:18,030 --> 00:02:22,605 ty przez to oczywiście do jego celu, w którym momencie ci 24 00:02:22,605 --> 00:02:24,270 będzie nie tylko zrozumienie tych 25 00:02:24,270 --> 00:02:26,450 Podstawy informatyki, ale trzeba będzie 26 00:02:26,450 --> 00:02:29,120 to bardzo praktyczny zestaw umiejętności, które można następnie zabrać z powrotem do 27 00:02:29,120 --> 00:02:31,370 Twój własny dział, czy to nauki techniczne, 28 00:02:31,370 --> 00:02:33,570 matematyka stosowana, nauki fizyczne, naturalne 29 00:02:33,570 --> 00:02:34,780 Science, lub tym podobne. 30 00:02:34,780 --> 00:02:37,030 Rzeczywiście, co jest tak ekscytujące informatyki tych 31 00:02:37,030 --> 00:02:39,900 dzień jest to, że jest po prostu to zastosowanie 32 00:02:39,900 --> 00:02:40,990 najróżniejszych dziedzinach. 33 00:02:40,990 --> 00:02:46,210 I choć dziś, będziemy tylko porysować powierzchnię 34 00:02:46,210 --> 00:02:49,020 bardzo tradycyjny język programowania znany jako C, dowiemy 35 00:02:49,020 --> 00:02:51,040 zamiast patrzeć na coś o nazwie Scratch, coś z 36 00:02:51,040 --> 00:02:53,420 których historia miłosna Cookie został zrealizowany przez jednego z 37 00:02:53,420 --> 00:02:57,020 poprzednicy w poprzednich latach, opowiadać historie, tworzyć gry, 38 00:02:57,020 --> 00:03:00,060 tworzenie interaktywnej sztuki, i zacząć zawinąć do naszego 39 00:03:00,060 --> 00:03:02,240 umysły w niektóre z podstawowych elementów, na które 40 00:03:02,240 --> 00:03:05,390 leżą u podstaw programowania, ale w kontekście, jak zobaczysz, że to 41 00:03:05,390 --> 00:03:09,140 znacznie mniej przerażające, to jest znacznie mniej tajemniczym, niż widać 42 00:03:09,140 --> 00:03:10,140 przed długi. 43 00:03:10,140 --> 00:03:12,410 I uświadomić sobie, też, dla tych z Was tylko dołączy do nas w tym 44 00:03:12,410 --> 00:03:16,170 semestr, zwroty, na którym skończyło wykład środę, 45 00:03:16,170 --> 00:03:20,260 to nie jest tak ważne, gdzie kończy się w stosunku do swojej 46 00:03:20,260 --> 00:03:22,950 koledzy w tej klasie, ale dokąd się wybierasz, przez koniec semestru 47 00:03:22,950 --> 00:03:27,190 w 11 tygodniu, kończy się w stosunku do siebie prawo tego dnia. 48 00:03:27,190 --> 00:03:32,000 >> Więc bez zbędnych ceregieli, to warto zauważyć, że 49 00:03:32,000 --> 00:03:34,450 te mniej wygodne, te gdzieś pomiędzy, są 50 00:03:34,450 --> 00:03:36,825 także, wzorem tego oczywiście nie w niekorzystnej sytuacji 51 00:03:36,825 --> 00:03:38,760 vis-a-vis tych bardziej wygodne 52 00:03:38,760 --> 00:03:39,920 wejścia w tej klasie. 53 00:03:39,920 --> 00:03:41,810 Jak zobaczysz w ciągu najbliższych tygodniach, mamy różne 54 00:03:41,810 --> 00:03:44,600 utwory na tle zróżnicowanych pleców, sekcje dla tych 55 00:03:44,600 --> 00:03:46,500 mniej wygodne, bardziej komfortowe, ci gdzieś 56 00:03:46,500 --> 00:03:47,250 pomiędzy. 57 00:03:47,250 --> 00:03:49,520 Jak zobaczymy w ten weekend i następny tydzień, dwie wersje 58 00:03:49,520 --> 00:03:52,410 większość zestawów problemów zarówno w edycji standardowej i hakerów tak 59 00:03:52,410 --> 00:03:55,390 że wszystko może samodzielnie wybrać na ścieżkę, z którą 60 00:03:55,390 --> 00:03:56,615 są najbardziej komfortowe. 61 00:03:56,615 --> 00:03:58,770 >> Więc dziś mamy zanurkować tego programowania 62 00:03:58,770 --> 00:04:00,060 język nazywany zera. 63 00:04:00,060 --> 00:04:02,250 Jest to graficzny język programowania, a mimo to ma 64 00:04:02,250 --> 00:04:04,500 same cechy niektórych z wyższych poziomów Będziemy językach 65 00:04:04,500 --> 00:04:07,050 zbadania później w połowie, w tym C, 66 00:04:07,050 --> 00:04:08,670 JavaScript i PHP. 67 00:04:08,670 --> 00:04:11,890 Ale to się dzieje, co pozwala nam uniknąć pewnych zakłóceń 68 00:04:11,890 --> 00:04:14,890 wcześnie składni, rzeczy takie jak średniki, nawiasy, 69 00:04:14,890 --> 00:04:17,720 oraz inne tajemne szczegóły, które na pierwszy rzut oka, to po prostu nie 70 00:04:17,720 --> 00:04:19,916 wcale intelektualnie ciekawa i stają się w 71 00:04:19,916 --> 00:04:22,310 sposób z pewnym fundamentalnym zrozumieniem. 72 00:04:22,310 --> 00:04:24,870 Pod względem struktury nośnej teraz przed, sobie z tego sprawę 73 00:04:24,870 --> 00:04:27,570 narzędzie, CS50 Dyskusja, która będzie powiązana na Kursu 74 00:04:27,570 --> 00:04:30,320 strona później dzisiaj, jest forum internetowe dyskusje w 75 00:04:30,320 --> 00:04:32,480 której będziesz w stanie zadawać pytania sobie nawzajem i 76 00:04:32,480 --> 00:04:35,020 personel, i jest to także narzędzie, jak zobaczymy w przyszłym tygodniu, 77 00:04:35,020 --> 00:04:37,240 że użyjemy dość integratedly w 78 00:04:37,240 --> 00:04:38,780 godziny pracy, jak również. 79 00:04:38,780 --> 00:04:41,670 Rzeczywiście, godziny pracy rozpocznie się w poniedziałek, i szczerze mówiąc, pierwszy 80 00:04:41,670 --> 00:04:43,930 tydzień godzinami pracy jest dość niski klucz. 81 00:04:43,930 --> 00:04:46,820 >> Nie sądzę, że znajdziesz wszystko, Scratch niedostępne. 82 00:04:46,820 --> 00:04:48,930 To raczej oczywiste, jak zobaczymy, a więc to, co 83 00:04:48,930 --> 00:04:51,380 użyjemy go na dziś jest, aby wyodrębnić niektóre z 84 00:04:51,380 --> 00:04:53,990 podstawowe idee, które, następnie, utrzymują się przez 85 00:04:53,990 --> 00:04:54,900 Reszta semestru. 86 00:04:54,900 --> 00:04:57,980 Jednak począwszy poniedziałek, o 8:00 wieczorem przez 23:00 będzie 87 00:04:57,980 --> 00:05:01,530 godziny urzędowania w Annenberg ponad przerwie mózgu. 88 00:05:01,530 --> 00:05:04,490 Cięcie dwa rozpocznie dziś wieczorem, więc jeszcze w tym 89 00:05:04,490 --> 00:05:07,260 weekend, idź do cs50.net/section, i będziesz 90 00:05:07,260 --> 00:05:08,530 zostać poproszony kilka pytań. 91 00:05:08,530 --> 00:05:10,290 Wśród nich, jak można opisać 92 00:05:10,290 --> 00:05:12,040 poziom komfortu jak dzisiaj? 93 00:05:12,040 --> 00:05:14,450 Nie ma twardy, szybki przepis, kto znajduje się w której łyżka. 94 00:05:14,450 --> 00:05:17,170 To jest po prostu coś takiego, że zapewne wiesz, jeśli 95 00:05:17,170 --> 00:05:20,280 należą do tych mniej wygodne lub nie. 96 00:05:20,280 --> 00:05:21,350 >> A teraz, solucje. 97 00:05:21,350 --> 00:05:24,020 Szczegółowy zestaw Problem w tym tygodniu, zarówno standardowych, jak 98 00:05:24,020 --> 00:05:28,560 i wydanie hacker podobne, jest w Internecie na cs50.net już teraz. 99 00:05:28,560 --> 00:05:31,500 I zobaczysz, że pierwszy z tych wydań, 100 00:05:31,500 --> 00:05:33,940 Standard Edition w każdym tygodniu, towarzyszy coś, czego 101 00:05:33,940 --> 00:05:36,550 wywołać przegląd kodu, sesja prowadzona przez jednego z 102 00:05:36,550 --> 00:05:39,100 Oczywiście bliźnich nauczania, aby poprowadzić Cię przez, zapewniają 103 00:05:39,100 --> 00:05:42,290 porady na temat, i dostać na dół szczególną drogę, jeśli chodzi 104 00:05:42,290 --> 00:05:44,150 rozpoczęciem tych zestawów problemów. 105 00:05:44,150 --> 00:05:46,790 Więc z każdym z tych problemów przedstawia, jeśli kiedykolwiek chce 106 00:05:46,790 --> 00:05:50,250 sam nie wiem od czego zacząć, rozpocząć z nimi 107 00:05:50,250 --> 00:05:50,890 solucje. 108 00:05:50,890 --> 00:05:53,450 A w rzeczywistości, pozwolić mi przedstawić Zamyla Chan, ten 109 00:05:53,450 --> 00:05:55,870 Tegoroczny gość nauczania, który będzie prowadzi każdego 110 00:05:55,870 --> 00:05:56,910 jeden z tych solucje. 111 00:05:56,910 --> 00:05:57,961 Zamyla? 112 00:05:57,961 --> 00:06:03,370 >> [Aplauz] 113 00:06:03,370 --> 00:06:03,975 ZAMYLA Chandler: Oh, cześć wszystkim. 114 00:06:03,975 --> 00:06:05,130 Nazywam się Zamyla. 115 00:06:05,130 --> 00:06:08,250 Jestem młodszy studiowania inżynierii w Winthrop House. 116 00:06:08,250 --> 00:06:10,890 Ale staram się w jak wielu kursach informatycznych, jak I 117 00:06:10,890 --> 00:06:13,350 może, dlatego jestem bardzo podekscytowany tym, aby być liderem 118 00:06:13,350 --> 00:06:14,590 Tegoroczni solucje. 119 00:06:14,590 --> 00:06:16,950 Solucje, jak dla mnie, były istotną częścią mojego CS50 120 00:06:16,950 --> 00:06:17,910 doświadczenie. 121 00:06:17,910 --> 00:06:22,710 Podczas tej procedury, dla każdego p-set, będziemy przechodzić przez 122 00:06:22,710 --> 00:06:25,580 Problem ustawić razem, spojrzeć na problemy, rodzaj 123 00:06:25,580 --> 00:06:27,360 podzielić je na zarządzaniu ugryzienia. 124 00:06:27,360 --> 00:06:28,990 Dam ci wskazówki, techniki, dla uzyskania 125 00:06:28,990 --> 00:06:30,820 przez i rozpoczęcie pracy. 126 00:06:30,820 --> 00:06:33,510 Mam nadzieję, że wszyscy się na solucje. 127 00:06:33,510 --> 00:06:34,720 Jeśli nie możesz zrobić to w osoby, a następnie 128 00:06:34,720 --> 00:06:36,580 proszę tune online. 129 00:06:36,580 --> 00:06:36,840 >> DAVID Malan: Excellent. 130 00:06:36,840 --> 00:06:37,950 Dziękuję, Zamyla. 131 00:06:37,950 --> 00:06:40,870 Więc sobie sprawę, że solucje są rzeczywiście w piątek 132 00:06:40,870 --> 00:06:43,110 południu, ale jest to celowe, aby przez projekt 133 00:06:43,110 --> 00:06:45,750 nawet jeśli nie chcesz uczestniczyć klasy w piątek 134 00:06:45,750 --> 00:06:48,490 popołudnie, filmy będzie się tym bardziej szybko na 135 00:06:48,490 --> 00:06:48,990 weekend. 136 00:06:48,990 --> 00:06:51,880 Więc sobie sprawę, że cs50.net będą wszystkie Zamyla'S 137 00:06:51,880 --> 00:06:53,130 solucje. 138 00:06:54,800 --> 00:06:56,890 I że jest dzisiejsza data i godzina, 3:00 PM, 139 00:06:56,890 --> 00:06:58,370 Harberd Hall, 104. 140 00:06:58,370 --> 00:07:00,080 A niektórzy z kolegów nauczania przygotowaliśmy 141 00:07:00,080 --> 00:07:03,250 kilka uwag dla Ciebie zaoczne dać trochę 142 00:07:03,250 --> 00:07:06,760 perspektywa, co ich doświadczenie i wejścia w 143 00:07:06,760 --> 00:07:08,990 wychodzi z CS50 było. 144 00:07:08,990 --> 00:07:11,250 Więc czy możemy przyciemnić światła na chwilę, dam ci 145 00:07:11,250 --> 00:07:18,100 niektórych pracowników CS50 jest. 146 00:07:18,100 --> 00:07:20,440 >> JACKSON Steinkamp: Wziąłem CS50 zeszłym roku jako student pierwszego roku w 147 00:07:20,440 --> 00:07:22,880 spada, a to absolutnie wiał mój umysł. 148 00:07:22,880 --> 00:07:25,090 Nigdy nie miały żadnych klas programowania przed, 149 00:07:25,090 --> 00:07:26,380 i nigdy nie przyszedł z żadnym informatyki 150 00:07:26,380 --> 00:07:27,320 wystąpić w ogóle. 151 00:07:27,320 --> 00:07:29,240 I właśnie, słyszałem buzz o klasie i 152 00:07:29,240 --> 00:07:30,050 postanowił wziąć. 153 00:07:30,050 --> 00:07:31,780 >> JULIA Mitelman: To było naprawdę zabawne, naprawdę wciągające. 154 00:07:31,780 --> 00:07:33,480 I nadal, do dziś - 155 00:07:33,480 --> 00:07:36,560 Właśnie niedawno zobaczyłem mam dyskietkę David dał nam 156 00:07:36,560 --> 00:07:38,140 na nasz pierwszy dzień wykładu. 157 00:07:38,140 --> 00:07:40,020 I powiesił go na ścianie. 158 00:07:40,020 --> 00:07:42,410 To jest chyba trochę drętwy, ale wisiał na moim 159 00:07:42,410 --> 00:07:46,930 Ściana w klasie jako przypomnienie jak fajne to było. 160 00:07:46,930 --> 00:07:49,240 >> TRAVIS DOWNS: To takie żenujące. 161 00:07:49,240 --> 00:07:50,770 >> JACKSON Steinkamp: Informatyka jest coś 162 00:07:50,770 --> 00:07:52,370 powinien spróbować, nawet jeśli nie jesteś jednym z 163 00:07:52,370 --> 00:07:54,980 tradycyjne nauki. 164 00:07:54,980 --> 00:07:58,510 To jego własne doświadczenie i CS50 będzie upewnij się że jesteś 165 00:07:58,510 --> 00:08:01,520 wspierane dobrze przez nią z jej prawdziwą armią TFS. 166 00:08:01,520 --> 00:08:03,700 >> ALI Nahm: Wziąłem go jako student pierwszego roku, i tak zrobiłem dużo 167 00:08:03,700 --> 00:08:04,215 nowych przyjaciół. 168 00:08:04,215 --> 00:08:07,170 I również wprowadzone do całej tej koncentracji i 169 00:08:07,170 --> 00:08:10,770 Cała szkoła inżynierii, i tak bardzo go polecam 170 00:08:10,770 --> 00:08:14,360 i zapraszamy do naszego CS50 rodziny. 171 00:08:14,360 --> 00:08:17,510 >> Yaniv YACOBY: CS50 tylko uczy, jak korzystać z narzędzi 172 00:08:17,510 --> 00:08:19,210 , które są powszechnie dostępne. 173 00:08:19,210 --> 00:08:21,840 Trzeba tylko laptopa, trzeba przeglądarki internetowej, a 174 00:08:21,840 --> 00:08:26,030 trzeba nauczyć się pisać jakiś kod i można naprawdę zbudować 175 00:08:26,030 --> 00:08:27,400 schludne rzeczy. 176 00:08:27,400 --> 00:08:31,660 >> KAREN XIAO: To tylko tak fajnie jest być w stanie dokonać czegoś 177 00:08:31,660 --> 00:08:34,580 i ludzie z niego korzystać i mają ludzie widzą to, i to jest 178 00:08:34,580 --> 00:08:35,900 co naprawdę uwielbiam. 179 00:08:35,900 --> 00:08:37,429 >> TIM McLaughlin: - poczucie wspólnoty, jak sądzę, w tym 180 00:08:37,429 --> 00:08:39,470 Kurs więcej niż jakikolwiek inny oczywiście wziąłem do tej pory. 181 00:08:39,470 --> 00:08:41,350 Nie jesteś po prostu przy innym - 182 00:08:41,350 --> 00:08:42,740 nie jesteś napełniania kolejny wymóg. 183 00:08:42,740 --> 00:08:45,310 Nie jesteś po prostu się do wykładów i przechodząc do sekcji. 184 00:08:45,310 --> 00:08:49,630 Ale robisz mnóstwo rzeczy, które są o 185 00:08:49,630 --> 00:08:51,560 programowanie i wszystko o technologii, ale tak nie jest 186 00:08:51,560 --> 00:08:53,090 ochoty klasie większość czasu. 187 00:08:53,090 --> 00:08:55,012 >> DOWNS Travis: A pierwszego dnia, rozdawali ciasto, i 188 00:08:55,012 --> 00:08:56,215 I natychmiast został sprzedany. 189 00:08:56,215 --> 00:08:57,822 >> JACOB PRITT: Darmowe słodycze i pizza. 190 00:08:57,822 --> 00:08:59,820 >> ZAMYLA CHAN: - niezależnie od poziomu oprocentowania, myślę, że 191 00:08:59,820 --> 00:09:05,170 CS50, że będziesz się dobrze bawić, a będziesz intelektualnie 192 00:09:05,170 --> 00:09:06,070 stymulowane. 193 00:09:06,070 --> 00:09:07,926 >> MARK GROZEN-Smith: To jest zawsze stroną w klasie, i to 194 00:09:07,926 --> 00:09:09,990 stron co noc pracy na p-set. 195 00:09:09,990 --> 00:09:11,880 >> JACKSON Steinkamp: Każde zakończyć zestaw problem, 196 00:09:11,880 --> 00:09:13,710 poczuje się jak skończysz projekt. 197 00:09:13,710 --> 00:09:16,580 >> MELISSA NIU: To był pierwszy rok, a ja zrobić zakupy. 198 00:09:16,580 --> 00:09:19,030 Miałem cztery klasy gotowy, a ja byłem w Annenberg. 199 00:09:19,030 --> 00:09:21,670 I wpadają na przyjaciela, a on mówi, hej, jestem na zakupy 200 00:09:21,670 --> 00:09:24,330 ta klasa nazywa CS50, i powinieneś iść ze mną. 201 00:09:24,330 --> 00:09:28,150 Skończyło się to w ten upadek, i po tej klasie, I 202 00:09:28,150 --> 00:09:30,510 Pomyślałem, że może będę moll w CS. 203 00:09:30,510 --> 00:09:33,760 Ale jestem tutaj, trzy lata później, wciąż studiuje komputer 204 00:09:33,760 --> 00:09:36,680 nauka i rzeczywiście robi to jako major, a ja kochałem każdy 205 00:09:36,680 --> 00:09:37,780 Chwila to. 206 00:09:37,780 --> 00:09:39,030 >> ROB BOWDEN: Nie mam pojęcia. 207 00:09:46,408 --> 00:09:48,060 >> ALI Nahm: Chcę zobaczyć. 208 00:09:48,060 --> 00:09:49,200 >> MELISSA NIU: Szaleństwo. 209 00:09:49,200 --> 00:09:50,610 >> SPEAKER 1: Czuję, że będę bardzo frazes. 210 00:09:50,610 --> 00:09:52,530 Chciałbym tylko powiedzieć, jak, niesamowite. 211 00:09:52,530 --> 00:09:53,540 >> Yaniv YACOBY: Dostępność. 212 00:09:53,540 --> 00:09:55,080 >> JACOB PRITT: Darmowe słodycze i pizza. 213 00:09:55,080 --> 00:09:57,310 >> TRAVIS DOWNS: nie można zmniejszyć klasy, która rozdaje ciasto. 214 00:09:57,310 --> 00:09:58,510 >> TIM McLaughlin: Energetyczne. 215 00:09:58,510 --> 00:10:00,040 >> Vipul Shekhawat: Essential. 216 00:10:00,040 --> 00:10:02,636 >> ROB BOWDEN: Pozwól mi się z odpowiedzią. 217 00:10:02,636 --> 00:10:04,480 Myślę, że coś mam. 218 00:10:04,480 --> 00:10:07,092 O, Boże. 219 00:10:07,092 --> 00:10:13,370 Tak, nazywam się Rob Bowden, a to CS50. 220 00:10:13,370 --> 00:10:16,340 >> [Aplauz] 221 00:10:20,810 --> 00:10:23,390 DAVID Malan: Dobrze, więc zacznijmy malować obraz 222 00:10:23,390 --> 00:10:26,230 z kierunku, w którym możemy iść i niech wprowadzi 223 00:10:26,230 --> 00:10:28,190 ta koncepcja tutaj znany jako Pseudokod. 224 00:10:28,190 --> 00:10:29,560 Więc pseudokod nie programowania 225 00:10:29,560 --> 00:10:30,810 język do siebie. 226 00:10:30,810 --> 00:10:33,250 To nic technicznego per se, ale to jest po prostu swego rodzaju 227 00:10:33,250 --> 00:10:36,490 ogólny sposób wyrażania siebie dość precyzyjnie, 228 00:10:36,490 --> 00:10:39,730 dość algorytmicznie, dość proceduralnie, ale bez 229 00:10:39,730 --> 00:10:42,570 martwiąc się o to, co język jesteś wyrażając 230 00:10:42,570 --> 00:10:43,150 Sam widok 231 00:10:43,150 --> 00:10:46,280 To jakiś model angielskiego i języków programowania z 232 00:10:46,280 --> 00:10:48,790 którym stało się znane, więc możemy zacząć 233 00:10:48,790 --> 00:10:50,600 pisząc takie rzeczy jak idziemy. 234 00:10:50,600 --> 00:10:54,450 A w rzeczywistości, Joseph, mogę pożyczyć na scenie będzie 235 00:10:54,450 --> 00:10:55,490 skryba tutaj? 236 00:10:55,490 --> 00:11:00,130 Poszedłem naprzód tu wcześniej i zapomniał umieścić 237 00:11:00,130 --> 00:11:02,920 na niektórych skarpetek dzisiaj, i to będzie między nasze więcej 238 00:11:02,920 --> 00:11:03,780 śmieszne przykłady. 239 00:11:03,780 --> 00:11:04,580 >> Teraz, potrzebuję cię tu. 240 00:11:04,580 --> 00:11:05,630 Zrobię część skarpetki. 241 00:11:05,630 --> 00:11:08,040 Więc tutaj mamy mały notatnik. 242 00:11:08,040 --> 00:11:09,940 To jest dosłownie TextEdit w Mac. 243 00:11:09,940 --> 00:11:12,270 Nie jesteśmy rzeczywiście zamiar napisać runnable program, ale 244 00:11:12,270 --> 00:11:14,220 jesteśmy po prostu zaczniemy szkicować pseudokod oparty 245 00:11:14,220 --> 00:11:17,830 na niektóre rady podasz mi tutaj. 246 00:11:17,830 --> 00:11:20,760 Więc tu jest mój stos skarpet w domu. 247 00:11:20,760 --> 00:11:23,320 Nie mam skarpetki kiedy budzę się rano, a teraz 248 00:11:23,320 --> 00:11:26,280 Potrzebuję napisać program, algorytm rodzaju, z którym 249 00:11:26,280 --> 00:11:27,900 aby te skarpetki na nogach. 250 00:11:27,900 --> 00:11:30,860 A po drodze, zobaczymy jeśli potknąć lub spotkać, 251 00:11:30,860 --> 00:11:32,860 niektóre z pomysłów, które masz zamiar zacząć 252 00:11:32,860 --> 00:11:35,470 myśli o wiele bardziej poważnie podczas programowania 253 00:11:35,470 --> 00:11:37,950 żeby twoje programy nie zachowują się dość poprawnie. 254 00:11:37,950 --> 00:11:39,580 >> Więc siedzę tutaj. 255 00:11:39,580 --> 00:11:41,180 Ja mam stos skarpetek. 256 00:11:41,180 --> 00:11:43,780 Co jest pierwszą rzeczą, by rozsądny człowiek 257 00:11:43,780 --> 00:11:46,600 zrobić, gdy celem jest umieścić na skarpetki? 258 00:11:46,600 --> 00:11:49,190 Ktoś dał mi jeden krok, a tylko jeden krok. 259 00:11:49,190 --> 00:11:49,796 Tak? 260 00:11:49,796 --> 00:11:50,690 PUBLICZNOŚCI: Pochyl. 261 00:11:50,690 --> 00:11:54,290 DAVID Malan: Pochyl się, w porządku. 262 00:11:54,290 --> 00:11:55,540 Kroku drugiego. 263 00:11:59,975 --> 00:12:00,645 Kroku drugiego. 264 00:12:00,645 --> 00:12:01,840 PUBLICZNOŚCI: Podnieś swoją skarpetkę. 265 00:12:01,840 --> 00:12:03,220 DAVID Malan: Podnieś swoją skarpetkę. 266 00:12:03,220 --> 00:12:07,610 Ok, więc nieznaczne niejasności tutaj, i jest to jeden z pierwszych 267 00:12:07,610 --> 00:12:09,380 potknięcia, że ​​powinniśmy się celowo 268 00:12:09,380 --> 00:12:10,290 spotkać tutaj. 269 00:12:10,290 --> 00:12:14,110 Jest to trochę niejasne, więc podnieś skarpetkę. 270 00:12:14,110 --> 00:12:17,425 Dobrze, wezmę ten jeden, ale komputer, zrealizować w zaledwie 271 00:12:17,425 --> 00:12:20,420 bit, nie będzie miał tego rodzaju ludzkiego instynktu tylko 272 00:12:20,420 --> 00:12:21,490 wybrać najbliższy. 273 00:12:21,490 --> 00:12:23,590 Mamy zamiar zacząć niebawem, wyrażając 274 00:12:23,590 --> 00:12:24,610 się bardziej precyzyjnie. 275 00:12:24,610 --> 00:12:26,600 >> W porządku, więc krok drugi to odebrać skarpetkę. 276 00:12:26,600 --> 00:12:27,520 Weźmiemy go. 277 00:12:27,520 --> 00:12:28,620 Krok trzy. 278 00:12:28,620 --> 00:12:29,532 Z tyłu. 279 00:12:29,532 --> 00:12:30,900 PUBLICZNOŚCI: Znajdź pary. 280 00:12:30,900 --> 00:12:32,060 DAVID Malan: znaleźć pasujące pary. 281 00:12:32,060 --> 00:12:34,740 Ok, więc to jest dobre. 282 00:12:34,740 --> 00:12:35,650 Musiałem wybrać tę skarpetkę. 283 00:12:35,650 --> 00:12:39,200 Więc celem jest znalezienie dopasowania skarpety, teraz, ale co 284 00:12:39,200 --> 00:12:39,990 to znaczy? 285 00:12:39,990 --> 00:12:42,130 Rozsądny człowiek, podobnie jak w środę, kiedy właśnie 286 00:12:42,130 --> 00:12:44,700 wiedział, jak odnaleźć Mike Smith w książce telefonicznej, tylko rodzaj 287 00:12:44,700 --> 00:12:45,640 Pojechałem z instynktem. 288 00:12:45,640 --> 00:12:49,220 Ale tutaj, to oczywiście ta skarpetka tutaj, ale komputer jak 289 00:12:49,220 --> 00:12:51,350 nie będzie tak instynktowne. 290 00:12:51,350 --> 00:12:53,830 Komputer będzie miał zbiór bitów, jak my 291 00:12:53,830 --> 00:12:55,380 omówione w środę, a te są 292 00:12:55,380 --> 00:12:56,710 zorganizowana jakoś w pamięci. 293 00:12:56,710 --> 00:13:00,400 Ale chodzi o to, że komputer ma tylko zdolność 294 00:13:00,400 --> 00:13:03,390 patrzeć na rzeczy po jednym na raz, w rzeczywistości, nawet my 295 00:13:03,390 --> 00:13:05,980 ludzie - mimo że czuje się jak spojrzałam w dół i podzielone 296 00:13:05,980 --> 00:13:08,900 sekund później wiem gdzie skarpetka jest mój mózg i moje oczy 297 00:13:08,900 --> 00:13:12,000 prawdopodobnie nie szybko przejrzeć te skarpetki, a następnie zablokowany 298 00:13:12,000 --> 00:13:13,400 do tego, o którym mowa. 299 00:13:13,400 --> 00:13:15,780 >> Jeśli więc się tym bardziej celowe teraz jak komputer, 300 00:13:15,780 --> 00:13:17,780 jak znaleźć tę pasującą parę? 301 00:13:17,780 --> 00:13:18,890 Cóż, mamy do iteracji. 302 00:13:18,890 --> 00:13:21,440 Musimy być może w pętli, tym bałaganie skarpetki 303 00:13:21,440 --> 00:13:25,760 piętro czym mówię coś DLA KAŻDEGO skarpety, odbierz 304 00:13:25,760 --> 00:13:30,195 w górę, a jeśli sam kształt i rozmiar jak drugi, THEN 305 00:13:30,195 --> 00:13:32,150 kropka, kropka, kropka, będziemy kontynuować historię. 306 00:13:32,150 --> 00:13:34,430 Więc dla każdego skarpety, więc mogę odebrać ten jeden. 307 00:13:34,430 --> 00:13:36,520 Sprawdzę to jest równa tej jednej. 308 00:13:36,520 --> 00:13:38,250 To nie jest, więc odłożył stronę. 309 00:13:38,250 --> 00:13:39,220 Potem iteracyjne ponownie. 310 00:13:39,220 --> 00:13:40,340 Czy jest to jeden równa? 311 00:13:40,340 --> 00:13:42,010 Nie, to nie jest, więc umieścić go na bok. 312 00:13:42,010 --> 00:13:42,710 Czy ten? 313 00:13:42,710 --> 00:13:43,200 Nie. 314 00:13:43,200 --> 00:13:43,670 Ta? 315 00:13:43,670 --> 00:13:44,520 Nie, i tak dalej. 316 00:13:44,520 --> 00:13:48,730 I w końcu, mam nadzieję, będę spotkać ten skarpetkę tutaj. 317 00:13:48,730 --> 00:13:51,350 Więc jeśli to jest ten sam kształt, rozmiar, weź. 318 00:13:51,350 --> 00:13:53,980 >> A teraz, co będzie kolejnym krokiem tutaj? 319 00:13:53,980 --> 00:13:54,402 Tak? 320 00:13:54,402 --> 00:13:56,090 PUBLICZNOŚCI: Identyfikacja prawej od lewej. 321 00:13:56,090 --> 00:13:58,980 DAVID Malan: Okay, określić prawej i lewej strony, tak 322 00:13:58,980 --> 00:14:01,870 Na szczęście, tego rodzaju prac. 323 00:14:01,870 --> 00:14:04,020 Mało symetryczny lub Właśnie nosić je w ten sposób. 324 00:14:04,020 --> 00:14:07,020 Dobrze, więc już zidentyfikowane prawo. 325 00:14:07,020 --> 00:14:09,980 A teraz, zanim będziemy kontynuować, pozwól mi wskazać, co Józefa 326 00:14:09,980 --> 00:14:12,890 robili tutaj jako swego rodzaju zorientowanych programista. 327 00:14:12,890 --> 00:14:15,800 Więc znowu, nie ma nikogo na to sposobem, ale poza tylko 328 00:14:15,800 --> 00:14:18,480 Numeracja linii, Joseph rozpoczął już to zrobić 329 00:14:18,480 --> 00:14:19,460 rodzaj wcięcia. 330 00:14:19,460 --> 00:14:21,950 Rzeczywiście, jest to bardzo często w konwencji programowania, 331 00:14:21,950 --> 00:14:26,110 przy czym, gdy zrobisz coś iteracyjny, zapętlenie styl, jak 332 00:14:26,110 --> 00:14:28,480 jesteśmy sugerując z angielskim zwrotem "dla każdego 333 00:14:28,480 --> 00:14:31,090 skarpety, "Konwencji w Pseudokod i, jak zobaczymy, 334 00:14:31,090 --> 00:14:33,410 normalne języki programowania, jest po prostu tiret. 335 00:14:33,410 --> 00:14:36,240 Nacisnąć spację kilka razy, naciśnij klawisz Tab lub podobne, 336 00:14:36,240 --> 00:14:40,660 tak, że zagnieżdżone pod "DLA KAŻDEGO skarpecie" to kawał 337 00:14:40,660 --> 00:14:43,430 rzeczy, które trzeba zrobić, w wyniku tej pętli. 338 00:14:43,430 --> 00:14:45,940 Tak się to wszystko, co jest przekazywanie semantycznie. 339 00:14:45,940 --> 00:14:48,620 Teraz Tymczasem "Jeśli jest taki sam kształt i rozmiar," 340 00:14:48,620 --> 00:14:51,590 Fakt, że "Take it" jest wcięty dalej tylko oznacza 341 00:14:51,590 --> 00:14:54,370 że to jedyna rzeczą jaką należy zrobić, jeśli tego warunku, 342 00:14:54,370 --> 00:14:59,770 jeśli oddział, że widelec w drodze, jest w istocie prawdziwą. 343 00:14:59,770 --> 00:15:02,130 >> Więc teraz, tutaj, jesteśmy na etapie czwartym zidentyfikować prawo i lewo. 344 00:15:02,130 --> 00:15:03,410 Mam określone prawo. 345 00:15:03,410 --> 00:15:05,150 Daj mi krok pięć. 346 00:15:05,150 --> 00:15:07,880 I technicznie, może naprawdę wywołać 347 00:15:07,880 --> 00:15:09,510 DLA KAŻDEJ rzeczy - 348 00:15:09,510 --> 00:15:11,450 powinieneś numeruje wszystkie linie jeśli 349 00:15:11,450 --> 00:15:12,190 mamy zamiar to zrobić. 350 00:15:12,190 --> 00:15:14,006 JOSEPH: [niesłyszalne] 351 00:15:14,006 --> 00:15:14,610 DAVID Malan: [niesłyszalne]? 352 00:15:14,610 --> 00:15:16,070 Ok, w porządku, w porządku, zrobimy to na swój sposób. 353 00:15:16,070 --> 00:15:19,590 W porządku, więc krok piąty, w jaki sposób zrobić dobry skarpetkę? 354 00:15:19,590 --> 00:15:22,310 Jak mamy postępować dalej, tutaj? 355 00:15:22,310 --> 00:15:22,730 Tak? 356 00:15:22,730 --> 00:15:24,300 PUBLICZNOŚCI: Unieś prawą nogę. 357 00:15:24,300 --> 00:15:27,100 DAVID Malan: Unieś prawą nogę, Okay. 358 00:15:27,100 --> 00:15:29,330 Krok szósty? 359 00:15:29,330 --> 00:15:30,728 Szybko. 360 00:15:30,728 --> 00:15:31,202 Tak. 361 00:15:31,202 --> 00:15:33,100 WIDOWNIA: znaleźć otwarty koniec skarpety. 362 00:15:33,100 --> 00:15:34,440 DAVID Malan: Okay, znajdź otwarty koniec skarpety. 363 00:15:34,440 --> 00:15:34,840 Tak dobry. 364 00:15:34,840 --> 00:15:37,180 Więc tutaj, szczerze mówiąc, bardzo często instynkt będzie tylko 365 00:15:37,180 --> 00:15:39,880 umieścić na prawej skarpety, ale to też jest dość niejednoznaczna. 366 00:15:39,880 --> 00:15:42,750 Chyba że komputer lub człowiek nie wie dokładnie, co to znaczy 367 00:15:42,750 --> 00:15:45,160 to nie będzie do wykonania, że ​​tak tutaj, mam 368 00:15:45,160 --> 00:15:46,520 znaleziono na otwarcie magazynu. 369 00:15:46,520 --> 00:15:48,222 Krok siódmy? 370 00:15:48,222 --> 00:15:49,700 PUBLICZNOŚCI: Dotknij palcami. 371 00:15:49,700 --> 00:15:51,070 DAVID Malan: palce Touch. 372 00:15:51,070 --> 00:15:53,546 Ok, więc teraz możemy iść - 373 00:15:53,546 --> 00:15:56,480 Dobra, mam zamiar podjąć pewne wolności tutaj. 374 00:15:56,480 --> 00:15:57,110 Dzięki. 375 00:15:57,110 --> 00:15:59,210 Krok ósmy? 376 00:15:59,210 --> 00:16:00,060 Umieść na skarpety. 377 00:16:00,060 --> 00:16:02,060 Ok, więc teraz ja, że ​​jesteśmy na tyle blisko, aby posortować przyswajania 378 00:16:02,060 --> 00:16:03,480 ta w domu. 379 00:16:03,480 --> 00:16:05,980 W porządku, więc to idzie w górę. 380 00:16:05,980 --> 00:16:07,950 Wezmę kilka wolności z co to znaczy, faktycznie. 381 00:16:07,950 --> 00:16:08,920 Włóż skarpetki na. 382 00:16:08,920 --> 00:16:10,853 Dobra, teraz krok dziewięciu? 383 00:16:10,853 --> 00:16:11,740 PUBLICZNOŚCI: Połóż nogę. 384 00:16:11,740 --> 00:16:12,510 DAVID Malan: Dziękuję. 385 00:16:12,510 --> 00:16:15,610 Krok dziewiąty, umieścić stopy w dół, a teraz możemy powtórzyć. 386 00:16:15,610 --> 00:16:19,540 Więc prawdopodobnie możemy teraz przejść do kroku 10 i powiedzieć zidentyfikować 387 00:16:19,540 --> 00:16:21,960 opuścił skarpetkę, ale to zapewne już jest zrobione. 388 00:16:21,960 --> 00:16:24,100 >> I tak wtedy można sortować z powtórz te kroki. 389 00:16:24,100 --> 00:16:25,260 Ale ten rodzaj nasuwa się pytanie. 390 00:16:25,260 --> 00:16:28,100 Przed, po raz ostatni chcieli powtórzyć coś, my 391 00:16:28,100 --> 00:16:30,730 zrobił to iteracyjnie, znowu i znowu, DO 392 00:16:30,730 --> 00:16:32,660 Każda pętla tak mówić. 393 00:16:32,660 --> 00:16:36,420 Byłoby sensu używać pętli w celu obsługi zarówno 394 00:16:36,420 --> 00:16:38,470 lewa i prawa skarpetka? 395 00:16:38,470 --> 00:16:40,460 Bo to jest jak te operacje są bardzo 396 00:16:40,460 --> 00:16:43,090 identyczne, z wyjątkiem faktu, że jeden zaczyna się tu i jeden 397 00:16:43,090 --> 00:16:44,850 zaczyna się tutaj? 398 00:16:44,850 --> 00:16:47,400 Czy mamy pętlę, czy też po prostu zachować czynności pisania 399 00:16:47,400 --> 00:16:48,745 10 i 11 i 12? 400 00:16:48,745 --> 00:16:50,540 PUBLICZNOŚCI: Loop. 401 00:16:50,540 --> 00:16:52,240 >> DAVID Malan: Dobra, więc pętla. 402 00:16:52,240 --> 00:16:54,730 I rzeczywiście mógłby powiedzieć tylko dalej. 403 00:16:54,730 --> 00:16:55,720 Więc dlaczego jest to przypadek? 404 00:16:55,720 --> 00:16:57,940 Oraz, w rzeczywistości jest to pierwszy z naszych nieoczywisty 405 00:16:57,940 --> 00:17:01,210 decyzje projektowe, w rzeczywistości, jeden z metryki, z którym 406 00:17:01,210 --> 00:17:03,990 zaczniemy do oceny, dla nas i dla ciebie, 407 00:17:03,990 --> 00:17:06,780 Jakość programu jest to, jak dobrze zaprojektowane to jest. 408 00:17:06,780 --> 00:17:09,619 Zrobiłeś minimalnej ilości pracy niezbędnej do 409 00:17:09,619 --> 00:17:12,480 to zadanie najszybciej, zarówno pod względem 410 00:17:12,480 --> 00:17:15,430 Twój czas, albo w kategoriach komputera raz z rzędu? 411 00:17:15,430 --> 00:17:17,589 Ile operacji ma to ma do wykonania? 412 00:17:17,589 --> 00:17:20,180 Więc prawdopodobnie jest to okazja do pętli, ponieważ 413 00:17:20,180 --> 00:17:22,829 jak tylko rozpocząć kopiowanie i wklejanie, jak Józef skutecznie 414 00:17:22,829 --> 00:17:25,010 by zacząć robić w chwili, jesteś rodzajem tracić 415 00:17:25,010 --> 00:17:27,140 czas, a ty będąc podwójnie wyraziste. 416 00:17:27,140 --> 00:17:30,260 >> Ale w tym samym czasie, to są dwa specjalne naprawdę 417 00:17:30,260 --> 00:17:31,890 przypadki, w lewo i prawo. 418 00:17:31,890 --> 00:17:34,930 Oraz przed, mogę mieć 10 lub 20 lub więcej w skarpetki 419 00:17:34,930 --> 00:17:37,960 stos, to na pewno ma sens, nie ma 50 linijek 420 00:17:37,960 --> 00:17:40,180 Kod mówiąc sprawdzić tę skarpetkę, potem następny, 421 00:17:40,180 --> 00:17:41,300 to następny. 422 00:17:41,300 --> 00:17:43,450 Tutaj jest trochę mniej oczywiste, a ja proponuje 423 00:17:43,450 --> 00:17:44,390 że mogliśmy pójść w obu kierunkach. 424 00:17:44,390 --> 00:17:46,720 Możemy mieć albo tej pętli, chociaż to tylko pętle 425 00:17:46,720 --> 00:17:50,620 dwa razy, czy może po prostu skopiować i wkleić tylko trochę 426 00:17:50,620 --> 00:17:53,270 tutaj w celu wykonania zadania. 427 00:17:53,270 --> 00:17:55,210 Ale ten program jest buggy, że tak powiem. 428 00:17:55,210 --> 00:17:59,120 To może mieć pewne błędy, błędy, lub przypadki, narożne, więc do 429 00:17:59,120 --> 00:18:00,860 mówią, że tak naprawdę nie przewidzieć. 430 00:18:00,860 --> 00:18:03,400 Nic się nie udało tym razem, ale co mogło pójść nie tak 431 00:18:03,400 --> 00:18:06,100 podczas realizacji tego programu? 432 00:18:06,100 --> 00:18:07,040 PUBLICZNOŚCI: Nie mam żadnych skarpetek. 433 00:18:07,040 --> 00:18:08,980 >> DAVID Malan: Więc nie mogło być skarpetki tam w ogóle. 434 00:18:08,980 --> 00:18:10,380 Warto więc rozważyć tę sprawę narożny. 435 00:18:10,380 --> 00:18:14,670 Więc, czy możemy przejść z powrotem do kroku, więc krok był 436 00:18:14,670 --> 00:18:16,540 schylić, tak że sprawdza się. 437 00:18:16,540 --> 00:18:21,250 Krok drugi, podnieś swoją skarpetkę, ale potem znaleźć skarpetkę dopasowania, 438 00:18:21,250 --> 00:18:22,420 zidentyfikować prawo. 439 00:18:22,420 --> 00:18:25,050 Mamy trochę się całą masę założeń, i to, 440 00:18:25,050 --> 00:18:27,720 szczerze mówiąc, dlaczego program, czasem zawiesić. 441 00:18:27,720 --> 00:18:30,240 Jeśli programista, dokonały pewnych założeń, takich jak 442 00:18:30,240 --> 00:18:33,000 na pewno nie będzie to skarpety lub na pewno nie się dzieje 443 00:18:33,000 --> 00:18:35,310 być pozostawione w pamięci komputera, na pewno nie będzie 444 00:18:35,310 --> 00:18:37,420 Przestrzeń dysku jest w lewo na dysku - 445 00:18:37,420 --> 00:18:39,040 Cóż, jeśli się te założenia, a nie, 446 00:18:39,040 --> 00:18:41,880 w rzeczywistości, rzeczywistość, kto wie, co czasem komputera 447 00:18:41,880 --> 00:18:42,520 zamiar zrobić? 448 00:18:42,520 --> 00:18:44,450 A czasem, gdy pojawi się obracający piłkę plażową lub 449 00:18:44,450 --> 00:18:47,750 mrożone Windows lub tym podobne, które jest dokładnie, ponieważ niektóre 450 00:18:47,750 --> 00:18:50,980 programista nie przewidział te tak zwane przypadki narożnych. 451 00:18:50,980 --> 00:18:53,050 Co jeszcze mogło pójść nie tak w tym programie? 452 00:18:53,050 --> 00:18:53,330 Tak? 453 00:18:53,330 --> 00:18:55,950 >> PUBLICZNOŚCI: Ty nie masz prawą nogę i lewą nogę. 454 00:18:55,950 --> 00:18:58,920 DAVID Malan: Dobra, może nie mieć zarówno prawą nogę i 455 00:18:58,920 --> 00:19:01,940 lewa noga, i tak ten program może nie być powszechnie 456 00:19:01,940 --> 00:19:02,590 dotyczy. 457 00:19:02,590 --> 00:19:03,658 Inni? 458 00:19:03,658 --> 00:19:05,650 PUBLICZNOŚCI: Mogłeś podniósł osieroconego skarpetkę. 459 00:19:05,650 --> 00:19:07,970 DAVID Malan: mógłbym podniósł osieroconego skarpetkę, więc 460 00:19:07,970 --> 00:19:11,250 niepasujące skarpety, że po prostu nie ma, bo mam rodzeństwo 461 00:19:11,250 --> 00:19:13,650 zgubił, to podarte, to w praniu nadal, i tym podobne. 462 00:19:13,650 --> 00:19:15,550 Więc to też nie jest w rzeczywistości stosowane. 463 00:19:15,550 --> 00:19:15,790 Tak? 464 00:19:15,790 --> 00:19:17,510 PUBLICZNOŚCI: Można już skarpetki. 465 00:19:17,510 --> 00:19:19,050 DAVID Malan: Może mam już skarpetki. 466 00:19:19,050 --> 00:19:20,080 I faktycznie nie sprawdzić. 467 00:19:20,080 --> 00:19:23,350 Jeśli nie masz skarpetki, a następnie przejdź do zrobienia 468 00:19:23,350 --> 00:19:24,330 wiersz jeden i dwa. 469 00:19:24,330 --> 00:19:24,980 A to może się wydarzyć. 470 00:19:24,980 --> 00:19:26,880 Zasnąć z skarpety na i jak, więc 471 00:19:26,880 --> 00:19:28,860 to też bardzo rozsądny przypadek rogu. 472 00:19:28,860 --> 00:19:29,630 I może jeszcze jeden? 473 00:19:29,630 --> 00:19:31,310 PUBLICZNOŚCI: skarpetka jest wewnątrz na zewnątrz. 474 00:19:31,310 --> 00:19:34,000 DAVID Malan: Czyli skarpety jest wewnątrz na zewnątrz, więc zrobiliśmy żadnego błędu 475 00:19:34,000 --> 00:19:35,330 sprawdzenie, w skrócie. 476 00:19:35,330 --> 00:19:38,550 Nie sprawdzić, czy stan świata jest, jak oczekujemy. 477 00:19:38,550 --> 00:19:41,310 Nie sprawdzić czy rzeczywiście znaleźć to, czego szukasz. 478 00:19:41,310 --> 00:19:43,310 >> I mimo, że jest to coś w rodzaju śmieszne przykład 479 00:19:43,310 --> 00:19:46,110 udziałem skarpety na końcu dnia, to jest dokładnie 480 00:19:46,110 --> 00:19:48,740 rodzaj myślenia trzeba mieć podczas pisania programów, 481 00:19:48,740 --> 00:19:51,740 nawet w Scratch, jak w C, w JavaScript, w PHP, 482 00:19:51,740 --> 00:19:53,920 bo inaczej, twoje programy będą wykazywać 483 00:19:53,920 --> 00:19:56,980 równowartość tej wirującej kuli plaży lub po prostu dają 484 00:19:56,980 --> 00:19:58,210 niedokładne wyniki. 485 00:19:58,210 --> 00:20:00,250 Tyle tu dzięki naszemu pisarza Józefa. 486 00:20:00,250 --> 00:20:05,060 [Aplauz] 487 00:20:05,060 --> 00:20:06,850 >> DAVID Malan: Dobra, więc co jest w 488 00:20:06,850 --> 00:20:08,230 Fakt, program komputerowy? 489 00:20:08,230 --> 00:20:09,670 Cóż, rzućmy okiem na 490 00:20:09,670 --> 00:20:11,100 Przedstawiciel tu nikogo. 491 00:20:11,100 --> 00:20:15,260 Więc jest to program napisany w języku C o nazwie C. 492 00:20:15,260 --> 00:20:17,830 dość stare te dni, ale wiele nowszych języków są zbudowane 493 00:20:17,830 --> 00:20:18,460 na nim. 494 00:20:18,460 --> 00:20:21,180 Rzeczywiście, PHP, jeden z web-centric językach Będziemy 495 00:20:21,180 --> 00:20:24,050 stosować wobec pojęcia w końcu sama to, co nazywa 496 00:20:24,050 --> 00:20:27,550 interpreter, program napisany w C, ale więcej na ten temat 497 00:20:27,550 --> 00:20:28,690 w wielu tygodni od teraz. 498 00:20:28,690 --> 00:20:30,840 Ale ten program, a to jest, co to znaczy pisać 499 00:20:30,840 --> 00:20:32,880 program, choć bardzo proste. 500 00:20:32,880 --> 00:20:35,540 Mamy pewne dość tajemnicze składni tutaj, ale można 501 00:20:35,540 --> 00:20:38,340 prawdopodobnie odgadnąć, nawet jeśli nigdy wcześniej nie programowałeś, co 502 00:20:38,340 --> 00:20:39,750 ten program robi. 503 00:20:39,750 --> 00:20:43,640 Rzeczywiście, nie wiem co printf, ale wydrukować na pewno 504 00:20:43,640 --> 00:20:45,700 kojarzy się pomysł drukowania coś. 505 00:20:45,700 --> 00:20:48,590 A więc tak, ten program jest ostatecznie będzie drukować 506 00:20:48,590 --> 00:20:50,250 słowa "Witaj, świecie". 507 00:20:50,250 --> 00:20:53,390 >> Teraz, czy korzystasz z komputera Mac lub PC lub komputera z systemem Linux, kursy 508 00:20:53,390 --> 00:20:55,550 są, przynajmniej jeśli pobrałeś niektóre swobodnie 509 00:20:55,550 --> 00:20:58,000 dostępne oprogramowanie, można pisali programy na 510 00:20:58,000 --> 00:21:00,310 własny laptop od dłuższego czasu. 511 00:21:00,310 --> 00:21:03,040 W systemie Mac OS, na przykład, jest taki program o nazwie 512 00:21:03,040 --> 00:21:05,340 Terminal, że pochodzi z Mac, który jest zazwyczaj w 513 00:21:05,340 --> 00:21:07,550 Folder Utilities i zwykle otwiera czarno 514 00:21:07,550 --> 00:21:09,820 białe lub białe i czarne okno, w którym trzeba 515 00:21:09,820 --> 00:21:11,410 zapyta, w którym można wpisać polecenia. 516 00:21:11,410 --> 00:21:13,060 Więc to jest rzeczywiście przypomina co komputery 517 00:21:13,060 --> 00:21:15,100 Kiedyś przed graficznym 518 00:21:15,100 --> 00:21:16,710 interfejsy, GUI, przyszedł. 519 00:21:16,710 --> 00:21:19,200 Teraz, w Windows, masz podobny mechanizm w postaci 520 00:21:19,200 --> 00:21:20,130 z wiersza poleceń. 521 00:21:20,130 --> 00:21:23,430 >> Ale to, co mam zamiar zrobić o to otworzyć się, powiedzmy, 522 00:21:23,430 --> 00:21:26,580 TextEdit ponownie, więc sam program używaliśmy do 523 00:21:26,580 --> 00:21:28,870 Pseudokod chwilą, i mam zamiar iść do przodu i 524 00:21:28,870 --> 00:21:30,080 napisać swój pierwszy program. 525 00:21:30,080 --> 00:21:34,030 Dołącz stdio.h, cokolwiek to znaczy, int główną 526 00:21:34,030 --> 00:21:36,880 nieważne, cokolwiek to znaczy, a następnie w środku tutaj, 527 00:21:36,880 --> 00:21:40,560 printf ("hello, world."). A następnie zamknij cytat 528 00:21:40,560 --> 00:21:42,340 zamknąć nawias, średnik. 529 00:21:42,340 --> 00:21:44,460 Teraz mam zamiar iść do przodu i po prostu naciśnij Command-S. Idę 530 00:21:44,460 --> 00:21:47,650 iść do przodu i zapisz to jako hello.c, więc konwencja 531 00:21:47,650 --> 00:21:50,530 świat programowania C to nazwij plik dot c. 532 00:21:50,530 --> 00:21:52,880 Zamierzam po prostu umieścić w katalogu głównym Johna Harvarda, 533 00:21:52,880 --> 00:21:56,370 tutaj, kliknij Zapisz, a teraz mam zamiar przejść na ten 534 00:21:56,370 --> 00:21:59,110 okno terminalu, co znowu jest to czarno-biały znak zachęty 535 00:21:59,110 --> 00:22:00,860 gdzie mogę wykonać polecenia. 536 00:22:00,860 --> 00:22:04,550 >> Można uruchamiać programy, wpisując ich nazwy, a nie przez 537 00:22:04,550 --> 00:22:06,710 Dwukrotne kliknięcie ikony w zwykłym sensie. 538 00:22:06,710 --> 00:22:10,590 Ale rzecz jest o C jest język jak C 1-ty 539 00:22:10,590 --> 00:22:13,150 jest w tej postaci coś, co nazywa kod źródłowy. 540 00:22:13,150 --> 00:22:15,400 Coś, co wygląda trochę jak po angielsku, ale jest 541 00:22:15,400 --> 00:22:17,980 zdecydowanie mniej jak angielski niż Pseudokod Józefa 542 00:22:17,980 --> 00:22:18,930 chwilą. 543 00:22:18,930 --> 00:22:20,560 Jest to trochę bardziej zaawansowanych. 544 00:22:20,560 --> 00:22:22,830 Wydaje się przestrzegać pewnych wzorców i zasad. 545 00:22:22,830 --> 00:22:25,300 Fakt, że mam nawiasy klamrowe, średniki, cytaty, 546 00:22:25,300 --> 00:22:28,240 kąt szelki, czuje się jak na komputerze pojawił się z tym 547 00:22:28,240 --> 00:22:29,250 rodzaj języka. 548 00:22:29,250 --> 00:22:32,010 Ale jeśli pójdę teraz, do tego okna terminala, można uruchomić 549 00:22:32,010 --> 00:22:35,250 polecenia, które będzie przekonwertować kod źródłowy jest 550 00:22:35,250 --> 00:22:36,610 coś takiego jak kod obiektu. 551 00:22:36,610 --> 00:22:39,690 Że zamierza przekształcić angielsko-jak składnia do zera 552 00:22:39,690 --> 00:22:41,760 i te, te same sortuje z zer i jedynek my 553 00:22:41,760 --> 00:22:42,820 Rozmawialiśmy o środę. 554 00:22:42,820 --> 00:22:44,810 Teraz mam zamiar uruchomić polecenie nazwie Clang. 555 00:22:44,810 --> 00:22:47,750 Więcej na ten temat w najbliższych tygodniach, ale jest to program z 556 00:22:47,750 --> 00:22:52,330 które można przekonwertować hello.c w całą masę 557 00:22:52,330 --> 00:22:53,640 z zer i jedynek. 558 00:22:53,640 --> 00:22:54,950 >> Teraz, mam uruchomić to polecenie. 559 00:22:54,950 --> 00:22:57,940 Zabrakło mi brzęk, a potem powiedział, uruchomić się w tym pliku 560 00:22:57,940 --> 00:23:00,630 nazywa hello.c, który stworzyłem przed chwilą, i 561 00:23:00,630 --> 00:23:02,090 nic się nie stało. 562 00:23:02,090 --> 00:23:05,550 Ale rzeczywiście, jeśli grzebali mojego katalogu domowego, chciałbym zobaczyć 563 00:23:05,550 --> 00:23:09,620 że to głupio nazwie a.out Program teraz istnieje. 564 00:23:09,620 --> 00:23:12,250 To jest tylko domyślna nazwa programu podczas pisania w 565 00:23:12,250 --> 00:23:15,140 C. Możemy zmienić to w końcu, ale jest a.out 566 00:23:15,140 --> 00:23:18,340 Nazwa programu, po prostu przekształcony zer i jedynek. 567 00:23:18,340 --> 00:23:21,490 I teraz, że to jest zer i jedynek, mój Mac, w tym przypadku, czy 568 00:23:21,490 --> 00:23:24,670 Windows PC, można zrozumieć te bity, te 569 00:23:24,670 --> 00:23:25,410 zer i jedynek. 570 00:23:25,410 --> 00:23:29,130 I tak, kiedy nacisnąć klawisz Enter, widzę "hello, world!" 571 00:23:29,130 --> 00:23:31,270 >> Ale to jest trochę błędów. 572 00:23:31,270 --> 00:23:34,110 I nie dość powiedzieć "hello, world: powietrze: - jharvard". Powietrze jest 573 00:23:34,110 --> 00:23:35,020 nazwa mojego komputera. 574 00:23:35,020 --> 00:23:37,730 Jharvard jest nazwa konta, więc co ja wyraźnie 575 00:23:37,730 --> 00:23:41,070 pominąć w programie? 576 00:23:41,070 --> 00:23:42,480 Jakiś podział wiersza. 577 00:23:42,480 --> 00:23:45,150 Nie uderzyłem równowartość enter lub powrót karetki, 578 00:23:45,150 --> 00:23:47,760 i to, ponownie, świadczy o tym, że komputery mogą 579 00:23:47,760 --> 00:23:49,800 tylko to, co powiesz im zrobić. 580 00:23:49,800 --> 00:23:52,400 I fakt, że nie powiedziałem komputer przenieść 581 00:23:52,400 --> 00:23:53,860 kursor do następnego wiersza - 582 00:23:53,860 --> 00:23:55,200 dobrze, to z pewnością nie tylko robić to 583 00:23:55,200 --> 00:23:56,750 rozmyślnie dla mnie. 584 00:23:56,750 --> 00:24:00,860 Tak więc, jeśli wrócę do mojego programu, a mówię \ n - 585 00:24:00,860 --> 00:24:03,180 Tak \ n, o czym się niedługo zobaczyć, jest sposób 586 00:24:03,180 --> 00:24:06,910 reprezentujący dziwne rzeczy jak nowe linii znaków, rzeczy 587 00:24:06,910 --> 00:24:08,840 , które w innym przypadku byłyby wynikiem 588 00:24:08,840 --> 00:24:09,940 naciśnięcie klawisza Enter. 589 00:24:09,940 --> 00:24:11,730 Ale teraz, po prostu wiem, że naciśnięcie klawisza Enter by 590 00:24:11,730 --> 00:24:14,170 tak, aby nasz kod wygląda dziwnie, więc świat postanowił, wiesz 591 00:24:14,170 --> 00:24:16,580 co, do przechowywania rzeczy ładniejsza, aby utrzymać go w jednej linii, niech 592 00:24:16,580 --> 00:24:19,070 tylko powiedzieć \ n reprezentuje nową linię. 593 00:24:19,070 --> 00:24:22,260 Pozwól mi ponownie zapisać mój plik, wróć do okna terminala, a 594 00:24:22,260 --> 00:24:25,290 re-run a.out, Enter. 595 00:24:25,290 --> 00:24:28,374 Still buggy, ale dlaczego? 596 00:24:28,374 --> 00:24:29,750 >> PUBLICZNOŚCI: [niesłyszalne] 597 00:24:29,750 --> 00:24:31,540 DAVID Malan: Tak, więc trzeba przekompilować. 598 00:24:31,540 --> 00:24:34,610 Tak, aby skompilować program po prostu oznacza, przekonwertować go od źródła 599 00:24:34,610 --> 00:24:37,660 kod do kodu, obiektowego kodu źródłowego zer i jedynek. 600 00:24:37,660 --> 00:24:40,830 Teraz, sam fakt, że uderzę Zapisz w TextEdit nie ma 601 00:24:40,830 --> 00:24:43,450 mając na tych zer i jedynek, bo najpierw trzeba 602 00:24:43,450 --> 00:24:48,260 powiedz Clang hej, zmieniłem te linie kodu, 603 00:24:48,260 --> 00:24:49,040 kod źródłowy. 604 00:24:49,040 --> 00:24:51,010 Trzeba zregenerować a.out. 605 00:24:51,010 --> 00:24:52,990 Wydaje się, że nic się, ale w komputerze, 606 00:24:52,990 --> 00:24:55,820 w wierszu polecenia, aby mówić, kiedy nic się nie dzieje, 607 00:24:55,820 --> 00:24:57,510 że zwykle oznacza wszystko jest dobrze. 608 00:24:57,510 --> 00:24:59,040 Kiedy coś się dzieje, to znaczy, 609 00:24:59,040 --> 00:25:00,420 Ci zawiedli, ogólnie. 610 00:25:00,420 --> 00:25:04,020 >> Więc teraz do a.out, a nawet teraz, mam "hello, 611 00:25:04,020 --> 00:25:04,440 świata. " 612 00:25:04,440 --> 00:25:05,990 A teraz, co o tych zer i jedynek? 613 00:25:05,990 --> 00:25:07,520 W przypadku, gdy, w rzeczywistości jest? 614 00:25:07,520 --> 00:25:10,710 Cóż, nie mogę po prostu rodzaj Kapsa bardzo 615 00:25:10,710 --> 00:25:11,210 skutecznie. 616 00:25:11,210 --> 00:25:12,650 Pozwól mi otworzyć TextEdit. 617 00:25:12,650 --> 00:25:14,060 Oto a.out. 618 00:25:14,060 --> 00:25:17,390 Pozwólcie mi iść do przodu i otworzyć to, i to jest to, co my najwyraźniej 619 00:25:17,390 --> 00:25:19,080 Program wygląda. 620 00:25:19,080 --> 00:25:21,570 Tak już otwarta, nie hello.c, ale a.out. 621 00:25:21,570 --> 00:25:23,960 Ale to nie jest tak naprawdę to, co mój program jest naprawdę. 622 00:25:23,960 --> 00:25:26,450 Oczywiście, jest to pewien rodzaj znaków alfabetycznych. 623 00:25:26,450 --> 00:25:28,670 Nie widzę żadnych zer i jedynek, ale to jest 624 00:25:28,670 --> 00:25:30,780 bo a.out jest program. 625 00:25:30,780 --> 00:25:33,540 Zer i jedynek - ale TextEdit, jak sama nazwa wskazuje, jest to 626 00:25:33,540 --> 00:25:37,130 jak Notatnik w systemie Windows, to tylko edytor tekstu, więc jest to 627 00:25:37,130 --> 00:25:39,730 mylące wszystkich tych zer i jedynek, jak 628 00:25:39,730 --> 00:25:41,870 jakby były, to co? 629 00:25:41,870 --> 00:25:43,380 Znaków ASCII. 630 00:25:43,380 --> 00:25:45,020 >> Więc pamiętam w środę, po prostu wyszedł z tego 631 00:25:45,020 --> 00:25:48,740 arbitralne mapowania numerów, lub bitów, do listów 632 00:25:48,740 --> 00:25:51,690 Alfabet i znaki interpunkcyjne i jak. 633 00:25:51,690 --> 00:25:54,920 Więc TextEdit, że jest to edytor tekstu misinterpreting 634 00:25:54,920 --> 00:25:57,270 te wzorce zer i jedynek, które powinny być 635 00:25:57,270 --> 00:25:59,990 Słowa drukarskie, takie jak "Hello, World". Jest ich wyświetlania 636 00:25:59,990 --> 00:26:02,150 jak ASCII, i dlatego wygląda trochę niechlujnie. 637 00:26:02,150 --> 00:26:04,910 Teraz istnieją pewne wskazówki poprawności tutaj. 638 00:26:04,910 --> 00:26:08,090 Zauważ, jeśli podkreślić, jest wskazówka faktycznie "hello, 639 00:26:08,090 --> 00:26:10,810 świat ", więc gdzieś w tym programie jest 640 00:26:10,810 --> 00:26:12,120 zdanie napisałem. 641 00:26:12,120 --> 00:26:14,610 Idźmy jednak dalej i teraz zobaczyć z innego programu. 642 00:26:14,610 --> 00:26:17,420 To nie jest jeden użyjemy, że często, ale również pochodzi z 643 00:26:17,420 --> 00:26:19,970 Mac i będzie wewnątrz CS50 urządzenia. 644 00:26:19,970 --> 00:26:23,940 Pozwólcie mi iść do przodu i otworzyć za pomocą programu o nazwie XXD. 645 00:26:23,940 --> 00:26:26,530 >> Powrót w dzień, większość programów zostały nazwane dość tajemniczo, 646 00:26:26,530 --> 00:26:28,200 i tak dalej tendencja. 647 00:26:28,200 --> 00:26:31,160 Ale-b oznacza pluć ten program się jako binarny. 648 00:26:31,160 --> 00:26:32,330 Nie uruchomić. 649 00:26:32,330 --> 00:26:35,770 Ostatnia mi go jako zer i jedynek, a to jest C 650 00:26:35,770 --> 00:26:37,190 zaprogramować po prostu napisał. 651 00:26:37,190 --> 00:26:39,920 Teraz ja, jako człowiek tutaj, szczerze nie mam pojęcia co 652 00:26:39,920 --> 00:26:42,230 te różne wzory zer i jedynek reprezentują. 653 00:26:42,230 --> 00:26:45,320 Powrót w dzień, ja z moich kart perforowanych lub podobnych, by 654 00:26:45,320 --> 00:26:48,080 rzeczywiście trzeba szukać tego, co te różne wzory 655 00:26:48,080 --> 00:26:51,560 01111000, w rzeczywistości reprezentują. 656 00:26:51,560 --> 00:26:54,390 Albo gorzej, musiałbym zrobić dziurkowanie lub tworzenie 657 00:26:54,390 --> 00:26:56,130 tych wzorców zer i jedynek. 658 00:26:56,130 --> 00:27:00,410 Ale na razie, na wierze, że CPU, Intel Inside, więc 659 00:27:00,410 --> 00:27:03,440 mówić, wewnątrz wszystkich naszych komputerach te dni, wie, 660 00:27:03,440 --> 00:27:05,100 jak interpretować te zer i jedynek. 661 00:27:05,100 --> 00:27:07,010 A niektórzy zer i jedynek na myśli wydruk. 662 00:27:07,010 --> 00:27:09,040 Niektóre zer i jedynek na myśli odtwarzanie dźwięku. 663 00:27:09,040 --> 00:27:13,630 Niektóre zer i jedynek znaczy podjąć wejściowych użytkownika z klawiatury. 664 00:27:13,630 --> 00:27:15,960 Nie wszystkie rodzaje różnych wzorów, ale na szczęście, 665 00:27:15,960 --> 00:27:19,680 jako ludzi, tylko generalnie trzeba się martwić o programowaniu w 666 00:27:19,680 --> 00:27:21,270 to dość wyższy poziom. 667 00:27:21,270 --> 00:27:24,320 A w innych klasach CS można zagłębić w dół i spojrzeć głębiej 668 00:27:24,320 --> 00:27:26,820 na takie rzeczy jak tych zer i jedynek, a jeszcze 669 00:27:26,820 --> 00:27:28,000 innych rzeczy jeszcze. 670 00:27:28,000 --> 00:27:29,210 >> Więc teraz niech konwertować to. 671 00:27:29,210 --> 00:27:32,550 Przejdźmy się bardzo szybko od C i przenieść się do czegoś 672 00:27:32,550 --> 00:27:36,390 trochę bardziej pocieszające, trochę bardziej ekscytujące, że w 673 00:27:36,390 --> 00:27:39,340 możemy wrócić nasze animacje i dźwięki i tym podobne, które 674 00:27:39,340 --> 00:27:40,940 wyraźnie uciekły nam w tym 675 00:27:40,940 --> 00:27:42,480 dość prymitywny interfejs. 676 00:27:42,480 --> 00:27:46,430 Tak więc ten sam program, w C można przedstawić się w tym 677 00:27:46,430 --> 00:27:50,060 język programowania o nazwie Scratch następująco. 678 00:27:50,060 --> 00:27:54,230 Jest to równowartość tej Hello World napisane w 679 00:27:54,230 --> 00:27:57,370 ten kawałek puzzle język styl zwany Scratch. 680 00:27:57,370 --> 00:28:00,600 Więc pozwól mi iść do przodu i otworzyć tę samą program. 681 00:28:00,600 --> 00:28:01,850 To ponownie wezwał Scratch. 682 00:28:01,850 --> 00:28:03,880 To jest łatwo dostępne i jest to samo, co 683 00:28:03,880 --> 00:28:05,120 już dziś na. 684 00:28:05,120 --> 00:28:07,790 >> Więc to tutaj jest na zarysowania, i jest podzielony na kilka 685 00:28:07,790 --> 00:28:09,700 różnych sztuk. 686 00:28:09,700 --> 00:28:12,690 Po prawej samej górze, mamy tak zwanego etapu i 687 00:28:12,690 --> 00:28:13,670 rzeczywiście, to gdzie ciasteczka 688 00:28:13,670 --> 00:28:15,440 wykonywane tylko nieco wcześniej. 689 00:28:15,440 --> 00:28:19,660 I na tym etapie są rzeczy nazywane duchy, znaki lub 690 00:28:19,660 --> 00:28:21,030 przedmiotów lub podmiotów. 691 00:28:21,030 --> 00:28:23,320 To naprawdę nie ma znaczenia, w jaki myślisz o nich, ale oni 692 00:28:23,320 --> 00:28:26,740 są programowalne, rzeczy ruchomych, w tym przypadku, to 693 00:28:26,740 --> 00:28:30,730 Program, że nasz uczeń napisał ma kilka pierników 694 00:28:30,730 --> 00:28:32,990 ciasteczka, kilka okrągłych ciasteczek, cała masa 695 00:28:32,990 --> 00:28:35,430 serca, cała masa okularów. 696 00:28:38,170 --> 00:28:42,420 W związku z tym, że jest on w stanie programowania każdego z tych 697 00:28:42,420 --> 00:28:44,720 pojedynczych znaków osobno. 698 00:28:44,720 --> 00:28:46,480 >> Teraz, co to znaczy zaprogramować te znaki? 699 00:28:46,480 --> 00:28:49,440 Cóż, pozwól mi iść dalej i kliknij na lewej dłoni ciasteczko 700 00:28:49,440 --> 00:28:51,830 i przewiń na lewo góry tutaj. 701 00:28:51,830 --> 00:28:53,670 W lewym górnym rogu mojego ekranu to 702 00:28:53,670 --> 00:28:55,280 tak zwany obszar skrypty. 703 00:28:55,280 --> 00:28:58,790 To jest coś w rodzaju pustego łupków, początkowo, na który mogę 704 00:28:58,790 --> 00:29:01,540 przeciągnij i upuść elementy układanki, które, szczerze mówiąc, dzieje 705 00:29:01,540 --> 00:29:03,020 dokładnie to, co oni mówią. 706 00:29:03,020 --> 00:29:05,820 Na samej górze tego stosu puzzli jest słowo 707 00:29:05,820 --> 00:29:09,340 Po kliknięciu Zielona Flaga, a jeśli nie zauważyłem wcześniej, 708 00:29:09,340 --> 00:29:12,300 sposób zacząłem tę piosenkę ciasteczko zostało kliknięcie, dosłownie, 709 00:29:12,300 --> 00:29:13,320 zielona flaga. 710 00:29:13,320 --> 00:29:16,590 Tak, że kawałek układanki w lewym górnym rogu nie oznacza, że ​​kiedy 711 00:29:16,590 --> 00:29:19,780 ludzkie kliknięć zielona flaga, przystąpił do 712 00:29:19,780 --> 00:29:21,110 następujące rzeczy. 713 00:29:21,110 --> 00:29:23,330 >> Teraz, co oni ciasteczko postępować zrobić? 714 00:29:23,330 --> 00:29:25,810 I naprawdę nie wiem, jak interpretować to jeszcze, ale 715 00:29:25,810 --> 00:29:29,220 ciasteczko najwyraźniej ustawić jej rowek na zero, to czekałem 716 00:29:29,220 --> 00:29:31,740 trzy sekundy, a następnie zmieniła jednej grupy, to 717 00:29:31,740 --> 00:29:33,590 czekał sekund, a następnie zmieniła 718 00:29:33,590 --> 00:29:35,100 powrót rowek do jednego. 719 00:29:35,100 --> 00:29:37,373 I wtedy to faktycznie wygląda trochę błąd, nie powinno 720 00:29:37,373 --> 00:29:39,440 zmienić jego rowek znowu i znowu, chyba że jest 721 00:29:39,440 --> 00:29:43,380 ulega zmianie w innym miejscu, ale jest szereg kroków co 722 00:29:43,380 --> 00:29:46,800 dyktuje zachowanie tego konkretnego pliku cookie. 723 00:29:46,800 --> 00:29:49,180 Więc faktycznie przewijania, a nie patrzeć na coś 724 00:29:49,180 --> 00:29:50,430 zupełnie tak skomplikowane jeszcze. 725 00:29:50,430 --> 00:29:52,260 Pozwól mi iść dalej i przejdź do Plik, Nowy, 726 00:29:52,260 --> 00:29:53,560 i dostać czyste konto. 727 00:29:53,560 --> 00:29:56,590 >> Więc teraz, że rzeczywiście mają pusty obszar skryptu, pustej scenie, 728 00:29:56,590 --> 00:29:59,380 z naszym Scratch sprite domyślnej, a na górze po lewej stronie 729 00:29:59,380 --> 00:30:01,670 na moim ekranie mam paletę do całej 730 00:30:01,670 --> 00:30:03,400 dostępnych puzzli. 731 00:30:03,400 --> 00:30:06,300 I nie będzie przejść przez prawie, że wiele z tych rzeczy 732 00:30:06,300 --> 00:30:09,470 dzisiaj, ponieważ, ponownie, w większości są oczywiste, ale będzie 733 00:30:09,470 --> 00:30:12,370 próbować kategoryzować je i wskazać podobieństwa 734 00:30:12,370 --> 00:30:15,380 z tych przyszłych językach, do których będziemy nurkować. 735 00:30:15,380 --> 00:30:19,180 I na górze po lewej stronie jest pierwszym Kiedy Zielona Flaga kliknięciu 736 00:30:19,180 --> 00:30:22,170 więc pozwól mi przeciągnąć tutaj, pomniejszyć trochę. 737 00:30:22,170 --> 00:30:25,780 I jeśli kliknij zieloną flagę, nic nie dzieje się dlatego, 738 00:30:25,780 --> 00:30:29,360 I nie przywiązują żadnej logiki, każde oświadczenie aby mówić, aby 739 00:30:29,360 --> 00:30:31,040 że zielona flaga, więc pozwól mi iść do 740 00:30:31,040 --> 00:30:32,500 kategorie tutaj. 741 00:30:32,500 --> 00:30:34,840 Jestem aktualnie w kategorii sterowania. 742 00:30:34,840 --> 00:30:37,630 Ja zamiast zamiar zejść do kategorii wygląda, i 743 00:30:37,630 --> 00:30:39,970 istnieje cała masa rzeczy, które tutaj powiedzieć Powiedz, 744 00:30:39,970 --> 00:30:43,110 Pomyśl, zmiana koloru, kostium Transfer. 745 00:30:43,110 --> 00:30:44,860 >> Więc można zrobić głupie rzeczy z kostiumami i 746 00:30:44,860 --> 00:30:45,870 dźwięki i tym podobne. 747 00:30:45,870 --> 00:30:49,970 Pozwólcie mi iść do przodu i po prostu powiedzieć, Powiedz, a teraz zauważyć jak przeciągnąć 748 00:30:49,970 --> 00:30:52,940 i usunąć ten kawałek układanki, to będzie chciał zatrzasnąć 749 00:30:52,940 --> 00:30:55,010 w odpowiednim kształcie. 750 00:30:55,010 --> 00:30:58,020 Kiedy więc śmiało i wypuszczaj mojej myszki, zamkną 751 00:30:58,020 --> 00:31:01,770 razem, a teraz jeśli pójdę tu i kliknij zieloną flagę, 752 00:31:01,770 --> 00:31:05,910 Kot ma w rzeczywistości przywitać bo to co jest w środku 753 00:31:05,910 --> 00:31:06,980 z tym białym pudełku. 754 00:31:06,980 --> 00:31:08,900 Wkrótce zobaczysz, że to białe pole, co się nazywa 755 00:31:08,900 --> 00:31:10,250 argumentu lub parametru. 756 00:31:10,250 --> 00:31:12,560 Jest to sposób na zmianę zachowanie, w tym przypadku, 757 00:31:12,560 --> 00:31:15,070 puzzle kawałek, ale jeśli chcę powiedzieć dokładnie to, co powiedział 758 00:31:15,070 --> 00:31:18,610 przed, przywitaj, świat, mogę teraz wrócić tu, 759 00:31:18,610 --> 00:31:21,990 kliknij na play i "hello, world" jest to, co powiedział. 760 00:31:21,990 --> 00:31:24,340 >> Więc dosłownie programowania teraz. 761 00:31:24,340 --> 00:31:27,540 To nie jest atrakcyjne, że wszystkie z programu, ale co najmniej 762 00:31:27,540 --> 00:31:30,140 jest to trochę bardziej przekonujące, niż coś, co wygląda na 763 00:31:30,140 --> 00:31:31,300 pierwszy rzut oka, jak to. 764 00:31:31,300 --> 00:31:34,190 I możemy bardzo szybko uzyskać wszystkie bardziej wyraziste 765 00:31:34,190 --> 00:31:36,600 bo w Scratch, podobnie jak w innych językach, nie wszystkie 766 00:31:36,600 --> 00:31:40,010 Różne wypowiedzi, a nie tylko mówią lub drukowanie czegoś, ale 767 00:31:40,010 --> 00:31:42,650 można robić rzeczy jak czekanie, jak tylko zobaczył z 768 00:31:42,650 --> 00:31:44,240 cookie, niektóre kilka sekund. 769 00:31:44,240 --> 00:31:46,440 Można odtwarzać dźwięki w otoczeniu Scratch tylko 770 00:31:46,440 --> 00:31:49,050 jak można w normalnym programem komputerowym dźwięku gry. 771 00:31:49,050 --> 00:31:52,440 Można sprawdzić, co nazywane są logiczne wyrażenia. 772 00:31:52,440 --> 00:31:55,630 Więc teraz, zacznijmy dodać do naszego zestawu narzędzi niektóre terminologii 773 00:31:55,630 --> 00:31:58,840 że faktycznie odnosi się do przykładu, że Józef i ja 774 00:31:58,840 --> 00:32:00,080 tutaj z skarpetek. 775 00:32:00,080 --> 00:32:03,040 Więc stwierdzenia są po prostu stwierdzenie faktu. 776 00:32:03,040 --> 00:32:04,160 To zrobić. 777 00:32:04,160 --> 00:32:07,370 Dyrektywa dla sprite, lub mnie człowieka, aby coś zrobić. 778 00:32:07,370 --> 00:32:10,420 Wyrażenie logiczne jest coś, co ma wartość, 779 00:32:10,420 --> 00:32:14,580 tzw wartość logiczna, która jest albo zero lub jeden, lub fałszywe 780 00:32:14,580 --> 00:32:17,890 prawdziwe, lub wyłączyć, nie lub tak. 781 00:32:17,890 --> 00:32:19,730 Tak naprawdę nie ma znaczenia, w jaki myślisz o tym, ale to jest 782 00:32:19,730 --> 00:32:20,700 Stan binarny. 783 00:32:20,700 --> 00:32:22,610 Jak Nate omówione wideo środę, dwa 784 00:32:22,610 --> 00:32:23,570 różne rzeczy. 785 00:32:23,570 --> 00:32:25,740 >> Więc w Scratch, wyrażenia logiczne stało szukać 786 00:32:25,740 --> 00:32:28,910 jak te niebieskie przedmioty tutaj, w tym przypadku, pytanie 787 00:32:28,910 --> 00:32:30,960 Znak oznacza, że ​​pytasz pytanie. 788 00:32:30,960 --> 00:32:34,250 Jest kot, lub sprite, dotykając wskaźnika myszy? 789 00:32:34,250 --> 00:32:36,580 Więc to jest tylko jeden przykład z bloku Scratch, która ma zamiar 790 00:32:36,580 --> 00:32:39,950 abyśmy mogli sprawdzić tak lub nie, to mysz dotykając 791 00:32:39,950 --> 00:32:40,790 sprite na ekranie? 792 00:32:40,790 --> 00:32:42,840 A to może być przydatne, jeśli rzeczywiście chcesz robić rzeczy 793 00:32:42,840 --> 00:32:43,820 za pomocą myszy. 794 00:32:43,820 --> 00:32:46,470 Oprócz wyrażeń logicznych, mamy rzeczy 795 00:32:46,470 --> 00:32:49,110 jak jest mysz w dół, więc można wykryć ten rodzaj 796 00:32:49,110 --> 00:32:50,200 pytanie, jak również. 797 00:32:50,200 --> 00:32:52,590 Możemy zrobić matematykę jeśli rzeczywiście chcesz, a tam 798 00:32:52,590 --> 00:32:55,170 rzeczywiście bardziej istotnych zastosowań dla tego niż tylko czystego 799 00:32:55,170 --> 00:32:56,400 arytmetyka, jak zobaczymy. 800 00:32:56,400 --> 00:32:59,690 Pseudo przypadkowość i uczynienie programu wydają się myśleć, 801 00:32:59,690 --> 00:33:03,490 lub zachowują się różnie w zależności od pewnych wartości pozornie przypadkowych, 802 00:33:03,490 --> 00:33:06,610 i wtedy mamy takie rzeczy jak wyrażeń logicznych takich jak AND. 803 00:33:06,610 --> 00:33:08,830 Więc jeśli naprawdę chcesz sprawdzić dwie wartości, zobaczymy w 804 00:33:08,830 --> 00:33:11,110 Scratch, że rzeczywiście możemy sprawdzić, czy jest to 805 00:33:11,110 --> 00:33:13,190 prawda i to jest prawda. 806 00:33:13,190 --> 00:33:15,300 Na przykład, w przypadku moich skarpetek, mogłem na 807 00:33:15,300 --> 00:33:19,045 bardzo koniec zadał pytanie, jeśli nie jest na skarpety i prawej skarpety 808 00:33:19,045 --> 00:33:20,610 jest włączony, zamknij. 809 00:33:20,610 --> 00:33:22,710 Skończysz na dzień, tak, że będzie 810 00:33:22,710 --> 00:33:24,300 okazja do tego. 811 00:33:24,300 --> 00:33:27,740 >> Więc idź naprzód i spróbować poskładać niektóre z nich razem 812 00:33:27,740 --> 00:33:31,570 i iść do kilku przykładów więcej 813 00:33:31,570 --> 00:33:32,610 przekonujące niż ten. 814 00:33:32,610 --> 00:33:35,770 Więc pozwól mi iść do przodu i otworzyć tu kilka przykładów 815 00:33:35,770 --> 00:33:38,350 że zawsze będzie na stronie internetowej kursu, jak również i 816 00:33:38,350 --> 00:33:39,870 otwarcie hello2. 817 00:33:39,870 --> 00:33:42,910 Więc w hello2 tutaj, mamy program, który robi kilka 818 00:33:42,910 --> 00:33:46,290 rzeczy, ale to nie robi to tak skutecznie, jak może. 819 00:33:46,290 --> 00:33:48,900 Więc mówi "hello, world" na sekundę, a następnie czeka 820 00:33:48,900 --> 00:33:49,450 na sekundę. 821 00:33:49,450 --> 00:33:51,720 A potem robi to ponownie, a następnie robi to samo. 822 00:33:51,720 --> 00:33:55,530 Więc jeśli kliknij zieloną flagę, Scratch mówi "Witaj, świecie. 823 00:33:55,530 --> 00:33:57,160 Witaj świecie. 824 00:33:57,160 --> 00:34:00,080 Witaj świecie ". I jest to oczywiście kandydat teraz 825 00:34:00,080 --> 00:34:00,860 poprawa. 826 00:34:00,860 --> 00:34:03,070 >> Co jest marginalna poprawa, mam nadzieję, że możemy 827 00:34:03,070 --> 00:34:07,610 teraz zrobić, czy Scratch popiera koncepcję? 828 00:34:07,610 --> 00:34:08,310 Jakiś rodzaj pętli. 829 00:34:08,310 --> 00:34:10,960 Jakiś rodzaj powtórzenia, teraz, byłoby miło, więc pozwól mi 830 00:34:10,960 --> 00:34:11,920 faktycznie spróbować. 831 00:34:11,920 --> 00:34:13,870 Pozwól, że faktycznie go i przenieść to. 832 00:34:13,870 --> 00:34:16,449 Więc anons można odłączyć bloki tak łatwo, jak można dodać do 833 00:34:16,449 --> 00:34:17,420 je dołączyć. 834 00:34:17,420 --> 00:34:20,730 Puść mnie pod kontrolą, przewiń na dół, i rzeczywiście, 835 00:34:20,730 --> 00:34:24,000 tam jest ten kawałek układanki tutaj, Powtórz i na wieki 836 00:34:24,000 --> 00:34:24,870 Zawsze If. 837 00:34:24,870 --> 00:34:28,500 Więc istnieje wiele sposobów wyrażania pętle 838 00:34:28,500 --> 00:34:29,340 w Scratch. 839 00:34:29,340 --> 00:34:31,730 Jeden pewnie chcą tu nie zawsze, bo tylko 840 00:34:31,730 --> 00:34:34,639 chcesz to się stało trzy razy, ale chyba powtórzyć. 841 00:34:34,639 --> 00:34:38,449 Więc pozwól mi przeciągnąć powtórzyć tutaj, przeciągnij i upuść go i 842 00:34:38,449 --> 00:34:42,530 teraz zamiast mówić "Hello, World" trzy oddzielne razy, 843 00:34:42,530 --> 00:34:44,230 pozwól mi przeciągnij kawałek układanki tutaj. 844 00:34:44,230 --> 00:34:46,610 I mimo, że nie wydaje się, aby dopasować program jest inteligentny 845 00:34:46,610 --> 00:34:48,920 wystarczy uświadomić sobie, będzie rosnąć do wypełnienia, więc jest to 846 00:34:48,920 --> 00:34:51,270 kształty, że materia i nie absolutna wielkość. 847 00:34:51,270 --> 00:34:54,030 Pozwól mi zmienić powtórzenia do trzech, a teraz pozwól mi odejść 848 00:34:54,030 --> 00:34:56,560 naprzód i przeciągnij Poczekaj sekundę w niej również. 849 00:34:56,560 --> 00:34:59,220 To się zatrzasnąć w jak również, a więc teraz mam zamiar przeciągnąć 850 00:34:59,220 --> 00:35:01,370 ci faceci tutaj i po prostu je wyrzucić, bo 851 00:35:01,370 --> 00:35:02,710 nie trzeba ich więcej. 852 00:35:02,710 --> 00:35:05,920 Pozwól oddalić i kliknij zieloną flagę teraz, a my mamy 853 00:35:05,920 --> 00:35:09,600 sam program, ale, tak jak przewidziałem wcześniej, lepiej 854 00:35:09,600 --> 00:35:12,200 zaprojektowany, bo można sobie wyobrazić, jak bardzo ten program 855 00:35:12,200 --> 00:35:14,410 dostanie, na pewno estetycznie, gdybyś musiał 856 00:35:14,410 --> 00:35:16,640 rozpocząć kopiowanie i wklejanie, kopiowanie i wklejanie, lub 857 00:35:16,640 --> 00:35:20,020 przeciąganie i upuszczanie same cerować rzeczy ponownie. 858 00:35:20,020 --> 00:35:22,260 >> Teraz, po prostu mówiąc rzeczy na ekranie, drukowanie 859 00:35:22,260 --> 00:35:25,350 ekran, naprawdę nie wszystko, co ekscytujące, więc otwórzmy 860 00:35:25,350 --> 00:35:26,580 3-ga wariancji tutaj. 861 00:35:26,580 --> 00:35:29,810 A teraz, jak zobaczysz, to będzie szybko się irytujące - 862 00:35:29,810 --> 00:35:30,850 [MEOW] 863 00:35:30,850 --> 00:35:31,940 DAVID Malan: - ale jest to również rodzaj słodkie. 864 00:35:31,940 --> 00:35:35,244 [MEOW] 865 00:35:35,244 --> 00:35:37,460 DAVID Malan: Dobra, więc lepiej, a na pewno możemy używać, 866 00:35:37,460 --> 00:35:41,060 samo przejście z wyrwy to aż do pętli 867 00:35:41,060 --> 00:35:43,520 struktury, ale zróbmy to jeszcze bardziej interesujące. 868 00:35:43,520 --> 00:35:47,480 >> Pozwólcie mi iść do przodu i otworzyć jeden czwarte wariancję tutaj, gdzie 869 00:35:47,480 --> 00:35:50,020 wziąć sprawy o krok dalej. 870 00:35:50,020 --> 00:35:54,450 Tak więc zgodnie z tym, choć to głupie na początku 871 00:35:54,450 --> 00:35:58,530 spojrzenie, co ten program robić? 872 00:35:58,530 --> 00:35:59,790 To będzie meow raz. 873 00:35:59,790 --> 00:36:00,160 Dlaczego? 874 00:36:00,160 --> 00:36:03,340 Oraz, jeden, tak dalece, jak wiadomo, zawsze mniejsza niż dwa. 875 00:36:03,340 --> 00:36:04,890 Nie ma pojęcia przypadkowości tutaj. 876 00:36:04,890 --> 00:36:07,240 Mam dosłownie zakodowane jeden i dwa, ale jest to 877 00:36:07,240 --> 00:36:10,370 przykład teraz rzeczywiście stosując wyrażenie logiczne. 878 00:36:10,370 --> 00:36:13,650 Podobnie jak jak Józef uczynił w jego Pseudokod, wcięcia IF 879 00:36:13,650 --> 00:36:17,170 znajdziesz skarpetki pasujące następnie wykonaj następujące czynności, mamy tu 880 00:36:17,170 --> 00:36:19,750 wyrażenie, jeśli jest mniej niż dwa a następnie - 881 00:36:19,750 --> 00:36:21,820 i faktycznie mamy nawet trochę wcięć, 882 00:36:21,820 --> 00:36:24,480 gdzie jest lekko fioletowy wcięte w prawo - 883 00:36:24,480 --> 00:36:26,600 Następnie masz zamiar odtworzyć dźwięku meow. 884 00:36:26,600 --> 00:36:30,060 Teraz, w tym przypadku, że jest zawsze mniejsza niż dwa, więc 885 00:36:30,060 --> 00:36:31,970 to rodzaj odpadów na stan. 886 00:36:31,970 --> 00:36:34,890 Ale będziemy mogli, jak zobaczymy, do podłączenia innych rzeczy do 887 00:36:34,890 --> 00:36:37,420 te zastępcze, gdzie jeden i dwa teraz są. 888 00:36:37,420 --> 00:36:41,340 Więc teraz przejść do np. pięciu z tych kilku 889 00:36:41,340 --> 00:36:45,850 hellos i spojrzeć na to, co ten program zrobi. 890 00:36:45,850 --> 00:36:48,710 >> Więc teraz, w angielskim zdaniu, jak to się 891 00:36:48,710 --> 00:36:51,460 Program zachowywać? 892 00:36:51,460 --> 00:36:52,950 PUBLICZNOŚCI: miauczy pół czasu. 893 00:36:52,950 --> 00:36:55,380 DAVID Malan: Meow w połowę czasu, więc jest to sposób na 894 00:36:55,380 --> 00:36:56,700 przenoszenia bardzo prosty pomysł. 895 00:36:56,700 --> 00:36:59,400 Nawet jeśli zdarzy się przy użyciu pewnych nierówności tutaj 896 00:36:59,400 --> 00:37:01,860 w niektórych numerów, jest to naprawdę tylko programowych 897 00:37:01,860 --> 00:37:09,490 sposób precyzyjny sposób na powiedzenie, jeśli moneta pochodzi aż głowy, przejdź 898 00:37:09,490 --> 00:37:10,270 naprzód i meow. 899 00:37:10,270 --> 00:37:13,540 Lub odwrotnie, jeśli moneta wyjdzie ogony, nie meow. 900 00:37:13,540 --> 00:37:15,110 I w tym przypadku, w jaki sposób wyrazić, że? 901 00:37:15,110 --> 00:37:17,950 Zabierzemy losową liczbę od 1 do 10, a jeśli to 902 00:37:17,950 --> 00:37:21,110 liczba jest mniejsza niż 6, śmiało i meow. 903 00:37:21,110 --> 00:37:22,260 I jak to się tu dostać? 904 00:37:22,260 --> 00:37:24,620 Cóż znowu, zauważysz tylko przeciąganie i 905 00:37:24,620 --> 00:37:26,190 rzeczy do zatrzaśnięcia. 906 00:37:26,190 --> 00:37:28,020 >> Więc teraz zobaczymy czy to losowość działa. 907 00:37:28,020 --> 00:37:29,845 Pozwól mi iść dalej i kliknij zieloną flagę. 908 00:37:29,845 --> 00:37:31,120 [MEOW] 909 00:37:31,120 --> 00:37:32,000 DAVID Malan: Dobra. 910 00:37:32,000 --> 00:37:33,430 [MEOW] 911 00:37:33,430 --> 00:37:35,260 DAVID Malan: Dobra. 912 00:37:35,260 --> 00:37:38,510 Dobra, dobra, więc mamy głowy, głowy, ogony skutecznie. 913 00:37:38,510 --> 00:37:39,295 Tails. 914 00:37:39,295 --> 00:37:39,590 [MEOW] 915 00:37:39,590 --> 00:37:41,829 DAVID Malan: Heads. 916 00:37:41,829 --> 00:37:43,220 [MEOW] 917 00:37:43,220 --> 00:37:44,040 DAVID Malan: Excellent. 918 00:37:44,040 --> 00:37:46,220 To zawsze jest niewygodne, gdy tylko statystycznie masz zły 919 00:37:46,220 --> 00:37:48,510 biegać, i to wszystkie głowy, a program faktycznie nie 920 00:37:48,510 --> 00:37:49,230 pracy, jak można mieć nadzieję. 921 00:37:49,230 --> 00:37:51,210 Ale tym razem się udało, i wydaje się, że jeśli my 922 00:37:51,210 --> 00:37:53,830 to nieskończoną liczbę razy, 50% kurs. 923 00:37:53,830 --> 00:37:56,950 Teraz znowu nie wszystko, co ciekawe, tylko co koty 924 00:37:56,950 --> 00:37:59,840 meow, więc zobaczymy, jeśli nie możemy awansować to nieco dalej 925 00:37:59,840 --> 00:38:01,820 tu w wersji szóstej. 926 00:38:01,820 --> 00:38:05,620 Więc teraz mamy naprawdę irytujące wersję - 927 00:38:05,620 --> 00:38:08,215 [Miauczy, co kilka sekund] 928 00:38:08,215 --> 00:38:10,640 DAVID Malan: - a to, co jest znane, ogólne, jak 929 00:38:10,640 --> 00:38:11,670 pętla nieskończona. 930 00:38:11,670 --> 00:38:14,190 >> Tak nieskończona pętla w tym przypadku czuje się źle. 931 00:38:14,190 --> 00:38:16,970 Jest to z pewnością zaczną emitować złe i jeszcze nieskończony 932 00:38:16,970 --> 00:38:18,740 Pętle nie zawsze są złe. 933 00:38:18,740 --> 00:38:20,910 Czy można sobie wyobrazić sytuacji, w programach komputerowych, w którym dalszy 934 00:38:20,910 --> 00:38:22,910 rzeczywiście chcesz nieskończoną pętlę? 935 00:38:22,910 --> 00:38:23,691 Tak? 936 00:38:23,691 --> 00:38:26,520 PUBLICZNOŚCI: Gdy chcesz sprawdzić warunek. 937 00:38:26,520 --> 00:38:28,240 DAVID Malan: Dobra, jeśli chcesz zachować sprawdzania warunku? 938 00:38:28,240 --> 00:38:29,190 Jak co? 939 00:38:29,190 --> 00:38:30,440 PUBLICZNOŚCI: [niesłyszalne] 940 00:38:36,060 --> 00:38:38,170 DAVID Malan: Dobra, dobra, więc jeśli miał jakiś program, niektóre 941 00:38:38,170 --> 00:38:40,440 Takie rzeczy automatyki domowej, w której chcesz stale 942 00:38:40,440 --> 00:38:41,980 Monitor jest coś dzieje. 943 00:38:41,980 --> 00:38:42,850 Są światła na? 944 00:38:42,850 --> 00:38:45,020 Są światła na bo może masz zegar, 945 00:38:45,020 --> 00:38:47,360 chcesz im zgaśnie, może trzeba coś zrobić 946 00:38:47,360 --> 00:38:48,290 znowu i znowu. 947 00:38:48,290 --> 00:38:50,540 A w rzeczywistości, mówienia timerów, każdy z was, którzy 948 00:38:50,540 --> 00:38:53,100 zegary na komputerze lub zegarków cyfrowych, to 949 00:38:53,100 --> 00:38:54,210 pętla nieskończona. 950 00:38:54,210 --> 00:38:56,980 To nadal aktualizacji czasu, ponieważ jest stale 951 00:38:56,980 --> 00:38:59,750 kontroli i sprawdzania i kontroli ma czas zmieniło, 952 00:38:59,750 --> 00:39:01,000 a jeśli tak, oh, mój Boże. 953 00:39:03,670 --> 00:39:04,740 Zegar w końcu zmienić. 954 00:39:04,740 --> 00:39:07,020 Trzeba wyświetlić tę wartość do Ciebie. 955 00:39:07,020 --> 00:39:10,880 Tak więc, podczas gdy przez większość czasu pętle nieskończone są błędem, 956 00:39:10,880 --> 00:39:13,950 lub przynajmniej złego decyzji projektowych, czasami robią 957 00:39:13,950 --> 00:39:14,785 mają swoją wartość. 958 00:39:14,785 --> 00:39:18,170 >> Cóż, dalszy postęp tutaj hello7. 959 00:39:18,170 --> 00:39:20,410 Więc teraz program będzie trochę bardziej interaktywne. 960 00:39:20,410 --> 00:39:23,120 Pozwól mi przybliżyć tutaj, i jeszcze raz, jest to, co jest miłe 961 00:39:23,120 --> 00:39:23,640 o Scratch. 962 00:39:23,640 --> 00:39:26,760 I będziemy go używać aby być jasne, Scratch, tylko dzisiaj i do 963 00:39:26,760 --> 00:39:27,780 przyszłym tygodniu problemu ustawić. 964 00:39:27,780 --> 00:39:31,920 Ale w poniedziałek, możemy zanurzyć się w C. W tym programie tutaj robi, 965 00:39:31,920 --> 00:39:33,190 zawsze dodaje. 966 00:39:33,190 --> 00:39:35,890 IF dotykając wskaźnik myszy - teraz, kto jest 967 00:39:35,890 --> 00:39:36,420 kontekst tutaj? 968 00:39:36,420 --> 00:39:39,670 No i zauważ, że kto się tutaj wybrana na dole 969 00:39:39,670 --> 00:39:43,060 Prawo to jest kot, sprite jeden, więc te skrypty, to 970 00:39:43,060 --> 00:39:45,720 Program, odnosi się do niego specjalnie. 971 00:39:45,720 --> 00:39:48,950 Więc jeśli to kot dotyka wskaźnik myszy, to się dzieje 972 00:39:48,950 --> 00:39:51,350 grać to w dół i odczekaj dwie sekundy, a 973 00:39:51,350 --> 00:39:53,030 następnie powtórz nauseum reklam. 974 00:39:53,030 --> 00:39:55,360 >> Więc idź naprzód i uderzył sztukę. 975 00:39:55,360 --> 00:39:57,580 Nic się nie dzieje, ale jeśli chcę zwierzątko 976 00:39:57,580 --> 00:39:59,310 cat teraz, mogę po prostu. 977 00:39:59,310 --> 00:40:01,130 [MEOW] 978 00:40:01,130 --> 00:40:02,244 DAVID Malan: Adorable. 979 00:40:02,244 --> 00:40:05,956 [MEOW] 980 00:40:05,956 --> 00:40:08,750 DAVID Malan: Dobra, mniej irytujące, ale również staje się nudne, 981 00:40:08,750 --> 00:40:11,480 więc przejdźmy i zobaczyć, czy nie możemy wstrzyknąć 982 00:40:11,480 --> 00:40:12,460 trochę więcej logiki. 983 00:40:12,460 --> 00:40:14,300 To był przykład siedem. 984 00:40:14,300 --> 00:40:16,090 >> Tu w przykładzie osiem, będziemy 985 00:40:16,090 --> 00:40:18,670 wprowadzić warunek else. 986 00:40:18,670 --> 00:40:21,440 Tak dużo jak dosłownym rozstaju dróg, w którym można przejść 987 00:40:21,440 --> 00:40:24,260 lewo lub możesz iść w prawo, stan w programowaniu 988 00:40:24,260 --> 00:40:28,120 język jak Scratch, lub jak zobaczymy C, może zezwolić na 989 00:40:28,120 --> 00:40:32,230 iść w jednym kierunku lub innym poprzez IF ELSE konstruować. 990 00:40:32,230 --> 00:40:35,160 Więc dosłownie IF dotykając wskaźnikiem myszy, to 991 00:40:35,160 --> 00:40:38,680 zagra jakiś dźwięk, ELSE to będzie grać to inne 992 00:40:38,680 --> 00:40:39,800 dźwięk, meow. 993 00:40:39,800 --> 00:40:42,510 Teraz, jeśli można wywnioskować z nazwy tych dźwięków, można 994 00:40:42,510 --> 00:40:45,310 chyba domyślam się, co ten program oznaczało to wyczarować 995 00:40:45,310 --> 00:40:46,250 pomysł. 996 00:40:46,250 --> 00:40:48,742 Ten kot miauczy szczęśliwie. 997 00:40:48,742 --> 00:40:49,230 [MEOW] 998 00:40:49,230 --> 00:40:51,410 DAVID Malan: szczęście, ale nie 999 00:40:51,410 --> 00:40:52,926 bardzo lubią być dotykane. 1000 00:40:52,926 --> 00:40:54,550 [Ryczy] 1001 00:40:54,550 --> 00:40:57,500 DAVID Malan: Więc teraz mamy kota, który będzie krzyczeć na ciebie. 1002 00:40:57,500 --> 00:41:00,570 >> Dobrze, dobrze, jeden ostatni przykład z kotów tu i 1003 00:41:00,570 --> 00:41:02,920 Otwórzmy wersji dziewięć to tutaj. 1004 00:41:02,920 --> 00:41:06,190 Więc teraz mamy kolejnego, najbardziej irytujący dźwięk, że mogłem 1005 00:41:06,190 --> 00:41:11,630 znaleźć, więc mamy morsa lub lew morski tutaj kto będzie 1006 00:41:11,630 --> 00:41:13,222 wykonaj następujące czynności. 1007 00:41:13,222 --> 00:41:20,870 [KORA SEAL] 1008 00:41:20,870 --> 00:41:23,310 DAVID Malan: Okay, więc to potrwa do dowiedzieć się, jak 1009 00:41:23,310 --> 00:41:24,640 ten program działa. 1010 00:41:24,640 --> 00:41:28,560 Więc tym razem, to zwierzę ma dwa scenariusze, a co 1011 00:41:28,560 --> 00:41:31,050 Ciekawe jest to, że te skrypty będą wykonywać 1012 00:41:31,050 --> 00:41:32,260 równolegle. 1013 00:41:32,260 --> 00:41:35,340 Tak dlatego, że zarówno początek z jedną zieloną flagą kliknięciu 1014 00:41:35,340 --> 00:41:38,080 To jak tak, i oba programy zaczną go 1015 00:41:38,080 --> 00:41:41,370 raz nawet jeśli są one pętli zawsze. 1016 00:41:41,370 --> 00:41:44,420 Więc w górę skryptu, mam trochę logiki. 1017 00:41:44,420 --> 00:41:49,275 Jakie funkcje, które dostarczają tam? 1018 00:41:49,275 --> 00:41:50,740 [KORA SEAL] 1019 00:41:50,740 --> 00:41:51,670 PUBLICZNOŚCI: [niesłyszalne] 1020 00:41:51,670 --> 00:41:53,295 DAVID Malan: Jeśli to co? 1021 00:41:53,295 --> 00:41:53,760 [KORA SEAL] 1022 00:41:53,760 --> 00:41:55,852 PUBLICZNOŚCI: Jeśli wyciszony do zera, to będzie grać dalej 1023 00:41:55,852 --> 00:41:58,410 dźwiękowy. [KORA SEAL] 1024 00:41:58,410 --> 00:41:58,940 DAVID Malan: Dobra, dobra. 1025 00:41:58,940 --> 00:42:01,960 Więc jeśli wyciszone, cokolwiek to jest, to jest to pomarańczowe zero, 1026 00:42:01,960 --> 00:42:05,370 Następnie odtwarzać dźwięk lew morski i myśleć: "Och, 1027 00:42:05,370 --> 00:42:06,770 hi, "przez dwie sekundy. 1028 00:42:06,770 --> 00:42:09,380 Teraz nie wiem, co jest wyciszony, ale zero wyczarowuje 1029 00:42:09,380 --> 00:42:11,230 Pomysł fałszywe lub wyłączyć. 1030 00:42:11,230 --> 00:42:14,490 Więc jeśli wyciszone jest fałszywe, więc jeśli nie jest wyciszony, 1031 00:42:14,490 --> 00:42:15,660 przechowywać odtwarzanie dźwięku. 1032 00:42:15,660 --> 00:42:17,350 Dobrze, dobrze, w jaki sposób wyłączyć tę rzecz? 1033 00:42:17,350 --> 00:42:19,310 >> Cóż, spójrzmy na drugi skrypt tam. 1034 00:42:19,310 --> 00:42:22,130 Drugi skrypt mówi ustawić wyciszony do zera. 1035 00:42:22,130 --> 00:42:25,180 Zawiadomienie to również pomarańczowy, więc co to jest Scratch ma kolory 1036 00:42:25,180 --> 00:42:27,400 bloki w tym samym odcieniu czy to rodzaj 1037 00:42:27,400 --> 00:42:28,850 logicznie powiązane. 1038 00:42:28,850 --> 00:42:32,850 Tak, jak było wyciszone doładowanie orange, więc tu jest wyciszony 1039 00:42:32,850 --> 00:42:34,060 wymienione w pomarańczowym bloku. 1040 00:42:34,060 --> 00:42:36,170 Ale to jest przypisania zmiennych, tak jak w 1041 00:42:36,170 --> 00:42:39,170 algebra, masz X i Y i Z, w programowaniu masz 1042 00:42:39,170 --> 00:42:41,440 zmienne, ale są na ogół - 1043 00:42:41,440 --> 00:42:42,580 niech wstrzymać na chwilę i postać jak 1044 00:42:42,580 --> 00:42:44,280 aby zatrzymać ten szczekanie. 1045 00:42:44,280 --> 00:42:45,480 Jak mam to zrobić? 1046 00:42:45,480 --> 00:42:46,480 [KORA SEAL] 1047 00:42:46,480 --> 00:42:47,920 DAVID Malan: Dobra. 1048 00:42:47,920 --> 00:42:49,490 Został zatrzymany. Okay. 1049 00:42:49,490 --> 00:42:52,230 >> Tak, jak w algebrze masz zmienne X, Y i Z, ale w 1050 00:42:52,230 --> 00:42:55,260 programowanie, o takie zmienne jak: x, y i z ogólnie 1051 00:42:55,260 --> 00:42:57,330 mile widziana, ponieważ nie są one w ogóle wyraziste. 1052 00:42:57,330 --> 00:43:00,070 Oni nie mają w ogóle znaczenie semantyczne, a więc w najbardziej 1053 00:43:00,070 --> 00:43:02,110 języki programowania, zmienne mogą mieć pełne 1054 00:43:02,110 --> 00:43:05,270 pełnoprawnymi nazwy lub słów lub zwrotów, jak wyciszony, aby powiedzieć 1055 00:43:05,270 --> 00:43:06,030 co robią. 1056 00:43:06,030 --> 00:43:09,380 Więc ten drugi skrypt również słucha zawsze, i powiedział 1057 00:43:09,380 --> 00:43:12,100 jeśli klucz, Przestrzeń klawiszowa klawiatura jest 1058 00:43:12,100 --> 00:43:13,370 naciśnięty, znak zapytania. 1059 00:43:13,370 --> 00:43:16,300 Więc jest to warunek o wyrażenie logiczne, które jest 1060 00:43:16,300 --> 00:43:19,010 odpowie na pytanie albo prawdą lub fałszywe, 1061 00:43:19,010 --> 00:43:22,880 to muszę się w niej, jeśli klawisz zostanie naciśnięty i przestrzeń 1062 00:43:22,880 --> 00:43:28,020 IF wyciszony jest zero, ustawione wyciszony do jednego, ELSE ustawić wyciszony do zera. 1063 00:43:28,020 --> 00:43:30,510 Więc ten drugi widelec w drodze, i jak mam zawiadomienie 1064 00:43:30,510 --> 00:43:33,500 zagnieżdżone dwa, jeśli warunki, jest sposobem na sprawdzenie jest 1065 00:43:33,500 --> 00:43:36,610 Spacja wciśnięty, bo jeśli tak, to albo chcesz iść w tym 1066 00:43:36,610 --> 00:43:38,000 sposób lub w ten sposób. 1067 00:43:38,000 --> 00:43:40,210 I w jaki sposób odwrócić wartość wyciszony? 1068 00:43:40,210 --> 00:43:41,410 Muszę sprawdzić to jest zero? 1069 00:43:41,410 --> 00:43:45,890 Jeśli tak jest, że jest to jeden, jeszcze zrobić to zero więc przełączać 1070 00:43:45,890 --> 00:43:47,670 jego dwóch państw. 1071 00:43:47,670 --> 00:43:50,030 >> Dobrze, więc mamy jeszcze trochę tych podstawowych 1072 00:43:50,030 --> 00:43:50,540 konstrukty. 1073 00:43:50,540 --> 00:43:52,810 Mamy wyrażeń logicznych, i uświadomić sobie, zbyt, są 1074 00:43:52,810 --> 00:43:54,050 nie wszystko, co nieznane. 1075 00:43:54,050 --> 00:43:56,730 W rzeczywistości, tu jest szybkie screenshot z Harvard Kursu CS50 1076 00:43:56,730 --> 00:43:59,740 Narzędzie zakupy i każda strona, że ​​obecnie nie ma pola wyboru 1077 00:43:59,740 --> 00:44:02,420 i upadki drop naprawdę, przez cały ten czas był używany 1078 00:44:02,420 --> 00:44:03,430 Wyrażenia logiczne. 1079 00:44:03,430 --> 00:44:05,760 W tej sprawie, jeśli klikniesz pole wyboru obok 1080 00:44:05,760 --> 00:44:08,620 Kurs większa lub równa 4,5, lub przy tym samym 1081 00:44:08,620 --> 00:44:11,200 wydział, jesteś podając wyrażenie logiczne. 1082 00:44:11,200 --> 00:44:14,780 Pokaż mi kursy dla których wyrażenie jest prawdziwe. 1083 00:44:14,780 --> 00:44:17,080 Lub w prawo, nie jest sprzeczne z kursów nie jestem 1084 00:44:17,080 --> 00:44:20,440 biorąc, jeżeli jest zaznaczona, to tak, chcesz sprawdzić 1085 00:44:20,440 --> 00:44:22,890 warunek, jeszcze chcesz ignorować. 1086 00:44:22,890 --> 00:44:25,170 Więc wyrażenia logiczne są jakby wszystko wokół, ale gdy 1087 00:44:25,170 --> 00:44:28,080 możemy umieścić je w warunkach, czy jeżeli warunki, JEŚLI 1088 00:44:28,080 --> 00:44:30,480 Elses, lub może nawet symulować głębiej 1089 00:44:30,480 --> 00:44:32,830 poziomy, IF ELSE IF ELSE - 1090 00:44:32,830 --> 00:44:34,430 tak, że coś w rodzaju stanu trójskładnikowych. 1091 00:44:34,430 --> 00:44:36,920 Możesz iść w ten sposób ani ten sposób, albo w ten sposób. 1092 00:44:36,920 --> 00:44:39,680 Możemy informować gniazdowania rzeczy iść w różnych kierunkach. 1093 00:44:39,680 --> 00:44:41,800 >> Więc Scratch ma te pętle, jak zawsze. 1094 00:44:41,800 --> 00:44:44,750 Ma te cechy, jak Repeat 10, niektóre 1095 00:44:44,750 --> 00:44:46,260 skończoną liczbę razy. 1096 00:44:46,260 --> 00:44:49,040 Mamy możliwość teraz, aby ustawić zmienne, więc w tym przypadku 1097 00:44:49,040 --> 00:44:51,810 Wcześniej oświadczył na przykład, zmienną skarpetki. 1098 00:44:51,810 --> 00:44:54,340 Mam ustawiony na 0, a to jest jeszcze inny kierunek 1099 00:44:54,340 --> 00:44:56,940 mogliśmy podjąć się tutaj z Józefem, w którym może ja 1100 00:44:56,940 --> 00:45:00,150 tylko śledzić, ile mam na skarpetki i zakończyć 1101 00:45:00,150 --> 00:45:03,490 programu, gdy wartość zmiennej jest 2. 1102 00:45:03,490 --> 00:45:05,660 To będzie kolejny sposób rodzaj uogólnienia, że 1103 00:45:05,660 --> 00:45:08,820 problemem i robi coś znowu i znowu. 1104 00:45:08,820 --> 00:45:12,080 Cóż, należy iść dalej i teraz wprowadzić kilka nowych rzeczy. 1105 00:45:12,080 --> 00:45:14,100 Więc tych z wcześniejszego programowania doświadczenie 1106 00:45:14,100 --> 00:45:17,120 wiem, że wiele języków są tablice lub wektorów lub 1107 00:45:17,120 --> 00:45:19,970 Listy, i rzeczywiście, Scratch ma czegoś takiego, zbyt. 1108 00:45:19,970 --> 00:45:22,510 Zobaczmy więc, jeśli nie możemy brać rzeczy do następnego poziomu tutaj. 1109 00:45:22,510 --> 00:45:24,920 Jeśli mam możliwość, teraz, z tych puzzli do 1110 00:45:24,920 --> 00:45:29,080 dodać coś, podobnie jak słowo lub numer, do zmiennej, mogę 1111 00:45:29,080 --> 00:45:30,550 zaczynają gromadzić rzeczy. 1112 00:45:30,550 --> 00:45:33,630 I to jest rzeczywiście bardzo apropos na takie rzeczy jak gry, 1113 00:45:33,630 --> 00:45:35,810 fabularne gry, gdzie jesteś rodzajem chodzenia 1114 00:45:35,810 --> 00:45:38,600 jakiś świat fantasy zbieranie rzeczy, zbieranie rzeczy, 1115 00:45:38,600 --> 00:45:39,900 zdobywanie punktów, lub tym podobne. 1116 00:45:39,900 --> 00:45:42,310 Być może chcesz śledzić jakiegoś magazynu, a 1117 00:45:42,310 --> 00:45:45,180 rzeczywiście, to, co jeden z naszych byłych studentów tu zrobił z 1118 00:45:45,180 --> 00:45:47,750 coś, co nazywa Fruitcraft RPG. 1119 00:45:47,750 --> 00:45:51,820 >> Więc pozwól mi iść do przodu i otworzyć to coś tutaj, w 1120 00:45:51,820 --> 00:45:56,260 Fruitcraft mamy ten świat się w górę. 1121 00:45:56,260 --> 00:45:58,820 Więc pozwól mi iść dalej i kliknij zieloną flagę. 1122 00:45:58,820 --> 00:46:01,040 Wskazówka w lewym górnym rogu jest jakiś zapasów. 1123 00:46:01,040 --> 00:46:04,110 , Który jest realizowany w Scratch jak to, co my nazywamy tablicę lub 1124 00:46:04,110 --> 00:46:06,890 lista, a teraz mamy tę małą animację. 1125 00:46:06,890 --> 00:46:10,440 Więc po prostu zaczęliśmy wcześniej z tej historii miłosnej cookie 1126 00:46:10,440 --> 00:46:13,320 a potem awansowała do kotów i lwy morskie, teraz możemy mieć 1127 00:46:13,320 --> 00:46:15,100 rzeczy, które są jeszcze bardziej interaktywne. 1128 00:46:15,100 --> 00:46:18,250 A ten mały niebieski facet, mogę zacząć się poruszać jego 1129 00:46:18,250 --> 00:46:19,500 mały dom tutaj. 1130 00:46:19,500 --> 00:46:22,570 Wygląda więc na to, że ma wyjście na dół, więc używam 1131 00:46:22,570 --> 00:46:25,260 Klawisze strzałek, w górę, w dół, w lewo w prawo. 1132 00:46:25,260 --> 00:46:28,370 A teraz jestem na zewnątrz, więc niech to, co mam tutaj. 1133 00:46:28,370 --> 00:46:30,920 Wygląda jak pomarańczowy, i rzeczywiście, jak tylko dotknę 1134 00:46:30,920 --> 00:46:33,110 orange, robi koleś w moim ekwipunku. 1135 00:46:33,110 --> 00:46:35,640 Jeśli pójdę tutaj do wiśni, teraz mam coś 1136 00:46:35,640 --> 00:46:36,760 indziej w moim ekwipunku. 1137 00:46:36,760 --> 00:46:39,100 I to wszystko jest ładne i słodkie, ale myślę o tym, jak teraz, to 1138 00:46:39,100 --> 00:46:39,840 jest realizowany. 1139 00:46:39,840 --> 00:46:42,490 No cóż, mamy to pojęcie listy, i to najwyraźniej 1140 00:46:42,490 --> 00:46:45,470 kawałek układanki, które po prostu powiedzieć, co chcesz dodać, dodać 1141 00:46:45,470 --> 00:46:46,950 pomarańczowy, dodać wiśnie. 1142 00:46:46,950 --> 00:46:48,540 Teraz, co jest ten mały niebieski facet robi? 1143 00:46:48,540 --> 00:46:49,810 Cóż, on jest sprite. 1144 00:46:49,810 --> 00:46:52,190 I prawdopodobnie, pomarańczowy i wiśnie - 1145 00:46:52,190 --> 00:46:54,140 sami byli odrębne duchy. 1146 00:46:54,140 --> 00:46:56,980 I korzystania z warunków w logicznych wyrażeń, 1147 00:46:56,980 --> 00:47:00,530 uczniem był prawdopodobnie w stanie wyrazić IF facet niebieski jest 1148 00:47:00,530 --> 00:47:04,590 wiśnie dotykając następnie dodać wiśnie słowo do jego 1149 00:47:04,590 --> 00:47:07,890 zapasów, a następnie także ukryć cherry ikonkę. 1150 00:47:07,890 --> 00:47:10,600 Tak więc pod maską, zapewne nadal jest wiśnia 1151 00:47:10,600 --> 00:47:11,350 sprite tam. 1152 00:47:11,350 --> 00:47:14,160 Mamy po prostu powiedział jej się skutecznie niewidoczny. 1153 00:47:14,160 --> 00:47:16,340 >> Teraz, jeśli iść dalej tutaj, możemy również zrobić 1154 00:47:16,340 --> 00:47:19,150 bliższy rzeczą, gdzie mogę iść i przeczytać znak. 1155 00:47:19,150 --> 00:47:23,170 Więc jeśli facet dotykając niebieski znak, możemy mieć ten blok Say 1156 00:47:23,170 --> 00:47:26,455 jak kot mówił do nas w słowach, witam, wcześniej, "Got 1157 00:47:26,455 --> 00:47:26,880 niektóre owoce? 1158 00:47:26,880 --> 00:47:29,290 Przynieś go do miejsca, owoców. "Dobrze, więc teraz, najwyraźniej, 1159 00:47:29,290 --> 00:47:30,550 Mam swoje kierunki. 1160 00:47:30,550 --> 00:47:33,050 Mogę iść tu do miejsca owoców, linii się w górę 1161 00:47:33,050 --> 00:47:33,740 z drzwiami. 1162 00:47:33,740 --> 00:47:35,390 Teraz jestem tu. 1163 00:47:35,390 --> 00:47:38,120 Mogę iść do mężczyzny przy ladzie. 1164 00:47:38,120 --> 00:47:40,330 On stwierdzi, że jestem blisko niego, więc nie muszą być 1165 00:47:40,330 --> 00:47:46,780 zupełnie identycznie dotykając, i wygrali mecz. 1166 00:47:46,780 --> 00:47:49,890 Więc nie mamy Fruitcraft RPG. 1167 00:47:49,890 --> 00:47:52,200 >> Tak więc możemy robić rzeczy jeszcze bardziej zaawansowane niż to. 1168 00:47:52,200 --> 00:47:53,200 Możemy dodać dźwięki. 1169 00:47:53,200 --> 00:47:54,610 Możemy dodać pseudo losowości. 1170 00:47:54,610 --> 00:47:56,260 Możemy dodać złożoności. 1171 00:47:56,260 --> 00:47:58,490 Pozwól mi iść naprzód tu, i zamiast zrobić to samodzielnie, 1172 00:47:58,490 --> 00:48:01,240 pozwól mi pokazać jeden z argumentów bardziej wyrafinowanych 1173 00:48:01,240 --> 00:48:06,640 dostaliśmy w zeszłym roku z pewnego niejakiego Blake. 1174 00:48:06,640 --> 00:48:08,910 Możemy mieć jednego wolontariusza, który jest wygodny pojawiające się na 1175 00:48:08,910 --> 00:48:12,600 aparat fotograficzny i jest się do grania w gry? 1176 00:48:12,600 --> 00:48:13,450 Jak o tam? 1177 00:48:13,450 --> 00:48:15,380 Chodź na górę. 1178 00:48:15,380 --> 00:48:19,680 W porządku, więc gry, które masz tylko nieświadomie 1179 00:48:19,680 --> 00:48:20,780 ochotnika do gry - 1180 00:48:20,780 --> 00:48:25,910 [Aplauz] 1181 00:48:25,910 --> 00:48:28,610 DAVID Malan: - jest coś z przeszłości nazywane 1182 00:48:28,610 --> 00:48:30,100 "Frogger". Jakie jest twoje imię? 1183 00:48:30,100 --> 00:48:30,730 Renda: Renda. 1184 00:48:30,730 --> 00:48:31,050 DAVID Malan: Redna? 1185 00:48:31,050 --> 00:48:32,530 Renda: To jak Brenda z ur. 1186 00:48:32,530 --> 00:48:33,190 DAVID Malan: Okay, Renda. 1187 00:48:33,190 --> 00:48:33,590 David. 1188 00:48:33,590 --> 00:48:34,580 Miło Pana poznać. 1189 00:48:34,580 --> 00:48:38,690 >> Więc w "Frogger", i czy możemy zwiększyć głośność tylko 1190 00:48:38,690 --> 00:48:39,780 trochę, jesteś ten mały 1191 00:48:39,780 --> 00:48:41,010 zielona żaba na dnie. 1192 00:48:41,010 --> 00:48:43,940 Można użyć w lewo, w prawo, w górę iw dół, a Twoim celem jest 1193 00:48:43,940 --> 00:48:46,510 przejść przez ulicę, przez rzekę i dotknij Lily Pads 1194 00:48:46,510 --> 00:48:47,760 na szczycie. 1195 00:48:52,090 --> 00:48:53,440 Aw. 1196 00:48:53,440 --> 00:48:54,630 One more t - 1197 00:48:54,630 --> 00:48:56,400 redo, dobrze? 1198 00:48:56,400 --> 00:48:58,890 Zatrzymajmy się hitem. 1199 00:48:58,890 --> 00:49:00,140 Nikt nie widział tego. 1200 00:49:10,470 --> 00:49:12,930 [Aplauz] 1201 00:49:17,023 --> 00:49:17,850 [Aplauz] 1202 00:49:17,850 --> 00:49:19,341 DAVID Malan: Tak. 1203 00:49:19,341 --> 00:49:20,832 Bardzo dobrze zrobione. 1204 00:49:20,832 --> 00:49:22,082 Doskonały, dziękuję. 1205 00:49:27,300 --> 00:49:29,430 >> Tak, że nie było Frogger. Teraz, gdy wiesz, co masz 1206 00:49:29,430 --> 00:49:32,170 dostał do siebie, jeszcze inna wolontariuszka 1207 00:49:32,170 --> 00:49:34,910 gry przedstawione przez innego ucznia. 1208 00:49:34,910 --> 00:49:35,560 Chcesz wejść na górę? 1209 00:49:35,560 --> 00:49:36,576 Jak masz na imię? 1210 00:49:36,576 --> 00:49:37,000 RICHARD: Richard. 1211 00:49:37,000 --> 00:49:37,420 DAVID Malan: Richard. 1212 00:49:37,420 --> 00:49:39,732 Dobrze, Richard, chodź na górę. 1213 00:49:39,732 --> 00:49:42,187 [Aplauz] 1214 00:49:45,140 --> 00:49:47,030 DAVID Malan: Masz coś, że będzie brzmieć 1215 00:49:47,030 --> 00:49:54,180 znać wkrótce, więc tutaj są twoje instrukcje. 1216 00:49:54,180 --> 00:49:56,580 Tak więc w chwili, niektóre puzzle będą przewijać w górę 1217 00:49:56,580 --> 00:49:58,150 z ekranu, które wyglądają albo w lewo 1218 00:49:58,150 --> 00:49:59,450 lub w prawo, w górę lub w dół. 1219 00:49:59,450 --> 00:50:01,230 Będziesz musiał uderzyć strzałek w taki sposób, 1220 00:50:01,230 --> 00:50:04,540 że odpowiada tych puzzli kolejce z 1221 00:50:04,540 --> 00:50:05,720 Symbole zastępcze na górze. 1222 00:50:05,720 --> 00:50:07,500 Więc kiedy zobaczysz strzałkę w lewo, i to linie się z lewej 1223 00:50:07,500 --> 00:50:09,260 arrow, uderzył lewą strzałkę. 1224 00:50:09,260 --> 00:50:10,866 Możesz zacząć. 1225 00:50:10,866 --> 00:50:13,674 [MUZYKA - "Stronger" Kayne West] 1226 00:51:21,222 --> 00:51:23,470 DAVID Malan: Dobra, Wielkie brawa dla Richarda. 1227 00:51:23,470 --> 00:51:26,082 [Aplauz] 1228 00:51:32,426 --> 00:51:33,720 DAVID Malan: Bardzo dobrze zrobione. 1229 00:51:33,720 --> 00:51:34,110 Dziękuję. 1230 00:51:34,110 --> 00:51:37,104 [Aplauz] 1231 00:51:41,600 --> 00:51:44,330 >> DAVID Malan: Więc zabawa i, pozornie, coś 1232 00:51:44,330 --> 00:51:46,590 zastraszenia, jak może być zaimplementować coś jak 1233 00:51:46,590 --> 00:51:49,550 pozornie wyrafinowany jak to uświadomić sobie, że uczeń 1234 00:51:49,550 --> 00:51:51,450 nie określony i po prostu piszę to wszystko na raz. 1235 00:51:51,450 --> 00:51:54,200 Przeciwnie, można rozbić problem jak pozornie skomplikowane 1236 00:51:54,200 --> 00:51:56,840 ponieważ na znacznie mniejsze kawałki, co również jest 1237 00:51:56,840 --> 00:51:57,560 będzie tematem. 1238 00:51:57,560 --> 00:52:00,490 Najgorsze co można zrobić w pisaniu programu w większości każdy 1239 00:52:00,490 --> 00:52:03,480 język jest usiąść, dostać naprawdę podekscytowany, napisz 1240 00:52:03,480 --> 00:52:07,200 całe cholerstwo, a następnie po prostu mam nadzieję, że to działa przez 1241 00:52:07,200 --> 00:52:08,510 Czas skończysz pisać. 1242 00:52:08,510 --> 00:52:10,920 A proces programowania, zwykle 1243 00:52:10,920 --> 00:52:13,440 być bardzo celowe, bardzo iteracyjny, w którym można po prostu 1244 00:52:13,440 --> 00:52:16,955 zestaw bardzo małych kroków dla siebie, bite-size kawałki 1245 00:52:16,955 --> 00:52:20,070 chcesz ukąsić, i tak, że masz te poczytalności 1246 00:52:20,070 --> 00:52:21,740 kontrole, małe kamienie milowe można spotkać. 1247 00:52:21,740 --> 00:52:24,170 I wtedy można zbudować na górze tych do tworzenia bardziej 1248 00:52:24,170 --> 00:52:25,400 wyrafinowane rzeczy nadal. 1249 00:52:25,400 --> 00:52:26,820 >> Tak na przykład, w jaki sposób możemy go o 1250 00:52:26,820 --> 00:52:28,380 wykonawczych grę jak to? 1251 00:52:28,380 --> 00:52:30,160 Cóż, szczerze mówiąc, na pewno po prostu zacząć od 1252 00:52:30,160 --> 00:52:32,260 wspierającej jeden klawisz naraz. 1253 00:52:32,260 --> 00:52:34,840 Miejmy tylko zaimplementować obsługę lewej strzałki. 1254 00:52:34,840 --> 00:52:37,610 Tak więc uczeń musiał jakoś tworzyć w Photoshopie, albo w 1255 00:52:37,610 --> 00:52:40,340 Podrapać się za pomocą graficznego edytora, trochę się 1256 00:52:40,340 --> 00:52:42,680 Strzałka, który wygląda jak ten na górze po lewej tam, po prostu 1257 00:52:42,680 --> 00:52:43,910 szary zastępczy. 1258 00:52:43,910 --> 00:52:46,610 Następnie uczeń miał się dowiedzieć, co x, y koordynowania 1259 00:52:46,610 --> 00:52:48,380 je, gdzie umieścić go w oknie. 1260 00:52:48,380 --> 00:52:50,730 0, 0 jest tutaj, więc trzeba dowiedzieć się liczbę 1261 00:52:50,730 --> 00:52:53,690 pikseli lub kropek, w celu wyrównania tej strzałki z 1262 00:52:53,690 --> 00:52:54,800 górze ekranu. 1263 00:52:54,800 --> 00:52:57,040 A potem raz, że jest na miejscu, program faktycznie nie 1264 00:52:57,040 --> 00:53:00,380 zrobić coś jeszcze, więc musisz następnie drugą ikonkę na 1265 00:53:00,380 --> 00:53:04,470 instancja zielona strzałka, która jest również skierowana w lewo, a ty 1266 00:53:04,470 --> 00:53:06,710 następnie trzeba zacząć pisać niektóre skrypty dla niego. 1267 00:53:06,710 --> 00:53:09,310 >> I można zauważyć, być może, że te rzeczy zaczęli przychodzić na 1268 00:53:09,310 --> 00:53:11,470 różne prędkości, a kolory były różne 1269 00:53:11,470 --> 00:53:13,750 miejscach, a to dlatego, że uczeń użył trochę 1270 00:53:13,750 --> 00:53:14,990 pseudo losowość. 1271 00:53:14,990 --> 00:53:17,440 I pseudo przypadkowości, tylko znaczy wybrać numer 1272 00:53:17,440 --> 00:53:20,230 pomiędzy czymś a czymś, ponieważ można 1273 00:53:20,230 --> 00:53:22,890 zacząć rzeczy mapie, jak, jeśli liczba jest pomiędzy jednym i 1274 00:53:22,890 --> 00:53:24,940 pięć, dobrze, zróbmy coś na zielono. 1275 00:53:24,940 --> 00:53:28,290 Jeśli jest to od 6 do 10, zróbmy kawałek układanki 1276 00:53:28,290 --> 00:53:29,730 czerwony zamiast. 1277 00:53:29,730 --> 00:53:31,840 Tak długo, jak masz sposób generowania jakiś 1278 00:53:31,840 --> 00:53:34,730 przypadkowość, możesz podejmować decyzje w oparciu o które 1279 00:53:34,730 --> 00:53:35,260 losowość. 1280 00:53:35,260 --> 00:53:37,490 I zachować mówiąc pseudo random bo jest 1281 00:53:37,490 --> 00:53:38,390 trochę brudny sekret. 1282 00:53:38,390 --> 00:53:41,130 Komputery nie mogą pochodzić z liczb losowych. 1283 00:53:41,130 --> 00:53:42,800 Mogą tylko robić to, co każą, bo 1284 00:53:42,800 --> 00:53:44,110 są wytwarzane przez człowieka urządzeń. 1285 00:53:44,110 --> 00:53:45,880 Nie mogą po prostu odgadnąć liczbę ludzi jak my 1286 00:53:45,880 --> 00:53:46,960 czuję się jak możemy. 1287 00:53:46,960 --> 00:53:50,970 Komputer ma zrobić coś matematycznego wyczarować 1288 00:53:50,970 --> 00:53:53,970 iluzja matematycznej liczby, niekiedy przy użyciu 1289 00:53:53,970 --> 00:53:57,420 Bieżący dzień czasu jako wkład do dowiedzieć się, co 1290 00:53:57,420 --> 00:53:59,570 Numer do powrotu, ale o tym innym razem. 1291 00:53:59,570 --> 00:54:02,060 Na razie, po prostu wiem, że możemy generować pseudo losowości. 1292 00:54:02,060 --> 00:54:04,610 >> Więc raz mam zdolność do lewej strzałki, aby rozpocząć 1293 00:54:04,610 --> 00:54:07,990 występujące w różnym czasie i przy różnych prędkościach, to 1294 00:54:07,990 --> 00:54:10,230 Mogę wrócić i dodać niektóre z nich, jeśli warunki. 1295 00:54:10,230 --> 00:54:14,950 Jeżeli ta ikonka dotyka drugiego, natomiast strzałka w lewo 1296 00:54:14,950 --> 00:54:16,330 naciśnięciu przycisku - 1297 00:54:16,330 --> 00:54:17,900 więc trzy warunki w tym przypadku. 1298 00:54:17,900 --> 00:54:20,750 Mogę używać, i blok może, w tym przypadku - 1299 00:54:20,750 --> 00:54:23,210 Następnie chcę iść do przodu i zwiększyć wynik. 1300 00:54:23,210 --> 00:54:25,130 A na górze, mamy wynik, mamy Awesome, 1301 00:54:25,130 --> 00:54:26,510 Cool, Dobra i Boo. 1302 00:54:26,510 --> 00:54:29,810 Więc najwyraźniej pięciu zmiennych, że uczeń 1303 00:54:29,810 --> 00:54:32,220 używane do śledzenia tych różnych metryk. 1304 00:54:32,220 --> 00:54:34,180 Tak w skrócie, efekt końcowy jest niesamowity. 1305 00:54:34,180 --> 00:54:37,320 To jest zabawa, to zabawa grać, to zaangażowanie, ale to nie jest 1306 00:54:37,320 --> 00:54:38,380 w której student rozpoczął. 1307 00:54:38,380 --> 00:54:42,210 On rozpocząć w znacznie mniejszej liczby etapów. 1308 00:54:42,210 --> 00:54:44,470 >> Więc jakie są inne bloki, że możemy 1309 00:54:44,470 --> 00:54:45,760 splot do tych programów? 1310 00:54:45,760 --> 00:54:48,750 Cóż, jest to inna koncepcja w większości języków 1311 00:54:48,750 --> 00:54:50,730 Scratch wśród nich, znana jako nici. 1312 00:54:50,730 --> 00:54:54,660 Więc komputer nie może faktycznie naprawdę zrobić wiele rzeczy w 1313 00:54:54,660 --> 00:54:56,730 czas, przynajmniej zazwyczaj. 1314 00:54:56,730 --> 00:54:59,930 A, komputer ma zwykle tylko jeden procesor, a nawet 1315 00:54:59,930 --> 00:55:02,230 choć komputery są super szybkie i, dlatego też, 1316 00:55:02,230 --> 00:55:04,740 stworzyć iluzję robi kilka rzeczy na raz - 1317 00:55:04,740 --> 00:55:06,180 sprawdzanie poczty, coraz błyskawicznej 1318 00:55:06,180 --> 00:55:07,770 wiadomość, drukowanie dokumentu - 1319 00:55:07,770 --> 00:55:11,530 naprawdę, komputer jest tylko skoki z druku do Iming 1320 00:55:11,530 --> 00:55:15,160 do e-maila, z tyłu iz powrotem iz powrotem tak szybko, że 1321 00:55:15,160 --> 00:55:18,170 powolny umysłowo ludzie po prostu nie zdają sobie sprawy, że jest to rzeczywiście 1322 00:55:18,170 --> 00:55:21,240 prowadzenie tych programów trochę w czasie. 1323 00:55:21,240 --> 00:55:23,960 Teraz to trochę biały leżą te dni, ponieważ w dzisiejszych czasach, 1324 00:55:23,960 --> 00:55:26,740 wiele nasze komputery są tak zwane multi-core, więc 1325 00:55:26,740 --> 00:55:29,760 jeden procesor, ale wielu rdzeni, co jest trochę jak 1326 00:55:29,760 --> 00:55:31,760 posiadania wielu procesorów. 1327 00:55:31,760 --> 00:55:35,020 >> I tak czasami, komputery mogą naprawdę zrobić wiele rzeczy 1328 00:55:35,020 --> 00:55:38,500 w czasie, ale na ogół, w programie programy 1329 00:55:38,500 --> 00:55:40,200 opierać się na tych rzeczach, zwanych wątków. 1330 00:55:40,200 --> 00:55:43,160 Tak więc wątek jest coś w rodzaju miniaturowego program, który może 1331 00:55:43,160 --> 00:55:46,540 istnieją obok innego miniaturowego programu i może działać 1332 00:55:46,540 --> 00:55:51,250 równolegle, lub przynajmniej można uruchomić złudzeniu, że 1333 00:55:51,250 --> 00:55:52,990 Uciekają jednocześnie. 1334 00:55:52,990 --> 00:55:55,060 Więc Scratch popiera te rzeczy zwane nici. 1335 00:55:55,060 --> 00:55:57,580 Można mieć wiele skryptów wykonującego na raz, tak jak my 1336 00:55:57,580 --> 00:56:00,220 zrobił z lwa morskiego, a to pozwala nam rzeczywiście 1337 00:56:00,220 --> 00:56:03,620 następnie mają interakcje między tych ikonek. 1338 00:56:03,620 --> 00:56:09,910 Pozwól mi iść dalej tu i pull up, powiedzmy, wątki i 1339 00:56:09,910 --> 00:56:11,870 grać to w następujący sposób. 1340 00:56:11,870 --> 00:56:13,950 Mamy dwa duchy, a każdy z nich zobaczymy 1341 00:56:13,950 --> 00:56:15,720 ma tylko jeden scenariusz. 1342 00:56:15,720 --> 00:56:18,000 Zauważasz, wydaje się, że jakaś inteligencja w 1343 00:56:18,000 --> 00:56:21,335 kot w ten jeden, bo jest coraz bliżej - 1344 00:56:21,335 --> 00:56:21,730 [Ryczy] 1345 00:56:21,730 --> 00:56:24,540 DAVID Malan: - i bliżej do małego ptaka. 1346 00:56:24,540 --> 00:56:26,570 >> Więc jak jest operacyjny ptak? 1347 00:56:26,570 --> 00:56:28,200 Cóż, spójrz na ptaka pierwszy. 1348 00:56:28,200 --> 00:56:31,220 Skrypt ptak powiedział, kiedy zielona flaga kliknięciu, przejdź do x 1349 00:56:31,220 --> 00:56:34,020 wynosi 115 i ujemny y wynosi 150. 1350 00:56:34,020 --> 00:56:37,010 Więc po prostu zorientowali się losową lokalizację, w której chciałem 1351 00:56:37,010 --> 00:56:39,580 ptak na początek, a ja po prostu koleś go tam domyślnie. 1352 00:56:39,580 --> 00:56:42,800 Potem zawsze, jeśli nie dotyka kota, więc jest to inna 1353 00:56:42,800 --> 00:56:45,080 rodzaj pętli konstruktu, ale pomysł sam, zrób to jeszcze raz i 1354 00:56:45,080 --> 00:56:45,780 znowu i znowu. 1355 00:56:45,780 --> 00:56:49,410 Tak długo, jak nie jesteś dotykanie kota przejść trzy etapy, a 1356 00:56:49,410 --> 00:56:51,680 jeśli jesteś na krawędzi, bounce, gdzie jest to rodzaj 1357 00:56:51,680 --> 00:56:53,320 odbicie w sensie bilardowa. 1358 00:56:53,320 --> 00:56:56,140 Więc to jest jak ptak porusza rodzaju 1359 00:56:56,140 --> 00:56:58,890 pozornie losowo, ale to tylko dlatego, że odbijając 1360 00:56:58,890 --> 00:57:00,170 Ściany w tym przypadku. 1361 00:57:00,170 --> 00:57:03,170 >> Teraz kot, w międzyczasie, to rodzaj oszustwa. 1362 00:57:03,170 --> 00:57:05,520 Kot, gdy zielona flaga zostanie kliknięty, tak, zaczyna się w 1363 00:57:05,520 --> 00:57:07,390 niektórych lokalizacji, random location - 1364 00:57:07,390 --> 00:57:09,590 co najmniej częściowo, na pick 1365 00:57:09,590 --> 00:57:11,430 random zielony blok tam - 1366 00:57:11,430 --> 00:57:14,660 i zawsze, jeśli dotknięcie ptaka, odtworzyć dźwięk Lew, 1367 00:57:14,660 --> 00:57:15,790 a następnie zatrzymać skrypt. 1368 00:57:15,790 --> 00:57:18,560 Więc kiedy powiedział zakończyć, lub wyjść wcześniej, jest logiczna 1369 00:57:18,560 --> 00:57:20,600 kawałek w Scratch, które po prostu zabić program na który 1370 00:57:20,600 --> 00:57:22,900 wskazać, bo to rodzaj logicznie zrobione. 1371 00:57:22,900 --> 00:57:25,030 Ale inaczej, tu zauważyć, co się wydarzy. 1372 00:57:25,030 --> 00:57:28,470 Punkt w kierunku ptaka i o krok. 1373 00:57:28,470 --> 00:57:31,390 Więc ten punkt w kierunku ptaka jest rodzaj przewagi kota 1374 00:57:31,390 --> 00:57:34,640 dodał, że jest to bazowanie na ruchomej w ptaka, i możemy 1375 00:57:34,640 --> 00:57:37,370 teraz uczynić ten program jeszcze bardziej interesujące. 1376 00:57:37,370 --> 00:57:41,520 Zamiast przesuwać o jeden krok na raz na cykl procesora, za 1377 00:57:41,520 --> 00:57:44,280 strajku żniwo dzwonu, by tak rzec, pozwól mi iść do przodu i 1378 00:57:44,280 --> 00:57:47,350 przenieść, powiedzmy, pięć kroków na raz jak kot. 1379 00:57:47,350 --> 00:57:51,120 Kliknij przycisk Uruchom, a teraz naprawdę odnajduje go szybko. 1380 00:57:51,120 --> 00:57:55,620 Jeśli podwoimy to dalej do 10 stopni, to niby idzie 1381 00:57:55,620 --> 00:57:56,370 dla niego. 1382 00:57:56,370 --> 00:57:57,750 Teraz możemy dać ptaka 1383 00:57:57,750 --> 00:57:59,540 być może, trochę korzyści. 1384 00:57:59,540 --> 00:58:02,370 Chodźmy do ptaka i powiedzieć zamiast przenosić trzy etapy, 1385 00:58:02,370 --> 00:58:07,140 przejdźmy go 30 kroków. 1386 00:58:07,140 --> 00:58:08,700 Ale wciąż złapany w końcu. 1387 00:58:08,700 --> 00:58:10,430 >> Więc tutaj mamy dwa wątki. 1388 00:58:10,430 --> 00:58:13,230 Jest uwięziony w Scratch z dwóch skryptów i dwa 1389 00:58:13,230 --> 00:58:16,150 sprites, ale pomysł w innych językach, jest to, że można 1390 00:58:16,150 --> 00:58:19,220 napisz zasadniczo zbyt wielu programów takich jak to i mają 1391 00:58:19,220 --> 00:58:22,950 im działać naprawdę, lub imaginarily, równolegle. 1392 00:58:22,950 --> 00:58:25,280 >> Teraz istnieje również ta koncepcja znana jako programowanie 1393 00:58:25,280 --> 00:58:28,010 wydarzenia, i to jest coś, czego nie będzie widać w C, 1394 00:58:28,010 --> 00:58:30,500 język znany jako C. Przekonamy ją do końca semestru 1395 00:58:30,500 --> 00:58:33,240 w programowaniu WWW, gdy wprowadzimy JavaScript i 1396 00:58:33,240 --> 00:58:36,970 Pojęcie stron budowlanych, które są dynamiczne i interakcji 1397 00:58:36,970 --> 00:58:37,710 z użytkownikami. 1398 00:58:37,710 --> 00:58:40,430 Tak więc, w tym przypadku, jest bardzo prosty przykład dwóch 1399 00:58:40,430 --> 00:58:43,860 duchy, chłopiec i dziewczynka, z których każdy ma ich odpowiednie 1400 00:58:43,860 --> 00:58:48,040 wątków, ale jakoś te dwa są ze sobą w drodze komunikacji 1401 00:58:48,040 --> 00:58:49,490 o coś, co nazywa wydarzenia. 1402 00:58:49,490 --> 00:58:52,750 Więc pozwól mi iść dalej tu i powiększyć chłopca skrypcie 1403 00:58:52,750 --> 00:58:54,050 który wygląda tak. 1404 00:58:54,050 --> 00:58:57,510 Gdy zielona flaga kliknięciu, zawsze wykonaj następujące czynności. 1405 00:58:57,510 --> 00:59:01,510 Jeśli klawisz Spacja lub Spacja, jest wciśnięty, mówić 1406 00:59:01,510 --> 00:59:03,900 Marco na dwie sekundy, to jest czysto estetyczny na 1407 00:59:03,900 --> 00:59:06,860 ekran, trochę speech bubble, ale nadawane. 1408 00:59:06,860 --> 00:59:09,240 >> Więc transmisji jest inny kawałek Scratch to 1409 00:59:09,240 --> 00:59:12,050 reprezentatywne klasy funkcjonalności programowania 1410 00:59:12,050 --> 00:59:15,080 który pozwala na różne programy, różne wątki, 1411 00:59:15,080 --> 00:59:17,120 międzygminnym komunikować, aby w jakiś sposób wysłać 1412 00:59:17,120 --> 00:59:18,520 wiadomości, jeden do drugiego. 1413 00:59:18,520 --> 00:59:21,930 Podjęcie kartkę w klasie jest trochę niski tech 1414 00:59:21,930 --> 00:59:22,700 równoważne. 1415 00:59:22,700 --> 00:59:24,300 Więc transmitowane wydarzenie. 1416 00:59:24,300 --> 00:59:26,210 Mogę wysłać tę wiadomość, a zdarzenie słowo 1417 00:59:26,210 --> 00:59:27,270 jest całkowicie arbitralne. 1418 00:59:27,270 --> 00:59:30,000 Scratch czasami te upadki upadki, więc po prostu wpadł 1419 00:59:30,000 --> 00:59:33,230 z losowym słowem jak zdarzenia, bo teraz, co chłopiec robi 1420 00:59:33,230 --> 00:59:36,600 po naciśnięciu przycisku on jest nadawcą tego zdarzenia. 1421 00:59:36,600 --> 00:59:39,270 A jeśli patrzę teraz na dziewczyny skrypcie, jej scenariusz jest 1422 00:59:39,270 --> 00:59:42,690 super proste, ponieważ wszystkie ona musi zrobić, gdy nie działają 1423 00:59:42,690 --> 00:59:44,100 zielona flaga zostanie kliknięty. 1424 00:59:44,100 --> 00:59:47,910 Ona jest zaprojektowany do działania, kiedy otrzyma ofertę, koniec cytatu, 1425 00:59:47,910 --> 00:59:51,210 "Zdarzenie", iw tym momencie, ona zatem do słuchania 1426 00:59:51,210 --> 00:59:52,960 tzw zdarzenia ponownie. 1427 00:59:52,960 --> 00:59:55,790 Tak szybko, jak ona odbiera to wydarzenie, ona będzie krzyczeć 1428 00:59:55,790 --> 00:59:57,680 Polo dwie sekundy. 1429 00:59:57,680 --> 01:00:01,090 >> I tak można chyba wywnioskować z tego co dokładnie 1430 01:00:01,090 --> 01:00:03,190 następny wynik będzie. 1431 01:00:03,190 --> 01:00:04,910 Pozwól, kliknij zieloną flagę. 1432 01:00:04,910 --> 01:00:06,610 Nic się nie dzieje, bo trzeba zrobić, co? 1433 01:00:06,610 --> 01:00:07,310 PUBLICZNOŚCI: Spacja. 1434 01:00:07,310 --> 01:00:08,630 DAVID Malan: Spacja. 1435 01:00:08,630 --> 01:00:11,990 Chłopiec mówi Marco, dziewczyna mówi Polo. 1436 01:00:11,990 --> 01:00:13,670 Ale to nie jest na stałe zakodowany per se. 1437 01:00:13,670 --> 01:00:16,740 To między komunikacji pomiędzy skryptami, więc teraz 1438 01:00:16,740 --> 01:00:19,240 mają zdolność do podejmowania bardziej skomplikowanych programów, w których 1439 01:00:19,240 --> 01:00:22,830 te dwa są w jakiś sposób wzajemnie komunikować. 1440 01:00:22,830 --> 01:00:25,260 >> Więc w co trafić możemy wziąć? 1441 01:00:25,260 --> 01:00:28,260 Cóż, w zestawie problemu 0, naprawdę, celem jest 1442 01:00:28,260 --> 01:00:29,830 zabawy z Scratch. 1443 01:00:29,830 --> 01:00:32,440 Do edycji hakerów, będziesz zamiast bawić się z więcej 1444 01:00:32,440 --> 01:00:35,850 wyrafinowana wersja Scratch nazywa BYOB, produkcji 1445 01:00:35,850 --> 01:00:38,040 Własnych bloków, ale idea jest ta sama. 1446 01:00:38,040 --> 01:00:38,780 Będziesz w stanie - 1447 01:00:38,780 --> 01:00:39,710 Tak, to było zamierzone. 1448 01:00:39,710 --> 01:00:42,450 Pochodzi z Berkeley. 1449 01:00:42,450 --> 01:00:45,200 BYOB jest wydanie wersji hacker tego, ale zarówno 1450 01:00:45,200 --> 01:00:48,180 demografii, Standard Edition oraz Edition hakerskiej PODOBNIE, 1451 01:00:48,180 --> 01:00:50,940 cel w kasie na nadchodzący tydzień to tak naprawdę tylko do nurkowania w 1452 01:00:50,940 --> 01:00:53,050 głębokie, ubrudzić sobie ręce z programowaniem i uczynić 1453 01:00:53,050 --> 01:00:55,240 coś ciekawego, zrobić coś interaktywny, spraw, 1454 01:00:55,240 --> 01:00:58,020 coś artystycznego, wyśmiać coś rzeczywiście 1455 01:00:58,020 --> 01:01:01,020 wykazać, tak, że koniec tygodnia, będziesz miał projekt, 1456 01:01:01,020 --> 01:01:03,770 nie tylko dla pierwszej CS50 PSET, ale musisz 1457 01:01:03,770 --> 01:01:05,620 trochę coś, co można pokazać w Annenberg do 1458 01:01:05,620 --> 01:01:08,830 przyjaciół czy nawet rodziny, przekazując go na stronie internetowej MIT. 1459 01:01:08,830 --> 01:01:11,760 I tak jak powiedział w środę, oczekujemy 90% tej klasy, 1460 01:01:11,760 --> 01:01:13,970 ogólnie zrobić standardowe edycje. 1461 01:01:13,970 --> 01:01:16,660 Sobie sprawę, że jest tam również ten rynek zbytu dla tych z was, którzy 1462 01:01:16,660 --> 01:01:18,990 mogłyby znaleźć się trochę nudzić się z podstawami 1463 01:01:18,990 --> 01:01:21,650 i naprawdę chcesz nurkować i rzemiosła wizję masz już 1464 01:01:21,650 --> 01:01:25,380 mieć z wcześniejszego doświadczenia w tej bardziej przyjazny 1465 01:01:25,380 --> 01:01:26,240 środowiska. 1466 01:01:26,240 --> 01:01:29,030 >> Więc pozwól mi wyciągnąć jeszcze jeden przykład, że jeden z naszych byłych 1467 01:01:29,030 --> 01:01:33,830 Studenci tutaj zrobił i opowiedzieć coś przez piosenki. 1468 01:01:33,830 --> 01:01:37,430 To podobnie, jak to odgrywa, zastanowić się, jak go o 1469 01:01:37,430 --> 01:01:40,520 realizacji tego programu za pomocą właśnie te same 1470 01:01:40,520 --> 01:01:44,180 cegiełki, trochę pseudo losowości, a 1471 01:01:44,180 --> 01:01:46,010 trochę znanego utworu. 1472 01:01:46,010 --> 01:01:47,910 Gdyby udało nam się zwiększyć głośność tylko trochę? 1473 01:01:47,910 --> 01:01:49,160 [MUZYKA - "Pada MEN" Dziewczyny pogoda] 1474 01:03:02,261 --> 01:03:03,930 >> DAVID Malan: To jest to dla CS50. 1475 01:03:03,930 --> 01:03:05,860 Do zobaczenia w poniedziałek. 1476 01:03:05,860 --> 01:03:21,152 [Aplauz]