1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> DAVID Malan: Ĉi tiu estas CS50, kaj ĉi estas la komenco de la semajno unu. 3 00:00:14,430 --> 00:00:17,930 Kaj kion ni pensis ke ni volas fari estas tiri reen la kurteno de aparato kiun multaj 4 00:00:17,930 --> 00:00:20,970 de vi probable piediris pasinteco nun dum jaroj, sed eble neniam sufiĉe 5 00:00:20,970 --> 00:00:22,280 scias kion ĝi estas. 6 00:00:22,280 --> 00:00:26,000 Do tiu mekanismo estos probable aspektas familiara al plej el vi per nun. 7 00:00:26,000 --> 00:00:32,972 >> [VIDEO reprodukto] 8 00:00:32,972 --> 00:00:36,150 >> -Al triumfo de matematikaj kaj mekanikan lertecon estas tiu granda nova 9 00:00:36,150 --> 00:00:39,120 aŭtomata kalkulilo je Universitato Harvard. 10 00:00:39,120 --> 00:00:43,220 Komplika problemoj en matematiko meti tra la maŝino en kodita formo sur 11 00:00:43,220 --> 00:00:47,840 bendo estas precize solvitaj en minuto frakcio de la tempo bezonata por 12 00:00:47,840 --> 00:00:49,090 homa kalkulo. 13 00:00:49,090 --> 00:01:00,090 14 00:01:00,090 --> 00:01:04,080 >> Desegnita por akceli ĉiujn formojn de matematika kaj scienca esplorado, 15 00:01:04,080 --> 00:01:07,860 la giganto mekanikaj cerbo volas laboros por la Unuiĝintaj Ŝtatoj 16 00:01:07,860 --> 00:01:09,180 Armita ĝis la milito finiĝis. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [FINO reprodukto de vídeo] 19 00:01:18,600 --> 00:01:21,980 >> DAVID Malan: Do tio, kion vi vidas en la Science Center, kiu estas kie 20 00:01:21,980 --> 00:01:23,540 tiu maŝino estas nun gastigis. 21 00:01:23,540 --> 00:01:25,910 Vi fakte nur vidi parton de ĝi. 22 00:01:25,910 --> 00:01:28,800 Nur porcio estas nuntempe en elmontrado, kaj tio estas nomita mekanismo 23 00:01:28,800 --> 00:01:31,970 la Mark mi, kaj gxi estis esence vere grandega kalkulilo. 24 00:01:31,970 --> 00:01:36,250 Ĝi okazis la Mark II, kaj ĝi estas de la Mark II ke ni efektive 25 00:01:36,250 --> 00:01:39,210 akiri iom de leksiko. 26 00:01:39,210 --> 00:01:43,780 >> Ĉi tiu estas la unua registrita petskribo de io, kion vi estas iĝonta ĉiuj 27 00:01:43,780 --> 00:01:45,860 tro familiara kun super la kurson de la semestro - 28 00:01:45,860 --> 00:01:48,460 nome, cimon. 29 00:01:48,460 --> 00:01:52,030 Do ĝi rezultis je unu punkto la Mark II aparato ne funkcias 30 00:01:52,030 --> 00:01:55,930 konvene kaj sur proksima inspektado, estis ja cimon - tineo - 31 00:01:55,930 --> 00:01:56,910 ke tineo - 32 00:01:56,910 --> 00:01:57,610 enen. 33 00:01:57,610 --> 00:02:03,130 Kaj ekde tiam, ni raportis al erarojn en programoj kiel cimojn. 34 00:02:03,130 --> 00:02:05,330 Do pli en la venonta. 35 00:02:05,330 --> 00:02:08,919 >> Parolante pri video tiel, se vi ne jam, scias, ke CS50 estas 36 00:02:08,919 --> 00:02:09,669 evidente filmado. 37 00:02:09,669 --> 00:02:13,330 La prelegoj kutime iru tuj post klaso en ia antaŭ-versio 38 00:02:13,330 --> 00:02:17,240 sen eldoni formato, kaj poste dum unu aux du poste, ni metas ĉe pli alta distingivo 39 00:02:17,240 --> 00:02:18,490 kaj pli alta kvalito versio. 40 00:02:18,490 --> 00:02:21,800 Vi eble memoras Vanessa, kiu havis la fortuno de ludi kun Google Pokalo, 41 00:02:21,800 --> 00:02:23,540 kiun mi memoris ŝarĝi ĉi tiun fojon. 42 00:02:23,540 --> 00:02:26,450 Do se vi volas veni post klaso kaj ludi, ili devus labori hodiaŭ. 43 00:02:26,450 --> 00:02:30,816 Kaj se vi ŝatus vidi kion Vanessa vidis la alia tago, kion vi vidos 44 00:02:30,816 --> 00:02:35,260 tie - lasu min levi la volumo ĉi tie en mia tekkomputilo. 45 00:02:35,260 --> 00:02:35,690 >> [VIDEO reprodukto] 46 00:02:35,690 --> 00:02:37,620 >> -Do mi vosto estas supre. 47 00:02:37,620 --> 00:02:38,070 Ĉio bone. 48 00:02:38,070 --> 00:02:40,930 Do tuŝi ĉi. 49 00:02:40,930 --> 00:02:41,720 Ĉio bone. 50 00:02:41,720 --> 00:02:43,470 OK, Pokalo. 51 00:02:43,470 --> 00:02:44,720 Gravuri video. 52 00:02:44,720 --> 00:02:47,240 53 00:02:47,240 --> 00:02:48,640 >> Ĉio bone. 54 00:02:48,640 --> 00:02:50,446 Vanessa? 55 00:02:50,446 --> 00:02:50,870 >> [FINO reprodukto de vídeo] 56 00:02:50,870 --> 00:02:53,485 >> DAVID Malan: Bone, do la kialo ke tio ne funkcias por la plimulto el vi en 57 00:02:53,485 --> 00:02:56,540 la fino de klaso estis ĉar mi plue gravuri horo de tiu 58 00:02:56,540 --> 00:02:59,505 bildoj indik mem post Mi metis la okulvitrojn malsupren. 59 00:02:59,505 --> 00:03:04,010 Do hodiaŭ, mi lasos ilin, sed dankon vi Vanessa por esti tia 60 00:03:04,010 --> 00:03:05,420 bona sporto. 61 00:03:05,420 --> 00:03:08,330 >> Dume, paro de anoncoj antaŭ ol ni forĝi antaŭen hodiaŭ. 62 00:03:08,330 --> 00:03:11,120 Do unu, CS50 havas tradicion de fari kion ni povas provi fari tre 63 00:03:11,120 --> 00:03:12,630 granda klaso sentas pli malgranda. 64 00:03:12,630 --> 00:03:16,640 Kaj al tiu celo, plej ĉiun vendredon, ni kunvenas en restoracio 65 00:03:16,640 --> 00:03:20,160 la placo, Fajro kaj Glacio, kun 30 aŭ 40 de via samklasanoj, mi mem, kelkaj el 66 00:03:20,160 --> 00:03:22,520 la instruistaro, kaj ni simple havas tre hazardaj lunĉo. 67 00:03:22,520 --> 00:03:26,280 Ni ofte invitas geamikoj el industrio, lernantoj de la klaso, lernantoj de la 68 00:03:26,280 --> 00:03:30,340 kolegio, vere nur babili ĉiu aliaj ĉe, paroli pri vivo post 69 00:03:30,340 --> 00:03:32,260 kolegio, la vivo en la universitato, kaj similaj. 70 00:03:32,260 --> 00:03:35,570 Do se vi ŝatus partopreni en ĉi tiu unuaj tiaj tagmanĝo tiun vendredon ĉe 71 00:03:35,570 --> 00:03:38,640 1:15 PM, kapon por ke URL je iu punkto. 72 00:03:38,640 --> 00:03:40,830 >> Spaco estas limigita, tiel ni faros veni antauxe unua utilas. 73 00:03:40,830 --> 00:03:43,880 Sed ni tion faros ĉi denove sur _recurring_ bazo, do ne zorgu se vi ne 74 00:03:43,880 --> 00:03:45,800 fari ĝin en tiu unua parto. 75 00:03:45,800 --> 00:03:48,960 >> Nun, en terminoj de la rimedoj havigitaj curricularly de la kurso, 76 00:03:48,960 --> 00:03:51,500 tie estas tuta mortigis, kaj se vi ne havas tiris supren la kurso de afiŝinto 77 00:03:51,500 --> 00:03:54,310 Jam, en aparta, sub prelegoj, vi trovos, ke ĉio 78 00:03:54,310 --> 00:03:57,070 ni faris pasintsemajne estas tie, ambaŭ en video kaj ia 79 00:03:57,070 --> 00:03:58,435 de elektronika formo. 80 00:03:58,435 --> 00:04:01,210 Sed transe de videoj, vi trovos ke nun estas plena teksto 81 00:04:01,210 --> 00:04:03,290 transskriboj, ekzemple, de ĉiu prelego. 82 00:04:03,290 --> 00:04:08,260 >> Do, se ni efektive reiros al tiu ekrano tie kun Vanessa, kaj navigi 83 00:04:08,260 --> 00:04:12,010 al la fundo angulo de la ekrano, vi trovos, ke fakte, ne por 84 00:04:12,010 --> 00:04:15,060 Vendreda prelego, sed se ni reiru al Merkredo, ekde tiu karakterizaĵo donas 85 00:04:15,060 --> 00:04:17,870 malmultaj tagoj, vi trovos, ke vi povas fakte elsxiros, por pli bona aŭ por 86 00:04:17,870 --> 00:04:22,260 malbona, ĉiun vorton, kiun mi aŭ volontulo en la scenejo diris. 87 00:04:22,260 --> 00:04:23,270 Kaj pli ol nur tio. 88 00:04:23,270 --> 00:04:25,700 Vi povas fakte esplorrigardi gxin, vi povas alklaku iun el tiuj frazoj, salti 89 00:04:25,700 --> 00:04:29,250 al tiu punkto en la video, ĉiuj al kaj fino de farante la materialo ĉiuj 90 00:04:29,250 --> 00:04:30,620 pli ŝipveturebla. 91 00:04:30,620 --> 00:04:34,550 >> Sed se vi preferus ne sekvi ĝin en tia detalo, vi trovos, por 92 00:04:34,550 --> 00:04:39,710 Ekzemple, tiu malgranda menuo tie por 1.5x rapido, 2x rapido, aŭ i f mi jam 93 00:04:39,710 --> 00:04:42,100 parolu tro rapide por vi, 0.75x rapido. 94 00:04:42,100 --> 00:04:45,190 Do realigi ĉiuj kiuj estas disponebla tie por vi. 95 00:04:45,190 --> 00:04:49,120 >> Sed krome, por prelegoj, realigi ke ni ankaŭ faros tiuj rimedoj 96 00:04:49,120 --> 00:04:50,530 disponebla ankaŭ. 97 00:04:50,530 --> 00:04:55,240 Diapozitivoj, ekzemple kodon, ion kiun mi fari en la scenejo aŭ en antaŭeniras de klaso, 98 00:04:55,240 --> 00:04:58,160 ni afiŝi tie por ke vi povas ludi kune hejme aŭ en Sanders. 99 00:04:58,160 --> 00:05:01,280 Sed kion ni ankaŭ pensis ke ni volas fari ĉi jaro por la unua fojo ankaŭ 100 00:05:01,280 --> 00:05:04,240 provizi vin per walkthroughs el tiuj ekzemploj. 101 00:05:04,240 --> 00:05:08,120 Ĉiufoje, kiel mi meditis pri la valoro de CS50 de prelegoj, mi komencis 102 00:05:08,120 --> 00:05:11,450 pridubi, kiom utila estas por you guys sidi tie, por mi staras 103 00:05:11,450 --> 00:05:15,020 ĉi tie, kaj por mi paroli pri vi, aparte kiel la materialo, la 104 00:05:15,020 --> 00:05:17,020 ekzemploj, akiru pli kompleksa. 105 00:05:17,020 --> 00:05:20,790 Ĉar nevarie, post iu kvanto de minutoj, iu volo zono, kaj 106 00:05:20,790 --> 00:05:24,310 tiam mankas al vi iuj ŝlosilaj sagaceco de iu ekzemple, kaj tiam vi estas esence 107 00:05:24,310 --> 00:05:27,720 foriris por la cetera porcio de klaso, kiu ne estas la plej bona uzo de 108 00:05:27,720 --> 00:05:31,330 vian tempon, aŭ, vere, nia kolektive kiel klaso. 109 00:05:31,330 --> 00:05:33,920 >> Kaj do kion ni pensis ke ni provas fari, aparte por kelkaj pli 110 00:05:33,920 --> 00:05:37,700 kompleksa ekzemplojn por ke mi ne faru justecon al la klaso, ke ni ne fariĝu 111 00:05:37,700 --> 00:05:41,560 havas tempon por en klaso, aŭ vi povus nur zono ekster dum, estas ni produktas 112 00:05:41,560 --> 00:05:45,500 serio de walkthroughs de tiuj ekzemploj tiel ke se vi iras al, por 113 00:05:45,500 --> 00:05:51,410 Ekzemple, lasta vendreda video paĝon tie sub ekzemploj, vi vidos ke 114 00:05:51,410 --> 00:05:54,050 por vendredo, estas nun ĉi ligi al walkthroughs. 115 00:05:54,050 --> 00:05:55,780 Kaj la formaton de tiuj ŝanĝos la tempo. 116 00:05:55,780 --> 00:05:58,080 Nun, ni uzas simplan YouTube playlist. 117 00:05:58,080 --> 00:06:00,980 >> Sed kion Mi faris kun niaj teamo de produktado poste estis marŝi tra ĉiu 118 00:06:00,980 --> 00:06:04,480 kaj ĉiu el tiuj ekzemploj denove, espereble markante en multe pli granda 119 00:06:04,480 --> 00:06:07,550 klareco ĝuste kion la takeaways povus aŭ devus esti de ĉiu. 120 00:06:07,550 --> 00:06:10,560 Do vi trovos, ekzemple, de la pasinta semajno, ĉiu el la nulo ekzemploj 121 00:06:10,560 --> 00:06:12,950 Ni trapasis estas farata lineare en tiu modo. 122 00:06:12,950 --> 00:06:15,840 Do bonvolu partopreni aŭ ne partopreni en ĉi tiu materialo. 123 00:06:15,840 --> 00:06:19,140 Vere temo de ĉi tiu aparta kurson estas ke ekzistas probable pli 124 00:06:19,140 --> 00:06:21,870 laŭ la vojo de rimedoj ol vi povus sorbi super 125 00:06:21,870 --> 00:06:23,260 la paso de duonjaro. 126 00:06:23,260 --> 00:06:23,980 >> Sed tio estas intenca. 127 00:06:23,980 --> 00:06:26,990 Ĝi celas esti tiel ke vi kiel individuaj studentoj povas mem-unuaranga 128 00:06:26,990 --> 00:06:28,070 surbaze de via lernado stilo. 129 00:06:28,070 --> 00:06:29,790 Do se prelegoj funkcios por vi, granda. 130 00:06:29,790 --> 00:06:31,090 Se sekcioj labori por vi, granda. 131 00:06:31,090 --> 00:06:32,930 Se walkthroughs labori por vi pli bone, granda. 132 00:06:32,930 --> 00:06:36,980 Ĝi vere estos ĝis vin elekti kio rimedoj funkcias plej bone por vi. 133 00:06:36,980 --> 00:06:40,380 >> Fine, danke al lernanto de la Kompreneble, ni ankaŭ provizas kanona 134 00:06:40,380 --> 00:06:41,890 aro de skribisto notoj. 135 00:06:41,890 --> 00:06:46,270 Do anstataŭ havi you guys kapoj malsupren en prelegoj scribbling malsupren 136 00:06:46,270 --> 00:06:49,880 aĵoj kiuj venis en la klaso, ni, la bastono, provizos vin per kio ni 137 00:06:49,880 --> 00:06:53,410 sentas estas kanonaj aro de notoj liberigi vin de tiu distro, por ke 138 00:06:53,410 --> 00:06:57,150 se vi estas tie kaj dediĉis, vi estas vere okupata pri kio okazas, 139 00:06:57,150 --> 00:07:00,110 kun via samklasanoj faras sur etapo, kun kio estas supre sur la ekrano, 140 00:07:00,110 --> 00:07:03,570 kaj ne simple notante verbatim kio okazis al ili diris. 141 00:07:03,570 --> 00:07:06,730 Do realigi ĉiuj tiuj rimedoj estas disponebla por vi. 142 00:07:06,730 --> 00:07:09,210 >> Sekciigo, en respondo al Oftaj Demandoj, komencos tiun merkredon. 143 00:07:09,210 --> 00:07:12,050 Ni esence atendu ĝis post plej aliaj klasoj estas farita por ke ni povu 144 00:07:12,050 --> 00:07:14,420 minimumigi la nombron de ŝanĝoj ke ni devas fari. 145 00:07:14,420 --> 00:07:20,010 Sed venante al li ĉi tiun semajnfinon, komencante Dimanĉo, estos iam petskribo de 146 00:07:20,010 --> 00:07:21,360 kion ni nomas super sekcioj. 147 00:07:21,360 --> 00:07:23,990 Ĉi tiuj estos filmado por tiuj kiuj ne povas ĉeesti, kaj esence, la 148 00:07:23,990 --> 00:07:28,880 Kompreneble la kapoj irados nin tra iuj de la C porcion de la kurso, 149 00:07:28,880 --> 00:07:32,330 al la fino de problemo aro, kio tuj estos nia unua C bazita 150 00:07:32,330 --> 00:07:33,140 problemo aro. 151 00:07:33,140 --> 00:07:36,240 Kaj ĉi tiuj nur esti nedeviga sekcioj en antaŭvido de kio estos 152 00:07:36,240 --> 00:07:40,010 fariĝis _recurring_ sekcioj kondukis por la paso de 50 plus 153 00:07:40,010 --> 00:07:41,600 instruante uloj ĉiusemajne. 154 00:07:41,600 --> 00:07:45,130 Dimanĉe aŭ lunde aŭ marde, ni havas 90 minutoj sekciojn en tre 155 00:07:45,130 --> 00:07:48,020 tradicia senco, kiu estos ŝancojn por manojn sur kaj pli 156 00:07:48,020 --> 00:07:50,800 intima revizio de la Kompreneble la materialo. 157 00:07:50,800 --> 00:07:53,820 >> Sen pli enkonduko, lasu min enkonduki la kurson de kapoj, kiuj estas 158 00:07:53,820 --> 00:07:57,380 malantaŭ la scenoj kun mi, fari ĉion okazi. 159 00:07:57,380 --> 00:08:02,670 Se tiuj ĉi tien hodiaŭ povus akompani min, Rob kaj Lauren kaj Jozef kaj Lucas, ĉiuj 160 00:08:02,670 --> 00:08:05,770 el kiuj estis kun la kurso por iu tempo. 161 00:08:05,770 --> 00:08:08,450 RJ estas la tria tia membro de nia teamo. 162 00:08:08,450 --> 00:08:11,720 Li ne povis esti ĉi tie hodiaŭ, sed li petis min montri foton de li. 163 00:08:11,720 --> 00:08:14,600 Mi ne estas certa ke li volis tiun unu, sed li estas. 164 00:08:14,600 --> 00:08:18,350 >> Kaj lasu min nur permesus la teamo diri saluton kaj enkonduki sin tiel ke 165 00:08:18,350 --> 00:08:22,260 vi ekkoni ilin tiel kiel via propra instruado ulo ĉi tiu termino. 166 00:08:22,260 --> 00:08:23,490 >> Lauren Carvalho: Hi. 167 00:08:23,490 --> 00:08:24,740 Mia nomo estas Lauren Carvalho. 168 00:08:24,740 --> 00:08:26,900 Mi estas loĝanto lingvohelpanto en Leverett Domo. 169 00:08:26,900 --> 00:08:31,120 Mi ankaŭ Super ekscitita esti kapo TV por CS50 ĉi tiu jaro. 170 00:08:31,120 --> 00:08:35,830 >> CS50 estas tre defia klaso tiel kiel tre granda klaso, do se vi 171 00:08:35,830 --> 00:08:38,780 havas neniun maltrankviloj, se vi sentas kiel vi falas malantaŭen, sentu vin libera 172 00:08:38,780 --> 00:08:43,840 alveni al iu el ni, heads@cs50.het aux al mi, se vi volas 173 00:08:43,840 --> 00:08:46,330 ŝatas ludi kun mia ora Retriever ido. 174 00:08:46,330 --> 00:08:48,060 Jen Lucas. 175 00:08:48,060 --> 00:08:48,560 >> Lucas Freitas: Hej, knaboj. 176 00:08:48,560 --> 00:08:49,330 Mia nomo estas Lucas Freitas. 177 00:08:49,330 --> 00:08:51,880 Mi estas juna [inaudibles] 178 00:08:51,880 --> 00:08:53,630 komputiko kaj lingvistiko. 179 00:08:53,630 --> 00:08:58,030 Mi efektive el Brazilo, kaj mi ankaŭ realigi oriente aziaj studoj. 180 00:08:58,030 --> 00:09:00,740 Do se vi havas demandojn pri komputiko aŭ lingvo aŭ 181 00:09:00,740 --> 00:09:01,870 nenion, nur lasu min scii. 182 00:09:01,870 --> 00:09:05,630 Aŭ CS50, speciale. 183 00:09:05,630 --> 00:09:05,880 >> JOSEPH ONG: Hi. 184 00:09:05,880 --> 00:09:06,265 Mi estas Jozef. 185 00:09:06,265 --> 00:09:11,360 Mi estas altranga studi komputilo scienco en Elliott Domo. 186 00:09:11,360 --> 00:09:13,500 Do, ni vidu. 187 00:09:13,500 --> 00:09:16,530 Vi vidos min ĉirkaŭ portante unu el tiuj enormaj ĉambroj. 188 00:09:16,530 --> 00:09:21,110 Mi estas la loĝanta bastonon fotisto por 50 tiel, kaj studentoj ofte 189 00:09:21,110 --> 00:09:25,140 kelkfoje konfuzas min azia turisto. 190 00:09:25,140 --> 00:09:29,220 >> Do, se vi vidos min, kun ĉambro, ne kuras for. 191 00:09:29,220 --> 00:09:32,960 Nur ridetas kaj ne timema. 192 00:09:32,960 --> 00:09:34,870 Kaj mi esperas ke vi ĝuos 50. 193 00:09:34,870 --> 00:09:38,690 Mi ĝuis ĝin tre multe, kiam Mi prenis ĝin, kaj tial Mi estis TFing por 194 00:09:38,690 --> 00:09:41,164 ĉi tiuj tri jaroj. 195 00:09:41,164 --> 00:09:41,570 >> ROB Bowden: Hi. 196 00:09:41,570 --> 00:09:42,550 Mi Rob. 197 00:09:42,550 --> 00:09:46,240 Ĉi tio estas mia kvara semestro kun CS50. 198 00:09:46,240 --> 00:09:47,430 Mi ĵus diplomiĝis en majo. 199 00:09:47,430 --> 00:09:49,650 Mi estis en Kirkland. 200 00:09:49,650 --> 00:09:53,670 Mi ekscitita por ĉi tiu semestro, kaj mi esperas ke vi estas tro. 201 00:09:53,670 --> 00:09:56,650 >> DAVID Malan: Dankon por ĉi-jara kapoj, kaj al RJ tiel. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> Do kelkaj fina notojn sur rimedoj. 204 00:10:02,310 --> 00:10:04,090 Unu, p starigis 0 estas jam supre. 205 00:10:04,090 --> 00:10:06,620 Ĉi tiu ekzistas nur en normo eldono, kiu estas intencita por la 206 00:10:06,620 --> 00:10:07,610 tuteco de la klaso. 207 00:10:07,610 --> 00:10:10,940 Komencante kun p aro 1, estos hacker eldonoj de plej problemo aroj, 208 00:10:10,940 --> 00:10:14,660 kiu, denove, kovros la materialo kun iom pli de defio, dum 209 00:10:14,660 --> 00:10:17,400 ankoraŭ tuŝante iuj de la sama temo. 210 00:10:17,400 --> 00:10:21,400 Ĉu rigardi la kurson de afiŝinto por tiu specifo por p aro 0. 211 00:10:21,400 --> 00:10:25,140 >> Oficejo horoj, tro, ili komencos tiu semajno, ĉi tiun nokton, morgaŭ, merkredon, 212 00:10:25,140 --> 00:10:27,670 kaj Ĵaŭdo en diversaj manĝejo haloj en la campus. 213 00:10:27,670 --> 00:10:32,140 Check out cs50.net/ohs por la oficejo horojn por la kurso, kaj realigi tiun 214 00:10:32,140 --> 00:10:34,430 estos tre hazardaj ŝancoj, certe, en la komenco de la 215 00:10:34,430 --> 00:10:37,190 semestro, veni por kun via portebla dum cerbo ripozon. 216 00:10:37,190 --> 00:10:40,500 Alportu kelkajn amikojn kaj babilas ĉe la Kompreneble la TFS kaj CAS kun ajna 217 00:10:40,500 --> 00:10:41,750 demandojn, ke vi povus havi. 218 00:10:41,750 --> 00:10:45,320 >> Kaj mi ne povas elstari sufiĉas, eĉ por nulo kaj problemo aro 0, 219 00:10:45,320 --> 00:10:47,110 vere estas neniu muta demando. 220 00:10:47,110 --> 00:10:51,200 Ne estas studento tro malkomforta demandi demandojn. 221 00:10:51,200 --> 00:10:53,940 Ne hezitu utiligi de ĉi tiu rimedo. 222 00:10:53,940 --> 00:10:56,430 Ĝi estos tie recurringly tra la semestro, 223 00:10:56,430 --> 00:10:57,840 kiel estos CS50 Diskutu. 224 00:10:57,840 --> 00:11:00,900 Tio estas la kurso la retan diskuto forumoj en tiu adreso tie. 225 00:11:00,900 --> 00:11:04,490 >> Kion ni ankaŭ fari dum prelegoj estas ankaŭ kontroli tion, danke al la 226 00:11:04,490 --> 00:11:05,580 Kompreneble la instruado teamo. 227 00:11:05,580 --> 00:11:08,390 Kaj do se vi havas demandon dum prelegi, ĉar mi diris ion 228 00:11:08,390 --> 00:11:11,690 malbone aŭ tute ne, por supozita, petu ke en reala tempo se vi havas vian 229 00:11:11,690 --> 00:11:15,700 portebla aŭ telefono en la retejo, kaj Ni faros nian eblon en proksimaj reala tempo al 230 00:11:15,700 --> 00:11:17,410 respondi al tio. 231 00:11:17,410 --> 00:11:21,500 >> Ĉu estas demandoj pri la CS 50? 232 00:11:21,500 --> 00:11:23,930 Tiam unu lastaj notoj el mia. 233 00:11:23,930 --> 00:11:25,530 Tiu temo de SAT UNSAT. 234 00:11:25,530 --> 00:11:28,550 Kiel vi finos vian studon kartoj, se vi ne jam, rimarkas ke la 235 00:11:28,550 --> 00:11:32,360 komunajn vidado de SAT UNSAT, disponebla por ĉiuj studentoj, estas vere 236 00:11:32,360 --> 00:11:36,350 helpi preni la rando ekstere de kurso kiel tiu, por tiel diri, por ke, se vi 237 00:11:36,350 --> 00:11:40,510 trovi mem malfrua nokto, 2am, 3AM, vere banging via kapo kontraŭ 238 00:11:40,510 --> 00:11:43,960 la muro kie vi scias ke vi estas 99% de la vojo al finaĵon, sed vi 239 00:11:43,960 --> 00:11:47,510 havas tiom da aliaj aferoj por fari, Mi kredas pli bonan uzon, ofte, de 240 00:11:47,510 --> 00:11:51,260 studentoj 'tempo estas ja movi antaŭen al tiuj aliaj aĵoj por ke vi povas 241 00:11:51,260 --> 00:11:52,780 optimumigi vian tempon cxirkauxe. 242 00:11:52,780 --> 00:11:56,950 Kaj SAT UNSAT estas mekanismo per kiu vi povas preni komforto en la fakto 243 00:11:56,950 --> 00:12:00,530 ke 99% de la vojo estas ankoraŭ sufiĉe Darn bona. 244 00:12:00,530 --> 00:12:03,790 >> Simile, ankaŭ, se vi venos en la kurso kun neniu antaŭa fono aŭ 245 00:12:03,790 --> 00:12:07,960 Ne preskaŭ tiel fono kiel vi pensas, ke via samklasanoj povus havi, vera 246 00:12:07,960 --> 00:12:13,210 aŭ malvera, rimarkas ke ĉi tiu estas ŝanco atingi viajn manojn malpurajn 247 00:12:13,210 --> 00:12:16,590 kun la kurso, metu viajn piedfingrojn en la akvo, por tiel diri, multe kiel mi mem 248 00:12:16,590 --> 00:12:18,500 faris jarojn kun pass / malsukceso. 249 00:12:18,500 --> 00:12:21,850 Kiel mi diris pasintsemajne, havis ĉi kurso, kiel aliaj, ne estis disponebla 250 00:12:21,850 --> 00:12:25,090 pasi / malsukceso ĉe la momento, mi probable estus Ne iam elpaŝis piedon en 251 00:12:25,090 --> 00:12:28,310 la klaso, kvankam mi faris, kvin semajnoj poste, ŝanĝi mian menson, kiujn vi 252 00:12:28,310 --> 00:12:32,400 Eble tiel, kaj ŝanĝi super al aŭ el letero gradita statuso. 253 00:12:32,400 --> 00:12:32,990 >> Ĉio bone. 254 00:12:32,990 --> 00:12:37,380 Do ni rigardis tion kiel tiu en Vendredo, kaj ni tre rapide irante 255 00:12:37,380 --> 00:12:39,890 por transiro al iu kiu aspektas pli kripta hodiaŭ. 256 00:12:39,890 --> 00:12:42,300 Sed estas tamen la sama fundamenta ideo. 257 00:12:42,300 --> 00:12:45,540 Kio estis la ĝenerala termino kiu ni uzata por priskribi puzlo peco 258 00:12:45,540 --> 00:12:47,690 kiu aspektis tiel? 259 00:12:47,690 --> 00:12:48,510 >> Do, komunikaĵo. 260 00:12:48,510 --> 00:12:50,020 Kaj vi povas nomi ĉi ajna nombro de aĵoj. 261 00:12:50,020 --> 00:12:51,870 Sed ni simple nomas ĝin deklaro, kaj deklaro 262 00:12:51,870 --> 00:12:53,200 nur rakontas la programo - 263 00:12:53,200 --> 00:12:55,290 aŭ en la kazo de Scratch, la sprite - 264 00:12:55,290 --> 00:12:56,520 fari ion. 265 00:12:56,520 --> 00:12:58,430 Diru saluton en ĉi tiu kazo. 266 00:12:58,430 --> 00:13:01,450 >> Io tiamaniere ni anstataŭ nomi kion? 267 00:13:01,450 --> 00:13:03,560 Jes, tiel Bulea esprimo. 268 00:13:03,560 --> 00:13:07,380 Al Bulea esprimo estas nur io tio estas vera aŭ falsa, do nulo 269 00:13:07,380 --> 00:13:10,530 altiras ilin per tiu formo, sed ankaŭ kun demandosigno transdoni la 270 00:13:10,530 --> 00:13:14,510 ideo, ke la respondo al tiu demando estas ĉu vera aŭ malvera, jes aŭ ne 271 00:13:14,510 --> 00:13:15,910 unu, 1 aŭ 0. 272 00:13:15,910 --> 00:13:19,290 >> Kaj ni uzas tiujn Buleaj esprimoj ene de konstruoj kiel tiuj, kiuj 273 00:13:19,290 --> 00:13:21,010 ni nomas kion? 274 00:13:21,010 --> 00:13:22,460 Do, kondiĉo aŭ branĉo. 275 00:13:22,460 --> 00:13:25,600 Kaj la kondiĉo vi vidas tie en Scratch havas iom lokokupilo por 276 00:13:25,600 --> 00:13:28,260 enigmo peco de tiu formo, la celo el kiuj estas tiel ke vi povas 277 00:13:28,260 --> 00:13:32,670 treni ĝin kaj faligis ĝin supren kaj poste dikti al la programo se tiu Bulea 278 00:13:32,670 --> 00:13:36,410 esprimo estas vera, do ĉi tiu aro de instrukcioj, tiu aro de deklaroj, 279 00:13:36,410 --> 00:13:39,320 alie fari ĉi tiu alia aro de instrukcioj. 280 00:13:39,320 --> 00:13:41,270 >> Kaj memoru ke vi povas nesto tion. 281 00:13:41,270 --> 00:13:44,170 Kvankam tie ne estas multe ĉambron vide en tiu enigmo peco, Scratch 282 00:13:44,170 --> 00:13:47,820 kreskos kaj retiri por persvadi ajn enigmo pecoj vi treni kaj lasi en 283 00:13:47,820 --> 00:13:51,410 tie tiel vi povas reale nesto tio kaj havas tri maniero forkon en la vojo. 284 00:13:51,410 --> 00:13:53,870 Se, alie se, alia. 285 00:13:53,870 --> 00:13:58,100 Kaj vi povas eĉ iri preter tiu de nestumado pli kaj pli kiel necesas. 286 00:13:58,100 --> 00:14:02,520 >> Do fine, ni vidis konstruoj kiel ĉi, alie sciata kiel buklo. 287 00:14:02,520 --> 00:14:05,690 Kaj tio estas nur iu kiu faras io denove kaj denove kaj denove. 288 00:14:05,690 --> 00:14:09,250 En tiu kazo, ĝi okazas al esti finia nombro de fojoj, sed ni ankaŭ 289 00:14:09,250 --> 00:14:12,890 vidis ekzemplon kie la nombro de fojoj venis de variablo, do 290 00:14:12,890 --> 00:14:13,690 povis ŝanĝi. 291 00:14:13,690 --> 00:14:16,910 Kaj ni ankaŭ vidis alian bloko aro nomata ĉiam bloko kiu 292 00:14:16,910 --> 00:14:19,590 nin permesis buklo malfinie longa. 293 00:14:19,590 --> 00:14:23,300 >> Do unu alia konstruo ke Scratch 2.0 havas - kaj la de vi pli 294 00:14:23,300 --> 00:14:26,330 komforta kun antaŭaj fono estas jam bone konas ĉi tiun 295 00:14:26,330 --> 00:14:27,080 konstrui - 296 00:14:27,080 --> 00:14:29,910 tion ni nomas kion? 297 00:14:29,910 --> 00:14:32,540 Do ni nomas tiujn funkciojn, alie konata kiel proceduroj. 298 00:14:32,540 --> 00:14:35,030 Ekzistas malpeza semantika diferenco, sed ni nomas ilin simple funkcioj. 299 00:14:35,030 --> 00:14:39,950 >> Kaj funkcio, en la kazo de Scratch, Estas kutimo puzlo peco kiu 300 00:14:39,950 --> 00:14:43,670 vi mem povas krei tiel ke vi havas nova enigmo peco kiu, en tiu 301 00:14:43,670 --> 00:14:47,190 kazo, nomus tuso, ke aperas inter ĉiuj aliaj 302 00:14:47,190 --> 00:14:48,730 disponebla puzlo pecoj en Scratch. 303 00:14:48,730 --> 00:14:52,010 Kvankam MIT ne inventis tiu enigmo pecon, vi faris. 304 00:14:52,010 --> 00:14:57,600 >> Do funkcio permesas vin krei novan konduto, donu gxin funkcio nomo, kaj 305 00:14:57,600 --> 00:14:59,200 tiam nomas ĝin, por tiel diri. 306 00:14:59,200 --> 00:15:04,690 Vere uzi ĝin en programoj denove kaj ree kaj ree sen devi atendi 307 00:15:04,690 --> 00:15:08,600 por iu kiel MIT laŭ la vojo al elpensi novajn funkciojn de nulo. 308 00:15:08,600 --> 00:15:12,460 Vi mem povas konstrui tiujn puzlo pecoj vi mem, kaj poste reuzi ilin 309 00:15:12,460 --> 00:15:13,600 en via propra programoj. 310 00:15:13,600 --> 00:15:17,520 Kaj ni vidos _recurring_ ekzemplo de tiu hodiaŭ kaj pluen. 311 00:15:17,520 --> 00:15:20,960 >> Do hodiaŭ, ni transiro nun al iu pli arkaikaj. 312 00:15:20,960 --> 00:15:24,350 Sed je la fino de la tago, iu pli potenca kaj esprimplena kaj pli 313 00:15:24,350 --> 00:15:28,110 reprezentanto de la vojo, ke ni estos en la tuta semestro tuta nombro 314 00:15:28,110 --> 00:15:28,800 de lingvoj - 315 00:15:28,800 --> 00:15:30,800 tiu de kodo aŭ kodo fonto. 316 00:15:30,800 --> 00:15:34,720 Kaj fontkodo, rezultas, ne estas kion komputilo 317 00:15:34,720 --> 00:15:37,400 tipe vere kuras. 318 00:15:37,400 --> 00:15:39,860 Fontkodo aspektas iu kiel ĉi tio. 319 00:15:39,860 --> 00:15:43,010 >> Do tiu estas, denove, eble la plej simpla programo povas skribi en 320 00:15:43,010 --> 00:15:46,670 lingvo nomas C. Ni komencos turmentus tiu aparte post nelonge, kaj se 321 00:15:46,670 --> 00:15:49,260 tiu ja aspektas kiel greka al vi nun, fidu min. 322 00:15:49,260 --> 00:15:54,040 Ene nur unu-du semajnoj la tempo, ĉi Estos tro familiara kaj reale 323 00:15:54,040 --> 00:15:57,780 sufiĉe reprezentaj de ĉiufoje kompleksa ekzemploj kun kiu vi instruos vin 324 00:15:57,780 --> 00:15:59,870 ankaŭ akiri pli komforta. 325 00:15:59,870 --> 00:16:03,100 >> Sed vi ne povas kuri ĉi speco de kodo kutime. 326 00:16:03,100 --> 00:16:06,750 Vi devas igi ĝin iu kiu la propra komputilo komprenas. 327 00:16:06,750 --> 00:16:09,840 Kaj tial por tio, ni bezonas iun Ni tuj voki kompililon. 328 00:16:09,840 --> 00:16:13,910 Al kompililo estas programo kiu prenas fonta kodo, kiel vi ĵus vidis, kiel 329 00:16:13,910 --> 00:16:17,680 eniro, kaj ĝi produktas nuloj kaj ones kiel eliro, alie 330 00:16:17,680 --> 00:16:19,210 konata kiel objekto kodo. 331 00:16:19,210 --> 00:16:23,190 Kaj estas tiuj nuloj kaj kiuj eble aspektas tute kiel ĉi tio 332 00:16:23,190 --> 00:16:26,310 finfine komprenas per Mac aŭ via PC. 333 00:16:26,310 --> 00:16:30,050 >> Se vi iam aŭdis la merkatiko esprimo Intel Ene, ke nur 334 00:16:30,050 --> 00:16:32,800 signifas ke kompanio nomita Intel fabrikis la 335 00:16:32,800 --> 00:16:34,130 cerboj de via komputilo - 336 00:16:34,130 --> 00:16:37,270 alie sciata kiel la CPU, centra prilaborado unueco - 337 00:16:37,270 --> 00:16:39,640 kaj tio estas ĝuste tio, kion komprenas ŝablonoj 338 00:16:39,640 --> 00:16:40,880 de nuloj kaj aĵoj. 339 00:16:40,880 --> 00:16:46,330 Kaj tiel per konvertado fontkodon en celkodo tra tiu procezo tie 340 00:16:46,330 --> 00:16:49,130 ke ni faros kun paro da ordonoj en nur iom, vi estas 341 00:16:49,130 --> 00:16:53,070 krei mastrojn de nuloj kaj aĵoj ke la oficistoj de Intel havas 342 00:16:53,070 --> 00:16:56,000 decidis reprezenti iujn deklarojn. 343 00:16:56,000 --> 00:16:58,810 >> Nun, mi ne tute scias kio estas kiu por nur rigardante 344 00:16:58,810 --> 00:16:59,890 tiuj nuloj kaj aĵoj. 345 00:16:59,890 --> 00:17:01,420 Plej homoj tiuj tagoj ne. 346 00:17:01,420 --> 00:17:04,900 Sed ie en estas mastro de nuloj kaj kiuj reprezentas la 347 00:17:04,900 --> 00:17:06,349 deklaro impreso. 348 00:17:06,349 --> 00:17:10,460 Ie tie povus esti malsama aro de nuloj kaj kiuj 349 00:17:10,460 --> 00:17:16,940 reprezentas la nocion de ĉiam aŭ ripetu 10 fojoj eĉ meow, se estas 350 00:17:16,940 --> 00:17:20,000 fakte programo kiu povas inkluzivas iujn sonojn. 351 00:17:20,000 --> 00:17:24,390 >> Do, en mallonga, homoj ĵus decidis, multe kiel ni faris por Askio - 352 00:17:24,390 --> 00:17:27,480 por literoj de la alfabeto lasta semajno - homoj decidis, ke eĉ 353 00:17:27,480 --> 00:17:32,200 pli kompleksaj modeloj de nuloj kaj aĵoj reprezenti pli kompleksajn konduto 354 00:17:32,200 --> 00:17:35,650 kiel videbligi aŭ diri aŭ meowing. 355 00:17:35,650 --> 00:17:38,640 Kaj tiel hodiaŭ, kaj plejparte antaŭen en la semestro, ni prenos por 356 00:17:38,640 --> 00:17:41,820 koncedis ke iu figured el kiel fari ke surĵeto. 357 00:17:41,820 --> 00:17:45,560 Sed ni, kohera kun tiu ideo de layering supre sur la laboro de homoj 358 00:17:45,560 --> 00:17:49,340 kiuj jam venis antaŭ ni, prenos por donita la fakto ke ĉi tio okazas 359 00:17:49,340 --> 00:17:50,300 sub la kapuĉo. 360 00:17:50,300 --> 00:17:53,840 Sed ni estas multe pli interesiĝis konstruaĵo aĵoj kiuj estas pli 361 00:17:53,840 --> 00:17:55,880 interesa sur supro de ĉio ĉi. 362 00:17:55,880 --> 00:17:58,900 >> Kaj tiel efektive, la unua programo ni skribis en Scratch estis ĉi tiu super simpla 363 00:17:58,900 --> 00:18:00,600 unu, Saluton Mondo. 364 00:18:00,600 --> 00:18:05,100 Kaj vi povas pensi pri tio kiel la ĉefa programo kiu regas Scratch la 365 00:18:05,100 --> 00:18:07,280 konduto ekde la pasinta vendredo. 366 00:18:07,280 --> 00:18:11,510 >> Hodiaŭ, ni tuj komencos traduki Skrapi puzlo pecojn en 367 00:18:11,510 --> 00:18:16,040 fonta kodo en tiu ĉi lingvo nomata C por ke kion similis tiun de 368 00:18:16,040 --> 00:18:20,230 Vendredo, komencante hodiaŭ antaŭen, estas nun tuj aspekti kiel ĉi tio. 369 00:18:20,230 --> 00:18:21,860 Certe pli kripta. 370 00:18:21,860 --> 00:18:25,010 Ĝi estas bela distrante kaj varo de menso numbing vidi ĉiujn citaĵoj 371 00:18:25,010 --> 00:18:27,760 kaj la punktokomojn kaj la parentezoj kaj tiel plu. 372 00:18:27,760 --> 00:18:32,350 >> Sed se vi komencas ignori ion ajn ne komprenas, kaj vere aspektas 373 00:18:32,350 --> 00:18:35,960 ĉe la esenco de la blanka teksto sur la ekrano, verŝajne vi vidas, kiel mi faras, 374 00:18:35,960 --> 00:18:40,360 "Saluton, mondo." Tiu regiono kun la purpura deklaro ĝis supre, kaj ĝi rezultas 375 00:18:40,360 --> 00:18:44,790 ke la ŝlosilvorto ĉefa tuj laŭliniigi koncepte kun kiam verda 376 00:18:44,790 --> 00:18:46,350 flago klakis. 377 00:18:46,350 --> 00:18:49,820 >> Do alivorte, dum kiu en Scratch, ni apliki ĉi Saluton Mondo programo 378 00:18:49,820 --> 00:18:53,360 kun tiuj du puzlo pecoj, en C, Ni tuj apliki ĝin per tiuj 379 00:18:53,360 --> 00:18:55,510 kvar iomete kripta linioj. 380 00:18:55,510 --> 00:18:58,130 Sed kiel ni plonĝi profunden en tio, ke vi vidas, ke cxiu el tiuj 381 00:18:58,130 --> 00:19:02,730 blanka karakteroj sur la ekrano fakte havas iujn signifajn signifo, 382 00:19:02,730 --> 00:19:05,880 kaj la plimulto de niaj programoj tuj rigardi strukture tute la sama. 383 00:19:05,880 --> 00:19:08,980 Do komunikaĵo, esti klara, kion rigardis kiel "diras saluton mondo" on 384 00:19:08,980 --> 00:19:12,020 Vendredo tuj komencos serĉi ŝatas tiun lundon. 385 00:19:12,020 --> 00:19:15,250 printf ("Saluton, mondo"). 386 00:19:15,250 --> 00:19:17,700 Kaj tie estas iuj strangaj backslash n, estas parentezoj, estas 387 00:19:17,700 --> 00:19:18,490 punktokomojn. 388 00:19:18,490 --> 00:19:21,950 >> Sed je la fino de la tago, la ŝlosilo takeaway hodiaŭ estas, ke ĉiuj ni faras 389 00:19:21,950 --> 00:19:25,710 estas traduki tion for bildo formi al teksto formo. 390 00:19:25,710 --> 00:19:28,820 Do loop kiu similis tiun lasta semajno tuj nun rigardu 391 00:19:28,820 --> 00:19:30,140 iu kiel ĉi tio. 392 00:19:30,140 --> 00:19:33,020 >> Kaj lasu min disclaim, ĝuste kiel en Nulo, ekzistas malsamaj manieroj 393 00:19:33,020 --> 00:19:34,110 atingi la saman celon. 394 00:19:34,110 --> 00:19:38,860 Sama en C. Mi ne montras al vi la sola maniero por fari tion, sed unu maniero 395 00:19:38,860 --> 00:19:43,230 traduki ĉi ĉiam bloki al buklo en C. 396 00:19:43,230 --> 00:19:44,980 >> Ĉi tiu tie, ripetu 10 fojoj. 397 00:19:44,980 --> 00:19:47,580 Ĉi tiu vere speco de kurbiĝoj la gravas la unua fojo vi vidos. 398 00:19:47,580 --> 00:19:49,860 Sed por apliki ke de nun, Ni tuj uzi 399 00:19:49,860 --> 00:19:51,990 por ciklo, tiel diri. 400 00:19:51,990 --> 00:19:56,150 Kaj klare ekzistas iuj sintakso tio iom kompleksa tie kun mi kaj 401 00:19:56,150 --> 00:19:59,740 egalaj kaj 0, sed iam ni plonĝi en tiun hodiaŭ antaŭen, vi nur irante 402 00:19:59,740 --> 00:20:04,260 vidi ke jen ĉio simple faras kelkajn baza aritmetiko por liberigi nin de 0 403 00:20:04,260 --> 00:20:07,720 sur ĝis 9 aŭ 10 en tiu kazo. 404 00:20:07,720 --> 00:20:11,570 >> Fine, kun variabloj, vi memoras ke variablo estas peco de stokado. 405 00:20:11,570 --> 00:20:14,290 Nu, kion ni havis sur la maldekstra lasta semajno tuj serĉos iom 406 00:20:14,290 --> 00:20:15,920 iu kiel ĉi tiu semajno. 407 00:20:15,920 --> 00:20:17,870 Sed denove, pli en la venonta. 408 00:20:17,870 --> 00:20:20,700 >> Ni havis Buleaj esprimoj, kiuj lasta semajno, aspektis kiel ĉi tio. 409 00:20:20,700 --> 00:20:23,370 Ĉi tiu semajno antaŭen, ili tuj komencas aspekti iom tiel. 410 00:20:23,370 --> 00:20:24,890 >> Kaj ĉi tiu estas efektive iom tranquilizadores. 411 00:20:24,890 --> 00:20:27,680 Fakte preskaŭ same simpla kiel verdan blokoj. 412 00:20:27,680 --> 00:20:31,115 Sed ĉi tie ni havas, denove, iu nova sintakso kun ampersands, sed vi povas 413 00:20:31,115 --> 00:20:35,390 eble diveni dum en Scratch, vi diras Al-N-D, ŝajne en C, ni estas 414 00:20:35,390 --> 00:20:37,070 dironta ampersand kaj-signo. 415 00:20:37,070 --> 00:20:39,650 Sed ĉio ĉi iĝos naturaj antaŭ longe. 416 00:20:39,650 --> 00:20:40,680 >> Kondiĉoj. 417 00:20:40,680 --> 00:20:42,610 Pasintsemajne, ĝi aspektis kiel ĉi maldekstre. 418 00:20:42,610 --> 00:20:44,800 Ĉi tiu semajno, en la dekstra, ĝi estas tuj serĉos tiel. 419 00:20:44,800 --> 00:20:48,560 Sed denove, la ŝlosilo takeaway tie estas ke kiel vi vidas aĵojn kiel ke sur 420 00:20:48,560 --> 00:20:51,950 dekstre, kaj precipe se malpli komforta, ĝi estas speco de super via 421 00:20:51,950 --> 00:20:54,950 kapo, vi ricevas iom premita ke Mi vere ne havas ideon kiom mi povis 422 00:20:54,950 --> 00:20:58,420 eble supreniru kun ke el nenio - 423 00:20:58,420 --> 00:20:59,500 neniu pun intended - 424 00:20:59,500 --> 00:21:05,300 nur rimarki ke ĝi estas vere la sama ideo kiu probable sentis tiom pli 425 00:21:05,300 --> 00:21:06,760 natura la antaŭa semajno. 426 00:21:06,760 --> 00:21:10,960 Kaj eĉ se vi ne plonĝis en problemo aro 0, mi daresay vi trovos 427 00:21:10,960 --> 00:21:13,790 ke la enigmo pecoj estas sufiĉe intuicia, aŭ almenaŭ 428 00:21:13,790 --> 00:21:16,050 tiom super tempo. 429 00:21:16,050 --> 00:21:16,990 >> Do ni plonĝi in 430 00:21:16,990 --> 00:21:20,760 Ni lasu nin manoj malpuraj tie kun tiu unua simpla programo. 431 00:21:20,760 --> 00:21:22,410 Kaj simpla estas, kompreneble, relativa. 432 00:21:22,410 --> 00:21:25,190 Por fari tion, mi tuj ŝanĝos ekranoj al tiu mekanismo Mi nomis la 433 00:21:25,190 --> 00:21:26,150 CS50 aparaton. 434 00:21:26,150 --> 00:21:29,700 La CS50 aparato estas peco de programaro kiu estas lancxi interne 435 00:21:29,700 --> 00:21:33,920 fenestro sur mia Mac, kaj vi ankaŭ povas funkcii ĝin en fenestro ene de via PC, kiu 436 00:21:33,920 --> 00:21:38,720 permesu al mi havi la sama ekzakta komputilo medio kiel ĉiu TF, kiel 437 00:21:38,720 --> 00:21:40,940 ĉiun CA, kiel ĉiu studento en la klaso. 438 00:21:40,940 --> 00:21:44,590 Ĉar la CS50 aparato estas laŭvorte alia mastruma sistemo 439 00:21:44,590 --> 00:21:45,410 nomita Linukso - 440 00:21:45,410 --> 00:21:47,160 specife Fedora Linux - 441 00:21:47,160 --> 00:21:51,320 kaj ni, la dungitaro, agordis la instalado procezo por ĉi 442 00:21:51,320 --> 00:21:55,200 mastruma sistemo en tia maniero, ke oni, tie estas iom CS50 logo en la 443 00:21:55,200 --> 00:21:59,240 mezo, du, tie estas kutimo menuo la fundo, kaj tri, pedagogie, 444 00:21:59,240 --> 00:22:02,570 ni simpligita la uzantinterfaco kiel kiel eble plej multe por ke, kiam vi 445 00:22:02,570 --> 00:22:05,540 unua startigi tiun aferon sur via propra Mac aŭ PC, vi havas la saman 446 00:22:05,540 --> 00:22:08,280 medio, kiel ĉiuj aliaj, kaj vi havas ĉiujn ilojn kiujn vi bezonos 447 00:22:08,280 --> 00:22:11,390 por la kurso, sen devi kompreni el kiel instali ĉiu kaj 448 00:22:11,390 --> 00:22:13,280 ĉiu ilo individue. 449 00:22:13,280 --> 00:22:15,840 >> Do tio aspektas relative kiel Mac OS aŭ Vindozo. 450 00:22:15,840 --> 00:22:18,760 En la fundo maldekstra angulo, vi esence havas Komenco menuo de 451 00:22:18,760 --> 00:22:20,280 varojn, aŭ Apple menuo. 452 00:22:20,280 --> 00:22:23,700 Kaj tiam vi havas, kion ni suspektas volo estu via tri plej komunaj ikonoj. 453 00:22:23,700 --> 00:22:24,460 Unu estas Chrome. 454 00:22:24,460 --> 00:22:26,460 Tie estas retumilo ene de la aparato. 455 00:22:26,460 --> 00:22:29,970 >> Du estas programo nomata gedit, kiu ni vidis mallonge pasintsemajne, kiu estas 456 00:22:29,970 --> 00:22:31,310 nur grafika redaktilo. 457 00:22:31,310 --> 00:22:35,350 Kaj tri estas Terminal programo, kiu estas nigra kaj blanka fenestro de 458 00:22:35,350 --> 00:22:39,860 pasintaj tempoj kiu nin permesas tajpi pli arkaikaj sed pli potencaj ordonoj 459 00:22:39,860 --> 00:22:40,660 nia klavaro. 460 00:22:40,660 --> 00:22:44,220 Do mi tuj iros antaŭen kaj klaku sur gedit, kaj estu certaj, ke problemo 461 00:22:44,220 --> 00:22:48,520 aro 1, kiel eldonita en vendredo, volo marŝi vi tra ĉiuj ĉi tiuj samaj piedosignoj. 462 00:22:48,520 --> 00:22:51,730 >> Rimarku, ke mi havas sufiĉe simpla uzantinterfaco kun tri partoj. 463 00:22:51,730 --> 00:22:54,990 Sur la maldekstra, Mi havas grandan malplenan fenestro nomata fontkodo. 464 00:22:54,990 --> 00:22:58,930 Tie estas kie mi iros vidi resumon de iu kodo kiu mi skribas. 465 00:22:58,930 --> 00:23:01,990 Sur la dekstra flanko, mi havas grandan langeton, aktuale Ne konservitaj, kaj tio estas 466 00:23:01,990 --> 00:23:03,510 kie mia kodo tuj foriri. 467 00:23:03,510 --> 00:23:06,780 Kaj sur la fundo, mi enigita Terminal fenestro, nigra kaj blanka 468 00:23:06,780 --> 00:23:12,060 instigas je kiu mi povas tajpi komandojn al kompili kaj kuri miaj programoj - tio 469 00:23:12,060 --> 00:23:14,110 estas, por fari kaj kuri miaj programoj. 470 00:23:14,110 --> 00:23:15,170 >> Do ni komencu simpla. 471 00:23:15,170 --> 00:23:17,700 Permesu al mi iri al dosiero: Savu. 472 00:23:17,700 --> 00:23:20,530 Mi tuj iros antaŭen kaj iru en jharvard. 473 00:23:20,530 --> 00:23:24,320 Do la aparato, sendepende de kio via nomo estas, apartenas al ulo nomata 474 00:23:24,320 --> 00:23:28,250 John Harvard, kiu havas jharvard hejmo katalogo ene de kiu ĉiuj de viaj 475 00:23:28,250 --> 00:23:29,100 dosieroj iros. 476 00:23:29,100 --> 00:23:31,640 Estas via propra kopio de sia konto, tial ni ne estas ĉiuj interŝanĝo 477 00:23:31,640 --> 00:23:33,530 la sama malmola disko. 478 00:23:33,530 --> 00:23:35,580 Vi nur havas la iluzion de John Harvard propra. 479 00:23:35,580 --> 00:23:38,350 >> Anticipe, mi vere instalita Dropbox. 480 00:23:38,350 --> 00:23:42,600 La aparato venas preprepared kun Dropbox tiel ke se iu iras malbone 481 00:23:42,600 --> 00:23:45,950 dum la semestro, se vi havas agordi vian aparaton kun libera 482 00:23:45,950 --> 00:23:48,950 Dropbox konton, ĉiuj de viaj dosieroj estos estos aŭtomate asist do vi 483 00:23:48,950 --> 00:23:50,430 povas tre facile forprenis ilin. 484 00:23:50,430 --> 00:23:53,980 Kaj mi tuj iros en mian Dropbox dosierujo, kaj tie estas jam tuj 485 00:23:53,980 --> 00:23:55,530 esti paro aliaj aferoj. 486 00:23:55,530 --> 00:24:02,090 >> Sed mi tuj iros antaŭen kaj iru al dosiero: Savu. 487 00:24:02,090 --> 00:24:05,930 Mi tuj iros en jharvard, Dropbox, kaj ĝis ĉi tie, mi tuj 488 00:24:05,930 --> 00:24:10,590 donas mian programon super simpla nomo, hello.c, kaj poste konservu. 489 00:24:10,590 --> 00:24:11,810 Do mi havas la saman interfacon nun. 490 00:24:11,810 --> 00:24:14,190 La sola afero, kiun oni ŝanĝis estas la langeton supre supro. 491 00:24:14,190 --> 00:24:17,170 Do mi tre rapide tuj amuzi tiu programo de la 492 00:24:17,170 --> 00:24:19,060 glitas antaŭ momento. 493 00:24:19,060 --> 00:24:25,690 >> Do en main (void), kaj tiam printf, "Saluton, mondo," iom kamufla 494 00:24:25,690 --> 00:24:29,920 backslash n, proksime citaĵo, fermi parentezo, punktokomo, kaj 495 00:24:29,920 --> 00:24:32,030 tiam Ctrl S savi. 496 00:24:32,030 --> 00:24:34,860 Kaj avizo kiel flanken kio ĵus aperis tie sur la supro maldekstro. 497 00:24:34,860 --> 00:24:37,490 Kaj tio ne estas utila hodiaŭ, sed estos utila tempo. 498 00:24:37,490 --> 00:24:40,160 Vi nur vidi, denove, resumo de la kodo kiun vi skribis. 499 00:24:40,160 --> 00:24:43,320 Kaj ĉar mi skribis ion nomatan ĉefa, jen kial la vorto ĉefa pusxis 500 00:24:43,320 --> 00:24:44,030 super tie. 501 00:24:44,030 --> 00:24:46,610 Sed plejparte, ni Ne necesas, ke hodiaŭ. 502 00:24:46,610 --> 00:24:51,130 >> Bone, do mi asertas ke ĉi tiu estas mia unua programo skribita en programado 503 00:24:51,130 --> 00:24:54,620 lingvo nomas C. Ni scias de vendredo ke kion ĉi afero tuj faros 504 00:24:54,620 --> 00:24:58,450 tre uninterestingly kiam mi kuri estas ĝuste montri - 505 00:24:58,450 --> 00:25:01,270 en aliaj vortoj, presi, kiel komputilo sciencisto dirus - 506 00:25:01,270 --> 00:25:03,310 saluton mondo sur la ekrano. 507 00:25:03,310 --> 00:25:06,800 Do fari tion, vi rimarkos ke mi devas malsupreniri tien por mia fina stacio 508 00:25:06,800 --> 00:25:09,250 fenestro, kaj nun mi havas oni palpebrumante prompto. 509 00:25:09,250 --> 00:25:15,480 Sed tio estas nun klavaro versio de mia John Harvard hejma dosierujo. 510 00:25:15,480 --> 00:25:19,610 Estas klavaro maniero per kiu por navigi mia malmola disko. 511 00:25:19,610 --> 00:25:25,380 >> Do mi ne povas efektive tajpi kiel mi faris pasintsemajne fari saluton, ĉar estas 512 00:25:25,380 --> 00:25:27,230 tuj diros neniu regulo por fari celo - 513 00:25:27,230 --> 00:25:27,950 io estas malĝusta. 514 00:25:27,950 --> 00:25:31,690 Mi ne tute scias, kion tiu mesaĝo rimedoj, sed ke estas ĉar implicite, 515 00:25:31,690 --> 00:25:35,350 kiam tiu nigra-blanka fenestro estas malfermita, mi estas ene de John Harvard 516 00:25:35,350 --> 00:25:36,160 hejma dosierujo. 517 00:25:36,160 --> 00:25:39,180 Sed kien mi savos tiun programon? 518 00:25:39,180 --> 00:25:40,440 En mia Dropbox dosierujo. 519 00:25:40,440 --> 00:25:43,110 >> Nun, ni ĉiuj jam elkreskis kune kun komputiloj kie vi ĵus duobla klaku 520 00:25:43,110 --> 00:25:45,610 sur dosierujo la ikono, ĝi malfermas, kaj voilà. 521 00:25:45,610 --> 00:25:48,280 Tie estas kie la dosiero nomata hello.c estus. 522 00:25:48,280 --> 00:25:49,470 Do fakte, ni faros. 523 00:25:49,470 --> 00:25:51,610 >> Lasu min antaŭeniri kaj minimumigi gedit kiel vi tajpus ĝin 524 00:25:51,610 --> 00:25:52,990 Windows aŭ Mac OS. 525 00:25:52,990 --> 00:25:56,160 Permesu al mi iri en la Ĉefpaĝo dosierujo ĉe supro maldekstro. 526 00:25:56,160 --> 00:25:57,620 Mi vidos tie faskon da dosierujoj. 527 00:25:57,620 --> 00:25:58,870 Jen mia Dropbox dosierujo. 528 00:25:58,870 --> 00:26:00,770 La checkmarks signifas ĝi estas estinta synced. 529 00:26:00,770 --> 00:26:04,040 Kaj estas kelkaj aferoj en ĉi tie, sed rimarki ke hello.c estas 530 00:26:04,040 --> 00:26:04,960 ja rajtas tie. 531 00:26:04,960 --> 00:26:08,050 >> Kaj tiel en Mac OS aŭ Vindozo, kutime, Mi duoble klaku tio, malfermas en 532 00:26:08,050 --> 00:26:10,220 kion ajn programon, kaj mi bone iri. 533 00:26:10,220 --> 00:26:13,370 Sed nun, almenaŭ ekde hodiaŭ, ni bezonas paŝon malantaŭen nur por 534 00:26:13,370 --> 00:26:16,960 doni al vi kelkajn bazajn ilojn por via ilo kit kun kiu fari pli 535 00:26:16,960 --> 00:26:18,980 potenca aĵoj antaŭ longe. 536 00:26:18,980 --> 00:26:22,280 >> Do en ĉi tiu invito, mi devas fari la ekvivalento de duobla alklako la 537 00:26:22,280 --> 00:26:23,560 Dropbox dosierujo. 538 00:26:23,560 --> 00:26:29,900 Kaj fari tion, mi tuj tajpi KD por ŝanĝi dosierujon, Dropbox, eniru. 539 00:26:29,900 --> 00:26:36,100 Kaj nun rimarkas la parentezoj miaj tn prompto nun diras ke mi estas en 540 00:26:36,100 --> 00:26:38,470 supersigno, la eta squiggly simbolon supre maldekstre de 541 00:26:38,470 --> 00:26:40,860 plej klavaroj, / Dropbox. 542 00:26:40,860 --> 00:26:45,200 Ĉi tio estas nur stenografio skribmaniero por dirante homa, vi nun ene de 543 00:26:45,200 --> 00:26:48,650 la Dropbox dosierujo, same kiel se vi estis duobla klakis sur ĝi. 544 00:26:48,650 --> 00:26:54,610 >> Do nun, se mi iras antaŭen kaj tajpu fari saluton, eniru, mi vidas tre kamufla 545 00:26:54,610 --> 00:26:57,450 komando, sed ne erarmesagxon, ĝi similas, kaj poste 546 00:26:57,450 --> 00:26:59,020 alia palpebrumante prompto. 547 00:26:59,020 --> 00:27:04,470 Kaj se vi memoras, iam tiel rapide Vendredon, ni faris tion ĉi. . / Saluton. 548 00:27:04,470 --> 00:27:10,000 >> Kio vi estas, por vidi estas la rezulto de miaj kurante tiun programon, aŭ, en Mac 549 00:27:10,000 --> 00:27:14,310 VIN kaj PC terminoj, se mi estus normale duobligi alklaku programo - al. app 550 00:27:14,310 --> 00:27:17,620 programo aŭ al. exe, ĝi malfermiĝas fenestro kaj kuras. 551 00:27:17,620 --> 00:27:21,920 Tajpi. / Saluton estas ĝuste kiel duobla klakante programon por ruli ĝin, sed 552 00:27:21,920 --> 00:27:23,280 uzante mia klavaro. 553 00:27:23,280 --> 00:27:25,410 >> Enter, saluton mondo. 554 00:27:25,410 --> 00:27:26,150 Kaj tio estas ĝi. 555 00:27:26,150 --> 00:27:29,150 Do ni turmentus tiu sola, por tiel ne sentas tro kiel greko. 556 00:27:29,150 --> 00:27:31,370 >> Do. / Signifas kion? 557 00:27:31,370 --> 00:27:34,120 Ĉiu kiu estas iam kapturna klavaro medio kiel tiu, kio estas skalara 558 00:27:34,120 --> 00:27:36,690 raportante al? 559 00:27:36,690 --> 00:27:37,800 La nuna dosierujo. 560 00:27:37,800 --> 00:27:41,320 >> Do la nuna dosierujo estas nur sinonimo por dosierujo. 561 00:27:41,320 --> 00:27:46,230 Tiel dirante dot oblikvo, mi diras, serĉi programo nomata saluton en la 562 00:27:46,230 --> 00:27:47,250 aktuala dosierujo - 563 00:27:47,250 --> 00:27:48,540 en la aktuala dosierujo. 564 00:27:48,540 --> 00:27:50,480 Alivorte, mia Dropbox dosierujo. 565 00:27:50,480 --> 00:27:54,220 Kaj tio estas kial batoj Entajpu poste vere kuras tiu programo. 566 00:27:54,220 --> 00:27:58,790 >> Se mi nun tipo LS, rimarki ke mi vidas ĉio en mia Dropbox dosierujo. 567 00:27:58,790 --> 00:28:02,000 Ricevi Started.pdf, kiu Dropbox donas al vi libera, miaj fotoj 568 00:28:02,000 --> 00:28:05,450 katalogo, publika dosierujo, Ne konservitaj Dokumento 1 kiujn mi faris por eraro estas 569 00:28:05,450 --> 00:28:09,730 antaŭ momento, foo.c, kiujn mi faris antaŭe hodiaŭ, kaj poste du linioj - 570 00:28:09,730 --> 00:28:12,090 hello.c kaj saluton. 571 00:28:12,090 --> 00:28:17,280 >> Hello.c estas la programo mi skribis kun gedit, kaj kio estas saluton en verdo? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 La saluton en verdo estas la plenumebla. 574 00:28:22,940 --> 00:28:27,020 En aliaj vortoj, kiam mi kuris ĉi komando antaŭ momento - lasu min ruliĝi 575 00:28:27,020 --> 00:28:28,040 reen al tempo - 576 00:28:28,040 --> 00:28:32,400 kiam mi kuris fari saluton, jen la meza ŝtupo tie. 577 00:28:32,400 --> 00:28:34,410 Kaj prenis hello.c kiel eniro - 578 00:28:34,410 --> 00:28:39,910 AKA fontkodo - kaj produktis dosiero nomata saluton kiel eliro, kiu 579 00:28:39,910 --> 00:28:42,510 enhavas ĉiujn de tiuj nuloj kaj. 580 00:28:42,510 --> 00:28:47,640 Kaj tial, en la fino, mi povos fakte kuri ordonon. / saluton. 581 00:28:47,640 --> 00:28:53,310 Pro Intel Inside, mia mastruma sistemo, Linukso, malfermas nulojn 582 00:28:53,310 --> 00:28:55,820 kaj tiuj, nutras ilin en la cerbon de mia komputilo - 583 00:28:55,820 --> 00:28:56,580 la CPU - 584 00:28:56,580 --> 00:29:00,460 kaj tiu CPU scias, ho, tie estas ŝablono de nuloj kaj kiu diras 585 00:29:00,460 --> 00:29:02,800 presi la sekva en la ekrano. 586 00:29:02,800 --> 00:29:04,450 >> Kio estas la jena afero? 587 00:29:04,450 --> 00:29:07,650 Citi unquote, "saluton mondo." 588 00:29:07,650 --> 00:29:12,100 >> Bone, do rapida resumo de kelkaj tiujn ordonojn, por ke ni povas komenci 589 00:29:12,100 --> 00:29:13,350 portante ilin por sentado. 590 00:29:13,350 --> 00:29:15,550 Lasu min salti antaŭeniris kie ni lasis. 591 00:29:15,550 --> 00:29:22,230 Kaj vi memoras ke ni havis KD en nia malantaŭa fini antaŭ momento. 592 00:29:22,230 --> 00:29:24,880 Tio estas, mi kuraĝas diri, ĉar hodiaŭa celoj - 593 00:29:24,880 --> 00:29:29,010 eble tiu semajno - la sola komandoj ni eble bezonas por tajpi en la komando 594 00:29:29,010 --> 00:29:30,580 instigas krom fari. 595 00:29:30,580 --> 00:29:34,510 >> Do KD staris por kio? 596 00:29:34,510 --> 00:29:35,180 Ŝanĝi dosierujo. 597 00:29:35,180 --> 00:29:38,010 Estas nur la ekvivalento de duobla klaki sur dosierujo. 598 00:29:38,010 --> 00:29:41,320 Kaj kiel flanken, se vi ricevas perdis iam ene de via 599 00:29:41,320 --> 00:29:43,430 aparato, tia ke Dropbox - 600 00:29:43,430 --> 00:29:45,420 Mi volas reiri al mia jharvard directory - 601 00:29:45,420 --> 00:29:50,490 kiam en dubo, KD, eniri, sen alia vortojn, kaj tio nur zips vin 602 00:29:50,490 --> 00:29:53,110 al kie vi komencis, kiu Estas belan ŝparvojo. 603 00:29:53,110 --> 00:29:54,840 >> Bone, do nun aliaj komandoj. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 Mi tajpis, ke antaŭ momento. 606 00:29:56,840 --> 00:29:59,500 Kion vi pensas LS signifas? 607 00:29:59,500 --> 00:30:00,470 >> Do, lerta, ĉu ne? 608 00:30:00,470 --> 00:30:03,300 Back en la tago, kiam homoj venis kun tiuj ordonoj, ili 609 00:30:03,300 --> 00:30:07,180 estis klopodante esti efika, kaj sufiĉe tajpi el L-mi-S-T eniras, ili 610 00:30:07,180 --> 00:30:08,470 decidis LS. 611 00:30:08,470 --> 00:30:09,080 Tio estas bone. 612 00:30:09,080 --> 00:30:10,420 Ĝi sonas sufiĉe kiel listo. 613 00:30:10,420 --> 00:30:13,870 Ni simple tipo LS eniros, kaj ke listigas la dosierojn aŭ dosierujojn en mia 614 00:30:13,870 --> 00:30:15,000 aktuala dosierujo. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, vi probable povas diveni. 616 00:30:17,530 --> 00:30:18,440 Faru dosierujo. 617 00:30:18,440 --> 00:30:22,010 Do vi ne iras al iu dosiero kaj menuo elekti novan dosierujon en tiu medio. 618 00:30:22,010 --> 00:30:27,410 Pli ĝuste, vi tajpu la komandon mkdir spaco kaj tiam la nomo de la dosierujo 619 00:30:27,410 --> 00:30:29,850 ke vi volas krei, kaj tio estos farita. 620 00:30:29,850 --> 00:30:32,380 >> rm, vi probable povas diveni. 621 00:30:32,380 --> 00:30:33,480 Forigi aŭ forigi. 622 00:30:33,480 --> 00:30:36,740 Do se vi volas forigi dosieron, vi vidi en la problemo aro kiel vi 623 00:30:36,740 --> 00:30:37,240 povas fari ĉi tion. 624 00:30:37,240 --> 00:30:39,510 Kaj RMDIR, forigu dosierujo. 625 00:30:39,510 --> 00:30:42,320 >> Do, denove, mi emas flugi tra iu de tiuj detaloj, unu, ĉar 626 00:30:42,320 --> 00:30:46,010 ili ne estas ĉiuj kiuj multe amuze pasigi tiam, sed du, ni provizos vin en 627 00:30:46,010 --> 00:30:48,720 multe pli detale en iu el la Kompreneble la problemo aroj, aparte 628 00:30:48,720 --> 00:30:52,370 la normo eldonoj, neniun el la ŝtupoj ke vi eble bezonas tajpi tiel 629 00:30:52,370 --> 00:30:54,830 ke vi ricevas pli kaj pli comfy kun tio. 630 00:30:54,830 --> 00:30:57,430 >> Sed nun permesu al mi turmentus aparte unu alia afero. 631 00:30:57,430 --> 00:31:02,580 Kiam ni tajpis fari saluton antaŭ momento, ni vidis kamufla sekvenco de ordonoj. 632 00:31:02,580 --> 00:31:04,805 Ni vidis, denove, fari saluton. 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 Bone, ni faru tion. 635 00:31:08,520 --> 00:31:11,840 Mi volis fari eraron, sed [Inaudibles] nun agnoskas mi volis 636 00:31:11,840 --> 00:31:14,400 kaj agu intence. 637 00:31:14,400 --> 00:31:15,810 >> Kion mi faras maljustecon ĝuste nun? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 Jes, do mi ne estas en la Dropbox dosierujo, ĉar antaŭ momento mi 640 00:31:21,060 --> 00:31:22,720 tajpitaj KD kaj ĝuste batis eniri. 641 00:31:22,720 --> 00:31:25,480 Tio zomita min al kie mi komencis, kio ne estas kie mia dosieron 642 00:31:25,480 --> 00:31:31,720 estas, do mi vere bezonas fari KD Dropbox eniri, kaj nun mi povas fari rm saluton 643 00:31:31,720 --> 00:31:34,060 eniri, forigu regula dosiero saluton. 644 00:31:34,060 --> 00:31:35,200 Mi ne scias kial estas tiel kamufla. 645 00:31:35,200 --> 00:31:37,600 Tio simple signifas ĉu vi certas vi volas forigi saluton? 646 00:31:37,600 --> 00:31:41,510 Vi povas tajpi y por jes, eniri, kaj nun ĝi estas for. 647 00:31:41,510 --> 00:31:46,010 >> Kaj nun se mi tajpas fari saluton denove, ĝi estas tuj rekrei mia celkodo, 648 00:31:46,010 --> 00:31:47,460 amuzi tiujn nuloj kaj. 649 00:31:47,460 --> 00:31:51,070 Sed kio estas la interkonsento kun tiun tre longe ordonas? 650 00:31:51,070 --> 00:31:53,960 Nu, ni turmentus tiu aparte antaŭ longe, sed fari - 651 00:31:53,960 --> 00:31:55,500 Mi rakontis al iom de blanka kuŝas antaŭe - 652 00:31:55,500 --> 00:31:56,880 ne estas tradukilo. 653 00:31:56,880 --> 00:32:00,350 Make estas programo kiu aŭtomate figuroj, kiel eblas ekzekuti 654 00:32:00,350 --> 00:32:02,060 tradukilo por vi. 655 00:32:02,060 --> 00:32:07,490 >> Do la ordono, ke vi vere devus esti kurante por konverti hello.c 656 00:32:07,490 --> 00:32:11,240 en saluton efektive aspektas iom pli kiel ĉi tio. 657 00:32:11,240 --> 00:32:15,900 Kaj Dio gardu ni devas reale memori iam tajpi ke tutaj 658 00:32:15,900 --> 00:32:17,280 vico de ordonoj eksteren. 659 00:32:17,280 --> 00:32:21,360 La celo de fari en la vivo estas memoru, ke grado de komplekseco por 660 00:32:21,360 --> 00:32:24,470 ni kaj aŭtomatigi kion farus alie esti tre teda paŝoj. 661 00:32:24,470 --> 00:32:26,040 >> Sed mi povas proksimigi tio. 662 00:32:26,040 --> 00:32:29,960 Do por tiu malgranda cheat folio ĉi tie, mi povas proksimigi kion tiu komando estas 663 00:32:29,960 --> 00:32:33,960 faras per simple tajpante clang, kiu estas la nomo de la tradukilo ni estos 664 00:32:33,960 --> 00:32:35,170 uzante ĉi semestro. 665 00:32:35,170 --> 00:32:38,500 Se iu el vi iam ajn farita IOS disvolviĝo por la iPhone aŭ iPad, 666 00:32:38,500 --> 00:32:42,930 Clang estas la programo vi uzis ene Xcode fari vian apps. 667 00:32:42,930 --> 00:32:46,360 Clang, tamen, estas nur alia programo kies nomon oni povas tajpi la komandon 668 00:32:46,360 --> 00:32:49,210 instigas, kaj por enkonduki ĉi nun, Mi povas prezenti iun kiu estas 669 00:32:49,210 --> 00:32:52,410 iom reprezenta de komandoj venonta. 670 00:32:52,410 --> 00:32:53,910 Do lasu min fari tion permane. 671 00:32:53,910 --> 00:32:59,240 >> Do rm saluton, kaj nun rimarkas en kazo Mi, same kiel prudento kontroli - 672 00:32:59,240 --> 00:33:03,180 . / Saluton, kion vi opinias min devus vidi se mi faras tion? 673 00:33:03,180 --> 00:33:04,060 Ia eraro. 674 00:33:04,060 --> 00:33:05,110 Neniu tia dosierujo. 675 00:33:05,110 --> 00:33:06,740 Tiel ke oni fakte sufiĉe rekta. 676 00:33:06,740 --> 00:33:08,110 >> Do nun lasu min liberigi la ekrano. 677 00:33:08,110 --> 00:33:11,370 Kontrolo S apenaŭ tuŝetas la ekrano forigi iuj distroj. 678 00:33:11,370 --> 00:33:17,160 Kaj nun mi tuj permane tipo clang-o saluton hello.c. 679 00:33:17,160 --> 00:33:18,890 Do kio estas tio celas fari? 680 00:33:18,890 --> 00:33:23,820 Ĝuste la samon kiuj faris por ni, sed mi ne forĵetu kelkaj el 681 00:33:23,820 --> 00:33:25,430 la superfluaj vortoj. 682 00:33:25,430 --> 00:33:28,570 >> Clang estas la programo kiu tuj preni. c dosiero enigo kaj produkti 683 00:33:28,570 --> 00:33:30,110 nuloj kaj kiel eliro. 684 00:33:30,110 --> 00:33:35,120 Sed-o plu nomos ŝaltilo aŭ flagon. 685 00:33:35,120 --> 00:33:39,080 Ĉi tio estas nur techie slango por diri ĉi tiu estas vorto vi tajpas en prompto 686 00:33:39,080 --> 00:33:42,590 ke iel influas la konduton de la programo, ke vi uzas. 687 00:33:42,590 --> 00:33:47,180 Do ĉu iu volas diveni kio-o transdonas? 688 00:33:47,180 --> 00:33:47,840 >> Eligo. 689 00:33:47,840 --> 00:33:52,670 Estas nur ke iu decidis-o signifas eligo dosiero nomata saluton kaj preni kiel 690 00:33:52,670 --> 00:33:56,440 enigo ajn estas la lasta vorto en la prompt estas, hello.c, tiel ke se mi batas 691 00:33:56,440 --> 00:33:58,930 Eniru nun, nenio ŝajnas okazi. 692 00:33:58,930 --> 00:34:02,010 Kaj strange sufiĉe, en ĉi tiu mondo de programado, se nenio okazas, 693 00:34:02,010 --> 00:34:03,980 tio estas probable bona afero ĉar ne estas eraro 694 00:34:03,980 --> 00:34:05,350 mesaĝo sur la ekrano. 695 00:34:05,350 --> 00:34:07,190 Saluton, Enter. 696 00:34:07,190 --> 00:34:08,670 Mia programo nun kuras. 697 00:34:08,670 --> 00:34:14,517 >> Sed mi povas fari stulta iom aĵojn kiel ĉi. clang-o, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 eniri, kaj nun mi havas identan programo nomata hihihi. 699 00:34:18,590 --> 00:34:20,739 Ĝi kondutas la sama, sed la nomo estas malsama. 700 00:34:20,739 --> 00:34:23,360 >> Do ĉi tiu estas nur diri ke se vi volas influi la konduton de 701 00:34:23,360 --> 00:34:25,909 programo, ni tuj ĉiufoje vidi tion nomis 702 00:34:25,909 --> 00:34:27,739 komandlinio argumentoj. 703 00:34:27,739 --> 00:34:28,639 Tiu estas linio. 704 00:34:28,639 --> 00:34:29,580 Vi tajpas komandojn. 705 00:34:29,580 --> 00:34:30,969 Ergo, komandlinio. 706 00:34:30,969 --> 00:34:35,690 Kaj komandlinio argumentoj estas nur vortoj aŭ malgrandaj pecoj de sintakso ke 707 00:34:35,690 --> 00:34:40,840 iel influi la konduton de programoj kiuj ni kuras. 708 00:34:40,840 --> 00:34:44,639 >> Bone, ke estas eble la plej enuiga programo ni povas skribi kaj vidu. 709 00:34:44,639 --> 00:34:46,670 Ni nun faru ion pli interesa. 710 00:34:46,670 --> 00:34:49,420 Lasu min antaŭeniri kaj krei novan dosieron. 711 00:34:49,420 --> 00:34:53,139 Mi tuj iros antaŭen kaj savi tion en John Harvard hejma dosierujo kiel, 712 00:34:53,139 --> 00:34:58,670 ni nomas ĝin custom.c, esti iom kutimo programo. 713 00:34:58,670 --> 00:35:01,920 Mi tuj zomi ĉe mia supro de la langetoj tie kaj komenci denove. 714 00:35:01,920 --> 00:35:03,730 >> Inkluzivi normo stdio.h. 715 00:35:03,730 --> 00:35:04,990 Pli sur kiuj en momento. 716 00:35:04,990 --> 00:35:08,240 int main (void), pli en kiu tre frue. 717 00:35:08,240 --> 00:35:09,490 printf ("Saluton, Davido"). 718 00:35:09,490 --> 00:35:12,810 719 00:35:12,810 --> 00:35:14,560 Multe pli interesa, ĉu ne? 720 00:35:14,560 --> 00:35:20,690 >> Do nun se - ne pro mia nomo, nur ĉar ĝi estas malsamaj - 721 00:35:20,690 --> 00:35:24,950 fari kutimo eniri. 722 00:35:24,950 --> 00:35:26,780 Kutimo, saluton, David. 723 00:35:26,780 --> 00:35:28,020 Sed eĉ tio, ankaŭ, estas blanka mensogo. 724 00:35:28,020 --> 00:35:30,850 Ĉi tiu programo povus tiel nomi david.c, ĉar ĝi ne estas kutimo 725 00:35:30,850 --> 00:35:31,880 konduto je ĉiu. 726 00:35:31,880 --> 00:35:35,080 Vere, mi volas programo kiu demandas la uzanto por sia nomo. 727 00:35:35,080 --> 00:35:36,320 >> Do kiel mi faru tion? 728 00:35:36,320 --> 00:35:38,520 Nu, lasu min rulumi supren super tie. 729 00:35:38,520 --> 00:35:42,960 Kaj antaŭ mi uzas deklaron en Nulo, antaŭ ol mi uzas printf, 730 00:35:42,960 --> 00:35:47,600 alie sciata kiel funkcio, lasu min unue demandi la uzanto por iu enigo. 731 00:35:47,600 --> 00:35:49,690 >> Do fari tion, mi bezonas fari kelkajn aferojn. 732 00:35:49,690 --> 00:35:53,360 Unu, mi bezonas lokon por stoki la uzanto enoficigi post kiam mi petis lin aŭ 733 00:35:53,360 --> 00:35:54,510 sxi por tio. 734 00:35:54,510 --> 00:36:00,120 Kio konstruo mi bezonas uzi probable stoki valoro tiel? 735 00:36:00,120 --> 00:36:00,910 Al variablo. 736 00:36:00,910 --> 00:36:05,130 >> Do kontraste Scratch, kie vi ĵus ricevas bela puzlo peco, tie, ni devas 737 00:36:05,130 --> 00:36:07,620 uzi, evidente, vortoj esprimi nin. 738 00:36:07,620 --> 00:36:11,510 Kaj nun, iam ajn vi volas vorton aŭ frazon, en programado, 739 00:36:11,510 --> 00:36:13,090 Ni tuj nomas ŝnureto. 740 00:36:13,090 --> 00:36:14,990 Do cxeno estas vorto aŭ frazo. 741 00:36:14,990 --> 00:36:18,170 Ĝi estas vico de nulo aŭ pli karakterojn, pli formale. 742 00:36:18,170 --> 00:36:22,520 >> Kaj se vi volas tian variablon al ekzistas, vi devas diri al mi unu. 743 00:36:22,520 --> 00:36:27,490 Kaj la vojo, per kiu vi faras tio estas diru string s punktokomo, kie s povas esti 744 00:36:27,490 --> 00:36:28,740 kion ajn vi volas. 745 00:36:28,740 --> 00:36:30,510 Fakte, s estas iom underwhelming. 746 00:36:30,510 --> 00:36:33,250 Lasu min antaŭeniri kaj pli klare nomas ĝin nomo. 747 00:36:33,250 --> 00:36:36,570 Donu al mi ŝnuro nomita nomo. 748 00:36:36,570 --> 00:36:40,180 >> Sed nun, kio estas la persono nomo implicite? 749 00:36:40,180 --> 00:36:42,930 Nu, se la homa ne tajpas ion en, evidente, ne okazas 750 00:36:42,930 --> 00:36:44,310 esti neniu valoro en nomo. 751 00:36:44,310 --> 00:36:48,120 Kaj rezultas en C, se vi ne donas variablo valoron, ĝi tuj 752 00:36:48,120 --> 00:36:49,180 havi rubo valoro. 753 00:36:49,180 --> 00:36:51,650 Ĝi havu iom hazarda nuloj kaj karaj, do vi nur tuj vidos 754 00:36:51,650 --> 00:36:54,570 rubo, vere, sur la ekrano se vi provas vidigi ĝin. 755 00:36:54,570 --> 00:36:59,800 >> Sed mi povas ripari tiun dirante, vere, vendejo ene de nomo de la 756 00:36:59,800 --> 00:37:01,400 post valoro. 757 00:37:01,400 --> 00:37:09,240 La vojo vi stoki valorojn en variabloj estas se vi havas variablo nomon sur la 758 00:37:09,240 --> 00:37:13,370 lasis, vi devas iel meti kion vi volas konservi en ĝi en la dekstra, kaj 759 00:37:13,370 --> 00:37:17,650 la sintakson por ke tuj esti kiel sekvas. 760 00:37:17,650 --> 00:37:22,120 >> Ni ne vidis ĉi tion antaŭe, sed prenu sur fido dum momento, ke 761 00:37:22,120 --> 00:37:26,270 Ekzistas alia aserto en la mondo ke mi tuj denove nomas funkcion, 762 00:37:26,270 --> 00:37:28,310 kaj ĉi tiu funkcio estas vokis akiri kordo. 763 00:37:28,310 --> 00:37:29,670 Kaj ĝi faras laŭvorte tio. 764 00:37:29,670 --> 00:37:34,680 Ĝi iel ricevas vico de signoj de la homaj kaj poste 765 00:37:34,680 --> 00:37:36,380 faras ion per ĝi. 766 00:37:36,380 --> 00:37:38,410 >> Kaj ĉi tio aspektas kiel kamufla sintakso. 767 00:37:38,410 --> 00:37:40,880 Kutime, se vi uzas egala signoj - vi estas en la mondo de, ekzemple, 768 00:37:40,880 --> 00:37:43,740 algebro, kaj vi estas vere dirante x egalas 1. 769 00:37:43,740 --> 00:37:46,570 Ĉi tie ni ne diras ke nomo egalas atingi ŝnuron. 770 00:37:46,570 --> 00:37:51,270 Ni dirante vendejo en nomo kio estas ĉe la dekstra flanko 771 00:37:51,270 --> 00:37:52,400 de tiu signo de egaleco. 772 00:37:52,400 --> 00:37:55,030 La egala signo reprezentas la atribuo operatoro. 773 00:37:55,030 --> 00:37:58,240 Ĝi estas la sintakso kiu diras metis kio estas sur la dekstra flanko ene kio estas 774 00:37:58,240 --> 00:37:59,090 maldekstre. 775 00:37:59,090 --> 00:38:03,040 Do get kordo estas nova peco de funkciojn kiuj ne nur faras 776 00:38:03,040 --> 00:38:03,670 io - 777 00:38:03,670 --> 00:38:05,000 demandas la uzanto por ĉenon - 778 00:38:05,000 --> 00:38:08,500 ĝi ankaŭ revenas, por tiel diri. 779 00:38:08,500 --> 00:38:10,690 >> Do ni vidu kio okazas okazi tie. 780 00:38:10,690 --> 00:38:14,300 Mi tuj iros antaŭen nun kaj malzomi, kaj mi tuj alvenos kelkaj 781 00:38:14,300 --> 00:38:15,780 erarojn en mia prompto. 782 00:38:15,780 --> 00:38:18,750 Mi tuj tajpi fari kutimon, eniru. 783 00:38:18,750 --> 00:38:19,230 Wow. 784 00:38:19,230 --> 00:38:20,500 Tuta aro da eraroj. 785 00:38:20,500 --> 00:38:23,120 >> Bone, do ĉi tiu estas speco de blindiga, verŝajne al la komenco, sed 786 00:38:23,120 --> 00:38:27,220 rezultas ĉiuj tiuj tre Certe kamufla erarmesaĝoj estas 787 00:38:27,220 --> 00:38:30,700 raportante al iuj ŝablonoj kiuj ni komencas vidi la tempo. 788 00:38:30,700 --> 00:38:32,600 Do ĉi tiu mi desxiri for, ĉar ĝi estas unua. 789 00:38:32,600 --> 00:38:35,700 Uzo de nedeklarita ensalutilo kordo. 790 00:38:35,700 --> 00:38:39,400 >> Tio nur signifas ke gedit aux Clang, en ĉi tiu kazo, ne scias 791 00:38:39,400 --> 00:38:40,780 kion mi celas per ŝnuro. 792 00:38:40,780 --> 00:38:43,880 Kaj tio estas ĉar en C, la programado lingvo, ekzistas efektive 793 00:38:43,880 --> 00:38:47,750 neniu variablo de tipo kordo. 794 00:38:47,750 --> 00:38:49,810 C ne scias, ke kordoj ekzisti. 795 00:38:49,810 --> 00:38:52,260 >> Sed ni, CS50 bastonon, faru. 796 00:38:52,260 --> 00:38:57,080 Kaj tiel anticipe de klaso, ni kreis dosieron nomata CS50.h. 797 00:38:57,080 --> 00:39:00,060 Kaj ene de ĉi tiu dosiero - kaj pli en la sintakso veni - 798 00:39:00,060 --> 00:39:03,730 ene de ĉi tiu dosiero estas difino de kio mi nur difinis 799 00:39:03,730 --> 00:39:05,340 parole kiel linio. 800 00:39:05,340 --> 00:39:09,100 Do simple finante ĉi tiu linio de kodo en mia programo, mi jam 801 00:39:09,100 --> 00:39:14,620 instruado gedit kaj faru kaj Clang ĉiuj laŭvice kion cxeno estas. 802 00:39:14,620 --> 00:39:15,475 >> Mi ne scias, kiel ankoraŭ. 803 00:39:15,475 --> 00:39:17,110 Post kelkaj semajnoj, ni instruos vin senŝeligi dorso kiu tavolo. 804 00:39:17,110 --> 00:39:20,340 Sed nuntempe, scias ke tiu instruas la tradukilo kio 805 00:39:20,340 --> 00:39:22,020 kordo reale estas. 806 00:39:22,020 --> 00:39:24,230 >> Do nun lasu min klarigi mian fina stacio cxi tie. 807 00:39:24,230 --> 00:39:28,530 Permesu al mi re-kuri fari kutimo, kaj mi solvis ĉiujn el tiuj problemoj. 808 00:39:28,530 --> 00:39:30,210 Do tiu, tro, tuj esti _recurring_ temo. 809 00:39:30,210 --> 00:39:34,190 Mi nur skribis 9 linio programo, kaj tamen mi havis 18 linioj de eraroj. 810 00:39:34,190 --> 00:39:35,650 Tio estas speco de intimidándolos. 811 00:39:35,650 --> 00:39:39,260 Sed komprenu ke ili ofte akvofalo tiaj ke unu malgranda eraro pafas 812 00:39:39,260 --> 00:39:43,070 la konfuzon por la tradukilo, kaj ĝi aspektas multe pli malbone ol ĝi estas. 813 00:39:43,070 --> 00:39:47,460 >> Do nun ruza observanto scios ke mi ricevas ĉenon de la 814 00:39:47,460 --> 00:39:51,460 uzanto, sed mi ne vere fari kion kun ĝi? 815 00:39:51,460 --> 00:39:53,570 Mi ne vere faras ion per ĝi. 816 00:39:53,570 --> 00:40:01,240 Do, se mi efektive kuri kutimo denove, ĝi tuj nur sidas tie. 817 00:40:01,240 --> 00:40:03,380 Kio okazas? 818 00:40:03,380 --> 00:40:07,990 Mia programo ŝajnas esti algluis kio linio, vi dirus? 819 00:40:07,990 --> 00:40:09,860 >> Do ĝi estas fakte metitaj en linion 7. 820 00:40:09,860 --> 00:40:13,600 Kaj ni ne vidis tiun antaŭe, sed en linio 7, estas, denove, ĉi 821 00:40:13,600 --> 00:40:14,650 deklaro, atingi ŝnuron. 822 00:40:14,650 --> 00:40:15,930 Kaj ĝi faras kion ĝi diras. 823 00:40:15,930 --> 00:40:18,480 Oni atendas nun por la homa preni la kordo. 824 00:40:18,480 --> 00:40:22,230 Tio estas tute unintuitive al mi, la homo, ĉar mi ne rakontis 825 00:40:22,230 --> 00:40:23,040 kion fari. 826 00:40:23,040 --> 00:40:27,320 >> Sed permesu al mi iri antaŭen je kredo kaj lasu min ŝajnigi esti Rob. 827 00:40:27,320 --> 00:40:28,500 Eniru. 828 00:40:28,500 --> 00:40:30,930 Tio ne estas la programo mi intencis. 829 00:40:30,930 --> 00:40:32,350 Do ni havas nian unuan blogo. 830 00:40:32,350 --> 00:40:34,390 >> Sed ni provu rezoni tra kial tiu estas la kazo. 831 00:40:34,390 --> 00:40:36,940 Unue, lasu min korekti tiun unuan problemon. 832 00:40:36,940 --> 00:40:44,690 Mi aldonu linion tie kiu diras printf, kio estas via nomo? 833 00:40:44,690 --> 00:40:47,700 Ni nur faru proksime citaĵo, fermi parentezo. 834 00:40:47,700 --> 00:40:51,350 >> Nun mi denove ruli la programon. 835 00:40:51,350 --> 00:40:51,760 Problemo. 836 00:40:51,760 --> 00:40:54,690 Mi ne vidas tion. 837 00:40:54,690 --> 00:40:54,930 >> Ĝuste. 838 00:40:54,930 --> 00:40:55,990 Mi ne recompilar ĝin. 839 00:40:55,990 --> 00:40:59,800 Do en lingvo kiel C, ĉar vi ŝanĝi la fontkodon ne signifas 840 00:40:59,800 --> 00:41:03,170 ke vi ŝanĝis vian celon kodo por generi novan kodon kontestas, 841 00:41:03,170 --> 00:41:04,330 nova nuloj kaj. 842 00:41:04,330 --> 00:41:05,590 Vi devas recompilar. 843 00:41:05,590 --> 00:41:10,300 Se mi nun re-kuri kutimo, eniri, ah, iom pli klara. 844 00:41:10,300 --> 00:41:11,890 Mia nomo estas Rob. 845 00:41:11,890 --> 00:41:12,760 Ankoraŭ kalesxo. 846 00:41:12,760 --> 00:41:14,170 >> Kaj mi volas argumenti ekzistas paro erarojn nun. 847 00:41:14,170 --> 00:41:15,450 Ĉi nur aspektas malbelega, sincere. 848 00:41:15,450 --> 00:41:18,980 Kiel, minimume, mi devus havi spaco tie, aŭ movi la 849 00:41:18,980 --> 00:41:20,330 kursoron al la nova linio. 850 00:41:20,330 --> 00:41:21,370 >> Kaj vere, novan linion. 851 00:41:21,370 --> 00:41:24,660 Tio estas speco de klavo frazo tie ni vidis sed ne difinita. 852 00:41:24,660 --> 00:41:28,560 La maniero en kiu vi ricevas teksto movi sur la sekva linio, 853 00:41:28,560 --> 00:41:29,480 vi ne faras tion. 854 00:41:29,480 --> 00:41:31,070 Ĉi tio estas malklara al la komputilo. 855 00:41:31,070 --> 00:41:33,830 Ĉi aspektas kiel du apartaj linioj de kodo, nek el kiuj 856 00:41:33,830 --> 00:41:35,010 estas perfekte ĝustaj. 857 00:41:35,010 --> 00:41:39,380 Vi anstataŭ esti pli eksplicita kaj diri, donu al mi novan linion, kiun ni 858 00:41:39,380 --> 00:41:41,810 reprezenti en c kun backslash n. 859 00:41:41,810 --> 00:41:43,230 >> Do tie estas kelkaj tiaj karakteroj. 860 00:41:43,230 --> 00:41:45,080 Backslash n fiksos tiu estetiko. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 Lasu min recompilar mia programo. 863 00:41:50,870 --> 00:41:52,300 Permesu al mi re-kuros mia programo. 864 00:41:52,300 --> 00:41:53,520 >> Ĉi aspektas pli bone. 865 00:41:53,520 --> 00:41:56,960 Ĝi estas ankoraŭ sufiĉe primitiva, sed estas ankaŭ ankoraŭ kalesxo. 866 00:41:56,960 --> 00:41:58,090 Do ekzistas unu - 867 00:41:58,090 --> 00:42:01,680 eĉ se vi neniam planis antaŭ, vi versxajne povas preni konjekton 868 00:42:01,680 --> 00:42:04,960 ĉe kial tiu programo estas ankoraŭ misa. 869 00:42:04,960 --> 00:42:08,540 Kion mi devas fari tion Mi ne faris ankoraŭ? 870 00:42:08,540 --> 00:42:10,450 >> Do mi devas efektive plenumi io kun nomo. 871 00:42:10,450 --> 00:42:14,190 Same kiel en nulo, vi povus reale asigni variablo kiel n aŭ 872 00:42:14,190 --> 00:42:16,150 kontraŭstari kiel ni faris lastan semajno - valoro. 873 00:42:16,150 --> 00:42:18,930 Sed se vi ne faru ion kun ĝi, nenio okazos. 874 00:42:18,930 --> 00:42:20,210 >> Bone, do ni ripari. 875 00:42:20,210 --> 00:42:23,670 Permesu al mi tajpas mian variablo tie, kaj mi iros tien. 876 00:42:23,670 --> 00:42:29,120 Lasu min recompilar, lasu min ripeto, Rob. 877 00:42:29,120 --> 00:42:30,540 Nun mi estas nur idioto, ĉu ne? 878 00:42:30,540 --> 00:42:33,280 >> Do tiu estas ne vere atingi min plu. 879 00:42:33,280 --> 00:42:35,850 Sed tio estis tute natura instinkto, mi argumentas, ĉu ne? 880 00:42:35,850 --> 00:42:39,340 Se la variablo estas nomita nomo, kaj mi volas iri tien, kial ne mi nur 881 00:42:39,340 --> 00:42:40,200 tajpu ĝin tie? 882 00:42:40,200 --> 00:42:42,210 >> Nu, kompreneble, ni havas distingi nun 883 00:42:42,210 --> 00:42:44,070 inter kio estas kordo? 884 00:42:44,070 --> 00:42:47,060 Rimarku, ke citaĵo unquote ĉi tie, saluton nomo? 885 00:42:47,060 --> 00:42:48,960 Gxuste tio fakte mem estas ĉeno. 886 00:42:48,960 --> 00:42:49,820 Ĝi estas malmola kodita. 887 00:42:49,820 --> 00:42:50,690 Ĝi estas ne de la homo. 888 00:42:50,690 --> 00:42:54,020 Ĝi estas de mi, la originala programisto, sed ankoraŭ ĉenon. 889 00:42:54,020 --> 00:42:58,300 >> Do se vi laŭvorte skribi N-Al-M-Kaj ene de kordo, kio okazas al 890 00:42:58,300 --> 00:42:59,120 akiri presita? 891 00:42:59,120 --> 00:43:03,660 Nu, N-Al-M-E. Ni anstataŭ bezonas por diri al printf, ne presi 892 00:43:03,660 --> 00:43:04,870 el laŭvorte enoficigi. 893 00:43:04,870 --> 00:43:06,680 Elprinti la valoro de nomo. 894 00:43:06,680 --> 00:43:08,410 >> Kaj fari tion, ni faros la sekvajn. 895 00:43:08,410 --> 00:43:09,800 Kaj tio estas nur homa konvencio. 896 00:43:09,800 --> 00:43:14,990 Ni anstataŭ diri% s, kaj ke staras por linio. 897 00:43:14,990 --> 00:43:19,810 Kaj poste fine de miaj proksimaj citaĵoj, Mi tuj metos komon kaj 898 00:43:19,810 --> 00:43:23,790 pasi dua argumento en tiu deklaro. 899 00:43:23,790 --> 00:43:25,970 Mi tuj tajpi nomon. 900 00:43:25,970 --> 00:43:27,960 >> Do nun rimarkas ke ni havas iomete nova sintakso. 901 00:43:27,960 --> 00:43:32,320 Ni havas ankoraŭ du krampoj, kaj nun lasu min diri ke la aĵoj 902 00:43:32,320 --> 00:43:36,830 inter krampoj reprezentas argumentoj en funkcio - 903 00:43:36,830 --> 00:43:39,730 enigoj, kiuj estas iel tuj por influi lian konduton. 904 00:43:39,730 --> 00:43:43,010 Do per tiu logiko, kiom da argumentoj ne printf ŝajnas esti 905 00:43:43,010 --> 00:43:45,450 prenante en ĉi tiu momento? 906 00:43:45,450 --> 00:43:48,370 >> Do ŝajnas esti prenante du, kaj tio ja implicis 907 00:43:48,370 --> 00:43:49,570 per la komo ĉi tie. 908 00:43:49,570 --> 00:43:51,640 Do tiu estas unu argumento en inter citiloj. 909 00:43:51,640 --> 00:43:54,540 Kvankam ĝi havas komo en ĝi, ĉio estas en citiloj, kiu signifas 910 00:43:54,540 --> 00:43:56,230 ĝi estas longa ĉeno. 911 00:43:56,230 --> 00:43:58,280 Komo, nomo de la variablo. 912 00:43:58,280 --> 00:44:00,680 >> Do nun mi malzomi. 913 00:44:00,680 --> 00:44:02,240 Permesu al mi re-ruli ĝin. 914 00:44:02,240 --> 00:44:03,490 Rob. 915 00:44:03,490 --> 00:44:06,520 Damn it, kion mi faras malbone? 916 00:44:06,520 --> 00:44:07,920 >> Bone, do vi devas recompilar. 917 00:44:07,920 --> 00:44:11,030 Do denove, facila erarojn fari frue denove kaj denove. 918 00:44:11,030 --> 00:44:15,280 Do nun denove kuri kutimo, Rob, eniros, kaj voilà. 919 00:44:15,280 --> 00:44:17,110 Ni nun havas kutimon programo. 920 00:44:17,110 --> 00:44:21,660 >> Do mi nun havas programon kiu uzante kelkajn trajtojn 921 00:44:21,660 --> 00:44:22,520 ke estas interese observi. 922 00:44:22,520 --> 00:44:27,850 Unu, Mi uzas CS50.h, alie konata kiel la CS50 biblioteko. 923 00:44:27,850 --> 00:44:33,050 Kaj ene de la CS50 biblioteko estas funkcioj, ke aliaj homoj skribis - 924 00:44:33,050 --> 00:44:33,980 nome la bastonon - 925 00:44:33,980 --> 00:44:36,620 por vi uzi, kaj akiri linio estas unu el ili. 926 00:44:36,620 --> 00:44:41,310 >> Ene de linio 2 estas stdio.h, kaj kial estas ĉi tie? 927 00:44:41,310 --> 00:44:42,070 Prenu konjekton. 928 00:44:42,070 --> 00:44:46,200 Kio ekzistas ene de norma IO patro? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 Do printf, vi ne vidas ĝin ie alie en la ekrano. 931 00:44:49,600 --> 00:44:51,870 Ĝi devas veni kun la komputilo iel. 932 00:44:51,870 --> 00:44:54,870 Kie ĝi venas? 933 00:44:54,870 --> 00:44:57,660 Ĝi estas interne - ĝi estas deklarita, por tiel diri, interne de 934 00:44:57,660 --> 00:44:59,890 dosiero nomata stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> Nun, cxar cxi materialon, ni revenos por eventuale, ĉar ĝi estas iom 936 00:45:02,670 --> 00:45:03,930 distrante por nun. 937 00:45:03,930 --> 00:45:05,490 Tiu raportas al nia reveno tipo. 938 00:45:05,490 --> 00:45:07,660 Tiu raportas al argumento. 939 00:45:07,660 --> 00:45:10,230 Sed por hodiaŭ, ni enfokusigis nur tie sur tiuj linioj. 940 00:45:10,230 --> 00:45:13,280 >> Do string nomo, nur por recap, Kion tio do por mi? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 Do ĝi deklaris variablo de tipo kordo. 943 00:45:19,560 --> 00:45:22,630 Do ĝi estas signifis esti por vortoj, ne por nombroj. 944 00:45:22,630 --> 00:45:25,530 Ĝuste kiel flanken, se mi faris volas ĝin esti nombro, mi dirus 945 00:45:25,530 --> 00:45:26,560 iu kiel int. 946 00:45:26,560 --> 00:45:29,740 Se mi volis esti glitpunktaj valoro, iun kun dekuma punkto, 947 00:45:29,740 --> 00:45:30,600 Mi dirus flosas. 948 00:45:30,600 --> 00:45:32,640 Sed por hodiaŭ, mi ĵus diris kordo. 949 00:45:32,640 --> 00:45:35,940 >> Kaj Mi donos ĉi tiun variablon nomo de nomo, sed mi povis 950 00:45:35,940 --> 00:45:37,240 nomis ĝin nenion. 951 00:45:37,240 --> 00:45:39,340 Fakte, origine, mi nomis ĝin S. 952 00:45:39,340 --> 00:45:41,050 >> Ĉi tie estas nur alia aserto. 953 00:45:41,050 --> 00:45:44,170 Kiom da argumentoj estas ĉi deklaro prenante? 954 00:45:44,170 --> 00:45:47,890 Do ĝi estas simple preni unu, kaj ke estas simple estetika detalo de 955 00:45:47,890 --> 00:45:49,610 montri iun sur la ekrano al mi. 956 00:45:49,610 --> 00:45:54,750 Kio estas tiu linio 8 faranta en lego la terminoj? 957 00:45:54,750 --> 00:45:57,320 >> Ĝi estas prenanta valoron de la uzanto - nome, ŝnureto - 958 00:45:57,320 --> 00:45:58,770 kaj kio ĝi faras per ĝi? 959 00:45:58,770 --> 00:46:02,450 Ĝi estas esence cedi ŝin al la ulo sur la maldekstra flanko de la 960 00:46:02,450 --> 00:46:07,100 egala signo tiel ke en tiu kazo, la nomo variabloj povas fakte stoki ĝin. 961 00:46:07,100 --> 00:46:10,020 >> Kaj tiam printf estas alia Ekzemple de funkcio. 962 00:46:10,020 --> 00:46:11,870 Kaj ni diras nomi funkcio. 963 00:46:11,870 --> 00:46:13,870 Uzi funkcio estas nomi funkcio. 964 00:46:13,870 --> 00:46:15,640 Tiu afero ŝajne prenas du argumentojn. 965 00:46:15,640 --> 00:46:18,100 Ĉi tiu, komo, ĉi tiu. 966 00:46:18,100 --> 00:46:20,910 >> Ĉi tiu mem estas nur ĉeno kiu enhavas lokokupilo. 967 00:46:20,910 --> 00:46:23,860 % S per meti alian kordo tie. 968 00:46:23,860 --> 00:46:27,360 Kaj tiel metante nomon post la komo, tio enmeto 969 00:46:27,360 --> 00:46:29,420 ke afero por mi. 970 00:46:29,420 --> 00:46:31,300 >> Do mi povas fari aliajn aferojn ankoraŭ. 971 00:46:31,300 --> 00:46:36,820 Lasu min nun kaj faros iom de stulta programo, sed lasu min forigi tiun, 972 00:46:36,820 --> 00:46:38,880 kaj lasu min krei buklon. 973 00:46:38,880 --> 00:46:41,390 Dum vera. 974 00:46:41,390 --> 00:46:45,210 La simbolo vera estas evidente ĉiam tuj estos vera. 975 00:46:45,210 --> 00:46:49,830 Do kia buklo mi indukti per skribanta linion tiel? 976 00:46:49,830 --> 00:46:51,070 >> Do senfina ciklo, ĉu ne? 977 00:46:51,070 --> 00:46:52,090 Nur dum vera. 978 00:46:52,090 --> 00:46:56,210 Ne estas maniero mi povas ŝanĝi la vorton vera esti io alia, do ĉi tiu estas 979 00:46:56,210 --> 00:46:57,310 nur tuj kuri eterne. 980 00:46:57,310 --> 00:46:59,960 Do, se vi iam vere havis programon en via Mac aŭ PC kiu ŝajnas 981 00:46:59,960 --> 00:47:02,480 esti enfermita, aŭ ĝi estas faranta io kaj io, kaj vi nur 982 00:47:02,480 --> 00:47:05,500 ne povas atingi la afero quit krom se vi restartu vian komputilon aŭ elsxiros 983 00:47:05,500 --> 00:47:08,360 Taskoj Direktisto aŭ similaj, jen tia ekzemplo. 984 00:47:08,360 --> 00:47:14,340 >> Mi povas diri, "I am a buggy programo." Fermi citaĵo, fermi 985 00:47:14,340 --> 00:47:15,780 parentezo, punktokomo. 986 00:47:15,780 --> 00:47:17,010 Do denove, rimarki la ŝablonoj. 987 00:47:17,010 --> 00:47:21,440 Kvankam kelkaj el niaj sintakso estas nova, la ŝlosilvorto dum, la ŝlosilvorto vera, 988 00:47:21,440 --> 00:47:23,590 Rimarku ke mi havas la saman speco de frizita krampoj. 989 00:47:23,590 --> 00:47:25,890 Mi havas punktokomo kaj krampoj. 990 00:47:25,890 --> 00:47:28,000 >> Do nun ni iru antaŭen kaj kompili ĉi. 991 00:47:28,000 --> 00:47:29,630 Faru kutimo, kutimo. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 Do, je tiu punkto, vi ne bezonas restartu vian aparaton, ĉiuj rajtas? 994 00:47:36,660 --> 00:47:39,925 Do la facila leciono tie estas kun du fingroj, Kontrolo C, 995 00:47:39,925 --> 00:47:41,230 ni quit tiu programo. 996 00:47:41,230 --> 00:47:45,430 Sed vi povas vidi ĝuste kial tiu afero Estis ripetante denove kaj denove. 997 00:47:45,430 --> 00:47:48,080 >> Mi povas fari iu iom pli kompleksa kiel teaser. 998 00:47:48,080 --> 00:47:49,600 Mi tuj iros antaŭen kaj diri la sekvajn. 999 00:47:49,600 --> 00:47:55,210 Por int, kiu estas entjero, i estas nur ĝenerala nomo ni donos al pli 1000 00:47:55,210 --> 00:47:59,500 variabloj en programado kiam vi estas nur rakonti, egalas 0. 1001 00:47:59,500 --> 00:48:08,640 Lasu min kaj diru dum i estas, diru, malpli ol 100, i plus plus. 1002 00:48:08,640 --> 00:48:10,240 Ni apogi al ĉi tiu sintakso, sed tiu nur signifas 1003 00:48:10,240 --> 00:48:12,270 pliigo i denove kaj denove. 1004 00:48:12,270 --> 00:48:14,200 >> Kaj kion mi volas fari tie? 1005 00:48:14,200 --> 00:48:21,130 Printf ", mi povas rakonti al i." Tio ĉi estas kalesxon programo. 1006 00:48:21,130 --> 00:48:22,450 Kion mi vere celas ĉi tie? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> Elcento ne s, sed vi ne divenas ĉi. % D estas dekuma entjero. 1009 00:48:30,940 --> 00:48:32,720 Komo i. 1010 00:48:32,720 --> 00:48:34,340 Lasu min ruliĝi dorso. 1011 00:48:34,340 --> 00:48:37,170 >> Permesu al mi recompilar kun fari. 1012 00:48:37,170 --> 00:48:39,280 Permesu al mi rerun kun kutimo. 1013 00:48:39,280 --> 00:48:42,410 Mi povas kalkuli vere malbenita rapida kiam Mi skribos programon kiel ĉi tio. 1014 00:48:42,410 --> 00:48:45,480 >> Nun ni faru ion iom intenca. 1015 00:48:45,480 --> 00:48:51,220 Kion pri ni faru ĉi tion dum i estas pli granda ol aŭ egala al 0. 1016 00:48:51,220 --> 00:48:53,630 Kio ĉi tuj indukti? 1017 00:48:53,630 --> 00:49:01,030 Do logike, tiu ne estas tiel saĝa, ĉar nun, se mi rerun tio, rakonti, 1018 00:49:01,030 --> 00:49:05,050 Mi povas nun kalkuli vere, vere alta. 1019 00:49:05,050 --> 00:49:08,850 Bedaŭrinde, proksimume tiel alta kiel mi povas grafo estas 4 miliardoj, do ĉi tiu tuj 1020 00:49:08,850 --> 00:49:10,140 preni momenton. 1021 00:49:10,140 --> 00:49:13,440 >> Do kial ni ne lasi tion kiel nia cliffhanger, promesante ke sur 1022 00:49:13,440 --> 00:49:15,650 Merkredo, ni vidos se tiu programo estas farita. 1023 00:49:15,650 --> 00:49:19,260 Du, ni devos enkonduki kiel vi mem skribu vian propran funkcion tiel ke tre 1024 00:49:19,260 --> 00:49:22,930 rapide, por merkredon, ni instruos vin, kiel ni transiro de Scratch en C, starti 1025 00:49:22,930 --> 00:49:25,880 skribi iam pli kompleksa programoj kiuj faras multe, 1026 00:49:25,880 --> 00:49:27,070 multe pli ol tio. 1027 00:49:27,070 --> 00:49:28,766 Ni vidos vin tiam. 1028 00:49:28,766 --> 00:49:31,580 >> [Aplaŭdo] 1029 00:49:31,580 --> 00:49:34,690 >> Parolanto 1: En la sekvanta CS50, Puzlo Tago estis sukceso. 1030 00:49:34,690 --> 00:49:39,690