1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA CHAN: Lassen Sie uns Sprung in Mario. 3 00:00:11,070 --> 00:00:14,850 Mario ist ein Programm, wo wir unsere eigenen, wenn auch primitive, Version 4 00:00:14,850 --> 00:00:17,760 ein Klassiker Super Mario Brothers Spiel Hintergrund. 5 00:00:17,760 --> 00:00:21,100 Für dieses Problem Set, wir gehen um die Hälfte-Pyramide für neu 6 00:00:21,100 --> 00:00:23,000 Mario auf zu springen. 7 00:00:23,000 --> 00:00:27,330 Unser Programm wird interaktiv sein, so dass es fragt der Benutzer zur Eingabe eines bestimmten 8 00:00:27,330 --> 00:00:28,660 Höhe für die Pyramide. 9 00:00:28,660 --> 00:00:32,920 Und das Programm druckt ein Halb-Pyramide von dieser Höhe, wo die 10 00:00:32,920 --> 00:00:37,390 unten links Hash wird an der Unterseite linken Ecke des Terminals 11 00:00:37,390 --> 00:00:39,710 Ausgabe-Fenster. 12 00:00:39,710 --> 00:00:44,870 >> Lassen Sie uns dieses Problem in zwei Teile zu brechen, ein, erhalten Benutzereingaben und zwei, 13 00:00:44,870 --> 00:00:47,040 drucken Sie die Pyramide. 14 00:00:47,040 --> 00:00:51,150 Denken Sie daran, dass, obwohl die Funktion GetInt wird eine ganze Zahl abzurufen, 15 00:00:51,150 --> 00:00:56,260 müssen sicherstellen, dass dieser Eingang macht Sinn für Ihr Programm, so in 16 00:00:56,260 --> 00:00:59,690 Mario, wird es nicht nur eine zu tun Produkt für eine ganze Zahl ist. 17 00:00:59,690 --> 00:01:03,440 Sie müssen sicherstellen, dass der Benutzer Eingänge eine ganze Zahl, die in der Umgebung 18 00:01:03,440 --> 00:01:06,985 untere und obere Grenze des Pyramide, die Sie ausdrucken. 19 00:01:06,985 --> 00:01:12,300 Per dieser Spezifikation, ist dies 0 und 23 inklusive. 20 00:01:12,300 --> 00:01:16,410 Wenn der Benutzer eine ganze Zahl außerhalb unserer anerkannten Grenzen, dann wollen wir 21 00:01:16,410 --> 00:01:20,840 um sie wieder und wieder, bis auffordern sie geben uns eine gültige ganze Zahl ist. 22 00:01:20,840 --> 00:01:25,990 >> Ein Weg, um richtige Benutzereingaben zu gewährleisten mithilfe einer Do-While-Schleife, ist die 23 00:01:25,990 --> 00:01:28,100 sehr ähnlich einer While-Schleife. 24 00:01:28,100 --> 00:01:32,580 Die Do-While-Schleife führt den Code im Inneren des Körpers einmal, und dann überprüft, 25 00:01:32,580 --> 00:01:35,270 ob die Bedingung erfüllt ist oder nicht. 26 00:01:35,270 --> 00:01:38,830 Dies ist nützlich für den Erhalt von Benutzereingaben weil Sie wissen, dass Sie brauchen 27 00:01:38,830 --> 00:01:41,805 sie mindestens einmal einzugeben. 28 00:01:41,805 --> 00:01:45,940 Ist die Bedingung nicht erfüllt ist, wird das Programm wird die Zeile nach Ausführung 29 00:01:45,940 --> 00:01:47,270 Ihre Do-While-Schleife. 30 00:01:47,270 --> 00:01:50,950 Wenn die Bedingung erfüllt ist, wenn, wird die Schleife wiederholen. 31 00:01:50,950 --> 00:01:55,560 >> Eine Do-While-Schleife für die Validierung von Benutzer Eingang wird in etwa so aussehen. 32 00:01:55,560 --> 00:02:02,920 Ich erkläre, eine Variable n, GetInt, und wiederholen, bis n ist gültig. 33 00:02:02,920 --> 00:02:06,270 Denken Sie daran, dass, wenn Sie erklären Ihren Variable, muss er das entsprechende 34 00:02:06,270 --> 00:02:08,449 Umfang, wie in Scratch. 35 00:02:08,449 --> 00:02:12,510 Wenn ich in meinem erklären n Do-While-Schleife, der Rest des Programms wird nicht 36 00:02:12,510 --> 00:02:13,750 darauf zugreifen können. 37 00:02:13,750 --> 00:02:16,100 Es ist auf die Grenzen beschränkt der geschweiften Klammern. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Na gut, so dass wir jetzt validiert die Eingabe des Benutzers, wir tatsächlich benötigen, um 40 00:02:23,090 --> 00:02:25,020 zeichnen dieses halbe Pyramide. 41 00:02:25,020 --> 00:02:29,700 Es besteht aus gedruckten Zeichen gemacht, so wir machen eine halbe Pyramide in einer einfachen 42 00:02:29,700 --> 00:02:31,480 Texteditor. 43 00:02:31,480 --> 00:02:35,920 Wenn wir wollen eine Mario-Stil Pyramide machen der Höhe drei das ist ausgerichtet 44 00:02:35,920 --> 00:02:41,370 auf der linken Seite der Fenster, und wir würden zwei Hashes einzugeben, klicken Sie Enter 45 00:02:41,370 --> 00:02:47,180 geben Sie dann drei Hashes, klicken Geben Sie, und geben Sie dann vier. 46 00:02:47,180 --> 00:02:51,090 >> Aber in diesem Satz Problem, unsere Halb-Pyramide hat nach rechts ausgerichtet werden. 47 00:02:51,090 --> 00:02:55,550 Mit einem Standard-Tastatur, wie könnte Sie ändern diese Datei-Hashes bewegen 48 00:02:55,550 --> 00:02:57,210 über an der rechten Seite? 49 00:02:57,210 --> 00:03:03,190 Ich könnte in Unterstriche verwenden, zwei auf die obere Reihe und eine auf der zweiten. 50 00:03:03,190 --> 00:03:07,690 Das sieht nicht so schön, aber so wir ersetzen unterstreicht mit 51 00:03:07,690 --> 00:03:12,450 Räume, und da haben wir eine halbe Pyramide der Höhe drei. 52 00:03:12,450 --> 00:03:16,330 >> Versuchen Sie, und erinnere mich an diesen Text-Editor Beispiel, wie Sie denken, zurück zum Start 53 00:03:16,330 --> 00:03:20,100 C. Lassen Sie uns versuchen, herauszufinden, einige Art von Muster, das wir können 54 00:03:20,100 --> 00:03:22,750 legte in einer Schleife Konstrukt. 55 00:03:22,750 --> 00:03:27,570 Nehmen wir ein Beispiel Höhe, sagen acht, und sehen, ob Sie beginnen können, 56 00:03:27,570 --> 00:03:29,470 kommen mit einem Muster. 57 00:03:29,470 --> 00:03:34,710 Die erste Zeile werden sieben Bereiche gefolgt von zwei Hashes. 58 00:03:34,710 --> 00:03:40,090 Die zweite Reihe wird sechs Räume und drei Hashes, und so weiter, bis der 59 00:03:40,090 --> 00:03:41,440 achten Reihe. 60 00:03:41,440 --> 00:03:45,210 >> Aber wie wollen Sie darstellen würde die n-te Zeile? 61 00:03:45,210 --> 00:03:48,170 Denken Sie daran, dass die Programmierung Konvention null indiziert. 62 00:03:48,170 --> 00:03:51,870 Das bedeutet, dass Sie zählen zu starten Null, so die erste Zeile ist technisch 63 00:03:51,870 --> 00:03:57,110 Zeile Zahl Null mit zwei Luken, Zeile Nummer eins hat drei Hashes, Reihe 64 00:03:57,110 --> 00:04:01,860 Nummer zwei hat vier Hashes, so folgt dieses Muster für jede Zeile 65 00:04:01,860 --> 00:04:05,800 Zahl n gibt es n plus 2 Hashes. 66 00:04:05,800 --> 00:04:09,270 Ich werde es Ihnen überlassen, aber zu finden aus dem Muster für die Räume. 67 00:04:09,270 --> 00:04:12,240 Denken Sie daran, dass Ihre Muster werden etwas anders, wenn Sie zu wählen 68 00:04:12,240 --> 00:04:16,649 Beginnen Sie Ihren Zählerstand von eine und nicht Null ist. 69 00:04:16,649 --> 00:04:19,560 >> Nun haben Sie ein Muster für einem abstrakten Reihe n. 70 00:04:19,560 --> 00:04:25,190 Sie wissen, wie viele Räume zu drucken und wie viele Hashes, so dass für jede Zeile, dass 71 00:04:25,190 --> 00:04:26,270 Zahl wird sich ändern. 72 00:04:26,270 --> 00:04:30,700 Aber das gleiche Verfahren zum Drucken eines einzelnes Zeichen, entweder ein Leerzeichen oder ein 73 00:04:30,700 --> 00:04:33,200 Hash wird wiederholt. 74 00:04:33,200 --> 00:04:37,470 Also alles, was Sie tun müssen, ist immer wieder drucken diesen Charakter so oft 75 00:04:37,470 --> 00:04:40,120 als Muster bestimmt. 76 00:04:40,120 --> 00:04:42,522 >> So, wie wir wiederholen Prozesse? 77 00:04:42,522 --> 00:04:45,160 In Scratch, nutzten wir die Wiederholung Block. 78 00:04:45,160 --> 00:04:48,580 In C, werden wir eine For-Schleife zu verwenden. 79 00:04:48,580 --> 00:04:51,290 Lassen Sie uns bei der Syntax aussehen für For-Schleifen. 80 00:04:51,290 --> 00:04:57,140 >> Jedes For-Schleife besteht aus drei Teile, eine Initialisierung, eine Bedingung, 81 00:04:57,140 --> 00:04:58,592 und ein Update. 82 00:04:58,592 --> 00:05:01,550 Ihre For-Schleife initialisiert eine Variable, wenn es zuerst 83 00:05:01,550 --> 00:05:02,960 tritt der For-Schleife. 84 00:05:02,960 --> 00:05:07,100 Wenn die Bedingung erfüllt ist, wobei der Körper der Schleife ausgeführt wird. 85 00:05:07,100 --> 00:05:10,070 Anschließend wird das Update auszuführen. 86 00:05:10,070 --> 00:05:13,630 >> Wenn die Bedingung noch erfüllt ist, die Schleife wird ausgeführt, und aktualisieren und 87 00:05:13,630 --> 00:05:18,580 wiederholen, solange Ihr Zustand True ergibt. 88 00:05:18,580 --> 00:05:21,450 Sie sind Bedingung muss schließlich bewerten auf False, obwohl, weil 89 00:05:21,450 --> 00:05:24,490 im Gegensatz zu Scratch, wissen wir nicht Immer irgendwelche Loops. 90 00:05:24,490 --> 00:05:28,270 Ihr Programm muss schließlich am Ende. 91 00:05:28,270 --> 00:05:32,330 >> Hier ist ein Beispiel für eine For-Schleife, dass möchten Sie vielleicht für Mario verwenden. 92 00:05:32,330 --> 00:05:36,790 Die Initialisierung erklärt eine ganze Zahl i mit dem Wert 0. 93 00:05:36,790 --> 00:05:40,750 Solange i kleiner als die Höhe ist, der Körper der Schleife wird ausgeführt, und 94 00:05:40,750 --> 00:05:44,980 erhöhen i um eins und wiederholen bis i größer oder 95 00:05:44,980 --> 00:05:47,220 gleich der Höhe. 96 00:05:47,220 --> 00:05:49,140 >> Nun ist meine For-Schleife Null-Index. 97 00:05:49,140 --> 00:05:52,270 Die Int i beginnt bei Null, nicht ein. 98 00:05:52,270 --> 00:05:55,320 Wenn ich einen gewählt haben, dann würde mein Zustand auch müssen unterschiedlich sein 99 00:05:55,320 --> 00:05:58,740 die Schleife die Ausführung gleich oft. 100 00:05:58,740 --> 00:06:03,490 Denken Sie daran, diese sorgfältig, wenn Sie Auswahl Ihrer Initialisierung und Ihre 101 00:06:03,490 --> 00:06:08,660 Zustand und wenden diese Diagramm, um zu überprüfen verdoppeln. 102 00:06:08,660 --> 00:06:13,430 >> Einer der großen Dinge über Computer Wissenschaft ist, dass es einfach so viele 103 00:06:13,430 --> 00:06:15,490 Möglichkeiten, Dinge auszuführen. 104 00:06:15,490 --> 00:06:19,450 Sie können wählen, ob Sie ab Null oder Eins. 105 00:06:19,450 --> 00:06:22,380 Wenn Sie nicht möchten, dass eine For-Schleife zu verwenden, Sie können auch eine while-Schleife 106 00:06:22,380 --> 00:06:26,530 Aussagen wiederholen, solange Sie halten die Essenz einer For-Schleife, 107 00:06:26,530 --> 00:06:31,430 Initialisierung, Bedingung und Update. 108 00:06:31,430 --> 00:06:36,890 Sobald wir herausfinden, die For-Schleife, dass wir sind am bequemsten mit, dann können wir 109 00:06:36,890 --> 00:06:38,450 kann Mario abzuschließen. 110 00:06:38,450 --> 00:06:41,540 >> Wir haben zuerst überprüft Benutzereingaben und dann eine identifizierte 111 00:06:41,540 --> 00:06:43,580 Muster für jede Zeile n. 112 00:06:43,580 --> 00:06:49,990 Also für jede Zeile von Null bis n minus 1 wird die entsprechende Anzahl von Drucken 113 00:06:49,990 --> 00:06:55,340 Bereiche, die entsprechende Zahl von Hashes nach unserem Muster, und 114 00:06:55,340 --> 00:06:57,180 dann eine neue Zeile. 115 00:06:57,180 --> 00:06:59,640 Damit haben Sie Ihre Pyramide. 116 00:06:59,640 --> 00:07:02,630 Mein Name ist Zamyla, und dies war Mario. 117 00:07:02,630 --> 00:07:11,765