1 00:00:00,000 --> 00:00:02,830 >> SPEAKER 1: Scriviamo un programma che richiede all'utente un positivo 2 00:00:02,830 --> 00:00:05,950 integer, n, e quindi stampa la somma di tutti i numeri 3 00:00:05,950 --> 00:00:07,980 tra 1 e n. 4 00:00:07,980 --> 00:00:10,580 Beh, qui abbiamo principale, che ho già scritto in anticipo. 5 00:00:10,580 --> 00:00:13,520 E notare qui in cima principale, dichiaro un int n. 6 00:00:13,520 --> 00:00:16,079 >> Poi, all'interno di un mentre do loop, prima di stampare 7 00:00:16,079 --> 00:00:17,530 intero positivo, per favore. 8 00:00:17,530 --> 00:00:21,070 Poi procedo per ottenere un numero intero da l'utente con get della biblioteca CS50 9 00:00:21,070 --> 00:00:22,070 funzione int. 10 00:00:22,070 --> 00:00:26,410 E poi nella mia condizione, mentre qui, assicurarsi che n è maggiore di o 11 00:00:26,410 --> 00:00:30,480 pari a 1 prima che io effettivamente procedere fare qualcosa con quel valore. 12 00:00:30,480 --> 00:00:31,520 >> Cosa faccio dopo? 13 00:00:31,520 --> 00:00:34,690 Beh, io chiamo una funzione che sto andando chiamare sigma, rappresentante del 14 00:00:34,690 --> 00:00:37,700 sigma capitale che si potrebbe avere richiamato da lezioni di matematica che 15 00:00:37,700 --> 00:00:40,860 indica che si desidera sommare qualcosa da un valore all'altro. 16 00:00:40,860 --> 00:00:44,540 E tutto quello che restituisce la funzione come suo valore di ritorno, ho intenzione di archiviare 17 00:00:44,540 --> 00:00:46,500 in una variabile chiamata risposta. 18 00:00:46,500 --> 00:00:50,280 >> Infine, nella mia ultima riga principale, sono andare in stampa ciò che risposta è. 19 00:00:50,280 --> 00:00:52,840 Certo, non abbiamo ancora implementato questa funzione sigma. 20 00:00:52,840 --> 00:00:54,590 Quindi, come facciamo a fare questo? 21 00:00:54,590 --> 00:00:58,040 >> Beh, alla fine del mio file, sono intenzione di procedere a dichiarare una funzione 22 00:00:58,040 --> 00:00:59,450 che restituisce un int. 23 00:00:59,450 --> 00:01:01,630 E ho intenzione di chiamare tale funzione sigma. 24 00:01:01,630 --> 00:01:06,340 E ho intenzione di specificare che come input tale funzione accetta anche un int. 25 00:01:06,340 --> 00:01:09,800 E io lo chiamo semplicemente, di essere distinto, m anziché n. 26 00:01:09,800 --> 00:01:12,120 Ma avremmo potuto chiamato il qualsiasi cosa vorremmo. 27 00:01:12,120 --> 00:01:14,930 >> All'interno del corpo di questa funzione sono andando a procedere ad utilizzare un familiare 28 00:01:14,930 --> 00:01:16,420 costruire, ossia un ciclo. 29 00:01:16,420 --> 00:01:19,010 Ma sto anche andando a fare un po 'di sanità mentale controllo per assicurarsi che l' 30 00:01:19,010 --> 00:01:22,340 l'utente non mi forniscono un numero che non mi aspettavo. 31 00:01:22,340 --> 00:01:28,010 In particolare, ho intenzione di fare se m è inferiore a 1 e, un po 'arbitrariamente, 32 00:01:28,010 --> 00:01:31,280 Sto semplicemente andando a restituire 0 se il numero non è positiva 33 00:01:31,280 --> 00:01:32,800 intero come mi aspetto. 34 00:01:32,800 --> 00:01:36,920 >> Poi ho intenzione di dichiarare una variabile chiamato somma e inizializzare a 0. 35 00:01:36,920 --> 00:01:40,810 Questo alla fine di memorizzare la somma di tutti i numeri tra 1 e m. 36 00:01:40,810 --> 00:01:43,550 E poi ho intenzione di utilizzare un familiare costrutto di ciclo in avanti. 37 00:01:43,550 --> 00:01:50,272 Per INT ottiene 1, i è minore o uguale a m, i plus plus. 38 00:01:50,272 --> 00:01:54,010 E poi, all'interno del corpo di questo loop, sto semplicemente andando a fare somma 39 00:01:54,010 --> 00:01:56,350 uguale somma più i. 40 00:01:56,350 --> 00:02:01,900 O, più semplicemente, somma più uguale i, che ottiene lo stesso risultato. 41 00:02:01,900 --> 00:02:04,810 >> E poi, infine, ho bisogno di tornare la somma che ho calcolato. 42 00:02:04,810 --> 00:02:07,640 Quindi aggiungo in somma ritorno. 43 00:02:07,640 --> 00:02:08,560 >> Ora io non ho ancora finito. 44 00:02:08,560 --> 00:02:11,360 Ho bisogno di insegnare C che questo funzione esiste realmente. 45 00:02:11,360 --> 00:02:14,400 E così in cima il mio file ho intenzione di dichiarare quello che abbiamo chiamato una funzione 46 00:02:14,400 --> 00:02:18,270 prototipo, identica alla firma che ho usato quando si definisce la funzione 47 00:02:18,270 --> 00:02:19,250 un momento fa. 48 00:02:19,250 --> 00:02:22,450 >> In particolare, appena sopra principale, Ho intenzione di scrivere int 49 00:02:22,450 --> 00:02:26,080 Sigma, int m, punto e virgola. 50 00:02:26,080 --> 00:02:29,240 Non realizzazione della funzione ancora una volta, semplicemente dichiarandolo. 51 00:02:29,240 --> 00:02:32,800 Se ora mi salvo, compilare ed eseguire questo programma, vediamo cosa ottengo. 52 00:02:32,800 --> 00:02:37,460 Fai sigma 0 punti tagliano sigma 0. 53 00:02:37,460 --> 00:02:41,050 Ed ora fornire un numero intero positivo come 2, che dovrebbe dare me 54 00:02:41,050 --> 00:02:45,920 tre, poiché i valori tra 1 e 2 sono 1 più 2 uguale a 3. 55 00:02:45,920 --> 00:02:47,300 E in effetti, questo è ciò che ottengo. 56 00:02:47,300 --> 00:02:49,940 >> Corriamo ancora una volta, questa tempo con, per esempio, 3. 57 00:02:49,940 --> 00:02:53,470 Così dovrei ottenere 1 più 2 plus 3 mi dovrebbe dare 6. 58 00:02:53,470 --> 00:02:54,740 E infatti, io capisco 6. 59 00:02:54,740 --> 00:02:57,380 >> E proviamo un ultimo valore, diciamo 50. 60 00:02:57,380 --> 00:03:01,160 E 1.275 è la nostra risposta. 61 00:03:01,160 --> 00:03:02,253