1 00:00:00,000 --> 00:00:03,160 >> Давид Ј. Малан: Рецимо да желите да пишете програм који тражи да сви у 2 00:00:03,160 --> 00:00:06,740 просторија за њихов узраст, а затим штампа како стари ће ти људи бити 3 00:00:06,740 --> 00:00:07,520 године па? 4 00:00:07,520 --> 00:00:09,900 Сада, очигледно аритметика за ово Проблем ће бити прилично 5 00:00:09,900 --> 00:00:10,660 једноставно. 6 00:00:10,660 --> 00:00:14,090 Али занимљиво питање је, ако се не знам унапред колико људи 7 00:00:14,090 --> 00:00:16,790 ће бити у овој соби, како могли идемо о складиштењу 8 00:00:16,790 --> 00:00:17,980 све њихове старости? 9 00:00:17,980 --> 00:00:19,680 Па, хајде да погледамо. 10 00:00:19,680 --> 00:00:22,760 >> Почнимо прво навело корисник, као што сам урадио овде, за 11 00:00:22,760 --> 00:00:26,410 број људи у соби користећи Тоноване и до-вхиле петље у циљу 12 00:00:26,410 --> 00:00:28,220 добити природан број н. 13 00:00:28,220 --> 00:00:32,310 Претпоставимо сада да поставим сваки такав особа у соби за њихов узраст. 14 00:00:32,310 --> 00:00:35,820 Па, моји инстинкти би да користите петља за то навело, али ја такође 15 00:00:35,820 --> 00:00:37,840 потребно место за складиштење старости тих људи. 16 00:00:37,840 --> 00:00:40,760 И моји први инстинкт не би било да користи променљиву за први 17 00:00:40,760 --> 00:00:43,690 старост особе, друга променљива за узраст другог лица, 18 00:00:43,690 --> 00:00:44,780 врста дуж линија. 19 00:00:44,780 --> 00:00:46,230 Инт старости - 20 00:00:46,230 --> 00:00:48,850 добро, назовимо га за 1 прва особа. 21 00:00:48,850 --> 00:00:51,480 Инт старости 2 за другу особу. 22 00:00:51,480 --> 00:00:53,980 Инт старост 3 за трећу особу. 23 00:00:53,980 --> 00:00:56,750 >> Али цекај мало, ово није можда најбољи пут да иде доле. 24 00:00:56,750 --> 00:01:00,620 Јер ја не знам унапред писања и састављања овај програм како 25 00:01:00,620 --> 00:01:02,330 многи корисници тамо ће бити. 26 00:01:02,330 --> 00:01:06,590 А осим тога, ако има колико 100 корисника, стављање 100 променљивих 27 00:01:06,590 --> 00:01:10,350 некако чудновато назван овако не Осећам се као веома најбољи дизајн. 28 00:01:10,350 --> 00:01:14,430 >> Па, на срећу постоји други Тип променљиве назива низ који 29 00:01:14,430 --> 00:01:18,710 нам омогућава да складиштите било који број интс унутар њега, чак и ако не знамо 30 00:01:18,710 --> 00:01:22,190 када пишем програм колико такви интс ћемо требати. 31 00:01:22,190 --> 00:01:25,970 Па хајде да одустане и брисање ових неколико интс, и уместо да је замените 32 00:01:25,970 --> 00:01:29,620 са једне променљиве назива, кажу, узраста, множина. 33 00:01:29,620 --> 00:01:33,420 Али, хајде да се даље прецизира на овој линији кода у угластим заградама које смо 34 00:01:33,420 --> 00:01:35,460 Желим н интс. 35 00:01:35,460 --> 00:01:39,570 И зато, ми смо колективно ће односе на ове интс као узраста. 36 00:01:39,570 --> 00:01:43,490 >> Сада у само једном тренутку ћу бити у стању да се на сваком од интс у овом низу 37 00:01:43,490 --> 00:01:47,270 слично путем угласте заграде нотација, са почетком у 0. 38 00:01:47,270 --> 00:01:51,720 Па хајде да сада наставимо у петљи на подстакне кориснике за њихове узрасте. 39 00:01:51,720 --> 00:01:54,780 За инт добијем 0.. 40 00:01:54,780 --> 00:01:59,464 И је мање од Н, број људи у соби, ја плус плус. 41 00:01:59,464 --> 00:02:06,610 >> И сада у овој петљи, рецимо принтф старост особа број, посто ја 42 00:02:06,610 --> 00:02:09,430 је чувар места, зарез. 43 00:02:09,430 --> 00:02:13,210 И сада, уместо да започне бројање из 0 у програму себи, хајде да на 44 00:02:13,210 --> 00:02:17,180 бар прираст сам од 1, тако да је нормална Лице које користи овај програм 45 00:02:17,180 --> 00:02:20,120 не мора да рачунају као рачунарски научник моћ. 46 00:02:20,120 --> 00:02:26,130 Хајде да сада урадимо узрасте, носача И, чиме се прецизирајући да и-ти старост у нашем 47 00:02:26,130 --> 00:02:31,480 низ векова ће добити повратак вредност Затамњена. 48 00:02:31,480 --> 00:02:37,800 >> Сада испод овог петље, хајде да наставимо претпоставити да неко време пролази. 49 00:02:37,800 --> 00:02:41,690 И хајде да сада наставимо у другој петљи да заправо старимо све у соби 50 00:02:41,690 --> 00:02:42,800 за годину дана. 51 00:02:42,800 --> 00:02:48,110 Дакле, опет, за инт сам добила 0, ја је мање од Н, број људи у 52 00:02:48,110 --> 00:02:49,680 соба, ја плус плус. 53 00:02:49,680 --> 00:02:57,210 >> А сада унутар овог петље, рецимо принтф годину дана лица броја, 54 00:02:57,210 --> 00:03:00,990 посто сам је чувар места, ће бити, посто И је још један 55 00:03:00,990 --> 00:03:03,210 Чувар места, година. 56 00:03:03,210 --> 00:03:07,230 А онда да се прикључите на оне Чувари места, хајде да прво И саи плус 57 00:03:07,230 --> 00:03:11,220 1, тако да опет почнемо бројање за корисника од 1.. 58 00:03:11,220 --> 00:03:18,630 И онда хајде да прикључите у доба тог лица као узраста носећи И плус 1, а тиме 59 00:03:18,630 --> 00:03:23,740 наводећи да узмем и-тог доба у нашем низ векова, додајте 1 до њега, а затим 60 00:03:23,740 --> 00:03:28,370 убаците ту суму у нашој чувар места, затвори заграда, зарез. 61 00:03:28,370 --> 00:03:33,280 >> Хајде да сада саставити овај програм са марка узраста, и хајде да га покренете са тачком 62 00:03:33,280 --> 00:03:34,990 сласх узраста. 63 00:03:34,990 --> 00:03:38,770 И претпоставимо да постоје само три људи у соби, а неко је 18, 64 00:03:38,770 --> 00:03:40,700 неко је 19, неко је 20.. 65 00:03:40,700 --> 00:03:45,350 Па, за годину дана, сваки од тих људи ће бити 19, 20, и 21, 66 00:03:45,350 --> 00:03:46,600 респективно. 67 00:03:46,600 --> 00:03:48,948