1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> JASON Hirschhorn: Welcome to CS50 artikel, almal. 3 00:00:08,650 --> 00:00:11,430 My naam is Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Ek is 'n baie van jou TFS, maar 'n baie mense sal hopelik saam met ons 5 00:00:15,850 --> 00:00:20,420 aanlyn, uitbreiding studente of studente probeer om te kyk deur artikel indien hulle 6 00:00:20,420 --> 00:00:22,830 gemis het hul afdeling wat week of net haal as hulle wou 7 00:00:22,830 --> 00:00:24,510 sommige materiaal te hersien. 8 00:00:24,510 --> 00:00:30,060 >> So as per die leerplan, wat al van wat jy gelees het, reg? 9 00:00:30,060 --> 00:00:31,390 Ek sien 'n klomp van die kop knik. 10 00:00:31,390 --> 00:00:34,220 Afdelings gee jou die geleentheid om die loop se om te verken 11 00:00:34,220 --> 00:00:37,420 materiaal in 'n intieme omgewing, sowel as duik in 12 00:00:37,420 --> 00:00:38,810 praktiese aktiwiteite. 13 00:00:38,810 --> 00:00:41,230 >> So dit is basies wat ons is gaan om te doen elke week. 14 00:00:41,230 --> 00:00:45,090 Ons gaan om te gaan deur dit wat ons het vasbeslote om die belangrikste 15 00:00:45,090 --> 00:00:49,170 onderwerpe wat gedek word in lesing, en die kinders waarskynlik ook die meeste nuttige en 16 00:00:49,170 --> 00:00:52,780 die meeste geneig om te kom op die probleem stelle en in vasvrae, en in jou kodering 17 00:00:52,780 --> 00:00:53,970 lewe buite CS50. 18 00:00:53,970 --> 00:00:57,260 So ons gaan om te gaan in dié onderwerpe, bespreek, gaan oor hulle, 19 00:00:57,260 --> 00:01:00,660 antwoord op enige vrae wat jy ouens het, en dan gaan ons 'n baie om te doen 20 00:01:00,660 --> 00:01:02,250 praktyk probleme in die kodering. 21 00:01:02,250 --> 00:01:04,239 >> Julle almal het skootrekenaars, wat is fantasties. 22 00:01:04,239 --> 00:01:05,710 Dit is 'n rekenaar wetenskap klas. 23 00:01:05,710 --> 00:01:10,070 Maar baie van die oefeninge wat ons doen, sal jy nie nodig het om jou skootrekenaars vir. 24 00:01:10,070 --> 00:01:11,720 Jy kan dit doen dit op 'n vel papier. 25 00:01:11,720 --> 00:01:13,580 Dit is hoe jy gaan doen hulle op die vasvrae. 26 00:01:13,580 --> 00:01:16,450 En inderdaad, dit is 'n goeie manier om te regtig weet wat jy hoe om te doen 27 00:01:16,450 --> 00:01:19,720 iets as jy nie seker 50 tot staatmaak op of om te vertrou op, vertel 28 00:01:19,720 --> 00:01:20,620 jy foute begaan het. 29 00:01:20,620 --> 00:01:25,670 >> So jy is welkom om te kode op die toestel of run.cs50.net, wat 30 00:01:25,670 --> 00:01:29,770 'n ander hulpmiddel wat u toelaat om te kode aanlyn, maar ek sou ook aanbeveel, indien 31 00:01:29,770 --> 00:01:32,280 jy het nie probeer dit, met behulp van 'n vel papier en probeer om hierdie praktyk 32 00:01:32,280 --> 00:01:33,640 probleme op 'n vel papier. 33 00:01:33,640 --> 00:01:35,330 Omdat weer, dit is uiteindelik wat jy gaan wees 34 00:01:35,330 --> 00:01:37,430 gevra om te doen op quizzes. 35 00:01:37,430 --> 00:01:44,080 >> So laat ons begin met ons agenda vir vandag. 36 00:01:44,080 --> 00:01:47,710 Ons gaan om te gaan oor 'n paar norme vir ons artikel, dan is ons gaan duik 37 00:01:47,710 --> 00:01:51,180 in skikkings, funksies en command line argumente, en dit is wat julle 38 00:01:51,180 --> 00:01:56,200 gedek het die afgelope week in die lesing en dan Maandag, en wat jy sal dek 39 00:01:56,200 --> 00:01:57,330 meer van môre. 40 00:01:57,330 --> 00:01:59,060 En dan uiteindelik, ons gaan om te praat oor pset2. 41 00:01:59,060 --> 00:02:03,640 As ek kon kry 'n opsteek van hande as jy het nie gekyk na die probleem stel twee 42 00:02:03,640 --> 00:02:04,890 spesifikasie. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Ons sal sê almal. 45 00:02:08,120 --> 00:02:09,419 Fantasties. 46 00:02:09,419 --> 00:02:12,070 >> Ons sal praat oor probleem stelle in 'n bietjie, maar as jy die probleem stel 47 00:02:12,070 --> 00:02:14,340 spesifikasie, dis al wat jy hoef te doen. 48 00:02:14,340 --> 00:02:18,370 As jy lees wat voor julle kom klas en artikel op Dinsdag, sal jy 49 00:02:18,370 --> 00:02:19,220 wees om 'n goeie posisie. 50 00:02:19,220 --> 00:02:21,680 Ons kan gaan deur middel van die probleem stel, en dit is wat ons gaan 51 00:02:21,680 --> 00:02:22,090 te doen aan die einde. 52 00:02:22,090 --> 00:02:23,500 Ons gaan om te gaan deur die logika, maak seker 53 00:02:23,500 --> 00:02:24,710 almal is op dieselfde bladsy. 54 00:02:24,710 --> 00:02:28,650 >> Ek wil hê jy moet in staat wees om Dinsdag te verlaat voel baie gemaklik met wat jy 55 00:02:28,650 --> 00:02:31,560 nodig het om te doen vir hierdie week se probleem stel, en as jy dit nie doen nie, sal ek gelukkig 56 00:02:31,560 --> 00:02:33,050 bly na en saam te werk. 57 00:02:33,050 --> 00:02:36,850 Maar dit is een ding wat jy hoef te doen nie, maar ek dink sou wees regtig slim, 58 00:02:36,850 --> 00:02:40,500 net die probleem stel om te lees spesifikasie deur die klas op Dinsdag, 59 00:02:40,500 --> 00:02:42,640 wat dit klink soos 'n baie van julle ouens het. 60 00:02:42,640 --> 00:02:45,810 >> Ek sal met 'n agenda elke klas begin sodat jy weet waar ons gaan. 61 00:02:45,810 --> 00:02:49,520 Dit is ook nuttig vir die mense kyk aanlyn, omdat elke afdeling 62 00:02:49,520 --> 00:02:53,540 is kleurgekodeerde, so as jy wil kom terug en kyk net 10 minute eerder 63 00:02:53,540 --> 00:02:56,950 as die hele 90-minute behoort jy kan net gaan na die kleurgekodeerde artikel 64 00:02:56,950 --> 00:02:57,890 en kyk na daardie deel. 65 00:02:57,890 --> 00:03:01,510 So ek het probeer om hulle op te breek in mooi modules wat jou sal toelaat om - 66 00:03:01,510 --> 00:03:03,960 As jy wil om terug te kom en te hersien, of ander studente wat net 67 00:03:03,960 --> 00:03:05,350 kyk na 'n artikel te hersien - 68 00:03:05,350 --> 00:03:08,130 die spesifieke ding om te vind dat hulle wil aandag te skenk aan 69 00:03:08,130 --> 00:03:10,480 en meer te leer oor. 70 00:03:10,480 --> 00:03:11,390 Soet. 71 00:03:11,390 --> 00:03:12,180 >> Norme. 72 00:03:12,180 --> 00:03:13,680 Ek is 'n FOP leier op die kampus. 73 00:03:13,680 --> 00:03:14,900 Ek weet nie of enigiemand het FOP. 74 00:03:14,900 --> 00:03:16,280 Het enigiemand doen FOP? 75 00:03:16,280 --> 00:03:17,100 Een persoon het FOP. 76 00:03:17,100 --> 00:03:18,430 Twee mense het FOP. 77 00:03:18,430 --> 00:03:19,250 Awesome. 78 00:03:19,250 --> 00:03:22,360 So FOP is die eerste jaar Buite Oriënteringsprogram. 79 00:03:22,360 --> 00:03:27,240 Ons neem eerstejaars in die bos en maak die mees magiese ervarings van 80 00:03:27,240 --> 00:03:28,830 hul lewens, korrek? 81 00:03:28,830 --> 00:03:29,220 Ja. 82 00:03:29,220 --> 00:03:30,080 Geluide oor reg. 83 00:03:30,080 --> 00:03:36,360 >> So ek wou net om te begin om ons heel eerste artikel deur die bespreking van 'n paar norme 84 00:03:36,360 --> 00:03:38,860 vir die klas en ons verhouding want ek dink 85 00:03:38,860 --> 00:03:40,010 dit is baie belangrik. 86 00:03:40,010 --> 00:03:43,630 In die eerste plek, as dié van julle wat is my artikel ontvang het en 87 00:03:43,630 --> 00:03:47,150 bespreek het in daardie e-pos, ek is lief vir hierdie. 88 00:03:47,150 --> 00:03:48,130 Dit is my gunsteling deel van die jaar. 89 00:03:48,130 --> 00:03:49,100 Ek is so opgewonde. 90 00:03:49,100 --> 00:03:50,040 Ek is hier vir ure vandag. 91 00:03:50,040 --> 00:03:54,560 Ek het nie verlaat die gebou behalwe om te gaan eet, want ek is lief vir CS50 artikel, ek 92 00:03:54,560 --> 00:03:58,620 lief vir onderrig, ek hou van die werk saam met julle ouens. 93 00:03:58,620 --> 00:04:02,000 >> Een van my grootste prioriteite, indien nie my nommer een prioriteit, nie net vir 94 00:04:02,000 --> 00:04:05,130 hierdie klas, maar ook my ander klasse en extracurriculars, is om te 95 00:04:05,130 --> 00:04:09,350 ondersteun julle ouens, en jou help om ouens, en my bes doen om seker te maak dat jy 96 00:04:09,350 --> 00:04:13,780 ouens het 'n wonderlike, fun, produktiewe, innemende, opwindende 97 00:04:13,780 --> 00:04:15,250 ervaar in hierdie klas. 98 00:04:15,250 --> 00:04:16,190 Dit is wat ek is daartoe verbind om. 99 00:04:16,190 --> 00:04:17,959 Dit is waarom ek is lief om dit te doen. 100 00:04:17,959 --> 00:04:20,190 Dit is my nommer een ding, ondersteun julle. 101 00:04:20,190 --> 00:04:25,110 As jy enige vrae oor die lesing, die probleem stel, artikel, 102 00:04:25,110 --> 00:04:28,830 lewe, selfs as jy wil om te praat oor lewe, voel asseblief vry om uit te reik. 103 00:04:28,830 --> 00:04:31,210 >> Jy het my selfoon nommer, jy het my e-pos 104 00:04:31,210 --> 00:04:32,910 adres, jy het my GChat. 105 00:04:32,910 --> 00:04:37,540 Jy kan my kontak by enige van of al diegene wanneer nie, maar sal waarskynlik nie 106 00:04:37,540 --> 00:04:38,720 'n reaksie wanneer. 107 00:04:38,720 --> 00:04:41,020 Ek probeer om terug te kry binne 24 uur. 108 00:04:41,020 --> 00:04:44,760 Dikwels sal dit binne 20 minute of 24 minute. 109 00:04:44,760 --> 00:04:46,110 Ek moes gesê het dat te maak dit parallel. 110 00:04:46,110 --> 00:04:48,840 Maar jy kry 'n antwoord redelik vinnig. 111 00:04:48,840 --> 00:04:54,220 >> As jy die teks vir my 'n uur voor die gestelde probleem is as gevolg, ek sal jou kalmeer 112 00:04:54,220 --> 00:04:57,660 af en doen diep asemhaling oefeninge saam met jou, maar as jy nog nie begin, 113 00:04:57,660 --> 00:05:00,270 jy waarskynlik nie van plan om te voltooi, en Ek kan nie regtig help om jou daar buite 114 00:05:00,270 --> 00:05:01,710 selfs al het ek sal my bes probeer. 115 00:05:01,710 --> 00:05:03,920 So ek sal alles doen wat Ek kan jou te ondersteun. 116 00:05:03,920 --> 00:05:07,980 Voel asseblief vry om uit te reik of dit is in die artikel weer by Kantoor ure 117 00:05:07,980 --> 00:05:09,150 As jy my sien, of selfs buite. 118 00:05:09,150 --> 00:05:11,800 Ek is gelukkig om 'n tyd om te voldoen aan en werk deur probleme 119 00:05:11,800 --> 00:05:14,410 met of gaan oor materiaal. 120 00:05:14,410 --> 00:05:15,990 So dit is nommer een, ondersteuning. 121 00:05:15,990 --> 00:05:17,940 Ek sal alles doen wat ek jy kan te ondersteun. 122 00:05:17,940 --> 00:05:21,520 >> Nommer twee, vergadering in die middel. 123 00:05:21,520 --> 00:05:24,760 Soveel as wat ek graag sou wou wees, is ek nie almagtig of al-magtige of 124 00:05:24,760 --> 00:05:28,410 alwetend, so ek weet nie al die tyd as wat ek doen is om 125 00:05:28,410 --> 00:05:33,410 oor, as die manier waarop ek die onderrig van die onderwerp help om te leer, of as jy 126 00:05:33,410 --> 00:05:36,120 verward is oor 'n onderwerp, maar dit nie doen nie verhoog jou hand of my vra 127 00:05:36,120 --> 00:05:37,390 of stuur 'n e-pos. 128 00:05:37,390 --> 00:05:42,150 Of selfs as jy weer, is verward oor iets oor die probleem stel. 129 00:05:42,150 --> 00:05:44,240 As jy nie uitreik na my, Ek kan nie weet wat vir seker. 130 00:05:44,240 --> 00:05:46,950 Ek gaan my bes doen om so op julle ouens, maak seker alles is 131 00:05:46,950 --> 00:05:51,170 goed gaan, probeer om dinge te leer in 'n manier wat sal wees wat bevorderlik is vir die meeste van 132 00:05:51,170 --> 00:05:54,910 jou leerstyle, maar as daar enigiets wat ek kan doen, laat my weet. 133 00:05:54,910 --> 00:05:58,520 >> Langs die lyne, as jy wil 'n paar hulp met die probleem stel, ek is meer 134 00:05:58,520 --> 00:05:59,700 as gelukkig om jou te help met die probleem stel. 135 00:05:59,700 --> 00:06:02,300 Ons gaan 'n baie te doen wat gerig is op die tweede 136 00:06:02,300 --> 00:06:03,460 helfte van hierdie artikel. 137 00:06:03,460 --> 00:06:06,040 Maar as jy lees nie die probleem sit rug en het nie kyk na die loop 138 00:06:06,040 --> 00:06:09,310 deur en het nie kyk na die kortbroek en my verwag om jou te leer 139 00:06:09,310 --> 00:06:13,260 alles wat is video-opname aanlyn of wat jy kan vind op CS50 140 00:06:13,260 --> 00:06:16,720 studie, dit is nie werklik regverdig te my of na jou ander maats. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> So asseblief, ek is meer as bly om te help julle, maar julle ouens het my in ontmoet 143 00:06:25,730 --> 00:06:27,230 die middel. 144 00:06:27,230 --> 00:06:30,100 Ons het ton van die hulpbronne vir jy beskikbaar op CS50. 145 00:06:30,100 --> 00:06:31,230 Ek het genoem sommige van hulle. 146 00:06:31,230 --> 00:06:32,960 Neem asseblief voordeel van hulle. 147 00:06:32,960 --> 00:06:35,140 As jy verward, ek is meer as gelukkig om jou te help verduidelik in 148 00:06:35,140 --> 00:06:39,290 'n ander manier, maar dit is nie regverdig nie, indien studente opdaag by kantoorure, 149 00:06:39,290 --> 00:06:42,530 het nog nie begin nie, en dit is Donderdag nag en hulle verwag 150 00:06:42,530 --> 00:06:45,880 die TF hulle loop deur elke enkele ding vir die probleem wat weens 151 00:06:45,880 --> 00:06:47,140 op die middag die volgende dag. 152 00:06:47,140 --> 00:06:48,300 Sin maak? 153 00:06:48,300 --> 00:06:50,890 Weereens, asseblief aan ons in die middel. 154 00:06:50,890 --> 00:06:53,230 >> En ten slotte, 'n hoë verwagtinge. 155 00:06:53,230 --> 00:06:58,010 Ek gaan gradering almal wat ons wees in my artikel, of scoring jou 156 00:06:58,010 --> 00:06:59,020 probleem stelle. 157 00:06:59,020 --> 00:07:01,240 Jy het nie omgedraai het nie probleem stel nul of een nie. 158 00:07:01,240 --> 00:07:02,250 Ons is jammer daaroor. 159 00:07:02,250 --> 00:07:04,970 Dit het ons 'n rukkie om uiteindelik skik afdelings, en nou 160 00:07:04,970 --> 00:07:05,560 ons kan begin gradering. 161 00:07:05,560 --> 00:07:09,560 >> Ek kry hulle terug na jou so gou as moontlik. 162 00:07:09,560 --> 00:07:11,890 Dit is 'n paar van my advisees daar buite. 163 00:07:11,890 --> 00:07:14,150 Ek kry hulle terug na jou so gou as moontlik. 164 00:07:14,150 --> 00:07:18,046 En vir die probleem stel twee, sal ons op skeduleer en ons sal begin om hulle 165 00:07:18,046 --> 00:07:20,440 aan u redelik vinnig nadat jy draai hulle in 166 00:07:20,440 --> 00:07:24,130 >> Wanneer jy jou probleem terug te stel, moet jy sal kry tellings, as jy weet uit 167 00:07:24,130 --> 00:07:28,150 lees die leerplan - korrektheid, ontwerp, omvang en styl tellings. 168 00:07:28,150 --> 00:07:29,760 Jy kry ook kommentaar. 169 00:07:29,760 --> 00:07:32,160 Die kommentaar is meer belangrik as die punte. 170 00:07:32,160 --> 00:07:33,780 Ek dink dit is veilig om te sê dat. 171 00:07:33,780 --> 00:07:37,930 >> Tellings is net 'n nommer van een tot vyf. 172 00:07:37,930 --> 00:07:38,930 Dit is moeilik om te lees in daardie. 173 00:07:38,930 --> 00:07:40,720 Dit is moeilik om te verbeter van diegene. 174 00:07:40,720 --> 00:07:44,460 Maar die kommentaar sal uitwys spesifieke dinge wat jy goed gedoen het of areas 175 00:07:44,460 --> 00:07:48,360 jy kan verbeter op en gee jou 'n paar idees vir die toekoms of alternatiewe 176 00:07:48,360 --> 00:07:49,160 maniere van dinge doen. 177 00:07:49,160 --> 00:07:52,270 >> So asseblief, asseblief, lees asseblief deur die kommentaar. 178 00:07:52,270 --> 00:07:54,190 Ek het 'n baie tyd in die kommentaar. 179 00:07:54,190 --> 00:07:57,190 Lees asseblief deur middel van hulle en nie net blaai af na die onderkant van die 180 00:07:57,190 --> 00:08:01,890 PDF, kyk uit vir jou telling, of gaan aanlyn en vind jou telling, en dan ignoreer 181 00:08:01,890 --> 00:08:02,800 die kommentaar. 182 00:08:02,800 --> 00:08:03,910 Dit is nie hoe jy gaan beter. 183 00:08:03,910 --> 00:08:06,550 Dit is hoe jy nie gaan om te verhoog jou tellings uiteindelik net 184 00:08:06,550 --> 00:08:07,340 deur te kyk na die tellings. 185 00:08:07,340 --> 00:08:08,760 Asseblief kyk na die kommentaar. 186 00:08:08,760 --> 00:08:13,240 >> En langs die lyn van 'n hoë verwagtinge, weer, soos ek gesê het, het jy 187 00:08:13,240 --> 00:08:14,260 kan behaal van een deur middel van vyf. 188 00:08:14,260 --> 00:08:17,120 Tweë, drieë, en viere is die oorgrote meerderheid van die tellings 189 00:08:17,120 --> 00:08:17,940 jy gaan kry. 190 00:08:17,940 --> 00:08:20,180 Ones en twintigs is albei baie skaars. 191 00:08:20,180 --> 00:08:21,720 Daar is altyd dinge ons beter kan doen. 192 00:08:21,720 --> 00:08:23,490 Wanneer ek Kode sal 'n program, is daar altyd iets wat ek 193 00:08:23,490 --> 00:08:24,800 kon beter gedoen het. 194 00:08:24,800 --> 00:08:28,740 >> So eerder as om te sê dat jy kry 'n vyf al die tyd oor alles en het 195 00:08:28,740 --> 00:08:31,960 alles perfek, ek dink nie enige van ons regtig glo dat ons - of 196 00:08:31,960 --> 00:08:34,830 Hopelik kan ons nie alles doen nie volkome al van die tyd. 197 00:08:34,830 --> 00:08:37,010 So moenie bekommerd wees as jy het nie 'n vyf. 198 00:08:37,010 --> 00:08:40,470 'N vyf nie verander na 'n A, 'n vier- nie verander na 'n B, 'n drie nie 199 00:08:40,470 --> 00:08:42,950 nie op 'n kaart C. Dit is nie hoe die tellings werk. 200 00:08:42,950 --> 00:08:48,140 >> Soos Dawid het gesê baie keer, op semester se einde al jou tellings en 201 00:08:48,140 --> 00:08:53,390 insette van my, jou TF, kom saam en bepaal 'n finale graad vir jou. 202 00:08:53,390 --> 00:08:56,760 Maar weereens, dit is nie vyf, A, vier, B, ensovoorts. 203 00:08:56,760 --> 00:09:01,150 So ek gaan 'n hoë verwagtinge te hê vir julle. 204 00:09:01,150 --> 00:09:03,670 Ek gaan 'n goeie probleem om te verwag stelle en ek gaan om te gee 205 00:09:03,670 --> 00:09:05,010 jy terugvoer as sodanig. 206 00:09:05,010 --> 00:09:07,430 En dit gaan nie te beteken jy gaan 'n erger graad te kry. 207 00:09:07,430 --> 00:09:09,760 Jy is gegradeer in terme van jou vordering vanaf week 208 00:09:09,760 --> 00:09:11,260 nul tot kursus se einde. 209 00:09:11,260 --> 00:09:17,190 >> En ten slotte, in terme van 'n hoë verwagtinge in die klas, ek is lief vir wanneer 210 00:09:17,190 --> 00:09:18,460 mense deel te neem. 211 00:09:18,460 --> 00:09:23,180 Ek verstaan ​​dat sommige mense voel meer of minder gemaklik deelneem. 212 00:09:23,180 --> 00:09:26,050 Ander mense is wat deelneem nie deur die verhoging van hul hand en 213 00:09:26,050 --> 00:09:27,320 praat al die tyd. 214 00:09:27,320 --> 00:09:30,570 Maar ons in hierdie klas gaan wees doen 'n baie klein probleme, 'n baie 215 00:09:30,570 --> 00:09:33,770 van mini vrae, en dan 'n paar groter kodering probleme. 216 00:09:33,770 --> 00:09:36,760 So beslis werk hierdie oefeninge uit wanneer ons dit doen op jou rekenaar of op 217 00:09:36,760 --> 00:09:37,900 'n vel papier. 218 00:09:37,900 --> 00:09:40,933 >> Maar Ek sal ook vir jou 'n geruime tyd voor niemand het nog ooit 'n paar te beantwoord 219 00:09:40,933 --> 00:09:42,220 van die vrae wat ek vra. 220 00:09:42,220 --> 00:09:44,930 So want ek sal gee jou 'n tyd om te dink daaroor, want ons gaan 221 00:09:44,930 --> 00:09:49,380 dinge om te doen in vennote soms, Ek sal verwag dat almal 222 00:09:49,380 --> 00:09:52,150 word 'n bietjie besig. 223 00:09:52,150 --> 00:09:56,030 En vir 'n gebrek aan 'n beter term, is daar sal waarskynlik koue roeping, wat 224 00:09:56,030 --> 00:09:59,045 is waar almal sal 'n kans hê na te dink oor die antwoord, en dan 225 00:09:59,045 --> 00:10:01,150 Ek sal 'n beroep op julle, en dan jy sê die antwoord. 226 00:10:01,150 --> 00:10:05,200 >> Moenie bekommerd wees nie, of bang wees oor wat. 227 00:10:05,200 --> 00:10:08,610 Ek het dit gedoen in die verlede en ons het gevind dat dit is baie meer suksesvol is, 228 00:10:08,610 --> 00:10:11,810 lees ook opvoedkundige navorsing daaroor te bepaal of dit was 'n 229 00:10:11,810 --> 00:10:12,640 goeie taktiek. 230 00:10:12,640 --> 00:10:15,790 Dit is baie nuttig, veral as jy gee studente die tyd om te dink oor die 231 00:10:15,790 --> 00:10:20,070 antwoorde en maak hulle nie net kom uit en sê dat dit reg van die kolf. 232 00:10:20,070 --> 00:10:22,620 Maar as jy nie gemaklik voel beantwoord, ek is ook redelik goed op 233 00:10:22,620 --> 00:10:25,370 aanvoel dat uit, en ons gaan nie sit jy op die plek, veral op 234 00:10:25,370 --> 00:10:28,240 die kamera, selfs al het nie een van jy is op kamera nou. 235 00:10:28,240 --> 00:10:32,250 >> So wat is die norme wat ek het. 236 00:10:32,250 --> 00:10:34,670 Nog 'n ding langs die lyne van die vergadering in die middel. 237 00:10:34,670 --> 00:10:36,490 Ek gaan gee julle 'n baie terugvoer. 238 00:10:36,490 --> 00:10:38,310 Gee asseblief vir my terugvoering as well. 239 00:10:38,310 --> 00:10:46,190 Daar is 'n webwerf, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 So dit is 'n eerlike terugvoer. 241 00:10:48,380 --> 00:10:50,730 As jy wil om dit te gee tydens die artikel, Ek kry 'n e-pos wanneer dit gebeur. 242 00:10:50,730 --> 00:10:53,820 Ons sal 'n onderbreking in 'n bietjie te neem, so ek sal kyk deur die terugvoer dan. 243 00:10:53,820 --> 00:10:55,970 As jy ooit enige terugvoer, gee dit vir my daar. 244 00:10:55,970 --> 00:11:01,380 >> As jy gee my terugvoer oor die Q, dis wonderlik, maar dit is die gids 245 00:11:01,380 --> 00:11:02,570 wat jy doen aan die einde. 246 00:11:02,570 --> 00:11:05,690 Maar wat sal wees by semester se einde so Ek sal nie in staat wees om enige van daardie te neem 247 00:11:05,690 --> 00:11:08,620 terugvoer en draai dit in onderrig julle ouens beter. 248 00:11:08,620 --> 00:11:11,020 So asseblief, as jy enige terugvoer, gee dit aan my. 249 00:11:11,020 --> 00:11:12,010 Ek is lief vir terugvoer. 250 00:11:12,010 --> 00:11:14,490 Terug na FOP, kry ons terugvoer al die tyd. 251 00:11:14,490 --> 00:11:18,610 >> U kan my plusse, goeie dinge, deltas, dinge wat ek kan verbeter. 252 00:11:18,610 --> 00:11:20,600 Jy kan nie kommentaar lewer oor my uitrustings. 253 00:11:20,600 --> 00:11:24,170 Dit sal nie as nuttig, maar jy welkom om kommentaar te lewer op enige en 254 00:11:24,170 --> 00:11:24,570 alles. 255 00:11:24,570 --> 00:11:26,280 Asseblief, gee my terugvoer. 256 00:11:26,280 --> 00:11:28,740 Ek waardeer dit baie en dit beteken baie vir my. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> Een meer norm, pret. 259 00:11:33,280 --> 00:11:34,530 Ons gaan 'n baie pret te hê. 260 00:11:34,530 --> 00:11:36,930 Hopelik sal in hierdie kursus, sal jy het 'n baie pret. 261 00:11:36,930 --> 00:11:38,780 Ons sal lekkergoed by artikel. 262 00:11:38,780 --> 00:11:40,040 Ons sal musiek. 263 00:11:40,040 --> 00:11:45,510 Ons sal hopelik om een ​​te leer ken nog 'n bietjie goed, so ek wil 264 00:11:45,510 --> 00:11:47,690 dat dit 'n prettige, innemende ervaring. 265 00:11:47,690 --> 00:11:50,890 >> Ek weet sommige van julle aan die slaap geraak in Die lesings jy het vroeër vandag, 266 00:11:50,890 --> 00:11:53,750 so hopelik dit sal nie wees nou die geval is. 267 00:11:53,750 --> 00:11:55,960 En as dit die geval is, net snork nie, want dit mag 268 00:11:55,960 --> 00:11:57,580 word op kamera vasgevang. 269 00:11:57,580 --> 00:11:58,770 Soet. 270 00:11:58,770 --> 00:12:04,020 Enige vrae, kommentaar of bekommernisse voordat ek beweeg oor iets wat ons het 271 00:12:04,020 --> 00:12:05,270 gepraat oor? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Groot. 274 00:12:11,350 --> 00:12:14,830 >> So ons gaan om te gaan in skikkings eerste. 275 00:12:14,830 --> 00:12:17,140 Dit is hoe jy 'n skikking. 276 00:12:17,140 --> 00:12:18,410 Ons het gesien dat dit voor. 277 00:12:18,410 --> 00:12:21,830 Jy het 'n data tipe, jy het 'n naam, en dan moet jy 'n grootte. 278 00:12:21,830 --> 00:12:24,430 Reg hier, Ek skep twee skikkings. 279 00:12:24,430 --> 00:12:30,360 Die eerste een is 'n verskeidenheid van die karakters, en dit het 26 ruimtes. 280 00:12:30,360 --> 00:12:33,790 Die tweede een is 'n verskeidenheid van tellings, en dit het drie 281 00:12:33,790 --> 00:12:35,390 ruimtes vir drie heelgetalle. 282 00:12:35,390 --> 00:12:35,827 Ja? 283 00:12:35,827 --> 00:12:38,200 >> STUDENT: Is al hierdie skyfies beskikbaar iewers vir ons? 284 00:12:38,200 --> 00:12:38,850 >> JASON Hirschhorn: Groot vraag. 285 00:12:38,850 --> 00:12:40,650 Die vraag was, is al hierdie skyfies beskikbaar? 286 00:12:40,650 --> 00:12:40,920 Ja. 287 00:12:40,920 --> 00:12:43,420 Al hierdie skyfies beskikbaar sal wees, en in die toekoms, sal ek e-pos om hulle te 288 00:12:43,420 --> 00:12:44,640 jy voor afdeling. 289 00:12:44,640 --> 00:12:47,340 Maar vandag, want dit is die eerste week, het ons 'n laat begin. 290 00:12:47,340 --> 00:12:49,675 So gewoonlik, sal jy hierdie skyfies, maar hulle sal aanlyn beskikbaar wees en 291 00:12:49,675 --> 00:12:52,420 Ek sal e-pos dit aan jou reg na die klas. 292 00:12:52,420 --> 00:12:54,140 Enige ander vrae? 293 00:12:54,140 --> 00:13:01,330 >> So weer, skikkings is bokse, vir 'n gebrek aan 'n beter woord, wat vashou aan verskeie 294 00:13:01,330 --> 00:13:06,420 elemente van 'n data tipe, en hulle is langs mekaar in die geheue. 295 00:13:06,420 --> 00:13:11,370 En dit weer, dit is hoe jy kan maak twee tipes van skikkings. 296 00:13:11,370 --> 00:13:15,090 >> So nadat jy jou skikking dat die eerste lyn - int tellings, bracket 297 00:13:15,090 --> 00:13:17,430 drie, naby bracket - jy wil om dit te begin. 298 00:13:17,430 --> 00:13:19,050 Jy wil 'n paar waardes te sit in daar. 299 00:13:19,050 --> 00:13:24,660 En dit is hoe jy sit 'n paar waardes in daar, net die keuse van die indice en 300 00:13:24,660 --> 00:13:25,670 skryf die getal. 301 00:13:25,670 --> 00:13:27,130 Kom ons teken dit op die bord. 302 00:13:27,130 --> 00:13:28,270 Almal kan sien? 303 00:13:28,270 --> 00:13:29,030 Almal kan sien. 304 00:13:29,030 --> 00:13:30,790 Soet. 305 00:13:30,790 --> 00:13:36,550 >> So wat gaan wees my skikking met die naam tellings. 306 00:13:36,550 --> 00:13:37,730 Soos jy kan sien, is dit groot drie. 307 00:13:37,730 --> 00:13:39,210 Daar is drie bokse in daar. 308 00:13:39,210 --> 00:13:43,120 Elkeen kan inpas wat tipe data tipe? 309 00:13:43,120 --> 00:13:43,790 >> STUDENT: Integer. 310 00:13:43,790 --> 00:13:45,250 >> JASON Hirschhorn: 'n heelgetal in hierdie een. 311 00:13:45,250 --> 00:13:48,790 Ons het int tellings, en die eerste woord is die data tipe wat gaan 312 00:13:48,790 --> 00:13:50,910 gaan in die bokse in die skikking. 313 00:13:50,910 --> 00:13:52,160 So ek kan inpas drie. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 Hoekom het ek nul tot daar op die bord? 316 00:13:57,000 --> 00:13:59,240 Hoekom sê dit telling nul is gelyk aan 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Herinner my aan jou naam. 319 00:14:03,180 --> 00:14:03,470 >> STUDENT: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> JASON Hirschhorn: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> STUDENT: Ja. 322 00:14:04,480 --> 00:14:04,920 >> JASON Hirschhorn: Hoekom? 323 00:14:04,920 --> 00:14:07,230 >> STUDENT: Omdat die eerste indeks nul, het ons begin tel by nul. 324 00:14:07,230 --> 00:14:08,480 >> JASON Hirschhorn: So het ons begin tel op nul. 325 00:14:08,480 --> 00:14:09,580 Dit is presies reg. 326 00:14:09,580 --> 00:14:12,340 Dit is die verwarrende deel en wil reis jy het, veral wanneer jy 327 00:14:12,340 --> 00:14:14,900 probeer om Itereer deur skikkings, wat ons gaan doen in 'n bietjie. 328 00:14:14,900 --> 00:14:15,980 Ons begin tel by nul. 329 00:14:15,980 --> 00:14:19,170 So as ek wil om te verwys na die eerste boks, dit is nie 'n boks. 330 00:14:19,170 --> 00:14:22,290 Ongelukkig is dit boks nul. 331 00:14:22,290 --> 00:14:26,460 Die tweede een is box een, en in hierdie geval, die derde een is box twee. 332 00:14:26,460 --> 00:14:28,700 >> Wat van box drie? 333 00:14:28,700 --> 00:14:30,670 Waar is box drie? 334 00:14:30,670 --> 00:14:34,750 Of as ek wil tellings, bracket te doen drie, naby bracket, wat is dit? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 So jy het die nul karakter. 337 00:14:39,760 --> 00:14:41,600 Enige ander gedagtes? 338 00:14:41,600 --> 00:14:44,590 Wat is telling bracket drie bracket? 339 00:14:44,590 --> 00:14:48,045 >> STUDENT: Dit maak nie regtig bestaan ​​nie, want jy net gedefinieer as tellings, 340 00:14:48,045 --> 00:14:49,370 bracket drie. 341 00:14:49,370 --> 00:14:51,400 >> JASON Hirschhorn: So jy sê dit maak nie regtig bestaan ​​nie. 342 00:14:51,400 --> 00:14:54,230 In sommige gevalle, wanneer ons te doen het met snare, oor die algemeen sal ons sit 'n nul 343 00:14:54,230 --> 00:14:54,790 karakter aan die einde. 344 00:14:54,790 --> 00:14:56,100 Ons sal kry om dit in 'n tweede. 345 00:14:56,100 --> 00:15:01,020 Maar in hierdie geval, is daar is nie 'n derde boks hier. 346 00:15:01,020 --> 00:15:06,390 So het die laaste boks in enige skikking is grootte minus 1. 347 00:15:06,390 --> 00:15:11,310 So as ons 'n verskeidenheid van grootte n, die eerste boks is op nul, die laaste een is 348 00:15:11,310 --> 00:15:12,700 op n minus 1. 349 00:15:12,700 --> 00:15:14,970 En in hierdie geval, beteken dit nie bestaan ​​nie. 350 00:15:14,970 --> 00:15:17,970 Daar is iets wat hier in geheue, maar dit is nie ons s'n nie. 351 00:15:17,970 --> 00:15:18,460 Ons besit dit nie. 352 00:15:18,460 --> 00:15:19,570 Ons het nie gevra vir dit. 353 00:15:19,570 --> 00:15:22,606 So as ons probeer om dit te bekom, wat ons doen in 'n bietjie, ons is waarskynlik gaan om te 354 00:15:22,606 --> 00:15:24,970 in die moeilikheid beland. 355 00:15:24,970 --> 00:15:29,180 >> In hierdie geval, ek initializing my skikking met drie veranderlikes. 356 00:15:29,180 --> 00:15:36,195 Ons is besig om 'n mens in die boks nul, 'n twee in box een, en 'n drie in die boks twee. 357 00:15:36,195 --> 00:15:39,280 Het enige iemand enige vrae oor initializing 'n skikking? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> So het ons oor hierdie nou net. 360 00:15:46,970 --> 00:15:52,725 Tellings, bracket drie, naby bracket, wat nie bestaan ​​nie. 361 00:15:52,725 --> 00:15:58,130 Ons is nul is opgeneem in die rekenaar wetenskap, sodat ons begin tel by nul. 362 00:15:58,130 --> 00:16:01,860 Die laaste boks aan ons beskikbaar is, is dit die derde boks, maar dit is bekend box 363 00:16:01,860 --> 00:16:03,110 nommer twee. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> Onder, dit is 'n alternatiewe manier van initializing skikkings. 366 00:16:09,710 --> 00:16:13,410 So in plaas van die skep van die skikking op 'n lyn, vul die eerste boks, dan 367 00:16:13,410 --> 00:16:17,070 die tweede boks, dan is die derde boks, wat jy kan doen dit alles in een lyn. 368 00:16:17,070 --> 00:16:19,040 So in daardie lyn, beide skikkings. 369 00:16:19,040 --> 00:16:23,460 Dit skep presies dieselfde skikking as wat ons geskep reg hier, maar dit 370 00:16:23,460 --> 00:16:24,710 net doen dit in een lyn. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Nou het ons geskep om ons verskeidenheid. 373 00:16:31,360 --> 00:16:34,100 Gewoonlik wanneer jy skep 'n skikking, jy wil om iets te doen met dit, of 374 00:16:34,100 --> 00:16:38,430 dis vul dit of dinge uit dit en druk dit uit op die skerm. 375 00:16:38,430 --> 00:16:42,270 In hierdie geval is, gaan ons deur middel van ons tellings skikking, wat ons geïnisialiseer op 376 00:16:42,270 --> 00:16:44,740 die eerste line-up hier in grys. 377 00:16:44,740 --> 00:16:49,600 En dan op die tweede lyn, ons begin iterating deur die skikking. 378 00:16:49,600 --> 00:16:52,640 Het enige iemand enige vrae oor die struktuur van 'n for-lus? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> So dit is die lus vir. 381 00:16:56,400 --> 00:16:59,530 Ons het ons aanvanklike toestand is, en dan ons finale toestand, en dan het ons 382 00:16:59,530 --> 00:17:01,160 Itereer, i, elke lus. 383 00:17:01,160 --> 00:17:05,579 En in die krulhakies in hierdie vir lus, wat gebeur as ek was om te hardloop 384 00:17:05,579 --> 00:17:06,290 hierdie program? 385 00:17:06,290 --> 00:17:10,410 Kan iemand vir my sê wat ons sou kry? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> Matu: Druk al die tellings op elke lyn. 388 00:17:13,819 --> 00:17:14,900 Dit sal druk elke telling op 'n aparte lyn. 389 00:17:14,900 --> 00:17:16,300 >> JASON Hirschhorn: Wat presies sou dit druk? 390 00:17:16,300 --> 00:17:19,790 >> STUDENT: Dit sal druk een, dan twee, dan drie. 391 00:17:19,790 --> 00:17:20,235 >> JASON Hirschhorn: Presies. 392 00:17:20,235 --> 00:17:23,490 Dit sal druk een, dan twee, dan drie, elkeen op 'n aparte lyne, want 393 00:17:23,490 --> 00:17:27,810 ons gaan deur middel van die skikking en jy sal sien dat die tweede, die printf 394 00:17:27,810 --> 00:17:29,275 verklaring, tellings i. 395 00:17:29,275 --> 00:17:32,880 So op die eerste ronde deur ons vir lus, ek is gelyk aan nul, wat beteken ons is 396 00:17:32,880 --> 00:17:34,640 om die waarde te telling nul - 397 00:17:34,640 --> 00:17:36,900 wat, as ons gaan terug na ons diagram, is een - 398 00:17:36,900 --> 00:17:38,630 en in te vul - 399 00:17:38,630 --> 00:17:39,700 O, dit sê c. 400 00:17:39,700 --> 00:17:41,680 Dit behoort% d wees. 401 00:17:41,680 --> 00:17:43,970 Ek sal regmaak wat in 'n bietjie wanneer Ek hand wat aan julle. 402 00:17:43,970 --> 00:17:48,670 Maar ons is die aanbieding van 'n heelgetal, sodat dit behoort% d reg hier te wees, nie% c. 403 00:17:48,670 --> 00:17:50,340 Wat is% c vir? 404 00:17:50,340 --> 00:17:50,790 >> STUDENT: Character. 405 00:17:50,790 --> 00:17:52,680 >> JASON Hirschhorn: Character, presies. 406 00:17:52,680 --> 00:17:53,690 Wat is die ander een? 407 00:17:53,690 --> 00:17:56,260 As jy nie wil hê% d te doen vir 'n integer, wat anders kan jy doen? 408 00:17:56,260 --> 00:17:57,000 >> STUDENT: i. 409 00:17:57,000 --> 00:17:59,180 >> JASON Hirschhorn:% i, presies. 410 00:17:59,180 --> 00:18:01,660 So enige vrae oor iterating deur middel van die skikking? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 So wat gebeur as ons dit doen? 413 00:18:07,800 --> 00:18:10,290 In plaas daarvan om dit te doen Ek is minder as drie, ons i is minder 414 00:18:10,290 --> 00:18:11,390 as of gelyk aan drie. 415 00:18:11,390 --> 00:18:13,420 Wat gebeur wanneer ons gebruik hierdie kode? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Ja, Annie? 418 00:18:18,940 --> 00:18:22,030 >> STUDENT: Hulle gaan om uit te druk vreemde dinge op die vierde lyn. 419 00:18:22,030 --> 00:18:23,850 >> JASON Hirschhorn: So jy sê, is dit gaan uit te druk vreemde dinge op die 420 00:18:23,850 --> 00:18:24,390 vierde reël? 421 00:18:24,390 --> 00:18:25,750 Het enige iemand 'n antwoord om haar vraag? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 So is die kans is dat wanneer ons by die - 424 00:18:33,160 --> 00:18:36,700 so op die vierde ronde deur ons vir lus, net soos jy gedink, Annie, 425 00:18:36,700 --> 00:18:39,430 dit sal wees tellings bracket drie, wat ons het reeds uitgepluis het nie 426 00:18:39,430 --> 00:18:41,990 bestaan ​​nie, en ons gaan om te probeer en toegang tot dat dit druk 427 00:18:41,990 --> 00:18:43,350 het, gebruik dit om een ​​of ander manier. 428 00:18:43,350 --> 00:18:46,060 So sal die rekenaar waarskynlik kry mal by ons. 429 00:18:46,060 --> 00:18:46,760 Jy is presies reg. 430 00:18:46,760 --> 00:18:48,830 >> Dit mag dalk die program heeltemal ophou. 431 00:18:48,830 --> 00:18:52,222 Dit mag dalk druk iets baie vreemd. 432 00:18:52,222 --> 00:18:53,420 Jy kan nie met sekerheid sê nie. 433 00:18:53,420 --> 00:18:56,210 Kans is dit sal waarskynlik kry mal by jy en net reg om weg te hou. 434 00:18:56,210 --> 00:19:00,100 >> Maar dit is 'n algemene fout wat jy sal moet waar jy net af deur die een by 435 00:19:00,100 --> 00:19:05,110 die einde nie, en dit is 'n fout wat plaag jy in jou hele kodering. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 Een manier wat ek wil doen is net op 'n witbord, gaan deur elke iterasie 438 00:19:14,150 --> 00:19:18,190 van die lus op die hand of op papier te sien wat gebeur, en dan is jy 439 00:19:18,190 --> 00:19:20,440 algemeen besef, O wag, ek moet nie het gegaan na minder as of 440 00:19:20,440 --> 00:19:20,870 gelyk aan drie. 441 00:19:20,870 --> 00:19:24,730 Ek moes gestop het by twee, wat wat gebeur as jou toestand is minder 442 00:19:24,730 --> 00:19:26,206 as drie. 443 00:19:26,206 --> 00:19:29,120 Enige vrae so ver? 444 00:19:29,120 --> 00:19:31,010 Soet. 445 00:19:31,010 --> 00:19:33,360 >> Sodat jy al jou rekenaars oop. 446 00:19:33,360 --> 00:19:36,760 Ons gaan om te gee jou 02:58 minute om 'n program te skryf wat 447 00:19:36,760 --> 00:19:40,460 skep 'n skikking met die heelgetalle een deur vyf en dan druk uit elke 448 00:19:40,460 --> 00:19:41,720 integer op 'n nuwe reël. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 En as jy enige vrae het, verhoog jou hand. 451 00:19:46,000 --> 00:19:48,140 Ek is bly om te kom deur. 452 00:19:48,140 --> 00:19:50,630 Soos ek gesê het, kom ons neem drie minute om dit te skryf. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 Is almal OK as ek gaan na 'n 'n nuwe venster en sluit dit? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Ek is jammer as jy nog nie 'n kans gehad het te voltooi nie, maar ons gaan om dit te doen 457 00:22:15,520 --> 00:22:17,310 saam nou. 458 00:22:17,310 --> 00:22:23,640 So op die skerm, sluit ek het # cs50.h, # sluit stdio.h. 459 00:22:23,640 --> 00:22:26,090 Kan iemand my vertel wat hierdie twee lyne doen? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 Michael? 462 00:22:33,155 --> 00:22:40,030 >> STUDENT: Dit sluit in die biblioteke dat CS50 gemaak en dat Steve het 463 00:22:40,030 --> 00:22:44,210 gered vir jou om te gebruik om te maak jou lewe makliker te maak. 464 00:22:44,210 --> 00:22:46,820 >> JASON Hirschhorn: So jy het gesê hulle sluit in die biblioteke, een wat CS50 465 00:22:46,820 --> 00:22:51,230 gemaak, cs50.h, en een wat net standaard, kom met 466 00:22:51,230 --> 00:22:53,510 die C-pakket, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Wat bedoel jy sluit die biblioteke, al is? 468 00:22:54,890 --> 00:22:55,770 Kan jy 'n bietjie meer spesifiek? 469 00:22:55,770 --> 00:23:01,180 >> STUDENT: Dit maak dit so dat jy kan gebruik om sekere kodewoorde 'n te hê 470 00:23:01,180 --> 00:23:05,710 funksioneer gebeur sonder om te gaan en maak die funksie c jouself. 471 00:23:05,710 --> 00:23:08,730 >> JASON Hirschhorn: Kan jy gee my 'n voorbeeld? 472 00:23:08,730 --> 00:23:11,160 >> STUDENT: Soos printf is een wat jy kan gebruik. 473 00:23:11,160 --> 00:23:11,860 >> JASON Hirschhorn: printf. 474 00:23:11,860 --> 00:23:14,680 So jy het gesê printf is een van daardie funksies waar eerder as om te 475 00:23:14,680 --> 00:23:19,840 skryf printf op jou eie, is printf ingesluit eintlik in stdio.h, sodat jy 476 00:23:19,840 --> 00:23:22,010 kan net dit gebruik en aanvaar dat dit sal werk. 477 00:23:22,010 --> 00:23:28,270 In stdio.h, as jy oopgemaak het die lêer, sou dit sluit in hoe printf 478 00:23:28,270 --> 00:23:31,620 werke, almal van die kode vir printf? 479 00:23:31,620 --> 00:23:33,105 Hoekom is jy skud jou kop? 480 00:23:33,105 --> 00:23:35,710 >> STUDENT: Omdat die kop lêer net sluit in die funksie verklaring. 481 00:23:35,710 --> 00:23:36,400 >> JASON Hirschhorn: Presies reg. 482 00:23:36,400 --> 00:23:39,680 Die kop lêer sluit net die funksie verklaring. 483 00:23:39,680 --> 00:23:42,950 So basies, wanneer jy dit getref Maak graaf, wat ons gaan doen in 'n 484 00:23:42,950 --> 00:23:48,070 Tweedens, die samesteller weet dat as jy printf gebruik, bestaan ​​printf. 485 00:23:48,070 --> 00:23:49,370 Dit gaan om iewers gedefinieer. 486 00:23:49,370 --> 00:23:51,200 Dit is nie 'n probleem vir jou om dit te gebruik. 487 00:23:51,200 --> 00:23:55,490 En dan later, sal dit sluit in die ene en nulle, wat eintlik bevat 488 00:23:55,490 --> 00:23:58,360 printf se implementering en saam te smelt dit met jou kode. 489 00:23:58,360 --> 00:24:01,935 Hoe kan jy seker maak dat dit sluit in die ene en nulle vir, sê, kry string? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> STUDENT: Kry string is in cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> JASON Hirschhorn: Right. 493 00:24:07,830 --> 00:24:11,110 So wat sê jy string bestaan, die funksie verklaring. 494 00:24:11,110 --> 00:24:15,410 Maar dan is die ene en nulle, die binêre lêer wat eintlik die sluit 495 00:24:15,410 --> 00:24:17,370 implementering van get string? 496 00:24:17,370 --> 00:24:19,310 Hoe kan jy seker maak dat gaan saam met jou program? 497 00:24:19,310 --> 00:24:23,220 >> STUDENT: Slaag die linkerkant in die opdrag lyn argument. 498 00:24:23,220 --> 00:24:25,430 >> JASON Hirschhorn: Slaag die linkerkant in die command line argument. 499 00:24:25,430 --> 00:24:26,700 Hoe doen jy dit? 500 00:24:26,700 --> 00:24:29,730 >> STUDENT: Dit is die L-lyn in die klang 501 00:24:29,730 --> 00:24:30,480 >> JASON Hirschhorn: Presies reg. 502 00:24:30,480 --> 00:24:32,900 Jy sê-l cs50, reg? 503 00:24:32,900 --> 00:24:34,940 Dit sluit die kinders en nulle. 504 00:24:34,940 --> 00:24:36,460 >> STUDENT: Maar maak nie wat vir jou reg? 505 00:24:36,460 --> 00:24:37,010 >> JASON Hirschhorn: Presies. 506 00:24:37,010 --> 00:24:40,390 Maak beteken dit vir jou, maar uiteindelik, jy sal dit nie maak nie, of 507 00:24:40,390 --> 00:24:43,220 jy sal hê om 'n maak op jou eie, so dit is 'n 508 00:24:43,220 --> 00:24:43,940 goeie ding om te onthou. 509 00:24:43,940 --> 00:24:47,350 As jy gaan een van hierdie te gebruik ander biblioteke, nie net jy 510 00:24:47,350 --> 00:24:49,490 te skryf # sluit en dan is die biblioteek. 511 00:24:49,490 --> 00:24:51,420 Jy moet ook om dit te skakel in 512 00:24:51,420 --> 00:24:54,480 En dié twee dinge is anders. -L cs50 is verskillende 513 00:24:54,480 --> 00:24:59,260 as # sluit cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Dan het ons int main leemte krulhakies, en nou gaan ons die kode 515 00:25:02,870 --> 00:25:03,590 binne hoof. 516 00:25:03,590 --> 00:25:07,090 Die eerste lyn wat ek hier het is 'n kommentaar wat sê: Skep 'n skikking 517 00:25:07,090 --> 00:25:08,820 met ints een deur middel van vyf. 518 00:25:08,820 --> 00:25:12,600 Wat is 'n goeie woord om te beskryf wat ek het nou op die skerm, net 519 00:25:12,600 --> 00:25:14,170 kommentaar binne hoof? 520 00:25:14,170 --> 00:25:15,722 Wat noem ons dit? 521 00:25:15,722 --> 00:25:16,820 >> STUDENT: pseudokode. 522 00:25:16,820 --> 00:25:17,840 >> JASON Hirschhorn: pseudokode. 523 00:25:17,840 --> 00:25:18,420 Dankie, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 Dit is presies reg. 525 00:25:19,540 --> 00:25:20,005 Pseudokode. 526 00:25:20,005 --> 00:25:22,854 Het julle gesien pseudokode voor? 527 00:25:22,854 --> 00:25:28,340 Lig jou hand as jy gebruik pseudokode voor probleem stel een. 528 00:25:28,340 --> 00:25:29,400 Ongeveer die helfte van jou. 529 00:25:29,400 --> 00:25:32,700 >> Ek sou raai die gebruik van pseudokode af te breek probleme in 530 00:25:32,700 --> 00:25:35,210 kleiner, meer maklik om af te byt stukke. 531 00:25:35,210 --> 00:25:38,630 Ook, as jy nie die pseudokode, jy jou kommentaar reeds grootliks 532 00:25:38,630 --> 00:25:40,760 gebou in, so jy hoef nie te Gaan terug en probeer om uit te vind 533 00:25:40,760 --> 00:25:42,450 wat jy doen. 534 00:25:42,450 --> 00:25:44,730 So kan iemand gee my daardie eerste lyn 'n skikking te skep met ints een 535 00:25:44,730 --> 00:25:45,980 deur vyf? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Jy? 538 00:25:49,130 --> 00:25:53,350 >> STUDENT: Int en dan kan jy noem watter nommer, en dan vierkante 539 00:25:53,350 --> 00:25:54,830 bracket vyf. 540 00:25:54,830 --> 00:25:57,820 >> JASON Hirschhorn: So int getalle, vierkante hakies vyf. 541 00:25:57,820 --> 00:25:59,160 >> STUDENT: gelykes, en dan krullerige draadjies. 542 00:25:59,160 --> 00:26:00,830 >> JASON Hirschhorn: gelykes, krullerige draadjies. 543 00:26:00,830 --> 00:26:01,830 >> STUDENT: Een, twee, drie, vier. 544 00:26:01,830 --> 00:26:05,566 >> JASON Hirschhorn: Een, twee, drie, vier, vyf. 545 00:26:05,566 --> 00:26:07,390 >> STUDENT: En dan krulhakies en dan kommapunt. 546 00:26:07,390 --> 00:26:09,240 >> JASON Hirschhorn: En krullerige draadjies en kommapunt. 547 00:26:09,240 --> 00:26:10,330 Uitstekend. 548 00:26:10,330 --> 00:26:12,210 Druk elke int op 'n nuwe reël. 549 00:26:12,210 --> 00:26:17,140 Kan iemand anders gee my kode, asseblief? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Gaan voort. 552 00:26:18,560 --> 00:26:20,440 >> STUDENT: Vir ( 553 00:26:20,440 --> 00:26:21,750 >> JASON Hirschhorn: Vir ( 554 00:26:21,750 --> 00:26:23,740 >> STUDENT: Int i = 0 555 00:26:23,740 --> 00:26:26,070 >> JASON Hirschhorn: Int i = 0 556 00:26:26,070 --> 00:26:28,190 >> STUDENT: Flitser i minder as vyf. 557 00:26:28,190 --> 00:26:31,680 >> JASON Hirschhorn: komma i minder as 5. 558 00:26:31,680 --> 00:26:33,600 >> STUDENT: komma i + +. 559 00:26:33,600 --> 00:26:35,140 >> JASON Hirschhorn: komma i + +. 560 00:26:35,140 --> 00:26:37,720 >> STUDENT: Geslote hakies, dan open stut. 561 00:26:37,720 --> 00:26:39,410 >> JASON Hirschhorn: Geslote hakies en twee stutte. 562 00:26:39,410 --> 00:26:40,510 Binne-in die draadjies? 563 00:26:40,510 --> 00:26:47,640 >> STUDENT: En dan printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> JASON Hirschhorn: Jammer, hou op. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, geslote kwotasie. 566 00:26:52,330 --> 00:26:55,980 >> STUDENT: En dan geslote kwotasie, komma, telling, bracket i. 567 00:26:55,980 --> 00:26:58,350 >> JASON Hirschhorn: Komma, tel, bracket i. 568 00:26:58,350 --> 00:26:59,970 >> STUDENT: Jammer, getalle bracket i. 569 00:26:59,970 --> 00:27:01,416 >> JASON Hirschhorn: Nommers, bracket i. 570 00:27:01,416 --> 00:27:03,200 >> STUDENT: Jammer. 571 00:27:03,200 --> 00:27:04,750 En dan gesluit hakies, kommapunt. 572 00:27:04,750 --> 00:27:07,156 >> JASON Hirschhorn: Geslote hakies, kommapunt. 573 00:27:07,156 --> 00:27:08,680 Ek gaan dit te red. 574 00:27:08,680 --> 00:27:12,670 Ons gaan tel te maak. 575 00:27:12,670 --> 00:27:14,742 En hoe kan ek tel? 576 00:27:14,742 --> 00:27:16,470 >> STUDENT: agteroorskuisstreep. 577 00:27:16,470 --> 00:27:17,180 >> STUDENT: Dot slash - 578 00:27:17,180 --> 00:27:18,050 >> JASON Hirschhorn:. / Tel, presies. 579 00:27:18,050 --> 00:27:19,380 Dankie. . / Tel. 580 00:27:19,380 --> 00:27:21,060 Een, twee, drie, vier, vyf nuwe lyne. 581 00:27:21,060 --> 00:27:22,110 Lyk soos dit het gewerk. 582 00:27:22,110 --> 00:27:23,200 Ja, Noag? 583 00:27:23,200 --> 00:27:26,660 >> STUDENT: Jy kan ook minder as of doen gelyk aan vier, net soos ek is minder as 584 00:27:26,660 --> 00:27:27,630 of gelyk aan vier? 585 00:27:27,630 --> 00:27:31,190 Is daar enige voordeel te doen minder as vyf, of net 'n ander manier 586 00:27:31,190 --> 00:27:31,610 skryf dit? 587 00:27:31,610 --> 00:27:35,280 >> JASON Hirschhorn: Dus die vraag is wat jy kon gedoen het ek minder as of 588 00:27:35,280 --> 00:27:37,450 gelyk aan vier in plaas van Ek is minder as vyf. 589 00:27:37,450 --> 00:27:38,935 Sou dit gewerk het dieselfde? 590 00:27:38,935 --> 00:27:39,760 >> STUDENT: dit moet. 591 00:27:39,760 --> 00:27:39,860 >> JASON Hirschhorn: Ja. 592 00:27:39,860 --> 00:27:41,660 Dit heeltemal sal werk het dieselfde. 593 00:27:41,660 --> 00:27:44,780 Stilisties, dit is oor die algemeen minder as, en jy sal sien in 'n tweede toe 594 00:27:44,780 --> 00:27:48,160 ons snare, kan jy gebruik om iets genoem strlen, wat jy gesien het 595 00:27:48,160 --> 00:27:50,380 voor, om die lengte van die string. 596 00:27:50,380 --> 00:27:54,090 En jy kan dit nie doen nie minder nie as of gelyk strlen. 597 00:27:54,090 --> 00:27:56,500 Jy kan minder as of doen gelyk strlen minus een. 598 00:27:56,500 --> 00:27:59,260 So dit is net mooier te doen minder as strlen. 599 00:27:59,260 --> 00:28:00,240 Ja? 600 00:28:00,240 --> 00:28:03,270 >> Student is en in die werklike vasvrae, doen Ons het kommentaar op ons te voorsien 601 00:28:03,270 --> 00:28:04,620 kode, asook? 602 00:28:04,620 --> 00:28:06,130 >> JASON Hirschhorn: Die vraag is in vasvrae, het jy 603 00:28:06,130 --> 00:28:07,760 het om kommentaar te lewer? 604 00:28:07,760 --> 00:28:12,050 So sal ons meer praat oor vasvrae wanneer hulle kom op, maar oor die algemeen 'n goeie 605 00:28:12,050 --> 00:28:14,530 reël is wanneer jy kode skryf, kommentaar lewer. 606 00:28:14,530 --> 00:28:18,130 As jy die kode verkeerd is, maar die kommentaar te lewer reg is, kan jy kry 'n paar 607 00:28:18,130 --> 00:28:22,280 krediet beide van my as ek gradering jy op 'n probleem stel of op 'n quiz. 608 00:28:22,280 --> 00:28:24,660 So kommentaar is altyd goeie te lewer. 609 00:28:24,660 --> 00:28:25,040 Soet. 610 00:28:25,040 --> 00:28:25,460 Tel. 611 00:28:25,460 --> 00:28:26,720 Uitstekende werk. 612 00:28:26,720 --> 00:28:28,570 Kom ons beweeg aan. 613 00:28:28,570 --> 00:28:29,920 >> Snare. 614 00:28:29,920 --> 00:28:30,630 Snare. 615 00:28:30,630 --> 00:28:31,730 Ons het gesien dat dit voor in lesing. 616 00:28:31,730 --> 00:28:33,390 Dit blaas my gedagtes toe ek eerste het gevind dat hierdie uit. 617 00:28:33,390 --> 00:28:37,240 Dit het waarskynlik nie blaas enigiemand se gee hier, maar dit is OK. 618 00:28:37,240 --> 00:28:41,260 >> Strings is skikkings van die karakters, en het hulle uiteindelik met, soos jy vroeër gesê het, 619 00:28:41,260 --> 00:28:45,710 die nul terminator, wat is dit / 0 karakter. 620 00:28:45,710 --> 00:28:47,740 As ons gaan 'n string op die te trek raad, sal ons dit tog hier. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 So hoe lank is die tou? 623 00:28:56,420 --> 00:28:56,680 Jammer. 624 00:28:56,680 --> 00:28:57,660 Hoe lank is hierdie string? 625 00:28:57,660 --> 00:28:57,910 >> STUDENT: [onhoorbaar]. 626 00:28:57,910 --> 00:28:59,010 >> JASON Hirschhorn: Vier? 627 00:28:59,010 --> 00:28:59,880 Hoekom is dit vier? 628 00:28:59,880 --> 00:29:02,240 >> STUDENT: Omdat die vyfde plek is vir die nul karakter. 629 00:29:02,240 --> 00:29:04,070 >> JASON Hirschhorn: So het die vyfde plek is vir die nul karakter. 630 00:29:04,070 --> 00:29:07,130 So as ek strlen uit te voer op hierdie, sou dit gee my vier. 631 00:29:07,130 --> 00:29:07,850 Korrek is. 632 00:29:07,850 --> 00:29:11,640 En die skikking nie, as ek was om te inisialiseer hierdie skikking, hoeveel ruimtes 633 00:29:11,640 --> 00:29:13,444 sou ek het om te vra vir? 634 00:29:13,444 --> 00:29:13,821 >> STUDENT: Five. 635 00:29:13,821 --> 00:29:14,200 >> JASON Hirschhorn: Five. 636 00:29:14,200 --> 00:29:17,650 Ek sou hê om te vra vir vyf, maar ek kan net sit vier karakters in hier 637 00:29:17,650 --> 00:29:19,750 omdat ek nodig het dat nul te sit terminator op die einde. 638 00:29:19,750 --> 00:29:25,260 So ons gaan om te skryf in "ohai" en sit die nul terminator in aan die einde. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Ons sal sê dit is string s is gelyk aan dié. 641 00:29:34,940 --> 00:29:36,610 Wat is s bracket nul? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 s bracket nul, Annie? 644 00:29:41,550 --> 00:29:41,950 >> STUDENT: O. 645 00:29:41,950 --> 00:29:45,400 >> JASON Hirschhorn: O, presies. s bracket een? 646 00:29:45,400 --> 00:29:48,200 s bracket vyf? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 s bracket vyf? 649 00:29:53,955 --> 00:29:54,740 >> STUDENT: nie bestaan ​​nie. 650 00:29:54,740 --> 00:29:55,040 >> JASON Hirschhorn: nie bestaan ​​nie. 651 00:29:55,040 --> 00:29:57,050 Presies reg. 652 00:29:57,050 --> 00:29:57,940 Cool. 653 00:29:57,940 --> 00:30:03,120 Enige vrae oor die begrip snare as skikkings van die karakters? 654 00:30:03,120 --> 00:30:03,870 OK, dan is. 655 00:30:03,870 --> 00:30:05,440 Een program vir julle. 656 00:30:05,440 --> 00:30:09,190 Skryf 'n program wat vir die gebruiker vir 'n string dan druk uit elke 657 00:30:09,190 --> 00:30:11,880 karakter op 'n nuwe reël. 658 00:30:11,880 --> 00:30:14,160 So kom ons neem drie minute om te skryf hierdie program, en dan sal ons Kode Daar word 659 00:30:14,160 --> 00:30:15,410 as 'n groep. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Jammer. 662 00:31:04,830 --> 00:31:06,470 Het jy nodig het om dit te sien? 663 00:31:06,470 --> 00:31:07,410 >> STUDENT: No 664 00:31:07,410 --> 00:31:08,660 >> JASON Hirschhorn: OK. 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Kom ons neem nog een minuut om dit te kode, of ten minste begin kry op dit. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Sodat jy kan aanhou werk, maar ek gaan om te begin deur dit gaan. 669 00:32:17,020 --> 00:32:22,560 Dus, voordat wil, ek het op die skerm # Sluit cs50.h, # sluit stdio.h. 670 00:32:22,560 --> 00:32:24,020 int main nietig. 671 00:32:24,020 --> 00:32:28,880 Binne hoof se krulhakies, ek het twee opmerkings, pseudokode. 672 00:32:28,880 --> 00:32:30,980 Een is om te vra vir 'n string van die gebruiker. 673 00:32:30,980 --> 00:32:33,900 Die tweede is die druk elke karakter op 'n nuwe reël. 674 00:32:33,900 --> 00:32:39,780 So Anna, kan jy my vra vir 'n string van die gebruiker? 675 00:32:39,780 --> 00:32:41,970 >> STUDENT: printf. 676 00:32:41,970 --> 00:32:42,720 >> JASON Hirschhorn: printf? 677 00:32:42,720 --> 00:32:45,050 >> STUDENT: Ja. 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> JASON Hirschhorn: ( 680 00:32:47,610 --> 00:32:49,300 >> STUDENT: "Gee my 'n string. 681 00:32:49,300 --> 00:32:52,380 >> JASON Hirschhorn: "gee my 'n str - oops - 682 00:32:52,380 --> 00:32:53,710 string. 683 00:32:53,710 --> 00:32:59,980 >> STUDENT: / n ") kommapunt. 684 00:32:59,980 --> 00:33:02,300 >> JASON Hirschhorn: Einde van die string, geslote hakies, kommapunt. 685 00:33:02,300 --> 00:33:03,550 >> STUDENT: Ja. 686 00:33:03,550 --> 00:33:09,080 En dan volgende lyn, string s = kry snaar. 687 00:33:09,080 --> 00:33:11,240 >> JASON Hirschhorn: String s = kry snaar. 688 00:33:11,240 --> 00:33:11,665 >> STUDENT: Ja. 689 00:33:11,665 --> 00:33:13,080 En dan () 690 00:33:13,080 --> 00:33:14,365 >> JASON Hirschhorn: () 691 00:33:14,365 --> 00:33:14,720 >> STUDENT: Flitser. 692 00:33:14,720 --> 00:33:15,540 >> JASON Hirschhorn: Flitser. 693 00:33:15,540 --> 00:33:16,890 Fantasties. 694 00:33:16,890 --> 00:33:19,000 So ek gaan 'n string te kry en Ek gaan dit red in wat? 695 00:33:19,000 --> 00:33:21,830 Wat is die veranderlike genoem wat jy geskep het? 696 00:33:21,830 --> 00:33:23,290 >> STUDENT: String s. 697 00:33:23,290 --> 00:33:24,580 >> JASON Hirschhorn: Die veranderlike genoem is. 698 00:33:24,580 --> 00:33:25,700 Dit is tipe string. 699 00:33:25,700 --> 00:33:27,200 Presies. 700 00:33:27,200 --> 00:33:30,080 Volgende ding wat ons wil is druk elke karakter op 'n nuwe reël. 701 00:33:30,080 --> 00:33:31,710 Wie kan my die kode? 702 00:33:31,710 --> 00:33:32,110 [Onhoorbaar]? 703 00:33:32,110 --> 00:33:33,000 Kan jy dit vir my gee? 704 00:33:33,000 --> 00:33:33,580 >> Student: Natuurlik. 705 00:33:33,580 --> 00:33:35,420 >> JASON Hirschhorn: Kom ons doen dit. 706 00:33:35,420 --> 00:33:36,080 En jammer. 707 00:33:36,080 --> 00:33:38,896 Ek hou nie daarvan om te herhaal wat jy sê want jy kry dit reg, maar ek 708 00:33:38,896 --> 00:33:42,100 moet dit so herhaal dat wanneer hulle skryf nie, kan hulle kry al 709 00:33:42,100 --> 00:33:44,870 die teks uit op die transkripsie. 710 00:33:44,870 --> 00:33:47,180 So jy kan net aanhou praat. 711 00:33:47,180 --> 00:33:48,590 Ongelukkig het ek om dit te sê oor jou. 712 00:33:48,590 --> 00:33:49,510 Ek is jammer, maar - 713 00:33:49,510 --> 00:33:50,610 >> Student: Daar is 'n boete. 714 00:33:50,610 --> 00:33:53,010 Vir int i = 0 715 00:33:53,010 --> 00:33:54,170 >> JASON Hirschhorn: Vir int i = 0 716 00:33:54,170 --> 00:33:56,740 >> STUDENT: Ek minder as - 717 00:33:56,740 --> 00:33:58,206 >> JASON Hirschhorn: Flitser. 718 00:33:58,206 --> 00:34:00,650 >> STUDENT: Voor hierdie, kan ons 'n veranderlike sodat jy int naam lengte? 719 00:34:00,650 --> 00:34:01,870 >> JASON Hirschhorn: O, jy doen nie wil die kommapunt te sit? 720 00:34:01,870 --> 00:34:02,310 OK. 721 00:34:02,310 --> 00:34:05,120 So, wat wil jy hê om te doen na zero? 722 00:34:05,120 --> 00:34:09,340 >> STUDENT: Ek wil die te kry string lengte van s en 723 00:34:09,340 --> 00:34:10,410 stel wat aan 'n veranderlike? 724 00:34:10,410 --> 00:34:11,760 >> JASON Hirschhorn: OK, So, hoe doen ek dit? 725 00:34:11,760 --> 00:34:17,636 >> STUDENT: So jy doen int lengte = 726 00:34:17,636 --> 00:34:20,010 >> JASON Hirschhorn: Int lengte = 727 00:34:20,010 --> 00:34:22,230 >> STUDENT: S-T-R-L-E-N. 728 00:34:22,230 --> 00:34:24,260 >> JASON Hirschhorn: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> STUDENT: Van s. 730 00:34:25,380 --> 00:34:25,790 Hakies. 731 00:34:25,790 --> 00:34:27,920 >> JASON Hirschhorn (s). 732 00:34:27,920 --> 00:34:33,040 >> STUDENT: En dan dink ek jy het om te sit 'n kommapunt tussen die twee ints. 733 00:34:33,040 --> 00:34:34,590 >> JASON Hirschhorn: 'n Kommapunt na zero? 734 00:34:34,590 --> 00:34:35,260 >> STUDENT: Ja. 735 00:34:35,260 --> 00:34:40,670 Dan sit 'n kommapunt na dit, en jy sê, ek minder as lengte. 736 00:34:40,670 --> 00:34:43,250 i minder as lengte, wat is die veranderlike. 737 00:34:43,250 --> 00:34:44,590 >> STUDENT: En dan kommapunt. 738 00:34:44,590 --> 00:34:45,790 >> JASON Hirschhorn: Flitser. 739 00:34:45,790 --> 00:34:46,290 >> STUDENT: i + +. 740 00:34:46,290 --> 00:34:46,909 >> JASON Hirschhorn: i + +. 741 00:34:46,909 --> 00:34:47,530 Daar is ons vir lus. 742 00:34:47,530 --> 00:34:48,860 OK, die binnekant van die for-lus. 743 00:34:48,860 --> 00:34:51,670 >> STUDENT: En dan printf doen. 744 00:34:51,670 --> 00:34:53,340 >> JASON Hirschhorn: printf. 745 00:34:53,340 --> 00:34:53,889 >> STUDENT: hakies. 746 00:34:53,889 --> 00:34:55,130 >> JASON Hirschhorn: hakies, aanhalingstekens. 747 00:34:55,130 --> 00:34:59,930 >> STUDENT: hakies, aanhalingstekens,% c / n. 748 00:34:59,930 --> 00:35:00,760 >> JASON Hirschhorn:% c, OK. 749 00:35:00,760 --> 00:35:01,670 >> STUDENT: / n. 750 00:35:01,670 --> 00:35:03,470 >> JASON Hirschhorn: / n. 751 00:35:03,470 --> 00:35:04,410 >> STUDENT: Geslote kwotasies. 752 00:35:04,410 --> 00:35:05,270 >> JASON Hirschhorn: Geslote kwotasies. 753 00:35:05,270 --> 00:35:05,810 >> STUDENT: Komma. 754 00:35:05,810 --> 00:35:06,860 >> JASON Hirschhorn: Komma. 755 00:35:06,860 --> 00:35:07,800 >> STUDENT: S. 756 00:35:07,800 --> 00:35:08,070 >> JASON Hirschhorn: S. 757 00:35:08,070 --> 00:35:08,690 >> STUDENT: Bracket i. 758 00:35:08,690 --> 00:35:10,230 >> JASON Hirschhorn: Bracket i. 759 00:35:10,230 --> 00:35:11,520 >> STUDENT: En dan gesluit hakies. 760 00:35:11,520 --> 00:35:12,540 >> JASON Hirschhorn: Geslote hakies. 761 00:35:12,540 --> 00:35:13,660 >> STUDENT: En dan kommapunt. 762 00:35:13,660 --> 00:35:13,770 >> JASON Hirschhorn: Flitser. 763 00:35:13,770 --> 00:35:14,380 Fantasties. 764 00:35:14,380 --> 00:35:16,890 So laat ons red nie. 765 00:35:16,890 --> 00:35:19,770 Maak spel. 766 00:35:19,770 --> 00:35:20,040 Oh boy. 767 00:35:20,040 --> 00:35:22,275 Ek het 'n paar foute. 768 00:35:22,275 --> 00:35:33,120 Eerste fout op die lyn 11, dit sê, verwag uitdrukking, en dit gee 769 00:35:33,120 --> 00:35:36,910 vir my 'n fout wat die tweede int, daar is die fout. 770 00:35:36,910 --> 00:35:38,430 Daar 'n fout daar rond. 771 00:35:38,430 --> 00:35:41,060 Het enige iemand weet wat fout wat? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> STUDENT: Ek dink dit veronderstel is om te 'n komma en nie 'n kommapunt. 774 00:35:44,108 --> 00:35:46,010 >> JASON Hirschhorn: OK, 'n komma in plaas van 'n kommapunt. 775 00:35:46,010 --> 00:35:47,340 So is dat alles wat ons nodig het om op te los? 776 00:35:47,340 --> 00:35:47,655 >> STUDENT: No 777 00:35:47,655 --> 00:35:48,930 >> JASON Hirschhorn: Wat anders het ons nodig om vas te stel? 778 00:35:48,930 --> 00:35:50,920 >> STUDENT: Ons het string.h te sluit. 779 00:35:50,920 --> 00:35:51,680 >> JASON Hirschhorn: Sluit string.h. 780 00:35:51,680 --> 00:35:53,730 Waar het ek nodig om te sluit nie? 781 00:35:53,730 --> 00:35:57,085 >> STUDENT: dieselfde plek jy insluitende die ander dinge, reg 782 00:35:57,085 --> 00:35:59,560 ná sluit stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> JASON Hirschhorn: Kom ons kyk of dit loop eerste, want in die algemeen, ek wil 784 00:36:01,610 --> 00:36:06,360 een ding wat eerste op te los, en dan loop dit, en dan sien die foute wat ons kry. 785 00:36:06,360 --> 00:36:11,620 So ons gaan die terminale skoon te maak met 'n beheer, laat se spel maak nie. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 So 'n fout op die lyn 11. 788 00:36:18,770 --> 00:36:20,540 Verwag kommapunt. 789 00:36:20,540 --> 00:36:22,640 En ek is nog steeds foute op die lyn. 790 00:36:22,640 --> 00:36:25,270 Dus is dit nie vir my 'n fout gesê dit nie verstaan ​​wat strlen is, 791 00:36:25,270 --> 00:36:28,980 maar dit gee my foute op hierdie lyn, so wat anders is verkeerd? 792 00:36:28,980 --> 00:36:29,690 Merk? 793 00:36:29,690 --> 00:36:30,940 Marcus. 794 00:36:30,940 --> 00:36:32,570 >> STUDENT: Het jy te verwyder die tweede int verklaring? 795 00:36:32,570 --> 00:36:34,990 >> JASON Hirschhorn: Verwyder die tweede int. 796 00:36:34,990 --> 00:36:35,710 Kom ons probeer om hierdie. 797 00:36:35,710 --> 00:36:37,600 Nou duidelik dat die terminale. 798 00:36:37,600 --> 00:36:40,130 Maak spel. 799 00:36:40,130 --> 00:36:40,490 Fout. 800 00:36:40,490 --> 00:36:42,890 Onvoorwaardelik verklaar biblioteek funksie strlen. 801 00:36:42,890 --> 00:36:44,270 So nou het ons nie sien dat fout. 802 00:36:44,270 --> 00:36:45,760 Wat het ons nodig om te sluit? 803 00:36:45,760 --> 00:36:46,660 >> STUDENT: string.h. 804 00:36:46,660 --> 00:36:51,880 >> JASON Hirschhorn: Sluit string.h, ons sal # sluit nie string.h op die top 805 00:36:51,880 --> 00:36:52,920 van die skerm. 806 00:36:52,920 --> 00:36:55,450 Kom ons red, maak spel. 807 00:36:55,450 --> 00:36:56,970 Nou saamgestel. 808 00:36:56,970 --> 00:37:01,970 So weer, die dinge wat ons nodig het om te onthou lyn 12 in ons lus vir wanneer 809 00:37:01,970 --> 00:37:08,010 ons is die opstel daarvan, int i = 0, lengte = strlen (s). 810 00:37:08,010 --> 00:37:09,350 >> Dit is 'n fantastiese strategie. 811 00:37:09,350 --> 00:37:12,590 Die styl van hierdie is groot, die ontwerp van hierdie is groot. 812 00:37:12,590 --> 00:37:15,620 Ons kan gaan in daardie redes later, maar op dié manier hoef jy net te noem 813 00:37:15,620 --> 00:37:19,040 strlen een keer in plaas van elke enkele keer as jy loop deur die lus. 814 00:37:19,040 --> 00:37:22,255 Maar jy moet 'n komma om daar te gebruik en jy hoef nie int weer. 815 00:37:22,255 --> 00:37:24,180 As jy verklaar beide dié veranderlikes saam, jy 816 00:37:24,180 --> 00:37:26,850 hoef nie int weer. 817 00:37:26,850 --> 00:37:29,820 En dan as jy gaan strlen te gebruik, Dit is 'n ander biblioteek 818 00:37:29,820 --> 00:37:33,560 funksioneer nie ingesluit in stdio.h of cs50.h, maak 819 00:37:33,560 --> 00:37:35,310 seker dat jy string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> STUDENT: So dan as jy nie hoef te sê watter tipe lengte is, beteken dit 822 00:37:39,085 --> 00:37:40,290 beteken dit het tot 'n int wees? 823 00:37:40,290 --> 00:37:41,930 Jy kan nie twee verskillende tipes daar? 824 00:37:41,930 --> 00:37:43,290 >> JASON Hirschhorn: sodat jy kan het twee verskillende tipes. 825 00:37:43,290 --> 00:37:45,730 Lengte is 'n int hier, al is. 826 00:37:45,730 --> 00:37:48,590 Lengte is 'n int, want dit is komma en dan dieselfde ding. 827 00:37:48,590 --> 00:37:50,460 >> STUDENT: So is dit aanvaar dat dit gaan dieselfde te wees as die eerste een? 828 00:37:50,460 --> 00:37:52,423 >> JASON Hirschhorn: Presies. 829 00:37:52,423 --> 00:37:54,970 Ons gaan nie om dit nou te doen, maar jy kan insluit twee veranderlikes op die 830 00:37:54,970 --> 00:37:57,080 dieselfde lyn met behulp van 'n data tipe. 831 00:37:57,080 --> 00:38:01,415 So int x, y sou skep twee veranderlikes. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 So int x, y, as ons dit nie, dit gee my 'n ongebruikte veranderlike x en y omdat 834 00:38:10,770 --> 00:38:12,020 ons dit nie gebruik nie. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 So sit leemte voor is net 'n fancy truuk As jy nie gebruik nie 837 00:38:21,650 --> 00:38:22,810 iets om dit te gebruik. 838 00:38:22,810 --> 00:38:26,300 Maar as jy sien, Ek skep x en y op dieselfde lyn met 'n komma. 839 00:38:26,300 --> 00:38:28,450 Dit is die skep van twee heelgetalle reg daar. 840 00:38:28,450 --> 00:38:31,560 So ja, heeltemal moontlik om te skep twee dinge op dieselfde lyn 841 00:38:31,560 --> 00:38:33,720 geskei deur 'n komma. 842 00:38:33,720 --> 00:38:35,470 Kom ons ontslae te raak van hulle, al is. 843 00:38:35,470 --> 00:38:36,370 >> So is daar spel. 844 00:38:36,370 --> 00:38:39,200 Dankie ouens vir die kodering dit vir ons. 845 00:38:39,200 --> 00:38:43,040 Kom ons maak dit nog een keer, hardloop dit. 846 00:38:43,040 --> 00:38:44,580 Gee my 'n string. 847 00:38:44,580 --> 00:38:45,580 [Onhoorbaar], jy het die meeste van dit. 848 00:38:45,580 --> 00:38:47,910 Wat is die tou? 849 00:38:47,910 --> 00:38:48,250 >> STUDENT: Hello. 850 00:38:48,250 --> 00:38:50,110 >> JASON Hirschhorn: Hello. 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, elke karakter op een lyn. 852 00:38:52,810 --> 00:38:53,700 Lyk baie goed. 853 00:38:53,700 --> 00:38:54,750 Kom ons loop dit weer. 854 00:38:54,750 --> 00:38:56,050 Altyd gaan om seker te maak vir die hoek gevalle. 855 00:38:56,050 --> 00:38:57,750 Wat is 'n goeie hoek saak te gaan? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> STUDENT: 'n nommer? 858 00:39:00,890 --> 00:39:02,240 >> JASON Hirschhorn: 'n nommer. 859 00:39:02,240 --> 00:39:06,580 So ek sit in 1, en dit druk uit 1. 860 00:39:06,580 --> 00:39:08,970 Dit is nie vra vir letters, so dit lyk soos getalle werk. 861 00:39:08,970 --> 00:39:09,890 Goeie hoek saak te kyk. 862 00:39:09,890 --> 00:39:11,740 Wat is 'n goeie hoek saak te gaan? 863 00:39:11,740 --> 00:39:12,420 >> STUDENT: 'n leë string. 864 00:39:12,420 --> 00:39:12,910 >> JASON Hirschhorn: Hm? 865 00:39:12,910 --> 00:39:13,880 >> STUDENT: soos 'n leë string. 866 00:39:13,880 --> 00:39:14,400 >> JASON Hirschhorn: Leë string. 867 00:39:14,400 --> 00:39:16,730 So laat ons nie sit in enigiets. 868 00:39:16,730 --> 00:39:18,660 En wat kry ook uit? 869 00:39:18,660 --> 00:39:19,090 >> STUDENT: Niks nie. 870 00:39:19,090 --> 00:39:19,870 >> JASON Hirschhorn: Niks nie. 871 00:39:19,870 --> 00:39:20,555 Lyk soos dit werk. 872 00:39:20,555 --> 00:39:23,790 Jy kan probeer om meer hoek gevalle, maar algemeen getalle, 'n ander data is 873 00:39:23,790 --> 00:39:26,160 wonderlik om te probeer, is so goed nie. 874 00:39:26,160 --> 00:39:29,180 Niks, nul, negatiewe is altyd groot dinge te probeer en dinge wat jy 875 00:39:29,180 --> 00:39:33,140 moet toets, dinge beslis sal ons toets vir en Check 50 sal toets vir. 876 00:39:33,140 --> 00:39:34,720 Enige vrae oor spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK, laat ons kop terug. 879 00:39:39,310 --> 00:39:42,420 Ek het nog 'n program vir julle te skryf. 880 00:39:42,420 --> 00:39:44,700 Dit is bekend as students.c. 881 00:39:44,700 --> 00:39:49,020 Dit is 'n program wat die gebruiker vra vir vyf name, dan kies lukraak 882 00:39:49,020 --> 00:39:51,600 en druk uit een van die name. 883 00:39:51,600 --> 00:39:54,840 Hierdie program is 'n bietjie meer betrokke is as die laaste twee ons geskryf het, 884 00:39:54,840 --> 00:39:58,080 so hoekom ons nie vyf minute om te Kode Daar word individueel, en dan sal ons 885 00:39:58,080 --> 00:40:00,130 Kode Daar word as 'n groep. 886 00:40:00,130 --> 00:40:03,795 >> Hierdie program behels ook 'n paar dinge jy mag nie voor gesien het, so as 887 00:40:03,795 --> 00:40:06,390 jy het 'n vraag oor hoe doen Ek doen, verhoog jou hand. 888 00:40:06,390 --> 00:40:08,530 Ek sal kom en wys jou in die regte rigting. 889 00:40:08,530 --> 00:40:10,820 Maar ons is ook om dit te doen, want hierdie sal 'n goeie manier om te stel wees 890 00:40:10,820 --> 00:40:12,070 onderwerpe wat moeilik. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> So dit werk nie, reg? 893 00:44:15,560 --> 00:44:17,580 >> STUDENT: Ja. 894 00:44:17,580 --> 00:44:19,180 >> JASON Hirschhorn: Wanneer jy draai in 'n probleem stel, daar is baie maniere om dit te doen 895 00:44:19,180 --> 00:44:20,790 nie, maar sommige is meer elegant as ander. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Kom ons duik in 898 00:44:31,110 --> 00:44:32,880 # Sluit cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Sluit stdio.h. 900 00:44:34,250 --> 00:44:37,240 int main leemte, krullerige draadjies. 901 00:44:37,240 --> 00:44:39,430 Binne-in die krulhakies, Ek het twee opmerkings. 902 00:44:39,430 --> 00:44:41,500 Die eerste een is, vra die gebruiker vir vyf name. 903 00:44:41,500 --> 00:44:46,580 Die tweede een is lukraak, kies en die druk van een van die name. 904 00:44:46,580 --> 00:44:50,250 Dus is die eerste een laat doen nie, vra die gebruiker vir vyf name. 905 00:44:50,250 --> 00:44:53,730 Wie het gevra om die gebruiker vir vyf name en my vertel hoe om dit te doen? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Slegs twee mense het die eerste deel. 908 00:44:58,570 --> 00:45:00,150 Drie mense het die eerste deel. 909 00:45:00,150 --> 00:45:00,670 Vier, vyf. 910 00:45:00,670 --> 00:45:03,140 Tom, hoe kan jy dit doen? 911 00:45:03,140 --> 00:45:09,940 >> STUDENT: Jy sal 'n string verklaar en dan naam, bracket vyf. 912 00:45:09,940 --> 00:45:12,070 >> JASON Hirschhorn: String noem bracket vyf. 913 00:45:12,070 --> 00:45:15,350 So, wat is hierdie lyn doen, string naam bracket vyf? 914 00:45:15,350 --> 00:45:17,800 >> STUDENT: Jy sal verklaar 'n verskeidenheid van snare. 915 00:45:17,800 --> 00:45:19,000 >> JASON Hirschhorn: Dit is ' 'n verskeidenheid van snare. 916 00:45:19,000 --> 00:45:21,590 Hoeveel snare gaan om in te pas hier? 917 00:45:21,590 --> 00:45:22,010 >> STUDENT: Five. 918 00:45:22,010 --> 00:45:22,320 >> JASON Hirschhorn: Five. 919 00:45:22,320 --> 00:45:22,660 Uitstekend. 920 00:45:22,660 --> 00:45:26,360 Ons gaan om te noem dit Name omdat Ons gaan verskeie mense te kry. 921 00:45:26,360 --> 00:45:27,790 OK, volgende? 922 00:45:27,790 --> 00:45:29,270 >> STUDENT: En dan is jy 'n lus vir - 923 00:45:29,270 --> 00:45:30,060 >> JASON Hirschhorn: Vir lus. 924 00:45:30,060 --> 00:45:33,035 >> STUDENT: - vir i = 0. 925 00:45:33,035 --> 00:45:37,040 >> JASON Hirschhorn: Vir (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> STUDENT: Flitser. 927 00:45:38,270 --> 00:45:38,880 >> JASON Hirschhorn: Flitser. 928 00:45:38,880 --> 00:45:39,790 >> STUDENT: Ek minder as vyf. 929 00:45:39,790 --> 00:45:41,310 >> JASON Hirschhorn: Ek minder as vyf. 930 00:45:41,310 --> 00:45:42,230 >> STUDENT: Flitser. 931 00:45:42,230 --> 00:45:42,560 >> JASON Hirschhorn: Flitser. 932 00:45:42,560 --> 00:45:43,380 >> STUDENT: i + +. 933 00:45:43,380 --> 00:45:46,050 >> JASON Hirschhorn: i + +. 934 00:45:46,050 --> 00:45:47,100 >> STUDENT: En dan gesluit hakies. 935 00:45:47,100 --> 00:45:48,600 >> JASON Hirschhorn: Geslote hakies, en dan 'n paar krullerige draadjies. 936 00:45:48,600 --> 00:45:50,050 Binne-in die krulhakies? 937 00:45:50,050 --> 00:45:51,423 >> STUDENT: En dan printf. 938 00:45:51,423 --> 00:45:52,535 >> JASON Hirschhorn: printf. 939 00:45:52,535 --> 00:45:56,200 >> STUDENT: Open hakies, naam% d. 940 00:45:56,200 --> 00:45:57,090 >> JASON Hirschhorn: Jammer? 941 00:45:57,090 --> 00:45:57,660 >> STUDENT: Naam. 942 00:45:57,660 --> 00:45:58,200 >> JASON Hirschhorn: Naam. 943 00:45:58,200 --> 00:46:01,700 >> Student is en dan die ruimte, en daarna% d. 944 00:46:01,700 --> 00:46:02,950 >> JASON Hirschhorn: Naam, ruimte,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> STUDENT: En dan is / n, en dan gesluit. 947 00:46:10,820 --> 00:46:15,070 >> JASON Hirschhorn: So naam, ruimte, % D / n, geslote hakies. 948 00:46:15,070 --> 00:46:17,730 >> STUDENT: Comma, i + 1. 949 00:46:17,730 --> 00:46:19,390 Ek is jammer. 950 00:46:19,390 --> 00:46:21,040 Geslote kwotasie, en dan komma, i 1. 951 00:46:21,040 --> 00:46:24,400 >> JASON Hirschhorn: Geslote quote, komma, i 1. 952 00:46:24,400 --> 00:46:25,850 >> STUDENT: Ja. 953 00:46:25,850 --> 00:46:27,650 En dan is die volgende lyn - 954 00:46:27,650 --> 00:46:29,400 >> JASON Hirschhorn: i + 1. 955 00:46:29,400 --> 00:46:31,600 >> STUDENT: Ja. 956 00:46:31,600 --> 00:46:36,440 En dan is die volgende skyfie is name bracket i. 957 00:46:36,440 --> 00:46:39,000 >> JASON Hirschhorn: Volgende lyn is name bracket i. 958 00:46:39,000 --> 00:46:41,360 >> STUDENT: = kry snaar. 959 00:46:41,360 --> 00:46:43,460 >> JASON Hirschhorn: = Kry - 960 00:46:43,460 --> 00:46:44,510 kapitaal G-E-T - 961 00:46:44,510 --> 00:46:45,530 string. 962 00:46:45,530 --> 00:46:47,800 Oeps, jammer. 963 00:46:47,800 --> 00:46:49,050 >> STUDENT: oop, geslote hakies en dan - 964 00:46:49,050 --> 00:46:50,940 >> JASON Hirschhorn: oop, geslote hakie. 965 00:46:50,940 --> 00:46:51,030 >> STUDENT: Flitser. 966 00:46:51,030 --> 00:46:52,500 >> JASON Hirschhorn: Flitser. 967 00:46:52,500 --> 00:46:57,545 OK, so jy inisialiseer die verskeidenheid van snare, name, en dan gaan deur 'n 968 00:46:57,545 --> 00:47:02,720 vir lus, en vyf keer druk sommige gevra om die gebruiker en dan slaan 969 00:47:02,720 --> 00:47:03,360 vyf snare. 970 00:47:03,360 --> 00:47:08,090 Het enige iemand enige aanpassings aan dit? 971 00:47:08,090 --> 00:47:10,030 Tom, ek dink almal stem saam met jou. 972 00:47:10,030 --> 00:47:10,880 Lyk redelik goed. 973 00:47:10,880 --> 00:47:11,660 OK. 974 00:47:11,660 --> 00:47:14,830 Waarom het jy i 1, al is? 975 00:47:14,830 --> 00:47:18,000 >> STUDENT: Ek bedoel, nie ' te wees nie, maar ek 1 sodat dit 976 00:47:18,000 --> 00:47:19,700 Noem EEN vyf te noem. 977 00:47:19,700 --> 00:47:21,930 Anders, sou dit naam nul vier te noem. 978 00:47:21,930 --> 00:47:24,400 >> JASON Hirschhorn: So jy het i 1 want anders sou dit 979 00:47:24,400 --> 00:47:27,060 gedruk zero deur vier omdat dit is hoe rekenaars dink nie, maar die mens 980 00:47:27,060 --> 00:47:28,530 nie regtig nie lees soos dit. 981 00:47:28,530 --> 00:47:30,190 Dit is 'n ander ding jy sal teëkom. 982 00:47:30,190 --> 00:47:33,210 Soms wanneer jy druk om iets aan die gebruiker, sal jy wil om te maak dit 'n 983 00:47:33,210 --> 00:47:35,733 bietjie mooier, en doen i 1 in hierdie geval is 'n 984 00:47:35,733 --> 00:47:37,430 manier om dit mooier. 985 00:47:37,430 --> 00:47:41,380 >> Ek sien ook vyf keer, string naam vyf, ek is minder as vyf. 986 00:47:41,380 --> 00:47:42,430 Ek weet waar jy die vyf. 987 00:47:42,430 --> 00:47:44,890 Jy het dit vir my vertel jy vyf name. 988 00:47:44,890 --> 00:47:49,000 Maar as ons wou die kode te maak 'n bietjie meer robuuste, een ding wat ons 989 00:47:49,000 --> 00:47:53,110 kan doen is hier, buite int, ons kan doen iets soos hierdie, 990 00:47:53,110 --> 00:47:57,070 # Definieer, en wat ons kan doen NAME 5. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> So basies, waar ek skryf kapitaal N, kapitaal A, M kapitaal, kapitaal E, 993 00:48:05,390 --> 00:48:08,890 kapitaal S, wat string, sal dit vervang wat met 5 in die kode. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 Of laat ons net noem dit - ons sal noem dit net nommer. 996 00:48:13,445 --> 00:48:17,190 So ek definieer hoofletters Nommer te wees 5. 997 00:48:17,190 --> 00:48:22,830 >> So nou waar ek die nommer 5, I kan dit vervang met hoofletters nommer. 998 00:48:22,830 --> 00:48:26,880 En nou, as ek wil om die nommer te verander name, al wat ek nodig het om te doen, is om 999 00:48:26,880 --> 00:48:31,350 hierdie een reël, reël vier, waar ek # Definieer nommer 5, verander na 10, 1000 00:48:31,350 --> 00:48:34,340 of verander wat aan 4. 1001 00:48:34,340 --> 00:48:37,400 Wanneer jou kode kry meer, jy is nie gaan om te onthou al die plekke wat jy 1002 00:48:37,400 --> 00:48:41,630 sit hoeveel name wat jy wil, en in sodat jy nie een te mis, is dit 1003 00:48:41,630 --> 00:48:45,490 'n goeie manier om dit te doen, om iets te vind tot bo-op en dan net gebruik om die frase 1004 00:48:45,490 --> 00:48:46,400 oral in jou kode. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> STUDENT: Is dit stilisties voorkeur as wêreldwyd definisie van 'n 1007 00:48:49,780 --> 00:48:51,270 konstante n? 1008 00:48:51,270 --> 00:48:53,760 >> JASON Hirschhorn: So is dat stilisties verkies as wêreldwyd 1009 00:48:53,760 --> 00:48:54,980 definisie van 'n konstante n? 1010 00:48:54,980 --> 00:48:59,036 So jy sê jy kan doen, int nommer = 5? 1011 00:48:59,036 --> 00:49:01,300 >> STUDENT: hulle het nie medeklinkers in C of nee? 1012 00:49:01,300 --> 00:49:02,720 >> JASON Hirschhorn: Of konst - in gelyk. 1013 00:49:02,720 --> 00:49:04,275 So jy sê maar net 'n globale veranderlike? 1014 00:49:04,275 --> 00:49:04,990 >> STUDENT: Ja. 1015 00:49:04,990 --> 00:49:08,670 >> JASON Hirschhorn: So stilisties, daar is geen noodwendig een reg 1016 00:49:08,670 --> 00:49:12,050 beantwoord nie, maar beide van hulle is beter as net gooi hierdie ewekansige 1017 00:49:12,050 --> 00:49:12,960 nommers in jou kode. 1018 00:49:12,960 --> 00:49:14,650 Ons noem dit magic nommers. 1019 00:49:14,650 --> 00:49:16,450 As ek kyk na jou kode of wanneer enigiemand se deur te lees, het hulle 1020 00:49:16,450 --> 00:49:18,790 wil nie net die ewekansige getalle wat nie sin maak nie. 1021 00:49:18,790 --> 00:49:22,420 Selfs die nommer 26, wat oor die algemeen is die aantal letters in die alfabet, 1022 00:49:22,420 --> 00:49:28,870 dit is beter ALPHABET te definieer up top en red die nommer 26 in die tou, 1023 00:49:28,870 --> 00:49:29,550 as dit sin maak. 1024 00:49:29,550 --> 00:49:33,210 >> Of probleem wat een, eerder as - weer, het ons nie praat oor dit by die 1025 00:49:33,210 --> 00:49:37,020 die tyd, maar in plaas van net te gooi in 'n 25 oral of 'n 10, wat jy kan 1026 00:49:37,020 --> 00:49:41,860 red die nommer 25 as KWARTAAL of 10 as DIME, en dit maak dit makliker vir 1027 00:49:41,860 --> 00:49:44,140 wie se deur te lees om jou kode te verstaan ​​waarom jy verkies dat die nommer. 1028 00:49:44,140 --> 00:49:46,540 En ook vir jou, as jy ooit wil werk om jou kode, dit maak dit 'n bietjie 1029 00:49:46,540 --> 00:49:47,290 meer robuuste. 1030 00:49:47,290 --> 00:49:48,070 Ja? 1031 00:49:48,070 --> 00:49:50,830 >> STUDENT: Is hierdie kode ook gaan beskikbaar te wees vir ons na? 1032 00:49:50,830 --> 00:49:52,453 >> JASON Hirschhorn: Al hierdie kodes dat ons saam geskryf is 1033 00:49:52,453 --> 00:49:54,620 gaan word per e-pos aan u ouens en beskikbaar is nie. 1034 00:49:54,620 --> 00:49:55,740 Ja. 1035 00:49:55,740 --> 00:49:58,040 So vra die gebruiker vir vyf name. 1036 00:49:58,040 --> 00:50:00,280 Lukraak kies en druk een van die name. 1037 00:50:00,280 --> 00:50:00,940 Wie het hierdie lyn het? 1038 00:50:00,940 --> 00:50:02,230 Dit is die moeilijkste lyn hier. 1039 00:50:02,230 --> 00:50:02,450 Jammer, Tom. 1040 00:50:02,450 --> 00:50:05,510 Jy het 'n baie goeie werk, maar dit is 'n bietjie moeiliker. 1041 00:50:05,510 --> 00:50:06,600 Marcus, voort te gaan. 1042 00:50:06,600 --> 00:50:10,180 >> STUDENT: Wel, die eerste, jy gaan nodig stdlib.h en time.h. te sluit 1043 00:50:10,180 --> 00:50:13,200 >> JASON Hirschhorn: So jy sê op die top, sluit in twee biblioteke. 1044 00:50:13,200 --> 00:50:18,830 Jy wil hê ek moet insluit S-T-D-L-ek-B dot H, Standard Biblioteek, en wat 1045 00:50:18,830 --> 00:50:19,760 was die ander een? 1046 00:50:19,760 --> 00:50:21,010 >> STUDENT: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> JASON Hirschhorn: # sluit time.h. 1049 00:50:27,840 --> 00:50:29,470 So het hierdie twee biblioteke. 1050 00:50:29,470 --> 00:50:31,790 Ek neem nou ons gaan word met behulp funksies wat in hierdie vervat is 1051 00:50:31,790 --> 00:50:34,240 twee, wat is die rede waarom jy nodig hulle in te sluit? 1052 00:50:34,240 --> 00:50:36,980 >> STUDENT: So dan, in die eerste jy gaan wil srand te skryf. 1053 00:50:36,980 --> 00:50:38,770 >> JASON Hirschhorn: Srand. 1054 00:50:38,770 --> 00:50:42,070 >> STUDENT: (tyd (0) 1055 00:50:42,070 --> 00:50:42,700 >> JASON Hirschhorn: Jammer. 1056 00:50:42,700 --> 00:50:45,580 Srand (tyd ( 1057 00:50:45,580 --> 00:50:46,890 >> STUDENT: 0. 1058 00:50:46,890 --> 00:50:47,230 >> JASON Hirschhorn: 0. 1059 00:50:47,230 --> 00:50:49,990 >> STUDENT:)), kommapunt. 1060 00:50:49,990 --> 00:50:51,320 >> JASON Hirschhorn: Nog 'n geslote paren? 1061 00:50:51,320 --> 00:50:51,650 Kommapunt. 1062 00:50:51,650 --> 00:50:53,610 Ek gaan net vervang jou zero met NULL. 1063 00:50:53,610 --> 00:50:55,980 Dit sal doen dieselfde ding, maar oor die algemeen, sien jy NULL, wat 1064 00:50:55,980 --> 00:50:57,720 sal ons praat oor hierdie lyn in 'n sekonde. 1065 00:50:57,720 --> 00:50:58,580 >> STUDENT: Stilisties beter? 1066 00:50:58,580 --> 00:51:02,240 >> JASON Hirschhorn: Oor die algemeen, mense reg NULL, maar dieselfde ding. 1067 00:51:02,240 --> 00:51:05,010 >> STUDENT: En dan int naam. 1068 00:51:05,010 --> 00:51:06,490 >> JASON Hirschhorn: Int naam. 1069 00:51:06,490 --> 00:51:07,280 >> STUDENT: = 1070 00:51:07,280 --> 00:51:07,780 >> JASON Hirschhorn: = 1071 00:51:07,780 --> 00:51:08,580 >> STUDENT: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> JASON Hirschhorn: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> STUDENT: () 1074 00:51:10,420 --> 00:51:11,500 >> JASON Hirschhorn: () 1075 00:51:11,500 --> 00:51:12,850 >> STUDENT: Modulo nommer. 1076 00:51:12,850 --> 00:51:14,310 >> JASON Hirschhorn: Wat is modulo? 1077 00:51:14,310 --> 00:51:14,970 Die karakter? 1078 00:51:14,970 --> 00:51:16,000 Die persent karakter? 1079 00:51:16,000 --> 00:51:17,790 >> STUDENT: Persentasie karakter. 1080 00:51:17,790 --> 00:51:19,521 Modulo nommer wat jy omskryf tot bo-op. 1081 00:51:19,521 --> 00:51:22,030 >> JASON Hirschhorn: Modulo nommer. 1082 00:51:22,030 --> 00:51:24,052 >> STUDENT: En dan kommapunt. 1083 00:51:24,052 --> 00:51:24,660 >> JASON Hirschhorn: Flitser. 1084 00:51:24,660 --> 00:51:27,820 >> Student is en dan nuwe lyn, printf. 1085 00:51:27,820 --> 00:51:28,460 >> JASON Hirschhorn: printf. 1086 00:51:28,460 --> 00:51:29,730 >> STUDENT: ( 1087 00:51:29,730 --> 00:51:30,620 >> JASON Hirschhorn: ( 1088 00:51:30,620 --> 00:51:31,650 >> STUDENT: " 1089 00:51:31,650 --> 00:51:32,630 >> JASON Hirschhorn: " 1090 00:51:32,630 --> 00:51:35,320 >> STUDENT:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> JASON Hirschhorn:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> STUDENT: " 1093 00:51:38,420 --> 00:51:40,640 >> JASON Hirschhorn:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> STUDENT: kommas name. 1095 00:51:43,540 --> 00:51:44,350 >> JASON Hirschhorn: Space - 1096 00:51:44,350 --> 00:51:46,300 >> STUDENT: O, ek dink, wat het ons noem dit hier? 1097 00:51:46,300 --> 00:51:48,640 >> JASON Hirschhorn: Ons noem dit name. 1098 00:51:48,640 --> 00:51:52,360 >> STUDENT: Open bracket, naam. 1099 00:51:52,360 --> 00:51:55,090 >> JASON Hirschhorn: Open bracket, naam. 1100 00:51:55,090 --> 00:51:55,850 >> STUDENT: Geslote bracket. 1101 00:51:55,850 --> 00:51:56,490 >> JASON Hirschhorn: Geslote bracket. 1102 00:51:56,490 --> 00:51:57,460 >> STUDENT:) 1103 00:51:57,460 --> 00:51:58,800 >> JASON Hirschhorn:) 1104 00:51:58,800 --> 00:51:59,440 >> STUDENT: Flitser. 1105 00:51:59,440 --> 00:52:00,410 >> JASON Hirschhorn: Flitser. 1106 00:52:00,410 --> 00:52:01,500 OK, laat ons red. 1107 00:52:01,500 --> 00:52:04,410 Kom ons maak hierdie kode. 1108 00:52:04,410 --> 00:52:06,365 Studente. 1109 00:52:06,365 --> 00:52:07,100 Kom ons gebruik hierdie kode. 1110 00:52:07,100 --> 00:52:08,480 Studente. 1111 00:52:08,480 --> 00:52:11,630 Nie / student.. / Studente.. 1112 00:52:11,630 --> 00:52:12,870 Noem een. 1113 00:52:12,870 --> 00:52:15,490 Ons sal sê David. 1114 00:52:15,490 --> 00:52:18,070 Noem twee, RJ. 1115 00:52:18,070 --> 00:52:20,561 Noem drie, Rob. 1116 00:52:20,561 --> 00:52:22,490 Noem vier, Lucas. 1117 00:52:22,490 --> 00:52:26,060 Noem vyf, Joseph. 1118 00:52:26,060 --> 00:52:28,850 En dan is dit druk uit Joseph weer. 1119 00:52:28,850 --> 00:52:31,730 >> So laat my loop dit weer. 1120 00:52:31,730 --> 00:52:32,460 Laat my doen dieselfde name. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Joseph. 1122 00:52:39,760 --> 00:52:41,070 En dit het my Dawid hierdie tyd. 1123 00:52:41,070 --> 00:52:43,030 So ek het dieselfde ding, maar dit het vir my 'n ander ding, en dit is 1124 00:52:43,030 --> 00:52:45,410 want, natuurlik, vra ons 'n ewekansige naam. 1125 00:52:45,410 --> 00:52:50,950 So ek dink, wat gebaseer is af van my dwaal in die kamer rond, dat die meeste mense 1126 00:52:50,950 --> 00:52:55,960 waarskynlik het die eerste deel reg, opstel wat verskeidenheid en dan kry 1127 00:52:55,960 --> 00:52:56,430 al die name. 1128 00:52:56,430 --> 00:52:59,320 Ek praat van reëls 10 tot 16. 1129 00:52:59,320 --> 00:53:02,150 Maar reëls 18 tot 21 is waarskynlik 'n paar dinge wat jy nie gesien het nie, 1130 00:53:02,150 --> 00:53:03,750 so laat ons gaan deur hulle. 1131 00:53:03,750 --> 00:53:10,390 >> Hierdie lyn, srand tyd NULL is in wese - 1132 00:53:10,390 --> 00:53:14,300 Jammer, laat slaan af 'n lyn, rand (). 1133 00:53:14,300 --> 00:53:17,320 Dit gee jou 'n ewekansige getal, 'n ewekansige heelgetal. 1134 00:53:17,320 --> 00:53:19,630 En as jy getref man rand, wat 'n klomp van julle het - 1135 00:53:19,630 --> 00:53:21,530 M-A-N ruimte R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 in die terminale soos hierdie, M-A-N ruimte R-A-N-D, druk Enter. 1137 00:53:25,910 --> 00:53:30,490 Jy sou kom om die handleiding en sal in staat wees om die rand te lees 1138 00:53:30,490 --> 00:53:34,260 opdrag uitgange num pseudo ewekansige grepe na saai die ewekansige getal 1139 00:53:34,260 --> 00:53:35,510 kragopwekker keer. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> So dit is 'n beskrywing. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 Dit is wat rand doen, gee jy 'n ewekansige getal toe 1144 00:53:46,800 --> 00:53:48,610 jy noem dat die funksie. 1145 00:53:48,610 --> 00:53:53,140 Ongelukkig, dit is nie regtig ewekansige want as jy net noem ewekansige 1146 00:53:53,140 --> 00:53:55,970 sonder om dit 'n paar saad, sommige beginpunt, sal dit altyd kies 1147 00:53:55,970 --> 00:53:59,100 dieselfde een en dit maak gebruik van 'n formule die volgende een te bepaal. 1148 00:53:59,100 --> 00:54:01,730 So as jy 'n beroep rand, dit sal net gee jou dieselfde ding. 1149 00:54:01,730 --> 00:54:02,610 Dit sal baie voorspelbaar. 1150 00:54:02,610 --> 00:54:03,790 Dit is eintlik nie lukraak. 1151 00:54:03,790 --> 00:54:09,610 >> So wat ons moet doen, per Marcus se instruksies aan my, was saad rand 1152 00:54:09,610 --> 00:54:13,810 met iets anders, en dit is wat die srand funksie verrig. 1153 00:54:13,810 --> 00:54:18,055 Dit sade rand met iets 'n bietjie meer ewekansige as dieselfde ding, en 1154 00:54:18,055 --> 00:54:23,360 hy is besaai met die tyd NULL, wat is, net deur die konvensie, die huidige 1155 00:54:23,360 --> 00:54:24,650 tyd in sekondes. 1156 00:54:24,650 --> 00:54:29,790 >> So jy is die veronderstelling dat nie almal is gaan die kode uit te voer op die presiese 1157 00:54:29,790 --> 00:54:33,620 dieselfde tweede, so dit is 'n veilige weddenskap dat tyd NULL gaan om anders te wees 1158 00:54:33,620 --> 00:54:35,250 elke keer hierdie kode is hardloop. 1159 00:54:35,250 --> 00:54:39,020 Veilige weddenskap dat dit so, srand sal saad rand met iets anders elke 1160 00:54:39,020 --> 00:54:39,990 keer. 1161 00:54:39,990 --> 00:54:44,110 So deur die konvensie, wanneer ons wil nie 'n ewekansige getal, ons skryf hierdie lyn, 1162 00:54:44,110 --> 00:54:50,540 srand tyd NULL, te gee vir ons 'n baie meer ewekansige saad, en dan loop ons 1163 00:54:50,540 --> 00:54:52,080 rand, wat gee ons 'n ewekansige getal. 1164 00:54:52,080 --> 00:54:52,840 Ja? 1165 00:54:52,840 --> 00:54:54,140 >> STUDENT: Kan jy sê wat jy bedoel met saad? 1166 00:54:54,140 --> 00:54:55,630 >> JASON Hirschhorn: Saad as in - 1167 00:54:55,630 --> 00:54:58,730 so rand gaan 'n paar nommer te kies en dit gaan 'n paar te gebruik 1168 00:54:58,730 --> 00:55:00,060 formule om daar te kom. 1169 00:55:00,060 --> 00:55:03,250 So dit gaan om te begin met iets en dan draai dit in iets wat gebaseer 1170 00:55:03,250 --> 00:55:03,890 af van daardie formule. 1171 00:55:03,890 --> 00:55:06,090 As jy gee altyd dieselfde ding, dit is altyd gaan om dit om te draai in die 1172 00:55:06,090 --> 00:55:06,790 dieselfde ding. 1173 00:55:06,790 --> 00:55:08,450 So die eerste ding wat jy gee dit is die saad. 1174 00:55:08,450 --> 00:55:10,880 So jy wil gee dit iets verskillende te begin met, en daarom is dit 1175 00:55:10,880 --> 00:55:12,610 sal draai dit in iets anders. 1176 00:55:12,610 --> 00:55:15,840 >> En dan uiteindelik, lyn 20, hierdie% staan ​​bekend as die 1177 00:55:15,840 --> 00:55:17,470 modulo, en dit is verwarrend. 1178 00:55:17,470 --> 00:55:19,850 Dit is iets wat 'n bietjie anders hier dat jy nie regtig 1179 00:55:19,850 --> 00:55:22,240 het in die werklike lewe wiskunde. 1180 00:55:22,240 --> 00:55:27,430 Maar in wese, wanneer jy 'n reuse nommer en jy deel in C, wat 1181 00:55:27,430 --> 00:55:29,482 gebeur met die res? 1182 00:55:29,482 --> 00:55:30,510 >> STUDENT: Dit word afgesny. 1183 00:55:30,510 --> 00:55:31,220 >> JASON Hirschhorn: Dit word afgesny. 1184 00:55:31,220 --> 00:55:35,200 So 20 gedeel deur 3 is wat? 1185 00:55:35,200 --> 00:55:37,950 Wat beteken dat die terugkeer na jy, 20 gedeel deur 3. 1186 00:55:37,950 --> 00:55:39,260 Jammer, 10 gedeel deur 3. 1187 00:55:39,260 --> 00:55:41,062 Wat beteken dit terug te keer na jou? 1188 00:55:41,062 --> 00:55:41,540 >> STUDENT: [onhoorbaar]. 1189 00:55:41,540 --> 00:55:45,170 >> JASON Hirschhorn: 10 gedeel deur 3 net opbrengste 3, nie 3 res 1. 1190 00:55:45,170 --> 00:55:51,490 So, wat 10 modulo 3 opbrengste is net die res, 1. 1191 00:55:51,490 --> 00:55:54,020 So as jy wil weet wat 10 verdeel deur 3 eintlik was, sou jy 1192 00:55:54,020 --> 00:55:58,950 doen 10 gedeel deur 3, wil jy jou 3, en dan sal jy wil doen 10 modulo 3, en 1193 00:55:58,950 --> 00:55:59,860 jy kry 'n 1. 1194 00:55:59,860 --> 00:56:04,630 So jy wil besef dat 10 verdeel deur 3 is 3, res 1. 1195 00:56:04,630 --> 00:56:07,990 >> En in hierdie lyn, kan rand wees enige heelgetal is, in wese. 1196 00:56:07,990 --> 00:56:12,660 So modulo sê, deel dit deur nommer, wat in hierdie geval 5. 1197 00:56:12,660 --> 00:56:16,420 En as jy ooit verdeel deur 'n aantal, die integer het altyd minder as 1198 00:56:16,420 --> 00:56:17,590 dat die getal. 1199 00:56:17,590 --> 00:56:22,200 So as jy deel deur 'n nommer 5, die res is altyd gaan wees 1200 00:56:22,200 --> 00:56:23,396 zero deur vier. 1201 00:56:23,396 --> 00:56:25,520 Dit is net hoe die wiskunde werk uit. 1202 00:56:25,520 --> 00:56:29,700 >> So 'n groot aantal moduloed deur 'n kleiner nommer sal altyd terug 1203 00:56:29,700 --> 00:56:33,530 res en sal altyd terug sommige aantal wat minder is as die getal wat jy 1204 00:56:33,530 --> 00:56:34,693 gedeel deur. 1205 00:56:34,693 --> 00:56:37,920 Het enige iemand enige vrae oor modulo, want dit sal kom in 'n baie, 1206 00:56:37,920 --> 00:56:41,450 baie handig, so ek wil om seker te maak almal verstaan ​​dit? 1207 00:56:41,450 --> 00:56:43,710 Cool. 1208 00:56:43,710 --> 00:56:46,000 En ons sien dat hierdie program gewerk het. 1209 00:56:46,000 --> 00:56:50,280 OK, beweeg op. 1210 00:56:50,280 --> 00:56:52,970 >> So, volgende, ons gaan om te gaan in funksies, en ons gaan om te gaan 1211 00:56:52,970 --> 00:56:55,580 deur die res van hierdie dinge mooi vinnig, want ek wil te kry om 1212 00:56:55,580 --> 00:56:57,150 command line argumente. 1213 00:56:57,150 --> 00:57:00,330 So funksies is in wese, as jy gesien het, black boxes. 1214 00:57:00,330 --> 00:57:04,290 Hulle neem dinge in die naam parameters, hulle doen iets vir hulle, óf 1215 00:57:04,290 --> 00:57:06,990 verander of skep 'n paar newe-effekte, en uiteindelik, hulle spoeg 1216 00:57:06,990 --> 00:57:09,530 iets uit, wat die terugkeer waarde. 1217 00:57:09,530 --> 00:57:12,495 Kan iemand gee my 'n rede Hoekom sou ons gebruik funksies? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 Enigiemand? 1220 00:57:16,360 --> 00:57:19,360 Een van die redes waarom ons wil gebruik om funksies? 1221 00:57:19,360 --> 00:57:21,280 Enigiemand? 1222 00:57:21,280 --> 00:57:22,700 Ek het gesien hoe twee hande. 1223 00:57:22,700 --> 00:57:23,590 Wat is 'n goeie rede? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> STUDENT: As jy dieselfde te bel stuk kode verskeie kere. 1226 00:57:27,730 --> 00:57:29,150 >> JASON Hirschhorn: OK, as jy dieselfde stuk te roep 1227 00:57:29,150 --> 00:57:30,040 repertorium van meer as een keer. 1228 00:57:30,040 --> 00:57:32,470 Jeff, het jy 'n ander rede? 1229 00:57:32,470 --> 00:57:34,230 >> STUDENT: Net sodat jy kan kode minder. 1230 00:57:34,230 --> 00:57:35,070 >> JASON Hirschhorn: Jy kan kode minder. 1231 00:57:35,070 --> 00:57:35,320 Reg. 1232 00:57:35,320 --> 00:57:38,720 As jy wil iets doen om 'n baie - 1233 00:57:38,720 --> 00:57:41,720 in die vorige kode, kon ek geskryf kry string vyf keer, maar 'n 1234 00:57:41,720 --> 00:57:44,620 vir lus maak dit lyk mooier en jy het minder kode te skryf. 1235 00:57:44,620 --> 00:57:45,760 Funksies 'n soortgelyke idee. 1236 00:57:45,760 --> 00:57:48,720 As ek wil dieselfde ding doen 'n baie, skuif dit na 'n funksie en noem dat 1237 00:57:48,720 --> 00:57:49,610 funksioneer elke keer. 1238 00:57:49,610 --> 00:57:51,190 Dit sal die ding doen vir jou. 1239 00:57:51,190 --> 00:57:53,740 Dit is 'n groot rede funksies te gebruik. 1240 00:57:53,740 --> 00:57:54,870 >> So anatomie van 'n funksie. 1241 00:57:54,870 --> 00:57:56,670 'N funksie sal in die algemeen lyk. 1242 00:57:56,670 --> 00:57:59,280 Dit sal begin met die terugkeer tipe, Dan kry jy die naam. 1243 00:57:59,280 --> 00:58:02,935 Dit sal neem om die argumente, anders bekend as die parameters, en binne 1244 00:58:02,935 --> 00:58:05,290 diegene krulhakies, sal jy skryf jou kode. 1245 00:58:05,290 --> 00:58:07,150 >> Ons het gesien hoe een funksie 'n baie. 1246 00:58:07,150 --> 00:58:09,160 Dit is belangrikste. 1247 00:58:09,160 --> 00:58:13,820 Hier is die hoof bo-op dat anatomie Ek het vroeër. 1248 00:58:13,820 --> 00:58:15,525 Wat beteken int hier dui? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Wat beteken int beteken? 1251 00:58:19,450 --> 00:58:21,026 Wanneer ek skryf int main (void). 1252 00:58:21,026 --> 00:58:21,740 >> STUDENT: Stuur tipe? 1253 00:58:21,740 --> 00:58:22,350 >> JASON Hirschhorn: Jammer? 1254 00:58:22,350 --> 00:58:23,170 >> STUDENT: Die terugkeer tipe. 1255 00:58:23,170 --> 00:58:24,820 >> JASON Hirschhorn: Int is die terugkeer tipe, presies reg. 1256 00:58:24,820 --> 00:58:25,870 Main gee 'n int. 1257 00:58:25,870 --> 00:58:28,678 Wat is die hoof? 1258 00:58:28,678 --> 00:58:29,510 >> STUDENT: Function name. 1259 00:58:29,510 --> 00:58:30,800 >> JASON Hirschhorn: Main is die naam van die funksie. 1260 00:58:30,800 --> 00:58:31,510 Presies reg. 1261 00:58:31,510 --> 00:58:31,840 En leeg? 1262 00:58:31,840 --> 00:58:33,190 Wat is nietig in die hakies? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> STUDENT: Dit neem nie enige eksterne waarde. 1265 00:58:42,030 --> 00:58:42,930 >> JASON Hirschhorn: So leemte - 1266 00:58:42,930 --> 00:58:43,240 reg. 1267 00:58:43,240 --> 00:58:45,940 Binne-in die hakies, het ons die parameters of die argumente die 1268 00:58:45,940 --> 00:58:48,480 funksie neem, wat gaan binne-in die swart boks. 1269 00:58:48,480 --> 00:58:50,760 Wanneer jy skryf leemte, jy sê: dit neem niks in 1270 00:58:50,760 --> 00:58:53,802 So int main leemte beteken hoof se nie om enigiets in 1271 00:58:53,802 --> 00:58:56,950 >> Binne-in die krulhakies, ons het 'n paar kode, en dan sien ons aan die einde 1272 00:58:56,950 --> 00:58:57,640 terugkeer nul. 1273 00:58:57,640 --> 00:59:01,220 Wat beteken terugkeer nul beteken? 1274 00:59:01,220 --> 00:59:02,470 Wel, ons het gepraat oor terugkeer tipe. 1275 00:59:02,470 --> 00:59:03,780 Hoof moet 'n int om terug te keer. 1276 00:59:03,780 --> 00:59:04,960 Dit is wat hierdie lyn nie. 1277 00:59:04,960 --> 00:59:07,330 Dit gee 'n int, nul. 1278 00:59:07,330 --> 00:59:13,600 >> Natuurlik, het ons nie gesien dat 'n klomp want in die ontwikkeling wat ons doen met 1279 00:59:13,600 --> 00:59:16,070 die masjiene wat ons doen en die opstellers ons gebruik deesdae, jy 1280 00:59:16,070 --> 00:59:16,990 nie nodig dat die lyn. 1281 00:59:16,990 --> 00:59:20,070 Belangrikste is spesiaal genoeg dat dit weet wanneer jy aan die einde van die hoof, net 1282 00:59:20,070 --> 00:59:22,060 terugkeer nul as alles goed gegaan. 1283 00:59:22,060 --> 00:59:25,560 In werklikheid, as iets nie goed gaan, hoof dikwels sal terugkeer 'n ander 1284 00:59:25,560 --> 00:59:28,500 getal dui dat daar iets verkeerd gegaan het met jou program. 1285 00:59:28,500 --> 00:59:32,470 >> So oor die algemeen as jy sien kode, kan jy skryf nie terugkeer nul, maar dit is 'n goeie 1286 00:59:32,470 --> 00:59:34,770 om te weet dat dit gebeur agter die tonele, want wanneer jy skryf 1287 00:59:34,770 --> 00:59:36,370 'n ander tipe funksie, jy gaan nodig het om te 1288 00:59:36,370 --> 00:59:37,400 sluit in 'n terugkeer lyn. 1289 00:59:37,400 --> 00:59:39,710 As jy sê ek gaan terug te keer 'n int, jy het om te 1290 00:59:39,710 --> 00:59:41,250 skryf weer iets teruggee. 1291 00:59:41,250 --> 00:59:45,160 As jy sê leemte hier by die begin, nietig belangrikste leemte, vir 1292 00:59:45,160 --> 00:59:48,670 Byvoorbeeld, dan is dit nie terug enigiets - nietig beteken niks - 1293 00:59:48,670 --> 00:59:50,320 sodat jy nie nodig dat die terugkeer lyn. 1294 00:59:50,320 --> 00:59:53,610 Maar jy al ooit iets skryf wat nie nietig vir die terugkeer tipe, moet jy 1295 00:59:53,610 --> 00:59:55,950 'n lyn wat sê terugkeer en jy nodig het om iets daar te vestig 1296 00:59:55,950 --> 00:59:57,650 wat ooreenstem met die tipe. 1297 00:59:57,650 --> 00:59:58,900 Enige vrae oor wat? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Soet. 1300 01:00:04,680 --> 01:00:05,930 >> Omvang. 1301 01:00:05,930 --> 01:00:07,360 Dit is iets wat ons het aangeraak as well. 1302 01:00:07,360 --> 01:00:10,720 Elke veranderlike, soos ons weet, het 'n sekere omvang, en dit is basies 1303 01:00:10,720 --> 01:00:14,160 praat oor waar die veranderlike mag of mag nie gekla word. 1304 01:00:14,160 --> 01:00:16,310 En ek hou van om te sê wat gebeur in krulhakies bly 1305 01:00:16,310 --> 01:00:18,000 binne-in die krulhakies. 1306 01:00:18,000 --> 01:00:21,490 So byvoorbeeld, as ons kyk na hierdie kode, ons definisie van 'n globale veranderlike 1307 01:00:21,490 --> 01:00:24,510 buite hoof, int n, hier aan die bokant. 1308 01:00:24,510 --> 01:00:27,380 Ons is deur 'n ander int 'n binne-hoof. 1309 01:00:27,380 --> 01:00:29,760 Ons het 'n paar meer krulhakies, en roep ons nog 'n int. 1310 01:00:29,760 --> 01:00:31,690 >> Ons het drie A's in die kode. 1311 01:00:31,690 --> 01:00:32,550 Dit is nie dieselfde ding nie. 1312 01:00:32,550 --> 01:00:34,880 Ek het geskep drie afsonderlike veranderlikes. 1313 01:00:34,880 --> 01:00:39,370 Dan binne hierdie innerlike krullerige draadjies, sê ek a = 4. 1314 01:00:39,370 --> 01:00:44,130 Wat 'n is dat dit oor die eerste een, die tweede een, 1315 01:00:44,130 --> 01:00:47,045 of die derde een? 1316 01:00:47,045 --> 01:00:47,920 >> STUDENT: Die derde een. 1317 01:00:47,920 --> 01:00:49,320 >> JASON Hirschhorn: Dit praat Oor die derde een. 1318 01:00:49,320 --> 01:00:52,850 Al hierdie is eintlik 'n kan gepraat oor in hierdie spesifieke 1319 01:00:52,850 --> 01:00:58,660 byvoorbeeld omdat hul omvang alles in hierdie binneste krullerige draadjies. 1320 01:00:58,660 --> 01:01:02,360 Maar wanneer jy noem dinge dieselfde naam, daar is iets genoem wegkruip. 1321 01:01:02,360 --> 01:01:09,670 So jy het net om met of los of gebruik die mees onlangse veranderlike, of die een wat 1322 01:01:09,670 --> 01:01:11,090 naaste aan jou. 1323 01:01:11,090 --> 01:01:14,760 So binnekant hier, is hierdie 'n derde naaste aan daardie lyn, 'n = 4, so dit 1324 01:01:14,760 --> 01:01:16,550 invloed op die derde een. 1325 01:01:16,550 --> 01:01:19,890 En die laaste reël, 'n = 2, wat 'n is wat praat, die eerste, tweede, 1326 01:01:19,890 --> 01:01:20,805 of derde 'n? 1327 01:01:20,805 --> 01:01:22,530 >> STUDENT: Tweede. 1328 01:01:22,530 --> 01:01:24,430 >> JASON Hirschhorn: Dit praat oor die tweede a. 1329 01:01:24,430 --> 01:01:27,970 Natuurlik, die derde 'n is die naaste aan dit in die kode nie, maar die derde 'n 1330 01:01:27,970 --> 01:01:30,200 bestaan ​​nie buite diegene krullerige draadjies. 1331 01:01:30,200 --> 01:01:32,650 Sodra jy op daardie geslote krullerige stut, dit is soos dit is weg, 1332 01:01:32,650 --> 01:01:33,570 wese. 1333 01:01:33,570 --> 01:01:36,150 Dus is die enigste twee wat jy verlaat het, is dié eerste twee, en natuurlik, nou 1334 01:01:36,150 --> 01:01:37,960 dit is die naaste aan die tweede een. 1335 01:01:37,960 --> 01:01:39,410 >> So dis 'n goeie ding om te onthou oor die omvang. 1336 01:01:39,410 --> 01:01:42,900 Byvoorbeeld, ek is seker jy teëgekom dit in 'n doen terwyl loop. 1337 01:01:42,900 --> 01:01:46,680 As jy inisialiseer die veranderlike binne die nie lus en dan, terwyl jy probeer om te 1338 01:01:46,680 --> 01:01:50,360 toegang tot dit buite, het jy waarskynlik het 'n waarskuwing soos, hierdie 1339 01:01:50,360 --> 01:01:51,680 veranderlike nie bestaan ​​nie. 1340 01:01:51,680 --> 01:01:54,370 Dit is as gevolg van die omvang idee, dat dinge net bestaan 1341 01:01:54,370 --> 01:01:55,320 binne-in die krulhakies. 1342 01:01:55,320 --> 01:01:59,320 Krulhakies is soos 'n reuse drukkie wat jy gee om jou kode, is 'n ander 1343 01:01:59,320 --> 01:02:01,380 manier om te dink oor dit. 1344 01:02:01,380 --> 01:02:05,280 >> So, dit is 'n ander funksie, iets vir julle te kode, hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Ons gaan dit oor te slaan vir nou, maar dit is iets wat ek u aanmoedig om te 1346 01:02:08,240 --> 01:02:09,740 oefen op jou eie. 1347 01:02:09,740 --> 01:02:12,510 Skryf 'n program in wat die hoof oproepe 'n ander funksie wat druk uit 'n 1348 01:02:12,510 --> 01:02:13,750 groet aan die gebruiker. 1349 01:02:13,750 --> 01:02:17,750 Dit is in wese die neem van Hello World en onttrekking wat printf in 1350 01:02:17,750 --> 01:02:18,680 'n ander funksie. 1351 01:02:18,680 --> 01:02:22,360 Maar ons is nie van plan om dit reg om nou te doen want ons het nie soveel tyd 1352 01:02:22,360 --> 01:02:23,350 verlaat as ek sou wou hê. 1353 01:02:23,350 --> 01:02:26,250 >> So funksie verklaring. 1354 01:02:26,250 --> 01:02:28,080 Ons het gesien dat dit voor as well. 1355 01:02:28,080 --> 01:02:31,180 As jy wil 'n ander funksie te skryf, wat jy nodig het om jou te laat weet die rekenaar en 1356 01:02:31,180 --> 01:02:32,600 hoof weet dat dit bestaan. 1357 01:02:32,600 --> 01:02:37,140 So, wat ons hierbo nie is die hoof, ons skryf return, die naam, en die 1358 01:02:37,140 --> 01:02:42,970 parameters, en dan af onder hoof, hier het ons eintlik kopieer daardie lyn 1359 01:02:42,970 --> 01:02:45,080 en skryf dan die werklike kode. 1360 01:02:45,080 --> 01:02:50,990 So op hierdie manier, as jy noem die funksie in die belangrikste aan die bokant, hoof weet dat 1361 01:02:50,990 --> 01:02:54,650 hallo bestaan, byvoorbeeld, as ek te roep hallo, en dan lyk dit na 1362 01:02:54,650 --> 01:02:56,710 die implementering onder. 1363 01:02:56,710 --> 01:02:59,680 Wat gebeur as ek nie hierdie sluit line-up top, nietig hallo (void)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> As ek sluit nie die lyn en die belangrikste oproepe hallo, ek is 1366 01:03:06,560 --> 01:03:07,640 gaan 'n fout te kry. 1367 01:03:07,640 --> 01:03:10,090 Ek gaan 'n fout, want te kry die opsteller nie weet 1368 01:03:10,090 --> 01:03:13,070 dat hierdie ding bestaan. 1369 01:03:13,070 --> 01:03:16,680 Dit is soortgelyk aan die rede waarom ons insluit # moenie cs50.h. 1370 01:03:16,680 --> 01:03:21,390 Wat in wese cs50.h doen plaas kry string daar. 1371 01:03:21,390 --> 01:03:23,120 Dit is om te kry int daar. 1372 01:03:23,120 --> 01:03:26,570 Dit is om al daardie funksie prototipes voor belangrikste sodat wanneer 1373 01:03:26,570 --> 01:03:29,900 jy noem dit in hoof-, hoof-weet dat hierdie dinge bestaan ​​nie. 1374 01:03:29,900 --> 01:03:31,630 Dit is wat die h-lêers. Doen. 1375 01:03:31,630 --> 01:03:33,850 En so, as jy gaan jou eie te maak funksie, jy het om seker te maak 1376 01:03:33,850 --> 01:03:36,690 jy dat die prototipe daar. 1377 01:03:36,690 --> 01:03:38,380 Enige vrae oor hierdie so ver? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Command line argumente. 1380 01:03:42,490 --> 01:03:44,780 Dit is wat ons gaan om te voltooi op, en dan hopelik sal ons 1381 01:03:44,780 --> 01:03:46,180 druk in sommige pset. 1382 01:03:46,180 --> 01:03:48,700 Ek weet nie of ons sal in staat wees om te druk wat in gevolg van tyd, maar 1383 01:03:48,700 --> 01:03:51,560 saam met julle ouens wat hier is, en as jy ouens wil sê na 'n bietjie, ons 1384 01:03:51,560 --> 01:03:54,290 kan gaan oor dit buite. 1385 01:03:54,290 --> 01:03:56,020 Maar ons gaan om te voltooi met command line argumente 1386 01:03:56,020 --> 01:03:58,510 vir die laaste 15 minute. 1387 01:03:58,510 --> 01:03:59,930 Ons word wakker, Michael? 1388 01:03:59,930 --> 01:04:01,180 Jy wakker word? 1389 01:04:01,180 --> 01:04:01,660 Goed. 1390 01:04:01,660 --> 01:04:03,760 Ek weet nie of jy slaap met jou oë toe. 1391 01:04:03,760 --> 01:04:05,800 Dit sou moeilik wees. 1392 01:04:05,800 --> 01:04:07,180 >> Command line argumente. 1393 01:04:07,180 --> 01:04:10,430 Dit is een manier om inligting te slaag in 'n program. 1394 01:04:10,430 --> 01:04:12,780 Uiteindelik, sal ons teëkom ander. 1395 01:04:12,780 --> 01:04:15,600 Maar in wese, ons gaan om te stop skryf int main (void) as ons wil 1396 01:04:15,600 --> 01:04:16,720 neem 'n paar command line argumente. 1397 01:04:16,720 --> 01:04:19,850 Ons gaan hierdie ding om te skryf genoem int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 string bevat SPASIES, hakies. 1399 01:04:22,430 --> 01:04:23,710 Dit is verwarrend. 1400 01:04:23,710 --> 01:04:26,070 Dit is 'n baie van die briewe wat nie in menslike Engels, so ons gaan 1401 01:04:26,070 --> 01:04:27,680 pak hulle op die oomblik. 1402 01:04:27,680 --> 01:04:30,450 >> Argc staan ​​vir argument tel - 1403 01:04:30,450 --> 01:04:32,600 en weer, al hierdie sal aanlyn beskikbaar wees - 1404 01:04:32,600 --> 01:04:34,280 en dit is die getal van die argumente. 1405 01:04:34,280 --> 01:04:37,940 Bevat SPASIES staan ​​vir argument vektor, en dit is die argumente self. 1406 01:04:37,940 --> 01:04:38,830 Dit is 'n verskeidenheid van snare. 1407 01:04:38,830 --> 01:04:40,880 Ons het eintlik gesien hoe 'n verskeidenheid van snare voor vandag. 1408 01:04:40,880 --> 01:04:44,390 Ons het een in die verlede program wat ons gekodeer. 1409 01:04:44,390 --> 01:04:45,720 >> So hier is 'n voorbeeld. 1410 01:04:45,720 --> 01:04:50,230 Ek skryf. / Ohai cs50 artikel op my opdrag lyn. 1411 01:04:50,230 --> 01:04:54,090 Argc in hierdie geval is gelyk aan 3. 1412 01:04:54,090 --> 01:05:01,170 Bevat SPASIES bracket 0 is ohai, bevat SPASIES bracket 1 is cs50, bevat SPASIES bracket 2 is artikel. 1413 01:05:01,170 --> 01:05:05,160 Weereens, argc is die getal van die argumente, en om te reis wat jy 'n bietjie 1414 01:05:05,160 --> 01:05:08,710 bietjie, het ons altyd die telling van die naam van die funksie as die eerste argument. 1415 01:05:08,710 --> 01:05:12,350 So in hierdie geval, is daar drie argumente, die naam van die funksie 1416 01:05:12,350 --> 01:05:14,590 en dan daardie twee wat ek getik in 1417 01:05:14,590 --> 01:05:18,900 >> Volgende, gaan ons diegene te red argumente hulself in bevat SPASIES. 1418 01:05:18,900 --> 01:05:22,690 En weer, net soos ons voor gesien het, het ons dit in die laaste program ons gekodeer. 1419 01:05:22,690 --> 01:05:27,110 Jy kan beweeg deur middel van die verskeidenheid van bevat SPASIES en kry die snare. 1420 01:05:27,110 --> 01:05:28,830 Dit is in wese wat ons gedoen het by die einde van ons laaste program. 1421 01:05:28,830 --> 01:05:33,190 Ons pluk 'n ewekansige naam en toe na name bracket wat ook al en gedruk 1422 01:05:33,190 --> 01:05:34,580 uit die string daar geleë. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> Op die top van net die een skikking, omdat snare self skikkings, as 1425 01:05:43,670 --> 01:05:46,320 gepraat het, kan jy skikkings van skikkings, wat 1426 01:05:46,320 --> 01:05:48,530 wese wat bevat SPASIES is. 1427 01:05:48,530 --> 01:05:51,370 Een manier waarop jy kan dink dit is rye en kolomme. 1428 01:05:51,370 --> 01:05:54,750 Ek kan dit nou trek. 1429 01:05:54,750 --> 01:05:57,370 So bevat SPASIES - 1430 01:05:57,370 --> 01:05:58,630 dit is nie die skoonmaak. 1431 01:05:58,630 --> 01:05:59,880 Kom ons teken onder ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> So as ek geskryf het in, ohai cs50 artikel, Ek gaan kortknip 1434 01:06:12,490 --> 01:06:14,520 artikel vir hierdie voorbeeld. 1435 01:06:14,520 --> 01:06:29,026 Maar in wese, my multi-dimensionele skikking, ohai cs50, 1436 01:06:29,026 --> 01:06:32,200 ons gaan party te doen. 1437 01:06:32,200 --> 01:06:34,610 So hier is, kan ek toegang tot - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 As ek net gee bevat SPASIES een nommer - 1440 01:06:45,710 --> 01:06:46,390 Dit is verkeerd. 1441 01:06:46,390 --> 01:06:49,020 Wat is verkeerd in hierdie diagram? 1442 01:06:49,020 --> 01:06:49,690 >> STUDENT: Begin by nul. 1443 01:06:49,690 --> 01:06:50,350 >> JASON Hirschhorn: Dit moet begin met 'n nul. 1444 01:06:50,350 --> 01:06:52,940 Ek moet ook waarskynlik draai nie, maar want ek het dit reeds geteken, ek is 1445 01:06:52,940 --> 01:06:54,120 gaan om dit te laat op vir nou daar. 1446 01:06:54,120 --> 01:06:55,160 Maar dit begin by nul. 1447 01:06:55,160 --> 01:06:56,410 Dit is reg. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Ek is jammer as dit is klein. 1450 01:07:00,120 --> 01:07:01,370 Kan soort van julle sien? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 So as ek doen bevat SPASIES 0, sal ek kry al ohai. 1453 01:07:06,670 --> 01:07:08,555 As ek dit doen bevat SPASIES 1, ek sal almal van cs50. 1454 01:07:08,555 --> 01:07:10,720 As ek dit doen bevat SPASIES 2, ek sal almal van party. 1455 01:07:10,720 --> 01:07:13,370 >> Maar nou, soos ons sê, stringe is skikkings hulself. 1456 01:07:13,370 --> 01:07:19,740 So, wat ek kan doen is ek kan hanteer hierdie as 'n multi-dimensionele skikking, en ek 1457 01:07:19,740 --> 01:07:24,190 kan doen iets langs die lyne van bevat SPASIES 0, 0, wat gee my net die 1458 01:07:24,190 --> 01:07:25,400 karakter 0. 1459 01:07:25,400 --> 01:07:28,760 Bevat SPASIES 0, 1, wat my net h. 1460 01:07:28,760 --> 01:07:33,960 Bevat SPASIES 1, 3, wat gee my net hierdie 0 af hier in cs50. 1461 01:07:33,960 --> 01:07:37,690 >> So omdat snare hulself is skikkings, ons sit 1462 01:07:37,690 --> 01:07:38,540 wat in 'n ander skikking. 1463 01:07:38,540 --> 01:07:42,850 Ons het nou 'verskeidenheid van skikkings, en ons kan kruip in ons eerste reeks en 1464 01:07:42,850 --> 01:07:44,840 dan indeks in ons tweede skikking. 1465 01:07:44,840 --> 01:07:48,650 En as jy sou verwag, ons doen wat deur net om daardie twee - 1466 01:07:48,650 --> 01:07:51,760 ons doen die vierkantige hakies net reg langs mekaar. 1467 01:07:51,760 --> 01:07:58,930 So in hierdie voorbeeld, bevat SPASIES 1 is cs50 en bevat SPASIES 1, 2, soos ons gesê het, is net 5. 1468 01:07:58,930 --> 01:08:02,120 Het enige iemand enige vrae oor multi-dimensionele skikkings? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Julle doen awesome. 1471 01:08:06,380 --> 01:08:07,750 Soet. 1472 01:08:07,750 --> 01:08:11,980 >> So het ons 'n ander program reg hier, en dit is die laaste ding wat ons is 1473 01:08:11,980 --> 01:08:13,690 gaan nou te doen. 1474 01:08:13,690 --> 01:08:18,160 So ek wil hê dat jy 'n program te skryf wat neem 'n gebruiker se volle naam, twee en slegs 1475 01:08:18,160 --> 01:08:21,649 twee command line argumente, en uiteindelik, druk 'n groet aan die 1476 01:08:21,649 --> 01:08:24,180 gebruiker wat insluit hul eerste naam. 1477 01:08:24,180 --> 01:08:27,800 So hoekom neem jy nie drie of vier minute om dit te doen, en dan sal ons gaan 1478 01:08:27,800 --> 01:08:29,870 meer as dit as 'n groep, en dan sal ons draai? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> En weer, hier, wanneer ons sê 'n gebruiker se volle naam per die beskrywing 1481 01:09:48,084 --> 01:09:54,473 van die probleem, moet dit command lyn argumente, nie met behulp kry snaar. 1482 01:09:54,473 --> 01:09:55,450 Ja, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> STUDENT: So wanneer jy sê twee opdrag lyn argumente, is dat bykomend tot 1484 01:09:58,260 --> 01:10:00,000 . die / hardloop, of - 1485 01:10:00,000 --> 01:10:02,980 >> JASON Hirschhorn: Goeie vraag. 1486 01:10:02,980 --> 01:10:05,995 Doen, insluitend die / run., Drie command line argumente. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 Of insluitende die / persoonlike., In hierdie geval, want dit is die 1489 01:10:11,320 --> 01:10:12,360 naam van die lêer. 1490 01:10:12,360 --> 01:10:13,300 So argc sou wees drie. 1491 01:10:13,300 --> 01:10:19,480 Maar ek wil net twee argumente gegee aan die program. 1492 01:10:19,480 --> 01:10:20,400 Ek moet spesifiseer dat. 1493 01:10:20,400 --> 01:10:23,380 Ek sal dat verandering te maak voordat ek 'n boodskap hierdie en stuur dit vir julle ouens. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> STUDENT: Wat gebeur as jy 'n middel naam? 1496 01:10:34,740 --> 01:10:36,800 >> JASON Hirschhorn: As jy 'n middel naam, is jy uit van geluk. 1497 01:10:36,800 --> 01:10:38,050 Ek is jammer. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 Of as jy net gaan deur Shakira, jy is ook uit van geluk. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Ja? 1502 01:10:56,425 --> 01:11:00,760 >> STUDENT: So wanneer mense nie cs50.h, definieer hulle bevat SPASIES 1503 01:11:00,760 --> 01:11:03,450 as char ster bevat SPASIES? 1504 01:11:03,450 --> 01:11:05,160 Of is dit nog genoem string bevat SPASIES? 1505 01:11:05,160 --> 01:11:07,430 >> JASON Hirschhorn: Ja. 1506 01:11:07,430 --> 01:11:10,480 So string, weer, ons masker oor wat presies daar gebeur. 1507 01:11:10,480 --> 01:11:14,040 Dit gaan om miskien uitgepak op Woensdag, maar gou. 1508 01:11:14,040 --> 01:11:16,380 Dit is soos die opleiding wiele. 1509 01:11:16,380 --> 01:11:18,370 Want in wese is, is dit dieselfde ding. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> So laat ons 'n minuut program hierdie, en dan sal ons gaan oor 1512 01:11:42,560 --> 01:11:45,130 dit as 'n groep, en dan soos ek gesê het, draai. 1513 01:11:45,130 --> 01:11:47,770 En ek dink hulle is nog ekstra lekkergoed, so julle ouens moet hopelik neem 1514 01:11:47,770 --> 01:11:49,790 dat, of neem asseblief dat. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Jammer as jy nog skryf, maar ek wil om te duik in en ons 1517 01:12:22,560 --> 01:12:24,010 kan dit klaarmaak saam. 1518 01:12:24,010 --> 01:12:30,470 So ek geskryf het in, sluit # cs50.h, # sluit stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int main (void), krullerige stut, krullerige stut, binne drie reëls van die 1520 01:12:33,970 --> 01:12:38,760 pseudokode, neem 'n gebruiker se volle naam, twee en slegs twee command line 1521 01:12:38,760 --> 01:12:42,670 argumente, druk 'n groet aan die gebruiker wat insluit hul eerste naam. 1522 01:12:42,670 --> 01:12:45,810 >> So het die eerste een, neem 'n gebruiker se volle naam. 1523 01:12:45,810 --> 01:12:47,290 Wie kan my help neem 'n gebruiker se volle naam? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Hoe doen ek dit deel? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Het julle ouens doen dat die eerste deel? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Neem 'n gebruiker se volle naam. 1530 01:13:03,894 --> 01:13:05,860 Wel, vir daardie een command line argument, wat moet ek skryf? 1531 01:13:05,860 --> 01:13:09,624 Wat moet ek verander oor my funksie verklaring? 1532 01:13:09,624 --> 01:13:11,140 >> STUDENT: Jy wil nie dit is nietig nie. 1533 01:13:11,140 --> 01:13:11,410 >> JASON Hirschhorn: Presies. 1534 01:13:11,410 --> 01:13:12,385 Ek wil nie hê dit moet wees nietig. 1535 01:13:12,385 --> 01:13:13,630 Wat wil ek hê moet dit wees? 1536 01:13:13,630 --> 01:13:14,650 >> STUDENT: Int argc. 1537 01:13:14,650 --> 01:13:15,720 >> JASON Hirschhorn: Int argc. 1538 01:13:15,720 --> 01:13:17,430 >> STUDENT: String bevat SPASIES. 1539 01:13:17,430 --> 01:13:19,055 >> JASON Hirschhorn: String bevat SPASIES. 1540 01:13:19,055 --> 01:13:19,705 >> STUDENT: Bracket, bracket. 1541 01:13:19,705 --> 01:13:20,070 >> JASON Hirschhorn: Bracket, bracket. 1542 01:13:20,070 --> 01:13:21,780 Dit is presies reg, en dit is eintlik hoe ek gaan kry 1543 01:13:21,780 --> 01:13:22,820 'n gebruiker se volle naam. 1544 01:13:22,820 --> 01:13:24,070 Hulle gaan om dit te sit in daar. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Sodat 'n mens gedoen is. 1547 01:13:28,780 --> 01:13:30,780 So nou wil ek twee en slegs twee command line argumente. 1548 01:13:30,780 --> 01:13:35,065 So Noag, wat is een manier wat ek kan check die getal van die opdrag 1549 01:13:35,065 --> 01:13:36,315 line argumente ek het? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> STUDENT: Jy doen 'n if-stelling. 1552 01:13:40,725 --> 01:13:42,270 >> JASON Hirschhorn: As verklaring, presies. 1553 01:13:42,270 --> 01:13:44,830 Wat wil ek doen as die toestand? 1554 01:13:44,830 --> 01:13:48,370 >> STUDENT: Indien argc groter as 3. 1555 01:13:48,370 --> 01:13:52,485 >> JASON Hirschhorn: As argc is groter as 3. 1556 01:13:52,485 --> 01:13:58,430 As argc groter as 3, doen wat ek doen? 1557 01:13:58,430 --> 01:13:59,400 >> STUDENT: Terug 1. 1558 01:13:59,400 --> 01:14:01,856 >> JASON Hirschhorn: Terug 1. 1559 01:14:01,856 --> 01:14:04,050 Sal dit verseker Ek het twee en slegs twee? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> STUDENT: No 1562 01:14:07,820 --> 01:14:13,110 As argc is groter as 3 en minder as 2. 1563 01:14:13,110 --> 01:14:17,770 >> JASON Hirschhorn: As argc is groter as 3 en argc is minder as 2. 1564 01:14:17,770 --> 01:14:21,540 Wat is een manier wat ek kan skryf in net een lyn, of sonder die gebruik van daardie 1565 01:14:21,540 --> 01:14:23,890 en Boole-operateur? 1566 01:14:23,890 --> 01:14:25,942 >> STUDENT: Dit is nie gelyk aan 2. 1567 01:14:25,942 --> 01:14:28,790 >> JASON Hirschhorn: As argc is nie gelyk aan 2. 1568 01:14:28,790 --> 01:14:29,260 Presies. 1569 01:14:29,260 --> 01:14:34,890 So as argc is nie gelyk aan 2, wat gee my hierdie program, 1570 01:14:34,890 --> 01:14:37,250 persoonlike, toe ek dit loop, en wat gee my hoeveel 1571 01:14:37,250 --> 01:14:38,740 command line argumente? 1572 01:14:38,740 --> 01:14:42,110 Hoeveel sal ek kyk vir? 1573 01:14:42,110 --> 01:14:42,370 >> Jammer. 1574 01:14:42,370 --> 01:14:43,400 Laat my herbewoord wat. 1575 01:14:43,400 --> 01:14:46,620 As argc = 2, hoe baie dinge gedoen die gebruiker skryf in die lyn? 1576 01:14:46,620 --> 01:14:47,500 >> STUDENT: One. 1577 01:14:47,500 --> 01:14:49,120 >> JASON Hirschhorn: Net een. 1578 01:14:49,120 --> 01:14:50,430 So voor, jy was reg, Noag. 1579 01:14:50,430 --> 01:14:52,192 Wat ek nie eintlik nodig het om daar te sit? 1580 01:14:52,192 --> 01:14:53,640 >> Student: Daar is gelyk aan 3. 1581 01:14:53,640 --> 01:14:55,970 >> JASON Hirschhorn: Argc nie gelyk aan 3. 1582 01:14:55,970 --> 01:15:00,250 Ek wil 3 te gelyk, want ek wil persoonlike plus die ander twee. 1583 01:15:00,250 --> 01:15:02,560 So as argc nie gelyk 3, terug 1. 1584 01:15:02,560 --> 01:15:04,475 Waarom het jy gesê terug 1? 1585 01:15:04,475 --> 01:15:06,180 >> STUDENT: Omdat beteken dit is verkeerd. 1586 01:15:06,180 --> 01:15:08,420 >> JASON Hirschhorn: Dit beteken dit is verkeerd, en wat is dit gaan doen? 1587 01:15:08,420 --> 01:15:10,360 >> STUDENT: Re-Vra die gebruiker. 1588 01:15:10,360 --> 01:15:11,940 >> JASON Hirschhorn: Dit gaan om op te hou die program, so dit sal hê om te hardloop 1589 01:15:11,940 --> 01:15:14,520 weer, maar ons het nie iets hier om te vra vir hulle weer. 1590 01:15:14,520 --> 01:15:14,840 Ek het nie gevra vir dit. 1591 01:15:14,840 --> 01:15:15,990 So dit is presies reg. 1592 01:15:15,990 --> 01:15:17,680 Terug 1 net verlaat die program. 1593 01:15:17,680 --> 01:15:18,520 Groot. 1594 01:15:18,520 --> 01:15:21,600 >> En die druk van 'n groet aan die gebruiker wat insluit hul eerste naam. 1595 01:15:21,600 --> 01:15:24,010 Hoe kan ek dit doen? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> STUDENT: printf. 1598 01:15:26,580 --> 01:15:27,785 >> JASON Hirschhorn: printf. 1599 01:15:27,785 --> 01:15:28,640 >> STUDENT: (" 1600 01:15:28,640 --> 01:15:30,460 >> JASON Hirschhorn: ( 1601 01:15:30,460 --> 01:15:31,600 >> STUDENT: "hallo 1602 01:15:31,600 --> 01:15:33,210 >> JASON Hirschhorn: "hallo 1603 01:15:33,210 --> 01:15:34,800 >> STUDENT:% s 1604 01:15:34,800 --> 01:15:37,230 >> JASON Hirschhorn:% s 1605 01:15:37,230 --> 01:15:38,840 >> STUDENT: / n 1606 01:15:38,840 --> 01:15:41,030 >> JASON Hirschhorn: / n 1607 01:15:41,030 --> 01:15:43,120 >> STUDENT: ", 1608 01:15:43,120 --> 01:15:45,130 >> JASON Hirschhorn: ", 1609 01:15:45,130 --> 01:15:46,620 >> STUDENT: bevat SPASIES 1610 01:15:46,620 --> 01:15:47,080 >> JASON Hirschhorn: Jammer? 1611 01:15:47,080 --> 01:15:47,750 >> STUDENT: bevat SPASIES 1612 01:15:47,750 --> 01:15:48,840 >> JASON Hirschhorn: bevat SPASIES 1613 01:15:48,840 --> 01:15:50,190 >> STUDENT: Square hakies: 1. 1614 01:15:50,190 --> 01:15:51,230 >> JASON Hirschhorn: Square hakies? 1615 01:15:51,230 --> 01:15:51,870 >> STUDENT: 1. 1616 01:15:51,870 --> 01:15:54,050 >> JASON Hirschhorn: 1. 1617 01:15:54,050 --> 01:15:55,850 >> Student is en) kommapunt. 1618 01:15:55,850 --> 01:15:58,290 >> JASON Hirschhorn:) kommapunt. 1619 01:15:58,290 --> 01:16:00,250 Kom ons loop nie. 1620 01:16:00,250 --> 01:16:03,730 Maak persoonlike. 1621 01:16:03,730 --> 01:16:06,392 / Persoonlike.. 1622 01:16:06,392 --> 01:16:07,420 Dit is net op te hou. 1623 01:16:07,420 --> 01:16:10,390 Hoekom het dit ophou? 1624 01:16:10,390 --> 01:16:11,310 >> STUDENT: Jy het nie 'n argument. 1625 01:16:11,310 --> 01:16:12,560 >> JASON Hirschhorn: Ek het nie sit enige argumente in 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Lyk baie goed. 1628 01:16:16,920 --> 01:16:18,130 Julle vasgespyker. 1629 01:16:18,130 --> 01:16:22,420 So weer, jy het in 'bevat SPASIES en jy nagegaan word aan die begin argc. 1630 01:16:22,420 --> 01:16:24,390 Dit is twee belangrike dinge om te onthou. 1631 01:16:24,390 --> 01:16:29,250 So in ons laaste twee minute voor ons verlaat nie, sal ons nie kry om pset twee nie, maar 1632 01:16:29,250 --> 01:16:33,585 soos ek gesê het, as jy wil om te bly nadat vir 10 minute, ek sou hy bly om te gaan 1633 01:16:33,585 --> 01:16:35,710 saam met julle ouens die logika vir hierdie probleem sit. 1634 01:16:35,710 --> 01:16:37,930 Ons het 'n baie vandag te dek so ek het nie vir hulle. 1635 01:16:37,930 --> 01:16:39,820 Oor die algemeen, ek wil graag in te sluit wat aan die einde. 1636 01:16:39,820 --> 01:16:42,150 So as jy wil om aan te bly, hou om vir 10 minute. 1637 01:16:42,150 --> 01:16:42,990 Ons sal dit doen. 1638 01:16:42,990 --> 01:16:46,250 >> Dan, as ek reeds aan die begin, pset nul en een, sal ons daardie 1639 01:16:46,250 --> 01:16:48,040 terugvoer terug na jou as gou as moontlik. 1640 01:16:48,040 --> 01:16:51,260 Die doel is om pset een terugvoer te kry, die kommentaar gedeelte, 1641 01:16:51,260 --> 01:16:52,850 voor pset twee verskuldig is. 1642 01:16:52,850 --> 01:16:56,730 So as jy het 'n paar foute of stilisties, kon dinge beter wees, 1643 01:16:56,730 --> 01:17:01,330 jy sal hê om daardie inligting, sodat jy sal dit nie doen dieselfde dinge in pset twee. 1644 01:17:01,330 --> 01:17:06,140 En dan in die toekoms, sal jy al van jou pset terugvoer en kommentaar 1645 01:17:06,140 --> 01:17:08,190 terug voor die volgende een is te danke. 1646 01:17:08,190 --> 01:17:12,695 >> Ten slotte, as ek kon in 'n ander prop vir terugvoer. 1647 01:17:12,695 --> 01:17:13,935 Dit is jou eerste artikel. 1648 01:17:13,935 --> 01:17:15,920 Dit was my eerste artikel onderrig van hierdie jaar. 1649 01:17:15,920 --> 01:17:16,930 Gaan daar. 1650 01:17:16,930 --> 01:17:19,800 Skryf dinge, goed en sleg, en ek sal gebruik om dit te maak 1651 01:17:19,800 --> 01:17:21,320 artikel volgende keer beter. 1652 01:17:21,320 --> 01:17:24,870 En laaste, weer, as jy enigiets, laat my weet. 1653 01:17:24,870 --> 01:17:26,410 Ek is meer as gelukkig om julle te help. 1654 01:17:26,410 --> 01:17:28,420 As jy net lekkergoed wil, ek sal ekstra lekkergoed. 1655 01:17:28,420 --> 01:17:29,800 Ek is bly om dit te bring na jou toe. 1656 01:17:29,800 --> 01:17:31,190 >> Dit gaan 'n wonderlike kursus. 1657 01:17:31,190 --> 01:17:34,900 Dit is een van, indien nie my gunsteling Natuurlik, ek geneem het in my hele lewe, 1658 01:17:34,900 --> 01:17:37,220 en ek hoop dat dit sal wees dat wonderlik vir jou. 1659 01:17:37,220 --> 01:17:40,090 So ek wil alles in my vermoë doen te maak dit wat awesome vir jou. 1660 01:17:40,090 --> 01:17:46,590 Ek gaan om uit te stuur 'n e-pos as jy in my artikel of Noag, en 1661 01:17:46,590 --> 01:17:50,310 gaan probeer skeduleer met elk van julle 'n tyd om te kyk in die 1662 01:17:50,310 --> 01:17:53,820 volgende paar weke so ek kan 'n sin van wat jou CS agtergrond is, 1663 01:17:53,820 --> 01:17:58,170 en dit sal ook help om my maat hierdie afdelings aan te pas by jou behoeftes. 1664 01:17:58,170 --> 01:17:59,740 So dit is wat ek het gevoer. 1665 01:17:59,740 --> 01:18:02,260 Weereens, ek sien jou buite As jy wil hê om daar te wees. 1666 01:18:02,260 --> 01:18:03,700 Dit was week twee afdeling. 1667 01:18:03,700 --> 01:18:04,950 Dankie ouens so baie. 1668 01:18:04,950 --> 01:18:09,067