1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> DAVID MALAN: To CS50, a to Jest to początek jednego tygodnia. 3 00:00:14,430 --> 00:00:17,930 I to, co myśleliśmy, że możemy zrobić, to pociągnąć Kurtyna urządzenia, które wielu 4 00:00:17,930 --> 00:00:20,970 z masz prawdopodobnie minął teraz lat, ale nigdy nie może całkowicie 5 00:00:20,970 --> 00:00:22,280 Wiadomo, co to jest. 6 00:00:22,280 --> 00:00:26,000 Więc to urządzenie będzie prawdopodobnie wyglądać znany większości z was teraz. 7 00:00:26,000 --> 00:00:32,972 >> [PLAYBACK VIDEO] 8 00:00:32,972 --> 00:00:36,150 >> -Triumf matematycznych i mechaniczne umiejętności jest ta wielka nowa 9 00:00:36,150 --> 00:00:39,120 Kalkulator na automatyczne Harvard University. 10 00:00:39,120 --> 00:00:43,220 Skomplikowane problemy w matematyce umieścić przez urządzenie w postaci zakodowanej na 11 00:00:43,220 --> 00:00:47,840 taśmy są dokładnie rozwiązany w minutę ułamek czasu wymaganego 12 00:00:47,840 --> 00:00:49,090 ludzka kalkulacja. 13 00:00:49,090 --> 00:01:00,090 14 00:01:00,090 --> 00:01:04,080 >> Zaprojektowany w celu przyspieszenia wszelkich form matematyczne i naukowe, 15 00:01:04,080 --> 00:01:07,860 giant mechaniczny mózg pracują dla Stanów Zjednoczonych 16 00:01:07,860 --> 00:01:09,180 Navy aż do końca wojny. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [END PLAYBACK VIDEO] 19 00:01:18,600 --> 00:01:21,980 >> DAVID MALAN: Więc to jest to, co można zobaczyć w Science Center, czyli tam, gdzie 20 00:01:21,980 --> 00:01:23,540 że maszyna znajduje się obecnie. 21 00:01:23,540 --> 00:01:25,910 Tak naprawdę tylko zobaczyć część. 22 00:01:25,910 --> 00:01:28,800 Tylko część jest obecnie na wystawie, i to nazywa się urządzenie 23 00:01:28,800 --> 00:01:31,970 Mark I, i to było w zasadzie naprawdę ogromny kalkulator. 24 00:01:31,970 --> 00:01:36,250 Jego następcą został Mark II, to od Mark II, że faktycznie 25 00:01:36,250 --> 00:01:39,210 się nieco z leksykonu. 26 00:01:39,210 --> 00:01:43,780 >> Jest to pierwszy odnotowany przypadek coś masz zamiar stać się wszystko 27 00:01:43,780 --> 00:01:45,860 zbyt dobrze na Przebieg semestrze - 28 00:01:45,860 --> 00:01:48,460 mianowicie błąd. 29 00:01:48,460 --> 00:01:52,030 Tak więc okazało się w pewnym momencie znaku Urządzenie II nie funkcjonuje 30 00:01:52,030 --> 00:01:55,930 prawidłowo, a po bliższym przyjrzeniu, był rzeczywiście błąd - ćma - 31 00:01:55,930 --> 00:01:56,910 że ćma - 32 00:01:56,910 --> 00:01:57,610 wewnątrz. 33 00:01:57,610 --> 00:02:03,130 I od tego czasu, mamy określone błędy w programach, jak robaki. 34 00:02:03,130 --> 00:02:05,330 Tak bardziej na tym, by przyjść. 35 00:02:05,330 --> 00:02:08,919 >> Mówiąc o filmie, a także, jeśli nie już, że CS50 jest 36 00:02:08,919 --> 00:02:09,669 oczywiście sfilmowane. 37 00:02:09,669 --> 00:02:13,330 Wykłady zazwyczaj idą w górę tuż po class w rodzaju pre-release 38 00:02:13,330 --> 00:02:17,240 bez edycji format, a następnie dzień lub dwa później kładziemy się wyższą rozdzielczość 39 00:02:17,240 --> 00:02:18,490 i wyższa wersja jakości. 40 00:02:18,490 --> 00:02:21,800 Można przypomnieć, Vanessa, który miał majątek grając z Google Glass, 41 00:02:21,800 --> 00:02:23,540 które pamiętam do naliczyć czas. 42 00:02:23,540 --> 00:02:26,450 Więc jeśli chcesz pochodzić po lekcjach i grać, powinny działać już dziś. 43 00:02:26,450 --> 00:02:30,816 A jeśli chcesz zobaczyć, co Vanessa zobaczył drugi dzień, co zobaczysz 44 00:02:30,816 --> 00:02:35,260 tutaj - chciałbym zwiększyć głośność tutaj, na moim laptopie. 45 00:02:35,260 --> 00:02:35,690 >> [PLAYBACK VIDEO] 46 00:02:35,690 --> 00:02:37,620 >> -Więc pozwól mi stać w kolejce to się. 47 00:02:37,620 --> 00:02:38,070 Dobrze. 48 00:02:38,070 --> 00:02:40,930 Więc dotykaj tego. 49 00:02:40,930 --> 00:02:41,720 Dobrze. 50 00:02:41,720 --> 00:02:43,470 OK, szkło. 51 00:02:43,470 --> 00:02:44,720 Nagrywanie wideo. 52 00:02:44,720 --> 00:02:47,240 53 00:02:47,240 --> 00:02:48,640 >> Dobrze. 54 00:02:48,640 --> 00:02:50,446 Vanessa? 55 00:02:50,446 --> 00:02:50,870 >> [END PLAYBACK VIDEO] 56 00:02:50,870 --> 00:02:53,485 >> DAVID MALAN: Dobrze, więc powód , że to nie działa dla większości z was na 57 00:02:53,485 --> 00:02:56,540 koniec klasy dlatego udałem aby nagrać godzinę że 58 00:02:56,540 --> 00:02:59,505 footage, wskazując na siebie po Włożyłem okulary dół. 59 00:02:59,505 --> 00:03:04,010 Więc dziś, zostawię je, ale dzięki Ci Vanessa za to, że takie 60 00:03:04,010 --> 00:03:05,420 okrutni. 61 00:03:05,420 --> 00:03:08,330 >> Tymczasem para ogłoszeń przed posunąć się naprzód dzisiaj. 62 00:03:08,330 --> 00:03:11,120 Tak jeden, CS50 ma tradycję robi co możemy, aby starać się bardzo 63 00:03:11,120 --> 00:03:12,630 Duża klasa czują mniejszy. 64 00:03:12,630 --> 00:03:16,640 I ku tym celu najbardziej każdy piątek, gromadzimy się w restauracji w 65 00:03:16,640 --> 00:03:20,160 square, Fire and Ice, z 30 lub 40 z kolegami, ja, niektórzy z 66 00:03:20,160 --> 00:03:22,520 kadry nauczycielskiej, a my po prostu mają bardzo nieformalny lunch. 67 00:03:22,520 --> 00:03:26,280 Często zapraszamy przyjaciół z branży, Absolwenci tej klasy, absolwenci 68 00:03:26,280 --> 00:03:30,340 uczelni, tak naprawdę porozmawiać każdego inne się, porozmawiać o życiu po 69 00:03:30,340 --> 00:03:32,260 college, życie w college'u, i tym podobne. 70 00:03:32,260 --> 00:03:35,570 Więc jeśli chcesz wziąć udział w tym Pierwszy taki w ten piątek na obiad 71 00:03:35,570 --> 00:03:38,640 13:15, do głowy, że URL w pewnym momencie. 72 00:03:38,640 --> 00:03:40,830 >> Przestrzeń jest ograniczona, więc zrobimy kto pierwszy ten lepszy. 73 00:03:40,830 --> 00:03:43,880 Ale zrobimy to jeszcze raz na powtarzające bazy, więc się martwić, jeśli nie 74 00:03:43,880 --> 00:03:45,800 uczynić go do tej pierwszej partii. 75 00:03:45,800 --> 00:03:48,960 >> Teraz, pod względem zasobów, pod warunkiem, curricularly według kursu 76 00:03:48,960 --> 00:03:51,500 tam jest całe mnóstwo, a jeśli nie mają podciągnął kursu GG 77 00:03:51,500 --> 00:03:54,310 już w szczególności, w ramach wykładów, przekonasz się, że wszystko 78 00:03:54,310 --> 00:03:57,070 udało nam się w zeszłym tygodniu jest tam, zarówno wideo i pewnego rodzaju 79 00:03:57,070 --> 00:03:58,435 w formie elektronicznej. 80 00:03:58,435 --> 00:04:01,210 Ale poza wideo, znajdziesz że obecnie pełny tekst 81 00:04:01,210 --> 00:04:03,290 transkrypcji, na przykład, każdego wykładu. 82 00:04:03,290 --> 00:04:08,260 >> Jeśli więc rzeczywiście powrócić do tego ekranu tutaj z Vanessą i nawigacja 83 00:04:08,260 --> 00:04:12,010 do dolnego rogu ekranu, przekonasz się, że w rzeczywistości, a nie dla 84 00:04:12,010 --> 00:04:15,060 Piątkowy wykład, ale jeśli wrócimy do Środa, ponieważ funkcja ta ma 85 00:04:15,060 --> 00:04:17,870 Kilka dni, przekonasz się, że możesz faktycznie podciągnąć, na dobre i na 86 00:04:17,870 --> 00:04:22,260 gorzej, każde słowo, że ja lub Wolontariusz na scenie powiedział. 87 00:04:22,260 --> 00:04:23,270 I więcej niż tylko to. 88 00:04:23,270 --> 00:04:25,700 Rzeczywiście można sprawdzić to można Kliknij na jeden z tych zdań, skakać 89 00:04:25,700 --> 00:04:29,250 do tego punktu w filmie, wszystko ku i koniec udostępniania materiałów wszystkie 90 00:04:29,250 --> 00:04:30,620 bardziej żeglowna. 91 00:04:30,620 --> 00:04:34,550 >> Ale jeśli nie chcesz po nim tak szczegółowo, znajdziesz na 92 00:04:34,550 --> 00:04:39,710 instancji, to małe menu tutaj 1.5x prędkość, 2x prędkość, lub i f i już 93 00:04:39,710 --> 00:04:42,100 mówić za szybko, 0,75 x prędkość. 94 00:04:42,100 --> 00:04:45,190 Więc sobie sprawę, że to wszystko dostępne dla ciebie. 95 00:04:45,190 --> 00:04:49,120 >> Ale poza tym, na wykłady, uświadomić sobie, że również te zasoby 96 00:04:49,120 --> 00:04:50,530 również dostępne. 97 00:04:50,530 --> 00:04:55,240 Slajdy, przykładowy kod, wszystko, co mam zrobić na scenie lub przed klasą, 98 00:04:55,240 --> 00:04:58,160 będziemy zamieszczać tam tak, że można grać razem w domu lub w Sanders. 99 00:04:58,160 --> 00:05:01,280 Ale co my też myślałem, że możemy to zrobić roku po raz pierwszy również 100 00:05:01,280 --> 00:05:04,240 dostarczy Ci solucje z tych przykładów. 101 00:05:04,240 --> 00:05:08,120 Coraz częściej, jak już odzwierciedlenie na wartość wykładów CS50 jest, Zacząłem 102 00:05:08,120 --> 00:05:11,450 na pytanie, jak przydatne jest to dla wy tam siedzieć, na mnie stać 103 00:05:11,450 --> 00:05:15,020 tu, i dla mnie, aby porozmawiać na ciebie, zwłaszcza jako materiału, 104 00:05:15,020 --> 00:05:17,020 przykłady, uzyskać bardziej złożone. 105 00:05:17,020 --> 00:05:20,790 Bo zawsze, po pewnej liczbie minut, ktoś będzie strefa, i 106 00:05:20,790 --> 00:05:24,310 wtedy przegapić jakąś kluczową wiedzę niektórych przykładem, a następnie jesteś w istocie 107 00:05:24,310 --> 00:05:27,720 boisko do pozostałej części grupy, które nie najlepsze wykorzystanie jest 108 00:05:27,720 --> 00:05:31,330 Twój czas, lub, rzeczywiście, nasze zbiorczo jako klasy. 109 00:05:31,330 --> 00:05:33,920 >> A więc to, co myśleliśmy, że będziemy starać się zrobić, w szczególności dla niektórych bardziej 110 00:05:33,920 --> 00:05:37,700 złożone przykłady, że nie może zrobić sprawiedliwości w klasie, że nie może 111 00:05:37,700 --> 00:05:41,560 ma czasu na w klasie, albo może tylko strefa w czasie, to będziemy produkować 112 00:05:41,560 --> 00:05:45,500 Seria solucje z tych przykłady tak, że jeśli się do, na 113 00:05:45,500 --> 00:05:51,410 instancji, strona ostatnia piątkowa film tutaj poniżej przykłady, przekonasz się, że 114 00:05:51,410 --> 00:05:54,050 na piątek, to jest teraz link do solucje. 115 00:05:54,050 --> 00:05:55,780 I format tych zmienia się w czasie. 116 00:05:55,780 --> 00:05:58,080 Na razie używamy proste YouTube odtwarzania. 117 00:05:58,080 --> 00:06:00,980 >> Ale to, co zrobił z naszego zespołu produkcyjnego potem było przejść przez każdy 118 00:06:00,980 --> 00:06:04,480 i każdy z tych przykładów ponownie, miejmy nadzieję, wskazując na znacznie większe 119 00:06:04,480 --> 00:06:07,550 jasność dokładnie to, co dania na wynos może być albo powinny być od siebie. 120 00:06:07,550 --> 00:06:10,560 Więc znajdziesz, na przykład, od ostatniego tygodniu, we wszystkich przykładach podstaw 121 00:06:10,560 --> 00:06:12,950 przeszliśmy wykonywane są liniowo w tym modzie. 122 00:06:12,950 --> 00:06:15,840 Dlatego zachęcamy do zaangażowania się, czy nie angażować się w tym materiale. 123 00:06:15,840 --> 00:06:19,140 Naprawdę temat tego konkretnego przedmiotu jest to, że nie ma chyba więcej 124 00:06:19,140 --> 00:06:21,870 w drodze środków niż ty mogłoby wchłonąć w ciągu 125 00:06:21,870 --> 00:06:23,260 trakcie semestru. 126 00:06:23,260 --> 00:06:23,980 >> Ale to jest celowe. 127 00:06:23,980 --> 00:06:26,990 To ma być tak, że jako Poszczególne studenci mogą samodzielnie wybrać 128 00:06:26,990 --> 00:06:28,070 na podstawie swojego stylu uczenia się. 129 00:06:28,070 --> 00:06:29,790 Więc jeśli zajęcia pracować dla Ciebie, to świetnie. 130 00:06:29,790 --> 00:06:31,090 Jeśli części działa, świetnie. 131 00:06:31,090 --> 00:06:32,930 Jeśli solucje pracy dla lepiej, to świetnie. 132 00:06:32,930 --> 00:06:36,980 To naprawdę będzie do ciebie, aby wybrać Jakie zasoby dla Ciebie najlepszy. 133 00:06:36,980 --> 00:06:40,380 >> Wreszcie, dzięki wychowanek Oczywiście, oferujemy również kanonicznej 134 00:06:40,380 --> 00:06:41,890 zestaw notatek pisarza. 135 00:06:41,890 --> 00:06:46,270 Zamiast więc mają chłopaki głowy w wykładach scribbling dół 136 00:06:46,270 --> 00:06:49,880 rzeczy, które pojawią się w klasie, my, personel, zapewni Ci to, co 137 00:06:49,880 --> 00:06:53,410 czuję to kanoniczny zbiór informacji dodatkowej do uwolnić się od tego szaleństwa, tak że 138 00:06:53,410 --> 00:06:57,150 jeśli jesteś tu i zaangażowany, jesteś naprawdę zaangażowany w to, co się dzieje, 139 00:06:57,150 --> 00:07:00,110 z kolegami robią się na etapie, z tym, co się dzieje na ekranie, 140 00:07:00,110 --> 00:07:03,570 a nie tylko spisanie verbatim co się stało, że zostało powiedziane. 141 00:07:03,570 --> 00:07:06,730 Więc zrealizować wszystkich tych zasobów są dostępne dla Ciebie. 142 00:07:06,730 --> 00:07:09,210 >> Cięcie, w odpowiedzi na FAQ, rozpocznie się w środę. 143 00:07:09,210 --> 00:07:12,050 My w zasadzie czekać, aż po najbardziej inne klasy są zrobione tak, że możemy 144 00:07:12,050 --> 00:07:14,420 zminimalizować liczbę zmian że musimy zrobić. 145 00:07:14,420 --> 00:07:20,010 Ale zbliża się w ten weekend, począwszy Niedziela, będzie jedna instancja czas 146 00:07:20,010 --> 00:07:21,360 Super nazywamy sekcje. 147 00:07:21,360 --> 00:07:23,990 Te będą filmowane dla tych, którzy nie mogą udziału, a zasadniczo, 148 00:07:23,990 --> 00:07:28,880 Oczywiście szefowie poprowadzi nas przez niektóre z części C w trakcie, 149 00:07:28,880 --> 00:07:32,330 w kierunku końca Zadanie w jednej, która będzie nasz pierwszy oparty C 150 00:07:32,330 --> 00:07:33,140 zestaw problemem. 151 00:07:33,140 --> 00:07:36,240 A to będzie tylko opcjonalne sekcje w oczekiwaniu na to, co będzie 152 00:07:36,240 --> 00:07:40,010 Sekcje doprowadziły powtarzających się wg kursu na 50 plus 153 00:07:40,010 --> 00:07:41,600 nauczania chłopcy tygodniu. 154 00:07:41,600 --> 00:07:45,130 W niedziele i poniedziałki lub wtorki, my mają 90 minut sekcje w bardzo 155 00:07:45,130 --> 00:07:48,020 tradycyjnym sensie, który będzie szanse na rękach na więcej 156 00:07:48,020 --> 00:07:50,800 kameralny przegląd Materiał Kursu. 157 00:07:50,800 --> 00:07:53,820 >> Bez zbędnych ceregieli, chciałbym przedstawić Kurs szefowie, którzy są 158 00:07:53,820 --> 00:07:57,380 za kulisami ze mną, czyni wszystko, co się stało. 159 00:07:57,380 --> 00:08:02,670 Jeśli ci, dzisiaj może dołączyć do mnie, Rob i Lauren i Joseph i Lucas, wszystko 160 00:08:02,670 --> 00:08:05,770 z nich zostały z Kurs na jakiś czas. 161 00:08:05,770 --> 00:08:08,450 RJ jest trzecią tego typu członek naszego zespołu. 162 00:08:08,450 --> 00:08:11,720 Nie mógł być tu dzisiaj, ale zapytał mnie, aby pokazać zdjęcie z nim. 163 00:08:11,720 --> 00:08:14,600 Nie jestem pewien, czy chce tego jeden, ale tam jest. 164 00:08:14,600 --> 00:08:18,350 >> I niech mi tylko umożliwić zespołowi powiedzieć witam i przedstawiają się tak, że 165 00:08:18,350 --> 00:08:22,260 poznać je jak swoje własny kumpel nauczania tego terminu. 166 00:08:22,260 --> 00:08:23,490 >> LAUREN CARVALHO: Hi. 167 00:08:23,490 --> 00:08:24,740 Nazywam się Lauren Carvalho. 168 00:08:24,740 --> 00:08:26,900 Jestem mieszkańcem tutor w Leverett House. 169 00:08:26,900 --> 00:08:31,120 Jestem również bardzo podniecony być TV głowy dla CS50 tego roku. 170 00:08:31,120 --> 00:08:35,830 >> CS50 jest bardzo trudne, jak również klasy jako klasa bardzo duża, więc jeśli 171 00:08:35,830 --> 00:08:38,780 masz jakieś obawy, jeśli masz ochotę jesteś w tyle, nie krępuj się 172 00:08:38,780 --> 00:08:43,840 dotrzeć do każdego z nas w heads@cs50.het, lub do mnie, jeśli bym 173 00:08:43,840 --> 00:08:46,330 lubię grać z moim golden szczenię. 174 00:08:46,330 --> 00:08:48,060 Oto Lucas. 175 00:08:48,060 --> 00:08:48,560 >> LUCAS FREITAS: Hej, ludzie. 176 00:08:48,560 --> 00:08:49,330 Nazywam się Lucas Freitas. 177 00:08:49,330 --> 00:08:51,880 Jestem młodszy [niesłyszalne] 178 00:08:51,880 --> 00:08:53,630 informatyka i medycyna. 179 00:08:53,630 --> 00:08:58,030 Jestem faktycznie z Brazylii, a ja również realizacji studiów wschodnioazjatyckich. 180 00:08:58,030 --> 00:09:00,740 Więc jeśli masz jakieś pytania dotyczące informatyka lub język lub 181 00:09:00,740 --> 00:09:01,870 nic, po prostu daj mi znać. 182 00:09:01,870 --> 00:09:05,630 Lub CS50, szczególnie. 183 00:09:05,630 --> 00:09:05,880 >> JOSEPH ONG: Hi. 184 00:09:05,880 --> 00:09:06,265 Jestem Joseph. 185 00:09:06,265 --> 00:09:11,360 Jestem starszy komputer studia Nauka w Elliott House. 186 00:09:11,360 --> 00:09:13,500 Więc, zobaczmy. 187 00:09:13,500 --> 00:09:16,530 Zobaczysz mnie po realizacji jedna z tych dużych kamer. 188 00:09:16,530 --> 00:09:21,110 Jestem mieszkańcem fotograf personel do 50, jak również, a studenci często 189 00:09:21,110 --> 00:09:25,140 czasami mylą mnie Asian turystyczny. 190 00:09:25,140 --> 00:09:29,220 >> Więc jeśli zobaczysz mnie z aparatem, nie uciekaj. 191 00:09:29,220 --> 00:09:32,960 Wystarczy uśmiech i nie wstydź się. 192 00:09:32,960 --> 00:09:34,870 I mam nadzieję, że lubisz 50. 193 00:09:34,870 --> 00:09:38,690 I jesteśmy bardzo zadowoleni, gdy wziąłem go, i dlatego byłem TFing dla 194 00:09:38,690 --> 00:09:41,164 te trzy lata. 195 00:09:41,164 --> 00:09:41,570 >> ROB BOWDEN: Hi. 196 00:09:41,570 --> 00:09:42,550 Jestem Rob. 197 00:09:42,550 --> 00:09:46,240 To mój czwarty semestr z CS50. 198 00:09:46,240 --> 00:09:47,430 I właśnie ukończył w maju. 199 00:09:47,430 --> 00:09:49,650 Byłem w Kirkland. 200 00:09:49,650 --> 00:09:53,670 Jestem podekscytowany tym semestrze, i mam nadzieję, że też. 201 00:09:53,670 --> 00:09:56,650 >> DAVID MALAN: Dziękujemy tym roku głowy, i do gniazda RJ oraz. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> Więc kilka uwagi końcowe na temat zasobów. 204 00:10:02,310 --> 00:10:04,090 One, p set 0 jest już w górę. 205 00:10:04,090 --> 00:10:06,620 To taki istnieje tylko w standardzie edycja, która jest przeznaczona na 206 00:10:06,620 --> 00:10:07,610 Całość klasy. 207 00:10:07,610 --> 00:10:10,940 Począwszy p zestaw 1, nie będzie edycje hakerów większości zestawów problem, 208 00:10:10,940 --> 00:10:14,660 co znów obejmie materiał z nieco większym wyzwaniem, a 209 00:10:14,660 --> 00:10:17,400 wciąż dotykając na niektóre z tych samych tematów. 210 00:10:17,400 --> 00:10:21,400 Czy spojrzeć na stronie internetowej kursu do tej specyfikacji, do zestawu p 0. 211 00:10:21,400 --> 00:10:25,140 >> Godziny pracy, zbyt, rozpocznie się w tym tygodniu, dzisiaj, jutro, środa, 212 00:10:25,140 --> 00:10:27,670 i czwartek w różnych restauracji hale na terenie kampusu. 213 00:10:27,670 --> 00:10:32,140 Sprawdź cs50.net/ohs dla biura godzin dla kursu, a to zrealizować 214 00:10:32,140 --> 00:10:34,430 będzie bardzo przypadkowi szans, Oczywiście, na początku 215 00:10:34,430 --> 00:10:37,190 semestr, aby przyjść z telefonem laptop podczas przerwy mózgu. 216 00:10:37,190 --> 00:10:40,500 Weź ze sobą przyjaciół i porozmawiać up Oczywiście w TFS i CAS z którymkolwiek 217 00:10:40,500 --> 00:10:41,750 pytania, na które można mieć. 218 00:10:41,750 --> 00:10:45,320 >> I nie mogę podkreślić wystarczająco dużo, nawet dla set scratch i problemem 0, istnieje 219 00:10:45,320 --> 00:10:47,110 naprawdę nie jest głupie pytanie. 220 00:10:47,110 --> 00:10:51,200 Nie ma zbyt niewygodne uczeń do zadawania pytań. 221 00:10:51,200 --> 00:10:53,940 Zapraszamy do skorzystania tego zasobu. 222 00:10:53,940 --> 00:10:56,430 Będzie to nie recurringly przez cały semestr, 223 00:10:56,430 --> 00:10:57,840 jak będzie CS50 Omów. 224 00:10:57,840 --> 00:11:00,900 To trakcie dyskusji w Internecie Fora w tej adresu. 225 00:11:00,900 --> 00:11:04,490 >> Co będziemy też robić podczas wykładów jest również monitorować to, dzięki 226 00:11:04,490 --> 00:11:05,580 przebiegiem kursu zespół nauczycieli. 227 00:11:05,580 --> 00:11:08,390 I tak, jeśli masz pytanie podczas wykład, bo powiedział coś 228 00:11:08,390 --> 00:11:11,690 słabo lub wcale, na wszelkie sposoby, zapytaj , które w czasie rzeczywistym, jeśli masz 229 00:11:11,690 --> 00:11:15,700 laptop lub telefon na stronie internetowej, a dołożymy wszelkich starań, niemal w czasie rzeczywistym do 230 00:11:15,700 --> 00:11:17,410 odpowiedzieć. 231 00:11:17,410 --> 00:11:21,500 >> Czy są jakieś pytania o CS 50? 232 00:11:21,500 --> 00:11:23,930 Wtedy jeden z moich ostatnie nuty. 233 00:11:23,930 --> 00:11:25,530 To kwestia SAT UNSAT. 234 00:11:25,530 --> 00:11:28,550 Jak sfinalizować swoje karty badań, jeśli nie już sobie sprawę, że 235 00:11:28,550 --> 00:11:32,360 Nadrzędnym wizja SAT UNSAT, dostępne dla wszystkich studentów, jest naprawdę 236 00:11:32,360 --> 00:11:36,350 aby pomóc stępić kursu w ten sposób, że tak powiem, tak, że jeśli 237 00:11:36,350 --> 00:11:40,510 znaleźć się późno w nocy, 2AM, 3 nad ranem, naprawdę walić głową przeciwko 238 00:11:40,510 --> 00:11:43,960 Ściana, gdzie wiesz, że 99% sposób nie do końca, ale 239 00:11:43,960 --> 00:11:47,510 mają tak wiele innych rzeczy do zrobienia, Myślę, że lepsze wykorzystanie, często z 240 00:11:47,510 --> 00:11:51,260 Czas uczniów jest rzeczywiście przejść do te inne rzeczy, tak, że można 241 00:11:51,260 --> 00:11:52,780 optymalizacji czasu dookoła. 242 00:11:52,780 --> 00:11:56,950 I SAT UNSAT jest jeden mechanizm, za pośrednictwem której można się pocieszyć faktem 243 00:11:56,950 --> 00:12:00,530 , że 99% z tej drodze występuje nadal cholernie dobry. 244 00:12:00,530 --> 00:12:03,790 >> Podobnie też, jeśli już wchodzą w Kurs bez uprzedniej tle lub 245 00:12:03,790 --> 00:12:07,960 nie tak bardzo jak ty background że twoi koledzy mogą mieć, prawda 246 00:12:07,960 --> 00:12:13,210 lub fałszywe, uświadomić sobie, że jest to możliwość ubrudzić sobie ręce 247 00:12:13,210 --> 00:12:16,590 z kursu, umieścić swoje palce w wody, by tak rzec, tak jak ja 248 00:12:16,590 --> 00:12:18,500 A rok temu z pass / fail. 249 00:12:18,500 --> 00:12:21,850 Jak powiedziałem w zeszłym tygodniu, miał ten kurs, jak inni, nie był dostępny 250 00:12:21,850 --> 00:12:25,090 pass / fail w czasie, pewnie bym Nie kiedykolwiek weszliśmy w 251 00:12:25,090 --> 00:12:28,310 Klasa, choć ja, pięć tygodni później zmienić zdanie, które 252 00:12:28,310 --> 00:12:32,400 może równie dobrze, i przełączyć się na lub list stopniowanej statusu. 253 00:12:32,400 --> 00:12:32,990 >> Dobrze. 254 00:12:32,990 --> 00:12:37,380 Więc spojrzał na rzeczy, jak to na Piątek, a my bardzo szybko idzie 255 00:12:37,380 --> 00:12:39,890 do przejścia na coś, co wygląda bardziej tajemniczo dzisiaj. 256 00:12:39,890 --> 00:12:42,300 Ale to jednak same podstawowe pomysł. 257 00:12:42,300 --> 00:12:45,540 Jaki był ogólny termin, że używane do opisania kawałek układanki 258 00:12:45,540 --> 00:12:47,690 że wyglądało to? 259 00:12:47,690 --> 00:12:48,510 >> Więc stwierdzenie. 260 00:12:48,510 --> 00:12:50,020 I możesz nazwać każdy wiele rzeczy. 261 00:12:50,020 --> 00:12:51,870 Ale my po prostu nazwać to oświadczenie, oraz oświadczenie 262 00:12:51,870 --> 00:12:53,200 tylko że program - 263 00:12:53,200 --> 00:12:55,290 lub w przypadku podstaw sprite - 264 00:12:55,290 --> 00:12:56,520 coś zrobić. 265 00:12:56,520 --> 00:12:58,430 Przywitaj się w tym przypadku. 266 00:12:58,430 --> 00:13:01,450 >> Coś jak to my zamiast nazywa co? 267 00:13:01,450 --> 00:13:03,560 Tak więc wyrażenie logiczne. 268 00:13:03,560 --> 00:13:07,380 Wyrażenie logiczne jest tylko coś to jest prawdziwe, czy fałszywe, a więc Scratch 269 00:13:07,380 --> 00:13:10,530 przyciąga je z tym kształcie, ale także ze znakiem zapytania, aby przekazać 270 00:13:10,530 --> 00:13:14,510 Pomysł, że odpowiedź na to pytanie jest albo prawdziwe, albo fałszywe, tak lub nie 271 00:13:14,510 --> 00:13:15,910 jeden, 1 lub 0. 272 00:13:15,910 --> 00:13:19,290 >> I używamy tych wyrażeń logicznych wewnątrz konstrukcji takich jak te, które 273 00:13:19,290 --> 00:13:21,010 nazwaliśmy co? 274 00:13:21,010 --> 00:13:22,460 Tak więc, stan lub oddział. 275 00:13:22,460 --> 00:13:25,600 I stan można zobaczyć tutaj w Scratch ma trochę zastępczy dla 276 00:13:25,600 --> 00:13:28,260 kawałek układanki z tego kształtu, celem które jest tak, że można 277 00:13:28,260 --> 00:13:32,670 przeciągnij i upuść go na górze, a następnie dyktować programu, jeśli Boolean 278 00:13:32,670 --> 00:13:36,410 wyrażenie jest prawdziwe, czy ten zestaw instrukcje, to zestaw wypowiedzi, 279 00:13:36,410 --> 00:13:39,320 inny zrobi to inny zestaw instrukcji. 280 00:13:39,320 --> 00:13:41,270 >> I przypominają, że można gniazdo tych rzeczy. 281 00:13:41,270 --> 00:13:44,170 Mimo, że nie ma wiele miejsca jest wizualnie w tym kawałek układanki, Scratch 282 00:13:44,170 --> 00:13:47,820 rosną i kurczą się, co Puzzle można przeciągnąć i upuścić w 283 00:13:47,820 --> 00:13:51,410 tam więc można faktycznie to i gniazdo posiada trzy widelec sposób w drodze. 284 00:13:51,410 --> 00:13:53,870 Jeśli, else if, else. 285 00:13:53,870 --> 00:13:58,100 A może nawet ponad to przez gniazdowania dalej i dalej w razie potrzeby. 286 00:13:58,100 --> 00:14:02,520 >> Więc wreszcie zobaczyliśmy konstrukcje, takie jak ta, inaczej znane jako pętli. 287 00:14:02,520 --> 00:14:05,690 I to jest właśnie coś, co robi coś znowu i znowu i znowu. 288 00:14:05,690 --> 00:14:09,250 W tym przypadku, okazuje się być ograniczone Ilość czasu, ale także 289 00:14:09,250 --> 00:14:12,890 zobaczyłem przykład gdzie liczba razy przyszedł ze zmiennej, więc 290 00:14:12,890 --> 00:14:13,690 może się zmienić. 291 00:14:13,690 --> 00:14:16,910 I my także zobaczyliśmy zupełnie inny blok nazywa zawsze blok, który 292 00:14:16,910 --> 00:14:19,590 pozwoliło nam na pętli nieskończenie długo. 293 00:14:19,590 --> 00:14:23,300 >> Więc jedna konstrukt Scratch 2,0 ma - i ci z was, więcej 294 00:14:23,300 --> 00:14:26,330 wygodne z wcześniejszego tle są już dobrze zaznajomieni z tym 295 00:14:26,330 --> 00:14:27,080 budowy - 296 00:14:27,080 --> 00:14:29,910 te rzeczy, które nazywa co? 297 00:14:29,910 --> 00:14:32,540 Więc zadzwoniliśmy tych funkcji, w przeciwnym razie znany jako procedur. 298 00:14:32,540 --> 00:14:35,030 Jest niewielka różnica semantyczna, ale my nazywamy je tylko funkcje. 299 00:14:35,030 --> 00:14:39,950 >> I funkcji, w przypadku podstaw jest kawałek układanki, który na zlecenie 300 00:14:39,950 --> 00:14:43,670 można samemu stworzyć, mając nowy kawałek układanki, że w tym 301 00:14:43,670 --> 00:14:47,190 Sprawa, która zostanie nazwana kaszel, że pojawia się wśród wszystkich innych 302 00:14:47,190 --> 00:14:48,730 dostępne puzzle w Scratch. 303 00:14:48,730 --> 00:14:52,010 Chociaż MIT nie wymyślił ten kawałek układanki, zrobiłeś. 304 00:14:52,010 --> 00:14:57,600 >> Więc funkcja pozwala na tworzenie nowych zachowanie, nadać mu nazwę funkcji, a 305 00:14:57,600 --> 00:14:59,200 Następnie nazwać to, że tak powiem. 306 00:14:59,200 --> 00:15:04,690 Naprawdę używać go w programach ponownie i znowu i znowu, bez konieczności oczekiwania 307 00:15:04,690 --> 00:15:08,600 dla kogoś takiego jak MIT w dół drogi do wymyślać nowe funkcjonalności od podstaw. 308 00:15:08,600 --> 00:15:12,460 Można samemu zbudować te puzzle kawałki siebie, a następnie ponownie je 309 00:15:12,460 --> 00:15:13,600 w swoich programach. 310 00:15:13,600 --> 00:15:17,520 I zobaczymy przykład cyklicznego o tym już dziś i nowsze. 311 00:15:17,520 --> 00:15:20,960 >> Więc dzisiaj, przejście teraz na coś bardziej tajemnej. 312 00:15:20,960 --> 00:15:24,350 A na koniec dnia, coś bardziej wydajne i bardziej ekspresyjny i 313 00:15:24,350 --> 00:15:28,110 Przedstawiciel ścieżce, że będziemy na wszystkich semestru w całym szeregu 314 00:15:28,110 --> 00:15:28,800 języków - 315 00:15:28,800 --> 00:15:30,800 że kodu lub kodu źródłowego. 316 00:15:30,800 --> 00:15:34,720 I kod źródłowy, jak się okazuje, nie jest to, co komputer 317 00:15:34,720 --> 00:15:37,400 zazwyczaj faktycznie działa. 318 00:15:37,400 --> 00:15:39,860 Kod źródłowy wygląda tak. 319 00:15:39,860 --> 00:15:43,010 >> Tak jest, ponownie, chyba najłatwiejsze Program możemy zapisać w 320 00:15:43,010 --> 00:15:46,670 Język nazywa C. Zaczniemy dokuczać to apart niedługo, a jeśli 321 00:15:46,670 --> 00:15:49,260 to naprawdę nie wygląda jak grecki do ciebie teraz, zaufaj mi. 322 00:15:49,260 --> 00:15:54,040 W zaledwie tydzień lub dwa w czasie, to będzie zbyt dobrze i faktycznie 323 00:15:54,040 --> 00:15:57,780 dość przedstawiciel coraz złożone przykłady, z którymi będziesz 324 00:15:57,780 --> 00:15:59,870 również uzyskać bardziej komfortowe. 325 00:15:59,870 --> 00:16:03,100 >> Ale nie można po prostu uruchomić to rodzaj kodu zwykle. 326 00:16:03,100 --> 00:16:06,750 Trzeba przekształcić go w coś, co Komputer sam rozumie. 327 00:16:06,750 --> 00:16:09,840 I tak, że musimy coś idziemy do wywołania kompilatora. 328 00:16:09,840 --> 00:16:13,910 Kompilator to program, który ma Kod źródłowy, jakbyś zobaczył, jak 329 00:16:13,910 --> 00:16:17,680 Wejście i produkuje zer i te, jako wyjście, inaczej 330 00:16:17,680 --> 00:16:19,210 znany kod obiektu. 331 00:16:19,210 --> 00:16:23,190 I to te zera i jedynki, że może wyglądać zupełnie tak, że 332 00:16:23,190 --> 00:16:26,310 ostatecznie rozumie od komputera Mac lub komputera. 333 00:16:26,310 --> 00:16:30,050 >> Jeśli kiedykolwiek słyszał obrotu Wyrażenie Intel Inside, że tylko 334 00:16:30,050 --> 00:16:32,800 Oznacza to, że firma o nazwie Intel produkuje 335 00:16:32,800 --> 00:16:34,130 mózg komputera - 336 00:16:34,130 --> 00:16:37,270 zwie procesora, jednostka centralna - 337 00:16:37,270 --> 00:16:39,640 i to jest właśnie to, że rozumie wzory 338 00:16:39,640 --> 00:16:40,880 zer i jedynek. 339 00:16:40,880 --> 00:16:46,330 I tak przez konwersję kodu źródłowego do kod obiektu w tym procesie tutaj 340 00:16:46,330 --> 00:16:49,130 że zrobimy z kilku komend za chwilę, jesteś 341 00:16:49,130 --> 00:16:53,070 tworzenie wzorców zer i jedynek że pracownicy Intela mają 342 00:16:53,070 --> 00:16:56,000 postanowił reprezentować pewne stwierdzenia. 343 00:16:56,000 --> 00:16:58,810 >> Teraz nie bardzo wiem co jest co po prostu patrząc na 344 00:16:58,810 --> 00:16:59,890 te zera i jedynki. 345 00:16:59,890 --> 00:17:01,420 Większość ludzi w dzisiejszych czasach nie. 346 00:17:01,420 --> 00:17:04,900 Ale gdzieś istnieje wzór zer i jedynek, które reprezentuje 347 00:17:04,900 --> 00:17:06,349 print oświadczenie. 348 00:17:06,349 --> 00:17:10,460 Gdzieś tam może być inna zestaw zer i jedynek, które 349 00:17:10,460 --> 00:17:16,940 reprezentują pojęcia forever lub powtórz 10 razy lub nawet Miau, jeśli jest to 350 00:17:16,940 --> 00:17:20,000 rzeczywistości program, który może m.in. kilka dźwięków. 351 00:17:20,000 --> 00:17:24,390 >> Tak w skrócie, ludzie po prostu postanowił, podobnie jak to było w przypadku ASCII - 352 00:17:24,390 --> 00:17:27,480 dla liter alfabetu w zeszłym tygodniu - ludzie zdecydowali, że nawet 353 00:17:27,480 --> 00:17:32,200 bardziej skomplikowane wzory zer i jedynek reprezentują bardziej złożone zachowania 354 00:17:32,200 --> 00:17:35,650 jak drukowanie lub mówiąc lub miauczy. 355 00:17:35,650 --> 00:17:38,640 I tak do dziś, w dużej mierze dalszy w semestrze, weźmiemy na 356 00:17:38,640 --> 00:17:41,820 pewnik, że ktoś zorientowali się, jak to zrobić mapowanie. 357 00:17:41,820 --> 00:17:45,560 Ale, zgodnie z tym pomysłem warstwy na wierzchu pracy ludzi 358 00:17:45,560 --> 00:17:49,340 którzy już się przed nami, będzie dla przyznała, że ​​to się dzieje 359 00:17:49,340 --> 00:17:50,300 pod maską. 360 00:17:50,300 --> 00:17:53,840 Ale my jesteśmy bardziej zainteresowani rzeczy budowlanych, które są bardziej 361 00:17:53,840 --> 00:17:55,880 ciekawe na szczycie tego wszystkiego. 362 00:17:55,880 --> 00:17:58,900 >> I tak rzeczywiście, pierwszy program my napisał w Scratch to było super proste 363 00:17:58,900 --> 00:18:00,600 jeden, Hello World. 364 00:18:00,600 --> 00:18:05,100 A może myślisz o tym jako Głównym programem, który reguluje Scratch-tych 365 00:18:05,100 --> 00:18:07,280 zachowanie z ostatniego piątku. 366 00:18:07,280 --> 00:18:11,510 >> Dzisiaj mamy zamiar zacząć tłumaczyć Scratch puzzle do 367 00:18:11,510 --> 00:18:16,040 Kod źródłowy w nazwie języka C tak, że to, co wyglądało to na 368 00:18:16,040 --> 00:18:20,230 Piątek, począwszy od dzisiaj naprzód, jest teraz będzie wyglądać tak. 369 00:18:20,230 --> 00:18:21,860 Wprawdzie bardziej tajemnicze. 370 00:18:21,860 --> 00:18:25,010 To dość rozpraszające i rodzaj umysłu paraliżujący zobaczyć wszystkie cytaty 371 00:18:25,010 --> 00:18:27,760 i średniki i nawiasy i tak dalej. 372 00:18:27,760 --> 00:18:32,350 >> Ale jeśli zaczniesz zignoruj nie rozumiem, i naprawdę wyglądają 373 00:18:32,350 --> 00:18:35,960 w istocie białej tekst na Ekran, na pewno widzisz, tak jak ja, 374 00:18:35,960 --> 00:18:40,360 "Hello, world". Że linii z purple oświadczenie się góry, a okazuje 375 00:18:40,360 --> 00:18:44,790 się, że kluczowe będzie głównym w kolejce po zielone koncepcyjnie z 376 00:18:44,790 --> 00:18:46,350 flag kliknięciu. 377 00:18:46,350 --> 00:18:49,820 >> Tak więc, innymi słowy, podczas gdy w podstaw wdrażamy to Hello World 378 00:18:49,820 --> 00:18:53,360 z tych dwóch fragmentów układanki, w C, mamy zamiar wdrożyć go z nich 379 00:18:53,360 --> 00:18:55,510 cztery nieco tajemnicze linie. 380 00:18:55,510 --> 00:18:58,130 Ale jak nurkować głębiej w to, będziesz zobaczyć, że każda z tych 381 00:18:58,130 --> 00:19:02,730 białe znaki na ekranie faktycznie ma jakieś istotne znaczenie, 382 00:19:02,730 --> 00:19:05,880 i większość z naszych programów będą wyglądają strukturalnie całkiem same. 383 00:19:05,880 --> 00:19:08,980 Tak więc stwierdzenie, być jasne, co wyglądał jak "Say Hello world" na 384 00:19:08,980 --> 00:19:12,020 Piątek to będzie zacząć szukać jak to w poniedziałek. 385 00:19:12,020 --> 00:19:15,250 printf ("hello, world"). 386 00:19:15,250 --> 00:19:17,700 I jest jakiś dziwny backslash n, nie ma nawiasów, jest 387 00:19:17,700 --> 00:19:18,490 średniki. 388 00:19:18,490 --> 00:19:21,950 >> A na koniec dnia, klucz sobą dzisiaj jest to, że wszystko robimy 389 00:19:21,950 --> 00:19:25,710 tłumaczy rzeczy z obrazka tworząc w formie tekstowej. 390 00:19:25,710 --> 00:19:28,820 Więc pętla że wyglądało to w zeszłym tygodniu będzie wyglądać 391 00:19:28,820 --> 00:19:30,140 coś takiego. 392 00:19:30,140 --> 00:19:33,020 >> I pozwól, że zrzekają się, podobnie jak w Scratch, jest różne sposoby 393 00:19:33,020 --> 00:19:34,110 osiągnięcia tego samego celu. 394 00:19:34,110 --> 00:19:38,860 Sama w C. Nie jestem pokazując tylko sposób, aby robić rzeczy, ale jednym ze sposobów 395 00:19:38,860 --> 00:19:43,230 przełożyć to na zawsze zablokować do pętli w C 396 00:19:43,230 --> 00:19:44,980 >> Ten tutaj, powtórz 10 razy. 397 00:19:44,980 --> 00:19:47,580 To naprawdę rodzaj zakrętów myśl po raz pierwszy można zobaczyć go. 398 00:19:47,580 --> 00:19:49,860 Ale do realizacji, że odtąd, będziemy korzystać 399 00:19:49,860 --> 00:19:51,990 dla pętli, że tak powiem. 400 00:19:51,990 --> 00:19:56,150 I wyraźnie jest jakaś składnia to trochę na terenie hotelu znajduje się I i 401 00:19:56,150 --> 00:19:59,740 równe i 0, ale raz zanurzyć się, że naprzód dzisiaj, jesteś po prostu będzie 402 00:19:59,740 --> 00:20:04,260 aby zobaczyć, że to wszystko po prostu jakiejś podstawowe działania arytmetyczne, aby nas od 0 403 00:20:04,260 --> 00:20:07,720 na maksymalnie 9 lub 10 w tym przypadku. 404 00:20:07,720 --> 00:20:11,570 >> Wreszcie, ze zmiennymi przypomnijmy sobie, że zmienna jest Kawałek przechowywania. 405 00:20:11,570 --> 00:20:14,290 Cóż, to, co mieliśmy na lewo tam w zeszłym tydzień będzie wyglądać trochę 406 00:20:14,290 --> 00:20:15,920 coś jak to w tym tygodniu. 407 00:20:15,920 --> 00:20:17,870 Ale znowu, bardziej na tym, by przyjść. 408 00:20:17,870 --> 00:20:20,700 >> Mieliśmy wyrażeń logicznych, które w zeszłym tygodniu, wyglądało to. 409 00:20:20,700 --> 00:20:23,370 Ten dalszy tydzień, że będziemy zaczynają wyglądać trochę tak. 410 00:20:23,370 --> 00:20:24,890 >> A ten jest naprawdę mało pocieszające. 411 00:20:24,890 --> 00:20:27,680 To rzeczywiście prawie tak proste jak zielone bloki. 412 00:20:27,680 --> 00:20:31,115 Ale tu mamy znowu jakiś nowy składni z Ampersands, ale można 413 00:20:31,115 --> 00:20:35,390 może odgadnąć podczas gdy w Scratch, to powiedzmy A-N-D, najwyraźniej w C, jesteśmy 414 00:20:35,390 --> 00:20:37,070 powie ampersand znak handlowego. 415 00:20:37,070 --> 00:20:39,650 Ale to wszystko będzie naturalne przed długi. 416 00:20:39,650 --> 00:20:40,680 >> Warunki. 417 00:20:40,680 --> 00:20:42,610 Ostatni tydzień, to wyglądało ta po lewej. 418 00:20:42,610 --> 00:20:44,800 W tym tygodniu, po prawej stronie, to będzie wyglądać tak. 419 00:20:44,800 --> 00:20:48,560 Ale znowu, kluczem jest to, że na wynos jak widać takie rzeczy na 420 00:20:48,560 --> 00:20:51,950 prawo, a zwłaszcza, jeśli mniej wygodne, to rodzaj nad 421 00:20:51,950 --> 00:20:54,950 głowy, można się trochę przytłoczony, że I naprawdę nie mam pojęcia, jak mogłem, 422 00:20:54,950 --> 00:20:58,420 może pochodzić z , które od podstaw - 423 00:20:58,420 --> 00:20:59,500 gra słów nie przeznaczonych - 424 00:20:59,500 --> 00:21:05,300 po prostu sobie sprawę, że to naprawdę same Pomysł, że prawdopodobnie było tak dużo więcej 425 00:21:05,300 --> 00:21:06,760 naturalne w poprzednim tygodniu. 426 00:21:06,760 --> 00:21:10,960 A nawet jeśli nie zanurkował zestaw problemem 0, śmiem twierdzić znajdziesz 427 00:21:10,960 --> 00:21:13,790 że puzzle są dość intuicyjna, lub co najmniej 428 00:21:13,790 --> 00:21:16,050 się więc w czasie. 429 00:21:16,050 --> 00:21:16,990 >> Więc nurkowania w. 430 00:21:16,990 --> 00:21:20,760 Chodźmy nasze ręce brudne tutaj z ten pierwszy prosty program. 431 00:21:20,760 --> 00:21:22,410 I proste jest, oczywiście, względne. 432 00:21:22,410 --> 00:21:25,190 Aby to zrobić, mam zamiar zmienić ekrany do tego urządzenia Zadzwoniłem 433 00:21:25,190 --> 00:21:26,150 CS50 urządzenie. 434 00:21:26,150 --> 00:21:29,700 CS50 Urządzenie jest kawałek oprogramowania, który biegnie wewnątrz 435 00:21:29,700 --> 00:21:33,920 Okno na moim Macu, można również uruchomić to w oknie wewnątrz komputera, który 436 00:21:33,920 --> 00:21:38,720 Pozwala mi to mieć dokładnie taki sam Komputer, jak każde środowisko TF, jak 437 00:21:38,720 --> 00:21:40,940 każdy CA, jak każdego ucznia w klasie. 438 00:21:40,940 --> 00:21:44,590 Ponieważ CS50 Urządzenie jest dosłownie inny system operacyjny 439 00:21:44,590 --> 00:21:45,410 nazwie Linux - 440 00:21:45,410 --> 00:21:47,160 specjalnie Fedora Linux - 441 00:21:47,160 --> 00:21:51,320 a my, pracownicy, zostały skonfigurowane Proces instalacji tego 442 00:21:51,320 --> 00:21:55,200 działania systemu w taki sposób, że jeden, jest trochę CS50 logo w 443 00:21:55,200 --> 00:21:59,240 środek, dwa, jest menu na zamówienie dno, a trzy, pedagogicznie, 444 00:21:59,240 --> 00:22:02,570 mamy uproszczony interfejs użytkownika, jak na ile to możliwe, tak aby po 445 00:22:02,570 --> 00:22:05,540 Pierwszy rozruch to coś się na własną rękę Mac lub PC, masz same 446 00:22:05,540 --> 00:22:08,280 środowisko, jak wszyscy inni, a ty posiada wszystkie narzędzia, które trzeba 447 00:22:08,280 --> 00:22:11,390 na kurs bez konieczności dowiedzieć się, jak zainstalować każdy, a 448 00:22:11,390 --> 00:22:13,280 każde narzędzie indywidualnie. 449 00:22:13,280 --> 00:22:15,840 >> Tak to wygląda na stosunkowo jak Mac OS lub Windows. 450 00:22:15,840 --> 00:22:18,760 W dolnym lewym rogu, ty zasadniczo ma menu Start 451 00:22:18,760 --> 00:22:20,280 rodzaju lub menu Apple. 452 00:22:20,280 --> 00:22:23,700 I wtedy masz co podejrzewamy będzie być Twoje trzy najczęstsze ikony. 453 00:22:23,700 --> 00:22:24,460 Jednym z nich jest Chrome. 454 00:22:24,460 --> 00:22:26,460 Jest przeglądarka wewnątrz z urządzenia. 455 00:22:26,460 --> 00:22:29,970 >> Two jest program o nazwie gedit, które widzieliśmy krótko w zeszłym tygodniu, co jest 456 00:22:29,970 --> 00:22:31,310 tylko edytor graficzny. 457 00:22:31,310 --> 00:22:35,350 A trzy to program Terminal, który Jest to czarno-białe okno z 458 00:22:35,350 --> 00:22:39,860 pionier, który pozwala nam wpisać więcej tajemnicze, ale bardziej wydajne polecenia w 459 00:22:39,860 --> 00:22:40,660 nasza klawiatury. 460 00:22:40,660 --> 00:22:44,220 Więc mam zamiar iść do przodu i kliknij gedit, i mieć pewność, że problemu 461 00:22:44,220 --> 00:22:48,520 ustawić 1, należy wydany w piątek, będzie przejść przez te wszystkie etapy samych. 462 00:22:48,520 --> 00:22:51,730 >> Zauważ, że mam dość proste Interfejs użytkownika z trzech części. 463 00:22:51,730 --> 00:22:54,990 Po lewej stronie, mam duży pusty okno o nazwie kod źródłowy. 464 00:22:54,990 --> 00:22:58,930 To gdzie mam zamiar zobaczyć podsumowanie jakiegokolwiek kodu, który piszę. 465 00:22:58,930 --> 00:23:01,990 Z prawej strony, mam duży Zakładka, aktualnie niezapisane, i to 466 00:23:01,990 --> 00:23:03,510 gdzie jest mój kod pójdzie. 467 00:23:03,510 --> 00:23:06,780 A na dole, mam wbudowany Okno terminala, czarne i białe 468 00:23:06,780 --> 00:23:12,060 zapyta, w którym można wpisać polecenia skompilować i uruchomić swoje programy - które 469 00:23:12,060 --> 00:23:14,110 jest do wykonania i uruchomić moje programy. 470 00:23:14,110 --> 00:23:15,170 >> Zacznijmy więc prosty. 471 00:23:15,170 --> 00:23:17,700 Pozwólcie mi iść do Plik, Zapisz. 472 00:23:17,700 --> 00:23:20,530 Mam zamiar iść do przodu i przejdź do jharvard. 473 00:23:20,530 --> 00:23:24,320 Tak więc urządzenia, niezależnie od tego, co Twoje imię, należy do faceta o nazwie 474 00:23:24,320 --> 00:23:28,250 John Harvard, który ma jharvard domu wewnątrz katalogu, który wszystkie swoje 475 00:23:28,250 --> 00:23:29,100 files pójdzie. 476 00:23:29,100 --> 00:23:31,640 To twoja kopia jego rachunku, więc nie jesteśmy wszystkim dzielenie 477 00:23:31,640 --> 00:23:33,530 sam dysk. 478 00:23:33,530 --> 00:23:35,580 Musisz tylko złudzenie z własnego Johna Harvardu. 479 00:23:35,580 --> 00:23:38,350 >> W góry, faktycznie zainstalowany Dropbox. 480 00:23:38,350 --> 00:23:42,600 Urządzenie jest wstępnie przetworzone z Dropbox tak, że jeśli coś pójdzie nie tak 481 00:23:42,600 --> 00:23:45,950 w trakcie semestru, jeśli masz skonfigurowaniu urządzenia z darmo 482 00:23:45,950 --> 00:23:48,950 Konto Dropbox, wszystkie pliki będą być automatycznie kopie zapasowe, więc 483 00:23:48,950 --> 00:23:50,430 można bardzo łatwo je odzyskać. 484 00:23:50,430 --> 00:23:53,980 I zamierzam iść do mojego Dropbox katalog, a tam już będzie 485 00:23:53,980 --> 00:23:55,530 jest kilka innych rzeczy tam. 486 00:23:55,530 --> 00:24:02,090 >> Ale mam zamiar iść do przodu i przejdź do menu Plik, Zapisz. 487 00:24:02,090 --> 00:24:05,930 Mam zamiar iść do jharvard, Dropbox, i tutaj, mam zamiar 488 00:24:05,930 --> 00:24:10,590 daje mój program jest super proste name, hello.c, a następnie zapisać. 489 00:24:10,590 --> 00:24:11,810 Więc mam ten sam interfejs teraz. 490 00:24:11,810 --> 00:24:14,190 Jedyne, co się zmieniło jest karta do góry. 491 00:24:14,190 --> 00:24:17,170 Jestem więc bardzo szybko będzie odtworzyć ten program z 492 00:24:17,170 --> 00:24:19,060 slajdy chwilą. 493 00:24:19,060 --> 00:24:25,690 >> Więc do main (void), a następnie printf, "Hello, world", nieco tajemniczy 494 00:24:25,690 --> 00:24:29,920 backslash n, blisko cytat, zamknij nawias, średnik, a 495 00:24:29,920 --> 00:24:32,030 następnie Ctrl S, aby zapisać. 496 00:24:32,030 --> 00:24:34,860 I zauważ Tak na marginesie, co się pojawiły się tu w lewym górnym rogu. 497 00:24:34,860 --> 00:24:37,490 A nie jest to przydatne dziś, ale będą przydatne w czasie. 498 00:24:37,490 --> 00:24:40,160 Po prostu patrz, znowu, podsumowanie Kod, który napisałeś. 499 00:24:40,160 --> 00:24:43,320 I dlatego, że napisał coś, co nazywa Głównym, dlatego głównym pojawiło się słowo 500 00:24:43,320 --> 00:24:44,030 się tam. 501 00:24:44,030 --> 00:24:46,610 Jednak w większości przypadków, że nie trzeba, że ​​dziś. 502 00:24:46,610 --> 00:24:51,130 >> W porządku, więc twierdzę, że to jest mój Pierwszy program napisany w programowaniu 503 00:24:51,130 --> 00:24:54,620 Język nazywa C. Wiemy od piątku że to, co to coś zrobi 504 00:24:54,620 --> 00:24:58,450 I obojętnie, gdy bardzo prowadzony jest tylko wyświetlać - 505 00:24:58,450 --> 00:25:01,270 innymi słowy, drukowania, jak komputer Naukowiec powie - 506 00:25:01,270 --> 00:25:03,310 hello world na ekranie. 507 00:25:03,310 --> 00:25:06,800 Tak więc, aby to zrobić, można zauważyć, że mam iść na dół do mojego terminalu 508 00:25:06,800 --> 00:25:09,250 okno, a teraz mam miga prompt. 509 00:25:09,250 --> 00:25:15,480 Ale teraz jest to wersja klawiatura mój John katalog domowy Harvard. 510 00:25:15,480 --> 00:25:19,610 Jest to sposób, za pośrednictwem której keyboard aby poruszać się dysk twardy. 511 00:25:19,610 --> 00:25:25,380 >> Więc tak naprawdę nie mogą wpisać tak jak ja w zeszłym tygodniu, aby przywitać, bo to 512 00:25:25,380 --> 00:25:27,230 powie żadnej reguły, aby cel - 513 00:25:27,230 --> 00:25:27,950 coś jest nie tak. 514 00:25:27,950 --> 00:25:31,690 I nie bardzo wiem, co to wiadomość środki, ale to dlatego, domyślnie 515 00:25:31,690 --> 00:25:35,350 kiedy to czarno-białe okno jest otwarte, jestem wewnątrz John Harvard-tych 516 00:25:35,350 --> 00:25:36,160 katalog domowy. 517 00:25:36,160 --> 00:25:39,180 Ale gdzie się zapisać do tego programu? 518 00:25:39,180 --> 00:25:40,440 W moim folderze Dropbox. 519 00:25:40,440 --> 00:25:43,110 >> Teraz wszyscy wyrośli z komputery, gdzie po prostu kliknij dwukrotnie 520 00:25:43,110 --> 00:25:45,610 na ikonę folderu, to otwiera, i voila. 521 00:25:45,610 --> 00:25:48,280 To miejsce, gdzie plik o nazwie hello.c będzie. 522 00:25:48,280 --> 00:25:49,470 Faktycznie więc, zróbmy to. 523 00:25:49,470 --> 00:25:51,610 >> Pozwólcie mi iść do przodu i zminimalizować gedit tak jak byś na 524 00:25:51,610 --> 00:25:52,990 Windows lub Mac OS. 525 00:25:52,990 --> 00:25:56,160 Pozwólcie mi iść do domu folderu w lewym górnym rogu. 526 00:25:56,160 --> 00:25:57,620 Zobaczymy tutaj kilka folderów. 527 00:25:57,620 --> 00:25:58,870 Oto mój folder Dropbox. 528 00:25:58,870 --> 00:26:00,770 W checkmarks oznacza to zostało zsynchronizowane. 529 00:26:00,770 --> 00:26:04,040 I jest kilka rzeczy tutaj, ale zauważ, że hello.c jest 530 00:26:04,040 --> 00:26:04,960 rzeczywiście tam. 531 00:26:04,960 --> 00:26:08,050 >> I tak w Mac OS lub Windows, zazwyczaj, Chciałbym kliknij dwukrotnie, że otwiera się w 532 00:26:08,050 --> 00:26:10,220 bez względu na program, a ja jestem dobry, aby przejść. 533 00:26:10,220 --> 00:26:13,370 Ale teraz, przynajmniej począwszy od dzisiaj, trzeba zrobić krok do tyłu, tak, aby 534 00:26:13,370 --> 00:26:16,960 podać kilka podstawowych narzędzi dla Twojego Zestaw narzędzi, z którymi zrobić więcej 535 00:26:16,960 --> 00:26:18,980 potężne rzeczy przed długi. 536 00:26:18,980 --> 00:26:22,280 >> Tak więc w tym miejscu, co muszę zrobić odpowiednik podwójne kliknięcie 537 00:26:22,280 --> 00:26:23,560 Folderze Dropbox. 538 00:26:23,560 --> 00:26:29,900 A do tego, mam zamiar wpisać CD dla zmienić katalog, Dropbox, wprowadź. 539 00:26:29,900 --> 00:26:36,100 A teraz uwaga nawiasy w moim tzw. prompt teraz mówi, że jestem w 540 00:26:36,100 --> 00:26:38,470 Tylda, trochę falowane symbol w lewym górnym rogu 541 00:26:38,470 --> 00:26:40,860 większości klawiatur / Dropbox. 542 00:26:40,860 --> 00:26:45,200 To jest tylko oznaczenie skrótowe mówiąc, człowiek, jesteś teraz w środku 543 00:26:45,200 --> 00:26:48,650 folder Dropbox, tak jakby trzeba było podwójne kliknięcie na nim. 544 00:26:48,650 --> 00:26:54,610 >> Więc teraz, jeśli pójdę do przodu i make witam, podaj, widzę bardzo tajemnicze 545 00:26:54,610 --> 00:26:57,450 polecenie, ale nie komunikat o błędzie, Wydaje się, a następnie 546 00:26:57,450 --> 00:26:59,020 kolejny miga prompt. 547 00:26:59,020 --> 00:27:04,470 I jeśli pamiętamy, nigdy tak szybko Piątek, zrobiliśmy to. . / Hello. 548 00:27:04,470 --> 00:27:10,000 >> Co masz zamiar zobaczyć jest wynikiem mojego działania programu, lub w Mac 549 00:27:10,000 --> 00:27:14,310 OS i PC warunki, gdybym normalnie dwukrotnie kliknij na programie -. app 550 00:27:14,310 --> 00:27:17,620 program lub. exe, otwiera okna i działa. 551 00:27:17,620 --> 00:27:21,920 Wpisując. / Hello jest jak podwójna kliknięcie programu, aby go uruchomić, ale 552 00:27:21,920 --> 00:27:23,280 korzystanie z mojej klawiatury. 553 00:27:23,280 --> 00:27:25,410 >> Wpisz, hello world. 554 00:27:25,410 --> 00:27:26,150 I to jest to. 555 00:27:26,150 --> 00:27:29,150 Warto więc drażnić to od siebie, aby więc nie czuje się zbyt wiele jak grecki. 556 00:27:29,150 --> 00:27:31,370 >> Tak. / Znaczy co? 557 00:27:31,370 --> 00:27:34,120 Każdy, kto kiedykolwiek żeglował klawiaturę środowisko jak to, co dot 558 00:27:34,120 --> 00:27:36,690 dotyczy? 559 00:27:36,690 --> 00:27:37,800 Katalog bieżący. 560 00:27:37,800 --> 00:27:41,320 >> Więc jest tylko katalog bieżący synonimem folderze. 561 00:27:41,320 --> 00:27:46,230 Więc mówiąc kropka ukośnik, mówię, poszukaj programu o nazwie witaj w 562 00:27:46,230 --> 00:27:47,250 katalog bieżący - 563 00:27:47,250 --> 00:27:48,540 w bieżącym folderze. 564 00:27:48,540 --> 00:27:50,480 Innymi słowy, mój folder Dropbox. 565 00:27:50,480 --> 00:27:54,220 I dlatego wciskającENTER później faktycznie działa ten program. 566 00:27:54,220 --> 00:27:58,790 >> Jeśli teraz typu LS, zauważysz, że widzę wszystko w moim folderze Dropbox. 567 00:27:58,790 --> 00:28:02,000 Pierwsze Started.pdf, który Dropbox daje za darmo, moich zdjęć 568 00:28:02,000 --> 00:28:05,450 katalog, katalog publiczny, niezapisane Dokument 1, które zrobiłem przez pomyłkę do 569 00:28:05,450 --> 00:28:09,730 chwilą, foo.c, które zrobiłem wcześniej dzisiaj, a następnie dwie linie - 570 00:28:09,730 --> 00:28:12,090 hello.c i cześć. 571 00:28:12,090 --> 00:28:17,280 >> Hello.c jest program napisałem z gedit i co to jest cześć w kolorze zielonym? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 Witam na zielono jest wykonywalny. 574 00:28:22,940 --> 00:28:27,020 Innymi słowy, kiedy dostał tę komendę chwilą - pozwól mi rzucić 575 00:28:27,020 --> 00:28:28,040 Cofnij się w czasie - 576 00:28:28,040 --> 00:28:32,400 kiedy wpadłem zrobić hello, to średnim krokiem tutaj. 577 00:28:32,400 --> 00:28:34,410 I zajęło hello.c jako wejście - 578 00:28:34,410 --> 00:28:39,910 AKA kod źródłowy - i produkowane Plik o nazwie cześć jako wyjście, które 579 00:28:39,910 --> 00:28:42,510 zawiera wszystkich tych zer i jedynek. 580 00:28:42,510 --> 00:28:47,640 I dlatego, w końcu, mogę faktycznie uruchomić polecenie podobne. / hello. 581 00:28:47,640 --> 00:28:53,310 Ponieważ Intel Inside, mój operacyjnego systemu Linux, otwiera te zera 582 00:28:53,310 --> 00:28:55,820 i te, podaje je do mózg komputera - 583 00:28:55,820 --> 00:28:56,580 CPU - 584 00:28:56,580 --> 00:29:00,460 i że procesor wie, oh, oto wzór zer i jedynek, które mówi 585 00:29:00,460 --> 00:29:02,800 wydrukować następujące rzeczy na ekranie. 586 00:29:02,800 --> 00:29:04,450 >> Co jest następujące rzeczy? 587 00:29:04,450 --> 00:29:07,650 Cytat cytatu, "hello world". 588 00:29:07,650 --> 00:29:12,100 >> W porządku, więc szybkie podsumowanie niektórych te polecenia, tak, że możemy zaczynać 589 00:29:12,100 --> 00:29:13,350 biorąc je za pewnik. 590 00:29:13,350 --> 00:29:15,550 Pozwól mi przejść od razu do w którym skończyliśmy. 591 00:29:15,550 --> 00:29:22,230 A przypomnijmy sobie, że mieliśmy płytę w naszym tyłu końca chwilą. 592 00:29:22,230 --> 00:29:24,880 Są to, śmiem twierdzić, że dla dzisiejsze cele - 593 00:29:24,880 --> 00:29:29,010 być może w tym tygodniu - tylko polecenia my może trzeba wpisać w wierszu 594 00:29:29,010 --> 00:29:30,580 zapyta oprócz zrobić. 595 00:29:30,580 --> 00:29:34,510 >> Tak CD stanął na co? 596 00:29:34,510 --> 00:29:35,180 Zmień katalog. 597 00:29:35,180 --> 00:29:38,010 To jest po prostu odpowiednikiem double kliknięcie na folderze. 598 00:29:38,010 --> 00:29:41,320 I jak na bok, jeśli się stracił kiedykolwiek wewnętrznej stronie 599 00:29:41,320 --> 00:29:43,430 Urządzenie takie, że Dropbox - 600 00:29:43,430 --> 00:29:45,420 Chcę wrócić do mojego katalog jharvard - 601 00:29:45,420 --> 00:29:50,490 w razie wątpliwości, CD, wejść, bez innych słowa, i to właśnie zamki Tobą 602 00:29:50,490 --> 00:29:53,110 gdzie zacząłeś, które jest ładny, mały skrót. 603 00:29:53,110 --> 00:29:54,840 >> Dobrze, więc teraz inne polecenia. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 Wpisałem, że chwilę temu. 606 00:29:56,840 --> 00:29:59,500 Co sądzisz LS oznacza? 607 00:29:59,500 --> 00:30:00,470 >> Tak, lista, prawda? 608 00:30:00,470 --> 00:30:03,300 Powrót w dzień, kiedy ludzie przychodzili się z tych poleceń, że 609 00:30:03,300 --> 00:30:07,180 starali się być skuteczne, a raczej wpisz się L-I-S-T Enter, że 610 00:30:07,180 --> 00:30:08,470 postanowiła LS. 611 00:30:08,470 --> 00:30:09,080 To dobrze. 612 00:30:09,080 --> 00:30:10,420 Brzmi to dość podobnie jak liście. 613 00:30:10,420 --> 00:30:13,870 Miejmy typu LS wprowadzić, a które listę plików lub folderów w moim 614 00:30:13,870 --> 00:30:15,000 bieżący folder. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, można się domyślić. 616 00:30:17,530 --> 00:30:18,440 Sprawdź katalog. 617 00:30:18,440 --> 00:30:22,010 Tak więc nie pójść do jakiegoś menu pliku i wybrać nowy folder w tym środowisku. 618 00:30:22,010 --> 00:30:27,410 Przeciwnie, należy wpisać polecenie mkdir przestrzeń a następnie nazwa folderu 619 00:30:27,410 --> 00:30:29,850 , które chcesz utworzyć, i będzie to zrobione. 620 00:30:29,850 --> 00:30:32,380 >> rm, można się domyślić. 621 00:30:32,380 --> 00:30:33,480 Usuń lub usunąć. 622 00:30:33,480 --> 00:30:36,740 Więc jeśli chcesz usunąć plik, będziesz zobacz w zestawie problemu, w jaki sposób 623 00:30:36,740 --> 00:30:37,240 może to zrobić. 624 00:30:37,240 --> 00:30:39,510 I rmdir, usuń katalog. 625 00:30:39,510 --> 00:30:42,320 >> Tak więc raz jeszcze, ja zazwyczaj latać przez niektóre z tych informacji, z których jeden, ponieważ 626 00:30:42,320 --> 00:30:46,010 nie są one aż tak dużo zabawy, aby spędzić raz, ale dwa, podamy Ci w 627 00:30:46,010 --> 00:30:48,720 wiele bardziej szczegółowo w dowolnym Problem Kursu zestawy, szczególnie 628 00:30:48,720 --> 00:30:52,370 standardowe wersje, żadnych etapów że być może trzeba wpisać tak 629 00:30:52,370 --> 00:30:54,830 , które stają się coraz bardziej wygodne z tych rzeczy. 630 00:30:54,830 --> 00:30:57,430 >> Ale teraz pozwólcie mi odciąć jeszcze jedno. 631 00:30:57,430 --> 00:31:02,580 Gdy wpisaliśmy zrobić cześć chwilą widzieliśmy tajemnicze sekwencji poleceń. 632 00:31:02,580 --> 00:31:04,805 Widzieliśmy, znowu zrobić cześć. 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 OK, zróbmy to. 635 00:31:08,520 --> 00:31:11,840 I miał popełnić błąd, ale [Niesłyszalne] teraz przyznać, że miał 636 00:31:11,840 --> 00:31:14,400 i robią to celowo. 637 00:31:14,400 --> 00:31:15,810 >> Co zrobiłem nie tak właśnie teraz? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 Tak, więc nie jestem w Dropbox katalog, bo chwilę temu 640 00:31:21,060 --> 00:31:22,720 wpisywanych CD i po prostu wciskamy Enter. 641 00:31:22,720 --> 00:31:25,480 To powiększony mnie tam, gdzie zacząłem, które nie gdzie mój plik jest 642 00:31:25,480 --> 00:31:31,720 jest, tak naprawdę trzeba zrobić CD Dropbox wejść, a teraz mogę zrobić rm Witaj 643 00:31:31,720 --> 00:31:34,060 wprowadzić, usunąć zwykły plik komentarzy. 644 00:31:34,060 --> 00:31:35,200 Nie wiem, dlaczego to jest tak tajemnicze. 645 00:31:35,200 --> 00:31:37,600 To oznacza, że ​​jesteś pewien, chcesz usunąć komentarzy 646 00:31:37,600 --> 00:31:41,510 Możesz wpisać y na tak, podaj, a teraz go nie ma. 647 00:31:41,510 --> 00:31:46,010 >> A teraz, jeśli make Witam ponownie, jest to zamiar odtworzyć mój kod obiektu, 648 00:31:46,010 --> 00:31:47,460 odtworzenia tych zer i jedynek. 649 00:31:47,460 --> 00:31:51,070 Ale o co chodzi z Polecenie to bardzo długo? 650 00:31:51,070 --> 00:31:53,960 Cóż, będziemy dokuczać to apart Wkrótce jednak zrobić - 651 00:31:53,960 --> 00:31:55,500 Mówiłem trochę białego kłamstwa przed - 652 00:31:55,500 --> 00:31:56,880 nie jest kompilator. 653 00:31:56,880 --> 00:32:00,350 Marka to program, który automatycznie domyśla się, jak uruchomić 654 00:32:00,350 --> 00:32:02,060 kompilator dla Ciebie. 655 00:32:02,060 --> 00:32:07,490 >> Tak więc polecenie, które naprawdę powinny być działa w celu przekształcenia hello.c 656 00:32:07,490 --> 00:32:11,240 do komentarzy rzeczywiście wygląda trochę tak. 657 00:32:11,240 --> 00:32:15,900 I broń Boże musimy faktycznie Pamiętaj, aby zawsze wpisać, że cała 658 00:32:15,900 --> 00:32:17,280 sekwencja poleceń obecnie. 659 00:32:17,280 --> 00:32:21,360 Celem zrobić w życiu jest pamiętać, że stopień skomplikowania dla 660 00:32:21,360 --> 00:32:24,470 nam i automatyzacji, co w przeciwnym razie być bardzo żmudne etapy. 661 00:32:24,470 --> 00:32:26,040 >> Ale mogę w przybliżeniu, że. 662 00:32:26,040 --> 00:32:29,960 Więc na tej małej ściągawki tutaj, I można w przybliżeniu co to polecenie jest 663 00:32:29,960 --> 00:32:33,960 robi by po prostu brzękiem pisania, który jest nazwa kompilatora będziemy 664 00:32:33,960 --> 00:32:35,170 używając w tym semestrze. 665 00:32:35,170 --> 00:32:38,500 Jeśli ktoś z was kiedykolwiek zrobiłem iOS rozwoju dla iPhone lub iPad, 666 00:32:38,500 --> 00:32:42,930 Szczęk jest program, który został użyty w ciągu Xcode zrobić swoje aplikacje. 667 00:32:42,930 --> 00:32:46,360 Szczęk, choć jest po prostu inny program którego nazwisko można wpisać w wierszu 668 00:32:46,360 --> 00:32:49,210 zapyta, oraz poprzez wprowadzenie tego teraz, Mogę przedstawić coś, co jest 669 00:32:49,210 --> 00:32:52,410 mało reprezentatywne poleceń przyjść. 670 00:32:52,410 --> 00:32:53,910 Więc pozwól mi to zrobić ręcznie. 671 00:32:53,910 --> 00:32:59,240 >> Więc rm hello, a teraz zawiadomienia w przypadku I tak, jak zdrowy rozsądek sprawdzić - 672 00:32:59,240 --> 00:33:03,180 . / Hello, co myślisz I Należy sprawdzić, czy mogę to zrobić? 673 00:33:03,180 --> 00:33:04,060 Jakiś rodzaj błędu. 674 00:33:04,060 --> 00:33:05,110 Nie ma takiego katalogu plik. 675 00:33:05,110 --> 00:33:06,740 Tak, że jeden jest rzeczywiście bardzo bezpośredni. 676 00:33:06,740 --> 00:33:08,110 >> Więc teraz pozwól mi wyczyścić ekran. 677 00:33:08,110 --> 00:33:11,370 Kontrola S prostu czyści ekran usunąć niektóre rozrywki. 678 00:33:11,370 --> 00:33:17,160 A teraz idę do ręcznego Rodzaj dzyń-o cześć hello.c. 679 00:33:17,160 --> 00:33:18,890 Więc co to jest o robić? 680 00:33:18,890 --> 00:33:23,820 Dokładnie to samo, które sprawiają, że nie dla nam, ale nie wyrzucić niektóre 681 00:33:23,820 --> 00:33:25,430 słowa zbędne. 682 00:33:25,430 --> 00:33:28,570 >> Szczęk jest program, który będzie podjąć. pliku C jako wejścia i wytwarzają 683 00:33:28,570 --> 00:33:30,110 zer i jedynek jako wyjścia. 684 00:33:30,110 --> 00:33:35,120 Ale-o odtąd będzie wywoływać switch lub flag. 685 00:33:35,120 --> 00:33:39,080 To jest tylko technika żargonie mówiąc to jest słowo, wpisz w wierszu 686 00:33:39,080 --> 00:33:42,590 że w jakiś sposób wpływa na zachowanie programu używasz. 687 00:33:42,590 --> 00:33:47,180 Więc czy ktoś chce zgadywać co-o przekazuje? 688 00:33:47,180 --> 00:33:47,840 >> Wyjście. 689 00:33:47,840 --> 00:33:52,670 To po prostu ktoś postanowił-o oznacza wyjściowy plik o nazwie cześć i przyjąć jako 690 00:33:52,670 --> 00:33:56,440 input cokolwiek ostatnie słowo prompt jest hello.c, tak, że jeśli uderzę 691 00:33:56,440 --> 00:33:58,930 Wprowadź teraz, nic się nie dzieje. 692 00:33:58,930 --> 00:34:02,010 I co dziwne, w tym świecie programowanie, jeśli nic się nie dzieje, 693 00:34:02,010 --> 00:34:03,980 to chyba dobrze, bo nie ma błędu 694 00:34:03,980 --> 00:34:05,350 komunikatu na ekranie. 695 00:34:05,350 --> 00:34:07,190 Witaj, Enter. 696 00:34:07,190 --> 00:34:08,670 Mój program ma teraz uruchomić. 697 00:34:08,670 --> 00:34:14,517 >> Ale mogę zrobić głupie małe rzeczy jak ta. dzyń-o, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 wejść, a teraz mam identyczne Program nazwany hihihi. 699 00:34:18,590 --> 00:34:20,739 To działa tak samo, ale nazwa jest inna. 700 00:34:20,739 --> 00:34:23,360 >> Więc jest to tylko powiedzieć, że jeśli chcesz aby wpływać na zachowanie 701 00:34:23,360 --> 00:34:25,909 Program, będziemy coraz bardziej zobaczyć rzeczy nazywane 702 00:34:25,909 --> 00:34:27,739 Argumenty wiersza poleceń. 703 00:34:27,739 --> 00:34:28,639 To jest linia. 704 00:34:28,639 --> 00:34:29,580 Wpisywania poleceń. 705 00:34:29,580 --> 00:34:30,969 Ergo, z linii poleceń. 706 00:34:30,969 --> 00:34:35,690 A argumenty wiersza poleceń są tylko słowa lub małe kawałki składni 707 00:34:35,690 --> 00:34:40,840 w jakiś sposób wpływać na zachowanie programy, które są uruchomione. 708 00:34:40,840 --> 00:34:44,639 >> Dobrze, że jest być może najbardziej nudny program, możemy napisać i zobaczyć. 709 00:34:44,639 --> 00:34:46,670 Załóżmy teraz coś zrobić bardziej interesujące. 710 00:34:46,670 --> 00:34:49,420 Pozwólcie mi iść dalej i utworzyć nowy plik. 711 00:34:49,420 --> 00:34:53,139 Mam zamiar iść do przodu i zapisać to w John Harvard, jak katalog domowy, 712 00:34:53,139 --> 00:34:58,670 nazwijmy to custom.c, być mały specjalny program. 713 00:34:58,670 --> 00:35:01,920 Mam zamiar powiększyć w moim szczycie występy tu i zacząć od nowa. 714 00:35:01,920 --> 00:35:03,730 >> Zawierają standardowe stdio.h. 715 00:35:03,730 --> 00:35:04,990 Więcej o tym za chwilę. 716 00:35:04,990 --> 00:35:08,240 int main (void), więcej na że w jednej chwili. 717 00:35:08,240 --> 00:35:09,490 printf ("hello, David"). 718 00:35:09,490 --> 00:35:12,810 719 00:35:12,810 --> 00:35:14,560 Znacznie bardziej interesujące, prawda? 720 00:35:14,560 --> 00:35:20,690 >> Więc teraz, gdy - nie ze względu na moje imię i nazwisko, tylko dlatego, że jest inaczej - 721 00:35:20,690 --> 00:35:24,950 zrobić zwyczaj wprowadzić. 722 00:35:24,950 --> 00:35:26,780 Niestandardowy, hello, David. 723 00:35:26,780 --> 00:35:28,020 Ale nawet to też jest kłamstwo. 724 00:35:28,020 --> 00:35:30,850 Program ten może być również nazywana david.c, bo to nie jest zwyczaj 725 00:35:30,850 --> 00:35:31,880 Zachowanie w ogóle. 726 00:35:31,880 --> 00:35:35,080 Naprawdę, chcę program, który pyta użytkownikowi na ich nazwę. 727 00:35:35,080 --> 00:35:36,320 >> Więc jak to zrobić? 728 00:35:36,320 --> 00:35:38,520 Cóż, pozwól mi przejść się tutaj. 729 00:35:38,520 --> 00:35:42,960 I zanim używam oświadczenie, w Scratch, przed użyciem printf, 730 00:35:42,960 --> 00:35:47,600 zwie funkcji, pozwól mi najpierw poprosić użytkownika o pewnym wejścia. 731 00:35:47,600 --> 00:35:49,690 >> Tak więc, aby to zrobić, muszę zrobić kilka rzeczy. 732 00:35:49,690 --> 00:35:53,360 Jeden, potrzebuję miejsca do przechowywania Instrukcja wymienić po Poprosiłem go lub 733 00:35:53,360 --> 00:35:54,510 jej za to. 734 00:35:54,510 --> 00:36:00,120 Co konstrukt muszę użyć prawdopodobnie do przechowywania wartości w tym stylu? 735 00:36:00,120 --> 00:36:00,910 Zmienna. 736 00:36:00,910 --> 00:36:05,130 >> Tak więc w przeciwieństwie do zera, gdzie można po prostu ładny kawałek układanki, tutaj mamy do 737 00:36:05,130 --> 00:36:07,620 użyć oczywiście słowa wyrazić siebie. 738 00:36:07,620 --> 00:36:11,510 I od tej pory, kiedy tylko chcesz słowo lub frazę, w programowaniu, 739 00:36:11,510 --> 00:36:13,090 mamy zamiar zadzwonić, że ciąg. 740 00:36:13,090 --> 00:36:14,990 Tak więc ciąg jest słowo lub wyrażenie. 741 00:36:14,990 --> 00:36:18,170 To sekwencja zero lub więcej znaków, bardziej formalnie. 742 00:36:18,170 --> 00:36:22,520 >> A jeśli chcesz taką zmienną do istnieje, trzeba powiedzieć, daj mi jeden. 743 00:36:22,520 --> 00:36:27,490 A sposób w jaki to robisz jest powiedzieć String s średnik, gdzie S można 744 00:36:27,490 --> 00:36:28,740 cokolwiek chcesz. 745 00:36:28,740 --> 00:36:30,510 W rzeczywistości, a jest trochę rozczarowująca. 746 00:36:30,510 --> 00:36:33,250 Pozwólcie mi iść do przodu i więcej wyraźnie nazywają to nazwisko. 747 00:36:33,250 --> 00:36:36,570 Daj mi ciąg o nazwie nazwa. 748 00:36:36,570 --> 00:36:40,180 >> Ale teraz, co osoby Nazwa domyślnie? 749 00:36:40,180 --> 00:36:42,930 Cóż, jeśli człowiek nie ma nic pisać w, oczywiście, nie będzie 750 00:36:42,930 --> 00:36:44,310 być brak wartości w nazwie. 751 00:36:44,310 --> 00:36:48,120 I okazuje się, w C, jeśli nie dają Zmienna wartość, to będzie 752 00:36:48,120 --> 00:36:49,180 mają wartość śmieci. 753 00:36:49,180 --> 00:36:51,650 To może mieć pewne losowe zer i nich, więc jesteś po prostu żeby zobaczyć 754 00:36:51,650 --> 00:36:54,570 śmieci, naprawdę, na ekranie jeśli spróbujesz go wyświetlić. 755 00:36:54,570 --> 00:36:59,800 >> Ale mogę to naprawić, mówiąc właściwie, wewnątrz sklepu z nazwą tej 756 00:36:59,800 --> 00:37:01,400 po wartości. 757 00:37:01,400 --> 00:37:09,240 Sposób przechowywania wartości w zmiennych jest jeśli masz nazwę zmiennej na 758 00:37:09,240 --> 00:37:13,370 w lewo, trzeba w jakiś sposób umieścić to, co Aby zapisać w nim na prawo i 759 00:37:13,370 --> 00:37:17,650 składnia, że ​​będzie się w następujący sposób. 760 00:37:17,650 --> 00:37:22,120 >> Nie widziałem tego wcześniej, ale się na wiarę na chwilę, że nie 761 00:37:22,120 --> 00:37:26,270 istnieje inne oświadczenie na świecie że mam zamiar ponownie wywołać funkcję, 762 00:37:26,270 --> 00:37:28,310 i funkcja ta jest nazywa uzyskać ciąg. 763 00:37:28,310 --> 00:37:29,670 I to nie dosłownie, że. 764 00:37:29,670 --> 00:37:34,680 Jakoś ma sekwencję znaków od człowieka, a następnie 765 00:37:34,680 --> 00:37:36,380 ma coś z nim. 766 00:37:36,380 --> 00:37:38,410 >> I to nie wygląda tajemnicze składnia. 767 00:37:38,410 --> 00:37:40,880 Zazwyczaj, jeśli używasz znaki równości - jesteś w świecie, mówią, 768 00:37:40,880 --> 00:37:43,740 algebra, i jesteś naprawdę x mówiąc równa 1. 769 00:37:43,740 --> 00:37:46,570 Tu nie mówimy, że Nazwa równa uzyskać ciąg. 770 00:37:46,570 --> 00:37:51,270 Mówimy sklep w imię tego, co znajduje się z prawej strony 771 00:37:51,270 --> 00:37:52,400 tego znaku równości. 772 00:37:52,400 --> 00:37:55,030 Znak równości oznacza Operator przypisania. 773 00:37:55,030 --> 00:37:58,240 To składnia, że ​​mówi umieścić co jest na z prawej strony do środka, co jest 774 00:37:58,240 --> 00:37:59,090 z lewej strony. 775 00:37:59,090 --> 00:38:03,040 Więc łańcuch jest nowy kawałek Funkcjonalność, że nie tylko 776 00:38:03,040 --> 00:38:03,670 coś - 777 00:38:03,670 --> 00:38:05,000 pyta użytkownika o ciąg - 778 00:38:05,000 --> 00:38:08,500 również zwraca go, że tak powiem. 779 00:38:08,500 --> 00:38:10,690 >> Zobaczmy więc, co się dzieje zdarzyć się tutaj. 780 00:38:10,690 --> 00:38:14,300 Mam zamiar iść do przodu i teraz pomniejszyć, i mam zamiar dostać parę 781 00:38:14,300 --> 00:38:15,780 błędy w moje polecenia. 782 00:38:15,780 --> 00:38:18,750 Idę na make zwyczaj wprowadzić. 783 00:38:18,750 --> 00:38:19,230 Wow. 784 00:38:19,230 --> 00:38:20,500 Cała masa błędów. 785 00:38:20,500 --> 00:38:23,120 >> W porządku, więc jest to rodzaj przytłaczające, z pewnością na początku, ale 786 00:38:23,120 --> 00:38:27,220 Okazuje się wszystkie te bardzo wprawdzie tajemnicze komunikaty o błędach są 787 00:38:27,220 --> 00:38:30,700 odnosząc się do pewnych wzorców, które zaczniemy widzieć w czasie. 788 00:38:30,700 --> 00:38:32,600 Więc ten jeden będę zrywać off, bo to pierwsze. 789 00:38:32,600 --> 00:38:35,700 Korzystanie z nielegalnego łańcucha identyfikatora. 790 00:38:35,700 --> 00:38:39,400 >> To po prostu oznacza, że ​​gedit lub dzyń, w tym przypadku, nie wie, 791 00:38:39,400 --> 00:38:40,780 co mam na myśli ciąg. 792 00:38:40,780 --> 00:38:43,880 A to dlatego, że w C, programowania język, tam faktycznie 793 00:38:43,880 --> 00:38:47,750 nie jest zmienna typu string. 794 00:38:47,750 --> 00:38:49,810 C nie wie, że łańcuchy istnieje. 795 00:38:49,810 --> 00:38:52,260 >> Ale my, CS50 personel, zrobić. 796 00:38:52,260 --> 00:38:57,080 I to wcześniej, klasy, że utworzony plik o nazwie CS50.h. 797 00:38:57,080 --> 00:39:00,060 A w środku tego pliku - i Więcej na temat składni, aby przyjść - 798 00:39:00,060 --> 00:39:03,730 wewnątrz tego pliku jest definicja z tego, co właśnie zdefiniowane 799 00:39:03,730 --> 00:39:05,340 ustnie jako ciąg. 800 00:39:05,340 --> 00:39:09,100 Więc po prostu zakończymy tę jedną linię kodu w moim programie, jestem teraz 801 00:39:09,100 --> 00:39:14,620 Nauczanie gedit i zrobić i szczęk wszystko z kolei, co ciąg jest. 802 00:39:14,620 --> 00:39:15,475 >> Nie wiem, jak jeszcze. 803 00:39:15,475 --> 00:39:17,110 W ciągu kilku tygodni, my będziemy peel z powrotem, że warstwa. 804 00:39:17,110 --> 00:39:20,340 Ale teraz wiem, że to uczy kompilator, co 805 00:39:20,340 --> 00:39:22,020 Łańcuch jest w rzeczywistości. 806 00:39:22,020 --> 00:39:24,230 >> Więc teraz pozwól mi wyczyścić Terminal tutaj. 807 00:39:24,230 --> 00:39:28,530 Pozwól mi ponownie uruchomić make zwyczaj, a ja rozwiązać wszystkie z tych problemów. 808 00:39:28,530 --> 00:39:30,210 Więc to też będzie być powracającym tematem. 809 00:39:30,210 --> 00:39:34,190 Ja tylko napisałem 9 linii programu, a jeszcze miałem 18 linii błędów. 810 00:39:34,190 --> 00:39:35,650 To rodzaj zastraszenia. 811 00:39:35,650 --> 00:39:39,260 Ale sobie sprawę, że często takie kaskady że jeden mały błąd powoduje 812 00:39:39,260 --> 00:39:43,070 Zamieszanie na kompilator, i wygląda o wiele gorzej, niż jest. 813 00:39:43,070 --> 00:39:47,460 >> Więc teraz wiem, bystry obserwator że jestem coraz ciąg od 814 00:39:47,460 --> 00:39:51,460 użytkownika, ale nie jestem w rzeczywistości robi to, co z nim? 815 00:39:51,460 --> 00:39:53,570 Nie jestem rzeczywiście robi coś z tym. 816 00:39:53,570 --> 00:40:01,240 Więc jeśli faktycznie uruchomić custom znowu to się po prostu siedzieć. 817 00:40:01,240 --> 00:40:03,380 Co się dzieje? 818 00:40:03,380 --> 00:40:07,990 Mój program wydaje się być zatrzymany na co linia, można by powiedzieć? 819 00:40:07,990 --> 00:40:09,860 >> Więc to rzeczywiście zatrzymany na linii 7. 820 00:40:09,860 --> 00:40:13,600 I nie widziałem tego wcześniej, ale na linii 7, jest, ponownie, to 821 00:40:13,600 --> 00:40:14,650 oświadczenie, uzyskać ciąg. 822 00:40:14,650 --> 00:40:15,930 I robi to, co mówi. 823 00:40:15,930 --> 00:40:18,480 Czeka teraz na człowieka podjąć ciąg. 824 00:40:18,480 --> 00:40:22,230 To jest dla mnie kompletnie nieintuicyjne, ludzi, bo nie powiedziano 825 00:40:22,230 --> 00:40:23,040 co robić. 826 00:40:23,040 --> 00:40:27,320 >> Ale pozwól mi iść dalej w wierze i pozwól mi udawać, że Rob. 827 00:40:27,320 --> 00:40:28,500 Wprowadź. 828 00:40:28,500 --> 00:40:30,930 To nie program I przeznaczone jest. 829 00:40:30,930 --> 00:40:32,350 Tak więc mamy pierwszy blog. 830 00:40:32,350 --> 00:40:34,390 >> Ale spróbujmy rozumować przez dlaczego jest to przypadek. 831 00:40:34,390 --> 00:40:36,940 Po pierwsze, pozwól mi rozwiązać ten pierwszy problem. 832 00:40:36,940 --> 00:40:44,690 Dodam tutaj, że wiersz mówi printf, jak się nazywasz? 833 00:40:44,690 --> 00:40:47,700 Zróbmy ścisłą ofertę, zamknąć nawias. 834 00:40:47,700 --> 00:40:51,350 >> Teraz pozwól mi ponownie uruchomić program. 835 00:40:51,350 --> 00:40:51,760 Problem. 836 00:40:51,760 --> 00:40:54,690 Nie widzę tego. 837 00:40:54,690 --> 00:40:54,930 >> Racja. 838 00:40:54,930 --> 00:40:55,990 I nie przekompilować. 839 00:40:55,990 --> 00:40:59,800 Tak więc w języku, jak C, ponieważ zmienić kod źródłowy nie znaczy 840 00:40:59,800 --> 00:41:03,170 że zmieniłeś kod obiektu wygenerować nowy kod obiektu, 841 00:41:03,170 --> 00:41:04,330 Nowe zer i jedynek. 842 00:41:04,330 --> 00:41:05,590 Trzeba przebudować. 843 00:41:05,590 --> 00:41:10,300 Jeśli teraz ponownie uruchomić niestandardowe wprowadź, ah, trochę bardziej jasne. 844 00:41:10,300 --> 00:41:11,890 Nazywam się Rob. 845 00:41:11,890 --> 00:41:12,760 Still buggy. 846 00:41:12,760 --> 00:41:14,170 >> A ja twierdzą, że jest a błędy para teraz. 847 00:41:14,170 --> 00:41:15,450 To wygląda po prostu ohydny, szczerze mówiąc. 848 00:41:15,450 --> 00:41:18,980 Jak, w minimalnym stopniu, powinien mieć przestrzeń tam, lub przenieść 849 00:41:18,980 --> 00:41:20,330 kursor do nowej linii. 850 00:41:20,330 --> 00:41:21,370 >> I rzeczywiście, nowa linia. 851 00:41:21,370 --> 00:41:24,660 To jest swego rodzaju kluczem frazy tutaj widzieliśmy, ale nie zdefiniowane. 852 00:41:24,660 --> 00:41:28,560 Sposób, w jaki można uzyskać tekst , aby przejść do następnej linii, 853 00:41:28,560 --> 00:41:29,480 nie rób tego. 854 00:41:29,480 --> 00:41:31,070 To jest mylące do komputera. 855 00:41:31,070 --> 00:41:33,830 To wygląda jak dwie oddzielne linie kodu, z których żadna 856 00:41:33,830 --> 00:41:35,010 jest całkowicie poprawne. 857 00:41:35,010 --> 00:41:39,380 Państwo zamiast być bardziej wyraźne i powiedzieć, daj mi nową linię, którą 858 00:41:39,380 --> 00:41:41,810 reprezentowania w C z backslash n. 859 00:41:41,810 --> 00:41:43,230 >> Więc jest kilka takich znaków. 860 00:41:43,230 --> 00:41:45,080 Backslash n będzie naprawić tę estetykę. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 Pozwól mi skompilować mój program. 863 00:41:50,870 --> 00:41:52,300 Pozwól mi ponownie uruchomić mój program. 864 00:41:52,300 --> 00:41:53,520 >> To wygląda lepiej. 865 00:41:53,520 --> 00:41:56,960 Jest jeszcze dość prymitywne, ale także nadal buggy. 866 00:41:56,960 --> 00:41:58,090 Więc jest jeden - 867 00:41:58,090 --> 00:42:01,680 nawet jeśli nigdy nie zaprogramowany wcześniej, prawdopodobnie można zgadywać 868 00:42:01,680 --> 00:42:04,960 , dlaczego ten program jest nadal wadliwy. 869 00:42:04,960 --> 00:42:08,540 Co muszę zrobić, że Nie zrobiłem jeszcze? 870 00:42:08,540 --> 00:42:10,450 >> Muszę więc faktycznie coś z nazwą. 871 00:42:10,450 --> 00:42:14,190 Podobnie jak w zera, to może faktycznie przypisać zmienną jak N lub 872 00:42:14,190 --> 00:42:16,150 przeciwdziałać tak jak my w zeszłym tydzień - wartość. 873 00:42:16,150 --> 00:42:18,930 Ale jeśli nie masz nic z to nic się nie stanie. 874 00:42:18,930 --> 00:42:20,210 >> W porządku, więc niech naprawić. 875 00:42:20,210 --> 00:42:23,670 Pozwól mi wpisać moje zmiennej tam, i pozwól mi przejść tutaj. 876 00:42:23,670 --> 00:42:29,120 Pozwól mi skompilować, pozwól mi re-run, Rob. 877 00:42:29,120 --> 00:42:30,540 Teraz jestem po prostu idiotą, prawda? 878 00:42:30,540 --> 00:42:33,280 >> Więc to nie jest tak naprawdę coraz mnie dalej. 879 00:42:33,280 --> 00:42:35,850 Ale to było zupełnie naturalne instynkt, ja twierdzą, prawda? 880 00:42:35,850 --> 00:42:39,340 Jeśli zmienna nazywa się nazwa, a ja ma się tam, dlaczego nie mogę po prostu 881 00:42:39,340 --> 00:42:40,200 wpisz go tam? 882 00:42:40,200 --> 00:42:42,210 >> Cóż, oczywiście, mamy odróżniać się 883 00:42:42,210 --> 00:42:44,070 między tym, co jest ciąg? 884 00:42:44,070 --> 00:42:47,060 Zauważ, że Koniec cytatu tutaj, witam na imię? 885 00:42:47,060 --> 00:42:48,960 To rzeczywiście jest sam napis. 886 00:42:48,960 --> 00:42:49,820 Ciężko jest kodowany. 887 00:42:49,820 --> 00:42:50,690 To nie od człowieka. 888 00:42:50,690 --> 00:42:54,020 To ode mnie, przy programista, ale to jeszcze łańcuch. 889 00:42:54,020 --> 00:42:58,300 >> Więc jeśli dosłownie napisać N-A-m-E wewnątrz z ciągu, co się 890 00:42:58,300 --> 00:42:59,120 wypisywane? 891 00:42:59,120 --> 00:43:03,660 Cóż, N--M-E. Zamiast tego należy powiedzieć printf, nie są drukowane 892 00:43:03,660 --> 00:43:04,870 się dosłownie nazwać. 893 00:43:04,870 --> 00:43:06,680 Wydrukuj wartość nazwy. 894 00:43:06,680 --> 00:43:08,410 >> A do tego, co robimy, co następuje. 895 00:43:08,410 --> 00:43:09,800 I to jest właśnie ludzka konwencja. 896 00:43:09,800 --> 00:43:14,990 My zamiast powiedzieć,% s, a oznacza ciąg znaków. 897 00:43:14,990 --> 00:43:19,810 A potem na koniec moich bliskich cudzysłowie, Zamierzam postawić przecinek i 898 00:43:19,810 --> 00:43:23,790 przekazać drugi argument w tym oświadczeniu. 899 00:43:23,790 --> 00:43:25,970 Zamierzam wpisać nazwę tam. 900 00:43:25,970 --> 00:43:27,960 >> Więc teraz zauważyć, mamy nieznacznie nowa składnia. 901 00:43:27,960 --> 00:43:32,320 Mamy jeszcze dwa nawiasy i odtąd chciałbym powiedzieć, że rzeczy 902 00:43:32,320 --> 00:43:36,830 w nawiasach oznacza argumenty do funkcji - 903 00:43:36,830 --> 00:43:39,730 wejścia, które są w jakiś sposób dzieje wpływać na jego zachowanie. 904 00:43:39,730 --> 00:43:43,010 Tak więc według tej logiki, jak wiele argumentów nie wydaje się printf 905 00:43:43,010 --> 00:43:45,450 biorąc w tej chwili? 906 00:43:45,450 --> 00:43:48,370 >> Tak więc wydaje się, że przy dwóch, i to rzeczywiście dorozumianych 907 00:43:48,370 --> 00:43:49,570 przez przecinek tutaj. 908 00:43:49,570 --> 00:43:51,640 Więc to jest jeden argument w cudzysłowie. 909 00:43:51,640 --> 00:43:54,540 Nawet jeśli ma przecinka w tym, wszystko jest w cudzysłowie, co oznacza, 910 00:43:54,540 --> 00:43:56,230 jest to jeden długi ciąg. 911 00:43:56,230 --> 00:43:58,280 Przecinek, nazwa zmiennej. 912 00:43:58,280 --> 00:44:00,680 >> Więc teraz niech pomniejszyć. 913 00:44:00,680 --> 00:44:02,240 Pozwól, że ponownie go uruchomić. 914 00:44:02,240 --> 00:44:03,490 Rob. 915 00:44:03,490 --> 00:44:06,520 Cholera, co zrobiłem źle? 916 00:44:06,520 --> 00:44:07,920 >> W porządku, więc trzeba przebudować. 917 00:44:07,920 --> 00:44:11,030 Więc jeszcze raz, aby łatwo błędy na początku jeszcze raz i jeszcze raz. 918 00:44:11,030 --> 00:44:15,280 Więc teraz ponownie uruchomić custom, Rob, enter i voila. 919 00:44:15,280 --> 00:44:17,110 Teraz mamy własny program. 920 00:44:17,110 --> 00:44:21,660 >> Więc teraz mam program, który za pomocą kilku cech 921 00:44:21,660 --> 00:44:22,520 Warto zwrócić uwagę, że. 922 00:44:22,520 --> 00:44:27,850 One, używam CS50.h, inaczej znany jako CS50 biblioteki. 923 00:44:27,850 --> 00:44:33,050 A wewnątrz CS50 biblioteki są Funkcje, które inni ludzie pisali - 924 00:44:33,050 --> 00:44:33,980 czyli pracownicy - 925 00:44:33,980 --> 00:44:36,620 do użycia, a otrzymasz Ciąg jest jednym z nich. 926 00:44:36,620 --> 00:44:41,310 >> Wewnątrz linii 2 jest stdio.h, i dlaczego to jest? 927 00:44:41,310 --> 00:44:42,070 Zgadnij. 928 00:44:42,070 --> 00:44:46,200 To, co istnieje wewnątrz średnia IO rodzicem? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 Więc printf, nie widać go w dowolnym miejscu indziej na ekranie. 931 00:44:49,600 --> 00:44:51,870 To musi pochodzić z komputer w jakiś sposób. 932 00:44:51,870 --> 00:44:54,870 Skąd to się bierze? 933 00:44:54,870 --> 00:44:57,660 To jest w środku - to oświadczył, że tak powiem, w środku 934 00:44:57,660 --> 00:44:59,890 Plik o nazwie stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> Teraz, dla tych rzeczy, wrócimy na końcu, bo to nieco 936 00:45:02,670 --> 00:45:03,930 rozpraszać teraz. 937 00:45:03,930 --> 00:45:05,490 Odnosi się to do naszego typu powrotną. 938 00:45:05,490 --> 00:45:07,660 To odnosi się do argumentu. 939 00:45:07,660 --> 00:45:10,230 Ale na dziś, jesteśmy skupieni tylko tutaj, na tych liniach. 940 00:45:10,230 --> 00:45:13,280 >> Więc string nazwa, tylko podsumować, czego to dla mnie zrobić? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 Więc to zadeklarowane zmiennej typu string. 943 00:45:19,560 --> 00:45:22,630 Więc to ma być dla słów, nie dla liczb. 944 00:45:22,630 --> 00:45:25,530 Podobnie jak na bok, jeśli ja chcę że jest to liczba, powiedziałbym 945 00:45:25,530 --> 00:45:26,560 coś jak int. 946 00:45:26,560 --> 00:45:29,740 Gdybym chciał być zmiennoprzecinkowe wartość, coś z przecinkiem, 947 00:45:29,740 --> 00:45:30,600 Powiedziałbym pływaka. 948 00:45:30,600 --> 00:45:32,640 Ale na dzisiaj, właśnie powiedziałem ciąg. 949 00:45:32,640 --> 00:45:35,940 >> I dałem tę zmienną Nazwa nazwą, ale mogłem 950 00:45:35,940 --> 00:45:37,240 nazwali to coś. 951 00:45:37,240 --> 00:45:39,340 W rzeczywistości, pierwotnie nazwałem go S. 952 00:45:39,340 --> 00:45:41,050 >> To tutaj jest po prostu inne zdanie. 953 00:45:41,050 --> 00:45:44,170 Ile to argumenty Ochrona przy? 954 00:45:44,170 --> 00:45:47,890 Więc to tylko przy jednym, i że jest po prostu estetyczne szczegóły 955 00:45:47,890 --> 00:45:49,610 wyświetlania coś na Ekran do mnie. 956 00:45:49,610 --> 00:45:54,750 Co to jest 8 linii robi w laika? 957 00:45:54,750 --> 00:45:57,320 >> Robi się wartość z użytkownik - a mianowicie, string - 958 00:45:57,320 --> 00:45:58,770 i to, co on robi z tym? 959 00:45:58,770 --> 00:46:02,450 To w istocie przekazanie go do facet z lewej strony 960 00:46:02,450 --> 00:46:07,100 znak równości tak, że w tym przypadku, Nazwa zmiennej może faktycznie przechowywać. 961 00:46:07,100 --> 00:46:10,020 >> A potem printf jest inny wystąpienie funkcji. 962 00:46:10,020 --> 00:46:11,870 A my mówimy do wywołania funkcji. 963 00:46:11,870 --> 00:46:13,870 Aby korzystać z funkcji jest do wywołania funkcji. 964 00:46:13,870 --> 00:46:15,640 To coś najwyraźniej przyjmuje dwa argumenty. 965 00:46:15,640 --> 00:46:18,100 Ten jeden, przecinek, ten jeden. 966 00:46:18,100 --> 00:46:20,910 >> Ten sam w sobie jest po prostu ciąg że zawiera zastępczy. 967 00:46:20,910 --> 00:46:23,860 % S oznacza, stawiać kolejny ciąg tutaj. 968 00:46:23,860 --> 00:46:27,360 I tak przez umieszczenie nazwy po przecinek, który jest włożenie 969 00:46:27,360 --> 00:46:29,420 to coś dla mnie. 970 00:46:29,420 --> 00:46:31,300 >> Więc mogę robić inne rzeczy nadal. 971 00:46:31,300 --> 00:46:36,820 Pozwólcie mi iść do przodu i teraz zrobić trochę głupi program, ale pozwól mi usunąć, 972 00:46:36,820 --> 00:46:38,880 i niech mi stworzyć pętlę. 973 00:46:38,880 --> 00:46:41,390 Choć prawdą. 974 00:46:41,390 --> 00:46:45,210 Symbol prawda jest oczywiście zawsze będzie prawdziwe. 975 00:46:45,210 --> 00:46:49,830 Więc jaki rodzaj pętli mam wywołania pisząc taką linię? 976 00:46:49,830 --> 00:46:51,070 >> Tak więc pętla nieskończona, tak? 977 00:46:51,070 --> 00:46:52,090 Wystarczy natomiast prawdą. 978 00:46:52,090 --> 00:46:56,210 Nie sposób mogę zmienić słowo prawdą jest coś innego, więc to jest 979 00:46:56,210 --> 00:46:57,310 po prostu będzie trwać wiecznie. 980 00:46:57,310 --> 00:46:59,960 Więc jeśli kiedykolwiek faktycznie miał program w komputerze Mac lub PC, który wydaje 981 00:46:59,960 --> 00:47:02,480 się, że zamknięty, lub to robi coś i coś, i po prostu 982 00:47:02,480 --> 00:47:05,500 nie można uzyskać coś, aby zamknąć chyba że uruchom ponownie komputer lub podciągnąć 983 00:47:05,500 --> 00:47:08,360 Menedżer zadań itp., tu jest taki przykład. 984 00:47:08,360 --> 00:47:14,340 >> Mogę powiedzieć: "Jestem buggy program." Zamknij cytat, zamknij 985 00:47:14,340 --> 00:47:15,780 nawias, średnik. 986 00:47:15,780 --> 00:47:17,010 Więc jeszcze raz, zwróć uwagę na wzory. 987 00:47:17,010 --> 00:47:21,440 Mimo, że niektóre z naszych składni jest nowy, natomiast słowo kluczowe, kluczowe prawdziwe, 988 00:47:21,440 --> 00:47:23,590 Zauważ, że mają takie same rodzaj klamrach. 989 00:47:23,590 --> 00:47:25,890 Mam średnik i nawiasów. 990 00:47:25,890 --> 00:47:28,000 >> Więc teraz idziemy naprzód i skompilować. 991 00:47:28,000 --> 00:47:29,630 Dodać niestandardowe, niestandardowe. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 Tak więc w tym momencie nie musisz się ponownie uruchomić urządzenie, dobrze? 994 00:47:36,660 --> 00:47:39,925 Więc łatwo stąd wniosek, z dwa palce, sterowania C, 995 00:47:39,925 --> 00:47:41,230 my zamknąć ten program. 996 00:47:41,230 --> 00:47:45,430 Ale można zobaczyć dokładnie, dlaczego to coś powtarzał się ponownie i ponownie. 997 00:47:45,430 --> 00:47:48,080 >> Mogę zrobić coś trochę bardziej złożone, jak teaser. 998 00:47:48,080 --> 00:47:49,600 Mam zamiar iść do przodu i powiedzieć, co następuje. 999 00:47:49,600 --> 00:47:55,210 Dla Int., która jest liczbą całkowitą, to jest po prostu generic name dajemy najbardziej 1000 00:47:55,210 --> 00:47:59,500 Zmienne w programowaniu, kiedy jesteĹ tylko liczenie, jest równa 0. 1001 00:47:59,500 --> 00:48:08,640 Pozwólcie mi iść dalej i powiedzieć, a ja to, powiedzmy, mniej niż 100, i Plus Plus. 1002 00:48:08,640 --> 00:48:10,240 Będziemy z powrotem do tej składni, ale to tylko oznacza, 1003 00:48:10,240 --> 00:48:12,270 inkrementacja i znowu i znowu. 1004 00:48:12,270 --> 00:48:14,200 >> I co chcę zrobić tutaj? 1005 00:48:14,200 --> 00:48:21,130 Printf, "mogę liczyć na i". To buggy programu. 1006 00:48:21,130 --> 00:48:22,450 Co ja właściwie zamierzam tutaj? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> Procent nie s, ale nie przypuszczam ta. % D jest liczbą całkowitą. 1009 00:48:30,940 --> 00:48:32,720 Przecinek i. 1010 00:48:32,720 --> 00:48:34,340 Pozwól mi cofnąć. 1011 00:48:34,340 --> 00:48:37,170 >> Chciałbym teraz przebudować z make. 1012 00:48:37,170 --> 00:48:39,280 Chciałbym teraz powtórka z obyczajem. 1013 00:48:39,280 --> 00:48:42,410 Mogę liczyć naprawdę cholernie szybko, gdy I napisać taki program. 1014 00:48:42,410 --> 00:48:45,480 >> Teraz zróbmy coś trochę niezamierzone. 1015 00:48:45,480 --> 00:48:51,220 Jak o zróbmy to, a ja jest większa lub równa 0. 1016 00:48:51,220 --> 00:48:53,630 Co to będzie wywoływać? 1017 00:48:53,630 --> 00:49:01,030 Więc logicznie, to nie jest tak mądry, bo gdybym powtórzenie tego, opowiadać, 1018 00:49:01,030 --> 00:49:05,050 Teraz mogę liczyć naprawdę na wysokim poziomie. 1019 00:49:05,050 --> 00:49:08,850 Niestety, o tak wysokie, jak to możliwe Ilość jest 4000000000, tak to się dzieje 1020 00:49:08,850 --> 00:49:10,140 do trochę potrwać. 1021 00:49:10,140 --> 00:49:13,440 >> Więc dlaczego nie zostawić tego, jak nasze cliffhanger, obiecując, że w dniu 1022 00:49:13,440 --> 00:49:15,650 Środa, zobaczymy, czy ten program jest zrobione. 1023 00:49:15,650 --> 00:49:19,260 Dwa dowiemy, w jaki sposób się wyraź swoją funkcję tak, że bardzo 1024 00:49:19,260 --> 00:49:22,930 szybko, w środę, my będziemy, jak my Przejście od podstaw w C, start 1025 00:49:22,930 --> 00:49:25,880 pisanie coraz bardziej złożone programy, które robią wiele, 1026 00:49:25,880 --> 00:49:27,070 o wiele więcej niż to. 1027 00:49:27,070 --> 00:49:28,766 Będziemy zobaczenia. 1028 00:49:28,766 --> 00:49:31,580 >> [APPLAUSE] 1029 00:49:31,580 --> 00:49:34,690 >> SPEAKER 1: Na następnym CS50, Day Puzzle był sukcesem. 1030 00:49:34,690 --> 00:49:39,690