1 00:00:00,000 --> 00:00:03,290 >> [Musikwiedergabe] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 JASON HIRSCHHORN: OK, jeder. 4 00:00:06,280 --> 00:00:07,460 Willkommen in Abschnitt. 5 00:00:07,460 --> 00:00:10,840 Dies ist CS50, unser erste Super-Sektion. 6 00:00:10,840 --> 00:00:13,700 Wie Sie alle, nächste Woche wissen, regelmäßige Abschnitte beginnen, 7 00:00:13,700 --> 00:00:15,580 aber diese Woche sind wir alle zusammen. 8 00:00:15,580 --> 00:00:17,730 >> Es gibt mir. 9 00:00:17,730 --> 00:00:18,840 Mein Name ist Jason. 10 00:00:18,840 --> 00:00:20,630 Ich bin Dozent für Informatik. 11 00:00:20,630 --> 00:00:23,910 Wir haben Andi, der Leiter der TA CS50 ist. 12 00:00:23,910 --> 00:00:27,630 Und Scaz, Professor Brian Scassellati, er ist ein Professor in Computer Science. 13 00:00:27,630 --> 00:00:30,970 >> Wir sind die CS50 Köpfe an der Yale. 14 00:00:30,970 --> 00:00:34,992 Sie können jederzeit eine E-Mail uns heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Wir werden bei Vorträgen zu sein. 16 00:00:35,950 --> 00:00:37,547 Wir werden im Büro Stunden. 17 00:00:37,547 --> 00:00:40,130 Wenn es überhaupt alles, was wir können für Sie tun, was Sie brauchen, 18 00:00:40,130 --> 00:00:42,610 fühlen sich frei, erreichen heraus zu uns. 19 00:00:42,610 --> 00:00:44,140 >> Also, was sollen wir heute tun? 20 00:00:44,140 --> 00:00:47,790 Oder davor, was ist kommen in dieser Woche? 21 00:00:47,790 --> 00:00:52,620 So Bürozeiten sind Montag, Dienstag, Mittwoch und Donnerstag, von 8.00 bis 11.00 Uhr. 22 00:00:52,620 --> 00:00:54,770 Es gibt einen Zeitplan auf der Website. 23 00:00:54,770 --> 00:00:57,830 >> Abschnitte, wie ich bereits erwähnt, werden ab nächster Woche. 24 00:00:57,830 --> 00:01:01,390 Und finden Sie heraus, was in dieser Woche Zeit, die Ihr Abschnitt ist, welcher Tag es ist, 25 00:01:01,390 --> 00:01:03,350 und wer Ihre TA ist. 26 00:01:03,350 --> 00:01:08,610 >> Problem Set 1 ist am Donnerstag fällig Mittag, Freitag Mittag mit einem späten Tag. 27 00:01:08,610 --> 00:01:10,817 Ja, Sie haben neun Tage zu spät. 28 00:01:10,817 --> 00:01:12,150 Und es gibt neun Problem Sets. 29 00:01:12,150 --> 00:01:14,320 Und kann nur ein späten Tag pro Problem Set. 30 00:01:14,320 --> 00:01:17,930 Ja in der Tat, alle Probleme Sets sind aufgrund Freitag Mittag. 31 00:01:17,930 --> 00:01:18,550 Das ist alles. 32 00:01:18,550 --> 00:01:20,400 Alle, die Details sind auf dem Lehrplan. 33 00:01:20,400 --> 00:01:22,360 >> Jeden Freitag gibt es Mittagessen. 34 00:01:22,360 --> 00:01:25,230 Wir mögen dieses große zu machen Natürlich fühlen sich ein bisschen kleiner. 35 00:01:25,230 --> 00:01:26,580 So sind Sie herzlich eingeladen, RSVP. 36 00:01:26,580 --> 00:01:30,050 Kostenloses Mittagessen mit anderen Mitschüler und Mitarbeiter. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> All diese Dinge, Ich habe auf dem Bildschirm, 39 00:01:36,940 --> 00:01:43,330 und vieles mehr, finden Sie cs50.yale.edu oder cs50.harvard.edu, wenn Sie nach Harvard gehen 40 00:01:43,330 --> 00:01:46,800 und betrachten diese online. 41 00:01:46,800 --> 00:01:50,240 >> Auch auf diesen Websites gibt gibt eine Tonne von Ressourcen für Sie. 42 00:01:50,240 --> 00:01:54,610 Jeder Vortrag hat nicht nur die Video- der Vorlesung, sondern auch stellt. 43 00:01:54,610 --> 00:01:58,184 Jemand wird beobachten Sie die Vorlesungen und Notizen für Sie. 44 00:01:58,184 --> 00:02:00,100 So dass Sie nur bezahlen kann Aufmerksamkeit während der Vorträge, 45 00:02:00,100 --> 00:02:03,970 oder Sie ihre Notizen verwenden können / unserer stellt fest, eigene Notizen ergänzen. 46 00:02:03,970 --> 00:02:04,987 >> Es gibt Rutschen online. 47 00:02:04,987 --> 00:02:07,320 Die Quelle code-- alles David geht über in Vortrag, 48 00:02:07,320 --> 00:02:09,979 oder Scaz übergeht Vortrag, dass Quellcode ist online verfügbar 49 00:02:09,979 --> 00:02:11,750 als auch, wie, wie ich erwähnt, Videos. 50 00:02:11,750 --> 00:02:14,257 >> Abschnitte, ebenfalls werden alle gefilmt werden. 51 00:02:14,257 --> 00:02:15,840 Alle diese Folien zur Verfügung stehen. 52 00:02:15,840 --> 00:02:18,190 All dieser Code wird für Sie zur Verfügung. 53 00:02:18,190 --> 00:02:22,440 Es gibt Kurzschlüsse auf der Website, wo CS50 Mitarbeiter verbringen fünf bis 10 54 00:02:22,440 --> 00:02:24,130 Minuten gehen durch Themen für Sie. 55 00:02:24,130 --> 00:02:26,750 Einige von denen, die Sie bereits haben in Problemstellungen begegnet. 56 00:02:26,750 --> 00:02:30,430 >> Bürozeiten, wie ich bereits erwähnt, montags bis Donnerstag, 8.00 Uhr bis 11.00 Uhr. 57 00:02:30,430 --> 00:02:32,600 CS50-Studie ist eine fantastische Ressource. 58 00:02:32,600 --> 00:02:37,100 Es gibt Probleme der Praxis, Musterfolien, bekannte Fehler 59 00:02:37,100 --> 00:02:40,920 dass die Schüler gerne über den Weg laufen, für im Wesentlichen jedes Thema, das wir 60 00:02:40,920 --> 00:02:42,650 wird in diesem Kurs zu decken. 61 00:02:42,650 --> 00:02:46,350 >> Und schließlich auf dieser Folie wenigstens Reference50 62 00:02:46,350 --> 00:02:49,690 die Ihnen Informationen auf allen C Funktionen 63 00:02:49,690 --> 00:02:53,160 Sie jemals hoffen konnte, möglicherweise zu bedienen und viele, viele mehr. 64 00:02:53,160 --> 00:02:55,690 >> Wieder, die dot dot dot an die Unterseite des Bildschirms 65 00:02:55,690 --> 00:02:59,990 soll andeuten, dass es auch mehr Ressourcen auf diesen beiden Websites: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Also, was machen wir heute? 68 00:03:05,840 --> 00:03:08,970 Nun, zunächst einmal, ich werde geben, man sich die Ressourcen. 69 00:03:08,970 --> 00:03:10,010 Schon getan, dass man. 70 00:03:10,010 --> 00:03:11,590 Schau uns an. 71 00:03:11,590 --> 00:03:16,430 >> Nun, wir gehen über Datentypen und Operatoren in C. 72 00:03:16,430 --> 00:03:19,990 Dann Andi wird bis hierher zu kommen und gehen Sie über Bibliotheken in C, printf (), 73 00:03:19,990 --> 00:03:24,570 eine Funktion, mit der Sie sich bereits vertraut sind oder werden schnell sehr zu 74 00:03:24,570 --> 00:03:25,530 vertraut. 75 00:03:25,530 --> 00:03:27,810 Und Sie werden auch übergehen Bedingungen und Schleifen. 76 00:03:27,810 --> 00:03:30,900 >> Und dann schließlich Scaz wird über den CS50-ID zu gehen. 77 00:03:30,900 --> 00:03:34,250 Wenn Sie noch nicht in tauben bereits Problem Set 1, 78 00:03:34,250 --> 00:03:37,060 als auch, wie auf die Verwendung Terminal und nützliche Befehle 79 00:03:37,060 --> 00:03:42,280 und dann geben wir Ihnen einige Demos und Praxis-Codierung in der CS50-ID. 80 00:03:42,280 --> 00:03:45,130 >> Bevor ich zu springen, um diese Inhalt dieser Seite, 81 00:03:45,130 --> 00:03:46,770 weiß jemand irgendwelche Fragen haben so weit? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Groß. 84 00:03:54,030 --> 00:03:54,950 OK. 85 00:03:54,950 --> 00:03:55,810 Gangwechsel. 86 00:03:55,810 --> 00:03:58,760 >> [Gangwechsel] 87 00:03:58,760 --> 00:04:03,070 >> Das war ich Verlagerung Getriebe in einem manuellen Wagen. 88 00:04:03,070 --> 00:04:10,920 So Datentypen in C, die Sie nicht nur kann eine Variable x und haben es auf der Leitung 10, 89 00:04:10,920 --> 00:04:17,170 eine ganze Zahl, vielleicht die Zahl 1, auf der Leitung 20 eine Dezimalzahl 10,5, 90 00:04:17,170 --> 00:04:20,500 und dann ein paar Zeilen später ein String, ich liebe CS50. 91 00:04:20,500 --> 00:04:25,052 >> In C können Variablen nur sein eine Sache, und nur eine Sache. 92 00:04:25,052 --> 00:04:26,510 Und so müssen Sie diese Typen zu geben. 93 00:04:26,510 --> 00:04:28,780 Und auf diesem Board, wir haben eine Liste von Typen. 94 00:04:28,780 --> 00:04:32,000 Es gibt Zeichen, die stehen für Zeichen. 95 00:04:32,000 --> 00:04:36,850 Also das ist ein Buchstabe A, B, C, D. Das kann auch ein Raum sein, 96 00:04:36,850 --> 00:04:40,290 oder dass auch eine neue Zeile. 97 00:04:40,290 --> 00:04:45,030 >> Es gibt Zahlen, die sind einfach Zahlen, ganze numbers-- oder ganze Zahlen 98 00:04:45,030 --> 00:04:47,130 rather-- aber keine Dezimalstellen. 99 00:04:47,130 --> 00:04:49,790 >> Für Dezimalzahlen, haben wir Fließkommazahlen. 100 00:04:49,790 --> 00:04:53,200 Fließkommazahlen sind Zahlen mit Dezimalstellen. 101 00:04:53,200 --> 00:04:58,160 >> Dann gibt es sehnt sich, das sind wesentlich mehr Zahlen. 102 00:04:58,160 --> 00:05:01,160 Sie finden, dass eine lange merken 8 während ein int ist 4. 103 00:05:01,160 --> 00:05:02,640 Ich werde, dass in einem zweiten zu bekommen. 104 00:05:02,640 --> 00:05:07,390 Das liegt daran, sehnt sich sogar speichern mehr Zahlen als ein int speichern kann. 105 00:05:07,390 --> 00:05:10,100 Doppel ist eine lange float. 106 00:05:10,100 --> 00:05:12,460 >> Und schließlich haben wir Schnur, die ein Typ ist 107 00:05:12,460 --> 00:05:14,430 dass Sie wahrscheinlich bereits verwendet haben. 108 00:05:14,430 --> 00:05:21,100 Wenn Sie hashtag schließen # includeCS50.h in der Quelldatei, 109 00:05:21,100 --> 00:05:23,170 dann können Sie einen String-Typ zu verwenden. 110 00:05:23,170 --> 00:05:25,560 Es ist nicht wirklich in C. gebaut 111 00:05:25,560 --> 00:05:27,760 >> Es gibt ein paar andere auch. 112 00:05:27,760 --> 00:05:32,900 Aber das sind die wichtigsten davon mit die Sie verwenden, und der Begegnung. 113 00:05:32,900 --> 00:05:36,210 C wie, wieder habe ich erwähnt, jedes'variable es 114 00:05:36,210 --> 00:05:38,620 können nur eine Art und nur ein Typ sein. 115 00:05:38,620 --> 00:05:42,890 Das ist, weil C ist ein statisch typisierte Sprache, im Gegensatz 116 00:05:42,890 --> 00:05:45,780 dynamisch typisierten Sprachen wo, wenn Sie eine Variable erstellen 117 00:05:45,780 --> 00:05:50,081 Sie ändern können, was in gespeichert es wie Sie gehen in Ihrem Programm. 118 00:05:50,081 --> 00:05:52,580 Bei uns auf der rechten Seite, ich habe verschiedene Größen 119 00:05:52,580 --> 00:05:57,440 diese Arten von Daten in Bytes. 120 00:05:57,440 --> 00:05:59,710 So ein Charakter 1 Byte. 121 00:05:59,710 --> 00:06:01,250 Das ist 8 Bit. 122 00:06:01,250 --> 00:06:05,530 Und das bedeutet, da 8 Bits gibt es acht 0 und 1. 123 00:06:05,530 --> 00:06:08,280 Wir sahen diese Demos in der ersten Woche mit, dass binäre Glühbirnen. 124 00:06:08,280 --> 00:06:15,680 >> Mit 8 Bit oder 1 Byte, können wir Zahlen darstellen, die von 0 bis 255. 125 00:06:15,680 --> 00:06:16,180 Recht. 126 00:06:16,180 --> 00:06:18,770 Wenn alle 8 Bits 0 sind, die 0 ist. 127 00:06:18,770 --> 00:06:23,640 Wenn das erste Bit 1 ist, ist, dass die Zahl ein, und so weiter, bis hinauf zu 255. 128 00:06:23,640 --> 00:06:28,290 Und deshalb für Zeichen möglich im wesentlichen bis zu 255 von ihnen, 129 00:06:28,290 --> 00:06:31,210 aber das ist genug, um alle zu decken die Charaktere, die wir brauchen, um zu verwenden. 130 00:06:31,210 --> 00:06:38,060 >> Für ganze Zahlen, können Sie 0 haben und dann haben Sie 2, um die 32 minus 1. 131 00:06:38,060 --> 00:06:40,340 Das sind, wie viele Optionen Sie haben für die ganzen Zahlen. 132 00:06:40,340 --> 00:06:44,780 >> Für eine lange, 0 Sie haben bis 2 auf die 64 minus 1. 133 00:06:44,780 --> 00:06:48,860 So haben Sie viele, viele, mehr Optionen für Long-Positionen. 134 00:06:48,860 --> 00:06:54,220 >> Streicher, das ist ein Fragezeichen denn das ist ein Cliffhanger für später. 135 00:06:54,220 --> 00:06:55,000 Ja. 136 00:06:55,000 --> 00:06:56,350 Ich könnte sagen, jeder ist am Rand des Sitzes, 137 00:06:56,350 --> 00:06:57,450 wie, was ist das Fragezeichen? 138 00:06:57,450 --> 00:06:58,390 Es ist ein Cliffhanger. 139 00:06:58,390 --> 00:07:02,340 Wir werden letztlich auch die Größe Streicher und reden mehr über Zeichenfolgen. 140 00:07:02,340 --> 00:07:04,692 Weil String ist eigentlich eines der Stützräder 141 00:07:04,692 --> 00:07:06,400 setzen wir auf in diesem Natürlich am Anfang 142 00:07:06,400 --> 00:07:09,700 und dann nehmen Sie später auf, weil Strings in C 143 00:07:09,700 --> 00:07:13,320 sind eigentlich Zeiger um Zeichen-Arrays. 144 00:07:13,320 --> 00:07:15,810 Aber noch einmal, das ist eine Cliffhanger für später. 145 00:07:15,810 --> 00:07:18,890 Bevor ich auf alle Fragen zu verschieben, Kommentare, Bedenken bezüglich dieser Folie? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> OK. 148 00:07:26,630 --> 00:07:30,330 Ich muss eine fantastische Erklärer sein. 149 00:07:30,330 --> 00:07:33,210 Auch wenn Sie die Programmierung, Sie gehen, um diese Operatoren verwenden. 150 00:07:33,210 --> 00:07:36,730 Wirklich einfache Zeichen, die einfach tun können, Operationen, mit denen Sie wahrscheinlich 151 00:07:36,730 --> 00:07:38,340 bereits sehr vertraut. 152 00:07:38,340 --> 00:07:42,580 >> Beispielsweise auf der rechten Seite sehen wir hinzufügen. 153 00:07:42,580 --> 00:07:44,640 So fügen Sie einfach ein Pluszeichen. 154 00:07:44,640 --> 00:07:46,850 Und so haben Sie vielleicht zwei Variablen x und y. 155 00:07:46,850 --> 00:07:48,810 Sie können x + y im Code zu tun. 156 00:07:48,810 --> 00:07:52,790 Vielleicht haben Sie zu-- Sie sagen wollen, haben die Zahl 7 und 3, 157 00:07:52,790 --> 00:07:55,780 Sie speichern möchten, dass in einer Variablen namens sum. 158 00:07:55,780 --> 00:08:03,010 Sie können int für die Art, Raum zu tun Summe, den Namen der Variablen, = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Was würde das Geschäft in Summe? 160 00:08:05,780 --> 00:08:07,190 Anyone? 161 00:08:07,190 --> 00:08:09,270 Wenn ich in der Summe = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Was würde in Summe gespeichert werden? 163 00:08:10,437 --> 00:08:11,520 Sie können einfach schreien Sie es heraus. 164 00:08:11,520 --> 00:08:12,120 ZIELGRUPPE: 10. 165 00:08:12,120 --> 00:08:12,995 >> JASON HIRSCHHORN: 10! 166 00:08:12,995 --> 00:08:14,870 Das ist genau richtig. 167 00:08:14,870 --> 00:08:19,520 Was ist in der Summe = 7-3, Ich genau das Bindestrich-Zeichen. 168 00:08:19,520 --> 00:08:20,871 Was wird gespeichert? 169 00:08:20,871 --> 00:08:21,370 ZIELGRUPPE: 4. 170 00:08:21,370 --> 00:08:22,203 JASON HIRSCHHORN: 4. 171 00:08:22,203 --> 00:08:25,770 Sum ist wahrscheinlich der falsche Name für dass variable, aber 4 würde gespeichert werden. 172 00:08:25,770 --> 00:08:31,890 >> Um in C vermehren, verwenden Sie den kleinen Sterne-Charakter, die Sie nicht verwenden eine x. 173 00:08:31,890 --> 00:08:35,990 Zu teilen, verwenden Sie ein Vorwärts Slash die Aufteilung Symbol. 174 00:08:35,990 --> 00:08:39,580 Und Modulo, verwenden Sie das Prozentzeichen. 175 00:08:39,580 --> 00:08:47,900 >> Also lassen Sie uns sagen, ich will sehen, int z = 7% 3, was wäre in z gespeichert werden? 176 00:08:47,900 --> 00:08:51,250 Also, das ist im Wesentlichen zu fragen, was hat Modulo tun? 177 00:08:51,250 --> 00:08:52,750 Weiß jemand, was Modulo tut? 178 00:08:52,750 --> 00:08:53,940 Ja. 179 00:08:53,940 --> 00:08:54,870 Y 4. 180 00:08:54,870 --> 00:08:56,120 Sprecher 1: Es ist der Rest. 181 00:08:56,120 --> 00:08:58,369 JASON HIRSCHHORN: Es ist das Rest, wenn Sie zu unterteilen. 182 00:08:58,369 --> 00:09:02,790 So 7 geteilt durch 3 2 1 Rest. 183 00:09:02,790 --> 00:09:04,690 So würde 1 gespeichert werden. 184 00:09:04,690 --> 00:09:06,970 >> Du hast Subtraktion, aber das ist, wie es funktioniert. 185 00:09:06,970 --> 00:09:09,140 Das ist, was der Modulo-Operator funktioniert. 186 00:09:09,140 --> 00:09:12,360 Es dauert eine Reihe teilt es durch eine andere Zahl und wieder zu Ihnen 187 00:09:12,360 --> 00:09:14,590 der Rest. 188 00:09:14,590 --> 00:09:19,770 Also noch einmal, 7% 3 haben Sie 1, weil 7 geteilt durch 3 2 Rest 1, 189 00:09:19,770 --> 00:09:21,650 und gibt den Rest. 190 00:09:21,650 --> 00:09:24,470 >> Was ist mit der Rückseite nach oben lassen einen Schritt, um die Teilung Zeichen. 191 00:09:24,470 --> 00:09:29,194 Wenn ich das täte 7 / geteilt durch 3 macht Weiß jemand, was das zurückkommen würde? 192 00:09:29,194 --> 00:09:30,090 >> Sprecher 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> JASON HIRSCHHORN: Warum 2 und nicht 2,333? 194 00:09:32,240 --> 00:09:34,560 >> Sprecher 2: Ich denke, es schneidet ab, nachdem die ganze Zahl. 195 00:09:34,560 --> 00:09:36,310 JASON HIRSCHHORN: So das ist genau das richtige. 196 00:09:36,310 --> 00:09:39,880 In C, wenn Sie Teilung zu tun zwei ganze Zahlen 7, geteilt durch 3, 197 00:09:39,880 --> 00:09:43,430 er die Antwort erhält die in diesem Fall 2,3333 für immer 198 00:09:43,430 --> 00:09:47,080 und er findet, dass Dezimalpunkt und hackt alles ab nach dem Komma 199 00:09:47,080 --> 00:09:49,240 und es ist nur kehrt 2. 200 00:09:49,240 --> 00:09:51,120 >> Also, wenn ich tat 8 geteilt durch 3. 201 00:09:51,120 --> 00:09:54,010 Dass tatsächlich, wir wissen, , dass die Rückkehr 2,666, 202 00:09:54,010 --> 00:09:57,050 aber es hackt alles Sie an das Dezimalsystem, schneidet sie alle, 203 00:09:57,050 --> 00:09:58,640 und gerade wieder zu Ihnen 2. 204 00:09:58,640 --> 00:10:02,090 So 6 geteilt durch 3, 7 unterteilt von 3, 8, geteilt durch 3, 205 00:10:02,090 --> 00:10:04,840 alle werden zu Ihnen 2 zurückzukehren. 206 00:10:04,840 --> 00:10:08,770 >> Weiß jemand, oder haben eine Vermutung, , wie ich konnte tatsächlich bekommen 207 00:10:08,770 --> 00:10:10,790 die vollständige Antwort, wenn ich will, dass decimal? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Ja. 210 00:10:13,620 --> 00:10:14,152 Gehen Sie geradeaus. 211 00:10:14,152 --> 00:10:15,110 SPEAKER 3: Verwenden Sie einen Schwimmer? 212 00:10:15,110 --> 00:10:16,942 JASON HIRSCHHORN: Was meinen Sie damit? 213 00:10:16,942 --> 00:10:19,786 SPEAKER 3: Weil Sie sagte der Schwimmer für Zahlen [unverständlich] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 JASON HIRSCHHORN: Richtig. 216 00:10:23,900 --> 00:10:26,100 Also, das ist genau das richtige. 217 00:10:26,100 --> 00:10:28,440 7 ist eine Ganzzahl. 218 00:10:28,440 --> 00:10:31,690 Aber, wenn ich wollte, dass drehen in eine Fließkommazahl, 219 00:10:31,690 --> 00:10:34,674 Ich müsste zu speichern, dass als 7,0, da der Computer 220 00:10:34,674 --> 00:10:37,090 wirklich stupid-- wir sahen, dass mit dem PB und J example-- 221 00:10:37,090 --> 00:10:38,930 es wird nur genau das tun, was Sie erzählen. 222 00:10:38,930 --> 00:10:40,846 >> Also, wenn Sie schreiben, 7, es denke, das ist eine ganze Zahl. 223 00:10:40,846 --> 00:10:43,640 Wenn Sie schreiben, 7.0, auch wenn wir wissen, die Dinge, gleichwertig sind, 224 00:10:43,640 --> 00:10:45,550 es behandelt, das wie ein Fließkommazahl. 225 00:10:45,550 --> 00:10:50,441 Also, wenn Sie tat 7,0 geteilt von 3 oder dividiert durch 3,0, 226 00:10:50,441 --> 00:10:52,440 es würde sagen, OK, jetzt wir sind mit Schwimmern zu tun haben. 227 00:10:52,440 --> 00:10:57,514 Ich werde Ihnen 2.333333 für immer zurück. 228 00:10:57,514 --> 00:10:59,930 Aber nicht wirklich für immer, weil wie wir im Vortrag sah auch, 229 00:10:59,930 --> 00:11:03,350 diese Gleitkommazahlen sind nicht gerade präzise. 230 00:11:03,350 --> 00:11:05,940 >> Also, wenn Sie wollen, dass Dezimal zu tun, oder ein Teil dieser dezimal, 231 00:11:05,940 --> 00:11:08,090 dann müssen Sie einen von ihnen use-- muss eine Fließkommazahl sein 232 00:11:08,090 --> 00:11:11,048 und der Computer muss verstehen dass dies eine Gleitkomma Sie 233 00:11:11,048 --> 00:11:13,350 Umgang mit nicht einer ganzen Zahl. 234 00:11:13,350 --> 00:11:16,760 Irgendwelche Fragen zu dieser Tabelle auf die rechte Seite, so weit? 235 00:11:16,760 --> 00:11:22,650 Oder der linken Seite, Ihrem links der linken Seite. 236 00:11:22,650 --> 00:11:23,264 Ja. 237 00:11:23,264 --> 00:11:23,972 SPEAKER 4: Richtig. 238 00:11:23,972 --> 00:11:26,216 Für wie eine normale ganzen Zahlen, würden Sie 239 00:11:26,216 --> 00:11:30,230 write-- müssten Sie schreiben, schwimmen? 240 00:11:30,230 --> 00:11:31,920 >> JASON HIRSCHHORN: Ja, so. 241 00:11:31,920 --> 00:11:34,400 Nun, wenn Sie erstellen möchten eine Variable, die ein Schwimmer ist, 242 00:11:34,400 --> 00:11:37,020 Sie müssen sagen, float z gleich etwas. 243 00:11:37,020 --> 00:11:37,640 >> SPEAKER 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> JASON HIRSCHHORN: Aber wenn ich wollte, tun 7 geteilt durch 3 und erhalten, dass dezimal, 245 00:11:41,950 --> 00:11:48,540 Ich würde float z = 7,0 / 3,0 zu tun; und das würde mir die Floating-Point geben 246 00:11:48,540 --> 00:11:49,273 Anzahl. 247 00:11:49,273 --> 00:11:50,000 >> SPEAKER 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> JASON HIRSCHHORN: Wenn ich das täte so etwas wie int z = 7 / um 3, 249 00:11:56,370 --> 00:12:00,856 dass würde mir eine ganze Zahl, denn das sind alle ganzen Zahlen. 250 00:12:00,856 --> 00:12:01,730 Ist das sinnvoll? 251 00:12:01,730 --> 00:12:02,320 >> SPEAKER 4: Ja. 252 00:12:02,320 --> 00:12:02,950 >> JASON HIRSCHHORN: OK. 253 00:12:02,950 --> 00:12:03,450 Groß. 254 00:12:03,450 --> 00:12:06,030 Alle anderen Fragen zu diesem Tisch? 255 00:12:06,030 --> 00:12:07,220 Wirklich? 256 00:12:07,220 --> 00:12:08,380 Ich bin so aufgeregt. 257 00:12:08,380 --> 00:12:09,120 OK. 258 00:12:09,120 --> 00:12:13,910 >> So einige andere Dinge, die Sie verwenden, oft in Bedingungen oder Schleifen, 259 00:12:13,910 --> 00:12:17,580 sind diese Arten von operators-- diese Arten von Booleschen Ausdrücken. 260 00:12:17,580 --> 00:12:23,140 Und wie wir gelernt haben, ist, was Sie == verwenden, um zu überprüfen, ob zwei Dinge gleich sind. 261 00:12:23,140 --> 00:12:28,170 >> Also hier bin ich überprüfen, ob x == y, lassen Sie uns wieder davon aus, dass x 7 und y 3 ist. 262 00:12:28,170 --> 00:12:33,220 Also, wenn ich schrieb, 7 == 3, was würde, dass zu mir zurück? 263 00:12:33,220 --> 00:12:34,220 Ist das richtig oder falsch? 264 00:12:34,220 --> 00:12:35,275 >> ZIELGRUPPE: False. 265 00:12:35,275 --> 00:12:36,150 JASON HIRSCHHORN: OK. 266 00:12:36,150 --> 00:12:37,370 Ich fühle mich wie jeder kann diese eine zu bekommen. 267 00:12:37,370 --> 00:12:39,054 So dass jeder, was wäre das zurück? 268 00:12:39,054 --> 00:12:39,720 ZIELGRUPPE: False. 269 00:12:39,720 --> 00:12:40,130 JASON HIRSCHHORN: False. 270 00:12:40,130 --> 00:12:40,850 Groß. 271 00:12:40,850 --> 00:12:41,930 7 nicht gleich 3 ist. 272 00:12:41,930 --> 00:12:44,530 So 7 == 3 würde return false. 273 00:12:44,530 --> 00:12:50,746 Sie haben eine nicht Gleichheitszeichen, so dass, wenn ich checked 7! = 3, was wäre das zurück? 274 00:12:50,746 --> 00:12:51,370 ZIELGRUPPE: True. 275 00:12:51,370 --> 00:12:52,650 JASON HIRSCHHORN: True. 276 00:12:52,650 --> 00:12:53,200 Ausgezeichnet. 277 00:12:53,200 --> 00:12:55,990 Jemand war sehr emphatisch in der Rücken und zu schätzen. 278 00:12:55,990 --> 00:12:59,070 Dann haben Sie weniger als Betreiber, weniger als oder gleich-Operator, 279 00:12:59,070 --> 00:13:01,990 größer als Betreiber, größere oder gleich-Operator. 280 00:13:01,990 --> 00:13:03,490 >> Also noch eine Plausibilitätsprüfung. 281 00:13:03,490 --> 00:13:05,660 Wenn ich 7 ist größer als oder gleich 3 ist. 282 00:13:05,660 --> 00:13:06,966 Was würde das zurück? 283 00:13:06,966 --> 00:13:07,692 >> ZIELGRUPPE: True. 284 00:13:07,692 --> 00:13:08,650 JASON HIRSCHHORN: True. 285 00:13:08,650 --> 00:13:10,050 Ja. 286 00:13:10,050 --> 00:13:13,290 Das Hinterzimmer Rückseite des Raumes, fantastisch. 287 00:13:13,290 --> 00:13:16,240 Sie können diese kombinieren Ausdrücke, wenn Sie mögen, aber auch, 288 00:13:16,240 --> 00:13:21,880 mit der eine logische UND-Verknüpfung ist && Oder eine logische OR was || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 Und so können Sie jetzt zwei Test Dinge together-- Ist das lustig? 291 00:13:25,785 --> 00:13:28,250 Warum ist das so lustig? 292 00:13:28,250 --> 00:13:35,200 >> Also, wenn ich wollte, kann ich sagen, ist 7 größer als 3 und 2 weniger als 4? 293 00:13:35,200 --> 00:13:37,090 Nun, wenn 7 ist größer als 3, das ist wahr. 294 00:13:37,090 --> 00:13:38,400 2 weniger als 4, das ist wahr. 295 00:13:38,400 --> 00:13:41,140 So würde die ganze Sache true zurück. 296 00:13:41,140 --> 00:13:45,130 >> Wenn ich getestet 7 größer als 3 und-- Ich bin einfach nur Kommissionierung Zufallszahlen hier-- 297 00:13:45,130 --> 00:13:47,340 4 ist kleiner als 2, gut, das ist falsch. 298 00:13:47,340 --> 00:13:49,610 So wahr und falsch machen falsche. 299 00:13:49,610 --> 00:13:54,520 Und Sie können gehen und Sie wie zu kombinieren viele Bedingungen zusammen, wie Sie möchten. 300 00:13:54,520 --> 00:14:00,000 >> Hat jemand irgendwelche Fragen haben, Kommentare, Anliegen so weit? 301 00:14:00,000 --> 00:14:03,862 Und ich sehen einige von euch, die Fotos von mir auf dem Bildschirm, die ich zu schätzen wissen. 302 00:14:03,862 --> 00:14:05,070 Ich hoffe, es ist nicht snapchat. 303 00:14:05,070 --> 00:14:06,417 Ich hoffe, es ist für Ihre Notizen. 304 00:14:06,417 --> 00:14:08,500 Aber all diese gehen online verfügbar sein. 305 00:14:08,500 --> 00:14:11,210 So müssen Sie nicht zu haben, machen Sie Fotos von diesem. 306 00:14:11,210 --> 00:14:15,150 Wie ich bereits erwähnt, alles, was wird es für Sie online zur Verfügung. 307 00:14:15,150 --> 00:14:15,650 OK. 308 00:14:15,650 --> 00:14:17,980 Ich bin zu bekommen hinter der Bühne, so hat jemand 309 00:14:17,980 --> 00:14:20,350 , etwas zu sagen bevor das passiert? 310 00:14:20,350 --> 00:14:21,080 Haben Sie Fragen? 311 00:14:21,080 --> 00:14:21,680 >> [Zwischen Stimmen] 312 00:14:21,680 --> 00:14:22,250 >> JASON HIRSCHHORN: Oh, zu stoppen. 313 00:14:22,250 --> 00:14:23,290 Ihr seid zu nett. 314 00:14:23,290 --> 00:14:23,790 OK. 315 00:14:23,790 --> 00:14:26,520 Ich werde Tag out. 316 00:14:26,520 --> 00:14:27,240 Lass uns gehen. 317 00:14:27,240 --> 00:14:29,570 >> ANDI PENG: Wir werden tun, eine peinliche mic Änderung jetzt. 318 00:14:29,570 --> 00:14:32,280 >> JASON HIRSCHHORN: Ich bin gehen, um diese zu entfernen. 319 00:14:32,280 --> 00:14:33,946 ANDI PENG: schätzen die Unterstützung, Jungs. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Kannst du mich hören? 322 00:14:43,180 --> 00:14:43,930 Ist das gut? 323 00:14:43,930 --> 00:14:44,760 Perfect. 324 00:14:44,760 --> 00:14:45,630 Schön. 325 00:14:45,630 --> 00:14:47,490 Lassen Sie mich nur zu verstauen, dass in. 326 00:14:47,490 --> 00:14:49,100 OK. 327 00:14:49,100 --> 00:14:54,140 Also, ich bin dabei, wie ein Riese zu tun Informationen Dump auf euch jetzt. 328 00:14:54,140 --> 00:14:57,370 Und keine Sorge, wenn Sie überhaupt nicht nach jeder kleinen Linie dessen, was 329 00:14:57,370 --> 00:14:58,812 Ich bin, Ihnen zu zeigen. 330 00:14:58,812 --> 00:15:00,770 Als Jason sagte, alles, was vollständig online. 331 00:15:00,770 --> 00:15:03,780 Nur wir werden versuchen, die Einführung jeder in die Konzepte abgedeckt 332 00:15:03,780 --> 00:15:05,270 In einigen dieser Folien. 333 00:15:05,270 --> 00:15:06,582 Also einfach entlang folgen. 334 00:15:06,582 --> 00:15:09,540 Keine Sorge, wenn Sie nicht verstehen, alles; Wenn jedoch an einem beliebigen Punkt 335 00:15:09,540 --> 00:15:12,820 Sie verloren fühlen, heben Sie Hand, werden wir aufhören, keine Sorgen. 336 00:15:12,820 --> 00:15:15,060 Cool. 337 00:15:15,060 --> 00:15:19,270 >> Deshalb denke ich, etwas, das David hat bereits Art in Vortrag erwähnt 338 00:15:19,270 --> 00:15:23,240 und Jason hat Art von angespielt heute ist, was eine Bibliothek ist. 339 00:15:23,240 --> 00:15:27,510 So in der Programmierung, haben wir diese Dinge genannt Bibliotheken. 340 00:15:27,510 --> 00:15:29,690 Wo im Wesentlichen alle sie ist nur ein Satz 341 00:15:29,690 --> 00:15:32,610 von Funktionen, das heißt im Wesentlichen nur Code, der ist 342 00:15:32,610 --> 00:15:35,070 bereits geschrieben worden jemand anderes, dass wir alle 343 00:15:35,070 --> 00:15:36,410 verwenden in unseren Programmen. 344 00:15:36,410 --> 00:15:38,790 >> Wie funktioniert eine normale Bibliotheksarbeit, nicht wahr? 345 00:15:38,790 --> 00:15:40,030 Sie geben die Bibliothekstür. 346 00:15:40,030 --> 00:15:41,890 Sie haben alle diese Bücher können Sie herausziehen 347 00:15:41,890 --> 00:15:44,590 und Sie Informationen zugreifen innerhalb dieser Bücher. 348 00:15:44,590 --> 00:15:45,840 Das Gleiche gilt in der Programmierung. 349 00:15:45,840 --> 00:15:48,820 >> Sie haben eine Bibliothek, die bereits wurde geschrieben von anderen Menschen. 350 00:15:48,820 --> 00:15:51,530 Und die Art, wie du kannst, als Programmierer oder ein Student, 351 00:15:51,530 --> 00:15:55,780 Zugang zu dieser Bibliothek zu gewinnen ist durch hashtag # include. 352 00:15:55,780 --> 00:15:59,720 >> Beispielsweise in der C uns haben drei C- größten 353 00:15:59,720 --> 00:16:03,420 häufigsten verwendeten drei C-Norm libraries-- die Eingabe / Ausgabe-Bibliothek, 354 00:16:03,420 --> 00:16:05,540 der String-Bibliothek, und die Mathematik-Bibliothek. 355 00:16:05,540 --> 00:16:07,610 >> Also in Ihrem ersten Paar Problem stellt, 356 00:16:07,610 --> 00:16:10,940 diejenigen, die drei sein dass Sie in erster Linie mit. 357 00:16:10,940 --> 00:16:14,610 So wie David schon in der Vorlesung erläutert, 358 00:16:14,610 --> 00:16:17,460 die Standard-I / O-Bibliothek oder die Standard-Eingabe / Ausgabe-Bibliothek 359 00:16:17,460 --> 00:16:18,620 tut genau das. 360 00:16:18,620 --> 00:16:23,530 Es erlaubt Ihnen, in Ihrem Code, um Eingangs etwas von dem Benutzer und Ausgabe, 361 00:16:23,530 --> 00:16:25,960 auf den Bildschirm, im Wesentlichen Drucken sie auf den Bildschirm. 362 00:16:25,960 --> 00:16:29,990 >> Und so, wann immer Sie alle Funktionen nutzen beispielsweise die Funktion printf (), was 363 00:16:29,990 --> 00:16:33,319 wir werden in den nächsten Folie zu wechseln, stellen Sie sicher, um den Standard gehören E / A- 364 00:16:33,319 --> 00:16:36,360 Bibliothek oder aber du bist nicht zu gehen in der Lage sein, um die Funktion printf () verwenden. 365 00:16:36,360 --> 00:16:39,110 Weil Sie, wie die Programmierer eigentlich nie schrieb, dass Funktion, 366 00:16:39,110 --> 00:16:41,840 Sie gerade mit jemandem bist Code anderem in den eigenen Code. 367 00:16:41,840 --> 00:16:43,620 >> Macht das Sinn alle? 368 00:16:43,620 --> 00:16:44,520 Cool. 369 00:16:44,520 --> 00:16:48,530 >> Und dann haben wir im Wesentlichen auf zu bekommen die string.h Bibliothek und das math.h 370 00:16:48,530 --> 00:16:52,970 Bibliothek, .h nur bedeutet, Bibliothek, andere Bibliotheken, dass Sie irgendwann 371 00:16:52,970 --> 00:16:55,310 werden mit dem Code. 372 00:16:55,310 --> 00:16:57,620 >> Jedoch für Zwecke dieser Bibliothek haben wir auch 373 00:16:57,620 --> 00:17:01,170 have-- dieser class-- haben wir auch was heißt das CS50-Bibliothek, 374 00:17:01,170 --> 00:17:05,270 cs50.h, wo wir zum Ihre Durchsicht erstellt haben 375 00:17:05,270 --> 00:17:07,369 viele wichtige und nützliche Funktionen. 376 00:17:07,369 --> 00:17:09,550 So dass Sie als Programmierer kann Huckepack off 377 00:17:09,550 --> 00:17:14,470 was wir schon so, dass schriftliche Diese Funktion ist für Sie da 378 00:17:14,470 --> 00:17:15,599 zu Ihrer Verwendung. 379 00:17:15,599 --> 00:17:18,359 >> Ich werde dabei ein paar die Funktionen häufig verwendet, 380 00:17:18,359 --> 00:17:20,839 aber wissen, dass diese Alle googleable online. 381 00:17:20,839 --> 00:17:24,904 Fühlen Sie sich frei, ziehen Sie den CS50-Bibliothek und dann können alle Funktionen haben es. 382 00:17:24,904 --> 00:17:25,828 Ja. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: Also, wenn Sie nicht waren Verwendung der Software, 384 00:17:28,140 --> 00:17:29,916 wird uns von bereitgestellt die Klasse, das tut 385 00:17:29,916 --> 00:17:32,698 bedeuten, müssten wir zu downloaden und zu finden, Diese Header-Datei selbst und sagen, 386 00:17:32,698 --> 00:17:33,840 der Computer, wo es ist? 387 00:17:33,840 --> 00:17:34,320 >> ANDI PENG: Gute Frage. 388 00:17:34,320 --> 00:17:34,820 Genau. 389 00:17:34,820 --> 00:17:38,194 So ist es wie wenn Sie nicht physisch in einer Bibliothek vorhanden ist, 390 00:17:38,194 --> 00:17:40,360 es gibt keine Möglichkeit für Sie, tatsächlich zu gehen und darauf zugreifen. 391 00:17:40,360 --> 00:17:42,589 So ist die gleiche Sache mit Programmierung in C, die Sie 392 00:17:42,589 --> 00:17:45,880 müssen Sie sicherstellen, dass Sie mit unserer bist Gerät, da die Bibliothek ist schon 393 00:17:45,880 --> 00:17:47,270 wurde in das Gesetz aufgenommen. 394 00:17:47,270 --> 00:17:50,020 Und dann, wenn Sie das Hashtag # include, ist die Bibliothek gibt. 395 00:17:50,020 --> 00:17:50,520 Ja. 396 00:17:50,520 --> 00:17:51,920 Gute Frage. 397 00:17:51,920 --> 00:17:53,461 Jeder gut? 398 00:17:53,461 --> 00:17:53,960 Cool. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 Gut. 401 00:17:56,870 --> 00:17:59,330 So werden wir treffen, im Wesentlichen, was ist 402 00:17:59,330 --> 00:18:01,620 die erste Funktion, Wir als Programmierer 403 00:18:01,620 --> 00:18:03,900 gehen, um in unserem Code verwenden werden. 404 00:18:03,900 --> 00:18:05,690 Dies wird die printf () -Funktion aufgerufen. 405 00:18:05,690 --> 00:18:08,450 Also, printf () Funktion, wie ich bereits in der letzten Folie, sagte, 406 00:18:08,450 --> 00:18:11,830 ist in der Standard-I enthalten / O, Standard-Ein- / Ausgabe, Bibliothek. 407 00:18:11,830 --> 00:18:16,470 >> So stellen Sie sicher, was Sie using-- sind oh, lassen Sie mich greifen die Laser pointer-- 408 00:18:16,470 --> 00:18:18,660 wenn Sie verwenden Die Funktion printf (), 409 00:18:18,660 --> 00:18:21,790 müssen Sie die Standard-Include-I / O- Bibliothek oder auch, wenn Sie zu kompilieren, 410 00:18:21,790 --> 00:18:23,760 Sie gehen, um einen Fehler zu bekommen sind da der Computer sein wird, 411 00:18:23,760 --> 00:18:26,140 Oh, ich weiß nicht, wo printf () ist, das du mir nicht sagen, wo printf () 412 00:18:26,140 --> 00:18:26,830 ist. 413 00:18:26,830 --> 00:18:30,150 Nun printf () ist in der mitgelieferten Standard-I / O, so, wenn Sie printf () verwenden, 414 00:18:30,150 --> 00:18:32,960 stellen Sie sicher, dass haben Zeile über Ihren Code. 415 00:18:32,960 --> 00:18:36,040 >> So zum Beispiel, printf () Hier ist eine Funktion. 416 00:18:36,040 --> 00:18:40,260 Denn es macht nicht ausdrucken etwas in den Klammern an den Benutzer. 417 00:18:40,260 --> 00:18:44,840 Sollte jemand gerne einen Stich nehmen an, was dieser Codezeile rechts 418 00:18:44,840 --> 00:18:46,420 Hier wird sich ausdrucken? 419 00:18:46,420 --> 00:18:48,730 Daher ist die Antwort auf dem Bildschirm. 420 00:18:48,730 --> 00:18:50,480 Anyone? 421 00:18:50,480 --> 00:18:51,380 >> VERDI: Die Unterseite. 422 00:18:51,380 --> 00:18:53,510 >> ANDI PENG: Verdi, warum gehst du nicht vor und sagen, die ganze Aussage? 423 00:18:53,510 --> 00:18:55,718 >> VERDI: Hallo, mein Name ist Andi und ich bin 20 Jahre alt. 424 00:18:55,718 --> 00:18:57,270 ANDI PENG: Ah, sehr schön. 425 00:18:57,270 --> 00:19:00,240 So in dieser Linie werden wir zu gehen ausdrucken, Hallo, mein Name ist Andi, 426 00:19:00,240 --> 00:19:04,280 und ich bin 20 Jahre alt, die ist in der Tat eine wahre Aussage. 427 00:19:04,280 --> 00:19:05,090 >> Syntax. 428 00:19:05,090 --> 00:19:08,830 So paar syntaktischen Probleme, Sie Kerle sicherstellen, dass Sie wissen wollen. 429 00:19:08,830 --> 00:19:09,360 Quotes. 430 00:19:09,360 --> 00:19:13,170 Anführungszeichen sagen, die Computer, dass alles, was im Inneren 431 00:19:13,170 --> 00:19:14,850 wird zu drucken. 432 00:19:14,850 --> 00:19:16,620 >> Alles in Dose nur sein, genau, wie 433 00:19:16,620 --> 00:19:19,920 tippen Sie ihn, mit Ausnahme von üblicherweise am Ende, 434 00:19:19,920 --> 00:19:23,610 wir gehen zu wollen, schließen a hash-- oh sorry-- ein Strich n. 435 00:19:23,610 --> 00:19:24,640 So ein Strich n. 436 00:19:24,640 --> 00:19:28,884 >> Will jemand eine Vermutung nehmen an, was das für unser Code? 437 00:19:28,884 --> 00:19:29,465 Ja. 438 00:19:29,465 --> 00:19:30,840 SPEAKER 6: legt es auf einer neuen Zeile. 439 00:19:30,840 --> 00:19:31,650 ANDI PENG: Genau. 440 00:19:31,650 --> 00:19:34,660 Also alles, was das bedeutet ist lassen was auch immer geschieht 441 00:19:34,660 --> 00:19:37,520 nach diesem, nach dieser Erklärung, auf eine neue Zeile gedruckt werden. 442 00:19:37,520 --> 00:19:40,030 So dass, wenn Sie schreiben Ihre Code, den Sie nicht zufällig haben sich die Dinge 443 00:19:40,030 --> 00:19:41,738 an das Ende angeheftet dass Sie nicht wollen. 444 00:19:41,738 --> 00:19:43,700 Das alles wird fein säuberlich gedruckt eine Zeile 445 00:19:43,700 --> 00:19:46,870 und dann in der folgenden Zeile beginnen wir. 446 00:19:46,870 --> 00:19:50,970 >> Erinnert sich noch jemand, was das Semikolon tut, wenn wir Codierung? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Ja. 449 00:19:55,330 --> 00:19:55,740 >> Lautsprecher 7: Statement. 450 00:19:55,740 --> 00:19:56,010 >> ANDI PENG: Es tut uns leid? 451 00:19:56,010 --> 00:19:57,100 >> Lautsprecher 7: Hat es die Anweisung zu beenden? 452 00:19:57,100 --> 00:19:57,766 >> ANDI PENG: Ja. 453 00:19:57,766 --> 00:20:02,670 So in C oder einer beliebigen Programmiersprache Sprache, das Semikolon 454 00:20:02,670 --> 00:20:04,640 bezeichnet das Ende einer Programmierleitung. 455 00:20:04,640 --> 00:20:09,240 So zum Beispiel in Englisch verwenden wir Zeitraum zu sagen, oh, das ist das Ende ein Satz. 456 00:20:09,240 --> 00:20:12,857 In der Programmierung gleiche Sache, haben wir ein Semikolon, um das Ende einer Zeile zu bezeichnen. 457 00:20:12,857 --> 00:20:14,690 Oft, wenn Sie beginnen zu programmieren, 458 00:20:14,690 --> 00:20:17,150 Sie werden Sie feststellen, Vergessen, um ein Semikolon 459 00:20:17,150 --> 00:20:19,400 und dann versuchen, führen Sie Ihre Code und es funktioniert nicht. 460 00:20:19,400 --> 00:20:21,520 Und du, Ah sind, weiß ich nicht warum sollte es funktionieren. 461 00:20:21,520 --> 00:20:24,394 >> Die Chancen sind Sie wahrscheinlich vergessen, ein Semikolon oder eine Klammer oder etwas 462 00:20:24,394 --> 00:20:25,020 irgendwo. 463 00:20:25,020 --> 00:20:27,740 Also, das ist wichtig, sich daran zu erinnern. 464 00:20:27,740 --> 00:20:29,627 Cool. 465 00:20:29,627 --> 00:20:31,960 In Ordnung, Handzeichen, wie viele Leute hier haben immer 466 00:20:31,960 --> 00:20:37,210 genommen AP Informatik oder in Java programmiert, bevor jemals? 467 00:20:37,210 --> 00:20:37,710 OK. 468 00:20:37,710 --> 00:20:38,210 Schön. 469 00:20:38,210 --> 00:20:41,340 Das wird nicht anwendbar dann, aber in Java, die Sie 470 00:20:41,340 --> 00:20:44,960 haben etwas namens System.out.println die nicht in C existiert 471 00:20:44,960 --> 00:20:49,927 >> So in C, wenn Sie wollen in Variablen hinzufügen 472 00:20:49,927 --> 00:20:51,760 in, was Sie wollen ausdrucken, es gibt 473 00:20:51,760 --> 00:20:54,620 eine spezielle Syntax, wir werden zu verwenden. 474 00:20:54,620 --> 00:20:56,520 Das nennt man die placeholding-- wesentlichen 475 00:20:56,520 --> 00:21:01,180 wir Platzhalter hinzufügen, an Ort und Stelle der ganze oder der variablen 476 00:21:01,180 --> 00:21:02,580 dass wir drucken möchten. 477 00:21:02,580 --> 00:21:07,430 >> So wie Sie sehen können, Jungs, wir aufgenommen haben eine neue Bibliothek Header-Datei hier. 478 00:21:07,430 --> 00:21:09,130 Das CS50-Bibliothek. 479 00:21:09,130 --> 00:21:13,160 Und innerhalb dieser CS50-Bibliothek enthalten ist eine gemeinsame Funktion, die wir verwenden werden 480 00:21:13,160 --> 00:21:15,610 in unserem Kurs namens getint (). 481 00:21:15,610 --> 00:21:21,830 >> Weiß jemand, um einen Stich machen wollen was getint () möglicherweise tun. 482 00:21:21,830 --> 00:21:22,830 >> ZIELGRUPPE: [unverständlich] 483 00:21:22,830 --> 00:21:23,550 >> ANDI PENG: Es tut uns leid. 484 00:21:23,550 --> 00:21:24,370 Konnte Sie nicht hören. 485 00:21:24,370 --> 00:21:25,511 Maddie, niemandem. 486 00:21:25,511 --> 00:21:27,260 MADDIE: Oh, werden Sie aufgefordert Sie für eine ganze Zahl. 487 00:21:27,260 --> 00:21:28,051 ANDI PENG: Genau. 488 00:21:28,051 --> 00:21:30,670 Also dieser Funktion, ein weiteres Funktion, die bereits 489 00:21:30,670 --> 00:21:33,690 wurde von jemand anderem geschrieben dass wir bei der jetzt anrufen. 490 00:21:33,690 --> 00:21:38,000 Alles, was es ist, ist aufgefordert, die von Ihnen, dem Benutzer, die Eingabe, was Sie wollen, wie der Code 491 00:21:38,000 --> 00:21:41,850 ausgeführt wird, und es whatever-- speichert in diesem Fall wir getint () sind - ing, 492 00:21:41,850 --> 00:21:44,060 so dass bedeutet, dass wir Erhalten einer Ganzzahl. 493 00:21:44,060 --> 00:21:46,150 >> Und wir werden zu speichern dass in einem anderen ganzzahligen 494 00:21:46,150 --> 00:21:48,900 dass wir gerade angerufen Alter gemacht. 495 00:21:48,900 --> 00:21:51,500 Das Sinn für jedermann? 496 00:21:51,500 --> 00:21:52,190 Cool. 497 00:21:52,190 --> 00:21:56,400 >> So, jetzt haben wir diese Ganzzahl gespeichert, dass wir von der Benutzer aufgefordert habe, 498 00:21:56,400 --> 00:22:00,010 in dieser Variablen, haben wir vom Typ int namens Alters erstellt, 499 00:22:00,010 --> 00:22:03,720 können wir vor Ort und gehen dass in unserer Funktion printf (). 500 00:22:03,720 --> 00:22:08,970 So ist die Syntax der Regel für printf () ist dass, wo immer in der tatsächlichen physikalischen 501 00:22:08,970 --> 00:22:14,410 Zeile, die Sie, dass die ganze Zahl enthalten sein sollen, Sie dieses Symbol genau dort zu tun, 502 00:22:14,410 --> 00:22:17,800 die Prozentzeichen, mit dem Typ der Variablen, die Sie wollen. 503 00:22:17,800 --> 00:22:20,090 >> In diesem Fall so alt ist eine ganze Zahl. 504 00:22:20,090 --> 00:22:25,030 So wirst du zählen sind % i, weil es eine ganze Zahl ist. 505 00:22:25,030 --> 00:22:26,860 Und dann, nachdem Ihre Aussage, Sie gehen 506 00:22:26,860 --> 00:22:30,370 um Komma und das zu tun Namen der Variablen. 507 00:22:30,370 --> 00:22:33,420 >> Also hier, wir gehen zu drucken out, Hallo, mein Name ist Andi, 508 00:22:33,420 --> 00:22:35,730 und ich bin blank Jahre alt. 509 00:22:35,730 --> 00:22:38,890 Hashta-- oder sorry--, Alter mit dem, was ich Eingang. 510 00:22:38,890 --> 00:22:42,790 Also, wenn ich Eingang 20 für meine getint () hier, 511 00:22:42,790 --> 00:22:44,500 es wäre ausdrucken genau dasselbe. 512 00:22:44,500 --> 00:22:47,990 Aber wenn ich die Eingabe etwas wollte anderes, wie vielleicht 40 oder 45, 513 00:22:47,990 --> 00:22:50,800 dann würden Sie sehen, dass reflektierte dementsprechend im Code. 514 00:22:50,800 --> 00:22:52,886 >> Das ist also ein Beispiel von etwas, in dem 515 00:22:52,886 --> 00:22:55,260 sie druckt und sieht zu Sie, als ob es ist die gleiche Sache, 516 00:22:55,260 --> 00:22:57,593 aber unter der Haube des der Computer es gibt tatsächlich 517 00:22:57,593 --> 00:22:59,560 sehr verschiedene Dinge passiert. 518 00:22:59,560 --> 00:23:00,060 Cool. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 Gut. 521 00:23:03,260 --> 00:23:06,940 So was, wenn wir wollen, dass mehrere Variablen? 522 00:23:06,940 --> 00:23:08,290 Ziemlich einfach. 523 00:23:08,290 --> 00:23:09,150 Gleiche Sache. 524 00:23:09,150 --> 00:23:11,930 Wir haben auch eine neue Funktion hier genannt GetString (), 525 00:23:11,930 --> 00:23:15,380 auch innerhalb des CS50-Bibliothek enthalten, dass alle es tut, ist der Benutzer aufgefordert 526 00:23:15,380 --> 00:23:18,120 für eine Zeichenfolge, die ist nur ein Satz von Zeichen, 527 00:23:18,120 --> 00:23:19,810 so wie ein Satz oder wie ein Name. 528 00:23:19,810 --> 00:23:25,470 >> So dass in diesem Fall würde es zwei haben Platzhalter% s für die Zeichenkette und% i 529 00:23:25,470 --> 00:23:26,750 für Ganzzahl. 530 00:23:26,750 --> 00:23:29,190 Und wir werden folgen dass von den beiden Variablen 531 00:23:29,190 --> 00:23:32,670 Wir wollen, enthalten, in der Reihenfolge, dass sie erscheinen in dem Satz. 532 00:23:32,670 --> 00:23:35,471 So zum Beispiel, mein Name ist blank, ich will einen Namen gibt, 533 00:23:35,471 --> 00:23:36,970 so werde ich den Namen zuerst. 534 00:23:36,970 --> 00:23:39,637 Und dann später, ich will Alter, wollen Alters zweiten haben. 535 00:23:39,637 --> 00:23:42,720 Und so, wenn ich wollte Eingangs, Hallo, mein Name ist Andi und ich bin 20 Jahre alt. 536 00:23:42,720 --> 00:23:46,370 Wenn ich eingegeben Andi und 20, die genau dasselbe würde zu drucken; 537 00:23:46,370 --> 00:23:51,134 aber jetzt haben wir zwei bekam gespeichert Variablen der Name als auch int. 538 00:23:51,134 --> 00:23:51,634 Ja. 539 00:23:51,634 --> 00:23:54,124 >> SPEAKER 8: Wäre es der Lage zu laufen, wenn Sie eingeschaltet 540 00:23:54,124 --> 00:23:55,620 Name und Alter am Ende, dass? 541 00:23:55,620 --> 00:23:55,840 >> ANDI PENG: Ja. 542 00:23:55,840 --> 00:23:57,006 Das ist wirklich eine gute Frage. 543 00:23:57,006 --> 00:23:59,520 So lange Geschichte kurz, nein. 544 00:23:59,520 --> 00:24:03,070 Da Name und age-- was Variablentyp ist der Name? 545 00:24:03,070 --> 00:24:03,950 >> SPEAKER 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI PENG: Und was Variablentyp ist Alter? 547 00:24:05,440 --> 00:24:06,231 >> SPEAKER 8: Integer. 548 00:24:06,231 --> 00:24:10,290 ANDI PENG: Hier haben wir also einen Platzhalter für String und Integer, nicht wahr? 549 00:24:10,290 --> 00:24:13,350 Also, wenn Sie, diese zu wechseln waren, der Computer wird nicht zu kennen. 550 00:24:13,350 --> 00:24:16,250 Es wird nach einer Zeichenfolge zu überprüfen, und wenn Sie versuchen es einen int zu geben, 551 00:24:16,250 --> 00:24:18,083 es geht zu wie sein warten Ich bin verwirrt, Sie 552 00:24:18,083 --> 00:24:21,100 sagte mir, ich sollte es sein Zuweisung Speicher für ein int. 553 00:24:21,100 --> 00:24:23,760 Und genau hier, wenn es eine ganze Zahl erwartet 554 00:24:23,760 --> 00:24:25,640 und Sie einen Namen geben und einen String statt, 555 00:24:25,640 --> 00:24:28,931 es ist auch wird sehr verwirrend, es wird nicht genau so, wie Sie es brauchen laufen. 556 00:24:28,931 --> 00:24:35,280 Also hier, Benennung und Syntax sehr wichtig für die Ausführung von Code. 557 00:24:35,280 --> 00:24:37,991 Jeder gut? 558 00:24:37,991 --> 00:24:38,490 Ja. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> MADDIE: Hier, ich weiß, wir sahen an Beispielen in der Klasse, wo sie fragen 561 00:24:44,620 --> 00:24:46,950 Wie alt sind Sie, wie ist Ihr Name. 562 00:24:46,950 --> 00:24:50,250 Hier wäre das es doesn't-- wenn wir diesen Code auszuführen waren, 563 00:24:50,250 --> 00:24:51,750 es würde nicht für das zu fragen? 564 00:24:51,750 --> 00:24:54,740 Aber Sie würden nur zwei Zahlen einzugeben und dann würde es so laufen? 565 00:24:54,740 --> 00:24:55,781 >> ANDI PENG: Ja, genau. 566 00:24:55,781 --> 00:24:58,250 Also, wenn Sie für es wollte Anzeige, geben Sie bitte Ihr Alter, 567 00:24:58,250 --> 00:25:01,100 Sie können einfach eine printf () -Funktion hinzufügen die sagt, Bitte geben Sie Ihr Alter, 568 00:25:01,100 --> 00:25:01,600 über. 569 00:25:01,600 --> 00:25:02,711 Das ist eine gute Frage. 570 00:25:02,711 --> 00:25:03,210 Ja. 571 00:25:03,210 --> 00:25:07,964 >> Lautsprecher 9: Also, wäre schon in getint enthalten () [unverständlich]. 572 00:25:07,964 --> 00:25:09,380 ANDI PENG: Nein, es ist eigentlich nicht. 573 00:25:09,380 --> 00:25:11,809 Also alles, was das bedeutet ist einfach fordert einen leeren Bildschirm 574 00:25:11,809 --> 00:25:13,100 um dem Benutzer die Eingabe etwas. 575 00:25:13,100 --> 00:25:17,420 Wenn Sie wollen, dass es, wenn Sie es drucken möchten aus etwas, das dem Benutzer sagt, mögen, 576 00:25:17,420 --> 00:25:21,110 bitte geben Sie mir Ihr Alter, dann müsste printf (), dass Sie sich. 577 00:25:21,110 --> 00:25:23,789 Weil jeder nutzt diese Funktion für verschiedene Dinge, 578 00:25:23,789 --> 00:25:26,080 Sie könnten die Speicherung Alter, Sie könnten Speicheradresse, 579 00:25:26,080 --> 00:25:28,060 Sie könnten zu speichern Telefonnummern. 580 00:25:28,060 --> 00:25:31,190 Und so ist es wirklich bis zu einzelne Nutzungen Ihre Jungs ' 581 00:25:31,190 --> 00:25:34,390 für das, was Sie wollen, es zu sagen. 582 00:25:34,390 --> 00:25:34,890 Ja. 583 00:25:34,890 --> 00:25:38,236 >> Lautsprecher 10: Also, nur um zu klären, in denen Sie haben geben Sie den Namen und das Alter 584 00:25:38,236 --> 00:25:43,020 so dass es zeigt sich anstelle von% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI PENG: wie in der Benutzer? 586 00:25:44,320 --> 00:25:47,165 >> Lautsprecher 10: Ja, wie, wie ich machen es-- wo platziere ich Andi, 587 00:25:47,165 --> 00:25:48,350 und wo stelle ich 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI PENG: Ja. 589 00:25:48,640 --> 00:25:50,250 Also, wenn Sie wurden zu tatsächlich diesen Code ausführen, 590 00:25:50,250 --> 00:25:52,875 Ich bin nicht wirklich läuft die Code, das ist nur hier und jetzt. 591 00:25:52,875 --> 00:25:56,910 Wenn ich den Code ausführen, würde ich kompilieren Sie den Code haben, stellen Sie die Datei, 592 00:25:56,910 --> 00:26:00,760 führen Sie den Code, und dann gäbe es nur zwei Räume für mich, um Eingangs es sein. 593 00:26:00,760 --> 00:26:01,260 Ja. 594 00:26:01,260 --> 00:26:03,843 Ihr Jungs sehen, wenn Sie zu spielen rund mit dem Code selbst. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Na gut, wir werden zu bewegen in den nächsten Abschnitt von dem, was 597 00:26:09,645 --> 00:26:11,610 wir werden dabei heute. 598 00:26:11,610 --> 00:26:13,980 Wir gehen über das, was Bedingungsanweisungen sind. 599 00:26:13,980 --> 00:26:16,500 Also, wenn Sie Jungs erinnern und erinnern vom Vortrag, 600 00:26:16,500 --> 00:26:19,210 bedingte Anweisungen, alles, was sie sind, sind ein Satz 601 00:26:19,210 --> 00:26:24,010 von Anweisungen an den Computer in die, wenn eine bestimmte Bedingung wahr ist, 602 00:26:24,010 --> 00:26:27,470 Sie den Code ausführen, innerhalb dieser Bedingung. 603 00:26:27,470 --> 00:26:30,101 >> So im Wesentlichen Scratch-- das große Thema von heute 604 00:26:30,101 --> 00:26:32,850 ist, dass Sie Jungs haben schon alle die Logik hinter alles gesehen 605 00:26:32,850 --> 00:26:34,020 dass wir abdecken. 606 00:26:34,020 --> 00:26:36,190 Und alles, was wir tun, ist Übersetzen etwas 607 00:26:36,190 --> 00:26:39,090 das war sehr intuitiv in Scratch und harte Kodierung es 608 00:26:39,090 --> 00:26:41,950 in die Syntax wir benutzen für die Klasse, der C ist 609 00:26:41,950 --> 00:26:47,550 So logisch, alles Block war ist, dass Stück Code recht. 610 00:26:47,550 --> 00:26:49,995 Ja. 611 00:26:49,995 --> 00:26:50,900 OK. 612 00:26:50,900 --> 00:26:55,290 >> Wir bekommen auch in eine if ... else Erklärung, die nur ein zusätzlicher Schicht 613 00:26:55,290 --> 00:26:59,120 der Komplexität des if-Anweisung wo der Computer wirft einen Blick auf diese 614 00:26:59,120 --> 00:27:04,260 und sieht, wenn diese Bedingung erfüllt ist, zu tun was auch immer die innerhalb dieser zwei Konsolen, 615 00:27:04,260 --> 00:27:08,470 else-- so eine Art, wie der Standard, wenn es entspricht nicht den Zustand- tun. 616 00:27:08,470 --> 00:27:10,120 Es ist wie eine Gabel in der Straße. 617 00:27:10,120 --> 00:27:14,400 Wenn es draußen regnet, habe ich auf einem regen Jacke, sonst nichts 618 00:27:14,400 --> 00:27:16,330 sonst weiß ich nicht auf einem regen Jacke anziehen. 619 00:27:16,330 --> 00:27:18,400 >> Heißt das, Logik sinnvoll, alle? 620 00:27:18,400 --> 00:27:21,031 Cool. 621 00:27:21,031 --> 00:27:21,530 Gut. 622 00:27:21,530 --> 00:27:24,970 So wie eine Fest Beispiel diese, die wir in C zu sehen 623 00:27:24,970 --> 00:27:28,890 ist, wenn ich wollte ein erstellen Variable Hausaufgabenstunden. 624 00:27:28,890 --> 00:27:32,050 Und wenn Hausaufgabenstunden weniger als fünf, ich sage Leben ist groß. 625 00:27:32,050 --> 00:27:33,070 Es ist wunderbar. 626 00:27:33,070 --> 00:27:36,450 Allerdings sagen, der Kampf ist real-- das, was wir alle ist an diesem Montag 627 00:27:36,450 --> 00:27:39,337 Nachmittags bis Science Hill sind wohl richtig machen now-- 628 00:27:39,337 --> 00:27:40,170 ZIELGRUPPE: [lacht] 629 00:27:40,170 --> 00:27:42,510 ANDI PENG: Sie Art, wie wir würde, ich danke Ihnen dafür. 630 00:27:42,510 --> 00:27:46,180 Die Art, wie wir codieren würde Diese in C annehmen if-- lassen 631 00:27:46,180 --> 00:27:49,920 wir haben bereits eine Variable vom Typ int namens Hausaufgabenzeiten finden Sie hier. 632 00:27:49,920 --> 00:27:53,870 Wenn Hausaufgaben Stunden weniger als fünf printf (), Das Leben ist großartig. 633 00:27:53,870 --> 00:27:57,330 Denken Sie daran, halten / n, weil Sie wollen eine neue Zeile nach. 634 00:27:57,330 --> 00:27:59,660 Else Print, ist der Kampf wirklich. 635 00:27:59,660 --> 00:28:03,720 >> Hat jeder wissen, wie Ich aus diesem Block umge 636 00:28:03,720 --> 00:28:07,610 in diesem Code-Block? 637 00:28:07,610 --> 00:28:08,110 Cool. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 Gut. 640 00:28:11,840 --> 00:28:15,930 >> So, jetzt werden wir ein Blick in Wenn mehrere Aussagen insgesamt. 641 00:28:15,930 --> 00:28:18,140 Nehmen wir also an die Zweck dieses Programms 642 00:28:18,140 --> 00:28:20,870 war, dass wir den Benutzer nach einem Grad aufgefordert. 643 00:28:20,870 --> 00:28:24,450 Wir Aufforderung mit getint () für ein Klasse, und sie einen Wert eingeben, 644 00:28:24,450 --> 00:28:27,700 und Sie anzeigen möchten welche Art von Klasse bekamen sie. 645 00:28:27,700 --> 00:28:30,730 >> Also, wenn ich ein Programm zu entwerfen, I bedeutet in der Regel in allen unseren Augen, 646 00:28:30,730 --> 00:28:35,490 90-100 ist ein A, 80-90 B, und so weiter und so fort. 647 00:28:35,490 --> 00:28:39,040 Was ist falsch an dieser Stück Code, das ist es nicht 648 00:28:39,040 --> 00:28:41,393 zu tun, was ich will, es zu tun. 649 00:28:41,393 --> 00:28:41,892 Ja. 650 00:28:41,892 --> 00:28:45,100 >> Lautsprecher 11: Sie haben Untergrenzen, aber sie haben keine Obergrenzen. 651 00:28:45,100 --> 00:28:46,280 >> ANDI PENG: Genau. 652 00:28:46,280 --> 00:28:47,950 Haben alle hören, was sie gesagt hat? 653 00:28:47,950 --> 00:28:50,200 Es geht oberen zu sein Grenzen, aber keine Untergrenzen. 654 00:28:50,200 --> 00:28:52,540 Sorry, umgekehrt, Untergrenzen, keine Obergrenzen. 655 00:28:52,540 --> 00:28:55,090 So würden Sie gerne an nehmen Sie einen Stich an sagen 656 00:28:55,090 --> 00:28:58,945 was würden auf diese gedruckt werden Bildschirm, wenn ich diesen Code ausführen. 657 00:28:58,945 --> 00:28:59,820 Lautsprecher 11: Ein Fehler? 658 00:28:59,820 --> 00:29:01,140 ANDI PENG: Ein Fehler? 659 00:29:01,140 --> 00:29:02,740 Große Vermutung, nicht ganz richtig. 660 00:29:02,740 --> 00:29:05,465 Hat jemand eine andere Stich? 661 00:29:05,465 --> 00:29:06,640 Ja, Aaron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Wenn Sie setzen in etwas mehr als 90, 663 00:29:10,099 --> 00:29:11,640 er alle Qualitäten du zeigen würde. 664 00:29:11,640 --> 00:29:13,640 Es würde zeigen, ein A bekommen, Sie B bekam, eine C erhielt man 665 00:29:13,640 --> 00:29:13,870 >> ANDI PENG: Ja. 666 00:29:13,870 --> 00:29:14,840 Das ist genau richtig. 667 00:29:14,840 --> 00:29:17,820 So, das wäre wunderbar. 668 00:29:17,820 --> 00:29:21,781 Allerdings sind sie für beide Seiten Exklusiv, denke ich. 669 00:29:21,781 --> 00:29:23,280 Wenn ich dieses Stück Code ausführen. 670 00:29:23,280 --> 00:29:26,200 Und dann sagen wir einfach, ich eingegeben wird die Note 95. 671 00:29:26,200 --> 00:29:30,360 So 95 wird nun gespeichert INT genannte Klasse. 672 00:29:30,360 --> 00:29:33,610 >> Und so C ist eine Sprache dass läuft von oben nach unten, 673 00:29:33,610 --> 00:29:36,000 so, es wird immer laufen nach unten. 674 00:29:36,000 --> 00:29:39,420 Also es geht um hierher zu kommen, lesen, wenn Grad größer oder gleich 90, 675 00:29:39,420 --> 00:29:42,850 printf () Sie bekam ein A. Große, I haben eine 95, das ist mehr als 90. 676 00:29:42,850 --> 00:29:44,866 Es wird gedruckt, Ich habe ein A. Es wird 677 00:29:44,866 --> 00:29:48,850 um einen Blick auf diese zu nehmen, wenn, es geht sagen, gut 95 ist auch mehr als 80, 678 00:29:48,850 --> 00:29:52,970 es geht um zu drucken Sie bekam auch einen Got a B Ausrufezeichen, und so weiter und so 679 00:29:52,970 --> 00:29:53,690 her. 680 00:29:53,690 --> 00:29:55,890 >> So wie wir alle sehen können, dies ist eine häufige Fehler ist 681 00:29:55,890 --> 00:30:00,760 die auftreten können, wenn wir Schreiben von Code, wo sie nach. 682 00:30:00,760 --> 00:30:05,430 Jeder, Fragen auf warum das geschah? 683 00:30:05,430 --> 00:30:05,930 Groß. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 OK. 686 00:30:09,440 --> 00:30:12,110 >> So, wie wir dieses Problem beheben, ist offensichtlich der nächste logische Frage. 687 00:30:12,110 --> 00:30:16,290 Nun, wir haben diese schönen Dinge genannt, wenn sonst, wenn sonst 688 00:30:16,290 --> 00:30:18,010 wenn else-Anweisungen. 689 00:30:18,010 --> 00:30:22,230 So können Sie sehen, wenn Sie wollten um dieses Problem zu ändern, 690 00:30:22,230 --> 00:30:25,260 Sie zu jedem der machen wollten Bedingungen gegenseitig ausschließen, 691 00:30:25,260 --> 00:30:26,860 Sie wäre ein anderes hinzufügen ... if-Anweisung. 692 00:30:26,860 --> 00:30:30,068 >> Und diese von course-- von ihnen denken, wie Leitern, oder wie Sprossen auf der ladder-- 693 00:30:30,068 --> 00:30:34,050 Sie können davon so viele hinzufügen, wie Sie will für so viele Bedingungen, wie Sie wollen. 694 00:30:34,050 --> 00:30:36,790 Also hier, wenn ich eingegeben Grad bis 95 sein. 695 00:30:36,790 --> 00:30:39,479 Wenn mehr als 95 Grad ist, printf (), bekam ich eine A. Große. 696 00:30:39,479 --> 00:30:42,020 Es wird ein anderes sehen ... wenn und es wird zu wissen, Oh nein, 697 00:30:42,020 --> 00:30:43,750 Ich habe bereits ausgeführt, die erste anderes. 698 00:30:43,750 --> 00:30:47,020 Ich wissen-- oder die erste if-- Ich weiß, dass Ich habe nicht den auf jeder dieser aussehen 699 00:30:47,020 --> 00:30:48,920 weil eine von ihnen hat bereits wahr gewesen. 700 00:30:48,920 --> 00:30:50,410 Also, es wird von oben nach unten laufen. 701 00:30:50,410 --> 00:30:53,650 Sobald der erste ist, wahr ist, dann es geht um mehr als der ganze Rest überspringen 702 00:30:53,650 --> 00:30:54,675 der andere ... ifs. 703 00:30:54,675 --> 00:30:55,550 Ist das sinnvoll? 704 00:30:55,550 --> 00:30:57,841 Also, auf diese Weise haben Sie verschiedene Ebenen der Kontrolle 705 00:30:57,841 --> 00:31:01,090 und sobald einer von ihnen falsch ist, das Rest sind, werden sie nicht einmal zu überprüfen. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Cool. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 Gut. 710 00:31:08,180 --> 00:31:11,180 >> So ist dies ein Beispiel für eine andere Art bedingte Anweisung 711 00:31:11,180 --> 00:31:15,250 wir sehen, weniger häufig, aber wir werden sie zu sehen und zu nutzen. 712 00:31:15,250 --> 00:31:18,120 Und sie sind oft mehr effizienter für bestimmte Fälle. 713 00:31:18,120 --> 00:31:20,020 So haben wir, was heißt eine Switch-Anweisung. 714 00:31:20,020 --> 00:31:25,140 Also, bevor wir überzogen, was ein anderes Rechnung, eine if ... else-Anweisung. 715 00:31:25,140 --> 00:31:27,790 Hier haben wir, was sind genannt switch-Anweisungen. 716 00:31:27,790 --> 00:31:31,100 >> Also, wenn wir tun, Schalter verwenden Aussagen ist der Schlüssel? 717 00:31:31,100 --> 00:31:34,090 So in einer switch-Anweisung, die Sie in der Regel, in der Regel, die Sie tatsächlich 718 00:31:34,090 --> 00:31:38,010 können nur Eingangszahlen für Ihren Variable, die Sie überprüft sind. 719 00:31:38,010 --> 00:31:42,390 Also, wenn ich wollte, um zu prüfen, wenn eine bestimmte number-- beispiels 720 00:31:42,390 --> 00:31:43,720 eine Klasse, wenn ich eine 90. 721 00:31:43,720 --> 00:31:48,190 Ich möchte, um zu sehen, wenn das ist ein A, B oder C. Ich könnte einen Fall hier zu haben. 722 00:31:48,190 --> 00:31:50,840 Jedoch hat das Gehäuse zum anderen konstant ist. 723 00:31:50,840 --> 00:31:53,170 >> So dass in diesem Sinne die switch-Anweisung kann nur 724 00:31:53,170 --> 00:31:55,290 Check für die Gleichstellung von zwei Zahlen. 725 00:31:55,290 --> 00:31:57,242 Es ist nicht für irgendetwas anderes zu überprüfen. 726 00:31:57,242 --> 00:31:59,950 Also das ist etwas zu sehr sein vorsichtig sein, wenn Sie mit diesen sind. 727 00:31:59,950 --> 00:32:04,810 Also hier, wenn ich wollte, um zu sehen, wenn mein Gehalt von 90 gleich 90 oder 80 ist, 728 00:32:04,810 --> 00:32:08,500 oder 70 oder 60, und drucken die entsprechende Klasse, 729 00:32:08,500 --> 00:32:11,420 Ich möchte in der Lage zu schreiben, dass sein in einer switch-Anweisung. 730 00:32:11,420 --> 00:32:15,120 >> Also es geht um hierher zu kommen, ist Check Diese ganze Zahl gleich dieser Konstante? 731 00:32:15,120 --> 00:32:17,030 Wenn nicht, wird es übersprungen. 732 00:32:17,030 --> 00:32:19,880 Ist es gleich dem konstanten zwei, und so weiter und so fort, 733 00:32:19,880 --> 00:32:22,390 , bis Sie auf den Standardwert, wenn keines von ihnen gleich sind. 734 00:32:22,390 --> 00:32:24,590 Sobald einer von ihnen wird eingestellt, um gleich zu sein, 735 00:32:24,590 --> 00:32:27,040 es wird, dies zu tun Codezeile und Pause. 736 00:32:27,040 --> 00:32:30,990 Das bedeutet, es wird getroffen, dass laufen, zu brechen, und gerade komplett überspringen 737 00:32:30,990 --> 00:32:32,240 an der Unterseite des Codes. 738 00:32:32,240 --> 00:32:37,550 In diesem Sinne die Art von Funktionen wie eine if-else if else if-Anweisung. 739 00:32:37,550 --> 00:32:40,830 >> Also hier ist ein konkreter Beispiel für euch. 740 00:32:40,830 --> 00:32:46,140 Nehmen wir also an, dass ich wollte, erstellen eine Variable namens Jahres gegründet. 741 00:32:46,140 --> 00:32:50,230 Und ich möchte den Benutzer zur Eingabe auffordern das Jahr, in ihrer Schule gegründet wurde. 742 00:32:50,230 --> 00:32:53,300 So kann ich eine switch-Anweisung hier erstellen. 743 00:32:53,300 --> 00:32:56,650 Und lasst uns einfach sagen, ich Eingang 1636. 744 00:32:56,650 --> 00:33:01,120 >> Dieser Code hier los ist, um den Schalter zu sehen Jahr gegründet, die 1636 gleich. 745 00:33:01,120 --> 00:33:03,940 Es wird bei zu sehen 1636 oh denen gleich sind, 746 00:33:03,940 --> 00:33:06,230 printf () Sollten Sie nicht sein an dieser Schule im Norden? 747 00:33:06,230 --> 00:33:08,770 Da wir davon ausgehen, sie dies nicht tun gehen Sie hier, wenn sie nach Harvard zu gehen, 748 00:33:08,770 --> 00:33:10,380 Pause und fahren bis zum Ende. 749 00:33:10,380 --> 00:33:14,090 >> Wenn ich die Eingangs 1701, die Ich nehme an, alle von uns würde Eingang, 750 00:33:14,090 --> 00:33:17,500 es wäre, diesen Fall zu überspringen, kommen bis zu jeweils zwei, die 1701, 751 00:33:17,500 --> 00:33:19,660 und Drucken Willkommen in Yale! 752 00:33:19,660 --> 00:33:21,360 Brechen, fahren bis zum Ende. 753 00:33:21,360 --> 00:33:25,130 Sonst sind Sie wahrscheinlich diesen Kurs Online, in dem Fall-- genial willkommen 754 00:33:25,130 --> 00:33:29,020 um Yale--, es wird um unterwegs Standarddruck, Hallo Internet! 755 00:33:29,020 --> 00:33:29,870 Und brechen. 756 00:33:29,870 --> 00:33:30,466 Ja. 757 00:33:30,466 --> 00:33:32,090 >> Lautsprecher 12: Können Sie anderes verwenden anstelle der Standard da? 758 00:33:32,090 --> 00:33:34,550 >> ANDI PENG: Nein, denn die Weise, dass diese ganze Funktion 759 00:33:34,550 --> 00:33:39,170 Schalter eingebaut, die Syntax Sie verwenden müssen, ist bei Standardfall. 760 00:33:39,170 --> 00:33:42,400 Es ist wie der, wenn sonst, wenn diese es ist eine Falle bei Standard. Ja. 761 00:33:42,400 --> 00:33:45,650 Lautsprecher 13: Du hast vielleicht schon sagte, aber können Sie mehr als zwei Fällen? 762 00:33:45,650 --> 00:33:48,066 ANDI PENG: Ja, könnten Sie haben so viele Fälle wie Sie wollen. 763 00:33:48,066 --> 00:33:50,050 Betrachten Sie es als einfach gerne stufenlos Zugabe auf. 764 00:33:50,050 --> 00:33:52,396 >> Lautsprecher 14: Wenn Sie schaltet 1701 mit 1636, 765 00:33:52,396 --> 00:33:54,187 dass es nicht zu machen ein Unterschied in Ordnung? 766 00:33:54,187 --> 00:33:55,770 Ist es nur geht, um die Überprüfung werden dafür. 767 00:33:55,770 --> 00:33:56,900 >> ANDI Peng: Das ist eine wirklich gute Frage. 768 00:33:56,900 --> 00:33:58,880 Und wir werden auf berühren später, aber nur 769 00:33:58,880 --> 00:34:01,160 weiß, das ist der Schalter Anweisung infinitely-- es 770 00:34:01,160 --> 00:34:03,536 effizienter als es und wenn else if, weil es funktioniert 771 00:34:03,536 --> 00:34:06,660 mit einer anderen Art von Funktion, ermöglicht es Ihnen, im Wesentlichen, um nur 772 00:34:06,660 --> 00:34:08,790 gehen Sie direkt zu den Fall müssen Sie bei zu sein. 773 00:34:08,790 --> 00:34:10,547 Ja. 774 00:34:10,547 --> 00:34:11,255 Lautsprecher 14: Kühler. 775 00:34:11,255 --> 00:34:11,754 Vielen Dank. 776 00:34:11,754 --> 00:34:12,526 ANDI PENG: Ja 777 00:34:12,526 --> 00:34:16,687 >> Lautsprecher 14: und man konnte nicht do Fällen wie und größer. 778 00:34:16,687 --> 00:34:17,270 ANDI PENG: Nein 779 00:34:17,270 --> 00:34:19,860 Also, das ist, was über die Grenz switch-Anweisung ist, dass man 780 00:34:19,860 --> 00:34:21,564 Konstanten nur, nur ganze Zahlen. 781 00:34:21,564 --> 00:34:22,064 Ja. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 OK. 784 00:34:25,820 --> 00:34:28,659 >> Also das ist etwas, dass Sie Jungs werden seltener der Begegnung, 785 00:34:28,659 --> 00:34:32,280 aber ich wollte einfach präsentieren sie bei. 786 00:34:32,280 --> 00:34:36,210 Wir haben hier, was ist genannt ternäre Operator. 787 00:34:36,210 --> 00:34:39,370 Wo Wesentlichen, es ist wie ein if-Anweisung in einer Zeile zusammengefasst. 788 00:34:39,370 --> 00:34:42,630 Hier werde ich in der nächsten Zeile zu gehen, die nächste Seite, weil es einfacher ist, zu sehen. 789 00:34:42,630 --> 00:34:44,860 >> So haben wir alle dieses Recht gesehen? 790 00:34:44,860 --> 00:34:46,110 Das ist ziemlich einfach zu folgen. 791 00:34:46,110 --> 00:34:51,290 Wenn ich wollte, um eine Variable mit dem Namen machen, Satz benannt s, wenn eine bestimmte Anzahl 792 00:34:51,290 --> 00:34:54,770 Ich gebe es weniger als 100 ist, ich möchte auf die Zeichenfolge zuweisen niedrig, 793 00:34:54,770 --> 00:34:57,240 sonst will ich ordnen hoch. 794 00:34:57,240 --> 00:35:01,370 >> Das hier ist genau dasselbe zu tun diese acht Zeilen Code tun. 795 00:35:01,370 --> 00:35:03,600 So, hier möchte ich erstellen eine variable Zeichenfolge. 796 00:35:03,600 --> 00:35:08,520 Und das ist der Zustand, ich bin Prüfen, ob eine Zahl kleiner als 100 ist, 797 00:35:08,520 --> 00:35:12,750 dann haben Sie den Wert niedriger zuzuordnen, sonst weisen Sie den Wert hoch. 798 00:35:12,750 --> 00:35:15,802 >> Diese Folien werden online, keine Sorgen wenn euch nicht bekommen, diese nach unten. 799 00:35:15,802 --> 00:35:18,510 Dies ist nur eine einfachere Möglichkeit, eine weitere effiziente Möglichkeit, das Schreiben von Code. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 OK. 802 00:35:21,810 --> 00:35:25,190 >> So, jetzt sind wir zu gehen Geben Sie, was für die meisten Menschen 803 00:35:25,190 --> 00:35:28,660 sind wie ein sehr, sehr verwirrend Sache, über zunächst denken. 804 00:35:28,660 --> 00:35:30,226 Der Schleifenabschnitt. 805 00:35:30,226 --> 00:35:32,600 Also heute werden wir zu sprechen etwa drei Arten von Schleifen. 806 00:35:32,600 --> 00:35:34,890 Wir werden mit einer Weile beginnen Schleife, dann zu einem do while-Schleife zu sprechen, 807 00:35:34,890 --> 00:35:36,740 und dann reden über for-Schleifen. 808 00:35:36,740 --> 00:35:40,010 >> So im Wesentlichen, für die mehr visuelle Lerner gibt, 809 00:35:40,010 --> 00:35:44,410 Wir haben im Wesentlichen eine grafische Beschreibung von, was eine while-Schleife tut. 810 00:35:44,410 --> 00:35:48,290 Also in einer Programmiersprache, können Sie beginnen würde und geben Sie die Schleife an einem bestimmten Punkt. 811 00:35:48,290 --> 00:35:49,470 Sie prüfen eine Bedingung. 812 00:35:49,470 --> 00:35:52,165 Und falls die Bedingung wahr ist, Sie den Code innerhalb auszuführen. 813 00:35:52,165 --> 00:35:53,790 Und Sie wieder um kommen und Sie zu prüfen. 814 00:35:53,790 --> 00:35:57,190 Wenn es immer noch wahr, dass du am Laufen zu halten dieser Code um und um in einer Schleife. 815 00:35:57,190 --> 00:36:00,970 >> Jedoch der zweite, dass die Bedingung falsch, 816 00:36:00,970 --> 00:36:02,739 Sie gehen zu brechen und am Ende der Schleife. 817 00:36:02,739 --> 00:36:05,030 Und dies ist im Wesentlichen das Syntax Sie verwenden sind. 818 00:36:05,030 --> 00:36:08,250 Während eine bestimmte Bedingung wahre dies zu tun, wenn es nicht wahr ist, 819 00:36:08,250 --> 00:36:12,920 Wirst du zum Ende springen bist und sich zu bewegen mit Ihrem Programm. 820 00:36:12,920 --> 00:36:13,690 OK. 821 00:36:13,690 --> 00:36:17,250 >> Hat jemand ein Beispiel haben was potentiell passieren 822 00:36:17,250 --> 00:36:19,160 wenn ich versuche, dieses Stück Code ausführen? 823 00:36:19,160 --> 00:36:22,470 By the way, das ist Scaz SAJ--, Andi, Jason-- wir unsere E-Mails abmelden, 824 00:36:22,470 --> 00:36:24,830 Liebe, SAJ. 825 00:36:24,830 --> 00:36:25,573 Das sind wir. 826 00:36:25,573 --> 00:36:26,500 OK. 827 00:36:26,500 --> 00:36:29,829 >> Wer noch ein Beispiel, oder eine Idee, was das wäre zu drucken? 828 00:36:29,829 --> 00:36:30,870 Art eine Fangfrage. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Also hier, denken Sie daran die Bedingung Wir überprüfen für ist, während wahr. 831 00:36:39,380 --> 00:36:42,840 So, während dies wahr ist, dann ist es Drucklegung, ich liebe SAJ! 832 00:36:42,840 --> 00:36:48,460 Gibt es einen Punkt, an dem wir würden irgendetwas sonst ändern? 833 00:36:48,460 --> 00:36:49,050 Kein Recht? 834 00:36:49,050 --> 00:36:51,470 >> Also hier haben wir gestoßen, was ist wahrscheinlich 835 00:36:51,470 --> 00:36:54,310 gehen zu Lauschangriff viel Ihre Programme, die Endlosschleife. 836 00:36:54,310 --> 00:36:56,268 Sie werden feststellen, dass, wenn Sie führen Sie dieses Stück Code, 837 00:36:56,268 --> 00:36:58,160 ist es nur geht zu halten Druck, ich liebe SAJ! 838 00:36:58,160 --> 00:37:00,701 Während wir schätzen die Unterstützung, wir nicht Ihren Computer möchten 839 00:37:00,701 --> 00:37:02,910 zum Absturz zu bringen, weil Sie halten Druck Ich liebe SAJ! 840 00:37:02,910 --> 00:37:05,320 >> Bitte, bitte, so, vermeiden die Endlosschleife 841 00:37:05,320 --> 00:37:07,320 denn es wird nie auf false ausgewertet 842 00:37:07,320 --> 00:37:08,780 und du wirst nie um die Schleife zu verlassen. 843 00:37:08,780 --> 00:37:10,530 Und du bist zu gehen in immer angesaugt werden. 844 00:37:10,530 --> 00:37:13,000 Cool. 845 00:37:13,000 --> 00:37:13,694 OK. 846 00:37:13,694 --> 00:37:15,610 Die zweite Art von Schleifen wir heute sprechen 847 00:37:15,610 --> 00:37:17,580 ist die do while-Schleife, Do-While-Schleife. 848 00:37:17,580 --> 00:37:20,580 Und es ist ein do-while-Schleife genannt weil Sie eine do und eine Weile. 849 00:37:20,580 --> 00:37:24,390 Also das ist ziemlich ähnlich wie eine Weile Schleife, aber ein bisschen anders. 850 00:37:24,390 --> 00:37:27,620 Hier können Sie tun werden was auch immer das Innere dieser 851 00:37:27,620 --> 00:37:29,747 während eine bestimmte Bedingung erfüllt ist. 852 00:37:29,747 --> 00:37:32,580 Also, wenn ich C und den Computer bin ich liefen dieses Stück Code, 853 00:37:32,580 --> 00:37:33,880 Ich einen Blick auf die Oberseite. 854 00:37:33,880 --> 00:37:36,890 Ich gehe in C, sage ich tun, dieses Ding. 855 00:37:36,890 --> 00:37:40,550 Und dann überprüfe ich, während dieser ist wahr, ich habe sie zu wiederholen. 856 00:37:40,550 --> 00:37:42,750 Aber während dies falsch ist, dann habe ich vorwärts zu bewegen 857 00:37:42,750 --> 00:37:44,700 und ich nie wieder in dieser Schleife wieder gehen. 858 00:37:44,700 --> 00:37:48,360 >> Kann jemand einen Stich nehmen auf das, was den Unterschied 859 00:37:48,360 --> 00:37:52,130 zwischen dieser Schleife und die, die wir gerade an war sah praktisch. 860 00:37:52,130 --> 00:37:52,717 Ja. 861 00:37:52,717 --> 00:37:55,050 SPEAKER 15: Die Bedingung kommt nach anstatt vor? 862 00:37:55,050 --> 00:37:55,841 ANDI PENG: Genau. 863 00:37:55,841 --> 00:37:57,984 So sagte der Zustand kommt nach, nicht vor. 864 00:37:57,984 --> 00:38:00,400 Letztlich ist die Differenz zwischen dieser und der while-Schleife 865 00:38:00,400 --> 00:38:03,597 ist, dass Sie gerade tun was auch immer das im Inneren dieses unabhängig von 866 00:38:03,597 --> 00:38:06,430 ob Ihr Zustand ist oder nicht wahr ist, und überprüfen Sie den Zustand. 867 00:38:06,430 --> 00:38:08,304 Also in diesem Fall, sind Sie always-- auf diese Weise, 868 00:38:08,304 --> 00:38:11,240 Sie immer darauf achten, was auch immer drin läuft mindestens 869 00:38:11,240 --> 00:38:14,230 einmal zu überprüfen, wenn Sie wollen, dass es wieder zu laufen. 870 00:38:14,230 --> 00:38:18,040 >> Und hier ist ein Beispiel, der, wenn wir sie verwenden würde. 871 00:38:18,040 --> 00:38:22,570 So zum Beispiel, wenn ich wollte, haben eine Variable vom Typ int namens Alter, 872 00:38:22,570 --> 00:38:25,640 und ich möchte veran der Benutzer für ihr Alter, 873 00:38:25,640 --> 00:38:27,910 Ich werde tun, printf () Wie alt bist du? 874 00:38:27,910 --> 00:38:30,330 Alter = getint (), die wird der Benutzer aufgefordert. 875 00:38:30,330 --> 00:38:32,140 >> Und einige Leute werden wirklich ärgerlich sein. 876 00:38:32,140 --> 00:38:34,931 Und Sie müssen nicht, dass Fehler in Ihrem Programm von jemandem wie Eingabe, 877 00:38:34,931 --> 00:38:36,680 oh Ich bin negativ 4 Jahre alt oder was auch immer. 878 00:38:36,680 --> 00:38:39,900 In diesem Fall, wenn sie tun, wertet diese 879 00:38:39,900 --> 00:38:43,150 zu wahren, was bedeutet, dass ich mich zu gehen muss immer wieder zurück und tun dies. 880 00:38:43,150 --> 00:38:45,310 So, das wird halten erneute Aufforderung des Benutzers 881 00:38:45,310 --> 00:38:47,960 um Sie wie ein echter geben die Anzahl und es ist 882 00:38:47,960 --> 00:38:51,930 werde immer wieder zurück und wiederherstellen , bis sie Ihnen ein wahres Alter 883 00:38:51,930 --> 00:38:56,900 größer als eins oder nicht Null ist. 884 00:38:56,900 --> 00:38:58,020 >> So deuten, Hinweis. 885 00:38:58,020 --> 00:39:02,263 Dies wird sehr, sehr nützlich für eines Ihrer PSet Probleme. 886 00:39:02,263 --> 00:39:04,155 Ja. 887 00:39:04,155 --> 00:39:05,580 >> Lautsprecher 16: Whoops, sorry. 888 00:39:05,580 --> 00:39:06,288 >> ANDI PENG: Yep. 889 00:39:06,288 --> 00:39:09,424 >> Lautsprecher 16: Gibt es nicht um ein Arschloch zu sein, aber-- 890 00:39:09,424 --> 00:39:10,340 ANDI PENG: Keine Sorge. 891 00:39:10,340 --> 00:39:11,990 Lautsprecher 16: Es --are unterschiedliche Regeln hier, 892 00:39:11,990 --> 00:39:13,810 oder hast du einfach vergessen um die Preisangabe zu setzen? 893 00:39:13,810 --> 00:39:14,250 >> ANDI PENG: Oh Yeah. 894 00:39:14,250 --> 00:39:15,530 Es tut uns leid, das ist total mein schlechtes. 895 00:39:15,530 --> 00:39:17,100 Das war auf jeden Fall soll ein Zitat zu sein. 896 00:39:17,100 --> 00:39:17,690 Guter Fang. 897 00:39:17,690 --> 00:39:18,800 Das wäre nicht ausgeführt haben. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 OK. 900 00:39:22,830 --> 00:39:26,160 >> So ist die letzte Art der Schleifen wir reden über und schließlich Art der meisten 901 00:39:26,160 --> 00:39:28,854 Komplex ist die for-Schleife. 902 00:39:28,854 --> 00:39:30,770 Mach dir keine Sorgen, wenn Sie nicht tun, wissen, was das bedeutet. 903 00:39:30,770 --> 00:39:32,061 Es ist ziemlich verwirrend auf den ersten. 904 00:39:32,061 --> 00:39:33,640 Wir werden mehr als ein Beispiel zu gehen. 905 00:39:33,640 --> 00:39:37,040 >> Alles, was in einer for-Schleife passiert, ist, dass Sie drei Erklärungen 906 00:39:37,040 --> 00:39:38,380 dass du gehst zu schließen. 907 00:39:38,380 --> 00:39:42,130 Also für eine bestimmte Sache, du bist gehen, um eine Variable zu initialisieren. 908 00:39:42,130 --> 00:39:45,280 Sie werden, um den Zustand zu fügen welche diese Schleife wird am Laufen zu halten. 909 00:39:45,280 --> 00:39:47,790 Und dann, am Ende der Schleife, Sie gehen, um es zu aktualisieren. 910 00:39:47,790 --> 00:39:50,248 Sie können die Variable aktualisieren dass Sie den Überblick behalten wollen. 911 00:39:50,248 --> 00:39:52,530 So verwenden wir in der Regel for-Schleifen, wenn wir 912 00:39:52,530 --> 00:39:55,390 wollen, um eine Schleife für einen Lauf gewisse Zeit 913 00:39:55,390 --> 00:39:58,900 und wir bereits wissen, Oh, ich will diese Schleife wie 10 Mal ausführen, 914 00:39:58,900 --> 00:40:03,060 dann do-- Ich gehe über ein Beispiel für auf der nächsten Seite. 915 00:40:03,060 --> 00:40:07,830 >> So, hier beispielsweise im Scratch, wenn Sie wollte etwas zu 10 Mal wiederholen, 916 00:40:07,830 --> 00:40:10,790 alles, was Sie zu sagen hatte, war, 10-mal wiederholen Ich liebe SAJ! 917 00:40:10,790 --> 00:40:15,260 was ein akzeptabler Zeichen der Unterstützung für uns, 918 00:40:15,260 --> 00:40:17,120 anstatt die Endlosschleife. 919 00:40:17,120 --> 00:40:19,920 Hier, wie würden Sie Übergang zu C und Schreib 920 00:40:19,920 --> 00:40:26,040 das ist für int-- Ich werde zu erstellen oder deklarieren Sie eine Variable vom Typ int namens i. 921 00:40:26,040 --> 00:40:30,089 Ich werde zu initialisieren es auf 0, so i = 0; 922 00:40:30,089 --> 00:40:31,630 und dies wird mein Zustand sein. 923 00:40:31,630 --> 00:40:33,860 So dass ich weniger als 10. 924 00:40:33,860 --> 00:40:36,096 Und dann am end-- die letzte Anweisung Sie 925 00:40:36,096 --> 00:40:38,710 zu haben, ist die Aktualisierung der was passiert, auf die Variable i 926 00:40:38,710 --> 00:40:40,206 am Ende des for-Schleife. 927 00:40:40,206 --> 00:40:42,830 Also, es ist irgendwie verwirrend, denn verschiedene Teile dieser Linie 928 00:40:42,830 --> 00:40:44,871 an unterschiedlichen geschieht Arten der Schleife. 929 00:40:44,871 --> 00:40:46,746 Aber ich werde mehr als gehen Pseudo Beispiel dafür 930 00:40:46,746 --> 00:40:50,360 und vielleicht erklären nur ein bisschen besser. 931 00:40:50,360 --> 00:40:51,500 >> Also hier. 932 00:40:51,500 --> 00:40:52,929 Das ist die Schleife wir gerade gesehen haben. 933 00:40:52,929 --> 00:40:55,470 Im Wesentlichen in Pseudocode, was wird in diesem Programm geschieht, 934 00:40:55,470 --> 00:40:57,940 ist in erster Ich erstelle i, der Initialisierung auf 0. 935 00:40:57,940 --> 00:41:00,440 Ich überprüfe, ob i weniger als 10, wobei 936 00:41:00,440 --> 00:41:02,840 das erste Mal ist da 0 weniger als 10. 937 00:41:02,840 --> 00:41:04,727 So wird die Schleife laufen soll. 938 00:41:04,727 --> 00:41:06,310 Und dann werde ich diese Zeile zu drucken. 939 00:41:06,310 --> 00:41:11,240 Und dann am Ende dieser Leitung mit der rechten hier, ich werde Schritt i, ++ ich tue, 940 00:41:11,240 --> 00:41:13,370 all das Mittel Inkrementieren um eins. 941 00:41:13,370 --> 00:41:15,460 >> Also ist i jetzt 1. 942 00:41:15,460 --> 00:41:17,960 Denn es war einmal 0, wenn ich erhöhen, es ist, es ist jetzt 1. 943 00:41:17,960 --> 00:41:19,610 Und dann werde ich zurück zu gehen an den Anfang der Schleife 944 00:41:19,610 --> 00:41:20,730 und ich den Zustand. 945 00:41:20,730 --> 00:41:22,080 Ist der Zustand immer noch wahr? 946 00:41:22,080 --> 00:41:24,030 Ja, das ist ein immer noch weniger als 10. 947 00:41:24,030 --> 00:41:27,370 Also es geht um diese erneut zu drucken, gehen und dann zu erhöhen i, und überprüfen 948 00:41:27,370 --> 00:41:29,180 die Bedingung kontinuierlich kontinuierlich, 949 00:41:29,180 --> 00:41:33,290 bis Sie schließlich erhalten zu dem Punkt, wobei i 10. 950 00:41:33,290 --> 00:41:36,300 >> Du wirst diese 10-mal ausdrucken und dann i wird sich gleich 10. 951 00:41:36,300 --> 00:41:37,800 Sie werden, um den Zustand zu überprüfen. 952 00:41:37,800 --> 00:41:38,760 10 weniger als 10? 953 00:41:38,760 --> 00:41:40,370 Nein, das ist falsch. 954 00:41:40,370 --> 00:41:43,020 Somit wird diese Schleife nicht zu laufen, es geht um zu brechen, 955 00:41:43,020 --> 00:41:45,040 und du bist zu gehen weiter mit Ihrem Code. 956 00:41:45,040 --> 00:41:47,550 >> So wie euch kann, dies zu sehen ist ein wirklich großartiges Beispiel 957 00:41:47,550 --> 00:41:53,110 einer Schleife können Sie programmieren, dass läuft für eine bestimmte Menge an Zeit. 958 00:41:53,110 --> 00:41:54,457 Jeder klar? 959 00:41:54,457 --> 00:41:54,956 Ja. 960 00:41:54,956 --> 00:41:59,060 >> Lautsprecher 17: Wie wäre es mit Schrittweite exponentiell, ist es unterschiedliche Codierung? 961 00:41:59,060 --> 00:42:02,060 >> ANDI PENG: Sie can-- wir gehen darüber in der nächsten Folie. 962 00:42:02,060 --> 00:42:03,350 Gute Frage. 963 00:42:03,350 --> 00:42:05,910 Ist anyone-- bevor ich zu bewegen an-- haupt jemand verwirrt, 964 00:42:05,910 --> 00:42:07,640 denn dies ist eine wirklich schwierige Konzept. 965 00:42:07,640 --> 00:42:09,510 Keine Sorge, wenn you're-- OK. 966 00:42:09,510 --> 00:42:10,010 Cool. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> Gut. 969 00:42:13,490 --> 00:42:14,610 Nur eine allgemeine Rutsche. 970 00:42:14,610 --> 00:42:18,020 Diese while-Schleife tut das genau die gleiche Sache der for-Schleife war. 971 00:42:18,020 --> 00:42:19,631 Es ist nur anders geschrieben. 972 00:42:19,631 --> 00:42:22,130 Euch kann die Folien durchgehen an Ihrer Bequemlichkeit später. 973 00:42:22,130 --> 00:42:24,880 Aber genau wissen, dass es mehrere Schreibweisen elbe 974 00:42:24,880 --> 00:42:28,300 um mit verschiedenen Schleifen geschehen. 975 00:42:28,300 --> 00:42:28,800 OK. 976 00:42:28,800 --> 00:42:32,380 >> So, jetzt in der Frage, bekommen wir, was wenn wir eine Schleife innerhalb einer Schleife. 977 00:42:32,380 --> 00:42:35,810 Wir sind in reale bekommen Inception Typ Sachen hier. 978 00:42:35,810 --> 00:42:40,640 Wenn Sie die Dinge tun wollen mehrere Zeiten innerhalb anderem 979 00:42:40,640 --> 00:42:44,129 dass die Dinge mehrere Male, die Sie wollen, was eine verschachtelte for-Schleife genannt. 980 00:42:44,129 --> 00:42:47,420 Für diejenigen unter Ihnen, die zuerst sehen dies und sehr verwirrt, alle sind wir hier 981 00:42:47,420 --> 00:42:50,580 wird mit einer for-Schleife, wo wir haben eine Variable der Reihe. 982 00:42:50,580 --> 00:42:54,500 Aber innen von ihm, haben wir auch eine andere for-Schleife einer Variablen namens Spalte. 983 00:42:54,500 --> 00:42:58,560 Und ich empfehle euch alle die verwirrt sind, um zuerst zu halten 984 00:42:58,560 --> 00:43:00,310 track-- diese herauszuziehen, ziehen diese heraus. 985 00:43:00,310 --> 00:43:03,000 Versuchen Sie nicht, gerade Grund durch sie, ziehen Sie es heraus. 986 00:43:03,000 --> 00:43:06,630 >> In deinem Kopf, auf diesem Stück Papier, oder was auch immer, Schreib Reihe, 987 00:43:06,630 --> 00:43:08,614 zu verfolgen, was Zeile gleich ist. 988 00:43:08,614 --> 00:43:10,780 Schreiben Sie Spalte, im Auge behalten von welcher Spalte ist gleich. 989 00:43:10,780 --> 00:43:13,490 Und zu verfolgen, was ist Ausdrucken mit jeder Iteration. 990 00:43:13,490 --> 00:43:16,320 Jede Iteration dieser Schleife jedes Iteration dieses größere Schleife, 991 00:43:16,320 --> 00:43:17,820 einfach weiter nach der Logik. 992 00:43:17,820 --> 00:43:20,190 Und ich garantiere Ihnen, Sie lieben, was Sie sehen, 993 00:43:20,190 --> 00:43:24,307 denn es ist auch sehr die für Ihre Problemstellungen. 994 00:43:24,307 --> 00:43:24,806 Cool. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 Gut. 997 00:43:28,000 --> 00:43:30,723 Also das Wichtigste dass Sie Jungs sind wohl alle 998 00:43:30,723 --> 00:43:32,400 darüber nachzudenken, gerade jetzt, sind Ihr Problem Set 1s, 999 00:43:32,400 --> 00:43:33,650 die fällig sind Donnerstag / Freitag. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> In Ihrem water.c Programm, Hinweis Sie gehen zu müssen, sind 1002 00:43:39,710 --> 00:43:41,590 den Benutzer nach einer Eingabe auffordern. 1003 00:43:41,590 --> 00:43:43,640 Innerhalb Ihres mario.c Programm Sie gehen zu müssen sind 1004 00:43:43,640 --> 00:43:46,431 um eine verschachtelte for-Schleife verwenden, das ist, eine for-Schleife innerhalb einer for-Schleife, 1005 00:43:46,431 --> 00:43:50,247 um einen Block von Pyramide zu drucken, im Wesentlichen wie das, was Mario hat zu springen. 1006 00:43:50,247 --> 00:43:53,330 Und dann in Ihrem greedy-- oder vielleicht Den Wandel, wenn einer von euch Jungs 1007 00:43:53,330 --> 00:43:55,740 jemals von dass-- hören Sie gehen zu müssen, um ganz sein sind 1008 00:43:55,740 --> 00:43:58,160 vorsichtig ersten Fließkommazahlen. 1009 00:43:58,160 --> 00:44:01,860 Denken Sie daran, schwimmenden Dezimalstellen und ganze Zahlen sind nicht das gleiche. 1010 00:44:01,860 --> 00:44:03,620 Behalten Sie den Überblick von denen einer dem. 1011 00:44:03,620 --> 00:44:05,953 Und Sie gehen zu verwenden sind bedingte Anweisungen, wie gut. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> Alles klar, letzte Sache. 1014 00:44:10,940 --> 00:44:12,770 Ich habe ein paar Minuten vor dem Ende stand. 1015 00:44:12,770 --> 00:44:13,460 Stil. 1016 00:44:13,460 --> 00:44:19,320 Also das ist etwas, das nicht tut, tatsächlich bewirken, die Effizienz, 1017 00:44:19,320 --> 00:44:21,010 oder die tatsächliche Lauf Ihres Codes. 1018 00:44:21,010 --> 00:44:24,380 Allerdings bewirkt es uns als Ihre Grader, wie Ihre Leser. 1019 00:44:24,380 --> 00:44:27,290 Es bewirkt Sie sich, wenn Sie versuchen, ein Problem zu finden. 1020 00:44:27,290 --> 00:44:30,700 Es bewirkt die Lesbarkeit des Codes. 1021 00:44:30,700 --> 00:44:34,070 >> So Stil, wie wenn Sie versuchen, Stil einen Aufsatz für Englisch, wenn Sie 1022 00:44:34,070 --> 00:44:36,070 hatte keine Absätze, Sie alles, was Art haben 1023 00:44:36,070 --> 00:44:39,190 zusammen in einer Zeile durcheinander, es macht es wirklich schwierig für alle, 1024 00:44:39,190 --> 00:44:42,620 um Ihren Aufsatz zu lesen, auch wenn Ihre Punkte logisch Sound. 1025 00:44:42,620 --> 00:44:44,390 Das Gleiche gilt in der Programmierung. 1026 00:44:44,390 --> 00:44:47,910 Sie können schrecklich obskuren haben Code, der Scaz deckt, 1027 00:44:47,910 --> 00:44:49,660 und es kann noch laufen und Funktion. 1028 00:44:49,660 --> 00:44:53,110 Aber für uns, wie Ihre schöne TAs, wer dann werden das Lesen und Auswerten Ihrer pset- 1029 00:44:53,110 --> 00:44:54,460 das ist nicht sehr nett. 1030 00:44:54,460 --> 00:44:56,859 >> Also bitte, im Interesse von uns und sich selbst, 1031 00:44:56,859 --> 00:44:58,900 wenn Sie versuchen, zu beheben sind ein Problem in Ihrem Code, 1032 00:44:58,900 --> 00:45:00,774 und Sie versuchen, Lesen Sie Ihren eigenen Code, stellen 1033 00:45:00,774 --> 00:45:03,910 sicher, dass Sie einige Konventionen folgen dass wir gehen, um zu gehen zu Ende. 1034 00:45:03,910 --> 00:45:04,510 >> Also zuerst. 1035 00:45:04,510 --> 00:45:07,070 Geben Sie Ihre Variablen aussagekräftige Namen. 1036 00:45:07,070 --> 00:45:11,450 Wenn Sie eine ganze Zahl speichern möchten genannt Alter, nennen Sie bitte Alter. 1037 00:45:11,450 --> 00:45:12,875 Nennen Sie es nicht Höhe. 1038 00:45:12,875 --> 00:45:14,750 Wenn Sie versuchen, speichern ein Alter in der Höhe, 1039 00:45:14,750 --> 00:45:16,722 es macht alles sehr verwirrend für uns. 1040 00:45:16,722 --> 00:45:17,930 Wir mögen nicht verwechselt werden. 1041 00:45:17,930 --> 00:45:19,180 Sie mag es nicht, zu verwechseln. 1042 00:45:19,180 --> 00:45:20,350 Niemand mag es, zu verwechseln. 1043 00:45:20,350 --> 00:45:23,100 Wenn Sie gehen, um etwas zu schaffen, nennen Sie es etwas Sinnvolles. 1044 00:45:23,100 --> 00:45:26,440 >> Doch in for-Schleife, Single Zeichenvariablen sind in der Regel in Ordnung. 1045 00:45:26,440 --> 00:45:31,350 Und in for-Schleife, wenn Sie nur wollen i, und j, k, fühlen sich frei, genau das zu tun. 1046 00:45:31,350 --> 00:45:32,670 >> Konsistente Initialisierung. 1047 00:45:32,670 --> 00:45:33,770 Also, was bedeutet das? 1048 00:45:33,770 --> 00:45:37,600 Das bedeutet technisch, theoretisch Sie initiieren und erstellen können 1049 00:45:37,600 --> 00:45:40,140 mehrere Variablen in der gleichen Zeile. 1050 00:45:40,140 --> 00:45:42,820 So zum Beispiel, ich erstellen kann eine ganze Zahl genannt scaz_age, 1051 00:45:42,820 --> 00:45:47,110 und Integer genannt andi_age = 20, und eine ganze Zahl genannt jason_age 1052 00:45:47,110 --> 00:45:48,090 auf der gleichen Linie. 1053 00:45:48,090 --> 00:45:52,060 Und ich kann auch nur eines der zuweisen sie und die anderen nicht, Werte. 1054 00:45:52,060 --> 00:45:54,142 Wir bitten Sie, bitte tun Sie das nicht. 1055 00:45:54,142 --> 00:45:57,350 Weil man hier im wesentlichen erstellt haben drei Variablen, aber nur einer von ihnen 1056 00:45:57,350 --> 00:45:58,295 tatsächlich hat einen Wert. 1057 00:45:58,295 --> 00:46:00,170 Und dann, wenn wir versuchen, den Code zu lesen, 1058 00:46:00,170 --> 00:46:01,850 oder wenn Sie versuchen, zu beheben sind ein Problem in Ihrem Code, 1059 00:46:01,850 --> 00:46:03,340 es ist sehr verwirrend zu folgen. 1060 00:46:03,340 --> 00:46:09,300 Also einfach für Ihre Lesbarkeit für unsere Lesbarkeit, tun Sie das nicht. 1061 00:46:09,300 --> 00:46:10,355 >> Konsequente geschweiften Klammern. 1062 00:46:10,355 --> 00:46:12,980 Einige Leute mögen ihre setzen geschweiften Klammern an verschiedenen Orten. 1063 00:46:12,980 --> 00:46:14,100 Es spielt eigentlich keine Rolle. 1064 00:46:14,100 --> 00:46:17,900 So stellen Sie sicher sind konsequent in Ihrem eigenen Code auf, wo Sie sie setzen möchten. 1065 00:46:17,900 --> 00:46:18,950 >> Konsequente Abstand. 1066 00:46:18,950 --> 00:46:22,040 Wenn Sie ein Leerzeichen nach einem legen for-Schleife, immer das tun. 1067 00:46:22,040 --> 00:46:24,930 Nicht gerade wie Art tun es zumin einige Orte, tun Sie es nicht in anderen. 1068 00:46:24,930 --> 00:46:26,580 Seien Sie konsequent. 1069 00:46:26,580 --> 00:46:29,500 >> Zweitens, wenn jemand möchte um den CS50 Style Guide durchlesen, 1070 00:46:29,500 --> 00:46:33,230 wir offiziell eine Art Leitfaden, erfahren Sie alles dieser Übereinkommen, 1071 00:46:33,230 --> 00:46:34,890 plus mehr. 1072 00:46:34,890 --> 00:46:35,530 Es ist online. 1073 00:46:35,530 --> 00:46:38,670 Es ist wie cs50.net/style oder etwas ähnliches. 1074 00:46:38,670 --> 00:46:40,180 Sie können es Google. 1075 00:46:40,180 --> 00:46:41,399 >> Konsistenz ist der Schlüssel. 1076 00:46:41,399 --> 00:46:43,190 Also keine Sorge, was andere Leute tun, 1077 00:46:43,190 --> 00:46:46,180 so stellen Sie sicher, dass Sie konsistent in den eigenen Code. 1078 00:46:46,180 --> 00:46:50,570 Jedermann haben alle mögliche Fragen über das? 1079 00:46:50,570 --> 00:46:51,070 Ja. 1080 00:46:51,070 --> 00:46:53,370 >> Lautsprecher 18: So ist die richtige Sache, zu tun mit der Initialisierung ist nur 1081 00:46:53,370 --> 00:46:56,130 haben sie alle in einem separaten Linie ist das, was du sagst? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI PENG: Also ich selten habe dies geschieht. 1083 00:46:58,850 --> 00:47:02,230 Aber wenn man wollte, wenn man wollte, wie platzsparend in Ihrem Code, 1084 00:47:02,230 --> 00:47:04,000 oder was auch immer, können Sie dies tun. 1085 00:47:04,000 --> 00:47:07,800 Wir bitten, dass Sie gerade nicht zu initialisieren eine Sache, und nicht die anderen. 1086 00:47:07,800 --> 00:47:12,600 Also, wenn Sie int scaz_age tun wollen, int andi_age, int jason_age, das ist in Ordnung. 1087 00:47:12,600 --> 00:47:15,600 Nur nicht zu initialisieren einem und nicht die anderen ist alles. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Haben Sie Fragen? 1090 00:47:19,904 --> 00:47:20,850 Gut. 1091 00:47:20,850 --> 00:47:24,610 Ich werde vorübergehen die Mikrofon, und die Laser-Zeiger, 1092 00:47:24,610 --> 00:47:28,862 und der Stab an dieser Stelle Scaz. 1093 00:47:28,862 --> 00:47:29,808 Dies ist umständlich. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Hier ist es. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN Scassellati: Vielen Dank. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Wie ist das für ein Geräusch? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Sound ist gut? . 1101 00:47:47,900 --> 00:47:49,220 Ausgezeichnet. 1102 00:47:49,220 --> 00:47:50,350 OK. 1103 00:47:50,350 --> 00:47:52,110 Also, Hallo allerseits. 1104 00:47:52,110 --> 00:47:56,540 >> Ich werde versuchen, durch Arbeit ein praktisches Beispiel mit Ihnen. 1105 00:47:56,540 --> 00:48:00,850 Und wir werden CS50 verwenden Entwicklungsumgebung, was heißt 1106 00:48:00,850 --> 00:48:03,120 Die integrierte Entwicklungsumgebung. 1107 00:48:03,120 --> 00:48:05,145 Und Sie dies gesehen haben in der Vorlesung demonstriert. 1108 00:48:05,145 --> 00:48:07,520 Und in Problem Set 1, du bist werde die Gelegenheit haben, 1109 00:48:07,520 --> 00:48:10,890 , es zu benutzen, und spielen, um mit , und daran gewöhnt zu werden, 1110 00:48:10,890 --> 00:48:13,640 denn wir gehen, es zu benutzen durch den Rest des Semesters. 1111 00:48:13,640 --> 00:48:20,350 >> Also in diesem IDE, haben Sie, was aussieht wie eine sehr traditionelle Datei-Browser 1112 00:48:20,350 --> 00:48:21,890 mehr als auf einer Seite. 1113 00:48:21,890 --> 00:48:24,360 Sie haben einen Teil stand auf top, wohin du gehst 1114 00:48:24,360 --> 00:48:28,850 um den Quellcode zu sehen, Ihre Cfile, der Code, den Sie schreiben. 1115 00:48:28,850 --> 00:48:31,880 Und unten unten, werden Sie haben Sie ein Terminalfenster 1116 00:48:31,880 --> 00:48:36,330 wo es mit Hilfe sein, sowohl kompilieren Ihr Programm 1117 00:48:36,330 --> 00:48:39,090 und zu laufen oder Ihr Programm auszuführen. 1118 00:48:39,090 --> 00:48:40,100 OK. 1119 00:48:40,100 --> 00:48:46,560 >> Also, nur um uns ein wenig geben, Stiftung in diesem Terminalfenster 1120 00:48:46,560 --> 00:48:48,930 wirst du sein wirst Verwendung eines Satzes von Befehlen, 1121 00:48:48,930 --> 00:48:53,040 die Standard-Befehle sind in ganz die meisten Unix- oder Linux-Systemen. 1122 00:48:53,040 --> 00:48:55,890 Und so, wenn Sie überhaupt benutzt haben Jede Form von Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 oder einen der anderen Aromen, diese gehen zu bekannt vorkommen. 1124 00:48:59,140 --> 00:49:00,890 >> Wenn Sie nicht, keine Sorge. 1125 00:49:00,890 --> 00:49:02,830 Es gibt nichts kompliziert über sie. 1126 00:49:02,830 --> 00:49:05,330 Sie sind nur mit einem anderen Syntax, eine andere Namens 1127 00:49:05,330 --> 00:49:07,630 Konvention als Sie noch nie gesehen. 1128 00:49:07,630 --> 00:49:12,190 >> So aufführen, die Dateien in einem bestimmten Verzeichnis, 1129 00:49:12,190 --> 00:49:15,310 sie gehen, um eine zu verwenden Befehl namens ls oder einer Liste. 1130 00:49:15,310 --> 00:49:18,010 Wenn Sie alles sehen wollen mit allen Details, 1131 00:49:18,010 --> 00:49:21,535 Sie einen Befehl verwenden Zeilenargument mit ls -l. 1132 00:49:21,535 --> 00:49:23,910 Und das werde dir alles zeigen genauer, einschließlich 1133 00:49:23,910 --> 00:49:26,270 die Berechtigungen für eine Datei. 1134 00:49:26,270 --> 00:49:31,190 >> Um Verzeichnis zu ändern, Sie werden mit dem Befehl cd zu verwenden. 1135 00:49:31,190 --> 00:49:35,180 Und du wirst in der Lage, Verzeichnis ändern sowohl auf Ihrem Home-Verzeichnis zu gehen. 1136 00:49:35,180 --> 00:49:38,500 Das ist nur cd alle durch selbst, cd mit zwei 1137 00:49:38,500 --> 00:49:42,930 Punkte werden Sie up one zurück Niveau zu Ihrer vorherigen Verzeichnis. 1138 00:49:42,930 --> 00:49:46,400 Und Sie können auch CD auf eine Unterverzeichnis, indem Sie in cd 1139 00:49:46,400 --> 00:49:48,500 und der Name dieses Unterverzeichnis. 1140 00:49:48,500 --> 00:49:50,540 >> Sie können auch neue Verzeichnisse erstellen. 1141 00:49:50,540 --> 00:49:52,790 Und wir werden zu Fuß gehen durch diese in nur einer Minute. 1142 00:49:52,790 --> 00:49:54,498 Aber gerade zu setzen alles, was auf dem Bildschirm. 1143 00:49:54,498 --> 00:49:56,310 Damit Sie sie sehen. 1144 00:49:56,310 --> 00:50:00,420 >> Darüber hinaus haben Sie die Möglichkeit, um Dateien direkt bearbeiten 1145 00:50:00,420 --> 00:50:02,100 von der Kommandozeile. 1146 00:50:02,100 --> 00:50:06,059 Sie werden in der Lage, sie zu kopieren sein verschieben Sie sie, oder sie zu entfernen, 1147 00:50:06,059 --> 00:50:07,600 das heißt, effektiv, um sie zu löschen. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> Der CS50 IDE gibt Ihnen die volle Macht der Kommandozeilenargumente. 1150 00:50:15,350 --> 00:50:20,280 Und das bedeutet, können Sie auch tun sehr gefährliche Dinge. 1151 00:50:20,280 --> 00:50:21,560 OK. 1152 00:50:21,560 --> 00:50:25,010 Zum Beispiel, können Sie zu entfernen, oder das ist löschen, 1153 00:50:25,010 --> 00:50:28,750 eine Datei, ohne zu fragen, um eine Bestätigung. 1154 00:50:28,750 --> 00:50:31,820 Und Sie können sogar entfernen recursively-- das ist, 1155 00:50:31,820 --> 00:50:38,940 der Bindestrich r flag-- eine ganze Unterverzeichnis und alle Inhalte. 1156 00:50:38,940 --> 00:50:39,660 OK. 1157 00:50:39,660 --> 00:50:42,940 Sie sind in rot, weil Sie sollte "Gefahr" denke jedes Mal, 1158 00:50:42,940 --> 00:50:45,000 Sie sehen, diese Dinge. 1159 00:50:45,000 --> 00:50:45,920 OK. 1160 00:50:45,920 --> 00:50:46,420 Gut. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Nun endlich, die Dinge, die sind gehen wirklich wertvoll für Sie sein, 1163 00:50:53,430 --> 00:50:57,270 gibt es ein paar gute Tricks zu wissen, wie Sie die Navigation sind 1164 00:50:57,270 --> 00:50:59,190 durch diesen Terminal-Fenster. 1165 00:50:59,190 --> 00:51:03,590 Erstens können Sie den Bildschirm löschen jederzeit durch einfaches Eintippen in klar. 1166 00:51:03,590 --> 00:51:06,310 Und du wirst sehen, mir, das zu tun ziemlich oft. 1167 00:51:06,310 --> 00:51:09,990 Sie können auch einfach angezeigt werden der Text einer Datei 1168 00:51:09,990 --> 00:51:13,992 indem mehr und dann den Namen der Datei. 1169 00:51:13,992 --> 00:51:17,200 Sie werden dann in der Lage, zurück zu blättern, und weiter mit, dass nur mit der Leertaste 1170 00:51:17,200 --> 00:51:19,010 und Pfeiltasten. 1171 00:51:19,010 --> 00:51:25,450 >> Wenn Sie haben, wie wir es heute in der Vorlesung, ein Programm, das kontinuierlich ausgeführt wird 1172 00:51:25,450 --> 00:51:29,190 in Endlosschleife, die Sie kann das Programm zu stoppen 1173 00:51:29,190 --> 00:51:35,160 von der Ausführung, indem Sie in der Steuerung, dass wird Strg-C gedrückt halten. 1174 00:51:35,160 --> 00:51:38,360 Und Sie können zu tun haben, diese mehrmals. 1175 00:51:38,360 --> 00:51:40,620 Der Computer erhält weit vor Ihnen. 1176 00:51:40,620 --> 00:51:43,380 Und Sie müssen manchmal geben Sie es ein paar Versuche 1177 00:51:43,380 --> 00:51:46,280 bevor es tatsächlich durchkommen. 1178 00:51:46,280 --> 00:51:48,760 >> Sie werden auch in der Lage zu sein, Art durch die Befehle 1179 00:51:48,760 --> 00:51:54,230 dass Sie gerade mit der Aufwärtstaste eingegeben haben, Pfeil und dann die Pfeiltaste nach unten. 1180 00:51:54,230 --> 00:51:57,560 Und was ist am nützlichsten ist, statt Tipp aus lange Dateinamen, 1181 00:51:57,560 --> 00:52:02,209 Sie in der Lage sein, um die Verwendung Tab Autocomplete ein paar Anweisungen. 1182 00:52:02,209 --> 00:52:04,750 Jetzt werden wir zeigen, alle, die in nur einer Sekunde. 1183 00:52:04,750 --> 00:52:06,780 Also, wenn Sie sich nicht erinnern sie, keine Sorge. 1184 00:52:06,780 --> 00:52:10,780 Dies sind Dinge, die Sie Abholung und verwenden, wie wir gehen. 1185 00:52:10,780 --> 00:52:11,470 OK. 1186 00:52:11,470 --> 00:52:18,830 >> So in C- anders als in Scratch-- C ist eine kompilierte Sprache. 1187 00:52:18,830 --> 00:52:23,210 Das bedeutet, dass wir gehen, um eine Quelle zu nehmen file-- das ist der Text, den Sie schreiben, 1188 00:52:23,210 --> 00:52:26,500 die Befehle, die Sie schreiben, die printf () Aussagen, die Schleifen, 1189 00:52:26,500 --> 00:52:32,580 alles else-- und wir werden , um die Datei zu nehmen und geben es weg 1190 00:52:32,580 --> 00:52:34,670 zu einem Programm namens den Compiler. 1191 00:52:34,670 --> 00:52:39,850 >> Der Compiler wird dann dass Text, den Sie geschrieben haben, 1192 00:52:39,850 --> 00:52:43,270 und übersetzen sie in die binären Instruktionen 1193 00:52:43,270 --> 00:52:46,010 dass Ihr Computer eigentlich los Gebrauch. 1194 00:52:46,010 --> 00:52:49,700 Das ist das Objekt aufgerufen oder die ausführbare Datei. 1195 00:52:49,700 --> 00:52:55,320 Wenn Sie sich die Datei ansehen, Sie gehen , um den Code, die Sie geschrieben haben, zu sehen. 1196 00:52:55,320 --> 00:52:59,480 Wenn Sie sich die Datei ansehen, Sie gehen um eine zufällige Folge von Zeichen zu sehen 1197 00:52:59,480 --> 00:53:01,680 dass keinen Sinn überhaupt. 1198 00:53:01,680 --> 00:53:03,250 Das ist, weil das ist die binäre. 1199 00:53:03,250 --> 00:53:05,560 Es ist nicht für Sie, um das Lesen gedacht. 1200 00:53:05,560 --> 00:53:08,690 >> Doch immer wenn Sie wollen, laufen etwas, was du gehst 1201 00:53:08,690 --> 00:53:13,670 zu laufen ist diese Objektdatei. 1202 00:53:13,670 --> 00:53:19,110 Also, wenn wir mit diesen Dateien, werden wir eine Datei in C schreiben 1203 00:53:19,110 --> 00:53:23,400 Wir werden dann kompilieren Sie es, mit ein Befehl wie make, die berufen werden 1204 00:53:23,400 --> 00:53:27,070 der Compiler Klang für die C-Sprache. 1205 00:53:27,070 --> 00:53:31,530 Und das wird ein Objekt zu erzeugen Datei, wie eine aus, oder in diesem Fall, 1206 00:53:31,530 --> 00:53:36,580 der Name, meine Datei, die ich in. 1207 00:53:36,580 --> 00:53:37,780 Gut. 1208 00:53:37,780 --> 00:53:39,790 >> Lassen Sie uns also tatsächlich versuchen dies. 1209 00:53:39,790 --> 00:53:42,850 So kam ich mit einem Beispiel von dem, was ich wollte, um zu versuchen. 1210 00:53:42,850 --> 00:53:47,380 Und eines der Dinge, die fasziniert mich ist Animation. 1211 00:53:47,380 --> 00:53:51,010 Also werden wir versuchen zu tun, ein bisschen Animation 1212 00:53:51,010 --> 00:53:53,760 mit nur ASCII-Zeichen. 1213 00:53:53,760 --> 00:53:56,470 Charaktere, die wir leicht heraus jetzt drucken. 1214 00:53:56,470 --> 00:54:00,890 >> So, hier ist mein bester Versuch zu schaffen für Sie 1215 00:54:00,890 --> 00:54:07,005 die Animation eines Häschens läuft durch das hohe Gras. 1216 00:54:07,005 --> 00:54:07,505 Da ist er. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 OK. 1219 00:54:10,670 --> 00:54:14,050 Also ist er noch nicht läuft, aber er ist dort stand im hohen Gras. 1220 00:54:14,050 --> 00:54:17,810 >> Nun, wenn ich ein Animator, in der alten Schule 1221 00:54:17,810 --> 00:54:20,860 Version von Animation, was ich tun würde, ist, würde ich zu produzieren 1222 00:54:20,860 --> 00:54:23,640 ein Bild von dieser Hase im Gras. 1223 00:54:23,640 --> 00:54:25,390 Und dann würde ich zu produzieren weiteres picture-- 1224 00:54:25,390 --> 00:54:30,600 ein anderer, was sie cell-- genannt, dass hatte der Hase nur geringfügig verschoben. 1225 00:54:30,600 --> 00:54:34,870 Und dann eine dritte, die hatte die bunny bewegt ein wenig weiter. 1226 00:54:34,870 --> 00:54:40,610 >> Und ich würde eine ganze produzieren Folge dieser Zellen. 1227 00:54:40,610 --> 00:54:44,220 Einige, wo der Hase ist vorbei auf der linken Seite. 1228 00:54:44,220 --> 00:54:47,050 Und dann bewegt sich langsam, eins durch eine in Richtung der Mitte. 1229 00:54:47,050 --> 00:54:51,120 Und dann von der Mitte nach rechts. 1230 00:54:51,120 --> 00:54:55,760 Und wenn ich dann wirklich Glück, konnte ich es zusammen 1231 00:54:55,760 --> 00:54:57,970 und ich konnte sie zu animieren. 1232 00:54:57,970 --> 00:55:00,370 Und es ist mein Hase laufen durch das Gras. 1233 00:55:00,370 --> 00:55:02,310 >> Das ist meine große Powerpoint- Trick für den Tag. 1234 00:55:02,310 --> 00:55:02,809 OK. 1235 00:55:02,809 --> 00:55:04,760 Also das ist so gut, wie es nur geht. 1236 00:55:04,760 --> 00:55:05,260 OK. 1237 00:55:05,260 --> 00:55:08,455 So, hier ein weiteres Mal, hier ist unsere bunny durch das Gras läuft. 1238 00:55:08,455 --> 00:55:09,217 >> Lautsprecher 19: Wieder. 1239 00:55:09,217 --> 00:55:11,050 BRIAN Scassellati: One mehr Zeit, alles in Ordnung. 1240 00:55:11,050 --> 00:55:11,940 Es ist Ihr Kaninchen. 1241 00:55:11,940 --> 00:55:12,940 OK. 1242 00:55:12,940 --> 00:55:15,470 >> Also heute, was wir zu tun ist, wir gehen 1243 00:55:15,470 --> 00:55:21,110 um zu versuchen, den Prozess zu automatisieren zur Herstellung dieser Zellen. 1244 00:55:21,110 --> 00:55:24,135 Wir werden nicht ganz bis zu dem Punkt zu erhalten in der Lage, sie alle zusammen. 1245 00:55:24,135 --> 00:55:28,900 Aber wir werden versuchen, das zu automatisieren Prozess der Erzeugung dieser Sequenz. 1246 00:55:28,900 --> 00:55:32,900 >> Und das ist viel von dem, was Animation ist heute wie. 1247 00:55:32,900 --> 00:55:36,690 Das heißt, Sie müssen nicht unbedingt die Dinge zu tun indem alles von Hand. 1248 00:55:36,690 --> 00:55:40,610 Wir verwenden einen Computer zu automatisieren Teile dieses Prozesses. 1249 00:55:40,610 --> 00:55:41,110 OK. 1250 00:55:41,110 --> 00:55:47,720 >> Also lassen Sie mich umschalten jetzt zu unserem CS50 IDE. 1251 00:55:47,720 --> 00:55:54,260 Und ich habe für us-- und lassen Sie erstellt mich heranzoomen hier ein wenig bit-- Ich habe 1252 00:55:54,260 --> 00:55:58,420 für uns geschaffen ein Ausgangspunkt. 1253 00:55:58,420 --> 00:56:03,830 >> Jedes Mal, wenn wir Sie bitten, sitzen hin und schreibe ein Stück Code, 1254 00:56:03,830 --> 00:56:09,250 was wir wirklich fragen, was Sie tun wird fragen wir, um ein Problem zu lösen. 1255 00:56:09,250 --> 00:56:11,810 Und die Art und Weise, dass Sie denken Sie tun 1256 00:56:11,810 --> 00:56:17,900 ist ausgehend von einigen einfache Teil dieser Lösung. 1257 00:56:17,900 --> 00:56:21,730 Und erstellen Sie dann aus diesem Teil. 1258 00:56:21,730 --> 00:56:23,400 Und das ist, was wir heute tun. 1259 00:56:23,400 --> 00:56:27,570 >> Also anstatt auf einmal versuchen, alle zu schreiben Sie den ganzen Haufen von Code, der ist 1260 00:56:27,570 --> 00:56:30,770 gehen, um diejenigen zu produzieren 10 Animation-Zellen, 1261 00:56:30,770 --> 00:56:35,506 wir gehen anstatt zu starten mit einem Stück, das funktioniert. 1262 00:56:35,506 --> 00:56:37,380 Und dann werden wir ein zu bauen etwas um, dass 1263 00:56:37,380 --> 00:56:39,740 und ein wenig mehr und ein wenig mehr. 1264 00:56:39,740 --> 00:56:42,550 >> Nun ist die gute Sache über Lösung von Problemen auf diese Weise 1265 00:56:42,550 --> 00:56:46,716 ist, dass es erlaubt Ihnen, zu starten immer mit etwas, das Sie wissen, 1266 00:56:46,716 --> 00:56:51,130 arbeitet und die Einführung einer allmählichen Wandel. 1267 00:56:51,130 --> 00:56:54,090 Und das ist ein guter Weg, lernen, wie man kodieren, 1268 00:56:54,090 --> 00:56:58,590 weil jedes Mal, wenn Sie eine Änderung sehen Sie, welche Auswirkungen es hat. 1269 00:56:58,590 --> 00:56:59,540 OK. 1270 00:56:59,540 --> 00:57:01,450 >> Also hier ist unser Ausgangspunkt. 1271 00:57:01,450 --> 00:57:01,950 OK. 1272 00:57:01,950 --> 00:57:08,030 Also am Anfang meiner Datei, Ich habe Hash #include stdio.h. 1273 00:57:08,030 --> 00:57:12,560 Das ist so, dass ich das bekommen Funktion printf (), um zu arbeiten. 1274 00:57:12,560 --> 00:57:15,240 >> Ich habe dann habe ich meine Hauptaufgabe. 1275 00:57:15,240 --> 00:57:18,760 Und dies immer noch ein wenig aussieht arkanen oder dunkel, einige von Ihnen. 1276 00:57:18,760 --> 00:57:20,010 Das ist ok. 1277 00:57:20,010 --> 00:57:23,190 Alles, was sie sagt, ist, dass die Hauptfunktion übernimmt 1278 00:57:23,190 --> 00:57:27,830 kein arguments-- nichtig Mittel nichts C. Und es 1279 00:57:27,830 --> 00:57:29,940 Rendite durch Konvention eine ganze Zahl. 1280 00:57:29,940 --> 00:57:33,290 Haupt immer einen Integer zurückgibt, in der Regel ein Code, Dinge zu sagen 1281 00:57:33,290 --> 00:57:35,071 ging gut oder nicht gut gehen. 1282 00:57:35,071 --> 00:57:35,570 OK. 1283 00:57:35,570 --> 00:57:39,110 Aber Haupt muss, dass haben bilden für uns jetzt. 1284 00:57:39,110 --> 00:57:42,080 >> Ich habe dann in drei Codezeilen setzen. 1285 00:57:42,080 --> 00:57:46,760 Und mit jeder Zeile Code, ich habe einen Kommentar zu setzen. 1286 00:57:46,760 --> 00:57:51,340 Jetzt ist einer der Dinge, wir werden darauf bestehen, dass Sie das tun, 1287 00:57:51,340 --> 00:57:55,320 und es ist so ein wichtiger Programmierpraxis, 1288 00:57:55,320 --> 00:57:57,800 ist es, immer Ihren Code zu kommentieren. 1289 00:57:57,800 --> 00:58:02,550 Notieren Sie immer in eine Englisch Kommentar etwas 1290 00:58:02,550 --> 00:58:06,740 dass Sie denken, die Code tun soll. 1291 00:58:06,740 --> 00:58:11,360 Auf diese Weise, später, wenn Sie zurück zu kommen, es kann man es auch dreht und man kann sagen, 1292 00:58:11,360 --> 00:58:13,800 oh, ich erinnere mich, was ich war, versuchen, damit zu tun. 1293 00:58:13,800 --> 00:58:17,590 Oder wenn eine TA setzt sich mit Ihnen, versuchen, Sie zu Bürozeiten zu helfen, 1294 00:58:17,590 --> 00:58:20,890 sie dies zu betrachten und gehen können, ich sehen, was Sie versuchen zu tun, 1295 00:58:20,890 --> 00:58:25,630 sondern dies was wirklich passiert. 1296 00:58:25,630 --> 00:58:26,130 OK. 1297 00:58:26,130 --> 00:58:30,300 >> Also habe ich drei Teilen, meinen Code zu bekommen, Ich bin zum ersten aller Druck gehen 1298 00:58:30,300 --> 00:58:33,110 aus einigen Punkten an den Start. 1299 00:58:33,110 --> 00:58:37,480 Ich werde dann drucken Sie meinen extrem extravagant bunny. 1300 00:58:37,480 --> 00:58:40,600 Und dann einige Bit von Punkten am Ende. 1301 00:58:40,600 --> 00:58:45,220 >> Und diese drei Druck Aussagen sollten bekannt vor an dieser Stelle. 1302 00:58:45,220 --> 00:58:47,350 Alles, was ich bin dabei jeder von ihnen ist mir 1303 00:58:47,350 --> 00:58:49,780 Drucken einer Folge von Zeichen. 1304 00:58:49,780 --> 00:58:51,370 Es gibt keine Variablen beteiligt. 1305 00:58:51,370 --> 00:58:54,320 Alles ist nur flach. 1306 00:58:54,320 --> 00:58:55,270 OK. 1307 00:58:55,270 --> 00:59:07,340 >> Also, wenn ich nach unten gehen jetzt zu meinem terminal-- mal sehen, ob ich diese wieder out-- 1308 00:59:07,340 --> 00:59:09,370 und ich werde erneut eingeben klar. 1309 00:59:09,370 --> 00:59:12,507 >> Lautsprecher 20: Verwenden wir die Doppel-Schrägstrich einen Kommentar abgeben? 1310 00:59:12,507 --> 00:59:14,340 BRIAN Scassellati: Dose verwenden Sie die double-- ja. 1311 00:59:14,340 --> 00:59:16,920 Es gibt mehrere Möglichkeiten, Kommentare zu hinterlassen in C. Ein 1312 00:59:16,920 --> 00:59:19,440 Weg ist die Doppelstrich verwendet werden. 1313 00:59:19,440 --> 00:59:24,910 Die andere ist, einen Schrägstrich und einen Stern verwenden und schließen Sie dann mit einem Sternchen und einem Schrägstrich. 1314 00:59:24,910 --> 00:59:26,110 Gut. 1315 00:59:26,110 --> 00:59:28,950 >> Zunächst einmal, ich bin zu gehen Navigation beginnen hier in der Nähe. 1316 00:59:28,950 --> 00:59:35,350 Also, wenn ich zu meinem Home-Verzeichnis, Ich habe Verzeichnisse dort geändert, 1317 00:59:35,350 --> 00:59:40,230 Ich werde schauen und sehen, was ist in diesem Verzeichnis, ls, listet. 1318 00:59:40,230 --> 00:59:43,230 Ich werde sehen, dass ich bekam zwei Unterverzeichnisse. 1319 00:59:43,230 --> 00:59:47,910 Lassen Sie uns dies ein wenig größer Hier, so dass wir alle können es sehen. 1320 00:59:47,910 --> 00:59:50,610 >> Ich kann sehen, dass ich bekam zwei Unterverzeichnisse. 1321 00:59:50,610 --> 00:59:53,510 Ich werde Verzeichnis wechseln in Arbeitsbereich zu gehen. 1322 00:59:53,510 --> 00:59:58,380 Und ich werde nur tippen ein Teil davon, und dann drücken Sie einfach Tab. 1323 00:59:58,380 --> 01:00:01,520 Und es wird den Rest für mich abzuschließen. 1324 01:00:01,520 --> 01:00:03,370 Fancy. 1325 01:00:03,370 --> 01:00:04,960 >> Ich werde schauen und sehen, im Arbeitsbereich. 1326 01:00:04,960 --> 01:00:08,431 Und gerade jetzt, ich arbeite auf der SuperSection 1327 01:00:08,431 --> 01:00:09,680 dass wir jetzt unterrichten. 1328 01:00:09,680 --> 01:00:10,971 Also werde ich in dieses Verzeichnis zu gehen. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 Und schließlich, schauen und sehen. 1331 01:00:15,970 --> 01:00:18,480 Und ich habe diese Datei bunny.c bekam. 1332 01:00:18,480 --> 01:00:20,980 >> Na gut, so lassen Sie mich noch einmal deutlich. 1333 01:00:20,980 --> 01:00:24,370 Und ich werde wieder Ich bin now-- noch bleiben in diesem Verzeichnis 1334 01:00:24,370 --> 01:00:27,540 und es sagt mir, ich bin in dass SuperSection Verzeichnis. 1335 01:00:27,540 --> 01:00:30,690 Ich werde weitermachen und mein Programm bunny. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 Und das Kommando, stellen bunny, während er ertönt ein wenig seltsam, 1338 01:00:38,810 --> 01:00:42,960 Auch ruft den Klang-Compiler. 1339 01:00:42,960 --> 01:00:46,470 >> Und es ist für produziert mir einem Ausgang, ist 1340 01:00:46,470 --> 01:00:52,130 eine ausführbare funny-- ein ausführbare Datei namens Hase. 1341 01:00:52,130 --> 01:00:52,700 OK. 1342 01:00:52,700 --> 01:00:56,700 Ich kann dann, und das klingt noch schlimmer, führen bunny. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 OK. 1345 01:01:00,680 --> 01:01:03,150 Und mal sehen, was es tut. 1346 01:01:03,150 --> 01:01:04,527 OK. 1347 01:01:04,527 --> 01:01:06,360 Das ist ein bisschen was ich erwartet hatte. 1348 01:01:06,360 --> 01:01:11,290 Ich habe mein Hase Bild in dort ankam, aber ich Art von wollte alles von alleine. 1349 01:01:11,290 --> 01:01:13,186 Was habe ich verpasst? 1350 01:01:13,186 --> 01:01:14,478 >> Lautsprecher 21: Slash oder Schrägstrich l n. 1351 01:01:14,478 --> 01:01:15,602 BRIAN Scassellati: Slash n. 1352 01:01:15,602 --> 01:01:16,580 OK. 1353 01:01:16,580 --> 01:01:18,800 Also lassen Sie uns gehen Sie zurück hier. 1354 01:01:18,800 --> 01:01:20,330 Und ich werde aus, dass zu bekommen. 1355 01:01:20,330 --> 01:01:23,320 Und ich werde in diesem zurück. 1356 01:01:23,320 --> 01:01:27,720 Und lassen Sie uns einen Blick jetzt von hier aus meine Hauptaufgabe. 1357 01:01:27,720 --> 01:01:29,280 >> Also was soll ich tun? 1358 01:01:29,280 --> 01:01:30,465 Ich möchte, um die Linie zu beenden. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Also werde ich in einem Kommentar setzen. 1361 01:01:35,800 --> 01:01:38,430 Ich werde in einem printf setzen (). 1362 01:01:38,430 --> 01:01:41,350 Und was muss ich in setzen? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 OK. 1365 01:01:43,480 --> 01:01:46,040 Was muss ich tun, um ihn mit zu beenden? 1366 01:01:46,040 --> 01:01:47,100 Semikolon. 1367 01:01:47,100 --> 01:01:48,730 Gut. 1368 01:01:48,730 --> 01:01:52,880 >> Nun, einer der wirklich wichtigsten Dinge ist, stellen Sie sicher, 1369 01:01:52,880 --> 01:01:56,720 jedes Mal, wenn Sie eine Änderung vornehmen im Code, dass Sie sie zu speichern. 1370 01:01:56,720 --> 01:02:01,380 Wenn Sie Ihren Code nicht gespeichert haben, sind Sie gehen, um einen kleinen Stern da oben bemerken. 1371 01:02:01,380 --> 01:02:03,420 Und das sagt, dass Sie Sterne nicht diesen Code gespeichert. 1372 01:02:03,420 --> 01:02:07,790 >> Wenn ich jetzt kompilieren Sie es, es ist nicht gehen, um jede dieser Änderungen zu berücksichtigen, 1373 01:02:07,790 --> 01:02:11,680 weil der Compiler schaut auf die Datei das ist auf der Festplatte, nicht die Datei, die ist 1374 01:02:11,680 --> 01:02:13,790 Öffnen Sie in Ihrem Editor. 1375 01:02:13,790 --> 01:02:14,290 Gut. 1376 01:02:14,290 --> 01:02:20,830 >> Also lassen Sie speichern und dann gehen wir direkt am hier unten, kommen zurück. 1377 01:02:20,830 --> 01:02:24,670 Kommen Sie zu meinem Terminal. 1378 01:02:24,670 --> 01:02:27,193 Und lassen Sie uns klar den Raum wieder. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> Und wir können Sie voran und eine weitere zu gehen Zeit machen unsere bunny-Programm. 1381 01:02:35,760 --> 01:02:40,180 Und führen Sie das Häschen. 1382 01:02:40,180 --> 01:02:42,500 Das hat nicht funktioniert entweder. 1383 01:02:42,500 --> 01:02:43,950 Falsche Schrägstrich. 1384 01:02:43,950 --> 01:02:52,280 Also, wenn Sie auf das, was ich muss schauen, habe ich ein / n drin, aber ich hatte die falsche Schrägstrich. 1385 01:02:52,280 --> 01:02:56,190 >> Alles, was Sie Ihren Computer tut, ist sehr explizit. 1386 01:02:56,190 --> 01:02:57,230 OK? 1387 01:02:57,230 --> 01:03:01,250 Ein kleiner Fehler, Satzzeichen und plötzlich Sie nicht bekommen, was Sie wollen. 1388 01:03:01,250 --> 01:03:01,750 Gut. 1389 01:03:01,750 --> 01:03:03,740 Lassen Sie uns also heranzoomen wieder heraus. 1390 01:03:03,740 --> 01:03:04,410 Wir kommen wieder zu gehen. 1391 01:03:04,410 --> 01:03:07,930 Nun machen, dass sehr schnell reparieren. 1392 01:03:07,930 --> 01:03:09,270 Wir werden die richtige Schrägstrich in. 1393 01:03:09,270 --> 01:03:10,570 Wir werden es zu speichern. 1394 01:03:10,570 --> 01:03:13,410 Wir werden in heranzoomen. 1395 01:03:13,410 --> 01:03:16,730 >> Aus irgendeinem Grund, das ist nicht glücklich zu sein, aber lassen Sie uns weitermachen 1396 01:03:16,730 --> 01:03:19,850 und wir werden hier wieder an das Terminal zu gehen. 1397 01:03:19,850 --> 01:03:22,940 Deaktivieren Sie es. 1398 01:03:22,940 --> 01:03:24,880 Wir vergrößern. 1399 01:03:24,880 --> 01:03:28,410 Und noch einmal, wir bunny zu machen. 1400 01:03:28,410 --> 01:03:32,360 Und jetzt sicher genug, es funktioniert. 1401 01:03:32,360 --> 01:03:33,240 Hooray. 1402 01:03:33,240 --> 01:03:34,300 OK. 1403 01:03:34,300 --> 01:03:39,580 >> Also lassen Sie uns versuchen, dies zu machen, ein wenig mehr allgemein. 1404 01:03:39,580 --> 01:03:46,750 Mal sehen, ob statt nur Drucken eines bestimmten Rahmens, 1405 01:03:46,750 --> 01:03:49,610 mal sehen, ob wir das machen können so dass wir alle 10 erhalten 1406 01:03:49,610 --> 01:03:52,960 dieser animierte Frames wir haben wollten. 1407 01:03:52,960 --> 01:03:56,550 Also noch einmal, lassen Sie uns einen Schritt zu einer Zeit. 1408 01:03:56,550 --> 01:03:59,900 >> Lassen Sie uns zunächst verallgemeinern, nicht , so dass ich alle Bilder, 1409 01:03:59,900 --> 01:04:03,990 aber so dass ich irgendeine tun Rahmen, die ich wünschen konnte. 1410 01:04:03,990 --> 01:04:05,920 Also, was ist der Unterschied zwischen den Rahmen? 1411 01:04:05,920 --> 01:04:07,377 Ist der Hase das gleiche? 1412 01:04:07,377 --> 01:04:07,960 Publikum: Ja. 1413 01:04:07,960 --> 01:04:08,390 BRIAN Scassellati: Ja. 1414 01:04:08,390 --> 01:04:09,370 Was ist der Unterschied? 1415 01:04:09,370 --> 01:04:10,246 >> ZIELGRUPPE: Position. 1416 01:04:10,246 --> 01:04:11,870 BRIAN Scassellati: Seine Lage, nicht wahr? 1417 01:04:11,870 --> 01:04:15,590 Und wie kann ich steuern ihre Position? 1418 01:04:15,590 --> 01:04:17,340 Wie viele Punkte ich indem zu Beginn 1419 01:04:17,340 --> 01:04:19,048 und wie viele Punkte ich Putting am Ende. 1420 01:04:19,048 --> 01:04:21,970 Also musste ich fünf bei der beginnend und fünf am Ende. 1421 01:04:21,970 --> 01:04:28,320 >> Lassen Sie uns zu ersetzen, das fünf mit einer for-Schleife. 1422 01:04:28,320 --> 01:04:29,380 OK. 1423 01:04:29,380 --> 01:04:32,330 Und ich werde eine für erstellen Schleife jetzt, sagen wird, 1424 01:04:32,330 --> 01:04:37,800 Ich werde einige Nummer drucken von Punkten am Anfang. 1425 01:04:37,800 --> 01:04:39,600 Ich gehe, um eine Variable zu verwenden. 1426 01:04:39,600 --> 01:04:44,150 Lassen Sie uns sagen, wie wäre ich als der Zähler in meiner Schleife. 1427 01:04:44,150 --> 01:04:47,200 Und ich werde es erklären, bis oben. 1428 01:04:47,200 --> 01:04:49,360 >> Und dann in die for-Schleife Ich brauche drei Dinge tun. 1429 01:04:49,360 --> 01:04:52,340 Das erste, was ich tun müssen, ist ich, um i zu initialisieren. 1430 01:04:52,340 --> 01:04:56,570 Was soll ich zu initialisieren sie beginnen zu sein? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 OK. 1433 01:04:58,310 --> 01:05:00,950 >> Dann muss ich sagen, was ist die Abbruchbedingung? 1434 01:05:00,950 --> 01:05:03,020 Wann sollte ich aufhören? 1435 01:05:03,020 --> 01:05:05,983 Nun, wie viele Punkte Sie haben möchte auf diesem drucken? 1436 01:05:05,983 --> 01:05:06,921 >> Publikum: Fünf. 1437 01:05:06,921 --> 01:05:08,170 BRIAN Scassellati: Fünf wieder? 1438 01:05:08,170 --> 01:05:10,650 Wie wäre es mit etwas tun lassen anders, wir haben fünf. 1439 01:05:10,650 --> 01:05:12,584 Lassen Sie uns zeigen, dass es anders ist. 1440 01:05:12,584 --> 01:05:13,250 Lautsprecher 22: Zwei. 1441 01:05:13,250 --> 01:05:13,580 BRIAN Scassellati: Zwei. 1442 01:05:13,580 --> 01:05:14,080 OK. 1443 01:05:14,080 --> 01:05:17,760 Also, wenn ich zwei Punkte, Was soll ich hier? 1444 01:05:17,760 --> 01:05:19,140 >> ZIELGRUPPE: Drei. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN Scassellati: Drei. 1446 01:05:20,530 --> 01:05:21,400 OK. 1447 01:05:21,400 --> 01:05:24,220 Wie viele Male ist, dass gehen, um durch zu gehen? 1448 01:05:24,220 --> 01:05:28,469 Das wird zu durchlaufen dreimal, 0, 1, und 2, oder? 1449 01:05:28,469 --> 01:05:30,010 Alles klar, lass uns gehen zurück auf zwei. 1450 01:05:30,010 --> 01:05:31,570 Jetzt werden wir zwei Punkte zu bekommen. 1451 01:05:31,570 --> 01:05:35,800 Und was will ich jedes tun Mal, wenn ich durch die Schleife zu gehen? 1452 01:05:35,800 --> 01:05:38,657 Was muss sich ändern jedes Mal, wenn ich durchmachen? 1453 01:05:38,657 --> 01:05:39,850 >> SPEAKER 23: Fügen Sie einen Punkt. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN Scassellati: Ich habe, um weiterzumachen. 1455 01:05:41,020 --> 01:05:41,978 Ich gehe, um einen Punkt hinzuzufügen. 1456 01:05:41,978 --> 01:05:45,310 Ich gehe, um einen Punkt zu drucken, jedes Mal durch die Schleife. 1457 01:05:45,310 --> 01:05:49,990 Aber wie soll ich die Verfolgung, wie viele Male habe ich durch die Schleife gewesen? 1458 01:05:49,990 --> 01:05:53,260 Ich verwende ich, dass variable, daß Zähler. 1459 01:05:53,260 --> 01:05:57,110 >> Also jedes Mal durch, ich werde um den Zähler um eins zu erhöhen. 1460 01:05:57,110 --> 01:06:00,670 Nun, das ist die gleiche für mich mit den Worten: i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 Das ist ok. 1462 01:06:01,210 --> 01:06:04,653 Ich könnte es tun dass-- Ich mag die Kurzschrift, so werde ich sagen, i ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 OK. 1465 01:06:08,370 --> 01:06:10,680 >> Lassen Sie uns das gleiche tun hier unten an der Unterseite. 1466 01:06:10,680 --> 01:06:11,846 Nur ich irgendwie tat, dass man. 1467 01:06:11,846 --> 01:06:13,990 Ich werde euch lassen tun diese eine komplett. 1468 01:06:13,990 --> 01:06:14,260 Gut. 1469 01:06:14,260 --> 01:06:15,426 >> Also, was soll ich hier schreiben? 1470 01:06:15,426 --> 01:06:17,170 Hier ist mein for-Schleife. 1471 01:06:17,170 --> 01:06:23,162 Ich werde eine printf (tun), und ich bin dabei um es zu machen, so dass ich einen Punkt zu drucken nur 1472 01:06:23,162 --> 01:06:25,740 auf diesem Boden. 1473 01:06:25,740 --> 01:06:27,740 >> Was soll ich schreiben innerhalb dieser for-Schleife ist jetzt? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 Nun, zunächst einmal, was Variablen soll ich verwenden? 1476 01:06:33,948 --> 01:06:35,430 >> Lautsprecher 24: j. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN Scassellati: Ich konnte j zu verwenden. 1478 01:06:36,880 --> 01:06:38,040 Kann ich dieselbe verwenden? 1479 01:06:38,040 --> 01:06:39,961 Kann ich ich wieder? 1480 01:06:39,961 --> 01:06:40,460 Ja. 1481 01:06:40,460 --> 01:06:45,531 Das ist in Ordnung, denn der Is dass ich hier mit bis, 1482 01:06:45,531 --> 01:06:47,780 Ich weiß es nicht zurück, wenn brauchen Ich bekomme bis zu diesem Punkt. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Also, was soll ich zu initialisieren ich? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 SPEAKER 25: 10. 1487 01:06:57,300 --> 01:06:58,567 BRIAN Scassellati: 0. 1488 01:06:58,567 --> 01:06:59,400 Was muss ich überprüfen? 1489 01:06:59,400 --> 01:07:02,960 Wie viele Punkte brauche ich jetzt am Ende wenn ich zwei Punkte am Anfang stand? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Ich brauche acht am Ende, so was sollte ich prüfen, i kleiner than-- 1492 01:07:09,165 --> 01:07:12,645 >> ZIELGRUPPE: Sieben, acht, neun. 1493 01:07:12,645 --> 01:07:14,020 BRIAN Scassellati: Ich habe gehört, sieben. 1494 01:07:14,020 --> 01:07:14,810 Ich hörte acht. 1495 01:07:14,810 --> 01:07:15,970 Und ich hörte neun. 1496 01:07:15,970 --> 01:07:16,470 OK. 1497 01:07:16,470 --> 01:07:19,540 So sind wir alle in die richtige ball-- Jason sagt, 10. 1498 01:07:19,540 --> 01:07:21,550 OK. 1499 01:07:21,550 --> 01:07:25,920 >> Wenn ich brauchte zwei Punkte für die erste, wie viele tun 1500 01:07:25,920 --> 01:07:30,170 I-- und ich brauche, acht Punkte für die letzten one-- ich ein zwei oben, 1501 01:07:30,170 --> 01:07:31,743 was soll ich da unten? 1502 01:07:31,743 --> 01:07:32,570 >> ZIELGRUPPE: Acht. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN Scassellati: Acht. 1504 01:07:33,611 --> 01:07:35,695 Denn das ist, zu gehen zählen null bis sieben. 1505 01:07:35,695 --> 01:07:38,490 Und das ist acht Mal durch die Schleife. 1506 01:07:38,490 --> 01:07:38,990 OK. 1507 01:07:38,990 --> 01:07:41,774 Und was muss ich am Ende tun? 1508 01:07:41,774 --> 01:07:42,670 >> ZIELGRUPPE: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN Scassellati: i ++. 1510 01:07:44,400 --> 01:07:45,440 Gut. 1511 01:07:45,440 --> 01:07:48,260 Also das ist, es sieht ziemlich gut. 1512 01:07:48,260 --> 01:07:50,620 Versuchen wir es und lassen Sie uns sehen, was es tut. 1513 01:07:50,620 --> 01:07:51,450 OK. 1514 01:07:51,450 --> 01:07:53,770 Wir werden also, um es zu retten. 1515 01:07:53,770 --> 01:07:54,940 Nizza und gespeichert. 1516 01:07:54,940 --> 01:07:56,910 >> Wir werden herausheranzoomen. 1517 01:07:56,910 --> 01:07:58,220 Wir werden hier in der Klemme zu versuchen. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Wir vergrößern. 1520 01:08:02,970 --> 01:08:05,416 Oops. 1521 01:08:05,416 --> 01:08:09,990 Wir werden, ein weiteres Mal, machen unsere bunny-Programm. 1522 01:08:09,990 --> 01:08:14,460 Und gehen Sie vor und führen bunny. 1523 01:08:14,460 --> 01:08:15,980 Und da ist es. 1524 01:08:15,980 --> 01:08:17,710 >> Also gibt es unsere bunny. 1525 01:08:17,710 --> 01:08:25,130 Wo es zwei Punkte zu Beginn und acht Punkte am Ende. 1526 01:08:25,130 --> 01:08:27,540 Jeder noch bei mir? 1527 01:08:27,540 --> 01:08:28,770 OK. 1528 01:08:28,770 --> 01:08:29,580 >> So bauten wir es auf. 1529 01:08:29,580 --> 01:08:33,000 Wir bauten ein Hase, einem bestimmten Rahmen. 1530 01:08:33,000 --> 01:08:36,229 Jetzt waren wir in der Lage sein verallgemeinern, dass zu bauen 1531 01:08:36,229 --> 01:08:38,390 mehr, verschiedene Arten von Frames. 1532 01:08:38,390 --> 01:08:42,399 >> Lassen Sie uns jetzt gehen Sie vor und haben Sie erzeugen nicht nur ein Einzelbild, 1533 01:08:42,399 --> 01:08:46,290 aber lassen Sie erzeugen 10 Rahmen, wo wir langsam 1534 01:08:46,290 --> 01:08:50,569 machen den bunny bewegen der Weg über das Feld. 1535 01:08:50,569 --> 01:08:51,430 Gut. 1536 01:08:51,430 --> 01:08:53,660 >> Lass uns zurück gehen. 1537 01:08:53,660 --> 01:08:54,839 Und wir werden jetzt versuchen. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Also, was ich wirklich brauchen, um hier zu ändern? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Was muss ich ändern? 1542 01:09:07,180 --> 01:09:10,638 >> Lautsprecher 26: Sie müssen zuerst ändern Sie die Anzahl der Punkte maximaler 1543 01:09:10,638 --> 01:09:11,626 am Anfang. 1544 01:09:11,626 --> 01:09:16,850 Denn wenn wir tun, 10 Punkte, es geht um bis zu skalieren müssen. 1545 01:09:16,850 --> 01:09:17,850 BRIAN Scassellati: Ja. 1546 01:09:17,850 --> 01:09:23,760 So jetzt habe ich es irgendwie fest verdrahtet immer tun, zwei Punkte zu Beginn 1547 01:09:23,760 --> 01:09:27,890 und immer tun, acht Punkte am Ende. 1548 01:09:27,890 --> 01:09:30,660 >> Ich möchte eine weitere Schleife zu bauen, nicht wahr? 1549 01:09:30,660 --> 01:09:33,290 Weil ich nicht möchte bauen nur ein Hase Bild, 1550 01:09:33,290 --> 01:09:37,140 Ich möchte 10 Hasenbilder zu bauen. 1551 01:09:37,140 --> 01:09:41,500 Also muss ich eine weitere Schleife zu bauen, und als ich durch diese Schleife zu gehen, 1552 01:09:41,500 --> 01:09:44,660 I zu ändern, wie viele wollen dots ich am Anfang zu drucken 1553 01:09:44,660 --> 01:09:50,529 und wie viele Punkte ich am Ende zu drucken, basierend auf dem Zyklus durch die Schleife 1554 01:09:50,529 --> 01:09:52,270 Ich bin dabei. 1555 01:09:52,270 --> 01:09:52,770 Gut. 1556 01:09:52,770 --> 01:09:54,430 >> Lassen Sie uns also einen weiteren Zähler. 1557 01:09:54,430 --> 01:09:58,142 Jemand, bevor die j, so dass wir einen weiteren j zu machen. 1558 01:09:58,142 --> 01:10:00,100 Und jetzt sind wir zu gehen bauen ein weiteres for-Schleife. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Was geht innerhalb dieser Schleife? 1561 01:10:06,200 --> 01:10:09,060 Das Zeug muss gehen innerhalb der Schleife, oder? 1562 01:10:09,060 --> 01:10:11,190 Hat der Hase haben um innerhalb der Schleife zu gehen? 1563 01:10:11,190 --> 01:10:13,390 Brauche ich ein Häschen in jede dieser 10 Frames? 1564 01:10:13,390 --> 01:10:14,099 >> ZIELGRUPPE: Aha. 1565 01:10:14,099 --> 01:10:15,098 BRIAN Scassellati: Ja. 1566 01:10:15,098 --> 01:10:17,250 Ich möchte ein Häschen in jedem der 10 Frames, nicht wahr? 1567 01:10:17,250 --> 01:10:20,531 Wie über die Punkte an das Ende ist, brauche ich das? 1568 01:10:20,531 --> 01:10:21,030 OK. 1569 01:10:21,030 --> 01:10:22,550 >> Also werde ich auf alle von ihnen einrücken. 1570 01:10:22,550 --> 01:10:25,110 Ich werde alle markieren das, und ich werde Tab getroffen. 1571 01:10:25,110 --> 01:10:28,590 Und das wird sie überall schieben ein wenig, so dass es einfach für mich 1572 01:10:28,590 --> 01:10:32,010 zu sehen, was in der Schleife. 1573 01:10:32,010 --> 01:10:33,710 Und dann werde ich sie zu beenden. 1574 01:10:33,710 --> 01:10:35,850 Sagen wir. 1575 01:10:35,850 --> 01:10:36,430 OK? 1576 01:10:36,430 --> 01:10:39,230 >> Nun wird in diesem Schleife, Ich bin building-- hoppla, 1577 01:10:39,230 --> 01:10:43,810 machen, dass, so dass Sie see-- können Ich habe meinen Zähler j bekam. 1578 01:10:43,810 --> 01:10:45,630 Ich werde es bei 0 gestartet. 1579 01:10:45,630 --> 01:10:47,829 Wie oft möchte ich um durch diese Schleife zu gehen? 1580 01:10:47,829 --> 01:10:48,620 ZIELGRUPPE: 10 mal. 1581 01:10:48,620 --> 01:10:49,786 BRIAN Scassellati: 10 mal. 1582 01:10:49,786 --> 01:10:51,402 Also, was soll ich sagen Nummer hier? 1583 01:10:51,402 --> 01:10:52,880 >> ZIELGRUPPE: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> Brian Scassellati: 9, 10, Jemand muss sagen, 11, nicht wahr? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Ich wollte vor zwei Punkte und legte i weniger als 2. 1587 01:11:01,585 --> 01:11:03,810 Ich wollte acht Punkte, Ich lege ich weniger als 8. 1588 01:11:03,810 --> 01:11:06,950 Jetzt möchte ich über 10 gehen Zeiten, so dass ich j weniger than-- 1589 01:11:06,950 --> 01:11:07,590 >> ZIELGRUPPE: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN Scassellati: 10. 1591 01:11:08,610 --> 01:11:10,150 Da gehen wir. 1592 01:11:10,150 --> 01:11:13,360 Und was kann ich tun, um am Ende j? 1593 01:11:13,360 --> 01:11:15,310 ++, Erhöhe ihn. 1594 01:11:15,310 --> 01:11:16,230 OK. 1595 01:11:16,230 --> 01:11:21,500 Nun, hier ist der schwierige Teil, was ist gehen, um gerade jetzt, wenn ich dies tun, geschehen? 1596 01:11:21,500 --> 01:11:24,537 Werde ich 10 Bilder drucken? 1597 01:11:24,537 --> 01:11:26,370 Lautsprecher 27: Ich denke, sie werden alle die gleichen sein. 1598 01:11:26,370 --> 01:11:28,453 BRIAN Scassellati: Sie werden alle gleich sein, oder? 1599 01:11:28,453 --> 01:11:31,750 Da alle von ihnen sind immer noch zwei Punkte an den Anfang. 1600 01:11:31,750 --> 01:11:34,162 Aber ich will nicht, dass sie alle auf haben zwei Punkte der Anfang. 1601 01:11:34,162 --> 01:11:35,870 Wie viele Punkte ich möchte zu Beginn? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> ZIELGRUPPE: Ändern. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN Scassellati: I wollen, dass es zu ändern, oder? 1605 01:11:42,840 --> 01:11:46,588 So was habe ich hier, dass eine Änderung ist jedes Mal, wenn die Schleife durchläuft? 1606 01:11:46,588 --> 01:11:48,242 >> ZIELGRUPPE: Anzahl der Punkte, j. 1607 01:11:48,242 --> 01:11:49,950 BRIAN Scassellati: j, die Anzahl von Punkten. 1608 01:11:49,950 --> 01:11:54,782 So kann ich das ändern, um j sein. 1609 01:11:54,782 --> 01:11:59,190 Das erste Mal durch die Schleife, was ist das sein wird? 1610 01:11:59,190 --> 01:12:01,700 Was kann ich j auf den ersten? 1611 01:12:01,700 --> 01:12:02,420 >> ZIELGRUPPE: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN Scassellati: Also, wie viele Mal werde ich das tun? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 Das zweite Mal durch die Schleife, j ist gehen zu 1 sein, weil ich erhöhe ihn. 1615 01:12:11,750 --> 01:12:14,180 Wie viele Punkte werde ich drucken? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 Zum dritten Mal durch die Schleife, wie viele Punkte werde ich drucken? 1618 01:12:19,904 --> 01:12:20,587 >> ZIELGRUPPE: Drei. 1619 01:12:20,587 --> 01:12:22,170 BRIAN Scassellati: j wird zu 3 sein. 1620 01:12:22,170 --> 01:12:24,890 Wie viele Punkte werde ich drucken? 1621 01:12:24,890 --> 01:12:26,817 Oh, sorry, j geht um 2 sein. 1622 01:12:26,817 --> 01:12:28,233 Wie viele Punkte werde ich drucken? 1623 01:12:28,233 --> 01:12:28,980 >> ZIELGRUPPE: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN Scassellati: 2. 1625 01:12:29,855 --> 01:12:32,460 OK, so werde ich zu halten Erhöhen, dass, wie wir gehen. 1626 01:12:32,460 --> 01:12:33,460 Wie wäre es da unten? 1627 01:12:33,460 --> 01:12:34,310 Was geht hier ab? 1628 01:12:34,310 --> 01:12:38,080 Ich will nicht immer 8 am Ende nicht mehr? 1629 01:12:38,080 --> 01:12:39,269 >> Lautsprecher 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN Scassellati: Ich möchte 10 Punkte? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Ich will es zu ändern, auch. 1633 01:12:44,620 --> 01:12:47,469 So, wie ich es will zu ändern? 1634 01:12:47,469 --> 01:12:49,167 >> ZIELGRUPPE: [unverständlich]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN Scassellati: Nun, wenn ich fünf Punkte am Anfang, 1636 01:12:51,750 --> 01:12:53,293 wie viele dot ist bekomme ich am Ende? 1637 01:12:53,293 --> 01:12:54,020 >> Publikum: Fünf. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN Scassellati: Wenn ich sechs Punkte am Anfang, 1639 01:12:55,630 --> 01:12:56,875 wie viele kann ich am Ende zu bekommen? 1640 01:12:56,875 --> 01:12:57,500 ZIELGRUPPE: Vier. 1641 01:12:57,500 --> 01:12:58,950 BRIAN Scassellati: Wenn ich sieben Punkte am Anfang, 1642 01:12:58,950 --> 01:13:00,204 wie viele kann ich am Ende zu bekommen? 1643 01:13:00,204 --> 01:13:00,870 ZIELGRUPPE: Drei. 1644 01:13:00,870 --> 01:13:03,161 BRIAN Scassellati: Wenn ich bekam J Punkten am Anfang, 1645 01:13:03,161 --> 01:13:04,790 wie viele kann ich am Ende zu bekommen? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 OK. 1648 01:13:08,650 --> 01:13:10,390 Also lassen Sie uns versuchen, dass aus. 1649 01:13:10,390 --> 01:13:13,180 >> Also werde ich unsere bunny Programm zu speichern. 1650 01:13:13,180 --> 01:13:16,270 Wieder einmal werden wir zu verkleinern. 1651 01:13:16,270 --> 01:13:19,090 Wir gehen zu unserem Terminal. 1652 01:13:19,090 --> 01:13:20,180 Wir werden es zu deaktivieren. 1653 01:13:20,180 --> 01:13:23,410 Und zoomen. 1654 01:13:23,410 --> 01:13:26,410 Wir werden unsere bunny-Programm zu machen, noch einmal. 1655 01:13:26,410 --> 01:13:27,690 Und wir werden sie auszuführen. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 UH Oh. 1658 01:13:32,090 --> 01:13:34,580 >> Hold on, den verkleinern lassen. 1659 01:13:34,580 --> 01:13:36,860 Habe ich 10 Frames? 1660 01:13:36,860 --> 01:13:38,970 Nun, wie viele Hasen sehe ich da oben? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 Ich habe 10 Bilder. 1663 01:13:44,820 --> 01:13:46,375 Sind sie alle gleich? 1664 01:13:46,375 --> 01:13:47,000 ZIELGRUPPE: Ja. 1665 01:13:47,000 --> 01:13:48,740 Nein. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN Scassellati: Nein 1667 01:13:50,000 --> 01:13:55,050 Das erste, das Hase ist weit auf der linken Seite. 1668 01:13:55,050 --> 01:13:57,541 Und hier ist der Hase weit über die 1669 01:13:57,541 --> 01:13:58,290 SPEAKER 29: Richtig. 1670 01:13:58,290 --> 01:14:00,502 BRIAN Scassellati: So, was habe ich vergessen, zu tun? 1671 01:14:00,502 --> 01:14:01,750 Lautsprecher 30: Neue Zeile beginnen. 1672 01:14:01,750 --> 01:14:04,041 BRIAN Scassellati: Ich habe vergessen um eine neue Zeile zu beginnen, wieder. 1673 01:14:04,041 --> 01:14:05,270 Gleichen Fehler habe ich vor. 1674 01:14:05,270 --> 01:14:07,120 Also gut, gehen wir das beheben. 1675 01:14:07,120 --> 01:14:11,690 Nun, ich habe immer noch den Code bekommen dort eine neue Linie zu machen. 1676 01:14:11,690 --> 01:14:13,899 Warum hat es nicht funktioniert? 1677 01:14:13,899 --> 01:14:15,440 SPEAKER 31: Es ist nicht in der Schleife. 1678 01:14:15,440 --> 01:14:17,710 BRIAN Scassellati: Oh, es ist nicht in der Schleife. 1679 01:14:17,710 --> 01:14:18,520 Das ist richtig. 1680 01:14:18,520 --> 01:14:20,150 Es ist draußen sitzen hier. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 Und die for-Schleife ist alles das ist innerhalb dieses Textes. 1683 01:14:29,050 --> 01:14:35,500 >> Also werde ich zu bewegen diese innerhalb der for-Schleife. 1684 01:14:35,500 --> 01:14:39,410 Und ich werde Tab davor zu zeigen, dass es an der richtigen Stelle. 1685 01:14:39,410 --> 01:14:42,020 Und nun werden wir es erneut zu speichern. 1686 01:14:42,020 --> 01:14:44,350 Wir werden zu verkleinern. 1687 01:14:44,350 --> 01:14:45,770 Wir werden über unsere Terminal zu wechseln. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 Hineinzoomen. 1690 01:14:50,360 --> 01:14:54,050 Wir werden unsere bunny Programm Remake. 1691 01:14:54,050 --> 01:14:59,070 Und jetzt, jetzt haben wir unseren 10 Frames bekamen. 1692 01:14:59,070 --> 01:15:00,190 >> [KLATSCH] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN Scassellati: OK. 1694 01:15:02,120 --> 01:15:04,080 Also. 1695 01:15:04,080 --> 01:15:08,370 Hier ist unsere for-Schleifen verschachtelt. 1696 01:15:08,370 --> 01:15:13,140 Wir konnten in das Erzeugungs innere Schleife, wie viele Punkte ich wollte 1697 01:15:13,140 --> 01:15:15,320 zu Beginn zu drucken, am Ende. 1698 01:15:15,320 --> 01:15:21,570 Und der äußere Regelkreis geregelt wie viele Bilder ich bauen. 1699 01:15:21,570 --> 01:15:26,340 Wir begannen mit einem kleinen Kern des Problems 1700 01:15:26,340 --> 01:15:30,320 und wir von diesem Punkt errichtet. 1701 01:15:30,320 --> 01:15:30,820 Gut. 1702 01:15:30,820 --> 01:15:33,500 >> Machen wir einen Schritt weiter. 1703 01:15:33,500 --> 01:15:35,040 Bereit? 1704 01:15:35,040 --> 01:15:38,800 Es ist eine Sache, in denen hier wir haben eigentlich ganz bekam 1705 01:15:38,800 --> 01:15:42,180 mehr Komplexität als wir brauchen. 1706 01:15:42,180 --> 01:15:44,700 Lass uns einen Blick darauf werfen. 1707 01:15:44,700 --> 01:15:52,050 Also in unserem bunny Programm, wenn ich hier herauszoomen, 1708 01:15:52,050 --> 01:15:54,980 Ich tatsächlich tun etwas von dem gleichen Sache immer und immer wieder. 1709 01:15:54,980 --> 01:15:59,032 Was muss ich tun, dass ist eine Art die gleiche Sache zweimal wiederholt? 1710 01:15:59,032 --> 01:16:00,310 >> Lautsprecher 32: Drucken Sie die Punkte. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN Scassellati: Ja Drucke ich zweimal jene Punkte. 1712 01:16:03,526 --> 01:16:05,710 Wirklich, ich haben sollte Diesen Kommentar hier unten. 1713 01:16:05,710 --> 01:16:09,037 Drucke ich ein paar Punkte an den beginnend, bis hier. 1714 01:16:09,037 --> 01:16:10,620 Und dann habe ich einige Punkte am Ende zu drucken. 1715 01:16:10,620 --> 01:16:14,694 Und ich glaube Art von genau dasselbe. 1716 01:16:14,694 --> 01:16:17,110 Was werden wir beginnen Arbeiten an in den nächsten Wochen 1717 01:16:17,110 --> 01:16:23,440 ist in der Lage, diese Blöcke zu nehmen Code, den wir wieder verwenden immer und immer, 1718 01:16:23,440 --> 01:16:25,800 und durch ein Verfahren genannte Abstraktion, 1719 01:16:25,800 --> 01:16:31,100 wir werden sie herauszuziehen und einmal schreiben sie, so dass wir dann 1720 01:16:31,100 --> 01:16:35,130 wiederverwenden, immer und immer wieder. 1721 01:16:35,130 --> 01:16:37,210 Also lassen Sie uns versuchen, dass. 1722 01:16:37,210 --> 01:16:38,220 Bereit? 1723 01:16:38,220 --> 01:16:42,200 >> Wir werden dieses Code-Block zu nehmen. 1724 01:16:42,200 --> 01:16:45,280 Und ich werde es von dort nehmen. 1725 01:16:45,280 --> 01:16:50,530 Und ich werde define-- unten an der Unterseite, 1726 01:16:50,530 --> 01:16:53,130 Ich werde eine neue Funktion zu schreiben. 1727 01:16:53,130 --> 01:16:54,750 Es wird nicht, irgendetwas zurück. 1728 01:16:54,750 --> 01:16:58,550 Und ich werde es nennen printDots. 1729 01:16:58,550 --> 01:17:01,530 >> Das wird man nehmen Argument, eine ganze Zahl, 1730 01:17:01,530 --> 01:17:04,920 sagt howManyDots ich drucken sollte. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 Und nun, anstatt Druck j Punkte, werde ich drucken weiterempfehlen howManyDots ich drucken sollte. 1733 01:17:17,720 --> 01:17:21,581 >> Und es gibt ein kleines Problem hier. 1734 01:17:21,581 --> 01:17:22,580 Jeder weiß, was es ist? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Was muss ich tun, dass ist aufgeführt hier das ist nicht definiert? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> ZIELGRUPPE: [unverständlich] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN Scassellati: Nun, wie viele Punkte wird bis definierten 1740 01:17:37,465 --> 01:17:40,584 hier, aber ich bin mit, dass die Variable i. 1741 01:17:40,584 --> 01:17:43,750 Also werde ich diese Variable nehmen i und ich werde es in hier definieren, 1742 01:17:43,750 --> 01:17:44,610 statt. 1743 01:17:44,610 --> 01:17:49,683 >> So, jetzt, es wird stay-- oops, habe die Feststelltaste auf somehow-- Ich bin 1744 01:17:49,683 --> 01:17:52,060 werde ich hier zu halten. 1745 01:17:52,060 --> 01:17:57,050 >> So, jetzt hier ist meine kleine Funktion oder Unterprogramm, und es sagt, 1746 01:17:57,050 --> 01:18:00,640 wie viele Punkte werde ich drucken? 1747 01:18:00,640 --> 01:18:05,300 Und es wird durch diese Schleife zu gehen und drucken Sie sie immer und immer wieder. 1748 01:18:05,300 --> 01:18:10,940 >> Dann kann ich mein Programm ändern, hier oben. 1749 01:18:10,940 --> 01:18:12,540 Und was habe ich nennen diese Funktion? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Also werde ich printDots nennen. 1752 01:18:17,060 --> 01:18:21,530 Wie viele Punkte will ich drucken das erste Mal vor der Hase? 1753 01:18:21,530 --> 01:18:22,030 ZIELGRUPPE: j. 1754 01:18:22,030 --> 01:18:23,230 BRIAN Scassellati: j. 1755 01:18:23,230 --> 01:18:27,110 Wie viele Punkte will ich drucken am Ende, nach der Hase? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-j. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> Und es gibt eine Sache, ich fehle. 1760 01:18:38,010 --> 01:18:43,740 Wie Sie heute in der Vorlesung gesehen, wir werden printDots erklären 1761 01:18:43,740 --> 01:18:52,430 bis oben, um den Prototyp zu geben. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 OK. 1764 01:18:58,220 --> 01:19:03,530 >> Also, was ich getan habe ist, ich habe auf versuchten zu isolieren, die wiederverwendet Teil des Codes 1765 01:19:03,530 --> 01:19:06,430 dass ich immer und immer wieder getan. 1766 01:19:06,430 --> 01:19:11,120 Und ich habe versucht, ihn herauszuziehen, so dass All das ist in einem Ort enthalten. 1767 01:19:11,120 --> 01:19:16,810 So, wenn ich irgendwo einen Fehler haben, Ich habe nur, um es an einer Stelle zu fixieren. 1768 01:19:16,810 --> 01:19:17,310 Gut. 1769 01:19:17,310 --> 01:19:18,470 >> Also lassen Sie es speichern. 1770 01:19:18,470 --> 01:19:20,950 Und lassen Sie uns sicherstellen, dass es funktioniert. 1771 01:19:20,950 --> 01:19:22,050 Also lassen Sie uns gehen. 1772 01:19:22,050 --> 01:19:25,200 Wir sehen uns wieder zu unserem Terminal gehen. 1773 01:19:25,200 --> 01:19:27,960 Wir vergrößern. 1774 01:19:27,960 --> 01:19:31,010 Wir werden diese bunny Prozess zu machen. 1775 01:19:31,010 --> 01:19:32,380 >> Oh. 1776 01:19:32,380 --> 01:19:34,800 Und es ist mir eine Warnung gegeben. 1777 01:19:34,800 --> 01:19:37,070 Wie ist es mir sagen? 1778 01:19:37,070 --> 01:19:39,870 Nun, in einer dieser Zeiten, Sie wollen immer 1779 01:19:39,870 --> 01:19:44,170 um zum ersten error-- nach oben Jetzt auf diesen einen, habe ich nur noch eins. 1780 01:19:44,170 --> 01:19:52,700 >> Es sagt mir, in bunny.c, on line 8, Spalte 9, gibt es ein Problem. 1781 01:19:52,700 --> 01:19:58,650 Es heißt, Sie dies erklärt habe Variable i und Sie haben es nicht genutzt haben. 1782 01:19:58,650 --> 01:20:02,230 >> Jetzt in der Regel, das ist, nicht das schlimmste Fehler. 1783 01:20:02,230 --> 01:20:04,300 Das ist ganz leicht zu beheben. 1784 01:20:04,300 --> 01:20:07,550 Und in der Tat, können wir wieder gehen. 1785 01:20:07,550 --> 01:20:09,910 Wir können gehen Sie zurück zu Bunny. 1786 01:20:09,910 --> 01:20:13,010 Und in diesem Fall ist alles, was wir zu tun haben, wird der i loszuwerden, 1787 01:20:13,010 --> 01:20:16,630 weil wir sie nicht verwenden i im Haupt mehr. 1788 01:20:16,630 --> 01:20:19,860 Wir sind nur Sie es innerhalb unserer Unterroutine. 1789 01:20:19,860 --> 01:20:22,777 >> Lassen Sie uns also zu speichern, dass. 1790 01:20:22,777 --> 01:20:23,360 Wir kommen wieder zu gehen. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 Und zoomen. 1793 01:20:28,630 --> 01:20:30,700 Wir werden noch einmal machen bunny. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 Und wieder sind unsere 10 Frames. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 OK. 1798 01:20:41,360 --> 01:20:43,190 >> Jedes Mal, wenn Sie gegeben sind a procedure-- Ja. 1799 01:20:43,190 --> 01:20:44,690 Lautsprecher 33: Ich habe a-- Ich bin verwirrt. 1800 01:20:44,690 --> 01:20:45,892 Können Sie sich zurück in die Code gehen? 1801 01:20:45,892 --> 01:20:46,850 BRIAN Scassellati: Yep. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> Lautsprecher 33: Also, wenn Sie schrieb Ihre Prototypen, das Argument, die Sie 1804 01:20:54,367 --> 01:20:56,550 hatte es benannt wurde howMany genannt? 1805 01:20:56,550 --> 01:20:57,540 Aber below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN Scassellati: Oh ja. 1807 01:20:57,640 --> 01:20:59,140 >> Lautsprecher 33: --called ihnen etwas anders, die ich nicht verstehe. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN Scassellati: Warum sie sind verschieden. 1809 01:21:00,240 --> 01:21:01,780 Also das ist eine gute Frage. 1810 01:21:01,780 --> 01:21:08,250 So war die Frage, bis Hier schrieb ich howMany, 1811 01:21:08,250 --> 01:21:12,380 und unten, schrieb ich howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> Der Grund dafür ist, dass sich in Ihrem Prototyp, es ist eigentlich nicht aufgepasst 1813 01:21:15,590 --> 01:21:17,090 auf die Namen, die Sie in setzen sind. 1814 01:21:17,090 --> 01:21:20,530 Alles, was es wirklich etwas an ist, dass es eine ganze Zahl ist. 1815 01:21:20,530 --> 01:21:23,080 Es will das Formular wissen von dem, was Sie in setzen sind. 1816 01:21:23,080 --> 01:21:31,560 >> Jetzt stylistically-- oops-- was ich Sie wird Ich mag diese Spiel zu machen. 1817 01:21:31,560 --> 01:21:33,150 OK. 1818 01:21:33,150 --> 01:21:36,430 Denn das halte es werden einfacher für mich zu erinnern. 1819 01:21:36,430 --> 01:21:38,390 Aber das war mein Fehler Ja. 1820 01:21:38,390 --> 01:21:47,620 >> Lautsprecher 34: Und so für die Prototypen zu arbeiten, gerade 1821 01:21:47,620 --> 01:21:50,510 Schreiben Sie diese Zeile, Schreiben des Prototyps, 1822 01:21:50,510 --> 01:21:53,932 ermöglicht diese Funktion, das kommt direkt darunter, bis zum Ende zu gehen 1823 01:21:53,932 --> 01:21:55,140 und abrufen, was das bedeutet? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN Scassellati: Was es bedeutet, ist, wenn der Compiler durchläuft, 1825 01:21:58,480 --> 01:22:01,930 es geht von der Spitze Ihr Code auf den Grund. 1826 01:22:01,930 --> 01:22:05,430 Und was ist dieser Prototyp ist, ist es im Grunde ein Versprechen. 1827 01:22:05,430 --> 01:22:09,570 >> Er sagt, es geht um sein eine Funktion irgendwo definiert. 1828 01:22:09,570 --> 01:22:11,880 Es wird aufgerufen printDots sein. 1829 01:22:11,880 --> 01:22:15,110 Und es geht um ein Argument zu nehmen das wird eine ganze Zahl sein 1830 01:22:15,110 --> 01:22:18,590 und es wird zurück Nichts, Leere-Typ. 1831 01:22:18,590 --> 01:22:19,310 OK. 1832 01:22:19,310 --> 01:22:22,950 Ich verspreche Ihnen, es wird sein, irgendwo auf der Straße festgelegt. 1833 01:22:22,950 --> 01:22:25,590 Aber jedes Mal, wenn Sie sehen, dass, wie Sie unten gehen 1834 01:22:25,590 --> 01:22:28,710 durch den Rest meines Hauptfunktion, möchte ich 1835 01:22:28,710 --> 01:22:33,800 Sie, dass in Abhängigkeit zu behandeln , dass dauert eine ganze Zahl Eingang. 1836 01:22:33,800 --> 01:22:37,970 >> Und so, wenn der Compiler untergeht Dadurch sieht es dieses Versprechen. 1837 01:22:37,970 --> 01:22:40,220 Und wenn es nach unten bekommt, läuft weiter, läuft weiter, 1838 01:22:40,220 --> 01:22:43,060 es das erste Mal fest, printDots erwähnt. 1839 01:22:43,060 --> 01:22:46,910 Und er sagt, Oh, du gibst mir dieses j. j ist eine ganze Zahl. 1840 01:22:46,910 --> 01:22:49,570 >> Nun, du hast mir versprochen, das wäre eine ganze Zahl sein, und das ist richtig. 1841 01:22:49,570 --> 01:22:51,370 Das ist ok. 1842 01:22:51,370 --> 01:22:53,880 Und dann endlich, nach unten ganz unten, 1843 01:22:53,880 --> 01:22:58,340 bevor ich zum Ende der meine Datei, ich gut auf mein Versprechen zu machen 1844 01:22:58,340 --> 01:22:59,896 und ich definieren. 1845 01:22:59,896 --> 01:23:01,868 OK? 1846 01:23:01,868 --> 01:23:06,320 >> SPEAKER 35: So, saves-- es der Programm Leerzeichen sparen 1847 01:23:06,320 --> 01:23:09,570 dass es geht zurück und füllt am Ende? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN Scassellati: Es ist nicht über die Speicherzuweisung. 1849 01:23:12,140 --> 01:23:16,800 Es ist eigentlich nur darum, was Art erwarten Sie, um zu sehen. 1850 01:23:16,800 --> 01:23:19,340 Sollte dieses Ding haben ein Argument oder fünf Argumente? 1851 01:23:19,340 --> 01:23:23,590 Sollte es ganze Zahlen sein um es, oder Zeichenketten gegeben? 1852 01:23:23,590 --> 01:23:25,780 Das ist alles, es ist auf der Suche zu tun ist, um zu prüfen, 1853 01:23:25,780 --> 01:23:29,303 werden Sie mir das geben richtige Art von Argument. 1854 01:23:29,303 --> 01:23:31,560 OK? 1855 01:23:31,560 --> 01:23:32,300 Gut. 1856 01:23:32,300 --> 01:23:38,570 >> Lassen Sie mich Ihnen zu verlassen einem anderen etwas, zu betrachten. 1857 01:23:38,570 --> 01:23:44,850 ASCII-Kunst ist nicht das große Vorbild der Animation wie es heute ist. 1858 01:23:44,850 --> 01:23:50,850 Aber einige Leute natürlich nehmen die Dinge und schieben sie es ihren Extremen. 1859 01:23:50,850 --> 01:23:56,790 >> Dies ist, wie gezeigt, David in Vortrag, ein Stück Code 1860 01:23:56,790 --> 01:24:02,150 dass Sie sollten unter keinen Umständen versuchen, sich selbst zu duplizieren. 1861 01:24:02,150 --> 01:24:05,260 Denn es ist schrecklich stilistisch. 1862 01:24:05,260 --> 01:24:11,180 In der Tat ist es so konzipiert, dass schwer wie möglich zu lesen. 1863 01:24:11,180 --> 01:24:11,680 OK. 1864 01:24:11,680 --> 01:24:16,210 >> Also, um wieder zu tun, lassen Sie vergrößern hier. 1865 01:24:16,210 --> 01:24:20,120 Ich werde jetzt gehen, Verzeichnis wechseln. 1866 01:24:20,120 --> 01:24:24,050 Ich werde gehen bis eine Ebene zurück zu meinem Arbeitsbereich. 1867 01:24:24,050 --> 01:24:29,760 Ich werde dann Verzeichnis zu wechseln, in diesem anderen Verzeichnis, das ich erstellt habe. 1868 01:24:29,760 --> 01:24:36,190 >> Und das ist das Internationale Obfuscated C Programming Contest. 1869 01:24:36,190 --> 01:24:40,650 Verschleiert Mittel so hart wie möglich zu verstehen. 1870 01:24:40,650 --> 01:24:44,150 Also bitte, keine Angst, wenn Sie schauen in diesem und gehen, kann ich nicht lesen, dass. 1871 01:24:44,150 --> 01:24:46,350 Das ist der Punkt davon. 1872 01:24:46,350 --> 01:24:47,700 OK? 1873 01:24:47,700 --> 01:24:52,770 >> Aber, dieses müssen wir wunderbares Programm, das bin ich 1874 01:24:52,770 --> 01:24:57,180 in Zukunft an durch einfaches Eintippen mehr zu suchen. 1875 01:24:57,180 --> 01:25:01,890 Und lassen Sie uns sehen, ob ich verkleinern nur ein bisschen, damit Sie es sehen 1876 01:25:01,890 --> 01:25:03,940 >> Und das ist das Programm. 1877 01:25:03,940 --> 01:25:08,080 Es endo.c. benannt 1878 01:25:08,080 --> 01:25:14,850 Und es sieht so aus Eimer mit Art der Buchstaben F-L-U-I-D in ihm. 1879 01:25:14,850 --> 01:25:16,440 >> Dies ist eigentlich ein Programm. 1880 01:25:16,440 --> 01:25:20,260 Es ist in der dunkelsten geschrieben Weise, dass die Autoren möglicherweise 1881 01:25:20,260 --> 01:25:21,760 Schreib es. 1882 01:25:21,760 --> 01:25:29,210 Aber es ist ein wundervolles kleines Stück, erzeugt ein Modell der Fluiddynamik. 1883 01:25:29,210 --> 01:25:34,870 >> Und so werden wir geben, dieses Modell einen Eingang, 1884 01:25:34,870 --> 01:25:42,520 sieht so aus, der ein staired von Behältern eingestellt 1885 01:25:42,520 --> 01:25:45,820 mit etwas Flüssigkeit, einige Flüssigkeit an der Spitze. 1886 01:25:45,820 --> 01:25:48,790 Und wir haben es zu simulieren was um sie geschieht. 1887 01:25:48,790 --> 01:25:52,415 >> Also werde ich diese Funktion aufrufen, Endo. 1888 01:25:52,415 --> 01:25:59,000 Und ich werde es geben, die Eingabedatei, die ich je hatte. 1889 01:25:59,000 --> 01:26:02,830 Und es ist unsere Inbegriff von ASCII-Kunst. 1890 01:26:02,830 --> 01:26:08,960 Eine vollständige Fluiddynamiksimulator in nur wenigen Zeilen Code ausgeführt wird. 1891 01:26:08,960 --> 01:26:13,750 >> Nun, was ist eigentlich wirklich amazing über dieses kleine Programm 1892 01:26:13,750 --> 01:26:17,280 ist, dass ich möchte es jetzt aufhören, so werde ich in welchem ​​Befehl verwenden? 1893 01:26:17,280 --> 01:26:18,660 >> ZIELGRUPPE: Strg-C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN Scassellati: Strg-C. OK. 1895 01:26:20,390 --> 01:26:22,960 Also werde ich Strg-C zu verwenden. C Das wird es zu stoppen. 1896 01:26:22,960 --> 01:26:25,330 Ich werde wieder zu löschen. 1897 01:26:25,330 --> 01:26:31,210 Und jetzt werde ich das Aufrufen Programm, führen Sie das Programm, 1898 01:26:31,210 --> 01:26:33,740 Verwendung selbst als Eingabe. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> Und wir erledigen den fluiddynamischen sehen Simulation der es schmilzt. 1901 01:26:42,700 --> 01:26:43,830 OK. 1902 01:26:43,830 --> 01:26:48,180 Bitte lassen Sie sich nicht dieses Programm ist die Sache, die Sie verwirrt. 1903 01:26:48,180 --> 01:26:52,220 Es ist einfach so, dass wir am Ende auf etwas Cooles und interessant. 1904 01:26:52,220 --> 01:26:53,930 OK. 1905 01:26:53,930 --> 01:26:56,330 >> Viel Glück mit Ihrem Problem-Sets. 1906 01:26:56,330 --> 01:26:59,030 Wir sind glücklich, zu beantworten Fragen nach dem Unterricht. 1907 01:26:59,030 --> 01:27:01,180 Vielen Dank, Jungs. 1908 01:27:01,180 --> 01:27:02,793