>> JASON HIRSCHHORN: Willkommen.
Also nur ein paar Ankündigungen bevor wir beginnen.
So Abschnitte, jeder sollte bereits geschnitten.
§§ normal laufen von Sonntag bis Dienstag.
So sollten Sie Kerle Ihre Aufträge zu bekommen.
Und dann denke ich nächste Woche Sie mit Ihrem tatsächlichen TFs sein.
Also, wenn Sie irgendwelche Fragen haben, oder Probleme, oder Sie vergessen haben, Sektion.
Manche Menschen tun.
Lassen Sie uns wissen.
Schießen Sie uns eine Email an Köpfen.
>> Dann Bürozeiten.
Wir begannen Bürozeiten in der vergangenen Woche.
Bürozeiten jede Woche.
Montag ist in Leverett von 8.00 bis 11.00 Uhr.
Dienstags in der Quad, so Cabot von 8.00 bis 11.00 Uhr.
Mittwoch, Mather von 8.30 bis 11.30 Uhr.
Und Donnerstag Annenberg von 8.00 bis 11.00 Uhr.
>> So Scratch, eine Menge Leute nicht Bürozeiten benötigen
Hilfe für Scratch, die ist völlig in Ordnung.
Wenn Sie das tun, das ist absolut in Ordnung auch.
Aber in der Zukunft, ist das Problem Sätze, bekommen sie sehr viel schwieriger.
Also, das wird dein Freund sein.
Definitiv zu Bürozeiten gehen.
Haben vor, zu Bürozeiten.
Wenn Sie Problem bekommen eingestellt vier, fünf, sechs, sieben,
Sie brauchen, um zu Bürozeiten gehen.
Das ist, wo eine Menge die Hilfe und die Arbeit erledigt wird.
>> Ich glaube, im letzten Jahr, nur für Beispielsweise am Donnerstag night--
also denke ich, das Problem Sätze waren am Freitag fällig.
So Donnerstag Abend, wir müssten 200, 250 Studenten an der Bürozeiten.
Also auf jeden Fall nutzen diese.
Dies sind Ihre besten Freunde.
Wie das ist, wo, wenn Sie auf ein Problem Satz stecken,
das ist, wo Sie wahrscheinlich Hilfe zu holen.
Also Bürozeiten.
OK also sind Ankündigungen.
Ankündigungen sind fertig, also lasst uns beginnen.
>> OK, das Gerät.
Haben jedermann downloaden noch das Gerät?
Nein.
Wie in so so.
Ich Art das Gerät heruntergeladen.
Rechts, so ist das Gerät neu in diesem Jahr, so dass wir wahrscheinlich
werde einige Bugs in ihm haben.
Also laden Sie sie bitte so früh wie möglich.
So Problem eingestellt man geht, um zu sagen Ihnen genau, wie um sie herunterzuladen.
Erste Schritte der Installation finden Sie hier.
Es wird Ihnen sagen, wie um das Gerät herunterladen.
>> Also auf jeden Fall zum Download Gerät eher früher als später.
Anweisungen sind in der P-Set spec.
Also, wenn Sie bis zum Mittwoch warten Nacht, und dann haben Sie Probleme,
und Sie uns eine E-Mail an Mitternacht am Mittwoch Abend
dass man nicht downloaden kann das Gerät, das ist
nicht eine legitime Grund für eine Erweiterung.
Sie müssen es jetzt tun, und Sie werden Probleme haben.
Ich versuchte, es herunterzuladen letzte Nacht.
Ich lief in ein wenig Mühe.
Wenn Sie in Schwierigkeiten geraten Installation, auf jeden Fall
getroffen Wiederholungs, denn ich traf nur wiederholen ein paar Mal, und schließlich klappte es,
erfolgt, die keine beliebige sinnvoll, aber es tut.
Also auf jeden Fall wiederholen, aber wenn Sie kommen gegen eine Mauer,
schießen Sie uns eine E-Mail an Köpfen, und wir werden werden mehr als glücklich, Ihnen zu helfen Jungs.
Was ist los?
>> STUDENT: Nur eine kurze Frage.
Wenn sie Stil zu überprüfen, gibt es einen Teil das sagt uns nicht gehören diese.
JASON HIRSCHHORN: Noch nicht.
STUDENT: Es sagt ausführen.
Wie beurteilen Sie ausführen, dass den sicherzustellen, dass es in Ihrem System?
>> JASON HIRSCHHORN: Du bist werde ein Bash-Befehl ausführen.
Ich werde gehen über später.
Cool.
Also das Gerät kann ein wenig einschüchternd,
weil Sie Art gewohnt sind in der grafischen Benutzerschnittstelle ausgeführt werden.
So Scratch war eine grafische Benutzeroberfläche Schnittstelle, so was mache ich damit?
Was ich meine ist, dass wenn Sie die Programmierung,
Sie im Grunde mit Codeblöcke sind.
Sie können den Code zu sehen und solche Sachen.
>> Das Gerät, du gehst zu tun Dinge in einer Kommandozeilenumgebung.
Und so für den Rest Ihre Programmierung Leben,
du gehst zu sein, Dinge zu tun in der Kommandozeilenumgebung.
Also ist es gut zu Anfang springen und etwas Erfahrung.
Also lass es uns tun.
Also das ist Rob.
>> OK, also lasst uns einfach springen in Befehlszeile Zeug.
Das ist also das Gerät.
Kann mir jemand sagen, warum wir ein Gerät benutzen?
Was ist das Gerät?
Weiß jemand?
Was ist los?
>> STUDENT: Es ist nur eine virtuelle Maschine dass Sie Ihre Maschine laufen, so dass Sie
kann über die OS bekommen Meinungsverschiedenheiten zwischen Mac und PC.
JASON HIRSCHHORN: Perfect.
STUDENT: Es ist eine universelle Vorlage.
JASON HIRSCHHORN: Ja, es ist wie eine universelle Vorlage.
Das ist großartig.
Also ja, es ist eine virtuelle Maschine.
Also es ist im Grunde ein Betriebssystem.
Dies ist ein Betriebssystem.
Dies ist äquivalent zu Ihrer Mac, oder Sie PC oder Ihr Linux.
Dies ist genau die gleiche.
Und so können Sie ähnliche Sachen machen kann.
Wenn Sie wollten, könnten Sie online gehen zum Beispiel.
Man kann nicht wirklich sehen, aber genau hier, Google Chrome.
Sie können online gehen, wenn Sie wollen.
Dies ist ein Betriebssystem.
Und der Grund, warum wir tun, ist, weil es ist viel einfacher, wenn wir austeilen
Anweisungen und alles.
Wenn es nur eine einheitliche Umgebung es ist viel einfacher für uns,
und es ist viel einfacher für Sie.
Du wirst nicht über den Weg laufen es in irgendwelche Eigenheiten laufen
wenn Sie die Programmierung.
Wir wissen genau, was Sie gehen über den Weg laufen.
So ist das Gerät hier.
>> Also, wenn Sie beginnen Programmierung, du bist
werde nach unten zu gehen die linke Ecke.
Es gibt eine kleine Box.
Du wirst darauf klicken.
Dies ist Ihr Terminalfenster.
Also das ist, wohin du gehst zu viel des Semesters sein.
Also lassen Sie mich in ein wenig zu vergrößern.
>> OK, also die Fortbewegung eines Terminals Fenster ist ein bisschen anders.
Zunächst gibt es keine Symbole.
Ich kann nicht auf etwas.
Es gibt nichts zu klicken.
Sie müssen also einen Weg finden, um herauszufinden, wo Sie sind, was hier ist,
und wie man sich bewegt.
>> Also die beiden wichtigsten Befehle wahrscheinlich werden ls-- so was denken Sie ls tut?
>> STUDENT: Liste.
JASON HIRSCHHORN: Listen, yeah.
Es listet nur Algorithmen im Verzeichnis.
Und dann cd.
Also sagen wir, ich wollte cd CS50, was hat das zu tun?
Ja?
>> STUDENT: Ändert Ihr Verzeichnis.
JASON HIRSCHHORN: Perfect, yeah.
Es ändert sich nur das Verzeichnis.
Also gehen wir zurück.
Also wie bekomme ich zurück?
Also sagen wir, ich wollte gehen zurück zur vorherigen Verzeichnis.
Ja sicher.
>> Student: Ich glaube, Sie schreiben cd einfach ohne alles.
JASON HIRSCHHORN: Sie können das tun.
So perfekt.
Also, wenn ich schreibe, cd, ist dies eigentlich los, um mich knallen
Sichern, um das Home-Verzeichnis.
Sie sehen also, diese Tilde, das wird mir knallen
Weg zurück bis zu dem die Tilde ist.
Also es geht um mich Pop-up Zurück zur Home-Verzeichnis.
Aber lassen Sie uns sagen, ich habe so etwas wie dieses.
Nehmen wir an, cd CS50.
ls erneut.
Ich habe andere Sachen bekam. cd Superschnitt.
cd-Datei, so dass ich tief gehen.
Und dann sagen wir, ich will nur Pop zurück bis an die Spitze.
cd.
Sagen wir, ich will nicht, das zu tun.
Sagen wir, ich will einfach nur wieder nach oben zu knallen das Verzeichnis, das sich direkt über mir.
Wie mache ich das?
Also sagen wir mal cd CS50.
cd supersection.
Lassen Sie uns also bin ich hier.
Sagen wir, ich will nur Pop-up einmal.
Wie mache ich das?
Ja, was ist los?
>> STUDENT: Sie geben Sie einfach cd supersection erneut.
>> JASON HIRSCHHORN: Man könnte das tun.
Nun, ich bin in supersection.
>> STUDENT: Oh, der eine vor.
>> JASON HIRSCHHORN: Ja, so könnten Sie das tun.
Sie tun cd ~ CS50.
Also, wenn Sie hier so aussehen ist dein Weg hier richtig.
Das ist Ihre Pfad.
Konntest du so ernst gehen Sie einfach cd ~ / CS50.
Boom, du bist da.
Was ist ein einfacher Weg, es aber tun?
Das war vollkommen richtig, aber was ist ein etwas einfacher Weg
um es zu tun, weil eine Menge Mal wirst du
in Verzeichnissen springen werden, Sprung aus Verzeichnissen.
Also gehen wir zurück.
cd supersection.
Also sagen wir mal ich will wieder ganz schnell.
Sie können so etwas wie cd dot dot tun.
Das wird knallen Sie sichern ganz schnell.
So cd supersection.
cd-Dateien.
Sagen wir, ich bin hier.
By the way, ist klar, gut, weil mein Fenster war immer ein bisschen chaotisch.
So ls, so dass ich nicht wollen, hier mehr. cd dot dot.
Nehmen Sie mich nach oben.
Cd dot dot nimmt mich nach oben.
Cd dot dot und zurück in meine Heimat.
>> OK, also cd, ls.
Der wohl wichtigste Dinge, weil Sie
gehen zu müssen, zu wissen, wo Sie sind.
ls wird Ihnen sagen, wo Sie sind, und cd
ist, wie willst du herumspringen sind.
>> Sie können auch einige andere coole Sachen.
So zum Beispiel ls.
ls ist gerade dabei, Ihnen zu zeigen, die Verzeichnisse in Ihre Datei.
Es ist auch gehen Sie die Dateien zu zeigen.
Aber es ist gerade dabei, Ihnen zeigen, was da ist.
>> Wenn Sie etwas gesucht ein bisschen mehr cool,
und du wirst tatsächlich erleben können dies in ein paar Wochen. ls Strich l.
Das druckt ein Etwas mehr Informationen.
Kann jemand auf der linken erraten Seite die drwx, rwx und solche Sachen.
Hat jemand eine Idee was das bedeuten könnte?
>> STUDENT: Berechtigungen.
>> JASON HIRSCHHORN: Ja, perfekt.
Berechtigungen.
Sie sind also zu gehen haben, damit umzugehen
wenn Sie Web-Programmierung später tun.
Wenn Sie jemals Online gegangen, und Sie auf ein Bild geklickt haben
oder auf einem Feld angeklickt wird, und wobei permission--
wie Genehmigung nicht erlaubt, oder wie Genehmigung nicht erteilt oder was auch immer,
das ist, weil, wenn sie programmieren, sie
nicht diese Berechtigungen festzulegen lassen Sie das tun.
Also woher das kommt.
>> OK, also, das ist cool.
So sprangen wir herum.
Wir können Sachen in unserem Verzeichnis zu suchen.
Aber wie machen wir Zeug?
Ich habe Verzeichnisse hier.
Das ist großartig.
Wie kann ich ein neues Verzeichnis zu machen?
Sagen, ich will einen neuen zu machen Verzeichnis für jetzt.
Sie können etwas tun, mkdir.
So stellen Sie Verzeichnis.
Also, was Sie wollen nennen dieses Verzeichnis?
STUDENT: Awesome.
JASON HIRSCHHORN: Awesome.
Ich liebe es.
Machen Verzeichnis awesome.
Und los gehts.
Also brauchen wir eine Liste.
Sie haben ein neues Verzeichnis.
Und man kann sagen, es ist ein Verzeichnis in Ihrem Gerät
weil es diese Farbe, richtig verstanden habe?
So ist es wie ein bläuliches Lila oder was auch immer.
Lassen Sie uns also ändern.
Lassen Verzeichnis zu wechseln.
Lassen Sie uns in directory-- gehen Ja, was ist los?
STUDENT: Gibt es eine Liste der alle diese [unverständlich] online?
JASON HIRSCHHORN: Ja, ich werde setzen sie auf on-- wir Dias haben.
Es wird ein PDF sein.
Wir werden sie in Aufmachungen für jedermann.
Ja, sorry, es ist viel von Befehlen.
wenn Sie wollen, dass ich zu verlangsamen, oder gehen Sie zurück, oder so etwas,
definitiv lassen Sie mich wissen.
Es ist eine Menge, um sofort zu absorbieren.
Was ist los?
STUDENT: Darf ich fragen, ein potenziell dumme Frage?
JASON HIRSCHHORN: Es gibt keine dummen Fragen.
STUDENT: Es gibt.
Ein Verzeichnis ist für nur suchen an Informationen, wo Sie speichern.
>> JASON HIRSCHHORN: Yeah.
>> STUDENT: Ist das im wesentlichen was du tust?
Also, wenn wir etwas machen, Hallo Welt oder was auch immer,
es ist in dem Verzeichnis gespeichert, ja?
>> JASON HIRSCHHORN: Yeah.
>> STUDENT: Ist das wahr für alles.
Alles wird in dem Verzeichnis gespeichert.
>> JASON HIRSCHHORN: Yeah.
Immer, wenn Sie es machen, was Verzeichnis Sie sich befinden,
es wird im Grunde speichern Sie es in diesem Verzeichnis.
STUDENT: Und wenn wir es nennen, wir es aus dem Verzeichnis aufrufen.
>> JASON HIRSCHHORN: Ja, so das Verzeichnis ist, wo es ES.
Also ist es ein bisschen wie wenn man einen neuen Ordner auf Ihrem Desktop
und dann können Sie einen Text schreiben Datei, legen Sie sie in diesem Ordner,
die Datei ist in diesem Ordner.
Ist das sinnvoll?
>> STUDENT: Ja.
>> JASON HIRSCHHORN: Ja, was ist los?
>> STUDENT: Kann ich Sie nur um machen es ein bisschen größer?
>> JASON HIRSCHHORN: Oh, ja.
Entschuldigung.
Der Projektor ist so schlecht.
Wir hatten so viel Mühe mit diesem zuvor.
Ist das besser?
Ist das zu groß?
>> STUDENT: Nein, nein, es ist nicht.
>> JASON HIRSCHHORN: Nein, ist es nicht.
Ist es zu klein?
Was ist los?
>> STUDENT: Es tut mir leid, was ist der Befehl zum Löschen?
>> JASON HIRSCHHORN: Oh, klar.
Wenn Sie einfach nur löschen wollen Geben klar. klare eingeben.
Am letzten Gerät, was es im Grunde tut,
es nicht klar Ihre Informationen es nur irgendwie alles verschieben
unten ein Bildschirm.
Also, wenn Sie clear-- für typisierte Beispiel sagen wir, ich bin Scrollen nach oben.
Ich kann nach oben.
Das ist alles, was ich tat.
Aber wenn ich schreibe klar, und dann Ich blättern, hier ist mein Zeug.
Also ist es nicht es zu löschen, es ist nur Grundsätzlich geben Sie einen neuen Rahmen.
>> STUDENT: Wie wollen Sie [Unverständlich] ein Verzeichnis?
>> JASON HIRSCHHORN: Wir werden es schaffen.
>> [Gelächter]
Verlangsamen Sie Ihre Rolle.
In Ordnung.
OK, also, so dass wir in eine bist Verzeichnis jetzt.
Und David, ich glaube, in der Vorlesung er tat ein paar coole Sachen.
Lassen Sie uns also ein Programm schreiben.
So können Sie, dass eine tun kann Reihe von verschiedenen Möglichkeiten.
Sie können jede Art von Text-Editor zu verwenden.
Sie können Nano zu verwenden, kann Vim, Emacs zu verwenden.
Das sind etwas komplizierter.
Oder Sie können etwas in verwenden Hier heißt gedit.
Entschuldigung.
gedit ist nicht glücklich.
So gedit ist im Grunde nur ein Texteditor.
Genau wie ich Textbearbeitungs Wort Prozessor oder so ähnlich.
Also es hat einen schönen Schnittstelle einfach so.
So können Sie etwas tun.
Also eigentlich lassen Sie mich es nennen, weil ich noch nie gemacht.
>> Also, was Sie wollen nennen unser erstes Programm?
Es ist nur los hallo zu sagen.
>> STUDENT: [unverständlich].
>> JASON HIRSCHHORN: Ihnen fehlt Phantasie.
OK, gedit.
Hallo.
Ich werde .txt tun.
OK, also hier ist es.
Lassen Sie uns also ein Programm schreiben.
Also ich denke, dass Sie dies in der Vorlesung sahen.
Sie brauchen eine Hauptfunktion.
Boop.
Also das ist nur eine Hauptfunktion.
Bigger?
Ja, sorry.
OK, so benötigen Sie eine Hauptfunktion.
Ich glaube, ich springen die Pistole ein wenig,
aber es ist nie schlecht zu bekommen auf diese Art von Sachen verwendet.
>> So eine Hauptfunktion, jedes C-Programm sind Sie
gehen, um für den Rest dieses schreiben Natürlich wird eine Hauptfunktion.
Weiß jemand, warum?
Was ist los?
>> STUDENT: Start.
>> JASON HIRSCHHORN: Genau, so ist es sagt Ihr Programm, wo ich anfangen soll.
Also, wenn Sie nicht über eine Hauptfunktion haben, und Sie diese und solche Sachen zu kompilieren,
es wird nicht zu wissen, waren zu starten.
Main ist immer dort, wo es beginnt.
So haben Sie eine Hauptfunktion haben, und dann Hat jemand daran erinnern, wie Sie drucken?
>> STUDENT: printf.
JASON HIRSCHHORN: Ja, printf.
printf hallo.
OK, jetzt habe ich eingestellt haben euch bis zu versagen, aber wird dies zu kompilieren.
>> STUDENT: No.
>> JASON HIRSCHHORN: Warum?
Es gibt mehrere Gründe, warum.
Sicher.
>> STUDENT: Es muss nicht die Standard [unverständlich].
>> JASON HIRSCHHORN: Perfect.
Also was ist das hier oben genannt?
>> STUDENT: [unverständlich]
>> JASON HIRSCHHORN: Es ist eine Header-Datei, oder?
Es ist eine Header-Datei.
Und du bist genau richtig.
Sie sind beide recht.
So zu zählen, ich habe gerade Pfund tun gehören Standard-Eingabe-Ausgabe-.h.
Bin ich gut, jetzt gehen?
Würde dies zu kompilieren?
>> STUDENT: No.
JASON HIRSCHHORN: Warum nicht?
STUDENT: Es ist ein [unverständlich] Text.
JASON HIRSCHHORN: Ja, toll.
Also machte ich es einfach.
So gespeichert Ich, aber gedit hi.txt.
So, jetzt, wenn ich ls, hier ist es.
Genau hier.
Oh, es ist nicht in awesome.
Ich muss erloschen sein.
Oh, perfekt.
Wie setzen wir diese in genial?
Also ich weiß nicht, dass es hier in meiner Heimat Verzeichnis mit allem anderen.
Ich möchte es im Ordner setzen.
Wie mache ich das?
>> Nicht zu hart.
Bewegen.
Also haben wir schon ls, Liste gelernt.
cd in das Verzeichnis zu wechseln.
cd dot dot aus Verzeichnissen stoßen.
Und jetzt sind wir zu gehen Starten bewegen Dateien.
Also, nur bewegen bewegen hi.txt und Ich werde es in ehrfürchtige setzen.
>> Nur vorsichtig sein.
Wann immer Sie in der Schreib Befehlszeile, alles wichtig.
Also Groß Angelegenheiten.
Wenn ich in Kleinbuchstaben getan hatte ein, es ist nicht zu wissen, was los ist.
Also alles Dinge sehr spezifisch sein.
>> So laufen, dass ls.
Es ist nicht mehr hier.
Lassen Verzeichnis wechseln in awesome.
ls.
Boom, es ist da.
Und jemand erwähnt, warum dies würde nicht kompilieren.
Warum nicht noch einmal zu kompilieren?
Ja?
>> STUDENT: Es ist nicht in einer .c.
>> JASON HIRSCHHORN: Perfect.
Es ist nicht eine .c, s so, wie ich bin gehen, um es zu einem .c umbenennen?
Was ist eine einfache Möglichkeit, es zu tun?
Lassen Sie uns mit dem Befehl wir gerade getan.
Also werden wir gerade dabei, bewegen hi.txt zu hi.c.
ls hi.c.
Und dann nur so zum Spaß, lass uns gerade in dieser ganz schnell springen.
hi.c.
Sie werden feststellen, es ist schön und bunt.
Das sind also nur irgendwie hilfreich Farben, wenn Sie die Programmierung.
Also die int und die Leere, das sind Datentypen.
Wir werden über die, in einem zweiten zu gehen.
Hallo ist ein String.
Aber nützlich Farben.
Also, wenn Sie schon einmal versehentlich wählen Sie die falsche Neben,
Sie sollten diese Farben haben.
Was ist los?
>> STUDENT: Wie kann ich kopieren in ein file [unverständlich] in eine andere Datei?
JASON HIRSCHHORN: Oh, ich bin Ihnen zeigen, dass zu.
Also Kopie zu entfernen sind auf der Anklagebank.
Lassen Sie uns diese.
Stellen Sie sicher, es funktioniert.
Machen hallo.
Works, führen Sie es aus.
So ./hi awesome.
Das ist Ihr erstes Programm.
Lassen Sie mich größer.
Also ein wirklich good-- Ja, was ist los?
STUDENT: Warum wäre es dass, wenn ich nehmen gedit,
es mich nicht anderen geben Linie für gedit hi.txt?
Es legt einfach den Cursor auf einer Linie.
STUDENT: Ja.
Die [unverständlich].
>> JASON HIRSCHHORN: Warten Sie, so sagen, dass es erneut.
>> STUDENT: Wenn ich schreibe gedit, die erstmals die erste line--
JASON HIRSCHHORN: Bis dort an der Spitze?
STUDENT: Hat kein J Harvard Gerät, und der Cursor
nur den ganzen Weg nach links.
JASON HIRSCHHORN: Alle der Weg nach links?
STUDENT: Ja.
Hat jemand das?
>> JASON HIRSCHHORN: Oh, gut J Harvard ist genau wie der Benutzername.
Also das ist nur die Standard-Benutzernamen ein.
>> STUDENT: Es reagiert nicht mehr.
JASON HIRSCHHORN: Oh, er nicht mehr reagiert.
OK, also, was Sie tun müssen, ist Sie müssen aus der gedit zu schließen.
So nah von gedit, und es sollte zurück.
So ist gedit auf Ihre offenen Gerät gerade jetzt?
Wenn Sie sich verlassen von ihm, sollte es zurück und Sie sollten gut zu gehen.
Hat das funktioniert?
>> STUDENT: Also hast du benutzt der Befehl gedit zu open--
JASON HIRSCHHORN: Nein, die erste gedit Befehl war ein Fehler.
Die erste gedit Befehl, Ich gedit hi.txt tun.
Also ich ihm einen Namen geben, so gedit hi.txt.
hi.txt ist der Name der Datei.
Der erste war einfach ein Fehler, und dann
Ich schloss schnell aus dem Programm.
So war die Frage, wenn ich gedit tun, bin ich nicht
in der Lage sein, um wirklich zu tun alles andere in meinem Befehlszeile
bis ich schließen, dass gedit, so dass ich denke, das ist, was sie in lief.
So schließen Sie das gedit.
Es wird aus dem, zurückkehren Programm, und dann wirst du
in der Lage, tatsächlich geben in der Kommandozeile wieder.
Ist das gut?
Dope.
So stellen Sie einfach sicher, um zu schließen es, wenn Sie in Schwierigkeiten geraten.
>> OK, also eine wirklich gute Frage vor einer Sekunde wurde kopiert.
So, jetzt habe ich hi.c.
Aber lassen Sie uns sagen, dass ich sie ändern möchten.
Ich will, dass es etwas besser sein.
Ich möchte hallo Klasse sagen.
Aber ich möchte diese Vorlage zu halten.
Ich habe nicht zu umschreiben das gesamte Programm wieder.
Ich möchte, um die Vorlage zu halten.
Wie kopiere ich?
>> Einfach.
So cp hi.c newhi.c.
Jetzt habe ich zwei.
Und dann kann ich öffnen newhi.c, und anstatt einfach nur sagen, hallo,
Ich werde sagen, hallo Klasse!
Also werde ich zurück zu gehen.
Zu beenden.
Gehen Sie zurück zu meiner Kommandozeile.
ls machen newhi.
Führen Sie es.
Da.
Es ist besser, viel besser.
Also, wenn Sie etwas kopieren möchten, einfach ist das. cp ist kopier.
>> Deshalb haben wir uns über Bewegungs gegangen, macht Verzeichnisse, Kopieren.
Mal sehen, was sollte ich sonst übergehen?
Oh, ja.
Lassen Sie uns über diese zu gehen.
Das war also super.
Sagen wir, ich wollte zu-- oh warten.
Ich werde wieder in ehrfürchtiges gehen.
>> Sagen wir, ich will das nicht Diese Dateien finden Sie hier.
Sagen wir, ich möchte, dass sie in einem neuen Verzeichnis wie im Verzeichnis awesome.
Ich möchte beginnen zu organisieren, so jetzt werde ich
um ein neues Verzeichnis namens hallo haben.
Es ist alle Programme bekam Ich schreibe namens hallo.
Wie können wir also tun?
>> STUDENT: Verzeichnis wechseln.
>> JASON HIRSCHHORN: Yeah.
hallo.
Boop.
mkdir hi_dir.
Es beschwert, weil ich hatte bereits ein hallo hier.
So, jetzt habe ich ein hallo Verzeichnis.
So, jetzt will ich alles bewegen, alle Programme, die ich schrieb,
Ich möchte sie zu bewegen in die hallo-Verzeichnis.
Nur sauberes Zeug.
Wie mache ich das?
>> STUDENT: [unverständlich].
>> JASON HIRSCHHORN: Umzug, oder?
Lassen Sie uns also bewegen.
Ja?
>> STUDENT: Was ist der Unterschied zwischen hallo und hi.c, die wir bereits haben.
JASON HIRSCHHORN: Oh, hi.c ist die tatsächliche.
Also das ist die Datei, die Sie geschrieben haben.
Also, wenn Sie wurden zu gehen öffnen Sie es in gedit oder Nano,
das ist, was Sie in tippen.
Wenn Sie es zu kompilieren, dann Sie erhalten eine ausführbare Datei.
Das ist hallo.
Also, wenn Sie geöffnet hallo, das wird um ein Bündel von Kauderwelsch zu Ihnen sein.
Es ist im Grunde sein wird Haufen von Computerbefehlen.
Was ist los?
>> STUDENT: Was bedeuten die Farben?
Das Blau ist wahrscheinlich Verzeichnis.
Was ist gelb?
>> JASON HIRSCHHORN: Diejenigen sind die ausführbaren Dateien.
Also, wenn ich machen hi.c es, gab mich-, so kann ich es tun.
Jumping the gun.
So entfernen hallo ja.
Also machen wir ls.
Ich habe kein hallo mehr.
Also, wenn Sie zu machen, ist, wenn Sie nehmen das Programm, das Sie geschrieben haben
und machen Sie eine ausführbare Datei.
So stellen hi.c-- gut, machen hallo.
Ich glaube, er über das ging in der Vorlesung.
>> Dies sind Bündel von Compiler Anweisungen.
Also anstatt tatsächlich schreiben klirren mit all diesen.
Dies sind Fahnen.
Sie schreiben einfach zu machen.
Also das macht die ausführbaren Dateien.
Also, wenn Sie ls tun, haben Sie jetzt hallo.
Also das ist, was du bist werde tatsächlich ausgeführt.
Und schauen Sie, dass laufen, indem Sie ./hi, und es läuft Ihr Programm.
Aber wenn ich versuche, das mit zu tun hi.c, nein, es ist nicht zur Arbeit gehen.
Ja, macht das Sinn?
>> STUDENT: Mm-hm.
>> JASON HIRSCHHORN: Kühle.
Warten Sie, ich, etwas anderes sagen wollte.
Nur ganz schnell, für den Fall, jemand interessiert ist,
wenn Sie aus einem Sprung Verzeichnis, es ist der Punkt Punkt.
Hat jemand eine Idee haben, was vielleicht auch nur die singulären Punkt bedeutet?
STUDENT: [unverständlich].
JASON HIRSCHHORN: Es ist tatsächlich das aktuelle Verzeichnis.
Es ist also das aktuelle Verzeichnis.
Also bin ich hier.
Ich bin in awesome.
Wenn ich cd dot tun, ist es nicht etwas zu tun.
Es bringt mich zu meinem aktuellen Verzeichnis.
Also ein wenig redundant, aber Sie haben das zu tun, so ./ Ihren Programmnamen,
um zu laufen Ihre Programm, müssen Sie das tun.
Ok.
>> STUDENT: Wenn Sie das tun cd dot dot dot jedoch viele Punkte
wird es nur nehmen Sie dass viele Verzeichnisse?
>> JASON HIRSCHHORN: Du meinst wie CD dot dot dot dot?
STUDENT: Ja.
JASON HIRSCHHORN: No.
Also eigentlich Angemeldet habe ich ls -l?
Wenn ich etwas anderes zu tun, kann ich -a ls.
Also, was es sagt, ist -a zeigt Ihnen alles.
So zeigt es Ihnen Dinge, die sind unsichtbare und Dinge, die nicht ausgeblendet sind.
Also, wenn Sie feststellen, dass wenn ich es tat nur ls, ich sah nur das Zeug,
die Sachen, die ich gemacht.
Wenn ich das tue -a, es geht um mir zu zeigen alles.
Und so aktuellen Verzeichnis, Verzeichnis darüber.
Ist das sinnvoll?
Ja?
>> Student: Aber diejenigen, die nicht sind tatsächlich in dem Verzeichnis.
Das aktuelle Verzeichnis nicht in sich selbst, also warum zeigen diejenigen mit Punkten drin?
>> JASON HIRSCHHORN: Du meinst, es ist wie es ist nicht in dem Verzeichnis.
>> STUDENT: Richtig.
So haben wir eine Liste der Dinge die im Verzeichnis sind.
>> JASON HIRSCHHORN: Ich denke, es ist in dem Verzeichnis.
Wie -a zeigt alles, auch wenn es ist im Verzeichnis versteckt.
Also ich denke, es ist nur ein Weg, um die aktuellen Verzeichnis, wenn das Sinn macht.
Es ist ein wenig rekursiv.
Es ist wie Inception.
Was ist los?
>> Student: Sie sagten, -a zeigt [unverständlich]?
JASON HIRSCHHORN: -a, yeah.
>> STUDENT: Was macht es [unverständlich]?
JASON HIRSCHHORN: Nun, zum Beispiel, Gehen wir zurück bis an die Spitze.
Es ist in der Regel Dinge, die Sie sollten nicht mit Zohan mit und Sie brauchen nicht zu befürchten.
Also das ist eine Art des Hauses.
Wenn ich -a tun, bekomme ich Tonnen von Material.
All das Zeug.
Und Sie nicht zu verwirren brauchen mit einem von dem Zeug.
Definitiv nicht starten gehen in hier und entfernen Sie einfach Sachen.
>> [Gelächter]
>> Ja, ein bisschen mehr war diese Bequeme Sachen, aber es ist gut zu wissen.
Ich denke, es ist gut zu wissen.
Aber wenn Sie noch nie auf den Typ -a möchten in der Gesamtheit dieses Kurses
vergiss es einfach.
Was ist los?
>> STUDENT: Was ist der ls -l?
JASON HIRSCHHORN: Das zeigt Ihnen Berechtigungen.
Grundsätzlich Sie verwenden, für Berechtigungen, so -l.
Es zeigt Ihnen, ein wenig bisschen mehr Informationen,
aber wieder, das ist ein wenig biss bequemer Zeug.
Dies sind nur Berechtigungen.
So werden die Berechtigungen der Ordner.
Also nur zum Beispiel, sagen wir, ich machte ein Ordner, so dass der d darstellt Verzeichnis.
Das sind also Verzeichnissen.
Und dann lesen, schreiben, ausführen.
Das sind also die Berechtigungen für Ich denke, Benutzer, Gruppe, Welt.
Völlig zu weit.
Du wirst in diesem wie gehen Wochen ab jetzt, aber nur damit Sie wissen,
das sind Berechtigungen.
Was ist los?
STUDENT: Können Sie klare statt nur auf die nächste, was zu überspringen, Sie-- können
JASON HIRSCHHORN: Sie meine eigentlich löschen?
Ich weiß nicht.
Ich nie tun.
Warum würden Sie das tun wollen?
Warum würden Sie das tun?
Ich mag es.
Sie leben am Rande.
Du bist wie ich will nicht irgendetwas davon.
Das ist intensiv.
STUDENT: [unverständlich].
JASON HIRSCHHORN: Ja, wir können das tun.
Sorry, Messing mit der Größe ist jetzt total ausgeflippt mich aus.
Gehen wir.
Ja, so jetzt kann ich nicht hinauf mehr.
Also alles, was ich gelehrt Sie ist für immer verschwunden.
Danke.
Wir machten uns auf Verzeichnisse.
Wir machten uns auf Dateien und solche Sachen daß, so haben wir immer noch all das Zeug.
OK, ich werde schnell gehen.
>> Also ganz schnell.
Also lassen Sie uns sagen, ich bin in awesome.
Sagen wir, ich wollte zu bewegen alles in das neue Verzeichnis
weil ich will nur zu organisieren, oder?
Also, wie sollte ich das tun.
Bewegen.
Wir werden wieder unterwegs zu nutzen.
So bewegen hi.c.
Und was Sie tun können, ist Sie beginnen Listing stuff,
und das letzte, was Sie Liste ist wohin es geht, um es zu bewegen.
So bewegen hi.c, hallo newhi newhi.c, hi_dir.
Und so zog alles in das letzte, was Sie genannt haben.
So ändern Sie dann Verzeichnis hi_dir ls.
Alles ist drin.
So ist es schön und besser organisiert.
>> OK, sagen wir, ich hasse meiner ursprünglichen hallo Programm.
Ich will es loswerden zu bekommen.
Wie kann ich es loswerden?
Was ist los?
>> STUDENT: [unverständlich].
JASON HIRSCHHORN: Sagen wir, ich nur will das Programm zu entfernen, so dass nur hallo.
Nein, du hast Recht.
So ist es rm, aber Sie rm hallo zu tun.
Es wird Ihnen eine kleine Warnung zu geben.
Es wird gesagt, dass du Dies wollen zu löschen, und ja ich.
Wenn Sie nicht möchten, wie die aufgefordert werden,
weil Sie keine Zeit haben, für Warnungen, entfernen -f.
Dies ist eine weitere Flagge.
Es ist wie die -l.
Es ist wie die -a.
Dies sind nur Flags, Sie auf diese Befehle gibst.
So entfernen -f.
-f f bedeutet Kraft.
So zwingen.
Ich möchte nicht dazu aufgefordert werden.
So entfernen -f.
Lass uns hi.c.
Nur losgeworden.
Es hat mir nicht gesagt.
>> Aber lassen Sie uns sagen, sondern ich bin mit diesem Verzeichnis getan.
Ich möchte loswerden Verzeichnis zu bekommen.
Also ich weiß entfernen hi_dir.
Nein, das funktioniert nicht.
Nein, so wird es nicht zulassen, mir ein Verzeichnis zu entfernen.
Hat jemand eine Idee?
>> STUDENT: Ist es zu entfernen dir?
JASON HIRSCHHORN: So wie diese zu entfernen?
>> STUDENT: No.
Nur die [unverständlich].
JASON HIRSCHHORN: Nein, Im Augenblick gibt es keine hallo.
Es gibt einfach hi_dir.
Das ist also das Verzeichnis.
Also eigentlich das, was Sie tun möchten, ist-- oh, haben Sie eine Idee?
Ich sehe wie eine halbe Hand.
>> STUDENT: [unverständlich].
JASON HIRSCHHORN: OK.
>> STUDENT: [unverständlich].
>> JASON HIRSCHHORN: OK.
Also, wenn ich zu entfernen ein Verzeichnis, entfernen -r.
Das ist rekursiv.
So entfernen Sie dieses Verzeichnis rekursiv.
Deshalb möchte ich Sie in dieses Verzeichnis zu gehen, entfernen Sie alles in dem Verzeichnis,
und dann loswerden des Verzeichnisses.
Und dann bin ich los f sowie, weil ich
wollen es nicht, mich mit Warnungen auffordern nachdem es entfernt jede einzelne Datei.
So entfernen -rf hi_dir.
Boom, ist es weg.
Nur vorsichtig sein, wo Sie diese Verwendung.
Ich werde es zu benutzen auch hier. -rf awesome.
Es ist weg.
Seien Sie vorsichtig, wenn Sie dafür verwenden.
Wenn Sie, dass Sie hier und geben Sie etwas wie diese, nicht immer tun.
Das wird alles auf löschen Sie Ihre Gerät ohne jemals warne dich.
Und ich habe das getan.
Grading Problem setzt, um 4:00 Uhr war ich versuchen zu entfernen Problem eingestellt Verzeichnisse
und ich tat dies.
Und ich war wie oh mein Gott.
Do-- nicht, ich versuchte, es zu löschen.
Sie können stornieren.
Befehl C bricht einfach alles, aber ich schon wie 75% gelöscht.
So ruiniert ich es.
Und die Menschen tun.
Jeder tut das.
Tun Sie dies nicht, obwohl dieses Semester.
Er saugt.
Ich bin nervös mit hier.
Ich werde es zu löschen.
>> [Gelächter]
Können Sie sich vorstellen?
OK, Fragen.
Ja?
>> STUDENT: Also, wenn wir alles tun, Sie hier tun, das ist das gleiche
wie nur geht in tatsächlich Datei Speichern unter [unverständlich].
JASON HIRSCHHORN: Oh, du meinst durch gedit.
STUDENT: Ja.
JASON HIRSCHHORN: Ja es ist.
gedit ist nützlich.
So gedit ist sehr nützlich.
In dieser Klasse, die Sie tun können, ein Menge Dinge durch gedit.
Sie können speichern.
Sie können umbenennen.
Sie können Dateien und solche Sachen zu bewegen, sondern nur wahrheitsgemäß, wenn Sie gehen, um 50--
Nun sind Sie in 50-- 51, wenn du gehst in 61, das wird Ihrem Leben sein.
Dies ist die Befehlszeile.
Dies ist, wo Sie programmieren für den Rest Ihres Lebens,
also auf jeden Fall verwenden gedit, wenn Sie wollen.
Auf jeden Fall ein guter Weg, um zu starten.
Für das erste Problem stellt, auf jeden Fall verwenden, aber jeder einmal in eine Weile
versuchen, mehr gebrauchte bequemer bekommen mit Befehlszeilenargumenten.
Aber Sie können, auf jeden Fall.
Was ist los?
>> STUDENT: Also, wenn wir den zu löschenden eine der Dateien die wir gemacht haben,
gibt es zwei Möglichkeiten. [Unverständlich].
Gibt es eine Möglichkeit, wenn Sie Löschen eines Verzeichnisses
für die schnelle und fragen, so dass Sie am Ende nicht zu löschen?
JASON HIRSCHHORN: rm -r.
Also keine Gewalt anwenden.
So rm -r.
Es wird durch rekursiv zu gehen, alles löschen, fordert Sie
nach allem, was Sie fahren Nüsse.
Wie ich fast ausschließlich tun rm -f und rm -rf, nur ständig.
Ich bin wie ich habe keine Zeit.
Ich bin ein viel beschäftigter Mann.
Also gut, was ist los?
Ja.
>> STUDENT: Gibt es eine Undo oder ein Mülleimer, oder so etwas?
JASON HIRSCHHORN: No.
[Gelächter]
Ich konnte wieder gehen und meine Appliance, die ich gerade gelöscht, nein.
Nein, nein, nein.
Wenn Sie rm tun, sollte es weg sein.
Was ist los?
>> STUDENT: So kann man [Unverständlich] zusammen.
JASON HIRSCHHORN: Ja, einfach so.
So zum Beispiel, sah man die rm -rf.
Sagen wir, ich will do ls -la, es zeigt mir
alles, auch versteckt Dinge mit ihren Berechtigungen.
>> STUDENT: So dann r, -r Flagge, wenn wir nicht haben, dass,
wir können ein Verzeichnis nicht löschen, oder?
>> JASON HIRSCHHORN: Richtig.
>> STUDENT: Also, das sagt, dass wir wollen, etwas mit dem Verzeichnis zu tun?
Ist das, was das bedeutet?
>> JASON HIRSCHHORN: -r bedeutet rekursiv.
So ein Verzeichnis zu gehen haben Dateien darin, nicht wahr?
Also, was Sie tun möchten, ist, dass Sie wollen in diesem Verzeichnis zu gehen,
alles löschen, alle Dateien in diesem Verzeichnis,
dann springt heraus und löschen das aktuelle Verzeichnis.
Also die -r bedeutet rekursiv, tun es alle rekursiv wenn das Sinn macht.
Ja.
>> Student: Verzeichnisse [Unverständlich] und löschen Sie sie einfach.
Oder wollen Sie still--
>> JASON HIRSCHHORN: Lassen Sie uns versuchen.
So mkdir leer.
Entfernen leer.
Nein.
>> STUDENT: Nein, so müssen Sie noch the--
>> JASON HIRSCHHORN: Ja, immer.
So -r, -rf, leer.
Genial.
Mehr Fragen?
Ich denke, dass ist Ihr Crash Kurs über Befehlszeile Zeug.
Haben Sie Fragen, weil wir zu gehen springen Sie auf Datentypen und Schleifen,
und all das Zeug?
Was ist los?
>> STUDENT: Ich habe kein CS50 zeigt, wie einer meiner Verzeichnissen.
Ist das normal?
>> JASON HIRSCHHORN: Oh, ja.
Das ist meins.
Ja, das ist, wo meine Lösungen für Ihre Zeug ist.
>> [Gelächter]
>> Also ja, das ist absolut normal.
Ich denke, Sie werden wahrscheinlich müssen nur diese vier.
Ich denke, dass könnte normal sein.
Ja.
OK, noch Fragen?
Ich weiß, das war super schnell.
Was ist los?
>> Student: Ich sah den blauen grüne Farbe.
Was ist das?
>> JASON HIRSCHHORN: Das bedeutet Verzeichnis.
STUDENT: Und das Blau?
>> JASON HIRSCHHORN: Oh, du meinst dieses blau grün?
>> STUDENT: No.
>> JASON HIRSCHHORN: Das blau-grün?
>> STUDENT: No.
Wenn Sie listed--
JASON HIRSCHHORN: Oh.
So was?
>> STUDENT: Ja, die Symbole.
>> JASON HIRSCHHORN: Oh, das.
Ich weiß nicht.
Was bedeutet das?
So scheint es zu sein, auf ein Verzeichnis zeigt.
>> STUDENT: Es sieht fast aus wie eines Pseudonyms gestattet.
>> JASON HIRSCHHORN: Es könnte sein.
Sie brauchen nicht zu wissen.
Mehr Fragen?
Genial.
Wenn Sie irgendwelche Fragen haben, Ich weiß, dass es eine Menge.
Viele dieser Informationen online sein.
Ich werde es online zu stellen für euch.
Abschnitt B online sein als gut.
Oder wenn Sie Fragen haben, nur kommen und mich fragen.
Bitte schön.
Jetzt so Sharon und Hannah geht über einige
der Logik hinter Problem gesetzt ein.
>> SHARON: Oh mein Gott.
Troubles.
>> HANNAH: In der Zwischenzeit bin ich Hanna.
Das ist Sharon.
Wir sind beide CS50 TFs und wir werden Ihnen
ein kleines Intro auf ein paar wichtige Dinge für Problem gesetzt ein.
Alles von Datentypen Auf die für Schleifen Konditionale.
Loops im Allgemeinen.
>> SHARON: Und am Ende, wir wird einen Blick auf P setzen ein,
und was Sie dafür zu kennen.
Lassen Sie uns also mit Datentypen zu starten.
Ihr solltet mit dem vertraut sein diejenigen, die blau markiert sind.
So können wir mit ints starten.
int ganze Zahlen sind, so dass ein, zwei, drei, vier. , Schwimm Punkten.
Wie Zahlen mit Kommastellen, so 5.2 oder sogar 5.0.
Chars sind Zeichen wie A, B, C. Und ein String ist, euch alle kennen.
Wie CS50 oder hallo und Welt.
>> Bool ist ein Boolean, so haben wir wahr und falsch wie unsere Boolean.
Also, wenn etwas berechnet, um truth-- 5 = 5, dass um wahr berechnet,
und wenn wir 5 gleich 4, das ist falsch, so dass berechnet auf false.
Und hier haben wir die zugehörige haben Größe aller dieser Datentypen.
Und Sie müssen wissen, dies für Ihre Tests,
so könnte dies hilfreich sein erinnern, aber wir werden diese veröffentlichen.
Eigentlich sind sie bereits gebucht.
So sollten Sie vertraut sein die, die in blau hervorgehoben.
>> JASON HIRSCHHORN: Echt schnell, nur, wenn Sie
wollen den Unterschied zu kennen zwischen einem char und einem String.
Also, wenn Sie mit dem Schreiben Zeug bist, wenn Sie so etwas wie "hallo"
das wird ein String sein.
So dass, wenn es zwei Anführungszeichen, es ist ein String.
Aber wenn ich zu einem "h" so, das ist ein String.
Aber wenn ich nur einen Zitat, das ist ein Zeichen.
Und so was ist der Unterschied könnte man fragen.
Nun, das ist der Unterschied Dies ist ein Byte des Speichers.
Dies ist 4 Byte Speicher.
>> SHARON: schweben?
Beschreiben Sie es wieder?
OK, es ist ein bisschen wie eine Reihe das hat eine Dezimalstelle mit ihm,
so 5.2 oder sogar 5.0 ist ein Schwimmer im Vergleich zu nur 5 ist ein int.
STUDENT: [unverständlich].
>> SHARON: Oh, es viele haben kann Dezimalstellen, so 5,675-3,1415.
Ja?
>> STUDENT: Müssen wir wissen, alle Größen für diese?
SHARON: Ja.
STUDENT: [unverständlich].
>> SHARON: Sie haben keine Sorgen über die weißen nur noch.
>> HANNAH: Die Erläuterungen sind bei CS50.net/sections gebucht.
STUDENT: Nur aus Neugier, ist es ein Utility
um zu wissen, die Größe der Dateien, die Sie sind Aufruf damit wir es kennen?
>> SHARON: Das sind also die Datentypen, aber ja.
Also in diesem Fall, die man mehr Speicherkapazität oder mehr Raum?
>> JASON HIRSCHHORN: Also Für ein konkretes Beispiel,
in Ich denke Problem Set vier oder fünf, wir sind
euch einen Haufen geben von Daten, und man im Grunde
haben, um die Daten zu durchlaufen.
Also ist es gut zu wissen, dass wenn Sie so viele Zahlen haben,
das wird, was sein.
Also sagen wir, ich habe Ihnen zehn Zahlen, was die Größe, dass?
STUDENT: 40.
JASON HIRSCHHORN: 40 Bytes, richtig.
So müssen Sie möglicherweise wissen, dass OK, ich muss 40 Byte springen.
Also sagen wir mal statt, es ist 40 Zeichen, Sagen dann- lass ich Ihnen 10 Zeichen,
dann wissen Sie, OK, nur ich müssen 10 Byte springen.
So ist es sehr nützlich, um die wissen Größe der tatsächlichen Datentypen,
weil viele Male Sie werde werden um die Daten springen,
so müssen Sie wissen, wie weit zu springen.
>> STUDENT: Was ist der Unterschied zwischen den Anführungszeichen und ein Quote?
>> JASON HIRSCHHORN: OK, zwei Zitate ist ein String.
Eine Quote ist ein char.
>> STUDENT: Wie operativ was ist der Unterschied?
Beide sagen hallo.
JASON HIRSCHHORN: Oh, sorry.
Dies ist nur h.
Es tut uns leid, das ist nicht klar.
>> STUDENT: Also die Besten one--
JASON HIRSCHHORN: Diese ist eine Zeichenfolge, yeah.
So ist es zwei Zeichen, oder?
String, hallo.
Aber lassen Sie uns sagen, dass ich gerade hatte ein einzelnes Zeichen,
wenn ich zwei Anführungszeichen nur h, das ist ein String.
Dies ist ein String h.
Ist das sinnvoll?
Das ist also vier Bytes.
Aber lassen Sie uns sagen, ich losgeworden dieser eine nur legte eine.
Ein Zitat.
Dies ist nun ein char, ein char h.
Also genau dasselbe, anderen Datentyp.
Dies ist nur ein Byte, wohin die Saite war vier Bytes.
Ja.
STUDENT: Also, wenn Sie versuchten, ein Wort wie David zu speichern,
Sie würden, um eine Zeichenfolge, weil verwenden möchten unabhängig davon, wie lange die Zeichenfolge,
es dauert nur vier Bytes es sei denn, es ist ein langer, langer
oder ein Doppelzimmer, in denen case-- also wenn es erstreckt sich über vier Zeichen, dann
Sie es in String machen wollen.
Ist das die allgemeine Logik hinter.
JASON HIRSCHHORN: Wenn es reicht über ein Zeichen, es ist ein String.
>> STUDENT: Also gibt es keine [unverständlich] zur Speicherung eines mit vier Buchstaben
Wort als vier einzelne oder drei Buchstaben Wort als drei einzelne Zeichen
denn das wird nur drei Bytes sein, Im Gegensatz zu den drei Teilstring.
JASON HIRSCHHORN: Man könnte das tun.
Sie könnten das tun, aber ich weiß nicht denke, das ist wirklich lohnt,
weil Sie nur sparen ein Byte.
Du weißt, was ich sage?
Im großen Plan der Dinge, das wird nicht wirklich wichtig.
Aber zum Beispiel, printf, wenn Sie drucken f und du bist
haben drei Zeichen können Sie drucken dass out-- sagen wir, Sie C-A-T,
Sie kann nur durch Druck Katze Führen Sie einen char ein Zeichen ein Zeichen,
oder kann man aus String Katze drucken.
Es ist genau dasselbe.
So können Sie es so tun konnte, aber--
>> STUDENT: Es wird nicht um Ihnen so viel zu sparen.
>> JASON HIRSCHHORN: Yeah.
Die Kopfschmerzen, dass es induzieren ist es nicht wert.
Ja?
>> STUDENT: Zum Beispiel, Ihnen hatte man den h
gegen zwei, die einfache oder doppelte Anführungszeichen.
Warum würden Sie speichern möchten ein einzelner Buchstabe als String zurück.
Welchen Zweck hat, dass überhaupt dienen?
JASON HIRSCHHORN: Ich weiß es nicht.
Ich meine, es ist wirklich hängt von dem Programm.
Zum Beispiel denke ich später Sie in Befehlszeile Zeug zu bekommen.
So zum Beispiel, anstatt mich fragen Sie nach einem integer-- sorry,
kann ich in dir sprechen?
HANNAH: Ja.
>> JASON HIRSCHHORN: Also beispielsweise anstelle
von mir um etwas bitten mit get Ende, das
Ich denke, man könnte einen Vortrag gesehen haben, es könnte eine Befehlszeile sein.
Sie geben es einfach in die Befehlszeile.
/ Hello4 oder - es wäre, etwas, oder helloh h, was auch immer.
Sie tun es auf der Kommandozeile anstatt danach gefragt,
dass Befehlszeile ist immer ein String, ob es sich um ein vier-oder h,
das ist immer ein String.
Also das ist ein Beispiel, wenn Sie vielleicht haben ein einzigartiges Buchstabe oder eine singuläre
Nummer als Zeichenfolge dargestellt.
SHARON: Alles klar.
Und dann sind hier einige grundlegende Operatoren.
Hoffentlich haben Sie mit vertraut sind die ersten vier nur im Allgemeinen.
Es gibt also addieren, subtrahieren, Multiplizieren und Dividieren,
und stellen Sie sicher, Sie verwenden die richtigen Tastatureingaben.
>> Und dann gibt es auch Modulo, die einige von euch vielleicht nicht sehr vertraut mit sein.
Und was Modulo tut ist, dass wenn wir dieses Beispiel 4% 2,
er den Rest nimmt , was das bedeutet in der Division.
So 4 geteilt durch 2 = 2 ist, und es gibt keinen Rest.
4 geteilt durch 3 = 1 ist und 1/3, und so den Rest 1.
So ist es berechnet zu eins.
Und dann 4% 5 ist die Bruch 4/5, und der Rest 4 ist.
Ist das sinnvoll?
OK, cool.
Und wir folgen PEMDAS hier.
>> So einige Booleschen Ausdrücken.
So euch gesehen haben gleich equals Vergleichen, sagen wir, zwei Zahlen.
Also, wenn 5 gleich gleich 5, dass berechnet auf true.
Vergewissern Sie sich, nur ein Gleichheitszeichen.
Für nicht Gleichen, es ist prallt bzw. Ausruf.
>> HANNAH: Zwei Gleichheitszeichen wenn Sie die Gleichstellung zu tun.
>> SHARON: Oh, ja.
Achten Sie darauf, nicht zu tun eine haben Gleichheitszeichen.
Und dann für nicht Gleichen, es ist Knall gleich.
Und dann kann man durchsehen weniger als, größer.
Und dann haben wir logisch und und logische oder direkt hier.
Und was das bedeutet ist, wenn Sie erinnern in Scratch
wenn Sie diesen Block hatte dass gesagt und, und dann
könnten zwei verschiedene Stücke passen es ist das, was diese und tut.
Und stellen Sie sicher, dass Sie zwei kaufmännische Und tun.
Und dieser Schlüssel, den Sie in Richtung der finden rechts, direkt unter Schaltfläche Löschen.
Question?
>> STUDENT: Was war die [unverständlich]?
>> SHARON: OK, also, wenn Sie nur tun, ein, Du vergleichst Bits.
Also, wenn Sie daran erinnern, was Bits sind, sie sind 0 und 1 ist, und so
das ist etwas anderes zu vergleichen.
Wir werden also auf diese für jetzt konzentrieren.
>> JASON HIRSCHHORN: Also eins gleich ist wie Zuordnung, nicht wahr?
So wie int x = 4.
Sie sagen, dass die Variable x gleich 4.
Also 1 gleich ist Zuordnung, aber die ands und die Rohre
oder die Bars, wie Sharon sagte sie bitweise Operatoren.
Sie brauchen nicht zu befürchten, dass.
>> STUDENT: Wann möchten Sie logische verwenden und und logische oder wieder?
Ich habe gerade vergessen, wenn du das tust.
>> HANNAH: Sicher, so dass, wenn Sie jemals wollen zu überprüfen, ob zwei Dinge wahr sind,
zum Beispiel, sagen wir, ich will, um zu überprüfen dass eine Zahl zwischen 5 und 15,
Ich würde sagen, um sicherzustellen, dass die Zahl größer als 5 ist.
Also sagen wir mal, wenn x größer ist als 5 und weniger als 15.
So, damit dieser ganze Anweisung, um wahr zu bewerten,
Sie beide von der Art der Unter brauchen Anweisungen zur Bewertung der wahren.
Mit oder brauchen Sie nur einer der beiden oder beide.
STUDENT: Great, danke.
>> SHARON: Und auch in Scratch, ich bin in vielen Ihrer Projekte sicher
Sie hatten, wenn die Kante oder wenn berühren Berühren anderes Sprite dann hüpfen
oder so etwas.
HANNAH: Okay, also warum tun wir kümmern uns um all diese Boolesche?
Wir haben diese Strukturen, die Sie haben in Scratch genannt conditionals gesehen.
Und Bedingungen sind alles andere von der bilden, wenn eine bestimmte Bedingung oder ein Boolean
wahr ist, dann tun Sie den Code zwischen diesen geschweiften Klammern.
So können Sie sich auf der rechten Seite sehen können hier ist der Scratch-Block.
Sie haben dies, wenn dann, und alles, dass geht in diesem kleinen Form, die
sieht aus wie this-- i weiß nicht, was Sie möchten
rufen dass-- das ist zu gehen sein die Boolesche oder Bedingung.
>> Also noch einmal, ein Boolean oder Bedingung ist alles
dass entweder wahr oder falsch zu bewerten.
Und wieder können Sie Boolesche kombinieren.
Sie können wiederum größer ist x als 5 ist und x kleiner als 15.
Oder Sie können einfach nur ein jener x kleiner als 5 ist.
>> OK, also in C Es ist auf der linken Seite.
Es ist einfach das Schlüsselwort, wenn.
In Klammern die Bedingung oder die Boolesche.
Und dann wird der Code zwischen diese beiden geschweiften Klammern
nur ausführen, wird nur ausgeführt, wenn die Voraussetzung oder dass Boolean ist wahr.
Ist das sinnvoll?
Genial.
Ok.
Und dann, wie Sie können in Scratch gesehen haben,
Wir können auch auf ein Add anderes, das ist im Grunde
nichts zwischen den geschweiften Klammern unter anderem
werden nur ausgeführt, wenn die Bedingung falsch ist.
Sinnvoll?
Fragen zu diesen beiden?
Genial.
>> Cool.
Also hier ist ein kleines Beispiel.
Nehmen wir an, wir wollen zu bestimmen, basierend auf der Zeit,
ob wir gut sagen Morgen oder guten Abend.
Ich werde sagen, wenn es bis 12.00 Uhr, wir werden einen guten Morgen zu sagen,
sonst werden wir zu sagen, guten Abend.
Und das nicht anders, als ich sagte, das entspricht in C zu diesem anderen.
So werden wir, wenn das Kontroll Militärzeit weniger als 12:00,
guten Morgen sagen.
Ansonsten sagen guten Abend.
>> STUDENT: Also wir würden tatsächlich bekommen, dass die Eingabe für militärische Zeit mit der get-String.
HANNAH: Richtig.
Wussten Irgendwo anders eigentlich sollten wir haben, diese Informationen zu liefern.
Genau hier hat es keinen Wert.
Wir haben nie selbst erklärte sie.
Ich gehe davon aus, dass irgendwo über Dieses Programm, erklärte ich die Zeit,
oder fragte der Zeit oder-- alles andere mit diesem Beispiel?
Genial.
>> OK, jetzt zusätzlich haben wir zu einfach, wenn anderes Format,
wir haben zwei andere unterschiedliche Strukturen.
Also zuerst müssen wir den Schalter Aussage, und hier ist
die allgemeine Form einer Switch-Anweisung.
Sie haben das Stichwort wechseln die Ebenso haben Sie das Stichwort, wenn.
Und dann ein Eingangs, in diesem Fall n.
Also das kann nur mit ganzen Zahlen zu arbeiten.
Also, dass die Eingabe n um eine ganze Zahl sein, OK?
Und wir sind zu gehen folgen einem dieser Fälle
je nachdem, was der Wert n ist.
>> Also in diesem Fall, müssen Sie zunächst vergleichen n ist gleich einer Konstante,
wenn es ist, alles tun, Art rückt hier.
Ich kann auf ihn verweisen, weil ich zu kurz.
Wenn es nicht gleich konstant ein und stattdessen gleich zwei konstanten,
wir werden diesen zweiten Block folgen, und wir können dies so oft tun
wie wir wollen, und dann, dass Standard ist, wenn sie nicht mit irgendeinem der obigen Fälle,
auszuführen, dass Code.
Noch Fragen hier?
Dies ist ein wenig komplizierter.
Ja?
>> STUDENT: Bruch bedeutet was?
>> HANNAH: Sicher, so dass, sobald wir geben dieser Block, wenn wir feststellen, sagen wir mal,
unser n ist in der Tat gleich konstant ein, Wir geben diesen Block nach dem Doppelpunkt.
Wir tun, was auf diese Linie zu kommentieren,
und dann werden wir brechen, was bedeutet, wir bekommen dieser Switch-Anweisung vollständig.
STUDENT: OK.
>> HANNAH: Mm-hm?
>> STUDENT: Ist der Einbuchtung notwendig, oder brauchen Sie [unverständlich]?
HANNAH: Sicher.
Also, wie immer, Einbuchtung ist nicht unbedingt notwendig.
Der Computer funktioniert nicht egal, ob du einrücken.
Wir, als Menschen, die sind Lesen Sie den Code, nicht egal.
So ist es viel einfacher, nachschlagen auf den Bildschirm
und sehen, oh, ich weiß genau, was geschieht, wenn n gleich eins ist konstant.
Wenn ich zufällig Einzüge, I wäre nicht in der Lage, so leicht zu sagen.
Ja?
>> STUDENT: Also, wenn wollte es einem Benutzer, wählen Sie eine der Optionen, die
haben wir auf der Liste, würde wir, glaube ich, [unverständlich],
sondern erhalten eine ganze Zahl von sie und legte, dass in n?
HANNAH: Genau richtig.
Also lassen Sie uns sagen, wir wollten in welchem ​​ganze Zahl zu überprüfen.
Wir haben gesagt, oh, geben Sie eine ganze Zahl zwischen 0 und 5, sagen wir.
Wir konnten für das fragen n, fragen Sie nach diesem Wert,
und dann jeden dieser Fälle.
Und auch dies ist etwas, was wir konnten mit if-Anweisungen sehr leicht tun,
richtig?
Wir könnten, wenn gleich zu Fall eine, wenn gleich zwei Fall
wenn gleich drei Fall so weiter und so fort.
Dies ist ein wenig schneller und ein wenig sauberer.
Es ist eine Art oder einen guten Struktur jetzt.
STUDENT: Schneller als schriftlich?
Oder macht es laufen die Computer ein wenig schneller?
>> HANNAH: Es läuft ein wenig schneller.
Ja?
>> STUDENT: Also das Doppel Bindestrich ist nur kommentieren oder--
>> HANNAH: Oh, tut mir so leid.
Ich habe nicht darauf, dass aus.
OK, wenn Sie diese // haben, ist ein Kommentar.
Nur // ist ein Kommentar.
Also jederzeit der Computer sieht, dass, es geht
OK zu sagen, alles, was folgt Dazu werde ich einfach zu ignorieren.
Ich werde Sie so tun, nicht einmal schrieb, dass.
>> STUDENT: Also das [unverständlich].
>> HANNAH: Dies tut absolut nichts.
Aber wenn ich so etwas wie auf dem geschrieben ersten Kommentar schrieb ich statt printf
sagen Sie eingegeben Glückwünsche Konstante ein, die etwas sein würde.
Ja?
>> STUDENT: Also im realen Leben, die Fall wäre einfach nur eine Zahl sein
und dann [unverständlich] wäre eine andere Zahl sein.
>> HANNAH: Genau.
>> STUDENT: Und sehen Sie die Ellipsen benötigen?
>> HANNAH: Sorry?
>> STUDENT: Müssen Sie das?
>> HANNAH: Oh, nein.
Es tut mir leid.
Das war nur, um anzuzeigen, dass Sie gehen für so viele Fälle wie Sie wollen.
Lassen Sie uns ein konkretes Beispiel, dass vielleicht machen die Dinge ein wenig klarer.
OK, so sagen wir, ich sage, OK, gib mir eine ganze Zahl n
dass eine Klassennummer, speziell ein Informatik-Klasse
Nummer.
Also, wenn Sie mich 50 zu geben, Ich werde sagen, toll.
CS50 ist eine Einführung in Computer Wissenschaft, und dann werde ich brechen.
Das heißt also, ich aus springen diese ganze Switch-Anweisung,
so jetzt bin ich fertig Ausführen des Codes, OK?
>> Wenn du mir gegeben hast, statt 51, würde ich druckt die zweite Aussage.
Und dann, wenn du mir gegeben hast einige Zahl, die nicht 50 oder 51 war,
Ich werde sagen, sorry, ich bin nicht vertraut mit dieser Klasse.
Ja?
>> STUDENT: Sie haben keine Pause.
>> HANNAH: Tut mir leid, ich habe keine Pause?
>> STUDENT: Was wäre, wenn.
>> HANNAH: Oh, was ist, wenn Sie müssen nicht Pause?
Gute Frage.
Also, was passieren würde, wird Sie gehen in, und Sie würden prüfen bin ich gleich 50?
Und lassen Sie uns sagen, ja, gleich waren Sie bis 50, möchten Sie die Anweisung zu drucken.
Und dann würden Sie weiter ausgeführt, so würden Sie sagen ich bin gleich 51?
Und Sie würden auf und gehen durch jeden Fall so?
Ja?
>> STUDENT: Ist die Standardleitung analog zu sagen sonst?
HANNAH: Genau.
Sehr gut.
Es ist wie die Art zu fangen alle.
>> STUDENT: Also, wenn Sie nicht über Pause und dann eine der Case-Anweisungen
stimmte, und dann ist es sagte Anstieg n um 1,
dann wird es automatisch würde machen die nächste.
Es wäre bei 51 zu überprüfen, und zeigt dann, dass auch?
HANNAH: Ja, ich denke das würde funktionieren.
Also könnte man Art von etwas unübersichtlich werden, so eine Pause ist eine gute Sache zu haben.
Ja?
STUDENT: Ohne Pause würde es tun die Standard?
HANNAH: Das ist eine gute Frage.
JASON HIRSCHHORN: Ich denke, es läuft einfach.
Also, wenn Sie nicht break-- so haben sagen wir, ich habe 50 und es wird geprüft 50,
und es wäre, dass ausdrucken.
Drucken Sie CS50 als Einführung in die Informatik.
Sie haben keine Pause, sollte es gehen und weiter, bis es eine Pause trifft.
Also, wenn es keine Pause, es geht um weiterzumachen.
Es wird alles andere auszudrucken.
>> HANNAH: Also ich denke, das wäre sein einschließlich der Standard.
>> JASON HIRSCHHORN: Yeah.
>> HANNAH: Gute Frage.
Ja?
STUDENT: Ist Fall betrachtet eine Funktion?
HANNAH: Es tut mir leid?
STUDENT: Ist Fall betrachtet eine Funktion?
HANNAH: Ist Fall betrachtet eine Funktion.
Ich würde zögern, das zu sagen.
>> JASON HIRSCHHORN: Also normalerweise wenn Sie Funktionen zu sehen
sie werden in geschweifte Klammern sein.
So zum Beispiel, wenn man sich auf den Code zum Beispiel Haupt.
Es war Haupt offenen paren, dann nichtig, nah paren.
Functions-- sie sind im Grunde immer Sie Klammern sehen.
Also dann, wenn bei nicht irgendwelche Klammern,
das ist Ihre Ahnung, dass das ist nicht eine Funktion.
Aber es ist nicht.
Ja?
>> STUDENT: Also tut machen schalten eine Funktion?
>> HANNAH: Funktioniert das macht schalten Sie eine Funktion.
>> STUDENT: In dem Sinne, dass Sie etwas in,
es gibt Ihnen einen der Fälle.
JASON HIRSCHHORN: Ich nicht nennen wäre es eine Funktion.
Nicht alles, was mit Pars eine Funktion ist.
Ich meine, das ist ein Hinweis darauf, daß es eine Funktion ist.
Ich würde nicht sagen, Schalter ein Funktion, weil es nicht wirklich
nichts zurück.
Sie werden in diesen mehr zu bekommen.
>> HANNAH: Ja, man denke nur an es als eine if-Struktur.
STUDENT: Können Sie Nest dies in einer if-Struktur?
HANNAH: Ja, Sie Nest so ziemlich alles.
>> STUDENT: Barry sagte, die Zitate sind ein bisschen wie der gleiche wie sonst.
So können Sie die Anführungszeichen mit anderen austauschen?
>> HANNAH: Nicht in diesem besonderen Struktur, da der Schalter
Rechnung rechnet das Wort Standard.
Der Computer weiß, dass Standard bedeutet etwas Besonderes, dass
bedeutet die catch all.
Alles andere zu diesem Thema.
Wir haben noch eine weitere, um durchzukommen.
Ja?
>> STUDENT: [unverständlich].
HANNAH: Differenz zwischen Mit einem Semikolon und einem Doppelpunkt.
Also ein Semikolon ist immer, die sagen, Computer, den ich mit dieser Linie gemacht.
Sie können weiter gehen und ausführen.
Dies ist eine komplette Linie.
Ein Doppelpunkt wird gehen, in diesem Fall, bringen Sie in einem bestimmten Block.
So Semikolons sind immer verwenden, um Linien zu beenden.
Doppelpunkte werden für ein gebrauchtes Vielzahl von anderen Fällen.
>> STUDENT: entspricht dies nur sagen, wenn n gleich 50, dann
blah blah blah.
HANNAH: Mm-hm.
STUDENT: Es ist genau das gleiche [unverständlich].
HANNAH: Genau.
Und wir sagten, es läuft ein wenig schneller.
Wenn wir nicht über die Pause es wäre, wenn, wenn, wenn.
Wenn wir haben die Pause, ist es wie wenn else if else if else if.
Cool?
>> JASON HIRSCHHORN: Also, wenn Codierung, können Sie einfach, wenn andere,
aber ich glaube, im letzten Jahr auf der Quiz wir hatten sie eine switch-Anweisung zu schreiben,
so nur für den Fall.
HANNAH: Aber auf jeden Fall nichts falsch.
Wir werden nicht erwartet, dass Sie sich sorgen über Leistung verrückte Dinge.
Nur wenn andere ist völlig in Ordnung.
Dies sind nur gute Dinge bewusst zu sein.
>> Und hier ist unsere letzte, die Art von fällt unter diese bedingte Kategorie.
Wir haben etwas von der allgemeine Form Zustand?,
und dann ein kleines Stück Code, geschieht, wenn die Bedingung wahr ist.
Und Dickdarm, ein wenig Stück Code,
ausgeführt, wenn die Bedingung falsch ist, Semikolon.
Wir haben es mit dieser Linie gemacht.
So syntaktisch es ist ein bisschen hässlich.
Wir werden durch ein zu gehen Beispiel Ich denke, das ist den meisten klar.
So zuweisen möchten wir der String-Professor
eine dieser beiden Werte, entweder David Malan oder nicht David Malan, OK?
So sollten Sie vertraut sein mit der Zeichenfolge, Professor =.
Wir werden einen String zuweisen auf die Variable namens Professor.
>> Nun, um einen Scheck wollen wir bestimmten Zustand.
In diesem Fall, unsere Bedingung ist class_num = = 50.
Und nun könnte ein rechtzeitig darauf hinzuweisen,
wenn wir über String-Professor =, Das ist ein Gleichheitszeichen.
Das ist Aufgabe.
Während in class_num = = 50, das ist zwei Gleichheitszeichen.
Das ist eine Qualitätsprüfung.
Also werden wir sagen, ist die Klassenzahl gleich 50?
Wenn ja, weisen Professor David Malan.
Falls nicht, weisen Professor David Malan nicht.
Haben Sie noch Fragen gibt?
Auch dies ist nur etwas, das ist gut zu wissen.
Man könnte dies mit, wenn anderes zu tun.
Eine gute Praxis Problem könnte sein, wenn
Sie nach Hause gehen, rechts das gleiche genaue bedingten in einem if else Form,
da kann man das tun.
Noch Fragen hier?
Alles klar, ich denke, wir sind los zu gehen, um Schleifen.
Genial.
>> SHARON: OK, lass uns reden über While-Schleifen.
Also zuerst auf der linken Seite sehen Sie hier-- OK, dass sagt, während, während (Bedingung).
Und dann haben Sie this-- tun können wir das ändern?
>> JASON HIRSCHHORN: Es ist abgeschnitten.
>> SHARON: OK, und dann gibt auch geschweifte Klammern.
So tun, als ob lockig Zahnspangen sind da oben
und unter der hierzu wieder.
Also, wenn die Bedingung in denen Klammern true ergibt,
dann sollten Sie weiterhin tun, was in der while-Schleife.
>> So zum Beispiel, könnten wir tun eine Praxis Problem.
Ich trage zwei Ohrringe gerade jetzt, so sagen wir,
wenn ich trage zumindest eine hören, die Hände klatschen.
Also, wenn wir gehen, um zu gehen durch diese, wir going--
>> [KLATSCHEN]
>> Richtig?
Und ich trage eine, und-- OK.
Ja.
Ich trage Ohrringe mehr, also nicht mehr.
OK, also dann ist das, wenn Sie aufhören würden.
Und das könnte man sagen ist das entspricht fast Variablen.
Angenommen, Sie haben ein variable Anzahl von Ohrringen.
So, während Reihe von Ohrringen größer als oder gleich 1 ist, klatschen.
Und dann nach clap Hände, Dekrement Ohrringe.
Machen Sie es wie Ohrringe minus 1.
So verringern Sie die Anzahl der Ohrringe und dann werden Sie durch die while-Schleife gehen
zweimal.
>> Und wenn die Bedingung immer true-- also, wenn, sagen wir, 2 = = 2,
und 2 ist immer gleich 2, oder?
Dann würden Sie immer tun etwas drin,
und das ist, das entspricht fast der forever-Schleife, die wir in Scratch hatte.
Ja?
>> STUDENT: Sind die beiden Seiten nur unterschiedliche Schreibweisen eine while-Schleife?
>> SHARON: Also wir sind fokussiert auf diesem ersten.
Und dann, so lassen Sie uns vergleichen sie mit einem do while-Schleife.
So sind sie etwas anders.
OK, also sagen wir mal die Bedingung noch während ich trage mindestens einen Ohrring,
und ich bin nicht angeschnallt alle Ohrringe jetzt.
Und lassen Sie uns sagen, tun und noch klatschen, während Ich trage mindestens einen Ohrring.
Was soll passieren?
>> [CLAPS]
>> Uh oh, Jungs.
OK, also du sollst zu klatschen einmal, weil im Grunde
gehen durch den ersten Teil des Codes.
Sie tun es, egal was, und dann sehen Sie die while-Bedingung,
und Sie wieder in gehen dass Schleife, wenn es wahr ist.
Macht das Sinn macht?
>> STUDENT: Sie immer tun Sie es das erste Mal.
SHARON: Sie tun es die immer erstmals unabhängig von
oder nicht, dass die Bedingung wahr ist oder nicht.
JASON HIRSCHHORN: Wann Sie denken, Sie könnten so?
Wann ist es sinnvoll, diese zu verwenden?
HANNAH: Ja?
STUDENT: [unverständlich].
JASON HIRSCHHORN: Richtig.
HANNAH: Sehr gut.
JASON HIRSCHHORN: Also wenn Sie einen Benutzer auffordern,
Sie gehen zu wollen immer bist einem Benutzer gleichzeitig aufgefordert.
Du bist immer gehen zu wollen, um dem Benutzer ein Mal aufgefordert.
Also anstatt in einer while-Schleife, die Sie
legte in do while-Schleife, weil Sie immer dabei, es einmal zu tun.
Wenn sie gern die richtige Antwort, sind Sie fertig.
Wenn sie es nicht tun, dann werden Sie erneut aufgefordert sie.
>> SHARON: All right, for-Schleifen.
So in Scratch, hatten wir Wiederholungsblöcke.
Also wollten wir etwas zu wiederholen, sagen wir mal, siebenmal.
Also sagten wir nur wiederholen sieben und sagen, ich bin hier, um Ihnen zu helfen, Schneewittchen!
In C, für Schleifen haben wir, wenn wir wollen durch etwas gehen
eine bestimmte Anzahl von Malen.
Nehmen wir an, wenn wir zu initialisieren die variablen Zwerge
und machen sure-- so den ersten Block genau dort vor dem ersten Semikolon,
wir unsere Variable initialisieren zu, und wir setzen es auf 0.
Und unsere Variable gibt eine ganze Zahl ist, Int.
Und der Name der Variablen ist Zwerge, und wir setzen Zwerge auf 0.
>> Und der zweite Teil zwischen dem zwei Semikolons ist unsere Bedingung.
Und so lange, wie Zwergen weniger als sieben,
wir halten Sie durch diese for-Schleife.
Und dann der letzte Teil ist, was zu tun wir tun am Ende dieser for-Schleife?
Zwerge ++ und das bedeutet, dass wir inkrementieren Zwerge zählt jedesmal.
>> Also, was ist hier geschehen?
Also zuerst, wir werden durchlaufen.
Wir haben Zwerge als 0, und dann werden wir
zum Drucken Ich bin hier, um Ihnen helfen, Schneewittchen!
Und dann Zwerge zu gehen erhöhen, weil wir gesagt Zwerge ++.
Zwerge wird 1 sein.
Und dann compare-- wir Zwerge ist 1.
Wir vergleichen ihn mit Zwergen weniger als 7 ist?
Ja.
Ich werde durch diese wieder gehen.
Ich bin hier, um Ihnen zu helfen, Schneewittchen!
Und dann Zwerge wird 2, und dann vergleichen wir es.
Ist 2 weniger als 7?
Ja.
Wir werden halten durchmacht.
Und wir gehen durch diese siebenmal.
>> Also am Ende, wir sind zu gehen haben Zwerge = 0 print out Ich bin
hier, um Ihnen zu helfen, Schneewittchen!
Zwergen gleich 1, 2, 3, 4, 5 und 6.
Erinnern wir uns Index bei 0.
Also beginnen wir mit 0.
Ja?
>> STUDENT: Das ist also anders als die do
denn dies wird nicht gedruckt zunächst bei zuerst.
So könnte man die gleiche Sache fortzusetzen.
Könnten Sie dies auch mit der DO-Schleife zu tun?
Wie der gleiche Prozess.
Der Zustand ist Zwerge weniger als 7 oder was auch immer.
Reaktion weniger als 7.
SHARON: so konnte man technisch.
Also, wenn wir zurückgehen zu-- Ihre Reden über die while-Schleife, oder?
Also die do while-Schleife ist etwas anders
denn wir garantieren mindestens einmal, dass wir durch sie gehen,
Also das ist der größte Unterschied.
Aber mit der while-Schleife wir konnten dh während Zwergen weniger als 7,
dies zu tun, und dann Inkrementieren Zwergen um eins.
Und dann haben wir die Initialisierung Zwerge vor dieser ganzen Aussage
daß es gleich 0 ist.
Also ja, wir könnten das damit zu tun.
Mm-hm?
>> STUDENT: Können Sie zurück zu [unverständlich] gehen?
SHARON: For-Schleife?
STUDENT: Ja, so mit den Zwergen ++, scheint, wie das ist, was Sie nach tun
Sie einige andere Mittel lief habe.
SHARON: Richtig.
STUDENT: Könnten Sie nicht haben und legte es--
SHARON: Du könntest.
STUDENT: Also ist [unverständlich] direkt nach Ausdrucken in der nächsten Zeile darunter.
SHARON: Ja, können Sie es dort setzen könnte.
Aber dann würden Sie lassen Sie einfach die leer.
>> JASON HIRSCHHORN: Sie haben noch brauchen das Semikolon aber.
>> SHARON: Es sieht ein wenig umständlich, aber man konnte technisch tun.
Technisch.
Bitte nicht.
Ja?
>> STUDENT: Gibt es Alternativen zu ++?
Gibt es noch etwas [unverständlich]?
>> SHARON: Technisch ist es die Zwerge.
Ein Gleichheitszeichen werden wir um es in Zwerge plus 1 gesetzt.
Technisch ist das was Zwerge ++ Mittel.
Ist das sinnvoll?
>> STUDENT: Ja, aber sind es Alternativen?
Wie, wenn Sie ever--
>> SHARON: Ja, du Zwerge tun konnte - -.
>> STUDENT: [unverständlich].
>> SHARON: Ja, könnten Sie tun eine Menge Dinge.
HANNAH: Und Sie um 2 erhöhen konnte.
Sie konnten um 3 zu erhöhen.
Alles, was los ist sich zu ändern, es wird schließlich machen die Bedingung.
>> STUDENT: Also, wenn Sie zu erhöhen wollte von 2, wie würden Sie das geschrieben?
>> HANNAH: Sie konnten entweder schreiben dwarves-- Sie könnte die ganze Sache schreiben.
Zwerge = Zwerge + 2.
Oder ein wenig Kurzschrift.
Ich werde einfach schreiben + gleich 2.
>> STUDENT: OK, und Sie würden zu schreiben genau dort, wo Zwerge ++ ist da.
HANNAH: Genau.
SHARON: Richtig.
Es war eine andere Frage?
Ja?
>> STUDENT: [unverständlich] Zwerge ++?
SHARON: Also don't--
JASON HIRSCHHORN: Ja, nicht brauchen es dort. [Unverständlich] Ende.
So müssen Sie [unverständlich] diejenigen, weil du bist
Art der Aufspaltung der Initialisierung Zustand und die Veränderung.
Ganz am Ende, Sie brauchen es nicht.
SHARON: Beachten Sie auch, Sie nicht das Semikolon müssen
nachdem die gesamte gesamte for-Schleife.
>> STUDENT: Wie würden Sie den Anfang eine erste Reihe von negativen,
beispielsweise?
>> SHARON: Sie können zu initialisieren Zwerge Negativ gleich 2.
>> STUDENT: Haben Sie gerade Dash 2?
>> SHARON: Ja, so dass die negatives Vorzeichen, Strich 2.
>> STUDENT: Ist es [unverständlich], um initialisieren als Zwerge [unverständlich]?
>> SHARON: Ja.
Also, wenn wir gerade initialisiert Zwerge früher, nur tun int Zwerge Semikolon,
und dann gibt es was wir tun können Zwerge eingestellt, dass gleich 0.
>> STUDENT: Könnten wir es früher in tun das Programm sagen int Zwerge = 0,
und dann just--
>> SHARON: Nur nicht so have-- es würde ein Raum wieder,
aber Sie müssen noch würde ein Semikolon.
Ja.
Mm-hm?
STUDENT: Hat dieser Code sagen, was der Wert der Zwerge ist danach.
Wenn Sie es nach all der Fragen ist dies getan werden, um den Wert der Zwerge zu drucken.
SHARON: Man könnte es bitten, das zu tun.
STUDENT: OK.
SHARON: Aber Sie würden haben, um es zu bitten, das zu tun.
Es ist nicht für Sie tun.
Ich habe Angst um meine Ohrringe wieder einsetzen.
Tun Sie es am Ende für den Applaus.
Nur ein Scherz.
>> JASON HIRSCHHORN: Also das ist das gleiche.
So initialisieren an der Spitze.
Zustand, drucken, ändern.
So ist dies genau das gleiche wie dass, wenn jemand kann das sehen.
STUDENT: Warum haben Sie nicht die Semikolon in der ersten Zeile?
SHARON: Wo?
STUDENT: Nach der ersten Zeile.
SHARON: Nach der 4 in den Klammern?
Da wollen wir hin Durch in dieser Schleife.
Und wenn Sie einen Blick auf Schleifen im nehmen Generell haben sie keine Semikolons.
Es ist nicht praktisch.
Sind wir gut?
Eine Frage noch, zwei weitere.
Ja?
STUDENT: Dies könnte ein wenig vorgeschoben,
aber tun Zwerge haben ein verschiedene [unverständlich]
aus einer Variablen [unverständlich].
SHARON: Sehr gut.
STUDENT: [unverständlich].
>> SHARON: Ja, es ist.
Was?
JASON HIRSCHHORN: Ja, so ist es nicht.
Also normalerweise der Umfang der etwas in den geschweiften Klammern.
So Umfang wird immer in geschweiften Klammern werden,
aber das nicht machen würde viel Sinn für die for-Schleife
weil wir initialisiert Zwerge in dieser geschweiften Klammer.
Also normalerweise der Umfang der Zwerge, dass Variable wäre nicht in der Vergangenheit, dass zu verlängern.
Dies ist ein Sonderfall aber.
So können Sie es zu initialisieren innerhalb dieser Klammern,
und dann können Sie den Umfang haben später.
Also Sonderfall.
Sie sollten nicht über das, und dass was--, die Sinn machen?
>> STUDENT: No.
>> JASON HIRSCHHORN: Ich kann über sie gehen.
Also, was sind Sie immer noch verwirrt über?
>> STUDENT: Wie in können Sie verwenden dwarves-- Sie kann offensichtlich verwenden Zwerge [unverständlich]
außerhalb der Formel auch?
>> JASON HIRSCHHORN: Nein, nein.
So dass der Umfang der es nur innerhalb der geschweiften Klammern für die for-Schleife, yeah.
SHARON: Aber wenn Sie initialisieren Zwerge außerhalb der for-Schleife, dann
Sie können es an anderer Stelle verwenden Es gibt noch eine Frage?
Nein?
Ok.
>> So sprachen wir ein wenig über nisten for-Schleifen oder Verschachtelung conditionals,
if-Anweisungen.
Also hier ist ein Beispiel dafür, wir konnten Nest eine for-Schleife.
Sagen wir, wir Druck wurden Diese Tabelle von x ist hier richtig.
Vielleicht wollen wir zu-- zuerst, wenn wir einfach nicht auf den Code schauen
und wir haben gerade darüber nachdenkt, wir wollen durch jede Zeile gehen
und drucken Sie jede Spalte, nicht wahr?
Ist das sinnvoll?
Ok.
>> So, hier sind wir durchmachen jede Zeile für grundsätzlich jeder Reihe,
und es gibt drei Zeilen.
Und dann in jeder Reihe für jede Spalte, und
gibt vier Säulen, drucken Sie eine x.
so.
Wenn Zeile 0 und Spalte 0 ist, drucken wir diese x.
Und dann werden wir weitermachen durch die Säule Schleife.
Zeile immer noch 0 ist, aber Spalte gehört.
Und Spalte 2, und dann Spalte 3.
Und dann verlassen wir aus, dass Schleife, weil dann Spalte
nicht mehr kleiner als 4 ist.
Und dann drucken wir eine neue Linie, und wir gehen auf die neue Linie.
Und dann durch die nächste gehen wir Zeile und Zeile wird erhöht,
und wir durchmachen erneut.
Ist das sinnvoll?
Ja?
>> STUDENT: So nisten [unverständlich] ist nur darum, es in der for-Schleife?
>> SHARON: Also Verschachtelung bedeutet, dass wir haben eine for-Schleife in eine for-Schleife,
wie Inception.
>> STUDENT: Sie brauchen nicht ein Sonderdreh oder irgendetwas?
Sie kleben es genau richtig innerhalb der IT?
SHARON: Richtig.
Ja?
>> STUDENT: Könnte sein [unverständlich], aber es sieht aus, als gäbe es ein extra Raum
zwischen allen x ist.
Ich weiß nicht, ob that's-- Wenn das waren, um das Programm tatsächlich tun,
wäre es so etwas tun?
>> SHARON: Also nein.
Das wurde mit Enter.
Das war schlimm für uns.
Entschuldigen.
>> HANNAH: Wie würden Sie das ändern Programm, wenn Sie eine zusätzliche Zeile getan hat?
>> STUDENT: [unverständlich].
SHARON: Guter Job.
STUDENT: Sie können auch das gleiche zu drucken was durch Einschalten um die Säule,
richtig?
>> SHARON: Hm?
>> STUDENT: Also, Ihr kleines drucken xxx, die erste Zeile können Druck sagen,
und anstatt zu sagen Reihe, sagt Spalte.
>> SHARON: Sie verändern könnte die Variablennamen, das zu tun.
Ist das, was du sagst?
>> STUDENT: Nein, ich bin nur sagen dass-- so dass Sie
Druckzeilen ersten und dann Druckspalten.
Können Sie auch Spalten zuerst ausdrucken und dann Zeilen, um den gleichen Diagramm zu bekommen?
SHARON: Sie könnte, aber dann müssten
Achten Sie auf, wo sein Sie setzen die neue Linie.
Und wie würden Sie zurückspringen?
JASON HIRSCHHORN: Wenn Sie gerade eingeschaltet ist
und die Werte unterschiedlich sind, anstatt four-- was ist das?
Drei von vier.
Ich würde Sie vier haben Zeilen und drei Spalten.
Ist das sinnvoll?
>> STUDENT: Ja.
>> JASON HIRSCHHORN: Also ja, man könnte das tun.
Ja, auf jeden Fall.
SHARON: Aber das wäre buchstäblich nur sein Schalt die Namen der Variablen.
Gut?
Ok.
Alles klar, eingestellt P ein.
OK, also den ersten Teil davon Sie tun dies, Mario.
Nur ein Scherz.
Es ist eher wie dieses.
Und so, wenn wir gerade sah die for-Schleifen verschachtelt, so dass die Tabelle,
darüber nachdenken, wie Sie vielleicht in der Lage zu sein, drucken Sie diese Hashtags auf diese Weise.
Und dann hier wie würden Sie drucken Sie diese gleich hier, diesen offenen Raum.
>> STUDENT: [unverständlich].
SHARON: Ja, man muss nur einen Raum zu drucken.
OK, so denken Sie nur darüber.
HANNAH: Und dann das gleiche Teil des Problems eingestellt
ist ein Programm namens greedy.c, so dass Sie
wird denken zu wollen über conditionals
und dafür sorgen, dass Sie kann die richtige Änderung vornehmen.
Und eine kleine Warnung für Sie haben wir wird vorsichtig sein, Fließkommazahlen.
Wenn das bedeutet, absolut nichts zu dir, es wird in der Vorlesung in dieser Woche fallen
und auch in [unverständlich] durch zu gehen, die
Sie Jungs wollen lernen Liebe auf dem Problem-Sets.
>> Eine Sache, die ich wirklich empfehlen, vor allem mit Mario.c,
wenn du tust, das Problem gesetzt, wenn Sie nicht weiterkommen,
starten, indem Sie es auf dem Papier.
Schreiben Sie es aus und tatsächlich dort sitzen und so tun, als der Computer sein,
und gehen through-- sagen Ich der Computer,
wie würde ich folgen dies für eine Schleife durch?
Wie würde meine Variablen in der for-Schleife Veränderung?
So tun es auf Papier macht es 10-mal leichter
wenn Sie gehen, um am Computer sitzen.
Also einfach meinen kleinen Stecker.
>> SHARON: Und auch nicht, dass Sie denken, muss alles auf einmal zu codieren.
Achten Sie darauf, einen iterativen Prozess zu nehmen.
Haben ein wenig, Druck es aus, sehen, was passiert.
Manchmal ist es ein wenig Versuch und Irrtum.
Und zu Bürozeiten kommen.
Superspaß.
JASON HIRSCHHORN: Also irgendwelche Fragen?
Alle richtigen Jungs, dass Deine erste Abschnitt.
HANNAH: Danke fürs Kommen.
JASON HIRSCHHORN: Danke für kommen.
SHARON: Danke.
[Applaus]