1 00:00:00,000 --> 00:00:00,580 2 00:00:00,580 --> 00:00:02,950 >> DAVID J. Malan: Ni nun praktikigi funkcio kiu ne nur havas flanko 3 00:00:02,950 --> 00:00:05,920 efekto, sed anstataŭe revenoj reveno valoro. 4 00:00:05,920 --> 00:00:09,150 Specife, ni efektivigu funkcio vokis akiri pozitivajn int kies 5 00:00:09,150 --> 00:00:11,490 celo en la vivo estas plenumi ekzakte tion. 6 00:00:11,490 --> 00:00:14,500 Specife, mi ŝatus uzi tiu funkcio jene - 7 00:00:14,500 --> 00:00:18,770 int N gets akiri pozitivajn int. 8 00:00:18,770 --> 00:00:23,640 Kaj tiam presitaj f, dankon cxar la procento i kiel 9 00:00:23,640 --> 00:00:26,490 lokokupilo, komo, fino. 10 00:00:26,490 --> 00:00:29,030 >> Nun kompreneble, akiru pozitivajn int ankoraŭ ne ekzistas. 11 00:00:29,030 --> 00:00:33,020 Do ni promesas apliki ĝin aldono al la supro de mia dosiero sxnuro 12 00:00:33,020 --> 00:00:37,110 kiel int montrante, ke tiu funkcio revenos en int - 13 00:00:37,110 --> 00:00:39,110 akiri pozitivajn int. 14 00:00:39,110 --> 00:00:43,000 Kaj ni precizigi eksplicite, ke tiu funkcio ne prenante enigo, kaj 15 00:00:43,000 --> 00:00:45,570 tiel liaj argumentoj estas malplena. 16 00:00:45,570 --> 00:00:49,500 Ni nun sur la fundo de mia dosiero: simple por ke mi povu konservi ĉefan supren supro, 17 00:00:49,500 --> 00:00:52,220 efektive apliki aŭ difini tiun funkcion. 18 00:00:52,220 --> 00:00:55,120 >> Unue ni komencu per la sama subskribo, por tiel diri - 19 00:00:55,120 --> 00:00:59,140 int akiri pozitivajn int malplenon. 20 00:00:59,140 --> 00:01:01,910 Kaj nun ni apliki akiri pozitivaj entjeraj jene. 21 00:01:01,910 --> 00:01:05,410 Ni deklaru int, ankaŭ nomata N sed ni povus nomi ĝin preskaŭ ion 22 00:01:05,410 --> 00:01:11,360 Ni ŝatus, ĉu la sekva dum kelkaj kondiĉo estas vera, kaj ni revenu al 23 00:01:11,360 --> 00:01:13,030 tiu kondiĉo en momento. 24 00:01:13,030 --> 00:01:20,800 Print f, bonvolu doni al mi pozitiva int, kaj nun ni uzas Akiri int el 25 00:01:20,800 --> 00:01:23,290 la CS50 biblioteko reale su ke int. 26 00:01:23,290 --> 00:01:28,210 >> Sed en mia kondiĉo, ni faros tiun buklo tiel longe kiel N estas malpli ol 1. 27 00:01:28,210 --> 00:01:31,260 En aliaj vortoj, tiel longe kiel la uzanto ne kunlaboras per provizi al mi 28 00:01:31,260 --> 00:01:36,260 kun pozitivaj entjeraj, permesu al mi re-prompto li aŭ ŝi denove, kaj denove, kaj denove 29 00:01:36,260 --> 00:01:37,720 ĝis li aŭ ŝi faras. 30 00:01:37,720 --> 00:01:40,360 Sed mi ne faris ankoraŭ, ĉar en la fino de tiu funkcio mi bezonas 31 00:01:40,360 --> 00:01:42,210 efektive fari ion kun tiu enigo. 32 00:01:42,210 --> 00:01:46,710 Kaj do mi tuj iros kun reveni per sxnuro kiel reveno fino 33 00:01:46,710 --> 00:01:52,850 punktokomo, tiamaniere redoni reala int por ĉefa kiuj vokis ĉi tiun funkcion. 34 00:01:52,850 --> 00:01:56,810 Nun estas notinde, ke kvankam akiri pozitivajn int redonas en entjeraj, ĝi estas 35 00:01:56,810 --> 00:02:00,470 certe bona por ŝi reveni pozitiva int specife. 36 00:02:00,470 --> 00:02:04,170 Tie ne estas speciala datumtipon por pozitiva entjero specife, tiel ni 37 00:02:04,170 --> 00:02:06,490 simple uzu la enkonstruita en "int". 38 00:02:06,490 --> 00:02:11,250 >> Nun ree en linio naŭ, rimarki, ke mi estas presi el N. Sed la N en tiu linio 39 00:02:11,250 --> 00:02:13,970 apartenas al la N kiuj estas deklaritaj en linio ok. 40 00:02:13,970 --> 00:02:17,840 Do rezultas vi povas absolute devas variabloj idente nomata tiel 41 00:02:17,840 --> 00:02:20,250 longe kiel ekzistas ene malsamaj medioj. 42 00:02:20,250 --> 00:02:24,950 Kaj memoru, ke atingo estas difinita per la krispa streĉaj kiu plej proksime 43 00:02:24,950 --> 00:02:27,620 bari la variablo ke vi jam difinita. 44 00:02:27,620 --> 00:02:30,370 >> Nun ni kompilos kaj kuros ĉi programo. 45 00:02:30,370 --> 00:02:35,210 Faru funkcioj 1, punkto oblikvo funkcioj 1. 46 00:02:35,210 --> 00:02:40,040 Ni donu pozitivan int-kiel 50, kaj gxi diras dankon pro la 50. 47 00:02:40,040 --> 00:02:43,180 Dume, se ni ne kunlaboru, kuri la programon denove, donante ĝin 48 00:02:43,180 --> 00:02:47,550 0, mi instigis denove, aŭ doni al ĝi negativa 1, mi instigis denove. 49 00:02:47,550 --> 00:02:51,720 Sed se mi kunlaboros provizante ĝin per, diri, 50, mi dankis por la 50. 50 00:02:51,720 --> 00:02:54,590