>> SPEAKER 1: Да се ​​напише програма, която подсказва на потребителя за положителна
число, п, и след това отпечатва сумата на всички числа
между 1 и п.
Е, тук имаме основната, които съм вече написан предварително.
Отбележете тук в горната част на Основната, аз декларирам, едно цяло число п.
>> Аз, вътре на правите, докато контур, първо разпечатате
положително цяло число, моля.
След това се процедира, за да получите число от потребителя с получите CS50 библиотеката
INT функция.
И след това в състоянието ми, докато тук, I уверете се, че н е по-голяма или
равна на 1, преди аз всъщност се процедира да се направи нещо с тази стойност.
>> Какво да правя след това?
Е, аз наричам функция, която ще да се обадя на сигма, представител на
капитал сигма, че може да се наложи Припомня се от математика класове, които
показва, че искате да обобщим нещо от една стойност в друга.
И каквото и тази функция се връща като неговото връщане стойност, аз отивам да се съхранява
в променлива наречена отговор.
>> И накрая, в последния ми линия в главната, аз съм ще разпечатате това, което е отговор.
Разбира се, ние все още не са приложили тази функция сигма.
Е, как ще го направим това?
>> Е, в долната част на досието ми, аз съм ще продължи да се декларира функция
че връща вътр.
И аз отивам да се обадя тази функция сигма.
И аз отивам да се уточни, че като вход тази функция приема също вътр.
И аз ще го наричаме просто, за да бъде важно, т вместо п.
Но бихме могли да го нарича почти всичко бихме искали.
>> Вътре в тялото на тази функция съм ще продължи да се използва познатия
изграждане, а именно една линия.
Но аз също ще направя малко здрав разум проверка, за да се уверите, че
потребител не ми предостави редица че аз не съм очаквал.
По-специално, аз ще направя, ако m е по-малко от 1, и до известна степен произволно
Аз съм просто ще върне 0, ако броят не е положителен
цяло число, както аз очаквам.
>> Тогава аз отивам да се декларира променлива нарича сума и го инициализира с 0.
Това в крайна сметка ще се съхранява на сумата на всички числа между 1 и т.
И тогава аз ще използвам един познат напред контур конструкт.
За Int аз получава едно, аз е по-малко от или равно на m, аз плюс плюс.
И след това, в рамките на тялото на този контур, аз просто ще направя сума
се равнява на сума плюс аз.
Или, по-просто, плюс сума се равнява на I, който постига същия резултат.
>> И тогава най-накрая, трябва да се върнете сумата, която съм изчислява.
Така че мога да добавя в замяна сума.
>> Сега аз все още не съм свършил.
Трябва да науча C, че това функция действително съществува.
И така, на върха на моя файл Отивам да декларират това, което сме се нарича функция
прототип, идентичен с подписа че използва при определяне на функцията
преди малко.
>> По-конкретно, точно над главния, Отивам да напишете Int
сигма, вътр m, точка и запетая.
Не е в изпълнение на функцията отново, трябва само да я декларирате.
Ако аз сега спаси, компилирате и стартирате тази програма, нека да видим какво получавам.
Направете сигма 0 точки наклонена черта сигма 0.
А сега нека да се осигури положително число като две, които трябва да ми дадете
три, защото стойностите между 1 и 2 са един плюс две е равно на 3.
И наистина, това е, което имам.
>> Нека да го стартирате отново, този време с, да речем, три.
Така че аз трябва да получи един плюс две плюс 3, трябва да ми даде 6.
И наистина, аз разбирам 6.
>> И нека се опитаме за последен стойност, да речем 50.
И 1275 е нашият отговор.