1 00:00:00,000 --> 00:00:02,830 >> COLUMNA 1: Imos escribir un programa que solicita ao usuario un resultado positivo 2 00:00:02,830 --> 00:00:05,950 enteiro, n, e, a continuación, imprime a suma de todos os números 3 00:00:05,950 --> 00:00:07,980 entre 1 e n. 4 00:00:07,980 --> 00:00:10,580 Ben, aquí temos principal, que eu teño escrita por adiantado. 5 00:00:10,580 --> 00:00:13,520 E teña en conta aquí na parte superior da principal, eu declaro un int n. 6 00:00:13,520 --> 00:00:16,079 >> Eu, entón, dentro dun While loop, primeiro imprimir 7 00:00:16,079 --> 00:00:17,530 enteiro positivo, por favor. 8 00:00:17,530 --> 00:00:21,070 Así que proceder para obter un número enteiro de ó usuario obter a biblioteca CS50 9 00:00:21,070 --> 00:00:22,070 int función. 10 00:00:22,070 --> 00:00:26,410 E entón, na miña condición mentres aquí, eu asegurarse de que non é maior que ou 11 00:00:26,410 --> 00:00:30,480 igual a 1 antes de eu realmente proceder para facer algo con ese valor. 12 00:00:30,480 --> 00:00:31,520 >> O que fago agora? 13 00:00:31,520 --> 00:00:34,690 Ben, eu chamo unha función que eu vou chamar sigma, representante do 14 00:00:34,690 --> 00:00:37,700 sigma capital que pode ter recordou das clases de matemáticas que 15 00:00:37,700 --> 00:00:40,860 indica que quere sumar algo a partir dun valor a outro. 16 00:00:40,860 --> 00:00:44,540 E o que quere que función devolve como seu valor de retorno, eu estou indo para almacenar 17 00:00:44,540 --> 00:00:46,500 nunha variable chamada resposta. 18 00:00:46,500 --> 00:00:50,280 >> Por último, na miña última liña principal, eu son vai imprimir o que resposta é. 19 00:00:50,280 --> 00:00:52,840 Por suposto, aínda non implementado esta sigma función. 20 00:00:52,840 --> 00:00:54,590 Entón, como é que imos facelo? 21 00:00:54,590 --> 00:00:58,040 >> Ben, no fondo do meu arquivo, eu son vai proceder a declarar unha función 22 00:00:58,040 --> 00:00:59,450 que retorna un int. 23 00:00:59,450 --> 00:01:01,630 E eu vou chamar que a función sigma. 24 00:01:01,630 --> 00:01:06,340 E eu estou indo a especificar que como entrada esa función tamén acepta un int. 25 00:01:06,340 --> 00:01:09,800 E eu vou chamalo só, para ser distinta, m en vez de n. 26 00:01:09,800 --> 00:01:12,120 Pero poderiamos chamar a algo que quere. 27 00:01:12,120 --> 00:01:14,930 >> Dentro do corpo desta función son seguirá a usar un familiar 28 00:01:14,930 --> 00:01:16,420 construción, a saber, un circuíto. 29 00:01:16,420 --> 00:01:19,010 Pero eu tamén vou facer un pouco de cordura verificación para asegurarse de que o 30 00:01:19,010 --> 00:01:22,340 usuario non proporcionar-me con un número que eu non estou esperando. 31 00:01:22,340 --> 00:01:28,010 En particular, eu vou facer, se m é menos que 1 e, tanto arbitrariamente, 32 00:01:28,010 --> 00:01:31,280 Estou simplemente vai voltar 0 se o número non é un positivo 33 00:01:31,280 --> 00:01:32,800 enteiro como eu esperaba. 34 00:01:32,800 --> 00:01:36,920 >> Entón eu vou para declarar unha variable chamado suma e inicialize-o a 0. 35 00:01:36,920 --> 00:01:40,810 Isto, en última instancia almacenar a suma de todos os números entre 1 e m. 36 00:01:40,810 --> 00:01:43,550 E entón eu vou usar un familiar construción de loop para adiante. 37 00:01:43,550 --> 00:01:50,272 Para int i obtén 1, i é inferior a ou igual a m, i, máis aló. 38 00:01:50,272 --> 00:01:54,010 E entón, dentro do corpo da presente loop, eu estou indo simplemente para facer suma 39 00:01:54,010 --> 00:01:56,350 é igual a suma máis eu. 40 00:01:56,350 --> 00:02:01,900 Ou, máis simplemente, suma máis é igual a i, que atinxe o mesmo resultado. 41 00:02:01,900 --> 00:02:04,810 >> E entón, finalmente, eu teño volver a suma que computados. 42 00:02:04,810 --> 00:02:07,640 Así que engadir en suma retorno. 43 00:02:07,640 --> 00:02:08,560 >> Agora eu non estou preparado aínda. 44 00:02:08,560 --> 00:02:11,360 Necesito ensinar C que este función realmente existe. 45 00:02:11,360 --> 00:02:14,400 E así, encima meu arquivo eu vou declarar o que chamamos de función 46 00:02:14,400 --> 00:02:18,270 prototipo, idéntica á sinatura que eu usei na definición da función 47 00:02:18,270 --> 00:02:19,250 un momento atrás. 48 00:02:19,250 --> 00:02:22,450 >> En concreto, logo enriba principal, Eu estou indo para o tipo int 49 00:02:22,450 --> 00:02:26,080 sigma, int m, o punto e coma. 50 00:02:26,080 --> 00:02:29,240 Non aplicar a función de novo, só tes que declaralo lo. 51 00:02:29,240 --> 00:02:32,800 Se agora me salvar, compilar e executar este programa, imos ver o que eu recibín. 52 00:02:32,800 --> 00:02:37,460 Fai sigma 0 dot cortar sigma 0. 53 00:02:37,460 --> 00:02:41,050 E agora imos ofrecer un enteiro positivo como 2, que debe dar-me 54 00:02:41,050 --> 00:02:45,920 tres, porque os valores entre 1 e 2 son máis 2 1 é igual a 3. 55 00:02:45,920 --> 00:02:47,300 E, de feito, iso é o que eu recibín. 56 00:02:47,300 --> 00:02:49,940 >> Imos executa-lo de novo, desta tempo con, digamos, 3. 57 00:02:49,940 --> 00:02:53,470 Entón eu debería 1 máis 2 máis 3 debería darme 6. 58 00:02:53,470 --> 00:02:54,740 E, de feito, eu entendo 6. 59 00:02:54,740 --> 00:02:57,380 >> E imos tratar un último valor, digamos, 50 anos. 60 00:02:57,380 --> 00:03:01,160 E 1275 é a nosa resposta. 61 00:03:01,160 --> 00:03:02,253