1 00:00:00,000 --> 00:00:11,736 2 00:00:11,736 --> 00:00:16,626 >> [VIDEO reprodukto] 3 00:00:16,626 --> 00:00:19,410 >> -A Triumfo de matematika kaj mekanika lerteco 4 00:00:19,410 --> 00:00:23,270 estas tiu granda nova aŭtomata kalkulilo ĉe Harvard University. 5 00:00:23,270 --> 00:00:27,140 Malsimplaj problemoj en matematiko meti tra la maŝinon en kodita formo 6 00:00:27,140 --> 00:00:31,710 sur bendo estas precize solvitaj en minuto frakcio de la tempo bezonata 7 00:00:31,710 --> 00:00:32,819 por homa kalkulo. 8 00:00:32,819 --> 00:00:44,280 9 00:00:44,280 --> 00:00:48,220 Desegnita por agilizar ĉiajn matematika kaj scienca esplorado, 10 00:00:48,220 --> 00:00:53,840 la giganta mekanika cerbo laboros por Usono Mararmeo ĝis milito finiĝi. 11 00:00:53,840 --> 00:01:03,620 12 00:01:03,620 --> 00:01:06,570 >> [FINO reprodukto] 13 00:01:06,570 --> 00:01:08,590 >> DAVID J. Malan: Ĉi, estas CS50. 14 00:01:08,590 --> 00:01:10,590 La pasinteco estis magia loko, sed se vi iam 15 00:01:10,590 --> 00:01:13,366 scivolis kion tiu aparato estas en Harvard Science Center, 16 00:01:13,366 --> 00:01:16,150 ĝi estas ja parto de la Harvard Mark I, kaj ĝi estas 17 00:01:16,150 --> 00:01:18,710 sur ekrano tie nun dum la pasintaj multaj jaroj. 18 00:01:18,710 --> 00:01:20,590 Kaj kion vi vidos enigita en problemo aro 19 00:01:20,590 --> 00:01:24,416 unu estas rigardo malantaŭ la scenoj ĉe kio tiu aparato faris kaj faras, 20 00:01:24,416 --> 00:01:27,540 de Profesoro Harry Lewis, kiu estas en la komputika fako tie. 21 00:01:27,540 --> 00:01:29,440 Do pli en kiuj en nur iom. 22 00:01:29,440 --> 00:01:33,990 >> Sed hodiaŭ ni komencas transiro de lasta semajno al tiu, 23 00:01:33,990 --> 00:01:37,290 kaj ni alportos mencio de unu foton tie 24 00:01:37,290 --> 00:01:38,630 tio estas vere sufiĉe fama. 25 00:01:38,630 --> 00:01:42,270 Ĉu iu scias kion tiu jen sur la ekrano? 26 00:01:42,270 --> 00:01:43,880 Almenaŭ laŭ mito. 27 00:01:43,880 --> 00:01:44,837 Yeah. 28 00:01:44,837 --> 00:01:45,920 Publiko: La unua viruso. 29 00:01:45,920 --> 00:01:49,570 DAVID J. Malan: Do ĝi estis supozeble la unua fakta eraro en komputilo. 30 00:01:49,570 --> 00:01:52,490 Nun en realo la vorto cimo, por eraro en programo, 31 00:01:52,490 --> 00:01:55,250 estis kun ni dum kelkaj tempo en la fizika mondo, 32 00:01:55,250 --> 00:01:58,190 kaj tiu estis unu el la unuaj dokumentis tempoj kie iu reale 33 00:01:58,190 --> 00:02:02,280 deŝiris grandan tineo el la Mark II komputilo, metis ĝin en la aglutinante, 34 00:02:02,280 --> 00:02:05,006 kaj tiam registris ĝin kiel la unua konata cimon 35 00:02:05,006 --> 00:02:06,630 esti reale trovis fizike. 36 00:02:06,630 --> 00:02:10,104 Do tiele eniris ke en hodiaŭa popolscio. 37 00:02:10,104 --> 00:02:12,020 Ĉion de lasta semajno estas havebla rete. 38 00:02:12,020 --> 00:02:14,840 Aparte rimedoj kiujn vi eble ne nepre rimarki, speciale 39 00:02:14,840 --> 00:02:15,881 se venos tien en persono. 40 00:02:15,881 --> 00:02:20,230 Do unu el la instruado uloj ĉiun jaro faras kanonaj aro de notoj, 41 00:02:20,230 --> 00:02:22,010 tial vi ne bezonas teni vian kapon malsupren, provante 42 00:02:22,010 --> 00:02:24,410 transskribi plej ion kiu eble okazos ĉi tie en klaso. 43 00:02:24,410 --> 00:02:25,940 Do rimarkas ke tiuj tn [? Scribd?] Notoj 44 00:02:25,940 --> 00:02:29,350 estas rete, certe la lumbildojn kaj fontkodon ke ni uzas en klaso. 45 00:02:29,350 --> 00:02:31,436 Ni faras plenan tekston transskriboj havebla ankaŭ. 46 00:02:31,436 --> 00:02:34,310 Do se vi pigre memoras iuj termino, kaj volas rigardi ĝin iom 47 00:02:34,310 --> 00:02:37,280 pli vole, rimarkas ke ĉiuj de kiu estas serĉeblaj rete. 48 00:02:37,280 --> 00:02:38,930 Tiel kiel walkthroughs ankaŭ. 49 00:02:38,930 --> 00:02:42,710 Efektive, hodiaŭ ni komencas rigardi pli malalta nivelo programlingvo, 50 00:02:42,710 --> 00:02:45,290 baldaŭ por esti konata al ni kiel C, kaj ĝi estas tre facila 51 00:02:45,290 --> 00:02:48,820 al ia perdiĝas post nur kelkaj momentoj tempo, kaj tiam ia miraklo 52 00:02:48,820 --> 00:02:52,370 kiom ni efektive atingis iun pli kompleksa ekzemplo de la plej simplaj. 53 00:02:52,370 --> 00:02:54,975 Kaj tiel realigi Ni ĉerizo pick dum klaso iuj 54 00:02:54,975 --> 00:02:57,850 de la reprezentaj ekzemploj, sed konscias ke tiel pli ankaŭ 55 00:02:57,850 --> 00:03:01,140 havebla enreta do vi povas labori tra ĝi ĉe via propra ritmo, 56 00:03:01,140 --> 00:03:02,950 tamen vi estas plej komforta. 57 00:03:02,950 --> 00:03:05,200 >> Sed ni cxesis kun programoj kiuj estis ĝuste tiu. 58 00:03:05,200 --> 00:03:09,690 Do mi klakas la verdan flagon, kaj kion signifas tiu programo fari? 59 00:03:09,690 --> 00:03:10,710 Diras, saluton, mondo. 60 00:03:10,710 --> 00:03:13,180 Ĝi faras la kato diri saluton en sia malgranda mondo 61 00:03:13,180 --> 00:03:15,990 sur la supron maldekstra flanko el Scratch la uzulinterfaco. 62 00:03:15,990 --> 00:03:18,810 Sed ni komencis enkonduki iuj terminologio pasintsemajne. 63 00:03:18,810 --> 00:03:23,614 Kaj do, aferoj tiel ni nomas kion? 64 00:03:23,614 --> 00:03:25,280 Kio povus esti la termino genérico por tio? 65 00:03:25,280 --> 00:03:26,266 Yeah. 66 00:03:26,266 --> 00:03:28,210 Maniero aŭ deklaron. 67 00:03:28,210 --> 00:03:29,280 Certe, ĝi estas ago. 68 00:03:29,280 --> 00:03:30,140 Ĉu ĉi. 69 00:03:30,140 --> 00:03:32,400 Kaj tamen ekzistis aliaj formoj grati, 70 00:03:32,400 --> 00:03:35,360 krom tiuj tn deklaro, ili ankaŭ 71 00:03:35,360 --> 00:03:38,221 aferojn tiel, ke ni nomas kion? 72 00:03:38,221 --> 00:03:38,720 Yeah. 73 00:03:38,720 --> 00:03:39,634 Do buklo. 74 00:03:39,634 --> 00:03:42,050 Kaj en ĉi tiu kazo, ĉi tiu afero ripetoj, evidente, 10 fojojn. 75 00:03:42,050 --> 00:03:43,040 Tie estas ĉiam bloko. 76 00:03:43,040 --> 00:03:44,164 Ekzistas kelkaj aliaj. 77 00:03:44,164 --> 00:03:48,309 Kaj hodiaŭ ni tuj vidos kiel traduki tion al pli moderna mondo, 78 00:03:48,309 --> 00:03:50,850 se vi volas, eĉ se ĝi estas tuj aperas unuavide 79 00:03:50,850 --> 00:03:52,024 esti multe pli arcano. 80 00:03:52,024 --> 00:03:53,190 Sed estis ĝuste cikloj. 81 00:03:53,190 --> 00:03:56,182 Kaj tiam ni havas aferojn kiel tiu, kiun havis tiu formo, 82 00:03:56,182 --> 00:03:57,515 kaj esence demandoj. 83 00:03:57,515 --> 00:03:58,890 Kaj ni rilatis al tiuj kiel kio? 84 00:03:58,890 --> 00:03:59,762 >> Publiko: Bulea esprimo. 85 00:03:59,762 --> 00:04:00,320 >> DAVID J. Malan: Yeah. 86 00:04:00,320 --> 00:04:01,340 Bulea esprimo. 87 00:04:01,340 --> 00:04:04,502 Iu kiu estas vera aŭ falsa, jes aŭ ne, unu aŭ nul, 88 00:04:04,502 --> 00:04:05,960 tamen vi volas vidi la mondon. 89 00:04:05,960 --> 00:04:08,335 Sed ni nomis tiujn Bulea esprimoj, kaj ni ilin ŝtopi 90 00:04:08,335 --> 00:04:09,900 en kondiĉoj, aŭ branĉoj. 91 00:04:09,900 --> 00:04:12,170 Kaj en la mondo de Nulo, ĉio bele 92 00:04:12,170 --> 00:04:15,460 interlocks laŭ ĝia formo, se ĝi faras logikan sencon tion fari, 93 00:04:15,460 --> 00:04:18,490 sed vi ne devas halti ĉe nur farante unu afero kondiĉe, 94 00:04:18,490 --> 00:04:20,450 vi povas havi proverba forko en la vojo 95 00:04:20,450 --> 00:04:24,040 kaj do ĉu tiu aŭ se la kondiĉo estas vera aŭ ne. 96 00:04:24,040 --> 00:04:26,040 Kaj tiam, kiel vi vidos, se vi ne jam, 97 00:04:26,040 --> 00:04:27,480 Vi povas eĉ nesto tiujn blokojn. 98 00:04:27,480 --> 00:04:32,110 Do Scratch kreskas plenigi la formoj ke vi eble volas enmeti en ĝin, 99 00:04:32,110 --> 00:04:35,330 tiel vi povas fakte esprimi plej ajna logiko ke vi volus fari. 100 00:04:35,330 --> 00:04:38,220 >> Nun kelkajn vortojn de anonco por ambaŭ tie kaj New Haven. 101 00:04:38,220 --> 00:04:39,370 Do Sekciigo komenciĝas hodiaŭ. 102 00:04:39,370 --> 00:04:42,120 La URL por ĉi tiu estas sur la kurso la retejo, por tiuj nekonataj. 103 00:04:42,120 --> 00:04:43,970 Sekcioj estos ŝanco kunvenu 104 00:04:43,970 --> 00:04:46,553 en multe pli intima medio ol [? Sanders?] Permesas, 105 00:04:46,553 --> 00:04:50,347 kun 10 al 20 samklasanoj kun instruante ulo ĉe malsamaj aŭtoveturejoj, 106 00:04:50,347 --> 00:04:51,930 kaj malsamaj paŝoj, se vi tiel elektos. 107 00:04:51,930 --> 00:04:54,080 Efektive la kurso proponojn malsamaj sekcioj 108 00:04:54,080 --> 00:04:57,340 por tiuj malpli komfortaj, pli komforta, kaj ie inter, 109 00:04:57,340 --> 00:04:59,860 kaj la rolo de thumb tie, estas ekzistas neniu formala difino, 110 00:04:59,860 --> 00:05:04,600 sed se vi estas malpli komfortaj, vi ia scias. 111 00:05:04,600 --> 00:05:07,470 Vi estas iom kuraĝa pri la ideo de tretante piede, eble, reen 112 00:05:07,470 --> 00:05:10,130 en la klasĉambro, aŭ montrante supren al intere sekcio. 113 00:05:10,130 --> 00:05:12,770 Se vi estis programado ekde vin estis ses jaroj maljuna, pli komfortaj, 114 00:05:12,770 --> 00:05:13,400 eble al vi. 115 00:05:13,400 --> 00:05:16,150 Kaj se ĝi estas speco de ĵeton-supren, Tio estas ĝuste kio la intere 116 00:05:16,150 --> 00:05:17,190 estas intencita esti. 117 00:05:17,190 --> 00:05:18,410 >> Nun, intertempe, por klaso tiu grandeco, 118 00:05:18,410 --> 00:05:21,326 ĝi prenas nin sufiĉe tempo por sekcio ĉiuj, tiel ni tn, 119 00:05:21,326 --> 00:05:24,030 súper sekcioj, venante ĉi semajnfino kaj frua sekvanta semajno, 120 00:05:24,030 --> 00:05:26,570 Sekve preni rigardi la kurson de afiŝinto por tiuj, kiuj estas kompreneble larĝe, 121 00:05:26,570 --> 00:05:28,610 kaj ankaŭ filmita por tiuj kiuj ne povas fari ilin. 122 00:05:28,610 --> 00:05:33,470 Kaj sekcioj mem komencos en semajno tri de CS50 nulo indekso. 123 00:05:33,470 --> 00:05:35,880 Problemo aro 0 estas jam sur la kurson de afiŝinto. 124 00:05:35,880 --> 00:05:40,010 Kaj rimarki ke vi ja devas naŭ malfrue tagoj ĉi semestro. 125 00:05:40,010 --> 00:05:43,240 Do tio estas ĝisdatigo de fina jaro, kiam ni havis kvin malfrue tagoj. 126 00:05:43,240 --> 00:05:46,210 >> Do se vi scivolas, ni havos naŭ problemo aroj. 127 00:05:46,210 --> 00:05:53,200 Vi havas naŭ malfrue tagoj, ĉiu el kiuj vi povas nur elspezi por semajno plu. 128 00:05:53,200 --> 00:05:56,089 Tio efike faras ĉiuj la problemo aroj pro vendredo, 129 00:05:56,089 --> 00:05:58,630 sed la celo estas meti iom bita de psikologia premo 130 00:05:58,630 --> 00:06:01,100 sur vin provi akiri aferojn en ĵaŭde 131 00:06:01,100 --> 00:06:03,960 ĉar kiel vi baldaŭ malkovros, por bone aŭ por malbone, plej 132 00:06:03,960 --> 00:06:07,820 ĉio en la programara mondo finas prenante multe pli longe ol vi anticipas. 133 00:06:07,820 --> 00:06:10,620 Do konsideras ian de ŝanco por helpi 134 00:06:10,620 --> 00:06:13,880 mem celi Sportoj sed preni komforto en tiu, jes, 135 00:06:13,880 --> 00:06:14,950 ĉiu debeto Vendredo. 136 00:06:14,950 --> 00:06:17,590 Se vi submetas ilin sur Ĵaŭdo, jen mirinda. 137 00:06:17,590 --> 00:06:21,020 Mankas bonus punktoj aŭ ekstra kredito por renkonti tiun templimon. 138 00:06:21,020 --> 00:06:23,250 Ĝi signifis esti lambastono nur. 139 00:06:23,250 --> 00:06:25,810 >> Kaj oficejo horoj, ambaŭ tie kaj en New Haven, 140 00:06:25,810 --> 00:06:28,840 persone, se vi ŝatus renkonti kun iu el niaj kursoj 141 00:06:28,840 --> 00:06:31,060 instruado uloj kaj CAS por asistado. 142 00:06:31,060 --> 00:06:31,640 >> Bone. 143 00:06:31,640 --> 00:06:33,110 Do nun, ni faru ĉi pli reala. 144 00:06:33,110 --> 00:06:35,470 Kaj dum momento ĝi tuj komencos preni iom pli arcano, sed tre 145 00:06:35,470 --> 00:06:37,310 rapide vendrede kaj sekva semajno ni estos 146 00:06:37,310 --> 00:06:41,230 kapablis fari tiel multe pli ol ni povis tiel malproksima en Scratch. 147 00:06:41,230 --> 00:06:44,350 Do ni enkondukis kodon lasta semajno, kvankam pictoral. 148 00:06:44,350 --> 00:06:45,620 Estis enigmo pecojn. 149 00:06:45,620 --> 00:06:48,800 Kaj ni formaligita ke estas iu nomita fontkodon, 150 00:06:48,800 --> 00:06:50,330 sed estus ja aspektas? 151 00:06:50,330 --> 00:06:52,550 Nu, ĝi aspektis iom io tiamaniere. 152 00:06:52,550 --> 00:06:55,410 Kaj, fakte, nur speco de turmentus kie ni povas iri kun ĉi tiu. 153 00:06:55,410 --> 00:06:57,800 Mi tuj iros antaŭen kaj malfermu fenestron tie, 154 00:06:57,800 --> 00:06:59,810 kaj mi simple tuj elekti novan dosiertipon. 155 00:06:59,810 --> 00:07:03,200 Kaj mi tuj savi ĉi dosiero kiel ion kiel saluton dot c. 156 00:07:03,200 --> 00:07:05,700 Pli sur tiu elekto de vortoj en nur momento. 157 00:07:05,700 --> 00:07:08,630 Kaj jen kiel iu povus irad skribanta programon. 158 00:07:08,630 --> 00:07:13,990 Inkluzivas normo / S skalara h, int main malplenon, kaj tiam malfermita krispa streĉa, proksime 159 00:07:13,990 --> 00:07:19,430 krispa krampoj, printf saluton komo mondo, backslash n, punktokomo, Konservi, farita. 160 00:07:19,430 --> 00:07:19,930 OK. 161 00:07:19,930 --> 00:07:21,670 Mi verkis mian unuan programo, sed tuj 162 00:07:21,670 --> 00:07:23,878 esti nekredeble underwhelmed ĉar kiam mi reale 163 00:07:23,878 --> 00:07:27,352 kuri ĉi programo, kompreneble, per unua skribo fari saluton, 164 00:07:27,352 --> 00:07:30,310 kaj tiam dot oblikvo saluton, kaj ni iri tra tiu en multe pli detale 165 00:07:30,310 --> 00:07:31,730 en momento, nenio faras. 166 00:07:31,730 --> 00:07:33,270 Ne krevas malferma ajna fenestroj. 167 00:07:33,270 --> 00:07:35,070 Ĝi ne faras nenion aparte imago. 168 00:07:35,070 --> 00:07:38,830 Ĉiuj faras estas kion mi rakontis al fari, sed kiel ni atingos tion? 169 00:07:38,830 --> 00:07:40,560 Kiel do ni konstruos sur tiu? 170 00:07:40,560 --> 00:07:43,430 Nu, ni enkonduki kelkajn malsamaj konceptoj tie. 171 00:07:43,430 --> 00:07:47,170 >> Do unu, ni estas komenconta uzante programon nomata tradukilo. 172 00:07:47,170 --> 00:07:51,470 A tradukilo ekzistas por Mac VIN, Windows, Linukso, ajna kvanto de mastrumaj sistemoj, 173 00:07:51,470 --> 00:07:54,540 kaj ni baldaŭ prezentos vin al la medio kiun ni uzos, 174 00:07:54,540 --> 00:07:57,410 sed tradukilo estas nur ĝenerala termino por peco de programaro 175 00:07:57,410 --> 00:08:01,940 kiu prenas fontkodo kaj produktas celkodo el ĝi. 176 00:08:01,940 --> 00:08:03,940 Alivorte, se vi havas kiel enigo via fonto 177 00:08:03,940 --> 00:08:08,250 kodo, simile kiel tio Mi nur tajpitaj, ĝi finfine produktas celkodo. 178 00:08:08,250 --> 00:08:11,780 Kaj celkodo estas vere nur fantazio maniero diri ĝi eligas 179 00:08:11,780 --> 00:08:12,926 nulo aj kaj onian. 180 00:08:12,926 --> 00:08:14,800 Alivorte, fonto kodon, kvankam ĝi estas 181 00:08:14,800 --> 00:08:17,240 tuj serĉos iom arcano, kaj iom malpli amika 182 00:08:17,240 --> 00:08:19,590 ol Scratch unuavide, ĝi estas almenaŭ io 183 00:08:19,590 --> 00:08:21,120 ke ni homoj povas kompreni. 184 00:08:21,120 --> 00:08:24,360 Ĉio aspektas kaj sonas Angla kvankam ĝi estas tre konciza. 185 00:08:24,360 --> 00:08:28,040 Dum programado en nulo aj kaj onian, kiel niaj antaŭuloj devis vidi, 186 00:08:28,040 --> 00:08:30,920 antaŭ kelkaj jaroj, ne estis aparte amuza defio. 187 00:08:30,920 --> 00:08:33,710 Kaj tamen, jen kion la komputilo ankoraŭ komprenas. 188 00:08:33,710 --> 00:08:37,010 Do kompililo prenas nin de fontkodon celkodo. 189 00:08:37,010 --> 00:08:39,860 Estas kiel malfermante dosieron kun la tradukilo, kaj kiam vi konservos ĝin, 190 00:08:39,860 --> 00:08:41,419 vi ricevas tiujn nuloj kaj aĵoj. 191 00:08:41,419 --> 00:08:43,419 Do ni vidos kiel fari ke en nur momento. 192 00:08:43,419 --> 00:08:47,400 >> Sed ni nun provos havigi transponti inter pasintsemajne kaj tiu, 193 00:08:47,400 --> 00:08:50,660 por ke tiel same, kiel ni akiras pendigis sur aĵoj kiel krispa krampoj, 194 00:08:50,660 --> 00:08:54,100 kaj punktokomojn kaj krampoj, kaj ĉiuj tiuj intelekte interesa 195 00:08:54,100 --> 00:08:57,620 aspektoj de programado, kiu tre kompreneble stumbli personoj frue sur, 196 00:08:57,620 --> 00:09:00,930 konscias ke ĉiuj la ideoj hodiaŭ, estas la sama kiel lasta. 197 00:09:00,930 --> 00:09:03,975 Do lasta, ni vidis tiun ekzemplon tie, Saluton Mondo programo. 198 00:09:03,975 --> 00:09:07,500 Nu, hodiaŭ, se ni volas implementar tiu sama programo, 199 00:09:07,500 --> 00:09:10,800 ĝi tuj aspekti iom io tiamaniere. 200 00:09:10,800 --> 00:09:14,040 Kaj ni klarigos antaŭ longa kion int, kaj ĉefa kaj dezerta, kaj ĉiuj de tiu 201 00:09:14,040 --> 00:09:18,770 estas, sed almenaŭ mi vidas tie jam la familiara Saluton Mondo. 202 00:09:18,770 --> 00:09:20,860 >> Dume, aferoj kiel funkcio, diri saluton, 203 00:09:20,860 --> 00:09:23,570 Estas tre simple tuj estos tre simpla aserto kiel tio. 204 00:09:23,570 --> 00:09:26,930 Printf saluton mondo, kun iuj citaĵoj, kun backslash, 205 00:09:26,930 --> 00:09:29,780 kun punktokomo, sed pli sur la venonta. 206 00:09:29,780 --> 00:09:34,066 Masxojn, dume, tiu estas ciklo, kiu, kompreneble, diras saluton mondo eterne, 207 00:09:34,066 --> 00:09:36,690 kaj ĉi tiu tuj aspekti iom weirder ol en la lasta, 208 00:09:36,690 --> 00:09:39,530 sed se mi diru ion kiel, dum veraj, mi 209 00:09:39,530 --> 00:09:44,050 tiam povas presi Saluton mondo denove kaj denove kaj denove kaj denove. 210 00:09:44,050 --> 00:09:46,660 Kaj tiam kiel vi povas speco de komenci konkludi tie, 211 00:09:46,660 --> 00:09:49,070 ĉi konvencio uzi krispa krampoj estas speco 212 00:09:49,070 --> 00:09:52,050 de kiel brakumante la dentado linion de kodo tie. 213 00:09:52,050 --> 00:09:55,840 La printf linion de kodo tre kiel la flava enigma peco super. 214 00:09:55,840 --> 00:09:58,740 Do ni ne tuj diri ĉiam, Ni tuj diru dum vera, 215 00:09:58,740 --> 00:10:01,020 sed ni vidos kial tio estas en nur iom. 216 00:10:01,020 --> 00:10:04,210 >> Dume, se ni havas buklo kiel tiu, kie vi ripetu ion finia 217 00:10:04,210 --> 00:10:07,730 numeron fojojn, ĉi tiu estas tro tuj prenos iom alkutimiĝi 218 00:10:07,730 --> 00:10:12,820 al, sed ĝi tuj diros por int i ricevas nulon, mi malpli ol 10, i ++, 219 00:10:12,820 --> 00:10:14,056 kaj tiam printf denove. 220 00:10:14,056 --> 00:10:15,430 Sed tuj estos ŝablonoj. 221 00:10:15,430 --> 00:10:18,434 Kaj por tiuj de vi konataj kun AP Computer Science, aŭ Java, 222 00:10:18,434 --> 00:10:21,100 aŭ ajnan numeron de aliaj lingvoj, preskaŭ ĉiuj el ĉi tiuj konstruoj 223 00:10:21,100 --> 00:10:23,820 tiel longe aspektu plejparte familiara. 224 00:10:23,820 --> 00:10:24,680 >> Do variablo. 225 00:10:24,680 --> 00:10:29,270 Do jen simpla Scratch eltiraĵo ke prende variablon nomis nombrilo al nulo, 226 00:10:29,270 --> 00:10:33,150 kaj tiam por ĉiam diras la vendotablo, kaj tiam ŝanĝu la nombrilo de unu. 227 00:10:33,150 --> 00:10:37,030 Do ĝi komencas kun nul, kaj tiam unu, du, tri. 228 00:10:37,030 --> 00:10:42,560 Nu, kiel povus ni enkonduki ke en tiun novan lingvon iom simile? 229 00:10:42,560 --> 00:10:45,460 Int counter egalas nulo, dum vero, kiu 230 00:10:45,460 --> 00:10:48,100 estas tiu sama ideo de antaux fari ion por ĉiam, 231 00:10:48,100 --> 00:10:49,530 kaj mi simple tuj printf. 232 00:10:49,530 --> 00:10:53,310 Kaj nun ĝi iĝas iom stranga, procento i, sed pli sur tiu estonta, 233 00:10:53,310 --> 00:10:55,140 sed tiuj ideoj estas tute samaj. 234 00:10:55,140 --> 00:10:58,820 Ni ĝuste nun havas adheri al la sintakso ke la komputilo estas 235 00:10:58,820 --> 00:11:00,010 tuj postulos de ni. 236 00:11:00,010 --> 00:11:04,620 >> Bulea esprimo, ion kiel sx malpli ol y, aŭ x malpli ol y, 237 00:11:04,620 --> 00:11:06,354 kaj y malpli ol z. 238 00:11:06,354 --> 00:11:09,270 Ĝi tuj rigardi iom io kiel tiun, kun krampoj nur 239 00:11:09,270 --> 00:11:13,020 kiel en matematiko por bona mezuro al ĵus certigi ke la ordo de operacioj 240 00:11:13,020 --> 00:11:14,750 kiel ni intencas. 241 00:11:14,750 --> 00:11:15,600 Kaj nun, kondiĉoj. 242 00:11:15,600 --> 00:11:21,220 Do se x malpli ol y, parolu x estas malpli ol y, alie se x estas pli granda ol y, 243 00:11:21,220 --> 00:11:26,020 diru x estas pli granda ol y, alikaze logike, x devas esti egala al y. 244 00:11:26,020 --> 00:11:28,710 Do vi povus apliki io tiamaniere en Scratch, 245 00:11:28,710 --> 00:11:31,230 aŭ vi povus apliki en ĉi tiu sintakso. 246 00:11:31,230 --> 00:11:35,090 Kaj denove, la krispa krampoj estas speco de donante nin la sama formo kiel la enigmo 247 00:11:35,090 --> 00:11:40,750 pecoj, sed la sintakso, nun, estas eble komencante sekvi iuj ŝablonoj. 248 00:11:40,750 --> 00:11:42,910 >> Do, kion signifas ĉi al ni ĉi tie? 249 00:11:42,910 --> 00:11:45,260 Do ni estas reen tiam ĉe nia ĉefa programo. 250 00:11:45,260 --> 00:11:47,930 Ni fakte, nun, fari ion per ĝi. 251 00:11:47,930 --> 00:11:50,660 Do en tiu unua linion ni vidas akraj inkluzivas, 252 00:11:50,660 --> 00:11:53,160 normo / S, dot h, kaj tiam iuj strangaj angulo 253 00:11:53,160 --> 00:11:57,330 krampoj sub tiu. int main malplenon, kaj tiam printf saluton mondo. 254 00:11:57,330 --> 00:11:58,200 Do simple prenas paŝon. 255 00:11:58,200 --> 00:12:02,440 Iu kiu neniam planita antaŭe, almenaŭ klarigi unu el tiuj linioj. 256 00:12:02,440 --> 00:12:04,490 Uzante eble iuj el la ĵargono de lasta semajno. 257 00:12:04,490 --> 00:12:06,942 Kio estas printf, ekzemple? 258 00:12:06,942 --> 00:12:07,442 Yeah. 259 00:12:07,442 --> 00:12:08,410 >> Spektantaro: [inaudible] 260 00:12:08,410 --> 00:12:08,610 >> DAVID J. Malan: Yeah. 261 00:12:08,610 --> 00:12:11,380 Estas funkcio, aŭ deklaron, de lasta semajno terminologio. 262 00:12:11,380 --> 00:12:13,470 Kaj ĝi estas ago ke estas fari ion. 263 00:12:13,470 --> 00:12:15,855 Nun ĉi tiu funkcio, aŭ ĉi deklaro, faras 264 00:12:15,855 --> 00:12:17,550 ĝi ŝajnas preni ian enigo? 265 00:12:17,550 --> 00:12:20,080 266 00:12:20,080 --> 00:12:24,380 Kaj en kiu senco faras ŝajnas preni enigo, se jes? 267 00:12:24,380 --> 00:12:26,180 Enigo, kion mi celas per tio? 268 00:12:26,180 --> 00:12:26,720 Yeah. 269 00:12:26,720 --> 00:12:27,595 >> Spektantaro: [inaudible] 270 00:12:27,595 --> 00:12:30,565 271 00:12:30,565 --> 00:12:31,440 DAVID J. Malan: Yeah. 272 00:12:31,440 --> 00:12:34,890 Do Scratch el kelkaj puzlo pecoj kie vi povas parametrize ĝin. 273 00:12:34,890 --> 00:12:37,980 Vi povus rakonti la ripeto bloki kiomfoje ripeti, 274 00:12:37,980 --> 00:12:40,320 tiel ke estis enigaĵoj de varoj, kaj ĝuste kiel Scratch 275 00:12:40,320 --> 00:12:43,060 havis iom blanka lokokupilo cxar la nombron vi tajpas, 276 00:12:43,060 --> 00:12:45,810 do ni uzu en ĉi teksto mondo krampoj 277 00:12:45,810 --> 00:12:49,910 doni al ni ke cirkla formo en kiun ni povas konekti nia enigo. 278 00:12:49,910 --> 00:12:53,180 Post ĉiu, dekoj da jaroj kiam tiu lingvo, nomata C, 279 00:12:53,180 --> 00:12:55,950 estis inventita neniu anticipis ĝi estas unu el ni, 280 00:12:55,950 --> 00:12:59,420 tiuj kelkaj jaroj poste, ni preferus bezona funkcio kiu diras saluton. 281 00:12:59,420 --> 00:12:59,920 Dekstra? 282 00:12:59,920 --> 00:13:02,880 Estus agrable, se estus aro enigmo pecon, aŭ ŝlosila vortoj, 283 00:13:02,880 --> 00:13:05,502 ke nomiĝas saluton, ke laŭvorte nur diras saluton. 284 00:13:05,502 --> 00:13:06,460 Sed ni ne bezonas tiun. 285 00:13:06,460 --> 00:13:09,320 Ni povas havi ion multe pli malalta nivelo, kiel genérico presaĵo 286 00:13:09,320 --> 00:13:12,760 komando, kiu prenas enigo, kaj presas kion ajn ni volas. 287 00:13:12,760 --> 00:13:14,960 Do rimarki nun la mastro ke komencos aperi. 288 00:13:14,960 --> 00:13:19,310 Malfermita paren, proksime paren estas ŝajne brakumante la enigo, 289 00:13:19,310 --> 00:13:21,770 kaj tiam mi vidas duoble citaĵoj sur ambaŭ finoj. 290 00:13:21,770 --> 00:13:25,110 Ankoraŭ stranga backslash n, sed espereble nun vi 291 00:13:25,110 --> 00:13:29,900 povas komenci bildigi almenaŭ tio printf prenas en iu formo de enigaĵo. 292 00:13:29,900 --> 00:13:31,850 Ne kiel uzanto amika kiel Skrapi, sed estas nur 293 00:13:31,850 --> 00:13:34,920 kiel esti ŝtopita en iun valoron tie. 294 00:13:34,920 --> 00:13:38,306 >> Bone, nun ni vere fari ion kun tiu. 295 00:13:38,306 --> 00:13:40,930 Do iuj el vi povus scii de havanta shopped la klaso antaŭ, 296 00:13:40,930 --> 00:13:42,638 babilis kun amikoj, ke por multaj jaroj 297 00:13:42,638 --> 00:13:44,590 ni uzis ion nomatan la CS50 aparaton. 298 00:13:44,590 --> 00:13:49,160 Ĉi estis termino priskribanta teknologio nomita virtuala maŝino, kiu 299 00:13:49,160 --> 00:13:51,870 estas peco de programaro kiu via antaŭuloj estus elŝuti off 300 00:13:51,870 --> 00:13:53,360 la kurson de afiŝinto senpage. 301 00:13:53,360 --> 00:13:56,550 Ili ankaŭ elŝuti libera peco de programaro nomita hypervisor, 302 00:13:56,550 --> 00:14:00,590 iu nomita kiel VMware, aŭ VirtualBox, aŭ ajna nombro 303 00:14:00,590 --> 00:14:04,450 de aliaj iloj, kaj sur ilia Mac aŭ PC aŭ kio ajn komputilo ili havis pasintjare 304 00:14:04,450 --> 00:14:06,620 kaj en la jaroj pasintaj, ili duobligus klaku ikono 305 00:14:06,620 --> 00:14:08,860 kuri ĉi programaron nomata hypervisor. 306 00:14:08,860 --> 00:14:12,220 Kaj tiam ene de tiu programo ili malfermus la CS50 aparaton. 307 00:14:12,220 --> 00:14:14,710 Kaj la efiko estis ke ĉu antaŭulo de la via 308 00:14:14,710 --> 00:14:17,780 estis kurante Mac VIN aŭ Fenestroj, li aŭ ŝi tiam 309 00:14:17,780 --> 00:14:22,910 poste havis novan fenestron sur iliajn ekrano kuranta CS50 la medio. 310 00:14:22,910 --> 00:14:27,370 Do virtualan maŝinon permesas kuri unu operaciumo ene de alia, 311 00:14:27,370 --> 00:14:28,785 kaj tio estas ĝuste kion ni faris. 312 00:14:28,785 --> 00:14:31,410 Dum la plejparto de la kurso ni uzi mastruma sistemo nomita 313 00:14:31,410 --> 00:14:34,070 Linukso, specife Ubuntu Linukso kaj ĉi 314 00:14:34,070 --> 00:14:37,590 Estas tre agrabla maniero en jaroj pasintaj de certigante ke ĉiuj en la kurso 315 00:14:37,590 --> 00:14:38,840 nur havis la saman medion. 316 00:14:38,840 --> 00:14:41,339 Kaj vi povas uzi ajnan tipon de komputilo ke vi efektive volas. 317 00:14:41,339 --> 00:14:43,930 Inter la downsides, kvankam, estis ĝi estis kiel du gigabajtoj 318 00:14:43,930 --> 00:14:45,480 elŝuti ĉi afero. 319 00:14:45,480 --> 00:14:50,310 Ĝi ne nepre laboros super bone sur personoj kies komputiloj kiuj eble nur 320 00:14:50,310 --> 00:14:54,570 havis gigon aŭ tiel de RAM, aŭ ne tro multaj gigaherco de CPU rapido, 321 00:14:54,570 --> 00:14:56,750 kaj tial ĉi tiu jaro, por ĉi tiu kaj aliaj kialoj, 322 00:14:56,750 --> 00:14:59,140 ni estis transitioning al tiu medio. 323 00:14:59,140 --> 00:15:03,730 La tielnomata CS50 IDE, kiu estas bazita sur libera programaro, 324 00:15:03,730 --> 00:15:07,380 kaj apogita platformo ke entrepreno nomita Cloud9 325 00:15:07,380 --> 00:15:11,110 subtenas en Eŭropo, kiu permesas nin havi esence 326 00:15:11,110 --> 00:15:15,770 ke ĝusta sama medio kiel en jaroj pasintaj, sed en la tn nubo. 327 00:15:15,770 --> 00:15:17,532 >> Do kio estas la nubo? 328 00:15:17,532 --> 00:15:20,480 Vi verŝajne klakis lia ikono en via Mac aŭ PC. 329 00:15:20,480 --> 00:15:22,210 Kio estas la nubo? 330 00:15:22,210 --> 00:15:22,709 Yeah? 331 00:15:22,709 --> 00:15:25,880 332 00:15:25,880 --> 00:15:26,780 Iom pli laŭte. 333 00:15:26,780 --> 00:15:30,510 334 00:15:30,510 --> 00:15:31,010 Yeah. 335 00:15:31,010 --> 00:15:33,770 Ĝi estas nur aro de komputiloj aliloke ke stoki datumojn kaj kuro 336 00:15:33,770 --> 00:15:34,880 programaro kaj similaj. 337 00:15:34,880 --> 00:15:39,390 Do estas vere nur al la vorto de jure priskribi [? rentable?] 338 00:15:39,390 --> 00:15:40,930 komputiloj kiuj vivas aliloke. 339 00:15:40,930 --> 00:15:42,810 Ke vi mem, ne nepre posedi. 340 00:15:42,810 --> 00:15:45,256 Do kiam viajn datumojn, aŭ via programoj estas en la nubo, 341 00:15:45,256 --> 00:15:47,630 ĝi nur signifas ke estas sur iu alies komputilojn aliloke, 342 00:15:47,630 --> 00:15:50,510 kaj ne, plej verŝajne, en via fizika tekkomputilo aŭ surtabla. 343 00:15:50,510 --> 00:15:52,990 Kaj tiel tio estas kion CS50 IDE nun estas. 344 00:15:52,990 --> 00:15:55,670 >> Nun vi devos iri al certa URL kiu enkondukos vin 345 00:15:55,670 --> 00:16:00,090 al, en problemo starigis 1, poste tiu semajno, ke tiam, sur ensalutadon, 346 00:16:00,090 --> 00:16:01,480 al vi tiun medion. 347 00:16:01,480 --> 00:16:03,896 Kaj multe kiel Scratch havis kelkaj malsamaj paneloj implikita, 348 00:16:03,896 --> 00:16:06,030 Do faras CS50 la IDE havas ekzakte tion. 349 00:16:06,030 --> 00:16:09,480 Sur la supron maldekstra flanko ĉi tie, vi estas tuj vidos familiara dosieron retumilo. 350 00:16:09,480 --> 00:16:11,930 Do iu el la dosieroj kiujn vi metis en tiun medion 351 00:16:11,930 --> 00:16:13,346 estas ĝuste tuj estos listigitaj tie. 352 00:16:13,346 --> 00:16:14,350 Dosieroj kaj dosierujoj. 353 00:16:14,350 --> 00:16:16,790 En la supra dekstra tie, vi tuj vidos lokon 354 00:16:16,790 --> 00:16:18,420 kie vi povas reale skribi vian kodon. 355 00:16:18,420 --> 00:16:21,860 Komence en C, poste en la termino en PHP kaj Javascript, 356 00:16:21,860 --> 00:16:24,739 kaj, eble por fina projektoj, Ruby aŭ Java aŭ Python 357 00:16:24,739 --> 00:16:27,280 aŭ ajna nombro de lingvoj estas apogita en tiu medio. 358 00:16:27,280 --> 00:16:30,130 Ĝi ne estas ĉe ĉiuj ligitaj al CS50 specife. 359 00:16:30,130 --> 00:16:33,390 >> Kaj poste en la fundo angulo tie, speciale por tiuj pli komforta, 360 00:16:33,390 --> 00:16:35,590 vi havas ion nomata terminalprograo. 361 00:16:35,590 --> 00:16:38,770 Kaj tiu fina fenestro permesas vi ekzekuti iu komando ke vi 362 00:16:38,770 --> 00:16:40,860 deziras en ĉi tiu nubo medio. 363 00:16:40,860 --> 00:16:42,860 Ĝi permesas vin instali neniu plia programaro 364 00:16:42,860 --> 00:16:46,810 ke vi volas ĉar vi tn radiko, aŭ administranto privilegiojn. 365 00:16:46,810 --> 00:16:49,930 Do alivorte, eĉ se tiu estas finfine gastigita en la nubo, 366 00:16:49,930 --> 00:16:52,400 kaj kvankam ni havas simpligita ĝin iagrade 367 00:16:52,400 --> 00:16:57,110 defaŭlte, laŭvorte enkondukante, danke al Dan Armendáriz, kaj Dino, 368 00:16:57,110 --> 00:17:01,070 kaj Dan Bradley sur CS50 la teamo super la pasinteco multaj monatoj, malpli komforta 369 00:17:01,070 --> 00:17:05,140 mode kiu kaŝas multajn de la komence konfuza distroj. 370 00:17:05,140 --> 00:17:10,119 Ĉio tie ekzistas al reprezentas tipan komputilon sistemo 371 00:17:10,119 --> 00:17:12,319 ke vi povus uzi en la reala mondo. 372 00:17:12,319 --> 00:17:15,640 >> Do kio faras ĉi ĉiuj signifas, kaj kion ni povas reale fari kun ĝi? 373 00:17:15,640 --> 00:17:19,124 Ni fakte preni peek ĉe programo. 374 00:17:19,124 --> 00:17:21,290 Do mi tuj malfermos la fakta medio tie, 375 00:17:21,290 --> 00:17:23,894 kiu estas nur nia Chrome retumilo, kiu povus esti Firefox, 376 00:17:23,894 --> 00:17:26,640 povus esti Internet Explorer, aŭ alian retumilon tiel. 377 00:17:26,640 --> 00:17:28,400 Ĝi estas plena kribrita tie por la momento. 378 00:17:28,400 --> 00:17:31,580 Kaj mi volas reale turmentus dise kion tiu programo estis. 379 00:17:31,580 --> 00:17:36,170 Do ni rigardu, de zoom en supren pinti, ĉe kio mi faris, kiel mi alvenis tie. 380 00:17:36,170 --> 00:17:38,315 Do jen tiuj ĝusta samaj linioj de kodo. 381 00:17:38,315 --> 00:17:40,440 Do tiu estas la deklaro, kiel vi menciis antaŭe. 382 00:17:40,440 --> 00:17:42,580 La funkcio kiu diras saluton. 383 00:17:42,580 --> 00:17:45,870 La buklaj krampoj, sur linio kvar kaj linio ses, 384 00:17:45,870 --> 00:17:49,290 supozeble speco de envolver tiu linio asocii ĝin 385 00:17:49,290 --> 00:17:50,890 kun la esenco de mia programo. 386 00:17:50,890 --> 00:17:54,890 Do ja, ĉi ŝlosilvorto ĉefa, tio estas supren tie sur linio tri, 387 00:17:54,890 --> 00:17:59,450 Vi povas pensi ke kiel la ekvivalento de kiam verda flago clicked, 388 00:17:59,450 --> 00:18:01,080 bloki en Scratch. 389 00:18:01,080 --> 00:18:05,280 Do jen ĉio ni havas ĉi tie, estas kiam verda flago clicked, presi, aŭ diri, 390 00:18:05,280 --> 00:18:06,700 saluton mondo. 391 00:18:06,700 --> 00:18:11,210 >> Sed ni prenu diveno, nun, ĉe kio tiu unua, pli arcano linio, estas. 392 00:18:11,210 --> 00:18:15,100 Sharp inkludas, malferma angled krampo, normo / S skalara h, 393 00:18:15,100 --> 00:18:17,320 fermi angled krampo. 394 00:18:17,320 --> 00:18:19,850 Kio estas ke eble faras, speciale se vi planas 395 00:18:19,850 --> 00:18:21,390 antaŭe en iu alia lingvo. 396 00:18:21,390 --> 00:18:21,890 Yeah? 397 00:18:21,890 --> 00:18:22,765 >> Spektantaro: [inaudible] 398 00:18:22,765 --> 00:18:25,095 399 00:18:25,095 --> 00:18:25,970 DAVID J. Malan: Yeah. 400 00:18:25,970 --> 00:18:26,470 Ekzakte. 401 00:18:26,470 --> 00:18:29,455 Do tiu estas donanta vin aliri al biblioteko, por tiel diri, de funkcioj. 402 00:18:29,455 --> 00:18:31,830 Kaj biblioteko de funkcioj estas funkcioj ke iu alia 403 00:18:31,830 --> 00:18:34,406 skribis, ĉu ĵus aŭ antaŭlonge, por ke vi 404 00:18:34,406 --> 00:18:35,780 ne devas reinventi la radon. 405 00:18:35,780 --> 00:18:39,020 Ekzemple, ni ne devas scii, en 2015, 406 00:18:39,020 --> 00:18:42,280 kiel skribi kodon kiu metas karaktero sur mia ekrano. 407 00:18:42,280 --> 00:18:44,820 Iu alia kalkulis ke evi la printf funkcio 408 00:18:44,820 --> 00:18:47,280 por ke mi povas ordigi de abstrakta for de tiu, aŭ tavolo 409 00:18:47,280 --> 00:18:49,350 aldone lian aŭ ŝian kodo, kaj nun nur prenu 410 00:18:49,350 --> 00:18:52,760 por donita ke ajna programo mi skribas povas printi ion por la ekrano. 411 00:18:52,760 --> 00:18:58,150 Do tiu unua linio tie en paŝo unu inkludas la tn kaplinio dosiero 412 00:18:58,150 --> 00:18:59,980 por la norma biblioteko. 413 00:18:59,980 --> 00:19:02,630 Do vidu, la lingvo en kiu ni nun laboras 414 00:19:02,630 --> 00:19:05,010 havis norma biblioteko kun multaj funkcioj. 415 00:19:05,010 --> 00:19:07,240 Printf estas unu el ili, kaj tiu unua linio de kodo 416 00:19:07,240 --> 00:19:10,040 signifas doni al mi utiligi tiuj funkcioj, tiel ke mi 417 00:19:10,040 --> 00:19:12,300 ne devas reinventi ke rado. 418 00:19:12,300 --> 00:19:15,940 >> Nun ni iru al la malsupra fenestro kaj fari precize kion mi faris antaŭe. 419 00:19:15,940 --> 00:19:18,520 Antaŭ momento, kiam mi estis whizzing tra la kodon, 420 00:19:18,520 --> 00:19:24,540 tajpante ĝin unuafoje, Mi tre rapide tajpas, fari saluton. 421 00:19:24,540 --> 00:19:28,250 Kio estis tio ĉio pri vi divenas? 422 00:19:28,250 --> 00:19:29,150 Kion mi faris? 423 00:19:29,150 --> 00:19:29,649 Yeah? 424 00:19:29,649 --> 00:19:31,810 425 00:19:31,810 --> 00:19:32,310 Ne gravas. 426 00:19:32,310 --> 00:19:32,970 Estas bone. 427 00:19:32,970 --> 00:19:33,492 Yeah. 428 00:19:33,492 --> 00:19:34,450 Publiko: Kompilado ĝin. 429 00:19:34,450 --> 00:19:34,700 DAVID J. Malan: Yeah. 430 00:19:34,700 --> 00:19:35,770 Estis nur kompili ĝin. 431 00:19:35,770 --> 00:19:36,270 Dekstra? 432 00:19:36,270 --> 00:19:39,280 Eĉ se tio estas tute nekonataj al vi, estas sufiĉe Angla kiel. 433 00:19:39,280 --> 00:19:41,155 Ĝi certe ne nuloj kaj aĵoj, do mi ankoraŭ 434 00:19:41,155 --> 00:19:44,220 devas kuri ĝin tra tiu tn programo, compilador, ke tuj 435 00:19:44,220 --> 00:19:46,060 preni ĝin kiel enigo kaj produktas eligo. 436 00:19:46,060 --> 00:19:48,270 Kaj almenaŭ, nuntempe, en tiu Linuksa medio, 437 00:19:48,270 --> 00:19:51,030 sed tio ne estas kondiĉo, ĉi estas ĝuste kie ni komencu, 438 00:19:51,030 --> 00:19:53,960 vi ĝenerale interrilati kun komputilaj sistemoj kiel ĉi 439 00:19:53,960 --> 00:19:55,770 per tn komandlinio. 440 00:19:55,770 --> 00:19:57,790 Do kun parpadeo prompto kaj via klavaro, 441 00:19:57,790 --> 00:20:01,630 kaj ne tiom via muso, kaj ne tiel fenestroj kaj ikonoj kaj menuoj, 442 00:20:01,630 --> 00:20:02,980 prefere ĉiu estas teksta. 443 00:20:02,980 --> 00:20:06,180 Kaj eĉ se ĉi sentas, unue rigardo, eble, kiel paŝo malantaŭen, 444 00:20:06,180 --> 00:20:08,437 ĝi estas fakte multe pli potenca kaj esprimplena maniero 445 00:20:08,437 --> 00:20:10,270 de kontrolado de komputilo precipe ĉar vi 446 00:20:10,270 --> 00:20:12,950 mem, fariĝis pli komforta de malpli. 447 00:20:12,950 --> 00:20:16,790 Ĝi tuj permesos fari multajn pli da aferoj ol nur kion Microsoft 448 00:20:16,790 --> 00:20:20,390 aŭ Apple permesas fari kun ilia grafika mastruma sistemo. 449 00:20:20,390 --> 00:20:23,270 >> Do kiam mi batis Enter, nun, nenio okazas ĉi tempo 450 00:20:23,270 --> 00:20:25,960 ĉar ŝajne la programo saluton estas ĝisdata. 451 00:20:25,960 --> 00:20:28,250 Kaj kio estis la komando Mi kuris post tio? 452 00:20:28,250 --> 00:20:32,370 Dot oblikvo saluton kaj saluton mondo. 453 00:20:32,370 --> 00:20:34,350 Nun ni prenu paŝo malantaŭeniri por nur momento. 454 00:20:34,350 --> 00:20:39,510 Ĝi rezultas ke fari saluton estas nur simpligita formo de kompili programo. 455 00:20:39,510 --> 00:20:41,670 Ni simple enkonduki unu peco de slango, 456 00:20:41,670 --> 00:20:43,470 sed poste malproksimigi de ĝi, ĉar ĝi ne estas 457 00:20:43,470 --> 00:20:46,640 ĉiuj ke interesa por hodiaŭa celoj. 458 00:20:46,640 --> 00:20:51,000 La tradukilo ni tuj ekuzi nomata Clang, por la C lingvo. 459 00:20:51,000 --> 00:20:54,280 Kaj tiu estas programo kiu estas kuri nur kiel ni faris ĉe la komandlinio tie. 460 00:20:54,280 --> 00:20:56,580 Kaj do se mi volas kompili programon kiu mi 461 00:20:56,580 --> 00:21:00,790 skribis en dosiero nomata saluton punkto c, mi laŭvorte simple tajpu tin saluton c 462 00:21:00,790 --> 00:21:02,100 eniri. 463 00:21:02,100 --> 00:21:04,880 >> La amuza afero estas, pro historiaj kialoj, 464 00:21:04,880 --> 00:21:07,750 se mi ne specifas la nomo de la programo 465 00:21:07,750 --> 00:21:11,690 ke mi volas elirigi, se mi ne agos specifi dosiernomon por nulojn 466 00:21:11,690 --> 00:21:14,990 kaj aĵoj, tre stranga konvencio estis adoptita jarojn 467 00:21:14,990 --> 00:21:17,390 kie sentis specon de bona respondo tiutempe, 468 00:21:17,390 --> 00:21:21,650 bone ni nur arbitre nomi la unua programo ni kompilos punkto ekstere. 469 00:21:21,650 --> 00:21:22,900 A venas unue en la alfabeto. 470 00:21:22,900 --> 00:21:23,920 Ekstere, ĝi estas la eligo. 471 00:21:23,920 --> 00:21:26,210 Do ni nomos la programo defaŭlte punkto ekstere. 472 00:21:26,210 --> 00:21:29,550 Kaj tio estas bone ĉar se mi volas ruli la programon en tiu teksto bazita 473 00:21:29,550 --> 00:21:33,590 medio, mi nur tajpas dot oblikvo punkto eksteren eniri. 474 00:21:33,590 --> 00:21:35,250 Kaj ĝi kurus precize kiel antaŭe. 475 00:21:35,250 --> 00:21:36,880 Do ni vidas ke reala rapida. 476 00:21:36,880 --> 00:21:40,370 >> Do se mi reiros al mia fontkodon en CS50 IDE, 477 00:21:40,370 --> 00:21:47,860 kaj mi anstataŭ fari tion, tin saluton lito c eniri, avizo nenio ŝajnas okazi, 478 00:21:47,860 --> 00:21:49,790 sed preskaŭ ĉiam en tiu Linuksa medio, 479 00:21:49,790 --> 00:21:53,310 kiam nenio malbona ŝajnas okazi, ke signifas ion bonan reale okazis. 480 00:21:53,310 --> 00:21:56,270 Se vi ne vidas eraron mesaĝo, ĉiuj estas probable bone. 481 00:21:56,270 --> 00:22:01,930 Kaj efektive, se mi nun faros dot oblikvo punkto eksteren eniri, mi kuros mia sama programo. 482 00:22:01,930 --> 00:22:04,610 Mi ankoraŭ havas la saluton programo el fruaj ĉar ja ĝi estas 483 00:22:04,610 --> 00:22:07,430 tuj estos tiel multe pli agrable ĵus tajpi fari anstataŭ memorante 484 00:22:07,430 --> 00:22:10,240 tiujn sorĉojn de komandojn, sed ni vidu kiel ni 485 00:22:10,240 --> 00:22:12,890 povus plibonigi sur tiu, tamen. 486 00:22:12,890 --> 00:22:15,340 >> Do, tiu estas la komando kompili la kodon. 487 00:22:15,340 --> 00:22:19,100 Jen la komandon lanĉendan la kompilita kodo poste. 488 00:22:19,100 --> 00:22:20,546 Kiel mi povas specifi dosiernomo? 489 00:22:20,546 --> 00:22:22,670 Nu ni nur enkonduki pli peco de slango. 490 00:22:22,670 --> 00:22:24,461 Kiam vi estas en tiu teksto bazita medio, 491 00:22:24,461 --> 00:22:27,400 vi tuj volas specifi aĵoj nomata komandliniajn argumentojn. 492 00:22:27,400 --> 00:22:31,380 Kiu estas nur fantazio maniero diri: Alivorte ĉe la prompto ke 493 00:22:31,380 --> 00:22:33,860 tweak la konduto de ajn programo vi uzas. 494 00:22:33,860 --> 00:22:37,320 Do konkrete la programo mi estas kurante, skribante la nomon tin, 495 00:22:37,320 --> 00:22:38,504 estas la programo nomata Clang. 496 00:22:38,504 --> 00:22:40,920 Do tiu estas aŭ la malnova lernejo ekvivalento de duobla musklako 497 00:22:40,920 --> 00:22:42,860 sur Microsoft Word aŭ iu programo piktogramon. 498 00:22:42,860 --> 00:22:46,360 Mi anstataŭe simple tajpante lia nomo, sed en ĉi tiu versio de la comandos, 499 00:22:46,360 --> 00:22:51,334 Mi tiam havi haltostreko o spaco saluton spaco saluton dot c. 500 00:22:51,334 --> 00:22:53,500 Do eĉ se vi neniam ludita en tiu mondo antaŭ, 501 00:22:53,500 --> 00:22:58,160 nur preni diveni kion does haltostreko o saluton fari? 502 00:22:58,160 --> 00:23:00,620 Aŭ kio faras ĝi diri tin fari? 503 00:23:00,620 --> 00:23:01,386 Yeah. 504 00:23:01,386 --> 00:23:02,455 >> Spektantaro: [inaudible] 505 00:23:02,455 --> 00:23:03,330 DAVID J. Malan: Yeah. 506 00:23:03,330 --> 00:23:08,614 Ĝi simple metas la dosiero eligo esti saluton anstataŭ la pli stultaj punkto ekstere. 507 00:23:08,614 --> 00:23:09,780 Kaj efektive, ni provu tion. 508 00:23:09,780 --> 00:23:14,250 Do, se mi nun faras, unue ni faru tion, r m saluton. 509 00:23:14,250 --> 00:23:15,590 Tio forigos. 510 00:23:15,590 --> 00:23:18,450 Kaj ĝi tuj diros forigu regula dosiero saluton, kiu 511 00:23:18,450 --> 00:23:22,210 estas nenecese arcano, sed nur per ĉu vi volas forigi la dosieron, 512 00:23:22,210 --> 00:23:23,230 kaj mi tajpas y por jes. 513 00:23:23,230 --> 00:23:27,340 Kaj rimarki, se vi ekrigardante supro maldekstra, ĝi malaperos el tie supre. 514 00:23:27,340 --> 00:23:32,180 Permesu al mi fari tin haltostreko o, kaj Mi tuj iros antaŭen kaj fari saluton, 515 00:23:32,180 --> 00:23:34,890 en ĉiuj kaskedoj, saluton dot c. 516 00:23:34,890 --> 00:23:37,775 Nun, se mi faros dot oblikvo saluton, kion vi atendus? 517 00:23:37,775 --> 00:23:41,240 518 00:23:41,240 --> 00:23:42,430 >> Eble estas usklecodistinga. 519 00:23:42,430 --> 00:23:43,070 Eble estas ne. 520 00:23:43,070 --> 00:23:44,030 Ni vidu. 521 00:23:44,030 --> 00:23:45,230 Ne tia dosiero aŭ dosierujo. 522 00:23:45,230 --> 00:23:47,438 Kaj ni povas ia cheat per nur rigardante supre maldekstre. 523 00:23:47,438 --> 00:23:49,630 Kion faris mi evidente savi la programon kiel? 524 00:23:49,630 --> 00:23:51,070 Ĉiuj ĉapoj saluton. 525 00:23:51,070 --> 00:23:53,020 Do efektive, jen irante por fari diferencon. 526 00:23:53,020 --> 00:23:54,540 Do nun saluton mondo estas reen. 527 00:23:54,540 --> 00:23:56,969 Nun tiu estas ĉiuj belaj kaj bonaj kaj ĉiuj tre menso-numbing, 528 00:23:56,969 --> 00:23:59,760 al ia get enkaĉiĝis en tiuj detaloj, sed komprenu ilin 529 00:23:59,760 --> 00:24:00,500 estas bona. 530 00:24:00,500 --> 00:24:02,675 >> Tajpado el tiuj pli longa sorcxojn 531 00:24:02,675 --> 00:24:05,980 ne tuj estos aparte amuzo, do homoj en la mondo 532 00:24:05,980 --> 00:24:08,260 inventis alia programo, antaŭ kelkaj jaroj, nomitan 533 00:24:08,260 --> 00:24:12,190 fari, ke sufiĉe simple permesas tajpi konsiston, 534 00:24:12,190 --> 00:24:14,530 la nomo de la programo vi volas fari, kaj fari 535 00:24:14,530 --> 00:24:18,580 estas inteligenta en tio ĝi aspektos en la aktuala dosierujo, alinome dosierujon, 536 00:24:18,580 --> 00:24:21,440 kaj se vi havas dosieron nomata saluton punkto c, 537 00:24:21,440 --> 00:24:25,800 kiu estas la dosiero ĝi kompilos por vi en programo nomata saluton. 538 00:24:25,800 --> 00:24:29,950 Do estas multe pli simpla maniero de fari la pli kripta komandojn 539 00:24:29,950 --> 00:24:30,800 ke ni faris antaŭe. 540 00:24:30,800 --> 00:24:34,080 Kaj ni havas pre-konfigurita CS50 IDE scii 541 00:24:34,080 --> 00:24:38,560 Ke gxi faru haltostreko o kaj kelkaj aliaj flagoj, aŭ komandlinio argumentoj, 542 00:24:38,560 --> 00:24:40,670 ke ni vidos post nelonge. 543 00:24:40,670 --> 00:24:43,700 >> Sed ni nun reale fari io pli interesa. 544 00:24:43,700 --> 00:24:46,950 Nur tajpanta eksteren saluton mondo tuta la tempo ne estas ĉiuj ke konvinka. 545 00:24:46,950 --> 00:24:52,280 Do lasu min antaŭeniri kaj ŝanĝo tiu programo kaj dirus, saluton David. 546 00:24:52,280 --> 00:24:54,120 Nun mi tuj iros malsupren tie. 547 00:24:54,120 --> 00:24:57,360 Mi tuj iros antaŭen kaj ja faras saluton. 548 00:24:57,360 --> 00:25:00,652 Kaj denove nun vi vidas fari estas montranta vin la longaj 549 00:25:00,652 --> 00:25:03,360 sekvenco de ordonoj kiuj ĝi estas faras ĉar ni antaŭ-agordita 550 00:25:03,360 --> 00:25:05,200 ĝin tiel, sed ni bezonas ne maltrankviliĝu nun 551 00:25:05,200 --> 00:25:10,735 kio ĝi estas faranta alia kiu estas kompilado dot oblikvo saluton, saluton mondo. 552 00:25:10,735 --> 00:25:14,969 553 00:25:14,969 --> 00:25:15,510 Kio okazas? 554 00:25:15,510 --> 00:25:16,177 Yeah. 555 00:25:16,177 --> 00:25:17,370 >> Spektantaro: [inaudible] 556 00:25:17,370 --> 00:25:18,203 >> DAVID J. Malan: Jes. 557 00:25:18,203 --> 00:25:19,600 Do, noobie eraro. 558 00:25:19,600 --> 00:25:22,394 Mi rimarkas ĉi estas ekstra subtila, sed la asterisko tie, en la langeto, 559 00:25:22,394 --> 00:25:25,060 nur signifas ke vi ne savis lin, kaj retumiloj kaj aliaj programoj 560 00:25:25,060 --> 00:25:25,930 fari tion kelkfoje. 561 00:25:25,930 --> 00:25:27,939 Do kontrolo s aŭ komando s devus savi ĝin. 562 00:25:27,939 --> 00:25:29,730 Nun lasu min antaŭeniri kaj re-ruli la programon. 563 00:25:29,730 --> 00:25:33,360 564 00:25:33,360 --> 00:25:34,260 Recompiled. 565 00:25:34,260 --> 00:25:36,050 Bone, do ĝi estas multi-paŝa procezo. 566 00:25:36,050 --> 00:25:39,400 Neniu el kiuj estas aparte kompleksa, sed iam ni ŝanĝi la dosieron, 567 00:25:39,400 --> 00:25:43,450 ni bezonas ŝanĝi la rezultan nuloj kaj, kaj dot oblikvo saluton. 568 00:25:43,450 --> 00:25:43,950 Ravi. 569 00:25:43,950 --> 00:25:46,450 Do tiu estas tre underwhelming ke ni ĵus presita ekster tiu. 570 00:25:46,450 --> 00:25:48,360 Ni fari aferojn iom pli dinamika, nun. 571 00:25:48,360 --> 00:25:52,280 >> Nu rezultas, ke ŝatas Scratch, C subtenas variabloj. 572 00:25:52,280 --> 00:25:54,790 Kaj ĝi rezultas, se vi volas havi variablo kiu stokas, 573 00:25:54,790 --> 00:25:57,300 Ne nombro kiel ni tipe faris kun Scratch, 574 00:25:57,300 --> 00:26:01,300 sed kiel vorto, aŭ frazo, aŭ nomo, vi 575 00:26:01,300 --> 00:26:04,837 povas specifi ŝanĝiĝema esti de tipo kordo. 576 00:26:04,837 --> 00:26:06,670 Do ni vidos pli de tiujn en nur momente, 577 00:26:06,670 --> 00:26:09,090 sed ĝi rezultas ke C, kaj multajn lingvojn kiel ĝi, 578 00:26:09,090 --> 00:26:11,240 havas tre specifajn tipojn de variabloj. 579 00:26:11,240 --> 00:26:13,810 Ĝi estas ne nur ŝatas algebro, kie vi ricevas x, y, kaj z 580 00:26:13,810 --> 00:26:16,940 kaj tiuj estas nur ĉiam numerojn, en programlingvo 581 00:26:16,940 --> 00:26:20,030 vi povas stoki numerojn, vi povas stoki individuajn karakterojn, 582 00:26:20,030 --> 00:26:24,619 vi povus stoki tutaj vortoj, vi povis stoki tutaj bildoj, tutaj sondosieroj, 583 00:26:24,619 --> 00:26:25,160 kaj similaj. 584 00:26:25,160 --> 00:26:28,362 Do ni bezonos specifi kia la tipo de variablo estas niaj. 585 00:26:28,362 --> 00:26:31,570 Kaj per konvencio Mi tuj alvokos Mian ŝanĝiĝema s nur ĉar ĝi estas konciza, 586 00:26:31,570 --> 00:26:33,510 kaj s staras por kordoj. 587 00:26:33,510 --> 00:26:36,400 >> Kaj tiam mi tuj stoki ene de ĉi variablo, 588 00:26:36,400 --> 00:26:39,570 nur ŝatas kun Scratch kiam mi uzas la aro bloko, 589 00:26:39,570 --> 00:26:41,950 Mi tuj uzos la asigno operatoro en C, 590 00:26:41,950 --> 00:26:45,290 kiu bele sufiĉa estas la egala subskribi, sed la egalsigno tion faras. 591 00:26:45,290 --> 00:26:53,220 Ĝi movas ion de dekstre en la maldekstra flanko de la esprimo. 592 00:26:53,220 --> 00:26:57,170 Do kion mi faris, puraj linio kvin, estas mi deklaris variablon. 593 00:26:57,170 --> 00:27:01,284 Mi jam rakontis la komputilo, donu al mi memoro por variablo, nomu ĝin s, 594 00:27:01,284 --> 00:27:03,950 kaj scii anticipe, ke mi tuj esti metante ĉenon en ĝi. 595 00:27:03,950 --> 00:27:05,950 Kaj linio estas nur sekvenco de karakteroj. 596 00:27:05,950 --> 00:27:09,190 Estas vorto, aŭ frazo, aŭ paragrafo, sed estas sekvenco de karakteroj. 597 00:27:09,190 --> 00:27:10,610 Ĝi ne estas nombroj. 598 00:27:10,610 --> 00:27:13,800 Kio kordoj estas mi iranta esti metante en tiun variablon? 599 00:27:13,800 --> 00:27:16,185 Nu, ŝajne citi unquote, "Hannah". 600 00:27:16,185 --> 00:27:17,810 Nun rimarkas la mastro kiu estas aperanta. 601 00:27:17,810 --> 00:27:19,260 Ekzistas maldekstra mano esprimo. 602 00:27:19,260 --> 00:27:21,810 Ekzistas dekstra mano esprimo, disigitaj de la egalsigno. 603 00:27:21,810 --> 00:27:24,390 Kaj nur preni diveni, se nekonata tamen, 604 00:27:24,390 --> 00:27:27,430 kun kio la punktokomo estas faranta. 605 00:27:27,430 --> 00:27:28,865 Kio ĝi supozeble faras por ni? 606 00:27:28,865 --> 00:27:29,365 Yeah? 607 00:27:29,365 --> 00:27:29,840 >> Spektantaro: [inaudible] 608 00:27:29,840 --> 00:27:29,980 >> DAVID J. Malan: Yeah. 609 00:27:29,980 --> 00:27:31,170 Ĝi simple finanta la linio. 610 00:27:31,170 --> 00:27:31,669 Dekstra? 611 00:27:31,669 --> 00:27:34,260 La komputiloj volas esti malkaŝeme rakontis, laŭvorte, kion fari. 612 00:27:34,260 --> 00:27:36,343 Kiel la arakido butero kaj ĵeleo sandviĉo ekzemple, 613 00:27:36,343 --> 00:27:39,360 se vi ne specifas precize kion vi intencas, 614 00:27:39,360 --> 00:27:42,190 ĝi povus esti lasita al juĝo aŭ eraro. 615 00:27:42,190 --> 00:27:44,890 La punktokomo signifas, jen ĝi por tiu komando. 616 00:27:44,890 --> 00:27:48,310 Ĝi estas estanta ekstra preciza, kaj ĝi estas tre facila afero halti. 617 00:27:48,310 --> 00:27:52,240 Do nun tiu programo ne ŝajnas esti kondutanta ajna malsame ol mi 618 00:27:52,240 --> 00:27:53,500 fari ĝin pli dinamika. 619 00:27:53,500 --> 00:27:57,107 Do anstataŭ malfacile povis miajn proprajn citi, lasu min metis lokokupilo valoro. 620 00:27:57,107 --> 00:28:00,190 Kaj ĝi rezultas ke, kaj mi konas ĉi el leginte la dokumentadon, 621 00:28:00,190 --> 00:28:04,080 kaj uzis la funkcion por jaroj, ke printf estis desegnita esti dinamika. 622 00:28:04,080 --> 00:28:07,510 Vi ne devas scii anticipe kio vortojn vi volas meti en ĝin. 623 00:28:07,510 --> 00:28:11,290 Vi povas anstataŭ havi lokokupilo, kiel procento s, kiu 624 00:28:11,290 --> 00:28:15,500 tuj rakontos la komputilo, metis ĉenon tie. 625 00:28:15,500 --> 00:28:17,740 >> Kiun kordoj do ni volas meti tie? 626 00:28:17,740 --> 00:28:22,430 Volo rezultas ke inter tiuj parentezoj, kiu memoras, DeMarco 627 00:28:22,430 --> 00:28:28,020 la enigaĵo al funkcio, se vi havas komo apartigis liston de aferoj tie, 628 00:28:28,020 --> 00:28:31,790 ni efektive pasas en multoblaj enigoj al funkcio. 629 00:28:31,790 --> 00:28:33,901 Do simple deziras iom Scratch blokojn, vi eble ne 630 00:28:33,901 --> 00:28:36,150 ludis kun ili por viaj projektoj ankoraŭ aŭ tute ne, 631 00:28:36,150 --> 00:28:38,250 iuj Scratch blokoj havas du enigoj. 632 00:28:38,250 --> 00:28:41,220 Du blankaj skatoloj vi povas tajpu nombroj aŭ vortoj en. 633 00:28:41,220 --> 00:28:45,210 Do por tio C havas funkciojn kiel printf kiu povas preni du enigoj. 634 00:28:45,210 --> 00:28:48,050 Kaj denove, ĉi komo disigas ilin. 635 00:28:48,050 --> 00:28:51,070 Do en la angla, denove eĉ se vi neniam planita antaŭe, 636 00:28:51,070 --> 00:28:55,320 per tiu logiko printf estas funkcio, prenas du enigoj, unu el kiuj 637 00:28:55,320 --> 00:28:58,810 estas lokokupilo, kion vi esperas printf tuj faros kun ĉi enigo? 638 00:28:58,810 --> 00:29:01,470 639 00:29:01,470 --> 00:29:03,220 Ĝi tuj diri saluton Hannah, espereble. 640 00:29:03,220 --> 00:29:05,274 Do fari tion ni bezonas por savi ŝin. 641 00:29:05,274 --> 00:29:06,190 Mi tuj malzomi. 642 00:29:06,190 --> 00:29:10,701 Mi tuj reiri malsupren tie kaj diri, fari saluton eniri. 643 00:29:10,701 --> 00:29:11,200 Oh. 644 00:29:11,200 --> 00:29:14,830 Io malĝustas, kaj reale ĉi estas tute blindiga. 645 00:29:14,830 --> 00:29:18,400 Mi havas ses liniojn de kodo kaj kiel 12 linioj de eraroj. 646 00:29:18,400 --> 00:29:22,120 Do, atendas tion. 647 00:29:22,120 --> 00:29:24,260 Do kio okazas ĉi tie? 648 00:29:24,260 --> 00:29:27,370 Do la plej bona regulo de thumb tie, Precipe kiam vi estas elkomencanta, 649 00:29:27,370 --> 00:29:29,370 ne get distritaj de la frandajxojn cxe la malsupro. 650 00:29:29,370 --> 00:29:31,220 Fakte, mi tre konscie nur scrolled supren 651 00:29:31,220 --> 00:29:33,930 ĉar tre ofte, komputilo estas Ne ĉiuj kiuj brile de aparato. 652 00:29:33,930 --> 00:29:35,054 Ĝi tuj get konfuzita. 653 00:29:35,054 --> 00:29:37,220 Se ĝi vidas unu afero ĝi ne komprenas, 654 00:29:37,220 --> 00:29:40,030 ĝi povus miskompreni aliaj linioj de kodo kiel malĝusta, 655 00:29:40,030 --> 00:29:41,649 eĉ se ili estas perfekte bone. 656 00:29:41,649 --> 00:29:43,940 Do vi ĉiam volas labori pinti malsupren tra la eraroj. 657 00:29:43,940 --> 00:29:47,850 Kaj rekoni ĉi estas súper arcano nuntempe. 658 00:29:47,850 --> 00:29:50,830 >> Eraro, uzo de nedeklarita ensalutilo kordo. 659 00:29:50,830 --> 00:29:52,130 Ĉu mi signifas normo en? 660 00:29:52,130 --> 00:29:53,720 Ne, mi volis diri kordo. 661 00:29:53,720 --> 00:29:55,830 Kaj ĝi estas indikante ĉe, eble estas tajperaro. 662 00:29:55,830 --> 00:30:00,570 Ia kiel, literumado en tre geeky maniero, sed la kialo tie, 663 00:30:00,570 --> 00:30:02,840 kaj vi rekonos tiun nur praktikon, estas 664 00:30:02,840 --> 00:30:06,390 ke ĝi rezultas ke kordoj ne ekzistas en C. Fakte, C 665 00:30:06,390 --> 00:30:08,820 estas aparte malnova lingvo, kaj ĝi estas tre malalta nivelo, 666 00:30:08,820 --> 00:30:11,361 kaj ĝi faras ne multaj trajtoj ke vi eble kreskis 667 00:30:11,361 --> 00:30:14,620 kun se vi havas, fakte, planita en Javo, kiel iuj el vi havas, 668 00:30:14,620 --> 00:30:16,980 sed vi povas instrui ĝin novajn aferojn. 669 00:30:16,980 --> 00:30:20,900 Kaj efektive, ni faris tiun CS50, kvankam antaŭ la fino de la semestro, 670 00:30:20,900 --> 00:30:23,512 ĉiuj tiuj trejnado radoj estos prenita for, 671 00:30:23,512 --> 00:30:25,220 kion ni faras en ĉi tiuj unua paro de semajnoj 672 00:30:25,220 --> 00:30:29,830 komence estas ni ankaŭ havas vi inkluzivas CS50 skalara h. 673 00:30:29,830 --> 00:30:31,230 Kiu estas kaplinio dosiero. 674 00:30:31,230 --> 00:30:32,440 Pli sur tiu en la estonteco. 675 00:30:32,440 --> 00:30:36,430 >> Ĝi estas dosiero kiu enhavas funkciojn ke ni skribis por vi. 676 00:30:36,430 --> 00:30:39,180 Kaj inter tiuj funkcioj estas funkcioj por interesigi enigo 677 00:30:39,180 --> 00:30:43,520 de la uzanto, kiel kordoj, kaj nombroj, kaj reelaj nombroj, kaj pli. 678 00:30:43,520 --> 00:30:45,550 Sed ĝi ankaŭ havas kelkaj fulmoklavoj. 679 00:30:45,550 --> 00:30:48,200 Ĝi difinas Bulea kiel datumtipo. 680 00:30:48,200 --> 00:30:50,340 C ne havas vera aŭ malvera. 681 00:30:50,340 --> 00:30:53,880 Sed ni povas doni al ĝi la nocio de vera aŭ malvera per vojo de ĉi tiu biblioteko. 682 00:30:53,880 --> 00:30:57,670 Kaj ĝi ankaŭ ne havas ĉenon enkonstruita ĝis ni inkluzivas tiun linion. 683 00:30:57,670 --> 00:31:01,090 Do ĉi tiu linio de kodo diras la tradukilo, hej, Clang, rigardi 684 00:31:01,090 --> 00:31:03,570 en ĉi dosieron por tuta faskon de kodo ke CS50 685 00:31:03,570 --> 00:31:06,330 skribis por ke iu ajn uzanta tiun dosieron 686 00:31:06,330 --> 00:31:09,330 povas preni por donita la ĉefaĵoj ili aldonis. 687 00:31:09,330 --> 00:31:11,220 >> Do nun mi antaŭeniri kaj liberigi la ekrano, 688 00:31:11,220 --> 00:31:14,178 kaj se scivolema Mi nur diras kontrolo l ĉiu tempo liberigi la ekrano, 689 00:31:14,178 --> 00:31:15,500 aux vi povas tajpi klara. 690 00:31:15,500 --> 00:31:19,220 Mi simple tuj iri antaŭen nun kaj tipo fari saluton, kaj ĉio estas bone. 691 00:31:19,220 --> 00:31:22,550 Ankoraŭ arcano eligo, sed ĝi ne estas erara mesaĝo. 692 00:31:22,550 --> 00:31:28,300 Sed se mi faras dot oblikvo saluton, kaj kiel flanken, dot oblikvo estas nekonataj al plej. 693 00:31:28,300 --> 00:31:30,430 Ĝi simple signifas, dot rimedoj la aktuala dosierujo. 694 00:31:30,430 --> 00:31:33,120 Do se vi iam uzis DOS, aŭ Linukso aŭ Unikso 695 00:31:33,120 --> 00:31:35,410 vi eble faris ion kiel cd dot dot, kie 696 00:31:35,410 --> 00:31:39,220 dot dot signifas retropaŝi en tempo, aŭ iri al malantaŭen, aŭ pli alte 697 00:31:39,220 --> 00:31:40,370 en via dosierujo. 698 00:31:40,370 --> 00:31:43,090 Dot nur signifas rigardi la aktuala dosierujo. 699 00:31:43,090 --> 00:31:45,670 Mi volas saluton, kiu estas tie. 700 00:31:45,670 --> 00:31:47,750 Kaj efektive, nun diras saluton Hannah. 701 00:31:47,750 --> 00:31:51,120 Kaj se mi ŝanĝas denove al Maria, rekompili 702 00:31:51,120 --> 00:31:55,650 farus saluton, dot oblikvo saluton, la programo konstante ŝanĝiĝas. 703 00:31:55,650 --> 00:31:58,060 >> Sed tio estas ankoraŭ sufiĉe stulta programo. 704 00:31:58,060 --> 00:32:00,972 Se mi volas ekspedi ĉi programo, aŭ doni ĝin al amiko, 705 00:32:00,972 --> 00:32:03,430 aŭ doni ĝin al Maria aŭ Hannah por tiu afero, tio estas bone. 706 00:32:03,430 --> 00:32:07,300 Mi povas personecigi ĝin por ambaux, sed ĝi estas neniam iranta esti dinamika. 707 00:32:07,300 --> 00:32:10,870 Ili ne povas ŝanĝi ĝin iam ĝi kompilis suben al tiuj nuloj kaj aĵoj. 708 00:32:10,870 --> 00:32:12,350 Do kion ni faris ion pli lertan? 709 00:32:12,350 --> 00:32:17,100 Kio se, anstataŭ malmola-kodigon en la programo ĉi persono nomo, 710 00:32:17,100 --> 00:32:20,890 kio se ni nur akiras la kordo laŭpete? 711 00:32:20,890 --> 00:32:22,430 >> Do alivorte, lasu min fari tion. 712 00:32:22,430 --> 00:32:24,030 Mi tuj rekompili ĉi programo. 713 00:32:24,030 --> 00:32:25,710 Kaj lasu min zomi funde nun. 714 00:32:25,710 --> 00:32:29,920 Faru saluton dot oblikvo saluton. 715 00:32:29,920 --> 00:32:31,710 Nun nenio okazas. 716 00:32:31,710 --> 00:32:35,860 Ĉu ni povas ekhavi volontulon fari ion okazi? 717 00:32:35,860 --> 00:32:36,360 Venu supren. 718 00:32:36,360 --> 00:32:37,020 Kio estas via nomo? 719 00:32:37,020 --> 00:32:37,445 >> Pancho: Pancho. 720 00:32:37,445 --> 00:32:38,361 >> DAVID J. Malan: Pacho? 721 00:32:38,361 --> 00:32:39,609 Venu supren. 722 00:32:39,609 --> 00:32:42,150 Unufoje vi akiras ĉi tie, ĉi tiu estas tuj estos tre underwhelming, 723 00:32:42,150 --> 00:32:44,060 sed estas pli interesa ol mi tajpas ĝin. 724 00:32:44,060 --> 00:32:49,007 Se vi volas antaŭeniri kaj entajpu vian nomo, mi faris tiun programon nur por vi. 725 00:32:49,007 --> 00:32:49,840 Simple tajpu vian nomon. 726 00:32:49,840 --> 00:32:52,380 727 00:32:52,380 --> 00:32:53,900 Enter. 728 00:32:53,900 --> 00:32:54,489 Mirinda. 729 00:32:54,489 --> 00:32:55,780 Bone, dankon. 730 00:32:55,780 --> 00:32:56,708 >> Pancho: Koran dankon. 731 00:32:56,708 --> 00:32:57,636 >> DAVID J. Malan: Bone. 732 00:32:57,636 --> 00:32:59,028 >> [Aplaŭdo] 733 00:32:59,028 --> 00:33:00,884 734 00:33:00,884 --> 00:33:01,840 >> Tio estis tre afabla. 735 00:33:01,840 --> 00:33:03,145 Ĉi tie vi iras. 736 00:33:03,145 --> 00:33:03,770 Kion ni faru? 737 00:33:03,770 --> 00:33:05,930 Do ni fine, almenaŭ, faris tiun programon dinamika. 738 00:33:05,930 --> 00:33:08,400 Nun estas ankoraŭ certe projekte underwhelming, 739 00:33:08,400 --> 00:33:11,480 sed ni fine havas la kapablon nun skribi kodon anticipe, multe 740 00:33:11,480 --> 00:33:13,770 kiel la aŭtoroj de printf, kaj tiam dinamike 741 00:33:13,770 --> 00:33:17,550 Adapti bazita sur la enigo ni estas enmanigis, ĉu per la programisto, 742 00:33:17,550 --> 00:33:20,610 aŭ per la homo kiu fakte interagante kun la programo. 743 00:33:20,610 --> 00:33:22,990 Do ni vere nun provu fari kelkajn aliajn konstrukciojn 744 00:33:22,990 --> 00:33:26,625 kaj vidi se ni ne povas fari la programojn sin pli altnivela. 745 00:33:26,625 --> 00:33:29,250 Do ni iru antaŭen kaj anstataŭ skribi ĉi unu el nenio, 746 00:33:29,250 --> 00:33:31,540 Mi tuj iros en la hodiaŭa fontkodon, kaj ĉio ĉi 747 00:33:31,540 --> 00:33:34,290 Estas disponebla en la kurso retejo, kaj vi povas treni kaj faligi ĝin 748 00:33:34,290 --> 00:33:36,590 en via propra medio veni vendrede iam problemo 749 00:33:36,590 --> 00:33:38,506 aro 1 donas al vi la instrukciojn, aŭ vi povis 750 00:33:38,506 --> 00:33:41,200 fari ĝin en la komandlinio kiel bone, sed pli veni en p starigis 1. 751 00:33:41,200 --> 00:33:44,940 >> Ni vidu kio estas en tiu programo tie nomita, Cerasto punkto c. 752 00:33:44,940 --> 00:33:47,970 Nun mi jam komentis ĝin, sed kio novas? 753 00:33:47,970 --> 00:33:51,230 Je unua rigardo, kion linio de kodo estas absolute nova? 754 00:33:51,230 --> 00:33:53,930 755 00:33:53,930 --> 00:33:56,780 Probable ne fundamente nekonataj nun. 756 00:33:56,780 --> 00:33:58,417 >> Spektantaro: [inaudible] 757 00:33:58,417 --> 00:34:00,250 DAVID J. Malan: Yeah, tiel int x egalas akiri n. 758 00:34:00,250 --> 00:34:03,760 Ni neniam vidis iun ajn de ĉi antaŭe, sed estas verŝajne int 759 00:34:03,760 --> 00:34:08,179 la simbolo por kia variablo, [? el?] entjero. 760 00:34:08,179 --> 00:34:09,040 Do int por entjero. 761 00:34:09,040 --> 00:34:11,420 Ĝi simple estante pli konciza. x estas simple arbitra. 762 00:34:11,420 --> 00:34:13,920 x kaj y kaj z estas ankoraŭ bela racia por nombroj, 763 00:34:13,920 --> 00:34:16,790 sed ĝenerale ni uzas vortojn iam niaj programoj akiri pli kompleksa. 764 00:34:16,790 --> 00:34:18,940 Get int, kompreneble, multe kiel get kordoj, 765 00:34:18,940 --> 00:34:21,629 Estas probable ricevos int de la uzanto, 766 00:34:21,629 --> 00:34:23,670 kaj tiam ni tuj fari la samon kun y. 767 00:34:23,670 --> 00:34:27,610 Kaj ŝajne, eĉ se tiu lasta linio, 24, aspektas pli kompleksa, 768 00:34:27,610 --> 00:34:32,679 ĝi tuj diri la rezulton de tiu kaj kiu estas tiu alia afero. 769 00:34:32,679 --> 00:34:35,840 >> Kaj rimarki procentoj i probable signifas kion? 770 00:34:35,840 --> 00:34:38,190 Kio rolo faras procento i ŝajne servas? 771 00:34:38,190 --> 00:34:40,739 772 00:34:40,739 --> 00:34:41,719 Estas nur anstataŭiloj. 773 00:34:41,719 --> 00:34:42,219 Dekstra? 774 00:34:42,219 --> 00:34:45,149 Elcento s estis por arĉinstrumenta, procento i estas por entjero. 775 00:34:45,149 --> 00:34:47,690 Tie tuj estos procentoj f por flosanta punkto valoro, kiun 776 00:34:47,690 --> 00:34:49,273 estas nur nombro kun dekuma punkto. 777 00:34:49,273 --> 00:34:50,590 Alivorte, reela nombro. 778 00:34:50,590 --> 00:34:55,270 Do ni vere kompili ĉi plani reala rapida kaj ja faras vipuro. 779 00:34:55,270 --> 00:34:57,962 Whoops. 780 00:34:57,962 --> 00:34:58,670 Bonan ŝancon. 781 00:34:58,670 --> 00:35:02,970 Do rimarki tie, ĉiu ĉi tiu tempo mia uzanto nomo por tiu konto estas jharvard. 782 00:35:02,970 --> 00:35:06,620 Mi estas en CS50 IDE, alinome IDE50. 783 00:35:06,620 --> 00:35:11,030 Kaj nun en blua tie, estas mencio, sed de la medio, de kie mi estas. 784 00:35:11,030 --> 00:35:16,050 Kaj fakte, se mi zomi ĝis la supro tie, rimarki ke mi havas IDE50 785 00:35:16,050 --> 00:35:19,490 kaj mi vidas tiun vorton, se vi ia turni vian kapon al la flanko, laborspaca. 786 00:35:19,490 --> 00:35:23,890 Unuvorte, la fakto ke Mi vidas supersigno oblikvo laborspaca 787 00:35:23,890 --> 00:35:26,910 signifas ke en ĉi tiu teksto bazita komando medio, 788 00:35:26,910 --> 00:35:32,300 Mi estas en la teksto ekvivalento de tiu grafika leterujo tien. 789 00:35:32,300 --> 00:35:35,730 Do kiam mi faras dot oblikvo vipuro, ĝi estas jene neniu regulo 790 00:35:35,730 --> 00:35:37,372 fari celo Cerasto haltejo. 791 00:35:37,372 --> 00:35:39,830 Mi ne scias kion tio signifas, sed estas malbone por iu kialo. 792 00:35:39,830 --> 00:35:43,310 Ne tia dosiero aŭ dosierujo estas eĉ pli klara. 793 00:35:43,310 --> 00:35:45,670 Kie do estas? 794 00:35:45,670 --> 00:35:47,820 Bazita sur kie mi klakis malfermi la dosieron antaŭe. 795 00:35:47,820 --> 00:35:49,442 Kie povus esti? 796 00:35:49,442 --> 00:35:52,050 >> Estas probable en fonto unu w, por merkredo, 797 00:35:52,050 --> 00:35:53,960 kaj mi povas vidi gxin ja se mi malfermas tion elpensis. 798 00:35:53,960 --> 00:35:57,220 Estas vipuro punkto c, sed en tiu teksto-bazita medio, 799 00:35:57,220 --> 00:35:59,380 denove, mi devas esti super eksplicita. 800 00:35:59,380 --> 00:36:03,950 Se mi volas ŝanĝi dosierujojn en fonto unu merkredo, mi bezonas tajpi, 801 00:36:03,950 --> 00:36:07,210 kd spaco fonton oni Merkredo eniri kaj nun 802 00:36:07,210 --> 00:36:09,810 mia prompto ŝanĝojn donu al mi vida cue ke 803 00:36:09,810 --> 00:36:12,330 Mi ja aliloke en mia medio, 804 00:36:12,330 --> 00:36:15,710 sed nun mi povas ja faras vipuro, ĝi ŝajnas funkcii, 805 00:36:15,710 --> 00:36:18,190 dot oblikvo vipuro, donu al mi entjero. 806 00:36:18,190 --> 00:36:19,080 Unu. 807 00:36:19,080 --> 00:36:20,070 Du. 808 00:36:20,070 --> 00:36:21,630 La sumo de unu kaj du estas tri. 809 00:36:21,630 --> 00:36:24,140 Sed se mi ne kunlaboros, ni vidu kio ricevas int faras. 810 00:36:24,140 --> 00:36:25,200 Donu entjero. 811 00:36:25,200 --> 00:36:26,590 No. 812 00:36:26,590 --> 00:36:27,350 Reprovi. 813 00:36:27,350 --> 00:36:29,060 OK. 814 00:36:29,060 --> 00:36:30,520 Fine. 815 00:36:30,520 --> 00:36:32,130 50. 816 00:36:32,130 --> 00:36:32,680 50. 817 00:36:32,680 --> 00:36:33,010 Bone. 818 00:36:33,010 --> 00:36:34,055 Do fine kunlaboras. 819 00:36:34,055 --> 00:36:36,430 Kaj tio estas iuj de la funcionalidad kiu tiuj funkcioj 820 00:36:36,430 --> 00:36:37,760 povas esti konstruita por vi. 821 00:36:37,760 --> 00:36:43,330 >> Do ene la efektivigo de atingi int, kion programado 822 00:36:43,330 --> 00:36:47,990 konstrui de lasta semajno estas probable en tie devigi ĉi konduto de Retry, 823 00:36:47,990 --> 00:36:49,962 reprovi, reprovi? 824 00:36:49,962 --> 00:36:51,670 Jes, tie estas verŝajne ia buklo. 825 00:36:51,670 --> 00:36:54,160 Ĝi tuj rigardi sintakse malsama de Scratch la blokoj, 826 00:36:54,160 --> 00:36:55,880 sed tio estas ja kio estas ene de la dosiero. 827 00:36:55,880 --> 00:36:58,505 Kaj post kelkaj semajnoj ni estos fakte rigardi la CS50 biblioteko 828 00:36:58,505 --> 00:37:02,000 kiel al kio estas ene, sed ekzistas buklo impona ĝuste tion. 829 00:37:02,000 --> 00:37:04,840 >> Ni ludas stulta iom ludo tie kun tiu dosiero. 830 00:37:04,840 --> 00:37:06,550 Kondiĉo nula punkto c. 831 00:37:06,550 --> 00:37:08,960 Ni nur tuj ĝenerale komenci kalkulon je nulo. 832 00:37:08,960 --> 00:37:11,220 Mi observos rulado pasinteco iuj de la aĵoj ĉe supro. 833 00:37:11,220 --> 00:37:15,390 En blua tie, limis kun ĉiuj de tiuj steloj kaj la slashes, 834 00:37:15,390 --> 00:37:17,310 tiuj el vi kiuj plani antaŭe, kio estas tio? 835 00:37:17,310 --> 00:37:18,690 Kial ni tenas saltante trans ĝi? 836 00:37:18,690 --> 00:37:19,110 Kio? 837 00:37:19,110 --> 00:37:19,490 >> Publiko: Estas komenton. 838 00:37:19,490 --> 00:37:19,800 >> DAVID J. Malan: Yeah. 839 00:37:19,800 --> 00:37:20,633 Estas nur komenton. 840 00:37:20,633 --> 00:37:24,160 Jen komento por homoj legi, ke en nia kazo, 841 00:37:24,160 --> 00:37:27,120 Diras nin kio la nomo de la dosiero estas, kiu verkis ĝin, kaj kion ĝi faras, 842 00:37:27,120 --> 00:37:28,610 por ke vi ne havas por tralegi la kodon 843 00:37:28,610 --> 00:37:30,110 scii kion tiu dosiero temas. 844 00:37:30,110 --> 00:37:33,110 Estas nur priskribo, sed funkcie estas pala. 845 00:37:33,110 --> 00:37:35,930 Kaj mi eĉ povas forigi ĝin el mia dosiero kaj ĝi havas neniun efikon. 846 00:37:35,930 --> 00:37:38,740 La sukaj linioj estas tiuj unuaj du ĉi tie, nun. 847 00:37:38,740 --> 00:37:41,405 int main malplenon estas la ekvivalenta de niaj kiam verda flago clicked, 848 00:37:41,405 --> 00:37:44,030 do ni tuj forlasi tiun estu por hodiaŭ, kaj ni revenos, 849 00:37:44,030 --> 00:37:46,940 eventuale, kia int kaj dezerta estas, sed nun, 850 00:37:46,940 --> 00:37:49,500 rimarki kion mi faris ankaŭ ĉi tie, vi povas ankaŭ, 851 00:37:49,500 --> 00:37:51,736 se vi havas en linio komenti, se vi havas 852 00:37:51,736 --> 00:37:54,670 Penso vi volas dividi pri aparta linio de kodo, 853 00:37:54,670 --> 00:37:58,910 konvencio en C estas plenumi oblikvo oblikvo, kaj poste de kelkaj konciza vortoj, 854 00:37:58,910 --> 00:38:01,500 Ne plena frazo, ĝenerale ne alineo, 855 00:38:01,500 --> 00:38:05,310 ke nur klarigas al vi, aux via TF, aŭ aliaj legantoj aŭ kolegoj, 856 00:38:05,310 --> 00:38:06,990 kion via kodo estas faranta. 857 00:38:06,990 --> 00:38:10,150 Do anstataŭ devi serĉi pro tio kaj konkludi el linioj 858 00:38:10,150 --> 00:38:12,550 naŭ kaj 10, kio estas tion farante, en linio ok 859 00:38:12,550 --> 00:38:14,945 Mi nur doni rimarkon demandi la uzanton por entjero, 860 00:38:14,945 --> 00:38:17,820 tiam mi ne bezonis pensi tro forte pri kio linioj naŭ kaj 10 estas. 861 00:38:17,820 --> 00:38:19,720 Mi nur scias ke tio estas kion kolektive ili faras. 862 00:38:19,720 --> 00:38:20,460 >> Kiom? 863 00:38:20,460 --> 00:38:22,060 Nu, jen la prompto. 864 00:38:22,060 --> 00:38:23,610 Jen estas la ricevado de la int. 865 00:38:23,610 --> 00:38:25,984 Kaj surbaze de la antaŭa konduto, ĝi ŝajnas kiel get int 866 00:38:25,984 --> 00:38:29,080 estas sufiĉe lerta por certigi ke la homa kunlaboru kaj donas 867 00:38:29,080 --> 00:38:30,090 entjero. 868 00:38:30,090 --> 00:38:32,270 Sed nun ni vidu tion. 869 00:38:32,270 --> 00:38:33,740 Kaj tiu estas rememoriga de Scratch. 870 00:38:33,740 --> 00:38:36,140 Mi asertas ke mi estas analizi la uzanto enigo, 871 00:38:36,140 --> 00:38:39,050 sed iom neĝuste. 872 00:38:39,050 --> 00:38:43,200 Kaj tiu ŝajne en C estas kiom ni esprimas se alie, branĉo, 873 00:38:43,200 --> 00:38:46,320 forko en la vojo, sed mi diri ion neĝuste. 874 00:38:46,320 --> 00:38:50,470 Kio estas la bug en tiu programo? 875 00:38:50,470 --> 00:38:51,610 Pri pli malantaŭe? 876 00:38:51,610 --> 00:38:52,223 Yeah. 877 00:38:52,223 --> 00:38:53,150 >> Spektantaro: [inaudible] nulo. 878 00:38:53,150 --> 00:38:54,025 >> DAVID J. Malan: Yeah. 879 00:38:54,025 --> 00:38:57,630 Do se mi tajpas en nulo, ni konsideru ĝuste tiu kazo, aŭ angulo kazo, 880 00:38:57,630 --> 00:38:58,450 se vi volas. 881 00:38:58,450 --> 00:39:02,790 Do se mi tajpas en nulo, kiu el la blokoj tuj ŝajne ekpreni ĝin? 882 00:39:02,790 --> 00:39:04,660 La se aŭ la alia? 883 00:39:04,660 --> 00:39:07,340 La alia, kaj ĝi tuj diros, vi prenis negativa nombro. 884 00:39:07,340 --> 00:39:10,476 Kaj efektive, nulo ne supozis esti pozitiva aŭ negativa, 885 00:39:10,476 --> 00:39:11,850 kaj tial estus erare. 886 00:39:11,850 --> 00:39:12,930 Estus cimon. 887 00:39:12,930 --> 00:39:14,580 Do kiel ni povas ripari tion? 888 00:39:14,580 --> 00:39:16,360 Iu kiu neniam planita antaŭe? 889 00:39:16,360 --> 00:39:16,570 Ĉu vi want-- 890 00:39:16,570 --> 00:39:17,480 >> Spektantaro: [inaudible] 891 00:39:17,480 --> 00:39:17,990 >> DAVID J. Malan: Retracting? 892 00:39:17,990 --> 00:39:18,570 >> Spektantaro: [inaudible] 893 00:39:18,570 --> 00:39:18,930 >> DAVID J. Malan: Ah, vi havas? 894 00:39:18,930 --> 00:39:20,350 Iu kiu neniam planita antaŭe. 895 00:39:20,350 --> 00:39:21,750 Volas provi vian manon ĉe tiu, en la ruĝa ĉemizo? 896 00:39:21,750 --> 00:39:22,600 Venu supren. 897 00:39:22,600 --> 00:39:25,320 Oh yeah, venu supren, se vi ne ĝenas. 898 00:39:25,320 --> 00:39:27,586 Do neniam esti planita antaŭe, kio estas via nomo? 899 00:39:27,586 --> 00:39:28,210 Lauren Lauren. 900 00:39:28,210 --> 00:39:29,626 DAVID J. Malan: Lauren, tute certe. 901 00:39:29,626 --> 00:39:31,150 Do ripari tiun cimon ni. 902 00:39:31,150 --> 00:39:35,070 Vi ne vidis C, supozeble, kaj verŝajne neniu alia lingvo. 903 00:39:35,070 --> 00:39:38,380 Do korekti tiun programon por ni. 904 00:39:38,380 --> 00:39:39,100 Agrable renkonti ya. 905 00:39:39,100 --> 00:39:39,615 Neniu premo. 906 00:39:39,615 --> 00:39:40,156 Lauren: Yeah. 907 00:39:40,156 --> 00:39:43,350 908 00:39:43,350 --> 00:39:46,270 >> DAVID J. Malan: Sed denove, se tiu vetludo iras laŭ plano, 909 00:39:46,270 --> 00:39:48,350 la takeaway tie volo estu, nur denove, komenci 910 00:39:48,350 --> 00:39:51,080 rimarki ŝablonoj kaj konkludi el ekzistantaj sintakso 911 00:39:51,080 --> 00:39:55,420 kiel alie vi povus esprimi mem, Neniu vortludo celita, en ordo 912 00:39:55,420 --> 00:39:58,410 kapti iun suplementan scenaro. 913 00:39:58,410 --> 00:39:59,603 Do ni dirante alie se. 914 00:39:59,603 --> 00:40:04,040 915 00:40:04,040 --> 00:40:05,230 printf, bone. 916 00:40:05,230 --> 00:40:09,120 Kaj rimarki kun CS50 IDE kaj frankly-- IDE 917 00:40:09,120 --> 00:40:11,110 staras por Integrita Disvolviĝo Medio. 918 00:40:11,110 --> 00:40:14,110 Estas nur fantazio maniero diri programo kiu helpas vin programo. 919 00:40:14,110 --> 00:40:16,779 Ĝi faras uzanto amika aĵojn kiel kiam vi tajpas iun parentezo, 920 00:40:16,779 --> 00:40:18,320 ĝi aŭtomate donas al vi la alian. 921 00:40:18,320 --> 00:40:20,760 La supozo estanta ke vi estas eventuale tuj volas tajpi ke, 922 00:40:20,760 --> 00:40:22,400 kaj ĝi ankaŭ faras lin kun citaĵoj. 923 00:40:22,400 --> 00:40:24,190 >> Do mi ŝatas linio 23. 924 00:40:24,190 --> 00:40:26,400 99% de la vojo. 925 00:40:26,400 --> 00:40:29,920 Iu volas Chime kun trinkmonon? 926 00:40:29,920 --> 00:40:31,420 Mi aŭdis punktokomo de la spektantaro. 927 00:40:31,420 --> 00:40:32,080 Bona. 928 00:40:32,080 --> 00:40:33,260 Do kiu kompletigas tion. 929 00:40:33,260 --> 00:40:37,930 Kaj nun, mi nur havos iom konsternon kun linio 21. 930 00:40:37,930 --> 00:40:41,370 Kiel ni volas esprimi tion? 931 00:40:41,370 --> 00:40:43,370 Kion demando ĉu ni volas demandi, ĉu vi pensas? 932 00:40:43,370 --> 00:40:46,870 933 00:40:46,870 --> 00:40:50,330 Do ni antaŭe demandis, se n estas pli granda ol nulo, faru tion. 934 00:40:50,330 --> 00:40:51,870 Alie, faru tion. 935 00:40:51,870 --> 00:40:54,317 Do ni devas elekti demando demandi tie. 936 00:40:54,317 --> 00:40:55,192 Spektantaro: [inaudible] 937 00:40:55,192 --> 00:40:56,530 DAVID J. Malan: Bonan. 938 00:40:56,530 --> 00:40:58,290 Do se n egalas nulo. 939 00:40:58,290 --> 00:41:01,140 940 00:41:01,140 --> 00:41:02,100 Bonege. 941 00:41:02,100 --> 00:41:03,080 Do ni paŭzi tie. 942 00:41:03,080 --> 00:41:04,850 Dankon tiom por braving ĉi. 943 00:41:04,850 --> 00:41:10,890 Lasu min donu al vi iom merititan streso pilkon, eble tie. 944 00:41:10,890 --> 00:41:11,900 Do ni estas preskaŭ tie. 945 00:41:11,900 --> 00:41:14,790 Fakte, Lauren, se vi ne faras menso, lasu min fari unu tweak tie, 946 00:41:14,790 --> 00:41:17,850 nur esti konsekvenca eĉ kun kion ni vidis en Scratch, kion 947 00:41:17,850 --> 00:41:21,080 do mi volas fari kun linioj 21 kaj 24, ĵus denove bazita 948 00:41:21,080 --> 00:41:23,290 sur kiel ni faris tion en Scratch, eble? 949 00:41:23,290 --> 00:41:24,230 >> Publiko: Movu ĝin. 950 00:41:24,230 --> 00:41:25,605 >> DAVID J. Malan: Yeah, movi ĝin. 951 00:41:25,605 --> 00:41:30,260 Do la alia kondiĉo, la tria, aŭ kvara, aŭ kvina, aŭ fina branĉo, 952 00:41:30,260 --> 00:41:34,100 devus ja venis poste, kaj tio estas nur konvencio, 953 00:41:34,100 --> 00:41:36,047 nur cxar se vi volas. 954 00:41:36,047 --> 00:41:37,380 Do mi bezonas fari ĉi tweak. 955 00:41:37,380 --> 00:41:39,660 Mi bezonas meti mian krispa streĉa tien. 956 00:41:39,660 --> 00:41:42,700 Kaj nun ĉi programo kompilos. 957 00:41:42,700 --> 00:41:46,140 Ni estas tiel proksimaj, sed ekzistas tre, tre subtila cimon. 958 00:41:46,140 --> 00:41:47,200 Ni vidu kio okazas. 959 00:41:47,200 --> 00:41:49,660 >> Unue, lasu min antaŭeniri kaj malzomi. 960 00:41:49,660 --> 00:41:53,405 Mi tuj iros antaŭen kaj tajpi fari kondiĉo nulo. 961 00:41:53,405 --> 00:41:55,070 Ho, mi mensogis. 962 00:41:55,070 --> 00:41:58,760 Nun la tradukilo estas efektive sufiĉe inteligenta. 963 00:41:58,760 --> 00:42:00,950 Kaj mi ne vere komprenas ĝi estas erarmesaĝon. 964 00:42:00,950 --> 00:42:04,310 Uzante la rezulton de asigno kiel kondiĉo sen krampoj, 965 00:42:04,310 --> 00:42:05,740 estas ŝajne malbona. 966 00:42:05,740 --> 00:42:07,100 Sed kion tio signifas? 967 00:42:07,100 --> 00:42:10,860 >> Nu denove, serĉante mastrojn en kodo kiun ni vidis antaŭe, 968 00:42:10,860 --> 00:42:16,640 kio estas linio 17 reale faras, kvankam Lauren intencis iomete 969 00:42:16,640 --> 00:42:18,790 alie? 970 00:42:18,790 --> 00:42:19,290 Yeah. 971 00:42:19,290 --> 00:42:21,565 >> Spektantaro: [inaudible] 972 00:42:21,565 --> 00:42:22,440 DAVID J. Malan: Yeah. 973 00:42:22,440 --> 00:42:26,610 Do memoru la egalsigno, ŝajne kiel ni uzis ĝin antaŭe, ĉu ne egalas. 974 00:42:26,610 --> 00:42:29,240 Lia farita, de dekstra al maldekstra. 975 00:42:29,240 --> 00:42:33,810 Do linio 17 en la momento estas kondiĉo, kaj estas 976 00:42:33,810 --> 00:42:37,890 ekzekuti kodon ene la parantezoj, sed kiam tiu kodo ekzekutas, 977 00:42:37,890 --> 00:42:42,140 kio okazas al la valoro de nulo? 978 00:42:42,140 --> 00:42:45,250 Kio okazas al la valoro de n? 979 00:42:45,250 --> 00:42:46,810 Becoming nulo. 980 00:42:46,810 --> 00:42:50,520 Do se n iĝas nul, kaj denove, kiel po pasintsemajne, 981 00:42:50,520 --> 00:42:54,690 ni ĝenerale diras, ke nulo estas falsa kaj unu estas vera, 982 00:42:54,690 --> 00:42:57,410 aŭ jes estas oni kaj ne estas nulo. 983 00:42:57,410 --> 00:42:59,590 Tiel vera kaj falsa, kaj 0. 984 00:42:59,590 --> 00:43:06,090 Se n kiel de linio 17 estis donita la valoron 0, estas nulo vera? 985 00:43:06,090 --> 00:43:06,590 No. 986 00:43:06,590 --> 00:43:08,280 Per difino, nulo estas malvera. 987 00:43:08,280 --> 00:43:10,860 Tio estas la konvencio ni estas tuj alkroĉiĝas al emocia avanulo. 988 00:43:10,860 --> 00:43:17,320 Sekve volas linioj 18, 19, kaj 20 iam apliki nun, logike? 989 00:43:17,320 --> 00:43:18,320 Ili ne povas. 990 00:43:18,320 --> 00:43:21,640 Do ni demandis sed ne tute precize, 991 00:43:21,640 --> 00:43:25,620 kaj vi ne scias tion, se vi vidis ĝin, la solvo en C 992 00:43:25,620 --> 00:43:29,610 Estas kiam vi volas esprimi egaleco, vi diru egalas egalas. 993 00:43:29,610 --> 00:43:33,140 Do egalsigno estis jam foruzitaj per asigno, de dekstra al maldekstra. 994 00:43:33,140 --> 00:43:35,110 Egalas egalas rimedoj egalas. 995 00:43:35,110 --> 00:43:37,950 Kaj se vi vere deziras ke viaj menso esti fleksita, en JavaScript kaj PHP, 996 00:43:37,950 --> 00:43:40,490 ekzistas egalas egalas egaluloj, kiu signifi ion alian entute, 997 00:43:40,490 --> 00:43:41,990 sed ni ricevos por tio antaŭ longe. 998 00:43:41,990 --> 00:43:45,760 >> Do tiu estas simpla solvon, sed realigi super facile fari la miskompreno, 999 00:43:45,760 --> 00:43:48,700 kaj tiam scivolas kaj lukto por minutoj, se ne horon, 1000 00:43:48,700 --> 00:43:51,490 Kial mia kodo ne ekzekutinte kiom mi intencas? 1001 00:43:51,490 --> 00:43:54,140 Ĝi estas ĉar vi ne diris ĝi precize kion vi celas. 1002 00:43:54,140 --> 00:43:56,450 Do kiu estis preskaŭ perfekta, kaj estis granda 1003 00:43:56,450 --> 00:44:00,760 ke ni stumblis trans tiuj du iom aferojn ĉar nun se ni korektos ilin, 1004 00:44:00,760 --> 00:44:06,240 kaj mi ja faras kondiĉo nulo dot oblikvo kondiĉo nulo, 1005 00:44:06,240 --> 00:44:07,490 Mi ŝatus entjero bonvolu. 1006 00:44:07,490 --> 00:44:08,090 Ni vidu. 1007 00:44:08,090 --> 00:44:09,160 No. 1008 00:44:09,160 --> 00:44:10,740 Ĝi tuj devigos min fari tion. 1009 00:44:10,740 --> 00:44:11,990 Do 42. 1010 00:44:11,990 --> 00:44:13,590 Mi plukis pozitiva nombro. 1011 00:44:13,590 --> 00:44:16,470 Do nun kiel mi pruvi ĉi programo korekta? 1012 00:44:16,470 --> 00:44:19,990 Se vi estas matematikisto, vi ne povas vere pruvi tion per provo kaj eraro, 1013 00:44:19,990 --> 00:44:20,490 dekstra? 1014 00:44:20,490 --> 00:44:23,180 Vi povas ne nur pruvo per Ekzemple, sed almenaŭ 1015 00:44:23,180 --> 00:44:25,494 kiel programisto ni ne provos pruvi nuntempe 1016 00:44:25,494 --> 00:44:27,660 ke tio estas fakte korekta, sed mi devus verŝajne 1017 00:44:27,660 --> 00:44:29,470 testi iuj reprezentaj kazoj. 1018 00:44:29,470 --> 00:44:31,070 >> Mi provis 42. 1019 00:44:31,070 --> 00:44:33,030 Mi povus provi 43. 1020 00:44:33,030 --> 00:44:34,910 Mi povus provi 44. 1021 00:44:34,910 --> 00:44:35,640 Testa 45. 1022 00:44:35,640 --> 00:44:36,140 Dekstra? 1023 00:44:36,140 --> 00:44:37,860 Sed mi povus fari tion vere longa tempo. 1024 00:44:37,860 --> 00:44:39,925 Kio estus iu pli interesaj kazoj provi? 1025 00:44:39,925 --> 00:44:41,050 Spektantaro: [inaudible] nulo. 1026 00:44:41,050 --> 00:44:41,740 DAVID J. Malan: Do nulo. 1027 00:44:41,740 --> 00:44:42,297 Certe. 1028 00:44:42,297 --> 00:44:44,880 Kaj bone, ni havas ĝin ĉi tempo, danke al Lauren la nova kodo. 1029 00:44:44,880 --> 00:44:46,213 Kio estas alia bona kazo provi? 1030 00:44:46,213 --> 00:44:47,320 Spektantaro: Negativaj unu. 1031 00:44:47,320 --> 00:44:50,070 >> DAVID J. Malan: Negativa unu, kaj eble iu pli granda, 1032 00:44:50,070 --> 00:44:52,617 do eble negativaj 42, sed ĝenerale, kiam 1033 00:44:52,617 --> 00:44:54,450 elprovanta viaj programoj movanta antaŭen, vi estas 1034 00:44:54,450 --> 00:44:56,325 tuj volas pensi al vi mem, kiel kion 1035 00:44:56,325 --> 00:44:58,050 estas la fundamentaj malsamaj kazoj. 1036 00:44:58,050 --> 00:45:01,720 Kaj mi kuraĝas diri negativa kazo, pozitivan kazon, kaj nulo kazo 1037 00:45:01,720 --> 00:45:03,365 preskaux preterpasas tiujn ekstere. 1038 00:45:03,365 --> 00:45:04,990 Ni rigardu varianto de tiu tamen. 1039 00:45:04,990 --> 00:45:06,930 Kondiĉoj unu. 1040 00:45:06,930 --> 00:45:11,224 Jen ĝusta solvo tie, por ke vi vidos du kaj rete, 1041 00:45:11,224 --> 00:45:13,390 se vi iros en walkthroughs, volo ĝenerale 1042 00:45:13,390 --> 00:45:18,090 pliigo tiuj _stepwise_ ĝis ni preni akurate la dekstra alproksimiĝo. 1043 00:45:18,090 --> 00:45:20,070 Kio se ni volis demandi du demandoj tuj? 1044 00:45:20,070 --> 00:45:22,200 >> Lasu min malfermi ĉi anstataŭ. 1045 00:45:22,200 --> 00:45:26,740 Non-ŝaltilo, por kialoj ni vidos alian fojon. 1046 00:45:26,740 --> 00:45:29,610 Kio novas sintakse tie? 1047 00:45:29,610 --> 00:45:32,760 Mi nuntempe ludas ludon kie la komputilo estas diranta 1048 00:45:32,760 --> 00:45:35,550 mi, donu al mi entjero inter kaj 10, 1049 00:45:35,550 --> 00:45:37,180 kaj tiam mi jugxante la uzanto enigo. 1050 00:45:37,180 --> 00:45:39,180 En la angla, bazita sur la kodo vi vidas ĉi tie 1051 00:45:39,180 --> 00:45:41,530 en blua, kio tiu programo faras? 1052 00:45:41,530 --> 00:45:44,256 1053 00:45:44,256 --> 00:45:46,380 Spektantaro: [inaudible] plukis granda aŭ malgranda nombro. 1054 00:45:46,380 --> 00:45:46,484 DAVID J. Malan: Yeah. 1055 00:45:46,484 --> 00:45:49,450 Ĝi simple adjudicating ĉu Mi plukis granda aŭ meza, 1056 00:45:49,450 --> 00:45:53,900 aŭ malgranda nombro bazita sur tre arbitra difino de malgrandaj, mezaj, 1057 00:45:53,900 --> 00:45:58,510 kaj granda tie, sed avizo la sintakso ke novas estas tiu. 1058 00:45:58,510 --> 00:46:02,340 Mankas malpli ol aŭ egala al int subskribi, aŭ pli granda ol aŭ egala al subskribi, 1059 00:46:02,340 --> 00:46:05,430 kie estas super la aliaj, ke vi povas esprimi en kiel Microsoft Word. 1060 00:46:05,430 --> 00:46:08,180 Do en programlingvo vi tipe nur faru du karakteroj, 1061 00:46:08,180 --> 00:46:09,450 unu post la alia. 1062 00:46:09,450 --> 00:46:12,695 Kaj kion faras tiu probable reprezenti, ampersand kaj-signo. 1063 00:46:12,695 --> 00:46:13,570 Spektantaro: [inaudible] 1064 00:46:13,570 --> 00:46:13,680 DAVID J. Malan: Yeah. 1065 00:46:13,680 --> 00:46:16,910 Ĝi nur signifas kaj ĉar Rezultas ke la aŭtoroj de C 1066 00:46:16,910 --> 00:46:19,120 uzata sola ampersand, kiu vi povus pensi 1067 00:46:19,120 --> 00:46:22,430 estus perfekta por la nocio de kaj, jam elĉerpitaj, 1068 00:46:22,430 --> 00:46:27,300 tiel ampersand ampersand reale kaptas la kazo ni fakte volas. 1069 00:46:27,300 --> 00:46:30,610 >> Do ni nun faletas trans du aferoj. 1070 00:46:30,610 --> 00:46:32,640 Lasu min kaj malfermu unu. 1071 00:46:32,640 --> 00:46:36,590 Iu kiu estas iom preocupante. 1072 00:46:36,590 --> 00:46:37,970 Imprecision punkto c. 1073 00:46:37,970 --> 00:46:40,260 Mi prezentas du aferojn tie. 1074 00:46:40,260 --> 00:46:44,720 Unu, rimarki ke ni povas fari math, kiel ĵus kiel antaŭe kiam 1075 00:46:44,720 --> 00:46:47,797 ni faris pli de du nombroj x kaj y. 1076 00:46:47,797 --> 00:46:49,380 Kio estas ĉi tiu programo ŝajne faras? 1077 00:46:49,380 --> 00:46:52,140 Mi ne komentis ĝin, kaj mi enkondukis procentoj f, 1078 00:46:52,140 --> 00:46:55,720 sed mi rapide diris antaŭe procento f signifas Flosanta punkto 1079 00:46:55,720 --> 00:46:56,970 valoro, kiu estas reala nombro. 1080 00:46:56,970 --> 00:46:59,520 Io kun dekuma punkto, kio ne estas entjero. 1081 00:46:59,520 --> 00:47:02,270 Kion vi opinias ĉi programo estas provante montri al mi sur la ekrano? 1082 00:47:02,270 --> 00:47:05,060 1083 00:47:05,060 --> 00:47:06,050 Yeah? 1084 00:47:06,050 --> 00:47:07,550 Publiko: La rezulto de unu super 10. 1085 00:47:07,550 --> 00:47:07,780 DAVID J. Malan: Yeah. 1086 00:47:07,780 --> 00:47:09,680 Kio estas la rezulto de unu dividite per 10. 1087 00:47:09,680 --> 00:47:12,721 Bone, ĉar vi ĉiuj havas probable plenkreska sciante ke unu super 10 1088 00:47:12,721 --> 00:47:14,502 Estas kio? 1089 00:47:14,502 --> 00:47:16,220 Jes, ĝi estas nur 1/10 aŭ 0.1. 1090 00:47:16,220 --> 00:47:16,720 Dekstra? 1091 00:47:16,720 --> 00:47:19,010 Do ni vidu kion tio vere estas. 1092 00:47:19,010 --> 00:47:21,010 Do lasu min antaŭeniri kaj savi tion. 1093 00:47:21,010 --> 00:47:21,970 Lasu min iri cxi tie. 1094 00:47:21,970 --> 00:47:26,360 Faru imprecision dot oblikvo imprecision kaj avizo, tro, 1095 00:47:26,360 --> 00:47:29,380 en Linuksa medio, vi ne devi tajpi el imprecision kaj preni 1096 00:47:29,380 --> 00:47:30,010 tutan tagon. 1097 00:47:30,010 --> 00:47:32,910 Ĝi ĝenerale, se vi frapis Tab, ĝi finos vian penson por vi, 1098 00:47:32,910 --> 00:47:36,660 bazita sur la vortoj, kiuj estas disponebla en la nuna dosierujo. 1099 00:47:36,660 --> 00:47:37,160 OK. 1100 00:47:37,160 --> 00:47:37,970 Do vi pravis. 1101 00:47:37,970 --> 00:47:41,239 Unu dividita per 10 estas, fakte, 0.1. 1102 00:47:41,239 --> 00:47:42,280 Sed mi estas iom scivolema. 1103 00:47:42,280 --> 00:47:44,196 Kaj ĝi rezultas printf Elportas iuj karakterizaĵoj 1104 00:47:44,196 --> 00:47:48,700 whereby vi povas specifi pli ol la defaŭlta nombro de decimalaj punktoj. 1105 00:47:48,700 --> 00:47:52,140 Do se mi volas vidi 10 dekuma punktojn mi povas fari procentoj, 1106 00:47:52,140 --> 00:47:55,510 por la lokokupilo simbolo, punktas 10 por, donu min 10 dekuma punktoj, 1107 00:47:55,510 --> 00:47:58,140 kaj tiam ankoraŭ flosanta punkto valoro, kaj, kiel flanken, 1108 00:47:58,140 --> 00:48:01,550 kian backslash n ŝajne ni daǔre uzanta? 1109 00:48:01,550 --> 00:48:03,450 Rezultas ĝi estas simbolo por nova linio. 1110 00:48:03,450 --> 00:48:05,970 Estas la tre eksplicita maniero diri al la komputilo, 1111 00:48:05,970 --> 00:48:08,759 movi la kursoron al la sekvanta linion post vi faris. 1112 00:48:08,759 --> 00:48:10,800 Kaj ni vidos kion okazas kiam ni ne faru tion. 1113 00:48:10,800 --> 00:48:12,430 >> Lasu min rekompili fari imprecision. 1114 00:48:12,430 --> 00:48:15,320 1115 00:48:15,320 --> 00:48:18,356 Nun dot oblikvo imprecision. 1116 00:48:18,356 --> 00:48:18,930 OK. 1117 00:48:18,930 --> 00:48:19,780 Ankoraŭ pravas. 1118 00:48:19,780 --> 00:48:21,512 Unu dividita per 10. 1119 00:48:21,512 --> 00:48:23,220 Nun mi ricevas iom stranga, kvankam. 1120 00:48:23,220 --> 00:48:27,599 Kio se mi rigardas 20 dekuma atentigas, rekompili, rerun, 1121 00:48:27,599 --> 00:48:29,390 kaj kiel flanken por rapido, Vi povas ankaŭ uzi 1122 00:48:29,390 --> 00:48:31,800 vian supren kaj malsupren sagojn rulumi tra via historio, 1123 00:48:31,800 --> 00:48:35,476 tial vi ne devas teni retyping tiujn ordonojn, eniru. 1124 00:48:35,476 --> 00:48:36,910 Huh. 1125 00:48:36,910 --> 00:48:39,220 Mi ne lernis ke en grado lernejo. 1126 00:48:39,220 --> 00:48:43,260 Bone, do lasu min vidi kiel 29 lokoj el. 1127 00:48:43,260 --> 00:48:44,300 Eble ĝi estas nur hazardo. 1128 00:48:44,300 --> 00:48:46,907 Eble mia komputilo agas stranga. 1129 00:48:46,907 --> 00:48:47,990 Tio ne estas afero, ĉu ne? 1130 00:48:47,990 --> 00:48:50,300 Oni faras ion deterministically. 1131 00:48:50,300 --> 00:48:53,410 Do fari imprecision. 1132 00:48:53,410 --> 00:48:54,890 OK, tio paneas. 1133 00:48:54,890 --> 00:48:57,620 Do kio estas daŭriganta? 1134 00:48:57,620 --> 00:49:00,160 >> Do ŝajne via instruisto estis kuŝanta 1135 00:49:00,160 --> 00:49:03,900 al vi ĉion ĉi tempo por kialoj kiujn ni vidos post nelonge. 1136 00:49:03,900 --> 00:49:05,569 Sed ni finos kun tiu alia programo. 1137 00:49:05,569 --> 00:49:07,860 Jen iom programoj iu skribis antaŭ kelkaj jaroj, 1138 00:49:07,860 --> 00:49:08,990 kaj ĝi estas fakte parto de konkurso. 1139 00:49:08,990 --> 00:49:11,198 Neniu vere skribas kodo kiel tiun, kaj se vi faros, 1140 00:49:11,198 --> 00:49:12,880 ĉi estas stile problemo. 1141 00:49:12,880 --> 00:49:14,660 Sed homoj faras tion por bragging rajtoj. 1142 00:49:14,660 --> 00:49:17,260 Skribi la plej konfuzanta rigardante programo kiu 1143 00:49:17,260 --> 00:49:19,110 tamen faras ion interesan. 1144 00:49:19,110 --> 00:49:23,930 Kaj la noto mi pensis ke ni lasos sur hodiaŭ, antaŭ Colton ludas nin el ĉi tie, 1145 00:49:23,930 --> 00:49:27,840 estas kuri ĉi programo, kiu, eĉ en nur uzante 1146 00:49:27,840 --> 00:49:31,450 C en ĉi tekstajn medio, donas al ni tiun. 1147 00:49:31,450 --> 00:49:32,264 Dammit. 1148 00:49:32,264 --> 00:49:34,930 >> [Ridado] 1149 00:49:34,930 --> 00:49:36,800 >> Stand by. 1150 00:49:36,800 --> 00:49:39,340 [Inaudible] c haltostreko l m. 1151 00:49:39,340 --> 00:49:42,885 Vi tuj vidos la magia sorĉdiron ke ni vidos post nelonge. 1152 00:49:42,885 --> 00:49:45,780 [Inaudible] Bone. 1153 00:49:45,780 --> 00:49:51,592 Kaj nun vi povas eĉ faranta similaĵojn. 1154 00:49:51,592 --> 00:49:52,340 Jen ĝi. 1155 00:49:52,340 --> 00:49:56,410 Por CS50 ni, vidos vi vendrede. 1156 00:49:56,410 --> 00:49:58,910 >> [MUZIKO Ludante] 1157 00:49:58,910 --> 00:52:38,390 1158 00:52:38,390 --> 00:52:41,440 >> [Aplaŭdo] 1159 00:52:41,440 --> 00:52:42,812