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