1 00:00:00,000 --> 00:00:02,830 >> Выступоўца 1: Давайце напішам праграму, якая запытвае ў карыстальніка станоўчае 2 00:00:02,830 --> 00:00:05,950 цэлы лік, п, а затым раздрукоўвае сума ўсіх лікаў 3 00:00:05,950 --> 00:00:07,980 паміж 1 і п. 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 Тады я працягну, каб атрымаць цэлы лік ад карыстач з Атрымаць бібліятэкі CS50 ў 9 00:00:21,070 --> 00:00:22,070 Int функцыю. 10 00:00:22,070 --> 00:00:26,410 А потым у маёй а ўмова тут, я пераканацца, што п больш або 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 што вяртае Int. 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 І я буду называць яго проста, каб быць розныя, м замест п. 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 У прыватнасці, я збіраюся зрабіць, калі т менш чым 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 да м. 36 00:01:40,810 --> 00:01:43,550 А потым я збіраюся выкарыстоўваць знаёмы наперад канструкцыя цыклу. 37 00:01:43,550 --> 00:01:50,272 Для унутр я атрымлівае 1, я менш або роўная т, я плюс плюс. 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 сігма, унутр м, кропка з коскі. 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 кропка слэш сігма 0. 53 00:02:37,460 --> 00:02:41,050 А цяпер давайце забяспечыць дадатнае цэлы лік як 2, які павінен даць мне 54 00:02:41,050 --> 00:02:45,920 тры, так як значэння паміж 1 і 2 студзені плюс 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