1 00:00:00,000 --> 00:00:07,070 [Powered by Google Translate] [♪ ♪ Buzzing] 2 00:00:07,070 --> 00:00:10,380 Dus u laten kennismaken met wat ik heb op het scherm; 3 00:00:10,380 --> 00:00:12,710 het is een van de instrumenten die we ontwikkelden in de zomer; 4 00:00:12,710 --> 00:00:15,530 het heet CS50 Spaces, 5 00:00:15,530 --> 00:00:18,860 en het is onze gezamenlijke codering toepassing 6 00:00:18,860 --> 00:00:20,180 dat we gaan gebruiken in secties. 7 00:00:20,180 --> 00:00:22,470 Het is wel cool. 8 00:00:22,470 --> 00:00:26,040 Heeft iemand van jullie gezien CS50 run nog? 9 00:00:26,040 --> 00:00:29,760 Laat me dat trek in een ander tabblad. 10 00:00:29,760 --> 00:00:33,440 Run.cs50.net 11 00:00:33,440 --> 00:00:36,230 Zo 12 00:00:36,230 --> 00:00:39,700 als je naar run.cs50.net, 13 00:00:39,700 --> 00:00:43,030 je kunt zien is dit een in uw browser weg naar 14 00:00:43,030 --> 00:00:45,940 eigenlijk code - schrijven C-code, 15 00:00:45,940 --> 00:00:47,460 en voer het, 16 00:00:47,460 --> 00:00:50,960 zodat het zowel het compileert, loopt, dan geeft de uitgang is voor u, 17 00:00:50,960 --> 00:00:53,350 dus dit is een soort van een coole manier om te experimenteren 18 00:00:53,350 --> 00:00:56,060 met een aantal van de code die David over gaat in lezingen 19 00:00:56,060 --> 00:00:58,640 en we geven op je op probleem sets 20 00:00:58,640 --> 00:01:01,900 zonder echt te hoeven brand-up van het apparaat. 21 00:01:01,900 --> 00:01:04,489 >> Dus wat Spaces doet dat anders is dan dat 22 00:01:04,489 --> 00:01:07,450 als ik overschakel naar dit tabblad, 23 00:01:07,450 --> 00:01:11,580 Spaces is CS50 run, zoals je ziet hier, 24 00:01:11,580 --> 00:01:15,380 maar als we bladeren over en kijken naar de andere kant van het raam, 25 00:01:15,380 --> 00:01:18,130 zie je de juiste ben ik de enige persoon in deze ruimte, 26 00:01:18,130 --> 00:01:21,030 maar wat ik ga doen is vragen jullie om deze ruimte samen met mij 27 00:01:21,030 --> 00:01:24,590 en we zullen allemaal naar code in hetzelfde kleine venster, 28 00:01:24,590 --> 00:01:26,070 delen code met elkaar, 29 00:01:26,070 --> 00:01:28,900 en praten over de verschillen tussen onze code. 30 00:01:28,900 --> 00:01:31,530 Dus het is een soort van een cool ding - 31 00:01:31,530 --> 00:01:35,770 zo aan te sluiten, als u deze link te bezoeken hier aan de top 32 00:01:35,770 --> 00:01:38,980 die ik heb gemarkeerd, 33 00:01:38,980 --> 00:01:53,860 je kunt gewoon typen in apps.cs50.net/spaces/vqcspSnO. 34 00:01:53,860 --> 00:01:56,610 >> Oke, om zo te beginnen, 35 00:01:56,610 --> 00:01:59,720 Ik ga u een beetje een tour door dit. 36 00:01:59,720 --> 00:02:01,720 We gaan wat domme kleine codering met het te doen op het eerste, 37 00:02:01,720 --> 00:02:06,200 gewoon zo dat iedereen deze bijwerkingen krijgt een beetje een gevoel voor wat het is, 38 00:02:06,200 --> 00:02:09,000 maar wat ik heb gedaan - 39 00:02:09,000 --> 00:02:11,830 of wat ik ben over te hier te doen is - 40 00:02:11,830 --> 00:02:13,480 Ik ga de code die ik heb geschreven hier te nemen, 41 00:02:13,480 --> 00:02:15,800 die zoals je ziet op dit moment leeg is; 42 00:02:15,800 --> 00:02:17,090 Het doet niets. 43 00:02:17,090 --> 00:02:21,080 Het is gewoon boiler plate code, zullen we het noemen. 44 00:02:21,080 --> 00:02:23,820 Met een beetje to-do commentaar. 45 00:02:23,820 --> 00:02:27,850 Ik ga het op te slaan door op deze knop Opslaan. 46 00:02:27,850 --> 00:02:30,190 En wat dat doet is het 47 00:02:30,190 --> 00:02:34,400 benadrukt het hier kort - dat de herziening opslaan groene doos, 48 00:02:34,400 --> 00:02:37,570 en nu, als je zoekt voor mij in de ruimte, 49 00:02:37,570 --> 00:02:40,340 u klikt op mijn naam, 50 00:02:40,340 --> 00:02:43,370 kun je zien dat ik deze herziening heeft hier, 51 00:02:43,370 --> 00:02:45,490 en als je klikt op deze herziening, 52 00:02:45,490 --> 00:02:48,240 het zal laden die code in uw Space, ook. 53 00:02:50,510 --> 00:02:54,160 >> Dus heeft iedereen geladen die code in hun ruimte? 54 00:02:54,160 --> 00:02:57,810 Oke, als je nog niet, ga je gang en doe dat, 55 00:02:57,810 --> 00:03:01,120 en dan wat ik wil dat jullie doen in dit kleine to-do sectie 56 00:03:01,120 --> 00:03:05,940 is schrijven een beetje met behulp van printf over jezelf, 57 00:03:05,940 --> 00:03:08,310 dus bijvoorbeeld, zou ik schrijven 58 00:03:08,310 --> 00:03:12,270 printf ("Mijn naam is Nate"); 59 00:03:15,140 --> 00:03:17,700 en dan zou ik schrijven 60 00:03:17,700 --> 00:03:21,660 "Ik ben afgestudeerd in 2009 61 00:03:21,660 --> 00:03:24,440 van Stanford " 62 00:03:26,050 --> 00:03:28,390 en ik zou graag horen over 63 00:03:28,390 --> 00:03:30,270 welk jaar je op school, 64 00:03:30,270 --> 00:03:33,910 of u nu aan het college of de business school 65 00:03:33,910 --> 00:03:36,130 of een andere Harvard school, 66 00:03:36,130 --> 00:03:39,200 wat je studeert als het nog niet bekend; 67 00:03:39,200 --> 00:03:41,290 als het niet bekend is, dat is helemaal cool. 68 00:03:41,290 --> 00:03:45,170 Ik heb niet te beslissen totdat ik was al laat in mijn tweede jaar. 69 00:03:46,910 --> 00:03:49,210 en dan zou ik ook graag willen weten 70 00:03:49,210 --> 00:03:51,610 gekke dingen je wilt om me te vertellen of 71 00:03:51,610 --> 00:03:54,790 iets over de klasse of gewoon iets anders. 72 00:03:56,930 --> 00:04:00,370 Wanneer u klaar bent met het schrijven van dat met je kleine printf, 73 00:04:00,370 --> 00:04:03,480 Als je bespaart de herziening of liever 74 00:04:03,480 --> 00:04:06,080 controleer dan eerst of dat je het kunt draaien 75 00:04:06,080 --> 00:04:10,640 en dat het drukt precies wat je wilt dat het afdrukken, 76 00:04:14,050 --> 00:04:16,399 en dan als je gaat vooruit en sla deze herziening 77 00:04:16,399 --> 00:04:21,600 met behulp van de herziening knop Opslaan, deze eerste kleine jongen hier, 78 00:04:24,080 --> 00:04:27,340 en we een beetje gaan door en doen een kleine introductie die manier. 79 00:04:27,340 --> 00:04:30,150 Dus je moet gewoon naar de Play knop drukt, 80 00:04:30,150 --> 00:04:32,550 die hier linksboven, 81 00:04:32,550 --> 00:04:35,340 dus dit knop Afspelen in de linkerbovenhoek zal 82 00:04:35,340 --> 00:04:39,050 Stuur uw code uit naar onze server, waar het wordt gecompileerd en vervolgens uit te voeren. 83 00:04:40,600 --> 00:04:43,300 Dus wat is een beetje gek op dit 84 00:04:43,300 --> 00:04:46,550 deze code is eigenlijk niet op uw computer; 85 00:04:46,550 --> 00:04:49,290 het is eigenlijk wordt verzonden over het internet. 86 00:04:49,290 --> 00:04:51,240 >> Hoe gaat het, Charlotte? 87 00:04:51,240 --> 00:04:54,810 >> I - oke. Ik ben - Ik denk dat ik 88 00:04:54,810 --> 00:04:57,330 hebben moeilijkheden op te slaan 89 00:04:57,330 --> 00:05:00,530 op de server zodanig dat het kan - ik kan het programma uit te voeren. 90 00:05:02,090 --> 00:05:05,780 En dan wanneer ik probeer om het uit te voeren, zegt dat er een fout. 91 00:05:05,780 --> 00:05:08,850 Aangegeven als een virus dat niet in meer aanwezig. 92 00:05:08,850 --> 00:05:11,860 Oh, laten we eens kijken, kunt u het opnieuw raken opslaan? 93 00:05:11,860 --> 00:05:13,770 Ik zie het op het scherm. 94 00:05:13,770 --> 00:05:15,120 >> Juist, oke, dus dat is wat ik heb. 95 00:05:15,120 --> 00:05:19,430 En ik weet niet waarom het niet laat me voer het uit. 96 00:05:22,990 --> 00:05:24,990 Oh, oke, sorry. 97 00:05:27,930 --> 00:05:31,220 Kunt u uitleggen waarom - wat er mis was - wat niet werkte met het? 98 00:05:31,220 --> 00:05:34,760 >> Ja, omdat ik niet zie dat er een laatste regel waar er nog steeds een variabele 99 00:05:34,760 --> 00:05:37,700 dat had ik niet verklaard, wat ik niet van plan om dat het er is. 100 00:05:37,700 --> 00:05:38,730 Ja, perfect! 101 00:05:38,730 --> 00:05:40,390 >> Nu als ik sla het op, ik denk dat het zou moeten werken. 102 00:05:40,390 --> 00:05:42,970 Nu dat je het hebt opgeslagen, het werkt; geweldig. 103 00:05:42,970 --> 00:05:44,570 >> Dus ja, als we door - 104 00:05:44,570 --> 00:05:46,690 dus wat er gaande was, 105 00:05:46,690 --> 00:05:49,130 Ik ga gewoon dit te herhalen voor de camera. 106 00:05:49,130 --> 00:05:51,760 Wat er gebeurde was dat deze variabele is 107 00:05:51,760 --> 00:05:54,310 bleef in na - ik neem aan dat je verwijderde een aantal andere dingen 108 00:05:54,310 --> 00:05:56,670 waar u verklaard, 109 00:05:56,670 --> 00:05:59,560 en dus dit was het gooien van dingen uit en was niet om u te laten draaien. 110 00:05:59,560 --> 00:06:02,540 Dus dit is precies wat we willen doen in paragraaf 111 00:06:02,540 --> 00:06:05,690 is hebben mensen proberen het schrijven van verschillende stukken code, 112 00:06:05,690 --> 00:06:08,490 compileren, te zien wat werkt, wat niet, 113 00:06:08,490 --> 00:06:10,730 en dan een beetje praten over deze dingen, want dit zijn uitschakelpunten dat 114 00:06:10,730 --> 00:06:12,850 Ik heb nog steeds tegenkomen, 115 00:06:12,850 --> 00:06:15,470 Ik heb nog steeds - ik doe heel veel domme dingen de hele tijd, 116 00:06:15,470 --> 00:06:17,820 en ik weet niet waarom het niet werkt, 117 00:06:17,820 --> 00:06:22,960 dus laten we trekken Charlotte's revisie 3, 118 00:06:23,980 --> 00:06:25,380 en wij zullen uitvoeren. 119 00:06:25,380 --> 00:06:28,950 >> Dus toen ik lopen, nu ik heb haar code in hier, 120 00:06:28,950 --> 00:06:31,450 Ik kan inzoomen, druk op de knop Uitvoeren, 121 00:06:31,450 --> 00:06:33,680 upload het, bouwt, loopt het, 122 00:06:33,680 --> 00:06:36,980 zegt dat het succesvol is, en als ik naar beneden scrollen, 123 00:06:36,980 --> 00:06:39,440 zie Charlotte is een junior op Adams House, 124 00:06:39,440 --> 00:06:42,720 psychologie, het middelbaar onderwijs in de economie; geweldig. 125 00:06:42,720 --> 00:06:44,310 Leuk je te ontmoeten! 126 00:06:44,310 --> 00:06:46,550 Awesome. 127 00:06:46,550 --> 00:06:49,670 Oke, bewegen op, laten we naar Daniel, 128 00:06:49,670 --> 00:06:52,710 ga naar 3e herziening, 129 00:06:52,710 --> 00:06:54,180 samen te stellen, te beheren; 130 00:06:54,180 --> 00:06:56,680 waarom ga je niet vertellen ons iets over jezelf, Daniel? 131 00:06:56,680 --> 00:06:59,380 >> Bel me Dan. 132 00:06:59,380 --> 00:07:01,920 Ik ga naar business school aan de overkant van jullie, 133 00:07:01,920 --> 00:07:05,020 en ik was bij de marine voordat hier, 134 00:07:05,020 --> 00:07:08,020 en dit is allemaal nieuw voor mij, dus ja. 135 00:07:08,020 --> 00:07:11,060 Voel je niet slecht, ik ben 30 en ik ken geen enkele van deze spullen. 136 00:07:11,060 --> 00:07:13,800 Awesome; bedankt, Dan! 137 00:07:13,800 --> 00:07:17,300 Oke, we hebben een andere Daniel. 138 00:07:17,300 --> 00:07:20,930 Je gaat door Daniel - zul je jezelf introduceren, Daniel? 139 00:07:20,930 --> 00:07:22,260 >> >> Tuurlijk, ik ben Daniel. 140 00:07:22,260 --> 00:07:24,330 Ik ben een tweedejaars op Mather nu. 141 00:07:24,330 --> 00:07:25,840 Ik ben te concentreren op de overheid, 142 00:07:25,840 --> 00:07:28,760 maar ik wilde CS50 nemen, want ik heb gehoord goede recensies over de klasse 143 00:07:28,760 --> 00:07:30,750 en ik heb nooit geprobeerd CS tevoren. 144 00:07:30,750 --> 00:07:34,680 Hier Scroll naar beneden en tonen - cool. 145 00:07:36,330 --> 00:07:39,090 Moving on, Jared. 146 00:07:39,090 --> 00:07:41,990 Hoe gaat het? 147 00:07:41,990 --> 00:07:43,430 >> Goed, hoe gaat het? 148 00:07:43,430 --> 00:07:47,520 Zoals je kunt zien, ben ik een junior filosofie concentrator in Eliot, 149 00:07:47,520 --> 00:07:50,260 oorspronkelijk uit Zuid-Californië, 150 00:07:50,260 --> 00:07:53,100 en ik ben geïnteresseerd in het nemen van CS50, want ik hou van de logica van het, 151 00:07:53,100 --> 00:07:57,420 en het lijkt echt cool om dingen te doen op de computer, dus. 152 00:07:57,420 --> 00:07:59,570 Awesome, waar in het zuiden van Californië kom je vandaan? 153 00:07:59,570 --> 00:08:02,340 >> Over een uur rijden van [onverstaanbaar], een kleine stad [onverstaanbaar]. 154 00:08:02,340 --> 00:08:04,850 Oh, ja, mijn vader komt uit Redlands. 155 00:08:04,850 --> 00:08:07,060 Cool stuff. 156 00:08:07,060 --> 00:08:12,130 >> Oke, Jimmy, hoe gaat het, Jimmy? 157 00:08:12,130 --> 00:08:15,130 >> Goed, hoe gaat het? 158 00:08:15,130 --> 00:08:16,040 Doen vrij goed! 159 00:08:16,040 --> 00:08:17,710 Vertel ons over jezelf. 160 00:08:17,710 --> 00:08:20,840 >> Ik ben een eerstejaars, en ik ben niet helemaal zeker wat ik als hoofdvak 161 00:08:20,840 --> 00:08:22,820 maar ik ben een beetje leunend naar economie. 162 00:08:22,820 --> 00:08:25,680 Net als Daniel voor mij, ik heb nog nooit gedaan een CS, maar het klinkt erg cool. 163 00:08:25,680 --> 00:08:28,120 Ik kom oorspronkelijk uit Chicago. 164 00:08:28,120 --> 00:08:31,640 Awesome. Dus check out zijn afdruk hier. 165 00:08:31,640 --> 00:08:34,630 Ik wilde vragen, heeft deze prent als je had verwacht? 166 00:08:34,630 --> 00:08:37,650 >> Nee, ik vergat om een ​​nieuwe lijn te drukken. 167 00:08:37,650 --> 00:08:41,270 Ik heb eigenlijk vergeten dat toen ik aan het schrijven was mijn ding 168 00:08:41,270 --> 00:08:43,090 voor het eerst ook. 169 00:08:43,090 --> 00:08:46,330 Het is een soort van een pijn om te onthouden aan die in de hand te zetten. 170 00:08:46,330 --> 00:08:50,560 Het zou mooi zijn als het gewoon weet dat is wat je wilde. 171 00:08:50,560 --> 00:08:53,630 >> Oke, Kelly. 172 00:08:53,630 --> 00:08:56,050 Wow, we hebben 2 Kellys, 2 Daniels, 2 Kellys. 173 00:08:56,050 --> 00:09:00,490 Dus Kelly - ga je door Kelly Ren? 174 00:09:00,490 --> 00:09:03,870 Oke, geweldig. 175 00:09:03,870 --> 00:09:07,270 Of Kelly, bedoel ik. 176 00:09:07,270 --> 00:09:10,260 >> Dus ja, dus ik ben Kelly. 177 00:09:10,260 --> 00:09:12,930 Ik ben een tweedejaars in Pfoho. 178 00:09:12,930 --> 00:09:17,000 Ik kreeg een e-mail vandaag aan dat ik nog 7 weken mijn concentratie te verklaren, 179 00:09:17,000 --> 00:09:20,940 dus ik probeer niet te denken, 180 00:09:20,940 --> 00:09:24,090 en ik hou van bakken, hardlopen, en Craisins. 181 00:09:24,090 --> 00:09:29,110 Ik heb geen ervaring met de meeste CS; 182 00:09:29,110 --> 00:09:32,700 Ik leerde mezelf websites te bouwen toen ik nog heel jong, 183 00:09:32,700 --> 00:09:35,750 maar ik denk dat ik waarschijnlijk mezelf geleerd verkeerde een heleboel keer. 184 00:09:35,750 --> 00:09:39,260 Hopelijk zal ik een beetje meer te weten 185 00:09:39,260 --> 00:09:41,450 en - ja. 186 00:09:41,450 --> 00:09:44,100 >> Awesome, goed, dank je. 187 00:09:44,100 --> 00:09:47,190 Laten we naar de andere Kelly; 188 00:09:47,190 --> 00:09:48,880 Ik heb niets - heb je iets te zeggen hier? 189 00:09:48,880 --> 00:09:51,880 >> [Onverstaanbaar] 190 00:09:51,880 --> 00:09:56,180 Daar is het! 191 00:09:56,180 --> 00:09:58,120 Sweet! 192 00:09:58,120 --> 00:10:01,400 >> Oke, dus ik ben Kelly. 193 00:10:01,400 --> 00:10:03,980 Ik ben een eerstejaars student. 194 00:10:03,980 --> 00:10:05,560 Ik ben hoofdvak in Mind, Brain, en onderwijs. 195 00:10:05,560 --> 00:10:07,940 Ik ben afgestudeerd in Franklin & Marshall College in 2008 196 00:10:07,940 --> 00:10:10,840 met majors in de psychologie en de sociologie 197 00:10:10,840 --> 00:10:13,120 en een minor in het Frans. 198 00:10:13,120 --> 00:10:15,330 Ik neem CS50 199 00:10:15,330 --> 00:10:18,080 want ik ben geïnteresseerd in het verkrijgen van een doctoraat in Neuroscience 200 00:10:18,080 --> 00:10:21,220 en ik voel me als dit zal me helpen begrijpen van de technologie die wordt gebruikt. 201 00:10:21,220 --> 00:10:23,150 Awesome. 202 00:10:26,980 --> 00:10:29,390 Moving on, Mikaela. 203 00:10:29,390 --> 00:10:31,640 Is dat juiste uitspraak? 204 00:10:31,640 --> 00:10:32,990 Oke, geweldig. 205 00:10:32,990 --> 00:10:34,640 >> >> Ik ben Mikhaila. 206 00:10:34,640 --> 00:10:36,870 Ik ben een tweedejaars in Kirkland House, 207 00:10:36,870 --> 00:10:39,950 en ik ben concentreren in Mechanical Engineering. 208 00:10:39,950 --> 00:10:43,180 Ik hou echt van fietsen, bouwde een fiets deze zomer. 209 00:10:43,180 --> 00:10:46,140 Ik neem CS, eigenlijk, 210 00:10:46,140 --> 00:10:48,350 als-eis, 211 00:10:48,350 --> 00:10:52,550 maar weet je, ik denk dat het nog steeds cool soort van engineering klasse. 212 00:10:52,550 --> 00:10:55,150 Awesome - je bouwt een fiets deze zomer? 213 00:10:55,150 --> 00:10:56,730 >> Ja. 214 00:10:56,730 --> 00:10:58,900 Wow, net als het frame en zo? 215 00:10:58,900 --> 00:11:00,120 >> Uh-hunh (positief). 216 00:11:00,120 --> 00:11:01,530 Wow, dat is echt cool. 217 00:11:01,530 --> 00:11:06,370 >> [Onverstaanbaar off-camera chatten] 218 00:11:06,370 --> 00:11:10,000 [Gelach] 219 00:11:12,640 --> 00:11:14,200 Ja, het is zo lang. 220 00:11:14,200 --> 00:11:16,730 Je weet maar nooit, toch? 221 00:11:16,730 --> 00:11:19,420 Nou, koele, goed bedankt, Mikhaila. 222 00:11:19,420 --> 00:11:21,390 >> Oke, Missy. 223 00:11:21,390 --> 00:11:23,280 >> Mijn naam is Missy, ik ben een eerstejaars, 224 00:11:23,280 --> 00:11:25,500 dus dat betekent dat ik weet niets! 225 00:11:25,500 --> 00:11:29,180 Ik wil concentreren in de astrofysica. 226 00:11:29,180 --> 00:11:31,220 In CS50, 227 00:11:31,220 --> 00:11:33,350 Ik voel me als zal zeker helpen. 228 00:11:33,350 --> 00:11:37,750 Een vreemd feit over mij is dat ik een landelijk gecertificeerd brandweerman. 229 00:11:37,750 --> 00:11:39,960 Wow! 230 00:11:39,960 --> 00:11:42,440 Hoe is dat zo gekomen? 231 00:11:42,440 --> 00:11:45,570 >> Ik heb deelgenomen aan een academie 232 00:11:45,570 --> 00:11:49,000 en ging door de hel voor heel wat weken 233 00:11:49,000 --> 00:11:51,200 en kreeg mijn certificatie. 234 00:11:51,200 --> 00:11:54,090 Wow, congrats! 235 00:11:54,090 --> 00:11:57,280 Dat is geen geringe prestatie, zeker. 236 00:11:57,280 --> 00:11:59,070 Oke, dus nu gaan we doen mij. 237 00:11:59,070 --> 00:12:01,290 Ik ben de volgende in de rij. 238 00:12:01,290 --> 00:12:04,510 Ik ben - voer het uit. 239 00:12:04,510 --> 00:12:07,580 >> Dus mijn naam is Nate. 240 00:12:07,580 --> 00:12:11,160 Ik was klasse van 2009 aan de Stanford. 241 00:12:11,160 --> 00:12:13,840 Ik was een symbolische systemen grote, 242 00:12:13,840 --> 00:12:17,370 die vergelijkbaar is met de Mind, Brain, Behavior concentratie hier, 243 00:12:17,370 --> 00:12:19,300 maar het is een soort van een mix van 244 00:12:19,300 --> 00:12:22,350 informatica, taalkunde, psychologie en filosofie. 245 00:12:22,350 --> 00:12:26,600 Kind van - ja, een heleboel rare dingen, maar het was geweldig, 246 00:12:26,600 --> 00:12:29,880 en toen deed ik mijn master in Computer Science is er, als goed. 247 00:12:29,880 --> 00:12:33,250 Dus ik ben nieuw op Harvard dit jaar. 248 00:12:33,250 --> 00:12:35,750 Ik wilde krijgen in het onderwijs. 249 00:12:35,750 --> 00:12:39,860 Ik heb de afgelopen 4 jaar aan de Stanford TA-gen Informatica klassen 250 00:12:39,860 --> 00:12:43,370 en ga zo maar David laat me kom op, 251 00:12:43,370 --> 00:12:45,550 en Ik ga helpen met CS50, 252 00:12:45,550 --> 00:12:47,890 dus ik doe dit full-time, ik ben niet in grad school. 253 00:12:47,890 --> 00:12:50,330 Het was leuk. 254 00:12:50,330 --> 00:12:53,130 Hopelijk zal blijven leuk, ik ben er zeker van dat het zal. 255 00:12:53,130 --> 00:12:56,040 >> Oke, Sam. 256 00:13:01,910 --> 00:13:05,470 >> Mijn naam is Sam, ik ben een tweedejaars op de universiteit, in de wet bepaald. 257 00:13:05,470 --> 00:13:10,110 Mijn grootste zal de geschiedenis van de wetenschap waarschijnlijk, en VES secundaire, 258 00:13:10,110 --> 00:13:13,240 en mijn favoriete kleur is geel. 259 00:13:18,790 --> 00:13:21,100 Geen behoefte om oordeel of iets voorbij, maar het is een goede kleur! 260 00:13:21,100 --> 00:13:24,780 En Stella. 261 00:13:24,780 --> 00:13:26,980 >> Hallo, ik ben Stella, ik ben een eerstejaars in Grays. 262 00:13:26,980 --> 00:13:30,070 Ik heb geen idee wat ik heb geconcentreerd in nog, 263 00:13:30,070 --> 00:13:32,500 dus CS50 was gewoon een soort van willekeurige, 264 00:13:32,500 --> 00:13:34,220 wat interessant. 265 00:13:34,220 --> 00:13:36,080 Leuk weetje, Jimmy was de eerste Harvard vriend van mij, 266 00:13:36,080 --> 00:13:38,360 omdat we beide uit Chicago. 267 00:13:38,360 --> 00:13:42,450 Cool, en Grace - die verondersteld om de echt nice one, toch? 268 00:13:42,450 --> 00:13:45,220 >> Ik dacht dat [onverstaanbaar]. 269 00:13:45,220 --> 00:13:46,690 Oh, ja. 270 00:13:46,690 --> 00:13:51,210 [Onverstaanbaar / off-camera chatten] 271 00:13:51,210 --> 00:13:54,420 Oke, ik ben nog aan het leren, nog aan het leren. 272 00:13:54,420 --> 00:13:57,800 >> Dus we hebben iets anders dat is een soort van interessant hier. 273 00:13:59,600 --> 00:14:02,870 Ja, ik vraag me af, heb je een idee dat er aan de hand hier? 274 00:14:02,870 --> 00:14:05,890 Je weet hoe je dit interpreteren? 275 00:14:05,890 --> 00:14:13,340 >> Ik zou worden gesteld de puntkomma na elke regel. 276 00:14:13,340 --> 00:14:16,370 Dat is een soort van een pijn. 277 00:14:16,370 --> 00:14:19,100 Soms zijn die puntkomma kan een echte pijn op te sporen. 278 00:14:19,100 --> 00:14:21,420 Dus het blijkt dat 279 00:14:21,420 --> 00:14:22,820 het speciale programma dat we met behulp van dit jaar 280 00:14:22,820 --> 00:14:26,670 compileren onze C-code wordt genoemd Clang, 281 00:14:26,670 --> 00:14:29,460 en de reden dat we zijn begonnen met Clang gebruiken dit jaar - 282 00:14:29,460 --> 00:14:32,030 omdat we niet gewend dat programma in het verleden; 283 00:14:32,030 --> 00:14:35,710 we hebben gebruikt een andere naam GCC dat is erg populair - 284 00:14:35,710 --> 00:14:38,420 Clang biedt je eigenlijk foutmeldingen dat logisch. 285 00:14:38,420 --> 00:14:41,420 Deze zegt "verwacht", "na expressie", 286 00:14:41,420 --> 00:14:45,260 en het vertelt je zelfs de uitdrukking waarna u behoefte aan een puntkomma. 287 00:14:45,260 --> 00:14:47,830 Dus bent u de vaststelling van het? 288 00:14:47,830 --> 00:14:48,930 >> Ja, nu meteen. 289 00:14:48,930 --> 00:14:52,040 Awesome; laat het me weten en we trekken het op, en wij zullen uitvoeren. 290 00:14:52,040 --> 00:14:55,830 Maar ja, zetten deze puntkomma is een soort van een pijn. 291 00:14:55,830 --> 00:14:59,580 >> Ik het vast, dus ik denk dat het zou moeten werken. 292 00:14:59,580 --> 00:15:02,760 Awesome - revisie 3. 293 00:15:02,760 --> 00:15:05,250 Dat lijkt op het. 294 00:15:05,250 --> 00:15:08,580 Oke, dus nu als we draaien, 295 00:15:08,580 --> 00:15:11,020 daar gaat. 296 00:15:11,020 --> 00:15:13,830 Cool stuff. 297 00:15:13,830 --> 00:15:15,340 >> Oke. 298 00:15:15,340 --> 00:15:18,230 Dus bedankt om dat te doen. 299 00:15:18,230 --> 00:15:20,210 Het is geweldig om te ontmoeten jullie. 300 00:15:20,210 --> 00:15:22,880 Wat we gaan doen is nu brengen de komende beetje 301 00:15:22,880 --> 00:15:24,740 een beetje duiken in de sectie problemen 302 00:15:24,740 --> 00:15:27,550 die afkomstig zijn van het probleem te stellen van deze week 303 00:15:27,550 --> 00:15:29,920 en we doen dat voor de meeste van de secties 304 00:15:29,920 --> 00:15:32,110 voor de rest van het woord, 305 00:15:32,110 --> 00:15:35,580 en dan zullen we besparen de laatste 15, 20 minuten of zo 306 00:15:35,580 --> 00:15:38,490 om te praten over het probleem zich 307 00:15:38,490 --> 00:15:41,420 en dan gewoon een andere vragen die je hebt in het algemeen over de klas. 308 00:15:43,380 --> 00:15:45,670 Dat gezegd hebbende, wat we echt willen doen 309 00:15:45,670 --> 00:15:49,390 is iedereen zijn deel 310 00:15:49,390 --> 00:15:51,500 het gebruik van de ruimtes spul, 311 00:15:51,500 --> 00:15:53,500 gooien in code, gooide in suggesties, 312 00:15:53,500 --> 00:15:56,500 en praten over wanneer dit soort dingen pauze 313 00:15:56,500 --> 00:15:58,360 of niet werken, alleen maar omdat dit zijn dingen die 314 00:15:58,360 --> 00:16:00,870 Ik weet dat ik tegenkwam 315 00:16:00,870 --> 00:16:03,180 toen ik begon codering, 316 00:16:03,180 --> 00:16:05,490 en waren echt een beetje frustrerend 317 00:16:05,490 --> 00:16:08,690 want als het is net 2 uur voordat je probleem gevolg is van overmacht, 318 00:16:08,690 --> 00:16:11,330 zo - alleen voor openbaarmaking, 319 00:16:11,330 --> 00:16:14,590 Ik heb niet het programmeren te starten tot ik een tweedejaars op de universiteit. 320 00:16:14,590 --> 00:16:17,360 Het was een beetje een raar, onbekende ding 321 00:16:17,360 --> 00:16:20,360 dat ik hoorde was erg cool 322 00:16:20,360 --> 00:16:23,590 en ik heb ook gehoord dat het kan een echte pijn in de kont worden 323 00:16:23,590 --> 00:16:27,610 als je mist een puntkomma en dat is de enige fout het houden van uw programma werkt niet 324 00:16:27,610 --> 00:16:30,890 en houden u overschakelt naar de slaapmodus, 325 00:16:30,890 --> 00:16:32,650 dus zeker, 326 00:16:32,650 --> 00:16:34,020 als u vragen hebt als dat, 327 00:16:34,020 --> 00:16:37,060 Als u zich zorgen maakt als dat, laat het me weten, 328 00:16:37,060 --> 00:16:40,050 want ik wil maken dit een goede ervaring voor jullie. 329 00:16:40,050 --> 00:16:44,620 >> Dus hebben jullie alle gedownloade het probleem te stellen nog? 330 00:16:44,620 --> 00:16:47,160 Kinda weet waar het is? Oke. 331 00:16:47,160 --> 00:16:51,490 Dus gaan we naar cs50.net, omdat ik het niet hebben op deze rekening, 332 00:16:51,490 --> 00:16:54,110 trek het probleem sets, 333 00:16:54,110 --> 00:16:57,940 pull up probleem set 2, en we zullen kijken naar de standaard editie van vandaag. 334 00:16:57,940 --> 00:17:01,190 We trekken de specificatie hier. 335 00:17:02,640 --> 00:17:04,420 Scroll naar beneden. 336 00:17:06,790 --> 00:17:11,109 Dus we gaan kijken naar dit deel van de vragen. 337 00:17:14,069 --> 00:17:16,710 Hebben jullie keek deze shorts nog? 338 00:17:16,710 --> 00:17:18,329 Oke. 339 00:17:18,329 --> 00:17:21,329 Dus er zijn korte broek aan loops, 340 00:17:21,329 --> 00:17:24,700 die wordt gedaan door Tommy, een van de hoofd onderwijs kerels. 341 00:17:24,700 --> 00:17:27,230 Er is een over het toepassingsgebied, 342 00:17:27,230 --> 00:17:30,530 Ik geloof dat gedaan door een andere leer man genaamd David 343 00:17:30,530 --> 00:17:33,400 en dan een op Caesar Cipher ook gedaan door David. 344 00:17:33,400 --> 00:17:35,550 Ze zijn wel cool. 345 00:17:35,550 --> 00:17:37,770 Hebben jullie al het kijken naar hun shorts tot nu toe? 346 00:17:37,770 --> 00:17:39,270 Hoe gaat het ze al? 347 00:17:39,270 --> 00:17:41,490 Nuttig? Oke, goed om te weten. 348 00:17:41,490 --> 00:17:44,210 Als ze niet, dan kunt u dat zeggen. 349 00:17:46,290 --> 00:17:49,870 Maar voordat je dat doet, 350 00:17:49,870 --> 00:17:52,600 hebben jullie gekeken naar deze vragen 351 00:17:52,600 --> 00:17:55,430 op alle? 352 00:17:55,430 --> 00:17:57,480 >> Laten we praten over dit een beetje. 353 00:17:57,480 --> 00:18:00,600 Dus we hebben geïntroduceerd in de afgelopen paar weken 354 00:18:00,600 --> 00:18:02,480 in lezing 355 00:18:02,480 --> 00:18:04,910 verschillende loops. 356 00:18:04,910 --> 00:18:06,140 Er is de for-lus, 357 00:18:06,140 --> 00:18:09,570 de while-lus, en dan de do-while-lus, 358 00:18:09,570 --> 00:18:13,100 en in collegezalen, hebben we veel gepraat over 359 00:18:13,100 --> 00:18:16,010 hoe die loops zijn 360 00:18:16,010 --> 00:18:18,320 redelijk vergelijkbaar in een heleboel manieren, 361 00:18:18,320 --> 00:18:21,210 en je kunt veel van dezelfde dingen met een while-lus 362 00:18:21,210 --> 00:18:23,260 dat kun je met een for-lus. 363 00:18:23,260 --> 00:18:26,300 Je hoeft alleen te soort gebruik maken van de juiste combinaties van variabelen en dergelijke. 364 00:18:26,300 --> 00:18:28,680 en dus echt 365 00:18:28,680 --> 00:18:31,200 het reële onderscheid tussen alle lussen is dat 366 00:18:31,200 --> 00:18:33,620 soms zijn ze nuttiger 367 00:18:33,620 --> 00:18:36,930 te gebruiken in een keer dan op een ander tijdstip. 368 00:18:36,930 --> 00:18:39,340 >> Dus bijvoorbeeld, 369 00:18:39,340 --> 00:18:42,260 de while-lus verschilt van een do-while-lus. 370 00:18:42,260 --> 00:18:45,680 Heeft iedereen het gevoel dat ze hebben een goede grip op wanneer 371 00:18:45,680 --> 00:18:48,650 een do-while-lus is meer 372 00:18:48,650 --> 00:18:50,990 nuttig of wat het verschil is? 373 00:18:50,990 --> 00:18:53,410 >> Ik denk dat het verschil is een do-while-lus 374 00:18:53,410 --> 00:18:56,960 loopt - Ik weet niet helemaal wat de terminologie is, 375 00:18:56,960 --> 00:18:59,750 maar de reeks van functies binnen de lus. 376 00:18:59,750 --> 00:19:02,020 Zij worden automatisch - het doet zijn runs op zijn minst 377 00:19:02,020 --> 00:19:05,390 voordat het controleert de toestand of de while-lus kan alleen worden uitgevoerd wanneer 378 00:19:05,390 --> 00:19:08,290 loopt continu - of de voorwaarde wordt voldaan. 379 00:19:08,290 --> 00:19:11,010 Ja, is dat logisch? 380 00:19:11,010 --> 00:19:14,200 >> Laten we eens een kijkje nemen op een klein stukje code. 381 00:19:14,200 --> 00:19:16,930 Dus alleen maar om de vraag te herhalen, 382 00:19:16,930 --> 00:19:19,230 of het antwoord plaats; 383 00:19:19,230 --> 00:19:22,050 het antwoord was dat 384 00:19:22,050 --> 00:19:25,850 een while-lus zal controleren om te zien of de conditie 385 00:19:25,850 --> 00:19:27,440 die u opgeeft, is voldaan 386 00:19:27,440 --> 00:19:31,320 bij het uitvoeren van het lichaam van de lus voor het eerst 387 00:19:31,320 --> 00:19:35,000 terwijl de do-while-lus wordt automatisch uitgevoerd van het lichaam van de lus, 388 00:19:35,000 --> 00:19:38,450 is wat wij noemen - het is raar terminologie, 389 00:19:38,450 --> 00:19:41,460 maar als ik ooit iets dat niet logisch te zeggen, laat het me weten - 390 00:19:41,460 --> 00:19:45,360 de lus lichaam is dat spul dat je in tussen de accolades. 391 00:19:45,360 --> 00:19:47,840 En in een do-while-lus, 392 00:19:47,840 --> 00:19:50,220 dat lichaam te krijgen ten minste een keer draaien, 393 00:19:50,220 --> 00:19:54,460 en dan de conditie wordt gecontroleerd voordat het wordt uitgevoerd elke opeenvolgende keer. 394 00:19:54,460 --> 00:19:56,580 >> Dus eigenlijk, Sam, 395 00:19:56,580 --> 00:20:00,820 vind je het erg het schrijven van een eenvoudige while loop 396 00:20:00,820 --> 00:20:02,840 in Spaces? 397 00:20:02,840 --> 00:20:05,600 >> Hoe kun je een beetje als 398 00:20:05,600 --> 00:20:07,060 een nieuwe ...? 399 00:20:07,060 --> 00:20:09,220 Ik gewoon verwijderen wat je hebt daar. 400 00:20:09,220 --> 00:20:11,300 Ja, gewoon duidelijk het uit. 401 00:20:11,300 --> 00:20:14,510 >> Nou, ik geloof dat ik dit met - 402 00:20:14,510 --> 00:20:16,640 welke wil je, een tijdje, of wil je ...? 403 00:20:16,640 --> 00:20:19,350 Ja, gewoon een tijdje waar is, af te drukken iets uit. 404 00:20:21,050 --> 00:20:23,140 En laten we eens kijken. 405 00:20:23,140 --> 00:20:25,850 Alexander, besefte ik dat we je nooit geïntroduceerd. 406 00:20:25,850 --> 00:20:27,510 >> Oh, dat is prima. 407 00:20:27,510 --> 00:20:30,760 Heb je - kunt u coderen van een do-while-lus voor ons? 408 00:20:30,760 --> 00:20:32,520 >> Ja, zal ik proberen. 409 00:20:32,520 --> 00:20:34,370 Oke, zullen we gewoon trek deze op het scherm, 410 00:20:34,370 --> 00:20:38,240 zodat je soort van een handvat op wat de verschillen zijn. 411 00:20:38,240 --> 00:20:41,280 >> Dus hier is wat Sam heeft gedaan. 412 00:20:41,280 --> 00:20:44,460 Hij heeft een geheel getal genaamd i 413 00:20:44,460 --> 00:20:47,480 dat hij geïnitialiseerd op 17. 414 00:20:47,480 --> 00:20:51,570 Dan zegt hij, terwijl (int i = 17) 415 00:20:51,570 --> 00:20:54,230 printf ("Mijn naam is Sam."); 416 00:20:54,230 --> 00:20:57,300 Dus wat gebeurt er als we deze code uitvoert? 417 00:20:57,300 --> 00:21:00,340 Er is een fout; wat zegt de fout? 418 00:21:00,340 --> 00:21:02,890 Laten we trek hem omhoog en over praten. 419 00:21:02,890 --> 00:21:05,040 Er is een fout opgetreden, staat er. 420 00:21:05,040 --> 00:21:07,400 Laten we naar beneden scrollen. 421 00:21:07,400 --> 00:21:09,460 Dus het gaf ons deze fout, en hij zei, 422 00:21:09,460 --> 00:21:12,690 "He, ik had verwacht een uitdrukking." 423 00:21:12,690 --> 00:21:16,180 Dat is een beetje cryptisch. 424 00:21:19,160 --> 00:21:23,140 Ja, dus precies - en nogmaals, 425 00:21:23,140 --> 00:21:27,140 zal er nog een kleine bug die we zullen vangen in slechts een seconde. 426 00:21:27,140 --> 00:21:31,800 Maar dit is weer een van die een beetje vreemd terminologie dingen, 427 00:21:31,800 --> 00:21:36,150 dus dit int i = 17 428 00:21:36,150 --> 00:21:39,290 is geen uitdrukking. 429 00:21:39,290 --> 00:21:41,220 Hoe het eruit ziet het doet is dat het 430 00:21:41,220 --> 00:21:43,410 verklaren een geheel getal genaamd i 431 00:21:43,410 --> 00:21:45,540 en waarin tot ofwel 17 432 00:21:45,540 --> 00:21:48,780 of liever, waardoor 17 in dat int genaamd i. 433 00:21:50,560 --> 00:21:53,350 En dat slaat nergens op 434 00:21:53,350 --> 00:21:55,790 in het kader van deze while loop. 435 00:21:55,790 --> 00:21:58,190 Het heeft zin, zoals we zullen zien, 436 00:21:58,190 --> 00:22:01,250 in het kader van een for-lus, want voor lus declaraties beginnen 437 00:22:01,250 --> 00:22:05,800 met die voor int i is gelijk aan iets 438 00:22:05,800 --> 00:22:07,830 en gaat verder. 439 00:22:07,830 --> 00:22:09,500 >> Jij ook - 440 00:22:09,500 --> 00:22:12,630 vast iets, oke. 441 00:22:12,630 --> 00:22:15,270 Hier gaat; geweldig. 442 00:22:15,270 --> 00:22:17,920 Dus nu ziet het er een beetje anders. 443 00:22:17,920 --> 00:22:19,030 Een paar dingen zijn veranderd. 444 00:22:19,030 --> 00:22:21,300 Kunt u ons vertellen wat dingen zijn veranderd? 445 00:22:21,300 --> 00:22:24,950 >> Ik haalde de int, dus er is geen verklaring [onverstaanbaar] in plaats van een opdracht. 446 00:22:24,950 --> 00:22:28,770 De een is gelijk-teken, heb ik 2 gelijke tekenen, wat betekent dat een gelijken. 447 00:22:28,770 --> 00:22:30,560 Awesome. 448 00:22:30,560 --> 00:22:33,320 Ja, dus wat Sam deed was nam hij de int 449 00:22:33,320 --> 00:22:35,770 dat was hier eerder, 450 00:22:35,770 --> 00:22:39,340 dus als ik kijk naar dit - dit is wat het vroeger was, zei int, 451 00:22:39,340 --> 00:22:41,970 die werd aangifte te doen - dus namen we de type. 452 00:22:41,970 --> 00:22:44,710 Er is int, char, string, short, 453 00:22:44,710 --> 00:22:47,380 deze types genoemd. 454 00:22:47,380 --> 00:22:49,510 Dus u haalde het type 455 00:22:49,510 --> 00:22:51,580 en eerder 456 00:22:51,580 --> 00:22:54,190 Hij had net de single sign is gelijk aan 457 00:22:54,190 --> 00:22:57,300 en wat hij zei was problematisch over dit werd 458 00:22:57,300 --> 00:22:59,580 wanneer u een gelijk-teken, 459 00:22:59,580 --> 00:23:01,780 dat is een opdracht operator. 460 00:23:01,780 --> 00:23:04,930 Dat is niet het testen van het al dan niet 2 dingen gelijk zijn. 461 00:23:04,930 --> 00:23:07,920 Dat is eigenlijk het instellen van iets gelijk is aan iets. 462 00:23:07,920 --> 00:23:11,110 We zetten het nummer 17 in de variabele i. 463 00:23:11,110 --> 00:23:13,850 Dus om dat soort vergelijking te doen, 464 00:23:13,850 --> 00:23:16,430 moet je de dubbel is te gebruiken, 465 00:23:16,430 --> 00:23:19,640 dat is een beetje een raar ding 466 00:23:19,640 --> 00:23:22,760 maar is een vrij veel voorkomende fout. 467 00:23:23,980 --> 00:23:27,830 Dus een ander ding dat ik wel opmerken, als je het niet erg vindt, 468 00:23:27,830 --> 00:23:30,610 dat in 469 00:23:30,610 --> 00:23:33,210 onze functie hier in int main, 470 00:23:33,210 --> 00:23:36,740 zie je dat het lichaam van onze functie 471 00:23:36,740 --> 00:23:39,810 is ten opzichte van de linkerkant 472 00:23:39,810 --> 00:23:42,400 door 4 spaties of een tabblad. 473 00:23:42,400 --> 00:23:44,730 De reden dat we dit doen 474 00:23:44,730 --> 00:23:47,000 is gewoon voor de leesbaarheid. 475 00:23:47,000 --> 00:23:51,620 Zoals je hier kunt zien in, terwijl Sam's lus, 476 00:23:51,620 --> 00:23:53,120 hij niet streepje helemaal niet, 477 00:23:53,120 --> 00:23:55,390 en dat heeft geen invloed op de functionaliteit van de code. 478 00:23:55,390 --> 00:23:57,860 Het draait precies hetzelfde. 479 00:23:57,860 --> 00:24:00,950 >> Dus bijvoorbeeld, als we naar de top hier 480 00:24:00,950 --> 00:24:02,680 en drukt u op onze Play-knop, zal het bouwen, 481 00:24:02,680 --> 00:24:04,470 het zal draaien, 482 00:24:04,470 --> 00:24:06,700 en wat er gaat gebeuren? 483 00:24:06,700 --> 00:24:08,360 Waarom duurt het nog zeggen draait? 484 00:24:08,360 --> 00:24:10,560 >> Omdat het zal blijven herhalen hi. 485 00:24:10,560 --> 00:24:12,900 Precies, en waarom is het blijven herhalen hi? 486 00:24:12,900 --> 00:24:15,850 >> Omdat de integer nooit verandert, dus het is altijd 17. 487 00:24:15,850 --> 00:24:18,030 Ja, precies, dus 488 00:24:18,030 --> 00:24:20,970 Laten we, te zien na - doen mij denken aan je naam ook alweer? 489 00:24:20,970 --> 00:24:24,020 Jimmy. Dus Jimmy zei dat 490 00:24:24,020 --> 00:24:27,340 de reden waarom dit blijft herhalen hi over en weer 491 00:24:27,340 --> 00:24:30,510 omdat deze voorwaarde is altijd waar. 492 00:24:30,510 --> 00:24:33,270 We hebben nooit de waarde van i. 493 00:24:33,270 --> 00:24:36,170 We hebben nooit veranderen van de inhoud van wat er is opgeslagen in die variabele. 494 00:24:36,170 --> 00:24:39,180 Dus op dit punt kregen we deze fout dat 495 00:24:39,180 --> 00:24:42,170 uw programma gegenereerd te veel output, 496 00:24:42,170 --> 00:24:45,100 en als we naar beneden scrollen en soort van kijken naar wat er hier aan de hand, 497 00:24:45,100 --> 00:24:49,160 je kunt zien dat het hi, hi, hi, hi, hi, hi, hi helemaal door. 498 00:24:49,160 --> 00:24:51,200 Awesome. 499 00:24:51,200 --> 00:24:53,750 >> Dus soort van terug naar het oorspronkelijke punt 500 00:24:53,750 --> 00:24:57,020 dat met de inkeping here 501 00:24:57,020 --> 00:25:00,110 in het lichaam van de while-lus had geen invloed op wat dan ook. 502 00:25:00,110 --> 00:25:03,050 Het programma nog liep prima. 503 00:25:03,050 --> 00:25:06,790 Typisch voor een goede stijl - 504 00:25:06,790 --> 00:25:10,210 en dit is iets dat we voor kijken in uw probleem sets - 505 00:25:10,210 --> 00:25:13,930 vragen wij u laten inspringen dit met 4 ruimten, die u kunt doen 506 00:25:13,930 --> 00:25:16,440 door gewoon te drukken op de tab-toets 507 00:25:16,440 --> 00:25:18,860 of door handmatig zetten in 4 ruimtes jezelf. 508 00:25:21,880 --> 00:25:25,050 Cool, oke dus laten we terug gaan en te kijken naar 509 00:25:25,050 --> 00:25:30,460 Alexander's do-while. 510 00:25:30,460 --> 00:25:32,980 >> Gewoon een beetje met een beetje moeite. 511 00:25:32,980 --> 00:25:34,390 Oke, laten we werken er doorheen. 512 00:25:34,390 --> 00:25:36,400 Is dat cool? 513 00:25:36,400 --> 00:25:37,430 >> Ja. 514 00:25:37,430 --> 00:25:39,200 >> Oke, dus hier gaan we. 515 00:25:39,200 --> 00:25:41,010 Dit is de code die Alexander schreef. 516 00:25:41,010 --> 00:25:43,410 Ga je door Alex - oke. 517 00:25:43,410 --> 00:25:46,380 Dus hier is de code die Alex heeft geschreven. 518 00:25:46,380 --> 00:25:50,500 Dus, we hebben onze verklaring van de belangrijkste hier, 519 00:25:50,500 --> 00:25:54,410 en dan hebben we dit integer variabele genaamd i 520 00:25:54,410 --> 00:25:57,320 worden hier verklaard. 521 00:25:57,320 --> 00:26:01,060 We hebben een doe verklaring 522 00:26:01,060 --> 00:26:04,600 en vervolgens het lichaam weer met deze bretels, 523 00:26:04,600 --> 00:26:06,520 dus dit is het lichaam van de do-while - 524 00:26:06,520 --> 00:26:09,210 laat me in te zoomen op deze, dus het is beter leesbaar - 525 00:26:09,210 --> 00:26:12,730 en in het lichaam, we proberen om af te drukken "Dit is het lichaam", 526 00:26:12,730 --> 00:26:14,300 i + +, 527 00:26:14,300 --> 00:26:17,710 dus verhogen de inhoud van i en doen dit 528 00:26:17,710 --> 00:26:19,470 tot i krijgt 3 is, 529 00:26:19,470 --> 00:26:22,440 en dan ons programma eindigt. 530 00:26:22,440 --> 00:26:24,680 >> Dus wat gebeurt er als we dit programma uitvoert? 531 00:26:24,680 --> 00:26:27,580 >> Ik verwachtte een identifier. 532 00:26:27,580 --> 00:26:32,070 Oke, dus bouwen rennen,, fout optreedt. 533 00:26:32,070 --> 00:26:34,820 Wat gebeurt er? 534 00:26:34,820 --> 00:26:37,060 We scroll naar beneden hier, 535 00:26:37,060 --> 00:26:40,260 krijgen we deze wat cryptische zoek ding, 536 00:26:40,260 --> 00:26:43,930 verwacht puntkomma na hoogste niveau verklaring. 537 00:26:43,930 --> 00:26:46,620 Dat is een beetje raar. 538 00:26:46,620 --> 00:26:50,990 Heeft iemand een idee van wat zou kunnen worden aan de hand? 539 00:26:53,080 --> 00:26:54,640 Beetje raar, ja. 540 00:26:54,640 --> 00:26:57,640 >> [Onverstaanbaar] worden verklaard buiten de haakjes? 541 00:26:57,640 --> 00:27:03,480 Betekent dat dan niet van toepassing bij het gebruik van haakjes? 542 00:27:03,480 --> 00:27:07,390 Dus hij verklaarde deze man buiten die haakjes? 543 00:27:09,670 --> 00:27:12,240 Oh, deze jongens - de accolades? 544 00:27:12,240 --> 00:27:13,850 >> Ja. 545 00:27:13,850 --> 00:27:15,310 Ja, precies. 546 00:27:15,310 --> 00:27:17,120 Dus het blijkt dat 547 00:27:17,120 --> 00:27:21,550 kun je eigenlijk niet een variabele declareert hier als deze. 548 00:27:23,750 --> 00:27:26,690 Wat je zou kunnen hebben proberen te doen was - 549 00:27:26,690 --> 00:27:30,110 knip het uit van daar - 550 00:27:30,110 --> 00:27:34,330 kunt u ofwel zet het binnen de accolades hier 551 00:27:34,330 --> 00:27:37,400 of een ander alternatief 552 00:27:37,400 --> 00:27:40,350 is gericht op het volledig buiten. 553 00:27:42,480 --> 00:27:46,610 En dus deze - afhankelijk van waar je eigenlijk zet de verklaring 554 00:27:46,610 --> 00:27:48,550 van die integer variabele, 555 00:27:48,550 --> 00:27:53,540 kun je 2 zeer verschillende soorten variabelen; 556 00:27:53,540 --> 00:27:55,100 wanneer het buiten van de belangrijkste, 557 00:27:55,100 --> 00:27:58,240 het is wat wij noemen een globale variabele. 558 00:27:58,240 --> 00:28:00,070 Het is buiten de werkingssfeer van een van de functies - 559 00:28:00,070 --> 00:28:03,420 het is niet binnen een functie - 560 00:28:03,420 --> 00:28:07,050 terwijl als we het binnen van de belangrijkste, 561 00:28:07,050 --> 00:28:10,000 zoals hier, dan is het wel een lokale variabele, 562 00:28:10,000 --> 00:28:13,830 omdat het de plaatselijke omvang van de belangrijkste. 563 00:28:13,830 --> 00:28:16,720 En we zullen een beetje meer praten over wat de verschillen zijn 564 00:28:16,720 --> 00:28:20,970 tussen de 2 types en waarom u gebruik maken van verschillende soorten variabelen, 565 00:28:20,970 --> 00:28:23,040 maar voor nu, 566 00:28:23,040 --> 00:28:25,070 u kunt gewoon blijven alle variabelen lokale, 567 00:28:25,070 --> 00:28:28,320 omdat we hebben geen behoefte aan globale variabelen. 568 00:28:28,320 --> 00:28:31,390 >> Oke, dus dat is een ding daar. 569 00:28:31,390 --> 00:28:34,680 Laten we proberen het uitvoeren van dit weer, zien wat er gebeurt. 570 00:28:37,420 --> 00:28:40,270 Uitvoeren, krijgen een andere fout. 571 00:28:40,270 --> 00:28:43,320 Zoom in een beetje, we wat krijgen? 572 00:28:45,110 --> 00:28:50,000 We krijgen dit verwacht accolades na te doen / tijdje. 573 00:28:53,660 --> 00:28:55,260 Enig idee wat er aan de hand? Dan? 574 00:28:55,260 --> 00:28:58,880 >> Is die tijd dan tussen haakjes en dan - 575 00:28:58,880 --> 00:29:01,990 Ik weet niet of je nodig hebt om int redeclare, 576 00:29:01,990 --> 00:29:04,980 maar de do while (i <3). 577 00:29:04,980 --> 00:29:06,930 Precies, ja. 578 00:29:06,930 --> 00:29:08,830 Zo blijkt dat Dan is het precies. 579 00:29:08,830 --> 00:29:11,230 We hebben geen behoefte aan dit soort weer hier plaatsen. 580 00:29:11,230 --> 00:29:14,440 We kunnen in plaats daarvan doden het type 581 00:29:14,440 --> 00:29:17,220 en gewoon doen. 582 00:29:19,270 --> 00:29:21,640 Oke. 583 00:29:21,640 --> 00:29:24,950 Ik kom terug uit te zoomen, probeer het nog een keer. 584 00:29:26,360 --> 00:29:29,580 Kijk dat en draait succesvol. 585 00:29:29,580 --> 00:29:33,260 Als we naar beneden scrollen, "dit is het lichaam" uitgeprint 3 keer. 586 00:29:33,260 --> 00:29:35,820 Dat is vrij zoet. 587 00:29:35,820 --> 00:29:38,670 Goed gedaan, goed gedaan, jongens. 588 00:29:38,670 --> 00:29:41,080 Goed gedaan. 589 00:29:41,080 --> 00:29:43,250 Hoe gaat dit zo ver te gaan? 590 00:29:43,250 --> 00:29:46,200 Decent tempo? 591 00:29:46,200 --> 00:29:49,200 Oke, cool. 592 00:29:49,200 --> 00:29:52,590 >> Dus, als we soort van terug naar de oorspronkelijke vraag, 593 00:29:52,590 --> 00:29:55,430 we - en nu als we het verschil zien, 594 00:29:55,430 --> 00:29:58,240 zie je dat in dit do-while-lus, 595 00:29:58,240 --> 00:30:00,030 de aandoening komt laatste. 596 00:30:00,030 --> 00:30:02,530 Dus als de computer leest het programma 597 00:30:02,530 --> 00:30:06,050 omdat C programma's worden voor soort uitgevoerd in deze volgorde, 598 00:30:06,050 --> 00:30:09,450 waar ze letterlijk beginnen met de eerste regel van de belangrijkste, 599 00:30:09,450 --> 00:30:13,450 en vervolgens uitvoeren lijn 6, lijn 7, lijn 8, lijn 9, 600 00:30:13,450 --> 00:30:16,150 lijn 10, lijn 11, 601 00:30:16,150 --> 00:30:18,440 al deze spullen in de rechterbovenhoek hier 602 00:30:18,440 --> 00:30:20,020 gaat eenmaal wordt uitgevoerd 603 00:30:20,020 --> 00:30:23,350 voordat we ooit testen deze voorwaarde te zien 604 00:30:23,350 --> 00:30:26,240 al dan niet i - of de inhoud van i, in plaats van - 605 00:30:26,240 --> 00:30:29,750 minder dan het cijfer 3. 606 00:30:29,750 --> 00:30:33,300 En alleen als als we naar lijn 12, 607 00:30:33,300 --> 00:30:36,260 de inhoud van i minder dan 3 608 00:30:36,260 --> 00:30:39,150 hebben we eigenlijk terug te gaan naar lijn 7 609 00:30:39,150 --> 00:30:41,140 en herhaal het proces, 610 00:30:41,140 --> 00:30:44,620 en dan gaan we weer testen van de conditie en opnieuw en opnieuw. 611 00:30:44,620 --> 00:30:47,440 >> Dus we kunnen contrasteren deze 612 00:30:47,440 --> 00:30:50,240 met - zoomen weer naar buiten, 613 00:30:50,240 --> 00:30:56,500 scroll naar beneden naar versie Sam's, 614 00:30:56,500 --> 00:31:00,760 We gaan kijken naar deze, iets veranderd zodat het niet langer een oneindige lus - 615 00:31:00,760 --> 00:31:03,570 waar als we inzoomen, 616 00:31:03,570 --> 00:31:06,300 zien we dat als dit programma wordt uitgevoerd, 617 00:31:06,300 --> 00:31:09,120 het gaat om eerst te verklaren int i, 618 00:31:09,120 --> 00:31:12,030 stelt u de inhoud van de i be op 0, 619 00:31:12,030 --> 00:31:15,820 en dan raakt de toestand van de lus while eerste 620 00:31:15,820 --> 00:31:19,210 dus in dit geval, dit lichaam, dit printf ("hi") en i + + 621 00:31:19,210 --> 00:31:21,630 zal niet eens uit te voeren 622 00:31:21,630 --> 00:31:24,310 tenzij i zelfs minder dan of gelijk aan 2. 623 00:31:24,310 --> 00:31:26,750 Als i is 3 bijvoorbeeld 624 00:31:26,750 --> 00:31:28,840 Als we dit hier 625 00:31:28,840 --> 00:31:32,160 gelijk aan 4 - of ik doe 3, omdat ik zei 3 - 626 00:31:32,160 --> 00:31:34,890 en voer het, 627 00:31:34,890 --> 00:31:38,320 het zal bouwen, zal het draaien helemaal goed, 628 00:31:38,320 --> 00:31:40,530 maar het zal niet echt afgedrukt wat dan ook, 629 00:31:40,530 --> 00:31:43,030 omdat zij niet die test voor het eerste geval. 630 00:31:44,780 --> 00:31:47,530 Dus in de klas, we soort van gesproken over waarom deze do-while loops 631 00:31:47,530 --> 00:31:49,800 soms bruikbaar 632 00:31:49,800 --> 00:31:53,140 en waarom zouden we het gebruiken in plaats van een while lus. 633 00:31:53,140 --> 00:31:56,450 >> Zijn er - hebben jullie nog suggesties 634 00:31:56,450 --> 00:31:59,090 waarom een ​​do-while-lus wellicht beter? 635 00:31:59,090 --> 00:32:02,560 >> Nou, ik denk dat do-while loops is als je wilt input van de gebruiker, 636 00:32:02,560 --> 00:32:05,020 want op die manier kunt u hen laten 637 00:32:05,020 --> 00:32:07,780 iets in een keer, maar als het klopt, 638 00:32:07,780 --> 00:32:09,300 we verder met de rest van het programma, 639 00:32:09,300 --> 00:32:11,250 maar als het niet correct is, dan moet je blijven vragen aan de gebruiker 640 00:32:11,250 --> 00:32:13,250 totdat u de juiste ingang. 641 00:32:13,250 --> 00:32:14,260 Ja, precies - precies, 642 00:32:14,260 --> 00:32:16,840 dus een do-while-lus is nuttig 643 00:32:16,840 --> 00:32:18,930 want tijdens het vragen om invoer van de gebruiker 644 00:32:18,930 --> 00:32:23,000 want je moet de gebruiker input te krijgen voordat je daadwerkelijk kunt controleren. 645 00:32:23,000 --> 00:32:27,330 Dus PSET 1, in PSET 2, 646 00:32:27,330 --> 00:32:29,650 waar je wordt gevraagd om invoer van de gebruiker veel, 647 00:32:29,650 --> 00:32:31,200 dat is een handig ding om te gebruiken 648 00:32:31,200 --> 00:32:33,740 in tegenstelling tot een simpele while lus. 649 00:32:33,740 --> 00:32:36,780 Als u gebruik maakt van een while-lus, kunt u hetzelfde doen - 650 00:32:36,780 --> 00:32:38,750 u kunt hetzelfde doen met een lus while 651 00:32:38,750 --> 00:32:40,580 als je met een do-while-lus. 652 00:32:40,580 --> 00:32:43,380 Je hoeft alleen te soort hebben dit dubbele proces 653 00:32:43,380 --> 00:32:47,010 waar u eerst de ingang en dan begin je while lus. 654 00:32:47,010 --> 00:32:49,800 Overwegende dat een do-while-lus, hoef je alleen maar een keer te schrijven 655 00:32:49,800 --> 00:32:52,430 en het is een stuk schoner. 656 00:32:52,430 --> 00:32:54,650 >> Oke. 657 00:32:55,970 --> 00:32:57,330 Nog vragen? 658 00:32:59,350 --> 00:33:01,380 Logisch? 659 00:33:01,380 --> 00:33:06,200 >> De return 0 - dat is gewoon een soort van een kraam of is het -? 660 00:33:06,200 --> 00:33:08,960 Ja, dus we kunnen - 661 00:33:08,960 --> 00:33:11,960 goed, zullen we de dekking van deze een beetje meer later 662 00:33:11,960 --> 00:33:13,290 maar het blijkt dat de 663 00:33:13,290 --> 00:33:15,720 Deze return 0, dat we 664 00:33:15,720 --> 00:33:19,090 eind voornaamste hele tijd - 665 00:33:19,090 --> 00:33:21,980 kun je een beetje gewoon als iets wat we doen 666 00:33:21,980 --> 00:33:24,930 voorlopig. 667 00:33:24,930 --> 00:33:28,860 Wat zijn we begonnen om over te praten met functies 668 00:33:28,860 --> 00:33:31,600 soort van aan het einde van vorige week en dan weer deze week 669 00:33:31,600 --> 00:33:33,550 dat een functie 670 00:33:33,550 --> 00:33:37,680 neemt ingangen die deze dingen binnen de haakjes; 671 00:33:37,680 --> 00:33:41,690 Dit zijn 2 ingangen, onze argumenten of parameters, 672 00:33:41,690 --> 00:33:44,540 wat ze ook wel naar onze belangrijkste functie, 673 00:33:44,540 --> 00:33:48,510 en een functie een uitgangssignaal 674 00:33:48,510 --> 00:33:51,290 noemen wij een return waarde. 675 00:33:51,290 --> 00:33:56,260 En de retourwaarde bij belangrijkste is dat int, 676 00:33:56,260 --> 00:33:58,320 deze integer, 677 00:33:58,320 --> 00:34:01,160 en de manier waarop u te vertellen een functie, "He, dit is wat je output 678 00:34:01,160 --> 00:34:05,840 gaat worden, "is met dit woord" return ", 679 00:34:05,840 --> 00:34:07,960 dat zoekwoord, in plaats van, 680 00:34:07,960 --> 00:34:11,000 en zo de belangrijkste terugkerende 0 681 00:34:11,000 --> 00:34:13,389 of belangrijkste uitvoeren van 0 682 00:34:13,389 --> 00:34:15,139 is standaard in C-programma's 683 00:34:15,139 --> 00:34:18,110 omdat terugkeer 0 van de belangrijkste middelen die 684 00:34:18,110 --> 00:34:21,600 "Hey, alles uitgevoerd met mijn programma prima." 685 00:34:21,600 --> 00:34:24,639 Als we iets anders zetten dan 0, 686 00:34:24,639 --> 00:34:27,440 zoals 1, bijvoorbeeld 687 00:34:27,440 --> 00:34:31,080 die wordt gebruikt om te vertellen wie liep dit programma 688 00:34:31,080 --> 00:34:33,540 dat er iets mis ging. 689 00:34:35,739 --> 00:34:39,989 Dus als we meer betrokken met spullen over de semester, 690 00:34:39,989 --> 00:34:42,670 als je ooit om te zeggen, 691 00:34:42,670 --> 00:34:46,650 "Oeps, je weet wel, ging er iets mis met dit programma," 692 00:34:46,650 --> 00:34:49,409 in plaats van mijn programma crash, ik wil melden 693 00:34:49,409 --> 00:34:52,310 de loper van mijn programma dat er iets mis ging, 694 00:34:52,310 --> 00:34:54,530 kunt u gebruik maken return waarde, 695 00:34:54,530 --> 00:34:57,230 zoals wij het noemen, dat is niet 0. 696 00:35:00,180 --> 00:35:02,240 >> Dus gaan we het hebben dat een beetje meer 697 00:35:02,240 --> 00:35:05,480 zodra we in functies. 698 00:35:05,480 --> 00:35:09,030 Dat soort zinvol? 699 00:35:09,030 --> 00:35:11,240 Oke. 700 00:35:11,240 --> 00:35:13,530 Functies zijn soort bizarre - 701 00:35:13,530 --> 00:35:17,270 Ik denk dat voor mensen die veel van wiskunde achtergrond, 702 00:35:17,270 --> 00:35:20,100 komt wat gemakkelijker 703 00:35:20,100 --> 00:35:22,540 vooral als je een beetje meer abstracte wiskunde achtergrond 704 00:35:22,540 --> 00:35:24,240 en je bent gewend om te praten over functies 705 00:35:24,240 --> 00:35:27,370 en al dat soort dingen. 706 00:35:28,590 --> 00:35:30,610 Maar we zullen proberen en dek ze af 707 00:35:30,610 --> 00:35:33,280 en ga lekker langzaam als ze komen. 708 00:35:34,730 --> 00:35:37,870 Ook deze hele int argc, 709 00:35:37,870 --> 00:35:41,090 char * argv [], 710 00:35:41,090 --> 00:35:44,960 voor nu, kunt u ook dat als ketel plaat. 711 00:35:46,650 --> 00:35:49,050 We zijn begonnen om die een beetje in lezing dekken 712 00:35:49,050 --> 00:35:53,060 als we praten over argumenten die krijgen in programma's die via de opdrachtregel, 713 00:35:53,060 --> 00:35:55,700 maar in uw probleem sets en uw programma's, 714 00:35:55,700 --> 00:35:58,760 het is helemaal prima alleen nietig te schrijven en het simpel te houden. 715 00:35:58,760 --> 00:36:01,490 En wat deze leegte betekent is dat 716 00:36:01,490 --> 00:36:04,630 "He, is de belangrijkste niet van plan om alle inputs te accepteren; 717 00:36:04,630 --> 00:36:07,440 dit is gewoon een programma dat we gaan gewoon lopen. 718 00:36:07,440 --> 00:36:09,320 We zijn niet gaan geven extra informatie 719 00:36:09,320 --> 00:36:12,420 elke keer als we beginnen met het op draait. " 720 00:36:14,730 --> 00:36:16,600 Dus voor nu, kunt u dit doen; 721 00:36:16,600 --> 00:36:19,710 kunt u ook nog weglaten van de return 0 722 00:36:19,710 --> 00:36:22,650 aan het eind van uw programma's en ze lopen prima, 723 00:36:22,650 --> 00:36:26,150 maar ik raad alleen het houden van dat binnen 724 00:36:26,150 --> 00:36:28,320 In een paar weken zullen we beginnen met de soort 725 00:36:28,320 --> 00:36:31,340 trek de deksel een beetje en meer te begrijpen over 726 00:36:31,340 --> 00:36:34,380 al die verschillende kleine bewegende delen. 727 00:36:34,380 --> 00:36:38,160 >> Oke, laten we nu hier praten over onze tweede vraag. 728 00:36:38,160 --> 00:36:43,190 Dus wat doet "zwart identifier" duiden er meestal op 729 00:36:43,190 --> 00:36:46,040 indien afgegeven door Clang? 730 00:36:46,040 --> 00:36:49,290 Ik denk dat we dat al hebben gezien vandaag. 731 00:36:51,170 --> 00:36:54,370 Kan iemand geven een samenvatting van wat dat betekent? 732 00:36:54,370 --> 00:36:57,680 Laten we eens kijken, Kelly - een van de Kelly's. 733 00:37:02,580 --> 00:37:05,300 >> Dus - 734 00:37:05,300 --> 00:37:07,080 Ja, wat doet - 735 00:37:07,080 --> 00:37:10,140 >> Ik denk dat als je, net als, niet verklaren de variabelen en je probeert om het te gebruiken. 736 00:37:10,140 --> 00:37:13,310 Ja, precies, precies. 737 00:37:13,310 --> 00:37:15,250 Dus als je ooit zult zien deze uitgang 738 00:37:15,250 --> 00:37:17,690 wanneer u probeert en stel uw programma, 739 00:37:17,690 --> 00:37:19,470 net zoals Kelly zei, 740 00:37:19,470 --> 00:37:24,210 betekent dit dat u een variabele die je niet hoeft te declareren wordt gebruikt, 741 00:37:24,210 --> 00:37:28,460 dus als ik terug naar onze Space, 742 00:37:28,460 --> 00:37:31,150 en ik doe iets als 743 00:37:31,150 --> 00:37:34,800 printf ( 744 00:37:34,800 --> 00:37:38,260 "Hallo% s") 745 00:37:40,070 --> 00:37:42,440 en proberen en vul dat% s 746 00:37:42,440 --> 00:37:45,640 met een variabele s die ik niet heb nergens verklaard 747 00:37:45,640 --> 00:37:48,330 en ik probeer het uit te voeren, 748 00:37:48,330 --> 00:37:51,330 je zult zien wat ik aan de slag in deze rechtsonder hier: 749 00:37:51,330 --> 00:37:54,010 "Het gebruik van niet-aangegeven identifier 's'"; 750 00:37:54,010 --> 00:37:57,710 dat betekent gewoon dat je niet hoeft te declareren uw variabele. 751 00:37:57,710 --> 00:38:00,750 Hetzelfde gebeurt als 752 00:38:00,750 --> 00:38:05,240 je hebt x en je probeert en 7 op te slaan in het 753 00:38:05,240 --> 00:38:08,720 en ik heb niet verklaren X. 754 00:38:08,720 --> 00:38:10,200 Ik krijg dezelfde error: 755 00:38:10,200 --> 00:38:13,480 "Het gebruik van 'x' aangegeven naam". 756 00:38:16,390 --> 00:38:18,250 >> Oke, 757 00:38:18,250 --> 00:38:21,720 zodat de Caesar Cipher, niet erg veilig, 758 00:38:21,720 --> 00:38:24,590 Ik laat jullie zien deze korte, soort van begrijpen waarom, 759 00:38:24,590 --> 00:38:27,590 en hopelijk na het doen van deze week probleem te stellen 760 00:38:27,590 --> 00:38:29,270 waar je eigenlijk een Caesar Cipher schrijven, zul je begrijpen een beetje meer 761 00:38:29,270 --> 00:38:32,600 over wat het betekent om een ​​veilige en onveilige - 762 00:38:36,180 --> 00:38:38,960 of niet veilig, denk ik - onzeker is iets anders. 763 00:38:40,560 --> 00:38:43,140 Het andere was hebben we hier deze andere vragen 764 00:38:43,140 --> 00:38:45,470 over functies 765 00:38:45,470 --> 00:38:47,330 en wat een functie is, 766 00:38:47,330 --> 00:38:52,820 en we soort van over gehad kort toen we spraken over de terugkeer van waarden; 767 00:38:52,820 --> 00:38:54,560 voor iemand die is al de les te lezen, 768 00:38:54,560 --> 00:38:57,790 U kunt samen te vatten die zijn geweest om les te lezen vandaag? 769 00:38:57,790 --> 00:38:59,670 Oke. 770 00:39:01,210 --> 00:39:04,320 Laten we eens kijken, laten we eens - kan iemand ons vertellen wat een functie is? 771 00:39:04,320 --> 00:39:06,060 Kelly? 772 00:39:07,800 --> 00:39:11,260 >> >> In principe iets wat je putten uit iets dat geschreven is in de bibliotheek dat is 773 00:39:11,260 --> 00:39:14,460 ingewikkelder daar, en dan moet je gewoon schrijven een korte vorm van het, 774 00:39:14,460 --> 00:39:17,360 dus als je verwijst naar die bibliotheek, met behulp van 775 00:39:17,360 --> 00:39:19,650 zo lang code en [onhoorbaar]. 776 00:39:19,650 --> 00:39:22,680 Ja, precies, en dan wil je iets toevoegen aan wat? 777 00:39:22,680 --> 00:39:27,050 >> Ja, ik denk het als vergelijkbaar met het concept van een formule in de wiskunde 778 00:39:27,050 --> 00:39:30,130 waar je gewoon schrijf een formule en dan u kunt aansluiten variabelen in 779 00:39:30,130 --> 00:39:32,660 en dat is wat een functie is [onverstaanbaar]. 780 00:39:32,660 --> 00:39:35,390 >> Ja, dus we hebben een paar antwoorden hier 781 00:39:35,390 --> 00:39:38,080 dat zijn allebei erg goed en direct aan. 782 00:39:38,080 --> 00:39:43,040 Er is met betrekking tot code die is geschreven in de bibliotheek ergens 783 00:39:43,040 --> 00:39:45,390 Dat is ingewikkelder 784 00:39:45,390 --> 00:39:47,130 en dan kun je putten uit die code 785 00:39:47,130 --> 00:39:50,480 en werkelijk te gebruiken door gewoon het schrijven van de korte vorm van het - 786 00:39:50,480 --> 00:39:54,060 of liever, de naam - 787 00:39:54,060 --> 00:39:57,590 en dan is er ook deze vergelijking om een ​​formule in de wiskunde 788 00:39:57,590 --> 00:40:00,400 of natuurkunde, al dat soort dingen 789 00:40:00,400 --> 00:40:02,980 waar je een formule 790 00:40:02,980 --> 00:40:05,690 en je in kan pluggen in 791 00:40:05,690 --> 00:40:08,100 de variabelen aan die formule 792 00:40:08,100 --> 00:40:11,130 te krijgen dan het resultaat van de formule 793 00:40:11,130 --> 00:40:14,580 zodat je er over nadenkt als als de kwadratische vergelijking. 794 00:40:14,580 --> 00:40:17,690 Stel je voor dat in plaats van om te leren over 795 00:40:17,690 --> 00:40:21,310 wat de kwadratische formule is in wiskunde klas, 796 00:40:21,310 --> 00:40:24,610 je had net een beetje rekenmachine programma dat het voor jou deed. 797 00:40:24,610 --> 00:40:28,930 Heeft iemand gebruiken rekenmachine-programma's in wiskunde lessen op de middelbare school? 798 00:40:28,930 --> 00:40:31,020 Ja, natuurkunde klassen? 799 00:40:31,020 --> 00:40:34,670 Waar kun je gewoon zeggen: "He, kwadratische formule. 800 00:40:34,670 --> 00:40:37,740 Dit zijn de variabelen die ik wil invoeren. 801 00:40:37,740 --> 00:40:40,250 Geef me het antwoord. " 802 00:40:40,250 --> 00:40:42,170 Dat is een soort van wat een functie is. 803 00:40:42,170 --> 00:40:44,850 Het is een manier voor ons om 804 00:40:44,850 --> 00:40:47,720 soort van schrijven als een klein beetje onder het programma 805 00:40:47,720 --> 00:40:51,700 binnen onze grotere programma 806 00:40:51,700 --> 00:40:55,090 en gebruik het over en weer 807 00:40:55,090 --> 00:40:58,380 zodat wij niet hoeven te kopiëren en plakken code, 808 00:40:58,380 --> 00:41:04,220 we kunnen geven verschillende ingangen en krijg verschillende uitgangen, 809 00:41:04,220 --> 00:41:07,090 het is super handig 810 00:41:07,090 --> 00:41:11,420 als je probeert om verschillende programma's te schrijven op verschillende tijdstippen. 811 00:41:11,420 --> 00:41:14,580 >> Dus bijvoorbeeld, een functie die we hebben gebruik gemaakt van over en over en weer 812 00:41:14,580 --> 00:41:17,310 gedurende de cursus is printf. 813 00:41:17,310 --> 00:41:19,680 Printf zelf een functie 814 00:41:19,680 --> 00:41:23,360 en het blijkt dat het eigenlijk een vrij lang en ingewikkeld, 815 00:41:23,360 --> 00:41:26,420 vervelende kijken, werken te schrijven. 816 00:41:26,420 --> 00:41:29,590 Dus zo simpel als het lijkt ons 817 00:41:29,590 --> 00:41:31,810 om dingen uit te printen op het scherm, 818 00:41:31,810 --> 00:41:34,820 omdat we allemaal net deed dat aan het begin van deel vandaag de dag, 819 00:41:34,820 --> 00:41:36,870 blijkt dat het eigenlijk, weet je, 820 00:41:36,870 --> 00:41:39,900 een goed paar honderd regels code. 821 00:41:42,030 --> 00:41:45,620 Het is niet iets dat ik ooit zou willen schrijven, zeker, 822 00:41:45,620 --> 00:41:47,480 maar we krijgen om het te gebruiken elke dag, dat is wel cool, 823 00:41:47,480 --> 00:41:49,020 dus we krijgen om het te delen met elkaar, 824 00:41:49,020 --> 00:41:51,790 met verschillende programma's, 825 00:41:51,790 --> 00:41:54,520 dus we zullen duiken meer in functies; 826 00:41:54,520 --> 00:41:56,090 voor het moment, we zijn niet - 827 00:41:56,090 --> 00:41:59,150 de enige functie gaan we te schrijven is de belangrijkste. 828 00:41:59,150 --> 00:42:01,570 Main zelf ook een functie, 829 00:42:01,570 --> 00:42:04,270 en je kunt zien dat het de output heeft, 830 00:42:04,270 --> 00:42:06,610 de inputs zoals we gesproken over, 831 00:42:06,610 --> 00:42:08,930 en dan de naam, die de belangrijkste. 832 00:42:08,930 --> 00:42:11,800 Main is een soort van een - is een speciale functie daar. 833 00:42:11,800 --> 00:42:14,800 In uw C-programma, moet er een hoofdfunctie, 834 00:42:14,800 --> 00:42:17,900 en dus voor nu, we hebben soort van weggelaten schrijven 835 00:42:17,900 --> 00:42:21,400 het prototype of de verklaring van, de belangrijkste. 836 00:42:21,400 --> 00:42:23,050 We hebben gezien het feit dat u, 837 00:42:23,050 --> 00:42:25,650 en we hebben net vul je in natura van de blanks. 838 00:42:25,650 --> 00:42:29,120 >> >> Dus voor het tweede probleem set, hoeven we niet te 839 00:42:29,120 --> 00:42:31,350 schrijf het in de tweede functie? 840 00:42:31,350 --> 00:42:34,200 Ik denk het niet. 841 00:42:34,200 --> 00:42:37,600 Ik geloof dat het allemaal hier. 842 00:42:37,600 --> 00:42:41,710 Ja, dus Caesar Cipher, 843 00:42:41,710 --> 00:42:45,000 je hoeft niet te, is het niet zien, 844 00:42:48,740 --> 00:42:53,150 en Vigenere, doe je ook niet, 845 00:42:53,150 --> 00:42:56,400 dus - en het blijkt dat je niet ooit daadwerkelijk te schrijven 846 00:42:56,400 --> 00:42:58,250 een functie, toch? 847 00:42:58,250 --> 00:43:01,950 U belt altijd al je code te zetten in de belangrijkste, 848 00:43:01,950 --> 00:43:04,500 en veel programmeurs doen. 849 00:43:04,500 --> 00:43:07,130 Als we verder gaan, 850 00:43:07,130 --> 00:43:09,480 We beginnen met de invoering functioneert als een manier 851 00:43:09,480 --> 00:43:11,530 om schoon te maken uw code, 852 00:43:11,530 --> 00:43:13,380 om het meer elegante, 853 00:43:13,380 --> 00:43:16,890 in het geval u taken - een beetje zoals toen we spraken over loops, 854 00:43:16,890 --> 00:43:20,400 hoe soms zijn er dingen die je wilt opnieuw en opnieuw en opnieuw doen, 855 00:43:20,400 --> 00:43:23,510 en je hebt soort van de naïeve manier - 856 00:43:23,510 --> 00:43:26,360 of wat we vaak noemen de "stroman" oplossing, 857 00:43:26,360 --> 00:43:29,390 is om gewoon kopiëren en dan plakken en weer - 858 00:43:29,390 --> 00:43:31,000 u kunt hetzelfde doen met functies waar je gewoon kopiëren en plakken 859 00:43:31,000 --> 00:43:33,360 dezelfde code over en weer, 860 00:43:33,360 --> 00:43:35,750 maar dat bloats uw code - 861 00:43:35,750 --> 00:43:38,550 het eindigt het maken van uw code echt lang - 862 00:43:38,550 --> 00:43:41,550 en het wordt ook een beetje verwarrend, 863 00:43:41,550 --> 00:43:43,470 en dan betekent dit dat u niet in staat zijn om dergelijke - 864 00:43:43,470 --> 00:43:45,250 als je ooit wilt dat de code opnieuw te gebruiken in een ander programma, 865 00:43:45,250 --> 00:43:48,610 je bent ook vast te kopiëren en plakken het weer, 866 00:43:48,610 --> 00:43:51,170 dus een van de dingen die we praten over is 867 00:43:51,170 --> 00:43:54,960 soort ontwerp en de stijl van uw programma's, 868 00:43:54,960 --> 00:43:57,010 en dus, als het zinvol is om dergelijke 869 00:43:57,010 --> 00:43:59,800 pakket iets omhoog en zet het als een aparte functie, 870 00:43:59,800 --> 00:44:02,080 raden wij u aan dat te doen, 871 00:44:02,080 --> 00:44:04,700 en dat is iets dat, nogmaals, 872 00:44:04,700 --> 00:44:07,790 er is geen vaste regel. 873 00:44:07,790 --> 00:44:11,540 We zelden zeggen dat je moet een functie genaamd dit te schrijven, 874 00:44:12,870 --> 00:44:16,320 maar het is meer van een van die dingen die je gewoon ontwikkelen in de tijd 875 00:44:16,320 --> 00:44:19,470 als je meer en meer programma's te schrijven. 876 00:44:21,940 --> 00:44:24,790 >> Nog meer vragen? 877 00:44:26,340 --> 00:44:30,610 Oke, dus laten we nu 878 00:44:30,610 --> 00:44:34,750 Ga terug naar deze man hier, 879 00:44:34,750 --> 00:44:37,800 dus ik ben nog steeds in dit gedeelte van vragen. 880 00:44:37,800 --> 00:44:39,900 We hebben gesproken over al die verschillende, 881 00:44:39,900 --> 00:44:42,050 wat is een functie, waarom om functies te schrijven, 882 00:44:42,050 --> 00:44:44,700 wanneer je kunt gewoon kopiëren en plakken? 883 00:44:44,700 --> 00:44:47,700 Hopelijk hebben we je overtuigd dat het schrijven van functies is een goede zaak. 884 00:44:47,700 --> 00:44:50,870 Dus laten we nu overgaan tot deze MySpace programma, 885 00:44:50,870 --> 00:44:53,080 en wij zullen besteden een beetje tijd om dit te doen. 886 00:44:54,600 --> 00:44:56,480 >> Dus, laten we eens kijken, 887 00:44:56,480 --> 00:45:00,230 kan ik iemand heb dit voor mij? 888 00:45:02,640 --> 00:45:04,660 Laten we Mikhaila - zal je dit leest voor ons? 889 00:45:07,660 --> 00:45:08,890 >> Je bedoelt terug als MySpace - 890 00:45:08,890 --> 00:45:10,920 Terug toen MySpace was cool. 891 00:45:10,920 --> 00:45:12,070 >> "Toen MySpace was cool, 892 00:45:12,070 --> 00:45:14,900 Het was al de woede op type Vind je deze. 893 00:45:14,900 --> 00:45:17,320 Misschien is het nog? Ik ben niet echt zeker. 894 00:45:17,320 --> 00:45:19,990 In ieder geval met de CS50 Appliance, 895 00:45:19,990 --> 00:45:22,600 CS50 Run of CS50 Spaces, 896 00:45:22,600 --> 00:45:25,370 schrijf een programma dat de gebruiker voor een melding 897 00:45:25,370 --> 00:45:29,350 en drukt dan het bericht met de eerste letter als hoofdletter geschreven, 898 00:45:29,350 --> 00:45:31,800 met alle andere letters in afwisselende geval, 899 00:45:31,800 --> 00:45:34,010 volgens de voorbeeld van de uitvoer onder, 900 00:45:34,010 --> 00:45:37,060 waarin vetgedrukt tekst vertegenwoordigt enkele gebruiker input. 901 00:45:37,060 --> 00:45:39,800 Voor de eenvoud, kunt u ervan uitgaan dat de gebruiker 902 00:45:39,800 --> 00:45:42,810 zal alleen ingang kleine letters en spaties. 903 00:45:42,810 --> 00:45:45,900 Beschouw dit probleem een ​​kans om te oefenen; 904 00:45:45,900 --> 00:45:48,640 wordt u niet gevraagd om dit programma in te dienen. " 905 00:45:48,640 --> 00:45:51,640 >> Geweldig, dank je wel. 906 00:45:51,640 --> 00:45:54,750 Dus als Mikhaila gezegd, 907 00:45:54,750 --> 00:45:58,850 gaan we een programma dat uw code MySpaces schrijven. 908 00:45:58,850 --> 00:46:02,230 Dus heb een van jullie gebruiken MySpace? 909 00:46:02,230 --> 00:46:04,100 Elk van jullie heeft MySpace-accounts? 910 00:46:04,100 --> 00:46:05,920 Oh, ja, ja! 911 00:46:05,920 --> 00:46:08,300 Het was erg tof. 912 00:46:08,300 --> 00:46:09,950 [Gelach] 913 00:46:09,950 --> 00:46:12,060 Ik weet het. 914 00:46:12,060 --> 00:46:14,500 Dating mezelf. 915 00:46:15,490 --> 00:46:18,300 Dus wat we proberen te doen is een programma te schrijven 916 00:46:18,300 --> 00:46:21,110 dat doorloopt 917 00:46:21,110 --> 00:46:24,490 en de eerste letter 918 00:46:24,490 --> 00:46:27,140 en vervolgens om de brief daarna - 919 00:46:27,140 --> 00:46:29,350 of elke andere letter daarna, het spijt me. 920 00:46:29,350 --> 00:46:32,910 >> Dus - en je kunt zien in dit voorbeeld, 921 00:46:32,910 --> 00:46:35,260 dit is hoe we het programma uit te voeren, 922 00:46:35,260 --> 00:46:38,780 en dus dit is gewoon te zeggen: "We zijn een programma genaamd a.out draait. 923 00:46:41,490 --> 00:46:44,630 De input die we gaan waardoor het 924 00:46:44,630 --> 00:46:47,090 zal worden gevraagd. 925 00:46:47,090 --> 00:46:51,150 We gaan niet leveren de input op de opdrachtregel. " 926 00:46:51,150 --> 00:46:54,100 Als u al na alle lezingen 927 00:46:54,100 --> 00:46:56,710 en het horen van argumenten op de prompt, 928 00:46:57,810 --> 00:47:00,080 dat is een soort van waar die - dat funky syntaxis 929 00:47:00,080 --> 00:47:04,530 aan de Main komt binnen met de int argc, al dat spul, 930 00:47:04,530 --> 00:47:07,630 dus hier zijn we nog niet gebruikt, dat, we zijn niet te maken met een van die. 931 00:47:09,400 --> 00:47:12,650 We zijn gewoon gaan dit getypt in te krijgen door de gebruiker, 932 00:47:12,650 --> 00:47:15,700 en dan deze tweede lijn met de funky kapitalisatie 933 00:47:15,700 --> 00:47:18,550 is wat we willen ons programma om output. 934 00:47:19,790 --> 00:47:22,860 >> Dus in plaats van het apparaat of Run, zullen we gebruik maken van Spaces, 935 00:47:22,860 --> 00:47:25,360 want we hebben Spaces, 936 00:47:25,360 --> 00:47:28,640 en dus als jullie zou 937 00:47:28,640 --> 00:47:32,380 krijg je code om iets op te zoeken als dit, 938 00:47:32,380 --> 00:47:35,930 dus ik ga deze herziening op te slaan 939 00:47:35,930 --> 00:47:38,390 gewoon zo je hebt de ketel plaat hier 940 00:47:38,390 --> 00:47:42,840 dat ziet er zo uit, int main (void), niets in. 941 00:47:44,480 --> 00:47:48,460 Eigenlijk, wat we doen is dat we zullen gewoon alles te verwijderen allemaal samen. 942 00:47:48,460 --> 00:47:50,330 We willen een schone lei, 943 00:47:50,330 --> 00:47:52,470 omdat we niet gaan beginnen met het schrijven van code; 944 00:47:52,470 --> 00:47:55,380 liever gezegd, we gaan proberen het schrijven van een aantal pseudo-code 945 00:47:55,380 --> 00:47:58,580 wat eigenlijk gewoon betekent dat we gaan iets dat niet is code te schrijven 946 00:47:58,580 --> 00:48:01,010 dat soort beschrijft wat we willen doen, 947 00:48:01,010 --> 00:48:05,180 een beetje zoals David deed op de eerste dag van de lezing, 948 00:48:05,180 --> 00:48:08,310 of ik denk dat dat was de tweede dag van de lezing toen hij dat deed de hele sokken demo. 949 00:48:08,310 --> 00:48:10,990 Jullie herinneren dat - het zien van de sokken? 950 00:48:10,990 --> 00:48:13,300 Jozef was daar soort van te typen in het Engels? 951 00:48:13,300 --> 00:48:16,300 Dus we gaan hetzelfde doen. 952 00:48:16,300 --> 00:48:18,380 >> Dus toen ik beginnen met het schrijven pseudocode, 953 00:48:18,380 --> 00:48:22,640 Ik wil graag beginnen door te kijken naar wat de ingang gaat worden. 954 00:48:22,640 --> 00:48:24,950 En ik geef mezelf een monster zaak, 955 00:48:24,950 --> 00:48:28,780 dus als "bedankt voor de add!" 956 00:48:35,030 --> 00:48:38,010 En dan heb ik ook schrijven wat ik wil de output te zijn, 957 00:48:38,010 --> 00:48:42,210 in dit geval is zoiets. 958 00:48:53,790 --> 00:48:56,050 En dat soort geeft me een goed, net als, uitvalsbasis om na te denken over, 959 00:48:56,050 --> 00:48:59,730 "Oke, ik wil lijn 1 te nemen 960 00:48:59,730 --> 00:49:03,560 en ik wil om te zetten in lijn 2, " 961 00:49:03,560 --> 00:49:06,570 en dat soort helpt begeleiden mijn denken. 962 00:49:06,570 --> 00:49:09,990 Dit is een goede plek om te beginnen. 963 00:49:09,990 --> 00:49:12,190 Een andere manier om na te denken over het, ook, zoals we kinda gaan 964 00:49:12,190 --> 00:49:15,020 en als je dit doet in je eigen programma's, is het 965 00:49:15,020 --> 00:49:18,530 na te denken over zoiets als wat zijn de rand gevallen dit? 966 00:49:18,530 --> 00:49:20,740 Wat zijn soort van de vreemde scenario's? 967 00:49:20,740 --> 00:49:23,660 Wat zijn de rare ingangen die we kunnen krijgen? 968 00:49:23,660 --> 00:49:26,550 En wat moeten die resultaten zien? 969 00:49:26,550 --> 00:49:29,670 Bijvoorbeeld, een rare ingang 970 00:49:29,670 --> 00:49:33,200 zou men, 971 00:49:33,200 --> 00:49:35,630 het creëren van helemaal niets, 972 00:49:35,630 --> 00:49:37,840 zoals wat moeten we uitvoeren in dat geval? 973 00:49:37,840 --> 00:49:40,530 Iets wat we willen denken, ook. 974 00:49:40,530 --> 00:49:44,450 >> Dus net als een vraag, 975 00:49:44,450 --> 00:49:46,870 wat zouden we willen output? 976 00:49:46,870 --> 00:49:50,740 Als we een willekeurige ingang niet helemaal, wat moet ons programma worden uitvoeren? 977 00:49:53,740 --> 00:49:54,860 >> Niets. 978 00:49:54,860 --> 00:49:57,340 Niets? Klinkt goed. 979 00:49:57,340 --> 00:49:59,280 Dus we willen ervoor zorgen dat we niet alles uit te schrijven 980 00:49:59,280 --> 00:50:01,500 als we niet krijgen wat binnen 981 00:50:01,500 --> 00:50:04,320 Cool. Oke. 982 00:50:04,320 --> 00:50:07,370 Zo 983 00:50:07,370 --> 00:50:09,380 Ik ga een beroep doen op een paar mensen als we door 984 00:50:09,380 --> 00:50:12,790 en net erachter te komen net zoiets als wat de algemene algoritme is 985 00:50:12,790 --> 00:50:15,250 en we soort slag door deze samen. 986 00:50:16,240 --> 00:50:19,710 >> Dus, laten we eens kijken. Missy. 987 00:50:19,710 --> 00:50:21,220 Hoe denk je dat we zouden beginnen? 988 00:50:21,220 --> 00:50:24,830 Wat zou een goede plek om hier te starten 989 00:50:24,830 --> 00:50:27,900 als we willen veranderen, zeg, lijn 1 990 00:50:27,900 --> 00:50:29,440 in lijn 2? 991 00:50:29,440 --> 00:50:32,650 Kun je soort van gewoon mij uitleggen, in het Engels, wat je denkt? 992 00:50:32,650 --> 00:50:34,770 Maak je geen zorgen over code. 993 00:50:34,770 --> 00:50:38,250 >> Het eerste wat ik zou doen zou zijn om 994 00:50:38,250 --> 00:50:41,170 vorm van directe de gebruiker om ze te vertellen wat je wilt. 995 00:50:41,170 --> 00:50:44,730 Oke, dus, laten we zeggen, 996 00:50:44,730 --> 00:50:47,450 "He, gebruiker. Wil ik 997 00:50:47,450 --> 00:50:50,560 een string "- geweldig. 998 00:50:50,560 --> 00:50:52,990 Dus laten we opschrijven. 999 00:50:52,990 --> 00:50:56,140 De gebruiker vragen om een ​​string. 1000 00:50:56,140 --> 00:50:59,270 Dat klinkt als een goed begin. 1001 00:51:03,920 --> 00:51:06,460 Oke. 1002 00:51:06,460 --> 00:51:09,750 We vragen Kelly Ren deze tijd. 1003 00:51:09,750 --> 00:51:11,580 Wat zouden we dan willen doen? 1004 00:51:11,580 --> 00:51:14,220 Wat is een soort van onze volgende -? 1005 00:51:14,220 --> 00:51:18,080 >> Verzamel hun input en opslaan als een variabele. 1006 00:51:18,080 --> 00:51:20,470 Geweldig. 1007 00:51:20,470 --> 00:51:24,280 Dus het verzamelen van de string, 1008 00:51:25,450 --> 00:51:27,880 opslaan in een variabele. 1009 00:51:34,840 --> 00:51:36,460 Dus is er iets speciaals willen we hier doen? 1010 00:51:36,460 --> 00:51:39,700 Willen we hun inbreng te controleren 1011 00:51:39,700 --> 00:51:42,260 voor -? 1012 00:51:42,260 --> 00:51:43,790 >> Ja. 1013 00:51:43,790 --> 00:51:46,330 Wat zouden we willen om te controleren op? 1014 00:51:46,330 --> 00:51:48,980 >> Nou, je zei dat we niet hoeven te controleren of het een nummer, toch? 1015 00:51:48,980 --> 00:51:52,400 Omdat het zal gaan ervan uit dat het kleine is? 1016 00:51:52,400 --> 00:51:55,650 Ja. 1017 00:51:56,380 --> 00:51:58,920 >> Dus het blijkt dat - ja. 1018 00:51:58,920 --> 00:52:01,850 Dus getString is gegarandeerd om terug te keren ons een string. 1019 00:52:01,850 --> 00:52:05,050 Het gaat niet om een ​​nummer terug te gaan naar ons of iets dergelijks. 1020 00:52:05,050 --> 00:52:09,140 Er kunnen cijfers karakters binnen die string, dat wel. 1021 00:52:09,140 --> 00:52:13,460 En die kunnen we negeren als we deden de kapitalisatie. 1022 00:52:13,460 --> 00:52:16,620 Maar een lege string is helemaal goed, 1023 00:52:16,620 --> 00:52:19,900 De zaak hier op lijn 4 en 5, 1024 00:52:19,900 --> 00:52:22,020 recht, wanneer er geen input, 1025 00:52:22,020 --> 00:52:25,190 en we hebben gezet niets als onze output. 1026 00:52:25,190 --> 00:52:28,730 We hebben geen zorgen te maken over het maken van zorgen dat er iets in de string 1027 00:52:28,730 --> 00:52:31,840 of dat de string is ten minste 4 tekens lang zijn; 1028 00:52:31,840 --> 00:52:34,190 alles is prima. 1029 00:52:34,190 --> 00:52:38,270 Dus dit contrast, bijvoorbeeld met als de centen programma dat u schreef 1030 00:52:38,270 --> 00:52:42,340 waar je moest zorgen dat je niet-negatieve getallen krijgt; 1031 00:52:42,340 --> 00:52:46,430 moest je ervoor zorgen dat je het juiste aantal dagen om in een maand. 1032 00:52:46,430 --> 00:52:49,630 En hoe doen jullie dat? 1033 00:52:49,630 --> 00:52:51,470 Hoe zou je dat doen test? 1034 00:52:51,470 --> 00:52:54,090 Wat heb die vereisen dat u te gebruiken? 1035 00:52:54,090 --> 00:52:55,650 >> Doe-while-loops. 1036 00:52:55,650 --> 00:53:00,840 Do-while loops, andere vormen van lussen, ook, ja. 1037 00:53:02,190 --> 00:53:04,520 Zo blijkt we niet een lus in dit geval, 1038 00:53:04,520 --> 00:53:07,360 als we vragen om een ​​string, dat is wel leuk. 1039 00:53:08,280 --> 00:53:10,620 >> Oke, we gaan door. 1040 00:53:12,410 --> 00:53:14,270 Dus, Stella. 1041 00:53:14,270 --> 00:53:17,530 Kun je ons een beetje over wat we zouden moeten doen? 1042 00:53:17,530 --> 00:53:20,270 Dus nu hebben we de string, wij hebben het opgeslagen in een variabele; 1043 00:53:20,270 --> 00:53:23,360 wat we moeten doen met de string? 1044 00:53:26,790 --> 00:53:33,530 >> We moeten - 1045 00:53:33,530 --> 00:53:36,550 identificeren 2 - 1046 00:53:36,550 --> 00:53:39,290 Ja, gewoon zeggen dat het in het Engels, dat is geweldig. 1047 00:53:39,290 --> 00:53:42,670 >> Identificeer de [onverstaanbaar] hoofdsteden - of, hoofdletters. 1048 00:53:44,420 --> 00:53:48,130 Ja, dus je zou identificeren welke zijn hoofdletters en kleine letters. 1049 00:53:50,020 --> 00:53:54,180 We kunnen niet hoofdletters of kleine letters totdat we geïdentificeerd welke. 1050 00:54:03,790 --> 00:54:06,350 Dus zetten we dat hier. 1051 00:54:06,350 --> 00:54:10,210 >> Dus, net te denken over dit proces, 1052 00:54:10,210 --> 00:54:13,200 hoe doen we deze identificatie? 1053 00:54:13,200 --> 00:54:15,050 Weet je, Dan? 1054 00:54:15,050 --> 00:54:18,120 Kind van wat we - welke tool we zouden hebben om uit het gebruik van onze gereedschapskist? 1055 00:54:18,120 --> 00:54:22,500 >> Ik zou het in een of andere manier in als een array of elke lijn 1056 00:54:22,500 --> 00:54:24,240 is zijn eigen doosje, 1057 00:54:24,240 --> 00:54:27,240 en dan hoofdletters het vanaf daar of niet. 1058 00:54:27,240 --> 00:54:30,440 Oke, dus een tool die we kunnen gebruiken is een array. 1059 00:54:30,440 --> 00:54:33,760 Wat hebben we om naar te kijken in de string, 1060 00:54:33,760 --> 00:54:36,680 hoewel, om erachter te komen - we hadden om te kijken naar de personages. 1061 00:54:36,680 --> 00:54:40,890 >> Dus je hebt om te kijken naar de lengte van de snaar? 1062 00:54:40,890 --> 00:54:43,880 Ja, dus deel daarvan krijgt de lengte van de tekenreeks. 1063 00:54:50,450 --> 00:54:54,150 Gewoon uit nieuwsgierigheid, we wat te gebruiken om de lengte van een string te krijgen? 1064 00:54:54,150 --> 00:54:58,080 >> Strlen? 1065 00:54:58,080 --> 00:55:02,870 Ja, strlen, noemen we dit "strlen" 1066 00:55:04,180 --> 00:55:08,620 Al deze string functies, dus strlen een functie, 1067 00:55:08,620 --> 00:55:10,670 en het is super handig, want we kunnen het gebruiken om gewoon te zeggen, 1068 00:55:10,670 --> 00:55:13,430 He, strlen: Hier is een string, vertel me hoe lang het is. 1069 00:55:13,430 --> 00:55:17,350 In de lezing van vandaag, David sprak veel over hoe strlen wordt uitgevoerd, 1070 00:55:17,350 --> 00:55:20,370 wat er eigenlijk aan de hand achter de schermen. 1071 00:55:20,370 --> 00:55:25,450 Maar dit is een van de super handige degenen. 1072 00:55:25,450 --> 00:55:29,170 Er zijn andere die ook in de string bibliotheek 1073 00:55:29,170 --> 00:55:34,690 zoals strcmp, die wordt gespeld "strcmp", 1074 00:55:34,690 --> 00:55:38,010 die wordt gebruikt om strings met elkaar te vergelijken. 1075 00:55:41,220 --> 00:55:45,020 Andere degene die je gaat gebruiken als strstr, 1076 00:55:45,020 --> 00:55:48,770 dat is goed voor het vinden sub strings enzovoort. 1077 00:55:48,770 --> 00:55:53,380 Voor het grootste deel, ze allemaal beginnen met str en gaan vervolgens in op iets anders te zijn. 1078 00:55:53,380 --> 00:55:57,080 De reden dat ze niet echt spellen ze als string en ga zo maar door 1079 00:55:57,080 --> 00:56:00,260 omdat terug als de vroege dagen van C, 1080 00:56:00,260 --> 00:56:04,100 toen mensen werden voor het eerst schrijven en dat alles, 1081 00:56:04,100 --> 00:56:07,580 hadden ze beperkingen op het aantal tekens dat je zou kunnen gebruiken 1082 00:56:07,580 --> 00:56:09,950 voor functie namen en namen van variabelen, 1083 00:56:09,950 --> 00:56:12,620 dus alles is als super gecondenseerd. 1084 00:56:12,620 --> 00:56:15,750 Maar elke keer als u iets ziet dat begint met str, 1085 00:56:15,750 --> 00:56:18,600 dat betekent meestal is dit iets te maken heeft met een string. 1086 00:56:20,990 --> 00:56:23,350 >> Oke, dus je hebt om de lengte van de string te krijgen, 1087 00:56:23,350 --> 00:56:27,110 en dan, wat doen we met de personages? 1088 00:56:27,110 --> 00:56:29,020 Weet je, Sam? 1089 00:56:29,020 --> 00:56:32,410 >> Ik heb geen idee, ik probeerde om het te achterhalen. 1090 00:56:32,410 --> 00:56:35,410 Ik weet het echt niet - Ik wou dat er een manier om - 1091 00:56:35,410 --> 00:56:38,990 Ik bedoel, ik zou misschien denken dat we iets konden doen met kansen en egaliseert, 1092 00:56:38,990 --> 00:56:40,860 maar ik weet niet van een functie als dat. 1093 00:56:40,860 --> 00:56:42,240 Ja. 1094 00:56:43,160 --> 00:56:45,200 >> Maar dat - het zou niet per se te werken, 1095 00:56:45,200 --> 00:56:48,690 want dan zou je de ruimtes te zijn - 1096 00:56:48,690 --> 00:56:51,130 je zou hebben om de ruimte te tips over hoe te krijgen - 1097 00:56:51,130 --> 00:56:54,310 Oke. 1098 00:56:54,310 --> 00:56:56,490 >> Ik weet niet - ik ben soort van verloren op dit punt. 1099 00:56:56,490 --> 00:56:58,120 Ja - nee, nee, nee, dit zijn goede punten. 1100 00:56:58,120 --> 00:57:00,420 Dus wat we moeten doen is, zoals Sam zei, 1101 00:57:00,420 --> 00:57:02,970 moeten we bijhouden welke letters zijn de oneven letters, 1102 00:57:02,970 --> 00:57:05,540 en welke zijn de even letters. 1103 00:57:06,650 --> 00:57:09,090 Maar we willen ervoor zorgen dat we gewoon niet op zoek 1104 00:57:09,090 --> 00:57:12,110 de oneven en even 1105 00:57:12,110 --> 00:57:14,030 indices in de string, 1106 00:57:14,030 --> 00:57:17,660 maar naar de even en oneven letters in de string, 1107 00:57:17,660 --> 00:57:20,190 dus we moeten een beetje hebben dit onderscheid tussen 1108 00:57:20,190 --> 00:57:25,190 brieven - zoals wat is eigenlijk A, B, C, D, of zo op, 1109 00:57:25,190 --> 00:57:29,090 en wat de dingen zijn niet letters, maar nog steeds in onze string. 1110 00:57:29,090 --> 00:57:32,390 Bijvoorbeeld hier, als dit uitroepteken is niet een letter, 1111 00:57:32,390 --> 00:57:36,060 maar het is nog steeds een deel van onze string, het is nog steeds een char. 1112 00:57:36,060 --> 00:57:38,820 Ook al deze ruimten - 1113 00:57:38,820 --> 00:57:41,710 Het heeft geen zin om een ​​spatie profiteren, toch? 1114 00:57:41,710 --> 00:57:46,160 Dus we willen ervoor zorgen dat we een of andere manier die overslaan 1115 00:57:46,160 --> 00:57:49,410 terwijl nog het bijhouden van kansen en egaliseert. 1116 00:57:50,900 --> 00:57:54,990 >> Dus een beetje in onze programmering toolbox 1117 00:57:54,990 --> 00:57:57,270 tot nu toe, als je wil, 1118 00:57:57,270 --> 00:58:01,310 We hebben een aantal verschillende tools die we hebben gesproken over. 1119 00:58:01,310 --> 00:58:04,640 Dus een bijvoorbeeld variabelen, 1120 00:58:04,640 --> 00:58:07,120 zoals we hebben gesproken over hier. 1121 00:58:07,120 --> 00:58:10,730 Een andere tool die we hebben gesproken over zijn functies. 1122 00:58:10,730 --> 00:58:15,800 Dus we hebben gesproken over variabelen in onze pseudocode hier 1123 00:58:15,800 --> 00:58:19,760 als wat we gaan gebruiken om onze string op te slaan. 1124 00:58:19,760 --> 00:58:24,630 We hebben gesproken over functies om de lengte van een string te krijgen, net als strlen. 1125 00:58:28,510 --> 00:58:31,170 We hebben het over iets anders, en we hebben erover gesproken 1126 00:58:31,170 --> 00:58:34,850 voor een veel eerder in paragraaf vandaag: loops. 1127 00:58:39,390 --> 00:58:42,030 >> Wat doen jullie denken over het gebruik van een lus in dit programma? 1128 00:58:42,030 --> 00:58:44,110 Jared, wat denk je? 1129 00:58:47,150 --> 00:58:50,030 Zouden we gebruik maken van een lus in dit programma? 1130 00:58:50,030 --> 00:58:52,500 >> Waarschijnlijk niet, nee, want je hoeft niet te gaan door middel van het meer dan eens. 1131 00:58:52,500 --> 00:58:55,260 Oke, je hoeft niet te gaan door wat meer dan een keer? 1132 00:58:55,260 --> 00:58:57,190 >> De hele string. 1133 00:58:57,190 --> 00:59:00,660 Juist, dus je hoeft niet te keer te gaan door middel van de string hele. 1134 00:59:00,660 --> 00:59:03,330 Sorry dat maakte totaal geen zin! 1135 00:59:03,330 --> 00:59:06,360 Je hoeft niet te gaan door de hele reeks meer dan eens. 1136 00:59:06,360 --> 00:59:08,660 Oke. 1137 00:59:09,790 --> 00:59:11,920 Wat denk je? 1138 00:59:11,920 --> 00:59:14,110 >> Ik denk dat het beter is om ze te gebruiken 1139 00:59:14,110 --> 00:59:16,640 dus we kunnen doen zoals profiteren, terwijl 1140 00:59:16,640 --> 00:59:19,750 de locatie van het [onverstaanbaar] nummer. 1141 00:59:19,750 --> 00:59:22,940 Geweldig, en zo profiteren wat? 1142 00:59:22,940 --> 00:59:25,200 Oke, dus we zeggen dat 1143 00:59:25,200 --> 00:59:28,130 moeten we gebruik maken van een lus, omdat we willen 1144 00:59:28,130 --> 00:59:32,550 profiteren van een brief, terwijl het is niet een nummer. 1145 00:59:35,130 --> 00:59:37,140 Dus - sorry, heb je wilt toevoegen? 1146 00:59:37,140 --> 00:59:39,340 >> Ik was van plan om te zeggen dat de manier waarop je de snaar te behandelen 1147 00:59:39,340 --> 00:59:42,290 en het [onverstaanbaar] gescheiden van de [onverstaanbaar] op de personages? 1148 00:59:42,290 --> 00:59:43,710 Ja. 1149 00:59:43,710 --> 00:59:45,850 >> En dan kunnen we toewijzen nummers - 1150 00:59:45,850 --> 00:59:47,780 of gebaseerd op de locatie van de letters in de string? 1151 00:59:47,780 --> 00:59:49,720 Ja. 1152 00:59:49,720 --> 00:59:53,640 >> En vast te stellen of het even of oneven en de brief zelf kapitaliseren 1153 00:59:53,640 --> 00:59:57,750 terwijl de locatie van de brief is [onverstaanbaar] - sorry. 1154 00:59:57,750 --> 01:00:00,150 Geweldig. 1155 01:00:00,150 --> 01:00:03,430 >> Dus gewoon een samenvatting. 1156 01:00:03,430 --> 01:00:05,840 Kun je me weer herinneren aan je naam - Het spijt me. 1157 01:00:05,840 --> 01:00:06,900 >> Charlotte. 1158 01:00:06,900 --> 01:00:08,490 Charlotte, oke. 1159 01:00:08,490 --> 01:00:11,130 Dus wat Charlotte zegt, 1160 01:00:11,130 --> 01:00:14,950 dat is helemaal gelijk - goh, dit houdt om automatisch streepje op mij - 1161 01:00:14,950 --> 01:00:17,770 is dat als we kijken naar een string 1162 01:00:17,770 --> 01:00:19,160 zoals deze aan de top - 1163 01:00:19,160 --> 01:00:21,590 "Thanks for the add" - 1164 01:00:21,590 --> 01:00:24,790 als een opeenvolging van tekens 1165 01:00:24,790 --> 01:00:29,010 waarbij de op positie 0, 1166 01:00:29,010 --> 01:00:32,260 het h op positie 1. 1167 01:00:32,260 --> 01:00:36,880 A is 2, dan we 3, 4, 5; 1168 01:00:36,880 --> 01:00:40,830 de ruimte op positie 6. 1169 01:00:42,380 --> 01:00:45,300 Overwegende dat - wat is de positie van f? 1170 01:00:45,300 --> 01:00:47,610 7! 1171 01:00:47,610 --> 01:00:49,300 O? 8. 1172 01:00:49,300 --> 01:00:52,070 R? 9. 1173 01:00:52,070 --> 01:00:54,340 En dan hebben we 10, en dan kan ik niet echt te schrijven zonder dat het 1174 01:00:54,340 --> 01:00:57,430 beetje knoeien op het scherm. 1175 01:00:57,430 --> 01:01:02,340 Maar dit is eigenlijk hoe we kunnen praten over strings in het geheugen. 1176 01:01:02,340 --> 01:01:04,660 Is het een tekenreeks 1177 01:01:04,660 --> 01:01:07,920 is een opeenvolging van karakters, 1178 01:01:07,920 --> 01:01:12,430 en wanneer we verwijzen naar een eigen karakter in een string, 1179 01:01:12,430 --> 01:01:15,280 we doen dat vaak door te verwijzen naar positie die personage 1180 01:01:15,280 --> 01:01:17,620 in de string, 1181 01:01:17,620 --> 01:01:19,910 waarschijnlijk op dezelfde manier als we praten rond september 1182 01:01:19,910 --> 01:01:22,870 zijnde de negende maand van het jaar 1183 01:01:22,870 --> 01:01:27,730 of maandag is de eerste dag van de week. 1184 01:01:29,280 --> 01:01:33,070 Dus dit geeft ons een manier om 1185 01:01:33,070 --> 01:01:37,030 erachter te komen welke zijn oneven versus zelfs 1186 01:01:37,030 --> 01:01:39,540 omdat je hier kunt zien, 1187 01:01:39,540 --> 01:01:43,640 Als wij voor uw met deze T, 1188 01:01:46,310 --> 01:01:49,360 kun je zien dat alle van de geactiveerde degenen 1189 01:01:49,360 --> 01:01:53,040 ten even posities, 1190 01:01:53,040 --> 01:01:55,880 althans voor het eerste woord, 1191 01:01:55,880 --> 01:01:59,080 en dan dingen krijgen afgeworpen zodra we raken die ruimte, 1192 01:01:59,080 --> 01:02:02,460 omdat we deze ruimte niet als een brief, 1193 01:02:02,460 --> 01:02:05,150 dus het is alsof we begonnen 1194 01:02:05,150 --> 01:02:08,930 en ging 0, 1, 2, 3, 4, 5, 1195 01:02:08,930 --> 01:02:12,600 ruimte, 6, 7, 8, ruimte, 1196 01:02:12,600 --> 01:02:16,440 9 en 10, 11, 12, enzovoort. 1197 01:02:19,300 --> 01:02:22,910 >> Cool, dus we zeker willen een soort van lus te gebruiken 1198 01:02:22,910 --> 01:02:27,760 te gaan over elk van de personages op zijn beurt. 1199 01:02:31,330 --> 01:02:34,580 Dus op dit punt, 1200 01:02:36,490 --> 01:02:38,360 we zullen hier terug te komen naar onze oude pseudocode. 1201 01:02:40,970 --> 01:02:42,650 Als onderdeel van deze identificatie van welke 1202 01:02:42,650 --> 01:02:45,350 zijn hoofdletters en welke kleine letters, 1203 01:02:45,350 --> 01:02:48,340 we willen dit doen in een soort lus. 1204 01:02:51,080 --> 01:02:53,390 Loop, dikke darm. 1205 01:02:55,070 --> 01:03:01,220 Wat voor soort lus, uit de aard van de lussen die we hebben, 1206 01:03:01,220 --> 01:03:03,670 lijkt een goede om te gebruiken in dit geval? 1207 01:03:03,670 --> 01:03:05,610 >> Ik zat te denken van de for-lus. 1208 01:03:05,610 --> 01:03:07,500 En waarom denk je aan for-lus? 1209 01:03:07,500 --> 01:03:10,000 >> Omdat het begint bij nul, en dan 1210 01:03:10,000 --> 01:03:13,000 wanneer we de lengte van de tekenreeks te bereiken, 1211 01:03:13,000 --> 01:03:16,170 en dan elke iteratie kun je [onverstaanbaar], ook? 1212 01:03:16,170 --> 01:03:18,260 Ja, precies. 1213 01:03:18,260 --> 01:03:21,490 Dus, uit de verschillende keuzes van loops, 1214 01:03:21,490 --> 01:03:25,350 we hebben voor loops, while loops, en do-while loops. 1215 01:03:25,350 --> 01:03:28,550 Wanneer een for-lus is vooral nuttig 1216 01:03:28,550 --> 01:03:32,120 is wanneer u wilt weten 1217 01:03:32,120 --> 01:03:34,940 soort van waar je bent in de lus, 1218 01:03:34,940 --> 01:03:38,520 hoe vaak de lus dusver uitgevoerd. 1219 01:03:38,520 --> 01:03:42,490 En dat is precies wat we willen weten in deze situatie, 1220 01:03:42,490 --> 01:03:44,640 zoals Kelly zei, 1221 01:03:44,640 --> 01:03:47,400 gebaseerd off van de eerdere opmerking Charlotte's die we willen de positie weten 1222 01:03:47,400 --> 01:03:49,900 van het karakter in de string, 1223 01:03:49,900 --> 01:03:51,750 en de for-lus zal ons alleen dat, 1224 01:03:51,750 --> 01:03:54,680 want als we beginnen soort terugblik op onze string, 1225 01:03:54,680 --> 01:03:57,140 als we beginnen onze for-lus op 0, 1226 01:03:57,140 --> 01:04:00,350 en we gaan door de lengte van de gehele string, 1227 01:04:00,350 --> 01:04:04,740 dan kunnen we associëren de letter T 1228 01:04:04,740 --> 01:04:08,110 met de 0 in onze for-lus, 1229 01:04:09,950 --> 01:04:13,080 letter H met een in onze lus, enzovoort, 1230 01:04:13,080 --> 01:04:16,600 gaat helemaal door het einde van de string. 1231 01:04:18,810 --> 01:04:21,890 >> Dus laten we beginnen met coderen dit maar een klein beetje 1232 01:04:21,890 --> 01:04:24,930 gewoon zo dat jullie een gevoel krijgen voor hoe dit eruit ziet. 1233 01:04:24,930 --> 01:04:27,980 Ik ga dit op te slaan, 1234 01:04:27,980 --> 01:04:31,230 dus we hebben onze pseudo code in hier, 1235 01:04:33,490 --> 01:04:38,120 en ik ga om alles te verwijderen. 1236 01:04:38,120 --> 01:04:42,210 Dus ik heb een schone lei. 1237 01:04:42,210 --> 01:04:45,910 Ik ga beginnen met het schrijven int main (void) 1238 01:04:45,910 --> 01:04:48,440 { 1239 01:04:48,440 --> 01:04:51,380 Ik ga de return 0 zetten in 1240 01:04:51,380 --> 01:04:53,320 en de}. 1241 01:04:53,320 --> 01:04:56,130 Dus meestal als ik begin te programmeren, dit is wat ik beginnen. 1242 01:04:56,130 --> 01:04:59,370 Ik bewaar het zo dat jullie het hebben. 1243 01:05:06,290 --> 01:05:08,440 Dus een van de eerste dingen die we gesproken over was 1244 01:05:08,440 --> 01:05:10,920 het krijgen van input van de gebruiker 1245 01:05:10,920 --> 01:05:13,740 en op te slaan in een string. 1246 01:05:13,740 --> 01:05:16,420 Hoe krijgen we input van een gebruiker? 1247 01:05:16,420 --> 01:05:19,640 >> GetString. 1248 01:05:19,640 --> 01:05:21,870 GetString, oke. 1249 01:05:23,150 --> 01:05:26,820 Dus als ik typ GetString () 1250 01:05:26,820 --> 01:05:32,150 en een puntkomma. 1251 01:05:32,150 --> 01:05:36,630 Laten we proberen het uitvoeren van deze, zal deze run, in de eerste plaats? 1252 01:05:36,630 --> 01:05:38,430 En waarom zal dit niet uitvoeren? 1253 01:05:38,430 --> 01:05:40,090 >> Je moet de variabele te declareren. 1254 01:05:40,090 --> 01:05:43,040 Ik moet een variabele declareren. Oke. 1255 01:05:43,040 --> 01:05:45,700 >> Dus hoe doe ik dat? 1256 01:05:45,700 --> 01:05:48,400 Vind je het erg het schrijven van iets, te delen? 1257 01:05:48,400 --> 01:05:51,270 En dan kunnen we trek het omhoog. 1258 01:05:51,270 --> 01:05:54,630 Laten we eens kijken, Dan, rechts, oke. 1259 01:05:54,630 --> 01:05:59,100 Of Daniel. Kopieer dat in, string input = GetString (). 1260 01:05:59,100 --> 01:06:01,340 Awesome. 1261 01:06:01,340 --> 01:06:02,890 Zal dit uitvoeren? 1262 01:06:02,890 --> 01:06:05,210 Laten we het eens proberen. 1263 01:06:05,210 --> 01:06:08,890 Hit run, uploaden broncode, de bouw, is een fout opgetreden. 1264 01:06:08,890 --> 01:06:11,040 Oke. 1265 01:06:11,040 --> 01:06:14,950 Dus wat hier aan de hand? 1266 01:06:14,950 --> 01:06:18,700 Gebruik van 'string' zwart identifier. 1267 01:06:18,700 --> 01:06:22,840 >> We moeten de bibliotheken zijn? 1268 01:06:22,840 --> 01:06:25,130 Ja, dus Dan's zeggen dat we moeten de bibliotheken op te nemen. 1269 01:06:25,130 --> 01:06:28,270 Is dat wat je wilde zeggen, Stella? Awesome. 1270 01:06:29,450 --> 01:06:31,430 Dat awesome, dus Stella, kunt u 1271 01:06:31,430 --> 01:06:34,800 Kopieer deze code uit Space Daniel's? 1272 01:06:34,800 --> 01:06:37,580 Als je op Daniel Roland Ki, kopiëren, 1273 01:06:37,580 --> 01:06:41,360 en dan zal je de include lijn in, en sla het uit? 1274 01:06:46,580 --> 01:06:49,360 Laat me weten als je klaar bent. 1275 01:06:57,160 --> 01:06:59,490 Dus dit zijn onder andere syntax is ook een soort van funky; 1276 01:06:59,490 --> 01:07:02,210 Er is net als die hash tag, 1277 01:07:02,210 --> 01:07:05,760 en er is de include, en dan zijn er deze punthaken. 1278 01:07:12,490 --> 01:07:15,360 Weet je nog hoe dit werkt, of moet ik zet het op deze code hier? 1279 01:07:15,360 --> 01:07:17,850 >> Ik ben goed. 1280 01:07:17,850 --> 01:07:19,810 Oke. 1281 01:07:19,810 --> 01:07:23,260 >> Ik drukte het - ik was niet zeker welke bibliotheek, dat wel. 1282 01:07:23,260 --> 01:07:25,570 Oh, oke - ja, dus het is de CS50 bibliotheek. 1283 01:07:25,570 --> 01:07:27,660 >> Oh, ik stdio bibliotheek. 1284 01:07:27,660 --> 01:07:30,950 >> Oh, ik heb het - ja, nee, Dat is - 1285 01:07:30,950 --> 01:07:34,380 dus het blijkt dat touwtje eigenlijk iets is dat is speciaal voor CS50. 1286 01:07:36,590 --> 01:07:41,240 Er is eigenlijk geen echte reekstype 1287 01:07:41,240 --> 01:07:45,000 omdat hier, string is in het type positie, - 1288 01:07:45,000 --> 01:07:49,140 we verklaren van een variabele met de naam invoeren van het type string - 1289 01:07:49,140 --> 01:07:53,320 en we zetten de binnenkant van ingang 1290 01:07:53,320 --> 01:07:58,440 de waarde die wordt geretourneerd aan ons: de uitvoer van dit GetString functie-aanroep. 1291 01:07:58,440 --> 01:08:02,910 U kunt zien dat dit is een functie-aanroep, omdat het heeft de haakjes, net als printf doet, 1292 01:08:02,910 --> 01:08:05,920 net als strlen doet. 1293 01:08:05,920 --> 01:08:09,860 Maar string is eigenlijk niet echt een soort 1294 01:08:09,860 --> 01:08:11,760 in de C-taal. 1295 01:08:11,760 --> 01:08:15,710 We hebben het in een soort, en we nemen om meer wat het eigenlijk is 1296 01:08:15,710 --> 01:08:19,000 in C, want er is een manier om te werken met strijkers; 1297 01:08:19,000 --> 01:08:22,479 we hebben net iets gedaan zodat het lijkt een beetje vriendelijker. 1298 01:08:22,479 --> 01:08:25,240 >> Dus hier gaan we dan. 1299 01:08:25,240 --> 01:08:28,439 Hier is Stella's code. 1300 01:08:28,439 --> 01:08:32,470 Het heeft de # include . 1301 01:08:32,470 --> 01:08:36,390 Andere mensen zullen dit noemen als een hash bevatten soms of een scherp zijn. 1302 01:08:36,390 --> 01:08:39,580 Nu kunnen we starten, voer het uit, 1303 01:08:39,580 --> 01:08:43,649 en we hebben nog een foutmelding krijgt. 1304 01:08:43,649 --> 01:08:46,290 Laten we eens kijken wat er gebeurt. 1305 01:08:48,069 --> 01:08:50,569 "Ongebruikte variabele 'input'." 1306 01:08:50,569 --> 01:08:53,350 Oke, dus dat is cool, dat is cool. 1307 01:08:53,350 --> 01:08:55,859 Ik bedoel, het is niet echt cool, 1308 01:08:55,859 --> 01:08:57,930 want we krijgen er een fout en het is niet actief is, 1309 01:08:57,930 --> 01:09:00,410 maar wat dit zegt is dat 1310 01:09:00,410 --> 01:09:03,130 We hebben geen gebruik gemaakt van onze variabele, wat logisch is. 1311 01:09:03,130 --> 01:09:06,090 We hebben niet geprobeerd om iets te doen met het. 1312 01:09:07,819 --> 01:09:10,490 Dit is een manier 1313 01:09:10,490 --> 01:09:14,170 Clang probeert om ons te helpen ervoor te zorgen dat we niet alleen variabelen met behulp van 1314 01:09:14,170 --> 01:09:18,819 en dan per ongeluk bellen ze iets anders later in onze code, 1315 01:09:18,819 --> 01:09:21,649 helpt ons te voorkomen fouten die manier. 1316 01:09:23,130 --> 01:09:28,810 >> Oke, dus we hebben input van de gebruiker, 1317 01:09:28,810 --> 01:09:31,910 we opgeslagen in een variabele. 1318 01:09:31,910 --> 01:09:34,569 De volgende stap was toen 1319 01:09:34,569 --> 01:09:37,609 gaan kijken naar alle tekens in de string 1320 01:09:37,609 --> 01:09:41,830 en het identificeren welke moeten worden hoofdletters 1321 01:09:41,830 --> 01:09:44,600 en welke worden kleine letters. 1322 01:09:44,600 --> 01:09:49,439 En net als Kelly en Charlotte opgevoed, 1323 01:09:49,439 --> 01:09:52,340 we dit met behulp van een for-lus. 1324 01:09:52,340 --> 01:09:55,520 Dus heeft iemand herinner me de syntax van een for-lus 1325 01:09:55,520 --> 01:09:58,670 en wil graag een gooi te nemen op alleen het schrijven 1326 01:09:58,670 --> 01:10:03,170 de eerste regel van de for-lus, alleen de voor bit? 1327 01:10:05,740 --> 01:10:07,330 Kelly, wil je het eens proberen? 1328 01:10:07,330 --> 01:10:10,300 >> Ja, dus je moet initialiseren eerste, 1329 01:10:10,300 --> 01:10:13,170 dus ik zet i = 0, 1330 01:10:13,170 --> 01:10:15,390 en toen deed ik i 01:10:18,570 Is het in uw Space - kan ik trek het omhoog? 1332 01:10:18,570 --> 01:10:21,330 >> Ja, Ik heb het verpest een beetje, maar ja. 1333 01:10:21,330 --> 01:10:24,180 >> Oke, laten we trek het omhoog. 1334 01:10:24,180 --> 01:10:26,490 Awesome. 1335 01:10:26,490 --> 01:10:29,510 >> Maar ik wist niet of je had dat - 1336 01:10:29,510 --> 01:10:32,180 Ja, oke. 1337 01:10:33,020 --> 01:10:36,030 Dus hier is wat Kelly's heeft: laten we snel kijken. 1338 01:10:36,030 --> 01:10:40,290 Dus ze is inbegrepen de CS50 bibliotheek aan de top. 1339 01:10:40,290 --> 01:10:44,790 Ze is onder meer de standaard IO bibliotheek aan de top, 1340 01:10:45,550 --> 01:10:48,990 en de standaard IO heeft functies zoals printf, 1341 01:10:48,990 --> 01:10:51,690 dus als je ooit wilt printf gebruiken, moet u die lijn. 1342 01:10:53,060 --> 01:10:56,140 En toen waren de snaar bibliotheek, 1343 01:10:56,140 --> 01:10:58,200 die we nodig hebben, 1344 01:10:58,200 --> 01:11:01,010 omdat de string bibliotheek strlen functie, 1345 01:11:01,010 --> 01:11:04,320 die we krijgen in een beetje. 1346 01:11:04,320 --> 01:11:07,560 Dus als we kijken naar wat Kelly heeft gedaan hier, 1347 01:11:07,560 --> 01:11:10,260 kunt u een wandeling ons door wat je gedaan hebt? 1348 01:11:10,260 --> 01:11:13,600 >> Ja, dus - ik bedoel, ik heb fouten, dus - 1349 01:11:13,600 --> 01:11:15,380 Ja, nee, het is - 1350 01:11:15,380 --> 01:11:18,580 >> Dus ik wilde de string die ik net "string" kreeg noemen. 1351 01:11:18,580 --> 01:11:22,230 Ik wilde om uit te printen de string 1352 01:11:22,230 --> 01:11:25,640 en dan heb ik - 1353 01:11:27,450 --> 01:11:30,930 Ik wilde de string te stellen, gelijk als een array van elk karakter 1354 01:11:30,930 --> 01:11:33,170 anders zijn [onverstaanbaar], toch? 1355 01:11:33,170 --> 01:11:38,080 En toen wilde ik om te beginnen op positie 0 1356 01:11:38,080 --> 01:11:40,630 en vervolgens om de 2 ruimtes, 1357 01:11:40,630 --> 01:11:42,580 Ik was van plan om te profiteren, 1358 01:11:42,580 --> 01:11:45,680 dus ik beschreef het als 23, want ik was op zoek naar de ASCII-tabel. 1359 01:11:45,680 --> 01:11:48,730 Dus dat is wat ik dacht - ik weet dat het niet goed is. 1360 01:11:48,730 --> 01:11:50,920 >> Ik heb het, dus dit is een goede start. 1361 01:11:50,920 --> 01:11:54,120 Ik denk dat veel van het kader is hier op zijn plaats. 1362 01:11:54,120 --> 01:11:57,500 Laten we gaan door voor soort lijn per lijn en zien wat er gebeurt. 1363 01:11:57,500 --> 01:12:01,040 Dus de manier waarop ik graag om dit te doen is gewoon beginnen met het opstellen van de code 1364 01:12:01,040 --> 01:12:04,300 en laat de compiler vertellen als wat er mis is met mijn code, 1365 01:12:04,300 --> 01:12:07,450 omdat de compiler is echt goed in je te vertellen wat er mis is met uw code. 1366 01:12:09,790 --> 01:12:12,780 Dus als we het spelen, bouwen, en het niet te bouwen. 1367 01:12:12,780 --> 01:12:14,860 Het zegt dat er is een fout opgetreden, 1368 01:12:14,860 --> 01:12:17,320 dus als we naar beneden scrollen en kijken naar de eerste fout, 1369 01:12:17,320 --> 01:12:20,960 gezegd - 1370 01:12:20,960 --> 01:12:22,040 we terugbladeren naar de top, 1371 01:12:22,040 --> 01:12:26,070 we kunnen zien zijn er 5 fouten gegenereerd hier beneden op de bodem. 1372 01:12:26,070 --> 01:12:30,180 Oeps, dat is echt afgesneden. 1373 01:12:31,810 --> 01:12:35,790 Ik denk dat dat niet gaat gewoon om een ​​betere te krijgen. 1374 01:12:36,970 --> 01:12:38,500 >> Daar gaan we. 1375 01:12:39,790 --> 01:12:42,530 Dus er zijn 5 gegenereerd totale fouten. 1376 01:12:42,530 --> 01:12:45,140 Hier kan ik alleen de eerste 2, 1377 01:12:45,140 --> 01:12:49,100 dus ik kan bewegen dit een klein beetje en dan soort van scroll up. 1378 01:12:49,100 --> 01:12:53,220 Dit is de opdracht die werd uitgevoerd om de code te compileren, 1379 01:12:53,220 --> 01:12:59,030 en dan de eerste fout was in file.c hier: 1380 01:12:59,030 --> 01:13:03,300 "Identificeren of te verwachten '('", en het was op deze lijn 1381 01:13:03,300 --> 01:13:06,680 waar we zeiden string = GetString (). 1382 01:13:07,660 --> 01:13:12,920 U kunt hier dat het was op lijn 8 van file.c te zien, 1383 01:13:12,920 --> 01:13:17,230 en dan denk ik dat dit karakter 12 - dat is de fout. 1384 01:13:17,230 --> 01:13:20,390 Dus wat is er mis op lijn 8 - Kelly? 1385 01:13:20,390 --> 01:13:22,810 >> Je hoeft alleen maar te noemen, zoals, een brief of iets, 1386 01:13:22,810 --> 01:13:24,400 zoals string s of zo? 1387 01:13:24,400 --> 01:13:28,250 Ja, dus het blijkt dat deze speciale soort namen, 1388 01:13:28,250 --> 01:13:31,770 dus string, int, char, short, 1389 01:13:31,770 --> 01:13:35,740 ze zijn allemaal speciale trefwoorden, 1390 01:13:35,740 --> 01:13:38,940 en je kunt eigenlijk niet gebruiken als de namen van uw variabelen, 1391 01:13:38,940 --> 01:13:41,430 omdat de compiler die kijkt en zegt 1392 01:13:41,430 --> 01:13:43,680 "Oh, ik weet dat het een soort," 1393 01:13:43,680 --> 01:13:46,530 dus je kunt niet echt een string variabele genaamd string, 1394 01:13:46,530 --> 01:13:50,800 alsof ik hier probeer te doen, dit zal niet werken. 1395 01:13:52,610 --> 01:13:58,250 Maar in plaats daarvan, kunnen we noemen het iets als s of st of str. 1396 01:13:58,250 --> 01:14:01,540 Wij konden ook niet noemen int. 1397 01:14:01,540 --> 01:14:03,740 We kunnen geen een string genaamd int. 1398 01:14:03,740 --> 01:14:06,740 We kunnen geen een string genaamd char, geen van deze zal werken. 1399 01:14:06,740 --> 01:14:09,420 >> Dus we zullen noemen het gewoon is voor het moment. 1400 01:14:10,630 --> 01:14:13,170 Awesome. 1401 01:14:13,170 --> 01:14:17,500 Dus wat de toekomst aan de hand is in deze lijn? 1402 01:14:21,390 --> 01:14:24,350 String - deze lijn ziet er goed uit? 1403 01:14:24,350 --> 01:14:27,830 Laten we het nog eens proberen, laten we voer het uit. 1404 01:14:27,830 --> 01:14:30,360 Oke, dus we nog steeds fouten. 1405 01:14:30,360 --> 01:14:32,080 Deze keer zijn we naar 4 fouten. 1406 01:14:32,080 --> 01:14:34,350 Dus we hebben een van hen. 1407 01:14:34,350 --> 01:14:36,130 Laten we naar boven. 1408 01:14:36,130 --> 01:14:38,890 "Onverwacht type naam 'string': de verwachte uitdrukking," ja? 1409 01:14:38,890 --> 01:14:41,780 >> Ja, dat is omdat ik heb geprobeerd om de string te noemen. 1410 01:14:41,780 --> 01:14:44,270 Ja, dus het lijkt erop dat we nu ook moeten fix te gaan 1411 01:14:44,270 --> 01:14:46,560 Al deze verwijzingen naar string. 1412 01:14:46,560 --> 01:14:50,070 Je kunt zien dat er hier een verwijzing naar string, een hier, een hier, 1413 01:14:50,070 --> 01:14:53,440 zodat we kunnen bewegen al deze naar s. 1414 01:14:56,040 --> 01:15:00,930 Geweldig. Oke, nogmaals draaien. 1415 01:15:00,930 --> 01:15:03,260 Building - een andere fout is opgetreden. 1416 01:15:03,260 --> 01:15:06,900 >> Oke, nu zijn we neer op een fout, 1417 01:15:06,900 --> 01:15:11,090 dus int i = s en dan de vierkante haken. 1418 01:15:11,090 --> 01:15:14,880 Dus kun je ons vertellen een beetje over wat je hier doet, Kelly? 1419 01:15:14,880 --> 01:15:17,120 >> Ja. 1420 01:15:17,120 --> 01:15:19,410 Het was op lijn 10. 1421 01:15:19,410 --> 01:15:22,760 >> Ik weet niet of we het allemaal nodig, 1422 01:15:22,760 --> 01:15:25,560 maar ik denk dat ik probeerde te - 1423 01:15:25,560 --> 01:15:27,580 Ik sla het op, zodat u kunt volgen. 1424 01:15:27,580 --> 01:15:30,470 >> Ik denk dat ik was 1425 01:15:30,470 --> 01:15:33,150 proberen om het te vertellen om te beginnen op positie 0 1426 01:15:33,150 --> 01:15:35,030 aan het begin van mijn for-lus, 1427 01:15:35,030 --> 01:15:38,370 dus ik denk dat dat te zeggen niet nodig was. 1428 01:15:39,690 --> 01:15:41,350 Dus gewoon om samen te vatten, 1429 01:15:41,350 --> 01:15:44,850 je zei dat dit - je probeert om dit te beginnen op positie 0 1430 01:15:44,850 --> 01:15:47,030 en krijg deze - ja, 1431 01:15:47,030 --> 01:15:50,460 dus ik denk eerder ook toen je wandelen door de code, 1432 01:15:50,460 --> 01:15:54,070 waar je het over hoe je wilde de string te behandelen als een array 1433 01:15:54,070 --> 01:15:57,440 dus we kunnen toegang krijgen tot elk karakter afzonderlijk. 1434 01:15:57,440 --> 01:16:00,660 Ik denk dat Dan genoemd arrays, ook proberen om strings om te zetten in arrays. 1435 01:16:01,400 --> 01:16:03,300 >> Het blijkt dat soort onder de motorkap, 1436 01:16:03,300 --> 01:16:06,060 een string is eigenlijk opgeslagen als een array reeds, 1437 01:16:06,060 --> 01:16:08,060 en je kunt het gebruiken als een array; 1438 01:16:08,060 --> 01:16:12,390 er is geen conversie die je moet doen. 1439 01:16:12,390 --> 01:16:15,770 Een string isn't - zo - 1440 01:16:15,770 --> 01:16:18,200 een string is niet echt een array, 1441 01:16:18,200 --> 01:16:21,940 maar je kunt openen als zodanig, omdat alle tekens worden opgeslagen 1442 01:16:21,940 --> 01:16:25,160 een naast elkaar in het geheugen, 1443 01:16:25,160 --> 01:16:28,310 dus als je wilt om het eerste teken van de string te krijgen, 1444 01:16:28,310 --> 01:16:31,910 is hetzelfde als om de eerste integer in een integer array. 1445 01:16:31,910 --> 01:16:35,010 Dus we vaak - we zullen 1446 01:16:35,010 --> 01:16:36,360 Zie de 2 als 1447 01:16:36,360 --> 01:16:38,590 oh, als een string, als een array, 1448 01:16:38,590 --> 01:16:40,830 ook al is het echt - ze zijn heel verschillende dingen, 1449 01:16:40,830 --> 01:16:43,410 maar u kunt behandelen heel veel hetzelfde. 1450 01:16:44,700 --> 01:16:47,400 Dus het blijkt dat deze lijn eigenlijk - 1451 01:16:47,400 --> 01:16:51,270 we geen behoefte aan een conversie te doen, 1452 01:16:51,270 --> 01:16:53,500 en in feite, 1453 01:16:53,500 --> 01:16:56,790 Dit is echter niet een geldige expressie, 1454 01:16:56,790 --> 01:16:59,040 dat is wat onze compiler ons zegt. 1455 01:16:59,040 --> 01:17:01,290 Het is te zeggen: "He, het een uitdrukking verwacht, 1456 01:17:01,290 --> 01:17:04,610 en wat ik hier heb is iets dat niet is een uitdrukking. " 1457 01:17:04,610 --> 01:17:07,310 Om een ​​array te verklaren, 1458 01:17:07,310 --> 01:17:11,780 alles wat je hoeft te doen is iets als dit door een puntkomma, 1459 01:17:11,780 --> 01:17:15,080 en dan moet je vertellen de array hoe lang je wilt dat het is, 1460 01:17:15,080 --> 01:17:18,370 zoals 5, zodat deze lijn 10 1461 01:17:18,370 --> 01:17:23,880 zal verklaren een array genaamd i met 5 getallen in. 1462 01:17:23,880 --> 01:17:26,540 >> Dit terzijde, dit is niet nodig voor de code, 1463 01:17:26,540 --> 01:17:30,970 maar dit is - dit is een soort van wat de verklaring eruit ziet. 1464 01:17:30,970 --> 01:17:35,310 >> Hoe zou je geen gebruik maken van char i [strlen (s)]? 1465 01:17:35,310 --> 01:17:38,500 Char i [strlen (s)]? 1466 01:17:38,500 --> 01:17:41,500 >> Char i, en dan tussen haakjes in strlen (s). 1467 01:17:43,900 --> 01:17:47,710 Ja, dus we konden - 1468 01:17:47,710 --> 01:17:49,460 kunnen we dit doen, 1469 01:17:49,460 --> 01:17:52,160 en dit zou verklaren - wat zou dit doen? 1470 01:17:52,160 --> 01:17:55,900 >> Ik denk dat het een array declareren 1471 01:17:55,900 --> 01:18:01,780 van, net als - of - 1472 01:18:01,780 --> 01:18:04,540 oh, je hoeft niet de i - o, 1473 01:18:04,540 --> 01:18:06,420 ja, je zeker niet nodig op de i. 1474 01:18:06,420 --> 01:18:10,250 U verklaart een array van karakters 1475 01:18:10,250 --> 01:18:13,150 lengte s. 1476 01:18:14,680 --> 01:18:16,770 En dus wat Sam's zeggen is dat 1477 01:18:16,770 --> 01:18:20,660 deze lijn 10 - laat me wat ruimte zet in tussen haar en de rest, zodat we kunnen isoleren - 1478 01:18:20,660 --> 01:18:23,440 deze lijn 10 zou een array declareren 1479 01:18:23,440 --> 01:18:28,520 van tekens, strlen (s) ter waarde van hen, 1480 01:18:28,520 --> 01:18:32,270 maar we eigenlijk nodig hebben op de i, 1481 01:18:32,270 --> 01:18:35,710 en de reden waarom we nodig hebben op de i is, want we moeten naar de array een naam te geven; 1482 01:18:35,710 --> 01:18:38,900 anders zouden we niet een manier om later verwijzen naar de array in de code. 1483 01:18:38,900 --> 01:18:41,180 >> Dus dit hier is de array naam 1484 01:18:41,180 --> 01:18:43,420 en binnen is de lengte. 1485 01:18:43,420 --> 01:18:45,010 Dit geeft ons een array, 1486 01:18:45,010 --> 01:18:47,430 maar dit is - nogmaals, dit is een verklaring. 1487 01:18:47,430 --> 01:18:50,380 Het is niet een opdracht, het is niet een initialisatie. 1488 01:18:50,380 --> 01:18:52,330 Als we verklaren deze array als deze, 1489 01:18:52,330 --> 01:18:54,490 er eigenlijk niets in de inhoud van de array. 1490 01:18:54,490 --> 01:18:57,490 Het is gewoon troep - wat is daar. 1491 01:18:57,490 --> 01:18:59,780 En zoals we al zeiden, 1492 01:18:59,780 --> 01:19:01,340 we eigenlijk niet eens nodig om deze conversie te doen, 1493 01:19:01,340 --> 01:19:04,810 want we kunnen nu al behandelen string s als een array. 1494 01:19:06,750 --> 01:19:09,170 Ik weet dat we een beetje lang op tijd rijden, 1495 01:19:09,170 --> 01:19:12,330 maar ik wil gewoon echt snel om dit te krijgen voor lus 1496 01:19:12,330 --> 01:19:14,850 en laten u zien hoe u de afzonderlijke tekens in de array te openen, 1497 01:19:14,850 --> 01:19:17,170 want dat is de belangrijkste voor onze opdracht. 1498 01:19:17,170 --> 01:19:20,790 En dan zullen we je laten gaan vanaf daar. 1499 01:19:20,790 --> 01:19:24,610 >> Dus hier hebben we een for-lus 1500 01:19:24,610 --> 01:19:28,310 dat ziet er bijna goed. 1501 01:19:28,310 --> 01:19:30,960 Wat is niet helemaal er bijna? 1502 01:19:30,960 --> 01:19:33,240 Hoe heet - wat niet helemaal goed over deze for-lus? 1503 01:19:33,240 --> 01:19:36,010 >> Geen accolades? 1504 01:19:36,010 --> 01:19:38,420 Nee accolades, voor een. 1505 01:19:38,420 --> 01:19:42,580 Wil ervoor zorgen dat we het lichaam van de lus met accolades hebben. 1506 01:19:42,580 --> 01:19:45,240 Oeps, niet de vierkante brace! 1507 01:19:45,240 --> 01:19:48,660 En wat is het volgende ding dat we moeten doen met deze lus? 1508 01:19:48,660 --> 01:19:52,640 Als ik probeer en voer het uit, 1509 01:19:52,640 --> 01:19:56,740 whats this error die ik krijg? 1510 01:19:56,740 --> 01:20:00,990 Ik krijg al deze fouten - Ik moet i initialiseren. 1511 01:20:00,990 --> 01:20:03,610 Geweldig. 1512 01:20:03,610 --> 01:20:05,770 Dus een lus - dit is niet helemaal, 1513 01:20:05,770 --> 01:20:08,680 maar het wordt heel dichtbij. 1514 01:20:08,680 --> 01:20:11,260 Deze code kunnen we nu uitvoeren, 1515 01:20:11,260 --> 01:20:14,620 bouwen, treedt er een fout nog steeds. 1516 01:20:17,960 --> 01:20:19,800 Waarom is het nog steeds klagen, 1517 01:20:19,800 --> 01:20:22,030 zeggen dat de uitdrukking is gebruikt, 1518 01:20:22,030 --> 01:20:24,600 en dat komt omdat deze lijn doet niets. 1519 01:20:24,600 --> 01:20:27,620 We hebben niet ergens op te slaan, hebben we niet het resultaat opslaan. 1520 01:20:27,620 --> 01:20:30,210 Waar moeten we het opslaan van dit resultaat? 1521 01:20:30,210 --> 01:20:32,920 >> S of i? 1522 01:20:32,920 --> 01:20:35,990 Precies, en deze funky syntaxis, 1523 01:20:35,990 --> 01:20:38,550 Dit is met de vierkante haakjes 1524 01:20:38,550 --> 01:20:41,500 betekent toegang tot de i-de karakter van s. 1525 01:20:41,500 --> 01:20:45,650 Dat zal iets dat echt belangrijk is voor de opdracht. 1526 01:20:45,650 --> 01:20:48,070 Helaas, we gaan hier moeten stoppen, 1527 01:20:48,070 --> 01:20:50,550 zodat Sebastian sectie kan komen, 1528 01:20:50,550 --> 01:20:53,980 maar ik ben blij om te verblijven na buiten en zal eventuele vragen. 1529 01:20:53,980 --> 01:20:56,680 Dus dank jullie voor jullie komst. 1530 01:20:56,680 --> 01:20:59,730 Dit moet nu uploaden, te bouwen, uit te voeren. 1531 01:21:01,570 --> 01:21:04,320 Wij kunnen u een string als "hallo" 1532 01:21:06,570 --> 01:21:08,730 en deze wordt afgedrukt "QOX". 1533 01:21:08,730 --> 01:21:11,030 [Gelach] 1534 01:21:11,030 --> 01:21:14,640 >> Dus er nog niet helemaal, maar het verplaatsen, het krijgen van de richting die loops! 1535 01:21:14,640 --> 01:21:18,640 Bedankt voor het komen, en ik ben buiten.