[Musikwiedergabe] Sprecher 1: Okay, alle. Willkommen bei Ihrem letzten Abschnitt mit mir. Es ist schon das Semester. Ich kann nicht glauben, dass dies, wie, Woche 12 oder 11, so ähnlich. Aber, weil es unsere letzte Abschnitt haben wir viele Süßigkeiten. Und ich werde versuchen, prep Sie so gut wie ich kann für Ihr Quiz am Mittwoch. So wahrscheinlich nicht die beste Art, wie, Endstück mit Quiz-Bericht. Aber wir werden versuchen, dass es Spaß macht. Und es gibt immer Süßigkeiten. Hoffentlich, dass ich es besser machen. Ihr Quiz wird schön sein viel die gleiche Sache wie Quiz Null. Es wird das sein, gleiche Format, gleiche Länge aufweisen. Sie wohnen in Zimmern verstreut sein über den Campus, weil es sind nah an 900 von Ihnen, und wir können nicht alle halten Sie in Zimmern so. So sicher sein, an allen betrachten das Quiz Eine Dokumentation online cs50.harvard.edu heute Abend oder morgen Abend. Stellen Sie sicher, Sie wissen, wo du bist gehen, was Sie mitbringen müssen. Wirklich, man muss nur selbst mitbringen und einen Bleistift, und Sie sollten in Ordnung sein. Die Fragen werden sehr ähnlich. Es wird wahrscheinlich ein paar sein Multiple Choice, ein paar kurze Antwort, einige Codierung, vielleicht einige wahr / falsch, passend möglichen Dinge. Sie sollten also nicht zu sein, überrascht durch das Format. Was kann überraschen, ist die Länge, die, in den vergangenen Jahren, hat viel länger. In meinem Jahr, glaube ich nicht einen einzigen Freund zu haben Ich erinnere mich, dass Sie die Prüfung. Es gab wie Multiple Seiten leer gelassen werden. So kann die Länge sein Art verwirrend gerade weil in einigen Jahren hat es war viel länger als Quiz One. Ich habe keine Ahnung, wie es ist werde wie in diesem Jahr sein, aber es ist etwas bewusst zu sein. Zusätzlich kann die difficulty-- Menschen neigen zum Quiz One vieles mehr schwieriger als Quiz Null. Auch hier weiß, dass Sie, wenn Sie Art des Gehens Sie das Gefühl ein wenig unruhig, weil Sie tat es nicht und Sie dachten, Sie möchten oder Sie sich wie Sie nicht haben tun so gut wie Sie am Quiz One hat, erinnern, dass es wahrscheinlich ein viele andere Menschen das Gefühl, dass die Art und Weise. Ich war definitiv einer jener Menschen. Quiz ein, wie, warf mich für eine Schleife. Und meine Freunde haben dieses große Bild von ihnen bei JP Licks Art mit diesen großen Eisbecher, seiend wie, Quiz One, und suchen, wie sie in Tränen sind. So ist es ein allgemeines Gefühl. Es ist ein harter Test, es ist eine harte Quiz. Selbstverständlich, wenn Sie kommen und Sie das Gefühl, es erschüttert, ideal für Sie. Aber wissen, dass Sie wahrscheinlich nicht-- sind Sie fast definitiv nicht allein, wenn Sie zu Fuß Gefühl, eh, wahrscheinlich besser bekommen haben. Es ist schwierig. Mm-hm. ZIELGRUPPE: Wie viel ist es wert in Bezug auf die [unverständlich]? Sprecher 1: Es lohnt sich, das gleiche. Ja. Aber noch einmal, es ist auch sein wird durch, wie der Rest der Klasse betroffen der Fall ist, wie Ihr Abschnitt der Fall ist, , wie Sie im Laufe der Zeit verbessert haben. Grading ist ein bisschen von einer Blackbox. Also, was die tatsächliche Zahl oder Prozentsatz erhalten ist nicht unbedingt direkt gerne mit der Note korreliert Sie gehen zu bekommen. Es gibt eine Menge von Faktoren, die es zu gehen. Also mit diesem werden wir zu gehen gehen durch einige Quiz-Bericht. Ich werde einfach, dies zu laufen wie beim letzten Mal für euch. Ich habe alle Antworten Quiz Eine im vergangenen Jahr. Also, wenn Sie Jungs wollen ziehen dass sich auf Ihrem eigenen Computer, Wenn Sie diese Prüfung genommen haben vor und Sie Fragen haben, Ich dachte, wir könnten nur durch einige gehen der schwierigeren darauf. So können wir darüber vielleicht reden, noch ein wenig mehr Einblick in die Intuition hinter einigen diese Fragen, wie sich ihnen zu nähern. Wie gut, wie beim letzten Mal, Ich habe eine 100-slide-Deck das hat im Grunde alle der Folien, die ich wurden für frühere vorbereitet Abschnitte seit Ihrem letzten quiz-- I haben in diesem Deck. So können wir durchmachen so ziemlich alles, dass wir gesprochen haben voraus, dass Sie vielleicht möchte ein wenig mehr Klärung. Wir konnten die ersten zu tun. Aber ansonsten bin ich Super glücklich, einfach nur, um Art von Arbeit durch diese Probleme mit Ihnen. Und ich bin wirklich hier, um konzentrieren sich auf, was euch denken wäre sehr wichtig, den Schwerpunkt auf sein. Wie offensichtlich allen dieses Zeug ist wichtig. Vor allem, als wir durch Quiz One zu gehen, Ich werde auf jeden Fall darauf hinweisen, Dinge wie: oh, das könnte etwas sein, Sie wirklich wissen wollen, oder Sie wollen auf Ihrem Spickzettel haben. Ich werde Ihnen mitteilt, Dinge wie wir Art durchlaufen. Also in diesem Sinne, gibt es irgendwelche Dinge, dass euch gehen möchte über? Auch, wenn ich nicht in meinem Deck haben Sie es, wir etwas auf dem Netz nach oben ziehen, oder wir können versuchen und up Beispiel im laufenden Betrieb. Aber alle Konzepte, die Sie Jungs sind ein wenig verschwommen auf. [? Brian,?] Hast du have-- ZIELGRUPPE: Oh, es ist kumulativ? Wie, das Zeug auf Quiz Null werde hier sein? Sprecher 1: Es ist kumulativ, aber es ist viel mehr der Schwerpunkt auf Dinge seit Ihrem letzten Quiz. So offensichtlich, haben Sie Jungs zu Variablen, Schleifen und gelernt, und Bedingungen. Und es ist nicht genau wie die gehen sie weg, weil sie offenbar inhärent alles anderes, das wir jetzt gelernt. Es könnte eine Frage sein, auf die Sortierungen oder es könnte eine Frage sein auf verschiedenen Such. Oder es könnte ein Paar zu sein Fragen vielleicht etwas, das Sie dass Sie mit der Zusammenstellung zu tun oder verschiedene Fehler. Aber wenn man betrachtet haben Quiz One aus dem letzten Jahr, werden Sie feststellen, dass es sehr auf die Dinge konzentrieren die seit der letzten Quiz passiert. Warum ist die Tür immer verschlossen? Es stört mich wirklich. Da ich immer versuche, durch sie gehen. Also das ist so ziemlich wie das Quiz wird. So gibt es irgendwelche Konzepte, Sie Kerle gehen möchte über? Oder wir können rechts in springen bei einem Blick auf Quiz One aus dem letzten Jahr und Art des Gehens über Fragen der Praxis gibt. Wir können auch hin und her schalten. Dies ist nicht eine einmalige Art der Sache. Haben Sie Fragen? Ja. ZIELGRUPPE: Könnte ich bitte eine Frage another-- Sprecher 1: Noch einer? ZIELGRUPPE: Dies ist aus einem anderen Jahr. Sprecher 1: Ja. Wir können auch ein weiteres Jahr zu tun. ZIELGRUPPE: OK. Also auf 2.011. Sprecher 1: 2011. Ooh, das Jahr war, dass vor mir. Lassen Sie mich das hochzuziehen. ZIELGRUPPE: Ich denke. Sprecher 1: Dieser Aspekt Verhältnis wirft mich ab. ZIELGRUPPE: 11 und 12. Sprecher 1: 11 und 12. OK. Nun, hier, warum nicht wir das tun? Sie guys-- jeder einfach nehmen Sie ein paar Minuten, um durch Tests zu suchen. Und wir werden eine Liste zusammenzustellen. Und dann werden wir durch sie gehen. In Ordnung? Während ich einen Haufen von diesem Zeug einzurichten. OK. Ich werde einfach zu schreiben Dinge zu Papier. 2011 11 und 12? Ich werde einfach diese Anzeige zu ändern. OK. Das ist besser. Diese über. In Ordnung. Wer sonst irgendwelche dass sie möchten, um mit zu beginnen? Auch vergaß zu sagen, wenn Sie mehr wollen der eine Gruppe von Menschen sprechen Sie und nur geben Ihnen einen Riss Kurs in den letzten sechs Wochen, Wir führen eine Rezension Sitzung von 7:00 um 08.30 Uhr heute Abend in Nordwest- B103, die auch geschehen letzten Mal, wo es zu gehen können Sie mir, Hannah, Daven, mit Gabe und Rob Art von Unterstützung von der Rande der nur irgendwie werfen alle die Informationen, die Sie wollen auf Ihrem Spickzettel haben, Schrägstrich, wissen im Allgemeinen gibt. ZIELGRUPPE: Das ist auch im Internet, oder? Sprecher 1: Es ist auch online. So kann man auch draußen bleiben davon ekligen Wetter, gehen Sie zu Ihrem Schlafsaal, und Live-Stream, wenn Sie möchten. Ich bin mir sicher, dass viele people-- Ich weiß, ich würde tun, wenn ich an deiner Stelle. OK. Also, warum nicht wir beginnen with-- während Sie hoffentlich guys--, Du befindest Dich auf der Suche. Wenn nicht, könnte ich anfangen zu arbeiten durch verschiedene Dinge auf Quiz One aus dem letzten Jahr, wenn Sie spezielle Fragen haben. Wir werden damit beginnen Frage hier zu Stapeln. So dass jeder erinnert sich nicht Art von, was ein Stack ist? Wie wir neigen zu-- kann jemand nur geben mir eine allgemeine Beschreibung eines Stapels? Eine Art von Datenstruktur. OK. Es ist also eine der Datenstrukturen, die wir erwarten, dass Sie with-- vertraut sein wie Stapel, Arrays, Warteschlangen so weiter. Ja. ZIELGRUPPE: Wie Erste In, Last Out, etwas. Sprecher 1: Es ist First In, Last Out. Genau. So ein Stapel ist genau was wir neigen dazu zu glauben etwa, wenn wir denken aus einem Stapel von Dingen. So ein Plattenstapel. Die erste Platte Sie legte wird an der Unterseite ist, und es wird die letzte sein ein, dass Sie am Ende zu entfernen. Weil sie stapeln. Und Sie nehmen, der aus dem Boden, typischerweise Dinge abstürzen und zu brechen. So stapelt man sich vorstellen kann Genau wie ein Stapel von Platten. Oder das Beispiel haben wir immer gerne verwenden ist in den D Hallen, haben Sie die Fächer, sie sind alle gestapelt, und nehmen Sie von der Spitze. Also das letzte in die erste ist aus. OK. Also hier der Fall ist, haben wir sehen wir have-- Ich frage mich, ob ich wirklich in ein wenig zu vergrößern. Also müssen wir diese Struktur hier. Richtig? So können Sie etwas Struktur, die hat haben einige int Anzahl von Kapazitäten. Also, was tun wir denken, dass repräsentiert? Dies ist ein Array mit Größe Kapazität. So dass dies wirklich bedeutet unsere Stapel im Allgemeinen. Unsere Stack ist wirklich nur eine Array mit einigen festgelegten Anzahl das ist seine max, das heißt, seine Kapazität. Und dann haben wir etwas int size, die wird die Größe unseres Stapel verfolgen im Laufe der, wenn wir es zu benutzen. OK? In diesem Fall hier, sagen wir, dass unsere Stack-Größe auf 0 initialisiert. So haben wir einen leeren Stapel jetzt. Und dann in Anspruch nehmen wollen wir die Umsetzung des Pop so dass er das int am oberen zurückgibt. Und dann, wenn es leer ist, es kehrt negativen 1. OK? Deshalb möchte ich euch nur zu denken, über was wir dort tun. Was könnte eine der ersten sein, Dinge, die wir wollen, um zu überprüfen? Es ist eine tolle Sache hier. Wann immer es says-- wenn es überhaupt etwas If-Anweisung, wie "Wenn Stapel leer" oder "Wenn dieser Wert null zurückgibt", oder "Wenn das, was auch immer" - sorry. ZIELGRUPPE: Schreiben Sie eine If-Anweisung. SPEAKER 1: Richtig. Sie könnten eine If-Anweisung zu schreiben. Und das ist wahrscheinlich eine der ersten Dinge, die Sie prüfen möchten. OK. Immer, wenn sie dir geben wie eine Art von Ecke Fall so, das ist in der Regel eines der ersten Dinge, wirst du im Code überprüfen. Auch etwas, erkennen, für das Quiz wird, wenn Sie ein ineffizienter Weg haben etwas zu tun, schreiben Sie es auf. Weil wir nicht mit einem Gehalt Sie auf Design, wir sind mit einem Gehalt von Ihnen auf Richtigkeit zu Quiz. Also selbst wenn Sie wissen, dass es ein Super- schlechten Weg, etwas zu tun, aber es funktioniert, schreiben Sie es auf, OK? Buchstäblich, die ich gesehen habe Kinder letzten year-- Wenn Sie im letzten Jahr aussehen, sie sind wie, gehen Sie wie Mario Pyramide. Und sie buchstäblich nur getan "print, Hash, drucken, hasch, hasch, Print, Hash, Hash-Hash. " Aber es ist in Ordnung. Es ist das, was wir ihm gesagt, dass, so dass Sie nicht nehmen Punkte Rückstand. Wenn Sie auf der du Draht, natürlich, Sie wollen eine elegantere Lösung zu erhalten, und Die elegantere Lösung wird wahrscheinlich weniger Code, den Sie bedeutet wahrscheinlich, haben eine höhere Chance, richtig. Aber wenn Sie wie, Sie wissen, was, nein, ich habe keine Zeit, ich weiß, das ist eine Lösung, es ist nicht die beste, schreiben Sie es. Und Sie können sogar auf die schreiben Seite, ich weiß, das ist schrecklich, aber ich weiß, es funktioniert. Also nur ein Heads-up. OK. So offensichtlich, erste, was ist dieser If-Anweisung. Also, was tun wir denken, dies Falls Aussage sein wird? Und tatsächlich, lassen Sie mich offen mein großer Sublime-Editor. Ich werde diesen Code und dann zeigen euch, wenn es fertig ist. So int Pop. OK. Wenn wir also diese int Pop void-- so offensichtlich, dies ist eine Funktion, die in statt nichts und gibt eine ganze Zahl, nicht wahr? So ist es nur geht, darüber zu sprechen dieser Stapel, die wir erstellt haben. Also einfach die Übersetzung dieses letzten Satz "wenn Stack leer, Pop sollten negativen Rück 1: "Wie können wir das tun? Also, wenn das, was? Woher wissen wir, dass der Stapel leer ist? Es ist nur Größe gleich 0. Stack.size gleich 0. Auch, ich bin Art von Schreiben hier blind. Also, wenn ich jede typos-- oh, auch vergessen, das zu erwähnen. Letzte Woche, ich völlig heraus was unser Problem war mit JavaScript. Schreiben Sie nicht ich und D. Sie sollten nur Kapital I und erhalten Element Id. Und das war der ganze Fehler. Also, wenn Sie Jungs gehen Sie zurück und eigentlich durch meinen Code aussehen, wenn Sie nur alles ein Klein d "Element vergessen von Id" es wird funktionieren. So wie ich versprochen habe, war ich ganz in der Nähe. Ich habe gerade etwas aktiviert Ich war nicht auf, sollte die Ich bin sicher, euch in Ihrem letzten PSET hatte. Also, wenn Sie unsere Größe ist gleich 0, was sollen wir tun? ZIELGRUPPE: Zurück negativen 1. Sprecher 1: Rück negativen 1. Kühle. So, jetzt was tun wir? Wir wollen etwas pop off. Nun dies der Fall ist wo wir etwas haben. Unsere Größe ist größer als 1 oder größer als 0 ist, oder? Wir haben tatsächlich etwas gibt. Also, was wir tun wollen, ist, dass wir möchten sich hier zurück. Wir werden sagen, wir wollen zum Seitenanfang Stack zurückzukehren. OK? Also, wie können wir das tun? Wie können wir die oben auf den Stapel zurück? Denken Sie daran, unsere Stack nur ein Array, oder? Es hat einige Kapazitäten dass wir es gegeben. Wie wir die Dinge an-- oder tatsächlich legte, wir werden "Push", nachdem diese zu schreiben. Wenn die Dinge in sind-- vielleicht ein Bild hilft. Hm, ich mag große Kreide besser. So if-- und man kann nur Betrachten Sie das als unsere Stack. Dies ist also 0, 1, 2. Ich weiß nicht, warum meine Boxen werden immer kleiner. Aber es. OK. Das ist also einige Stapel mit einer Kapazität von 5. Und lassen Sie uns sagen, dass wir etwas haben, hier und etwas haben wir hier. Also an dieser Stelle unsere Größe ist gleich was? 2. Und wenn wir wollen, um Pop- etwas aus der IT, das heißt, wir wollen, um loszuwerden, diese finden Sie hier. OK? Wie würden wir diesen Wert zurück? ZIELGRUPPE: Größe minus 1. SPEAKER 1: Richtig. So Größe minus 1, oder Sie könnte Größe minus minus tun. Aber wir können nicht einfach tun Größe. Es ist in einer Struktur, nicht wahr? So stack.struct. oder stack.size. Das ist unser Index recht. OK? Und dann, wenn wir uns zurück auf hier unsere Struktur, Wir bemerken, dass auf tatsächlich Zugriff auf das Array, wir stack.numbers tun müssen um tatsächlich auf das betreffende Array. So dass gibt die oben auf dem Stapel. Aber etwas dass-- wenn euch schauen in der Antwortschlüssel, ist dies alles, was sie geben Ihnen. So ist es. Aber ich könnte argumentieren, dass sie miss-- ooh, nicht das, was ich wollte. Ich könnte argumentieren, dass sie etwas fehlt, because-- ja. ZIELGRUPPE: Verringern Sie die Größe. SPEAKER 1: Richtig. Wir müssen unsere Größe jetzt zu verringern. Also, was ist schwierig zu das ist, wenn Sie zurück etwas, Ihre Funktion gehen Ausfahrt, nicht wahr? Also, was wir tun könnten, ist eigentlich verringern ersten unserer Größe. Und dann können wir einfach stack.size. Wir können einfach stack.size wie unserem Index, konnte nicht wir? Denn wenn stack.size 2, verringern wir es. Und so ist es ein, was ist unsere eigentliche indice. Sobald wir das beheben, wir eigentlich Nur eines haben unser Angebot. Also es tut beides. ZIELGRUPPE: [unverständlich]? Sprecher 1: Nun, in diesem Fall, wir gerade das Element zurückgegeben an der Spitze, die an unsere Größe, die an der Spitze ist. Aber wir haben nichts, um das getan Größe, nachdem wir das Element entfernt. Das war nicht unsere Größe noch geändert. Das tut wirklich Natur verändern unsere Größe. Aber, um es ein wenig klarer, Sie könnten stack.size minus minus tun. Für mich ist es es macht, weiß ich nicht, ein wenig mehr klar dass-- ah, dass Sie wirklich zu ändern sind die Größe und die Rückgabe. Die andere Möglichkeit war in Ordnung, weil Sie änderten und die Rückkehr gleichzeitig. Aber das ist nur eine andere Art zu schreiben es, dass ich wollte euch zeigen. Ist das sinnvoll? Stacks, denke ich, sind viel einfacher, als Schlangen. [Lacht] OK. Haben Sie spezielle Fragen haben, etwa 11 und 12, oder just-- ZIELGRUPPE: Ich glaube, es war der Stapel. Sprecher 1: Die Stack-Größe? ZIELGRUPPE: Ja. Sprecher 1: Gotcha. OK. Ja, Sie können es tun könnte eine dieser beiden Möglichkeiten. OK. Jetzt haben wir das andere. Das ist wirklich seltsam, wie nicht mit diesem auf meinem Bildschirm. Also, wenn wir hier sehen, wollen wir nun vervollständigen die Umsetzung der Push, die tatsächlich etwas bringt, geht und fügt etwas in unsere Warteschlange, oder in unserem Stapel. OK? Also, wenn wir merken, wir habe ein paar Dinge. Wir haben unsere great-- wenn alles andere, wenn wir eins von diesen haben, Sie Kerle sollten mindestens die Hälfte zu bekommen ein Punkt, weil alles, was Sie tun müssen, in C konvertieren diese und sie geben Ihnen die Hälfte. So ", wenn ein Stapel voll oder er negativ ist, und drücken Sie dann sollte false zurück. " OK? So wollen wir nur positive Ganzzahlen, um auf unserer Stack. In Ordnung? Und das wird entweder Rückkehr wahr oder falsch. Also sollten wir [unverständlich] bool. OK. So übersetzen. ZIELGRUPPE: [unverständlich]. Sprecher 1: Oh, danke. Ja. Aus diesem Grund habe ich euch. Int n. Perfect. Weil wir setzen etwas auf unseren Stack. Eigentlich braucht man eine bestimmte Anzahl. OK. Also einfach unter die letzte Zeile, sie gaben uns, unsere Art von Grenzfälle, was glauben Sie, haben wir hier? Offensichtlich werden wir einige Falls haben. OK. Also sagten wir, wenn unsere Stack vollständige oder wenn n negativ ist. Also wahrscheinlich einfacher, mit, so dass, wenn n kleiner als 0 ist oder-- merken Sie sich Ihre schönen Operatoren AND und OR gibt. Wie würden wir prüfen, sehen, ob unsere Stapel voll ist? Was geschieht? ZIELGRUPPE: Größe gleicher Kapazität. Sprecher 1: Genau. Perfect. OK. Und was tun wir es tun? ZIELGRUPPE: Zurück falsch. Sprecher 1: Rückkehr falsch. Perfect. Also auf halbem Wege, nicht wahr? Zumindest, Leute wird die Hälfte davon. Also lassen Sie uns darüber nachdenken. Das ist also der Stapel beginnen wir mit. Wir versuchen, setzen ein Element hier. Wir haben eine Größe, die ist gleich jetzt zu 2. Wir haben eine Kapazität, die 5 entspricht. Und lassen Sie uns sagen, wir haben einige n, die gleich 3 ist. Also müssen wir Eingang 3 in diesen Raum. Und wir müssen sie in Eingabe Index 2. Richtig? Also, wie können wir das tun? Der Versuch, die wir assign-- wollen unser Angebot zugreifen. So stack.numbers. Aber zu welchem ​​indice würde Wir wollen, dass dies sein? ZIELGRUPPE: [unverständlich]. Sprecher 1: Ja. Stack.size. Und wir wollen, dass die Gleich n, nicht wahr? ZIELGRUPPE: [unverständlich]. Sprecher 1: Ich war tatsächlich bei einem Blick auf die. Ich denke, das ist falsch. ZIELGRUPPE: Willst du nicht die Raum hinter der aktuellen Größe? Sprecher 1: Nun, wenn wir uns hier, unserer Größe ist an dieser Stelle 2. Wir wollen, dass es in Index 2 zu gehen, denn dies ist die oben auf der Stapel. Also ich würde sagen, dass es sollte stack.size sein, und dann würden Sie stack.size erhöhen. Hat jeder zu? Ich glaube, ich stimme dem zu. Ihr Jungs streiten mit mir, wenn Sie möchten. Oder auch nicht streiten, aber wir können das diskutieren. ZIELGRUPPE: [unverständlich]. Sprecher 1: Mm-hm, ist, wo es öffnen, weil der Null Indizierung. Während also im ersten Teil, Ich dachte, sie waren falsch, und sie waren wirklich richtig, das Teil, habe ich eigentlich denke, dass sie falsch waren. Ich würde sagen, man sollte auf jeden Fall geben Sie diese bitte. Ich denke, wir stimmen alle darin überein Wir haben eine Größe von 2. Das ist genau das, wo wir wollen, dass unsere neue Nummer zu gehen. So stack.numbers an stack.size sollte n entsprechen. Und dann würden wir erhöhe den stack.size. ++. Und was wollen wir tun? Es gibt eine Sache, müssen wir tun, wenn wir erfolgreich diese eingesetzt? Return true. Und jetzt sind Sie fertig. Also habe ich das Gefühl, es war die ganze minus minus stack.size und stack.size ++, dass Mist gebaut. Ugh. Ich keep-- Ich habe diese reflexartige Tendenz zu immer getroffen Steuerung, S, weil ich nie will alle meine Arbeit zu verlieren. Aber ich brauche nicht zu, dass es jetzt tun. OK. Das war also Stack. Kühle. Gibt es noch etwas? Habt ihr irgendwelche finden Fragen, die Sie möchten wie aus früheren Tests zu gehen? Wenn nicht, können wir Art zu sprechen beginnen Quiz über eine gegenüber dem Vorjahr. Ja. ZIELGRUPPE: Für die erste Teil, habe ich nicht wirklich zu verstehen, wie Sie die Nummer gelöscht. Ist es nicht immer noch da? Sprecher 1: Die Zahl ist immer noch da. Aber was passiert, ist, dass, weil Sie haben, sagte er, dass die oben in Ihrem Stapel ist hier, wenn Sie etwas hinzufügen gehen auf den Stapel, wird es nur zu ersetzen. ZIELGRUPPE: Oh, OK. Sprecher 1: Ja. So ist es, als ob er vergessen und es ist da Art der Sache, auch wenn es da ist. ZIELGRUPPE: [unverständlich] oder so was? Sprecher 1: No. Weil wir in einem sind Array, müssen Sie nicht um about-- Sorgen Sie nur überschreiben, wenn Sie es brauchen. In Ordnung. Noch Fragen? Wenn nicht, sind wir gerade dabei Start durch die Arbeit. Ja. ZIELGRUPPE: Nun, das ist eine auf das Jahr 2013, aber gerade durch die SQL Zeug. Sprecher 1: SQL? OK. Also das ist 26 bis 29. ZIELGRUPPE: Ja. Sprecher 1: OK. Lovely. Lassen Sie uns zu ziehen, die auf. Oh, sieh mal. Habt ihr genießen Sie die Steve Ballmer zu sprechen, durch die Art und Weise? Es war ziemlich komisch, meiner Meinung nach. Ich liebe, dass jedes Mal, wenn ich oben CS50 ist Website im Abschnitt, es ist wie, oh, beobachten Abschnitt. Und ich bin wie, mm. ZIELGRUPPE: Können wir das? Sprecher 1: Wir werden es am Ende zu tun. Wie ist das? Weil ich weiß, ihr Jungs wollte schon immer. Also werden wir es am Ende zu tun. Einer Fragen. ZIELGRUPPE: [unverständlich]. Sprecher 1: Es wird ein Meta-Abschnitt sein. ZIELGRUPPE: Es ist wie 5 Sekunden gedrückt. ZIELGRUPPE: Wirklich? ZIELGRUPPE: Es ist wie 20 Sekunden. [Zwischen VOICES] [Gelächter] Sprecher 1: Ich mag, dass Sie bereits getan haben, es, das ist es, was mich glücklicher macht. OK. 26. OK. Eigentlich sind wir gerade dabei, spiegeln dieses jetzt, weil ich nicht kann. Das ist ärgerlich. OK. Jetzt kann ich alles sehen. Lovely. OK. So offensichtlich, sollte dieser zurückholen grossartige Erinnerungen aus [? CSG?] Finance. Die Hälfte Sie haben Ihr jetzt benotet. Die andere Hälfte werde ich erhalten sehr, sehr bald, versprochen. Also haben wir etwas SQL-Tabelle das ist hier Accounts. Wahrscheinlich ähnlich Benutzertabellen Ihr Jungs. Und wir haben eine bestimmte Anzahl das war ein Primärschlüssel und stellt ein 12-stellige Kontonummer. Und das Gleichgewicht ist, wie viel Geld sie haben. Und der Standardwert ist 100. Und sie geben ihnen $ 100 jede Mal, wenn sie ein Konto eröffnen. Ich wünschte, meine Bank getan. OK. Also, um das Schema von absolvieren wollen wir Angabe neben Nummer im Gleichgewicht die entsprechenden SQL-Typ. Also, was denkt ihr würde eine Art, wie Sie Ihre reflexartige Reaktion für Typen für diese beiden? ZIELGRUPPE: Int. Sprecher 1: Ein int. OK. Und dann ein Gleichgewicht? Dezimal. OK. So dezimal Recht. Int ist in der Nähe. Art der große Ding ist dies unterstrich 12-stellige Kontonummer. Immer, wenn wir etwas haben, das ist mehr als acht Stellen, sie Sie große verwenden möchten int, die ich denke, ist-- ZIELGRUPPE: Ist das nur SQL? Sprecher 1: Es ist das einzige Mal, ich habe gehört, davon ist SQL-- wie mit einem großen int. Es ist einfach, Sie geben ein etwas mehr Genauigkeit, dafür, dass Sie nicht sind überquellenden Typs Sache. Ganz ehrlich, ich denke, das ist definitiv einer von denen, wo es heißt, oh, es ist für Menschen gedacht die ein wenig mehr Wissen über SQL haben. Wir sprachen nie über Big ints in Ihrem PSET. Es ist also eine Art, wie ich bin mir ziemlich sicher, wenn Sie int legte, war es die Hälfte Kredit. Und wie ich schon sagte, gibt es gehen auf einige Fragen, die sind einfach sein soll Sie stolpern, so dass nicht jeder erhält 100. Da gibt es natürlich gibt einige Leute in CS50 wer macht das schon für gleiche 8 Jahre, und du bist wie, was machst du? Aber ja. Dezimal für die Balance war der offensichtlichste. Und dann große int für Nummer nur weil der, dass, wie unterstrich 12-stellige. Jedes Mal, wenn etwas ist entweder fett oder es ist unterstrich, wie, achten Sie auf sie. Wir sind nicht zu tun, nur weil. OK. So "an, dass die Bank auferlegt 20 Dollar monatliche Gebühr auf alle Konten. Mit welcher Abfrage konnte die Bank abziehen $ 20 von jedem Konto auch wenn sie sich aus einige negative Salden? " Deshalb fangen wir einfach. Wir haben vier Hauptbefehle für SQL, davon sind? Do you guys erinnere mich an die vier Großen, die ich Ihnen gesagt? UPDATE, DELETE, SELECT und INSERT. Perfect. Habe es. Also, was tun wir vielleicht denken sehr nützlich für diese ein? Wir sind-- UPDATE. Genau. So AKTUALISIEREN, weil wir suchen bei Konten, die bereits vorhanden sind. Also denken Sie daran unsere Allgemeinen Art der Sache ist zu aktualisieren. Und was kommt nach UPDATE? Wir haben einige Tisch dass wir verweisen. Also, wenn ich nach oben ziehen Sublime again-- UPDATE. Das ist also ein allgemeines Format. So haben wir UPDATE Tabelle. Und dann, was ist das nächste, was wir haben? Sie können tun, WO. Und dann haben wir hier einige Qualifier. Und was haben wir dann? Wir haben einige Satz-- etwas gleich etwas. Blah blah entspricht. Aktualisiert blah. Richtig? Also das ist, wie die allgemeine Idee für einige Updates. OK? Deshalb fangen wir füllt diese in dem, was sie sein sollte. Also, was Tisch reden wir? Konten. Und dann in diesem Fall Was ist wirklich cool wird sprechen wir über spezifische sprechen Nutzer in unserem Konto, oder sind wir über alle Benutzer sprechen? Wir freuen uns über alle Benutzer spricht. Also in diesem Fall, können wir nur Diese WHERE-Qualifikationsspiel zu löschen. Die WHERE ist nur, wenn Sie wollen, zu begrenzen, was Sie ändern sind. Wenn Sie die gesamte ändern Tabelle, die Sie gerade fallen können, dass. OK. So, jetzt sind wir an unserem Teil SET. Was wollen wir ändern? ZIELGRUPPE: Balance. SPEAKER 1: Balance. Und wir werden zu-- wie geht wir, um das Gleichgewicht zu ändern? Wir haben eine $ 20 Gebühr, oder? Minus 20. Und sie sagte, es ist in Ordnung, wenn wir haben negative Salden. Also in diesem Fall, Sie nicht brauchen, um eine weitere Fehlerprüfung zu tun. OK? Das ist buchstäblich alles, was Sie zu tun haben. Cool? OK. Also lassen Sie uns über die nächste zu gehen. "Mit dem, was SQL-Abfrage konnte die Bank Abrufen der Kontonummern der reichsten Kunden gleicht mehr als $ 1000? " Wenn Ihre Bank und Ihre reichsten Kunden sind nur die, die mit über 1000 $, Ich fühle mich wie Sie etwas falsch machen. Wie, wie kann eine Bank auf das überleben? Wie, dass das Interesse, nicht ganz gereicht. OK. Mit dieser Art der Sache, was zu tun Sie denken, unsere vier Funktionen, glauben Sie, werden wir verwenden? SELECT. Perfect. SELECT. OK. So dass wir einige der Auswahl Kennung FROM Tabelle. Und dann WHERE-Bedingung. So, wie wir durchmachen Davon werde ich einfach um Ihnen Jungs eine allgemeine Auffrischungs über das Muster von allen von diesen. So dass wir die Auswahl einer Art von [? Sache. ?] In diesem Fall, dies sein wird typischerweise einige Spalte. In unserem Fall haben wir Nummer, Saldo. In Ihr Jungs Fall, vielleicht es war ID, Name, Passwort. Jede dieser Spalten, das ist Regel, was wir die Auswahl. Also hier in diesem Fall, der Art der Säule, welche Kennung werden wir von unserem Tisch ziehen? Was bedeutet es fragen Sie uns? Er bittet uns um unsere Zahlen, nicht wahr? Die Kontonummern. Also denken Sie daran, nur Zahl in diesem Fall. Wenn euch die Fehler jemals, dass leuchtend orange box würde kommen. Und es war, unerwartete Zeile in, wie, was auch immer. Das ist, weil Sie angerufen hat Ihren Tisch falsch, oder? Also achten Sie darauf, dass Sie korrekt Aufruf der Spalte. So aus der Tabelle, Tisch ist genannt Konten. Wieder stellen Sie sicher, dass Sie richtig tragen Sie Ihr Tisch. Und dann, was ist unsere Lage hier? Was machen wir? Wir wollen, dass unsere reiche Leute. Ja. So balancieren über 1.000. Dort gehen Sie. Das ist Ihre Anfrage. Nicht schlecht, oder? OK. So, jetzt für unsere letzte. Damit wir Aufatmen durch. OK. So, jetzt "mit welchem ​​Abfrage könnte die Bank in der Nähe, das heißt, zu löschen "- nicht Sie lieben, wie sie habe Ihnen DELETE-- "Jede Rechnung, die ein Gleichgewicht von 0 hat?" Ich denke, wir sind uns alle einig sind wir wahrscheinlich zu sein mit DELETE. Ich bin willkommen zu einem nehmen Diskussion um die. Aber ich denke, es ist ziemlich sicher, sagen, dass wir verwenden DELETE konnte. So werden wir einige DELETE Benutzer aus Tabelle WHERE-Bedingung. So gleichen Art von Dingen wie SELECT. Also in diesem Fall-- oh, sorry. Ich DELETE FROM. Da löscht die gesamte Zeile zu löschen. So brauchen wir nicht zu, über die zu sprechen bestimmte Dinge über einen Benutzer wir sind Löschen. Wenn wir einen Benutzer zu löschen, sind wir Löschen alles über sie. Also in diesem Fall, wir müssen nur füllen Sie WHERE und unseren Zustand. Also unser Tisch ist nur unsere Konten Tisch, als wir getan haben. Und was ist unsere Lage hier? ZIELGRUPPE: Balance. SPEAKER 1: Balance gleich 0. Richtig. Alles gut. Ja. ZIELGRUPPE: [unverständlich]. Sprecher 1: So DELETE Natur löscht alles. Während also mit SELECT, SELECT nimmt in bestimmte Spalten, die zurückgegeben werden sollen. Wenn Sie wollte, dass alles ein Benutzer zurückgegeben, die Sie Sterne verwenden. Stern sagt, kehrt zu mir zurück Alles von diesem Benutzer. Oder wenn Sie setzen, wo Sterne, dass bedeutet, gib mir alles. Aber DELETE inhärent, dass. Also, wenn Sie sagen, DELETE aus Konten, bei denen Gleichgewicht gleich 0 ist, es wird durch zu gehen. Und überall, dass Gleichgewicht gleich 0 ist, ist von Natur aus tut. Es wird alles zu löschen. Der Stern ist mehr for-- mit SELECT oder UPDATE, es sprechen mehr über die einzelnen Felder, die für einen Benutzer. Also, wenn Sie SELECT Sterne aus Tabelle WHERE ID gleich 1 ist, dass, um Sie zurück alles über die Benutzer-ID ein. Wenn Sie SELECT Nummer tun sollten oder SELECT ID Komma Namen von Benutzern WHERE ID gleich 1 ist, dass nur ihre Zahl zurück oder ihre ID und ihr Name. OK? So verwenden wir Sterne in diesem Fall auf geben uns alles über einen Benutzer. Und DELETE an sich tut. Es ist nicht nur die ID zu löschen, oder einfach nur den Namen, oder was auch immer. Ja, kein. Sie löscht nur das gesamte Anwender. Wir müssen also keine Sorgen machen, über den Stern gibt. Wenn Sie löschen wollten alles, können Sie das tun, und dies werde einfach immer alles fallen zu lassen. Aber in der Regel, die Sie wollen nicht, das zu tun. Aber wenn Sie jemals zu lösch alles, können Sie das tun. OK. Habt ihr Fragen gefunden? Ja. ZIELGRUPPE: Können Sie 26? Sprecher 1: 26 haben wir gerade getan. ZIELGRUPPE: Oh, 25, sorry. Sprecher 1: 25. OK. 25. Oh. Sie tun JavaScript. Oh, ich kann es nicht glauben. Ich bin zu Chaos wieder in Gang zu uns, Jungs. OK. Wir haben diese. Wir werden diese Arbeit zu machen. Ach, jQuery. Fun. OK. So werden wir die komplette Umsetzung der Webseite derart, dass, wenn sie zu besuchen, Eingabe ihres Namens, und senden Sie das Formular, sie diese große Warnung haben Fenster, das geht zu erscheinen. Alles, was mit Warnungen, wissen wir, dass werden wir JavaScript verwenden, um zu haben. Yay, JavaScript. Und wenn sie sich nicht zur Eingabe eines zu nennen, bevor Sie das Formular absenden, keine Warnung erscheinen soll. So können Sie jQuery verwenden, aber Sie müssen nicht. Also werde ich euch arbeiten zu lassen, auf das nur für ein paar Minuten. Denken Sie darüber nach. Und dann werden wir es zu codieren. Slash Ich werde versuchen, und denken Sie an die beste Weg, um diese Antwort zu erklären. In Ordnung. Wir bringen es einzurichten. OK. So machen wir nur das um durch diese gehen, weil ich weiß, jQuery ist ein wenig verwirrend. JavaScript. Es ist ein wenig draußen. Also, was wir tun werden ist [Unverständlich] tatsächlich gelöst Dieses Problem mit jQuery. Also, wenn Sie sich erinnern, jQuery ist nur eine Bibliothek das ist nur auf der Oberseite JavaScript gebaut. Es soll, um Ihren Leben ein bisschen leichter. Ich würde auf jeden Fall, wenn Sie Zeit haben, über Aussehen ein bisschen von der Dokumentation für jQuery. Aber es ist sehr ähnlich wie JavaScript. Es hat ähnliche Paradigmen, in dem Sie Verwenden Sie diese Punkt-Operator, um Funktionen aufrufen auf Objekte, die Sie haben. Also, was wir hier haben, ist für jQuery, sollten Sie immer diese Art der Wrapper, der das ist, $ (Document) .ready (Funktion) Funktion in Klammern hier. OK. Also das könnte etwas sein, Sie wollen auf Ihrem Spickzettel. Da zumindest können Sie haben den Wrapper für Ihre jQuery. Und es wird zumindest zu erhalten Sie getrennte Wege gibt. So in der gleichen Weise, dass wir sprachen viel über JavaScript und wir würden von der Suche beginnen auf das, was wir versuchen, zu bearbeiten oder das, was wir versuchen zu ändern. Und das wäre typischerweise die Erste, was wir würden in. Also in diesem Fall, wenn wir wieder in diese hier und wir betrachten unser Formular hier Wir haben diese Eingänge, Recht, diese ID der Eingänge. Und wir wissen, dass auf der Grundlage Auf unsere Frage, wir sind entweder zu werfen ein Fehler, wenn diese leer ist, oder wir werden gestellt dies in einer Warnung, nicht wahr? So wohl mit Sicherheit sagen, dass wir werde mit Eingängen werden sich hier. jQuery ist insofern sehr ähnlich, wenn wir denken Sie zurück an CSS, alles mit einer ID wir uns mit einem Hash. Alles, was mit Klasse wir sah mit einem Punkt, nicht wahr? So in der gleichen Weise hier, was wir reden über ist Eingänge. Wir sahen, dass Eingänge eine ID innerhalb unserer Form. Also werden wir sie als solche beziehen. Eingänge. OK? Also, wenn Sie Zweifel haben, auch wenn Sie nirgendwo, wenn Sie wirklich nicht sicher, wie Sie sind nähern dies, A, haben diese Wrapper. Es gibt also den Anfang der Wrapper für jQuery. B, stellen Sie sicher, dass Sie wissen, was Sie verändern sich. Und wenn Sie Zweifel haben, setzte sich in etwas, und tun Punkt, was auch immer Sie denken, Sie sollten es tun werden. ZIELGRUPPE: Was ist die Verpackung? Sprecher 1: Der Wrapper ist diese erste Zeile. Also das sagt, warten Sie, bis mein Dokument ist fertig. Dann starten Sie Unordnung mit Dingen. OK? So wissen wir, wir sind mit den Eingängen durcheinander. Also wir sind wie, OK, ist Eingänge unser Formular. Das ist unser ID. Also das ist, was wir sind geht auf der Suche nach. Und wir sehen, was passiert wollen wenn dieses Formular gesendet wird, oder? So, wie wir vielleicht denken, wir haben einige .submit. So .submit nur sagt, OK, diese Form dass wir mit Hash-Eingänge verwiesen, wenn es abgegeben, etwas anderes ausführen. So werden wir eine Funktion haben. Beachten wir hier haben, anonyme Funktionen. Wir haben hier eine anonyme Funktion. Ja. ZIELGRUPPE: Wird es immer .submit werden, oder ist es nur, weil in der HTML, wir haben die Taste Typ verfassen? Sprecher 1: Es sollte .submit werden, da es ist eine Art, die wir einreichen. Da diese nicht unbedingt .submit dem entsprechen, was der Knopf wie zu rufen. Aber die Tatsache, dass es ein zu bilden, dass wir die Vorlage. OK. So bemerken anonym hier Funktion, says-- ZIELGRUPPE: Ich weiß nicht wirklich verstehen anonyme Funktionen. Sprecher 1: So anonym Funktionen, sie sind nur Funktionen, die keinen Namen haben. Anstatt also mit einigen Hauptfunktion dass calls-- wir sagen könnten, wenn Dokument bereit, dann würden wir Eingänge rufen. Und dann, beim Senden call-- wie, Wenn so-und-so vorgelegt, wir würden eine andere Funktion aufrufen. Eine anonyme Funktion einfach nicht einen Namen, und es wird nur ausführen in diese Art von Dingen. Also in diesem Fall, was dieser sagt ist, Wenn unser Dokument fertig ist, Diese Funktion führen. Diese Funktion besteht der alles in hier. Und dann die nächste Schicht in ist, OK, wenn die Eingänge eingereicht wird, diese auszuführen. Es ist nur ein Weg des Bezeichnens Was soll ausgeführt werden, wenn. Es ist buchstäblich nur ein Funktion, die nicht tut haben einen Namen, so dass sie dazu neigen, ineinander verschachtelt werden, weil man sie beim Namen nicht nennen. OK? Buchstäblich eine anonyme Funktion ist nur eine Funktion ohne Namen. Das ist es. Nur ein Weg, um zu kapseln verschiedene Dinge dass wir wollen, dass zu bestimmten Zeiten ausgeführt. ZIELGRUPPE: [unverständlich]. Sprecher 1: Die Entlüftungs? Wo? ZIELGRUPPE: In der Klammern nach Funktion? Sprecher 1: Nach Funktionen. Welcher? ZIELGRUPPE: Beides. Wenn Sie setzen, wie, ein Ereignis oder wenn Sie setzen ein Argument gibt, wäre es falsch? Sprecher 1: In diesem Fall, denke ich Sie könnte ein Argument in es gesetzt. Aber weil wir nicht brauchen, ein Argument, sollte es nicht sein. Wie, das ist die ganze, wie, nur sollten Sie haben Dinge, die sind notwendige Art der Sache. Auf die gleiche Weise, daß jede, wenn wir Funktion, die int main void-- hat wie, mit int main Leere, die Sie könnte int arg v tun, was auch immer. Aber wenn Sie nicht brauchen, die Sie sollten nicht sie dort. Gleiche. Emma, ​​haben Sie eine Frage? OK. Kühle. OK. Also, was wir so weit ist, als unsere Dokuments fertig ist, führen Sie diese. Jetzt sind wir auf der Suche wenn es abgegeben. So, jetzt haben wir eigentlich Art das Fleisch unserer Sache. Also brauchen wir, um den Wert zu erhalten, dass die Benutzer übermittelt, sei es, dass ein Name sein, oder leer. Und dann müssen wir entweder Rückkehr diese Warnung oder einen Fehler aus. So oder so. So, wie wir erklären ein Variable in JavaScript? Var. Also sagen wir mal, var name equals-- oder tatsächlich, wir tun Wert, da ich denke, dass es Namen. OK. Also haben wir hier, dass wir einen gewissen Wert wollen von unseren Ein- Form ziehen. So in der gleichen Weise, wir Art hat Eingänge, kann mir jemand sagen, was wir könnte hier im Aufruf werden wenn wir wollten zu bekommen der Name von der Form? Und wenn wir hier blicken zurück auf unser Formular, merken wir, dass wir eine ID des Namens. ZIELGRUPPE: [unverständlich]. Sprecher 1: Sie müssen nicht zu der es als ein Array zu denken. Sie brauchen keine Sorgen zu machen. So haben wir nur einige Namen. Und dann, weil JavaScript und Dinge sind seltsam, wir können nicht einfach tun "name". Wir haben tatsächlich zu rufen eine Funktion, die uns, dergleichen, der Wert dieser Kennung. OK? Also das ist nur .val. ZIELGRUPPE: [unverständlich]. Sprecher 1: OK. Also mit JavaScript, diese Art von Ding hier geht gerade durch. Und man könnte denken, dies as-- es ist wie fast einem getElementById, wo getElementById würde tatsächlich senden Sie das vollständige Sache für Sie. Der $ ("# name") ist wie, OK, ich habe, kann ich darauf zugreifen, aber wenn Sie wirklich wollen, dass es um den Wert zurück zu Sie-- ZIELGRUPPE: Ist es wie ein Zeiger? Sprecher 1: Es ist ein bisschen wie ein Zeiger. Man könnte es als zu denken Art wie ein Zeiger. Wie heißt es, OK, ich wissen, wie man dorthin kommt, sondern um tatsächlich den Wert aus es können, müssen Sie explizit danach fragen. Und leider offensichtlich, wissen wir nicht zu viel zu tun mit JavaScript und jQuery. Also, es wird nach unten zu kommen, wie viel Sie guys-- was Sie weiß zufällig, was Sie gerade gesehen haben, und welche Sie Art von logisch erraten. Da einige dieser Dinge, die Sie könnte wahrscheinlich auf halbem Wege. Aber es ist völlig richtig zu machen, Ich denke, wahrscheinlich dieses Problem hatte einen der niedrigsten Werte. ZIELGRUPPE: Wie zum Beispiel, für [unverständlich] Eingänge, warum nicht Sie müssen val dort setzen? Sprecher 1: Für dieses? ZIELGRUPPE: Ja. Sprecher 1: Ja. Da es sich um Art der mag, wie gesagt, einige Zeiger, und das ist mir Referenzierung es und eigentlich immer uns den Wert. ZIELGRUPPE: Während [unverständlich]? Sprecher 1: Für Eingänge, Eingänge ist nur some-- es ist wie wir gerade sind es bei der Suche als Ganzes, und dies .submit erzählt uns, was wir wissen müssen. jQuery und JavaScript ist seltsam. Ich weiß. Ich weiß, Jungs. Ich weiß. Es gibt einen Grund, warum ich nicht Web-Programmierung zu tun. Nur ein Scherz. Ich habe nicht genug Kontakt mit ihr hatte. ZIELGRUPPE: [unverständlich] CSS. [Gelächter] Sprecher 1: OK, das CSS. CSS ist nur, wie, die Dinge hübsch, es ist nicht wie wir mit den Daten umgehen. Es gibt einen Unterschied gibt. OK. So, jetzt hoffentlich part-- dies auch für ein Problem wie dieses, wo ihr nicht wissen, die Syntax, die Sie aussehen könnte, OK, können Sie einige var Wert haben und werden wie gehe ich davon hat den Wert korrekt. Und dann könnte man wahrscheinlich schreibe diesen nächsten Teil. Dieser nächste Teil wird wahrscheinlich scheint viel einfacher, oder wäre es logischer zu machen Sinn für euch. Während das, was wir bisher geschrieben habe, Ich weiß, ich würde wie, ähm, ja sein, Ich weiß nicht, daß an der Quiz. Sie können völlig schreiben psuedocode und dann in echten Code zu brechen wenn Sie-- es ist irgendwie wie Mathematik. Einige, wenn Sie je hatten mehrteilige Problem, Sie wissen nicht, wie man erhalten nach der ersten Stufe, aber alles andere stützt sich an diesem ersten Schritt, Sie gerade sagen, wie angenommen, x gleich 4. Und dann haben Sie mit ihm laufen, oder? Sie können die gleiche Sache mit Code. So könnte man sagen, annehmen, Ich habe den Wert nach rechts. Dann diese nächste Teil zu tun hier. Da dieser Teil tatsächlich sollte ziemlich logisch sein. Also müssen wir überprüfen wenn unsere Wert ist leer. Oder wenn es einige Namen, tatsächlich geben eine Warnung aus. Also, was können wir prüfen wollen? Wir wollen einige Falls haben. Was denken Sie unsere Wenn sein wird? Wir müssen prüfen, ob Wert sehen ist--, wenn es nicht ein leerer String. Perfect. Genau. OK. Also, wenn das der Fall ist, Was wollen wir tun? Wir wollen eine Benachrichtigung zu werfen, oder? So ist es nur Alarm. Und dann, was wir wollen im Inneren. Also, was sind wir denn um innerhalb unserer Benachrichtigung haben? ZIELGRUPPE: "Hallo." Sprecher 1: Comma. Und dann tun Sie Kerle erinnern, wie man verketten? ZIELGRUPPE: Plus. Sprecher 1: Plus an. Deshalb wollen wir dazu haben. Und dann müssen wir ein weiteres Plus für unsere Ausrufezeichen. Kühle. OK. Ansonsten, was können wir tun wollen? Wir wollen nicht, etwas zu tun, oder? So dass wir nur return false. Nicht das, was ich tun möchte. OK. Und dann diese, von course--, was wichtig ist ist daran zu erinnern, um zu schließen Ihre anonyme Funktionen. Also, wenn Sie feststellen, haben wir einige hier Funktion, die hier endet. Also müssen wir diese zu schließen erste und fügen Sie ein Semikolon. Und dann hat dieser hier, um zu tun mit dieser anonymen Funktion, so dass wir es zu schließen es. Das reflexartige Reaktion des Sparens. Ja. ZIELGRUPPE: Gibt es einen Grund dass-- nur in allen Beispielen in JavaScript dass ich gesehen habe, haben wir die ersten geschweiften Klammern auf der gleichen Linie wie die Funktion? Sprecher 1: Das ist stilistisch. Ja. Und tatsächlich, wenn Sie nehmen 61, wir tun alle geschweiften Klammern auf diese Weise. Hä? ZIELGRUPPE: Wenn wir das tun, dass auf die PSET, ist, dass schlecht für Stil? Sprecher 1: No. Wir haben ausdrücklich gesagt, euch, dies zu tun. Aber eigentlich ist diese Art der dominierende Konvention in eine Menge von C-Klassen und JavaScript und jQuery. So offensichtlich, ich bin sure-- und tatsächlich, wenn ich wurden, dieses Problem vollständig zu tun blinden, ohne es betrachtete, Es ist wahrscheinlich sehr wenige Arten Ich würde dies bekommen haben. Ich könnte wie, OK gewesen, vielleicht habe ich müssen Sie etwas, das ein Eingang ist zu greifen. Und ich denke, mit der Wissen, dass, wie, OK, wenn ich will, um etwas zu bekommen von einer Form, die eine ID hat, Ich beziehe mich auf es auf diese Weise, Ich würde wahrscheinlich bekommen, dass. Ich könnte diese. Aber wirklich, das einzige, was ich denke, Ich würde wirklich das ist hier genau richtig. Also, es ist irgendwie wichtig, wissen, wie bei jeder schwierigen Test, Sie Art wählen Sie Ihre Schlachten, nicht wahr? Wenn Sie wissen, dass Sie nicht zu bekommen dass erste Teil für jQuery, wie gesagt, vorausgesetzt, dass Sie diesen Wert haben und tun, was Sie mit ihm. Und wenn Sie Zeit haben, gehen Sie zurück und versuchen Sie es und füllen Sie die Stücke. Aber lassen Sie sich nicht eine Frage, wie das wirklich Sumpf Sie unten. Denn das, was? Das war eine Frage, jQuery aus der gesamten Prüfung. Also ja, es wäre toll, wenn Sie es bekommen. ZIELGRUPPE: [unverständlich] Sie sind herzlich eingeladen, jQuery verwenden. Sprecher 1: Sie sind willkommen in jQuery zu verwenden. ZIELGRUPPE: OK. [Unverständlich]. Sprecher 1: Wie würden Sie es nicht verwenden? Ich müsste suchen alle meine JavaScript. Es ist eigentlich viel einfacher, Ich denke, um jQuery verwenden, weil jQuery tatsächlich reduziert die Menge JavaScript Sie wahrscheinlich schreiben durch, wie, die Hälfte. Also unser Code wäre wahrscheinlich doppelt so lang, ohne dass. Also, wenn Sie recognize-- die größte etwas weg von diesem Problem zu nehmen sind die Muster. Wenn Sie zugreifen, etwas aus einem Formular, Sie gehen zu Zitate, Hash verwenden, was auch immer Sie zugreifen möchten. Wenn es wird eingereicht, Sie wollen so etwas wie eine .submit verwenden. Du bist wahrscheinlich zu verwenden eine anonyme Funktion in es. Wenn Sie wirklich brauchen, den Wert etwas, du gehst zu tun, Zitate, Hash, was auch immer das Feld, .val. Und Erkennen von Mustern wie das gehen als viel nützlicher als wirklich zu wissen, die Nitty Gritty. Ja. ZIELGRUPPE: Also, wenn der Benutzer ihren Namen trägt vor und es läuft durch diese Aussage wird es nach unten gehen und kehren danach falsch? Sprecher 1: Nein, denn der Hut, Sie davon wie eine Rückkehr denken. Ja. So dass es dann zu verlassen. Ja. ZIELGRUPPE: Könnten Sie [? platzieren?] die Klammern von unterbreiten, Klammern, was? Sprecher 1: Ich habe, glaube ich. Dieser ist hier geschlossen. Und dann dieses wird hier unten geschlossen. ZIELGRUPPE: Oh, da gibt. In Ordnung. Sprecher 1: Offensichtlich wenig, kleine syntaktische Dinge so, werden wir wahrscheinlich nur umkreisen sie und werden wie, vergessen Sie nicht Ihre Klammern. Aber ja. OK. Haben wir eine andere dass wir gerne tun würden? Habt ihr erhalten die binären Baum ist? Wollen wir auf, dass man gehen? Ich fühle mich wie binäre Bäume und DOM sollte Punkte dass Sie Jungs ziemlich leicht. Ich würde nicht wollen, dass Sie um Punkte auf, dass zu verlieren. OK. Packen wir DOM hier. Ich wünschte, ich hätte meine Oberfläche, damit ich konnte nur auf dem Bildschirm zu zeichnen. Das ist, was ich im letzten Jahr zu tun. OK. Also wie gesagt, wir sprachen über DOM Document Object Model. Sie sind wahrscheinlich zu Ihnen einige bisschen Snippet wie folgt und bitten Sie, einen Baum für sie zu schaffen. Und das nur alles tun muss, mit durch die Tags laufen. Also lassen Sie uns versuchen, dies tun. Auch, wie üblich, wenn euch tun diese Tests, wie ich hoch empfehlen, dass Sie als Praxis zu tun, einer von ihnen, dass Sie wie sie sind, Ich weiß wirklich nicht, was ist denn hier los, nur natürlich, senden Sie mir eine E-Mail mit einer Frage, und ich werde erklären, so gut ich kann. OK. Wir haben ein Dokument, und wir haben HTML. OK. Also wir sind nur die Analyse die Tags hier, nicht wahr? Also, was tun wir, was sind comes-- die beiden Optionen unter HTML? Vor allem, weil sie richtig eingerückt sind? Kopf und Körper. Ah. Kopf und Körper. Lovely. Also beginnen wir hier mit Kopf. Was ist in der unter dem Kopf? Was ist unsere nächste Tag? Titel. Und dann im Titel, Quiz. OK. So wörtlich, es ist einfach zu Fuß durch die Tags, OK? Also, wenn wir Körper, wie wir durchmachen, Körper hat drei Dinge in ihm, nicht wahr? Es hat drei divs. Jeder div erhält eine eigene kleine Box. Und was ist im ersten div? [Unverständlich] Und dann wird die nächste ist Mitte, das ich werde einfach abkürzen. Und dann die letzte ist unten. Also wirklich, es ist nur zu Fuß durch. Und weil wir werden geben Sie HTML, die ordnungsgemäß eingerückt ist, Sie können buchstäblich nur durchlaufen und werden wie, OK, hier ist der HTML. Das ist also die äußerste Ecke oder am weitesten links, damit hat, seine eigene Sache. Diese sind auf der gleichen Einzug. So wissen wir, dass der Kopf muss werden auf dem gleichen Niveau wie Körper aber darunter HTML. Es ist, was wir hier haben. Kopf und Körper sind Geschwister, aber sie sind unter HTML. Und dann haben wir einfach in jede dieser gehen. Also Kopf hat Titel, die hat Quiz, wie wir hier sehen. Und dann in diesem Fall haben wir Körper, der diese drei Zeilen hat. Das sind also alle Geschwister alle unter Körper. OK? Hoffentlich, wenn Sie sehen, etwa so, wie du bist, ja, bekomme ich nur, um einen Baum zu zeichnen. Das wird groß sein. OK. So wollte sichergehen, Sie wusste, dass Jungs. Also, warum nicht wir gehen 32 mit den binären Baum? Denn wenn Sie eine binäre verstehen Suchbaum, es ist wirklich nicht so schlimm. So Everett, kann ich erase-- I meine, das sind alles auch online. Also, wenn Sie irgendwelche Fragen haben. Verlor ein wenig Platz gibt, aber es ist OK. So binären Suchbaum ist nur eine Möglichkeit, Daten zu organisieren nicht in einer Anordnung, in der die Wurzel immer grßer als das linke Kind und die Wurzel immer kleiner ist als der rechte Kind. OK. So haben wir hier diese große Suchbaum. Wir haben diese Nummern, 34, 59, 20, 106, 36 und 52. Und wir müssen uns organisieren sie derart derart, dass die Wurzel größer als alles auf der linken Seite und es ist kleiner als alles auf der rechten Seite. Und in der Regel, was Sie tun möchte, ist zu versuchen und zu finden etwas in der Mitte. Mit binäre Suchbäume, müssen Sie damit zu spielen, um ein wenig. Aber in diesem Fall, lass uns einfach davon ausgehen, dass wir wissen, dass diese erste. So 36 ist unser erstes hier. Normalerweise würde ich versuchen, und wählen Sie etwas, etwa in der Mitte das wird wahrscheinlich die besten Ergebnisse. So, jetzt wissen wir, dass alles, was auf Diese Seite muss weniger als 36 betragen. Sondern auch, was Sie sehen können, ist dass wir zwei Punkte hier. Also, wenn wir wissen, dass wir zwei Zahlen, die kleiner als die Wurzel sind, dann könnte man dann bestellen Sie diese und wählen Sie die dritte Zahl. OK. Also, warum nicht wir mit dieser Seite starten? Also, wenn wir wissen, dass alles, was auf Diese Seite muss kleiner sein als 36-- aber wenn wir uns diesen einen, Wir wissen, dass diese Zahl muss kleiner sein als diese Zahl, oder? Da diese Zahl hier ist auf der rechten Seite. Und denken Sie daran, genau wie in unseren größeren Baum, alles, was auf der rechten Seite muss größer sein als die Wurzel zu sein. Auf diese Weise wissen wir, daß was in dieser Bedürfnisse größer als alles, was ist, hier zu sein. OK? Wir haben also zwei Möglichkeiten für diese beiden Blasen. Wir haben 32 und 34-- oder traurig. 20 und 34. So, wie Sie denken, könnten wir diese in zu setzen? Wenn dieses hat zu sein größer ist als diese, das heißt, wir wollen haben 20 und 34 hier hier. OK. So in der gleichen Weise wir uns bei dieser Art der Unterstruktur. Und wir sagen, OK, haben wir nicht 36. Wir haben 106, 52 und 59. Richtig? In diesem Fall ist, wir wissen, dass dies ein Bedarf um eine Sache, die größer ist als es haben es und eine Sache, die weniger als es ist. Richtig? Wenn wir also in Ordnung zu bringen diese, es ist einfach über die Suche nach diesen mittleren Wert wieder. Also unsere Mittelwert ist 59. Also sagen wir: OK, was ist weniger als 59? Nun, das ist 52. Und was ist größer als 59? Nun, das ist 106. OK? So ist es nur ein bisschen wie ein Puzzle. Es hilft typischerweise, insbesondere in kleine Bäume wie diese, Wenn Sie bestellen Sie einfach darauf, wenn Sie wissen, wie viele sind auf der linken und wie viele sind auf die Recht, das kann nur können Sie wählen, was sollte Ihr root sein. Und dann können Sie Art der Arbeit von dort aus. Mm-hm. 33? Sicher. OK. Also, um einen Knoten erstellen möchten wir oder ein binärer Suchbaum. Und schauen wir uns an, was in ihm ist. Und ich denke, das wird wirklich unsere letzte Problem sein. Ah. OK. OK. Das ist wie das, was wir können, denken als Knoten, nicht wahr? Wir haben einen gewissen Wert, und wir wissen, dass es entweder Recht Kinder verlassen haben und. Binäre Suche tree-- dass Mittel daß sie höchstens zwei Kinder. OK? Lassen Sie uns über die Art und Weise, dass wir definiert eine verknüpfte Liste, nicht wahr? Wir hatten einige int dass repräsentiert den Wert. Wir hatten einige Zeiger, vertreten was es als nächstes werde. Binärer Suchbaum ist sehr ähnlich. Wir haben immer noch einen gewissen Wert, n, dass wir es, nicht wahr? Und dann zog ich diese sehr explizit mit Pfeilen, weil sie effektiv Zeigern. OK? So n typischerweise was? Es ist etwas Wert. Was machen wir bezeichnen sie üblicherweise als? Ein int. Also haben wir etwas int n oder int-Wert, oder was auch immer Sie möchten, dass es nennen. Und dann die linke wir Kindes und den rechten Kindes. Richtig? Und wir wissen, dass das, was sie sind point-- was sind sie zu zeigen? Sie sind zu anderen Knoten zeigt, nicht wahr? Wie würden erklären wir einen Knotenzeiger? ZIELGRUPPE: [unverständlich]. Sprecher 1: Mm-hm. Und wir gehen zu müssen, zwei von denen, nicht wahr? Und dann können wir buchstäblich Sie für das linke Kind verlassen und rechts für die rechte Kind. Actually-- leid. Denn wir brauchen Struktur. So Struktur ist, weil wir nicht beendet erklärt noch einen Knoten. So Knoten im hier. Es ist ein bisschen wie ein rekursive Definition, nicht wahr? Also, wenn wir innerhalb Diese Definition, die wir nicht erklären beendet Knoten nach der Struktur, so zu tun, müssen wir struct Knoten nur sagen, ja, Wir sind in der Tat, die sich zurück zu uns selbst zu geben, was. Das wie sobald es erstellt, wird es in Ordnung sein. Wie groß denkt ihr dies? Was ist die Größe dieser Struktur? 12. Warum? Genau. Und in der Tat, eine der ersten Fragen eines Quiz One ist über Größen, deshalb fragte ich. In Ordnung. Wir sind zu Ende gehen, weil die DCE wird schreien mich an, wenn wir es nicht tun. Aber wenn euch irgendwelche Fragen haben, natürlich, mailen Sie mir, mich zu informieren. Ihr Jungs werden es rocken. Ich bin super aufgeregt. Ihr seid als getan werden vom Mittwoch, und dann Sie erhalten auf Ihre abschließende Arbeit Projekte, und es wird großartig werden. Ich werde hier der nächste sein Woche von 4.00 bis 04.30 Uhr wenn euch kommen wollen holen Sie Ihre Quiz. Wenn Sie mir ein anderes Mal suchen möchten oder einfach nur zu koordinieren eine andere Zeit, fühlen Sie sich frei, mich zu informieren. Ansonsten ist dies unser letzter Abschnitt. So war es toll, euch zu sehen. Bitte nehmen Sie sich mehr Süßigkeiten. Und viel Glück auf Ihrem Quiz.