1 00:00:00,000 --> 00:00:03,290 >> [Muziek] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 JASON HIRSCHHORN: Oké, iedereen. 4 00:00:06,280 --> 00:00:07,460 Welkom op Sectie. 5 00:00:07,460 --> 00:00:10,840 Dit is CS50, onze eerste super sectie. 6 00:00:10,840 --> 00:00:13,700 Zoals u allen weet, volgende week reguliere afdelingen zal beginnen, 7 00:00:13,700 --> 00:00:15,580 maar deze week zijn we allemaal samen. 8 00:00:15,580 --> 00:00:17,730 >> Er is mezelf. 9 00:00:17,730 --> 00:00:18,840 Mijn naam is Jason. 10 00:00:18,840 --> 00:00:20,630 Ik ben een docent in Computer Science. 11 00:00:20,630 --> 00:00:23,910 We hebben Andi, wie is het hoofd TA van CS50. 12 00:00:23,910 --> 00:00:27,630 En Scaz, professor Brian Scassellati, hij is een professor in Computer Science. 13 00:00:27,630 --> 00:00:30,970 >> Wij zijn de CS50 hoofden aan de Yale. 14 00:00:30,970 --> 00:00:34,992 U kunt altijd mailen ons heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 We zullen lezingen. 16 00:00:35,950 --> 00:00:37,547 We zullen zijn op kantooruren. 17 00:00:37,547 --> 00:00:40,130 Als er ooit iets wat we kunnen voor u doen, alles wat je nodig hebt, 18 00:00:40,130 --> 00:00:42,610 voel je vrij om uit te reiken naar ons. 19 00:00:42,610 --> 00:00:44,140 >> Dus wat gaan we doen vandaag? 20 00:00:44,140 --> 00:00:47,790 Of voor die tijd, wat is er deze week? 21 00:00:47,790 --> 00:00:52,620 Dus kantooruren zijn maandag, dinsdag, Woensdag en donderdag 8:00 tot 11:00 uur. 22 00:00:52,620 --> 00:00:54,770 Er is een programma op de website. 23 00:00:54,770 --> 00:00:57,830 >> Secties, zoals ik al zei, beginnen volgende week. 24 00:00:57,830 --> 00:01:01,390 En je zult deze week uit te vinden wat timen uw sectie is, welke dag het is, 25 00:01:01,390 --> 00:01:03,350 en wie uw TA is. 26 00:01:03,350 --> 00:01:08,610 >> Probleem Set 1 is verschuldigd op donderdag middag, vrijdag 's middags met een late dag. 27 00:01:08,610 --> 00:01:10,817 Ja, je hebt negen dagen te laat. 28 00:01:10,817 --> 00:01:12,150 Er zijn negen probleem sets. 29 00:01:12,150 --> 00:01:14,320 En kan alleen gebruik maken van een late dag per probleem set. 30 00:01:14,320 --> 00:01:17,930 Ja, in feite alle problemen sets zijn het gevolg van vrijdag op de middag. 31 00:01:17,930 --> 00:01:18,550 Dat is alles. 32 00:01:18,550 --> 00:01:20,400 Alle gegevens die op de syllabus. 33 00:01:20,400 --> 00:01:22,360 >> Elke vrijdag, hebben we lunches. 34 00:01:22,360 --> 00:01:25,230 Wij willen van de grote maken Natuurlijk voelt een beetje kleiner. 35 00:01:25,230 --> 00:01:26,580 Dus u bent van harte welkom om RSVP. 36 00:01:26,580 --> 00:01:30,050 Gratis lunch met collega- klasgenoten en medewerkers. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Al deze dingen die Ik heb op het scherm, 39 00:01:36,940 --> 00:01:43,330 en nog veel meer, vindt u cs50.yale.edu of cs50.harvard.edu, als je naar Harvard 40 00:01:43,330 --> 00:01:46,800 en kijken naar deze online. 41 00:01:46,800 --> 00:01:50,240 >> Ook op deze websites, zijn er zijn een hoop van de middelen voor u. 42 00:01:50,240 --> 00:01:54,610 Elke lezing heeft niet alleen de video van de lezing, maar ook notities. 43 00:01:54,610 --> 00:01:58,184 Iemand zal het horloge Lezing en aantekeningen voor u. 44 00:01:58,184 --> 00:02:00,100 Dus je kunt gewoon betalen aandacht tijdens lezingen, 45 00:02:00,100 --> 00:02:03,970 of je kunt hun notities gebruiken / onze merkt op uw eigen notities aan te vullen. 46 00:02:03,970 --> 00:02:04,987 >> Er zijn dia's online. 47 00:02:04,987 --> 00:02:07,320 De bron code-- alles David gaat over in collegezaal, 48 00:02:07,320 --> 00:02:09,979 of Scaz gaat over lezing, dat broncode is online beschikbaar 49 00:02:09,979 --> 00:02:11,750 ook, zoals als ik, noemde video's. 50 00:02:11,750 --> 00:02:14,257 >> Secties, evenzo, worden allemaal gefilmd. 51 00:02:14,257 --> 00:02:15,840 Al die slides zullen beschikbaar zijn. 52 00:02:15,840 --> 00:02:18,190 Al die code zal zijn voor u beschikbaar. 53 00:02:18,190 --> 00:02:22,440 Er zijn korte broek op de website waar CS50 medewerkers besteden vijf tot 10 54 00:02:22,440 --> 00:02:24,130 minuten gaan door onderwerpen voor u. 55 00:02:24,130 --> 00:02:26,750 Sommige van die u al hebt ondervonden problemen in sets. 56 00:02:26,750 --> 00:02:30,430 >> Kantooruren, zoals ik al zei, maandag tot en met donderdag van 8:00 tot 11:00 uur. 57 00:02:30,430 --> 00:02:32,600 CS50 Studie is een fantastische bron. 58 00:02:32,600 --> 00:02:37,100 Er zijn praktijk problemen, monster dia's, bekende bugs 59 00:02:37,100 --> 00:02:40,920 dat studenten graag te lopen in, voor wezen elk onderwerp we 60 00:02:40,920 --> 00:02:42,650 dekt in deze cursus. 61 00:02:42,650 --> 00:02:46,350 >> En tot slot, op deze dia tenminste, Reference50 62 00:02:46,350 --> 00:02:49,690 waar u informatie geeft alle van de C-functies 63 00:02:49,690 --> 00:02:53,160 je ooit zou kunnen hopen te gebruiken en veel, veel meer. 64 00:02:53,160 --> 00:02:55,690 >> Nogmaals, dat dot dot dot aan de onderkant van het scherm 65 00:02:55,690 --> 00:02:59,990 om aan te geven dat er nog meer middelen op die twee websites: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Dus, wat gaan we doen vandaag? 68 00:03:05,840 --> 00:03:08,970 Nou, ten eerste ik ga geven je kijkt naar de middelen. 69 00:03:08,970 --> 00:03:10,010 Deed al die ene. 70 00:03:10,010 --> 00:03:11,590 Kijk naar ons. 71 00:03:11,590 --> 00:03:16,430 >> Nu, we gaan dan gaan types en operators data in C. 72 00:03:16,430 --> 00:03:19,990 Dan zal Andi hier te komen en gaan over bibliotheken in C, Printf (), 73 00:03:19,990 --> 00:03:24,570 een functie waarmee u al vertrouwd of zal zeer snel worden 74 00:03:24,570 --> 00:03:25,530 vertrouwd. 75 00:03:25,530 --> 00:03:27,810 En je zult ook gaan over conditionals en loops. 76 00:03:27,810 --> 00:03:30,900 >> En dan eindelijk, Scaz zal gaan over de CS50-ID. 77 00:03:30,900 --> 00:03:34,250 Als u nog niet dook al in Probleem Set 1, 78 00:03:34,250 --> 00:03:37,060 alsmede hoe het te gebruiken terminal en nuttige commando's 79 00:03:37,060 --> 00:03:42,280 en dan geef je een aantal demo's en praktijk codering in de CS50-ID. 80 00:03:42,280 --> 00:03:45,130 >> Voordat ik spring in deze inhoud aan deze kant, 81 00:03:45,130 --> 00:03:46,770 Heeft iemand enig vragen tot nu toe? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Grote. 84 00:03:54,030 --> 00:03:54,950 OK. 85 00:03:54,950 --> 00:03:55,810 Het schakelen. 86 00:03:55,810 --> 00:03:58,760 >> [Het schakelen] 87 00:03:58,760 --> 00:04:03,070 >> Dat was me een verschuiving versnellingen in een handleiding auto. 88 00:04:03,070 --> 00:04:10,920 Zo datatypes in C, kun je niet gewoon een variabele x en hebben het op lijn 10, 89 00:04:10,920 --> 00:04:17,170 een integer, misschien het getal 1, op lijn 20, een decimaal getal 10,5, 90 00:04:17,170 --> 00:04:20,500 en dan een paar lijnen later een string, ik hou CS50. 91 00:04:20,500 --> 00:04:25,052 >> In C kunnen variabelen alleen een ding, en slechts één ding. 92 00:04:25,052 --> 00:04:26,510 En dus moet je hen types te geven. 93 00:04:26,510 --> 00:04:28,780 En op dit forum, we hebben een lijst van soorten. 94 00:04:28,780 --> 00:04:32,000 Er zijn tekens die staan ​​karakters. 95 00:04:32,000 --> 00:04:36,850 Dus dat is een letter A, B, C, D. Dat ook een ruimte kan zijn, 96 00:04:36,850 --> 00:04:40,290 of die ook een nieuwe lijn karakter. 97 00:04:40,290 --> 00:04:45,030 >> Er zijn gehele getallen, die gewoon getallen, hele numbers-- of getallen 98 00:04:45,030 --> 00:04:47,130 rather-- maar geen decimalen. 99 00:04:47,130 --> 00:04:49,790 >> Voor de decimalen, hebben we floating point getallen. 100 00:04:49,790 --> 00:04:53,200 Floating point getallen getallen met decimalen. 101 00:04:53,200 --> 00:04:58,160 >> Dan zijn er longs, die wezenlijk langer integers. 102 00:04:58,160 --> 00:05:01,160 U zult merken dat een lange 8 terwijl een int is 4. 103 00:05:01,160 --> 00:05:02,640 Ik zal dat krijgen in een tweede. 104 00:05:02,640 --> 00:05:07,390 Dat komt omdat verlangt zelfs kan opslaan meer gehele getallen dan een int kan opslaan. 105 00:05:07,390 --> 00:05:10,100 Double is een lange float. 106 00:05:10,100 --> 00:05:12,460 >> En ten slotte hebben we snaar, wat een type 107 00:05:12,460 --> 00:05:14,430 dat u waarschijnlijk eerder hebt gebruikt. 108 00:05:14,430 --> 00:05:21,100 Als je onder hashtag # includeCS50.h in uw bronbestand, 109 00:05:21,100 --> 00:05:23,170 dan kunt u een soort string. 110 00:05:23,170 --> 00:05:25,560 Het is eigenlijk niet ingebouwd in C. 111 00:05:25,560 --> 00:05:27,760 >> Er zijn een paar andere soorten ook. 112 00:05:27,760 --> 00:05:32,900 Maar dit zijn de belangrijkste degenen met die u wilt gebruiken en tegenkomen. 113 00:05:32,900 --> 00:05:36,210 C als, weer zei ik, elke variable-- is 114 00:05:36,210 --> 00:05:38,620 kan slechts één type en slechts één type. 115 00:05:38,620 --> 00:05:42,890 Dat komt omdat C is een statisch getypte taal, in tegenstelling 116 00:05:42,890 --> 00:05:45,780 dynamisch getypeerde talen waar als u een variabele maken 117 00:05:45,780 --> 00:05:50,081 je kunt veranderen wat er opgeslagen in als je verder gaan in het programma. 118 00:05:50,081 --> 00:05:52,580 Hier aan de rechter kant, ik heb de verschillende maten 119 00:05:52,580 --> 00:05:57,440 Deze soorten gegevens in bytes. 120 00:05:57,440 --> 00:05:59,710 Dus een teken is 1 byte. 121 00:05:59,710 --> 00:06:01,250 Dat is 8 bits. 122 00:06:01,250 --> 00:06:05,530 En dat betekent, want 8 beetjes er acht 0s en 1s. 123 00:06:05,530 --> 00:06:08,280 We zagen deze demo in de eerste week met die binaire bollen. 124 00:06:08,280 --> 00:06:15,680 >> Met 8 bits of 1 byte, kunnen wij getallen van 0 tot 255. 125 00:06:15,680 --> 00:06:16,180 Rechts. 126 00:06:16,180 --> 00:06:18,770 Als alle 8 bits 0, dat is 0. 127 00:06:18,770 --> 00:06:23,640 Als de eerste bit is 1, dat is het aantal een, en ga zo maar door, helemaal tot 255. 128 00:06:23,640 --> 00:06:28,290 En dat is waarom voor de personages die je kunt in wezen tot 255 daarvan, 129 00:06:28,290 --> 00:06:31,210 maar dat is genoeg om alle dekken karakters moeten we gebruiken. 130 00:06:31,210 --> 00:06:38,060 >> Voor gehele getallen, kunt u 0 en dan heb je 2 om de 32 min 1. 131 00:06:38,060 --> 00:06:40,340 Dat zijn hoeveel opties je hebt voor integers. 132 00:06:40,340 --> 00:06:44,780 >> Voor een lange, heb je 0 2 de 64 min 1. 133 00:06:44,780 --> 00:06:48,860 Dus je hebt vele, vele, meer mogelijkheden voor longs. 134 00:06:48,860 --> 00:06:54,220 >> Strijkers, dat is een vraagteken want dat is een cliffhanger voor later. 135 00:06:54,220 --> 00:06:55,000 Ja. 136 00:06:55,000 --> 00:06:56,350 Ik kon vertellen iedereen is aan de rand van hun zetel, 137 00:06:56,350 --> 00:06:57,450 zoals wat is dat vraagteken? 138 00:06:57,450 --> 00:06:58,390 Het is een cliffhanger. 139 00:06:58,390 --> 00:07:02,340 We zullen uiteindelijk ter grootte van strijkers en praten meer over snaren. 140 00:07:02,340 --> 00:07:04,692 Omdat koord is eigenlijk één van de zijwieltjes 141 00:07:04,692 --> 00:07:06,400 we op dit cursus bij het begin 142 00:07:06,400 --> 00:07:09,700 en dan later af op, omdat strings in C 143 00:07:09,700 --> 00:07:13,320 zijn eigenlijk pointers karakter arrays. 144 00:07:13,320 --> 00:07:15,810 Maar nogmaals, dat is een Cliffhanger voor later. 145 00:07:15,810 --> 00:07:18,890 Voordat ik verder gaan vragen, commentaren, zorgen over deze dia? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> OK. 148 00:07:26,630 --> 00:07:30,330 Ik moet een fantastische uitlegger zijn. 149 00:07:30,330 --> 00:07:33,210 Ook als je het programmeren, je gaat deze operatoren gebruiken. 150 00:07:33,210 --> 00:07:36,730 Heel simpel tekenen dat eenvoudig kan doen operaties, waarmee je waarschijnlijk 151 00:07:36,730 --> 00:07:38,340 al zeer vertrouwd. 152 00:07:38,340 --> 00:07:42,580 >> Bijvoorbeeld, rechts kant zien we voegen. 153 00:07:42,580 --> 00:07:44,640 Toe te voegen, je gewoon een plusteken. 154 00:07:44,640 --> 00:07:46,850 En dus je zou kunnen hebben twee variabelen x en y. 155 00:07:46,850 --> 00:07:48,810 U kunt x + y doen in de code. 156 00:07:48,810 --> 00:07:52,790 Misschien wil je to-- je zegt het nummer 7 en 3, 157 00:07:52,790 --> 00:07:55,780 u wilt opslaan dat een bedrag variabele genaamd. 158 00:07:55,780 --> 00:08:03,010 U kunt int doen voor het type, ruimte Kortom, de naam van de variabele = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Wat zou die winkel in de som? 160 00:08:05,780 --> 00:08:07,190 Iedereen? 161 00:08:07,190 --> 00:08:09,270 Als ik in som = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Wat zou worden opgeslagen in som? 163 00:08:10,437 --> 00:08:11,520 Je kunt gewoon schreeuwen het uit. 164 00:08:11,520 --> 00:08:12,120 Publiek: 10. 165 00:08:12,120 --> 00:08:12,995 >> JASON HIRSCHHORN: 10! 166 00:08:12,995 --> 00:08:14,870 Zo is het precies. 167 00:08:14,870 --> 00:08:19,520 Hoe zit het in som = 7-3, Ik gebruik gewoon dat streepje teken. 168 00:08:19,520 --> 00:08:20,871 Wat er gaat worden opgeslagen? 169 00:08:20,871 --> 00:08:21,370 Publiek: 4. 170 00:08:21,370 --> 00:08:22,203 JASON HIRSCHHORN: 4. 171 00:08:22,203 --> 00:08:25,770 Som is waarschijnlijk de verkeerde naam voor die variabele, maar 4 worden opgeslagen. 172 00:08:25,770 --> 00:08:31,890 >> Te vermenigvuldigen in C, gebruik maken van de kleine Star karakter, hoef je niet een x gebruiken. 173 00:08:31,890 --> 00:08:35,990 Te verdelen, gebruik dan een Forward Slash niet de divisie symbool. 174 00:08:35,990 --> 00:08:39,580 En modulo, gebruiken het percentage symbool. 175 00:08:39,580 --> 00:08:47,900 >> Dus laten we zeggen dat ik wil zien int z = 7% 3, wat zou worden opgeslagen in z? 176 00:08:47,900 --> 00:08:51,250 Dus, dat is in wezen vragen wat doet modulo doen? 177 00:08:51,250 --> 00:08:52,750 Weet iemand wat modulo doet? 178 00:08:52,750 --> 00:08:53,940 Ja. 179 00:08:53,940 --> 00:08:54,870 y 4. 180 00:08:54,870 --> 00:08:56,120 SPEAKER 1: Het is de rest. 181 00:08:56,120 --> 00:08:58,369 JASON HIRSCHHORN: Het is de rest als je verdelen. 182 00:08:58,369 --> 00:09:02,790 Dus 7 gedeeld door 3 is 2 resterende 1. 183 00:09:02,790 --> 00:09:04,690 Dus 1 zou worden opgeslagen. 184 00:09:04,690 --> 00:09:06,970 >> Je deed aftrekken, maar dat is hoe het werkt. 185 00:09:06,970 --> 00:09:09,140 Dat is wat de modulo operator doet. 186 00:09:09,140 --> 00:09:12,360 Het duurt een aantal verdeelt door een ander nummer en keert terug naar je 187 00:09:12,360 --> 00:09:14,590 de rest. 188 00:09:14,590 --> 00:09:19,770 Dus nogmaals, 7% 3 geeft u 1, omdat Gedeeld door 3 is 2 restant 1 7, 189 00:09:19,770 --> 00:09:21,650 en geeft de rest. 190 00:09:21,650 --> 00:09:24,470 >> Hoe zit het laten terug te gaan omhoog een stap naar die afdeling teken. 191 00:09:24,470 --> 00:09:29,194 Als ik 7 / gedeeld door 3 doet iedereen weet wat dat zou terugkeren? 192 00:09:29,194 --> 00:09:30,090 >> Luidspreker 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> JASON HIRSCHHORN: Waarom 2 en niet 2,333? 194 00:09:32,240 --> 00:09:34,560 >> Luidspreker 2: Ik denk dat het snijdt na het hele nummer. 195 00:09:34,560 --> 00:09:36,310 JASON HIRSCHHORN: So dat is precies juist. 196 00:09:36,310 --> 00:09:39,880 In C, als je afdeling van doen twee integers 7 gedeeld door 3, 197 00:09:39,880 --> 00:09:43,430 Het antwoord krijgt die in dit geval 2,3333 forever 198 00:09:43,430 --> 00:09:47,080 en hij constateert dat komma en hakt alles uit na de komma 199 00:09:47,080 --> 00:09:49,240 en het gewoon keert u 2. 200 00:09:49,240 --> 00:09:51,120 >> Dus als ik 8 gedeeld door 3. 201 00:09:51,120 --> 00:09:54,010 Die eigenlijk weten we die terugkeren 2,666, 202 00:09:54,010 --> 00:09:57,050 maar het hakt alles uit bij de decimale, kapt het allemaal, 203 00:09:57,050 --> 00:09:58,640 en gewoon terug naar je 2. 204 00:09:58,640 --> 00:10:02,090 Dus 6 gedeeld door 3, 7 onderverdeeld van 3, 8 gedeeld door 3, 205 00:10:02,090 --> 00:10:04,840 gaan allemaal terug naar je 2. 206 00:10:04,840 --> 00:10:08,770 >> Weet iemand of een gok, hoe ik eigenlijk zou kunnen krijgen 207 00:10:08,770 --> 00:10:10,790 de volledige antwoord als ik wil dat decimaal? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Ja. 210 00:10:13,620 --> 00:10:14,152 Doe Maar. 211 00:10:14,152 --> 00:10:15,110 SPEAKER 3: Gebruik een vlotter? 212 00:10:15,110 --> 00:10:16,942 JASON HIRSCHHORN: Wat bedoel je? 213 00:10:16,942 --> 00:10:19,786 SPEAKER 3: Omdat je zei dat de float is voor nummers [onverstaanbaar] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 JASON HIRSCHHORN: Recht. 216 00:10:23,900 --> 00:10:26,100 Dus, dat is precies goed. 217 00:10:26,100 --> 00:10:28,440 7 is een geheel getal. 218 00:10:28,440 --> 00:10:31,690 Maar als ik wilde zetten dat in een floating point getal, 219 00:10:31,690 --> 00:10:34,674 Ik zou moeten slaan dat als 7,0 omdat de computer 220 00:10:34,674 --> 00:10:37,090 is echt stupid-- we dat zagen de PB en J example-- 221 00:10:37,090 --> 00:10:38,930 het zal alleen precies doen wat je te vertellen. 222 00:10:38,930 --> 00:10:40,846 >> Dus als je schrijft 7, is het denk dat het een integer. 223 00:10:40,846 --> 00:10:43,640 Als je schrijft 7,0, hoewel we weet dat die dingen zijn gelijk, 224 00:10:43,640 --> 00:10:45,550 Het behandelt dat als een floating point nummer. 225 00:10:45,550 --> 00:10:50,441 Dus als je dat deed 7,0 verdeeld van 3 of gedeeld door 3,0, 226 00:10:50,441 --> 00:10:52,440 het zou zeggen, OK, nu we te maken met praalwagens. 227 00:10:52,440 --> 00:10:57,514 Ik zal voor altijd bij u terug 2,333333. 228 00:10:57,514 --> 00:10:59,930 Maar niet echt voor altijd, omdat zoals we zagen ook in collegezaal, 229 00:10:59,930 --> 00:11:03,350 deze floating point getallen zijn niet precies nauwkeurig. 230 00:11:03,350 --> 00:11:05,940 >> Dus als je wilt dat decimaal, of een deel van die cijfers, 231 00:11:05,940 --> 00:11:08,090 dan moet je een van hen use-- moet een floating point getal 232 00:11:08,090 --> 00:11:11,048 en de computer te begrijpen dat dit een floating point je bent 233 00:11:11,048 --> 00:11:13,350 behandelen, geen geheel getal. 234 00:11:13,350 --> 00:11:16,760 Voor vragen op die tafel op de rechterkant, tot nu toe? 235 00:11:16,760 --> 00:11:22,650 Of uw linkerhand, je links, uw linkerhand. 236 00:11:22,650 --> 00:11:23,264 Ja. 237 00:11:23,264 --> 00:11:23,972 SPEAKER 4: Recht. 238 00:11:23,972 --> 00:11:26,216 Want net als een gewone getallen, zou je 239 00:11:26,216 --> 00:11:30,230 write-- zou je moeten schrijven drijven? 240 00:11:30,230 --> 00:11:31,920 >> JASON HIRSCHHORN: Ja dus. 241 00:11:31,920 --> 00:11:34,400 Nou, als je wilt maken een variabele die een vlotter, 242 00:11:34,400 --> 00:11:37,020 je nodig hebt om vlotter te zeggen z is gelijk aan iets. 243 00:11:37,020 --> 00:11:37,640 >> SPEAKER 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> JASON HIRSCHHORN: Maar als ik wilde do 7 gedeeld door 3 en krijgen dat decimale, 245 00:11:41,950 --> 00:11:48,540 Ik zou float z = 7,0 / met 3,0 doen; en die me de floating point zou geven 246 00:11:48,540 --> 00:11:49,273 nummer. 247 00:11:49,273 --> 00:11:50,000 >> SPEAKER 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> JASON HIRSCHHORN: Als ik dat deed iets als int z = 7 / met 3, 249 00:11:56,370 --> 00:12:00,856 die me een integer zou geven, want dat zijn allemaal getallen. 250 00:12:00,856 --> 00:12:01,730 Slaat dat ergens op? 251 00:12:01,730 --> 00:12:02,320 >> SPEAKER 4: Ja. 252 00:12:02,320 --> 00:12:02,950 >> JASON HIRSCHHORN: OK. 253 00:12:02,950 --> 00:12:03,450 Grote. 254 00:12:03,450 --> 00:12:06,030 Andere vragen over die tafel? 255 00:12:06,030 --> 00:12:07,220 Echt waar? 256 00:12:07,220 --> 00:12:08,380 Ik ben zo verheugd. 257 00:12:08,380 --> 00:12:09,120 OK. 258 00:12:09,120 --> 00:12:13,910 >> Dus sommige andere dingen die je gaat gebruiken, vaak in omstandigheden of lussen, 259 00:12:13,910 --> 00:12:17,580 zijn deze vormen van operators-- deze soorten Booleaanse expressies. 260 00:12:17,580 --> 00:12:23,140 En zoals we geleerd == is wat je gebruiken om te controleren of twee dingen gelijk zijn. 261 00:12:23,140 --> 00:12:28,170 >> Dus hier ben ik het controleren als x == y, laten we weer aannemen dat x en y 7 3. 262 00:12:28,170 --> 00:12:33,220 Dus als ik schreef 7 == 3, wat zou die terug naar mij? 263 00:12:33,220 --> 00:12:34,220 Is dat waar of onwaar? 264 00:12:34,220 --> 00:12:35,275 >> Publiek: Valse. 265 00:12:35,275 --> 00:12:36,150 JASON HIRSCHHORN: OK. 266 00:12:36,150 --> 00:12:37,370 Ik voel me alsof iedereen kan het krijgen. 267 00:12:37,370 --> 00:12:39,054 Dus iedereen, wat zou dat terug? 268 00:12:39,054 --> 00:12:39,720 Publiek: Valse. 269 00:12:39,720 --> 00:12:40,130 JASON HIRSCHHORN: False. 270 00:12:40,130 --> 00:12:40,850 Grote. 271 00:12:40,850 --> 00:12:41,930 7 is niet gelijk aan 3. 272 00:12:41,930 --> 00:12:44,530 Dus 7 == 3 zou return false. 273 00:12:44,530 --> 00:12:50,746 Je moet wel een niet gelijk teken, dus als ik gecontroleerd 7! = 3, wat zou dat terug? 274 00:12:50,746 --> 00:12:51,370 Publiek: True. 275 00:12:51,370 --> 00:12:52,650 JASON HIRSCHHORN: True. 276 00:12:52,650 --> 00:12:53,200 Excellent. 277 00:12:53,200 --> 00:12:55,990 Iemand was zeer nadrukkelijk in de rug en waarderen dat. 278 00:12:55,990 --> 00:12:59,070 Vervolgens minder dan operator heb je, minder dan of gelijk aan operator, 279 00:12:59,070 --> 00:13:01,990 groter dan operator, groter hoogste operator. 280 00:13:01,990 --> 00:13:03,490 >> Dus nog een sanity check. 281 00:13:03,490 --> 00:13:05,660 Als ik had 7 is groter dan of gelijk aan 3. 282 00:13:05,660 --> 00:13:06,966 Wat zou dat terug? 283 00:13:06,966 --> 00:13:07,692 >> Publiek: True. 284 00:13:07,692 --> 00:13:08,650 JASON HIRSCHHORN: True. 285 00:13:08,650 --> 00:13:10,050 Ja. 286 00:13:10,050 --> 00:13:13,290 Dat achterkamer, achterzijde van de kamer, fantastisch. 287 00:13:13,290 --> 00:13:16,240 U kunt deze combineren uitdrukkingen als je wilt, maar ook, 288 00:13:16,240 --> 00:13:21,880 een logische AND die && Of een logische OR die || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 En nu kunt u twee testen dingen together-- Is dat grappig? 291 00:13:25,785 --> 00:13:28,250 Waarom is dat grappig? 292 00:13:28,250 --> 00:13:35,200 >> Dus als ik wilde, ik kan zeggen is 7 groter dan 3 en 2 minder dan 4? 293 00:13:35,200 --> 00:13:37,090 Nou, als 7 is groter dan 3, dat is waar. 294 00:13:37,090 --> 00:13:38,400 2 minder dan 4, dat is waar. 295 00:13:38,400 --> 00:13:41,140 Dus dit hele ding zou gelden terugkeren. 296 00:13:41,140 --> 00:13:45,130 >> Als ik testte 7 groter is dan 3 en-- Ik ben gewoon plukken willekeurige getallen hier-- 297 00:13:45,130 --> 00:13:47,340 4 minder dan 2, nou, dat is vals. 298 00:13:47,340 --> 00:13:49,610 Dus waar en onwaar make vals. 299 00:13:49,610 --> 00:13:54,520 En je kunt gaan en je combineren vele voorwaarden samen als je wilt. 300 00:13:54,520 --> 00:14:00,000 >> Heeft iemand nog vragen hebben, commentaren, zorgen nu toe? 301 00:14:00,000 --> 00:14:03,862 En ik zie sommigen van jullie nemen van foto's van mij in het scherm, die ik zeer waardeer. 302 00:14:03,862 --> 00:14:05,070 Hopelijk is het niet SNAPCHAT. 303 00:14:05,070 --> 00:14:06,417 Hopelijk, het is voor uw notities. 304 00:14:06,417 --> 00:14:08,500 Maar al deze gaan online beschikbaar zijn. 305 00:14:08,500 --> 00:14:11,210 Zodat je niet hoeft te foto's van deze te nemen. 306 00:14:11,210 --> 00:14:15,150 Zoals ik al zei, alles zal online beschikbaar zijn voor jou. 307 00:14:15,150 --> 00:14:15,650 OK. 308 00:14:15,650 --> 00:14:17,980 Ik ben over te krijgen offstage, dat doet iedereen 309 00:14:17,980 --> 00:14:20,350 wil om iets te zeggen voordat dat gebeurt? 310 00:14:20,350 --> 00:14:21,080 Vragen? 311 00:14:21,080 --> 00:14:21,680 >> [Onderbreekt hem VOICES] 312 00:14:21,680 --> 00:14:22,250 >> JASON HIRSCHHORN: Oh, te stoppen. 313 00:14:22,250 --> 00:14:23,290 Jullie zijn te aardig. 314 00:14:23,290 --> 00:14:23,790 OK. 315 00:14:23,790 --> 00:14:26,520 Ik ga naar een label uit. 316 00:14:26,520 --> 00:14:27,240 Laten we gaan. 317 00:14:27,240 --> 00:14:29,570 >> ANDI Peng: We gaan om te doen een onhandige mic verandering nu. 318 00:14:29,570 --> 00:14:32,280 >> JASON HIRSCHHORN: Ik ben gaan deze opstijgen. 319 00:14:32,280 --> 00:14:33,946 ANDI Peng: waarderen de steun, jongens. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Kan je me horen? 322 00:14:43,180 --> 00:14:43,930 Is dat goed? 323 00:14:43,930 --> 00:14:44,760 Perfect. 324 00:14:44,760 --> 00:14:45,630 Mooi. 325 00:14:45,630 --> 00:14:47,490 Laat me instoppen alleen dat in. 326 00:14:47,490 --> 00:14:49,100 OK. 327 00:14:49,100 --> 00:14:54,140 Dus, ik ben over te doen, zoals een gigantische informatie dump nu op jullie. 328 00:14:54,140 --> 00:14:57,370 En geen zorgen ook als je niet na elke kleine lijn van wat 329 00:14:57,370 --> 00:14:58,812 Ik sta op het punt om te laten zien. 330 00:14:58,812 --> 00:15:00,770 Zoals Jason zei, alles is volledig online. 331 00:15:00,770 --> 00:15:03,780 Gewoon gaan we proberen in te voeren iedereen de concepten overdekte 332 00:15:03,780 --> 00:15:05,270 in sommige slides. 333 00:15:05,270 --> 00:15:06,582 Dus volg gewoon langs. 334 00:15:06,582 --> 00:15:09,540 Geen zorgen als je niet begrijpt alles; Indien evenwel op elk punt 335 00:15:09,540 --> 00:15:12,820 je verloren voelen, steek uw de hand, zullen we stoppen, geen zorgen. 336 00:15:12,820 --> 00:15:15,060 Cool. 337 00:15:15,060 --> 00:15:19,270 >> Dus ik denk dat er iets dat David heeft al een soort genoemd in college 338 00:15:19,270 --> 00:15:23,240 en Jason heeft soort zinspeelde vandaag is wat een bibliotheek is. 339 00:15:23,240 --> 00:15:27,510 Dus in de programmering, hebben we deze dingen genoemd bibliotheken. 340 00:15:27,510 --> 00:15:29,690 Waar in wezen alle ze is gewoon een set 341 00:15:29,690 --> 00:15:32,610 functies, die in wezen gewoon code die is 342 00:15:32,610 --> 00:15:35,070 al geschreven door iemand anders dat we kunnen allemaal 343 00:15:35,070 --> 00:15:36,410 gebruiken in onze programma's. 344 00:15:36,410 --> 00:15:38,790 >> Dus hoe werkt een normale bibliotheek werk, toch? 345 00:15:38,790 --> 00:15:40,030 U komt binnen in de bibliotheek deur. 346 00:15:40,030 --> 00:15:41,890 Je hebt al deze boeken die je kunt trekken uit 347 00:15:41,890 --> 00:15:44,590 en je kunt toegang tot informatie in die boeken. 348 00:15:44,590 --> 00:15:45,840 Hetzelfde in de programmering. 349 00:15:45,840 --> 00:15:48,820 >> Je hebt een bibliotheek die al geschreven door andere mensen. 350 00:15:48,820 --> 00:15:51,530 En de manier waarop je kunt, als programmeur of een student, 351 00:15:51,530 --> 00:15:55,780 kan de toegang tot die bibliotheek te krijgen is via hashtag # include. 352 00:15:55,780 --> 00:15:59,720 >> Bijvoorbeeld, in C we hebben drie C-- de meest 353 00:15:59,720 --> 00:16:03,420 veelgebruikte drie C standaard libraries-- de input / output bibliotheek, 354 00:16:03,420 --> 00:16:05,540 de snaar bibliotheek en de wiskunde bibliotheek. 355 00:16:05,540 --> 00:16:07,610 >> Dus in de eerste paar probleem stelt, 356 00:16:07,610 --> 00:16:10,940 die zullen de drie zijn dat je in de eerste plaats gebruikt. 357 00:16:10,940 --> 00:16:14,610 Dus zoals David al toegelicht in collegezaal, 358 00:16:14,610 --> 00:16:17,460 de standaard I / O-bibliotheek, of standaard input / output bibliotheek 359 00:16:17,460 --> 00:16:18,620 doet precies dat. 360 00:16:18,620 --> 00:16:23,530 Hiermee kunt u, in uw code, om input iets van de gebruiker en de uitvoer die 361 00:16:23,530 --> 00:16:25,960 het scherm in wezen printen naar het scherm. 362 00:16:25,960 --> 00:16:29,990 >> En dus elke keer dat je elke functies, bijvoorbeeld de functie printf () die 363 00:16:29,990 --> 00:16:33,319 we gaan te gaan over de volgende dia, Zorg ervoor dat de standaard onder meer I / O 364 00:16:33,319 --> 00:16:36,360 bibliotheek of anders je gaat niet in staat zijn om de printf () functie gebruiken. 365 00:16:36,360 --> 00:16:39,110 Omdat je, als de programmeur eigenlijk nooit schreef dat de functie, 366 00:16:39,110 --> 00:16:41,840 je bent gewoon met iemand code anders in uw eigen code. 367 00:16:41,840 --> 00:16:43,620 >> Is dat zinvol iedereen? 368 00:16:43,620 --> 00:16:44,520 Cool. 369 00:16:44,520 --> 00:16:48,530 >> En dan hebben we in wezen te krijgen op string.h de bibliotheek en de math.h 370 00:16:48,530 --> 00:16:52,970 bibliotheek, .h gewoon betekent bibliotheek, andere bibliotheken die u zult uiteindelijk 371 00:16:52,970 --> 00:16:55,310 worden met behulp van in de code. 372 00:16:55,310 --> 00:16:57,620 >> Voor doeleinden van deze bibliotheek ook 373 00:16:57,620 --> 00:17:01,170 have-- van deze class-- hebben we ook wat wordt genoemd de CS50 bibliotheek, 374 00:17:01,170 --> 00:17:05,270 cs50.h waar we voor uw inzage hebben gecreëerd 375 00:17:05,270 --> 00:17:07,369 vele belangrijke en handige functies. 376 00:17:07,369 --> 00:17:09,550 Zodat u als programmeur kan meeliften off 377 00:17:09,550 --> 00:17:14,470 wat we hebben al zo dat de schriftelijke 's beschikbaar deze functie voor u 378 00:17:14,470 --> 00:17:15,599 voor uw gebruik. 379 00:17:15,599 --> 00:17:18,359 >> Ik zal die een paar de gebruikte functies, 380 00:17:18,359 --> 00:17:20,839 maar weet dat dit zijn Alle googleable online. 381 00:17:20,839 --> 00:17:24,904 Voel je vrij, trek de CS50 bibliotheek en dan heb je alle functies daar. 382 00:17:24,904 --> 00:17:25,828 Ja. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: Dus als je niet was met behulp van de software die 384 00:17:28,140 --> 00:17:29,916 wordt door ons geleverd de klasse, dat doet 385 00:17:29,916 --> 00:17:32,698 bedoelen we zouden moeten downloaden en te vinden deze header bestand onszelf en vertellen 386 00:17:32,698 --> 00:17:33,840 de computer waar het is? 387 00:17:33,840 --> 00:17:34,320 >> ANDI Peng: Grote vraag. 388 00:17:34,320 --> 00:17:34,820 Precies. 389 00:17:34,820 --> 00:17:38,194 Dus het is net als je niet fysiek aanwezig zijn in een bibliotheek, 390 00:17:38,194 --> 00:17:40,360 er is geen manier voor u om daadwerkelijk te gaan en toegang te krijgen tot het. 391 00:17:40,360 --> 00:17:42,589 Dus hetzelfde met programmeren in C, u 392 00:17:42,589 --> 00:17:45,880 moet je ervoor zorgen dat je met behulp van onze apparaat omdat de bibliotheek is al 393 00:17:45,880 --> 00:17:47,270 is opgenomen in het. 394 00:17:47,270 --> 00:17:50,020 En dan wanneer je hashtag #include, de bibliotheek daar. 395 00:17:50,020 --> 00:17:50,520 Ja. 396 00:17:50,520 --> 00:17:51,920 Goede vraag. 397 00:17:51,920 --> 00:17:53,461 Iedereen goed? 398 00:17:53,461 --> 00:17:53,960 Cool. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 Prima. 401 00:17:56,870 --> 00:17:59,330 Dus we gaan om te slaan, Wat is met 402 00:17:59,330 --> 00:18:01,620 de eerste functie Wij als programmeurs zijn 403 00:18:01,620 --> 00:18:03,900 gaat gebruiken in onze code. 404 00:18:03,900 --> 00:18:05,690 Dit is de printf () functie genoemd. 405 00:18:05,690 --> 00:18:08,450 Dus, printf () functie, zoals ik heb al zei in de laatste dia, 406 00:18:08,450 --> 00:18:11,830 is in de standaard I / O, standaard input / output, bibliotheek. 407 00:18:11,830 --> 00:18:16,470 >> Dus zorg ervoor dat wat je ook bent using-- oh, laat me pak de laser pointer-- 408 00:18:16,470 --> 00:18:18,660 wanneer u gebruik maakt de printf () functie, 409 00:18:18,660 --> 00:18:21,790 moet je de standaard onder meer I / O bibliotheek of anders, als je compileren, 410 00:18:21,790 --> 00:18:23,760 je gaat om een ​​fout te krijgen omdat de computer zal zijn als, 411 00:18:23,760 --> 00:18:26,140 oh ik weet niet waar printf () is, je me niet vertellen waar de printf () 412 00:18:26,140 --> 00:18:26,830 is. 413 00:18:26,830 --> 00:18:30,150 Well printf () opgenomen in de standaard I / O, dus als je gebruik maken van printf (), 414 00:18:30,150 --> 00:18:32,960 zorg ervoor te hebben dat lijn boven uw code. 415 00:18:32,960 --> 00:18:36,040 >> Dus bijvoorbeeld printf () Hier is een functie. 416 00:18:36,040 --> 00:18:40,260 Alles wat het doet is print iets de haakjes aan de gebruiker. 417 00:18:40,260 --> 00:18:44,840 Zou iemand graag een gooi te nemen wat deze regel code recht 418 00:18:44,840 --> 00:18:46,420 hier gaat om uit te printen? 419 00:18:46,420 --> 00:18:48,730 Vandaar dat het antwoord is op het scherm. 420 00:18:48,730 --> 00:18:50,480 Iedereen? 421 00:18:50,480 --> 00:18:51,380 >> Verdi: De bodem. 422 00:18:51,380 --> 00:18:53,510 >> ANDI Peng: Verdi, waarom ga je niet vooruit en zeg de hele verklaring? 423 00:18:53,510 --> 00:18:55,718 >> Verdi: Hallo, mijn naam is Andi, en ik ben 20 jaar oud. 424 00:18:55,718 --> 00:18:57,270 ANDI PENG: Ah, mooi. 425 00:18:57,270 --> 00:19:00,240 Dus in deze lijn gaan we printen, Hallo, mijn naam is Andi, 426 00:19:00,240 --> 00:19:04,280 en ik ben 20 jaar oud, die is in feite een echte statement. 427 00:19:04,280 --> 00:19:05,090 >> Syntax. 428 00:19:05,090 --> 00:19:08,830 Dus paar syntactische problemen die jullie willen ervoor zorgen dat je weet. 429 00:19:08,830 --> 00:19:09,360 Quotes. 430 00:19:09,360 --> 00:19:13,170 Dubbele aanhalingstekens vertellen de computer die alles binnen 431 00:19:13,170 --> 00:19:14,850 zal worden afgedrukt. 432 00:19:14,850 --> 00:19:16,620 >> Alles binnen can gewoon precies hoe 433 00:19:16,620 --> 00:19:19,920 u typt, behalve voor vaak aan het eind, 434 00:19:19,920 --> 00:19:23,610 we gaan wilt opnemen een hash-- oh sorry-- een streepje n. 435 00:19:23,610 --> 00:19:24,640 Dus een streepje n. 436 00:19:24,640 --> 00:19:28,884 >> Wil iemand een gok te nemen wat dat doet met onze code? 437 00:19:28,884 --> 00:19:29,465 Ja. 438 00:19:29,465 --> 00:19:30,840 SPEAKER 6: Zet het op een nieuwe regel. 439 00:19:30,840 --> 00:19:31,650 ANDI PENG: Precies. 440 00:19:31,650 --> 00:19:34,660 Dus dit alles doet is toestaan ​​wat er ook gebeurt 441 00:19:34,660 --> 00:19:37,520 na deze, na deze verklaring, om te worden afgedrukt op een nieuwe regel. 442 00:19:37,520 --> 00:19:40,030 Zodat wanneer je het schrijven van uw code die je niet willekeurig dingen hebben 443 00:19:40,030 --> 00:19:41,738 geplakt op het einde die u niet wilt. 444 00:19:41,738 --> 00:19:43,700 Dat alles krijgt keurig gedrukte één regel 445 00:19:43,700 --> 00:19:46,870 en dan beginnen we ons op de volgende regel. 446 00:19:46,870 --> 00:19:50,970 >> Is er iemand die weet wat dat puntkomma doet wanneer we het coderen? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Ja. 449 00:19:55,330 --> 00:19:55,740 >> SPEAKER 7: Statement. 450 00:19:55,740 --> 00:19:56,010 >> ANDI PENG: Sorry? 451 00:19:56,010 --> 00:19:57,100 >> SPEAKER 7: Is het einde van de verklaring? 452 00:19:57,100 --> 00:19:57,766 >> ANDI PENG: Ja. 453 00:19:57,766 --> 00:20:02,670 Dus in C, of ​​enige programmering taal, de puntkomma 454 00:20:02,670 --> 00:20:04,640 geeft het einde van een programmeerregel. 455 00:20:04,640 --> 00:20:09,240 Dus bijvoorbeeld, in het Engels gebruiken wij periode zeggen, oh dit het einde van een zin. 456 00:20:09,240 --> 00:20:12,857 In de programmering, hetzelfde, we hebben een puntkomma aan het einde van een regel geven. 457 00:20:12,857 --> 00:20:14,690 Vaak, als je begint te programmeren 458 00:20:14,690 --> 00:20:17,150 je je realiseert vergeten om een ​​puntkomma toe te voegen 459 00:20:17,150 --> 00:20:19,400 en dan probeer je te lopen uw code en het werkt niet. 460 00:20:19,400 --> 00:20:21,520 En je bent zoals, Ah, ik niet weet waarom, het zou moeten werken. 461 00:20:21,520 --> 00:20:24,394 >> De kans groot dat je waarschijnlijk vergeten een puntkomma of een beugel of zoiets 462 00:20:24,394 --> 00:20:25,020 ergens. 463 00:20:25,020 --> 00:20:27,740 Dus, dat is belangrijk om te onthouden. 464 00:20:27,740 --> 00:20:29,627 Cool. 465 00:20:29,627 --> 00:20:31,960 Oké, handopsteking, hoe veel mensen hebben hier ooit 466 00:20:31,960 --> 00:20:37,210 genomen AP Computer Science of geprogrammeerd in Java voor, ooit? 467 00:20:37,210 --> 00:20:37,710 OK. 468 00:20:37,710 --> 00:20:38,210 Heerlijk. 469 00:20:38,210 --> 00:20:41,340 Dat zal niet van toepassing Vervolgens, maar in Java, je 470 00:20:41,340 --> 00:20:44,960 hebben iets genaamd System.out.println die niet bestaat in C. 471 00:20:44,960 --> 00:20:49,927 >> Dus in C, wanneer u wilt toevoegen in de variabelen 472 00:20:49,927 --> 00:20:51,760 in alles wat je wilt uit te printen, is er 473 00:20:51,760 --> 00:20:54,620 een specifieke syntax we gaan gebruiken. 474 00:20:54,620 --> 00:20:56,520 Dat heet de placeholding-- wezen 475 00:20:56,520 --> 00:21:01,180 we tijdelijke aanduidingen toe te voegen in plaats van de eenheid of de variabele 476 00:21:01,180 --> 00:21:02,580 dat we willen afdrukken. 477 00:21:02,580 --> 00:21:07,430 >> Dus zoals jullie kunnen zien die we hebben opgenomen een nieuwe bibliotheek header-bestand hier. 478 00:21:07,430 --> 00:21:09,130 De CS50 bibliotheek. 479 00:21:09,130 --> 00:21:13,160 En bevatte in die CS50 bibliotheek is een gemeenschappelijke functie die we zullen gebruiken 480 00:21:13,160 --> 00:21:15,610 in onze cursus genaamd getInt (). 481 00:21:15,610 --> 00:21:21,830 >> Heeft iemand wil een gooi te nemen op wat getint () zijn mogelijk te doen. 482 00:21:21,830 --> 00:21:22,830 >> PUBLIEK: [onverstaanbaar] 483 00:21:22,830 --> 00:21:23,550 >> ANDI PENG: Sorry. 484 00:21:23,550 --> 00:21:24,370 Kon je niet horen. 485 00:21:24,370 --> 00:21:25,511 Maddie, iedereen. 486 00:21:25,511 --> 00:21:27,260 MADDIE: Oh, vraagt u een integer. 487 00:21:27,260 --> 00:21:28,051 ANDI PENG: Precies. 488 00:21:28,051 --> 00:21:30,670 Dus deze functie, andere functie die al 489 00:21:30,670 --> 00:21:33,690 is geschreven door iemand anders dat we kunnen een beroep doen op nu. 490 00:21:33,690 --> 00:21:38,000 Al is het is gevraagd om de door u, de gebruiker, in te voeren wat je wilt als de code 491 00:21:38,000 --> 00:21:41,850 draait en slaat whatever-- in dit geval zijn we getInt () - ing, 492 00:21:41,850 --> 00:21:44,060 dus dat betekent dat we verkrijgen van een integer. 493 00:21:44,060 --> 00:21:46,150 >> En we gaan slaan dat andere integer 494 00:21:46,150 --> 00:21:48,900 dat we net hebben gemaakt genaamd leeftijd. 495 00:21:48,900 --> 00:21:51,500 Dat zinvol voor iedereen? 496 00:21:51,500 --> 00:21:52,190 Cool. 497 00:21:52,190 --> 00:21:56,400 >> Dus nu dat we dit integer hebben opgeslagen, dat we hebben gevraagd van de gebruiker, 498 00:21:56,400 --> 00:22:00,010 in deze variabele, we hebben gemaakt van het type int genaamd leeftijd, 499 00:22:00,010 --> 00:22:03,720 kunnen we vooruit en plaats gaan dat onze printf () functie. 500 00:22:03,720 --> 00:22:08,970 Dus de syntax gewoonlijk printf () is dat waar in je fysieke 501 00:22:08,970 --> 00:22:14,410 lijn die u wilt dat integer omvatten, je dat symbool doen daar, 502 00:22:14,410 --> 00:22:17,800 het percentage symbool, met de type van de variabele die u wilt. 503 00:22:17,800 --> 00:22:20,090 >> Dus in dit geval leeftijd een integer. 504 00:22:20,090 --> 00:22:25,030 Dus je gaat te nemen % i omdat het een integer. 505 00:22:25,030 --> 00:22:26,860 En dan na uw statement, je gaat 506 00:22:26,860 --> 00:22:30,370 om komma en het doen de naam van de variabele. 507 00:22:30,370 --> 00:22:33,420 >> Dus hier, we gaan printen out, Hallo, mijn naam is Andi, 508 00:22:33,420 --> 00:22:35,730 en ik ben blank jaar oud. 509 00:22:35,730 --> 00:22:38,890 Hashta-- of, sorry--, leeftijd met wat ik inbreng. 510 00:22:38,890 --> 00:22:42,790 Dus als ik om input 20 voor mijn getint (de) hier, 511 00:22:42,790 --> 00:22:44,500 het zou precies hetzelfde uit te printen. 512 00:22:44,500 --> 00:22:47,990 Maar, als ik wilde iets invoeren anders, zoals misschien wel 40 of 45, 513 00:22:47,990 --> 00:22:50,800 dan zou je zien dat weerspiegeld dienovereenkomstig in de code. 514 00:22:50,800 --> 00:22:52,886 >> Dit is dus een voorbeeld iets waar 515 00:22:52,886 --> 00:22:55,260 het drukt uit en kijkt naar je net zo als het is het zelfde ding, 516 00:22:55,260 --> 00:22:57,593 maar onder de motorkap van de computer is er eigenlijk 517 00:22:57,593 --> 00:22:59,560 heel verschillende dingen gebeuren. 518 00:22:59,560 --> 00:23:00,060 Cool. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 Prima. 521 00:23:03,260 --> 00:23:06,940 Dus wat als we willen meerdere variabelen? 522 00:23:06,940 --> 00:23:08,290 Vrij eenvoudig. 523 00:23:08,290 --> 00:23:09,150 Hetzelfde. 524 00:23:09,150 --> 00:23:11,930 We hebben ook een nieuwe functie hier genoemd GetString (), 525 00:23:11,930 --> 00:23:15,380 Ook omvat binnen de CS50 bibliotheek dat alles wat het doet is vraagt ​​de gebruiker 526 00:23:15,380 --> 00:23:18,120 een koord, dat slechts een set van personages, 527 00:23:18,120 --> 00:23:19,810 dus als een straf of als een naam. 528 00:23:19,810 --> 00:23:25,470 >> Dus in dit geval, zouden we twee hebben placeholders% s voor strijkkwartet en% i 529 00:23:25,470 --> 00:23:26,750 integer. 530 00:23:26,750 --> 00:23:29,190 En we gaan volgen dat de twee variabelen 531 00:23:29,190 --> 00:23:32,670 We willen opgenomen, in de volgorde dat ze in de zin. 532 00:23:32,670 --> 00:23:35,471 Dus bijvoorbeeld, mijn naam is leeg, ik wil een naam daar, 533 00:23:35,471 --> 00:23:36,970 dus ik ga eerst de naam te hebben. 534 00:23:36,970 --> 00:23:39,637 En dan daarna, ik wil leeftijd, willen leeftijd tweede hebben. 535 00:23:39,637 --> 00:23:42,720 En dus als ik wilde invoeren, Hello, mijn naam is Andi en ik ben 20 jaar oud. 536 00:23:42,720 --> 00:23:46,370 Als ik ingevoerde Andi en 20, de precies hetzelfde zou afdrukken; 537 00:23:46,370 --> 00:23:51,134 Maar nu hebben we twee opgeslagen variabelen naam en int. 538 00:23:51,134 --> 00:23:51,634 Ja. 539 00:23:51,634 --> 00:23:54,124 >> SPEAKER 8: Zou het kunnen draaien als je overgeschakeld 540 00:23:54,124 --> 00:23:55,620 naam en leeftijd op het einde van die? 541 00:23:55,620 --> 00:23:55,840 >> ANDI PENG: Ja. 542 00:23:55,840 --> 00:23:57,006 Dat is echt een goede vraag. 543 00:23:57,006 --> 00:23:59,520 Zo lang verhaal kort te maken, nee. 544 00:23:59,520 --> 00:24:03,070 Omdat de naam en age-- wat type variabele is de naam? 545 00:24:03,070 --> 00:24:03,950 >> SPEAKER 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI PENG: En wat type variabele is leeftijd? 547 00:24:05,440 --> 00:24:06,231 >> SPEAKER 8: Integer. 548 00:24:06,231 --> 00:24:10,290 ANDI Peng: Dus hier hebben we een placeholder voor strijkkwartet en integer, toch? 549 00:24:10,290 --> 00:24:13,350 Dus als je om deze te schakelen, de computer is niet van plan om te weten. 550 00:24:13,350 --> 00:24:16,250 Het gaat om te controleren of een string, en als je probeert te geven een int, 551 00:24:16,250 --> 00:24:18,083 het zal zijn als wacht ik ben in de war, je 552 00:24:18,083 --> 00:24:21,100 vertelde me dat ik zou moeten zijn toewijzen van geheugen voor een int. 553 00:24:21,100 --> 00:24:23,760 En hier, wanneer verwacht een integer 554 00:24:23,760 --> 00:24:25,640 en je het een naam geven en een string in plaats daarvan, 555 00:24:25,640 --> 00:24:28,931 Het gaat ook erg verwarrend te zijn, zal niet precies uitvoeren van de manier waarop je het nodig hebt. 556 00:24:28,931 --> 00:24:35,280 Dus hier, naamgeving en syntax zeer belangrijk voor het uitvoeren van code. 557 00:24:35,280 --> 00:24:37,991 Iedereen goed? 558 00:24:37,991 --> 00:24:38,490 Ja. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> MADDIE: Hier, ik weet dat we hebben gekeken naar voorbeelden in de klas, waar ze vragen 561 00:24:44,620 --> 00:24:46,950 Wat is uw leeftijd, wat is uw naam. 562 00:24:46,950 --> 00:24:50,250 Hier, zou dat zij het doesn't-- als we deze code uitvoert, 563 00:24:50,250 --> 00:24:51,750 het zou niet vragen dat? 564 00:24:51,750 --> 00:24:54,740 Maar je zou gewoon ingang twee nummers en dan zou het uit te voeren als dat? 565 00:24:54,740 --> 00:24:55,781 >> ANDI Peng: Ja, precies. 566 00:24:55,781 --> 00:24:58,250 Dus als je wilde voor het te vertoning, vul dan uw leeftijd, 567 00:24:58,250 --> 00:25:01,100 je kunt gewoon voeg een printf () functie dat zegt, Vul uw leeftijd, 568 00:25:01,100 --> 00:25:01,600 erboven. 569 00:25:01,600 --> 00:25:02,711 Dat is een goede vraag. 570 00:25:02,711 --> 00:25:03,210 Ja. 571 00:25:03,210 --> 00:25:07,964 >> SPEAKER 9: Dus, zou al opgenomen in getInt () [onverstaanbaar]. 572 00:25:07,964 --> 00:25:09,380 ANDI PENG: Nee, het is eigenlijk niet. 573 00:25:09,380 --> 00:25:11,809 Dus dit alles doet is gewoon vraagt ​​een leeg scherm 574 00:25:11,809 --> 00:25:13,100 aan de gebruiker om invoer iets. 575 00:25:13,100 --> 00:25:17,420 Als je wilt, als je wilt dat het afdrukken iets dat de gebruiker vertelt zoals, 576 00:25:17,420 --> 00:25:21,110 geef me je leeftijd, dan zou moeten printf (), die zelf. 577 00:25:21,110 --> 00:25:23,789 Omdat iedereen gebruikt deze functie voor verschillende dingen, 578 00:25:23,789 --> 00:25:26,080 je zou kunnen worden opslaan van leeftijd, je zou kunnen worden opslaan van het adres, 579 00:25:26,080 --> 00:25:28,060 je zou kunnen worden opslaan van telefoonnummers. 580 00:25:28,060 --> 00:25:31,190 En dus het is echt aan individuele gebruik van uw jongens ' 581 00:25:31,190 --> 00:25:34,390 voor wat je wilt zeggen. 582 00:25:34,390 --> 00:25:34,890 Ja. 583 00:25:34,890 --> 00:25:38,236 >> SPEAKER 10: Dus, gewoon om te verduidelijken, waarbij heb je het invoeren van de naam en de leeftijd 584 00:25:38,236 --> 00:25:43,020 zodat het verschijnt in de plaats van% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI Peng: Zoals in de gebruiker? 586 00:25:44,320 --> 00:25:47,165 >> SPEAKER 10: Ja, zoals hoe doe ik maken het-- waar moet ik Andi, 587 00:25:47,165 --> 00:25:48,350 en waar moet ik 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI PENG: Ja. 589 00:25:48,640 --> 00:25:50,250 Dus als je om eigenlijk deze code uitvoert, 590 00:25:50,250 --> 00:25:52,875 Ik ben niet echt het uitvoeren van de code, dit is gewoon hier nu. 591 00:25:52,875 --> 00:25:56,910 Als ik de code uit te voeren, zou ik compileren van de code, maakt het bestand, 592 00:25:56,910 --> 00:26:00,760 uitvoeren van de code, en dan zou er slechts twee ruimtes voor mij om input het. 593 00:26:00,760 --> 00:26:01,260 Ja. 594 00:26:01,260 --> 00:26:03,843 Jullie zullen zien wanneer je speelt rond met de code zelf. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Oké we gaan verhuizen in het volgende deel van wat 597 00:26:09,645 --> 00:26:11,610 zullen we die vandaag de dag. 598 00:26:11,610 --> 00:26:13,980 We gaan om te gaan over wat voorwaardelijke verklaringen zijn. 599 00:26:13,980 --> 00:26:16,500 Dus als jullie herinneren en herinneren van lezingen, 600 00:26:16,500 --> 00:26:19,210 voorwaardelijke verklaringen, allemaal zijn ze zijn een reeks 601 00:26:19,210 --> 00:26:24,010 instructies voor de computer in dewelke een bepaalde voorwaarde waar is, 602 00:26:24,010 --> 00:26:27,470 u de code uit te voeren de binnenkant van die voorwaarde. 603 00:26:27,470 --> 00:26:30,101 >> Dus in wezen Scratch-- het grote thema van vandaag 604 00:26:30,101 --> 00:26:32,850 is dat jullie al alles gezien de logica achter alles 605 00:26:32,850 --> 00:26:34,020 dat we die. 606 00:26:34,020 --> 00:26:36,190 En alles wat we aan het doen zijn is iets vertalen 607 00:26:36,190 --> 00:26:39,090 dat was zeer intuïtief in Kras, en hard te coderen 608 00:26:39,090 --> 00:26:41,950 in de syntax we zullen gebruiken voor de klasse die C. 609 00:26:41,950 --> 00:26:47,550 Dus logisch, al dit blok was is dat stukje code daar. 610 00:26:47,550 --> 00:26:49,995 Ja. 611 00:26:49,995 --> 00:26:50,900 OK. 612 00:26:50,900 --> 00:26:55,290 >> We hebben ook anders te krijgen in een if ... verklaring die is gewoon een extra laag 613 00:26:55,290 --> 00:26:59,120 complexiteit van de if-statement waar de computer neemt een kijkje op deze 614 00:26:59,120 --> 00:27:04,260 en ziet, als deze voorwaarde waar is, doen wat is binnen deze twee haakjes, 615 00:27:04,260 --> 00:27:08,470 else-- dus net zoiets als de standaard als Het voldoet niet aan de Staat- dit te doen. 616 00:27:08,470 --> 00:27:10,120 Het is als een vork in de weg. 617 00:27:10,120 --> 00:27:14,400 Als het buiten regent, heb ik op een regenjas, anders niets 618 00:27:14,400 --> 00:27:16,330 anders zou ik niet op een regenjas. 619 00:27:16,330 --> 00:27:18,400 >> Betekent dat logica zinvol om iedereen? 620 00:27:18,400 --> 00:27:21,031 Cool. 621 00:27:21,031 --> 00:27:21,530 Prima. 622 00:27:21,530 --> 00:27:24,970 Dus als een harde voorbeeld van dit dat we in C zou zien 623 00:27:24,970 --> 00:27:28,890 is als ik wilde een te creëren variabele genaamd huiswerk uur. 624 00:27:28,890 --> 00:27:32,050 En als huiswerk uur minder dan vijf, ik zeg Het leven is groot. 625 00:27:32,050 --> 00:27:33,070 Het is fantastisch. 626 00:27:33,070 --> 00:27:36,450 Echter, zegt De strijd is real-- dat is wat we allemaal op deze maandag 627 00:27:36,450 --> 00:27:39,337 namiddag up Science Hill zijn waarschijnlijk goed doen now-- 628 00:27:39,337 --> 00:27:40,170 PUBLIEK: [lacht] 629 00:27:40,170 --> 00:27:42,510 ANDI Peng: De manier waarop we zou, dank u voor dat. 630 00:27:42,510 --> 00:27:46,180 De manier waarop we zouden hardcoden dit in C is if-- laten we aannemen 631 00:27:46,180 --> 00:27:49,920 hebben we al een variabele van het type int genoemd huiswerk uur hier. 632 00:27:49,920 --> 00:27:53,870 Als huiswerk uur is minder dan vijf printf (), Het leven is groot. 633 00:27:53,870 --> 00:27:57,330 Vergeet niet te houden / n, omdat U wilt een nieuwe regel na. 634 00:27:57,330 --> 00:27:59,660 Else print, De strijd is echt. 635 00:27:59,660 --> 00:28:03,720 >> Heeft iedereen begrijpen hoe Ik overgestapt van dit blok 636 00:28:03,720 --> 00:28:07,610 in dit blok van de code? 637 00:28:07,610 --> 00:28:08,110 Cool. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 Prima. 640 00:28:11,840 --> 00:28:15,930 >> Dus nu gaan we een kijkje nemen Als meerdere uitspraken helemaal. 641 00:28:15,930 --> 00:28:18,140 Dus laten we aannemen dat de Doel van dit programma 642 00:28:18,140 --> 00:28:20,870 was dat we de gebruiker voor een cijfer vragen. 643 00:28:20,870 --> 00:28:24,450 We heeft aangezet met getint () voor een rang, en zij-ingang een waarde, 644 00:28:24,450 --> 00:28:27,700 en u wilt weergeven wat voor soort leerjaar kregen ze. 645 00:28:27,700 --> 00:28:30,730 >> Dus als ik een programma te ontwerpen, I betekent doorgaans in al onze ogen, 646 00:28:30,730 --> 00:28:35,490 90-100 is een A, 80-90 is een B, enzovoort, enzovoort. 647 00:28:35,490 --> 00:28:39,040 Wat is er mis met deze stukje code dat het niet 648 00:28:39,040 --> 00:28:41,393 doen wat ik wil doen. 649 00:28:41,393 --> 00:28:41,892 Ja. 650 00:28:41,892 --> 00:28:45,100 >> SPEAKER 11: Ze hebben een lagere limieten, maar ze hebben niet bovengrenzen. 651 00:28:45,100 --> 00:28:46,280 >> ANDI PENG: Precies. 652 00:28:46,280 --> 00:28:47,950 Heeft iedereen horen wat ze zei? 653 00:28:47,950 --> 00:28:50,200 Er gaat bovenste worden grenzen, maar geen lagere limieten. 654 00:28:50,200 --> 00:28:52,540 Sorry, andersom, ondergrenzen, zonder bovengrenzen. 655 00:28:52,540 --> 00:28:55,090 Dus wilt u neem een ​​steek op te zeggen 656 00:28:55,090 --> 00:28:58,945 Wat op dit zou worden afgedrukt scherm als ik deze code uitvoert. 657 00:28:58,945 --> 00:28:59,820 SPEAKER 11: Er is een fout? 658 00:28:59,820 --> 00:29:01,140 ANDI Peng: Er is een fout? 659 00:29:01,140 --> 00:29:02,740 Grote gok, niet helemaal goed. 660 00:29:02,740 --> 00:29:05,465 Heeft iemand nog een steek? 661 00:29:05,465 --> 00:29:06,640 Ja, Aaron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Als je in iets groter dan 90, 663 00:29:10,099 --> 00:29:11,640 het zou alle kwaliteiten je hebt laten zien. 664 00:29:11,640 --> 00:29:13,640 Het zou laten zien heb je een A, je hebt een B, heb je een C. 665 00:29:13,640 --> 00:29:13,870 >> ANDI PENG: Ja. 666 00:29:13,870 --> 00:29:14,840 Zo is het precies. 667 00:29:14,840 --> 00:29:17,820 Dus, zou dat geweldig zijn. 668 00:29:17,820 --> 00:29:21,781 Ze zijn echter onderling exclusieve, denk ik. 669 00:29:21,781 --> 00:29:23,280 Als ik dit stukje code uit te voeren. 670 00:29:23,280 --> 00:29:26,200 En dan laten we maar zeggen, ik ingevoerde het cijfer van 95. 671 00:29:26,200 --> 00:29:30,360 Dus 95 is nu opgeslagen in de int genoemd leerjaar. 672 00:29:30,360 --> 00:29:33,610 >> Zo C is een taal dat loopt van boven naar beneden, 673 00:29:33,610 --> 00:29:36,000 dus het gaat om altijd aanloop naar beneden. 674 00:29:36,000 --> 00:29:39,420 Dus het gaat om hier te komen, lezen als graad groter dan of gelijk aan 90, 675 00:29:39,420 --> 00:29:42,850 printf () heb je een A. Groot, I een 95, die groter is dan 90. 676 00:29:42,850 --> 00:29:44,866 Het gaat om af te drukken, Ik kreeg een A. Het gaat 677 00:29:44,866 --> 00:29:48,850 om een ​​kijkje te nemen als dit, het gaat zeggen, nou 95 is ook meer dan 80, 678 00:29:48,850 --> 00:29:52,970 het gaat om af te drukken heb je ook een Got een B uitroepteken, en zo voort en zo 679 00:29:52,970 --> 00:29:53,690 voort. 680 00:29:53,690 --> 00:29:55,890 >> Zodat we allemaal kunnen zien, Dit is een veel voorkomende fout 681 00:29:55,890 --> 00:30:00,760 die kunnen optreden als we code te schrijven om uit te kijken. 682 00:30:00,760 --> 00:30:05,430 Iedereen, vragen over waarom dat gebeurde? 683 00:30:05,430 --> 00:30:05,930 Grote. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 OK. 686 00:30:09,440 --> 00:30:12,110 >> Dus hoe kunnen we dit op te lossen, is uiteraard de logische volgende vraag. 687 00:30:12,110 --> 00:30:16,290 Nou, we hebben deze prachtige dingen genoemd als anders als anders 688 00:30:16,290 --> 00:30:18,010 indien anders statements. 689 00:30:18,010 --> 00:30:22,230 Zodat u kunt zien, als je wilde dat probleem veranderen, 690 00:30:22,230 --> 00:30:25,260 gevonden voor elk van de te voorwaarden elkaar uitsluitende, 691 00:30:25,260 --> 00:30:26,860 zou je een anders toevoegen ... als statement. 692 00:30:26,860 --> 00:30:30,068 >> En deze van course-- van hen denken als ladders, of als treden op het ladder-- 693 00:30:30,068 --> 00:30:34,050 je kunt zoveel toevoegen van deze zoals u wil voor zoveel voorwaarden als je wilt. 694 00:30:34,050 --> 00:30:36,790 Dus hier, als ik ingevoerd cijfer te zijn 95. 695 00:30:36,790 --> 00:30:39,479 Als graad groter is dan 95, printf (), kreeg ik een A. Groot. 696 00:30:39,479 --> 00:30:42,020 Het gaat om een ​​anders zien ... als en het gaat om te weten, Oh nee, 697 00:30:42,020 --> 00:30:43,750 Ik reeds uitgevoerde de eerste anders. 698 00:30:43,750 --> 00:30:47,020 Ik weten-- of de eerste if-- ik weet dat Ik hoef niet te kijken naar een van deze 699 00:30:47,020 --> 00:30:48,920 omdat één van hen is al het geval geweest. 700 00:30:48,920 --> 00:30:50,410 Dus het gaat om te draaien van boven naar beneden. 701 00:30:50,410 --> 00:30:53,650 Zodra de eerste waar is, het gaat over te slaan al de rest 702 00:30:53,650 --> 00:30:54,675 van de anders ... ifs. 703 00:30:54,675 --> 00:30:55,550 Slaat dat ergens op? 704 00:30:55,550 --> 00:30:57,841 Dus, op deze manier heb je verschillende niveaus van controle 705 00:30:57,841 --> 00:31:01,090 en zodra een van hen onwaar, de rest ook, zullen ze niet eens controleren. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Cool. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 Prima. 710 00:31:08,180 --> 00:31:11,180 >> Dit is dus een voorbeeld van een andere soort voorwaardelijke statement 711 00:31:11,180 --> 00:31:15,250 zien we minder vaak, maar we zullen ze zien en ze te gebruiken. 712 00:31:15,250 --> 00:31:18,120 En ze zijn vaak meer efficiënt voor bepaalde gevallen. 713 00:31:18,120 --> 00:31:20,020 Dus we hebben wat heet een switch statement. 714 00:31:20,020 --> 00:31:25,140 Dus voordat we bedekt wat een anders statement, een if ... else. 715 00:31:25,140 --> 00:31:27,790 Hier hebben we wat zijn riep switch statements. 716 00:31:27,790 --> 00:31:31,100 >> Dus toen wij gebruiken schakelaar verklaringen is de sleutel? 717 00:31:31,100 --> 00:31:34,090 Dus in een switch statement, je Meestal normaalgesproken je eigenlijk 718 00:31:34,090 --> 00:31:38,010 kan alleen gehele getallen invoeren voor uw variabele die u controleren bent. 719 00:31:38,010 --> 00:31:42,390 Dus als ik wilde controleren om te zien als een bepaalde number-- bijvoorbeeld 720 00:31:42,390 --> 00:31:43,720 een cijfer, als ik een 90. 721 00:31:43,720 --> 00:31:48,190 Ik wil om te zien of dat is een A, B of C. kon ik een zaak hier. 722 00:31:48,190 --> 00:31:50,840 De behuizing heeft een ander constant. 723 00:31:50,840 --> 00:31:53,170 >> Dus in die zin is de switch kan alleen 724 00:31:53,170 --> 00:31:55,290 controleren op gelijkheid van de twee getallen. 725 00:31:55,290 --> 00:31:57,242 Het controleert niet voor iets anders. 726 00:31:57,242 --> 00:31:59,950 Dus dat is iets om heel te zijn Pas op als je met behulp van deze. 727 00:31:59,950 --> 00:32:04,810 Dus hier, als ik wilde controleren om te zien als mijn graad van 90 is gelijk aan 90 of 80 728 00:32:04,810 --> 00:32:08,500 of 70 of 60, en vervolgens afdrukken de overeenkomende soort, 729 00:32:08,500 --> 00:32:11,420 Ik zou kunnen schrijven dat in een switch statement. 730 00:32:11,420 --> 00:32:15,120 >> Dus het gaat om hier te komen, controle is Dit geheel getal gelijk aan deze constante? 731 00:32:15,120 --> 00:32:17,030 Zo niet, dan gaat het over te slaan. 732 00:32:17,030 --> 00:32:19,880 Is gelijk aan constant twee, enzovoort, enzovoort, 733 00:32:19,880 --> 00:32:22,390 totdat je de standaard geraakt, Als geen van hen zijn gelijk. 734 00:32:22,390 --> 00:32:24,590 Zodra een van hen wordt ingesteld gelijk te zijn, 735 00:32:24,590 --> 00:32:27,040 het gaat om dit te doen regel code en pauze. 736 00:32:27,040 --> 00:32:30,990 Wat betekent dat het gaat om raken dat lopen, te breken, en gewoon helemaal overslaan 737 00:32:30,990 --> 00:32:32,240 aan de onderkant van de code. 738 00:32:32,240 --> 00:32:37,550 Dus in die zin de aard van de functies als een of anders als anders als statement. 739 00:32:37,550 --> 00:32:40,830 >> Dus hier is een betonnen Bijvoorbeeld voor jullie. 740 00:32:40,830 --> 00:32:46,140 Dus laten we aannemen dat ik wilde het creëren van een variabele genaamd jaar opgericht. 741 00:32:46,140 --> 00:32:50,230 En ik wil de gebruiker om input gevraagd het jaar dat hun school werd opgericht. 742 00:32:50,230 --> 00:32:53,300 Dus ik kan een switch statement te maken. 743 00:32:53,300 --> 00:32:56,650 En laten we maar zeggen, ik ingang 1636. 744 00:32:56,650 --> 00:33:01,120 >> Deze code hier gaat switch zien jaar opgericht, die gelijk is aan 1636. 745 00:33:01,120 --> 00:33:03,940 Het gaat om het geval te zien 1636, oh die gelijk zijn, 746 00:33:03,940 --> 00:33:06,230 printf () Moet jij niet op die school in het noorden? 747 00:33:06,230 --> 00:33:08,770 Omdat we aannemen dat ze niet gaan hier als ze naar Harvard, 748 00:33:08,770 --> 00:33:10,380 te breken en naar het einde. 749 00:33:10,380 --> 00:33:14,090 >> Als ik om input 1701, die Ik neem aan dat ieder van ons zou invoer, 750 00:33:14,090 --> 00:33:17,500 zou dit geval overslaan, komen omlaag tot geval twee, die is 1701, 751 00:33:17,500 --> 00:33:19,660 en afdrukken Welkom bij Yale! 752 00:33:19,660 --> 00:33:21,360 Breken, naar het einde. 753 00:33:21,360 --> 00:33:25,130 Else u waarschijnlijk deze cursus nemen online waarin case-- geweldig welkom 754 00:33:25,130 --> 00:33:29,020 om Yale-- het gaat om naar de standaard print, Hallo Internet! 755 00:33:29,020 --> 00:33:29,870 En breken. 756 00:33:29,870 --> 00:33:30,466 Ja. 757 00:33:30,466 --> 00:33:32,090 >> SPEAKER 12: Kan je anders te gebruiken in plaats van de standaard zijn er? 758 00:33:32,090 --> 00:33:34,550 >> ANDI Peng: Nee, want de manier waarop deze hele functie 759 00:33:34,550 --> 00:33:39,170 schakelaar is gebouwd, de syntaxis u moet gebruiken is het geval bij standaard. 760 00:33:39,170 --> 00:33:42,400 Het is net als de als anders als deze één is het geval bij standaard. Ja. 761 00:33:42,400 --> 00:33:45,650 LUIDSPREKER 13: U misschien al dit gezegd, maar kunt u meer dan twee gevallen? 762 00:33:45,650 --> 00:33:48,066 ANDI Peng: Ja, je kon hebben zo vaak als je wilt. 763 00:33:48,066 --> 00:33:50,050 Zie het als net als oneindig toevoeging aan. 764 00:33:50,050 --> 00:33:52,396 >> SPEAKER 14: Als u geschakeld 1701 met 1636, 765 00:33:52,396 --> 00:33:54,187 het niet echt te maken een verschil toch? 766 00:33:54,187 --> 00:33:55,770 Het is gewoon te controleren voor. 767 00:33:55,770 --> 00:33:56,900 >> ANDI PENG: Dat is een echt goede vraag. 768 00:33:56,900 --> 00:33:58,880 En we zullen aanstippen later, maar gewoon 769 00:33:58,880 --> 00:34:01,160 weet dat de schakelaar statement wordt infinitely-- het is 770 00:34:01,160 --> 00:34:03,536 efficiënter dan en als anders als want het werkt 771 00:34:03,536 --> 00:34:06,660 een ander type van functie kunt u, in wezen, om gewoon 772 00:34:06,660 --> 00:34:08,790 springen direct naar de Indien u nodig om te zijn. 773 00:34:08,790 --> 00:34:10,547 Ja. 774 00:34:10,547 --> 00:34:11,255 SPEAKER 14: Cool. 775 00:34:11,255 --> 00:34:11,754 Met dank. 776 00:34:11,754 --> 00:34:12,526 ANDI PENG: Ja 777 00:34:12,526 --> 00:34:16,687 >> SPEAKER 14: en je kon niet doe gevallen zoals en groter dan. 778 00:34:16,687 --> 00:34:17,270 ANDI PENG: No. 779 00:34:17,270 --> 00:34:19,860 Dus, dat is wat de beperking van de switch statement is dat u 780 00:34:19,860 --> 00:34:21,564 constanten hebben slechts, alleen getallen. 781 00:34:21,564 --> 00:34:22,064 Ja. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 OK. 784 00:34:25,820 --> 00:34:28,659 >> Dus dit is iets dat je jongens zullen minder vaak tegenkomen van, 785 00:34:28,659 --> 00:34:32,280 maar ik wilde gewoon introduceren voor het geval. 786 00:34:32,280 --> 00:34:36,210 We hebben hier wat genoemd ternaire operator. 787 00:34:36,210 --> 00:34:39,370 Waar wezen, het is net als een if gecompileerd in één lijn. 788 00:34:39,370 --> 00:34:42,630 Hier, ik ga naar de volgende regel, de volgende pagina, omdat het gemakkelijker is om te zien. 789 00:34:42,630 --> 00:34:44,860 >> Dus we hebben allemaal dit recht gezien? 790 00:34:44,860 --> 00:34:46,110 Dit is vrij gemakkelijk te volgen. 791 00:34:46,110 --> 00:34:51,290 Als ik wilde een variabele genaamd maken koord genaamd s, indien een aantal 792 00:34:51,290 --> 00:34:54,770 Ik geef het op minder dan 100, I restaurant wil toewijzen aan de string, 793 00:34:54,770 --> 00:34:57,240 anders wil ik wijzen hoog. 794 00:34:57,240 --> 00:35:01,370 >> Dit hier doet precies hetzelfde die acht regels code aan het doen zijn. 795 00:35:01,370 --> 00:35:03,600 Dus hier wil ik maken een variabele string. 796 00:35:03,600 --> 00:35:08,520 En dit is de voorwaarde ik ben controleren, indien een aantal minder dan 100, 797 00:35:08,520 --> 00:35:12,750 dan heb je de waarde van de lage toe te wijzen, anders wordt de waarde van hoge toewijzen. 798 00:35:12,750 --> 00:35:15,802 >> Deze dia's zullen online zijn, geen zorgen als jullie dit niet naar beneden. 799 00:35:15,802 --> 00:35:18,510 Dit is slechts een eenvoudigere manier, een meer efficiënte manier van het schrijven van code. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 OK. 802 00:35:21,810 --> 00:35:25,190 >> Dus nu gaan we voeren wat, voor de meeste mensen 803 00:35:25,190 --> 00:35:28,660 zijn als een zeer, zeer verwarrend ding om na te denken over het eerste. 804 00:35:28,660 --> 00:35:30,226 Het gedeelte lus. 805 00:35:30,226 --> 00:35:32,600 Dus vandaag, we gaan praten drie soorten lussen. 806 00:35:32,600 --> 00:35:34,890 We gaan beginnen met een poosje lus, dan praten over een do while lus, 807 00:35:34,890 --> 00:35:36,740 en dan praten over voor lussen. 808 00:35:36,740 --> 00:35:40,010 >> Dus in wezen voor de meer visuele leerlingen die er zijn, 809 00:35:40,010 --> 00:35:44,410 hebben we in wezen een grafische afbeelding van wat een tijdje lus doet. 810 00:35:44,410 --> 00:35:48,290 Dus in een programmeertaal, zou je begint en voert de lus op een bepaald punt. 811 00:35:48,290 --> 00:35:49,470 U controleert een voorwaarde. 812 00:35:49,470 --> 00:35:52,165 En als de voorwaarde waar is, u de code in te voeren. 813 00:35:52,165 --> 00:35:53,790 En u terug rond te komen en je te controleren. 814 00:35:53,790 --> 00:35:57,190 Als het nog steeds waar je blijven draaien Deze code rond en rond in een lus. 815 00:35:57,190 --> 00:36:00,970 >> Echter, de tweede het de voorwaarde onwaar, 816 00:36:00,970 --> 00:36:02,739 je gaat te breken en het einde van de lus. 817 00:36:02,739 --> 00:36:05,030 Dit is hoofdzakelijk het syntax je gaat gebruiken. 818 00:36:05,030 --> 00:36:08,250 Terwijl een bepaalde voorwaarde is waar dit doen, als het niet waar is, 819 00:36:08,250 --> 00:36:12,920 je gaat naar het einde en verder te gaan met uw programma. 820 00:36:12,920 --> 00:36:13,690 OK. 821 00:36:13,690 --> 00:36:17,250 >> Heeft iemand een voorbeeld wat kan mogelijk gebeuren 822 00:36:17,250 --> 00:36:19,160 als ik probeer om dit stukje code uit te voeren? 823 00:36:19,160 --> 00:36:22,470 By the way, SAJ-- dat is Scaz, Andi, Jason-- we tekenen van onze e-mails, 824 00:36:22,470 --> 00:36:24,830 Liefde, SAJ. 825 00:36:24,830 --> 00:36:25,573 Dat zijn wij. 826 00:36:25,573 --> 00:36:26,500 OK. 827 00:36:26,500 --> 00:36:29,829 >> Iedereen heeft een voorbeeld, of een idee over wat dit zou afdrukken? 828 00:36:29,829 --> 00:36:30,870 Soort van een strikvraag. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Dus hier, denk aan de voorwaarde we controleren op is, terwijl waar. 831 00:36:39,380 --> 00:36:42,840 Dus terwijl dit waar is, het is ter perse gaan, ik hou van SAJ! 832 00:36:42,840 --> 00:36:48,460 Is er een punt waarop we zouden dit veranderen om iets anders? 833 00:36:48,460 --> 00:36:49,050 Geen recht? 834 00:36:49,050 --> 00:36:51,470 >> Dus hier hebben we ondervonden wat is waarschijnlijk 835 00:36:51,470 --> 00:36:54,310 zal worden afluisteren veel uw programma's, de oneindige lus. 836 00:36:54,310 --> 00:36:56,268 Je zult zien dat als je runnen dit stukje code, 837 00:36:56,268 --> 00:36:58,160 het is gewoon te houden printen, ik hou van SAJ! 838 00:36:58,160 --> 00:37:00,701 Terwijl we waarderen de steun, we niet wilt dat uw computers 839 00:37:00,701 --> 00:37:02,910 te crashen omdat je blijven drukken Ik hou SAJ! 840 00:37:02,910 --> 00:37:05,320 >> Dus alsjeblieft, alsjeblieft, voorkomen dat de oneindige lus 841 00:37:05,320 --> 00:37:07,320 omdat het nooit te evalueren om vals 842 00:37:07,320 --> 00:37:08,780 en je bent nooit om de lus te verlaten. 843 00:37:08,780 --> 00:37:10,530 En je gaat worden meegezogen in eeuwigheid. 844 00:37:10,530 --> 00:37:13,000 Cool. 845 00:37:13,000 --> 00:37:13,694 OK. 846 00:37:13,694 --> 00:37:15,610 Het tweede type lus we praten over vandaag 847 00:37:15,610 --> 00:37:17,580 is de do while lus, doen terwijl lus. 848 00:37:17,580 --> 00:37:20,580 En het heet een do while lus want je hebt een doe en een tijdje. 849 00:37:20,580 --> 00:37:24,390 Dus dit is redelijk vergelijkbaar met een poosje lus, maar een beetje anders. 850 00:37:24,390 --> 00:37:27,620 Hier, je gaat doen wat de binnenkant van deze 851 00:37:27,620 --> 00:37:29,747 terwijl een bepaalde voorwaarde waar is. 852 00:37:29,747 --> 00:37:32,580 Dus als ik C en de computer ik ben loopt langs dit stuk van de code, 853 00:37:32,580 --> 00:37:33,880 Ik neem een ​​kijkje op de top. 854 00:37:33,880 --> 00:37:36,890 Ik ga naar C, ik zeg dit ding. 855 00:37:36,890 --> 00:37:40,550 En controleer dan ik, terwijl dit is waar, ik heb om het te herhalen. 856 00:37:40,550 --> 00:37:42,750 Maar terwijl dit vals is, dan heb ik vooruit 857 00:37:42,750 --> 00:37:44,700 en ik heb nooit terug naar die lus weer te gaan. 858 00:37:44,700 --> 00:37:48,360 >> Kan iemand neem een ​​steek wat het verschil 859 00:37:48,360 --> 00:37:52,130 tussen deze lus en degene die we keek was praktisch. 860 00:37:52,130 --> 00:37:52,717 Ja. 861 00:37:52,717 --> 00:37:55,050 SPEAKER 15: De toestand komt na in plaats van vóór? 862 00:37:55,050 --> 00:37:55,841 ANDI PENG: Precies. 863 00:37:55,841 --> 00:37:57,984 Dus ze zei dat de toestand komt na, niet eerder. 864 00:37:57,984 --> 00:38:00,400 Uiteindelijk is het verschil tussen deze en de while-lus 865 00:38:00,400 --> 00:38:03,597 is dat je gewoon gaat doen wat is binnen dit ongeacht 866 00:38:03,597 --> 00:38:06,430 of uw conditie is waar is, en controleer dan de conditie. 867 00:38:06,430 --> 00:38:08,304 Dus in dit geval, je bent always-- op deze wijze 868 00:38:08,304 --> 00:38:11,240 je bent altijd ervoor te zorgen wat er in zit loopt ten minste 869 00:38:11,240 --> 00:38:14,230 eens voor het controleren om te zien Als je wilt dat het opnieuw uit te voeren. 870 00:38:14,230 --> 00:38:18,040 >> En hier is een voorbeeld wanneer we zouden gebruiken. 871 00:38:18,040 --> 00:38:22,570 Dus bijvoorbeeld, als ik wilde hebben een variabele van het type int genaamd leeftijd, 872 00:38:22,570 --> 00:38:25,640 en ik wil vragen de gebruiker voor hun leeftijd, 873 00:38:25,640 --> 00:38:27,910 Ik ga doen printf () Wat is je leeftijd? 874 00:38:27,910 --> 00:38:30,330 leeftijd = getint (), die wordt gevraagd de gebruiker. 875 00:38:30,330 --> 00:38:32,140 >> En sommige mensen zullen echt vervelend. 876 00:38:32,140 --> 00:38:34,931 En u niet wilt dat bugs in uw programma van iemand invoeren, zoals, 877 00:38:34,931 --> 00:38:36,680 oh ik ben negatief 4 jaar of wat dan ook. 878 00:38:36,680 --> 00:38:39,900 Waarbij indien zij dat doen, dit evalueert 879 00:38:39,900 --> 00:38:43,150 om waar, wat betekent dat ik ga moet blijven om terug te gaan en dit te doen. 880 00:38:43,150 --> 00:38:45,310 Dus dit gaat houden re-vragen aan de gebruiker 881 00:38:45,310 --> 00:38:47,960 om u als een echte leeftijdsaantal en het 882 00:38:47,960 --> 00:38:51,930 zal terug gaan houden en overdoen totdat ze geven je een echte leeftijd 883 00:38:51,930 --> 00:38:56,900 groter dan één, of niet nul. 884 00:38:56,900 --> 00:38:58,020 >> Dus hint, hint. 885 00:38:58,020 --> 00:39:02,263 Dit zal zeer, zeer nuttig zijn voor een van uw Pset problemen. 886 00:39:02,263 --> 00:39:04,155 Ja. 887 00:39:04,155 --> 00:39:05,580 >> SPEAKER 16: Oeps, sorry. 888 00:39:05,580 --> 00:39:06,288 >> ANDI Peng: Yep. 889 00:39:06,288 --> 00:39:09,424 >> SPEAKER 16: Zijn er niet een lul te zijn, maar-- 890 00:39:09,424 --> 00:39:10,340 ANDI Peng: Geen zorgen. 891 00:39:10,340 --> 00:39:11,990 SPEAKER 16: --are er verschillende regels hier, 892 00:39:11,990 --> 00:39:13,810 of heb je gewoon vergeten om de offerte te zetten? 893 00:39:13,810 --> 00:39:14,250 >> ANDI Peng: Oh Yeah. 894 00:39:14,250 --> 00:39:15,530 Sorry, dat is helemaal mijn fout. 895 00:39:15,530 --> 00:39:17,100 Dat was zeker verondersteld om een ​​offerte te zijn. 896 00:39:17,100 --> 00:39:17,690 Goed gevangen. 897 00:39:17,690 --> 00:39:18,800 Dat zou niet lopen. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 OK. 900 00:39:22,830 --> 00:39:26,160 >> Dus de laatste soort lus zullen we praten over en, uiteindelijk, een soort van de meest 901 00:39:26,160 --> 00:39:28,854 complex is de lus. 902 00:39:28,854 --> 00:39:30,770 Maak je geen zorgen als je niet weet wat dat betekent. 903 00:39:30,770 --> 00:39:32,061 Het is vrij verwarrend op het eerste. 904 00:39:32,061 --> 00:39:33,640 We gaan meer dan een voorbeeld. 905 00:39:33,640 --> 00:39:37,040 >> Alles wat er gebeurt in een lus is dat je drie verklaringen 906 00:39:37,040 --> 00:39:38,380 dat je gaat nemen. 907 00:39:38,380 --> 00:39:42,130 Dus voor een bepaald ding, je bent naar een variabele initialiseren. 908 00:39:42,130 --> 00:39:45,280 Je gaat aan de voorwaarde toe te voegen aan die deze lus zal blijven draaien. 909 00:39:45,280 --> 00:39:47,790 En vervolgens, aan het einde van de lus, je gaat te werken. 910 00:39:47,790 --> 00:39:50,248 U kunt het variabele bijwerken die u wilt bijhouden. 911 00:39:50,248 --> 00:39:52,530 Dus we doorgaans gebruiken voor lussen voor als we 912 00:39:52,530 --> 00:39:55,390 willen een lus voor een run bepaald aantal keren 913 00:39:55,390 --> 00:39:58,900 en we al weten, Oh ik wil deze lus uit te voeren, zoals 10 keer, 914 00:39:58,900 --> 00:40:03,060 dan doen-- je zal ik gaan over een voorbeeld op de volgende pagina. 915 00:40:03,060 --> 00:40:07,830 >> Dus hier bijvoorbeeld in Scratch, als je wilde iets tot 10 keer te herhalen, 916 00:40:07,830 --> 00:40:10,790 alles wat je te zeggen had was, herhaal 10 keer ik hou SAJ! 917 00:40:10,790 --> 00:40:15,260 die een acceptabeler show van steun voor ons 918 00:40:15,260 --> 00:40:17,120 in plaats van de oneindige lus. 919 00:40:17,120 --> 00:40:19,920 Hier, hoe je zou overgang naar C en schrijven 920 00:40:19,920 --> 00:40:26,040 dat is voor int-- ik ga maken of verklaren een variabele van het type int i genoemd. 921 00:40:26,040 --> 00:40:30,089 Ik ga initialiseren op 0, dus i = 0; 922 00:40:30,089 --> 00:40:31,630 en dit gaat mijn conditie zijn. 923 00:40:31,630 --> 00:40:33,860 Dus ik minder dan 10. 924 00:40:33,860 --> 00:40:36,096 En dan aan het end-- de laatste verklaring die u bent 925 00:40:36,096 --> 00:40:38,710 gaat te hebben is de update van wat er met de variabele i 926 00:40:38,710 --> 00:40:40,206 aan het einde van de lus. 927 00:40:40,206 --> 00:40:42,830 Dus het is een beetje verwarrend, omdat verschillende delen van deze lijn 928 00:40:42,830 --> 00:40:44,871 Er gebeuren op verschillende vormen van de lus. 929 00:40:44,871 --> 00:40:46,746 Maar ik ga over een pseudocode voorbeeld van 930 00:40:46,746 --> 00:40:50,360 en dit misschien uitleggen gewoon een beetje beter. 931 00:40:50,360 --> 00:40:51,500 >> Dus hier. 932 00:40:51,500 --> 00:40:52,929 Dat is de lijn die we net zagen. 933 00:40:52,929 --> 00:40:55,470 Hoofdzakelijk in pseudocode, wat gebeurt in dit programma, 934 00:40:55,470 --> 00:40:57,940 is de eerste ik ben het creëren van i, initialiseren op 0. 935 00:40:57,940 --> 00:41:00,440 Ik controleren om te zien of ik is minder dan 10, waarbij 936 00:41:00,440 --> 00:41:02,840 de eerste keer is omdat 0 kleiner is dan 10. 937 00:41:02,840 --> 00:41:04,727 Dus de lus zal lopen. 938 00:41:04,727 --> 00:41:06,310 En dan ga ik deze lijn af te drukken. 939 00:41:06,310 --> 00:41:11,240 En vervolgens aan het einde van deze lijn, recht hier, ga ik increment i, i ++ te doen, 940 00:41:11,240 --> 00:41:13,370 al die middelen is verhogen door een. 941 00:41:13,370 --> 00:41:15,460 >> Dus ik nu 1. 942 00:41:15,460 --> 00:41:17,960 Want het was ooit 0, als ik verhogen het is, het is nu 1. 943 00:41:17,960 --> 00:41:19,610 En dan ga ik om terug te gaan aan het begin van de lus 944 00:41:19,610 --> 00:41:20,730 en ik controleer de conditie. 945 00:41:20,730 --> 00:41:22,080 Is de toestand nog steeds zo? 946 00:41:22,080 --> 00:41:24,030 Ja, 1 nog steeds minder dan 10. 947 00:41:24,030 --> 00:41:27,370 Dus het gaat om deze opnieuw af te drukken, gaan en vervolgens verhogen i en controleer 948 00:41:27,370 --> 00:41:29,180 de conditie continu continu, 949 00:41:29,180 --> 00:41:33,290 totdat je uiteindelijk tot het punt waarbij i 10. 950 00:41:33,290 --> 00:41:36,300 >> Je gaat dit 10 keer te printen en dan wordt ik zal gelijk zijn aan 10. 951 00:41:36,300 --> 00:41:37,800 Je gaat naar de toestand te controleren. 952 00:41:37,800 --> 00:41:38,760 Is 10 kleiner dan 10? 953 00:41:38,760 --> 00:41:40,370 Nee, dat is vals. 954 00:41:40,370 --> 00:41:43,020 Zo wordt deze lus niet gaan te lopen, gaat het te breken, 955 00:41:43,020 --> 00:41:45,040 en je gaat verder met uw code. 956 00:41:45,040 --> 00:41:47,550 >> Dus zoals jullie kunnen dit zien is echt een geweldig voorbeeld 957 00:41:47,550 --> 00:41:53,110 van een lus u kunt programmeren in die loopt een bepaalde hoeveelheid tijd. 958 00:41:53,110 --> 00:41:54,457 Een ieder duidelijk? 959 00:41:54,457 --> 00:41:54,956 Ja. 960 00:41:54,956 --> 00:41:59,060 >> SPEAKER 17: Hoe zit increment exponentieel, is het anders codering? 961 00:41:59,060 --> 00:42:02,060 >> ANDI Peng: U can-- we gaan Over deze in de volgende dia. 962 00:42:02,060 --> 00:42:03,350 Goede vraag. 963 00:42:03,350 --> 00:42:05,910 Is anyone-- voordat ik verhuizen on-- iedereen helemaal in de war, 964 00:42:05,910 --> 00:42:07,640 want dit is een heel moeilijk concept. 965 00:42:07,640 --> 00:42:09,510 Geen zorgen, als you're-- OK. 966 00:42:09,510 --> 00:42:10,010 Cool. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> Prima. 969 00:42:13,490 --> 00:42:14,610 Slechts een algemene glijbaan. 970 00:42:14,610 --> 00:42:18,020 Dit terwijl de lus wordt het doen van de precies hetzelfde de lus was. 971 00:42:18,020 --> 00:42:19,631 Het is gewoon anders geschreven. 972 00:42:19,631 --> 00:42:22,130 Jullie kunnen de slides kennisnemen op uw gemak later. 973 00:42:22,130 --> 00:42:24,880 Maar weet dat er meerdere schrijfwijzen hetzelfde 974 00:42:24,880 --> 00:42:28,300 gebeuren met verschillende lussen. 975 00:42:28,300 --> 00:42:28,800 OK. 976 00:42:28,800 --> 00:42:32,380 >> Zo, nu krijgen we in de vraag wat als we een lus binnen een lus. 977 00:42:32,380 --> 00:42:35,810 We krijgen in echte Inception soort dingen hier. 978 00:42:35,810 --> 00:42:40,640 Wanneer je dingen wilt meerdere doen keer binnen andere dingen 979 00:42:40,640 --> 00:42:44,129 dat de dingen te doen meerdere keren, je wil wat heet een geneste lus. 980 00:42:44,129 --> 00:42:47,420 Voor degenen onder u de eerste die dit zien en krijgen zeer verward, zijn alles wat we hier doen 981 00:42:47,420 --> 00:42:50,580 is het hebben van een lus, waar we hebben een variabele rij. 982 00:42:50,580 --> 00:42:54,500 Maar de binnenkant van het, we hebben ook een ander lus van een kolom variabele genoemd. 983 00:42:54,500 --> 00:42:58,560 En ik stel voor dat jullie allemaal die verward om eerst te houden 984 00:42:58,560 --> 00:43:00,310 track-- deze trekken, trekken dit uit. 985 00:43:00,310 --> 00:43:03,000 Probeer niet om goede reden door het, trek het uit. 986 00:43:03,000 --> 00:43:06,630 >> In je hoofd, op dit stuk van papier, of wat dan ook, schrijf rij, 987 00:43:06,630 --> 00:43:08,614 bijhouden welke rij is gelijk aan. 988 00:43:08,614 --> 00:43:10,780 Schrijf kolom, bijhouden wat kolom gelijk. 989 00:43:10,780 --> 00:43:13,490 En bijhouden van wat er afdrukken met elke iteratie. 990 00:43:13,490 --> 00:43:16,320 Elke iteratie van deze lus, elke iteratie van dat grotere lus, 991 00:43:16,320 --> 00:43:17,820 gewoon blijven na de logica. 992 00:43:17,820 --> 00:43:20,190 En ik garandeer je, zult u van wat je ziet, 993 00:43:20,190 --> 00:43:24,307 omdat het ook erg van toepassing voor uw probleem sets. 994 00:43:24,307 --> 00:43:24,806 Cool. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 Prima. 997 00:43:28,000 --> 00:43:30,723 Dus het belangrijkste dat zijn jullie waarschijnlijk allemaal 998 00:43:30,723 --> 00:43:32,400 denken over nu, zijn uw Probleemverzameling 1s, 999 00:43:32,400 --> 00:43:33,650 die te wijten zijn donderdag / vrijdag. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> In uw water.c programma, hint je gaat te hebben 1002 00:43:39,710 --> 00:43:41,590 om de gebruiker voor een input vragen. 1003 00:43:41,590 --> 00:43:43,640 Binnen je mario.c programma je gaat te hebben 1004 00:43:43,640 --> 00:43:46,431 een geneste lus te gebruiken, wat een lus binnen van een lus, 1005 00:43:46,431 --> 00:43:50,247 om een ​​blok van de piramide af te drukken, in wezen zoals wat Mario heeft om door te springen. 1006 00:43:50,247 --> 00:43:53,330 En dan in je greedy-- of misschien De veranderingen, als iemand van jullie 1007 00:43:53,330 --> 00:43:55,740 ooit gehoord van dat-- je gaat te hebben om heel te zijn 1008 00:43:55,740 --> 00:43:58,160 voorzichtig eerste floating point waarden. 1009 00:43:58,160 --> 00:44:01,860 Vergeet niet zwevende decimalen en getallen zijn niet hetzelfde. 1010 00:44:01,860 --> 00:44:03,620 Blijf op de hoogte van welke is welke. 1011 00:44:03,620 --> 00:44:05,953 En je gaat gebruiken voorwaardelijke verklaringen, als goed. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> Oké, laatste ding. 1014 00:44:10,940 --> 00:44:12,770 Ik heb een paar minuten over. 1015 00:44:12,770 --> 00:44:13,460 Stijl. 1016 00:44:13,460 --> 00:44:19,320 Dus dit is iets dat niet doet daadwerkelijk invloed op de efficiency, 1017 00:44:19,320 --> 00:44:21,010 of de feitelijke werking van de code. 1018 00:44:21,010 --> 00:44:24,380 Toch beïnvloedt ons uw graders, als uw lezers. 1019 00:44:24,380 --> 00:44:27,290 Het beïnvloedt je, als je proberen om een ​​probleem te vinden. 1020 00:44:27,290 --> 00:44:30,700 Het beïnvloedt de leesbaarheid van de code. 1021 00:44:30,700 --> 00:44:34,070 >> Dus stijl, net als wanneer je probeert om stijl een opstel voor Engels, als je 1022 00:44:34,070 --> 00:44:36,070 had de punten hebben, je hebt alles wat voor soort 1023 00:44:36,070 --> 00:44:39,190 van door elkaar op één regel, dat maakt het echt moeilijk voor iedereen 1024 00:44:39,190 --> 00:44:42,620 om uw essay te lezen, zelfs als je punten logisch geluid. 1025 00:44:42,620 --> 00:44:44,390 Hetzelfde in de programmering. 1026 00:44:44,390 --> 00:44:47,910 Je kunt verschrikkelijk obscure hebben code die Scaz zal dekken, 1027 00:44:47,910 --> 00:44:49,660 en het kan nog steeds draaien en functie. 1028 00:44:49,660 --> 00:44:53,110 Maar voor ons, als je mooie Tas, wie dan wel te lezen en evalueren van uw PSets, 1029 00:44:53,110 --> 00:44:54,460 Dat is niet erg aardig. 1030 00:44:54,460 --> 00:44:56,859 >> Dus alsjeblieft, omwille van ons en jezelf, 1031 00:44:56,859 --> 00:44:58,900 als je probeert op te lossen een probleem in de code, 1032 00:44:58,900 --> 00:45:00,774 en je probeert te lees uw eigen code, maken 1033 00:45:00,774 --> 00:45:03,910 ervoor dat je wat conventies volgen dat we gaan om te gaan over. 1034 00:45:03,910 --> 00:45:04,510 >> Dus eerst. 1035 00:45:04,510 --> 00:45:07,070 Geef je variabelen betekenisvolle namen. 1036 00:45:07,070 --> 00:45:11,450 Als u een geheel getal op te slaan genaamd leeftijd, dan kunt u noem maar op leeftijd. 1037 00:45:11,450 --> 00:45:12,875 Niet noem maar op de hoogte. 1038 00:45:12,875 --> 00:45:14,750 Wanneer je probeert om slaan een tijdperk in de hoogte, 1039 00:45:14,750 --> 00:45:16,722 het maakt alles erg verwarrend voor ons. 1040 00:45:16,722 --> 00:45:17,930 We willen niet worden verward. 1041 00:45:17,930 --> 00:45:19,180 U houdt niet van te verwarren. 1042 00:45:19,180 --> 00:45:20,350 Niemand vindt het leuk te verwarren. 1043 00:45:20,350 --> 00:45:23,100 Als je gaat om iets te creëren, noem maar iets zinvols. 1044 00:45:23,100 --> 00:45:26,440 >> Echter, in de lus, enkelvoudige karakter variabelen zijn meestal prima. 1045 00:45:26,440 --> 00:45:31,350 En in de lus, als je wilt dat ik, en j, k, voel je vrij om dat te doen. 1046 00:45:31,350 --> 00:45:32,670 >> Consistente initialisatie. 1047 00:45:32,670 --> 00:45:33,770 Dus wat betekent dat? 1048 00:45:33,770 --> 00:45:37,600 Dat betekent technisch theorie u kunt initiëren en creëren 1049 00:45:37,600 --> 00:45:40,140 meerdere variabelen op dezelfde lijn. 1050 00:45:40,140 --> 00:45:42,820 Dus bijvoorbeeld, kan ik maken een integer genaamd scaz_age, 1051 00:45:42,820 --> 00:45:47,110 en integer genoemd andi_age = 20, en een integer genoemd jason_age 1052 00:45:47,110 --> 00:45:48,090 op dezelfde lijn. 1053 00:45:48,090 --> 00:45:52,060 En ik kan ook slechts één van de wijzen hen en niet de andere waarden. 1054 00:45:52,060 --> 00:45:54,142 Wij vragen u dan niet dat te doen. 1055 00:45:54,142 --> 00:45:57,350 Want hier heb je vooral opgericht drie variabelen, maar slechts één van hen 1056 00:45:57,350 --> 00:45:58,295 heeft eigenlijk een waarde. 1057 00:45:58,295 --> 00:46:00,170 En toen we proberen om uw code te lezen, 1058 00:46:00,170 --> 00:46:01,850 of als je probeert op te lossen een probleem in de code, 1059 00:46:01,850 --> 00:46:03,340 het is erg verwarrend te volgen. 1060 00:46:03,340 --> 00:46:09,300 Dus alleen voor uw leesbaarheid, voor onze leesbaarheid, doe dat niet. 1061 00:46:09,300 --> 00:46:10,355 >> Consistente accolades. 1062 00:46:10,355 --> 00:46:12,980 Sommige mensen willen hun zetten accolades op verschillende plaatsen. 1063 00:46:12,980 --> 00:46:14,100 Het maakt eigenlijk niet uit. 1064 00:46:14,100 --> 00:46:17,900 Zorg ervoor dat je consequent bent in uw eigen code van waar je ze zet. 1065 00:46:17,900 --> 00:46:18,950 >> Consistente afstand. 1066 00:46:18,950 --> 00:46:22,040 Als je een spatie na een lus, altijd doen. 1067 00:46:22,040 --> 00:46:24,930 Niet alleen leuk voor soort doen het op sommige plaatsen, doe het dan niet in andere. 1068 00:46:24,930 --> 00:46:26,580 Gewoon consequent zijn. 1069 00:46:26,580 --> 00:46:29,500 >> Ten tweede, als iemand zou willen om kennisnemen van de CS50 Style Guide, 1070 00:46:29,500 --> 00:46:33,230 We hebben officieel een stijlgids die vertelt u alles van deze verdragen, 1071 00:46:33,230 --> 00:46:34,890 plus meer. 1072 00:46:34,890 --> 00:46:35,530 Het is online. 1073 00:46:35,530 --> 00:46:38,670 Het is net als cs50.net/style of zoiets. 1074 00:46:38,670 --> 00:46:40,180 U kunt het google. 1075 00:46:40,180 --> 00:46:41,399 >> Consistentie is de sleutel. 1076 00:46:41,399 --> 00:46:43,190 Dus maak je geen zorgen wat andere mensen doen, 1077 00:46:43,190 --> 00:46:46,180 maar zorg ervoor dat u bent consistente binnen je eigen code. 1078 00:46:46,180 --> 00:46:50,570 Iedereen die vragen heeft over dat? 1079 00:46:50,570 --> 00:46:51,070 Ja. 1080 00:46:51,070 --> 00:46:53,370 >> SPEAKER 18: Dus de juiste ding te maken met de initialisatie is gewoon 1081 00:46:53,370 --> 00:46:56,130 ze allemaal in een afzonderlijke lijn, is dat wat je zegt? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI PENG: Dus ik zelden gebeuren. 1083 00:46:58,850 --> 00:47:02,230 Maar als je wilde, als je wilde te zijn als bespaart ruimte in uw code, 1084 00:47:02,230 --> 00:47:04,000 of wat dan ook, kunt u dit doen. 1085 00:47:04,000 --> 00:47:07,800 Wij vragen dat je gewoon niet initialiseren een ding en niet de anderen. 1086 00:47:07,800 --> 00:47:12,600 Dus als je wilt int scaz_age doen, int andi_age, int jason_age, dat is prima. 1087 00:47:12,600 --> 00:47:15,600 Gewoon niet initialiseren één en de andere niet allemaal. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Vragen? 1090 00:47:19,904 --> 00:47:20,850 Prima. 1091 00:47:20,850 --> 00:47:24,610 Ik ga om te laten doorgaan van de microfoon, en de laser pointer, 1092 00:47:24,610 --> 00:47:28,862 en het stokje door aan Scaz op dit punt. 1093 00:47:28,862 --> 00:47:29,808 Dit is ongemakkelijk. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Hier is het. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN Scassellati: Dank je wel. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Hoe is dat voor geluid? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Geluid is goed? . 1101 00:47:47,900 --> 00:47:49,220 Excellent. 1102 00:47:49,220 --> 00:47:50,350 OK. 1103 00:47:50,350 --> 00:47:52,110 Dus, hi everyone. 1104 00:47:52,110 --> 00:47:56,540 >> Ik ga proberen om door te werken een praktisch voorbeeld met u. 1105 00:47:56,540 --> 00:48:00,850 En we gaan CS50 gebruiken ontwikkelomgeving, wat heet 1106 00:48:00,850 --> 00:48:03,120 de Integrated Development Environment. 1107 00:48:03,120 --> 00:48:05,145 En heb je dit gezien gedemonstreerd in collegezaal. 1108 00:48:05,145 --> 00:48:07,520 En in Probleem Set 1, je bent gaan om een ​​kans te hebben 1109 00:48:07,520 --> 00:48:10,890 om het te gebruiken, en spelen met het, en wennen aan het, 1110 00:48:10,890 --> 00:48:13,640 want we gaan om het te gebruiken door de rest van het semester. 1111 00:48:13,640 --> 00:48:20,350 >> Dus in dit IDE, heb je wat lijkt als een zeer traditionele bestandsbrowser 1112 00:48:20,350 --> 00:48:21,890 dan aan de ene kant. 1113 00:48:21,890 --> 00:48:24,360 Je hebt een deel opstond top waar je naartoe gaat 1114 00:48:24,360 --> 00:48:28,850 om uw broncode te zien, je Cfile, de code die je schrijft. 1115 00:48:28,850 --> 00:48:31,880 En omlaag onderaan, zult u hebben een terminal venster 1116 00:48:31,880 --> 00:48:36,330 die je zult gebruiken om zowel uw programma te compileren 1117 00:48:36,330 --> 00:48:39,090 en uit te voeren of uw programma uit te voeren. 1118 00:48:39,090 --> 00:48:40,100 OK. 1119 00:48:40,100 --> 00:48:46,560 >> Dus alleen maar om ons een beetje stichting, in die terminal venster, 1120 00:48:46,560 --> 00:48:48,930 je gaat worden met behulp van een set van commando's 1121 00:48:48,930 --> 00:48:53,040 die standaard commando's gedurende zijn de meeste van Unix of Linux-systemen. 1122 00:48:53,040 --> 00:48:55,890 En dus als je ooit gebruikt elke vorm van Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 of een van de andere smaken, deze zullen vertrouwd kijken. 1124 00:48:59,140 --> 00:49:00,890 >> Als u nog niet, maak je geen zorgen. 1125 00:49:00,890 --> 00:49:02,830 Er is niets ingewikkeld over hen. 1126 00:49:02,830 --> 00:49:05,330 Ze zijn alleen met behulp van een ander syntaxis, een andere naamgeving 1127 00:49:05,330 --> 00:49:07,630 conventie dan heb je eerder gezien. 1128 00:49:07,630 --> 00:49:12,190 >> Dus om een ​​lijst van de bestanden binnen een bepaalde map, 1129 00:49:12,190 --> 00:49:15,310 ze gaan een gebruiken commando genaamd ls of lijst. 1130 00:49:15,310 --> 00:49:18,010 Als je alles wilt zien met alle details, 1131 00:49:18,010 --> 00:49:21,535 je een commando line argument met ls -l. 1132 00:49:21,535 --> 00:49:23,910 En dat zal je laten zien alles in meer detail, met inbegrip 1133 00:49:23,910 --> 00:49:26,270 de rechten voor een bestand. 1134 00:49:26,270 --> 00:49:31,190 >> Naar directory te veranderen, vindt u de opdracht cd gebruiken. 1135 00:49:31,190 --> 00:49:35,180 En je zult in staat zijn om directory veranderen zowel om naar uw home directory. 1136 00:49:35,180 --> 00:49:38,500 Dat is gewoon cd helemaal zelf, cd met twee 1137 00:49:38,500 --> 00:49:42,930 puntjes gaat u terug op één niveau om uw vorige directory. 1138 00:49:42,930 --> 00:49:46,400 En u kunt ook cd naar een subdirectory door te typen in cd 1139 00:49:46,400 --> 00:49:48,500 en de naam van deze subdirectory. 1140 00:49:48,500 --> 00:49:50,540 >> U kunt ook nieuwe mappen aanmaken. 1141 00:49:50,540 --> 00:49:52,790 En we gaan lopen door dit in slechts een minuut. 1142 00:49:52,790 --> 00:49:54,498 Maar gewoon om te zetten alles op het scherm. 1143 00:49:54,498 --> 00:49:56,310 Zodat u kunt zien. 1144 00:49:56,310 --> 00:50:00,420 >> Je hebt ook de mogelijkheid om bestanden direct te manipuleren 1145 00:50:00,420 --> 00:50:02,100 vanaf de opdrachtregel. 1146 00:50:02,100 --> 00:50:06,059 U zult in staat zijn om ze te kopiëren, te verplaatsen, of om ze te verwijderen, 1147 00:50:06,059 --> 00:50:07,600 dat wil zeggen, effectief, om ze te verwijderen. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> De CS50 IDE geeft u de volledige kracht van de command line argumenten. 1150 00:50:15,350 --> 00:50:20,280 En dat betekent dat u kunt ook doet zeer gevaarlijke dingen. 1151 00:50:20,280 --> 00:50:21,560 OK. 1152 00:50:21,560 --> 00:50:25,010 Bijvoorbeeld, je kunt verwijderen, of dat is verwijderen, 1153 00:50:25,010 --> 00:50:28,750 Een bestand zonder te vragen voor een bevestiging. 1154 00:50:28,750 --> 00:50:31,820 En je kunt zelfs verwijderen recursively-- dat is 1155 00:50:31,820 --> 00:50:38,940 het dashboard r flag-- een hele subdirectory en al haar inhoud. 1156 00:50:38,940 --> 00:50:39,660 OK. 1157 00:50:39,660 --> 00:50:42,940 Ze zijn in het rood vermeld omdat u moeten denken "Danger" elke keer 1158 00:50:42,940 --> 00:50:45,000 zie je die dingen. 1159 00:50:45,000 --> 00:50:45,920 OK. 1160 00:50:45,920 --> 00:50:46,420 Prima. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Nu eindelijk, de dingen die zijn gaat echt waardevol voor u te zijn, 1163 00:50:53,430 --> 00:50:57,270 zijn er een paar goede trucs om te weten als je het navigeren 1164 00:50:57,270 --> 00:50:59,190 via deze terminal venster. 1165 00:50:59,190 --> 00:51:03,590 Ten eerste kunt u het scherm te wissen elk moment door gewoon in te typen duidelijk. 1166 00:51:03,590 --> 00:51:06,310 En je gaat zien me dat te doen heel vaak. 1167 00:51:06,310 --> 00:51:09,990 Je kunt ook gewoon weer de tekst van een bestand 1168 00:51:09,990 --> 00:51:13,992 door te typen en meer dan de naam van het bestand. 1169 00:51:13,992 --> 00:51:17,200 Je zult dan in staat zijn om terug te bladeren en weer met dat alleen met de spatiebalk 1170 00:51:17,200 --> 00:51:19,010 en pijltjestoetsen. 1171 00:51:19,010 --> 00:51:25,450 >> Als je, zoals we vandaag deden in collegezaal, een programma dat continu loopt 1172 00:51:25,450 --> 00:51:29,190 in het oneindige lus, u kan dat programma te stoppen 1173 00:51:29,190 --> 00:51:35,160 uit het uitvoeren door te typen in de controle, dat houdt u Control-C. 1174 00:51:35,160 --> 00:51:38,360 En je kan hebben om te doen Dit meerdere malen. 1175 00:51:38,360 --> 00:51:40,620 De computer krijgt ver voor jou. 1176 00:51:40,620 --> 00:51:43,380 En je soms nodig hebt om geef het een paar pogingen 1177 00:51:43,380 --> 00:51:46,280 voordat het daadwerkelijk zal doorkomen. 1178 00:51:46,280 --> 00:51:48,760 >> U zult ook in staat zijn om sorteren door de commando's 1179 00:51:48,760 --> 00:51:54,230 dat je net hebt getypt met behulp van de sleutel, pijl van het toetsenbord, en vervolgens op de pijl naar beneden te drukken. 1180 00:51:54,230 --> 00:51:57,560 En wat het meest handig is in plaats van het typen van lange bestandsnamen, 1181 00:51:57,560 --> 00:52:02,209 je zult in staat zijn om het gebruik Tab om automatisch aan een paar instructies. 1182 00:52:02,209 --> 00:52:04,750 Nu gaan we aan te tonen al die in slechts een seconde. 1183 00:52:04,750 --> 00:52:06,780 Dus als je niet meer weet hen, maak je geen zorgen. 1184 00:52:06,780 --> 00:52:10,780 Dat zijn dingen die je zult oppakken en gebruiken als we verder gaan. 1185 00:52:10,780 --> 00:52:11,470 OK. 1186 00:52:11,470 --> 00:52:18,830 >> Dus in tegenstelling tot Scratch-- C-- C is een gecompileerde taal. 1187 00:52:18,830 --> 00:52:23,210 Dat betekent dat we gaan om een ​​bron te nemen file-- dat is de tekst die je schrijft, 1188 00:52:23,210 --> 00:52:26,500 de commando's die je schrijft, de printf () statements, de lussen, 1189 00:52:26,500 --> 00:52:32,580 alles else-- en we gaan naar dat bestand te nemen en geef het uit 1190 00:52:32,580 --> 00:52:34,670 een programma genaamd compiler. 1191 00:52:34,670 --> 00:52:39,850 >> De compiler zal dan dat de tekst die u hebt geschreven 1192 00:52:39,850 --> 00:52:43,270 en te vertalen in de binaire instructies 1193 00:52:43,270 --> 00:52:46,010 dat uw computer daadwerkelijk gaat gebruiken. 1194 00:52:46,010 --> 00:52:49,700 Dat is het object met de naam of het uitvoerbare bestand. 1195 00:52:49,700 --> 00:52:55,320 Als je kijkt naar dit bestand, je gaat om de code die je hebt geschreven te zien. 1196 00:52:55,320 --> 00:52:59,480 Als je kijkt naar dit bestand, je gaat om een ​​willekeurige tekenreeks zien 1197 00:52:59,480 --> 00:53:01,680 die geen zin dan ook. 1198 00:53:01,680 --> 00:53:03,250 Dat komt omdat dit de binaire. 1199 00:53:03,250 --> 00:53:05,560 Het is niet bedoeld voor u om te lezen. 1200 00:53:05,560 --> 00:53:08,690 >> Echter, elke keer dat u wilt run iets, wat je gaat 1201 00:53:08,690 --> 00:53:13,670 te draaien is dit object bestand. 1202 00:53:13,670 --> 00:53:19,110 Dus toen we werken met deze bestanden, zullen we een bestand in C te schrijven 1203 00:53:19,110 --> 00:53:23,400 We zullen vervolgens compileren het, met behulp van een commando als make die beroepen 1204 00:53:23,400 --> 00:53:27,070 de compiler clang voor de C taal. 1205 00:53:27,070 --> 00:53:31,530 En dat zal een object te produceren bestand, zoals een uit, of in dit geval, 1206 00:53:31,530 --> 00:53:36,580 de naam, mijn dossier, dat ik in heb gezet. 1207 00:53:36,580 --> 00:53:37,780 Prima. 1208 00:53:37,780 --> 00:53:39,790 >> Dus laten we eigenlijk dit te proberen. 1209 00:53:39,790 --> 00:53:42,850 Dus ik kwam met een voorbeeld van wat ik wilde proberen. 1210 00:53:42,850 --> 00:53:47,380 En een van de dingen die fascineert mij is animatie. 1211 00:53:47,380 --> 00:53:51,010 Dus we gaan proberen te doen een beetje animatie 1212 00:53:51,010 --> 00:53:53,760 met alleen ASCII-tekens. 1213 00:53:53,760 --> 00:53:56,470 Personages kunnen we gemakkelijk nu afgedrukt. 1214 00:53:56,470 --> 00:54:00,890 >> Dus hier is mijn beste poging op het creëren van voor u 1215 00:54:00,890 --> 00:54:07,005 de animatie van een konijntje loopt door het hoge gras. 1216 00:54:07,005 --> 00:54:07,505 Daar is hij. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 OK. 1219 00:54:10,670 --> 00:54:14,050 Dus hij is nog niet actief, maar hij is stond daar in het hoge gras. 1220 00:54:14,050 --> 00:54:17,810 >> Nu als ik een animator, in de oude school 1221 00:54:17,810 --> 00:54:20,860 versie van animatie, wat ik zou doen is dat ik zou produceren 1222 00:54:20,860 --> 00:54:23,640 een beeld van dit konijntje in het gras. 1223 00:54:23,640 --> 00:54:25,390 En dan zou ik te produceren andere picture-- 1224 00:54:25,390 --> 00:54:30,600 een ander wat zij noemden cell-- dat had het konijn slechts licht verplaatst. 1225 00:54:30,600 --> 00:54:34,870 En dan een derde, dat had de konijntje bewoog een beetje verder. 1226 00:54:34,870 --> 00:54:40,610 >> En ik zou een hele produceren sequentie van deze cellen. 1227 00:54:40,610 --> 00:54:44,220 Wat waar het konijn is voorbij op de linkerkant. 1228 00:54:44,220 --> 00:54:47,050 En verplaatst langzaam een één naar het midden. 1229 00:54:47,050 --> 00:54:51,120 En dan van de middelste naar rechts. 1230 00:54:51,120 --> 00:54:55,760 En als ik dan, echt gelukkig, ik kon het samen 1231 00:54:55,760 --> 00:54:57,970 en ik kon ze animeren. 1232 00:54:57,970 --> 00:55:00,370 En daar is mijn konijntje loopt door het gras. 1233 00:55:00,370 --> 00:55:02,310 >> Dat is mijn grote PowerPoint truc voor de dag. 1234 00:55:02,310 --> 00:55:02,809 OK. 1235 00:55:02,809 --> 00:55:04,760 Dus dit is zo goed als het wordt. 1236 00:55:04,760 --> 00:55:05,260 OK. 1237 00:55:05,260 --> 00:55:08,455 Dus, hier nog een keer, hier is onze bunny loopt door het gras. 1238 00:55:08,455 --> 00:55:09,217 >> SPEAKER 19: Again. 1239 00:55:09,217 --> 00:55:11,050 BRIAN Scassellati: One meer tijd, oke. 1240 00:55:11,050 --> 00:55:11,940 Er is uw konijn. 1241 00:55:11,940 --> 00:55:12,940 OK. 1242 00:55:12,940 --> 00:55:15,470 >> Dus vandaag wat we gaan te doen is we gaan 1243 00:55:15,470 --> 00:55:21,110 proberen om het proces te automatiseren produceren deze cellen. 1244 00:55:21,110 --> 00:55:24,135 We zullen niet helemaal op het punt van in staat om ze allemaal samen te stellen. 1245 00:55:24,135 --> 00:55:28,900 Maar, we gaan proberen om het te automatiseren Werkwijze voor het genereren van deze sequentie. 1246 00:55:28,900 --> 00:55:32,900 >> En dit is veel van wat animatie vandaag is als. 1247 00:55:32,900 --> 00:55:36,690 Dat wil zeggen dat je niet per se dingen doen door het tekenen van alles met de hand. 1248 00:55:36,690 --> 00:55:40,610 We maken gebruik van een computer om te automatiseren onderdelen van dat proces. 1249 00:55:40,610 --> 00:55:41,110 OK. 1250 00:55:41,110 --> 00:55:47,720 >> Dus laat me overschakelen nu onze CS50 IDE. 1251 00:55:47,720 --> 00:55:54,260 En ik heb gemaakt voor ons-- en laat me te vergroten hier een weinig bit-- Ik heb 1252 00:55:54,260 --> 00:55:58,420 creëerde voor ons uitgangspunt. 1253 00:55:58,420 --> 00:56:03,830 >> Elke keer dat wij u vragen om op te zitten en schrijf een stukje code, 1254 00:56:03,830 --> 00:56:09,250 wat we je echt vragen om te doen is dat we vragen om een ​​probleem op te lossen. 1255 00:56:09,250 --> 00:56:11,810 En de manier waarop je moet denken over het doen van dat 1256 00:56:11,810 --> 00:56:17,900 is door te beginnen met een aantal eenvoudige deel van deze oplossing. 1257 00:56:17,900 --> 00:56:21,730 En dan bouwen uit dat deel. 1258 00:56:21,730 --> 00:56:23,400 En dat is wat we gaan doen vandaag. 1259 00:56:23,400 --> 00:56:27,570 >> Dus in plaats van te proberen alles in één keer aan schrijf de gehele bos van code die is 1260 00:56:27,570 --> 00:56:30,770 gaat die produceren 10 animatie cellen, 1261 00:56:30,770 --> 00:56:35,506 we gaan in plaats daarvan beginnen met een stuk dat werkt. 1262 00:56:35,506 --> 00:56:37,380 En dan zullen we een te bouwen beetje rond die 1263 00:56:37,380 --> 00:56:39,740 en een beetje meer en een beetje meer. 1264 00:56:39,740 --> 00:56:42,550 >> Nu het goede ding over het oplossen van problemen op deze manier 1265 00:56:42,550 --> 00:56:46,716 is dat het zal toestaan ​​om te beginnen altijd met iets dat je weet 1266 00:56:46,716 --> 00:56:51,130 werken en de invoering van een geleidelijke verandering. 1267 00:56:51,130 --> 00:56:54,090 En dat is een geweldige manier om te leren hoe te coderen, 1268 00:56:54,090 --> 00:56:58,590 omdat elke keer dat je een verandering, zie je welke impact het heeft. 1269 00:56:58,590 --> 00:56:59,540 OK. 1270 00:56:59,540 --> 00:57:01,450 >> Dus hier is ons uitgangspunt. 1271 00:57:01,450 --> 00:57:01,950 OK. 1272 00:57:01,950 --> 00:57:08,030 Dus aan het begin van mijn dossier, Ik heb hash #included stdio.h. 1273 00:57:08,030 --> 00:57:12,560 Dat is zo, dat ik kan krijgen van de printf () functie te laten werken. 1274 00:57:12,560 --> 00:57:15,240 >> Ik heb toen ik mijn belangrijkste functie. 1275 00:57:15,240 --> 00:57:18,760 En dit ziet er nog steeds een beetje geheimzinnige of obscure om een ​​aantal van jullie. 1276 00:57:18,760 --> 00:57:20,010 Dat is goed. 1277 00:57:20,010 --> 00:57:23,190 Alles wat het zegt is dat de belangrijkste functie neemt 1278 00:57:23,190 --> 00:57:27,830 geen arguments-- leegte middelen niets in C. En het 1279 00:57:27,830 --> 00:57:29,940 rendementen volgens afspraak een integer. 1280 00:57:29,940 --> 00:57:33,290 Hoofd geeft altijd een integer, meestal een code zeggen dingen 1281 00:57:33,290 --> 00:57:35,071 ging goed of niet goed gaan. 1282 00:57:35,071 --> 00:57:35,570 OK. 1283 00:57:35,570 --> 00:57:39,110 Maar belangrijkste is om die vormen voor ons op dit moment. 1284 00:57:39,110 --> 00:57:42,080 >> Ik heb vervolgens in drie regels code. 1285 00:57:42,080 --> 00:57:46,760 En samen met elke lijn van code, heb ik een reactie. 1286 00:57:46,760 --> 00:57:51,340 Nu is een van de dingen die wij zullen erop aandringen dat je doet, 1287 00:57:51,340 --> 00:57:55,320 en het is zo'n belangrijk programmering praktijk 1288 00:57:55,320 --> 00:57:57,800 is om altijd uw code commentaar. 1289 00:57:57,800 --> 00:58:02,550 Schrijf altijd vastgelegd in een Engels reactie iets 1290 00:58:02,550 --> 00:58:06,740 dat je denkt dat de code wordt verondersteld te doen. 1291 00:58:06,740 --> 00:58:11,360 Op die manier, later als je terug te komen het, kunt u kijken naar het en je kunt zeggen, 1292 00:58:11,360 --> 00:58:13,800 oh, ik weet wat ik was proberen te doen met dit. 1293 00:58:13,800 --> 00:58:17,590 Of wanneer een TA gaat zitten met u proberen om u te helpen bij de kantooruren, 1294 00:58:17,590 --> 00:58:20,890 ze kunnen kijken naar deze en gaan, ik zien wat je probeert te doen, 1295 00:58:20,890 --> 00:58:25,630 maar dit is wat er werkelijk gebeurt. 1296 00:58:25,630 --> 00:58:26,130 OK. 1297 00:58:26,130 --> 00:58:30,300 >> Dus ik heb drie delen mijn code, Ik ga eerst afdruk 1298 00:58:30,300 --> 00:58:33,110 een aantal punten aan de start. 1299 00:58:33,110 --> 00:58:37,480 Ik zal vervolgens uitprinten mijn zeer mooie konijntje. 1300 00:58:37,480 --> 00:58:40,600 En vervolgens een aantal beetje puntjes aan het eind. 1301 00:58:40,600 --> 00:58:45,220 >> En deze drie afdrukken verklaringen moeten je bekend op dit moment. 1302 00:58:45,220 --> 00:58:47,350 Alles wat ik doe in elk van hen is dat ik ben 1303 00:58:47,350 --> 00:58:49,780 afdrukken van een reeks tekens. 1304 00:58:49,780 --> 00:58:51,370 Er is geen betrokken variabelen. 1305 00:58:51,370 --> 00:58:54,320 Alles is gewoon plat. 1306 00:58:54,320 --> 00:58:55,270 OK. 1307 00:58:55,270 --> 00:59:07,340 >> Dus als ik naar beneden gaan nu naar mijn terminal-- laten we eens kijken of ik dit terug kunnen krijgen out-- 1308 00:59:07,340 --> 00:59:09,370 en ik ga weer typen duidelijk. 1309 00:59:09,370 --> 00:59:12,507 >> SPEAKER 20: Moeten we gebruik maken van de dubbele slash te reageren? 1310 00:59:12,507 --> 00:59:14,340 BRIAN Scassellati: Kan Gebruik de double-- ja. 1311 00:59:14,340 --> 00:59:16,920 Er zijn meerdere manieren om opmerkingen achterlaten in C. One 1312 00:59:16,920 --> 00:59:19,440 manier is een dubbele schuine streep gebruiken. 1313 00:59:19,440 --> 00:59:24,910 De andere is een slash en een ster gebruiken en sluit met een ster en een schuine streep. 1314 00:59:24,910 --> 00:59:26,110 Prima. 1315 00:59:26,110 --> 00:59:28,950 >> Allereerst ga ik beginnen met de navigatie hier. 1316 00:59:28,950 --> 00:59:35,350 Dus als ik ga naar mijn home directory, Ik heb directories er veranderd, 1317 00:59:35,350 --> 00:59:40,230 Ik ga om te kijken en te zien wat er in die map, ls, een lijst uit. 1318 00:59:40,230 --> 00:59:43,230 Ik ga om te zien dat ik heb kreeg twee submappen. 1319 00:59:43,230 --> 00:59:47,910 Laten we dit een beetje groter hier, zodat we allemaal kunnen zien. 1320 00:59:47,910 --> 00:59:50,610 >> Ik kan zien dat ik heb kreeg twee submappen. 1321 00:59:50,610 --> 00:59:53,510 Ik zal directory veranderen in te gaan op de werkruimte. 1322 00:59:53,510 --> 00:59:58,380 En ik ga alleen uittypen een deel van het, en dan gewoon op Tab. 1323 00:59:58,380 --> 01:00:01,520 En het zal de rest af voor mij. 1324 01:00:01,520 --> 01:00:03,370 Fancy. 1325 01:00:03,370 --> 01:00:04,960 >> Ik zal kijken en te zien in de werkruimte. 1326 01:00:04,960 --> 01:00:08,431 En nu, ik werk de SuperSection 1327 01:00:08,431 --> 01:00:09,680 dat we nu aan het onderwijs. 1328 01:00:09,680 --> 01:00:10,971 Dus ik ga naar die map. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 En tot slot, kijken en zien. 1331 01:00:15,970 --> 01:00:18,480 En ik heb dat bestand bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Oké dus laat me eens te meer duidelijk. 1333 01:00:20,980 --> 01:00:24,370 En ik ga weer Ik ben now-- nog steeds een verblijf in die map 1334 01:00:24,370 --> 01:00:27,540 en het is me te vertellen dat ik in dat SuperSection directory. 1335 01:00:27,540 --> 01:00:30,690 Ik ga om te gaan en maak mijn programma bunny. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 En die opdracht, maken konijntje, terwijl het klinkt een beetje vreemd, 1338 01:00:38,810 --> 01:00:42,960 beroept zich tevens op de clang compiler. 1339 01:00:42,960 --> 01:00:46,470 >> En het is geproduceerd voor me een uitgang die is 1340 01:00:46,470 --> 01:00:52,130 een uitvoerbaar funny-- een uitvoerbaar bestand genaamd konijntje. 1341 01:00:52,130 --> 01:00:52,700 OK. 1342 01:00:52,700 --> 01:00:56,700 Ik kan het dan, en dit klinkt erger nog, voeren konijntje. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 OK. 1345 01:01:00,680 --> 01:01:03,150 En laten we zien wat het doet. 1346 01:01:03,150 --> 01:01:04,527 OK. 1347 01:01:04,527 --> 01:01:06,360 Dat is een beetje wat ik verwachtte. 1348 01:01:06,360 --> 01:01:11,290 Ik heb mijn bunny foto kreeg daar, maar ik wilde het allemaal soort van zelf. 1349 01:01:11,290 --> 01:01:13,186 Wat heb ik gemist? 1350 01:01:13,186 --> 01:01:14,478 >> SPEAKER 21: Slash l of n slash. 1351 01:01:14,478 --> 01:01:15,602 BRIAN Scassellati: Slash n. 1352 01:01:15,602 --> 01:01:16,580 OK. 1353 01:01:16,580 --> 01:01:18,800 Dus laten we terug te gaan hier. 1354 01:01:18,800 --> 01:01:20,330 En ik kom uit die. 1355 01:01:20,330 --> 01:01:23,320 En ik kom terug gaan in deze. 1356 01:01:23,320 --> 01:01:27,720 En laten we nu eens kijken van mijn belangrijkste functie hier. 1357 01:01:27,720 --> 01:01:29,280 >> Dus wat moet ik doen? 1358 01:01:29,280 --> 01:01:30,465 Ik wil de lijn te beëindigen. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Dus ik in een commentaar zetten. 1361 01:01:35,800 --> 01:01:38,430 Ik zal in een printf zetten (). 1362 01:01:38,430 --> 01:01:41,350 En wat heb ik in te zetten? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 OK. 1365 01:01:43,480 --> 01:01:46,040 Wat moet ik om het te eindigen met? 1366 01:01:46,040 --> 01:01:47,100 Puntkomma. 1367 01:01:47,100 --> 01:01:48,730 Prima. 1368 01:01:48,730 --> 01:01:52,880 >> Nu, een van de echt belangrijke dingen is ervoor te zorgen 1369 01:01:52,880 --> 01:01:56,720 elke keer als u een wijziging aanbrengt in de code, die je opslaan. 1370 01:01:56,720 --> 01:02:01,380 Als u uw code niet hebt opgeslagen, je bent gaan naar een kleine ster daarboven merken. 1371 01:02:01,380 --> 01:02:03,420 En die ster zegt dat je hebben deze code niet opgeslagen. 1372 01:02:03,420 --> 01:02:07,790 >> Als ik compileren het nu, is het niet gaan naar een van deze veranderingen weer te geven, 1373 01:02:07,790 --> 01:02:11,680 omdat de compiler kijkt naar het bestand dat is op de schijf, niet het bestand dat is 1374 01:02:11,680 --> 01:02:13,790 openen in uw editor. 1375 01:02:13,790 --> 01:02:14,290 Prima. 1376 01:02:14,290 --> 01:02:20,830 >> Dus laten slaan en dan gaan we recht hier beneden, kom terug. 1377 01:02:20,830 --> 01:02:24,670 Kom naar mijn terminal. 1378 01:02:24,670 --> 01:02:27,193 En laten we opnieuw duidelijk de ruimte. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> En we kunnen vooruit en één meer gaan tijd ons konijntje programma. 1381 01:02:35,760 --> 01:02:40,180 En uitvoeren van het konijntje. 1382 01:02:40,180 --> 01:02:42,500 Dat werkte niet. 1383 01:02:42,500 --> 01:02:43,950 Verkeerde slash. 1384 01:02:43,950 --> 01:02:52,280 Dus als je kijkt naar wat ik heb, heb ik een / n daar, maar ik had de verkeerde slash. 1385 01:02:52,280 --> 01:02:56,190 >> Alles wat uw computer doet is zeer expliciet. 1386 01:02:56,190 --> 01:02:57,230 OK? 1387 01:02:57,230 --> 01:03:01,250 Een klein foutje van interpunctie, en opeens je niet krijgt wat je wilt. 1388 01:03:01,250 --> 01:03:01,750 Prima. 1389 01:03:01,750 --> 01:03:03,740 Dus laten we opnieuw weer uit. 1390 01:03:03,740 --> 01:03:04,410 We zullen teruggaan. 1391 01:03:04,410 --> 01:03:07,930 Wel maken dat zeer snelle reparatie. 1392 01:03:07,930 --> 01:03:09,270 We zullen het recht slash in te zetten. 1393 01:03:09,270 --> 01:03:10,570 We zullen het op te slaan. 1394 01:03:10,570 --> 01:03:13,410 We zullen opnieuw in. 1395 01:03:13,410 --> 01:03:16,730 >> Om een ​​of andere reden, dat is niet gelukkig zijn, maar laten we gaan vooruit 1396 01:03:16,730 --> 01:03:19,850 en we komen terug naar de terminal gaan hier. 1397 01:03:19,850 --> 01:03:22,940 Duidelijk het op. 1398 01:03:22,940 --> 01:03:24,880 We zullen in te zoomen. 1399 01:03:24,880 --> 01:03:28,410 En nog een keer, zullen we konijntje maken. 1400 01:03:28,410 --> 01:03:32,360 En nu zeker genoeg, het werkt. 1401 01:03:32,360 --> 01:03:33,240 Hooray. 1402 01:03:33,240 --> 01:03:34,300 OK. 1403 01:03:34,300 --> 01:03:39,580 >> Dus laten we proberen om dit te maken iets algemener. 1404 01:03:39,580 --> 01:03:46,750 Eens kijken of in plaats van alleen afdrukken van een bepaald frame, 1405 01:03:46,750 --> 01:03:49,610 laten we eens kijken of we dit kunnen maken zodat we alle 10 kunnen krijgen 1406 01:03:49,610 --> 01:03:52,960 van die geanimeerde frames dat we wilden hebben. 1407 01:03:52,960 --> 01:03:56,550 Dus nogmaals, laten we een stap tegelijk. 1408 01:03:56,550 --> 01:03:59,900 >> Laten we eerst generaliseren, niet zodat ik alles doen wat de frames, 1409 01:03:59,900 --> 01:04:03,990 maar dus ik iemand doen kader dat ik zou willen. 1410 01:04:03,990 --> 01:04:05,920 Dus wat is het verschil tussen de frames? 1411 01:04:05,920 --> 01:04:07,377 Is het konijn hetzelfde? 1412 01:04:07,377 --> 01:04:07,960 Publiek: Ja. 1413 01:04:07,960 --> 01:04:08,390 BRIAN Scassellati: Ja. 1414 01:04:08,390 --> 01:04:09,370 Wat is het verschil? 1415 01:04:09,370 --> 01:04:10,246 >> Publiek: Positie. 1416 01:04:10,246 --> 01:04:11,870 BRIAN Scassellati: Haar positie, toch? 1417 01:04:11,870 --> 01:04:15,590 En hoe kan ik haar positie te controleren? 1418 01:04:15,590 --> 01:04:17,340 Hoeveel punten ik ben waardoor aan het begin 1419 01:04:17,340 --> 01:04:19,048 en hoeveel punten ik ben waardoor aan het eind. 1420 01:04:19,048 --> 01:04:21,970 Dus ik had vijf in het begin en vijf eind. 1421 01:04:21,970 --> 01:04:28,320 >> Laten vervangen die vijf met een lus. 1422 01:04:28,320 --> 01:04:29,380 OK. 1423 01:04:29,380 --> 01:04:32,330 En ik ga een te creëren voor loop nu dat gaat zeggen, 1424 01:04:32,330 --> 01:04:37,800 Ik ga wat aantal afdrukken stippen van het begin. 1425 01:04:37,800 --> 01:04:39,600 Ik ga een variabele gebruiken. 1426 01:04:39,600 --> 01:04:44,150 Laten we zeggen, hoe zit ik als de teller in mijn lus. 1427 01:04:44,150 --> 01:04:47,200 En ik ga om het te verklaren boven. 1428 01:04:47,200 --> 01:04:49,360 >> En vervolgens in de lus Ik moet drie dingen doen. 1429 01:04:49,360 --> 01:04:52,340 Het eerste wat ik moet doen is dat ik moet ik initialiseren. 1430 01:04:52,340 --> 01:04:56,570 Wat moet ik initialiseren om deze af te zijn? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 OK. 1433 01:04:58,310 --> 01:05:00,950 >> Dan moet ik zeggen, wat is de voorwaarde beëindiging? 1434 01:05:00,950 --> 01:05:03,020 Wanneer moet ik stoppen? 1435 01:05:03,020 --> 01:05:05,983 Nou hoeveel punten heb je wilt afdrukken op deze? 1436 01:05:05,983 --> 01:05:06,921 >> Publiek: Five. 1437 01:05:06,921 --> 01:05:08,170 BRIAN Scassellati: Vijf weer? 1438 01:05:08,170 --> 01:05:10,650 Hoe zit laten we iets doen anders, we hebben vijf. 1439 01:05:10,650 --> 01:05:12,584 Laten we zien dat het anders is. 1440 01:05:12,584 --> 01:05:13,250 SPEAKER 22: Two. 1441 01:05:13,250 --> 01:05:13,580 BRIAN Scassellati: Two. 1442 01:05:13,580 --> 01:05:14,080 OK. 1443 01:05:14,080 --> 01:05:17,760 Dus als ik wil twee punten, wat moet ik hier plaatsen? 1444 01:05:17,760 --> 01:05:19,140 >> Publiek: Drie. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN Scassellati: Drie. 1446 01:05:20,530 --> 01:05:21,400 OK. 1447 01:05:21,400 --> 01:05:24,220 Hoeveel keer is dat ga door middel van? 1448 01:05:24,220 --> 01:05:28,469 Dat gaat om te gaan door drie keer, 0, 1 en 2, Rechts? 1449 01:05:28,469 --> 01:05:30,010 Oké, laten we gaan terug naar twee. 1450 01:05:30,010 --> 01:05:31,570 Nu gaan we twee punten te krijgen. 1451 01:05:31,570 --> 01:05:35,800 En wat wil ik elke doen keer dat ik door de lus? 1452 01:05:35,800 --> 01:05:38,657 Wat moet veranderen elke keer als ik ga door? 1453 01:05:38,657 --> 01:05:39,850 >> SPEAKER 23: Voeg een punt. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN Scassellati: Ik heb om door te gaan. 1455 01:05:41,020 --> 01:05:41,978 Ik ga naar een punt toe te voegen. 1456 01:05:41,978 --> 01:05:45,310 Ik ga een punt af te drukken, elke keer door de lus. 1457 01:05:45,310 --> 01:05:49,990 Maar hoe moet ik het bijhouden van hoe vele keren dat ik door de lus geweest? 1458 01:05:49,990 --> 01:05:53,260 Ik gebruik ik, dat variabele, die teller. 1459 01:05:53,260 --> 01:05:57,110 >> Dus elke keer door middel van, ik ga de teller met één te verhogen. 1460 01:05:57,110 --> 01:06:00,670 Nu, dat is hetzelfde voor me als zeggen i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 Dat is goed. 1462 01:06:01,210 --> 01:06:04,653 Ik kon doen dat-- Ik hou van de steno, dus ik ga zeggen i ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 OK. 1465 01:06:08,370 --> 01:06:10,680 >> Laten we hetzelfde doen hier beneden op de bodem. 1466 01:06:10,680 --> 01:06:11,846 Alleen Ik soort deed dat één. 1467 01:06:11,846 --> 01:06:13,990 Ik ga jullie laten dit volledig te doen. 1468 01:06:13,990 --> 01:06:14,260 Prima. 1469 01:06:14,260 --> 01:06:15,426 >> Dus wat moet ik hier schrijven? 1470 01:06:15,426 --> 01:06:17,170 Hier is mijn lus. 1471 01:06:17,170 --> 01:06:23,162 Ik ga een printf (doen) en ik ga om het te maken, zodat ik slechts één punt af te drukken 1472 01:06:23,162 --> 01:06:25,740 op die bodem. 1473 01:06:25,740 --> 01:06:27,740 >> Wat moet ik schrijven binnen deze lus nu? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 Nou, allereerst wat variabelen moet ik gebruiken? 1476 01:06:33,948 --> 01:06:35,430 >> SPEAKER 24: j. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN Scassellati: Ik kon j gebruiken. 1478 01:06:36,880 --> 01:06:38,040 Kan ik het zelfde gebruiken? 1479 01:06:38,040 --> 01:06:39,961 Kan ik weer gebruik ik? 1480 01:06:39,961 --> 01:06:40,460 Ja. 1481 01:06:40,460 --> 01:06:45,531 Dat is OK, omdat de Is die ik gebruik hier, 1482 01:06:45,531 --> 01:06:47,780 Ik ze niet opnieuw wanneer nodig Ik krijg tot op dit punt. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Dus wat moet ik initialiseren ik aan? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 SPEAKER 25: 10. 1487 01:06:57,300 --> 01:06:58,567 BRIAN Scassellati: 0. 1488 01:06:58,567 --> 01:06:59,400 Wat moet ik controleren? 1489 01:06:59,400 --> 01:07:02,960 Hoeveel punten moet ik nu aan het eind als ik twee puntjes heb in het begin? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Ik heb acht op het einde, dus wat moet ik controleren, ik minder than-- 1492 01:07:09,165 --> 01:07:12,645 >> PUBLIEK: Zeven, acht, negen. 1493 01:07:12,645 --> 01:07:14,020 BRIAN Scassellati: Ik hoorde zeven. 1494 01:07:14,020 --> 01:07:14,810 Ik hoorde acht. 1495 01:07:14,810 --> 01:07:15,970 En ik hoorde negen. 1496 01:07:15,970 --> 01:07:16,470 OK. 1497 01:07:16,470 --> 01:07:19,540 Dus we zijn allemaal in de juiste ball-- Jason zegt 10. 1498 01:07:19,540 --> 01:07:21,550 OK. 1499 01:07:21,550 --> 01:07:25,920 >> Als ik moest twee punten voor de eerste, hoeveel doen 1500 01:07:25,920 --> 01:07:30,170 Ik-- en ik moet acht punten voor de laatste een-- Ik heb een twee boven, 1501 01:07:30,170 --> 01:07:31,743 wat moet ik beneden te zetten? 1502 01:07:31,743 --> 01:07:32,570 >> Publiek: Acht. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN Scassellati: Acht. 1504 01:07:33,611 --> 01:07:35,695 Want dat gaat telling nul tot zeven. 1505 01:07:35,695 --> 01:07:38,490 En dat is acht keer door de lus. 1506 01:07:38,490 --> 01:07:38,990 OK. 1507 01:07:38,990 --> 01:07:41,774 En wat moet ik doen aan het eind? 1508 01:07:41,774 --> 01:07:42,670 >> Publiek: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN Scassellati: i ++. 1510 01:07:44,400 --> 01:07:45,440 Prima. 1511 01:07:45,440 --> 01:07:48,260 Dus dat ziet er goed uit daar. 1512 01:07:48,260 --> 01:07:50,620 Laten we proberen het en laten we zien wat het doet. 1513 01:07:50,620 --> 01:07:51,450 OK. 1514 01:07:51,450 --> 01:07:53,770 Dus we gaan het redden. 1515 01:07:53,770 --> 01:07:54,940 Mooi en opgeslagen. 1516 01:07:54,940 --> 01:07:56,910 >> We zullen weer uit te zoomen. 1517 01:07:56,910 --> 01:07:58,220 We zullen hier proberen in de terminal. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 We zullen in te zoomen. 1520 01:08:02,970 --> 01:08:05,416 Oeps. 1521 01:08:05,416 --> 01:08:09,990 We zullen, nog een keer, maken ons konijntje programma. 1522 01:08:09,990 --> 01:08:14,460 En ga je gang en uit te voeren bunny. 1523 01:08:14,460 --> 01:08:15,980 En daar is het. 1524 01:08:15,980 --> 01:08:17,710 >> Dus er is ons konijntje. 1525 01:08:17,710 --> 01:08:25,130 Wanneer het twee stippen begin en acht punten op het einde. 1526 01:08:25,130 --> 01:08:27,540 Iedereen nog steeds met me mee? 1527 01:08:27,540 --> 01:08:28,770 OK. 1528 01:08:28,770 --> 01:08:29,580 >> Dus bouwden we het op. 1529 01:08:29,580 --> 01:08:33,000 We bouwden een konijntje, een bepaald frame. 1530 01:08:33,000 --> 01:08:36,229 Nu hebben we in staat geweest om generaliseren dat op te bouwen 1531 01:08:36,229 --> 01:08:38,390 meer verschillende soorten frames. 1532 01:08:38,390 --> 01:08:42,399 >> Laten we nu verder gaan, en hebben genereren niet alleen een frame, 1533 01:08:42,399 --> 01:08:46,290 maar laten we het genereren van 10 frames, waar we langzaam 1534 01:08:46,290 --> 01:08:50,569 maken het konijntje bewegen alle de weg over het veld. 1535 01:08:50,569 --> 01:08:51,430 Prima. 1536 01:08:51,430 --> 01:08:53,660 >> Laten we terug gaan. 1537 01:08:53,660 --> 01:08:54,839 En we zullen nu proberen. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Dus wat moet ik echt om hier te veranderen? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Wat heb ik nodig om te veranderen? 1542 01:09:07,180 --> 01:09:10,638 >> SPEAKER 26: U moet eerst verander het aantal puntjes maximaal 1543 01:09:10,638 --> 01:09:11,626 in het begin. 1544 01:09:11,626 --> 01:09:16,850 Want als we doen 10 punten, het zal nodig hebben om op te schalen. 1545 01:09:16,850 --> 01:09:17,850 BRIAN Scassellati: Ja. 1546 01:09:17,850 --> 01:09:23,760 Dus nu heb ik het soort van hardwired om altijd twee punten aan het begin 1547 01:09:23,760 --> 01:09:27,890 en altijd acht punten op het einde. 1548 01:09:27,890 --> 01:09:30,660 >> Ik wil nog een lus te bouwen, toch? 1549 01:09:30,660 --> 01:09:33,290 Omdat ik het niet wil bouwen slechts een konijntje beeld, 1550 01:09:33,290 --> 01:09:37,140 Ik wil 10 bunny's te bouwen. 1551 01:09:37,140 --> 01:09:41,500 Dus ik moet een andere lijn te bouwen, en als ik ga door die lus, 1552 01:09:41,500 --> 01:09:44,660 Ik wil veranderen hoeveel stippen print ik aan het begin 1553 01:09:44,660 --> 01:09:50,529 en hoeveel punten ik afdrukken eind, op basis waarvan de lus doorlopen 1554 01:09:50,529 --> 01:09:52,270 Ik ben in. 1555 01:09:52,270 --> 01:09:52,770 Prima. 1556 01:09:52,770 --> 01:09:54,430 >> Dus laten we een andere teller. 1557 01:09:54,430 --> 01:09:58,142 Iemand heeft gezegd j, dus we zullen nog een j maken. 1558 01:09:58,142 --> 01:10:00,100 En nu, we gaan bouwen van een andere lus. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Wat gaat er in die lijn? 1561 01:10:06,200 --> 01:10:09,060 Dit spul heeft te gaan in de lus, toch? 1562 01:10:09,060 --> 01:10:11,190 Heeft het konijn hebben om te gaan in de lus? 1563 01:10:11,190 --> 01:10:13,390 Heb ik een konijntje in elk van die 10 frames? 1564 01:10:13,390 --> 01:10:14,099 >> PUBLIEK: Uh-huh. 1565 01:10:14,099 --> 01:10:15,098 BRIAN Scassellati: Ja. 1566 01:10:15,098 --> 01:10:17,250 Ik wil een konijntje in elk van de 10 frames, toch? 1567 01:10:17,250 --> 01:10:20,531 Hoe zit het met stippen op Uiteindelijk heb ik dat nodig? 1568 01:10:20,531 --> 01:10:21,030 OK. 1569 01:10:21,030 --> 01:10:22,550 >> Dus ik ga ze allemaal inspringen. 1570 01:10:22,550 --> 01:10:25,110 Ik ga al markeren dit, en ik ga te raken Tab. 1571 01:10:25,110 --> 01:10:28,590 En dat gaat ze over te duwen een beetje, zodat het makkelijk voor mij 1572 01:10:28,590 --> 01:10:32,010 om te zien wat er in de loop. 1573 01:10:32,010 --> 01:10:33,710 En dan zal ik er een eind aan. 1574 01:10:33,710 --> 01:10:35,850 Laat ons zeggen. 1575 01:10:35,850 --> 01:10:36,430 OK? 1576 01:10:36,430 --> 01:10:39,230 >> Nu, in deze lus die Ik ben gebouw-- whoops, 1577 01:10:39,230 --> 01:10:43,810 maken dat dus je kunt see-- Ik heb mijn teller j. 1578 01:10:43,810 --> 01:10:45,630 Ik begon bij 0. 1579 01:10:45,630 --> 01:10:47,829 Hoe vaak moet ik wil om te gaan door deze lus? 1580 01:10:47,829 --> 01:10:48,620 Publiek: 10 keer. 1581 01:10:48,620 --> 01:10:49,786 BRIAN Scassellati: 10 keer. 1582 01:10:49,786 --> 01:10:51,402 Dus welk nummer moet ik hier plaatsen? 1583 01:10:51,402 --> 01:10:52,880 >> Publiek: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> BRIAN Scassellati: 9, 10, Iemand moet zeggen 11, toch? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Ik wilde twee punten voor en zet ik minder dan 2. 1587 01:11:01,585 --> 01:11:03,810 Ik wilde acht punten, Ik zet ik minder dan 8. 1588 01:11:03,810 --> 01:11:06,950 Nu wil ik gaan door 10 keer, dus ik zet j minder than-- 1589 01:11:06,950 --> 01:11:07,590 >> Publiek: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN Scassellati: 10. 1591 01:11:08,610 --> 01:11:10,150 Daar gaan we. 1592 01:11:10,150 --> 01:11:13,360 En wat doe ik aan het eind j? 1593 01:11:13,360 --> 01:11:15,310 ++, Te verhogen. 1594 01:11:15,310 --> 01:11:16,230 OK. 1595 01:11:16,230 --> 01:11:21,500 Nu, hier is het lastige deel, wat is gaat nu als ik dit doe gebeuren? 1596 01:11:21,500 --> 01:11:24,537 Ga ik 10 frames af te drukken? 1597 01:11:24,537 --> 01:11:26,370 SPEAKER 27: Ik denk dat ze zullen allemaal hetzelfde zijn. 1598 01:11:26,370 --> 01:11:28,453 BRIAN Scassellati: Ze zullen allemaal hetzelfde, toch? 1599 01:11:28,453 --> 01:11:31,750 Omdat alle van hen zijn nog steeds twee stippen in het begin zetten. 1600 01:11:31,750 --> 01:11:34,162 Maar ik heb ze niet allemaal wilt twee stippen het begin. 1601 01:11:34,162 --> 01:11:35,870 Hoeveel punten heb ik wil aan het begin? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> Publiek: Veranderen. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN Scassellati: I wil dat veranderen, toch? 1605 01:11:42,840 --> 01:11:46,588 Dus wat heb ik hier dat verandert elke keer dat de lus gaat door? 1606 01:11:46,588 --> 01:11:48,242 >> PUBLIEK: Aantal punten, j. 1607 01:11:48,242 --> 01:11:49,950 BRIAN Scassellati: j, het aantal puntjes. 1608 01:11:49,950 --> 01:11:54,782 Dus ik kan dit veranderen j zijn. 1609 01:11:54,782 --> 01:11:59,190 De eerste keer door de lus, wat dat gaat worden? 1610 01:11:59,190 --> 01:12:01,700 Wat stel ik j om in eerste instantie? 1611 01:12:01,700 --> 01:12:02,420 >> Publiek: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN Scassellati: Hoeveel keer ga ik om dit te doen? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 De tweede keer door de lus, j's gaat worden 1 omdat ik verhogen het. 1615 01:12:11,750 --> 01:12:14,180 Hoeveel punten moet ik afdrukken? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 De derde keer door de lus, hoeveel punten ga ik afdrukken? 1618 01:12:19,904 --> 01:12:20,587 >> Publiek: Drie. 1619 01:12:20,587 --> 01:12:22,170 BRIAN Scassellati: j gaat worden 3. 1620 01:12:22,170 --> 01:12:24,890 Hoeveel punten moet ik afdrukken? 1621 01:12:24,890 --> 01:12:26,817 Oh, sorry, j gaat worden 2. 1622 01:12:26,817 --> 01:12:28,233 Hoeveel punten moet ik afdrukken? 1623 01:12:28,233 --> 01:12:28,980 >> Publiek: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN Scassellati: 2. 1625 01:12:29,855 --> 01:12:32,460 OK, dus ik ga houden verhogen dat als we verder gaan. 1626 01:12:32,460 --> 01:12:33,460 Hoe zit het daar beneden? 1627 01:12:33,460 --> 01:12:34,310 Wat gaat er hier beneden? 1628 01:12:34,310 --> 01:12:38,080 Ik wil niet altijd 8 op het einde niet meer? 1629 01:12:38,080 --> 01:12:39,269 >> SPEAKER 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN Scassellati: ik wil 10 punten? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Ik wil dat veranderen, ook. 1633 01:12:44,620 --> 01:12:47,469 Dus hoe kan ik het wil om te veranderen? 1634 01:12:47,469 --> 01:12:49,167 >> PUBLIEK: [onverstaanbaar]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN Scassellati: Nou, als ik vijf stippen in het begin, 1636 01:12:51,750 --> 01:12:53,293 hoeveel dot's krijg ik op het einde? 1637 01:12:53,293 --> 01:12:54,020 >> Publiek: Five. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN Scassellati: Als ik zes punten aan het begin, 1639 01:12:55,630 --> 01:12:56,875 Hoeveel krijg ik op het einde? 1640 01:12:56,875 --> 01:12:57,500 Publiek: Four. 1641 01:12:57,500 --> 01:12:58,950 BRIAN Scassellati: Als ik zeven punten aan het begin, 1642 01:12:58,950 --> 01:13:00,204 Hoeveel krijg ik op het einde? 1643 01:13:00,204 --> 01:13:00,870 Publiek: Drie. 1644 01:13:00,870 --> 01:13:03,161 BRIAN Scassellati: Als ik heb kreeg j dots begin, 1645 01:13:03,161 --> 01:13:04,790 Hoeveel krijg ik op het einde? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 OK. 1648 01:13:08,650 --> 01:13:10,390 Dus laten we proberen dat uit. 1649 01:13:10,390 --> 01:13:13,180 >> Dus ik ga naar onze bunny programma op te slaan. 1650 01:13:13,180 --> 01:13:16,270 Wederom zullen we uit te zoomen. 1651 01:13:16,270 --> 01:13:19,090 We zullen gaan om onze terminal. 1652 01:13:19,090 --> 01:13:20,180 We zullen het wissen. 1653 01:13:20,180 --> 01:13:23,410 En opnieuw in. 1654 01:13:23,410 --> 01:13:26,410 We zullen ons konijntje programma opnieuw te maken. 1655 01:13:26,410 --> 01:13:27,690 En we zullen het uit te voeren. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 Oh Oh. 1658 01:13:32,090 --> 01:13:34,580 >> Wacht even, laten we uitzoomen. 1659 01:13:34,580 --> 01:13:36,860 Heb ik 10 frames? 1660 01:13:36,860 --> 01:13:38,970 Nou, hoeveel konijntjes zie ik daar? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 Ik kreeg 10 frames. 1663 01:13:44,820 --> 01:13:46,375 Zijn ze allemaal hetzelfde? 1664 01:13:46,375 --> 01:13:47,000 Publiek: Ja. 1665 01:13:47,000 --> 01:13:48,740 Nee. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN Scassellati: No. 1667 01:13:50,000 --> 01:13:55,050 Die eerste, de bunny is veel aan de linkerkant. 1668 01:13:55,050 --> 01:13:57,541 En hier, het konijn is veel op het 1669 01:13:57,541 --> 01:13:58,290 SPEAKER 29: Recht. 1670 01:13:58,290 --> 01:14:00,502 BRIAN Scassellati: Dus, wat heb ik vergeten te doen? 1671 01:14:00,502 --> 01:14:01,750 SPEAKER 30: Start een nieuwe regel. 1672 01:14:01,750 --> 01:14:04,041 BRIAN Scassellati: Ik vergat om een ​​nieuwe regel te beginnen, opnieuw. 1673 01:14:04,041 --> 01:14:05,270 Dezelfde fout die ik eerder gemaakt. 1674 01:14:05,270 --> 01:14:07,120 Oké, laten we gaan vast te stellen dat. 1675 01:14:07,120 --> 01:14:11,690 Nu, ik heb nog steeds de code daar om een ​​nieuwe regel te maken. 1676 01:14:11,690 --> 01:14:13,899 Waarom heeft het niet werken? 1677 01:14:13,899 --> 01:14:15,440 SPEAKER 31: Het is niet in de lus. 1678 01:14:15,440 --> 01:14:17,710 BRIAN Scassellati: Oh, het is niet in de lus. 1679 01:14:17,710 --> 01:14:18,520 Dat klopt. 1680 01:14:18,520 --> 01:14:20,150 Het is buiten zitten hier. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 En de lus is alles dat is in die tekst. 1683 01:14:29,050 --> 01:14:35,500 >> Dus ik ga verhuizen dit in de lus. 1684 01:14:35,500 --> 01:14:39,410 En ik zal Tab in de voorkant van het aan tonen aan dat het op de juiste plaats. 1685 01:14:39,410 --> 01:14:42,020 En nu, we zullen het opnieuw op te slaan. 1686 01:14:42,020 --> 01:14:44,350 Wij zullen uit te zoomen. 1687 01:14:44,350 --> 01:14:45,770 We zullen naar onze terminal te schakelen. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 In zoomen. 1690 01:14:50,360 --> 01:14:54,050 We zullen ons konijntje programma remake. 1691 01:14:54,050 --> 01:14:59,070 En nu, nu hebben we onze 10 frames. 1692 01:14:59,070 --> 01:15:00,190 >> [SLAAN] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN Scassellati: OK. 1694 01:15:02,120 --> 01:15:04,080 So. 1695 01:15:04,080 --> 01:15:08,370 Hier is onze genest voor lussen. 1696 01:15:08,370 --> 01:15:13,140 We konden genereren in de binnenste lus hoeveel punten ik wilde 1697 01:15:13,140 --> 01:15:15,320 Afdrukken vanaf het begin, aan het einde. 1698 01:15:15,320 --> 01:15:21,570 De buitenste lus gecontroleerde hoeveel frames ik aan het bouwen was. 1699 01:15:21,570 --> 01:15:26,340 We zijn begonnen met een klein kern van het probleem, 1700 01:15:26,340 --> 01:15:30,320 en we hebben opgebouwd uit vanaf dat punt. 1701 01:15:30,320 --> 01:15:30,820 Prima. 1702 01:15:30,820 --> 01:15:33,500 >> Laten we nog een stap. 1703 01:15:33,500 --> 01:15:35,040 Ben je klaar? 1704 01:15:35,040 --> 01:15:38,800 Er is één ding hier, waar we hebben eigenlijk wel gekregen 1705 01:15:38,800 --> 01:15:42,180 meer complexiteit dan we nodig hebben. 1706 01:15:42,180 --> 01:15:44,700 Laten we kijken. 1707 01:15:44,700 --> 01:15:52,050 Dus in onze bunny-programma, als ik hier uitzoomen, 1708 01:15:52,050 --> 01:15:54,980 Ik heb eigenlijk een aantal van hetzelfde te doen wat over en weer. 1709 01:15:54,980 --> 01:15:59,032 Wat moet ik doen, dat is een soort van het zelfde ding tweemaal herhaald? 1710 01:15:59,032 --> 01:16:00,310 >> SPEAKER 32: Druk de puntjes. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN Scassellati: Ja Ik afdrukken die puntjes tweemaal. 1712 01:16:03,526 --> 01:16:05,710 Echt, zou ik deze reactie hier. 1713 01:16:05,710 --> 01:16:09,037 Print ik enkele punten aan de begin, tot hier. 1714 01:16:09,037 --> 01:16:10,620 En dan nog wat puntjes af te drukken wat ik op het einde. 1715 01:16:10,620 --> 01:16:14,694 En ik doe soort precies hetzelfde. 1716 01:16:14,694 --> 01:16:17,110 Wat we gaan om te beginnen werken aan in de komende weken 1717 01:16:17,110 --> 01:16:23,440 is in staat om de blokken te nemen code die we gebruiken over en weer, 1718 01:16:23,440 --> 01:16:25,800 en door een proces genaamd abstractie, 1719 01:16:25,800 --> 01:16:31,100 we gaan ze trekken en schrijf ze eens zo dat we kunnen dan 1720 01:16:31,100 --> 01:16:35,130 hergebruiken ze over en weer. 1721 01:16:35,130 --> 01:16:37,210 Dus laten we dat proberen. 1722 01:16:37,210 --> 01:16:38,220 Klaar? 1723 01:16:38,220 --> 01:16:42,200 >> We gaan dit blok van de code te nemen. 1724 01:16:42,200 --> 01:16:45,280 En ik ga om het te nemen uit daar. 1725 01:16:45,280 --> 01:16:50,530 En ik ga define-- neer op de bodem, 1726 01:16:50,530 --> 01:16:53,130 Ik ga een nieuwe functie te schrijven. 1727 01:16:53,130 --> 01:16:54,750 Het is niet van plan om iets terug te keren. 1728 01:16:54,750 --> 01:16:58,550 En ik ga het noemen printDots. 1729 01:16:58,550 --> 01:17:01,530 >> Het gaat om één te nemen argument, een geheel getal dat 1730 01:17:01,530 --> 01:17:04,920 zegt howManyDots Ik moet afdrukken. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 En nu in plaats van het af te drukken j punten, zal ik afdrukken howManyDots Ik moet afdrukken vertellen. 1733 01:17:17,720 --> 01:17:21,581 >> En er is hier een klein probleem. 1734 01:17:21,581 --> 01:17:22,580 Iedereen weet wat het is? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Wat heb ik dat is vermeld hier dat is niet gedefinieerd? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> PUBLIEK: [onverstaanbaar] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN Scassellati: Nou hoe vele punten gedefinieerd recht 1740 01:17:37,465 --> 01:17:40,584 hier, maar ik gebruik dat variabele i. 1741 01:17:40,584 --> 01:17:43,750 Dus ik ga naar die variabele nemen i en ik ga om het te definiëren hier 1742 01:17:43,750 --> 01:17:44,610 plaats. 1743 01:17:44,610 --> 01:17:49,683 >> Dus nu het gaat stay-- oops, kreeg de caps lock op somehow-- ik ben 1744 01:17:49,683 --> 01:17:52,060 ga ik naar beneden te houden hier. 1745 01:17:52,060 --> 01:17:57,050 >> Dus nu hier is mijn kleine functie of sub-routine, en het zegt, 1746 01:17:57,050 --> 01:18:00,640 hoeveel punten ga ik afdrukken? 1747 01:18:00,640 --> 01:18:05,300 En het zal gaan door deze lus en print ze over en weer. 1748 01:18:05,300 --> 01:18:10,940 >> Dan kan ik mijn programma hier te passen up. 1749 01:18:10,940 --> 01:18:12,540 En wat heb ik noem die functie? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Dus ik zal printDots bellen. 1752 01:18:17,060 --> 01:18:21,530 Hoeveel punten wil ik afdrukken het eerst voor het konijn? 1753 01:18:21,530 --> 01:18:22,030 Publiek: j. 1754 01:18:22,030 --> 01:18:23,230 BRIAN Scassellati: j. 1755 01:18:23,230 --> 01:18:27,110 Hoeveel punten wil ik afdrukken aan het eind, na het konijn? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-j. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> En er is één ding dat ik mis. 1760 01:18:38,010 --> 01:18:43,740 Zoals je zag in de lezing van vandaag, we gaan printDots verklaren 1761 01:18:43,740 --> 01:18:52,430 boven om het prototype te geven. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 OK. 1764 01:18:58,220 --> 01:19:03,530 >> Dus wat ik heb gedaan is dat ik heb geprobeerd om isoleren dat hergebruikte deel van de code 1765 01:19:03,530 --> 01:19:06,430 dat ik over en weer hebben gedaan. 1766 01:19:06,430 --> 01:19:11,120 En ik heb geprobeerd om hem eruit te trekken, zodat dat alles is opgenomen in een plaats. 1767 01:19:11,120 --> 01:19:16,810 Op die manier, als ik ergens een fout, Ik heb alleen maar om het te bevestigen op een plek. 1768 01:19:16,810 --> 01:19:17,310 Prima. 1769 01:19:17,310 --> 01:19:18,470 >> Dus laten we redden het. 1770 01:19:18,470 --> 01:19:20,950 En laten we ervoor zorgen dat het werkt. 1771 01:19:20,950 --> 01:19:22,050 Dus laten we gaan. 1772 01:19:22,050 --> 01:19:25,200 We zullen weer naar onze terminal. 1773 01:19:25,200 --> 01:19:27,960 We zullen in te zoomen. 1774 01:19:27,960 --> 01:19:31,010 We zullen dat konijntje proces. 1775 01:19:31,010 --> 01:19:32,380 >> Oh. 1776 01:19:32,380 --> 01:19:34,800 En het is mij een waarschuwing. 1777 01:19:34,800 --> 01:19:37,070 Hoe is het me te vertellen? 1778 01:19:37,070 --> 01:19:39,870 Welnu, in een van deze tijden, je wilt altijd 1779 01:19:39,870 --> 01:19:44,170 om te scrollen naar de allereerste error-- Nu op dit ene, ik heb maar één. 1780 01:19:44,170 --> 01:19:52,700 >> Het vertelt me ​​in bunny.c, on line 8, kolom 9, er is een probleem. 1781 01:19:52,700 --> 01:19:58,650 Het zegt, je dit hebt verklaard variabele i en heb je het niet gebruikt. 1782 01:19:58,650 --> 01:20:02,230 >> Nu normaal, dat is niet het ergste fout. 1783 01:20:02,230 --> 01:20:04,300 Dat is een gemakkelijke op te lossen. 1784 01:20:04,300 --> 01:20:07,550 En in feite, kunnen we terug te gaan. 1785 01:20:07,550 --> 01:20:09,910 We kunnen teruggaan naar bunny. 1786 01:20:09,910 --> 01:20:13,010 En in dit geval, alle we hoeft te doen is zich te ontdoen van i, 1787 01:20:13,010 --> 01:20:16,630 omdat we niet gebruiken i binnen belangrijkste meer. 1788 01:20:16,630 --> 01:20:19,860 We zijn gewoon te gebruiken in onze sub-routine. 1789 01:20:19,860 --> 01:20:22,777 >> Dus laten we behalve dat. 1790 01:20:22,777 --> 01:20:23,360 We zullen teruggaan. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 En opnieuw in. 1793 01:20:28,630 --> 01:20:30,700 We zullen nog een keer te maken bunny. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 En er weer zijn onze 10 frames. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 OK. 1798 01:20:41,360 --> 01:20:43,190 >> Elke keer dat je krijgt een procedure-- Yeah. 1799 01:20:43,190 --> 01:20:44,690 SPEAKER 33: Ik heb a-- ik ben in de war. 1800 01:20:44,690 --> 01:20:45,892 Kunt u terug naar de code te gaan? 1801 01:20:45,892 --> 01:20:46,850 BRIAN Scassellati: Yep. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> SPEAKER 33: Dus, als je schreef uw prototype, het argument dat u 1804 01:20:54,367 --> 01:20:56,550 had genoemd werd howMany genoemd? 1805 01:20:56,550 --> 01:20:57,540 Maar below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN Scassellati: Oh ja. 1807 01:20:57,640 --> 01:20:59,140 >> SPEAKER 33: --called hen iets anders, begrijp ik niet. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN Scassellati: Waarom zijn ze anders. 1809 01:21:00,240 --> 01:21:01,780 Dus dat is een grote vraag. 1810 01:21:01,780 --> 01:21:08,250 Dus de vraag was, up hier, schreef ik howMany, 1811 01:21:08,250 --> 01:21:12,380 en beneden, schreef ik howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> De reden is dat in uw prototype het is eigenlijk niet op te letten 1813 01:21:15,590 --> 01:21:17,090 naar de namen die je zet in. 1814 01:21:17,090 --> 01:21:20,530 Alles wat het echt om is dat het een integer. 1815 01:21:20,530 --> 01:21:23,080 Het wil de vorm kennen van wat je zetten in. 1816 01:21:23,080 --> 01:21:31,560 >> Nu stylistically-- oops-- wat ik moet weet, is dat ik graag om deze wedstrijd te maken. 1817 01:21:31,560 --> 01:21:33,150 OK. 1818 01:21:33,150 --> 01:21:36,430 Want dat zal houden het voor mij gemakkelijker te onthouden. 1819 01:21:36,430 --> 01:21:38,390 Maar dat was mijn fout Yeah. 1820 01:21:38,390 --> 01:21:47,620 >> SPEAKER 34: En dus voor de prototype te werken, net 1821 01:21:47,620 --> 01:21:50,510 het schrijven van die lijn, schrijven van het prototype, 1822 01:21:50,510 --> 01:21:53,932 laat die functie die wordt geleverd recht daaronder om naar het einde 1823 01:21:53,932 --> 01:21:55,140 en op te halen wat dat betekent? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN Scassellati: Wat het betekent is wanneer de compiler gaat door, 1825 01:21:58,480 --> 01:22:01,930 het gaat van de top van code naar de bodem. 1826 01:22:01,930 --> 01:22:05,430 En wat dit prototype is, is het is eigenlijk een belofte. 1827 01:22:05,430 --> 01:22:09,570 >> Het zegt dat er gaat worden een functie ergens gedefinieerd. 1828 01:22:09,570 --> 01:22:11,880 Het gaat om zogenaamde printDots zijn. 1829 01:22:11,880 --> 01:22:15,110 En het gaat om een ​​argument te nemen dat gaat om een ​​geheel getal zijn 1830 01:22:15,110 --> 01:22:18,590 en het gaat om terug te keren niets, leegte type. 1831 01:22:18,590 --> 01:22:19,310 OK. 1832 01:22:19,310 --> 01:22:22,950 Ik beloof je dat het gaat worden ergens gedefinieerd op de weg. 1833 01:22:22,950 --> 01:22:25,590 Maar elke keer zie je dat, als je naar beneden 1834 01:22:25,590 --> 01:22:28,710 door de rest van mijn belangrijkste functie, ik wil 1835 01:22:28,710 --> 01:22:33,800 je te behandelen die als een functie dat duurt een integer ingang. 1836 01:22:33,800 --> 01:22:37,970 >> En dus als de compiler naar beneden gaat door middel van deze, het ziet die belofte. 1837 01:22:37,970 --> 01:22:40,220 En wanneer het naar beneden, blijft gaan, blijft gaan, 1838 01:22:40,220 --> 01:22:43,060 het vindt de eerste keer printDots wordt genoemd. 1839 01:22:43,060 --> 01:22:46,910 En het zegt, Oh, je geeft me dit j. j is een geheel getal. 1840 01:22:46,910 --> 01:22:49,570 >> Nou je me beloofd dat zou zijn een integer en dat is juist. 1841 01:22:49,570 --> 01:22:51,370 Dat is goed. 1842 01:22:51,370 --> 01:22:53,880 En dan eindelijk, omlaag helemaal onderaan, 1843 01:22:53,880 --> 01:22:58,340 voordat ik aan het einde van mijn bestand, maak ik goed op mijn belofte 1844 01:22:58,340 --> 01:22:59,896 en ik definiëren. 1845 01:22:59,896 --> 01:23:01,868 OK? 1846 01:23:01,868 --> 01:23:06,320 >> SPEAKER 35: Dus, het saves-- de programma zal spaties besparen 1847 01:23:06,320 --> 01:23:09,570 dat het gaat terug en vult aan het eind? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN Scassellati: Het is niet over het geheugen toewijzing. 1849 01:23:12,140 --> 01:23:16,800 Het is eigenlijk alleen maar over wat soort verwacht u te zien. 1850 01:23:16,800 --> 01:23:19,340 Moet dit ding hebben één argument, of vijf argumenten? 1851 01:23:19,340 --> 01:23:23,590 Moet hebben gehele getallen gegeven, of strings? 1852 01:23:23,590 --> 01:23:25,780 Dat is alles wat het ziet te doen is om te controleren, 1853 01:23:25,780 --> 01:23:29,303 geef je me de juiste soort argument. 1854 01:23:29,303 --> 01:23:31,560 OK? 1855 01:23:31,560 --> 01:23:32,300 Prima. 1856 01:23:32,300 --> 01:23:38,570 >> Laat me je vertrekt met een ander bit naar te kijken. 1857 01:23:38,570 --> 01:23:44,850 ASCII kunst is niet het grote model animatie zoals het nu is. 1858 01:23:44,850 --> 01:23:50,850 Maar sommige mensen natuurlijk dingen en duwen ze het aan hun uitersten. 1859 01:23:50,850 --> 01:23:56,790 >> Dit is, zoals David aangetoond in collegezaal, een stukje code 1860 01:23:56,790 --> 01:24:02,150 dat moet je onder geen beding proberen om jezelf te dupliceren. 1861 01:24:02,150 --> 01:24:05,260 Want het is verschrikkelijk stilistisch. 1862 01:24:05,260 --> 01:24:11,180 In feite is het ontworpen om zo moeilijk mogelijk te lezen. 1863 01:24:11,180 --> 01:24:11,680 OK. 1864 01:24:11,680 --> 01:24:16,210 >> Dus, om opnieuw te doen, laten we hier in te zoomen. 1865 01:24:16,210 --> 01:24:20,120 Ik ga nu gaan veranderen directory. 1866 01:24:20,120 --> 01:24:24,050 Ik ga om te gaan één niveau, terug naar mijn werkruimte. 1867 01:24:24,050 --> 01:24:29,760 Ik zal dan veranderen directory in deze andere map die ik heb gemaakt. 1868 01:24:29,760 --> 01:24:36,190 >> En dit is de International Versluierd C Programming Contest. 1869 01:24:36,190 --> 01:24:40,650 Versluierd middelen zo hard mogelijk begrijpen. 1870 01:24:40,650 --> 01:24:44,150 Dus alsjeblieft, wees niet bang als je kijkt Dit en ga, kan ik niet lezen. 1871 01:24:44,150 --> 01:24:46,350 Dat is het punt van het. 1872 01:24:46,350 --> 01:24:47,700 OK? 1873 01:24:47,700 --> 01:24:52,770 >> Maar, we hebben dit prachtig programma dat ik ben 1874 01:24:52,770 --> 01:24:57,180 gaan kijken naar door gewoon te typen meer. 1875 01:24:57,180 --> 01:25:01,890 En laten we eens kijken of ik uit kan zoomen gewoon een beetje, zodat je kunt zien 1876 01:25:01,890 --> 01:25:03,940 >> En dit is het programma. 1877 01:25:03,940 --> 01:25:08,080 Het is genoemd endo.c. 1878 01:25:08,080 --> 01:25:14,850 En het lijkt erop dat deze emmer met soort van de letters F-L-U-I-D daarin. 1879 01:25:14,850 --> 01:25:16,440 >> Dit is eigenlijk een programma. 1880 01:25:16,440 --> 01:25:20,260 Het is geschreven in de meest obscure manier waarop de auteurs zou kunnen 1881 01:25:20,260 --> 01:25:21,760 Schrijf het. 1882 01:25:21,760 --> 01:25:29,210 Maar het is een prachtig stukje dat genereert een model van vloeistofdynamica. 1883 01:25:29,210 --> 01:25:34,870 >> En dus we gaan geven dat model een input die 1884 01:25:34,870 --> 01:25:42,520 ziet er zo uit, van een staired set containers 1885 01:25:42,520 --> 01:25:45,820 met wat vloeistof, wat vloeistof, op de top. 1886 01:25:45,820 --> 01:25:48,790 En we moeten simuleren wat er gebeurt aan. 1887 01:25:48,790 --> 01:25:52,415 >> Dus ik zal die functie noemen, endo. 1888 01:25:52,415 --> 01:25:59,000 En ik geef het dat input file die ik heb gehad. 1889 01:25:59,000 --> 01:26:02,830 En er is ons toppunt van ASCII-art. 1890 01:26:02,830 --> 01:26:08,960 Een volledige vloeistof dynamische simulator die in slechts een paar regels code. 1891 01:26:08,960 --> 01:26:13,750 >> Nu, wat is eigenlijk echt verbazend over dit kleine programma 1892 01:26:13,750 --> 01:26:17,280 is dat ik wil het nu te stoppen, dus ik ga wat commando te gebruiken? 1893 01:26:17,280 --> 01:26:18,660 >> PUBLIEK: Control-C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN Scassellati: Control-C. OK. 1895 01:26:20,390 --> 01:26:22,960 Dus zal ik de Control-C te gebruiken. C Dat zal stoppen. 1896 01:26:22,960 --> 01:26:25,330 Ik zal weer te wissen. 1897 01:26:25,330 --> 01:26:31,210 En nu ga ik naar de beroepen programma, het programma uitvoeren, 1898 01:26:31,210 --> 01:26:33,740 gebruik zelf als input. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> En we zullen de vloeistof dynamische zien simulatie te smelten. 1901 01:26:42,700 --> 01:26:43,830 OK. 1902 01:26:43,830 --> 01:26:48,180 Laten we alstublieft niet dat programma zijn het ding dat je verwart. 1903 01:26:48,180 --> 01:26:52,220 Het is gewoon zo dat we kunnen eindigen op iets leuks en interessant. 1904 01:26:52,220 --> 01:26:53,930 OK. 1905 01:26:53,930 --> 01:26:56,330 >> Veel succes met uw probleem sets. 1906 01:26:56,330 --> 01:26:59,030 We zullen blij zijn om te beantwoorden vragen na de les. 1907 01:26:59,030 --> 01:27:01,180 Dankt veel, jongens. 1908 01:27:01,180 --> 01:27:02,793