1 00:00:00,000 --> 00:00:01,500 >> [MUZYKA GRA] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> DAVID MALAN: Dobra to CS50 i jest koniec jednego tygodnia. 4 00:00:16,110 --> 00:00:20,760 Więc chciałbym przedstawić mój były advisee, Andel Duff, który nie tylko sprawia, że 5 00:00:20,760 --> 00:00:25,460 iPhone 5 oznacza, jak to mównica, robi również samochody. 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 ANSEL DUFF: Jak idzie, wszyscy? 8 00:00:29,510 --> 00:00:31,980 Chcę tylko powiedzieć, że mało nieco o Formula SAE, z którą 9 00:00:31,980 --> 00:00:32,604 jestem kapitanem. 10 00:00:32,604 --> 00:00:33,437 To zespół z MIT. 11 00:00:33,437 --> 00:00:35,520 Chcę tylko powiedzieć, Chłopaki trochę o tym 12 00:00:35,520 --> 00:00:37,520 i miejmy nadzieję wygenerować pewne zainteresowanie. 13 00:00:37,520 --> 00:00:41,590 >> Więc pozwól mi po prostu uruchomić poprzez Kilka rzeczy o naszej drużynie. 14 00:00:41,590 --> 00:00:43,640 Więc jesteśmy całkowicie bieg studentów, w którym wszystkie 15 00:00:43,640 --> 00:00:47,300 wzoru członków, symulacji, testu, a producent podsystemu 16 00:00:47,300 --> 00:00:48,090 samochodu. 17 00:00:48,090 --> 00:00:51,240 Mamy własny warsztat i garaży i N52-- lub przykro, 18 00:00:51,240 --> 00:00:54,140 N51-- który jest w tym samym budynku jak Muzeum Nauki MIT. 19 00:00:54,140 --> 00:00:55,990 A my ludem że prowadzić samochód. 20 00:00:55,990 --> 00:00:58,340 Nie Konkurs na początku lata, 21 00:00:58,340 --> 00:01:01,215 i wtedy są mniejsze strzelanina konkursy w ciągu roku. 22 00:01:01,215 --> 00:01:04,400 A następnie robimy szkolenia kierowców dni, aby nowi członkowie zapoznali. 23 00:01:04,400 --> 00:01:08,280 >> Nasze dni są na budować W soboty od 11 rano do 8 wieczorem. 24 00:01:08,280 --> 00:01:11,060 Obiad i kolacja są dbanie z, z Bertucci jest i Beantown 25 00:01:11,060 --> 00:01:12,130 odpowiednio. 26 00:01:12,130 --> 00:01:15,260 Mamy cotygodniowe spotkanie i Seminarium, które jest na kredyt oczywiście. 27 00:01:15,260 --> 00:01:18,560 Co jest nowe, a od tego semestru, a będzie to również na kolejny semestr, 28 00:01:18,560 --> 00:01:19,940 więc można przejechać-reg za to. 29 00:01:19,940 --> 00:01:22,960 A potem mamy projektowania, sklep, CAD i dni w tygodniu, 30 00:01:22,960 --> 00:01:26,870 natomiast członkowie będą niezależnie Części CAD, zamów photography et cetera. 31 00:01:26,870 --> 00:01:29,200 >> Tak na elektryczne Technika w drużynie 32 00:01:29,200 --> 00:01:31,110 mamy pociągowa System wysokiego napięcia, 33 00:01:31,110 --> 00:01:33,390 który działa na nominalne 300 V, który obejmuje 34 00:01:33,390 --> 00:01:35,360 silnikami, sterowniki silnika, i akumulatory. 35 00:01:35,360 --> 00:01:37,235 Następnie mamy niski System napięcia, która biegnie 36 00:01:37,235 --> 00:01:40,180 przy 12 V, która zawiera Kontrola, CAN węzły, mózg 37 00:01:40,180 --> 00:01:41,570 skrzynki i deski rozdzielczej. 38 00:01:41,570 --> 00:01:43,890 CS idzie tak daleko, robimy mają utrzymanie strony internetowej 39 00:01:43,890 --> 00:01:47,940 że musimy zrobić na imprezy, członków zmiany, nowe zdjęcia i materiały PR. 40 00:01:47,940 --> 00:01:51,540 A potem mamy kod, który steruje Samochód dla naszej kontroli trakcji, uruchomienie 41 00:01:51,540 --> 00:01:55,750 kontrola, kontrola kreska, vectoring moment, i regeneracyjne, które układy hamulcowe 42 00:01:55,750 --> 00:01:59,170 prowadzony zwykle w programie MATLAB Simulink i LabView. 43 00:01:59,170 --> 00:02:00,910 >> Opowiem wam trochę o samochodzie. 44 00:02:00,910 --> 00:02:02,470 Więc jest to około 500 funtów. 45 00:02:02,470 --> 00:02:04,285 To zasady ograniczone do 85 kilowatów. 46 00:02:04,285 --> 00:02:08,310 Posiada 2 EMRAX 207 silniki w tyłu, po jednym dla każdego koła tylnego. 47 00:02:08,310 --> 00:02:11,880 Ma na zamówienie akumulatorów pryzmatyczne komórek A123 z etui, 48 00:02:11,880 --> 00:02:14,780 na łączną kwotę 300 V i 5.6 kilowat godziny. 49 00:02:14,780 --> 00:02:17,950 I to jest napęd bezpośredni z Współczynnik 2,64 do 1 napęd. 50 00:02:17,950 --> 00:02:20,970 Oto kilka zdjęć my wziął go w konkursie. 51 00:02:20,970 --> 00:02:25,820 Oto stożek powrotem, nos, i tu są silniki, 52 00:02:25,820 --> 00:02:29,682 te duże tarcze czarny pod i męskie Manus. 53 00:02:29,682 --> 00:02:32,140 Oto slajd, że wyciągnąłem z naszego systemu konkurencji. 54 00:02:32,140 --> 00:02:35,389 I to jest tylko porównanie do naszego samochodu Kilka dostępnych w handlu samochodów 55 00:02:35,389 --> 00:02:38,380 jak KTM XBOW Ariel Atom i Caterha M 7-280. 56 00:02:38,380 --> 00:02:42,110 Jeśli jesteś zaznajomiony z ceny, moc ciągnąć ciężar, dolarów za koni mechanicznych, 57 00:02:42,110 --> 00:02:44,930 dolarów na moment, a nasz samochód wydmuchuje je wszystkie w wodzie. 58 00:02:44,930 --> 00:02:47,520 Jeśli masz jakiekolwiek pytania, zanotować ten adres e-mail. 59 00:02:47,520 --> 00:02:50,800 Strzelać do nas maila na fsae@mit.edu. 60 00:02:50,800 --> 00:02:53,350 >> Jesteśmy szczęśliwi, aby porozmawiać o cokolwiek chcesz. 61 00:02:53,350 --> 00:02:55,600 Studentów Harvardu są mili mniejszości w zespole. 62 00:02:55,600 --> 00:02:58,350 Jeśli masz jakiekolwiek pytania dotyczące że proszę strzelać do nas maila, 63 00:02:58,350 --> 00:03:00,810 na rozmowy, a ja zamierzam aby wrócić na Dawidowi. 64 00:03:00,810 --> 00:03:01,550 Dzięki. 65 00:03:01,550 --> 00:03:02,466 Doceniam to, chłopaki. 66 00:03:02,466 --> 00:03:03,615 [Aplauz] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> DAVID MALAN: Ansel spędziłem lato pracy z nami tutaj na kampusie w CS50 69 00:03:10,980 --> 00:03:11,480 latem tego roku. 70 00:03:11,480 --> 00:03:13,505 A ponadto działa na rzeczy takie jak żarówki binarnych, 71 00:03:13,505 --> 00:03:16,090 on rzeczywiście bardzo otworzyliśmy eyes-- i kopalni w szczególności do: 72 00:03:16,090 --> 00:03:20,535 na to, co naprawdę skrzyżowaniu nie sprzętu i oprogramowania może być. 73 00:03:20,535 --> 00:03:23,410 W rzeczywistości wiele z tych rzeczy, po prostu koncertował pan przez to ostatecznie 74 00:03:23,410 --> 00:03:26,030 tworzone najpierw w oprogramowaniu a na koniec wytwarzane 75 00:03:26,030 --> 00:03:27,299 w świecie rzeczywistym w sprzęcie. 76 00:03:27,299 --> 00:03:29,590 Więc jeśli jesteś zainteresowany odkrywania tego skrzyżowania, 77 00:03:29,590 --> 00:03:31,430 może podjąć tę grupę. 78 00:03:31,430 --> 00:03:34,140 >> Teraz zaś, ci z was, którzy są fanami technologii, 79 00:03:34,140 --> 00:03:36,140 i produkty Apple w zwłaszcza, że ​​istnieje 80 00:03:36,140 --> 00:03:37,860 Było kilka Anonse wczoraj. 81 00:03:37,860 --> 00:03:39,776 Ale myśleliśmy, że będziemy pokazać Ci, który wyszedł 82 00:03:39,776 --> 00:03:43,590 że kilka dni przed może nie widziałem. 83 00:03:43,590 --> 00:03:46,150 >> JORGEN EGHAMMER: Wiesz, raz na jakiś czas coś 84 00:03:46,150 --> 00:03:49,540 przychodzi, że zmienia sposób, w jaki żyjemy. 85 00:03:49,540 --> 00:03:53,479 Urządzenie tak proste i intuicyjne używając go czuje się niemal znajomo. 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 Przedstawiamy 2015 katalog IKEA. 88 00:04:04,138 --> 00:04:10,420 To nie jest książka cyfrowa lub e-book, to książka-książka. 89 00:04:10,420 --> 00:04:14,440 >> Pierwszą rzeczą, aby pamiętać, nie jest kable, nawet kabel zasilający. 90 00:04:14,440 --> 00:04:18,519 Katalog IKEA 2015 jest w pełni naładowany, 91 00:04:18,519 --> 00:04:20,550 i żywotność baterii jest wieczna. 92 00:04:20,550 --> 00:04:27,300 Interfejs 7,5 o 8 cali ale można rozszerzyć do 15, 8 cali. 93 00:04:27,300 --> 00:04:32,410 Nawigacja oparta jest na dotykowej kontakcie technologii, które można poczuć. 94 00:04:32,410 --> 00:04:37,120 >> Zawartość jest preinstalowany przez 328 stron o wysokiej rozdzielczości 95 00:04:37,120 --> 00:04:40,180 inspirujących pomysłów wyposażenia wnętrz. 96 00:04:40,180 --> 00:04:43,740 Aby rozpocząć przeglądanie, wystarczy dotknąć i przeciągnąć. 97 00:04:43,740 --> 00:04:50,870 Od prawej do lewej, aby przejść do przodu, od lewej do prawej, aby przejść do tyłu. 98 00:04:50,870 --> 00:04:52,770 >> Zauważyć coś innego? 99 00:04:52,770 --> 00:04:53,780 Zgadza się. 100 00:04:53,780 --> 00:04:55,190 Nie lag. 101 00:04:55,190 --> 00:04:58,400 Każdy krystalicznie czysta strona ładunki natychmiast, 102 00:04:58,400 --> 00:05:00,586 bez względu na to, jak szybko przewinąć. 103 00:05:00,586 --> 00:05:03,710 Jeśli chcesz uzyskać szybki przegląd, po prostu trzymać go w dłoni, 104 00:05:03,710 --> 00:05:06,816 i przy użyciu tylko kciuk, Prędkość przeglądać zawartość. 105 00:05:06,816 --> 00:05:10,930 >> Jeśli znajdziesz coś chcesz zapisać na później, można łatwo zakładka to. 106 00:05:10,930 --> 00:05:17,620 I nawet jeśli zamknąć aplikację, można łatwo znaleźć zakładkę ponownie. 107 00:05:17,620 --> 00:05:18,490 Niesamowite. 108 00:05:18,490 --> 00:05:20,434 >> [Śmiech] 109 00:05:20,434 --> 00:05:21,406 [Aplauz] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 Tak, że prowadzi nas do Koniec tydzień. 112 00:05:29,870 --> 00:05:31,760 Kilka Anonse teraz. 113 00:05:31,760 --> 00:05:33,440 Więc cięcia jest teraz w toku. 114 00:05:33,440 --> 00:05:36,860 Przejdź do tego adresu URL tutaj sometime między teraz i piątek w południe 115 00:05:36,860 --> 00:05:39,960 faktycznie określić, czy jesteś wśród tych, mniej wygodne, więcej 116 00:05:39,960 --> 00:05:41,690 wygodne, albo gdzieś pomiędzy. 117 00:05:41,690 --> 00:05:44,511 >> Zwykle jest to jeden z tych rzeczy, które po prostu rodzaj znać. 118 00:05:44,511 --> 00:05:47,510 A w rzeczywistości tych, którzy są mniej wygodne zapewne wiesz jak wiele, 119 00:05:47,510 --> 00:05:49,634 tych, którzy są bardziej wygodne wiedzieć jak najwięcej, 120 00:05:49,634 --> 00:05:54,960 i znowu, jeśli nie jesteś pewien, które z tych wiader wpadniesz jesteś 121 00:05:54,960 --> 00:05:56,210 prawdopodobnie gdzieś pomiędzy. 122 00:05:56,210 --> 00:05:59,810 Ale pewny, można zamienić po kilku tygodniach, jeśli zajdzie taka potrzeba. 123 00:05:59,810 --> 00:06:02,620 >> Tymczasem na nadchodzący tydzień nie zaczniemy sekcje per se, 124 00:06:02,620 --> 00:06:04,760 ale super sekcje, które są otwarte dla wszystkich studentów. 125 00:06:04,760 --> 00:06:08,220 Najbliższą niedzielę w miejscu do zostaną ogłoszone na stronie internetowej kursu 126 00:06:08,220 --> 00:06:10,190 będziemy mieć jeden dla te mniej wygodne, 127 00:06:10,190 --> 00:06:12,470 jak również jeden na ci bardziej komfortowe. 128 00:06:12,470 --> 00:06:15,460 A ci, gdzieś pomiędzy Można wybrać, które z tych dwóch, 129 00:06:15,460 --> 00:06:17,360 lub obu, jeśli chcesz, aby usiąść w sprawie. 130 00:06:17,360 --> 00:06:19,630 I celem tych będzie ostatecznie C 131 00:06:19,630 --> 00:06:22,440 które będziemy kontynuować nasze rozmowa z dzisiaj. 132 00:06:22,440 --> 00:06:25,070 >> Tymczasem problem jest ustawiony 0 miejmy nadzieję, że w Twoich rękach. 133 00:06:25,070 --> 00:06:27,500 Oficjalnie na jutro, Czwartek, w południe. 134 00:06:27,500 --> 00:06:29,490 Jeśli nie zarobić jednego Twoje 5 późnych dni 135 00:06:29,490 --> 00:06:31,780 co to przyniesie do piątku w południe. 136 00:06:31,780 --> 00:06:34,420 Tymczasem problem ustawić 1 będzie publikowane na stronie internetowej oczywiście za. 137 00:06:34,420 --> 00:06:37,381 I to będzie nasz pierwszy wypad jako klasa w C 138 00:06:37,381 --> 00:06:40,630 I że specyfikacja będzie problemu ustawić cię chodzić przez wiele mechaniki co 139 00:06:40,630 --> 00:06:43,960 Zaczęliśmy rozmawiać o poniedziałek, a my w dalszym ciągu mówimy o dzisiaj. 140 00:06:43,960 --> 00:06:46,770 C, Linux, CS50 Urządzenie, które wszyscy 141 00:06:46,770 --> 00:06:48,990 czekają na Ciebie w tej specyfikacji. 142 00:06:48,990 --> 00:06:52,840 >> Godziny pracy w międzyczasie są w toku, w licencjackich jadalni. 143 00:06:52,840 --> 00:06:56,240 Udaj się do tego adresu URL, aby zobaczyć zaplanować na dzisiaj i jutro, 144 00:06:56,240 --> 00:06:57,930 jeśli chcesz wziąć udział. 145 00:06:57,930 --> 00:07:01,920 Pytania Tymczasem, tak aby mają możliwość zadawania pytań 146 00:07:01,920 --> 00:07:05,860 asynchronicznie, 24/7, uświadomić sobie, że jesteś nie ogranicza się do sekcji i biura 147 00:07:05,860 --> 00:07:09,530 godzin, ale raczej narzędzie tu, w tym CS50 Omów URL 148 00:07:09,530 --> 00:07:12,150 będzie przebieg w Internecie Biuletyn oprogramowanie zarządu, poprzez które 149 00:07:12,150 --> 00:07:15,030 można zadawać pytania koledzy, a także personel. 150 00:07:15,030 --> 00:07:18,492 Tak więc należy pamiętać, że zasoby, jak również. 151 00:07:18,492 --> 00:07:20,200 Tymczasem tradycja rozpoczyna się w ten piątek. 152 00:07:20,200 --> 00:07:23,200 Jak można dostrzec z Środowa zapowiedź ostatniego filmu, 153 00:07:23,200 --> 00:07:25,510 że większość z nich ma tradycję w każdy piątek w trakcie kadencji 154 00:07:25,510 --> 00:07:28,750 podejmowania około 50 uczniów i Personel do lokalnej restauracji o nazwie 155 00:07:28,750 --> 00:07:31,510 Ogień i lód, na którym jesteśmy zazwyczaj połączone przez niektórych absolwentów 156 00:07:31,510 --> 00:07:33,850 lub przyjaciele z branży na ogół dążą 157 00:07:33,850 --> 00:07:35,780 do szerokiej klasy czuć mniejsze. 158 00:07:35,780 --> 00:07:37,560 Więc to jest zupełnie co dzień obiad. 159 00:07:37,560 --> 00:07:40,160 Kilka z nas, pracowników zwłaszcza, zagra muzyczne krzesła 160 00:07:40,160 --> 00:07:43,360 i porozmawiać z uczniami na temat 50, życie poza 50, 161 00:07:43,360 --> 00:07:46,510 życie w przyszłości, w prawdziwym świecie, Mówię o ofertach pracy 162 00:07:46,510 --> 00:07:47,680 z przyjaciółmi w branży. 163 00:07:47,680 --> 00:07:51,110 >> Więc jeśli chcesz do nas dołączyć w ten piątek, udać się do tego adresu URL tutaj. 164 00:07:51,110 --> 00:07:54,180 Liczba miejsc jest ograniczona, ale będziemy to robić recurringly całej kadencji. 165 00:07:54,180 --> 00:07:57,380 Udać się tam, aby cs50.harvard.edu/rsvp. 166 00:07:57,380 --> 00:07:59,380 A jeśli nie dostaniesz w tym razem, nie martw się. 167 00:07:59,380 --> 00:08:02,390 Zrobimy to jeszcze raz w na nadchodzące tygodnie, jak również. 168 00:08:02,390 --> 00:08:05,434 >> Więc to jest obraz malowaliśmy w zeszłym tygodniu, 169 00:08:05,434 --> 00:08:07,350 i na pewno nie było dabbling w dotychczas. 170 00:08:07,350 --> 00:08:10,360 Ale spróbujmy połączyć to teraz do tego, co mamy zamiar zrobić dziś 171 00:08:10,360 --> 00:08:11,440 i nowsze. 172 00:08:11,440 --> 00:08:14,760 Mogę mieć jednego wolontariusza? 173 00:08:14,760 --> 00:08:16,000 Wszystko w porządku, lub kilka. 174 00:08:16,000 --> 00:08:18,460 Jak się tutaj na koniec, w niebieskiej koszuli. 175 00:08:18,460 --> 00:08:20,329 Chodź na górę, jak masz na imię? 176 00:08:20,329 --> 00:08:20,870 ALANA: Alana. 177 00:08:20,870 --> 00:08:21,661 DAVID MALAN: Alana. 178 00:08:21,661 --> 00:08:25,100 Więc Alana, tylko dla moment-- miło ty-- 179 00:08:25,100 --> 00:08:28,260 będzie odgrywać rolę z tej funkcji tutaj. 180 00:08:28,260 --> 00:08:31,290 Blok mamy fioletowy zwana dotąd funkcji. 181 00:08:31,290 --> 00:08:34,830 Więc co mam zamiar iść przed tutaj i oferują Alana 182 00:08:34,830 --> 00:08:38,380 Nazwa jest trochę tag, aby jasne, jaką rolę grasz. 183 00:08:38,380 --> 00:08:39,753 >> Tak będziecie blok słownie. 184 00:08:39,753 --> 00:08:41,419 Jeśli chcesz iść do przodu i umieścić, że na. 185 00:08:41,419 --> 00:08:43,169 I będziemy mieć to bardzo proste. 186 00:08:43,169 --> 00:08:46,180 Jeśli celem jest po prostu pod ręką teraz wdrożyć w Alana, 187 00:08:46,180 --> 00:08:49,710 to znaczy, tak zwanego bloku oto jak to będzie działać. 188 00:08:49,710 --> 00:08:52,574 Have-- I nazwijmy to Argument lub parametru, 189 00:08:52,574 --> 00:08:54,240 to naprawdę tylko pusty arkusz papieru. 190 00:08:54,240 --> 00:08:57,239 I to białe do rodzaju przypominałby na białym polu, do którego 191 00:08:57,239 --> 00:08:58,080 może napisać słowa. 192 00:08:58,080 --> 00:09:00,660 >> Tymczasem mam zamiar udać się tutaj. 193 00:09:00,660 --> 00:09:06,560 Mam zamiar iść do przodu i Napisać e-H-L-L-O przecinkami świat. 194 00:09:06,560 --> 00:09:09,972 A teraz, jak mówią, programista, nie faktycznie wie, jak coś powiedzieć. 195 00:09:09,972 --> 00:09:12,180 Mogę wymyślić słów, ale nie muszą 196 00:09:12,180 --> 00:09:15,220 wie, jak wyrazić siebie ustnie lub na ekranie. 197 00:09:15,220 --> 00:09:17,280 A więc to, co mam zamiar zrobić, to wziąć ten kawałek 198 00:09:17,280 --> 00:09:21,157 funkcjonalności, której input-- lub argumentów, jak my to nazywamy, 199 00:09:21,157 --> 00:09:23,990 Pisałem na ten kawałek paper-- i mam zamiar go outsourcingu. 200 00:09:23,990 --> 00:09:26,831 >> I rzeczywiście to jest rola, jaką Funkcje w języku programowania 201 00:09:26,831 --> 00:09:27,330 może grać. 202 00:09:27,330 --> 00:09:29,246 Coś jak Say Blok może być zlecone 203 00:09:29,246 --> 00:09:32,074 do kogoś, kto nie wie, co ona lub on mówi. 204 00:09:32,074 --> 00:09:33,990 Więc jeśli będziesz przechodzić nad tu tylko na chwilę, 205 00:09:33,990 --> 00:09:40,092 Mam zamiar przekazać to wejście do Alana, i prosi, aby powiedzieć to wejście. 206 00:09:40,092 --> 00:09:41,202 >> ALANA: Witaj, świecie. 207 00:09:41,202 --> 00:09:42,160 DAVID MALAN: To jest to. 208 00:09:42,160 --> 00:09:43,326 Tak że nie działa. 209 00:09:43,326 --> 00:09:46,556 Teraz możemy go trochę więcej, możemy zrobić krok naprzód tutaj. 210 00:09:46,556 --> 00:09:48,180 Dlatego, że był wyraźnie rozczarowująca. 211 00:09:48,180 --> 00:09:51,670 Więc teraz przekonwertować to do coś nieco bardziej wyrafinowane. 212 00:09:51,670 --> 00:09:53,630 >> Więc to jest oczywiście nasza wersja C. 213 00:09:53,630 --> 00:09:56,760 Więc teraz, jeśli chcesz wziąć to jeden się, że nazwa znacznika off, 214 00:09:56,760 --> 00:09:58,530 i niech mają na siebie włożyć nową nazwą. 215 00:09:58,530 --> 00:10:00,850 Ale zasadniczo jesteś gra tę samą rolę, 216 00:10:00,850 --> 00:10:03,400 tak się do nazwać printf teraz. 217 00:10:03,400 --> 00:10:06,930 >> Fabuła jest, oczywiście, Prawdopodobnie dzieje się być: 218 00:10:06,930 --> 00:10:09,317 Jest tak underwhelming-- będzie następujący. 219 00:10:09,317 --> 00:10:10,650 Jesteś teraz printf funkcja. 220 00:10:10,650 --> 00:10:13,300 Jestem rozmówcy, lub Programista, który chce 221 00:10:13,300 --> 00:10:15,745 stanąć na ramionach ludzie w przeszłości, jak ty, 222 00:10:15,745 --> 00:10:18,670 którzy już zorientowali się, jak faktycznie coś zapisać. 223 00:10:18,670 --> 00:10:20,650 A więc razem, zamiast powiedzieć, że niech 224 00:10:20,650 --> 00:10:22,255 Korzystając z ekranu faktycznie tutaj. 225 00:10:22,255 --> 00:10:24,130 Więc jeśli chcesz do kroku tu, idę 226 00:10:24,130 --> 00:10:27,196 przejść ponownie to jako Wejście do mojego przyjaciela printf. 227 00:10:27,196 --> 00:10:29,320 Jeśli można śmiało druku, że na ekranie 228 00:10:29,320 --> 00:10:31,611 po prostu rysunek z Twojego palec na czarnym ekranie. 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 Doskonałe. 231 00:10:44,180 --> 00:10:47,350 W porządku, więc wiele niepewności dla jak to się dzieje na zabawę. 232 00:10:47,350 --> 00:10:51,390 >> Teraz weźmy rzeczy jeden Ostateczna poziomie, jeśli można, w następujący sposób. 233 00:10:51,390 --> 00:10:53,980 Więc to jest program w C jak mówiliśmy ostatnio. 234 00:10:53,980 --> 00:10:57,460 A to po prostu robi to, co zrobiłeś, to wypisuje na ekranie, Witaj, świecie. 235 00:10:57,460 --> 00:11:00,290 Mimo, że jest wyraźnie dużo z rozpraszać rzeczy tam. 236 00:11:00,290 --> 00:11:03,630 Ale weźmy się w garść i wprowadzenie tej wersji, które przypominają 237 00:11:03,630 --> 00:11:06,160 Była to trzecia wersja, że skończyło się na ostatnim czasie. 238 00:11:06,160 --> 00:11:09,120 >> I teraz jest wyraźnie dwa zastosowania printf. 239 00:11:09,120 --> 00:11:12,280 Jest 2 rozmowy do Alana w tym przypadku dla printf, 240 00:11:12,280 --> 00:11:14,740 ale jest także wezwaniem do innej funkcji. 241 00:11:14,740 --> 00:11:17,150 Co to jest funkcja wyraźnie? 242 00:11:17,150 --> 00:11:17,650 GetString. 243 00:11:17,650 --> 00:11:18,980 >> Możemy dostać jeszcze jeden wolontariusz? 244 00:11:18,980 --> 00:11:20,980 OK, dalej w górę. 245 00:11:20,980 --> 00:11:21,805 Jak masz na imię? 246 00:11:21,805 --> 00:11:22,990 >> JAVIER: Javier. 247 00:11:22,990 --> 00:11:24,750 >> DAVID MALAN: Javier, chodź na górę. 248 00:11:24,750 --> 00:11:27,270 Więc rola Javiera jest ten kawałek papieru. 249 00:11:27,270 --> 00:11:28,860 Które mam zamiar zadzwonić ogólnie s. 250 00:11:28,860 --> 00:11:32,250 Teraz to jest zmienna, to typu ciąg, jak sugeruje 251 00:11:32,250 --> 00:11:34,290 przez tę drugą linię tam pośrodku. 252 00:11:34,290 --> 00:11:36,540 I chciałbym, żebyś się do mnie ciąg. 253 00:11:36,540 --> 00:11:40,120 Specjalnie udać się do orkiestry punkt i daj mi nazwisko osoby, 254 00:11:40,120 --> 00:11:43,142 i wrócić ze zmienną zawierające tę wartość. 255 00:11:43,142 --> 00:11:44,225 To może być ktoś, kogo chcesz. 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> Zaczynamy. 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 Dobrze, Javier jest zapisując nazwę. 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 Wszystko w porządku. 262 00:12:03,280 --> 00:12:05,740 Wszyscy możemy się domyślić, jak to będzie grać z. 263 00:12:05,740 --> 00:12:07,489 Jesteśmy chyba belaboring Temperatura co 264 00:12:07,489 --> 00:12:10,320 funkcja robi, ale mimo wszystko bardzo dziękuję. 265 00:12:10,320 --> 00:12:13,890 >> Więc Javier wrócił ten ciąg tu, który nie dość zobaczyć, 266 00:12:13,890 --> 00:12:15,800 Jonathan jest ciąg że dotarłeś. 267 00:12:15,800 --> 00:12:18,330 I co teraz mam naprawdę dzieje dostarczenie do Alana choć 268 00:12:18,330 --> 00:12:20,150 to coś trochę innego. 269 00:12:20,150 --> 00:12:23,800 Ponieważ w tej wersji Program najpierw tam podać swoje imię i nazwisko. 270 00:12:23,800 --> 00:12:26,160 Więc pierwszego argumentu Muszę dostarczyć Alana 271 00:12:26,160 --> 00:12:33,030 ze będzie dosłownie podać swoje imię i nazwisko. 272 00:12:33,030 --> 00:12:35,280 Dobrze, że tak proste, jak Chciałbym oddać ci tego. 273 00:12:35,280 --> 00:12:36,730 I jak napisać Kolejnym argumentem, jeśli Ciebie 274 00:12:36,730 --> 00:12:39,230 chcą iść dalej i napisać to na pokładzie, idziemy do przodu 275 00:12:39,230 --> 00:12:42,659 i zrobić ostateczny przykład tutaj, aby jasne, co ostatecznie ma się wydarzyć. 276 00:12:42,659 --> 00:12:44,450 Tak, podać nazwę, Napisać go ku górze 277 00:12:44,450 --> 00:12:47,220 jeśli nie masz nic przeciwko, tylko po to, mamy pokój na jedną drugą linię. 278 00:12:47,220 --> 00:12:52,890 Ponieważ ostatnią rzeczą, idę do teraz zapewnić Państwu nie jeden, 279 00:12:52,890 --> 00:12:57,220 ale dwa kawałki papieru. 280 00:12:57,220 --> 00:12:58,074 >> Wszystko w porządku. 281 00:12:58,074 --> 00:13:01,920 H-E-P-L-O przecinek, a następnie pusty wiersz. 282 00:13:01,920 --> 00:13:04,780 Więc co mam pod ręką teraz Alana to coś trochę innego. 283 00:13:04,780 --> 00:13:08,600 Nie tylko jest ona coraz to gdzie wypełnić puste reprezentuje 284 00:13:08,600 --> 00:13:12,050 że percent-- co było zastępczy używaliśmy? 285 00:13:12,050 --> 00:13:13,890 Tak, tak, procent y. 286 00:13:13,890 --> 00:13:16,530 Tymczasem mam zamiar przejść niej w drugim argumencie, który 287 00:13:16,530 --> 00:13:19,290 właśnie Javier pobierane z Jonatanem. 288 00:13:19,290 --> 00:13:20,534 >> Więc pozwól mi dać te dwa. 289 00:13:20,534 --> 00:13:22,575 Jeśli chcesz, aby przejść do przodu i wydruku, że efekt. 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 Co się w końcu dzieje teraz jest, Alana ponownie 292 00:13:28,130 --> 00:13:29,410 gra rolę printf. 293 00:13:29,410 --> 00:13:32,160 Javier grał Rola getString. 294 00:13:32,160 --> 00:13:34,700 Tak, że będzie twoim pamiątkami. 295 00:13:34,700 --> 00:13:39,910 I ostatecznie, co się dzieje, mimo to hello-- Tak śmiało i przecinek. 296 00:13:39,910 --> 00:13:41,410 ALANA: Czy mogę otrzymać to jeszcze czy nie? 297 00:13:41,410 --> 00:13:43,451 DAVID MALAN: Tak, ty otrzymał je obie na raz. 298 00:13:43,451 --> 00:13:45,740 Więc chodzi o to, że ty Można teraz obrócić stronę 299 00:13:45,740 --> 00:13:50,000 obsłużyć drugi z tych dwóch wejść. 300 00:13:50,000 --> 00:13:53,280 Więc jest to tylko do młota domu wskazują, że o ile wykonywane Alana 301 00:13:53,280 --> 00:13:55,830 ta zielona linia tutaj, a następnie Javier to zrobił dla nas 302 00:13:55,830 --> 00:13:57,820 i wróć do mnie coś zadzwonimy s, ale to było naprawdę 303 00:13:57,820 --> 00:13:59,520 tylko, że kawałek papieru z jego własnej. 304 00:13:59,520 --> 00:14:02,320 A teraz Alana zrobiła to trzecią linię. 305 00:14:02,320 --> 00:14:06,010 >> I mimo, że wszystko to wygląda Być może tak bardzo tajemnicze 306 00:14:06,010 --> 00:14:08,870 na pierwszy rzut oka, to naprawdę jest takie proste. 307 00:14:08,870 --> 00:14:11,390 Wokół przechodząc wejść, się wyjść, albo 308 00:14:11,390 --> 00:14:14,560 fizycznie oddał coś, lub widząc efekt uboczny takiego. 309 00:14:14,560 --> 00:14:17,170 Coś wizualnie napisane na ekranie. 310 00:14:17,170 --> 00:14:19,990 Więc idź naprzód i Dziękuję Alana i Javier, 311 00:14:19,990 --> 00:14:25,012 który był tu, na Dołączy do nas tutaj. 312 00:14:25,012 --> 00:14:25,934 >> [Aplauz] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> Teraz weźmy za pewnik, jak proste, wszystko to może być. 315 00:14:33,480 --> 00:14:36,775 I przejdźmy do rzeczywistości zrobić coś rzeczywistego kodu. 316 00:14:36,775 --> 00:14:40,620 Więc się na ekranie Oto zrzut ekranu z tak zwanego urządzenia CS50. 317 00:14:40,620 --> 00:14:43,980 I jeśli trzeba było na, jak 14:00 w środę po południu, 318 00:14:43,980 --> 00:14:46,602 wyjaśnić jakiegoś znajomego co urządzenie CS50 jest, 319 00:14:46,602 --> 00:14:48,185 jak można określić, że w jednym zdaniu? 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 Wszelkie jedno zdanie? 322 00:14:53,240 --> 00:14:54,876 Tak? 323 00:14:54,876 --> 00:14:57,334 Student: To jak program sprawia, że ​​wszystkich komputerach 324 00:14:57,334 --> 00:14:58,460 uruchomiony z tego samego systemu. 325 00:14:58,460 --> 00:14:59,210 DAVID MALAN: Dobra! 326 00:14:59,210 --> 00:15:02,810 Jest to program, który umożliwia wszystkim na komputer do pracy z tym samym systemem. 327 00:15:02,810 --> 00:15:04,920 To coś w rodzaju własnego kopia eksploatacji 328 00:15:04,920 --> 00:15:07,540 System, który stanie się nazwać Ubuntu Linux. 329 00:15:07,540 --> 00:15:11,070 I działa skutecznie wewnątrz Okno na własnym komputerze Mac lub PC, 330 00:15:11,070 --> 00:15:15,080 tak, że w ten sposób prawo z bramy w ciągu 1 tygodnia, wszyscy tutaj w klasie 331 00:15:15,080 --> 00:15:17,590 ma dostęp do tych samych narzędzi, sama konfiguracja 332 00:15:17,590 --> 00:15:21,250 i nie ma krzywej uczenia się specyficzne na komputerze Mac lub PC w szczególności. 333 00:15:21,250 --> 00:15:25,620 >> Teraz otwarte, wewnątrz CS50 Urządzenie w poniedziałek, ten program tutaj. 334 00:15:25,620 --> 00:15:27,040 Zdarza się nazywać gedit. 335 00:15:27,040 --> 00:15:29,050 Ale to tak naprawdę tylko Edytor graficzny. 336 00:15:29,050 --> 00:15:33,170 To coś jak Notatnik lub Tekst Edytować w systemie Windows lub Mac OS odpowiednio. 337 00:15:33,170 --> 00:15:36,720 I zaproponowałem, że było naprawdę trzy ważne elementy do tego ekranu. 338 00:15:36,720 --> 00:15:39,560 Górna strona jest tam, gdzie by napisać kod. 339 00:15:39,560 --> 00:15:44,080 I to, gdzie spędziliśmy większość naszych trzy przykłady w poniedziałkowym wykładzie. 340 00:15:44,080 --> 00:15:47,650 Dno nazwaliśmy co, to czarne okno, tak? 341 00:15:47,650 --> 00:15:48,640 >> STUDENT: Compiler? 342 00:15:48,640 --> 00:15:51,500 >> DAVID MALAN: Compiler my dostęp w drodze tego okna. 343 00:15:51,500 --> 00:15:53,040 Ale bardziej ogólnie. 344 00:15:53,040 --> 00:15:54,540 Tak, to było po prostu okno terminala. 345 00:15:54,540 --> 00:15:57,780 Jest to wiek stary termin, który właśnie opisuje zasadniczo migającym 346 00:15:57,780 --> 00:16:01,910 monit, że lata temu Kiedyś na jeden z tych wielkich monitorów typu CRT. 347 00:16:01,910 --> 00:16:04,300 Ale w dzisiejszych czasach jest to rodzaj z wirtualnego oprogramowania. 348 00:16:04,300 --> 00:16:06,710 I okna terminala niech nam wpisać polecenia. 349 00:16:06,710 --> 00:16:11,750 To rodzaj uproszczonej wersji interfejsu użytkownika lub interfejsu użytkownika. 350 00:16:11,750 --> 00:16:14,060 To nie jest graficzny Interfejs użytkownika lub GUI, 351 00:16:14,060 --> 00:16:17,250 Interfejs jest oparty na tekście lub interfejs wiersza poleceń. 352 00:16:17,250 --> 00:16:20,770 >> I rzeczywiście to, gdzie ostatecznie Udało mi się napisać kod. 353 00:16:20,770 --> 00:16:24,200 Raz napisałem trochę kodu choć Przypomnijmy, że użyłem tego polecenia. 354 00:16:24,200 --> 00:16:26,210 I jak to nazwa rodzaj sugeruje to 355 00:16:26,210 --> 00:16:29,860 Pozwala mi to zrobić Program o nazwie Halo. 356 00:16:29,860 --> 00:16:33,400 Ale co tak naprawdę robi? 357 00:16:33,400 --> 00:16:36,180 Oraz producent brał mój wejście, mój kod źródłowy, 358 00:16:36,180 --> 00:16:39,380 i przekształcenie go do tego, co w ostatecznym rozrachunku? 359 00:16:39,380 --> 00:16:40,060 >> Kod obiektu. 360 00:16:40,060 --> 00:16:42,790 I kod obiektu jest tylko wyobraźnia sposób mówienia zer i jedynek. 361 00:16:42,790 --> 00:16:46,420 A następnie raz chciałem uruchomić ten kod obiektu, 362 00:16:46,420 --> 00:16:50,940 raz chciałem przekazać jako wkład tych Zera i jedynki do mojego komputera 363 00:16:50,940 --> 00:16:54,430 mózgu, tzw CPU lub jednostka centralna, 364 00:16:54,430 --> 00:16:55,730 Musiałem uruchomić program. 365 00:16:55,730 --> 00:16:59,042 Ale to nie było dość proste, w poniedziałek jak tylko dwukrotnie klikając jakąś ikonę. 366 00:16:59,042 --> 00:17:01,375 Co zamiast nie muszę zrobić, aby uruchomić program? 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> Co było to, że drugie polecenie? 369 00:17:07,890 --> 00:17:09,619 Słyszę trochę ukośniki? 370 00:17:09,619 --> 00:17:10,544 Tak, tak? 371 00:17:10,544 --> 00:17:12,474 >> STUDENT: Dot slash i Nazwa programu. 372 00:17:12,474 --> 00:17:13,349 DAVID MALAN: Dokładnie. 373 00:17:13,349 --> 00:17:15,030 Dot slash i nazwa programu. 374 00:17:15,030 --> 00:17:16,210 Teraz jakie to ma znaczenie? 375 00:17:16,210 --> 00:17:19,470 Cóż to tylko kropka tajemna droga mówić bieżący katalog. 376 00:17:19,470 --> 00:17:23,440 Cokolwiek jesteś w folderze jest określanej jako jest reprezentowany jako kropki. 377 00:17:23,440 --> 00:17:26,680 Ukośnik jest tylko to, co widziałeś w systemie Mac OS i Windows na lata, 378 00:17:26,680 --> 00:17:30,329 to separator między katalogu lub folder, a reszta jakiegoś imienia. 379 00:17:30,329 --> 00:17:32,620 W Windows zdarza się, aby przejść do tyłu, w systemie Linux i Mac 380 00:17:32,620 --> 00:17:34,210 OS zdarza się, aby przejść do przodu. 381 00:17:34,210 --> 00:17:37,560 Ale to tylko separator, więc po prostu nieciekawe składniowym szczegóły. 382 00:17:37,560 --> 00:17:40,440 >> Soczyste częścią kursu jest Nazwa programu, Witam. 383 00:17:40,440 --> 00:17:42,650 I to jest to, co czynią stworzony dla nas. 384 00:17:42,650 --> 00:17:44,910 Jest wyprowadzany ten plik za nami. 385 00:17:44,910 --> 00:17:46,700 Ale jak dostać się do tego punktu? 386 00:17:46,700 --> 00:17:48,870 Załóżmy teraz zapytać pytanie, co było naprawdę 387 00:17:48,870 --> 00:17:52,470 dzieje, co najmniej z odniesieniu do niektórych z tych składni? 388 00:17:52,470 --> 00:17:57,000 >> Tak więc w zdaniu lub tak, Jak udało się wyjaśnić 389 00:17:57,000 --> 00:17:59,020 to pierwsza linia to podświetlone na zielono? 390 00:17:59,020 --> 00:18:02,998 Co było to, że pierwsza linia robi, w odniesieniu do mojego programu? 391 00:18:02,998 --> 00:18:03,974 Tak? 392 00:18:03,974 --> 00:18:05,067 >> STUDENT: [niesłyszalne]. 393 00:18:05,067 --> 00:18:06,150 DAVID MALAN: Powiedz to jeszcze raz? 394 00:18:06,150 --> 00:18:08,734 STUDENT: Włączanie i pobierania Wcześniejsze funkcje [niesłyszalne]. 395 00:18:08,734 --> 00:18:09,483 DAVID MALAN: Dobra. 396 00:18:09,483 --> 00:18:11,900 Tym, nie powiem pobierania, ale powiedzmy, że 397 00:18:11,900 --> 00:18:15,500 w tym funkcje, które ludzie Napisałem w przeszłości. 398 00:18:15,500 --> 00:18:18,260 I te funkcje są realizowane gdzieś w moim komputerze. 399 00:18:18,260 --> 00:18:20,470 Ktoś napisał plik lat temu, i że plik 400 00:18:20,470 --> 00:18:23,490 jest gdzieś wewnątrz CS50 urządzenia lub na dysku twardym 401 00:18:23,490 --> 00:18:24,480 bardziej ogólnie. 402 00:18:24,480 --> 00:18:27,810 I tak ta linia jest zasadniczo mówiąc, go znaleźć tego pliku, Standard I / O kropkę 403 00:18:27,810 --> 00:18:31,740 h, i skopiować i wkleić jego zawartość tu na górze mojego pliku 404 00:18:31,740 --> 00:18:33,860 tak, że nie mam do zrobić to ręcznie sobie. 405 00:18:33,860 --> 00:18:40,970 >> I wśród najbardziej soczyste kawałki wewnątrz z twierdził, że plik był co nam funkcja? 406 00:18:40,970 --> 00:18:45,740 Co nie powiedzieć, funkcja została zadeklarowana lub wymienione w Standard I / O dot h 407 00:18:45,740 --> 00:18:47,120 najbardziej prawdopodobne? 408 00:18:47,120 --> 00:18:47,900 Printf, prawda? 409 00:18:47,900 --> 00:18:50,797 Nie pisać na printf Poniedziałek, po prostu istnieje. 410 00:18:50,797 --> 00:18:52,880 Podobnie jak Alana właśnie przyszedł się na scenie, a ona po prostu 411 00:18:52,880 --> 00:18:55,540 istniał i wiedział jak narysować coś na ekranie 412 00:18:55,540 --> 00:18:58,660 tak nie printf istnieje od wielu lat. 413 00:18:58,660 --> 00:19:00,240 I tak to jest, jak do niego dostęp. 414 00:19:00,240 --> 00:19:03,280 Teraz, gdy przejdziemy tutaj, Głównym analogicznie my 415 00:19:03,280 --> 00:19:06,620 powiedział na kawałek układanki wywoływana po kliknięciu zielona flaga 416 00:19:06,620 --> 00:19:07,620 w świecie podstaw. 417 00:19:07,620 --> 00:19:10,130 To tylko rodzaj Domyślna nazwa, że ​​ludzie 418 00:19:10,130 --> 00:19:13,340 zdecydowała, że ​​stanowią domyślny punkt wejścia do programu. 419 00:19:13,340 --> 00:19:16,540 Fragment kodu programowania który zostanie wykonany pierwszy. 420 00:19:16,540 --> 00:19:19,700 >> Tymczasem są te nawiasy klamrowe jakby zakrzywionego kształtu 421 00:19:19,700 --> 00:19:21,410 z dużo tych żółtych sztuk zdrapek. 422 00:19:21,410 --> 00:19:24,860 Ich rodzaj enkapsulacji cały kilka wskazówek razem. 423 00:19:24,860 --> 00:19:28,350 Więc to po prostu rodzaj wiąże ze sobą niektóre związane funkcjonalność. 424 00:19:28,350 --> 00:19:33,750 printf oczywiście jest funkcja drukuje ekran, jak to zrobiłeś. 425 00:19:33,750 --> 00:19:35,190 >> Co o tych nawiasach? 426 00:19:35,190 --> 00:19:38,770 Jak byś define-- nawet jeśli masz nie zaprogramowane wcześniej, ale tylko w oparciu 427 00:19:38,770 --> 00:19:41,320 teraz na zwiększenie mam nadzieję, że intuicja, co 428 00:19:41,320 --> 00:19:43,290 nawiasy są dla nas robi? 429 00:19:43,290 --> 00:19:45,450 Lub co oni okolic? 430 00:19:45,450 --> 00:19:46,360 Tak? 431 00:19:46,360 --> 00:19:49,360 >> STUDENT: Mówią, co masz zamiar drukować z printf. 432 00:19:49,360 --> 00:19:52,401 >> DAVID MALAN: Tak, mówią, co masz zamiar drukować z printf. 433 00:19:52,401 --> 00:19:56,260 Lub, bardziej ogólnie, są otaczającego wejść do funkcji. 434 00:19:56,260 --> 00:19:58,530 Tak, że można prawie z tych nawiasach 435 00:19:58,530 --> 00:20:01,620 jako o metalu clip na tym schowku. 436 00:20:01,620 --> 00:20:05,940 To co się trzyma, to, co jest będzie wykorzystane do zapewnienia argumentów 437 00:20:05,940 --> 00:20:08,500 do funkcji, które w tym przypadku jest nazywana printf. 438 00:20:08,500 --> 00:20:12,390 >> Tak w ogóle prawie każdy Czas nazywamy funkcję, 439 00:20:12,390 --> 00:20:14,280 chcemy, aby zobaczyć nawiasów pary. 440 00:20:14,280 --> 00:20:17,000 Może coś w nim, jak teraz, może w nim nic. 441 00:20:17,000 --> 00:20:19,770 Ale to, gdzie będzie można umieścić wejścia lub tak zwane argumenty 442 00:20:19,770 --> 00:20:20,680 do funkcji. 443 00:20:20,680 --> 00:20:22,470 >> Oto jeden z takich argumentów. 444 00:20:22,470 --> 00:20:24,467 Wszystko mam podświetlone między cytatami, 445 00:20:24,467 --> 00:20:26,300 ponieważ okazuje w tym języku nazwie 446 00:20:26,300 --> 00:20:29,950 C, gdy chcesz do reprezentowania string-- to słowo lub fraza 447 00:20:29,950 --> 00:20:33,470 lub nawet paragraph-- trzeba otaczają go w cudzysłowy. 448 00:20:33,470 --> 00:20:35,420 Nie pojedyncze cytaty, cudzysłowy. 449 00:20:35,420 --> 00:20:37,460 I to jest dokładnie to, co zrobiłem tutaj. 450 00:20:37,460 --> 00:20:39,900 >> Tymczasem jest modny Symbol w kierunku tam końca. 451 00:20:39,900 --> 00:20:41,600 Backslash n. 452 00:20:41,600 --> 00:20:43,460 Co możemy powiedzieć, że reprezentowane? 453 00:20:43,460 --> 00:20:44,093 Tak? 454 00:20:44,093 --> 00:20:44,980 >> STUDENT: nowa linia. 455 00:20:44,980 --> 00:20:45,896 >> DAVID MALAN: Nowa linia. 456 00:20:45,896 --> 00:20:47,910 Dobra, nie ogólnie naciśnij Enter, gdy 457 00:20:47,910 --> 00:20:50,430 chcesz program wypluć nowej linii. 458 00:20:50,430 --> 00:20:54,210 Raczej można powiedzieć to wyraźnie z tego co prawda tajemnej sztuki 459 00:20:54,210 --> 00:20:58,770 składni, backslash n, że chcesz nowa linia tam. 460 00:20:58,770 --> 00:20:59,810 Wreszcie średnik. 461 00:20:59,810 --> 00:21:01,560 Tak naprawdę nie mówić zbyt wiele na ten temat, 462 00:21:01,560 --> 00:21:04,893 i zdecydowanie będzie to zmorą niektórych swojego istnienia do pierwszego problemu 463 00:21:04,893 --> 00:21:07,990 ustawić, kiedy po prostu nie udało się zrealizować zapomniałeś coś tak głupiego 464 00:21:07,990 --> 00:21:08,614 jak średnikiem. 465 00:21:08,614 --> 00:21:11,600 I ogólnie wprowadzenie go nie rozwiąże tego problemu. 466 00:21:11,600 --> 00:21:13,511 Ale co to robi dla nas, można by powiedzieć? 467 00:21:13,511 --> 00:21:15,670 >> STUDENT: [niesłyszalne]. 468 00:21:15,670 --> 00:21:17,484 >> DAVID MALAN: Przepraszam? 469 00:21:17,484 --> 00:21:18,532 >> STUDENT: [niesłyszalne]. 470 00:21:18,532 --> 00:21:19,990 DAVID MALAN: Wykończenie oświadczenie. 471 00:21:19,990 --> 00:21:22,770 To trochę jak w okresie końcówkę zdania angielskiego, 472 00:21:22,770 --> 00:21:25,790 podczas gdy w tym języku C to kończy oświadczenie. 473 00:21:25,790 --> 00:21:29,250 Instrukcja programowania Kod, że chcesz po prostu powiedzieć, 474 00:21:29,250 --> 00:21:30,500 Skończyłem z tym. 475 00:21:30,500 --> 00:21:32,240 Zauważcie, że to tylko jeden tutaj. 476 00:21:32,240 --> 00:21:34,614 Więc nie chcesz, aby w zwyczaj wprowadzenie średnikami 477 00:21:34,614 --> 00:21:36,190 po każdym zamkniętym nawiasie. 478 00:21:36,190 --> 00:21:38,610 Na przykład nie ma nic obok unieważnić, a my 479 00:21:38,610 --> 00:21:40,430 wrócić w przyszłości do tego, co nieważne środki. 480 00:21:40,430 --> 00:21:44,080 Ale w tym przypadku jest twój printf Funkcja lub stwierdzenie, używane, 481 00:21:44,080 --> 00:21:47,420 i tak chcemy mieć, że końcu na samym końcu. 482 00:21:47,420 --> 00:21:50,980 >> A ja celowo wybierając na C i szczerze mówiąc wiele języków, takich jak C, C ++ 483 00:21:50,980 --> 00:21:55,000 Java, JavaScript dowolna liczba Inne języki mają wiele z nich 484 00:21:55,000 --> 00:21:56,730 rodzaj składniowych szczegółów. 485 00:21:56,730 --> 00:22:00,120 To z pewnością, jeśli jesteś nowy w Programowanie może naprawdę zadziałać cię. 486 00:22:00,120 --> 00:22:02,307 I będzie, zapamiętaj moje słowa, niektórzy z was 487 00:22:02,307 --> 00:22:04,140 to doświadczenie w godzinach pracy urzędu lub późno 488 00:22:04,140 --> 00:22:07,554 w nocy pracuje na jakimś p-set, gdzie Twój cholernie Program po prostu nie skompilować, 489 00:22:07,554 --> 00:22:09,470 to nie działa, trzeba nie wiem co jest nie tak, 490 00:22:09,470 --> 00:22:11,513 wydaje się całkowicie logicznie poprawne Ciebie. 491 00:22:11,513 --> 00:22:13,596 A to dlatego, że zapomniał coś jak uderzenie 492 00:22:13,596 --> 00:22:15,250 średnik na końcu niektórych linii. 493 00:22:15,250 --> 00:22:17,590 >> Ale to są takie rzeczy mozesz będzie natychmiast nauczyć się widzieć. 494 00:22:17,590 --> 00:22:20,048 I rzeczywiście, to są rzeczy, że CA i TF mają 495 00:22:20,048 --> 00:22:23,210 był rodzaj przeszkoleni, aby zobaczyć znacznie szybciej niż ty. 496 00:22:23,210 --> 00:22:26,610 I tak jest to tylko powiedzieć, jak ty Zanurz się problemu ustaw 1, zwłaszcza, 497 00:22:26,610 --> 00:22:28,217 Nie denerwować przez te rzeczy. 498 00:22:28,217 --> 00:22:30,050 Po rodzaju aklimatyzować na świecie, 499 00:22:30,050 --> 00:22:35,130 zaczynamy widzieć rzeczy, które nie mogą zobaczyć na pierwszy rzut oka ten pierwszy tydzień. 500 00:22:35,130 --> 00:22:37,440 >> Więc kod źródłowy jest coś takiego. 501 00:22:37,440 --> 00:22:40,370 Chcemy przekazać ją do tzw kompilatora. 502 00:22:40,370 --> 00:22:42,850 I że kompilator jako powiedzieliśmy zapewnia wyjście 503 00:22:42,850 --> 00:22:45,660 znany kod obiektu, tzw zer i jedynek. 504 00:22:45,660 --> 00:22:47,747 Ale od tego, co nam to daje? 505 00:22:47,747 --> 00:22:49,080 No to daje nam te wzorce. 506 00:22:49,080 --> 00:22:52,020 I ponownie komputer, Twój Intel Inside, 507 00:22:52,020 --> 00:22:54,350 rozumie te wzory zer i jedynek. 508 00:22:54,350 --> 00:22:57,300 A czasem wzór reprezentuje rzeczywistą liczbę dziesiętną 509 00:22:57,300 --> 00:22:59,770 jak widzieliśmy w zeszłym tygodniu, czasami reprezentuje literę 510 00:22:59,770 --> 00:23:02,730 jak widzieliśmy w zeszłym tygodniu, czasami stanowi dyspozycję, 511 00:23:02,730 --> 00:23:05,460 jak drukowanie coś na ekranie. 512 00:23:05,460 --> 00:23:08,782 >> Więc printf dla instance-- ale raczej niech tyłu. 513 00:23:08,782 --> 00:23:11,240 Byliśmy biorąc za pewnik, że te zera i jedynki są 514 00:23:11,240 --> 00:23:14,200 produkowane przez tego uczynić polecenia. 515 00:23:14,200 --> 00:23:16,050 Ale marka nie jest kompilator. 516 00:23:16,050 --> 00:23:19,370 Sprawdź, co nie jest w środku który jest wytwarzania zer i jedynek. 517 00:23:19,370 --> 00:23:23,780 Raczej zrobić jest po prostu bardzo wygodnie nazwie programu, którego celem w życiu 518 00:23:23,780 --> 00:23:27,267 jest w istocie dowiedzieć się, jak skompilować program. 519 00:23:27,267 --> 00:23:29,350 I używamy go w nich Pierwsze tygodnie, bo to po prostu 520 00:23:29,350 --> 00:23:30,910 oszczędza nam wiele kłopotów. 521 00:23:30,910 --> 00:23:34,080 >> Ale to, co się naprawdę robi podczas kompilacji komentarzy, 522 00:23:34,080 --> 00:23:36,690 jest, jak powiedział ostatnio, że to patrząc na dysku twardym 523 00:23:36,690 --> 00:23:40,620 lub w bieżącym folderze, do Plik nazywa się to, co, jak widać? 524 00:23:40,620 --> 00:23:41,815 Hello.c, prawda? 525 00:23:41,815 --> 00:23:43,190 To tylko rodzaj konwencji. 526 00:23:43,190 --> 00:23:45,620 To arbitralne, ale to rzeczy mają. 527 00:23:45,620 --> 00:23:48,620 Dokonać, jeśli tylko podać nazwę programu, który jeszcze nie istnieje, 528 00:23:48,620 --> 00:23:52,200 to będzie wyglądać w kodzie źródłowym w pliku, domyślnie oznacza hello.c. 529 00:23:52,200 --> 00:23:53,530 A jeśli go znajdzie, to świetnie. 530 00:23:53,530 --> 00:23:56,650 To będzie przekształcić to źródło kod do kodu wynikowego dla Ciebie. 531 00:23:56,650 --> 00:23:59,670 >> Ale za każdym razem mam naciśnij Enter po uruchomieniu się witam, 532 00:23:59,670 --> 00:24:03,560 Pamiętasz widząc ostatni razem dość długi i tajemniczy ciąg 533 00:24:03,560 --> 00:24:06,430 z białymi literami i innych znaków na ekranie? 534 00:24:06,430 --> 00:24:11,220 Cóż to była rzeczywista komenda, rzeczywisty kompilator, który został uruchomiony. 535 00:24:11,220 --> 00:24:15,500 Tak więc rzeczywisty kompilator użyjemy większość Semestr jest coś, co nazywa dzyń. 536 00:24:15,500 --> 00:24:19,280 Niektórzy z was mogą być używane Visual Studio przed lub GCC, 537 00:24:19,280 --> 00:24:21,340 lub dowolną liczbą innych kompilatorów. 538 00:24:21,340 --> 00:24:22,620 Użyjemy szczęk. 539 00:24:22,620 --> 00:24:26,950 >> I szczęk pozwala nam rzeczywiście przekształcić że kod źródłowy do kodu wynikowego. 540 00:24:26,950 --> 00:24:29,430 Co to właściwie oznacza w praktyce? 541 00:24:29,430 --> 00:24:33,390 No daj mi odejść do jednego z katalogi z ostatniego czasu. 542 00:24:33,390 --> 00:24:35,760 Wewnątrz urządzenia CS50. 543 00:24:35,760 --> 00:24:42,080 I pozwól mi iść dalej i stworzyć ten sam plik, to Standard I / O dot godz. 544 00:24:42,080 --> 00:24:42,875 Int main nieważne. 545 00:24:42,875 --> 00:24:46,000 I wrócimy w przyszłości jako co int void środki i jakie środki. 546 00:24:46,000 --> 00:24:49,130 Ale teraz zróbmy hello world backslash n, 547 00:24:49,130 --> 00:24:50,500 tak jak to zrobiliśmy na płycie. 548 00:24:50,500 --> 00:24:53,930 >> Pozwól mi zapisać ten plik o nazwie hello.c. 549 00:24:53,930 --> 00:24:58,280 A teraz, czy chcę skompilować ten Could-- I pozwól mi przybliżyć in-- run 550 00:24:58,280 --> 00:25:00,450 Marka komentarzy wejść. 551 00:25:00,450 --> 00:25:02,645 I to znowu był że bardzo tajemniczy wiersz. 552 00:25:02,645 --> 00:25:05,120 Ale teraz przynajmniej jedno słowo prawdopodobnie wyskakuje na ciebie. 553 00:25:05,120 --> 00:25:07,087 Clang to, że linia widzieliśmy wcześniej. 554 00:25:07,087 --> 00:25:10,420 Teraz jest wiele innych rzeczy szczerze że będziemy w nasze ręce fala na dziś. 555 00:25:10,420 --> 00:25:14,020 Ale jest kilka podgrup, kilka znaków tutaj 556 00:25:14,020 --> 00:25:14,907 , które są interesujące. 557 00:25:14,907 --> 00:25:16,490 Ale mam zamiar iść do przodu i to zrobić. 558 00:25:16,490 --> 00:25:18,281 Idę do pierwszego biegu witam, po prostu udowodnić, 559 00:25:18,281 --> 00:25:20,320 że to działa, jak to było w poniedziałek. 560 00:25:20,320 --> 00:25:22,330 Ale teraz mam zamiar usunięcia programu. 561 00:25:22,330 --> 00:25:25,870 I podobnie jak mieliśmy to krótkie nazwy ostatnim razem, 562 00:25:25,870 --> 00:25:29,787 Polecenie do usuwania coś jest rm, usunąć, wprowadzić. 563 00:25:29,787 --> 00:25:31,870 Masz zamiar uzyskać pewne dość tajemnicze pytania. 564 00:25:31,870 --> 00:25:35,210 Trudno uwierzyć, że można zrobić nawet to pytanie trudno zrozumieć. 565 00:25:35,210 --> 00:25:38,100 Ale usunąć plik po prostu regularnie cześć środki chcesz usunąć komentarzy. 566 00:25:38,100 --> 00:25:42,650 >> I mogę śmiało i wpisz y dla tak, Enter, a teraz go nie ma. 567 00:25:42,650 --> 00:25:45,130 Oznacza to teraz jeśli wyczyścić ekran, 568 00:25:45,130 --> 00:25:47,301 że zamiast robi ci się hello-- 569 00:25:47,301 --> 00:25:48,800 wiesz co, ja się w tym dobry. 570 00:25:48,800 --> 00:25:50,690 Zamierzam uruchomić kompilator sam. 571 00:25:50,690 --> 00:25:53,330 Nie potrzebuję jakiegoś programu do dowiedzieć się, co mój plik nazywa. 572 00:25:53,330 --> 00:25:55,370 Napisałem hello.c, ja wiem jak to się nazywa, 573 00:25:55,370 --> 00:25:57,640 Jestem w stanie pisać wyraźnie, że. 574 00:25:57,640 --> 00:26:02,620 Więc mam zamiar iść do przodu i nie Clang hello.c Enter. 575 00:26:02,620 --> 00:26:03,264 >> Wydaje się działać. 576 00:26:03,264 --> 00:26:05,930 I nie ma dodatkowe wyjście, bo dzyń jest kompilator. 577 00:26:05,930 --> 00:26:08,590 To, co się konwersji Kod źródłowy do zer i jedynek. 578 00:26:08,590 --> 00:26:12,870 Więc jeśli teraz zrobić kropkę slash komentarzy Enter, hm. 579 00:26:12,870 --> 00:26:14,630 Nowy komunikat dzisiaj. 580 00:26:14,630 --> 00:26:17,610 Więc bash jest tylko nazwa migający znak zachęty, które używamy. 581 00:26:17,610 --> 00:26:20,360 To jest uproszczeniem, ale na razie to wszystko, to znaczy, 582 00:26:20,360 --> 00:26:21,401 to szybka migać. 583 00:26:21,401 --> 00:26:22,880 A to dlatego, że krzyczy na nas. 584 00:26:22,880 --> 00:26:25,690 >> Nie ma takiego pliku lub katalogu jest trochę bardziej proste. 585 00:26:25,690 --> 00:26:28,190 Ale na pewno zrobiłem ten kod wynikowy. 586 00:26:28,190 --> 00:26:30,930 Ale haczyk jest, że jeśli wpisz polecenie 587 00:26:30,930 --> 00:26:34,650 aby wyświetlić zawartość tego katalogu, który jest co? 588 00:26:34,650 --> 00:26:36,210 Czy na liście. 589 00:26:36,210 --> 00:26:39,332 Jest kilka rzeczy tutaj, niektóre z nich przyszedł wraz z urządzeniem, 590 00:26:39,332 --> 00:26:42,040 jak mój folderu Pulpit, Pobieranie folderów, folderu Dropbox, a wszystkie 591 00:26:42,040 --> 00:26:42,850 że rzeczy. 592 00:26:42,850 --> 00:26:45,410 Ale to, co jest interesujące jest hello.c, które 593 00:26:45,410 --> 00:26:47,286 Stworzyłem chwilą z gedit. 594 00:26:47,286 --> 00:26:49,160 A co najdziwniejsze patrząc nazwę tutaj, 595 00:26:49,160 --> 00:26:53,110 być może, że nie zobaczyć po raz ostatni w ogóle? 596 00:26:53,110 --> 00:26:54,710 >> a.out, prawda? 597 00:26:54,710 --> 00:26:56,920 Więc z powrotem w dzień, to właśnie postanowiłem, że gdy 598 00:26:56,920 --> 00:26:58,760 kompilacji Po raz pierwszy 599 00:26:58,760 --> 00:27:02,360 i nie podać nazwę z pliku, nazwijmy to. 600 00:27:02,360 --> 00:27:05,800 I a.out tylko oznacza to Wyjście z kompilatora. 601 00:27:05,800 --> 00:27:07,790 Więc to jest straszna nazwa dla programu. 602 00:27:07,790 --> 00:27:12,820 Ale w tym logiki, na kropka slash aktualny katalog, slash a.out, 603 00:27:12,820 --> 00:27:16,102 powinno oznaczać, że jest w rzeczywistości moja cześć programu świat. 604 00:27:16,102 --> 00:27:17,560 Teraz trochę rozgrzać ćwiczeń, zbyt. 605 00:27:17,560 --> 00:27:20,420 Jeśli chcę zmienić nazwę tego Plik, okazuje się, że Ciebie 606 00:27:20,420 --> 00:27:23,000 przenieść plik z jednego do drugiego imienia. 607 00:27:23,000 --> 00:27:28,750 Więc mv a.out, a potem Można to nazwać komentarzy Enter. 608 00:27:28,750 --> 00:27:30,940 Więc to jest polecenie Linux. 609 00:27:30,940 --> 00:27:34,370 DOS miał to lat temu, Windows ma okno terminala 610 00:27:34,370 --> 00:27:36,460 jakiegoś, który wygląda jak ten, Linux i Mac 611 00:27:36,460 --> 00:27:38,140 komputery mają ten migający znak zachęty. 612 00:27:38,140 --> 00:27:41,490 Mimo, że większość z nas prawdopodobnie Rzadko, jeśli w ogóle, użyj go. 613 00:27:41,490 --> 00:27:44,590 >> Ale to, co zrobiłem jest prowadzony Program, którego nazwa jest mv 614 00:27:44,590 --> 00:27:47,900 a ja pod warunkiem jej dwa argumenty, że tak powiem. 615 00:27:47,900 --> 00:27:48,630 Dwa wejścia. 616 00:27:48,630 --> 00:27:50,260 a.out jest oryginalna nazwa. 617 00:27:50,260 --> 00:27:51,630 Witam jest nowa nazwa. 618 00:27:51,630 --> 00:27:55,670 Więc jeśli teraz zrobić kropka ukośnik witam, Enter, co istnieje. 619 00:27:55,670 --> 00:28:00,770 A jeśli ja dot slash a.out, czego można się spodziewać mam zobaczyć? 620 00:28:00,770 --> 00:28:02,250 >> Bash, nie ma takiego pliku lub katalogu. 621 00:28:02,250 --> 00:28:03,350 Bo właśnie zmienił nazwę. 622 00:28:03,350 --> 00:28:04,975 Więc to zajmuje trochę przyzwyczaić. 623 00:28:04,975 --> 00:28:06,977 Jednak problemem zestaw 1 Specyfikacja będzie dobrze 624 00:28:06,977 --> 00:28:08,810 trzymać rękę przez niektóre z tych minutae. 625 00:28:08,810 --> 00:28:11,050 Ponieważ jest to pełna rozproszenia intelektualnej 626 00:28:11,050 --> 00:28:12,966 z bardziej interesujące pomysły na strony, które 627 00:28:12,966 --> 00:28:15,310 jest rzeczywiście tworzenie coś z kodem. 628 00:28:15,310 --> 00:28:18,830 Ale zróbmy jedną modyfikację teraz do tego programu. 629 00:28:18,830 --> 00:28:23,150 >> Przypomnijmy, że ostatni raz robiłam coś tak, printf podać swoje imię i nazwisko. 630 00:28:23,150 --> 00:28:25,790 I rzeczywiście, po prostu to zrobił na dużym ekranie nad tam. 631 00:28:25,790 --> 00:28:30,640 A potem zrobiłem łańcuch s dostaje GetString otwarte paren, zamknij paren. 632 00:28:30,640 --> 00:28:33,430 I nawias tylko skrót Zapis na nawiasie. 633 00:28:33,430 --> 00:28:36,460 Więc nie GetString podjąć żadnych argumentów? 634 00:28:36,460 --> 00:28:38,440 Brak wejść, ale to nie wymaga nawiasów, 635 00:28:38,440 --> 00:28:41,830 ponieważ to, co rozgranicza wywołanie funkcji. 636 00:28:41,830 --> 00:28:46,440 >> Więc mam zamiar iść do przodu i starają się uruchomić kompilator o tym programie teraz. 637 00:28:46,440 --> 00:28:50,774 Dzyń hello.c, bo nie zmieniła swoją nazwę na teraz. 638 00:28:50,774 --> 00:28:51,940 I mam kilka błędów. 639 00:28:51,940 --> 00:28:53,570 Miejmy pomniejszyć tutaj. 640 00:28:53,570 --> 00:28:55,420 Gdybym przewijać się znowu, jak powiedziałem ostatnim razem, 641 00:28:55,420 --> 00:28:58,420 do pierwszego, tego samego błędu że mam ostatnio. 642 00:28:58,420 --> 00:29:04,210 Na linii 6 hello.c miałem nierejestrowana ciąg identyfikatora, 643 00:29:04,210 --> 00:29:05,590 nie mam na myśli standard? 644 00:29:05,590 --> 00:29:06,750 Ja nie. 645 00:29:06,750 --> 00:29:10,050 Bo co ma zrobiłem błąd w tym Program, jeśli przypomnieć, od ostatniego razu? 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 Tak, musimy tzw kółka 648 00:29:15,010 --> 00:29:16,510 że będziemy tylko używać przez kilka tygodni. 649 00:29:16,510 --> 00:29:19,480 Ale trzeba wskazać, że również, gdzieś wewnątrz urządzenia, 650 00:29:19,480 --> 00:29:22,720 Jest to plik, który napisaliśmy zaledwie kilka lat temu. 651 00:29:22,720 --> 00:29:26,500 Wewnątrz które są funkcjami jak najwyraźniej getString. 652 00:29:26,500 --> 00:29:35,160 Więc teraz, jeśli wrócę tu, powiększyć, i ponownie uruchomić dzyń hello.c. 653 00:29:35,160 --> 00:29:36,500 Cholera, kolejny błąd. 654 00:29:36,500 --> 00:29:38,590 Ale nie widziałem tego. 655 00:29:38,590 --> 00:29:41,900 >> Ten jest trochę bardziej ezoteryczne, aby dowiedzieć się. 656 00:29:41,900 --> 00:29:46,910 Jest to jednak celowo na ekranie bo chcieliśmy opowiedzieć tę historię. 657 00:29:46,910 --> 00:29:51,280 Po kompilacji hello.c, tak jak obraz z przed zasugerował, 658 00:29:51,280 --> 00:29:54,650 jesteś tylko, że konwersja Kod źródłowy do zer i jedynek. 659 00:29:54,650 --> 00:30:00,340 Teraz pracownicy CS50 kilka lat temu napisał CS50.h i odpowiedniego pliku 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 A my, kilka lat temu, skompilowany te pliki 662 00:30:04,490 --> 00:30:07,290 do pliku, co dzieje się nazywać CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> Lub może być zmieniona kilka różnych rzeczy. 664 00:30:09,180 --> 00:30:11,054 Ale to prosty sposób o tym myśleć. 665 00:30:11,054 --> 00:30:14,960 Więc skompilowany CS50-tych Biblioteka do zer i jedynek. 666 00:30:14,960 --> 00:30:20,340 Ale nigdzie nie mogę określić że chcę połączyć moje zera 667 00:30:20,340 --> 00:30:24,030 i te, dla mojej Hello World Program z zer i jedynek 668 00:30:24,030 --> 00:30:29,760 że personel CS50 stworzony kilka lat temu do jednego pełnego programu. 669 00:30:29,760 --> 00:30:34,100 Wszystko co określa piśmie dzyń hello.c jest skompilować hello.c. 670 00:30:34,100 --> 00:30:38,380 >> Ja nie mówiłem szczęk do Link w zer i jedynek 671 00:30:38,380 --> 00:30:41,650 że personel CS50 utworzony dla Ciebie jakiś czas temu. 672 00:30:41,650 --> 00:30:48,280 Więc jest to łatwo naprawić, kreska l do linku, CS50. 673 00:30:48,280 --> 00:30:52,600 A my znowu zobaczyć niedługo znowu i znowu. 674 00:30:52,600 --> 00:30:54,420 Ale zauważ, teraz nie było żadnych skarg. 675 00:30:54,420 --> 00:30:59,770 Więc teraz, jeśli uruchomię dot ukośnik witam, teraz to działa. 676 00:30:59,770 --> 00:31:03,840 Mimo, że jest trochę mylące ponieważ po prostu odtworzone co plik? 677 00:31:03,840 --> 00:31:05,880 a.out. 678 00:31:05,880 --> 00:31:07,930 >> Więc pozwól mi do tyłu na chwilę. 679 00:31:07,930 --> 00:31:10,900 Program po prostu skompilowany ma trzy linie kodu. 680 00:31:10,900 --> 00:31:14,710 Kiedy wpadłem Witaj, świecie, witaj chwila temu, nie widzę podać swoje imię i nazwisko. 681 00:31:14,710 --> 00:31:17,080 A to dlatego, że prowadził starą wersję programu. 682 00:31:17,080 --> 00:31:22,700 Ale jeśli rzeczywiście uruchomić slash a.out kropka Wpisz, podać swoje imię i nazwisko, Rob, komentarzy, 683 00:31:22,700 --> 00:31:23,370 świat. 684 00:31:23,370 --> 00:31:23,870 Hm. 685 00:31:23,870 --> 00:31:26,110 To jest rodzaj błędu. 686 00:31:26,110 --> 00:31:28,560 Prawdopodobnie chciał powiedzieć Roba, prawda? 687 00:31:28,560 --> 00:31:30,997 Więc co tu się naprawić kodu. 688 00:31:30,997 --> 00:31:31,872 STUDENT: [niesłyszalne]. 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 DAVID MALAN: Dokładnie. 691 00:31:39,290 --> 00:31:43,160 Więc po prostu trzeba zrobić ten ostateczny uszczypnąć tak, że ja przechodząc w zastępczym, 692 00:31:43,160 --> 00:31:45,690 jak wypełnić puste, tak jak my przed chwilą. 693 00:31:45,690 --> 00:31:47,870 Jednak procent s jest że wypełnić puste. 694 00:31:47,870 --> 00:31:52,100 Więc wreszcie niech ujawniają jedną ostatnią szczegóły tak, że nie ma magii. 695 00:31:52,100 --> 00:31:54,090 Mam zamiar iść do przodu i pozbyć Hellow. 696 00:31:54,090 --> 00:31:56,070 Mam zamiar iść do przodu i pozbyć a.out. 697 00:31:56,070 --> 00:31:58,410 Więc teraz nie mam żadnych programów, tylko mój kod źródłowy. 698 00:31:58,410 --> 00:32:01,100 I idę do pracy nieco dłuższy polecenie, dzyń 699 00:32:01,100 --> 00:32:05,650 kreska O witaj hello.c kreska LCS50. 700 00:32:05,650 --> 00:32:08,700 >> Teraz zaczyna to jakby go w jednym uchu i inne być może. 701 00:32:08,700 --> 00:32:10,366 Ale po prostu odciąć, co to robi. 702 00:32:10,366 --> 00:32:14,910 Clang to kompilator, kreska LCS50 celowo na samym końcu 703 00:32:14,910 --> 00:32:18,330 robi to, co w zdaniu? 704 00:32:18,330 --> 00:32:19,607 Linki do biblioteki CS50. 705 00:32:19,607 --> 00:32:21,440 Chwyta zera i Te, które pracownicy wykonane 706 00:32:21,440 --> 00:32:23,310 i crams je do mojego programu. 707 00:32:23,310 --> 00:32:27,040 Tak więc ostatnie pytanie pod ręką jest, co to jest kreska o cześć prawdopodobnie 708 00:32:27,040 --> 00:32:30,530 robi, nawet jeśli nigdy wcześniej nie widziałem tej składni przed? 709 00:32:30,530 --> 00:32:34,920 >> Wyprowadzanie programu, który jest nie nazwany domyślny a.out. 710 00:32:34,920 --> 00:32:37,330 Raczej nie jest to nazwane komentarzy. 711 00:32:37,330 --> 00:32:39,460 Więc teraz nie ma a.out. 712 00:32:39,460 --> 00:32:42,660 Nie ma takiego pliku lub katalogu, bo wyraźnie powiedział 713 00:32:42,660 --> 00:32:46,720 wywołać ten program cześć, tak że Mogę teraz wpisać nazwę takiego 714 00:32:46,720 --> 00:32:47,790 i mają zachowywać. 715 00:32:47,790 --> 00:32:50,180 >> Teraz szczerze mówiąc, jest to, że chłopak nieciekawe mieć 716 00:32:50,180 --> 00:32:52,170 pamiętać, że wszystkie trochę minucja, prawda? 717 00:32:52,170 --> 00:32:54,180 Więc idź naprzód i pozbyć Witam ponownie. 718 00:32:54,180 --> 00:32:57,880 I niech teraz powrócić do świata, w które wystarczy powiedzieć, aby przywitać. 719 00:32:57,880 --> 00:33:00,410 Ale to jest magia, która się robi dla Ciebie, 720 00:33:00,410 --> 00:33:02,320 to nuda, że to robi dla Ciebie. 721 00:33:02,320 --> 00:33:04,630 I jak nasze programy i Problemy się bardziej złożone, 722 00:33:04,630 --> 00:33:06,142 Marka będzie naprawdę być twoim przyjacielem. 723 00:33:06,142 --> 00:33:07,850 Bo nie za długo od teraz będziemy 724 00:33:07,850 --> 00:33:11,150 mieć programy, które są zapisywane nie z jednego pliku, ale kilka plików, 725 00:33:11,150 --> 00:33:16,310 i uczynić będzie zautomatyzować proces kompilacji wszystko to dla nas razem. 726 00:33:16,310 --> 00:33:20,620 >> Więc teraz drukować. 727 00:33:20,620 --> 00:33:24,960 printf jest w środku tego pliku, średnia I / O kropka h, które widzieliśmy wcześniej, 728 00:33:24,960 --> 00:33:26,980 ale nie więcej niż do printf. 729 00:33:26,980 --> 00:33:30,482 Jest backslash n, ale nie ma też kilka innych sekwencji specjalnych. 730 00:33:30,482 --> 00:33:32,940 I sekwencja ucieczki jest po prostu fantazyjny sposób na powiedzenie czegoś 731 00:33:32,940 --> 00:33:35,990 że zaczyna się odwrotnym ukośnikiem, nie ukośnik, backslash, 732 00:33:35,990 --> 00:33:37,920 i robi jakieś specjalne rzeczy. 733 00:33:37,920 --> 00:33:43,770 I nie będziemy mieszkać na większość z nich, ale dlaczego jest interpretacja odwrotnego ukośnika podwójny cudzysłów, 734 00:33:43,770 --> 00:33:44,830 o tym sądzisz? 735 00:33:44,830 --> 00:33:48,010 Dlaczego jest to dziwne, sekwencja znaków, backslash cudzysłów, 736 00:33:48,010 --> 00:33:50,505 dlatego, że może być przydatne? 737 00:33:50,505 --> 00:33:51,380 STUDENT: [niesłyszalne]. 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 DAVID MALAN: Dokładnie, tak? 740 00:33:57,760 --> 00:34:01,830 Wróć myślami do naszego programu hello world które widzieliśmy kilka razy teraz, 741 00:34:01,830 --> 00:34:05,880 każdym razem, kiedy widziałem, że Hello World Program mieliśmy cudzysłowów wewnątrz 742 00:34:05,880 --> 00:34:08,210 z których cześć jest przecinek Świat backslash n. 743 00:34:08,210 --> 00:34:10,070 Ale myślę sobie, Co zrobić, jeśli rzeczywiście 744 00:34:10,070 --> 00:34:12,520 chciał wydrukować cudzysłów? 745 00:34:12,520 --> 00:34:16,100 Twój może być pierwszy instynkt, ja nie wiem dlaczego może chcę do-- tutaj, 746 00:34:16,100 --> 00:34:18,780 możemy być trochę pasywny agresywne, witaj przyjacielu. 747 00:34:18,780 --> 00:34:21,350 Może chcemy zrobić coś takiego. 748 00:34:21,350 --> 00:34:25,230 >> Ale dlaczego to jest teraz problem? 749 00:34:25,230 --> 00:34:28,730 Ignorując cudzysłowy na bok, że Keynote automatycznie wykonane przez nas. 750 00:34:28,730 --> 00:34:29,730 Dlaczego jest to problem? 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> Dokładnie. 753 00:34:37,270 --> 00:34:39,022 Ponieważ mamy jak 4 cudzysłowie. 754 00:34:39,022 --> 00:34:41,230 Cóż prawdopodobnie pierwsza idzie w parze z drugim, 755 00:34:41,230 --> 00:34:43,271 a może czwarty idzie z trzeciego, 756 00:34:43,271 --> 00:34:46,170 lub, to znaczy, że nie jestem nawet pewien, ani to komputer będzie. 757 00:34:46,170 --> 00:34:48,352 Ponownie komputery, kompilatory ponownie, są dość głupie. 758 00:34:48,352 --> 00:34:50,060 Zrobią tylko co powiedz im to zrobić. 759 00:34:50,060 --> 00:34:54,270 A jeśli nie jesteś ich jednoznaczne Prawdopodobnie będzie rzucał błąd. 760 00:34:54,270 --> 00:34:57,700 >> Jeśli nie jesteś jednoznaczne co do sposobu zrobić masło orzechowe i galaretce kanapek 761 00:34:57,700 --> 00:34:59,510 dziwne rzeczy może przyjechać. 762 00:34:59,510 --> 00:35:00,580 To ten sam pomysł. 763 00:35:00,580 --> 00:35:03,100 Teraz wystarczy powiedzieć nie inne znaki specjalne, 764 00:35:03,100 --> 00:35:04,820 ale my się do tych, przed długo. 765 00:35:04,820 --> 00:35:07,410 Zasadniczo te ucieczki Sekwencje reprezentują coś 766 00:35:07,410 --> 00:35:10,480 że może nie być w stanie zbyt łatwo na klawiaturze 767 00:35:10,480 --> 00:35:12,010 bez mylące komputer. 768 00:35:12,010 --> 00:35:15,733 >> Teraz zaś mamy zastępcze w printf. 769 00:35:15,733 --> 00:35:19,630 Procent d, które mogą być również zapisywane W prawie wszystkich przypadkach, w procentach i, 770 00:35:19,630 --> 00:35:21,610 jest symbolem zastępczym dla jakiego typu danych? 771 00:35:21,610 --> 00:35:23,920 Jaki rodzaj wartości? 772 00:35:23,920 --> 00:35:24,920 Liczba po przecinku. 773 00:35:24,920 --> 00:35:27,234 Więc faktycznie zaczniemy stosując procent I dlatego, że jest 774 00:35:27,234 --> 00:35:28,650 trochę prostsze, jak całkowita. 775 00:35:28,650 --> 00:35:29,550 Procent i. 776 00:35:29,550 --> 00:35:31,320 Całkowita, która dzieje się po przecinku. 777 00:35:31,320 --> 00:35:35,690 >> Procent a już mówi się zastępczym ciągu znaków. 778 00:35:35,690 --> 00:35:38,630 Który jest tylko słowo, zdanie, pkt, esej, cokolwiek. 779 00:35:38,630 --> 00:35:40,830 Jest to sekwencja postacie z jakiejś długości. 780 00:35:40,830 --> 00:35:42,820 I zobaczymy niedługo Niektóre z tych innych. 781 00:35:42,820 --> 00:35:45,950 Ale procent c jest dla pojedynczego znaku. 782 00:35:45,950 --> 00:35:48,500 Procent f jest liczbę zmiennoprzecinkową, 783 00:35:48,500 --> 00:35:50,860 jak prawdziwy numer, który ma przecinka w tym, co 784 00:35:50,860 --> 00:35:52,550 nie jest oczywiście całkowitą. 785 00:35:52,550 --> 00:35:54,670 I jest cała grono innych. 786 00:35:54,670 --> 00:35:56,990 >> Tymczasem, w C, w wielu językach, 787 00:35:56,990 --> 00:35:58,650 mamy różne rodzaje danych. 788 00:35:58,650 --> 00:36:00,650 Różne rodzaje szklane misy, jeśli będzie. 789 00:36:00,650 --> 00:36:03,830 Miskę Kiedyś ostatni raz był dla piłek do ping-ponga, 790 00:36:03,830 --> 00:36:06,990 ale możemy również przechowywać różne wartości, jak i ciągi znaków 791 00:36:06,990 --> 00:36:10,820 i całkowite w pojemniku jak zmienna i C ma te. 792 00:36:10,820 --> 00:36:14,020 Char jest typem danych, typ zmiennej 793 00:36:14,020 --> 00:36:15,700 , w którym można przechowywać charakter. 794 00:36:15,700 --> 00:36:19,560 Pływak jest typ zmiennej w które można zapisać liczbę rzeczywistą. 795 00:36:19,560 --> 00:36:21,220 >> Int jest oczywiście dla wew. 796 00:36:21,220 --> 00:36:23,760 I raczej śmiesznie nazwany długo długo 797 00:36:23,760 --> 00:36:26,830 to gdzie można przechowywać w zasadzie bardzo długi numer, z jeszcze 798 00:36:26,830 --> 00:36:29,930 więcej cyfr, a następnie Typowy sklep mógłby int. 799 00:36:29,930 --> 00:36:32,420 Ale wrócimy do tego niebawem. 800 00:36:32,420 --> 00:36:35,520 >> W CS50 dot godziny w międzyczasie inny plik nagłówka 801 00:36:35,520 --> 00:36:37,630 które widzieliśmy kilka razy w użytku, nie 802 00:36:37,630 --> 00:36:41,350 Dwa inne typy danych, które nie istnieją w C zazwyczaj. 803 00:36:41,350 --> 00:36:45,000 Jednym z nich jest łańcuch, a my zobaczymy w Co kilka tygodni naprawdę łańcuchy 804 00:36:45,000 --> 00:36:46,610 się pod wyciągiem. 805 00:36:46,610 --> 00:36:47,950 I jeden jest bool. 806 00:36:47,950 --> 00:36:51,650 I bool jest zmienna może tylko w niektórych wartości. 807 00:36:51,650 --> 00:36:54,370 I właśnie na podstawie zeszłotygodniowej wyjaśnienie podstaw, 808 00:36:54,370 --> 00:36:56,680 a ostatnio C co by się domyślić, 809 00:36:56,680 --> 00:37:01,770 są dwie możliwe wartości że jest jakiś pojemnik typu bool? 810 00:37:01,770 --> 00:37:02,860 >> Tak i nie. 811 00:37:02,860 --> 00:37:03,870 Jedynką i zerem. 812 00:37:03,870 --> 00:37:04,502 Prawdziwe, czy fałszywe. 813 00:37:04,502 --> 00:37:07,460 I rzeczywiście jest to ostatni, który ma tendencję być konwencjonalny programowaniem 814 00:37:07,460 --> 00:37:10,030 język, mówiąc coś jak prawdziwe lub fałszywe. 815 00:37:10,030 --> 00:37:13,160 >> Tymczasem przychodzi biblioteka CS50 z wieloma funkcjami 816 00:37:13,160 --> 00:37:16,640 że personel napisał dla Ciebie, Poza tym dopiero się ciąg. 817 00:37:16,640 --> 00:37:20,910 Napisaliśmy, że w funkcji zaliczek może uzyskać liczbę całkowitą od użytkownika, 818 00:37:20,910 --> 00:37:22,990 się pojedynczy znak, się pływaka, że 819 00:37:22,990 --> 00:37:25,160 Jest to tylko numer z przecinku. 820 00:37:25,160 --> 00:37:28,290 Pobierz długo długo, naprawdę duża wartość dla użytkownika. 821 00:37:28,290 --> 00:37:30,930 Więc widzieliśmy tylko w ten działania w postaci getString. 822 00:37:30,930 --> 00:37:33,230 Ale przez te funkcje wkrótce będzie w stanie napisać 823 00:37:33,230 --> 00:37:36,070 Programy, które się danych od użytkownika. 824 00:37:36,070 --> 00:37:39,230 >> Tymczasem pod tym Program, i rozważyć 825 00:37:39,230 --> 00:37:42,600 jak możemy teraz zacząć dodawać się to z nowymi konstrukcjami. 826 00:37:42,600 --> 00:37:44,530 Szybkie zwiedzanie wicher a potem zobaczymy 827 00:37:44,530 --> 00:37:47,340 w niektórych pisanie niektórych programy ręcznie siebie. 828 00:37:47,340 --> 00:37:49,700 Stąd, jeśli chcemy wprowadzić warunku 829 00:37:49,700 --> 00:37:52,790 to nie będzie wyglądać ładny, mały ładny kawałek układanki. 830 00:37:52,790 --> 00:37:54,460 To będzie wyglądać trochę bardziej zaawansowanych. 831 00:37:54,460 --> 00:37:57,620 Ale to jest kanoniczny Struktura stanu w C. 832 00:37:57,620 --> 00:38:00,380 >> Słowo, jeśli dwa nawiasów, wewnątrz 833 00:38:00,380 --> 00:38:02,590 będzie jakiś z wyrażenia Boolean. 834 00:38:02,590 --> 00:38:04,999 Teraz ukośnik ukośnik w środku, to jest 835 00:38:04,999 --> 00:38:07,290 w tej chwili coś w rodzaju Kod pseudokod zastępczy. 836 00:38:07,290 --> 00:38:11,576 Ale właściwie, każda linia kodu w C, który zaczyna się ukośnik ukośnik 837 00:38:11,576 --> 00:38:12,850 jest komentarz. 838 00:38:12,850 --> 00:38:15,920 >> To jak karteczki, które mógłby umieścić na esej, drukowane na papierze. 839 00:38:15,920 --> 00:38:17,290 To uwaga do siebie. 840 00:38:17,290 --> 00:38:20,100 To nie ma funkcjonalny Wpływ na programu. 841 00:38:20,100 --> 00:38:23,580 To coś w rodzaju przypomnienia, to twoja dokumentacji, co się dzieje. 842 00:38:23,580 --> 00:38:25,720 Tak jak to w tej chwili jest coś w rodzaju zastępczego 843 00:38:25,720 --> 00:38:27,560 na co jest w środku tych klamrach 844 00:38:27,560 --> 00:38:29,810 w końcu będzie coś zrobić. 845 00:38:29,810 --> 00:38:35,160 >> Tymczasem masz dwa widelce w Droga, jeśli jeszcze skonstruować tak. 846 00:38:35,160 --> 00:38:37,024 Możesz, jeśli, elseif, else. 847 00:38:37,024 --> 00:38:39,690 Teraz warto zauważyć, zwłaszcza jeśli już Googling wokół 848 00:38:39,690 --> 00:38:42,480 online dla zasobów spośród ciekawość, lub jeśli podnieść 849 00:38:42,480 --> 00:38:44,575 jednym z przedmiotów jest Polecane książki o C, 850 00:38:44,575 --> 00:38:48,430 widać, że ludzie mają wiele o różne preferencje, jak 851 00:38:48,430 --> 00:38:50,510 wypowiadania się w kodzie. 852 00:38:50,510 --> 00:38:53,800 Niektórzy ludzie lubią, aby umieścić nawiasy klamrowe jak zrobiłem tutaj. 853 00:38:53,800 --> 00:38:57,760 Niektórzy ludzie lubią umieścić kręcone szelki na przykład tutaj. 854 00:38:57,760 --> 00:39:01,700 >> Niektórzy ludzie lubią umieścić elses się tutaj, a następnie to tutaj. 855 00:39:01,700 --> 00:39:05,120 Nie na wiele sposobów, aby Kod zapisu, i żaden z nich nie 856 00:39:05,120 --> 00:39:06,566 rację per se. 857 00:39:06,566 --> 00:39:08,440 Chociaż istnieje kilka że są całkiem złe. 858 00:39:08,440 --> 00:39:11,315 Ale istnieje nie-- jeśli jest ostatecznie debata bardzo religijny. 859 00:39:11,315 --> 00:39:13,940 W rzeczywistości, jeden z najbardziej irytujących rzeczy o informatyce 860 00:39:13,940 --> 00:39:16,310 jest jak uparty informatycy mogą być. 861 00:39:16,310 --> 00:39:19,880 A znajdziesz się w czasie, że nawet rozwijać osobiste preferencje 862 00:39:19,880 --> 00:39:22,130 , jak Twój kod powinien wyglądać. 863 00:39:22,130 --> 00:39:27,162 >> Nie tylko zachowywać, a nie tylko tworzenie kopii, ale jak to powinno wyglądać estetycznie. 864 00:39:27,162 --> 00:39:30,120 Więc co możemy zrobić, to Cię wzdłuż droga w kierunku, przynajmniej na razie, 865 00:39:30,120 --> 00:39:34,825 średnia stylu CS50, że co najmniej utrzymuje rzeczy jednolity i łatwy do odczytania. 866 00:39:34,825 --> 00:39:37,330 Ale o tych, wyróżnienia przed długi. 867 00:39:37,330 --> 00:39:41,830 >> Wyrażenie logiczne w C, jeśli Ciebie chciał powiedzieć, czy ten warunek jest spełniony 868 00:39:41,830 --> 00:39:44,650 i ten drugi warunek jest prawda, nie napisać słowo 869 00:39:44,650 --> 00:39:46,610 i, tak jak w języku angielskim. 870 00:39:46,610 --> 00:39:50,580 Zamiast tego użyć ampersand ampersanda, z powodów wrócimy do. 871 00:39:50,580 --> 00:39:54,520 Jeśli chcesz powiedzieć lub używać dwóch pionowe pasy, które na klawiaturze US 872 00:39:54,520 --> 00:39:57,650 jest na ogół powyżej Enter klucz obok backslash. 873 00:39:57,650 --> 00:40:03,080 A to po prostu oznacza, że ​​jeśli tego warunku albo ten drugi warunek jest spełniony to zrobić. 874 00:40:03,080 --> 00:40:05,210 >> Tymczasem jest to szalona rzecz, która 875 00:40:05,210 --> 00:40:07,760 będziesz miał okazję raz na jakiś czas używać. 876 00:40:07,760 --> 00:40:10,390 Ale to tylko alternatywa sposób wyrazić siebie. 877 00:40:10,390 --> 00:40:12,400 To, na razie, niech zastrzec, że to tylko 878 00:40:12,400 --> 00:40:16,880 kolejny modny sposób wyrażania jeśli, elseif, elseif, elseif, elseif. 879 00:40:16,880 --> 00:40:19,720 To tylko sformatowane w kategoriach przypadków, w których dosłownie 880 00:40:19,720 --> 00:40:23,420 wyliczyć wartości, które warto sprawdzić. 881 00:40:23,420 --> 00:40:24,410 >> Tymczasem pętle. 882 00:40:24,410 --> 00:40:26,842 Widzieliśmy porównanie Scratch z pętlą. 883 00:40:26,842 --> 00:40:29,550 I mam zamiar pomachać ręką na co każda z tych rzeczy oznacza. 884 00:40:29,550 --> 00:40:33,520 Ale zauważ, że pętla będzie bardzo często rozpoczyna się od słów kluczowych dla. 885 00:40:33,520 --> 00:40:36,350 Lub rozpocznie się czas kluczowym. 886 00:40:36,350 --> 00:40:41,360 Albo zacznie się od słowa kluczowego zrobić, a kończy się na chwilę kluczowego. 887 00:40:41,360 --> 00:40:43,920 >> Ale to, co mamy zamiar zobaczyć to rzeczy podobne. 888 00:40:43,920 --> 00:40:47,950 Oto, w ogóle w C, jak to polubisz zadeklarować zmienną i nadać mu wartość. 889 00:40:47,950 --> 00:40:50,610 W C nie wystarczy, jak w początku, po prostu 890 00:40:50,610 --> 00:40:52,810 powiedzieć mi coś o zmiennej nazwie. 891 00:40:52,810 --> 00:40:55,960 Musisz powiedzieć C, i powiedz kompilator, bardziej szczegółowo, 892 00:40:55,960 --> 00:40:58,680 jaki rodzaj wartości prawda chcesz umieścić w szklanej misce. 893 00:40:58,680 --> 00:40:59,610 >> Jest liczbą całkowitą? 894 00:40:59,610 --> 00:41:02,210 Jeśli tak, to musisz dosłownie powiedzieć, int, a następnie 895 00:41:02,210 --> 00:41:04,220 Nazwa zmiennej następnie średnik. 896 00:41:04,220 --> 00:41:08,050 Jeśli zamiast tego chciał ciąg i nazwał to s jak ja mój kod tutaj dzisiaj, 897 00:41:08,050 --> 00:41:10,920 powiedziałbyś String s średnik. 898 00:41:10,920 --> 00:41:14,200 Gdy chcesz, aby nadać mu wartość można użyć znaku równości, 899 00:41:14,200 --> 00:41:16,211 zwie operator przypisania. 900 00:41:16,211 --> 00:41:17,960 I zauważyć, jak każdy tych linii kodu 901 00:41:17,960 --> 00:41:20,650 posiada średnik na końcu. 902 00:41:20,650 --> 00:41:22,550 >> Ale szczerze mówiąc to tylko wygląda trochę brzydki. 903 00:41:22,550 --> 00:41:26,580 Dlaczego nie mogę powiedzieć do komputera, dają ja zmienna i zainicjować go do zera. 904 00:41:26,580 --> 00:41:28,380 Oznacza to, że dał mi pustą szklaną miskę. 905 00:41:28,380 --> 00:41:28,980 Póki możesz. 906 00:41:28,980 --> 00:41:32,250 I tak jeden z wyroku zwraca będziesz trzeba wprowadzać z czasem stylistycznie 907 00:41:32,250 --> 00:41:36,290 jest, piszesz kod jak poniżej, lub masz trochę posprzątać i zaimponować 908 00:41:36,290 --> 00:41:39,040 ludzie pisząc dwie linie jako jednego. 909 00:41:39,040 --> 00:41:41,830 A to uznać ogólnie bardziej elegancki sposób 910 00:41:41,830 --> 00:41:43,870 pisania kodu stylistycznie. 911 00:41:43,870 --> 00:41:45,200 >> Funkcje jesteśmy oczywiście widziałem. 912 00:41:45,200 --> 00:41:46,340 Zamierzają zabrać ten format. 913 00:41:46,340 --> 00:41:48,881 Nazwa funkcji niektórych nawiasie, a następnie być może niektóre 914 00:41:48,881 --> 00:41:49,910 rzeczy wewnątrz. 915 00:41:49,910 --> 00:41:52,540 Lub można zobaczyć zastosowania Wielorakie funkcje po stronie 916 00:41:52,540 --> 00:41:55,980 przez strony, jak coś takiego. 917 00:41:55,980 --> 00:41:59,390 Teraz jako stycznej, nie to żart, teraz ma sens? 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [Śmiech] 920 00:42:04,960 --> 00:42:09,360 To nie znaczy, że to śmieszne, ale to nie może zarobić trochę więcej sensu. 921 00:42:09,360 --> 00:42:12,140 Teraz idziemy do Urządzenie CS50 chwilę. 922 00:42:12,140 --> 00:42:14,640 I pozwól mi otworzyć jeden zwiastun tutaj. 923 00:42:14,640 --> 00:42:17,470 >> I rzeczywiście jedna z przyczyn Katalog IKEA na wprowadzenie 924 00:42:17,470 --> 00:42:20,080 i migający obraz iPhone nieco temu 925 00:42:20,080 --> 00:42:24,700 było faktycznie powiązać razem Fakt, że zaledwie kilka lat temu, w 2007 roku, 926 00:42:24,700 --> 00:42:26,540 ten kawałek kodu był zwolniony, który został 927 00:42:26,540 --> 00:42:29,820 jedna z pierwszych realizacji kawałek oprogramowania 928 00:42:29,820 --> 00:42:31,494 że robi to, co się nazywa jailbreaking. 929 00:42:31,494 --> 00:42:34,410 Dla osób niezaznajomionych, jailbreaking coś w telefonie lub iPhone 930 00:42:34,410 --> 00:42:37,680 oznacza w istocie dowiedzieć się, jak robić rzeczy, 931 00:42:37,680 --> 00:42:39,864 z tym, że firma , który sprawiał, że nie zamierza. 932 00:42:39,864 --> 00:42:42,780 Jak chcesz zainstalować pewne oprogramowanie, które nie jest w App Store, 933 00:42:42,780 --> 00:42:45,405 jailbreaking telefonu, który robisz takich rzeczy i więcej. 934 00:42:45,405 --> 00:42:47,447 Ale to, co było zabawne w 2007-- i nie było 935 00:42:47,447 --> 00:42:49,780 dziesiątki różnych wersjach z tych rzeczy, od tego czasu, 936 00:42:49,780 --> 00:42:53,540 w różnego rodzaju languages-- jest to, że ten program tutaj, zwany iUnlock, 937 00:42:53,540 --> 00:42:57,036 został faktycznie napisany w C. I tak zatrzymał się kod źródłowy do tego, 938 00:42:57,036 --> 00:42:59,910 tylko rodzaj pokazać niektóre z podobieństwa z konstruktów 939 00:42:59,910 --> 00:43:01,450 my omawialiśmy do tej pory. 940 00:43:01,450 --> 00:43:05,150 Teraz jest o wiele bardziej złożony tutaj niż widzieliśmy już w klasie. 941 00:43:05,150 --> 00:43:07,160 Pozwól mi przejść się tylko trochę tutaj. 942 00:43:07,160 --> 00:43:11,520 >> Ale zauważ these-- dobrze zauważamy kilka things-- nie zauważyć tych linii tutaj, 943 00:43:11,520 --> 00:43:14,090 w tym Standard I / O dot godz. 944 00:43:14,090 --> 00:43:17,660 I all-- linia 24, please-- zawiadomienia Standard I / O 945 00:43:17,660 --> 00:43:21,380 punkt H i cała masa innych Pliki, które najwyraźniej inni 946 00:43:21,380 --> 00:43:22,160 napisałem. 947 00:43:22,160 --> 00:43:24,850 A jeśli przewinąć w dół to trochę arbitralny, 948 00:43:24,850 --> 00:43:27,910 Zauważ, że nie wiem, jak napisać wszystko to jednak ja zawsze, 949 00:43:27,910 --> 00:43:28,880 ale nie wtedy, gdy. 950 00:43:28,880 --> 00:43:30,400 Więc najwyraźniej ma oddział. 951 00:43:30,400 --> 00:43:33,210 >> A jeśli trochę przewinąć w dół dalej jest jeszcze jeden, jeśli. 952 00:43:33,210 --> 00:43:38,210 Gdybym przewijania w górę, myślę, wokół linii 100 widziałem na. 953 00:43:38,210 --> 00:43:40,020 Więc nie jestem pewien, jak jeszcze to działa, 954 00:43:40,020 --> 00:43:43,180 ale to jest na pętli, która będzie pozwól mi iteracyjne jakąś liczbę razy. 955 00:43:43,180 --> 00:43:45,230 A jeśli przewinąć wszystkie aż do dna 956 00:43:45,230 --> 00:43:51,020 Widzę, że nie ma działało tu nazywane 957 00:43:51,020 --> 00:43:54,570 Głównym, i kilka dodatkowych kredytów dla przyjemności czytania. 958 00:43:54,570 --> 00:43:57,830 >> Więc to jest tylko say-- a my umieścić to w Internecie wśród źródła kursu w 959 00:43:57,830 --> 00:44:01,480 Kod today-- że nawet niektóre z nich Urządzenia, które bierzemy za pewnik, 960 00:44:01,480 --> 00:44:05,130 na koniec dnia nadal jesteś korzystania z tych podstawowych elementów, na które mamy 961 00:44:05,130 --> 00:44:07,430 było wprowadzenie już do tej pory. 962 00:44:07,430 --> 00:44:08,620 To tyle z tego. 963 00:44:08,620 --> 00:44:11,480 Dobrze, więc teraz niech faktycznie zbudować coś. 964 00:44:11,480 --> 00:44:15,640 >> Chodźmy poza czymś takim hello.c i otwarcie to, 965 00:44:15,640 --> 00:44:17,170 napiszmy program tutaj. 966 00:44:17,170 --> 00:44:19,850 Mam zamiar iść do przodu i Napisać program o nazwie adder.c, 967 00:44:19,850 --> 00:44:23,310 którego celem w życiu będzie jak mój pierwszy bardzo prosty kalkulator 968 00:44:23,310 --> 00:44:24,840 że po prostu dodaje kilka liczb. 969 00:44:24,840 --> 00:44:27,050 Nie dlatego, że jest ciężko problem, ale dlatego, że 970 00:44:27,050 --> 00:44:29,390 Pozwala mi to teraz powiązać ze sobą kilka rzeczy. 971 00:44:29,390 --> 00:44:33,100 Więc mam zamiar iść do przodu i obejmują Standard I / O i CS50 kropka kropka h h. 972 00:44:33,100 --> 00:44:34,670 Idę powiedzieć int main pustkę. 973 00:44:34,670 --> 00:44:36,545 I ponownie w przyszłości wrócimy do tego 974 00:44:36,545 --> 00:44:38,560 się w tym kontekście i utratę środków. 975 00:44:38,560 --> 00:44:43,340 >> A teraz mam zamiar coś powiedzieć jak printf, dają mi całkowitą. 976 00:44:43,340 --> 00:44:47,610 A teraz na mojej drugiej linii, jak mogę wyrazić siebie takie 977 00:44:47,610 --> 00:44:50,980 że chcę zadeklarować zmienną że będzie przechowywać int? 978 00:44:50,980 --> 00:44:55,470 Dosłownie co mam wpisać, jeśli chcę utworzyć zmienną, która przechowuje int 979 00:44:55,470 --> 00:44:58,270 można by powiedzieć? 980 00:44:58,270 --> 00:44:59,650 int równa getint. 981 00:44:59,650 --> 00:45:00,485 Jasne więc, że działa. 982 00:45:00,485 --> 00:45:02,360 I właśnie dla spójności z kodem będziesz 983 00:45:02,360 --> 00:45:04,485 zobacz online, pozwól mi zmienić to x, tylko dlatego, że x 984 00:45:04,485 --> 00:45:06,830 jest wspólna nazwa zmiennej używać przynajmniej algebraicznie. 985 00:45:06,830 --> 00:45:08,720 Teraz pozwól mi iść do przodu i nie printf ponownie. 986 00:45:08,720 --> 00:45:10,692 Daj mi jeszcze całkowitą. 987 00:45:10,692 --> 00:45:12,900 A teraz idę do rodzaju z uczenia się od tego wzoru, 988 00:45:12,900 --> 00:45:14,490 Idę powiedzieć int y dostaje GetInt. 989 00:45:14,490 --> 00:45:16,340 >> I nie używałem GetInt wcześniej, ale po prostu 990 00:45:16,340 --> 00:45:19,860 jak GetString idzie i dostaje ciąg, jak Javier sam z publicznością, 991 00:45:19,860 --> 00:45:22,780 Podobnie robi GetInt zacznie migać monitu. 992 00:45:22,780 --> 00:45:26,750 I skutecznie czeka na użytkownika dać mu liczbę całkowitą, wpisując go w 993 00:45:26,750 --> 00:45:27,900 i nacisnąć Enter. 994 00:45:27,900 --> 00:45:30,850 Teraz wreszcie mam zamiar zrobić tego, printf sumę of-- 995 00:45:30,850 --> 00:45:36,080 i niech mi ochotę teraz-- procent i oraz procent i jest obecny 996 00:45:36,080 --> 00:45:39,270 i wykrzyknik backslash n. 997 00:45:39,270 --> 00:45:42,750 A co ty myślisz, że zamierzam wprowadzić teraz jako dodatkowe wejścia 998 00:45:42,750 --> 00:45:44,620 do printf? 999 00:45:44,620 --> 00:45:47,380 >> Nie chcę powiedzieć, dosłownie cytatu x. 1000 00:45:47,380 --> 00:45:52,210 Chcę w X i klasy wtedy, a teraz przejdźmy fantazyjne 1001 00:45:52,210 --> 00:45:54,420 i niech po prostu założyć, możemy robić, co chcemy. 1002 00:45:54,420 --> 00:45:56,330 Co chcesz powiedzieć dalej? 1003 00:45:56,330 --> 00:45:57,070 x dodać y. 1004 00:45:57,070 --> 00:45:58,520 I rzeczywiście, że będzie działać. 1005 00:45:58,520 --> 00:46:01,760 Jest minimalnie języków programowania rozumiem podstawowe działania arytmetyczne, 1006 00:46:01,760 --> 00:46:03,500 i tak to powinno w rzeczywistości praca. 1007 00:46:03,500 --> 00:46:06,730 >> Więc pozwól mi iść do przodu i rób dodatek w moim czarnym i białym oknie 1008 00:46:06,730 --> 00:46:08,090 tu, Enter. 1009 00:46:08,090 --> 00:46:10,830 Cryptic linia, ale nie błąd wiadomość, więc to jest dobre. 1010 00:46:10,830 --> 00:46:14,410 Dot slash adder, dają mi całkowitą, 1. 1011 00:46:14,410 --> 00:46:16,230 Daj mi jeszcze jedną liczbę całkowitą, 2. 1012 00:46:16,230 --> 00:46:18,770 Suma 1 i 2 jest 3. 1013 00:46:18,770 --> 00:46:21,730 >> W porządku, więc dość banalna programu, ale co to się robi? 1014 00:46:21,730 --> 00:46:25,680 To pozwoliło mi użyć funkcji zadzwoń tutaj, wywołać inną funkcję tutaj, 1015 00:46:25,680 --> 00:46:29,260 dwie rozmowy, a do GetInt trzecie zaproszenie do printf, 1016 00:46:29,260 --> 00:46:30,720 a następnie za pomocą tych symboli zastępczych. 1017 00:46:30,720 --> 00:46:33,160 Więc jest to trochę bardziej wyrafinowane niż ostatnim razem. 1018 00:46:33,160 --> 00:46:35,260 Ale co, jeśli chcę trochę hodowcy? 1019 00:46:35,260 --> 00:46:38,900 >> Pozwólcie mi iść do przodu i teraz to zrobić. 1020 00:46:38,900 --> 00:46:42,890 Pozwólcie mi iść do przodu i tworzyć nowy plik o nazwie warunki zera. 1021 00:46:42,890 --> 00:46:44,890 I mam zamiar zapisać jakiś czas ze względu na klasy 1022 00:46:44,890 --> 00:46:48,260 i po prostu wkleić, że Kod jako punktu startowego. 1023 00:46:48,260 --> 00:46:51,510 A teraz jestem po prostu zamiar umieścić coś nowego się tu w środku. 1024 00:46:51,510 --> 00:46:55,889 Więc printf Chciałbym liczbę całkowitą proszę. 1025 00:46:55,889 --> 00:46:58,180 A wszystko to dostępne jest kod na stronie kursu, w 1026 00:46:58,180 --> 00:47:00,556 nie musisz wpisać to wszystko w klasie, jeśli raczej nie. 1027 00:47:00,556 --> 00:47:02,638 int, i teraz mam zamiar używać zamiast x i y, 1028 00:47:02,638 --> 00:47:05,270 Zamierzam użyć n, która jest prawdopodobnie najczęściej nazwę 1029 00:47:05,270 --> 00:47:09,220 o oznacza liczbę całkowitą w programie komputerowym. 1030 00:47:09,220 --> 00:47:12,060 A teraz chcę zrobić mały wyrok tutaj. 1031 00:47:12,060 --> 00:47:15,460 Idę zobaczyć, czy n jest większa niż 0, wtedy 1032 00:47:15,460 --> 00:47:23,670 Idę powiedzieć printf-- okrzyki, printf-- wybrałeś liczbę dodatnią, 1033 00:47:23,670 --> 00:47:25,370 wykrzyknik backslash n. 1034 00:47:25,370 --> 00:47:26,460 Zamknij to. 1035 00:47:26,460 --> 00:47:33,150 Jeszcze mam zamiar wydrukować printf wybrałeś liczbę ujemną. 1036 00:47:33,150 --> 00:47:35,377 >> Teraz przed krzycz na mnie, niech uruchomić ten program. 1037 00:47:35,377 --> 00:47:36,210 Puść mnie tutaj. 1038 00:47:36,210 --> 00:47:40,730 I jak mogę skompilować program zwane warunki kreska 0? 1039 00:47:40,730 --> 00:47:42,300 Dodać warunki kreskę 0. 1040 00:47:42,300 --> 00:47:45,560 To za głupia nazwa, ale-- cholera. 1041 00:47:45,560 --> 00:47:47,560 OK, dobry moment nauczania. 1042 00:47:47,560 --> 00:47:48,410 Dlaczego, że złamać? 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> Co ja przypadkowo nazywają ten plik? 1045 00:47:54,710 --> 00:47:56,876 Niby można wywnioskować, z zakładki tutaj. 1046 00:47:56,876 --> 00:47:58,750 Więc nie jest źle, że zrobił, ponieważ 1047 00:47:58,750 --> 00:48:00,208 stanie się być może dla niektórych z was. 1048 00:48:00,208 --> 00:48:03,880 Tak przypadkowo nazwany moim Kod źródłowy stan 0. 1049 00:48:03,880 --> 00:48:09,950 Ale mój kod źródłowy powinien umownie się w pliku o nazwie Stan 0 kreska c, 1050 00:48:09,950 --> 00:48:11,720 lub cokolwiek kropka c. 1051 00:48:11,720 --> 00:48:12,610 >> Więc pozwól mi to naprawić. 1052 00:48:12,610 --> 00:48:16,880 Podobnie jak Microsoft Word można iść polecenie Zapisz jako, a nie stan 0 dot c. 1053 00:48:16,880 --> 00:48:20,100 Teraz po prostu być schludny jestem zamiar iść do przodu i wyjmij 1054 00:48:20,100 --> 00:48:23,020 Stan 0, która była moja stara wersja. 1055 00:48:23,020 --> 00:48:26,550 A teraz robią Stan 0, Enter. 1056 00:48:26,550 --> 00:48:27,870 OK, wydaje się dobry. 1057 00:48:27,870 --> 00:48:29,510 >> Stan 0, Enter. 1058 00:48:29,510 --> 00:48:33,530 Chciałbym liczbę całkowitą proszę, 50, wybrałeś liczbę dodatnią. 1059 00:48:33,530 --> 00:48:35,390 Teraz jak o ujemnej 50? 1060 00:48:35,390 --> 00:48:37,660 Wybrałeś liczbę ujemną. 1061 00:48:37,660 --> 00:48:39,605 Jak się teraz, 0. 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 Prawie pewien, 0 nie jest negatywna. 1064 00:48:45,350 --> 00:48:47,780 >> Tak więc jest to rodzaj logicznego błędu. 1065 00:48:47,780 --> 00:48:50,680 Jak mogę rozwiązać ten problem? 1066 00:48:50,680 --> 00:48:57,260 Else if n jest mniejsze niż 0, to jeszcze zrobić możemy mieć trzech sposób oddział tutaj, 1067 00:48:57,260 --> 00:49:01,740 printf wybrałeś 0. 1068 00:49:01,740 --> 00:49:06,150 Więc teraz, jeśli ponownie uruchomić ten Program, to po kompilacji 1069 00:49:06,150 --> 00:49:10,790 ponownie marki, a teraz ponownie uruchomić Stan 0, co zobaczymy tutaj 1070 00:49:10,790 --> 00:49:14,570 jest 0 daje mi ten wynik. 1071 00:49:14,570 --> 00:49:16,280 Więc gdzie jedziemy z tym? 1072 00:49:16,280 --> 00:49:18,930 >> Dobrze, że to bardzo łatwo stracić z oczu lasu dla drzew. 1073 00:49:18,930 --> 00:49:23,590 I tak pozwalają stwierdzić, z tego 2 i pół minuty filmu 1074 00:49:23,590 --> 00:49:25,710 który jest ostatecznie nieco z reklamy w Google, 1075 00:49:25,710 --> 00:49:28,850 ale to naprawdę jest świadectwem co nawet przy użyciu tych podstawowych budynku 1076 00:49:28,850 --> 00:49:33,020 Bloki można ostatecznie zrobić raz mamy trochę programowania 1077 00:49:33,020 --> 00:49:34,463 Savvy ramach naszych pasów. 1078 00:49:34,463 --> 00:49:35,150 >> [MUZYKA GRA] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO BRIERLEY (głos w tle): To było 26 lat temu, 1081 00:49:40,540 --> 00:49:42,470 a ja po prostu z kolei o 5. 1082 00:49:42,470 --> 00:49:45,465 Dotarliśmy do stacji kolejowej i wsiedliśmy nasz pociąg razem. 1083 00:49:45,465 --> 00:49:48,010 Mój brat powiedział, że będzie po prostu tu, i wrócę. 1084 00:49:48,010 --> 00:49:51,140 I pomyślałem, dobrze wiesz, Równie dobrze mogę po prostu iść spać 1085 00:49:51,140 --> 00:49:52,690 a on po prostu mnie obudzić. 1086 00:49:52,690 --> 00:49:55,145 A kiedy się obudziłem obok dzień, cały wózek 1087 00:49:55,145 --> 00:49:59,125 był pusty na uciekający pociąg, duch Pociąg zabiera mnie nie wiem gdzie. 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> I został przyjęty do Australii, do australijskiej rodziny. 1090 00:50:06,280 --> 00:50:09,710 I moja mama nie urządzone pokój z mapą Indii, 1091 00:50:09,710 --> 00:50:11,950 która położyła obok mojego łóżka. 1092 00:50:11,950 --> 00:50:15,830 Obudziłem się rano widząc, że mapy, a tym samym 1093 00:50:15,830 --> 00:50:18,530 to jakby trzymane wspomnienia żywe. 1094 00:50:18,530 --> 00:50:20,530 Ludzie mówią, że jesteś próbuje znaleźć igłę 1095 00:50:20,530 --> 00:50:23,560 w stogu siana, Saroo nigdy nie znajdziesz go. 1096 00:50:23,560 --> 00:50:28,540 >> Bym błysnął z miejsc, które ja chodziłem miga mojej rodziny 1097 00:50:28,540 --> 00:50:29,890 twarze. 1098 00:50:29,890 --> 00:50:34,060 Był obraz mojej matki, siedzi z nogami skrzyżowanymi, 1099 00:50:34,060 --> 00:50:35,740 tylko oglądanie jej krzyk. 1100 00:50:35,740 --> 00:50:38,160 Życie jest tak trudne. 1101 00:50:38,160 --> 00:50:41,237 To był mój skarb. 1102 00:50:41,237 --> 00:50:44,320 I szukałem w Google Map i realizowany jest program Google Earth, jak również. 1103 00:50:44,320 --> 00:50:48,140 W świecie, gdzie można przybliżyć, Zacząłem mieć wszystkie te myśli 1104 00:50:48,140 --> 00:50:51,500 i jakie możliwości że może to dla mnie zrobić. 1105 00:50:51,500 --> 00:50:54,890 Powiedziałem sobie, wiesz, masz Ma wszystkie te wspomnienia fotograficzne 1106 00:50:54,890 --> 00:50:58,590 i punktów orientacyjnych, gdzie jesteś, i wiesz co miasto wygląda. 1107 00:50:58,590 --> 00:51:03,060 To może być wniosek, że można użyć, aby znaleźć się z powrotem. 1108 00:51:03,060 --> 00:51:06,720 >> Myślałem, jak włożę kropka na stacji kolejowej Kalkuty, 1109 00:51:06,720 --> 00:51:10,890 i linia promienia, wiesz, że ty powinno być wyszukiwanie wokół tego obszaru. 1110 00:51:10,890 --> 00:51:13,750 I jakby natknął te tory kolejowe. 1111 00:51:13,750 --> 00:51:18,160 I zacząłem po nim, i Doszedłem do dworca kolejowego, który 1112 00:51:18,160 --> 00:51:22,228 odzwierciedlenie tego samego obrazu to było w moich wspomnieniach. 1113 00:51:22,228 --> 00:51:23,707 Wszystko dopasowane. 1114 00:51:23,707 --> 00:51:27,950 Pomyślałem, Tak, ja wiem, dokąd idę. 1115 00:51:27,950 --> 00:51:30,116 Idę do wynajęcia Mapa, że ​​mam w głowie 1116 00:51:30,116 --> 00:51:33,080 prowadzi mnie i weź mnie z powrotem do mojego rodzinnego miasta. 1117 00:51:33,080 --> 00:51:36,420 >> Doszedłem do progu dom, że się urodziłem. 1118 00:51:36,420 --> 00:51:39,140 I chodził po około 15 metrów za rogiem, 1119 00:51:39,140 --> 00:51:42,980 tam trzy panie stoi zewnątrz, obok siebie. 1120 00:51:42,980 --> 00:51:47,830 I jeden krok do przodu w średnim i Pomyślałem, to twoja matka. 1121 00:51:47,830 --> 00:51:53,450 Podeszła do przodu, ona przytuliła mnie i byliśmy tam przez około pięć minut. 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> Złapała mnie za rękę i wzięła mnie do domu 1124 00:51:59,000 --> 00:52:02,450 i mam w telefonie, gdzie zadzwonił moją siostrę i brata 1125 00:52:02,450 --> 00:52:05,600 powiedzieć, że, wiesz, Twój brat ma tylko 1126 00:52:05,600 --> 00:52:09,340 wszyscy nagle pojawił się jak duch. 1127 00:52:09,340 --> 00:52:12,440 A następnie została ponownie zjednoczona rodzina. 1128 00:52:12,440 --> 00:52:15,110 Wszystko jest dobre, Pomogłam matce z, 1129 00:52:15,110 --> 00:52:17,110 Nie musi być slaving dalej. 1130 00:52:17,110 --> 00:52:19,555 Ona może żyć przez resztę jej życia w pokoju. 1131 00:52:19,555 --> 00:52:23,460 >> To było igły w stogu siana, ale igła było. 1132 00:52:23,460 --> 00:52:24,400 Wszystko tam jest. 1133 00:52:24,400 --> 00:52:28,260 Wszystko, co mamy na świecie jest na dotknięcia. 1134 00:52:28,260 --> 00:52:32,010 Ale musisz mieć wolę i determinacja chcąc go. 1135 00:52:32,010 --> 00:52:32,950 >> [MUZYKA GRA] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 DAVID MALAN: Cudownie słodkie opinię 1138 00:52:38,170 --> 00:52:40,540 się tylko to, co można teraz zrobić z technologią. 1139 00:52:40,540 --> 00:52:43,390 Będziemy zobaczenia w przyszłym tygodniu. 1140 00:52:43,390 --> 00:52:44,374