1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Да предположим, че искате да напишете програма, която иска всички в 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 брой на хората в помещението, използващи getInt и на направи линия, докато, за да се 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 Int възраст - 20 00:00:46,230 --> 00:00:48,850 добре, нека да го наречем един за първо лице. 21 00:00:48,850 --> 00:00:51,480 Int възраст 2 за втория човек. 22 00:00:51,480 --> 00:00:53,980 Int 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 Искам N цели числа. 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 За Int I получи 0. 40 00:01:54,780 --> 00:01:59,464 I е по-малко от N, броят на хората в стаята, аз плюс плюс. 41 00:01:59,464 --> 00:02:06,610 >> И сега, в рамките на този цикъл, нека да кажем, ФОРМАТ възраст на човек номер, процента I 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 малко увеличение I от 1, така че нормално лице, което използва тази програма 45 00:02:17,180 --> 00:02:20,120 не трябва да се брои като компютърен учен могъщество. 46 00:02:20,120 --> 00:02:26,130 Нека сега направим възрасти, скоба I, като по този начин уточнява, че аз-ти-годишна възраст в нашата 47 00:02:26,130 --> 00:02:31,480 спектър от възрасти ще се получи, стойността връщане на getInt. 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, I е по-малко от N, броят на хората в 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 процента I е контейнер, ще бъде процента I е друга 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 И тогава нека да включите във възрастта на това лице като възрасти скоба I плюс 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