1 00:00:08,280 --> 00:00:09,020 [Powered by Google Translate] ZAMYLA Chan: Bone, ĉiuj. 2 00:00:09,020 --> 00:00:11,130 Bonvenon Walkthrough 1. 3 00:00:11,130 --> 00:00:13,950 Ĉi Walkthrough estos sur pset 1, kiu estas C. Mi esperas ke vi 4 00:00:13,950 --> 00:00:16,540 ĉiuj havis amuzon kun via Scratch projektoj. 5 00:00:16,540 --> 00:00:18,430 Do nun en ĉi walkthrough, ni fakte tuj estos 6 00:00:18,430 --> 00:00:21,580 povis eniri en C, enir skribi iujn maŝino kodo. 7 00:00:21,580 --> 00:00:24,750 Do se vi ne estis ĉe Walkthrough 0, tiam tiuj 8 00:00:24,750 --> 00:00:26,330 walkthroughs vere - we're tuj iros tra 9 00:00:26,330 --> 00:00:29,500 problemo aro, paroli tra iu komuna bekojn kaj teknikoj 10 00:00:29,500 --> 00:00:30,430 ke vi povas uzi. 11 00:00:30,430 --> 00:00:32,960 Ni rompos la asigno supren enen regebla mordas, por ke 12 00:00:32,960 --> 00:00:35,500 you guys povas komenci kaj espereble 13 00:00:35,500 --> 00:00:37,470 kompreni kiel fari ĝin. 14 00:00:37,470 --> 00:00:38,050 >> Okay. 15 00:00:38,050 --> 00:00:42,280 Do pset 1. 16 00:00:42,280 --> 00:00:46,200 La psets ĉi tiu jaro havos strukturon kie la unua - 17 00:00:46,200 --> 00:00:48,930 tie tuj estos sekcio de demandoj, serio de 18 00:00:48,930 --> 00:00:51,120 demandojn kiuj vere ankaŭ helpos vin komenci kun 19 00:00:51,120 --> 00:00:53,840 la pset, helpi vin ekzerci iuj teknikaj kiu vi bezonas. 20 00:00:53,840 --> 00:00:55,950 Kaj tial tiuj demandoj, mi ne tuj kovri en la 21 00:00:55,950 --> 00:00:59,630 walkthrough ĉar en via sekcio, via atribuita instruado 22 00:00:59,630 --> 00:01:01,630 ulo estas vere tuj marŝi tra tiuj 23 00:01:01,630 --> 00:01:02,620 demandojn kun vi. 24 00:01:02,620 --> 00:01:04,370 Je la fino de via sekcio, vi iradu for kun la 25 00:01:04,370 --> 00:01:07,200 respondojn al tiuj demandoj sed ankaŭ kun la konfido kiun 26 00:01:07,200 --> 00:01:10,340 vi povas apliki iujn el la trajtoj kiujn vi bezonos 27 00:01:10,340 --> 00:01:12,480 por la lasta parto de la pset. 28 00:01:12,480 --> 00:01:15,900 >> Pset 1 konstituas Mario. 29 00:01:15,900 --> 00:01:19,000 Kaj tio estas amuza iom programo kie esence ni 30 00:01:19,000 --> 00:01:24,360 skribi kaj presi duono piramido en la tipa Mario sceno. 31 00:01:24,360 --> 00:01:27,150 Kaj tiam la dua parto de la pset nomas Greedy. 32 00:01:27,150 --> 00:01:29,850 Kaj tiel en Greedy ni esence agi kiel avida 33 00:01:29,850 --> 00:01:32,780 kasisto, kie se iu donas al ni kvanto da mono 34 00:01:32,780 --> 00:01:38,730 ke ni volas, ni kalkuli la minimuman kvanton da moneroj kiujn 35 00:01:38,730 --> 00:01:40,840 ni povas reveni al ili ankoraŭ doni al ili tiun kvanton. 36 00:01:44,080 --> 00:01:44,420 >> Bone. 37 00:01:44,420 --> 00:01:46,970 Do ĉiu walkthrough havos iloj. 38 00:01:46,970 --> 00:01:50,650 Kaj denove, vi eble ne uzis ĉiujn la iloj en ĉi 39 00:01:50,650 --> 00:01:53,080 iloj aŭ vi povus uzi ĉiuj ili. 40 00:01:53,080 --> 00:01:54,550 En ajna kazo, ĝi estas vere bona scii kion 41 00:01:54,550 --> 00:01:55,680 vi ekipita kun. 42 00:01:55,680 --> 00:01:59,990 Do ni havas la CS50 Appliance, kiun Mi montros al vi infanoj kaj 43 00:01:59,990 --> 00:02:01,350 enkonduki vin al tio. 44 00:02:01,350 --> 00:02:05,710 Tiam ankaŭ ĝenerale, bona stilo estas definitive unu el niaj 45 00:02:05,710 --> 00:02:07,080 plej gravaj iloj. 46 00:02:07,080 --> 00:02:10,759 Stilo esence rilatas al kiel legebla estas via kodo? 47 00:02:10,759 --> 00:02:12,750 Kiam iu alia iras kaj legas vian kodon, do ili havas 48 00:02:12,750 --> 00:02:13,610 facila tempo? 49 00:02:13,610 --> 00:02:14,630 Povas kompreni tion? 50 00:02:14,630 --> 00:02:16,610 Ĉu eleganta? 51 00:02:16,610 --> 00:02:21,750 Tiam ni parolos pri kiel oni povas valida uzanto enigo en vian 52 00:02:21,750 --> 00:02:26,430 programo ĉar en ambaŭ Mario kaj en Greedy, vi devas 53 00:02:26,430 --> 00:02:31,660 demandu al la uzanto eniro kaj doni al vi ian numeron. 54 00:02:31,660 --> 00:02:35,480 Tial ni volas certigi ke nombro estas valida. 55 00:02:35,480 --> 00:02:39,010 Tiam memoras en Scratch, ni havis blokoj kiel Ripetu, 56 00:02:39,010 --> 00:02:42,300 Ripeti Ĝis, aŭ Atendu, aŭ Forever. 57 00:02:42,300 --> 00:02:45,880 Do ni tuj ia traduki ke en C nun kaj 58 00:02:45,880 --> 00:02:49,750 rigardi bukloj kiel por, dum, kaj do-tempo. 59 00:02:49,750 --> 00:02:54,330 Tiam ankaŭ ni ankaŭ bezonas montri valoroj denove sur la 60 00:02:54,330 --> 00:02:56,500 ekrano, ĉu ĝi estas en Mario aŭ en Greedy. 61 00:02:56,500 --> 00:03:01,150 Kaj tiel ni parolos pri kiel oni presas tion for strings al 62 00:03:01,150 --> 00:03:03,070 entjeroj kaj flosas. 63 00:03:03,070 --> 00:03:05,250 Kaj poste fine, ni parolos pri _pseudocode_, vere 64 00:03:05,250 --> 00:03:07,550 grava koncepto por memori laŭlonge de ĉi tiu kurso. 65 00:03:07,550 --> 00:03:11,130 Kion mi trovas min helpas plej kun problemo aroj estas pensi kaj 66 00:03:11,130 --> 00:03:14,260 priskribi kion mi volas fari antaŭ pensi ajna C. 67 00:03:14,260 --> 00:03:15,640 Sed ĝuste priskribi la agon. 68 00:03:15,640 --> 00:03:19,100 Do _pseudocode_ estas speco de en inter la angla kaj C, tia 69 00:03:19,100 --> 00:03:22,980 priskribanta la procezoj sen la ĝusta sintaksa sed 70 00:03:22,980 --> 00:03:24,490 havigante sufiĉe bona strukturo. 71 00:03:24,490 --> 00:03:27,460 Kaj do mi havos iujn ekzemplojn de _pseudocode_ por vi tiel 72 00:03:27,460 --> 00:03:28,710 en ĉi walkthrough. 73 00:03:31,610 --> 00:03:31,940 >> Okay. 74 00:03:31,940 --> 00:03:35,620 Do kion ni povas labori kun estas la CS50 Appliance. 75 00:03:35,620 --> 00:03:38,840 Estas esence virtuala maŝino tian kuras 76 00:03:38,840 --> 00:03:40,780 komputilo en via propra komputilo. 77 00:03:40,780 --> 00:03:42,080 Kaj ĉi tiu havas multajn avantaĝojn. 78 00:03:42,080 --> 00:03:44,780 Unu estas, ke ĝi estas preestablecida kun amaso de la iloj kiujn vi instruos vin 79 00:03:44,780 --> 00:03:45,980 bezonas por CS50. 80 00:03:45,980 --> 00:03:47,940 Tiel, tio signifas ke ĉiu estas la sama tero, 81 00:03:47,940 --> 00:03:50,800 ĉu Mac aŭ PC aŭ alia mastruma sistemo. 82 00:03:50,800 --> 00:03:53,930 Ni povas ĉiuj kuras la virtuala maŝino. 83 00:03:53,930 --> 00:03:58,800 Kaj tiel estas instrukcioj ĉe manual.cs50.net/appliance. 84 00:03:58,800 --> 00:04:02,740 Kaj do se vi iras al ligantaj kaj sekvu la instrukciojn, 85 00:04:02,740 --> 00:04:07,820 tiam espereble vi povos instali la aparaton. 86 00:04:07,820 --> 00:04:11,390 >> Do unue, vi devas instali aplikon, an 87 00:04:11,390 --> 00:04:13,760 reala apliko por povi kuri la virtuala maŝino. 88 00:04:13,760 --> 00:04:15,270 Kaj tiam vi elŝuti la aparaton. 89 00:04:15,270 --> 00:04:18,050 Sed denove, estas instrukcioj ĉe 90 00:04:18,050 --> 00:04:21,459 manual.cs50.net/appliance. 91 00:04:21,459 --> 00:04:26,040 Do mi jam elŝutis mian aparaton, kaj mi instalis 92 00:04:26,040 --> 00:04:28,060 ĝin en VMware Fusion. 93 00:04:28,060 --> 00:04:31,250 Kaj tial iam mi elŝutis la aparaton, mi iris al Dosiero. 94 00:04:31,250 --> 00:04:34,690 Mi iris al Malfermi kaj tiam trovis kie mi 95 00:04:34,690 --> 00:04:37,550 stokita la CS50 Appliance. 96 00:04:37,550 --> 00:04:39,310 Kaj de tie, mi kuris ĝin ĉi tie. 97 00:04:39,310 --> 00:04:44,520 Sed mi havas ĝin jam tie, do ni prenas pli proksima rigardo. 98 00:04:44,520 --> 00:04:44,850 >> Bone. 99 00:04:44,850 --> 00:04:46,770 Do nun ni estas ene CS50 Appliance. 100 00:04:46,770 --> 00:04:47,890 Mi faris ĝin plena ekrano. 101 00:04:47,890 --> 00:04:51,130 Vi povas elekti fari tion se vi volas aŭ simple devos ĝin kiel 102 00:04:51,130 --> 00:04:53,480 malgrandaj fenestro sur via labortablo. 103 00:04:53,480 --> 00:04:57,170 Jen ni havas nur simpla tablo kun 104 00:04:57,170 --> 00:04:58,220 hejmo kaj rubo. 105 00:04:58,220 --> 00:05:05,070 Sed se vi iras al Menu kaj tiam al Programado, tiam vi vidos 106 00:05:05,070 --> 00:05:07,570 ke ni havas ion nomita Terminal. 107 00:05:07,570 --> 00:05:12,340 Kaj tiel en tie, ni povas navigi ĉirkaŭ nia komputilo. 108 00:05:12,340 --> 00:05:13,360 Ni povas skribi kodon. 109 00:05:13,360 --> 00:05:17,240 Sed reale, ni povas uzi programon nomata gedit, aŭ "g 110 00:05:17,240 --> 00:05:20,050 redakti, "kiu ajn kiu estas. 111 00:05:20,050 --> 00:05:21,680 Do ni estos uzi tiun verki kodon. 112 00:05:21,680 --> 00:05:24,850 Do vi havas tiujn du iloj kiuj vi estos uzanta unuavice 113 00:05:24,850 --> 00:05:27,590 skribi kodon. 114 00:05:27,590 --> 00:05:31,240 Tiam krome, estas nur kiel regula komputilo. 115 00:05:31,240 --> 00:05:32,890 Ni havas retumilo. 116 00:05:32,890 --> 00:05:34,400 Ni elektis Google Chrome. 117 00:05:34,400 --> 00:05:38,720 Kion mi faris estas mi starigis Dropbox enhavi ĉiuj 118 00:05:38,720 --> 00:05:39,340 la dokumentoj. 119 00:05:39,340 --> 00:05:41,760 Kaj por ke io ke tio ege kuraĝigis. 120 00:05:41,760 --> 00:05:44,900 Dropbox uzas nubo sinkronigi do se - 121 00:05:44,900 --> 00:05:47,250 tiel ekzemple, iu hazarde - ni esperas ke ne - 122 00:05:47,250 --> 00:05:50,100 okazas al via aparaton, tiam ĉiuj estos 123 00:05:50,100 --> 00:05:51,350 synced sur la nubo. 124 00:05:54,716 --> 00:05:55,180 >> Bone. 125 00:05:55,180 --> 00:05:59,500 Do tiuj estas la aplikoj kiuj vi estos uzanta en la 126 00:05:59,500 --> 00:06:02,900 CS50 Appliance. 127 00:06:02,900 --> 00:06:05,750 Nun por navigi ĉirkaŭ la komandlinio. 128 00:06:05,750 --> 00:06:10,150 La fina povas fakte agas kiel speco de formo de reale 129 00:06:10,150 --> 00:06:12,040 tajpi komandojn en - 130 00:06:12,040 --> 00:06:13,650 kiel, se vi estas Mac, a Buscador. 131 00:06:13,650 --> 00:06:17,010 Aŭ se vi estas en Windows, mi kredas ke estas "esplori mia 132 00:06:17,010 --> 00:06:19,070 komputilo "aŭ io simila. 133 00:06:19,070 --> 00:06:23,160 Do, se ni reiru al la aparaton, ni malfermi 134 00:06:23,160 --> 00:06:25,710 fina fenestro. 135 00:06:25,710 --> 00:06:27,720 Do ĝi havas ĉi prompto, jharvard @ aparaton. 136 00:06:27,720 --> 00:06:32,950 Ni simple fari ĉi granda. 137 00:06:32,950 --> 00:06:33,790 Okay. 138 00:06:33,790 --> 00:06:40,400 Do, se ni tajpu la komandon ls, tiam tiu listas ĉiuj 139 00:06:40,400 --> 00:06:45,440 dosieroj en nia komputilo, en nia aktuala dosierujo. 140 00:06:45,440 --> 00:06:46,720 Dosierujoj estas nur kiel dosierujoj. 141 00:06:46,720 --> 00:06:49,310 Ni uzas tiujn terminojn sendiference. 142 00:06:49,310 --> 00:06:52,480 Bone, do ni listigas la dosierojn 143 00:06:52,480 --> 00:06:53,650 kiuj estas en tiu ĉi dosierujo. 144 00:06:53,650 --> 00:06:58,340 Nun se ni volas aliri, diru niaj Dropbox, tiam ni povas 145 00:06:58,340 --> 00:06:59,320 ŝanĝi dosierujoj. 146 00:06:59,320 --> 00:07:04,230 Do cd kaj poste Dropbox. 147 00:07:04,230 --> 00:07:10,860 Ni ls denove, kaj tiam ni vidos la listo de dosieroj, kiuj estas en 148 00:07:10,860 --> 00:07:11,790 ĉi dosierujo. 149 00:07:11,790 --> 00:07:15,590 Tio estas analoga al mi iras al mia hejmo, do klakante 150 00:07:15,590 --> 00:07:19,250 Dropbox, kaj tiam vidi la liston ĉi tie. 151 00:07:19,250 --> 00:07:20,090 >> Bone. 152 00:07:20,090 --> 00:07:22,220 Do diru - 153 00:07:22,220 --> 00:07:25,640 kiam vi infanoj tuj faros viajn pset 1, ni faros 154 00:07:25,640 --> 00:07:27,390 katalogo nomis pset1. 155 00:07:27,390 --> 00:07:32,170 Do ni estas en Dropbox nun, kiel vi povas vidi de ĉi 156 00:07:32,170 --> 00:07:32,700 instigas tie. 157 00:07:32,700 --> 00:07:34,320 Do ni faru dosierujo. 158 00:07:34,320 --> 00:07:37,940 Do mkdir, ni nomas ĝin pset1. 159 00:07:40,470 --> 00:07:43,500 Kaj tial nun, se ni ls denove, tiam ni 160 00:07:43,500 --> 00:07:45,390 vidi ke pset1 aperas. 161 00:07:45,390 --> 00:07:49,470 Kaj do se ni volas iri interne pset1, tiam ni povas iri interne 162 00:07:49,470 --> 00:07:54,230 ke dosierujo kun la komando cd. 163 00:07:54,230 --> 00:07:54,610 Bone. 164 00:07:54,610 --> 00:07:59,040 Do denove, vidu se ni - 165 00:07:59,040 --> 00:08:01,620 diri, ni faru ĝin alian vojon. 166 00:08:01,620 --> 00:08:03,550 Tio estas analoga al nur diras "Krei 167 00:08:03,550 --> 00:08:05,330 Nova Dosierujo, pset1. 168 00:08:05,330 --> 00:08:08,530 Sed kiel vi trovas, vi povas interagi kun 169 00:08:08,530 --> 00:08:09,310 la fina tre. 170 00:08:09,310 --> 00:08:11,900 Do kelkfoje ĝi estas multe pli facila, perdita rapida justaj 171 00:08:11,900 --> 00:08:15,900 labori en la fina fari tiujn varojn de aĵoj. 172 00:08:15,900 --> 00:08:16,140 Okay. 173 00:08:16,140 --> 00:08:18,150 Kaj tiam tiuj aliaj komandoj. 174 00:08:18,150 --> 00:08:20,410 Jen rm por forigi dosieron. 175 00:08:20,410 --> 00:08:22,690 Do vi simple tajpi rm kaj tiam la nomo de la 176 00:08:22,690 --> 00:08:23,800 enarkivigi forigi ĝin. 177 00:08:23,800 --> 00:08:25,810 Ni iru en kelkaj ekzemploj de tiu poste. 178 00:08:25,810 --> 00:08:28,840 Kaj tiam ni havas ion nomita la viro komando, kiu 179 00:08:28,840 --> 00:08:31,850 Alportas manlibro por tipo de funkcio. 180 00:08:31,850 --> 00:08:34,419 Denove, mi elvoku reala ekzemplo de tiu poste. 181 00:08:37,360 --> 00:08:39,900 >> Do alia vere grava ilo, kiel mi menciis mallonge 182 00:08:39,900 --> 00:08:41,280 antaŭe, estas stilo. 183 00:08:41,280 --> 00:08:43,650 Do esence, stilo devas vidi kun legibilidad. 184 00:08:43,650 --> 00:08:46,460 Ĉu iu alia povos legi, sekvu, kaj 185 00:08:46,460 --> 00:08:47,670 komprenas vian kodo? 186 00:08:47,670 --> 00:08:50,490 Tio estas aparte grava por vi, vi mem, fakte. 187 00:08:50,490 --> 00:08:53,060 Se vi enlitiĝi malfrue kodigo, kaj tiam vi poste 188 00:08:53,060 --> 00:08:55,940 reiru kaj vi estas kiel, kion faras tiu variablo meznombro? 189 00:08:55,940 --> 00:08:58,400 Diru vi laboras en grupo projekto kun iu, kaj vi 190 00:08:58,400 --> 00:09:00,130 ambaŭ devas rigardi reciproke kodo. 191 00:09:00,130 --> 00:09:03,380 Estas vere grava ke vi enoficigi vian variabloj korekte 192 00:09:03,380 --> 00:09:06,240 kaj fari ĝin rigardi bela ĉar tio faras la tutan diferencon. 193 00:09:06,240 --> 00:09:08,270 Sed tiam ĉefe, ni estas en kurso nun. 194 00:09:08,270 --> 00:09:10,660 Do por la intereso de CS50 kaj speciale pro via 195 00:09:10,660 --> 00:09:13,010 instruado uloj kaj graders kiu estos rigardante vian 196 00:09:13,010 --> 00:09:15,455 psets, bonvolu, bonvolu uzi korekta stilo. 197 00:09:15,455 --> 00:09:18,980 Kaj via instruado uloj estos sufiĉe feliĉa. 198 00:09:18,980 --> 00:09:22,890 Do denove, stilo inkludas indenting aferojn ĝuste, 199 00:09:22,890 --> 00:09:26,380 speciale uzi vian streĉaj kaj indenting tiuj. 200 00:09:26,380 --> 00:09:29,910 Enoficigante variabloj iu kiu faras sencon. 201 00:09:29,910 --> 00:09:32,330 Ĝuste nun ni sekvas la konvencion kiam vi havas 202 00:09:32,330 --> 00:09:35,240 multnombraj vortoj en vian variablon nomo, tiam vi 203 00:09:35,240 --> 00:09:37,480 konekti ilin kun substreki, kiel vi vidas en tiu 204 00:09:37,480 --> 00:09:39,660 enoficigi ekzemplo tie. 205 00:09:39,660 --> 00:09:41,740 >> Tiam fine, iu vokis magio nombroj. 206 00:09:41,740 --> 00:09:48,030 Esence, kiam vi legas tra kodo kaj diru 207 00:09:48,030 --> 00:09:51,570 vi havas variablo - 208 00:09:51,570 --> 00:09:56,680 diru, vi ne havas variablo sed ĝuste diri bone, ĝis tia 209 00:09:56,680 --> 00:09:58,600 kaj tia estas malpli ol 10. 210 00:09:58,600 --> 00:10:00,210 Tiam via grader tuj iros bone, atendi, 211 00:10:00,210 --> 00:10:01,320 kien ke 10 venis? 212 00:10:01,320 --> 00:10:05,040 Do vere klarigante mem gravas multe. 213 00:10:05,040 --> 00:10:06,740 Por helpi vin klarigi mem estas komentoj. 214 00:10:06,740 --> 00:10:09,850 Komentoj estas probable la plej grava afero por inkludi en 215 00:10:09,850 --> 00:10:11,460 viaj programoj. 216 00:10:11,460 --> 00:10:15,440 Kaj tio helpas vin ne nur vere klarigi - 217 00:10:15,440 --> 00:10:17,220 ĝi helpas vin ia klarigi vian rezonadon kiel 218 00:10:17,220 --> 00:10:17,870 vi iras kune. 219 00:10:17,870 --> 00:10:20,480 Kaj do se vi faros tion, denove, ĝi tuj estos multe pli facile 220 00:10:20,480 --> 00:10:23,370 reiru en via kodo kaj tipon de kompreni kion vi estas 221 00:10:23,370 --> 00:10:24,080 fari tie. 222 00:10:24,080 --> 00:10:26,410 Denove, graders vere ŝatas komentojn. 223 00:10:26,410 --> 00:10:28,940 Do vi diras bone kaj - 224 00:10:28,940 --> 00:10:29,970 speco de kiel libera punktoj. 225 00:10:29,970 --> 00:10:32,340 Kaj kiu ne ŝatas liberan punktoj? 226 00:10:32,340 --> 00:10:33,910 Vi povas ankaŭ havi plurliniaj komentoj. 227 00:10:33,910 --> 00:10:36,630 Kaj tiel mi komprenis ian ŝablonon ĝis ĉi tie. 228 00:10:36,630 --> 00:10:38,580 Esence, kutime tiuj estas uzataj ĉe la supro de via 229 00:10:38,580 --> 00:10:40,950 programo por ia klarigi ĝenerale kion 230 00:10:40,950 --> 00:10:43,220 via problemo aro faras. 231 00:10:43,220 --> 00:10:46,130 Inkluzivi vian nomon, la dato, kaj tiel plu. 232 00:10:46,130 --> 00:10:49,030 Kaj tiel, kiel mi diris en tiu plurliniaj komentoj, 233 00:10:49,030 --> 00:10:56,260 manual.cs50.net/style_guide havas pli konsiloj kaj reguloj pri 234 00:10:56,260 --> 00:10:59,310 stilo por cikloj, kaj tiel plu. 235 00:10:59,310 --> 00:10:59,740 >> Okay. 236 00:10:59,740 --> 00:11:03,600 Do nun ke mi diris al vi iom pri stilo, vidu 237 00:11:03,600 --> 00:11:07,390 tio en agado. 238 00:11:07,390 --> 00:11:07,770 Bone. 239 00:11:07,770 --> 00:11:11,850 Do jen, Tommy skribis al ni belege hidaj 240 00:11:11,850 --> 00:11:15,440 Ekzemplo de stilo en programo. 241 00:11:15,440 --> 00:11:17,170 Do vi vidas tie, tute certe. 242 00:11:17,170 --> 00:11:18,280 Tiu estas fakte tute bona. 243 00:11:18,280 --> 00:11:22,060 Vi vidos la plurliniaj komentoj ĉi tie. 244 00:11:22,060 --> 00:11:25,120 Vi komencu ĝin per antaŭen oblikvo kaj tiam du asteriskoj. 245 00:11:25,120 --> 00:11:28,580 Vi daŭrigu kune, vicigante la asteriskoj laŭ la linio 246 00:11:28,580 --> 00:11:30,540 kaj poste fini ĝin per asterisko kaj oblikvo. 247 00:11:30,540 --> 00:11:30,810 Bone. 248 00:11:30,810 --> 00:11:32,800 Por ke estas bone. 249 00:11:32,800 --> 00:11:33,760 Ĉi tie estas bone. 250 00:11:33,760 --> 00:11:35,110 Li inkluzive la bibliotekoj. 251 00:11:35,110 --> 00:11:38,790 Sed tiam tie li havas komentojn generanta multnombraj linioj. 252 00:11:38,790 --> 00:11:40,390 Ekzistas multaj aĵoj malbona ĉi. 253 00:11:40,390 --> 00:11:44,770 Komentoj generanta multnombraj linioj, ĉi tie li uzas 254 00:11:44,770 --> 00:11:47,230 la sintakso por nur unu linion komentojn. 255 00:11:47,230 --> 00:11:53,140 Li ankaŭ melding ĉion en la sama komento. 256 00:11:53,140 --> 00:11:54,715 Do ni volas eviti tion. 257 00:11:57,710 --> 00:12:03,010 Tiam tie ni vidas ke tiuj krampoj, ekzemple, estas ĉiuj 258 00:12:03,010 --> 00:12:03,730 super la loko. 259 00:12:03,730 --> 00:12:06,950 La deŝovon estas erara. 260 00:12:06,950 --> 00:12:09,460 Fakte ne montros al vi definitive kie io 261 00:12:09,460 --> 00:12:12,850 skuigxas kaj alia afero finiĝas. 262 00:12:12,850 --> 00:12:16,510 Tiam ankaŭ, vidas li havas difinita variablo i = 5 tie. 263 00:12:16,510 --> 00:12:18,620 Sed tiam ĉi kvar venas el nenie, kaj tie estas neniu 264 00:12:18,620 --> 00:12:21,520 diri al vere klarigi kie tiu venas. 265 00:12:21,520 --> 00:12:22,130 >> Okay. 266 00:12:22,130 --> 00:12:28,760 Do nun ni rigardu iun kiu estas fakte ĝuste la sama 267 00:12:28,760 --> 00:12:30,250 kodo krom kun bona stilo. 268 00:12:30,250 --> 00:12:32,485 Do denove, ĉi tiu estas la bona stilo, ekzemple, 269 00:12:32,485 --> 00:12:33,735 la plurliniaj ekzemplo. 270 00:12:38,400 --> 00:12:39,735 Kaj tiam tie estas sufiĉe pura. 271 00:12:39,735 --> 00:12:43,500 Ni vidas, ke li komenciĝas kun se aserto tie, eniras en novan 272 00:12:43,500 --> 00:12:46,400 linio, havas malfermita streĉa. 273 00:12:46,400 --> 00:12:48,740 Tiam li havas deŝovon. 274 00:12:48,740 --> 00:12:50,970 Li gardas tiun deŝovon - 275 00:12:50,970 --> 00:12:54,680 li gardas tiun indikon uniformo trans la tuta 276 00:12:54,680 --> 00:12:59,120 programo kaj vere montras kiam bloko de kodo komenciĝas, kiam 277 00:12:59,120 --> 00:13:00,780 unu bloko de kodo finas. 278 00:13:00,780 --> 00:13:04,410 Ĉi tio povas simili iom nitpicky en nia parto komenci 279 00:13:04,410 --> 00:13:06,370 kun, sed vi vidos kiel vi skribas vian kodon. 280 00:13:06,370 --> 00:13:09,400 Estas vere utila por povi apartigi ĉi eksteren. 281 00:13:09,400 --> 00:13:12,200 Kaj ankaux vian graders vere ŝatas tion. 282 00:13:12,200 --> 00:13:14,360 Kaj tial vi vidas, anstataŭ nur metante nombro en 283 00:13:14,360 --> 00:13:17,510 tie, li efektive nomis la variablo iteraciones. 284 00:13:17,510 --> 00:13:20,160 Kaj tial ni ne vere rigardas ĉi tiun kodon nun 285 00:13:20,160 --> 00:13:22,450 sed gxuste tia vidi ekzemplon de 286 00:13:22,450 --> 00:13:23,780 bona kontre malbona stilo. 287 00:13:23,780 --> 00:13:29,610 Kaj do se vi rigardas ilin unu apud la alia ĉi tie, vi estus 288 00:13:29,610 --> 00:13:32,910 definitive preferas legi la unu dekstre. 289 00:13:39,230 --> 00:13:40,100 >> Bone. 290 00:13:40,100 --> 00:13:42,710 Do unu lastan aferon antaŭ ol ni plonĝi en la reala karnon de la 291 00:13:42,710 --> 00:13:46,260 pset estas kiel tradukigi kaj ruli vian kodon. 292 00:13:46,260 --> 00:13:50,320 Kaj tial esence kiam vi skribas C, kiu fakte ne estas 293 00:13:50,320 --> 00:13:52,480 tradukita al la reala maŝino kodo, la nuloj kaj 294 00:13:52,480 --> 00:13:56,000 kiuj la maŝino povas fakte legis kaj interpreti. 295 00:13:56,000 --> 00:13:57,170 Do ni havas ion - 296 00:13:57,170 --> 00:13:59,340 Clang estas tradukilo, ke ni uzu por C. 297 00:13:59,340 --> 00:14:00,270 Estas multaj tradukiloj. 298 00:14:00,270 --> 00:14:02,480 Sed en CS50, ni estos uzi Clang. 299 00:14:02,480 --> 00:14:05,480 Kaj tiel Clang esence tradukas de C al maŝino 300 00:14:05,480 --> 00:14:07,380 kodo por vi. 301 00:14:07,380 --> 00:14:10,170 Do ni rigardu ekzemplon - pikita en la Appliance tie. 302 00:14:14,550 --> 00:14:15,030 Bone. 303 00:14:15,030 --> 00:14:16,670 Do ĝuste nun ni estas en nia hejmo dosierujo. 304 00:14:16,670 --> 00:14:18,680 Ni efektive ne estas kie ajna kodo estas. 305 00:14:18,680 --> 00:14:24,740 Do ni ŝanĝi nian dosierujon al Dropbox/walkthrough1, kie 306 00:14:24,740 --> 00:14:25,930 Mi stokitaj kelkaj kodo. 307 00:14:25,930 --> 00:14:29,340 Do, se ni premu ls, tiam oni vidas, ke mi havas 308 00:14:29,340 --> 00:14:31,230 kelkaj dosieroj en ĉi tie. 309 00:14:31,230 --> 00:14:31,700 >> Bone. 310 00:14:31,700 --> 00:14:35,280 Do mi jam skribis hello.c, do ni kompili ĝin 311 00:14:35,280 --> 00:14:36,670 kaj poste vidi kion ĝi faras. 312 00:14:36,670 --> 00:14:43,150 Do baza kompili komando estus clang tiam hello.c, 313 00:14:43,150 --> 00:14:46,910 esence dirante bone, kompili hello.c por mi. 314 00:14:46,910 --> 00:14:50,550 Mi alklakos Enter, ŝajnas esti irinta pravas. 315 00:14:50,550 --> 00:14:52,590 Ni klaku ls denove. 316 00:14:52,590 --> 00:14:55,230 Ĉi a.out dosiero nun montrata. 317 00:14:55,230 --> 00:14:57,430 Kaj tiel a.out estas plenumebla dosiero. 318 00:14:57,430 --> 00:15:05,330 Do por ruli ĝin, vi faras. / A.out. 319 00:15:05,330 --> 00:15:07,650 Kaj tial ni vidas ke ĉi hello.c programo ŝajne 320 00:15:07,650 --> 00:15:10,400 presas el saluton kvinfoje. 321 00:15:10,400 --> 00:15:10,990 Bone. 322 00:15:10,990 --> 00:15:14,250 Sed diru ni ne volas uzi la nomon a.out. 323 00:15:18,140 --> 00:15:21,080 Ekzemple, ni volas lanĉi la programon saluton ĉar tio 324 00:15:21,080 --> 00:15:22,540 faciligante komprenas. 325 00:15:22,540 --> 00:15:26,590 Do diru clang hello.c, kaj tiam esence vi bezonas 326 00:15:26,590 --> 00:15:29,030 pasi en iuj aĵoj nomata flagoj. 327 00:15:29,030 --> 00:15:31,600 Dirinte bone, bone mi volas citi ĉi ion alian. 328 00:15:31,600 --> 00:15:33,900 Vi ankaŭ povas pasi en tereno de pluraj flagoj, 329 00:15:33,900 --> 00:15:34,620 kion vi vidos. 330 00:15:34,620 --> 00:15:37,510 Do la flago por enoficigi programon ion por ke vi 331 00:15:37,510 --> 00:15:39,780 volas estas-o. 332 00:15:39,780 --> 00:15:42,470 Post-o, vi skribu la nomon de la programo. 333 00:15:42,470 --> 00:15:44,090 Ni simple nomas ĝin saluton. 334 00:15:44,090 --> 00:15:49,050 >> Do nun ni vidas ke ni efektive havas saluton ruleblan dosieron. 335 00:15:49,050 --> 00:15:54,020 Do ni povas ruli ĝin, kaj ĝi faras same kiel antaŭe. 336 00:15:54,020 --> 00:15:56,210 Do nun ni havas saluton, ni povas ankaŭ forigi, por 337 00:15:56,210 --> 00:15:57,450 Ekzemple, nia a.out. 338 00:15:57,450 --> 00:16:03,880 Do rm por eltiri, a.out, via fina stacio instigas vin, demandi 339 00:16:03,880 --> 00:16:05,470 por vi por konfirmi ĉu vi vere volas 340 00:16:05,470 --> 00:16:06,370 forviŝi ĝin aŭ ne. 341 00:16:06,370 --> 00:16:10,000 Ni diru y por jes. 342 00:16:10,000 --> 00:16:10,750 Kaj tie ni iru. 343 00:16:10,750 --> 00:16:12,220 A.out estas for. 344 00:16:12,220 --> 00:16:12,620 Bone. 345 00:16:12,620 --> 00:16:14,810 Sed kelkfoje ĝi atingas konfuzi memori ĉiujn 346 00:16:14,810 --> 00:16:17,160 flagoj kiujn ni bezonas por inkludi kaj tajpu el clang. 347 00:16:17,160 --> 00:16:20,410 Kaj kiel ni vidos, kiam ni uzas pli kompleksaj programoj, ni 348 00:16:20,410 --> 00:16:22,450 esti inkludita malsamaj bibliotekoj. 349 00:16:22,450 --> 00:16:27,230 Kaj tiel niaj ordonoj al Clang ricevos pli longaj kaj pli longa. 350 00:16:27,230 --> 00:16:30,660 Do inkluzivita en la CS50 Appliance estas la fakto komando. 351 00:16:30,660 --> 00:16:33,880 Do vi simple tajpi fari saluton. 352 00:16:33,880 --> 00:16:35,130 Oops. 353 00:16:36,860 --> 00:16:38,400 Ni jam faris tiun plenumeblan dosieron. 354 00:16:38,400 --> 00:16:39,650 Do mi simple forigu ĝin rapide. 355 00:16:42,260 --> 00:16:44,830 Nun ni tajpi fari saluton. 356 00:16:44,830 --> 00:16:49,470 Kaj vi vidos en tiu linio tie esence dirante fari 357 00:16:49,470 --> 00:16:54,760 saluton engaĝas ĉiuj tiuj ordonoj ke 358 00:16:54,760 --> 00:16:55,580 iri en ĝin por vi. 359 00:16:55,580 --> 00:16:58,080 >> Do inkluzivita en la CS50 Appliance estas la fakto dosiero. 360 00:16:58,080 --> 00:17:02,300 Do simple, kiam vi havas dosieron name.c, tiam ĉiuj vi faras 361 00:17:02,300 --> 00:17:03,680 estas diri fari dosiernomo. 362 00:17:03,680 --> 00:17:04,800 Kaj tiam vi havos plenumebla 363 00:17:04,800 --> 00:17:06,200 dosiero kun tiu nomo. 364 00:17:06,200 --> 00:17:06,675 Jes? 365 00:17:06,675 --> 00:17:09,525 >> Parolanto 1: Por mia komputilo, anstataux Clang diras GCC. 366 00:17:09,525 --> 00:17:11,910 Ĉu tio estas kiel - 367 00:17:11,910 --> 00:17:12,109 ZAMYLA Chan: Yeah. 368 00:17:12,109 --> 00:17:15,700 Do via komputilo povus diri GCC kiel kontraŭ Clang ĉar 369 00:17:15,700 --> 00:17:18,180 GCC estas alia tipo de tradukilo. 370 00:17:18,180 --> 00:17:20,460 Se vi estas en la CS50 Appliance tamen, tiam 371 00:17:20,460 --> 00:17:21,810 devus uzi Clang. 372 00:17:24,619 --> 00:17:27,880 Se ĝi ne estas, tiam eble venu paroli al mi poste aŭ afiŝi 373 00:17:27,880 --> 00:17:29,595 sur CS50 Diskutu kaj ni povas ordigi tion diveni. 374 00:17:34,510 --> 00:17:35,710 >> Bone. 375 00:17:35,710 --> 00:17:39,250 Do nun ni havas niajn speco de bazaj iloj sube, tiam ni 376 00:17:39,250 --> 00:17:43,060 povas plonĝi en Mario. 377 00:17:43,060 --> 00:17:43,550 Okay. 378 00:17:43,550 --> 00:17:47,360 Do Mario estas programo kie esence ni tuj estos 379 00:17:47,360 --> 00:17:50,800 fari nian propran specon de komenca versio de la Mario 380 00:17:50,800 --> 00:17:51,410 ludo fono. 381 00:17:51,410 --> 00:17:54,790 Vi scias, Mario kutime havas pipon kaj 382 00:17:54,790 --> 00:17:55,670 arbo kaj iuj blokoj. 383 00:17:55,670 --> 00:17:59,390 Kaj tiam tie estas speco de duono piramido. 384 00:17:59,390 --> 00:18:02,100 Do ni simple tuj estos enfokusigante ke duono piramido, 385 00:18:02,100 --> 00:18:05,350 farante kodo tia ke ĝi presas el hashes por la speco 386 00:18:05,350 --> 00:18:07,500 de blokoj en ĉi tiu formato. 387 00:18:07,500 --> 00:18:10,800 Do kio okazos estas la uzanto volas enigo certa 388 00:18:10,800 --> 00:18:13,130 alteco de la piramido kaj tiam vi presi ke el 389 00:18:13,130 --> 00:18:17,410 tia, ke la fundo lasis hash - 390 00:18:17,410 --> 00:18:21,270 tiel ke je la malsupro ĉi tie - ke unu vicigos 391 00:18:21,270 --> 00:18:23,820 kun la fundo maldekstra de via terminalo. 392 00:18:26,720 --> 00:18:27,360 Okay. 393 00:18:27,360 --> 00:18:29,860 >> Do la unua afero, kiun vi bezonas - 394 00:18:29,860 --> 00:18:33,120 la unua iom mini problemo, ke ni bezonas pritrakti estas kiel 395 00:18:33,120 --> 00:18:34,640 por ricevi la eniro de la uzanto. 396 00:18:34,640 --> 00:18:40,020 Do ni bezonas esti kontraktanta kun kio la uzanto eniroj kaj tiam 397 00:18:40,020 --> 00:18:41,060 speco de eligo aferojn tie. 398 00:18:41,060 --> 00:18:47,630 Do ni rigardu rigardas dosiero nomata apples.c ke mi skribis 399 00:18:47,630 --> 00:18:52,670 kiu traktas eniroj kaj eliroj. 400 00:18:52,670 --> 00:18:53,240 Okay. 401 00:18:53,240 --> 00:18:55,970 Do jen supre, mi inkluzivis iujn el la bibliotekoj 402 00:18:55,970 --> 00:18:56,540 ke mi bezonas. 403 00:18:56,540 --> 00:19:00,700 La vere grava tie estas stdio (normo I / O). Kiu klopodas 404 00:19:00,700 --> 00:19:02,760 kun normo eniroj kaj eliroj ĉar nin tuj 405 00:19:02,760 --> 00:19:04,600 pritraktatos uzanto enigas. 406 00:19:04,600 --> 00:19:04,960 Bone. 407 00:19:04,960 --> 00:19:06,660 Tial mi komencos mian ĉefa funkcio. 408 00:19:06,660 --> 00:19:11,310 Kaj tiam mi petas la uzanto bone, kiom da pomoj vi havas? 409 00:19:11,310 --> 00:19:13,650 Tiam ĉi tie, kio estas tiu linio faras - 410 00:19:13,650 --> 00:19:18,420 Mi atribuas la variablo i al la valoro de GetInt. 411 00:19:18,420 --> 00:19:22,890 >> Do GetInt estas funkcio kiu estas inkluzivita en stdio. 412 00:19:22,890 --> 00:19:26,090 Kaj tial esence, ke pritraktos ĝin por vi. 413 00:19:26,090 --> 00:19:27,900 Ĝi instigas la uzanton por int. 414 00:19:27,900 --> 00:19:30,600 Kion ajn ili revenas, kiu estos atribuita al la 415 00:19:30,600 --> 00:19:32,020 variablo i. 416 00:19:32,020 --> 00:19:35,620 Kaj tiel do estas nur iom programo kiu malpliigas la 417 00:19:35,620 --> 00:19:39,160 valoro de i per 1 kaj poste presas el la nova valoro. 418 00:19:39,160 --> 00:19:42,420 Bela afero pri gedit estas fakte ke ekzistas minimuma 419 00:19:42,420 --> 00:19:43,720 fina dekstre en ĉi tie. 420 00:19:43,720 --> 00:19:46,670 Do anstataŭ devi ŝanĝi antaŭen kaj malantaŭen inter 421 00:19:46,670 --> 00:19:48,120 gedit kaj la fina, vi povas efektive 422 00:19:48,120 --> 00:19:49,100 nur ruli ĝin de ĉi tie. 423 00:19:49,100 --> 00:19:52,070 Do ni unue eniri la dekstra dosierujo. 424 00:19:52,070 --> 00:19:54,230 Do ni ŝanĝi nian dosierujoj por 425 00:19:54,230 --> 00:19:55,480 Dropbox/walkthrough1. 426 00:19:57,160 --> 00:19:57,840 Bone. 427 00:19:57,840 --> 00:20:03,400 Do nun ni faros pomoj, kompilas ĝin por ni. 428 00:20:03,400 --> 00:20:06,640 Kaj tial nun ni kuras pomoj. 429 00:20:06,640 --> 00:20:08,420 Kiom da pomoj ni havas? 430 00:20:08,420 --> 00:20:09,630 Mi diras, ke mi havas 3. 431 00:20:09,630 --> 00:20:12,060 Kaj diras "mwahaha Mi manĝos unu el ili" kaj diras 432 00:20:12,060 --> 00:20:13,610 "Vi nun havas 2 pomoj". 433 00:20:13,610 --> 00:20:14,220 >> Bone. 434 00:20:14,220 --> 00:20:16,390 Do ni kuros ke denove. 435 00:20:16,390 --> 00:20:19,040 Kaj diru mi havas 1 pomon. 436 00:20:19,040 --> 00:20:19,940 Nun mi havas 0 pomoj. 437 00:20:19,940 --> 00:20:20,180 Okay. 438 00:20:20,180 --> 00:20:22,460 Do ĉi tiu programo ŝajnas funkcii kiel atendita. 439 00:20:22,460 --> 00:20:25,070 Ni enigo numeron, ĝi malgrandiĝas ĝin per 1, kaj poste 440 00:20:25,070 --> 00:20:27,290 presas ĝin denove. 441 00:20:27,290 --> 00:20:31,950 Sed kion se, ekzemple, mi havas -1 pomojn? 442 00:20:31,950 --> 00:20:33,440 Tio ne sufiĉe sencon. 443 00:20:33,440 --> 00:20:37,430 Sed estas ankoraŭ entjero, do la programo akceptas ĝin. 444 00:20:37,430 --> 00:20:41,090 Kaj tiel li revenas al vi ankoraŭ pli negativa nombro. 445 00:20:41,090 --> 00:20:44,700 Do jen unu leciono por ni, ke kvankam la GetInt 446 00:20:44,700 --> 00:20:46,700 funkcio kaj la alia asociita aĵoj kiel 447 00:20:46,700 --> 00:20:48,260 GetFloat aŭ GetString - 448 00:20:48,260 --> 00:20:51,490 kvankam tiuj ricevos al ni la rajton datumtipo, por 449 00:20:51,490 --> 00:20:55,750 Ekzemple, se mi nur diris [tajpado], 450 00:20:55,750 --> 00:20:57,380 tiam diru al mi por reprovi. 451 00:20:57,380 --> 00:21:01,860 Do ĉi pritraktos ajn datumoj tajpi via enigo 452 00:21:01,860 --> 00:21:04,650 estas sed ne efektive kontroli, nu, ĉu vere tipo de 453 00:21:04,650 --> 00:21:07,820 valoro, kiun mi volas? 454 00:21:07,820 --> 00:21:12,370 Tial parto de Mario estas ke la uzanto devas eniro 455 00:21:12,370 --> 00:21:15,400 numero kiu reprezentas la alton de duono piramido 456 00:21:15,400 --> 00:21:16,360 ke vi faras. 457 00:21:16,360 --> 00:21:21,000 Kaj tiel do se ni instigante tiu uzanto por la alteco, tiam 458 00:21:21,000 --> 00:21:25,480 devus esti du baroj sur ĉi. 459 00:21:25,480 --> 00:21:28,040 Ĝuste? 460 00:21:28,040 --> 00:21:31,150 En la specifo, ĝi diras ke ne devus esti pli ol 23 461 00:21:31,150 --> 00:21:32,630 karakterojn pro tio speco de la normo 462 00:21:32,630 --> 00:21:34,450 alteco de la terminalo. 463 00:21:34,450 --> 00:21:37,590 Sed tiam, kion aliaj baro, eble suba baro, eble 464 00:21:37,590 --> 00:21:38,840 ni volas inkludi? 465 00:21:41,180 --> 00:21:44,350 >> Se ni vere desegni piramido, ia pensante reen 466 00:21:44,350 --> 00:21:48,460 al kiom alta piramido povas esti, povas ĝin iam ajn esti malsupera ol 467 00:21:48,460 --> 00:21:49,132 iu numero? 468 00:21:49,132 --> 00:21:50,490 Parolanto 2: Bigger ol tri. 469 00:21:50,490 --> 00:21:50,560 ZAMYLA Chan: Hmm? 470 00:21:50,560 --> 00:21:52,630 Parolanto 2: Bigger ol tri. 471 00:21:52,630 --> 00:21:54,850 ZAMYLA Chan: Tio estas bona punkto. 472 00:21:54,850 --> 00:21:57,860 Ĝi povus esti - 473 00:21:57,860 --> 00:22:00,700 ni volus limigi ĝin al nur tri nivelo piramido. 474 00:22:00,700 --> 00:22:02,120 Sed ni pensas - 475 00:22:02,120 --> 00:22:06,510 diru kiel oni hash tablo rakontas kiel piramido tro. 476 00:22:06,510 --> 00:22:09,031 Do kion devus nia reala suba baro estus? 477 00:22:12,260 --> 00:22:13,760 Pensante reen al pomoj, ni ne volas 478 00:22:13,760 --> 00:22:15,020 negativa alteco piramido. 479 00:22:15,020 --> 00:22:15,460 Ĝuste? 480 00:22:15,460 --> 00:22:15,720 Okay. 481 00:22:15,720 --> 00:22:19,060 Do, kiam vi petas la eniro de la uzanto, tiam vi devos 482 00:22:19,060 --> 00:22:21,980 inkluzivi iu maniero certigi ke la entjera ke 483 00:22:21,980 --> 00:22:24,970 ili provizas vin per ne negativa ĉar vi ne povas 484 00:22:24,970 --> 00:22:28,180 desegni negativa piramido. 485 00:22:28,180 --> 00:22:28,410 >> Okay. 486 00:22:28,410 --> 00:22:30,190 Do estas kelkaj manieroj por fari tion. 487 00:22:30,190 --> 00:22:34,420 Esence, kiam vi petas uzanto enigo, vi volas postuli 488 00:22:34,420 --> 00:22:37,080 ke ili provizas vin per ĝentila enigo. 489 00:22:37,080 --> 00:22:40,120 Do vi volas postuli ke ili provizas vin per nombro 490 00:22:40,120 --> 00:22:46,630 kiu ne estas negativa, sed ankaŭ malpli ol 24. 491 00:22:46,630 --> 00:22:49,510 Do ni pritraktas nulo ĝis 23, inkluzive. 492 00:22:49,510 --> 00:22:50,070 Bone. 493 00:22:50,070 --> 00:22:52,830 Do ni volas senĉese demandar - 494 00:22:52,830 --> 00:22:55,720 se ili ne donis al ni valida entjero, ili volas 495 00:22:55,720 --> 00:22:57,350 senĉese postulas ne. 496 00:22:57,350 --> 00:22:59,770 Donu al mi valida enigo. 497 00:22:59,770 --> 00:23:02,270 Donu al mi valida alteco. 498 00:23:02,270 --> 00:23:06,970 Do rememori reen en Scratch, ni havis la Ripetu Ĝis bloko aŭ 499 00:23:06,970 --> 00:23:08,950 la Forever Se bloko. 500 00:23:08,950 --> 00:23:12,345 Tiuj estas maŝojn kiuj estas tre similaj al la dum loop kaj 501 00:23:12,345 --> 00:23:14,960 la do dum buklo, kiun ni ricevos en nur en dua. 502 00:23:14,960 --> 00:23:19,790 Do la tempo buklo esence havas kondiĉe ke vi kontrolu 503 00:23:19,790 --> 00:23:23,240 jen Bulea valoro, ke vi metis ene tie, kiel la 504 00:23:23,240 --> 00:23:25,740 blokoj en Scratch kun la anguloj. 505 00:23:25,740 --> 00:23:29,550 Tion iras ene de la krampoj de la dum ciklo. 506 00:23:29,550 --> 00:23:31,830 Do vi devos havi ian kondiĉo tie. 507 00:23:31,830 --> 00:23:36,540 Kaj kiel ni ĵus diskutis pli frue, tiu kondiĉo volo 508 00:23:36,540 --> 00:23:40,250 devas fari kun la limoj de la entjero kiu inputted. 509 00:23:40,250 --> 00:23:44,040 Do la kondiĉo havus ion por fari kun ĉu 510 00:23:44,040 --> 00:23:48,600 la entjero estas ene de la taŭgaj baroj. 511 00:23:48,600 --> 00:23:49,410 >> Do tio estas dum ciklo. 512 00:23:49,410 --> 00:23:52,580 Ekzemple, vi povas instigas por la entjera kaj poste 513 00:23:52,580 --> 00:23:56,070 senĉese kontrolu dum ĉi enigo ne estas valida. 514 00:23:56,070 --> 00:23:59,810 Ekzemple, daŭre re-instigante, daŭre demandas 515 00:23:59,810 --> 00:24:01,600 la uzanto por entjero. 516 00:24:01,600 --> 00:24:03,780 Por ke povus esti unu vojo. 517 00:24:03,780 --> 00:24:06,240 Alia vojo povus esti do dum ciklo, kiu estas tre 518 00:24:06,240 --> 00:24:10,130 simila al tempo buklo krom kia fari dum faras estas - 519 00:24:10,130 --> 00:24:12,600 vi povas ia vidi por la sintakso - 520 00:24:12,600 --> 00:24:18,540 estas ke ĝi havas la do kaj poste la fakta buklo korpo unua. 521 00:24:18,540 --> 00:24:20,280 Tiam ĝi havas tempon, kondiĉoj. 522 00:24:20,280 --> 00:24:22,060 Do kion dum cikloj - 523 00:24:22,060 --> 00:24:25,470 kion ili estas utilaj por estas, ke ili efektive ekzekuti la 524 00:24:25,470 --> 00:24:29,130 kodo almenaŭ unufoje kaj poste kontrolu ĉu la kondiĉo estas 525 00:24:29,130 --> 00:24:30,030 renkontis aŭ ne. 526 00:24:30,030 --> 00:24:32,510 Do se vi estus fari do dum ciklo, tiam en via 527 00:24:32,510 --> 00:24:35,210 deklaro povas instigas por entjero ĉar vi en 528 00:24:35,210 --> 00:24:37,180 almenaŭ devas demandi al la uzanto tuj. 529 00:24:37,180 --> 00:24:40,850 Kaj tiam post vi instigas ilin, tiam vi povas diri bone, 530 00:24:40,850 --> 00:24:43,110 bone unufoje Mi faris tion, ĉu validas? 531 00:24:43,110 --> 00:24:44,810 Se jes, tiam vi povas simple daŭre iras. 532 00:24:44,810 --> 00:24:47,310 Sed se ĝi ne estas, tiam devos simple agas kiel regula dum 533 00:24:47,310 --> 00:24:49,240 buklo kaj poste daŭre petas. 534 00:24:53,590 --> 00:24:54,670 >> Okay. 535 00:24:54,670 --> 00:24:57,120 Do ni estas reen al Mario. 536 00:24:57,120 --> 00:25:01,740 Do ni scias kiel instigas por la ĝusta uzanto enigo tio 537 00:25:01,740 --> 00:25:03,160 ene de la dekstra baroj. 538 00:25:03,160 --> 00:25:07,100 Do nun ni efektive devas desegni tiun duonon piramido. 539 00:25:07,100 --> 00:25:08,730 Ĝi aspektas kiel simpla teksto gravuloj. 540 00:25:08,730 --> 00:25:10,360 Do ni efektive malferma - 541 00:25:14,280 --> 00:25:17,190 ni nur malfermi fenestron kaj diru bone, bone kion se mi 542 00:25:17,190 --> 00:25:24,960 vere faros tion permane, tajpu unu mem? 543 00:25:24,960 --> 00:25:25,780 Okay. 544 00:25:25,780 --> 00:25:26,910 Do ni vidu. 545 00:25:26,910 --> 00:25:30,070 Diru, ekzemple, ni volas fari piramido tio 546 00:25:30,070 --> 00:25:32,090 vicigitaj laŭlonge de la maldekstra flanko, tiam estus nur faru - 547 00:25:34,710 --> 00:25:37,750 en Mario, la supera nivelo havas du blokoj anstataŭ unu. 548 00:25:37,750 --> 00:25:39,080 Do ni komencu per du. 549 00:25:39,080 --> 00:25:40,700 Ni alklakos Eniru. 550 00:25:40,700 --> 00:25:45,670 Ni faras tri, kaj poste kvar, Enter, kvin. 551 00:25:45,670 --> 00:25:45,980 Okay. 552 00:25:45,980 --> 00:25:46,790 Por ke estas sufiĉe simpla. 553 00:25:46,790 --> 00:25:50,210 Krom en ĉi tiu problemo aro, ni volas vere vicigi kun 554 00:25:50,210 --> 00:25:52,250 la dekstra flanko de nia ekrano. 555 00:25:52,250 --> 00:25:52,630 Bone. 556 00:25:52,630 --> 00:25:58,870 Do, kiel povus el vi efektive tajpi ĉi tia ke 557 00:25:58,870 --> 00:26:01,810 ĝi estas vicigitaj laux la rajto? 558 00:26:01,810 --> 00:26:08,550 Anstataŭ meti la hash unua, kiel eble vi speco de 559 00:26:08,550 --> 00:26:10,040 movi ĝin kune? 560 00:26:10,040 --> 00:26:11,360 Parolanto 3: Skribu linio? 561 00:26:11,360 --> 00:26:11,800 ZAMYLA Chan: Hmm? 562 00:26:11,800 --> 00:26:13,030 Parolanto 3: Skribu linio? 563 00:26:13,030 --> 00:26:13,110 ZAMYLA Chan: Yeah. 564 00:26:13,110 --> 00:26:13,390 Yeah. 565 00:26:13,390 --> 00:26:15,080 Vi povus skribi kiel substreki aŭ ion kiel 566 00:26:15,080 --> 00:26:19,370 tion, sed ni povas nur diri uzi spaco. 567 00:26:19,370 --> 00:26:21,500 Ni metis en kiel tri spacoj tie. 568 00:26:21,500 --> 00:26:24,760 Tiam la sekva linio, nu, ni devus meti du spacoj. 569 00:26:24,760 --> 00:26:26,500 La sekva linio, ni nur metis unu spaco. 570 00:26:26,500 --> 00:26:30,340 Kaj poste por nia lasta linio, ni ne metis neniun spacoj. 571 00:26:30,340 --> 00:26:32,210 Kaj tie ni havas niajn piramido. 572 00:26:32,210 --> 00:26:33,170 >> Do jen speco de - 573 00:26:33,170 --> 00:26:37,290 memori, ke tia logiko. 574 00:26:37,290 --> 00:26:39,340 Kaj provi kaj eltrovi ian mastron, ke ni povas 575 00:26:39,340 --> 00:26:43,690 tiam traduki al C kaj engaĝi en ia buklo. 576 00:26:43,690 --> 00:26:43,930 Bone. 577 00:26:43,930 --> 00:26:48,130 Supozu ke ni havas altecon ok, tiam nia unua vico devos 578 00:26:48,130 --> 00:26:48,980 du hashes. 579 00:26:48,980 --> 00:26:53,030 Sed por atingi tiujn hashes, vi devus skribi iujn 580 00:26:53,030 --> 00:26:54,000 spacoj antaŭe. 581 00:26:54,000 --> 00:26:55,840 Ĝuste? 582 00:26:55,840 --> 00:26:57,340 Kion mi faris estas mi ĵus travivis. 583 00:26:57,340 --> 00:27:00,150 Mi tiris ĝin el mi mem, piramido en mia tekstoredaktilo, oni 584 00:27:00,150 --> 00:27:03,800 piramido kun alteco de ok kaj poste kalkuli kiom da 585 00:27:03,800 --> 00:27:05,180 spacojn mi bezonis fari. 586 00:27:05,180 --> 00:27:07,350 Do mi diris bone, bone la unuan vicon estas 587 00:27:07,350 --> 00:27:08,260 havos du hashes. 588 00:27:08,260 --> 00:27:11,100 Sed antaŭ tio, mi bezonas enigo sep spacoj. 589 00:27:11,100 --> 00:27:13,420 La proksima havas ses spacoj kaj tiam 590 00:27:13,420 --> 00:27:15,610 tri hashes, kaj tiel plu. 591 00:27:15,610 --> 00:27:20,520 >> Tial ni provu kaj alporti tion al alia tavolo de 592 00:27:20,520 --> 00:27:21,330 abstraktado. 593 00:27:21,330 --> 00:27:26,680 Kio se ni havis por la n-a vico, kiom da hashes kaj kiel 594 00:27:26,680 --> 00:27:27,960 multaj spacoj estus ni bezonas? 595 00:27:27,960 --> 00:27:30,750 Ĉu iu vidis la mastro? 596 00:27:35,200 --> 00:27:37,560 Do la unua vico havas du hashes. 597 00:27:37,560 --> 00:27:39,720 La dua havas tri. 598 00:27:39,720 --> 00:27:42,120 La tria havas kvar. 599 00:27:42,120 --> 00:27:45,398 Do la n-a vico havus - 600 00:27:45,398 --> 00:27:46,800 Parolanto 4: N plus 1? 601 00:27:46,800 --> 00:27:47,170 ZAMYLA Chan: Yeah. 602 00:27:47,170 --> 00:27:47,780 N plus 1. 603 00:27:47,780 --> 00:27:49,030 Ekzakte. 604 00:27:52,810 --> 00:27:56,470 Tial ni vidas ke la numero de hashes tuj estos - 605 00:27:56,470 --> 00:27:59,510 se ni rakonti la unua vico por esti unu, tiam la nombro 606 00:27:59,510 --> 00:28:03,850 de hashes estas ĝuste tuj estos pli ol tio. 607 00:28:03,850 --> 00:28:04,150 Okay. 608 00:28:04,150 --> 00:28:06,350 Tial kio pri la nombro de spacoj? 609 00:28:06,350 --> 00:28:10,120 Do ni provu kaj esprimi tion en terminoj de la alteco. 610 00:28:10,120 --> 00:28:12,570 Se la alto estas ok, tiam la unua 611 00:28:12,570 --> 00:28:15,260 vico havas sep spacoj. 612 00:28:15,260 --> 00:28:18,215 Por ke ia respondas al 8 minus 1. 613 00:28:18,215 --> 00:28:19,030 Ĝuste? 614 00:28:19,030 --> 00:28:22,420 Do tiam la dua vico tuj havos ses spacoj, 615 00:28:22,420 --> 00:28:25,340 kiu estas 8 minus 2. 616 00:28:28,420 --> 00:28:31,450 Tial mi tuj forlasos ĝin al vi ia figuro el 617 00:28:31,450 --> 00:28:33,610 la ŝablono por tio. 618 00:28:33,610 --> 00:28:34,010 >> Okay. 619 00:28:34,010 --> 00:28:37,450 Sed en programado, kelkfoje ni efektive indekso je nulo. 620 00:28:37,450 --> 00:28:39,680 Do ni komencu je nulo anstataŭ unu. 621 00:28:39,680 --> 00:28:46,250 Do anstataŭ la unua vico estante nomita la unua vico, 622 00:28:46,250 --> 00:28:48,930 ni iras al nomante ĝin la 0-a vico. 623 00:28:48,930 --> 00:28:51,360 Do laŭ la vojo, kiun vi volas apliki ĝin, esti 624 00:28:51,360 --> 00:28:55,120 tre zorgema ĉu vi komencas je nulo, ĉu vi starti je 625 00:28:55,120 --> 00:28:58,400 unu, via mastro tuj estos kompensita de unu. 626 00:29:02,270 --> 00:29:02,880 Okay. 627 00:29:02,880 --> 00:29:05,460 Do nun ni ia supozis, la programo, ni 628 00:29:05,460 --> 00:29:06,310 devas diri okay. 629 00:29:06,310 --> 00:29:11,540 Do por ĉiu speco de nivelo de la ŝtuparo, mi tuj presi 630 00:29:11,540 --> 00:29:14,390 Tie kaj nombro de spacoj kaj tiam tiaj kaj 631 00:29:14,390 --> 00:29:16,550 tia nombro de hashes. 632 00:29:16,550 --> 00:29:19,550 Tio dependas de la ŝablono, ke ni establis antaŭe. 633 00:29:19,550 --> 00:29:19,810 Okay. 634 00:29:19,810 --> 00:29:23,600 Do unu vojo de ripetanta tra kaj tipon de irante 635 00:29:23,600 --> 00:29:27,670 tra starigis nombro de aĵoj estas por ciklo, ia kiel 636 00:29:27,670 --> 00:29:31,040 la ripeto 10 bloko aŭ kiel ripeto kaj vi eniris en 637 00:29:31,040 --> 00:29:33,810 nombro en por Scratch. 638 00:29:33,810 --> 00:29:38,050 Do esence, por cxiu nivelo de ŝtuparoj, ni volas 639 00:29:38,050 --> 00:29:39,650 presi la spacoj unua. 640 00:29:39,650 --> 00:29:43,020 Tiam presi la nombro de hashes. 641 00:29:43,020 --> 00:29:46,480 Kaj poste ni volas enmeti novan linion kaj poste ripeti ĝin 642 00:29:46,480 --> 00:29:49,750 denove por la venonta bloko. 643 00:29:49,750 --> 00:29:50,720 Okay. 644 00:29:50,720 --> 00:29:55,080 >> Do ni rigardu por bukloj por sek al ia vidi unu vojo 645 00:29:55,080 --> 00:29:59,460 ke ni iru per aro nombro, iri tra la nombro 646 00:29:59,460 --> 00:30:02,250 de paŝoj en tiu ĉi duona piramido. 647 00:30:02,250 --> 00:30:04,220 Do por cikloj konsistas el tri partoj. 648 00:30:04,220 --> 00:30:08,150 Unue, vi havas inicialización. 649 00:30:08,150 --> 00:30:13,220 Por ke esence aroj variablo. 650 00:30:13,220 --> 00:30:15,130 Ĝi tuj enkadrigeblajn por tiu valoro ĉiufoje 651 00:30:15,130 --> 00:30:17,110 ke por buklo komenciĝas. 652 00:30:17,110 --> 00:30:18,540 Tiam vi tuj havos kondiĉon. 653 00:30:18,540 --> 00:30:21,640 Via por buklo nur ekzekuti tiel longe kiel tiu 654 00:30:21,640 --> 00:30:25,630 kondiĉo taksas al vera. 655 00:30:25,630 --> 00:30:28,000 Kaj tiam vi havos ĝisdatigon kondiĉo. 656 00:30:28,000 --> 00:30:32,450 Por ke ĝi devas vidi kun la variablo kiu vi inicializado. 657 00:30:32,450 --> 00:30:38,120 Do iel de esence certigante ke oni povas rompi 658 00:30:38,120 --> 00:30:40,070 de la ciklo, ke ni ne daŭre ekzekuti 659 00:30:40,070 --> 00:30:41,310 ĝi ĉiam kaj eterne. 660 00:30:41,310 --> 00:30:43,760 Ĉar kontraste Scratch, ni vere ne havas nur 661 00:30:43,760 --> 00:30:45,680 ebenaĵo Forever buklo. 662 00:30:45,680 --> 00:30:48,100 En C, la programo devas fini eventuale. 663 00:30:48,100 --> 00:30:52,290 Do ni devas certigi, ke iel ni ĝin haltigi. 664 00:30:52,290 --> 00:30:52,830 >> Okay. 665 00:30:52,830 --> 00:30:56,260 Do ekzemplo de a por buklo kiun vi eble deziras uzi por 666 00:30:56,260 --> 00:30:57,530 Mario estas ĉi. 667 00:30:57,530 --> 00:31:02,290 Do vi havas entjero mi ke vi komencu je 0. 668 00:31:02,290 --> 00:31:08,050 Tiel longe, kiel ĝi estas malpli ol la alteco, vi ekzekuti la korpon 669 00:31:08,050 --> 00:31:11,140 de la ciklo ene tie. 670 00:31:11,140 --> 00:31:13,820 Post tiu korpo de la ciklo estas ekzekutitaj, tiam vi farus 671 00:31:13,820 --> 00:31:15,290 pliigi i per 1. 672 00:31:15,290 --> 00:31:18,510 Tiam via programo kontroli denove - bone, bone, estas mi malpli ol 673 00:31:18,510 --> 00:31:18,885 la alto? 674 00:31:18,885 --> 00:31:21,865 Se jes, tiam vi daŭre. 675 00:31:24,630 --> 00:31:27,790 Do jen unu ekzemplo de nulo indeksado, kie ni komencos je 676 00:31:27,790 --> 00:31:29,100 nulo kaj tiam ni - 677 00:31:29,100 --> 00:31:30,970 rimarkas, ke nia kondiĉo estas malpli ol la alteco. 678 00:31:30,970 --> 00:31:34,510 Do diru nia alteco estas kvar, ekzemple, i 679 00:31:34,510 --> 00:31:35,470 ekos je 0. 680 00:31:35,470 --> 00:31:36,180 Ĝi estos 1. 681 00:31:36,180 --> 00:31:36,730 Estos 2. 682 00:31:36,730 --> 00:31:37,940 Ĝi estos 3. 683 00:31:37,940 --> 00:31:42,310 Kaj tiam tuj ĝin ĝisdatigas, kiam la por buklo ĝisdatigoj, i estos 684 00:31:42,310 --> 00:31:43,650 tiam enkadrigeblajn por 4. 685 00:31:43,650 --> 00:31:47,080 Sed 4 estas ne malpli ol 4, kaj tiel poste ni estus 686 00:31:47,080 --> 00:31:50,340 daŭrigi al la resto de nia ciklo. 687 00:31:50,340 --> 00:31:50,870 >> Okay. 688 00:31:50,870 --> 00:31:51,680 Do ke ​​tio ekde nulo. 689 00:31:51,680 --> 00:31:53,470 Sed ni ankaŭ povus starti je unu, ekzemple. 690 00:31:53,470 --> 00:31:56,960 Sed ĉar ni komencu en unu, oni ia devas iri pli 691 00:31:56,960 --> 00:31:57,920 tempo je la fino. 692 00:31:57,920 --> 00:32:02,800 Tial jen kial ni aldonos la malpli ol aŭ egala al. 693 00:32:02,800 --> 00:32:05,780 Do unu el la grandaj aĵoj kiujn mi ŝatas de komputilo 694 00:32:05,780 --> 00:32:06,930 programado estas, ke ekzistas nur tiom 695 00:32:06,930 --> 00:32:08,370 multaj manieroj por fari tion. 696 00:32:08,370 --> 00:32:11,300 Do vi povas elekti ĉu vi komencas je nulo, ĉu vi 697 00:32:11,300 --> 00:32:12,330 starti je unu. 698 00:32:12,330 --> 00:32:15,400 Ankaŭ, se vi volas, vi povus simple uzi 699 00:32:15,400 --> 00:32:16,600 dum buklo, ekzemple. 700 00:32:16,600 --> 00:32:18,890 Do vi povus - 701 00:32:18,890 --> 00:32:20,270 ni efektive malferma hello.c. 702 00:32:26,200 --> 00:32:28,600 Do ni havas por buklo tie. 703 00:32:28,600 --> 00:32:31,330 Ĝi komenciĝas je i = 0, i <5. 704 00:32:31,330 --> 00:32:33,550 Mi havas komenton ĉi tie rakontas al ni, kion ĝi faras. 705 00:32:33,550 --> 00:32:36,300 Ĝi presas saluton kvinfoje uzante por buklo. 706 00:32:36,300 --> 00:32:41,690 Sed ni povus ankaŭ fari tion uzante dum buklo tiel. 707 00:32:41,690 --> 00:32:48,290 >> Do ni rigardu kiel ni povus fari tion. 708 00:32:48,290 --> 00:32:51,010 Do, se ni tuj imiti a por ciklo, tiam ni ankaŭ volas 709 00:32:51,010 --> 00:32:54,870 imitas la inicialización, la kondiĉo, kaj la ĝisdatigon. 710 00:32:54,870 --> 00:33:01,430 Do la kondiĉo devus esti bela simpla ĉar en la 711 00:33:01,430 --> 00:33:04,350 dum sintakso, kiam vi rigardas ĝin, ĝi diras kiam (kondiĉo). 712 00:33:04,350 --> 00:33:06,830 Do ni ĵus enigo kondiĉe tie. 713 00:33:06,830 --> 00:33:09,700 i <5. 714 00:33:09,700 --> 00:33:10,590 Okay. 715 00:33:10,590 --> 00:33:18,900 Do ni scias, ke ni volas presi adiaŭ. 716 00:33:18,900 --> 00:33:21,350 Ni scias ke tio estas la korpo de niaj buklo. 717 00:33:21,350 --> 00:33:23,600 Sed ni mankas la inicialización 718 00:33:23,600 --> 00:33:24,490 kaj la ĝisdatigon, ĉu ne? 719 00:33:24,490 --> 00:33:25,790 Ĉar ni ne povas havi cxiam buklo. 720 00:33:25,790 --> 00:33:27,660 Ĝi devas finiĝi. 721 00:33:27,660 --> 00:33:35,300 Do ni aldonu ian inicialización tie uzante la 722 00:33:35,300 --> 00:33:38,790 sama kiun ni uzas en niaj por ciklo, int i = 0. 723 00:33:38,790 --> 00:33:39,110 Okay. 724 00:33:39,110 --> 00:33:40,630 Do ni starti kun int i. 725 00:33:40,630 --> 00:33:43,640 Ni ripetas ĉi dum buklo dum i estas malpli ol 5. 726 00:33:43,640 --> 00:33:47,220 Tial ni mankas unu afero, kiu estas la ĝisdatigo. 727 00:33:47,220 --> 00:33:51,470 Do kio ŝanĝo estus ni bezonas uzi se ni estis esence 728 00:33:51,470 --> 00:33:52,880 amuzante la por buklo supre? 729 00:33:56,000 --> 00:33:59,880 Ni havas la inicialización i estas egala al 0. 730 00:33:59,880 --> 00:34:03,610 Ni havas la kondiĉon i estas malpli ol 5. 731 00:34:03,610 --> 00:34:06,300 Kaj poste jen ĝisdatigon, ĉu ne? 732 00:34:06,300 --> 00:34:07,365 Do ni deziras kopii tion. 733 00:34:07,365 --> 00:34:10,340 Ni volas diri bone, mi + +. 734 00:34:10,340 --> 00:34:13,820 Tio estas la sama afero kiel dirante i = i + 1. 735 00:34:13,820 --> 00:34:17,090 Sed ĉar ĝi estas uzata tiel ofte, stenografio por tio estas ĝuste 736 00:34:17,090 --> 00:34:18,340 dirante i + +. 737 00:34:20,800 --> 00:34:22,050 >> Granda. 738 00:34:25,230 --> 00:34:26,400 Okay. 739 00:34:26,400 --> 00:34:29,210 Ĉi tie mi efektive ne eliri el mia pomoj programo. 740 00:34:29,210 --> 00:34:33,070 Do mi simple tuj klaku Control-C kaj ke tuj 741 00:34:33,070 --> 00:34:34,989 botoj min el mia programo kaj alportas 742 00:34:34,989 --> 00:34:35,920 min apogi por la fina stacio. 743 00:34:35,920 --> 00:34:38,320 Tiel ke, ekzemple, se vi trafos cimon kie vi 744 00:34:38,320 --> 00:34:40,750 forgesis ĝisdatigi vian dum buklo tia, ke ĝi estus 745 00:34:40,750 --> 00:34:43,150 finiĝi, kaj vi eniros senfina ciklo, tiam vi povas 746 00:34:43,150 --> 00:34:46,400 uzi Control-C rompi el tiu. 747 00:34:46,400 --> 00:34:46,639 Bone. 748 00:34:46,639 --> 00:34:47,960 Do ni estas en la dekstra dosierujo. 749 00:34:47,960 --> 00:34:52,010 Do ni faru saluton. 750 00:34:52,010 --> 00:35:01,710 Kaj tiam se ni kuras saluton, ni vidas ke la adiaŭo buklo faras 751 00:35:01,710 --> 00:35:03,350 la ĝusta sama afero kiel nia por buklo faras. 752 00:35:03,350 --> 00:35:05,060 Por ke estas nur aludo. 753 00:35:05,060 --> 00:35:06,980 Ĉu vi estas pli komforta kun por cikloj aŭ 754 00:35:06,980 --> 00:35:09,850 kun dum maŝojn, ili povas esti interŝanĝeblaj. 755 00:35:09,850 --> 00:35:15,130 Do kiom unu vi volas uzi por persisti tra - 756 00:35:15,130 --> 00:35:16,020 en ĉi tiu kazo - 757 00:35:16,020 --> 00:35:19,410 la alto de la Mario piramido. 758 00:35:19,410 --> 00:35:23,020 Kaj tial denove, ĉi tiu estas nur memorigilo, se oni komencas je nulo 759 00:35:23,020 --> 00:35:25,430 por via variablo, tiam vi volas havi malsamajn 760 00:35:25,430 --> 00:35:27,360 kondiĉo ol se vi komencis je unu. 761 00:35:27,360 --> 00:35:29,620 Do ĉi tiu tabulo nur speco de tie vi memorigas. 762 00:35:29,620 --> 00:35:33,660 Se vi volas ripeti 10 fojoj, ekzemple, tiam vi 763 00:35:33,660 --> 00:35:36,030 povas aŭ komenci vian variablon je nulo. 764 00:35:36,030 --> 00:35:39,350 Kaj via kondiĉo povas esti malpli ol 10. 765 00:35:39,350 --> 00:35:43,020 Kaj por ke ia montras al vi la matrico de tio. 766 00:35:43,020 --> 00:35:43,360 >> Okay. 767 00:35:43,360 --> 00:35:45,790 Do ni iris tra Mario. 768 00:35:45,790 --> 00:35:48,820 Ni diris Konsentite, bone ni bezonas por kontroli por korekta enigo, 769 00:35:48,820 --> 00:35:50,800 nulo kaj 23 inkluziva. 770 00:35:50,800 --> 00:35:53,370 Ni tuj trovos ian mastron, ia maniero 771 00:35:53,370 --> 00:35:57,920 esprimi la n-a vico aŭ la th,-a vico. 772 00:35:57,920 --> 00:36:01,560 Kaj ni tuj decidi, Konsentite, ke ni tuj presi ĉi 773 00:36:01,560 --> 00:36:04,870 multaj spacoj, ĉi multaj hashes, novan linion. 774 00:36:04,870 --> 00:36:05,050 Bone. 775 00:36:05,050 --> 00:36:05,720 Do ni havas tion. 776 00:36:05,720 --> 00:36:08,570 Do nun ni povas movi al Greedy. 777 00:36:08,570 --> 00:36:14,500 Greedy estas programo kie uzanto donas kvanton de 778 00:36:14,500 --> 00:36:17,460 kontanta kiu esence vi kiel la kasistino devas reveni. 779 00:36:17,460 --> 00:36:21,530 Sed vi volas uzi kiel iom moneroj ebla. 780 00:36:21,530 --> 00:36:25,070 Kaj tiel tio estas kie Greedy algoritmo envenas, kie 781 00:36:25,070 --> 00:36:30,440 ni volas uzi la minimuma kvanto da moneroj eblas 782 00:36:30,440 --> 00:36:31,900 fari ke kvanto de ŝanĝo. 783 00:36:34,500 --> 00:36:34,990 >> Okay. 784 00:36:34,990 --> 00:36:40,480 Do ekzemplo de ĉi tio en vian solvon povus rigardi 785 00:36:40,480 --> 00:36:42,540 iu kiel ĉi tio. 786 00:36:42,540 --> 00:36:45,410 Vi kuras. / Avidaj. 787 00:36:45,410 --> 00:36:47,920 Vi instigis diri bone, bone, kiom ŝanĝo sxuldis? 788 00:36:47,920 --> 00:36:50,780 Tiun valoron tuj esti valoro en dolaroj. 789 00:36:50,780 --> 00:36:52,440 Por ke tuj estu kaleŝego. 790 00:36:52,440 --> 00:36:55,630 Via programo estos tiam kalkuli la minimuman kvanton 791 00:36:55,630 --> 00:37:00,380 da moneroj postulis fari, en ĉi tiu kazo, $ 0.32. 792 00:37:00,380 --> 00:37:04,550 Kaj tial la minimuma nombro estas kvar. 793 00:37:04,550 --> 00:37:07,480 Do antaŭ ol ni kalkuli, kion fari, ni ia promeno 794 00:37:07,480 --> 00:37:10,770 tra la procezo kiu vi povus iri. 795 00:37:10,770 --> 00:37:16,480 Do se la enigo estas 32, tiam esence mi tuj uzos 796 00:37:16,480 --> 00:37:19,100 la malplej kvanto de moneroj se mi uzas tiom da 797 00:37:19,100 --> 00:37:20,460 grandaj moneroj ebla. 798 00:37:20,460 --> 00:37:20,870 Ĝuste? 799 00:37:20,870 --> 00:37:25,420 Do ĝi estas multe pli facile uzi unu kvarono kiel 800 00:37:25,420 --> 00:37:27,070 kontraste al kvin Nickels. 801 00:37:27,070 --> 00:37:31,740 Do diru, vi devas reveni $ 0.32. 802 00:37:31,740 --> 00:37:36,660 Nu, mi povas uzi kvarono en tio? 803 00:37:36,660 --> 00:37:37,480 Yeah, vi povas. 804 00:37:37,480 --> 00:37:41,970 Kaj tiam vi estus malkreskis al $ 0,07. 805 00:37:41,970 --> 00:37:46,070 Ni vidu se mi povas uzi alian kvara pagi vin. 806 00:37:46,070 --> 00:37:46,870 Nu, ne. 807 00:37:46,870 --> 00:37:48,200 Mi ne povas persvadi kvarono en tio. 808 00:37:48,200 --> 00:37:52,110 Do mi iros por movi al la sekvanta granda monero. 809 00:37:52,110 --> 00:37:53,250 Ĉu mi povas uzi groŝon? 810 00:37:53,250 --> 00:37:55,800 $ 0.07, ne vi ne povas uzi groŝon pagi $ 0,07. 811 00:37:55,800 --> 00:37:56,840 Do vi diras ne. 812 00:37:56,840 --> 00:38:00,490 Movu al la sekva, kiu estas nikelo. 813 00:38:00,490 --> 00:38:01,440 Ĉu vi povas uzi nikelo? 814 00:38:01,440 --> 00:38:02,930 Jes. 815 00:38:02,930 --> 00:38:06,440 Sep estas pli granda ol $ 0.05, do ni povas uzi nikelo. 816 00:38:06,440 --> 00:38:08,640 Kaj tiam ni havas du cendojn lasis super. 817 00:38:08,640 --> 00:38:11,110 Ĉu ni povas uzi unu denaro? 818 00:38:11,110 --> 00:38:12,180 Jes ni povas. 819 00:38:12,180 --> 00:38:13,070 Ĉu ni povas uzi alian centono? 820 00:38:13,070 --> 00:38:13,380 Jes. 821 00:38:13,380 --> 00:38:14,710 Ĉu ni povas uzi alian centono? 822 00:38:14,710 --> 00:38:17,070 Neniu ĉar nun ni havas sukcese 823 00:38:17,070 --> 00:38:19,400 pagis la uzanto dorso. 824 00:38:19,400 --> 00:38:23,620 Kaj por ke tutaj kvar moneroj uzataj. 825 00:38:23,620 --> 00:38:26,370 >> Do pensas tiu procezo, ni ĉiun 826 00:38:26,370 --> 00:38:29,080 tempo decidi bone, 827 00:38:29,080 --> 00:38:31,050 kio estas la plej granda monero, ke ni povas uzi? 828 00:38:31,050 --> 00:38:37,240 Iam ni uzas tiun, ni ia observu mensan noton de kiom 829 00:38:37,240 --> 00:38:39,650 pli da mono ni devas reveni al la uzanto tiel kiel kiom 830 00:38:39,650 --> 00:38:41,310 moneroj ni estas uzanta. 831 00:38:44,640 --> 00:38:45,200 Okay. 832 00:38:45,200 --> 00:38:48,930 Do sed denove, la unua paŝo - same kiel Mario - estas instigas 833 00:38:48,930 --> 00:38:51,120 la uzanto por mona sumo. 834 00:38:51,120 --> 00:38:53,920 Kaj tiel ĉi tiu kvanto tuj estos - 835 00:38:53,920 --> 00:38:56,040 ĝi tuj devos dekuma valoro ĉar nin tuj 836 00:38:56,040 --> 00:38:57,310 demandi ilin por dolaroj. 837 00:38:57,310 --> 00:39:00,550 Por ke datumtipo estas ne tuj estos entjero. 838 00:39:00,550 --> 00:39:01,860 Sed ĝi estas tuj estos - 839 00:39:04,960 --> 00:39:07,700 yeah, kaleŝego. 840 00:39:07,700 --> 00:39:10,780 Sed ĝuste kiel pomoj, flosas povas esti pozitiva aŭ negativa. 841 00:39:10,780 --> 00:39:13,390 Tial, kiam vi kontrolu por valoroj, vi tuj volas 842 00:39:13,390 --> 00:39:15,380 por certigi ke via kaleŝego - 843 00:39:15,380 --> 00:39:19,710 la eniro de la uzanto - estas nenegativaj. 844 00:39:19,710 --> 00:39:20,960 Okay. 845 00:39:22,630 --> 00:39:26,720 Ni povis trakti flosas en nia tuta programo, reprezenti 846 00:39:26,720 --> 00:39:31,610 kazernoj de 0,25, dimes per 0,1, kaj tiel plu. 847 00:39:31,610 --> 00:39:36,280 Sed mi trovas ĝin multe pli facile trakti en nur pura cendoj. 848 00:39:36,280 --> 00:39:36,910 Ankaŭ - 849 00:39:36,910 --> 00:39:39,370 kaj ni parolos pri tio iom poste - 850 00:39:39,370 --> 00:39:43,610 en C, flosanta punktoj havas ion nomatan imprecision. 851 00:39:43,610 --> 00:39:48,660 Do kiam vi eniros en 0.12, ekzemple, la komputilo 852 00:39:48,660 --> 00:39:53,010 vere tendencas kiel kiel 0.1111119 aŭ 853 00:39:53,010 --> 00:39:54,350 io simila. 854 00:39:54,350 --> 00:39:56,900 >> Do ĝi estas multe pli facile konverti al cendoj. 855 00:39:56,900 --> 00:40:02,190 Nu do kiel ni konverti dolaro valoro al cendoj? 856 00:40:02,190 --> 00:40:03,540 Parolanto 5: Times ĝin 100? 857 00:40:03,540 --> 00:40:03,920 ZAMYLA Chan: Yeah. 858 00:40:03,920 --> 00:40:04,110 Yeah. 859 00:40:04,110 --> 00:40:07,110 Do ni volus fojoj per 100. 860 00:40:07,110 --> 00:40:10,820 Sed unu malfacila afero pri flosantaj punktoj estas ke 861 00:40:10,820 --> 00:40:11,790 Estas iuj imprecision. 862 00:40:11,790 --> 00:40:16,090 Do ni nur rigardas ekzemplo de tio. 863 00:40:18,760 --> 00:40:21,360 Do mi tuj malfermos imprecision.c. 864 00:40:21,360 --> 00:40:23,690 Okay. 865 00:40:23,690 --> 00:40:24,860 Tio ĉi estas tre simpla programo. 866 00:40:24,860 --> 00:40:26,970 Ĝi petas kaleŝego, kaj presas ĝin. 867 00:40:35,950 --> 00:40:39,600 Unu belan bekon en terminalo estas vi povas simple tajpi klara, kaj 868 00:40:39,600 --> 00:40:41,180 tiam vi havas klaran ekrano. 869 00:40:41,180 --> 00:40:45,270 Kaj tial vi ne bezonas rigardi al ajna antaŭa eligo aŭ ajna 870 00:40:45,270 --> 00:40:47,490 eraroj aŭ cimo raportoj, io simila. 871 00:40:47,490 --> 00:40:48,120 Okay. 872 00:40:48,120 --> 00:40:49,675 Do ni faru imprecision. 873 00:40:53,250 --> 00:40:56,250 Ni kuras ĝi. 874 00:40:56,250 --> 00:40:57,890 Do mi haven't - 875 00:40:57,890 --> 00:41:03,830 en mia kodo, mi ne presi ajna prompto aŭ io kiel tio. 876 00:41:03,830 --> 00:41:05,010 Do nur havas palpebrumante kursoro. 877 00:41:05,010 --> 00:41:07,390 Do ĝi estas nur atendantaj por mi enigo kaleŝego. 878 00:41:07,390 --> 00:41:08,640 Do let's - 879 00:41:10,610 --> 00:41:11,280 hazarda kaleŝego. 880 00:41:11,280 --> 00:41:15,080 Kaj vi vidos ke ĝi presas ĝin sed havas iomete 881 00:41:15,080 --> 00:41:18,180 nombroj, ke ni certe ne inkluzivas. 882 00:41:18,180 --> 00:41:21,980 Do ni volas certigi, ke tiu ne 883 00:41:21,980 --> 00:41:23,300 okazi en nia programo. 884 00:41:23,300 --> 00:41:27,550 >> Tial kion ni volas fari estas certigi ke ni efektive 885 00:41:27,550 --> 00:41:31,300 speco de rondigita al la taŭga valoro. 886 00:41:31,300 --> 00:41:31,850 Ĝuste? 887 00:41:31,850 --> 00:41:37,820 Kaj tiel bonŝance ni havas funkcion nomata ronda inkludis 888 00:41:37,820 --> 00:41:38,550 en la Appliance. 889 00:41:38,550 --> 00:41:41,390 Ĝi estas en la math biblioteko. 890 00:41:41,390 --> 00:41:44,710 Se vi volas scii kiel uzi ronda, tiam vi vere uzas 891 00:41:44,710 --> 00:41:45,220 la manlibro. 892 00:41:45,220 --> 00:41:48,160 Vi povas alklaki viro ĉirkaŭvojo. 893 00:41:48,160 --> 00:41:51,190 Tiam tie alportas supren - 894 00:41:51,190 --> 00:41:53,220 povus esti iom malfacile deĉifri, sed fine 895 00:41:53,220 --> 00:41:54,690 vi ricevos la hang de ĝi. 896 00:41:54,690 --> 00:42:00,060 Ĉio montras al vi, kion la funkcio faras kaj tiam iuj 897 00:42:00,060 --> 00:42:01,790 eblaj uzoj de tiu. 898 00:42:01,790 --> 00:42:10,210 Do kiam vi eventuale ricevas taŭgan, valida enigo de la 899 00:42:10,210 --> 00:42:14,490 uzanto, tiam vi volas igi ĝin al cendoj. 900 00:42:14,490 --> 00:42:18,530 Certiĝu, ke vi ĉirkaŭis la valoro por ke vi eviti tiun 901 00:42:18,530 --> 00:42:21,780 glitpunktaj imprecision. 902 00:42:21,780 --> 00:42:22,340 >> Okay. 903 00:42:22,340 --> 00:42:26,190 Do ni instigis la uzanto por mona sumo. 904 00:42:26,190 --> 00:42:31,460 Nun kion ni volas fari estas esence kontroli, ĉu ne? 905 00:42:31,460 --> 00:42:35,500 Konsentite, tiel mi povas uzi la plej granda monero ebla? 906 00:42:35,500 --> 00:42:37,040 Se vi povas, tiam vi uzas ĝin. 907 00:42:37,040 --> 00:42:40,250 Vi konservi trako de kiom da moneroj vi uzis ĝis nun kaj 908 00:42:40,250 --> 00:42:41,710 ankaŭ la dekadenca kvanto. 909 00:42:41,710 --> 00:42:42,240 Ĝuste? 910 00:42:42,240 --> 00:42:44,880 Kaj tiam vi tuj kontroli. 911 00:42:44,880 --> 00:42:47,940 Iam vi havas ia elĉerpis la kazernoj, vi volas iri 912 00:42:47,940 --> 00:42:49,545 al la sekvanta ebla. 913 00:42:49,545 --> 00:42:59,380 >> Do, kian strukturon aŭ kian buklo forto ni 914 00:42:59,380 --> 00:43:03,850 volas uzi por senĉese kontroli ĉu ni povas ankoraŭ uzi 915 00:43:03,850 --> 00:43:05,100 kvarono, ekzemple? 916 00:43:07,380 --> 00:43:09,280 Parolanto 6: Dum valoro pli granda ol? 917 00:43:09,280 --> 00:43:10,150 ZAMYLA Chan: Yeah, perfektigi. 918 00:43:10,150 --> 00:43:10,590 Ekzakte. 919 00:43:10,590 --> 00:43:12,630 Do dum valoro estas pli granda ol. 920 00:43:12,630 --> 00:43:16,300 Do dum la valoro kiun ni havas redoni ankoraŭ 921 00:43:16,300 --> 00:43:19,410 pli granda ol kvarono, dum ni povas ankoraŭ uzi kvarono, 922 00:43:19,410 --> 00:43:20,490 uzi kazernoj. 923 00:43:20,490 --> 00:43:21,450 Konservu spuri de tio. 924 00:43:21,450 --> 00:43:22,610 Kaj tiam daŭre iras. 925 00:43:22,610 --> 00:43:25,040 Perfekta. 926 00:43:25,040 --> 00:43:26,290 Okay. 927 00:43:28,190 --> 00:43:32,580 Ho, jen mi ĵus komprenis nur iuj konsiloj pri kiel printi 928 00:43:32,580 --> 00:43:33,830 el valoroj. 929 00:43:36,330 --> 00:43:38,810 Do en via printf funkcio, ni kutime estis ĵus 930 00:43:38,810 --> 00:43:39,760 kontraktanta kun kordoj. 931 00:43:39,760 --> 00:43:43,290 Sed kiam vi volas presi an int aŭ simple ajna tipo de 932 00:43:43,290 --> 00:43:46,510 cifero, vi devas ia skribi ian lokon posedanto. 933 00:43:46,510 --> 00:43:50,840 Do ke ​​tio reprezentas la procentojn,% d por entjeroj. 934 00:43:50,840 --> 00:43:53,780 Vi skribas ke, tiam poste vi fakte - 935 00:43:53,780 --> 00:43:54,900 post komo - 936 00:43:54,900 --> 00:43:57,990 meti en kio valoro vere iras tien. 937 00:43:57,990 --> 00:43:58,510 Ĝuste. 938 00:43:58,510 --> 00:43:58,840 >> Okay. 939 00:43:58,840 --> 00:44:02,050 Do ni decidis ke ni volas kontroli ĉu - 940 00:44:02,050 --> 00:44:04,950 unu maniero fari ĉi estus senĉese kontroli ĉu 941 00:44:04,950 --> 00:44:08,640 ni povas ankoraŭ uzi kvaraj, kaj poste uzi la kazernoj, teni 942 00:44:08,640 --> 00:44:11,460 spuri, kaj poste movi al la venonta plej granda valoro. 943 00:44:11,460 --> 00:44:15,010 Nun alispeca neta ke vi povus fari tion estas 944 00:44:15,010 --> 00:44:16,770 uzante la operatoro module. 945 00:44:16,770 --> 00:44:22,710 Do ni jam havas la pli, minus, multipliki, kaj dividi 946 00:44:22,710 --> 00:44:23,560 disponebla al ni. 947 00:44:23,560 --> 00:44:25,600 Sed la module operatoro estas speco de neta. 948 00:44:25,600 --> 00:44:28,630 Kion faras estas ĝi reale revenas al vi la reston de 949 00:44:28,630 --> 00:44:31,750 dividanta du nombroj. 950 00:44:31,750 --> 00:44:34,680 Do, se vi memoras en longa divido kiam vi volus, diru, 951 00:44:34,680 --> 00:44:40,100 do 74 dividite per 3, vi skribus gxin, porti plus 952 00:44:40,100 --> 00:44:43,260 resti, kaj tiam fine la nombro je la fundo estas 953 00:44:43,260 --> 00:44:44,050 la restaĵo. 954 00:44:44,050 --> 00:44:47,120 Nu, kion module faras vere nur donas al vi tion. 955 00:44:47,120 --> 00:44:51,290 Do 74 module 3 donus vi 2. 956 00:44:51,290 --> 00:44:56,310 Simile, 10 module 2 donas vin 0 ĉar estas neniaj 957 00:44:56,310 --> 00:44:59,340 resto kiam vi dividas 10 por 2. 958 00:44:59,340 --> 00:45:03,940 6 module 5, bone 5 iras en 6 unu foje kaj poste 959 00:45:03,940 --> 00:45:05,900 ĝi 1 forlasis super. 960 00:45:05,900 --> 00:45:09,930 Tiam se vi havas 7 module 9, bone 9 estas pli granda ol 7. 961 00:45:09,930 --> 00:45:11,830 Do ĝi ne povas iri ajna alia foje. 962 00:45:11,830 --> 00:45:15,560 Do logike ke la reveno valoro estas 7. 963 00:45:15,560 --> 00:45:21,590 Do, se vi pensas pri module, kiel ĝi donas al vi la reston 964 00:45:21,590 --> 00:45:25,170 post vi dividas ion, vi povas ia vidi kiel vi 965 00:45:25,170 --> 00:45:27,490 eble povus uzi ĝin en Greedy, ĉu ne? 966 00:45:30,340 --> 00:45:34,170 Do se vi speco de kombini la module eble kun la divido 967 00:45:34,170 --> 00:45:36,410 operatoro, io simila, tiam vi eble havas cool 968 00:45:36,410 --> 00:45:38,870 speco de Mathy maniero alproksimigi la problemo aro. 969 00:45:44,010 --> 00:45:46,090 >> Do nun ni scias ke estas paro de malsamaj 970 00:45:46,090 --> 00:45:48,350 manieroj kiuj ni povus fari tion - estas definitive multan 971 00:45:48,350 --> 00:45:54,160 malsamaj manieroj eĉ skribi la dum cikloj. 972 00:45:54,160 --> 00:45:57,020 Do mi skribis kelkajn _pseudocode_ tie. 973 00:45:57,020 --> 00:46:01,760 Ĝi povus ne esti identa al la speco de skeleto de via 974 00:46:01,760 --> 00:46:02,460 kodo, kiun vi skribis. 975 00:46:02,460 --> 00:46:05,580 Sed esence, la procezo kaj la pensmaniero estas 976 00:46:05,580 --> 00:46:06,940 kiel ni diskutis. 977 00:46:06,940 --> 00:46:10,310 Do unue, la unua linio diras akiri certan 978 00:46:10,310 --> 00:46:12,490 en dolaroj. 979 00:46:12,490 --> 00:46:16,960 Kaj tiam implicita tie estas konverti ĝin al cendoj. 980 00:46:16,960 --> 00:46:20,540 Tiam dum kazernoj povas uzi, ni volas 981 00:46:20,540 --> 00:46:21,750 pliigi la grafo. 982 00:46:21,750 --> 00:46:24,360 Kaj poste ni volas malpliigi la kvanton, la valoro kiu 983 00:46:24,360 --> 00:46:25,300 ni reveni reen. 984 00:46:25,300 --> 00:46:28,170 Kiel vi vidas tie, ne estas sufiĉe C. Sed mi havas ankaŭ 985 00:46:28,170 --> 00:46:31,550 dentado aferoj, mi metis mian kondiĉoj ene de 986 00:46:31,550 --> 00:46:32,190 krampoj. 987 00:46:32,190 --> 00:46:34,370 >> Tial tia gets me komencis. 988 00:46:34,370 --> 00:46:36,620 Kaj tiam poste, mi povas nur serĉi la sintakso. 989 00:46:36,620 --> 00:46:40,230 Ofte la plej malfacila parto vere pri problemo estas 990 00:46:40,230 --> 00:46:41,860 komprenas kion ekzakte vi bezonas fari. 991 00:46:41,860 --> 00:46:44,610 Do iam vi skribas ke sube, tiam ĝi estas multe pli facile tiam 992 00:46:44,610 --> 00:46:45,810 traduki al _pseudocode_. 993 00:46:45,810 --> 00:46:49,340 Kaj tiam el _pseudocode_, sintakso venas bela facila. 994 00:46:49,340 --> 00:46:52,140 Do ni vidas dum kazernoj, povas esti uzata, pliigi grafo, 995 00:46:52,140 --> 00:46:53,220 malpliigi la kvanton. 996 00:46:53,220 --> 00:46:57,310 Dum dimes povas uzi, tiam vi stiri ĝin tiel plu kaj tiel 997 00:46:57,310 --> 00:47:00,670 reen, ĝis vi elĉerpita ĉiuj viaj moneroj. 998 00:47:00,670 --> 00:47:03,410 Vi presi la nombro de moneroj uzataj, kiuj estos la 999 00:47:03,410 --> 00:47:06,620 minimuma kvanto por ke la uzanto inputted valoro. 1000 00:47:06,620 --> 00:47:09,370 Kaj tie vi havas vian Greedy algoritmo. 1001 00:47:09,370 --> 00:47:13,960 Kaj tiam kiam vi finos tion, vi ankaux finis pset 0. 1002 00:47:13,960 --> 00:47:16,155 >> Ĉu iu havas demandojn pri io? 1003 00:47:19,420 --> 00:47:19,780 Bone. 1004 00:47:19,780 --> 00:47:22,900 Nu, mi batos ĉirkaŭrigardis por iom post se vi havas 1005 00:47:22,900 --> 00:47:23,970 demandojn. 1006 00:47:23,970 --> 00:47:24,940 Tio estis walkthrough 1. 1007 00:47:24,940 --> 00:47:26,190 Dankon pro veni.