>> Выступоўца 1: Давайце напішам праграму, якая запытвае ў карыстальніка станоўчае
цэлы лік, п, а затым раздрукоўвае сума ўсіх лікаў
паміж 1 і п.
Ну, вось у нас ёсць галоўны, які я ужо напісаў загадзя.
І звярніце ўвагу, тут у верхняй частцы Асноўны, я абвясціць Int N.
>> Я тады, усярэдзіне зрабіць у той час пятля, спачатку раздрукаваць
станоўчае цэлы лік, калі ласка.
Тады я працягну, каб атрымаць цэлы лік ад карыстач з Атрымаць бібліятэкі CS50 ў
Int функцыю.
А потым у маёй а ўмова тут, я пераканацца, што п больш або
роўны 1, перш чым я на самой справе перайсці зрабіць што-то з гэтым значэннем.
>> Што мне рабіць далей?
Ну, я выклікаю функцыю, якую я буду патэлефанаваць сігма, прадстаўнік
капітал сігма, што вы, магчыма, адкліканы з матэматычных класаў, што
паказвае, што вы хочаце, каб падвесці нешта ад аднаго значэння да іншага.
І што б гэта функцыя вяртае ў якасці вяртаецца значэнне, я збіраюся захоўваць
ў зменнай, названай адказ.
>> Нарэшце, у маім апошнім лініі ў асноўны, я ў друк, што адказ.
Вядома, мы яшчэ не рэалізаваны гэтая функцыя сігма.
Так як жа нам гэтага зрабіць?
>> Ну, у ніжняй частцы майго файла, я збіраецца прыступіць да абвясціць функцыю
што вяртае Int.
І я буду называць што функцыя сігма.
І я збіраюся паказаць, што ў якасці ўваходных дадзеных што функцыя прымае таксама да унутр.
І я буду называць яго проста, каб быць розныя, м замест п.
Але мы маглі б назваць гэта Найбольш ўсё, што мы хацелі б.
>> Ўнутры цела гэтай функцыі я знаходжуся збіраецца працягнуць выкарыстоўваць знаёмы
пабудаваць, а менавіта пятлю.
Але я таксама збіраюся зрабіць трохі разважнасці праверкі, каб пераканацца, што
карыстальнік не даць мне нумар што я не чакаю.
У прыватнасці, я збіраюся зрабіць, калі т менш чым 1, і некалькі адвольна,
Я проста збіраюся вярнуцца 0, калі колькасць не з'яўляецца станоўчым
цэлае, як я чакаю.
>> Тады я збіраюся абвясціць зменную называецца сума і ініцыялізаваць яго ў 0.
Гэта ў канчатковым рахунку захоўваць суму ўсе нумары ад 1 да м.
А потым я збіраюся выкарыстоўваць знаёмы наперад канструкцыя цыклу.
Для унутр я атрымлівае 1, я менш або роўная т, я плюс плюс.
А потым, у целе гэтага цыкл, я проста збіраюся зрабіць суму
роўная суме плюс я.
Ці, прасцей кажучы, сума плюс роўная I, які дасягае таго ж выніку.
>> А потым, нарэшце, я павінен вярнуцца сума, якую я вылічаны.
Так што я дадаць ў зваротнай сумы.
>> Цяпер я яшчэ не скончыў.
Мне трэба, каб навучыць C, што гэта Функцыя сапраўды існуе.
І так на вяршыні майго файла я збіраюся абвясціць тое, што мы назавем функцыяй
прататып, ідэнтычная подпісы што я выкарыстаў пры вызначэнні функцыі
хвіліну таму.
>> У прыватнасці, як раз над галоўным, Я збіраюся ўвесці Int
сігма, унутр м, кропка з коскі.
Ня рэалізацыі функцыі зноў, проста абвясціўшы яе.
Калі б я зараз захаваць, скампіляваць і запусціць гэты Праграма, давайце паглядзім, што я атрымліваю.
Зрабіць сігма 0 кропка слэш сігма 0.
А цяпер давайце забяспечыць дадатнае цэлы лік як 2, які павінен даць мне
тры, так як значэння паміж 1 і 2 студзені плюс 2 роўна 3.
І на самай справе, гэта тое, што я атрымліваю.
>> Давайце запусцім яго зноў, гэта Час, скажам, 3.
Так што я павінен атрымаць 1 плюс 2 плюс 3 павінен даць мне 6.
І на самай справе, я сапраўды атрымліваеце 6.
>> І давайце паспрабуем апошні значэнне, скажам, 50.
І 1275 гэта наш адказ.