1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> JASON Hirschhorn: Benvingut a CS50 secció, tothom. 3 00:00:08,650 --> 00:00:11,430 El meu nom és Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Sóc una gran quantitat de TFS seu, però una gran quantitat de persones amb sort s'uniran a nosaltres 5 00:00:15,850 --> 00:00:20,420 , Estudiants d'extensió o estudiants en línia tractant de mirar a través de la secció si 6 00:00:20,420 --> 00:00:22,830 perdut la seva secció d'aquesta setmana o simplement posar-se al dia si volien 7 00:00:22,830 --> 00:00:24,510 revisar alguns materials. 8 00:00:24,510 --> 00:00:30,060 >> Així com pel programa d'estudis, que tots els que ha llegit, correcte? 9 00:00:30,060 --> 00:00:31,390 Veig un munt de moviments de cap. 10 00:00:31,390 --> 00:00:34,220 Les seccions li proporcionen oportunitats per explorar el curs del 11 00:00:34,220 --> 00:00:37,420 material en un ambient més íntim, així com submergir-se en 12 00:00:37,420 --> 00:00:38,810 activitats pràctiques. 13 00:00:38,810 --> 00:00:41,230 >> Així que això és bàsicament el que estem va a fer cada setmana. 14 00:00:41,230 --> 00:00:45,090 Anirem a través del que tenim determinada com la més important 15 00:00:45,090 --> 00:00:49,170 temes tractats en la conferència, i els que probablement també més útil i 16 00:00:49,170 --> 00:00:52,780 més probabilitats d'arribar als butlletins de problemes i en proves, i en la seva codificació 17 00:00:52,780 --> 00:00:53,970 vida fora del CS50. 18 00:00:53,970 --> 00:00:57,260 Així que entrarem en aquests temes, parlar-ne, anar-hi, 19 00:00:57,260 --> 00:01:00,660 respondre a qualsevol pregunta que vostès tenen, i llavors farem un munt de 20 00:01:00,660 --> 00:01:02,250 problemes de la pràctica en la codificació. 21 00:01:02,250 --> 00:01:04,239 >> Tots vostès van portar ordinadors portàtils, la qual cosa és fantàstic. 22 00:01:04,239 --> 00:01:05,710 Aquesta és una classe de ciències de la computació. 23 00:01:05,710 --> 00:01:10,070 No obstant això, molts dels exercicis que fem, vostè no necessitarà els seus ordinadors portàtils per. 24 00:01:10,070 --> 00:01:11,720 Pot fer-ho en un full de paper. 25 00:01:11,720 --> 00:01:13,580 Això és el que vas a fer-ho en els qüestionaris. 26 00:01:13,580 --> 00:01:16,450 I de fet, això és una gran manera d' sap molt bé que ho facis 27 00:01:16,450 --> 00:01:19,720 alguna cosa si no tens Consulta 50 a invocar ni fer dependre d', comptant 28 00:01:19,720 --> 00:01:20,620 vostè va fer cap error. 29 00:01:20,620 --> 00:01:25,670 >> Per tant us convidem a codi en el aparell o run.cs50.net, que és 30 00:01:25,670 --> 00:01:29,770 una eina que et permet codificar en línia, però també recomanaria, si 31 00:01:29,770 --> 00:01:32,280 no s'ha intentat, mitjançant un full de de paper i tractar aquestes pràctiques 32 00:01:32,280 --> 00:01:33,640 problemes en un full de paper. 33 00:01:33,640 --> 00:01:35,330 Perquè de nou, això és en última instància, el que serà 34 00:01:35,330 --> 00:01:37,430 a instància de proves. 35 00:01:37,430 --> 00:01:44,080 >> Així que anem a començar amb la nostra ordre del dia d'avui. 36 00:01:44,080 --> 00:01:47,710 Anem a repassar algunes normes de la secció, anem a bussejar 37 00:01:47,710 --> 00:01:51,180 en matrius, funcions, i la línia d'ordres arguments, que és el que vostès 38 00:01:51,180 --> 00:01:56,200 han cobert la setmana passada a la conferència i després el dilluns, i el que va a cobrir 39 00:01:56,200 --> 00:01:57,330 més de demà. 40 00:01:57,330 --> 00:01:59,060 I, finalment, anem parlar PSet2. 41 00:01:59,060 --> 00:02:03,640 Si pogués aconseguir una votació a mà alçada si No he mirat al problema de dos sets 42 00:02:03,640 --> 00:02:04,890 especificació. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Anem a dir tots. 45 00:02:08,120 --> 00:02:09,419 Fantastic. 46 00:02:09,419 --> 00:02:12,070 >> Parlarem dels butlletins de problemes en una mica, però si vostè llegeix el conjunt de problemes 47 00:02:12,070 --> 00:02:14,340 especificació, que és tot el que ha de fer. 48 00:02:14,340 --> 00:02:18,370 Si has llegit abans de venir a classe i la secció de dimarts, es 49 00:02:18,370 --> 00:02:19,220 ser una gran posició. 50 00:02:19,220 --> 00:02:21,680 Podem passar pel conjunt de problemes, que és el que 51 00:02:21,680 --> 00:02:22,090 a fer al final. 52 00:02:22,090 --> 00:02:23,500 Anem a anar a través d' la lògica, assegureu-vos 53 00:02:23,500 --> 00:02:24,710 tothom està en la mateixa pàgina. 54 00:02:24,710 --> 00:02:28,650 >> Vull que vostè sigui capaç de deixar dimarts sentir-se molt còmode amb el que 55 00:02:28,650 --> 00:02:31,560 haurà de fer per conjunt de problemes d'aquesta setmana, i si no ho fa, ho faré amb alegria 56 00:02:31,560 --> 00:02:33,050 quedar-se després i treballar amb vostè. 57 00:02:33,050 --> 00:02:36,850 Però això és una cosa que has de faig, però crec que seria molt intel · ligent, 58 00:02:36,850 --> 00:02:40,500 només per llegir el butlletí de problemes especificació de la classe el dimarts, 59 00:02:40,500 --> 00:02:42,640 que sona com un molts de vostès ho va fer. 60 00:02:42,640 --> 00:02:45,810 >> Vaig a començar amb un programa de cada classe per saber on anem. 61 00:02:45,810 --> 00:02:49,520 Això també és útil per observar la gent en línia, ja que cada secció 62 00:02:49,520 --> 00:02:53,540 es codifica color, així que si vols venir enrere i simplement veure 10 minuts en lloc 63 00:02:53,540 --> 00:02:56,950 que tot el tram de 90 minuts, es només pot anar a la secció de codi de color 64 00:02:56,950 --> 00:02:57,890 i mirar aquesta part. 65 00:02:57,890 --> 00:03:01,510 Així que he intentat trencar en bon mòduls que li permetrà - 66 00:03:01,510 --> 00:03:03,960 si desitja tornar i revisar, o d'altres estudiants que són 67 00:03:03,960 --> 00:03:05,350 veure una secció per revisar - 68 00:03:05,350 --> 00:03:08,130 per trobar la cosa específica que de prestar atenció a la 69 00:03:08,130 --> 00:03:10,480 i aprendre més sobre. 70 00:03:10,480 --> 00:03:11,390 Sweet. 71 00:03:11,390 --> 00:03:12,180 >> Normes. 72 00:03:12,180 --> 00:03:13,680 Sóc un líder de FOP al campus. 73 00:03:13,680 --> 00:03:14,900 No sé si algú ho va fer FOP. 74 00:03:14,900 --> 00:03:16,280 Algú fa FOP? 75 00:03:16,280 --> 00:03:17,100 Una persona va fer FOP. 76 00:03:17,100 --> 00:03:18,430 Dues persones van fer FOP. 77 00:03:18,430 --> 00:03:19,250 Impressionant. 78 00:03:19,250 --> 00:03:22,360 Així FOP és el primer any a l'aire lliure Programa d'Orientació. 79 00:03:22,360 --> 00:03:27,240 Prenem estudiants de primer any al bosc i fer les experiències més màgiques de 80 00:03:27,240 --> 00:03:28,830 la seva vida, oi? 81 00:03:28,830 --> 00:03:29,220 Si. 82 00:03:29,220 --> 00:03:30,080 Sona bastant bé. 83 00:03:30,080 --> 00:03:36,360 >> Així que només volia començar la nostra primera secció discutint algunes normes 84 00:03:36,360 --> 00:03:38,860 per a la classe i la nostra relació perquè crec 85 00:03:38,860 --> 00:03:40,010 són molt importants. 86 00:03:40,010 --> 00:03:43,630 En primer lloc, com els que són la meva secció han rebut i 87 00:03:43,630 --> 00:03:47,150 s'ha discutit en la qual correu electrònic, m'encanta això. 88 00:03:47,150 --> 00:03:48,130 Aquesta és la meva part favorita de l'any. 89 00:03:48,130 --> 00:03:49,100 He estat tan emocionada. 90 00:03:49,100 --> 00:03:50,040 He estat aquí durant hores d'avui. 91 00:03:50,040 --> 00:03:54,560 No he sortit d'aquest edifici, excepte per anar a dinar perquè m'encanta CS50 secció, 92 00:03:54,560 --> 00:03:58,620 estimo l'ensenyar, m'encanta treballar amb vostès. 93 00:03:58,620 --> 00:04:02,000 >> Un dels meus grans prioritats, si no és el meu prioritat número u, no només per 94 00:04:02,000 --> 00:04:05,130 la categoria, però com la meva altra classes i extracurriculars, és a 95 00:04:05,130 --> 00:04:09,350 donar suport a vostès, i ajudar a vostès, i fer tot el possible per assegurar-se que 96 00:04:09,350 --> 00:04:13,780 nois tenen un meravellós, divertit, productiu, atractiva, apassionant 97 00:04:13,780 --> 00:04:15,250 experiència en aquesta classe. 98 00:04:15,250 --> 00:04:16,190 Això és el que estic compromès. 99 00:04:16,190 --> 00:04:17,959 És per això que m'encanta fer això. 100 00:04:17,959 --> 00:04:20,190 Aquest és el meu número d'una cosa, suport a vostès. 101 00:04:20,190 --> 00:04:25,110 Si vostè té alguna pregunta sobre conferència, el conjunt de problemes, secció, 102 00:04:25,110 --> 00:04:28,830 vida, fins i tot si vostè vol parlar la vida, no dubti en apropar-se per favor. 103 00:04:28,830 --> 00:04:31,210 >> Tens el meu número de telèfon mòbil, tens el meu correu electrònic 104 00:04:31,210 --> 00:04:32,910 direcció, vostè té la meva GChat. 105 00:04:32,910 --> 00:04:37,540 Pots contactar amb mi en qualsevol o tots els els cada vegada, però probablement no obtindrà 106 00:04:37,540 --> 00:04:38,720 una resposta cada vegada. 107 00:04:38,720 --> 00:04:41,020 Tracte de tornar dins de 24 hores. 108 00:04:41,020 --> 00:04:44,760 Sovint serà d'aquí 20 minuts o 24 minuts. 109 00:04:44,760 --> 00:04:46,110 Hauria d'haver dit que perquè sigui paral · lel. 110 00:04:46,110 --> 00:04:48,840 No obstant això, vostè rebrà una resposta molt ràpidament. 111 00:04:48,840 --> 00:04:54,220 >> Si em text d'una hora abans de la conjunt de problemes és degut, et calmarà 112 00:04:54,220 --> 00:04:57,660 cap avall i fer exercicis de respiració profunda amb vostè, però si vostè no ha començat, 113 00:04:57,660 --> 00:05:00,270 vostè probablement no va a acabar, i Realment no puc ajudar-lo allà 114 00:05:00,270 --> 00:05:01,710 tot i que vaig a tractar el millor possible. 115 00:05:01,710 --> 00:05:03,920 Així que vaig a fer tot el Jo puc recolzar. 116 00:05:03,920 --> 00:05:07,980 Posi arribar si us plau que es troba a la secció de nou, en hores d'oficina 117 00:05:07,980 --> 00:05:09,150 si em veus, o fins i tot fora. 118 00:05:09,150 --> 00:05:11,800 Estic feliç de fer una cita per reunir- i el treball a través dels problemes 119 00:05:11,800 --> 00:05:14,410 amb o revisar material. 120 00:05:14,410 --> 00:05:15,990 Així que és el número u, el suport. 121 00:05:15,990 --> 00:05:17,940 Faré tot el que pot donar-li suport. 122 00:05:17,940 --> 00:05:21,520 >> Número dos, reunits al centre. 123 00:05:21,520 --> 00:05:24,760 Per molt que m'agradaria ser, estic no és omnipotent o totpoderós o 124 00:05:24,760 --> 00:05:28,410 que tot ho sap, així que no sé tota la temps si el que estic fent és cada vegada 125 00:05:28,410 --> 00:05:33,410 tot, si la forma en què estic ensenyant el esquema l'ajuda a aprendre, o si 126 00:05:33,410 --> 00:05:36,120 es confonen en un tema, però no ho fan que aixequi la mà o em pregunten 127 00:05:36,120 --> 00:05:37,390 o bé, enviant un correu electrònic. 128 00:05:37,390 --> 00:05:42,150 O fins i tot si, de nou, està confós sobre alguna cosa en el conjunt de problemes. 129 00:05:42,150 --> 00:05:44,240 Si no s'arriba a mi, Jo no puc saber del cert. 130 00:05:44,240 --> 00:05:46,950 Jo faré el meu millor esforç per check-in a nois, assegurar-se que tot és 131 00:05:46,950 --> 00:05:51,170 va bé, tractar d'ensenyar les coses d'una manera que serà propici per a la major part de 132 00:05:51,170 --> 00:05:54,910 seus estils d'aprenentatge, però si hi ha Puc fer alguna cosa, m'ho saber. 133 00:05:54,910 --> 00:05:58,520 >> En aquest sentit, si vols una mica d'ajuda amb el conjunt de problemes, estic més 134 00:05:58,520 --> 00:05:59,700 que feliç d'ajudar amb el conjunt de problemes. 135 00:05:59,700 --> 00:06:02,300 Anem a fer un munt de que cap al segon 136 00:06:02,300 --> 00:06:03,460 mitjà d'aquesta secció. 137 00:06:03,460 --> 00:06:06,040 Però si vostè no ha llegit el problema dels conjunts còpies i que no han vist el passeig 138 00:06:06,040 --> 00:06:09,310 a través i no han vist els curts i esperant que et ensenyi 139 00:06:09,310 --> 00:06:13,260 tot el que s'ha gravat en vídeo en línia o que es poden trobar al CS50 140 00:06:13,260 --> 00:06:16,720 estudi, això no és realment just amb mi o amb els seus altres companys. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> Així que si us plau, estic més que feliç d'ajudar vostès, però vostès van arribar a reunir amb mi a 143 00:06:25,730 --> 00:06:27,230 el medi. 144 00:06:27,230 --> 00:06:30,100 Tenim un munt de recursos per Està disponible al CS50. 145 00:06:30,100 --> 00:06:31,230 He esmentat algunes d'elles. 146 00:06:31,230 --> 00:06:32,960 Si us plau prengui avantatge d'ells. 147 00:06:32,960 --> 00:06:35,140 Si vostè està confós, estic més que feliç perquè els expliqui en 148 00:06:35,140 --> 00:06:39,290 d'una altra manera, però no és just que estudiants presentin en hores d'oficina, 149 00:06:39,290 --> 00:06:42,530 no han començat gens, i és Dijous a la nit i que estan esperant 150 00:06:42,530 --> 00:06:45,880 la TF a caminar a través de cada un dels cosa per al problema que estableix 151 00:06:45,880 --> 00:06:47,140 al migdia de l'endemà. 152 00:06:47,140 --> 00:06:48,300 Té sentit? 153 00:06:48,300 --> 00:06:50,890 Un cop més, si us plau reunir-se al centre. 154 00:06:50,890 --> 00:06:53,230 >> I, finalment, les altes expectatives. 155 00:06:53,230 --> 00:06:58,010 Jo estaré de classificació tots els que són en la meva secció, o anotar el seu 156 00:06:58,010 --> 00:06:59,020 butlletins de problemes. 157 00:06:59,020 --> 00:07:01,240 No s'ha tornat un problema establir zero o un encara. 158 00:07:01,240 --> 00:07:02,250 Ho sentim per això. 159 00:07:02,250 --> 00:07:04,970 Ens va prendre un temps per finalment instal · lar seccions, i ara 160 00:07:04,970 --> 00:07:05,560 podem començar classificació. 161 00:07:05,560 --> 00:07:09,560 >> Els portaré de nou a vostè tan aviat com sigui possible. 162 00:07:09,560 --> 00:07:11,890 Aquests són alguns dels meus assessorats per aquí. 163 00:07:11,890 --> 00:07:14,150 Els portaré de nou a vostè tan aviat com sigui possible. 164 00:07:14,150 --> 00:07:18,046 I per al problema de joc de dos, estarem en HORARI I anem a començar perquè facin 165 00:07:18,046 --> 00:07:20,440 a vostè molt ràpidament després d' activa que in 166 00:07:20,440 --> 00:07:24,130 >> En arribar al seu problema d'un retrocés, que obtindrà resultats, com saben des de 167 00:07:24,130 --> 00:07:28,150 llegir el pla d'estudis - correcció, disseny, abast, resultats i estil. 168 00:07:28,150 --> 00:07:29,760 També obtindrà els comentaris. 169 00:07:29,760 --> 00:07:32,160 Els comentaris són més importants que les puntuacions. 170 00:07:32,160 --> 00:07:33,780 Crec que és segur dir que. 171 00:07:33,780 --> 00:07:37,930 >> Les puntuacions són només un nombre d'un a cinc. 172 00:07:37,930 --> 00:07:38,930 És difícil de llegir en ells. 173 00:07:38,930 --> 00:07:40,720 És difícil millorar d'aquells. 174 00:07:40,720 --> 00:07:44,460 No obstant això, les observacions s'assenyala específica coses que van fer bé o àrees 175 00:07:44,460 --> 00:07:48,360 pot millorar i donar-li una mica de idees per al futur o alternatives 176 00:07:48,360 --> 00:07:49,160 formes de fer les coses. 177 00:07:49,160 --> 00:07:52,270 >> Així que per favor, per favor, llegeixi a través dels comentaris. 178 00:07:52,270 --> 00:07:54,190 Vaig posar un munt de temps en aquests comentaris. 179 00:07:54,190 --> 00:07:57,190 Si us plau, llegiu a través d'ells i no fer precisament desplaçar-se cap avall a la part inferior de la 180 00:07:57,190 --> 00:08:01,890 PDF, busqui la seva puntuació, o visiteu el lloc i trobar el seu puntuació i, a continuació, passar per alt 181 00:08:01,890 --> 00:08:02,800 els comentaris. 182 00:08:02,800 --> 00:08:03,910 Aquesta no és la forma en què està va a millorar. 183 00:08:03,910 --> 00:08:06,550 Així no és com es va a augmentar la la seva puntuació final, només 184 00:08:06,550 --> 00:08:07,340 mirant les puntuacions. 185 00:08:07,340 --> 00:08:08,760 Si us plau mira els comentaris. 186 00:08:08,760 --> 00:08:13,240 >> I al llarg de la línia d'altes expectatives, de nou, com he dit, 187 00:08:13,240 --> 00:08:14,260 poden ser qualificats d'un a cinc. 188 00:08:14,260 --> 00:08:17,120 Dos, tres i quatre potes són el gran majoria de les puntuacions 189 00:08:17,120 --> 00:08:17,940 vas a estar rebent. 190 00:08:17,940 --> 00:08:20,180 Uns i cincs són alhora molt rar. 191 00:08:20,180 --> 00:08:21,720 Sempre hi ha coses podem fer-ho millor. 192 00:08:21,720 --> 00:08:23,490 Cada vegada que codificar un programa, hi ha sempre alguna cosa que 193 00:08:23,490 --> 00:08:24,800 podria haver fet millor. 194 00:08:24,800 --> 00:08:28,740 >> Així que en lloc de dir s'obté un cinc tot el temps en tot i ho va fer 195 00:08:28,740 --> 00:08:31,960 tot perfecte, no crec que cap de nosaltres realment creiem que nosaltres - o 196 00:08:31,960 --> 00:08:34,830 amb sort, no fem tot el perfecte tot el temps. 197 00:08:34,830 --> 00:08:37,010 Així que no et preocupis si no va arribar a cinc. 198 00:08:37,010 --> 00:08:40,470 A cinc anys no s'assigna a una A, un nen de quatre no s'assigna a una B, a tres fa 199 00:08:40,470 --> 00:08:42,950 No en un mapa C. Això no és com funcionen les puntuacions. 200 00:08:42,950 --> 00:08:48,140 >> Igual que David ha dit moltes vegades, en final del semestre tots els seus resultats i 201 00:08:48,140 --> 00:08:53,390 aportacions de mi, el teu TF, s'uneixen i determinar una qualificació final per a vostè. 202 00:08:53,390 --> 00:08:56,760 Però, de nou, no és cinc, Una, quatre, B, etcètera. 203 00:08:56,760 --> 00:09:01,150 Així que vaig a tenir altes expectatives per a vostès. 204 00:09:01,150 --> 00:09:03,670 Vaig a esperar una bona problema jocs i donaré 205 00:09:03,670 --> 00:09:05,010 vostè regeneració com a tal. 206 00:09:05,010 --> 00:09:07,430 I no significarà que ets va a obtenir una qualificació pitjor. 207 00:09:07,430 --> 00:09:09,760 Se li qualificarà en termes de seu progrés des de la setmana 208 00:09:09,760 --> 00:09:11,260 zero al final del curs. 209 00:09:11,260 --> 00:09:17,190 >> I, finalment, en termes d'alta les expectatives de la classe, m'encanta quan 210 00:09:17,190 --> 00:09:18,460 persones hi participen. 211 00:09:18,460 --> 00:09:23,180 Entenc que algunes persones se senten més o menys còmodes participant. 212 00:09:23,180 --> 00:09:26,050 Altres persones estan participant no mitjançant l'augment de la mà i 213 00:09:26,050 --> 00:09:27,320 parlant tot el temps. 214 00:09:27,320 --> 00:09:30,570 Però en aquesta classe serem fent un munt de petits problemes, molts 215 00:09:30,570 --> 00:09:33,770 de mini preguntes, i després alguns més gran de codificació problemes. 216 00:09:33,770 --> 00:09:36,760 Així que definitivament el treball a terme aquests exercicis quan els fas en el teu ordinador o en 217 00:09:36,760 --> 00:09:37,900 un full de paper. 218 00:09:37,900 --> 00:09:40,933 >> Però jo també vaig a donar una mica de temps abans de Algú alguna vegada ha de respondre a algunes 219 00:09:40,933 --> 00:09:42,220 de les preguntes que li demano. 220 00:09:42,220 --> 00:09:44,930 Així doncs vaig a donar-li una mica de temps per pensar-hi, perquè anem 221 00:09:44,930 --> 00:09:49,380 fer les coses de socis de vegades, Vaig a esperar a tothom 222 00:09:49,380 --> 00:09:52,150 a comprometre una mica. 223 00:09:52,150 --> 00:09:56,030 I a falta d'un terme millor, no probablement serà l'anomenada freda, que 224 00:09:56,030 --> 00:09:59,045 és que tothom tindrà l'oportunitat de per pensar en la resposta, i després 225 00:09:59,045 --> 00:10:01,150 Vaig a trucar a vostè, i després que dirà la resposta. 226 00:10:01,150 --> 00:10:05,200 >> No et preocupis ni t'espantis per això. 227 00:10:05,200 --> 00:10:08,610 Ho he fet en el passat i que he trobat que és molt més èxit, 228 00:10:08,610 --> 00:10:11,810 També llegiu la investigació educativa en el mateix per determinar si era o no un 229 00:10:11,810 --> 00:10:12,640 bona tàctica. 230 00:10:12,640 --> 00:10:15,790 És molt útil, sobretot si donar als estudiants temps per pensar sobre la 231 00:10:15,790 --> 00:10:20,070 respostes i no les fan només vénen i dir que la dreta del pal. 232 00:10:20,070 --> 00:10:22,620 Però si vostè no se sent còmode contestar, jo també sóc molt bo en 233 00:10:22,620 --> 00:10:25,370 sentint que fos, i no anem a el va posar en el lloc, especialment en 234 00:10:25,370 --> 00:10:28,240 la càmera, tot i que cap d' vostè està en càmera ara mateix. 235 00:10:28,240 --> 00:10:32,250 >> Així que aquestes són les normes que tinc. 236 00:10:32,250 --> 00:10:34,670 Una cosa més en la línia de conèixer en el medi. 237 00:10:34,670 --> 00:10:36,490 Vaig a donar a vostès un munt de comentaris. 238 00:10:36,490 --> 00:10:38,310 Si us plau, dóna'm retroalimentació. 239 00:10:38,310 --> 00:10:46,190 Hi ha un lloc web, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 Així que és una retroalimentació honesta. 241 00:10:48,380 --> 00:10:50,730 Si vols donar-li a la secció, Rebo un correu electrònic cada vegada que passa. 242 00:10:50,730 --> 00:10:53,820 Anem a prendre un descans en una estona, així que vaig a mirar a través dels comentaris a continuació. 243 00:10:53,820 --> 00:10:55,970 Si alguna vegada té algun comentari, si us plau, m'ho donen allà. 244 00:10:55,970 --> 00:11:01,380 >> Si vostè em dóna retroalimentació sobre la Q, que és meravellós, però aquesta és la guia 245 00:11:01,380 --> 00:11:02,570 que ho faci al final. 246 00:11:02,570 --> 00:11:05,690 Però això serà al final del semestre per No seré capaç de prendre res d'això 247 00:11:05,690 --> 00:11:08,620 informació i convertir-la en l'ensenyament vostès millor. 248 00:11:08,620 --> 00:11:11,020 Així que si us plau, si vostè té qualsevol retroalimentació, dóna-me'l. 249 00:11:11,020 --> 00:11:12,010 M'encanta retroalimentació. 250 00:11:12,010 --> 00:11:14,490 Tornar a la FOP, s'obté retroalimentació tot el temps. 251 00:11:14,490 --> 00:11:18,610 >> Vostè em pot donar avantatges, coses bones, deltes, coses que puc millorar. 252 00:11:18,610 --> 00:11:20,600 Vostè pot fer comentaris sobre la meva roba. 253 00:11:20,600 --> 00:11:24,170 Això no serà tan útil, però vostè és benvinguts a comentar sobre qualsevol 254 00:11:24,170 --> 00:11:24,570 tot. 255 00:11:24,570 --> 00:11:26,280 Si us plau, si us plau donar-me la regeneració. 256 00:11:26,280 --> 00:11:28,740 El valoro molt i significa molt per a mi. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> Una norma més divertit. 259 00:11:33,280 --> 00:11:34,530 Tindrem un munt de diversió. 260 00:11:34,530 --> 00:11:36,930 Esperem que en aquest curs, se li tenir un munt de diversió. 261 00:11:36,930 --> 00:11:38,780 Tindrem dolços en secció. 262 00:11:38,780 --> 00:11:40,040 Tindrem música. 263 00:11:40,040 --> 00:11:45,510 Esperarem conèixer altre una mica així, pel que vull 264 00:11:45,510 --> 00:11:47,690 que això sigui una experiència divertida i atractiva. 265 00:11:47,690 --> 00:11:50,890 >> Sé que alguns de vostès han dormit a les conferències que tenia el dia d'avui, 266 00:11:50,890 --> 00:11:53,750 així que espero que no ho farà ser el cas ara. 267 00:11:53,750 --> 00:11:55,960 I si és el cas ara, no roncar, perquè això podria 268 00:11:55,960 --> 00:11:57,580 ser captat per la càmera. 269 00:11:57,580 --> 00:11:58,770 Sweet. 270 00:11:58,770 --> 00:12:04,020 Qualsevol consulta, comentari o inquietud abans de passar per res que hem 271 00:12:04,020 --> 00:12:05,270 parlat? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Gran. 274 00:12:11,350 --> 00:12:14,830 >> Així que anirem en matrius primera. 275 00:12:14,830 --> 00:12:17,140 Aquesta és la forma de fer un arranjament. 276 00:12:17,140 --> 00:12:18,410 Hem vist això abans. 277 00:12:18,410 --> 00:12:21,830 Vostè té un tipus de dades, vostè té un nom, i llavors vostè té una mida. 278 00:12:21,830 --> 00:12:24,430 Just aquí, puc crear dos arrays. 279 00:12:24,430 --> 00:12:30,360 La primera és una sèrie de caràcters, i compta amb 26 espais. 280 00:12:30,360 --> 00:12:33,790 La segona és una sèrie de partitures, i compta amb tres 281 00:12:33,790 --> 00:12:35,390 espais de tres nombres enters. 282 00:12:35,390 --> 00:12:35,827 Sí? 283 00:12:35,827 --> 00:12:38,200 >> ESTUDIANT: Són totes aquestes diapositives disponible en algun lloc per nosaltres? 284 00:12:38,200 --> 00:12:38,850 >> JASON Hirschhorn: Molt bona pregunta. 285 00:12:38,850 --> 00:12:40,650 La pregunta era, són tots Aquestes diapositives disponibles? 286 00:12:40,650 --> 00:12:40,920 Sí 287 00:12:40,920 --> 00:12:43,420 Totes aquestes diapositives estaran disponibles, i en el futur, vaig a enviar per correu electrònic a 288 00:12:43,420 --> 00:12:44,640 abans de la secció. 289 00:12:44,640 --> 00:12:47,340 Però avui en dia, ja que és la primera setmana, vam tenir un inici tardà. 290 00:12:47,340 --> 00:12:49,675 Així que en general, obtindrà aquestes diapositives, però estaran disponibles en línia i 291 00:12:49,675 --> 00:12:52,420 Te'ls enviarem per correu electrònic just després de classe. 292 00:12:52,420 --> 00:12:54,140 Alguna altra pregunta? 293 00:12:54,140 --> 00:13:01,330 >> Així que de nou, les matrius són caixes, per falta de una paraula millor, que mantenen múltiples 294 00:13:01,330 --> 00:13:06,420 elements d'un tipus de dades, i són un al costat de l'altre en la memòria. 295 00:13:06,420 --> 00:13:11,370 I així, un cop més, es tracta de com es pot fer dos tipus de matrius. 296 00:13:11,370 --> 00:13:15,090 >> Així que després d'haver fet la seva matriu amb aquesta primera línia - resultats int, suport 297 00:13:15,090 --> 00:13:17,430 3, claudàtor de tancament - que vol que l'inicieu. 298 00:13:17,430 --> 00:13:19,050 Vols posar alguns valors en aquest país. 299 00:13:19,050 --> 00:13:24,660 I aquesta és la forma de posar alguns valors en allà, només triar l'índex i 300 00:13:24,660 --> 00:13:25,670 escriure el número. 301 00:13:25,670 --> 00:13:27,130 Anem a dibuixar això a la pissarra. 302 00:13:27,130 --> 00:13:28,270 Tots poden veure? 303 00:13:28,270 --> 00:13:29,030 Tothom pot veure. 304 00:13:29,030 --> 00:13:30,790 Sweet. 305 00:13:30,790 --> 00:13:36,550 >> Així que serà la meva array anomenat Scores. 306 00:13:36,550 --> 00:13:37,730 Com es pot veure, és la mida 3. 307 00:13:37,730 --> 00:13:39,210 Hi ha tres caixes en aquest país. 308 00:13:39,210 --> 00:13:43,120 Cadascú pot adaptar al que tipus de tipus de dades? 309 00:13:43,120 --> 00:13:43,790 >> ESTUDIANT: Integer. 310 00:13:43,790 --> 00:13:45,250 >> JASON Hirschhorn: Enter en aquest. 311 00:13:45,250 --> 00:13:48,790 Escrivim resultats int, i la primera paraula és el tipus de dades que va a 312 00:13:48,790 --> 00:13:50,910 anar a les caselles d'aquesta matriu. 313 00:13:50,910 --> 00:13:52,160 Així que puc encaixar 3. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 Per què tinc zero fins hi ha al taulell? 316 00:13:57,000 --> 00:13:59,240 Per què diu és igual a zero puntuació d'1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Em recordes al teu nom. 319 00:14:03,180 --> 00:14:03,470 >> ESTUDIANT: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> JASON Hirschhorn: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> ESTUDIANT: Sí 322 00:14:04,480 --> 00:14:04,920 >> JASON Hirschhorn: Per què? 323 00:14:04,920 --> 00:14:07,230 >> ESTUDIANT: Com que el primer índex és zero, comencem a comptar des de zero. 324 00:14:07,230 --> 00:14:08,480 >> JASON Hirschhorn: Així que vam començar a comptar des de zero. 325 00:14:08,480 --> 00:14:09,580 Això és exactament correcte. 326 00:14:09,580 --> 00:14:12,340 Aquesta és la part confusa i viatge de voluntat vostè, especialment quan vostè està 327 00:14:12,340 --> 00:14:14,900 intentant recórrer arrays, el que farem en un moment. 328 00:14:14,900 --> 00:14:15,980 Comencem a comptar des de zero. 329 00:14:15,980 --> 00:14:19,170 Així que si vull fer referència a la primera quadre, no és un quadre. 330 00:14:19,170 --> 00:14:22,290 Per desgràcia, és quadre de zero. 331 00:14:22,290 --> 00:14:26,460 El segon és un quadre d'un, i en aquest cas, la tercera és de dues caixes. 332 00:14:26,460 --> 00:14:28,700 >> Què passa amb caixa de tres? 333 00:14:28,700 --> 00:14:30,670 On és caixa de tres? 334 00:14:30,670 --> 00:14:34,750 O si el que vull fer comptes, suport 3, claudàtor de tancament, què és això? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 Pel que va dir el caràcter nul. 337 00:14:39,760 --> 00:14:41,600 Alguna altra idea? 338 00:14:41,600 --> 00:14:44,590 Què és el grup de puntuació de tres bracket? 339 00:14:44,590 --> 00:14:48,045 >> ESTUDIANT: En realitat no existeix perquè només es va definir com puntuacions, 340 00:14:48,045 --> 00:14:49,370 suport de tres. 341 00:14:49,370 --> 00:14:51,400 >> JASON Hirschhorn: Així que vostè diu que en realitat no existeix. 342 00:14:51,400 --> 00:14:54,230 En alguns casos, quan estem tractant amb cadenes, en general posarem un nul 343 00:14:54,230 --> 00:14:54,790 caràcter al final. 344 00:14:54,790 --> 00:14:56,100 Ja arribarem a això en un segon. 345 00:14:56,100 --> 00:15:01,020 Però en aquest cas, cal hi ha una tercera caixa aquí. 346 00:15:01,020 --> 00:15:06,390 Així que l'última caixa en qualsevol matriu és de grandària almenys 1. 347 00:15:06,390 --> 00:15:11,310 Així que si tenim un arranjament de grandària n, la primer quadre està en zero, l'últim és 348 00:15:11,310 --> 00:15:12,700 a n almenys 1. 349 00:15:12,700 --> 00:15:14,970 I en aquest cas, no existeix. 350 00:15:14,970 --> 00:15:17,970 Hi ha alguna cosa aquí a la memòria, però no és el nostre. 351 00:15:17,970 --> 00:15:18,460 No som amos d'ella. 352 00:15:18,460 --> 00:15:19,570 Nosaltres no demanem. 353 00:15:19,570 --> 00:15:22,606 Així que si s'intenta accedir a ell, el que anem a fer una mica, probablement anem a 354 00:15:22,606 --> 00:15:24,970 ficar-se en problemes. 355 00:15:24,970 --> 00:15:29,180 >> En aquest cas, estic inicialitzar el meu matriu amb tres variables. 356 00:15:29,180 --> 00:15:36,195 Estem posant un a la caixa zero, dos en una caixa, i tres en el quadre dues. 357 00:15:36,195 --> 00:15:39,280 Algú té alguna pregunta sobre la inicialització d'una matriu? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> Així que ens vam anar en aquest moment. 360 00:15:46,970 --> 00:15:52,725 Partitures, suport de tres, a prop del suport, que no existeix. 361 00:15:52,725 --> 00:15:58,130 Estem zero indexades en ciències de la computació, així que vam començar a comptar des de zero. 362 00:15:58,130 --> 00:16:01,860 L'última casella disponible per a nosaltres, és el tercer quadre, però es diu caixa 363 00:16:01,860 --> 00:16:03,110 número dos. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> Més avall, això és una alternativa manera de inicialitzar matrius. 366 00:16:09,710 --> 00:16:13,410 Així que en lloc de la creació de la matriu en un line, emplenant el primer quadre, i després 367 00:16:13,410 --> 00:16:17,070 el segon quadre, el tercer quadre, vostè pot fer-ho tot en una sola línia. 368 00:16:17,070 --> 00:16:19,040 Així, en aquesta línia, ambdues matrius. 369 00:16:19,040 --> 00:16:23,460 Això crea el mateix array exacta el que hem creat aquí, però 370 00:16:23,460 --> 00:16:24,710 només ho fa en una línia. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Ara hem creat la nostra matriu. 373 00:16:31,360 --> 00:16:34,100 En general, una vegada que es crea una matriu, voler fer alguna cosa amb ell, ja sigui 374 00:16:34,100 --> 00:16:38,430 que es completi o aconseguir coses fora d'ell i imprimir a la pantalla. 375 00:16:38,430 --> 00:16:42,270 En aquest cas, anem a la nostra puntuacions matriu, que hem inicialitzat a 376 00:16:42,270 --> 00:16:44,740 la primera línia aquí en gris. 377 00:16:44,740 --> 00:16:49,600 I després a la segona línia, s'inicia iteració a través de la matriu. 378 00:16:49,600 --> 00:16:52,640 Algú té alguna pregunta sobre l'estructura d'un bucle? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> Així que aquest és el bucle. 381 00:16:56,400 --> 00:16:59,530 Tenim la nostra condició inicial, i després nostra condició final, i després 382 00:16:59,530 --> 00:17:01,160 iteració, i, cada bucle. 383 00:17:01,160 --> 00:17:05,579 I en les claus d'aquest per llaç, què passa si jo fos a córrer 384 00:17:05,579 --> 00:17:06,290 aquest programa? 385 00:17:06,290 --> 00:17:10,410 Pot algú dir-me el que anava a aconseguir? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> MATU: Imprimir totes les puntuacions en cada línia. 388 00:17:13,819 --> 00:17:14,900 Seria imprimir cada puntuació en una línia separada. 389 00:17:14,900 --> 00:17:16,300 >> JASON Hirschhorn: Què és exactament caldria imprimir? 390 00:17:16,300 --> 00:17:19,790 >> ESTUDIANT: Seria imprimir una, després dos, després tres. 391 00:17:19,790 --> 00:17:20,235 >> JASON Hirschhorn: Exactament. 392 00:17:20,235 --> 00:17:23,490 Seria imprimir una, després dues, després 3, cadascun en línies separades, perquè 393 00:17:23,490 --> 00:17:27,810 anem a través de la matriu i se li veure que la segona, el printf 394 00:17:27,810 --> 00:17:29,275 declaració, partitures i. 395 00:17:29,275 --> 00:17:32,880 Així que en la primera ronda a través del nostre bucle, i és igual a zero, el que significa que estem 396 00:17:32,880 --> 00:17:34,640 obtenir el valor a zero punts - 397 00:17:34,640 --> 00:17:36,900 que, si ens remuntem a nostre diagrama, és un - 398 00:17:36,900 --> 00:17:38,630 i ompliment en - 399 00:17:38,630 --> 00:17:39,700 oh, diu c. 400 00:17:39,700 --> 00:17:41,680 Això hauria de ser% d. 401 00:17:41,680 --> 00:17:43,970 Vaig a arreglar això en un moment quan I part que a vostès. 402 00:17:43,970 --> 00:17:48,670 Però estem presentant un nombre enter pel que ha de ser% d aquí, no% c. 403 00:17:48,670 --> 00:17:50,340 Què és% c per? 404 00:17:50,340 --> 00:17:50,790 >> ESTUDIANT: Caràcter. 405 00:17:50,790 --> 00:17:52,680 >> JASON Hirschhorn: Caràcter, exactament. 406 00:17:52,680 --> 00:17:53,690 Quina és l'altra? 407 00:17:53,690 --> 00:17:56,260 Si no vols fer% d per a una sencer, què més es pot fer? 408 00:17:56,260 --> 00:17:57,000 >> ESTUDIANT: i. 409 00:17:57,000 --> 00:17:59,180 >> JASON Hirschhorn:% i, exactament. 410 00:17:59,180 --> 00:18:01,660 Així que qualsevol dubte sobre la iteració a través de la matriu? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 Llavors, què passa si fem això? 413 00:18:07,800 --> 00:18:10,290 En comptes de fer i és menor que 3, nosaltres i és menor 414 00:18:10,290 --> 00:18:11,390 que o igual a tres. 415 00:18:11,390 --> 00:18:13,420 Què passa quan ens trobem aquest codi? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Sí, Annie? 418 00:18:18,940 --> 00:18:22,030 >> ESTUDIANT: Es van a imprimir coses rares en la quarta línia. 419 00:18:22,030 --> 00:18:23,850 >> JASON Hirschhorn: Això dit, és que va a imprimir coses rares al 420 00:18:23,850 --> 00:18:24,390 quarta línia? 421 00:18:24,390 --> 00:18:25,750 Algú té una resposta a la seva pregunta? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 Així que el més probable és que quan arribem a la - 424 00:18:33,160 --> 00:18:36,700 el que en la quarta ronda a través de la nostra llaç, igual que vostè va pensar, Annie, 425 00:18:36,700 --> 00:18:39,430 que serà suport de les puntuacions de tres, el que que ja hem descobert no 426 00:18:39,430 --> 00:18:41,990 Existim, i tractarem i accedir a aquesta, imprimir 427 00:18:41,990 --> 00:18:43,350 a terme, l'utilitzen alguna forma. 428 00:18:43,350 --> 00:18:46,060 Així que l'equip probablement s'enfadi amb nosaltres. 429 00:18:46,060 --> 00:18:46,760 Tens tota la raó. 430 00:18:46,760 --> 00:18:48,830 >> Pot sortir del programa complet. 431 00:18:48,830 --> 00:18:52,222 Podeu imprimir una cosa molt estrany. 432 00:18:52,222 --> 00:18:53,420 No es pot dir amb seguretat. 433 00:18:53,420 --> 00:18:56,210 El més probable és que probablement obtindrà enutjat vostè i amb prou feines surti immediatament. 434 00:18:56,210 --> 00:19:00,100 >> Però això és un error comú que tindrà on està just al costat d'un a 435 00:19:00,100 --> 00:19:05,110 Al final, i això és un error que es la pesta que tot el seu codificació. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 Una manera que m'agrada fer és només en una pissarra, anar a través de cada iteració 438 00:19:14,150 --> 00:19:18,190 del circuit en caixa o en paper per veure el que està succeint, i després 439 00:19:18,190 --> 00:19:20,440 generalment es donen compte, oh espera, que no hauria han anat a menys d'o 440 00:19:20,440 --> 00:19:20,870 igual a tres. 441 00:19:20,870 --> 00:19:24,730 Hauria d'haver deixat als dos, que és què passa si la seva condició és menys 442 00:19:24,730 --> 00:19:26,206 de tres. 443 00:19:26,206 --> 00:19:29,120 Qualsevol pregunta fins ara? 444 00:19:29,120 --> 00:19:31,010 Sweet. 445 00:19:31,010 --> 00:19:33,360 >> Així que tots vostès tenen els seus equips oberts. 446 00:19:33,360 --> 00:19:36,760 Anem a donar-li 2:58 minuts per escriure un programa que 447 00:19:36,760 --> 00:19:40,460 crea una matriu amb els sencers un a través de cinc i després imprimeix cada 448 00:19:40,460 --> 00:19:41,720 sencer en una nova línia. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 I si vostè té alguna pregunta, aixequin la mà. 451 00:19:46,000 --> 00:19:48,140 Estic feliç d'aconseguir. 452 00:19:48,140 --> 00:19:50,630 Com he dit, anem a prendre tres minuts per escriure això. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 Estan tots bé si vaig a un nova finestra i tancar aquesta? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Ho sento si no ha tingut l'oportunitat de fins al final, però ho farem 457 00:22:15,520 --> 00:22:17,310 junts ara mateix. 458 00:22:17,310 --> 00:22:23,640 Així que a la pantalla, he # include cs50.h, # include stdio.h. 459 00:22:23,640 --> 00:22:26,090 Pot algú dir-me què aquestes dues línies fan? 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 >> ESTUDIANT: S'inclouen les biblioteques CS50 i que va fer que Steve té 463 00:22:40,030 --> 00:22:44,210 excepte per al seu ús amb fer la seva vida més fàcil. 464 00:22:44,210 --> 00:22:46,820 >> JASON Hirschhorn: Així que va dir que incloure les biblioteques, una que CS50 465 00:22:46,820 --> 00:22:51,230 fet, cs50.h, i un que és sol estàndard, ve amb 466 00:22:51,230 --> 00:22:53,510 el pack C, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Com que inclou les biblioteques, però? 468 00:22:54,890 --> 00:22:55,770 Es pot ser una mica més específic? 469 00:22:55,770 --> 00:23:01,180 >> ESTUDIANT: Ho fa perquè pugui utilitzar certes paraules de codi per tenir una 470 00:23:01,180 --> 00:23:05,710 funcionar ocórrer sense haver d'anar i fer que la funció c tu mateix. 471 00:23:05,710 --> 00:23:08,730 >> JASON Hirschhorn: Pot donar-me un exemple? 472 00:23:08,730 --> 00:23:11,160 >> ESTUDIANT: Igual que printf és un que pot utilitzar. 473 00:23:11,160 --> 00:23:11,860 >> JASON Hirschhorn: Printf. 474 00:23:11,860 --> 00:23:14,680 Així que va dir printf és un dels funcions en lloc d'haver de 475 00:23:14,680 --> 00:23:19,840 printf escriure pel seu compte, printf és inclosa realment en stdio.h, per la qual cosa 476 00:23:19,840 --> 00:23:22,010 només pot utilitzar-lo i assumir que va a treballar. 477 00:23:22,010 --> 00:23:28,270 En stdio.h, si s'obre aquest arxiu, caldria incloure com printf 478 00:23:28,270 --> 00:23:31,620 obres, tot el codi de printf? 479 00:23:31,620 --> 00:23:33,105 Per què sacseges el cap? 480 00:23:33,105 --> 00:23:35,710 >> ESTUDIANT: Com que l'arxiu de capçalera només inclou la declaració de la funció. 481 00:23:35,710 --> 00:23:36,400 >> JASON Hirschhorn: Exactament. 482 00:23:36,400 --> 00:23:39,680 L'arxiu de capçalera només inclou la declaració de la funció. 483 00:23:39,680 --> 00:23:42,950 Així que, bàsicament, al compilar aquest, colpejar Feu el compte que ho farem en un 484 00:23:42,950 --> 00:23:48,070 segon, el compilador sap que si utilitza printf, printf existeix. 485 00:23:48,070 --> 00:23:49,370 Es va a definir en algun lloc. 486 00:23:49,370 --> 00:23:51,200 No és un problema per a vostè usar-lo. 487 00:23:51,200 --> 00:23:55,490 I més tard, que va a incloure la uns i zeros que realment contenen 488 00:23:55,490 --> 00:23:58,360 printf de l'aplicació i fusionar amb el seu codi. 489 00:23:58,360 --> 00:24:01,935 Com assegurar-se que inclou el uns i zeros, per exemple, reben corda? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> ESTUDIANT: Obtenir cadena té cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> JASON Hirschhorn: Sí. 493 00:24:07,830 --> 00:24:11,110 Així que diu arribar cadena existeix, la declaració de la funció. 494 00:24:11,110 --> 00:24:15,410 Però llavors els uns i zeros, el binari arxiu que inclou la realitat 495 00:24:15,410 --> 00:24:17,370 implementació de cadena get? 496 00:24:17,370 --> 00:24:19,310 Com assegurar-se que va amb el seu programa? 497 00:24:19,310 --> 00:24:23,220 >> ESTUDIANT: Passada el connector en l'argument de línia d'ordres. 498 00:24:23,220 --> 00:24:25,430 >> JASON Hirschhorn: Passi el connector en l'argument de la línia d'ordres. 499 00:24:25,430 --> 00:24:26,700 Com fer això? 500 00:24:26,700 --> 00:24:29,730 >> ESTUDIANT: És la l línia al Clang 501 00:24:29,730 --> 00:24:30,480 >> JASON Hirschhorn: Exactament. 502 00:24:30,480 --> 00:24:32,900 Vostè diu-l CS50, oi? 503 00:24:32,900 --> 00:24:34,940 Això inclou als uns i zeros. 504 00:24:34,940 --> 00:24:36,460 >> ESTUDIANT: Però què fer que per a vostè, oi? 505 00:24:36,460 --> 00:24:37,010 >> JASON Hirschhorn: Exactament. 506 00:24:37,010 --> 00:24:40,390 Fer ho fa per vostè, però amb el temps, no hauràs Fer o 507 00:24:40,390 --> 00:24:43,220 vostè haurà de fer una fer pel seu compte, pel que és una 508 00:24:43,220 --> 00:24:43,940 El millor de recordar. 509 00:24:43,940 --> 00:24:47,350 Si es va a usar un d'aquests altres biblioteques, no només té vostè 510 00:24:47,350 --> 00:24:49,490 escriure # include i a continuació, la biblioteca. 511 00:24:49,490 --> 00:24:51,420 També cal connectar polz 512 00:24:51,420 --> 00:24:54,480 I aquestes dues coses són diferents. L-CS50 és diferent 513 00:24:54,480 --> 00:24:59,260 del # include cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Llavors tenim int main void arrissat aparells, i ara anem a codi 515 00:25:02,870 --> 00:25:03,590 interior principal. 516 00:25:03,590 --> 00:25:07,090 La primera línia que tinc aquí és un comentari que diu, crear una matriu 517 00:25:07,090 --> 00:25:08,820 amb ints u al cinc. 518 00:25:08,820 --> 00:25:12,600 Què és una bona paraula per descriure el que tenen en aquests moments a la pantalla, només 519 00:25:12,600 --> 00:25:14,170 comentaris dins principal? 520 00:25:14,170 --> 00:25:15,722 Com es diu això? 521 00:25:15,722 --> 00:25:16,820 >> ESTUDIANT: Pseudocodi. 522 00:25:16,820 --> 00:25:17,840 >> JASON Hirschhorn: Pseudocodi. 523 00:25:17,840 --> 00:25:18,420 Gràcies, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 Això és exactament correcte. 525 00:25:19,540 --> 00:25:20,005 Pseudocodi. 526 00:25:20,005 --> 00:25:22,854 ¿Han vist pseudocodi abans? 527 00:25:22,854 --> 00:25:28,340 Aixequeu la mà si vostè ha utilitzat pseudocodi anterior problema d'un conjunt. 528 00:25:28,340 --> 00:25:29,400 Al voltant de la meitat de vostès. 529 00:25:29,400 --> 00:25:32,700 >> Jo recomanaria l'ús de pseudocodi per descompondre els problemes en 530 00:25:32,700 --> 00:25:35,210 més petit, més fàcil de mossegar trossos. 531 00:25:35,210 --> 00:25:38,630 A més, si vostè fa el pseudocodi, es que els seus comentaris ja en gran mesura 532 00:25:38,630 --> 00:25:40,760 incorporat, pel que no ha de tornar enrere i intentar esbrinar 533 00:25:40,760 --> 00:25:42,450 el que estaves fent. 534 00:25:42,450 --> 00:25:44,730 Llavors, pot algú donar-me aquesta primera línia per crear una matriu d'enters d'un 535 00:25:44,730 --> 00:25:45,980 a través de cinc? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Vostè? 538 00:25:49,130 --> 00:25:53,350 >> ESTUDIANT: Int i llavors vostè pot trucar qualsevol que sigui el nombre i, a continuació, plaça 539 00:25:53,350 --> 00:25:54,830 suport de cinc. 540 00:25:54,830 --> 00:25:57,820 >> JASON Hirschhorn: Números Així int, claudàtor 05:00. 541 00:25:57,820 --> 00:25:59,160 >> ESTUDIANT: igual, i llavors claus. 542 00:25:59,160 --> 00:26:00,830 >> JASON Hirschhorn: igual, claus. 543 00:26:00,830 --> 00:26:01,830 >> ESTUDIANT: Un, dos, tres, quatre. 544 00:26:01,830 --> 00:26:05,566 >> JASON Hirschhorn: Un, dos, tres, quatre, 5. 545 00:26:05,566 --> 00:26:07,390 >> ESTUDIANT: I ​​llavors claus i després punt i coma. 546 00:26:07,390 --> 00:26:09,240 >> JASON Hirschhorn: I arrissat claus i punt i coma. 547 00:26:09,240 --> 00:26:10,330 Excel · lent. 548 00:26:10,330 --> 00:26:12,210 Imprimiu cada int en una nova línia. 549 00:26:12,210 --> 00:26:17,140 ¿Algú més pot donar alguna jo aquest codi, si us plau? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Endavant. 552 00:26:18,560 --> 00:26:20,440 >> ESTUDIANT: Per ( 553 00:26:20,440 --> 00:26:21,750 >> JASON Hirschhorn: Per ( 554 00:26:21,750 --> 00:26:23,740 >> ESTUDIANT: 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 >> ESTUDIANT: Punt i coma i menys de cinc. 557 00:26:28,190 --> 00:26:31,680 >> JASON Hirschhorn: Punt i coma, i de menys de 5. 558 00:26:31,680 --> 00:26:33,600 >> ESTUDIANT: Punt i coma, i + +. 559 00:26:33,600 --> 00:26:35,140 >> JASON Hirschhorn: Punt i coma, i + +. 560 00:26:35,140 --> 00:26:37,720 >> ESTUDIANT: parèntesi tancat, a continuació, clau oberta. 561 00:26:37,720 --> 00:26:39,410 >> JASON Hirschhorn: parèntesi tancats i dues claus. 562 00:26:39,410 --> 00:26:40,510 Entre les claus? 563 00:26:40,510 --> 00:26:47,640 >> ESTUDIANT: I ​​llavors printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> JASON Hirschhorn: No, espera. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, pressupost tancat. 566 00:26:52,330 --> 00:26:55,980 >> ESTUDIANT: I ​​després cita tancada, coma, compte, suport d'i. 567 00:26:55,980 --> 00:26:58,350 >> JASON Hirschhorn: Coma, recompte, suport i. 568 00:26:58,350 --> 00:26:59,970 >> ESTUDIANT: Ho sentim, el nombre de suport de i. 569 00:26:59,970 --> 00:27:01,416 >> JASON Hirschhorn: Números, suport i. 570 00:27:01,416 --> 00:27:03,200 >> ESTUDIANT: Ho sento. 571 00:27:03,200 --> 00:27:04,750 I després va tancar parèntesi, punt i coma. 572 00:27:04,750 --> 00:27:07,156 >> JASON Hirschhorn: Tancat parèntesi, punt i coma. 573 00:27:07,156 --> 00:27:08,680 Vaig a guardar això. 574 00:27:08,680 --> 00:27:12,670 Farem recompte. 575 00:27:12,670 --> 00:27:14,742 I com puc executar compte? 576 00:27:14,742 --> 00:27:16,470 >> ESTUDIANT: Barra inversa. 577 00:27:16,470 --> 00:27:17,180 >> ESTUDIANT: Dot barra diagonal - 578 00:27:17,180 --> 00:27:18,050 >> JASON Hirschhorn:. / Compte, exactament. 579 00:27:18,050 --> 00:27:19,380 Gràcies. Compte. /. 580 00:27:19,380 --> 00:27:21,060 Un, dos, tres, quatre, cinc línies noves. 581 00:27:21,060 --> 00:27:22,110 Sembla que va funcionar. 582 00:27:22,110 --> 00:27:23,200 Sí, Noah? 583 00:27:23,200 --> 00:27:26,660 >> ESTUDIANT: També podeu fer menor o igual a quatre, igual que i és menor que 584 00:27:26,660 --> 00:27:27,630 o igual a quatre? 585 00:27:27,630 --> 00:27:31,190 Hi ha algun avantatge de fer menys de cinc, o simplement una forma diferent de 586 00:27:31,190 --> 00:27:31,610 escriure? 587 00:27:31,610 --> 00:27:35,280 >> JASON Hirschhorn: Així que la pregunta que es podria haver fet i és menor o 588 00:27:35,280 --> 00:27:37,450 igual a quatre en lloc de i és menor que cinc. 589 00:27:37,450 --> 00:27:38,935 Tant de bo que han treballat el mateix? 590 00:27:38,935 --> 00:27:39,760 >> ESTUDIANT: S'hauria. 591 00:27:39,760 --> 00:27:39,860 >> JASON Hirschhorn: Si. 592 00:27:39,860 --> 00:27:41,660 És totalment hauria de funcionar de la mateixa. 593 00:27:41,660 --> 00:27:44,780 Estilísticament, és generalment menor que, i veuràs en un segon quan 594 00:27:44,780 --> 00:27:48,160 fem cadenes, podem fer servir alguna cosa anomenat strlen, que has vist 595 00:27:48,160 --> 00:27:50,380 abans, per obtenir la longitud de la cadena. 596 00:27:50,380 --> 00:27:54,090 I no es pot fer menys que o igual strlen. 597 00:27:54,090 --> 00:27:56,500 Vostè pot fer igual o igual strlen menys un. 598 00:27:56,500 --> 00:27:59,260 Així que és millor per fer menys que strlen. 599 00:27:59,260 --> 00:28:00,240 Sí? 600 00:28:00,240 --> 00:28:03,270 >> ESTUDIANT: I ​​en l'actual concursos, fer hem de formular observacions sobre la nostra 601 00:28:03,270 --> 00:28:04,620 codi, així? 602 00:28:04,620 --> 00:28:06,130 >> JASON Hirschhorn: La pregunta estava en proves, et 603 00:28:06,130 --> 00:28:07,760 de proporcionar comentaris? 604 00:28:07,760 --> 00:28:12,050 Així que anem a parlar més sobre concursos quan que sorgeixen, però en general, un bon 605 00:28:12,050 --> 00:28:14,530 regla d'or és sempre que estigui escriure codi, formular observacions. 606 00:28:14,530 --> 00:28:18,130 Si vostè rep un codi incorrecte però el comentar la dreta, podria obtenir alguna 607 00:28:18,130 --> 00:28:22,280 de crèdit, tant de mi si jo estava qualificant que en un conjunt de problemes o en un concurs. 608 00:28:22,280 --> 00:28:24,660 Així que els comentaris són sempre bo per oferir. 609 00:28:24,660 --> 00:28:25,040 Sweet. 610 00:28:25,040 --> 00:28:25,460 Compti. 611 00:28:25,460 --> 00:28:26,720 Excel · lent treball. 612 00:28:26,720 --> 00:28:28,570 Anem a passar. 613 00:28:28,570 --> 00:28:29,920 >> Strings. 614 00:28:29,920 --> 00:28:30,630 Strings. 615 00:28:30,630 --> 00:28:31,730 Hem vist això abans en la conferència. 616 00:28:31,730 --> 00:28:33,390 Això em va deixar al · lucinat quan em troba primer això. 617 00:28:33,390 --> 00:28:37,240 És probable que no trobava a ningú passa allí, però això està bé. 618 00:28:37,240 --> 00:28:41,260 >> Les cadenes són arranjaments de caràcters i acaben amb, com vostè ha dit abans, 619 00:28:41,260 --> 00:28:45,710 el terminador nul, el qual És aquest caràcter / 0. 620 00:28:45,710 --> 00:28:47,740 Si anem a dibuixar una cadena a la taula, anem a dibuixar per aquí. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 Quant de temps és aquesta cadena? 623 00:28:56,420 --> 00:28:56,680 Ho sento. 624 00:28:56,680 --> 00:28:57,660 Quant dura aquesta cadena? 625 00:28:57,660 --> 00:28:57,910 >> ESTUDIANT: [inaudible]. 626 00:28:57,910 --> 00:28:59,010 >> JASON Hirschhorn: Quatre? 627 00:28:59,010 --> 00:28:59,880 ¿Per què quatre? 628 00:28:59,880 --> 00:29:02,240 >> ESTUDIANT: A causa de que el cinquè punt és per al caràcter nul. 629 00:29:02,240 --> 00:29:04,070 >> JASON Hirschhorn: Així que el cinquè punt és per al caràcter nul. 630 00:29:04,070 --> 00:29:07,130 Així que si jo fos a córrer en strlen això, em donaria 4. 631 00:29:07,130 --> 00:29:07,850 Corregir. 632 00:29:07,850 --> 00:29:11,640 I la matriu, però, si hagués de inicialitzar la matriu, el nombre d'espais 633 00:29:11,640 --> 00:29:13,444 hauria de demanar? 634 00:29:13,444 --> 00:29:13,821 >> ESTUDIANT: Cinc. 635 00:29:13,821 --> 00:29:14,200 >> JASON Hirschhorn: Cinc. 636 00:29:14,200 --> 00:29:17,650 Hauria de demanar 5, però no puc només posar quatre personatges aquí 637 00:29:17,650 --> 00:29:19,750 perquè he de posar aquest nul terminador a l'extrem. 638 00:29:19,750 --> 00:29:25,260 Així que anem a escriure en "ohai" i posar el terminador nul al final. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Anem a dir això és una cadena s és igual a aquest. 641 00:29:34,940 --> 00:29:36,610 Què és s abraçadora zero? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 s Suport zero, Annie? 644 00:29:41,550 --> 00:29:41,950 >> ESTUDIANT: O. 645 00:29:41,950 --> 00:29:45,400 >> JASON Hirschhorn: O, exactament. s bracket un? 646 00:29:45,400 --> 00:29:48,200 s abraçadora 5? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 s abraçadora 5? 649 00:29:53,955 --> 00:29:54,740 >> ESTUDIANT: No existeix. 650 00:29:54,740 --> 00:29:55,040 >> JASON Hirschhorn: No existeix. 651 00:29:55,040 --> 00:29:57,050 Exactament. 652 00:29:57,050 --> 00:29:57,940 Genial. 653 00:29:57,940 --> 00:30:03,120 Una pregunta sobre la comprensió cadenes com arrays de caràcters? 654 00:30:03,120 --> 00:30:03,870 Bé, llavors. 655 00:30:03,870 --> 00:30:05,440 Un dels programes més per a vostès. 656 00:30:05,440 --> 00:30:09,190 Escriviu un programa que demana a l'usuari una cadena i després imprimeix cada 657 00:30:09,190 --> 00:30:11,880 personatge en una nova línia. 658 00:30:11,880 --> 00:30:14,160 Així que anem a prendre tres minuts per escriure aquest programa, i després anem a codificar 659 00:30:14,160 --> 00:30:15,410 com un grup. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Ho sento. 662 00:31:04,830 --> 00:31:06,470 Vas a veure això? 663 00:31:06,470 --> 00:31:07,410 >> ESTUDIANT: 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 Donarem ni un minut més per codificar això, o almenys començar a treballar-hi. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Així que vostè pot seguir treballant, però em vaig per començar a anar a través d'ell. 669 00:32:17,020 --> 00:32:22,560 Així com abans, tinc a la pantalla # Include cs50.h, # include stdio.h. 670 00:32:22,560 --> 00:32:24,020 int void main. 671 00:32:24,020 --> 00:32:28,880 Dins de les claus dels principals, no tinc dos comentaris, pseudocodi. 672 00:32:28,880 --> 00:32:30,980 Una d'elles és demanar una cadena de l'usuari. 673 00:32:30,980 --> 00:32:33,900 La segona s'imprimeix els personatge en una nova línia. 674 00:32:33,900 --> 00:32:39,780 Així que Anna, pots donar-me demano per a una cadena de l'usuari? 675 00:32:39,780 --> 00:32:41,970 >> ESTUDIANT: Printf. 676 00:32:41,970 --> 00:32:42,720 >> JASON Hirschhorn: Printf? 677 00:32:42,720 --> 00:32:45,050 >> ESTUDIANT: Sí 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 >> ESTUDIANT: "dóna'm una cadena. 681 00:32:49,300 --> 00:32:52,380 >> JASON Hirschhorn: "donar em str - emergents - 682 00:32:52,380 --> 00:32:53,710 cadena. 683 00:32:53,710 --> 00:32:59,980 >> ESTUDIANT: / n ") i coma. 684 00:32:59,980 --> 00:33:02,300 >> JASON Hirschhorn: Posar fi a la cadena, tancaments de parèntesi, punt i coma. 685 00:33:02,300 --> 00:33:03,550 >> ESTUDIANT: Sí 686 00:33:03,550 --> 00:33:09,080 I després la següent línia, corda s = Get string. 687 00:33:09,080 --> 00:33:11,240 >> JASON Hirschhorn: String s = Get string. 688 00:33:11,240 --> 00:33:11,665 >> ESTUDIANT: Sí 689 00:33:11,665 --> 00:33:13,080 I a continuació, () 690 00:33:13,080 --> 00:33:14,365 >> JASON Hirschhorn: () 691 00:33:14,365 --> 00:33:14,720 >> ESTUDIANT: Punt i coma. 692 00:33:14,720 --> 00:33:15,540 >> JASON Hirschhorn: Punt i coma. 693 00:33:15,540 --> 00:33:16,890 Fantastic. 694 00:33:16,890 --> 00:33:19,000 Així que em vaig a posar una cadena i Vaig a guardar en què? 695 00:33:19,000 --> 00:33:21,830 Quina és la variable anomenada que ha creat? 696 00:33:21,830 --> 00:33:23,290 >> ESTUDIANT: String s. 697 00:33:23,290 --> 00:33:24,580 >> JASON Hirschhorn: La variable es diu s. 698 00:33:24,580 --> 00:33:25,700 És tipus cadena. 699 00:33:25,700 --> 00:33:27,200 Exactament. 700 00:33:27,200 --> 00:33:30,080 El següent que volem és imprimir cada personatge en una nova línia. 701 00:33:30,080 --> 00:33:31,710 Qui em pot donar aquest codi? 702 00:33:31,710 --> 00:33:32,110 [Inaudible]? 703 00:33:32,110 --> 00:33:33,000 Es pot donar a mi? 704 00:33:33,000 --> 00:33:33,580 >> ESTUDIANT: Per descomptat. 705 00:33:33,580 --> 00:33:35,420 >> JASON Hirschhorn: Anem a fer-ho. 706 00:33:35,420 --> 00:33:36,080 I ho sento. 707 00:33:36,080 --> 00:33:38,896 No m'agrada repetir el que diu perquè vostè està fent bé, però 708 00:33:38,896 --> 00:33:42,100 haver de repetir de manera que quan es transcriure això, poden obtenir tots els 709 00:33:42,100 --> 00:33:44,870 el text sobre les transcripcions. 710 00:33:44,870 --> 00:33:47,180 Així que vostè pot seguir parlant. 711 00:33:47,180 --> 00:33:48,590 Per desgràcia, no tinc dir que sobre tu. 712 00:33:48,590 --> 00:33:49,510 Ho sento, però - 713 00:33:49,510 --> 00:33:50,610 >> ESTUDIANT: Això està bé. 714 00:33:50,610 --> 00:33:53,010 Per int i = 0 715 00:33:53,010 --> 00:33:54,170 >> JASON Hirschhorn: Per int i = 0 716 00:33:54,170 --> 00:33:56,740 >> Estudiant: menys de - 717 00:33:56,740 --> 00:33:58,206 >> JASON Hirschhorn: Punt i coma. 718 00:33:58,206 --> 00:34:00,650 >> ESTUDIANT: Abans d'això, podem posar un variables perquè pugui obtenir int longitud del nom? 719 00:34:00,650 --> 00:34:01,870 >> JASON Hirschhorn: Oh, no ho fa vol posar el punt i coma? 720 00:34:01,870 --> 00:34:02,310 D'acord. 721 00:34:02,310 --> 00:34:05,120 Llavors, què és el que vols fer després de zero? 722 00:34:05,120 --> 00:34:09,340 >> ESTUDIANT: Vull obtenir el longitud de la cadena de s i 723 00:34:09,340 --> 00:34:10,410 establir que a una variable? 724 00:34:10,410 --> 00:34:11,760 >> JASON Hirschhorn: OK, així que com ho faig? 725 00:34:11,760 --> 00:34:17,636 >> Estudiant: Llavors que fas int length = 726 00:34:17,636 --> 00:34:20,010 >> JASON Hirschhorn: Int longitud = 727 00:34:20,010 --> 00:34:22,230 >> ESTUDIANT: 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 >> ESTUDIANT: Per s. 730 00:34:25,380 --> 00:34:25,790 Suports. 731 00:34:25,790 --> 00:34:27,920 >> JASON Hirschhorn: (s). 732 00:34:27,920 --> 00:34:33,040 >> ESTUDIANT: I ​​llavors jo crec que cal posar un punt i coma entre els dos enters. 733 00:34:33,040 --> 00:34:34,590 >> JASON Hirschhorn: Un punt i coma després de zero? 734 00:34:34,590 --> 00:34:35,260 >> ESTUDIANT: Sí 735 00:34:35,260 --> 00:34:40,670 A continuació, posar un punt i coma després d'això, i vostè diu, i menys de longitud. 736 00:34:40,670 --> 00:34:43,250 i de menys de longitud, el qual és la variable. 737 00:34:43,250 --> 00:34:44,590 >> ESTUDIANT: I ​​llavors coma. 738 00:34:44,590 --> 00:34:45,790 >> JASON Hirschhorn: Punt i coma. 739 00:34:45,790 --> 00:34:46,290 >> ESTUDIANT: i + +. 740 00:34:46,290 --> 00:34:46,909 >> JASON Hirschhorn: i + +. 741 00:34:46,909 --> 00:34:47,530 Aquí està el nostre bucle per. 742 00:34:47,530 --> 00:34:48,860 Bé, dins del bucle. 743 00:34:48,860 --> 00:34:51,670 >> ESTUDIANT: I ​​després fer printf. 744 00:34:51,670 --> 00:34:53,340 >> JASON Hirschhorn: Printf. 745 00:34:53,340 --> 00:34:53,889 >> ESTUDIANT: Els claudàtors. 746 00:34:53,889 --> 00:34:55,130 >> JASON Hirschhorn: parèntesi, cometes. 747 00:34:55,130 --> 00:34:59,930 >> ESTUDIANT: Els parèntesis, cites,% c / n. 748 00:34:59,930 --> 00:35:00,760 >> JASON Hirschhorn:% c, OK. 749 00:35:00,760 --> 00:35:01,670 >> ESTUDIANT: / n. 750 00:35:01,670 --> 00:35:03,470 >> JASON Hirschhorn: / n. 751 00:35:03,470 --> 00:35:04,410 >> ESTUDIANT: cites tancades. 752 00:35:04,410 --> 00:35:05,270 >> JASON Hirschhorn: cites tancades. 753 00:35:05,270 --> 00:35:05,810 >> ESTUDIANT: Comma. 754 00:35:05,810 --> 00:35:06,860 >> JASON Hirschhorn: Comma. 755 00:35:06,860 --> 00:35:07,800 >> ESTUDIANT: S. 756 00:35:07,800 --> 00:35:08,070 >> JASON Hirschhorn: S. 757 00:35:08,070 --> 00:35:08,690 >> ESTUDIANT: Bracket i. 758 00:35:08,690 --> 00:35:10,230 >> JASON Hirschhorn: Bracket i. 759 00:35:10,230 --> 00:35:11,520 >> Estudiant: I llavors parèntesi tancats. 760 00:35:11,520 --> 00:35:12,540 >> JASON Hirschhorn: parèntesi tancat. 761 00:35:12,540 --> 00:35:13,660 >> ESTUDIANT: I ​​llavors coma. 762 00:35:13,660 --> 00:35:13,770 >> JASON Hirschhorn: Punt i coma. 763 00:35:13,770 --> 00:35:14,380 Fantastic. 764 00:35:14,380 --> 00:35:16,890 Així que anem a guardar això. 765 00:35:16,890 --> 00:35:19,770 Assegureu-vos de lletrejar. 766 00:35:19,770 --> 00:35:20,040 Oh boy. 767 00:35:20,040 --> 00:35:22,275 Tinc un parell d'errors. 768 00:35:22,275 --> 00:35:33,120 Primer error a la línia 11, que diu, espera expressió, i està donant 769 00:35:33,120 --> 00:35:36,910 em un error que el segon int, aquí està l'error. 770 00:35:36,910 --> 00:35:38,430 Hi ha alguns errors per aquí. 771 00:35:38,430 --> 00:35:41,060 Algú sap el que és l'error? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> ESTUDIANT: Crec que se suposa que ser una coma, no un punt i coma. 774 00:35:44,108 --> 00:35:46,010 >> JASON Hirschhorn: OK, una coma en lloc d'un punt i coma. 775 00:35:46,010 --> 00:35:47,340 Així és que tots hem d'arreglar? 776 00:35:47,340 --> 00:35:47,655 >> ESTUDIANT: No 777 00:35:47,655 --> 00:35:48,930 >> JASON Hirschhorn: Què més hem d'arreglar? 778 00:35:48,930 --> 00:35:50,920 >> ESTUDIANT: Hem d'incloure string.h. 779 00:35:50,920 --> 00:35:51,680 >> JASON Hirschhorn: Incloure string.h. 780 00:35:51,680 --> 00:35:53,730 On he d'incloure això? 781 00:35:53,730 --> 00:35:57,085 >> ESTUDIANT: El mateix lloc que està inclosa les altres coses, a la dreta 782 00:35:57,085 --> 00:35:59,560 després d'incloure stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> JASON Hirschhorn: Anem a veure si això funciona primer perquè en general, m'agrada 784 00:36:01,610 --> 00:36:06,360 per arreglar una cosa primer i, a continuació, executeu i, a continuació, veure els errors que tenim. 785 00:36:06,360 --> 00:36:11,620 Així que anem a alliberar el terminal amb el control de n, farem i fan encanteri. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 Així que un altre error a la línia 11. 788 00:36:18,770 --> 00:36:20,540 Coma esperat. 789 00:36:20,540 --> 00:36:22,640 I encara estic rebent errors en aquesta línia. 790 00:36:22,640 --> 00:36:25,270 Així que no m'ha donat un error que diu que no entén el que és strlen, 791 00:36:25,270 --> 00:36:28,980 però em dóna errors d'aquest línia, així que què més hi ha de dolent? 792 00:36:28,980 --> 00:36:29,690 Mark? 793 00:36:29,690 --> 00:36:30,940 Marcus. 794 00:36:30,940 --> 00:36:32,570 >> ESTUDIANT: Cal eliminar la segona declaració int? 795 00:36:32,570 --> 00:36:34,990 >> JASON Hirschhorn: Eliminar la segona int. 796 00:36:34,990 --> 00:36:35,710 Intentarem això. 797 00:36:35,710 --> 00:36:37,600 Ara alliberar el terminal. 798 00:36:37,600 --> 00:36:40,130 Assegureu-vos de lletrejar. 799 00:36:40,130 --> 00:36:40,490 Error. 800 00:36:40,490 --> 00:36:42,890 Implícitament declarar biblioteca funció strlen. 801 00:36:42,890 --> 00:36:44,270 Així que ara que veiem que l'error. 802 00:36:44,270 --> 00:36:45,760 Què hem d'incloure? 803 00:36:45,760 --> 00:36:46,660 >> ESTUDIANT: string.h. 804 00:36:46,660 --> 00:36:51,880 >> JASON Hirschhorn: Incloure string.h, Farem # include string.h a la part superior 805 00:36:51,880 --> 00:36:52,920 de la pantalla. 806 00:36:52,920 --> 00:36:55,450 Anem a guardar, fer encanteris. 807 00:36:55,450 --> 00:36:56,970 Ara compilat. 808 00:36:56,970 --> 00:37:01,970 Així que de nou, les coses que necessitaven recordar la línia 12 en el nostre bucle per quan 809 00:37:01,970 --> 00:37:08,010 estem que el crea, int i = 0, longitud = strlen (s). 810 00:37:08,010 --> 00:37:09,350 >> Aquesta és una estratègia fantàstica. 811 00:37:09,350 --> 00:37:12,590 L'estil d'aquest és gran, la disseny d'aquest és molt gran. 812 00:37:12,590 --> 00:37:15,620 Podem anar a les raons més tard, però aquesta forma només haurà de trucar 813 00:37:15,620 --> 00:37:19,040 strlen vegada en lloc de cada un dels vegada que s'executa a través del bucle. 814 00:37:19,040 --> 00:37:22,255 No obstant això, cal utilitzar una coma allà i no cal tornar int. 815 00:37:22,255 --> 00:37:24,180 Si vostè està declarant tant els variables juntes, que 816 00:37:24,180 --> 00:37:26,850 no cal tornar int. 817 00:37:26,850 --> 00:37:29,820 I llavors, si vostè va a utilitzar strlen, que és una altra biblioteca 818 00:37:29,820 --> 00:37:33,560 la funció no s'inclou en stdio.h o cs50.h, fan 819 00:37:33,560 --> 00:37:35,310 Assegureu-vos d'incloure string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> ESTUDIANT: Llavors si no cal diuen què longitud tipus és, això 822 00:37:39,085 --> 00:37:40,290 vol dir que ha de ser un int? 823 00:37:40,290 --> 00:37:41,930 No podia tenir dos diferents tipus hi ha? 824 00:37:41,930 --> 00:37:43,290 >> JASON Hirschhorn: pel que podria tenir dos tipus diferents. 825 00:37:43,290 --> 00:37:45,730 La longitud és un enter aquí, però. 826 00:37:45,730 --> 00:37:48,590 La longitud és un int perquè és comes i a continuació, la mateixa cosa. 827 00:37:48,590 --> 00:37:50,460 >> ESTUDIANT: Així que se suposa que es va a ser el mateix que el primer? 828 00:37:50,460 --> 00:37:52,423 >> JASON Hirschhorn: Exactament. 829 00:37:52,423 --> 00:37:54,970 No farem això ara, però pot incloure dues variables en la 830 00:37:54,970 --> 00:37:57,080 mateixa línia amb un tipus de dades. 831 00:37:57,080 --> 00:38:01,415 Així int x, i crearien dues variables. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 Així int x, i, si fem això, dóna em una variable x i i no utilitzada per 834 00:38:10,770 --> 00:38:12,020 nosaltres no fem servir. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 Així que posar buit abans és només un truc de luxe si no s'utilitza 837 00:38:21,650 --> 00:38:22,810 cosa que, al utilitzar-lo. 838 00:38:22,810 --> 00:38:26,300 Però com veus, crec xiy en la mateixa línia amb una coma. 839 00:38:26,300 --> 00:38:28,450 Es tracta de crear dos enters allà mateix. 840 00:38:28,450 --> 00:38:31,560 Així que sí, totalment possible crear dues coses en la mateixa línia 841 00:38:31,560 --> 00:38:33,720 separats per una coma. 842 00:38:33,720 --> 00:38:35,470 Anem a desfer-nos, però. 843 00:38:35,470 --> 00:38:36,370 >> Així que no hi encanteri. 844 00:38:36,370 --> 00:38:39,200 Gràcies nois per codificar per a nosaltres. 845 00:38:39,200 --> 00:38:43,040 Anem a fer-ho una vegada més, executar-lo. 846 00:38:43,040 --> 00:38:44,580 Dóna'm una cadena. 847 00:38:44,580 --> 00:38:45,580 [Inaudible], que va fer la major part. 848 00:38:45,580 --> 00:38:47,910 Quina és la seqüència? 849 00:38:47,910 --> 00:38:48,250 >> ESTUDIANT: Hola. 850 00:38:48,250 --> 00:38:50,110 >> JASON Hirschhorn: Hola. 851 00:38:50,110 --> 00:38:52,810 H-I-L-L-O, cada caràcter en una línia. 852 00:38:52,810 --> 00:38:53,700 Es veu molt bé. 853 00:38:53,700 --> 00:38:54,750 Anem a córrer de nou. 854 00:38:54,750 --> 00:38:56,050 Sempre va a comprovar per a casos extrems. 855 00:38:56,050 --> 00:38:57,750 Què és un bon exemple de la cantonada per al registre d'entrada? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> ESTUDIANT: Un nombre? 858 00:39:00,890 --> 00:39:02,240 >> JASON Hirschhorn: Varis. 859 00:39:02,240 --> 00:39:06,580 Així que vaig a posar en l'1, i s'imprimeix 1. 860 00:39:06,580 --> 00:39:08,970 No és demanar cartes, per la qual cosa sembla que els números de treball. 861 00:39:08,970 --> 00:39:09,890 Bon cas de la cantonada per comprovar. 862 00:39:09,890 --> 00:39:11,740 Quin és una altra bona cantonada cas per comprovar? 863 00:39:11,740 --> 00:39:12,420 >> ESTUDIANT: Una cadena en blanc. 864 00:39:12,420 --> 00:39:12,910 >> JASON Hirschhorn: Hm? 865 00:39:12,910 --> 00:39:13,880 >> ESTUDIANT: Igual que una cadena buida. 866 00:39:13,880 --> 00:39:14,400 >> JASON Hirschhorn: Cadena buida. 867 00:39:14,400 --> 00:39:16,730 Així que no posarem en res. 868 00:39:16,730 --> 00:39:18,660 I què s'imprimeix fora? 869 00:39:18,660 --> 00:39:19,090 >> ESTUDIANT: Res. 870 00:39:19,090 --> 00:39:19,870 >> JASON Hirschhorn: Res. 871 00:39:19,870 --> 00:39:20,555 Sembla que funciona. 872 00:39:20,555 --> 00:39:23,790 Vostè podria tractar més casos de cantonada, però en general nombres, una de dades és diferent 873 00:39:23,790 --> 00:39:26,160 genial per provar, i no és res. 874 00:39:26,160 --> 00:39:29,180 Res, zero, negatius són sempre grans coses per tractar de coses que 875 00:39:29,180 --> 00:39:33,140 haurien prova, les coses segurament anem a provar i verificar les 50 posarà a prova per. 876 00:39:33,140 --> 00:39:34,720 Una pregunta sobre spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK, anem a el cap cap enrere. 879 00:39:39,310 --> 00:39:42,420 Tinc un programa més per a vosaltres a escriure. 880 00:39:42,420 --> 00:39:44,700 Es diu students.c. 881 00:39:44,700 --> 00:39:49,020 Aquest és un programa que demana a l'usuari cinc noms, a continuació, tria a l'atzar 882 00:39:49,020 --> 00:39:51,600 i imprimeix un dels noms. 883 00:39:51,600 --> 00:39:54,840 Aquest programa és una mica més participem de les dues últimes que va escriure, 884 00:39:54,840 --> 00:39:58,080 així que per què no ens prenem cinc minuts per codificar de forma individual, i després anem a 885 00:39:58,080 --> 00:40:00,130 codificar com un grup. 886 00:40:00,130 --> 00:40:03,795 >> Aquest programa també implica algunes coses potser no hagi vist abans, així que si 887 00:40:03,795 --> 00:40:06,390 vostè té una pregunta sobre, com fer Faig això, aixequin la mà. 888 00:40:06,390 --> 00:40:08,530 Vaig a venir una i va assenyalar que en la direcció correcta. 889 00:40:08,530 --> 00:40:10,820 Però també ho fem perquè aquest serà una bona manera d'introduir alguns 890 00:40:10,820 --> 00:40:12,070 temes que són difícils. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> Així que funciona, no? 893 00:44:15,560 --> 00:44:17,580 >> ESTUDIANT: Sí 894 00:44:17,580 --> 00:44:19,180 >> JASON Hirschhorn: Cada vegada que vostè dóna volta en un conjunt de problemes, hi ha moltes maneres de fer 895 00:44:19,180 --> 00:44:20,790 , Però alguns són més elegant que altres. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Anem a bussejar polz 898 00:44:31,110 --> 00:44:32,880 # Include cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Include stdio.h. 900 00:44:34,250 --> 00:44:37,240 claus principal int buit. 901 00:44:37,240 --> 00:44:39,430 Dins de les claus, Tinc dues observacions. 902 00:44:39,430 --> 00:44:41,500 La primera d'elles és que demani al l'usuari durant cinc noms. 903 00:44:41,500 --> 00:44:46,580 La segona és, triar a l'atzar i imprimir un dels noms. 904 00:44:46,580 --> 00:44:50,250 Així que farem el primer, pregunti l'usuari durant cinc noms. 905 00:44:50,250 --> 00:44:53,730 Qui li ha demanat a l'usuari durant cinc noms i em pot dir com fer això? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Només dues persones van fer la primera part. 908 00:44:58,570 --> 00:45:00,150 Tres persones van fer la primera part. 909 00:45:00,150 --> 00:45:00,670 Quatre, cinc. 910 00:45:00,670 --> 00:45:03,140 Tom, com ho fas? 911 00:45:03,140 --> 00:45:09,940 >> ESTUDIANT: Vostè es declari una cadena i després el nom, suport 5. 912 00:45:09,940 --> 00:45:12,070 >> JASON Hirschhorn: String Nom Grup 5. 913 00:45:12,070 --> 00:45:15,350 Llavors, què és aquesta línia fent, nom de la cadena bracket 5? 914 00:45:15,350 --> 00:45:17,800 >> ESTUDIANT: Vostè es declari una matriu de cadenes. 915 00:45:17,800 --> 00:45:19,000 >> JASON Hirschhorn: Es tracta d' una matriu de cadenes. 916 00:45:19,000 --> 00:45:21,590 Quantes cadenes van per encaixar aquí? 917 00:45:21,590 --> 00:45:22,010 >> ESTUDIANT: Cinc. 918 00:45:22,010 --> 00:45:22,320 >> JASON Hirschhorn: Cinc. 919 00:45:22,320 --> 00:45:22,660 Excel · lent. 920 00:45:22,660 --> 00:45:26,360 Anem a cridar noms perquè tindrem diverses. 921 00:45:26,360 --> 00:45:27,790 Bé, ara? 922 00:45:27,790 --> 00:45:29,270 >> ESTUDIANT: I ​​llavors tenir un bucle for - 923 00:45:29,270 --> 00:45:30,060 >> JASON Hirschhorn: bucle For. 924 00:45:30,060 --> 00:45:33,035 >> ESTUDIANT: - per a i = 0. 925 00:45:33,035 --> 00:45:37,040 >> JASON Hirschhorn: for (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> ESTUDIANT: Punt i coma. 927 00:45:38,270 --> 00:45:38,880 >> JASON Hirschhorn: Punt i coma. 928 00:45:38,880 --> 00:45:39,790 >> Estudiant: menys de cinc. 929 00:45:39,790 --> 00:45:41,310 >> JASON Hirschhorn: I inferior a cinc. 930 00:45:41,310 --> 00:45:42,230 >> ESTUDIANT: Punt i coma. 931 00:45:42,230 --> 00:45:42,560 >> JASON Hirschhorn: Punt i coma. 932 00:45:42,560 --> 00:45:43,380 >> ESTUDIANT: i + +. 933 00:45:43,380 --> 00:45:46,050 >> JASON Hirschhorn: i + +. 934 00:45:46,050 --> 00:45:47,100 >> Estudiant: I llavors parèntesi tancats. 935 00:45:47,100 --> 00:45:48,600 >> JASON Hirschhorn: parèntesi tancat, i algunes claus. 936 00:45:48,600 --> 00:45:50,050 Dins de les claus? 937 00:45:50,050 --> 00:45:51,423 >> ESTUDIANT: I ​​llavors printf. 938 00:45:51,423 --> 00:45:52,535 >> JASON Hirschhorn: Printf. 939 00:45:52,535 --> 00:45:56,200 >> ESTUDIANT: parèntesi oberts, name% d. 940 00:45:56,200 --> 00:45:57,090 >> JASON Hirschhorn: Com? 941 00:45:57,090 --> 00:45:57,660 >> ESTUDIANT: Nom. 942 00:45:57,660 --> 00:45:58,200 >> JASON Hirschhorn: Nom. 943 00:45:58,200 --> 00:46:01,700 >> ESTUDIANT: I ​​llavors l'espai, i després% d. 944 00:46:01,700 --> 00:46:02,950 >> JASON Hirschhorn: Nom, espai,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> ESTUDIANT: I ​​llavors / n, i després la va tancar. 947 00:46:10,820 --> 00:46:15,070 >> JASON Hirschhorn: Nom Per tant, l'espai, % D / n, parèntesi de tancament. 948 00:46:15,070 --> 00:46:17,730 >> ESTUDIANT: Coma, i + 1. 949 00:46:17,730 --> 00:46:19,390 Ho sento. 950 00:46:19,390 --> 00:46:21,040 Pressupost tancat, i després coma, i +1. 951 00:46:21,040 --> 00:46:24,400 >> JASON Hirschhorn: Tancat cita, coma, i +1. 952 00:46:24,400 --> 00:46:25,850 >> ESTUDIANT: Sí 953 00:46:25,850 --> 00:46:27,650 I després la següent línia - 954 00:46:27,650 --> 00:46:29,400 >> JASON Hirschhorn: i + 1. 955 00:46:29,400 --> 00:46:31,600 >> ESTUDIANT: Sí 956 00:46:31,600 --> 00:46:36,440 I després la següent diapositiva és suport de noms i. 957 00:46:36,440 --> 00:46:39,000 >> JASON Hirschhorn: Next línia és suport de noms i. 958 00:46:39,000 --> 00:46:41,360 >> ESTUDIANT: = get cadena. 959 00:46:41,360 --> 00:46:43,460 >> JASON Hirschhorn: = Get - 960 00:46:43,460 --> 00:46:44,510 capital de G-I-T - 961 00:46:44,510 --> 00:46:45,530 cadena. 962 00:46:45,530 --> 00:46:47,800 Vaja, ho sento. 963 00:46:47,800 --> 00:46:49,050 >> ESTUDIANT: obertes, tancades parèntesi i després - 964 00:46:49,050 --> 00:46:50,940 >> JASON Hirschhorn: obert, tancat parin. 965 00:46:50,940 --> 00:46:51,030 >> ESTUDIANT: Punt i coma. 966 00:46:51,030 --> 00:46:52,500 >> JASON Hirschhorn: Punt i coma. 967 00:46:52,500 --> 00:46:57,545 Acceptar, pel que s'inicialitza el conjunt de cadenes, noms, i després passen per un 968 00:46:57,545 --> 00:47:02,720 per al llaç, i cinc vegades s'imprimeixen alguns demanarà a l'usuari i després emmagatzemar 969 00:47:02,720 --> 00:47:03,360 cinc cordes. 970 00:47:03,360 --> 00:47:08,090 Algú té alguna ajustos a això? 971 00:47:08,090 --> 00:47:10,030 Tom, crec que tothom està d'acord amb vostè. 972 00:47:10,030 --> 00:47:10,880 Es veu molt bé. 973 00:47:10,880 --> 00:47:11,660 D'acord. 974 00:47:11,660 --> 00:47:14,830 Per què vas fer i +1, encara? 975 00:47:14,830 --> 00:47:18,000 >> ESTUDIANT: És a dir, no té ser, però i +1 perquè sigui 976 00:47:18,000 --> 00:47:19,700 nom d'un per nomenar 05:00. 977 00:47:19,700 --> 00:47:21,930 En cas contrari, seria nom zero a anomenar quatre. 978 00:47:21,930 --> 00:47:24,400 >> JASON Hirschhorn: Així que va fer i +1 perquè del contrari hauria de 979 00:47:24,400 --> 00:47:27,060 imprimir zero a quatre, perquè així és com pensen els ordinadors, però els éssers humans 980 00:47:27,060 --> 00:47:28,530 realment no llegir així. 981 00:47:28,530 --> 00:47:30,190 Aquesta és una altra cosa et trobaràs. 982 00:47:30,190 --> 00:47:33,210 A vegades, a l'imprimir alguna cosa per a l'usuari, haurà de fer una 983 00:47:33,210 --> 00:47:35,733 poc més bonic, i fent i +1 en aquest cas és un 984 00:47:35,733 --> 00:47:37,430 camí per fer-lo més atractiu. 985 00:47:37,430 --> 00:47:41,380 >> També veig a cinc vegades, nom de la cadena és cinc, i és menor que cinc. 986 00:47:41,380 --> 00:47:42,430 Jo sé d'on vas treure els cinc. 987 00:47:42,430 --> 00:47:44,890 Ho tens de dir-me que cinc noms. 988 00:47:44,890 --> 00:47:49,000 Però si volem que el codi d'un poc més robust, una cosa que 989 00:47:49,000 --> 00:47:53,110 podria fer és aquí, fora d'int, podríem fer alguna cosa com això, 990 00:47:53,110 --> 00:47:57,070 # Defineix, i que podríem fer NOMS 5. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> Així que, bàsicament, en la mesura que escric de capital N, el capital A, M majúscula, majúscula, 993 00:48:05,390 --> 00:48:08,890 S majúscula, aquesta cadena, es reemplaçarà que amb 5 en el codi. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 O anem a cridar - anem a només ho diuen NOMBRE. 996 00:48:13,445 --> 00:48:17,190 Així que estic definint totes les tapes NOMBRE ser 5. 997 00:48:17,190 --> 00:48:22,830 >> Així que ara sempre tinc el número 5, que pot reemplaçar amb tot NOMBRE caps. 998 00:48:22,830 --> 00:48:26,880 I ara, si vull canviar el nombre de noms, tot el que necessito fer és 999 00:48:26,880 --> 00:48:31,350 aquesta línia, la línia de quatre, en què tinc # Defineix el número 5, canviar això a 10, 1000 00:48:31,350 --> 00:48:34,340 o canviar a 4. 1001 00:48:34,340 --> 00:48:37,400 Quan el codi es fa més llarg, no està anem a recordar tots els llocs als quals 1002 00:48:37,400 --> 00:48:41,630 posar la quantitat de noms que volia, i en Perquè no es perdi un, això és 1003 00:48:41,630 --> 00:48:45,490 una bona manera de fer-ho, per trobar alguna cosa sobre de la tapa i després només ha d'utilitzar aquesta frase 1004 00:48:45,490 --> 00:48:46,400 a tot arreu del seu codi. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> ESTUDIANT: Això és estilísticament preferida de definir un nivell mundial 1007 00:48:49,780 --> 00:48:51,270 n constants? 1008 00:48:51,270 --> 00:48:53,760 >> JASON Hirschhorn: Així és que estilísticament preferit que globalment 1009 00:48:53,760 --> 00:48:54,980 definir una constant n? 1010 00:48:54,980 --> 00:48:59,036 Així que estàs dient que podia fer, int número = 5? 1011 00:48:59,036 --> 00:49:01,300 >> ESTUDIANT: Tenen les consonants en C o no? 1012 00:49:01,300 --> 00:49:02,720 >> JASON Hirschhorn: O const - a parts iguals. 1013 00:49:02,720 --> 00:49:04,275 Estàs dient que només una variable global? 1014 00:49:04,275 --> 00:49:04,990 >> ESTUDIANT: Sí 1015 00:49:04,990 --> 00:49:08,670 >> JASON Hirschhorn: Així estilísticament, no hi ha necessàriament un dret 1016 00:49:08,670 --> 00:49:12,050 resposta, però ambdues coses són millors que simplement llançant aquests l'atzar 1017 00:49:12,050 --> 00:49:12,960 els números en tot el seu codi. 1018 00:49:12,960 --> 00:49:14,650 Nosaltres els anomenem nombres màgics. 1019 00:49:14,650 --> 00:49:16,450 Quan miro al seu codi o quan Algú està llegint a través d'ell, es 1020 00:49:16,450 --> 00:49:18,790 no volen només aquests números aleatoris que no té sentit. 1021 00:49:18,790 --> 00:49:22,420 Fins i tot el número 26, que en general és el nombre de lletres en l'alfabet, 1022 00:49:22,420 --> 00:49:28,870 és millor definir ALFABET sobre de la tapa i guardar el número 26 en aquesta cadena, 1023 00:49:28,870 --> 00:49:29,550 si això té sentit. 1024 00:49:29,550 --> 00:49:33,210 >> O el problema d'establir un, en lloc de - de nou, no parlem d'això en 1025 00:49:33,210 --> 00:49:37,020 el temps, però en comptes de tirar en un 25 o un 10 per tot arreu, es pot 1026 00:49:37,020 --> 00:49:41,860 guardar el número 25 com a quart o 10 com a DIME, i això fa que sigui més fàcil per 1027 00:49:41,860 --> 00:49:44,140 el que està llegint a través del seu codi de entendre per què va triar aquest nombre. 1028 00:49:44,140 --> 00:49:46,540 I també perquè, si alguna vegada vols Actualitza el teu codi, es fa una mica 1029 00:49:46,540 --> 00:49:47,290 més robust. 1030 00:49:47,290 --> 00:49:48,070 Sí? 1031 00:49:48,070 --> 00:49:50,830 >> ESTUDIANT: És aquest codi també va que estigui disponible per a nosaltres després? 1032 00:49:50,830 --> 00:49:52,453 >> JASON Hirschhorn: Tots aquests codis que hem escrit junts són 1033 00:49:52,453 --> 00:49:54,620 serà enviat per correu electrònic nois i disponibles. 1034 00:49:54,620 --> 00:49:55,740 Sí 1035 00:49:55,740 --> 00:49:58,040 Així que demana a l'usuari durant cinc noms. 1036 00:49:58,040 --> 00:50:00,280 Triar l'atzar i imprimir un dels noms. 1037 00:50:00,280 --> 00:50:00,940 Qui va fer aquesta línia? 1038 00:50:00,940 --> 00:50:02,230 Aquesta és la línia més difícil aquí. 1039 00:50:02,230 --> 00:50:02,450 Ho sento, Tom. 1040 00:50:02,450 --> 00:50:05,510 Has fet una bona feina, però això és una mica més complicat. 1041 00:50:05,510 --> 00:50:06,600 Marcus, endavant. 1042 00:50:06,600 --> 00:50:10,180 >> Estudiant: Bé, primer, que va a ha d'incloure stdlib.h i time.h. 1043 00:50:10,180 --> 00:50:13,200 >> JASON Hirschhorn: Estàs dient que en la part superior, inclou dues biblioteques més. 1044 00:50:13,200 --> 00:50:18,830 Vols que m'incloc S-T-D-L-JO-B punt H, Biblioteca estàndard, i què 1045 00:50:18,830 --> 00:50:19,760 era l'altre? 1046 00:50:19,760 --> 00:50:21,010 >> ESTUDIANT: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> JASON Hirschhorn: # include time.h. 1049 00:50:27,840 --> 00:50:29,470 Així que aquests són dues biblioteques més. 1050 00:50:29,470 --> 00:50:31,790 Suposo que ara utilitzarem funcions que es troben en aquests 1051 00:50:31,790 --> 00:50:34,240 dos, pel que vostè necessita per incloure'ls? 1052 00:50:34,240 --> 00:50:36,980 >> ESTUDIANT: Llavors, el primer que has voldrà escriure srand. 1053 00:50:36,980 --> 00:50:38,770 >> JASON Hirschhorn: srand. 1054 00:50:38,770 --> 00:50:42,070 >> ESTUDIANT: (time (0) 1055 00:50:42,070 --> 00:50:42,700 >> JASON Hirschhorn: Ho sento. 1056 00:50:42,700 --> 00:50:45,580 Srand (time ( 1057 00:50:45,580 --> 00:50:46,890 >> ESTUDIANT: 0. 1058 00:50:46,890 --> 00:50:47,230 >> JASON Hirschhorn: 0. 1059 00:50:47,230 --> 00:50:49,990 >> ESTUDIANT :)), punt i coma. 1060 00:50:49,990 --> 00:50:51,320 >> JASON Hirschhorn: Un altre parèntesi tancat? 1061 00:50:51,320 --> 00:50:51,650 Punt i coma. 1062 00:50:51,650 --> 00:50:53,610 Vaig a simplement reemplaçar el zero amb NULL. 1063 00:50:53,610 --> 00:50:55,980 Et va a fer el mateix, però Generalment, vostè veurà NULL, que 1064 00:50:55,980 --> 00:50:57,720 parlarem d'això línia en un segon. 1065 00:50:57,720 --> 00:50:58,580 >> ESTUDIANT: Estilísticament millor? 1066 00:50:58,580 --> 00:51:02,240 >> JASON Hirschhorn: Generalment, les persones NULL raó, però el mateix. 1067 00:51:02,240 --> 00:51:05,010 >> ESTUDIANT: I ​​llavors el nom int. 1068 00:51:05,010 --> 00:51:06,490 >> JASON Hirschhorn: Nom Int 1069 00:51:06,490 --> 00:51:07,280 >> ESTUDIANT: = 1070 00:51:07,280 --> 00:51:07,780 >> JASON Hirschhorn: = 1071 00:51:07,780 --> 00:51:08,580 >> ESTUDIANT: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> JASON Hirschhorn: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> ESTUDIANT: () 1074 00:51:10,420 --> 00:51:11,500 >> JASON Hirschhorn: () 1075 00:51:11,500 --> 00:51:12,850 >> ESTUDIANT: nombre de mòdul. 1076 00:51:12,850 --> 00:51:14,310 >> JASON Hirschhorn: Què hi ha de mòdul? 1077 00:51:14,310 --> 00:51:14,970 El personatge? 1078 00:51:14,970 --> 00:51:16,000 El caràcter de percentatge? 1079 00:51:16,000 --> 00:51:17,790 >> ESTUDIANT: caràcter de percentatge. 1080 00:51:17,790 --> 00:51:19,521 Mòdul NOMBRE que ha definit dalt. 1081 00:51:19,521 --> 00:51:22,030 >> JASON Hirschhorn: Mòdul NOMBRE. 1082 00:51:22,030 --> 00:51:24,052 >> ESTUDIANT: I ​​llavors coma. 1083 00:51:24,052 --> 00:51:24,660 >> JASON Hirschhorn: Punt i coma. 1084 00:51:24,660 --> 00:51:27,820 >> ESTUDIANT: I ​​llavors nova línia printf. 1085 00:51:27,820 --> 00:51:28,460 >> JASON Hirschhorn: Printf. 1086 00:51:28,460 --> 00:51:29,730 >> ESTUDIANT: ( 1087 00:51:29,730 --> 00:51:30,620 >> JASON Hirschhorn: ( 1088 00:51:30,620 --> 00:51:31,650 >> ESTUDIANT: " 1089 00:51:31,650 --> 00:51:32,630 >> JASON Hirschhorn: " 1090 00:51:32,630 --> 00:51:35,320 >> ESTUDIANT:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> JASON Hirschhorn:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> ESTUDIANT: " 1093 00:51:38,420 --> 00:51:40,640 >> JASON Hirschhorn:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> ESTUDIANT: Coma, noms d'espai. 1095 00:51:43,540 --> 00:51:44,350 >> JASON Hirschhorn: Space - 1096 00:51:44,350 --> 00:51:46,300 >> ESTUDIANT: Oh, suposo, el que No ho diem aquí? 1097 00:51:46,300 --> 00:51:48,640 >> JASON Hirschhorn: En diem noms. 1098 00:51:48,640 --> 00:51:52,360 >> ESTUDIANT: Suport Open, nom. 1099 00:51:52,360 --> 00:51:55,090 >> JASON Hirschhorn: Suport Open, nom. 1100 00:51:55,090 --> 00:51:55,850 >> ESTUDIANT: suport tancat. 1101 00:51:55,850 --> 00:51:56,490 >> JASON Hirschhorn: suport tancat. 1102 00:51:56,490 --> 00:51:57,460 >> ESTUDIANT :) 1103 00:51:57,460 --> 00:51:58,800 >> JASON Hirschhorn :) 1104 00:51:58,800 --> 00:51:59,440 >> ESTUDIANT: Punt i coma. 1105 00:51:59,440 --> 00:52:00,410 >> JASON Hirschhorn: Punt i coma. 1106 00:52:00,410 --> 00:52:01,500 OK, anem a guardar. 1107 00:52:01,500 --> 00:52:04,410 Fem d'aquest codi. 1108 00:52:04,410 --> 00:52:06,365 Estudiants. 1109 00:52:06,365 --> 00:52:07,100 Anem a executar aquest codi. 1110 00:52:07,100 --> 00:52:08,480 Estudiants. 1111 00:52:08,480 --> 00:52:11,630 No / Estudiant. . / Estudiants. 1112 00:52:11,630 --> 00:52:12,870 Anomena un. 1113 00:52:12,870 --> 00:52:15,490 Anem a dir David. 1114 00:52:15,490 --> 00:52:18,070 Nom 2, RJ. 1115 00:52:18,070 --> 00:52:20,561 Anomeneu tres, Rob. 1116 00:52:20,561 --> 00:52:22,490 Nom 4, Lucas. 1117 00:52:22,490 --> 00:52:26,060 Anomeneu cinc, Joseph. 1118 00:52:26,060 --> 00:52:28,850 I després imprimeix Joseph nou. 1119 00:52:28,850 --> 00:52:31,730 >> Així que em quedo de nou. 1120 00:52:31,730 --> 00:52:32,460 Déjame fer els mateixos noms. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Josep. 1122 00:52:39,760 --> 00:52:41,070 I em va donar a David aquest moment. 1123 00:52:41,070 --> 00:52:43,030 Així que vaig fer el mateix, però li vaig donar em una cosa diferent, i això és 1124 00:52:43,030 --> 00:52:45,410 perquè, per descomptat, estem demanant un nom a l'atzar. 1125 00:52:45,410 --> 00:52:50,950 Així que crec que, sobre la base de sobre errant voltant de la sala, que la majoria de les persones 1126 00:52:50,950 --> 00:52:55,960 probablement ens van donar la primera part de la dreta, la creació de la matriu i després aconseguir 1127 00:52:55,960 --> 00:52:56,430 tots els noms. 1128 00:52:56,430 --> 00:52:59,320 Estic parlant de les línies 10 a 16. 1129 00:52:59,320 --> 00:53:02,150 Però les línies 18 a 21 són, probablement, algunes coses que no ha vist abans, 1130 00:53:02,150 --> 00:53:03,750 així que anem a anar a través d'ells. 1131 00:53:03,750 --> 00:53:10,390 >> Aquesta línia, srand temps NULL és essencialment - 1132 00:53:10,390 --> 00:53:14,300 ho sento, anem a saltar cap avall una línia, rand (). 1133 00:53:14,300 --> 00:53:17,320 Això et dóna un número a l'atzar, un enter aleatori. 1134 00:53:17,320 --> 00:53:19,630 I si es colpeja rand home, que molts de vostès ho va fer - 1135 00:53:19,630 --> 00:53:21,530 M-A-N l'espai R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 a la terminal d'aquesta manera, M-A-N espai R-A-N-D, premeu Enter. 1137 00:53:25,910 --> 00:53:30,490 Es podria arribar a la manual i seria capaç de llegir que el rand 1138 00:53:30,490 --> 00:53:34,260 sortides de comandaments num bytes pseudoaleatoris després de la sembra el nombre aleatori 1139 00:53:34,260 --> 00:53:35,510 generador d'una vegada. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> Així que això és una descripció. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 Això és el que fa rand, dóna que un nombre aleatori quan 1144 00:53:46,800 --> 00:53:48,610 truqui a aquesta funció. 1145 00:53:48,610 --> 00:53:53,140 Per desgràcia, en realitat no és aleatòria perquè si vostè acaba de trucar a l'atzar 1146 00:53:53,140 --> 00:53:55,970 sense aconseguir que part de la llavor, alguns punt de partida, sempre triarà 1147 00:53:55,970 --> 00:53:59,100 la mateixa i que utilitza una fórmula per determinar la següent. 1148 00:53:59,100 --> 00:54:01,730 Així que si vostè diu rand, que vaig a li donarà el mateix. 1149 00:54:01,730 --> 00:54:02,610 Serà molt predictible. 1150 00:54:02,610 --> 00:54:03,790 En realitat, no serà aleatòria. 1151 00:54:03,790 --> 00:54:09,610 >> Així que el que hem de fer, per Marcus Instruccions per a mi, eren rand llavors 1152 00:54:09,610 --> 00:54:13,810 amb una altra cosa, que és el que la funció srand fa. 1153 00:54:13,810 --> 00:54:18,055 Sembra rand amb una cosa una mica més l'atzar de la mateixa cosa, i 1154 00:54:18,055 --> 00:54:23,360 que està sembrant amb NULL temps, el que És a dir, només per convenció, el corrent 1155 00:54:23,360 --> 00:54:24,650 temps en segons. 1156 00:54:24,650 --> 00:54:29,790 >> Així que vostè està assumint que tot el món no és va a executar el codi en l'exacta 1157 00:54:29,790 --> 00:54:33,620 mateix segon, pel que és una aposta segura que NULL temps va a ser diferent 1158 00:54:33,620 --> 00:54:35,250 cada vegada que s'executa aquest codi. 1159 00:54:35,250 --> 00:54:39,020 Aposta segura que per tant, srand voluntat rand llavors amb alguna cosa diferent cada 1160 00:54:39,020 --> 00:54:39,990 vegada. 1161 00:54:39,990 --> 00:54:44,110 Així que, per convenció, quan ho fem volem un nombres aleatoris, escrivim aquesta línia, 1162 00:54:44,110 --> 00:54:50,540 srand NULL temps, ens donarà una llavors més a l'atzar, i després correm 1163 00:54:50,540 --> 00:54:52,080 rand, el que ens dóna un número a l'atzar. 1164 00:54:52,080 --> 00:54:52,840 Sí? 1165 00:54:52,840 --> 00:54:54,140 >> ESTUDIANT: Es pot dir el que vol dir amb llavor? 1166 00:54:54,140 --> 00:54:55,630 >> JASON Hirschhorn: Seed com en - 1167 00:54:55,630 --> 00:54:58,730 així rand va a recollir un nombre i que va a utilitzar alguns 1168 00:54:58,730 --> 00:55:00,060 fórmula per arribar-hi. 1169 00:55:00,060 --> 00:55:03,250 Així que va a començar amb alguna cosa i després convertir-lo en alguna cosa basat 1170 00:55:03,250 --> 00:55:03,890 fora d'aquesta fórmula. 1171 00:55:03,890 --> 00:55:06,090 Si sempre fas el mateix, que sempre va a convertir en el 1172 00:55:06,090 --> 00:55:06,790 el mateix. 1173 00:55:06,790 --> 00:55:08,450 Així que el primer que da és la llavor. 1174 00:55:08,450 --> 00:55:10,880 Així que vostè vol donar alguna cosa diferent per començar amb, i per 1175 00:55:10,880 --> 00:55:12,610 el convertirà en una cosa diferent. 1176 00:55:12,610 --> 00:55:15,840 >> I, finalment, la línia 20, aquest% es crida l' 1177 00:55:15,840 --> 00:55:17,470 mòdul, i que és confús. 1178 00:55:17,470 --> 00:55:19,850 Això és una cosa que és una mica diferent aquí que realment no 1179 00:55:19,850 --> 00:55:22,240 tenir en matemàtiques la vida real. 1180 00:55:22,240 --> 00:55:27,430 Però, en essència, si es pren un gegant nombre i que es divideixen en C, el que 1181 00:55:27,430 --> 00:55:29,482 que passa amb la resta? 1182 00:55:29,482 --> 00:55:30,510 >> ESTUDIANT: No es trunca. 1183 00:55:30,510 --> 00:55:31,220 >> JASON Hirschhorn: No es trunca. 1184 00:55:31,220 --> 00:55:35,200 Així que 20 dividit per 3 és què? 1185 00:55:35,200 --> 00:55:37,950 Què vol dir tornar a vostè, 20 dividit per 3. 1186 00:55:37,950 --> 00:55:39,260 Ho sentim, 10 dividit per 3. 1187 00:55:39,260 --> 00:55:41,062 Què vol dir tornar a tu? 1188 00:55:41,062 --> 00:55:41,540 >> ESTUDIANT: [inaudible]. 1189 00:55:41,540 --> 00:55:45,170 >> JASON Hirschhorn: 10 dividit per 3 només torna 3, No 3 residu 1. 1190 00:55:45,170 --> 00:55:51,490 Llavors, ¿què 10 modul 3 torna és només la resta, 1. 1191 00:55:51,490 --> 00:55:54,020 Així que si vols saber el que 10 dividit per 3 en realitat era, ho faria 1192 00:55:54,020 --> 00:55:58,950 fa 10 dividit per 3, s'obtindria el 3, i després que faries 10 mòdul 3, i 1193 00:55:58,950 --> 00:55:59,860 vostè aconseguiria 1 gener. 1194 00:55:59,860 --> 00:56:04,630 Així que t'adones que 10 dividit per 3 és 3, la resta 1. 1195 00:56:04,630 --> 00:56:07,990 >> I en aquesta línia, rand podria ser qualsevol nombre enter, essencialment. 1196 00:56:07,990 --> 00:56:12,660 Així mòdul està dient, es divideix per nombre, que és en aquest cas 5. 1197 00:56:12,660 --> 00:56:16,420 I si alguna vegada es divideix per un nombre, el nombre enter sempre ha de ser inferior a 1198 00:56:16,420 --> 00:56:17,590 aquest nombre. 1199 00:56:17,590 --> 00:56:22,200 Així que si estàs dividint per un nombre de 5, la resta sempre serà 1200 00:56:22,200 --> 00:56:23,396 zero a quatre. 1201 00:56:23,396 --> 00:56:25,520 Així és com funciona la matemàtica. 1202 00:56:25,520 --> 00:56:29,700 >> Així, un gran nombre moduloed per una més petita nombre sempre tornarà 1203 00:56:29,700 --> 00:56:33,530 resta i sempre tornar algun nombre que és menor que el nombre que 1204 00:56:33,530 --> 00:56:34,693 dividit per. 1205 00:56:34,693 --> 00:56:37,920 Algú té alguna pregunta sobre mòdul, ja que li serà molt, 1206 00:56:37,920 --> 00:56:41,450 molt pràctic, així que vull assegurar-me tothom ho entén? 1207 00:56:41,450 --> 00:56:43,710 Genial. 1208 00:56:43,710 --> 00:56:46,000 I vam veure que aquest programa va funcionar. 1209 00:56:46,000 --> 00:56:50,280 Bé, seguim. 1210 00:56:50,280 --> 00:56:52,970 >> Així que la propera, entrarem en funcions, i anirem 1211 00:56:52,970 --> 00:56:55,580 per la resta d'aquesta matèria bastant ràpidament perquè vull arribar a 1212 00:56:55,580 --> 00:56:57,150 arguments de la línia d'ordres. 1213 00:56:57,150 --> 00:57:00,330 Així funcions són essencialment, Com hem vist, les caixes negres. 1214 00:57:00,330 --> 00:57:04,290 Prenen les coses de trucades paràmetres, fan alguna cosa a ells, ja sigui 1215 00:57:04,290 --> 00:57:06,990 les o crear alguns efectes secundaris, i, finalment, s'escupen 1216 00:57:06,990 --> 00:57:09,530 alguna cosa fora, que és el valor de retorn. 1217 00:57:09,530 --> 00:57:12,495 Pot algú donar-me una raó què faríem servir funcions? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 Algú? 1220 00:57:16,360 --> 00:57:19,360 Una raó per la qual faríem servir funcions? 1221 00:57:19,360 --> 00:57:21,280 Algú? 1222 00:57:21,280 --> 00:57:22,700 Vaig veure a dues mans. 1223 00:57:22,700 --> 00:57:23,590 Què és una bona raó? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> ESTUDIANT: Si ha de trucar a la mateixa tros de codi diverses vegades. 1226 00:57:27,730 --> 00:57:29,150 >> JASON Hirschhorn: OK, si cal per cridar a la mateixa part de 1227 00:57:29,150 --> 00:57:30,040 codificar diverses vegades. 1228 00:57:30,040 --> 00:57:32,470 Jeff, va tenir una raó diferent? 1229 00:57:32,470 --> 00:57:34,230 >> ESTUDIANT: Només perquè pot codificar menys. 1230 00:57:34,230 --> 00:57:35,070 >> JASON Hirschhorn: Pot codificar menys. 1231 00:57:35,070 --> 00:57:35,320 Dreta. 1232 00:57:35,320 --> 00:57:38,720 Si vols fer alguna cosa molt - 1233 00:57:38,720 --> 00:57:41,720 en el codi anterior, que podria tenir escrita obtenir string cinc vegades, però una 1234 00:57:41,720 --> 00:57:44,620 per al llaç fa que es vegi més bonic i vostè ha d'escriure menys codi. 1235 00:57:44,620 --> 00:57:45,760 Les funcions són una idea similar. 1236 00:57:45,760 --> 00:57:48,720 Si jo vull fer el mateix molt, moure a una funció i trucar a aquest 1237 00:57:48,720 --> 00:57:49,610 funcionar cada vegada. 1238 00:57:49,610 --> 00:57:51,190 Això farà que la cosa per a vostè. 1239 00:57:51,190 --> 00:57:53,740 Aquesta és una gran raó per utilitzar les funcions. 1240 00:57:53,740 --> 00:57:54,870 >> Així anatomia d'una funció. 1241 00:57:54,870 --> 00:57:56,670 Una funció de la voluntat general, aquest aspecte. 1242 00:57:56,670 --> 00:57:59,280 Va a començar amb el tipus de canvi, llavors obtindrà el nom. 1243 00:57:59,280 --> 00:58:02,935 Prendrà els arguments, en cas contrari conegut com els paràmetres, ia l'interior 1244 00:58:02,935 --> 00:58:05,290 les claus, se li escriure el codi. 1245 00:58:05,290 --> 00:58:07,150 >> Hem vist una funció molt. 1246 00:58:07,150 --> 00:58:09,160 Això és important. 1247 00:58:09,160 --> 00:58:13,820 Aquí és el principal superposada a que l'anatomia que tenia abans. 1248 00:58:13,820 --> 00:58:15,525 Què int aquí voldrà dir? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Què significa int? 1251 00:58:19,450 --> 00:58:21,026 Quan escric int main (void). 1252 00:58:21,026 --> 00:58:21,740 >> ESTUDIANT: Tipus de valor retornat? 1253 00:58:21,740 --> 00:58:22,350 >> JASON Hirschhorn: Com? 1254 00:58:22,350 --> 00:58:23,170 >> ESTUDIANT: El tipus de retorn. 1255 00:58:23,170 --> 00:58:24,820 >> JASON Hirschhorn: Int és el tipus de retorn, tota la raó. 1256 00:58:24,820 --> 00:58:25,870 Inici retorna un int. 1257 00:58:25,870 --> 00:58:28,678 Quin és el principal? 1258 00:58:28,678 --> 00:58:29,510 >> ESTUDIANT: Nom de la funció. 1259 00:58:29,510 --> 00:58:30,800 >> JASON Hirschhorn: principal és la nom de la funció. 1260 00:58:30,800 --> 00:58:31,510 Exactament. 1261 00:58:31,510 --> 00:58:31,840 I buit? 1262 00:58:31,840 --> 00:58:33,190 Què és el buit dins dels parèntesis? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> ESTUDIANT: No es necessita qualsevol valor extern. 1265 00:58:42,030 --> 00:58:42,930 >> JASON Hirschhorn: Així buit - 1266 00:58:42,930 --> 00:58:43,240 dreta. 1267 00:58:43,240 --> 00:58:45,940 Dins dels parèntesis, posem l' paràmetres o els arguments de les 1268 00:58:45,940 --> 00:58:48,480 funció pren, el que passa dins del quadre negre. 1269 00:58:48,480 --> 00:58:50,760 Quan s'escriu sense efecte, està dient això no treu res polz 1270 00:58:50,760 --> 00:58:53,802 Void main Així int principals mitjans de No tenint res polz 1271 00:58:53,802 --> 00:58:56,950 >> Dins de les claus, tenim algunes codi, i després veiem al final 1272 00:58:56,950 --> 00:58:57,640 tornar zero. 1273 00:58:57,640 --> 00:59:01,220 Què significa el retorn a zero? 1274 00:59:01,220 --> 00:59:02,470 Bé, parlem sobre el tipus de canvi. 1275 00:59:02,470 --> 00:59:03,780 Inici ha de retornar un int. 1276 00:59:03,780 --> 00:59:04,960 Això és el que fa aquesta línia. 1277 00:59:04,960 --> 00:59:07,330 Retorna un enter, zero. 1278 00:59:07,330 --> 00:59:13,600 >> Per descomptat, no hem vist que molts causa que en la programació que fem amb 1279 00:59:13,600 --> 00:59:16,070 les màquines que fem i els compiladors que fem servir avui en dia, 1280 00:59:16,070 --> 00:59:16,990 no necessiten aquesta línia. 1281 00:59:16,990 --> 00:59:20,070 Principal és prou especial que sap quan arribi al final de principal, just 1282 00:59:20,070 --> 00:59:22,060 tornar zero si tot ha anat bé. 1283 00:59:22,060 --> 00:59:25,560 De fet, si alguna cosa no va bé, principal es tornen sovint a una altra persona 1284 00:59:25,560 --> 00:59:28,500 número amb el significat que alguna cosa que va sortir malament amb el seu programa. 1285 00:59:28,500 --> 00:59:32,470 >> Així que en general, quan veu el codi, que no escrigui retorn a zero, però és bo 1286 00:59:32,470 --> 00:59:34,770 saber que està succeint darrere de l' escenes, perquè cada vegada que escrius 1287 00:59:34,770 --> 00:59:36,370 un altre tipus de funció, vostè va a haver de 1288 00:59:36,370 --> 00:59:37,400 incloure una línia de retorn. 1289 00:59:37,400 --> 00:59:39,710 Si estàs dient que vaig a retorna un int, cal 1290 00:59:39,710 --> 00:59:41,250 escriure retornar alguna cosa. 1291 00:59:41,250 --> 00:59:45,160 Si dius buit aquí a la principi void main, per buit 1292 00:59:45,160 --> 00:59:48,670 exemple, llavors no tornar res - buit significa res - 1293 00:59:48,670 --> 00:59:50,320 pel que no és necessari que la línia de retorn. 1294 00:59:50,320 --> 00:59:53,610 Però alguna vegada escriure alguna cosa que no és anul · lar per al tipus de retorn, necessita 1295 00:59:53,610 --> 00:59:55,950 una línia que diu retorn i de posar alguna cosa aquí 1296 00:59:55,950 --> 00:59:57,650 que coincideix amb el tipus. 1297 00:59:57,650 --> 00:59:58,900 Una pregunta sobre això? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Sweet. 1300 01:00:04,680 --> 01:00:05,930 >> Àmbit d'aplicació. 1301 01:00:05,930 --> 01:00:07,360 Això és una cosa que hem tocat així. 1302 01:00:07,360 --> 01:00:10,720 Totes les variables, com sabem, té una cert abast, i això és bàsicament 1303 01:00:10,720 --> 01:00:14,160 parlant que la variable pot o no pot ser referenciat. 1304 01:00:14,160 --> 01:00:16,310 I m'agrada dir el que succeeix entre claus es queda 1305 01:00:16,310 --> 01:00:18,000 dins de les claus. 1306 01:00:18,000 --> 01:00:21,490 Així, per exemple, si ens fixem en el codi, estem definint una variable global 1307 01:00:21,490 --> 01:00:24,510 fora del principal, int a, aquí a la part superior. 1308 01:00:24,510 --> 01:00:27,380 Estem trucant a un altre int un interior principal. 1309 01:00:27,380 --> 01:00:29,760 Tenim alguns suports més arrissat i estem cridant a altre un int. 1310 01:00:29,760 --> 01:00:31,690 >> Tenim tres A en el codi. 1311 01:00:31,690 --> 01:00:32,550 Aquests no són la mateixa cosa. 1312 01:00:32,550 --> 01:00:34,880 He creat tres variables diferents. 1313 01:00:34,880 --> 01:00:39,370 A continuació, dins d'aquestes arrissat interior claus, em diuen que a = 4. 1314 01:00:39,370 --> 01:00:44,130 Què és una que parla de la primer, el segon, 1315 01:00:44,130 --> 01:00:47,045 o el tercer? 1316 01:00:47,045 --> 01:00:47,920 >> ESTUDIANT: El tercer. 1317 01:00:47,920 --> 01:00:49,320 >> JASON Hirschhorn: Està parlant sobre la tercera. 1318 01:00:49,320 --> 01:00:52,850 Tots els que una és en realitat pot haver parlat en aquest particular, 1319 01:00:52,850 --> 01:00:58,660 exemple, a causa al seu abast tot va en aquestes claus més íntims. 1320 01:00:58,660 --> 01:01:02,360 No obstant això, al trucar a les coses de la mateixa nom, hi ha una cosa que es diu la clandestinitat. 1321 01:01:02,360 --> 01:01:09,670 Així que només s'ocupen amb o corregir o utilitzar el variable més recent, o l'un 1322 01:01:09,670 --> 01:01:11,090 més propera a vostè. 1323 01:01:11,090 --> 01:01:14,760 Així que aquí dins, això està més a prop d'un terç a aquesta línia, a = 4, per la qual cosa 1324 01:01:14,760 --> 01:01:16,550 afecta la tercera. 1325 01:01:16,550 --> 01:01:19,890 I l'última línia, a = 2, que és un que parlar de la primera, segona, 1326 01:01:19,890 --> 01:01:20,805 o un tercer? 1327 01:01:20,805 --> 01:01:22,530 >> ESTUDIANT: Segon. 1328 01:01:22,530 --> 01:01:24,430 >> JASON Hirschhorn: Està parlant sobre el segon un. 1329 01:01:24,430 --> 01:01:27,970 Per descomptat, la tercera és la més pròxima a un en el codi, però el tercer un 1330 01:01:27,970 --> 01:01:30,200 no existeix fora aquestes claus. 1331 01:01:30,200 --> 01:01:32,650 Quan arribi a aquesta tancada arrissat cotilla, és com s'ha anat, 1332 01:01:32,650 --> 01:01:33,570 essencialment. 1333 01:01:33,570 --> 01:01:36,150 Així que els únics que en queda són els primer dos, i per descomptat, ara 1334 01:01:36,150 --> 01:01:37,960 que està més a prop de la segona. 1335 01:01:37,960 --> 01:01:39,410 >> Així que això és una bona cosa per recordar sobre el seu abast. 1336 01:01:39,410 --> 01:01:42,900 Per exemple, estic segur que li ha sorgit això en un bucle Do While. 1337 01:01:42,900 --> 01:01:46,680 Si inicialitza la variable dins el Do While i després intenta 1338 01:01:46,680 --> 01:01:50,360 accedir-hi fora, probablement té alguna advertència com, això 1339 01:01:50,360 --> 01:01:51,680 no existeix variable. 1340 01:01:51,680 --> 01:01:54,370 Això es deu a la idea del seu abast, que les coses només existeixen 1341 01:01:54,370 --> 01:01:55,320 dins d'aquestes claus. 1342 01:01:55,320 --> 01:01:59,320 Les claus són com una abraçada gegant que vostè està donant al seu codi, és un altre 1343 01:01:59,320 --> 01:02:01,380 manera de pensar-hi. 1344 01:02:01,380 --> 01:02:05,280 >> Així que aquesta és una altra funció, una cosa per vostès en el codi, hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Anem a passar que, per ara, però això és una cosa que us animo a 1346 01:02:08,240 --> 01:02:09,740 practicar pel seu compte. 1347 01:02:09,740 --> 01:02:12,510 Escriviu un programa en el qual els principals trucades altra funció que imprimeix un 1348 01:02:12,510 --> 01:02:13,750 salutació a l'usuari. 1349 01:02:13,750 --> 01:02:17,750 Es tracta de prendre essencialment hola món i abstracció que printf en 1350 01:02:17,750 --> 01:02:18,680 altra funció. 1351 01:02:18,680 --> 01:02:22,360 Però no farem això ara mateix perquè no tenim tant de temps 1352 01:02:22,360 --> 01:02:23,350 esquerra com m'hagués agradat. 1353 01:02:23,350 --> 01:02:26,250 >> Així declaració de la funció. 1354 01:02:26,250 --> 01:02:28,080 Hem vist això abans també. 1355 01:02:28,080 --> 01:02:31,180 Si voleu escriure una altra funció, cal deixar que l'ordinador coneix i 1356 01:02:31,180 --> 01:02:32,600 principal sap que existeix. 1357 01:02:32,600 --> 01:02:37,140 Així que el que faig és per sobre de principal, s'escriu el tipus de canvi, el nom i la 1358 01:02:37,140 --> 01:02:42,970 paràmetres, i després cap avall per sota de principal, aquí, en realitat ens copiem aquesta línia 1359 01:02:42,970 --> 01:02:45,080 i després escriure el codi real. 1360 01:02:45,080 --> 01:02:50,990 Així d'aquesta manera, si es crida a la funció a principal a la part superior, el principal sap que 1361 01:02:50,990 --> 01:02:54,650 hola hi ha, per exemple, si jo fos cridar hola, i després es veu a 1362 01:02:54,650 --> 01:02:56,710 l'aplicació de sota. 1363 01:02:56,710 --> 01:02:59,680 Què passa si no s'inclou aquest s'alineï la part superior, anul hola (void)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> Si no incloc aquesta línia i demana principals hola, sóc 1366 01:03:06,560 --> 01:03:07,640 va a aconseguir un error. 1367 01:03:07,640 --> 01:03:10,090 Vaig a tenir un error perquè el compilador no sap 1368 01:03:10,090 --> 01:03:13,070 que existeix aquesta cosa. 1369 01:03:13,070 --> 01:03:16,680 Això és similar a la raó per la qual no # include cs50.h. 1370 01:03:16,680 --> 01:03:21,390 El que essencialment cs50.h està fent està posant obtenir string allà. 1371 01:03:21,390 --> 01:03:23,120 És posar aconseguir int allà. 1372 01:03:23,120 --> 01:03:26,570 S'està posant a tots aquells funció prototips abans de principal, de manera que quan 1373 01:03:26,570 --> 01:03:29,900 se'ls anomena en el principal, el principal sap que aquestes coses existeixen. 1374 01:03:29,900 --> 01:03:31,630 Això és el que els arxius. H fan. 1375 01:03:31,630 --> 01:03:33,850 I pel que si vostè va a fer el seu propi funció, has d'assegurar- 1376 01:03:33,850 --> 01:03:36,690 poses aquest prototip fins allà. 1377 01:03:36,690 --> 01:03:38,380 Una pregunta sobre això fins ara? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Arguments de la línia d'ordres. 1380 01:03:42,490 --> 01:03:44,780 Això és el que anem a acabar a, i després esperem veure't 1381 01:03:44,780 --> 01:03:46,180 estrènyer en algun conjunt de processadors. 1382 01:03:46,180 --> 01:03:48,700 No sé si serem capaços d'esprémer en què per manca de temps, però 1383 01:03:48,700 --> 01:03:51,560 amb vostès que són aquí, i si nois volen dir que després d'una estona, ens 1384 01:03:51,560 --> 01:03:54,290 pot anar fora. 1385 01:03:54,290 --> 01:03:56,020 Però anem a acabar amb arguments de la línia d'ordres 1386 01:03:56,020 --> 01:03:58,510 durant els últims 15 minuts. 1387 01:03:58,510 --> 01:03:59,930 Ens desperta, Michael? 1388 01:03:59,930 --> 01:04:01,180 Estàs despert? 1389 01:04:01,180 --> 01:04:01,660 Bé. 1390 01:04:01,660 --> 01:04:03,760 No sé si vostè dorm amb els ulls tancats. 1391 01:04:03,760 --> 01:04:05,800 Seria difícil. 1392 01:04:05,800 --> 01:04:07,180 >> Arguments de la línia d'ordres. 1393 01:04:07,180 --> 01:04:10,430 Són una forma de passar informació en un programa. 1394 01:04:10,430 --> 01:04:12,780 Finalment, ens trobem amb els altres. 1395 01:04:12,780 --> 01:04:15,600 Però, en essència, que deixarem de escriure int main (void) si volem 1396 01:04:15,600 --> 01:04:16,720 prendre alguns arguments de la línia d'ordres. 1397 01:04:16,720 --> 01:04:19,850 Anem a escriure això anomenada int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 cadena argv, entre parèntesis. 1399 01:04:22,430 --> 01:04:23,710 Això és confús. 1400 01:04:23,710 --> 01:04:26,070 Això és un munt de cartes que no estan en Anglès humana, pel que anem a 1401 01:04:26,070 --> 01:04:27,680 desempaquetar els arxius en aquests moments. 1402 01:04:27,680 --> 01:04:30,450 >> Argc significa recompte d'arguments - 1403 01:04:30,450 --> 01:04:32,600 i una altra, tots ells estarà disponible en línia - 1404 01:04:32,600 --> 01:04:34,280 i aquest és el nombre d'arguments. 1405 01:04:34,280 --> 01:04:37,940 Argv significa vector argument i aquests són els mateixos arguments. 1406 01:04:37,940 --> 01:04:38,830 És una matriu de cadenes. 1407 01:04:38,830 --> 01:04:40,880 Hem vist en realitat un array de cadenes abans d'avui. 1408 01:04:40,880 --> 01:04:44,390 Creem una a l'últim PROGRAMA codifiquem. 1409 01:04:44,390 --> 01:04:45,720 >> Així que aquí està un exemple. 1410 01:04:45,720 --> 01:04:50,230 Escric. / Ohai CS50 secció en la meva línia d'ordres. 1411 01:04:50,230 --> 01:04:54,090 Argc en aquest cas és igual a 3. 1412 01:04:54,090 --> 01:05:01,170 Argv suport 0 és ohai, argv suport 1 és CS50, argv suport 2 és la secció. 1413 01:05:01,170 --> 01:05:05,160 Un cop més, argc és el nombre d'arguments, i per ensopegar una mica 1414 01:05:05,160 --> 01:05:08,710 poc, sempre comptem el nom del funció que el primer argument. 1415 01:05:08,710 --> 01:05:12,350 Així doncs, en aquest cas, hi ha tres arguments, el nom de la funció 1416 01:05:12,350 --> 01:05:14,590 i després els dos que he escrit polz 1417 01:05:14,590 --> 01:05:18,900 >> A continuació, anem a salvar els mateixos arguments argv. 1418 01:05:18,900 --> 01:05:22,690 I de nou, tal com hem vist abans, ho vam fer això en l'últim programa codifiquem. 1419 01:05:22,690 --> 01:05:27,110 Us podeu moure a través de la matriu de argv i obtenir aquestes cadenes. 1420 01:05:27,110 --> 01:05:28,830 Això és bàsicament el que vam fer a Al final del nostre últim programa. 1421 01:05:28,830 --> 01:05:33,190 Triem un nom a l'atzar i després vam anar a noms suport el i imprès 1422 01:05:33,190 --> 01:05:34,580 la cadena es troba allà. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> A més de només una varietat, perquè pròpies cadenes són arrays, com 1425 01:05:43,670 --> 01:05:46,320 parla, vostè pot tenir matrius de matrius, és que 1426 01:05:46,320 --> 01:05:48,530 essencialment el que és argv. 1427 01:05:48,530 --> 01:05:51,370 Una manera de pensar aquest és files i columnes. 1428 01:05:51,370 --> 01:05:54,750 Puc dibuixar això en aquest moment. 1429 01:05:54,750 --> 01:05:57,370 Així argv - 1430 01:05:57,370 --> 01:05:58,630 això no és esborrat. 1431 01:05:58,630 --> 01:05:59,880 Dibuixem sota ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> Així que si jo vaig escriure a la secció CS50 ohai, Vaig a truncar 1434 01:06:12,490 --> 01:06:14,520 secció per a aquest exemple. 1435 01:06:14,520 --> 01:06:29,026 Però, en essència, la meva multidimensional array, ohai CS50, 1436 01:06:29,026 --> 01:06:32,200 farem secta. 1437 01:06:32,200 --> 01:06:34,610 Així que aquí, puc accedir - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 si em dono argv un nombre - 1440 01:06:45,710 --> 01:06:46,390 això està malament. 1441 01:06:46,390 --> 01:06:49,020 Què està malament en aquest diagrama? 1442 01:06:49,020 --> 01:06:49,690 >> ESTUDIANT: Comença a zero. 1443 01:06:49,690 --> 01:06:50,350 >> JASON Hirschhorn: ha començar amb zero. 1444 01:06:50,350 --> 01:06:52,940 Probablement hauria també girar, però ja que jo ja he dibuixat a, estic 1445 01:06:52,940 --> 01:06:54,120 anem a deixar-ho aquí per ara. 1446 01:06:54,120 --> 01:06:55,160 Però comença en zero. 1447 01:06:55,160 --> 01:06:56,410 Això és correcte. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Ho sento si això és petit. 1450 01:07:00,120 --> 01:07:01,370 Poden vostès espècie de veure? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 Així que si ho faig argv 0, vaig a obtenir tots ohai. 1453 01:07:06,670 --> 01:07:08,555 Si ho faig argv 1, vaig a aconseguir tots CS50. 1454 01:07:08,555 --> 01:07:10,720 Si ho faig argv 2, vaig a aconseguir tots secta. 1455 01:07:10,720 --> 01:07:13,370 >> Però ara, com hem dit, les cadenes són les pròpies matrius. 1456 01:07:13,370 --> 01:07:19,740 Així que el que puc fer és que puc tractar aquesta com una matriu multi-dimensional, i 1457 01:07:19,740 --> 01:07:24,190 pot fer alguna cosa en la línia de argv 0, 0, que m'és igual el 1458 01:07:24,190 --> 01:07:25,400 caràcter 0. 1459 01:07:25,400 --> 01:07:28,760 Argv 0, 1, que m'és igual h. 1460 01:07:28,760 --> 01:07:33,960 Argv 1, 3, que m'és igual aquest 0 aquí a CS50. 1461 01:07:33,960 --> 01:07:37,690 >> Així que a causa de les pròpies cadenes són arranjaments, estem posant 1462 01:07:37,690 --> 01:07:38,540 que en una altra matriu. 1463 01:07:38,540 --> 01:07:42,850 Ara tenim matriu de matrius, i pot indexar en la nostra primera matriu i 1464 01:07:42,850 --> 01:07:44,840 llavors índex en la segona matriu. 1465 01:07:44,840 --> 01:07:48,650 I com era d'esperar, ho fem amb només posar els dos - 1466 01:07:48,650 --> 01:07:51,760 fem els claudàtors només just al costat d'un a l'altre. 1467 01:07:51,760 --> 01:07:58,930 Així, en aquest exemple, argv 1 és CS50 i argv 1, 2, com hem dit, és 5. 1468 01:07:58,930 --> 01:08:02,120 Algú té alguna pregunta sobre matrius multidimensionals? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Vostès estan fent genial. 1471 01:08:06,380 --> 01:08:07,750 Sweet. 1472 01:08:07,750 --> 01:08:11,980 >> Així que tenim un altre programa aquí, i aquesta és l'última cosa que estem 1473 01:08:11,980 --> 01:08:13,690 farem ara. 1474 01:08:13,690 --> 01:08:18,160 Així que vull que escriguis un programa que pren el nom complet d'un usuari, i només dos 1475 01:08:18,160 --> 01:08:21,649 dos arguments de línia de comandes i, finalment, imprimir una salutació a la 1476 01:08:21,649 --> 01:08:24,180 usuari que inclogui el seu nom de pila. 1477 01:08:24,180 --> 01:08:27,800 Llavors, per què no et portes tres o quatre minuts per fer això, i després anirem 1478 01:08:27,800 --> 01:08:29,870 més que com un grup, i llavors nosaltres acabarem? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> I de nou, aquí, quan nosaltres diem prendre un nom complet de l'usuari i per la descripció 1481 01:09:48,084 --> 01:09:54,473 d'aquest problema, que hauria de ser comanda arguments de la línia, no fer servir obtenen cadena. 1482 01:09:54,473 --> 01:09:55,450 Sí, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> Estudiant: Llavors quan dius dos comandaments arguments de la línia, és que, a més de 1484 01:09:58,260 --> 01:10:00,000 . L'/ RUN, o bé - 1485 01:10:00,000 --> 01:10:02,980 >> JASON Hirschhorn: Bona pregunta. 1486 01:10:02,980 --> 01:10:05,995 Do, incloent el. / Run, tres arguments de la línia d'ordres. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 O com el. / Personalitzat, en aquest cas, perquè aquesta és la 1489 01:10:11,320 --> 01:10:12,360 nom d'aquest fitxer. 1490 01:10:12,360 --> 01:10:13,300 Així argc seria 3. 1491 01:10:13,300 --> 01:10:19,480 Però vull només dos arguments donat al programa. 1492 01:10:19,480 --> 01:10:20,400 He de precisar que. 1493 01:10:20,400 --> 01:10:23,380 Faré que el canvi abans de publicar ells i enviar-los a vostès. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> ESTUDIANT: Què passa si vostè tenir un segon nom? 1496 01:10:34,740 --> 01:10:36,800 >> JASON Hirschhorn: Si vostè té un mitjà nom, estàs de sort. 1497 01:10:36,800 --> 01:10:38,050 Ho sento. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 O si vostè va només per Shakira, també està de sort. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Sí? 1502 01:10:56,425 --> 01:11:00,760 >> ESTUDIANT: Llavors, quan la gent no té cs50.h, Com defineixen argv 1503 01:11:00,760 --> 01:11:03,450 com char estrelles argv? 1504 01:11:03,450 --> 01:11:05,160 O és que encara s'anomena cadena argv? 1505 01:11:05,160 --> 01:11:07,430 >> JASON Hirschhorn: Si. 1506 01:11:07,430 --> 01:11:10,480 Així cadena, de nou, màscara sobre el exactament el que està succeint allà. 1507 01:11:10,480 --> 01:11:14,040 Això serà desempaquetat potser el dimecres, però aviat. 1508 01:11:14,040 --> 01:11:16,380 És com rodes d'entrenament. 1509 01:11:16,380 --> 01:11:18,370 Perquè en essència, és la mateixa cosa. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> Així que prenguem un minut per programar això, i després anirem més de 1512 01:11:42,560 --> 01:11:45,130 com un grup i, a continuació, com he dit, concloure. 1513 01:11:45,130 --> 01:11:47,770 I crec que segueixen sent dolces extra, pel que vostès han de tenir sort 1514 01:11:47,770 --> 01:11:49,790 això, o si us plau prengui això. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Ho sento si segueixes escrivint, però vull bussejar i ens 1517 01:12:22,560 --> 01:12:24,010 pot acabar junts. 1518 01:12:24,010 --> 01:12:30,470 Així que he escrit en, # include cs50.h, # include stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int main (void), clau de, arrissat suport, dins de tres línies d' 1520 01:12:33,970 --> 01:12:38,760 pseudocodi, pren el nom complet d'un usuari, dos i només dos de línia d'ordres 1521 01:12:38,760 --> 01:12:42,670 arguments, imprimeix una salutació a la usuari que inclogui el seu nom de pila. 1522 01:12:42,670 --> 01:12:45,810 >> Així que la primera, prendre nom complet de l'usuari. 1523 01:12:45,810 --> 01:12:47,290 Qui pot ajudar-me a prendre el nom complet d'un usuari? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Com puc fer aquesta part? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Vostès fan això primera part? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Prengui el nom complet d'un usuari. 1530 01:13:03,894 --> 01:13:05,860 Doncs bé, perquè una línia d'ordres argument, què he d'escriure? 1531 01:13:05,860 --> 01:13:09,624 Què he de canviar a la meva declaració de la funció? 1532 01:13:09,624 --> 01:13:11,140 >> ESTUDIANT: No vol que sigui anul · lada més. 1533 01:13:11,140 --> 01:13:11,410 >> JASON Hirschhorn: Exactament. 1534 01:13:11,410 --> 01:13:12,385 Jo no vull que sigui anul · lada. 1535 01:13:12,385 --> 01:13:13,630 Què vull ser? 1536 01:13:13,630 --> 01:13:14,650 >> ESTUDIANT: argc Int 1537 01:13:14,650 --> 01:13:15,720 >> JASON Hirschhorn: int argc. 1538 01:13:15,720 --> 01:13:17,430 >> ESTUDIANT: argv String. 1539 01:13:17,430 --> 01:13:19,055 >> JASON Hirschhorn: String argv. 1540 01:13:19,055 --> 01:13:19,705 >> ESTUDIANT: Bracket, suport. 1541 01:13:19,705 --> 01:13:20,070 >> JASON Hirschhorn: Bracket, suport. 1542 01:13:20,070 --> 01:13:21,780 Això és exactament correcte, i això és realment la forma en què vaig a aconseguir 1543 01:13:21,780 --> 01:13:22,820 nom complet de l'usuari. 1544 01:13:22,820 --> 01:13:24,070 Ells posaran allà. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Així que un ha fet. 1547 01:13:28,780 --> 01:13:30,780 Així que ara vull dos i només dos arguments de la línia d'ordres. 1548 01:13:30,780 --> 01:13:35,065 Així que Noè, el que és una manera de que pugui comprovar el nombre de comandes 1549 01:13:35,065 --> 01:13:36,315 arguments de la línia que tenen? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> ESTUDIANT: Vostè fa una sentència if. 1552 01:13:40,725 --> 01:13:42,270 >> JASON Hirschhorn: Si declaració, exactament. 1553 01:13:42,270 --> 01:13:44,830 Què vull que la condició? 1554 01:13:44,830 --> 01:13:48,370 >> ESTUDIANT: Si argc més gran que 3. 1555 01:13:48,370 --> 01:13:52,485 >> JASON Hirschhorn: Si argc és més gran que 3. 1556 01:13:52,485 --> 01:13:58,430 Si argc superior a 3, què faig? 1557 01:13:58,430 --> 01:13:59,400 >> ESTUDIANT: Retorn 1. 1558 01:13:59,400 --> 01:14:01,856 >> JASON Hirschhorn: Retorn 1. 1559 01:14:01,856 --> 01:14:04,050 Això assegurar que tinc dos i només dos? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> ESTUDIANT: No 1562 01:14:07,820 --> 01:14:13,110 Si argc és més gran que 3 i menys de 2. 1563 01:14:13,110 --> 01:14:17,770 >> JASON Hirschhorn: Si argc és major de 3 i argc és menor que 2. 1564 01:14:17,770 --> 01:14:21,540 Quin és una manera que puc escriure això en tan sols una línia, o sense l'ús que 1565 01:14:21,540 --> 01:14:23,890 i l'operador booleà? 1566 01:14:23,890 --> 01:14:25,942 >> ESTUDIANT: No és igual a 2. 1567 01:14:25,942 --> 01:14:28,790 >> JASON Hirschhorn: Si argc no és igual a 2. 1568 01:14:28,790 --> 01:14:29,260 Exactament. 1569 01:14:29,260 --> 01:14:34,890 Així que si argc no és igual a 2, que em donarà aquest programa, 1570 01:14:34,890 --> 01:14:37,250 personalitzat, quan ho executo, i que em donarà el nombre de 1571 01:14:37,250 --> 01:14:38,740 arguments de la línia d'ordres? 1572 01:14:38,740 --> 01:14:42,110 Quantes vaig a comprovar? 1573 01:14:42,110 --> 01:14:42,370 >> Ho sento. 1574 01:14:42,370 --> 01:14:43,400 Deixeu-me reformular això. 1575 01:14:43,400 --> 01:14:46,620 Si argc = 2, quantes coses va fer l'usuari escriu en la línia? 1576 01:14:46,620 --> 01:14:47,500 >> ESTUDIANT: Primer. 1577 01:14:47,500 --> 01:14:49,120 >> JASON Hirschhorn: Només un. 1578 01:14:49,120 --> 01:14:50,430 Així que abans, tenies raó, Noah. 1579 01:14:50,430 --> 01:14:52,192 Què és el que realment necessito posar aquí? 1580 01:14:52,192 --> 01:14:53,640 >> ESTUDIANT: Això és igual a 3. 1581 01:14:53,640 --> 01:14:55,970 >> JASON Hirschhorn: argc no és igual a 3. 1582 01:14:55,970 --> 01:15:00,250 Vull ser igual a 3 perquè vull personalitzada a més dels altres dos. 1583 01:15:00,250 --> 01:15:02,560 Així que si argc no és igual a 3, retorna 1. 1584 01:15:02,560 --> 01:15:04,475 Per què vas dir tornar 1? 1585 01:15:04,475 --> 01:15:06,180 >> ESTUDIANT: Com que vol dir que està malament. 1586 01:15:06,180 --> 01:15:08,420 >> JASON Hirschhorn: Això vol dir que està malament, I el que és que va a fer? 1587 01:15:08,420 --> 01:15:10,360 >> ESTUDIANT: Re-demanar a l'usuari. 1588 01:15:10,360 --> 01:15:11,940 >> JASON Hirschhorn: Es va a deixar de fumar el programa, de manera que haurà de córrer 1589 01:15:11,940 --> 01:15:14,520 de nou, però no tenim res aquí per demanar de nou. 1590 01:15:14,520 --> 01:15:14,840 Jo no demano això. 1591 01:15:14,840 --> 01:15:15,990 Això és exactament correcte. 1592 01:15:15,990 --> 01:15:17,680 Tornar 1 només tanca el programa. 1593 01:15:17,680 --> 01:15:18,520 Gran. 1594 01:15:18,520 --> 01:15:21,600 >> E imprimir una salutació per a l'usuari que inclou el seu nom. 1595 01:15:21,600 --> 01:15:24,010 Com puc fer això? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> ESTUDIANT: Printf. 1598 01:15:26,580 --> 01:15:27,785 >> JASON Hirschhorn: Printf. 1599 01:15:27,785 --> 01:15:28,640 >> ESTUDIANT: (" 1600 01:15:28,640 --> 01:15:30,460 >> JASON Hirschhorn: ( 1601 01:15:30,460 --> 01:15:31,600 >> ESTUDIANT: "hola 1602 01:15:31,600 --> 01:15:33,210 >> JASON Hirschhorn: "hola 1603 01:15:33,210 --> 01:15:34,800 >> ESTUDIANT:% s 1604 01:15:34,800 --> 01:15:37,230 >> JASON Hirschhorn:% s 1605 01:15:37,230 --> 01:15:38,840 >> ESTUDIANT: / n 1606 01:15:38,840 --> 01:15:41,030 >> JASON Hirschhorn: / n 1607 01:15:41,030 --> 01:15:43,120 >> ESTUDIANT: ", 1608 01:15:43,120 --> 01:15:45,130 >> JASON Hirschhorn: ", 1609 01:15:45,130 --> 01:15:46,620 >> ESTUDIANT: argv 1610 01:15:46,620 --> 01:15:47,080 >> JASON Hirschhorn: Com? 1611 01:15:47,080 --> 01:15:47,750 >> ESTUDIANT: argv 1612 01:15:47,750 --> 01:15:48,840 >> JASON Hirschhorn: argv 1613 01:15:48,840 --> 01:15:50,190 >> ESTUDIANT: Els claudàtors 1. 1614 01:15:50,190 --> 01:15:51,230 >> JASON Hirschhorn: Els claudàtors? 1615 01:15:51,230 --> 01:15:51,870 >> ESTUDIANT: 1. 1616 01:15:51,870 --> 01:15:54,050 >> JASON Hirschhorn: 1. 1617 01:15:54,050 --> 01:15:55,850 >> ESTUDIANT: I) i coma. 1618 01:15:55,850 --> 01:15:58,290 >> JASON Hirschhorn :) i coma. 1619 01:15:58,290 --> 01:16:00,250 Correm això. 1620 01:16:00,250 --> 01:16:03,730 Fer personalitzada. 1621 01:16:03,730 --> 01:16:06,392 . / Personalitzada. 1622 01:16:06,392 --> 01:16:07,420 S'acaba de deixar. 1623 01:16:07,420 --> 01:16:10,390 Per què deixar de fumar? 1624 01:16:10,390 --> 01:16:11,310 >> ESTUDIANT: No vas posar cap argument. 1625 01:16:11,310 --> 01:16:12,560 >> JASON Hirschhorn: No ho vaig fer posar cap argument polz 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Es veu molt bé. 1628 01:16:16,920 --> 01:16:18,130 Nois clavat. 1629 01:16:18,130 --> 01:16:22,420 Així que de nou, vostè va entrar en argv i comprovat al argc principi. 1630 01:16:22,420 --> 01:16:24,390 Aquests són dos importants coses per recordar. 1631 01:16:24,390 --> 01:16:29,250 Així que en l'última dos minuts abans que deixar, no anem a arribar al conjunt de processadors de dos, però 1632 01:16:29,250 --> 01:16:33,585 com he dit, si vol quedar-se després durant 10 minuts, m'agradaria que feliç d'anar 1633 01:16:33,585 --> 01:16:35,710 de nou amb vosaltres la lògica per a aquests conjunts de problemes. 1634 01:16:35,710 --> 01:16:37,930 Teníem molt de cobrir avui així que no vaig arribar a ells. 1635 01:16:37,930 --> 01:16:39,820 En general, m'agrada incloure que en l'extrem. 1636 01:16:39,820 --> 01:16:42,150 Així que si vols quedar-te, quedar-se per 10 minuts. 1637 01:16:42,150 --> 01:16:42,990 Ho farem. 1638 01:16:42,990 --> 01:16:46,250 >> Llavors, com vaig dir al principi, PSET zero i un, anem a aconseguir que la 1639 01:16:46,250 --> 01:16:48,040 retroalimentació amb vostè el aviat com sigui possible. 1640 01:16:48,040 --> 01:16:51,260 L'objectiu és aconseguir un conjunt de processadors retroalimentació, la part dels comentaris, 1641 01:16:51,260 --> 01:16:52,850 abans PSET 2 cal. 1642 01:16:52,850 --> 01:16:56,730 Així que si vostè va fer alguns errors o estilísticament, les coses podrien ser millors, 1643 01:16:56,730 --> 01:17:01,330 vostè tindrà la informació perquè no va a fer les mateixes coses en PSET 02:00. 1644 01:17:01,330 --> 01:17:06,140 I després, en el futur, vostè aconseguirà tot de la seva regeneració PSET i comentaris 1645 01:17:06,140 --> 01:17:08,190 de tornada abans de la propera cal. 1646 01:17:08,190 --> 01:17:12,695 >> Finalment, si podia posar en un altre endoll per a la retroalimentació. 1647 01:17:12,695 --> 01:17:13,935 Aquesta és la seva primera secció. 1648 01:17:13,935 --> 01:17:15,920 Va ser la meva primera secció l'ensenyament d'aquest any. 1649 01:17:15,920 --> 01:17:16,930 Anar-hi. 1650 01:17:16,930 --> 01:17:19,800 Escriu coses, bones i dolentes, i faré servir per fer 1651 01:17:19,800 --> 01:17:21,320 secció millor la propera vegada. 1652 01:17:21,320 --> 01:17:24,870 I finalment, de nou, si cal res, que em faci saber. 1653 01:17:24,870 --> 01:17:26,410 Estic més que feliç d'ajudar a vostès. 1654 01:17:26,410 --> 01:17:28,420 Si el que desitja dolços, em tindrà dolços addicional. 1655 01:17:28,420 --> 01:17:29,800 Estic content de portar-lo a vostè. 1656 01:17:29,800 --> 01:17:31,190 >> Aquest serà un curs increïble. 1657 01:17:31,190 --> 01:17:34,900 Aquest és un, si no és el meu favorit Per descomptat, jo he pres a la meva vida, 1658 01:17:34,900 --> 01:17:37,220 i jo espero que sigui que meravellós per a tu. 1659 01:17:37,220 --> 01:17:40,090 Així que el que vull fer tot el possible per fer que impressionant per a vostè. 1660 01:17:40,090 --> 01:17:46,590 Vaig a enviar un correu electrònic si vostè està en la meva secció o Noé, i 1661 01:17:46,590 --> 01:17:50,310 va a tractar de concertar amb cada un vostès un temps de fer el check in a l' 1662 01:17:50,310 --> 01:17:53,820 pròxim parell de setmanes, així que pot ser un sentit del que el seu fons és CS, 1663 01:17:53,820 --> 01:17:58,170 I també m'ajudi a adaptar aquests seccions que s'adapten millor a les seves necessitats. 1664 01:17:58,170 --> 01:17:59,740 Així que això és el que tinc alineats. 1665 01:17:59,740 --> 01:18:02,260 Un cop més, ens veiem fora si vostè vol ser-hi. 1666 01:18:02,260 --> 01:18:03,700 Aquesta va ser la segona setmana secció. 1667 01:18:03,700 --> 01:18:04,950 Gràcies nois tant. 1668 01:18:04,950 --> 01:18:09,067