1 00:00:00,000 --> 00:00:02,830 >> SPEAKER 1: Napišimo program, ki pozove uporabnika za pozitiven 2 00:00:02,830 --> 00:00:05,950 celo število, n, in nato natisne Vsota vseh številk 3 00:00:05,950 --> 00:00:07,980 med 1 in n. 4 00:00:07,980 --> 00:00:10,580 No, tukaj imamo glavno, kar sem že napisan vnaprej. 5 00:00:10,580 --> 00:00:13,520 In opazil sem na vrhu Glavni izjavljam, int n. 6 00:00:13,520 --> 00:00:16,079 >> Nato sem, notranjost storiti, medtem ko zanka, najprej natisnite 7 00:00:16,079 --> 00:00:17,530 pozitivno celo število, prosim. 8 00:00:17,530 --> 00:00:21,070 Potem sem nadaljevati, da bi dobili celo število Uporabnik z dobiti CS50 knjižnice 9 00:00:21,070 --> 00:00:22,070 int function. 10 00:00:22,070 --> 00:00:26,410 In potem v mojem stanju, medtem ko sem, zagotoviti, da je n večji od ali 11 00:00:26,410 --> 00:00:30,480 enak 1, preden sem dejansko nadaljuje nekaj narediti s to vrednostjo. 12 00:00:30,480 --> 00:00:31,520 >> Kaj naj storim zdaj? 13 00:00:31,520 --> 00:00:34,690 No, kličem funkcijo, da sem bom poklicati sigma, predstavnika 14 00:00:34,690 --> 00:00:37,700 kapital sigma, da boste morda morali spomniti, da iz matematike razrede, 15 00:00:37,700 --> 00:00:40,860 kaže, da si želijo, da bi povzeli nekaj iz ene vrednosti do druge. 16 00:00:40,860 --> 00:00:44,540 In karkoli, da funkcija vrne kot njene vrnitve vrednost, grem za shranjevanje 17 00:00:44,540 --> 00:00:46,500 v spremenljivko imenovano odgovor. 18 00:00:46,500 --> 00:00:50,280 >> Nazadnje, v moji zadnji vrstici v glavnem, jaz sem tiskovine, kaj je odgovor. 19 00:00:50,280 --> 00:00:52,840 Seveda še nismo izvajali ta funkcija sigma. 20 00:00:52,840 --> 00:00:54,590 Torej, kako bomo šli o tem, da je? 21 00:00:54,590 --> 00:00:58,040 >> No, na dnu mojega spisa, sem gre za nadaljevanje razglasi funkcijo 22 00:00:58,040 --> 00:00:59,450 da vrne int. 23 00:00:59,450 --> 00:01:01,630 In bom poklical da je funkcija sigma. 24 00:01:01,630 --> 00:01:06,340 In jaz bom navesti, da kot vhod to funkcijo sprejema tudi int. 25 00:01:06,340 --> 00:01:09,800 In ga bom poklical šele, da bi prepoznavna, m namesto n. 26 00:01:09,800 --> 00:01:12,120 Vendar pa bi jo lahko imenujemo Najbolj kaj bi radi. 27 00:01:12,120 --> 00:01:14,930 >> Notranjost telesa te funkcije sem dogaja, da nadaljuje z uporabo seznanjeni 28 00:01:14,930 --> 00:01:16,420 konstrukt, in sicer zanko. 29 00:01:16,420 --> 00:01:19,010 Ampak jaz sem tudi storila malo zdrave pameti preverjanje, da poskrbite, da 30 00:01:19,010 --> 00:01:22,340 Uporabnik me ne zagotovi s številnimi da nisem pričakoval. 31 00:01:22,340 --> 00:01:28,010 Še posebej, bom naredil, če m manj kot 1 in, nekoliko arbitrarno 32 00:01:28,010 --> 00:01:31,280 Bom enostavno, da se vrnete 0, če število ni pozitivna 33 00:01:31,280 --> 00:01:32,800 celo kot sem pričakoval. 34 00:01:32,800 --> 00:01:36,920 >> Potem bom razglasi spremenljivko imenujemo vsota in inicializacijo 0. 35 00:01:36,920 --> 00:01:40,810 To bo na koncu shranite vsoto vse številke med 1 in m. 36 00:01:40,810 --> 00:01:43,550 In potem bom uporabila seznanjeni naprej zanka konstrukt. 37 00:01:43,550 --> 00:01:50,272 Za int i dobi 1, i je manj kot ali enako m, i plus plus. 38 00:01:50,272 --> 00:01:54,010 In potem, v telesu tega zanke, se bom enostavno narediti vsoto 39 00:01:54,010 --> 00:01:56,350 enaka vsoti plus i. 40 00:01:56,350 --> 00:02:01,900 Ali, bolj preprosto, plus vsota enaka i, ki doseže enak rezultat. 41 00:02:01,900 --> 00:02:04,810 >> In potem na koncu, moram vrniti Vsota, ki sem jih izračuna. 42 00:02:04,810 --> 00:02:07,640 Torej dodam v povratni vsote. 43 00:02:07,640 --> 00:02:08,560 >> Zdaj bom še ni končana. 44 00:02:08,560 --> 00:02:11,360 Moram se naučiti C, da ta Funkcija dejansko obstaja. 45 00:02:11,360 --> 00:02:14,400 In tako na vrhu mojega spisa grem, naj ugotovi kaj smo se imenuje funkcija 46 00:02:14,400 --> 00:02:18,270 prototip, enak podpis da sem uporabil pri določanju funkcije 47 00:02:18,270 --> 00:02:19,250 Pred trenutek. 48 00:02:19,250 --> 00:02:22,450 >> Natančneje, tik nad glavno, Jaz grem s tipom int 49 00:02:22,450 --> 00:02:26,080 sigma, int m, podpičje. 50 00:02:26,080 --> 00:02:29,240 Ne izvaja funkcijo še enkrat, preprosto razglasi. 51 00:02:29,240 --> 00:02:32,800 Če bi zdaj rešil, pripravijo in vodijo to Program, poglejmo, kaj sem dobil. 52 00:02:32,800 --> 00:02:37,460 Naredite sigma 0 dot poševnica sigma 0. 53 00:02:37,460 --> 00:02:41,050 In zdaj kaj je zagotoviti pozitivno celo število Podobno kot za 2, ki naj bi mi 54 00:02:41,050 --> 00:02:45,920 tri, ker so vrednosti med 1 in 2 sta 1 plus 2 je enako 3. 55 00:02:45,920 --> 00:02:47,300 In res, da je tisto, kar dobim. 56 00:02:47,300 --> 00:02:49,940 >> Dajmo spet teči, to Tokrat z, recimo, 3. 57 00:02:49,940 --> 00:02:53,470 Torej naj dobim 1 plus 2 plus 3. da mi je dal 6. 58 00:02:53,470 --> 00:02:54,740 In res, dobim 6. 59 00:02:54,740 --> 00:02:57,380 >> In poskusimo še zadnjo vrednost, recimo 50. 60 00:02:57,380 --> 00:03:01,160 In 1275 je naš odgovor. 61 00:03:01,160 --> 00:03:02,253