1 00:00:00,000 --> 00:00:03,290 >> [MUZIKO Ludante] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 JASON Hirschhorn: OK, ĉiuj. 4 00:00:06,280 --> 00:00:07,460 Bonvenon Sekcio. 5 00:00:07,460 --> 00:00:10,840 Jen CS50, nia tre unua super sekcio. 6 00:00:10,840 --> 00:00:13,700 Kiel vi ĉiuj scias, la proksima semajno regulajn sekciojn komencos, 7 00:00:13,700 --> 00:00:15,580 sed tiu semajno ni ĉiuj kune. 8 00:00:15,580 --> 00:00:17,730 >> Estas mi. 9 00:00:17,730 --> 00:00:18,840 Mia nomo estas Jason. 10 00:00:18,840 --> 00:00:20,630 Mi estas lekciisto en Komputila Scienco. 11 00:00:20,630 --> 00:00:23,910 Ni havas Andi, kiu estas la kapo TA de CS50. 12 00:00:23,910 --> 00:00:27,630 Kaj Scaz, Profesoro Brian Scassellati, Li estas profesoro en Komputado. 13 00:00:27,630 --> 00:00:30,970 >> Ni estas la CS50 kapoj ĉe Yale. 14 00:00:30,970 --> 00:00:34,992 Vi povas ĉiam retpoŝti ni heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Ni estos je prelegoj. 16 00:00:35,950 --> 00:00:37,547 Ni estos ĉe oficejo horoj. 17 00:00:37,547 --> 00:00:40,130 Se tie estas iam ajn ni povas faru por vi, ion vi bezonas, 18 00:00:40,130 --> 00:00:42,610 bonvolu alveni al ni. 19 00:00:42,610 --> 00:00:44,140 >> Do kion ni faros hodiaŭ? 20 00:00:44,140 --> 00:00:47,790 Aŭ antaŭ tiam, kio estas venas supren ĉi semajno? 21 00:00:47,790 --> 00:00:52,620 Do oficejo horoj estas lundo, mardo, Merkredo, kaj ĵaŭdo, 8:00 al 11:00. 22 00:00:52,620 --> 00:00:54,770 Tie estas horaro sur la retejo. 23 00:00:54,770 --> 00:00:57,830 >> Sekcioj, kiel mi menciis, estas komencantaj sekvantan semajnon. 24 00:00:57,830 --> 00:01:01,390 Kaj vi ekscios tiu semajno kio tempo via sekcio estas, kiu tago estas, 25 00:01:01,390 --> 00:01:03,350 kaj kiu via TA estas. 26 00:01:03,350 --> 00:01:08,610 >> Problemo Serio 1 estas devita ĉe ĵaŭdo ĉe tagmezo vendrede tagmeze kun malfrua tago. 27 00:01:08,610 --> 00:01:10,817 Jes, vi havas naŭ malfrue tagoj. 28 00:01:10,817 --> 00:01:12,150 Kaj estas naŭ problemo aroj. 29 00:01:12,150 --> 00:01:14,320 Kaj povas nur uzi unu malfrua tago po problemo aro. 30 00:01:14,320 --> 00:01:17,930 Jes, en efekto, ĉiu problemo aroj devas vendredo tagmeze. 31 00:01:17,930 --> 00:01:18,550 Tio estas ĉio. 32 00:01:18,550 --> 00:01:20,400 Ĉiuj ke detaloj estas sur la syllabus. 33 00:01:20,400 --> 00:01:22,360 >> Ĉiun vendredon, ni havas lunĉoj. 34 00:01:22,360 --> 00:01:25,230 Ni ŝatas fari ĉi granda Kompreneble sentas iom pli malgranda. 35 00:01:25,230 --> 00:01:26,580 Do vi estas bonvena al RSVP. 36 00:01:26,580 --> 00:01:30,050 Libera lunĉo kun ulo samklasanoj kaj kunlaborantaro. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Ĉiuj de ĉi tiuj aferoj Mi havas sur la ekrano, 39 00:01:36,940 --> 00:01:43,330 kaj pli, vi povas trovi cs50.yale.edu aŭ cs50.harvard.edu, se vi iras al Harvard 40 00:01:43,330 --> 00:01:46,800 kaj spektas tiu linio. 41 00:01:46,800 --> 00:01:50,240 >> Ankaŭ sur tiuj retejoj, tie estas barelon da rimedoj por vi. 42 00:01:50,240 --> 00:01:54,610 Ĉiu prelego ne nur havas la vídeo de la prelego, sed ankaŭ notas. 43 00:01:54,610 --> 00:01:58,184 Iu viglos la prelegi kaj preni notojn por vi. 44 00:01:58,184 --> 00:02:00,100 Do vi povas simple pagi atenton dum prelegoj, 45 00:02:00,100 --> 00:02:03,970 aŭ vi povas uzi siajn notojn / nia notas al suplemento via propra notoj. 46 00:02:03,970 --> 00:02:04,987 >> Ekzistas diapozitivoj rete. 47 00:02:04,987 --> 00:02:07,320 La fonto code-- ĉio David iras super en prelego, 48 00:02:07,320 --> 00:02:09,979 aŭ Scaz iras super prelego, ke fontkodo estas havebla rete 49 00:02:09,979 --> 00:02:11,750 tiel, kiel kiel mi, menciita filmetoj. 50 00:02:11,750 --> 00:02:14,257 >> Sekcioj, same, ĉiuj estos filmado. 51 00:02:14,257 --> 00:02:15,840 Ĉiuj el tiuj diapozitivoj estos disponebla. 52 00:02:15,840 --> 00:02:18,190 Ĉiuj de tiu kodo estos disponebla por vi. 53 00:02:18,190 --> 00:02:22,440 Ekzistas mallongaj sur la retejo kie CS50 bastonon membroj pasigas kvin 10 54 00:02:22,440 --> 00:02:24,130 minutoj iranta tra temoj por vi. 55 00:02:24,130 --> 00:02:26,750 Iuj el tiuj vi jam renkontis en problemo aroj. 56 00:02:26,750 --> 00:02:30,430 >> Oficejo horoj, kiel mi menciis, la lundon tra ĵaŭdo, 8:00 al 11:00. 57 00:02:30,430 --> 00:02:32,600 CS50 Studo estas fantazia rimedo. 58 00:02:32,600 --> 00:02:37,100 Estas praktiko problemoj, specimeno diapozitivoj, konataj cimoj 59 00:02:37,100 --> 00:02:40,920 ke studentoj ŝatas kolizii, por esence ĉiu temo ni 60 00:02:40,920 --> 00:02:42,650 kovros en tiu kurso. 61 00:02:42,650 --> 00:02:46,350 >> Kaj fine, en ĉi tiu bildo almenaŭ, Reference50 62 00:02:46,350 --> 00:02:49,690 kiu donas al vi informojn sur ĉiuj de la C funkcioj 63 00:02:49,690 --> 00:02:53,160 vi povus iam eble esperas uzi kaj multaj, multaj pli. 64 00:02:53,160 --> 00:02:55,690 >> Denove, tio dot dot dot ĉe la fundo de la ekrano 65 00:02:55,690 --> 00:02:59,990 estas por indiki ke ekzistas eĉ pli rimedoj sur tiuj du retejoj: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Do, kion ni faras hodiaŭ? 68 00:03:05,840 --> 00:03:08,970 Nu, unue mi tuj donos vi rigardas la rimedoj. 69 00:03:08,970 --> 00:03:10,010 Jam faris tiu. 70 00:03:10,010 --> 00:03:11,590 Rigardu nin. 71 00:03:11,590 --> 00:03:16,430 >> Nun, ni tuj iru super datumtipoj kaj operatoroj en C. 72 00:03:16,430 --> 00:03:19,990 Tiam Andi iros tien kaj transiru bibliotekoj en C, printf (), 73 00:03:19,990 --> 00:03:24,570 funkcio kun kiu vi estas jam familiara aŭ estos rapide fariĝis tre 74 00:03:24,570 --> 00:03:25,530 familiara. 75 00:03:25,530 --> 00:03:27,810 Kaj vi ankaŭ transiru Conditionals kaj maŝojn. 76 00:03:27,810 --> 00:03:30,900 >> Kaj poste fine, Scaz transiros la CS50 ID. 77 00:03:30,900 --> 00:03:34,250 Se vi ne kolombon en jam en Problemo Serio 1, 78 00:03:34,250 --> 00:03:37,060 tiel kiel kiel uzi la terminalo kaj utilaj komandoj 79 00:03:37,060 --> 00:03:42,280 kaj donu al vi kelkajn demonstraĵojn kaj praktiko kodigon en la CS50 ID. 80 00:03:42,280 --> 00:03:45,130 >> Antaŭ mi saltu en ĉi enhavo sur tiu flanko, 81 00:03:45,130 --> 00:03:46,770 Ĉu iu havas demandojn ĝis nun? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Granda. 84 00:03:54,030 --> 00:03:54,950 BONE. 85 00:03:54,950 --> 00:03:55,810 Ŝanĝi dentaĵoj. 86 00:03:55,810 --> 00:03:58,760 >> [Changing Gears] 87 00:03:58,760 --> 00:04:03,070 >> Tio estis mi sxangxigxantaj dentaĵoj en manlibro aŭton. 88 00:04:03,070 --> 00:04:10,920 Do datumtipoj en C, oni povas ne nur devas variablon x kaj havas ĝin esti sur linio 10, 89 00:04:10,920 --> 00:04:17,170 entjero, eble la nombro 1, sur linio 20, du ciferoj 10.5, 90 00:04:17,170 --> 00:04:20,500 poste kelkajn liniojn poste cxeno, mi amas CS50. 91 00:04:20,500 --> 00:04:25,052 >> En C, variabloj povas esti nur ion kaj unu afero sola. 92 00:04:25,052 --> 00:04:26,510 Kaj tial vi devas doni al ili tipoj. 93 00:04:26,510 --> 00:04:28,780 Kaj sur tiu tabulo, ni havas liston de tipoj. 94 00:04:28,780 --> 00:04:32,000 Ekzistas signoj, kiuj stari por karakteroj. 95 00:04:32,000 --> 00:04:36,850 Do jen unu litero A, B, C, D. Tio povas ankaŭ esti interspaco, 96 00:04:36,850 --> 00:04:40,290 aŭ kiu povas ankaŭ esti nova linio karaktero. 97 00:04:40,290 --> 00:04:45,030 >> Tie estas entjeroj, kiuj estas nur nombroj, tutaj numbers-- aŭ entjeroj 98 00:04:45,030 --> 00:04:47,130 rather-- sed neniu glitpunktaj. 99 00:04:47,130 --> 00:04:49,790 >> Por glitpunktaj, ni havas glitpunktaj nombroj. 100 00:04:49,790 --> 00:04:53,200 Glitpunktaj nombroj estas nombroj kun decimalaj. 101 00:04:53,200 --> 00:04:58,160 >> Tiam estas sopiras, kiuj estas esence pli longa entjeroj. 102 00:04:58,160 --> 00:05:01,160 Vi rimarkos ke longa Estas 8 dum int estas 4. 103 00:05:01,160 --> 00:05:02,640 Mi ricevos por ke en dua. 104 00:05:02,640 --> 00:05:07,390 Tio estas ĉar sopiras povas enteni eĉ pli ol entjeroj int povas stoki. 105 00:05:07,390 --> 00:05:10,100 Duobla estas longa kaleŝego. 106 00:05:10,100 --> 00:05:12,460 >> Kaj fine, ni havas kordo, kiu estas tipo 107 00:05:12,460 --> 00:05:14,430 ke vi verŝajne uzita antaŭe. 108 00:05:14,430 --> 00:05:21,100 Se vi inkludas hashtag # includeCS50.h en via fontdosieron, 109 00:05:21,100 --> 00:05:23,170 Tiam vi povas uzi kordo tipo. 110 00:05:23,170 --> 00:05:25,560 Ĝi ne estas fakte konstruita en C. 111 00:05:25,560 --> 00:05:27,760 >> Estas paro aliaj tipoj ankaŭ. 112 00:05:27,760 --> 00:05:32,900 Sed jen estas la ĉefa ones kun kiun vi uzos kaj renkontas. 113 00:05:32,900 --> 00:05:36,210 C kiel, cetere mi menciis, ĉiun variable-- ĝi 114 00:05:36,210 --> 00:05:38,620 povas esti nur unu tipo kaj tipo nur. 115 00:05:38,620 --> 00:05:42,890 Tio estas ĉar C estas statike tajpitaj lingvo, kontraste 116 00:05:42,890 --> 00:05:45,780 dinamike tajpita lingvoj kie se vi kreas variablo 117 00:05:45,780 --> 00:05:50,081 vi povas ŝanĝi kio stokitaj en kiel vi irados laux via programo. 118 00:05:50,081 --> 00:05:52,580 Super tie dekstre flanko, mi havas la malsamajn grandecojn 119 00:05:52,580 --> 00:05:57,440 de tiuj tipoj de datumoj en bajtoj. 120 00:05:57,440 --> 00:05:59,710 Do karaktero estas 1 bajto. 121 00:05:59,710 --> 00:06:01,250 Jen 8 bitoj. 122 00:06:01,250 --> 00:06:05,530 Kaj tio signifas ke 8 bitoj ekzistas ok _0s_ kaj _1s_. 123 00:06:05,530 --> 00:06:08,280 Ni vidis tiujn demonstraĵojn en la unua semajno kun tiu duuma bulboj. 124 00:06:08,280 --> 00:06:15,680 >> Kun 8 bitoj aŭ 1 bajto, ni povas reprezenti nombrojn de 0 al 255. 125 00:06:15,680 --> 00:06:16,180 Dekstra. 126 00:06:16,180 --> 00:06:18,770 Se ĉiuj 8 bitoj 0 jen 0. 127 00:06:18,770 --> 00:06:23,640 Se la unua bito estas 1, tio estas la nombro unu, kaj tiel plu, la tutan vojon ĝis 255. 128 00:06:23,640 --> 00:06:28,290 Kaj tial por karakterojn vi povas havas esence ĝis 255 el ili, 129 00:06:28,290 --> 00:06:31,210 sed tio estas multe por kovri ĉiujn la karakteroj ni bezonas uzi. 130 00:06:31,210 --> 00:06:38,060 >> Por entjeroj, vi povas havi 0 kaj tiam vi havas 2 al la 32 minus 1. 131 00:06:38,060 --> 00:06:40,340 Tiuj estas kiom da opcioj vi havas por entjeroj. 132 00:06:40,340 --> 00:06:44,780 >> Dum longa, vi devos 0 al 2 al la 64 minus 1. 133 00:06:44,780 --> 00:06:48,860 Do vi havas multaj, multaj, pli ebloj por sopiras. 134 00:06:48,860 --> 00:06:54,220 >> Kordoj, jen demandosigno ĉar tio estas cliffhanger por poste. 135 00:06:54,220 --> 00:06:55,000 Yeah. 136 00:06:55,000 --> 00:06:56,350 Mi povus diri ĉies rande de sia sidloko, 137 00:06:56,350 --> 00:06:57,450 kiel kio estas tiu demandosigno? 138 00:06:57,450 --> 00:06:58,390 Ĝi estas cliffhanger. 139 00:06:58,390 --> 00:07:02,340 Ni eventuale kovri la grandeco de kordoj kaj paroli pli pri kordoj. 140 00:07:02,340 --> 00:07:04,692 Ĉar string estas reale unu el la trejnaj radoj 141 00:07:04,692 --> 00:07:06,400 ni surmetis en ĉi Kompreneble komence 142 00:07:06,400 --> 00:07:09,700 kaj tiam demeti poste sur, ĉar kordoj en C 143 00:07:09,700 --> 00:07:13,320 estas reale punteros character tabeloj. 144 00:07:13,320 --> 00:07:15,810 Sed denove, tio estas cliffhanger por poste. 145 00:07:15,810 --> 00:07:18,890 Antaŭ mi pluiru demandojn, komentoj, zorgojn pri tiu diapozitivo? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> BONE. 148 00:07:26,630 --> 00:07:30,330 Mi devas esti fantazia explainer. 149 00:07:30,330 --> 00:07:33,210 Ankaŭ kiam vi programado, vi tuj uzas tiujn telefonistojn. 150 00:07:33,210 --> 00:07:36,730 Vere simpla signoj kiuj povas fari simplajn operacioj, kun kiu vi estas probable 151 00:07:36,730 --> 00:07:38,340 jam tre konata. 152 00:07:38,340 --> 00:07:42,580 >> Ekzemple, sur la dekstra flanko, ni vidas aldoni. 153 00:07:42,580 --> 00:07:44,640 Aldoni, vi simple fari Plus signo. 154 00:07:44,640 --> 00:07:46,850 Kaj tial vi havu du variabloj x kaj y. 155 00:07:46,850 --> 00:07:48,810 Vi povas fari x + y en via kodo. 156 00:07:48,810 --> 00:07:52,790 Eble vi volas diri to-- vi havas la numeron 7 kaj 3, 157 00:07:52,790 --> 00:07:55,780 vi volas konservi ke en variablo nomata sumo. 158 00:07:55,780 --> 00:08:03,010 Vi povas fari int por la tipo, spaco sumo, la nomo de la variablo, = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Kion farus tiu vendejo en sumo? 160 00:08:05,780 --> 00:08:07,190 Iu ajn? 161 00:08:07,190 --> 00:08:09,270 Se mi havus en sumo = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Kio estus stokitaj en sumo? 163 00:08:10,437 --> 00:08:11,520 Vi povas simple krii ĝin. 164 00:08:11,520 --> 00:08:12,120 Publiko: 10. 165 00:08:12,120 --> 00:08:12,995 >> JASON Hirschhorn: 10! 166 00:08:12,995 --> 00:08:14,870 Tio estas ekzakte pravas. 167 00:08:14,870 --> 00:08:19,520 Kio pri en sumo = 7 - 3, Mi nur uzas tiun haltostreko signo. 168 00:08:19,520 --> 00:08:20,871 Kio tuj estos stokitaj? 169 00:08:20,871 --> 00:08:21,370 Publiko: 4. 170 00:08:21,370 --> 00:08:22,203 JASON Hirschhorn: 4. 171 00:08:22,203 --> 00:08:25,770 Sumo estas probable la malĝusta nomo por ke variablo, sed 4 estus stokitaj. 172 00:08:25,770 --> 00:08:31,890 >> Multobligi en C, uzu la eta Stelo rolanto vi ne uzas x. 173 00:08:31,890 --> 00:08:35,990 Dividi, uzu Antaŭen Slash ne la divido simbolo. 174 00:08:35,990 --> 00:08:39,580 Kaj al module, uzi la Elcento simbolo. 175 00:08:39,580 --> 00:08:47,900 >> Do diru mi volas vidi int z = 7% 3, kio estus stokitaj en z? 176 00:08:47,900 --> 00:08:51,250 Do, jen esence demandante kion module fari? 177 00:08:51,250 --> 00:08:52,750 Ĉu iu scias kio module faras? 178 00:08:52,750 --> 00:08:53,940 Yeah. 179 00:08:53,940 --> 00:08:54,870 y 4. 180 00:08:54,870 --> 00:08:56,120 Parolanto 1: Ĝi estas la cetero. 181 00:08:56,120 --> 00:08:58,369 JASON Hirschhorn: Estas la reston kiam vi dividas. 182 00:08:58,369 --> 00:09:02,790 Do 7 dividita per 3 estas 2 resto 1. 183 00:09:02,790 --> 00:09:04,690 Do 1 estus stokitaj. 184 00:09:04,690 --> 00:09:06,970 >> Vi faris subtraho, sed jen kiel ĝi funkcias. 185 00:09:06,970 --> 00:09:09,140 Tion la module operatoro faras. 186 00:09:09,140 --> 00:09:12,360 Ĝi prenas kelkajn dividas ĝin alia nombro kaj revenas al vi 187 00:09:12,360 --> 00:09:14,590 la cetero. 188 00:09:14,590 --> 00:09:19,770 Do denove, 7% 3 donas 1, ĉar 7 dividita per 3 estas 2 resto 1, 189 00:09:19,770 --> 00:09:21,650 kaj redonas la reston. 190 00:09:21,650 --> 00:09:24,470 >> Kio pri ni revenu supren unu paŝo al tiu divido signo. 191 00:09:24,470 --> 00:09:29,194 Se mi faris 7 / dividite per 3 faras neniu scias kion tio revenus? 192 00:09:29,194 --> 00:09:30,090 >> Parolanto 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> JASON Hirschhorn: Kial 2 kaj ne 2,333? 194 00:09:32,240 --> 00:09:34,560 >> Parolanto 2: Mi pensas mallonga ekstere post la tuta nombro. 195 00:09:34,560 --> 00:09:36,310 JASON Hirschhorn: Do tio estas ĝuste dekstre. 196 00:09:36,310 --> 00:09:39,880 En C, se vi faras dividon de du entjeroj 7 dividite per 3, 197 00:09:39,880 --> 00:09:43,430 ĝi ricevas la respondon kiun tiukaze 2,3333 ĉiam 198 00:09:43,430 --> 00:09:47,080 kaj ĝi ekscias ke dekuma punkto kaj hakas ĉio ekstere post la dekuma 199 00:09:47,080 --> 00:09:49,240 kaj ĝi nur revenas vin 2. 200 00:09:49,240 --> 00:09:51,120 >> Do se mi faris 8 dividita per 3. 201 00:09:51,120 --> 00:09:54,010 Tio vere, ni scias ke reveni 2,666, 202 00:09:54,010 --> 00:09:57,050 sed hakas ĉio for ĉe la dekuma, detranĉas ĉion, 203 00:09:57,050 --> 00:09:58,640 kaj ĝuste redonas al vi 2. 204 00:09:58,640 --> 00:10:02,090 Do 6 dividita per 3, 7 dividita per 3, 8 dividite per 3, 205 00:10:02,090 --> 00:10:04,840 estas ĉiuj tuj revenos al vi 2. 206 00:10:04,840 --> 00:10:08,770 >> Ĉu iu scias, aŭ havas konjekton, rilate kiel mi povis reale preni 207 00:10:08,770 --> 00:10:10,790 la plena respondo se mi volas ke dekuma? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Yeah. 210 00:10:13,620 --> 00:10:14,152 Antaŭen. 211 00:10:14,152 --> 00:10:15,110 Parolanto 3: Uzu kaleŝego? 212 00:10:15,110 --> 00:10:16,942 JASON Hirschhorn: Kion vi volas diri? 213 00:10:16,942 --> 00:10:19,786 Parolanto 3: Ĉar vi diris la kaleŝego estas por nombroj [inaudible] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 JASON Hirschhorn: Dekstra. 216 00:10:23,900 --> 00:10:26,100 Do, tio estas ĝuste dekstre. 217 00:10:26,100 --> 00:10:28,440 7 estas entjero. 218 00:10:28,440 --> 00:10:31,690 Sed se mi volis igi tiun en glitpunkta nombro, 219 00:10:31,690 --> 00:10:34,674 Mi devus stoki ke kiel 7.0 ĉar la komputilo 220 00:10:34,674 --> 00:10:37,090 Estas vere stupid-- ni vidis, ke kun la PB kaj J example-- 221 00:10:37,090 --> 00:10:38,930 ĝi nur faros precize kion vi diros ĝin. 222 00:10:38,930 --> 00:10:40,846 >> Do se vi skribus 7, ĝi pensas, estas entjero. 223 00:10:40,846 --> 00:10:43,640 Se vi skribas 7.0, kvankam ni scias tion estas ekvivalentaj, 224 00:10:43,640 --> 00:10:45,550 ĝi traktas ke kiel Reela nombro. 225 00:10:45,550 --> 00:10:50,441 Do se vi faris 7.0 dividita per 3, aŭ dividita per 3.0, 226 00:10:50,441 --> 00:10:52,440 ĝi dirus, okej, nun ni pritraktas kaleŝegoj. 227 00:10:52,440 --> 00:10:57,514 Mi revenos al vi 2.333333 ĉiam. 228 00:10:57,514 --> 00:10:59,930 Sed ne vere ĉiam, ĉar kiel ni vidis ankaŭ en prelego, 229 00:10:59,930 --> 00:11:03,350 tiujn glitpunktaj nombroj ne estas ĝuste precizaj. 230 00:11:03,350 --> 00:11:05,940 >> Do se vi volas ke decimala, aŭ parto de tiu dekuma, 231 00:11:05,940 --> 00:11:08,090 tiam vi devas use-- unu el ili Devas esti glitpunkta nombro 232 00:11:08,090 --> 00:11:11,048 kaj la komputilo devas kompreni ke tiu estas glitpunkta vi estas 233 00:11:11,048 --> 00:11:13,350 pritraktas, ne estas entjero. 234 00:11:13,350 --> 00:11:16,760 Demandojn sur tiu tablo la dekstra flanko, ĝis nun? 235 00:11:16,760 --> 00:11:22,650 Aŭ via maldekstra flanko, via maldekstra, maldekstre flanko. 236 00:11:22,650 --> 00:11:23,264 Yeah. 237 00:11:23,264 --> 00:11:23,972 Parolanto 4: Dekstra. 238 00:11:23,972 --> 00:11:26,216 Por ĝuste kiel regula entjeroj, vi farus 239 00:11:26,216 --> 00:11:30,230 write-- vi devas skribi flosi? 240 00:11:30,230 --> 00:11:31,920 >> JASON Hirschhorn: Jes tiel. 241 00:11:31,920 --> 00:11:34,400 Nu, se vi volas krei ŝanĝiĝema jen kaleŝego, 242 00:11:34,400 --> 00:11:37,020 vi devas diri kaleŝego z egalas ion. 243 00:11:37,020 --> 00:11:37,640 >> Parolanto 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> JASON Hirschhorn: Sed se mi volus faru 7 dividita per 3 kaj kunprenu tiun dekuma, 245 00:11:41,950 --> 00:11:48,540 Mi farus kaleŝego z = 7.0 / por 3.0; kaj kiu donus al mi la Flosanta punkto 246 00:11:48,540 --> 00:11:49,273 numeron. 247 00:11:49,273 --> 00:11:50,000 >> Parolanto 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> JASON Hirschhorn: Se mi faris io kiel int z = 7 / per 3, 249 00:11:56,370 --> 00:12:00,856 kiu donus al mi entjero, ĉar tiuj estas ĉiuj entjeroj. 250 00:12:00,856 --> 00:12:01,730 Ĉu tio havas sencon? 251 00:12:01,730 --> 00:12:02,320 >> Parolanto 4: Jes. 252 00:12:02,320 --> 00:12:02,950 >> JASON Hirschhorn: OK. 253 00:12:02,950 --> 00:12:03,450 Granda. 254 00:12:03,450 --> 00:12:06,030 Aliajn demandojn pri tiu tablo? 255 00:12:06,030 --> 00:12:07,220 Vere? 256 00:12:07,220 --> 00:12:08,380 Mi estas tiom ekscitita. 257 00:12:08,380 --> 00:12:09,120 BONE. 258 00:12:09,120 --> 00:12:13,910 >> Do iuj aliaj aĵoj vi uzos, ofte en kondiĉoj aŭ bantoj, 259 00:12:13,910 --> 00:12:17,580 jenaj tipoj de operators-- tiuj tipoj de Buleaj esprimoj. 260 00:12:17,580 --> 00:12:23,140 Kaj kiel ni lernis, == estas kion vi uzi por kontroli ĉu du aĵoj estas egalaj. 261 00:12:23,140 --> 00:12:28,170 >> Do jen mi kontrolas se x == y, ni denove supozas ke x estas 7 kaj y estas 3. 262 00:12:28,170 --> 00:12:33,220 Do se mi skribis 7 == 3, kio estus ke revenos al mi? 263 00:12:33,220 --> 00:12:34,220 Ĉu tio estas vero aŭ falsa? 264 00:12:34,220 --> 00:12:35,275 >> Publiko: Falsa. 265 00:12:35,275 --> 00:12:36,150 JASON Hirschhorn: OK. 266 00:12:36,150 --> 00:12:37,370 Mi sentas kiel ĉiuj povas akiri ĉi tiu. 267 00:12:37,370 --> 00:12:39,054 Do ĉiuj, Kio volus ke revenos? 268 00:12:39,054 --> 00:12:39,720 Publiko: Falsa. 269 00:12:39,720 --> 00:12:40,130 JASON Hirschhorn: Falsa. 270 00:12:40,130 --> 00:12:40,850 Granda. 271 00:12:40,850 --> 00:12:41,930 7 ne egala 3. 272 00:12:41,930 --> 00:12:44,530 Do 7 == 3 revenus falsaj. 273 00:12:44,530 --> 00:12:50,746 Vi havas ne egalsigno, do se mi Kontrolis 7! = 3, kio estus ke revenos? 274 00:12:50,746 --> 00:12:51,370 Publiko: True. 275 00:12:51,370 --> 00:12:52,650 JASON Hirschhorn: Vere. 276 00:12:52,650 --> 00:12:53,200 Bonege. 277 00:12:53,200 --> 00:12:55,990 Iu tre emfaza en la dorso kaj aprezi tion. 278 00:12:55,990 --> 00:12:59,070 Tiam vi havas malpli ol operatoro, malpli ol aŭ egala al operatoro, 279 00:12:59,070 --> 00:13:01,990 granda ol operatoro, pli granda ol aŭ egala al operatoro. 280 00:13:01,990 --> 00:13:03,490 >> Do unu pli prudento ĉeko. 281 00:13:03,490 --> 00:13:05,660 Se mi havis 7 estas pli granda ol aŭ egala al 3. 282 00:13:05,660 --> 00:13:06,966 Kio estus ke revenos? 283 00:13:06,966 --> 00:13:07,692 >> Publiko: True. 284 00:13:07,692 --> 00:13:08,650 JASON Hirschhorn: Vere. 285 00:13:08,650 --> 00:13:10,050 Jes. 286 00:13:10,050 --> 00:13:13,290 Ke malantaŭan ĉambron, malantaŭa flanko de la ĉambro, fantazia. 287 00:13:13,290 --> 00:13:16,240 Vi povas kombini tiujn esprimoj se vi ŝatas, tiel, 288 00:13:16,240 --> 00:13:21,880 kun logika KAJ kiu estas && Aŭ logika AŬ kiu estas || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 Kaj do nun vi povas elprovi du aferojn together-- Ĉu tio amuza? 291 00:13:25,785 --> 00:13:28,250 Kial estas tiu stranga? 292 00:13:28,250 --> 00:13:35,200 >> Do se mi volus, mi povas diri estas 7 pli granda ol 3 kaj 2 estas malpli ol 4? 293 00:13:35,200 --> 00:13:37,090 Nu, se 7 estas pli granda ol 3, tio estas vera. 294 00:13:37,090 --> 00:13:38,400 2 estas malpli ol 4, tio estas vera. 295 00:13:38,400 --> 00:13:41,140 Do tiu tuta afero revenus vera. 296 00:13:41,140 --> 00:13:45,130 >> Se mi testis 7 estas pli granda ol 3 kaj-- Mi nur pluki hazardaj nombroj here-- 297 00:13:45,130 --> 00:13:47,340 4 estas malpli ol 2, nu, tio estas malvera. 298 00:13:47,340 --> 00:13:49,610 Tiel vera kaj falsa konsiston falsaj. 299 00:13:49,610 --> 00:13:54,520 Kaj vi povas okaz kaj vi kombini kiel multaj kondiĉoj kune kiel vi ŝatus. 300 00:13:54,520 --> 00:14:00,000 >> Ĉu iu havas demandojn, komentoj, konzernoj ĝis nun? 301 00:14:00,000 --> 00:14:03,862 Kaj mi vidas iu el vi prenante bildoj de mi en la ekrano, kiun mi dankas. 302 00:14:03,862 --> 00:14:05,070 Espereble, ĝi ne Snapchat. 303 00:14:05,070 --> 00:14:06,417 Espereble, ĝi estas por viaj notoj. 304 00:14:06,417 --> 00:14:08,500 Sed ĉiuj tiuj estas irantaj esti havebla enreta. 305 00:14:08,500 --> 00:14:11,210 Do vi ne devas preni bildojn de tiu. 306 00:14:11,210 --> 00:14:15,150 Kiel mi menciis, ĉiu Estos disponebla online por vi. 307 00:14:15,150 --> 00:14:15,650 BONE. 308 00:14:15,650 --> 00:14:17,980 Mi estas proksimume akiri private, same faras neniun 309 00:14:17,980 --> 00:14:20,350 volas diri ion antaŭ tio okazas? 310 00:14:20,350 --> 00:14:21,080 Demandoj? 311 00:14:21,080 --> 00:14:21,680 >> [Intermetante VOĈOJ] 312 00:14:21,680 --> 00:14:22,250 >> JASON Hirschhorn: Ho silentu. 313 00:14:22,250 --> 00:14:23,290 Vi uloj estas tro bela. 314 00:14:23,290 --> 00:14:23,790 BONE. 315 00:14:23,790 --> 00:14:26,520 Mi tuj etikedi eksteren. 316 00:14:26,520 --> 00:14:27,240 Ni iru. 317 00:14:27,240 --> 00:14:29,570 >> ANDI PENG: Ni iras fari maloportuna mic ŝanĝo nun. 318 00:14:29,570 --> 00:14:32,280 >> JASON Hirschhorn: Mi estas tuj prenos ĉi ekstere. 319 00:14:32,280 --> 00:14:33,946 ANDI PENG: Taksi la apogon, knaboj. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Ĉu vi povas aŭdi min? 322 00:14:43,180 --> 00:14:43,930 Ĉu tio estas bona? 323 00:14:43,930 --> 00:14:44,760 Perfekta. 324 00:14:44,760 --> 00:14:45,630 Bela. 325 00:14:45,630 --> 00:14:47,490 Lasu min nur Tuck ke en. 326 00:14:47,490 --> 00:14:49,100 BONE. 327 00:14:49,100 --> 00:14:54,140 Do, mi estas faronta kiel giganto informo dump sur vin uloj aktuale. 328 00:14:54,140 --> 00:14:57,370 Kaj neniu maltrankviligas ajn se vi estas Ne sekvante ĉiun malgrandan linion de kion 329 00:14:57,370 --> 00:14:58,812 Mi volis montri al vi. 330 00:14:58,812 --> 00:15:00,770 Kiel Jason diris, ĉiu estas tute en linio. 331 00:15:00,770 --> 00:15:03,780 Nur ni tuj provos enkonduki ĉiuj la konceptoj kovrita 332 00:15:03,780 --> 00:15:05,270 en iuj el tiuj diapozitivoj. 333 00:15:05,270 --> 00:15:06,582 Do nur sekvi kune. 334 00:15:06,582 --> 00:15:09,540 Neniu ĉagrenoj se vi ne komprenas ĉio; Tamen, se en iu punkto 335 00:15:09,540 --> 00:15:12,820 vi sentas perdita, levu mano, ni haltos, sen ĉagrenoj. 336 00:15:12,820 --> 00:15:15,060 Malvarmeta. 337 00:15:15,060 --> 00:15:19,270 >> Do mi opinias ke io Davido havas jam ia menciita en prelego 338 00:15:19,270 --> 00:15:23,240 ilin Jason ia aludis al hodiaŭ do biblioteko estas. 339 00:15:23,240 --> 00:15:27,510 Do en programado, ni havas tion nomis bibliotekoj. 340 00:15:27,510 --> 00:15:29,690 Kie, esence, ĉiuj ili estas nur aro 341 00:15:29,690 --> 00:15:32,610 de funkcioj, kiuj estas esence nur kodo kiu estas 342 00:15:32,610 --> 00:15:35,070 jam verkis iu alia ke ni povas ĉiuj 343 00:15:35,070 --> 00:15:36,410 uzi ene niaj programoj. 344 00:15:36,410 --> 00:15:38,790 >> Do kiel faras normalan biblioteko laboro, ĉu ne? 345 00:15:38,790 --> 00:15:40,030 Vi eniras la bibliotekon pordo. 346 00:15:40,030 --> 00:15:41,890 Vi havas ĉiujn tiujn libroj oni povas tiri el 347 00:15:41,890 --> 00:15:44,590 kaj vi povas aliri informojn ene de tiuj libroj. 348 00:15:44,590 --> 00:15:45,840 Sama afero en programado. 349 00:15:45,840 --> 00:15:48,820 >> Vi havas bibliotekon kiu havas jam estis skribita de aliaj personoj. 350 00:15:48,820 --> 00:15:51,530 Kaj la vojo ke vi povas, kiel programisto aŭ studento, 351 00:15:51,530 --> 00:15:55,780 povas konsenti ke biblioteko Estas tra hashtag #include. 352 00:15:55,780 --> 00:15:59,720 >> Ekzemple, en C ni havas tri C-- la plej 353 00:15:59,720 --> 00:16:03,420 komune uzata tri C-normo bibliotekoj la enigo / eligo biblioteko, 354 00:16:03,420 --> 00:16:05,540 la kordo biblioteko, kaj la matematika biblioteko. 355 00:16:05,540 --> 00:16:07,610 >> Do ene de via unua paro problemo aroj, 356 00:16:07,610 --> 00:16:10,940 tiuj estos la tri ke vi unuavice uzas. 357 00:16:10,940 --> 00:16:14,610 Do kiel David jam klarigis en prelego, 358 00:16:14,610 --> 00:16:17,460 la normo / S biblioteko, aŭ la norma enigo / eligo biblioteko 359 00:16:17,460 --> 00:16:18,620 faras precize tion. 360 00:16:18,620 --> 00:16:23,530 Ĝi permesas vin: en via kodo, enigi ion de la uzanto kaj eligo ke 361 00:16:23,530 --> 00:16:25,960 al la ekrano, esence presi ĝin al la ekrano. 362 00:16:25,960 --> 00:16:29,990 >> Kaj do ajna momento vi uzas ajnan funkcioj, ekzemple la funkcio printf () kiu 363 00:16:29,990 --> 00:16:33,319 Ni tuj transiros la sekva diapozitivoj, certigi por inkludi la normo / S 364 00:16:33,319 --> 00:16:36,360 biblioteko aŭ alia vi ne tuj povos uzi la printf () funkcio. 365 00:16:36,360 --> 00:16:39,110 Ĉar vi, kiel la programisto neniam fakte skribis ke funkcio, 366 00:16:39,110 --> 00:16:41,840 vi nur uzante iu alies kodon ene vian propran kodon. 367 00:16:41,840 --> 00:16:43,620 >> Ĉu tio sencon ĉiuj? 368 00:16:43,620 --> 00:16:44,520 Malvarmeta. 369 00:16:44,520 --> 00:16:48,530 >> Kaj tiam ni esence akiri sur la string.h biblioteko kaj la math.h 370 00:16:48,530 --> 00:16:52,970 biblioteko, .h simple signifas bibliotekon, aliaj bibliotekoj kiujn vi instruos vin eventuale 371 00:16:52,970 --> 00:16:55,310 esti uzanta ene de via kodo. 372 00:16:55,310 --> 00:16:57,620 >> Tamen, por celoj de tiu biblioteko, ni ankaŭ 373 00:16:57,620 --> 00:17:01,170 have-- de ĉi class-- ni ankaŭ havas kion oni nomas la CS50 biblioteko, 374 00:17:01,170 --> 00:17:05,270 cs50.h, kie ni, por via legado kreis 375 00:17:05,270 --> 00:17:07,369 multaj gravaj kaj utilaj funkcioj. 376 00:17:07,369 --> 00:17:09,550 Por ke vi kiel programisto povas piggyback off 377 00:17:09,550 --> 00:17:14,470 kion ni jam skribis por ke tiu funkcia havebla al vi 378 00:17:14,470 --> 00:17:15,599 por via uzo. 379 00:17:15,599 --> 00:17:18,359 >> Mi estos kovrante kelkajn la funkcioj komune uzata, 380 00:17:18,359 --> 00:17:20,839 sed scias, ke tiuj estas ĉiuj googleable rete. 381 00:17:20,839 --> 00:17:24,904 Laŭvole, elsxiros la CS50 biblioteko kaj tiam vi havas ĉiujn funkciojn tie. 382 00:17:24,904 --> 00:17:25,828 Yeah. 383 00:17:25,828 --> 00:17:28,140 >> Parolanto 5: Do se vi ne estis uzante la programaro kiu 384 00:17:28,140 --> 00:17:29,916 estas provizita al ni de la klaso, faras ke 385 00:17:29,916 --> 00:17:32,698 signifi ni devus elŝuti kaj trovi tiun kaplinion dosieron mem kaj rakonti 386 00:17:32,698 --> 00:17:33,840 la komputilo kie estas? 387 00:17:33,840 --> 00:17:34,320 >> ANDI PENG: Granda demando. 388 00:17:34,320 --> 00:17:34,820 Ekzakte. 389 00:17:34,820 --> 00:17:38,194 Do estas kvazaŭ se vi ne estas fizike ĉeesti biblioteko, 390 00:17:38,194 --> 00:17:40,360 ne estas vojo por vi vere iru kaj aliri ĝin. 391 00:17:40,360 --> 00:17:42,589 Do la sama afero kun programado en C, oni 392 00:17:42,589 --> 00:17:45,880 devas certigi ke vi uzas nian aparaton ĉar la biblioteko estas jam 393 00:17:45,880 --> 00:17:47,270 estis integrigita en ĝi. 394 00:17:47,270 --> 00:17:50,020 Kaj tiam kiam vi hashtag #include, la biblioteko tie. 395 00:17:50,020 --> 00:17:50,520 Yeah. 396 00:17:50,520 --> 00:17:51,920 Bona demando. 397 00:17:51,920 --> 00:17:53,461 Ĉiu bona? 398 00:17:53,461 --> 00:17:53,960 Malvarmeta. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 Bone. 401 00:17:56,870 --> 00:17:59,330 Do ni tuj batis, esence, kio estas 402 00:17:59,330 --> 00:18:01,620 la unua funkcio, ke Ni kiel programistoj 403 00:18:01,620 --> 00:18:03,900 tuj estos uzanta ene de nia kodo. 404 00:18:03,900 --> 00:18:05,690 Tio nomiĝas la printf () funkcio. 405 00:18:05,690 --> 00:18:08,450 Do, printf () funkcio, kiel mi jam diris en la lasta slide, 406 00:18:08,450 --> 00:18:11,830 estas inkludita en la norma / S, norma enigo / eligo, biblioteko. 407 00:18:11,830 --> 00:18:16,470 >> Do certigi ajn vi using-- ho, lasu min ekpreni la lasero pointer-- 408 00:18:16,470 --> 00:18:18,660 kiam ajn vi uzas la printf () funkcio, 409 00:18:18,660 --> 00:18:21,790 vi devas inkluzivi la normo / S biblioteko aux, kiam vi kompili, 410 00:18:21,790 --> 00:18:23,760 vi tuj ricevas eraron ĉar la komputilo similigxos, 411 00:18:23,760 --> 00:18:26,140 Ho, mi ne scias kie printf () estas, vi ne diras al mi kie printf () 412 00:18:26,140 --> 00:18:26,830 estas. 413 00:18:26,830 --> 00:18:30,150 Nu printf () estas inkludita en la normo / S, do kiam oni uzas printf (), 414 00:18:30,150 --> 00:18:32,960 certigi havi tiun linion supre via kodo. 415 00:18:32,960 --> 00:18:36,040 >> Do ekzemple, printf () tie estas funkcio. 416 00:18:36,040 --> 00:18:40,260 Ĉiuj faras estas presi ion ene la parantezoj al la uzanto. 417 00:18:40,260 --> 00:18:44,840 Ĉu iu ajn ŝatus preni ponardopiko ĉe kio tiu linio de kodo dekstra 418 00:18:44,840 --> 00:18:46,420 tie tuj elprinti? 419 00:18:46,420 --> 00:18:48,730 Do, la respondo estas sur la ekrano. 420 00:18:48,730 --> 00:18:50,480 Iu ajn? 421 00:18:50,480 --> 00:18:51,380 >> Verdi: La fundo. 422 00:18:51,380 --> 00:18:53,510 >> ANDI PENG: Verdi, kial vi ne iras antaŭen kaj diri la tutan deklaron? 423 00:18:53,510 --> 00:18:55,718 >> VERDI: Saluton, mia nomo estas Andi, kaj mi estas 20 jaraĝa. 424 00:18:55,718 --> 00:18:57,270 ANDI PENG: Ha, belega. 425 00:18:57,270 --> 00:19:00,240 Do en tiu linio ni tuj presi, Saluton, mia nomo estas Andi, 426 00:19:00,240 --> 00:19:04,280 kaj mi estas 20 jara, kiu estas fakte vera aserto. 427 00:19:04,280 --> 00:19:05,090 >> Sintakso. 428 00:19:05,090 --> 00:19:08,830 Do kelkaj sintaksaj aferoj kiuj vi uloj volas certigi vin scias. 429 00:19:08,830 --> 00:19:09,360 Citiloj. 430 00:19:09,360 --> 00:19:13,170 Citiloj rakonti la komputilo ke ĉio ene 431 00:19:13,170 --> 00:19:14,850 tuj estos presitaj. 432 00:19:14,850 --> 00:19:16,620 >> Ĉio ene tedaĵo nur estu precize kiel 433 00:19:16,620 --> 00:19:19,920 vi tajpas ĝin, krom komune fine, 434 00:19:19,920 --> 00:19:23,610 ni tuj volas inkludi a hash-- ho sorry-- haltostreko n. 435 00:19:23,610 --> 00:19:24,640 Do haltostreko n. 436 00:19:24,640 --> 00:19:28,884 >> Ĉu iu volas preni divenon ĉe kion tiu faras al nia kodo? 437 00:19:28,884 --> 00:19:29,465 Yeah. 438 00:19:29,465 --> 00:19:30,840 Parolanto 6: Metas ĝin sur nova linio. 439 00:19:30,840 --> 00:19:31,650 ANDI PENG: Ekzakte. 440 00:19:31,650 --> 00:19:34,660 Do ĉiuj ĉi faras estas permesi ajn okazas 441 00:19:34,660 --> 00:19:37,520 post tiu, post tiu deklaro, esti presita al nova linio. 442 00:19:37,520 --> 00:19:40,030 Por ke kiam vi skribas vian kodo vi ne hazarde havas aferojn 443 00:19:40,030 --> 00:19:41,738 najlita sur la fino ke vi ne volas. 444 00:19:41,738 --> 00:19:43,700 Ke ĉiu ricevas bonorde presis unu linio 445 00:19:43,700 --> 00:19:46,870 kaj tiam ni komencos la sekva linio. 446 00:19:46,870 --> 00:19:50,970 >> Ĉu iu memoras kion tio punktokomo faras kiam ni kodigo? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Yeah. 449 00:19:55,330 --> 00:19:55,740 >> Parolanto 7: Statement. 450 00:19:55,740 --> 00:19:56,010 >> ANDI PENG: Pardonu? 451 00:19:56,010 --> 00:19:57,100 >> Parolanto 7: Ĉu ĝi finos la deklaron? 452 00:19:57,100 --> 00:19:57,766 >> ANDI PENG: Yeah. 453 00:19:57,766 --> 00:20:02,670 Do en C, aŭ ajna programado lingvo, la punktokomo 454 00:20:02,670 --> 00:20:04,640 signas la finon de programado linio. 455 00:20:04,640 --> 00:20:09,240 Do ekzemple, en la angla ni uzas periodo diri, ho tiu estas la fino de frazo. 456 00:20:09,240 --> 00:20:12,857 En programado, sama afero, ni havas punktokomo por signi la finon de linio. 457 00:20:12,857 --> 00:20:14,690 Ofte, kiam oni estas komencante plani, 458 00:20:14,690 --> 00:20:17,150 vi konscias vin forgesu aldoni punktokomo 459 00:20:17,150 --> 00:20:19,400 kaj poste vi provas kuri vian kodo kaj ĝi ne funkcias. 460 00:20:19,400 --> 00:20:21,520 Kaj vi estas kiel, Ha, mi ne faras scias kial, gxi povus funkcii. 461 00:20:21,520 --> 00:20:24,394 >> Ŝancoj estas vi verŝajne forgesos punktokomo aux krampo aŭ io 462 00:20:24,394 --> 00:20:25,020 ie. 463 00:20:25,020 --> 00:20:27,740 Do, tio estas grava memori. 464 00:20:27,740 --> 00:20:29,627 Malvarmeta. 465 00:20:29,627 --> 00:20:31,960 Bone, spektaklo de manoj, kiom multaj homoj tie havas iam 466 00:20:31,960 --> 00:20:37,210 prenita AP Computer Science aŭ planita en Java antaŭe, iam? 467 00:20:37,210 --> 00:20:37,710 BONE. 468 00:20:37,710 --> 00:20:38,210 Lovely. 469 00:20:38,210 --> 00:20:41,340 Tio ne validas tiam, sed en Java, vi 470 00:20:41,340 --> 00:20:44,960 havas ion nomatan System.out.println kiu ne ekzistas en C. 471 00:20:44,960 --> 00:20:49,927 >> Do en C, kiam ajn vi deziras aldoni en variabloj 472 00:20:49,927 --> 00:20:51,760 en ion vi volas presi, ekzistas 473 00:20:51,760 --> 00:20:54,620 specifa sintakso ni tuj uzos. 474 00:20:54,620 --> 00:20:56,520 Tio nomiĝas la placeholding-- esence 475 00:20:56,520 --> 00:21:01,180 ni aldonu anstataŭaĵojn modloko de la entjero aŭ la ŝanĝiĝema 476 00:21:01,180 --> 00:21:02,580 ke ni volas presi. 477 00:21:02,580 --> 00:21:07,430 >> Do kiel vi uloj povas vidi ni inkludis nova biblioteko header file tie. 478 00:21:07,430 --> 00:21:09,130 La CS50 biblioteko. 479 00:21:09,130 --> 00:21:13,160 Kaj enhavita ene ke CS50 biblioteko estas komuna funkcio ni uzos 480 00:21:13,160 --> 00:21:15,610 en nia kurso nomita GetInt (). 481 00:21:15,610 --> 00:21:21,830 >> Ĉu iu volas preni ponardopiko ĉe kio GetInt () eble povas esti faranta. 482 00:21:21,830 --> 00:21:22,830 >> Spektantaro: [inaudible] 483 00:21:22,830 --> 00:21:23,550 >> ANDI PENG: Pardonu. 484 00:21:23,550 --> 00:21:24,370 Ne povis aŭdi vin. 485 00:21:24,370 --> 00:21:25,511 Maddie, iu ajn. 486 00:21:25,511 --> 00:21:27,260 Maddie: Ho, ĝi instigas vi por entjero. 487 00:21:27,260 --> 00:21:28,051 ANDI PENG: Ekzakte. 488 00:21:28,051 --> 00:21:30,670 Do tiu funkcio, alia funkcio jen jam 489 00:21:30,670 --> 00:21:33,690 estis skribita de iu alia ke ni povas vokas nun. 490 00:21:33,690 --> 00:21:38,000 Ĉiuj estas estas instigas la vi, la uzanto, enigi kion ajn vi volas, kiel la kodo 491 00:21:38,000 --> 00:21:41,850 kuras kaj ĝi stokas whatever-- tiukaze ni GetInt () - ing, 492 00:21:41,850 --> 00:21:44,060 por ke signifas ke ni estas obtención entjero. 493 00:21:44,060 --> 00:21:46,150 >> Kaj ni tuj stoki ke en alia entjero 494 00:21:46,150 --> 00:21:48,900 ke ni ĵus faris nomita aĝo. 495 00:21:48,900 --> 00:21:51,500 Kiuj faras sencon por ĉiuj? 496 00:21:51,500 --> 00:21:52,190 Malvarmeta. 497 00:21:52,190 --> 00:21:56,400 >> Do nun ke ni stokas ĉi entjero, ke ni instigis de la uzanto, 498 00:21:56,400 --> 00:22:00,010 en tiu variablo, ni kreita de tipo int nomita aĝo, 499 00:22:00,010 --> 00:22:03,720 ni povas antaŭeniri kaj loko ke en nia printf () funkcio. 500 00:22:03,720 --> 00:22:08,970 Do la sintakso kutime por printf () estas ke kie ajn en via reala fizika 501 00:22:08,970 --> 00:22:14,410 linio vi volas inkludi ke entjero, vi faros tion simbolo Dekstre, 502 00:22:14,410 --> 00:22:17,800 la procento simbolo, kun la tipo de variablo kiu vi volas. 503 00:22:17,800 --> 00:22:20,090 >> Do en tiu kazo aĝo estas entjero. 504 00:22:20,090 --> 00:22:25,030 Do vi tuj inkluzivi % i ĉar ĝi estas entjero. 505 00:22:25,030 --> 00:22:26,860 Kaj tiam post via deklaro, vi tuj 506 00:22:26,860 --> 00:22:30,370 fari komo kaj la nomo de la variablo. 507 00:22:30,370 --> 00:22:33,420 >> Do jen, ni tuj presi eksteren, Saluton, mia nomo estas Andi, 508 00:22:33,420 --> 00:22:35,730 kaj mi malplenan jaroj. 509 00:22:35,730 --> 00:22:38,890 Hashta-- aŭ, sorry--, aĝo kun kiom mi enigo. 510 00:22:38,890 --> 00:22:42,790 Do se mi enigo 20 cxar mia GetInt () ĉi tie, 511 00:22:42,790 --> 00:22:44,500 estus presi la ĝusta sama afero. 512 00:22:44,500 --> 00:22:47,990 Sed, se mi volus enigo ion alie, kiel eble 40 aŭ 45, 513 00:22:47,990 --> 00:22:50,800 tiam vi vidus ke reflektis laŭe en la kodo. 514 00:22:50,800 --> 00:22:52,886 >> Do tiu estas ekzemplo de iu en kio 515 00:22:52,886 --> 00:22:55,260 ĝi presas el kaj rigardas al vi kvazaŭ ĝi estas la sama afero, 516 00:22:55,260 --> 00:22:57,593 sed sub la kapuĉo de la komputilo ekzistas reale 517 00:22:57,593 --> 00:22:59,560 tre malsamaj aferoj okazas. 518 00:22:59,560 --> 00:23:00,060 Malvarmeta. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 Bone. 521 00:23:03,260 --> 00:23:06,940 Do kio se ni volas multnombraj variabloj? 522 00:23:06,940 --> 00:23:08,290 Sufiĉe facila. 523 00:23:08,290 --> 00:23:09,150 Sama afero. 524 00:23:09,150 --> 00:23:11,930 Ni ankaŭ havas novan funkcion tie nomis GetString (), 525 00:23:11,930 --> 00:23:15,380 Ankaŭ inkludita ene de la CS50 biblioteko, ke ĉiuj faras estas instigas la uzanton 526 00:23:15,380 --> 00:23:18,120 por kordoj, kiuj estas nur aro da karakteroj, 527 00:23:18,120 --> 00:23:19,810 tiel kiel frazo aŭ kiel nomo. 528 00:23:19,810 --> 00:23:25,470 >> Do en ĉi tiu kazo, ni havus du anstataŭaĵojn% s por kordoj kaj% i 529 00:23:25,470 --> 00:23:26,750 por entjero. 530 00:23:26,750 --> 00:23:29,190 Kaj ni tuj sekvi ke per la du variabloj 531 00:23:29,190 --> 00:23:32,670 Ni volas inkludis, en la ordo ke ili aperas en la frazo. 532 00:23:32,670 --> 00:23:35,471 Do ekzemple, mia nomo estas malplenan, mi volas nomon, 533 00:23:35,471 --> 00:23:36,970 tiel mi tuj havos la nomon unue. 534 00:23:36,970 --> 00:23:39,637 Kaj tiam poste, mi volas aĝo, volas havi aĝon dua. 535 00:23:39,637 --> 00:23:42,720 Kaj do, se mi volus enigo, Saluton, Mia nomo Andi, kaj mi estas 20 jaraĝa. 536 00:23:42,720 --> 00:23:46,370 Se mi inputted Andi kaj 20, la ekzakta samo presi; 537 00:23:46,370 --> 00:23:51,134 Tamen, nun ni havas du stokas variabloj de nomo tiel kiel int. 538 00:23:51,134 --> 00:23:51,634 Yeah. 539 00:23:51,634 --> 00:23:54,124 >> Parolanto 8: Cxu estus kapabla kuri se vi ŝaltis 540 00:23:54,124 --> 00:23:55,620 Nomo kaj aĝo ĉe la fino de tiu? 541 00:23:55,620 --> 00:23:55,840 >> ANDI PENG: Yeah. 542 00:23:55,840 --> 00:23:57,006 Tio estas vere bona demando. 543 00:23:57,006 --> 00:23:59,520 Do longan rakonton, ne. 544 00:23:59,520 --> 00:24:03,070 Ĉar nomo kaj age-- kio tipo de variablo estas nomo? 545 00:24:03,070 --> 00:24:03,950 >> Parolanto 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI PENG: Kaj kion tipo de variablo estas aĝo? 547 00:24:05,440 --> 00:24:06,231 >> Parolanto 8: Entjeraj. 548 00:24:06,231 --> 00:24:10,290 ANDI PENG: Do jen ni havas lokokupilo por arĉinstrumenta kaj entjero, dekstra? 549 00:24:10,290 --> 00:24:13,350 Do se vi estus ŝanĝi tiujn, la komputilo ne tuj scias. 550 00:24:13,350 --> 00:24:16,250 Ĝi tuj kontroli por kordoj, kaj se vi provas doni ĝin int, 551 00:24:16,250 --> 00:24:18,083 ĝi tuj estos kiel atendi mi estas konfuzita, vi 552 00:24:18,083 --> 00:24:21,100 rakontis al mi mi estus allotting memoro por int. 553 00:24:21,100 --> 00:24:23,760 Kaj ĝuste ĉi tie, kiam ĝi atendas entjero 554 00:24:23,760 --> 00:24:25,640 kaj vi donos al li nomon kaj ŝnuro anstataŭe, 555 00:24:25,640 --> 00:24:28,931 ĝi estas ankaŭ tuj estos tre konfuzanta, ĝi ne kuros ekzakte kiel vi bezonas ĝin. 556 00:24:28,931 --> 00:24:35,280 Do jen, enoficigante kaj sintakso estas tre grava por funkciado kodon. 557 00:24:35,280 --> 00:24:37,991 Ĉiu bona? 558 00:24:37,991 --> 00:24:38,490 Yeah. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> Maddie: Jen, mi sciis ke ni rigardis ĉe ekzemplojn en klaso, kie ili demandas 561 00:24:44,620 --> 00:24:46,950 kio estas via aĝo, kio estas via nomo. 562 00:24:46,950 --> 00:24:50,250 Tie, estus ke estu doesn't-- se ni kuras ĉi kodon, 563 00:24:50,250 --> 00:24:51,750 ĝi ne postulus ke? 564 00:24:51,750 --> 00:24:54,740 Sed vi simple enigo du nombroj kaj tiam estus kuri tiel? 565 00:24:54,740 --> 00:24:55,781 >> ANDI PENG: Jes, ĝuste. 566 00:24:55,781 --> 00:24:58,250 Do se vi deziras por ĝi al montriĝo, bonvolu indiki vian aĝon, 567 00:24:58,250 --> 00:25:01,100 vi povas simple aldoni printf () funkcio kiu diras, Bonvolu eniri vian aĝon, 568 00:25:01,100 --> 00:25:01,600 super ĝi. 569 00:25:01,600 --> 00:25:02,711 Tio estas bona demando. 570 00:25:02,711 --> 00:25:03,210 Yeah. 571 00:25:03,210 --> 00:25:07,964 >> Parolanto 9: Do, jam estus inkluzivita en GetInt () [inaudible]. 572 00:25:07,964 --> 00:25:09,380 ANDI PENG: Ne, fakte ne. 573 00:25:09,380 --> 00:25:11,809 Do ĉiuj ĉi faras estas nur stimulanta malplena ekrano 574 00:25:11,809 --> 00:25:13,100 al la uzanton enigi io. 575 00:25:13,100 --> 00:25:17,420 Se vi volas ĝin, se vi volas ĝin por presi el iu kiu rakontas la uzanto kiel, 576 00:25:17,420 --> 00:25:21,110 bonvolu doni al mi via aĝo, tiam vi devus printf () kiu mem. 577 00:25:21,110 --> 00:25:23,789 Ĉar ĉiuj uzas tiun funkcio por malsamaj aferoj, 578 00:25:23,789 --> 00:25:26,080 vi povus stoki aĝo, vi povus stoki adreson, 579 00:25:26,080 --> 00:25:28,060 vi povus stoki telefonnumerojn. 580 00:25:28,060 --> 00:25:31,190 Kaj do ĝi estas vere ĝis viaj infanoj 'individuaj uzoj 581 00:25:31,190 --> 00:25:34,390 por kio vi volas diri. 582 00:25:34,390 --> 00:25:34,890 Yeah. 583 00:25:34,890 --> 00:25:38,236 >> Parolanto 10: Do, nur klarigi, kie ĉu vi enigo la nomo kaj la aĝo 584 00:25:38,236 --> 00:25:43,020 tiel ke ĝi aperas en loko de% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI PENG: Kiel en la uzanto? 586 00:25:44,320 --> 00:25:47,165 >> Parolanto 10: Jes, kiel kiel mi fari it-- kie mi metis Andi, 587 00:25:47,165 --> 00:25:48,350 kaj kie mi metis 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI PENG: Yeah. 589 00:25:48,640 --> 00:25:50,250 Do se vi estus efektive kuri ĉi kodon, 590 00:25:50,250 --> 00:25:52,875 Mi ne reale kurante la kodo, tio ĉi estas nur tie nun. 591 00:25:52,875 --> 00:25:56,910 Se mi estus kuri la kodon, mi volus kompili la kodon, fari la dosiero, 592 00:25:56,910 --> 00:26:00,760 kuri la kodon, kaj tiam ekzistus nur du spacoj por mi enigi ĝin. 593 00:26:00,760 --> 00:26:01,260 Yeah. 594 00:26:01,260 --> 00:26:03,843 Vi uloj vidos kiam vi ludas ĉirkaŭe kun la kodo mem. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Bone ni tuj movas en la venontan sekcion de kio 597 00:26:09,645 --> 00:26:11,610 ni estos kovrante hodiaŭ. 598 00:26:11,610 --> 00:26:13,980 Ni tuj iras super kio kondiĉa deklaroj estas. 599 00:26:13,980 --> 00:26:16,500 Do se vi infanoj memoras kaj memoras de prelego, 600 00:26:16,500 --> 00:26:19,210 kondiĉa deklaroj, ili cxiuj estas aro 601 00:26:19,210 --> 00:26:24,010 de instrukcioj por la komputilo en kio se certa kondiĉo estas vera, 602 00:26:24,010 --> 00:26:27,470 vi ekzekuti la kodo ene de tiu kondiĉo. 603 00:26:27,470 --> 00:26:30,101 >> Do en Scratch-- esence la granda temo de hodiaŭ 604 00:26:30,101 --> 00:26:32,850 estas ke vi infanoj havas jam tutan vidis la logikon malantaŭ ĉio 605 00:26:32,850 --> 00:26:34,020 ke ni kovranta. 606 00:26:34,020 --> 00:26:36,190 Kaj ĉiuj ni faras estas tradukante ion 607 00:26:36,190 --> 00:26:39,090 kiu estis tre intuicia en Nulo, kaj malmola kodigo ĝi 608 00:26:39,090 --> 00:26:41,950 en la sintakso ni uzos por la klaso kiu estas C. 609 00:26:41,950 --> 00:26:47,550 Do logike, ĉio ĉi bloko estis estas ke koderon prava. 610 00:26:47,550 --> 00:26:49,995 Yeah. 611 00:26:49,995 --> 00:26:50,900 BONE. 612 00:26:50,900 --> 00:26:55,290 >> Ni ankaŭ eniras en se ... alie deklaro kiu estas simple aldonita tavolo 613 00:26:55,290 --> 00:26:59,120 de komplekseco al la se aserto kie la komputilo prenas rigardi ĉi 614 00:26:59,120 --> 00:27:04,260 kaj vidas, se tiu kondiĉo estas vera, do ajn la interno de ĉi tiuj du krampoj, 615 00:27:04,260 --> 00:27:08,470 else-- do ia kiel la defaŭlta se ĝi ne plenumas la condition-- fari tion. 616 00:27:08,470 --> 00:27:10,120 Estas kiel forko en la vojo. 617 00:27:10,120 --> 00:27:14,400 Se pluvas ekstere, mi metis sur pluv jakon, alia ion 618 00:27:14,400 --> 00:27:16,330 alie mi ne surmetis pluvo jako. 619 00:27:16,330 --> 00:27:18,400 >> Ĉu tio logiko sencon por cxiuj? 620 00:27:18,400 --> 00:27:21,031 Malvarmeta. 621 00:27:21,031 --> 00:27:21,530 Bone. 622 00:27:21,530 --> 00:27:24,970 Do kiel ekzemplo de malmola tiu ke ni vidus en C 623 00:27:24,970 --> 00:27:28,890 Estas kvazaŭ mi volis krei ŝanĝiĝema nomita hejmtasko horoj. 624 00:27:28,890 --> 00:27:32,050 Kaj se hejmtasko horoj estas malpli ol kvin, mi diras Vivo estas granda. 625 00:27:32,050 --> 00:27:33,070 Ĝi estas mirinda. 626 00:27:33,070 --> 00:27:36,450 Tamen, diri La lukto estas real-- Kiu estas kio ni ĉiuj sur ĉi lundo 627 00:27:36,450 --> 00:27:39,337 posttagmezon supren Scienco Monteto estas verŝajne faranta rajton now-- 628 00:27:39,337 --> 00:27:40,170 Spektantaro: [Ridanta] 629 00:27:40,170 --> 00:27:42,510 ANDI PENG: Ili maniero ni estus, dankon por tio. 630 00:27:42,510 --> 00:27:46,180 La vojo ni havus hardcode tiu en C estas if-- ni supozu 631 00:27:46,180 --> 00:27:49,920 ni jam havas variablo de tipo int vokis hejmtaskon horoj tie. 632 00:27:49,920 --> 00:27:53,870 Se hejmtasko horoj estas malpli ol kvin printf (), Vivo estas granda. 633 00:27:53,870 --> 00:27:57,330 Memoru konservi / n ĉar Vi volas novan linion post. 634 00:27:57,330 --> 00:27:59,660 Else presi, La lukto estas reala. 635 00:27:59,660 --> 00:28:03,720 >> Ĉu ĉiuj komprenas kiel Mi transitioneis de tiu bloko 636 00:28:03,720 --> 00:28:07,610 en tiu bloko de kodo? 637 00:28:07,610 --> 00:28:08,110 Malvarmeta. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 Bone. 640 00:28:11,840 --> 00:28:15,930 >> Do nun ni tuj rigardu multoblaj Se deklaroj entute. 641 00:28:15,930 --> 00:28:18,140 Do ni supozu la celo de tiu programo 642 00:28:18,140 --> 00:28:20,870 Estis ni instigas la uzanton por grado. 643 00:28:20,870 --> 00:28:24,450 Ni Prompt uzante GetInt () por grado, kaj ili eniga valoro, 644 00:28:24,450 --> 00:28:27,700 kaj vi volas montri kio tipo de grado ili akiris. 645 00:28:27,700 --> 00:28:30,730 >> Do se mi estus desegni programo, mi signifas tipe en ĉiuj niaj okuloj, 646 00:28:30,730 --> 00:28:35,490 90-100 estas A, 80-90 estas B, kaj tiel plu kaj tiel plu. 647 00:28:35,490 --> 00:28:39,040 Kio estas malĝusta kun tiu koderon ke ĝi ne estas 648 00:28:39,040 --> 00:28:41,393 fari kion mi volas fari. 649 00:28:41,393 --> 00:28:41,892 Yeah. 650 00:28:41,892 --> 00:28:45,100 >> Parolanto 11: Ili havas malsupraj limoj, sed ili ne havas superaj limoj. 651 00:28:45,100 --> 00:28:46,280 >> ANDI PENG: Ekzakte. 652 00:28:46,280 --> 00:28:47,950 Ĉu ĉiuj auxskultu, kion ŝi diris? 653 00:28:47,950 --> 00:28:50,200 Tie tuj estos supra limoj, sed neniu malsupraj limoj. 654 00:28:50,200 --> 00:28:52,540 Pardonu, revés, malsupra limoj, neniu superaj limoj. 655 00:28:52,540 --> 00:28:55,090 Do vi ŝatus preni ponardopiko ĉe dirante 656 00:28:55,090 --> 00:28:58,945 kio estus presita sur tiu ekrano se mi kuros ĉi tiu kodo. 657 00:28:58,945 --> 00:28:59,820 Parolanto 11: Eraro? 658 00:28:59,820 --> 00:29:01,140 ANDI PENG: Eraro? 659 00:29:01,140 --> 00:29:02,740 Granda diveno, ne tute pravas. 660 00:29:02,740 --> 00:29:05,465 Ĉu iu havas alian ponardopiko? 661 00:29:05,465 --> 00:29:06,640 Yeah, Aaron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Se vi metas en io pli granda ol 90, 663 00:29:10,099 --> 00:29:11,640 ĝi montrus ĉiujn kvalifikojn Vi akiris. 664 00:29:11,640 --> 00:29:13,640 Ĝi montrus vin akiris A, vi havas B, vi ricevis C. 665 00:29:13,640 --> 00:29:13,870 >> ANDI PENG: Yeah. 666 00:29:13,870 --> 00:29:14,840 Tio estas ekzakte pravas. 667 00:29:14,840 --> 00:29:17,820 Do, tio estus mirinda. 668 00:29:17,820 --> 00:29:21,781 Tamen, ili estas reciproke ekskluziva, mi pensas. 669 00:29:21,781 --> 00:29:23,280 Se mi kuras ĉi koderon. 670 00:29:23,280 --> 00:29:26,200 Kaj tiam ni simple diri, mi inputted la grado de 95. 671 00:29:26,200 --> 00:29:30,360 Do 95 estas nun stokitaj en la int nomata grado. 672 00:29:30,360 --> 00:29:33,610 >> Kaj do C estas lingvo kiu kuras supren supre sube, 673 00:29:33,610 --> 00:29:36,000 tial ĝi tuj ĉiam kuri ĝis malsupro. 674 00:29:36,000 --> 00:29:39,420 Do ĝi tuj venas tie, legu se grado estas pli granda ol aŭ egala al 90, 675 00:29:39,420 --> 00:29:42,850 printf () vi ricevis A. Granda, mi havas 95, tio estas pli granda ol 90. 676 00:29:42,850 --> 00:29:44,866 Ĝi tuj presi, Mi dungis A. Ĝi tuj 677 00:29:44,866 --> 00:29:48,850 preni rigardi ĉi se, ĝi tuj diru, bone 95 estas ankaŭ pli granda ol 80, 678 00:29:48,850 --> 00:29:52,970 ĝi tuj presi vi ankaŭ havas Got B ekkrion markon, kaj tiel plu kaj tiel 679 00:29:52,970 --> 00:29:53,690 antaŭen. 680 00:29:53,690 --> 00:29:55,890 >> Do kiel ni povas ĉiuj vidi, tio estas ofta cimon 681 00:29:55,890 --> 00:30:00,760 kiu povas okazi kiam ni estas skribi kodon rigardi ekstere por. 682 00:30:00,760 --> 00:30:05,430 Ĉiu, demandojn sur kial tio okazis? 683 00:30:05,430 --> 00:30:05,930 Granda. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 BONE. 686 00:30:09,440 --> 00:30:12,110 >> Nu do kiel ni ripari tiun, estas evidente la logika sekva demando. 687 00:30:12,110 --> 00:30:16,290 Nu, ni havas tiujn belajn aĵoj nomata se alia se alie 688 00:30:16,290 --> 00:30:18,010 se alia deklaroj. 689 00:30:18,010 --> 00:30:22,230 Do vi povas vidi, se vi volis ŝanĝi tiun problemon, 690 00:30:22,230 --> 00:30:25,260 vi volis fari ĉiun de la kondiĉoj estas reciproke ekskluzivaj, 691 00:30:25,260 --> 00:30:26,860 vi devus aldoni alian ... se aserto. 692 00:30:26,860 --> 00:30:30,068 >> Kaj tiuj kompreneble pensas de ili kiel ŝtupetarojn, aŭ kiel ŝtupoj sur la ladder-- 693 00:30:30,068 --> 00:30:34,050 vi povas aldoni kiel multaj el tiuj kiel vi deziras por kiel multaj kondiĉoj kiel vi volas. 694 00:30:34,050 --> 00:30:36,790 Do jen, se mi inputted grado esti 95. 695 00:30:36,790 --> 00:30:39,479 Se gradaj estas pli granda ol 95, printf (), mi atingis A. Granda. 696 00:30:39,479 --> 00:30:42,020 Ĝi tuj vidas alian ... se kaj ĝi tuj scias, Oh ne, 697 00:30:42,020 --> 00:30:43,750 Mi jam plenumis unuan alie. 698 00:30:43,750 --> 00:30:47,020 Mi know-- aŭ la unua if-- mi scias ke Mi ne devas rigardi iujn el tiuj 699 00:30:47,020 --> 00:30:48,920 ĉar unu el ili jam estis veraj. 700 00:30:48,920 --> 00:30:50,410 Do ĝi estas tuj kuras el supro malsupren. 701 00:30:50,410 --> 00:30:53,650 Tuj kiam la unua estas vera, tiam ĝi tuj salti super ĉiuj ceteraj 702 00:30:53,650 --> 00:30:54,675 de la alia ... oj. 703 00:30:54,675 --> 00:30:55,550 Ĉu tio havas sencon? 704 00:30:55,550 --> 00:30:57,841 Do, tiamaniere vi havos malsamaj niveloj de kontrolanta 705 00:30:57,841 --> 00:31:01,090 kaj tuj kiam unu el ili estas falsa, la resto estas same, ili ne eĉ kontroli. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Malvarmeta. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 Bone. 710 00:31:08,180 --> 00:31:11,180 >> Do tiu estas ekzemplo de malsama speco de kondiĉa deklaro 711 00:31:11,180 --> 00:31:15,250 ni vidos malpli ofte, sed ni vidos ilin kaj uzi ilin. 712 00:31:15,250 --> 00:31:18,120 Kaj ili estas ofte pli efika por certaj kazoj. 713 00:31:18,120 --> 00:31:20,020 Do ni havas kio nomiĝas ŝaltilo deklaro. 714 00:31:20,020 --> 00:31:25,140 Do antaŭ ni kovris kio estas la alia deklaro, oni se ... alia aserto. 715 00:31:25,140 --> 00:31:27,790 Tie, ni havas kio estas nomita ŝaltilo deklaroj. 716 00:31:27,790 --> 00:31:31,100 >> Do kiam ni uzu ŝaltilo deklaroj estas la klavo? 717 00:31:31,100 --> 00:31:34,090 Do en ŝaltilo deklaro, vi kutime, tipe, fakte vi 718 00:31:34,090 --> 00:31:38,010 povas nur enigo entjeroj por via ŝanĝiĝema ke vi estas kontrolanta. 719 00:31:38,010 --> 00:31:42,390 Do, se mi volis kontroli por vidi se certa number-- ekzemple 720 00:31:42,390 --> 00:31:43,720 grado, se mi havas 90. 721 00:31:43,720 --> 00:31:48,190 Mi volas ŝin vidi se tio estas A, B, aŭ C. Mi povus havi kazo tie. 722 00:31:48,190 --> 00:31:50,840 Tamen, la kazo devas esti alia konstanto. 723 00:31:50,840 --> 00:31:53,170 >> Do en tiu senco, la ŝaltilo deklaro povas nur 724 00:31:53,170 --> 00:31:55,290 kontroli por egaleco de du nombroj. 725 00:31:55,290 --> 00:31:57,242 Ĝi ne kontroli por io alia. 726 00:31:57,242 --> 00:31:59,950 Do jen io esti tre zorgema pri kiam vi uzas tion. 727 00:31:59,950 --> 00:32:04,810 Do jen, se mi volis kontroli por vidi se mia grado de 90 egalas al 90 aŭ 80 728 00:32:04,810 --> 00:32:08,500 aŭ 70 aŭ 60, kaj tiam presaĵo la responda grado, 729 00:32:08,500 --> 00:32:11,420 Mi estus kapabla skribi ke en ŝaltilo deklaro. 730 00:32:11,420 --> 00:32:15,120 >> Do ĝi tuj venas tie, ĉeko estas tiu entjero egala al tiu konstanta? 731 00:32:15,120 --> 00:32:17,030 Se ne, ĝi tuj salti. 732 00:32:17,030 --> 00:32:19,880 Ĉu egala al konstanto du, kaj tiel plu kaj tiel plu, 733 00:32:19,880 --> 00:32:22,390 ĝis vi batis la defaŭlta, se neniu el ili estas egalaj. 734 00:32:22,390 --> 00:32:24,590 Apenaŭ unu el ili pretas esti egalaj, 735 00:32:24,590 --> 00:32:27,040 ĝi tuj fari tion linio de kodo kaj rompiĝo. 736 00:32:27,040 --> 00:32:30,990 Kio signifas ĝi tuj trafis ke kuri, rompi, kaj nur tute preterpasi 737 00:32:30,990 --> 00:32:32,240 al la fundo de la kodo. 738 00:32:32,240 --> 00:32:37,550 Do en tiu senco la speco de funkcioj kiel se alia se alie se aserto. 739 00:32:37,550 --> 00:32:40,830 >> Do jen konkreta Ekzemple por vi uloj. 740 00:32:40,830 --> 00:32:46,140 Do ni supozu ke mi volis krei variablon nomis jaro fondita. 741 00:32:46,140 --> 00:32:50,230 Mi volas instigi la uzanton por enigo La jaro kiun ilia lernejo estis fondita. 742 00:32:50,230 --> 00:32:53,300 Do mi kreu ŝaltilo deklaro tie. 743 00:32:53,300 --> 00:32:56,650 Kaj ni simple diri, mi enigo 1636. 744 00:32:56,650 --> 00:33:01,120 >> Tiu kodo tie tuj vidos ŝaltilo jaro fondis kio egalas 1636. 745 00:33:01,120 --> 00:33:03,940 Ĝi tuj vidos kazo 1636, ho tiuj estas egalaj, 746 00:33:03,940 --> 00:33:06,230 printf () Should ne estos en tiu lernejo ĝis nordo? 747 00:33:06,230 --> 00:33:08,770 Ĉar ni supozas ili ne iri tien se ili iras al Harvard, 748 00:33:08,770 --> 00:33:10,380 rompi kaj preterpasi al la fino. 749 00:33:10,380 --> 00:33:14,090 >> Se mi estus enigi 1701, kiu Mi supozas ni ĉiuj farus enigo, 750 00:33:14,090 --> 00:33:17,500 ĝi preterpasi ĉi kazo, venu malsupren al kazo du kiu estas 1701, 751 00:33:17,500 --> 00:33:19,660 kaj presaĵo Bonvenon Yale! 752 00:33:19,660 --> 00:33:21,360 Rompi, preterpasi al la fino. 753 00:33:21,360 --> 00:33:25,130 Alie vi verŝajne prenas tiun kurson rete en kiuj case-- timinda bonvena 754 00:33:25,130 --> 00:33:29,020 al Yale-- ĝi tuj iru al la defaŭlta print, Saluton Interreto! 755 00:33:29,020 --> 00:33:29,870 Kaj rompi. 756 00:33:29,870 --> 00:33:30,466 Yeah. 757 00:33:30,466 --> 00:33:32,090 >> Parolanto 12: Ĉu vi uzas alia anstataŭ defaŭlte ekzistas? 758 00:33:32,090 --> 00:33:34,550 >> ANDI PENG: Ne, ĉar la maniero, ke tiu tuta funkcio 759 00:33:34,550 --> 00:33:39,170 ŝaltilo estas konstruita, la sintakso vi devas uzi estas kazo kazo defaŭlta. 760 00:33:39,170 --> 00:33:42,400 Estas kiel la se alie se, ĉi unu estas kazo kazo defaŭlta. Yeah. 761 00:33:42,400 --> 00:33:45,650 Parolanto 13: Vi eble jam diris tion, sed vi povas havi pli ol du kazoj? 762 00:33:45,650 --> 00:33:48,066 ANDI PENG: Yeah, vi povis havi tiom da kazoj kiom vi deziras. 763 00:33:48,066 --> 00:33:50,050 Pensu pri ĝi kiel ĵus ŝatas senfine aldoni plu. 764 00:33:50,050 --> 00:33:52,396 >> Parolanto 14: Se vi interŝanĝita 1701 kun 1636, 765 00:33:52,396 --> 00:33:54,187 ĝi ne vere fari diferenco pravas? 766 00:33:54,187 --> 00:33:55,770 Ĝi simple tuj estos kontrolanta ĝin. 767 00:33:55,770 --> 00:33:56,900 >> ANDI PENG: Tio estas vere bona demando. 768 00:33:56,900 --> 00:33:58,880 Kaj ni tuŝas sur tiu poste, sed nur 769 00:33:58,880 --> 00:34:01,160 scias ke estas la ŝaltilo aserto infinitely-- estas 770 00:34:01,160 --> 00:34:03,536 pli efika ol ĝi kaj se alie se ĉar ĝi operacias 771 00:34:03,536 --> 00:34:06,660 uzante malsama tipo de funkcio kiu permesas, esence, je justaj 772 00:34:06,660 --> 00:34:08,790 salti rekte al la kazo vi devas esti je. 773 00:34:08,790 --> 00:34:10,547 Yeah. 774 00:34:10,547 --> 00:34:11,255 Parolanto 14: Cool. 775 00:34:11,255 --> 00:34:11,754 Dankon. 776 00:34:11,754 --> 00:34:12,526 ANDI PENG: Yeah 777 00:34:12,526 --> 00:34:16,687 >> Parolanto 14 Kaj vi ne povis fari kazoj kiel kaj superas. 778 00:34:16,687 --> 00:34:17,270 ANDI PENG: No. 779 00:34:17,270 --> 00:34:19,860 Do, tio estas kio limiganta pri la ŝaltilo deklaro estas ke vi havas 780 00:34:19,860 --> 00:34:21,564 havi konstantoj nur, nur entjeroj. 781 00:34:21,564 --> 00:34:22,064 Yeah. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 BONE. 784 00:34:25,820 --> 00:34:28,659 >> Do tiu estas iu kiu vi uloj renkontos malpli ofte de, 785 00:34:28,659 --> 00:34:32,280 sed mi nur volis enkonduki ĝin en kazo. 786 00:34:32,280 --> 00:34:36,210 Ni havas ĉi tie kio estas nomiĝas triargumenta operatoro. 787 00:34:36,210 --> 00:34:39,370 Kie esence, ĝi estas nur kiel se aserto kompilita en unu linion. 788 00:34:39,370 --> 00:34:42,630 Nu, mi iros sur la venonta linio, la sekva paĝo, ĉar ĝi estas pli facile vidi. 789 00:34:42,630 --> 00:34:44,860 >> Do ni ĉiuj vidis tiun rajton? 790 00:34:44,860 --> 00:34:46,110 Tiu estas sufiĉe facile sekvi. 791 00:34:46,110 --> 00:34:51,290 Se mi volis fari variablo nomata ŝnuro nomita s, se iu nombro 792 00:34:51,290 --> 00:34:54,770 Mi donos ĝin estas malpli ol 100, mi volas atribui malalta al la kordoj, 793 00:34:54,770 --> 00:34:57,240 alie mi volas asigni altan. 794 00:34:57,240 --> 00:35:01,370 >> Ĉi tie estas faranta la ĝusta sama afero tiuj ok linioj de kodo faras. 795 00:35:01,370 --> 00:35:03,600 Do ĉi tie mi volas krei ŝanĝiĝema kordo. 796 00:35:03,600 --> 00:35:08,520 Kaj tiu estas la kondiĉo mi kontrolanta, se nombro estas malpli ol 100, 797 00:35:08,520 --> 00:35:12,750 tiam vi atribuas la valoron de malalta, alie atribui la valoron de alta. 798 00:35:12,750 --> 00:35:15,802 >> Tiuj diapozitivoj estos enreta, sen ĉagrenoj se vi infanoj ne ricevas tiun malsupren. 799 00:35:15,802 --> 00:35:18,510 Tiu estas nur pli simple, pli efika maniero de skribado kodo. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 BONE. 802 00:35:21,810 --> 00:35:25,190 >> Do nun ni tuj eniri kio, por multaj homoj 803 00:35:25,190 --> 00:35:28,660 similas tre, tre konfuza afero pensi unue. 804 00:35:28,660 --> 00:35:30,226 La maŝo sekcio. 805 00:35:30,226 --> 00:35:32,600 Do hodiaŭ, ni tuj parolos pri tri tipoj de cikloj. 806 00:35:32,600 --> 00:35:34,890 Ni tuj komencu per momenton buklo, tiam paroli pri fari dum buklo, 807 00:35:34,890 --> 00:35:36,740 kaj tiam paroli pri por bukloj. 808 00:35:36,740 --> 00:35:40,010 >> Do esence, por la pli vidaj lernantoj tie, 809 00:35:40,010 --> 00:35:44,410 ni havas, esence, grafika bildigo de kia tempo buklo faras. 810 00:35:44,410 --> 00:35:48,290 Do en programado, vi komencus kaj eniras la buklo je certa punkto. 811 00:35:48,290 --> 00:35:49,470 Vi kontrolu kondiĉo. 812 00:35:49,470 --> 00:35:52,165 Kaj se la kondiĉo estas vera, vi ekzekuti la kodon ene. 813 00:35:52,165 --> 00:35:53,790 Kaj vi revenos ĉirkaŭ kaj vi kontroli. 814 00:35:53,790 --> 00:35:57,190 Se ĝi estas ankoraŭ vera vin teni kuranta tiun kodon ĉirkaŭ kaj ĉirkaŭ en buklo. 815 00:35:57,190 --> 00:36:00,970 >> Tamen, la dua kiu la kondiĉo igas falsa, 816 00:36:00,970 --> 00:36:02,739 vi tuj rompu kaj fini la buklo. 817 00:36:02,739 --> 00:36:05,030 Kaj tio estas esence la sintakso vi tuj uzos. 818 00:36:05,030 --> 00:36:08,250 Dum certa kondiĉo estas vera tion fari, se ĝi ne estas vera, 819 00:36:08,250 --> 00:36:12,920 vi tuj salti al la fino kaj movi antaŭen kun via programo. 820 00:36:12,920 --> 00:36:13,690 BONE. 821 00:36:13,690 --> 00:36:17,250 >> Ĉu iu havas ekzemplon sur kio povas potenciale okazi 822 00:36:17,250 --> 00:36:19,160 se mi provas kuri ĉi peco de kodo? 823 00:36:19,160 --> 00:36:22,470 Parenteze, SAJ-- jen Scaz, Andi, Jason-- ni subskribi ekstere niaj retpoŝtoj, 824 00:36:22,470 --> 00:36:24,830 Amas, SAJ. 825 00:36:24,830 --> 00:36:25,573 Jen ni. 826 00:36:25,573 --> 00:36:26,500 BONE. 827 00:36:26,500 --> 00:36:29,829 >> Ĉiu havas ekzemplon, aŭ havas ideon sur kion tiu devus presi? 828 00:36:29,829 --> 00:36:30,870 Speco de lertaĵo demando. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Do jen, memoru la kondiĉo ni estas kontrolanta por estas dum vera. 831 00:36:39,380 --> 00:36:42,840 Do dum tiu estas vera, ĝi estas presigos, mi amas SAJ! 832 00:36:42,840 --> 00:36:48,460 Ĉu estas ajna punkto en kiu ni preferus ŝanĝi tion al io alie? 833 00:36:48,460 --> 00:36:49,050 Ne, ĉu ne? 834 00:36:49,050 --> 00:36:51,470 >> Do tie, ni havas renkontis kio estas probable 835 00:36:51,470 --> 00:36:54,310 tuj estos bugging multaj viaj programoj, la senfina buklo. 836 00:36:54,310 --> 00:36:56,268 Vi trovos ke se vi kuri ĉi peco de kodo, 837 00:36:56,268 --> 00:36:58,160 ĝi estas nur tuj daŭre printado, mi amas SAJ! 838 00:36:58,160 --> 00:37:00,701 Dum ni dankas la apogon, ni ne volas vian komputiloj 839 00:37:00,701 --> 00:37:02,910 kraŝi ĉar vi teni presado Mi amas SAJ! 840 00:37:02,910 --> 00:37:05,320 >> Do bonvolu, bonvolu, eviti la senfina buklo 841 00:37:05,320 --> 00:37:07,320 ĉar ĝi estas neniam iranta taksi al falsa 842 00:37:07,320 --> 00:37:08,780 kaj vi neniam iras forlasi la buklo. 843 00:37:08,780 --> 00:37:10,530 Kaj vi tuj esti suĉita eterna. 844 00:37:10,530 --> 00:37:13,000 Malvarmeta. 845 00:37:13,000 --> 00:37:13,694 BONE. 846 00:37:13,694 --> 00:37:15,610 La dua tipo de buklo ni parolos pri hodiaŭ 847 00:37:15,610 --> 00:37:17,580 estas la do dum ciklo, do dum ciklo. 848 00:37:17,580 --> 00:37:20,580 Kaj ĝi nomiĝas do dum buklo ĉar vi havas do kaj tempon. 849 00:37:20,580 --> 00:37:24,390 Do tiu estas sufiĉe simila al momento buklo, sed iomete malsama. 850 00:37:24,390 --> 00:37:27,620 Ĉi tie, vi tuj faros ajn estas interne de tiu 851 00:37:27,620 --> 00:37:29,747 dum certa kondiĉo estas vera. 852 00:37:29,747 --> 00:37:32,580 Do se mi estus C kaj la komputilo mi estas kurante malsupren ĉi peco de kodo, 853 00:37:32,580 --> 00:37:33,880 Mi rigardu la pinton. 854 00:37:33,880 --> 00:37:36,890 Mi iros al C, mi diras faros tion. 855 00:37:36,890 --> 00:37:40,550 Kaj tiam mi kontrolu, dum tiu Verdire, mi devas ripeti ĝin. 856 00:37:40,550 --> 00:37:42,750 Sed dum ĉi tio estas falsa, tiam mi antaŭeniĝi 857 00:37:42,750 --> 00:37:44,700 kaj mi neniam reiros al tiu buklo denove. 858 00:37:44,700 --> 00:37:48,360 >> Ĉu iu ajn preni ponardopiko je kio la diferenco 859 00:37:48,360 --> 00:37:52,130 inter ĉi buklo kaj la ni nur rigardis estis preskaŭ. 860 00:37:52,130 --> 00:37:52,717 Yeah. 861 00:37:52,717 --> 00:37:55,050 Parolanto 15: La kondiĉo venas post anstataŭ antaŭe? 862 00:37:55,050 --> 00:37:55,841 ANDI PENG: Ekzakte. 863 00:37:55,841 --> 00:37:57,984 Do ŝi diris la kondiĉon venas post, ne antaŭe. 864 00:37:57,984 --> 00:38:00,400 Finfine, la diferenco inter tio kaj la dum buklo 865 00:38:00,400 --> 00:38:03,597 estas ke vi nur tuj faros ajn estas interne tiun nekonsiderante 866 00:38:03,597 --> 00:38:06,430 ĉu via kondiĉo estas vera, kaj tiam kontroli la kondiĉo. 867 00:38:06,430 --> 00:38:08,304 Do en ĉi tiu kazo, vi estas always-- tiamaniere, 868 00:38:08,304 --> 00:38:11,240 vi ĉiam certigi ajn estas interne kuras almenaŭ 869 00:38:11,240 --> 00:38:14,230 unufoje antaŭ kontrolanta vidi se vi volas ĝin kuri denove. 870 00:38:14,230 --> 00:38:18,040 >> Kaj tie estas ekzemplo de kiam ni uzus ĝin. 871 00:38:18,040 --> 00:38:22,570 Do ekzemple, se mi volis havi variablon de tipo int nomita aĝo, 872 00:38:22,570 --> 00:38:25,640 kaj mi volas suflori la uzanto por lia aĝo, 873 00:38:25,640 --> 00:38:27,910 Mi tuj faros printf () Kio estas via aĝo? 874 00:38:27,910 --> 00:38:30,330 aĝo = GetInt (), kiu estas instigante la uzanto. 875 00:38:30,330 --> 00:38:32,140 >> Kaj iuj homoj estos vere ĝena. 876 00:38:32,140 --> 00:38:34,931 Kaj vi ne volas cimoj en via programo de iu inputting kiel, 877 00:38:34,931 --> 00:38:36,680 ho mi estas negativa 4 jaroj aŭ kion ajn. 878 00:38:36,680 --> 00:38:39,900 Tiaokaze, se ili faros tion, tiu taksas 879 00:38:39,900 --> 00:38:43,150 al vera, kio signifas ke mi tuj havas plu iri reen kaj faras tion. 880 00:38:43,150 --> 00:38:45,310 Do tiu tuj konservi re-instigante la uzanto 881 00:38:45,310 --> 00:38:47,960 doni vin kiel vera aĝo nombro kaj ĝi estas 882 00:38:47,960 --> 00:38:51,930 tuj observu revenanta kaj redoing ĝi ĝis ili transdonos vin vera aĝo 883 00:38:51,930 --> 00:38:56,900 pli granda ol unu, aŭ ne nulo. 884 00:38:56,900 --> 00:38:58,020 >> Do aludo, aludo. 885 00:38:58,020 --> 00:39:02,263 Tio estos tre, tre utilaj ĉar unu el via pset problemojn. 886 00:39:02,263 --> 00:39:04,155 Yeah. 887 00:39:04,155 --> 00:39:05,580 >> Parolanto 16: Whoops, pardonon. 888 00:39:05,580 --> 00:39:06,288 >> ANDI PENG: Yep. 889 00:39:06,288 --> 00:39:09,424 >> Parolanto 16: Ĉu ekzistas, ne esti asshole, sed- 890 00:39:09,424 --> 00:39:10,340 ANDI PENG No worries. 891 00:39:10,340 --> 00:39:11,990 Parolanto 16: --are tie malsamaj reguloj ĉi tie, 892 00:39:11,990 --> 00:39:13,810 aŭ ĉu vi simple forgesas meti la citaĵon? 893 00:39:13,810 --> 00:39:14,250 >> ANDI PENG: Oh Yeah. 894 00:39:14,250 --> 00:39:15,530 Pardonu, tio estas tute mia malbona. 895 00:39:15,530 --> 00:39:17,100 Tio estis sendube laŭsupoze citaĵo. 896 00:39:17,100 --> 00:39:17,690 Bonan kaptaĵon. 897 00:39:17,690 --> 00:39:18,800 Tio estus ne kuru. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 BONE. 900 00:39:22,830 --> 00:39:26,160 >> Do la lasta tipo de buklo ni parolos pri kaj, finfine, speco de la plej 901 00:39:26,160 --> 00:39:28,854 komplekso estas la por buklo. 902 00:39:28,854 --> 00:39:30,770 Ne maltrankviliĝu, se vi ne scias kion tio signifas. 903 00:39:30,770 --> 00:39:32,061 Estas bela konfuzanta ĉe unua. 904 00:39:32,061 --> 00:39:33,640 Ni transiru ekzemplon. 905 00:39:33,640 --> 00:39:37,040 >> Ĉiuj kiuj okazas en por buklo estas ke vi havas tri deklaroj 906 00:39:37,040 --> 00:39:38,380 ke vi tuj inkluzivi. 907 00:39:38,380 --> 00:39:42,130 Do por iu afero, vi estas tuj pravalorizi variablo. 908 00:39:42,130 --> 00:39:45,280 Vi tuj aldonu la kondiĉon kiu ĉi buklo gardos kurante. 909 00:39:45,280 --> 00:39:47,790 Kaj tiam, ĉe la fino de la buklo, vi tuj ĝisdatigi ĝin. 910 00:39:47,790 --> 00:39:50,248 Vi povas ĝisdatigi la variablo ke vi volas konservi trako de. 911 00:39:50,248 --> 00:39:52,530 Do ni kutime uzas por bukloj ĉar kiam ni 912 00:39:52,530 --> 00:39:55,390 volas kuri buklo por certa kvanto de tempoj 913 00:39:55,390 --> 00:39:58,900 kaj ni jam scias, Ho mi deziras tiu buklo ekzekuti kiel 10 fojojn 914 00:39:58,900 --> 00:40:03,060 tiam vi do-- mi iros ekzemplo sur la sekva paĝo. 915 00:40:03,060 --> 00:40:07,830 >> Do jen ekzemple, en Scratch, se vi deziris ion ripeti 10 fojoj, 916 00:40:07,830 --> 00:40:10,790 ĉiuj vi devis diri estis, Ripeti 10 fojoj mi amas SAJ! 917 00:40:10,790 --> 00:40:15,260 kiu estas pli akceptebla show de subteno por ni 918 00:40:15,260 --> 00:40:17,120 anstataŭ la senfina buklo. 919 00:40:17,120 --> 00:40:19,920 Tie, kiel vi farus transiro al C kaj registran 920 00:40:19,920 --> 00:40:26,040 kiu estas por int-- Mi tuj krei aŭ deklari variablon de tipo int nomis i. 921 00:40:26,040 --> 00:40:30,089 Mi tuj pravalorizi ĝin al 0, tiel mi = 0; 922 00:40:30,089 --> 00:40:31,630 kaj ĉi tiu tuj estos mia kondiĉo. 923 00:40:31,630 --> 00:40:33,860 Do mi estas malpli ol 10. 924 00:40:33,860 --> 00:40:36,096 Kaj tiam ĉe la end-- la lasta deklaro vi estas 925 00:40:36,096 --> 00:40:38,710 tuj havos estas la ĝisdatigo de kio okazas al la variablo i 926 00:40:38,710 --> 00:40:40,206 fine de via por buklo. 927 00:40:40,206 --> 00:40:42,830 Do ĝi estas speco de konfuza, ĉar malsamaj partoj de ĉi tiu linio 928 00:40:42,830 --> 00:40:44,871 okazas je malsamaj tipoj de la buklo. 929 00:40:44,871 --> 00:40:46,746 Sed mi iros super _pseudocode_ ekzemplon de tiu 930 00:40:46,746 --> 00:40:50,360 kaj eble klarigi tiun nur iom pli bone. 931 00:40:50,360 --> 00:40:51,500 >> Do jen. 932 00:40:51,500 --> 00:40:52,929 Tio estas la buklo ni ĵus vidis. 933 00:40:52,929 --> 00:40:55,470 Esence en _pseudocode_, kio okazas en tiu programo, 934 00:40:55,470 --> 00:40:57,940 Estas unuan mi kreanta Mi, la inicialización ĝin al 0. 935 00:40:57,940 --> 00:41:00,440 Mi kontrolas, ĉu mi estas malpli ol 10, en kiu kazo 936 00:41:00,440 --> 00:41:02,840 unuafoje estas ĉar 0 estas malpli ol 10. 937 00:41:02,840 --> 00:41:04,727 Tiel la buklo tuj kuri. 938 00:41:04,727 --> 00:41:06,310 Kaj tiam mi tuj presi tiu linio. 939 00:41:06,310 --> 00:41:11,240 Kaj poste fine de tiu linio, dekstra tie, mi tuj faru pliigo i, i ++, 940 00:41:11,240 --> 00:41:13,370 ĉiuj kiuj rimedoj estas pliigante ĝin por oni. 941 00:41:13,370 --> 00:41:15,460 >> Do mi estas nun 1. 942 00:41:15,460 --> 00:41:17,960 Ĉar ĝi estis iam 0, se mi pliigo ĝi estas, ĝi estas nun 1. 943 00:41:17,960 --> 00:41:19,610 Kaj tiam mi tuj reiros al la komenco de la iteracio 944 00:41:19,610 --> 00:41:20,730 kaj mi kontrolu la kondiĉo. 945 00:41:20,730 --> 00:41:22,080 Estas la kondiĉo ankoraŭ vera? 946 00:41:22,080 --> 00:41:24,030 Jes, 1 estas ankoraŭ malpli ol 10. 947 00:41:24,030 --> 00:41:27,370 Do ĝi tuj presi tiu fojo, iru kaj tiam pliigo i, kaj kontroli 948 00:41:27,370 --> 00:41:29,180 kondiĉe senĉese, kontinue, 949 00:41:29,180 --> 00:41:33,290 ĝis vi finfine akiri al la punkto kie mi estas 10. 950 00:41:33,290 --> 00:41:36,300 >> Vi tuj presi tiu 10 fojojn kaj tiam mi tuj egalos 10. 951 00:41:36,300 --> 00:41:37,800 Vi tuj kontroli la kondiĉo. 952 00:41:37,800 --> 00:41:38,760 Estas 10 malpli ol 10? 953 00:41:38,760 --> 00:41:40,370 Ne, tio estas malvera. 954 00:41:40,370 --> 00:41:43,020 Tiel, ĉi tiu buklo ne tuj kuri, ĝi tuj rompos, 955 00:41:43,020 --> 00:41:45,040 kaj vi tuj daŭrigu per via kodo. 956 00:41:45,040 --> 00:41:47,550 >> Do kiel vi uloj povas vidi, ĉi Estas vere granda ekzemplo 957 00:41:47,550 --> 00:41:53,110 de buklo vi povas plani en tiu kuras por specifa kvanto de tempo. 958 00:41:53,110 --> 00:41:54,457 Cxiu klara? 959 00:41:54,457 --> 00:41:54,956 Yeah. 960 00:41:54,956 --> 00:41:59,060 >> Parolanto 17: Kion pri pliigo eksponente, ĉu malsamaj kodigo? 961 00:41:59,060 --> 00:42:02,060 >> ANDI PENG: Vi can-- ni iros super tiu en la sekva glito. 962 00:42:02,060 --> 00:42:03,350 Bona demando. 963 00:42:03,350 --> 00:42:05,910 Ĉu anyone-- antaŭ mi movos on-- iu ajn konfuzita, 964 00:42:05,910 --> 00:42:07,640 ĉar tio estas vere malfacila koncepto. 965 00:42:07,640 --> 00:42:09,510 Neniu ĉagrenoj, se you're-- OK. 966 00:42:09,510 --> 00:42:10,010 Malvarmeta. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> Bone. 969 00:42:13,490 --> 00:42:14,610 Nur ĝenerala glito. 970 00:42:14,610 --> 00:42:18,020 Tiu dum buklo faras la ĝusta sama aĵo la por buklo estis. 971 00:42:18,020 --> 00:42:19,631 Ĝi simple skribita malsame. 972 00:42:19,631 --> 00:42:22,130 Vi uloj povas peruse la diapozitivojn ĉe via komforto poste sur. 973 00:42:22,130 --> 00:42:24,880 Sed ĝuste scias ke ekzistas multoblaj manieroj de skribi la samon 974 00:42:24,880 --> 00:42:28,300 okazi kun malsamaj cikloj. 975 00:42:28,300 --> 00:42:28,800 BONE. 976 00:42:28,800 --> 00:42:32,380 >> Do, nun ni akiras en la demando de kio se ni havas buklo ene de banto. 977 00:42:32,380 --> 00:42:35,810 Ni nun estas en reala Inception tipo stuff tie. 978 00:42:35,810 --> 00:42:40,640 Kiam vi deziras fari aferojn multoblaj fojojn ene de aliaj aĵoj 979 00:42:40,640 --> 00:42:44,129 kiuj faras aferojn plurfoje, vi deziras kio nomiĝas nestitaj por buklo. 980 00:42:44,129 --> 00:42:47,420 Por tiuj de vi kiu unue vidas ĉi kaj akiri tre konfuzita, ĉiuj ni faras ĉi tie 981 00:42:47,420 --> 00:42:50,580 havas por buklo kie ni havas variablo de vico. 982 00:42:50,580 --> 00:42:54,500 Sed interne de ĝi, ni ankaŭ havas alian por buklo de variablo nomita kolumno. 983 00:42:54,500 --> 00:42:58,560 Kaj mi forte sugestas vin ĉiujn kiuj konfuzas unua teni 984 00:42:58,560 --> 00:43:00,310 track-- desegni ĉi ekstere, desegni ĉi ekstere. 985 00:43:00,310 --> 00:43:03,000 Ne penu nur kialo tra ĝi, eltiri gxin. 986 00:43:03,000 --> 00:43:06,630 >> En via kapo, sur ĉi tiun papero, aŭ kio ajn, skribu vico, 987 00:43:06,630 --> 00:43:08,614 sekvigi kio vico egalas. 988 00:43:08,614 --> 00:43:10,780 Skribi kolumno, sekvigi kion kolumno estas egala al. 989 00:43:10,780 --> 00:43:13,490 Kaj konservi trako de kio presi el kun ĉiu ripeto. 990 00:43:13,490 --> 00:43:16,320 Ĉiu ripeto de ĉi ciklo, ĉiu ripeto de tiu granda ciklo, 991 00:43:16,320 --> 00:43:17,820 simple observu sekvanta la logikon. 992 00:43:17,820 --> 00:43:20,190 Kaj mi garantias vin, vi amos kion vi vidas, 993 00:43:20,190 --> 00:43:24,307 ĉar ĝi estas ankaŭ tre Taŭga por via problemo aroj. 994 00:43:24,307 --> 00:43:24,806 Malvarmeta. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 Bone. 997 00:43:28,000 --> 00:43:30,723 Do la plej grava afero ke vi uloj estas probable ĉiuj 998 00:43:30,723 --> 00:43:32,400 pensante pri ĝuste nun, Estas via problemo aro 1s, 999 00:43:32,400 --> 00:43:33,650 kiu ŝuldiĝas ĵaŭdo / vendredo. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> En via water.c programo, aludi, vi tuj devas 1002 00:43:39,710 --> 00:43:41,590 suflori la uzanto por enigo. 1003 00:43:41,590 --> 00:43:43,640 Ene via mario.c programo vi tuj havos 1004 00:43:43,640 --> 00:43:46,431 uzi nestitaj por ciklo, kiu estas por buklo ene de por ciklo, 1005 00:43:46,431 --> 00:43:50,247 presi blokon de piramido, esence kiel kio Mario devas salti tra. 1006 00:43:50,247 --> 00:43:53,330 Kaj tiam en via greedy-- aŭ eble Making Change, se iu el vi infanoj 1007 00:43:53,330 --> 00:43:55,740 iam aŭdis pri that-- vi tuj devos esti tre 1008 00:43:55,740 --> 00:43:58,160 zorgema de unua glitpunktaj valoroj. 1009 00:43:58,160 --> 00:44:01,860 Memoru flosanta glitpunktaj kaj entjeroj ne estas la samo. 1010 00:44:01,860 --> 00:44:03,620 Sekvigi kiu estas kiu. 1011 00:44:03,620 --> 00:44:05,953 Kaj vi tuj uzos kondiĉa deklaroj, tiel. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> Bone, lasta afero. 1014 00:44:10,940 --> 00:44:12,770 Mi havas kelkajn minutojn lasis. 1015 00:44:12,770 --> 00:44:13,460 Stilo. 1016 00:44:13,460 --> 00:44:19,320 Do ĉi tio estas iu kiu ne fakte efikas efikeco, 1017 00:44:19,320 --> 00:44:21,010 aŭ la fakta kurado de via kodo. 1018 00:44:21,010 --> 00:44:24,380 Tamen, ĝi efektivigas nin via lernojaranoj, kiel viaj legantoj. 1019 00:44:24,380 --> 00:44:27,290 Ĝi efektivigas mem, se vi estas provante trovi problemon. 1020 00:44:27,290 --> 00:44:30,700 Ĝi efektoj la legeblecon de via kodo. 1021 00:44:30,700 --> 00:44:34,070 >> Do stilo, kiel kiam vi provas stiligi eseo pri la angla, se vi 1022 00:44:34,070 --> 00:44:36,070 ne havis alineoj, vi havas ĉiun specon 1023 00:44:36,070 --> 00:44:39,190 de implikas kune sur unu linio, ĝi faras vere malfacila por neniu 1024 00:44:39,190 --> 00:44:42,620 legi vian eseon, eĉ se viaj punktoj estas logike sono. 1025 00:44:42,620 --> 00:44:44,390 Sama afero en programado. 1026 00:44:44,390 --> 00:44:47,910 Vi povas havi terure obskura kodo kiu Scaz kovros, 1027 00:44:47,910 --> 00:44:49,660 kaj ĝi povas ankoraŭ kuri kaj funkcio. 1028 00:44:49,660 --> 00:44:53,110 Sed por ni, kiel viaj amindaj TAS, kiuj volas estu leganta kaj pritaksanta via psets, 1029 00:44:53,110 --> 00:44:54,460 Tio ne estas tre agrabla. 1030 00:44:54,460 --> 00:44:56,859 >> Do bonvolu, pro de ni kaj mem 1031 00:44:56,859 --> 00:44:58,900 kiam vi provas ripari problemo en via kodo, 1032 00:44:58,900 --> 00:45:00,774 kaj vi provas legi vian propran kodon, fari 1033 00:45:00,774 --> 00:45:03,910 certe vin sekvas iuj konvencioj ke ni tuj iru super. 1034 00:45:03,910 --> 00:45:04,510 >> Do unue. 1035 00:45:04,510 --> 00:45:07,070 Donu vian variabloj signifoplenaj nomoj. 1036 00:45:07,070 --> 00:45:11,450 Se vi volas stoki entjero nomita aĝo, bonvolu ajn aĝo. 1037 00:45:11,450 --> 00:45:12,875 Ne ajn alto. 1038 00:45:12,875 --> 00:45:14,750 Kiam vi provas stoki aĝon en alteco, 1039 00:45:14,750 --> 00:45:16,722 faras ĉiun tre konfuza por ni. 1040 00:45:16,722 --> 00:45:17,930 Ni ne ŝatas konfuzi. 1041 00:45:17,930 --> 00:45:19,180 Vi ne ŝatas konfuzi. 1042 00:45:19,180 --> 00:45:20,350 Neniu ŝatas esti konfuzita. 1043 00:45:20,350 --> 00:45:23,100 Se vi iras por krei ion, ajn io signfa. 1044 00:45:23,100 --> 00:45:26,440 >> Tamen, en por buklo, unuopaj karaktero variabloj estas kutime monpuno. 1045 00:45:26,440 --> 00:45:31,350 Kaj en por buklo, se vi volas nur i, kaj j, k, bonvolu simple fari tion. 1046 00:45:31,350 --> 00:45:32,670 >> Konsekvenca inicialización. 1047 00:45:32,670 --> 00:45:33,770 Do kion tio signifas? 1048 00:45:33,770 --> 00:45:37,600 Tio signifas teknike, teorie, vi povas komenci kaj krei 1049 00:45:37,600 --> 00:45:40,140 multoblaj variabloj sur la sama linio. 1050 00:45:40,140 --> 00:45:42,820 Do ekzemple, mi povas krei entjero nomis scaz_age, 1051 00:45:42,820 --> 00:45:47,110 kaj entjero nomis andi_age = 20, kaj entjero nomis jason_age 1052 00:45:47,110 --> 00:45:48,090 sur la sama linio. 1053 00:45:48,090 --> 00:45:52,060 Kaj mi povas ankaŭ asigni nur unu el ilin kaj ne la aliaj valoroj. 1054 00:45:52,060 --> 00:45:54,142 Ni petas vin bonvolu ne fari tion. 1055 00:45:54,142 --> 00:45:57,350 Ĉar tie vi esence kreita tri variabloj, sed nur unu el ili 1056 00:45:57,350 --> 00:45:58,295 efektive havas valoron. 1057 00:45:58,295 --> 00:46:00,170 Kaj poste kiam ni estas provi legi vian kodo, 1058 00:46:00,170 --> 00:46:01,850 aŭ se vi provas ripari problemo en via kodo, 1059 00:46:01,850 --> 00:46:03,340 ĝi estas tre konfuzanta sekvi. 1060 00:46:03,340 --> 00:46:09,300 Do nur pro via legado, por nia legeblecon, ne faru tion. 1061 00:46:09,300 --> 00:46:10,355 >> Konsekvenca buklaj krampoj. 1062 00:46:10,355 --> 00:46:12,980 Kelkaj homoj ŝatas meti iliajn krispa krampoj en malsamaj lokoj. 1063 00:46:12,980 --> 00:46:14,100 Fakte ne gravas. 1064 00:46:14,100 --> 00:46:17,900 Ĝuste certigi ke vi estas kohera en viaj propra kodo sur kie vi ŝatas meti ilin. 1065 00:46:17,900 --> 00:46:18,950 >> Konsekvenca interspacigo. 1066 00:46:18,950 --> 00:46:22,040 Se vi metas spaco post por ciklo, ĉiam fari tion. 1067 00:46:22,040 --> 00:46:24,930 Ne Nur ŝatas speco de fari ĝin ĉe iuj lokoj, ne fari ĝin en aliaj. 1068 00:46:24,930 --> 00:46:26,580 Nur esti konsekvenca. 1069 00:46:26,580 --> 00:46:29,500 >> Due, se iu volus al peruse la CS50 Stilo Gvidilo, 1070 00:46:29,500 --> 00:46:33,230 Ni oficiale havas stilon gvidas ke diras vin ĉiuj de ĉi tiuj konvencioj, 1071 00:46:33,230 --> 00:46:34,890 plus pli. 1072 00:46:34,890 --> 00:46:35,530 Ĝi estas ensalutintaj. 1073 00:46:35,530 --> 00:46:38,670 Estas kiel cs50.net/style aŭ io simila. 1074 00:46:38,670 --> 00:46:40,180 Vi povas google ĝin. 1075 00:46:40,180 --> 00:46:41,399 >> Consistencia estas la ŝlosilo. 1076 00:46:41,399 --> 00:46:43,190 Do ne maltrankviliĝu kio aliaj homoj faras, 1077 00:46:43,190 --> 00:46:46,180 nur certigi ke vi estas konsekvenca en viaj propraj kodo. 1078 00:46:46,180 --> 00:46:50,570 Iu havas demandojn pri tio? 1079 00:46:50,570 --> 00:46:51,070 Yeah. 1080 00:46:51,070 --> 00:46:53,370 >> Parolanto 18: Do la konvena afero fari kun inicialización estas nur 1081 00:46:53,370 --> 00:46:56,130 havas ilin ĉiujn en apartajn linio, estas ke kion vi diras? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI PENG: Do mi malofte esti ĉi okazi. 1083 00:46:58,850 --> 00:47:02,230 Sed se vi volis, se vi volis esti kiel ŝpari spacon en via kodo, 1084 00:47:02,230 --> 00:47:04,000 aŭ kion ajn, vi povas fari tion. 1085 00:47:04,000 --> 00:47:07,800 Ni petas ke vi simple ne pravalorizi unu aferon kaj ne la aliaj. 1086 00:47:07,800 --> 00:47:12,600 Do se vi volas fari int scaz_age, int andi_age, int jason_age, tio estas bone. 1087 00:47:12,600 --> 00:47:15,600 Nur ne pravalorizi unu kaj ne la aliaj estas ĉiuj. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Demandoj? 1090 00:47:19,904 --> 00:47:20,850 Bone. 1091 00:47:20,850 --> 00:47:24,610 Mi tuj pasos for la mikrofono, kaj la lasero pointer, 1092 00:47:24,610 --> 00:47:28,862 kaj la taktobastono al Scaz ĉe tiu punkto. 1093 00:47:28,862 --> 00:47:29,808 Tio estas mallerta. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Jen ĝi. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN SCASSELLATI: Dankon. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Kiom estas tio sono? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Sono estas bona? . 1101 00:47:47,900 --> 00:47:49,220 Bonege. 1102 00:47:49,220 --> 00:47:50,350 BONE. 1103 00:47:50,350 --> 00:47:52,110 Do, hi ĉiuj. 1104 00:47:52,110 --> 00:47:56,540 >> Mi tuj provos labori tra praktika ekzemplo kun vi. 1105 00:47:56,540 --> 00:48:00,850 Kaj ni tuj uzi CS50 disvolviĝo medio, kio nomiĝas 1106 00:48:00,850 --> 00:48:03,120 la Integrated Development Environment. 1107 00:48:03,120 --> 00:48:05,145 Kaj vi vidis ĉi pruvis en prelego. 1108 00:48:05,145 --> 00:48:07,520 Kaj en Problemo Serio 1, vi estas iranta havi ŝancon 1109 00:48:07,520 --> 00:48:10,890 por uzi ĝin, kaj amuziĝu kun ĝin, kaj akiri alkutimiĝis! 1110 00:48:10,890 --> 00:48:13,640 ĉar ni tuj uzi ĝin tra la resto de la semestro. 1111 00:48:13,640 --> 00:48:20,350 >> Do en ĉi IDE, vi havas kio aspektas kiel tre tradicia dosiero retumilo 1112 00:48:20,350 --> 00:48:21,890 super sur unu flanko. 1113 00:48:21,890 --> 00:48:24,360 Vi havas porcion supren pinto kie vi tuj 1114 00:48:24,360 --> 00:48:28,850 vidi vian fontkodon, via Cfile, la kodo kiun vi skribas. 1115 00:48:28,850 --> 00:48:31,880 Kaj malsupren malsupro, vi havas terminala fenestro 1116 00:48:31,880 --> 00:48:36,330 kiun vi uzos por ambaŭ kompili vian programon 1117 00:48:36,330 --> 00:48:39,090 kaj kuri aŭ ekzekuti via programo. 1118 00:48:39,090 --> 00:48:40,100 BONE. 1119 00:48:40,100 --> 00:48:46,560 >> Do simple por doni al ni iom da fondo, en tiu fina fenestro, 1120 00:48:46,560 --> 00:48:48,930 vi tuj estos uzante aron de komandoj 1121 00:48:48,930 --> 00:48:53,040 kiuj estas normaj komandoj ĉie plejparto de Unikso aŭ Linukso sistemoj. 1122 00:48:53,040 --> 00:48:55,890 Kaj do se vi iam uzis ajna formo de Unikso, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 aŭ ajnaj aliaj gustoj, tiuj tuj serĉos familiara. 1124 00:48:59,140 --> 00:49:00,890 >> Se vi ne havas, ne maltrankviliĝu. 1125 00:49:00,890 --> 00:49:02,830 Nenio komplika pri ili. 1126 00:49:02,830 --> 00:49:05,330 Ili simple uzas malsaman sintakso, malsama nomanta 1127 00:49:05,330 --> 00:49:07,630 konvencio ol vi vidis antaŭe. 1128 00:49:07,630 --> 00:49:12,190 >> Do al listo el la dosierojn ene apartan dosierujon, 1129 00:49:12,190 --> 00:49:15,310 ili tuj uzas komando nomis ls, aŭ listo. 1130 00:49:15,310 --> 00:49:18,010 Se vi volas vidi ĉiun kun ĉiuj detaloj, 1131 00:49:18,010 --> 00:49:21,535 vi uzos komandon linio argumento kun ls -l. 1132 00:49:21,535 --> 00:49:23,910 Kaj tio montros al vi ĉion pli detale, inkluzive 1133 00:49:23,910 --> 00:49:26,270 la permesojn por dosiero. 1134 00:49:26,270 --> 00:49:31,190 >> Ŝanĝi dosierujon, vi uzos la cd komandon. 1135 00:49:31,190 --> 00:49:35,180 Kaj vi povos ŝanĝi dosierujo ambaŭ iri al via hejma dosierujo. 1136 00:49:35,180 --> 00:49:38,500 Tio estas nur kd tute mem, KD kun du 1137 00:49:38,500 --> 00:49:42,930 dots revenos vin unu nivelo al via antaŭa dosierujo. 1138 00:49:42,930 --> 00:49:46,400 Kaj vi povas ankaŭ kd al subdosierujo tajpante en kd 1139 00:49:46,400 --> 00:49:48,500 kaj la nomo de tiu subdosierujo. 1140 00:49:48,500 --> 00:49:50,540 >> Vi povas ankaŭ krei novajn dosierujojn. 1141 00:49:50,540 --> 00:49:52,790 Kaj ni tuj marŝi tra ĉi en nur unu minuto. 1142 00:49:52,790 --> 00:49:54,498 Sed nur meti ĉio sur la ekrano. 1143 00:49:54,498 --> 00:49:56,310 Por ke vi povu vidi ilin. 1144 00:49:56,310 --> 00:50:00,420 >> Vi ankaŭ havas la kapablon manipuli dosierojn rekte 1145 00:50:00,420 --> 00:50:02,100 de la komandlinio. 1146 00:50:02,100 --> 00:50:06,059 Vi povos kopii ilin al movi ilin aŭ forigi ilin, 1147 00:50:06,059 --> 00:50:07,600 tio estas, efektive, forviŝi ilin. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> La CS50 IDE donas la plenan povo de komandlinio argumentoj. 1150 00:50:15,350 --> 00:50:20,280 Kaj ke signifas vin povas ankaŭ fari tre danĝeraj aferoj. 1151 00:50:20,280 --> 00:50:21,560 BONE. 1152 00:50:21,560 --> 00:50:25,010 Ekzemple, vi povas forigi aux forigi, 1153 00:50:25,010 --> 00:50:28,750 dosiero sen petante por confirmación. 1154 00:50:28,750 --> 00:50:31,820 Kaj vi eĉ povas forigi recursively-- tio 1155 00:50:31,820 --> 00:50:38,940 la haltostreko r flag-- tutan subdosierujo kaj ĉiuj ties enhavon. 1156 00:50:38,940 --> 00:50:39,660 BONE. 1157 00:50:39,660 --> 00:50:42,940 Ili listigitaj en ruĝa ĉar vi devus pensi "Danĝero" ĉiufoje 1158 00:50:42,940 --> 00:50:45,000 vi vidas tion. 1159 00:50:45,000 --> 00:50:45,920 BONE. 1160 00:50:45,920 --> 00:50:46,420 Bone. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Nun fine, la propraĵon tuj estos vere valora al vi, 1163 00:50:53,430 --> 00:50:57,270 estas ekzistas kelkaj bonaj lertaĵoj scii kiel vi navigi 1164 00:50:57,270 --> 00:50:59,190 tra ĉi tiu fina stacio fenestro. 1165 00:50:59,190 --> 00:51:03,590 Unue, vi povas malbari la ekranon ajna momento por nur tajpi en klara. 1166 00:51:03,590 --> 00:51:06,310 Kaj vi tuj vidos mi faras tion tre ofte. 1167 00:51:06,310 --> 00:51:09,990 Vi povas ankaŭ simple montri la teksto de dosiero 1168 00:51:09,990 --> 00:51:13,992 tajpante pli kaj tiam la dosiernomo. 1169 00:51:13,992 --> 00:51:17,200 Vi tiam povos rulumu dorso kaj eliras, ke nur kun la spacebar 1170 00:51:17,200 --> 00:51:19,010 kaj sagoklavoj. 1171 00:51:19,010 --> 00:51:25,450 >> Se vi havas, kiel ni faris hodiaŭ en prelego, programo kiu ruliĝas senĉese 1172 00:51:25,450 --> 00:51:29,190 en senfina buklo, vi povas halti tiun programon 1173 00:51:29,190 --> 00:51:35,160 de ekzekuti tajpante en kontrolo, kiu tenas Kontrolo-C. 1174 00:51:35,160 --> 00:51:38,360 Kaj vi devas fari tiun plurfoje. 1175 00:51:38,360 --> 00:51:40,620 La komputilo ricevas nun antaux vi. 1176 00:51:40,620 --> 00:51:43,380 Kaj vi foje bezonas doni kelkajn provojn 1177 00:51:43,380 --> 00:51:46,280 antaŭ ĝi efektive veni tra. 1178 00:51:46,280 --> 00:51:48,760 >> Vi ankaŭ povos ordigi tra la komandojn 1179 00:51:48,760 --> 00:51:54,230 ke vi ĵus tajpita uzante la supren klavo, arrow klavon, kaj poste la malsupren sago ŝlosilo. 1180 00:51:54,230 --> 00:51:57,560 Kaj kio estas plej utila estas anstataŭe de tajpado el longaj dosiernomoj, 1181 00:51:57,560 --> 00:52:02,209 Vi povos la uzo Tab al autocompletar kelkajn instrukciojn. 1182 00:52:02,209 --> 00:52:04,750 Nun ni iras por pruvi ĉiuj el tiuj en nur dua. 1183 00:52:04,750 --> 00:52:06,780 Do se vi ne memoras ilin, ne maltrankviliĝu. 1184 00:52:06,780 --> 00:52:10,780 Tiuj estas aferoj kiujn vi instruos vin repreni kaj uzi kiel ni iras kune. 1185 00:52:10,780 --> 00:52:11,470 BONE. 1186 00:52:11,470 --> 00:52:18,830 >> Do en C-- malkiel en Scratch-- C estas kompilita lingvo. 1187 00:52:18,830 --> 00:52:23,210 Tio signifas ke ni tuj prenu fonto file-- jen la teksto kiun vi skribas, 1188 00:52:23,210 --> 00:52:26,500 la komandojn kiujn vi skribos, la printf () deklaroj, la masxojn, 1189 00:52:26,500 --> 00:52:32,580 ĉio else-- kaj ni tuj preni tiun dosieron kaj donu ĝin for 1190 00:52:32,580 --> 00:52:34,670 al programo nomata tradukilo. 1191 00:52:34,670 --> 00:52:39,850 >> La tradukilo prenu ke teksto kiun vi skribis 1192 00:52:39,850 --> 00:52:43,270 kaj traduki ĝin la duuma instrukcioj 1193 00:52:43,270 --> 00:52:46,010 ke via komputilo estas vere tuj uzon. 1194 00:52:46,010 --> 00:52:49,700 Tio nomiĝas la objekto aŭ la ruleblan dosieron. 1195 00:52:49,700 --> 00:52:55,320 Se vi rigardas tiun dosieron, vi tuj vidi la kodon kiun vi skribis. 1196 00:52:55,320 --> 00:52:59,480 Se vi rigardas tiun dosieron, vi tuj vidi hazarda sekvenco de karakteroj 1197 00:52:59,480 --> 00:53:01,680 kiuj faras neniun senson ajn. 1198 00:53:01,680 --> 00:53:03,250 Tio estas ĉar tiu estas la duuma. 1199 00:53:03,250 --> 00:53:05,560 Ĝi ne signifis por vi esti leganta. 1200 00:53:05,560 --> 00:53:08,690 >> Tamen, ajn vi volas ruli ion, kion vi tuj 1201 00:53:08,690 --> 00:53:13,670 esti kuranta estas tiu objekto dosiero. 1202 00:53:13,670 --> 00:53:19,110 Do kiam ni laboras kun ĉi tiuj dosierojn, ni skribos dosiero en C. 1203 00:53:19,110 --> 00:53:23,400 Ni tiam kompili ĝin, uzante komando kiel ŝminko kiu alpreĝi 1204 00:53:23,400 --> 00:53:27,070 la kompililo tin por la C lingvo. 1205 00:53:27,070 --> 00:53:31,530 Kaj kiu produktos objekto fajliloj, kiel ekstere, aŭ en tiu kazo, 1206 00:53:31,530 --> 00:53:36,580 la nomon, mian dosieron, kiun mi metis en. 1207 00:53:36,580 --> 00:53:37,780 Bone. 1208 00:53:37,780 --> 00:53:39,790 >> Do ni vere provi tion. 1209 00:53:39,790 --> 00:53:42,850 Do mi elpensis ekzemplon kion mi volis provi. 1210 00:53:42,850 --> 00:53:47,380 Kaj unu el la aĵoj kiuj logas min estas kuraĝigo. 1211 00:53:47,380 --> 00:53:51,010 Do ni tuj provos fari iomete de kuraĝigo 1212 00:53:51,010 --> 00:53:53,760 uzante nur askiaj literoj. 1213 00:53:53,760 --> 00:53:56,470 Karakteroj ni povas presi facile nun. 1214 00:53:56,470 --> 00:54:00,890 >> Do jen mia provo bona krei por vi 1215 00:54:00,890 --> 00:54:07,005 la kuraĝigo de bunny kurante tra la alta herbo. 1216 00:54:07,005 --> 00:54:07,505 Tie li estas. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 BONE. 1219 00:54:10,670 --> 00:54:14,050 Do li ne kuris ankoraŭ, sed li estas staras tie en la alta herbo. 1220 00:54:14,050 --> 00:54:17,810 >> Nun se mi animador, en la malnova lernejo 1221 00:54:17,810 --> 00:54:20,860 versio de kuraĝigo, kio mi farus estas mi produktus 1222 00:54:20,860 --> 00:54:23,640 bildon de ĉi conejita en la herbo. 1223 00:54:23,640 --> 00:54:25,390 Kaj tiam mi produktus alia picture-- 1224 00:54:25,390 --> 00:54:30,600 alian kion ili nomis cell-- ke estis la conejita nur iomete movis. 1225 00:54:30,600 --> 00:54:34,870 Kaj tiam trionon kiu havis la bunny kopiis iomete plu. 1226 00:54:34,870 --> 00:54:40,610 >> Kaj mi produktus tutan sekvenco de tiuj ĉeloj. 1227 00:54:40,610 --> 00:54:44,220 Iuj kie la conejita estas super sur la maldekstra flanko. 1228 00:54:44,220 --> 00:54:47,050 Kaj poste movas malrapide, unu per unu al la mezo. 1229 00:54:47,050 --> 00:54:51,120 Kaj tiam, el la mezo super dekstre. 1230 00:54:51,120 --> 00:54:55,760 Kaj se mi estus tiam, vere bonŝanca, mi povus meti ĝin kune 1231 00:54:55,760 --> 00:54:57,970 kaj mi povus animi ilin. 1232 00:54:57,970 --> 00:55:00,370 Kaj estas mia bunny kurante tra la herbo. 1233 00:55:00,370 --> 00:55:02,310 >> Tio estas mia granda PowerPoint trompi por la tago. 1234 00:55:02,310 --> 00:55:02,809 BONE. 1235 00:55:02,809 --> 00:55:04,760 Do tiu estas tiel bona kiel ĝi ricevas. 1236 00:55:04,760 --> 00:55:05,260 BONE. 1237 00:55:05,260 --> 00:55:08,455 Do, ĉi tie oni pli tempo, tie estas nia Bunny kurante tra la herbo. 1238 00:55:08,455 --> 00:55:09,217 >> Parolanto 19: Denove. 1239 00:55:09,217 --> 00:55:11,050 BRIAN SCASSELLATI: Unu pli da tempo, gxuste. 1240 00:55:11,050 --> 00:55:11,940 Tie estas via kunikleto. 1241 00:55:11,940 --> 00:55:12,940 BONE. 1242 00:55:12,940 --> 00:55:15,470 >> Do hodiaŭ kion ni tuj fari estas ni iras 1243 00:55:15,470 --> 00:55:21,110 provi aŭtomatigi la procezon produkti tiujn ĉelojn. 1244 00:55:21,110 --> 00:55:24,135 Ni ne sufiĉe akiri al la punkto de povante meti ilin ĉiujn kune. 1245 00:55:24,135 --> 00:55:28,900 Sed, ni tuj provos aŭtomatigi la generado de tiu sekvenco. 1246 00:55:28,900 --> 00:55:32,900 >> Kaj estas multe da tio kuraĝigo hodiaŭ similas. 1247 00:55:32,900 --> 00:55:36,690 Tio estas, vi ne faras aferojn nepre strekante ĉiu mane. 1248 00:55:36,690 --> 00:55:40,610 Ni uzas komputilon aŭtomatigi partoj de tiu procezo. 1249 00:55:40,610 --> 00:55:41,110 BONE. 1250 00:55:41,110 --> 00:55:47,720 >> Do lasu min ŝanĝi super nun al nia CS50 IDE. 1251 00:55:47,720 --> 00:55:54,260 Kaj mi kreis por us-- kaj lasu min zomi tie iomete bit-- mi havas 1252 00:55:54,260 --> 00:55:58,420 kreis por ni deirpunkto. 1253 00:55:58,420 --> 00:56:03,830 >> Ĉiufoje ke ni petas vin sidi malsupren kaj skribi koderon, 1254 00:56:03,830 --> 00:56:09,250 kion ni vere petante vin fari Estas ni petas al solvi problemon. 1255 00:56:09,250 --> 00:56:11,810 Kaj la vojon ke vi devus pensi pri faranta tion 1256 00:56:11,810 --> 00:56:17,900 estas per startanta kun iuj simpla parto de tiu solvo. 1257 00:56:17,900 --> 00:56:21,730 Kaj tiam konstrui el tiu parto. 1258 00:56:21,730 --> 00:56:23,400 Kaj tio estas kion ni tuj fari hodiaŭ. 1259 00:56:23,400 --> 00:56:27,570 >> Do anstataŭ provi ĉiuj samtempe al skribi la tutan faskon de kodo kiu estas 1260 00:56:27,570 --> 00:56:30,770 tuj produktos tiuj 10 kuraĝigo ĉeloj, 1261 00:56:30,770 --> 00:56:35,506 Ni tuj komencu anstataŭe per unu peco kiu funkcias. 1262 00:56:35,506 --> 00:56:37,380 Kaj poste ni konstruu iomete ĉirkaŭ tiu 1263 00:56:37,380 --> 00:56:39,740 kaj iom pli kaj iom pli. 1264 00:56:39,740 --> 00:56:42,550 >> Nun la bona afero pri solvanta problemojn tiu maniero 1265 00:56:42,550 --> 00:56:46,716 estas ke ĝi permesos vin komenci ĉiam kun iu kiu vi scias 1266 00:56:46,716 --> 00:56:51,130 funkcias kaj enkonduki unu laŭgrada ŝanĝo. 1267 00:56:51,130 --> 00:56:54,090 Kaj tio estas granda vojo lerni kiel kodi, 1268 00:56:54,090 --> 00:56:58,590 ĉar ĉiu tempo vi faras ŝanĝo, vi vidos kion efiko havas. 1269 00:56:58,590 --> 00:56:59,540 BONE. 1270 00:56:59,540 --> 00:57:01,450 >> Do jen nia deirpunkto. 1271 00:57:01,450 --> 00:57:01,950 BONE. 1272 00:57:01,950 --> 00:57:08,030 Do komence de mia dosiero, Mi havas hash #included stdio.h. 1273 00:57:08,030 --> 00:57:12,560 Estas vere ke mi povas akiri la printf () funkcion por labori. 1274 00:57:12,560 --> 00:57:15,240 >> Mi tiam mi havas mia ĉefa funkcio. 1275 00:57:15,240 --> 00:57:18,760 Kaj tio ankoraŭ aspektas iom arcano aŭ malklara al iuj de vi. 1276 00:57:18,760 --> 00:57:20,010 Estas bone. 1277 00:57:20,010 --> 00:57:23,190 Ĉiuj diras estas ke la ĉefa funkcio prenas 1278 00:57:23,190 --> 00:57:27,830 neniu arguments-- malplenon rimedoj nenio en C. Kaj ĝi 1279 00:57:27,830 --> 00:57:29,940 revenas per konvencio entjero. 1280 00:57:29,940 --> 00:57:33,290 Ĉefa ĉiam revenas entjero, kutime kodon dirante aĵoj 1281 00:57:33,290 --> 00:57:35,071 iris bone aŭ ne iris bone. 1282 00:57:35,071 --> 00:57:35,570 BONE. 1283 00:57:35,570 --> 00:57:39,110 Sed ĉefa devas havi tiun formi por ni nun. 1284 00:57:39,110 --> 00:57:42,080 >> Mi tiam metis en tri linioj de kodo. 1285 00:57:42,080 --> 00:57:46,760 Kaj kune kun ĉiu linio de kodo, mi metis komenton. 1286 00:57:46,760 --> 00:57:51,340 Nun unu el la aĵoj kiuj Ni insistas, ke vi faru, 1287 00:57:51,340 --> 00:57:55,320 kaj ĝi estas tia grava programado praktiko, 1288 00:57:55,320 --> 00:57:57,800 estas ĉiam komenti vian kodon. 1289 00:57:57,800 --> 00:58:02,550 Ĉiam notas en Angla komenton ion 1290 00:58:02,550 --> 00:58:06,740 ke vi opinias la kodo estas supozita fari. 1291 00:58:06,740 --> 00:58:11,360 KE vojo, poste, kiam vi revenos al ĝin, vi povas rigardi ĝin kaj vi povas diri: 1292 00:58:11,360 --> 00:58:13,800 ho, mi memoras kion mi provas fari kun tiu. 1293 00:58:13,800 --> 00:58:17,590 Aŭ kiam TA eksidas kun vi provos helpi vin ĉe oficejo horoj, 1294 00:58:17,590 --> 00:58:20,890 Ili povas rigardi tion kaj iru, mi vidi kion vi volis fari, 1295 00:58:20,890 --> 00:58:25,630 sed anstataŭ tio kio vere okazas. 1296 00:58:25,630 --> 00:58:26,130 BONE. 1297 00:58:26,130 --> 00:58:30,300 >> Do mi havas tri partojn al mia kodo, Mi tuj unue presita 1298 00:58:30,300 --> 00:58:33,110 kelkajn punktojn ĉe la komenco. 1299 00:58:33,110 --> 00:58:37,480 Mi tiam presi miajn ekstreme imago kunikleto. 1300 00:58:37,480 --> 00:58:40,600 Kaj tiam iu iom de punktoj ĉe la fino. 1301 00:58:40,600 --> 00:58:45,220 >> Kaj tiuj tri deklaroj devus print aspektas familiaraj al vi je tiu punkto. 1302 00:58:45,220 --> 00:58:47,350 Ĉiuj ke mi faras en ĉiu el ili estas mi 1303 00:58:47,350 --> 00:58:49,780 presi el vico de signoj. 1304 00:58:49,780 --> 00:58:51,370 Mankas variabloj implikitaj. 1305 00:58:51,370 --> 00:58:54,320 Ĉio estas simple plata. 1306 00:58:54,320 --> 00:58:55,270 BONE. 1307 00:58:55,270 --> 00:59:07,340 >> Do se mi iru nun al mia terminal-- ni vidu, se mi povas ricevi ĉi reen fjordon 1308 00:59:07,340 --> 00:59:09,370 kaj mi tuj tajpi klara denove. 1309 00:59:09,370 --> 00:59:12,507 >> Parolanto 20: Ĉu ni uzu la duobla oblikvo komenti? 1310 00:59:12,507 --> 00:59:14,340 BRIAN SCASSELLATI: Can uzi la double-- jes. 1311 00:59:14,340 --> 00:59:16,920 Ekzistas multnombraj manieroj lasi komentojn en C. Unu 1312 00:59:16,920 --> 00:59:19,440 maniero estas uzi la duoblaj oblikvo. 1313 00:59:19,440 --> 00:59:24,910 La alia estas uzi oblikvo kaj stelo kaj poste fermi kun stelo kaj oblikvo. 1314 00:59:24,910 --> 00:59:26,110 Bone. 1315 00:59:26,110 --> 00:59:28,950 >> Unue, mi tuj komenci navigi ĉirkaŭ tie. 1316 00:59:28,950 --> 00:59:35,350 Do se mi iras al mia hejmo dosierujo, Mi ŝanĝis dosierujojn tie, 1317 00:59:35,350 --> 00:59:40,230 Mi tuj rigardi kaj vidi kio estas en tiu dosierujo, ls, listo ekstere. 1318 00:59:40,230 --> 00:59:43,230 Mi tuj vidi ke mi akiris du subdosierujoj. 1319 00:59:43,230 --> 00:59:47,910 Ni faras ĉi iom pli granda tie por ke ni povas ĉiuj vidi ĝin. 1320 00:59:47,910 --> 00:59:50,610 >> Mi povas vidi ke mi akiris du subdosierujoj. 1321 00:59:50,610 --> 00:59:53,510 Mi ŝanĝas dosierujon enirontajn en laborspaca. 1322 00:59:53,510 --> 00:59:58,380 Kaj mi tuj nur tajpi eksteren parto de ĝi kaj poste nur batis Tab. 1323 00:59:58,380 --> 01:00:01,520 Kaj ĝi malebligos kompletigi la resto por mi. 1324 01:00:01,520 --> 01:00:03,370 Fancy. 1325 01:00:03,370 --> 01:00:04,960 >> Mi rigardas kaj vidas en laborspaca. 1326 01:00:04,960 --> 01:00:08,431 Kaj nun, mi laboras sur la SuperSection 1327 01:00:08,431 --> 01:00:09,680 ke ni instruas nun. 1328 01:00:09,680 --> 01:00:10,971 Do mi iros en tiun dosierujon. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 Kaj fine, rigardu kaj vidu. 1331 01:00:15,970 --> 01:00:18,480 Kaj mi havas ke dosiero bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Bone do lasu min klara ankoraŭfoje. 1333 01:00:20,980 --> 01:00:24,370 Kaj mi tuj now-- denove mi estas ankoraŭ restanta en tiu dosierujo 1334 01:00:24,370 --> 01:00:27,540 kaj ĝin diras al mi Mi estas en ke SuperSection dosierujo. 1335 01:00:27,540 --> 01:00:30,690 Mi tuj iros antaŭen kaj faras mia programo kunikleto. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 Kaj ke komando, fari conejita, dum sonanta iomete stranga, 1338 01:00:38,810 --> 01:00:42,960 ankaŭ alvokas la tin tradukilo. 1339 01:00:42,960 --> 01:00:46,470 >> Kaj ĝi estas produktita por mi eliro kiu estas 1340 01:00:46,470 --> 01:00:52,130 plenumebla funny-- an plenumebla dosiero nomita bunny. 1341 01:00:52,130 --> 01:00:52,700 BONE. 1342 01:00:52,700 --> 01:00:56,700 Mi povas tiam, kaj tio sonas eĉ pli malbone, ekzekuti kunikleto. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 BONE. 1345 01:01:00,680 --> 01:01:03,150 Kaj ni vidos kion ĝi faras. 1346 01:01:03,150 --> 01:01:04,527 BONE. 1347 01:01:04,527 --> 01:01:06,360 Jen iomete da kion mi ekspektis. 1348 01:01:06,360 --> 01:01:11,290 Mi havas mian bunny foton tien, sed mi specon de volis ĉion per sin. 1349 01:01:11,290 --> 01:01:13,186 Kion mi rimarkis? 1350 01:01:13,186 --> 01:01:14,478 >> Parolanto 21: Slash l aŭ oblikvo n. 1351 01:01:14,478 --> 01:01:15,602 BRIAN SCASSELLATI: Slash n. 1352 01:01:15,602 --> 01:01:16,580 BONE. 1353 01:01:16,580 --> 01:01:18,800 Do ni revenu ĉi tien. 1354 01:01:18,800 --> 01:01:20,330 Kaj mi ricevos el tio. 1355 01:01:20,330 --> 01:01:23,320 Kaj mi reiros al tiu ĉi. 1356 01:01:23,320 --> 01:01:27,720 Kaj ni rigardu nun el mia ĉefa funkcio tie. 1357 01:01:27,720 --> 01:01:29,280 >> Do kion mi faru? 1358 01:01:29,280 --> 01:01:30,465 Mi volas fini la linion. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Do mi metis en komenton. 1361 01:01:35,800 --> 01:01:38,430 Mi metos en printf (). 1362 01:01:38,430 --> 01:01:41,350 Kaj kion mi devas meti en? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 BONE. 1365 01:01:43,480 --> 01:01:46,040 Kion mi devas fini ĝin kun? 1366 01:01:46,040 --> 01:01:47,100 Punktokomo. 1367 01:01:47,100 --> 01:01:48,730 Bone. 1368 01:01:48,730 --> 01:01:52,880 >> Nun, unu el la vere gravaj aferoj estas certigi 1369 01:01:52,880 --> 01:01:56,720 ĉiufoje kiam vi faras ŝanĝon en via kodo, kiun vi savos. 1370 01:01:56,720 --> 01:02:01,380 Se vi ne savis vian kodon, vi estas tuj rimarkos steleto tie supre. 1371 01:02:01,380 --> 01:02:03,420 Kaj ke stelo diras vin ne savis tiun kodon. 1372 01:02:03,420 --> 01:02:07,790 >> Se mi kompilos ĝin nun, ne tuj reflekti ajnan de tiuj ŝanĝoj, 1373 01:02:07,790 --> 01:02:11,680 ĉar la tradukilo rigardas la dosieron jen sur la disko, ne la dosieron tio 1374 01:02:11,680 --> 01:02:13,790 malfermu en via redaktoro. 1375 01:02:13,790 --> 01:02:14,290 Bone. 1376 01:02:14,290 --> 01:02:20,830 >> Do ni savu ĝin kaj tiam ni iros ĝuste sur cxi tie, reven for. 1377 01:02:20,830 --> 01:02:24,670 Malsuprenveni al mia terminalo. 1378 01:02:24,670 --> 01:02:27,193 Kaj ni purigi la spaco denove. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> Kaj ni povas antaŭeniri kaj pli tempo fari nian bunny programo. 1381 01:02:35,760 --> 01:02:40,180 Kaj ekzekuti la conejito. 1382 01:02:40,180 --> 01:02:42,500 Tio ankaŭ ne funkciis. 1383 01:02:42,500 --> 01:02:43,950 Wrong oblikvo. 1384 01:02:43,950 --> 01:02:52,280 Do se vi rigardu kion mi havas, mi metis / n en tie, sed mi havis la malĝustan oblikvo. 1385 01:02:52,280 --> 01:02:56,190 >> Ĉio ke via komputilo faras estas tre eksplicita. 1386 01:02:56,190 --> 01:02:57,230 BONE? 1387 01:02:57,230 --> 01:03:01,250 Unu malgranda eraro de interpunkcio, kaj subite vi ne ricevas kion vi deziras. 1388 01:03:01,250 --> 01:03:01,750 Bone. 1389 01:03:01,750 --> 01:03:03,740 Do ni zoom reen eksteren denove. 1390 01:03:03,740 --> 01:03:04,410 Ni revenos. 1391 01:03:04,410 --> 01:03:07,930 Nu fari ke tre rapida riparo. 1392 01:03:07,930 --> 01:03:09,270 Ni metis la dekstran oblikvo en. 1393 01:03:09,270 --> 01:03:10,570 Ni savos. 1394 01:03:10,570 --> 01:03:13,410 Ni zoom reen en. 1395 01:03:13,410 --> 01:03:16,730 >> Ial, tio ne esti feliĉa, sed ni iru antaŭen 1396 01:03:16,730 --> 01:03:19,850 kaj ni reiros al la terminalo tie. 1397 01:03:19,850 --> 01:03:22,940 Klarigis ĝin. 1398 01:03:22,940 --> 01:03:24,880 Ni zomi. 1399 01:03:24,880 --> 01:03:28,410 Kaj unu pli da tempo, ni faros kunikleto. 1400 01:03:28,410 --> 01:03:32,360 Kaj nun efektive, ĝi funkcias. 1401 01:03:32,360 --> 01:03:33,240 Hura. 1402 01:03:33,240 --> 01:03:34,300 BONE. 1403 01:03:34,300 --> 01:03:39,580 >> Do ni provos fari ĉi iom pli ĝenerala. 1404 01:03:39,580 --> 01:03:46,750 Ni vidu se anstataŭ ĝuste presi unu aparta kadro, 1405 01:03:46,750 --> 01:03:49,610 ni vidu se ni povas fari ĉi tiel ke ni povas akiri ĉiujn 10 1406 01:03:49,610 --> 01:03:52,960 de tiuj viglaj kadroj ke ni volis havi. 1407 01:03:52,960 --> 01:03:56,550 Do denove, ni prenu tiu paŝo samtempe. 1408 01:03:56,550 --> 01:03:59,900 >> Ni unue ĝeneraligi ĝin, ne por ke mi faru cxiujn kadroj, 1409 01:03:59,900 --> 01:04:03,990 sed tiel mi faros iun el kadro kiu mi volas. 1410 01:04:03,990 --> 01:04:05,920 Do kio estas la diferenco inter la kadroj? 1411 01:04:05,920 --> 01:04:07,377 Estas la conejita la sama? 1412 01:04:07,377 --> 01:04:07,960 Publiko: Jes. 1413 01:04:07,960 --> 01:04:08,390 BRIAN SCASSELLATI: Yeah. 1414 01:04:08,390 --> 01:04:09,370 Kio estas la diferenco? 1415 01:04:09,370 --> 01:04:10,246 >> Publiko: Pozicio. 1416 01:04:10,246 --> 01:04:11,870 BRIAN SCASSELLATI: Lia pozicio, dekstra? 1417 01:04:11,870 --> 01:04:15,590 Kaj kiel mi kontrolas lian pozicion? 1418 01:04:15,590 --> 01:04:17,340 Kiel multaj punktoj mi estas metante komence 1419 01:04:17,340 --> 01:04:19,048 kaj kiom da punktoj mi estas metante fine. 1420 01:04:19,048 --> 01:04:21,970 Do mi havis kvin ĉe la komencante kvin fine. 1421 01:04:21,970 --> 01:04:28,320 >> Ni anstataŭi ke kvin kun por buklo. 1422 01:04:28,320 --> 01:04:29,380 BONE. 1423 01:04:29,380 --> 01:04:32,330 Kaj mi tuj kreos por buklo nun ke tuj diru, 1424 01:04:32,330 --> 01:04:37,800 Mi tuj presi iu nombro de dots komence. 1425 01:04:37,800 --> 01:04:39,600 Mi tuj uzi variablon. 1426 01:04:39,600 --> 01:04:44,150 Diru, kion pri mi kiel la vendotablo en mia banto. 1427 01:04:44,150 --> 01:04:47,200 Kaj mi tuj anoncu ĝis supro. 1428 01:04:47,200 --> 01:04:49,360 >> Kaj poste en la por buklo Mi bezonas fari tri aferojn. 1429 01:04:49,360 --> 01:04:52,340 La unua afero Mi bezonas fari Estas mi devas pravalorizi i. 1430 01:04:52,340 --> 01:04:56,570 Kion mi pravalorizi ĝi komenci esti? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 BONE. 1433 01:04:58,310 --> 01:05:00,950 >> Tiam mi devas diri, kio estas la finaĵo kondiĉo? 1434 01:05:00,950 --> 01:05:03,020 Kiam mi devus halti? 1435 01:05:03,020 --> 01:05:05,983 Nu kiom da punktojn vi volas presi sur ĉi tiu? 1436 01:05:05,983 --> 01:05:06,921 >> Publiko: Kvin. 1437 01:05:06,921 --> 01:05:08,170 BRIAN SCASSELLATI: Kvin denove? 1438 01:05:08,170 --> 01:05:10,650 Kion pri ni faru ion malsama, ni faris kvin. 1439 01:05:10,650 --> 01:05:12,584 Ni montru ke ĝi estas malsama. 1440 01:05:12,584 --> 01:05:13,250 Parolanto 22: Du. 1441 01:05:13,250 --> 01:05:13,580 BRIAN SCASSELLATI: Du. 1442 01:05:13,580 --> 01:05:14,080 BONE. 1443 01:05:14,080 --> 01:05:17,760 Do se mi volas du punktojn, kion mi metu ĉi tie? 1444 01:05:17,760 --> 01:05:19,140 >> Publiko: Tri. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN SCASSELLATI: Tri. 1446 01:05:20,530 --> 01:05:21,400 BONE. 1447 01:05:21,400 --> 01:05:24,220 Multfoje estas ke tuj trairu? 1448 01:05:24,220 --> 01:05:28,469 Tio tuj iros tra tri fojojn, 0, 1, kaj 2, Dekstra? 1449 01:05:28,469 --> 01:05:30,010 Bone, ni iru reen malsupren al du. 1450 01:05:30,010 --> 01:05:31,570 Nun ni akiros du punktoj. 1451 01:05:31,570 --> 01:05:35,800 Kaj kion mi volis fari ĉiun tempo mi iras tra la buklo? 1452 01:05:35,800 --> 01:05:38,657 Kio devas ŝanĝi ĉiu tempo mi trairi? 1453 01:05:38,657 --> 01:05:39,850 >> Parolanto 23: Aldoni punkto. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN SCASSELLATI: mi havas plu iri. 1455 01:05:41,020 --> 01:05:41,978 Mi tuj aldoni punkton. 1456 01:05:41,978 --> 01:05:45,310 Mi tuj presi streketo ĉiu tempo tra la buklo. 1457 01:05:45,310 --> 01:05:49,990 Sed kiel mi konservanta trako de kiom multfoje mi estis tra la buklo? 1458 01:05:49,990 --> 01:05:53,260 Mi uzas i, ke variablo, ke vendotablo. 1459 01:05:53,260 --> 01:05:57,110 >> Do ĉiufoje tra, mi tuj pliigo la vendotablo de unu. 1460 01:05:57,110 --> 01:06:00,670 Nun, jen la sama por mi kiel dirante i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 Estas bone. 1462 01:06:01,210 --> 01:06:04,653 Mi povus fari ĝin that-- Mi ŝatas stenografio, do mi tuj diros Mi ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 BONE. 1465 01:06:08,370 --> 01:06:10,680 >> Ni faru la samon malsupren tie malsupre. 1466 01:06:10,680 --> 01:06:11,846 Nur mi specon de faradis unu. 1467 01:06:11,846 --> 01:06:13,990 Mi tuj lasos vin infanoj fari ĉi tiu tute. 1468 01:06:13,990 --> 01:06:14,260 Bone. 1469 01:06:14,260 --> 01:06:15,426 >> Do kion mi skribu tie? 1470 01:06:15,426 --> 01:06:17,170 Jen mia por buklo. 1471 01:06:17,170 --> 01:06:23,162 Mi tuj faros printf () kaj mi tuj fari ĝin tiel ke mi nur presi unu streketo 1472 01:06:23,162 --> 01:06:25,740 sur tiu fundo. 1473 01:06:25,740 --> 01:06:27,740 >> Kion mi skribu ene ĉi por buklo nun? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 Nu, unue kion variabloj mi uzu? 1476 01:06:33,948 --> 01:06:35,430 >> Parolanto 24: j. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN SCASSELLATI: Mi povus uzi j. 1478 01:06:36,880 --> 01:06:38,040 Ĉu mi povas uzi la sama? 1479 01:06:38,040 --> 01:06:39,961 Ĉu mi povas uzi i denove? 1480 01:06:39,961 --> 01:06:40,460 Yeah. 1481 01:06:40,460 --> 01:06:45,531 Tio estas bone, ĉar la Sono ke mi uzas ĉi tie, 1482 01:06:45,531 --> 01:06:47,780 Mi ne bezonas ilin denove kiam Mi alvenas al tiu punkto. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Do kion devus mi pravalorizi i al? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 Parolanto 25: 10. 1487 01:06:57,300 --> 01:06:58,567 BRIAN SCASSELLATI: 0. 1488 01:06:58,567 --> 01:06:59,400 Kion mi kontrolu? 1489 01:06:59,400 --> 01:07:02,960 Kiel multaj punktoj mi bezonas nun fine se mi havas du punktojn ĉe la komenco? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Mi bezonas ok fine, do kion mi devus kontroli, mi malpli than-- 1492 01:07:09,165 --> 01:07:12,645 >> Publiko: Sep, ok, naŭ. 1493 01:07:12,645 --> 01:07:14,020 BRIAN SCASSELLATI: Mi aŭdis sep. 1494 01:07:14,020 --> 01:07:14,810 Mi aŭdis ok. 1495 01:07:14,810 --> 01:07:15,970 Kaj mi aŭdis naŭ. 1496 01:07:15,970 --> 01:07:16,470 BONE. 1497 01:07:16,470 --> 01:07:19,540 Do ni estas ĉiuj en la dekstra ball-- Jason Diras 10. 1498 01:07:19,540 --> 01:07:21,550 BONE. 1499 01:07:21,550 --> 01:07:25,920 >> Se mi bezonis du punktojn la unua, kiom fari 1500 01:07:25,920 --> 01:07:30,170 I-- kaj mi bezonas ok punktojn por la lasta one-- Mi metis du ĝis supre, 1501 01:07:30,170 --> 01:07:31,743 kion mi metu malsupre? 1502 01:07:31,743 --> 01:07:32,570 >> Publiko: Ok. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN SCASSELLATI: Ok. 1504 01:07:33,611 --> 01:07:35,695 Pro tio tuj kalkuli nulo tra sep. 1505 01:07:35,695 --> 01:07:38,490 Kaj tio estas ok fojojn tra la buklo. 1506 01:07:38,490 --> 01:07:38,990 BONE. 1507 01:07:38,990 --> 01:07:41,774 Kaj kion mi devas fari je la fino? 1508 01:07:41,774 --> 01:07:42,670 >> Publiko: Mi ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN SCASSELLATI: i ++. 1510 01:07:44,400 --> 01:07:45,440 Bone. 1511 01:07:45,440 --> 01:07:48,260 Do jen rigardante sufiĉe bona tie. 1512 01:07:48,260 --> 01:07:50,620 Ni provu ĝin kaj ni vidu kion ĝi faras. 1513 01:07:50,620 --> 01:07:51,450 BONE. 1514 01:07:51,450 --> 01:07:53,770 Do ni tuj savos. 1515 01:07:53,770 --> 01:07:54,940 Nice kaj savita. 1516 01:07:54,940 --> 01:07:56,910 >> Ni zoom reen eksteren. 1517 01:07:56,910 --> 01:07:58,220 Ni penos tie en la terminalo. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Ni zomi. 1520 01:08:02,970 --> 01:08:05,416 Oops. 1521 01:08:05,416 --> 01:08:09,990 Ni, unu pli da tempo, fari nian bunny programo. 1522 01:08:09,990 --> 01:08:14,460 Kaj iri antaŭen kaj ekzekuti kunikleto. 1523 01:08:14,460 --> 01:08:15,980 Kaj jen ĝi estas. 1524 01:08:15,980 --> 01:08:17,710 >> Do ekzistas nia kunikleto. 1525 01:08:17,710 --> 01:08:25,130 Kie ĝi havas du punktojn komence kaj ok punktojn ĉe la fino. 1526 01:08:25,130 --> 01:08:27,540 Ĉiuj ankoraŭ kun mi? 1527 01:08:27,540 --> 01:08:28,770 BONE. 1528 01:08:28,770 --> 01:08:29,580 >> Ni tamen konstruis ĝin. 1529 01:08:29,580 --> 01:08:33,000 Ni konstruis unu bunny, unu aparta kadro. 1530 01:08:33,000 --> 01:08:36,229 Nun ni povis ĝeneraligi ke konstrui 1531 01:08:36,229 --> 01:08:38,390 pli, malsamaj specoj de kadroj. 1532 01:08:38,390 --> 01:08:42,399 >> Nun ni iru antaŭen kaj havas ĝi generas ne nur unu kadro, 1533 01:08:42,399 --> 01:08:46,290 sed ni generi 10 kadroj, kie ni malrapide 1534 01:08:46,290 --> 01:08:50,569 fari la conejita movi ĉiujn la vojo tra la kampo. 1535 01:08:50,569 --> 01:08:51,430 Bone. 1536 01:08:51,430 --> 01:08:53,660 >> Ni reiru. 1537 01:08:53,660 --> 01:08:54,839 Kaj ni provos nun. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Do kion mi vere bezonas ŝanĝi ĉi tie? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Kion mi devas ŝanĝi? 1542 01:09:07,180 --> 01:09:10,638 >> Parolanto 26: Vi unue bezonas ŝanĝi la numeron de punktoj maksimumo 1543 01:09:10,638 --> 01:09:11,626 komence. 1544 01:09:11,626 --> 01:09:16,850 Ĉar se ni faras 10 dots, ĝi tuj bezonas supren grimpi. 1545 01:09:16,850 --> 01:09:17,850 BRIAN SCASSELLATI: Yeah. 1546 01:09:17,850 --> 01:09:23,760 Do nun mi havas ĝin ia hardwired por ĉiam fari du punktoj komence 1547 01:09:23,760 --> 01:09:27,890 kaj ĉiam faras ok punktojn fine. 1548 01:09:27,890 --> 01:09:30,660 >> Mi volas konstrui alian buklo, ĉu ne? 1549 01:09:30,660 --> 01:09:33,290 Ĉar mi ne volas konstrui nur unu kuniklo bildo, 1550 01:09:33,290 --> 01:09:37,140 Mi volas konstrui 10 bunny bildoj. 1551 01:09:37,140 --> 01:09:41,500 Do mi bezonas por konstrui alian buklo, kaj kiel mi iros tra tiu ciklo, 1552 01:09:41,500 --> 01:09:44,660 Mi volas ŝanĝi kiom dots mi presi komence 1553 01:09:44,660 --> 01:09:50,529 kaj kiom da punktoj mi presi fine, bazita sur kiu ciklo tra la buklo 1554 01:09:50,529 --> 01:09:52,270 Mi estas en. 1555 01:09:52,270 --> 01:09:52,770 Bone. 1556 01:09:52,770 --> 01:09:54,430 >> Do ni ricevas alian vendotablo. 1557 01:09:54,430 --> 01:09:58,142 Ies antaŭ diris j, do ni faru alian j. 1558 01:09:58,142 --> 01:10:00,100 Kaj nun, ni tuj konstrui alian por buklo. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Kio iras ene ol buklo? 1561 01:10:06,200 --> 01:10:09,060 Ĉi stuff devas iri ene la buklo, ĉu ne? 1562 01:10:09,060 --> 01:10:11,190 Ĉu la conejita havas iri ene la buklo? 1563 01:10:11,190 --> 01:10:13,390 Ĉu mi bezonas conejita en ĉiu de tiuj 10 kadroj? 1564 01:10:13,390 --> 01:10:14,099 >> Publiko: Uh-huh. 1565 01:10:14,099 --> 01:10:15,098 BRIAN SCASSELLATI: Yeah. 1566 01:10:15,098 --> 01:10:17,250 Mi volas conejita en ĉiu de la 10 kadroj, dekstra? 1567 01:10:17,250 --> 01:10:20,531 Kion pri la punktoj ĉe Fine, mi precizigas ke? 1568 01:10:20,531 --> 01:10:21,030 BONE. 1569 01:10:21,030 --> 01:10:22,550 >> Do mi tuj indent ĉiuj ili. 1570 01:10:22,550 --> 01:10:25,110 Mi tuj emfazi tio, kaj mi tuj trafis Tab. 1571 01:10:25,110 --> 01:10:28,590 Kaj tio tuj puŝas ilin ĉie iomete, por ke ĝi estas facila por mi 1572 01:10:28,590 --> 01:10:32,010 vidi kio estas en la buklo. 1573 01:10:32,010 --> 01:10:33,710 Kaj tiam Mi finos ĝin. 1574 01:10:33,710 --> 01:10:35,850 Diru. 1575 01:10:35,850 --> 01:10:36,430 BONE? 1576 01:10:36,430 --> 01:10:39,230 >> Nun, en ĉi tiu buklo Mi building-- whoops, 1577 01:10:39,230 --> 01:10:43,810 fari tiun tiel vi povas Konsideru Mi havas mian vendotablo j. 1578 01:10:43,810 --> 01:10:45,630 Mi komencis ĝin je 0. 1579 01:10:45,630 --> 01:10:47,829 Multfoje mi volas iri tra tiu buklo? 1580 01:10:47,829 --> 01:10:48,620 Publiko: 10 fojojn. 1581 01:10:48,620 --> 01:10:49,786 BRIAN SCASSELLATI: 10 fojojn. 1582 01:10:49,786 --> 01:10:51,402 Do kion nombro devus mi metas ĉi tie? 1583 01:10:51,402 --> 01:10:52,880 >> Publiko: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> BRIAN SCASSELLATI: 9, 10, iu estas alvenis al diri 11, ĉu ne? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Mi volis du punktoj antaŭ kaj metis Mi malpli ol 2. 1587 01:11:01,585 --> 01:11:03,810 Mi volis ok punktojn, Mi metis min malpli ol 8. 1588 01:11:03,810 --> 01:11:06,950 Nun mi volas iri tra 10 fojojn, do mi metis j malpli than-- 1589 01:11:06,950 --> 01:11:07,590 >> Publiko: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN SCASSELLATI: 10. 1591 01:11:08,610 --> 01:11:10,150 Tie ni marŝos. 1592 01:11:10,150 --> 01:11:13,360 Kaj kion mi faru fine al j? 1593 01:11:13,360 --> 01:11:15,310 ++, Pliigo ĝin. 1594 01:11:15,310 --> 01:11:16,230 BONE. 1595 01:11:16,230 --> 01:11:21,500 Nun, jen la malfacila parto, kio estas okazos nun se mi faras tion? 1596 01:11:21,500 --> 01:11:24,537 Ĉu mi tuj presi 10 kadroj? 1597 01:11:24,537 --> 01:11:26,370 Parolanto 27: mi opinias Ili voli ĉiujn esti la sama. 1598 01:11:26,370 --> 01:11:28,453 BRIAN SCASSELLATI: Ili devos tute samaj, ĉu ne? 1599 01:11:28,453 --> 01:11:31,750 Ĉar ĉiuj ili estas ankoraŭ iranta meti du punktoj komence. 1600 01:11:31,750 --> 01:11:34,162 Sed mi ne volas ke ili ĉiuj havas du punktojn la komenco. 1601 01:11:34,162 --> 01:11:35,870 Kiel multaj punktoj mi volas komence? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> Publiko: Ŝanĝi. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN SCASSELLATI: Mi volas ĝin ŝanĝi, ĉu ne? 1605 01:11:42,840 --> 01:11:46,588 Do kion mi havas tie ke sxangxas ĉiu tempo la buklo iras tra gxi? 1606 01:11:46,588 --> 01:11:48,242 >> Publiko: Nombro de punktoj, j. 1607 01:11:48,242 --> 01:11:49,950 BRIAN SCASSELLATI: j, la nombro de punktoj. 1608 01:11:49,950 --> 01:11:54,782 Do mi povas ŝanĝi ĉi tion al esti la j. 1609 01:11:54,782 --> 01:11:59,190 La unua fojo tra la buklo, kio ke tuj estos? 1610 01:11:59,190 --> 01:12:01,700 Kion mi starigis j al unue? 1611 01:12:01,700 --> 01:12:02,420 >> Publiko: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN SCASSELLATI: Do kiom da fojojn mi povos fari tion? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 La dua fojo tra la ciklo, J tuj esti 1 ĉar mi pliigo ĝin. 1615 01:12:11,750 --> 01:12:14,180 Kiel multaj punktoj mi povos presi? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 La tria fojo tra la buklo, kiom da punktoj mi povos presi? 1618 01:12:19,904 --> 01:12:20,587 >> Publiko: Tri. 1619 01:12:20,587 --> 01:12:22,170 BRIAN SCASSELLATI: j tuj estos 3. 1620 01:12:22,170 --> 01:12:24,890 Kiel multaj punktoj mi povos presi? 1621 01:12:24,890 --> 01:12:26,817 Ho, pardonon, j tuj estos 2. 1622 01:12:26,817 --> 01:12:28,233 Kiel multaj punktoj mi povos presi? 1623 01:12:28,233 --> 01:12:28,980 >> Spektantaro: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN SCASSELLATI: 2. 1625 01:12:29,855 --> 01:12:32,460 Bone, do mi tuj konservi pliigante ke kiel ni iras kune. 1626 01:12:32,460 --> 01:12:33,460 Kion pri malsupre? 1627 01:12:33,460 --> 01:12:34,310 Kio iras malsupren tie? 1628 01:12:34,310 --> 01:12:38,080 Mi ne volas 8 ĉiam fine plu? 1629 01:12:38,080 --> 01:12:39,269 >> Parolanto 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN SCASSELLATI: Mi volas 10 punktoj? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Mi volas ĝin ŝanĝi, tro. 1633 01:12:44,620 --> 01:12:47,469 Do kiel mi volas ĝin ŝanĝi? 1634 01:12:47,469 --> 01:12:49,167 >> Spektantaro: [inaudible]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN SCASSELLATI: Nu, se mi havas kvin punktojn komence, 1636 01:12:51,750 --> 01:12:53,293 kiom da punkton de mi akiras ĉe la fino? 1637 01:12:53,293 --> 01:12:54,020 >> Publiko: Kvin. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN SCASSELLATI: Se mi havas ses punktojn komence, 1639 01:12:55,630 --> 01:12:56,875 kiom mi akiras ĉe la fino? 1640 01:12:56,875 --> 01:12:57,500 Publiko: Kvar. 1641 01:12:57,500 --> 01:12:58,950 BRIAN SCASSELLATI: Se mi akiris sep punktoj komence, 1642 01:12:58,950 --> 01:13:00,204 kiom mi akiras ĉe la fino? 1643 01:13:00,204 --> 01:13:00,870 Publiko: Tri. 1644 01:13:00,870 --> 01:13:03,161 BRIAN SCASSELLATI: Se mi havas atingis j dots komence, 1645 01:13:03,161 --> 01:13:04,790 kiom mi akiras ĉe la fino? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 BONE. 1648 01:13:08,650 --> 01:13:10,390 Do ni provu tion diveni. 1649 01:13:10,390 --> 01:13:13,180 >> Do mi iros por savi nian bunny programo. 1650 01:13:13,180 --> 01:13:16,270 Refoje ni malzomi. 1651 01:13:16,270 --> 01:13:19,090 Ni iru al nia fina stacio. 1652 01:13:19,090 --> 01:13:20,180 Ni malbari ĝin. 1653 01:13:20,180 --> 01:13:23,410 Kaj zomi. 1654 01:13:23,410 --> 01:13:26,410 Ni faros nian bunny programo, denove. 1655 01:13:26,410 --> 01:13:27,690 Kaj ni ruli ĝin. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 Uh-oh. 1658 01:13:32,090 --> 01:13:34,580 >> Atendu, ni malzomi. 1659 01:13:34,580 --> 01:13:36,860 Ĉu mi ricevas 10 kadroj? 1660 01:13:36,860 --> 01:13:38,970 Nu, kiom da kunikletoj Mi vidas tie supre? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 Mi alvenis 10 kadroj. 1663 01:13:44,820 --> 01:13:46,375 Ĉu ili tutegale? 1664 01:13:46,375 --> 01:13:47,000 Publiko: Yeah. 1665 01:13:47,000 --> 01:13:48,740 No. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN SCASSELLATI: No. 1667 01:13:50,000 --> 01:13:55,050 Tiu unua, La bunny estas malproksime sur la maldekstra. 1668 01:13:55,050 --> 01:13:57,541 Kaj tie, la conejito estas malproksime sur la 1669 01:13:57,541 --> 01:13:58,290 Parolanto 29: Ĝuste. 1670 01:13:58,290 --> 01:14:00,502 BRIAN SCASSELLATI: Do, Kion mi forgesas fari? 1671 01:14:00,502 --> 01:14:01,750 Parolanto 30: Komenci novan linion. 1672 01:14:01,750 --> 01:14:04,041 BRIAN SCASSELLATI: mi forgesis komenci novan linion, denove. 1673 01:14:04,041 --> 01:14:05,270 Saman eraron mi faris antaŭe. 1674 01:14:05,270 --> 01:14:07,120 Bone, ni iru ripari tion. 1675 01:14:07,120 --> 01:14:11,690 Nun, mi ankoraŭ havas la kodon tien por fari novan linion. 1676 01:14:11,690 --> 01:14:13,899 Kial ne funkcias? 1677 01:14:13,899 --> 01:14:15,440 Parolanto 31: Ĝi estas ne ene la buklo. 1678 01:14:15,440 --> 01:14:17,710 BRIAN SCASSELLATI: Ho, ĝi estas ne ene la buklo. 1679 01:14:17,710 --> 01:14:18,520 Tio pravas. 1680 01:14:18,520 --> 01:14:20,150 Ĝi sidas ekster tie. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 Kaj la por buklo estas ĉio kiu estas interne ke teksto. 1683 01:14:29,050 --> 01:14:35,500 >> Do mi tuj movas ĉi ene la por buklo. 1684 01:14:35,500 --> 01:14:39,410 Kaj mi Tab antaŭ ĝi al montras ke ĝi estas en la ĝusta loko. 1685 01:14:39,410 --> 01:14:42,020 Kaj nun, ni ŝparos ĝin denove. 1686 01:14:42,020 --> 01:14:44,350 Ni malzomi. 1687 01:14:44,350 --> 01:14:45,770 Ni ŝaltu al nia fina stacio. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 Zomi. 1690 01:14:50,360 --> 01:14:54,050 Ni refari nian bunny programo. 1691 01:14:54,050 --> 01:14:59,070 Kaj nun, nun ni havas niajn 10 kadroj. 1692 01:14:59,070 --> 01:15:00,190 >> [Kunfrapante] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN SCASSELLATI: OK. 1694 01:15:02,120 --> 01:15:04,080 So. 1695 01:15:04,080 --> 01:15:08,370 Jen nia nestitaj por bukloj. 1696 01:15:08,370 --> 01:15:13,140 Ni povis generi en la interna buklo kiom da punktoj mi volis 1697 01:15:13,140 --> 01:15:15,320 presi komence, fine. 1698 01:15:15,320 --> 01:15:21,570 Kaj la ekstera buklo kontrolita kiom da kadroj mi konstruis. 1699 01:15:21,570 --> 01:15:26,340 Ni komencis kun unu malgranda kerno de la problemo, 1700 01:15:26,340 --> 01:15:30,320 kaj ni konstruis el tiu punkto. 1701 01:15:30,320 --> 01:15:30,820 Bone. 1702 01:15:30,820 --> 01:15:33,500 >> Ni faru pli paŝo. 1703 01:15:33,500 --> 01:15:35,040 Vi preta? 1704 01:15:35,040 --> 01:15:38,800 Tie estas unu afero en tie kie ni reale ia akiris 1705 01:15:38,800 --> 01:15:42,180 pli komplekseco ol ni bezonas. 1706 01:15:42,180 --> 01:15:44,700 Ni rigardu. 1707 01:15:44,700 --> 01:15:52,050 Do en nia bunny programo, se mi malzomi tie, 1708 01:15:52,050 --> 01:15:54,980 Mi efektive fari iuj de la sama afero saciedad. 1709 01:15:54,980 --> 01:15:59,032 Kio mi faras tio estas ia la samon ripetis dufoje? 1710 01:15:59,032 --> 01:16:00,310 >> Parolanto 32: Presi la punktojn. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN SCASSELLATI: Yeah Mi presi tiujn punktojn dufoje. 1712 01:16:03,526 --> 01:16:05,710 Vere, mi devus havi tiun komenton ĉi tie. 1713 01:16:05,710 --> 01:16:09,037 Mi presi iuj punktoj ĉe la komencante, dekstra supren tie. 1714 01:16:09,037 --> 01:16:10,620 Kaj tiam mi presas iuj punktoj ĉe la fino. 1715 01:16:10,620 --> 01:16:14,694 Kaj mi faras specon de ekzakte la sama afero. 1716 01:16:14,694 --> 01:16:17,110 Kion ni tuj komencos ellaboras dum la venontaj semajnoj 1717 01:16:17,110 --> 01:16:23,440 estas povi preni tiujn blokojn de kodo kiun ni uzas saciedad, 1718 01:16:23,440 --> 01:16:25,800 kaj tra procezo nomitaj abstraktado, 1719 01:16:25,800 --> 01:16:31,100 ni tuj tiri ilin eksteren kaj skribi ilin samtempe tiel ke ni povas tiam 1720 01:16:31,100 --> 01:16:35,130 reuzi ilin saciedad. 1721 01:16:35,130 --> 01:16:37,210 Do ni provu tion. 1722 01:16:37,210 --> 01:16:38,220 Pretaj? 1723 01:16:38,220 --> 01:16:42,200 >> Ni tuj prenos ĉi tiu bloko de kodo. 1724 01:16:42,200 --> 01:16:45,280 Kaj mi tuj prenos ĝin de tie. 1725 01:16:45,280 --> 01:16:50,530 Kaj mi tuj define-- malsupren ĉe la fundo, 1726 01:16:50,530 --> 01:16:53,130 Mi tuj skribos nova funkcio. 1727 01:16:53,130 --> 01:16:54,750 Oni ne tuj reveni nenion. 1728 01:16:54,750 --> 01:16:58,550 Kaj mi tuj vokos ŝin printDots. 1729 01:16:58,550 --> 01:17:01,530 >> Ĝi tuj prenu unu argumento, entjero ke 1730 01:17:01,530 --> 01:17:04,920 diras howManyDots mi devus presi. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 Nun anstataŭ videbligi j dots, mi presi diri howManyDots mi devus presi. 1733 01:17:17,720 --> 01:17:21,581 >> Kaj estas unu malgranda problemo tie. 1734 01:17:21,581 --> 01:17:22,580 Iu scias kio ĝi estas? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Kion mi havas ke estas listigitaj tien tio ne difinita? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> Spektantaro: [inaudible] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN SCASSELLATI: Nu multaj punktoj estas difinita suprenvenu 1740 01:17:37,465 --> 01:17:40,584 tie, sed mi uzas ke variablo i. 1741 01:17:40,584 --> 01:17:43,750 Do mi iros por preni ke variablo i kaj mi tuj difini ĝin malsupren tien 1742 01:17:43,750 --> 01:17:44,610 anstataŭe. 1743 01:17:44,610 --> 01:17:49,683 >> Do nun ĝi tuj stay-- oops, got la majuskla baskulo sur somehow-- mi 1744 01:17:49,683 --> 01:17:52,060 tuj subteni i malsupren tien. 1745 01:17:52,060 --> 01:17:57,050 >> Do nun jen mia iom funkcio aŭ sub-rutinon, kaj ĝi diras, 1746 01:17:57,050 --> 01:18:00,640 kiom da punktoj mi povos presi? 1747 01:18:00,640 --> 01:18:05,300 Kaj iros tra tiu buklo kaj presi ilin saciedad. 1748 01:18:05,300 --> 01:18:10,940 >> Mi povas tiam modifi mian programon tien. 1749 01:18:10,940 --> 01:18:12,540 Kaj kion mi nomas tiun funkcion? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Do mi devos alvoki printDots. 1752 01:18:17,060 --> 01:18:21,530 Kiel multaj punktoj mi volas presi la unua fojo antaŭ la conejita? 1753 01:18:21,530 --> 01:18:22,030 Publiko: j. 1754 01:18:22,030 --> 01:18:23,230 BRIAN SCASSELLATI: j. 1755 01:18:23,230 --> 01:18:27,110 Kiel multaj punktoj mi volas presi fine, post la conejita? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-j. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> Kaj tie estas unu afero mi mankas. 1760 01:18:38,010 --> 01:18:43,740 Kiel vi vidis en prelego hodiaŭ, ni tuj deklari printDots 1761 01:18:43,740 --> 01:18:52,430 super doni la prototipo. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 BONE. 1764 01:18:58,220 --> 01:19:03,530 >> Do kion mi faris estas mi provis izoli ke reuzataj parto de kodo 1765 01:19:03,530 --> 01:19:06,430 ke mi plenumis saciedad. 1766 01:19:06,430 --> 01:19:11,120 Kaj mi provis tiri ĝin eksteren por ke ĉiuj kiuj estas enhavita en unu loko. 1767 01:19:11,120 --> 01:19:16,810 KE vojo, Se mi havas eraro ie, Mi nur devas fiksi ĝin en unu loko. 1768 01:19:16,810 --> 01:19:17,310 Bone. 1769 01:19:17,310 --> 01:19:18,470 >> Do ni konservu ĝin. 1770 01:19:18,470 --> 01:19:20,950 Kaj ni certigu ĝi funkcias. 1771 01:19:20,950 --> 01:19:22,050 Do ni iru eksteren. 1772 01:19:22,050 --> 01:19:25,200 Ni reiru al nia fina stacio. 1773 01:19:25,200 --> 01:19:27,960 Ni zomi. 1774 01:19:27,960 --> 01:19:31,010 Ni faros ke conejita procezo. 1775 01:19:31,010 --> 01:19:32,380 >> Oh. 1776 01:19:32,380 --> 01:19:34,800 Kaj ĝin donis al mi averton. 1777 01:19:34,800 --> 01:19:37,070 Kio ĝi diras al mi? 1778 01:19:37,070 --> 01:19:39,870 Nu en ajna el tiuj tempoj, vi ĉiam volas 1779 01:19:39,870 --> 01:19:44,170 rulumi supren al la plej unua error-- nun ĉi tiu, mi nur ricevis unu. 1780 01:19:44,170 --> 01:19:52,700 >> Rakontas min bunny.c, sur linio 8, kolumno 9, tie estas problemo. 1781 01:19:52,700 --> 01:19:58,650 Ĝi diras, vi deklaris ĉi variablo i kaj vi ne uzis ĝin. 1782 01:19:58,650 --> 01:20:02,230 >> Nun kutime, jen ne la plej malbona eraro. 1783 01:20:02,230 --> 01:20:04,300 Estas facile por ripari. 1784 01:20:04,300 --> 01:20:07,550 Kaj fakte, ni povas reiri en. 1785 01:20:07,550 --> 01:20:09,910 Ni povas reiri al Bunny. 1786 01:20:09,910 --> 01:20:13,010 Kaj en ĉi tiu kazo, ĉiuj ni devi fari estas akiri liverita de i, 1787 01:20:13,010 --> 01:20:16,630 ĉar ni ne uzas i ene ĉefa anymore. 1788 01:20:16,630 --> 01:20:19,860 Ni simple uzas ĝin ene de nia sub-rutinon. 1789 01:20:19,860 --> 01:20:22,777 >> Do ni savu tion. 1790 01:20:22,777 --> 01:20:23,360 Ni revenos. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 Kaj zomi. 1793 01:20:28,630 --> 01:20:30,700 Ni pli tempo fari conejita. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 Kaj denove estas niaj 10 kadroj. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 BONE. 1798 01:20:41,360 --> 01:20:43,190 >> Ajna tempo vi donis a procedure-- Yeah. 1799 01:20:43,190 --> 01:20:44,690 Parolanto 33: Mi havas a-- Mi konfuzita. 1800 01:20:44,690 --> 01:20:45,892 Ĉu vi povas reiri al la kodo? 1801 01:20:45,892 --> 01:20:46,850 BRIAN SCASSELLATI: Yep. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> Parolanto 33: Do, kiam vi skribis via prototipo, la argumento vi 1804 01:20:54,367 --> 01:20:56,550 estis enoficigis nomiĝis howMany? 1805 01:20:56,550 --> 01:20:57,540 Sed, below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN SCASSELLATI: Oh yeah. 1807 01:20:57,640 --> 01:20:59,140 >> Parolanto 33: --called ion malsamaj, mi ne komprenas. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN SCASSELLATI: Kial ili diferencas. 1809 01:21:00,240 --> 01:21:01,780 Por ke estas granda demando. 1810 01:21:01,780 --> 01:21:08,250 Do la demando estis, supren tie, mi skribis howMany, 1811 01:21:08,250 --> 01:21:12,380 kaj sube, mi skribis howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> La kialo estas ke en via prototipo, Ĝi fakte ne atentante 1813 01:21:15,590 --> 01:21:17,090 al la nomoj kiujn vi metas en. 1814 01:21:17,090 --> 01:21:20,530 Ĉiuj ĝi vere zorgas pri estas ke ĝi estas entjero. 1815 01:21:20,530 --> 01:21:23,080 Ĝi volas scii la formon kion vi metas en. 1816 01:21:23,080 --> 01:21:31,560 >> Nun stylistically-- oops-- kion mi devus ja, estas mi ŝatas fari tiujn matĉo. 1817 01:21:31,560 --> 01:21:33,150 BONE. 1818 01:21:33,150 --> 01:21:36,430 Ĉar tio estos teni ĝin facile por mi memori. 1819 01:21:36,430 --> 01:21:38,390 Sed tio estis mia eraro Jes. 1820 01:21:38,390 --> 01:21:47,620 >> Parolanto 34: Kaj do por la prototipo por labori, nur 1821 01:21:47,620 --> 01:21:50,510 skribante ke linio, skribi la prototipo, 1822 01:21:50,510 --> 01:21:53,932 permesu ke funkcio kiu venas dekstra sube ĝi iri al la fino 1823 01:21:53,932 --> 01:21:55,140 kaj elsxuti kion tio signifas? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN SCASSELLATI: Kio ĝi signifas Estas kiam la tradukilo iras tra, 1825 01:21:58,480 --> 01:22:01,930 ĝi iras de la supro de via kodo por la fundo. 1826 01:22:01,930 --> 01:22:05,430 Kaj kio ĉi tiu prototipo estas, estas ĝi estas esence promeson. 1827 01:22:05,430 --> 01:22:09,570 >> Ĝi diras, tie tuj estos funkcio difinita ie. 1828 01:22:09,570 --> 01:22:11,880 Ĝi tuj estos nomita printDots. 1829 01:22:11,880 --> 01:22:15,110 Kaj ĝi tuj preni unu argumenton ke tuj estos entjero 1830 01:22:15,110 --> 01:22:18,590 kaj ĝi tuj revenos nenio, malpleno tipo. 1831 01:22:18,590 --> 01:22:19,310 BONE. 1832 01:22:19,310 --> 01:22:22,950 Mi promesas vin ke tuj estos difinita ie laŭ la vojo. 1833 01:22:22,950 --> 01:22:25,590 Sed iam vi vidos ke, dum vi iros malsupren 1834 01:22:25,590 --> 01:22:28,710 tra la resto de mia ĉefa funkcio, mi volas 1835 01:22:28,710 --> 01:22:33,800 vi traktu ke kiel funkcio kiu prenas unu entjero enigo. 1836 01:22:33,800 --> 01:22:37,970 >> Iufoje la tradukilo iras malsupren tra ĉi, ĝi vidas ke promeso. 1837 01:22:37,970 --> 01:22:40,220 Kaj kiam alvenas malsupren, tenas iranta, Tenas iranta, 1838 01:22:40,220 --> 01:22:43,060 ĝi trovas la unua fojo printDots estas menciita. 1839 01:22:43,060 --> 01:22:46,910 Kaj ĝi diras, Ho, vi donas Min ĉi j. j estas entjero. 1840 01:22:46,910 --> 01:22:49,570 >> Nu vi promesis al mi, ke estus esti entjero kaj ke pravas. 1841 01:22:49,570 --> 01:22:51,370 Estas bone. 1842 01:22:51,370 --> 01:22:53,880 Kaj poste fine, malsupren ĉe la fundo, 1843 01:22:53,880 --> 01:22:58,340 antaŭ mi alvenas al la fino de mia dosiero, mi montras bone sur mia promeso 1844 01:22:58,340 --> 01:22:59,896 kaj mi difinas. 1845 01:22:59,896 --> 01:23:01,868 BONE? 1846 01:23:01,868 --> 01:23:06,320 >> Parolanto 35: Do, ĝi saves-- la programo savos malplenan spacoj 1847 01:23:06,320 --> 01:23:09,570 kiu superas kaj plenigas fine? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN SCASSELLATI: Ne pri la memoro atribuo. 1849 01:23:12,140 --> 01:23:16,800 Ĝi estas fakte ĝuste pri kio tipo estas vi atendanta vidi. 1850 01:23:16,800 --> 01:23:19,340 Devus tion havas unu argumento, aŭ kvin argumentoj? 1851 01:23:19,340 --> 01:23:23,590 Devus havi ĝin esti entjeroj donita al ĝi, aŭ kordojn? 1852 01:23:23,590 --> 01:23:25,780 Jen ĉio ĝi rigardas fari estas kontroli, 1853 01:23:25,780 --> 01:23:29,303 vi donas al mi la dekstra speco de argumento. 1854 01:23:29,303 --> 01:23:31,560 BONE? 1855 01:23:31,560 --> 01:23:32,300 Bone. 1856 01:23:32,300 --> 01:23:38,570 >> Lasu min lasas kun unu alia iom rigardi. 1857 01:23:38,570 --> 01:23:44,850 ASCII arto ne estas la granda modelo de kuraĝigo kiel nun. 1858 01:23:44,850 --> 01:23:50,850 Sed iuj personoj kompreneble preni aĵojn kaj ili puŝi ĝin al ilia ekstremojn. 1859 01:23:50,850 --> 01:23:56,790 >> Tio estas, kiel David pruvis en prelego, koderon 1860 01:23:56,790 --> 01:24:02,150 ke vi devus sub neniuj cirkonstancoj provu duobligi mem. 1861 01:24:02,150 --> 01:24:05,260 Ĉar ĝi estas terura stile. 1862 01:24:05,260 --> 01:24:11,180 Fakte, ĝi estas desegnita por esti tiel malfacila kiel ebla por legi. 1863 01:24:11,180 --> 01:24:11,680 BONE. 1864 01:24:11,680 --> 01:24:16,210 >> Do, fari denove, ni zomi en ĉi tie. 1865 01:24:16,210 --> 01:24:20,120 Mi tuj iros nun, ŝanĝo dosierujo. 1866 01:24:20,120 --> 01:24:24,050 Mi tuj iros unu nivelo, dorso al mia laborspaco. 1867 01:24:24,050 --> 01:24:29,760 Mi tiam ŝanĝas dosierujon en ĉi alia dosierujo kiun mi kreis. 1868 01:24:29,760 --> 01:24:36,190 >> Kaj tiu estas la Internacia Sekur C Programming Contest. 1869 01:24:36,190 --> 01:24:40,650 Sekur rimedoj kiel malfacile kiel eblas kompreni. 1870 01:24:40,650 --> 01:24:44,150 Do bonvolu, ne timigis se vi rigardas tion kaj iru, mi ne povas legi tion. 1871 01:24:44,150 --> 01:24:46,350 Tio estas la punkto de ĝi. 1872 01:24:46,350 --> 01:24:47,700 BONE? 1873 01:24:47,700 --> 01:24:52,770 >> Sed, ni havas ĉi mirinda programo kiu mi estas 1874 01:24:52,770 --> 01:24:57,180 tuj rigardi per simple tajpante pli. 1875 01:24:57,180 --> 01:25:01,890 Kaj ni vidu, se mi povas malzomi nur iom, tial vi povas vidi ĝin 1876 01:25:01,890 --> 01:25:03,940 >> Kaj tiu estas la programo. 1877 01:25:03,940 --> 01:25:08,080 Ĝi estas nomita endo.c. 1878 01:25:08,080 --> 01:25:14,850 Kaj ĝi aspektas kiel ĉi tiun sitelon per speco de la literoj F-L-Aŭ-mi-D en ĝi. 1879 01:25:14,850 --> 01:25:16,440 >> Tiu estas fakte programo. 1880 01:25:16,440 --> 01:25:20,260 Ĝi estas skribita en la plej obskuraj maniero ke la aŭtoroj povis eble 1881 01:25:20,260 --> 01:25:21,760 skribi ĝin. 1882 01:25:21,760 --> 01:25:29,210 Sed estas mirinda eta peco kiu generas modelon de fluidodinamiko. 1883 01:25:29,210 --> 01:25:34,870 >> Kaj do ni tuj donu ke modelo enigaĵoj ke 1884 01:25:34,870 --> 01:25:42,520 aspektas kiel tiu, de staired aro de ujoj 1885 01:25:42,520 --> 01:25:45,820 kun iu fluaĵo, iuj likva, supre ĉe la supro. 1886 01:25:45,820 --> 01:25:48,790 Kaj ni havas ĝin simuli kio okazas al ĝi. 1887 01:25:48,790 --> 01:25:52,415 >> Do mi devos alvoki tiun funkcion, endo. 1888 01:25:52,415 --> 01:25:59,000 Kaj Mi donos al ĝi ke eniga dosiero kiun mi havis. 1889 01:25:59,000 --> 01:26:02,830 Kaj tie estas nia epitome de arto ASCII. 1890 01:26:02,830 --> 01:26:08,960 Plena fluida dinamika simulilo kurante en nur kelkaj linioj de kodo. 1891 01:26:08,960 --> 01:26:13,750 >> Nun kio estas efektive vere mirinda sur tiu malgranda programo 1892 01:26:13,750 --> 01:26:17,280 estas ke mi volas halti ĝin nun, tiel mi tuj uzos kion ordonas? 1893 01:26:17,280 --> 01:26:18,660 >> Publiko: Kontrolo-C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN SCASSELLATI: Kontrolo-C. BONE. 1895 01:26:20,390 --> 01:26:22,960 Do mi uzos Kontrolo-C. C Ke ĉesos ĝin. 1896 01:26:22,960 --> 01:26:25,330 Mi malbari denove. 1897 01:26:25,330 --> 01:26:31,210 Kaj nun mi iras al la alpreĝi programo, ekzekuti la programo, 1898 01:26:31,210 --> 01:26:33,740 uzante sin kiel enigo. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> Kaj ni vidos la fluida dinamika simulado de ĝi fandiĝas. 1901 01:26:42,700 --> 01:26:43,830 BONE. 1902 01:26:43,830 --> 01:26:48,180 Bonvolu ne lasu ke programo esti la afero kiu konfuzas vin. 1903 01:26:48,180 --> 01:26:52,220 Estas nur por ke ni povu fini sur io malvarmeta kaj interesa. 1904 01:26:52,220 --> 01:26:53,930 BONE. 1905 01:26:53,930 --> 01:26:56,330 >> Plej bone de fortuno kun via problemo aroj. 1906 01:26:56,330 --> 01:26:59,030 Ni ĝojos respondi demandojn post klaso. 1907 01:26:59,030 --> 01:27:01,180 Danke multe, knaboj. 1908 01:27:01,180 --> 01:27:02,793