1 00:00:00,000 --> 00:00:03,160 >> DAVID J. Malan: Gadewch i ni dybio rydym am i ysgrifennu rhaglen sy'n gofyn i bawb yn 2 00:00:03,160 --> 00:00:06,740 ystafell ar gyfer eu hoedran, ac yna printiau pa mor hen bydd y bobl hynny yn 3 00:00:06,740 --> 00:00:07,520 flwyddyn felly? 4 00:00:07,520 --> 00:00:09,900 Yn awr, yn amlwg y rhifyddeg ar gyfer hyn broblem yn mynd i fod yn deg 5 00:00:09,900 --> 00:00:10,660 syml. 6 00:00:10,660 --> 00:00:14,090 Ond y cwestiwn diddorol yw, os ydym ddim yn gwybod o flaen llaw faint o bobl 7 00:00:14,090 --> 00:00:16,790 yn mynd i fod yn yr ystafell hon, sut gallem fynd ati i storio 8 00:00:16,790 --> 00:00:17,980 pob un o'u hoedran? 9 00:00:17,980 --> 00:00:19,680 Wel, gadewch i ni edrych. 10 00:00:19,680 --> 00:00:22,760 >> Gadewch i ni ddechrau drwy annog gyntaf defnyddiwr, fel yr wyf wedi ei wneud yma, ar gyfer y 11 00:00:22,760 --> 00:00:26,410 nifer y bobl yn yr ystafell gan ddefnyddio getInt a dolen do-tra, er mwyn 12 00:00:26,410 --> 00:00:28,220 gael yn gyfanrif n. 13 00:00:28,220 --> 00:00:32,310 Tybiwch ein bod yn awr yn awyddus i ofyn i bob o'r fath person yn yr ystafell ar gyfer eu hoedran. 14 00:00:32,310 --> 00:00:35,820 Wel, byddai fy greddfau yn defnyddio dolen i wneud hynny anogaeth, ond yr wyf hefyd yn 15 00:00:35,820 --> 00:00:37,840 angen lle i storio oedran y bobl hynny. 16 00:00:37,840 --> 00:00:40,760 Ac mae fy greddfau cyntaf byddai i ddefnyddio newidyn am y tro cyntaf 17 00:00:40,760 --> 00:00:43,690 oedran person, newidyn arall i oed yr ail person, 18 00:00:43,690 --> 00:00:44,780 fath o hyd llinellau. 19 00:00:44,780 --> 00:00:46,230 Oedran int - 20 00:00:46,230 --> 00:00:48,850 yn dda, gadewch i ni ei alw'n 1 ar gyfer y person cyntaf. 21 00:00:48,850 --> 00:00:51,480 Int oedran 2 ar gyfer yr ail person. 22 00:00:51,480 --> 00:00:53,980 Int oedran 3 am y trydydd person. 23 00:00:53,980 --> 00:00:56,750 >> Ond arhoswch funud, nid yw hyn yn bosibl y llwybr gorau i fynd i lawr. 24 00:00:56,750 --> 00:01:00,620 Gan nad wyf yn gwybod ymlaen llaw ysgrifennu a llunio rhaglen hon sut 25 00:01:00,620 --> 00:01:02,330 llawer o ddefnyddwyr yno yn mynd i fod. 26 00:01:02,330 --> 00:01:06,590 Ac ar ben hynny, os oes cynifer â 100 o ddefnyddwyr, gan ddatgan 100 o newidynnau 27 00:01:06,590 --> 00:01:10,350 math o rhyfedd a enwir fel nad yw hyn yn teimlo fel y cynllun gorau iawn. 28 00:01:10,350 --> 00:01:14,430 >> Wel, diolch i'r drefn yn bodoli arall math o newidyn a elwir yn amrywiaeth y 29 00:01:14,430 --> 00:01:18,710 yn ein galluogi i storio unrhyw nifer o ints tu mewn iddo, hyd yn oed os nad ydym yn gwybod 30 00:01:18,710 --> 00:01:22,190 wrth ysgrifennu fy rhaglen faint o ints o'r fath, rydym yn mynd i angen. 31 00:01:22,190 --> 00:01:25,970 Felly, gadewch i ni mynd yn ôl a dileu y rhain nifer o ints, ac yn hytrach yn ei le 32 00:01:25,970 --> 00:01:29,620 gydag un newidyn o'r enw, dweud, oedran, lluosog. 33 00:01:29,620 --> 00:01:33,420 Ond gadewch i ni nodi ymhellach ar y rheilffordd hon o god mewn cromfachau sgwâr yr ydym yn 34 00:01:33,420 --> 00:01:35,460 eisiau ints n. 35 00:01:35,460 --> 00:01:39,570 Ac am hynny, byddwn yn cyd cyfeirio at ints hyn fel oedrannau. 36 00:01:39,570 --> 00:01:43,490 >> Nawr yn ychydig funudau'n byddaf yn gallu cael ym mhob un o'r ints yn y casgliad hwn 37 00:01:43,490 --> 00:01:47,270 yn yr un modd drwy braced sgwâr nodiant, gan ddechrau ar 0. 38 00:01:47,270 --> 00:01:51,720 Felly, gadewch i ni symud ymlaen nawr mewn dolen i annog y defnyddwyr i'w hoedran. 39 00:01:51,720 --> 00:01:54,780 Ar gyfer int Rwy'n cael 0. 40 00:01:54,780 --> 00:01:59,464 I yn llai na N, mae nifer y bobl yn yr ystafell, yr wyf yn ogystal a mwy. 41 00:01:59,464 --> 00:02:06,610 >> Ac yn awr o fewn ddolen hon, gadewch i ni ddweud oed printf rhif person, y cant yr wyf yn 42 00:02:06,610 --> 00:02:09,430 hon yn cadw'r, coma. 43 00:02:09,430 --> 00:02:13,210 Ac yn awr, yn hytrach na dechrau cyfrif o 0 yn y rhaglen ei hun, gadewch i ni yn 44 00:02:13,210 --> 00:02:17,180 lleiaf cynyddiad wyf erbyn 1 fel y arferol berson sy'n defnyddio'r rhaglen hon 45 00:02:17,180 --> 00:02:20,120 Nid oes rhaid i gyfrif fel gallai gwyddonydd cyfrifiadur. 46 00:02:20,120 --> 00:02:26,130 Gadewch i ni ei wneud yn awr oedran, braced I, a thrwy hynny yn nodi bod y oedran i-fed yn ein 47 00:02:26,130 --> 00:02:31,480 amrywiaeth o oedrannau yn mynd i gael gwerth dychwelyd getInt. 48 00:02:31,480 --> 00:02:37,800 >> Bellach o dan dolen hon, gadewch i ni symud ymlaen i gymryd yn ganiataol bod rhai amser fynd heibio. 49 00:02:37,800 --> 00:02:41,690 A gadewch i ni yn awr symud ymlaen mewn dolen arall mewn gwirionedd oedran pawb yn yr ystafell 50 00:02:41,690 --> 00:02:42,800 gan un flwyddyn. 51 00:02:42,800 --> 00:02:48,110 Felly eto, am int i'n cael 0, I yn llai na N, mae nifer y bobl yn y 52 00:02:48,110 --> 00:02:49,680 ystafell, yr wyf yn ogystal a mwy. 53 00:02:49,680 --> 00:02:57,210 >> Ac yn awr tu mewn dolen hon, gadewch i ni ddweud printf blwyddyn o rif person yn awr, 54 00:02:57,210 --> 00:03:00,990 cant Rwyf hon yn cadw'r, bydd fod, y cant I yn un arall 55 00:03:00,990 --> 00:03:03,210 placeholder, mlwydd oed. 56 00:03:03,210 --> 00:03:07,230 Ac yna i lenwi'r i'r rhai bachau, gadewch i ni ddweud fy mod cyntaf yn ogystal â 57 00:03:07,230 --> 00:03:11,220 1, fel y eto rydym yn dechrau cyfrif ar gyfer y defnyddiwr o 1. 58 00:03:11,220 --> 00:03:18,630 Ac yna gadewch i plwg yn oed y person hwnnw fel oedrannau braced yr wyf plws 1, a thrwy hynny 59 00:03:18,630 --> 00:03:23,740 pennu yn mynd yn cael y oedran i-fed yn ein amrywiaeth o oedrannau, ychwanegwch 1 iddo, ac yna 60 00:03:23,740 --> 00:03:28,370 rhowch swm hwnnw yn ein dalfan, paren agos, hanner colon. 61 00:03:28,370 --> 00:03:33,280 >> Gadewch i ni yn awr yn llunio rhaglen hon â gwneud oed, a gadewch i ni redeg gyda dot 62 00:03:33,280 --> 00:03:34,990 slaes oed. 63 00:03:34,990 --> 00:03:38,770 Ac yn debyg mai dim ond tri bobl yn yr ystafell, a rhywun yn 18 oed, 64 00:03:38,770 --> 00:03:40,700 rhywun yn 19, rhywun yn 20. 65 00:03:40,700 --> 00:03:45,350 Wel, mewn blwyddyn, pob un o'r Folks hynny yn mynd i fod yn 19, 20, a 21, 66 00:03:45,350 --> 00:03:46,600 yn y drefn honno. 67 00:03:46,600 --> 00:03:48,948