1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Predpokladajme, že chceme napísať program, ktorý sa pýta každý vo 2 00:00:03,160 --> 00:00:06,740 priestor pre ich vek, a potom vytlačí na to, ako staré títo ľudia budú 3 00:00:06,740 --> 00:00:07,520 rok teda? 4 00:00:07,520 --> 00:00:09,900 Teraz, samozrejme aritmetika pre tento Problém bude pomerne 5 00:00:09,900 --> 00:00:10,660 jednoduché. 6 00:00:10,660 --> 00:00:14,090 Ale zaujímavá otázka je, ak budeme neviem dopredu, koľko ľudí 7 00:00:14,090 --> 00:00:16,790 sa bude v tejto miestnosti, ako mohli by sme ísť o ukladaní 8 00:00:16,790 --> 00:00:17,980 všetky ich veku? 9 00:00:17,980 --> 00:00:19,680 Dobre, poďme sa pozrieť. 10 00:00:19,680 --> 00:00:22,760 >> Začnime tým, že prvé výzvy používateľ, ako som to urobil tu, pre 11 00:00:22,760 --> 00:00:26,410 počet ľudí v miestnosti pomocou vezmi_int a do-while, aby 12 00:00:26,410 --> 00:00:28,220 získať celé číslo n 13 00:00:28,220 --> 00:00:32,310 Predpokladajme, že teraz sa chcem opýtať, každý takýto osoba na izbe na ich veku. 14 00:00:32,310 --> 00:00:35,820 No, môj inštinkt by bolo použiť slučka k tomu, že výzvy, ale tiež som 15 00:00:35,820 --> 00:00:37,840 Potrebujete miesto pre uloženie vek týchto ľudí. 16 00:00:37,840 --> 00:00:40,760 A moja prvá inštinkt, že by použiť premennú pre prvý 17 00:00:40,760 --> 00:00:43,690 vek osoby, iné premenné pre vek druhej osoby, 18 00:00:43,690 --> 00:00:44,780 druh pozdĺž liniek. 19 00:00:44,780 --> 00:00:46,230 Int vek - 20 00:00:46,230 --> 00:00:48,850 dobre, nazvime to 1 pre prvý človek. 21 00:00:48,850 --> 00:00:51,480 Int veku 2 pre druhú osobu. 22 00:00:51,480 --> 00:00:53,980 Int vek 3 pre tretiu osobu. 23 00:00:53,980 --> 00:00:56,750 >> Ale počkaj, to nie je možná najlepšou cestou ísť dole. 24 00:00:56,750 --> 00:01:00,620 Pretože ja neviem, dopredu písanie a zostavovaní tohto programu, ako 25 00:01:00,620 --> 00:01:02,330 veľa užívateľov tam sa bude. 26 00:01:02,330 --> 00:01:06,590 A navyše, v prípade, že je toľko, koľko 100 užívatelia, vyhlasujúce 100 premenných 27 00:01:06,590 --> 00:01:10,350 nejako čudne pomenovaný ako to robí nie pocit, že to najlepšie dizajn. 28 00:01:10,350 --> 00:01:14,430 >> No, našťastie existuje iný typ premennej s názvom poľa, ktoré 29 00:01:14,430 --> 00:01:18,710 nám umožňuje ukladať ľubovoľný počet ints vnútri nej, aj keď nevieme, 30 00:01:18,710 --> 00:01:22,190 pri písaní môjho programu, koľko Tieto ints budeme potrebovať. 31 00:01:22,190 --> 00:01:25,970 Takže poďme ustúpiť a odstránenie týchto niekoľko ints, a namiesto toho ho nahradiť 32 00:01:25,970 --> 00:01:29,620 sa jedna premenná s názvom, povedať, vekové kategórie, množné číslo. 33 00:01:29,620 --> 00:01:33,420 Ale poďme ďalej špecifikovať na tejto linke kódu v hranatých zátvorkách, ktoré sme 34 00:01:33,420 --> 00:01:35,460 Ak n ints. 35 00:01:35,460 --> 00:01:39,570 A preto budeme spoločne odkazujú na tieto ints ako vekov. 36 00:01:39,570 --> 00:01:43,490 >> Teraz za chvíľu budem môcť dostať v každom z ints v tomto poli 37 00:01:43,490 --> 00:01:47,270 podobne prostredníctvom hranatých zátvorkách notácie, začína na 0. 38 00:01:47,270 --> 00:01:51,720 Takže poďme pokračovať dnes v slučke vyzve užívateľa k ich veku. 39 00:01:51,720 --> 00:01:54,780 Pre int mám 0. 40 00:01:54,780 --> 00:01:59,464 Aj je menšie ako N, počet ľudí, ktorí v miestnosti, som plus plus. 41 00:01:59,464 --> 00:02:06,610 >> Teraz v rámci tejto slučky, povedzme printf vek osoba čísla, percentá Aj 42 00:02:06,610 --> 00:02:09,430 je zástupný symbol, čiarka. 43 00:02:09,430 --> 00:02:13,210 A teraz, skôr než začať počítať od 0 v samotnom programe, poďme na 44 00:02:13,210 --> 00:02:17,180 aspoň prírastok Aj o 1 tak, že normálne Osoba, ktorá používa tento program 45 00:02:17,180 --> 00:02:20,120 nemusí počítať ako počítačový vedec moc. 46 00:02:20,120 --> 00:02:26,130 Poďme teraz robiť veku, držiak Aj, čím sa upresňuje, že vek i-tý v našej 47 00:02:26,130 --> 00:02:31,480 Pole vekov sa dostane Návratová hodnota vezmi_int. 48 00:02:31,480 --> 00:02:37,800 >> Teraz pod touto slučkou, poďme pokračovať predpokladať, že nejaký čas ubieha. 49 00:02:37,800 --> 00:02:41,690 A poďme teraz pokračovať v ďalšej slučke na každého v miestnosti vlastne starneme 50 00:02:41,690 --> 00:02:42,800 o jeden rok. 51 00:02:42,800 --> 00:02:48,110 Takže ešte raz, pre int som dostal 0, I je menej ako N, počet ľudí v 52 00:02:48,110 --> 00:02:49,680 pokoj, ja a navyše. 53 00:02:49,680 --> 00:02:57,210 >> A teraz vnútri tejto slučky, povedzme printf rok od teraz osoba čísla, 54 00:02:57,210 --> 00:03:00,990 percent som je zástupný symbol, bude byť, percento Aj je ďalší 55 00:03:00,990 --> 00:03:03,210 symbol, rokov. 56 00:03:03,210 --> 00:03:07,230 A potom sa zapojte do tých zástupné symboly, poďme sa najprv povedať, že som navyše 57 00:03:07,230 --> 00:03:11,220 1, takže opäť začneme počítať pre užívateľov od 1. 58 00:03:11,220 --> 00:03:18,630 A potom sa poďme zapojte veku danej osoby ako starne držiaku Aj plus 1, čím sa 59 00:03:18,630 --> 00:03:23,740 s uvedením Choď veku i-teho v našej rad vekov, pridajte 1 k nemu, a potom 60 00:03:23,740 --> 00:03:28,370 vložte túto sumu do nášho zástupný symbol, zatvoriť zátvorka, bodkočiarka. 61 00:03:28,370 --> 00:03:33,280 >> Poďme sa teraz skompilovať tento program s make veku, a poďme spustiť s bodkou 62 00:03:33,280 --> 00:03:34,990 lomítko veku. 63 00:03:34,990 --> 00:03:38,770 A predpokladám, že tam sú len tri ľudia v miestnosti, a niekto je 18, 64 00:03:38,770 --> 00:03:40,700 niekto 19, niekto 20. 65 00:03:40,700 --> 00:03:45,350 No, v roku, každý z tých ľudí, bude 19, 20, a 21, 66 00:03:45,350 --> 00:03:46,600 v tomto poradí. 67 00:03:46,600 --> 00:03:48,948