1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> David Malan: Dit is CS50, en hierdie is die begin van die week een. 3 00:00:14,430 --> 00:00:17,930 En wat ons gedink ons ​​wil doen, is om terug te trek die gordyn van 'n toestel wat baie 4 00:00:17,930 --> 00:00:20,970 van julle het seker nou verby vir die jaar, maar miskien nooit heeltemal 5 00:00:20,970 --> 00:00:22,280 bekend wat dit is. 6 00:00:22,280 --> 00:00:26,000 So hierdie toestel sal waarskynlik kyk vertroud is met die meeste van julle deur die nou. 7 00:00:26,000 --> 00:00:32,972 >> [Video speel] 8 00:00:32,972 --> 00:00:36,150 >> -A triomf van wiskundige en meganiese vaardigheid is hierdie groot nuwe 9 00:00:36,150 --> 00:00:39,120 outomatiese sakrekenaar by Harvard Universiteit. 10 00:00:39,120 --> 00:00:43,220 Ingewikkelde probleme in wiskunde sit deur die masjien in gekodeerde vorm op 11 00:00:43,220 --> 00:00:47,840 band akkuraat opgelos in 'n minuut fraksie van die tyd wat nodig is vir 12 00:00:47,840 --> 00:00:49,090 menslike berekening. 13 00:00:49,090 --> 00:01:00,090 14 00:01:00,090 --> 00:01:04,080 >> Ontwerp alle vorme van te bespoedig wiskundige en wetenskaplike navorsing, 15 00:01:04,080 --> 00:01:07,860 die reuse meganiese brein werk vir die Verenigde State van Amerika 16 00:01:07,860 --> 00:01:09,180 Marine tot oorlog se einde. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [Einde video-vertoning] 19 00:01:18,600 --> 00:01:21,980 >> David Malan: So dit is wat jy sien in die Science Center, en dit is waar 20 00:01:21,980 --> 00:01:23,540 dat die masjien is nou gehuisves. 21 00:01:23,540 --> 00:01:25,910 Jy eintlik sien net deel van dit. 22 00:01:25,910 --> 00:01:28,800 Slegs 'n gedeelte is tans op uitstalling en dit is 'n toestel genoem 23 00:01:28,800 --> 00:01:31,970 die Mark ek, en dit was in wese 'n baie groot sakrekenaar. 24 00:01:31,970 --> 00:01:36,250 Dit is opgevolg deur die Mark II, en dit is van die Mark II dat ons eintlik 25 00:01:36,250 --> 00:01:39,210 kry 'n bietjie van die leksikon. 26 00:01:39,210 --> 00:01:43,780 >> Dit is die eerste keer geval van iets wat jy oor om te geword het die hele 27 00:01:43,780 --> 00:01:45,860 te vertroud is met die loop van die semester - 28 00:01:45,860 --> 00:01:48,460 naamlik, 'n fout. 29 00:01:48,460 --> 00:01:52,030 So dit blyk op 'n punt die Mark II toestel nie funksioneer nie 30 00:01:52,030 --> 00:01:55,930 behoorlik, en by nadere ondersoek, Daar was wel 'n fout - 'n mot - 31 00:01:55,930 --> 00:01:56,910 wat mot - 32 00:01:56,910 --> 00:01:57,610 binnekant. 33 00:01:57,610 --> 00:02:03,130 En sedertdien, het ons verwys na foute in programme as foute. 34 00:02:03,130 --> 00:02:05,330 So meer oor dit te kom. 35 00:02:05,330 --> 00:02:08,919 >> Praat van die video as goed, as jy nog nie het, weet dat CS50 is 36 00:02:08,919 --> 00:02:09,669 natuurlik verfilm. 37 00:02:09,669 --> 00:02:13,330 Die lesings tipies optrek regs na klas in soort van 'n pre-release 38 00:02:13,330 --> 00:02:17,240 ongeredigeerde formaat, en dan 'n dag of twee later, het ons 'n hoër resolusie 39 00:02:17,240 --> 00:02:18,490 en hoër gehalte weergawe. 40 00:02:18,490 --> 00:02:21,800 Jy kan onthou Vanessa, wat die het fortuin te speel met Google Glass, 41 00:02:21,800 --> 00:02:23,540 wat ek onthou om hef hierdie tyd. 42 00:02:23,540 --> 00:02:26,450 So as jy wil om te kom na die klas en speel, hulle moet werk vandag. 43 00:02:26,450 --> 00:02:30,816 En as jy wil om te sien wat Vanessa sien die ander dag, wat jy sien 44 00:02:30,816 --> 00:02:35,260 hier - laat my verhoog die volume hier op my laptop. 45 00:02:35,260 --> 00:02:35,690 >> [Video speel] 46 00:02:35,690 --> 00:02:37,620 >> -So laat my ry is dit up. 47 00:02:37,620 --> 00:02:38,070 Alle regte. 48 00:02:38,070 --> 00:02:40,930 So raak dit. 49 00:02:40,930 --> 00:02:41,720 Alle regte. 50 00:02:41,720 --> 00:02:43,470 OK, Glass. 51 00:02:43,470 --> 00:02:44,720 'N video opneem. 52 00:02:44,720 --> 00:02:47,240 53 00:02:47,240 --> 00:02:48,640 >> Alle regte. 54 00:02:48,640 --> 00:02:50,446 Vanessa? 55 00:02:50,446 --> 00:02:50,870 >> [Einde video-vertoning] 56 00:02:50,870 --> 00:02:53,485 >> David Malan: Alle reg, sodat die rede dat dit nie gewerk het nie vir die meeste van julle by die 57 00:02:53,485 --> 00:02:56,540 die einde van die klas was, want ek het voortgegaan 'n uur van daardie aan te teken 58 00:02:56,540 --> 00:02:59,505 beeldmateriaal wys op myself na Ek sit die bril af. 59 00:02:59,505 --> 00:03:04,010 So vandag, sal ek laat hulle af, maar dankie om jou te Vanessa vir die feit dat so 'n 60 00:03:04,010 --> 00:03:05,420 goeie sport. 61 00:03:05,420 --> 00:03:08,330 >> Intussen het 'n paar aankondigings voordat ons voortgaan vandag. 62 00:03:08,330 --> 00:03:11,120 So een, CS50 het 'n tradisie van doen wat ons kan om te probeer om 'n baie te maak 63 00:03:11,120 --> 00:03:12,630 groot klas voel kleiner. 64 00:03:12,630 --> 00:03:16,640 En in die rigting van die einde, die meeste elke Vrydag, Ons kom bymekaar by 'n restaurant in 65 00:03:16,640 --> 00:03:20,160 die vierkant, Fire and Ice, met 30 of 40 van jou klasmaats, myself, sommige van 66 00:03:20,160 --> 00:03:22,520 die personeel, en ons het net het 'n baie informele middagete. 67 00:03:22,520 --> 00:03:26,280 Ons het dikwels nooi vriende van die bedryf, alumni van die klas, alumni van die 68 00:03:26,280 --> 00:03:30,340 kollege, eintlik net elke gesels die ander op, praat oor die lewe na 69 00:03:30,340 --> 00:03:32,260 kollege, die lewe in die kollege, en dies meer. 70 00:03:32,260 --> 00:03:35,570 So as jy wil graag om deel te neem in hierdie eerste sodanige middagete hierdie Vrydag by 71 00:03:35,570 --> 00:03:38,640 13:15, hoof tot daardie URL op 'n sekere punt. 72 00:03:38,640 --> 00:03:40,830 >> Ruimte is beperk, so sal ons doen eerste kom eerste bedien. 73 00:03:40,830 --> 00:03:43,880 Maar ons sal dit weer op 'n herhalende basis, so moenie bekommerd wees as jy dit nie doen nie 74 00:03:43,880 --> 00:03:45,800 maak dit in die eerste groep. 75 00:03:45,800 --> 00:03:48,960 >> Nou, in terme van die hulpbronne wat curricularly deur die loop, 76 00:03:48,960 --> 00:03:51,500 daar is 'n hele rits, en as jy nie trek die kursus se webblad 77 00:03:51,500 --> 00:03:54,310 reeds, in die besonder, onder lesings, jy sal vind dat alles 78 00:03:54,310 --> 00:03:57,070 Ons het verlede week is daar, beide in video en 'n soort 79 00:03:57,070 --> 00:03:58,435 van elektroniese vorm. 80 00:03:58,435 --> 00:04:01,210 Maar as die video, sal jy vind dat daar nou volle teks 81 00:04:01,210 --> 00:04:03,290 transkripsies, byvoorbeeld, van elke lesing. 82 00:04:03,290 --> 00:04:08,260 >> So as ons eintlik gaan terug na hierdie skerm hier saam met Vanessa, en opgevolg 83 00:04:08,260 --> 00:04:12,010 aan die onderkant van die skerm, jy wat eintlik vind, nie vir 84 00:04:12,010 --> 00:04:15,060 Vrydag se lesing, maar as ons gaan terug na Woensdag, aangesien hierdie funksie neem 'n 85 00:04:15,060 --> 00:04:17,870 n paar dae, sal jy vind dat jy kan eintlik trek, vir 'n beter of vir 86 00:04:17,870 --> 00:04:22,260 erger, elke woord wat ek of 'n vrywilliger op die verhoog gesê. 87 00:04:22,260 --> 00:04:23,270 En nog baie meer as net dit. 88 00:04:23,270 --> 00:04:25,700 Jy kan selfs soek, kan jy dit Klik op enige van die sinne, spring 89 00:04:25,700 --> 00:04:29,250 op daardie punt in die video, al na en die einde van die maak van die materiaal al die 90 00:04:29,250 --> 00:04:30,620 meer begaanbaar. 91 00:04:30,620 --> 00:04:34,550 >> Maar as jy liewer nie volg dit in so 'n detail, sal jy vind, vir 92 00:04:34,550 --> 00:04:39,710 byvoorbeeld, hierdie klein spyskaart hier vir 1.5x spoed, 2x spoed, of I F Ek het reeds 93 00:04:39,710 --> 00:04:42,100 praat te vinnig vir jou, 0.75x spoed. 94 00:04:42,100 --> 00:04:45,190 So besef alles is beskikbaar is daar vir jou. 95 00:04:45,190 --> 00:04:49,120 >> Maar as dit nie vir lesings, besef dat ons ook hierdie hulpbronne 96 00:04:49,120 --> 00:04:50,530 beskikbaar. 97 00:04:50,530 --> 00:04:55,240 Skyfies, voorbeeld kode, iets wat ek doen op die verhoog of in die opmars van die klas, 98 00:04:55,240 --> 00:04:58,160 ons sal daar so post wat jy kan speel saam by die huis of in Sanders. 99 00:04:58,160 --> 00:05:01,280 Maar wat ons ook gedink ons ​​dit wil doen jaar vir die eerste keer is ook 100 00:05:01,280 --> 00:05:04,240 u voorsien ipv van hierdie voorbeelde. 101 00:05:04,240 --> 00:05:08,120 Toenemend, soos ek aangedui op die waarde van CS50 se lesings, ek het begin 102 00:05:08,120 --> 00:05:11,450 te bevraagteken hoe nuttig dit is vir julle ouens om daar te sit, vir my om op te staan 103 00:05:11,450 --> 00:05:15,020 hier, en vir my om te praat oor jou, veral as die materiaal, die 104 00:05:15,020 --> 00:05:17,020 voorbeelde, kry meer kompleks. 105 00:05:17,020 --> 00:05:20,790 Want sonder uitsondering, na 'n paar aantal minute, iemand sal zone uit, en 106 00:05:20,790 --> 00:05:24,310 dan is jy mis 'n sleutel insig van 'n paar Byvoorbeeld, en dan is jy in wese 107 00:05:24,310 --> 00:05:27,720 weg vir die oorblywende gedeelte van die klas, Dit is nie die beste gebruik van 108 00:05:27,720 --> 00:05:31,330 jou tyd, of, regtig, ons s'n gesamentlik as 'n klas. 109 00:05:31,330 --> 00:05:33,920 >> En ja, wat ons gedink ons ​​sou probeer om te doen, veral vir 'n paar van die meer 110 00:05:33,920 --> 00:05:37,700 komplekse voorbeelde wat ek nie kon doen nie geregtigheid in die klas, dat ons dalk nie 111 00:05:37,700 --> 00:05:41,560 tyd vir in die klas, of jy dalk net zone uit tydens, is ons produseer 112 00:05:41,560 --> 00:05:45,500 'n reeks van ipv van hierdie voorbeelde so dat as jy gaan om vir 113 00:05:45,500 --> 00:05:51,410 Byvoorbeeld, verlede Vrydag se video bladsy hier onder voorbeelde, sal jy sien dat 114 00:05:51,410 --> 00:05:54,050 vir Vrydag, is daar nou hierdie koppel aan ipv. 115 00:05:54,050 --> 00:05:55,780 En die formaat van hierdie sal mettertyd verander. 116 00:05:55,780 --> 00:05:58,080 Vir nou, is ons met behulp van 'n eenvoudige YouTube playlist. 117 00:05:58,080 --> 00:06:00,980 >> Maar wat ek gedoen het met ons produksie span daarna is loop deur elke 118 00:06:00,980 --> 00:06:04,480 en elkeen van daardie voorbeelde weer hopelik uit te wys in veel groter 119 00:06:04,480 --> 00:06:07,550 duidelikheid presies wat die wegneemetes kon wees of behoort te wees van mekaar. 120 00:06:07,550 --> 00:06:10,560 So jy sal vind, byvoorbeeld, van verlede week, almal van die kras voorbeelde 121 00:06:10,560 --> 00:06:12,950 ons het deur gedoen word lineêr in die mode. 122 00:06:12,950 --> 00:06:15,840 So voel vry om betrokke te raak of nie betrokke te raak in hierdie materiaal. 123 00:06:15,840 --> 00:06:19,140 Regtig 'n tema van hierdie kursus is dat daar waarskynlik meer 124 00:06:19,140 --> 00:06:21,870 in die weg van die hulpbronne as wat jy moontlik absorbeer meer 125 00:06:21,870 --> 00:06:23,260 die loop van 'n semester. 126 00:06:23,260 --> 00:06:23,980 >> Maar dit is doelbewuste. 127 00:06:23,980 --> 00:06:26,990 Dit is bedoel om so te wees dat jy as individuele studente kan self kies 128 00:06:26,990 --> 00:06:28,070 gebaseer op jou leer styl. 129 00:06:28,070 --> 00:06:29,790 So as lesings vir jou werk, groot. 130 00:06:29,790 --> 00:06:31,090 As afdelings vir jou werk, groot. 131 00:06:31,090 --> 00:06:32,930 As ipv werk vir jy 'n beter, groot. 132 00:06:32,930 --> 00:06:36,980 Dit is werklik sal wees vir jou om te kies watter hulpbronne die beste werk vir jou. 133 00:06:36,980 --> 00:06:40,380 >> Ten slotte, te danke aan 'n alumnus van die Natuurlik het ons ook 'n kanoniese 134 00:06:40,380 --> 00:06:41,890 stel skrywer notas. 135 00:06:41,890 --> 00:06:46,270 So eerder as om julle koppe af in lesings krap af 136 00:06:46,270 --> 00:06:49,880 dinge wat kom in die klas, ons, die personeel, sal jy met dit wat ons 137 00:06:49,880 --> 00:06:53,410 voel is 'n kanoniese stel aantekeninge te bevry van daardie afleiding, sodat 138 00:06:53,410 --> 00:06:57,150 As jy hier is en wat betrokke is, is jy werklik besig met wat aangaan, 139 00:06:57,150 --> 00:07:00,110 met jou klasmaats doen op stadium, met wat is op die skerm, 140 00:07:00,110 --> 00:07:03,570 en nie net neer te skryf woordeliks wat gebeur te gewees het gesê. 141 00:07:03,570 --> 00:07:06,730 So besef al dié hulpbronne is beskikbaar vir jou. 142 00:07:06,730 --> 00:07:09,210 >> Snitte, in antwoord op 'n FAQ, sal begin hierdie Woensdag. 143 00:07:09,210 --> 00:07:12,050 Ons het basies wag tot na die meeste ander klasse word gedoen sodat ons kan 144 00:07:12,050 --> 00:07:14,420 verminder die getal van die veranderinge wat ons nodig het om te doen. 145 00:07:14,420 --> 00:07:20,010 Maar kom die naweek begin Sondag is, sal 'n eenmalige geval van wees 146 00:07:20,010 --> 00:07:21,360 wat ons noem super afdelings. 147 00:07:21,360 --> 00:07:23,990 Dit sal verfilm word vir diegene wat nie kan woon, en in wese, die 148 00:07:23,990 --> 00:07:28,880 Natuurlik se koppe sal loop ons deur 'n paar van die C gedeelte van die kursus, 149 00:07:28,880 --> 00:07:32,330 in die rigting van 'n einde van die probleem stel een, wat gaan ons eerste C gebaseer wees 150 00:07:32,330 --> 00:07:33,140 probleem stel. 151 00:07:33,140 --> 00:07:36,240 En dit sal net wees opsionele afdelings in afwagting van wat sal 152 00:07:36,240 --> 00:07:40,010 geword herhalende afdelings gelei deur die loop se 50 plus 153 00:07:40,010 --> 00:07:41,600 onderrig metgeselle weeklikse. 154 00:07:41,600 --> 00:07:45,130 Op Sondag of Maandag of Dinsdag, het ons het 90 minute afdelings in 'n baie 155 00:07:45,130 --> 00:07:48,020 tradisionele sin, wat sal geleenthede vir die hande en meer 156 00:07:48,020 --> 00:07:50,800 intieme hersiening van die Natuurlik se materiaal. 157 00:07:50,800 --> 00:07:53,820 >> Sonder verdere uitstel het, laat my in te voer die kursus se koppe, wat 158 00:07:53,820 --> 00:07:57,380 agter die skerms met my, die maak van alles gebeur. 159 00:07:57,380 --> 00:08:02,670 As die wat hier vandag kan saam met my, Rob en Lauren en Josef en Lucas, al 160 00:08:02,670 --> 00:08:05,770 van wie was met die kursus vir 'n geruime tyd. 161 00:08:05,770 --> 00:08:08,450 RJ is die derde sodanige lid van ons span. 162 00:08:08,450 --> 00:08:11,720 Hy kon nie vandag hier nie, maar hy het my gevra om 'n foto van hom te wys. 163 00:08:11,720 --> 00:08:14,600 Ek is nie seker of hy wou dit een nie, maar daar is hy. 164 00:08:14,600 --> 00:08:18,350 >> En laat my net toelaat dat die span om te sê hallo en stel hulself sodat 165 00:08:18,350 --> 00:08:22,260 jy kry om hulle te sowel as weet wat jou eie onderrig mede-hierdie term. 166 00:08:22,260 --> 00:08:23,490 >> LAUREN CARVALHO: Hi. 167 00:08:23,490 --> 00:08:24,740 My naam is Lauren Carvalho. 168 00:08:24,740 --> 00:08:26,900 Ek is 'n inwoner tutor in Leverett House. 169 00:08:26,900 --> 00:08:31,120 Ek Super ook is opgewonde om 'n hoof TV vir CS50 hierdie jaar. 170 00:08:31,120 --> 00:08:35,830 >> CS50 is 'n baie uitdagende klas sowel as 'n baie groot klas, so as jy 171 00:08:35,830 --> 00:08:38,780 enige kommer, as jy voel soos jy agter is val, voel vry om te 172 00:08:38,780 --> 00:08:43,840 uit te reik na enige van ons by heads@cs50.het, of vir my, as jy wil 173 00:08:43,840 --> 00:08:46,330 speel graag met my goue retriever hondjie. 174 00:08:46,330 --> 00:08:48,060 Hier is Lucas. 175 00:08:48,060 --> 00:08:48,560 >> LUCAS FREITAS: Hey, ouens. 176 00:08:48,560 --> 00:08:49,330 My naam is Lucas Freitas. 177 00:08:49,330 --> 00:08:51,880 Ek is 'n junior [onhoorbaar] 178 00:08:51,880 --> 00:08:53,630 Rekenaarwetenskap en linguistiek. 179 00:08:53,630 --> 00:08:58,030 Ek is eintlik van Brasilië, en ek ook besef Oos-Asiatiese studies. 180 00:08:58,030 --> 00:09:00,740 So indien u enige vrae oor Rekenaarwetenskap of taal of 181 00:09:00,740 --> 00:09:01,870 enigiets, net laat my weet. 182 00:09:01,870 --> 00:09:05,630 Of CS50, veral. 183 00:09:05,630 --> 00:09:05,880 >> JOSEPH ONG: Hi. 184 00:09:05,880 --> 00:09:06,265 Ek is Josef. 185 00:09:06,265 --> 00:09:11,360 Ek is 'n senior studeer rekenaar wetenskap in Elliott House. 186 00:09:11,360 --> 00:09:13,500 So, laat ons sien. 187 00:09:13,500 --> 00:09:16,530 Jy sal sien my rond dra een van hierdie reuse-kameras. 188 00:09:16,530 --> 00:09:21,110 Ek is die inwonende personeel fotograaf 50 so goed, en dikwels deur studente 189 00:09:21,110 --> 00:09:25,140 soms verwar my 'n Asiatiese toeris. 190 00:09:25,140 --> 00:09:29,220 >> So as jy my sien met 'n kamera, moenie weghardloop nie. 191 00:09:29,220 --> 00:09:32,960 Net glimlag en moenie skaam wees nie. 192 00:09:32,960 --> 00:09:34,870 En ek hoop jy geniet 50. 193 00:09:34,870 --> 00:09:38,690 Ek het dit baie geniet wanneer ek het dit, en dit is hoekom ek al TFing vir 194 00:09:38,690 --> 00:09:41,164 hierdie drie jaar. 195 00:09:41,164 --> 00:09:41,570 >> ROB BOWDEN: Hi. 196 00:09:41,570 --> 00:09:42,550 Ek is Rob. 197 00:09:42,550 --> 00:09:46,240 Dit is my vierde semester met CS50. 198 00:09:46,240 --> 00:09:47,430 Ek het net gegradueer in Mei. 199 00:09:47,430 --> 00:09:49,650 Ek was in Kirkland. 200 00:09:49,650 --> 00:09:53,670 Ek is opgewonde vir hierdie semester, en ek hoop jy ook. 201 00:09:53,670 --> 00:09:56,650 >> David Malan: Baie dankie aan vanjaar se koppe, en RJ as well. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> So 'n paar finale notas oor hulpbronne. 204 00:10:02,310 --> 00:10:04,090 Een, p gestel 0 reeds om is. 205 00:10:04,090 --> 00:10:06,620 Hierdie een bestaan ​​slegs in standaard uitgawe, wat vir die bedoel 206 00:10:06,620 --> 00:10:07,610 geheel van die klas. 207 00:10:07,610 --> 00:10:10,940 Begin met p set 1, sal daar hacker uitgawes van die meeste probleem stelle, 208 00:10:10,940 --> 00:10:14,660 wat, weer, sal die materiaal met 'n bietjie meer van 'n uitdaging, terwyl 209 00:10:14,660 --> 00:10:17,400 nog steeds te raak op 'n paar van dieselfde onderwerpe. 210 00:10:17,400 --> 00:10:21,400 Doen 'n blik op die kursus se webblad vir daardie spesifikasie vir p set 0. 211 00:10:21,400 --> 00:10:25,140 >> Kantoorure, te, sal hierdie week begin, vanaand, môre, Woensdag, 212 00:10:25,140 --> 00:10:27,670 en Donderdag in verskeie eetkamer sale op die kampus. 213 00:10:27,670 --> 00:10:32,140 Check uit cs50.net/ohs vir die kantoor uur vir die kursus, en besef dat hierdie 214 00:10:32,140 --> 00:10:34,430 sal baie gemaklik geleenthede, seker, aan die begin van die 215 00:10:34,430 --> 00:10:37,190 semester, om te kom deur met jou laptop tydens brein breek. 216 00:10:37,190 --> 00:10:40,500 Bring 'n paar vriende en gesels tot die Natuurlik se TFS en geoktrooieerde rekenmeesters met enige 217 00:10:40,500 --> 00:10:41,750 vrae wat jy mag hê. 218 00:10:41,750 --> 00:10:45,320 >> En ek kan nie genoeg beklemtoon, selfs vir kras en probleem stel 0, is daar 219 00:10:45,320 --> 00:10:47,110 regtig geen dom vraag. 220 00:10:47,110 --> 00:10:51,200 Daar is geen student te ongemaklik vrae te vra. 221 00:10:51,200 --> 00:10:53,940 Voel asseblief vry om voordeel te trek van hierdie hulpbron. 222 00:10:53,940 --> 00:10:56,430 Dit sal ook daar wees recurringly regdeur die semester, 223 00:10:56,430 --> 00:10:57,840 as sal CS50 Bespreek. 224 00:10:57,840 --> 00:11:00,900 Dit is die kursus se aanlyn bespreking forums by daardie adres daar. 225 00:11:00,900 --> 00:11:04,490 >> Wat sal ons doen ook tydens lesings is ook monitor, te danke aan die 226 00:11:04,490 --> 00:11:05,580 Natuurlik se onderrig-span. 227 00:11:05,580 --> 00:11:08,390 En so, as jy 'n vraag tydens lesing, want ek het iets gesê 228 00:11:08,390 --> 00:11:11,690 swak of glad nie, deur al beteken, vra wat in die werklike tyd as jy jou 229 00:11:11,690 --> 00:11:15,700 laptop of selfoon op die webwerf, en ons sal ons bes doen om in die nabye real tyd tot 230 00:11:15,700 --> 00:11:17,410 daarop te reageer nie. 231 00:11:17,410 --> 00:11:21,500 >> Is daar enige vrae oor CS 50? 232 00:11:21,500 --> 00:11:23,930 En een laaste note van my. 233 00:11:23,930 --> 00:11:25,530 Dat die kwessie van die SAT UNSAT. 234 00:11:25,530 --> 00:11:28,550 As jy finaliseer om jou studie-kaarte, as jy nog nie het, besef dat die 235 00:11:28,550 --> 00:11:32,360 oorkoepelende visie van SAT UNSAT, beskikbaar vir alle studente, is regtig 236 00:11:32,360 --> 00:11:36,350 om te help om die rand af van 'n kursus soos hierdie, so te sê, so dat as jy 237 00:11:36,350 --> 00:11:40,510 vind jy jouself laat in die nag, 02:00, 03:00, regtig gebons jou kop teen 238 00:11:40,510 --> 00:11:43,960 die muur waar jy weet jy is 99% van die die manier waarop daar tot voltooiing, maar jy 239 00:11:43,960 --> 00:11:47,510 het so baie ander dinge te doen, Ek dink 'n beter gebruik, dikwels van 240 00:11:47,510 --> 00:11:51,260 studente se tyd is om inderdaad te beweeg na daardie ander dinge sodat jy kan 241 00:11:51,260 --> 00:11:52,780 optimaliseer jou tyd al rondom. 242 00:11:52,780 --> 00:11:56,950 En gaan sit UNSAT is een meganisme wat via jy kan troos in die feit 243 00:11:56,950 --> 00:12:00,530 dat 99% van die manier waarop daar nog redelik darn goeie. 244 00:12:00,530 --> 00:12:03,790 >> Net so ook as jy kom in die Natuurlik met geen vorige agtergrond of 245 00:12:03,790 --> 00:12:07,960 nie naastenby so baie agtergrond as jy dink jou klasmaats kan hê, waar 246 00:12:07,960 --> 00:12:13,210 of vals is, besef dat dit 'n geleentheid kry om jou hande vuil 247 00:12:13,210 --> 00:12:16,590 met die loop, sit jou tone in die water, om so te spreek, net soos ek myself 248 00:12:16,590 --> 00:12:18,500 het jare gelede met slaag / druip. 249 00:12:18,500 --> 00:12:21,850 Soos ek gesê het verlede week, het die kursus, soos ander, nie beskikbaar was 250 00:12:21,850 --> 00:12:25,090 slaag / druip in die tyd, sou ek waarskynlik nie ooit trap voet in 251 00:12:25,090 --> 00:12:28,310 die klas, selfs al het ek gedoen het, het vyf weke later, verander my gedagte, wat jy 252 00:12:28,310 --> 00:12:32,400 kan so goed, en oor te skakel na of uit die brief gegradeerde status. 253 00:12:32,400 --> 00:12:32,990 >> Alle regte. 254 00:12:32,990 --> 00:12:37,380 So het ons gekyk na dinge soos hierdie op Vrydag, en ons is baie vinnig gaan 255 00:12:37,380 --> 00:12:39,890 om die oorgang na iets wat lyk meer kriptiese vandag. 256 00:12:39,890 --> 00:12:42,300 Maar dit is nietemin die dieselfde fundamentele idee. 257 00:12:42,300 --> 00:12:45,540 Wat was die algemene term wat ons gebruik om 'n legkaart stuk te beskryf 258 00:12:45,540 --> 00:12:47,690 wat lyk soos hierdie? 259 00:12:47,690 --> 00:12:48,510 >> So, 'n verklaring gesê. 260 00:12:48,510 --> 00:12:50,020 En jy kan noem dit 'n aantal van die dinge. 261 00:12:50,020 --> 00:12:51,870 Maar ons sal net noem dit 'n verklaring, en 'n verklaring 262 00:12:51,870 --> 00:12:53,200 net vertel die program - 263 00:12:53,200 --> 00:12:55,290 of in die geval van nuuts af, die sprite - 264 00:12:55,290 --> 00:12:56,520 om iets te doen. 265 00:12:56,520 --> 00:12:58,430 Hallo sê in hierdie geval. 266 00:12:58,430 --> 00:13:01,450 >> Iets soos hierdie ons plaas genoem wat? 267 00:13:01,450 --> 00:13:03,560 Ja, so 'n Boole-uitdrukking. 268 00:13:03,560 --> 00:13:07,380 'N Boole-uitdrukking is net iets dit is waar of vals is, en so Krap 269 00:13:07,380 --> 00:13:10,530 trek hulle met hierdie vorm nie, maar ook met 'n vraagteken die oor te dra 270 00:13:10,530 --> 00:13:14,510 idee dat die antwoord op hierdie vraag is waar of vals is, ja of nee 271 00:13:14,510 --> 00:13:15,910 een, 1 of 0. 272 00:13:15,910 --> 00:13:19,290 >> En ons gebruik hierdie Boolse uitdrukkings binnekant van konstrukte soos hierdie, wat 273 00:13:19,290 --> 00:13:21,010 ons geroep wat? 274 00:13:21,010 --> 00:13:22,460 So, toestand of tak. 275 00:13:22,460 --> 00:13:25,600 En die toestand wat jy hier sien in Nuuts af 'n bietjie plekhouer vir 'n 276 00:13:25,600 --> 00:13:28,260 legkaart stuk van die vorm, die doel waarvan sodat jy kan 277 00:13:28,260 --> 00:13:32,670 sleep dit en gooi dit bo-op en dan skryf aan die program as dit Boole 278 00:13:32,670 --> 00:13:36,410 uitdrukking waar is, doen dit stel instruksies, hierdie stel state, 279 00:13:36,410 --> 00:13:39,320 anders doen dit ander stel instruksies. 280 00:13:39,320 --> 00:13:41,270 >> En onthou dat jy kan nes hierdie dinge. 281 00:13:41,270 --> 00:13:44,170 Selfs al is daar nie veel kamer visueel in die legkaart stuk, Scratch 282 00:13:44,170 --> 00:13:47,820 sal groei en krimp wat pas stukke van die legkaart wat jy sleep en in 283 00:13:47,820 --> 00:13:51,410 daar so jy kan eintlik nes hierdie en het 'n drie wyse vurk in die pad. 284 00:13:51,410 --> 00:13:53,870 As, anders as, anders nie. 285 00:13:53,870 --> 00:13:58,100 En jy kan selfs verder gaan as wat deur nes verder en verder as wat nodig is. 286 00:13:58,100 --> 00:14:02,520 >> So laastens, het ons gesien konstrukte soos hierdie, andersins bekend as 'n lus. 287 00:14:02,520 --> 00:14:05,690 En dit is net iets wat nie iets wat weer en weer en weer. 288 00:14:05,690 --> 00:14:09,250 In hierdie geval, dit gebeur met 'n beperkte wees aantal kere, maar ons het ook 289 00:14:09,250 --> 00:14:12,890 het 'n voorbeeld waar die aantal keer kom uit 'n veranderlike, so dit 290 00:14:12,890 --> 00:14:13,690 kan verander. 291 00:14:13,690 --> 00:14:16,910 En ons het ook 'n ander blok heeltemal bekend as 'n ewig blok wat 292 00:14:16,910 --> 00:14:19,590 toegelaat om ons te loop oneindig lank. 293 00:14:19,590 --> 00:14:23,300 >> So 'n ander konstruk wat Scratch 2.0 het - en dié van nie meer 294 00:14:23,300 --> 00:14:26,330 gemaklik met vorige agtergrond is reeds goed vertroud is met hierdie 295 00:14:26,330 --> 00:14:27,080 bou - 296 00:14:27,080 --> 00:14:29,910 hierdie dinge is ons genoem wat? 297 00:14:29,910 --> 00:14:32,540 So ons noem hierdie funksies, andersins bekend as prosedures. 298 00:14:32,540 --> 00:14:35,030 Daar is 'n effense semantiese verskil, maar ons sal hulle noem net funksies. 299 00:14:35,030 --> 00:14:39,950 >> En 'n funksie, in die geval van nuuts af, is 'n persoonlike legkaart stuk wat 300 00:14:39,950 --> 00:14:43,670 jy jouself kan skep sodat jy 'n nuwe legkaart stuk wat in hierdie 301 00:14:43,670 --> 00:14:47,190 geval, sou genoem word hoes, wat verskyn onder al die ander 302 00:14:47,190 --> 00:14:48,730 beskikbaar stukke van die legkaart in nuuts af. 303 00:14:48,730 --> 00:14:52,010 Selfs al MIT het nie die uitvinder hierdie legkaart stuk, wat jy gedoen het. 304 00:14:52,010 --> 00:14:57,600 >> So 'n funksie kan jy 'n nuwe te skep gedrag, gee dit 'n funksie naam, en 305 00:14:57,600 --> 00:14:59,200 dan noem, om so te praat. 306 00:14:59,200 --> 00:15:04,690 Gebruik dit werklik in programme weer weer en weer sonder om te wag 307 00:15:04,690 --> 00:15:08,600 vir iemand soos MIT op die pad na bedink nuwe funksie van nuuts af. 308 00:15:08,600 --> 00:15:12,460 Jy jouself kan bou hierdie legkaart stukke jouself, en dan onthou hulle 309 00:15:12,460 --> 00:15:13,600 in jou eie programme. 310 00:15:13,600 --> 00:15:17,520 En ons sal sien 'n herhalende byvoorbeeld van wat vandag en verder. 311 00:15:17,520 --> 00:15:20,960 >> So vandag, ons oorgang nou na iets meer arcane. 312 00:15:20,960 --> 00:15:24,350 Maar aan die einde van die dag, iets meer kragtige en ekspressiewe en meer 313 00:15:24,350 --> 00:15:28,110 verteenwoordiger van die pad wat ons sal wees op al die semester oor 'n aantal 314 00:15:28,110 --> 00:15:28,800 van tale - 315 00:15:28,800 --> 00:15:30,800 wat van die kode of 'n bron-kode. 316 00:15:30,800 --> 00:15:34,720 En bron-kode, dit blyk, is nie wat 'n rekenaar 317 00:15:34,720 --> 00:15:37,400 tipies loop eintlik. 318 00:15:37,400 --> 00:15:39,860 Bron-kode lyk iets soos hierdie. 319 00:15:39,860 --> 00:15:43,010 >> So, dit is, weer, miskien die eenvoudigste program wat ons kan skryf in 'n 320 00:15:43,010 --> 00:15:46,670 taal, die sogenaamde C. Ons sal begin om te terg hierdie uitmekaar voor lank, en indien 321 00:15:46,670 --> 00:15:49,260 hierdie is regtig nie lyk soos Griekse jy nou, glo my. 322 00:15:49,260 --> 00:15:54,040 Binne 'n week of twee se tyd, hierdie sal wees al te bekend is en eintlik 323 00:15:54,040 --> 00:15:57,780 redelik verteenwoordigend van toenemend komplekse voorbeelde met wat jy sal 324 00:15:57,780 --> 00:15:59,870 kry ook meer gemaklik. 325 00:15:59,870 --> 00:16:03,100 >> Maar jy kan nie net die uitvoering van hierdie soort kode gewoonlik. 326 00:16:03,100 --> 00:16:06,750 Jy het dit te omskep in iets wat die rekenaar self verstaan. 327 00:16:06,750 --> 00:16:09,840 En so vir wat, ons nodig het om iets ons gaan 'n vertaler te noem. 328 00:16:09,840 --> 00:16:13,910 'N Vertaler is 'n program wat vat bron-kode, soos jy nou net gesien het, soos 329 00:16:13,910 --> 00:16:17,680 insette, en dit produseer nulle en kinders as uitset, anders 330 00:16:17,680 --> 00:16:19,210 bekend as voorwerp kode. 331 00:16:19,210 --> 00:16:23,190 En dit is dié wat nulle en kinders wat kan nogal lyk soos hierdie wat 332 00:16:23,190 --> 00:16:26,310 uiteindelik verstaan ​​word deur jou Mac of jou rekenaar. 333 00:16:26,310 --> 00:16:30,050 >> As jy al ooit gehoor van die bemarking uitdrukking Intel Inside, wat net 334 00:16:30,050 --> 00:16:32,800 beteken dat 'n maatskappy genaamd Intel het vervaardig die 335 00:16:32,800 --> 00:16:34,130 brein van jou rekenaar - 336 00:16:34,130 --> 00:16:37,270 andersins bekend as die CPU, sentrale verwerking van eenheid - 337 00:16:37,270 --> 00:16:39,640 en dit is net die ding wat verstaan ​​patrone 338 00:16:39,640 --> 00:16:40,880 van nulle en ene. 339 00:16:40,880 --> 00:16:46,330 En so deur die omskakeling van die bron-kode in voorwerp-kode deur middel van hierdie proses hier 340 00:16:46,330 --> 00:16:49,130 dat ons sal doen met 'n paar van die opdragte in net 'n bietjie, jy is 341 00:16:49,130 --> 00:16:53,070 skep patrone van nulle en ene dat die werknemers by Intel het 342 00:16:53,070 --> 00:16:56,000 besluit verteenwoordig sekere state. 343 00:16:56,000 --> 00:16:58,810 >> Nou, ek is nie heeltemal weet wat is wat deur net skrams by 344 00:16:58,810 --> 00:16:59,890 hierdie nulle en ene. 345 00:16:59,890 --> 00:17:01,420 Die meeste mense deesdae doen nie. 346 00:17:01,420 --> 00:17:04,900 Maar iewers in daar is 'n patroon van nulle en ene wat verteenwoordig die 347 00:17:04,900 --> 00:17:06,349 verklaring druk. 348 00:17:06,349 --> 00:17:10,460 Iewers in daar kan 'n ander stel van nulle en ene wat 349 00:17:10,460 --> 00:17:16,940 verteenwoordig die idee van die ewigheid of herhaal 10 keer of selfs miaau, as dit 350 00:17:16,940 --> 00:17:20,000 eintlik 'n program wat kan sluit 'n paar klanke. 351 00:17:20,000 --> 00:17:24,390 >> Dus, in kort, mense het net besluit, baie soos ons gedoen het vir ASCII - 352 00:17:24,390 --> 00:17:27,480 vir letters van die alfabet het verlede week - mense het dat selfs besluit 353 00:17:27,480 --> 00:17:32,200 meer komplekse patrone van nulle en ene verteenwoordig meer komplekse gedrag 354 00:17:32,200 --> 00:17:35,650 soos druk of sê of miaau. 355 00:17:35,650 --> 00:17:38,640 En so is dit vir vandag, en grootliks af in die semester, sal ons neem vir 356 00:17:38,640 --> 00:17:41,820 verleen dat iemand gedink hoe dat kartering te doen. 357 00:17:41,820 --> 00:17:45,560 Maar ons, in ooreenstemming met die idee van lae bo-op die werk van mense 358 00:17:45,560 --> 00:17:49,340 wat gekom het voor ons sal neem vir verleen aan die feit dat dit gaan oor 359 00:17:49,340 --> 00:17:50,300 onder die kap. 360 00:17:50,300 --> 00:17:53,840 Maar ons is baie meer geïnteresseerd in gebou dinge wat meer 361 00:17:53,840 --> 00:17:55,880 interessante op die top van al hierdie. 362 00:17:55,880 --> 00:17:58,900 >> En so het inderdaad, die eerste program ons geskryf in Scratch was hierdie super eenvoudige 363 00:17:58,900 --> 00:18:00,600 een, Hello World. 364 00:18:00,600 --> 00:18:05,100 En jy kan dink van hierdie as die hoofprogram wat regeer Scratch se 365 00:18:05,100 --> 00:18:07,280 gedrag as van verlede Vrydag. 366 00:18:07,280 --> 00:18:11,510 >> Vandag gaan ons om te begin om te vertaal Krap stukke van die legkaart in 367 00:18:11,510 --> 00:18:16,040 bron-kode in hierdie taal genoem C sodat wat lyk soos hierdie op 368 00:18:16,040 --> 00:18:20,230 Vrydag, begin vandag af, is nou gaan lyk. 369 00:18:20,230 --> 00:18:21,860 Weliswaar meer kripties. 370 00:18:21,860 --> 00:18:25,010 Dit is baie aandag aftrek en soort van die gees numbing al die aanhalings om te sien 371 00:18:25,010 --> 00:18:27,760 en die kommapunte en die hakies en so meer. 372 00:18:27,760 --> 00:18:32,350 >> Maar as jy begin om iets te ignoreer jy verstaan ​​nie, en lyk regtig 373 00:18:32,350 --> 00:18:35,960 by die essensie van die wit teks op die skerm, sekerlik sal jy sien, soos ek doen, 374 00:18:35,960 --> 00:18:40,360 "Hello, World." Wat in lyn met die pers stelling tot bo, en dit blyk 375 00:18:40,360 --> 00:18:44,790 daarop dat die navraag hoof gaan line-up konseptueel met wanneer groen 376 00:18:44,790 --> 00:18:46,350 vlag gebruik. 377 00:18:46,350 --> 00:18:49,820 >> So met ander woorde, terwyl in nuuts af, ons hierdie Hello World program 378 00:18:49,820 --> 00:18:53,360 met dié twee stukke van die legkaart, in C, ons gaan om dit te implementeer met hierdie 379 00:18:53,360 --> 00:18:55,510 vier ietwat kriptiese lyne. 380 00:18:55,510 --> 00:18:58,130 Maar as ons duik dieper in hierdie, sal jy sien dat elkeen van daardie 381 00:18:58,130 --> 00:19:02,730 wit karakters op die skerm eintlik het 'n paar belangrike betekenis, 382 00:19:02,730 --> 00:19:05,880 en die meeste van ons programme gaan kyk struktureel heeltemal dieselfde nie. 383 00:19:05,880 --> 00:19:08,980 So 'n verklaring, duidelik te wees, wat lyk soos "Sê hallo wêreld" op 384 00:19:08,980 --> 00:19:12,020 Vrydag gaan om te begin soek soos hierdie op Maandag. 385 00:19:12,020 --> 00:19:15,250 printf ("Hello, World"). 386 00:19:15,250 --> 00:19:17,700 En daar is 'n paar vreemde agteroorskuisstreep n, is daar hakies, is daar 387 00:19:17,700 --> 00:19:18,490 kommapunte. 388 00:19:18,490 --> 00:19:21,950 >> Maar aan die einde van die dag, die sleutel afhaal vandag is dat alles wat ons doen 389 00:19:21,950 --> 00:19:25,710 is die vertaling van dinge van die foto vorm na die teks vorm. 390 00:19:25,710 --> 00:19:28,820 So 'n lus wat lyk soos hierdie laaste week gaan nou kyk 391 00:19:28,820 --> 00:19:30,140 iets soos hierdie. 392 00:19:30,140 --> 00:19:33,020 >> En laat my ontken, net soos in Nuuts af, daar is verskillende maniere om te 393 00:19:33,020 --> 00:19:34,110 bereik dieselfde doel te bereik. 394 00:19:34,110 --> 00:19:38,860 Dieselfde in C. Ek is nie wat jy die enigste manier om dinge te doen nie, maar een manier om te 395 00:19:38,860 --> 00:19:43,230 vertaal dit vir ewig blok na 'n lus in C. 396 00:19:43,230 --> 00:19:44,980 >> Hierdie een hier, herhaal 10 keer. 397 00:19:44,980 --> 00:19:47,580 Hierdie een regtig soort draaie die mind die eerste keer dat jy dit sien. 398 00:19:47,580 --> 00:19:49,860 Maar om van nou af te implementeer, ons gaan 'n te gebruik 399 00:19:49,860 --> 00:19:51,990 vir lus, om so te spreek. 400 00:19:51,990 --> 00:19:56,150 En duidelik is daar 'n paar sintaksis wat 'n bietjie kompleks is daar met I en 401 00:19:56,150 --> 00:19:59,740 gelyke en 0, maar wanneer ons duik in daardie vandag af, jy net gaan 402 00:19:59,740 --> 00:20:04,260 om te sien dat dit is net al besig met 'n basiese rekenkundige om ons te kry van 0 403 00:20:04,260 --> 00:20:07,720 op tot 9 of 10 in hierdie geval. 404 00:20:07,720 --> 00:20:11,570 >> Ten slotte, met veranderlikes, sal jy onthou dat 'n veranderlike is 'n stukkie van die stoor. 405 00:20:11,570 --> 00:20:14,290 Wel, wat ons gehad het aan die linkerkant is daar verlede week gaan 'n bietjie om te kyk 406 00:20:14,290 --> 00:20:15,920 iets soos hierdie hierdie week. 407 00:20:15,920 --> 00:20:17,870 Maar weereens, om meer oor dit kom. 408 00:20:17,870 --> 00:20:20,700 >> Ons het Boole uitdrukkings wat verlede week, het gelyk soos hierdie. 409 00:20:20,700 --> 00:20:23,370 Hierdie week af, gaan hulle begin 'n bietjie te kyk soos dit. 410 00:20:23,370 --> 00:20:24,890 >> En hierdie een is eintlik 'n bietjie gerus. 411 00:20:24,890 --> 00:20:27,680 Dit is eintlik amper so eenvoudig Net soos die groen blokke. 412 00:20:27,680 --> 00:20:31,115 Maar hier het ons weer, 'n paar nuwe sintaks met amper sand, maar jy kan 413 00:20:31,115 --> 00:20:35,390 miskien dink terwyl dit in nuuts af, jy sê A-N-D, blykbaar in C, ons is 414 00:20:35,390 --> 00:20:37,070 gaan ampersand-teken om te sê. 415 00:20:37,070 --> 00:20:39,650 Maar al hierdie dinge sal natuurlike voor lank. 416 00:20:39,650 --> 00:20:40,680 >> Voorwaardes. 417 00:20:40,680 --> 00:20:42,610 Verlede week het dit gelyk asof hierdie aan die linkerkant. 418 00:20:42,610 --> 00:20:44,800 Hierdie week, op die reg, dit is gaan lyk nie. 419 00:20:44,800 --> 00:20:48,560 Maar weereens, die sleutel afhaal hier is dat as jy sien dinge soos dit op 420 00:20:48,560 --> 00:20:51,950 die reg, en veral as minder gemaklik, dit is soort van meer as jou 421 00:20:51,950 --> 00:20:54,950 kop, kry jy 'n bietjie oorweldig dat Ek het werklik geen idee hoe ek kon 422 00:20:54,950 --> 00:20:58,420 moontlik kom met wat van nuuts af - 423 00:20:58,420 --> 00:20:59,500 geen woordspeling bedoel - 424 00:20:59,500 --> 00:21:05,300 net besef dat dit werklik is dieselfde idee dat waarskynlik soveel meer gevoel 425 00:21:05,300 --> 00:21:06,760 natuurlike die vorige week. 426 00:21:06,760 --> 00:21:10,960 En selfs as jy nog nie geduik in gestelde probleem 0, Ek daresay jy sal vind 427 00:21:10,960 --> 00:21:13,790 dat die stukke van die legkaart is redelik intuïtief, of ten minste 428 00:21:13,790 --> 00:21:16,050 so met verloop van tyd. 429 00:21:16,050 --> 00:21:16,990 >> So laat ons duik in 430 00:21:16,990 --> 00:21:20,760 Kom ons kry ons hande vuil hier met hierdie eerste eenvoudige program. 431 00:21:20,760 --> 00:21:22,410 En eenvoudig is, natuurlik, relatief. 432 00:21:22,410 --> 00:21:25,190 Om dit te doen, ek gaan skerms te verander om daardie toestel Ek het die 433 00:21:25,190 --> 00:21:26,150 CS50 toestel. 434 00:21:26,150 --> 00:21:29,700 Die CS50 toestel is 'n stuk sagteware wat loop binne in 'n 435 00:21:29,700 --> 00:21:33,920 venster op my Mac, en jy kan ook hardloop dit in 'n venster binnekant van jou rekenaar, wat 436 00:21:33,920 --> 00:21:38,720 laat my toe om presies dieselfde te hê rekenaar omgewing as elke TF, soos 437 00:21:38,720 --> 00:21:40,940 elke CA, soos elke student in die klas. 438 00:21:40,940 --> 00:21:44,590 Omdat die CS50 toestel is letterlik 'n ander bedryfstelsel 439 00:21:44,590 --> 00:21:45,410 Linux genoem - 440 00:21:45,410 --> 00:21:47,160 spesifiek Fedora Linux - 441 00:21:47,160 --> 00:21:51,320 en ons, die personeel, ingestel het, die installasie proses vir hierdie 442 00:21:51,320 --> 00:21:55,200 bedryfstelsel in so 'n manier dat 'n mens, daar is 'n bietjie CS50 logo in die 443 00:21:55,200 --> 00:21:59,240 middel, twee, daar is 'n persoonlike menu aan die onderkant, en drie, pedagogies, 444 00:21:59,240 --> 00:22:02,570 ons vereenvoudig die gebruikerskoppelvlak as soveel as moontlik so dat wanneer jy 445 00:22:02,570 --> 00:22:05,540 eerste boot hierdie ding op jou eie Mac of PC, jy het dieselfde 446 00:22:05,540 --> 00:22:08,280 omgewing as almal anders, en jy het al die gereedskap wat jy nodig 447 00:22:08,280 --> 00:22:11,390 vir die kursus sonder om te vind uit te vind hoe om te installeer en elke 448 00:22:11,390 --> 00:22:13,280 elke instrument individueel. 449 00:22:13,280 --> 00:22:15,840 >> So dit lyk redelik soos Mac OS of Windows. 450 00:22:15,840 --> 00:22:18,760 In die onderste linker hoek, jy wese het 'n start menu van 451 00:22:18,760 --> 00:22:20,280 vorme, of 'n Apple menu. 452 00:22:20,280 --> 00:22:23,700 En dan moet jy wat ons vermoed sal wees om jou drie mees algemene ikone. 453 00:22:23,700 --> 00:22:24,460 Een daarvan is Chrome. 454 00:22:24,460 --> 00:22:26,460 Daar is 'n leser binne van die toestel. 455 00:22:26,460 --> 00:22:29,970 >> Twee is 'n program genaamd gedit, wat ons vlugtig verlede week, wat 456 00:22:29,970 --> 00:22:31,310 net 'n grafiese redakteur. 457 00:22:31,310 --> 00:22:35,350 En drie is 'n terminale program, wat is 'n swart en wit venster uit 458 00:22:35,350 --> 00:22:39,860 weleer wat ons toelaat om meer te tik arcane maar meer kragtige opdragte aan 459 00:22:39,860 --> 00:22:40,660 ons klawerbord. 460 00:22:40,660 --> 00:22:44,220 So ek gaan om voort te gaan en kliek op gedit, en wees verseker dat die probleem 461 00:22:44,220 --> 00:22:48,520 stel 1 vrygelaat te word op Vrydag, loop jy deur al hierdie stappe volg. 462 00:22:48,520 --> 00:22:51,730 >> Let daarop dat ek het 'n mooi eenvoudige user met drie dele. 463 00:22:51,730 --> 00:22:54,990 Aan die linkerkant, ek het 'n groot leë venster genoem bron-kode. 464 00:22:54,990 --> 00:22:58,930 Dit is waar ek gaan 'n opsomming te sien van enige kode wat ek skryf. 465 00:22:58,930 --> 00:23:01,990 Op die regterkant, ek het 'n groot blad, tans ongered is, en dit is 466 00:23:01,990 --> 00:23:03,510 waar my kode gaan om te gaan. 467 00:23:03,510 --> 00:23:06,780 En op die bodem, het ek 'n geïntegreerde Terminale venster, 'n swart-en-wit 468 00:23:06,780 --> 00:23:12,060 gevra waar ek kan tik opdragte te stel en my programme te loop - wat 469 00:23:12,060 --> 00:23:14,110 is, te maak en my programme te loop. 470 00:23:14,110 --> 00:23:15,170 >> So laat ons begin eenvoudig. 471 00:23:15,170 --> 00:23:17,700 Laat my gaan na File, Save. 472 00:23:17,700 --> 00:23:20,530 Ek gaan om voort te gaan en gaan in jharvard. 473 00:23:20,530 --> 00:23:24,320 So het die toestel, ongeag wat jou naam is, behoort aan 'n man met die naam 474 00:23:24,320 --> 00:23:28,250 John Harvard, wat 'n jharvard huis het Gids binnekant van wat al jou 475 00:23:28,250 --> 00:23:29,100 lêers sal gaan. 476 00:23:29,100 --> 00:23:31,640 Dit is jou eie kopie van sy rekening, so ons is nie almal deel 477 00:23:31,640 --> 00:23:33,530 dieselfde hardeskyf. 478 00:23:33,530 --> 00:23:35,580 Jy moet net die illusie van John Harvard se eie. 479 00:23:35,580 --> 00:23:38,350 >> In vooraf, het ek eintlik geïnstalleer Dropbox. 480 00:23:38,350 --> 00:23:42,600 Die toestel kom met preprepared Dropbox so dat as iets verkeerd gaan 481 00:23:42,600 --> 00:23:45,950 gedurende die semester, as jy het ingestel om jou toestel met 'n gratis 482 00:23:45,950 --> 00:23:48,950 Dropbox rekening, al jou lêers word outomaties back-up, sodat jy 483 00:23:48,950 --> 00:23:50,430 kan baie maklik herstel hulle. 484 00:23:50,430 --> 00:23:53,980 En ek gaan om te gaan in my Dropbox gids, en daar is reeds gaan 485 00:23:53,980 --> 00:23:55,530 om 'n paar ander dinge is daar. 486 00:23:55,530 --> 00:24:02,090 >> Maar ek gaan om voort te gaan en gaan na File, Save. 487 00:24:02,090 --> 00:24:05,930 Ek gaan om te gaan in jharvard, Dropbox, en hier, ek gaan 488 00:24:05,930 --> 00:24:10,590 gee my program 'n super eenvoudige naam, hello.c, en dan slaan. 489 00:24:10,590 --> 00:24:11,810 So ek het dieselfde koppelvlak nou. 490 00:24:11,810 --> 00:24:14,190 Die enigste ding wat verander is die blad up top. 491 00:24:14,190 --> 00:24:17,170 So ek is baie vinnig gaan te herskep die program van die 492 00:24:17,170 --> 00:24:19,060 gly 'n oomblik gelede. 493 00:24:19,060 --> 00:24:25,690 >> So in Hoofstraat (void), en dan printf, "Hallo, wêreld," het 'n ietwat kriptiese 494 00:24:25,690 --> 00:24:29,920 agteroorskuisstreep n, naby quote, sluit hakies, kommapunt, en 495 00:24:29,920 --> 00:24:32,030 dan te red Ctrl S. 496 00:24:32,030 --> 00:24:34,860 En kennis as 'n weg wat net verskyn hier op die links bo. 497 00:24:34,860 --> 00:24:37,490 En dit is nie nuttig vandag, maar nuttig sal wees oor die tyd. 498 00:24:37,490 --> 00:24:40,160 Jy moet net sien, weer, 'n opsomming van die kode wat jy geskryf het. 499 00:24:40,160 --> 00:24:43,320 En omdat ek het iets genoem hoof, dit is hoekom die woord hoof inloer 500 00:24:43,320 --> 00:24:44,030 tot daar. 501 00:24:44,030 --> 00:24:46,610 Maar vir die grootste deel, ons nie nodig dat ons vandag. 502 00:24:46,610 --> 00:24:51,130 >> Alle reg, so ek beweer dat dit is my eerste program geskryf in 'n programmeertaal 503 00:24:51,130 --> 00:24:54,620 taal, die sogenaamde C. Ons weet van Vrydag dat wat hierdie ding gaan doen 504 00:24:54,620 --> 00:24:58,450 baie uninterestingly toe ek hardloop en dit is net vertoon - 505 00:24:58,450 --> 00:25:01,270 Met ander woorde, druk, as 'n rekenaar wetenskaplike sou sê - 506 00:25:01,270 --> 00:25:03,310 hallo wêreld op die skerm. 507 00:25:03,310 --> 00:25:06,800 So om dit te doen, sal jy sien dat ek om af te gaan hier aan my terminale 508 00:25:06,800 --> 00:25:09,250 venster, en nou het ek ' 'n flikkerende vinnige. 509 00:25:09,250 --> 00:25:15,480 Maar dit is nou 'n klavier weergawe van my John Harvard tuisgids. 510 00:25:15,480 --> 00:25:19,610 Dit is 'n klawerbord manier via wat my hardeskyf te navigeer. 511 00:25:19,610 --> 00:25:25,380 >> So ek kan nie eintlik tik soos ek gedoen het laaste week maak hallo, want dit is 512 00:25:25,380 --> 00:25:27,230 gaan geen reël om te sê teiken te maak - 513 00:25:27,230 --> 00:25:27,950 iets is verkeerd. 514 00:25:27,950 --> 00:25:31,690 Ek weet nie mooi wat die boodskap beteken nie, maar dit is omdat by verstek, 515 00:25:31,690 --> 00:25:35,350 wanneer hierdie swart en wit venster oopgemaak het, ek is binnekant van John Harvard se 516 00:25:35,350 --> 00:25:36,160 tuisgids. 517 00:25:36,160 --> 00:25:39,180 Maar waar het ek behalwe dat program? 518 00:25:39,180 --> 00:25:40,440 In my Dropbox gids. 519 00:25:40,440 --> 00:25:43,110 >> Nou het ons almal grootgeword met rekenaars, waar jy net dubbel kliek 520 00:25:43,110 --> 00:25:45,610 op 'n gids se ikoon, is dit oopmaak, en siedaar. 521 00:25:45,610 --> 00:25:48,280 Dit is waar die lêer genaamd hello.c sou wees. 522 00:25:48,280 --> 00:25:49,470 So in werklikheid, laat ons dit doen. 523 00:25:49,470 --> 00:25:51,610 >> Laat my gaan voort en verminder gedit net soos jy sou op 524 00:25:51,610 --> 00:25:52,990 Windows of Mac OS. 525 00:25:52,990 --> 00:25:56,160 Laat my gaan in die Huis gids by die boonste linker. 526 00:25:56,160 --> 00:25:57,620 Ek sal hier te sien 'n klomp van die dopgehou. 527 00:25:57,620 --> 00:25:58,870 Hier is my Dropbox gids. 528 00:25:58,870 --> 00:26:00,770 Die regmerkies beteken dit is gesynchroniseerd. 529 00:26:00,770 --> 00:26:04,040 En daar is 'n paar dinge in hier, Maar let op dat hello.c is 530 00:26:04,040 --> 00:26:04,960 inderdaad reg daar. 531 00:26:04,960 --> 00:26:08,050 >> En so in Mac OS of Windows, normaalweg, Ek wil dubbel kliek wat, dit maak in 532 00:26:08,050 --> 00:26:10,220 alles wat die program, en ek is goed om te gaan. 533 00:26:10,220 --> 00:26:13,370 Maar nou, ten minste begin vandag, het ons nodig om 'n stap agteruit net te neem 534 00:26:13,370 --> 00:26:16,960 gee jou 'n paar basiese gereedskap vir jou tool kit met wat meer te doen 535 00:26:16,960 --> 00:26:18,980 kragtige dinge voor lank. 536 00:26:18,980 --> 00:26:22,280 >> So in hierdie vinnige, ek het om te doen ekwivalent van dubbel kliek op die 537 00:26:22,280 --> 00:26:23,560 Dropbox gids. 538 00:26:23,560 --> 00:26:29,900 En om dit te doen, ek gaan CD te tik vir verander gids, Dropbox, betree. 539 00:26:29,900 --> 00:26:36,100 En nou na die hakies aan my sogenaamde vinnige sê nou dat ek in 540 00:26:36,100 --> 00:26:38,470 tilde, die klein kronkel simbool op die links bo 541 00:26:38,470 --> 00:26:40,860 meeste keyboards, / Dropbox. 542 00:26:40,860 --> 00:26:45,200 Dit is net snelskriknotasie vir sê die mens, is jy nou binnekant van 543 00:26:45,200 --> 00:26:48,650 die Dropbox gids, net soos al jy het dubbel kliek op dit. 544 00:26:48,650 --> 00:26:54,610 >> So as ek nou gaan voort en tik maak hallo, tik, sien ek 'n baie kripties 545 00:26:54,610 --> 00:26:57,450 opdrag, maar nie 'n fout boodskap, dit lyk, en dan 546 00:26:57,450 --> 00:26:59,020 'n ander flikkerende vinnige. 547 00:26:59,020 --> 00:27:04,470 En as jy onthou, ooit so vinnig op Vrydag, ons het dit gedoen. / Hallo.. 548 00:27:04,470 --> 00:27:10,000 >> Wat jy oor om te sien, is die resultaat van my hardloop hierdie program, of, in Mac 549 00:27:10,000 --> 00:27:14,310 OS en PC terme, as ek normaalweg sou verdubbel Klik op 'n program -. 'n app 550 00:27:14,310 --> 00:27:17,620 program of 'n. exe, dit maak 'n venster en lopies. 551 00:27:17,620 --> 00:27:21,920 Tik / hallo. Is net soos dubbel klik van 'n program om dit te doen nie, maar 552 00:27:21,920 --> 00:27:23,280 die gebruik van my klawerbord. 553 00:27:23,280 --> 00:27:25,410 >> Betree, hallo wêreld. 554 00:27:25,410 --> 00:27:26,150 En dit is dit. 555 00:27:26,150 --> 00:27:29,150 So laat terg hierdie uitmekaar te sodat dit voel nie te veel soos Grieks. 556 00:27:29,150 --> 00:27:31,370 >> So / beteken. Wat? 557 00:27:31,370 --> 00:27:34,120 Enigiemand wat al ooit 'n klawerbord navigator omgewing soos hierdie, wat is dot 558 00:27:34,120 --> 00:27:36,690 verwys na? 559 00:27:36,690 --> 00:27:37,800 Die huidige gids. 560 00:27:37,800 --> 00:27:41,320 >> So het die huidige gids is net 'n sinoniem vir 'n gids. 561 00:27:41,320 --> 00:27:46,230 So deur te sê dot streep, ek sê, kyk vir 'n program genaamd hallo in die 562 00:27:46,230 --> 00:27:47,250 huidige gids - 563 00:27:47,250 --> 00:27:48,540 in die huidige gids. 564 00:27:48,540 --> 00:27:50,480 Met ander woorde, my Dropbox gids. 565 00:27:50,480 --> 00:27:54,220 En dit is die rede waarom slaan Tik daarna eintlik loop die program. 566 00:27:54,220 --> 00:27:58,790 >> As ek nou tipe LS, sien wat ek sien alles in my Dropbox gids. 567 00:27:58,790 --> 00:28:02,000 Kry Started.pdf, wat Dropbox gee jou gratis, my foto's 568 00:28:02,000 --> 00:28:05,450 gids, 'n openbare gids, ongered Dokument 1 wat ek gemaak het per ongeluk 'n 569 00:28:05,450 --> 00:28:09,730 oomblik gelede, foo.c, wat ek vroeër gemaak het vandag, en dan twee lyne - 570 00:28:09,730 --> 00:28:12,090 hello.c en groet. 571 00:28:12,090 --> 00:28:17,280 >> Hello.c is die program wat ek geskryf het met gedit, en wat is hallo in groen? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 Die hallo in groen is die uitvoerbare. 574 00:28:22,940 --> 00:28:27,020 Met ander woorde, wanneer ek het hierdie opdrag 'n oomblik gelede - laat my rol 575 00:28:27,020 --> 00:28:28,040 terug in die tyd - 576 00:28:28,040 --> 00:28:32,400 toe ek gehardloop om hallo, dis die middel stap hier. 577 00:28:32,400 --> 00:28:34,410 En dit het hello.c as insette - 578 00:28:34,410 --> 00:28:39,910 AKA bron-kode - en dit het 'n lêer genaamd hallo as uitset, wat 579 00:28:39,910 --> 00:28:42,510 bevat al hierdie nulle en ene. 580 00:28:42,510 --> 00:28:47,640 En dit is hoekom, in die einde, kan ek eintlik loop 'n opdrag soos / hallo.. 581 00:28:47,640 --> 00:28:53,310 As gevolg van Intel Inside, my bedryfstelsel stelsel, Linux, open die nulle 582 00:28:53,310 --> 00:28:55,820 en kinders, voer hulle in die brein van my rekenaar - 583 00:28:55,820 --> 00:28:56,580 die CPU - 584 00:28:56,580 --> 00:29:00,460 en dat CPU weet, o, hier is 'n patroon van nulle en ene wat sê 585 00:29:00,460 --> 00:29:02,800 druk die volgende ding op die skerm. 586 00:29:02,800 --> 00:29:04,450 >> Wat is die volgende ding? 587 00:29:04,450 --> 00:29:07,650 Haal unquote, "hallo wêreld." 588 00:29:07,650 --> 00:29:12,100 >> Alle reg, so 'n vinnige opsomming van sommige van hierdie opdragte sodat ons kan begin 589 00:29:12,100 --> 00:29:13,350 neem dit as vanselfsprekend aanvaar. 590 00:29:13,350 --> 00:29:15,550 Laat my voor te slaan waar ons opgehou het. 591 00:29:15,550 --> 00:29:22,230 En jy sal onthou dat ons moes CD by ons terug 'n oomblik gelede beëindig. 592 00:29:22,230 --> 00:29:24,880 Dit is, durf ek sê, vir Vandag se doel - 593 00:29:24,880 --> 00:29:29,010 Miskien is hierdie week - die enigste bevele ons dalk nodig het om te tik op die command 594 00:29:29,010 --> 00:29:30,580 gevra Behalwe maak. 595 00:29:30,580 --> 00:29:34,510 >> So CD staan ​​vir wat? 596 00:29:34,510 --> 00:29:35,180 Verandering gids. 597 00:29:35,180 --> 00:29:38,010 Dis net die ekwivalent van dubbele kliek op 'n gids. 598 00:29:38,010 --> 00:29:41,320 En as 'n eenkant, as jy verloor ooit die binnekant van jou 599 00:29:41,320 --> 00:29:43,430 toestel, soos dat Dropbox - 600 00:29:43,430 --> 00:29:45,420 Ek wil terug te kry om my jharvard Gids - 601 00:29:45,420 --> 00:29:50,490 Wanneer jy twyfel, CD, betree, met geen ander woorde, en dit net ritssluiters jy terug 602 00:29:50,490 --> 00:29:53,110 na die plek waar jy begin het, wat is 'n mooi klein kortpad. 603 00:29:53,110 --> 00:29:54,840 >> Alle reg, so nou ander opdragte. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 Ek getik wat 'n oomblik gelede. 606 00:29:56,840 --> 00:29:59,500 Wat dink jy LS staan ​​vir? 607 00:29:59,500 --> 00:30:00,470 >> So, lys, reg? 608 00:30:00,470 --> 00:30:03,300 Terug in die dag, wanneer die mens het gekom met hierdie opdragte, het hulle 609 00:30:03,300 --> 00:30:07,180 probeer om doeltreffend te wees, en eerder tik L-ek-S-T betree, hulle 610 00:30:07,180 --> 00:30:08,470 besluit LS. 611 00:30:08,470 --> 00:30:09,080 Dit is fyn. 612 00:30:09,080 --> 00:30:10,420 Dit klink soos genoeg lys. 613 00:30:10,420 --> 00:30:13,870 Laat ons net soort LS binnekom, en dat lys van die lêers of gidse in my 614 00:30:13,870 --> 00:30:15,000 huidige gids. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, jy kan seker raai. 616 00:30:17,530 --> 00:30:18,440 Maak gids. 617 00:30:18,440 --> 00:30:22,010 So jy gaan nie na 'n lêer spyskaart en kies 'n nuwe gids in hierdie omgewing. 618 00:30:22,010 --> 00:30:27,410 Inteendeel, jy tik die opdrag mkdir ruimte en dan is die naam van die gids 619 00:30:27,410 --> 00:30:29,850 wat jy wil skep, en dit sal gedoen word. 620 00:30:29,850 --> 00:30:32,380 >> RM, jy kan seker raai. 621 00:30:32,380 --> 00:30:33,480 Verwyder of te verwyder. 622 00:30:33,480 --> 00:30:36,740 So as jy wil 'n lêer te verwyder, sal jy sien in die probleem stel hoe jy 623 00:30:36,740 --> 00:30:37,240 kan dit doen. 624 00:30:37,240 --> 00:30:39,510 En rmdir, verwyder gids. 625 00:30:39,510 --> 00:30:42,320 >> So, weer, sal ek geneig is om te vlieg deur 'n paar van hierdie inligting, een, want 626 00:30:42,320 --> 00:30:46,010 dit is nie al wat soveel pret te spandeer tyd op, maar twee, sal ons u voorsien in 627 00:30:46,010 --> 00:30:48,720 veel groter detail in enige van die Natuurlik se probleem sit, veral 628 00:30:48,720 --> 00:30:52,370 die standaard-uitgawes, enige van die stappe wat jy dalk nodig het om dit te tik 629 00:30:52,370 --> 00:30:54,830 dat jy meer en meer gemaklik met hierdie dinge. 630 00:30:54,830 --> 00:30:57,430 >> Maar nou laat my uitmekaar terg 'n ander ding. 631 00:30:57,430 --> 00:31:02,580 Wanneer ons getik hallo maak 'n oomblik gelede Ons het 'n kriptiese volgorde van instruksies. 632 00:31:02,580 --> 00:31:04,805 Ons het, weer, maak hallo. 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 OK, laat ons dit doen. 635 00:31:08,520 --> 00:31:11,840 Ek was omtrent 'n fout te maak nie, maar [Onhoorbaar] nou erken ek was op die punt om 636 00:31:11,840 --> 00:31:14,400 en doen dit doelbewus. 637 00:31:14,400 --> 00:31:15,810 >> Wat het ek verkeerd gedoen net nou? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 Ja, so ek is nie in die Dropbox Gids, want 'n oomblik gelede het ek 640 00:31:21,060 --> 00:31:22,720 getikte CD en net getref betree. 641 00:31:22,720 --> 00:31:25,480 Dit ingezoomd my terug na waar ek begin het, Dit is nie waar my lêer 642 00:31:25,480 --> 00:31:31,720 word, so ek regtig nodig het om te doen CD Dropbox betree, en nou kan ek doen rm hallo 643 00:31:31,720 --> 00:31:34,060 betree, verwyder gewone lêer hallo. 644 00:31:34,060 --> 00:31:35,200 Ek weet nie hoekom dit so kripties. 645 00:31:35,200 --> 00:31:37,600 Dit beteken net is jy seker jy wil hallo te verwyder? 646 00:31:37,600 --> 00:31:41,510 Jy kan tik y vir ja, betree, en nou is dit weg. 647 00:31:41,510 --> 00:31:46,010 >> En as ek nou tik maak hallo weer, dit is gaan my voorwerp kode te skep, 648 00:31:46,010 --> 00:31:47,460 herskep die nulle en ene. 649 00:31:47,460 --> 00:31:51,070 Maar wat is die ooreenkoms met hierdie baie lang opdrag? 650 00:31:51,070 --> 00:31:53,960 Wel, ons sal terg hierdie uitmekaar kort voor lank, maar maak - 651 00:31:53,960 --> 00:31:55,500 Ek het 'n bietjie van 'n wit leuen voor - 652 00:31:55,500 --> 00:31:56,880 is nie 'n vertaler. 653 00:31:56,880 --> 00:32:00,350 Maak, is 'n program wat outomaties figure uit hoe om 'n te voer 654 00:32:00,350 --> 00:32:02,060 vertaler vir jou. 655 00:32:02,060 --> 00:32:07,490 >> So het die opdrag wat jy werklik moet wees loop om hello.c te omskep 656 00:32:07,490 --> 00:32:11,240 in hallo eintlik lyk 'n bietjie meer soos hierdie. 657 00:32:11,240 --> 00:32:15,900 En God verbied ons moet eintlik onthou om ooit tik dat die hele 658 00:32:15,900 --> 00:32:17,280 volgorde van instruksies uit. 659 00:32:17,280 --> 00:32:21,360 Die doel van die maak in die lewe is om te onthou dat graad van kompleksiteit vir 660 00:32:21,360 --> 00:32:24,470 ons en outomatiseer wat andersins baie vervelige stappe. 661 00:32:24,470 --> 00:32:26,040 >> Maar ek kan benader nie. 662 00:32:26,040 --> 00:32:29,960 So per hierdie klein cheat sheet hier, ek kan benader wat dit opdrag is 663 00:32:29,960 --> 00:32:33,960 doen deur eenvoudig te tik klang, wat die naam van die samesteller ons sal wees 664 00:32:33,960 --> 00:32:35,170 die gebruik van hierdie semester. 665 00:32:35,170 --> 00:32:38,500 Indien enige van julle het al ooit gedoen IOS ontwikkeling vir die iPhone of iPad, 666 00:32:38,500 --> 00:32:42,930 Klang is die program wat jy gebruik binne Xcode jou programme te maak. 667 00:32:42,930 --> 00:32:46,360 Klang, al is, is net nog 'n program wie se naam ons kan tik op die command 668 00:32:46,360 --> 00:32:49,210 gevra, en deur die bekendstelling van hierdie nou, Ek kan voer iets wat 'n 669 00:32:49,210 --> 00:32:52,410 bietjie verteenwoordiger instruksies te kom. 670 00:32:52,410 --> 00:32:53,910 So laat ek dit doen met die hand. 671 00:32:53,910 --> 00:32:59,240 >> So rm hallo, en nou in kennis geval Ek, net soos 'n gesonde verstand gaan - 672 00:32:59,240 --> 00:33:03,180 / Hallo., Doen wat jy dink ek moet sien as ek dit doen? 673 00:33:03,180 --> 00:33:04,060 'N soort van fout. 674 00:33:04,060 --> 00:33:05,110 Geen so 'n lêer gids. 675 00:33:05,110 --> 00:33:06,740 Sodat 'n mens is eintlik redelik direkte. 676 00:33:06,740 --> 00:33:08,110 >> So nou laat my duidelik die skerm. 677 00:33:08,110 --> 00:33:11,370 Control S klaar net die skerm 'n afleiding te verwyder. 678 00:33:11,370 --> 00:33:17,160 En nou gaan ek met die hand te tipe klang-o hallo hello.c. 679 00:33:17,160 --> 00:33:18,890 So wat is dit oor te doen? 680 00:33:18,890 --> 00:33:23,820 Presies dieselfde ding wat gedoen het vir ons, maar ek het weggooi sommige van 681 00:33:23,820 --> 00:33:25,430 die onnodige woorde. 682 00:33:25,430 --> 00:33:28,570 >> Klang is die program wat gaan neem 'n C-lêer. as insette en produseer 683 00:33:28,570 --> 00:33:30,110 nulle en ene as uitset. 684 00:33:30,110 --> 00:33:35,120 Maar-o voortaan sal noem 'n skakelaar of 'n vlag. 685 00:33:35,120 --> 00:33:39,080 Dit is net techie jargon om te sê dit is 'n woord wat jy tik op 'n vinnige 686 00:33:39,080 --> 00:33:42,590 wat een of ander manier beïnvloed die gedrag van die program wat jy loop. 687 00:33:42,590 --> 00:33:47,180 So het iemand wil hê om te raai wat-o dra? 688 00:33:47,180 --> 00:33:47,840 >> Uitset. 689 00:33:47,840 --> 00:33:52,670 Dis net iemand besluit-o beteken uitset 'n lêer genaamd hallo en neem as 690 00:33:52,670 --> 00:33:56,440 insette wat die laaste woord oor die spoedige is, hello.c, so dat as ek getref 691 00:33:56,440 --> 00:33:58,930 Tik nou, blyk dit dat niks gebeur nie. 692 00:33:58,930 --> 00:34:02,010 En vreemd genoeg, in hierdie wêreld van ontwikkeling, as niks gebeur nie, 693 00:34:02,010 --> 00:34:03,980 dit is waarskynlik 'n goeie ding want daar is geen fout 694 00:34:03,980 --> 00:34:05,350 boodskap op die skerm. 695 00:34:05,350 --> 00:34:07,190 Hallo, Tik. 696 00:34:07,190 --> 00:34:08,670 My program is nou hardloop. 697 00:34:08,670 --> 00:34:14,517 >> Maar ek kan doen dom min dinge soos hierdie. klang-o, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 betree, en nou het ek 'n identiese program met die naam hihihi. 699 00:34:18,590 --> 00:34:20,739 Dit optree dieselfde, maar die naam is anders. 700 00:34:20,739 --> 00:34:23,360 >> So dit is net om te sê dat as jy wil die gedrag van 'n te beïnvloed 701 00:34:23,360 --> 00:34:25,909 program, gaan ons toenemend sien dinge genoem 702 00:34:25,909 --> 00:34:27,739 command line argumente. 703 00:34:27,739 --> 00:34:28,639 Dit is 'n lyn. 704 00:34:28,639 --> 00:34:29,580 Jy tik opdragte. 705 00:34:29,580 --> 00:34:30,969 Ergo, command line. 706 00:34:30,969 --> 00:34:35,690 En command line argumente is net woorde of klein stukkies van sintaksis wat 707 00:34:35,690 --> 00:34:40,840 een of ander manier beïnvloed die gedrag van programme wat ons hardloop. 708 00:34:40,840 --> 00:34:44,639 >> Alle reg, dit is dalk die mees vervelige program wat ons kan skryf en jy sien. 709 00:34:44,639 --> 00:34:46,670 Kom ons doen nou iets meer interessant. 710 00:34:46,670 --> 00:34:49,420 Laat my voort te gaan en 'n nuwe lêer. 711 00:34:49,420 --> 00:34:53,139 Ek gaan om voort te gaan en dit in red John Harvard se tuisgids as, 712 00:34:53,139 --> 00:34:58,670 Kom ons noem dit custom.c, te wees 'n bietjie persoonlike program. 713 00:34:58,670 --> 00:35:01,920 Ek gaan om te zoem op my bo- die oortjies hier en begin weer. 714 00:35:01,920 --> 00:35:03,730 >> Sluit in standaard stdio.h. 715 00:35:03,730 --> 00:35:04,990 Meer oor wat in 'n oomblik. 716 00:35:04,990 --> 00:35:08,240 int main (void), meer op wat in 'n oomblik. 717 00:35:08,240 --> 00:35:09,490 printf ("hallo, David"). 718 00:35:09,490 --> 00:35:12,810 719 00:35:12,810 --> 00:35:14,560 Veel meer interessant, reg? 720 00:35:14,560 --> 00:35:20,690 >> So nou as - nie as gevolg van my naam, net omdat dit anders is - 721 00:35:20,690 --> 00:35:24,950 Maak persoonlike betree. 722 00:35:24,950 --> 00:35:26,780 Custom, hallo, David. 723 00:35:26,780 --> 00:35:28,020 Maar selfs dit is ook 'n wit leuen. 724 00:35:28,020 --> 00:35:30,850 Hierdie program kan net so goed genoem word david.c, want dit is nie persoonlike 725 00:35:30,850 --> 00:35:31,880 gedrag nie. 726 00:35:31,880 --> 00:35:35,080 Regtig, ek wil 'n program wat vra die gebruiker om hul naam. 727 00:35:35,080 --> 00:35:36,320 >> So, hoe doen ek dit? 728 00:35:36,320 --> 00:35:38,520 Wel, laat my blaai tot hier. 729 00:35:38,520 --> 00:35:42,960 En voor ek gebruik om 'n verklaring in Nuuts af, voordat ek gebruik printf, 730 00:35:42,960 --> 00:35:47,600 andersins bekend as 'n funksie, laat my eerste vra die gebruiker vir 'n paar insette. 731 00:35:47,600 --> 00:35:49,690 >> So om dit te doen, moet ek doen 'n paar dinge. 732 00:35:49,690 --> 00:35:53,360 Een, ek moet 'n plek om te stoor die gebruiker se noem nadat ek hom gevra het of 733 00:35:53,360 --> 00:35:54,510 haar vir dit. 734 00:35:54,510 --> 00:36:00,120 Wat konstruk moet ek waarskynlik gebruik 'n waarde soos dit op te slaan? 735 00:36:00,120 --> 00:36:00,910 'N veranderlike. 736 00:36:00,910 --> 00:36:05,130 >> So anders as nuuts af, waar jy net 'n mooi legkaart stuk, hier, ons het te 737 00:36:05,130 --> 00:36:07,620 gebruik, natuurlik, om woorde te onsself uitdruk. 738 00:36:07,620 --> 00:36:11,510 En nou af, wanneer jy wil 'n woord of 'n frase in ontwikkeling, 739 00:36:11,510 --> 00:36:13,090 ons gaan om te noem dat 'n string. 740 00:36:13,090 --> 00:36:14,990 So 'n string is 'n woord of 'n frase. 741 00:36:14,990 --> 00:36:18,170 Dit is 'n reeks van nul of meer karakters, meer formeel. 742 00:36:18,170 --> 00:36:22,520 >> En as jy wil so 'n veranderlike te bestaan ​​nie, jy het om te sê gee my een. 743 00:36:22,520 --> 00:36:27,490 En die manier waarop jy dit doen is om te sê string s kommapunt, waar s kan wees 744 00:36:27,490 --> 00:36:28,740 enigiets wat jy wil. 745 00:36:28,740 --> 00:36:30,510 In werklikheid, s is 'n bietjie underwhelming. 746 00:36:30,510 --> 00:36:33,250 Laat my voor en meer gaan duidelik noem dit naam. 747 00:36:33,250 --> 00:36:36,570 Gee my 'n string genoem naam. 748 00:36:36,570 --> 00:36:40,180 >> Maar nou, wat is die persoon se naam by verstek? 749 00:36:40,180 --> 00:36:42,930 Wel, as die menslike nie tik enigiets in, natuurlik, daar gaan 750 00:36:42,930 --> 00:36:44,310 om geen waarde in naam. 751 00:36:44,310 --> 00:36:48,120 En dit blyk in C, as jy nie 'n veranderlike 'n waarde is, gaan dit 752 00:36:48,120 --> 00:36:49,180 het 'n gemors waarde. 753 00:36:49,180 --> 00:36:51,650 Dit kan 'n paar random nulle en kinders, sodat jy net gaan om te sien 754 00:36:51,650 --> 00:36:54,570 vullis, waarlik, op die skerm as jy probeer om dit te vertoon. 755 00:36:54,570 --> 00:36:59,800 >> Maar ek kan dit regmaak deur te sê, eintlik, winkel binnekant van die naam 756 00:36:59,800 --> 00:37:01,400 na aanleiding van waarde. 757 00:37:01,400 --> 00:37:09,240 Die manier waarop jy slaan waardes in veranderlikes as jy 'n veranderlike naam op die 758 00:37:09,240 --> 00:37:13,370 verlaat het, moet jy een of ander manier dit wat jy wil stoor in dit op die regte, en 759 00:37:13,370 --> 00:37:17,650 die sintaksis vir wat gaan te wees soos volg. 760 00:37:17,650 --> 00:37:22,120 >> Ons het nie gesien dit voor, maar neem op geloof vir 'n oomblik dat daar 761 00:37:22,120 --> 00:37:26,270 bestaan ​​nog 'n verklaring in die wêreld dat ek weer gaan roep funksie, 762 00:37:26,270 --> 00:37:28,310 en hierdie funksie is genoem kry snaar. 763 00:37:28,310 --> 00:37:29,670 En is dit nie letterlik nie. 764 00:37:29,670 --> 00:37:34,680 Dit raak een of ander manier 'n reeks van karakters van die menslike en dan 765 00:37:34,680 --> 00:37:36,380 doen iets met dit. 766 00:37:36,380 --> 00:37:38,410 >> En dit lyk nie of kriptiese sintaksis. 767 00:37:38,410 --> 00:37:40,880 Gewoonlik, as jy met gelyke tekens - jy is in die wêreld van, sê, 768 00:37:40,880 --> 00:37:43,740 algebra, en jy is eintlik sê x is gelyk aan 1. 769 00:37:43,740 --> 00:37:46,570 Hier is ons nie sê dat naam gelyk kry snaar. 770 00:37:46,570 --> 00:37:51,270 Ons sê winkel in naam wat is op die regterkant 771 00:37:51,270 --> 00:37:52,400 van daardie gelyk aan teken. 772 00:37:52,400 --> 00:37:55,030 Die gelykaanteken verteenwoordig die opdrag operateur. 773 00:37:55,030 --> 00:37:58,240 Dit is die sintaksis wat sê het wat op die regterkant binnekant wat is 774 00:37:58,240 --> 00:37:59,090 aan die linkerkant. 775 00:37:59,090 --> 00:38:03,040 So kry string is 'n nuwe stuk funksies wat nie net 776 00:38:03,040 --> 00:38:03,670 iets - 777 00:38:03,670 --> 00:38:05,000 vra die gebruiker vir 'n string - 778 00:38:05,000 --> 00:38:08,500 dit gee dit ook, om so te praat. 779 00:38:08,500 --> 00:38:10,690 >> So laat ons sien wat gaan hier gebeur. 780 00:38:10,690 --> 00:38:14,300 Ek gaan om voort te gaan nou en uitzoem, en ek gaan 'n paar te kry 781 00:38:14,300 --> 00:38:15,780 foute op my vinnige. 782 00:38:15,780 --> 00:38:18,750 Ek gaan om te tik persoonlike maak, betree. 783 00:38:18,750 --> 00:38:19,230 Sjoe. 784 00:38:19,230 --> 00:38:20,500 'N Hele klomp van foute. 785 00:38:20,500 --> 00:38:23,120 >> Alle reg, so hierdie is 'n soort van oorweldigend, seker op die eerste, maar 786 00:38:23,120 --> 00:38:27,220 dit blyk al hierdie baie weliswaar kriptiese fout boodskappe 787 00:38:27,220 --> 00:38:30,700 verwys na 'n paar patrone wat ons sal begin om te sien met verloop van tyd. 788 00:38:30,700 --> 00:38:32,600 So hierdie een sal ek aftrek, want dit is die eerste. 789 00:38:32,600 --> 00:38:35,700 Gebruik van swart identifikasie string. 790 00:38:35,700 --> 00:38:39,400 >> Dit beteken net dat gedit, of klang, in hierdie geval, weet nie 791 00:38:39,400 --> 00:38:40,780 wat ek bedoel met tou. 792 00:38:40,780 --> 00:38:43,880 En dit is omdat in C, die ontwikkeling taal, is daar eintlik 793 00:38:43,880 --> 00:38:47,750 geen veranderlike van tipe string. 794 00:38:47,750 --> 00:38:49,810 C nie weet dat snare bestaan ​​nie. 795 00:38:49,810 --> 00:38:52,260 >> Maar ons, CS50 personeel, doen. 796 00:38:52,260 --> 00:38:57,080 En so in die hand van die klas, het ons 'n lêer genaamd CS50.h. 797 00:38:57,080 --> 00:39:00,060 En binnekant van hierdie lêer - en Meer oor die sintaksis te kom - 798 00:39:00,060 --> 00:39:03,730 binnekant van hierdie lêer is 'n definisie van wat ek nou net gedefinieer 799 00:39:03,730 --> 00:39:05,340 mondelings as 'n string. 800 00:39:05,340 --> 00:39:09,100 So eenvoudig deur die sluiting van hierdie een lyn van die kode in my program, is ek nou 801 00:39:09,100 --> 00:39:14,620 onderrig gedit en maak en klang al in draai wat 'n string is. 802 00:39:14,620 --> 00:39:15,475 >> Ek weet nie hoe nie. 803 00:39:15,475 --> 00:39:17,110 In 'n paar weke, sal ons skil terug wat laag. 804 00:39:17,110 --> 00:39:20,340 Maar vir nou, weet dat hierdie leer die samesteller wat 'n 805 00:39:20,340 --> 00:39:22,020 string is eintlik. 806 00:39:22,020 --> 00:39:24,230 >> So nou laat my skoon my terminale hier. 807 00:39:24,230 --> 00:39:28,530 Laat my weer uit te voer om persoonlike, en ek opgelos al die probleme. 808 00:39:28,530 --> 00:39:30,210 So ook dit gaan 'n herhalende tema. 809 00:39:30,210 --> 00:39:34,190 Ek het 'n 9 line program, en maar ek het 18 lyne van foute. 810 00:39:34,190 --> 00:39:35,650 Dit is soort van te intimideer. 811 00:39:35,650 --> 00:39:39,260 Maar besef dat hulle dikwels waterval soos dat 'n mens bietjie fout snellers 812 00:39:39,260 --> 00:39:43,070 die verwarring vir die samesteller, en dit lyk baie erger as wat dit is. 813 00:39:43,070 --> 00:39:47,460 >> So nou 'n slim waarnemer sal weet dat Ek kry 'n string van die 814 00:39:47,460 --> 00:39:51,460 gebruiker, maar ek is nie eintlik doen wat met dit? 815 00:39:51,460 --> 00:39:53,570 Ek het eintlik nie doen niks met dit. 816 00:39:53,570 --> 00:40:01,240 So as ek eintlik loop gewoonte weer dit gaan net daar sit. 817 00:40:01,240 --> 00:40:03,380 Wat gaan aan? 818 00:40:03,380 --> 00:40:07,990 My program blyk te wees vas op watter lyn, sou jy sê? 819 00:40:07,990 --> 00:40:09,860 >> So dit is eintlik vas on line 7. 820 00:40:09,860 --> 00:40:13,600 En ons het nie gesien dit voor, maar on line 7, daar is, weer, hierdie 821 00:40:13,600 --> 00:40:14,650 verklaring, kry snaar. 822 00:40:14,650 --> 00:40:15,930 En dit is wat dit sê. 823 00:40:15,930 --> 00:40:18,480 Dit is nou wag vir die menslike die string te neem. 824 00:40:18,480 --> 00:40:22,230 Dit is heeltemal unintuitive vir my, die mens, want ek het dit nie 825 00:40:22,230 --> 00:40:23,040 wat om te doen. 826 00:40:23,040 --> 00:40:27,320 >> Maar laat my gaan voort op geloof en laat my voorgee om te wees Rob. 827 00:40:27,320 --> 00:40:28,500 Betree. 828 00:40:28,500 --> 00:40:30,930 Dit is nie die program wat ek bedoel. 829 00:40:30,930 --> 00:40:32,350 So het ons ons eerste blog. 830 00:40:32,350 --> 00:40:34,390 >> Maar laat ons probeer om te redeneer deur waarom dit die geval is. 831 00:40:34,390 --> 00:40:36,940 Eerste, laat my los hierdie eerste probleem. 832 00:40:36,940 --> 00:40:44,690 Laat my voeg 'n lyn hier wat sê printf, wat is jou naam? 833 00:40:44,690 --> 00:40:47,700 Laat ons net naby quote, sluit hakies. 834 00:40:47,700 --> 00:40:51,350 >> Nou kan ek weer uit te voer die program. 835 00:40:51,350 --> 00:40:51,760 Probleem. 836 00:40:51,760 --> 00:40:54,690 Ek is nie sien nie. 837 00:40:54,690 --> 00:40:54,930 >> Reg. 838 00:40:54,930 --> 00:40:55,990 Ek het nie heropstel dit. 839 00:40:55,990 --> 00:40:59,800 So in 'n taal soos C, want jy verander die bron-kode, beteken nie 840 00:40:59,800 --> 00:41:03,170 dat jy het verander jou voorwerp-kode nuwe voorwerp kode te genereer, 841 00:41:03,170 --> 00:41:04,330 nuwe nulle en ene. 842 00:41:04,330 --> 00:41:05,590 Jy het om te heropstel. 843 00:41:05,590 --> 00:41:10,300 As ek nou weer uit te voer persoonlike, betree, Ag, 'n bietjie meer duidelik. 844 00:41:10,300 --> 00:41:11,890 My naam is Rob. 845 00:41:11,890 --> 00:41:12,760 Nog steeds karretjie. 846 00:41:12,760 --> 00:41:14,170 >> En Ek wil argumenteer daar is 'n paar foute nou. 847 00:41:14,170 --> 00:41:15,450 Dit lyk net afskuwelike, eerlik. 848 00:41:15,450 --> 00:41:18,980 Soos, minimaal, moet ek 'n ruimte is daar, of beweeg die 849 00:41:18,980 --> 00:41:20,330 wyser na die nuwe lyn. 850 00:41:20,330 --> 00:41:21,370 >> En eintlik, 'n nuwe lyn. 851 00:41:21,370 --> 00:41:24,660 Dit is soort van 'n sleutelbegrip hier is dat ons het gesien, maar nie gedefinieer nie. 852 00:41:24,660 --> 00:41:28,560 Die manier waarop jy 'n teks om te beweeg op die volgende reël, 853 00:41:28,560 --> 00:41:29,480 jy doen dit nie. 854 00:41:29,480 --> 00:41:31,070 Dit is verwarrend vir die rekenaar. 855 00:41:31,070 --> 00:41:33,830 Dit lyk soos twee afsonderlike lyne van die kode, wat nie 856 00:41:33,830 --> 00:41:35,010 is heeltemal korrek is. 857 00:41:35,010 --> 00:41:39,380 Jy plaas moet meer eksplisiete en sê, gee my 'n nuwe lyn, wat ons 858 00:41:39,380 --> 00:41:41,810 verteenwoordig in c met agteroorskuisstreep n. 859 00:41:41,810 --> 00:41:43,230 >> So is daar 'n paar sulke karakters. 860 00:41:43,230 --> 00:41:45,080 Agteroorskuisstreep n sal regmaak wat estetiese. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 Laat my heropstel my program. 863 00:41:50,870 --> 00:41:52,300 Laat my weer uit te voer my program. 864 00:41:52,300 --> 00:41:53,520 >> Dit lyk beter. 865 00:41:53,520 --> 00:41:56,960 Dit is nog baie primitief, maar dit is ook nog steeds karretjie. 866 00:41:56,960 --> 00:41:58,090 So daar is een - 867 00:41:58,090 --> 00:42:01,680 selfs as jy nog nooit geprogrammeer voor, jy kan waarskynlik 'n raaiskoot 868 00:42:01,680 --> 00:42:04,960 na die rede waarom hierdie program is nog gebrekkig. 869 00:42:04,960 --> 00:42:08,540 Wat het ek nodig om dit te doen Ek het nog nie gedoen nie? 870 00:42:08,540 --> 00:42:10,450 >> So ek het om werklik te doen iets met die naam. 871 00:42:10,450 --> 00:42:14,190 Net soos in nuuts af, jy kan eintlik toewys aan 'n veranderlike soos n of 872 00:42:14,190 --> 00:42:16,150 werk soos ons gedoen het die afgelope week - 'n waarde. 873 00:42:16,150 --> 00:42:18,930 Maar as jy niks doen nie met dit is niks gaan gebeur nie. 874 00:42:18,930 --> 00:42:20,210 >> Alle reg, so laat los. 875 00:42:20,210 --> 00:42:23,670 Laat my tik my veranderlike daar, en laat my gaan hier. 876 00:42:23,670 --> 00:42:29,120 Laat my heropstel, laat my re-run, Rob. 877 00:42:29,120 --> 00:42:30,540 Nou is ek net 'n idioot, reg? 878 00:42:30,540 --> 00:42:33,280 >> So, dit is nie regtig kry my nie verder. 879 00:42:33,280 --> 00:42:35,850 Maar dit was 'n volkome natuurlike instink, wil ek argumenteer, reg? 880 00:42:35,850 --> 00:42:39,340 As die veranderlike genoem naam, en ek dit wil hê om daar te gaan, hoekom ek nie net 881 00:42:39,340 --> 00:42:40,200 tik dit daar? 882 00:42:40,200 --> 00:42:42,210 >> Wel, natuurlik, ons het nou onderskei 883 00:42:42,210 --> 00:42:44,070 tussen wat 'n string? 884 00:42:44,070 --> 00:42:47,060 Let op dat die kwotasie unquote hier, hallo naam? 885 00:42:47,060 --> 00:42:48,960 Dit is eintlik self 'n string. 886 00:42:48,960 --> 00:42:49,820 Dit is moeilik om gekodeer. 887 00:42:49,820 --> 00:42:50,690 Dit is nie van die mens. 888 00:42:50,690 --> 00:42:54,020 Dit is vir my nie, die oorspronklike programmeerder, maar dit is nog steeds 'n string. 889 00:42:54,020 --> 00:42:58,300 >> So as jy letterlik skryf N-A-M-E binnekant van 'n string, wat gaan aan 890 00:42:58,300 --> 00:42:59,120 kry gedruk? 891 00:42:59,120 --> 00:43:03,660 Wel, N-A-M-E. Ons plaas nodig printf te vertel, druk nie 892 00:43:03,660 --> 00:43:04,870 uit letterlik noem. 893 00:43:04,870 --> 00:43:06,680 Druk die waarde van 'n naam. 894 00:43:06,680 --> 00:43:08,410 >> En om dit te doen, doen ons die volgende. 895 00:43:08,410 --> 00:43:09,800 En dit is net 'n menslike konvensie. 896 00:43:09,800 --> 00:43:14,990 Ons plaas sê% s, en wat staan ​​vir string. 897 00:43:14,990 --> 00:43:19,810 En dan aan die einde van my goeie aanhalings, Ek gaan 'n komma te sit en 898 00:43:19,810 --> 00:43:23,790 slaag 'n tweede argument in hierdie stelling. 899 00:43:23,790 --> 00:43:25,970 Ek gaan Naam daar te tik. 900 00:43:25,970 --> 00:43:27,960 >> So nou sien ons 'n effens nuwe sintaksis. 901 00:43:27,960 --> 00:43:32,320 Ons het nog twee hakies, en Verder moet ek sê dat die dinge 902 00:43:32,320 --> 00:43:36,830 tussen hakies verteenwoordig argumente in 'n funksie - 903 00:43:36,830 --> 00:43:39,730 insette wat een of ander manier gaan sy gedrag te beïnvloed. 904 00:43:39,730 --> 00:43:43,010 So deur daardie logika, hoeveel argumente nie printf blyk te wees 905 00:43:43,010 --> 00:43:45,450 neem op hierdie oomblik? 906 00:43:45,450 --> 00:43:48,370 >> So dit blyk te wees wat twee, en dit is inderdaad geïmpliseer 907 00:43:48,370 --> 00:43:49,570 deur die komma hier. 908 00:43:49,570 --> 00:43:51,640 So dit is een argument tussen aanhalingstekens. 909 00:43:51,640 --> 00:43:54,540 Selfs al is dit 'n komma, alles is in aanhalingstekens, wat beteken 910 00:43:54,540 --> 00:43:56,230 dit is 'n lang tou. 911 00:43:56,230 --> 00:43:58,280 Komma, veranderlike naam. 912 00:43:58,280 --> 00:44:00,680 >> So nou laat my zoom uit. 913 00:44:00,680 --> 00:44:02,240 Laat my weer uit te voer nie. 914 00:44:02,240 --> 00:44:03,490 Rob. 915 00:44:03,490 --> 00:44:06,520 Damn dit, wat het ek verkeerd gedoen? 916 00:44:06,520 --> 00:44:07,920 >> Alle reg, so jy hoef te heropstel. 917 00:44:07,920 --> 00:44:11,030 So weer, maklik foute maak vroeg weer en weer. 918 00:44:11,030 --> 00:44:15,280 So nou weer uit te voer persoonlike, Rob, betree, en siedaar. 919 00:44:15,280 --> 00:44:17,110 Ons het nou 'n persoonlike program. 920 00:44:17,110 --> 00:44:21,660 >> So ek het nou 'n program wat met behulp van 'n paar eienskappe 921 00:44:21,660 --> 00:44:22,520 wat opmerklik. 922 00:44:22,520 --> 00:44:27,850 Een, ek is met behulp van CS50.h, anders bekend as die CS50 biblioteek. 923 00:44:27,850 --> 00:44:33,050 En binnekant van die CS50 biblioteek funksies wat ander mense geskryf het - 924 00:44:33,050 --> 00:44:33,980 naamlik die personeel - 925 00:44:33,980 --> 00:44:36,620 vir jou om te gebruik, en kry string is een van hulle. 926 00:44:36,620 --> 00:44:41,310 >> Binnekant van die lyn 2 is stdio.h, en is die rede waarom dit daar? 927 00:44:41,310 --> 00:44:42,070 Neem 'n raaiskoot. 928 00:44:42,070 --> 00:44:46,200 Wat bestaan ​​binnekant van Standard IO ouer? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 So printf, het jy nie sien dit oral anders op die skerm. 931 00:44:49,600 --> 00:44:51,870 Dit moet saam met die rekenaar een of ander manier. 932 00:44:51,870 --> 00:44:54,870 Waar kom dit vandaan? 933 00:44:54,870 --> 00:44:57,660 Dit is binne-in - dit is verklaar, so te sê, binne 934 00:44:57,660 --> 00:44:59,890 'n lêer genaamd stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> Nou, vir hierdie dinge, sal ons terug te kom uiteindelik, want dit is 'n bietjie 936 00:45:02,670 --> 00:45:03,930 afleidende vir nou. 937 00:45:03,930 --> 00:45:05,490 Dit verwys na ons terugkeer tipe. 938 00:45:05,490 --> 00:45:07,660 Dit verwys na 'n argument. 939 00:45:07,660 --> 00:45:10,230 Maar vir vandag, ons is gefokus net hier op hierdie lyne. 940 00:45:10,230 --> 00:45:13,280 >> So string naam, net om te vat, Wat het hierdie vir my doen? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 So is dit verklaar 'n veranderlike string-tipe. 943 00:45:19,560 --> 00:45:22,630 So dit is bedoel om te wees vir woorde, nie vir getalle. 944 00:45:22,630 --> 00:45:25,530 Net soos 'n eenkant, as ek gedoen wil om dit te 'n getal wees, sou ek sê 945 00:45:25,530 --> 00:45:26,560 iets soos int. 946 00:45:26,560 --> 00:45:29,740 As ek wou 'n drywende punt wees waarde, iets met 'n desimale punt, 947 00:45:29,740 --> 00:45:30,600 Ek sou sê float. 948 00:45:30,600 --> 00:45:32,640 Maar vir vandag, ek het net gesê string. 949 00:45:32,640 --> 00:45:35,940 >> En Ek het aan hierdie veranderlike 'n naam van 'n naam nie, maar ek kon 950 00:45:35,940 --> 00:45:37,240 noem dit niks. 951 00:45:37,240 --> 00:45:39,340 Trouens, oorspronklik, ek het dit S. 952 00:45:39,340 --> 00:45:41,050 >> Dit is hier is net nog 'n verklaring gesê. 953 00:45:41,050 --> 00:45:44,170 Hoeveel argumente is hierdie verklaring te neem? 954 00:45:44,170 --> 00:45:47,890 So dit is net om een, en dat is bloot 'n estetiese detail van 955 00:45:47,890 --> 00:45:49,610 vertoon iets op die skerm vir my. 956 00:45:49,610 --> 00:45:54,750 Wat is hierdie lyn 8 doen in leketaal? 957 00:45:54,750 --> 00:45:57,320 >> Dit is om 'n waarde van die gebruiker - naamlik, 'n string - 958 00:45:57,320 --> 00:45:58,770 en wat dit doen met dit? 959 00:45:58,770 --> 00:46:02,450 Dit is in wese oorhandig dit aan die man op die linkerkant van die 960 00:46:02,450 --> 00:46:07,100 is gelyk aan teken so dat in hierdie geval, die naam veranderlike eintlik kan bêre dit. 961 00:46:07,100 --> 00:46:10,020 >> En dan is printf ander geval van 'n funksie. 962 00:46:10,020 --> 00:46:11,870 En ons sê 'n funksie te roep. 963 00:46:11,870 --> 00:46:13,870 'N funksie te gebruik, is 'n funksie te roep. 964 00:46:13,870 --> 00:46:15,640 Hierdie ding glo neem twee argumente. 965 00:46:15,640 --> 00:46:18,100 Hierdie een, komma, hierdie een. 966 00:46:18,100 --> 00:46:20,910 >> Hierdie een self is net 'n string wat 'n plekhouer. 967 00:46:20,910 --> 00:46:23,860 % S van hulpbronne aan 'n ander string hier. 968 00:46:23,860 --> 00:46:27,360 En so deur om naam na die komma, dis te voeg 969 00:46:27,360 --> 00:46:29,420 dat die ding vir my. 970 00:46:29,420 --> 00:46:31,300 >> So kan ek doen ander dinge nog. 971 00:46:31,300 --> 00:46:36,820 Laat my voort te gaan nou en doen 'n bietjie van 'n dom program, maar laat my verwyder nie, 972 00:46:36,820 --> 00:46:38,880 en laat my 'n lus. 973 00:46:38,880 --> 00:46:41,390 Terwyl waar. 974 00:46:41,390 --> 00:46:45,210 Die simbool waar is, is natuurlik altyd gaan om waar te wees. 975 00:46:45,210 --> 00:46:49,830 So watter soort lus ek beïnvloeding deur die skryf van 'n lyn soos hierdie? 976 00:46:49,830 --> 00:46:51,070 >> So 'n oneindige lus, reg? 977 00:46:51,070 --> 00:46:52,090 Net terwyl ware. 978 00:46:52,090 --> 00:46:56,210 Daar is geen manier wat ek kan die woord verander getrou aan enigiets anders te wees nie, so dit is 979 00:46:56,210 --> 00:46:57,310 net gaan om vir ewig te hardloop. 980 00:46:57,310 --> 00:46:59,960 So, as jy al het eintlik 'n program in jou Mac of PC wat blyk 981 00:46:59,960 --> 00:47:02,480 het opgesluit, of dit doen iets en iets te doen, en jy net 982 00:47:02,480 --> 00:47:05,500 kan nie die ding om op te hou nie, tensy jy herlaai jou rekenaar of trek die 983 00:47:05,500 --> 00:47:08,360 Task Manager of die wil, hier is so 'n voorbeeld. 984 00:47:08,360 --> 00:47:14,340 >> Ek kan sê, "Ek is 'n karretjie program." Sluit kwotasie, sluit 985 00:47:14,340 --> 00:47:15,780 hakies, kommapunt. 986 00:47:15,780 --> 00:47:17,010 So weer, kennis van die patrone. 987 00:47:17,010 --> 00:47:21,440 Selfs al het sommige van ons sintaksis is 'n nuwe, die navraag, terwyl die term ware, 988 00:47:21,440 --> 00:47:23,590 KENNISGEWING Ek het dieselfde soort van krullerige draadjies. 989 00:47:23,590 --> 00:47:25,890 Ek het 'n kommapunt en hakies. 990 00:47:25,890 --> 00:47:28,000 >> So nou, laat ons gaan voort en stel hierdie. 991 00:47:28,000 --> 00:47:29,630 Maak persoonlike, persoonlike. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 So op hierdie punt, het jy nie nodig het om te herlaai die toestel, al reg? 994 00:47:36,660 --> 00:47:39,925 So is die maklike les hier is met twee vingers, beheer C, 995 00:47:39,925 --> 00:47:41,230 ons sal ophou die program. 996 00:47:41,230 --> 00:47:45,430 Maar jy kan sien presies hoekom hierdie ding is herhaal homself weer en weer. 997 00:47:45,430 --> 00:47:48,080 >> Ek kan iets doen om 'n bietjie meer kompleks as 'n teaser. 998 00:47:48,080 --> 00:47:49,600 Ek gaan om voort te gaan en sê die volgende. 999 00:47:49,600 --> 00:47:55,210 Vir int, wat 'n heelgetal is, ek is net 'n generiese naam wat ons gee aan die meeste 1000 00:47:55,210 --> 00:47:59,500 veranderlikes in programme wanneer jy net tel, is gelyk aan 0. 1001 00:47:59,500 --> 00:48:08,640 Laat my gaan voort en sê, terwyl Ek is, kom ons sê, minder as 100, i plus plus. 1002 00:48:08,640 --> 00:48:10,240 Ons sal terugkom na hierdie sintaksis, maar dit beteken net 1003 00:48:10,240 --> 00:48:12,270 inkrementeer ek weer en weer. 1004 00:48:12,270 --> 00:48:14,200 >> En wat wil ek hier doen? 1005 00:48:14,200 --> 00:48:21,130 Printf, "Ek kan tel tot i." Dit is 'n karretjie program. 1006 00:48:21,130 --> 00:48:22,450 Wat ek het nie eintlik van plan hier? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> Persent nie, maar julle sal nie raai hierdie. % D is 'n desimale heelgetal. 1009 00:48:30,940 --> 00:48:32,720 Komma i. 1010 00:48:32,720 --> 00:48:34,340 Laat my terug te rol. 1011 00:48:34,340 --> 00:48:37,170 >> Laat my nou heropstel met maak. 1012 00:48:37,170 --> 00:48:39,280 Laat my nou weer uit te voer met persoonlike. 1013 00:48:39,280 --> 00:48:42,410 Ek kan nie regtig damn vinnig wanneer tel Ek skryf 'n program soos hierdie. 1014 00:48:42,410 --> 00:48:45,480 >> Nou laat ons iets doen 'n bietjie onbedoeld. 1015 00:48:45,480 --> 00:48:51,220 Hoe gaan dit laat ons dit doen terwyl ek groter as of gelyk aan 0. 1016 00:48:51,220 --> 00:48:53,630 Wat is dit gaan veroorsaak? 1017 00:48:53,630 --> 00:49:01,030 So logies, dit is nie so wys, want nou as ek tik hierdie, vertel, 1018 00:49:01,030 --> 00:49:05,050 Ek kan nou regtig tel, baie hoog. 1019 00:49:05,050 --> 00:49:08,850 Ongelukkig is omtrent so hoog as wat ek kan telling is 4000000000, so dit gaan 1020 00:49:08,850 --> 00:49:10,140 'n rukkie neem. 1021 00:49:10,140 --> 00:49:13,440 >> So hoekom laat ons dit nie as ons fotonische lewe, belowe dat op 1022 00:49:13,440 --> 00:49:15,650 Woensdag, sal ons sien of hierdie program geskied. 1023 00:49:15,650 --> 00:49:19,260 Twee, sal ons stel hoe jy jouself skryf jou eie funksie sodat baie 1024 00:49:19,260 --> 00:49:22,930 vinnig, teen Woensdag, sal ons, as ons oorgang van nuuts af in C, begin 1025 00:49:22,930 --> 00:49:25,880 skryf ooit toenemend komplekse programme wat veel nie, 1026 00:49:25,880 --> 00:49:27,070 veel meer as dit. 1027 00:49:27,070 --> 00:49:28,766 Ons sal sien jy dan. 1028 00:49:28,766 --> 00:49:31,580 >> [Applous] 1029 00:49:31,580 --> 00:49:34,690 >> Spreker 1: By die volgende CS50, Legkaart dag was 'n sukses te maak. 1030 00:49:34,690 --> 00:49:39,690