1 00:00:00,000 --> 00:00:02,418 >> [REPRODUCCIÓ DE MÚSICA] 2 00:00:02,418 --> 00:00:10,542 3 00:00:10,542 --> 00:00:12,000 ALLISON Buchholtz-AU: Hola a tots. 4 00:00:12,000 --> 00:00:15,640 Benvingut a la seva primera secció oficial CS50. 5 00:00:15,640 --> 00:00:19,507 Com es pot, veure, aquesta és secció CS50-com, simplement 6 00:00:19,507 --> 00:00:20,840 per aixecar la nostra agenda per avui. 7 00:00:20,840 --> 00:00:23,990 Així que, ¿qui sóc jo, com estic segur ja està tot preguntant. 8 00:00:23,990 --> 00:00:25,514 Jo sóc el teu TF. 9 00:00:25,514 --> 00:00:27,930 Jo no sóc més que un estudiant a l'atzar que està suplantant la seva TF. 10 00:00:27,930 --> 00:00:31,190 >> I jo vaig a anar a través de tipus de seccions tenen fluiran, 11 00:00:31,190 --> 00:00:34,900 expectatives que tenim, recursos, així successivament i així successivament. 12 00:00:34,900 --> 00:00:39,190 Anem a parlar sobre les matrius, ASCII funcions, els arguments de línia de comandes, 13 00:00:39,190 --> 00:00:42,020 i no és d'aquí, però També vaig a estar ajudant 14 00:00:42,020 --> 00:00:45,054 vostè pensa tipus de mitjà el seu pròxim conjunt de processadors per aquesta setmana. 15 00:00:45,054 --> 00:00:46,720 Què estic segur de tot el que podrà apreciar. 16 00:00:46,720 --> 00:00:48,190 17 00:00:48,190 --> 00:00:53,390 >> Així, en primer pregunta-- qui sóc jo, més de la seva exuberant TF aquí. 18 00:00:53,390 --> 00:00:55,390 Sóc Alison Buchholtz-Au. 19 00:00:55,390 --> 00:00:57,970 Aquest és el meu segon any TFing CS50. 20 00:00:57,970 --> 00:01:00,570 Jo també CS51 TF a la primavera. 21 00:01:00,570 --> 00:01:03,930 És possible que vegi de nou allà si vostè decideix prendre-ho. 22 00:01:03,930 --> 00:01:07,370 Jo també sóc un PAF, de manera que qualsevol Freshmen-- i si vostè no és un estudiant de primer any, 23 00:01:07,370 --> 00:01:09,980 aquest és el meu tercer any com un company d'assessorament. 24 00:01:09,980 --> 00:01:13,630 Estic molt bé versat en assessorant sobre la vida i cursos 25 00:01:13,630 --> 00:01:16,549 dins de CS i no dins de CS. 26 00:01:16,549 --> 00:01:18,090 Sóc un Concentrador de Ciència Informàtica. 27 00:01:18,090 --> 00:01:20,800 Sóc estudiant d'últim any a Adams House, millor casa. 28 00:01:20,800 --> 00:01:22,430 29 00:01:22,430 --> 00:01:26,050 I abans que em vaig canviar a CS meu estudiant de segon any de Primavera, 30 00:01:26,050 --> 00:01:27,640 Jo era en realitat un enginyer biomèdic. 31 00:01:27,640 --> 00:01:29,020 Jo anava a anar a l'escola de medicina. 32 00:01:29,020 --> 00:01:30,530 Havia de ser un cirurgià de trauma. 33 00:01:30,530 --> 00:01:33,000 I això té completament canviat des que vaig assumir el CS50. 34 00:01:33,000 --> 00:01:34,250 35 00:01:34,250 --> 00:01:36,310 Vaig prendre el curs de la meva estudiant de segon any de la caiguda. 36 00:01:36,310 --> 00:01:38,920 Va ser la meva primera introducció a CS mai. 37 00:01:38,920 --> 00:01:44,104 Jo vaig ser un dels el 78% de vostès que havia experiència zero entrant, 38 00:01:44,104 --> 00:01:45,520 i que va canviar per complet la meva vida. 39 00:01:45,520 --> 00:01:49,820 I ara estic treballant en Microsoft, i la seva encantadora TF. 40 00:01:49,820 --> 00:01:53,500 I CS50 és probablement un de les millors experiències 41 00:01:53,500 --> 00:01:56,210 que he tingut aquí a Harvard-- tant prendre la classe 42 00:01:56,210 --> 00:01:59,040 i ser capaç d'ajudar ensenyar als estudiants com vostè. 43 00:01:59,040 --> 00:02:01,410 >> Així que estic molt emocionat que ja està tot aquí. 44 00:02:01,410 --> 00:02:04,270 En cas que vostè va entrar tarda, hi ha caramels, 45 00:02:04,270 --> 00:02:07,227 que vostè ha de sentir lliure de venir agafar, o enviar 46 00:02:07,227 --> 00:02:08,560 algú més per prendre per vostè. 47 00:02:08,560 --> 00:02:09,399 està bé. 48 00:02:09,399 --> 00:02:10,440 Jo no vull menjar això. 49 00:02:10,440 --> 00:02:13,350 La meva habitació té prou xocolata, així vostès han de tractar d'acabar això. 50 00:02:13,350 --> 00:02:16,730 Sé que hi ha 100 peces, però com, 4:00 de un dilluns, 51 00:02:16,730 --> 00:02:19,000 Crec que tothom podria utilitzar una mica de sucre. 52 00:02:19,000 --> 00:02:21,750 >> Així que tots els que són oficialment en la meva secció 53 00:02:21,750 --> 00:02:24,700 hauria d'haver aconseguit un correu electrònic de mi amb el meu número de telèfon, 54 00:02:24,700 --> 00:02:29,920 email address-- no dubti a afegir mi en Gchat, no dubti en agregar a Facebook, 55 00:02:29,920 --> 00:02:33,360 i també per a la resta de vostès, vostè em pot enviar per correu electrònic aquí. 56 00:02:33,360 --> 00:02:34,450 Hi ha dos d'H 57 00:02:34,450 --> 00:02:37,090 Tothom sempre fa com dos L's o dues aC 58 00:02:37,090 --> 00:02:38,260 Dos en el cognom H. 59 00:02:38,260 --> 00:02:41,800 En cas contrari, va a rebotar, i Jo no vaig a obtenir les adreces de correu electrònic. 60 00:02:41,800 --> 00:02:46,400 >> Així que no dubti en enviar-me un correu electrònic, posar-se en contacte amb mi en qualsevol moment. 61 00:02:46,400 --> 00:02:51,440 Potser no tornar a dins de 24 minuts, 62 00:02:51,440 --> 00:02:53,760 però prometo tornar en un termini de 24 hores. 63 00:02:53,760 --> 00:02:54,900 64 00:02:54,900 --> 00:02:58,067 Si em dius mitja hora abans el seu conjunt de processadors es deu, vostè ser com, 65 00:02:58,067 --> 00:02:59,650 No tinc idea del que estic fent Allison. 66 00:02:59,650 --> 00:03:00,160 Ayuadame. 67 00:03:00,160 --> 00:03:04,049 Vaig a calmar-se, però al final del dia, 68 00:03:04,049 --> 00:03:07,340 si em dius mitja hora abans el seu conjunt de processadors s'ha sense res escrit, 69 00:03:07,340 --> 00:03:11,570 Jo seré com, bé, potser és el moment d'utilitzar aquesta tarda els dies. 70 00:03:11,570 --> 00:03:15,215 Així que vaig a respondre a tots els de la seva sol·licituds de manera molt oportuna. 71 00:03:15,215 --> 00:03:16,482 72 00:03:16,482 --> 00:03:18,190 El meu telèfon és generalment unit a les meves mans. 73 00:03:18,190 --> 00:03:21,530 Em solen respondre molt més ràpid que 24 hores, 74 00:03:21,530 --> 00:03:25,650 però només puc garantia una resposta de 24 hores. 75 00:03:25,650 --> 00:03:26,580 >> Bé. 76 00:03:26,580 --> 00:03:28,410 Així que per què som aquí? 77 00:03:28,410 --> 00:03:32,160 També, si vostè té preguntes en qualsevol moment, si us plau m'ho saber. 78 00:03:32,160 --> 00:03:32,780 Parlo molt. 79 00:03:32,780 --> 00:03:35,320 Parlo ràpid, però si us plau, no dubti en interrompre. 80 00:03:35,320 --> 00:03:36,980 Em fa espai per respirar també. 81 00:03:36,980 --> 00:03:38,159 82 00:03:38,159 --> 00:03:40,200 Així que les seccions són un temps perquè nosaltres realment només de busseig 83 00:03:40,200 --> 00:03:44,270 a, obtenir algunes mans-en l'experiència, per anar a través dels temes que hem esmentat 84 00:03:44,270 --> 00:03:49,760 a la classe o en els materials d'estudi que recomanem a vostès en línia. 85 00:03:49,760 --> 00:03:52,980 I que en realitat va a anar a través de alguns d'aquests recursos en una mica. 86 00:03:52,980 --> 00:03:54,300 87 00:03:54,300 --> 00:03:57,400 >> Pel que algunes notes sobre el suport secció. 88 00:03:57,400 --> 00:04:00,250 CS50-- una de les coses que fa és una de les meves classes preferides 89 00:04:00,250 --> 00:04:02,510 és la sensació que mai estàs sol. 90 00:04:02,510 --> 00:04:05,430 Comptem amb un personal de més de 100 persones que són aquí per ajudar-lo. 91 00:04:05,430 --> 00:04:08,080 Tenim horari d'oficina De dilluns a dijous. 92 00:04:08,080 --> 00:04:13,230 Així que hi ha tantes persones que estimar la classe tant com ho faig 93 00:04:13,230 --> 00:04:15,750 i que estan realment aquí perquè volen ser aquí. 94 00:04:15,750 --> 00:04:19,390 La majoria de nosaltres som estudiants, i això és com una cinquena classe, a més 95 00:04:19,390 --> 00:04:20,390 per a la resta de la nostra feina. 96 00:04:20,390 --> 00:04:22,723 >> I és molta feina, però ho fem perquè ens encanta, 97 00:04:22,723 --> 00:04:25,600 i realment estimem a ensenyar i ajudar a compartir el nostre entusiasme 98 00:04:25,600 --> 00:04:27,260 per a aquest tema i aquesta classe. 99 00:04:27,260 --> 00:04:28,490 Així que si us plau prengui avantatge. 100 00:04:28,490 --> 00:04:29,370 Vingui a parlar amb nosaltres. 101 00:04:29,370 --> 00:04:33,034 Em sento sol quan els meus estudiants no parlar amb mi, així que si vols, 102 00:04:33,034 --> 00:04:33,950 venir passar l'estona amb mi. 103 00:04:33,950 --> 00:04:35,200 Serà genial. 104 00:04:35,200 --> 00:04:37,400 >> Així secció és òbviament un dels seus més grans coses. 105 00:04:37,400 --> 00:04:41,770 Anem a anar a través de les coses que has après a la conferència, 106 00:04:41,770 --> 00:04:44,100 fer alguns breus exemples quan tenim temps, 107 00:04:44,100 --> 00:04:46,187 i, en general tipus de tenir una idea sobre les coses 108 00:04:46,187 --> 00:04:48,270 vostè ha d'estar pensant sobre d'establir el seu problema. 109 00:04:48,270 --> 00:04:49,540 110 00:04:49,540 --> 00:04:53,591 Shorts-- quantes persones en realitat vist el vídeo de la seva rascada 111 00:04:53,591 --> 00:04:54,090 curt? 112 00:04:54,090 --> 00:04:55,460 113 00:04:55,460 --> 00:04:57,390 Qualsevol persona que em reconeix? 114 00:04:57,390 --> 00:04:59,720 Així que aquests són molt grans. 115 00:04:59,720 --> 00:05:01,210 Definitivament vostè hauria de veure aquests. 116 00:05:01,210 --> 00:05:02,880 Molt treball s'ha posat en ells. 117 00:05:02,880 --> 00:05:06,690 I només estan destinats a ser mida mos peces perquè vostè acaba de veure 118 00:05:06,690 --> 00:05:09,760 durant tres o quatre minuts i obtenir una millor comprensió d'un concepte. 119 00:05:09,760 --> 00:05:11,147 120 00:05:11,147 --> 00:05:12,980 Camini throughs-- com moltes persones s'han vist 121 00:05:12,980 --> 00:05:14,880 les passejades virtuals per les anteriors? 122 00:05:14,880 --> 00:05:16,240 Zamyla és increïble, oi? 123 00:05:16,240 --> 00:05:18,100 Igual que, m'agradaria ser Zamyla vegades. 124 00:05:18,100 --> 00:05:19,650 125 00:05:19,650 --> 00:05:21,640 Així que sens dubte utilitzar els seus passejos virtuals. 126 00:05:21,640 --> 00:05:25,070 Ella va a trencar cap avall en peces petites, de la mida d'un mos. 127 00:05:25,070 --> 00:05:28,079 I quan vostè té aquests enormes especificacions dels seus butlletins de problemes, 128 00:05:28,079 --> 00:05:30,870 que serà realment important ser capaç de simplement trobar un lloc 129 00:05:30,870 --> 00:05:32,600 per començar a treballar i poc a poc a través d'ell. 130 00:05:32,600 --> 00:05:33,610 131 00:05:33,610 --> 00:05:40,260 >> Molt bé, també hem Study50, que és study50.harvard.edu, crec. 132 00:05:40,260 --> 00:05:42,270 Vostè pot simplement Google estudiar, i que va a venir per amunt. 133 00:05:42,270 --> 00:05:45,750 Aquesta és una de les millors recursos que tenim. 134 00:05:45,750 --> 00:05:49,800 És en PowerPoint amb notes i la pràctica de problemes per a vostè 135 00:05:49,800 --> 00:05:52,430 amb solucions que li en realitat es pot caminar a través. 136 00:05:52,430 --> 00:05:57,000 Així que si alguna vegada vols més pràctica, més del que fem en seccions o més 137 00:05:57,000 --> 00:06:00,700 dels seus conjunts de problemes, això és realment un lloc que m'animo a anar. 138 00:06:00,700 --> 00:06:03,590 Va ser construïda l'estiu passat per alguns dels meus molt bons amics. 139 00:06:03,590 --> 00:06:04,480 I és increïble. 140 00:06:04,480 --> 00:06:05,540 141 00:06:05,540 --> 00:06:08,670 De fet, moltes de les diapositives que vaig a estar utilitzant per a la Secció 142 00:06:08,670 --> 00:06:10,190 vindrà de Study50. 143 00:06:10,190 --> 00:06:12,000 >> Així que molts dels TF usar-lo. 144 00:06:12,000 --> 00:06:13,920 I, finalment, com jo esmentat, les hores d'oficina. 145 00:06:13,920 --> 00:06:15,836 Si tens problemes per amb la tasca, vostè és 146 00:06:15,836 --> 00:06:18,270 tenint problemes amb un concepte, arribat a les hores d'oficina. 147 00:06:18,270 --> 00:06:20,190 Anar al principi de la setmana, si pots. 148 00:06:20,190 --> 00:06:23,130 Surti al pati, ja que és una mica lluny. 149 00:06:23,130 --> 00:06:24,780 A ningú li agrada caminar per aquí. 150 00:06:24,780 --> 00:06:27,090 Però és al seu avantatge, perquè llavors estàs 151 00:06:27,090 --> 00:06:29,580 va a tenir tots aquests TFS, [Inaudible] t'envolten. 152 00:06:29,580 --> 00:06:31,920 I sobretot ara, Només un consell, dijous 153 00:06:31,920 --> 00:06:35,310 són molt fred en aquest moment en Mather perquè els seus conjunts de processadors 154 00:06:35,310 --> 00:06:36,577 són pagadores dijous. 155 00:06:36,577 --> 00:06:38,410 I sabent vol utilitzar els seus dies finals encara. 156 00:06:38,410 --> 00:06:40,030 >> Així que si vostè està tenint problemes amb els conceptes, 157 00:06:40,030 --> 00:06:41,780 hi ha un munt de TFS que hi són per ajudar-lo. 158 00:06:41,780 --> 00:06:43,196 Així que vingui a Mather dijous. 159 00:06:43,196 --> 00:06:45,280 Si vols veure, Jo vaig a ser-hi. 160 00:06:45,280 --> 00:06:48,870 Jo normalment estic fent la meva pròpia tasca, perquè ningú vol la meva ajuda. 161 00:06:48,870 --> 00:06:50,260 Així que vine a veure'ns. 162 00:06:50,260 --> 00:06:51,460 163 00:06:51,460 --> 00:06:52,440 >> Reunir-se amb nosaltres a mig camí. 164 00:06:52,440 --> 00:06:55,400 Llavors, com moltes persones han assistit a conferència o el va veure en línia? 165 00:06:55,400 --> 00:06:56,570 166 00:06:56,570 --> 00:06:59,140 Quantes persones van anar a súper secció de la setmana passada? 167 00:06:59,140 --> 00:07:00,171 168 00:07:00,171 --> 00:07:00,670 Refredar. 169 00:07:00,670 --> 00:07:02,190 Això és en realitat un bon nombre. 170 00:07:02,190 --> 00:07:05,425 Quants de vosaltres heu llegit el seu spec per aquesta setmana, pel seu conjunt de processadors? 171 00:07:05,425 --> 00:07:07,081 172 00:07:07,081 --> 00:07:08,461 Ooh, em sento orgullós de vosaltres! 173 00:07:08,461 --> 00:07:09,335 Més dolços per a tots vostès. 174 00:07:09,335 --> 00:07:11,070 175 00:07:11,070 --> 00:07:13,280 >> Bé, així que el que volem dir "Trobar-nos a mig camí", és 176 00:07:13,280 --> 00:07:16,440 que l'article és realment només serà molt útil per a vostè 177 00:07:16,440 --> 00:07:19,810 si vens en després d'haver llegit el seu especificació per a la seva conjunt de processadors. 178 00:07:19,810 --> 00:07:23,859 Perquè quan vaig a través d'una visió general de les coses que vostè ha de mirar cap a fora per, 179 00:07:23,859 --> 00:07:25,650 que no farà tant sentit si 180 00:07:25,650 --> 00:07:28,358 no saben el que estableix el seu problema es va a demanar que facis. 181 00:07:28,358 --> 00:07:29,020 182 00:07:29,020 --> 00:07:32,590 >> Si no ve a la secció, òbviament, No puc ser tan útil per a vostè. 183 00:07:32,590 --> 00:07:36,600 No vaig a prendre com una cosa personal si no véns a la meva secció en aquest moment, 184 00:07:36,600 --> 00:07:38,570 però sens dubte el que hauria. 185 00:07:38,570 --> 00:07:40,090 Si no pot, veure en línia. 186 00:07:40,090 --> 00:07:41,230 187 00:07:41,230 --> 00:07:42,519 Ells hi són per una raó. 188 00:07:42,519 --> 00:07:43,560 El meu serà allà mateix. 189 00:07:43,560 --> 00:07:44,187 190 00:07:44,187 --> 00:07:47,270 Com t'adones, que estem sent gravada, pel que serà just aquí per a vosaltres. 191 00:07:47,270 --> 00:07:49,110 192 00:07:49,110 --> 00:07:51,570 A més, va a lectures-- això és, òbviament, 193 00:07:51,570 --> 00:07:53,790 on vostè està rebent el inici de la seva material aquí. 194 00:07:53,790 --> 00:07:57,430 Així que vaig a tractar de dubte ajudar tant com puc, 195 00:07:57,430 --> 00:07:58,840 però jo només puc complir fins ara. 196 00:07:58,840 --> 00:08:01,220 Has de tipus de la nostra trobada a mig camí. 197 00:08:01,220 --> 00:08:04,050 >> Grading-- així, tots vostès que va aconseguir un correu electrònic de mi, 198 00:08:04,050 --> 00:08:05,445 tu ets la meva secció oficial. 199 00:08:05,445 --> 00:08:06,470 200 00:08:06,470 --> 00:08:08,120 Vaig a estar amb una llei de les seves conjunts de processadors. 201 00:08:08,120 --> 00:08:12,870 I jo només vull dir, una cosa que que realment ha de prestar atenció a 202 00:08:12,870 --> 00:08:13,820 són els comentaris. 203 00:08:13,820 --> 00:08:17,390 Els comentaris són sovint més útil que la puntuació real que li donem. 204 00:08:17,390 --> 00:08:19,890 I els comentaris són en realitat on pas gran part del meu temps 205 00:08:19,890 --> 00:08:20,770 quan estic de qualificacions. 206 00:08:20,770 --> 00:08:22,700 Així que li agrairia que si els llegeix. 207 00:08:22,700 --> 00:08:26,990 I són realment com va per aprendre més sobre el disseny i l'estil 208 00:08:26,990 --> 00:08:29,860 i les coses que són un poc menys curta i seca. 209 00:08:29,860 --> 00:08:31,770 >> Així que en realitat prestar atenció a aquests comentaris. 210 00:08:31,770 --> 00:08:34,720 Si vostè té preguntes sobre ells, o preguntes sobre la seva puntuació, 211 00:08:34,720 --> 00:08:37,620 si us plau, venir a parlar amb mi ja sigui abans de la secció, 212 00:08:37,620 --> 00:08:41,039 Probablement estaré passant l'estona al vestíbul, o després. 213 00:08:41,039 --> 00:08:43,559 Si voleu programar un-a-un reunions sobre com 214 00:08:43,559 --> 00:08:46,100 vostè pot ajudar a millorar més tard conjunts de problemes, només m'ho saber. 215 00:08:46,100 --> 00:08:47,520 216 00:08:47,520 --> 00:08:49,750 >> I llavors només un parell de consells per a vostès. 217 00:08:49,750 --> 00:08:53,110 Així que una de les coses més grans Jo sempre insisteixo al meu secció 218 00:08:53,110 --> 00:08:57,700 quan vostè està aprenent com codificar és escriure les coses en paper primer. 219 00:08:57,700 --> 00:09:01,080 Si vostè té un pla de joc per a on el codi ha d'anar 220 00:09:01,080 --> 00:09:03,230 i el que necessita per fer i es descompon 221 00:09:03,230 --> 00:09:06,000 en petits trossos de pseudocodi codi que has escrit a terme, 222 00:09:06,000 --> 00:09:09,780 seràs menys propensos a cometre errors de sintaxi 223 00:09:09,780 --> 00:09:12,355 o crear un bucle que si no té una persona. 224 00:09:12,355 --> 00:09:14,064 225 00:09:14,064 --> 00:09:15,980 Si vostè sap on ets anar global, ets 226 00:09:15,980 --> 00:09:19,764 menys probable que aquests diminuts errors que de vegades et porta 227 00:09:19,764 --> 00:09:22,555 hores per arreglar, perquè vostè és com, on m'estic perdent aquest suport? 228 00:09:22,555 --> 00:09:23,580 229 00:09:23,580 --> 00:09:27,420 >> En aquesta nota, si us plau, utilitzeu Style50. 230 00:09:27,420 --> 00:09:28,820 231 00:09:28,820 --> 00:09:31,590 Especialment quan estàs anar a les hores d'oficina, 232 00:09:31,590 --> 00:09:34,850 si el seu codi és tot canviat de banda, 233 00:09:34,850 --> 00:09:37,740 és política de curs que podem dir, arreglar 234 00:09:37,740 --> 00:09:41,990 pel que sembla que diu Style50 el que hauria, i després l'ajudarem. 235 00:09:41,990 --> 00:09:43,830 Així que va a fer la seva vida més fàcil. 236 00:09:43,830 --> 00:09:45,030 Es va a fer la vida més fàcil. 237 00:09:45,030 --> 00:09:46,000 Tothom està feliç. 238 00:09:46,000 --> 00:09:47,290 Tothom rep millors qualificacions. 239 00:09:47,290 --> 00:09:48,760 ¿No és això el que tots volem? 240 00:09:48,760 --> 00:09:50,420 241 00:09:50,420 --> 00:09:53,860 >> Així que escriure coses en un paper abans de Alguna vegada es toca l'ordinador. 242 00:09:53,860 --> 00:09:57,540 Parlar les coses en un nivell alt, i assegureu-vos que sap on va. 243 00:09:57,540 --> 00:09:59,940 I si no està segur, seure amb algú 244 00:09:59,940 --> 00:10:03,340 i caminar a través de pas a pas el que se suposa que el codi per fer-ho. 245 00:10:03,340 --> 00:10:07,940 I nou de cada 10 vegades, vostè serà com, oh, em vaig oblidar d'una condició if 246 00:10:07,940 --> 00:10:12,420 o es va oblidar un punt i coma aquí o Estic actualitzant aquesta equivocat variable. 247 00:10:12,420 --> 00:10:15,740 Així que aquests són els meus consells per a l'èxit. 248 00:10:15,740 --> 00:10:19,820 >> Així que ja que prop de la meitat dels que es vegi com vostè va assistir súper secció, 249 00:10:19,820 --> 00:10:24,080 Jo només vaig a molt anar breument a través dels bucles, 250 00:10:24,080 --> 00:10:26,650 que no estaven en la nostra agenda original. 251 00:10:26,650 --> 00:10:28,190 Però són realment importants. 252 00:10:28,190 --> 00:10:30,250 I així em vaig a classe de velocitat a través dels 253 00:10:30,250 --> 00:10:32,860 abans d'entrar a la nostra secció real. 254 00:10:32,860 --> 00:10:36,269 Abans de fer-ho, hi ha qualsevol preguntes-- logísticament, 255 00:10:36,269 --> 00:10:38,060 personalment, és allà alguna cosa més que vulguis 256 00:10:38,060 --> 00:10:40,990 saber sobre mi o sobre secció o classe en general? 257 00:10:40,990 --> 00:10:43,195 258 00:10:43,195 --> 00:10:43,880 Tot bé? 259 00:10:43,880 --> 00:10:45,300 Acceptar, fresc. 260 00:10:45,300 --> 00:10:46,781 261 00:10:46,781 --> 00:10:47,280 Preciós. 262 00:10:47,280 --> 00:10:50,071 >> Així loops-- vosaltres tots hem reconèixer aquestes peces a partir de zero. 263 00:10:50,071 --> 00:10:51,310 264 00:10:51,310 --> 00:10:55,220 Així que els bucles són bàsicament només un camí perquè nosaltres fem alguna cosa 265 00:10:55,220 --> 00:10:58,900 algunes vegades, alguns repetits acció sobre la base d'alguns condicional. 266 00:10:58,900 --> 00:11:00,140 267 00:11:00,140 --> 00:11:02,090 Així que tenim tres tipus diferents. 268 00:11:02,090 --> 00:11:04,860 Tenim bucle for, while i do-while. 269 00:11:04,860 --> 00:11:06,430 270 00:11:06,430 --> 00:11:11,320 >> Així que per loops-- només tenim una molt disposició general aquí d'un bucle for. 271 00:11:11,320 --> 00:11:16,110 I això és molt bo per quan se sap com moltes vegades alguna cosa ha d'executar. 272 00:11:16,110 --> 00:11:17,040 273 00:11:17,040 --> 00:11:18,790 Quan parlem de la altres bucles, podràs 274 00:11:18,790 --> 00:11:20,650 veure per què això és una distinció important. 275 00:11:20,650 --> 00:11:22,530 Però per als bucles són una mica conjunt. 276 00:11:22,530 --> 00:11:24,590 Vostè sap que vostè pot calcular el nombre 277 00:11:24,590 --> 00:11:29,230 o vostè sap el nombre de vegades que vol això repeteix al començament. 278 00:11:29,230 --> 00:11:32,220 >> Així que si vostè veu aquí, tenir només caràcter general 279 00:11:32,220 --> 00:11:34,480 del marc d'esquelet per a un bucle for aquí. 280 00:11:34,480 --> 00:11:38,080 Així que per a la inicialització, aquí és on s'inicialitzen les variables. 281 00:11:38,080 --> 00:11:41,915 Amb Mario, estic segur que vostès van fer alguna cosa així com int i és igual a 0. 282 00:11:41,915 --> 00:11:42,920 283 00:11:42,920 --> 00:11:44,710 Aquí és on que anava a succeir en blau. 284 00:11:44,710 --> 00:11:48,290 Vostè té la seva condició, que és el que es comprova cada vegada. 285 00:11:48,290 --> 00:11:52,410 Si aquesta condició és certa, llavors la resta del codi s'executa. 286 00:11:52,410 --> 00:11:54,749 Després es va a córrer una altra vegada-- i preguntar. 287 00:11:54,749 --> 00:11:57,290 I després tenim l'actualització, on està actualitzant la variable. 288 00:11:57,290 --> 00:12:01,410 Així que, de nou, amb com Mario, estic segur vostès van fer alguna cosa com i plus plus. 289 00:12:01,410 --> 00:12:04,640 Així que cada vegada que el bucle vaig córrer, em vaig actualitzar així 290 00:12:04,640 --> 00:12:09,370 que quan vam marxar contra alguna condició, que estava canviant. 291 00:12:09,370 --> 00:12:12,570 >> Perquè si només tenir una variable estàtica, 292 00:12:12,570 --> 00:12:15,567 si s'executa la primera vegada, és només va a executar infinitament. 293 00:12:15,567 --> 00:12:18,025 Així que cal assegurar-se que actualitzar la variable correctament. 294 00:12:18,025 --> 00:12:19,350 295 00:12:19,350 --> 00:12:23,890 I també tenim només una representació visual allà. 296 00:12:23,890 --> 00:12:24,930 Tothom bé? 297 00:12:24,930 --> 00:12:25,630 Per bucles. 298 00:12:25,630 --> 00:12:27,540 Hi hauria d'haver vist aquests en el seu conjunt de processadors. 299 00:12:27,540 --> 00:12:28,840 Refredar. 300 00:12:28,840 --> 00:12:31,870 >> Així que aquí és només un exemple fàcil. 301 00:12:31,870 --> 00:12:32,860 Imprimir Aquesta és CS50! 302 00:12:32,860 --> 00:12:33,360 10 vegades. 303 00:12:33,360 --> 00:12:34,850 304 00:12:34,850 --> 00:12:37,906 I així tenim la nostra inicialització, com veiem allà, amb int i 305 00:12:37,906 --> 00:12:41,280 és igual a 0, per a i és menor de 10, i jo i més. 306 00:12:41,280 --> 00:12:43,090 307 00:12:43,090 --> 00:12:44,540 I que va a imprimir que 10 vegades. 308 00:12:44,540 --> 00:12:46,230 309 00:12:46,230 --> 00:12:56,781 >> Així, mentre que els bucles while són loops-- genial quan no ho fa necessàriament 310 00:12:56,781 --> 00:12:59,530 ha de saber quantes vegades és va a actualitzar en el principi. 311 00:12:59,530 --> 00:13:00,640 312 00:13:00,640 --> 00:13:02,580 Només tens algun condició que es comprova. 313 00:13:02,580 --> 00:13:09,550 I això podria ser alguna cosa així com Rato-- anem a prendre un exemple del seu conjunt de processadors. 314 00:13:09,550 --> 00:13:12,540 Si Mario, intenta entrada d'un nombre negatiu. 315 00:13:12,540 --> 00:13:13,270 Dreta? 316 00:13:13,270 --> 00:13:15,460 Se suposava que tornar a impulsar seu usuari. 317 00:13:15,460 --> 00:13:20,890 Així que es pot dir, bé, si les entrades de l'usuari una mica menor que zero, re-prompt 318 00:13:20,890 --> 00:13:21,390 ells. 319 00:13:21,390 --> 00:13:23,890 I estic segur que podria tenir estat una cosa que alguns de vostès 320 00:13:23,890 --> 00:13:24,660 utilitzat en el codi. 321 00:13:24,660 --> 00:13:26,270 >> Així que és una cosa simple. 322 00:13:26,270 --> 00:13:28,490 Vostè té temps, alguns condicional que es comprova 323 00:13:28,490 --> 00:13:30,460 cada vegada que el codi va a executar. 324 00:13:30,460 --> 00:13:32,660 Si s'avalua com a veritable, l'executem. 325 00:13:32,660 --> 00:13:33,820 En cas contrari, no ho fem. 326 00:13:33,820 --> 00:13:35,650 I el que és realment alguna cosa em important-- 327 00:13:35,650 --> 00:13:38,155 Crec que David va parlar de en lecture-- són les claus. 328 00:13:38,155 --> 00:13:40,760 329 00:13:40,760 --> 00:13:42,930 Qualsevol que sigui de dins de la claus és el que s'executa. 330 00:13:42,930 --> 00:13:45,850 Si s'oblida d'aquells claus, que només va 331 00:13:45,850 --> 00:13:48,800 per ser la línia directament després que s'executa el temps. 332 00:13:48,800 --> 00:13:51,040 >> Així que si vostè té tres coses que se suposen 333 00:13:51,040 --> 00:13:54,020 a passar quan aquest condició s'avalua com a veritable, 334 00:13:54,020 --> 00:13:58,040 i vostè no té aquests suports, només el primer que va a succeir. 335 00:13:58,040 --> 00:14:01,510 Així de ser molt conscient on poses els teus claus. 336 00:14:01,510 --> 00:14:04,880 Si vostè s'enganxa amb Style50, Això definitivament l'ajudarà. 337 00:14:04,880 --> 00:14:06,220 338 00:14:06,220 --> 00:14:06,760 Refredar. 339 00:14:06,760 --> 00:14:10,835 >> Així que aquesta és un compte regressiva de 10 a zero. 340 00:14:10,835 --> 00:14:12,380 341 00:14:12,380 --> 00:14:16,210 I com es pot veure aquí, inicialitzem alguns comptador fora d'ella. 342 00:14:16,210 --> 00:14:19,250 Una cosa que és diferent és no estem inicialitzar la nostra variable 343 00:14:19,250 --> 00:14:20,300 dins del nostre bucle while. 344 00:14:20,300 --> 00:14:22,150 S'inicialitza fora d'ella. 345 00:14:22,150 --> 00:14:25,480 Estem simplement posant el condicionar per al nostre temps. 346 00:14:25,480 --> 00:14:28,630 Així que en aquest cas, és temps recompte és més gran que zero. 347 00:14:28,630 --> 00:14:35,134 I és la impressió del que és el nostre recompte, i després ens decrementamos la nostra variable. 348 00:14:35,134 --> 00:14:36,800 I això és també una altra cosa a notar. 349 00:14:36,800 --> 00:14:40,440 La nostra actualització no es produeix dins aquesta primera part del bucle while. 350 00:14:40,440 --> 00:14:44,255 En realitat va a succeir dins de les abraçadores, el cos del seu text. 351 00:14:44,255 --> 00:14:46,820 352 00:14:46,820 --> 00:14:51,860 >> Així que, mentre loops-- do-while són ideals per a la validació d'usuari. 353 00:14:51,860 --> 00:14:54,820 Així que alguns de vostès podrien tenir També s'utilitza això en el seu conjunt de processadors. 354 00:14:54,820 --> 00:14:59,960 Es pot dir, fer, com, preguntar a l'usuari per a l'entrada. 355 00:14:59,960 --> 00:15:04,690 I llavors, mentre que, de la mateixa manera que, la d'entrada és menor que algun nombre. 356 00:15:04,690 --> 00:15:10,700 >> Així que per a un cas explícit amb Mario, que seria fer printf, introdueixi un sencer, 357 00:15:10,700 --> 00:15:13,820 i una mica més sencer és igual getInt. 358 00:15:13,820 --> 00:15:17,060 I llavors va a realitat executar aquest codi primer. 359 00:15:17,060 --> 00:15:19,120 Segur que té algun tipus de nombre enter. 360 00:15:19,120 --> 00:15:23,380 I llavors es podria dir que, mentre que que sencer és menor que zero. 361 00:15:23,380 --> 00:15:26,120 Llavors, què es va a fer és que és va a executar almenys una vegada. 362 00:15:26,120 --> 00:15:27,536 Es va a comprovar la condició. 363 00:15:27,536 --> 00:15:29,690 Si la condició és cert, que va a córrer de nou. 364 00:15:29,690 --> 00:15:32,900 >> El mateix passa amb-bucles while són gran per a la validació de l'usuari, 365 00:15:32,900 --> 00:15:36,770 perquè vostè sap el codi es va a executar, com a mínim, 366 00:15:36,770 --> 00:15:39,720 una vegada, mentre que amb mentre que els bucles, no estàs 367 00:15:39,720 --> 00:15:41,630 garanteix que és va a executar un cop. 368 00:15:41,630 --> 00:15:45,330 Es va a verificar l'estat primer i després decidir a executar-lo, 369 00:15:45,330 --> 00:15:48,350 mentre que un do-while voluntat executar el codi primer 370 00:15:48,350 --> 00:15:51,110 i després comprovar per veure si que necessita per repetir-la. 371 00:15:51,110 --> 00:15:52,985 Això distinció donar sentit a tot el món? 372 00:15:52,985 --> 00:15:53,680 373 00:15:53,680 --> 00:15:54,180 Okay. 374 00:15:54,180 --> 00:15:55,651 375 00:15:55,651 --> 00:15:56,150 Refredar. 376 00:15:56,150 --> 00:15:57,380 377 00:15:57,380 --> 00:15:59,800 >> Així que en aquest cas, això és una espècie del que estava parlant, 378 00:15:59,800 --> 00:16:02,210 aquesta re-indicacions fins que obtenir un nombre positiu. 379 00:16:02,210 --> 00:16:05,060 Així que sabem que printf "Introduïu un nombre positiu" 380 00:16:05,060 --> 00:16:08,720 i en realitat demanant que d'entrada passarà almenys una vegada. 381 00:16:08,720 --> 00:16:12,650 Si l'usuari és el mal i manté introduir un nombre negatiu, que 382 00:16:12,650 --> 00:16:14,210 sap quantes vegades es va a executar. 383 00:16:14,210 --> 00:16:17,500 Però aquest codi està garantida per executar almenys una vegada. 384 00:16:17,500 --> 00:16:20,040 I és per això que és genial per a l'entrada de validació. 385 00:16:20,040 --> 00:16:22,300 I que utilitzarà que una mica. 386 00:16:22,300 --> 00:16:23,870 387 00:16:23,870 --> 00:16:25,830 >> Molt bé, alguna pregunta fins ara? 388 00:16:25,830 --> 00:16:27,080 389 00:16:27,080 --> 00:16:28,030 Estem tots bé? 390 00:16:28,030 --> 00:16:29,513 Estic parlant massa ràpid? 391 00:16:29,513 --> 00:16:30,520 392 00:16:30,520 --> 00:16:31,130 Estem bé? 393 00:16:31,130 --> 00:16:31,630 Okay. 394 00:16:31,630 --> 00:16:32,960 395 00:16:32,960 --> 00:16:33,800 Impressionant 396 00:16:33,800 --> 00:16:35,841 >> Així que anem a seguir endavant i parlar sobre les matrius. 397 00:16:35,841 --> 00:16:36,660 398 00:16:36,660 --> 00:16:37,600 Refredar. 399 00:16:37,600 --> 00:16:40,700 Així arrays són bàsicament només estructures de dades 400 00:16:40,700 --> 00:16:43,260 que ens permeten emmagatzemar coses que són del mateix tipus. 401 00:16:43,260 --> 00:16:47,920 Així que si alguna vegada té una matriu, que és ja sigui només tindrà ints 402 00:16:47,920 --> 00:16:51,590 o que només tindrà flotadors o que només tindrà caràcters. 403 00:16:51,590 --> 00:16:55,440 No va a tenir un int amb un char amb un flotador amb un doble. 404 00:16:55,440 --> 00:16:56,850 Una cosa. 405 00:16:56,850 --> 00:17:00,810 Les matrius són només una mida, o són només un tipus. 406 00:17:00,810 --> 00:17:05,679 >> Així que aquí tenim una matriu de mida 3 amb tres sencers en el mateix. 407 00:17:05,679 --> 00:17:07,970 Podrien flotadors, però estem dirà que són sencers. 408 00:17:07,970 --> 00:17:09,310 409 00:17:09,310 --> 00:17:16,970 Així que una cosa és adonar-se que les matrius són una mida de conjunt al inicialitzar 410 00:17:16,970 --> 00:17:22,285 ells, i ells no estan easily-- ja que tots vostès són menys còmodes, 411 00:17:22,285 --> 00:17:25,034 només ha de pensar en ells com no ser capaç d'estendre en grandària. 412 00:17:25,034 --> 00:17:26,119 413 00:17:26,119 --> 00:17:28,740 No obstant això gran que es va proposar la seva matriu en el principi, 414 00:17:28,740 --> 00:17:31,070 aquest és la grandària que va per quedar-se, perquè les matrius 415 00:17:31,070 --> 00:17:33,070 són blocs continus de memòria. 416 00:17:33,070 --> 00:17:34,007 417 00:17:34,007 --> 00:17:35,840 I quan vostès nois es posen en una mica més 418 00:17:35,840 --> 00:17:40,820 de com la memòria és realment distribuïda en discos i en el munt i la pila, 419 00:17:40,820 --> 00:17:42,220 que farà una mica més de sentit. 420 00:17:42,220 --> 00:17:48,310 >> Però vostè podria pensar en com, és només una fila d'espais en el disc. 421 00:17:48,310 --> 00:17:52,540 I no es pot garantir que no hi ha serà espai lliure després d'ella. 422 00:17:52,540 --> 00:17:55,290 Vostè podria inicialitzar una matriu de tres i després potser vostè 423 00:17:55,290 --> 00:17:59,190 inicialitzar una altra sèrie de cinc més tard, i està just després d'això. 424 00:17:59,190 --> 00:18:04,000 Així que si vostè fos a anar més enllà de punt tres en què primer array, 425 00:18:04,000 --> 00:18:06,370 vostè estaria escrivint sobre una altra cosa. 426 00:18:06,370 --> 00:18:10,390 Així matrius són-- per a vostès, només pensar en ells com una grandària fixa. 427 00:18:10,390 --> 00:18:12,700 428 00:18:12,700 --> 00:18:16,890 >> Així que la creació d'un array-- vas a haver de fer això una mica. 429 00:18:16,890 --> 00:18:18,240 430 00:18:18,240 --> 00:18:22,080 Així que de la mateixa manera que tenim un estructura general per a la nostra per bucles, 431 00:18:22,080 --> 00:18:24,910 tenim un bon general, estructura de la nostra matriu. 432 00:18:24,910 --> 00:18:28,430 Com que són d'un tipus, tot el elements d'un conjunt són d'un tipus, 433 00:18:28,430 --> 00:18:30,950 que necessita per inicialitzar el que tipus és. 434 00:18:30,950 --> 00:18:33,804 >> Així que, com veus aquí, tenim una petit i agradable tipus de dades suport. 435 00:18:33,804 --> 00:18:35,970 Així que si estem creant un int matriu, que serà int. 436 00:18:35,970 --> 00:18:38,830 Si estem creant un char matriu, que serà carbó. 437 00:18:38,830 --> 00:18:41,890 Si estem creant una cadena matriu, que serà de cadena. 438 00:18:41,890 --> 00:18:45,140 I a continuació, el nom de la seva matriu, el que li agradaria que fos. 439 00:18:45,140 --> 00:18:51,750 Així que potser és resultats de les proves o potser és estudiants o potser és el caramel. 440 00:18:51,750 --> 00:18:54,440 Decideixi el que decideixi el nom de la seva matriu, que és el que serà. 441 00:18:54,440 --> 00:18:57,260 >> I a continuació, entre parèntesis, se li tenir la mida que voleu. 442 00:18:57,260 --> 00:19:01,350 Així que, ¿estem emmagatzemant 10 estudiants o estem emmagatzemant 15 tipus de dolços? 443 00:19:01,350 --> 00:19:03,200 444 00:19:03,200 --> 00:19:03,920 El que no. 445 00:19:03,920 --> 00:19:06,830 Així que en el nostre exemple aquí, estem creant una matriu 446 00:19:06,830 --> 00:19:10,100 de la mida de tres, el que vostès veure aquí a la dreta. 447 00:19:10,100 --> 00:19:11,350 448 00:19:11,350 --> 00:19:15,990 I quan ens inicialitzem , Tot s'ajusta a zero. 449 00:19:15,990 --> 00:19:18,970 Així que és només pensava així com una pissarra en blanc. 450 00:19:18,970 --> 00:19:22,550 Tenim tots aquests espais, tenim tot aquestes caixes podríem posar els nostres dades a, 451 00:19:22,550 --> 00:19:25,530 però són només en blanc Sent de moment. 452 00:19:25,530 --> 00:19:28,700 >> Així que si volem realment assignar aquests valors, 453 00:19:28,700 --> 00:19:33,050 ho fem com a mostra just a sota d'aquí. 454 00:19:33,050 --> 00:19:39,170 Així que tens el que el nom del seu matriu és i llavors, ¿quin índex que desitja. 455 00:19:39,170 --> 00:19:43,070 Així que l'índex només es refereix a, com, què ranura que estem veient. 456 00:19:43,070 --> 00:19:47,830 I una cosa important a notar és que les matrius estan indexats a zero. 457 00:19:47,830 --> 00:19:53,160 Així que si volem que el primer espai a la memòria de la nostra gamma, que serà zero. 458 00:19:53,160 --> 00:19:54,740 Si volem que el segon, que serà un. 459 00:19:54,740 --> 00:19:56,198 Si volem que el tercer, que és de dos. 460 00:19:56,198 --> 00:19:57,820 Així successivament i així successivament. 461 00:19:57,820 --> 00:20:02,130 >> Que és també per què, convencionalment, quan ho fem per loops-- estic segur 462 00:20:02,130 --> 00:20:05,030 vostès es pregunten, ¿per què comencem a 0 enfront d'1? 463 00:20:05,030 --> 00:20:09,909 I això és perquè quan fem la transició en l'ús de matrius, s'assigna correctament. 464 00:20:09,909 --> 00:20:11,700 Així que si vostè vol iterar en una matriu, que 465 00:20:11,700 --> 00:20:14,830 té molt més sentit faig i és igual a 0, ja que 466 00:20:14,830 --> 00:20:17,940 saben que correspondrà a la primera taca a la memòria. 467 00:20:17,940 --> 00:20:18,990 468 00:20:18,990 --> 00:20:19,990 Tothom bé amb això? 469 00:20:19,990 --> 00:20:21,060 470 00:20:21,060 --> 00:20:21,560 Refredar. 471 00:20:21,560 --> 00:20:26,240 >> I després en el fons aquí és només una altra manera de inicialitzar una matriu. 472 00:20:26,240 --> 00:20:29,590 Vostè encara té la seva tipus de dades i el nom, 473 00:20:29,590 --> 00:20:31,960 però en comptes de realitat posar una mida d'allà, 474 00:20:31,960 --> 00:20:33,830 vostè pot fer suports buits. 475 00:20:33,830 --> 00:20:36,350 I després, amb aquests arrissat tirants en la part inferior, 476 00:20:36,350 --> 00:20:40,270 vostè pot simplement entrada de les dades que que desitja separats per comes. 477 00:20:40,270 --> 00:20:43,070 I que ho farà de forma automàtica dic, està bé, jo veig 478 00:20:43,070 --> 00:20:47,300 que té tres coses en aquests aparells. 479 00:20:47,300 --> 00:20:51,410 Així que sé que he de assignar 3 blocs de memòria i després els emmagatzemen. 480 00:20:51,410 --> 00:20:55,300 481 00:20:55,300 --> 00:21:01,670 >> Així que la primera versió que podria utilitzar si vostè està demanant el seu usuari introduir 482 00:21:01,670 --> 00:21:04,770 valors, perquè pugui iterar a través de la matriu 483 00:21:04,770 --> 00:21:07,660 i ask-- aconseguir una mica de int a l'entrada d'ells. 484 00:21:07,660 --> 00:21:10,500 Si coneixes als valors per endavant, que té molt més sentit 485 00:21:10,500 --> 00:21:12,110 utilitzar el segon camí. 486 00:21:12,110 --> 00:21:17,270 Però en la majoria dels casos, podries no estar segur el que aquests valors seran. 487 00:21:17,270 --> 00:21:19,060 488 00:21:19,060 --> 00:21:19,560 Refredar. 489 00:21:19,560 --> 00:21:20,393 Alguna altra pregunta? 490 00:21:20,393 --> 00:21:21,206 491 00:21:21,206 --> 00:21:21,705 Molt bé. 492 00:21:21,705 --> 00:21:25,960 493 00:21:25,960 --> 00:21:30,370 >> Així accés elements-- de manera que un de les grans coses sobre les matrius 494 00:21:30,370 --> 00:21:33,310 és que són a l'atzar accés, el que significa que vostè 495 00:21:33,310 --> 00:21:36,010 no haver de mirar a través de cada bloc. 496 00:21:36,010 --> 00:21:38,150 Si vostè sap que vostè voler el que està en el bloc dos, 497 00:21:38,150 --> 00:21:40,820 vostè pot dir, dóna'm bloc de dues. 498 00:21:40,820 --> 00:21:44,160 I és per això que aquests índexs són tan importants, 499 00:21:44,160 --> 00:21:46,220 i això és el que realment accedir-hi. 500 00:21:46,220 --> 00:21:50,660 Així que en aquest cas, com hem vist abans, quan estàvem assignant valors, en el qual 501 00:21:50,660 --> 00:21:55,360 abans, teníem el nom i la Índex volíem accés, oi? 502 00:21:55,360 --> 00:21:59,370 Així que de la mateixa manera, això és tot el que fer per tirar realment que fos dades. 503 00:21:59,370 --> 00:22:02,940 Tenim el nom i nosaltres tenir l'índex que volem. 504 00:22:02,940 --> 00:22:06,710 >> Així doncs, en aquest cas, el bucle for aquí baix a la part inferior, a ningú 505 00:22:06,710 --> 00:22:09,060 sap el que està fent, el que seria imprimir? 506 00:22:09,060 --> 00:22:13,771 507 00:22:13,771 --> 00:22:14,270 Mmhmm? 508 00:22:14,270 --> 00:22:17,790 509 00:22:17,790 --> 00:22:18,520 Exactament. 510 00:22:18,520 --> 00:22:20,130 Així que sí, és només a través de la iteració. 511 00:22:20,130 --> 00:22:23,410 i és igual a zero-- podem caminar a través del codi només ràpidament. 512 00:22:23,410 --> 00:22:26,680 i és igual a zero, i és menor de tres en aquest moment, no? 513 00:22:26,680 --> 00:22:27,780 Així que comprova cap a fora. 514 00:22:27,780 --> 00:22:33,370 I diem, OK, impressió f El que està en la temperatura i. 515 00:22:33,370 --> 00:22:37,990 I és zero aquí quan per primera vegada iteració, per la qual cosa anem a aquest primer punt, 516 00:22:37,990 --> 00:22:40,840 i diem, OK, 65 és el nombre que volem imprimir. 517 00:22:40,840 --> 00:22:43,570 Així que va imprimir 65 i després fer una nova línia. 518 00:22:43,570 --> 00:22:46,550 Vaig a actualitzar, pel que imprimeix 87. 519 00:22:46,550 --> 00:22:48,780 En ell s'actualitza de nou, i que va imprimir 30. 520 00:22:48,780 --> 00:22:49,810 521 00:22:49,810 --> 00:22:50,630 Tothom fresc? 522 00:22:50,630 --> 00:22:51,630 523 00:22:51,630 --> 00:22:52,130 Impressionant. 524 00:22:52,130 --> 00:22:54,340 525 00:22:54,340 --> 00:22:54,840 >> Bé. 526 00:22:54,840 --> 00:22:57,710 Així que aquí és una espècie de El que estava dient com 527 00:22:57,710 --> 00:23:00,020 vostè pot fer un seguiment de puntuació d'algú i per què 528 00:23:00,020 --> 00:23:03,300 que faria servir el primer manera de inicialitzar 529 00:23:03,300 --> 00:23:04,890 en lloc que el segon camí. 530 00:23:04,890 --> 00:23:06,620 I això només va a través. 531 00:23:06,620 --> 00:23:08,945 I noti que tenim una mida de classe de 30. 532 00:23:08,945 --> 00:23:10,690 533 00:23:10,690 --> 00:23:15,770 I estem inicialitzar aquest matriu d'enters que és de mida 30. 534 00:23:15,770 --> 00:23:18,070 I llavors estem iterant a través i estem 535 00:23:18,070 --> 00:23:20,910 demanar a l'usuari que introdueixi qualificacions de cadascuna d'elles 536 00:23:20,910 --> 00:23:23,700 i després assignar a un lloc específic en la memòria 537 00:23:23,700 --> 00:23:24,860 en algun lloc d'aquesta matriu. 538 00:23:24,860 --> 00:23:26,700 539 00:23:26,700 --> 00:23:27,890 Fresc? 540 00:23:27,890 --> 00:23:29,650 Això té sentit per a tothom? 541 00:23:29,650 --> 00:23:30,150 Mmhmm? 542 00:23:30,150 --> 00:23:32,910 543 00:23:32,910 --> 00:23:40,360 >> Així hashtag definir la mida de classe 30 és una directiva de preprocessador, 544 00:23:40,360 --> 00:23:43,780 que només vol dir que té gets-- a veure com el procés de compilació. 545 00:23:43,780 --> 00:23:47,595 Vostè pot pensar-hi com una variable global. 546 00:23:47,595 --> 00:23:49,260 547 00:23:49,260 --> 00:23:53,030 La forma en què ho fem és typically-- permet el seu codi 548 00:23:53,030 --> 00:23:54,770 de canviar més fàcilment. 549 00:23:54,770 --> 00:23:59,480 Així que diguem que la nostra mida de la classe de sobte va del 30 al 15, 550 00:23:59,480 --> 00:24:03,930 si no hagués definit d'aquesta manera, ho faria haver d'anar a través de tot el meu programa 551 00:24:03,930 --> 00:24:07,420 i canviar tots els casos, de 30 a 15. 552 00:24:07,420 --> 00:24:11,590 Però amb això, tinc l'oportunitat de canviar un lloc, i tota la resta canvia. 553 00:24:11,590 --> 00:24:14,930 >> Si alguna vegada vols fer un hash definir en un cas 554 00:24:14,930 --> 00:24:19,020 on hi ha el seguiment d'alguns establir el nombre de puntuacions per a una classe 555 00:24:19,020 --> 00:24:23,250 o està utilitzant un nombre que s'utilitzarà, com, 556 00:24:23,250 --> 00:24:27,740 al llarg d'un programa molt llarg, és millor per definir que a l'inici 557 00:24:27,740 --> 00:24:34,440 de manera que si alguna vegada canvia, s'obté per canviar un punt en lloc de 100. 558 00:24:34,440 --> 00:24:34,940 Sí? 559 00:24:34,940 --> 00:24:39,830 >> ESTUDIANT: entre fer això i només declarant [inaudible] més a la part superior. 560 00:24:39,830 --> 00:24:42,470 >> ALLISON Buchholtz-AU: Per tant, té a veure amb efficient-- 561 00:24:42,470 --> 00:24:45,460 que és una mica fora de l'abast el que podem cobrir en aquesta secció. 562 00:24:45,460 --> 00:24:49,236 Té a veure més amb l'eficiència i les coses en realitat 563 00:24:49,236 --> 00:24:50,485 treballar en el procés de compilació. 564 00:24:50,485 --> 00:24:52,590 565 00:24:52,590 --> 00:24:55,006 Si vostè vol realment saber sobre això, estic encantat d'enviar 566 00:24:55,006 --> 00:24:56,450 un correu electrònic amb els recursos al respecte. 567 00:24:56,450 --> 00:24:57,810 568 00:24:57,810 --> 00:25:03,880 Hash definir tendeix a ser preferit per les coses. 569 00:25:03,880 --> 00:25:06,380 I a mesura que el codi sigui més, vostè tipus d'aprendre els matisos 570 00:25:06,380 --> 00:25:09,135 de quan s'ha d'utilitzar un mundial contra el hash defineixen. 571 00:25:09,135 --> 00:25:11,010 Però de moment, vostè realment no té 572 00:25:11,010 --> 00:25:13,290 de preocupar per això és que la resposta curta. 573 00:25:13,290 --> 00:25:15,360 574 00:25:15,360 --> 00:25:16,360 Tothom bé amb això? 575 00:25:16,360 --> 00:25:18,151 I també, si vols utilitzar un hash definir, 576 00:25:18,151 --> 00:25:21,120 que és molt important tenir en compte que el nom ha d'estar en majúscules. 577 00:25:21,120 --> 00:25:22,210 578 00:25:22,210 --> 00:25:24,674 No només estem fent AULA sigui dramàtic. 579 00:25:24,674 --> 00:25:26,090 En realitat, hauria de ser en totes les tapes. 580 00:25:26,090 --> 00:25:27,880 581 00:25:27,880 --> 00:25:28,610 Refredar. 582 00:25:28,610 --> 00:25:30,130 Qualsevol altra cosa hi ha? 583 00:25:30,130 --> 00:25:31,190 Estem bé? 584 00:25:31,190 --> 00:25:32,220 Preciós. 585 00:25:32,220 --> 00:25:32,720 Benvingut. 586 00:25:32,720 --> 00:25:34,240 587 00:25:34,240 --> 00:25:38,495 >> OK, així que vull que vostès per fer una ullada en això i veure si vostè pot trobar l'error. 588 00:25:38,495 --> 00:25:45,580 589 00:25:45,580 --> 00:25:46,507 Et vaig a donar una pista. 590 00:25:46,507 --> 00:25:47,840 És un lloc on for-loop. 591 00:25:47,840 --> 00:25:53,070 592 00:25:53,070 --> 00:25:53,665 Mmhmm? 593 00:25:53,665 --> 00:25:55,704 >> ESTUDIANT: En cas de ser inferior a igual a 2. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> ALLISON: Per tant, podria ser menor o igual a 2, o podria ser inferior a 3. 596 00:26:01,094 --> 00:26:02,510 ¿I quin és el raonament per això? 597 00:26:02,510 --> 00:26:05,135 >> ESTUDIANT: El [inaudible], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> ALLISON: Exactament. 599 00:26:06,080 --> 00:26:12,180 Així, en una matriu de grandària n, ens només tenen índexs de n almenys 1. 600 00:26:12,180 --> 00:26:13,700 601 00:26:13,700 --> 00:26:14,200 Refredar. 602 00:26:14,200 --> 00:26:15,091 603 00:26:15,091 --> 00:26:17,840 I llavors podem aconseguir realment boig i obtenir matrius multidimensionals. 604 00:26:17,840 --> 00:26:19,340 605 00:26:19,340 --> 00:26:23,960 Un dels problemes quan em vaig prendre al meu matrius multidimensionals requerides anys, 606 00:26:23,960 --> 00:26:28,720 i crec que un d'ells podria requerir que aquest any, de manera que se senti còmode. 607 00:26:28,720 --> 00:26:30,140 Emboliqui el seu cap al voltant d'ella ara. 608 00:26:30,140 --> 00:26:33,087 Es tornarà a rondar vostè, però d'una manera fresca. 609 00:26:33,087 --> 00:26:35,420 Així que vostè pot realment pensar de matrius multidimensionals 610 00:26:35,420 --> 00:26:36,870 com a matrius de matrius. 611 00:26:36,870 --> 00:26:38,060 612 00:26:38,060 --> 00:26:43,809 Així que vostè pot tipus de pensar en aquest top fila com el primer tros de la memòria. 613 00:26:43,809 --> 00:26:45,600 I aquest és el segona part de la memòria, 614 00:26:45,600 --> 00:26:47,570 i l'última fila és la tercera part de la memòria. 615 00:26:47,570 --> 00:26:50,740 I dins d'això, hi ha una gran varietat. 616 00:26:50,740 --> 00:26:53,250 Però, és clar, és més fàcil per representar d'aquesta manera. 617 00:26:53,250 --> 00:26:55,610 >> Així que inicialitzar de la mateixa manera. 618 00:26:55,610 --> 00:26:57,290 619 00:26:57,290 --> 00:27:01,610 Aquest és un personatge tauler de tres en tres. 620 00:27:01,610 --> 00:27:04,180 Així que hi ha tres files i tres columnes. 621 00:27:04,180 --> 00:27:06,760 Estem representant d'aquesta manera. 622 00:27:06,760 --> 00:27:11,800 I vostè accedir-hi el mateixa manera, columna per fila. 623 00:27:11,800 --> 00:27:14,840 I així 1,1 com veiem aquí. 624 00:27:14,840 --> 00:27:18,730 Assignem un zero, zero fins allà. 625 00:27:18,730 --> 00:27:21,900 2,0 i 0,2. 626 00:27:21,900 --> 00:27:26,900 Així que vostè acaba d'accedir a ells-- si ningú mai ha fet àlgebra lineal, 627 00:27:26,900 --> 00:27:31,580 De la mateixa manera s'accedeix a un element en 1 matrius, és la mateixa idea aquí. 628 00:27:31,580 --> 00:27:33,030 Així que vostè pot relacionar-se de nou a matemàtiques. 629 00:27:33,030 --> 00:27:34,130 630 00:27:34,130 --> 00:27:36,380 Vostè no ha de preocupar massa molt d'això ara. 631 00:27:36,380 --> 00:27:38,671 És bo tenir l'exposició, saber que pots fer-ho. 632 00:27:38,671 --> 00:27:42,700 Vostè pot crear una mica de boig number-- puguis 633 00:27:42,700 --> 00:27:44,750 crear matrius bojos es tot el que vaig a dir. 634 00:27:44,750 --> 00:27:45,250 [Inaudible] 635 00:27:45,250 --> 00:27:46,585 636 00:27:46,585 --> 00:27:48,460 Es posa una mica boig, però és realment genial. 637 00:27:48,460 --> 00:27:50,020 638 00:27:50,020 --> 00:27:50,670 Impressionant. 639 00:27:50,670 --> 00:27:52,550 >> I llavors, per la qual cosa tenim un exemple aquí. 640 00:27:52,550 --> 00:27:54,165 Es calcula una longitud de la cadena. 641 00:27:54,165 --> 00:27:55,210 642 00:27:55,210 --> 00:27:59,670 Llavors, com moltes persones sabien que les cadenes que vostè està utilitzant 643 00:27:59,670 --> 00:28:01,265 són només conjunts de caràcters? 644 00:28:01,265 --> 00:28:03,670 645 00:28:03,670 --> 00:28:04,655 Bé, sí. 646 00:28:04,655 --> 00:28:08,000 Així que nois pot pensar que vostè no té matrius usades abans, però en qualsevol moment 647 00:28:08,000 --> 00:28:10,740 utilitza getString al Biblioteca CSView, ets 648 00:28:10,740 --> 00:28:14,690 en realitat només demanant una gran varietat de personatges. 649 00:28:14,690 --> 00:28:17,450 I estem cuidant de tot que en el back-end per a vostè. 650 00:28:17,450 --> 00:28:20,184 Però vostè ha estat utilitzant matrius des que van començar. 651 00:28:20,184 --> 00:28:21,350 Vostè simplement no ho sabia encara. 652 00:28:21,350 --> 00:28:22,420 653 00:28:22,420 --> 00:28:28,390 >> I cada vegada que tingui una matriu de caràcters o una matriu que està emmagatzemant una cadena, 654 00:28:28,390 --> 00:28:32,050 l'últim que és sempre el que és cridat un terminador nul, que 655 00:28:32,050 --> 00:28:33,830 és això d'aquí. 656 00:28:33,830 --> 00:28:37,300 I és que al final de cada paraula que vostè està emmagatzemant. 657 00:28:37,300 --> 00:28:41,170 Així que si volem esbrinar el longitud d'una cadena, podem dir, 658 00:28:41,170 --> 00:28:45,320 bé, ja saps, la contingut d'aquest bloc 659 00:28:45,320 --> 00:28:46,867 no és igual a la nostra terminador nul. 660 00:28:46,867 --> 00:28:49,450 Això vol dir que hi ha una certa caràcter no que en realitat 661 00:28:49,450 --> 00:28:51,540 es preocupen per això és part de la paraula. 662 00:28:51,540 --> 00:28:52,665 Vostè augmenta la seva longitud. 663 00:28:52,665 --> 00:28:55,540 I després, quan en realitat arribar a el final de la paraula, que acabarà 664 00:28:55,540 --> 00:28:58,790 i que tornarà a la nostra longitud per a nosaltres. 665 00:28:58,790 --> 00:29:00,098 Mmhmm? 666 00:29:00,098 --> 00:29:02,906 >> ESTUDIANT: L'espai comptarà com el terminador nul? 667 00:29:02,906 --> 00:29:04,780 ALLISON: Així que un espai és no un terminador nul. 668 00:29:04,780 --> 00:29:10,590 Així que si vostè té un espai multiple-- és en realitat un valor ASCII específica. 669 00:29:10,590 --> 00:29:11,719 670 00:29:11,719 --> 00:29:13,552 ESTUDIANT: Quina és la exclamació de nou igual? 671 00:29:13,552 --> 00:29:17,080 ALLISON: Així que, això és el que vostè es refereix. 672 00:29:17,080 --> 00:29:21,220 Si alguna vegada em sents en hores d'oficina, Jo sempre ho dic, igual que, l'explosió és igual. 673 00:29:21,220 --> 00:29:23,520 Així que l'explosió no és. 674 00:29:23,520 --> 00:29:25,370 Així que això no és igual. 675 00:29:25,370 --> 00:29:28,480 676 00:29:28,480 --> 00:29:32,290 Així que si vostè està tractant de veure si alguna cosa és fals, 677 00:29:32,290 --> 00:29:35,915 vostè sap que sempre ho fas, explosió ho la variable és, i si és fals, 678 00:29:35,915 --> 00:29:38,540 s'avalua com a veritable i que pot fer coses interessants amb això. 679 00:29:38,540 --> 00:29:39,830 680 00:29:39,830 --> 00:29:40,675 Més sobre això més endavant. 681 00:29:40,675 --> 00:29:42,090 682 00:29:42,090 --> 00:29:42,590 Refredar. 683 00:29:42,590 --> 00:29:44,260 Tot el bo que hi ha? 684 00:29:44,260 --> 00:29:44,760 Impressionant. 685 00:29:44,760 --> 00:29:48,045 >> Així que ara és el moment dels seus nois a treballar, ja que he estat parlant. 686 00:29:48,045 --> 00:29:49,220 687 00:29:49,220 --> 00:29:53,200 Així que vull que vostè acaba de crear una matriu amb els nombres enters un, dos, i tres, 688 00:29:53,200 --> 00:29:54,660 i després confiar la seva impressió a terme. 689 00:29:54,660 --> 00:29:58,050 Vostè no ha de fer, com, principal, bla, bla, bla, el que sigui. 690 00:29:58,050 --> 00:30:00,840 Només vull que inicialitzar la matriu i després crear 691 00:30:00,840 --> 00:30:04,790 un bucle for per imprimir fora-- o un bucle while, depèn de vostè. 692 00:30:04,790 --> 00:30:07,600 >> Jo només et donaré un parell minuts per a treballar en això. 693 00:30:07,600 --> 00:30:09,320 Vaig a descansar la meva veu. 694 00:30:09,320 --> 00:30:13,290 Si vostè té alguna pregunta, estic feliç a entrar en raó i parlar amb vostès. 695 00:30:13,290 --> 00:30:15,290 Siéntase lliure de parlar entre ells. 696 00:30:15,290 --> 00:30:16,125 Més dolços. 697 00:30:16,125 --> 00:30:17,181 698 00:30:17,181 --> 00:30:18,930 De fet, només vaig a caminar amb el caramel. 699 00:30:18,930 --> 00:30:19,600 Com és això? 700 00:30:19,600 --> 00:30:22,974 701 00:30:22,974 --> 00:30:23,938 >> Vols alguna? 702 00:30:23,938 --> 00:30:34,703 703 00:30:34,703 --> 00:30:36,675 Qualsevol altra persona en aquesta sala vol dolços? 704 00:30:36,675 --> 00:30:47,030 705 00:30:47,030 --> 00:30:49,206 També pot prendre més d'una, nois. 706 00:30:49,206 --> 00:30:50,330 Tome un grapat si ho desitja. 707 00:30:50,330 --> 00:30:52,690 708 00:30:52,690 --> 00:30:53,190 El maig també. 709 00:30:53,190 --> 00:30:54,929 710 00:30:54,929 --> 00:30:55,720 Tothom bé? 711 00:30:55,720 --> 00:30:57,561 712 00:30:57,561 --> 00:30:58,060 Okay. 713 00:30:58,060 --> 00:31:02,750 714 00:31:02,750 --> 00:31:07,290 >> A més, vaig a crear un anònim Google Formulari, 715 00:31:07,290 --> 00:31:09,830 i vostès només poden presentar retroalimentació després de cada secció 716 00:31:09,830 --> 00:31:14,115 si hi ha alguna cosa que vulguis millorar o alguna cosa que vol fer. 717 00:31:14,115 --> 00:31:17,135 Si jo sóc una mica massa plena de vida per a vostè, puc baixar el to. 718 00:31:17,135 --> 00:31:18,510 719 00:31:18,510 --> 00:31:20,885 Vaig a crear això i enviament que a tots vostès després. 720 00:31:20,885 --> 00:32:39,420 721 00:32:39,420 --> 00:32:40,020 >> Bé. 722 00:32:40,020 --> 00:32:41,050 Així que anem a començar a poc a poc. 723 00:32:41,050 --> 00:32:42,740 Com ens inicialitzar la nostra gamma? 724 00:32:42,740 --> 00:32:49,690 725 00:32:49,690 --> 00:32:51,670 Quin és el tipus de la nostra gamma? 726 00:32:51,670 --> 00:32:52,410 Un int, oi? 727 00:32:52,410 --> 00:32:54,740 OK, així que què vols per trucar a la matriu? 728 00:32:54,740 --> 00:32:57,880 729 00:32:57,880 --> 00:32:59,230 Array int, fresc. 730 00:32:59,230 --> 00:33:04,200 Molt bé, així que tenim int int array iguals, i què tenim després d'això? 731 00:33:04,200 --> 00:33:07,009 732 00:33:07,009 --> 00:33:08,259 ESTUDIANT: [inaudible] claudàtors. 733 00:33:08,259 --> 00:33:09,140 ALLISON: Parèntesi. 734 00:33:09,140 --> 00:33:10,330 735 00:33:10,330 --> 00:33:11,775 I després dins de les claus? 736 00:33:11,775 --> 00:33:14,360 737 00:33:14,360 --> 00:33:16,830 Una coma dos coma tres. 738 00:33:16,830 --> 00:33:17,330 Refredar. 739 00:33:17,330 --> 00:33:18,660 Així que això està bé. 740 00:33:18,660 --> 00:33:21,480 Així que ara tenim el nostre bucle for. 741 00:33:21,480 --> 00:33:24,180 Així que en la primera part de la nostra de bucle, ¿què tenim? 742 00:33:24,180 --> 00:33:25,796 743 00:33:25,796 --> 00:33:27,420 >> ESTUDIANT: i és igual a 0? 744 00:33:27,420 --> 00:33:31,400 >> ALLISON: Així int i és igual a 0, i llavors quina és la nostra condició? 745 00:33:31,400 --> 00:33:33,750 746 00:33:33,750 --> 00:33:36,120 Què és i havia de ser inferior? 747 00:33:36,120 --> 00:33:39,510 Menys de tres, i com nosaltres actualitzem i? 748 00:33:39,510 --> 00:33:41,630 i plus plus, actualitzar-lo per un. 749 00:33:41,630 --> 00:33:46,150 I després tindrem alguns printf del nombre enter, 750 00:33:46,150 --> 00:33:49,530 i el que és l'última part que és en realitat 751 00:33:49,530 --> 00:33:51,370 va a dir el que hauríem d'estar imprimint? 752 00:33:51,370 --> 00:33:55,610 753 00:33:55,610 --> 00:33:59,120 Seria el nom de la matriu, que és de tipus int matriu, no? 754 00:33:59,120 --> 00:34:01,090 I el que és en els suports de int matriu? 755 00:34:01,090 --> 00:34:02,540 756 00:34:02,540 --> 00:34:03,640 jo. 757 00:34:03,640 --> 00:34:06,550 [? Així que?] Vaig trucar al meu exemple, però cal anar. 758 00:34:06,550 --> 00:34:07,939 759 00:34:07,939 --> 00:34:08,480 No està tan malament. 760 00:34:08,480 --> 00:34:09,250 Tothom bé? 761 00:34:09,250 --> 00:34:10,220 762 00:34:10,220 --> 00:34:10,719 Refredar. 763 00:34:10,719 --> 00:34:12,949 764 00:34:12,949 --> 00:34:14,340 >> Així que hem acabat amb les matrius. 765 00:34:14,340 --> 00:34:15,190 Enhorabona. 766 00:34:15,190 --> 00:34:18,274 Ho va fer per iterar a través de tot ell-- si? 767 00:34:18,274 --> 00:34:19,705 >> ESTUDIANT: [inaudible] 768 00:34:19,705 --> 00:34:20,659 >> ALLISON: Sí. 769 00:34:20,659 --> 00:34:26,383 770 00:34:26,383 --> 00:34:27,798 >> ESTUDIANT: Tinc una pregunta. 771 00:34:27,798 --> 00:34:30,288 ¿Se suposa que sagnar els frens? 772 00:34:30,288 --> 00:34:34,150 >> ALLISON: Així que els tirants han d'estar alineats amb el bucle for, i llavors tot 773 00:34:34,150 --> 00:34:35,699 dins de les claus han de tenir una sagnia. 774 00:34:35,699 --> 00:34:37,824 >> ESTUDIANT: OK, si el bucle for sagnar? 775 00:34:37,824 --> 00:34:41,159 >> ALLISON: El bucle for no ho fa necessitar ser sagnia en aquest punt. 776 00:34:41,159 --> 00:34:46,750 Si vostè estigués en principal, si en realitat tenia una funció principal aquí, 777 00:34:46,750 --> 00:34:48,929 seria una sagnia de principal. 778 00:34:48,929 --> 00:34:52,590 Però en aquest cas, està bé. 779 00:34:52,590 --> 00:34:53,354 Sí, pregunta. 780 00:34:53,354 --> 00:34:55,687 >> ESTUDIANT: Vostè necessita tenir els parèntesis després d'exemple? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> ALLISON: Sí, si vostè és inicialització d'aquesta manera. 783 00:35:01,260 --> 00:35:03,430 784 00:35:03,430 --> 00:35:06,860 Així que recorda, aquesta és la segona manera d'inicialització d'una matriu on 785 00:35:06,860 --> 00:35:10,680 tenim les claus i després la nostra real dades separades per comes dins. 786 00:35:10,680 --> 00:35:14,700 787 00:35:14,700 --> 00:35:17,281 >> ESTUDIANT: Vaig pensar que havia suports per a aquest exemple. 788 00:35:17,281 --> 00:35:19,010 >> ALLISON: No, són els suports. 789 00:35:19,010 --> 00:35:20,039 Són aparells d'ortodòncia. 790 00:35:20,039 --> 00:35:22,330 Si vostè està inicialitzar que la segona manera, és frens. 791 00:35:22,330 --> 00:35:28,780 Si haguéssim de dir, int exemple-- si només volíem una matriu en blanc per a enters, 792 00:35:28,780 --> 00:35:32,270 seria int exemple entre parèntesis 03:00. 793 00:35:32,270 --> 00:35:34,670 Els parèntesis representen la mida. 794 00:35:34,670 --> 00:35:36,720 Quan vostè té tirants, que és les dades reals 795 00:35:36,720 --> 00:35:39,244 que està posant en ell d'aquesta manera. 796 00:35:39,244 --> 00:35:40,535 Podem retrocedir molt ràpid. 797 00:35:40,535 --> 00:35:42,370 798 00:35:42,370 --> 00:35:48,010 >> Així que en aquest, això és només la nostra matriu inicial, la inicialització. 799 00:35:48,010 --> 00:35:51,640 I aquí, som individualment l'assignació de punts a ells, 800 00:35:51,640 --> 00:35:56,730 de manera que aquest representa l'índex de la nostra matriu, que és per això que tenim entre parèntesis. 801 00:35:56,730 --> 00:36:01,630 Però aquí, si et fixes, hem deixat els nostres suports sense una mida, 802 00:36:01,630 --> 00:36:05,969 i inicialitzem amb el dades reals tots-en-un amb els suports. 803 00:36:05,969 --> 00:36:08,260 ESTUDIANT: Llavors, ¿per què no tenim parèntesi en aquest exemple? 804 00:36:08,260 --> 00:36:11,030 ALLISON: Llavors, en quina part? 805 00:36:11,030 --> 00:36:14,645 ESTUDIANT: No seria que diguem, int exemple suports 806 00:36:14,645 --> 00:36:19,710 és igual als suports [inaudible] claudàtors, per exemple. 807 00:36:19,710 --> 00:36:20,900 >> ALLISON: Oh, ho sento. 808 00:36:20,900 --> 00:36:21,560 Tens raó. 809 00:36:21,560 --> 00:36:22,690 Tenim suports allà. 810 00:36:22,690 --> 00:36:23,486 Ho sento nois, el meu mal. 811 00:36:23,486 --> 00:36:25,150 812 00:36:25,150 --> 00:36:27,560 Sí, vostè ha de tenir entre parèntesis després d'exemple. 813 00:36:27,560 --> 00:36:28,850 Tens tota la raó. 814 00:36:28,850 --> 00:36:29,750 >> ESTUDIANT: [inaudible] no fer-ho. 815 00:36:29,750 --> 00:36:31,270 >> ALLISON: No, vostè ha de tenir suports, perquè en cas contrari és 816 00:36:31,270 --> 00:36:32,810 no va a declarar una matriu. 817 00:36:32,810 --> 00:36:33,685 ESTUDIANT: [inaudible]. 818 00:36:33,685 --> 00:36:34,200 Ho sento. 819 00:36:34,200 --> 00:36:36,200 >> ALLISON: Ho sentim, vostè necessita entre parèntesis després d'exemple. 820 00:36:36,200 --> 00:36:36,620 821 00:36:36,620 --> 00:36:37,120 Typos. 822 00:36:37,120 --> 00:36:40,650 823 00:36:40,650 --> 00:36:43,160 Bona captura, estrella d'or per a tu. 824 00:36:43,160 --> 00:36:47,730 A més, si vostè està fent una pregunta, si vostès acaba de dir-me els seus noms, 825 00:36:47,730 --> 00:36:48,570 M'encantaria això. 826 00:36:48,570 --> 00:36:50,630 M'encantaria ser capaç de conèixer tots els seus noms. 827 00:36:50,630 --> 00:36:53,187 Jo no vaig al fred et dic, jo en realitat 828 00:36:53,187 --> 00:36:54,520 no només volen saber els seus noms. 829 00:36:54,520 --> 00:36:57,530 Així que si us plau, en realitat em diuen els seus noms. 830 00:36:57,530 --> 00:36:58,426 >> Llegiu: Llegeixi. 831 00:36:58,426 --> 00:36:59,340 >> ALLISON: Leah. 832 00:36:59,340 --> 00:37:03,960 OK, així que functions-- sé en breu es va parlar d'això durant la conferència. 833 00:37:03,960 --> 00:37:07,590 Així que les funcions són una espècie de just com aquestes petites coses mida d'un mos 834 00:37:07,590 --> 00:37:11,525 on es passa en les entrades, una mica succeeix màgic, i s'obté sortides. 835 00:37:11,525 --> 00:37:12,680 836 00:37:12,680 --> 00:37:13,180 Refredar. 837 00:37:13,180 --> 00:37:15,013 Així que en realitat es va utilitzar un molts d'ells ja. 838 00:37:15,013 --> 00:37:15,970 839 00:37:15,970 --> 00:37:18,840 Aconsegueix int, aconseguir cadena, impressió f. 840 00:37:18,840 --> 00:37:21,790 Aquestes són totes les funcions on s'acaba de cridar a ells, 841 00:37:21,790 --> 00:37:24,370 hi ha un munt de coses màgiques passant en el fons 842 00:37:24,370 --> 00:37:27,390 que no veu necessàriament, i s'obté el que vol. 843 00:37:27,390 --> 00:37:30,280 O almenys vostè aconsegueix el que vostè espera que desitges. 844 00:37:30,280 --> 00:37:31,920 845 00:37:31,920 --> 00:37:35,620 >> I bàsicament el punt de funcions, i un dels principals temes de la CS, 846 00:37:35,620 --> 00:37:38,700 és trencar el codi en trossos manejables. 847 00:37:38,700 --> 00:37:41,520 Quan comenci a escriure aquests programes realment llargs, 848 00:37:41,520 --> 00:37:44,970 o en les ratllades quan vas tenir aquesta gran idea per a un joc, 849 00:37:44,970 --> 00:37:48,070 ha de ser capaç de trencar- fins, com, OK, com començo? 850 00:37:48,070 --> 00:37:50,470 ¿Quines són les petites peces que necessito? 851 00:37:50,470 --> 00:37:53,320 Oh, he de demanar a la usuari per a alguna cosa. 852 00:37:53,320 --> 00:37:54,830 Ara he de imprimir alguna cosa. 853 00:37:54,830 --> 00:37:56,590 Oh, he de calcular aquest valor. 854 00:37:56,590 --> 00:38:00,050 >> I aprendre a trencar el seu codi i els grans problemes que 855 00:38:00,050 --> 00:38:02,740 tenir en aquestes petites peces i la creació de funcions 856 00:38:02,740 --> 00:38:05,330 és en realitat una de les grans pedres angulars de la CS. 857 00:38:05,330 --> 00:38:06,440 858 00:38:06,440 --> 00:38:11,740 Així que vostè pot pensar en una funció tan com un quadre negre, un quadre negre màgic, 859 00:38:11,740 --> 00:38:15,030 que posi les coses en i s'obté una sortida. 860 00:38:15,030 --> 00:38:16,290 861 00:38:16,290 --> 00:38:19,460 I la resta del programa no té per què saber necessàriament 862 00:38:19,460 --> 00:38:21,150 el que està passant dins d'aquest quadre negre. 863 00:38:21,150 --> 00:38:24,190 Tot el que li importa és el que que entra i el que surt. 864 00:38:24,190 --> 00:38:26,230 865 00:38:26,230 --> 00:38:26,730 Refredar. 866 00:38:26,730 --> 00:38:27,820 >> Llavors per què funcions? 867 00:38:27,820 --> 00:38:33,240 Organization-- com vaig dir, quan estàs es tracta de bases de codi molt grans, 868 00:38:33,240 --> 00:38:37,357 com organitzar el seu codi serà molt més fàcil si utilitza funcions. 869 00:38:37,357 --> 00:38:39,190 Perquè podràs a ser, com, OK, aquest 870 00:38:39,190 --> 00:38:41,849 és el que fa aquesta funció i això és el que fa un altre. 871 00:38:41,849 --> 00:38:43,890 I vostè pot veure fàcilment com encaixen junts. 872 00:38:43,890 --> 00:38:45,590 873 00:38:45,590 --> 00:38:48,210 Així que dividir-lo en tot aquestes subparts manejables. 874 00:38:48,210 --> 00:38:51,860 >> Així simplification-- Estic segur que els nois tots van veure això, com ja he dit, amb esgarrapades. 875 00:38:51,860 --> 00:38:53,230 876 00:38:53,230 --> 00:38:56,790 Vostè té aquesta gran idea, i vostè és com, com ho fa tota aquesta feina? 877 00:38:56,790 --> 00:38:59,710 Però si t'acostes a ella a poc a poc, et diuen, OK, 878 00:38:59,710 --> 00:39:03,650 Com puc fer un sprite de surar a través de la pantalla? 879 00:39:03,650 --> 00:39:04,805 Això és una mica més fàcil. 880 00:39:04,805 --> 00:39:06,000 881 00:39:06,000 --> 00:39:09,590 Així que un bon ús de la funció fa el seu codi molt més fàcil de llegir. 882 00:39:09,590 --> 00:39:13,800 Això fa que sigui més fàcil de depurar que com et fiques en els seus butlletins de problemes posteriors, 883 00:39:13,800 --> 00:39:15,900 vostè va a realment vull ser capaç de fer. 884 00:39:15,900 --> 00:39:17,900 I són també més fàcils per dissenyar i posar en pràctica. 885 00:39:17,900 --> 00:39:21,100 Pot codificar fins a un petit funcionar amb relativa rapidesa 886 00:39:21,100 --> 00:39:25,260 i assegureu-vos que funciona front tractant per crear aquest programa a llarg sencer 887 00:39:25,260 --> 00:39:28,960 i després de passar per tipus i veure el que funciona i el que no ho és. 888 00:39:28,960 --> 00:39:30,300 >> I després reutilització. 889 00:39:30,300 --> 00:39:33,380 Així que només necessiten funcions a escriure una vegada, 890 00:39:33,380 --> 00:39:35,586 i llavors vostè pot utilitzar tantes vegades com sigui possible. 891 00:39:35,586 --> 00:39:37,210 Pel que és, com, respectuós del medi ambient en un sentit. 892 00:39:37,210 --> 00:39:39,660 893 00:39:39,660 --> 00:39:42,070 Si vostè tenia coses com impressió f, on 894 00:39:42,070 --> 00:39:47,420 havia d'escriure la màgia que va darrere d'imprimir f cada vegada 895 00:39:47,420 --> 00:39:51,040 que volia imprimir alguna cosa, seria bastant malalt i cansat d'ell 896 00:39:51,040 --> 00:39:51,650 pel final. 897 00:39:51,650 --> 00:39:52,660 898 00:39:52,660 --> 00:39:55,292 >> Una de les coses que vostè va a aprendre en classes posteriors CS, 899 00:39:55,292 --> 00:39:57,000 o un dels millors consells que rebo 900 00:39:57,000 --> 00:40:00,870 És a dir, si va a copiar i enganxar codi, probablement hauria de ser una funció. 901 00:40:00,870 --> 00:40:01,880 902 00:40:01,880 --> 00:40:06,007 Si vostè té la mateixa exacta Al llarg de les línies del seu codi, 903 00:40:06,007 --> 00:40:08,090 si els eliminat gairebé, el seu codi faria probablement 904 00:40:08,090 --> 00:40:11,860 ser, com, cinc vegades més curts i ser molt més fàcil de llegir. 905 00:40:11,860 --> 00:40:15,230 I en comptes de tractar de solucionar problemes tots aquests diferents llocs on les coses 906 00:40:15,230 --> 00:40:18,021 que podria sortir malament, té una funció que s'arriba a solucionar problemes. 907 00:40:18,021 --> 00:40:19,230 908 00:40:19,230 --> 00:40:21,890 I et prometo, molt d'això podria semblar una mica abstracte ara, 909 00:40:21,890 --> 00:40:24,620 però com et fiques en endavant i problema més endavant estableix, 910 00:40:24,620 --> 00:40:28,950 que farà molt més sentit i realment ser portat a casa. 911 00:40:28,950 --> 00:40:31,775 Hi ha alguna pregunta sobre les funcions fins ara? 912 00:40:31,775 --> 00:40:32,650 Per què estem usar-los? 913 00:40:32,650 --> 00:40:34,775 Sé que no hem aconseguit en el quid de la qüestió encara. 914 00:40:34,775 --> 00:40:40,610 Així que la definició d'un function-- igual matrius, que necessiten algun tipus de-- aquest 915 00:40:40,610 --> 00:40:41,860 és només la sortida general. 916 00:40:41,860 --> 00:40:45,110 Així que aquesta és una funció que és només va a cubicar alguna entrada. 917 00:40:45,110 --> 00:40:50,120 I en la següent pàgina, en realitat, tenim totes aquestes petites coses increïbles aquí. 918 00:40:50,120 --> 00:40:52,420 Per tant, tothom pot llegir que, per curiositat? 919 00:40:52,420 --> 00:40:55,050 Sé que el morat i negre pot resultar una mica difícil. 920 00:40:55,050 --> 00:41:00,730 >> Però les coses grans a sabes-- el que la primera un aquí és el nostre tipus de retorn. 921 00:41:00,730 --> 00:41:05,270 Així que això està parlant de la sortida d'aquesta funció quan, en aquest cas, 922 00:41:05,270 --> 00:41:08,990 posem en algun nombre, del que som aconseguir és que el nombre al cub. 923 00:41:08,990 --> 00:41:11,090 Per tant, ha de ser un int en aquest cas. 924 00:41:11,090 --> 00:41:14,055 Potser seria una doble o una mica més tard, però en aquest cas, 925 00:41:14,055 --> 00:41:14,555 que és un int. 926 00:41:14,555 --> 00:41:15,620 927 00:41:15,620 --> 00:41:19,440 >> Amb c, sempre es necessita un tipus de retorn. 928 00:41:19,440 --> 00:41:20,267 Serà un int. 929 00:41:20,267 --> 00:41:20,975 Serà un flotador. 930 00:41:20,975 --> 00:41:22,180 Serà un doble. 931 00:41:22,180 --> 00:41:25,370 Però vostè ha d'especificar què aquesta funció va a tornar. 932 00:41:25,370 --> 00:41:26,480 933 00:41:26,480 --> 00:41:29,170 En cas contrari, cridar a vostè, i no va a construir. 934 00:41:29,170 --> 00:41:30,462 Estaràs trist, i jo estaré trist. 935 00:41:30,462 --> 00:41:31,420 I simplement no és bo. 936 00:41:31,420 --> 00:41:31,940 Okay. 937 00:41:31,940 --> 00:41:34,290 >> I després tenim el nostre nom de la funció. 938 00:41:34,290 --> 00:41:38,440 I com es pot veure aquí, amb c hi ha aquest paradigma molt consistent. 939 00:41:38,440 --> 00:41:42,630 Quin és el teu tipus, quin és el nom, i després alguna altra cosa al final. 940 00:41:42,630 --> 00:41:45,550 Així que tenim el nostre tipus de retorn, el nostre nom de la funció, i després 941 00:41:45,550 --> 00:41:49,320 tenim la nostra capçalera amb llistat de paràmetres. 942 00:41:49,320 --> 00:41:52,080 >> Així que la llista de paràmetres és, el que és aquesta funció va a prendre en? 943 00:41:52,080 --> 00:41:56,360 Una llista de paràmetres és simplement un sinònim de, ¿quines són les nostres entrades? 944 00:41:56,360 --> 00:42:00,230 I de la mateixa manera que nosaltres de definir la nostra funció 945 00:42:00,230 --> 00:42:03,210 i donar-li una volta escriure, cadascuna de les nostres entrades 946 00:42:03,210 --> 00:42:05,350 necessita tenir un tipus associat amb ell. 947 00:42:05,350 --> 00:42:08,850 Així que sabem el que la nostra funció en realitat pot treballar. 948 00:42:08,850 --> 00:42:11,290 >> Així que en aquest cas, tenim una certa entrada int. 949 00:42:11,290 --> 00:42:14,660 Així que de nou, serà el tipus i el que estàs trucant. 950 00:42:14,660 --> 00:42:16,500 951 00:42:16,500 --> 00:42:19,040 I després, com vostè veu aquí, tenim el nostre cos. 952 00:42:19,040 --> 00:42:23,600 Així que tenim una mica de sortida int, que és només la nostra multiplicat per si mateix d'entrada 953 00:42:23,600 --> 00:42:25,810 sí vegades, que acaba de cubs ell. 954 00:42:25,810 --> 00:42:27,610 I llavors tornem aquesta sortida. 955 00:42:27,610 --> 00:42:32,140 >> Així que com veus aquí, tenim una int vegades una int de vegades un int, 956 00:42:32,140 --> 00:42:35,420 per la qual cosa retorna un int, que ha estat declarat allà. 957 00:42:35,420 --> 00:42:38,240 Així que tot és coherent. 958 00:42:38,240 --> 00:42:39,210 Tot és feliç. 959 00:42:39,210 --> 00:42:40,250 La seva funció s'executarà. 960 00:42:40,250 --> 00:42:41,192 961 00:42:41,192 --> 00:42:42,650 I això és just en general. 962 00:42:42,650 --> 00:42:46,750 Així que sempre tenen tipus de retorn, nom, i la seva llista de paràmetres. 963 00:42:46,750 --> 00:42:48,830 Cada cosa al seu llista de paràmetres, o d'entrada, 964 00:42:48,830 --> 00:42:51,410 necessita tenir un tipus associat amb ell. 965 00:42:51,410 --> 00:42:54,210 I llavors vostè té el seu cos aquí amb el que sigui 966 00:42:54,210 --> 00:42:55,590 que vols fer amb la teva entrada. 967 00:42:55,590 --> 00:42:57,390 968 00:42:57,390 --> 00:43:00,410 >> I llavors, evidentment, vol tornar alguna cosa. 969 00:43:00,410 --> 00:43:02,630 A vegades, les funcions seran només tornar. 970 00:43:02,630 --> 00:43:06,090 Ells en realitat no tornen alguna cosa perquè utilitzeu. 971 00:43:06,090 --> 00:43:08,660 Però vostè ha de tornar d'alguna manera. 972 00:43:08,660 --> 00:43:12,900 I quan vostè està fent les seves pròpies funcions, 973 00:43:12,900 --> 00:43:15,430 podem entrar en això una mica més profund. 974 00:43:15,430 --> 00:43:18,880 Personalment, si vols, hi ha una gran quantitat de les diferents coses que vostè podria fer. 975 00:43:18,880 --> 00:43:21,350 976 00:43:21,350 --> 00:43:22,140 Tothom bé? 977 00:43:22,140 --> 00:43:25,900 Qualsevol cosa en aquesta llista que em vols per repassar, que no entén? 978 00:43:25,900 --> 00:43:27,204 979 00:43:27,204 --> 00:43:28,120 Tothom és bo no? 980 00:43:28,120 --> 00:43:29,071 981 00:43:29,071 --> 00:43:29,570 Refredar. 982 00:43:29,570 --> 00:43:31,350 983 00:43:31,350 --> 00:43:32,120 Impressionant. 984 00:43:32,120 --> 00:43:34,700 >> OK, així que ens estem posant tot això junts ara. 985 00:43:34,700 --> 00:43:35,720 986 00:43:35,720 --> 00:43:41,201 Així que tenim una certa entrada int cub, per la qual cosa aquest és un programa complet aquí. 987 00:43:41,201 --> 00:43:42,950 Fins ara, no tinc amable del seu estat donant 988 00:43:42,950 --> 00:43:45,699 fragments de nois que podrien anar dins d'un programa. 989 00:43:45,699 --> 00:43:47,240 Nosaltres només hem estat buscant en funcions. 990 00:43:47,240 --> 00:43:48,448 Però aquí és tot un programa. 991 00:43:48,448 --> 00:43:49,400 992 00:43:49,400 --> 00:43:53,690 Llavors, ¿quants de vostès recorden la prototip Paraules conferència? 993 00:43:53,690 --> 00:43:54,750 994 00:43:54,750 --> 00:43:55,300 Refredar. 995 00:43:55,300 --> 00:43:55,890 Tenim un. 996 00:43:55,890 --> 00:43:57,160 997 00:43:57,160 --> 00:43:58,110 Quin és el teu nom? 998 00:43:58,110 --> 00:43:58,850 >> Steph: Steph. 999 00:43:58,850 --> 00:43:59,475 >> ALLISON: Steph? 1000 00:43:59,475 --> 00:44:01,030 Acceptar, impressionant. 1001 00:44:01,030 --> 00:44:03,310 Així que, ¿te'n recordes del que és un prototip? 1002 00:44:03,310 --> 00:44:04,651 1003 00:44:04,651 --> 00:44:10,230 >> ESTUDIANT: Vostè diu que [inaudible] abans que realment s'ocupa d'ella. 1004 00:44:10,230 --> 00:44:11,700 >> ALLISON: Te'n recordes de per què? 1005 00:44:11,700 --> 00:44:13,158 >> ESTUDIANT: No. 1006 00:44:13,158 --> 00:44:14,620 >> ALLISON: OK. 1007 00:44:14,620 --> 00:44:16,090 Estrella d'or. 1008 00:44:16,090 --> 00:44:19,470 Així que sí, un prototip que tenim per endavant, perquè en cas contrari, 1009 00:44:19,470 --> 00:44:21,260 nostre compilador va a cridar a nosaltres. 1010 00:44:21,260 --> 00:44:24,294 Es dirà, OK, ¿Quina és la funció del cub? 1011 00:44:24,294 --> 00:44:26,460 Igual, que, literalment, té em va dir res sobre això. 1012 00:44:26,460 --> 00:44:28,110 És com quan vostè entrar en un saló de classes, 1013 00:44:28,110 --> 00:44:29,320 i algú com, hi ha un concurs d'avui. 1014 00:44:29,320 --> 00:44:31,380 I vostè és com, vostè Mai em va parlar d'això. 1015 00:44:31,380 --> 00:44:32,930 No estic content amb nosaltres. 1016 00:44:32,930 --> 00:44:34,300 1017 00:44:34,300 --> 00:44:37,020 El prototip és bàsicament com el seu programa dient, mira. 1018 00:44:37,020 --> 00:44:37,900 Heads up. 1019 00:44:37,900 --> 00:44:39,570 Serà un concurs en el dia d'avui. 1020 00:44:39,570 --> 00:44:41,420 No s'espanti quan arribi a ella. 1021 00:44:41,420 --> 00:44:42,690 Vas a estar bé. 1022 00:44:42,690 --> 00:44:48,170 >> Així que tot el prototip no és dir-li principal, vaig a utilitzar aquesta funció. 1023 00:44:48,170 --> 00:44:51,010 Et prometo que vaig a definir més endavant. 1024 00:44:51,010 --> 00:44:52,260 No espanti mi. 1025 00:44:52,260 --> 00:44:54,750 Només compilar i fer el que jo et digui. 1026 00:44:54,750 --> 00:44:58,880 Així que tenim el prototip no només per fer el nostre compilador feliç. 1027 00:44:58,880 --> 00:45:04,360 I és bàsicament una promesa que ha definit aquesta funció més endavant 1028 00:45:04,360 --> 00:45:07,960 i que vostè no està sol trucant aquesta cosa a l'atzar que 1029 00:45:07,960 --> 00:45:10,070 no saps el que ets va a estar fent. 1030 00:45:10,070 --> 00:45:11,910 >> Així que en aquest cas, tenim principal aquí. 1031 00:45:11,910 --> 00:45:14,660 Inicialitzem algun sencer x. 1032 00:45:14,660 --> 00:45:15,620 Això és dues. 1033 00:45:15,620 --> 00:45:17,510 Anem a imprimir el que x és. 1034 00:45:17,510 --> 00:45:18,800 Anem a cubicar x. 1035 00:45:18,800 --> 00:45:21,520 Com veus, tenim la nostra declaració de la funció 1036 00:45:21,520 --> 00:45:23,770 aquí baix que ens parlat anteriorment. 1037 00:45:23,770 --> 00:45:28,260 Va Cube x, i després, si ens recordi, la funció de cub en realitat 1038 00:45:28,260 --> 00:45:31,340 retorna un enter a nosaltres, que s'emmagatzema 1039 00:45:31,340 --> 00:45:35,860 en x de nou perquè puguem imprimir a vuit, o cub de x en aquest moment. 1040 00:45:35,860 --> 00:45:37,170 1041 00:45:37,170 --> 00:45:38,920 Això té sentit per a tothom? 1042 00:45:38,920 --> 00:45:40,360 Estem bé? 1043 00:45:40,360 --> 00:45:41,160 Bé. 1044 00:45:41,160 --> 00:45:41,660 Impressionant. 1045 00:45:41,660 --> 00:45:45,540 1046 00:45:45,540 --> 00:45:46,840 >> Bé. 1047 00:45:46,840 --> 00:45:50,879 Quants de vostès Recorda això pel que aquest 1048 00:45:50,879 --> 00:45:52,670 és bàsicament només la seva pila i el seu munt, 1049 00:45:52,670 --> 00:45:56,510 només una visualització de com s'emmagatzema la memòria aquí. 1050 00:45:56,510 --> 00:45:58,200 1051 00:45:58,200 --> 00:46:01,400 Així que només volem fer Assegureu-vos d'entendre 1052 00:46:01,400 --> 00:46:03,680 com aquests estan representats en la memòria. 1053 00:46:03,680 --> 00:46:07,670 Si vostè pren classes com CS61 i aquestes coses més endavant, 1054 00:46:07,670 --> 00:46:10,570 s'arriba a aprendre aquesta molt més en profunditat, i és realment genial. 1055 00:46:10,570 --> 00:46:11,730 El recomano encaridament. 1056 00:46:11,730 --> 00:46:12,740 1057 00:46:12,740 --> 00:46:14,720 Però per ara, vaig a donar que la visió general 1058 00:46:14,720 --> 00:46:16,950 pel que no ha de conèixer el quid de la qüestió. 1059 00:46:16,950 --> 00:46:20,820 >> Així que la part superior només un segment de text que conté els zeros reals i uns, 1060 00:46:20,820 --> 00:46:23,740 el binari per això. 1061 00:46:23,740 --> 00:46:27,510 I això s'utilitza per emmagatzemar variables globals, si tenen alguna. 1062 00:46:27,510 --> 00:46:28,870 1063 00:46:28,870 --> 00:46:32,240 A mesura que avança cap avall, ens tenen, com vostè veu aquí, 1064 00:46:32,240 --> 00:46:34,670 dades inicialitzats, sense inicialitzar dades, i després munt. 1065 00:46:34,670 --> 00:46:35,800 1066 00:46:35,800 --> 00:46:38,584 >> Així que realment no parlem sobre el munt en aquest moment. 1067 00:46:38,584 --> 00:46:39,500 Anem a arribar-hi més tard. 1068 00:46:39,500 --> 00:46:40,762 1069 00:46:40,762 --> 00:46:42,970 Per ara, només vaig a agitar les mans i ser com, 1070 00:46:42,970 --> 00:46:44,553 vostè no necessita saber sobre això ara. 1071 00:46:44,553 --> 00:46:46,100 1072 00:46:46,100 --> 00:46:49,060 Però anem a parlar una mica poc sobre la pila. 1073 00:46:49,060 --> 00:46:53,050 Així que la pila és where-- tenim apropar. 1074 00:46:53,050 --> 00:46:58,590 Això és en realitat com el programa que acabem de veure que passa a la memòria. 1075 00:46:58,590 --> 00:47:01,630 >> Així que el que passa és, cada temps que cridem a una funció, 1076 00:47:01,630 --> 00:47:04,180 tenim el que s'anomena una pila marc, que és un d'aquests. 1077 00:47:04,180 --> 00:47:05,870 Així de paràmetres principals. 1078 00:47:05,870 --> 00:47:07,944 Així que aquestes són les coses que passem a principal. 1079 00:47:07,944 --> 00:47:11,110 Així que són aquí a la part inferior, perquè aquesta és la primera cosa que anomenem. 1080 00:47:11,110 --> 00:47:13,401 I després tenim els principals de locals, i quan diem que, 1081 00:47:13,401 --> 00:47:15,970 ens referim a les variables locals que s'emmagatzemen dins de principal. 1082 00:47:15,970 --> 00:47:19,950 1083 00:47:19,950 --> 00:47:23,620 Així que els vilatans aquí seria, igual que, x és igual a dues en aquest cas. 1084 00:47:23,620 --> 00:47:26,350 Perquè això és localitzada a principal. 1085 00:47:26,350 --> 00:47:29,745 Tothom recorda l'abast, va més que en la conferència? 1086 00:47:29,745 --> 00:47:31,517 1087 00:47:31,517 --> 00:47:32,017 Okay. 1088 00:47:32,017 --> 00:47:36,110 Així que, les variables que s'inicialitzen dins de principal. 1089 00:47:36,110 --> 00:47:38,550 Així que és per això que tenim principal [? veus. ?] 1090 00:47:38,550 --> 00:47:40,390 >> I després dins de principal, que anomenem cub. 1091 00:47:40,390 --> 00:47:41,000 Dreta? 1092 00:47:41,000 --> 00:47:44,510 Així que tenim un altre marc amb els paràmetres de cub. 1093 00:47:44,510 --> 00:47:47,050 Així que en aquest cas, la galleda de paràmetres són ara 1094 00:47:47,050 --> 00:47:50,800 la x que passem a, els dos que vam passar a. 1095 00:47:50,800 --> 00:47:55,320 I llavors la gent del cub, que és on la cubicació real succeeix. 1096 00:47:55,320 --> 00:47:56,450 I després torna. 1097 00:47:56,450 --> 00:48:02,120 >> Així que el que passa és com cub fa realitat el que se suposa que ha de fer, retorna. 1098 00:48:02,120 --> 00:48:07,020 Quan torna, aquest marc es va, i la seva tornat cap avall per principal. 1099 00:48:07,020 --> 00:48:09,160 I després dins de principal, en realitat pot imprimir-lo. 1100 00:48:09,160 --> 00:48:10,840 1101 00:48:10,840 --> 00:48:14,500 Així que quan vostè està tornant alguna cosa, quan la seva funció retorna, 1102 00:48:14,500 --> 00:48:19,900 és com la transmissió d'aquests valors per a el marc per sota d'ella i després de sortir. 1103 00:48:19,900 --> 00:48:22,200 I les coses s'han d'executar en ordre. 1104 00:48:22,200 --> 00:48:25,550 >> I quan arribes als programes més grans, podem fer més fred i més complicat 1105 00:48:25,550 --> 00:48:26,470 diagrames. 1106 00:48:26,470 --> 00:48:29,070 Però per ara, això és només una visió general 1107 00:48:29,070 --> 00:48:31,110 pel que té una mena de comprensió del que 1108 00:48:31,110 --> 00:48:35,160 que succeeix quan vostè està cridant a una funció i la forma en què realment es veu a la memòria. 1109 00:48:35,160 --> 00:48:37,230 1110 00:48:37,230 --> 00:48:37,770 Fresc? 1111 00:48:37,770 --> 00:48:38,353 Tothom bé? 1112 00:48:38,353 --> 00:48:39,920 1113 00:48:39,920 --> 00:48:40,420 Impressionant. 1114 00:48:40,420 --> 00:48:42,070 1115 00:48:42,070 --> 00:48:50,575 >> Així que aquest és un que és tractant de canviar les coses. 1116 00:48:50,575 --> 00:48:52,260 1117 00:48:52,260 --> 00:48:54,930 Com veiem aquí, tenim el nostre prototipus de funció 1118 00:48:54,930 --> 00:48:56,900 perquè el nostre compilador no cridar-li a nosaltres. 1119 00:48:56,900 --> 00:48:59,220 Tenim una mica de principal, i ens voler canviar xi y. 1120 00:48:59,220 --> 00:49:00,320 1121 00:49:00,320 --> 00:49:04,129 No ho han fet aquesta demo en conferència encara, oi? 1122 00:49:04,129 --> 00:49:04,670 Ells no tenen? 1123 00:49:04,670 --> 00:49:05,900 Okay. 1124 00:49:05,900 --> 00:49:08,450 Així que anirem en aquest molt breument. 1125 00:49:08,450 --> 00:49:12,210 Vostè obtindrà en aquest exemple més en profunditat, crec que, aquesta setmana. 1126 00:49:12,210 --> 00:49:15,680 I llavors la setmana que puguem realment submergir-se en per què això no funciona. 1127 00:49:15,680 --> 00:49:18,810 >> Així que tenim aquest buit canvi funció aquí--. 1128 00:49:18,810 --> 00:49:20,720 Així buit només significa que no retorna res. 1129 00:49:20,720 --> 00:49:22,000 1130 00:49:22,000 --> 00:49:24,110 I tenim un intercanvi int i int b. 1131 00:49:24,110 --> 00:49:27,046 I tenim alguns temporal variable que és a. 1132 00:49:27,046 --> 00:49:30,050 1 s'assigna a b, i després b s'assigna a la temperatura 1133 00:49:30,050 --> 00:49:32,235 Així que això és a i b valors es commuten ara. 1134 00:49:32,235 --> 00:49:33,510 1135 00:49:33,510 --> 00:49:36,030 >> Però, gir de la trama, això no funciona. 1136 00:49:36,030 --> 00:49:37,390 1137 00:49:37,390 --> 00:49:42,380 I part d'ella té en realitat a veure amb el fet que una 1138 00:49:42,380 --> 00:49:48,800 i b d'aquí, els que van passant a aquí, en realitat són còpies de x i y. 1139 00:49:48,800 --> 00:49:53,220 Així que quan la funció retorna en realitat, canvia les còpies però no 1140 00:49:53,220 --> 00:49:55,960 l'actual x i y del. 1141 00:49:55,960 --> 00:50:02,370 Així que una manera de pensar-hi és que-- pretenen aquests són d'intercanvi. 1142 00:50:02,370 --> 00:50:03,130 D'acord? 1143 00:50:03,130 --> 00:50:05,390 Així doncs, en principal, tenim x i i s'inicialitzen. 1144 00:50:05,390 --> 00:50:06,530 1145 00:50:06,530 --> 00:50:10,760 Però quan en realitat ens pugem a aquests marcs amb intercanvi, 1146 00:50:10,760 --> 00:50:15,740 estem passant els valors més a la mateixa, i que estan inicialitzats. 1147 00:50:15,740 --> 00:50:18,570 >> I només mai viuen aquí. 1148 00:50:18,570 --> 00:50:19,796 Així que a i b viuen aquí. 1149 00:50:19,796 --> 00:50:20,670 I aconsegueixen canviats. 1150 00:50:20,670 --> 00:50:21,870 1151 00:50:21,870 --> 00:50:26,190 Però quan tornem, no ho fem fer qualsevol cosa amb a i b. 1 1152 00:50:26,190 --> 00:50:28,980 ib llicència amb la nostra funció. 1153 00:50:28,980 --> 00:50:30,850 I el que x i i no canvien. 1154 00:50:30,850 --> 00:50:31,960 1155 00:50:31,960 --> 00:50:39,665 Obtindrà més en la forma d'arreglar això i la forma en què realment ocupem d'això més tard. 1156 00:50:39,665 --> 00:50:40,750 1157 00:50:40,750 --> 00:50:43,740 >> Però és només una cosa per mantenir una mica en la ment. 1158 00:50:43,740 --> 00:50:45,270 Fes-lo servir per al futur. 1159 00:50:45,270 --> 00:50:48,050 No us preocupeu si això no tenia tot el sentit al món. 1160 00:50:48,050 --> 00:50:49,510 1161 00:50:49,510 --> 00:50:51,440 Són còpies és la cosa més gran. 1162 00:50:51,440 --> 00:50:54,580 Si vostè va a prendre res lluny d'això, vostè va passar a les còpies. 1163 00:50:54,580 --> 00:50:56,410 Així que els originals romanen igual. 1164 00:50:56,410 --> 00:50:58,170 1165 00:50:58,170 --> 00:50:58,770 Tothom bé? 1166 00:50:58,770 --> 00:51:00,280 1167 00:51:00,280 --> 00:51:00,930 Refredar. 1168 00:51:00,930 --> 00:51:02,295 >> Així que els arguments de línia de comandes. 1169 00:51:02,295 --> 00:51:03,520 1170 00:51:03,520 --> 00:51:07,630 Estic segur que en el principi vostès tot tenia aquestes grans, com, buits principals int. 1171 00:51:07,630 --> 00:51:09,517 I vostè és com, ben fresc. 1172 00:51:09,517 --> 00:51:10,350 Realment no m'importa. 1173 00:51:10,350 --> 00:51:12,360 Això és just el que he d'escriure. 1174 00:51:12,360 --> 00:51:16,349 Però en els seus nous programes, especialment en aquest conjunt de processadors, 1175 00:51:16,349 --> 00:51:17,890 i per què hi ha guix a terra? 1176 00:51:17,890 --> 00:51:19,640 1177 00:51:19,640 --> 00:51:22,680 >> Amb el seu pròxim conjunt de processadors, ets estarà veient això. 1178 00:51:22,680 --> 00:51:26,130 Int principal, int arg c, cadena d'arc v, claudàtors. 1179 00:51:26,130 --> 00:51:28,770 Així, a partir del que acabem de après avui, el que 1180 00:51:28,770 --> 00:51:32,190 què pensem que el segon paràmetre o que el segon element és aquí? 1181 00:51:32,190 --> 00:51:34,830 1182 00:51:34,830 --> 00:51:35,824 És una matriu. 1183 00:51:35,824 --> 00:51:36,615 Quin tipus de matriu? 1184 00:51:36,615 --> 00:51:38,430 1185 00:51:38,430 --> 00:51:40,690 Matriu de cadenes, sí. 1186 00:51:40,690 --> 00:51:41,980 Refredar. 1187 00:51:41,980 --> 00:51:45,320 Així que aquesta és la forma en què vas a declarar aquests ara. 1188 00:51:45,320 --> 00:51:48,570 >> Algú recorda el que aquests signifiquen? 1189 00:51:48,570 --> 00:51:52,551 1190 00:51:52,551 --> 00:51:53,050 No? 1191 00:51:53,050 --> 00:51:54,020 1192 00:51:54,020 --> 00:51:54,520 Hmm? 1193 00:51:54,520 --> 00:51:55,640 >> ESTUDIANT: arg c. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> ALLISON: Així arg c manté un comptador. 1196 00:51:58,950 --> 00:51:59,450 És un int. 1197 00:51:59,450 --> 00:52:00,615 És un nombre, no? 1198 00:52:00,615 --> 00:52:02,240 Llavors, ¿què creu vostè que aquest nombre és de? 1199 00:52:02,240 --> 00:52:08,260 1200 00:52:08,260 --> 00:52:08,760 Sí. 1201 00:52:08,760 --> 00:52:11,450 Així arg c és el nombre de cadenes que constitueixen la línia d'ordres. 1202 00:52:11,450 --> 00:52:12,560 1203 00:52:12,560 --> 00:52:18,499 Així que si haguéssim de fer-- realitat, hi ha exemples després d'això, 1204 00:52:18,499 --> 00:52:19,790 així que no vaig a tirar endavant de mi mateix. 1205 00:52:19,790 --> 00:52:21,299 1206 00:52:21,299 --> 00:52:23,840 És un nombre de cadenes que simplement prendre una línia d'ordres. 1207 00:52:23,840 --> 00:52:35,080 >> Així que quan ho fa, com, dot retallar Mario, aquesta és una cadena que fa que cap amunt. 1208 00:52:35,080 --> 00:52:38,520 En aquesta peça, que realment serà l'alimentació de les coses en la línia d'ordres, 1209 00:52:38,520 --> 00:52:41,750 com estic segur que els nois que han llegit la serra d'especificacions. 1210 00:52:41,750 --> 00:52:44,470 Així que en aquests casos, potser vostè tenir dos o tres arguments. 1211 00:52:44,470 --> 00:52:45,652 1212 00:52:45,652 --> 00:52:48,360 Serà una cosa útil per al seu ús. 1213 00:52:48,360 --> 00:52:51,500 >> I llavors arg v, com hem dit, és només una matriu de cadenes. 1214 00:52:51,500 --> 00:52:57,000 Així que emmagatzema realment ho que ha ingressat a la línia d'ordres. 1215 00:52:57,000 --> 00:52:59,960 Així que tenim aquests. 1216 00:52:59,960 --> 00:53:02,850 Vostè té una mica de barra de punts copiar archivosalida INFILE. 1217 00:53:02,850 --> 00:53:06,670 Així doncs, si arg c és el nombre de cadenes que estem passant en la comanda 1218 00:53:06,670 --> 00:53:09,080 línia, quina és la nostra arg c en aquest cas? 1219 00:53:09,080 --> 00:53:14,520 1220 00:53:14,520 --> 00:53:15,850 Tres. 1221 00:53:15,850 --> 00:53:16,690 Exactament. 1222 00:53:16,690 --> 00:53:20,086 >> Llavors, què és arg v de zero? 1223 00:53:20,086 --> 00:53:21,710 Llavors, què és el primer que hem emmagatzemat? 1224 00:53:21,710 --> 00:53:24,640 1225 00:53:24,640 --> 00:53:26,290 Dot slash còpia, exactament. 1226 00:53:26,290 --> 00:53:28,065 I a continuació, el segon seria INFILE. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 La tercera seria archivosalida. 1229 00:53:30,930 --> 00:53:32,390 Així que què passa amb arg v 3? 1230 00:53:32,390 --> 00:53:35,810 1231 00:53:35,810 --> 00:53:39,370 Seria nul, perquè això és Al final de la nostra sèrie, no? 1232 00:53:39,370 --> 00:53:40,600 1233 00:53:40,600 --> 00:53:41,460 Refredar. 1234 00:53:41,460 --> 00:53:44,500 >> I llavors què passa amb la sisena? 1235 00:53:44,500 --> 00:53:45,900 És una espècie d'una pregunta amb trampa. 1236 00:53:45,900 --> 00:53:46,400 Ish. 1237 00:53:46,400 --> 00:53:49,027 1238 00:53:49,027 --> 00:53:49,943 Sabem el que és? 1239 00:53:49,943 --> 00:53:50,960 1240 00:53:50,960 --> 00:53:51,690 És indefinit. 1241 00:53:51,690 --> 00:53:53,170 No tenim idea del que podria ser. 1242 00:53:53,170 --> 00:53:57,000 És tot el just després de la matriu en la memòria, 1243 00:53:57,000 --> 00:54:00,220 i no tenim ni idea del que és. 1244 00:54:00,220 --> 00:54:03,500 I és perillós tocar els coses, perquè per a tot el que saps, 1245 00:54:03,500 --> 00:54:07,080 que és una part de la memòria que vostè no ha de ser l'accés o nul. 1246 00:54:07,080 --> 00:54:09,000 I pot fer coses boges. 1247 00:54:09,000 --> 00:54:11,690 Es diu excés d'indexació l'obligat a la matriu. 1248 00:54:11,690 --> 00:54:14,785 No vagi fora dels límits de la seva matriu, o les coses dolentes poden passar. 1249 00:54:14,785 --> 00:54:16,274 1250 00:54:16,274 --> 00:54:18,940 Vostè es torna i, de la mateixa manera que, les lleis de la física han estat destruïts 1251 00:54:18,940 --> 00:54:19,481 o alguna cosa així. 1252 00:54:19,481 --> 00:54:21,021 1253 00:54:21,021 --> 00:54:21,520 Refredar. 1254 00:54:21,520 --> 00:54:22,895 Això té sentit per a tothom? 1255 00:54:22,895 --> 00:54:23,810 1256 00:54:23,810 --> 00:54:25,025 No està malament. 1257 00:54:25,025 --> 00:54:28,926 >> Així que ara, tothom és part favorita, revisar conjunt de processadors. 1258 00:54:28,926 --> 00:54:29,426 Hurra! 1259 00:54:29,426 --> 00:54:30,530 1260 00:54:30,530 --> 00:54:31,030 Okay. 1261 00:54:31,030 --> 00:54:33,830 Així que per a aquells de vostès que no han llegit l'especificació de conjunt de processadors, 1262 00:54:33,830 --> 00:54:36,790 que està fent alguna cosa realment coses interessants amb la criptografia. 1263 00:54:36,790 --> 00:54:39,360 Vas a crear un Ceasar Xifrat i una xifra de Vigenère. 1264 00:54:39,360 --> 00:54:42,000 1265 00:54:42,000 --> 00:54:45,480 Definitivament, vostè ha de llegir la spec per veure com funcionen. 1266 00:54:45,480 --> 00:54:49,650 I si vostè està tenint cap problema sobre el que realment hauria d'estar fent, 1267 00:54:49,650 --> 00:54:52,920 si us plau, venir a parlar amb mi, envieu-me un correu electrònic o text mi. 1268 00:54:52,920 --> 00:54:53,420 Jo estic a prop. 1269 00:54:53,420 --> 00:54:54,780 1270 00:54:54,780 --> 00:54:57,070 >> Així que hi ha tres principals coses aquí que ens 1271 00:54:57,070 --> 00:55:00,440 voler parlar sobre-- només tipus d'una extensió de la conferència. 1272 00:55:00,440 --> 00:55:03,645 Les coses que vostè pot no saber aproximadament, consells útils i eines. 1273 00:55:03,645 --> 00:55:05,520 Així que anem a fer un revisió ràpida d'ASCII, 1274 00:55:05,520 --> 00:55:10,420 perquè això serà súper important per al xifrat de Vigenère. 1275 00:55:10,420 --> 00:55:11,809 1276 00:55:11,809 --> 00:55:14,100 Anem a la conversió de de la línia d'ordres, el que 1277 00:55:14,100 --> 00:55:17,160 serà molt útil per al xifrat de Cèsar. 1278 00:55:17,160 --> 00:55:18,133 I llavors mòdul. 1279 00:55:18,133 --> 00:55:20,220 1280 00:55:20,220 --> 00:55:21,210 Refredar. 1281 00:55:21,210 --> 00:55:24,005 >> Així, els mapes de caràcters ASCII a nombres. 1282 00:55:24,005 --> 00:55:25,270 1283 00:55:25,270 --> 00:55:26,365 Aquest és un gran gràfic. 1284 00:55:26,365 --> 00:55:28,115 Vostè ha de tenir present marcada en algun lloc. 1285 00:55:28,115 --> 00:55:29,310 1286 00:55:29,310 --> 00:55:33,250 Vostè va a voler per la seva primera meitat de període. 1287 00:55:33,250 --> 00:55:36,320 Estic bastant segur que tothom té aquesta taula en el seu full de meitat de període. 1288 00:55:36,320 --> 00:55:37,810 Així que aprendre. 1289 00:55:37,810 --> 00:55:38,410 Vullga-ho. 1290 00:55:38,410 --> 00:55:39,740 Mantingui a la mà. 1291 00:55:39,740 --> 00:55:41,210 Serà útil. 1292 00:55:41,210 --> 00:55:45,630 >> I tot el que és és una codificació que els mapes alfabètics, numèrics, 1293 00:55:45,630 --> 00:55:47,740 i altres personatges a números per al nostre ordinador. 1294 00:55:47,740 --> 00:55:49,947 Perquè, per descomptat, en el final, tot el que emmagatzemem 1295 00:55:49,947 --> 00:55:52,030 es va a aconseguir convertida a zeros i uns, 1296 00:55:52,030 --> 00:55:55,200 per la qual cosa necessitem alguna manera de representar la text i els caràcters que estem tots 1297 00:55:55,200 --> 00:55:59,105 acostumats a veure com una mena de nombre. 1298 00:55:59,105 --> 00:56:00,370 1299 00:56:00,370 --> 00:56:05,880 >> Així que com veiem aquí, tenim A majúscula, que està just allà. 1300 00:56:05,880 --> 00:56:06,555 És 65. 1301 00:56:06,555 --> 00:56:07,570 1302 00:56:07,570 --> 00:56:09,660 I minúscula A és 97. 1303 00:56:09,660 --> 00:56:13,170 Així que vostè pot imaginar fora-- com he dit abans, 1304 00:56:13,170 --> 00:56:16,532 si tinguessis gamma de múltiples cordes, el que cadascun d'ells 1305 00:56:16,532 --> 00:56:17,490 tenir un terminador nul. 1306 00:56:17,490 --> 00:56:18,480 Seria un espai. 1307 00:56:18,480 --> 00:56:22,581 L'espai té la seva pròpia especial-- M'oblido d'on és aquí. 1308 00:56:22,581 --> 00:56:23,080 Ah. 1309 00:56:23,080 --> 00:56:24,700 32 és l'espai. 1310 00:56:24,700 --> 00:56:27,090 Així que tot el que s'assigna a la mateixa. 1311 00:56:27,090 --> 00:56:28,680 1312 00:56:28,680 --> 00:56:29,740 >> Així que tenim matemàtiques ASCII. 1313 00:56:29,740 --> 00:56:31,080 1314 00:56:31,080 --> 00:56:34,290 Pro tip-- en Vigenère de, vostè pot tenir la temptació 1315 00:56:34,290 --> 00:56:39,480 per convertir els números als nombres enters, però en realitat és una millor pràctica 1316 00:56:39,480 --> 00:56:43,860 per ser capaç d'utilitzar el personatges com aquest 1317 00:56:43,860 --> 00:56:45,820 quan en realitat estàs manipular-los. 1318 00:56:45,820 --> 00:56:48,950 Així que si vol utilitzar números, es pot. 1319 00:56:48,950 --> 00:56:55,260 Però una millor manera, o d'una manera que tendim a com vostès per fer-ho, 1320 00:56:55,260 --> 00:56:57,830 és d'aquesta manera on ets en realitat restant caràcters. 1321 00:56:57,830 --> 00:56:58,840 1322 00:56:58,840 --> 00:57:02,830 >> Així que et vull nois a tipus de figura a terme. 1323 00:57:02,830 --> 00:57:05,070 Per què no ho intentes cada altre? 1324 00:57:05,070 --> 00:57:07,580 1325 00:57:07,580 --> 00:57:09,830 El mateix passa amb la primera, la tercer, i el cinquè. 1326 00:57:09,830 --> 00:57:11,160 1327 00:57:11,160 --> 00:57:15,000 Perquè jo vull assegurar-me que parlem sobre tot el que necessitem parlar. 1328 00:57:15,000 --> 00:57:17,410 1329 00:57:17,410 --> 00:57:20,259 Jo només vaig a dir, un dels coses importants A-- Oh, espera, 1330 00:57:20,259 --> 00:57:21,550 vostès no han vist això. 1331 00:57:21,550 --> 00:57:23,710 Acceptar ho fan els tres primers. 1332 00:57:23,710 --> 00:57:24,430 Anem a fer això. 1333 00:57:24,430 --> 00:57:25,971 Perquè hem de parlar de mòdul. 1334 00:57:25,971 --> 00:57:27,810 1335 00:57:27,810 --> 00:57:28,310 Ho sé. 1336 00:57:28,310 --> 00:57:28,851 Matemàtiques és difícil. 1337 00:57:28,851 --> 00:57:29,870 1338 00:57:29,870 --> 00:57:30,980 Podeu utilitzar una calculadora. 1339 00:57:30,980 --> 00:57:31,580 Està bé. 1340 00:57:31,580 --> 00:57:37,464 1341 00:57:37,464 --> 00:57:40,380 O tirar d'una taula ASCII, perquè vostè està probablement va a voler això. 1342 00:57:40,380 --> 00:58:03,660 1343 00:58:03,660 --> 00:58:04,820 >> Refredar. 1344 00:58:04,820 --> 00:58:07,960 Així que vaig a caminar ràpidament vostès a través d'aquestes. 1345 00:58:07,960 --> 00:58:11,120 Així que la gent ha taules ASCII aixecat? 1346 00:58:11,120 --> 00:58:15,645 Quina és la nostra numèric nombre de minúscules A? 1347 00:58:15,645 --> 00:58:16,270 ESTUDIANT: Set. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> ALLISON: Així minúscules A és 97 i A majúscula és 65. 1350 00:58:24,550 --> 00:58:26,390 Així que 97 menys 65? 1351 00:58:26,390 --> 00:58:27,782 1352 00:58:27,782 --> 00:58:28,570 >> AUDIÈNCIA: 32? 1353 00:58:28,570 --> 00:58:33,260 1354 00:58:33,260 --> 00:58:35,630 >> ALLISON: 62, sí. 1355 00:58:35,630 --> 00:58:38,675 Així que en aquest cas, el que hauria d'imprimir? 1356 00:58:38,675 --> 00:58:40,360 Aquesta primera? 1357 00:58:40,360 --> 00:58:43,830 Si tenim per cent d, el que indicaria que? 1358 00:58:43,830 --> 00:58:45,980 1359 00:58:45,980 --> 00:58:46,730 ESTUDIANT: Diversos. 1360 00:58:46,730 --> 00:58:48,604 ALLISON: Estem impressió a terme un nombre real. 1361 00:58:48,604 --> 00:58:50,770 Així que en realitat estem anant per imprimir 32 aquí. 1362 00:58:50,770 --> 00:58:56,360 I si això fos per cent c, 32 ens donaria un espai. 1363 00:58:56,360 --> 00:58:57,700 1364 00:58:57,700 --> 00:59:01,670 Així la comprensió que caràcters poden imprimir 1365 00:59:01,670 --> 00:59:06,140 tant com nombres i com els caràcters reals 1366 00:59:06,140 --> 00:59:11,080 que és realment important, i el pagament de atenció als tipus reals 1367 00:59:11,080 --> 00:59:12,040 que estem fent aquí. 1368 00:59:12,040 --> 00:59:14,520 1369 00:59:14,520 --> 00:59:15,020 Refredar. 1370 00:59:15,020 --> 00:59:18,862 Així, per cada un d'aquests altres, ¿Què anem a imprimir? 1371 00:59:18,862 --> 00:59:19,825 >> ESTUDIANT: Un personatge. 1372 00:59:19,825 --> 00:59:20,830 >> ALLISON: Un personatge. 1373 00:59:20,830 --> 00:59:21,330 Refredar. 1374 00:59:21,330 --> 00:59:24,260 Així que si vostès volen saber, que poden treballar aquests pel seu compte. 1375 00:59:24,260 --> 00:59:25,900 Si vostè està tenint problemes, envieu-me un correu electrònic. 1376 00:59:25,900 --> 00:59:28,950 Però el segon ho farà imprimir una minúscula b. 1377 00:59:28,950 --> 00:59:32,910 El tercer s'ha d'imprimir un majúscules B. El quart s'imprimirà 1378 00:59:32,910 --> 00:59:36,410 a terme una majúscula C, i el última serà una minúscula A. 1379 00:59:36,410 --> 00:59:42,530 I l'últim un-- realitat estem anant per entrar en el que cent boja 1380 00:59:42,530 --> 00:59:45,020 signe significa fins i tot en un parell de diapositives. 1381 00:59:45,020 --> 00:59:46,667 Així que tracti dels de la pròpia. 1382 00:59:46,667 --> 00:59:48,500 Si té problemes, si us plau, venir a parlar amb mi. 1383 00:59:48,500 --> 00:59:49,655 1384 00:59:49,655 --> 00:59:53,290 Si vostè és típicament en Adams sala D, probablement em podran trobar. 1385 00:59:53,290 --> 00:59:54,760 1386 00:59:54,760 --> 00:59:55,760 >> Així, atoi. 1387 00:59:55,760 --> 00:59:59,660 Quants de vosaltres heu vist aquest funció o sentit parlar d'ell en absolut? 1388 00:59:59,660 --> 01:00:00,380 1389 01:00:00,380 --> 01:00:00,880 Qualsevol persona? 1390 01:00:00,880 --> 01:00:02,100 1391 01:00:02,100 --> 01:00:02,600 Refredar. 1392 01:00:02,600 --> 01:00:06,250 Així que el que realment es destaca per és ASCII a un enter. 1393 01:00:06,250 --> 01:00:13,150 Així que el que podem fer és, amb César, per als que van llegir l'especificació, 1394 01:00:13,150 --> 01:00:16,460 que vas a fer barra de punts César després d'escriure el seu programa, 1395 01:00:16,460 --> 01:00:18,690 i després et vas a entrada d'un nombre que vostè 1396 01:00:18,690 --> 01:00:24,780 vol codificar el missatge secret amb. 1397 01:00:24,780 --> 01:00:30,700 >> Però, si recordem, tot el nostre entrades s'emmagatzemen com cadenes. 1398 01:00:30,700 --> 01:00:31,390 Dreta? 1399 01:00:31,390 --> 01:00:35,160 Tenim una gamma v arg això és tot tipus string. 1400 01:00:35,160 --> 01:00:37,870 Així que si vostè acaba de tractar de tirar que un, que seria 1401 01:00:37,870 --> 01:00:43,240 pensar que el que un o diversos que s'utilitza és en realitat un personatge. 1402 01:00:43,240 --> 01:00:45,490 Així que vas a obtenir alguns resultats bojos. 1403 01:00:45,490 --> 01:00:48,200 Així que si vostè realment vol convertir això en un nombre enter 1404 01:00:48,200 --> 01:00:52,060 que pot utilitzar per manipular la seva paraula o el seu missatge, 1405 01:00:52,060 --> 01:00:53,366 vostè voldrà utilitzar atoi. 1406 01:00:53,366 --> 01:00:56,320 atoi només converteix la seva cadena a un int. 1407 01:00:56,320 --> 01:01:04,530 >> Així que si tenim una cadena de 12, si anomenem atoi el 12, o el que sigui que d'entrada és, 1408 01:01:04,530 --> 01:01:07,370 que en realitat tornar a que el nombre sencer. 1409 01:01:07,370 --> 01:01:10,610 No és el caràcter o la cadena 12. 1410 01:01:10,610 --> 01:01:14,230 La qual cosa, quan s'inicia per afegir que als números, 1411 01:01:14,230 --> 01:01:17,710 serà molt diferent, perquè la cadena 12 és 1412 01:01:17,710 --> 01:01:21,210 un nombre boig a ASCII, però el nombre enter 12 1413 01:01:21,210 --> 01:01:23,390 en realitat és 12, que és el que vols. 1414 01:01:23,390 --> 01:01:25,630 Així que vostè vol assegurar-se d'utilitzar atoi. 1415 01:01:25,630 --> 01:01:29,203 >> Vostè va a voler aquest en César, perquè 1416 01:01:29,203 --> 01:01:32,520 necessitarà el int subministrada pel usuari en la línia d'ordres. 1417 01:01:32,520 --> 01:01:35,230 Però quan se la van posar en la comanda línia, s'emmagatzema com una cadena 1418 01:01:35,230 --> 01:01:35,813 per començar. 1419 01:01:35,813 --> 01:01:36,950 1420 01:01:36,950 --> 01:01:38,210 Això té sentit? 1421 01:01:38,210 --> 01:01:40,590 No necessàriament necessitarà aquesta per Vigenère. 1422 01:01:40,590 --> 01:01:43,180 Amb Vigenère, com ja he dit abans, vostè ha de tractar d'usar 1423 01:01:43,180 --> 01:01:46,600 Matemàtiques ASCII que s'assembla més a això, d'on ets en realitat 1424 01:01:46,600 --> 01:01:49,320 utilitzant els caràcters que estem donats a vostè. 1425 01:01:49,320 --> 01:01:50,970 1426 01:01:50,970 --> 01:01:51,470 Refredar. 1427 01:01:51,470 --> 01:01:52,970 1428 01:01:52,970 --> 01:01:54,170 Tothom bé allà? 1429 01:01:54,170 --> 01:01:56,530 1430 01:01:56,530 --> 01:01:57,480 Impressionant. 1431 01:01:57,480 --> 01:01:59,030 >> Així mòdul. 1432 01:01:59,030 --> 01:02:01,950 I què si et donen aquest enorme nombre de César? 1433 01:02:01,950 --> 01:02:03,720 1434 01:02:03,720 --> 01:02:07,970 Vostè té la idea que si vostè està en Z i ja està 1435 01:02:07,970 --> 01:02:11,020 donat un nombre de dos, això vol dir que need-- 1436 01:02:11,020 --> 01:02:15,130 Z es converteix en el segon carta de si mateix, no? 1437 01:02:15,130 --> 01:02:20,800 Pel que necessita per embolicar al voltant d'alguna manera, i mòdul és la manera de fer-ho. 1438 01:02:20,800 --> 01:02:23,310 Així que tot el que fa és que li dóna la resta 1439 01:02:23,310 --> 01:02:25,660 de la divisió de la primer nombre pel segon. 1440 01:02:25,660 --> 01:02:28,660 I tenim alguns exemples a fer que una mica més concret. 1441 01:02:28,660 --> 01:02:34,390 Però, bàsicament, utilitza mòdul quan voler fer alguna cosa embolcall al voltant. 1442 01:02:34,390 --> 01:02:36,950 >> Així que si vostè només vol que el nombres de l'u al vuit, 1443 01:02:36,950 --> 01:02:39,670 es pot utilitzar en qualsevol altre mòdul nombre, i ho farà sempre 1444 01:02:39,670 --> 01:02:42,960 retornar un nombre de zero a vuit. 1445 01:02:42,960 --> 01:02:48,750 Així que alguns examples-- si tenim 55 mòdul 10, 1446 01:02:48,750 --> 01:02:55,350 que només et dóna la resta de 55 dividit per 10, el que seria 5. 1447 01:02:55,350 --> 01:02:56,440 1448 01:02:56,440 --> 01:03:02,470 I després tres mòdul 5, ningú suposo que el que seria? 1449 01:03:02,470 --> 01:03:03,800 1450 01:03:03,800 --> 01:03:04,300 Tres. 1451 01:03:04,300 --> 01:03:05,570 1452 01:03:05,570 --> 01:03:10,910 >> Així que si vostè té un nombre menor abans el mòdul, no es pot anar en forma parella. 1453 01:03:10,910 --> 01:03:11,520 És zero. 1454 01:03:11,520 --> 01:03:14,090 Per tant, només retorna el número en si. 1455 01:03:14,090 --> 01:03:15,920 Així que vuit mòdul de vuit seria? 1456 01:03:15,920 --> 01:03:16,603 >> ESTUDIANT: Zero. 1457 01:03:16,603 --> 01:03:18,350 >> ALLISON: Zero. 1458 01:03:18,350 --> 01:03:20,160 A causa de que va en forma parella. 1459 01:03:20,160 --> 01:03:22,095 16 mòdul 15? 1460 01:03:22,095 --> 01:03:23,660 >> AUDIÈNCIA: Un. 1461 01:03:23,660 --> 01:03:24,700 >> ALLISON: Cool. 1462 01:03:24,700 --> 01:03:29,280 I després aquesta darrera és només per mostrar usted-- pot ser que es pregunti, OK, 1463 01:03:29,280 --> 01:03:31,800 ¿Quin és l'ordre de les operacions aquí? 1464 01:03:31,800 --> 01:03:33,100 Ens dividim en primer lloc? 1465 01:03:33,100 --> 01:03:34,570 Ens MÒDUL primer? 1466 01:03:34,570 --> 01:03:38,730 Així mòdul té la mateixa precedència com la divisió o multiplicació, 1467 01:03:38,730 --> 01:03:39,940 i la seva associatiu esquerra. 1468 01:03:39,940 --> 01:03:41,730 Així que és de la mateixa manera. 1469 01:03:41,730 --> 01:03:46,520 Es podria fer sempre entre parèntesis, a continuació, multiplicació, divisió, 1470 01:03:46,520 --> 01:03:49,570 i mòdul en ordre d'esquerra a dreta. 1471 01:03:49,570 --> 01:03:51,050 Així regles estàndard. 1472 01:03:51,050 --> 01:03:55,260 Només cal posar a la mateixa categoria com la divisió i la multiplicació. 1473 01:03:55,260 --> 01:03:59,040 >> Així que en aquest cas, ho faríem tenen 1 més 2 ens dóna 3. 1474 01:03:59,040 --> 01:04:02,210 Multipliquem que per 2, per la qual cosa tenim 6. 1475 01:04:02,210 --> 01:04:05,050 Ens mòdul que per 2, el que ens dóna? 1476 01:04:05,050 --> 01:04:06,042 >> ESTUDIANT: 0. 1477 01:04:06,042 --> 01:04:07,430 >> ALLISON: 0. 1478 01:04:07,430 --> 01:04:10,270 I després afegim 2, per la qual cosa aconseguir 2 en aquest últim cas. 1479 01:04:10,270 --> 01:04:12,080 1480 01:04:12,080 --> 01:04:16,360 Així modulo-- estàs definitivament va a estar pensant en maneres d'incorporar 1481 01:04:16,360 --> 01:04:19,520 que quan s'està embolicant tot l'alfabet. 1482 01:04:19,520 --> 01:04:24,210 Si vostè està en Z i ha de moure remetre tres espais per arribar a C, 1483 01:04:24,210 --> 01:04:26,230 hi ha tot aquest concepte d'embolicar al voltant. 1484 01:04:26,230 --> 01:04:28,790 Així que vaig a deixar en mans de vostès per esbrinar 1485 01:04:28,790 --> 01:04:31,940 com és exactament el que vas a usar-lo. 1486 01:04:31,940 --> 01:04:35,660 Però sens dubte una eina útil per a la seva conjunt de processadors aquesta setmana. 1487 01:04:35,660 --> 01:04:36,910 1488 01:04:36,910 --> 01:04:37,730 M'agrada molt això. 1489 01:04:37,730 --> 01:04:39,480 Aquest és un dels meus favorits de conjunts de processadors. 1490 01:04:39,480 --> 01:04:41,230 Després, després que ho facis, si vostè té amics, 1491 01:04:41,230 --> 01:04:44,146 vostè pot, com, enviar un a l'altre secret missatges i assegurar-se que funciona. 1492 01:04:44,146 --> 01:04:45,695 Com que va a desxifrar o el que sigui. 1493 01:04:45,695 --> 01:04:46,710 1494 01:04:46,710 --> 01:04:47,390 Molta diversió. 1495 01:04:47,390 --> 01:04:48,840 1496 01:04:48,840 --> 01:04:51,220 >> I aquest és el final de la secció. 1497 01:04:51,220 --> 01:04:52,430 1498 01:04:52,430 --> 01:04:54,040 Vaig acabar d'hora. 1499 01:04:54,040 --> 01:04:57,540 Encara tinc 15 minuts amb vostès, així que si hi ha alguna cosa 1500 01:04:57,540 --> 01:05:02,180 que li agradaria anar encara més, jo estaria feliç de fer això. 1501 01:05:02,180 --> 01:05:04,340 Alguna altra pregunta sobre el seu conjunt de processadors per a aquells de vostès 1502 01:05:04,340 --> 01:05:06,355 que han començat o llegir l'especificació. 1503 01:05:06,355 --> 01:05:07,870 1504 01:05:07,870 --> 01:05:12,060 Tot el que hem parlat aproximadament en l'última hora 1505 01:05:12,060 --> 01:05:16,880 i 15 minuts que havien m'agrada al tipus de refregit, jo estaria encantat de. 1506 01:05:16,880 --> 01:05:20,790 O podem deixar-ho tot, i vostè pot tot sortir i prendre més dolços amb vostè 1507 01:05:20,790 --> 01:05:21,650 a mesura que avança. 1508 01:05:21,650 --> 01:05:23,719 1509 01:05:23,719 --> 01:05:26,260 Però si hi ha qualsevol persistent pregunta, si us plau m'ho saber. 1510 01:05:26,260 --> 01:05:28,467 També pot venir i parlar amb mi després. 1511 01:05:28,467 --> 01:05:29,425 Et prometo que no mossego. 1512 01:05:29,425 --> 01:05:32,140 1513 01:05:32,140 --> 01:05:32,795 Una mica més? 1514 01:05:32,795 --> 01:05:33,890 1515 01:05:33,890 --> 01:05:35,240 Tothom és bo? 1516 01:05:35,240 --> 01:05:37,540 Sentiment de tot el món com que poden manejar aquest conjunt de processadors? 1517 01:05:37,540 --> 01:05:38,820 1518 01:05:38,820 --> 01:05:42,405 Seràs nois bons. 1519 01:05:42,405 --> 01:05:43,905 Les hores d'oficina hi són per una raó. 1520 01:05:43,905 --> 01:05:45,930 1521 01:05:45,930 --> 01:05:46,460 Refredar. 1522 01:05:46,460 --> 01:05:47,020 Molt bé. 1523 01:05:47,020 --> 01:05:49,680 >> Bé, en aquest cas, gràcies tot gràcies per venir. 1524 01:05:49,680 --> 01:05:50,940 Espero veure't la setmana que ve. 1525 01:05:50,940 --> 01:05:52,120 Hi haurà més dolços. 1526 01:05:52,120 --> 01:05:53,495 És possible que hi hagi altres coses interessants. 1527 01:05:53,495 --> 01:05:55,010 1528 01:05:55,010 --> 01:05:59,090 I miro endavant a aconseguir saber a tots vostès aquest any. 1529 01:05:59,090 --> 01:06:00,320