JASON Hirschhorn: Witamy. Więc tylko kilka ogłoszeń zanim zaczniemy. Więc sekcjach, każdy powinien nie przekroju już. Sekcje normalnie uruchomić od niedzieli do wtorku. Więc chłopaki powinni uzyskać zlecenia. A potem myślę, że w przyszłym tygodniu będziesz rzeczywistą TFS. Więc jeśli masz jakieś pytania, lub Problem, czy zapomniałeś sekcji. Niektórzy ludzie to zrobić. Daj nam znać. Strzelać do nas maila na głowach. Wtedy godziny pracy. Zaczęliśmy dyżury w zeszłym tygodniu. Godziny pracy tygodniowo. Poniedziałek jest w Leverett 08:00 do 11:00. Wtorki w quad, tak Cabot 08:00 do 11:00. Środa, Mather 08:30 do 11:30. I czwartek Annenberg 8:00 do 11:00. Tak Scratch, wiele osób nie trzeba godzinami pracy pomoc dla Scratch, które jest całkowicie w porządku. Jeśli nie, to absolutnie w porządku, jak również. Jednak w przyszłości problem zestawy, dostają o wiele trudniejsze. Więc to będzie twoim przyjacielem. Zdecydowanie iść do godzin pracy. Planujemy do godzin pracy. Gdy dojdziesz do problemu ustawić cztery, pięć, sześć, siedem, trzeba iść do godzin pracy. To miejsce, gdzie wiele pomocy a praca zostanie zrobione. Myślę, że w ubiegłym roku, tylko dla Przykładem, w czwartek night-- więc myślę, że problem zestawy były spowodowane w piątek. Tak więc w czwartek wieczorem, musielibyśmy 200, 250 uczniów w godzinach pracy biura. Więc na pewno korzystać z nich. Są to najlepsi przyjaciele. Jak to gdzie, jeśli jesteś zatrzymany na zestaw problemów, to gdzie będziesz prawdopodobnie uzyskać pomoc. Więc godziny pracy. OK, więc to są ogłoszenia. Ogłoszenia są zrobione, więc zacznijmy. OK, urządzenie. Czy wszyscy pobrania jeszcze urządzenie? Nie. Jak w tak tak. I niby pobrać do urządzenia. Prawo więc urządzenie jest nowe w tym roku, więc prawdopodobnie jesteśmy będziemy mieć kilka błędów w nim. Więc proszę go pobrać jak najszybciej. Więc problemem ustawić jeden powie dokładnie, jak go pobrać. Rozpoczęcie instalacji tutaj. To będzie powiedzieć, jak pobrać do urządzenia. Więc na pewno pobrać Urządzenie raczej wcześniej niż później. Instrukcje są w P ustawionej spec. Więc jeśli czekać do środy noc, a potem masz problemy, i wysłać do nas e-maila na o północy w środę że nie można pobrać Urządzenie, które jest nie legit powodem przedłużenia. Musisz zrobić to teraz, i będziesz miał kłopoty. Próbowałem go ściągnąć w nocy. Wpadłem na trochę kłopotów. Jeśli nie popaść w kłopoty instalacji, na pewno ponów próbę, bo po prostu uderzyć ponownie kilka razy, aż w końcu się udało, który nie ma żadnego sensu, ale tak jest. Więc na pewno ponownie, ale jeśli pojawią się w mur, strzelać do nas maila na głowach, a my bardziej niż szczęśliwi, aby pomóc wam. Co się dzieje? UCZEŃ: Tak szybkie pytanie. Jeśli sprawdzić ich styl, jest częścią który mówi, że nie obejmuje tego. JASON Hirschhorn: Jeszcze nie. Student: To mówi wykonać go. Jak wykonać, że do upewnić się, że w systemie? JASON Hirschhorn: Jesteś zamierza uruchomić polecenie bash. Pójdę nad tym później. Fajne. Tak więc urządzenie może być trochę zastraszenia, bo jesteś przyzwyczajony do rodzaju uruchomiony w graficzny interfejs użytkownika. Tak Scratch był graficzny użytkownika interfejs, więc co mam na myśli? Chodzi mi o to, że gdy jesteś programowania, jesteś w zasadzie za pomocą bloków kodu. Możesz zobaczyć kod i takie tam. Urządzenie, będziesz robić rzeczy w środowisku wiersza polecenia. I tak do końca wasze życie programowania, masz zamiar robić rzeczy w środowisku wiersza polecenia. Więc to jest dobre, aby przejść na początku i trochę doświadczenia. Więc zróbmy to. Więc to jest Rob. OK, więc niech po prostu skakać w linii poleceń rzeczy. Jest to więc urządzenie. Czy ktoś może mi powiedzieć, dlaczego używamy urządzenia? Co to jest urządzenie? Czy ktoś wie? Co się dzieje? Student: To tylko maszyna wirtualna że uruchomienie urządzenia, tak aby Można dostać się na OS spory między Mac i PC. JASON Hirschhorn: Idealny. Student: To uniwersalny szablon. JASON Hirschhorn: Tak, to jest jak uniwersalnego szablonu. To jest doskonałe. Więc tak, to jest maszyna wirtualna. Więc to w zasadzie system operacyjny. Jest to system operacyjny. Jest to równoważne swoim Mac, albo komputer, albo twój Linux. Jest to dokładnie taka sama. A więc można zrobić podobne rzeczy. Jeśli chcesz, możesz z Internetu na przykład. Naprawdę nie można go zobaczyć, ale tu, Google Chrome. Możesz przejść do trybu online, jeśli chcesz. Jest to system operacyjny. A powodem robimy to dlatego, to o wiele łatwiejsze, gdy mamy rozdawać instrukcje i wszystko. Jeśli to tylko jednolite środowisko, jest to znacznie łatwiejsze dla nas, i jest to o wiele łatwiejsze. Nie zamierzamy uruchomić w działać na wszelkich dziwactw kiedy programowania. Wiemy dokładnie, co masz zamiar uruchomić w. Tak więc urządzenie jest tutaj. Więc kiedy zaczynasz programowania, jesteś pójdzie do lewym rogu. Jest tam małe pole. Będziesz go kliknąć. To jest Twoje okno terminala. Tak to jest, gdy masz zamiar za dużo semestru. Więc pozwól mi przybliżyć trochę. OK, więc poruszanie się po terminalu Okno to jest trochę inaczej. Po pierwsze, nie ma ikony. I nic nie można kliknąć. Nie ma nic do kliknięcia. Więc trzeba znaleźć sposób na dowiedzieć się, gdzie jesteś, co tu jest, i jak się poruszać. Więc dwóch prawdopodobnie najbardziej przydatnych komend są ls-- więc co sądzisz ls robi? STUDENT: Lista. JASON Hirschhorn: Listy, tak. To po prostu wymienia algorytmy w katalogu. A potem cd. Więc powiedzmy, że chciałem cd CS50, to co z tego? Tak? STUDENT: Zmienia katalog. JASON Hirschhorn: Perfect, tak. To po prostu zmienia katalog. Więc wróćmy. Więc jak mam wrócić? Więc powiedzmy, że chciałem iść Powrót do poprzedniego katalogu. Tak, na pewno. Student: Myślę piszesz cd po prostu bez niczego. JASON Hirschhorn: Możesz to zrobić. Tak doskonały. Więc jeśli piszę cd, to jest rzeczywiście będzie mnie pop powrót do katalogu domowego. Więc widzisz ten tyldy, że chce mnie pop droga z powrotem do miejsca, gdzie jest tyldy. Więc to będzie pop mnie Powrót do katalogu domowego. Ale powiedzmy, że zrobiłem coś takiego. Powiedzmy cd CS50. ls ponownie. Mam inne rzeczy. Super odcinek cd. Plik cd, więc będę głęboko. I pozwól, że chcę, aby tylko pop z powrotem do góry. cd. Powiedzmy, że nie chcę tego robić. Powiedzmy, że po prostu chcę z powrotem do pop Katalog, który był tuż nade mną. Jak mam to zrobić? Więc powiedzmy, cd CS50. cd supersection. Więc jestem tutaj. Powiedzmy, że po prostu chcesz pop-up jeden raz. Jak mam to zrobić? Tak, o co chodzi? STUDENT: Wystarczy wpisać cd ponownie supersection. JASON Hirschhorn: Można zrobić. Cóż, jestem w supersection. STUDENT: Och, jeden przed. JASON Hirschhorn: Tak, więc można zrobić. Robisz cd ~ CS50. Więc jeśli spojrzeć tutaj, to jest ścieżka tutaj. To twoja droga. Więc może poważnie wystarczy przejść cd ~ / CS50. Boom, że tam jesteś. Co znajduje się łatwiejszy sposób, aby to zrobić, choć? To było całkowicie poprawne, ale co jest nieco łatwiejszy sposób aby to zrobić, ponieważ wiele razy masz zamiar do skakania w katalogach, wyskakując z katalogów. Więc wróćmy. cd supersection. Więc powiedzmy, że chcę wrócić bardzo szybko. Możesz zrobić coś takiego cd kropka kropka. To będzie pop kopię zapasową bardzo szybko. Więc cd supersection. Pliki CD. Powiedzmy, że jestem tutaj. Przy okazji, jasne jest dobry, bo mój Okno było się trochę bałagan. Więc ls, więc nie chcę tu już. cd kropka kropka. Weź mi jedną. Cd dot dot zajmuje mi jedną. Cd kropka kropka i powrót do domu. OK, więc cd, ls. Prawdopodobnie najważniejszą rzeczy, bo jesteś będziemy wiedzieć, gdzie jesteś. ls powie ci gdzie jesteś, i cd to jak masz zamiar skakać. Możesz też zrobić kilka innych fajnych rzeczy. Tak więc na przykład ls. ls jest tylko zamiar pokazać, katalogi w pliku. To także zamiar pokazać pliki. Ale to po prostu będzie pokazać, co tam jest. Jeśli chcesz coś trochę bardziej chłodny, i masz zamiar faktycznie to w kilka tygodni. ls kreska l. Że wypisuje trochę więcej informacji. Czy ktoś może odgadnąć, z lewej strony stronie drwx, rwx i takie rzeczy. Czy ktoś ma pomysł Co to może oznaczać? STUDENT: Uprawnienia. JASON Hirschhorn: Tak, idealny. Uprawnienia. Więc masz zamiar mieć do czynienia z tym kiedy robisz programowania internetową później. Jeśli kiedykolwiek poszedł w Internecie, a ty kliknięciu na obrazek lub kliknąć na pole, i powiedział permission-- jak zgody niedozwolone, albo jak którym nie przyznano zezwolenia lub cokolwiek, to dlatego, że gdy oni programowania, oni nie ustawić te uprawnienia aby to zrobić. Więc gdzie to pochodzi. OK, więc to jest fajne. Więc skakał. Możemy patrzeć na rzeczy w naszym katalogu. Ale jak zrobić rzeczy? Mam tutaj katalogi. To jest niesamowite. Jak zrobić nowy katalog? Powiedzmy, że chcesz, aby nowy Katalog do teraz. Można zrobić coś takiego, mkdir. Tak aby katalog. Więc co chcesz nazwać ten katalog? STUDENT: Awesome. JASON Hirschhorn: Awesome. Kocham ją. Dodać katalog niesamowite. I proszę. Więc musimy listę. Masz nowy katalog. I można powiedzieć, że jest to Katalog w urządzeniu dlatego, że ma ten kolor, prawda? Tak to jest jak niebieskawy fioletowy lub cokolwiek. Warto więc zmienić. Zmieńmy katalogu. Chodźmy do directory-- Tak, o co chodzi? STUDENT: Czy istnieje lista wszystko [niesłyszalne] w Internecie? JASON Hirschhorn: Tak, włożę im się on-- musimy slajdy. To będzie w formacie PDF. Umieścimy je dla wszystkich. Tak, przepraszam, to jest wiele poleceń. jeśli chcesz mnie zwolnić, lub wrócić, albo coś w tym stylu, zdecydowanie daj mi znać. To dużo wchłonąć od razu. Co się dzieje? Uczeń: Czy mogę zapytać potencjalnie głupie pytanie? JASON Hirschhorn: Jest ma głupich pytań. STUDENT: Istnieje. Katalog jest po prostu patrząc na w informacji, gdzie go przechowywać. JASON Hirschhorn: Tak. STUDENT: Czy to w istocie co robisz? Tak więc, gdy robimy coś, hello world czy cokolwiek, jest przechowywany w katalogu, tak? JASON Hirschhorn: Tak. STUDENT: Czy to prawda, za wszystko. Wszystko, co jest przechowywana w katalogu. JASON Hirschhorn: Tak. Zawsze, gdy zrobić to, co jesteś w katalogu, to będzie w zasadzie przechowywać go w tym katalogu. Student: A kiedy ją nazywać, mamy wywołanie go z katalogu. JASON Hirschhorn: Tak, tak, Katalog jest gdzie es. Więc to jest trochę jak, jeśli masz nowy folder na pulpicie a następnie napisać tekst plik, umieścić go w tym folderze, że plik jest w tym folderze. Czy to ma sens? UCZEŃ: Tak. JASON Hirschhorn: Tak, o co chodzi? Uczeń: Czy mogę prosić o sprawiają, że nieco większe? JASON Hirschhorn: Oh, tak. Przepraszam. Projektor jest tak źle. Mieliśmy dużo problemów z tym wcześniej. Czy to lepiej? Czy to jest zbyt duży? Student: Nie, nie, to nie. JASON Hirschhorn: Nie, to nie jest. Czy to jest zbyt mała? Co się dzieje? STUDENT: Przepraszam, co jest Polecenie do oczyszczania? JASON Hirschhorn: Och, jasne. Jeśli chcesz usunąć, po prostu wpisz jasne. jasne wejść. Na ostatnim urządzeniu, co to właściwie robi, nie usunąć swoje dane, to po prostu rodzaj przesunąć wszystko w dół o jeden ekran. Więc jeśli wpisane clear-- dla przykład powiedzmy, że jestem przewijanie w górę. Można przewijać w górę. To jest wszystko, co zrobiłem. Ale jeśli wpisuję jasne, a następnie Przewijać w górę, oto moje rzeczy. Więc to nie jest usuwanie go, to tylko w zasadzie daje nową ramkę. STUDENT: Jak Ci się [Niesłyszalne] katalog? JASON Hirschhorn: Będziemy tam dostać. [Śmiech] Spowolnić roll. Dobrze. OK, tak więc jesteśmy w Katalog teraz. Więc Dawida, myślę, że w wykładzie zrobił jakieś fajne rzeczy. Warto więc napisać program. Więc można zrobić, że szereg różnych sposobów. Można użyć dowolnego rodzaju edytora tekstu. Możesz użyć Nano, można można używać Vima, Emacs. Te są nieco bardziej skomplikowany. Albo można użyć coś w tutaj to się nazywa gedit. Przepraszam. gedit nie jest szczęśliwy. Gedit jest w zasadzie tak tylko edytor tekstu. Podobnie jak w I edycji tekstu słowa procesor lub coś w tym stylu. Więc to ma ładne Interfejs po prostu lubię to. Więc można zrobić coś takiego. Więc rzeczywiście podam go nazwać, bo nigdy nie zrobił. Więc co chcesz nazwać nasz pierwszy program? To po prostu się przywitać. STUDENT: [niesłyszalne]. JASON Hirschhorn: Brak ci wyobraźni. OK, gedit. Witam. Mam zamiar zrobić .txt. OK, więc tutaj jest. Warto więc napisać program. Więc myślę, że widziałem to w wykładzie. Musisz głównej funkcji. Boop. Więc jest to tylko główną funkcją. Większe? Tak, przepraszam. OK, więc trzeba głównej funkcji. Myślę, że skoki pistolet trochę, ale nigdy nie jest złe, aby uzyskać wykorzystywane do tego rodzaju rzeczy. Tak więc główną funkcją, każdy program C jesteś zamiar napisać do końca tego Oczywiście będzie miał główną funkcję. Czy ktoś wie dlaczego? Co się dzieje? STUDENT: Start. JASON Hirschhorn: Dokładnie, tak to mówi program, gdzie zacząć. Więc jeśli nie masz głównej funkcji, i skompilować to i rzeczy, to nie będzie wiedzieć, było zacząć. Głównym jest zawsze tam, gdzie zaczyna. Więc masz główną funkcję, a następnie czy ktoś pamięta, jak drukować? STUDENT: printf. JASON Hirschhorn: Tak, printf. printf hi. OK, teraz mam ustawione wy ​​górę na porażkę, ale będzie to skompilować. Student: Nie. JASON Hirschhorn: Dlaczego? Jest wiele powodów. Jasne. Student: Nie posiada Standard [niesłyszalne]. JASON Hirschhorn: Idealny. Więc co to nazywa się tutaj? STUDENT: [niesłyszalne] JASON Hirschhorn: To nagłówek pliku, prawda? To nagłówek pliku. A ty jesteś dokładnie prawo. Obaj mają rację. Więc na to, że po prostu zrobić funta zawierają standardowe wyjście wejście .h. Czy ja dobrze iść teraz? Czy to skompilować? Student: Nie. JASON Hirschhorn: Dlaczego nie? Student: To [niesłyszalne] tekst. JASON Hirschhorn: Tak, niesamowite. Więc po prostu się udało. Tak uratowałem go, ale gedit hi.txt. Więc teraz, jeśli ja ls, to jest tutaj. Tutaj. Och, to nie jest w super. Muszę wyszło. Och, doskonałe. W jaki sposób umieścić to w niesamowite? Więc nie chcę go tutaj, w moim domu Katalog ze wszystkim innym. Chcę, aby umieścić go w folderze. Jak mam to zrobić? Nie jest zbyt trudne. Przenieś. Tak więc mamy już nauczyłem LS, listę. cd do zmiany katalogów. cd dot dot zderzyć z katalogów. A teraz mamy zamiar rozpocząć poruszanie się pliki. Tak, aby przenieść po prostu przenieść hi.txt i Mam zamiar umieścić go w niesamowite. Wystarczy być ostrożnym. Zawsze, gdy piszesz w Wiersz polecenia, wszystko ma znaczenie. Sprawy tak wielkie. Jeśli zrobiłem małe litery, to nie będzie wiedział, co się dzieje. Więc wszystko ma znaczenie być bardzo konkretne. Więc uruchomić, że ls. To nie tutaj. Zmieńmy katalogu do niesamowite. ls. Boom, że tam jest. I ktoś wspomniał, dlaczego to nie skompilować. Dlaczego nie będzie ponownie skompilować? Tak? Student: To nie jest w .c. JASON Hirschhorn: Idealny. To nie .c, y, tak jak ja jestem zamierza zmienić jego nazwę na .c? Co znajduje się w prosty sposób to zrobić? Użyjmy polecenia właśnie zrobił. Więc jesteśmy po prostu będzie przenieść hi.txt do hi.c. ls hi.c. A potem po prostu dla zabawy, niech po prostu wskoczyć do tego bardzo szybko. hi.c. Zauważysz, że to ładne i kolorowe. Więc to tylko rodzaj pomocne kolory kiedy programowania. Więc int i nieważne, to są typy danych. Pójdziemy nad tymi, w sekundę. Cześć jest łańcuchem. Ale przydatne kolory. Więc jeśli kiedykolwiek przypadkowo wybrać złą rozszerzenie, powinieneś mieć te kolory. Co się dzieje? STUDENT: Jak można skopiować do plik [niesłyszalne] do innego pliku? JASON Hirschhorn: Och, jestem zamiar pokazać, że też. Więc kopii usunąć są w stacji dokującej. Zróbmy to. Upewnij się, że to działa. Sprawdź, hi. Prace, uruchom go. Więc ./hi niesamowite. To jest twój pierwszy program. Pozwól mi zrobić to większe. Tak naprawdę dobre-Tak, o co chodzi? STUDENT: Dlaczego byłoby że kiedy biorę gedit, nie daje mi inny linia do gedit hi.txt? To po prostu umieszcza kursor do linii. UCZEŃ: Tak. [Niesłyszalne]. JASON Hirschhorn: Poczekaj, więc powiedzieć, że ponownie. STUDENT: Po wpisaniu gedit, na Po raz pierwszy, pierwszy line-- JASON Hirschhorn: Up tam na samej górze? Student: Nie ma żadnego J Harvard urządzenie, a kursor jest po prostu wszystko do końca w lewo. JASON Hirschhorn: Wszystkie maksymalnie w lewo? UCZEŃ: Tak. Ma ktoś tego? JASON Hirschhorn: Och, dobrze J Harvard jest tak samo jak nazwa użytkownika. Więc to po prostu standardowa nazwa. Student: To przestaje odpowiadać. JASON Hirschhorn: Och, to przestaje odpowiadać. OK, więc to, co musisz zrobić, to trzeba zamknąć z gedit. Tak blisko z gedit, i powinien powrócić. Więc jest gedit otwarte na Urządzenie w tej chwili? Jeśli wyjdziesz z niego, powinien powrót i powinno być dobrze iść. Czy to działa? UCZEŃ: Tak samo można używać polecenie gedit do open-- JASON Hirschhorn: Nie, pierwszy polecenie gedit był błąd. Pierwsze polecenie gedit, I zrobić gedit hi.txt. Więc daję mu nazwę, więc gedit hi.txt. hi.txt jest nazwa pliku. Pierwszym z nich był po prostu błąd, a następnie I szybko zamknięte z programu. Więc pytanie jeśli robię gedit, nie jestem będzie w stanie naprawdę nic innego w moim wierszu poleceń aż zamknę ten gedit, więc myślę, że to, co wpadł. Więc zamknij gedit. To będzie powrót na które Program, a następnie będziesz móc rzeczywiście typ w wierszu poleceń ponownie. Czy to dobrze? Dope. Więc po prostu upewnij się, aby zamknąć że jeśli napotkasz problemy. OK, więc to naprawdę dobre pytanie Drugi temu został kopiowania. Więc teraz mam hi.c. Ale powiedzmy, że chcę, aby to zmienić. I ma to być nieco lepiej. Chcę powiedzieć cześć klasy. Ale chcę zachować ten szablon. Nie mam do przerobienia ponownie cały program. Chcę zachować szablon. Jak kopiować? Łatwe. Więc cp hi.c newhi.c. Teraz mam dwa. A potem mogę otworzyć newhi.c, i zamiast po prostu powiedzieć cześć, Powiem hi klasę! Więc wrócę. Wyjdź na zewnątrz. Wróć do mojego wiersza poleceń. ls zrobić newhi. Uruchom go. Nie. Jest lepiej, dużo lepiej. Więc jeśli chcesz skopiować coś, proste. cp jest kopia. Więc mamy już ponad ruchu, tworzenia katalogów, kopiowanie. Zobaczmy, co jeszcze powinienem przejść? O, tak. Chodźmy nad tym. Więc to było niesamowite. Powiedzmy, że chciałem to-- oh czekać. Mam zamiar wrócić do niesamowite. Powiedzmy, że nie chcę te pliki tutaj. Powiedzmy, że chcę je w nowy katalog jak w katalogu niesamowite. Chcę, aby rozpocząć organizowanie, więc teraz mam zamiar mieć nowy katalog o nazwie hi. Ma wszystkie programy Piszę o nazwie hi. Więc jak to zrobić? STUDENT: Zmiana katalogu. JASON Hirschhorn: Tak. Witam. Boop. mkdir hi_dir. Narzekał, bo to już hi tutaj. Więc teraz mam katalog hi. Więc teraz chcę przenieść wszystko, wszystkie programy, które napisałem, Chcę przenieść je do katalogu hi. Tylko czyste rzeczy się. Jak mam to zrobić? STUDENT: [niesłyszalne]. JASON Hirschhorn: Przenoszenie go, prawda? Więc przejdźmy. Tak? STUDENT: Jaka jest różnica między hi i hi.c które już mamy. JASON Hirschhorn: Och, hi.c jest rzeczywista. Więc to jest plik, który napisał. Więc jeśli wybierasz się do otworzyć go w gedit lub nano, to co piszesz w. Kiedy go skompilować, a następnie otrzymasz plik wykonywalny. To cześć. Więc jeśli otworzył cześć, że się dzieje za kilka bełkot do Ciebie. To będzie w zasadzie kilka instrukcji komputerowych. Co się dzieje? Student: Co wszystkie kolory oznaczają? Niebieski jest prawdopodobnie katalog. Co znajduje się żółty? JASON Hirschhorn: Ci, są pliki wykonywalne. Więc kiedy uczynił hi.c go, dał me-- więc mogę to zrobić. Falstart. Więc usunąć hi tak. Więc zróbmy ls. Nie mam już cześć. Więc kiedy zrobić, to kiedy przyjąć program, który napisał i zrobić plik wykonywalny. Tak aby hi.c-- dobrze, aby cześć. Myślę, że udał się nad tym w wykładzie. Oto kilka instrukcje kompilatora. Tak więc, zamiast rzeczywiście Napisać Clang z tych wszystkich. Są to flagi. Wystarczy napisać zrobić. Więc to sprawia, że ​​pliki wykonywalne. Więc kiedy zrobić ls, teraz masz hi. Więc to jest to, co masz będzie rzeczywiście działać. I tak można uruchomić, że wykonując ./hi i uruchamia program. Ale gdy próbuję zrobić z hi.c, nie, to nie będzie działać. Tak, czy to ma sens? STUDENT: Mm-hm. JASON Hirschhorn: Fajne. Poczekaj, chciałem powiedzieć coś innego. Tylko bardzo szybko, w przypadku ktoś jest zainteresowany, kiedy wyskoczyć katalog, to kropka kropka. Czy ktoś ma pomysł, co może tylko w liczbie pojedynczej oznacza kropka? STUDENT: [niesłyszalne]. JASON Hirschhorn: To faktycznie aktualny katalog. Więc to jest twój aktualny katalog. Więc jestem tutaj. Jestem w super. Jeśli robię cd kropkę, to nic nie robi. To prowadzi mnie do mojego obecnego katalogu. Więc trochę zbędne, ale trzeba aby to zrobić, więc ./ nazwę programu, aby uruchomić Program, musisz to zrobić. OK. STUDENT: Jeśli nie cd kropka kropka kropka, jednak wiele kropki będzie to po prostu wziąć cię że wiele katalogów? JASON Hirschhorn: Masz na myśli jak cd dot dot dot dot? UCZEŃ: Tak. JASON Hirschhorn: Nie Pamiętaj, że tak naprawdę nie ls -l? Jeśli robię coś innego, mogę ls -a. Więc, co to mówi, to -a pokazuje wszystko. Więc to pokazuje rzeczy, które są ukrytych i rzeczy, które nie są ukryte. Więc jeśli zauważysz, że kiedy robiłem tylko ls, właśnie widziałem takie rzeczy, rzeczy zrobiłem. Jeśli robię -a, to będzie pokazać mi wszystko. I tak aktualny katalog, Katalog nad nim. Czy to ma sens? Tak? STUDENT: Ale to nie są faktycznie w katalogu. Katalog bieżący nie jest sama w sobie, dlaczego więc pokazać te z kropkami w środku? JASON Hirschhorn: Masz na myśli, że to jak to nie jest w katalogu. STUDENT: Prawo. Mamy więc listę rzeczy które znajdują się w katalogu. JASON Hirschhorn: Myślę to jest w katalogu. Jak -a pokazuje wszystko, nawet jeśli jest ukryty wewnątrz katalogu. Więc myślę, że to jest po prostu droga do aktualny katalog, jeśli to ma sens. To trochę rekurencyjne. To jak Incepcja. Co się dzieje? UCZEŃ: Tak powiedziałeś -a pokazuje [niesłyszalne]? JASON Hirschhorn: -a, tak. Student: Co sprawia, że ​​[niesłyszalne]? JASON Hirschhorn: No, na przykład, wróćmy do góry. To zwykle rzeczy nie powinny bałagan się i nie trzeba się martwić. Jest to więc rodzaj domu. Jeśli robię -a, mam mnóstwo rzeczy. Wszystkie rzeczy. I nie trzeba zadzierać któregokolwiek z tych rzeczy. Zdecydowanie nie zacząć chodzić tu i po prostu wyjąć rzeczy. [Śmiech] Tak, to było trochę więcej wygodne rzeczy, ale dobrze wiedzieć. Myślę, że to dobrze wiedzieć. Ale jeśli nie chcesz pisać -a w całości tego kursu, po prostu zapomnieć. Co się dzieje? Student: Co to jest ls -l? JASON Hirschhorn: Tak pokazuje uprawnienia. Zasadniczo można używać, dla uprawnień, więc -l. To pokazuje, trochę nieco więcej informacji, ale znowu jest trochę nieco bardziej wygodne rzeczy. To są tylko uprawnienia. Tak więc uprawnienia folderów. Więc na przykład, powiedzmy, że zrobiłem Folder, więc d reprezentuje katalog. To są katalogi. A potem czytać, pisać, wykonywać. Więc to są uprawnienia do Myślę, że użytkownik, grupa, świat. Całkowicie zbyt daleko idące. Masz zamiar udać się w to jak tygodni od teraz, ale tak wiesz, to są uprawnienia. Co się dzieje? STUDENT: można usunąć, a nie po prostu przejść do następnej rzeczy, może you-- JASON Hirschhorn: Ty myśli rzeczywiście usunąć? Nie wiem. Nigdy nie rób tego. Dlaczego chcesz to zrobić? Dlaczego miałby to zrobić? Lubię go. Żyć na krawędzi. Jesteś jak ja nie chcę nic z tego. To intensywne. STUDENT: [niesłyszalne]. JASON Hirschhorn: Tak, możemy to zrobić. Niestety, brudząc z wielkości jest zupełnie mnie przeraża teraz. Chodźmy. Tak, tak, teraz nie mogę iść już. Więc wszystko uczyłem Państwo jest stracona na zawsze. Dziękuję. Zrobiliśmy nasze katalogi. Zrobiliśmy nasze pliki i rzeczy, jak że, więc wciąż mamy te wszystkie rzeczy. OK, pójdę szybko. Tak więc bardzo szybko. Więc powiedzmy, że jestem w super. Powiedzmy, że chciałem, aby przejść wszystko do nowego katalogu bo po prostu chce zorganizować, prawda? Więc w jaki sposób to zrobić. Przenieś. Mamy zamiar ponownie użyć ruch. Więc przenieść hi.c. A co można zrobić, to rozpoczęciem aukcji rzeczy, i ostatnią rzeczą, którą to listę gdzie to się go przenieść. Więc przenieść hi.c, hi newhi newhi.c, hi_dir. I tak to wszystko się przeniósł Ostatnią rzeczą, którą wspomniałem. Więc zmień katalog, hi_dir ls. Wszystko tam jest. Tak więc jest to miła i bardziej zorganizowane. OK, powiedzmy, że nienawidzę mój oryginalny cześć programu. Chcę się go pozbyć. Jak mogę się go pozbyć? Co się dzieje? STUDENT: [niesłyszalne]. JASON Hirschhorn: Powiedzmy, że po prostu Aby usunąć program, więc po prostu cześć. Nie, masz rację. Więc to jest rm, ale zrobić rm hi. To będzie dać trochę ostrzeżenie. To będzie powiedzieć czy na pewno chcesz usunąć, i tak robię. Jeśli nie chcesz jak to się monit bo nie mam czasu ostrzeżeń, usuń -f. Jest to kolejna flaga. To jak -l. To jak -a. To są tylko flagi, które dajesz do tych poleceń. Tak więc usunięcie -f. -f F oznacza siłę. Więc na siłę. Nie chcę być poproszony. Tak więc usunięcie -f. Zróbmy hi.c. Właśnie pozbył się go. To nie mi powiedzieć. Ale powiedzmy, że zamiast mnie zrobić z tego katalogu. Chcę pozbyć katalogu. Więc wyjmuj hi_dir. Nie, to nie działa. Nie, tak to nie pozwoli mi usunąć katalog. Czy ktoś ma pomysł? STUDENT: Czy zdjąć reż? JASON Hirschhorn: Więc jak to usunąć? Student: Nie. Tylko [niesłyszalne]. JASON Hirschhorn: Nie, teraz nie ma hi. Jest tylko hi_dir. Tak więc jest to katalog. Tak naprawdę to, co chcesz zrobić is-- oh, masz pomysł? Widzę, jak pół strony. STUDENT: [niesłyszalne]. JASON Hirschhorn: OK. STUDENT: [niesłyszalne]. JASON Hirschhorn: OK. Więc jeśli chcę usunąć katalog, usuń -r. To rekurencyjne. Więc usunąć ten rekurencyjnego katalogów. Więc chcę, aby przejść do tego katalogu, Usuń wszystko w katalogu, a następnie pozbyć katalogu. A potem mam zamiar f, a także, dlatego, że nie chcę, by skłonić mnie z ostrzeżeniami po usuwa każdy plik. Więc usunąć -rf hi_dir. Bum, to nie ma. Wystarczy być ostrożnym, gdzie go użyć. Mam zamiar go używać tutaj też. -rf niesamowite. To nie ma. Uważaj, gdzie go użyć. Jeśli używasz, że coś tutaj i wpisz tak, nie zawsze zrobić. To usunie wszystko na Urządzenie nigdy Ci ostrzeżenie. I zrobiłem to. Klasyfikacja problemu ustawia na 04:00, byłem próby usunięcia problemów określonych katalogów, i zrobiłem to. A ja na to: O mój Boże. Nie do-- Próbowałem je anulować. Możesz zrezygnować. Komenda C prostu anuluje wszystko, ale ja już usunięte jak 75%. Więc wszystko zniszczyła. A ludzie to zrobić. Każdy to robi. Nie rób tego jednak tego semestru. To jest do bani. Jestem zdenerwowany o to tutaj. Mam zamiar go usunąć. [Śmiech] Czy można sobie wyobrazić? OK, pytania. Tak? STUDENT: Więc jeśli robimy wszystko robisz tutaj, jest to samo jak tylko będzie w rzeczywistości Plik Zapisz jako [niesłyszalne]. JASON Hirschhorn: Och, masz na myśli poprzez gedit. UCZEŃ: Tak. JASON Hirschhorn: Tak jest. gedit jest przydatna. Więc gedit jest bardzo przydatne. W tej klasie, można zrobić Wiele rzeczy przez gedit. Możesz zapisać. Możesz zmienić nazwę. Możesz przenosić pliki i takie tam, ale tylko zgodnie z prawdą, gdy idziesz do 50-- jak jesteś w 50-- 51, jeśli się do 61, to będzie twoje życie. To jest wiersz poleceń. To jest, gdzie można zaprogramować do końca życia, więc na pewno użyć gedit, jeśli chcesz. Na pewno dobry sposób na rozpoczęcie. Dla ustawia pierwszy problem, na pewno w użyciu, ale raz na jakiś czas postarać się bardziej przyzwyczajeni bardziej komfortowe z argumentów wiersza poleceń. Ale jest to możliwe, na pewno. Co się dzieje? STUDENT: Więc, kiedy chcemy, aby usunąć jeden z plików zrobiliśmy, istnieją dwa sposoby. [Niesłyszalne]. Czy istnieje sposób, gdy jesteś usunięcie katalogu prosić o wierszu tak Ciebie nie kończy się usunięciem? JASON Hirschhorn: rm -r. Więc nie rób tego na siłę. Więc rm -r. To będzie przejść rekurencyjnie, usunąć wszystko, monit po wszystko, co zawiezie nakrętki. Jak ja prawie wyłącznie zrobić rm -f i rmdir, tylko stale. Jestem jak nie mam czasu. Jestem zajętym człowiekiem. Dobra, o co chodzi? Tak. STUDENT: Czy jest cofania, lub kosza, czy coś w tym stylu? JASON Hirschhorn: Nie [Śmiech] Mógłbym wrócić i dostać mój Urządzenie, które po prostu usunięte, nie. Nie, nie, nie. Jeśli nie rm, powinien zniknąć. Co się dzieje? UCZEŃ: Tak można [Niesłyszalne] razem. JASON Hirschhorn: Tak, właśnie tak. Tak na przykład, obejrzałeś ten -rf rm. Powiedzmy, że chcę zrobić ls -la, pokazuje mnie wszystko, nawet ukryte rzeczy z ich uprawnieniami. Uczeń: Tak, a następnie r, -r flaga, jeśli nie mamy, że nie możemy usunąć katalog, prawda? JASON Hirschhorn: Prawo. Uczeń: Tak, że mówi, że chcemy zrobić coś z katalogu? Czy to, co to oznacza? JASON Hirschhorn: -r oznacza rekurencyjnie. Tak będzie katalog mieć pliki w nim, prawda? Więc to, co chcesz zrobić, to można chcesz iść do tego katalogu, usunąć wszystko, wszystko Pliki w tym katalogu, następnie wyskoczy i usuwać rzeczywistego katalogu. Więc -r oznacza rekurencyjne, zrób to wszystko rekursywnie, jeśli to ma sens. Tak. UCZEŃ: Tak katalogi [Niesłyszalne] i po prostu usunąć. Czy też still-- JASON Hirschhorn: Spróbujmy. Więc mkdir pusty. Usuń puste. Nie. Student: Nie, więc trzeba jeszcze the-- JASON Hirschhorn: Tak, zawsze. Więc -r, -rf, pusty. Niesamowite. Anymore pytania? Myślę, że to jest twój wypadek Oczywiście na linii poleceń rzeczy. Wszelkie pytania, bo mamy zamiar przeskoczyć do typów danych i pętli, i wszystkie rzeczy? Co się dzieje? Student: Nie mam CS50 pokazując, jak jeden z moich katalogów. Czy to jest normalne? JASON Hirschhorn: Oh, tak. To jest moje. Tak, to gdzie my rozwiązania do swoich rzeczy jest. [Śmiech] Więc tak, to jest całkowicie normalne. Myślę, że będziesz prawdopodobnie po prostu te cztery. Myślę, że to może być normalne. Tak. OK, jakieś pytania? Wiem, że było super szybko. Co się dzieje? STUDENT: Widziałem niebieski kolor zielony. Co to jest? JASON Hirschhorn: To oznacza, że ​​katalog. Student: I ten niebieski? JASON Hirschhorn: Och, masz na myśli ten niebieski zielony? Student: Nie. JASON Hirschhorn: Ten niebieski zielony? Student: Nie. Kiedy listed-- JASON Hirschhorn: Och. Podoba się? Uczeń: Tak, ikony. JASON Hirschhorn: Och, to. Nie wiem. Co to oznacza? Tak więc wydaje się, że wskazując w katalogu. Student: To prawie wygląda pseudonimu. JASON Hirschhorn: Może być. Nie musisz wiedzieć, że. Anymore pytania? Niesamowite. Jeśli masz jakiekolwiek pytania, Wiem, że było dużo. Wiele z tych informacji będzie online. Powiem online dla Was. Sekcja B będzie również w Internecie. Lub jeśli masz pytania, po prostu przyjść i zapytać mnie. Proszę bardzo. Więc teraz, Sharon i Hannah przejdzie niektóre z logiki problemu ustawione. SHARON: O mój Boże. Kłopoty. HANNAH: W międzyczasie, jestem Hanna. To jest Sharon. Jesteśmy zarówno CS50 TFS, i mamy zamiar dać mały wstęp na kilka ważnych rzeczy dla problemu ustawione. Wszystko z typów danych do warunkowych do pętli. Pętle w ogóle. SHARON: I w końcu, będzie spojrzeć na P ustawić jeden, i co trzeba wiedzieć o tym. Więc zacznijmy od typów danych. Chłopaki powinni znać Te, które są zaznaczone na niebiesko. Więc możemy zacząć wskazówki. ints są liczbami całkowitymi tak, jeden, dwa, trzy, cztery. pływaków, pływające punkty. Jak liczb z dziesiętnych, tak 5.2 lub nawet 5.0. Znaków są znaki takie jak A, B, C I ciąg, wy wszyscy wiemy. Jak CS50 lub cześć i świata. Bool jest logiczna, więc mamy true i false w naszej Boolean. Więc jeśli coś oblicza się truth-- 5 jest równe 5, który oblicza się prawdziwe, a jeśli mamy 5 równa się cztery, to fałszywe, tak, że oblicza się fałszywe. I tu mamy związane Wielkość tych wszystkich typów danych. I musisz wiedzieć to dla quizy, więc to może być pomocne pamiętam, ale my po nich. Właściwie oni już napisali. Tak więc należy zapoznać się z te podświetlone na niebiesko. JASON Hirschhorn: Prawdziwe szybkie, tylko w przypadku, gdy chcesz znać różnicę między char i ciąg. Więc kiedy piszesz rzeczy, gdy masz coś w stylu "hi" że będzie ciąg. Tak więc, jeśli są dwa cytaty, to ciąg. Ale gdybym był na "h" tak, to jest ciąg. Ale jeśli mam tylko jeden cytat, że to znak. A więc to, co jest Różnica możesz zapytać. Cóż, różnica jest jest to jeden bajt pamięci. Jest to 4 bajty pamięci. SHARON: pływać? Opisz go ponownie? OK, to trochę jak wielu że ma punkt dziesiętny z nim, tak 5.2 lub nawet 5.0 jest pływak w porównaniu do zaledwie 5 jest int. STUDENT: [niesłyszalne]. SHARON: Och, to może mieć wiele miejsc po przecinku, więc 5,675 do 3,1415. Tak? STUDENT: Czy musimy wiedzieć wszystkie rozmiary tego zjawiska? SHARON: Tak. STUDENT: [niesłyszalne]. SHARON: Nie martw się o białe kwadraty jeszcze. HANNAH: Noty napisali w CS50.net/sections. UCZEŃ: Tak z ciekawość, czy jest narzędzie do znając rozmiar plików, które przebywa nazywając tak, że powinniśmy to wiedzieć? SHARON: Więc to są typy danych, ale tak. Więc w tym przypadku, co można by zajmują więcej pamięci lub więcej miejsca? JASON Hirschhorn: Tak konkretny przykład, w myślę, że zestaw problemów cztery lub pięć, jesteśmy zamiar dać kilka danych, a także w zasadzie muszą przechodzić te dane. Więc warto wiedzieć, że jeśli masz tak wiele liczb całkowitych, że będzie co. Więc powiedzmy, że dałem ci dziesięciu liczbami całkowitymi, co jest wielkość, że? STUDENT: 40. JASON Hirschhorn: 40 bajtów, w prawo. Więc może trzeba wiedzieć, że OK, muszę skoczyć 40 bajtów. Więc powiedzmy, a nie jest to 40 znaków, then-- powiedzmy, że dałem ci 10 znaków, to wiesz, OK, ja tylko trzeba przeskoczyć 10 bajtów. Więc to jest bardzo przydatne, aby wiedzieć, wielkość rzeczywistych typów danych, Ponieważ czasy partii będziesz można skakać danych, więc trzeba wiedzieć, jak daleko skakać. STUDENT: Jaka jest różnica między cytatami i jeden cytat? JASON Hirschhorn: OK, dwa cytaty jest ciąg. Jeden cytat char. STUDENT: Jak operacyjnie, co za różnica? Oboje przywitać. JASON Hirschhorn: Och, przepraszam. To jest po prostu h. Niestety, to nie jest jasne. UCZEŃ: Tak góry jedno- JASON Hirschhorn: To jest ciągiem znaków, tak. Więc to dwa znaki, prawda? String, hi. Ale powiedzmy, że ja po prostu miał jeden znak, jeśli mogę umieścić dwa cudzysłowy wokół tylko h, to ciąg. Jest to ciąg h. Czy to ma sens? Więc to jest cztery bajty. Ale powiedzmy, że pozbyłem z że tylko umieścić jeden. Jeden cytat. To jest teraz char, char h. Tak dokładnie to samo, inny typ danych. To jest tylko jeden bajt, natomiast Łańcuch był cztery bajty. Tak. STUDENT: Więc jeśli starali do przechowywania słowo jak Dawid, co chcesz użyć ciągu ponieaz niezależnie od tego, jak długo ciąg jest, to zajmie tylko cztery bajty chyba że jest to długo, długo lub podwójne, w których case-- więc jeśli to wykracza poza czterech znaków, a następnie chcesz, aby go do łańcucha. Jest to, że ogólna logika. JASON Hirschhorn: Jeśli rozszerza niż jeden znak, to ciąg. STUDENT: Więc nie ma [niesłyszalne] do przechowywania czterech nas Słowo, jak cztery osoby lub trzy litery Słowo jako trzy oddzielne znaki ponieważ będzie tylko trzy bajty w przeciwieństwie do ciągu trzech części. JASON Hirschhorn: Można zrobić. Można to zrobić, ale ja nie myślę, że naprawdę warto, bo jesteś tylko jeden bajt oszczędzania. Wiesz, o co mi chodzi? W wielkim schemacie rzeczy, że nie ma znaczenia. Ale, przykładowo printf jeżeli drukujesz F i was trzy znaki można wydrukować że out-- powiedzmy, C-T, można wydrukować tylko przez kota robi jeden znak jeden char jeden znak, czy można wydrukować ciąg kota. Jest to dokładnie to samo. Więc można zrobić to tak, ale- Student: To nie będzie aby zaoszczędzić tyle. JASON Hirschhorn: Tak. Bóle głowy, że będzie wywoływać nie warto. Tak? UCZEŃ: Na przykład, trzeba było z jednym h w porównaniu do dwóch, pojedynczych lub podwójnych cudzysłowach. Dlaczego chcesz, aby zapisać pojedyncza litera jako ciąg znaków. Jaki cel ma, że ​​kiedykolwiek służyć? JASON Hirschhorn: Nie wiem. To znaczy, że naprawdę w zależności od programu. Na przykład, myślę, że później dostaniesz do wiersza poleceń rzeczy. Tak na przykład zamiast mnie z prośbą o integer-- przykro, Mogę mówić do ciebie? HANNAH: Tak. JASON Hirschhorn: Tak Na przykład, zamiast mnie z prośbą o coś z końca GET, które Myślę, że może widzieliście wykład, nie może być wiersz poleceń. Po prostu wpisz go w na linii poleceń. To byłoby jak - / hello4 lub coś lub helloh h, cokolwiek. Możesz to zrobić w wierszu poleceń zamiast być pytanie o to, że linia poleceń jest zawsze ciąg, czy to cztery lub h, że zawsze jest ciąg. Więc to jest jeden z przykładów, gdy moc mają swoistą literę lub pojedynczej liczba reprezentowane jako ciąg znaków. SHARON: Wszystko w porządku. I wtedy oto kilka podstawowych operatorów. Mam nadzieję, że jesteś zaznajomiony z Pierwsze cztery tylko w ogóle. Więc nie jest dodawanie, odejmowanie, mnożenie i dzielenie, i upewnić się, używasz odpowiednie skróty klawiszowe. I to nie jest też modulo, których część z was może nie być bardzo dobrze zna. A co robi jest modulo jeśli weźmiemy ten przykład 4% 2, zajmuje pozostałą część co to robi w dziale. Tak więc 4 podzielone przez 2 oznacza 2, i nie ma reszta. 4 podzielić przez 1 i 3 jest 1/3, a więc reszta 1. Tak oblicza jeden. A następnie 4% 5 jest frakcja 4/5, a pozostałą 4. Czy to ma sens? OK, fajnie. I kierujemy PEMDAS tu. Więc niektóre wyrażenia logiczne. Więc chłopaki widzieli równa równych porównać, powiedzmy, dwa numery. Więc jeśli 5 równa jest równa 5, który oblicza się prawdą. Upewnij się, że masz tylko jeden znak równości. Na nie równych sobie, że to huk lub wykrzyknikiem. HANNAH: dwa znaki równości kiedy nie równości. SHARON: Oh, tak. Upewnij się, że nie mają jeden znak równości. A następnie na nie równych sobie, to huk równa. A następnie można przeglądać do mniej niż większe niż. A potem mamy logiczne i i logiczne lub tutaj. I co, że nie jest, jeśli Pamiętasz w Scratch kiedy miał ten blok że powiedział i, a następnie może zmieścić dwa różne kawałki nie, to co to i robi. I upewnij się, zrobić dwie znaków handlowego. A ten klucz można znaleźć w kierunku tuż, tuż pod przycisk Usuń. Pytanie? Student: Co było [niesłyszalne]? SHARON: OK, więc jeśli tylko nie jeden, jesteś porównując bity. Więc jeśli pamiętam, co bitów to, że są 0 i 1, a więc że to porównanie czegoś innego. Więc mamy zamiar skupić się na tym na razie. JASON Hirschhorn: Więc jeden równa jest jak zadania, prawda? Tak jak int x równa się 4. Mówisz, że zmienna x równa się cztery. Więc 1 równa jest cesja, Ale łączeniu i rury lub słupki, podobnie jak Sharon powiedział, że są operatory bitowe. Nie musisz się o to martwić. STUDENT: Gdy używasz logiczne i i logiczne lub ponownie? Po prostu zapomniałem, kiedy to zrobić. HANNAH: Pewnie tak, jeśli kiedykolwiek chcesz aby sprawdzić, czy dwie rzeczy są prawdziwe, Na przykład, powiedzmy, że chcę sprawdzić że ilość wynosi pomiędzy 5 i 15, Powiedziałbym, upewnij się, że liczba jest większa niż pięć. Więc powiedzmy, że jeśli x jest większe od 5 do mniej niż 15 lat. Tak więc, aby dla tej całości Oświadczenie do oceny na true, trzeba zarówno od rodzaju sub Oświadczenia ocenić prawdziwe. Z lub wystarczy jeden z dwóch lub oba. STUDENT: Świetnie, dziękuję. SHARON: A także w Scratch, jestem pewność w wielu projektach miałeś jeśli dotyka krawędzi lub jeśli dotykając innego sprite następnie odbić czy coś. HANNAH: W porządku, więc dlaczego dbać o tych wszystkich logicznych? Mamy te struktury, które zostały widać w Scratch nazywa warunkowych. I warunkowe są z niczego tworzyć, jeśli niektóre warunek lub niektóre Boolean jest prawdziwe, to nie kod między tych klamrach. Więc można zobaczyć po prawej stronie tutaj jest blok Scratch. Masz to, czy to, i nic że idzie do tej małej formie, że I wygląda na to, this-- Nie wiem, co bym zadzwonić that-- że zamierza być logiczna lub stan. Więc znowu, Boolean lub Warunkiem jest coś które albo ocenia się prawdziwe, czy fałszywe. I znów, można połączyć wartości logicznych. Możesz mieć znowu x jest większe niż 5, a x jest mniejsza niż 15 lat. Albo może po prostu masz z tych x jest mniejsze niż 5. OK, a więc w C Jest to na lewo. To tylko słowo kluczowe, jeśli. W nawiasach, stan lub Boolean. A następnie kod pomiędzy te dwa nawiasy klamrowe tylko wykonać, będzie działać tylko wtedy, gdy warunek lub Boolean jest prawdziwe. Czy to ma sens? Niesamowite. OK. A potem, jak może widziałem w Scratch, możemy również dodać na innego, który jest w zasadzie coś między nawiasy klamrowe w ramach innego zostanie wykonany tylko wtedy, gdy warunek jest fałszywy. Ma sens? Wszelkie pytania dotyczące tych dwóch? Niesamowite. Fajne. Więc oto krótki przykład. Powiedzmy, że chcemy ustalić, na podstawie czasu, czy powinniśmy powiedzieć dobry rano lub dobry wieczór. Powiem, czy to przed 12:00, mamy zamiar powiedzieć dzień dobry, inaczej będziemy powiedzieć dobry wieczór. A kiedy powiedziałem, że w przeciwnym razie, to odpowiednik w C do tego jeszcze. Więc mamy zamiar sprawdzić, czy Czas wojskowa jest mniej niż 12:00, powiedzieć dzień dobry. W przeciwnym razie powiedzieć dobry wieczór. STUDENT: Więc my rzeczywiście się, że wejście w czasie wojskowej z łańcuchem GET. HANNAH: Prawo. Czy gdzieś indziej bym rzeczywiście muszą zapewnić, że informacje. Tu nie ma wartości. My nawet nie zadeklarował go. Zakładam, że gdzieś wyżej ten program oświadczyłem czas, lub zapytał czas, or-- nic innego z tego przykładu? Niesamowite. OK, teraz mamy dodatkowo się, że proste, jeśli formacie innym, mamy dwie różne inne struktury. Więc najpierw mamy przełącznik stwierdzenie, i tu jest Ogólna postać instrukcji switch. Masz kluczowe przełączyć sam sposób masz słowa kluczowego IF. A następnie wejście, w tym przypadku n. Więc to może pracować tylko z liczb całkowitych. Tak, że wejście n ma być liczbą całkowitą, OK? I mamy zamiar wykonać jedną z tych przypadków w zależności od tego, która wartość n. Więc w tym przypadku, najpierw porównać n jest równa stałej jedną, jeżeli tak, to zrobić wszystko rodzaj wcięte tutaj. Mogę zwrócić się do niego, bo jestem zbyt krótki. Jeśli to nie jest równa stałej jednego i jest równa stałej, zamiast dwóch, będziemy śledzić ten drugi blok, i co możemy zrobić, to tyle razy, jak chcemy, a następnie, że jest, jeśli domyślny nie pasuje do żadnego z powyższych przypadków, wykonanie tego kodu. Tutaj jakieś pytania? Ten jest trochę bardziej skomplikowana. Tak? STUDENT: Przerwa oznaczające co? HANNAH: Pewnie tak, raz wchodzimy że blok, jeśli znajdziemy, powiedzmy, Nasz n jest w istocie równa stałej jedną, wchodzimy ten blok po dwukropku. Robimy wszystko, co jest na że linia komentowania, a następnie łamiemy, czyli wyjdziemy tej instrukcji switch w całości. STUDENT: OK. HANNAH: Mm-hm? STUDENT: Czy wcięcie konieczne, lub nie trzeba [niesłyszalne]? HANNAH: Jasne. Tak, jak zawsze, wcięcie nie jest to bezwzględnie konieczne. Komputer nie obchodzi, czy wcięcia można. My, jako ludzie, którzy są czytanie kodu, czy opieki. Więc to jest o wiele łatwiej patrzeć na ekran i zobaczyć, oh, wiem dokładnie, co dzieje się, gdy n jest równe stałej jeden. Gdybym miał losowe wcięcia, ja nie byłby w stanie powiedzieć tak łatwo. Tak? STUDENT: Więc jeśli chciał użytkownikowi wybrać jedną z opcji mamy na liście, byłoby używamy, myślę, [niesłyszalne], ale uzyskać całkowitą od je i umieścić, że do n? HANNAH: Dokładnie tak. Więc powiedzmy, że chcemy Aby sprawdzić liczbę całkowitą. Powiedzieliśmy, oh, wprowadź liczbę całkowitą pomiędzy 0 a 5, powiedzmy. Możemy poprosić o które n, poprosić o tej wartości, i wtedy każdy z tych przypadków. I znowu, to jest coś, co może bardzo łatwo zrobić z if, prawda? Mogliśmy jeśli równa rozróżniana jeden, jeśli równa przypadku dwa, jeśli równa przypadku trzy, tak dalej, i tak dalej. To jest trochę szybciej i trochę czystsze. To trochę tylko ładnym struktury teraz. STUDENT: Szybciej, jak w piśmie? Czy też uruchomić Komputer trochę szybciej? HANNAH: To działa trochę szybciej. Tak? UCZEŃ: Tak podwójna Kreska jest tylko komentarz or-- HANNAH: Och, tak mi przykro. Nie wskazują, że na zewnątrz. OK, jeśli masz ten //, jest komentarz. Wystarczy // jest komentarz. Więc każdej chwili komputera widzi, że to będzie powiedzieć, OK, wszystko, co następuje to, jestem po prostu zignorować. Będę udawać, że cię nigdy nie napisał, że. UCZEŃ: Tak to [niesłyszalne]. HANNAH: To robi absolutnie nic. Ale gdybym napisał coś na Pierwszy komentarz napisałem zamiast printf powiedzieć gratulacje zostały wprowadzone stała jedna, to byłoby coś. Tak? UCZEŃ: Tak w życiu, Sprawa będzie po prostu być liczbą a następnie [niesłyszalne] Byłby to kolejny całkowitą. HANNAH: Dokładnie. Uczeń: A czy trzeba elipsy? HANNAH: Przepraszam? STUDENT: Czy potrzebujesz tego? HANNAH: Och, nie. Przykro mi. To było po prostu oznacza, że ​​można trwać w wielu przypadkach, jak chcesz. Zróbmy konkretny przykład, że może dokonać rzeczy nieco bardziej jasne. OK, więc powiedzmy, że mogę powiedzieć, OK, daj mi całkowitą n które oznacza liczbę klas, specjalnie klasy informatyka liczba. Więc jeśli dasz mi 50, Mam zamiar powiedzieć świetnie. CS50 jest wprowadzenie do komputera nauki, a potem mam zamiar złamać. To znaczy, ja wyskoczyć cała ta instrukcja switch, więc teraz skończę uruchomiony kod, OK? Jeśli dał mi zamiast 51, ja bym wydrukować drugą oświadczenie. A potem, jeśli mi dał niektóre Numer, że nie było 50 lub 51, Mam zamiar powiedzieć przepraszam, jestem nie zna tej klasy. Tak? Student: Nie ma przerwę. HANNAH: Przykro mi, nie mam przerwę? Student: Co, jeśli. HANNAH: Och, co, jeśli nie masz przerwę? Doskonałe pytanie. Więc co by się stało, to byś go w, i chcesz sprawdzić jestem równa 50? I powiedzmy, tak, były równe 50, można wydrukować oświadczenie. I wtedy można kontynuować wykonanie, więc można powiedzieć, jestem równa do 51? I chcesz iść i iść przez każdego przypadku takiego? Tak? STUDENT: Czy domyślna linia analogiczna do stwierdzenia innego? HANNAH: Dokładnie. Bardzo dobrze. To tak jak z rodzaju połowu wszystkich. Uczeń: Tak, jeśli nie mają przerwy a następnie jeden z oświadczeń przypadku było prawdą, a następnie go Wzrost ten n o 1, Wtedy automatycznie zrobić następny. To sprawdzić przypadek 51, a następnie wyświetla, że ​​dobrze? HANNAH: Tak, myślę, że będzie działać. Więc można trochę bałagan, więc Przerwa jest dobrze mieć. Tak? STUDENT: Bez przerwy to zrobić domyślne? HANNAH: To jest dobre pytanie. JASON Hirschhorn: Myślę, że to po prostu działa. Więc jeśli nie masz break-- tak powiedzmy, że zrobiłem 50 i sprawdzone 50, i to wydrukować, że na zewnątrz. Wydrukuj CS50 jako wprowadzenie do informatyki. Nie ma przerwy, należy przejść i nie poddawać się, dopóki nie natrafi na przerwę. Więc jeśli nie ma przerwy, to będzie dalej. To będzie drukować wszystko inne na zewnątrz. HANNAH: Więc myślę, że będzie być w tym domyślne. JASON Hirschhorn: Tak. HANNAH: Dobre pytanie. Tak? STUDENT: Czy przypadek uznać funkcja? HANNAH: Przepraszam? STUDENT: Czy przypadek uznać funkcja? HANNAH: Czy przypadek rozważyć funkcja. Nie waham się powiedzieć, że. JASON Hirschhorn: Tak normalnie kiedy widzisz funkcje zostaną one w nawiasach klamrowych. Tak na przykład, jeśli spojrzeć w kodzie, na przykład, główny. To było główne nawias otwarty, to nieważne, blisko nawias. Functions-- są w zasadzie zawsze zobaczysz nawiasów. Tak więc, gdyby nie przypadek ma żadnych nawiasów, to twoja wskazówka, że to nie jest funkcja. Ale to nie jest. Tak? STUDENT: Więc to robi aby przełączyć funkcję? HANNAH: Czy sprawia, że przełączyć funkcję. STUDENT: W sensie które można umieścić coś, to daje jeden z przypadków. JASON Hirschhorn: I nie nazywają to funkcja. Nie wszystko z nawiasy jest funkcją. Mam na myśli, że to trop że jest to funkcja. Nie powiedziałbym, że przełącznik jest funkcja, bo to naprawdę nie jest powrocie nic. Dostaniesz się, że więcej. HANNAH: Tak, tylko, że o tym jak, jeżeli struktury. STUDENT: Możesz gniazdo to w razie struktury? HANNAH: Tak, gniazdo prawie wszystko. STUDENT: Barry powiedział cytaty to trochę jak takie same jak inne. Więc można wymienić cytaty z innego? HANNAH: Nie w tym zwłaszcza struktura, ponieważ przełącznik Ochrona spodziewa domyślne słowo. Komputer wie, że domyślne oznacza, że ​​coś specjalnego oznacza połów wszystko. Coś jeszcze na ten temat. Mamy jeszcze do przejść. Tak? STUDENT: [niesłyszalne]. HANNAH: Różnica między używając średnik i dwukropek. Więc średnik jest zawsze powiedzieć komputer mam zrobić z tej linii. Można iść dalej i wykonać go. Jest to kompletna linia. Colon ma, w tym przypadku, doprowadzić cię do danego bloku. Więc średniki są zawsze używać do końca linii. Średniki są wykorzystywane Wiele innych przypadkach. STUDENT: Czy to odpowiednik tylko, że jeśli n jest równe 50, a następnie bla bla bla. HANNAH: Mm-hm. Student: To tak samo [niesłyszalne]. HANNAH: Dokładnie. I powiedział, że działa trochę szybciej. Jeśli nie mamy przerwę, byłoby, gdyby w razie jeśli. Jeśli mamy przerwę, to podobnie jak w przypadku innego, jeśli else if else if. Cool? JASON Hirschhorn: Więc kiedy kodowanie, możesz po prostu użyć, jeśli inny, ale myślę, że w zeszłym roku na my quizu miał je napisać oświadczenie switch, tak na wszelki wypadek. HANNAH: Ale na pewno nic złego. Nie spodziewasz cię martwić o wydajności szalone rzeczy. Wystarczy, jeśli jeszcze jest całkowicie w porządku. Są to po prostu dobry rzeczy być świadomi. A oto nasza ostatnia tego rodzaju mieści się w tej kategorii warunkowego. Mamy coś ogólny stan forma?, i mały kawałek kodu, który dzieje się, jeśli warunek jest prawdziwy. A następnie dwukropek, trochę kawałek kodu, który wykonywany jeśli warunek jest fałszywe, średnik. Skończyliśmy z tej linii. Więc składniowo to trochę brzydkie. Mamy zamiar przejść przez Przykładem Myślę, że to najbardziej wyraźny. Dlatego chcemy, aby przypisać profesor ciąg do jednego z tych dwóch wartości, albo David Malan czy David Malan, OK? Tak więc należy zapoznać się z łańcucha, profesor =. Mamy zamiar przypisać ciąg do zmiennej o nazwie profesora. Teraz chcemy sprawdzić szczególny stan. W tym przypadku, stan naszego Jest class_num = = 50. A teraz może być dobry czas, aby wskazać, gdy mamy ciąg profesora =, To jeden znak równości. To zadanie. Natomiast w class_num = = 50, to dwa znaki równości. To jest kontrola jakości. Więc mamy zamiar powiedzieć jest liczba równa 50 klasa? Jeśli tak, przypisz profesor David Malan. Jeśli nie, to przypisać profesora nie David Malan. Jakieś pytania? Ponownie, jest to po prostu coś, to dobrze wiedzieć. Można to zrobić, jeżeli inny. Problem dobra praktyka Może być przy iść do domu, prawda dokładnie taki sam warunkowe w razie postaci innego, bo można zrobić. Tutaj jakieś pytania? Dobra, myślę, że jesteśmy zamierza przejść do pętli. Niesamowite. SHARON: OK, porozmawiajmy o podczas gdy pętle. Tak więc pierwszy z lewej widać here-- OK, że mówi natomiast, while (warunek). A potem zrobić this-- możemy to zmienić? JASON Hirschhorn: Jest odcięte. SHARON: OK, a potem są również nawiasy klamrowe. Więc udawać, że kręcone szelki są nie wyżej i poniżej to zrobić ponownie. Jeśli więc stan, w tych nawiasy wartość true, powinieneś robić co jest w pętli while. Tak na przykład, moglibyśmy to problem praktyczny. Mam na sobie dwa kolczyki teraz, więc powiedzmy, że jeśli mam na sobie co najmniej jeden słuchu, klaszczą ręce. Więc jeśli mamy iść przez to, jesteśmy going-- [Klaskanie] Prawda? I mam na sobie jedną, and-- OK. Tak. Nie mam na sobie kolczyki więcej, tak nie ma. OK, więc to jest to, gdy chcesz się zatrzymać. I to można powiedzieć jest równowartość prawie zmiennych. Powiedzmy, że masz Zmienna ilość kolczyków. Tak więc, podczas gdy liczba jest większa kolczyki niż lub równa 1, klaskać rąk. A potem po klaskać ręce, kolczyki dekrementacji. Czy jak kolczyki minus jeden. Tak zmniejszyć liczbę kolczyków i wtedy będzie można przejść przez pętli while dwa razy. A jeśli warunek ten jest zawsze true-- więc jeśli, powiedzmy, 2 = = 2, i 2 jest zawsze równy 2, prawda? Wtedy zawsze coś tam, i to jest równowartość prawie Pętla, że ​​zawsze mieliśmy na początku. Tak? STUDENT: Są dwie strony tylko różne sposoby pisania pętli while? SHARON: Więc jesteśmy skupieni na pierwszej tego. A potem tak porównajmy to z pętli While. Więc są nieco inne. OK, więc powiedzmy, że stan jest nadal a ja mam na sobie co najmniej jeden kolczyk, i nie mam na sobie jakieś kolczyki teraz. I powiedzmy, że nie i jeszcze chwilę klaskać Mam na sobie co najmniej jeden kolczyk. Co należy zrobić? [Klaszcze] Uh oh, chłopaki. OK, więc powinniśmy klaskać raz dlatego, że w zasadzie ci przejść przez pierwszą część kodu. Możesz to zrobić bez względu na to, co i następnie pojawi się warunek while, i wrócić do że pętla, jeśli to prawda. Czy to ma sens? STUDENT: zawsze zrobić to po raz pierwszy. SHARON: Zawsze zrobić z po raz pierwszy niezależnie od tego, czy lub nie, że warunek jest prawdziwy czy nie. JASON Hirschhorn: Kiedy myślisz, że możesz to wykorzystać? Kiedy jest sens korzystać z tego? HANNAH: Tak? STUDENT: [niesłyszalne]. JASON Hirschhorn: Prawo. HANNAH: Bardzo dobry. JASON Hirschhorn: Tak kiedy zapyta użytkownika, będziesz zawsze chcą skłonić użytkownikowi jeden raz. Ty zawsze będziesz chciał monitować użytkownika jeden raz. Więc zamiast umieszczać w pętli while, to umieścić w pętli, podczas gdy zrobić, bo jesteś zawsze będzie to zrobić tylko raz. Jeśli dają ci poprawna odpowiedź, skończysz. Jeśli nie, to ponownie skłonić ich. SHARON: Dobra, na pętli. Więc w Scratch, mieliśmy powtarzania bloków. Więc chcieliśmy powtórzyć coś, powiedzmy, siedem razy. Więc po prostu powiedział powtórzyć siedem i powiedzieć, że jestem tutaj, aby pomóc wam Śnieżkę! W C, mamy do pętli, jeśli my chce przejść przez coś określoną liczbę razy. Powiedzmy, że jeśli zainicjować Krasnoludy zmienne i uczynić sure-- więc pierwszym bloku tam przed pierwszym średnikiem, możemy zainicjalizować zmienną do, i ustawić go na 0. A nasza zmienna istnieje jest liczbą całkowitą, int. I nazwa zmiennej jest krasnoludy, krasnoludy i ustawiamy na 0. I druga część między dwa średniki jest nasz stan. I tak długo, jak krasnoludy jest mniejsza niż siedem, będziemy poddawać się przez to do pętli. A potem ostatnia część jest to, co zrobić, my w końcu to dla pętli? Krasnoludy ++, a to oznacza, że zwiększyć krasnoludy jeden za każdym razem. Więc co się stało tutaj? Więc najpierw jedziemy do przejść. Mamy krasnoludy jako 0, a następnie jedziemy wydrukować Jestem tu, by pomóc Śnieżkę! A potem będzie krasnoludy zwiększyć, bo powiedział krasnoludy ++. Krasnoludy będzie jeden. A potem compare-- krasnoludy to 1. Możemy porównać go do jest mniejsze niż 7 krasnoludy? Tak. Mam zamiar przejść przez to jeszcze raz. Jestem tutaj, aby pomóc wam Śnieżkę! I wtedy staje się krasnoludy 2, a następnie porównać je. Jest mniej niż 7 2? Tak. Mamy zamiar utrzymać przeżywa. I mamy zamiar iść Poprzez to siedem razy. Więc w końcu, będziemy mają krasnoludy = 0 wydruk jestem tutaj, aby pomóc wam Śnieżkę! dwarves równa się 1, 2, 3, 4, 5 i 6. Pamiętaj indeks Mamy na 0. Tak więc zaczynamy od 0. Tak? UCZEŃ: Tak to jest inny niż zrobienia bo to nie drukuje się początkowo w pierwszym. Więc można nadal to samo. Czy możesz to zrobić również z pętli zrobić? Podobnie jak w przypadku samego procesu. Warunkiem jest krasnoludy mniej niż 7 lub cokolwiek. Reakcja jest mniejsza niż 7. SHARON: tak można technicznie. Więc jeśli wrócimy to-- swojej rozmowy o pętli while, prawda? Tak zrobić, gdy pętla jest nieco inny ponieważ gwarantujemy co najmniej kiedyś, że będziemy przechodzić przez to, tak to jest największa różnica. Ale z pętli while mogliśmy powiedzieć, podczas gdy krasnoludy jest mniejsza niż 7, to zrobić, a następnie zwiększyć krasnoludy o jeden. A potem musimy zainicjować krasnoludy przed całym tym oświadczeniu że jest równa 0. Więc tak, możemy to zrobić z tym. Mm-hm? STUDENT: Czy możesz wrócić do [niesłyszalne]? SHARON: Dla pętli? UCZEŃ: Tak, tak, z krasnoludami ++ Wygląda na to, że to, co robisz po już prowadził kilka innych sposobów. SHARON: Poprawny. STUDENT: można po prostu Nie ma, że ​​i umieścić it-- SHARON: Można było. UCZEŃ: Tak jest [niesłyszalne] zaraz po wydrukować w następnym wierszu pod spodem. SHARON: Tak, można go umieścić tam. Ale wtedy będzie po prostu zostawić, że pusty. JASON Hirschhorn: Nadal Potrzebujemy ŚREDNIK chociaż. SHARON: Wygląda to trochę niewygodne, ale można to technicznie zrobić. Technicznie. Proszę, nie. Tak? STUDENT: Czy istnieją alternatywy do ++? Czy jest coś jeszcze [niesłyszalne]? SHARON: Technicznie jest to krasnoludy. Jeden znak równości jedziemy aby ustawić go do krasnoludów plus 1. Więc to jest technicznie co krasnoludy ++ środki. Czy to ma sens? Uczeń: Tak, ale są istnieją jakieś alternatywy? Podobnie jak w przypadku ever-- SHARON: Tak, można zrobić krasnoludy - -. STUDENT: [niesłyszalne]. SHARON: Tak, można zrobić wiele rzeczy. HANNAH: I można zwiększyć o 2. Można zwiększyć o 3. Wszystko, co dzieje się zmienia, to w końcu zrobić warunek. STUDENT: Więc jeśli chcesz, aby zwiększyć przez dwa, jak można napisać, że? HANNAH: Można albo napisać dwarves-- można napisać tę całą sprawę. krasnoludy = krasnoludy + 2. Nakręcić lub nieznacznie. Ja tylko napiszę + równa 2. STUDENT: OK, a chcesz napisać, że tam, gdzie krasnoludy ++ ma. HANNAH: Dokładnie. SHARON: Poprawny. Było jeszcze jedno pytanie? Tak? STUDENT: [niesłyszalne] krasnoludy ++? SHARON: Więc don't-- JASON Hirschhorn: Tak, nie trzeba to tam. [Niesłyszalne] samego końca. Więc zrobić [niesłyszalne] ci, bo jesteś rodzaj dzielenie się inicjalizacji, stan i zmiany. Na samym końcu, nie trzeba go. SHARON: Zauważ też Cię nie trzeba średnik po całej całej pętli for. STUDENT: Jak zacząć Początkowa liczba ujemna, na przykład? SHARON: Możesz zainicjować Krasnoludy równa ujemnej 2. STUDENT: Czy po prostu nie Dash 2? SHARON: Tak, tak, Znak minus, kreska 2. STUDENT: Czy [niesłyszalne] do zainicjować jak krasnoludy [niesłyszalne]? SHARON: Tak. Jeśli więc właśnie zainicjowana krasnoludy wcześniej, po prostu zrobić int krasnoludy średnik, i wtedy nie możemy zrobić Krasnoludy ustawić, że równa 0. STUDENT: Czy możemy zrobić to wcześniej w Program mówiąc int krasnoludy = 0, a następnie just-- SHARON: Po prostu tak nie have-- nie byłoby miejsca ponownie ale trzeba jeszcze średnik. Tak. Mm-hm? STUDENT: Czy to znaczy, co kod Wartość krasnoludów jest potem. Jeśli poprosisz go po tym wszystkim jest zrobić, aby wydrukować wartość krasnoludów. SHARON: Możesz poprosić ją, aby to zrobić. STUDENT: OK. SHARON: Ale będzie poprosić go, aby to zrobić. Nie zrobi to za Ciebie. Boję się umieścić moje kolczyki z powrotem. Zrób to w końcu do oklasków. Żartowałem. JASON Hirschhorn: Więc to jest to samo. Tak zainicjować na szczycie. Stan, drukowanie, zmiana. Tak to jest dokładnie taka sama jak że jeśli ktokolwiek może zobaczyć. STUDENT: Dlaczego nie ma średnik na pierwszej linii? SHARON: Gdzie? STUDENT: Po pierwszej linii. SHARON: Po 4 w nawiasach? Ponieważ chcemy, aby przejść Poprzez w tej pętli. A jeśli spojrzeć na pętli w Ogólnie rzecz biorąc, nie mają średników. To nie jest praktyczne. Czy jesteśmy dobrze? Jeszcze jedno pytanie, dwa. Tak? Student: To może być nieco rozszerzone, Ale czy krasnoludy mają inna [niesłyszalne] ze zmiennej [niesłyszalne]. SHARON: Bardzo dobry. STUDENT: [niesłyszalne]. SHARON: Tak, to jest. Co? JASON Hirschhorn: Tak, tak, tak. Tak normalnie zakres coś jest w nawiasach klamrowych. Więc zawsze będzie zakres być w nawiasy, ale to nie zrobi większego sensu dla pętli ponieważ zainicjowana Krasnoludy w tym nawias klamrowy. Tak normalnie zakres krasnoludów, że zmienna nie będzie wystawać poza tym. Jest to specjalny przypadek choć. Więc go zainicjować w tych nawiasach, i wtedy masz zakres później. Więc szczególny przypadek. Nie powinny one mieć, że i że was-- To ma sens? Student: Nie. JASON Hirschhorn: mogę nad nim. Więc co tu jeszcze nie zna? STUDENT: jak można użyć dwarves-- was Można oczywiście korzystać z krasnoludów [niesłyszalne] poza wzoru też? JASON Hirschhorn: Nie, nie. Tak więc zakres to tylko wewnątrz nawiasy klamrowe dla dla pętli, tak. SHARON: Ale jeśli zainicjować Krasnoludy poza pętli, a następnie można go używać w innym miejscu Jest jeszcze jedno pytanie? Nie? OK. Więc rozmawialiśmy trochę o gniazdowania do pętli lub gniazdowania warunkowych, jeśli sprawozdania. Więc tutaj jest przykładem, gdzie mogliśmy gniazdo pętli. Powiedzmy, że były drukowania tabela x jest tutaj. Może Chcemy to-- pierwsze, jeśli po prostu nie patrzeć na kod i po prostu myśleć o tym, że chce przejść przez każdy rząd i wydrukować każdą kolumnę, prawda? Czy to ma sens? OK. Więc jedziemy przez każdy wiersz w zasadzie każdego wiersza, i są trzy rzędy. A następnie w ciągu każdego wiersza dla każdej kolumny, a tam są cztery kolumny, wydrukować x. tak. Gdy wiersz jest 0 i kolumny wynosi 0, możemy wydrukować x. A potem iść dalej przez pętlę kolumny. Wiersz jest nadal 0, ale kolumna jest jeden. A następnie kolumna 2, a następnie kolumna 3. A potem się z tego wyjść pętla, ponieważ wtedy kolumny nie jest już mniejsza niż 4. A potem wydrukować nową linię, i przejść do nowej linii. A następnie przechodzimy obok wiersz, a wiersz zostanie zwiększony, i przejść przez to jeszcze raz. Czy to ma sens? Tak? STUDENT: Więc do gniazda [niesłyszalne] jest właśnie umieszczenie go wewnątrz pętli for? SHARON: Tak oznacza, że ​​lęgowe mają do pętli wewnątrz pętli for, jak Incepcja. Student: Nie trzeba Specjalna obrotowa albo coś? Po prostu trzymać go w prawo w jej wnętrzu? SHARON: Poprawny. Tak? STUDENT: Może być [niesłyszalne], ale wygląda na to, że to dodatkowe miejsce między wszystkich x-tych. Nie wiem, czy that's-- Jeśli były faktycznie zrobić program, byłoby zrobić coś takiego? SHARON: Więc nie ma. To było naciśnięcie klawisza Enter. To było złe z naszej strony. Przepraszam. HANNAH: Jak można to zmienić Program jeśli nie jedną dodatkową linię? STUDENT: [niesłyszalne]. SHARON: Dobra robota. STUDENT: Można również wydrukować sam rzecz przez przełączanie wokół kolumny prawda? SHARON: Hm? Uczeń: Tak, aby wydrukować swój mały xxx, pierwsza linia może powiedzieć, druk, i zamiast mówić rząd, mówi kolumna. SHARON: Więc można zmienić nazwy zmiennych, aby to zrobić. Czy to, co mówisz? Student: Nie, jestem po prostu mówiąc that-- więc jesteś Wiersze pierwszej i drukowanie następnie drukowanie kolumn. Można również wydrukować pierwszą i kolumny następnie rzędy aby uzyskać ten sam schemat? SHARON: Można było, ale wtedy masz uważać na to, gdzie umieścić nową linię. I jak można wrócić? JASON Hirschhorn: Jeśli po prostu go włączyć a wartości te różnią się, zamiast four-- co to jest? Trzy przez cztery. Chciałbym mieć cztery Trzy wiersze i kolumny. Czy to ma sens? UCZEŃ: Tak. JASON Hirschhorn: Tak Tak, można to zrobić. Tak, na pewno. SHARON: Ale to będzie dosłownie przełączania nazwy zmiennych. Dobry? OK. Dobrze, P ustawione. OK, więc w pierwszej części tego będziesz robił to, Mario. Żartowałem. To bardziej tak. I tak, gdy tylko spojrzał na zagnieżdżone pętle, dzięki tej tabeli, zastanów się, jak możesz być w stanie wydrukować te hashtags w ten sposób. A potem tu jak byś wydrukować prawo tutaj, tej otwartej przestrzeni. STUDENT: [niesłyszalne]. SHARON: Tak, po prostu wydrukować miejsca. OK, więc pomyśl o tym. HANNAH: A potem sam część problemu ustawić jest program o nazwie greedy.c, tak, że jesteś będzie chciał myśleć o warunkowych i upewnić się, że Ciebie może dokonać odpowiedniej zmiany. I jeden mały ostrzeżenie mamy dla Ciebie jest uważać zmiennoprzecinkowych. Jeśli to absolutnie nic nie znaczy dla ciebie, to będzie opisane w wykładzie w tym tygodniu a także w [niesłyszalne] spacer, który chłopaki nauczą się miłość na planie problemowych. Jedną z rzeczy, które naprawdę sugerują, zwłaszcza z Mario.c, kiedy robisz problem ustawić, jeśli masz problem, rozpocząć, wykonując go na papierze. Napisz go i rzeczywiście siedzieć i udawać, że komputer, i przejść through-- powiedzieć Ja komputer, jak będę śledzić to dla pętli? Jak moje zmienne w pętli for zmiany? Tak robi na papierze sprawia, że ​​łatwiej go 10 razy kiedy idziesz usiąść przy komputerze. Więc po prostu mój mały korek. SHARON: I nie myśl, że ciebie trzeba zakodować wszystko na raz. Upewnij się, czy wziąć iteracyjny proces. Czy trochę, druk go, zobaczyć co się dzieje. Czasami jest to trochę prób i błędów. I przychodzą do godzin pracy. Super zabawa. JASON Hirschhorn: Więc jakieś pytania? Wszystkie prawa chłopaki, że był twój pierwszy rozdział. HANNAH: Dzięki za przyjście. JASON Hirschhorn: Dzięki za nami. SHARON: Dziękuję. [APPLAUSE]