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 і 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