1 00:00:00,000 --> 00:00:07,170 2 00:00:07,170 --> 00:00:09,100 >> LUCAS FREITAS: OK, suposo ara estem en viu. 3 00:00:09,100 --> 00:00:11,220 Benvingut a CS50 supersección. 4 00:00:11,220 --> 00:00:12,880 Estem menys còmode. 5 00:00:12,880 --> 00:00:13,870 El meu nom és Lluc Freitas. 6 00:00:13,870 --> 00:00:16,230 Sóc 01:00 CS50 Head TFS. 7 00:00:16,230 --> 00:00:17,523 Es tracta de Lauren. 8 00:00:17,523 --> 00:00:19,002 >> LAUREN CARVALHO: Hola, sóc Lauren. 9 00:00:19,002 --> 00:00:21,330 També estic TF Cap de CS50. 10 00:00:21,330 --> 00:00:24,730 >> LUCAS FREITAS: Avui només anem per donar una visió general del que tot el 11 00:00:24,730 --> 00:00:28,440 nois han après a la setmana un, amb sort donar a vostès un bon 12 00:00:28,440 --> 00:00:32,580 sentit al que vostè ha de saber per al problema d'establir un. 13 00:00:32,580 --> 00:00:34,120 >> Només un parell d'anuncis. 14 00:00:34,120 --> 00:00:36,490 En primer lloc, les hores d'oficina. 15 00:00:36,490 --> 00:00:41,580 Les hores d'oficina s'estan produint des de dilluns a dijous en diferents cases a 16 00:00:41,580 --> 00:00:43,450 Annenberg cada dia. 17 00:00:43,450 --> 00:00:46,680 Són un recurs molt bo per a vostè nois per venir i fer preguntes, i 18 00:00:46,680 --> 00:00:49,470 parlar amb TFS, i fins i tot l'intercanvi idees amb altres estudiants. 19 00:00:49,470 --> 00:00:55,420 Així que assegureu-vos d'utilitzar aquest recurs a favor seu. 20 00:00:55,420 --> 00:00:59,790 >> La segona cosa és la CS50 Appliance. 21 00:00:59,790 --> 00:01:01,390 Per a l'últim [inaudible] 22 00:01:01,390 --> 00:01:04,180 vostès no tenien que realment tenir un aparell. 23 00:01:04,180 --> 00:01:06,910 Acabes de fer-ho tot en seu ordinador personal. 24 00:01:06,910 --> 00:01:10,330 No obstant això, per a aquest problema, que en realitat tenen tenir una màquina virtual, així que 25 00:01:10,330 --> 00:01:14,680 Assegureu-vos de descarregar la CS50 Appliance i configurar-lo. 26 00:01:14,680 --> 00:01:18,670 >> I la tercera cosa és que assegureu-vos de iniciar el conjunt de problemes ASAP només 27 00:01:18,670 --> 00:01:22,740 perquè és molt més fàcil de trobar ajudar quan vostè està en el 28 00:01:22,740 --> 00:01:23,730 al començament de la setmana. 29 00:01:23,730 --> 00:01:27,540 Com que la gent tendeix a esperar fins que el últim segon per iniciar el conjunt de problemes, 30 00:01:27,540 --> 00:01:29,730 i després vas a les hores d'oficina, i hi ha un munt de gent. 31 00:01:29,730 --> 00:01:33,020 On si vas el dilluns, vas per veure que es pot parlar amb TFS 32 00:01:33,020 --> 00:01:35,870 gairebé tota la nit, I van més de 33 00:01:35,870 --> 00:01:37,790 encantat d'ajudar. 34 00:01:37,790 --> 00:01:40,720 >> LAUREN CARVALHO: Puc deixar de per només un segon? 35 00:01:40,720 --> 00:01:43,330 Tothom ha estat capaç de descarregar Appliance CS50? 36 00:01:43,330 --> 00:01:44,255 Han tractat a la gent? 37 00:01:44,255 --> 00:01:47,120 >> LUCAS FREITAS: Per descarregar, pel manera, pot obtenir instruccions al 38 00:01:47,120 --> 00:01:48,045 cs50.net/appliance. 39 00:01:48,045 --> 00:01:48,817 >> LAUREN CARVALHO: així. 40 00:01:48,817 --> 00:01:53,120 I ho fa prendre una mica de temps per a la nostra administradors de sistemes per obtenir una llicència 41 00:01:53,120 --> 00:01:55,450 clau, de manera d'inscriure en el primera prova gratuïta. 42 00:01:55,450 --> 00:01:59,080 D'aquesta manera vostè tindrà durant 30 dies, i després esperar que la seva clau de llicència 43 00:01:59,080 --> 00:02:02,650 que ha de donar que durant un any vostè. 44 00:02:02,650 --> 00:02:04,100 >> LUCAS FREITAS: En primer lloc, parlarem una mica 45 00:02:04,100 --> 00:02:06,180 sobre el CS50 Appliance. 46 00:02:06,180 --> 00:02:10,770 El CS50 Appliance és en realitat una virtuals màquina que es va a 47 00:02:10,770 --> 00:02:15,040 executar en el seu propi ordinador, que és bàsicament l'execució d'un altre equip 48 00:02:15,040 --> 00:02:16,010 dins del seu propi ordinador. 49 00:02:16,010 --> 00:02:16,800 La qual cosa és molt bo. 50 00:02:16,800 --> 00:02:19,420 I en realitat s'utilitza a tot arreu. 51 00:02:19,420 --> 00:02:23,150 Les persones que a tecnologia sabrien que això s'utilitza tot el temps. 52 00:02:23,150 --> 00:02:23,250 vostè? 53 00:02:23,250 --> 00:02:26,200 Pot tenir diversos ordinadors en un sol dispositiu. 54 00:02:26,200 --> 00:02:27,760 >> Anem a fer una ullada en realitat en l'aparell. 55 00:02:27,760 --> 00:02:32,680 56 00:02:32,680 --> 00:02:36,640 Quan vostè va a l'aparell després de registrar, vostè va a haver de 57 00:02:36,640 --> 00:02:42,035 posi el seu nom i entre a Harvard pel que podem arribar a tots vostès registrat. 58 00:02:42,035 --> 00:02:46,570 Vostè va a veure, bàsicament, només un fons d'escriptori, i després Home i Paperera, 59 00:02:46,570 --> 00:02:48,980 i després aquests petits icones. 60 00:02:48,980 --> 00:02:51,930 Aquests tres icones en realitat són els més coses importants que vostè pot tenir en 61 00:02:51,930 --> 00:02:53,000 seu aparell. 62 00:02:53,000 --> 00:03:00,270 >> La primera és gedit, que és un text editor, com el Bloc de notes o com a 63 00:03:00,270 --> 00:03:01,440 qualsevol tipus d'editor de text. 64 00:03:01,440 --> 00:03:09,750 És una cosa que fem servir per escriure codi i després fer coses amb ell. 65 00:03:09,750 --> 00:03:11,770 >> La segona cosa que ens tenim aquí és Chrome. 66 00:03:11,770 --> 00:03:13,910 Així que si vostè necessita utilitzar l'Internet en l'aparell, això és 67 00:03:13,910 --> 00:03:15,030 el que pot utilitzar. 68 00:03:15,030 --> 00:03:22,000 >> I la tercera cosa és el terminal, que en realitat és molt dolça. 69 00:03:22,000 --> 00:03:26,420 La gent en general són una mena de por de el terminal perquè és aquest mateix 70 00:03:26,420 --> 00:03:32,320 aplicació antiga en la qual es només bàsicament escriure tot amb 71 00:03:32,320 --> 00:03:32,940 el seu teclat. 72 00:03:32,940 --> 00:03:34,730 No hi ha una gran quantitat d'interacció amb el ratolí. 73 00:03:34,730 --> 00:03:39,780 Però en realitat el terminal fa coses molt bones. 74 00:03:39,780 --> 00:03:43,990 >> En primer lloc, anem a anar a través d' alguns comandaments que 75 00:03:43,990 --> 00:03:48,765 pot utilitzar en el terminal. 76 00:03:48,765 --> 00:03:51,995 >> LAUREN CARVALHO I no dubteu a passar amb nosaltres si té alguna pregunta. 77 00:03:51,995 --> 00:03:52,830 >> LUCAS FREITAS: Si. 78 00:03:52,830 --> 00:04:01,950 Així que la primera ordre que tenim per al terminal és ls. 79 00:04:01,950 --> 00:04:06,450 ls bàsicament vol dir llista de tot, tot els arxius i tots els directors, 80 00:04:06,450 --> 00:04:09,540 que tinc en el lloc que estic. 81 00:04:09,540 --> 00:04:15,200 Així que si ho faig ls aquí, jo vaig a veure que tinc alguns directoris. 82 00:04:15,200 --> 00:04:18,670 Tinc l'escriptori, les descàrregues, els registres i els vhosts. 83 00:04:18,670 --> 00:04:21,260 Aquests són en blau, ja que són tots els directoris. 84 00:04:21,260 --> 00:04:24,160 >> Llavors vostè té alguns altres arxius. 85 00:04:24,160 --> 00:04:27,840 Té com hola i hello.c, que són només arxius, i estan en 86 00:04:27,840 --> 00:04:28,910 diferents colors. 87 00:04:28,910 --> 00:04:33,960 Així que aquest és una ordre molt important igual es pot veure quins són els arxius 88 00:04:33,960 --> 00:04:37,690 i directoris que vostè té en el directori que 89 00:04:37,690 --> 00:04:39,410 vostè està en el terminal. 90 00:04:39,410 --> 00:04:44,580 Quan vegi jharvard @ aparell i llavors el petit símbol d'allà, el 91 00:04:44,580 --> 00:04:49,185 accent, això només vol dir que aquesta és la directori que vostè està en aquest moment. 92 00:04:49,185 --> 00:04:52,970 >> LAUREN CARVALHO: Per tant teclejar ls és gairebé com fer clic a la carpeta 93 00:04:52,970 --> 00:04:57,380 que apareix just aquí, a la Mostra que tots els continguts que són 94 00:04:57,380 --> 00:04:58,886 dins d'aquesta carpeta. 95 00:04:58,886 --> 00:05:04,232 >> AUDIÈNCIA: Hi ha text després de la hola.c? 96 00:05:04,232 --> 00:05:10,070 >> LAUREN CARVALHO: Oh, no pots veure això, perquè és blau. 97 00:05:10,070 --> 00:05:12,490 >> LUCAS FREITAS: Diu registres i amb dominis virtuals. 98 00:05:12,490 --> 00:05:14,450 >> LAUREN CARVALHO: Aquests són només altres carpetes. 99 00:05:14,450 --> 00:05:16,890 Ho sento, és molt difícil de veure. 100 00:05:16,890 --> 00:05:19,090 Potser si apaguem els llums? 101 00:05:19,090 --> 00:05:23,002 Colton, vols provar i trobar l'interruptor de la llum? 102 00:05:23,002 --> 00:05:24,960 Ho sento per això. 103 00:05:24,960 --> 00:05:25,675 Jo no penso en això. 104 00:05:25,675 --> 00:05:27,340 >> LUCAS FREITAS: Però és bàsicament - 105 00:05:27,340 --> 00:05:30,310 sí, si pogués - 106 00:05:30,310 --> 00:05:32,278 >> LAUREN CARVALHO: Zoom a la pantalla. 107 00:05:32,278 --> 00:05:34,738 >> LUCAS FREITAS: no ho faig tenen aquesta característica. 108 00:05:34,738 --> 00:05:35,988 >> LAUREN CARVALHO: [inaudible]. 109 00:05:35,988 --> 00:05:39,528 110 00:05:39,528 --> 00:05:40,001 D'acord. 111 00:05:40,001 --> 00:05:44,270 Bé, només hi ha un munt dels recursos naturals la llum en aquesta habitació. 112 00:05:44,270 --> 00:05:48,726 >> LUCAS FREITAS: Anem a suposar que hi ha dos directoris allà. 113 00:05:48,726 --> 00:05:49,780 >> LAUREN CARVALHO: Només tenir amb nosaltres. 114 00:05:49,780 --> 00:05:54,200 Aquesta és l'única part que vostè va a es busca a la terminal. 115 00:05:54,200 --> 00:06:00,160 >> LUCAS FREITAS: El següent comanda és bàsicament, potser vostè vol organitzar 116 00:06:00,160 --> 00:06:01,080 seus arxius - 117 00:06:01,080 --> 00:06:05,015 per exemple, tots els arxius de C en una directori, però vostè no té un 118 00:06:05,015 --> 00:06:07,180 directori només per a C presenta encara. 119 00:06:07,180 --> 00:06:11,590 És, bàsicament, pot crear un directori utilitzant el terminal, així, que és 120 00:06:11,590 --> 00:06:15,670 el mateix que fer clic dret i dient a Nova carpeta. 121 00:06:15,670 --> 00:06:20,640 La comanda es crea directori, que és mkdir, de manera que, bàsicament, "fer" i 122 00:06:20,640 --> 00:06:21,260 "Directori". 123 00:06:21,260 --> 00:06:22,680 >> I llavors vostè pot posar el nom del directori. 124 00:06:22,680 --> 00:06:32,490 Diguem que jo volia ser cridat, Jo no sé, diguem pset1 Doing 125 00:06:32,490 --> 00:06:33,900 això, m'acaba de crear un directori. 126 00:06:33,900 --> 00:06:35,910 Anem a comprovar que està allà. 127 00:06:35,910 --> 00:06:40,870 Així que si ho faig ls, ara veig els registres, i llavors pset1, i després vhosts. 128 00:06:40,870 --> 00:06:44,360 Així que tinc el nou directori existeix. 129 00:06:44,360 --> 00:06:46,670 >> I després, després de tenir un nou directori, potser vostè vol navegar 130 00:06:46,670 --> 00:06:51,760 en ella, de manera que la següent comanda aquest cd, que, bàsicament, només significa anar a un 131 00:06:51,760 --> 00:06:53,400 directori específic. 132 00:06:53,400 --> 00:06:58,377 Així que si vull anar a pset1, Jo només puc fer pset1 cd. 133 00:06:58,377 --> 00:07:01,550 >> LAUREN CARVALHO: cd representa el canvi directori, [inaudible] capaç de 134 00:07:01,550 --> 00:07:02,230 recordar això. 135 00:07:02,230 --> 00:07:05,460 >> LUCAS FREITAS I ara es veu que en lloc de només tenir jharvard 136 00:07:05,460 --> 00:07:09,150 aparell, he jharvard aparell, i després pset1, perquè està mostrant 137 00:07:09,150 --> 00:07:14,150 amb mi on jo estic en aquest equip. 138 00:07:14,150 --> 00:07:17,510 >> Ara si vull tornar a la directori que era abans d'aquesta, em 139 00:07:17,510 --> 00:07:22,950 pot fer un punt punt cd, que només vol dir anar al directori que el que era abans, 140 00:07:22,950 --> 00:07:26,290 com el pare d'aquesta directori, bàsicament. 141 00:07:26,290 --> 00:07:30,460 I ara veig que estic de nou a jharvard. 142 00:07:30,460 --> 00:07:36,050 >> La següent cosa que jo puc fer-ho és rm, que és eliminar un arxiu. 143 00:07:36,050 --> 00:07:39,590 Per exemple, primer farem ls per veure el que tinc aquí. 144 00:07:39,590 --> 00:07:41,790 Tinc hola i hello.c. 145 00:07:41,790 --> 00:07:43,780 Diguem que vull eliminar-los. 146 00:07:43,780 --> 00:07:48,280 Jo puc fer hola rm. 147 00:07:48,280 --> 00:07:52,770 Es dirà "eliminar arxiu regular hola? "I jo dic" sí. "I ara, si em 148 00:07:52,770 --> 00:07:56,410 fer ls, veig que es tracta d' No hi ha més. 149 00:07:56,410 --> 00:07:59,700 >> Si tracte d'usar rm per a un directori, però, no va 150 00:07:59,700 --> 00:08:00,800 deixar de fer res. 151 00:08:00,800 --> 00:08:02,960 Es dirà, escolta, no es pot eliminar un directori. 152 00:08:02,960 --> 00:08:08,100 Així que tenim aquesta altra vénen anomenat rmdir, que simplement significa bàsicament 153 00:08:08,100 --> 00:08:09,800 eliminar el directori. 154 00:08:09,800 --> 00:08:12,842 Puc, per exemple, eliminar pset1. 155 00:08:12,842 --> 00:08:15,770 I si ho faig ls, no ho faig tenir més. 156 00:08:15,770 --> 00:08:18,430 >> Una pregunta sobre això? 157 00:08:18,430 --> 00:08:20,200 No? 158 00:08:20,200 --> 00:08:20,595 Sí? 159 00:08:20,595 --> 00:08:23,954 >> AUDIÈNCIA: És important que deixi un espai després - sempre que 160 00:08:23,954 --> 00:08:26,540 comenci a escriure alguna cosa en? 161 00:08:26,540 --> 00:08:26,830 >> LUCAS FREITAS: Si. 162 00:08:26,830 --> 00:08:32,080 Si ho faig com el CD i el directori, He de posar un espai. 163 00:08:32,080 --> 00:08:33,350 Quin espai estàs parlant? 164 00:08:33,350 --> 00:08:34,979 >> LAUREN CARVALHO: L'espai entre cd i [inaudible]. 165 00:08:34,979 --> 00:08:37,710 >> LUCAS FREITAS: Sí, vostè haurà de posar els espais perquè cd és la 166 00:08:37,710 --> 00:08:42,770 comandament, i després la següent cadena que quin tipus és bàsicament el directori. 167 00:08:42,770 --> 00:08:45,020 Així que és com un argument. 168 00:08:45,020 --> 00:08:45,360 Sí? 169 00:08:45,360 --> 00:08:47,952 >> AUDIÈNCIA: Quan vostè enumera, tots aquells són directoris diferents, no? 170 00:08:47,952 --> 00:08:50,125 >> LUCAS FREITAS: Sí, són al directori. 171 00:08:50,125 --> 00:08:53,524 >> AUDIÈNCIA: Quina és la diferència entre els directoris? 172 00:08:53,524 --> 00:08:55,390 >> LUCAS FREITAS: Són simplement diferents carpetes. 173 00:08:55,390 --> 00:08:57,366 Directori és una carpeta al seu ordinador. 174 00:08:57,366 --> 00:08:58,120 >> AUDIÈNCIA: Obrir carpeta. 175 00:08:58,120 --> 00:09:00,140 >> LUCAS FREITAS: Sí, és només una carpeta oberta. 176 00:09:00,140 --> 00:09:03,400 >> LAUREN CARVALHO: Per aquí, les que estan en blau són reals 177 00:09:03,400 --> 00:09:07,107 directoris que vostè pot aconseguir en i a continuació, veure un munt de coses que són 178 00:09:07,107 --> 00:09:10,248 dins d'ella, la qual cosa és lamentable perquè no es pot llegir la realitat 179 00:09:10,248 --> 00:09:11,290 els de color blau. 180 00:09:11,290 --> 00:09:16,166 I els que estan en blanc són només arxius que són dins el directori actual. 181 00:09:16,166 --> 00:09:17,870 >> LUCAS FREITAS: So directoris són carpetes. 182 00:09:17,870 --> 00:09:18,810 Els altres són arxius. 183 00:09:18,810 --> 00:09:22,810 >> AUDIÈNCIA: Quin és la comanda per restablir o per desactivar? 184 00:09:22,810 --> 00:09:23,650 LUCAS FREITAS: Per esborrar? 185 00:09:23,650 --> 00:09:24,362 LAUREN CARVALHO: Per esborrar? 186 00:09:24,362 --> 00:09:27,985 LUCAS FREITAS: Crec que que és "clar". Sí 187 00:09:27,985 --> 00:09:32,370 Llavors només ha de teclejar clar si la pantalla és massa desordenat. 188 00:09:32,370 --> 00:09:33,700 Alguna altra pregunta? 189 00:09:33,700 --> 00:09:36,720 I aprendràs un munt d'altres comandaments de manera natural durant el 190 00:09:36,720 --> 00:09:38,405 semestre perquè són molt útils. 191 00:09:38,405 --> 00:09:42,380 192 00:09:42,380 --> 00:09:46,155 >> Així que ara anem a parlar de la compilació. 193 00:09:46,155 --> 00:09:51,510 194 00:09:51,510 --> 00:09:54,730 Parlem de pseudocodi i codi font i el codi objecte. 195 00:09:54,730 --> 00:09:59,020 I hi ha una gran quantitat de codis, i potser vostès estan confosos sobre això. 196 00:09:59,020 --> 00:10:02,190 Anem a parlar una mica sobre el que que passa quan estàs escrivint un programa, 197 00:10:02,190 --> 00:10:06,620 i compilar, i esdevé un arxiu executable. 198 00:10:06,620 --> 00:10:10,190 Aquestes són totes les paraules que vostès probablement ha escoltat, i que per tant no està 199 00:10:10,190 --> 00:10:12,130 molt segur del que està passant. 200 00:10:12,130 --> 00:10:15,540 >> Diguem, per exemple, que vull escriure un programa que diu "hola". La 201 00:10:15,540 --> 00:10:19,670 el primer que ve a la ment és quin tipus de tracta de pensar en com ets 202 00:10:19,670 --> 00:10:23,000 va a fer això en la teva ment, i segur que està pensant en Anglès o 203 00:10:23,000 --> 00:10:25,550 algun altre idioma, com naturals llenguatge, probablement. 204 00:10:25,550 --> 00:10:28,770 I llavors penses, bé, si vull, per exemple, escriure un programa que 205 00:10:28,770 --> 00:10:32,630 diu "hola", m'agradaria començar un programa, Vaig a imprimir hola i, a continuació, ho faré 206 00:10:32,630 --> 00:10:35,270 sortir del programa. 207 00:10:35,270 --> 00:10:36,350 Aquest és pseudocodi. 208 00:10:36,350 --> 00:10:41,740 És a dir, bàsicament, només estàs intentant arribar a una seqüència d'esdeveniments 209 00:10:41,740 --> 00:10:46,510 que vas a fer per ser capaç d'escriure un programa. 210 00:10:46,510 --> 00:10:49,610 >> Llavors vostè té el codi font, i el codi font no ha de 211 00:10:49,610 --> 00:10:53,240 estar específicament en C. Estem parlant sobre el codi font en C, perquè això és 212 00:10:53,240 --> 00:10:56,760 la llengua que estem aprenent, però és clar codi pot ser gairebé qualsevol 213 00:10:56,760 --> 00:10:59,160 llenguatge de programació que vostè té. 214 00:10:59,160 --> 00:11:01,230 Més endavant en el semestre, vas per aprendre altres idiomes. 215 00:11:01,230 --> 00:11:03,230 Aquest és també el codi font. 216 00:11:03,230 --> 00:11:07,380 >> Per exemple, aquí, aquesta és la meva font codi, i després estic incloent un 217 00:11:07,380 --> 00:11:10,170 biblioteca, i llavors començo principal, i després imprimeixo. 218 00:11:10,170 --> 00:11:14,510 I Laura se'n va a parlar una mica poc sobre tot això. 219 00:11:14,510 --> 00:11:16,190 Així que aquest és el codi font. 220 00:11:16,190 --> 00:11:19,590 >> ¿I quin és el codi d'objecte? 221 00:11:19,590 --> 00:11:22,500 L'objecte és un munt de zeros i altres, bàsicament. 222 00:11:22,500 --> 00:11:27,680 El que passa és que inicialment té pseudocodi, que és tot en anglès. 223 00:11:27,680 --> 00:11:29,020 I vull dir, vostè ho entén. 224 00:11:29,020 --> 00:11:31,260 Probablement teus amics entenen , I la majoria de la gent ho faria 225 00:11:31,260 --> 00:11:32,560 entendre la idea. 226 00:11:32,560 --> 00:11:36,770 Però els ordinadors són molt ximple, i no entenen Anglès, per la qual cosa 227 00:11:36,770 --> 00:11:41,320 han traduir això en alguna cosa, generalment traduït en alguns 228 00:11:41,320 --> 00:11:42,460 llenguatge de programació. 229 00:11:42,460 --> 00:11:46,840 >> I es pot pensar en una programació el llenguatge com una mena llenguatge 230 00:11:46,840 --> 00:11:50,970 que informi al seu equip com de parlar i d'entendre. 231 00:11:50,970 --> 00:11:54,160 Bàsicament, s'està escrivint alguna cosa en un llenguatge que tots dos vostè i la seva 232 00:11:54,160 --> 00:11:55,190 equip entén. 233 00:11:55,190 --> 00:11:56,470 Aquest és el codi font. 234 00:11:56,470 --> 00:12:00,580 Forma Així que va a la font de pseudocodi codi, li toca a vostè. 235 00:12:00,580 --> 00:12:03,130 Es tracta bàsicament que fer el seu programa. 236 00:12:03,130 --> 00:12:06,740 >> Però el problema és que el ordinador no fins i tot 237 00:12:06,740 --> 00:12:08,360 comprendre el llenguatge de programació. 238 00:12:08,360 --> 00:12:10,320 No entén codi font en absolut. 239 00:12:10,320 --> 00:12:12,520 En realitat, només entén zeros i uns. 240 00:12:12,520 --> 00:12:16,570 Així que tenim aquesta cosa molt màgica anomenada un compilador, que és bàsicament 241 00:12:16,570 --> 00:12:19,755 posarà la font trucada que escriure en una llengua que tant vostè 242 00:12:19,755 --> 00:12:25,320 i el seu equip parlen, i ara tu ets transformarà que en 243 00:12:25,320 --> 00:12:26,270 zeros i uns. 244 00:12:26,270 --> 00:12:30,860 Així que bàsicament el que el compilador fa és es posa el codi font, en aquest cas C, 245 00:12:30,860 --> 00:12:34,100 que va a la transformen en zeros i els que l'ordinador 246 00:12:34,100 --> 00:12:37,440 entén i pot fer una arxiu executable fora d'ell. 247 00:12:37,440 --> 00:12:40,900 >> Això té sentit? 248 00:12:40,900 --> 00:12:45,300 Vostè només pot pensar en el compilador com una mena de traductor que estigui 249 00:12:45,300 --> 00:12:50,280 ajudar a explicar a l'ordinador exactament el que se suposa que ha de fer. 250 00:12:50,280 --> 00:12:52,310 >> Però com puc compilar. 251 00:12:52,310 --> 00:12:59,680 Tornem a l'aparell, i diguem que estic fent aquest programa. 252 00:12:59,680 --> 00:13:04,220 En primer lloc vaig a crear un directori aquí, i jo vaig a dir- 253 00:13:04,220 --> 00:13:11,130 "Pràctica". Ara em vaig a navegar en el directori, de manera que la pràctica cd. 254 00:13:11,130 --> 00:13:13,210 Ara estic dins de la pràctica. 255 00:13:13,210 --> 00:13:16,860 >> Ara vull començar gedit, així que com ho faig? 256 00:13:16,860 --> 00:13:21,920 Jo tampoc puc fer clic aquí o puc simplement literalment escriure "gedit", i va 257 00:13:21,920 --> 00:13:24,290 obrir per a mi. 258 00:13:24,290 --> 00:13:28,100 >> Ara vaig a escriure el meu programa, de manera que exactament el que vaig escriure a la diapositiva. 259 00:13:28,100 --> 00:13:30,360 Estic declarant una biblioteca. 260 00:13:30,360 --> 00:13:35,440 Estic fent int main, nul · la. 261 00:13:35,440 --> 00:13:39,180 I ara que estic fent printf, hola. 262 00:13:39,180 --> 00:13:46,530 263 00:13:46,530 --> 00:13:50,170 Ara em vaig a guardar això. 264 00:13:50,170 --> 00:13:53,665 Déjame posar-ho en pràctica, i Vaig a trucar a aquest hello.c. 265 00:13:53,665 --> 00:13:57,710 266 00:13:57,710 --> 00:13:59,590 Així que ara es transforma en gol. 267 00:13:59,590 --> 00:14:03,250 >> Si vull compilar, jo en realitat pot fer-ho en dos llocs diferents. 268 00:14:03,250 --> 00:14:07,090 Ja sigui que puc fer-ho en una finestra de terminal, de manera que aquest gran, o pot 269 00:14:07,090 --> 00:14:09,860 utilitzar gedit que té en realitat una finestra de terminal aquí. 270 00:14:09,860 --> 00:14:17,890 Així que vostè pot fer molt bé el seu codi, i llavors vostè pot escriure simplement 271 00:14:17,890 --> 00:14:20,670 el que sigui aquí, i tractar de compilar. 272 00:14:20,670 --> 00:14:23,450 >> Llavors, com puc compilar codi? 273 00:14:23,450 --> 00:14:27,495 La forma més senzilla que tenim és mitjançant l'ús de fer, que és una funció que 274 00:14:27,495 --> 00:14:29,590 bàsicament es va a compilar el codi. 275 00:14:29,590 --> 00:14:34,170 Només has de dir hola a fer, de manera que "Fer" i el nom del programa. 276 00:14:34,170 --> 00:14:35,420 >> Ho sentim. 277 00:14:35,420 --> 00:14:38,250 278 00:14:38,250 --> 00:14:39,280 Això és incòmode. 279 00:14:39,280 --> 00:14:41,738 >> LAUREN CARVALHO: Potser [inaudible]? 280 00:14:41,738 --> 00:14:45,182 281 00:14:45,182 --> 00:14:45,990 >> LUCAS FREITAS: Ho sento. 282 00:14:45,990 --> 00:14:49,960 Jo no la salvo a ella al directori correcte. 283 00:14:49,960 --> 00:14:52,130 Vine a la pràctica, i ara guardar-lo com hello.c. 284 00:14:52,130 --> 00:14:54,750 Ho sento. 285 00:14:54,750 --> 00:14:56,250 Ara ja s'ha guardat. 286 00:14:56,250 --> 00:14:58,300 >> Permetin-me fer ls i ser Segur que és aquí. 287 00:14:58,300 --> 00:14:59,460 Bé, ara que és aquí. 288 00:14:59,460 --> 00:15:05,930 Així que ara si ho faig fer hola, escup un munt de coses, però llavors, només es dóna 289 00:15:05,930 --> 00:15:08,870 em una altra línia per a la terminal, que significa que s'ha realitzat correctament. 290 00:15:08,870 --> 00:15:13,160 Així que ara si faig un ls de nou, en realitat veure aquesta imatge en verd, que és el 291 00:15:13,160 --> 00:15:15,470 arxiu executable. 292 00:15:15,470 --> 00:15:21,700 >> I llavors, si vull córrer, tots els que Que he de fer és slash dot hola. 293 00:15:21,700 --> 00:15:25,830 Es va a saludar aquí, per que és exactament el que estic demanant que ho faci. 294 00:15:25,830 --> 00:15:29,620 >> Hi ha una forma més de la compilació, que està utilitzant so metàl · lic. 295 00:15:29,620 --> 00:15:35,740 Clang és només un compilador que tenim, i és una mica més detallat de 296 00:15:35,740 --> 00:15:36,390 compilar. 297 00:15:36,390 --> 00:15:40,180 Però funciona igual de bé. 298 00:15:40,180 --> 00:15:46,810 Així que si ho faig soroll metàl · lic, i després-o, i després el nom que vull donar a 299 00:15:46,810 --> 00:15:50,400 l'arxiu executable, per la qual cosa direm "Hola." I a continuació, l'arxiu que vull 300 00:15:50,400 --> 00:15:53,460 compilar, hello.c. 301 00:15:53,460 --> 00:15:55,900 També va a compilar. 302 00:15:55,900 --> 00:15:59,020 I vostè té l'arxiu aquí, i Jo només puc executar també. 303 00:15:59,020 --> 00:16:00,610 Així que tots dos treballen. 304 00:16:00,610 --> 00:16:03,270 >> Això té sentit? 305 00:16:03,270 --> 00:16:06,020 Alguna pregunta? 306 00:16:06,020 --> 00:16:09,020 >> AUDIÈNCIA: Pot ampliar aquí a una estona? 307 00:16:09,020 --> 00:16:09,913 >> LUCAS FREITAS: Ho sents? 308 00:16:09,913 --> 00:16:11,135 >> AUDIÈNCIA: Zoom in? 309 00:16:11,135 --> 00:16:13,310 >> LAUREN CARVALHO: Crec que només pot ordenar més. 310 00:16:13,310 --> 00:16:14,295 >> LUCAS FREITAS: Envia a què? 311 00:16:14,295 --> 00:16:16,060 >> LAUREN CARVALHO: Comando més. 312 00:16:16,060 --> 00:16:17,000 >> LUCAS FREITAS: No 313 00:16:17,000 --> 00:16:19,350 >> LAUREN CARVALHO: Oh, això no és anar a treballar, perquè - 314 00:16:19,350 --> 00:16:25,548 és perquè hem creat la resolució per això. 315 00:16:25,548 --> 00:16:27,450 >> LUCAS FREITAS: no ho faig pensem que podem fer més gran 316 00:16:27,450 --> 00:16:30,852 317 00:16:30,852 --> 00:16:34,130 Sí, no podem fer zoom. 318 00:16:34,130 --> 00:16:36,200 Tens una altra pregunta? 319 00:16:36,200 --> 00:16:36,680 Ho sento. 320 00:16:36,680 --> 00:16:39,170 >> AUDIÈNCIA: Pot repetir so metàl · lic? 321 00:16:39,170 --> 00:16:40,630 >> LUCAS FREITAS: El so metàl · lic? 322 00:16:40,630 --> 00:16:44,190 Clang és el mateix que fer, però el diferència és que primer vaig 323 00:16:44,190 --> 00:16:48,460 per escriure so metàl · lic, que és la comanda, llavors jo faré -0, tots, la qual cosa és 324 00:16:48,460 --> 00:16:51,680 just el que anem a aprendre més tard com una bandera. 325 00:16:51,680 --> 00:16:54,440 Així que crec que sempre has de posar-o. 326 00:16:54,440 --> 00:16:58,690 >> I a continuació, en primer lloc, vostè va a posar el nom del fitxer executable, 327 00:16:58,690 --> 00:17:00,680 bàsicament l'arxiu que estàs crearà. 328 00:17:00,680 --> 00:17:06,430 Així que puc dir, per exemple, hello2 i llavors l'arxiu que vull recopilar, 329 00:17:06,430 --> 00:17:07,800 que és l'arxiu c .. 330 00:17:07,800 --> 00:17:09,240 Així que això és hello.c. 331 00:17:09,240 --> 00:17:10,871 Això té sentit? 332 00:17:10,871 --> 00:17:12,635 >> AUDIÈNCIA: Hola, què? 333 00:17:12,635 --> 00:17:13,076 Què és això? 334 00:17:13,076 --> 00:17:15,960 >> LUCAS FREITAS: hello.c. 335 00:17:15,960 --> 00:17:19,849 I si puc compilar, i si Jo ls, també tinc un 336 00:17:19,849 --> 00:17:22,010 hello2 que acaba de compilar. 337 00:17:22,010 --> 00:17:26,339 I si intento executar-lo, que va a fer exactament el mateix que hola, 338 00:17:26,339 --> 00:17:27,089 només imprimir hola. 339 00:17:27,089 --> 00:17:31,660 >> AUDIÈNCIA: Com és que per a la marca vostè pot posar hola.c després? 340 00:17:31,660 --> 00:17:33,880 >> LUCAS FREITAS: A la marca, que no han de posar el. c. 341 00:17:33,880 --> 00:17:36,140 A la marca, que acaba de dir el el nom del programa. 342 00:17:36,140 --> 00:17:37,750 No ha de dir. C. 343 00:17:37,750 --> 00:17:39,020 Però per Clang, hauria de fer. 344 00:17:39,020 --> 00:17:44,040 >> AUDIÈNCIA: Amb so metàl · lic fa també cal afegir la [inaudible] 345 00:17:44,040 --> 00:17:44,480 >> LAUREN CARVALHO: Si. 346 00:17:44,480 --> 00:17:46,180 Així que vostè també té a la biblioteca. 347 00:17:46,180 --> 00:17:51,170 >> LUCAS FREITAS: Sí, això és una cosa utilitzarem més endavant. 348 00:17:51,170 --> 00:17:54,850 Això es diu d'enllaç, i crec que estem anem a parlar-ne més tard. 349 00:17:54,850 --> 00:17:55,930 Una altra pregunta? 350 00:17:55,930 --> 00:17:59,927 >> AUDIÈNCIA: Poses un so metàl · lic slash dot? 351 00:17:59,927 --> 00:18:01,060 >> LUCAS FREITAS: No 352 00:18:01,060 --> 00:18:06,040 La barra de punts és només per obrir l'arxiu executable. 353 00:18:06,040 --> 00:18:09,440 Així Clang, que acaba d'escriure "Clang", i llavors el si vols obrir el 354 00:18:09,440 --> 00:18:12,640 arxiu executable que acaba compilat, llavors vostè dot 355 00:18:12,640 --> 00:18:13,780 tala i el nom. 356 00:18:13,780 --> 00:18:15,100 Això té sentit? 357 00:18:15,100 --> 00:18:18,635 358 00:18:18,635 --> 00:18:22,435 >> AUDIÈNCIA: Si es canviarà sol [Inaudible] per hola món, oi 359 00:18:22,435 --> 00:18:23,870 haver de recompilar? 360 00:18:23,870 --> 00:18:24,750 >> LUCAS FREITAS: Si. 361 00:18:24,750 --> 00:18:36,650 si vull dir, per exemple, "hola allà, "Només es pot guardar ara, i jo 362 00:18:36,650 --> 00:18:38,020 només compilar de nou. 363 00:18:38,020 --> 00:18:41,910 Així que permetin-me fer un make hola. 364 00:18:41,910 --> 00:18:48,490 I si ho faig hola, que va a dir "hola." Té sentit? 365 00:18:48,490 --> 00:18:50,280 Alguna altra pregunta? 366 00:18:50,280 --> 00:18:54,384 >> AUDIÈNCIA: Ha d'incloure la E / S estàndard per coordinar la feina? 367 00:18:54,384 --> 00:18:55,480 >> LUCAS FREITAS: Si. 368 00:18:55,480 --> 00:18:58,050 L'E / S estàndard és bàsicament la biblioteca que té un 369 00:18:58,050 --> 00:19:00,050 aplicació de printf. 370 00:19:00,050 --> 00:19:03,450 371 00:19:03,450 --> 00:19:06,910 Així que el correcte en el superior inclou stdio. 372 00:19:06,910 --> 00:19:11,920 Això està incloent una biblioteca que bàsicament, té un munt de diferents 373 00:19:11,920 --> 00:19:13,260 eines que es poden utilitzar. 374 00:19:13,260 --> 00:19:13,480 un? 375 00:19:13,480 --> 00:19:17,820 D'ells és printf és una funció que bàsicament impressions 376 00:19:17,820 --> 00:19:21,290 missatges a la pantalla. 377 00:19:21,290 --> 00:19:23,200 >> Alguna altra pregunta? 378 00:19:23,200 --> 00:19:24,700 No? 379 00:19:24,700 --> 00:19:25,060 D'acord. 380 00:19:25,060 --> 00:19:31,620 Així que ara anem a parlar de - 381 00:19:31,620 --> 00:19:33,948 >> LAUREN CARVALHO: Anem a anar a la guia d'estil. 382 00:19:33,948 --> 00:19:35,896 Vols simplement trobar en aquesta llista? 383 00:19:35,896 --> 00:19:37,880 >> LUCAS FREITAS: Així que anem per parlar d'estil. 384 00:19:37,880 --> 00:19:47,006 385 00:19:47,006 --> 00:19:50,430 >> LAUREN CARVALHO: Oh, David no va acabar. 386 00:19:50,430 --> 00:19:51,230 D'acord. 387 00:19:51,230 --> 00:19:53,870 Per què no tornem a estil al final? 388 00:19:53,870 --> 00:19:56,220 En realitat, ha estat actualitzat mentre parlem. 389 00:19:56,220 --> 00:19:56,810 >> LUCAS FREITAS: Si. 390 00:19:56,810 --> 00:19:58,300 Anem camí a David per acabar això. 391 00:19:58,300 --> 00:20:07,150 392 00:20:07,150 --> 00:20:08,600 >> LAUREN CARVALHO: Llauna canviem realment? 393 00:20:08,600 --> 00:20:14,920 394 00:20:14,920 --> 00:20:17,200 >> Així que espero que tothom ha estat gaudint de Scratch. 395 00:20:17,200 --> 00:20:21,950 Per desgràcia, és el moment de allunyar d'això - 396 00:20:21,950 --> 00:20:25,280 per desgràcia és el moment d'allunyar- a partir d'aquests blocs de programació boniques 397 00:20:25,280 --> 00:20:28,530 a C. Però per sort, tot el construccions de programació que vostè té 398 00:20:28,530 --> 00:20:32,370 estat treballant amb Scratch són directament traduïble a C, i estem 399 00:20:32,370 --> 00:20:35,130 va a començar a aprendre sobre alguns d'ells en aquest moment. 400 00:20:35,130 --> 00:20:39,200 Primer parlem sobre les condicions en expressions booleanes. 401 00:20:39,200 --> 00:20:41,944 >> Això s'està executant a la reserva energia de la bateria. 402 00:20:41,944 --> 00:20:43,912 >> LUCAS FREITAS: Com és que no funciona? 403 00:20:43,912 --> 00:20:47,850 404 00:20:47,850 --> 00:20:48,010 D'acord. 405 00:20:48,010 --> 00:20:50,256 Un va allà, vaig a aconseguir el - 406 00:20:50,256 --> 00:20:53,700 407 00:20:53,700 --> 00:20:57,390 >> LAUREN CARVALHO: Així que les condicions són importants perquè ens permeten 408 00:20:57,390 --> 00:21:00,588 introduir la lògica en els nostres programes. 409 00:21:00,588 --> 00:21:04,620 Heus aquí un exemple d'una condició dins d'un programa en C. 410 00:21:04,620 --> 00:21:06,130 Notem com aquest - 411 00:21:06,130 --> 00:21:11,324 Així que aquest bloc condicions aquí, aquesta sentència printf no s'executarà 412 00:21:11,324 --> 00:21:14,860 llevat que la condició dins de la parèntesi, n major que 0, 413 00:21:14,860 --> 00:21:16,800 s'avalua en true. 414 00:21:16,800 --> 00:21:20,780 >> Ara, totes les condicions dins de f declaracions són expressions booleanes, 415 00:21:20,780 --> 00:21:22,970 el que significa que hi ha són només dues opcions. 416 00:21:22,970 --> 00:21:26,856 O bé podrien avaluar com true, o que puguin avaluar en false. 417 00:21:26,856 --> 00:21:33,174 Així que aquí, així que això té sentit, oi? n més gran que 0, significa que és un positiu 418 00:21:33,174 --> 00:21:41,160 nombre, el que significa que s'imprimirà out "que va triar un nombre positiu." 419 00:21:41,160 --> 00:21:44,630 >> Hi ha un munt d'expressions booleanes que pot formar la condició amb una 420 00:21:44,630 --> 00:21:47,190 declaració init. 421 00:21:47,190 --> 00:21:48,520 Tenim el menor que. 422 00:21:48,520 --> 00:21:50,950 Això és menys que o igual a. 423 00:21:50,950 --> 00:21:52,200 Això és només un divertit [inaudible]. 424 00:21:52,200 --> 00:21:54,800 425 00:21:54,800 --> 00:22:01,630 Si voleu que el printf que es produeixi si es tracta de més gran que o igual a 0, llavors 426 00:22:01,630 --> 00:22:03,345 vostè triaria això. 427 00:22:03,345 --> 00:22:07,750 Així que la igualtat només annexa dret després que el signe més gran que. 428 00:22:07,750 --> 00:22:12,030 >> Igual Igual, que és diferent de només un signe d'igual, igual igual 429 00:22:12,030 --> 00:22:16,430 en realitat vol dir que tot el que d'al costat esquerre d'aquesta és el mateix que 430 00:22:16,430 --> 00:22:20,610 el que hi ha a la part dreta d'aquesta on un signe igual és el que? 431 00:22:20,610 --> 00:22:23,333 El que és només un signe igual? 432 00:22:23,333 --> 00:22:24,275 Assignació. 433 00:22:24,275 --> 00:22:25,985 >> LUCAS FREITAS: Qui va dir això? 434 00:22:25,985 --> 00:22:27,170 És que els dolços? 435 00:22:27,170 --> 00:22:27,370 Oh, no. 436 00:22:27,370 --> 00:22:27,885 Ho sento. 437 00:22:27,885 --> 00:22:28,210 Ho sento. 438 00:22:28,210 --> 00:22:30,400 Tots dos donen caramels. 439 00:22:30,400 --> 00:22:31,510 Oh, OK! 440 00:22:31,510 --> 00:22:33,046 Tres persones es caramels! 441 00:22:33,046 --> 00:22:37,393 >> LAUREN CARVALHO: Així que aquesta d'aquí és l'operador de l'explosió anterior 442 00:22:37,393 --> 00:22:40,240 el signe igual, pel que és no és igual a. 443 00:22:40,240 --> 00:22:46,560 Així que si això estava dins de la meva condició, el cos de l'afecció 444 00:22:46,560 --> 00:22:49,615 executar només si ho està en l'esquerra no és el mateix que 445 00:22:49,615 --> 00:22:52,540 el que està a la dreta. 446 00:22:52,540 --> 00:22:57,680 >> També puc tenir només el signe d'exclamació. 447 00:22:57,680 --> 00:23:01,250 En realitat veurem en una característica llisqui com això podria ser utilitzat. 448 00:23:01,250 --> 00:23:03,830 >> LUCAS FREITAS: Alguna pregunta? 449 00:23:03,830 --> 00:23:06,450 No? 450 00:23:06,450 --> 00:23:10,460 >> LAUREN CARVALHO: Podem combinar aquests Expressions booleanes per construir més 451 00:23:10,460 --> 00:23:12,500 sentències condicionals complexes. 452 00:23:12,500 --> 00:23:19,680 Així que aquí, si el que hagi a l'esquerra costat de la doble barra o 453 00:23:19,680 --> 00:23:23,160 el que està al costat dret de doble barra i s'avalua com a veritable, 454 00:23:23,160 --> 00:23:25,700 a continuació, anem a imprimir fos vàlid. 455 00:23:25,700 --> 00:23:29,503 I després aquí baix, si el que sigui que al costat de la mà esquerra dels dos 456 00:23:29,503 --> 00:23:33,480 els símbols d'unió i el que hi hagi en el dret costat dels dos símbols d'unió 457 00:23:33,480 --> 00:23:37,470 s'avalua com a veritable, llavors anem a imprimir fos vàlid. 458 00:23:37,470 --> 00:23:42,195 Les dobles barres es diuen la lògica Operador O els dobles són símbols d'unió 459 00:23:42,195 --> 00:23:44,190 anomenat l'operador lògic AND. 460 00:23:44,190 --> 00:23:44,648 Sí? 461 00:23:44,648 --> 00:23:47,850 >> AUDIÈNCIA: Aquests són només minúscules l's? 462 00:23:47,850 --> 00:23:48,620 >> LAUREN CARVALHO: No 463 00:23:48,620 --> 00:23:50,890 En realitat, són - 464 00:23:50,890 --> 00:23:55,134 vostè sap la reacció, com per sobre de la tecla de retorn? 465 00:23:55,134 --> 00:23:56,585 Veus això? 466 00:23:56,585 --> 00:23:57,940 >> LUCAS FREITAS: En realitat és un bar. 467 00:23:57,940 --> 00:24:02,100 >> LAUREN CARVALHO: En realitat és només dos bars. 468 00:24:02,100 --> 00:24:05,724 >> AUDIÈNCIA: Es pot utilitzar la igual igual per a les cadenes? 469 00:24:05,724 --> 00:24:07,000 >> LUCAS FREITAS: No 470 00:24:07,000 --> 00:24:09,130 Anem a aprendre més tard alguna cosa. 471 00:24:09,130 --> 00:24:10,735 >> LAUREN CARVALHO: Hi ha una funció que es pot utilitzar. 472 00:24:10,735 --> 00:24:12,644 Però vostè no ha de preocupar-se que de moment. 473 00:24:12,644 --> 00:24:15,530 474 00:24:15,530 --> 00:24:18,270 >> Què passa si li dono a aquest programa el número 5? 475 00:24:18,270 --> 00:24:20,850 Què va a imprimir? 476 00:24:20,850 --> 00:24:22,100 >> AUDIÈNCIA: [inaudible] 477 00:24:22,100 --> 00:24:27,780 478 00:24:27,780 --> 00:24:28,275 vàlida. 479 00:24:28,275 --> 00:24:29,770 >> LAUREN CARVALHO: Vàlid? 480 00:24:29,770 --> 00:24:30,135 Sí 481 00:24:30,135 --> 00:24:34,092 Jo no sé qui va posar això. 482 00:24:34,092 --> 00:24:35,036 >> [Rialles] 483 00:24:35,036 --> 00:24:37,990 >> LAUREN CARVALHO: Això és una cosa de por [inaudible]. 484 00:24:37,990 --> 00:24:40,900 >> AUDIÈNCIA: Així que el matrimoni i, i això només vol dir? 485 00:24:40,900 --> 00:24:41,740 >> LAUREN CARVALHO: Si. 486 00:24:41,740 --> 00:24:46,160 Així que el número 5 és alhora una major que 0 i menor que 100. 487 00:24:46,160 --> 00:24:48,970 >> AUDIÈNCIA: Per què seria una? 488 00:24:48,970 --> 00:24:51,350 >> LAUREN CARVALHO: Un signe és en realitat alguna cosa diferent, i és 489 00:24:51,350 --> 00:24:53,390 un operador bit a bit, que vostè aprendre sobre més endavant. 490 00:24:53,390 --> 00:24:58,250 Però és una cosa que realment funciona amb els bits d'un nombre donat. 491 00:24:58,250 --> 00:25:00,872 >> LUCAS FREITAS: Simplement crec que no ho fan haver de preocupar-se per això per ara. 492 00:25:00,872 --> 00:25:04,590 >> LAUREN CARVALHO: Crec que és probable que sigui que fins a la setmana que ve. 493 00:25:04,590 --> 00:25:06,420 >> LUCAS FREITAS: Alguna altra pregunta? 494 00:25:06,420 --> 00:25:07,990 No? 495 00:25:07,990 --> 00:25:12,480 >> LAUREN CARVALHO: Així hem vist que un es bloqueja pot estar sol, però pot 496 00:25:12,480 --> 00:25:15,370 També es combina amb i altra quadra. 497 00:25:15,370 --> 00:25:18,880 Així doncs, en aquest cas, si n és més gran que 0, ens anem a imprimir "Vostè 498 00:25:18,880 --> 00:25:23,855 triat un nombre positiu. "else, que significa si és 0 o si és menys 499 00:25:23,855 --> 00:25:27,170 de 0, que anem a imprimir, "Vostè va escollir un nombre negatiu." 500 00:25:27,170 --> 00:25:30,390 >> L'interessant aquí és que aquests són excloents entre si. 501 00:25:30,390 --> 00:25:33,940 Mai serà un cas en què aquest i aquest 502 00:25:33,940 --> 00:25:35,544 pot tant imprimir. 503 00:25:35,544 --> 00:25:38,190 504 00:25:38,190 --> 00:25:41,030 >> Estic segur que vostè va treballar amb el if / else caixa en Scratch, de manera que aquest ha de ser 505 00:25:41,030 --> 00:25:42,392 bastant familiar. 506 00:25:42,392 --> 00:25:42,874 Sí? 507 00:25:42,874 --> 00:25:48,522 >> AUDIÈNCIA: Necessitem l'espai entre int n és igual GetInt llavors l'espai en el 508 00:25:48,522 --> 00:25:49,460 if? 509 00:25:49,460 --> 00:25:51,565 Com utilitzem una línia [inaudible] 510 00:25:51,565 --> 00:25:52,790 >> LAUREN CARVALHO: Oh, l'espai d'aquí? 511 00:25:52,790 --> 00:25:56,742 >> AUDIÈNCIA: Igual que això, però el doble d'espai. 512 00:25:56,742 --> 00:25:58,718 No, anar cap amunt. 513 00:25:58,718 --> 00:25:59,706 Pugi. 514 00:25:59,706 --> 00:26:00,610 >> LUCAS FREITAS: Només la línia? 515 00:26:00,610 --> 00:26:01,140 >> AUDIÈNCIA: Si. 516 00:26:01,140 --> 00:26:02,870 >> LUCAS FREITAS: Només la línia en blanc? 517 00:26:02,870 --> 00:26:03,270 >> AUDIÈNCIA: Si. 518 00:26:03,270 --> 00:26:04,070 >> LAUREN CARVALHO: Línia en blanc? 519 00:26:04,070 --> 00:26:04,470 No 520 00:26:04,470 --> 00:26:06,320 Això és només una cosa d'estil. 521 00:26:06,320 --> 00:26:09,360 >> LUCAS FREITAS: És igual que en ocasions que acaba de saltar algunes línies del que 522 00:26:09,360 --> 00:26:12,330 que el codi no es veu com un enorme bloc de text. 523 00:26:12,330 --> 00:26:15,800 >> LAUREN CARVALHO: Crec que el que va passar era que teníem un comentari aquí, però em 524 00:26:15,800 --> 00:26:18,220 el va treure perquè vostès haurien pensar en el codi en lloc 525 00:26:18,220 --> 00:26:19,920 que acaba de llegir el meu comentari. 526 00:26:19,920 --> 00:26:24,170 En general, l'espai no ho farà realment afectar la forma en que el seu programa s'executa. 527 00:26:24,170 --> 00:26:26,070 És més una cosa d'estil. 528 00:26:26,070 --> 00:26:29,460 I quan tenim la guia d'estil actualitzat i llest per a funcionar a finals de 529 00:26:29,460 --> 00:26:33,260 supersección, parlarem sobre això més. 530 00:26:33,260 --> 00:26:34,660 >> Hi ha alguna cosa malament amb aquest programa, no? 531 00:26:34,660 --> 00:26:38,980 A causa de 0 no és realment un nombre negatiu. 532 00:26:38,980 --> 00:26:40,270 Així que anem a veure si podem arreglar això. 533 00:26:40,270 --> 00:26:45,710 534 00:26:45,710 --> 00:26:48,370 >> Vostè probablement pot imaginar amb això, diu, no? 535 00:26:48,370 --> 00:26:52,850 Si n és més gran que 0, imprimim, "Vostè triat un nombre positiu. "Llavors la resta 536 00:26:52,850 --> 00:26:57,340 si n és menor que 0, "Vostè va escollir una nombre negatiu. "cosa" Vas triar 537 00:26:57,340 --> 00:27:01,040 0. " 538 00:27:01,040 --> 00:27:06,030 >> Ara l'interessant és que això podria continuar per sempre. 539 00:27:06,030 --> 00:27:10,020 Vostè pot tenir un bloc if, else si bloc, una altra cosa si el bloc, més si, 540 00:27:10,020 --> 00:27:14,790 else if, else if, else, bàsicament com el temps que vulguis. 541 00:27:14,790 --> 00:27:17,110 I quan es construeixen d'aquesta manera, que tot serà 542 00:27:17,110 --> 00:27:19,206 excloents entre si. 543 00:27:19,206 --> 00:27:19,650 Sí? 544 00:27:19,650 --> 00:27:24,130 >> AUDIÈNCIA: Llavors per què no pots utilitzar altre, si en lloc de [inaudible]? 545 00:27:24,130 --> 00:27:26,990 >> LAUREN CARVALHO: En aquest cas, sí que podria utilitzar un altre si, i seria 546 00:27:26,990 --> 00:27:29,190 absolutament bé perquè la condicions sí que són 547 00:27:29,190 --> 00:27:30,600 excloents entre si. 548 00:27:30,600 --> 00:27:33,560 Però si les condicions no eren exclusius l'un de l'altre, aquesta faria 549 00:27:33,560 --> 00:27:37,596 obligar-los a avaluar mai tots dos, si això té sentit. 550 00:27:37,596 --> 00:27:44,195 >> AUDIÈNCIA: En aquest cas, podríem niu el segon, si en el primer cas? 551 00:27:44,195 --> 00:27:46,160 >> LAUREN CARVALHO: Si - Què vols dir? 552 00:27:46,160 --> 00:27:49,660 >> AUDIÈNCIA: Si les dues condicions no són mútuament excloents? 553 00:27:49,660 --> 00:27:54,700 >> LAUREN CARVALHO: Si les condicions no són mútuament excloents? 554 00:27:54,700 --> 00:27:58,000 Però desitja que només un d'ells per córrer? 555 00:27:58,000 --> 00:28:00,260 >> AUDIÈNCIA: Vostè vol que només si en lloc d'un altre. 556 00:28:00,260 --> 00:28:01,020 >> LAUREN CARVALHO: Si. 557 00:28:01,020 --> 00:28:03,630 No sempre seran molt de maneres que vostè pot fer això. 558 00:28:03,630 --> 00:28:06,600 Vostè pot vendre definitivament niu. 559 00:28:06,600 --> 00:28:10,390 I veuràs en un portaobjectes de futur que vostè pot tenir múltiples sís, només un 560 00:28:10,390 --> 00:28:11,680 després d'una altra. 561 00:28:11,680 --> 00:28:14,840 Però aquesta és una forma de lògica organitzar el flux del seu programa. 562 00:28:14,840 --> 00:28:18,000 >> LUCAS FREITAS: I hi ha una més cosa, és que se us demanarà sobre posar 563 00:28:18,000 --> 00:28:20,110 si i després un altre si. 564 00:28:20,110 --> 00:28:25,240 Això funcionaria perfectament, però és dolenta disseny, perquè, bàsicament, si 565 00:28:25,240 --> 00:28:29,320 marqui el primer cas, i t'adones que el nombre és més gran que 0, es 566 00:28:29,320 --> 00:28:30,660 simplement pot acabar el programa. 567 00:28:30,660 --> 00:28:33,080 No ha de comprovar si és menor que 0, no? 568 00:28:33,080 --> 00:28:37,510 >> Però si si si, es va a comprovar tots dos, mentre que si ho faig, si la resta, és a dir, 569 00:28:37,510 --> 00:28:39,260 que va a comprovar si que és més gran que 0. 570 00:28:39,260 --> 00:28:43,500 Si és així, no va a veure encara a la resta de línies de codi. 571 00:28:43,500 --> 00:28:48,560 Així que bàsicament estàs comprovant com dues vegades innecessàriament, així que és per això que 572 00:28:48,560 --> 00:28:50,750 fer si else if. 573 00:28:50,750 --> 00:28:52,350 Alguna altra pregunta? 574 00:28:52,350 --> 00:28:56,547 >> AUDIÈNCIA: Així que la funcionalitat de la persona si és el mateix que 575 00:28:56,547 --> 00:28:57,790 si era només si? 576 00:28:57,790 --> 00:28:58,470 >> LAUREN CARVALHO: No 577 00:28:58,470 --> 00:29:02,720 Vostè està en realitat va a veure en la meva pròxima lliscar un exemple en el qual pot 578 00:29:02,720 --> 00:29:03,270 ser diferent. 579 00:29:03,270 --> 00:29:05,690 En aquest cas, és gairebé el mateix. 580 00:29:05,690 --> 00:29:10,190 581 00:29:10,190 --> 00:29:15,410 >> Així que aquí tenim un exemple de múltiples si les declaracions, i la 582 00:29:15,410 --> 00:29:20,020 funcionalitat no és la mateixa com si jo hagués dit si 583 00:29:20,020 --> 00:29:23,120 una altra cosa, si bé, si els altres. 584 00:29:23,120 --> 00:29:26,970 Anem a pensar sobre el que imprimeixi si entro en el nombre 95 585 00:29:26,970 --> 00:29:27,715 en aquest programa. 586 00:29:27,715 --> 00:29:29,764 >> AUDIÈNCIA: [inaudible] 587 00:29:29,764 --> 00:29:31,102 >> LAUREN CARVALHO: I després? 588 00:29:31,102 --> 00:29:32,340 >> AUDIÈNCIA: [inaudible] 589 00:29:32,340 --> 00:29:33,680 >> LAUREN CARVALHO: Si. 590 00:29:33,680 --> 00:29:37,430 Així que en aquest cas, aquestes condicions són no s'exclouen mútuament l'un de l'altre. 591 00:29:37,430 --> 00:29:41,040 I perquè no hi ha res aquesta condició d'avaluar si aquesta 592 00:29:41,040 --> 00:29:44,730 un ja té, només estan Tot va a imprimir. 593 00:29:44,730 --> 00:29:46,222 Així que com podria solucionar això? 594 00:29:46,222 --> 00:29:47,608 >> AUDIÈNCIA: else passaria? 595 00:29:47,608 --> 00:29:48,910 >> LAUREN CARVALHO: També podeu fer servir else sís. 596 00:29:48,910 --> 00:29:50,590 Vaig poder canviar l'ordre d'ells, oi? 597 00:29:50,590 --> 00:29:53,800 Si ho fes aquest en primer lloc? 598 00:29:53,800 --> 00:29:55,120 Bé, en realitat, no. 599 00:29:55,120 --> 00:29:57,100 Això no funcionaria per al 95. 600 00:29:57,100 --> 00:29:58,490 >> LUCAS FREITAS: No, només els altres sís. 601 00:29:58,490 --> 00:30:01,720 >> LAUREN CARVALHO: L'altra persona IFS hauria arreglat aquest. 602 00:30:01,720 --> 00:30:07,050 Això aclarir la confusió entre sís i altres passaria? 603 00:30:07,050 --> 00:30:11,480 >> AUDIÈNCIA: Només volia preguntar-li, si vas usar else if, que deixaria? 604 00:30:11,480 --> 00:30:11,840 >> LAUREN CARVALHO: així. 605 00:30:11,840 --> 00:30:13,330 Pel que només aquesta primera. 606 00:30:13,330 --> 00:30:16,535 Si entrava en el nombre 95, només que aquesta hauria imprès, i mai 607 00:30:16,535 --> 00:30:17,934 hauria progressat fins a l'altre. 608 00:30:17,934 --> 00:30:22,570 >> LUCAS FREITAS: Just tipus de pensar com si això succeeix, feu el següent. 609 00:30:22,570 --> 00:30:26,990 L'altra és com si no, xec per això i, a continuació, fer això. 610 00:30:26,990 --> 00:30:28,690 Així com tots són mútuament exclusiva. 611 00:30:28,690 --> 00:30:30,270 Vostè no pot aconseguir en dos sobre aquells. 612 00:30:30,270 --> 00:30:32,800 613 00:30:32,800 --> 00:30:37,630 >> AUDIÈNCIA: Es pot utilitzar una lògica I per a aquesta situació? 614 00:30:37,630 --> 00:30:39,370 >> LAUREN CARVALHO: Si. 615 00:30:39,370 --> 00:30:41,400 Aquesta és una altra manera que poguéssim han solucionat aquest problema. 616 00:30:41,400 --> 00:30:43,470 Estem podríem haver definit rangs, oi? 617 00:30:43,470 --> 00:30:49,410 Així que jo podria haver dit si n és més gran de 90 i menys de - 618 00:30:49,410 --> 00:30:52,135 bé, suposo que aquest en realitat no importa, però aquí em podria haver dit si 619 00:30:52,135 --> 00:30:53,960 n és més gran que 80 i menor que 90. 620 00:30:53,960 --> 00:30:55,570 Superior a 70, menys de 80. 621 00:30:55,570 --> 00:30:59,077 Això també han treballat. 622 00:30:59,077 --> 00:30:59,891 >> [Rialles] 623 00:30:59,891 --> 00:31:00,980 >> LUCAS FREITAS: Té por. 624 00:31:00,980 --> 00:31:02,070 >> LAUREN CARVALHO: No tingueu por. 625 00:31:02,070 --> 00:31:04,570 >> LUCAS FREITAS: No és que serà dolent. 626 00:31:04,570 --> 00:31:08,630 És només que és innecessàriament verbose. 627 00:31:08,630 --> 00:31:13,480 Igual que en la informàtica, s'ha de ser tan simple com sigui possible, sempre que 628 00:31:13,480 --> 00:31:14,730 vostè té la funcionalitat. 629 00:31:14,730 --> 00:31:16,725 630 00:31:16,725 --> 00:31:17,835 Vols que el caramel? 631 00:31:17,835 --> 00:31:19,084 >> AUDIÈNCIA: No ho necessito. 632 00:31:19,084 --> 00:31:20,340 >> LAUREN CARVALHO: Ets espantant tothom, Lucas. 633 00:31:20,340 --> 00:31:21,590 >> LUCAS FREITAS: Ho sento. 634 00:31:21,590 --> 00:31:24,650 635 00:31:24,650 --> 00:31:29,510 >> LAUREN CARVALHO: David també s'esmenta aquests canvien declaració a classe. 636 00:31:29,510 --> 00:31:33,180 Bàsicament el que està passant és l'interruptor declaració pren una variable. 637 00:31:33,180 --> 00:31:35,760 En aquest cas, ens estem prenent un sencer. 638 00:31:35,760 --> 00:31:39,220 >> Si l'enter és 1, anem a imprimir "Vostè va escollir un petit 639 00:31:39,220 --> 00:31:42,000 nombre. "Si l'enter és 1," Vostè escollit un nombre mitjà ". Si el 640 00:31:42,000 --> 00:31:45,730 sencer és 3, "Vostè va escollir un alt nombre. "I jo també tenia un cas per defecte 641 00:31:45,730 --> 00:31:50,020 aquí baix, però no ho demostra , La qual cosa és una llàstima. 642 00:31:50,020 --> 00:31:53,120 643 00:31:53,120 --> 00:31:55,360 >> Bàsicament, això és només una altra sintaxi. 644 00:31:55,360 --> 00:31:58,640 Podríem haver implementat aquesta exacta el mateix amb if i else 645 00:31:58,640 --> 00:31:59,390 declaracions. 646 00:31:59,390 --> 00:32:05,530 Però quan hi ha un munt de diferents condicions i un munt de diferents 647 00:32:05,530 --> 00:32:10,350 variacions sobre el que vol fer per cada entrada, aquesta és una opció. 648 00:32:10,350 --> 00:32:13,262 Així que és només una bona sintaxi saber. 649 00:32:13,262 --> 00:32:15,099 Sí? 650 00:32:15,099 --> 00:32:21,380 >> AUDIÈNCIA: Per què no hi ha una barra invertida n en la primera? 651 00:32:21,380 --> 00:32:23,340 >> LAUREN CARVALHO: Per aquí dalt? 652 00:32:23,340 --> 00:32:27,600 No hi ha barra invertida n-hi perquè el GetInt - 653 00:32:27,600 --> 00:32:30,140 si vostè intenta això, que va a donar-li aquest missatge. 654 00:32:30,140 --> 00:32:32,290 Dóna'm un nombre enter entre 1 i 3. 655 00:32:32,290 --> 00:32:35,550 I si poso la reacció n, ho faria porta'ma la següent línia, però jo només 656 00:32:35,550 --> 00:32:38,690 volien que escriviu el nombre enter just després dels dos punts. 657 00:32:38,690 --> 00:32:40,120 Podries haver posat el contraatac n. 658 00:32:40,120 --> 00:32:42,374 No és una gran cosa. 659 00:32:42,374 --> 00:32:43,288 Sí? 660 00:32:43,288 --> 00:32:50,525 >> AUDIÈNCIA: Perquè aquest codi, és aquest cas que un, és que a causa 661 00:32:50,525 --> 00:32:51,760 que és el primer cas? 662 00:32:51,760 --> 00:32:52,260 Perquè - 663 00:32:52,260 --> 00:32:53,400 >> LAUREN CARVALHO: No, no, no. 664 00:32:53,400 --> 00:32:56,480 Així que això m'està donar un nombre enter entre 1 i 3. 665 00:32:56,480 --> 00:32:59,070 Si n és 1, puc imprimir això. 666 00:32:59,070 --> 00:33:02,740 Si hagués demanat cartes, podria tenir va dir dóna'm una lletra de la A 667 00:33:02,740 --> 00:33:04,935 i C. A continuació, aquest seria el cas A. 668 00:33:04,935 --> 00:33:05,910 >> AUDIÈNCIA: [inaudible]. 669 00:33:05,910 --> 00:33:08,090 El cas seria simplement [inaudible] 670 00:33:08,090 --> 00:33:11,260 >> LAUREN CARVALHO: Sí, és clar. 671 00:33:11,260 --> 00:33:11,550 Sí? 672 00:33:11,550 --> 00:33:14,861 >> AUDIÈNCIA: I si volia tenir més d'una expressió relacional? 673 00:33:14,861 --> 00:33:17,645 Així que en lloc de dir n és igual a 1, [inaudible] 674 00:33:17,645 --> 00:33:21,050 n és més gran que 1 en el primer cas? 675 00:33:21,050 --> 00:33:26,630 >> LAUREN CARVALHO: En realitat, si no ho faig definir alguns d'aquests casos, podria 676 00:33:26,630 --> 00:33:28,500 pot portar cap avall. 677 00:33:28,500 --> 00:33:30,680 Així que en realitat, potser això no és el que estàs demanant. 678 00:33:30,680 --> 00:33:36,240 >> LUCAS FREITAS: Crec que s'està preguntant si el cas era n major que 0, cas 679 00:33:36,240 --> 00:33:37,150 menys de 0. 680 00:33:37,150 --> 00:33:39,210 >> LAUREN CARVALHO: Potser l'interruptor declaració no és realment el que vols 681 00:33:39,210 --> 00:33:39,880 utilitzar en aquest cas. 682 00:33:39,880 --> 00:33:42,420 >> LUCAS FREITAS: La sentència switch és només per valor, pel que vostè està comprovant d' 683 00:33:42,420 --> 00:33:45,370 el valor és com això o allò. 684 00:33:45,370 --> 00:33:47,025 Pel que no pot en realitat posar condicions. 685 00:33:47,025 --> 00:33:50,988 686 00:33:50,988 --> 00:33:55,920 >> AUDIÈNCIA: Què passa si la persona tipus de [inaudible]? 687 00:33:55,920 --> 00:33:58,240 >> LAUREN CARVALHO: Això hauria estat el meu cas per defecte, que per desgràcia 688 00:33:58,240 --> 00:33:58,910 no es pot veure. 689 00:33:58,910 --> 00:34:02,240 >> LUCAS FREITAS: [inaudible] fer-los veure. 690 00:34:02,240 --> 00:34:03,690 >> LAUREN CARVALHO: En realitat, Saps què? 691 00:34:03,690 --> 00:34:07,795 Anem a anar a estudiar 50, i ho faré només fer un zoom en les diapositives en estudi 692 00:34:07,795 --> 00:34:10,610 50, ja que aquesta és només una molèstia. 693 00:34:10,610 --> 00:34:14,938 Així que permetin-me en realitat vaig a condició. 694 00:34:14,938 --> 00:34:17,860 Això és només va a prendre una mica de temps. 695 00:34:17,860 --> 00:34:26,940 696 00:34:26,940 --> 00:34:27,840 >> Està bé. 697 00:34:27,840 --> 00:34:29,590 Així que, ho sento. 698 00:34:29,590 --> 00:34:33,625 Almenys ara serem capaços de veure tot sense tallar. 699 00:34:33,625 --> 00:34:36,230 700 00:34:36,230 --> 00:34:36,969 Està bé. 701 00:34:36,969 --> 00:34:43,800 >> Així que si et posen en un 10, tindríem per defecte aquí al meu cas per defecte, i jo 702 00:34:43,800 --> 00:34:46,510 seria simplement imprimir invàlida perquè els demanarà que introdueixi un nombre sencer 703 00:34:46,510 --> 00:34:49,460 entre 1 i 3. 704 00:34:49,460 --> 00:34:50,650 Alguna altra pregunta? 705 00:34:50,650 --> 00:34:51,081 Sí? 706 00:34:51,081 --> 00:34:57,590 >> AUDIÈNCIA: Diguem que per al cas d'un, cas 3, que li agradaria que fos tot el 707 00:34:57,590 --> 00:35:00,950 el mateix, pel que va prendre un nombre això no és un nombre mitjà. 708 00:35:00,950 --> 00:35:03,840 En aquest cas, seria redundant? 709 00:35:03,840 --> 00:35:08,371 Podries canviar el text tant en d'ells, o hauria alguns 710 00:35:08,371 --> 00:35:08,617 redundància? 711 00:35:08,617 --> 00:35:11,920 Hi ha alguna manera de combinar [Inaudible]? 712 00:35:11,920 --> 00:35:15,810 >> LAUREN CARVALHO: Hi ha maneres de combinar-los, però crec que es pot 713 00:35:15,810 --> 00:35:18,730 només combinar els adjacents. 714 00:35:18,730 --> 00:35:22,250 Així que si no defineix res per al cas de dos, podria 715 00:35:22,250 --> 00:35:24,130 aplicar-se a tots dos casos. 716 00:35:24,130 --> 00:35:28,110 Oh, si jo no he posat res per cas 1, això s'aplicaria tant a 717 00:35:28,110 --> 00:35:30,620 cas que un i dos. 718 00:35:30,620 --> 00:35:33,616 Si això té sentit. 719 00:35:33,616 --> 00:35:35,872 >> AUDIÈNCIA: Pot repetir això? 720 00:35:35,872 --> 00:35:36,670 >> LUCAS FREITAS: OK. 721 00:35:36,670 --> 00:35:39,950 Si ho va fer, bàsicament, com, vostè té la mateixa cosa, però no et poses 722 00:35:39,950 --> 00:35:46,820 res aquí, que seria ja sigui per cas que un o dos casos, a fer això. 723 00:35:46,820 --> 00:35:47,930 Cert? 724 00:35:47,930 --> 00:35:54,010 I aquesta ruptura vol dir que si vostè aconsegueix en aquest cas, acaba de sortir. 725 00:35:54,010 --> 00:35:55,030 Així que això és el que significa el fre. 726 00:35:55,030 --> 00:35:59,755 Així que si ho acabo de fer això, es mira, és cas que un, i vostè acaba de fer això. 727 00:35:59,755 --> 00:36:02,110 Si fos el cas de dos, també ho faria acaba d'arribar aquí i fer això. 728 00:36:02,110 --> 00:36:03,544 >> AUDIÈNCIA: Però es pot fer? 729 00:36:03,544 --> 00:36:05,140 Si hi ha alguna cosa per cas de dos [inaudible] 730 00:36:05,140 --> 00:36:07,095 >> LAUREN CARVALHO: No crec vostè pot fer això. 731 00:36:07,095 --> 00:36:09,380 Crec que no es pot saltar al voltant. 732 00:36:09,380 --> 00:36:11,070 Pots fer això, Rob? 733 00:36:11,070 --> 00:36:13,300 No ho crec. 734 00:36:13,300 --> 00:36:16,548 >> AUDIÈNCIA: Així que només un nombre pot anar després d'un cas, oi? 735 00:36:16,548 --> 00:36:21,410 No hi pot haver un cas, coma, dos? 736 00:36:21,410 --> 00:36:21,970 >> LUCAS FREITAS: No, no pots. 737 00:36:21,970 --> 00:36:25,085 Definitivament, no pots. 738 00:36:25,085 --> 00:36:28,770 >> LAUREN CARVALHO: És a dir, el punt és Aquesta és una opció, i això no podria 739 00:36:28,770 --> 00:36:31,940 s'ajusti al seu cas d'ús, pel que llavors utilitzaria el cas de condicions. 740 00:36:31,940 --> 00:36:33,906 >> AUDIÈNCIA: Llavors, per què fas això? 741 00:36:33,906 --> 00:36:34,314 El switch? 742 00:36:34,314 --> 00:36:38,540 >> LAUREN CARVALHO: M'agradaria utilitzar aquesta si té molt definit - 743 00:36:38,540 --> 00:36:39,730 En realitat, Lucas, s'està bloquejant. 744 00:36:39,730 --> 00:36:40,982 >> LUCAS FREITAS: Oh, ho sento. 745 00:36:40,982 --> 00:36:44,200 >> LAUREN CARVALHO: Si vostè té molt comportaments definits que desitgi per 746 00:36:44,200 --> 00:36:48,105 tots i cada un d'entrada, això podria ser una poc més concís d'escriure 747 00:36:48,105 --> 00:36:49,530 una sentència if per a cada un. 748 00:36:49,530 --> 00:36:51,210 >> AUDIÈNCIA: Què fa el break significar una altra vegada? 749 00:36:51,210 --> 00:36:53,180 >> LAUREN CARVALHO: La ruptura significa parar. 750 00:36:53,180 --> 00:36:56,860 Recordeu, si no tingués aquesta ruptura aquí, hauríem caigut just 751 00:36:56,860 --> 00:36:58,110 en el següent cas. 752 00:36:58,110 --> 00:37:00,820 >> LUCAS FREITAS: Descans significa arribar sortir de la sentència switch. 753 00:37:00,820 --> 00:37:03,400 Perquè si és 1, vull imprimir aquest i anar-se'n. 754 00:37:03,400 --> 00:37:04,640 No vull comprovar res més. 755 00:37:04,640 --> 00:37:05,790 >> AUDIÈNCIA: No vol per imprimir una altra cosa. 756 00:37:05,790 --> 00:37:06,730 >> LUCAS FREITAS: Si. 757 00:37:06,730 --> 00:37:08,260 Com que és mútuament excloent. 758 00:37:08,260 --> 00:37:11,378 >> AUDIÈNCIA: I això només és procedent al següent cas si el primer cas 759 00:37:11,378 --> 00:37:11,850 no és cert? 760 00:37:11,850 --> 00:37:14,120 O provar tots els casos a la vegada? 761 00:37:14,120 --> 00:37:16,300 >> LUCAS FREITAS: No, xecs de manera seqüencial. 762 00:37:16,300 --> 00:37:18,070 Seqüencialment, si. 763 00:37:18,070 --> 00:37:21,840 Una pregunta més, llavors hem de movem perquè puguem cobrir tot. 764 00:37:21,840 --> 00:37:22,300 Sí? 765 00:37:22,300 --> 00:37:25,280 >> AUDIÈNCIA: Així que per al cas, podria tenir fet alguna cosa més de només el triat? 766 00:37:25,280 --> 00:37:27,680 Podria donar-li un rang? 767 00:37:27,680 --> 00:37:28,580 >> LUCAS FREITAS: No 768 00:37:28,580 --> 00:37:29,900 >> LAUREN CARVALHO: No crec que vostè pot donar-li un rang. 769 00:37:29,900 --> 00:37:31,430 >> LUCAS FREITAS: No podeu no poden donar-li un rang. 770 00:37:31,430 --> 00:37:33,190 >> AUDIÈNCIA: El cas és específic [Inaudible]. 771 00:37:33,190 --> 00:37:34,840 >> LUCAS FREITAS: Switch és una espècie de valors. 772 00:37:34,840 --> 00:37:38,400 Vostè fent coses diferents depenent en un valor, un valor específic. 773 00:37:38,400 --> 00:37:41,050 No es pot fer rang, no es pot fer una altra cosa. 774 00:37:41,050 --> 00:37:43,055 És simplement una eina més per veure. 775 00:37:43,055 --> 00:37:46,570 >> LAUREN CARVALHO: La majoria de la gent no utilitza canviar declaracions molt en CS50, 776 00:37:46,570 --> 00:37:48,760 però hi és. 777 00:37:48,760 --> 00:37:49,920 >> Està bé. 778 00:37:49,920 --> 00:37:53,870 Així que el següent que parlarem sobre és l'operador ternari. 779 00:37:53,870 --> 00:37:56,650 Aquest és només un altre tipus de condicional. 780 00:37:56,650 --> 00:38:01,460 Bàsicament el que està passant aquí és que estic demanant un nombre enter, i si n és 781 00:38:01,460 --> 00:38:05,550 superior a 100, vaig a imprimir "Alt". Si no és així, vaig a 782 00:38:05,550 --> 00:38:07,010 imprimir "baixa". 783 00:38:07,010 --> 00:38:11,230 >> Així que el que està fent és que la condició es aquí mateix en els parèntesis, i vostè 784 00:38:11,230 --> 00:38:13,550 pot classe de pensar en la pregunta com estic preguntant si 785 00:38:13,550 --> 00:38:15,030 això és cert o no. 786 00:38:15,030 --> 00:38:18,485 Si és veritat, que vaig a fer això primer cosa, i si no és cert, jo sóc 787 00:38:18,485 --> 00:38:20,020 farem aquesta segona cosa. 788 00:38:20,020 --> 00:38:23,520 789 00:38:23,520 --> 00:38:27,960 >> Una pregunta sobre l' operador ternari? 790 00:38:27,960 --> 00:38:30,880 >> LUCAS FREITAS: Només vull assenyalar de David és que cada vegada que tingui una 791 00:38:30,880 --> 00:38:33,346 condicions - 792 00:38:33,346 --> 00:38:35,690 >> LAUREN CARVALHO: Suposo que el David de mirant a través de la transmissió en viu. 793 00:38:35,690 --> 00:38:37,210 >> LUCAS FREITAS: Ho està fent la vida corrent en aquests moments. 794 00:38:37,210 --> 00:38:41,730 Així que quan vostè té una condició, vostè és suposa posar claus, 795 00:38:41,730 --> 00:38:45,320 igual que tenim en un interruptor declaració aquí. 796 00:38:45,320 --> 00:38:46,750 Tenim les claus aquí. 797 00:38:46,750 --> 00:38:49,560 Per a qualsevol condició, ets suposa també posar això. 798 00:38:49,560 --> 00:38:50,820 >> LAUREN CARVALHO: Veurà això en el llibre d'estil. 799 00:38:50,820 --> 00:38:52,900 En realitat no tenim la guia d'estil en aquests moments. 800 00:38:52,900 --> 00:38:53,930 Crec que David encara està treballant. 801 00:38:53,930 --> 00:38:55,100 >> LUCAS FREITAS: Va dir que és només treballar ara. 802 00:38:55,100 --> 00:38:56,120 >> LAUREN CARVALHO: Oh, és feina ara? 803 00:38:56,120 --> 00:38:57,520 D'acord. 804 00:38:57,520 --> 00:39:02,060 Així que pel que sembla aquest any en l'estil guiar, encara que només té una línia, 805 00:39:02,060 --> 00:39:06,040 has de posar els claus polz 806 00:39:06,040 --> 00:39:09,480 No necessàriament ha de per al funcionalitat del programa. 807 00:39:09,480 --> 00:39:12,210 I potser hauríem de fer un alt després que les condicions i van directament 808 00:39:12,210 --> 00:39:14,620 a la guia d'estil per esborrar algunes d'aquestes coses? 809 00:39:14,620 --> 00:39:15,010 >> LUCAS FREITAS: Si. 810 00:39:15,010 --> 00:39:15,775 Té una pregunta? 811 00:39:15,775 --> 00:39:17,580 >> AUDIÈNCIA: No, vaig a esperar fins que la guia d'estil. 812 00:39:17,580 --> 00:39:19,578 >> AUDIÈNCIA: Podria tornar per l'operador ternari? 813 00:39:19,578 --> 00:39:23,360 >> LAUREN CARVALHO: ternari, si. 814 00:39:23,360 --> 00:39:29,010 >> LUCAS FREITAS: operador ternari és bàsicament una sentència if-else, però 815 00:39:29,010 --> 00:39:33,590 en lloc d'haver de tenir les dues línies de comprovar si, i llavors el 816 00:39:33,590 --> 00:39:36,600 una altra cosa, només hi ha una línia. 817 00:39:36,600 --> 00:39:40,930 Així que, bàsicament, si vull donar una cadena un valor d'alt o baix, i jo 818 00:39:40,930 --> 00:39:46,270 voler fer una parada si n és més gran que 100 o baixa si és menor, el que puc fer 819 00:39:46,270 --> 00:39:47,730 és això [inaudible] 820 00:39:47,730 --> 00:39:53,060 la cadena serà, i després em demana el programa és n més gran que 100? 821 00:39:53,060 --> 00:39:55,750 >> Així que per això tinc aquesta expressió en parèntesi, i després 822 00:39:55,750 --> 00:39:56,580 el signe d'interrogació. 823 00:39:56,580 --> 00:39:59,110 Jo estic demanant és més gran que 100? 824 00:39:59,110 --> 00:40:02,310 Si és així, que serà alta. 825 00:40:02,310 --> 00:40:03,850 Si no és així, serà baixa. 826 00:40:03,850 --> 00:40:07,310 >> Així que bàsicament el que vostè pensa és que vostè demana una pregunta, així que vostè posa en parèntesi 827 00:40:07,310 --> 00:40:08,620 la condició. 828 00:40:08,620 --> 00:40:11,160 Després situeu el signe d'interrogació perquè vostè està demanant ell. 829 00:40:11,160 --> 00:40:15,240 I si això és cert, que serà en el primer valor de [inaudible] aquí. 830 00:40:15,240 --> 00:40:18,176 Si no és així, vaig a posar el valor que és després dels dos punts. 831 00:40:18,176 --> 00:40:21,580 Té sentit? 832 00:40:21,580 --> 00:40:24,730 >> És també una cosa que és com un eina en C però vostè no ha de 833 00:40:24,730 --> 00:40:25,700 específicament usar-lo. 834 00:40:25,700 --> 00:40:29,890 Però la gent en general els agrada que CS ja que només guarda línies. 835 00:40:29,890 --> 00:40:31,050 >> LAUREN CARVALHO: És molt elegant. 836 00:40:31,050 --> 00:40:32,951 Ho fa molt en una sola declaració. 837 00:40:32,951 --> 00:40:36,077 >> AUDIÈNCIA: Així que el signe de percentatge és simplement independència dels resultats en 838 00:40:36,077 --> 00:40:36,799 la línia anterior? 839 00:40:36,799 --> 00:40:38,260 >> LAUREN CARVALHO: Oh, ho sento. 840 00:40:38,260 --> 00:40:42,670 Aquest signe de percentatge és en realitat un marcador de posició per a aquest s. 841 00:40:42,670 --> 00:40:46,160 En un comunicat printf, tens aquesta string aquí, que és el que va a 842 00:40:46,160 --> 00:40:48,440 imprimir, però no es pot simplement va posar aquest s allà. 843 00:40:48,440 --> 00:40:50,290 En cas contrari seria imprimir dels s literalment. 844 00:40:50,290 --> 00:40:54,070 Per això, vam posar un percentatge aquí per mantenir aquest lloc es va celebrar per qualsevol 845 00:40:54,070 --> 00:40:57,590 ve després de la coma. 846 00:40:57,590 --> 00:40:59,470 >> Així que per a una cadena, tens cent s. 847 00:40:59,470 --> 00:41:00,950 Per a un sencer, cent i. 848 00:41:00,950 --> 00:41:03,330 Per a un flotador, cent f. 849 00:41:03,330 --> 00:41:06,960 Veuràs aquells com nosaltres veure més exemples. 850 00:41:06,960 --> 00:41:09,230 Però potser hauria de parlar de la guia d'estil per una estona, ara 851 00:41:09,230 --> 00:41:10,480 que li toca. 852 00:41:10,480 --> 00:41:21,040 853 00:41:21,040 --> 00:41:24,010 >> LUCAS FREITAS: Si vostè va a cs50.net/style, vostè va a veure 854 00:41:24,010 --> 00:41:25,760 la guia d'estil. 855 00:41:25,760 --> 00:41:32,420 Per als conjunts de problemes, la seva puntuació per a la conjunt de problemes es compon d'abast, 856 00:41:32,420 --> 00:41:35,510 el que bàsicament vol dir que si vostè va fer tot les parts del problema establerts o si 857 00:41:35,510 --> 00:41:37,170 intentat alguna cosa. 858 00:41:37,170 --> 00:41:41,120 La segona cosa és la correcció, el que mitjans és el seu programa fent el que 859 00:41:41,120 --> 00:41:44,520 se suposava que estaria fent, o ho fa tenen errors, o és que no fan el que 860 00:41:44,520 --> 00:41:45,620 se suposa que ha de fer. 861 00:41:45,620 --> 00:41:51,420 >> La tercera cosa és el disseny, el que significa estan implementant aquesta bé, o està 862 00:41:51,420 --> 00:41:54,520 que l'ús de declaracions innecessàries? 863 00:41:54,520 --> 00:41:59,400 Així per exemple, si voleu repetir un nombre 10 vegades, estàs escrivint un 864 00:41:59,400 --> 00:42:03,040 bucle o simplement estàs fent 10 vegades la mateixa declaració, només fent 865 00:42:03,040 --> 00:42:04,060 copiar i enganxar. 866 00:42:04,060 --> 00:42:05,760 Així que el disseny és per això. 867 00:42:05,760 --> 00:42:07,420 >> I, finalment, vostè té estil. 868 00:42:07,420 --> 00:42:12,000 L'estil és com jutjar si el seu codi és 869 00:42:12,000 --> 00:42:14,050 llegible i tipus de bonítol. 870 00:42:14,050 --> 00:42:16,520 Simplement vol dir bàsicament és el seu codi llegible? 871 00:42:16,520 --> 00:42:20,560 Seria algú que estava buscant són el seu codi sigui capaç d'entendre el que 872 00:42:20,560 --> 00:42:21,250 que està fent? 873 00:42:21,250 --> 00:42:25,360 Té comentaris i similars? 874 00:42:25,360 --> 00:42:30,430 >> Anem a parlar sobre l'estil que se suposa que has de fer servir. 875 00:42:30,430 --> 00:42:32,200 El primer és els comentaris. 876 00:42:32,200 --> 00:42:35,280 Els comentaris són molt importants per a la seva codi perquè a vegades que estàs fent 877 00:42:35,280 --> 00:42:38,750 el seu programa, i vostè sap exactament el que vol fer-ho vostè acaba de començar 878 00:42:38,750 --> 00:42:43,120 codificació, només has d'escriure un munt de C. Però si algú està buscant és que vostè està 879 00:42:43,120 --> 00:42:47,500 codi, no seran capaços de entendre perquè no saben 880 00:42:47,500 --> 00:42:51,420 les coses de la vostra cap, com la pesudocode, així que potser ho faran 881 00:42:51,420 --> 00:42:53,970 tenir dificultats per entendre el que fa el codi. 882 00:42:53,970 --> 00:42:57,900 >> Així que els comentaris són realment útils per explicar per a algú que està mirant 883 00:42:57,900 --> 00:43:00,880 el seu codi del que està fent, i En realitat, fins i tot per a vostè, 884 00:43:00,880 --> 00:43:01,880 que són molt útils. 885 00:43:01,880 --> 00:43:05,740 Com vas a Butlletins de problemes més difícils i durs, vostè va a veure que el codi obté 886 00:43:05,740 --> 00:43:10,590 més llargs i, a continuació, els comentaris són realment important perquè recordi el que cada 887 00:43:10,590 --> 00:43:13,320 part del teu programa fa. 888 00:43:13,320 --> 00:43:16,920 >> Per posar un comentari, pot simplement fer una slash slash i després escriure un comentari. 889 00:43:16,920 --> 00:43:21,250 I tota la línia és part d'un comentari, i tot el que vostè escriu, 890 00:43:21,250 --> 00:43:24,550 no serà utilitzat per al codi. 891 00:43:24,550 --> 00:43:27,993 Bàsicament el compilador va a ignorar això. 892 00:43:27,993 --> 00:43:29,290 Això té sentit? 893 00:43:29,290 --> 00:43:31,710 >> AUDIÈNCIA: Què es fa de nou per escriure un comentari? 894 00:43:31,710 --> 00:43:33,260 >> LUCAS FREITAS: Això? 895 00:43:33,260 --> 00:43:36,020 El slash slash? 896 00:43:36,020 --> 00:43:39,810 Cada vegada que escriu slash slash, sigui quina sigui està en aquesta línia no 897 00:43:39,810 --> 00:43:42,260 per a ser considerat com a C. Sí? 898 00:43:42,260 --> 00:43:45,910 >> AUDIÈNCIA: Així que després del comentari, només entrar i començar una nova línia? 899 00:43:45,910 --> 00:43:47,120 >> LUCAS FREITAS: Sí, exactament. 900 00:43:47,120 --> 00:43:50,010 >> LAUREN CARVALHO: El slash slash és per als comentaris d'una sola línia. 901 00:43:50,010 --> 00:43:52,910 >> LUCAS FREITAS: Per exemple, aquí tenim - 902 00:43:52,910 --> 00:43:54,160 m'ho dius a mi el zoom in - 903 00:43:54,160 --> 00:43:56,530 904 00:43:56,530 --> 00:44:01,180 per exemple, aquí estic declarant un flotador, però potser si vostè acaba de posar aquest 905 00:44:01,180 --> 00:44:04,980 en el codi, com no tens idea el que això està fent, com en realitat 906 00:44:04,980 --> 00:44:06,950 algú que està buscant en aquest codi serà, igual que, el que el 907 00:44:06,950 --> 00:44:09,190 diables està passant? 908 00:44:09,190 --> 00:44:12,890 >> Si poses un comentari dient "convertir Fahrenheit a Celsius, té molt 909 00:44:12,890 --> 00:44:13,450 més sentit. 910 00:44:13,450 --> 00:44:15,480 Ets, com, OK, ets fer una conversió. 911 00:44:15,480 --> 00:44:16,730 Això té sentit? 912 00:44:16,730 --> 00:44:19,860 913 00:44:19,860 --> 00:44:24,960 Així que és una cosa que ajuda a les persones llest el seu codi i també fer 914 00:44:24,960 --> 00:44:28,290 vostè serà capaç d'organitzar el seu codi millor. 915 00:44:28,290 --> 00:44:33,080 >> La segona cosa és que vostè pot fer comentaris de diverses línies, de manera que tenen una 916 00:44:33,080 --> 00:44:34,850 comentar per a un munt de línies. 917 00:44:34,850 --> 00:44:38,880 En lloc d'haver de posar slash slash, les observacions de primera línia, slash slash, 918 00:44:38,880 --> 00:44:43,590 la segona línia, i així successivament, pot utilitzar l'estrella slash. 919 00:44:43,590 --> 00:44:46,330 La forma en què vostè ho fa és que per al primera línia del comentari, vostè és 920 00:44:46,330 --> 00:44:49,650 farem un estel estrelles ratlla vertical, així com si res. 921 00:44:49,650 --> 00:44:56,900 Igual que aquí tenim el començament de un programa, en general posa que vostè 922 00:44:56,900 --> 00:44:59,530 són, el que fa aquest programa, i coses per l'estil. 923 00:44:59,530 --> 00:45:01,900 És com una capçalera per al programa. 924 00:45:01,900 --> 00:45:04,540 >> Un cop més, no és una cosa que un compilador va a preocupar-se, però 925 00:45:04,540 --> 00:45:07,570 és important que vostè sàpiga el que aquesta programa fa o per a altres persones 926 00:45:07,570 --> 00:45:09,960 saber el que està fent el seu programa. 927 00:45:09,960 --> 00:45:17,480 Pel que redueix radicalment estrella estrella, i després el última línia que faràs estrelles 928 00:45:17,480 --> 00:45:22,250 retallar per poder tancar aquest comentari. 929 00:45:22,250 --> 00:45:26,140 Així que, bàsicament, per a la resta de les línies, vostè pot escriure el que sigui, i això 930 00:45:26,140 --> 00:45:27,390 és tot el que serà ignorat. 931 00:45:27,390 --> 00:45:32,920 932 00:45:32,920 --> 00:45:37,780 >> I també, igual que l'estil, es veu que cadascuna de les línies té un estel, i tots 933 00:45:37,780 --> 00:45:39,380 les estrelles estan alineades. 934 00:45:39,380 --> 00:45:41,605 Aquestes són coses importants per que el seu codi es veu bastant. 935 00:45:41,605 --> 00:45:42,855 Sona bé? 936 00:45:42,855 --> 00:45:45,320 937 00:45:45,320 --> 00:45:47,290 >> Ara, condicions. 938 00:45:47,290 --> 00:45:52,240 El que David estava dient que hem de fet posar a les diapositives, és que 939 00:45:52,240 --> 00:45:55,810 quan vostè té qualsevol tipus de sentències if o qualsevol tipus de condicions, 940 00:45:55,810 --> 00:46:00,700 vostè ha d'utilitzar claus per demostrar que això és el que anava a succeir 941 00:46:00,700 --> 00:46:02,730 quan es té la condició. 942 00:46:02,730 --> 00:46:07,560 Tècnicament, quan vostè té una condició i després la següent línia és només un 943 00:46:07,560 --> 00:46:12,110 línia, vostè no ha tècnicament per posar les claus. 944 00:46:12,110 --> 00:46:16,930 >> Bàsicament el compilador entendria de totes maneres com implícita. 945 00:46:16,930 --> 00:46:21,100 Però per CS50, els demanem a vostès per posar les claus només perquè la seva 946 00:46:21,100 --> 00:46:24,560 codi és més organitzat i més llegible. 947 00:46:24,560 --> 00:46:28,200 Com que el codi es fa més llarg si no tenen claus i tal. 948 00:46:28,200 --> 00:46:29,150 Es posa molt desordenat. 949 00:46:29,150 --> 00:46:31,410 >> LAUREN CARVALHO: Això és exactament el que David acaba d'assenyalar 950 00:46:31,410 --> 00:46:33,000 en els meus diapositives anteriors. 951 00:46:33,000 --> 00:46:36,690 Definitivament funciona sense l'arrissat claus, però per raons d'estil 952 00:46:36,690 --> 00:46:38,840 anem a demanar que vostè posa els polz 953 00:46:38,840 --> 00:46:42,400 >> I quan comences a córrer style50, que és una espècie de la verificació de 50 de 954 00:46:42,400 --> 00:46:44,860 estil, que li recordarà que ha de fer. 955 00:46:44,860 --> 00:46:49,710 >> LUCAS FREITAS: I una altra cosa és recordeu posar les claus al costat 956 00:46:49,710 --> 00:46:50,610 en cada línia. 957 00:46:50,610 --> 00:46:52,490 Així ho fa, per exemple, l's. 958 00:46:52,490 --> 00:46:56,910 Anar a la següent línia, obriu l'arrissat cotilla, després vas a la següent línia. 959 00:46:56,910 --> 00:46:59,560 Sangria, que és quatre espais. 960 00:46:59,560 --> 00:47:03,570 Després d'escriure el que sigui, i després un altre line, i tancar la clau de tancament. 961 00:47:03,570 --> 00:47:06,870 Així que assegureu-vos que tant els arrissada claus estan en diferents línies. 962 00:47:06,870 --> 00:47:11,548 >> AUDIÈNCIA: Així que si aquest codi tenia com 10 sís altra cosa, això ha 963 00:47:11,548 --> 00:47:13,040 ser de 10 jocs de suports? 964 00:47:13,040 --> 00:47:14,610 >> LUCAS FREITAS: Sí, per a cada un d'ells. 965 00:47:14,610 --> 00:47:14,930 Sí 966 00:47:14,930 --> 00:47:17,980 Així que si, en cas contrari si, i així successivament. 967 00:47:17,980 --> 00:47:21,990 >> AUDIÈNCIA: Pot vostè no premeu Tab per sagnar? 968 00:47:21,990 --> 00:47:25,350 >> LUCAS FREITAS: Els estem demanant nois a utilitzar quatre espais. 969 00:47:25,350 --> 00:47:30,060 Alguns editors de text es tradueixen pestanya com quatre espais de forma automàtica. 970 00:47:30,060 --> 00:47:34,850 gedit no ho fa, així que has de fer espai espai espai espai. 971 00:47:34,850 --> 00:47:37,920 Això també és una cosa que alguns programadors només les pestanyes, alguns 972 00:47:37,920 --> 00:47:40,560 programadors només els quatre espais, i algunes altres persones fins i tot fan 973 00:47:40,560 --> 00:47:41,900 dos o tres espais. 974 00:47:41,900 --> 00:47:44,040 És només que aquí estem demanant vostès que fer quatre espais. 975 00:47:44,040 --> 00:47:47,556 >> AUDIÈNCIA: No hi ha gairebé definitivament ha d'haver una manera perquè gedit 976 00:47:47,556 --> 00:47:48,645 automàticament [inaudible]. 977 00:47:48,645 --> 00:47:50,480 Igual que no [inaudible] ho fa. 978 00:47:50,480 --> 00:47:51,150 >> LUCAS FREITAS: Si. 979 00:47:51,150 --> 00:47:53,165 Crec que es pot anar a Configuració. 980 00:47:53,165 --> 00:47:55,270 >> AUDIÈNCIA: Ja fa tot això. 981 00:47:55,270 --> 00:47:56,410 >> LUCAS FREITAS: Ja fa? 982 00:47:56,410 --> 00:47:56,890 D'acord. 983 00:47:56,890 --> 00:48:00,854 Així que assegureu-vos que vostè tenir quatre espais. 984 00:48:00,854 --> 00:48:05,880 >> AUDIÈNCIA: Hem de posar l'arrissat parèntesi en els bucles així? 985 00:48:05,880 --> 00:48:07,470 >> LUCAS FREITAS: Si. 986 00:48:07,470 --> 00:48:11,610 >> LAUREN CARVALHO: Sempre que el seu encapsulant un bloc de codi, només 987 00:48:11,610 --> 00:48:13,570 feu servir les claus. 988 00:48:13,570 --> 00:48:18,040 I abans de pensar que només som ser molt rigorosos en això per res de bo 989 00:48:18,040 --> 00:48:23,450 raó, si a vostès no vagin a obtenir passanties tecnologia a les grans empreses, 990 00:48:23,450 --> 00:48:26,020 que li donarà una guia d'estil, i ells li diran que això és el que el seu 991 00:48:26,020 --> 00:48:27,220 codi ha de ser similar. 992 00:48:27,220 --> 00:48:31,120 I tot i que aprenguis a codi com això, potser en el seu passantia 993 00:48:31,120 --> 00:48:32,680 hauràs de fer alguna cosa completament diferent. 994 00:48:32,680 --> 00:48:35,115 Ells esperen que et conformes al seu estil. 995 00:48:35,115 --> 00:48:39,800 >> LUCAS FREITAS: I una cosa més és que ¿Notes com tinc com x, 996 00:48:39,800 --> 00:48:42,290 espai, menys, espai, 0? 997 00:48:42,290 --> 00:48:44,640 Cada vegada que tingui un operador - 998 00:48:44,640 --> 00:48:50,490 pot ser com més, menys, els temps, menys, gran, sigui quin sigui l'operador - 999 00:48:50,490 --> 00:48:57,560 has de posar un espai a la esquerra i el dret de l'operador. 1000 00:48:57,560 --> 00:49:00,570 >> LAUREN CARVALHO: Aquests són denominen operands binaris. 1001 00:49:00,570 --> 00:49:03,720 Només assegureu-vos que sempre l'espai terme les seves operands binaris. 1002 00:49:03,720 --> 00:49:05,465 >> LUCAS FREITAS: Aquest és no per un operador binari. 1003 00:49:05,465 --> 00:49:07,010 >> LAUREN CARVALHO: Això és perquè pren dues. 1004 00:49:07,010 --> 00:49:08,260 >> LUCAS FREITAS: Oh, si. 1005 00:49:08,260 --> 00:49:13,340 1006 00:49:13,340 --> 00:49:14,590 >> Acceptar, els switches. 1007 00:49:14,590 --> 00:49:18,180 1008 00:49:18,180 --> 00:49:23,390 En primer lloc, cal veure que igual que en una sentència if o else, vostè té 1009 00:49:23,390 --> 00:49:28,280 posar la clau de la seva pròpia línia i sota la clau d'aquí. 1010 00:49:28,280 --> 00:49:32,240 Observeu que hi ha un espai únic després de la connexió, igual que en if i else 1011 00:49:32,240 --> 00:49:35,360 teníem un sol espai entre això i els parèntesis. 1012 00:49:35,360 --> 00:49:36,610 Així que cal posar això. 1013 00:49:36,610 --> 00:49:40,380 1014 00:49:40,380 --> 00:49:48,270 >> I no hi ha cap espai després de cada dels parèntesis o abans del final 1015 00:49:48,270 --> 00:49:49,080 dels parèntesis. 1016 00:49:49,080 --> 00:49:52,612 Així que ja veus que és tot junt, i també els agrada aquí. 1017 00:49:52,612 --> 00:49:53,940 >> Sí? 1018 00:49:53,940 --> 00:49:58,040 >> LAUREN CARVALHO: Crec que hem de seguir endavant. 1019 00:49:58,040 --> 00:50:02,340 >> LUCAS FREITAS: Així que això és part de la guia d'estil que vostè té per al CS50. 1020 00:50:02,340 --> 00:50:06,520 Assegureu-vos d'anar a cs50.net/style i fer una ullada a això. 1021 00:50:06,520 --> 00:50:09,250 Aquests són tots molt importants per a la seva qualificació d'estil. 1022 00:50:09,250 --> 00:50:12,740 1023 00:50:12,740 --> 00:50:15,670 >> Permetin-me tornar a la declaració. 1024 00:50:15,670 --> 00:50:17,070 >> LAUREN CARVALHO: Prefereixo només ha d'utilitzar style50. 1025 00:50:17,070 --> 00:50:18,920 Només anirem directament als bucles. 1026 00:50:18,920 --> 00:50:27,580 1027 00:50:27,580 --> 00:50:28,300 Està bé. 1028 00:50:28,300 --> 00:50:33,720 >> Així que anem a tornar als continguts, ara que hem passat al llibre d'estil. 1029 00:50:33,720 --> 00:50:37,220 Loops, Vostè els ha vist en Scratch, i parlarem d'ells en 1030 00:50:37,220 --> 00:50:39,210 C. 1031 00:50:39,210 --> 00:50:44,400 >> En un bucle, hi ha tres porcions a la 1032 00:50:44,400 --> 00:50:45,440 declaració d'aquest bucle. 1033 00:50:45,440 --> 00:50:49,040 Vostè té el seu inicialització en que estableix les seves variables. 1034 00:50:49,040 --> 00:50:52,160 Tens la teva condició, que són la comprovació per veure si alguna cosa és 1035 00:50:52,160 --> 00:50:54,670 vertadera o falsa, i si el bucle ha de continuar. 1036 00:50:54,670 --> 00:50:59,390 I vostè té la seva actualització, que és l'actualització de les variables. 1037 00:50:59,390 --> 00:51:05,310 >> Anem a fer una ullada ràpida a algunes Codi C d'aquest bucle en acció. 1038 00:51:05,310 --> 00:51:08,860 El que passa és que aquí al inicialització, estem establint i a 0. 1039 00:51:08,860 --> 00:51:11,820 En la condició que estem comprovant si i és menor que 10. 1040 00:51:11,820 --> 00:51:14,982 I en l'actualització que estem incrementant i. 1041 00:51:14,982 --> 00:51:20,490 Llavors, quin serà el resultat de aquest bucle? 1042 00:51:20,490 --> 00:51:24,344 >> LUCAS FREITAS: En realitat, en primer lloc, Saps el que els nois i + + és? 1043 00:51:24,344 --> 00:51:25,850 >> AUDIÈNCIA: Augment en 1. 1044 00:51:25,850 --> 00:51:26,870 >> LUCAS FREITAS: Augment d'1, si. 1045 00:51:26,870 --> 00:51:30,020 Així que això és el mateix que fent i i + 1 és igual. 1046 00:51:30,020 --> 00:51:35,890 I adonar-se que no tenim un espai entre el jo i el + +. 1047 00:51:35,890 --> 00:51:37,600 >> Així que sí sabem és que vostès el que això va a fer? 1048 00:51:37,600 --> 00:51:39,060 Pot algú dir-me? 1049 00:51:39,060 --> 00:51:41,463 I potser obtenir una mica de caramel per això? 1050 00:51:41,463 --> 00:51:42,912 >> AUDIÈNCIA: [inaudible] 1051 00:51:42,912 --> 00:51:44,850 >> LUCAS FREITAS: OK. 1052 00:51:44,850 --> 00:51:45,400 [Inaudible] 1053 00:51:45,400 --> 00:51:47,450 mostrar a tots més tard [inaudible]. 1054 00:51:47,450 --> 00:51:49,565 Sí, es mostrarà "Aquest CS50 és "10 vegades. 1055 00:51:49,565 --> 00:51:52,150 >> LAUREN CARVALHO: Suposo que va ser en el títol de la diapositiva. 1056 00:51:52,150 --> 00:51:53,830 >> LUCAS FREITAS: Oh, si. 1057 00:51:53,830 --> 00:51:54,670 >> [Rialles] 1058 00:51:54,670 --> 00:51:56,790 >> LUCAS FREITAS: Això ajuda. 1059 00:51:56,790 --> 00:51:58,370 >> LAUREN CARVALHO: Així que aquells són per als bucles. 1060 00:51:58,370 --> 00:52:03,200 Anem a veure alguns exemples més per llaços més endavant. 1061 00:52:03,200 --> 00:52:06,510 Però anem realment a fer una ullada a la segon tipus de bucle et trobaràs 1062 00:52:06,510 --> 00:52:08,920 en C, i es diu el bucle while. 1063 00:52:08,920 --> 00:52:11,120 >> En un bucle while, que hi hagi acaba d'aconseguir una condició. 1064 00:52:11,120 --> 00:52:14,790 La condició es comprova en el començant, i si aquesta condició 1065 00:52:14,790 --> 00:52:18,450 s'avalua com a veritable, llavors el codi dins de el cos del bloc mentre 1066 00:52:18,450 --> 00:52:20,380 s'executarà. 1067 00:52:20,380 --> 00:52:23,000 I el codi seguirà executar, sempre que que 1068 00:52:23,000 --> 00:52:24,450 condició segueix sent cert. 1069 00:52:24,450 --> 00:52:28,350 1070 00:52:28,350 --> 00:52:33,320 >> Heus aquí un exemple d'un bucle while en C. Anem a configurar el compte de 10 a 1071 00:52:33,320 --> 00:52:34,580 començar. 1072 00:52:34,580 --> 00:52:41,800 Mentre comptador és major que 0, seguirem imprimint a terme aquesta 1073 00:52:41,800 --> 00:52:43,360 variable d'aquí. 1074 00:52:43,360 --> 00:52:47,080 Anem a disminuir el recompte i a continuació, comprovar l'estat de nou. 1075 00:52:47,080 --> 00:52:51,370 Imprimir, decrement, xec la condició de nou. 1076 00:52:51,370 --> 00:52:54,530 >> Aquí tenim un exemple que fa a la seva pregunta anterior. 1077 00:52:54,530 --> 00:52:57,340 Teníem el percentatge s quan érem impressió d'una cadena, i ara que 1078 00:52:57,340 --> 00:53:03,420 estem imprimint un int, tenim una cent I com a marcador de posició en lloc nostre. 1079 00:53:03,420 --> 00:53:09,250 Totes les lletres ha de ser bastant intuïtiva, S per cadena, i per int. 1080 00:53:09,250 --> 00:53:15,400 >> Així que si s'executa aquest codi, ha de un compte regressiva de 10 a 0, la impressió 1081 00:53:15,400 --> 00:53:15,925 cada sencer. 1082 00:53:15,925 --> 00:53:19,460 >> LUCAS FREITAS: I es pot pensar en el per cent, ja que se sent com un espai en blanc 1083 00:53:19,460 --> 00:53:23,960 espai, i després et poses aquesta variable d'aquí en aquest espai en blanc. 1084 00:53:23,960 --> 00:53:27,640 Així, per exemple, aquí vaig a tenir només un espai en blanc, i després em vaig a posar la 1085 00:53:27,640 --> 00:53:30,262 comptar allà mateix, el valor del compte. 1086 00:53:30,262 --> 00:53:32,710 Això té sentit? 1087 00:53:32,710 --> 00:53:35,860 >> Puc simplement fer com printf i després cita, expliqui? 1088 00:53:35,860 --> 00:53:36,840 Funcionaria? 1089 00:53:36,840 --> 00:53:37,980 >> AUDIÈNCIA: No 1090 00:53:37,980 --> 00:53:41,190 >> LUCAS FREITAS: No, perquè ho farà de fet imprimir la paraula "compte" 1091 00:53:41,190 --> 00:53:42,850 en lloc d'imprimir el valor. 1092 00:53:42,850 --> 00:53:46,080 Aquesta és la forma de fer que imprimeixi els valors cap a la variable en lloc de 1093 00:53:46,080 --> 00:53:47,670 només el nom de la variable. 1094 00:53:47,670 --> 00:53:48,530 Alguna pregunta? 1095 00:53:48,530 --> 00:53:53,060 >> AUDIÈNCIA: Per què fan servir per com oposada a temps? 1096 00:53:53,060 --> 00:53:56,130 >> LAUREN CARVALHO: M'agradaria utilitzar una de bucle si sé exactament quants 1097 00:53:56,130 --> 00:53:59,520 iteracions que vull el meu bucle s'executi. 1098 00:53:59,520 --> 00:54:02,810 En aquest cas, no té importància, ja que, Vull dir, jo només estava tractant de 1099 00:54:02,810 --> 00:54:05,310 pensar en una molt simple exemple per a aquesta diapositiva. 1100 00:54:05,310 --> 00:54:09,990 Però diguem que vostè vol alguna cosa per seguir endavant, mentre que - 1101 00:54:09,990 --> 00:54:14,480 >> LUCAS FREITAS: Per exemple, vostè és demanant d'entrada fins que la persona 1102 00:54:14,480 --> 00:54:15,370 li dóna l'entrada dreta. 1103 00:54:15,370 --> 00:54:19,720 Així que, com mentre que l'entrada no és Acceptar, seguir preguntant per ell. 1104 00:54:19,720 --> 00:54:22,920 O com durant els seus pares no es donen diners, seguir preguntant per ell. 1105 00:54:22,920 --> 00:54:23,430 >> [Rialles] 1106 00:54:23,430 --> 00:54:25,390 >> LAUREN CARVALHO: No sap com moltes vegades hauràs de fer-ho. 1107 00:54:25,390 --> 00:54:27,292 >> LUCAS FREITAS: Perquè no ho fa sé quantes vegades això és 1108 00:54:27,292 --> 00:54:28,010 seguirà endavant. 1109 00:54:28,010 --> 00:54:30,397 >> LAUREN CARVALHO: Però en un bucle, el que necessita saber quantes vegades. 1110 00:54:30,397 --> 00:54:33,640 1111 00:54:33,640 --> 00:54:33,860 Sí? 1112 00:54:33,860 --> 00:54:38,520 >> AUDIÈNCIA: Només per aclarir, el percentatge diu que això és una cosa a punt de 1113 00:54:38,520 --> 00:54:42,415 succeir, sobre les is per a la part entera, i la barra invertida n - 1114 00:54:42,415 --> 00:54:43,910 >> LAUREN CARVALHO: Mitjans? 1115 00:54:43,910 --> 00:54:45,820 Qui sap el que significa la barra invertida n? 1116 00:54:45,820 --> 00:54:47,770 Nova línia, si. 1117 00:54:47,770 --> 00:54:48,130 Exactament. 1118 00:54:48,130 --> 00:54:50,500 >> LUCAS FREITAS: Vostè pot pensar de n com a nova línia. 1119 00:54:50,500 --> 00:54:52,258 >> LAUREN CARVALHO: Nice. 1120 00:54:52,258 --> 00:54:55,775 >> AUDIÈNCIA: Què és el que compta tauler tauler [inaudible]? 1121 00:54:55,775 --> 00:55:00,240 >> LUCAS FREITAS: Count minus minus és el mateix que el més més, però 1122 00:55:00,240 --> 00:55:02,160 en comptes d'augmentar, està disminuint en 1. 1123 00:55:02,160 --> 00:55:04,720 1124 00:55:04,720 --> 00:55:07,185 >> LAUREN CARVALHO: Qualsevol més mentre que les qüestions de bucle? 1125 00:55:07,185 --> 00:55:09,460 No? 1126 00:55:09,460 --> 00:55:13,910 Oh, que se suposava que han saltat que. 1127 00:55:13,910 --> 00:55:14,950 >> Es tracta d'un bucle do while. 1128 00:55:14,950 --> 00:55:18,950 Molt similar a un bucle while excepte en aquest cas, comprovem la condició després de 1129 00:55:18,950 --> 00:55:23,430 el codi en el cos de la bucle s'executa una vegada. 1130 00:55:23,430 --> 00:55:27,170 Així que executem el codi primer no importa què. 1131 00:55:27,170 --> 00:55:31,956 Llavors vam comprovar la condició, executar de nou si la condició és vertadera. 1132 00:55:31,956 --> 00:55:35,450 1133 00:55:35,450 --> 00:55:38,950 >> Vostè es trobarà utilitzant això quan vostè està demanant la entrada de l'usuari. 1134 00:55:38,950 --> 00:55:42,080 Com que sempre hauràs de demanar una vegada, i després en funció del que 1135 00:55:42,080 --> 00:55:46,570 l'entrada de l'usuari és, potser hagi de Nova sol · licitud i demanar una vegada i una altra si 1136 00:55:46,570 --> 00:55:50,670 l'entrada no era el que esperava que fos. 1137 00:55:50,670 --> 00:55:53,610 >> AUDIÈNCIA: Així que és com una forma perquè la gent ompli. 1138 00:55:53,610 --> 00:55:56,010 >> LAUREN CARVALHO: Sí, exactament. 1139 00:55:56,010 --> 00:55:59,720 Trobareu, crec, en la seva primera Joc de paràmetres, vostè va a haver de 1140 00:55:59,720 --> 00:56:04,010 utilitzar un bucle així fer per cobrar entrada de l'usuari. 1141 00:56:04,010 --> 00:56:08,728 >> AUDIÈNCIA: Depenent de la situació, seus cicles while tendiran a funcionar amb més 1142 00:56:08,728 --> 00:56:12,805 sovint que els bucles while, com per un o alguna cosa així? 1143 00:56:12,805 --> 00:56:14,080 >> LAUREN CARVALHO: Si és l'exacta - 1144 00:56:14,080 --> 00:56:17,400 >> LUCAS FREITAS: Sempre han d'executar l'import exacte de vegades que 1145 00:56:17,400 --> 00:56:19,130 vol que s'executi. 1146 00:56:19,130 --> 00:56:23,860 Com fem servir fer mentre perquè realment volia aconseguir l'entrada a mínim una vegada. 1147 00:56:23,860 --> 00:56:27,220 En cicles while, de vegades no vols per executar en absolut si no és 1148 00:56:27,220 --> 00:56:28,540 el cas d'executar. 1149 00:56:28,540 --> 00:56:31,300 Per tant, depèn del disseny. 1150 00:56:31,300 --> 00:56:35,900 Vull dir, vostè pot fer-ho ja sigui per a ús o mentre mentre que el temps que el codi fa que 1151 00:56:35,900 --> 00:56:36,905 se suposa que ha de fer. 1152 00:56:36,905 --> 00:56:38,470 >> LAUREN CARVALHO: Però jo sí pensar en la resposta a la seva 1153 00:56:38,470 --> 00:56:40,540 pregunta és probablement si. 1154 00:56:40,540 --> 00:56:42,190 Diguem que la condició és falsa. 1155 00:56:42,190 --> 00:56:45,498 En un cas es correria un cop, i altre cas es correria zero vegades. 1156 00:56:45,498 --> 00:56:47,370 Així que, si. 1157 00:56:47,370 --> 00:56:49,260 >> Alguna pregunta més? 1158 00:56:49,260 --> 00:56:50,320 Sí? 1159 00:56:50,320 --> 00:56:56,443 >> AUDIÈNCIA: Pot la condició de bucle és una bucle en termes d'una altra variable 1160 00:56:56,443 --> 00:56:57,385 que [inaudible]. 1161 00:56:57,385 --> 00:57:01,700 >> LAUREN CARVALHO: Sí, pot ser qualsevol cosa. 1162 00:57:01,700 --> 00:57:06,420 Probablement per als Butlletins de problemes inicials, que no haurà de trobar aquest cas, però 1163 00:57:06,420 --> 00:57:09,878 Definitivament pot ser qualsevol cosa. 1164 00:57:09,878 --> 00:57:12,680 >> LUCAS FREITAS: Crec que que hem acabat aquí. 1165 00:57:12,680 --> 00:57:13,290 >> LAUREN CARVALHO: Estem? 1166 00:57:13,290 --> 00:57:13,480 No? 1167 00:57:13,480 --> 00:57:13,870 >> LUCAS FREITAS: Loops? 1168 00:57:13,870 --> 00:57:14,600 Sí 1169 00:57:14,600 --> 00:57:16,280 >> LAUREN CARVALHO: No hem de ser. 1170 00:57:16,280 --> 00:57:17,760 Oh, hem acabat amb bucles. 1171 00:57:17,760 --> 00:57:19,250 D'acord. 1172 00:57:19,250 --> 00:57:23,180 >> En realitat, ja hem estat parlant de manera tant, anem a navegar en realitat tot 1173 00:57:23,180 --> 00:57:28,950 a study.cs50.net/conditions. 1174 00:57:28,950 --> 00:57:34,460 I vas a navegar cap avall per el giny de problemes. 1175 00:57:34,460 --> 00:57:39,090 Bé, en realitat, mentre que la gent s'està aquesta configuració, l'Estudi CS50 és 1176 00:57:39,090 --> 00:57:42,620 serà una eina que els teus TFS utilitzar per preparar seccions i que 1177 00:57:42,620 --> 00:57:45,230 vostès poden utilitzar si s'oblida de seccions. 1178 00:57:45,230 --> 00:57:48,980 Es va a contenir un munt de diapositives, alguns consells i trucs per a cada 1179 00:57:48,980 --> 00:57:54,030 tema, i alguns problemes de pràctica amb solucions. 1180 00:57:54,030 --> 00:57:57,200 >> Per què no tothom acaba de tirar un cop d'ull en aquest problema aquí. 1181 00:57:57,200 --> 00:58:01,630 1182 00:58:01,630 --> 00:58:04,790 >> Ho sento, hauria d'haver recordat persones per portar els ordinadors portàtils d'avui. 1183 00:58:04,790 --> 00:58:07,050 Però si vostè no té un ordinador portàtil, que està bé. 1184 00:58:07,050 --> 00:58:10,140 Vostè només pot apuntar aquesta avall en una tros de paper o mirar per sobre de 1185 00:58:10,140 --> 00:58:12,890 l'espatlla del seu veí. 1186 00:58:12,890 --> 00:58:16,380 >> Anem a tractar d'escriure un programa que demanarà que prengui una conjectura, la 1187 00:58:16,380 --> 00:58:19,250 nombre mitjà de fills per família unitat als Estats Units. 1188 00:58:19,250 --> 00:58:22,265 Aquest nombre és 2, per cert, a mesura que pot veure en aquests exemples. 1189 00:58:22,265 --> 00:58:24,770 1190 00:58:24,770 --> 00:58:29,030 >> Volem imprimir el nombre mitjà de fills per família als EUA, llavors 1191 00:58:29,030 --> 00:58:31,080 vol què? 1192 00:58:31,080 --> 00:58:35,480 Volem recollir l'entrada des de l'usuari. 1193 00:58:35,480 --> 00:58:41,290 I a continuació, depenent del que l'usuari d'entrada és, vostè va a imprimir 1194 00:58:41,290 --> 00:58:44,850 bé això és correcte o això és incorrecte. 1195 00:58:44,850 --> 00:58:48,040 >> I la primera cosa que vostè va a veure, si fa clic a la petita fletxa en 1196 00:58:48,040 --> 00:58:52,190 la part inferior del giny problema és un detectar per anotar alguns pseudocodi. 1197 00:58:52,190 --> 00:58:53,340 Així que no estàs programant encara. 1198 00:58:53,340 --> 00:58:56,740 No ets més que aconseguir el seu idees en ordre. 1199 00:58:56,740 --> 00:58:59,620 >> Algú vol ajudar a Lucas arribar a la dreta 1200 00:58:59,620 --> 00:59:01,270 pseudocodi per a aquest problema? 1201 00:59:01,270 --> 00:59:04,900 >> LUCAS FREITAS: Què és el primer que probablement hauríem de fer aquí? 1202 00:59:04,900 --> 00:59:07,010 Què pensen vostès? 1203 00:59:07,010 --> 00:59:08,260 >> AUDIÈNCIA: [inaudible] 1204 00:59:08,260 --> 00:59:12,060 1205 00:59:12,060 --> 00:59:13,290 >> LUCAS FREITAS: Sí, està bé. 1206 00:59:13,290 --> 00:59:16,610 Així, imprimir. 1207 00:59:16,610 --> 00:59:19,480 Només vaig donar la impressió d'aquesta mitjana nombre de persones? 1208 00:59:19,480 --> 00:59:20,470 D'acord. 1209 00:59:20,470 --> 00:59:23,450 Imprimir pregunta, diguem. 1210 00:59:23,450 --> 00:59:25,951 Després imprimeixo aquesta pregunta, Què he de fer? 1211 00:59:25,951 --> 00:59:27,875 >> AUDIÈNCIA: Obtenir l'aportació. 1212 00:59:27,875 --> 00:59:30,690 >> LUCAS FREITAS: Obtenir entrada. 1213 00:59:30,690 --> 00:59:32,864 Alguna cosa més? 1214 00:59:32,864 --> 00:59:34,114 >> AUDIÈNCIA: Condició. 1215 00:59:34,114 --> 00:59:36,770 1216 00:59:36,770 --> 00:59:38,980 >> LUCAS FREITAS: Condició. 1217 00:59:38,980 --> 00:59:41,325 >> LAUREN CARVALHO: Què és això condicions serà? 1218 00:59:41,325 --> 00:59:43,550 >> AUDIÈNCIA: El nombre de [inaudible]. 1219 00:59:43,550 --> 00:59:44,440 >> LAUREN CARVALHO: així. 1220 00:59:44,440 --> 00:59:46,945 >> LUCAS FREITAS: Llavors, què vaig per comprovar en l'estat? 1221 00:59:46,945 --> 00:59:48,750 >> AUDIÈNCIA: Si és igual a 2. 1222 00:59:48,750 --> 00:59:50,640 >> LAUREN CARVALHO: Si és igual a 2. 1223 00:59:50,640 --> 00:59:51,890 Exactament. 1224 00:59:51,890 --> 00:59:58,340 1225 00:59:58,340 --> 01:00:00,140 >> LUCAS FREITAS: Hi ha quelcom més que hagi de fer? 1226 01:00:00,140 --> 01:00:01,390 >> AUDIÈNCIA: Count. 1227 01:00:01,390 --> 01:00:05,184 1228 01:00:05,184 --> 01:00:08,110 >> LUCAS FREITAS: Així que si és igual a 2, direm - 1229 01:00:08,110 --> 01:00:14,250 1230 01:00:14,250 --> 01:00:17,960 permetin-me escriure si és igual a l'entrada a 2, llavors el que vaig 1231 01:00:17,960 --> 01:00:23,665 fer és impressió correcte. 1232 01:00:23,665 --> 01:00:26,230 1233 01:00:26,230 --> 01:00:31,826 I després una altra cosa, vaig imprimir correctes. 1234 01:00:31,826 --> 01:00:34,600 1235 01:00:34,600 --> 01:00:37,720 Alguna cosa més? 1236 01:00:37,720 --> 01:00:38,670 No? 1237 01:00:38,670 --> 01:00:40,500 >> LAUREN CARVALHO: Així que vostè pot fer clic al - 1238 01:00:40,500 --> 01:00:42,290 Per què tots tenen això sota? 1239 01:00:42,290 --> 01:00:44,680 >> LUCAS FREITAS: Té sentit? 1240 01:00:44,680 --> 01:00:46,226 Així que ara anem a tractar de codificar aquesta. 1241 01:00:46,226 --> 01:00:50,140 >> LAUREN CARVALHO: Si fa clic al petit fletxa, que en realitat guarda el seu 1242 01:00:50,140 --> 01:00:51,900 pseudocodi, que és realment emocionant. 1243 01:00:51,900 --> 01:00:56,480 I vostè pot fer en els comentaris si que vols és simplement per recordar 1244 01:00:56,480 --> 01:00:57,075 el que ha de fer. 1245 01:00:57,075 --> 01:01:01,555 >> LUCAS FREITAS: Així, per exemple, primer Vaig a imprimir la pregunta, així 1246 01:01:01,555 --> 01:01:05,930 Com vaig a fer això, en realitat? 1247 01:01:05,930 --> 01:01:07,050 printf. 1248 01:01:07,050 --> 01:01:12,130 Així printf, i la pregunta és la mitjana nombre de fills per 1249 01:01:12,130 --> 01:01:14,110 família als EUA. 1250 01:01:14,110 --> 01:01:19,070 1251 01:01:19,070 --> 01:01:21,790 >> Llavors em vaig a posar entrada de l'usuari. 1252 01:01:21,790 --> 01:01:29,050 1253 01:01:29,050 --> 01:01:31,324 Llavors, com puc fer això? 1254 01:01:31,324 --> 01:01:32,200 >> AUDIÈNCIA: Obtenir Int. 1255 01:01:32,200 --> 01:01:33,076 >> LAUREN CARVALHO: GetInt. 1256 01:01:33,076 --> 01:01:33,890 >> LUCAS FREITAS: OK. 1257 01:01:33,890 --> 01:01:35,220 Així que primer declarar, oi? 1258 01:01:35,220 --> 01:01:39,300 int, diguem n és igual GetInt. 1259 01:01:39,300 --> 01:01:42,610 1260 01:01:42,610 --> 01:01:44,670 >> I ara la condició. 1261 01:01:44,670 --> 01:01:49,250 Així que deixeu-me dir-los que em vaig a aquí Resposta. 1262 01:01:49,250 --> 01:01:57,290 Així que primer, si l'entrada, que és n, és igual a a - com vaig a escriure això? 1263 01:01:57,290 --> 01:01:58,480 >> AUDIÈNCIA: Igualtat iguals. 1264 01:01:58,480 --> 01:02:00,000 >> LUCAS FREITAS: Perfect. 1265 01:02:00,000 --> 01:02:00,670 Llavors n. 1266 01:02:00,670 --> 01:02:04,600 I noto que em faig un espai, iguals, iguals, espai, cert. 1267 01:02:04,600 --> 01:02:06,930 I ara què he de fer? 1268 01:02:06,930 --> 01:02:08,820 Una cosa molt important per l'estil. 1269 01:02:08,820 --> 01:02:10,070 Les claus. 1270 01:02:10,070 --> 01:02:16,570 1271 01:02:16,570 --> 01:02:17,795 >> I després vaig a imprimir. 1272 01:02:17,795 --> 01:02:19,790 Com s'imprimeix? 1273 01:02:19,790 --> 01:02:22,500 printf. 1274 01:02:22,500 --> 01:02:24,568 >> AUDIÈNCIA: Podria ser majúscula? 1275 01:02:24,568 --> 01:02:27,166 1276 01:02:27,166 --> 01:02:28,380 >> LUCAS FREITAS: No 1277 01:02:28,380 --> 01:02:31,000 Se suposa que ha d'estar en minúscules. 1278 01:02:31,000 --> 01:02:32,250 Així que això és correcte. 1279 01:02:32,250 --> 01:02:40,990 1280 01:02:40,990 --> 01:02:44,870 >> N'hi hauria prou això per al printf declaració, o m'estic perdent alguna cosa? 1281 01:02:44,870 --> 01:02:46,265 >> AUDIÈNCIA: Nova línia. 1282 01:02:46,265 --> 01:02:50,220 >> LUCAS FREITAS: Nova línia, si. 1283 01:02:50,220 --> 01:02:51,250 I ara més. 1284 01:02:51,250 --> 01:02:57,290 >> AUDIÈNCIA: Existeix un espai després que el printf, o no? 1285 01:02:57,290 --> 01:03:00,820 >> LAUREN CARVALHO: Hauríem consultar la guia d'estil. 1286 01:03:00,820 --> 01:03:02,260 >> AUDIÈNCIA: No hauria de ser. 1287 01:03:02,260 --> 01:03:03,510 >> LUCAS FREITAS: No hauria de ser, a D'acord. 1288 01:03:03,510 --> 01:03:05,820 1289 01:03:05,820 --> 01:03:13,605 Així que una altra cosa, printf, "Això no és correcte." 1290 01:03:13,605 --> 01:03:17,105 >> LAUREN CARVALHO: Vaja, les seves cotitzacions. 1291 01:03:17,105 --> 01:03:17,950 >> LUCAS FREITAS: OK. 1292 01:03:17,950 --> 01:03:18,600 Alguna cosa més? 1293 01:03:18,600 --> 01:03:20,770 Et sembla bé? 1294 01:03:20,770 --> 01:03:21,890 >> LAUREN CARVALHO: Ho vam intentar? 1295 01:03:21,890 --> 01:03:23,190 >> LUCAS FREITAS: Sí, anem a executar-lo. 1296 01:03:23,190 --> 01:03:25,880 1297 01:03:25,880 --> 01:03:29,070 Així que és la compilació, i Sembla que funciona. 1298 01:03:29,070 --> 01:03:31,465 Tractarem de dos fills. 1299 01:03:31,465 --> 01:03:34,110 Això és correcte. 1300 01:03:34,110 --> 01:03:37,300 I ara anem a córrer de nou, però ara en lloc de posar dos fills, anem a 1301 01:03:37,300 --> 01:03:40,990 dir que em vaig a posar com cinc. 1302 01:03:40,990 --> 01:03:41,515 Això és incorrecte. 1303 01:03:41,515 --> 01:03:42,670 Així que sembla que funciona. 1304 01:03:42,670 --> 01:03:44,160 >> LAUREN CARVALHO: Per què no els mostres què passa si poses alguna cosa 1305 01:03:44,160 --> 01:03:45,055 rar, com algunes lletres. 1306 01:03:45,055 --> 01:03:45,790 >> LUCAS FREITAS: Oh, si. 1307 01:03:45,790 --> 01:03:47,430 També anem a comprovar que. 1308 01:03:47,430 --> 01:03:51,170 Què passa si l'usuari està tractant de ficar-se amb el seu programa, i que només 1309 01:03:51,170 --> 01:03:57,430 escriure, no sé dues. 1310 01:03:57,430 --> 01:03:58,320 Dirà reintent. 1311 01:03:58,320 --> 01:04:00,780 >> LAUREN CARVALHO: Així GetInt els està demanant que torni a intentar-ho. 1312 01:04:00,780 --> 01:04:02,115 No havíem de tenir cura que nosaltres mateixos. 1313 01:04:02,115 --> 01:04:02,750 >> LUCAS FREITAS: Si. 1314 01:04:02,750 --> 01:04:06,853 Així que a menys que realment posar un nombre, que és seguirà demanant que torni a intentar-ho. 1315 01:04:06,853 --> 01:04:08,330 >> AUDIÈNCIA: Com s'executa? 1316 01:04:08,330 --> 01:04:10,570 >> LUCAS FREITAS: Només cal que feu clic aquest botó d'estrella. 1317 01:04:10,570 --> 01:04:11,940 >> LAUREN CARVALHO: Vostè ha de pujar. 1318 01:04:11,940 --> 01:04:13,320 Aquí el tens. 1319 01:04:13,320 --> 01:04:15,550 >> LUCAS FREITAS: L'estrella botó dret allà. 1320 01:04:15,550 --> 01:04:16,040 Sí? 1321 01:04:16,040 --> 01:04:19,960 >> AUDIÈNCIA: Es demanarà [inaudible] amb nombres decimals també? 1322 01:04:19,960 --> 01:04:21,235 >> LAUREN CARVALHO: Jo crec que sí. 1323 01:04:21,235 --> 01:04:22,660 >> LUCAS FREITAS: Si és així, què? 1324 01:04:22,660 --> 01:04:24,990 >> LAUREN CARVALHO: Si s'escrigui en un nombre decimal, crec 1325 01:04:24,990 --> 01:04:25,880 que sol · licitarà. 1326 01:04:25,880 --> 01:04:26,586 >> LUCAS FREITAS: Vegem. 1327 01:04:26,586 --> 01:04:28,360 >> LAUREN CARVALHO: Perquè no és un int. 1328 01:04:28,360 --> 01:04:32,056 1329 01:04:32,056 --> 01:04:33,442 >> LUCAS FREITAS: Si. 1330 01:04:33,442 --> 01:04:37,370 >> LAUREN CARVALHO: Així que no és un int, Obtingui Int li demanarà que torni a intentar-ho. 1331 01:04:37,370 --> 01:04:40,795 >> AUDIÈNCIA: Llavors, on en aquest codi seria el decimal que demana al 1332 01:04:40,795 --> 01:04:46,005 d'usuari que han d'entrar un nombre enter específicament? 1333 01:04:46,005 --> 01:04:48,480 >> LAUREN CARVALHO: GetInt és en realitat fer això per nosaltres. 1334 01:04:48,480 --> 01:04:50,600 >> AUDIÈNCIA: No, vull dir que si volíem per accedir a [inaudible] 1335 01:04:50,600 --> 01:04:55,070 >> LUCAS FREITAS: Pot dir com a mitjana nombre de nens als EUA. 1336 01:04:55,070 --> 01:04:56,120 No. 1337 01:04:56,120 --> 01:05:01,761 Podem dir, per exemple ", si us plau d'entrada un nombre enter ". 1338 01:05:01,761 --> 01:05:04,270 >> LAUREN CARVALHO: Un nombre enter igual al nombre mitjà. 1339 01:05:04,270 --> 01:05:06,190 Vull dir, és només la forma en el paraula, oi? 1340 01:05:06,190 --> 01:05:06,520 >> LUCAS FREITAS: Si. 1341 01:05:06,520 --> 01:05:08,420 Això no és part de la realitat de codificació. 1342 01:05:08,420 --> 01:05:11,000 És més aviat com el que vostè va a voler 1343 01:05:11,000 --> 01:05:13,987 escriure en el seu programa. 1344 01:05:13,987 --> 01:05:17,723 >> AUDIÈNCIA: Com ens hem executar si estava realment en gedit [inaudible]. 1345 01:05:17,723 --> 01:05:19,130 En lloc de pressionar el joc? 1346 01:05:19,130 --> 01:05:21,180 >> LUCAS FREITAS: Enviarem primer compilar. 1347 01:05:21,180 --> 01:05:25,080 Podem fer-ho fent maquillatge i el nom del fitxer. 1348 01:05:25,080 --> 01:05:29,896 I després d'executar, ho farem slash dot i el nom del programa. 1349 01:05:29,896 --> 01:05:36,588 >> AUDIÈNCIA: Crec que el que volia dir era si volíem que el programa per respondre a 1350 01:05:36,588 --> 01:05:42,010 seva, entrada invàlida incorrecta, vostè no ha de posar en - 1351 01:05:42,010 --> 01:05:45,710 >> LUCAS FREITAS: No serem capaços de fer això perquè el codi que diu 1352 01:05:45,710 --> 01:05:50,350 reintentar prové de Get Int que és un la funció que ja s'implementa 1353 01:05:50,350 --> 01:05:55,790 per a nosaltres a través de la biblioteca CS50, i des que ja ha implementat allà, 1354 01:05:55,790 --> 01:05:58,340 pot no només [inaudible]. 1355 01:05:58,340 --> 01:06:00,780 >> LAUREN CARVALHO: Si no fa servir GetInt, llavors vostè pot fer això. 1356 01:06:00,780 --> 01:06:01,490 >> LUCAS FREITAS: Si. 1357 01:06:01,490 --> 01:06:03,750 Però si vostè està utilitzant GetInt, no es pot. 1358 01:06:03,750 --> 01:06:05,427 Alguna altra pregunta? 1359 01:06:05,427 --> 01:06:12,938 >> AUDIÈNCIA: Podries haver anat amb la mateixa GetFloat i després ser capaç de posar 1360 01:06:12,938 --> 01:06:14,381 en un decimal? 1361 01:06:14,381 --> 01:06:15,343 >> LUCAS FREITAS: Si. 1362 01:06:15,343 --> 01:06:15,824 >> AUDIÈNCIA: OK. 1363 01:06:15,824 --> 01:06:19,210 A continuació, només pot ingressar surar A és igual a - 1364 01:06:19,210 --> 01:06:19,950 >> LAUREN CARVALHO: Si. 1365 01:06:19,950 --> 01:06:22,740 Exactament el mateix, excepte una surar en lloc d'un int. 1366 01:06:22,740 --> 01:06:27,372 >> LUCAS FREITAS: Només cal posar aquí i després GetFloat allà. 1367 01:06:27,372 --> 01:06:29,795 >> AUDIÈNCIA: Com vulguis veure o han vist - 1368 01:06:29,795 --> 01:06:31,327 >> LAUREN CARVALHO: tenim no arribat allà encara. 1369 01:06:31,327 --> 01:06:36,490 >> AUDIÈNCIA: - fent la desigualtat amb flotadors no no [inaudible] 1370 01:06:36,490 --> 01:06:40,290 >> AUDIÈNCIA: Què signifiquen els punts i comes? 1371 01:06:40,290 --> 01:06:43,220 >> LAUREN CARVALHO: El punt i coma només vol dir que aquesta afirmació és completa, 1372 01:06:43,220 --> 01:06:45,030 i anirem a la següent diapositiva. 1373 01:06:45,030 --> 01:06:47,040 >> AUDIÈNCIA: Pel que és necessari cada vegada? 1374 01:06:47,040 --> 01:06:48,330 >> LAUREN CARVALHO: Si. 1375 01:06:48,330 --> 01:06:53,130 Bé, està bé, pel que no fos per aquestes condicions, perquè són 1376 01:06:53,130 --> 01:06:54,090 encapsulant alguna cosa. 1377 01:06:54,090 --> 01:07:00,290 Així que, bàsicament, si alguna cosa està causant a continuació, crear una clau 1378 01:07:00,290 --> 01:07:03,000 bloc, no posi un punt i coma al final. 1379 01:07:03,000 --> 01:07:04,200 >> LUCAS FREITAS: Però tot altres, sí. 1380 01:07:04,200 --> 01:07:06,670 Quan acabi d'un comunicat, posar el punt i coma. 1381 01:07:06,670 --> 01:07:10,380 I si se li oblida un punt i coma, la compilador va a enutjar amb vostè, 1382 01:07:10,380 --> 01:07:12,640 i vostè va a tenir per intentar arreglar-ho. 1383 01:07:12,640 --> 01:07:16,520 >> LAUREN CARVALHO: Si poso un punt i coma aquí, això seria aturar això, i jo 1384 01:07:16,520 --> 01:07:18,780 mai arribar a executar el que és a l'interior, per cert. 1385 01:07:18,780 --> 01:07:21,113 Així que és un d'aquests errors comuns. 1386 01:07:21,113 --> 01:07:22,390 >> AUDIÈNCIA: Sempre execució. 1387 01:07:22,390 --> 01:07:22,950 >> LAUREN CARVALHO: Si. 1388 01:07:22,950 --> 01:07:25,860 En aquest cas, sempre ho faria executar el que hi ha dins. 1389 01:07:25,860 --> 01:07:29,050 >> AUDIÈNCIA: El seu estil de [inaudible] fixar això per a vostè, el pensament. 1390 01:07:29,050 --> 01:07:29,802 >> LAUREN CARVALHO: Oh, això és cert. 1391 01:07:29,802 --> 01:07:34,298 >> AUDIÈNCIA: [inaudible] sola El line [inaudible] 1392 01:07:34,298 --> 01:07:35,286 >> AUDIÈNCIA: Sí? 1393 01:07:35,286 --> 01:07:37,756 >> AUDIÈNCIA: Es pot tenir múltiples entrades en una línia? 1394 01:07:37,756 --> 01:07:41,214 Així com es pot demanar als usuaris imprimir dues coses? 1395 01:07:41,214 --> 01:07:42,530 >> LAUREN CARVALHO: no s'utilitza - 1396 01:07:42,530 --> 01:07:44,520 >> LUCAS FREITAS: No 1397 01:07:44,520 --> 01:07:47,040 Diguem que també vull per obtenir aquest nombre enter m. 1398 01:07:47,040 --> 01:07:49,558 He de fer-ho en una línia diferent. 1399 01:07:49,558 --> 01:07:54,992 >> AUDIÈNCIA: Si es va a executar això, com [inaudible]? 1400 01:07:54,992 --> 01:07:59,438 S'imprimirà el símbol hi ha [inaudible] 1401 01:07:59,438 --> 01:08:00,940 i llavors el que entra en un i - 1402 01:08:00,940 --> 01:08:01,840 >> LAUREN CARVALHO: Bé, el dirigeix. 1403 01:08:01,840 --> 01:08:04,365 Vull dir, no hi ha res que ens impedeixi simplement executar-lo i veure el 1404 01:08:04,365 --> 01:08:06,610 que passaria. 1405 01:08:06,610 --> 01:08:08,080 >> LUCAS FREITAS: Crec que és va a es queixa de nosaltres 1406 01:08:08,080 --> 01:08:08,977 perquè no estem usant - 1407 01:08:08,977 --> 01:08:09,751 >> LAUREN CARVALHO: Vaya. 1408 01:08:09,751 --> 01:08:12,580 >> LUCAS FREITAS: Es va queixar a nosaltres en aquest ara perquè no estem fent servir aquest 1409 01:08:12,580 --> 01:08:21,640 variable, però si ho fes, per exemple, n és igual a és igual a i m és igual a 1410 01:08:21,640 --> 01:08:26,849 és igual a, llavors, què passar en aquest cas? 1411 01:08:26,849 --> 01:08:28,830 Què havia de fer aquest programa? 1412 01:08:28,830 --> 01:08:30,330 >> AUDIÈNCIA: Em pregunto la forma en què ho faria - 1413 01:08:30,330 --> 01:08:31,550 >> LAUREN CARVALHO: Ella només vol saber com es veu 1414 01:08:31,550 --> 01:08:34,189 com, crec, no? 1415 01:08:34,189 --> 01:08:36,819 Així que va prendre un d'ells, i després es va prendre la segona. 1416 01:08:36,819 --> 01:08:41,279 1417 01:08:41,279 --> 01:08:43,069 >> Crec que hauríem de seguir endavant, perquè tenim una més 1418 01:08:43,069 --> 01:08:44,689 presentació de diapositives que recórrer abans - 1419 01:08:44,689 --> 01:08:46,269 Què vols llençar de les matemàtiques? 1420 01:08:46,269 --> 01:08:47,558 >> LUCAS FREITAS: Sí, les matemàtiques. 1421 01:08:47,558 --> 01:09:00,033 1422 01:09:00,033 --> 01:09:02,206 >> LAUREN CARVALHO: Donar jo tan sols un segon. 1423 01:09:02,206 --> 01:09:07,390 1424 01:09:07,390 --> 01:09:14,260 >> Hi ha una numèrica pocs diferents variables en C. Dades Numèrics en C 1425 01:09:14,260 --> 01:09:18,130 es poden classificar en diferents tipus, i aquests són els que estarà 1426 01:09:18,130 --> 01:09:19,570 veure la majoria de les vegades. 1427 01:09:19,570 --> 01:09:20,910 >> I int és un nombre enter. 1428 01:09:20,910 --> 01:09:23,189 No pot tenir cap decimals. 1429 01:09:23,189 --> 01:09:27,754 En l'aparell, que es necessita 32 bits per emmagatzemar un int. 1430 01:09:27,754 --> 01:09:30,450 >> Un flotador pot tenir decimals. 1431 01:09:30,450 --> 01:09:34,330 També té 32 bits per emmagatzemar un flotador al Appliance. 1432 01:09:34,330 --> 01:09:42,270 >> Un doble és un número amb un decimal punt que es porta a 64 bits per emmagatzemar-lo, 1433 01:09:42,270 --> 01:09:44,470 el que significa que vostè pot tenir major precisió perquè 1434 01:09:44,470 --> 01:09:46,426 vostè pot tenir més - 1435 01:09:46,426 --> 01:09:47,785 Com es diu això? 1436 01:09:47,785 --> 01:09:48,640 >> LUCAS FREITAS: Sí, això és més. 1437 01:09:48,640 --> 01:09:52,140 >> LAUREN CARVALHO: més llocs després del punt decimal. 1438 01:09:52,140 --> 01:09:57,140 I molt, molt és un nombre enter que té 64 bits a 1439 01:09:57,140 --> 01:09:58,395 que dolor en l'aparell. 1440 01:09:58,395 --> 01:10:00,278 >> LUCAS FREITAS: Així que pot ser més gran que pot ser sencers. 1441 01:10:00,278 --> 01:10:03,320 1442 01:10:03,320 --> 01:10:08,380 >> LAUREN CARVALHO: El que passa amb les dades tipus en C és que et diuen el que 1443 01:10:08,380 --> 01:10:11,050 tipus de dades que pot emmagatzemar en la variable. 1444 01:10:11,050 --> 01:10:15,860 Ells et diuen com es pot utilitzar aquesta variable en el seu programa. 1445 01:10:15,860 --> 01:10:19,650 És molt important que acaba de realitzar un seguiment de quin tipus de dades que està utilitzant, i si 1446 01:10:19,650 --> 01:10:23,070 vostè ha de llançar des d'un tipus de dades a un altre, assegureu-vos que vostè sap 1447 01:10:23,070 --> 01:10:25,250 exactament el que passa quan aquesta fosa té lloc. 1448 01:10:25,250 --> 01:10:28,520 I veuràs un exemple més endavant en aquestes diapositives d'un 1449 01:10:28,520 --> 01:10:31,490 error que pot passar. 1450 01:10:31,490 --> 01:10:35,300 >> Fem una ullada a alguns matemàtiques en C i pensar amb molta cura, suposo, 1451 01:10:35,300 --> 01:10:38,470 sobre el que està passant quan aquest matemàtiques està tenint lloc. 1452 01:10:38,470 --> 01:10:43,552 A la primera línia, el que és succeint quan jo declaro x? 1453 01:10:43,552 --> 01:10:48,921 >> AUDIÈNCIA: Vostè està permetent x ser alguna cosa? 1454 01:10:48,921 --> 01:10:49,700 >> LAUREN CARVALHO: Si. 1455 01:10:49,700 --> 01:10:54,040 Bé, realment estic demanant a l'operació sistema de 32 bits de memòria, oi? 1456 01:10:54,040 --> 01:10:57,890 En què puc emmagatzemar un int, i Vaig a trucar a aquest int x. 1457 01:10:57,890 --> 01:11:01,370 >> LUCAS FREITAS: anar Bàsicament en la memòria i la recerca d'un lloc que té 32 1458 01:11:01,370 --> 01:11:05,290 bits i dit, escolta, vull aquest espai, i que serà anomenat x. 1459 01:11:05,290 --> 01:11:08,590 Així que no ets més que prou troballa una caixa en la seva memòria per 1460 01:11:08,590 --> 01:11:10,440 emmagatzemar valors per x. 1461 01:11:10,440 --> 01:11:13,980 >> LAUREN CARVALHO: I llavors puc inicialitzar x, el que significa que simplement emmagatzemar el 1462 01:11:13,980 --> 01:11:20,270 valor de 2 en aquest lloc, aquest tros de la memòria, que demanem operatiu 1463 01:11:20,270 --> 01:11:21,860 sistema per. 1464 01:11:21,860 --> 01:11:25,090 I fins aquí el que estem fent és en realitat estem declarant i 1465 01:11:25,090 --> 01:11:29,060 inicialitzar i en una línia en lloc de en dues línies com ho vam fer aquí, 1466 01:11:29,060 --> 01:11:33,960 que també és un perfectament bé, estem l'addició d'1 a x, i estem emmagatzemant que 1467 01:11:33,960 --> 01:11:34,950 valor en i. 1468 01:11:34,950 --> 01:11:39,360 >> LUCAS FREITAS: Així que bàsicament el que això línia fa, troba ara un quadre per i, 1469 01:11:39,360 --> 01:11:41,990 i llavors el seu valor, el que vostè va a posar dins de la caixa, és 1470 01:11:41,990 --> 01:11:43,800 serà el valor de x més 1. 1471 01:11:43,800 --> 01:11:45,850 Pel que té aquesta caixa per i. 1472 01:11:45,850 --> 01:11:49,980 S'obté el valor de x, es veu aquí, i veure que és 2. 1473 01:11:49,980 --> 01:11:53,035 Posa-ho aquí, més 1, per la qual cosa posa març 1 allà. 1474 01:11:53,035 --> 01:11:54,290 Això té sentit? 1475 01:11:54,290 --> 01:11:55,780 Per tant i seria 2 en aquest cas. 1476 01:11:55,780 --> 01:11:58,993 1477 01:11:58,993 --> 01:12:00,770 >> LAUREN CARVALHO: Molt bé, fresc. 1478 01:12:00,770 --> 01:12:06,010 Vam veure alguna addició, així que anem a pensar ara sobre la divisió en C. Aquí estic 1479 01:12:06,010 --> 01:12:11,490 declaració i iniciació d'un flotador anomenada resposta i dividint 1 per 10, 1480 01:12:11,490 --> 01:12:14,860 i llavors jo estic imprimint la resposta amb dos decimals. 1481 01:12:14,860 --> 01:12:18,800 I tingui en compte que aquí, en la meva declaració printf, quan vull imprimir alguna cosa a dos 1482 01:12:18,800 --> 01:12:25,600 decimals,% .2 f és el que jo vull utilitzar. 1483 01:12:25,600 --> 01:12:28,880 1484 01:12:28,880 --> 01:12:31,760 Així que el punt 2 és només dir Necessito dos llocs després de la 1485 01:12:31,760 --> 01:12:34,980 decimal imprimeix. 1486 01:12:34,980 --> 01:12:38,740 >> Ara, què passarà si executo aquest codi? 1487 01:12:38,740 --> 01:12:40,500 Algú té una idea? 1488 01:12:40,500 --> 01:12:42,721 Què faria imprimir? 1489 01:12:42,721 --> 01:12:45,010 >> LUCAS FREITAS: Quins són que esperava aconseguir. 1490 01:12:45,010 --> 01:12:46,810 >> LAUREN CARVALHO: Què fer volem, en primer lloc? 1491 01:12:46,810 --> 01:12:48,871 >> LUCAS FREITAS: [inaudible] 1492 01:12:48,871 --> 01:12:51,120 >> LAUREN CARVALHO: 0.1, si. 1493 01:12:51,120 --> 01:12:52,325 Però, què voleu imprimir? 1494 01:12:52,325 --> 01:12:53,275 >> AUDIÈNCIA: [inaudible] 1495 01:12:53,275 --> 01:12:56,760 >> LAUREN CARVALHO: Bé, no, en realitat. 1496 01:12:56,760 --> 01:13:01,400 Això és el que jo estava parlant sobre per què de fer un seguiment molt acurat de 1497 01:13:01,400 --> 01:13:02,550 els seus tipus de dades. 1498 01:13:02,550 --> 01:13:05,000 Llavors, quin tipus de dades és això? 1499 01:13:05,000 --> 01:13:06,250 És un int, oi? 1500 01:13:06,250 --> 01:13:07,600 No hi ha lloc decimal. 1501 01:13:07,600 --> 01:13:08,770 10 és també un int. 1502 01:13:08,770 --> 01:13:09,930 No hi ha lloc decimal. 1503 01:13:09,930 --> 01:13:15,770 >> Si dividit 01:00 int per un int, em surt un int que no és 0.1, perquè sencers 1504 01:13:15,770 --> 01:13:18,630 no pot tenir decimals, però només 0. 1505 01:13:18,630 --> 01:13:21,005 A causa d'un int simplement trunca dels decimals. 1506 01:13:21,005 --> 01:13:24,280 >> LUCAS FREITAS: Així que cada vegada que fas operacions amb enters, es van a 1507 01:13:24,280 --> 01:13:25,990 aconseguir un int com la resposta. 1508 01:13:25,990 --> 01:13:28,930 Així que, bàsicament, el que l'ordinador està fent, és divideix 1 per 1509 01:13:28,930 --> 01:13:31,520 10, i que arriba a 0,1. 1510 01:13:31,520 --> 01:13:34,870 Però llavors és com, espera, això és se suposa que és un nombre enter, de manera que només 1511 01:13:34,870 --> 01:13:37,045 ignorar el 0,1, de manera que és ara només 0. 1512 01:13:37,045 --> 01:13:41,782 >> LAUREN CARVALHO: Així que quan imprimeixo aquesta fora, em surt 0,00 en lloc de 0,10. 1513 01:13:41,782 --> 01:13:44,075 >> LUCAS FREITAS: Això té sentit? 1514 01:13:44,075 --> 01:13:45,530 >> LAUREN CARVALHO: Això és una cosa de lamentable, no? 1515 01:13:45,530 --> 01:13:47,290 >> LUCAS FREITAS: Com podem solucionar aquest problema? 1516 01:13:47,290 --> 01:13:48,620 >> LAUREN CARVALHO: Anem a tractar d'arreglar això. 1517 01:13:48,620 --> 01:13:51,570 1518 01:13:51,570 --> 01:13:54,810 Heus aquí un exemple d'on sóc realment llançar l'1 1519 01:13:54,810 --> 01:13:56,650 i el 10 per als flotadors. 1520 01:13:56,650 --> 01:13:58,800 Així que ara, 1 ja no és un int. 1521 01:13:58,800 --> 01:14:00,020 1 és un flotador. 1522 01:14:00,020 --> 01:14:02,590 Per cert, això és només la sintaxi per quan es desitja llançar des d'un 1523 01:14:02,590 --> 01:14:03,410 tipus de dades a un altre. 1524 01:14:03,410 --> 01:14:07,140 Vostè només pot posar el tipus de dades en parèntesi i tenir que acaba de precedir 1525 01:14:07,140 --> 01:14:10,860 el valor que s'està fent. 1526 01:14:10,860 --> 01:14:15,800 >> Així que aquí, estic dividint un flotador per un flotador per obtenir una resposta de flotació. 1527 01:14:15,800 --> 01:14:19,535 I sí, això seria en fet d'imprimir 0.10. 1528 01:14:19,535 --> 01:14:20,470 Això té sentit? 1529 01:14:20,470 --> 01:14:24,110 >> LUCAS FREITAS: Així que la conversió de tipus és només la conversió d'un tipus a un altre. 1530 01:14:24,110 --> 01:14:29,460 Així que suren 1 és en realitat 1.000. 1531 01:14:29,460 --> 01:14:33,400 No és exactament això, però és una cosa amb decimals 1532 01:14:33,400 --> 01:14:34,715 que en realitat és 1. 1533 01:14:34,715 --> 01:14:35,960 Això té sentit? 1534 01:14:35,960 --> 01:14:36,260 Sí? 1535 01:14:36,260 --> 01:14:40,990 >> AUDIÈNCIA: Què passa si vostè va fer resposta flotador és igual a 1,0 dividit per 10? 1536 01:14:40,990 --> 01:14:43,940 >> LAUREN CARVALHO: En realitat estàs passant veure que en la següent diapositiva. 1537 01:14:43,940 --> 01:14:47,150 Això és en realitat la nostra següent diapositiva. 1538 01:14:47,150 --> 01:14:50,740 Això és realment un millor que la conversió de tipus, crec. 1539 01:14:50,740 --> 01:14:53,470 Així que aquests dos són els flotadors amb només naturalesa del fet que es 1540 01:14:53,470 --> 01:14:54,926 tenir xifres decimals. 1541 01:14:54,926 --> 01:14:55,300 Sí? 1542 01:14:55,300 --> 01:14:57,670 >> AUDIÈNCIA: Què passa si vostè tenia [inaudible] 1543 01:14:57,670 --> 01:14:59,480 dividit per 10? 1544 01:14:59,480 --> 01:15:02,270 >> LAUREN CARVALHO: En realitat un flotador dividit per un enter en realitat li dóna un 1545 01:15:02,270 --> 01:15:03,670 surar, pel que anava a funcionar bé. 1546 01:15:03,670 --> 01:15:08,070 1547 01:15:08,070 --> 01:15:09,120 >> Espera, tothom entén això? 1548 01:15:09,120 --> 01:15:12,720 Com que aquesta serà una realitat gran cosa en Pset1, en realitat. 1549 01:15:12,720 --> 01:15:13,130 Sí? 1550 01:15:13,130 --> 01:15:14,762 >> AUDIÈNCIA: Podria vostè acaba ràpidament repassar la part vermella? 1551 01:15:14,762 --> 01:15:16,380 >> LAUREN CARVALHO: La part vermella, si. 1552 01:15:16,380 --> 01:15:17,250 Lucas, vols? 1553 01:15:17,250 --> 01:15:18,020 >> LUCAS FREITAS: OK. 1554 01:15:18,020 --> 01:15:20,570 Així que recordi que el percentatge és un marcador de posició. 1555 01:15:20,570 --> 01:15:22,150 És com un espai en blanc. 1556 01:15:22,150 --> 01:15:26,240 Així que anem a tractar d'entendre tot el que que està passant aquí. 1557 01:15:26,240 --> 01:15:28,170 Per cent vol dir que és un marcador de posició. 1558 01:15:28,170 --> 01:15:33,640 Llavors vostè té la f, el que significa que Aquest marcador de posició és per a un flotador. 1559 01:15:33,640 --> 01:15:38,870 L'última cosa que tenim aquí és una 0.2, el que significa que vull tenir dos 1560 01:15:38,870 --> 01:15:42,410 decimals per al flotador. 1561 01:15:42,410 --> 01:15:48,510 >> Si només tingués% f, que es posaran un munt de llocs decimals. 1562 01:15:48,510 --> 01:15:54,170 Així que només puc posar 0,2 o 0,1 o 0,5 o el que sigui, i que posarà això 1563 01:15:54,170 --> 01:15:55,950 nombre de decimals. 1564 01:15:55,950 --> 01:15:59,950 L'única cosa és que si es posa com 0.100 o 1,000, no és en realitat 1565 01:15:59,950 --> 01:16:04,200 posarà totes aquestes xifres decimals pel fet que no té prou memòria 1566 01:16:04,200 --> 01:16:06,432 tenir aquesta precisió. 1567 01:16:06,432 --> 01:16:07,955 >> Alguna altra pregunta? 1568 01:16:07,955 --> 01:16:08,450 Sí? 1569 01:16:08,450 --> 01:16:12,970 >> AUDIÈNCIA: Així surar tot just permet que vagi més enllà dels nombres enters? 1570 01:16:12,970 --> 01:16:13,720 >> LUCAS FREITAS: Si. 1571 01:16:13,720 --> 01:16:17,345 >> LAUREN CARVALHO: Bé, un flotador just li permet tenir xifres decimals. 1572 01:16:17,345 --> 01:16:20,460 >> LUCAS FREITAS: Només vol dir que vostè ara pot tenir nombres decimals. 1573 01:16:20,460 --> 01:16:25,728 >> AUDIÈNCIA: Per què ens Utilitzi nombres enters? 1574 01:16:25,728 --> 01:16:27,870 >> LUCAS FREITAS: Per què utilitza nombres enters? 1575 01:16:27,870 --> 01:16:31,810 Potser si vostè està comptant de 0 a 10, que voleu utilitzar en realitat un sencer. 1576 01:16:31,810 --> 01:16:33,370 No cal utilitzar un flotador. 1577 01:16:33,370 --> 01:16:35,430 En algunes situacions, no ho fa que en realitat - 1578 01:16:35,430 --> 01:16:37,040 >> LAUREN CARVALHO: Potser vostè no volen decimals. 1579 01:16:37,040 --> 01:16:38,600 >> LUCAS FREITAS: Potser vostè no ho fa que voleu utilitzar un flotador. 1580 01:16:38,600 --> 01:16:42,660 >> LAUREN CARVALHO: L'altra cosa és, recordi, tant posar un flotador i un int 1581 01:16:42,660 --> 01:16:46,170 tenir 32 bits per emmagatzemar-los, i potser no vol perdre els bits al 1582 01:16:46,170 --> 01:16:48,062 decimals. 1583 01:16:48,062 --> 01:16:49,750 >> LUCAS FREITAS: Si. 1584 01:16:49,750 --> 01:16:51,910 Així com, només pensar en això. 1585 01:16:51,910 --> 01:16:55,200 Vostè té 32 bits per a tots dos 01:00 int i un float. 1586 01:16:55,200 --> 01:16:59,400 Per a un int, totes aquestes 32 bits anar a la part sencera. 1587 01:16:59,400 --> 01:17:03,460 Si un flotador amb 32 bits, que tenen part d'aquesta memòria utilitzada 1588 01:17:03,460 --> 01:17:06,820 per al número, per al número sencer, i l'altra part s'utilitza per al 1589 01:17:06,820 --> 01:17:08,300 decimals. 1590 01:17:08,300 --> 01:17:12,370 Així que això significa que no es pot arribar a un gran nombre de carrosses, ja 1591 01:17:12,370 --> 01:17:16,020 el flotador ja està utilitzant una gran quantitat de memòria per als decimals. 1592 01:17:16,020 --> 01:17:17,014 Sí? 1593 01:17:17,014 --> 01:17:21,487 >> AUDIÈNCIA: Aquesta primera resposta, què és exactament ho està fent? 1594 01:17:21,487 --> 01:17:25,214 Està preparant el valor de float igual a aquest marcador de posició perquè pugui 1595 01:17:25,214 --> 01:17:26,954 recordar que en la següent línia? 1596 01:17:26,954 --> 01:17:28,942 Diu surar resposta. 1597 01:17:28,942 --> 01:17:29,770 >> LUCAS FREITAS: Si. 1598 01:17:29,770 --> 01:17:37,200 Per tant, la resposta de flotació significa que està rebent ara un petit cub en la memòria que 1599 01:17:37,200 --> 01:17:40,050 posseeix un flotador, i això va que es dirà resposta. 1600 01:17:40,050 --> 01:17:42,040 Així que això és el que fa la resposta flotador. 1601 01:17:42,040 --> 01:17:44,720 >> I llavors vostè diu que a l'interior de això, vostè va a posar 1602 01:17:44,720 --> 01:17:46,470 el resultat d'això. 1603 01:17:46,470 --> 01:17:52,610 Així que faràs 1,0 dividit per 10.0, s'obté un 0,1, i després es va posar 1604 01:17:52,610 --> 01:17:53,490 que dins de la resposta. 1605 01:17:53,490 --> 01:17:57,540 >> LAUREN CARVALHO: Així que en una sola línia, estem declaració i iniciació d'aquest flotador 1606 01:17:57,540 --> 01:18:00,070 anomenada resposta. 1607 01:18:00,070 --> 01:18:04,470 >> LUCAS FREITAS: Curiosament, tot i que això és només una línia, està fent 1608 01:18:04,470 --> 01:18:05,570 múltiples operacions. 1609 01:18:05,570 --> 01:18:08,800 És només una forma de C d'arrendament utilitza menys codi. 1610 01:18:08,800 --> 01:18:12,310 És la mateixa cosa que el ternari operador, com vostè pot fer un 1611 01:18:12,310 --> 01:18:13,810 [Inaudible] en una sola línia. 1612 01:18:13,810 --> 01:18:18,860 En realitat està fent el mateix que fent float resposta, punt i coma, i 1613 01:18:18,860 --> 01:18:23,060 llavors la resposta és igual a aquesta, però en lloc d' obligant-te a fer dues línies perquè, 1614 01:18:23,060 --> 01:18:24,160 és com una drecera. 1615 01:18:24,160 --> 01:18:24,520 Sí? 1616 01:18:24,520 --> 01:18:27,929 >> AUDIÈNCIA: Així que si va executar això, seria 0.10? 1617 01:18:27,929 --> 01:18:30,120 >> LUCAS FREITAS: Si. 1618 01:18:30,120 --> 01:18:30,530 Sí? 1619 01:18:30,530 --> 01:18:34,540 >> AUDIÈNCIA: és la resposta en realitat codi, o és només el nom? 1620 01:18:34,540 --> 01:18:36,010 >> LAUREN CARVALHO: Aquest és en realitat codi. 1621 01:18:36,010 --> 01:18:37,750 Això és el que anem per nomenar la nostra variable. 1622 01:18:37,750 --> 01:18:39,770 >> AUDIÈNCIA: Així que és només un nom de [inaudible]. 1623 01:18:39,770 --> 01:18:40,270 >> LAUREN CARVALHO: Si. 1624 01:18:40,270 --> 01:18:44,670 Jo podria haver dit flotador x és igual a 1,0. 1625 01:18:44,670 --> 01:18:47,160 >> LUCAS FREITAS: La cosa és que el nom de la variable és 1626 01:18:47,160 --> 01:18:48,400 cosa que vostè utilitza. 1627 01:18:48,400 --> 01:18:49,690 És important per a vostè. 1628 01:18:49,690 --> 01:18:52,660 Per al programa en si, l'únic que el que importa és el valor que 1629 01:18:52,660 --> 01:18:55,570 tenir a l'interior de la cubeta. 1630 01:18:55,570 --> 01:18:59,270 La raó per la qual té les variables i noms de les variables és perquè sabessis 1631 01:18:59,270 --> 01:19:01,910 el que vostè està tractant, com quin tipus de dades que està 1632 01:19:01,910 --> 01:19:03,040 accedir alhora. 1633 01:19:03,040 --> 01:19:07,580 Però per al propi codi, si diu com contesta o pregunta o qualsevol cosa, 1634 01:19:07,580 --> 01:19:09,530 més o menys, no importa. 1635 01:19:09,530 --> 01:19:10,060 No importa. 1636 01:19:10,060 --> 01:19:12,910 Mentre ets consistent en tots els ocurrència i així es digui 1637 01:19:12,910 --> 01:19:13,620 alguna cosa més. 1638 01:19:13,620 --> 01:19:14,880 Sí? 1639 01:19:14,880 --> 01:19:17,208 >> AUDIÈNCIA: Les variables de anar més enllà de la funció? 1640 01:19:17,208 --> 01:19:20,902 Igual que si anés a crear un suport [Inaudible], podria vostè acaba de 1641 01:19:20,902 --> 01:19:21,806 [Inaudible] contestar de nou? 1642 01:19:21,806 --> 01:19:22,550 >> LAUREN CARVALHO: No 1643 01:19:22,550 --> 01:19:23,300 >> AUDIÈNCIA: [inaudible] 1644 01:19:23,300 --> 01:19:24,200 >> LAUREN CARVALHO: No 1645 01:19:24,200 --> 01:19:26,930 Això seria fora de l'àmbit d'aquesta variable en particular. 1646 01:19:26,930 --> 01:19:29,940 I en realitat, això és una cosa de interessant, perquè quan tenim 1647 01:19:29,940 --> 01:19:33,010 coses com bucles o aquests si condicions, si es declara una variable 1648 01:19:33,010 --> 01:19:36,330 dins d'un altre joc de claus, en realitat, només existeix 1649 01:19:36,330 --> 01:19:39,800 dins d'aquestes claus. 1650 01:19:39,800 --> 01:19:43,088 >> AUDIÈNCIA: Com apunt final sobre els [inaudible] carrosses. 1651 01:19:43,088 --> 01:19:46,076 Per què voldries fer servir sencers? 1652 01:19:46,076 --> 01:19:49,562 Això és més d'una nota al marge de qualsevol cosa, però l'equip està 1653 01:19:49,562 --> 01:19:53,048 significativament millor en el maneig ints del que és en flotadors de manipulació. 1654 01:19:53,048 --> 01:19:55,040 És com un ordre de magnitud més ràpid. 1655 01:19:55,040 --> 01:20:00,360 Així que si ens manegem només flota, les coses serien molt més lent. 1656 01:20:00,360 --> 01:20:03,080 >> LAUREN CARVALHO: En realitat, no sembla ser un problema amb els flotadors. 1657 01:20:03,080 --> 01:20:06,400 >> LUCAS FREITAS: Tipus de la raó de això, vostè pot pensar, és com en binari 1658 01:20:06,400 --> 01:20:08,480 pot representar sencers posant de 0 i 1. 1659 01:20:08,480 --> 01:20:09,980 >> LAUREN CARVALHO: Això és la següent cosa. 1660 01:20:09,980 --> 01:20:10,480 >> LUCAS FREITAS: OK. 1661 01:20:10,480 --> 01:20:10,740 Impressionant. 1662 01:20:10,740 --> 01:20:11,480 >> LAUREN CARVALHO: Just mantenir aquest pensament. 1663 01:20:11,480 --> 01:20:13,800 >> LUCAS FREITAS: OK, vaig a tell you later. 1664 01:20:13,800 --> 01:20:16,920 >> LAUREN CARVALHO: Abans d'arribar al que Lucas estava dient, l'operador 1665 01:20:16,920 --> 01:20:17,420 precedència. 1666 01:20:17,420 --> 01:20:18,220 Aquest és el sentit comú. 1667 01:20:18,220 --> 01:20:20,830 Vostès han fet prou. 1668 01:20:20,830 --> 01:20:24,705 Així que, si alguna cosa està en parèntesi, que passarà en primer lloc. 1669 01:20:24,705 --> 01:20:27,970 És la multiplicació té prioritat sobre la suma, 1670 01:20:27,970 --> 01:20:30,330 resta, coses així. 1671 01:20:30,330 --> 01:20:34,700 Així que en realitat, només que ningú vol digues-me el número u en realitat 1672 01:20:34,700 --> 01:20:36,674 avalua com? 1673 01:20:36,674 --> 01:20:37,638 >> AUDIÈNCIA: 27. 1674 01:20:37,638 --> 01:20:39,090 >> LAUREN CARVALHO: 27? 1675 01:20:39,090 --> 01:20:39,550 Sí 1676 01:20:39,550 --> 01:20:41,975 >> LUCAS FREITAS: Permetin-me donar caramels a la gent. 1677 01:20:41,975 --> 01:20:42,850 >> LAUREN CARVALHO: Molt bé. 1678 01:20:42,850 --> 01:20:44,100 Què passa amb el número dos? 1679 01:20:44,100 --> 01:20:46,880 1680 01:20:46,880 --> 01:20:48,340 Què passa amb el número dos? 1681 01:20:48,340 --> 01:20:49,280 >> AUDIÈNCIA: 22. 1682 01:20:49,280 --> 01:20:50,680 >> LAUREN CARVALHO: 22, si. 1683 01:20:50,680 --> 01:20:51,570 Jo no sé qui va posar això. 1684 01:20:51,570 --> 01:20:52,694 El número tres? 1685 01:20:52,694 --> 01:20:54,050 >> AUDIÈNCIA: 10. 1686 01:20:54,050 --> 01:20:55,300 >> LAUREN CARVALHO: 10, si. 1687 01:20:55,300 --> 01:20:58,150 1688 01:20:58,150 --> 01:20:58,490 Genial. 1689 01:20:58,490 --> 01:21:01,280 Així mòdul. 1690 01:21:01,280 --> 01:21:03,700 Lucas, ¿vols explicar mòdul? 1691 01:21:03,700 --> 01:21:07,150 >> LUCAS FREITAS: Mòdul és aquest operador que en realitat és molt útil per a una 1692 01:21:07,150 --> 01:21:09,470 munt de problemes. 1693 01:21:09,470 --> 01:21:15,270 Si faig 55 mòdul 10, el que fa això diguem que vull 1694 01:21:15,270 --> 01:21:16,970 dividir 55 per 10. 1695 01:21:16,970 --> 01:21:18,240 Què obtinc? 1696 01:21:18,240 --> 01:21:21,380 Se sent com si estic en realitat només fent la divisió, el que és el 1697 01:21:21,380 --> 01:21:22,450 primera vegada que em van donar el nombre sencer? 1698 01:21:22,450 --> 01:21:23,190 >> AUDIÈNCIA: 5. 1699 01:21:23,190 --> 01:21:24,080 >> LUCAS FREITAS: 5. 1700 01:21:24,080 --> 01:21:26,230 I després la resta és 5, no? 1701 01:21:26,230 --> 01:21:29,250 Així que és com 5 vegades 10 més 5. 1702 01:21:29,250 --> 01:21:35,570 Bàsicament, el mòdul fa, es tracta de dividir aquest nombre per aquest, i 1703 01:21:35,570 --> 01:21:37,440 es veu el que és la resta de la divisió. 1704 01:21:37,440 --> 01:21:40,080 >> LAUREN CARVALHO: Pel que només retorna la resta. 1705 01:21:40,080 --> 01:21:41,920 Així que el número u és el que? 1706 01:21:41,920 --> 01:21:42,560 5. 1707 01:21:42,560 --> 01:21:43,336 El número dos? 1708 01:21:43,336 --> 01:21:44,150 >> AUDIÈNCIA: 3. 1709 01:21:44,150 --> 01:21:44,934 >> LAUREN CARVALHO: 3. 1710 01:21:44,934 --> 01:21:46,240 El número tres? 1711 01:21:46,240 --> 01:21:47,190 0. 1712 01:21:47,190 --> 01:21:48,410 I quatre és 1. 1713 01:21:48,410 --> 01:21:48,665 Exactament. 1714 01:21:48,665 --> 01:21:49,915 >> LUCAS FREITAS: simple, no? 1715 01:21:49,915 --> 01:21:54,270 1716 01:21:54,270 --> 01:21:56,560 >> LAUREN CARVALHO: Per què no ens saltem aquesta només perquè realment no tenim 1717 01:21:56,560 --> 01:21:59,780 temps, i la gent sembla entendre. 1718 01:21:59,780 --> 01:22:03,330 Així que aquí està el que va ser Lluc simplement parlant. 1719 01:22:03,330 --> 01:22:08,030 >> LUCAS FREITAS: Una altra raó per la qual faria servir sencers en lloc de carrosses és 1720 01:22:08,030 --> 01:22:10,840 que els flotadors són molt imprecises. 1721 01:22:10,840 --> 01:22:12,720 I per què són imprecises? 1722 01:22:12,720 --> 01:22:17,140 David va dir que per representar un nombre enter, per exemple, s'utilitza 0 i de 1723 01:22:17,140 --> 01:22:17,810 1 de, oi? 1724 01:22:17,810 --> 01:22:22,370 I llavors vostè ho fa bàsicament el multiplicació, fer tots els 1725 01:22:22,370 --> 01:22:30,000 operacions per saber quin número decimal que té lloc del binari. 1726 01:22:30,000 --> 01:22:33,040 >> El que passa ara si intent posar decimals? 1727 01:22:33,040 --> 01:22:37,680 En realitat, per exemple, si tinc el nombre com 3.33333? 1728 01:22:37,680 --> 01:22:40,250 Se sent com 10 més de 3. 1729 01:22:40,250 --> 01:22:44,950 Com vaig a emmagatzemar tota la 3 és que tingui després d'això? 1730 01:22:44,950 --> 01:22:47,120 És molt difícil, oi? 1731 01:22:47,120 --> 01:22:49,580 No pot dir-li a l'ordinador, hey, tinc un 3, i 1732 01:22:49,580 --> 01:22:50,520 llavors ho fas sempre. 1733 01:22:50,520 --> 01:22:52,810 En realitat, l'equip no és prou intel ligent com per això. 1734 01:22:52,810 --> 01:22:58,300 >> Així que, bàsicament, tot l'equip que fa és que tracta de posar tants dígits com 1735 01:22:58,300 --> 01:23:00,950 es pot fins a la memòria que té. 1736 01:23:00,950 --> 01:23:05,890 Així que diguem que va a dir 3.3333, i això és tot. 1737 01:23:05,890 --> 01:23:10,690 Així que no és capaç d'expressar realment precisament el que és float. 1738 01:23:10,690 --> 01:23:13,240 >> LAUREN CARVALHO: Tenim un nombre finit de bits, el que significa que no 1739 01:23:13,240 --> 01:23:17,910 cada nombre decimal serà capaç de ser representat amb precisió. 1740 01:23:17,910 --> 01:23:24,910 I així, en aquest exemple, si estem imprimir 0.1, ara estem d'impressió 1741 01:23:24,910 --> 01:23:26,475 fora 20 llocs. 1742 01:23:26,475 --> 01:23:30,250 >> LUCAS FREITAS: Igual que jo estava dient vostès, vostè podria posar qualsevol nombre. 1743 01:23:30,250 --> 01:23:36,520 Però si vostè acaba de fer els dos llocs, s'obtindria 0.10, però si poses 20 1744 01:23:36,520 --> 01:23:43,630 llocs, va mostrar un munt de 's perquè això és el que pot posar 1745 01:23:43,630 --> 01:23:45,720 en la memòria, no? 1746 01:23:45,720 --> 01:23:48,800 >> Però aquí, fins al 0, i després s'acaba de posar un 1747 01:23:48,800 --> 01:23:50,030 munt de nombres aleatoris. 1748 01:23:50,030 --> 01:23:52,590 Això és una cosa així com una mica de - 1749 01:23:52,590 --> 01:23:56,190 >> LAUREN CARVALHO: Això és perquè estem no és capaç de representar aquesta decimal 1750 01:23:56,190 --> 01:23:58,320 precisament amb el número de bits que tenim. 1751 01:23:58,320 --> 01:23:59,730 >> LUCAS FREITAS: I llavors el equip és bàsicament 1752 01:23:59,730 --> 01:24:01,470 que li dóna un nombre d'escombraries. 1753 01:24:01,470 --> 01:24:04,530 Això no és en realitat la valor del nombre. 1754 01:24:04,530 --> 01:24:08,242 >> AUDIÈNCIA: És el més a prop que pot aconseguir [inaudible] 1755 01:24:08,242 --> 01:24:09,613 utilitzant el [inaudible]. 1756 01:24:09,613 --> 01:24:12,685 1757 01:24:12,685 --> 01:24:18,830 >> LAUREN CARVALHO: Així que la implicació de això és que direm que en comptes de 1758 01:24:18,830 --> 01:24:27,680 sent 0.100014, el que sigui, ¿I si era 0,0999 - 1759 01:24:27,680 --> 01:24:30,470 bé, està bé. 1760 01:24:30,470 --> 01:24:38,280 Anem a suposar que la resposta real A això se a 0,9999999. 1761 01:24:38,280 --> 01:24:40,740 Això és molt proper a 1, però no és exactament 1. 1762 01:24:40,740 --> 01:24:42,840 És 0,99999. 1763 01:24:42,840 --> 01:24:48,140 >> Això vol dir que si prenc que 0.999, i el vaig a un int, si 0. 1764 01:24:48,140 --> 01:24:49,460 No ho entenc gener. 1765 01:24:49,460 --> 01:24:53,050 >> LUCAS FREITAS: Perquè recorda, fosa des d'un flotant a int, que acaba de 1766 01:24:53,050 --> 01:24:54,880 ignorar tots els decimals. 1767 01:24:54,880 --> 01:24:56,400 Vostè simplement ignorar-los. 1768 01:24:56,400 --> 01:25:00,170 No hi ha tal cosa com l'arrodoniment a l'alça o córrer cap avall quan encasellat. 1769 01:25:00,170 --> 01:25:03,310 En realitat, no és aquesta la funció que fa arrodoniment, que és molt 1770 01:25:03,310 --> 01:25:08,840 important, però que acaba de pensar que quan fas encasellament, és només 1771 01:25:08,840 --> 01:25:09,720 va a esborrar tot. 1772 01:25:09,720 --> 01:25:13,970 Així que fins i tot si vostè té 0,99999, que va tot just donar 0 si encasellat 1773 01:25:13,970 --> 01:25:14,800 [Inaudible] un enter. 1774 01:25:14,800 --> 01:25:17,480 >> LAUREN CARVALHO: Així de ser molt conscients punt de flotant en precisió, 1775 01:25:17,480 --> 01:25:20,410 especialment quan s'inicia utilitzar flotadors en Pset1. 1776 01:25:20,410 --> 01:25:22,790 Però el passeig a través haurien advertir-lo que també. 1777 01:25:22,790 --> 01:25:26,100 >> LUCAS FREITAS: I en realitat és molt dur, per exemple, si ho fes 1778 01:25:26,100 --> 01:25:31,570 float resposta 1 és igual a 1.0 sobre 10 i, a continuació, surar resposta febrer 1779 01:25:31,570 --> 01:25:35,540 és igual a 10,0 superior a 100.0. 1780 01:25:35,540 --> 01:25:36,890 Ells són el mateix nombre, no? 1781 01:25:36,890 --> 01:25:38,540 0.1, no? 1782 01:25:38,540 --> 01:25:41,700 1 més de 10 o 10 sobre 100. 1783 01:25:41,700 --> 01:25:46,360 Però ara si tracte de veure la igualtat, com si la resposta 1 és igual a contestar 2, 1784 01:25:46,360 --> 01:25:49,300 Potser no és en realitat va a ser la mateixa cosa. 1785 01:25:49,300 --> 01:25:50,720 Així carrosses són una mica com això. 1786 01:25:50,720 --> 01:25:51,970 Són com fent la igualtat. 1787 01:25:51,970 --> 01:25:55,136