1 00:00:00,000 --> 00:00:02,418 >> [Musik zu spielen] 2 00:00:02,418 --> 00:00:10,542 3 00:00:10,542 --> 00:00:12,000 ALLISON BUCHHOLTZ-AU: Hey everyone. 4 00:00:12,000 --> 00:00:15,640 Willkommen bei Ihrem ersten offizielle CS50 Abschnitt. 5 00:00:15,640 --> 00:00:19,507 Wie Sie sehen, sehen, das ist Abschnitt CS50-like, nur 6 00:00:19,507 --> 00:00:20,840 nach oben zu ziehen unsere Agenda für heute. 7 00:00:20,840 --> 00:00:23,990 Also, wer bin ich, wie ich bin sicher, Sie sind alles fragen. 8 00:00:23,990 --> 00:00:25,514 Ich bin dein TF. 9 00:00:25,514 --> 00:00:27,930 Ich bin nicht nur eine zufällige Studenten wer die Identität Ihrer TF. 10 00:00:27,930 --> 00:00:31,190 >> Und ich werde zu durchlaufen Art haben Abschnitte fließen, 11 00:00:31,190 --> 00:00:34,900 Erwartungen, die wir haben, Ressourcen so weiter und so fort. 12 00:00:34,900 --> 00:00:39,190 Wir werden über Arrays reden, ASCII Funktionen, Befehlszeilenargumente, 13 00:00:39,190 --> 00:00:42,020 und es ist nicht hier, aber Ich werde auch helfen 14 00:00:42,020 --> 00:00:45,054 Sie Art von durchdenken Ihren nächsten pset für diese Woche. 15 00:00:45,054 --> 00:00:46,720 Was ich bin sicher, Sie werden alle zu schätzen wissen. 16 00:00:46,720 --> 00:00:48,190 17 00:00:48,190 --> 00:00:53,390 >> Also, zuerst question-- wer ich bin, neben Ihrem überschwänglichen TF hier. 18 00:00:53,390 --> 00:00:55,390 Ich bin Alison Buchholtz-Au. 19 00:00:55,390 --> 00:00:57,970 Dies ist mein zweites Jahr TFing CS50. 20 00:00:57,970 --> 00:01:00,570 Ich habe auch TF CS51 im Frühjahr. 21 00:01:00,570 --> 00:01:03,930 Sie könnten wieder dort zu sehen wenn Sie sich entscheiden, es zu nehmen. 22 00:01:03,930 --> 00:01:07,370 Ich bin auch ein PAF, so dass jede Freshmen-- und wenn Sie nicht gerade ein Neuling, 23 00:01:07,370 --> 00:01:09,980 dies ist mein drittes Jahr als Beratung Kerl. 24 00:01:09,980 --> 00:01:13,630 Ich bin sehr in sehr versiert beraten Sie über das Leben und Kurse 25 00:01:13,630 --> 00:01:16,549 innerhalb der CS und nicht innerhalb der CS. 26 00:01:16,549 --> 00:01:18,090 Ich bin ein Informatik-Konzentrator. 27 00:01:18,090 --> 00:01:20,800 Ich bin ein Senior in Adams Haus, beste Haus. 28 00:01:20,800 --> 00:01:22,430 29 00:01:22,430 --> 00:01:26,050 Und bevor ich wechselte zu CS meinem zweiten Frühling, 30 00:01:26,050 --> 00:01:27,640 Ich war eigentlich ein biomedizinischer Ingenieur. 31 00:01:27,640 --> 00:01:29,020 Ich wollte zu Med Schule gehen. 32 00:01:29,020 --> 00:01:30,530 Ich wollte ein Unfallchirurg sein. 33 00:01:30,530 --> 00:01:33,000 Und das komplett hat verändert, seit ich nahm CS50. 34 00:01:33,000 --> 00:01:34,250 35 00:01:34,250 --> 00:01:36,310 Ich nahm das natürlich meine Sophomore Fall. 36 00:01:36,310 --> 00:01:38,920 Es war meine erste Einführung in CS je. 37 00:01:38,920 --> 00:01:44,104 Ich einer der 78% von Ihnen war, die hatte null Erfahrung kommen in, 38 00:01:44,104 --> 00:01:45,520 und es ist völlig mein Leben verändert. 39 00:01:45,520 --> 00:01:49,820 Und jetzt bin ich auf Arbeits Microsoft und Ihre schönen TF. 40 00:01:49,820 --> 00:01:53,500 Und CS50 ist wahrscheinlich eine der besten Erfahrungen 41 00:01:53,500 --> 00:01:56,210 dass ich hier bei hatte Harvard-- sowohl unter die Klasse 42 00:01:56,210 --> 00:01:59,040 und in der Lage zu helfen, vermitteln den Studenten wie Sie. 43 00:01:59,040 --> 00:02:01,410 >> Also ich bin wirklich aufgeregt, Sie sind alle hier. 44 00:02:01,410 --> 00:02:04,270 Falls Sie in kam spät, es gibt Süßigkeiten, 45 00:02:04,270 --> 00:02:07,227 was Sie sich fühlen sollte frei, grab kommen, oder schicken 46 00:02:07,227 --> 00:02:08,560 jemanden, der es für Sie zu greifen. 47 00:02:08,560 --> 00:02:09,399 Es ist in Ordnung. 48 00:02:09,399 --> 00:02:10,440 Ich möchte nicht, dass zu essen. 49 00:02:10,440 --> 00:02:13,350 Mein Zimmer hat genug Schokolade, so y'all sollten versuchen, und beenden das. 50 00:02:13,350 --> 00:02:16,730 Ich weiß, es gibt 100 Stück, aber wie, 4 Uhr an einem Montag, 51 00:02:16,730 --> 00:02:19,000 Ich denke, jeder konnte etwas Zucker verwenden. 52 00:02:19,000 --> 00:02:21,750 >> Also alle, die sind offiziell in meiner Abteilung 53 00:02:21,750 --> 00:02:24,700 sollte eine E-Mail bekommen haben von mir mit meiner Telefonnummer, 54 00:02:24,700 --> 00:02:29,920 E-Mail-address-- sich bitte an mich auf hinzufügen Gchat, zögern Sie nicht mich auf Facebook, 55 00:02:29,920 --> 00:02:33,360 und auch für den Rest von euch, du mich gleich hier per E-Mail können. 56 00:02:33,360 --> 00:02:34,450 Es gibt zwei H ist. 57 00:02:34,450 --> 00:02:37,090 Jeder tut immer wie zwei L's oder zwei C ist. 58 00:02:37,090 --> 00:02:38,260 Zwei H im Nachnamen. 59 00:02:38,260 --> 00:02:41,800 Ansonsten, es wird wieder auf die Beine, und Ich werde nicht Ihre E-Mail zu erhalten. 60 00:02:41,800 --> 00:02:46,400 >> So fühlen sich frei, mich zu mailen, , mich jederzeit kontaktieren. 61 00:02:46,400 --> 00:02:51,440 Ich möglicherweise nicht zurückerhalten zu Sie innerhalb von 24 Minuten 62 00:02:51,440 --> 00:02:53,760 aber ich verspreche, um wieder Ihnen innerhalb von 24 Stunden. 63 00:02:53,760 --> 00:02:54,900 64 00:02:54,900 --> 00:02:58,067 Wenn Sie mir eine halbe Stunde vor nennen Ihre pset fällig ist, Sie zu sein wie, 65 00:02:58,067 --> 00:02:59,650 Ich habe keine Ahnung, was ich tue Allison. 66 00:02:59,650 --> 00:03:00,160 Hilf mir. 67 00:03:00,160 --> 00:03:04,049 Ich werde dich zu beruhigen, aber am Ende des Tages, 68 00:03:04,049 --> 00:03:07,340 wenn Sie ruft mich eine halbe Stunde vor Ihre pset ist fällig mit nichts geschrieben, 69 00:03:07,340 --> 00:03:11,570 Ich werde wie gut sein, vielleicht es ist Zeit, dass ein später Tag benutzen. 70 00:03:11,570 --> 00:03:15,215 Also werde ich auf alle reagieren Ihre Anforderungen in einer sehr zeitnah. 71 00:03:15,215 --> 00:03:16,482 72 00:03:16,482 --> 00:03:18,190 Mein Handy ist in der Regel meine Hände gebunden. 73 00:03:18,190 --> 00:03:21,530 Ich antworte in der Regel viel schneller als 24 Stunden, 74 00:03:21,530 --> 00:03:25,650 aber ich kann nur Garantie eine 24 Stunden Antwort. 75 00:03:25,650 --> 00:03:26,580 >> In Ordnung. 76 00:03:26,580 --> 00:03:28,410 Also, warum sind wir hier? 77 00:03:28,410 --> 00:03:32,160 Auch, wenn Sie Fragen zu haben zu jeder Zeit, lass es mich wissen. 78 00:03:32,160 --> 00:03:32,780 Ich rede viel. 79 00:03:32,780 --> 00:03:35,320 Ich rede schnell, aber bitte fühlen Sie sich frei, mich zu unterbrechen. 80 00:03:35,320 --> 00:03:36,980 Es gibt mir die Atmung Zimmer auch. 81 00:03:36,980 --> 00:03:38,159 82 00:03:38,159 --> 00:03:40,200 So Abschnitte sind ein Zeit für uns, wirklich nur Tauchgang 83 00:03:40,200 --> 00:03:44,270 in, bekommen einige praktische Erfahrungen, um gehen Sie durch Themen, die wir bereits erwähnt 84 00:03:44,270 --> 00:03:49,760 in der Klasse oder in Studienmaterialien, empfehlen wir online, um euch. 85 00:03:49,760 --> 00:03:52,980 Und wir werden tatsächlich durchlaufen einige dieser Ressourcen in einem Bit. 86 00:03:52,980 --> 00:03:54,300 87 00:03:54,300 --> 00:03:57,400 >> So einige Notizen auf Abschnitt Unterstützung. 88 00:03:57,400 --> 00:04:00,250 CS50-- eine der Sachen, die macht es eine meiner Lieblingsklassen 89 00:04:00,250 --> 00:04:02,510 ist das Gefühl, dass du allein bist nie. 90 00:04:02,510 --> 00:04:05,430 Wir haben einen Stab von über 100 Leute, die hier sind, um Ihnen zu helfen. 91 00:04:05,430 --> 00:04:08,080 Wir haben Bürozeiten Montag bis Donnerstag. 92 00:04:08,080 --> 00:04:13,230 Also es gibt so viele Menschen, die liebe die Klasse genauso viel wie ich, 93 00:04:13,230 --> 00:04:15,750 und wer wirklich hier sind weil sie hier sein wollen. 94 00:04:15,750 --> 00:04:19,390 Die meisten von uns sind Studenten, und dies ist wie eine fünfte Klasse zusätzlich 95 00:04:19,390 --> 00:04:20,390 an den Rest der Arbeit. 96 00:04:20,390 --> 00:04:22,723 >> Und es ist eine Menge Arbeit, aber Wir tun es, weil wir es lieben, 97 00:04:22,723 --> 00:04:25,600 und wir wirklich lieben zu lehren und helfen Sie teilen unsere Begeisterung 98 00:04:25,600 --> 00:04:27,260 für dieses Thema und dieser Klasse. 99 00:04:27,260 --> 00:04:28,490 Also bitte nutzen. 100 00:04:28,490 --> 00:04:29,370 Kommen Sie mit uns sprechen. 101 00:04:29,370 --> 00:04:33,034 Ich einsam, wenn meine Schüler nicht mit mir reden, wenn Sie so wollen, 102 00:04:33,034 --> 00:04:33,950 kommen hängen bei mir. 103 00:04:33,950 --> 00:04:35,200 Es wird großartig sein. 104 00:04:35,200 --> 00:04:37,400 >> So Schnitt ist offensichtlich eines Ihrer größten Dinge. 105 00:04:37,400 --> 00:04:41,770 Wir werden durch die Dinge gehen dass Sie in der Vorlesung gelernt, 106 00:04:41,770 --> 00:04:44,100 machen Sie einige kurze Beispiele wenn wir Zeit haben, 107 00:04:44,100 --> 00:04:46,187 und in der Regel Art eine Vorstellung über die Dinge 108 00:04:46,187 --> 00:04:48,270 Sie denken sollten etwa für Ihr Problem eingestellt. 109 00:04:48,270 --> 00:04:49,540 110 00:04:49,540 --> 00:04:53,591 Shorts-- wie viele Menschen tatsächlich sah das Video von Ihrem Kratz 111 00:04:53,591 --> 00:04:54,090 kurz? 112 00:04:54,090 --> 00:04:55,460 113 00:04:55,460 --> 00:04:57,390 Wer erkennt mich? 114 00:04:57,390 --> 00:04:59,720 Das sind also sehr groß. 115 00:04:59,720 --> 00:05:01,210 Sie sollten auf jeden Fall beobachten diese. 116 00:05:01,210 --> 00:05:02,880 Eine Menge Arbeit wurde in sie hineingelegt worden. 117 00:05:02,880 --> 00:05:06,690 Und sie meinte nur, sein wirst mundgerechte Stücke, die Du nur zuschauen 118 00:05:06,690 --> 00:05:09,760 für drei oder vier Minuten und ein besseres Verständnis des Konzepts. 119 00:05:09,760 --> 00:05:11,147 120 00:05:11,147 --> 00:05:12,980 Gehen throughs-- how viele Leute haben beobachtet 121 00:05:12,980 --> 00:05:14,880 Die Wanderung Durchführungen für vorherigen? 122 00:05:14,880 --> 00:05:16,240 Zamyla ist erstaunlich, nicht wahr? 123 00:05:16,240 --> 00:05:18,100 Wie, ich wünschte, ich wäre Zamyla manchmal. 124 00:05:18,100 --> 00:05:19,650 125 00:05:19,650 --> 00:05:21,640 Also auf jeden Fall mit Ihrem Spaziergang Durch. 126 00:05:21,640 --> 00:05:25,070 Sie wird es nach unten in die Pause kleine, mundgerechte Stücke. 127 00:05:25,070 --> 00:05:28,079 Und wenn man diese riesigen haben Spezifikationen von Ihrem Problem-Sets, 128 00:05:28,079 --> 00:05:30,870 es wird wirklich wichtig zu sein der Lage sein, einfach irgendwo zu finden sein 129 00:05:30,870 --> 00:05:32,600 zu beginnen und sich langsam durch. 130 00:05:32,600 --> 00:05:33,610 131 00:05:33,610 --> 00:05:40,260 >> Alles klar, wir haben auch Studie50, die ist study50.harvard.edu, glaube ich. 132 00:05:40,260 --> 00:05:42,270 Sie können nur Google zu studieren, und es wird kommen. 133 00:05:42,270 --> 00:05:45,750 Dies ist einer der besten Ressourcen, die wir haben. 134 00:05:45,750 --> 00:05:49,800 Es ist Powerpoints mit Noten und Praxis Probleme für Sie 135 00:05:49,800 --> 00:05:52,430 mit Lösungen, die Sie kann tatsächlich durch zu gehen. 136 00:05:52,430 --> 00:05:57,000 Also, wenn Sie immer mehr Praxis möchten, mehr, als wir in den Abschnitten oder mehr zu tun 137 00:05:57,000 --> 00:06:00,700 als Ihr Problem-Sets, ist dies wirklich ein Ort, den ich empfehlen Ihnen, zu gehen. 138 00:06:00,700 --> 00:06:03,590 Es wurde im letzten Sommer gebaut durch einige meiner wirklich guten Freunde. 139 00:06:03,590 --> 00:06:04,480 Und es ist erstaunlich. 140 00:06:04,480 --> 00:06:05,540 141 00:06:05,540 --> 00:06:08,670 In der Tat, eine Menge der Schieber dass ich mit werden für den Einzelplan 142 00:06:08,670 --> 00:06:10,190 wird ab Studie50 kommen. 143 00:06:10,190 --> 00:06:12,000 >> So viel von der TFs verwenden. 144 00:06:12,000 --> 00:06:13,920 Und schließlich, wie ich erwähnt, der Bürozeiten. 145 00:06:13,920 --> 00:06:15,836 Wenn Sie Probleme haben bei den Hausaufgaben, du bist 146 00:06:15,836 --> 00:06:18,270 Probleme mit ein Konzept, komm zu Bürozeiten. 147 00:06:18,270 --> 00:06:20,190 Gehen Sie früh in der Woche, wenn Sie können. 148 00:06:20,190 --> 00:06:23,130 Raus auf den Quad, denn es ist ziemlich weit. 149 00:06:23,130 --> 00:06:24,780 Niemand mag es, draußen zu gehen. 150 00:06:24,780 --> 00:06:27,090 Aber es ist zu Ihrem Vorteil, denn dann bist du 151 00:06:27,090 --> 00:06:29,580 gehen, um all diese TFs haben, [Unverständlich] umgeben Sie. 152 00:06:29,580 --> 00:06:31,920 Und vor allem jetzt, Nur ein Tipp, donnerstags 153 00:06:31,920 --> 00:06:35,310 sind sehr Chill jetzt in Mather, weil Ihr psets 154 00:06:35,310 --> 00:06:36,577 sind am Donnerstag fällig. 155 00:06:36,577 --> 00:06:38,410 Und zu wissen, will verwenden noch Ihren späten Tagen. 156 00:06:38,410 --> 00:06:40,030 >> Also, wenn die Sie haben Probleme mit Konzepten, 157 00:06:40,030 --> 00:06:41,780 es gibt viele, die TFs sind da, um Ihnen zu helfen. 158 00:06:41,780 --> 00:06:43,196 So kommen, um Mather am Donnerstag. 159 00:06:43,196 --> 00:06:45,280 Wenn Sie mich sehen wollen, Ich werde da sein. 160 00:06:45,280 --> 00:06:48,870 Ich bin in der Regel tun, meine eigenen Hausaufgaben, denn niemand will meine Hilfe. 161 00:06:48,870 --> 00:06:50,260 Also besuchen Sie uns. 162 00:06:50,260 --> 00:06:51,460 163 00:06:51,460 --> 00:06:52,440 >> Treffen Sie uns auf halbem Weg. 164 00:06:52,440 --> 00:06:55,400 So wie viele Menschen besucht Vortrag oder sah es online? 165 00:06:55,400 --> 00:06:56,570 166 00:06:56,570 --> 00:06:59,140 Wie viele Menschen gingen zu Superschnitt der letzten Woche? 167 00:06:59,140 --> 00:07:00,171 168 00:07:00,171 --> 00:07:00,670 Cool. 169 00:07:00,670 --> 00:07:02,190 Das ist eigentlich eine ganze Reihe. 170 00:07:02,190 --> 00:07:05,425 Wie viele von euch haben lesen Sie Ihre spec für diese Woche, für Ihre pset? 171 00:07:05,425 --> 00:07:07,081 172 00:07:07,081 --> 00:07:08,461 Ooh, ich bin stolz auf euch! 173 00:07:08,461 --> 00:07:09,335 Mehr Süßigkeiten für y'all. 174 00:07:09,335 --> 00:07:11,070 175 00:07:11,070 --> 00:07:13,280 >> Gut, so was wir meinen, "Treffen Sie uns auf halbem Weg", ist 176 00:07:13,280 --> 00:07:16,440 dieser Abschnitt ist wirklich nur geht super nützlich, um Sie zu sein 177 00:07:16,440 --> 00:07:19,810 wenn Sie in der Lektüre kommen Sie Ihren Spezifikation für Ihr pset. 178 00:07:19,810 --> 00:07:23,859 Weil, wenn ich durch einen Überblick zu gehen Dinge, die Sie sollten Ausschau nach, 179 00:07:23,859 --> 00:07:25,650 es wird nicht zu machen so viel Sinn, wenn Sie 180 00:07:25,650 --> 00:07:28,358 weiß nicht, was Ihr Problem eingestellt wird sich fragen, was Sie tun. 181 00:07:28,358 --> 00:07:29,020 182 00:07:29,020 --> 00:07:32,590 >> Wenn Sie nicht in Abschnitt kommen, offensichtlich Ich kann es nicht, dass Sie nützlich sein. 183 00:07:32,590 --> 00:07:36,600 Ich werde es nicht persönlich, wenn nehmen Sie nicht zu meinem Abschnitt Augenblick gekommen, 184 00:07:36,600 --> 00:07:38,570 aber auf jeden Fall sollten Sie. 185 00:07:38,570 --> 00:07:40,090 Wenn Sie nicht können, beobachten sie online. 186 00:07:40,090 --> 00:07:41,230 187 00:07:41,230 --> 00:07:42,519 Sie sind da für einen Grund. 188 00:07:42,519 --> 00:07:43,560 Mine wird gleich da. 189 00:07:43,560 --> 00:07:44,187 190 00:07:44,187 --> 00:07:47,270 Wie Sie feststellen, sind wir gerade aufgenommen, so dass es dann genau dort für euch sein. 191 00:07:47,270 --> 00:07:49,110 192 00:07:49,110 --> 00:07:51,570 Wie gut, werde lectures-- das ist offensichtlich 193 00:07:51,570 --> 00:07:53,790 wo Sie bekommen die Starten Ihres Materials hier. 194 00:07:53,790 --> 00:07:57,430 Also ich werde auf jeden Fall versuchen, Ihnen helfen, so viel wie ich kann, 195 00:07:57,430 --> 00:07:58,840 aber ich kann nur treffen Sie so weit. 196 00:07:58,840 --> 00:08:01,220 Sie müssen Art von Treffen Sie uns auf halbem Wege. 197 00:08:01,220 --> 00:08:04,050 >> Grading-- so, euch alle wer eine E-Mail von mir bekommen, 198 00:08:04,050 --> 00:08:05,445 Sie sind meine offizielle Seite. 199 00:08:05,445 --> 00:08:06,470 200 00:08:06,470 --> 00:08:08,120 Ich werde mit einem Gehalt von Ihrem psets. 201 00:08:08,120 --> 00:08:12,870 Und ich will nur sagen, eine Sache, die Sie sollten wirklich darauf achten, 202 00:08:12,870 --> 00:08:13,820 sind die Kommentare. 203 00:08:13,820 --> 00:08:17,390 Die Kommentare sind oft nützlich, als die tatsächliche Punktzahl geben wir Ihnen. 204 00:08:17,390 --> 00:08:19,890 Und die Kommentare sind eigentlich wo ich viel von meiner Zeit 205 00:08:19,890 --> 00:08:20,770 wenn ich Grading. 206 00:08:20,770 --> 00:08:22,700 Also ich würde schätzen es, wenn Sie sie lesen. 207 00:08:22,700 --> 00:08:26,990 Und sie sind tatsächlich, wie du gehst um mehr über Design und Stil lernen 208 00:08:26,990 --> 00:08:29,860 und Dinge, die sind ein etwas weniger geschnitten und trocken. 209 00:08:29,860 --> 00:08:31,770 >> Also wirklich achten auf diese Äußerungen. 210 00:08:31,770 --> 00:08:34,720 Wenn Sie Fragen über sie haben, oder Fragen über Ihre Gäste, 211 00:08:34,720 --> 00:08:37,620 kommen Sie bitte mit mir reden entweder vor Schnitt, 212 00:08:37,620 --> 00:08:41,039 Ich werde wahrscheinlich werden hanging out in der Lobby, oder danach. 213 00:08:41,039 --> 00:08:43,559 Wenn Sie planen möchten One-on-One-Meetings, wie 214 00:08:43,559 --> 00:08:46,100 Sie kann helfen, später zu verbessern Problem-Sets, lass es mich wissen. 215 00:08:46,100 --> 00:08:47,520 216 00:08:47,520 --> 00:08:49,750 >> Und dann nur ein paar Tipps für euch. 217 00:08:49,750 --> 00:08:53,110 Damit wird eines der größten Dinge, Ich betone immer, mein Schnitt 218 00:08:53,110 --> 00:08:57,700 wenn Sie lernen, wie man Code ist die Dinge auf Papier zuerst schreiben. 219 00:08:57,700 --> 00:09:01,080 Wenn Sie einen Spielplan für haben wo Ihr Code muss gehen 220 00:09:01,080 --> 00:09:03,230 und was er braucht, um tun und es ist zusammengebrochen 221 00:09:03,230 --> 00:09:06,000 in kleine Stücke von Pseudocode Code, den Sie ausgeschrieben haben, 222 00:09:06,000 --> 00:09:09,780 Sie gehen zu weniger sind wahrscheinlich Syntaxfehler machen 223 00:09:09,780 --> 00:09:12,355 oder erstellen Sie eine if-Schleife, nicht über ein anderes. 224 00:09:12,355 --> 00:09:14,064 225 00:09:14,064 --> 00:09:15,980 Wenn Sie wissen, wo du bist gehen insgesamt, du bist 226 00:09:15,980 --> 00:09:19,764 weniger wahrscheinlich diese kleinen zu machen Fehler, die manchmal werden Sie 227 00:09:19,764 --> 00:09:22,555 Stunden zu beheben, weil Sie wie sie sind, wo bin ich dabei diese Halterung? 228 00:09:22,555 --> 00:09:23,580 229 00:09:23,580 --> 00:09:27,420 >> In diesem Sinne, nutzen Sie bitte Style50. 230 00:09:27,420 --> 00:09:28,820 231 00:09:28,820 --> 00:09:31,590 Vor allem, wenn Sie werde der Bürozeiten, 232 00:09:31,590 --> 00:09:34,850 Wenn Ihr Code ist alles umgeschaltet auf eine Seite, 233 00:09:34,850 --> 00:09:37,740 es ist natürlich Politik dass wir sagen können, zu beheben 234 00:09:37,740 --> 00:09:41,990 so dass es aussieht wie Style50 sagt es sollte, und dann werden wir Ihnen helfen. 235 00:09:41,990 --> 00:09:43,830 Also, es wird Ihr Leben leichter machen. 236 00:09:43,830 --> 00:09:45,030 Sie macht unser Leben leichter. 237 00:09:45,030 --> 00:09:46,000 Jeder ist glücklicher. 238 00:09:46,000 --> 00:09:47,290 Jeder bekommt bessere Noten. 239 00:09:47,290 --> 00:09:48,760 Ist das nicht das, was wir alle wollen? 240 00:09:48,760 --> 00:09:50,420 241 00:09:50,420 --> 00:09:53,860 >> So schreiben Dinge auf Papier vor Sie jemals berühren Ihrem Computer. 242 00:09:53,860 --> 00:09:57,540 Sprechen Sie Dinge auf einem hohen Niveau, und stellen Sie sicher wissen, wohin du gehst. 243 00:09:57,540 --> 00:09:59,940 Und wenn Sie sich nicht sicher sind, setzen Sie sich mit jemandem 244 00:09:59,940 --> 00:10:03,340 und gehen sie durch schrittweise was Ihr Code tun soll. 245 00:10:03,340 --> 00:10:07,940 Und neun von zehn, wirst du sein wie, Oh, ich vergaß, ein, wenn die Bedingung 246 00:10:07,940 --> 00:10:12,420 oder ich vergaß ein Semikolon hier oder Ich aktualisiere diese Variable falsch. 247 00:10:12,420 --> 00:10:15,740 Also das sind meine Tipps für den Erfolg. 248 00:10:15,740 --> 00:10:19,820 >> So, da etwa die Hälfte von euch freuen wie Sie besuchte Superschnitt, 249 00:10:19,820 --> 00:10:24,080 Ich werde einfach bis sehr kurz durch Schleifen zu gehen, 250 00:10:24,080 --> 00:10:26,650 die nicht auf unserer ursprünglichen Tagesordnung waren. 251 00:10:26,650 --> 00:10:28,190 Aber sie sind wirklich wichtig. 252 00:10:28,190 --> 00:10:30,250 Und so bin ich zu Art gehen der Geschwindigkeit durch solche 253 00:10:30,250 --> 00:10:32,860 bevor wir in unsere aktuellen Abschnitt. 254 00:10:32,860 --> 00:10:36,269 Bevor ich das tue, gibt es jede questions-- logistisch, 255 00:10:36,269 --> 00:10:38,060 persönlich ist es alles, was Sie wollen 256 00:10:38,060 --> 00:10:40,990 über mich oder über weiß Abschnitt oder Klasse im Allgemeinen? 257 00:10:40,990 --> 00:10:43,195 258 00:10:43,195 --> 00:10:43,880 Alles gut? 259 00:10:43,880 --> 00:10:45,300 OK, cool. 260 00:10:45,300 --> 00:10:46,781 261 00:10:46,781 --> 00:10:47,280 Lovely. 262 00:10:47,280 --> 00:10:50,071 >> So loops-- Ihr solltet alle erkennen diese Stücke aus dem Nichts. 263 00:10:50,071 --> 00:10:51,310 264 00:10:51,310 --> 00:10:55,220 Also Schleifen sind im Grunde nur eine Möglichkeit für uns etwas zu tun 265 00:10:55,220 --> 00:10:58,900 Einige mehrfach, einige wiederholte Aktion basierend auf einem gewissen bedingten. 266 00:10:58,900 --> 00:11:00,140 267 00:11:00,140 --> 00:11:02,090 So haben wir drei verschiedene Typen. 268 00:11:02,090 --> 00:11:04,860 Wir haben für Schleife, while und do-while. 269 00:11:04,860 --> 00:11:06,430 270 00:11:06,430 --> 00:11:11,320 >> Also für loops-- wir haben nur ein sehr allgemeine Layout hier einer for-Schleife. 271 00:11:11,320 --> 00:11:16,110 Und das ist groß, wenn Sie wissen, wie oft muss etwas auszuführen. 272 00:11:16,110 --> 00:11:17,040 273 00:11:17,040 --> 00:11:18,790 Wenn wir über das reden anderen Schleifen, werden Sie 274 00:11:18,790 --> 00:11:20,650 sehen, warum das ist ein wichtiger Unterschied. 275 00:11:20,650 --> 00:11:22,530 Aber für Schleifen sind für etwas Set. 276 00:11:22,530 --> 00:11:24,590 Sie wissen, können Sie entweder Berechnung der Anzahl 277 00:11:24,590 --> 00:11:29,230 oder Sie die Anzahl der weiß, dass Sie wollen zu Beginn dieses wiederholt. 278 00:11:29,230 --> 00:11:32,220 >> Also, wenn Sie hier zu sehen, die wir habe nur eine allgemeine Art 279 00:11:32,220 --> 00:11:34,480 Skelettrahmen für eine for-Schleife hier. 280 00:11:34,480 --> 00:11:38,080 Also für-Initialisierung, das ist, wo Ihre Variablen werden initialisiert. 281 00:11:38,080 --> 00:11:41,915 Mit Mario, ich bin sicher, dass Sie Jungs haben so etwas wie int i gleich 0. 282 00:11:41,915 --> 00:11:42,920 283 00:11:42,920 --> 00:11:44,710 Das ist, wo das wäre in blau passieren. 284 00:11:44,710 --> 00:11:48,290 Sie haben Ihre Bedingung, die ist das, was jedes Mal überprüft. 285 00:11:48,290 --> 00:11:52,410 Wenn diese Bedingung wahr ist, dann der Rest des Codes ausgeführt wird. 286 00:11:52,410 --> 00:11:54,749 Dann werde es again-- laufen und fragen. 287 00:11:54,749 --> 00:11:57,290 Und dann haben wir Update, wo Sie aktualisieren Ihre Variable sind. 288 00:11:57,290 --> 00:12:01,410 Also, noch einmal, mit wie Mario, ich bin sicher Sie Jungs haben so etwas wie i plus plus. 289 00:12:01,410 --> 00:12:04,640 Also jedes Mal die Schleife lief, bekam ich so aktualisiert 290 00:12:04,640 --> 00:12:09,370 dass, wenn wir es gegen die Überprüfung eine Bedingung, wurde es zu ändern. 291 00:12:09,370 --> 00:12:12,570 >> Denn wenn man nur eine statische Variable, 292 00:12:12,570 --> 00:12:15,567 wenn es das erste Mal ausgeführt wird, ist es gerade dabei, stufenlos auszuführen. 293 00:12:15,567 --> 00:12:18,025 Sie müssen also sicherstellen, dass Sie aktualisieren richtig Ihre Variable. 294 00:12:18,025 --> 00:12:19,350 295 00:12:19,350 --> 00:12:23,890 Und wir haben auch nur eine visuelle Darstellung gibt. 296 00:12:23,890 --> 00:12:24,930 Jeder gut? 297 00:12:24,930 --> 00:12:25,630 For-Schleifen. 298 00:12:25,630 --> 00:12:27,540 Sollten diese in Ihrem pset gesehen haben. 299 00:12:27,540 --> 00:12:28,840 Cool. 300 00:12:28,840 --> 00:12:31,870 >> Also hier ist nur ein einfaches Beispiel. 301 00:12:31,870 --> 00:12:32,860 Drucken Dies ist CS50! 302 00:12:32,860 --> 00:12:33,360 10 mal. 303 00:12:33,360 --> 00:12:34,850 304 00:12:34,850 --> 00:12:37,906 Und so haben wir unsere Initialisierung wie wir sehen dort, mit int i 305 00:12:37,906 --> 00:12:41,280 gleich 0 ist, für i kleiner ist als 10, und ich plus plus. 306 00:12:41,280 --> 00:12:43,090 307 00:12:43,090 --> 00:12:44,540 Und es wird, dass 10-mal drucken. 308 00:12:44,540 --> 00:12:46,230 309 00:12:46,230 --> 00:12:56,781 >> So, während loops-- while-Schleifen sind toll, wenn man nicht unbedingt zu tun 310 00:12:56,781 --> 00:12:59,530 müssen wissen, wie oft es würde zu Beginn aktualisieren. 311 00:12:59,530 --> 00:13:00,640 312 00:13:00,640 --> 00:13:02,580 Sie müssen nur einige Bedingung, die überprüft hat. 313 00:13:02,580 --> 00:13:09,550 Und das könnte so etwas wie while-- sein nehmen wir ein Beispiel aus Ihrer pset. 314 00:13:09,550 --> 00:13:12,540 Wenn Mario, Sie versuchen, Eingang eine negative Zahl. 315 00:13:12,540 --> 00:13:13,270 Richtig? 316 00:13:13,270 --> 00:13:15,460 Sie wurden angeblich Erneute Aufforderung Ihren Benutzer. 317 00:13:15,460 --> 00:13:20,890 Man kann also sagen, na ja, wenn die Benutzereingaben etwas kleiner als Null, Wiederaufforderung 318 00:13:20,890 --> 00:13:21,390 ihnen. 319 00:13:21,390 --> 00:13:23,890 Und ich bin sicher, dass haben könnte etwas gewesen, dass einige von euch 320 00:13:23,890 --> 00:13:24,660 in Ihrem Code verwendet. 321 00:13:24,660 --> 00:13:26,270 >> Also ist es eine einfache Sache. 322 00:13:26,270 --> 00:13:28,490 Sie haben Zeit, einige bedingte, dass überprüft wird 323 00:13:28,490 --> 00:13:30,460 jedes Mal, wenn der Code geht an auszuführen. 324 00:13:30,460 --> 00:13:32,660 Wenn es den Wert true, führen wir es. 325 00:13:32,660 --> 00:13:33,820 Sonst werden wir nicht tun. 326 00:13:33,820 --> 00:13:35,650 Und was ist wirklich important-- etwas, was ich 327 00:13:35,650 --> 00:13:38,155 denken, dass David sprach über in lecture-- sind die Hosenträger. 328 00:13:38,155 --> 00:13:40,760 329 00:13:40,760 --> 00:13:42,930 Was auch immer im Mittelpunkt der Zahnspange ist, was ausgeführt. 330 00:13:42,930 --> 00:13:45,850 Wenn Sie vergessen diejenigen, Hosenträger, ist es nur geht 331 00:13:45,850 --> 00:13:48,800 um die Linie direkt sein nachdem der während wurde hingerichtet. 332 00:13:48,800 --> 00:13:51,040 >> Also, wenn Sie drei haben Dinge, die angeblich 333 00:13:51,040 --> 00:13:54,020 wann dies geschehen Bedingung true, 334 00:13:54,020 --> 00:13:58,040 und Sie nicht über diese Hosenträger, nur das erste, was passieren wird. 335 00:13:58,040 --> 00:14:01,510 So sehr bewusst wo ihr eure Hosenträger. 336 00:14:01,510 --> 00:14:04,880 Wenn du mit Style50 kleben, Dies wird definitiv helfen Sie. 337 00:14:04,880 --> 00:14:06,220 338 00:14:06,220 --> 00:14:06,760 Cool. 339 00:14:06,760 --> 00:14:10,835 >> Das ist also ein Countdown von 10 auf Null. 340 00:14:10,835 --> 00:14:12,380 341 00:14:12,380 --> 00:14:16,210 Und wie Sie hier sehen, initialisieren wir einige Zähler außerhalb. 342 00:14:16,210 --> 00:14:19,250 Eine Sache, die anders ist, ist wir werden nicht initialisiert unsere variablen 343 00:14:19,250 --> 00:14:20,300 innerhalb unserer while-Schleife. 344 00:14:20,300 --> 00:14:22,150 Es ist außerhalb davon initialisiert. 345 00:14:22,150 --> 00:14:25,480 Wir sind einfach nur darum, die Bedingung für unsere Zeit. 346 00:14:25,480 --> 00:14:28,630 Also in diesem Fall, ist es während Zähler größer als Null ist. 347 00:14:28,630 --> 00:14:35,134 Und wir drucken, was unserer Zählung ist, und dann verringern wir unsere Variable. 348 00:14:35,134 --> 00:14:36,800 Und das ist auch eine andere Sache zu bemerken. 349 00:14:36,800 --> 00:14:40,440 Unser Update nicht innerhalb passieren dass erste Teil der while-Schleife. 350 00:14:40,440 --> 00:14:44,255 Es wird tatsächlich innerhalb passieren die Hosenträger, der Körper Ihres Textes. 351 00:14:44,255 --> 00:14:46,820 352 00:14:46,820 --> 00:14:51,860 >> So do-while loops-- do-while-Schleifen sind ideal für Benutzer-Validierung. 353 00:14:51,860 --> 00:14:54,820 Also einige von euch vielleicht haben auch verwendet werden, dies in Ihrem pset. 354 00:14:54,820 --> 00:14:59,960 Man kann sagen, tun, wie, bitten Sie den Benutzer für die Eingabe. 355 00:14:59,960 --> 00:15:04,690 Und dann, während, wie, die Eingang ist kleiner als eine bestimmte Anzahl. 356 00:15:04,690 --> 00:15:10,700 >> Also für eine explizite Fall mit Mario, es wäre zu tun printf, geben Sie eine ganze Zahl ist, 357 00:15:10,700 --> 00:15:13,820 und dann gleich einige Integer getint. 358 00:15:13,820 --> 00:15:17,060 Und dann werden sie tatsächlich dass Code auszuführen ersten. 359 00:15:17,060 --> 00:15:19,120 Sie werden tatsächlich eine Art von Ganzzahl. 360 00:15:19,120 --> 00:15:23,380 Und dann könnte man sagen, während die ganze Zahl kleiner als null ist. 361 00:15:23,380 --> 00:15:26,120 Also, was es zu tun ist, es ist gehen mindestens einmal auszuführen. 362 00:15:26,120 --> 00:15:27,536 Es wird, um den Zustand zu überprüfen. 363 00:15:27,536 --> 00:15:29,690 Wenn die Bedingung wahr, es wird erneut ausführen. 364 00:15:29,690 --> 00:15:32,900 >> So do-while-Schleifen sind ideal für Benutzer-Validierung, 365 00:15:32,900 --> 00:15:36,770 weil Sie den Code kennen wird mindestens auszuführen 366 00:15:36,770 --> 00:15:39,720 einmal, während mit While-Schleifen, du bist nicht 367 00:15:39,720 --> 00:15:41,630 gewährleistet, dass es werde einmal ausführen. 368 00:15:41,630 --> 00:15:45,330 Es wird, um den Zustand zu überprüfen und dann entscheiden, sie auszuführen, 369 00:15:45,330 --> 00:15:48,350 während eine do-while wird den Code zuerst ausführen 370 00:15:48,350 --> 00:15:51,110 und dann prüfen, ob zu sehen Sie brauchen, um sie zu wiederholen. 371 00:15:51,110 --> 00:15:52,985 Ist diese Unterscheidung sinnvoll, alle? 372 00:15:52,985 --> 00:15:53,680 373 00:15:53,680 --> 00:15:54,180 Ok. 374 00:15:54,180 --> 00:15:55,651 375 00:15:55,651 --> 00:15:56,150 Cool. 376 00:15:56,150 --> 00:15:57,380 377 00:15:57,380 --> 00:15:59,800 >> So dass in diesem Fall ist diese Art von dem, was ich rede, 378 00:15:59,800 --> 00:16:02,210 Diese Re-Anweisungen, bis Sie bekommen Sie eine positive Zahl. 379 00:16:02,210 --> 00:16:05,060 So wissen wir, dass printf "Geben Sie eine positive Zahl" 380 00:16:05,060 --> 00:16:08,720 und tatsächlich fordern, dass Eingang wird mindestens einmal passieren. 381 00:16:08,720 --> 00:16:12,650 Wenn der Benutzer ist das Böse und hält Eingabe einer negativen Zahl, die 382 00:16:12,650 --> 00:16:14,210 weiß, wie oft es dann auszuführen. 383 00:16:14,210 --> 00:16:17,500 Aber dieser Code ist garantiert mindestens einmal auszuführen. 384 00:16:17,500 --> 00:16:20,040 Und deshalb ist es großartig für die Überprüfung von Eingabe. 385 00:16:20,040 --> 00:16:22,300 Und Sie werden, dass ziemlich viel verwenden. 386 00:16:22,300 --> 00:16:23,870 387 00:16:23,870 --> 00:16:25,830 >> Alle Rechte, Fragen so weit? 388 00:16:25,830 --> 00:16:27,080 389 00:16:27,080 --> 00:16:28,030 Wir sind alle gut? 390 00:16:28,030 --> 00:16:29,513 Spreche ich zu schnell? 391 00:16:29,513 --> 00:16:30,520 392 00:16:30,520 --> 00:16:31,130 Wir sind gut? 393 00:16:31,130 --> 00:16:31,630 Ok. 394 00:16:31,630 --> 00:16:32,960 395 00:16:32,960 --> 00:16:33,800 Ehrfürchtig 396 00:16:33,800 --> 00:16:35,841 >> So werden wir weitermachen und sprechen über Arrays. 397 00:16:35,841 --> 00:16:36,660 398 00:16:36,660 --> 00:16:37,600 Cool. 399 00:16:37,600 --> 00:16:40,700 So Arrays sind grundsätzlich nur Datenstrukturen 400 00:16:40,700 --> 00:16:43,260 dass es uns ermöglichen, zu speichern Sachen der gleichen Art. 401 00:16:43,260 --> 00:16:47,920 Also, wenn Sie jemals ein Array haben, ist es entweder gerade dabei, ints haben 402 00:16:47,920 --> 00:16:51,590 oder es ist gerade dabei, Schwimmer haben oder ist es nur geht, um Zeichen zu haben. 403 00:16:51,590 --> 00:16:55,440 Du wirst doch nicht um einen int mit haben ein char mit einem Schwimmer mit einem Doppel. 404 00:16:55,440 --> 00:16:56,850 Eine Sache. 405 00:16:56,850 --> 00:17:00,810 Arrays sind nur eine Größe, oder sie sind nur einen Typ. 406 00:17:00,810 --> 00:17:05,679 >> Hier haben wir also ein Array von Größe drei mit drei ganze Zahlen drin. 407 00:17:05,679 --> 00:17:07,970 Sie konnten schwimmt, aber wir sind werde sie ints sagen. 408 00:17:07,970 --> 00:17:09,310 409 00:17:09,310 --> 00:17:16,970 So eine Sache zu wissen ist, dass Arrays sind eine feste Größe, wenn Sie initialisieren 410 00:17:16,970 --> 00:17:22,285 sie, und sie nicht easily-- werden da Sie alle weniger bequem sind, 411 00:17:22,285 --> 00:17:25,034 Sie sollten nur von ihnen denken, wie nicht in der Lage, in der Größe zu erweitern. 412 00:17:25,034 --> 00:17:26,119 413 00:17:26,119 --> 00:17:28,740 Allerdings großen Sie sich vorgenommen Ihr Array am Anfang, 414 00:17:28,740 --> 00:17:31,070 das ist die Größe, es wird zu bleiben, da Arrays 415 00:17:31,070 --> 00:17:33,070 kontinuierlich sind Speicherblöcke. 416 00:17:33,070 --> 00:17:34,007 417 00:17:34,007 --> 00:17:35,840 Und wenn du Jungs in etwas mehr 418 00:17:35,840 --> 00:17:40,820 wie Speicher tatsächlich aufgelegt Festplatten und im Heap und Stack, 419 00:17:40,820 --> 00:17:42,220 es wird ein wenig mehr Sinn machen. 420 00:17:42,220 --> 00:17:48,310 >> Aber man konnte denken Sie nur an, wie, es ist nur eine Reihe von Räumen auf Ihrer Festplatte. 421 00:17:48,310 --> 00:17:52,540 Und Sie können nicht garantieren, dass es werde freien Speicherplatz, nachdem es sein. 422 00:17:52,540 --> 00:17:55,290 Sie könnten ein Array zu initialisieren drei und dann vielleicht 423 00:17:55,290 --> 00:17:59,190 initialisieren weiteres Array von fünf später und es ist direkt danach. 424 00:17:59,190 --> 00:18:04,000 Also, wenn Sie in der Vergangenheit vor Ort gehen sollten drei in dieser ersten Anordnung, 425 00:18:04,000 --> 00:18:06,370 Sie werden schriftlich über etwas anderes. 426 00:18:06,370 --> 00:18:10,390 So Arrays sind-- für euch, nur denken an sie als eine feste Größe. 427 00:18:10,390 --> 00:18:12,700 428 00:18:12,700 --> 00:18:16,890 >> Also die Schaffung eines array-- du gehst zu müssen, um dies zu tun eine ganze Menge. 429 00:18:16,890 --> 00:18:18,240 430 00:18:18,240 --> 00:18:22,080 Also in der gleichen Weise, dass wir eine allgemeine Struktur für unsere for-Schleifen, 431 00:18:22,080 --> 00:18:24,910 wir haben einen schönen allgemeinen Struktur für unser Angebot. 432 00:18:24,910 --> 00:18:28,430 Weil sie von einer Art sind, die ganze Elemente in einem Array sind von einer Art, 433 00:18:28,430 --> 00:18:30,950 Sie initialisieren müssen Was diese Art ist. 434 00:18:30,950 --> 00:18:33,804 >> So, wie Sie hier sehen, haben wir eine nette kleine Halterung Datentyp. 435 00:18:33,804 --> 00:18:35,970 Also, wenn wir die Schaffung eines int Array wird, dass int. 436 00:18:35,970 --> 00:18:38,830 Wenn wir die Schaffung eines char Array, wird es char sein. 437 00:18:38,830 --> 00:18:41,890 Wenn wir die Schaffung eines String Array, wird es String sein. 438 00:18:41,890 --> 00:18:45,140 Und dann der Name des Array, was auch immer Sie möchten, es zu sein. 439 00:18:45,140 --> 00:18:51,750 Also vielleicht ist es die Testergebnisse oder vielleicht es Studenten oder vielleicht ist es Süßigkeiten. 440 00:18:51,750 --> 00:18:54,440 Was auch immer Sie sich entscheiden, nennen Sie Ihre Array, das ist, was es sein wird. 441 00:18:54,440 --> 00:18:57,260 >> Und dann in Klammern, werden Sie die Größe, die Sie wollen. 442 00:18:57,260 --> 00:19:01,350 Also, wir sind das Speichern 10 Studenten oder Wir speichern 15 Arten von Süßigkeiten? 443 00:19:01,350 --> 00:19:03,200 444 00:19:03,200 --> 00:19:03,920 Was nicht. 445 00:19:03,920 --> 00:19:06,830 Also in unserem Beispiel hier, schaffen wir ein Array 446 00:19:06,830 --> 00:19:10,100 der Größe drei, was ihr Jungs siehe hier auf der rechten Seite. 447 00:19:10,100 --> 00:19:11,350 448 00:19:11,350 --> 00:19:15,990 Und wenn wir zuerst initialisieren es, alles auf Null gesetzt. 449 00:19:15,990 --> 00:19:18,970 So ist es nur gedacht der wie ein unbeschriebenes Blatt. 450 00:19:18,970 --> 00:19:22,550 Wir haben all diese Bereiche sind, haben wir alle Diese Boxen konnten wir unsere Texte einfügen kannst, 451 00:19:22,550 --> 00:19:25,530 aber sie sind nur leere vorerst. 452 00:19:25,530 --> 00:19:28,700 >> Also, wenn wir wollen, um tatsächlich ordnen sie diese Werte, 453 00:19:28,700 --> 00:19:33,050 wir so tun, wie rechts unter hier zeigt. 454 00:19:33,050 --> 00:19:39,170 So können Sie unabhängig von den Namen der Ihre Array ist und dann, was Index Sie wollen. 455 00:19:39,170 --> 00:19:43,070 Also der Index bezieht sich nur um, wie, was Schlitz wir auf der Suche. 456 00:19:43,070 --> 00:19:47,830 Und eine wichtige Sache zu bemerken ist, dass Arrays sind nullindiziert. 457 00:19:47,830 --> 00:19:53,160 Also, wenn wir wollen, dass die erste Platz im Speicher der unser Angebot, es wird null sein. 458 00:19:53,160 --> 00:19:54,740 Wenn wir wollen, dass die zweite, wird es sein. 459 00:19:54,740 --> 00:19:56,198 Wenn wir wollen, dass die dritte, werde es zwei sein. 460 00:19:56,198 --> 00:19:57,820 So weiter und so fort. 461 00:19:57,820 --> 00:20:02,130 >> Das ist auch der Grund, herkömmlich wenn wir für loops-- ich bin mir sicher, 462 00:20:02,130 --> 00:20:05,030 euch wundern, warum fangen wir bei 0 gegen 1? 463 00:20:05,030 --> 00:20:09,909 Und das ist, weil, wenn wir den Übergang in der Verwendung von Arrays, richtig ordnet sie. 464 00:20:09,909 --> 00:20:11,700 Also, wenn Sie wollen, Iteration in eine Anordnung, es 465 00:20:11,700 --> 00:20:14,830 macht viel mehr Sinn, do i gleich 0 ist, weil wir 466 00:20:14,830 --> 00:20:17,940 wissen, dass wird entsprechen mit dem ersten Platz im Speicher. 467 00:20:17,940 --> 00:20:18,990 468 00:20:18,990 --> 00:20:19,990 Jeder gut mit, dass? 469 00:20:19,990 --> 00:20:21,060 470 00:20:21,060 --> 00:20:21,560 Cool. 471 00:20:21,560 --> 00:20:26,240 >> Und dann auf dem Boden hier ist einfach Ein anderer Weg, ein Array initialisiert. 472 00:20:26,240 --> 00:20:29,590 Sie haben noch Ihre Datentyp und den Namen, 473 00:20:29,590 --> 00:20:31,960 aber anstatt tatsächlich Putting eine Größe drin, 474 00:20:31,960 --> 00:20:33,830 Sie können nur tun, leere Klammern. 475 00:20:33,830 --> 00:20:36,350 Und dann mit diesen geschweiften Hosenträger an der Unterseite, 476 00:20:36,350 --> 00:20:40,270 Sie können nur geben Sie die Daten, die Sie wollen durch Komma getrennt. 477 00:20:40,270 --> 00:20:43,070 Und das wird automatisch sagen, OK, ich sehe 478 00:20:43,070 --> 00:20:47,300 dass Sie drei haben Dinge in diesen Klammern. 479 00:20:47,300 --> 00:20:51,410 Also ich weiß, dass ich zu drei zuordnen Speicherblöcke und speichern diese. 480 00:20:51,410 --> 00:20:55,300 481 00:20:55,300 --> 00:21:01,670 >> So ist die erste Version, die Sie nutzen könnten wenn Sie fragen Sie Ihren Benutzer zur Eingabe sind 482 00:21:01,670 --> 00:21:04,770 Werte, so dass Sie durchlaufen das Array 483 00:21:04,770 --> 00:21:07,660 und ask-- bekommen einige int Eingangs ihnen. 484 00:21:07,660 --> 00:21:10,500 Wenn Sie vorher wissen, die Werte, es macht viel mehr Sinn 485 00:21:10,500 --> 00:21:12,110 um den zweiten Weg zu benutzen. 486 00:21:12,110 --> 00:21:17,270 Aber in den meisten Fällen, können Sie vielleicht nicht wissen, was diese Werte sein werden. 487 00:21:17,270 --> 00:21:19,060 488 00:21:19,060 --> 00:21:19,560 Cool. 489 00:21:19,560 --> 00:21:20,393 Noch Fragen? 490 00:21:20,393 --> 00:21:21,206 491 00:21:21,206 --> 00:21:21,705 In Ordnung. 492 00:21:21,705 --> 00:21:25,960 493 00:21:25,960 --> 00:21:30,370 >> Also Zugriff elements-- so ein der großen Dinge über Arrays 494 00:21:30,370 --> 00:21:33,310 ist, dass sie zufällig sind Zugang, was bedeutet, dass Sie 495 00:21:33,310 --> 00:21:36,010 nicht haben, um durch jeden Block aussehen. 496 00:21:36,010 --> 00:21:38,150 Dass Sie, wenn Sie wissen wollen, was in Block zwei, 497 00:21:38,150 --> 00:21:40,820 Sie können nur sagen, gib mir Block zwei. 498 00:21:40,820 --> 00:21:44,160 Und das ist, warum diese Indizes sind so wichtig, 499 00:21:44,160 --> 00:21:46,220 und das ist, wie wir eigentlich auf sie zugreifen. 500 00:21:46,220 --> 00:21:50,660 Also in diesem Fall, wie wir vor, wenn sah wir waren die Zuweisung von Werten, in der einen 501 00:21:50,660 --> 00:21:55,360 Vorher hatten wir den Namen und die Index wir wollten, den Zugang, nicht wahr? 502 00:21:55,360 --> 00:21:59,370 So in der gleichen Weise, ist das, was wir tun, um tatsächlich zu ziehen, dass die Daten aus. 503 00:21:59,370 --> 00:22:02,940 Wir haben den Namen und wir haben Sie den Index, die wir wollen. 504 00:22:02,940 --> 00:22:06,710 >> Also in diesem Fall, die for-Schleife hier unten am Boden, jemand 505 00:22:06,710 --> 00:22:09,060 wissen, was es tut, wie es wäre ausdrucken? 506 00:22:09,060 --> 00:22:13,771 507 00:22:13,771 --> 00:22:14,270 Mmhmm? 508 00:22:14,270 --> 00:22:17,790 509 00:22:17,790 --> 00:22:18,520 Genau. 510 00:22:18,520 --> 00:22:20,130 Also ja, es ist nur durch Iteration. 511 00:22:20,130 --> 00:22:23,410 i gleich zero-- wir gehen können, ist durch den Code einfach schnell. 512 00:22:23,410 --> 00:22:26,680 i gleich Null ist, ist weniger i als drei an dieser Stelle, nicht wahr? 513 00:22:26,680 --> 00:22:27,780 So dass auscheckt. 514 00:22:27,780 --> 00:22:33,370 Und wir sagen, OK, Druck f was in Temperatur i. 515 00:22:33,370 --> 00:22:37,990 i Null ist hier richtig, wenn wir zuerst laufen, so gehen wir in diesem ersten Spot, 516 00:22:37,990 --> 00:22:40,840 und wir sagen, OK, 65 ist die Anzahl ausdrucken möchten wir. 517 00:22:40,840 --> 00:22:43,570 So dass es dann ausdrucken 65 und dann eine neue Zeile. 518 00:22:43,570 --> 00:22:46,550 i wird aktualisiert, so dass es druckt 87. 519 00:22:46,550 --> 00:22:48,780 Es aktualisiert wieder, und es wird 30 drucken. 520 00:22:48,780 --> 00:22:49,810 521 00:22:49,810 --> 00:22:50,630 Jeder cool? 522 00:22:50,630 --> 00:22:51,630 523 00:22:51,630 --> 00:22:52,130 Genial. 524 00:22:52,130 --> 00:22:54,340 525 00:22:54,340 --> 00:22:54,840 >> In Ordnung. 526 00:22:54,840 --> 00:22:57,710 So, hier ist irgendwie ein was ich sagen wollte, wie 527 00:22:57,710 --> 00:23:00,020 Sie verfolgen jemandes Score und warum 528 00:23:00,020 --> 00:23:03,300 Sie den ersten verwenden würden Weg es zu initialisieren 529 00:23:03,300 --> 00:23:04,890 anstelle von diesem zweiten Weg. 530 00:23:04,890 --> 00:23:06,620 Und das geht nur durch. 531 00:23:06,620 --> 00:23:08,945 Und bemerken wir eine Klassengröße von 30 haben. 532 00:23:08,945 --> 00:23:10,690 533 00:23:10,690 --> 00:23:15,770 Und wir sind der Initialisierung dieses Array von ints, die der Größe 30 ist. 534 00:23:15,770 --> 00:23:18,070 Und dann sind wir Iteration durch und wir sind 535 00:23:18,070 --> 00:23:20,910 fragt den Benutzer zur Eingabe Werte für jede dieser 536 00:23:20,910 --> 00:23:23,700 und dann die Zuordnung zu eines bestimmten Ortes im Speicher 537 00:23:23,700 --> 00:23:24,860 irgendwo in diesem Array. 538 00:23:24,860 --> 00:23:26,700 539 00:23:26,700 --> 00:23:27,890 Cool? 540 00:23:27,890 --> 00:23:29,650 Ist das sinnvoll, um alle? 541 00:23:29,650 --> 00:23:30,150 Mmhmm? 542 00:23:30,150 --> 00:23:32,910 543 00:23:32,910 --> 00:23:40,360 >> So Hashtag definieren Klassengröße 30 ist ein Präprozessordirektive, 544 00:23:40,360 --> 00:23:43,780 das bedeutet nur, es gets-- es hat wie der Übersetzungsvorgang zu tun. 545 00:23:43,780 --> 00:23:47,595 Sie können darüber denken als globale Variable. 546 00:23:47,595 --> 00:23:49,260 547 00:23:49,260 --> 00:23:53,030 Die Art, wie wir es tun, ist typically-- es Ihren Code ermöglicht 548 00:23:53,030 --> 00:23:54,770 leichter verändert werden. 549 00:23:54,770 --> 00:23:59,480 Also lassen Sie uns sagen, dass unsere Klassengröße plötzlich geht von 30 auf 15, 550 00:23:59,480 --> 00:24:03,930 wenn ich es nicht definiert diese Weise würde ich haben, um durch meine gesamte Programm gehen 551 00:24:03,930 --> 00:24:07,420 und ändern Sie jede Instanz 30 bis 15. 552 00:24:07,420 --> 00:24:11,590 Aber damit, bekomme ich zu einem ändern Ort, und alles andere ändert. 553 00:24:11,590 --> 00:24:14,930 >> Wenn Sie überhaupt tun wollen ein Hash definiert in einem Fall, 554 00:24:14,930 --> 00:24:19,020 wo Sie den Überblick über einige festgelegte Anzahl von Partituren für eine Klasse 555 00:24:19,020 --> 00:24:23,250 oder Sie verwenden eine Reihe bist die verwendet werden, wie, 556 00:24:23,250 --> 00:24:27,740 über einen sehr langen Programm, es ist besser, dass zu Beginn definiert 557 00:24:27,740 --> 00:24:34,440 so dass, wenn immer es ändert, erhalten Sie zu einem Ort statt 100 ändern. 558 00:24:34,440 --> 00:24:34,940 Ja? 559 00:24:34,940 --> 00:24:39,830 >> STUDENT: Zwischen tun und einfach erklärt [unverständlich] über an der Spitze. 560 00:24:39,830 --> 00:24:42,470 >> ALLISON BUCHHOLTZ-AU: So ist es hat mit efficient-- tun 561 00:24:42,470 --> 00:24:45,460 es irgendwie ist außerhalb des Geltungsbereichs was wir in diesem Abschnitt decken. 562 00:24:45,460 --> 00:24:49,236 Es hat mehr mit Effizienz zu tun und wie die Dinge wirklich 563 00:24:49,236 --> 00:24:50,485 arbeiten im Meldeprozess. 564 00:24:50,485 --> 00:24:52,590 565 00:24:52,590 --> 00:24:55,006 Wenn Sie wirklich wissen wollen darüber freue ich mich zu euch senden 566 00:24:55,006 --> 00:24:56,450 eine E-Mail mit den Ressourcen über sie. 567 00:24:56,450 --> 00:24:57,810 568 00:24:57,810 --> 00:25:03,880 Hash definieren neigt dazu, bevorzugt für die Dinge. 569 00:25:03,880 --> 00:25:06,380 Und wie Sie Code besser, Sie Art lernen die Nuancen 570 00:25:06,380 --> 00:25:09,135 der, wenn Sie sollten eine Verwendung global gegenüber dem Hash definieren. 571 00:25:09,135 --> 00:25:11,010 Aber vorerst, Sie haben nicht wirklich 572 00:25:11,010 --> 00:25:13,290 zu befürchten ist dass die kurze Antwort. 573 00:25:13,290 --> 00:25:15,360 574 00:25:15,360 --> 00:25:16,360 Jeder gut mit, dass? 575 00:25:16,360 --> 00:25:18,151 Und auch, wenn Sie wollen sich für eine Hash zu definieren, 576 00:25:18,151 --> 00:25:21,120 es ist wirklich wichtig zu bemerken, dass der Name in Großbuchstaben sein. 577 00:25:21,120 --> 00:25:22,210 578 00:25:22,210 --> 00:25:24,674 Wir sind nicht nur dabei Klassengröße dramatisch. 579 00:25:24,674 --> 00:25:26,090 Es sollte eigentlich in Großbuchstaben sein. 580 00:25:26,090 --> 00:25:27,880 581 00:25:27,880 --> 00:25:28,610 Cool. 582 00:25:28,610 --> 00:25:30,130 Alles andere gibt? 583 00:25:30,130 --> 00:25:31,190 Wir sind gut? 584 00:25:31,190 --> 00:25:32,220 Lovely. 585 00:25:32,220 --> 00:25:32,720 Willkommen. 586 00:25:32,720 --> 00:25:34,240 587 00:25:34,240 --> 00:25:38,495 >> OK, so will ich euch mal einen Blick riskieren in diesem und sehen, ob Sie den Fehler zu finden. 588 00:25:38,495 --> 00:25:45,580 589 00:25:45,580 --> 00:25:46,507 Ich gebe Ihnen einen Tipp geben. 590 00:25:46,507 --> 00:25:47,840 Es ist irgendwo in dieser for-Schleife. 591 00:25:47,840 --> 00:25:53,070 592 00:25:53,070 --> 00:25:53,665 Mmhmm? 593 00:25:53,665 --> 00:25:55,704 >> STUDENT: weniger als gleich 2 werden soll. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> ALLISON: So ist es weniger sein könnte als oder gleich 2 ist, oder weniger als 3 sein könnte. 596 00:26:01,094 --> 00:26:02,510 Und was ist die Begründung dafür? 597 00:26:02,510 --> 00:26:05,135 >> STUDENT: Die [unverständlich], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> ALLISON: Genau. 599 00:26:06,080 --> 00:26:12,180 So in einem Array der Größe n wir nur Indizes n minus 1. 600 00:26:12,180 --> 00:26:13,700 601 00:26:13,700 --> 00:26:14,200 Cool. 602 00:26:14,200 --> 00:26:15,091 603 00:26:15,091 --> 00:26:17,840 Und dann können wir wirklich verrückt bekommen und erhalten Sie mehrdimensionale Arrays. 604 00:26:17,840 --> 00:26:19,340 605 00:26:19,340 --> 00:26:23,960 Eines der Probleme, als ich es in meinem Jahr erforderlich mehrdimensionalen Arrays, 606 00:26:23,960 --> 00:26:28,720 und ich denke, einer von ihnen erfordern könnten es in diesem Jahr, so bequem sein. 607 00:26:28,720 --> 00:26:30,140 Wickeln Sie Ihren Kopf um es jetzt. 608 00:26:30,140 --> 00:26:33,087 Es wird wieder zu spuken Sie, aber auf eine coole Art. 609 00:26:33,087 --> 00:26:35,420 So dass Sie wirklich nur denken kann von mehrdimensionalen Arrays 610 00:26:35,420 --> 00:26:36,870 als Array von Arrays. 611 00:26:36,870 --> 00:26:38,060 612 00:26:38,060 --> 00:26:43,809 So können Sie Art denke dieses Spitzen rudern weil der erste Block des Speichers. 613 00:26:43,809 --> 00:26:45,600 Und dieses ist das zweiten Teil des Speichers, 614 00:26:45,600 --> 00:26:47,570 und die letzte Zeile ist die dritten Teil des Speichers. 615 00:26:47,570 --> 00:26:50,740 Und innerhalb dieser gibt es ein Array. 616 00:26:50,740 --> 00:26:53,250 Aber natürlich ist es einfacher, , so zu schildern. 617 00:26:53,250 --> 00:26:55,610 >> So ist es Ihnen zu initialisieren die gleiche Weise. 618 00:26:55,610 --> 00:26:57,290 619 00:26:57,290 --> 00:27:01,610 Dies ist ein Zeichen, Vorstand der drei mal drei. 620 00:27:01,610 --> 00:27:04,180 So können Sie sich drei Reihen haben und drei Spalten. 621 00:27:04,180 --> 00:27:06,760 Wir vertreten sie auf diese Weise. 622 00:27:06,760 --> 00:27:11,800 Und Sie können es den Zugriff würde Ebenso Spalte für Zeile. 623 00:27:11,800 --> 00:27:14,840 Und so 1,1, wie wir hier sehen. 624 00:27:14,840 --> 00:27:18,730 Wir vergeben eine Null, Null dort oben. 625 00:27:18,730 --> 00:27:21,900 2,0 und 0,2. 626 00:27:21,900 --> 00:27:26,900 Also würden Sie nur zugreifen, wenn them-- jemand jemals linearen Algebra getan, 627 00:27:26,900 --> 00:27:31,580 auf die gleiche Weise ein Element zugreifen a matrice, es ist die gleiche Idee hier. 628 00:27:31,580 --> 00:27:33,030 So können Sie es zurück zu Mathematik beziehen. 629 00:27:33,030 --> 00:27:34,130 630 00:27:34,130 --> 00:27:36,380 Sie müssen nicht zu kümmern viel über dieses Recht jetzt. 631 00:27:36,380 --> 00:27:38,671 Es ist gut, um die Exposition zu haben, zu wissen, dass Sie es tun können. 632 00:27:38,671 --> 00:27:42,700 Sie können einige erstellen verrückt number-- möglich 633 00:27:42,700 --> 00:27:44,750 erstellen verrückt Arrays alles, was ich sagen werde. 634 00:27:44,750 --> 00:27:45,250 [Unverständlich] 635 00:27:45,250 --> 00:27:46,585 636 00:27:46,585 --> 00:27:48,460 Es wird ein wenig verrückt, aber es ist wirklich cool. 637 00:27:48,460 --> 00:27:50,020 638 00:27:50,020 --> 00:27:50,670 Genial. 639 00:27:50,670 --> 00:27:52,550 >> Und dann, so haben wir hier ein Beispiel. 640 00:27:52,550 --> 00:27:54,165 Es berechnet eine String-Länge. 641 00:27:54,165 --> 00:27:55,210 642 00:27:55,210 --> 00:27:59,670 So wie viele Menschen wussten, dass die Saiten, die Sie verwenden 643 00:27:59,670 --> 00:28:01,265 sind nur Arrays von Zeichen? 644 00:28:01,265 --> 00:28:03,670 645 00:28:03,670 --> 00:28:04,655 OK, ja. 646 00:28:04,655 --> 00:28:08,000 So kann euch denken, dass Sie nicht gebrauchte Arrays vor, aber jederzeit 647 00:28:08,000 --> 00:28:10,740 Sie getstring in der Verwendung CSView Bibliothek, du bist 648 00:28:10,740 --> 00:28:14,690 eigentlich nur fordern ein Array von Zeichen. 649 00:28:14,690 --> 00:28:17,450 Und wir kümmert sich um alle dass in der Back-End für Sie. 650 00:28:17,450 --> 00:28:20,184 Aber Sie haben mit Arrays seit Sie begonnen haben. 651 00:28:20,184 --> 00:28:21,350 Sie wusste einfach nicht, es noch nicht. 652 00:28:21,350 --> 00:28:22,420 653 00:28:22,420 --> 00:28:28,390 >> Und wenn Sie ein Zeichen-Array haben oder ein Array, das ist die Speicherung einen String, 654 00:28:28,390 --> 00:28:32,050 das letzte, was ist immer was genannt Nullabschluss, die 655 00:28:32,050 --> 00:28:33,830 dies ist hier richtig. 656 00:28:33,830 --> 00:28:37,300 Und das ist am Ende jedes Wort, das Sie speichern sind. 657 00:28:37,300 --> 00:28:41,170 Also, wenn wir herausfinden, die wollen Länge einer Zeichenkette, können wir sagen, 658 00:28:41,170 --> 00:28:45,320 Nun, wissen Sie, der Inhalt der Block 659 00:28:45,320 --> 00:28:46,867 nicht gleich unsere Nullabschluss. 660 00:28:46,867 --> 00:28:49,450 Das bedeutet, dass es einige Zeichen gibt, dass wir tatsächlich 661 00:28:49,450 --> 00:28:51,540 kümmern, das ist Teil des Wortes. 662 00:28:51,540 --> 00:28:52,665 Sie erhöhen Ihre Länge. 663 00:28:52,665 --> 00:28:55,540 Und dann, wenn wir eigentlich zu bekommen das Ende des Wortes, es wird enden 664 00:28:55,540 --> 00:28:58,790 und es wird unsere Länge für uns zurück. 665 00:28:58,790 --> 00:29:00,098 Mmhmm? 666 00:29:00,098 --> 00:29:02,906 >> STUDENT: Ist der Raum zählen als der Nullabschluss? 667 00:29:02,906 --> 00:29:04,780 ALLISON: So ein Raum ist kein Nullabschluss. 668 00:29:04,780 --> 00:29:10,590 Also, wenn Sie einen Raum haben multiple-- ist eigentlich eine bestimmte ASCII-Wert. 669 00:29:10,590 --> 00:29:11,719 670 00:29:11,719 --> 00:29:13,552 STUDENT: Was ist der Ausrufe wieder gleich? 671 00:29:13,552 --> 00:29:17,080 ALLISON: Also, das ist, was Sie sich beziehen. 672 00:29:17,080 --> 00:29:21,220 Wenn du mich jemals hören in der Bürozeiten, Ich nenne es immer, wie, gleich Knall. 673 00:29:21,220 --> 00:29:23,520 So Knall nicht. 674 00:29:23,520 --> 00:29:25,370 Das ist also nicht gleich. 675 00:29:25,370 --> 00:29:28,480 676 00:29:28,480 --> 00:29:32,290 Also, wenn Sie versuchen, sehen, wenn etwas falsch ist, 677 00:29:32,290 --> 00:29:35,915 Sie wissen immer, was auch immer Knall die Variable, und wenn es falsch ist, 678 00:29:35,915 --> 00:29:38,540 es wahr ausgewertet und Sie kann coole Sachen zu tun. 679 00:29:38,540 --> 00:29:39,830 680 00:29:39,830 --> 00:29:40,675 Mehr dazu später. 681 00:29:40,675 --> 00:29:42,090 682 00:29:42,090 --> 00:29:42,590 Cool. 683 00:29:42,590 --> 00:29:44,260 Alles gut da? 684 00:29:44,260 --> 00:29:44,760 Genial. 685 00:29:44,760 --> 00:29:48,045 >> So, jetzt ist es Ihre Jungs "Zeit zu arbeiten, seit ich sprechen. 686 00:29:48,045 --> 00:29:49,220 687 00:29:49,220 --> 00:29:53,200 Deshalb möchte ich Sie nur ein Array zu erstellen die Zahlen eins, zwei, drei, 688 00:29:53,200 --> 00:29:54,660 und dann haben sie ausgedruckt. 689 00:29:54,660 --> 00:29:58,050 Sie haben nicht zu tun, wie, Haupt, blah, blah, blah, was auch immer. 690 00:29:58,050 --> 00:30:00,840 Ich möchte nur, dass du zu initialisieren das Array und erstellen 691 00:30:00,840 --> 00:30:04,790 eine for-Schleife, um sie zu drucken out-- oder eine while-Schleife, bis zu Ihnen. 692 00:30:04,790 --> 00:30:07,600 >> Ich werde Ihnen nur ein paar Minuten, daran zu arbeiten. 693 00:30:07,600 --> 00:30:09,320 Ich werde meine Stimme ausruhen. 694 00:30:09,320 --> 00:30:13,290 Wenn Sie Fragen haben, bin ich glücklich zu kommen um und sprechen Sie mit euch. 695 00:30:13,290 --> 00:30:15,290 Fühlen Sie sich frei, um miteinander zu reden. 696 00:30:15,290 --> 00:30:16,125 Holen Sie sich mehr Süßigkeiten. 697 00:30:16,125 --> 00:30:17,181 698 00:30:17,181 --> 00:30:18,930 In der Tat, ich werde einfach Spaziergang mit Süßigkeiten. 699 00:30:18,930 --> 00:30:19,600 Wie ist das? 700 00:30:19,600 --> 00:30:22,974 701 00:30:22,974 --> 00:30:23,938 >> Wollen Sie überhaupt? 702 00:30:23,938 --> 00:30:34,703 703 00:30:34,703 --> 00:30:36,675 Wer sonst in diesem Raum wollen Süßigkeiten? 704 00:30:36,675 --> 00:30:47,030 705 00:30:47,030 --> 00:30:49,206 Sie können auch mehr als eine, Jungs. 706 00:30:49,206 --> 00:30:50,330 Nehmen Sie eine Handvoll, wenn Sie wollen. 707 00:30:50,330 --> 00:30:52,690 708 00:30:52,690 --> 00:30:53,190 Mai sowie. 709 00:30:53,190 --> 00:30:54,929 710 00:30:54,929 --> 00:30:55,720 Jeder sonst gut? 711 00:30:55,720 --> 00:30:57,561 712 00:30:57,561 --> 00:30:58,060 Ok. 713 00:30:58,060 --> 00:31:02,750 714 00:31:02,750 --> 00:31:07,290 >> Auch ich werde erstellen eine anonyme Google-Formular, 715 00:31:07,290 --> 00:31:09,830 und habt ihr einfach einreichen können Feedback nach jedem Abschnitt 716 00:31:09,830 --> 00:31:14,115 wenn es etwas, was Sie wollen Verbesserung bei oder etwas, das Sie erreichen wollen. 717 00:31:14,115 --> 00:31:17,135 Wenn ich mich ein wenig zu schwungvoll für Sie, kann ich es abzuschwächen. 718 00:31:17,135 --> 00:31:18,510 719 00:31:18,510 --> 00:31:20,885 Ich werde das Erstellen und Senden, dass aus, um euch alle danach. 720 00:31:20,885 --> 00:32:39,420 721 00:32:39,420 --> 00:32:40,020 >> In Ordnung. 722 00:32:40,020 --> 00:32:41,050 Deshalb fangen wir klein. 723 00:32:41,050 --> 00:32:42,740 Wie würden wir initialisieren unser Angebot? 724 00:32:42,740 --> 00:32:49,690 725 00:32:49,690 --> 00:32:51,670 Was ist der Typ der unser Angebot? 726 00:32:51,670 --> 00:32:52,410 Ein int, nicht wahr? 727 00:32:52,410 --> 00:32:54,740 OK, also was willst du zu Ihrem Array nennen? 728 00:32:54,740 --> 00:32:57,880 729 00:32:57,880 --> 00:32:59,230 Int-Array, cool. 730 00:32:59,230 --> 00:33:04,200 Na gut, so haben wir int int array entspricht, und was machen wir danach haben? 731 00:33:04,200 --> 00:33:07,009 732 00:33:07,009 --> 00:33:08,259 STUDENT: [unverständlich] Klammern. 733 00:33:08,259 --> 00:33:09,140 ALLISON: Hosenträger. 734 00:33:09,140 --> 00:33:10,330 735 00:33:10,330 --> 00:33:11,775 Und dann in den geschweiften Klammern? 736 00:33:11,775 --> 00:33:14,360 737 00:33:14,360 --> 00:33:16,830 Ein Komma zwei Komma drei. 738 00:33:16,830 --> 00:33:17,330 Cool. 739 00:33:17,330 --> 00:33:18,660 Also das ist alles in Ordnung. 740 00:33:18,660 --> 00:33:21,480 So, jetzt haben wir unsere for-Schleife. 741 00:33:21,480 --> 00:33:24,180 So im ersten Teil unserer for-Schleife, was haben wir? 742 00:33:24,180 --> 00:33:25,796 743 00:33:25,796 --> 00:33:27,420 >> Student: Ich gleich 0? 744 00:33:27,420 --> 00:33:31,400 >> ALLISON: Also int i gleich 0 ist, und was ist dann unser Zustand? 745 00:33:31,400 --> 00:33:33,750 746 00:33:33,750 --> 00:33:36,120 Was ich jetzt weniger als sein? 747 00:33:36,120 --> 00:33:39,510 Weniger als drei, und wie wir wissen wir aktualisieren i? 748 00:33:39,510 --> 00:33:41,630 i plus plus, aktualisieren sie um eins. 749 00:33:41,630 --> 00:33:46,150 Und dann werden wir haben printf einige der Integer, 750 00:33:46,150 --> 00:33:49,530 und was ist das letzte Teil, tatsächlich ist 751 00:33:49,530 --> 00:33:51,370 gehen zu sagen, was wir sollten den Druck? 752 00:33:51,370 --> 00:33:55,610 753 00:33:55,610 --> 00:33:59,120 Es wäre der Name des zu sein Array, das int-Array ist, richtig? 754 00:33:59,120 --> 00:34:01,090 Und was ist in den Klammern der int-Array? 755 00:34:01,090 --> 00:34:02,540 756 00:34:02,540 --> 00:34:03,640 i. 757 00:34:03,640 --> 00:34:06,550 [? Also ich?] Rief meine Beispiel, aber dort gehen Sie. 758 00:34:06,550 --> 00:34:07,939 759 00:34:07,939 --> 00:34:08,480 Nicht so schlimm. 760 00:34:08,480 --> 00:34:09,250 Jeder gut? 761 00:34:09,250 --> 00:34:10,220 762 00:34:10,220 --> 00:34:10,719 Cool. 763 00:34:10,719 --> 00:34:12,949 764 00:34:12,949 --> 00:34:14,340 >> Daher freuen wir uns mit den Arrays getan. 765 00:34:14,340 --> 00:34:15,190 Congrats. 766 00:34:15,190 --> 00:34:18,274 Sie schaffte es, iterieren durch alle the-- ja? 767 00:34:18,274 --> 00:34:19,705 >> STUDENT: [unverständlich] 768 00:34:19,705 --> 00:34:20,659 >> ALLISON: Ja. 769 00:34:20,659 --> 00:34:26,383 770 00:34:26,383 --> 00:34:27,798 >> Student: Ich habe eine Frage. 771 00:34:27,798 --> 00:34:30,288 Soll man die Klammern eingerückt? 772 00:34:30,288 --> 00:34:34,150 >> ALLISON: Also die Klammern sollten antreten mit der for-Schleife, und dann alles 773 00:34:34,150 --> 00:34:35,699 in den geschweiften Klammern eingerückt werden soll. 774 00:34:35,699 --> 00:34:37,824 >> STUDENT: OK, sollte der for-Schleife eingerückt werden? 775 00:34:37,824 --> 00:34:41,159 >> ALLISON: Die for-Schleife nicht müssen an dieser Stelle eingerückt werden. 776 00:34:41,159 --> 00:34:46,750 Wenn Sie in Haupt waren, wenn wir Eigentlich hatte hier eine Hauptfunktion, 777 00:34:46,750 --> 00:34:48,929 es wäre von der Haupteingerückt werden. 778 00:34:48,929 --> 00:34:52,590 Aber in diesem Fall, es ist in Ordnung. 779 00:34:52,590 --> 00:34:53,354 Ja, Frage. 780 00:34:53,354 --> 00:34:55,687 >> STUDENT: Müssen Sie haben die Klammern nach Beispiel? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> ALLISON: Ja, wenn Sie Initialisieren es so. 783 00:35:01,260 --> 00:35:03,430 784 00:35:03,430 --> 00:35:06,860 Also denken Sie daran, dies ist die zweite Weg zur Initialisierung eines Arrays, wo 785 00:35:06,860 --> 00:35:10,680 wir haben die Hosenträger und könnten die tatsächlichen Daten, die durch Kommas innerhalb getrennt. 786 00:35:10,680 --> 00:35:14,700 787 00:35:14,700 --> 00:35:17,281 >> Student: Ich dachte, es gäbe Halterungen für das Beispiel. 788 00:35:17,281 --> 00:35:19,010 >> ALLISON: Nein, sie sind Zahnspangen. 789 00:35:19,010 --> 00:35:20,039 Sie sind Zahnspangen. 790 00:35:20,039 --> 00:35:22,330 Wenn Sie es zu initialisieren dass die zweite Weise, ist es Zahnspangen. 791 00:35:22,330 --> 00:35:28,780 Wenn wir sagen würden, int example-- wenn wir wollten nur eine leere Array für int, 792 00:35:28,780 --> 00:35:32,270 es wäre int B. Schellen drei. 793 00:35:32,270 --> 00:35:34,670 Die Klammern geben die Größe. 794 00:35:34,670 --> 00:35:36,720 Wenn Sie Streben haben, es ist die tatsächliche Daten 795 00:35:36,720 --> 00:35:39,244 Sie hinein setzen sind auf diese Weise. 796 00:35:39,244 --> 00:35:40,535 Wir können wirklich schnell zurück zu blättern. 797 00:35:40,535 --> 00:35:42,370 798 00:35:42,370 --> 00:35:48,010 >> Also in diesem einen, das ist nur unsere Anfangs Array-Initialisierung. 799 00:35:48,010 --> 00:35:51,640 Und hier, einzeln sind wir Zuweisen Stellen, um sie, 800 00:35:51,640 --> 00:35:56,730 so stellt dies den Index der Array, das ist, warum wir Klammern. 801 00:35:56,730 --> 00:36:01,630 Aber hier, wenn Sie bemerken, haben wir ließen unsere Klammern ohne Größe, 802 00:36:01,630 --> 00:36:05,969 und wir es zu initialisieren mit der Ist-Daten alle-in-One mit Zahnspange. 803 00:36:05,969 --> 00:36:08,260 STUDENT: Also, warum nicht wir Klammern in diesem Beispiel? 804 00:36:08,260 --> 00:36:11,030 ALLISON: Also, in der ein Teil? 805 00:36:11,030 --> 00:36:14,645 STUDENT: Würden wir nicht sagen wir, int B. Schellen 806 00:36:14,645 --> 00:36:19,710 gleich Klammern [unverständlich] Klammern zum Beispiel. 807 00:36:19,710 --> 00:36:20,900 >> ALLISON: Oh, sorry. 808 00:36:20,900 --> 00:36:21,560 Sie haben Recht. 809 00:36:21,560 --> 00:36:22,690 Wir Klammern haben dort. 810 00:36:22,690 --> 00:36:23,486 Sorry, Jungs, mein schlechtes. 811 00:36:23,486 --> 00:36:25,150 812 00:36:25,150 --> 00:36:27,560 Ja, Sie haben sollten Klammern nach Beispiel. 813 00:36:27,560 --> 00:36:28,850 Sie haben völlig Recht. 814 00:36:28,850 --> 00:36:29,750 >> STUDENT: [unverständlich] es nicht zu tun. 815 00:36:29,750 --> 00:36:31,270 >> ALLISON: Nein, müssen Sie haben Klammern, denn sonst ist es 816 00:36:31,270 --> 00:36:32,810 nicht, um ein Array zu deklarieren. 817 00:36:32,810 --> 00:36:33,685 STUDENT: [unverständlich]. 818 00:36:33,685 --> 00:36:34,200 Bitten um Entschuldigung. 819 00:36:34,200 --> 00:36:36,200 >> ALLISON: Sorry, Sie müssen Klammern nach Beispiel. 820 00:36:36,200 --> 00:36:36,620 821 00:36:36,620 --> 00:36:37,120 Typo. 822 00:36:37,120 --> 00:36:40,650 823 00:36:40,650 --> 00:36:43,160 Guter Fang, Goldstern für Sie. 824 00:36:43,160 --> 00:36:47,730 Auch, wenn Sie gefragt werden eine Frage, wenn euch würde sagen Sie mir Ihren Namen, 825 00:36:47,730 --> 00:36:48,570 Ich würde gerne, dass. 826 00:36:48,570 --> 00:36:50,630 Ich würde gerne in der Lage zu sein, kennen alle eure Namen. 827 00:36:50,630 --> 00:36:53,187 Ich bin nicht gegen Kälte gehen rufen Sie, habe ich eigentlich 828 00:36:53,187 --> 00:36:54,520 Sie wollen einfach nur Ihren Namen kennen. 829 00:36:54,520 --> 00:36:57,530 Also bitte wirklich sagen Sie mir Ihre Namen. 830 00:36:57,530 --> 00:36:58,426 >> LEAH: Leah. 831 00:36:58,426 --> 00:36:59,340 >> ALLISON: Leah. 832 00:36:59,340 --> 00:37:03,960 OK, so functions-- Ich weiß in Kürze sie darüber gesprochen in der Vorlesungs. 833 00:37:03,960 --> 00:37:07,590 Also Funktionen sind so eine Art gerade wie diese kleine mundgerechte Dinge 834 00:37:07,590 --> 00:37:11,525 wo Sie in Eingänge passieren, etwas magische passiert, und Sie Ausgänge zu erhalten. 835 00:37:11,525 --> 00:37:12,680 836 00:37:12,680 --> 00:37:13,180 Cool. 837 00:37:13,180 --> 00:37:15,013 So können Sie tatsächlich verwendet ein Menge von diesen bereits. 838 00:37:15,013 --> 00:37:15,970 839 00:37:15,970 --> 00:37:18,840 Holen int, bekommen String, Print f. 840 00:37:18,840 --> 00:37:21,790 Dies sind alles Funktionen wo Sie nennen sie nur, 841 00:37:21,790 --> 00:37:24,370 es gibt viele magische Dinge los im Hintergrund 842 00:37:24,370 --> 00:37:27,390 dass man nicht unbedingt sehen, und Sie bekommen, was Sie wollen. 843 00:37:27,390 --> 00:37:30,280 Oder zumindest erhalten was Sie hoffen, Sie wollen. 844 00:37:30,280 --> 00:37:31,920 845 00:37:31,920 --> 00:37:35,620 >> Und im Grunde der Punkt von Funktionen, und eines der Hauptthemen der CS, 846 00:37:35,620 --> 00:37:38,700 ist es, Ihren Code zu brechen in handliche Stücke. 847 00:37:38,700 --> 00:37:41,520 Wenn Sie anfangen zu schreiben diese wirklich lange Programme, 848 00:37:41,520 --> 00:37:44,970 oder in Scratch, wenn Sie hatte diese große Idee für ein Spiel, 849 00:37:44,970 --> 00:37:48,070 Sie müssen in der Lage, es zu brechen sein auf, wie, OK, wie soll ich anfangen? 850 00:37:48,070 --> 00:37:50,470 Was sind die kleinen Stücke, die ich brauche? 851 00:37:50,470 --> 00:37:53,320 Oh, ich muss das fragen Benutzer für etwas. 852 00:37:53,320 --> 00:37:54,830 Jetzt brauche ich, um etwas zu drucken. 853 00:37:54,830 --> 00:37:56,590 Oh, ich brauche, um diesen Wert zu berechnen. 854 00:37:56,590 --> 00:38:00,050 >> Und lernen, wie man brechen Ihre Code und die großen Probleme, die Sie 855 00:38:00,050 --> 00:38:02,740 haben in diesen kleinen Stücken und Erstellen von Funktionen 856 00:38:02,740 --> 00:38:05,330 ist tatsächlich eine der großen Eckpfeiler CS. 857 00:38:05,330 --> 00:38:06,440 858 00:38:06,440 --> 00:38:11,740 So können Sie einer Funktion genauso denken können wie eine Black Box, ein magischer Black Box, 859 00:38:11,740 --> 00:38:15,030 dass Sie die Dinge in die und Sie erhalten eine Ausgabe. 860 00:38:15,030 --> 00:38:16,290 861 00:38:16,290 --> 00:38:19,460 Und der Rest des Programms muss nicht unbedingt wissen, 862 00:38:19,460 --> 00:38:21,150 was los ist in diesem schwarzen Kasten. 863 00:38:21,150 --> 00:38:24,190 Alles was es kümmert sich um ist, was geht und was dabei herauskommt. 864 00:38:24,190 --> 00:38:26,230 865 00:38:26,230 --> 00:38:26,730 Cool. 866 00:38:26,730 --> 00:38:27,820 >> Warum also Funktionen? 867 00:38:27,820 --> 00:38:33,240 Organization-- wie gesagt, wenn man Umgang mit sehr großen Codebasen, 868 00:38:33,240 --> 00:38:37,357 wie Sie organisieren Ihr Code sein viel einfacher, wenn Sie Funktionen verwenden. 869 00:38:37,357 --> 00:38:39,190 Da Sie in der Lage sein, zu sein, wie, OK dies, 870 00:38:39,190 --> 00:38:41,849 ist das, was diese Funktion tut und hier ist, was ein anderer tut. 871 00:38:41,849 --> 00:38:43,890 Und Sie leicht erkennen können wie sie alle zusammenpassen. 872 00:38:43,890 --> 00:38:45,590 873 00:38:45,590 --> 00:38:48,210 So bricht es in alle Diese überschaubare Teilabschnitte. 874 00:38:48,210 --> 00:38:51,860 >> So simplification-- Ich bin sicher, ihr Jungs all dies sah, wie gesagt, mit Scratch. 875 00:38:51,860 --> 00:38:53,230 876 00:38:53,230 --> 00:38:56,790 Sie haben diese großartige Idee, und Sie wie sie sind, wie funktioniert diese Arbeit? 877 00:38:56,790 --> 00:38:59,710 Aber wenn man sich ihr nähert Stückwerk, Sie sagen, OK, 878 00:38:59,710 --> 00:39:03,650 Wie kann ich einer Sprite machen schweben über den Bildschirm? 879 00:39:03,650 --> 00:39:04,805 Das ist ein bisschen leichter. 880 00:39:04,805 --> 00:39:06,000 881 00:39:06,000 --> 00:39:09,590 So gut gebrauchen Funktion ermöglicht Ihr Code viel einfacher zu lesen. 882 00:39:09,590 --> 00:39:13,800 Es macht es einfacher zu Debuggen, wie Sie in Ihrem späteren Problem Sets zu bekommen, 883 00:39:13,800 --> 00:39:15,900 Sie wirklich zu wollen in der Lage sein zu tun. 884 00:39:15,900 --> 00:39:17,900 Und sie sind auch leichter zu entwerfen und umzusetzen. 885 00:39:17,900 --> 00:39:21,100 Sie können bis zu codieren eine kleine relativ schnell funktionieren 886 00:39:21,100 --> 00:39:25,260 und sicherstellen, dass es im Vergleich zu versuchen diese ganze lange Programm zu erstellen 887 00:39:25,260 --> 00:39:28,960 und dann Art durchlaufen und sehen, was funktioniert und was nicht. 888 00:39:28,960 --> 00:39:30,300 >> Und dann die Wiederverwendbarkeit. 889 00:39:30,300 --> 00:39:33,380 Also Funktionen benötigen nur einmal geschrieben werden, 890 00:39:33,380 --> 00:39:35,586 und dann können Sie sie verwenden so oft wie möglich. 891 00:39:35,586 --> 00:39:37,210 So ist es, wie, umweltfreundlich in einem gewissen Sinn. 892 00:39:37,210 --> 00:39:39,660 893 00:39:39,660 --> 00:39:42,070 Wenn Sie Dinge wie gehabt Druck f, wo Sie 894 00:39:42,070 --> 00:39:47,420 hatte zu schreiben, die Magie, die geht hinter ausdrucken f jeden einzelnen Zeit 895 00:39:47,420 --> 00:39:51,040 Sie etwas drucken wollte, Sie würde ziemlich krank und müde davon sein 896 00:39:51,040 --> 00:39:51,650 Ende. 897 00:39:51,650 --> 00:39:52,660 898 00:39:52,660 --> 00:39:55,292 >> Eines der Dinge, die Sie lernen in späteren CS-Klassen, 899 00:39:55,292 --> 00:39:57,000 oder eine der besten Ratschläge bekomme ich 900 00:39:57,000 --> 00:40:00,870 ist, wenn Sie das Kopieren und Einfügen Code, sollte es wohl eine Funktion sein. 901 00:40:00,870 --> 00:40:01,880 902 00:40:01,880 --> 00:40:06,007 Wenn Sie das exakt gleiche haben Linien alle im gesamten Code, 903 00:40:06,007 --> 00:40:08,090 wenn Sie berücksichtigt sie aus, Ihr Code würde wahrscheinlich 904 00:40:08,090 --> 00:40:11,860 sein, wie, fünfmal kürzer und viel leichter zu lesen. 905 00:40:11,860 --> 00:40:15,230 Und anstatt zu versuchen, zu beheben all diese verschiedenen Orte, wo Dinge 906 00:40:15,230 --> 00:40:18,021 schief gehen könnte, eine Funktion haben Sie dass Sie zu beheben. 907 00:40:18,021 --> 00:40:19,230 908 00:40:19,230 --> 00:40:21,890 Und ich verspreche, eine Menge von dieser könnte Art abstrakter jetzt scheinen, 909 00:40:21,890 --> 00:40:24,620 aber wie man in später bekommen und später Problems setzt, 910 00:40:24,620 --> 00:40:28,950 es wird viel mehr Sinn machen und wirklich nach Hause gefahren werden. 911 00:40:28,950 --> 00:40:31,775 Gibt es irgendwelche Fragen über Funktionen so weit? 912 00:40:31,775 --> 00:40:32,650 Deshalb sind wir mit ihnen? 913 00:40:32,650 --> 00:40:34,775 Ich weiß, wir haben nicht bekommen in die Nitty Gritty noch. 914 00:40:34,775 --> 00:40:40,610 Also, die eine function-- wie Arrays, brauchen wir eine Art von-- diese 915 00:40:40,610 --> 00:40:41,860 ist nur der allgemeinen Ausgabe. 916 00:40:41,860 --> 00:40:45,110 Das ist also eine Funktion, die es gerade dabei, eine Eingabe Würfel. 917 00:40:45,110 --> 00:40:50,120 Und auf der nächsten Seite, eigentlich haben wir alle diese wunderbare kleine Dinge hier. 918 00:40:50,120 --> 00:40:52,420 So kann jeder lesen dass aus Neugier? 919 00:40:52,420 --> 00:40:55,050 Ich kenne den lila und schwarz vielleicht ein wenig hart. 920 00:40:55,050 --> 00:41:00,730 >> Aber große Dinge, dies die erste wissen-- ein Recht ist hier unsere Rückgabetyp. 921 00:41:00,730 --> 00:41:05,270 Also hier geht es um den Ausgang zu sprechen dieser Funktion, wenn in diesem Fall 922 00:41:05,270 --> 00:41:08,990 wir in irgendeiner Zahl setzen, was wir sind immer ist diese Zahl gewürfelt. 923 00:41:08,990 --> 00:41:11,090 So sollte es ein int in diesem Fall sein. 924 00:41:11,090 --> 00:41:14,055 Vielleicht wäre es eine doppelte oder etwas später, aber in diesem Fall, 925 00:41:14,055 --> 00:41:14,555 es ist ein int. 926 00:41:14,555 --> 00:41:15,620 927 00:41:15,620 --> 00:41:19,440 >> Mit c, müssen Sie immer einen Rückgabetyp. 928 00:41:19,440 --> 00:41:20,267 Es wird ein int sein. 929 00:41:20,267 --> 00:41:20,975 Es wird ein Schwimmer sein. 930 00:41:20,975 --> 00:41:22,180 Es wird ein doppelt sein. 931 00:41:22,180 --> 00:41:25,370 Aber man muss was geben Diese Funktion wird zur Rückkehr. 932 00:41:25,370 --> 00:41:26,480 933 00:41:26,480 --> 00:41:29,170 Andernfalls werden sie auf zu schreien Sie, und es wird nicht kompilieren. 934 00:41:29,170 --> 00:41:30,462 Sie werden traurig sein, und ich werde traurig sein. 935 00:41:30,462 --> 00:41:31,420 Und es ist einfach nicht gut. 936 00:41:31,420 --> 00:41:31,940 Ok. 937 00:41:31,940 --> 00:41:34,290 >> Und dann haben wir unsere Funktionsnamen. 938 00:41:34,290 --> 00:41:38,440 Und wie Sie hier sehen können, mit c gibt es diese sehr konsequent Paradigma. 939 00:41:38,440 --> 00:41:42,630 Was ist Ihre Art, was ist der Name, und dann einige andere Sache am Ende. 940 00:41:42,630 --> 00:41:45,550 Also wir haben unsere Rückgabetyp, unsere Funktionsnamen, und dann 941 00:41:45,550 --> 00:41:49,320 wir haben unsere Header mit unsere Parameterliste. 942 00:41:49,320 --> 00:41:52,080 >> Also die Parameterliste ist, was ist Diese Funktion werde in nehmen? 943 00:41:52,080 --> 00:41:56,360 Eine Parameterliste ist einfach eine Synonym für, was sind unsere Eingänge? 944 00:41:56,360 --> 00:42:00,230 Und in der gleichen Weise, wie wir müssen unsere Funktion definieren 945 00:42:00,230 --> 00:42:03,210 und geben Sie ihm eine Rückkehr geben, jedem unserer Eingänge 946 00:42:03,210 --> 00:42:05,350 muss eine Art zugeordnet sein. 947 00:42:05,350 --> 00:42:08,850 So wissen wir, was unsere Funktion kann tatsächlich mit zu arbeiten. 948 00:42:08,850 --> 00:42:11,290 >> Also in diesem Fall haben wir einige int-Eingang. 949 00:42:11,290 --> 00:42:14,660 Also noch einmal, werde es der Typ sein und was Sie nennen es. 950 00:42:14,660 --> 00:42:16,500 951 00:42:16,500 --> 00:42:19,040 Und dann, wie Sie sehen Hier haben wir unsere Körper. 952 00:42:19,040 --> 00:42:23,600 So haben wir einige int-Ausgang, dass ist gerade unsere Eingabezeiten selbst 953 00:42:23,600 --> 00:42:25,810 mal selbst, die nur Würfel es. 954 00:42:25,810 --> 00:42:27,610 Und dann haben wir diese Ausgabe zurück. 955 00:42:27,610 --> 00:42:32,140 >> So wie Sie hier sehen, haben wir eine int mal ein int mal ein int, 956 00:42:32,140 --> 00:42:35,420 so ist es ein int, kehrt die wurde dort erklärt. 957 00:42:35,420 --> 00:42:38,240 Also alles ist zusammenhängend. 958 00:42:38,240 --> 00:42:39,210 Alles ist glücklich. 959 00:42:39,210 --> 00:42:40,250 Ihre Funktion wird ausgeführt. 960 00:42:40,250 --> 00:42:41,192 961 00:42:41,192 --> 00:42:42,650 Und das ist nur die allgemeine Sache. 962 00:42:42,650 --> 00:42:46,750 Also immer Rückgabetyp, Namen und Ihre Parameterliste. 963 00:42:46,750 --> 00:42:48,830 Jedes Ding in Ihrem Parameterliste, bzw. Eingang, 964 00:42:48,830 --> 00:42:51,410 muss eine Art zugeordnet sein. 965 00:42:51,410 --> 00:42:54,210 Und dann haben Sie Ihren Körper hier, was auch immer 966 00:42:54,210 --> 00:42:55,590 Sie mit Ihrer Eingabe machen wollen. 967 00:42:55,590 --> 00:42:57,390 968 00:42:57,390 --> 00:43:00,410 >> Und dann natürlich Sie will etwas zurückgeben. 969 00:43:00,410 --> 00:43:02,630 Manchmal Funktionen werden nur zurückgeben. 970 00:43:02,630 --> 00:43:06,090 Sie eigentlich nicht zurück etwas für Sie zu nutzen. 971 00:43:06,090 --> 00:43:08,660 Aber man muss in gewisser Weise zurück. 972 00:43:08,660 --> 00:43:12,900 Und wenn du machst Ihre eigenen Funktionen, 973 00:43:12,900 --> 00:43:15,430 können wir in diese ein wenig tiefer zu bekommen. 974 00:43:15,430 --> 00:43:18,880 Persönlich, wenn Sie wollen, es gibt eine Menge verschiedener Dinge, die Sie dort tun könnte. 975 00:43:18,880 --> 00:43:21,350 976 00:43:21,350 --> 00:43:22,140 Jeder gut? 977 00:43:22,140 --> 00:43:25,900 Alles auf dieser Liste, die Sie mich wollen hinüberzugehen, dass Sie nicht verstehen? 978 00:43:25,900 --> 00:43:27,204 979 00:43:27,204 --> 00:43:28,120 Jeder ist gut da? 980 00:43:28,120 --> 00:43:29,071 981 00:43:29,071 --> 00:43:29,570 Cool. 982 00:43:29,570 --> 00:43:31,350 983 00:43:31,350 --> 00:43:32,120 Genial. 984 00:43:32,120 --> 00:43:34,700 >> OK, so dass wir setzen alles zusammen jetzt. 985 00:43:34,700 --> 00:43:35,720 986 00:43:35,720 --> 00:43:41,201 Also haben wir etwas int cube-Eingang, so Dies ist eine vollständige Programm finden Sie hier. 987 00:43:41,201 --> 00:43:42,950 Bisher habe ich Art wurde Ihnen 988 00:43:42,950 --> 00:43:45,699 Jungs-Schnipsel, die vielleicht werden innerhalb eines Programms gehen. 989 00:43:45,699 --> 00:43:47,240 Wir haben gerade bei Funktionen gesucht. 990 00:43:47,240 --> 00:43:48,448 Aber hier ist ein ganzes Programm. 991 00:43:48,448 --> 00:43:49,400 992 00:43:49,400 --> 00:43:53,690 Also, wie viele von euch erinnern sich die Wort Prototyp aus Vorlesung? 993 00:43:53,690 --> 00:43:54,750 994 00:43:54,750 --> 00:43:55,300 Cool. 995 00:43:55,300 --> 00:43:55,890 Wir haben einen. 996 00:43:55,890 --> 00:43:57,160 997 00:43:57,160 --> 00:43:58,110 Wie heißen Sie? 998 00:43:58,110 --> 00:43:58,850 >> STEPH: Steph. 999 00:43:58,850 --> 00:43:59,475 >> ALLISON: Steph? 1000 00:43:59,475 --> 00:44:01,030 OK, fantastisch. 1001 00:44:01,030 --> 00:44:03,310 Also, weißt du noch, was ein Prototyp ist? 1002 00:44:03,310 --> 00:44:04,651 1003 00:44:04,651 --> 00:44:10,230 >> STUDENT: Sie sagen, [unverständlich] bevor Sie tatsächlich damit umzugehen. 1004 00:44:10,230 --> 00:44:11,700 >> ALLISON: Erinnerst du dich, warum? 1005 00:44:11,700 --> 00:44:13,158 >> STUDENT: No. 1006 00:44:13,158 --> 00:44:14,620 >> ALLISON: OK. 1007 00:44:14,620 --> 00:44:16,090 Gold-Star. 1008 00:44:16,090 --> 00:44:19,470 Also ja, ein Prototyp haben wir voraus, da sonst, 1009 00:44:19,470 --> 00:44:21,260 unsere Compiler wird sich bei uns schreien. 1010 00:44:21,260 --> 00:44:24,294 Es wird gesagt, OK, was ist das Cube-Funktion? 1011 00:44:24,294 --> 00:44:26,460 Wie, haben Sie buchstäblich sagte mir nichts. 1012 00:44:26,460 --> 00:44:28,110 Es ist wie wenn man zu Fuß in ein Klassenzimmer, 1013 00:44:28,110 --> 00:44:29,320 und jemand ist wie, Es gibt ein Quiz heute. 1014 00:44:29,320 --> 00:44:31,380 Und du, du bist nie erzählte mir über diese. 1015 00:44:31,380 --> 00:44:32,930 Ich bin nicht glücklich mit uns. 1016 00:44:32,930 --> 00:44:34,300 1017 00:44:34,300 --> 00:44:37,020 Der Prototyp ist im Grunde wie Ihr Lehrplan sagen, schauen. 1018 00:44:37,020 --> 00:44:37,900 Kopf hoch. 1019 00:44:37,900 --> 00:44:39,570 Es geht um ein Quiz an diesem Tag sein. 1020 00:44:39,570 --> 00:44:41,420 Nicht ausflippen, wenn Sie es erhalten. 1021 00:44:41,420 --> 00:44:42,690 Du wirst in Ordnung zu sein. 1022 00:44:42,690 --> 00:44:48,170 >> Also alles, der Prototyp hat ist zu sagen Haupt, werde ich diese Funktion zu nutzen. 1023 00:44:48,170 --> 00:44:51,010 Ich verspreche, ich werde später zu definieren. 1024 00:44:51,010 --> 00:44:52,260 Nicht ausflippen mich an. 1025 00:44:52,260 --> 00:44:54,750 Nur kompilieren und zu tun, was ich dir sage. 1026 00:44:54,750 --> 00:44:58,880 So haben wir den Prototypen gibt nur um unsere Compiler glücklich. 1027 00:44:58,880 --> 00:45:04,360 Und es ist im Grunde ein Versprechen, Sie diese Funktion später definiert haben 1028 00:45:04,360 --> 00:45:07,960 und dass Sie nicht nur telefonieren Diese zufällige Sache, dass es 1029 00:45:07,960 --> 00:45:10,070 weiß nicht, was du bist gehen zu tun. 1030 00:45:10,070 --> 00:45:11,910 >> Also in diesem Fall, wir haben hier Haupt. 1031 00:45:11,910 --> 00:45:14,660 Wir initialisieren eine ganze Zahl x. 1032 00:45:14,660 --> 00:45:15,620 Das sind zwei. 1033 00:45:15,620 --> 00:45:17,510 Wir werden auszudrucken, was x ist. 1034 00:45:17,510 --> 00:45:18,800 Wir werden x Würfel. 1035 00:45:18,800 --> 00:45:21,520 Wie Sie sehen, haben wir unsere Funktionsdeklaration 1036 00:45:21,520 --> 00:45:23,770 hier unten, dass wir sprachen über früher. 1037 00:45:23,770 --> 00:45:28,260 Es wird cube x, und dann, wenn wir denken Sie daran, den Würfel Funktion tatsächlich 1038 00:45:28,260 --> 00:45:31,340 eine ganze Zahl, um zurück uns, die gespeichert wird 1039 00:45:31,340 --> 00:45:35,860 in x wieder, damit wir drucken können aus acht oder cube x jetzt. 1040 00:45:35,860 --> 00:45:37,170 1041 00:45:37,170 --> 00:45:38,920 Ist das sinnvoll, um alle? 1042 00:45:38,920 --> 00:45:40,360 Wir sind gut? 1043 00:45:40,360 --> 00:45:41,160 In Ordnung. 1044 00:45:41,160 --> 00:45:41,660 Genial. 1045 00:45:41,660 --> 00:45:45,540 1046 00:45:45,540 --> 00:45:46,840 >> In Ordnung. 1047 00:45:46,840 --> 00:45:50,879 Wie viele von euch Jungs Merken Sie sich diese so dass diese 1048 00:45:50,879 --> 00:45:52,670 ist im Grunde nur Ihre Stack und Ihre Haufen, 1049 00:45:52,670 --> 00:45:56,510 nur eine Visualisierung von wie Speicher abgelegt. 1050 00:45:56,510 --> 00:45:58,200 1051 00:45:58,200 --> 00:46:01,400 Also wir wollen nur sicherstellen, Sie sicher, dass Sie verstehen, 1052 00:46:01,400 --> 00:46:03,680 wie diese im Speicher dargestellt. 1053 00:46:03,680 --> 00:46:07,670 Wenn Sie Klassen wie nehmen CS61 und so später 1054 00:46:07,670 --> 00:46:10,570 Sie gelangen in diesen weit mehr erfahren in der Tiefe, und es ist wirklich cool. 1055 00:46:10,570 --> 00:46:11,730 Ich empfehle es. 1056 00:46:11,730 --> 00:46:12,740 1057 00:46:12,740 --> 00:46:14,720 Aber jetzt werde ich geben Sie der breiten Überblick 1058 00:46:14,720 --> 00:46:16,950 so dass Sie nicht zu haben, kennen die Nitty Gritty. 1059 00:46:16,950 --> 00:46:20,820 >> So Anfang nur ein Textsegment, enthält die eigentlichen Nullen und Einsen, 1060 00:46:20,820 --> 00:46:23,740 die binäre dafür. 1061 00:46:23,740 --> 00:46:27,510 Und dies wird zum Speichern verwendet globale Variablen, wenn Sie irgendwelche. 1062 00:46:27,510 --> 00:46:28,870 1063 00:46:28,870 --> 00:46:32,240 Wie Sie nach unten zu verschieben, wir haben, wie Sie hier sehen, 1064 00:46:32,240 --> 00:46:34,670 initialisierten Daten, nicht initialisierten Daten, und dann Heap. 1065 00:46:34,670 --> 00:46:35,800 1066 00:46:35,800 --> 00:46:38,584 >> So dass wir nicht wirklich reden über den Haufen jetzt. 1067 00:46:38,584 --> 00:46:39,500 Wir werden zu einem späteren Zeitpunkt erhalten. 1068 00:46:39,500 --> 00:46:40,762 1069 00:46:40,762 --> 00:46:42,970 Denn jetzt, ich bin gerade dabei, winken meine Hände und werden wie, 1070 00:46:42,970 --> 00:46:44,553 Sie brauchen nicht, um dies jetzt wissen. 1071 00:46:44,553 --> 00:46:46,100 1072 00:46:46,100 --> 00:46:49,060 Aber wir werden ein wenig sprechen wenig über den Stack. 1073 00:46:49,060 --> 00:46:53,050 Also der Stapel where-- wir vergrößern. 1074 00:46:53,050 --> 00:46:58,590 Das ist eigentlich, wie das Programm wir gerade sah im Speicher auftritt. 1075 00:46:58,590 --> 00:47:01,630 >> Also, was passiert ist, jeder Zeit, dass wir eine Funktion aufrufen, 1076 00:47:01,630 --> 00:47:04,180 wir bekommen eine so genannte Stack Rahmen, die eine von diesen ist. 1077 00:47:04,180 --> 00:47:05,870 So Main Parameter. 1078 00:47:05,870 --> 00:47:07,944 Das sind also die Dinge, dass wir gehen in main. 1079 00:47:07,944 --> 00:47:11,110 So sind sie hier an der Unterseite, denn das ist das erste, was wir nennen. 1080 00:47:11,110 --> 00:47:13,401 Und dann haben wir zur Haupt Sie uns Einheimische, und wenn wir sagen, dass, 1081 00:47:13,401 --> 00:47:15,970 meinen wir die lokalen Variablen dass innerhalb Haupt gespeichert sind. 1082 00:47:15,970 --> 00:47:19,950 1083 00:47:19,950 --> 00:47:23,620 So Einheimischen hier wäre, wie, x ist gleich in diesem Fall zwei. 1084 00:47:23,620 --> 00:47:26,350 Denn das ist, zur Haupt lokalisiert. 1085 00:47:26,350 --> 00:47:29,745 Hat jeder erinnern Umfang, gehen über die in der Vorlesung? 1086 00:47:29,745 --> 00:47:31,517 1087 00:47:31,517 --> 00:47:32,017 Ok. 1088 00:47:32,017 --> 00:47:36,110 Also, nur die Variablen, die innerhalb Haupt initialisiert. 1089 00:47:36,110 --> 00:47:38,550 Also das ist, warum wir haben Haupt [? Vocals. ?] 1090 00:47:38,550 --> 00:47:40,390 >> Und dann im Haupt, nennen wir Würfel. 1091 00:47:40,390 --> 00:47:41,000 Richtig? 1092 00:47:41,000 --> 00:47:44,510 Also ein anderes Bild erhalten wir mit Parametern Würfels. 1093 00:47:44,510 --> 00:47:47,050 Also in diesem Fall, Würfels Parameter sind jetzt 1094 00:47:47,050 --> 00:47:50,800 die x, die wir übergeben, die beiden, die wir eingeleitet. 1095 00:47:50,800 --> 00:47:55,320 Und dann Würfels Einheimischen, die ist wenn der tatsächliche cubing passiert. 1096 00:47:55,320 --> 00:47:56,450 Und dann gibt es zurück. 1097 00:47:56,450 --> 00:48:02,120 >> Also, was passiert ist, als Würfel tatsächlich tut was es tun soll, gibt es zurück. 1098 00:48:02,120 --> 00:48:07,020 Wenn er zurückkehrt, verlässt dieser Rahmen, und seine Hauptzurück nach unten. 1099 00:48:07,020 --> 00:48:09,160 Und dann im Haupt wir kann tatsächlich ausdrucken. 1100 00:48:09,160 --> 00:48:10,840 1101 00:48:10,840 --> 00:48:14,500 Also, wenn Sie etwas zurückkehren, wenn Ihr Funktion gibt, 1102 00:48:14,500 --> 00:48:19,900 es ist wie die Weitergabe dieser Werte zu der Rahmen unten und dann verlassen. 1103 00:48:19,900 --> 00:48:22,200 Und die Dinge müssen, um auszuführen. 1104 00:48:22,200 --> 00:48:25,550 >> Und wenn Sie größeren Programmen zu bekommen, können wir Kühler und komplizierter machen 1105 00:48:25,550 --> 00:48:26,470 Diagramme. 1106 00:48:26,470 --> 00:48:29,070 Aber jetzt, ist dies nur eine allgemeine Übersicht 1107 00:48:29,070 --> 00:48:31,110 so haben Sie eine Art von Verständnis dessen, was 1108 00:48:31,110 --> 00:48:35,160 passiert, wenn Sie eine Funktion aufrufen und wie das tatsächlich aussieht im Speicher. 1109 00:48:35,160 --> 00:48:37,230 1110 00:48:37,230 --> 00:48:37,770 Cool? 1111 00:48:37,770 --> 00:48:38,353 Jeder gut? 1112 00:48:38,353 --> 00:48:39,920 1113 00:48:39,920 --> 00:48:40,420 Genial. 1114 00:48:40,420 --> 00:48:42,070 1115 00:48:42,070 --> 00:48:50,575 >> Das ist also eine, die ist nur versuchen, die Dinge zu tauschen. 1116 00:48:50,575 --> 00:48:52,260 1117 00:48:52,260 --> 00:48:54,930 Wie wir hier sehen, haben wir unsere Funktionsprototyp 1118 00:48:54,930 --> 00:48:56,900 so dass unsere Compiler nicht bei uns schreien. 1119 00:48:56,900 --> 00:48:59,220 Wir haben einige Haupt, und wir möchte x und y zu wechseln. 1120 00:48:59,220 --> 00:49:00,320 1121 00:49:00,320 --> 00:49:04,129 Sie haben nicht diese Demo getan in der Vorlesung noch haben sie? 1122 00:49:04,129 --> 00:49:04,670 Sie haben nicht? 1123 00:49:04,670 --> 00:49:05,900 Ok. 1124 00:49:05,900 --> 00:49:08,450 So werden wir zu gehen über diese sehr kurz. 1125 00:49:08,450 --> 00:49:12,210 Sie werden in diesem Beispiel mehr zu bekommen in der Tiefe, wie ich glaube, in dieser Woche. 1126 00:49:12,210 --> 00:49:15,680 Und dann nächste Woche können wir wirklich tauchen, warum dies nicht funktioniert. 1127 00:49:15,680 --> 00:49:18,810 >> So haben wir diese Lücke Funktion hier-- Swap. 1128 00:49:18,810 --> 00:49:20,720 So nichtig bedeutet nur, dass nichts zurückgegeben. 1129 00:49:20,720 --> 00:49:22,000 1130 00:49:22,000 --> 00:49:24,110 Und wir haben Swap int a und int b. 1131 00:49:24,110 --> 00:49:27,046 Und wir haben einige temporäre Variable, die eine ist. 1132 00:49:27,046 --> 00:49:30,050 Kommt zugeordnet zu b, und dann b wird an die Temp zugeordnet 1133 00:49:30,050 --> 00:49:32,235 so dass A und B ist Werte werden nun ausgeschaltet. 1134 00:49:32,235 --> 00:49:33,510 1135 00:49:33,510 --> 00:49:36,030 >> Aber, Plot Twist, das nicht funktioniert. 1136 00:49:36,030 --> 00:49:37,390 1137 00:49:37,390 --> 00:49:42,380 Und ein Teil davon tatsächlich mit der Tatsache zu tun, daß eine 1138 00:49:42,380 --> 00:49:48,800 und b hier, diejenigen, die in übergeben bekommen Hier gibt tatsächlich Kopien von x und y. 1139 00:49:48,800 --> 00:49:53,220 Also, wenn die Funktion tatsächlich zurückkehrt, es die Kopien schaltet aber nicht 1140 00:49:53,220 --> 00:49:55,960 die tatsächliche x und y ist. 1141 00:49:55,960 --> 00:50:02,370 Also eine Möglichkeit, darüber nachzudenken ist dass-- vorgeben diese Swap. 1142 00:50:02,370 --> 00:50:03,130 OK? 1143 00:50:03,130 --> 00:50:05,390 So in Haupt, haben wir x und y initialisiert. 1144 00:50:05,390 --> 00:50:06,530 1145 00:50:06,530 --> 00:50:10,760 Aber wenn wir tatsächlich steigen auf diese Frames mit Swap, 1146 00:50:10,760 --> 00:50:15,740 wir vorbei an den Werten über zu ihm, und sie initialisiert. 1147 00:50:15,740 --> 00:50:18,570 >> Und sie immer nur leben hier richtig. 1148 00:50:18,570 --> 00:50:19,796 Also a und b leben hier. 1149 00:50:19,796 --> 00:50:20,670 Und sie bekommen getauscht. 1150 00:50:20,670 --> 00:50:21,870 1151 00:50:21,870 --> 00:50:26,190 Aber wenn wir zurückkommen, wissen wir nicht nichts mit a und b. ein 1152 00:50:26,190 --> 00:50:28,980 und b Urlaub mit unserer Funktion. 1153 00:50:28,980 --> 00:50:30,850 Und so x und y gleich bleiben. 1154 00:50:30,850 --> 00:50:31,960 1155 00:50:31,960 --> 00:50:39,665 Du wirst mehr in, wie man das beheben zu bekommen und wie wir eigentlich mit, dass später beschäftigen. 1156 00:50:39,665 --> 00:50:40,750 1157 00:50:40,750 --> 00:50:43,740 >> Aber es ist nur eine Sache, zu Art im Kopf behalten. 1158 00:50:43,740 --> 00:50:45,270 Verwenden Sie es für die Zukunft. 1159 00:50:45,270 --> 00:50:48,050 Keine Sorge, wenn das nicht zu machen ganze Sinn der Welt. 1160 00:50:48,050 --> 00:50:49,510 1161 00:50:49,510 --> 00:50:51,440 Sie sind Kopien ist die größte Sache. 1162 00:50:51,440 --> 00:50:54,580 Wenn Sie vorhaben, etwas zu nehmen sind weg von diesem, in Kopien übergeben Sie. 1163 00:50:54,580 --> 00:50:56,410 Also die Originale gleich bleiben. 1164 00:50:56,410 --> 00:50:58,170 1165 00:50:58,170 --> 00:50:58,770 Jeder gut? 1166 00:50:58,770 --> 00:51:00,280 1167 00:51:00,280 --> 00:51:00,930 Cool. 1168 00:51:00,930 --> 00:51:02,295 >> So Befehlszeilenargumente. 1169 00:51:02,295 --> 00:51:03,520 1170 00:51:03,520 --> 00:51:07,630 Ich bin am Anfang sicher, dass euch alle hatten diese großen, wie, int main Hohlräume. 1171 00:51:07,630 --> 00:51:09,517 Und du bist wie, OK cool. 1172 00:51:09,517 --> 00:51:10,350 Ich interessiere mich nicht wirklich. 1173 00:51:10,350 --> 00:51:12,360 Dies ist genau das, was ich zu schreiben. 1174 00:51:12,360 --> 00:51:16,349 Aber in Ihrem neuen Programmen vor allem in dieser pset, 1175 00:51:16,349 --> 00:51:17,890 und warum gibt es Kreide auf dem Boden? 1176 00:51:17,890 --> 00:51:19,640 1177 00:51:19,640 --> 00:51:22,680 >> Mit Ihren pset, du bist gehen zu sehen dies. 1178 00:51:22,680 --> 00:51:26,130 Int main, int arg c, String Bogen v, Klammern. 1179 00:51:26,130 --> 00:51:28,770 Also, von dem, was wir gerade heute gelernt, was 1180 00:51:28,770 --> 00:51:32,190 denken wir, dass der zweite Parameter oder dass zweite Element ist hier? 1181 00:51:32,190 --> 00:51:34,830 1182 00:51:34,830 --> 00:51:35,824 Es ist ein Array. 1183 00:51:35,824 --> 00:51:36,615 Welche Art von Array? 1184 00:51:36,615 --> 00:51:38,430 1185 00:51:38,430 --> 00:51:40,690 String-Array, ja. 1186 00:51:40,690 --> 00:51:41,980 Cool. 1187 00:51:41,980 --> 00:51:45,320 Also das ist, wie du gehst Bislang werden diese erklärt. 1188 00:51:45,320 --> 00:51:48,570 >> Erinnert sich noch jemand was diese stehen? 1189 00:51:48,570 --> 00:51:52,551 1190 00:51:52,551 --> 00:51:53,050 Nein? 1191 00:51:53,050 --> 00:51:54,020 1192 00:51:54,020 --> 00:51:54,520 Hmm? 1193 00:51:54,520 --> 00:51:55,640 >> STUDENT: arg c. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> ALLISON: So arg c hält einen Zähler. 1196 00:51:58,950 --> 00:51:59,450 Es ist ein int. 1197 00:51:59,450 --> 00:52:00,615 Es ist eine Zahl, oder? 1198 00:52:00,615 --> 00:52:02,240 Also, was denken Sie, diese Zahl von? 1199 00:52:02,240 --> 00:52:08,260 1200 00:52:08,260 --> 00:52:08,760 Ja. 1201 00:52:08,760 --> 00:52:11,450 So arg c ist die Anzahl von Zeichen aus denen sich die Befehlszeile. 1202 00:52:11,450 --> 00:52:12,560 1203 00:52:12,560 --> 00:52:18,499 Wenn wir also tatsächlich do-- waren, es gibt Beispiele danach 1204 00:52:18,499 --> 00:52:19,790 damit ich nicht vor mir selbst bekommen. 1205 00:52:19,790 --> 00:52:21,299 1206 00:52:21,299 --> 00:52:23,840 Es ist eine Reihe von Zeichenfolgen, so stellen Sie Ihre Befehlszeile. 1207 00:52:23,840 --> 00:52:35,080 >> Also, wenn Sie tun, wie, dot slash Mario, das ist eine Zeichenfolge, die es macht. 1208 00:52:35,080 --> 00:52:38,520 In diesem Stück werden Sie tatsächlich sein Fütterung Dinge in der Befehlszeile 1209 00:52:38,520 --> 00:52:41,750 wie ich bin sicher, Sie Jungs, die haben die spec Säge lesen. 1210 00:52:41,750 --> 00:52:44,470 Also in jenen Fällen, vielleicht wirst du zwei oder drei Argumente. 1211 00:52:44,470 --> 00:52:45,652 1212 00:52:45,652 --> 00:52:48,360 Es geht um eine nützliche Sache zu bedienen sein. 1213 00:52:48,360 --> 00:52:51,500 >> Und dann arg v, wie wir sagten, ist nur ein String-Array. 1214 00:52:51,500 --> 00:52:57,000 So dass tatsächlich speichert, was Sie Eingabe in der Befehlszeile. 1215 00:52:57,000 --> 00:52:59,960 Also haben wir diese. 1216 00:52:59,960 --> 00:53:02,850 Sie haben einige dot slash Kopieren infile outfile. 1217 00:53:02,850 --> 00:53:06,670 Also, das ist, wenn arg c die Anzahl der Saiten dass wir in der Befehlsweitergabe 1218 00:53:06,670 --> 00:53:09,080 Linie, was ist unsere arg c in diesem Fall? 1219 00:53:09,080 --> 00:53:14,520 1220 00:53:14,520 --> 00:53:15,850 Drei. 1221 00:53:15,850 --> 00:53:16,690 Genau. 1222 00:53:16,690 --> 00:53:20,086 >> Also, was ist arg v von Null? 1223 00:53:20,086 --> 00:53:21,710 Also, was ist das erste, was wir gespeichert haben? 1224 00:53:21,710 --> 00:53:24,640 1225 00:53:24,640 --> 00:53:26,290 Dot Slash Kopie, genau. 1226 00:53:26,290 --> 00:53:28,065 Und dann die zweite wäre INFILE. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 Die dritte wäre outfile sein. 1229 00:53:30,930 --> 00:53:32,390 Und was ist arg v drei? 1230 00:53:32,390 --> 00:53:35,810 1231 00:53:35,810 --> 00:53:39,370 Es wäre null, weil das ist, das Ende unserer Array, oder? 1232 00:53:39,370 --> 00:53:40,600 1233 00:53:40,600 --> 00:53:41,460 Cool. 1234 00:53:41,460 --> 00:53:44,500 >> Und was ist dann mit dem sechsten ein? 1235 00:53:44,500 --> 00:53:45,900 Es ist irgendwie eine Fangfrage. 1236 00:53:45,900 --> 00:53:46,400 Ish. 1237 00:53:46,400 --> 00:53:49,027 1238 00:53:49,027 --> 00:53:49,943 Wissen wir, was es ist? 1239 00:53:49,943 --> 00:53:50,960 1240 00:53:50,960 --> 00:53:51,690 Es ist nicht definiert. 1241 00:53:51,690 --> 00:53:53,170 Wir haben keine Ahnung, was das sein könnte. 1242 00:53:53,170 --> 00:53:57,000 Es ist was recht ist Nach der Anordnung im Speicher, 1243 00:53:57,000 --> 00:54:00,220 und wir haben keine Ahnung, was das ist. 1244 00:54:00,220 --> 00:54:03,500 Und es ist gefährlich für diejenigen berühren Dinge, denn für alles, was Sie wissen, 1245 00:54:03,500 --> 00:54:07,080 es ist ein Teil des Speichers, die Sie sollten nicht dem Zugriff oder null sein. 1246 00:54:07,080 --> 00:54:09,000 Und es kann verrückte Dinge zu tun. 1247 00:54:09,000 --> 00:54:11,690 Es ist über-Indizierung genannt Ihr Ihr Array gebunden. 1248 00:54:11,690 --> 00:54:14,785 Nicht außerhalb der Grenzen gehen Ihre Array oder schlechte Dinge passieren können. 1249 00:54:14,785 --> 00:54:16,274 1250 00:54:16,274 --> 00:54:18,940 Sie kommen zurück und, wie, den Gesetzen der Physik wurden zerstört 1251 00:54:18,940 --> 00:54:19,481 oder so etwas. 1252 00:54:19,481 --> 00:54:21,021 1253 00:54:21,021 --> 00:54:21,520 Cool. 1254 00:54:21,520 --> 00:54:22,895 Ist das sinnvoll, um alle? 1255 00:54:22,895 --> 00:54:23,810 1256 00:54:23,810 --> 00:54:25,025 Nicht schlecht. 1257 00:54:25,025 --> 00:54:28,926 >> So, jetzt ist jeder Lieblingsteil, pset Bewertung. 1258 00:54:28,926 --> 00:54:29,426 Yay! 1259 00:54:29,426 --> 00:54:30,530 1260 00:54:30,530 --> 00:54:31,030 Ok. 1261 00:54:31,030 --> 00:54:33,830 Also für diejenigen unter Ihnen, die haben nicht die pset spec lesen, 1262 00:54:33,830 --> 00:54:36,790 Sie wirklich tun einige coole Sachen mit Kryptographie. 1263 00:54:36,790 --> 00:54:39,360 Du wirst einen Ceasar erstellen Cipher und eine Vigenère-Chiffre. 1264 00:54:39,360 --> 00:54:42,000 1265 00:54:42,000 --> 00:54:45,480 Sie sollten auf jeden Fall lesen Sie die spec zu sehen, wie solche Arbeit. 1266 00:54:45,480 --> 00:54:49,650 Und wenn Sie irgendwelche Probleme über bist was es eigentlich tun, 1267 00:54:49,650 --> 00:54:52,920 kommen Sie bitte mit mir reden, mailen Sie mir oder Text mich. 1268 00:54:52,920 --> 00:54:53,420 Ich bin um. 1269 00:54:53,420 --> 00:54:54,780 1270 00:54:54,780 --> 00:54:57,070 >> So gibt es drei Haupt Dinge hier, dass wir 1271 00:54:57,070 --> 00:55:00,440 möchte nur irgendwie reden about-- einer Verlängerung der Vorlesung. 1272 00:55:00,440 --> 00:55:03,645 Dinge, die Sie vielleicht nicht wissen etwa, hilfreiche Tipps und Tools. 1273 00:55:03,645 --> 00:55:05,520 So werden wir eine do schnelle Überprüfung der ASCII, 1274 00:55:05,520 --> 00:55:10,420 denn das wird Super zu sein wichtig für Vigenere Cipher. 1275 00:55:10,420 --> 00:55:11,809 1276 00:55:11,809 --> 00:55:14,100 Wir fahren nach Umwandlung gehen Befehlszeileneingänge, die 1277 00:55:14,100 --> 00:55:17,160 wird sehr hilfreich für Caesar-Ziffer. 1278 00:55:17,160 --> 00:55:18,133 Und dann Modulo. 1279 00:55:18,133 --> 00:55:20,220 1280 00:55:20,220 --> 00:55:21,210 Cool. 1281 00:55:21,210 --> 00:55:24,005 >> So ordnet ASCII-Zeichen um Zahlen. 1282 00:55:24,005 --> 00:55:25,270 1283 00:55:25,270 --> 00:55:26,365 Dies ist eine große Karte. 1284 00:55:26,365 --> 00:55:28,115 Sie sollten dies irgendwo vorgemerkt. 1285 00:55:28,115 --> 00:55:29,310 1286 00:55:29,310 --> 00:55:33,250 Sie werden es für wollen Ihre erste Halbzeit. 1287 00:55:33,250 --> 00:55:36,320 Ich bin mir ziemlich sicher, jeder hat diese Chart auf ihren Halbzeitblatt. 1288 00:55:36,320 --> 00:55:37,810 So lernen. 1289 00:55:37,810 --> 00:55:38,410 Liebe es. 1290 00:55:38,410 --> 00:55:39,740 Halten Sie es handlich. 1291 00:55:39,740 --> 00:55:41,210 Es wird nützlich sein. 1292 00:55:41,210 --> 00:55:45,630 >> Und das alles ist es ist eine Codierung dass die Karten alphabetisch, numerisch 1293 00:55:45,630 --> 00:55:47,740 und andere Zeichen, die Zahlen für unsere Computer. 1294 00:55:47,740 --> 00:55:49,947 Denn natürlich, in der Ende, alles, was wir speichern 1295 00:55:49,947 --> 00:55:52,030 wird sich konvertierten bekommen bis auf Nullen und Einsen, 1296 00:55:52,030 --> 00:55:55,200 also müssen wir einen Weg, um das zu vertreten Text und Zeichen, die wir alle 1297 00:55:55,200 --> 00:55:59,105 zu sehen, als eine Art Nummer verwendet. 1298 00:55:59,105 --> 00:56:00,370 1299 00:56:00,370 --> 00:56:05,880 >> So wie wir hier sehen, haben wir Groß A, die genau dort ist. 1300 00:56:05,880 --> 00:56:06,555 Es ist 65. 1301 00:56:06,555 --> 00:56:07,570 1302 00:56:07,570 --> 00:56:09,660 Und Klein A 97. 1303 00:56:09,660 --> 00:56:13,170 Damit Sie heraus out-- können wie ich bereits sagte, 1304 00:56:13,170 --> 00:56:16,532 Wenn Sie Array von mehreren musste Strings, was jeder von ihnen 1305 00:56:16,532 --> 00:56:17,490 haben eine Null-Terminator. 1306 00:56:17,490 --> 00:56:18,480 Es wäre ein Raum sein. 1307 00:56:18,480 --> 00:56:22,581 Raum hat seine eigene special-- Ich vergesse, wo es hier ist. 1308 00:56:22,581 --> 00:56:23,080 Ah. 1309 00:56:23,080 --> 00:56:24,700 32 ist der Raum. 1310 00:56:24,700 --> 00:56:27,090 Also alles ordnet, um es. 1311 00:56:27,090 --> 00:56:28,680 1312 00:56:28,680 --> 00:56:29,740 >> So haben wir ASCII math. 1313 00:56:29,740 --> 00:56:31,080 1314 00:56:31,080 --> 00:56:34,290 Pro tip-- in Vigenere ist, Sie versucht sein könnten 1315 00:56:34,290 --> 00:56:39,480 um Ihre Zahlen auf ganze Zahlen zu konvertieren, aber es ist tatsächlich besser Praxis 1316 00:56:39,480 --> 00:56:43,860 Um das zu nutzen Zeichen wie diese 1317 00:56:43,860 --> 00:56:45,820 wenn Sie tatsächlich manipulieren. 1318 00:56:45,820 --> 00:56:48,950 Also, wenn Sie Zahlen verwenden möchten, können Sie. 1319 00:56:48,950 --> 00:56:55,260 Aber einen besseren Weg, oder eine Möglichkeit, dass neigen wir dazu, wie euch, es zu tun, 1320 00:56:55,260 --> 00:56:57,830 ist auf diese Weise, wo du bist tatsächlich Subtrahieren Zeichen. 1321 00:56:57,830 --> 00:56:58,840 1322 00:56:58,840 --> 00:57:02,830 >> Deshalb möchte ich euch zu Art heraus diese heraus. 1323 00:57:02,830 --> 00:57:05,070 Warum gehst du nicht jedes andere ausprobieren? 1324 00:57:05,070 --> 00:57:07,580 1325 00:57:07,580 --> 00:57:09,830 So kommen die ersten, die dritte und das fünfte. 1326 00:57:09,830 --> 00:57:11,160 1327 00:57:11,160 --> 00:57:15,000 Weil ich will, um sicherzustellen, dass wir miteinander reden alles, was wir brauchen, um darüber zu sprechen. 1328 00:57:15,000 --> 00:57:17,410 1329 00:57:17,410 --> 00:57:20,259 Ich werde einfach sagen, einer der wichtige Dinge zu-- oh warte, 1330 00:57:20,259 --> 00:57:21,550 Sie Jungs haben nicht dieses gesehen. 1331 00:57:21,550 --> 00:57:23,710 OK, so tun die ersten drei. 1332 00:57:23,710 --> 00:57:24,430 Lassen Sie uns das tun. 1333 00:57:24,430 --> 00:57:25,971 Da müssen wir über Modulo sprechen. 1334 00:57:25,971 --> 00:57:27,810 1335 00:57:27,810 --> 00:57:28,310 Ich weiß. 1336 00:57:28,310 --> 00:57:28,851 Mathe ist hart. 1337 00:57:28,851 --> 00:57:29,870 1338 00:57:29,870 --> 00:57:30,980 Sie können einen Taschenrechner verwenden. 1339 00:57:30,980 --> 00:57:31,580 Es ist in Ordnung. 1340 00:57:31,580 --> 00:57:37,464 1341 00:57:37,464 --> 00:57:40,380 Oder ziehen Sie eine ASCII-Tabelle, weil du bist wahrscheinlich zu wollen. 1342 00:57:40,380 --> 00:58:03,660 1343 00:58:03,660 --> 00:58:04,820 >> Cool. 1344 00:58:04,820 --> 00:58:07,960 Also werde ich schnell zu Fuß euch durch diese. 1345 00:58:07,960 --> 00:58:11,120 So können die Leute haben ASCII-Tabellen zog? 1346 00:58:11,120 --> 00:58:15,645 Was ist unser Zahlen Nummer für Klein A? 1347 00:58:15,645 --> 00:58:16,270 STUDENT: Sieben. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> ALLISON: Also Klein A 97 und Großbuchstaben A ist 65. 1350 00:58:24,550 --> 00:58:26,390 Also 97 minus 65? 1351 00:58:26,390 --> 00:58:27,782 1352 00:58:27,782 --> 00:58:28,570 >> PUBLIKUM: 32? 1353 00:58:28,570 --> 00:58:33,260 1354 00:58:33,260 --> 00:58:35,630 >> ALLISON: 62, ja. 1355 00:58:35,630 --> 00:58:38,675 Also in diesem Fall, was würde es ausdrucken? 1356 00:58:38,675 --> 00:58:40,360 Das erste? 1357 00:58:40,360 --> 00:58:43,830 Wenn wir Prozent d, was würde das zeigen? 1358 00:58:43,830 --> 00:58:45,980 1359 00:58:45,980 --> 00:58:46,730 STUDENT: Eine Zahl. 1360 00:58:46,730 --> 00:58:48,604 ALLISON: Wir Drucken aus einer tatsächlichen Zahl. 1361 00:58:48,604 --> 00:58:50,770 Also sind wir eigentlich los hier ausdrucken 32. 1362 00:58:50,770 --> 00:58:56,360 Und wenn dies Prozent c, 32 würde uns einen Raum. 1363 00:58:56,360 --> 00:58:57,700 1364 00:58:57,700 --> 00:59:01,670 Also das Verständnis, dass Zeichen gedruckt werden können 1365 00:59:01,670 --> 00:59:06,140 sowohl als Zahlen als auch die tatsächlichen Zeichen 1366 00:59:06,140 --> 00:59:11,080 wirklich wichtig ist, und die Zahlung Aufmerksamkeit auf die tatsächlichen Typen 1367 00:59:11,080 --> 00:59:12,040 dass wir hier tun. 1368 00:59:12,040 --> 00:59:14,520 1369 00:59:14,520 --> 00:59:15,020 Cool. 1370 00:59:15,020 --> 00:59:18,862 So wird für jeden anderen von diesen, Was werden wir werden den Druck? 1371 00:59:18,862 --> 00:59:19,825 >> STUDENT: Ein Charakter. 1372 00:59:19,825 --> 00:59:20,830 >> ALLISON: Ein Charakter. 1373 00:59:20,830 --> 00:59:21,330 Cool. 1374 00:59:21,330 --> 00:59:24,260 Also, wenn Sie Jungs wollen, Sie wissen, können diese auf eigene Faust herauszufinden. 1375 00:59:24,260 --> 00:59:25,900 Wenn Sie Probleme haben, mailen Sie mir. 1376 00:59:25,900 --> 00:59:28,950 Aber der zweite wird drucken Sie eine Klein b. 1377 00:59:28,950 --> 00:59:32,910 Der dritte wird ausdrucken ein Groß B. Die vierte wird gedruckt 1378 00:59:32,910 --> 00:59:36,410 aus einem Groß C und die letzte wird ein Klein A. sein 1379 00:59:36,410 --> 00:59:42,530 Und das letzte one-- wir eigentlich los in das, was diesem verrückten Prozent bekommen 1380 00:59:42,530 --> 00:59:45,020 Zeichen bedeutet, auch in ein paar Dias. 1381 00:59:45,020 --> 00:59:46,667 Also versuchen Sie, die auf eigene Faust. 1382 00:59:46,667 --> 00:59:48,500 Wenn Sie Schwierigkeiten haben, kommen Sie bitte mit mir reden. 1383 00:59:48,500 --> 00:59:49,655 1384 00:59:49,655 --> 00:59:53,290 Wenn Sie in Adams D Halle sind in der Regel, Sie werden wahrscheinlich feststellen, mich um. 1385 00:59:53,290 --> 00:59:54,760 1386 00:59:54,760 --> 00:59:55,760 >> Also, Atoi. 1387 00:59:55,760 --> 00:59:59,660 Wie viele von Ihnen haben gesehen Funktion oder davon gehört überhaupt? 1388 00:59:59,660 --> 01:00:00,380 1389 01:00:00,380 --> 01:00:00,880 Anyone? 1390 01:00:00,880 --> 01:00:02,100 1391 01:00:02,100 --> 01:00:02,600 Cool. 1392 01:00:02,600 --> 01:00:06,250 Also, was es eigentlich steht für ASCII nach integer. 1393 01:00:06,250 --> 01:00:13,150 Also, was Sie tun können, ist, mit Caesar, für diejenigen, die Spezifikation zu lesen, 1394 01:00:13,150 --> 01:00:16,460 Sie gehen zu dot slash Caesar erleben Nachdem Sie Ihr Programm schreiben, 1395 01:00:16,460 --> 01:00:18,690 und dann bist du zu gehen Eingangs irgendeine Zahl, die Sie 1396 01:00:18,690 --> 01:00:24,780 möchten Ihre geheime Nachricht mit codieren. 1397 01:00:24,780 --> 01:00:30,700 >> Aber, wenn wir uns daran erinnern, alle unsere Eingänge werden als Strings gespeichert. 1398 01:00:30,700 --> 01:00:31,390 Richtig? 1399 01:00:31,390 --> 01:00:35,160 Wir haben eine arg v Array das ist alles, Typ string. 1400 01:00:35,160 --> 01:00:37,870 Also, wenn Sie nur versuchen, ziehen, dass man, wäre es 1401 01:00:37,870 --> 01:00:43,240 denken, dass, dass eine oder was auch immer Nummer Sie verwendet ist eigentlich ein Charakter. 1402 01:00:43,240 --> 01:00:45,490 So wirst du bekommen einige verrückte Ergebnisse. 1403 01:00:45,490 --> 01:00:48,200 Also, wenn Sie wirklich wollen, schalten Sie diese in eine Ganzzahl 1404 01:00:48,200 --> 01:00:52,060 die Sie verwenden können, um zu manipulieren Ihr Wort oder Ihre Nachricht, 1405 01:00:52,060 --> 01:00:53,366 Du wirst zu Atoi verwenden möchten. 1406 01:00:53,366 --> 01:00:56,320 Atoi gerade wandelt Ihren String in einen int. 1407 01:00:56,320 --> 01:01:04,530 >> Wenn wir also eine Reihe von 12, wenn wir rufen Atoi auf 12 oder was auch immer das eingespeist wird, 1408 01:01:04,530 --> 01:01:07,370 es wird tatsächlich zurückkehren um Ihnen die ganze Zahl. 1409 01:01:07,370 --> 01:01:10,610 Nicht den Charakter oder die Zeichenfolge 12. 1410 01:01:10,610 --> 01:01:14,230 Welche, wenn Sie beginnen zu den Zahlen zu addieren, 1411 01:01:14,230 --> 01:01:17,710 sehr unterschiedlich sein können, da die Zeichenfolge 12 1412 01:01:17,710 --> 01:01:21,210 einige verrückte Zahl in ASCII, sondern die ganze Zahl 12 1413 01:01:21,210 --> 01:01:23,390 ist eigentlich 12, das ist, was Sie wollen. 1414 01:01:23,390 --> 01:01:25,630 So können Sie sicherstellen, dass auf Atoi verwenden möchten. 1415 01:01:25,630 --> 01:01:29,203 >> Du wirst diese wollen Cäsar, weil Sie 1416 01:01:29,203 --> 01:01:32,520 müssen die durch die mitgelieferte int Benutzer in der Befehlszeile. 1417 01:01:32,520 --> 01:01:35,230 Aber wenn sie es in der Befehls Linie, ist es als String gespeichert 1418 01:01:35,230 --> 01:01:35,813 zu beginnen. 1419 01:01:35,813 --> 01:01:36,950 1420 01:01:36,950 --> 01:01:38,210 Ist das sinnvoll? 1421 01:01:38,210 --> 01:01:40,590 Sie müssen nicht unbedingt müssen diese für Vigenere. 1422 01:01:40,590 --> 01:01:43,180 Mit Vigenere, wie gesagt vor, sollten Sie versuchen, mit 1423 01:01:43,180 --> 01:01:46,600 ASCII Mathematik, die mehr wie sieht dies, wo man tatsächlich sind 1424 01:01:46,600 --> 01:01:49,320 mit den Zeichen, die wir euch gegeben. 1425 01:01:49,320 --> 01:01:50,970 1426 01:01:50,970 --> 01:01:51,470 Cool. 1427 01:01:51,470 --> 01:01:52,970 1428 01:01:52,970 --> 01:01:54,170 Jeder gute da? 1429 01:01:54,170 --> 01:01:56,530 1430 01:01:56,530 --> 01:01:57,480 Genial. 1431 01:01:57,480 --> 01:01:59,030 >> So Modulo. 1432 01:01:59,030 --> 01:02:01,950 So was, wenn Sie gegeben sind Diese riesige Zahl für Caesar? 1433 01:02:01,950 --> 01:02:03,720 1434 01:02:03,720 --> 01:02:07,970 Sie haben die Idee, dass wenn Sie bei Z und du bist 1435 01:02:07,970 --> 01:02:11,020 gegeben eine Nummer zwei, das bedeutet, Sie need-- 1436 01:02:11,020 --> 01:02:15,130 Z wird die zweite Brief nach sich, nicht wahr? 1437 01:02:15,130 --> 01:02:20,800 Sie müssen also irgendwie umschlingen, und Modulo ist der Weg, das zu tun. 1438 01:02:20,800 --> 01:02:23,310 Also alles was man tut, ist es gibt Ihnen den Rest 1439 01:02:23,310 --> 01:02:25,660 der Teilung der erste Zahl durch die zweite. 1440 01:02:25,660 --> 01:02:28,660 Und wir haben ein paar Beispiele zu machen, dass ein wenig konkreter. 1441 01:02:28,660 --> 01:02:34,390 Aber im Grunde, Modulo, wenn Sie Sie wollen etwas Wrap-around zu machen. 1442 01:02:34,390 --> 01:02:36,950 >> Also, wenn Sie nur wollen, dass die Zahlen eins bis acht, 1443 01:02:36,950 --> 01:02:39,670 Sie können Modulo auf jedem anderen verwenden Nummer, und es wird immer 1444 01:02:39,670 --> 01:02:42,960 geben eine Zahl von Null bis acht. 1445 01:02:42,960 --> 01:02:48,750 So einige examples-- wenn Wir haben 55 Modulo 10, 1446 01:02:48,750 --> 01:02:55,350 es gibt dir nur den Rest 55 geteilt durch 10, die 5 wäre. 1447 01:02:55,350 --> 01:02:56,440 1448 01:02:56,440 --> 01:03:02,470 Und dann drei Modulo fünf, jemand erraten, was das wäre? 1449 01:03:02,470 --> 01:03:03,800 1450 01:03:03,800 --> 01:03:04,300 Drei. 1451 01:03:04,300 --> 01:03:05,570 1452 01:03:05,570 --> 01:03:10,910 >> Also, wenn Sie eine kleinere Zahl vor haben Modulo, kann es nicht weitergehen in gleichmäßig. 1453 01:03:10,910 --> 01:03:11,520 Es ist null. 1454 01:03:11,520 --> 01:03:14,090 So ist es nur gibt die Zahl selbst. 1455 01:03:14,090 --> 01:03:15,920 Also acht Modulo acht wäre? 1456 01:03:15,920 --> 01:03:16,603 >> STUDENT: Zero. 1457 01:03:16,603 --> 01:03:18,350 >> ALLISON: Zero. 1458 01:03:18,350 --> 01:03:20,160 Weil es in gleichmäßig geht. 1459 01:03:20,160 --> 01:03:22,095 16 modulo 15? 1460 01:03:22,095 --> 01:03:23,660 >> PUBLIKUM: One. 1461 01:03:23,660 --> 01:03:24,700 >> ALLISON: Kühle. 1462 01:03:24,700 --> 01:03:29,280 Und dann dieses letzte, nur um es zeigen Sie-- werden Sie vielleicht fragen, OK, 1463 01:03:29,280 --> 01:03:31,800 was ist die Reihenfolge der Operationen hier? 1464 01:03:31,800 --> 01:03:33,100 Wollen wir teilen zuerst? 1465 01:03:33,100 --> 01:03:34,570 Wollen wir Modulo zuerst? 1466 01:03:34,570 --> 01:03:38,730 So Modulo hält die gleiche Priorität als Division oder Multiplikation, 1467 01:03:38,730 --> 01:03:39,940 und seine linke assoziativ. 1468 01:03:39,940 --> 01:03:41,730 So ist es in der gleichen Weise. 1469 01:03:41,730 --> 01:03:46,520 Sie würden immer tun Klammern, dann Multiplikation, Division, 1470 01:03:46,520 --> 01:03:49,570 und Modulo in der Reihenfolge von links nach rechts. 1471 01:03:49,570 --> 01:03:51,050 So Standardregeln. 1472 01:03:51,050 --> 01:03:55,260 Nur ihn in der gleichen Kategorie als Division und Multiplikation. 1473 01:03:55,260 --> 01:03:59,040 >> Also in diesem Fall, würden wir haben 1 plus 2 gibt uns 3. 1474 01:03:59,040 --> 01:04:02,210 Wir multiplizieren Sie diese mit 2, so erhalten wir 6. 1475 01:04:02,210 --> 01:04:05,050 Wir Modulo, dass durch 2, die uns? 1476 01:04:05,050 --> 01:04:06,042 >> STUDENT: 0. 1477 01:04:06,042 --> 01:04:07,430 >> ALLISON: 0. 1478 01:04:07,430 --> 01:04:10,270 Und dann fügen wir zwei, so dass wir erhalten 2 in diesem letzten Fall. 1479 01:04:10,270 --> 01:04:12,080 1480 01:04:12,080 --> 01:04:16,360 So modulo-- Sie definitiv zu werden über die Möglichkeiten, übernehmen das Denken 1481 01:04:16,360 --> 01:04:19,520 dass, wenn Sie Verpackung sind um das Alphabet. 1482 01:04:19,520 --> 01:04:24,210 Wenn Sie sich auf Z und Sie verschieben müssen auf drei Bereiche, um C zu erhalten, 1483 01:04:24,210 --> 01:04:26,230 es ist das ganze Konzept von Umwickeln. 1484 01:04:26,230 --> 01:04:28,790 Also werde ich es verlassen euch, um herauszufinden, 1485 01:04:28,790 --> 01:04:31,940 wie genau wirst du es zu benutzen. 1486 01:04:31,940 --> 01:04:35,660 Aber auf jeden Fall ein nützliches Werkzeug für Ihre pset dieser Woche. 1487 01:04:35,660 --> 01:04:36,910 1488 01:04:36,910 --> 01:04:37,730 Ich mag das. 1489 01:04:37,730 --> 01:04:39,480 Dies ist einer meiner Lieblings-psets. 1490 01:04:39,480 --> 01:04:41,230 Dann, nachdem Sie es zu tun, Wenn Sie Freunde haben, 1491 01:04:41,230 --> 01:04:44,146 Sie können, wie, senden einander Geheimnis Meldungen und sicherzustellen, dass es funktioniert. 1492 01:04:44,146 --> 01:04:45,695 Weil es werde es oder was auch immer zu entschlüsseln. 1493 01:04:45,695 --> 01:04:46,710 1494 01:04:46,710 --> 01:04:47,390 Viel Spaß. 1495 01:04:47,390 --> 01:04:48,840 1496 01:04:48,840 --> 01:04:51,220 >> Und das ist das Ende des Abschnitts. 1497 01:04:51,220 --> 01:04:52,430 1498 01:04:52,430 --> 01:04:54,040 Ich beendete früh. 1499 01:04:54,040 --> 01:04:57,540 Ich habe noch 15 Minuten lang mit euch, also, wenn es etwas gibt, 1500 01:04:57,540 --> 01:05:02,180 dass Sie möchten, gehen Sie über weiter, würde ich gerne, das zu tun. 1501 01:05:02,180 --> 01:05:04,340 Alle anderen Fragen auf Ihre pset für die von Ihnen 1502 01:05:04,340 --> 01:05:06,355 die begonnen haben oder lesen Sie die spec. 1503 01:05:06,355 --> 01:05:07,870 1504 01:05:07,870 --> 01:05:12,060 Alles, was wir gesprochen haben etwa in der letzten Stunde 1505 01:05:12,060 --> 01:05:16,880 und 15 Minuten, dass Sie mich mögen würde zu Art Neuauflage, würde ich glücklich sein. 1506 01:05:16,880 --> 01:05:20,790 Oder wir können nennen es beendet, und Sie können alle verlassen und mehr Süßigkeiten mit Ihnen 1507 01:05:20,790 --> 01:05:21,650 wie Sie gehen. 1508 01:05:21,650 --> 01:05:23,719 1509 01:05:23,719 --> 01:05:26,260 Aber wenn es irgendwelche verweilenden Fragen, lass es mich wissen. 1510 01:05:26,260 --> 01:05:28,467 Sie können auch kommen und sprechen Sie mit mir danach. 1511 01:05:28,467 --> 01:05:29,425 Ich verspreche, ich beiße nicht. 1512 01:05:29,425 --> 01:05:32,140 1513 01:05:32,140 --> 01:05:32,795 Noch etwas? 1514 01:05:32,795 --> 01:05:33,890 1515 01:05:33,890 --> 01:05:35,240 Jeder ist gut? 1516 01:05:35,240 --> 01:05:37,540 Gefühl Jeder wie sie können diesen pset umgehen? 1517 01:05:37,540 --> 01:05:38,820 1518 01:05:38,820 --> 01:05:42,405 Du wirst feine Jungs. 1519 01:05:42,405 --> 01:05:43,905 Öffnungszeiten gibt es für einen Grund. 1520 01:05:43,905 --> 01:05:45,930 1521 01:05:45,930 --> 01:05:46,460 Cool. 1522 01:05:46,460 --> 01:05:47,020 In Ordnung. 1523 01:05:47,020 --> 01:05:49,680 >> Nun, in diesem Fall, ich danke Sie alle so viel für Ihr Kommen. 1524 01:05:49,680 --> 01:05:50,940 Ich hoffe, Sie nächste Woche sehen. 1525 01:05:50,940 --> 01:05:52,120 Es wird mehr Süßigkeiten sein. 1526 01:05:52,120 --> 01:05:53,495 Es könnte andere coole Dinge. 1527 01:05:53,495 --> 01:05:55,010 1528 01:05:55,010 --> 01:05:59,090 Und ich freue mich darauf, Ihnen allen in diesem Jahr wissen. 1529 01:05:59,090 --> 01:06:00,320