1 00:00:00,000 --> 00:00:02,830 >> ALTAVOZ 1: Vamos a escribir un programa que solicita al usuario un positivo 2 00:00:02,830 --> 00:00:05,950 número entero, n, y luego imprime fuera la suma de todos los números 3 00:00:05,950 --> 00:00:07,980 entre 1 y n. 4 00:00:07,980 --> 00:00:10,580 Bueno, aquí tenemos principal, que he ya escrita de antemano. 5 00:00:10,580 --> 00:00:13,520 Y noten aquí, en la parte superior de principal, declaro un int n. 6 00:00:13,520 --> 00:00:16,079 >> Entonces, dentro de un tiempo do loop, primero imprima 7 00:00:16,079 --> 00:00:17,530 entero positivo, por favor. 8 00:00:17,530 --> 00:00:21,070 Entonces procedo a obtener un número entero de el usuario con get de la biblioteca CS50 9 00:00:21,070 --> 00:00:22,070 función int. 10 00:00:22,070 --> 00:00:26,410 Y luego, en mi condición mientras que aquí, asegurarse de que n es mayor que o 11 00:00:26,410 --> 00:00:30,480 igual a 1 antes de que realmente procedo hacer algo con ese valor. 12 00:00:30,480 --> 00:00:31,520 >> ¿Qué hago ahora? 13 00:00:31,520 --> 00:00:34,690 Bueno, que yo llamo una función que me voy llamar sigma, representante de la 14 00:00:34,690 --> 00:00:37,700 sigma mayúscula que pueda tener convocado de las clases de matemáticas que 15 00:00:37,700 --> 00:00:40,860 indica que desea sumar algo de un valor a otro. 16 00:00:40,860 --> 00:00:44,540 Y todo lo que devuelve la función como su valor de retorno, lo voy a guardar 17 00:00:44,540 --> 00:00:46,500 en una variable llamada respuesta. 18 00:00:46,500 --> 00:00:50,280 >> Por último, en mi última línea principal, estoy va a imprimir lo que la respuesta es. 19 00:00:50,280 --> 00:00:52,840 Por supuesto, todavía no hemos implementado esta función de Sigma. 20 00:00:52,840 --> 00:00:54,590 Entonces, ¿cómo vamos a hacer eso? 21 00:00:54,590 --> 00:00:58,040 >> Bueno, en el fondo de mi archivo, estoy va a proceder a declarar una función 22 00:00:58,040 --> 00:00:59,450 que devuelve un int. 23 00:00:59,450 --> 00:01:01,630 Y yo voy a llamar que Sigma función. 24 00:01:01,630 --> 00:01:06,340 Y yo voy a especificar que como entrada esa función también acepta un int. 25 00:01:06,340 --> 00:01:09,800 Y lo llamaré simplemente, para ser distinta, m en lugar de n. 26 00:01:09,800 --> 00:01:12,120 Pero podríamos haber llamado la casi todo lo que nos gustaría. 27 00:01:12,120 --> 00:01:14,930 >> En el interior del cuerpo de esta función que soy va a proceder a utilizar a un familiar 28 00:01:14,930 --> 00:01:16,420 construir, a saber, un bucle. 29 00:01:16,420 --> 00:01:19,010 Pero yo también voy a hacer un poco de cordura comprobación para asegurarse de que el 30 00:01:19,010 --> 00:01:22,340 usuario no me dará un número que no estoy esperando. 31 00:01:22,340 --> 00:01:28,010 En particular, me voy a hacer si m es menos de 1 y, algo arbitrariamente, 32 00:01:28,010 --> 00:01:31,280 Simplemente voy a devolver 0 si el número no es positivo 33 00:01:31,280 --> 00:01:32,800 entero como espero. 34 00:01:32,800 --> 00:01:36,920 >> Entonces me voy a declarar una variable llamado suma e inicializar a 0. 35 00:01:36,920 --> 00:01:40,810 En última instancia, almacenar la suma de todos los números entre 1 y m. 36 00:01:40,810 --> 00:01:43,550 Y entonces voy a utilizar a un familiar construcción de bucle hacia delante. 37 00:01:43,550 --> 00:01:50,272 Para int i obtiene 1, i es menor que o igual a m, i plus plus. 38 00:01:50,272 --> 00:01:54,010 Y luego, dentro del cuerpo de este loop, simplemente voy a hacer suma 39 00:01:54,010 --> 00:01:56,350 es igual a la suma más i. 40 00:01:56,350 --> 00:02:01,900 O, más simplemente, la suma es igual a más i, que logra el mismo resultado. 41 00:02:01,900 --> 00:02:04,810 >> Y luego, por último, tengo que volver la suma que he calculado. 42 00:02:04,810 --> 00:02:07,640 Así que añado en suma retorno. 43 00:02:07,640 --> 00:02:08,560 >> Ahora no he terminado todavía. 44 00:02:08,560 --> 00:02:11,360 Tengo que enseñar a C que esta función realmente existe. 45 00:02:11,360 --> 00:02:14,400 Y así lo alto de mi archivo que voy a declarar lo que hemos llamado una función 46 00:02:14,400 --> 00:02:18,270 prototipo, idéntica a la firma que he usado en la definición de la función 47 00:02:18,270 --> 00:02:19,250 hace un momento. 48 00:02:19,250 --> 00:02:22,450 >> Específicamente, justo por encima de principal, Voy a escribir int 49 00:02:22,450 --> 00:02:26,080 sigma, int m, punto y coma. 50 00:02:26,080 --> 00:02:29,240 No aplicación de la función de nuevo, simplemente declararlo. 51 00:02:29,240 --> 00:02:32,800 Si ahora puedo guardar, compilar y ejecutar este programa, vamos a ver lo que me pasa. 52 00:02:32,800 --> 00:02:37,460 Haga sigma 0 puntos slash sigma 0. 53 00:02:37,460 --> 00:02:41,050 Y ahora vamos a proporcionar un número entero positivo como 2, que debería darme 54 00:02:41,050 --> 00:02:45,920 tres, porque los valores entre 1 y 2 son 1 más 2 es igual a 3. 55 00:02:45,920 --> 00:02:47,300 Y, de hecho, eso es lo que me pasa. 56 00:02:47,300 --> 00:02:49,940 >> Vamos a correr de nuevo, esta tiempo con, digamos, 3. 57 00:02:49,940 --> 00:02:53,470 Así que debería obtener 1 más 2 más 3 me debería dar 6. 58 00:02:53,470 --> 00:02:54,740 Y, de hecho, me pongo 6. 59 00:02:54,740 --> 00:02:57,380 >> Y vamos a intentar un último valor, dicen 50. 60 00:02:57,380 --> 00:03:01,160 Y 1275 es nuestra respuesta. 61 00:03:01,160 --> 00:03:02,253