1 00:00:00,000 --> 00:00:02,830 >> SIARADWR 1: Dewch i ysgrifennu rhaglen sy'n annog y defnyddiwr i gael cadarnhaol 2 00:00:02,830 --> 00:00:05,950 cyfanrif, n, ac yna yn argraffu allan y swm o holl rifau 3 00:00:05,950 --> 00:00:07,980 rhwng 1 a n. 4 00:00:07,980 --> 00:00:10,580 Wel, dyma ni yn brif, ac yr wyf i wedi ysgrifenedig eisoes mewn llaw. 5 00:00:10,580 --> 00:00:13,520 Ac yn sylwi yma ar ben brif wyf yn datgan, yn int n. 6 00:00:13,520 --> 00:00:16,079 >> Yna, tu mewn tra do dolen, yn gyntaf argraffu 7 00:00:16,079 --> 00:00:17,530 cyfanrif positif, os gwelwch yn dda. 8 00:00:17,530 --> 00:00:21,070 Yna mi symud ymlaen i gael cyfanrif o i'r defnyddiwr get llyfrgell CS50 yn 9 00:00:21,070 --> 00:00:22,070 int swyddogaeth. 10 00:00:22,070 --> 00:00:26,410 Ac yna yn fy nghyflwr tra yma, yr wyf yn gwneud yn siŵr bod n yn fwy na neu'n 11 00:00:26,410 --> 00:00:30,480 gyfartal i 1 cyn i mi mewn gwirionedd yn symud ymlaen i wneud rhywbeth gyda gwerth hwnnw. 12 00:00:30,480 --> 00:00:31,520 >> Beth ddylwn i ei wneud nesaf? 13 00:00:31,520 --> 00:00:34,690 Wel, yr wyf yn galw swyddogaeth yr wyf i'n mynd i alw sigma, cynrychiolydd y 14 00:00:34,690 --> 00:00:37,700 sigma cyfalaf sydd gennych alw'n ôl o dosbarthiadau mathemateg a 15 00:00:37,700 --> 00:00:40,860 yn dangos eich bod am i grynhoi rhywbeth o un gwerth i un arall. 16 00:00:40,860 --> 00:00:44,540 A beth bynnag y ffurflenni swyddogaeth fel ei werth yn ôl, dwi'n mynd i storio 17 00:00:44,540 --> 00:00:46,500 mewn newidyn a elwir yn ateb. 18 00:00:46,500 --> 00:00:50,280 >> Yn olaf, yn fy llinell olaf yn y prif, rwy'n mynd i argraffu beth ateb. 19 00:00:50,280 --> 00:00:52,840 Wrth gwrs, nid ydym wedi rhoi ar waith eto hwn sigma swyddogaeth. 20 00:00:52,840 --> 00:00:54,590 Felly, sut rydym yn mynd ati i wneud hynny? 21 00:00:54,590 --> 00:00:58,040 >> Wel, ar waelod fy ffeil, rwy'n mynd i symud ymlaen i ddatgan swyddogaeth 22 00:00:58,040 --> 00:00:59,450 sy'n dychwelyd yn int. 23 00:00:59,450 --> 00:01:01,630 Ac yr wyf i'n mynd i alw y sigma swyddogaeth. 24 00:01:01,630 --> 00:01:06,340 Ac yr wyf i'n mynd i bennu bod fel mewnbwn swyddogaeth honno yn derbyn int hefyd. 25 00:01:06,340 --> 00:01:09,800 A byddaf yn galw 'i jyst, i fod yn benodol, m yn hytrach na n. 26 00:01:09,800 --> 00:01:12,120 Ond gallem fod wedi ei alw y y rhan fwyaf o unrhyw beth yr hoffem. 27 00:01:12,120 --> 00:01:14,930 >> Tu mewn i'r corff swyddogaeth hon rwy'n mynd i symud ymlaen i ddefnyddio cyfarwydd 28 00:01:14,930 --> 00:01:16,420 adeiladu, sef dolen. 29 00:01:16,420 --> 00:01:19,010 Ond rwyf hefyd i'n mynd i wneud ychydig o bwyll gwirio i wneud yn siŵr bod y 30 00:01:19,010 --> 00:01:22,340 Nid yw'r defnyddiwr yn rhoi i mi gyda nifer nad wyf i'n disgwyl. 31 00:01:22,340 --> 00:01:28,010 Yn benodol, yr wyf i'n mynd i wneud os m yn llai nag 1 ac, braidd yn fympwyol, 32 00:01:28,010 --> 00:01:31,280 Rydw i'n syml yn mynd i ddychwelyd 0 os nad yw'r rhif yn gadarnhaol 33 00:01:31,280 --> 00:01:32,800 cyfanrif fel yr wyf yn ei ddisgwyl. 34 00:01:32,800 --> 00:01:36,920 >> Yna mi i'n mynd i ddatgan newidyn a elwir yn swm ac yn ymgychwyn i 0. 35 00:01:36,920 --> 00:01:40,810 Bydd hyn yn y pen draw storio'r swm o pob un o'r rhifau rhwng 1 a m. 36 00:01:40,810 --> 00:01:43,550 Ac yna yr wyf i'n mynd i ddefnyddio cyfarwydd lluniad dolen ymlaen. 37 00:01:43,550 --> 00:01:50,272 Ar gyfer int i yn cael 1, fi yn llai na neu'n hafal i m, fi yn ogystal a mwy. 38 00:01:50,272 --> 00:01:54,010 Ac yna, o fewn y corff hwn dolen, rwy'n dim ond yn mynd i wneud swm 39 00:01:54,010 --> 00:01:56,350 yn hafal i swm ynghyd i. 40 00:01:56,350 --> 00:02:01,900 Neu, yn symlach, yn ogystal â swm hafal i, sy'n cyflawni'r un canlyniad. 41 00:02:01,900 --> 00:02:04,810 >> Ac yna yn olaf, mae angen imi ddychwelyd swm yr wyf i wedi ei gyfrifo. 42 00:02:04,810 --> 00:02:07,640 Felly yr wyf yn ychwanegu swm dychwelyd. 43 00:02:07,640 --> 00:02:08,560 >> Nawr Dydw i ddim ei wneud eto. 44 00:02:08,560 --> 00:02:11,360 Angen i mi ddysgu C fod hyn swyddogaeth mewn gwirionedd yn bodoli. 45 00:02:11,360 --> 00:02:14,400 Ac felly ar ben fy ffeil Rydw i'n mynd i ddatgan yr hyn yr ydym wedi galw swyddogaeth 46 00:02:14,400 --> 00:02:18,270 prototeip, union yr un fath i'r llofnod a ddefnyddiais wrth ddiffinio swyddogaeth 47 00:02:18,270 --> 00:02:19,250 funud yn ôl. 48 00:02:19,250 --> 00:02:22,450 >> Yn benodol, ychydig yn uwch na'r brif, Rydw i'n mynd i deipio int 49 00:02:22,450 --> 00:02:26,080 sigma, int m, hanner colon. 50 00:02:26,080 --> 00:02:29,240 Ddim yn gweithredu'r swyddogaeth eto, dim ond datgan ei. 51 00:02:29,240 --> 00:02:32,800 Os wyf yn awr yn arbed, crynhoi, ac yn rhedeg y rhaglen, gadewch i ni weld yr hyn yr wyf yn ei gael. 52 00:02:32,800 --> 00:02:37,460 Gwneud sigma 0 dot slaes sigma 0. 53 00:02:37,460 --> 00:02:41,050 Ac yn awr gadewch i ni roi cyfanrif positif fel 2, a ddylai roi i mi 54 00:02:41,050 --> 00:02:45,920 tri, gan fod y gwerthoedd rhwng 1 a 2 yn 1 a 2 yn dychwelyd 3. 55 00:02:45,920 --> 00:02:47,300 Ac yn wir, dyna beth yr wyf yn ei gael. 56 00:02:47,300 --> 00:02:49,940 >> Gadewch i ni ei redeg eto, mae hyn yn amser gyda, dyweder, 3. 57 00:02:49,940 --> 00:02:53,470 Felly, ddylwn i gael 1 a 2 a 3 Dylai roi i mi 6. 58 00:02:53,470 --> 00:02:54,740 Ac yn wir, yr wyf yn cael 6. 59 00:02:54,740 --> 00:02:57,380 >> A gadewch i ni roi cynnig ar un gwerth diwethaf, yn dweud 50. 60 00:02:57,380 --> 00:03:01,160 Ac mae 1,275 yw ein ateb. 61 00:03:01,160 --> 00:03:02,253