1 00:00:00,000 --> 00:00:02,830 >> ЗВУЧНИК 1: Да се ​​напише програма која поттикнува на корисникот за позитивен 2 00:00:02,830 --> 00:00:05,950 цел број, n, а потоа отпечатоци од збирот на сите броеви 3 00:00:05,950 --> 00:00:07,980 помеѓу 1 и n. 4 00:00:07,980 --> 00:00:10,580 Добро, тука имаме главните, кои јас сум веќе напишано однапред. 5 00:00:10,580 --> 00:00:13,520 И ќе забележите тука на врвот на Главната, изјавувам на int n. 6 00:00:13,520 --> 00:00:16,079 >> Јас тогаш, во внатрешноста на направите додека јамка, прво печатење 7 00:00:16,079 --> 00:00:17,530 позитивен цел број, те молам. 8 00:00:17,530 --> 00:00:21,070 Тогаш јас продолжи да се добие цел број од корисник со GET на библиотеката CS50 9 00:00:21,070 --> 00:00:22,070 int функција. 10 00:00:22,070 --> 00:00:26,410 А потоа во мојот додека состојбата тука, јас направи дека n е поголема од или 11 00:00:26,410 --> 00:00:30,480 е еднаква на 1 пред јас всушност се продолжи да се направи нешто со таа вредност. 12 00:00:30,480 --> 00:00:31,520 >> Што да правам следно? 13 00:00:31,520 --> 00:00:34,690 Па, јас го нарекувам функција која Одам да се јавите сигма, претставник на 14 00:00:34,690 --> 00:00:37,700 капитал сигма дека може да има отповикан од математика класи кои 15 00:00:37,700 --> 00:00:40,860 укажува на тоа дека дека сакате да го сумира нешто од една вредност на друг. 16 00:00:40,860 --> 00:00:44,540 И она што таа функција се враќа како нејзиното враќање вредност, јас ќе одам да се сместат 17 00:00:44,540 --> 00:00:46,500 во променлива наречена одговор. 18 00:00:46,500 --> 00:00:50,280 >> Конечно, во мојот последен линија во главниот, јас сум случува да се печати она што одговорот е. 19 00:00:50,280 --> 00:00:52,840 Се разбира, ние сеуште немаат имплементирано оваа функција сигма. 20 00:00:52,840 --> 00:00:54,590 Така како ние да се обратите за тоа го прават? 21 00:00:54,590 --> 00:00:58,040 >> Па, на дното на моето досие, јас сум ќе продолжи да прогласи функција 22 00:00:58,040 --> 00:00:59,450 кој се враќа на Инт. 23 00:00:59,450 --> 00:01:01,630 И јас одам да се јавите таа функција сигма. 24 00:01:01,630 --> 00:01:06,340 И јас одам да се каже дека како влез таа функција ја прифаќа исто така Инт. 25 00:01:06,340 --> 00:01:09,800 И јас ќе го наречеме само, да биде различни, м наместо n. 26 00:01:09,800 --> 00:01:12,120 Но, ние би можеле да го нарекува повеќето ништо ние би сакале. 27 00:01:12,120 --> 00:01:14,930 >> Внатрешноста на телото на оваа функција сум ќе продолжи да се користи запознаени 28 00:01:14,930 --> 00:01:16,420 изградба, имено јамка. 29 00:01:16,420 --> 00:01:19,010 Но јас сум исто така, ќе се направи малку здрав разум проверка за да бидете сигурни дека 30 00:01:19,010 --> 00:01:22,340 корисникот не ми обезбеди со голем број дека јас не сум очекува. 31 00:01:22,340 --> 00:01:28,010 Особено, јас ќе одам да направите ако m е помалку од 1 и, донекаде произволно, 32 00:01:28,010 --> 00:01:31,280 Јас сум едноставно ќе се врати 0, ако број не е позитивен 33 00:01:31,280 --> 00:01:32,800 цел број, како што се очекува. 34 00:01:32,800 --> 00:01:36,920 >> Тогаш јас ќе одам да декларирате променлива наречен сума и се иницијализира до 0. 35 00:01:36,920 --> 00:01:40,810 Ова, конечно, ќе ги чува Збирот на сите броеви помеѓу 1 и m. 36 00:01:40,810 --> 00:01:43,550 А потоа јас ќе одам да се користи запознаени напред јамка конструкција. 37 00:01:43,550 --> 00:01:50,272 За int i добива 1, i е помал од или еднаква на м, јас плус плус. 38 00:01:50,272 --> 00:01:54,010 А потоа, во рок од телото на оваа јамка, јас сум едноставно се случува да направам Збирот 39 00:01:54,010 --> 00:01:56,350 еднакво Збирот плус јас. 40 00:01:56,350 --> 00:02:01,900 Или, едноставно, сума плус еднаква на i, со кој се постигнува истиот резултат. 41 00:02:01,900 --> 00:02:04,810 >> А потоа на крај, јас треба да се вратат сумата што сум пресметана. 42 00:02:04,810 --> 00:02:07,640 Па јас додадете во замена сума. 43 00:02:07,640 --> 00:02:08,560 >> Сега јас се уште не сум сторил. 44 00:02:08,560 --> 00:02:11,360 Јас треба да ги учат C дека овој функција всушност постои. 45 00:02:11,360 --> 00:02:14,400 И така на врвот моето досие, ќе одам да се изјасни она што го нарекува функцијата 46 00:02:14,400 --> 00:02:18,270 прототип, идентична со потпис дека јас се користи при дефинирањето на функцијата 47 00:02:18,270 --> 00:02:19,250 пред еден миг. 48 00:02:19,250 --> 00:02:22,450 >> Поточно, веднаш над главната, Одам да напишеш int 49 00:02:22,450 --> 00:02:26,080 Сигма, int m, точка-запирка. 50 00:02:26,080 --> 00:02:29,240 Не спроведување на функција повторно, едноставно декларирање. 51 00:02:29,240 --> 00:02:32,800 Ако јас сега ги зачувате, состави, и извршите оваа програма, ајде да видиме што ќе добијам. 52 00:02:32,800 --> 00:02:37,460 Направи сигма 0 dot намали сигма 0. 53 00:02:37,460 --> 00:02:41,050 И сега нека обезбеди позитивен цел број како 2, кој треба да ми дадеш 54 00:02:41,050 --> 00:02:45,920 три, бидејќи вредностите помеѓу 1 и 2 се 1 плус 2 еднаква 3. 55 00:02:45,920 --> 00:02:47,300 И навистина, тоа е она што јас се добие. 56 00:02:47,300 --> 00:02:49,940 >> Ајде да се кандидира повторно, овој време со, да речеме, 3. 57 00:02:49,940 --> 00:02:53,470 Па јас треба да добие 1 плус 2 плус 3 треба да ми даде 6. 58 00:02:53,470 --> 00:02:54,740 И навистина, јас не добие 6. 59 00:02:54,740 --> 00:02:57,380 >> И ајде да се обидеме последен вредност, велат 50. 60 00:02:57,380 --> 00:03:01,160 И 1275 е нашиот одговор. 61 00:03:01,160 --> 00:03:02,253