1 00:00:00,000 --> 00:00:02,830 >> Tagapagsalita 1: magsulat ng isang programa Hayaan na prompt ang user para sa isang positibong 2 00:00:02,830 --> 00:00:05,950 integer, n, at pagkatapos ng mga Kopya out ang kabuuan ng lahat ng mga numero 3 00:00:05,950 --> 00:00:07,980 sa pagitan ng 1 at n. 4 00:00:07,980 --> 00:00:10,580 Well, dito mayroon pangunahing kami, na na hindi ko na na isinulat nang maaga. 5 00:00:10,580 --> 00:00:13,520 At mapansin dito sa tuktok ng pangunahing, Ipinahahayag ko sa isang int n. 6 00:00:13,520 --> 00:00:16,079 >> Ako pagkatapos, sa loob ng isang do habang loop, mag-print muna 7 00:00:16,079 --> 00:00:17,530 positibong integer, mangyaring. 8 00:00:17,530 --> 00:00:21,070 Pagkatapos ay magpatuloy ako upang makakuha ng isang integer mula sa sa user ng get ang CS50 library 9 00:00:21,070 --> 00:00:22,070 int function. 10 00:00:22,070 --> 00:00:26,410 At pagkatapos ay sa aking kalagayan habang dito, ako tiyakin na n ay mas malaki kaysa sa o 11 00:00:26,410 --> 00:00:30,480 katumbas ng 1 bago ko talagang magpatuloy upang gawin ang isang bagay na may halaga na iyon. 12 00:00:30,480 --> 00:00:31,520 >> Ano ang gagawin ko susunod? 13 00:00:31,520 --> 00:00:34,690 Well, tumawag ako ng isang function na pupuntahan ko upang tawagan ang palatandaan, kinatawan ng 14 00:00:34,690 --> 00:00:37,700 kabisera palatandaan na maaaring mayroon ka recalled mula sa mga klase sa matematika na 15 00:00:37,700 --> 00:00:40,860 ay nagpapahiwatig na nais mong sabihin sa ilang bagay mula sa isang halaga sa isa pa. 16 00:00:40,860 --> 00:00:44,540 At kahit anong pag-andar na babalik ang bilang halaga nito pagbalik, Pupunta ako upang mag-imbak 17 00:00:44,540 --> 00:00:46,500 sa isang variable na tinatawag na sagot. 18 00:00:46,500 --> 00:00:50,280 >> Sa wakas, sa aking huling linya sa pangunahing, ako pagpunta sa i-print out kung ano sagot ay. 19 00:00:50,280 --> 00:00:52,840 Siyempre, hindi pa namin ipinatupad ito function na palatandaan. 20 00:00:52,840 --> 00:00:54,590 Kaya paano ko pumunta kami tungkol sa paggawa na? 21 00:00:54,590 --> 00:00:58,040 >> Well, sa ibaba ng aking mga file, ako pagpunta sa magpatuloy upang magpahayag ng isang function 22 00:00:58,040 --> 00:00:59,450 na nagbabalik ng isang int. 23 00:00:59,450 --> 00:01:01,630 At ako pagpunta sa tumawag sa na function na palatandaan. 24 00:01:01,630 --> 00:01:06,340 At ako pupunta upang tukuyin iyon bilang input tumatanggap na function na rin sa isang int. 25 00:01:06,340 --> 00:01:09,800 At makikita ko ito tumawag lamang, upang maging naiiba, m sa halip ng n. 26 00:01:09,800 --> 00:01:12,120 Ngunit maaaring tinatawag namin ito ng pinaka-anumang bagay nais naming. 27 00:01:12,120 --> 00:01:14,930 >> Sa loob ng katawan ng mga ito function na ako pagpunta sa magpatuloy upang gumamit ng isang pamilyar na 28 00:01:14,930 --> 00:01:16,420 bumuo, lalo ng loop. 29 00:01:16,420 --> 00:01:19,010 Pero pupuntahan ko rin na gawin ang isang bit ng kaliwanagan ng isip pagsusuri upang matiyak na ang 30 00:01:19,010 --> 00:01:22,340 gumagamit ay hindi ako nagbibigay ng sa isang numero na hindi ko inaasahan. 31 00:01:22,340 --> 00:01:28,010 Sa partikular, ako pagpunta sa gawin kung m ay mas mababa sa 1 at, medyo nagkataon, 32 00:01:28,010 --> 00:01:31,280 Lamang ako ng pagpunta sa bumalik 0 kung ang bilang na ito ay hindi isang positibong 33 00:01:31,280 --> 00:01:32,800 integer bilang inaasahan ko. 34 00:01:32,800 --> 00:01:36,920 >> Pagkatapos ay pupuntahan ko na idedeklara isang variable tinatawag kabuuan at initialize ito sa 0. 35 00:01:36,920 --> 00:01:40,810 Ito ay sa huli-imbak ang kabuuan ng lahat ng mga numero sa pagitan ng 1 at m. 36 00:01:40,810 --> 00:01:43,550 At pagkatapos ay ako pupunta na gumamit ng isang pamilyar na pasulong loop bumuo. 37 00:01:43,550 --> 00:01:50,272 Para sa int nakakakuha i 1, i Mababa sa o katumbas ng m, i plus plus. 38 00:01:50,272 --> 00:01:54,010 At pagkatapos, sa loob ng katawan ng mga ito loop, i-pupuntahan ko gawin sum 39 00:01:54,010 --> 00:01:56,350 ay katumbas ng sum plus i. 40 00:01:56,350 --> 00:02:01,900 O, higit pa lamang, suma plus ay katumbas ng i, Nakakamit na ng parehong resulta. 41 00:02:01,900 --> 00:02:04,810 >> At pagkatapos ay sa wakas, kailangan ko upang bumalik ang kabuuan na na-compute ko. 42 00:02:04,810 --> 00:02:07,640 Kaya idadagdag ko sa mga bumabalik na sum. 43 00:02:07,640 --> 00:02:08,560 >> Ngayon hindi pa ako tapos. 44 00:02:08,560 --> 00:02:11,360 Kailangan ko upang magturo C na ito talagang umiiral function. 45 00:02:11,360 --> 00:02:14,400 At kaya nasa ibabaw aking file pupuntahan ko na idedeklara kung ano ang tinatawag na namin ang isang function 46 00:02:14,400 --> 00:02:18,270 prototype, kapareho ng lagda na ginamit ko kapag tumutukoy sa mga pag-andar 47 00:02:18,270 --> 00:02:19,250 ng ilang sandali ang nakalipas. 48 00:02:19,250 --> 00:02:22,450 >> Sa partikular, sa itaas lamang ng pangunahing, Pupunta ako sa type int 49 00:02:22,450 --> 00:02:26,080 palatandaan, int m, tuldok-kuwit. 50 00:02:26,080 --> 00:02:29,240 Hindi pagpapatupad ng pag-andar muli, simpleng deklarasyon ito. 51 00:02:29,240 --> 00:02:32,800 Kung ngayong i-save ako, sumulat ng libro, at patakbuhin ito programa, sabihin makita kung ano ang nakukuha ko. 52 00:02:32,800 --> 00:02:37,460 Gumawa ng palatandaan 0 tuldok iwa palatandaan 0. 53 00:02:37,460 --> 00:02:41,050 At magbigay ng isang positibong integer ngayon hayaan tulad ng 2, na kung saan ay dapat magbigay sa akin 54 00:02:41,050 --> 00:02:45,920 tatlo, dahil ang mga halaga sa pagitan ng 1 at 2 ay 1 plus 2 ay katumbas ng 3. 55 00:02:45,920 --> 00:02:47,300 At sa katunayan, iyon ang makuha ko. 56 00:02:47,300 --> 00:02:49,940 >> Magpatakbo ng ito muli, ito Hayaan oras sa, sabihin nating, 3. 57 00:02:49,940 --> 00:02:53,470 Kaya ang dapat kong makakuha ng 1 plus 2 plus 3 ay dapat magbigay sa akin 6. 58 00:02:53,470 --> 00:02:54,740 At sa katunayan, ko nakukuha ang 6. 59 00:02:54,740 --> 00:02:57,380 >> At subukan ng isang huling halaga ipaalam, sabihin nating 50. 60 00:02:57,380 --> 00:03:01,160 At 1275 ay ang aming sagot. 61 00:03:01,160 --> 00:03:02,253