1 00:00:00,000 --> 00:00:02,830 >> Gjuha 1: Le të shkruaj një program që bën të përdoruesit për një pozitiv 2 00:00:02,830 --> 00:00:05,950 integer, n, dhe pastaj printime nga shuma e të gjithë numrat 3 00:00:05,950 --> 00:00:07,980 midis 1 dhe n. 4 00:00:07,980 --> 00:00:10,580 E pra, këtu kemi kryesor, të cilin unë e kam tashmë e shkruar paraprakisht. 5 00:00:10,580 --> 00:00:13,520 Dhe vini re këtu në krye të kryesore, deklaroj një n int. 6 00:00:13,520 --> 00:00:16,079 >> Unë pastaj, brenda një kohë ta bërë loop, së pari të shtypura nga 7 00:00:16,079 --> 00:00:17,530 numër i plotë pozitiv, ju lutem. 8 00:00:17,530 --> 00:00:21,070 Pastaj unë të vazhdojë të marrë një numër të plotë nga përdorues me të marrë bibliotekës CS50-së 9 00:00:21,070 --> 00:00:22,070 int funksion. 10 00:00:22,070 --> 00:00:26,410 Dhe pastaj në gjendjen time, ndërsa këtu, unë të sigurt që n është më e madhe se ose e 11 00:00:26,410 --> 00:00:30,480 barabartë me 1 para I vërtetë vazhdohet të bëjë diçka me këtë vlerë. 12 00:00:30,480 --> 00:00:31,520 >> Çfarë të bëj tjetër? 13 00:00:31,520 --> 00:00:34,690 E pra, unë e quaj një funksion që unë jam duke shkuar për të thirrur SIGMA, përfaqësues i 14 00:00:34,690 --> 00:00:37,700 SIGMA kapitalit që ju mund të keni kujton nga klasat e matematikës që 15 00:00:37,700 --> 00:00:40,860 tregon se ju doni të përmbledhur diçka nga një vlerë në një tjetër. 16 00:00:40,860 --> 00:00:44,540 Dhe çdo gjë që kthimet funksion si vlera e tij e kthimit, unë jam duke shkuar për të ruajtur 17 00:00:44,540 --> 00:00:46,500 në një ndryshore të quajtur përgjigje. 18 00:00:46,500 --> 00:00:50,280 >> Së fundi, në përputhje tim të fundit në kryesore, unë jam i do të shtypura nga çfarë përgjigje është. 19 00:00:50,280 --> 00:00:52,840 Natyrisht, ne nuk kemi zbatuar ende kjo sigma funksion. 20 00:00:52,840 --> 00:00:54,590 Deri sa nuk kemi shkojë për të bërë këtë? 21 00:00:54,590 --> 00:00:58,040 >> E pra, në fund të dosjes sime, unë jam i do të vazhdojë për të deklaruar një funksion 22 00:00:58,040 --> 00:00:59,450 se kthen një int. 23 00:00:59,450 --> 00:01:01,630 Dhe unë jam duke shkuar për të thirrur që sigma funksion. 24 00:01:01,630 --> 00:01:06,340 Dhe unë jam duke shkuar për të specifikuar se si input se funksioni i pranon edhe një int. 25 00:01:06,340 --> 00:01:09,800 Dhe unë do të thërrasë atë vetëm, të jetë i dallueshme, m në vend të n. 26 00:01:09,800 --> 00:01:12,120 Por ne mund të e kanë quajtur atë çdo gjë më të ne do të donim. 27 00:01:12,120 --> 00:01:14,930 >> Brendësi të trupit të këtij funksioni I jam do të vazhdojë të përdorë të njohur 28 00:01:14,930 --> 00:01:16,420 ndërtuar, domethënë një lak. 29 00:01:16,420 --> 00:01:19,010 Por unë jam gjithashtu do të bëjë një grimë e mendje e shëndoshë kontrolluar për të siguruar që 30 00:01:19,010 --> 00:01:22,340 Përdoruesi nuk siguron mua me një numër të se unë nuk jam duke pritur. 31 00:01:22,340 --> 00:01:28,010 Në mënyrë të veçantë, unë jam duke shkuar për të bërë në qoftë se m është më pak se 1 dhe, diçka arbitrarisht, 32 00:01:28,010 --> 00:01:31,280 Unë jam thjesht do të kthehen 0 nëse Numri nuk është pozitiv 33 00:01:31,280 --> 00:01:32,800 numër i plotë si unë pres. 34 00:01:32,800 --> 00:01:36,920 >> Atëherë unë jam duke shkuar për të deklaruar një ndryshore quhet shuma dhe nisja atë në 0. 35 00:01:36,920 --> 00:01:40,810 Kjo në fund të fundit do të ruajtur shumën e të gjithë numrat midis 1 dhe m. 36 00:01:40,810 --> 00:01:43,550 Dhe atëherë unë jam duke shkuar për të përdorur një të njohur konstrukt përpara loop. 37 00:01:43,550 --> 00:01:50,272 Për int merr 1, i është më pak se ose e barabartë me m, i plus plus. 38 00:01:50,272 --> 00:01:54,010 Dhe pastaj, në brendësi të këtij loop, unë jam thjesht duke shkuar për të bërë shumë 39 00:01:54,010 --> 00:01:56,350 është e barabartë me shumën plus i. 40 00:01:56,350 --> 00:02:01,900 Ose, më thjesht, plus shuma e barabartë i, e cila arrin të njëjtin rezultat. 41 00:02:01,900 --> 00:02:04,810 >> Dhe pastaj në fund, më duhet të kthehen shuma që unë kam llogaritur. 42 00:02:04,810 --> 00:02:07,640 Kështu që unë të shtuar në shumën e kthimit. 43 00:02:07,640 --> 00:02:08,560 >> Tani unë nuk jam bërë ende. 44 00:02:08,560 --> 00:02:11,360 Unë kam nevojë për të mësuar C se ky funksion në të vërtetë ekziston. 45 00:02:11,360 --> 00:02:14,400 Dhe kështu në majë dosjen time unë jam duke shkuar për të deklaruar atë që ne kemi quajtur një funksion 46 00:02:14,400 --> 00:02:18,270 prototip, identike me nënshkrimin që kam përdorur gjatë definimit të funksionit 47 00:02:18,270 --> 00:02:19,250 një moment më parë. 48 00:02:19,250 --> 00:02:22,450 >> Në mënyrë të veçantë, vetëm mbi kryesor, Unë jam duke shkuar të tipit int 49 00:02:22,450 --> 00:02:26,080 SIGMA, m int, pikëpresje. 50 00:02:26,080 --> 00:02:29,240 Jo zbatimin e funksionit përsëri, thjesht duke deklaruar atë. 51 00:02:29,240 --> 00:02:32,800 Nëse unë tani të shpëtuar, përpilojnë, dhe të drejtuar këtë program, le të shohim se çfarë të shkoj. 52 00:02:32,800 --> 00:02:37,460 Bëni SIGMA 0 dot çaj SIGMA 0. 53 00:02:37,460 --> 00:02:41,050 Dhe tani le të ofrojnë një numër i plotë pozitiv si 2, e cila duhet të jepni 54 00:02:41,050 --> 00:02:45,920 tre, sepse vlerat në mes të 1 dhe 2 janë 1 plus 2 është e barabartë me 3. 55 00:02:45,920 --> 00:02:47,300 Dhe me të vërtetë, kjo është ajo që kam marrë. 56 00:02:47,300 --> 00:02:49,940 >> Le të drejtuar atë përsëri, këtë kohë me të, të themi, 3. 57 00:02:49,940 --> 00:02:53,470 Kështu që unë duhet të merrni 1 plus 2 plus 3 duhet të jepni 6. 58 00:02:53,470 --> 00:02:54,740 Dhe me të vërtetë, unë do të marrë 6. 59 00:02:54,740 --> 00:02:57,380 >> Dhe le të provojmë një vlerë fundit, thonë 50. 60 00:02:57,380 --> 00:03:01,160 Dhe 1,275 është përgjigja jonë. 61 00:03:01,160 --> 00:03:02,253