1 00:00:00,000 --> 00:00:07,170 2 00:00:07,170 --> 00:00:09,100 >> LUCAS FREITAS: OK, eu creo agora estamos en directo. 3 00:00:09,100 --> 00:00:11,220 Benvido ao CS50 Supersection. 4 00:00:11,220 --> 00:00:12,880 Estamos menos cómodo. 5 00:00:12,880 --> 00:00:13,870 O meu nome é Lucas Freitas. 6 00:00:13,870 --> 00:00:16,230 Son un CS50 Cabeza TFS. 7 00:00:16,230 --> 00:00:17,523 Este é Lauren. 8 00:00:17,523 --> 00:00:19,002 >> Lauren CARBALLO: Ola, eu son Lauren. 9 00:00:19,002 --> 00:00:21,330 Eu tamén son xefe TF para CS50. 10 00:00:21,330 --> 00:00:24,730 >> LUCAS FREITAS: Hoxe nós só estamos indo para dar unha visión xeral de todo o que 11 00:00:24,730 --> 00:00:28,440 caras aprenderon nunha semana, espero que para dar a vostedes unha boa 12 00:00:28,440 --> 00:00:32,580 sentido para o que debes saber para definir un problema. 13 00:00:32,580 --> 00:00:34,120 >> Anuncios só unha parella. 14 00:00:34,120 --> 00:00:36,490 Primeiro de todo, o horario de expediente. 15 00:00:36,490 --> 00:00:41,580 Horario de atención están a ocorrer de luns o xoves en diferentes casas en 16 00:00:41,580 --> 00:00:43,450 Annenberg cada día. 17 00:00:43,450 --> 00:00:46,680 Son un recurso moi bo para ti caras que están por vir e facer preguntas, e 18 00:00:46,680 --> 00:00:49,470 falar con TFS e ata intercambio ideas con outros alumnos. 19 00:00:49,470 --> 00:00:55,420 Entón non esqueza usar este recurso no seu favor. 20 00:00:55,420 --> 00:00:59,790 >> A segunda cousa é o CS50 Appliance. 21 00:00:59,790 --> 00:01:01,390 Para o último [inaudível] 22 00:01:01,390 --> 00:01:04,180 Vostedes non ten que realmente ter un aparello. 23 00:01:04,180 --> 00:01:06,910 Acaba de facer todo en seu ordenador persoal. 24 00:01:06,910 --> 00:01:10,330 Pero a este problema, o que realmente ten ter unha máquina virtual, polo que non 25 00:01:10,330 --> 00:01:14,680 Asegúrese de baixar o CS50 Appliance e configure-lo. 26 00:01:14,680 --> 00:01:18,670 >> E a terceira cousa é estar seguro de iniciar o conxunto de problemas o máis rápido posible só 27 00:01:18,670 --> 00:01:22,740 porque é moito máis doado atopar axudar cando está no 28 00:01:22,740 --> 00:01:23,730 no inicio da semana. 29 00:01:23,730 --> 00:01:27,540 Porque as persoas tenden a agardar a que o último segundo para iniciar o conxunto de problemas, 30 00:01:27,540 --> 00:01:29,730 e logo, vai para o horario de expediente, e hai unha chea de xente. 31 00:01:29,730 --> 00:01:33,020 Onde se ir o luns, vai a ver que se pode falar para TFS 32 00:01:33,020 --> 00:01:35,870 practicamente durante toda a noite, e eles van ser máis que 33 00:01:35,870 --> 00:01:37,790 pracer en axudar. 34 00:01:37,790 --> 00:01:40,720 >> Lauren CARBALLO: Podo deixar por só un segundo? 35 00:01:40,720 --> 00:01:43,330 Toda a xente soubo baixar o CS50 Appliance? 36 00:01:43,330 --> 00:01:44,255 A xente intentaron? 37 00:01:44,255 --> 00:01:47,120 >> LUCAS FREITAS: Para descargar, polo xeito, pode obter instrucións de 38 00:01:47,120 --> 00:01:48,045 cs50.net/appliance. 39 00:01:48,045 --> 00:01:48,817 >> Lauren CARBALLO: Certo. 40 00:01:48,817 --> 00:01:53,120 E fai levar un pouco para o noso administradores de sistemas para que obteña unha licenza 41 00:01:53,120 --> 00:01:55,450 clave, de forma que se rexistrar para o avaliación gratuíta en primeiro lugar. 42 00:01:55,450 --> 00:01:59,080 Desta forma, vai telo por 30 días, e despois esperar pola súa clave de licenza 43 00:01:59,080 --> 00:02:02,650 que debe darlle a vostede por un ano. 44 00:02:02,650 --> 00:02:04,100 >> LUCAS FREITAS: Primeiro de todo, imos falar un pouco 45 00:02:04,100 --> 00:02:06,180 sobre o CS50 Appliance. 46 00:02:06,180 --> 00:02:10,770 O CS50 Appliance é realmente un virtuais máquina que vai 47 00:02:10,770 --> 00:02:15,040 executado no seu propio ordenador, que é basicamente executando outro ordenador 48 00:02:15,040 --> 00:02:16,010 dentro do seu propio ordenador. 49 00:02:16,010 --> 00:02:16,800 O que é moi legal. 50 00:02:16,800 --> 00:02:19,420 E, de feito, é usado en todas as partes. 51 00:02:19,420 --> 00:02:23,150 A xente que a tecnoloxía ía saber que isto é usado o tempo. 52 00:02:23,150 --> 00:02:23,250 vostede? 53 00:02:23,250 --> 00:02:26,200 Pode ter varios ordenadores nun único dispositivo. 54 00:02:26,200 --> 00:02:27,760 >> Imos realmente un ollo no Appliance. 55 00:02:27,760 --> 00:02:32,680 56 00:02:32,680 --> 00:02:36,640 Cando vai para o aparello despois rexistrar, terá que 57 00:02:36,640 --> 00:02:42,035 poñer o seu nome e usuario para Harvard de modo que pode obter todos os rexistrados. 58 00:02:42,035 --> 00:02:46,570 Vai ver basicamente só un fondo, e logo, Home and Trash, 59 00:02:46,570 --> 00:02:48,980 e logo, eses pequenos iconas. 60 00:02:48,980 --> 00:02:51,930 Este tres iconas son realmente o máis cousas importantes que pode ter en 61 00:02:51,930 --> 00:02:53,000 O seu dispositivo. 62 00:02:53,000 --> 00:03:00,270 >> O primeiro é o Gedit, que é un texto editor, como o bloque de notas ou como 63 00:03:00,270 --> 00:03:01,440 calquera tipo de editor de texto. 64 00:03:01,440 --> 00:03:09,750 É só algo que usan para escribir código e, a continuación, facer cousas con el. 65 00:03:09,750 --> 00:03:11,770 >> A segunda cousa que nós temos aquí é Chrome. 66 00:03:11,770 --> 00:03:13,910 Entón, se precisa utilizar a Internet no aparello, que é 67 00:03:13,910 --> 00:03:15,030 o que pode usar. 68 00:03:15,030 --> 00:03:22,000 >> E a terceira cousa é o terminal, que é realmente moi doce. 69 00:03:22,000 --> 00:03:26,420 A xente xeralmente son unha especie de medo de o terminal, porque é este mesmo 70 00:03:26,420 --> 00:03:32,320 aplicación á moda antiga, en que basicamente só escribir todo con 71 00:03:32,320 --> 00:03:32,940 teclado. 72 00:03:32,940 --> 00:03:34,730 Non hai moita interacción co rato. 73 00:03:34,730 --> 00:03:39,780 Pero, en realidade, o terminal fai cousas moi boas. 74 00:03:39,780 --> 00:03:43,990 >> Primeiro de todo, imos só pasar por algúns comandos que 75 00:03:43,990 --> 00:03:48,765 pode usar na terminal. 76 00:03:48,765 --> 00:03:51,995 >> Lauren CARBALLO: E Sinto-se libre para deixar connosco se ten algunha dúbida. 77 00:03:51,995 --> 00:03:52,830 >> LUCAS FREITAS: Yeah. 78 00:03:52,830 --> 00:04:01,950 Así, o primeiro mando que temos para o terminal é ls. 79 00:04:01,950 --> 00:04:06,450 ls significa basicamente lista todo, todo os ficheiros e todos os directores, 80 00:04:06,450 --> 00:04:09,540 que eu teño no lugar que eu estou en. 81 00:04:09,540 --> 00:04:15,200 Entón, se eu fai ls aquí, eu vou ver que eu teño algúns directorios. 82 00:04:15,200 --> 00:04:18,670 Eu teño o meu ordenador, as transferencias, os rexistros e os vhosts. 83 00:04:18,670 --> 00:04:21,260 Esas son en azul, porque son todos os directorios. 84 00:04:21,260 --> 00:04:24,160 >> Entón tes algúns outros arquivos. 85 00:04:24,160 --> 00:04:27,840 Ten como Ola e hello.c, que son só arquivos, e están en 86 00:04:27,840 --> 00:04:28,910 cores diferentes. 87 00:04:28,910 --> 00:04:33,960 Polo tanto, este é un comando moi importante só podes ver cales son os arquivos 88 00:04:33,960 --> 00:04:37,690 e directorios que ten no directorio que 89 00:04:37,690 --> 00:04:39,410 está no terminal. 90 00:04:39,410 --> 00:04:44,580 Cando ve jharvard @ aparello e logo, o pequeno símbolo de alí, o 91 00:04:44,580 --> 00:04:49,185 til, iso só quere dicir que esa é a directorio que existe na actualidade. 92 00:04:49,185 --> 00:04:52,970 >> Lauren CARBALLO: Entón escribindo ls é case como facer clic no cartafol 93 00:04:52,970 --> 00:04:57,380 que está listado alí mesmo, na Mostra vostede todo o contido que están 94 00:04:57,380 --> 00:04:58,886 dentro desa carpeta. 95 00:04:58,886 --> 00:05:04,232 >> Audiencia: Existe texto tras o ola.c? 96 00:05:04,232 --> 00:05:10,070 >> Lauren CARBALLO: Ah, non pode ver iso, porque é azul. 97 00:05:10,070 --> 00:05:12,490 >> LUCAS FREITAS: Di toras e VHosts. 98 00:05:12,490 --> 00:05:14,450 >> Lauren CARBALLO: Estes son só outros cartafoles. 99 00:05:14,450 --> 00:05:16,890 Sinto moito, é realmente difícil de ver. 100 00:05:16,890 --> 00:05:19,090 Quizais se apagou as luces? 101 00:05:19,090 --> 00:05:23,002 Colton, quere probar e atopar a chave de luz? 102 00:05:23,002 --> 00:05:24,960 Sentímolo por iso. 103 00:05:24,960 --> 00:05:25,675 Eu non penso niso. 104 00:05:25,675 --> 00:05:27,340 >> LUCAS FREITAS: Pero é basicamente - 105 00:05:27,340 --> 00:05:30,310 si, se puidese - 106 00:05:30,310 --> 00:05:32,278 >> Lauren CARBALLO: Zoom na súa pantalla. 107 00:05:32,278 --> 00:05:34,738 >> LUCAS FREITAS: Non teñen esta característica. 108 00:05:34,738 --> 00:05:35,988 >> Lauren CARBALLO: [inaudível]. 109 00:05:35,988 --> 00:05:39,528 110 00:05:39,528 --> 00:05:40,001 Aceptar. 111 00:05:40,001 --> 00:05:44,270 Así, hai só unha morea de recursos naturais luz nesta sala tamén. 112 00:05:44,270 --> 00:05:48,726 >> LUCAS FREITAS: Supoñamos que hai outros dous directorios alí. 113 00:05:48,726 --> 00:05:49,780 >> Lauren CARBALLO: Só ten que ter con nós. 114 00:05:49,780 --> 00:05:54,200 Esta é a única parte que vai estar a ollar para o terminal. 115 00:05:54,200 --> 00:06:00,160 >> LUCAS FREITAS: O seguinte comando é basicamente pode utilizar organizar 116 00:06:00,160 --> 00:06:01,080 os seus arquivos - 117 00:06:01,080 --> 00:06:05,015 por exemplo, os seus arquivos nun C directorio, pero non ten un 118 00:06:05,015 --> 00:06:07,180 directorio só para ficheiros C aínda. 119 00:06:07,180 --> 00:06:11,590 Basicamente pode crear un directorio mediante o terminal, así como, o que é 120 00:06:11,590 --> 00:06:15,670 o mesmo que botón dereito e dicindo Novo Cartafol. 121 00:06:15,670 --> 00:06:20,640 A orde é facer directorio, que é mkdir, entón basicamente "facer" e 122 00:06:20,640 --> 00:06:21,260 "O directorio". 123 00:06:21,260 --> 00:06:22,680 >> E entón podes poñer o nome do directorio. 124 00:06:22,680 --> 00:06:32,490 Imos dicir que eu quería ser chamado, Eu non sei, imos dicir pset1 Facer 125 00:06:32,490 --> 00:06:33,900 iso, acaba de crear un directorio. 126 00:06:33,900 --> 00:06:35,910 Imos comprobar se está alí. 127 00:06:35,910 --> 00:06:40,870 Entón, se eu fai ls, e agora vexo rexistros e entón pset1 e VHosts. 128 00:06:40,870 --> 00:06:44,360 Entón, eu teño o novo directorio alí. 129 00:06:44,360 --> 00:06:46,670 >> E, despois de que ten un novo directorio, quizais quere navegar 130 00:06:46,670 --> 00:06:51,760 para el, para que o seguinte comando deste cd, que significa, basicamente, ir a un 131 00:06:51,760 --> 00:06:53,400 directorio específico. 132 00:06:53,400 --> 00:06:58,377 Entón, se eu queira ir a pset1, Podo só facer cd pset1. 133 00:06:58,377 --> 00:07:01,550 >> Lauren CARBALLO: cd significa cambio directorio, [inaudível] poder 134 00:07:01,550 --> 00:07:02,230 lembre que. 135 00:07:02,230 --> 00:07:05,460 >> LUCAS FREITAS: E agora ve que no canto de só ter jharvard 136 00:07:05,460 --> 00:07:09,150 aparello, teño jharvard aparello, e despois pset1 porque está amosando 137 00:07:09,150 --> 00:07:14,150 me onde estou neste ordenador. 138 00:07:14,150 --> 00:07:17,510 >> Agora, se eu queira volver á directorio que foi antes de este, eu 139 00:07:17,510 --> 00:07:22,950 pode facer un punto cd punto, o que significa só ir ao directorio que era antes, 140 00:07:22,950 --> 00:07:26,290 como o pai deste directorio, basicamente. 141 00:07:26,290 --> 00:07:30,460 E agora eu vexo que eu son volta a jharvard. 142 00:07:30,460 --> 00:07:36,050 >> A seguinte cousa que eu podo facer iso é rm, que é eliminar o ficheiro. 143 00:07:36,050 --> 00:07:39,590 Por exemplo, imos primeiro facer ls a ver que eu teño aquí. 144 00:07:39,590 --> 00:07:41,790 Teño Ola e hello.c. 145 00:07:41,790 --> 00:07:43,780 Imos dicir que eu queira eliminar-los. 146 00:07:43,780 --> 00:07:48,280 Eu podo facer rm Olá 147 00:07:48,280 --> 00:07:52,770 Vai dicir "borrar o ficheiro regular Ola? "E digo" si ". E agora, se eu 148 00:07:52,770 --> 00:07:56,410 ls facer, eu vexo que é xa non está alí. 149 00:07:56,410 --> 00:07:59,700 >> Se eu tentar empregar rm a un directorio, con todo, iso non vai 150 00:07:59,700 --> 00:08:00,800 para deixar facer calquera cousa. 151 00:08:00,800 --> 00:08:02,960 Vai dicir, hey, ten Non se pode eliminar un directorio. 152 00:08:02,960 --> 00:08:08,100 Polo tanto, temos estoutra vir chamado rmdir, que significa, basicamente, 153 00:08:08,100 --> 00:08:09,800 eliminar o directorio. 154 00:08:09,800 --> 00:08:12,842 Podo, por exemplo, eliminar pset1. 155 00:08:12,842 --> 00:08:15,770 E se eu fai ls, eu non ten máis. 156 00:08:15,770 --> 00:08:18,430 >> Calquera dúbida sobre iso? 157 00:08:18,430 --> 00:08:20,200 Non? 158 00:08:20,200 --> 00:08:20,595 Si? 159 00:08:20,595 --> 00:08:23,954 >> Audiencia: É importante que deixe un espazo despois - sempre que 160 00:08:23,954 --> 00:08:26,540 comezar a escribir algo no? 161 00:08:26,540 --> 00:08:26,830 >> LUCAS FREITAS: Yeah. 162 00:08:26,830 --> 00:08:32,080 Se eu fai como CD eo directorio, Teño que poñer un espazo. 163 00:08:32,080 --> 00:08:33,350 O espazo que está falando? 164 00:08:33,350 --> 00:08:34,979 >> Lauren CARBALLO: O espazo entre cd e [inaudível]. 165 00:08:34,979 --> 00:08:37,710 >> LUCAS FREITAS: Si, vai ter que poñer os espazos porque é o cd 166 00:08:37,710 --> 00:08:42,770 mando e, a continuación, a seguinte secuencia que vostede tipo é basicamente o directorio. 167 00:08:42,770 --> 00:08:45,020 Entón, é como un argumento. 168 00:08:45,020 --> 00:08:45,360 Si? 169 00:08:45,360 --> 00:08:47,952 >> Audiencia: Cando lista, todos aqueles son directorios distintos, non? 170 00:08:47,952 --> 00:08:50,125 >> LUCAS FREITAS: Si, eles están no directorio. 171 00:08:50,125 --> 00:08:53,524 >> Audiencia: Cal é a diferenza entre os directorios? 172 00:08:53,524 --> 00:08:55,390 >> LUCAS FREITAS: Son só diferentes cartafoles. 173 00:08:55,390 --> 00:08:57,366 Directorio é un cartafol no seu computador. 174 00:08:57,366 --> 00:08:58,120 >> Audiencia: Abrir cartafol. 175 00:08:58,120 --> 00:09:00,140 >> LUCAS FREITAS: Si, é só un cartafol aberto. 176 00:09:00,140 --> 00:09:03,400 >> Lauren CARBALLO: aquí, os que están en azul son reais 177 00:09:03,400 --> 00:09:07,107 directorios que pode entrar e logo ver unha chea de cousas que son 178 00:09:07,107 --> 00:09:10,248 dentro diso, o que é lamentable porque non pode ler o 179 00:09:10,248 --> 00:09:11,290 aqueles en azul. 180 00:09:11,290 --> 00:09:16,166 E os en branco son só arquivos que están dentro do directorio actual. 181 00:09:16,166 --> 00:09:17,870 >> LUCAS FREITAS: Entón directorios son carpetas. 182 00:09:17,870 --> 00:09:18,810 Os outros son arquivos. 183 00:09:18,810 --> 00:09:22,810 >> Audiencia: Cal é a orde para axustar-la ou para limpa-la? 184 00:09:22,810 --> 00:09:23,650 LUCAS FREITAS: Para borrar? 185 00:09:23,650 --> 00:09:24,362 Lauren CARBALLO: Para borrar? 186 00:09:24,362 --> 00:09:27,985 LUCAS FREITAS: Eu creo que que é "clara". É. 187 00:09:27,985 --> 00:09:32,370 Entón acaba de escribir claro se A súa pantalla é moi desorde. 188 00:09:32,370 --> 00:09:33,700 Algunha pregunta? 189 00:09:33,700 --> 00:09:36,720 E vai aprender unha morea de outras ordes só naturalmente durante o 190 00:09:36,720 --> 00:09:38,405 semestre, porque son moi útiles. 191 00:09:38,405 --> 00:09:42,380 192 00:09:42,380 --> 00:09:46,155 >> Entón, agora imos falar sobre a compilación. 193 00:09:46,155 --> 00:09:51,510 194 00:09:51,510 --> 00:09:54,730 Nós falamos sobre pseudocódigo e código fonte e código obxecto. 195 00:09:54,730 --> 00:09:59,020 E hai unha morea de códigos, e quizais Vostedes están confuso sobre iso. 196 00:09:59,020 --> 00:10:02,190 Imos falar un pouco sobre o que ocorre cando está escribindo un programa, 197 00:10:02,190 --> 00:10:06,620 e recompila-lo, e convértese en un arquivo executable. 198 00:10:06,620 --> 00:10:10,190 Estas son todas as palabras que vostedes Probablemente xa escoitou falar, e quizais non estea 199 00:10:10,190 --> 00:10:12,130 realmente certo o que está a suceder. 200 00:10:12,130 --> 00:10:15,540 >> Digamos, por exemplo, que quero escribir un programa que di "Ola". O 201 00:10:15,540 --> 00:10:19,670 primeiro que ven na súa mente é vostede medio que tentar pensar en como está 202 00:10:19,670 --> 00:10:23,000 vai facelo na súa mente, e Probablemente está a pensar en inglés ou 203 00:10:23,000 --> 00:10:25,550 outra lingua, como naturais lingua, probablemente. 204 00:10:25,550 --> 00:10:28,770 E entón pensa, ben, se eu queira, por exemplo, escribir un programa que 205 00:10:28,770 --> 00:10:32,630 di "Ola", eu ía comezar un programa, Vou imprimir Ola, e entón eu vou 206 00:10:32,630 --> 00:10:35,270 saír do programa. 207 00:10:35,270 --> 00:10:36,350 Este é pseudocódigo. 208 00:10:36,350 --> 00:10:41,740 Isto é basicamente só estás chegar a unha secuencia de eventos 209 00:10:41,740 --> 00:10:46,510 que vai facer para ser capaz de escribir un programa. 210 00:10:46,510 --> 00:10:49,610 >> Entón tes o código fonte, e o código de fonte non precisa 211 00:10:49,610 --> 00:10:53,240 ser especialmente en C. Estamos a falar sobre o código fonte en C, porque iso é 212 00:10:53,240 --> 00:10:56,760 a lingua que está a aprender, pero está claro código pode ser practicamente calquera 213 00:10:56,760 --> 00:10:59,160 linguaxe de programación que ten. 214 00:10:59,160 --> 00:11:01,230 Máis tarde, o semestre, vai para aprender outros idiomas. 215 00:11:01,230 --> 00:11:03,230 Iso é tamén o código fonte. 216 00:11:03,230 --> 00:11:07,380 >> Por exemplo, aquí, esta é a miña fonte código, e entón eu estou incluíndo un 217 00:11:07,380 --> 00:11:10,170 biblioteca, e entón eu comezo principal, e, a continuación, imprimir. 218 00:11:10,170 --> 00:11:14,510 E Laura vai falar un pouco pouco sobre todo isto. 219 00:11:14,510 --> 00:11:16,190 Polo tanto, este é o código fonte. 220 00:11:16,190 --> 00:11:19,590 >> E o que é o código de obxecto? 221 00:11:19,590 --> 00:11:22,500 O obxecto é unha morea de ceros e queridos, basicamente. 222 00:11:22,500 --> 00:11:27,680 O que pasa é que ten inicialmente pseudocódigo, que é todo en inglés. 223 00:11:27,680 --> 00:11:29,020 E quero dicir, entende isto. 224 00:11:29,020 --> 00:11:31,260 Probablemente os seus amigos entender lo, ea maioría da xente 225 00:11:31,260 --> 00:11:32,560 entender a idea. 226 00:11:32,560 --> 00:11:36,770 Pero os computadores son realmente mudo, e non entenden inglés, entón 227 00:11:36,770 --> 00:11:41,320 ter traducir isto en algo, xeralmente traducido nalgúns 228 00:11:41,320 --> 00:11:42,460 linguaxe de programación. 229 00:11:42,460 --> 00:11:46,840 >> E pode pensar nunha programación linguaxe como como unha especie de linguaxe 230 00:11:46,840 --> 00:11:50,970 que informa o ordenador como de falar e de entender. 231 00:11:50,970 --> 00:11:54,160 Está basicamente escribir algo en unha linguaxe que ambos vostede eo seu 232 00:11:54,160 --> 00:11:55,190 ordenador entende. 233 00:11:55,190 --> 00:11:56,470 Ese é o código fonte. 234 00:11:56,470 --> 00:12:00,580 Entón, indo forma pseudocódigo a fonte código, é ata. 235 00:12:00,580 --> 00:12:03,130 É basicamente está facendo o seu programa. 236 00:12:03,130 --> 00:12:06,740 >> Pero o problema é que o ordenador nin sequera 237 00:12:06,740 --> 00:12:08,360 entender a linguaxe de programación. 238 00:12:08,360 --> 00:12:10,320 El non entende código fonte de todo. 239 00:12:10,320 --> 00:12:12,520 En realidade, só entende ceros e uns. 240 00:12:12,520 --> 00:12:16,570 Entón temos esta cousa moi máxica chamada un compilador, que basicamente é 241 00:12:16,570 --> 00:12:19,755 será a fonte de chamada que escribiu nunha linguaxe tanto a vostede 242 00:12:19,755 --> 00:12:25,320 e seu ordenador falar, e agora está vai transformar isto en 243 00:12:25,320 --> 00:12:26,270 ceros e uns. 244 00:12:26,270 --> 00:12:30,860 Entón, basicamente o que o compilador fai é recibe o código fonte, neste caso C, 245 00:12:30,860 --> 00:12:34,100 que vai transformalo en ceros e aqueles que o ordenador 246 00:12:34,100 --> 00:12:37,440 entende e pode facer unha arquivo executable fóra del. 247 00:12:37,440 --> 00:12:40,900 >> Será que isto ten sentido? 248 00:12:40,900 --> 00:12:45,300 Pode só pensar no compilador como algún tipo de tradutor que estea 249 00:12:45,300 --> 00:12:50,280 axudar a explicar para o ordenador exactamente o que se quere facer. 250 00:12:50,280 --> 00:12:52,310 >> Pero como fago para compilar. 251 00:12:52,310 --> 00:12:59,680 Imos volver para o aparello, e imos dicir que eu estou facendo este programa. 252 00:12:59,680 --> 00:13:04,220 Primeiro vou crear un directorio aquí, e eu vou chamalo 253 00:13:04,220 --> 00:13:11,130 "Práctica". Agora vou para navegar ao directorio, por iso, a práctica cd. 254 00:13:11,130 --> 00:13:13,210 Agora eu estou dentro práctica. 255 00:13:13,210 --> 00:13:16,860 >> Agora quero comezar gedit, entón como é que eu fago isto? 256 00:13:16,860 --> 00:13:21,920 I ou facer clic aquí, ou podo só literalmente escribir "gedit", e que vai 257 00:13:21,920 --> 00:13:24,290 para abrir para min. 258 00:13:24,290 --> 00:13:28,100 >> Agora eu vou escribir o meu programa, de xeito exactamente o que eu escribín no slide. 259 00:13:28,100 --> 00:13:30,360 Estou declarando unha biblioteca. 260 00:13:30,360 --> 00:13:35,440 Estou facendo int main, nula. 261 00:13:35,440 --> 00:13:39,180 E agora eu estou facendo printf, Olá 262 00:13:39,180 --> 00:13:46,530 263 00:13:46,530 --> 00:13:50,170 Agora estou indo a gardar esta. 264 00:13:50,170 --> 00:13:53,665 Deixe-me poñer en práctica, e Vou chamar esa hello.c. 265 00:13:53,665 --> 00:13:57,710 266 00:13:57,710 --> 00:13:59,590 Entón, agora está gardado. 267 00:13:59,590 --> 00:14:03,250 >> Se eu queira recompila-lo, realmente pode facelo en dous lugares diferentes. 268 00:14:03,250 --> 00:14:07,090 Ou podo facelo nunha fiestra de terminal, polo que esta grande, ou pode 269 00:14:07,090 --> 00:14:09,860 usar gedit que realmente ten un fiestra de terminal aquí. 270 00:14:09,860 --> 00:14:17,890 Así, pode moi cómodo só facer seu código, e entón pode simplemente escribir 271 00:14:17,890 --> 00:14:20,670 todo o que aquí, e tentar compilalo. 272 00:14:20,670 --> 00:14:23,450 >> Entón, como fago para compilar o código? 273 00:14:23,450 --> 00:14:27,495 O xeito máis doado que temos é a usar facer, o que é unha función que 274 00:14:27,495 --> 00:14:29,590 Vai, basicamente, a compilar o código. 275 00:14:29,590 --> 00:14:34,170 Vostede só ten que dicir facer Hola, así "Facer" eo nome do programa. 276 00:14:34,170 --> 00:14:35,420 >> Oops. 277 00:14:35,420 --> 00:14:38,250 278 00:14:38,250 --> 00:14:39,280 Isto é raro. 279 00:14:39,280 --> 00:14:41,738 >> Lauren CARBALLO: Pode [inaudível]? 280 00:14:41,738 --> 00:14:45,182 281 00:14:45,182 --> 00:14:45,990 >> LUCAS FREITAS: Sentímolo. 282 00:14:45,990 --> 00:14:49,960 Non garda-lo no directorio correcto. 283 00:14:49,960 --> 00:14:52,130 Veña para a práctica, e agora garda-lo como hello.c. 284 00:14:52,130 --> 00:14:54,750 Sinto moito. 285 00:14:54,750 --> 00:14:56,250 Agora que está gardado. 286 00:14:56,250 --> 00:14:58,300 >> Déixeme só facer ls e ser seguro de que el está aquí. 287 00:14:58,300 --> 00:14:59,460 OK, agora é aquí. 288 00:14:59,460 --> 00:15:05,930 Polo tanto, agora se eu fai Ola, el Cospe un chea de cousas, pero despois só dá 289 00:15:05,930 --> 00:15:08,870 me outra liña para o terminal, que quere dicir que foi un éxito. 290 00:15:08,870 --> 00:15:13,160 Polo tanto, agora se eu fai un ls novo, realmente ver este ficheiro en verde, que é a 291 00:15:13,160 --> 00:15:15,470 arquivo executábel. 292 00:15:15,470 --> 00:15:21,700 >> E entón se eu queira para executa-lo, todo o que Teño que facer é barra dot Olá 293 00:15:21,700 --> 00:15:25,830 Vai dicir Ola ben aquí, entón é o que eu estou pedindo a el. 294 00:15:25,830 --> 00:15:29,620 >> Non é máis unha forma de compilar, que está a usar bumbum. 295 00:15:29,620 --> 00:15:35,740 Clang é só un compilador que temos, e é un pouco máis detallado para 296 00:15:35,740 --> 00:15:36,390 compilalo. 297 00:15:36,390 --> 00:15:40,180 Pero funciona moi ben. 298 00:15:40,180 --> 00:15:46,810 Entón, se eu fai bumbum, e despois-o, a continuación, nome que quero dar a 299 00:15:46,810 --> 00:15:50,400 o ficheiro executable, entón imos dicir que "Ola". E, a continuación, o arquivo que quero 300 00:15:50,400 --> 00:15:53,460 para compilar, hello.c. 301 00:15:53,460 --> 00:15:55,900 Tamén vai compilar. 302 00:15:55,900 --> 00:15:59,020 E ten o ficheiro aquí, e Podo só executa-lo tamén. 303 00:15:59,020 --> 00:16:00,610 Así, ambos funcionan. 304 00:16:00,610 --> 00:16:03,270 >> Será que isto ten sentido? 305 00:16:03,270 --> 00:16:06,020 Algunha pregunta? 306 00:16:06,020 --> 00:16:09,020 >> Audiencia: Pode zoom de aquí a pouco? 307 00:16:09,020 --> 00:16:09,913 >> LUCAS FREITAS: Sentímolo? 308 00:16:09,913 --> 00:16:11,135 >> Audiencia: Zoom in? 309 00:16:11,135 --> 00:16:13,310 >> Lauren CARBALLO: Eu creo que pode só comandar plus. 310 00:16:13,310 --> 00:16:14,295 >> LUCAS FREITAS: Comanda o que? 311 00:16:14,295 --> 00:16:16,060 >> Lauren CARBALLO: Command plus. 312 00:16:16,060 --> 00:16:17,000 >> LUCAS FREITAS: Non 313 00:16:17,000 --> 00:16:19,350 >> Lauren CARBALLO: Ah, iso non é indo para o traballo, porque - 314 00:16:19,350 --> 00:16:25,548 é porque definir a resolución por iso. 315 00:16:25,548 --> 00:16:27,450 >> LUCAS FREITAS: Non creo que podemos zoom in 316 00:16:27,450 --> 00:16:30,852 317 00:16:30,852 --> 00:16:34,130 Si, non podemos ampliar. 318 00:16:34,130 --> 00:16:36,200 Ten outra pregunta? 319 00:16:36,200 --> 00:16:36,680 Sentímolo. 320 00:16:36,680 --> 00:16:39,170 >> Audiencia: Pode repetir bumbum? 321 00:16:39,170 --> 00:16:40,630 >> LUCAS FREITAS: O bumbum? 322 00:16:40,630 --> 00:16:44,190 Clang é o mesmo que facer, pero o diferenza é que primeiro eu vou 323 00:16:44,190 --> 00:16:48,460 escribir tinido, que é o mando, entón eu vou facer -0, todo, o que se 324 00:16:48,460 --> 00:16:51,680 só o que nós imos aprender máis tarde, como unha bandeira. 325 00:16:51,680 --> 00:16:54,440 Entón, só creo que sempre ten que poñer-o. 326 00:16:54,440 --> 00:16:58,690 >> E entón, en primeiro lugar, vai poñer o nome do ficheiro executable, 327 00:16:58,690 --> 00:17:00,680 basicamente o ficheiro que está vai crear. 328 00:17:00,680 --> 00:17:06,430 Entón eu podo dicir, por exemplo, e hello2 logo, o arquivo que quero para compilar, 329 00:17:06,430 --> 00:17:07,800 que é o ficheiro c .. 330 00:17:07,800 --> 00:17:09,240 Entón, iso é hello.c. 331 00:17:09,240 --> 00:17:10,871 Será que isto ten sentido? 332 00:17:10,871 --> 00:17:12,635 >> Audiencia: Ola que? 333 00:17:12,635 --> 00:17:13,076 ¿Que é iso? 334 00:17:13,076 --> 00:17:15,960 >> LUCAS FREITAS: Hello.c. 335 00:17:15,960 --> 00:17:19,849 E se eu recompila-lo, e se Eu ls, eu tamén teño un 336 00:17:19,849 --> 00:17:22,010 hello2 que eu só compilado. 337 00:17:22,010 --> 00:17:26,339 E se eu tentar executa-lo, que vai facer exactamente o mesmo que Ola, 338 00:17:26,339 --> 00:17:27,089 basta imprimir Olá 339 00:17:27,089 --> 00:17:31,660 >> Audiencia: Como é a make pode pór hello.c despois? 340 00:17:31,660 --> 00:17:33,880 >> LUCAS FREITAS: O make, vostede Non ten que poñer o. c. 341 00:17:33,880 --> 00:17:36,140 O make, que acaba de dicir o nome do programa. 342 00:17:36,140 --> 00:17:37,750 Non ten que dicir. C. 343 00:17:37,750 --> 00:17:39,020 Pero para bumbum, ten que. 344 00:17:39,020 --> 00:17:44,040 >> Audiencia: Con clang tamén Ten que engadir o [inaudível] 345 00:17:44,040 --> 00:17:44,480 >> Lauren CARBALLO: Yeah. 346 00:17:44,480 --> 00:17:46,180 Entón, tamén ten que biblioteca. 347 00:17:46,180 --> 00:17:51,170 >> LUCAS FREITAS: Si, iso é algo imos usar máis tarde. 348 00:17:51,170 --> 00:17:54,850 Iso é chamado de conexión, e eu creo que somos imos falar sobre iso máis tarde. 349 00:17:54,850 --> 00:17:55,930 Outra pregunta? 350 00:17:55,930 --> 00:17:59,927 >> Audiencia: Vostede pon un tinido barra dot? 351 00:17:59,927 --> 00:18:01,060 >> LUCAS FREITAS: Non 352 00:18:01,060 --> 00:18:06,040 O conxunto de punto é só para abrir o ficheiro executable. 353 00:18:06,040 --> 00:18:09,440 Entón bumbum, que acaba de escribir "bumbum", e entón o que quere abrir o 354 00:18:09,440 --> 00:18:12,640 arquivo executábel que acaba de compilado, entón dot 355 00:18:12,640 --> 00:18:13,780 corte e do nome. 356 00:18:13,780 --> 00:18:15,100 Será que isto ten sentido? 357 00:18:15,100 --> 00:18:18,635 358 00:18:18,635 --> 00:18:22,435 >> Audiencia: Se fose só cambio [Inaudível] para Ola mundo, non é 359 00:18:22,435 --> 00:18:23,870 ten que recompilar? 360 00:18:23,870 --> 00:18:24,750 >> LUCAS FREITAS: Yeah. 361 00:18:24,750 --> 00:18:36,650 se eu quero dicir, por exemplo ", Ola alí, "Eu só pode salvalo agora, e eu 362 00:18:36,650 --> 00:18:38,020 só recompila-lo novo. 363 00:18:38,020 --> 00:18:41,910 Entón deixe-me facer un make Olá 364 00:18:41,910 --> 00:18:48,490 E se eu fai Ola, que vai dicir "Ola". Ten sentido? 365 00:18:48,490 --> 00:18:50,280 Algunha pregunta? 366 00:18:50,280 --> 00:18:54,384 >> Audiencia: Ten de incluír o estándar I / O para coordinar o traballo? 367 00:18:54,384 --> 00:18:55,480 >> LUCAS FREITAS: Yeah. 368 00:18:55,480 --> 00:18:58,050 O estándar de E / é basicamente a biblioteca que ten un 369 00:18:58,050 --> 00:19:00,050 implementación printf. 370 00:19:00,050 --> 00:19:03,450 371 00:19:03,450 --> 00:19:06,910 Así que o correcto no superior inclúe stdio. 372 00:19:06,910 --> 00:19:11,920 Isto é, incluíndo unha biblioteca basicamente ten unha morea de diferentes 373 00:19:11,920 --> 00:19:13,260 ferramentas que pode usar. 374 00:19:13,260 --> 00:19:13,480 un? 375 00:19:13,480 --> 00:19:17,820 Deles é que printf é unha función que basicamente impresión 376 00:19:17,820 --> 00:19:21,290 mensaxes na pantalla. 377 00:19:21,290 --> 00:19:23,200 >> Algunha pregunta? 378 00:19:23,200 --> 00:19:24,700 Non? 379 00:19:24,700 --> 00:19:25,060 Aceptar. 380 00:19:25,060 --> 00:19:31,620 Entón, agora imos falar - 381 00:19:31,620 --> 00:19:33,948 >> Lauren CARBALLO: Nós só ir ao guía de estilo. 382 00:19:33,948 --> 00:19:35,896 Quere só atopalo aquí? 383 00:19:35,896 --> 00:19:37,880 >> LUCAS FREITAS: Entón nós imos para falar sobre o estilo. 384 00:19:37,880 --> 00:19:47,006 385 00:19:47,006 --> 00:19:50,430 >> Lauren CARBALLO: Oh, David non terminou. 386 00:19:50,430 --> 00:19:51,230 Aceptar. 387 00:19:51,230 --> 00:19:53,870 Por que non imos volver estilo ben ao final? 388 00:19:53,870 --> 00:19:56,220 Foi realmente actualizada mentres falamos. 389 00:19:56,220 --> 00:19:56,810 >> LUCAS FREITAS: Yeah. 390 00:19:56,810 --> 00:19:58,300 Imos camiño para David para completar isto. 391 00:19:58,300 --> 00:20:07,150 392 00:20:07,150 --> 00:20:08,600 >> Lauren CARBALLO: Pode imos cambiar de traxe? 393 00:20:08,600 --> 00:20:14,920 394 00:20:14,920 --> 00:20:17,200 >> Entón, eu espero que todos foi gozar de risco. 395 00:20:17,200 --> 00:20:21,950 Por desgraza, é o momento de afastar-se dese - 396 00:20:21,950 --> 00:20:25,280 desgraciadamente é hora de se afastar a partir destes bloques de programación fermosa 397 00:20:25,280 --> 00:20:28,530 para C. Pero, por sorte, todo o programación constrúe o que tes 398 00:20:28,530 --> 00:20:32,370 está a traballar con en scratch son directamente traducibles a C, e estamos 399 00:20:32,370 --> 00:20:35,130 comezará a aprender sobre algúns deles agora. 400 00:20:35,130 --> 00:20:39,200 Imos primeiro falar sobre as condicións de en expresións booleanas. 401 00:20:39,200 --> 00:20:41,944 >> Este está a ser executado en reserva enerxía da batería. 402 00:20:41,944 --> 00:20:43,912 >> LUCAS FREITAS: Como é que non funciona? 403 00:20:43,912 --> 00:20:47,850 404 00:20:47,850 --> 00:20:48,010 Aceptar. 405 00:20:48,010 --> 00:20:50,256 Vai alí, eu estou indo a obter o - 406 00:20:50,256 --> 00:20:53,700 407 00:20:53,700 --> 00:20:57,390 >> Lauren CARBALLO: Entón, as condicións son importantes porque nos permiten 408 00:20:57,390 --> 00:21:00,588 introducir lóxica nos nosos programas. 409 00:21:00,588 --> 00:21:04,620 Aquí está un exemplo dunha condición dentro dun programa C. 410 00:21:04,620 --> 00:21:06,130 Imos observar como este - 411 00:21:06,130 --> 00:21:11,324 Polo tanto, esta condición bloque aquí, este instrución printf non executará 412 00:21:11,324 --> 00:21:14,860 a non ser que a condición dentro do parénteses, n maior que 0, 413 00:21:14,860 --> 00:21:16,800 valorada como certa. 414 00:21:16,800 --> 00:21:20,780 >> Agora, as condicións dentro f declaracións son expresións booleanas 415 00:21:20,780 --> 00:21:22,970 o que significa que hai son só dúas opcións. 416 00:21:22,970 --> 00:21:26,856 Eles nin podería avaliar a realidade, ou poden avaliar como falsa. 417 00:21:26,856 --> 00:21:33,174 Entón, aquí, o que ten sentido, non? n maior que 0, significa que é un positivo 418 00:21:33,174 --> 00:21:41,160 número, o que significa que imprime out "escolleu un número positivo." 419 00:21:41,160 --> 00:21:44,630 >> Hai moitas expresións booleanas que pode formar o estado dunha 420 00:21:44,630 --> 00:21:47,190 declaración de arranque. 421 00:21:47,190 --> 00:21:48,520 Temos a menos. 422 00:21:48,520 --> 00:21:50,950 Isto é menos que ou igual a. 423 00:21:50,950 --> 00:21:52,200 Este é só un divertido [inaudível]. 424 00:21:52,200 --> 00:21:54,800 425 00:21:54,800 --> 00:22:01,630 Se queres que o printf a ocorrer de ser o maior que ou igual a 0, entón 426 00:22:01,630 --> 00:22:03,345 escolle isto. 427 00:22:03,345 --> 00:22:07,750 Así, a igualdade só engade dereita despois do signo maior que. 428 00:22:07,750 --> 00:22:12,030 >> Igual igual, o que é diferente do só un signo igual, igual igual 429 00:22:12,030 --> 00:22:16,430 en realidade, significa que todo o que de no á esquerda desta é o mesmo que 430 00:22:16,430 --> 00:22:20,610 o que está na parte dereita desta onde un signo igual é o que? 431 00:22:20,610 --> 00:22:23,333 Que é só un sinal de igualdade? 432 00:22:23,333 --> 00:22:24,275 Cesión. 433 00:22:24,275 --> 00:22:25,985 >> LUCAS FREITAS: Quen dixo iso? 434 00:22:25,985 --> 00:22:27,170 Isto é doce? 435 00:22:27,170 --> 00:22:27,370 Oh, non. 436 00:22:27,370 --> 00:22:27,885 Sentímolo. 437 00:22:27,885 --> 00:22:28,210 Sentímolo. 438 00:22:28,210 --> 00:22:30,400 Quere chegar doces. 439 00:22:30,400 --> 00:22:31,510 Oh, OK! 440 00:22:31,510 --> 00:22:33,046 Tres persoas están doces! 441 00:22:33,046 --> 00:22:37,393 >> Lauren CARBALLO: Entón este aquí é o operador estrondo anterior 442 00:22:37,393 --> 00:22:40,240 do signo igual, o que é non igual. 443 00:22:40,240 --> 00:22:46,560 Entón, se iso foi dentro do meu estado, o corpo da condición sería 444 00:22:46,560 --> 00:22:49,615 realizar só se o que está en a esquerda non é o mesmo que 445 00:22:49,615 --> 00:22:52,540 o que está no lado dereito. 446 00:22:52,540 --> 00:22:57,680 >> Eu tamén podo ter só o signo de admiración. 447 00:22:57,680 --> 00:23:01,250 En realidade, xa veremos en un recurso desprazar como iso sería usado. 448 00:23:01,250 --> 00:23:03,830 >> LUCAS FREITAS: Algunha pregunta? 449 00:23:03,830 --> 00:23:06,450 Non? 450 00:23:06,450 --> 00:23:10,460 >> Lauren CARBALLO: Podemos combina-las Expresións booleanas para a construción de máis 451 00:23:10,460 --> 00:23:12,500 instrucións condicionais complicados. 452 00:23:12,500 --> 00:23:19,680 Entón, aquí, o que está á esquerda lado das barras dobres ou 453 00:23:19,680 --> 00:23:23,160 todo o que está no lado dereito da as barras dobres valorada como certa, 454 00:23:23,160 --> 00:23:25,700 entón imos imprimir válido. 455 00:23:25,700 --> 00:23:29,503 E entón, aquí abaixo, se calquera de na parte esquerda dos dous 456 00:23:29,503 --> 00:23:33,480 ampersands e calquera de á dereita lado dos dous e comercial 457 00:23:33,480 --> 00:23:37,470 valorada como certa, entón imos imprimir válido. 458 00:23:37,470 --> 00:23:42,195 As barras dobres son chamadas de lóxica Operador OU os ampersands dobres son 459 00:23:42,195 --> 00:23:44,190 chamado o operador lóxico AND. 460 00:23:44,190 --> 00:23:44,648 Si? 461 00:23:44,648 --> 00:23:47,850 >> Audiencia: Son aqueles só minúsculas l's? 462 00:23:47,850 --> 00:23:48,620 >> Lauren CARBALLO: Non 463 00:23:48,620 --> 00:23:50,890 Son, en realidade - 464 00:23:50,890 --> 00:23:55,134 sabe a reacción, como por riba da súa tecla Return? 465 00:23:55,134 --> 00:23:56,585 Ve iso? 466 00:23:56,585 --> 00:23:57,940 >> LUCAS FREITAS: É realmente un bar. 467 00:23:57,940 --> 00:24:02,100 >> Lauren CARBALLO: É, en realidade, só dous bares. 468 00:24:02,100 --> 00:24:05,724 >> Audiencia: Pode usar o igual a igual cordas? 469 00:24:05,724 --> 00:24:07,000 >> LUCAS FREITAS: Non 470 00:24:07,000 --> 00:24:09,130 Nós imos aprender máis tarde algo sobre iso. 471 00:24:09,130 --> 00:24:10,735 >> Lauren CARBALLO: Hai unha función que pode usar. 472 00:24:10,735 --> 00:24:12,644 Pero non ten que preocúpanse que só aínda. 473 00:24:12,644 --> 00:24:15,530 474 00:24:15,530 --> 00:24:18,270 >> E se eu dar a este programa o número 5? 475 00:24:18,270 --> 00:24:20,850 Que imprimirá? 476 00:24:20,850 --> 00:24:22,100 >> Audiencia: [inaudível] 477 00:24:22,100 --> 00:24:27,780 478 00:24:27,780 --> 00:24:28,275 válido. 479 00:24:28,275 --> 00:24:29,770 >> Lauren CARBALLO: Válido? 480 00:24:29,770 --> 00:24:30,135 É. 481 00:24:30,135 --> 00:24:34,092 Eu non sei quen comezou iso. 482 00:24:34,092 --> 00:24:35,036 >> [Risas] 483 00:24:35,036 --> 00:24:37,990 >> Lauren CARBALLO: Isto é medio asustado [inaudível]. 484 00:24:37,990 --> 00:24:40,900 >> Audiencia: Entón a parella e, iso só quere dicir que e? 485 00:24:40,900 --> 00:24:41,740 >> Lauren CARBALLO: Yeah. 486 00:24:41,740 --> 00:24:46,160 Así, o número 5 é tanto maior que 0 e menor que 100. 487 00:24:46,160 --> 00:24:48,970 >> Audiencia: Por que sería un? 488 00:24:48,970 --> 00:24:51,350 >> Lauren CARBALLO: un comercial é realmente algo diferente, e é 489 00:24:51,350 --> 00:24:53,390 un operador bit a bit, o que vai aprender sobre máis tarde. 490 00:24:53,390 --> 00:24:58,250 Pero é algo que realmente funciona cos bits dun determinado número. 491 00:24:58,250 --> 00:25:00,872 >> LUCAS FREITAS: Só creo que non ten que se preocupar con iso de momento. 492 00:25:00,872 --> 00:25:04,590 >> Lauren CARBALLO: Coido que é, probablemente, chegando a próxima semana. 493 00:25:04,590 --> 00:25:06,420 >> LUCAS FREITAS: Algunha pregunta? 494 00:25:06,420 --> 00:25:07,990 Non? 495 00:25:07,990 --> 00:25:12,480 >> Lauren CARBALLO: Entón vimos que un el bloquear pode ir só, pero pode 496 00:25:12,480 --> 00:25:15,370 tamén combinarse con outra persoa e bloque. 497 00:25:15,370 --> 00:25:18,880 Polo tanto, neste caso, se non for maior que 0, imos imprimir "Vostede 498 00:25:18,880 --> 00:25:23,855 escolleu un número positivo. "else, ou sexa, de ser 0 ou se é menos 499 00:25:23,855 --> 00:25:27,170 que 0, imos imprimir, "Escolleu un número negativo." 500 00:25:27,170 --> 00:25:30,390 >> O interesante aquí é que estes son exclusivas unha da outra. 501 00:25:30,390 --> 00:25:33,940 Non vai ser un caso en que esta e esta 502 00:25:33,940 --> 00:25:35,544 tanto pode imprimir. 503 00:25:35,544 --> 00:25:38,190 504 00:25:38,190 --> 00:25:41,030 >> Estou seguro que traballou co if / else caixa en perigo, polo que debe ser 505 00:25:41,030 --> 00:25:42,392 moi familiar. 506 00:25:42,392 --> 00:25:42,874 Si? 507 00:25:42,874 --> 00:25:48,522 >> Audiencia: Será que necesitamos espazo entre Cont n igual GetInt entón no espazo 508 00:25:48,522 --> 00:25:49,460 if? 509 00:25:49,460 --> 00:25:51,565 Como usan unha liña de [inaudível] 510 00:25:51,565 --> 00:25:52,790 >> Lauren CARBALLO: Ah, o espazo aquí? 511 00:25:52,790 --> 00:25:56,742 >> Audiencia: Como aquel, pero o dobre do espazo. 512 00:25:56,742 --> 00:25:58,718 Non, ir cara arriba. 513 00:25:58,718 --> 00:25:59,706 Sobe. 514 00:25:59,706 --> 00:26:00,610 >> LUCAS FREITAS: Só a liña? 515 00:26:00,610 --> 00:26:01,140 >> Audiencia: Yeah. 516 00:26:01,140 --> 00:26:02,870 >> LUCAS FREITAS: Só a liña en branco? 517 00:26:02,870 --> 00:26:03,270 >> Audiencia: Yeah. 518 00:26:03,270 --> 00:26:04,070 >> Lauren CARBALLO: Liña en branco? 519 00:26:04,070 --> 00:26:04,470 Non 520 00:26:04,470 --> 00:26:06,320 Isto é só unha cousa estilística. 521 00:26:06,320 --> 00:26:09,360 >> LUCAS FREITAS: É como ás veces acaba de saltar algunhas liñas así 522 00:26:09,360 --> 00:26:12,330 que o código non se parece un enorme bloque de texto. 523 00:26:12,330 --> 00:26:15,800 >> Lauren CARBALLO: Eu creo que o que pasou era que tiñamos un comentario aquí, pero eu 524 00:26:15,800 --> 00:26:18,220 levou-o para fora de xeito que vostedes terían para pensar sobre o código, en vez 525 00:26:18,220 --> 00:26:19,920 que ler o meu comentario. 526 00:26:19,920 --> 00:26:24,170 En xeral, o espazo non vai realmente afectar o xeito no que o programa é executado. 527 00:26:24,170 --> 00:26:26,070 É unha cousa estilística. 528 00:26:26,070 --> 00:26:29,460 E cando temos a guía de estilo actualizado e preparado para ir ata o final de 529 00:26:29,460 --> 00:26:33,260 supersection, imos falar sobre iso máis. 530 00:26:33,260 --> 00:26:34,660 >> Hai algo de malo con este programa, non? 531 00:26:34,660 --> 00:26:38,980 Porque 0 non é realmente un número negativo. 532 00:26:38,980 --> 00:26:40,270 Entón, imos ver se podemos solucionar isto. 533 00:26:40,270 --> 00:26:45,710 534 00:26:45,710 --> 00:26:48,370 >> Probablemente pode imaxinar con iso, di, non? 535 00:26:48,370 --> 00:26:52,850 Se n é maior que 0, nós imprimir ", Vostede escolleu un número positivo. "Entón máis 536 00:26:52,850 --> 00:26:57,340 se non é menor que 0 ", escolleu un número negativo. "else:" Vostede colleu 537 00:26:57,340 --> 00:27:01,040 0. " 538 00:27:01,040 --> 00:27:06,030 >> Agora, o interesante é que iso pode durar para sempre. 539 00:27:06,030 --> 00:27:10,020 Pode ter un bloque if, else if un bloque, outro bloque else if, else if, 540 00:27:10,020 --> 00:27:14,790 else if, else if, else, basicamente sempre que queiras. 541 00:27:14,790 --> 00:27:17,110 E cando construído como este, estes son todos os que van ser 542 00:27:17,110 --> 00:27:19,206 exclusiva de cada outro. 543 00:27:19,206 --> 00:27:19,650 Si? 544 00:27:19,650 --> 00:27:24,130 >> Audiencia: Entón, por que non pode só usar outro, se en vez de [inaudível]? 545 00:27:24,130 --> 00:27:26,990 >> Lauren CARBALLO: Neste caso, si eu podería empregar outro, e sería 546 00:27:26,990 --> 00:27:29,190 absolutamente ben, xa que o condicións en si son 547 00:27:29,190 --> 00:27:30,600 exclusiva de cada outro. 548 00:27:30,600 --> 00:27:33,560 Pero, se as condicións non foron exclusivos uns dos outros, é dicir ía 549 00:27:33,560 --> 00:27:37,596 forzalos a nunca tanto avaliar, se iso ten sentido. 550 00:27:37,596 --> 00:27:44,195 >> Audiencia: Neste caso, poderiamos niño a segunda, no primeiro caso? 551 00:27:44,195 --> 00:27:46,160 >> Lauren CARBALLO: Si - o que quere dicir? 552 00:27:46,160 --> 00:27:49,660 >> Audiencia: Se as dúas condicións non son mutuamente excluíntes? 553 00:27:49,660 --> 00:27:54,700 >> Lauren CARBALLO: Se as condicións non son mutuamente excluíntes? 554 00:27:54,700 --> 00:27:58,000 Pero quere só un deles para correr? 555 00:27:58,000 --> 00:28:00,260 >> Audiencia: Quere só se en vez de outra persoa. 556 00:28:00,260 --> 00:28:01,020 >> Lauren CARBALLO: Yeah. 557 00:28:01,020 --> 00:28:03,630 Sempre hai vai ser lotes de formas que pode facelo. 558 00:28:03,630 --> 00:28:06,600 Pode definitivamente niño deles. 559 00:28:06,600 --> 00:28:10,390 E vai ver nun futuro foto que pode ter varios IFS, só un 560 00:28:10,390 --> 00:28:11,680 despois do outro. 561 00:28:11,680 --> 00:28:14,840 Pero esta é unha forma de loxicamente organizar o fluxo de seu programa. 562 00:28:14,840 --> 00:28:18,000 >> LUCAS FREITAS: E hai unha cousa, é que preguntou sobre a colocación de 563 00:28:18,000 --> 00:28:20,110 se e, a continuación, outra se. 564 00:28:20,110 --> 00:28:25,240 Isto funciona perfectamente, pero é malo proxecto, porque, basicamente, se 565 00:28:25,240 --> 00:28:29,320 comprobe primeiro se, e entender que o número é maior que 0, é 566 00:28:29,320 --> 00:28:30,660 pode simplemente rematar o programa. 567 00:28:30,660 --> 00:28:33,080 Non ten que comprobar se é menor que 0, non? 568 00:28:33,080 --> 00:28:37,510 >> Pero se se, que vai comprobar ambos, mentres que, se fago outra persoa é, 569 00:28:37,510 --> 00:28:39,260 vai comprobar se que é maior que 0. 570 00:28:39,260 --> 00:28:43,500 Se é, non vai sequera ollar nas outras liñas do código. 571 00:28:43,500 --> 00:28:48,560 Entón está basicamente comprobando-lo como dúas veces innecesarios, entón é por iso que 572 00:28:48,560 --> 00:28:50,750 facer se else if. 573 00:28:50,750 --> 00:28:52,350 Algunha pregunta? 574 00:28:52,350 --> 00:28:56,547 >> Audiencia: Entón a función do outro, se é o mesmo que 575 00:28:56,547 --> 00:28:57,790 se fose só se? 576 00:28:57,790 --> 00:28:58,470 >> Lauren CARBALLO: Non 577 00:28:58,470 --> 00:29:02,720 Está realmente indo a ver o meu próximo desprazar un exemplo en que pode 578 00:29:02,720 --> 00:29:03,270 ser diferente. 579 00:29:03,270 --> 00:29:05,690 Neste caso, é case o mesmo. 580 00:29:05,690 --> 00:29:10,190 581 00:29:10,190 --> 00:29:15,410 >> Entón, aquí, temos un exemplo de múltiple if, eo 582 00:29:15,410 --> 00:29:20,020 función non é o mesmo como se eu tivese acaba de dicir se 583 00:29:20,020 --> 00:29:23,120 máis, máis, se algo máis. 584 00:29:23,120 --> 00:29:26,970 Imos pensar sobre o que ía imprimir se eu escribir o número 95 585 00:29:26,970 --> 00:29:27,715 para este programa. 586 00:29:27,715 --> 00:29:29,764 >> Audiencia: [inaudível] 587 00:29:29,764 --> 00:29:31,102 >> Lauren CARBALLO: E entón? 588 00:29:31,102 --> 00:29:32,340 >> Audiencia: [inaudível] 589 00:29:32,340 --> 00:29:33,680 >> Lauren CARBALLO: Yeah. 590 00:29:33,680 --> 00:29:37,430 Polo tanto, neste caso, estas condicións son non exclúen mutuamente un do outro. 591 00:29:37,430 --> 00:29:41,040 E por que non hai nada que impida esta condición de avaliar se esta 592 00:29:41,040 --> 00:29:44,730 un xa ten, son só todo vai imprimir. 593 00:29:44,730 --> 00:29:46,222 Entón como eu podería solucionar isto? 594 00:29:46,222 --> 00:29:47,608 >> Audiencia: else IFS? 595 00:29:47,608 --> 00:29:48,910 >> Lauren CARBALLO: Pode usar else IFS. 596 00:29:48,910 --> 00:29:50,590 Podería cambiar a orde destes, non? 597 00:29:50,590 --> 00:29:53,800 Se eu fixen iso primeiro? 598 00:29:53,800 --> 00:29:55,120 Ben, en realidade, non. 599 00:29:55,120 --> 00:29:57,100 Isto non funcionaría por 95. 600 00:29:57,100 --> 00:29:58,490 >> LUCAS FREITAS: Non, só os else IFS. 601 00:29:58,490 --> 00:30:01,720 >> Lauren CARBALLO: O else IFS tería fixado iso. 602 00:30:01,720 --> 00:30:07,050 Será que aclarar a confusión entre IFS e máis IFS? 603 00:30:07,050 --> 00:30:11,480 >> Audiencia: Eu só quería preguntar si Usou else if, que ía deixar? 604 00:30:11,480 --> 00:30:11,840 >> Lauren CARBALLO: Certo. 605 00:30:11,840 --> 00:30:13,330 Entón, só que esta primeira. 606 00:30:13,330 --> 00:30:16,535 Se eu escribir o número 95, só que esta tería impreso, e nunca 607 00:30:16,535 --> 00:30:17,934 tería progresando ao resto. 608 00:30:17,934 --> 00:30:22,570 >> LUCAS FREITAS: Só tipo de pensar como se isto acontecer, faga iso. 609 00:30:22,570 --> 00:30:26,990 O resto é como se non, cheque para iso, e, a continuación, facelo. 610 00:30:26,990 --> 00:30:28,690 Entón, como son todos mutuamente exclusivo. 611 00:30:28,690 --> 00:30:30,270 Non pode entrar en dous sobre aqueles. 612 00:30:30,270 --> 00:30:32,800 613 00:30:32,800 --> 00:30:37,630 >> Audiencia: Pode usar unha lóxica E para esta situación? 614 00:30:37,630 --> 00:30:39,370 >> Lauren CARBALLO: Yeah. 615 00:30:39,370 --> 00:30:41,400 Esta é outra forma que puidésemos ter corrixido este problema. 616 00:30:41,400 --> 00:30:43,470 Estamos podería definido varía, non? 617 00:30:43,470 --> 00:30:49,410 Entón, eu podería dicir, se non é maior do que 90 e menos que - 618 00:30:49,410 --> 00:30:52,135 ben, eu creo que iso non fai moito importa, pero aquí eu podería dicir se 619 00:30:52,135 --> 00:30:53,960 n é superior a 80 e inferior a 90. 620 00:30:53,960 --> 00:30:55,570 Máis que 70, menos que 80. 621 00:30:55,570 --> 00:30:59,077 Isto tamén tería funcionando. 622 00:30:59,077 --> 00:30:59,891 >> [Risas] 623 00:30:59,891 --> 00:31:00,980 >> LUCAS FREITAS: Ela ten medo. 624 00:31:00,980 --> 00:31:02,070 >> Lauren CARBALLO: Non teña medo. 625 00:31:02,070 --> 00:31:04,570 >> LUCAS FREITAS: Non se que estará errada. 626 00:31:04,570 --> 00:31:08,630 É que é innecesariamente detallado. 627 00:31:08,630 --> 00:31:13,480 Como en ciencia da computación, hai que ser tan sinxelo como sexa posible con tal 628 00:31:13,480 --> 00:31:14,730 ten a función. 629 00:31:14,730 --> 00:31:16,725 630 00:31:16,725 --> 00:31:17,835 Quere o doce? 631 00:31:17,835 --> 00:31:19,084 >> Audiencia: Non precisa. 632 00:31:19,084 --> 00:31:20,340 >> Lauren CARBALLO: Está asustando todos, Lucas. 633 00:31:20,340 --> 00:31:21,590 >> LUCAS FREITAS: Sentímolo. 634 00:31:21,590 --> 00:31:24,650 635 00:31:24,650 --> 00:31:29,510 >> Lauren CARBALLO: David tamén mencionou estes instrución switch en clase. 636 00:31:29,510 --> 00:31:33,180 Basicamente o que está a suceder é a chave declaración leva unha variable. 637 00:31:33,180 --> 00:31:35,760 Neste caso, nós estamos levando un número enteiro. 638 00:31:35,760 --> 00:31:39,220 >> O enteiro for 1, imos imprimir ", escolleu unha pequena 639 00:31:39,220 --> 00:31:42,000 número. "Se o enteiro é 1," Vostede escolleu un número medio. "O 640 00:31:42,000 --> 00:31:45,730 enteiro é 3 ", escolleu un alto número. "E eu tamén tiña un caso estándar 641 00:31:45,730 --> 00:31:50,020 aquí en baixo, pero non está mostrando se, o que é moi malo. 642 00:31:50,020 --> 00:31:53,120 643 00:31:53,120 --> 00:31:55,360 >> Basicamente, este é só outra sintaxe. 644 00:31:55,360 --> 00:31:58,640 Poderiamos ter implantado este exacto mesmo co caso e else if 645 00:31:58,640 --> 00:31:59,390 declaracións. 646 00:31:59,390 --> 00:32:05,530 Pero cando hai moitos diferente condicións e os lotes de diferentes 647 00:32:05,530 --> 00:32:10,350 variacións sobre o que quere facer para cada entrada, esta é unha opción. 648 00:32:10,350 --> 00:32:13,262 Por iso, é só unha boa sintaxe saber. 649 00:32:13,262 --> 00:32:15,099 Si? 650 00:32:15,099 --> 00:32:21,380 >> Audiencia: Por que non hai unha barra invertida n no primeiro? 651 00:32:21,380 --> 00:32:23,340 >> Lauren CARBALLO: Para alí enriba? 652 00:32:23,340 --> 00:32:27,600 Non hai ningunha barra invertida n alí enriba porque o GetInt - 653 00:32:27,600 --> 00:32:30,140 se tentar facelo, que vai darlle esta pregunta. 654 00:32:30,140 --> 00:32:32,290 Déame un número enteiro entre 1 e 3. 655 00:32:32,290 --> 00:32:35,550 E se eu poñer a reacción n, sería Léveme á seguinte liña, pero eu só 656 00:32:35,550 --> 00:32:38,690 quería que escriba o número enteiro logo tras os dous puntos. 657 00:32:38,690 --> 00:32:40,120 Podería ter colocado a reacción n. 658 00:32:40,120 --> 00:32:42,374 Non é un gran negocio. 659 00:32:42,374 --> 00:32:43,288 Si? 660 00:32:43,288 --> 00:32:50,525 >> Audiencia: Para este código, por este caso, é que por mor 661 00:32:50,525 --> 00:32:51,760 é o primeiro caso? 662 00:32:51,760 --> 00:32:52,260 Porque - 663 00:32:52,260 --> 00:32:53,400 >> Lauren CARBALLO: Non, non, non. 664 00:32:53,400 --> 00:32:56,480 Polo tanto, esta é me dar un enteiro entre 1 e 3. 665 00:32:56,480 --> 00:32:59,070 Se n é 1, imprimo iso. 666 00:32:59,070 --> 00:33:02,740 Se eu tivese preguntado para as cartas, eu podería ter dixo, me dea unha letra entre A 667 00:33:02,740 --> 00:33:04,935 e C. Entón, iso sería caso A. 668 00:33:04,935 --> 00:33:05,910 >> Audiencia: [inaudível]. 669 00:33:05,910 --> 00:33:08,090 O caso sería só [inaudível] 670 00:33:08,090 --> 00:33:11,260 >> Lauren CARBALLO: Si, certo. 671 00:33:11,260 --> 00:33:11,550 Si? 672 00:33:11,550 --> 00:33:14,861 >> Audiencia: E se quería ter máis dunha expresión relacional? 673 00:33:14,861 --> 00:33:17,645 Entón, en vez de dicir n igual a 1, [inaudível] 674 00:33:17,645 --> 00:33:21,050 n é superior a 1, o primeiro caso? 675 00:33:21,050 --> 00:33:26,630 >> Lauren CARBALLO: En realidade, se eu non fai definir algúns destes casos, este sería 676 00:33:26,630 --> 00:33:28,500 ser levar para abaixo. 677 00:33:28,500 --> 00:33:30,680 Entón, en realidade, quizais iso non é o que está pedindo. 678 00:33:30,680 --> 00:33:36,240 >> LUCAS FREITAS: Coido que está pregunta se caso n foi maior que 0, no caso 679 00:33:36,240 --> 00:33:37,150 menos que 0. 680 00:33:37,150 --> 00:33:39,210 >> Lauren CARBALLO: Quizais a chave declaración non é realmente o que quere 681 00:33:39,210 --> 00:33:39,880 para usar neste caso. 682 00:33:39,880 --> 00:33:42,420 >> LUCAS FREITAS: A instrución switch é Só para o valor, entón está comprobando de 683 00:33:42,420 --> 00:33:45,370 o valor é como iso ou aquilo. 684 00:33:45,370 --> 00:33:47,025 Entón non pode realmente poñer condicións. 685 00:33:47,025 --> 00:33:50,988 686 00:33:50,988 --> 00:33:55,920 >> Audiencia: E se a persoa tipo con [inaudível]? 687 00:33:55,920 --> 00:33:58,240 >> Lauren CARBALLO: Isto sería meu caso estándar, que por desgraza 688 00:33:58,240 --> 00:33:58,910 non pode ver. 689 00:33:58,910 --> 00:34:02,240 >> LUCAS FREITAS: [inaudível] facelos ver. 690 00:34:02,240 --> 00:34:03,690 >> Lauren CARBALLO: En realidade, Vostede sabe o que? 691 00:34:03,690 --> 00:34:07,795 Nós só estudar 50, e eu vou só ampliar as láminas sobre estudo 692 00:34:07,795 --> 00:34:10,610 50, porque este é só irritante. 693 00:34:10,610 --> 00:34:14,938 Entón deixe-me realmente ir a estado. 694 00:34:14,938 --> 00:34:17,860 Isto só vai levar un pouco. 695 00:34:17,860 --> 00:34:26,940 696 00:34:26,940 --> 00:34:27,840 >> Todo ben. 697 00:34:27,840 --> 00:34:29,590 Entón, eu sinto moito. 698 00:34:29,590 --> 00:34:33,625 Polo menos agora nós imos ser capaces de ver todo sen el cortando. 699 00:34:33,625 --> 00:34:36,230 700 00:34:36,230 --> 00:34:36,969 Todo ben. 701 00:34:36,969 --> 00:34:43,800 >> Entón, se eles puxeron en un 10, que sería estándar aquí ao meu caso estándar, e eu 702 00:34:43,800 --> 00:34:46,510 sería só imprimir válido porque eu pediulles para entrar un enteiro 703 00:34:46,510 --> 00:34:49,460 entre 1 e 3. 704 00:34:49,460 --> 00:34:50,650 Algunha pregunta? 705 00:34:50,650 --> 00:34:51,081 Si? 706 00:34:51,081 --> 00:34:57,590 >> Audiencia: Imos dicir que para o caso dun, no caso de tres, digamos que quería que fose todo o 707 00:34:57,590 --> 00:35:00,950 mesmo, entón escolleu un número isto non é un número medio. 708 00:35:00,950 --> 00:35:03,840 Neste caso, sería redundante? 709 00:35:03,840 --> 00:35:08,371 Será que só cambia o texto en ambos os deles, ou habería algunha 710 00:35:08,371 --> 00:35:08,617 redundancia? 711 00:35:08,617 --> 00:35:11,920 Existe algunha maneira de combinar [Inaudível]? 712 00:35:11,920 --> 00:35:15,810 >> Lauren CARBALLO: Hai formas de combina-los, pero eu creo que pode 713 00:35:15,810 --> 00:35:18,730 só combinar os adxacentes. 714 00:35:18,730 --> 00:35:22,250 Entón, se eu non definir nada para o caso de dous, iso sería 715 00:35:22,250 --> 00:35:24,130 aplica-se a ambos os casos. 716 00:35:24,130 --> 00:35:28,110 Oh, se eu non poñer calquera cousa para o caso un, isto aplícase tanto 717 00:35:28,110 --> 00:35:30,620 caso un e dous. 718 00:35:30,620 --> 00:35:33,616 Se isto ten sentido. 719 00:35:33,616 --> 00:35:35,872 >> Audiencia: Pode repetir este? 720 00:35:35,872 --> 00:35:36,670 >> LUCAS FREITAS: Aceptar. 721 00:35:36,670 --> 00:35:39,950 Se fixo, basicamente, como, ten o mesmo, pero non poñer 722 00:35:39,950 --> 00:35:46,820 calquera cousa aquí, sería tanto para caso un ou dous casos, facelo. 723 00:35:46,820 --> 00:35:47,930 Non? 724 00:35:47,930 --> 00:35:54,010 E esta pausa significa que se chegar neste caso, só tes que saír. 725 00:35:54,010 --> 00:35:55,030 Entón é iso que o freo significa. 726 00:35:55,030 --> 00:35:59,755 Entón, se eu só fixen iso, mira, é caso un, e que tería só que facelo. 727 00:35:59,755 --> 00:36:02,110 Se fose caso dous, que tamén faría só vir aquí e facelo. 728 00:36:02,110 --> 00:36:03,544 >> Audiencia: Pero pode facelo? 729 00:36:03,544 --> 00:36:05,140 Se hai algo para caso dous [inaudível] 730 00:36:05,140 --> 00:36:07,095 >> Lauren CARBALLO: Eu non creo pode facelo. 731 00:36:07,095 --> 00:36:09,380 Eu non creo que pode saltar arredor. 732 00:36:09,380 --> 00:36:11,070 Podes facelo, Rob? 733 00:36:11,070 --> 00:36:13,300 Creo que non. 734 00:36:13,300 --> 00:36:16,548 >> Audiencia: Entón, só un número pode ir detrás de un caso, non? 735 00:36:16,548 --> 00:36:21,410 Non pode haber un caso, coma, dous? 736 00:36:21,410 --> 00:36:21,970 >> LUCAS FREITAS: Non, non pode. 737 00:36:21,970 --> 00:36:25,085 Vostede definitivamente non pode. 738 00:36:25,085 --> 00:36:28,770 >> Lauren CARBALLO: Eu quero dicir, o punto é esta é unha opción, e iso non pode 739 00:36:28,770 --> 00:36:31,940 se encaixan no seu caso de uso, polo que entón usaría a condicións. 740 00:36:31,940 --> 00:36:33,906 >> Audiencia: Entón, por que faría iso? 741 00:36:33,906 --> 00:36:34,314 O switch? 742 00:36:34,314 --> 00:36:38,540 >> Lauren CARBALLO: Eu usaría ese Se ten moi definido - 743 00:36:38,540 --> 00:36:39,730 En realidade, Lucas, é que está bloqueado. 744 00:36:39,730 --> 00:36:40,982 >> LUCAS FREITAS: Oh, desculpe. 745 00:36:40,982 --> 00:36:44,200 >> Lauren CARBALLO: Se ten moito comportamentos definidos que quere para 746 00:36:44,200 --> 00:36:48,105 Cada entrada, que pode ser un algo máis conciso que escribir fóra 747 00:36:48,105 --> 00:36:49,530 unha instrución if para cada un. 748 00:36:49,530 --> 00:36:51,210 >> Audiencia: O que fai o romper dicir de novo? 749 00:36:51,210 --> 00:36:53,180 >> Lauren CARBALLO: A Fenda significa parar. 750 00:36:53,180 --> 00:36:56,860 Teña en conta que, se eu non tivese esa pausa aquí, teriamos acaba de caer abaixo 751 00:36:56,860 --> 00:36:58,110 para o caso seguinte. 752 00:36:58,110 --> 00:37:00,820 >> LUCAS FREITAS: Quebra significa para fóra da instrución switch. 753 00:37:00,820 --> 00:37:03,400 Porque se é un, quero imprimir este e saír. 754 00:37:03,400 --> 00:37:04,640 Eu non quero para comprobar calquera outra cousa. 755 00:37:04,640 --> 00:37:05,790 >> Audiencia: Non quere imprimir máis nada. 756 00:37:05,790 --> 00:37:06,730 >> LUCAS FREITAS: Yeah. 757 00:37:06,730 --> 00:37:08,260 Por mutuamente exclusivos. 758 00:37:08,260 --> 00:37:11,378 >> Audiencia: E será que iso só proceder para o caso seguinte, o primeiro caso 759 00:37:11,378 --> 00:37:11,850 non é verdade? 760 00:37:11,850 --> 00:37:14,120 Ou será que probar todos os casos á vez? 761 00:37:14,120 --> 00:37:16,300 >> LUCAS FREITAS: Non, verifica secuencialmente. 762 00:37:16,300 --> 00:37:18,070 Secuencialmente, si. 763 00:37:18,070 --> 00:37:21,840 Só unha pregunta, entón temos que seguir adiante, para que poidamos cubrir todo. 764 00:37:21,840 --> 00:37:22,300 Si? 765 00:37:22,300 --> 00:37:25,280 >> Audiencia: Así, para o caso, podería feito algo ademais de só un? 766 00:37:25,280 --> 00:37:27,680 Podería darlle un alcance? 767 00:37:27,680 --> 00:37:28,580 >> LUCAS FREITAS: Non 768 00:37:28,580 --> 00:37:29,900 >> Lauren CARBALLO: Eu non creo que pode dar un rango. 769 00:37:29,900 --> 00:37:31,430 >> LUCAS FREITAS: Non pode vostede non pode darlle un intervalo. 770 00:37:31,430 --> 00:37:33,190 >> Audiencia: O caso é específico [Inaudível]. 771 00:37:33,190 --> 00:37:34,840 >> LUCAS FREITAS: Cambiar é unha especie de valores. 772 00:37:34,840 --> 00:37:38,400 Está facendo cousas diferentes, dependendo nun valor, un valor específico. 773 00:37:38,400 --> 00:37:41,050 Non pode facer intervalo, non se pode facer máis nada. 774 00:37:41,050 --> 00:37:43,055 É só unha ferramenta para ver. 775 00:37:43,055 --> 00:37:46,570 >> Lauren CARBALLO: A maioría da xente non usan intercambiar declaracións moi de CS50, 776 00:37:46,570 --> 00:37:48,760 pero está aí. 777 00:37:48,760 --> 00:37:49,920 >> Todo ben. 778 00:37:49,920 --> 00:37:53,870 Polo tanto, a seguinte cousa que imos falar sobre o operador ternário. 779 00:37:53,870 --> 00:37:56,650 Este é só un outro tipo de condicional. 780 00:37:56,650 --> 00:38:01,460 Basicamente o que está pasando aquí é que eu son pedindo un número enteiro, e, se non é 781 00:38:01,460 --> 00:38:05,550 superior a 100, eu estou indo a imprimir "Alto". Se non é, eu vou 782 00:38:05,550 --> 00:38:07,010 imprimir "baixo". 783 00:38:07,010 --> 00:38:11,230 >> Entón o que está facendo é a condición é aquí entre parénteses, e 784 00:38:11,230 --> 00:38:13,550 pode tipo de pensar a cuestión como eu estou pregunta se 785 00:38:13,550 --> 00:38:15,030 iso é verdade ou non. 786 00:38:15,030 --> 00:38:18,485 De ser certo, eu vou facelo primeiro cousa, e se iso non é verdade, eu son 787 00:38:18,485 --> 00:38:20,020 fará esta segunda cousa. 788 00:38:20,020 --> 00:38:23,520 789 00:38:23,520 --> 00:38:27,960 >> Calquera dúbida sobre o operador ternário? 790 00:38:27,960 --> 00:38:30,880 >> LUCAS FREITAS: Só quero observar desde David é que sempre que ten un 791 00:38:30,880 --> 00:38:33,346 condición - 792 00:38:33,346 --> 00:38:35,690 >> Lauren CARBALLO: Eu creo que o David de asistir a través da transmisión en directo. 793 00:38:35,690 --> 00:38:37,210 >> LUCAS FREITAS: Está facendo fluxo de vida agora. 794 00:38:37,210 --> 00:38:41,730 Así, sempre que ten unha condición, que é debería poñer chaves, 795 00:38:41,730 --> 00:38:45,320 así como nós temos en un interruptor declaración aquí. 796 00:38:45,320 --> 00:38:46,750 Temos claves aquí. 797 00:38:46,750 --> 00:38:49,560 Para calquera condicións, está debería tamén poñer isto. 798 00:38:49,560 --> 00:38:50,820 >> Lauren CARBALLO: Vai ver iso na guía de estilo. 799 00:38:50,820 --> 00:38:52,900 Nós realmente non ten o guía de estilo agora. 800 00:38:52,900 --> 00:38:53,930 Eu creo que David aínda funciona. 801 00:38:53,930 --> 00:38:55,100 >> LUCAS FREITAS: El dixo que é só traballar agora. 802 00:38:55,100 --> 00:38:56,120 >> Lauren CARBALLO: Ah, é traballar agora? 803 00:38:56,120 --> 00:38:57,520 Aceptar. 804 00:38:57,520 --> 00:39:02,060 Entón, ao parecer, este ano, o estilo guiar, mesmo se ten só unha liña, 805 00:39:02,060 --> 00:39:06,040 ten que poñer os claves Pol 806 00:39:06,040 --> 00:39:09,480 Non precisa necesariamente ao funcionalidade do programa. 807 00:39:09,480 --> 00:39:12,210 E quizais devêssemos facer unha pausa despois as condicións e ir directo 808 00:39:12,210 --> 00:39:14,620 coa guía de estilo para limpar algunhas destas cousas? 809 00:39:14,620 --> 00:39:15,010 >> LUCAS FREITAS: Yeah. 810 00:39:15,010 --> 00:39:15,775 Ten unha pregunta? 811 00:39:15,775 --> 00:39:17,580 >> Audiencia: Non, eu vou esperar ata a guía de estilo. 812 00:39:17,580 --> 00:39:19,578 >> Audiencia: Podería volver ao operador ternário? 813 00:39:19,578 --> 00:39:23,360 >> Lauren CARBALLO: ternário, si. 814 00:39:23,360 --> 00:39:29,010 >> LUCAS FREITAS: Operador ternário é basicamente unha declaración máis, pero 815 00:39:29,010 --> 00:39:33,590 en vez de ter que as dúas liñas comprobar se un e despois o 816 00:39:33,590 --> 00:39:36,600 outra cousa, só ten unha liña. 817 00:39:36,600 --> 00:39:40,930 Entón, basicamente, se eu queira dar unha cadea un valor de alta ou baixa, e I 818 00:39:40,930 --> 00:39:46,270 quere facer un alto se non for maior que 100 ou abaixo, se é menor, o que podo facer 819 00:39:46,270 --> 00:39:47,730 é este [inaudível] 820 00:39:47,730 --> 00:39:53,060 a corda vai ser, e entón eu preguntar o programa é n maior que 100? 821 00:39:53,060 --> 00:39:55,750 >> Entón é por iso que eu teño esa expresión en parénteses e despois 822 00:39:55,750 --> 00:39:56,580 o punto de interrogação. 823 00:39:56,580 --> 00:39:59,110 Estou pedindo é maior que 100? 824 00:39:59,110 --> 00:40:02,310 Se é, que vai ser alto. 825 00:40:02,310 --> 00:40:03,850 Se non é, será baixa. 826 00:40:03,850 --> 00:40:07,310 >> Entón, basicamente, o que pensas que preguntar unha pregunta, entón pon entre parénteses 827 00:40:07,310 --> 00:40:08,620 a condición. 828 00:40:08,620 --> 00:40:11,160 Entón poñer o punto de interrogación porque está pregunta iso. 829 00:40:11,160 --> 00:40:15,240 E se isto é verdade, que vai ser o primeiro valor [inaudível] aquí. 830 00:40:15,240 --> 00:40:18,176 Se non é, eu vou poñer o valor que é despois dos dous puntos. 831 00:40:18,176 --> 00:40:21,580 Será que ten sentido? 832 00:40:21,580 --> 00:40:24,730 >> É tamén algo que é como un ferramenta en C, pero non ten que 833 00:40:24,730 --> 00:40:25,700 especialmente usalo. 834 00:40:25,700 --> 00:40:29,890 Pero a xente xeralmente quere CS que porque só salva liñas. 835 00:40:29,890 --> 00:40:31,050 >> Lauren CARBALLO: É moi elegante. 836 00:40:31,050 --> 00:40:32,951 Fai moi en só unha declaración. 837 00:40:32,951 --> 00:40:36,077 >> Audiencia: Entón o sinal de porcentaxe é só con independencia dos resultados obtidos en 838 00:40:36,077 --> 00:40:36,799 a liña anterior? 839 00:40:36,799 --> 00:40:38,260 >> Lauren CARBALLO: Oh, eu sinto moito. 840 00:40:38,260 --> 00:40:42,670 Este sinal de porcentaxe é realmente un espazo reservado para este s. 841 00:40:42,670 --> 00:40:46,160 Nunha instrución printf, ten esta corda aquí, que é o que vai 842 00:40:46,160 --> 00:40:48,440 imprimir, pero non pode simplemente poñer iso é alí dentro. 843 00:40:48,440 --> 00:40:50,290 En caso contrario, ía imprimir os s, literalmente. 844 00:40:50,290 --> 00:40:54,070 Entón poñemos un por cento aquí para manter este sitio realizada por calquera 845 00:40:54,070 --> 00:40:57,590 vén despois da coma. 846 00:40:57,590 --> 00:40:59,470 >> Así, por unha corda, ten cento s. 847 00:40:59,470 --> 00:41:00,950 Para un enteiro, por cento i. 848 00:41:00,950 --> 00:41:03,330 Para un float, por cento f. 849 00:41:03,330 --> 00:41:06,960 Vai ver os coma nós ver máis exemplos. 850 00:41:06,960 --> 00:41:09,230 Pero quizais debese falar do guía de estilo para un pouco de tempo, agora 851 00:41:09,230 --> 00:41:10,480 que é superior. 852 00:41:10,480 --> 00:41:21,040 853 00:41:21,040 --> 00:41:24,010 >> LUCAS FREITAS: Se vai para cs50.net/style, vai ver 854 00:41:24,010 --> 00:41:25,760 a guía de estilo. 855 00:41:25,760 --> 00:41:32,420 Para conxuntos de problemas, a súa puntuación para o conxunto de problemas está composto por alcance, 856 00:41:32,420 --> 00:41:35,510 o que basicamente significa que se fixo todo as partes do conxunto de problemas ou se 857 00:41:35,510 --> 00:41:37,170 intentou algo. 858 00:41:37,170 --> 00:41:41,120 A segunda cousa é a corrección, que medios é o seu programa facendo o que 859 00:41:41,120 --> 00:41:44,520 debería estar facendo, ou non ten erros, ou é non facer o que 860 00:41:44,520 --> 00:41:45,620 que se quere facer. 861 00:41:45,620 --> 00:41:51,420 >> A terceira cousa é o deseño, o que significa Está aplicando esta ben, ou son 862 00:41:51,420 --> 00:41:54,520 Está a utilizar declaracións innecesarias? 863 00:41:54,520 --> 00:41:59,400 Así, por exemplo, se quere repetir un número 10 veces, está escribindo un 864 00:41:59,400 --> 00:42:03,040 loop ou está só facendo 10 veces a mesma declaración, só facendo 865 00:42:03,040 --> 00:42:04,060 copiar e pegar. 866 00:42:04,060 --> 00:42:05,760 Así proxecto é para iso. 867 00:42:05,760 --> 00:42:07,420 >> E, finalmente, ten estilo. 868 00:42:07,420 --> 00:42:12,000 Estilo é como xulgar O seu código é 869 00:42:12,000 --> 00:42:14,050 lexible e tipo de bonito. 870 00:42:14,050 --> 00:42:16,520 E só significa basicamente é o seu código lexible? 871 00:42:16,520 --> 00:42:20,560 Será que alguén que estaba á procura son seu código poder entender o que 872 00:42:20,560 --> 00:42:21,250 que está facendo? 873 00:42:21,250 --> 00:42:25,360 Será que ela ten comentarios e así por diante? 874 00:42:25,360 --> 00:42:30,430 >> Imos falar sobre o estilo que debería usar. 875 00:42:30,430 --> 00:42:32,200 O primeiro é comentarios. 876 00:42:32,200 --> 00:42:35,280 Comentarios son moi importantes para a súa código, porque ás veces está facendo 877 00:42:35,280 --> 00:42:38,750 o seu programa, e vostede sabe exactamente o que quere facer así que acaba de comezar 878 00:42:38,750 --> 00:42:43,120 codificación, escriba unha morea de C. Pero se alguén está mirando son vostede 879 00:42:43,120 --> 00:42:47,500 código, eles non van ser capaces de comprende-lo, porque non saben 880 00:42:47,500 --> 00:42:51,420 as cousas que están na súa cabeza, como o pesudocode, quizais por iso eles van 881 00:42:51,420 --> 00:42:53,970 teñen dificultade de entender o que o código está facendo. 882 00:42:53,970 --> 00:42:57,900 >> Así comentarios son realmente útiles para explicar para alguén que está mirando 883 00:42:57,900 --> 00:43:00,880 o seu código o que está facendo, e en realidade, mesmo para ti, 884 00:43:00,880 --> 00:43:01,880 son moi útiles. 885 00:43:01,880 --> 00:43:05,740 Como vai para a Serie de exercicios máis duras e difíciles, vai ver que o código queda 886 00:43:05,740 --> 00:43:10,590 máis longos, e, a continuación, os comentarios son realmente importante para que lembre que cada 887 00:43:10,590 --> 00:43:13,320 parte do seu programa fai. 888 00:43:13,320 --> 00:43:16,920 >> Para poñer un comentario, pode só facer unha slash slash e logo escribir un comentario. 889 00:43:16,920 --> 00:43:21,250 E toda a liña é parte dun comentario, e todo o que escribir, 890 00:43:21,250 --> 00:43:24,550 non vai ser usado para o seu código. 891 00:43:24,550 --> 00:43:27,993 É basicamente como o compilador vai ignorar isto. 892 00:43:27,993 --> 00:43:29,290 Será que isto ten sentido? 893 00:43:29,290 --> 00:43:31,710 >> Audiencia: O que fai de novo para escribir un comentario? 894 00:43:31,710 --> 00:43:33,260 >> LUCAS FREITAS: Este? 895 00:43:33,260 --> 00:43:36,020 A barra barra? 896 00:43:36,020 --> 00:43:39,810 Sempre que escribir barra barra, calquera que sexa é nesa liña non vai 897 00:43:39,810 --> 00:43:42,260 para ser considerado como C. Si? 898 00:43:42,260 --> 00:43:45,910 >> Audiencia: Así, tras o comentario, vostede só entrar e comezar unha nova liña? 899 00:43:45,910 --> 00:43:47,120 >> LUCAS FREITAS: Si, exactamente. 900 00:43:47,120 --> 00:43:50,010 >> Lauren CARBALLO: A barra barra é a comentarios soa liña. 901 00:43:50,010 --> 00:43:52,910 >> LUCAS FREITAS: Por exemplo, aquí temos - 902 00:43:52,910 --> 00:43:54,160 déixeme achegar - 903 00:43:54,160 --> 00:43:56,530 904 00:43:56,530 --> 00:44:01,180 por exemplo, aquí estou declarando unha boia, pero quizais se só poñer este 905 00:44:01,180 --> 00:44:04,980 no seu código, como non ten idea o que iso está facendo, como de feito 906 00:44:04,980 --> 00:44:06,950 alguén que está mirando para este código será, tipo, o que o 907 00:44:06,950 --> 00:44:09,190 diaños está a suceder? 908 00:44:09,190 --> 00:44:12,890 >> Se pór un comentario dicindo que "converter Fahrenheit para Celsius, fai moito 909 00:44:12,890 --> 00:44:13,450 máis sentido. 910 00:44:13,450 --> 00:44:15,480 Vostede é, tipo, OK, está facendo unha conversión. 911 00:44:15,480 --> 00:44:16,730 Será que isto ten sentido? 912 00:44:16,730 --> 00:44:19,860 913 00:44:19,860 --> 00:44:24,960 Polo tanto, é só algo que axuda a xente preparado o seu código e tamén facer 914 00:44:24,960 --> 00:44:28,290 Vostede sería capaz de organizar seu código mellor. 915 00:44:28,290 --> 00:44:33,080 >> A segunda cousa é que podes facer Comentarios de varias liñas, polo que ten un 916 00:44:33,080 --> 00:44:34,850 comentar a un grupo de liñas. 917 00:44:34,850 --> 00:44:38,880 En vez de ter que poñer barra barra, os comentarios de primeira liña, barra barra, 918 00:44:38,880 --> 00:44:43,590 a segunda liña, e así por diante, é pode usar a estrela barra. 919 00:44:43,590 --> 00:44:46,330 O xeito que fai iso é que, ao primeira liña do comentario, está 920 00:44:46,330 --> 00:44:49,650 vai facer unha estrela estrela barra, así sen máis nin menos. 921 00:44:49,650 --> 00:44:56,900 Así como aquí temos o inicio un programa, adoita poñer quen 922 00:44:56,900 --> 00:44:59,530 son, o que este programa fai, e cousas así. 923 00:44:59,530 --> 00:45:01,900 É como unha especie de cabeceira para o programa. 924 00:45:01,900 --> 00:45:04,540 >> Unha vez máis, non é algo que un compilador vai se preocupan, pero 925 00:45:04,540 --> 00:45:07,570 é importante para ti saber o que esta programa fai ou a outras persoas 926 00:45:07,570 --> 00:45:09,960 para saber o que o programa está facendo. 927 00:45:09,960 --> 00:45:17,480 Entón cortar star star, e entón o última liña que vai facer estrela 928 00:45:17,480 --> 00:45:22,250 cortar para poder pechar ese comentario. 929 00:45:22,250 --> 00:45:26,140 Entón, basicamente, para todas as outras liñas, pode só escribir o que quere, e iso 930 00:45:26,140 --> 00:45:27,390 todo vai ser ignorado. 931 00:45:27,390 --> 00:45:32,920 932 00:45:32,920 --> 00:45:37,780 >> E tamén, así como o estilo, ve que cada unha das liñas ten unha estrela, e todos 933 00:45:37,780 --> 00:45:39,380 as estrelas están aliñadas. 934 00:45:39,380 --> 00:45:41,605 Estas son cousas importantes para que o código parece ben. 935 00:45:41,605 --> 00:45:42,855 Parece bo? 936 00:45:42,855 --> 00:45:45,320 937 00:45:45,320 --> 00:45:47,290 >> Agora, as condicións. 938 00:45:47,290 --> 00:45:52,240 Que David estaba dicindo que deberiamos realmente poñer nos diapositivas, é que 939 00:45:52,240 --> 00:45:55,810 cando ten todo tipo de if ou calquera tipo de condicións, 940 00:45:55,810 --> 00:46:00,700 pode usar claves para demostrar que iso é o que ía acontecer 941 00:46:00,700 --> 00:46:02,730 cando ten a condición. 942 00:46:02,730 --> 00:46:07,560 Tecnicamente, cando ten unha condición e, a continuación, a seguinte liña é só un 943 00:46:07,560 --> 00:46:12,110 liña, non ten tecnicamente para poñer as chaves. 944 00:46:12,110 --> 00:46:16,930 >> Basicamente o compilador entendería de calquera xeito, como implícito. 945 00:46:16,930 --> 00:46:21,100 Pero para CS50, pedimos a vostedes para poñer as claves só para que o seu 946 00:46:21,100 --> 00:46:24,560 código é máis organizado e máis lexible. 947 00:46:24,560 --> 00:46:28,200 Por este código está máis tempo se non teñen claves e tal. 948 00:46:28,200 --> 00:46:29,150 Queda realmente confuso. 949 00:46:29,150 --> 00:46:31,410 >> Lauren CARBALLO: Isto é exactamente o que David só destacou 950 00:46:31,410 --> 00:46:33,000 nos meus diapositivas anteriores. 951 00:46:33,000 --> 00:46:36,690 El sempre funciona sen o crespo tirantes, pero por razóns estilísticas 952 00:46:36,690 --> 00:46:38,840 imos pedir que pór aqueles dentro 953 00:46:38,840 --> 00:46:42,400 >> E cando comezar a funcionar style50, que é unha especie de cheque a 50 954 00:46:42,400 --> 00:46:44,860 estilo, ha lembra-lo de facelo. 955 00:46:44,860 --> 00:46:49,710 >> LUCAS FREITAS: E outra cousa é lembre de poñer as claves xunto 956 00:46:49,710 --> 00:46:50,610 en cada liña. 957 00:46:50,610 --> 00:46:52,490 Entón fai, por exemplo, l 's. 958 00:46:52,490 --> 00:46:56,910 Ir á seguinte liña, abra a crespo cinta, despois de ir á seguinte liña. 959 00:46:56,910 --> 00:46:59,560 Retirada, que é catro espazos. 960 00:46:59,560 --> 00:47:03,570 Entón escribe o que quere, a continuación, outra liña, e pechar a bosquexo. 961 00:47:03,570 --> 00:47:06,870 Entón non se esqueza que tanto os cacheados claves están en diferentes liñas. 962 00:47:06,870 --> 00:47:11,548 >> Audiencia: Entón, se este código tiña como 10 else IFS, este debe 963 00:47:11,548 --> 00:47:13,040 ser de 10 conxuntos de soportes? 964 00:47:13,040 --> 00:47:14,610 >> LUCAS FREITAS: Si, para cada un deles. 965 00:47:14,610 --> 00:47:14,930 É. 966 00:47:14,930 --> 00:47:17,980 Así, se, máis se, e así por diante. 967 00:47:17,980 --> 00:47:21,990 >> Audiencia: Pode non prema Tab para recuar? 968 00:47:21,990 --> 00:47:25,350 >> LUCAS FREITAS: Estamos pedindo para ti caras para usar catro espazos. 969 00:47:25,350 --> 00:47:30,060 Algúns editores de texto guía traducir como catro espazos automaticamente. 970 00:47:30,060 --> 00:47:34,850 gedit non acontecer, entón tes que facer espazo espazo espazo espazo. 971 00:47:34,850 --> 00:47:37,920 Isto tamén é algo que algúns programadores só facer guías, algúns 972 00:47:37,920 --> 00:47:40,560 programadores só fan catro espazos, e algunhas outras persoas ata facer 973 00:47:40,560 --> 00:47:41,900 dous ou tres espazos. 974 00:47:41,900 --> 00:47:44,040 É que aquí estamos pedindo vostedes para facer catro espazos. 975 00:47:44,040 --> 00:47:47,556 >> Audiencia: Hai case sempre Ten que ser un camiño para a gedit 976 00:47:47,556 --> 00:47:48,645 automaticamente [inaudível]. 977 00:47:48,645 --> 00:47:50,480 Como non [inaudível] fai iso. 978 00:47:50,480 --> 00:47:51,150 >> LUCAS FREITAS: Yeah. 979 00:47:51,150 --> 00:47:53,165 Eu creo que pode ir a Configuración. 980 00:47:53,165 --> 00:47:55,270 >> Audiencia: Xa fai todo isto. 981 00:47:55,270 --> 00:47:56,410 >> LUCAS FREITAS: Xa fai? 982 00:47:56,410 --> 00:47:56,890 Aceptar. 983 00:47:56,890 --> 00:48:00,854 Entón, só tes que estar seguro de que vostede ten catro espazos. 984 00:48:00,854 --> 00:48:05,880 >> Audiencia: Temos que poñer o crespo soportes en loops tamén? 985 00:48:05,880 --> 00:48:07,470 >> LUCAS FREITAS: Si 986 00:48:07,470 --> 00:48:11,610 >> Lauren CARBALLO: Sempre que o seu encapsulamento dun bloque de código, só 987 00:48:11,610 --> 00:48:13,570 Por favor, use as chaves. 988 00:48:13,570 --> 00:48:18,040 E antes que pense que estamos só sendo sticklers sobre este sen unha boa 989 00:48:18,040 --> 00:48:23,450 razón, se vós non ir para obter etapas de tecnoloxía en grandes empresas, 990 00:48:23,450 --> 00:48:26,020 eles van che dar unha guía de estilo, e eles van che dicir que é o que a súa 991 00:48:26,020 --> 00:48:27,220 código debe ser parecida. 992 00:48:27,220 --> 00:48:31,120 E aínda que aprendeu a un código como este, quizais no seu estadio 993 00:48:31,120 --> 00:48:32,680 vai ter que facer algo completamente diferente. 994 00:48:32,680 --> 00:48:35,115 Eles esperan que conformarse ao seu estilo. 995 00:48:35,115 --> 00:48:39,800 >> LUCAS FREITAS: E unha cousa é que entender como eu teño como x, 996 00:48:39,800 --> 00:48:42,290 espazo, menos espazo, 0? 997 00:48:42,290 --> 00:48:44,640 Sempre que ten un operador - 998 00:48:44,640 --> 00:48:50,490 pode ser como máis, menos, veces, menos, maior, calquera que sexa operador - 999 00:48:50,490 --> 00:48:57,560 ten que poñer un espazo na parte esquerda e á dereita do operador. 1000 00:48:57,560 --> 00:49:00,570 >> Lauren CARBALLO: Estes son chamados operandos binarios. 1001 00:49:00,570 --> 00:49:03,720 Só asegúrese sempre espazo os operandos binarios. 1002 00:49:03,720 --> 00:49:05,465 >> LUCAS FREITAS: Este é non un operando binario. 1003 00:49:05,465 --> 00:49:07,010 >> Lauren CARBALLO: Isto é porque hai que dous. 1004 00:49:07,010 --> 00:49:08,260 >> LUCAS FREITAS: Ah, si. 1005 00:49:08,260 --> 00:49:13,340 1006 00:49:13,340 --> 00:49:14,590 >> OK, os switches. 1007 00:49:14,590 --> 00:49:18,180 1008 00:49:18,180 --> 00:49:23,390 En primeiro lugar, ten que ver que, así como nunha instrución, ou entón, ten 1009 00:49:23,390 --> 00:49:28,280 para poñer a bosquexo na súa propia liña e baixo a bosquexo aquí. 1010 00:49:28,280 --> 00:49:32,240 Nótese que existe un único espazo tras a conexión, así como en if e else 1011 00:49:32,240 --> 00:49:35,360 tivemos un único espazo entre iso e os parénteses. 1012 00:49:35,360 --> 00:49:36,610 Entón, ten que poñer isto. 1013 00:49:36,610 --> 00:49:40,380 1014 00:49:40,380 --> 00:49:48,270 >> E non hai espazo para a dereita despois de cada dos parénteses ou antes de fin 1015 00:49:48,270 --> 00:49:49,080 dos parénteses. 1016 00:49:49,080 --> 00:49:52,612 Entón ve que é todo en conxunto, e tamén me gusta aquí. 1017 00:49:52,612 --> 00:49:53,940 >> Si? 1018 00:49:53,940 --> 00:49:58,040 >> Lauren CARBALLO: Eu creo que necesitamos seguir adiante. 1019 00:49:58,040 --> 00:50:02,340 >> LUCAS FREITAS: Entón, iso forma parte do guía de estilo que ten para CS50. 1020 00:50:02,340 --> 00:50:06,520 Asegúrese de ir cs50.net/style e dar un ollo niso. 1021 00:50:06,520 --> 00:50:09,250 Estes son todos moi importantes á súa puntuación estilo. 1022 00:50:09,250 --> 00:50:12,740 1023 00:50:12,740 --> 00:50:15,670 >> Déixeme voltar o comunicado. 1024 00:50:15,670 --> 00:50:17,070 >> Lauren CARBALLO: Prefiro non necesitará empregar style50. 1025 00:50:17,070 --> 00:50:18,920 Nós só estamos indo a ir directo para lazos. 1026 00:50:18,920 --> 00:50:27,580 1027 00:50:27,580 --> 00:50:28,300 Todo ben. 1028 00:50:28,300 --> 00:50:33,720 >> Entón, imos volver ao contido, agora que pasamos ao longo da guía de estilo. 1029 00:50:33,720 --> 00:50:37,220 Loops, xa viu a eles en risco, e imos falar sobre eles en 1030 00:50:37,220 --> 00:50:39,210 C. 1031 00:50:39,210 --> 00:50:44,400 >> En un loop for, hai tres porcións á 1032 00:50:44,400 --> 00:50:45,440 declaración deste loop. 1033 00:50:45,440 --> 00:50:49,040 Ten a súa inicialización en que configurar as variábeis. 1034 00:50:49,040 --> 00:50:52,160 Ten a súa condición, que son verificación para ver se algo é 1035 00:50:52,160 --> 00:50:54,670 verdadeiro ou falso e se a loop debe continuar. 1036 00:50:54,670 --> 00:50:59,390 E ten a súa actualización, o que está a actualizar as súas variables. 1037 00:50:59,390 --> 00:51:05,310 >> Imos dar unha rápida ollo a algunhas Código C desta loop for en acción. 1038 00:51:05,310 --> 00:51:08,860 O que está pasando é aquí no inicialización, estamos definindo i para 0. 1039 00:51:08,860 --> 00:51:11,820 Na condición estamos comprobando i é inferior a 10. 1040 00:51:11,820 --> 00:51:14,982 E na actualización estamos incrementando i. 1041 00:51:14,982 --> 00:51:20,490 Entón, o que pode producir de ese loop? 1042 00:51:20,490 --> 00:51:24,344 >> LUCAS Freitas: En realidade, antes de todo, Vostedes saben o que eu + + é? 1043 00:51:24,344 --> 00:51:25,850 >> Audiencia: Aumento en 1. 1044 00:51:25,850 --> 00:51:26,870 >> LUCAS FREITAS: Aumento de 1, si. 1045 00:51:26,870 --> 00:51:30,020 Polo tanto, esta é a mesma cousa que facendo i é igual a i + 1. 1046 00:51:30,020 --> 00:51:35,890 E teña en conta que non temos un espazo entre o eu eo + +. 1047 00:51:35,890 --> 00:51:37,600 >> Entón, vostedes saben o que iso vai facer? 1048 00:51:37,600 --> 00:51:39,060 Alguén me pode dicir? 1049 00:51:39,060 --> 00:51:41,463 E quizais conseguir algúns doces por causa diso? 1050 00:51:41,463 --> 00:51:42,912 >> Audiencia: [inaudível] 1051 00:51:42,912 --> 00:51:44,850 >> LUCAS FREITAS: Aceptar. 1052 00:51:44,850 --> 00:51:45,400 [Inaudível] 1053 00:51:45,400 --> 00:51:47,450 todo o mundo amosar máis tarde [inaudível]. 1054 00:51:47,450 --> 00:51:49,565 Si, que vai mostrar "Este CS50 é "10 veces. 1055 00:51:49,565 --> 00:51:52,150 >> Lauren CARBALLO: Coido que foi no título do foto. 1056 00:51:52,150 --> 00:51:53,830 >> LUCAS FREITAS: Ah, si. 1057 00:51:53,830 --> 00:51:54,670 >> [Risas] 1058 00:51:54,670 --> 00:51:56,790 >> LUCAS FREITAS: Isto axuda. 1059 00:51:56,790 --> 00:51:58,370 >> Lauren CARBALLO: Entón, estas son para loops. 1060 00:51:58,370 --> 00:52:03,200 Nós imos ver algúns exemplos de loops máis tarde. 1061 00:52:03,200 --> 00:52:06,510 Pero imos realmente ter un ollar para o segundo tipo de circuíto que vai atopar 1062 00:52:06,510 --> 00:52:08,920 en C, e chámase o loop while. 1063 00:52:08,920 --> 00:52:11,120 >> En un loop while, ten só teño unha condición. 1064 00:52:11,120 --> 00:52:14,790 A condición é revisada no comezando, e se esa condición 1065 00:52:14,790 --> 00:52:18,450 valorada como certa, entón o código dentro o corpo do bloque, mentres 1066 00:52:18,450 --> 00:52:20,380 se levará a cabo. 1067 00:52:20,380 --> 00:52:23,000 E o código seguirá realizar, mentres que 1068 00:52:23,000 --> 00:52:24,450 condición permanecer verdadeira. 1069 00:52:24,450 --> 00:52:28,350 1070 00:52:28,350 --> 00:52:33,320 >> Aquí está un exemplo dun loop while en C. Imos establecer a conta de 10 a 1071 00:52:33,320 --> 00:52:34,580 comezar. 1072 00:52:34,580 --> 00:52:41,800 Mentres a conta sexa maior que 0, imos continuar a imprimir este 1073 00:52:41,800 --> 00:52:43,360 variable aquí. 1074 00:52:43,360 --> 00:52:47,080 Nós imos diminuír conta e a continuación, comprobar de novo a condición. 1075 00:52:47,080 --> 00:52:51,370 Imprimir, decremento, cheque a condición de novo. 1076 00:52:51,370 --> 00:52:54,530 >> Aquí temos un exemplo que se refire a súa pregunta anterior. 1077 00:52:54,530 --> 00:52:57,340 Tivemos a porcentaxe s cando estabamos imprimir unha cadea, e agora que 1078 00:52:57,340 --> 00:53:03,420 estamos imprimindo un int, temos un por cento i como o noso espazo reservado no seu lugar. 1079 00:53:03,420 --> 00:53:09,250 As cartas deben ser todos bastante intuitivo, é para a corda, eu para int. 1080 00:53:09,250 --> 00:53:15,400 >> Polo tanto, se este código é executado, debe conta atrás 10-0, imprimindo 1081 00:53:15,400 --> 00:53:15,925 cada enteiro. 1082 00:53:15,925 --> 00:53:19,460 >> LUCAS FREITAS: E pode pensar no por cento, xa que se sente como un espazo en branco 1083 00:53:19,460 --> 00:53:23,960 espazo, e, a continuación, está poñendo este aquí variable en que o espazo en branco. 1084 00:53:23,960 --> 00:53:27,640 Así, por exemplo, aquí vou ter só un espazo en branco, e entón eu estou poñendo o 1085 00:53:27,640 --> 00:53:30,262 contar alí mesmo, o valor da conta. 1086 00:53:30,262 --> 00:53:32,710 Será que isto ten sentido? 1087 00:53:32,710 --> 00:53:35,860 >> Podería só facer como printf e logo, cita, contan? 1088 00:53:35,860 --> 00:53:36,840 Será que isto funciona? 1089 00:53:36,840 --> 00:53:37,980 >> Audiencia: Non 1090 00:53:37,980 --> 00:53:41,190 >> LUCAS FREITAS: Non, porque vai realmente imprimir a palabra "contar" 1091 00:53:41,190 --> 00:53:42,850 en vez de imprimir o valor. 1092 00:53:42,850 --> 00:53:46,080 Isto é como fai imprimir os valores á variable no canto de 1093 00:53:46,080 --> 00:53:47,670 só o nome da variable. 1094 00:53:47,670 --> 00:53:48,530 Algunha pregunta? 1095 00:53:48,530 --> 00:53:53,060 >> Audiencia: Por que usa para como unha oposición ao tempo? 1096 00:53:53,060 --> 00:53:56,130 >> Lauren CARBALLO: Eu usaría un para loop se eu sei exactamente cantos 1097 00:53:56,130 --> 00:53:59,520 iteracións que quero o meu loop para realizar. 1098 00:53:59,520 --> 00:54:02,810 Neste caso, non importa, porque, É dicir, eu estaba só tentando 1099 00:54:02,810 --> 00:54:05,310 pensar nun realmente sinxelo exemplo a este foto. 1100 00:54:05,310 --> 00:54:09,990 Pero imos dicir que quere algo manter-se ir - 1101 00:54:09,990 --> 00:54:14,480 >> LUCAS FREITAS: Por exemplo, se está solicitando a entrada ata que a persoa 1102 00:54:14,480 --> 00:54:15,370 dálle a entrada á dereita. 1103 00:54:15,370 --> 00:54:19,720 Así como cando a entrada non é OK, sigo a preguntar a el. 1104 00:54:19,720 --> 00:54:22,920 Ou como cando está pais non dan diñeiro, sigo a preguntar a el. 1105 00:54:22,920 --> 00:54:23,430 >> [Risas] 1106 00:54:23,430 --> 00:54:25,390 >> Lauren CARBALLO: Non sabe como moitas veces vai ter que facelo. 1107 00:54:25,390 --> 00:54:27,292 >> LUCAS FREITAS: Porque non fai sei cantas veces iso é 1108 00:54:27,292 --> 00:54:28,010 continuará. 1109 00:54:28,010 --> 00:54:30,397 >> Lauren CARBALLO: Pero en un loop for, ten que saber cantas veces. 1110 00:54:30,397 --> 00:54:33,640 1111 00:54:33,640 --> 00:54:33,860 Si? 1112 00:54:33,860 --> 00:54:38,520 >> Audiencia: Só para aclarar, a porcentaxe di que iso é algo sobre a 1113 00:54:38,520 --> 00:54:42,415 pasar, nos is ao número enteiro, ea barra invertida n - 1114 00:54:42,415 --> 00:54:43,910 >> Lauren CARBALLO: Medios? 1115 00:54:43,910 --> 00:54:45,820 Quen sabe o que a barra invertida n significa? 1116 00:54:45,820 --> 00:54:47,770 Nova liña, si. 1117 00:54:47,770 --> 00:54:48,130 Exactamente. 1118 00:54:48,130 --> 00:54:50,500 >> LUCAS FREITAS: Pode pensar de n como nova liña. 1119 00:54:50,500 --> 00:54:52,258 >> Lauren CARBALLO: Nice. 1120 00:54:52,258 --> 00:54:55,775 >> Audiencia: Que a conta trazo trazo [inaudível]? 1121 00:54:55,775 --> 00:55:00,240 >> LUCAS FREITAS: Conta menos negativo é o mesmo que plus plus, pero 1122 00:55:00,240 --> 00:55:02,160 no canto de aumentar, está diminuíndo en 1. 1123 00:55:02,160 --> 00:55:04,720 1124 00:55:04,720 --> 00:55:07,185 >> Lauren CARBALLO: Calquera máis mentres cuestións de loop? 1125 00:55:07,185 --> 00:55:09,460 Non? 1126 00:55:09,460 --> 00:55:13,910 Oh, nós deberiamos ter ignorado iso. 1127 00:55:13,910 --> 00:55:14,950 >> Este é un do loop while. 1128 00:55:14,950 --> 00:55:18,950 Moi semellante a un loop while, excepto en Neste caso, comproba a condición despois 1129 00:55:18,950 --> 00:55:23,430 o código no corpo do loop execútase unha vez. 1130 00:55:23,430 --> 00:55:27,170 Por iso, executar o código primeiro, non importa o que. 1131 00:55:27,170 --> 00:55:31,956 Entón, comproba o estado, executa de novo se a condición é verdadeira. 1132 00:55:31,956 --> 00:55:35,450 1133 00:55:35,450 --> 00:55:38,950 >> Vai atopar-se con iso cando está pedindo a entrada do usuario. 1134 00:55:38,950 --> 00:55:42,080 Porque sempre terá que preguntar unha vez máis, e logo, dependendo do que 1135 00:55:42,080 --> 00:55:46,570 a entrada do usuario é, pode ter que Reprompt e preguntar de novo e de novo se 1136 00:55:46,570 --> 00:55:50,670 a entrada non era o que esperaba que fose. 1137 00:55:50,670 --> 00:55:53,610 >> Audiencia: Entón, é como unha forma para a xente a cubrir. 1138 00:55:53,610 --> 00:55:56,010 >> Lauren CARBALLO: Si, exactamente. 1139 00:55:56,010 --> 00:55:59,720 Vai atopar, creo eu, na súa primeira Pset, vai ter que 1140 00:55:59,720 --> 00:56:04,010 usar un loop facer ben para recoller entrada do usuario. 1141 00:56:04,010 --> 00:56:08,728 >> Audiencia: En función da situación, seus loops, mentres tenden a executar máis 1142 00:56:08,728 --> 00:56:12,805 veces que mentres loops, como por unha ou outra cousa? 1143 00:56:12,805 --> 00:56:14,080 >> Lauren CARBALLO: Se é o exacto - 1144 00:56:14,080 --> 00:56:17,400 >> LUCAS FREITAS: Deben sempre ser executado a cantidade exacta de veces que 1145 00:56:17,400 --> 00:56:19,130 quero que sexa executado. 1146 00:56:19,130 --> 00:56:23,860 Como usan facer agora, porque realmente quería ter a entrada de polo menos unha vez. 1147 00:56:23,860 --> 00:56:27,220 En loops tempo, ás veces non quere para executa-lo en todo, se non é 1148 00:56:27,220 --> 00:56:28,540 o caso de executar. 1149 00:56:28,540 --> 00:56:31,300 Por iso, depende do proxecto. 1150 00:56:31,300 --> 00:56:35,900 Quero dicir, pode facer mentres uso ou mentres que o tempo que o seu código o fai 1151 00:56:35,900 --> 00:56:36,905 que se quere facer. 1152 00:56:36,905 --> 00:56:38,470 >> Lauren CARBALLO: Pero fago creo que a resposta á súa 1153 00:56:38,470 --> 00:56:40,540 pregunta é probablemente si. 1154 00:56:40,540 --> 00:56:42,190 Imos dicir que a condición era falsa. 1155 00:56:42,190 --> 00:56:45,498 Nun caso, sería executado unha vez, e noutro caso sería executado cero veces. 1156 00:56:45,498 --> 00:56:47,370 Entón, si. 1157 00:56:47,370 --> 00:56:49,260 >> Máis algunha pregunta? 1158 00:56:49,260 --> 00:56:50,320 Si? 1159 00:56:50,320 --> 00:56:56,443 >> Audiencia: Pode a condición de ser un lazo loop for en termos de outra variábel 1160 00:56:56,443 --> 00:56:57,385 que [inaudível]. 1161 00:56:57,385 --> 00:57:01,700 >> Lauren CARBALLO: Si, pode ser calquera cousa. 1162 00:57:01,700 --> 00:57:06,420 Probablemente para as Serie de exercicios comezo, non terá que atopar este caso, pero 1163 00:57:06,420 --> 00:57:09,878 definitivamente pode ser calquera cousa. 1164 00:57:09,878 --> 00:57:12,680 >> LUCAS FREITAS: Eu creo que estamos facendo aquí. 1165 00:57:12,680 --> 00:57:13,290 >> Lauren CARBALLO: somos? 1166 00:57:13,290 --> 00:57:13,480 Non? 1167 00:57:13,480 --> 00:57:13,870 >> LUCAS FREITAS: Loops? 1168 00:57:13,870 --> 00:57:14,600 É. 1169 00:57:14,600 --> 00:57:16,280 >> Lauren CARBALLO: Non debemos ser. 1170 00:57:16,280 --> 00:57:17,760 Oh, estamos a facer con loops. 1171 00:57:17,760 --> 00:57:19,250 Aceptar. 1172 00:57:19,250 --> 00:57:23,180 >> De feito, xa temos falado tan moito, imos de feito todo navegar 1173 00:57:23,180 --> 00:57:28,950 sobre a study.cs50.net/conditions. 1174 00:57:28,950 --> 00:57:34,460 E está indo para navegar abaixo aos problemas widgets. 1175 00:57:34,460 --> 00:57:39,090 Ben, en realidade, mentres que a xente está quedando esta configuración, o Estudo CS50 é 1176 00:57:39,090 --> 00:57:42,620 vai ser unha ferramenta que os seus TFS vontade utilizar para prepararse para as seccións e que 1177 00:57:42,620 --> 00:57:45,230 Podedes usar se perder seccións. 1178 00:57:45,230 --> 00:57:48,980 Vai ter unha morea de diapositivas, algúns consellos e trucos para cada 1179 00:57:48,980 --> 00:57:54,030 tema, e algúns problemas prácticos con solucións. 1180 00:57:54,030 --> 00:57:57,200 >> Por que non todo o mundo pode dar un ollo a este problema aquí. 1181 00:57:57,200 --> 00:58:01,630 1182 00:58:01,630 --> 00:58:04,790 >> Me desculpe, eu debería lembrar persoas para levar portátiles hoxe. 1183 00:58:04,790 --> 00:58:07,050 Pero se non ten un portátil, iso é OK. 1184 00:58:07,050 --> 00:58:10,140 Pode só anotar isto para abaixo nunha anaco de papel ou mirar por riba 1185 00:58:10,140 --> 00:58:12,890 o ombreiro do seu veciño. 1186 00:58:12,890 --> 00:58:16,380 >> Imos tentar escribir un programa que solicita ao usuario para dar un palpite, o 1187 00:58:16,380 --> 00:58:19,250 número medio de fillos por familia unidade nos Estados Unidos. 1188 00:58:19,250 --> 00:58:22,265 Ese número é 2, a propósito, como pode ver a partir destes exemplos. 1189 00:58:22,265 --> 00:58:24,770 1190 00:58:24,770 --> 00:58:29,030 >> Queremos imprimir número medio de fillos por familia en Estados Unidos, entón nós 1191 00:58:29,030 --> 00:58:31,080 quere o que? 1192 00:58:31,080 --> 00:58:35,480 Queremos recoller entrada desde o sitio web. 1193 00:58:35,480 --> 00:58:41,290 E, a continuación, dependendo do que o usuario de entrada, está indo para imprimir 1194 00:58:41,290 --> 00:58:44,850 ou iso é correcto ou iso é incorrecto. 1195 00:58:44,850 --> 00:58:48,040 >> E o primeiro que vai Mira, se fai clic na pequena frecha no 1196 00:58:48,040 --> 00:58:52,190 a parte inferior da ferramenta é un problema lugar para anotar algúns pseudocódigo. 1197 00:58:52,190 --> 00:58:53,340 Entón non está programando aínda. 1198 00:58:53,340 --> 00:58:56,740 Só está a recibir o seu ideas en orde. 1199 00:58:56,740 --> 00:58:59,620 >> Alguén quere axudar Lucas veña co dereito 1200 00:58:59,620 --> 00:59:01,270 pseudocódigo a este problema? 1201 00:59:01,270 --> 00:59:04,900 >> LUCAS FREITAS: Cal é o primeiro que probablemente debe facer aquí? 1202 00:59:04,900 --> 00:59:07,010 O que vostedes pensan? 1203 00:59:07,010 --> 00:59:08,260 >> Audiencia: [inaudível] 1204 00:59:08,260 --> 00:59:12,060 1205 00:59:12,060 --> 00:59:13,290 >> LUCAS FREITAS: Si, OK. 1206 00:59:13,290 --> 00:59:16,610 Entón, de impresión. 1207 00:59:16,610 --> 00:59:19,480 Só ten que dicir a impresión que esta media número de persoas? 1208 00:59:19,480 --> 00:59:20,470 Aceptar. 1209 00:59:20,470 --> 00:59:23,450 Imprimir pregunta, imos dicir. 1210 00:59:23,450 --> 00:59:25,951 Despois de imprimir a esta pregunta, o que debo facer? 1211 00:59:25,951 --> 00:59:27,875 >> Audiencia: Obter entrada. 1212 00:59:27,875 --> 00:59:30,690 >> LUCAS FREITAS: Obter entrada. 1213 00:59:30,690 --> 00:59:32,864 Algo máis? 1214 00:59:32,864 --> 00:59:34,114 >> Audiencia: Condition. 1215 00:59:34,114 --> 00:59:36,770 1216 00:59:36,770 --> 00:59:38,980 >> LUCAS FREITAS: Condition. 1217 00:59:38,980 --> 00:59:41,325 >> Lauren CARBALLO: Que condición será? 1218 00:59:41,325 --> 00:59:43,550 >> Audiencia: Número de [inaudível]. 1219 00:59:43,550 --> 00:59:44,440 >> Lauren CARBALLO: Certo. 1220 00:59:44,440 --> 00:59:46,945 >> LUCAS FREITAS: Entón que é o que eu vou facturar a condición? 1221 00:59:46,945 --> 00:59:48,750 >> Audiencia: Se é igual a 2. 1222 00:59:48,750 --> 00:59:50,640 >> Lauren CARBALLO: Se é igual a 2. 1223 00:59:50,640 --> 00:59:51,890 Exactamente. 1224 00:59:51,890 --> 00:59:58,340 1225 00:59:58,340 --> 01:00:00,140 >> LUCAS FREITAS: Hai algo de outra cousa que eu debería facer? 1226 01:00:00,140 --> 01:00:01,390 >> Audiencia: Conta. 1227 01:00:01,390 --> 01:00:05,184 1228 01:00:05,184 --> 01:00:08,110 >> LUCAS FREITAS: Entón, se é igual a 2, digamos - 1229 01:00:08,110 --> 01:00:14,250 1230 01:00:14,250 --> 01:00:17,960 deixe-me escribir a entrada é igual a a 2, entón o que eu vou 1231 01:00:17,960 --> 01:00:23,665 facer é imprimir correcta. 1232 01:00:23,665 --> 01:00:26,230 1233 01:00:26,230 --> 01:00:31,826 E despois o resto, eu vou para imprimir incorrecta. 1234 01:00:31,826 --> 01:00:34,600 1235 01:00:34,600 --> 01:00:37,720 Algo máis? 1236 01:00:37,720 --> 01:00:38,670 Non? 1237 01:00:38,670 --> 01:00:40,500 >> Lauren CARBALLO: Entón pode premer no - 1238 01:00:40,500 --> 01:00:42,290 que todo o mundo ten ese baixo? 1239 01:00:42,290 --> 01:00:44,680 >> LUCAS FREITAS: Será que ten sentido? 1240 01:00:44,680 --> 01:00:46,226 Entón, agora imos tratar este código. 1241 01:00:46,226 --> 01:00:50,140 >> Lauren CARBALLO: Se fai clic no pouco frecha, realmente salva seu 1242 01:00:50,140 --> 01:00:51,900 pseudocódigo, que é realmente emocionante. 1243 01:00:51,900 --> 01:00:56,480 E pode facer os comentarios en si quere só para lembrar de 1244 01:00:56,480 --> 01:00:57,075 o que facer. 1245 01:00:57,075 --> 01:01:01,555 >> LUCAS FREITAS: Entón, por exemplo, primeiro Vou imprimir a pregunta, entón 1246 01:01:01,555 --> 01:01:05,930 como é que eu vou facer iso, en realidade? 1247 01:01:05,930 --> 01:01:07,050 printf. 1248 01:01:07,050 --> 01:01:12,130 Entón printf, ea cuestión é media número de fillos por 1249 01:01:12,130 --> 01:01:14,110 familia en Estados Unidos. 1250 01:01:14,110 --> 01:01:19,070 1251 01:01:19,070 --> 01:01:21,790 >> Entón eu vou ir entrada do usuario. 1252 01:01:21,790 --> 01:01:29,050 1253 01:01:29,050 --> 01:01:31,324 Entón, como podo facelo? 1254 01:01:31,324 --> 01:01:32,200 >> Audiencia: Obter Int 1255 01:01:32,200 --> 01:01:33,076 >> Lauren CARBALLO: GetInt. 1256 01:01:33,076 --> 01:01:33,890 >> LUCAS FREITAS: Aceptar. 1257 01:01:33,890 --> 01:01:35,220 Entón, primeiro declarar, non? 1258 01:01:35,220 --> 01:01:39,300 int, imos chamalo n é igual a GetInt. 1259 01:01:39,300 --> 01:01:42,610 1260 01:01:42,610 --> 01:01:44,670 >> E agora a condición. 1261 01:01:44,670 --> 01:01:49,250 Entón deixe-me dicir que eu vou para acá resposta cheque. 1262 01:01:49,250 --> 01:01:57,290 Entón, en primeiro lugar, a entrada, que é N, coincide a - como é que eu vou escribir isto? 1263 01:01:57,290 --> 01:01:58,480 >> Audiencia: Igual igual. 1264 01:01:58,480 --> 01:02:00,000 >> LUCAS FREITAS: Perfecto. 1265 01:02:00,000 --> 01:02:00,670 Entón n. 1266 01:02:00,670 --> 01:02:04,600 E teña en conta que eu fago un espazo, é igual, é igual, o espazo, é verdade. 1267 01:02:04,600 --> 01:02:06,930 E agora o que debo facer? 1268 01:02:06,930 --> 01:02:08,820 Algo moi importante para o estilo. 1269 01:02:08,820 --> 01:02:10,070 As chaves. 1270 01:02:10,070 --> 01:02:16,570 1271 01:02:16,570 --> 01:02:17,795 >> E entón eu vou imprimir. 1272 01:02:17,795 --> 01:02:19,790 ¿Como imprimir? 1273 01:02:19,790 --> 01:02:22,500 printf. 1274 01:02:22,500 --> 01:02:24,568 >> Audiencia: Podería ser capitalizados? 1275 01:02:24,568 --> 01:02:27,166 1276 01:02:27,166 --> 01:02:28,380 >> LUCAS FREITAS: Non 1277 01:02:28,380 --> 01:02:31,000 É suposto estar en minúsculas. 1278 01:02:31,000 --> 01:02:32,250 Entón, iso é correcto. 1279 01:02:32,250 --> 01:02:40,990 1280 01:02:40,990 --> 01:02:44,870 >> Será que isto é suficiente para o printf declaración, ou que estou falta algo? 1281 01:02:44,870 --> 01:02:46,265 >> Audiencia: Nova liña. 1282 01:02:46,265 --> 01:02:50,220 >> LUCAS FREITAS: Nova liña, si. 1283 01:02:50,220 --> 01:02:51,250 E agora outra cousa. 1284 01:02:51,250 --> 01:02:57,290 >> Audiencia: Hai un espazo tras o printf, ou non? 1285 01:02:57,290 --> 01:03:00,820 >> Lauren CARBALLO: Debemos comprobar a guía de estilo. 1286 01:03:00,820 --> 01:03:02,260 >> Audiencia: Non debe ser. 1287 01:03:02,260 --> 01:03:03,510 >> LUCAS FREITAS: Non debe ser, Aceptar. 1288 01:03:03,510 --> 01:03:05,820 1289 01:03:05,820 --> 01:03:13,605 Entón, o resto, printf, "Iso non é correcto." 1290 01:03:13,605 --> 01:03:17,105 >> Lauren CARBALLO: Oops, as súas citas. 1291 01:03:17,105 --> 01:03:17,950 >> LUCAS FREITAS: Aceptar. 1292 01:03:17,950 --> 01:03:18,600 Algo máis? 1293 01:03:18,600 --> 01:03:20,770 Será que unha boa aparencia? 1294 01:03:20,770 --> 01:03:21,890 >> Lauren CARBALLO: Imos tentar? 1295 01:03:21,890 --> 01:03:23,190 >> LUCAS FREITAS: Si, imos executalo. 1296 01:03:23,190 --> 01:03:25,880 1297 01:03:25,880 --> 01:03:29,070 Polo tanto, é a compilación, e Parece que funciona. 1298 01:03:29,070 --> 01:03:31,465 Intentaremos dous fillos. 1299 01:03:31,465 --> 01:03:34,110 Isto é correcto. 1300 01:03:34,110 --> 01:03:37,300 E agora imos realizar de novo, pero agora, en vez de poñer dous nenos, imos 1301 01:03:37,300 --> 01:03:40,990 dicir que eu vou poñer como cinco. 1302 01:03:40,990 --> 01:03:41,515 Isto é incorrecto. 1303 01:03:41,515 --> 01:03:42,670 Así, parece que funciona. 1304 01:03:42,670 --> 01:03:44,160 >> Lauren CARBALLO: Por que non amosar-lles o que pasa se pór algo 1305 01:03:44,160 --> 01:03:45,055 raro, como algunhas letras. 1306 01:03:45,055 --> 01:03:45,790 >> LUCAS FREITAS: Ah, si. 1307 01:03:45,790 --> 01:03:47,430 Imos tamén comprobar iso. 1308 01:03:47,430 --> 01:03:51,170 E se o usuario está intentando desorde co seu programa, e eles só 1309 01:03:51,170 --> 01:03:57,430 escribir, eu non sei dous. 1310 01:03:57,430 --> 01:03:58,320 Vai dicir repetición. 1311 01:03:58,320 --> 01:04:00,780 >> Lauren CARBALLO: Entón GetInt está pedindo-lles para tentar de novo. 1312 01:04:00,780 --> 01:04:02,115 Nós non temos que coidar do que nós mesmos. 1313 01:04:02,115 --> 01:04:02,750 >> LUCAS FREITAS: Yeah. 1314 01:04:02,750 --> 01:04:06,853 Entón, a menos que realmente poñer un número, é continuará me pedindo para tentar de novo. 1315 01:04:06,853 --> 01:04:08,330 >> Audiencia: Como se executa-lo? 1316 01:04:08,330 --> 01:04:10,570 >> LUCAS FREITAS: Só ten que premer este botón estrela. 1317 01:04:10,570 --> 01:04:11,940 >> Lauren CARBALLO: Debe subir. 1318 01:04:11,940 --> 01:04:13,320 Alí vai. 1319 01:04:13,320 --> 01:04:15,550 >> LUCAS FREITAS: A estrela botón dereito alí. 1320 01:04:15,550 --> 01:04:16,040 Si? 1321 01:04:16,040 --> 01:04:19,960 >> Audiencia: Será que pedir [inaudível] con números decimais tamén? 1322 01:04:19,960 --> 01:04:21,235 >> Lauren CARBALLO: Eu creo que si. 1323 01:04:21,235 --> 01:04:22,660 >> LUCAS FREITAS: Se fai o que? 1324 01:04:22,660 --> 01:04:24,990 >> Lauren CARBALLO: No caso de que tipo nun número decimal, creo 1325 01:04:24,990 --> 01:04:25,880 vai pedir. 1326 01:04:25,880 --> 01:04:26,586 >> LUCAS FREITAS: Imos ver. 1327 01:04:26,586 --> 01:04:28,360 >> Lauren CARBALLO: Por non é un int. 1328 01:04:28,360 --> 01:04:32,056 1329 01:04:32,056 --> 01:04:33,442 >> LUCAS FREITAS: Yeah. 1330 01:04:33,442 --> 01:04:37,370 >> Lauren CARBALLO: Entón, non é un int, Sexa Int ha pedirte para tentar de novo. 1331 01:04:37,370 --> 01:04:40,795 >> Audiencia: Entón, onde ese código sería a casa decimal que solicita ao 1332 01:04:40,795 --> 01:04:46,005 usuario que ten que entrar un enteiro especialmente? 1333 01:04:46,005 --> 01:04:48,480 >> Lauren CARBALLO: GetInt é realmente facendo iso para nós. 1334 01:04:48,480 --> 01:04:50,600 >> Audiencia: Non, quero dicir, se quixésemos para entrar [inaudível] 1335 01:04:50,600 --> 01:04:55,070 >> LUCAS FREITAS: Pode dicir como media número de nenos en Estados Unidos. 1336 01:04:55,070 --> 01:04:56,120 Eu non sei. 1337 01:04:56,120 --> 01:05:01,761 Podemos dicir, por exemplo, "Por favor, introducir un número enteiro. " 1338 01:05:01,761 --> 01:05:04,270 >> Lauren CARBALLO: Un enteiro igual ao número medio. 1339 01:05:04,270 --> 01:05:06,190 Quero dicir, é só como vostede palabra, non? 1340 01:05:06,190 --> 01:05:06,520 >> LUCAS FREITAS: Yeah. 1341 01:05:06,520 --> 01:05:08,420 Non forma parte de codificación, en realidade. 1342 01:05:08,420 --> 01:05:11,000 É máis como todo o que vai querer 1343 01:05:11,000 --> 01:05:13,987 escribir no seu programa. 1344 01:05:13,987 --> 01:05:17,723 >> Audiencia: Como teriamos executa-lo se estaba realmente en gedit [inaudível]. 1345 01:05:17,723 --> 01:05:19,130 No canto de premer o xogo? 1346 01:05:19,130 --> 01:05:21,180 >> LUCAS FREITAS: Imos primeiro compilalo. 1347 01:05:21,180 --> 01:05:25,080 Podemos facelo, facendo make eo nome do ficheiro. 1348 01:05:25,080 --> 01:05:29,896 E, a continuación, executa-lo, imos facer corte de punto e nome do programa. 1349 01:05:29,896 --> 01:05:36,588 >> Audiencia: Eu creo que o que eu quería dicir foi se queriamos que o programa para responder a 1350 01:05:36,588 --> 01:05:42,010 seu, entrada inválida incorrecta, non debe poñer en - 1351 01:05:42,010 --> 01:05:45,710 >> LUCAS FREITAS: Non poderá facelo porque o código esta di 1352 01:05:45,710 --> 01:05:50,350 repetir trata Get Int, que é un función que xa é aplicado 1353 01:05:50,350 --> 01:05:55,790 para nós a través da biblioteca CS50, e desde xa está implantado alí, nós 1354 01:05:55,790 --> 01:05:58,340 non pode simplemente [inaudível]. 1355 01:05:58,340 --> 01:06:00,780 >> Lauren CARBALLO: Se non usar GetInt, entón podes facelo. 1356 01:06:00,780 --> 01:06:01,490 >> LUCAS FREITAS: Yeah. 1357 01:06:01,490 --> 01:06:03,750 Pero se está a usar GetInt, non pode. 1358 01:06:03,750 --> 01:06:05,427 Algunha pregunta? 1359 01:06:05,427 --> 01:06:12,938 >> Audiencia: Vostede podería ir con como GetFloat e, a continuación, ser capaz de poñer 1360 01:06:12,938 --> 01:06:14,381 lo nun decimal? 1361 01:06:14,381 --> 01:06:15,343 >> LUCAS FREITAS: Yeah. 1362 01:06:15,343 --> 01:06:15,824 >> Audiencia: Aceptar. 1363 01:06:15,824 --> 01:06:19,210 Entón só podería entrada flotar A é igual - 1364 01:06:19,210 --> 01:06:19,950 >> Lauren CARBALLO: Yeah. 1365 01:06:19,950 --> 01:06:22,740 Exactamente o mesmo, excepto un flotar no canto dun int. 1366 01:06:22,740 --> 01:06:27,372 >> LUCAS FREITAS: Só ten que poñer-lo aquí e logo, GetFloat alí. 1367 01:06:27,372 --> 01:06:29,795 >> Audiencia: Como vai ver ou ver - 1368 01:06:29,795 --> 01:06:31,327 >> Lauren CARBALLO: temos non chegou alí aínda. 1369 01:06:31,327 --> 01:06:36,490 >> Audiencia: - facendo desigualdade flotadores non [inaudível] 1370 01:06:36,490 --> 01:06:40,290 >> Audiencia: O que as comas significan? 1371 01:06:40,290 --> 01:06:43,220 >> Lauren CARBALLO: O punto e coma só quere dicir que esta declaración sexa completa, 1372 01:06:43,220 --> 01:06:45,030 e nós estamos indo a ir ao seguinte foto. 1373 01:06:45,030 --> 01:06:47,040 >> Audiencia: Entón é necesario todas as veces? 1374 01:06:47,040 --> 01:06:48,330 >> Lauren CARBALLO: Yeah. 1375 01:06:48,330 --> 01:06:53,130 Ben, OK, entón non a estas condicións, porque son 1376 01:06:53,130 --> 01:06:54,090 encapsulado algo. 1377 01:06:54,090 --> 01:07:00,290 Entón, basicamente, se algo está causando que cree unha bosquexo 1378 01:07:00,290 --> 01:07:03,000 bloque, non poña un punto e coma ao final. 1379 01:07:03,000 --> 01:07:04,200 >> LUCAS FREITAS: Pero todo outra cousa, si. 1380 01:07:04,200 --> 01:07:06,670 Cando remata un comunicado, poñer o punto e coma. 1381 01:07:06,670 --> 01:07:10,380 E se esquecer punto e coma, a compilador vai quedar con rabia de ti, 1382 01:07:10,380 --> 01:07:12,640 e vai ter para intentar reparalos lo. 1383 01:07:12,640 --> 01:07:16,520 >> Lauren CARBALLO: Se eu poñer un punto e coma aquí, que iría parar con iso, e eu 1384 01:07:16,520 --> 01:07:18,780 nunca ía comezar a realizar o que se no interior, por certo. 1385 01:07:18,780 --> 01:07:21,113 Polo tanto, é un deses erros comúns. 1386 01:07:21,113 --> 01:07:22,390 >> Audiencia: Sempre execución. 1387 01:07:22,390 --> 01:07:22,950 >> Lauren CARBALLO: Yeah. 1388 01:07:22,950 --> 01:07:25,860 Neste caso, teriamos sempre realizar o que está dentro. 1389 01:07:25,860 --> 01:07:29,050 >> Audiencia: O seu estilo [inaudível] Adxuntar que para ti, pensei. 1390 01:07:29,050 --> 01:07:29,802 >> Lauren CARBALLO: Ah, iso é verdade. 1391 01:07:29,802 --> 01:07:34,298 >> Audiencia: [inaudível] único cousa de liña [inaudível] 1392 01:07:34,298 --> 01:07:35,286 >> Audiencia: Si? 1393 01:07:35,286 --> 01:07:37,756 >> Audiencia: Pode ter varias insumos nunha liña? 1394 01:07:37,756 --> 01:07:41,214 Entón, como pode pedir que os usuarios para imprimir dúas cousas? 1395 01:07:41,214 --> 01:07:42,530 >> Lauren CARBALLO: Non usar - 1396 01:07:42,530 --> 01:07:44,520 >> LUCAS FREITAS: Non 1397 01:07:44,520 --> 01:07:47,040 Imos dicir que eu tamén quero para obter este número enteiro m. 1398 01:07:47,040 --> 01:07:49,558 Teño que facelo nunha liña distinta. 1399 01:07:49,558 --> 01:07:54,992 >> Audiencia: Se fose para executar que, como [inaudível]? 1400 01:07:54,992 --> 01:07:59,438 Sería imprimir o prompt alí [inaudível] 1401 01:07:59,438 --> 01:08:00,940 e entón insiras un e - 1402 01:08:00,940 --> 01:08:01,840 >> Lauren CARBALLO: Ben, executalo. 1403 01:08:01,840 --> 01:08:04,365 Quero dicir, non hai nada nos impide só executa-lo e ver o que 1404 01:08:04,365 --> 01:08:06,610 ía ocorrer. 1405 01:08:06,610 --> 01:08:08,080 >> LUCAS FREITAS: Creo que é vai reclama a nós 1406 01:08:08,080 --> 01:08:08,977 por que non estamos a usar - 1407 01:08:08,977 --> 01:08:09,751 >> Lauren CARBALLO: Oops. 1408 01:08:09,751 --> 01:08:12,580 >> LUCAS FREITAS: El queixouse a nós para a dereita agora, porque non estamos usando este 1409 01:08:12,580 --> 01:08:21,640 variable, pero se eu tivese, por exemplo, n é igual é igual a, e m é igual 1410 01:08:21,640 --> 01:08:26,849 igual a, entón o que será ocorrer neste caso? 1411 01:08:26,849 --> 01:08:28,830 O que este programa fai? 1412 01:08:28,830 --> 01:08:30,330 >> Audiencia: Eu só estou querendo saber como sería - 1413 01:08:30,330 --> 01:08:31,550 >> Lauren CARBALLO: Ela só quere saber como queda 1414 01:08:31,550 --> 01:08:34,189 como, penso eu, non? 1415 01:08:34,189 --> 01:08:36,819 Por iso, levou un deles, e, a continuación, que levou o segundo. 1416 01:08:36,819 --> 01:08:41,279 1417 01:08:41,279 --> 01:08:43,069 >> Creo que temos que seguir adiante, porque temos unha 1418 01:08:43,069 --> 01:08:44,689 Presentación de diapositivas para ir antes - 1419 01:08:44,689 --> 01:08:46,269 quere puxar arriba de matemáticas? 1420 01:08:46,269 --> 01:08:47,558 >> LUCAS FREITAS: Si, de matemáticas. 1421 01:08:47,558 --> 01:09:00,033 1422 01:09:00,033 --> 01:09:02,206 >> Lauren CARBALLO: Dar me só un segundo. 1423 01:09:02,206 --> 01:09:07,390 1424 01:09:07,390 --> 01:09:14,260 >> Hai uns numérica diferente variables en datos numéricos en C. C 1425 01:09:14,260 --> 01:09:18,130 poden ser clasificadas en distintos tipos, e estes son os que vai 1426 01:09:18,130 --> 01:09:19,570 ver con máis frecuencia. 1427 01:09:19,570 --> 01:09:20,910 >> E int é un número enteiro. 1428 01:09:20,910 --> 01:09:23,189 Non pode ter ningún decimais. 1429 01:09:23,189 --> 01:09:27,754 O aparello, hai que 32 bits para almacenar un int. 1430 01:09:27,754 --> 01:09:30,450 >> Unha flutuación pode decimais. 1431 01:09:30,450 --> 01:09:34,330 Tamén leva 32 bits para almacenar unha boia no Appliance. 1432 01:09:34,330 --> 01:09:42,270 >> O dúo é un número con un decimal punto que ten 64 bits para almacena-lo, 1433 01:09:42,270 --> 01:09:44,470 o que significa que pode só ter máis preciso, xa que 1434 01:09:44,470 --> 01:09:46,426 pode ter máis - 1435 01:09:46,426 --> 01:09:47,785 o que chama iso? 1436 01:09:47,785 --> 01:09:48,640 >> LUCAS FREITAS: Si, iso é moito máis. 1437 01:09:48,640 --> 01:09:52,140 >> Lauren CARBALLO: Máis lugares despois do punto decimal. 1438 01:09:52,140 --> 01:09:57,140 E hai moito tempo é un número enteiro que leva 64 bits para 1439 01:09:57,140 --> 01:09:58,395 ela ferida no Appliance. 1440 01:09:58,395 --> 01:10:00,278 >> LUCAS FREITAS: Entón pode ser maior que enteiros poden ser. 1441 01:10:00,278 --> 01:10:03,320 1442 01:10:03,320 --> 01:10:08,380 >> Lauren CARBALLO: A cousa sobre datos tipos en C é que eles din o que 1443 01:10:08,380 --> 01:10:11,050 tipo de datos que pode almacenar na súa variábel. 1444 01:10:11,050 --> 01:10:15,860 Din-lle como pode usar esta variable no seu programa. 1445 01:10:15,860 --> 01:10:19,650 É moi importante para só seguir de que tipo de datos está a usar, e se 1446 01:10:19,650 --> 01:10:23,070 cómpre facer para converter un tipo de datos a outro, asegúrese de que vostede sabe 1447 01:10:23,070 --> 01:10:25,250 exactamente o que pasa cando esta fundición ocorre. 1448 01:10:25,250 --> 01:10:28,520 E vai ver un exemplo máis tarde sobre nestas láminas de 1449 01:10:28,520 --> 01:10:31,490 erro que pode ocorrer. 1450 01:10:31,490 --> 01:10:35,300 >> Imos dar un ollo a algunhas das matemáticas en C e pensar con moito coidado, eu creo, 1451 01:10:35,300 --> 01:10:38,470 sobre o que está a suceder cando esta matemáticas se produciron. 1452 01:10:38,470 --> 01:10:43,552 Na primeira liña, o que é pasando cando declaro x? 1453 01:10:43,552 --> 01:10:48,921 >> Audiencia: Vostede está permitindo que x para algo? 1454 01:10:48,921 --> 01:10:49,700 >> Lauren CARBALLO: Yeah. 1455 01:10:49,700 --> 01:10:54,040 Ben, eu estou realmente facendo a operación sistema de 32 bits de memoria, non? 1456 01:10:54,040 --> 01:10:57,890 En que podo gardar un int, e Vou chamar ao que int x. 1457 01:10:57,890 --> 01:11:01,370 >> LUCAS FREITAS: ir Basicamente na memoria e atopar un lugar que ten 32 1458 01:11:01,370 --> 01:11:05,290 bits e dito, hey, quero que este espazo, e só pode ser chamado x. 1459 01:11:05,290 --> 01:11:08,590 Entón é só practicamente descubrimento unha caixa na súa memoria para 1460 01:11:08,590 --> 01:11:10,440 almacenar valores para x. 1461 01:11:10,440 --> 01:11:13,980 >> Lauren CARBALLO: E entón eu arrincar x, o que significa que só almacenar o 1462 01:11:13,980 --> 01:11:20,270 valor de 2 naquel lugar, que pedazo de memoria, que pedimos operativo 1463 01:11:20,270 --> 01:11:21,860 sistema a. 1464 01:11:21,860 --> 01:11:25,090 E aquí o que estamos facendo é en realidade estamos declarando e 1465 01:11:25,090 --> 01:11:29,060 arrincar y nunha liña, en vez de en dúas liñas, como fixemos ata aquí, 1466 01:11:29,060 --> 01:11:33,960 que tamén é un perfectamente ben, estamos engadindo 1 para x, e nós estamos almacenando que 1467 01:11:33,960 --> 01:11:34,950 valor en y. 1468 01:11:34,950 --> 01:11:39,360 >> LUCAS FREITAS: Entón, basicamente o que este liña fai, el encontra agora unha caixa para y, 1469 01:11:39,360 --> 01:11:41,990 e, a continuación, o seu valor, o único que vai poñer dentro da caixa, é 1470 01:11:41,990 --> 01:11:43,800 será o valor de x máis 1. 1471 01:11:43,800 --> 01:11:45,850 Por iso, ten a opción para y. 1472 01:11:45,850 --> 01:11:49,980 Ela recibe o valor de x, parece aquí, e ver que é 2. 1473 01:11:49,980 --> 01:11:53,035 Poñelas alí, máis 1, entón pon unha 3 alí. 1474 01:11:53,035 --> 01:11:54,290 Será que isto ten sentido? 1475 01:11:54,290 --> 01:11:55,780 Entón y sería 2 neste caso. 1476 01:11:55,780 --> 01:11:58,993 1477 01:11:58,993 --> 01:12:00,770 >> Lauren CARBALLO: Todo ben, legal. 1478 01:12:00,770 --> 01:12:06,010 Vimos algúns diso, así que imos agora pensar sobre a división en C. Aquí eu son 1479 01:12:06,010 --> 01:12:11,490 declarar e arrincar un float chamada resposta e dividindo o 1 por 10, 1480 01:12:11,490 --> 01:12:14,860 e entón eu estou imprimindo a resposta con dúas cifras decimais. 1481 01:12:14,860 --> 01:12:18,800 E teña en conta aquí, na miña declaración printf, cando eu queira imprimir algo para dous 1482 01:12:18,800 --> 01:12:25,600 cifras decimais,% .2 f é o que quero usar. 1483 01:12:25,600 --> 01:12:28,880 1484 01:12:28,880 --> 01:12:31,760 Así, o punto 2 é só dicir Eu teño dous lugares tras a 1485 01:12:31,760 --> 01:12:34,980 decimal impreso. 1486 01:12:34,980 --> 01:12:38,740 >> Agora, o que vai ocorrer se eu executar este código? 1487 01:12:38,740 --> 01:12:40,500 Alguén ten unha idea? 1488 01:12:40,500 --> 01:12:42,721 Que imprimir? 1489 01:12:42,721 --> 01:12:45,010 >> LUCAS FREITAS: Cales son nós esperando para comezar. 1490 01:12:45,010 --> 01:12:46,810 >> Lauren CARBALLO: ¿Que facer queremos, en primeiro lugar? 1491 01:12:46,810 --> 01:12:48,871 >> LUCAS FREITAS: [inaudível] 1492 01:12:48,871 --> 01:12:51,120 >> Lauren CARBALLO: 0,1, si. 1493 01:12:51,120 --> 01:12:52,325 Pero o que vai imprimir? 1494 01:12:52,325 --> 01:12:53,275 >> Audiencia: [inaudível] 1495 01:12:53,275 --> 01:12:56,760 >> Lauren CARBALLO: Ben, non, en realidade. 1496 01:12:56,760 --> 01:13:01,400 Isto é o que eu estaba falando sobre o por que Debe manter o control moi coidadoso de 1497 01:13:01,400 --> 01:13:02,550 seus tipos de datos. 1498 01:13:02,550 --> 01:13:05,000 Entón, que tipo de datos é isto? 1499 01:13:05,000 --> 01:13:06,250 É un int, non? 1500 01:13:06,250 --> 01:13:07,600 Non hai ningunha casa decimal. 1501 01:13:07,600 --> 01:13:08,770 10 tamén é un int. 1502 01:13:08,770 --> 01:13:09,930 Non hai ningunha casa decimal. 1503 01:13:09,930 --> 01:13:15,770 >> Se eu dividir un int por un int, recibín unha int que non é de 0,1, porque Ints 1504 01:13:15,770 --> 01:13:18,630 non pode ter cifras decimais, pero só 0. 1505 01:13:18,630 --> 01:13:21,005 Porque un int só trunca fóra das cifras decimais. 1506 01:13:21,005 --> 01:13:24,280 >> LUCAS FREITAS: Entón sempre que se fai operacións con enteiros, vai 1507 01:13:24,280 --> 01:13:25,990 obter un int como resposta. 1508 01:13:25,990 --> 01:13:28,930 Entón, basicamente, o que o ordenador está facendo, é divídese por 1 1509 01:13:28,930 --> 01:13:31,520 10, e queda 0,1. 1510 01:13:31,520 --> 01:13:34,870 Pero, entón, é coma se, espera, que é debe ser un número enteiro, entón só 1511 01:13:34,870 --> 01:13:37,045 ignorar a 0,1, polo que é agora só 0. 1512 01:13:37,045 --> 01:13:41,782 >> Lauren CARBALLO: Entón, cando imprimir este fóra, eu recibín 0,00 en vez de 0,10. 1513 01:13:41,782 --> 01:13:44,075 >> LUCAS FREITAS: Será que ten sentido? 1514 01:13:44,075 --> 01:13:45,530 >> Lauren CARBALLO: Isto é medio de pena, non? 1515 01:13:45,530 --> 01:13:47,290 >> LUCAS FREITAS: Entón, como podemos solucionar isto? 1516 01:13:47,290 --> 01:13:48,620 >> Lauren CARBALLO: Imos tentar corrixir isto. 1517 01:13:48,620 --> 01:13:51,570 1518 01:13:51,570 --> 01:13:54,810 Aquí está un exemplo de onde eu son realmente lanzar a 1 1519 01:13:54,810 --> 01:13:56,650 e de 10 a flota. 1520 01:13:56,650 --> 01:13:58,800 Entón, agora, un non é un int. 1521 01:13:58,800 --> 01:14:00,020 1 é un float. 1522 01:14:00,020 --> 01:14:02,590 By the way, esta é só a sintaxe para cando quere para lanzar a partir dun 1523 01:14:02,590 --> 01:14:03,410 Tipo de datos a outro. 1524 01:14:03,410 --> 01:14:07,140 Pode simplemente poñer o tipo de datos en parénteses e ten que preceder 1525 01:14:07,140 --> 01:14:10,860 o valor que está lanzando. 1526 01:14:10,860 --> 01:14:15,800 >> Entón, aquí, eu estou dividindo un coche alegórico por unha boia para obter unha resposta float. 1527 01:14:15,800 --> 01:14:19,535 E si, esta sería, en feito imprimir 0,10. 1528 01:14:19,535 --> 01:14:20,470 Será que isto ten sentido? 1529 01:14:20,470 --> 01:14:24,110 >> LUCAS FREITAS: Entón tipo casting é só a conversión dun tipo a outro. 1530 01:14:24,110 --> 01:14:29,460 Así flotar 1 é realmente 1,000. 1531 01:14:29,460 --> 01:14:33,400 Non é exactamente iso, pero é algo con cifras decimais 1532 01:14:33,400 --> 01:14:34,715 que é, en realidade, un. 1533 01:14:34,715 --> 01:14:35,960 Será que isto ten sentido? 1534 01:14:35,960 --> 01:14:36,260 Si? 1535 01:14:36,260 --> 01:14:40,990 >> Audiencia: E se fixo resposta flotador é igual a 1,0 dividido por 10? 1536 01:14:40,990 --> 01:14:43,940 >> Lauren CARBALLO: Está realmente a suceder ver que o próximo foto. 1537 01:14:43,940 --> 01:14:47,150 Isto é realmente o noso moi próximo foto. 1538 01:14:47,150 --> 01:14:50,740 Esta é realmente unha máis agradable do que escriba casting, eu creo. 1539 01:14:50,740 --> 01:14:53,470 Así, estes dous son só Carrozas natureza do feito de que 1540 01:14:53,470 --> 01:14:54,926 teñen cifras decimais. 1541 01:14:54,926 --> 01:14:55,300 Si? 1542 01:14:55,300 --> 01:14:57,670 >> Audiencia: E se fixo [inaudível] 1543 01:14:57,670 --> 01:14:59,480 dividido por 10? 1544 01:14:59,480 --> 01:15:02,270 >> Lauren CARBALLO: En realidade unha boia dividido por un int en realidade, dálle unha 1545 01:15:02,270 --> 01:15:03,670 flotar, de xeito que ía funcionar ben. 1546 01:15:03,670 --> 01:15:08,070 1547 01:15:08,070 --> 01:15:09,120 >> Espere, que todo o mundo entende isto? 1548 01:15:09,120 --> 01:15:12,720 Por que isto será realmente unha gran negocio na Pset1, en realidade. 1549 01:15:12,720 --> 01:15:13,130 Si? 1550 01:15:13,130 --> 01:15:14,762 >> Audiencia: Vostede podería só rápido pasar por riba da parte vermella? 1551 01:15:14,762 --> 01:15:16,380 >> Lauren CARBALLO: A parte vermella, si. 1552 01:15:16,380 --> 01:15:17,250 Lucas, quere? 1553 01:15:17,250 --> 01:15:18,020 >> LUCAS FREITAS: Aceptar. 1554 01:15:18,020 --> 01:15:20,570 Entón recorda que a porcentaxe é un espazo reservado. 1555 01:15:20,570 --> 01:15:22,150 É como un espazo en branco. 1556 01:15:22,150 --> 01:15:26,240 Entón, imos tratar de entender todo que está pasando aquí. 1557 01:15:26,240 --> 01:15:28,170 Porcentaxe significa que é un espazo reservado. 1558 01:15:28,170 --> 01:15:33,640 Entón tes a f, o que significa que ese espazo reservado é para un float. 1559 01:15:33,640 --> 01:15:38,870 A última cousa que temos aquí é unha 0,2, o que significa que quero ter dous 1560 01:15:38,870 --> 01:15:42,410 cifras decimais á boia. 1561 01:15:42,410 --> 01:15:48,510 >> Se eu tivese% f, que vai poñer unha morea de cifras decimais. 1562 01:15:48,510 --> 01:15:54,170 Entón eu só podo poñer 0,2 ou 0,1 ou 0,5, ou o que quere, e vai poñer isto 1563 01:15:54,170 --> 01:15:55,950 número de cifras decimais. 1564 01:15:55,950 --> 01:15:59,950 O único é que se pór como .100 Ou .1,000, non é, en realidade, 1565 01:15:59,950 --> 01:16:04,200 vai poñer todas estas cifras decimais porque non ten memoria suficiente 1566 01:16:04,200 --> 01:16:06,432 ter esa precisión. 1567 01:16:06,432 --> 01:16:07,955 >> Algunha pregunta? 1568 01:16:07,955 --> 01:16:08,450 Si? 1569 01:16:08,450 --> 01:16:12,970 >> Audiencia: Entón flotar só permite ir alén enteiros? 1570 01:16:12,970 --> 01:16:13,720 >> LUCAS FREITAS: Si 1571 01:16:13,720 --> 01:16:17,345 >> Lauren CARBALLO: Ben, unha boia só permite que teña cifras decimais. 1572 01:16:17,345 --> 01:16:20,460 >> LUCAS FREITAS: Significa só que agora pode ter números decimais. 1573 01:16:20,460 --> 01:16:25,728 >> Audiencia: Por que usar enteiros? 1574 01:16:25,728 --> 01:16:27,870 >> LUCAS FREITAS: Por que usa números enteiros? 1575 01:16:27,870 --> 01:16:31,810 Quizais se está contando de 0 a 10, quere usar realmente un enteiro. 1576 01:16:31,810 --> 01:16:33,370 Non precisa utilizar un float. 1577 01:16:33,370 --> 01:16:35,430 Nalgunhas situacións, non Ten que efectivamente - 1578 01:16:35,430 --> 01:16:37,040 >> Lauren CARBALLO: Quizais Non quero decimais. 1579 01:16:37,040 --> 01:16:38,600 >> LUCAS FREITAS: Poida que non Quere usar un float. 1580 01:16:38,600 --> 01:16:42,660 >> Lauren CARBALLO: A outra cousa é, Teña en conta que, tanto por unha boia e un int 1581 01:16:42,660 --> 01:16:46,170 ter 32 bits para almacena-los, e quizais non quere desperdiçar bits no 1582 01:16:46,170 --> 01:16:48,062 cifras decimais. 1583 01:16:48,062 --> 01:16:49,750 >> LUCAS FREITAS: Yeah. 1584 01:16:49,750 --> 01:16:51,910 Así como, basta pensar sobre iso. 1585 01:16:51,910 --> 01:16:55,200 Ten 32 bits, tanto para un int e un float. 1586 01:16:55,200 --> 01:16:59,400 Para un int, as 32 bits ir á parte enteira. 1587 01:16:59,400 --> 01:17:03,460 Se usa un coche alegórico con 32 bits, se ter parte desa memoria que está a ser usado 1588 01:17:03,460 --> 01:17:06,820 ao número, para o número enteiro, e outro pode empregar para o 1589 01:17:06,820 --> 01:17:08,300 cifras decimais. 1590 01:17:08,300 --> 01:17:12,370 Entón iso significa que non pode chegar a números moi grandes con flotadores por 1591 01:17:12,370 --> 01:17:16,020 o flotador xa está a usar unha morea de memoria para as casas decimais. 1592 01:17:16,020 --> 01:17:17,014 Si? 1593 01:17:17,014 --> 01:17:21,487 >> Audiencia: Esta primeira resposta, exactamente o que está facendo? 1594 01:17:21,487 --> 01:17:25,214 É a definición do valor do flotador igual ao espazo reservado para que poida 1595 01:17:25,214 --> 01:17:26,954 recuperan-lo na próxima liña? 1596 01:17:26,954 --> 01:17:28,942 Di flotar resposta. 1597 01:17:28,942 --> 01:17:29,770 >> LUCAS FREITAS: Yeah. 1598 01:17:29,770 --> 01:17:37,200 Entón, a resposta flotar significa que está a recibir agora un pouco balde na memoria que 1599 01:17:37,200 --> 01:17:40,050 ten un float, e iso vai para ser chamado resposta. 1600 01:17:40,050 --> 01:17:42,040 Entón é iso que fai flotar resposta. 1601 01:17:42,040 --> 01:17:44,720 >> E entón di que dentro tanto, está indo a poñer 1602 01:17:44,720 --> 01:17:46,470 o resultado deste. 1603 01:17:46,470 --> 01:17:52,610 Entón vai facer 1,0 dividido por 10.0, que obtén 0,1, e, a continuación, se pon 1604 01:17:52,610 --> 01:17:53,490 que dentro de resposta. 1605 01:17:53,490 --> 01:17:57,540 >> Lauren CARBALLO: Entón, nunha liña, estamos declarar e arrincar este flotador 1606 01:17:57,540 --> 01:18:00,070 chamado resposta. 1607 01:18:00,070 --> 01:18:04,470 >> LUCAS FREITAS: Curiosamente, aínda que Esta é só unha liña, que está a facer 1608 01:18:04,470 --> 01:18:05,570 varias operacións. 1609 01:18:05,570 --> 01:18:08,800 É só unha forma de deixar C usa menos código. 1610 01:18:08,800 --> 01:18:12,310 É o mesmo que o ternário operador, como pode só facer unha 1611 01:18:12,310 --> 01:18:13,810 [Inaudível] nunha liña. 1612 01:18:13,810 --> 01:18:18,860 Está realmente facendo o mesmo que facendo resposta float, punto e coma, e 1613 01:18:18,860 --> 01:18:23,060 entón resposta é igual a esta, pero en vez de facendo facer dúas liñas para que, 1614 01:18:23,060 --> 01:18:24,160 é como un atallo. 1615 01:18:24,160 --> 01:18:24,520 Si? 1616 01:18:24,520 --> 01:18:27,929 >> Audiencia: Entón, se executou tanto, sería de 0,10? 1617 01:18:27,929 --> 01:18:30,120 >> LUCAS FREITAS: Si 1618 01:18:30,120 --> 01:18:30,530 Si? 1619 01:18:30,530 --> 01:18:34,540 >> Audiencia: É realmente responder código, ou é só o nome? 1620 01:18:34,540 --> 01:18:36,010 >> Lauren CARBALLO: Este é, en realidade, o código. 1621 01:18:36,010 --> 01:18:37,750 Iso é o que imos para nomear a nosa variable. 1622 01:18:37,750 --> 01:18:39,770 >> Audiencia: Entón é só un nome [inaudível]. 1623 01:18:39,770 --> 01:18:40,270 >> Lauren CARBALLO: Yeah. 1624 01:18:40,270 --> 01:18:44,670 Eu podería dicir float x é igual a 1.0. 1625 01:18:44,670 --> 01:18:47,160 >> LUCAS FREITAS: A cousa é que nome da variable é 1626 01:18:47,160 --> 01:18:48,400 algo que usa. 1627 01:18:48,400 --> 01:18:49,690 É importante para vostede. 1628 01:18:49,690 --> 01:18:52,660 Para o programa actual, a única cousa o que importa é o valor que 1629 01:18:52,660 --> 01:18:55,570 ten dentro do balde. 1630 01:18:55,570 --> 01:18:59,270 A razón pola que ten variables e nomes de variables é así que sabe 1631 01:18:59,270 --> 01:19:01,910 o que está lidando, como que tipo de datos está 1632 01:19:01,910 --> 01:19:03,040 acceso de cada vez. 1633 01:19:03,040 --> 01:19:07,580 Pero para o propio código, se chamar el responde ou pregunta ou algo, 1634 01:19:07,580 --> 01:19:09,530 moi bonito, non importa. 1635 01:19:09,530 --> 01:19:10,060 Non importa. 1636 01:19:10,060 --> 01:19:12,910 Sempre que sexa consistente en todo aparición e así que chamalo 1637 01:19:12,910 --> 01:19:13,620 outra cousa. 1638 01:19:13,620 --> 01:19:14,880 Si? 1639 01:19:14,880 --> 01:19:17,208 >> Audiencia: Fai as variables ir máis alá da función? 1640 01:19:17,208 --> 01:19:20,902 Como se fose crear un soporte [Inaudível], podería só 1641 01:19:20,902 --> 01:19:21,806 [Inaudível] responder de novo? 1642 01:19:21,806 --> 01:19:22,550 >> Lauren CARBALLO: Non 1643 01:19:22,550 --> 01:19:23,300 >> Audiencia: [inaudível] 1644 01:19:23,300 --> 01:19:24,200 >> Lauren CARBALLO: Non 1645 01:19:24,200 --> 01:19:26,930 Iso sería fóra do ámbito desta variable particular. 1646 01:19:26,930 --> 01:19:29,940 E de feito, este é o tipo de interesante, porque cando temos 1647 01:19:29,940 --> 01:19:33,010 cousas como loops ou estes se condicións, se declarar unha variable 1648 01:19:33,010 --> 01:19:36,330 dentro dun outro conxunto de claves, realmente só hai 1649 01:19:36,330 --> 01:19:39,800 dentro desas chaves. 1650 01:19:39,800 --> 01:19:43,088 >> Audiencia: Unha última nota sobre os coches alegóricos [inaudível]. 1651 01:19:43,088 --> 01:19:46,076 Por que non quere usar Ints? 1652 01:19:46,076 --> 01:19:49,562 Esta é unha nota lateral que nada, pero o ordenador é 1653 01:19:49,562 --> 01:19:53,048 significativamente mellor en xestionar Ints do que se flotadores de manipular. 1654 01:19:53,048 --> 01:19:55,040 É como unha orde de magnitude máis rápido. 1655 01:19:55,040 --> 01:20:00,360 Entón, se nós só manipulados só Carrozas, as cousas serían moito máis lento. 1656 01:20:00,360 --> 01:20:03,080 >> Lauren CARBALLO: En realidade, non parece sendo un problema cos flotadores. 1657 01:20:03,080 --> 01:20:06,400 >> LUCAS FREITAS: Kind of a razón para diso, pode pensar, é como en binario 1658 01:20:06,400 --> 01:20:08,480 podes representar enteiros poñendo 0 e 1 do. 1659 01:20:08,480 --> 01:20:09,980 >> Lauren CARBALLO: Isto é a seguinte cousa. 1660 01:20:09,980 --> 01:20:10,480 >> LUCAS FREITAS: Aceptar. 1661 01:20:10,480 --> 01:20:10,740 Incrible. 1662 01:20:10,740 --> 01:20:11,480 >> Lauren CARBALLO: Só manteña ese pensamento. 1663 01:20:11,480 --> 01:20:13,800 >> LUCAS FREITAS: OK, eu vou dicirlle máis tarde. 1664 01:20:13,800 --> 01:20:16,920 >> Lauren CARBALLO: Antes de chegar ao Lucas estaba dicindo, o operador 1665 01:20:16,920 --> 01:20:17,420 precedencia. 1666 01:20:17,420 --> 01:20:18,220 Este é o sentido común. 1667 01:20:18,220 --> 01:20:20,830 Vostedes teñen feito isto bastante. 1668 01:20:20,830 --> 01:20:24,705 Así, só se algo está entre parénteses, iso vai ocorrer primeiro. 1669 01:20:24,705 --> 01:20:27,970 É a multiplicación ten precedencia máis aló, 1670 01:20:27,970 --> 01:20:30,330 resta, cousas dese tipo. 1671 01:20:30,330 --> 01:20:34,700 Entón, en realidade, só alguén quere me diga o número un, en realidade, 1672 01:20:34,700 --> 01:20:36,674 avalía? 1673 01:20:36,674 --> 01:20:37,638 >> Audiencia: 27. 1674 01:20:37,638 --> 01:20:39,090 >> Lauren CARBALLO: 27? 1675 01:20:39,090 --> 01:20:39,550 É. 1676 01:20:39,550 --> 01:20:41,975 >> LUCAS FREITAS: Deixe-me dar doces para as persoas. 1677 01:20:41,975 --> 01:20:42,850 >> Lauren CARBALLO: Todo ben. 1678 01:20:42,850 --> 01:20:44,100 E sobre o número dous? 1679 01:20:44,100 --> 01:20:46,880 1680 01:20:46,880 --> 01:20:48,340 E sobre o número dous? 1681 01:20:48,340 --> 01:20:49,280 >> Audiencia: 22. 1682 01:20:49,280 --> 01:20:50,680 >> Lauren CARBALLO: 22, si. 1683 01:20:50,680 --> 01:20:51,570 Eu non sei quen comezou iso. 1684 01:20:51,570 --> 01:20:52,694 Número tres? 1685 01:20:52,694 --> 01:20:54,050 >> Audiencia: 10. 1686 01:20:54,050 --> 01:20:55,300 >> Lauren CARBALLO: 10, si. 1687 01:20:55,300 --> 01:20:58,150 1688 01:20:58,150 --> 01:20:58,490 Legal. 1689 01:20:58,490 --> 01:21:01,280 Así módulo. 1690 01:21:01,280 --> 01:21:03,700 Lucas, quere explicar modulo? 1691 01:21:03,700 --> 01:21:07,150 >> LUCAS FREITAS: Modulo é este operador que é, en realidade, moi útil para unha 1692 01:21:07,150 --> 01:21:09,470 morea de problemas. 1693 01:21:09,470 --> 01:21:15,270 Se eu fai 55 módulo 10, o que fai iso imos dicir que quero 1694 01:21:15,270 --> 01:21:16,970 dividir 55 por 10. 1695 01:21:16,970 --> 01:21:18,240 O que eu ganancia? 1696 01:21:18,240 --> 01:21:21,380 Ela se sente como se eu estou realmente só facendo a división, o que é o 1697 01:21:21,380 --> 01:21:22,450 primeira vez que eu teño o número enteiro? 1698 01:21:22,450 --> 01:21:23,190 >> Audiencia: 5. 1699 01:21:23,190 --> 01:21:24,080 >> LUCAS FREITAS: 5. 1700 01:21:24,080 --> 01:21:26,230 E, a continuación, o resto é de 5, non? 1701 01:21:26,230 --> 01:21:29,250 Entón, é como 5 veces 10 máis 5. 1702 01:21:29,250 --> 01:21:35,570 Basicamente, o módulo fai, intenta dividir este número por este, e 1703 01:21:35,570 --> 01:21:37,440 el ve o que é o resto da división. 1704 01:21:37,440 --> 01:21:40,080 >> Lauren CARBALLO: Entón é só devolve o resto. 1705 01:21:40,080 --> 01:21:41,920 Así, o número un é o que? 1706 01:21:41,920 --> 01:21:42,560 5. 1707 01:21:42,560 --> 01:21:43,336 Número dous? 1708 01:21:43,336 --> 01:21:44,150 >> Audiencia: 3. 1709 01:21:44,150 --> 01:21:44,934 >> Lauren CARBALLO: 3. 1710 01:21:44,934 --> 01:21:46,240 Número tres? 1711 01:21:46,240 --> 01:21:47,190 0. 1712 01:21:47,190 --> 01:21:48,410 E catro é 1. 1713 01:21:48,410 --> 01:21:48,665 Exactamente. 1714 01:21:48,665 --> 01:21:49,915 >> LUCAS FREITAS: Simple, non é? 1715 01:21:49,915 --> 01:21:54,270 1716 01:21:54,270 --> 01:21:56,560 >> Lauren CARBALLO: Por que non imos saltar esta só porque nós realmente non teño 1717 01:21:56,560 --> 01:21:59,780 tempo, e as persoas parecen entender. 1718 01:21:59,780 --> 01:22:03,330 Entón aquí está o que Lucas era só falar. 1719 01:22:03,330 --> 01:22:08,030 >> LUCAS FREITAS: Outra razón pola que eu usaría enteiros en vez de flotadores é 1720 01:22:08,030 --> 01:22:10,840 flotadores que son moi imprecisas. 1721 01:22:10,840 --> 01:22:12,720 E por que son imprecisas? 1722 01:22:12,720 --> 01:22:17,140 David dixo que para representar un enteiro, por exemplo, usan 0 e 1723 01:22:17,140 --> 01:22:17,810 1, non? 1724 01:22:17,810 --> 01:22:22,370 E entón basicamente facer o multiplicación, facer todos os 1725 01:22:22,370 --> 01:22:30,000 operacións de saber o número decimal tes no canto do binario. 1726 01:22:30,000 --> 01:22:33,040 >> Que pasa agora se eu tentar para poñer os puntos decimais? 1727 01:22:33,040 --> 01:22:37,680 De feito, por exemplo, se eu tivera o número como 3,33333? 1728 01:22:37,680 --> 01:22:40,250 Parece que máis de 3 10. 1729 01:22:40,250 --> 01:22:44,950 Como é que eu vou gardar todo o 3 É que eu teño despois diso? 1730 01:22:44,950 --> 01:22:47,120 É realmente difícil, non? 1731 01:22:47,120 --> 01:22:49,580 Non pode simplemente dicir ao ordenador, hey, eu teño un 3, e 1732 01:22:49,580 --> 01:22:50,520 entón facelo para sempre. 1733 01:22:50,520 --> 01:22:52,810 En realidade, o ordenador non é intelixente o suficiente para iso. 1734 01:22:52,810 --> 01:22:58,300 >> Entón, basicamente, todo o seu ordenador fai é que trata de poñer o maior número de díxitos como 1735 01:22:58,300 --> 01:23:00,950 pode que a memoria que ten. 1736 01:23:00,950 --> 01:23:05,890 Entón, imos dicir que vai dicir 3.3333, e é iso. 1737 01:23:05,890 --> 01:23:10,690 Polo tanto, non é capaz de realmente expresar precisamente o que se boia. 1738 01:23:10,690 --> 01:23:13,240 >> Lauren CARBALLO: Temos un número finito de bits, o que significa que non 1739 01:23:13,240 --> 01:23:17,910 cada número decimal será capaz de ser representado con precisión. 1740 01:23:17,910 --> 01:23:24,910 E así, neste exemplo, se estivermos imprimir 0,1, agora estamos impresión 1741 01:23:24,910 --> 01:23:26,475 fóra 20 prazas. 1742 01:23:26,475 --> 01:23:30,250 >> LUCAS FREITAS: Así como eu estaba dicindo vostedes, pode poñer calquera número. 1743 01:23:30,250 --> 01:23:36,520 Pero, se acaba de facer os dous lugares, quere obter 0,10, pero se poñer 20 1744 01:23:36,520 --> 01:23:43,630 lugares, que vai te amosar unha morea 'S de porque iso é o que pode poñer 1745 01:23:43,630 --> 01:23:45,720 na memoria, non? 1746 01:23:45,720 --> 01:23:48,800 >> Pero aquí, ata o 0, e despois é só poñer-lo un 1747 01:23:48,800 --> 01:23:50,030 chea de números aleatorios. 1748 01:23:50,030 --> 01:23:52,590 Este é tipo como algúns - 1749 01:23:52,590 --> 01:23:56,190 >> Lauren CARBALLO: Isto é porque somos non é capaz de representar este decimal 1750 01:23:56,190 --> 01:23:58,320 precisamente co número de bits que teñen. 1751 01:23:58,320 --> 01:23:59,730 >> LUCAS FREITAS: E entón o ordenador é basicamente 1752 01:23:59,730 --> 01:24:01,470 dándolle un número de lixo. 1753 01:24:01,470 --> 01:24:04,530 Este non é, en realidade, o valor do número. 1754 01:24:04,530 --> 01:24:08,242 >> Audiencia: É o máis preto que pode estar [inaudível] 1755 01:24:08,242 --> 01:24:09,613 usar o [inaudível]. 1756 01:24:09,613 --> 01:24:12,685 1757 01:24:12,685 --> 01:24:18,830 >> Lauren CARBALLO: Entón, a implicación iso é que imos dicir que en vez de 1758 01:24:18,830 --> 01:24:27,680 sendo 0.100014, calquera que sexa, e se fose 0,0999 - 1759 01:24:27,680 --> 01:24:30,470 Ben, OK. 1760 01:24:30,470 --> 01:24:38,280 Imos finxir que a resposta real para iso foi 0,9999999. 1761 01:24:38,280 --> 01:24:40,740 Isto é moi próximo a 1, pero non é exactamente 1. 1762 01:24:40,740 --> 01:24:42,840 É 0,99999. 1763 01:24:42,840 --> 01:24:48,140 >> Isto significa que, se eu tomar esta 0,999, e eu o lancei a un int, eu recibín 0. 1764 01:24:48,140 --> 01:24:49,460 Non entendo 1. 1765 01:24:49,460 --> 01:24:53,050 >> LUCAS FREITAS: Por lembre, fundición de float para int, só 1766 01:24:53,050 --> 01:24:54,880 ignorar todas as casas decimais. 1767 01:24:54,880 --> 01:24:56,400 Simplemente ignore them. 1768 01:24:56,400 --> 01:25:00,170 Non hai tal cousa como o arredondamento cara a arriba ou executar para abaixo cando estereotipado. 1769 01:25:00,170 --> 01:25:03,310 En realidade, non é esta función que fai o redondeo, o que é moi 1770 01:25:03,310 --> 01:25:08,840 importante, pero só creo que cando fai typecasting, é só 1771 01:25:08,840 --> 01:25:09,720 vai borrar todo. 1772 01:25:09,720 --> 01:25:13,970 Así, mesmo se ten 0,99999, vai só para dar 0 se typecast 1773 01:25:13,970 --> 01:25:14,800 [Inaudível] un número enteiro. 1774 01:25:14,800 --> 01:25:17,480 >> Lauren CARBALLO: Entón, só tes que ser realmente consciente punto de flotante en precisión, 1775 01:25:17,480 --> 01:25:20,410 especialmente cando comeza utilizar flotadores en Pset1. 1776 01:25:20,410 --> 01:25:22,790 Pero a ruta a través debería avisalo de que tan ben. 1777 01:25:22,790 --> 01:25:26,100 >> LUCAS FREITAS: E de feito, é realmente difícil, por exemplo, se eu fixen 1778 01:25:26,100 --> 01:25:31,570 resposta flotador 1 é igual a 1,0 sobre 10, e despois flotar resposta 2 1779 01:25:31,570 --> 01:25:35,540 é igual a 10,0 sobre 100,0. 1780 01:25:35,540 --> 01:25:36,890 Son o mesmo número, non? 1781 01:25:36,890 --> 01:25:38,540 0,1, non? 1782 01:25:38,540 --> 01:25:41,700 1 máis de 10 ou 10 máis de 100. 1783 01:25:41,700 --> 01:25:46,360 Pero agora, se eu tentar ver a igualdade, como se a resposta 1 é igual a responder 2, 1784 01:25:46,360 --> 01:25:49,300 quizais non está realmente a suceder ser o mesmo. 1785 01:25:49,300 --> 01:25:50,720 Así Carrozas son do tipo así. 1786 01:25:50,720 --> 01:25:51,970 Son como facer a igualdade. 1787 01:25:51,970 --> 01:25:55,136