1 00:00:00,000 --> 00:00:03,160 >> DAVID J. MALAN: Angenommen, wir schreiben wollen ein Programm, das jeder in fragt 2 00:00:03,160 --> 00:00:06,740 ein Raum für ihr Alter, und dann druckt , wie alt diese Menschen wird ein 3 00:00:06,740 --> 00:00:07,520 Jahr damit? 4 00:00:07,520 --> 00:00:09,900 Nun, natürlich die Arithmetik für diese Problem wird sich recht sein 5 00:00:09,900 --> 00:00:10,660 unkompliziert. 6 00:00:10,660 --> 00:00:14,090 Aber die interessante Frage ist, ob wir nicht im Voraus wissen, wie viele Menschen 7 00:00:14,090 --> 00:00:16,790 sein werden, in diesem Raum, wie konnten wir über die Speicherung gehen 8 00:00:16,790 --> 00:00:17,980 alle ihre Altersstufen? 9 00:00:17,980 --> 00:00:19,680 Nun, lassen Sie uns einen Blick. 10 00:00:19,680 --> 00:00:22,760 >> Beginnen wir mit der ersten Aufforderung beginnen die Benutzer, wie ich hier, fertig für die 11 00:00:22,760 --> 00:00:26,410 Anzahl der Personen im Raum mit getInt und eine do-while-Schleife, um 12 00:00:26,410 --> 00:00:28,220 n eine ganze Zahl zu erhalten. 13 00:00:28,220 --> 00:00:32,310 Angenommen, wir wollen jetzt jede solche zu fragen, Person im Raum für ihr Alter. 14 00:00:32,310 --> 00:00:35,820 Nun, meine Instinkte würden sich für eine Schleife zu tun, dass die Aufforderung, aber ich habe auch 15 00:00:35,820 --> 00:00:37,840 brauchen einen Ort zum Speichern Alter dieser Menschen. 16 00:00:37,840 --> 00:00:40,760 Und mein erster Instinkt würde es eine Variable für die erste Verwendung 17 00:00:40,760 --> 00:00:43,690 Alter der Person, eine andere Variable für das Alter des zweiten Person, 18 00:00:43,690 --> 00:00:44,780 Art entlang der Linien. 19 00:00:44,780 --> 00:00:46,230 Int Alter - 20 00:00:46,230 --> 00:00:48,850 na ja, nennen wir es ein für die erste Person. 21 00:00:48,850 --> 00:00:51,480 Int Alter 2 für die zweite Person. 22 00:00:51,480 --> 00:00:53,980 Int Alter 3 für die dritte Person. 23 00:00:53,980 --> 00:00:56,750 >> Aber warten Sie eine Minute, ist dies vielleicht nicht der beste Weg zu gehen. 24 00:00:56,750 --> 00:01:00,620 Weil ich nicht im Voraus wissen, schreiben und übersetzen, wie dieses Programm 25 00:01:00,620 --> 00:01:02,330 viele Nutzer gibt sein werden. 26 00:01:02,330 --> 00:01:06,590 Und darüber hinaus, wenn es so viele wie 100 Benutzer und erklärte, 100 Variablen 27 00:01:06,590 --> 00:01:10,350 Art von seltsamen Namen wie diese nicht das Gefühl, den besten Entwurf. 28 00:01:10,350 --> 00:01:14,430 >> Nun, zum Glück gibt es eine andere Typ der Variablen ein Array, das heißt 29 00:01:14,430 --> 00:01:18,710 ermöglicht es uns, eine beliebige Anzahl von ints speichern in der es, auch wenn wir nicht wissen, 30 00:01:18,710 --> 00:01:22,190 beim Schreiben von meinem Programm, wie viele wie ints wir gehen zu müssen. 31 00:01:22,190 --> 00:01:25,970 Lassen Sie uns also ansetzen und diese löschen mehrere ints, und statt ersetzen 32 00:01:25,970 --> 00:01:29,620 mit einer Variablen aufgerufen wird, sagen, Alter, Plural. 33 00:01:29,620 --> 00:01:33,420 Aber lassen Sie uns weiter auf dieser Linie angeben des Codes in eckigen Klammern, die wir 34 00:01:33,420 --> 00:01:35,460 n ints wollen. 35 00:01:35,460 --> 00:01:39,570 Und deshalb werden wir gemeinsam beziehen sich auf diese ints als Altersgruppen. 36 00:01:39,570 --> 00:01:43,490 >> Jetzt in nur einem Augenblick werde ich in der Lage zu bekommen an jeder der Ganzzahlen in diesem Array 37 00:01:43,490 --> 00:01:47,270 ähnlich durch eckige Klammer Notation, beginnend bei 0. 38 00:01:47,270 --> 00:01:51,720 Also lassen Sie uns gehen jetzt in einer Schleife zu aufgefordert, die Nutzer für ihre Altersgruppen. 39 00:01:51,720 --> 00:01:54,780 Für int bekomme ich null. 40 00:01:54,780 --> 00:01:59,464 I kleiner als N ist, die Zahl der in den Raum, ich plus plus. 41 00:01:59,464 --> 00:02:06,610 >> Und nun innerhalb dieser Schleife, sagen wir, printf Alter der Person Nummer, Prozent I 42 00:02:06,610 --> 00:02:09,430 ist ein Platzhalter, Komma. 43 00:02:09,430 --> 00:02:13,210 Und jetzt, anstatt zählen begonnen 0 im Programm selbst, das bei lassen 44 00:02:13,210 --> 00:02:17,180 dest Teilbereich I um 1, so daß eine normale Person mit diesem Programm 45 00:02:17,180 --> 00:02:20,120 muss nicht wie ein Countdown Informatiker Macht. 46 00:02:20,120 --> 00:02:26,130 Lassen Sie uns jetzt tun Alters, Halter I, dadurch Angeben, dass der i-ten Alters in unserer 47 00:02:26,130 --> 00:02:31,480 Reihe von Altersgruppen wird zu bekommen der Rückgabewert der getInt. 48 00:02:31,480 --> 00:02:37,800 >> Jetzt unter dieser Schleife, lassen Sie uns gehen anzunehmen, daß einige Zeit vergeht. 49 00:02:37,800 --> 00:02:41,690 Und die jetzt in einer anderen Schleife gehen lassen um tatsächlich alle im Raum altern 50 00:02:41,690 --> 00:02:42,800 von einem Jahr. 51 00:02:42,800 --> 00:02:48,110 Also noch einmal, für int I 0 zu bekommen, ist, dass ich weniger als N, die Zahl der Menschen in der 52 00:02:48,110 --> 00:02:49,680 Zimmer, ich plus plus. 53 00:02:49,680 --> 00:02:57,210 >> Und jetzt in dieser Schleife, sagen wir, printf ein Jahr ab jetzt Personennummer, 54 00:02:57,210 --> 00:03:00,990 Ich Prozent ist ein Platzhalter, werden sein, Prozent Ich ist ein anderer 55 00:03:00,990 --> 00:03:03,210 Platzhalter Jahre alt. 56 00:03:03,210 --> 00:03:07,230 Und dann in die Stecker Platzhalter, wollen wir zunächst sagen, dass ich Plus 57 00:03:07,230 --> 00:03:11,220 1, so dass wir wieder anfangen zu zählen für den Benutzer aus 1. 58 00:03:11,220 --> 00:03:18,630 Und dann lassen Sie uns stecken Alter der betreffenden Person als Altersklasse I plus 1, wodurch 59 00:03:18,630 --> 00:03:23,740 Angabe von unterwegs das i-te Alter erhalten in unserem Array von Alter, fügen Sie 1, um es, und dann 60 00:03:23,740 --> 00:03:28,370 legen diese Summe in unsere Platzhalter close paren, Semikolon. 61 00:03:28,370 --> 00:03:33,280 >> Lassen Sie uns nun dieses Programm mit make kompilieren Altersgruppen, und wir führen Sie es mit Punkt 62 00:03:33,280 --> 00:03:34,990 Schrägstrich Alters. 63 00:03:34,990 --> 00:03:38,770 Und angenommen, dass es nur drei Leute im Raum, und jemand ist 18, 64 00:03:38,770 --> 00:03:40,700 jemand 19, 20 ist jemand. 65 00:03:40,700 --> 00:03:45,350 Nun, in einem Jahr, jeder dieser Leute wird zu 19, 20 und 21 ist, 66 00:03:45,350 --> 00:03:46,600 jeweils. 67 00:03:46,600 --> 00:03:48,948