1 00:00:00,000 --> 00:00:11,736 2 00:00:11,736 --> 00:00:16,626 >> [ODTWARZANIE] 3 00:00:16,626 --> 00:00:19,410 >> -A Triumf matematyczne i mechaniczne umiejętności 4 00:00:19,410 --> 00:00:23,270 Jest to wspaniały nowy automatyczne Kalkulator na Uniwersytecie Harvarda. 5 00:00:23,270 --> 00:00:27,140 Skomplikowane problemy w matematyce wprowadzony do urządzenia w postaci zakodowanej 6 00:00:27,140 --> 00:00:31,710 na taśmie są dokładnie rozwiązane w minut ułamek czasu potrzebnego 7 00:00:31,710 --> 00:00:32,819 dla ludzkiej kalkulacji. 8 00:00:32,819 --> 00:00:44,280 9 00:00:44,280 --> 00:00:48,220 Zaprojektowane, aby przyspieszyć wszelkie formy matematyczne i naukowe badania, 10 00:00:48,220 --> 00:00:53,840 Mózg mechaniczny gigant będzie działać Stany Zjednoczone Navy do końca wojny. 11 00:00:53,840 --> 00:01:03,620 12 00:01:03,620 --> 00:01:06,570 >> [Zakończyć odtwarzanie] 13 00:01:06,570 --> 00:01:08,590 >> David J. MALAN: To jest CS50. 14 00:01:08,590 --> 00:01:10,590 Przeszłość była magiczna miejsce, ale jeśli kiedykolwiek 15 00:01:10,590 --> 00:01:13,366 zastanawiał się, co to urządzenie jest w Harvard Science Center, 16 00:01:13,366 --> 00:01:16,150 rzeczywiście jest częścią Harvard Mark I, i to 17 00:01:16,150 --> 00:01:18,710 na wyświetlaczu nie teraz w ciągu ostatnich lat. 18 00:01:18,710 --> 00:01:20,590 A co zobaczysz wbudowane w zestaw problemów 19 00:01:20,590 --> 00:01:24,416 jedno jest spojrzenie za kulisy na to, co zrobił, że urządzenie, a nie, 20 00:01:24,416 --> 00:01:27,540 od profesora Harry Lewis, który jest w Komputer dział tutaj nauki. 21 00:01:27,540 --> 00:01:29,440 Więc o tym za tylko trochę. 22 00:01:29,440 --> 00:01:33,990 >> Ale dziś zaczynamy przejścia z ostatniego tygodnia temu 23 00:01:33,990 --> 00:01:37,290 a my przynieść wzmianki jednej fotografii tutaj 24 00:01:37,290 --> 00:01:38,630 to rzeczywiście dość znany. 25 00:01:38,630 --> 00:01:42,270 Czy ktoś wie co to tutaj jest na ekranie? 26 00:01:42,270 --> 00:01:43,880 Przynajmniej według mitu. 27 00:01:43,880 --> 00:01:44,837 Tak. 28 00:01:44,837 --> 00:01:45,920 PUBLICZNOŚCI: Pierwszy wirusów. 29 00:01:45,920 --> 00:01:49,570 David J. MALAN: Tak było podobno to pierwszy rzeczywisty błąd w komputerze. 30 00:01:49,570 --> 00:01:52,490 Teraz w rzeczywistości błąd słowo, za błąd w programie, 31 00:01:52,490 --> 00:01:55,250 jest z nami dla niektórych Czas w świecie fizycznym, 32 00:01:55,250 --> 00:01:58,190 i był to jeden z pierwszych, udokumentowane czasy, gdy ktoś rzeczywiście 33 00:01:58,190 --> 00:02:02,280 oskubane dużą ćmę z Markiem II komputer, umieścić go w spoiwie, 34 00:02:02,280 --> 00:02:05,006 a następnie nagrał ją jako pierwszy znany błąd 35 00:02:05,006 --> 00:02:06,630 aby rzeczywiście znaleźć fizycznie. 36 00:02:06,630 --> 00:02:10,104 Tak więc została wpisana że w dzisiejszej wiedzy. 37 00:02:10,104 --> 00:02:12,020 Wszystko, począwszy od ostatniego Tydzień jest dostępna online. 38 00:02:12,020 --> 00:02:14,840 W szczególnych środków, które może nie koniecznie zauważyć, szczególnie 39 00:02:14,840 --> 00:02:15,881 jeśli tu przyjechać osobiście. 40 00:02:15,881 --> 00:02:20,230 Więc jeden z kolegów nauczania każdego roku sprawia, że ​​kanoniczny zestaw notatek, 41 00:02:20,230 --> 00:02:22,010 więc nie musisz się trzymać Twoja głowa w dół, starając 42 00:02:22,010 --> 00:02:24,410 rozpisać prawie wszystko tu może się zdarzyć, że w klasie. 43 00:02:24,410 --> 00:02:25,940 Tak sobie sprawę, że ci, tak zwany [? Scribd?] Notatki 44 00:02:25,940 --> 00:02:29,350 są w Internecie, na pewno slajdy i Kod źródłowy, który używamy w klasie. 45 00:02:29,350 --> 00:02:31,436 Wykonujemy pełne zapisy tekstowe również dostępne. 46 00:02:31,436 --> 00:02:34,310 Więc jeśli mgliście pamiętam niektóre Termin i chcą szukać go trochę 47 00:02:34,310 --> 00:02:37,280 łatwiej, uświadomić sobie, że wszystkie stanowi, że można przeszukiwać w Internecie. 48 00:02:37,280 --> 00:02:38,930 A także solucje, jak również. 49 00:02:38,930 --> 00:02:42,710 Rzeczywiście, dzisiaj zaczynamy patrzeć na język programowania poziom niższy, 50 00:02:42,710 --> 00:02:45,290 wkrótce będzie znany nam jak C, i to jest bardzo łatwe 51 00:02:45,290 --> 00:02:48,820 do rodzaju zgubić po kilku razem chwile, a potem coś w rodzaju cudu 52 00:02:48,820 --> 00:02:52,370 jak rzeczywiście dostał się trochę więcej Kompleks przykład od najprostszych. 53 00:02:52,370 --> 00:02:54,975 I tak sobie sprawę, że będziesz wiśni odbiór w klasie jakiegoś 54 00:02:54,975 --> 00:02:57,850 reprezentatywnych przykładach, ale sobie sprawę, że o wiele więcej jest również 55 00:02:57,850 --> 00:03:01,140 dostępne w Internecie, dzięki czemu można pracować przez to w swoim własnym tempie, 56 00:03:01,140 --> 00:03:02,950 jednak jesteś najbardziej komfortowe. 57 00:03:02,950 --> 00:03:05,200 >> Ale skończyliśmy z Programy, które były po prostu to. 58 00:03:05,200 --> 00:03:09,690 Więc kliknij zieloną flagę, i co ten program zrobić? 59 00:03:09,690 --> 00:03:10,710 Mówi, hello, world. 60 00:03:10,710 --> 00:03:13,180 To sprawia, że ​​kot powiedzieć witaj w swoim małym świecie 61 00:03:13,180 --> 00:03:15,990 na górnej stronie lewej interfejsu użytkownika Scratch jest. 62 00:03:15,990 --> 00:03:18,810 Ale zaczęliśmy wprowadzać trochę terminologii w zeszłym tygodniu. 63 00:03:18,810 --> 00:03:23,614 I tak, takie rzeczy się nazywa, co? 64 00:03:23,614 --> 00:03:25,280 Co może być ogólne określenie na to? 65 00:03:25,280 --> 00:03:26,266 Tak. 66 00:03:26,266 --> 00:03:28,210 Metoda lub oświadczenie. 67 00:03:28,210 --> 00:03:29,280 Pewnie, że to działanie. 68 00:03:29,280 --> 00:03:30,140 Zrób to. 69 00:03:30,140 --> 00:03:32,400 A jednak nie było inne kształty do zera, 70 00:03:32,400 --> 00:03:35,360 oprócz tych tak zwanych stwierdzenie, byli również 71 00:03:35,360 --> 00:03:38,221 takie rzeczy, które nazwaliśmy co? 72 00:03:38,221 --> 00:03:38,720 Tak. 73 00:03:38,720 --> 00:03:39,634 Więc pętla. 74 00:03:39,634 --> 00:03:42,050 I w tym przypadku to, co powtarza, oczywiście, 10 razy. 75 00:03:42,050 --> 00:03:43,040 Istnieje zawsze bloku. 76 00:03:43,040 --> 00:03:44,164 Istnieje kilka innych. 77 00:03:44,164 --> 00:03:48,309 A dzisiaj mamy zamiar zobaczyć, jak przetłumaczyć na bardziej współczesnego świata, 78 00:03:48,309 --> 00:03:50,850 jeśli chcesz, nawet jeśli jest to będzie pojawiać się na pierwszy rzut oka 79 00:03:50,850 --> 00:03:52,024 znacznie bardziej zaawansowanych. 80 00:03:52,024 --> 00:03:53,190 Ale to były rzeczywiście pętle. 81 00:03:53,190 --> 00:03:56,182 A potem mamy takie rzeczy jak To, która miała taki kształt, 82 00:03:56,182 --> 00:03:57,515 i zasadniczo zadawane pytania. 83 00:03:57,515 --> 00:03:58,890 A my, o których mowa je jako co? 84 00:03:58,890 --> 00:03:59,762 >> PUBLICZNOŚCI: Wyrażenie logiczne. 85 00:03:59,762 --> 00:04:00,320 >> David J. MALAN: Tak. 86 00:04:00,320 --> 00:04:01,340 Wyrażenie logiczne. 87 00:04:01,340 --> 00:04:04,502 Coś, co jest albo prawdziwe, albo fałszywe, tak lub nie, jeden lub zero, 88 00:04:04,502 --> 00:04:05,960 jednak chcesz, aby świat. 89 00:04:05,960 --> 00:04:08,335 Ale my nazwaliśmy te Boolean wyrażenia, a my je podłączyć 90 00:04:08,335 --> 00:04:09,900 w warunkach, lub oddziałów. 91 00:04:09,900 --> 00:04:12,170 I w świecie Scratch, wszystko ładnie 92 00:04:12,170 --> 00:04:15,460 Blokady w zakresie jego kształt, jeśli to sprawia, logicznego sensu, aby to zrobić, 93 00:04:15,460 --> 00:04:18,490 ale nie trzeba się zatrzymać na tak robi jedną rzecz warunkowo, 94 00:04:18,490 --> 00:04:20,450 można mieć przysłowiowy rozstaju dróg 95 00:04:20,450 --> 00:04:24,040 i zrobić to czy tamto albo jeśli warunek jest prawdziwy czy nie. 96 00:04:24,040 --> 00:04:26,040 I wtedy, jak zobaczysz, jeśli nie masz, 97 00:04:26,040 --> 00:04:27,480 Można nawet gniazdem tych bloków. 98 00:04:27,480 --> 00:04:32,110 Tak Scratch rośnie do wypełnienia kształtów które możesz włożyć do niego, 99 00:04:32,110 --> 00:04:35,330 więc rzeczywiście można wyrazić najbardziej jakakolwiek logika, że ​​możesz to zrobić. 100 00:04:35,330 --> 00:04:38,220 >> Teraz kilka słów o ogłoszeniu zarówno tu i New Haven. 101 00:04:38,220 --> 00:04:39,370 Więc cięcia zaczyna się dziś. 102 00:04:39,370 --> 00:04:42,120 Adres URL to na kurs na Strona internetowa, na tych zaznajomiony. 103 00:04:42,120 --> 00:04:43,970 Sekcje będzie okazja, aby się spotkać 104 00:04:43,970 --> 00:04:46,553 w bardziej intymne środowisko niż [? Sanders?] Pozwala, 105 00:04:46,553 --> 00:04:50,347 z 10 do 20 kolegów z uczy kolegów na różnych torach, 106 00:04:50,347 --> 00:04:51,930 i różne kroki, jeśli tak zdecydujesz. 107 00:04:51,930 --> 00:04:54,080 Rzeczywiście oferta kursów różne części 108 00:04:54,080 --> 00:04:57,340 dla tych mniej wygodne, bardziej wygodne, a gdzieś pomiędzy, 109 00:04:57,340 --> 00:04:59,860 i rola kciuka tutaj, jest nie ma formalnej definicji, 110 00:04:59,860 --> 00:05:04,600 ale jeśli jesteś mniej wygodne, Ci rodzaj wiedzą. 111 00:05:04,600 --> 00:05:07,470 Jesteś nieco nieustraszony o Pomysł stepping stóp, być może, z powrotem 112 00:05:07,470 --> 00:05:10,130 w klasie, lub wyświetlanie aż do w między sekcji. 113 00:05:10,130 --> 00:05:12,770 Jeśli już programowania od Ciebie sześć lat, bardziej komfortowe, 114 00:05:12,770 --> 00:05:13,400 być może do Ciebie. 115 00:05:13,400 --> 00:05:16,150 A jeśli jest to rodzaj Toss-up, to jest dokładnie to, co w między 116 00:05:16,150 --> 00:05:17,190 ma być. 117 00:05:17,190 --> 00:05:18,410 >> Teraz, w międzyczasie, dla klasy tej wielkości, 118 00:05:18,410 --> 00:05:21,326 zajmuje nam sporo czasu na części wszyscy, więc mamy tak zwane, 119 00:05:21,326 --> 00:05:24,030 Super sekcje, wymyślanie tego weekend i na początku przyszłego tygodnia, 120 00:05:24,030 --> 00:05:26,570 więc spojrzeć na stronie internetowej kursu jest dla tych, które są oczywiście szeroki, 121 00:05:26,570 --> 00:05:28,610 a także nakręcony dla tych, którzy nie mogą uczynić je. 122 00:05:28,610 --> 00:05:33,470 I sekcje sami zacząć w tym tygodniu trzy CS50 indeksem zero. 123 00:05:33,470 --> 00:05:35,880 Problem ustawić 0 już na stronie internetowej oczywiście za. 124 00:05:35,880 --> 00:05:40,010 I okazuje się, że mają dziewięć późno dni w tym semestrze. 125 00:05:40,010 --> 00:05:43,240 Więc jest to upgrade z ostatniego roku, kiedy miał pięć zaległych dni. 126 00:05:43,240 --> 00:05:46,210 >> Więc jeśli zastanawiasz się, mamy dziewięć zestawów problemów. 127 00:05:46,210 --> 00:05:53,200 Masz dziewięć późno dni, z których każdy można wydać tylko jeden na tydzień na. 128 00:05:53,200 --> 00:05:56,089 Który skutecznie sprawia, że ​​wszystkie problem ustawia powodu Piątek, 129 00:05:56,089 --> 00:05:58,630 ale celem jest, aby umieścić trochę trochę presji psychologicznej 130 00:05:58,630 --> 00:06:01,100 na ciebie, aby spróbować rzeczy w czwartek 131 00:06:01,100 --> 00:06:03,960 bo jak wkrótce odkryjesz, na lepsze lub na gorsze, większość 132 00:06:03,960 --> 00:06:07,820 wszystko w świecie oprogramowania kończy się trwał dłużej, niż przewidujemy. 133 00:06:07,820 --> 00:06:10,620 Tak więc uważam to za rodzaj z okazji, aby pomóc 134 00:06:10,620 --> 00:06:13,880 sobie na cel czwartek, ale wziąć komfort, że tak, 135 00:06:13,880 --> 00:06:14,950 wszystko jest spowodowane piątek. 136 00:06:14,950 --> 00:06:17,590 A jeśli je zgłosić na Czwartek, to wspaniale. 137 00:06:17,590 --> 00:06:21,020 Nie ma dodatkowych punktów lub dodatkowa kredyt na dotrzymaniu tego terminu. 138 00:06:21,020 --> 00:06:23,250 To ma być tylko podporą. 139 00:06:23,250 --> 00:06:25,810 >> I godziny pracy, zarówno tu w New Haven, 140 00:06:25,810 --> 00:06:28,840 osobiście, jeśli chcesz spotkać się z każdym z naszych kursów 141 00:06:28,840 --> 00:06:31,060 nauczanie bliźnich i CAS o pomoc. 142 00:06:31,060 --> 00:06:31,640 >> W porządku. 143 00:06:31,640 --> 00:06:33,110 Więc teraz, zróbmy to bardziej realne. 144 00:06:33,110 --> 00:06:35,470 I przez chwilę to się rozpocznie się trochę bardziej ezoteryczne, ale bardzo 145 00:06:35,470 --> 00:06:37,310 szybko w piątek w przyszłym tygodniu będziemy 146 00:06:37,310 --> 00:06:41,230 w stanie zrobić o wiele więcej niż mogliśmy do tej pory w Scratch. 147 00:06:41,230 --> 00:06:44,350 Więc wprowadzony kod ostatni tygodniu, choć obrazkowe. 148 00:06:44,350 --> 00:06:45,620 To było układanki. 149 00:06:45,620 --> 00:06:48,800 A my sformalizowane, że jest to coś takiego jak kod źródłowy, 150 00:06:48,800 --> 00:06:50,330 ale nie wygląda? 151 00:06:50,330 --> 00:06:52,550 Cóż, wyglądało to trochę coś takiego. 152 00:06:52,550 --> 00:06:55,410 I w rzeczywistości, po prostu rodzajem drażnić, gdzie możemy pójść z tym. 153 00:06:55,410 --> 00:06:57,800 Mam zamiar iść do przodu i otworzyć okno tutaj, 154 00:06:57,800 --> 00:06:59,810 a ja po prostu się do wyboru nowego pliku. 155 00:06:59,810 --> 00:07:03,200 I mam zamiar zapisać ten plik jako coś w rodzaju komentarzy dot c. 156 00:07:03,200 --> 00:07:05,700 Więcej na ten wybór słowa chwilę. 157 00:07:05,700 --> 00:07:08,630 I to jest, jak ktoś może go o napisanie programu. 158 00:07:08,630 --> 00:07:13,990 Dołącz Standardowe we / wy dot h, int main nieważne, a następnie otwórz nawias klamrowy, blisko 159 00:07:13,990 --> 00:07:19,430 nawias klamrowy, printf komentarzy przecinek świecie, odwrotny ukośnik n, średnik, Zapisz, zrobić. 160 00:07:19,430 --> 00:07:19,930 OK. 161 00:07:19,930 --> 00:07:21,670 Napisałem mój pierwszy Program, ale to się dzieje 162 00:07:21,670 --> 00:07:23,878 być bardzo rozczarowany bo gdy w rzeczywistości 163 00:07:23,878 --> 00:07:27,352 uruchomić ten program, oczywiście, przez pierwszy piśmie dokonać witam, 164 00:07:27,352 --> 00:07:30,310 a następnie dot slash witam, a my przejść przez to bardziej szczegółowo 165 00:07:30,310 --> 00:07:31,730 w jednej chwili, to wszystko robi. 166 00:07:31,730 --> 00:07:33,270 Nie otwierają wszystkie okna. 167 00:07:33,270 --> 00:07:35,070 To nic nie robi szczególnie fantazyjne. 168 00:07:35,070 --> 00:07:38,830 Wszystko to nie jest to, co powiedziałem do zrobić, ale w jaki sposób dostać się do tego? 169 00:07:38,830 --> 00:07:40,560 A w jaki sposób budować na tym? 170 00:07:40,560 --> 00:07:43,430 No cóż, wprowadzić kilka różne koncepcje tutaj. 171 00:07:43,430 --> 00:07:47,170 >> Tak jeden, mamy zamiar rozpocząć za pomocą programu o nazwie kompilator. 172 00:07:47,170 --> 00:07:51,470 Kompilator istnieje dla Mac OS, Windows, Linux, dowolna liczba systemów operacyjnych 173 00:07:51,470 --> 00:07:54,540 a my wkrótce wprowadzi Cię do środowisko, które będziemy używać, 174 00:07:54,540 --> 00:07:57,410 ale kompilator jest tylko ogólne Termin na kawałek oprogramowania 175 00:07:57,410 --> 00:08:01,940 że ma kod źródłowy i produkuje kod obiektu od niego. 176 00:08:01,940 --> 00:08:03,940 Innymi słowy, jeśli mają jako wejście źródła 177 00:08:03,940 --> 00:08:08,250 Kod, coś, co po prostu wpisane, ostatecznie produkuje kod wynikowy. 178 00:08:08,250 --> 00:08:11,780 I kod obiektu jest naprawdę fantazyjny sposób mówiąc wyprowadza 179 00:08:11,780 --> 00:08:12,926 zera i jeden jest. 180 00:08:12,926 --> 00:08:14,800 Innymi słowy, źródło Kod, nawet jeśli jest to 181 00:08:14,800 --> 00:08:17,240 będzie wyglądać trochę tajniki, i nieco mniej przyjazny 182 00:08:17,240 --> 00:08:19,590 niż Scratch na pierwszy rzut oka, to przynajmniej coś 183 00:08:19,590 --> 00:08:21,120 że my, ludzie mogą zrozumieć. 184 00:08:21,120 --> 00:08:24,360 To rodzaj wygląda i brzmi jak Angielski, chociaż jest to bardzo zwięzłe. 185 00:08:24,360 --> 00:08:28,040 Natomiast programowanie w zer i One, jak nasi poprzednicy musieli zrobić, 186 00:08:28,040 --> 00:08:30,920 kilka lat temu, nie był wyzwaniem szczególnie zabawne. 187 00:08:30,920 --> 00:08:33,710 A jednak jest to, co się komputer nadal rozumie. 188 00:08:33,710 --> 00:08:37,010 Więc kompilator robi nas od Kod źródłowy do kodu wynikowego. 189 00:08:37,010 --> 00:08:39,860 To jest jak otwarcie pliku z kompilator, a po zapisaniu go, 190 00:08:39,860 --> 00:08:41,419 masz te zer i jedynek. 191 00:08:41,419 --> 00:08:43,419 Więc zobaczymy, jak to zrobić że za chwilę. 192 00:08:43,419 --> 00:08:47,400 >> Ale niech teraz starają się zapewnić most pomiędzy ostatnim tygodniu i to, 193 00:08:47,400 --> 00:08:50,660 tak, że nawet jak się powiesił na rzeczy, takich jak nawiasy, 194 00:08:50,660 --> 00:08:54,100 i średniki i nawiasów i wszystkie te interesujące intelektualnie 195 00:08:54,100 --> 00:08:57,620 aspekty programowania, które bardzo zrozumiałe potknąć ludzi się na początku, 196 00:08:57,620 --> 00:09:00,930 sobie sprawę, że wszystkie pomysły Obecnie są same jako ostatni. 197 00:09:00,930 --> 00:09:03,975 Tak więc ostatnia, widzieliśmy ten przykład tutaj program Hello World. 198 00:09:03,975 --> 00:09:07,500 Cóż, począwszy od dzisiaj, jeśli chcemy do realizacji tego samego programu, 199 00:09:07,500 --> 00:09:10,800 to będzie wyglądać Trochę coś takiego. 200 00:09:10,800 --> 00:09:14,040 A my wyjaśnić przed długim jakim int, i główny, i nieważne, a wszystko to 201 00:09:14,040 --> 00:09:18,770 jest, ale przynajmniej widzę tutaj już zaznajomieni Hello World. 202 00:09:18,770 --> 00:09:20,860 >> Tymczasem takie rzeczy jak Funkcja, przywitaj, 203 00:09:20,860 --> 00:09:23,570 jest bardzo łatwo będzie bardzo proste stwierdzenie tak. 204 00:09:23,570 --> 00:09:26,930 Printf hello world, niektóre cytuje z odwrotnym ukośnikiem, 205 00:09:26,930 --> 00:09:29,780 średnikiem, ale Więcej na ten temat w przyszłości. 206 00:09:29,780 --> 00:09:34,066 Pętle, tymczasem jest to pętla, Oczywiście, wita świat na zawsze, 207 00:09:34,066 --> 00:09:36,690 a ten będzie wyglądać trochę dziwniej niż w ostatnim, 208 00:09:36,690 --> 00:09:39,530 ale jeśli mogę coś powiedzieć jak, podczas gdy prawda, 209 00:09:39,530 --> 00:09:44,050 Można następnie wydrukować Witaj świecie znowu i znowu i znowu i znowu. 210 00:09:44,050 --> 00:09:46,660 A potem, jak można rodzaju od rozpoczęcia wywnioskować tutaj, 211 00:09:46,660 --> 00:09:49,070 Niniejsza Konwencja korzystania nawiasy klamrowe jest rodzajem 212 00:09:49,070 --> 00:09:52,050 jakby obejmując urozmaiconej linii kodu nie. 213 00:09:52,050 --> 00:09:55,840 Linia printf kodu, podobnie jak żółty kawałek układanki się powyżej. 214 00:09:55,840 --> 00:09:58,740 Więc nie będziemy mówić na zawsze, będziemy mówić podczas gdy prawdziwe, 215 00:09:58,740 --> 00:10:01,020 ale zobaczymy, dlaczego tak jest tylko trochę. 216 00:10:01,020 --> 00:10:04,210 >> Tymczasem, jeśli mamy pętlę tak, gdzie można powtórzyć coś skończonego 217 00:10:04,210 --> 00:10:07,730 liczba pomnożona, ten też jest to zajmie trochę przyzwyczaić 218 00:10:07,730 --> 00:10:12,820 , ale to będzie powiedzieć na int ja dostaje zero, i mniej niż 10, i ++, 219 00:10:12,820 --> 00:10:14,056 a następnie printf ponownie. 220 00:10:14,056 --> 00:10:15,430 Ale nie będzie to wzory. 221 00:10:15,430 --> 00:10:18,434 A dla tych z was zna z AP Informatyki, lub Java, 222 00:10:18,434 --> 00:10:21,100 lub dowolną liczbę innych języków Prawie wszyscy z tych konstruktów 223 00:10:21,100 --> 00:10:23,820 do tej pory powinien wyglądać w większości znane. 224 00:10:23,820 --> 00:10:24,680 >> Tak więc zmienne. 225 00:10:24,680 --> 00:10:29,270 Więc oto prosty Scratch fragment, który ustawia zmienną licznik do zera, 226 00:10:29,270 --> 00:10:33,150 a następnie na zawsze mówi licznik oraz następnie zmienia licznik o jeden. 227 00:10:33,150 --> 00:10:37,030 Tak zaczyna się od zera, i jeden, dwa, trzy. 228 00:10:37,030 --> 00:10:42,560 Cóż, jak możemy przedstawić, że w ten nowy język trochę podobnie? 229 00:10:42,560 --> 00:10:45,460 Licznik int równa zero, natomiast prawdą, która 230 00:10:45,460 --> 00:10:48,100 jest to, że sam pomysł sprzed zrobić coś na zawsze, 231 00:10:48,100 --> 00:10:49,530 a ja po prostu się do printf. 232 00:10:49,530 --> 00:10:53,310 A teraz robi się to trochę dziwne, procent i, ale o tym, aby przyjść, 233 00:10:53,310 --> 00:10:55,140 ale pomysły te są dokładnie takie same. 234 00:10:55,140 --> 00:10:58,820 Właśnie teraz musimy stosować się do składnia, że ​​komputer jest 235 00:10:58,820 --> 00:11:00,010 będzie wymagać od nas. 236 00:11:00,010 --> 00:11:04,620 >> Wyrażenie logiczne, coś jak sx mniej niż y lub x mniej niż y, 237 00:11:04,620 --> 00:11:06,354 i y mniejsza niż z. 238 00:11:06,354 --> 00:11:09,270 To będzie wyglądać trochę coś jak ten, z nawiasów tylko 239 00:11:09,270 --> 00:11:13,020 jak w matematyce na dokładkę po prostu upewnić się, że kolejność operacji 240 00:11:13,020 --> 00:11:14,750 jest jak chcemy. 241 00:11:14,750 --> 00:11:15,600 A teraz, warunki. 242 00:11:15,600 --> 00:11:21,220 Tak więc, jeśli x mniej niż Y, np x jest mniejsze od y, else if x jest większa od y, 243 00:11:21,220 --> 00:11:26,020 powiedzieć, x jest większe od y, inaczej Logicznie rzecz biorąc, x może być równe R. 244 00:11:26,020 --> 00:11:28,710 Więc może realizować coś takiego w Scratch, 245 00:11:28,710 --> 00:11:31,230 lub może realizować to w tej składni. 246 00:11:31,230 --> 00:11:35,090 I znowu, nawiasy klamrowe są rodzajem dając nam taki sam kształt jak puzzle 247 00:11:35,090 --> 00:11:40,750 sztuk, ale składnia obecnie, jest prawdopodobnie zaczynają przestrzegać pewnych wzorców. 248 00:11:40,750 --> 00:11:42,910 >> Więc, co to da nam tutaj? 249 00:11:42,910 --> 00:11:45,260 Więc wracamy wtedy do naszego głównego programu. 250 00:11:45,260 --> 00:11:47,930 Niech faktycznie, teraz, coś z tym zrobić. 251 00:11:47,930 --> 00:11:50,660 Tak więc w tym pierwszym Linia widzimy ostre obejmują, 252 00:11:50,660 --> 00:11:53,160 Standard I / O, kropka h, oraz wtedy jakiś dziwny kąt 253 00:11:53,160 --> 00:11:57,330 wsporniki poniżej, że. int main nieważne, a następnie printf hello world. 254 00:11:57,330 --> 00:11:58,200 Więc po prostu zrób krok. 255 00:11:58,200 --> 00:12:02,440 Ktoś, kto nigdy nie zaprogramowane wcześniej, co najmniej jednego wyjaśnienia tych linii. 256 00:12:02,440 --> 00:12:04,490 Korzystanie być może niektóre z żargon z ostatniego tygodnia. 257 00:12:04,490 --> 00:12:06,942 Co jest printf, na przykład? 258 00:12:06,942 --> 00:12:07,442 Tak. 259 00:12:07,442 --> 00:12:08,410 >> PUBLICZNOŚCI: [niesłyszalne] 260 00:12:08,410 --> 00:12:08,610 >> David J. MALAN: Tak. 261 00:12:08,610 --> 00:12:11,380 Jest to funkcja, lub oświadczenie, z zeszłotygodniowym terminologii. 262 00:12:11,380 --> 00:12:13,470 I jest to działanie że robi coś. 263 00:12:13,470 --> 00:12:15,855 Teraz ta funkcja, lub to stwierdzenie, czy 264 00:12:15,855 --> 00:12:17,550 wydaje się podjąć jakieś wejście? 265 00:12:17,550 --> 00:12:20,080 266 00:12:20,080 --> 00:12:24,380 I w jakim sensie to robi wydaje się wejście, jeśli tak? 267 00:12:24,380 --> 00:12:26,180 Wejście, co mam na myśli? 268 00:12:26,180 --> 00:12:26,720 Tak. 269 00:12:26,720 --> 00:12:27,595 >> PUBLICZNOŚCI: [niesłyszalne] 270 00:12:27,595 --> 00:12:30,565 271 00:12:30,565 --> 00:12:31,440 David J. MALAN: Tak. 272 00:12:31,440 --> 00:12:34,890 Tak Scratch Kilka puzzle gdzie można go parametrize. 273 00:12:34,890 --> 00:12:37,980 Można powiedzieć, powtarzanie zablokować, ile razy powtórzyć, 274 00:12:37,980 --> 00:12:40,320 tak, aby było wejście rodzaju, i tak jak Scratch 275 00:12:40,320 --> 00:12:43,060 miał trochę białego zastępczy dla numeru należy wpisać w, 276 00:12:43,060 --> 00:12:45,810 więc nie używamy w tym nawiasy tekst świata 277 00:12:45,810 --> 00:12:49,910 aby dać nam, że okrągły kształt do którego możemy podłączyć nasz wkład. 278 00:12:49,910 --> 00:12:53,180 Po tym wszystkim, kilkadziesiąt lat temu gdy język ten, zwany C, 279 00:12:53,180 --> 00:12:55,950 wynaleziono nikogo Przewiduje się, że jest jednym z nas, 280 00:12:55,950 --> 00:12:59,420 te kilka lat później, my mieliśmy chcę funkcję, która mówi cześć. 281 00:12:59,420 --> 00:12:59,920 Dobrze? 282 00:12:59,920 --> 00:13:02,880 Byłoby miło, gdyby istniała kawałek układanki, lub słowa kluczowe, 283 00:13:02,880 --> 00:13:05,502 to się nazywa komentarzy, które dosłownie mówi cześć. 284 00:13:05,502 --> 00:13:06,460 Ale nie potrzebujemy tego. 285 00:13:06,460 --> 00:13:09,320 Możemy mieć coś znacznie niższy poziom, podobnie jak ogólny druku 286 00:13:09,320 --> 00:13:12,760 Polecenie, które ma wejście, i druki, co chcemy. 287 00:13:12,760 --> 00:13:14,960 Więc zauważyć obecnie wzór które zaczną się pojawiać. 288 00:13:14,960 --> 00:13:19,310 Otwarte nawias, blisko nawias jest najwyraźniej obejmując wejście, 289 00:13:19,310 --> 00:13:21,770 i wtedy widzę podwójnie cytuje na obu końcach. 290 00:13:21,770 --> 00:13:25,110 Jest jeszcze dziwne odwrotny ukośnik n, ale mam nadzieję, że teraz 291 00:13:25,110 --> 00:13:29,900 może zacząć wyobrażać co najmniej, że printf bierze w jakiejś formie wkładu. 292 00:13:29,900 --> 00:13:31,850 Nie tak przyjazny dla użytkownika jak Scratch, ale to jest po prostu 293 00:13:31,850 --> 00:13:34,920 jak po podłączeniu tam jakąś wartość. 294 00:13:34,920 --> 00:13:38,306 >> W porządku, teraz rzeczywiście coś z tym zrobić. 295 00:13:38,306 --> 00:13:40,930 Więc niektórzy z was wie, od mając przed zakupy klasę, 296 00:13:40,930 --> 00:13:42,638 rozmawiał z przyjaciółmi, że przez wiele lat 297 00:13:42,638 --> 00:13:44,590 kiedyś coś o nazwie urządzenie CS50. 298 00:13:44,590 --> 00:13:49,160 Jest to termin opisujący technologii nazywa maszyna wirtualna, która 299 00:13:49,160 --> 00:13:51,870 Jest to oprogramowanie, które swój poprzednicy by pobrać się 300 00:13:51,870 --> 00:13:53,360 strona kursu za darmo. 301 00:13:53,360 --> 00:13:56,550 Oni również pobrać bezpłatną kawałek oprogramowania zwanego hypervisor, 302 00:13:56,550 --> 00:14:00,590 coś takiego jak VMware, lub VirtualBox, lub dowolną liczbę 303 00:14:00,590 --> 00:14:04,450 innych narzędzi, a na ich Mac lub PC lub cokolwiek komputer mieli w zeszłym roku 304 00:14:04,450 --> 00:14:06,620 oraz w latach poprzednich, to wzrośnie dwukrotnie kliknij ikonę 305 00:14:06,620 --> 00:14:08,860 uruchomić to oprogramowanie nazywany hypervisor. 306 00:14:08,860 --> 00:14:12,220 A następnie wewnątrz tego programu oni otworzyć urządzenie CS50. 307 00:14:12,220 --> 00:14:14,710 A efekt, że czy poprzednik Ciebie 308 00:14:14,710 --> 00:14:17,780 został uruchomiony system Mac OS lub Okna, on lub ona następnie 309 00:14:17,780 --> 00:14:22,910 później miał nowe okno na ich Ekran uruchamiania środowiska CS50 jest. 310 00:14:22,910 --> 00:14:27,370 Więc maszyna wirtualna pozwala uruchomić jeden system operacyjny wewnątrz drugiego, 311 00:14:27,370 --> 00:14:28,785 i to jest dokładnie to, co zrobiliśmy. 312 00:14:28,785 --> 00:14:31,410 Przez większość my oczywiście zastosować system operacyjny o nazwie 313 00:14:31,410 --> 00:14:34,070 Linux, specjalnie Ubuntu Linux, a to 314 00:14:34,070 --> 00:14:37,590 Jest to bardzo dobry sposób, w ubiegłych latach z upewniając się, że każdy w toku 315 00:14:37,590 --> 00:14:38,840 po prostu miał tego samego środowiska. 316 00:14:38,840 --> 00:14:41,339 I można użyć dowolnego rodzaju Komputer, który rzeczywiście chcesz. 317 00:14:41,339 --> 00:14:43,930 Wśród wad, choć, były to jakby dwa gigabajty 318 00:14:43,930 --> 00:14:45,480 ściągnąć tę rzecz. 319 00:14:45,480 --> 00:14:50,310 To musi działać nie bardzo dobrze na ludzie, których komputery, które może tylko 320 00:14:50,310 --> 00:14:54,570 miał koncert i tak z pamięci RAM, czy też nie zbyt wiele GHz z prędkością procesora, 321 00:14:54,570 --> 00:14:56,750 i tak w tym roku, na tego i innych powodów, 322 00:14:56,750 --> 00:14:59,140 nie byliśmy przejście do tego środowiska. 323 00:14:59,140 --> 00:15:03,730 Tzw CS50 IDE, który jest w oparciu o oprogramowanie open source, 324 00:15:03,730 --> 00:15:07,380 i obsługiwane platformy że firma nazywa Cloud9 325 00:15:07,380 --> 00:15:11,110 wspiera w Europie, które pozwala nam na zasadzie 326 00:15:11,110 --> 00:15:15,770 dokładnie to samo środowisko, jak w lat przeszłości, ale w tak zwanej chmurze. 327 00:15:15,770 --> 00:15:17,532 >> Więc co to jest chmura? 328 00:15:17,532 --> 00:15:20,480 Prawdopodobnie kliknął jego ikona na komputerze Mac lub PC. 329 00:15:20,480 --> 00:15:22,210 Czym jest chmura? 330 00:15:22,210 --> 00:15:22,709 Tak? 331 00:15:22,709 --> 00:15:25,880 332 00:15:25,880 --> 00:15:26,780 Trochę głośniej. 333 00:15:26,780 --> 00:15:30,510 334 00:15:30,510 --> 00:15:31,010 Tak. 335 00:15:31,010 --> 00:15:33,770 To tylko kilka komputerów innych miejscach, które przechowują dane i uruchomić 336 00:15:33,770 --> 00:15:34,880 Oprogramowanie i tym podobne. 337 00:15:34,880 --> 00:15:39,390 Więc to naprawdę tylko na słowo de iure opisywania [? do wynajecia?] 338 00:15:39,390 --> 00:15:40,930 komputery, które żyją w innym miejscu. 339 00:15:40,930 --> 00:15:42,810 To Ty sam niekoniecznie właścicielem. 340 00:15:42,810 --> 00:15:45,256 Tak więc, gdy dane, lub zwrot Programy są w chmurze, 341 00:15:45,256 --> 00:15:47,630 to po prostu oznacza, że ​​jest się kimś else komputerach gdzie indziej, 342 00:15:47,630 --> 00:15:50,510 i nie najprawdopodobniej na swojej fizyczne laptopa lub komputera stacjonarnego. 343 00:15:50,510 --> 00:15:52,990 A więc to, co jest teraz IDE CS50. 344 00:15:52,990 --> 00:15:55,670 >> Od tej pory będziesz udać się do pewnego Adres URL, który wprowadzi Cię 345 00:15:55,670 --> 00:16:00,090 się w problemu ustaw 1, jeszcze w tym Tydzień, który będzie potem, po zalogowaniu, 346 00:16:00,090 --> 00:16:01,480 daje to środowisko. 347 00:16:01,480 --> 00:16:03,896 I podobnie jak Scratch miał zaangażowanych kilka różnych paneli, 348 00:16:03,896 --> 00:16:06,030 tak nie IDE CS50 mają dokładnie to. 349 00:16:06,030 --> 00:16:09,480 Na górnej lewej stronie tutaj, jesteś zobaczymy znajome przeglądarkę plików. 350 00:16:09,480 --> 00:16:11,930 Tak więc każdy z plików, które umieścić w tym środowisku 351 00:16:11,930 --> 00:16:13,346 po prostu się tam być. 352 00:16:13,346 --> 00:16:14,350 Pliki i foldery. 353 00:16:14,350 --> 00:16:16,790 Na szczycie tutaj, masz zamiar zobaczyć miejsce 354 00:16:16,790 --> 00:16:18,420 gdzie rzeczywiście można napisać kod. 355 00:16:18,420 --> 00:16:21,860 Początkowo w C, później w Termin w PHP i JavaScript, 356 00:16:21,860 --> 00:16:24,739 i być może na ostateczne Projekty, Ruby lub Python lub Java 357 00:16:24,739 --> 00:16:27,280 lub dowolną liczbę języków są obsługiwane w tym środowisku. 358 00:16:27,280 --> 00:16:30,130 To nie jest w ogóle związany do CS50 specjalnie. 359 00:16:30,130 --> 00:16:33,390 >> A następnie w dolnym rogu tutaj, zwłaszcza dla tych bardziej komfortowe, 360 00:16:33,390 --> 00:16:35,590 masz coś zwane okno terminala. 361 00:16:35,590 --> 00:16:38,770 I to okno terminala pozwala można wykonać dowolne polecenie, które Cię 362 00:16:38,770 --> 00:16:40,860 chce w tym środowisku chmury. 363 00:16:40,860 --> 00:16:42,860 To pozwala na instalację żadnego dodatkowego oprogramowania 364 00:16:42,860 --> 00:16:46,810 że chcesz, bo masz tzw korzeniowe lub administratora przywileje. 365 00:16:46,810 --> 00:16:49,930 Tak więc, innymi słowy, chociaż ostatecznie hostowane w chmurze, 366 00:16:49,930 --> 00:16:52,400 i mimo, że mamy uprościć to w pewnym stopniu 367 00:16:52,400 --> 00:16:57,110 domyślnie, dosłownie wprowadzenie, dzięki Dan Armendariz i Dino, 368 00:16:57,110 --> 00:17:01,070 i Dan Bradley na zespół CS50 na przestrzeni obok wielu miesięcy, mniej wygodne 369 00:17:01,070 --> 00:17:05,140 tryb, który kryje w sobie wiele z początkowo mylące rozrywek. 370 00:17:05,140 --> 00:17:10,119 Wszystko, co istnieje, aby reprezentują typowy system komputerowy 371 00:17:10,119 --> 00:17:12,319 które można wykorzystać w realnym świecie. 372 00:17:12,319 --> 00:17:15,640 >> Więc co to wszystko znaczy, i co faktycznie możemy z tym zrobić? 373 00:17:15,640 --> 00:17:19,124 Miejmy rzeczywiście rzucić okiem na program. 374 00:17:19,124 --> 00:17:21,290 Więc mam zamiar otworzyć rzeczywiste środowisko tutaj, 375 00:17:21,290 --> 00:17:23,894 która jest po prostu nasza Chrome przeglądarki, które mogą być Firefox 376 00:17:23,894 --> 00:17:26,640 może być Internet Explorer, lub inna przeglądarka, jak również. 377 00:17:26,640 --> 00:17:28,400 To pełna pokazywany tutaj na chwilę. 378 00:17:28,400 --> 00:17:31,580 I chcę, aby faktycznie drażnić poza to, co ten program. 379 00:17:31,580 --> 00:17:36,170 Warto więc spojrzeć, przez powiększanie się góry, na to, co zrobiłem, i jak się tu. 380 00:17:36,170 --> 00:17:38,315 Więc oto ci, dokładna same linie kodu. 381 00:17:38,315 --> 00:17:40,440 Więc to jest stwierdzenie, jak wspomniano wcześniej. 382 00:17:40,440 --> 00:17:42,580 Funkcja, która mówi cześć. 383 00:17:42,580 --> 00:17:45,870 Nawiasy klamrowe, na Linia linia cztery i sześć, 384 00:17:45,870 --> 00:17:49,290 przypuszczalnie rodzaj przydzielonych że linia go skojarzyć 385 00:17:49,290 --> 00:17:50,890 z istotą mojego programu. 386 00:17:50,890 --> 00:17:54,890 Więc rzeczywiście, to słowo kluczowe głównym, to tam, na linii trzech, 387 00:17:54,890 --> 00:17:59,450 można myśleć, że jako odpowiednik stanowi, że po kliknięciu zielona flaga, 388 00:17:59,450 --> 00:18:01,080 zablokować w Scratch. 389 00:18:01,080 --> 00:18:05,280 Więc to wszystko, co mamy tutaj, to kiedy Zielona flaga kliknięciu, wydrukować lub powiedzieć, 390 00:18:05,280 --> 00:18:06,700 Witaj świecie. 391 00:18:06,700 --> 00:18:11,210 >> Ale weźmy domyślać, teraz, na co ten pierwszy, bardziej tajemniczych linii, jest. 392 00:18:11,210 --> 00:18:15,100 Firma Sharp to, otwarta kątowe Uchwyt, standard I / O dot h, 393 00:18:15,100 --> 00:18:17,320 zamknąć kątowy wspornik. 394 00:18:17,320 --> 00:18:19,850 Co to jest, że może robić, zwłaszcza jeśli już zaprogramowany 395 00:18:19,850 --> 00:18:21,390 wcześniej w innym języku. 396 00:18:21,390 --> 00:18:21,890 Tak? 397 00:18:21,890 --> 00:18:22,765 >> PUBLICZNOŚCI: [niesłyszalne] 398 00:18:22,765 --> 00:18:25,095 399 00:18:25,095 --> 00:18:25,970 David J. MALAN: Tak. 400 00:18:25,970 --> 00:18:26,470 Dokładnie. 401 00:18:26,470 --> 00:18:29,455 Więc to daje ci dostęp do biblioteka, że ​​tak powiem, funkcji. 402 00:18:29,455 --> 00:18:31,830 I biblioteka funkcji jest Funkcje, które ktoś inny 403 00:18:31,830 --> 00:18:34,406 napisał, albo niedawno czy dawno temu, tak że 404 00:18:34,406 --> 00:18:35,780 nie trzeba wyważać otwartych drzwi. 405 00:18:35,780 --> 00:18:39,020 Na przykład, my nie trzeba wiedzieć, w 2015 roku, 406 00:18:39,020 --> 00:18:42,280 jak napisać kod, który stawia postać na ekranie. 407 00:18:42,280 --> 00:18:44,820 Ktoś inny zorientowali, że się z funkcji printf 408 00:18:44,820 --> 00:18:47,280 tak, że można sortować abstrakcyjna poza tym, lub warstwa 409 00:18:47,280 --> 00:18:49,350 na szczycie jego lub jej Kod, a teraz po prostu wziąć 410 00:18:49,350 --> 00:18:52,760 za pewnik, że każdy program piszę można wydrukować coś na ekranie. 411 00:18:52,760 --> 00:18:58,150 Więc to pierwsza linia nie w pierwszym kroku obejmuje tzw pliku nagłówka 412 00:18:58,150 --> 00:18:59,980 dla standardowej biblioteki. 413 00:18:59,980 --> 00:19:02,630 Tak więc widać, język w których pracujemy obecnie 414 00:19:02,630 --> 00:19:05,010 miał standardową bibliotekę z dużą ilością funkcji. 415 00:19:05,010 --> 00:19:07,240 Printf jest jednym z nich, a że pierwsza linia kodu 416 00:19:07,240 --> 00:19:10,040 Oznacza dać mi dostęp do te funkcje, tak że 417 00:19:10,040 --> 00:19:12,300 nie muszą odkrywać to koło. 418 00:19:12,300 --> 00:19:15,940 >> Teraz przejdźmy do dołu okna i robić dokładnie to, co robiłem wcześniej. 419 00:19:15,940 --> 00:19:18,520 Chwilę temu, kiedy byłem zasuwa za pomocą kodu, 420 00:19:18,520 --> 00:19:24,540 wpisując go po raz pierwszy, I bardzo szybko wpisane, aby przywitać. 421 00:19:24,540 --> 00:19:28,250 Co w tym wszystkim chodziło by się domyślić? 422 00:19:28,250 --> 00:19:29,150 Co ja robię? 423 00:19:29,150 --> 00:19:29,649 Tak? 424 00:19:29,649 --> 00:19:31,810 425 00:19:31,810 --> 00:19:32,310 Nieważne. 426 00:19:32,310 --> 00:19:32,970 Jest ok. 427 00:19:32,970 --> 00:19:33,492 Tak. 428 00:19:33,492 --> 00:19:34,450 PUBLICZNOŚCI: Kompilacja go. 429 00:19:34,450 --> 00:19:34,700 David J. MALAN: Tak. 430 00:19:34,700 --> 00:19:35,770 To było po prostu kompilowanie go. 431 00:19:35,770 --> 00:19:36,270 Dobrze? 432 00:19:36,270 --> 00:19:39,280 Nawet, jeśli jest to zupełnie obce do ciebie, to całkiem angielsku jak. 433 00:19:39,280 --> 00:19:41,155 To na pewno nie Zera i te, więc nadal 434 00:19:41,155 --> 00:19:44,220 należy uruchomić go przez, że tak zwane Program, kompilator, że będzie 435 00:19:44,220 --> 00:19:46,060 wziąć go jako wejście i produkować wyjście. 436 00:19:46,060 --> 00:19:48,270 A przynajmniej na razie, w to środowisko Linux, 437 00:19:48,270 --> 00:19:51,030 ale nie jest to warunkuje, to jest po prostu gdzie zaczniemy, 438 00:19:51,030 --> 00:19:53,960 generalnie wchodzić w interakcje z komputerowe systemy takie jak ten 439 00:19:53,960 --> 00:19:55,770 przez tak zwaną linię poleceń. 440 00:19:55,770 --> 00:19:57,790 Więc z miganiem szybka i klawiatury, 441 00:19:57,790 --> 00:20:01,630 i nie tyle myszkę, i nie tyle okien i ikon i menu, 442 00:20:01,630 --> 00:20:02,980 a wszystko jest tekstowa. 443 00:20:02,980 --> 00:20:06,180 I mimo, że czuje, najpierw Spojrzenie, być może, jak krok do tyłu, 444 00:20:06,180 --> 00:20:08,437 to faktycznie dużo więcej mocny i wyrazisty sposób 445 00:20:08,437 --> 00:20:10,270 sterować komputerem szczególnie jak ty, 446 00:20:10,270 --> 00:20:12,950 się, stać się bardziej wygodne od mniej. 447 00:20:12,950 --> 00:20:16,790 To będzie pozwalają zrobić wiele więcej rzeczy, niż tylko to, co Microsoft 448 00:20:16,790 --> 00:20:20,390 lub firmy Apple pozwala zrobić z ich graficzny system operacyjny. 449 00:20:20,390 --> 00:20:23,270 >> Kiedy więc naciśnij Enter, teraz, nic się nie dzieje, tym razem 450 00:20:23,270 --> 00:20:25,960 bo podobno Program komentarzy jest aktualne. 451 00:20:25,960 --> 00:20:28,250 A co to za polecenie Pobiegłem po tym? 452 00:20:28,250 --> 00:20:32,370 Dot slash Witam, i Hello World. 453 00:20:32,370 --> 00:20:34,350 Teraz rzućmy krok powrót na chwilę. 454 00:20:34,350 --> 00:20:39,510 Okazuje się, że aby przywitać tylko Uproszczony sposób kompilacji programu. 455 00:20:39,510 --> 00:20:41,670 Miejmy tylko przedstawić jeden kawałek żargonie, 456 00:20:41,670 --> 00:20:43,470 ale potem odejść z niego, ponieważ nie jest 457 00:20:43,470 --> 00:20:46,640 wszystko, co ciekawe dla dzisiejszych potrzeb. 458 00:20:46,640 --> 00:20:51,000 Kompilator mamy zamiar rozpocząć korzystanie nazywa Clang na języku C. 459 00:20:51,000 --> 00:20:54,280 I jest to program, który jest uruchamiany po prostu jak my w wierszu poleceń. 460 00:20:54,280 --> 00:20:56,580 I tak, jeśli chcę skompilować program, że 461 00:20:56,580 --> 00:21:00,790 Napisałem w pliku o nazwie Hello kropka c, dosłownie po prostu wpisz clang powitania c 462 00:21:00,790 --> 00:21:02,100 wchodzić. 463 00:21:02,100 --> 00:21:04,880 >> Zabawne jest to, z powodów historycznych, 464 00:21:04,880 --> 00:21:07,750 jeśli nie określić Nazwa programu 465 00:21:07,750 --> 00:21:11,690 że chcę wyjścia, jeśli nie określić nazwę pliku dla tych zer 466 00:21:11,690 --> 00:21:14,990 i te, bardzo dziwne Konwencja została przyjęta lat temu 467 00:21:14,990 --> 00:21:17,390 gdzie to było coś w rodzaju dobra odpowiedź w tym czasie, 468 00:21:17,390 --> 00:21:21,650 dobrze niech po prostu arbitralnie nazywamy Pierwszy program musimy skompilować kropkę się. 469 00:21:21,650 --> 00:21:22,900 A posiada pierwszą w alfabecie. 470 00:21:22,900 --> 00:21:23,920 Się, że to wyjście. 471 00:21:23,920 --> 00:21:26,210 Więc będziemy nazywać program domyślnie kropka się. 472 00:21:26,210 --> 00:21:29,550 I to jest w porządku, bo jeśli chcę uruchomić program w tym tekście opartym 473 00:21:29,550 --> 00:21:33,590 środowiska, po prostu wpisz Dot slash kropkę się wprowadzić. 474 00:21:33,590 --> 00:21:35,250 I będzie działać dokładnie tak, jak wcześniej. 475 00:21:35,250 --> 00:21:36,880 Zobaczmy więc, że naprawdę szybko. 476 00:21:36,880 --> 00:21:40,370 >> Tak więc, jeśli wrócę do mojego Kod źródłowy w CS50 IDE, 477 00:21:40,370 --> 00:21:47,860 a ja zamiast to zrobić, dzyń komentarzy łóżeczko c wejść, zawiadomienie nic się nie dzieje, 478 00:21:47,860 --> 00:21:49,790 ale prawie zawsze to środowisko Linux, 479 00:21:49,790 --> 00:21:53,310 jeśli nic złego się nie dzieje, że oznacza coś dobrego się właściwie stało. 480 00:21:53,310 --> 00:21:56,270 Jeśli nie widzisz błąd wiadomość, wszystko to chyba dobrze. 481 00:21:56,270 --> 00:22:01,930 I rzeczywiście, jeśli teraz nie dot slash kropkę z wejść, ja prowadzę sam program. 482 00:22:01,930 --> 00:22:04,610 Mam jeszcze program powitania od początku, bo rzeczywiście, jest to 483 00:22:04,610 --> 00:22:07,430 będzie o wiele ładniejszy tylko make zamiast pamiętać 484 00:22:07,430 --> 00:22:10,240 te zaklęcia polecenia, ale zobaczymy, jak 485 00:22:10,240 --> 00:22:12,890 może poprawić na to, mimo wszystko. 486 00:22:12,890 --> 00:22:15,340 >> Tak, to jest polecenie skompilować kod. 487 00:22:15,340 --> 00:22:19,100 Jest to polecenie, aby uruchomić skompilowany kod później. 488 00:22:19,100 --> 00:22:20,546 W jaki sposób można określić nazwę pliku? 489 00:22:20,546 --> 00:22:22,670 Dobrze niech po prostu wprowadzić jeden kawałek żargonie. 490 00:22:22,670 --> 00:22:24,461 Kiedy jesteś w tym środowiska na podstawie tekstu, 491 00:22:24,461 --> 00:22:27,400 będziesz chciał podać rzeczy nazywane argumenty wiersza poleceń. 492 00:22:27,400 --> 00:22:31,380 Która jest tylko fantazyjny sposób na powiedzenie, inne słowa w wierszu, że 493 00:22:31,380 --> 00:22:33,860 dostosować zachowanie niezależnie Program używasz. 494 00:22:33,860 --> 00:22:37,320 Więc specjalnie program jestem uruchomiony, wpisując nazwę szczęk, 495 00:22:37,320 --> 00:22:38,504 to jest program o nazwie Clang. 496 00:22:38,504 --> 00:22:40,920 Więc to jest lub stara szkoła odpowiednik podwójnego kliknięcia 497 00:22:40,920 --> 00:22:42,860 Microsoft Word lub Ikona jakiegoś programu. 498 00:22:42,860 --> 00:22:46,360 Ja zamiast tego po prostu wpisując jego nazwę, ale w tej wersji polecenia, 499 00:22:46,360 --> 00:22:51,334 Mam następnie kreska przestrzeń o, witam miejsca komentarzy dot c. 500 00:22:51,334 --> 00:22:53,500 Więc nawet jeśli nigdy wcześniej nie grał na tym świecie przed, 501 00:22:53,500 --> 00:22:58,160 tylko zgadywać, co jest kreska o cześć zrobić? 502 00:22:58,160 --> 00:23:00,620 Albo co to powiedzieć szczęk zrobić? 503 00:23:00,620 --> 00:23:01,386 Tak. 504 00:23:01,386 --> 00:23:02,455 >> PUBLICZNOŚCI: [niesłyszalne] 505 00:23:02,455 --> 00:23:03,330 David J. MALAN: Tak. 506 00:23:03,330 --> 00:23:08,614 To po prostu ustawia wyjście w pliku, być witam zamiast głupsze kropka się. 507 00:23:08,614 --> 00:23:09,780 I rzeczywiście, spróbujmy. 508 00:23:09,780 --> 00:23:14,250 Więc jeśli mam teraz zrobić, najpierw zróbmy to, r m komentarzy. 509 00:23:14,250 --> 00:23:15,590 To usunąć. 510 00:23:15,590 --> 00:23:18,450 I to powie usuń zwykły plik komentarzy, które 511 00:23:18,450 --> 00:23:22,210 niepotrzebnie arcane, ale to po prostu Środki chcesz usunąć plik, 512 00:23:22,210 --> 00:23:23,230 i wpisz y na tak. 513 00:23:23,230 --> 00:23:27,340 I zauważyć, jeśli były zerkając na górze w lewo, to nie znikną z tam. 514 00:23:27,340 --> 00:23:32,180 Chciałbym teraz zrobić clang kreska O i Mam zamiar iść do przodu i zrobić cześć, 515 00:23:32,180 --> 00:23:34,890 we wszystkich czapki, komentarzy dot c. 516 00:23:34,890 --> 00:23:37,775 Teraz, jeśli to zrobię dot ukośnik witam, czego można się spodziewać? 517 00:23:37,775 --> 00:23:41,240 518 00:23:41,240 --> 00:23:42,430 >> Może to jest wielkość liter. 519 00:23:42,430 --> 00:23:43,070 Może to nie jest. 520 00:23:43,070 --> 00:23:44,030 Zobaczmy. 521 00:23:44,030 --> 00:23:45,230 Brak pliku lub katalogu. 522 00:23:45,230 --> 00:23:47,438 I możemy trochę oszukiwać patrząc na górze po lewej stronie. 523 00:23:47,438 --> 00:23:49,630 Co ja oczywiście zapisz program jako? 524 00:23:49,630 --> 00:23:51,070 Wszystko czapki komentarzy. 525 00:23:51,070 --> 00:23:53,020 Więc rzeczywiście, to będzie coś zmienić. 526 00:23:53,020 --> 00:23:54,540 Więc teraz hello world is back. 527 00:23:54,540 --> 00:23:56,969 Teraz to wszystko jest w porządku i dobrze, i bardzo paraliżujący umysł, 528 00:23:56,969 --> 00:23:59,760 do rodzaju ugrzęznąć w nich szczegóły, ale ich zrozumienie 529 00:23:59,760 --> 00:24:00,500 jest dobry. 530 00:24:00,500 --> 00:24:02,675 >> Wpisanie się to coraz bardziej długie zaklęcia 531 00:24:02,675 --> 00:24:05,980 nie będzie szczególnie zabawy, więc ludzie na świecie 532 00:24:05,980 --> 00:24:08,260 wymyślił inny program, kilka lat temu, zwany 533 00:24:08,260 --> 00:24:12,190 sprawiają, że po prostu pozwala wpisać markę, 534 00:24:12,190 --> 00:24:14,530 nazwa programu chcesz zrobić, i zrobić 535 00:24:14,530 --> 00:24:18,580 jest mądry na tym, że będzie to wyglądało w bieżący folder, alias katalogu, 536 00:24:18,580 --> 00:24:21,440 a jeśli masz plik nazywa komentarzy dot c, 537 00:24:21,440 --> 00:24:25,800 że jest to plik będzie skompilować dla Ciebie do programu o nazwie komentarzy. 538 00:24:25,800 --> 00:24:29,950 Więc jest to znacznie prostszy sposób robi się bardziej tajemnicze polecenia 539 00:24:29,950 --> 00:24:30,800 które zrobiliśmy wcześniej. 540 00:24:30,800 --> 00:24:34,080 I mamy wstępnie skonfigurowane CS50 IDE wiedzieć 541 00:24:34,080 --> 00:24:38,560 To powinno wystarczyć kreska oi wiele inne flagi, lub argumenty wiersza poleceń, 542 00:24:38,560 --> 00:24:40,670 że zobaczymy niebawem. 543 00:24:40,670 --> 00:24:43,700 >> Ale niech teraz faktycznie coś bardziej interesujące. 544 00:24:43,700 --> 00:24:46,950 Wpisując się Witaj, świecie wszystko czas nie jest wcale tak atrakcyjne. 545 00:24:46,950 --> 00:24:52,280 Więc pozwól mi iść do przodu i zmiany ten program i powiedzieć cześć Davida. 546 00:24:52,280 --> 00:24:54,120 Teraz mam zamiar iść na dół. 547 00:24:54,120 --> 00:24:57,360 Mam zamiar iść do przodu i robią cześć. 548 00:24:57,360 --> 00:25:00,652 I znowu teraz widzicie dokonać pokazuje Ci dłużej 549 00:25:00,652 --> 00:25:03,360 sekwencja poleceń, że jest to robi, bo my wstępnie skonfigurowane 550 00:25:03,360 --> 00:25:05,200 to w ten sposób, ale nie muszą martwić się teraz 551 00:25:05,200 --> 00:25:10,735 co robi inna niż jest kompilacją dot slash Witaj, witaj świecie. 552 00:25:10,735 --> 00:25:14,969 553 00:25:14,969 --> 00:25:15,510 Co jest nie tak? 554 00:25:15,510 --> 00:25:16,177 Tak. 555 00:25:16,177 --> 00:25:17,370 >> PUBLICZNOŚCI: [niesłyszalne] 556 00:25:17,370 --> 00:25:18,203 >> David J. MALAN: Tak. 557 00:25:18,203 --> 00:25:19,600 Tak, noobie błąd. 558 00:25:19,600 --> 00:25:22,394 Zauważyłem to jest bardzo subtelna, ale gwiazdka tutaj, w zakładce 559 00:25:22,394 --> 00:25:25,060 po prostu oznacza, że ​​jej nie uratował, i przeglądarki i inne programy 560 00:25:25,060 --> 00:25:25,930 tym czasem. 561 00:25:25,930 --> 00:25:27,939 Tak więc kontrola s lub polecenie powinna s go zapisać. 562 00:25:27,939 --> 00:25:29,730 Teraz pozwól mi iść do przodu i ponownie uruchomić program. 563 00:25:29,730 --> 00:25:33,360 564 00:25:33,360 --> 00:25:34,260 Zrekompilowany. 565 00:25:34,260 --> 00:25:36,050 Dobrze, więc jest to proces wieloetapowy. 566 00:25:36,050 --> 00:25:39,400 Z których żadna nie jest szczególnie skomplikowane ale za każdym razem możemy zmienić plik, 567 00:25:39,400 --> 00:25:43,450 musimy zmienić się wytworzony zer i jedynek, i kropka ukośnik komentarzy. 568 00:25:43,450 --> 00:25:43,950 Wow. 569 00:25:43,950 --> 00:25:46,450 Więc to jest bardzo rozczarowująca że po prostu drukowane na to. 570 00:25:46,450 --> 00:25:48,360 Zróbmy rzeczy, trochę bardziej dynamiczna, teraz. 571 00:25:48,360 --> 00:25:52,280 >> Cóż okazuje się, że podoba Scratch, C obsługuje zmienne. 572 00:25:52,280 --> 00:25:54,790 I okazuje się, jeśli chcesz mieć zmienną, która przechowuje, 573 00:25:54,790 --> 00:25:57,300 nie wiele jak my zwykle zrobił z Scratch, 574 00:25:57,300 --> 00:26:01,300 ale podobnie jak słowa, lub Zwrot lub nazwę, można 575 00:26:01,300 --> 00:26:04,837 można określić zmienną być typu string. 576 00:26:04,837 --> 00:26:06,670 Więc zobaczymy więcej to za chwilę, 577 00:26:06,670 --> 00:26:09,090 ale okazuje się, że C i wiele języków, takich jak to, 578 00:26:09,090 --> 00:26:11,240 mają bardzo specyficzne typy zmiennych. 579 00:26:11,240 --> 00:26:13,810 To nie jest tak jak algebra, gdzie można uzyskać X, Y i Z 580 00:26:13,810 --> 00:26:16,940 i to są po prostu zawsze numery, w języku programowania 581 00:26:16,940 --> 00:26:20,030 można zapisywać numery, można przechowywać poszczególne znaki, 582 00:26:20,030 --> 00:26:24,619 można przechowywać całe słowa, można przechowywać całe obrazy, całe pliki dźwiękowe, 583 00:26:24,619 --> 00:26:25,160 i tym podobne. 584 00:26:25,160 --> 00:26:28,362 Więc musimy określić, co rodzaj naszej zmiennej jest. 585 00:26:28,362 --> 00:26:31,570 I umownie Idę zadzwonić do Zmienna s po prostu dlatego, że jest zwięzłe, 586 00:26:31,570 --> 00:26:33,510 i s oznacza ciąg znaków. 587 00:26:33,510 --> 00:26:36,400 >> A potem idę do przechowywania wewnątrz tej zmiennej, 588 00:26:36,400 --> 00:26:39,570 Podobnie jak w przypadku Scratch podczas korzystania z zestawu blok, 589 00:26:39,570 --> 00:26:41,950 Zamierzam użyć Operator przypisania w C, 590 00:26:41,950 --> 00:26:45,290 które wystarczy ładnie jest równa podpisać, ale znak równości to robi. 591 00:26:45,290 --> 00:26:53,220 Porusza się coś z prawa do lewa strona wyrażenia. 592 00:26:53,220 --> 00:26:57,170 Więc co mam zrobić, aby być jasne w Linia pięć, to ja zadeklarowaniu zmiennej. 593 00:26:57,170 --> 00:27:01,284 Mówiłem komputer, daj mi pamięci dla zmiennej, nazywamy to s, 594 00:27:01,284 --> 00:27:03,950 i wiem z góry, że będę być wprowadzenie ciąg w nim. 595 00:27:03,950 --> 00:27:05,950 A łańcuch jest tylko Sekwencja znaków. 596 00:27:05,950 --> 00:27:09,190 To słowo lub frazę, lub ust, ale jest to ciąg znaków. 597 00:27:09,190 --> 00:27:10,610 To nie jest liczba. 598 00:27:10,610 --> 00:27:13,800 Co ciąg jestem będzie oddanie do tej zmiennej? 599 00:27:13,800 --> 00:27:16,185 Cóż, najwyraźniej cytatem koniec cytatu, "Hannah". 600 00:27:16,185 --> 00:27:17,810 Teraz zauważyć wzór, który jest wschodzących. 601 00:27:17,810 --> 00:27:19,260 Jest wyrazem lewa. 602 00:27:19,260 --> 00:27:21,810 Istnieje wyraz prawej ręki, oddzielone znakiem równości. 603 00:27:21,810 --> 00:27:24,390 I tylko zgadywać, jeśli zna jednak, 604 00:27:24,390 --> 00:27:27,430 z tego, co robi średnik. 605 00:27:27,430 --> 00:27:28,865 Jak to prawdopodobnie robi dla nas? 606 00:27:28,865 --> 00:27:29,365 Tak? 607 00:27:29,365 --> 00:27:29,840 >> PUBLICZNOŚCI: [niesłyszalne] 608 00:27:29,840 --> 00:27:29,980 >> David J. MALAN: Tak. 609 00:27:29,980 --> 00:27:31,170 To jest po prostu zakończenie linii. 610 00:27:31,170 --> 00:27:31,669 Dobrze? 611 00:27:31,669 --> 00:27:34,260 Komputery chcę być bez ogródek powiedział, dosłownie, co robić. 612 00:27:34,260 --> 00:27:36,343 Podobnie jak masło orzechowe i Przykładem sandwich jelly, 613 00:27:36,343 --> 00:27:39,360 jeśli nie podasz dokładnie to, co zamierza, 614 00:27:39,360 --> 00:27:42,190 to może być pozostawiona do wyroku lub błędów. 615 00:27:42,190 --> 00:27:44,890 Średnik oznacza, to jest to dla tego polecenia. 616 00:27:44,890 --> 00:27:48,310 To jest bardzo precyzyjna, a to bardzo łatwa rzecz, aby porzucić. 617 00:27:48,310 --> 00:27:52,240 Więc teraz ten program nie wydaje się należy zachowywać się inaczej, dopóki nie 618 00:27:52,240 --> 00:27:53,500 stał się bardziej dynamiczny. 619 00:27:53,500 --> 00:27:57,107 Więc zamiast ciężko mógł mój własny wymienić, pozwól mi położyć wartość zastępczy. 620 00:27:57,107 --> 00:28:00,190 I okazuje się, że i wiem, że to od po zapoznaniu się z dokumentacją, 621 00:28:00,190 --> 00:28:04,080 i wykorzystywane funkcję przez lata, że printf został zaprojektowany w sposób dynamiczny. 622 00:28:04,080 --> 00:28:07,510 Nie musisz wiedzieć wcześniej jakie słowa, które chcesz umieścić w nim. 623 00:28:07,510 --> 00:28:11,290 Zamiast tego można mieć zastępczy, jak procent s, co 624 00:28:11,290 --> 00:28:15,500 ma zamiar powiedzieć komputer, umieścić tutaj ciąg. 625 00:28:15,500 --> 00:28:17,740 >> Który ciąg chcemy tam umieścić? 626 00:28:17,740 --> 00:28:22,430 Czy okaże się, że pomiędzy nimi nawiasy, które pamiętają, wyznaczyć 627 00:28:22,430 --> 00:28:28,020 wejście do funkcji, jeśli masz przecinek listę rzeczy oddzielone tutaj, 628 00:28:28,020 --> 00:28:31,790 faktycznie przechodzą w wielokrotności Wejścia do funkcji. 629 00:28:31,790 --> 00:28:33,901 Więc tak jak jakiś Scratch bloki, nie może 630 00:28:33,901 --> 00:28:36,150 grał z nimi na Twoje projekty jeszcze lub w ogóle, 631 00:28:36,150 --> 00:28:38,250 niektóre bloki Scratch mają dwa wejścia. 632 00:28:38,250 --> 00:28:41,220 Dwa białe pudełka zdołasz wpisać numery lub słowa w. 633 00:28:41,220 --> 00:28:45,210 Tak, aby nie C posiadają funkcje, takie jak printf, że może wziąć dwa wejścia. 634 00:28:45,210 --> 00:28:48,050 I znowu, to przecinek jest ich rozdzielenie. 635 00:28:48,050 --> 00:28:51,070 Tak więc w języku angielskim, ponownie, nawet jeśli nigdy nie zaprogramowane wcześniej, 636 00:28:51,070 --> 00:28:55,320 przez który układ logiczny printf jest funkcja ma dwa wejścia, z których jeden 637 00:28:55,320 --> 00:28:58,810 to symbol zastępczy, co masz nadzieję, printf ma zamiar zrobić z tego wejścia? 638 00:28:58,810 --> 00:29:01,470 639 00:29:01,470 --> 00:29:03,220 Zapowiada się przywitać Hannah, miejmy nadzieję. 640 00:29:03,220 --> 00:29:05,274 Więc to musimy go zapisać zrobić. 641 00:29:05,274 --> 00:29:06,190 Mam zamiar pomniejszyć. 642 00:29:06,190 --> 00:29:10,701 Mam zamiar wrócić tutaj i powiedzieć, aby przywitać wejść. 643 00:29:10,701 --> 00:29:11,200 Och. 644 00:29:11,200 --> 00:29:14,830 Coś jest nie tak, i rzeczywiście jest to bardzo przytłaczająca. 645 00:29:14,830 --> 00:29:18,400 Mam sześć linijek kodu i podobnie jak 12 linii błędów. 646 00:29:18,400 --> 00:29:22,120 Tak, czekam na to. 647 00:29:22,120 --> 00:29:24,260 Więc co tu się dzieje? 648 00:29:24,260 --> 00:29:27,370 Więc najlepszym zasada tutaj, zwłaszcza gdy zaczynasz, 649 00:29:27,370 --> 00:29:29,370 nie daj się rozpraszać rzeczy na dole. 650 00:29:29,370 --> 00:29:31,220 W rzeczywistości, bardzo świadomie tylko przewijać się 651 00:29:31,220 --> 00:29:33,930 ponieważ bardzo często, komputer jest Nie wszystko, co jasne urządzenia. 652 00:29:33,930 --> 00:29:35,054 Zapowiada się mylić. 653 00:29:35,054 --> 00:29:37,220 Jeżeli uzna to za jedną rzecz, że nie rozumie, 654 00:29:37,220 --> 00:29:40,030 może się pomylić inne linie kodu jako nieprawidłowe, 655 00:29:40,030 --> 00:29:41,649 chociaż jest to całkowicie w porządku. 656 00:29:41,649 --> 00:29:43,940 Więc zawsze chcą pracować góry w dół przez błędy. 657 00:29:43,940 --> 00:29:47,850 A prawda jest to Super Arcane w tej chwili. 658 00:29:47,850 --> 00:29:50,830 >> Błąd, wykorzystanie nierejestrowana ciąg identyfikatora. 659 00:29:50,830 --> 00:29:52,130 Czy to znaczy standard? 660 00:29:52,130 --> 00:29:53,720 Nie, miałem na myśli ciąg. 661 00:29:53,720 --> 00:29:55,830 A to wskazuje na, być może jest to literówka. 662 00:29:55,830 --> 00:30:00,570 Coś jak, sprawdzanie pisowni w sposób bardzo naukowy sposób, ale powodem tutaj, 663 00:30:00,570 --> 00:30:02,840 a dowiesz się tego tylko przez praktykę, jest 664 00:30:02,840 --> 00:30:06,390 że okazuje się, że ciąg nie istnieje w C. W rzeczywistości, C 665 00:30:06,390 --> 00:30:08,820 Jest to szczególnie stary język, i to bardzo niski poziom, 666 00:30:08,820 --> 00:30:11,361 I nie ma wiele funkcji że może wyrośli 667 00:30:11,361 --> 00:30:14,620 ze jeśli w rzeczywistości, zaprogramowany w Javie, jak niektórzy z was, 668 00:30:14,620 --> 00:30:16,980 ale można nauczyć go nowych rzeczy. 669 00:30:16,980 --> 00:30:20,900 I rzeczywiście, zrobiliśmy to CS50, chociaż do końca semestru, 670 00:30:20,900 --> 00:30:23,512 Wszystkie te kółka zostaną usunięte, 671 00:30:23,512 --> 00:30:25,220 co robimy w nich Pierwsze kilka tygodni 672 00:30:25,220 --> 00:30:29,830 Początkowo to mamy także dołączyć CS50 dot h. 673 00:30:29,830 --> 00:30:31,230 Który plik jest nagłówek. 674 00:30:31,230 --> 00:30:32,440 Więcej o tym w przyszłości. 675 00:30:32,440 --> 00:30:36,430 >> Jest to plik, który zawiera funkcje że napisałem dla ciebie. 676 00:30:36,430 --> 00:30:39,180 A wśród tych funkcji jest funkcje dla uzyskania wejście 677 00:30:39,180 --> 00:30:43,520 od użytkownika, jak struny, i cyfry i liczby rzeczywiste, i więcej. 678 00:30:43,520 --> 00:30:45,550 Ale ma też kilka skrótów. 679 00:30:45,550 --> 00:30:48,200 Definiuje Boolean jako typ danych. 680 00:30:48,200 --> 00:30:50,340 C nie jest prawdziwe, czy fałszywe. 681 00:30:50,340 --> 00:30:53,880 Ale możemy dać pojęcie prawdziwe lub fałszywe drodze tej biblioteki. 682 00:30:53,880 --> 00:30:57,670 A także nie mają łańcuch zbudowany w aż to tej linii. 683 00:30:57,670 --> 00:31:01,090 Tak więc ta linia kodu mówi kompilator, hej, Clang, wygląd 684 00:31:01,090 --> 00:31:03,570 w tym pliku w całości kilka kodu CS50 685 00:31:03,570 --> 00:31:06,330 Napisał więc, że każdy, kto używa tego pliku 686 00:31:06,330 --> 00:31:09,330 może wziąć za pewnik funkcje dodali. 687 00:31:09,330 --> 00:31:11,220 >> Więc teraz pozwól mi iść do przodu i wyczyścić ekran, 688 00:31:11,220 --> 00:31:14,178 a jeśli ciekawi Mówię tylko kontrolę l za każdym razem, aby wyczyścić ekran, 689 00:31:14,178 --> 00:31:15,500 lub wpisać jasne. 690 00:31:15,500 --> 00:31:19,220 Mam zamiar po prostu iść do przodu i teraz Typ dokonać cześć, i wszystko jest dobrze. 691 00:31:19,220 --> 00:31:22,550 Wciąż wyjście arcane, ale to nie jest błędna wiadomość. 692 00:31:22,550 --> 00:31:28,300 Teraz, jeśli zrobić dot slash cześć, i jako bok, kropka ukośnik jest obca większości. 693 00:31:28,300 --> 00:31:30,430 To po prostu oznacza, środki dot katalog bieżący. 694 00:31:30,430 --> 00:31:33,120 Więc jeśli kiedykolwiek używałeś DOS lub Linux lub Unix 695 00:31:33,120 --> 00:31:35,410 możesz coś zrobić jak cd kropka kropka, gdzie 696 00:31:35,410 --> 00:31:39,220 kropka kropka oznacza cofać się Czas, lub udać się do tyłu, lub wyżej 697 00:31:39,220 --> 00:31:40,370 w katalogu. 698 00:31:40,370 --> 00:31:43,090 Dot oznacza po prostu spojrzeć w katalog bieżący. 699 00:31:43,090 --> 00:31:45,670 Chcę cześć, która jest tutaj. 700 00:31:45,670 --> 00:31:47,750 I rzeczywiście, teraz mówi hello Hannah. 701 00:31:47,750 --> 00:31:51,120 A jeśli jeszcze raz ją zmienić Maria, rekompilacji 702 00:31:51,120 --> 00:31:55,650 to by Witam, dot ukośnik witam, program wciąż się zmienia. 703 00:31:55,650 --> 00:31:58,060 >> Ale to nadal jest głupie programu. 704 00:31:58,060 --> 00:32:00,972 Jeśli chcę, aby statek ten program, lub dać go do znajomego, 705 00:32:00,972 --> 00:32:03,430 lub dać go do Marii czy Hannah o to chodzi, że jest w porządku. 706 00:32:03,430 --> 00:32:07,300 Można dostosować go do obu z nich, ale nigdy nie będzie dynamiczna. 707 00:32:07,300 --> 00:32:10,870 Nie można go zmienić po jego skompilowany w dół do tych zer i jedynek. 708 00:32:10,870 --> 00:32:12,350 Więc to, co zrobiliśmy coś mądrzejszy? 709 00:32:12,350 --> 00:32:17,100 Co jeśli zamiast twardego kodowania do programu imię tej osoby, 710 00:32:17,100 --> 00:32:20,890 Co jeśli po prostu napis na żądanie? 711 00:32:20,890 --> 00:32:22,430 >> Więc innymi słowy, pozwól mi to zrobić. 712 00:32:22,430 --> 00:32:24,030 Mam zamiar ponownie skompilować program. 713 00:32:24,030 --> 00:32:25,710 I pozwól mi przybliżyć na dole teraz. 714 00:32:25,710 --> 00:32:29,920 Bądź komentarzy dot ukośnik komentarzy. 715 00:32:29,920 --> 00:32:31,710 Teraz nic się nie dzieje. 716 00:32:31,710 --> 00:32:35,860 Możemy uzyskać szybki ochotnika aby coś się stało? 717 00:32:35,860 --> 00:32:36,360 Chodź na górę. 718 00:32:36,360 --> 00:32:37,020 Jak masz na imię? 719 00:32:37,020 --> 00:32:37,445 >> PANCHO: Pancho. 720 00:32:37,445 --> 00:32:38,361 >> David J. MALAN: Pacho? 721 00:32:38,361 --> 00:32:39,609 Chodź na górę. 722 00:32:39,609 --> 00:32:42,150 Gdy pojawi się tutaj, to jest Będzie bardzo rozczarowująca, 723 00:32:42,150 --> 00:32:44,060 ale to jest bardziej interesujące ode mnie wpisanie go. 724 00:32:44,060 --> 00:32:49,007 Jeśli chcesz iść do przodu i wpisz Nazwa, zrobiłem ten program dla Ciebie. 725 00:32:49,007 --> 00:32:49,840 Wystarczy wpisać swoje imię i nazwisko. 726 00:32:49,840 --> 00:32:52,380 727 00:32:52,380 --> 00:32:53,900 Wchodzić. 728 00:32:53,900 --> 00:32:54,489 Wspaniały. 729 00:32:54,489 --> 00:32:55,780 Dobrze, dziękuję bardzo. 730 00:32:55,780 --> 00:32:56,708 >> PANCHO: Dziękuję bardzo. 731 00:32:56,708 --> 00:32:57,636 >> David J. MALAN: OK. 732 00:32:57,636 --> 00:32:59,028 >> [APPLAUSE] 733 00:32:59,028 --> 00:33:00,884 734 00:33:00,884 --> 00:33:01,840 >> To był bardzo miły. 735 00:33:01,840 --> 00:33:03,145 Proszę bardzo. 736 00:33:03,145 --> 00:33:03,770 Co zrobiliśmy? 737 00:33:03,770 --> 00:33:05,930 Tak więc na koniec, co najmniej wykonany program dynamiczny. 738 00:33:05,930 --> 00:33:08,400 Teraz to jeszcze na pewno od projektowania rozczarowująca, 739 00:33:08,400 --> 00:33:11,480 ale wreszcie mamy możliwość teraz napisać kod z góry, dużo 740 00:33:11,480 --> 00:33:13,770 jak autorzy printf, a następnie dynamicznie 741 00:33:13,770 --> 00:33:17,550 dostosowanie opiera się na wejściu jesteśmy podał, albo przez programistę, 742 00:33:17,550 --> 00:33:20,610 lub przez człowieka, który faktycznie interakcji z programem. 743 00:33:20,610 --> 00:33:22,990 Więc faktycznie spróbuj teraz zrobić kilka innych konstrukcji 744 00:33:22,990 --> 00:33:26,625 i sprawdzić, czy nie możemy programów się bardziej wyrafinowane. 745 00:33:26,625 --> 00:33:29,250 Więc idź naprzód i zamiast Pisząc ten od podstaw, 746 00:33:29,250 --> 00:33:31,540 Mam zamiar iść do dzisiejszych Kod źródłowy, a wszystko to 747 00:33:31,540 --> 00:33:34,290 jest dostępny na kurs na strona internetowa i można przeciągnąć i upuścić go 748 00:33:34,290 --> 00:33:36,590 do własnego środowiska się w piątek, gdy problemu 749 00:33:36,590 --> 00:33:38,506 Zestaw 1 daje Ci instrukcje, lub mogłeś 750 00:33:38,506 --> 00:33:41,200 zrobić to w wierszu poleceń jako dobrze, ale bardziej przyjść p set 1. 751 00:33:41,200 --> 00:33:44,940 >> Zobaczmy, co jest w tym programie tutaj nazywa, żmija kropka c. 752 00:33:44,940 --> 00:33:47,970 Teraz już skomentował to, ale co nowego? 753 00:33:47,970 --> 00:33:51,230 Na pierwszy rzut oka, co linia kod jest absolutnie nowa? 754 00:33:51,230 --> 00:33:53,930 755 00:33:53,930 --> 00:33:56,780 Prawdopodobnie nie fundamentalnie nieznane teraz. 756 00:33:56,780 --> 00:33:58,417 >> PUBLICZNOŚCI: [niesłyszalne] 757 00:33:58,417 --> 00:34:00,250 David J. MALAN: Tak, tak, int x równa się n. 758 00:34:00,250 --> 00:34:03,760 Nigdy nie widziałem nic z tego wcześniej, ale int jest prawdopodobnie 759 00:34:03,760 --> 00:34:08,179 symbol, jaki rodzaj zmienna [? z?] całkowitej. 760 00:34:08,179 --> 00:34:09,040 Więc int do liczby całkowitej. 761 00:34:09,040 --> 00:34:11,420 To się po prostu więcej zwięzłe. x jest tylko arbitralne. 762 00:34:11,420 --> 00:34:13,920 x i y i z są wciąż dość rozsądne dla liczb, 763 00:34:13,920 --> 00:34:16,790 ale generalnie użyjemy słowa raz nasze programy uzyskać bardziej złożone. 764 00:34:16,790 --> 00:34:18,940 Pobierz int, oczywiście, podobnie jak pobiera ciąg znaków, 765 00:34:18,940 --> 00:34:21,629 prawdopodobnie będzie się int od użytkownika, 766 00:34:21,629 --> 00:34:23,670 a następnie jedziemy do zrobić to samo z y. 767 00:34:23,670 --> 00:34:27,610 I jak widać, chociaż Ostatnia linia, 24, wygląda bardziej złożone, 768 00:34:27,610 --> 00:34:32,679 to będzie powiedzieć, sumę tę i że jest to inna rzecz. 769 00:34:32,679 --> 00:34:35,840 >> I nota procent i Prawdopodobnie oznacza to, co? 770 00:34:35,840 --> 00:34:38,190 Jaką rolę procent I podobno służyć? 771 00:34:38,190 --> 00:34:40,739 772 00:34:40,739 --> 00:34:41,719 To tylko symbole zastępcze. 773 00:34:41,719 --> 00:34:42,219 Dobrze? 774 00:34:42,219 --> 00:34:45,149 Procent ów był dla łańcucha, procent i jest liczbą całkowitą. 775 00:34:45,149 --> 00:34:47,690 Nie będzie to procent f do wartości zmiennoprzecinkowej, która 776 00:34:47,690 --> 00:34:49,273 Jest to tylko numer z przecinkiem. 777 00:34:49,273 --> 00:34:50,590 Innymi słowy, liczba rzeczywista. 778 00:34:50,590 --> 00:34:55,270 Więc faktycznie kompilacji tego zaprogramować naprawdę szybko i robią żmija. 779 00:34:55,270 --> 00:34:57,962 Ups. 780 00:34:57,962 --> 00:34:58,670 Dobra okazja. 781 00:34:58,670 --> 00:35:02,970 Więc tutaj odnotować, przez cały ten czas mój użytkownika nazwa tego konta jharvard. 782 00:35:02,970 --> 00:35:06,620 Jestem w CS50 IDE, aka IDE50. 783 00:35:06,620 --> 00:35:11,030 A teraz na niebiesko tutaj, jest wzmianka, ale ze środowiska, z których jestem. 784 00:35:11,030 --> 00:35:16,050 I rzeczywiście, jeśli powiększenie do góry tu zauważyć, że mam IDE50 785 00:35:16,050 --> 00:35:19,490 i widzę to słowo, jeśli ciebie rodzaj obróć głowę w bok, do pracy. 786 00:35:19,490 --> 00:35:23,890 W skrócie, fakt, że Widzę tyldy ukośnik do pracy 787 00:35:23,890 --> 00:35:26,910 Oznacza to, że w niniejszym tekście Środowisko polecenia oparte, 788 00:35:26,910 --> 00:35:32,300 Jestem w równowartości tekstu Graficzny folderu tutaj. 789 00:35:32,300 --> 00:35:35,730 Więc kiedy robię dot ukośnik żmija, to mówiąc, nie ma mocy 790 00:35:35,730 --> 00:35:37,372 aby docelowy przystanek adder. 791 00:35:37,372 --> 00:35:39,830 Nie wiem, co to znaczy, ale to jest złe dla jakiegoś powodu. 792 00:35:39,830 --> 00:35:43,310 Brak pliku lub katalogu jest jeszcze bardziej wyraźny. 793 00:35:43,310 --> 00:35:45,670 Gdzie to jest to? 794 00:35:45,670 --> 00:35:47,820 Na podstawie których kliknąłem aby otworzyć plik wcześniej. 795 00:35:47,820 --> 00:35:49,442 Gdzie to może być? 796 00:35:49,442 --> 00:35:52,050 >> To chyba w źródła jeden w, w środę, 797 00:35:52,050 --> 00:35:53,960 i widzę to, rzeczywiście, jeśli otworzę, że się. 798 00:35:53,960 --> 00:35:57,220 Jest żmija kropka c, ale w To środowisko oparte na tekście, 799 00:35:57,220 --> 00:35:59,380 znowu, muszę być bardzo wyraźne. 800 00:35:59,380 --> 00:36:03,950 Jeśli chcę zmienić katalogi do źródło jeden Środa, muszę wpisać, 801 00:36:03,950 --> 00:36:07,210 cd źródłem przestrzeni jednego Środa wejść, a teraz 802 00:36:07,210 --> 00:36:09,810 moje zachęty zmiany daj mi wizualną wskazówkę, że 803 00:36:09,810 --> 00:36:12,330 Jestem zresztą gdzie indziej w moim otoczeniu, 804 00:36:12,330 --> 00:36:15,710 ale teraz mogę robią żmija, wydaje się do pracy, 805 00:36:15,710 --> 00:36:18,190 Dot slash żmija, daj mi liczbę całkowitą. 806 00:36:18,190 --> 00:36:19,080 Jeden. 807 00:36:19,080 --> 00:36:20,070 Dwa. 808 00:36:20,070 --> 00:36:21,630 Suma z jednym i dwoma trzy. 809 00:36:21,630 --> 00:36:24,140 Ale jeśli nie współpracują, zobaczymy co się int robi. 810 00:36:24,140 --> 00:36:25,200 Daj mi liczbę całkowitą. 811 00:36:25,200 --> 00:36:26,590 Nie. 812 00:36:26,590 --> 00:36:27,350 Spróbuj ponownie. 813 00:36:27,350 --> 00:36:29,060 OK. 814 00:36:29,060 --> 00:36:30,520 Dobrze. 815 00:36:30,520 --> 00:36:32,130 50. 816 00:36:32,130 --> 00:36:32,680 50. 817 00:36:32,680 --> 00:36:33,010 W porządku. 818 00:36:33,010 --> 00:36:34,055 Więc w końcu współpracuje. 819 00:36:34,055 --> 00:36:36,430 I to niektóre z funkcji, które te funkcje 820 00:36:36,430 --> 00:36:37,760 może mają wbudowane dla Ciebie. 821 00:36:37,760 --> 00:36:43,330 >> Więc wewnątrz realizacji z int, co się programowania 822 00:36:43,330 --> 00:36:47,990 budowy z ostatniego tygodnia to prawdopodobnie w nie zmuszać to zachowanie ponownej próby, 823 00:36:47,990 --> 00:36:49,962 ponownie, ponownie? 824 00:36:49,962 --> 00:36:51,670 Tak, nie ma chyba pewnego rodzaju pętli. 825 00:36:51,670 --> 00:36:54,160 To będzie wyglądać składniowo różni się od bloków na zarysowania, 826 00:36:54,160 --> 00:36:55,880 ale to jest rzeczywiście co znajduje się wewnątrz pliku. 827 00:36:55,880 --> 00:36:58,505 A za kilka tygodni będziesz spojrzy w bibliotece CS50 828 00:36:58,505 --> 00:37:02,000 co do tego, co jest w środku, ale nie pętla nakładania dokładnie to. 829 00:37:02,000 --> 00:37:04,840 >> Pobawmy się głupiutką Gra tutaj z tego pliku. 830 00:37:04,840 --> 00:37:06,550 Stan zerowy punkt c. 831 00:37:06,550 --> 00:37:08,960 Jesteśmy po prostu się do ogólnie rozpocznie odliczanie od zera. 832 00:37:08,960 --> 00:37:11,220 A ja wciąż przewijanie przeszłości niektóre rzeczy na wierzchu. 833 00:37:11,220 --> 00:37:15,390 W niebiesko tutaj, wydzielona ze wszystkim z tych gwiazd i ukośniki, 834 00:37:15,390 --> 00:37:17,310 tych z Was, którzy zaprogramować wcześniej, co to jest? 835 00:37:17,310 --> 00:37:18,690 Dlaczego zachowujemy omijając nad nim? 836 00:37:18,690 --> 00:37:19,110 Co? 837 00:37:19,110 --> 00:37:19,490 >> PUBLICZNOŚCI: To jest komentarz. 838 00:37:19,490 --> 00:37:19,800 >> David J. MALAN: Tak. 839 00:37:19,800 --> 00:37:20,633 To tylko komentarz. 840 00:37:20,633 --> 00:37:24,160 To jest komentarz dla ludzi przeczytać, że w naszym przypadku, 841 00:37:24,160 --> 00:37:27,120 mówi nam, co nazwę pliku jest, kto to napisał, a to, co robi, 842 00:37:27,120 --> 00:37:28,610 tak, że nie trzeba przeczytać kodu 843 00:37:28,610 --> 00:37:30,110 wiedzieć, co ten plik chodzi. 844 00:37:30,110 --> 00:37:33,110 To tylko opis, ale Funkcjonalnie jest to bez znaczenia. 845 00:37:33,110 --> 00:37:35,930 I mogę nawet usunąć go z mój plik i nie ma wpływu. 846 00:37:35,930 --> 00:37:38,740 Te soczyste linie są te Pierwsze dwa tu i teraz. 847 00:37:38,740 --> 00:37:41,405 int main nieważne jest odpowiednikiem naszego, gdy zielona flaga kliknięciu, 848 00:37:41,405 --> 00:37:44,030 więc mamy zamiar opuścić to być na dzisiaj, i wrócimy, 849 00:37:44,030 --> 00:37:46,940 W końcu, co int i nieważne jest, ale teraz, 850 00:37:46,940 --> 00:37:49,500 zauważyć, co zrobiłem tu też można również, 851 00:37:49,500 --> 00:37:51,736 jeśli masz w kolejce komentarz, jeśli masz 852 00:37:51,736 --> 00:37:54,670 Myśl chcesz podzielić o określonej linii kodu, 853 00:37:54,670 --> 00:37:58,910 Konwencja w C jest zrobić ukośnik slash, a następnie kilka zwięzłe słowa, 854 00:37:58,910 --> 00:38:01,500 Nie pełne zdanie, generalnie nie paragraf, 855 00:38:01,500 --> 00:38:05,310 Wyjaśnia, że ​​tylko ci, lub zwrot TF lub innych czytelników lub kolegów, 856 00:38:05,310 --> 00:38:06,990 co kod robi. 857 00:38:06,990 --> 00:38:10,150 Tak więc, zamiast patrzeć w tym i wnioskować z linii 858 00:38:10,150 --> 00:38:12,550 dziewięć i 10, co jest to robi, zgodnie ośmiu 859 00:38:12,550 --> 00:38:14,945 Ja po prostu dać komentarz zwrócić się do użytkownika liczbę całkowitą, 860 00:38:14,945 --> 00:38:17,820 to ja nie myśleć zbyt trudne o czym linie dziewięć i 10 są. 861 00:38:17,820 --> 00:38:19,720 Wiem tylko, że to, co wspólnie robią. 862 00:38:19,720 --> 00:38:20,460 >> W jaki sposób? 863 00:38:20,460 --> 00:38:22,060 Cóż, tutaj jest szybki. 864 00:38:22,060 --> 00:38:23,610 Oto się z int. 865 00:38:23,610 --> 00:38:25,984 Oraz w oparciu o poprzednie zachowania, wydaje się, get int 866 00:38:25,984 --> 00:38:29,080 jest wystarczająco inteligentny, aby upewnić się, że człowiek współpracuje i daje go 867 00:38:29,080 --> 00:38:30,090 liczbą całkowitą. 868 00:38:30,090 --> 00:38:32,270 Ale teraz widzimy to. 869 00:38:32,270 --> 00:38:33,740 A to przypomina Scratch. 870 00:38:33,740 --> 00:38:36,140 Ja twierdzę, że jestem Analizując dane wejściowe użytkownika, 871 00:38:36,140 --> 00:38:39,050 ale nieco nieprecyzyjnie. 872 00:38:39,050 --> 00:38:43,200 I to podobno w C jest jak wyrażamy if else, oddział, 873 00:38:43,200 --> 00:38:46,320 widelec w drodze, ale powiedzieć trochę nieprecyzyjnie. 874 00:38:46,320 --> 00:38:50,470 Co to jest błąd w tym programie? 875 00:38:50,470 --> 00:38:51,610 O dalsze kopie? 876 00:38:51,610 --> 00:38:52,223 Tak. 877 00:38:52,223 --> 00:38:53,150 >> PUBLICZNOŚCI: [niesłyszalne] do zera. 878 00:38:53,150 --> 00:38:54,025 >> David J. MALAN: Tak. 879 00:38:54,025 --> 00:38:57,630 Więc jeśli mogę wpisać zera, rozważmy dokładnie to sprawa przypadku, lub rogu, 880 00:38:57,630 --> 00:38:58,450 Jeśli będziesz. 881 00:38:58,450 --> 00:39:02,790 Więc jeśli mogę wpisać zera, co z Bloki ma najwyraźniej złapał go? 882 00:39:02,790 --> 00:39:04,660 If lub innego? 883 00:39:04,660 --> 00:39:07,340 Else, a to się mówi, wybrałaś liczbę ujemną. 884 00:39:07,340 --> 00:39:10,476 I rzeczywiście, zero nie ma być pozytywne lub negatywne, 885 00:39:10,476 --> 00:39:11,850 i tak, że nie będzie mylnie. 886 00:39:11,850 --> 00:39:12,930 To byłby błąd. 887 00:39:12,930 --> 00:39:14,580 Więc jak można rozwiązać ten problem? 888 00:39:14,580 --> 00:39:16,360 Ktoś, kto nigdy nie zaprogramowane wcześniej? 889 00:39:16,360 --> 00:39:16,570 Czy chcesz-- 890 00:39:16,570 --> 00:39:17,480 >> PUBLICZNOŚCI: [niesłyszalne] 891 00:39:17,480 --> 00:39:17,990 >> David J. MALAN: Wycofywanie? 892 00:39:17,990 --> 00:39:18,570 >> PUBLICZNOŚCI: [niesłyszalne] 893 00:39:18,570 --> 00:39:18,930 >> David J. MALAN: Och, masz? 894 00:39:18,930 --> 00:39:20,350 Ktoś, kto nigdy nie zaprogramowane wcześniej. 895 00:39:20,350 --> 00:39:21,750 Chcesz spróbować swoich sił w tego, w czerwonej koszulce? 896 00:39:21,750 --> 00:39:22,600 Chodź na górę. 897 00:39:22,600 --> 00:39:25,320 O tak, chodź na górę, jeśli nie masz nic przeciwko. 898 00:39:25,320 --> 00:39:27,586 Więc nigdy nie zaprogramowany przed, jak masz na imię? 899 00:39:27,586 --> 00:39:28,210 LAUREN: Lauren. 900 00:39:28,210 --> 00:39:29,626 David J. MALAN: Laura, wszystko w porządku. 901 00:39:29,626 --> 00:39:31,150 Tak więc naprawić ten błąd dla nas. 902 00:39:31,150 --> 00:39:35,070 Nie widziałem C, przypuszczalnie, i prawdopodobnie żaden inny język. 903 00:39:35,070 --> 00:39:38,380 Tak więc rozwiązać ten program dla nas. 904 00:39:38,380 --> 00:39:39,100 Miło cię poznać. 905 00:39:39,100 --> 00:39:39,615 Nie ma ciśnienia. 906 00:39:39,615 --> 00:39:40,156 LAUREN: Tak. 907 00:39:40,156 --> 00:39:43,350 908 00:39:43,350 --> 00:39:46,270 >> David J. MALAN Ale znowu, jeżeli hazard pójdzie zgodnie z planem, 909 00:39:46,270 --> 00:39:48,350 wynos tutaj będzie być, po prostu ponownie, aby uruchomić 910 00:39:48,350 --> 00:39:51,080 dostrzegać wzorce i wywnioskować z istniejącej składni 911 00:39:51,080 --> 00:39:55,420 jak inaczej można wyrazić samodzielnie, gra słów, w celu 912 00:39:55,420 --> 00:39:58,410 uchwycić jakiś dodatkowy scenariusz. 913 00:39:58,410 --> 00:39:59,603 Więc mówimy else if. 914 00:39:59,603 --> 00:40:04,040 915 00:40:04,040 --> 00:40:05,230 printf, dobra. 916 00:40:05,230 --> 00:40:09,120 I zauważyć z CS50 IDE i frankly-- IDE 917 00:40:09,120 --> 00:40:11,110 oznacza Integrated Środowisko programistyczne. 918 00:40:11,110 --> 00:40:14,110 To tylko fantazyjny sposób na powiedzenie to program, który pomoże Ci program. 919 00:40:14,110 --> 00:40:16,779 To ma przyjazny dla użytkownika rzeczy jak po wpisaniu jednego nawiasu, 920 00:40:16,779 --> 00:40:18,320 automatycznie daje drugiej. 921 00:40:18,320 --> 00:40:20,760 Domniemanie jest, że jesteś w końcu będzie chciał wpisać, że 922 00:40:20,760 --> 00:40:22,400 i to też robi to z cytatami. 923 00:40:22,400 --> 00:40:24,190 >> Więc chciałbym linii 23. 924 00:40:24,190 --> 00:40:26,400 99% drogi tam. 925 00:40:26,400 --> 00:40:29,920 Ktoś chce kurant z końcówką? 926 00:40:29,920 --> 00:40:31,420 Słyszałem średnik z widowni. 927 00:40:31,420 --> 00:40:32,080 Dobry. 928 00:40:32,080 --> 00:40:33,260 Tak, że kończy to. 929 00:40:33,260 --> 00:40:37,930 A teraz, mam tylko trochę konsternacja z linii 21. 930 00:40:37,930 --> 00:40:41,370 Jak chcemy to wyrazić? 931 00:40:41,370 --> 00:40:43,370 Jakie pytanie czy chcemy zapytać, jak myślisz? 932 00:40:43,370 --> 00:40:46,870 933 00:40:46,870 --> 00:40:50,330 Więc wcześniej prosiliśmy na pytanie, jeśli n jest większe od zera, to zrobić. 934 00:40:50,330 --> 00:40:51,870 Innego, zrobić. 935 00:40:51,870 --> 00:40:54,317 Musimy więc wybrać zadać pytanie tutaj. 936 00:40:54,317 --> 00:40:55,192 PUBLICZNOŚCI: [niesłyszalne] 937 00:40:55,192 --> 00:40:56,530 David J. MALAN: Dobra. 938 00:40:56,530 --> 00:40:58,290 Tak więc, gdy n jest równe zero. 939 00:40:58,290 --> 00:41:01,140 940 00:41:01,140 --> 00:41:02,100 Doskonałe. 941 00:41:02,100 --> 00:41:03,080 Warto więc zatrzymać się tutaj. 942 00:41:03,080 --> 00:41:04,850 Dziękuję bardzo za koniecznosc tego. 943 00:41:04,850 --> 00:41:10,890 Podam trochę zasłużony Piłka stres, być może nie. 944 00:41:10,890 --> 00:41:11,900 Tak więc jesteśmy prawie na miejscu. 945 00:41:11,900 --> 00:41:14,790 W rzeczywistości, Laura, jeśli nie umysł, pozwól mi zrobić jeden dostosować tutaj, 946 00:41:14,790 --> 00:41:17,850 po prostu być spójne, nawet co widzieliśmy w Scratch, co 947 00:41:17,850 --> 00:41:21,080 chcę zrobić z liniami 21 i 24, po prostu ponownie oparte 948 00:41:21,080 --> 00:41:23,290 o tym, jak zrobiliśmy to w Scratch, być może? 949 00:41:23,290 --> 00:41:24,230 >> PUBLICZNOŚCI: Ruszaj się. 950 00:41:24,230 --> 00:41:25,605 >> David J. MALAN: Tak, przesuń go w górę. 951 00:41:25,605 --> 00:41:30,260 Tak więc stan innego, trzeciego lub czwarty lub piąty, a końcowy gałęzi, 952 00:41:30,260 --> 00:41:34,100 rzeczywiście powinien przyjść później, i to tylko umownie, 953 00:41:34,100 --> 00:41:36,047 tylko dlatego, że jeśli będzie. 954 00:41:36,047 --> 00:41:37,380 Więc trzeba wprowadzać ten uszczypnąć. 955 00:41:37,380 --> 00:41:39,660 I muszę umieścić moje nawias klamrowy tutaj. 956 00:41:39,660 --> 00:41:42,700 A teraz, to program skompilować. 957 00:41:42,700 --> 00:41:46,140 Jesteśmy tak blisko, ale nie bardzo, bardzo subtelny błąd. 958 00:41:46,140 --> 00:41:47,200 Zobaczmy co się stanie. 959 00:41:47,200 --> 00:41:49,660 >> Po pierwsze, pozwól mi iść do przodu i pomniejszyć. 960 00:41:49,660 --> 00:41:53,405 Mam zamiar iść do przodu i make stan zerowy. 961 00:41:53,405 --> 00:41:55,070 Och, skłamałem. 962 00:41:55,070 --> 00:41:58,760 Teraz kompilator rzeczywiście bardzo inteligentny. 963 00:41:58,760 --> 00:42:00,950 A ja naprawdę nie rozumiem to komunikat o błędzie. 964 00:42:00,950 --> 00:42:04,310 Z wykorzystaniem wyniku cesji w stanie, bez nawiasów 965 00:42:04,310 --> 00:42:05,740 jest najwyraźniej źle. 966 00:42:05,740 --> 00:42:07,100 Ale co to znaczy? 967 00:42:07,100 --> 00:42:10,860 >> Cóż znowu, szukając wzorów w kodzie, które widzieliśmy wcześniej, 968 00:42:10,860 --> 00:42:16,640 Linia 17, co jest rzeczywiście robi, mimo, że Laura ma lekko 969 00:42:16,640 --> 00:42:18,790 w inny sposób? 970 00:42:18,790 --> 00:42:19,290 Tak. 971 00:42:19,290 --> 00:42:21,565 >> PUBLICZNOŚCI: [niesłyszalne] 972 00:42:21,565 --> 00:42:22,440 David J. MALAN: Tak. 973 00:42:22,440 --> 00:42:26,610 Więc pamiętaj, znak równości, najwyraźniej jak już ją wcześniej, nie jest równa. 974 00:42:26,610 --> 00:42:29,240 Jego zadanie, od prawej do lewej. 975 00:42:29,240 --> 00:42:33,810 Tak więc linia 17 w momencie Jest to stan, a to 976 00:42:33,810 --> 00:42:37,890 wykonywania kodu w nawiasach, ale gdy kod wykonywany, 977 00:42:37,890 --> 00:42:42,140 co dzieje się na wartość zera? 978 00:42:42,140 --> 00:42:45,250 Co się dzieje z wartością n? 979 00:42:45,250 --> 00:42:46,810 Staje zero. 980 00:42:46,810 --> 00:42:50,520 Tak więc, jeśli n staje się zerem, i znowu, jak w ostatnim tygodniu, 981 00:42:50,520 --> 00:42:54,690 na ogół mówią, że do zera jest fałszywe, a jedna jest prawdziwa, 982 00:42:54,690 --> 00:42:57,410 i tak jest jeden i nie jest zerem. 983 00:42:57,410 --> 00:42:59,590 Tak prawdziwe i fałszywe, jeden i 0. 984 00:42:59,590 --> 00:43:06,090 Jeśli n od linii 17 został biorąc pod uwagę wartość 0, jest zerem prawda? 985 00:43:06,090 --> 00:43:06,590 Nie. 986 00:43:06,590 --> 00:43:08,280 Z definicji, zero jest fałszywe. 987 00:43:08,280 --> 00:43:10,860 To konwencja jesteśmy zamiar trzymać się naprzód. 988 00:43:10,860 --> 00:43:17,320 Więc będą linie 18, 19 i 20 zawsze stosować się teraz, logicznie? 989 00:43:17,320 --> 00:43:18,320 Nie mogą. 990 00:43:18,320 --> 00:43:21,640 Zapytaliśmy więc pytanie ale nie dość precyzyjnie, 991 00:43:21,640 --> 00:43:25,620 i nie wiem, to chyba widziałem go, roztwór w C 992 00:43:25,620 --> 00:43:29,610 jest, gdy chcesz wyrazić równość, mówisz sobie równi równa. 993 00:43:29,610 --> 00:43:33,140 Więc znak równości był już wykorzystany w drodze cesji, od prawej do lewej. 994 00:43:33,140 --> 00:43:35,110 Równa jest równa środki równe. 995 00:43:35,110 --> 00:43:37,950 A jeśli naprawdę chcesz, żeby Twój umysł jest wygięta, w JavaScript i PHP, 996 00:43:37,950 --> 00:43:40,490 jest równa równa równych, które oznacza zupełnie coś innego, 997 00:43:40,490 --> 00:43:41,990 ale my się do tego niebawem. 998 00:43:41,990 --> 00:43:45,760 >> Tak więc jest to prosty fix, ale uświadomić sobie, bardzo proste, aby ten błąd, 999 00:43:45,760 --> 00:43:48,700 i zastanawiam się, i walka w minutach, jeśli nie za godzinę, 1000 00:43:48,700 --> 00:43:51,490 Dlaczego mój kod nie wykonanie jak zamierzam? 1001 00:43:51,490 --> 00:43:54,140 To dlatego, że nie powiedziałeś to właśnie to, co masz na myśli. 1002 00:43:54,140 --> 00:43:56,450 Tak, że był prawie doskonały, i to było wspaniałe 1003 00:43:56,450 --> 00:44:00,760 że natknęliśmy się na te dwa małe rzeczy, bo teraz, gdybyśmy je naprawić, 1004 00:44:00,760 --> 00:44:06,240 i robią Condition Zero Dot slash stan zero, 1005 00:44:06,240 --> 00:44:07,490 Chciałbym liczbę całkowitą proszę. 1006 00:44:07,490 --> 00:44:08,090 Zobaczmy. 1007 00:44:08,090 --> 00:44:09,160 Nie. 1008 00:44:09,160 --> 00:44:10,740 To zmusi mnie do tego. 1009 00:44:10,740 --> 00:44:11,990 Tak więc 42. 1010 00:44:11,990 --> 00:44:13,590 Wybrałem liczbę dodatnią. 1011 00:44:13,590 --> 00:44:16,470 Więc teraz jak mam udowodnić, ten program jest prawidłowy? 1012 00:44:16,470 --> 00:44:19,990 Jeśli jesteś matematykiem, nie można naprawdę udowodnić metodą prób i błędów, 1013 00:44:19,990 --> 00:44:20,490 dobrze? 1014 00:44:20,490 --> 00:44:23,180 Można nie tylko dowód przez Przykładem, ale przynajmniej 1015 00:44:23,180 --> 00:44:25,494 jako programista nie jesteśmy Spróbuję udowodnić teraz 1016 00:44:25,494 --> 00:44:27,660 że jest to faktycznie poprawne, ale prawdopodobnie powinien 1017 00:44:27,660 --> 00:44:29,470 przetestować kilka reprezentatywnych przypadków. 1018 00:44:29,470 --> 00:44:31,070 >> Przetestowałem 42. 1019 00:44:31,070 --> 00:44:33,030 Mogłem przetestować 43. 1020 00:44:33,030 --> 00:44:34,910 Mogłem przetestować 44. 1021 00:44:34,910 --> 00:44:35,640 Test 45. 1022 00:44:35,640 --> 00:44:36,140 Dobrze? 1023 00:44:36,140 --> 00:44:37,860 Ale mogę to naprawdę długi czas zrobić. 1024 00:44:37,860 --> 00:44:39,925 Co byłoby trochę więcej interesujących przypadków, aby spróbować? 1025 00:44:39,925 --> 00:44:41,050 PUBLICZNOŚCI: [niesłyszalne] do zera. 1026 00:44:41,050 --> 00:44:41,740 David J. MALAN: Czyli zero. 1027 00:44:41,740 --> 00:44:42,297 Na pewno. 1028 00:44:42,297 --> 00:44:44,880 I dobrze, że mamy to w ten czas, dzięki nowym kodem Lauren. 1029 00:44:44,880 --> 00:44:46,213 Co znajduje się kolejna dobra sprawa, aby spróbować? 1030 00:44:46,213 --> 00:44:47,320 PUBLICZNOŚCI: negatywny. 1031 00:44:47,320 --> 00:44:50,070 >> David J. MALAN: negatywny, a może coś trochę większe, 1032 00:44:50,070 --> 00:44:52,617 tak może być ujemna 42, a ogólnie, gdy 1033 00:44:52,617 --> 00:44:54,450 testując swoje programy do przodu, jesteś 1034 00:44:54,450 --> 00:44:56,325 będzie chciał myśleć do siebie, jak to, co 1035 00:44:56,325 --> 00:44:58,050 są podstawowymi różne przypadki. 1036 00:44:58,050 --> 00:45:01,720 I śmiem twierdzić, że negatywny przypadek, pozytywna sprawa, a sprawa zera 1037 00:45:01,720 --> 00:45:03,365 prawie zaokrągla je na zewnątrz. 1038 00:45:03,365 --> 00:45:04,990 Spójrzmy na wariancie tego jednak. 1039 00:45:04,990 --> 00:45:06,930 Warunki jeden. 1040 00:45:06,930 --> 00:45:11,224 Jest to właściwe rozwiązanie tutaj, tak, że zobaczysz dwa i on-line, 1041 00:45:11,224 --> 00:45:13,390 jeśli idziesz przez solucje, będzie na ogół 1042 00:45:13,390 --> 00:45:18,090 zwiększyć te stopniowo aż uzyskać dokładnie odpowiednie podejście. 1043 00:45:18,090 --> 00:45:20,070 Co zrobić, jeśli chcemy zapytać dwa pytania na raz? 1044 00:45:20,070 --> 00:45:22,200 >> Pozwól mi otworzyć to się zamiast. 1045 00:45:22,200 --> 00:45:26,740 Nie Przełącznik względów zobaczymy inny czas. 1046 00:45:26,740 --> 00:45:29,610 Co nowego składniowo tutaj? 1047 00:45:29,610 --> 00:45:32,760 Jestem obecnie na grze gdzie komputer mówi 1048 00:45:32,760 --> 00:45:35,550 mi, daj mi liczbę całkowitą od jednego do 10, 1049 00:45:35,550 --> 00:45:37,180 a potem osądzam wejście użytkownika. 1050 00:45:37,180 --> 00:45:39,180 W języku angielskim, na podstawie kod można zobaczyć tutaj 1051 00:45:39,180 --> 00:45:41,530 na niebiesko, co robi ten program? 1052 00:45:41,530 --> 00:45:44,256 1053 00:45:44,256 --> 00:45:46,380 PUBLICZNOŚCI: [niesłyszalne] wybrał duża lub mała liczba. 1054 00:45:46,380 --> 00:45:46,484 David J. MALAN: Tak. 1055 00:45:46,484 --> 00:45:49,450 To tylko orzekając, czy Wziąłem duży lub nośnika, 1056 00:45:49,450 --> 00:45:53,900 lub niewielka liczba w oparciu o bardzo dowolna definicja małych, średnich 1057 00:45:53,900 --> 00:45:58,510 i duże tutaj, ale uwaga składnia to nowy jest taki. 1058 00:45:58,510 --> 00:46:02,340 Nie ma mniej niż int lub równe znak lub większe niż lub równe do podpisania 1059 00:46:02,340 --> 00:46:05,430 gdzie jeden jest nad innymi, że Ciebie może wyrazić jak Microsoft Word. 1060 00:46:05,430 --> 00:46:08,180 Więc w języku programowania można zazwyczaj po prostu zrobić dwa znaki, 1061 00:46:08,180 --> 00:46:09,450 jedna po drugiej. 1062 00:46:09,450 --> 00:46:12,695 A co to prawdopodobnie stanowią, ampersand znaku handlowego. 1063 00:46:12,695 --> 00:46:13,570 PUBLICZNOŚCI: [niesłyszalne] 1064 00:46:13,570 --> 00:46:13,680 David J. MALAN: Tak. 1065 00:46:13,680 --> 00:46:16,910 Oznacza to tylko, i dlatego, że Okazuje się, że autorzy C 1066 00:46:16,910 --> 00:46:19,120 używane jednego znaku handlowego, które można by pomyśleć, 1067 00:46:19,120 --> 00:46:22,430 byłby idealny do pojęcia i jest już wykorzystane, 1068 00:46:22,430 --> 00:46:27,300 tak ampersand ampersand rzeczywiście oddaje sprawę, że rzeczywiście chcesz. 1069 00:46:27,300 --> 00:46:30,610 >> Więc teraz natknąć dwóch rzeczy. 1070 00:46:30,610 --> 00:46:32,640 Pozwólcie mi iść do przodu i otworzyć jedną. 1071 00:46:32,640 --> 00:46:36,590 Coś, co jest trochę niepokojące. 1072 00:46:36,590 --> 00:46:37,970 Nieścisłości dot c. 1073 00:46:37,970 --> 00:46:40,260 Pozwolę sobie przedstawić dwie rzeczy. 1074 00:46:40,260 --> 00:46:44,720 Jeden, zawiadomienie, że możemy zrobić matematyka, tak jak wcześniej, kiedy 1075 00:46:44,720 --> 00:46:47,797 zrobiliśmy plus dwa numery, X i Y. 1076 00:46:47,797 --> 00:46:49,380 Co to jest ten program najwyraźniej robi? 1077 00:46:49,380 --> 00:46:52,140 I już nie skomentował tego jeszcze, a ja już wprowadzone procent f, 1078 00:46:52,140 --> 00:46:55,720 ale szybko powiedział wcześniej procent f oznacza zmiennoprzecinkowe 1079 00:46:55,720 --> 00:46:56,970 Wartość, która jest liczbą rzeczywistą. 1080 00:46:56,970 --> 00:46:59,520 Coś z przecinku Temperatura, która jest liczbą całkowitą. 1081 00:46:59,520 --> 00:47:02,270 Co sądzisz ten program jest próbuje mi pokazać na ekranie? 1082 00:47:02,270 --> 00:47:05,060 1083 00:47:05,060 --> 00:47:06,050 Tak? 1084 00:47:06,050 --> 00:47:07,550 PUBLICZNOŚCI: W wyniku jednej na 10. 1085 00:47:07,550 --> 00:47:07,780 David J. MALAN: Tak. 1086 00:47:07,780 --> 00:47:09,680 Co znajduje się wynik jednego dzieli się przez 10. 1087 00:47:09,680 --> 00:47:12,721 Racja, bo wszyscy z was ma pewnie dorastali wiedząc, że jedna na 10 1088 00:47:12,721 --> 00:47:14,502 jest co? 1089 00:47:14,502 --> 00:47:16,220 Tak, to tylko 1/10 lub 0,1. 1090 00:47:16,220 --> 00:47:16,720 Dobrze? 1091 00:47:16,720 --> 00:47:19,010 Zobaczmy więc, co to właściwie jest. 1092 00:47:19,010 --> 00:47:21,010 Więc pozwól mi iść do przodu i zapisać to. 1093 00:47:21,010 --> 00:47:21,970 Puść mnie tutaj. 1094 00:47:21,970 --> 00:47:26,360 Bądź nieścisłości dot ukośnik nieścisłości, a informacja, zbyt, 1095 00:47:26,360 --> 00:47:29,380 w środowisku Linux, nie musisz trzeba wpisywać się niedokładności i podjąć 1096 00:47:29,380 --> 00:47:30,010 cały dzień. 1097 00:47:30,010 --> 00:47:32,910 Generalnie, jeśli trafisz Tab, to Twoje myśli będą skończyć dla ciebie, 1098 00:47:32,910 --> 00:47:36,660 w oparciu o słowa, które dostępne w bieżącym katalogu. 1099 00:47:36,660 --> 00:47:37,160 OK. 1100 00:47:37,160 --> 00:47:37,970 Tak, masz rację. 1101 00:47:37,970 --> 00:47:41,239 Jedna dzieli się przez 10 jest w rzeczywistości 0,1. 1102 00:47:41,239 --> 00:47:42,280 Ale jestem trochę ciekawa. 1103 00:47:42,280 --> 00:47:44,196 I okazuje się, printf obsługuje niektórych funkcji 1104 00:47:44,196 --> 00:47:48,700 przy czym można podać więcej niż domyślną liczbę miejsc po przecinku. 1105 00:47:48,700 --> 00:47:52,140 Więc jeśli chcę zobaczyć 10 po przecinku Punkty można zrobić, procent, 1106 00:47:52,140 --> 00:47:55,510 symbolu zastępczego, kropka 10 za, daj mi 10 punktów po przecinku, 1107 00:47:55,510 --> 00:47:58,140 a potem jeszcze zmiennoprzecinkowych wartości, a na marginesie, 1108 00:47:58,140 --> 00:48:01,550 co to jest odwrotny ukośnik n najwyraźniej trzymamy za pomocą? 1109 00:48:01,550 --> 00:48:03,450 Okazuje się, że jest to symbol nowej linii. 1110 00:48:03,450 --> 00:48:05,970 Jest to bardzo wyraźne sposób mówić do komputera, 1111 00:48:05,970 --> 00:48:08,759 przesunąć kursor do następnego Linia po gotowe. 1112 00:48:08,759 --> 00:48:10,800 I zobaczymy, co się stanie, kiedy tego nie robię. 1113 00:48:10,800 --> 00:48:12,430 >> Pozwól mi skompilować dokonać niedokładności. 1114 00:48:12,430 --> 00:48:15,320 1115 00:48:15,320 --> 00:48:18,356 Teraz dot slash niedokładności. 1116 00:48:18,356 --> 00:48:18,930 OK. 1117 00:48:18,930 --> 00:48:19,780 Mimo to prawo. 1118 00:48:19,780 --> 00:48:21,512 Jeden dzieli się przez 10. 1119 00:48:21,512 --> 00:48:23,220 Teraz jestem coraz mało ciekawy, chociaż. 1120 00:48:23,220 --> 00:48:27,599 Co zrobić, jeśli patrzę 20 po przecinku zwraca uwagę, skompilować, powtórka, 1121 00:48:27,599 --> 00:48:29,390 i tak na marginesie dla prędkość, można także użyć 1122 00:48:29,390 --> 00:48:31,800 Twój górę iw dół strzałek, aby przewijanie historii, 1123 00:48:31,800 --> 00:48:35,476 więc nie musisz zachować przepisywanie tych poleceń, wpisz. 1124 00:48:35,476 --> 00:48:36,910 Huh. 1125 00:48:36,910 --> 00:48:39,220 Nie dowiedziałem się, że w szkole podstawowej. 1126 00:48:39,220 --> 00:48:43,260 W porządku, więc niech mnie zobacz jak 29 miejsc na zewnątrz. 1127 00:48:43,260 --> 00:48:44,300 Może to tylko fuks. 1128 00:48:44,300 --> 00:48:46,907 Może mój komputer zachowuje się dziwnie. 1129 00:48:46,907 --> 00:48:47,990 To nie jest coś, prawda? 1130 00:48:47,990 --> 00:48:50,300 To się robi coś deterministyczny. 1131 00:48:50,300 --> 00:48:53,410 Tak aby niedokładności. 1132 00:48:53,410 --> 00:48:54,890 OK, to się zawiedli. 1133 00:48:54,890 --> 00:48:57,620 Więc co się dzieje? 1134 00:48:57,620 --> 00:49:00,160 >> Więc najwyraźniej twoja Nauczyciel został leżąc 1135 00:49:00,160 --> 00:49:03,900 ci cały ten czas dla Powody, które zobaczymy niedługo. 1136 00:49:03,900 --> 00:49:05,569 Ale niech skończy z innym programem. 1137 00:49:05,569 --> 00:49:07,860 To jest trochę programy ktoś napisał kilka lat temu, 1138 00:49:07,860 --> 00:49:08,990 i to jest w rzeczywistości częścią konkursu. 1139 00:49:08,990 --> 00:49:11,198 Nikt właściwie pisze kod tak, a jeśli nie, 1140 00:49:11,198 --> 00:49:12,880 to jest stylistycznie problem. 1141 00:49:12,880 --> 00:49:14,660 Ale ludzie robią to dla praw do chwalenia się. 1142 00:49:14,660 --> 00:49:17,260 Aby napisać najbardziej mylące Program patrząc, że 1143 00:49:17,260 --> 00:49:19,110 jednak robi coś ciekawego. 1144 00:49:19,110 --> 00:49:23,930 I uwaga Myślałem, że zostawi na dzisiaj, przed Colton odgrywa nas tutaj, 1145 00:49:23,930 --> 00:49:27,840 jest, aby uruchomić ten program, które, nawet w tylko przy użyciu 1146 00:49:27,840 --> 00:49:31,450 C w tym tekstowe środowiska, daje nam to. 1147 00:49:31,450 --> 00:49:32,264 Cholera. 1148 00:49:32,264 --> 00:49:34,930 >> [Śmiech] 1149 00:49:34,930 --> 00:49:36,800 >> Czekaj. 1150 00:49:36,800 --> 00:49:39,340 [Niesłyszalne] c kreska l m. 1151 00:49:39,340 --> 00:49:42,885 Będziesz zobaczyć magiczne Zaklęcie, które zobaczymy niedługo. 1152 00:49:42,885 --> 00:49:45,780 [Niesłyszalne] W porządku. 1153 00:49:45,780 --> 00:49:51,592 I teraz można nawet robić takie rzeczy. 1154 00:49:51,592 --> 00:49:52,340 To jest. 1155 00:49:52,340 --> 00:49:56,410 Dla CS50 my, zobaczymy się w piątek. 1156 00:49:56,410 --> 00:49:58,910 >> [MUZYKI] 1157 00:49:58,910 --> 00:52:38,390 1158 00:52:38,390 --> 00:52:41,440 >> [APPLAUSE] 1159 00:52:41,440 --> 00:52:42,812