1 00:00:00,000 --> 00:00:02,830 >> SPEAKER 1: Oletame, kirjutada programm, mis küsib kasutajalt positiivne 2 00:00:02,830 --> 00:00:05,950 täisarv, n ja seejärel prindib summa kõikide numbrite 3 00:00:05,950 --> 00:00:07,980 vahemikus 1 kuni n. 4 00:00:07,980 --> 00:00:10,580 Noh, meil on siin peamine, mida ma olen juba ette kirjutatud. 5 00:00:10,580 --> 00:00:13,520 Ja teate siin tipus peamine, ma kinnitan, int n. 6 00:00:13,520 --> 00:00:16,079 >> Ma siis sees do ajal loop, esimene välja trükkida 7 00:00:16,079 --> 00:00:17,530 positiivne täisarv, palun. 8 00:00:17,530 --> 00:00:21,070 Siis edasi, et saada täisarv kasutajale CS50 raamatukogu get 9 00:00:21,070 --> 00:00:22,070 int-funktsioon. 10 00:00:22,070 --> 00:00:26,410 Ja siis minu kui tingimus siin, ma veenduda, et n on suurem või 11 00:00:26,410 --> 00:00:30,480 võrdub 1, enne kui ma tegelikult minna midagi teha, et raha. 12 00:00:30,480 --> 00:00:31,520 >> Mida teha edasi? 13 00:00:31,520 --> 00:00:34,690 Noh, ma kutsun funktsiooni, et ma lähen helistada sigma esindaja 14 00:00:34,690 --> 00:00:37,700 kapitali sigma, et teil oleks meenutada matemaatika klasside 15 00:00:37,700 --> 00:00:40,860 näitab, et mida soovite summeerida midagi ühest väärtust teise. 16 00:00:40,860 --> 00:00:44,540 Ja mis iganes see funktsioon tagastab nagu selle tagastatav väärtus, ma lähen hoida 17 00:00:44,540 --> 00:00:46,500 aastal muutuja nimega vastus. 18 00:00:46,500 --> 00:00:50,280 >> Lõpuks minu viimane rida peamine, ma olen trükkimise, mida vastus on. 19 00:00:50,280 --> 00:00:52,840 Muidugi, me ei ole veel rakendatud Selle funktsiooni sigma. 20 00:00:52,840 --> 00:00:54,590 Niisiis, kuidas me minna seda teed, et? 21 00:00:54,590 --> 00:00:58,040 >> Noh, allosas minu fail, ma olen läheb edasi kuulutada funktsiooni 22 00:00:58,040 --> 00:00:59,450 mis tagastab int. 23 00:00:59,450 --> 00:01:01,630 Ja ma lähen helistada et funktsioon sigma. 24 00:01:01,630 --> 00:01:06,340 Ja ma lähen välja tuua, et kui sisend et funktsioon aktsepteerib ka int. 25 00:01:06,340 --> 00:01:09,800 Ja ma kutsun seda lihtsalt, et olla selge, m asemel n. 26 00:01:09,800 --> 00:01:12,120 Aga me võinuks see Kõige midagi tahaksime. 27 00:01:12,120 --> 00:01:14,930 >> Toas keha selle funktsiooni ma läheb edasi kasutada tuttav 28 00:01:14,930 --> 00:01:16,420 ehitada, nimelt loop. 29 00:01:16,420 --> 00:01:19,010 Aga ma kavatsen ka teha natuke meelerahu kontrollides, et veenduda, et 30 00:01:19,010 --> 00:01:22,340 kasutaja ei anna mulle number et ma ei oodanud. 31 00:01:22,340 --> 00:01:28,010 Eelkõige ma lähen tegema, kui m on väiksem kui 1 ja mõnevõrra meelevaldselt 32 00:01:28,010 --> 00:01:31,280 Ma lihtsalt läheb tagasi 0, kui number ei ole positiivne 33 00:01:31,280 --> 00:01:32,800 täisarv, kui ma oodata. 34 00:01:32,800 --> 00:01:36,920 >> Siis ma lähen kuulutada muutuja nimetatakse summa ja initsialiseerida see 0-ks. 35 00:01:36,920 --> 00:01:40,810 Lõppkokkuvõttes salvestada summa kõik numbrid vahemikus 1 m. 36 00:01:40,810 --> 00:01:43,550 Ja siis ma lähen kasutada tuttav edasi loop ehitada. 37 00:01:43,550 --> 00:01:50,272 Sest int i saab 1, i on väiksem kui või võrdne m, i pluss pluss. 38 00:01:50,272 --> 00:01:54,010 Ja seejärel jooksul keha käesoleva loop, ma lihtsalt teen summa 39 00:01:54,010 --> 00:01:56,350 võrdub summa pluss i. 40 00:01:56,350 --> 00:02:01,900 Või lihtsamalt, summa pluss võrdub i, mis saavutatakse sama tulemus. 41 00:02:01,900 --> 00:02:04,810 >> Ja siis lõpuks, ma pean tagasi summa, et ma olen arvutatud. 42 00:02:04,810 --> 00:02:07,640 Nii lisan vastutasuks summa. 43 00:02:07,640 --> 00:02:08,560 >> Nüüd ma pole seda veel teinud. 44 00:02:08,560 --> 00:02:11,360 Mul on vaja õpetada C, et see funktsioon on tegelikult olemas. 45 00:02:11,360 --> 00:02:14,400 Ja nii atop mu pilti ma kuulutada mida me oleme kutsutud funktsioon 46 00:02:14,400 --> 00:02:18,270 prototüüp, mis võrdub allkiri et ma kasutasin määratlemisel funktsioon 47 00:02:18,270 --> 00:02:19,250 hetk tagasi. 48 00:02:19,250 --> 00:02:22,450 >> Täpsemalt napilt peamine, Ma lähen int 49 00:02:22,450 --> 00:02:26,080 Sigma, int m, semikoolon. 50 00:02:26,080 --> 00:02:29,240 Ei rakenda funktsiooni jälle lihtsalt tunnistada. 51 00:02:29,240 --> 00:02:32,800 Kui ma nüüd salvestada, kompileerida ja käivitada programm, vaatame, mida ma saan. 52 00:02:32,800 --> 00:02:37,460 Tee sigma 0 dot kärpida sigma 0. 53 00:02:37,460 --> 00:02:41,050 Ja nüüd lähme anda positiivne täisarv nagu 2, mis peaks mulle 54 00:02:41,050 --> 00:02:45,920 kolm, sest väärtuste vahel 1 ja 2 on 1 pluss 2 võrdub 3. 55 00:02:45,920 --> 00:02:47,300 Ja tõepoolest, see on, mida ma saan. 56 00:02:47,300 --> 00:02:49,940 >> Olgem kasutada seda uuesti, see aega, ütleme, 3. 57 00:02:49,940 --> 00:02:53,470 Nii et ma peaks saama 1 pluss 2 pluss 3 peaks minu 6. 58 00:02:53,470 --> 00:02:54,740 Ja tõepoolest, ma saan 6. 59 00:02:54,740 --> 00:02:57,380 >> Ja proovime viimane väärtus, st 50. 60 00:02:57,380 --> 00:03:01,160 Ja 1275 on meie vastus. 61 00:03:01,160 --> 00:03:02,253