1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Pieņemsim, ka mēs vēlamies, lai rakstītu programma, kas aicina ikvienu 2 00:00:03,160 --> 00:00:06,740 telpa viņu vecumam, un pēc tam izdrukas , cik vecs šie cilvēki būs 3 00:00:06,740 --> 00:00:07,520 gadā līdz? 4 00:00:07,520 --> 00:00:09,900 Tagad, protams, aritmētika šim problēma būs diezgan 5 00:00:09,900 --> 00:00:10,660 vienkārši. 6 00:00:10,660 --> 00:00:14,090 Bet interesants jautājums ir, ja mēs nav iepriekš zināt, cik daudz cilvēku 7 00:00:14,090 --> 00:00:16,790 būs šajā telpā, kā mēs varētu iet par uzglabāšanu 8 00:00:16,790 --> 00:00:17,980 visu to vecumu? 9 00:00:17,980 --> 00:00:19,680 Nu, pieņemsim to apskatīt. 10 00:00:19,680 --> 00:00:22,760 >> Sāksim vispirms pamudinot lietotājs, kā es esmu darījis šeit, lai 11 00:00:22,760 --> 00:00:26,410 cilvēku skaits telpā, izmantojot getInt un do-kamēr cilpa, lai 12 00:00:26,410 --> 00:00:28,220 iegūt skaitlim n. 13 00:00:28,220 --> 00:00:32,310 Pieņemsim, ka mēs tagad vēlamies lūgt katru šādu persona telpā viņu vecumam. 14 00:00:32,310 --> 00:00:35,820 Nu, mani instinkti būtu izmantot cilpa to darīt, pamudinot, bet es arī 15 00:00:35,820 --> 00:00:37,840 nepieciešama vieta, kur glabāt šo cilvēku vecumu. 16 00:00:37,840 --> 00:00:40,760 Un mans pirmais instinkti nebūtu izmantot mainīgo par pirmo 17 00:00:40,760 --> 00:00:43,690 personas vecumu, vēl viens mainīgais Jau otro personas vecuma, 18 00:00:43,690 --> 00:00:44,780 veida pa līniju. 19 00:00:44,780 --> 00:00:46,230 Int vecums - 20 00:00:46,230 --> 00:00:48,850 labi, sauksim to 1 par pirmais cilvēks. 21 00:00:48,850 --> 00:00:51,480 Int vecums 2 otrajam personai. 22 00:00:51,480 --> 00:00:53,980 Int vecums 3 par trešo personu. 23 00:00:53,980 --> 00:00:56,750 >> Bet pagaidiet minūti, tas nav iespējams, labākais ceļš iet uz leju. 24 00:00:56,750 --> 00:01:00,620 Tā kā es nezinu, iepriekš rakstot un apkopojot šo programmu, kā 25 00:01:00,620 --> 00:01:02,330 daudzi lietotāji tur būs. 26 00:01:02,330 --> 00:01:06,590 Un turklāt, ja tur ir tik daudz, cik 100 lietotāji, kuri deklarē 100 mainīgie 27 00:01:06,590 --> 00:01:10,350 veida savādi nosaukts, piemēram, tas nav justies kā vislabāko dizainu. 28 00:01:10,350 --> 00:01:14,430 >> Nu, par laimi pastāv cits Mainīgā sauc par masīvu, kas 29 00:01:14,430 --> 00:01:18,710 ļauj saglabāt jebkuru ints skaitu iekšpusē tā, pat ja mēs nezinām, 30 00:01:18,710 --> 00:01:22,190 Rakstot savu programmu, cik šādas ints mēs gatavojamies nepieciešams. 31 00:01:22,190 --> 00:01:25,970 Tāpēc pieņemsim backtrack un dzēst šos vairākas ints, un aizstāt to 32 00:01:25,970 --> 00:01:29,620 ar vienu mainīgo sauc, saka, vecumu, daudzskaitlis. 33 00:01:29,620 --> 00:01:33,420 Bet pieņemsim, precizē šajā pozīcijā Koda kvadrātiekavās, ka mēs 34 00:01:33,420 --> 00:01:35,460 vēlas n Ints. 35 00:01:35,460 --> 00:01:39,570 Un tāpēc mēs kopā atsaukties uz šiem ints par vecumu. 36 00:01:39,570 --> 00:01:43,490 >> Tagad tikai brīdi es varētu saņemt katrā no ints šajā masīva 37 00:01:43,490 --> 00:01:47,270 Līdzīgā veidā kvadrātiekavas apzīmējums, sākot no 0. 38 00:01:47,270 --> 00:01:51,720 Tātad, pieņemsim turpināt tagad cilpu, lai mudināt lietotājus par savu vecumu. 39 00:01:51,720 --> 00:01:54,780 Par int man 0. 40 00:01:54,780 --> 00:01:59,464 I ir mazāks par N, cilvēku skaits telpā, I plus plus. 41 00:01:59,464 --> 00:02:06,610 >> Un tagad šajā cilpas, teiksim printf vecuma cilvēks skaits, procenti I 42 00:02:06,610 --> 00:02:09,430 ir vietturis, komats. 43 00:02:09,430 --> 00:02:13,210 Un tagad, nevis sākt skaitot no 0 pati programma, pieņemsim pie 44 00:02:13,210 --> 00:02:17,180 Vismaz pieauguma Es par 1 tā, ka normāls persona, izmantojot šo programmu 45 00:02:17,180 --> 00:02:20,120 nav rēķināties, piemēram datorzinātnieks varenība. 46 00:02:20,120 --> 00:02:26,130 Pieņemsim tagad darīt vecumu, kronšteinu I, tādējādi norādot, ka i-vecums mūsu 47 00:02:26,130 --> 00:02:31,480 masīvs vecumu gatavojas saņemt atgriešanās vērtību getInt. 48 00:02:31,480 --> 00:02:37,800 >> Tagad zem šīs cilpas, pieņemsim turpināt pieņemt, ka kādu laiku iet. 49 00:02:37,800 --> 00:02:41,690 Un pieņemsim tagad doties citā cilpa faktiski vecumu ikvienam telpā 50 00:02:41,690 --> 00:02:42,800 līdz vienam gadam. 51 00:02:42,800 --> 00:02:48,110 Tātad vēlreiz, lai int es saņemt 0, man ir mazāks kā N, cilvēku skaits 52 00:02:48,110 --> 00:02:49,680 telpa, es plus plus. 53 00:02:49,680 --> 00:02:57,210 >> Un tagad iekšā šīs cilpas, teiksim printf gadu no tagad personu skaita, 54 00:02:57,210 --> 00:03:00,990 procenti Man ir vietturis, būs būt, procenti man ir vēl viens 55 00:03:00,990 --> 00:03:03,210 vietturis gadus vecs. 56 00:03:03,210 --> 00:03:07,230 Un tad, lai kontaktdakšu tos vietturi, pieņemsim vispirms pateikt I plus 57 00:03:07,230 --> 00:03:11,220 1, lai atkal mēs sākt skaitīšanas lai lietotājs no 1. 58 00:03:11,220 --> 00:03:18,630 Un tad pieņemsim pievienojiet šīs personas vecumu kā vecums stiprinājuma I plus 1, tādējādi 59 00:03:18,630 --> 00:03:23,740 norādot go get i-vecumu mūsu masīvs vecumu, pievienot 1 līdz tam un pēc tam 60 00:03:23,740 --> 00:03:28,370 ievietot šī summa mūsu vietturī close paren, semikolu. 61 00:03:28,370 --> 00:03:33,280 >> Pieņemsim tagad apkopo šo programmu ar marka vecumu, un pieņemsim palaist to ar punktu 62 00:03:33,280 --> 00:03:34,990 slīpsvītra vecumu. 63 00:03:34,990 --> 00:03:38,770 Un domāju, ka tur ir tikai trīs cilvēki telpā, un kāds ir 18, 64 00:03:38,770 --> 00:03:40,700 kāds ir 19, kāds ir 20. 65 00:03:40,700 --> 00:03:45,350 Nu, gadā, katrs no tiem ļaudīm, būs 19, 20 un 21, 66 00:03:45,350 --> 00:03:46,600 attiecīgi. 67 00:03:46,600 --> 00:03:48,948