>> ZAMYLA CHAN: Lassen Sie uns Sprung in Mario.
Mario ist ein Programm, wo wir unsere eigenen, wenn auch primitive, Version
ein Klassiker Super Mario Brothers Spiel Hintergrund.
Für dieses Problem Set, wir gehen um die Hälfte-Pyramide für neu
Mario auf zu springen.
Unser Programm wird interaktiv sein, so dass es fragt der Benutzer zur Eingabe eines bestimmten
Höhe für die Pyramide.
Und das Programm druckt ein Halb-Pyramide von dieser Höhe, wo die
unten links Hash wird an der Unterseite linken Ecke des Terminals
Ausgabe-Fenster.
>> Lassen Sie uns dieses Problem in zwei Teile zu brechen, ein, erhalten Benutzereingaben und zwei,
drucken Sie die Pyramide.
Denken Sie daran, dass, obwohl die Funktion GetInt wird eine ganze Zahl abzurufen,
müssen sicherstellen, dass dieser Eingang macht Sinn für Ihr Programm, so in
Mario, wird es nicht nur eine zu tun Produkt für eine ganze Zahl ist.
Sie müssen sicherstellen, dass der Benutzer Eingänge eine ganze Zahl, die in der Umgebung
untere und obere Grenze des Pyramide, die Sie ausdrucken.
Per dieser Spezifikation, ist dies 0 und 23 inklusive.
Wenn der Benutzer eine ganze Zahl außerhalb unserer anerkannten Grenzen, dann wollen wir
um sie wieder und wieder, bis auffordern sie geben uns eine gültige ganze Zahl ist.
>> Ein Weg, um richtige Benutzereingaben zu gewährleisten mithilfe einer Do-While-Schleife, ist die
sehr ähnlich einer While-Schleife.
Die Do-While-Schleife führt den Code im Inneren des Körpers einmal, und dann überprüft,
ob die Bedingung erfüllt ist oder nicht.
Dies ist nützlich für den Erhalt von Benutzereingaben weil Sie wissen, dass Sie brauchen
sie mindestens einmal einzugeben.
Ist die Bedingung nicht erfüllt ist, wird das Programm wird die Zeile nach Ausführung
Ihre Do-While-Schleife.
Wenn die Bedingung erfüllt ist, wenn, wird die Schleife wiederholen.
>> Eine Do-While-Schleife für die Validierung von Benutzer Eingang wird in etwa so aussehen.
Ich erkläre, eine Variable n, GetInt, und wiederholen, bis n ist gültig.
Denken Sie daran, dass, wenn Sie erklären Ihren Variable, muss er das entsprechende
Umfang, wie in Scratch.
Wenn ich in meinem erklären n Do-While-Schleife, der Rest des Programms wird nicht
darauf zugreifen können.
Es ist auf die Grenzen beschränkt der geschweiften Klammern.
>> Na gut, so dass wir jetzt validiert die Eingabe des Benutzers, wir tatsächlich benötigen, um
zeichnen dieses halbe Pyramide.
Es besteht aus gedruckten Zeichen gemacht, so wir machen eine halbe Pyramide in einer einfachen
Texteditor.
Wenn wir wollen eine Mario-Stil Pyramide machen der Höhe drei das ist ausgerichtet
auf der linken Seite der Fenster, und wir würden zwei Hashes einzugeben, klicken Sie Enter
geben Sie dann drei Hashes, klicken Geben Sie, und geben Sie dann vier.
>> Aber in diesem Satz Problem, unsere Halb-Pyramide hat nach rechts ausgerichtet werden.
Mit einem Standard-Tastatur, wie könnte Sie ändern diese Datei-Hashes bewegen
über an der rechten Seite?
Ich könnte in Unterstriche verwenden, zwei auf die obere Reihe und eine auf der zweiten.
Das sieht nicht so schön, aber so wir ersetzen unterstreicht mit
Räume, und da haben wir eine halbe Pyramide der Höhe drei.
>> Versuchen Sie, und erinnere mich an diesen Text-Editor Beispiel, wie Sie denken, zurück zum Start
C. Lassen Sie uns versuchen, herauszufinden, einige Art von Muster, das wir können
legte in einer Schleife Konstrukt.
Nehmen wir ein Beispiel Höhe, sagen acht, und sehen, ob Sie beginnen können,
kommen mit einem Muster.
Die erste Zeile werden sieben Bereiche gefolgt von zwei Hashes.
Die zweite Reihe wird sechs Räume und drei Hashes, und so weiter, bis der
achten Reihe.
>> Aber wie wollen Sie darstellen würde die n-te Zeile?
Denken Sie daran, dass die Programmierung Konvention null indiziert.
Das bedeutet, dass Sie zählen zu starten Null, so die erste Zeile ist technisch
Zeile Zahl Null mit zwei Luken, Zeile Nummer eins hat drei Hashes, Reihe
Nummer zwei hat vier Hashes, so folgt dieses Muster für jede Zeile
Zahl n gibt es n plus 2 Hashes.
Ich werde es Ihnen überlassen, aber zu finden aus dem Muster für die Räume.
Denken Sie daran, dass Ihre Muster werden etwas anders, wenn Sie zu wählen
Beginnen Sie Ihren Zählerstand von eine und nicht Null ist.
>> Nun haben Sie ein Muster für einem abstrakten Reihe n.
Sie wissen, wie viele Räume zu drucken und wie viele Hashes, so dass für jede Zeile, dass
Zahl wird sich ändern.
Aber das gleiche Verfahren zum Drucken eines einzelnes Zeichen, entweder ein Leerzeichen oder ein
Hash wird wiederholt.
Also alles, was Sie tun müssen, ist immer wieder drucken diesen Charakter so oft
als Muster bestimmt.
>> So, wie wir wiederholen Prozesse?
In Scratch, nutzten wir die Wiederholung Block.
In C, werden wir eine For-Schleife zu verwenden.
Lassen Sie uns bei der Syntax aussehen für For-Schleifen.
>> Jedes For-Schleife besteht aus drei Teile, eine Initialisierung, eine Bedingung,
und ein Update.
Ihre For-Schleife initialisiert eine Variable, wenn es zuerst
tritt der For-Schleife.
Wenn die Bedingung erfüllt ist, wobei der Körper der Schleife ausgeführt wird.
Anschließend wird das Update auszuführen.
>> Wenn die Bedingung noch erfüllt ist, die Schleife wird ausgeführt, und aktualisieren und
wiederholen, solange Ihr Zustand True ergibt.
Sie sind Bedingung muss schließlich bewerten auf False, obwohl, weil
im Gegensatz zu Scratch, wissen wir nicht Immer irgendwelche Loops.
Ihr Programm muss schließlich am Ende.
>> Hier ist ein Beispiel für eine For-Schleife, dass möchten Sie vielleicht für Mario verwenden.
Die Initialisierung erklärt eine ganze Zahl i mit dem Wert 0.
Solange i kleiner als die Höhe ist, der Körper der Schleife wird ausgeführt, und
erhöhen i um eins und wiederholen bis i größer oder
gleich der Höhe.
>> Nun ist meine For-Schleife Null-Index.
Die Int i beginnt bei Null, nicht ein.
Wenn ich einen gewählt haben, dann würde mein Zustand auch müssen unterschiedlich sein
die Schleife die Ausführung gleich oft.
Denken Sie daran, diese sorgfältig, wenn Sie Auswahl Ihrer Initialisierung und Ihre
Zustand und wenden diese Diagramm, um zu überprüfen verdoppeln.
>> Einer der großen Dinge über Computer Wissenschaft ist, dass es einfach so viele
Möglichkeiten, Dinge auszuführen.
Sie können wählen, ob Sie ab Null oder Eins.
Wenn Sie nicht möchten, dass eine For-Schleife zu verwenden, Sie können auch eine while-Schleife
Aussagen wiederholen, solange Sie halten die Essenz einer For-Schleife,
Initialisierung, Bedingung und Update.
Sobald wir herausfinden, die For-Schleife, dass wir sind am bequemsten mit, dann können wir
kann Mario abzuschließen.
>> Wir haben zuerst überprüft Benutzereingaben und dann eine identifizierte
Muster für jede Zeile n.
Also für jede Zeile von Null bis n minus 1 wird die entsprechende Anzahl von Drucken
Bereiche, die entsprechende Zahl von Hashes nach unserem Muster, und
dann eine neue Zeile.
Damit haben Sie Ihre Pyramide.
Mein Name ist Zamyla, und dies war Mario.