1 00:00:00,000 --> 00:00:07,170 2 00:00:07,170 --> 00:00:09,100 >> LUCAS FREITAS: OK, supongo ahora estamos en vivo. 3 00:00:09,100 --> 00:00:11,220 Bienvenido a CS50 supersección. 4 00:00:11,220 --> 00:00:12,880 Estamos menos cómodo. 5 00:00:12,880 --> 00:00:13,870 Mi nombre es Lucas Freitas. 6 00:00:13,870 --> 00:00:16,230 Soy uno CS50 Head TFS. 7 00:00:16,230 --> 00:00:17,523 Se trata de Lauren. 8 00:00:17,523 --> 00:00:19,002 >> LAUREN CARVALHO: Hola, soy Lauren. 9 00:00:19,002 --> 00:00:21,330 También estoy TF Jefe de CS50. 10 00:00:21,330 --> 00:00:24,730 >> LUCAS FREITAS: Hoy sólo vamos para dar una visión general de lo que todo lo 11 00:00:24,730 --> 00:00:28,440 chicos han aprendido en la semana uno, con suerte dar a ustedes un buen 12 00:00:28,440 --> 00:00:32,580 sentido a lo que usted debe saber para el problema de establecer una. 13 00:00:32,580 --> 00:00:34,120 >> Sólo un par de anuncios. 14 00:00:34,120 --> 00:00:36,490 En primer lugar, las horas de oficina. 15 00:00:36,490 --> 00:00:41,580 Las horas de oficina se están produciendo desde el lunes a jueves 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 muy bueno para usted chicos por venir y hacer preguntas, y 18 00:00:46,680 --> 00:00:49,470 hablar con TFS, e incluso el intercambio ideas con otros estudiantes. 19 00:00:49,470 --> 00:00:55,420 Así que asegúrese de utilizar ese recurso en su favor. 20 00:00:55,420 --> 00:00:59,790 >> La segunda cosa es la CS50 Appliance. 21 00:00:59,790 --> 00:01:01,390 Para el último [inaudible] 22 00:01:01,390 --> 00:01:04,180 ustedes no tenían que realmente tener un aparato. 23 00:01:04,180 --> 00:01:06,910 Acabas de hacerlo todo en su ordenador personal. 24 00:01:06,910 --> 00:01:10,330 Sin embargo, para este problema, que en realidad tienen tener una máquina virtual, así que 25 00:01:10,330 --> 00:01:14,680 Asegúrese de descargar la CS50 Appliance y configurarlo. 26 00:01:14,680 --> 00:01:18,670 >> Y la tercera cosa es que asegúrese de iniciar el conjunto de problemas ASAP sólo 27 00:01:18,670 --> 00:01:22,740 porque es mucho más fácil de encontrar ayudar cuando usted está en el 28 00:01:22,740 --> 00:01:23,730 al comienzo de la semana. 29 00:01:23,730 --> 00:01:27,540 Debido a que la gente tiende a esperar hasta que el último segundo para iniciar el conjunto de problemas, 30 00:01:27,540 --> 00:01:29,730 y luego vas a las horas de oficina, y hay un montón de gente. 31 00:01:29,730 --> 00:01:33,020 Donde si vas el lunes, vas para ver que se puede hablar con TFS 32 00:01:33,020 --> 00:01:35,870 casi toda la noche, Y van más de 33 00:01:35,870 --> 00:01:37,790 encantado de ayudarle. 34 00:01:37,790 --> 00:01:40,720 >> LAUREN CARVALHO: ¿Puedo dejar de por sólo un segundo? 35 00:01:40,720 --> 00:01:43,330 Todo el mundo ha sido capaz de descargar Appliance CS50? 36 00:01:43,330 --> 00:01:44,255 Han tratado a la gente? 37 00:01:44,255 --> 00:01:47,120 >> LUCAS FREITAS: Para descargar, por el manera, puede obtener instrucciones al 38 00:01:47,120 --> 00:01:48,045 cs50.net/appliance. 39 00:01:48,045 --> 00:01:48,817 >> LAUREN CARVALHO: Así es. 40 00:01:48,817 --> 00:01:53,120 Y lo hace tomar un poco de tiempo para nuestra administradores de sistemas para obtener una licencia 41 00:01:53,120 --> 00:01:55,450 clave, por lo que inscribirse en el primera prueba gratuita. 42 00:01:55,450 --> 00:01:59,080 De esa manera usted tendrá durante 30 días, y luego esperar a que su clave de licencia 43 00:01:59,080 --> 00:02:02,650 que debe darle que durante un año usted. 44 00:02:02,650 --> 00:02:04,100 >> LUCAS FREITAS: En primer lugar, vamos a hablar un poco 45 00:02:04,100 --> 00:02:06,180 sobre el CS50 Appliance. 46 00:02:06,180 --> 00:02:10,770 El CS50 Appliance es en realidad una virtuales máquina que se va a 47 00:02:10,770 --> 00:02:15,040 ejecutar en su propio ordenador, que es básicamente la ejecución de otro equipo 48 00:02:15,040 --> 00:02:16,010 dentro de su propio ordenador. 49 00:02:16,010 --> 00:02:16,800 Lo cual es muy bueno. 50 00:02:16,800 --> 00:02:19,420 Y en realidad se utiliza en todas partes. 51 00:02:19,420 --> 00:02:23,150 Las personas que a tecnología sabrían que esto se utiliza todo el tiempo. 52 00:02:23,150 --> 00:02:23,250 usted? 53 00:02:23,250 --> 00:02:26,200 Puede tener varios ordenadores en un solo dispositivo. 54 00:02:26,200 --> 00:02:27,760 >> Vamos a echar un vistazo en realidad en el aparato. 55 00:02:27,760 --> 00:02:32,680 56 00:02:32,680 --> 00:02:36,640 Cuando usted va al aparato después de registrarse, usted va a tener que 57 00:02:36,640 --> 00:02:42,035 ponga su nombre y entre en Harvard por lo que podemos llegar a todos ustedes registrado. 58 00:02:42,035 --> 00:02:46,570 Usted va a ver, básicamente, sólo un fondos de escritorio, y luego Home y Papelera, 59 00:02:46,570 --> 00:02:48,980 y luego estos pequeños iconos. 60 00:02:48,980 --> 00:02:51,930 Estos tres iconos en realidad son los más cosas importantes que usted puede tener en 61 00:02:51,930 --> 00:02:53,000 su aparato. 62 00:02:53,000 --> 00:03:00,270 >> La primera es gedit, que es un texto editor, como el Bloc de notas o como 63 00:03:00,270 --> 00:03:01,440 cualquier tipo de editor de texto. 64 00:03:01,440 --> 00:03:09,750 Es algo que usamos para escribir código y luego hacer cosas con él. 65 00:03:09,750 --> 00:03:11,770 >> La segunda cosa que nos tenemos aquí es Chrome. 66 00:03:11,770 --> 00:03:13,910 Así que si usted necesita utilizar el Internet en el aparato, eso es 67 00:03:13,910 --> 00:03:15,030 lo que puede utilizar. 68 00:03:15,030 --> 00:03:22,000 >> Y la tercera cosa es el terminal, que en realidad es muy dulce. 69 00:03:22,000 --> 00:03:26,420 La gente por lo general son una especie de miedo de el terminal porque es este mismo 70 00:03:26,420 --> 00:03:32,320 aplicación antigua en la que se sólo básicamente escribir todo con 71 00:03:32,320 --> 00:03:32,940 su teclado. 72 00:03:32,940 --> 00:03:34,730 No hay una gran cantidad de interacción con el ratón. 73 00:03:34,730 --> 00:03:39,780 Pero en realidad el terminal hace cosas muy buenas. 74 00:03:39,780 --> 00:03:43,990 >> En primer lugar, vamos a ir a través de algunos comandos que 75 00:03:43,990 --> 00:03:48,765 puede utilizar en el terminal. 76 00:03:48,765 --> 00:03:51,995 >> LAUREN CARVALHO Y no dude en pasar con nosotros si tiene alguna pregunta. 77 00:03:51,995 --> 00:03:52,830 >> LUCAS FREITAS: Si. 78 00:03:52,830 --> 00:04:01,950 Así que el primer comando que tenemos para el terminal es ls. 79 00:04:01,950 --> 00:04:06,450 ls básicamente significa lista de todo, todo los archivos y todos los directores, 80 00:04:06,450 --> 00:04:09,540 que tengo en el lugar que estoy. 81 00:04:09,540 --> 00:04:15,200 Así que si lo hago ls aquí, yo voy a ver que tengo algunos directorios. 82 00:04:15,200 --> 00:04:18,670 Tengo el escritorio, las descargas, los registros y los vhosts. 83 00:04:18,670 --> 00:04:21,260 Esos son en azul, ya que son todos los directorios. 84 00:04:21,260 --> 00:04:24,160 >> Entonces usted tiene algunos otros archivos. 85 00:04:24,160 --> 00:04:27,840 Tiene como hola y hello.c, que son sólo archivos, y están en 86 00:04:27,840 --> 00:04:28,910 diferentes colores. 87 00:04:28,910 --> 00:04:33,960 Así que este es un comando muy importante al igual se puede ver cuáles son los archivos 88 00:04:33,960 --> 00:04:37,690 y directorios que usted tiene en el directorio que 89 00:04:37,690 --> 00:04:39,410 usted está en el terminal. 90 00:04:39,410 --> 00:04:44,580 Cuando vea jharvard @ aparato y entonces el pequeño símbolo de allí, el 91 00:04:44,580 --> 00:04:49,185 tilde, eso sólo significa que esa es la directorio que usted está en este momento. 92 00:04:49,185 --> 00:04:52,970 >> LAUREN CARVALHO: Por tanto teclear ls es casi como hacer clic en la carpeta 93 00:04:52,970 --> 00:04:57,380 que aparece justo ahí, en la Muestra que todos los contenidos que son 94 00:04:57,380 --> 00:04:58,886 dentro de esa carpeta. 95 00:04:58,886 --> 00:05:04,232 >> AUDIENCIA: ¿Hay texto después de la hola.c? 96 00:05:04,232 --> 00:05:10,070 >> LAUREN CARVALHO: Oh, no puedes ver eso, porque es azul. 97 00:05:10,070 --> 00:05:12,490 >> LUCAS FREITAS: Dice registros y con dominios virtuales. 98 00:05:12,490 --> 00:05:14,450 >> LAUREN CARVALHO: Esos son sólo otras carpetas. 99 00:05:14,450 --> 00:05:16,890 Lo siento, es muy difícil de ver. 100 00:05:16,890 --> 00:05:19,090 Tal vez si apagamos las luces? 101 00:05:19,090 --> 00:05:23,002 Colton, ¿quieres probar y encontrar el interruptor de la luz? 102 00:05:23,002 --> 00:05:24,960 Lo siento por eso. 103 00:05:24,960 --> 00:05:25,675 Yo no pienso en ello. 104 00:05:25,675 --> 00:05:27,340 >> LUCAS FREITAS: Pero es básicamente - 105 00:05:27,340 --> 00:05:30,310 sí, si pudiera - 106 00:05:30,310 --> 00:05:32,278 >> LAUREN CARVALHO: Zoom en la pantalla. 107 00:05:32,278 --> 00:05:34,738 >> LUCAS FREITAS: no lo hago tienen esa característica. 108 00:05:34,738 --> 00:05:35,988 >> LAUREN CARVALHO: [inaudible]. 109 00:05:35,988 --> 00:05:39,528 110 00:05:39,528 --> 00:05:40,001 Aceptar. 111 00:05:40,001 --> 00:05:44,270 Bueno, no hay más que un montón de los recursos naturales la luz en esta habitación. 112 00:05:44,270 --> 00:05:48,726 >> LUCAS FREITAS: Vamos a suponer que hay otros dos directorios allí. 113 00:05:48,726 --> 00:05:49,780 >> LAUREN CARVALHO: Sólo tener con nosotros. 114 00:05:49,780 --> 00:05:54,200 Esta es la única parte que usted va a se busca en la terminal. 115 00:05:54,200 --> 00:06:00,160 >> LUCAS FREITAS: El siguiente comando es básicamente, tal vez usted quiere organizar 116 00:06:00,160 --> 00:06:01,080 sus archivos - 117 00:06:01,080 --> 00:06:05,015 por ejemplo, todos los archivos de C en una directorio, pero usted no tiene un 118 00:06:05,015 --> 00:06:07,180 directorio sólo para C presenta todavía. 119 00:06:07,180 --> 00:06:11,590 Es, básicamente, puede crear un directorio utilizando el terminal, así, que es 120 00:06:11,590 --> 00:06:15,670 lo mismo que hacer clic derecho y diciendo en Nueva carpeta. 121 00:06:15,670 --> 00:06:20,640 El comando se crea directorio, que es mkdir, por lo que, básicamente, "hacer" y 122 00:06:20,640 --> 00:06:21,260 "Directorio". 123 00:06:21,260 --> 00:06:22,680 >> Y entonces usted puede poner el nombre del directorio. 124 00:06:22,680 --> 00:06:32,490 Digamos que yo quería ser llamado, Yo no sé, digamos pset1 Doing 125 00:06:32,490 --> 00:06:33,900 esto, me acaba de crear un directorio. 126 00:06:33,900 --> 00:06:35,910 Vamos a comprobar que está allí. 127 00:06:35,910 --> 00:06:40,870 Así que si lo hago ls, ahora veo los registros, y entonces pset1, y luego vhosts. 128 00:06:40,870 --> 00:06:44,360 Así que tengo el nuevo directorio existe. 129 00:06:44,360 --> 00:06:46,670 >> Y luego, después de tener un nuevo directorio, tal vez usted quiere navegar 130 00:06:46,670 --> 00:06:51,760 en ella, por lo que el siguiente comando este cd, que, básicamente, sólo significa ir a un 131 00:06:51,760 --> 00:06:53,400 directorio específico. 132 00:06:53,400 --> 00:06:58,377 Así que si quiero ir a pset1, Yo sólo puedo hacer pset1 cd. 133 00:06:58,377 --> 00:07:01,550 >> LAUREN CARVALHO: cd representa el cambio directorio, [inaudible] capaz de 134 00:07:01,550 --> 00:07:02,230 recordar eso. 135 00:07:02,230 --> 00:07:05,460 >> LUCAS FREITAS Y ahora se ve que en lugar de sólo tener jharvard 136 00:07:05,460 --> 00:07:09,150 aparato, he jharvard aparato, y luego pset1, porque está mostrando 137 00:07:09,150 --> 00:07:14,150 conmigo donde yo estoy en este equipo. 138 00:07:14,150 --> 00:07:17,510 >> Ahora si quiero volver a la directorio que era antes de esta, me 139 00:07:17,510 --> 00:07:22,950 puede hacer un punto punto cd, que sólo significa ir al directorio que lo que era antes, 140 00:07:22,950 --> 00:07:26,290 como el padre de esta directorio, básicamente. 141 00:07:26,290 --> 00:07:30,460 Y ahora veo que estoy de nuevo a jharvard. 142 00:07:30,460 --> 00:07:36,050 >> La siguiente cosa que yo puedo hacerlo es rm, que es eliminar un archivo. 143 00:07:36,050 --> 00:07:39,590 Por ejemplo, primero vamos a hacer ls para ver lo que tengo aquí. 144 00:07:39,590 --> 00:07:41,790 Tengo hola y hello.c. 145 00:07:41,790 --> 00:07:43,780 Digamos que quiero eliminarlos. 146 00:07:43,780 --> 00:07:48,280 Yo puedo hacer hola rm. 147 00:07:48,280 --> 00:07:52,770 Se va a decir "eliminar archivo regular hola? "Y yo digo" sí. "Y ahora, si me 148 00:07:52,770 --> 00:07:56,410 hacer ls, veo que se trata de No hay más. 149 00:07:56,410 --> 00:07:59,700 >> Si trato de usar rm para un directorio, sin embargo, no va 150 00:07:59,700 --> 00:08:00,800 dejar de hacer nada. 151 00:08:00,800 --> 00:08:02,960 Se va a decir, oye, no se puede eliminar un directorio. 152 00:08:02,960 --> 00:08:08,100 Así que tenemos esta otra vienen llamado rmdir, que simplemente significa básicamente 153 00:08:08,100 --> 00:08:09,800 eliminar el directorio. 154 00:08:09,800 --> 00:08:12,842 Puedo, por ejemplo, eliminar pset1. 155 00:08:12,842 --> 00:08:15,770 Y si lo hago ls, no lo hago tener más. 156 00:08:15,770 --> 00:08:18,430 >> ¿Una pregunta sobre esto? 157 00:08:18,430 --> 00:08:20,200 No? 158 00:08:20,200 --> 00:08:20,595 ¿Sí? 159 00:08:20,595 --> 00:08:23,954 >> AUDIENCIA: ¿Es importante que deje un espacio después - siempre que 160 00:08:23,954 --> 00:08:26,540 comience a escribir algo en? 161 00:08:26,540 --> 00:08:26,830 >> LUCAS FREITAS: Si. 162 00:08:26,830 --> 00:08:32,080 Si lo hago como el CD y el directorio, Tengo que poner un espacio. 163 00:08:32,080 --> 00:08:33,350 ¿Qué espacio estás hablando? 164 00:08:33,350 --> 00:08:34,979 >> LAUREN CARVALHO: El espacio entre cd y [inaudible]. 165 00:08:34,979 --> 00:08:37,710 >> LUCAS FREITAS: Sí, usted tendrá que poner los espacios porque cd es la 166 00:08:37,710 --> 00:08:42,770 comando, y luego la siguiente cadena que que tipo es básicamente el directorio. 167 00:08:42,770 --> 00:08:45,020 Así que es como un argumento. 168 00:08:45,020 --> 00:08:45,360 ¿Sí? 169 00:08:45,360 --> 00:08:47,952 >> AUDIENCIA: Cuando usted enumera, todos aquellos son directorios diferentes, ¿no? 170 00:08:47,952 --> 00:08:50,125 >> LUCAS FREITAS: Sí, están en el directorio. 171 00:08:50,125 --> 00:08:53,524 >> AUDIENCIA: ¿Cuál es la diferencia entre los directorios? 172 00:08:53,524 --> 00:08:55,390 >> LUCAS FREITAS: Son simplemente diferentes carpetas. 173 00:08:55,390 --> 00:08:57,366 Directorio es una carpeta en su ordenador. 174 00:08:57,366 --> 00:08:58,120 >> AUDIENCIA: Abrir carpeta. 175 00:08:58,120 --> 00:09:00,140 >> LUCAS FREITAS: Sí, es sólo una carpeta abierta. 176 00:09:00,140 --> 00:09:03,400 >> LAUREN CARVALHO: Por aquí, las que están en azul son reales 177 00:09:03,400 --> 00:09:07,107 directorios que usted puede conseguir en y a continuación, ver un montón de cosas que son 178 00:09:07,107 --> 00:09:10,248 dentro de ella, lo cual es lamentable porque no se puede leer la realidad 179 00:09:10,248 --> 00:09:11,290 los de color azul. 180 00:09:11,290 --> 00:09:16,166 Y los que están en blanco son sólo archivos que están dentro del directorio actual. 181 00:09:16,166 --> 00:09:17,870 >> LUCAS FREITAS: So directorios son carpetas. 182 00:09:17,870 --> 00:09:18,810 Los otros son archivos. 183 00:09:18,810 --> 00:09:22,810 >> AUDIENCIA: ¿Cuál es el comando para restablecerlo o para desactivarla? 184 00:09:22,810 --> 00:09:23,650 LUCAS FREITAS: Para borrar? 185 00:09:23,650 --> 00:09:24,362 LAUREN CARVALHO: Para borrar? 186 00:09:24,362 --> 00:09:27,985 LUCAS FREITAS: Creo que que es "claro". Sí. 187 00:09:27,985 --> 00:09:32,370 Entonces sólo tiene que teclear claro si la pantalla es demasiado desordenado. 188 00:09:32,370 --> 00:09:33,700 ¿Alguna otra pregunta? 189 00:09:33,700 --> 00:09:36,720 Y aprenderás un montón de otras comandos de manera natural durante el 190 00:09:36,720 --> 00:09:38,405 semestre porque son muy útiles. 191 00:09:38,405 --> 00:09:42,380 192 00:09:42,380 --> 00:09:46,155 >> Así que ahora vamos a hablar de la compilación. 193 00:09:46,155 --> 00:09:51,510 194 00:09:51,510 --> 00:09:54,730 Hablamos de pseudocódigo y código fuente y el código objeto. 195 00:09:54,730 --> 00:09:59,020 Y hay una gran cantidad de códigos, y tal vez ustedes están confundidos acerca de eso. 196 00:09:59,020 --> 00:10:02,190 Vamos a hablar un poco sobre lo que que sucede cuando estás escribiendo un programa, 197 00:10:02,190 --> 00:10:06,620 y compilarlo, y se convierte en un archivo ejecutable. 198 00:10:06,620 --> 00:10:10,190 Esas son todas las palabras que ustedes probablemente ha escuchado, y tal vez usted no está 199 00:10:10,190 --> 00:10:12,130 muy seguro de lo que está pasando. 200 00:10:12,130 --> 00:10:15,540 >> Digamos, por ejemplo, que quiero escribir un programa que dice "hola". La 201 00:10:15,540 --> 00:10:19,670 lo primero que viene a tu mente es que tipo de trata de pensar en cómo eres 202 00:10:19,670 --> 00:10:23,000 va a hacer eso en tu mente, y seguro que está pensando en Inglés o 203 00:10:23,000 --> 00:10:25,550 algún otro idioma, como naturales lenguaje, probablemente. 204 00:10:25,550 --> 00:10:28,770 Y entonces piensas, bueno, si quiero, por ejemplo, escribir un programa que 205 00:10:28,770 --> 00:10:32,630 dice "hola", me gustaría empezar un programa, Voy a imprimir hola y, a continuación, lo haré 206 00:10:32,630 --> 00:10:35,270 salir del programa. 207 00:10:35,270 --> 00:10:36,350 Este es pseudocódigo. 208 00:10:36,350 --> 00:10:41,740 Esto es, básicamente, sólo estás tratando de llegar a una secuencia de eventos 209 00:10:41,740 --> 00:10:46,510 que vas a hacer para ser capaz de escribir un programa. 210 00:10:46,510 --> 00:10:49,610 >> Entonces usted tiene el código fuente, y el código fuente no tiene que 211 00:10:49,610 --> 00:10:53,240 estar específicamente en C. Estamos hablando sobre el código fuente en C, porque eso es 212 00:10:53,240 --> 00:10:56,760 la lengua que estamos aprendiendo, pero por supuesto código puede ser casi cualquier 213 00:10:56,760 --> 00:10:59,160 lenguaje de programación que usted tiene. 214 00:10:59,160 --> 00:11:01,230 Más adelante en el semestre, vas para aprender otros idiomas. 215 00:11:01,230 --> 00:11:03,230 Ese es también el código fuente. 216 00:11:03,230 --> 00:11:07,380 >> Por ejemplo, aquí, esta es mi fuente código, y luego estoy incluyendo un 217 00:11:07,380 --> 00:11:10,170 biblioteca, y entonces empiezo principal, y luego imprimo. 218 00:11:10,170 --> 00:11:14,510 Y Laura se va a hablar un poco poco acerca de todo esto. 219 00:11:14,510 --> 00:11:16,190 Así que este es el código fuente. 220 00:11:16,190 --> 00:11:19,590 >> ¿Y cuál es el código de objeto? 221 00:11:19,590 --> 00:11:22,500 El objeto es un montón de ceros y otros, básicamente. 222 00:11:22,500 --> 00:11:27,680 Lo que pasa es que inicialmente tiene pseudocódigo, que es todo en Inglés. 223 00:11:27,680 --> 00:11:29,020 Y quiero decir, usted lo entiende. 224 00:11:29,020 --> 00:11:31,260 Probablemente tus amigos entienden , y la mayoría de la gente lo haría 225 00:11:31,260 --> 00:11:32,560 entender la idea. 226 00:11:32,560 --> 00:11:36,770 Pero las computadoras son muy tonto, y no entienden Inglés, por lo que 227 00:11:36,770 --> 00:11:41,320 han traducir eso en algo, generalmente traducido en algunos 228 00:11:41,320 --> 00:11:42,460 lenguaje de programación. 229 00:11:42,460 --> 00:11:46,840 >> Y se puede pensar en una programación el lenguaje como algo así como un lenguaje 230 00:11:46,840 --> 00:11:50,970 que informe a su equipo cómo de hablar y de entender. 231 00:11:50,970 --> 00:11:54,160 Básicamente, se está escribiendo algo en un lenguaje que ambos usted y su 232 00:11:54,160 --> 00:11:55,190 equipo entiende. 233 00:11:55,190 --> 00:11:56,470 Ese es el código fuente. 234 00:11:56,470 --> 00:12:00,580 Forma Así que va a la fuente de pseudocódigo código, le toca a usted. 235 00:12:00,580 --> 00:12:03,130 Se trata básicamente de que hacer su programa. 236 00:12:03,130 --> 00:12:06,740 >> Pero el problema es que el ordenador no incluso 237 00:12:06,740 --> 00:12:08,360 comprender el lenguaje de programación. 238 00:12:08,360 --> 00:12:10,320 No entiende código fuente en absoluto. 239 00:12:10,320 --> 00:12:12,520 En realidad, sólo entiende ceros y unos. 240 00:12:12,520 --> 00:12:16,570 Así que tenemos esta cosa muy mágica llamada un compilador, que es básicamente 241 00:12:16,570 --> 00:12:19,755 va a poner la fuente llamada que escribió en un idioma que tanto usted 242 00:12:19,755 --> 00:12:25,320 y su equipo hablan, y ahora tú eres va a transformar de que en 243 00:12:25,320 --> 00:12:26,270 ceros y unos. 244 00:12:26,270 --> 00:12:30,860 Así que básicamente lo que el compilador hace es se pone el código fuente, en este caso C, 245 00:12:30,860 --> 00:12:34,100 que va a la transforman en ceros y los que la computadora 246 00:12:34,100 --> 00:12:37,440 entiende y puede hacer una archivo ejecutable fuera de él. 247 00:12:37,440 --> 00:12:40,900 >> ¿Eso tiene sentido? 248 00:12:40,900 --> 00:12:45,300 Usted sólo puede pensar en el compilador como una especie de traductor que esté 249 00:12:45,300 --> 00:12:50,280 ayudar a explicar a la computadora exactamente lo que se supone que debe hacer. 250 00:12:50,280 --> 00:12:52,310 >> Pero ¿cómo puedo compilar. 251 00:12:52,310 --> 00:12:59,680 Volvamos al aparato, y digamos que estoy haciendo ese programa. 252 00:12:59,680 --> 00:13:04,220 En primer lugar voy a crear un directorio aquí, y yo voy a llamarlo 253 00:13:04,220 --> 00:13:11,130 "Práctica". Ahora me voy a navegar en el directorio, por lo que la práctica cd. 254 00:13:11,130 --> 00:13:13,210 Ahora estoy dentro de la práctica. 255 00:13:13,210 --> 00:13:16,860 >> Ahora quiero empezar gedit, así que ¿cómo lo hago? 256 00:13:16,860 --> 00:13:21,920 Yo tampoco puedo hacer clic aquí, o puedo simplemente literalmente escribir "gedit", y va 257 00:13:21,920 --> 00:13:24,290 abrir para mí. 258 00:13:24,290 --> 00:13:28,100 >> Ahora voy a escribir mi programa, por lo que exactamente lo que escribí en la diapositiva. 259 00:13:28,100 --> 00:13:30,360 Estoy declarando una biblioteca. 260 00:13:30,360 --> 00:13:35,440 Estoy haciendo int main, nula. 261 00:13:35,440 --> 00:13:39,180 Y ahora que estoy haciendo printf, hola. 262 00:13:39,180 --> 00:13:46,530 263 00:13:46,530 --> 00:13:50,170 Ahora me voy a guardar esto. 264 00:13:50,170 --> 00:13:53,665 Déjame ponerlo en práctica, y Voy a llamar a este hello.c. 265 00:13:53,665 --> 00:13:57,710 266 00:13:57,710 --> 00:13:59,590 Así que ahora se transforma en gol. 267 00:13:59,590 --> 00:14:03,250 >> Si quiero compilarlo, yo en realidad puede hacerlo en dos lugares diferentes. 268 00:14:03,250 --> 00:14:07,090 Ya sea que puedo hacerlo en una ventana de terminal, por lo que este grande, o puede 269 00:14:07,090 --> 00:14:09,860 utilizar gedit que tiene en realidad una ventana de terminal aquí. 270 00:14:09,860 --> 00:14:17,890 Así que usted puede hacer muy bien su código, y entonces usted puede escribir simplemente 271 00:14:17,890 --> 00:14:20,670 lo que sea aquí, y tratar de compilarlo. 272 00:14:20,670 --> 00:14:23,450 >> Entonces, ¿cómo puedo compilar código? 273 00:14:23,450 --> 00:14:27,495 La forma más sencilla que tenemos es mediante el uso de hacer, que es una función que 274 00:14:27,495 --> 00:14:29,590 básicamente se va a compilar el código. 275 00:14:29,590 --> 00:14:34,170 Sólo tienes que decir hola a hacer, por lo que "Hacer" y el nombre del programa. 276 00:14:34,170 --> 00:14:35,420 >> Lo sentimos. 277 00:14:35,420 --> 00:14:38,250 278 00:14:38,250 --> 00:14:39,280 Esto es incómodo. 279 00:14:39,280 --> 00:14:41,738 >> LAUREN CARVALHO: Puede que [inaudible]? 280 00:14:41,738 --> 00:14:45,182 281 00:14:45,182 --> 00:14:45,990 >> LUCAS FREITAS: Lo siento. 282 00:14:45,990 --> 00:14:49,960 Yo no la salvo a ella en el directorio correcto. 283 00:14:49,960 --> 00:14:52,130 Ven a la práctica, y ahora guardarlo como hello.c. 284 00:14:52,130 --> 00:14:54,750 Lo siento. 285 00:14:54,750 --> 00:14:56,250 Ahora ya se ha guardado. 286 00:14:56,250 --> 00:14:58,300 >> Permítanme hacer ls y ser Seguro que está aquí. 287 00:14:58,300 --> 00:14:59,460 Bien, ahora que está aquí. 288 00:14:59,460 --> 00:15:05,930 Así que ahora si lo hago hacer hola, escupe un montón de cosas, pero entonces, sólo se da 289 00:15:05,930 --> 00:15:08,870 me otra línea para la terminal, que significa que se ha realizado correctamente. 290 00:15:08,870 --> 00:15:13,160 Así que ahora si hago un ls de nuevo, en realidad ver este archivo en verde, que es el 291 00:15:13,160 --> 00:15:15,470 archivo ejecutable. 292 00:15:15,470 --> 00:15:21,700 >> Y entonces, si quiero correr, todos los que Que tengo que hacer es slash dot hola. 293 00:15:21,700 --> 00:15:25,830 Se va a saludar aquí, por lo que es exactamente lo que estoy pidiendo que lo haga. 294 00:15:25,830 --> 00:15:29,620 >> Hay una forma más de la compilación, que está usando sonido metálico. 295 00:15:29,620 --> 00:15:35,740 Clang es sólo un compilador que tenemos, y es un poco más detallado de 296 00:15:35,740 --> 00:15:36,390 compilarlo. 297 00:15:36,390 --> 00:15:40,180 Pero funciona igual de bien. 298 00:15:40,180 --> 00:15:46,810 Así que si lo hago ruido metálico, y luego-o, y luego el nombre que quiero dar a 299 00:15:46,810 --> 00:15:50,400 el archivo ejecutable, por lo que vamos a decir "Hola." Y a continuación, el archivo que quiero 300 00:15:50,400 --> 00:15:53,460 compilar, hello.c. 301 00:15:53,460 --> 00:15:55,900 También va a compilar. 302 00:15:55,900 --> 00:15:59,020 Y usted tiene el archivo aquí, y Yo sólo puedo ejecutarlo también. 303 00:15:59,020 --> 00:16:00,610 Así que ambos trabajan. 304 00:16:00,610 --> 00:16:03,270 >> ¿Eso tiene sentido? 305 00:16:03,270 --> 00:16:06,020 ¿Alguna pregunta? 306 00:16:06,020 --> 00:16:09,020 >> AUDIENCIA: ¿Puede ampliar dentro de un rato? 307 00:16:09,020 --> 00:16:09,913 >> LUCAS FREITAS: ¿Lo sientes? 308 00:16:09,913 --> 00:16:11,135 >> AUDIENCIA: Zoom in? 309 00:16:11,135 --> 00:16:13,310 >> LAUREN CARVALHO: Creo que sólo puede ordenar más. 310 00:16:13,310 --> 00:16:14,295 >> LUCAS FREITAS: Manda a qué? 311 00:16:14,295 --> 00:16:16,060 >> LAUREN CARVALHO: Comando plus. 312 00:16:16,060 --> 00:16:17,000 >> LUCAS FREITAS: No. 313 00:16:17,000 --> 00:16:19,350 >> LAUREN CARVALHO: Oh, eso no es ir a trabajar, porque - 314 00:16:19,350 --> 00:16:25,548 es porque hemos creado la resolución por esto. 315 00:16:25,548 --> 00:16:27,450 >> LUCAS FREITAS: no lo hago pensamos que podemos agrandar 316 00:16:27,450 --> 00:16:30,852 317 00:16:30,852 --> 00:16:34,130 Sí, no podemos hacer zoom. 318 00:16:34,130 --> 00:16:36,200 ¿Tienes otra pregunta? 319 00:16:36,200 --> 00:16:36,680 Lo siento. 320 00:16:36,680 --> 00:16:39,170 >> AUDIENCIA: ¿Puede repetir sonido metálico? 321 00:16:39,170 --> 00:16:40,630 >> LUCAS FREITAS: El sonido metálico? 322 00:16:40,630 --> 00:16:44,190 Clang es lo mismo que hacer, pero el diferencia es que primero voy 323 00:16:44,190 --> 00:16:48,460 para escribir sonido metálico, que es el comando, entonces yo voy a hacer -0, todos, lo cual es 324 00:16:48,460 --> 00:16:51,680 justo lo que vamos a aprender más tarde como una bandera. 325 00:16:51,680 --> 00:16:54,440 Así que creo que siempre tienes que poner-o. 326 00:16:54,440 --> 00:16:58,690 >> Y a continuación, en primer lugar, usted va a poner el nombre del archivo ejecutable, 327 00:16:58,690 --> 00:17:00,680 básicamente el archivo que estás va a crear. 328 00:17:00,680 --> 00:17:06,430 Así que puedo decir, por ejemplo, hello2 y entonces el archivo que quiero recopilar, 329 00:17:06,430 --> 00:17:07,800 que es el archivo c.. 330 00:17:07,800 --> 00:17:09,240 Así que eso es hello.c. 331 00:17:09,240 --> 00:17:10,871 ¿Eso tiene sentido? 332 00:17:10,871 --> 00:17:12,635 >> AUDIENCIA: Hola, ¿qué? 333 00:17:12,635 --> 00:17:13,076 ¿Qué es eso? 334 00:17:13,076 --> 00:17:15,960 >> LUCAS FREITAS: hello.c. 335 00:17:15,960 --> 00:17:19,849 Y si puedo compilar, y si Yo ls, también tengo un 336 00:17:19,849 --> 00:17:22,010 hello2 que acaba de compilar. 337 00:17:22,010 --> 00:17:26,339 Y si trato de ejecutarlo, que va a hacer exactamente lo mismo que hola, 338 00:17:26,339 --> 00:17:27,089 sólo imprimir hola. 339 00:17:27,089 --> 00:17:31,660 >> AUDIENCIA: ¿Cómo es que para la marca usted puede poner hola.c después? 340 00:17:31,660 --> 00:17:33,880 >> LUCAS FREITAS: En la marca, que no tienen que poner el. c. 341 00:17:33,880 --> 00:17:36,140 En la marca, que acaba de decir el el nombre del programa. 342 00:17:36,140 --> 00:17:37,750 Usted no tiene que decir. C. 343 00:17:37,750 --> 00:17:39,020 Pero para clang, debería hacerlo. 344 00:17:39,020 --> 00:17:44,040 >> AUDIENCIA: Con sonido metálico hace también hay que añadir la [inaudible] 345 00:17:44,040 --> 00:17:44,480 >> LAUREN CARVALHO: Si. 346 00:17:44,480 --> 00:17:46,180 Así que usted también tiene a la biblioteca. 347 00:17:46,180 --> 00:17:51,170 >> LUCAS FREITAS: Sí, eso es algo vamos a utilizar más adelante. 348 00:17:51,170 --> 00:17:54,850 Eso se llama de enlace, y creo que estamos vamos a hablar de ello más tarde. 349 00:17:54,850 --> 00:17:55,930 Otra pregunta? 350 00:17:55,930 --> 00:17:59,927 >> AUDIENCIA: ¿Pones un sonido metálico slash dot? 351 00:17:59,927 --> 00:18:01,060 >> LUCAS FREITAS: No. 352 00:18:01,060 --> 00:18:06,040 La barra de puntos es sólo para abrir el archivo ejecutable. 353 00:18:06,040 --> 00:18:09,440 Así clang, que acaba de escribir "clang", y entonces el si quieres abrir el 354 00:18:09,440 --> 00:18:12,640 archivo ejecutable que acaba compilado, entonces usted dot 355 00:18:12,640 --> 00:18:13,780 tala y el nombre. 356 00:18:13,780 --> 00:18:15,100 ¿Eso tiene sentido? 357 00:18:15,100 --> 00:18:18,635 358 00:18:18,635 --> 00:18:22,435 >> AUDIENCIA: Si se va a cambiar solo [Inaudible] para hola mundo, ¿verdad 359 00:18:22,435 --> 00:18:23,870 tener que recompilar? 360 00:18:23,870 --> 00:18:24,750 >> LUCAS FREITAS: Si. 361 00:18:24,750 --> 00:18:36,650 si quiero decir, por ejemplo, "hola allí, "Sólo se puede guardar ahora, y yo 362 00:18:36,650 --> 00:18:38,020 sólo compilarlo de nuevo. 363 00:18:38,020 --> 00:18:41,910 Así que déjame hacer un make hola. 364 00:18:41,910 --> 00:18:48,490 Y si lo hago hola, que va a decir "hola." Tiene sentido? 365 00:18:48,490 --> 00:18:50,280 ¿Alguna otra pregunta? 366 00:18:50,280 --> 00:18:54,384 >> AUDIENCIA: ¿Tiene que incluir la E / S estándar para coordinar el trabajo? 367 00:18:54,384 --> 00:18:55,480 >> LUCAS FREITAS: Si. 368 00:18:55,480 --> 00:18:58,050 La E / S estándar es básicamente la biblioteca que tiene un 369 00:18:58,050 --> 00:19:00,050 aplicación de printf. 370 00:19:00,050 --> 00:19:03,450 371 00:19:03,450 --> 00:19:06,910 Así que lo correcto en el superior incluye stdio. 372 00:19:06,910 --> 00:19:11,920 Eso está incluyendo una biblioteca que básicamente, tiene un montón de diferentes 373 00:19:11,920 --> 00:19:13,260 herramientas que se pueden utilizar. 374 00:19:13,260 --> 00:19:13,480 uno? 375 00:19:13,480 --> 00:19:17,820 De ellos es printf es una función que básicamente impresiones 376 00:19:17,820 --> 00:19:21,290 mensajes en la pantalla. 377 00:19:21,290 --> 00:19:23,200 >> ¿Alguna otra pregunta? 378 00:19:23,200 --> 00:19:24,700 No? 379 00:19:24,700 --> 00:19:25,060 Aceptar. 380 00:19:25,060 --> 00:19:31,620 Así que ahora vamos a hablar de - 381 00:19:31,620 --> 00:19:33,948 >> LAUREN CARVALHO: Vamos a ir a la guía de estilo. 382 00:19:33,948 --> 00:19:35,896 ¿Quieres simplemente encontrar en esta lista? 383 00:19:35,896 --> 00:19:37,880 >> LUCAS FREITAS: Así que vamos para hablar de estilo. 384 00:19:37,880 --> 00:19:47,006 385 00:19:47,006 --> 00:19:50,430 >> LAUREN CARVALHO: Oh, David no terminó. 386 00:19:50,430 --> 00:19:51,230 Aceptar. 387 00:19:51,230 --> 00:19:53,870 ¿Por qué no volvemos a estilo en el final? 388 00:19:53,870 --> 00:19:56,220 En realidad, ha sido actualizado mientras hablamos. 389 00:19:56,220 --> 00:19:56,810 >> LUCAS FREITAS: Si. 390 00:19:56,810 --> 00:19:58,300 Vamos camino a David para terminar eso. 391 00:19:58,300 --> 00:20:07,150 392 00:20:07,150 --> 00:20:08,600 >> LAUREN CARVALHO: Lata cambiamos realmente? 393 00:20:08,600 --> 00:20:14,920 394 00:20:14,920 --> 00:20:17,200 >> Así que espero que todo el mundo ha sido disfrutando de Scratch. 395 00:20:17,200 --> 00:20:21,950 Por desgracia, es el momento de alejarse de esto - 396 00:20:21,950 --> 00:20:25,280 por desgracia es el momento de alejarse a partir de estos bloques de programación bonitas 397 00:20:25,280 --> 00:20:28,530 a C. Pero por suerte, todo el construcciones de programación que usted tiene 398 00:20:28,530 --> 00:20:32,370 estado trabajando con Scratch son directamente traducible a C, y estamos 399 00:20:32,370 --> 00:20:35,130 va a comenzar a aprender acerca de algunos de ellos en este momento. 400 00:20:35,130 --> 00:20:39,200 Primero hablemos acerca de las condiciones en expresiones booleanas. 401 00:20:39,200 --> 00:20:41,944 >> Esto se está ejecutando en la reserva energía de la batería. 402 00:20:41,944 --> 00:20:43,912 >> LUCAS FREITAS: ¿Cómo es que no 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 Uno va allí, voy a conseguir el - 406 00:20:50,256 --> 00:20:53,700 407 00:20:53,700 --> 00:20:57,390 >> LAUREN CARVALHO: Así que las condiciones son importantes porque nos permiten 408 00:20:57,390 --> 00:21:00,588 introducir la lógica en nuestros programas. 409 00:21:00,588 --> 00:21:04,620 He aquí un ejemplo de una condición dentro de un programa en C. 410 00:21:04,620 --> 00:21:06,130 Notemos cómo este - 411 00:21:06,130 --> 00:21:11,324 Así que este bloque condiciones aquí, esta sentencia printf no se ejecutará 412 00:21:11,324 --> 00:21:14,860 a menos que la condición dentro de la paréntesis, n mayor que 0, 413 00:21:14,860 --> 00:21:16,800 evalúa en true. 414 00:21:16,800 --> 00:21:20,780 >> Ahora, todas las condiciones dentro de f declaraciones son expresiones booleanas, 415 00:21:20,780 --> 00:21:22,970 lo que significa que hay son sólo dos opciones. 416 00:21:22,970 --> 00:21:26,856 O bien podrían evaluarse como true, o que puedan evaluar en false. 417 00:21:26,856 --> 00:21:33,174 Así que aquí, así que esto tiene sentido, ¿verdad? n mayor que 0, significa que es un positivo 418 00:21:33,174 --> 00:21:41,160 número, lo que significa que se imprimirá out "que eligió un número positivo." 419 00:21:41,160 --> 00:21:44,630 >> Hay un montón de expresiones booleanas que puede formar la condición con una 420 00:21:44,630 --> 00:21:47,190 declaración init. 421 00:21:47,190 --> 00:21:48,520 Tenemos el menor que. 422 00:21:48,520 --> 00:21:50,950 Esto es menos que o igual a. 423 00:21:50,950 --> 00:21:52,200 Esto es sólo un divertido [inaudible]. 424 00:21:52,200 --> 00:21:54,800 425 00:21:54,800 --> 00:22:01,630 Si desea que el printf que se produzca si se trata de mayor que o igual a 0, entonces 426 00:22:01,630 --> 00:22:03,345 usted elegiría esto. 427 00:22:03,345 --> 00:22:07,750 Así que la igualdad sólo anexa derecho después de que el signo mayor que. 428 00:22:07,750 --> 00:22:12,030 >> Igual Igual, que es diferente de sólo un signo de igual, igual igual 429 00:22:12,030 --> 00:22:16,430 en realidad significa que todo lo que de en el lado izquierdo de esta es el mismo que 430 00:22:16,430 --> 00:22:20,610 lo que hay en la parte derecha de esta donde uno signo igual es lo que? 431 00:22:20,610 --> 00:22:23,333 Lo que es sólo un signo igual? 432 00:22:23,333 --> 00:22:24,275 Asignación. 433 00:22:24,275 --> 00:22:25,985 >> LUCAS FREITAS: ¿Quién dijo eso? 434 00:22:25,985 --> 00:22:27,170 ¿Es que los dulces? 435 00:22:27,170 --> 00:22:27,370 Oh, no. 436 00:22:27,370 --> 00:22:27,885 Lo siento. 437 00:22:27,885 --> 00:22:28,210 Lo siento. 438 00:22:28,210 --> 00:22:30,400 Ambos dan caramelos. 439 00:22:30,400 --> 00:22:31,510 Oh, OK! 440 00:22:31,510 --> 00:22:33,046 Tres personas se caramelos! 441 00:22:33,046 --> 00:22:37,393 >> LAUREN CARVALHO: Así que esta de aquí es el operador de la explosión anterior 442 00:22:37,393 --> 00:22:40,240 el signo igual, por lo que es no es igual a. 443 00:22:40,240 --> 00:22:46,560 Así que si esto estaba dentro de mi condición, el cuerpo de la afección 444 00:22:46,560 --> 00:22:49,615 ejecutar sólo si lo está en la izquierda no es el mismo que 445 00:22:49,615 --> 00:22:52,540 lo que está a la derecha. 446 00:22:52,540 --> 00:22:57,680 >> También puedo tener sólo el signo de exclamación. 447 00:22:57,680 --> 00:23:01,250 En realidad vamos a ver en una característica deslice cómo esto podría ser utilizado. 448 00:23:01,250 --> 00:23:03,830 >> LUCAS FREITAS: ¿Alguna pregunta? 449 00:23:03,830 --> 00:23:06,450 No? 450 00:23:06,450 --> 00:23:10,460 >> LAUREN CARVALHO: Podemos combinar estos Expresiones booleanas para construir más 451 00:23:10,460 --> 00:23:12,500 sentencias condicionales complejas. 452 00:23:12,500 --> 00:23:19,680 Así que aquí, si lo que haya a la izquierda lado de la doble barra o 453 00:23:19,680 --> 00:23:23,160 lo que está en el lado derecho de doble barra y se evalúa como verdadera, 454 00:23:23,160 --> 00:23:25,700 a continuación, vamos a imprimir fuera válido. 455 00:23:25,700 --> 00:23:29,503 Y luego aquí abajo, si lo que sea que en el lado de la mano izquierda de los dos 456 00:23:29,503 --> 00:23:33,480 los símbolos de unión y lo que haya en el derecho lado de los dos símbolos de unión 457 00:23:33,480 --> 00:23:37,470 se evalúa como verdadera, entonces vamos a imprimir fuera válido. 458 00:23:37,470 --> 00:23:42,195 Las dobles barras se llaman la lógica Operador O los dobles son símbolos de unión 459 00:23:42,195 --> 00:23:44,190 llamado el operador lógico AND. 460 00:23:44,190 --> 00:23:44,648 ¿Sí? 461 00:23:44,648 --> 00:23:47,850 >> AUDIENCIA: ¿Esos son sólo minúsculas l's? 462 00:23:47,850 --> 00:23:48,620 >> LAUREN CARVALHO: No. 463 00:23:48,620 --> 00:23:50,890 En realidad, son - 464 00:23:50,890 --> 00:23:55,134 usted sabe la reacción, como por encima de la tecla de retorno? 465 00:23:55,134 --> 00:23:56,585 ¿Ves eso? 466 00:23:56,585 --> 00:23:57,940 >> LUCAS FREITAS: En realidad es un bar. 467 00:23:57,940 --> 00:24:02,100 >> LAUREN CARVALHO: En realidad es sólo dos bares. 468 00:24:02,100 --> 00:24:05,724 >> AUDIENCIA: ¿Se puede utilizar la igual igual para las cadenas? 469 00:24:05,724 --> 00:24:07,000 >> LUCAS FREITAS: No. 470 00:24:07,000 --> 00:24:09,130 Vamos a aprender más tarde algo al respecto. 471 00:24:09,130 --> 00:24:10,735 >> LAUREN CARVALHO: Hay una función que se puede utilizar. 472 00:24:10,735 --> 00:24:12,644 Pero usted no tiene que preocuparse de que por el momento. 473 00:24:12,644 --> 00:24:15,530 474 00:24:15,530 --> 00:24:18,270 >> ¿Qué pasa si le doy a este programa el número 5? 475 00:24:18,270 --> 00:24:20,850 ¿Qué va a imprimir? 476 00:24:20,850 --> 00:24:22,100 >> AUDIENCIA: [inaudible] 477 00:24:22,100 --> 00:24:27,780 478 00:24:27,780 --> 00:24:28,275 válida. 479 00:24:28,275 --> 00:24:29,770 >> LAUREN CARVALHO: Válido? 480 00:24:29,770 --> 00:24:30,135 Sí. 481 00:24:30,135 --> 00:24:34,092 Yo no sé quién puso eso. 482 00:24:34,092 --> 00:24:35,036 >> [Risas] 483 00:24:35,036 --> 00:24:37,990 >> LAUREN CARVALHO: Eso es algo de miedo [inaudible]. 484 00:24:37,990 --> 00:24:40,900 >> AUDIENCIA: Así que el matrimonio y, y eso sólo significa? 485 00:24:40,900 --> 00:24:41,740 >> LAUREN CARVALHO: Si. 486 00:24:41,740 --> 00:24:46,160 Así que el número 5 es a la vez una mayor que 0 y menor que 100. 487 00:24:46,160 --> 00:24:48,970 >> AUDIENCIA: ¿Por qué sería una? 488 00:24:48,970 --> 00:24:51,350 >> LAUREN CARVALHO: Un signo es en realidad algo diferente, y es 489 00:24:51,350 --> 00:24:53,390 un operador bit a bit, que usted aprender acerca de más adelante. 490 00:24:53,390 --> 00:24:58,250 Pero es algo que realmente funciona con los bits de un número dado. 491 00:24:58,250 --> 00:25:00,872 >> LUCAS FREITAS: Simplemente creo que no lo hacen tener que preocuparse por ello por ahora. 492 00:25:00,872 --> 00:25:04,590 >> LAUREN CARVALHO: Creo que es probable que sea que hasta la próxima semana. 493 00:25:04,590 --> 00:25:06,420 >> LUCAS FREITAS: ¿Alguna otra pregunta? 494 00:25:06,420 --> 00:25:07,990 No? 495 00:25:07,990 --> 00:25:12,480 >> LAUREN CARVALHO: Así hemos visto que un se bloquea puede estar solo, pero puede 496 00:25:12,480 --> 00:25:15,370 También se combina con y otra cuadra. 497 00:25:15,370 --> 00:25:18,880 Así pues, en este caso, si n es mayor que 0, nos vamos a imprimir "Usted 498 00:25:18,880 --> 00:25:23,855 elegido un número positivo. "else, que significa si es 0 o si es menos 499 00:25:23,855 --> 00:25:27,170 de 0, que vamos a imprimir, "Usted escogió un número negativo." 500 00:25:27,170 --> 00:25:30,390 >> Lo interesante aquí es que estos son excluyentes entre sí. 501 00:25:30,390 --> 00:25:33,940 Nunca va a ser un caso en el que este y este 502 00:25:33,940 --> 00:25:35,544 puede tanto imprimir. 503 00:25:35,544 --> 00:25:38,190 504 00:25:38,190 --> 00:25:41,030 >> Estoy seguro de que usted trabajó con el if / else caja en Scratch, por lo que este debe ser 505 00:25:41,030 --> 00:25:42,392 bastante familiar. 506 00:25:42,392 --> 00:25:42,874 ¿Sí? 507 00:25:42,874 --> 00:25:48,522 >> AUDIENCIA: ¿Necesitamos el espacio entre int n es igual GetInt entonces el espacio en el 508 00:25:48,522 --> 00:25:49,460 if? 509 00:25:49,460 --> 00:25:51,565 Como utilizamos una línea [inaudible] 510 00:25:51,565 --> 00:25:52,790 >> LAUREN CARVALHO: Oh, el espacio de aquí? 511 00:25:52,790 --> 00:25:56,742 >> AUDIENCIA: Al igual que eso, pero el doble de espacio. 512 00:25:56,742 --> 00:25:58,718 No, ir para arriba. 513 00:25:58,718 --> 00:25:59,706 Suba. 514 00:25:59,706 --> 00:26:00,610 >> LUCAS FREITAS: Sólo la línea? 515 00:26:00,610 --> 00:26:01,140 >> AUDIENCIA: Si. 516 00:26:01,140 --> 00:26:02,870 >> LUCAS FREITAS: Sólo la línea en blanco? 517 00:26:02,870 --> 00:26:03,270 >> AUDIENCIA: Si. 518 00:26:03,270 --> 00:26:04,070 >> LAUREN CARVALHO: Línea en blanco? 519 00:26:04,070 --> 00:26:04,470 No. 520 00:26:04,470 --> 00:26:06,320 Eso es sólo una cosa de estilo. 521 00:26:06,320 --> 00:26:09,360 >> LUCAS FREITAS: Es igual que en ocasiones que acaba de saltarse algunas líneas de lo 522 00:26:09,360 --> 00:26:12,330 que el código no se ve como un enorme bloque de texto. 523 00:26:12,330 --> 00:26:15,800 >> LAUREN CARVALHO: Creo que lo que pasó era que teníamos un comentario aquí, pero me 524 00:26:15,800 --> 00:26:18,220 lo sacó para que ustedes tendrían pensar en el código en lugar 525 00:26:18,220 --> 00:26:19,920 que acaba de leer mi comentario. 526 00:26:19,920 --> 00:26:24,170 En general, el espacio no lo hará realmente afectar a la forma en que su programa se ejecuta. 527 00:26:24,170 --> 00:26:26,070 Es más una cosa de estilo. 528 00:26:26,070 --> 00:26:29,460 Y cuando tenemos la guía de estilo actualizado y listo para funcionar a finales de 529 00:26:29,460 --> 00:26:33,260 supersección, hablaremos sobre eso más. 530 00:26:33,260 --> 00:26:34,660 >> Hay algo mal con este programa, ¿no? 531 00:26:34,660 --> 00:26:38,980 Debido a 0 no es realmente un número negativo. 532 00:26:38,980 --> 00:26:40,270 Así que vamos a ver si podemos arreglar eso. 533 00:26:40,270 --> 00:26:45,710 534 00:26:45,710 --> 00:26:48,370 >> Usted probablemente puede imaginar con esto, dice, ¿no? 535 00:26:48,370 --> 00:26:52,850 Si n es mayor que 0, imprimimos, "Usted elegido un número positivo. "Entonces lo demás 536 00:26:52,850 --> 00:26:57,340 si n es menor que 0, "Usted escogió una número negativo. "cosa" Elegiste 537 00:26:57,340 --> 00:27:01,040 0. " 538 00:27:01,040 --> 00:27:06,030 >> Ahora lo interesante es que esto podría continuar para siempre. 539 00:27:06,030 --> 00:27:10,020 Usted puede tener un bloque if, else si bloque, otra cosa si el bloque, más si, 540 00:27:10,020 --> 00:27:14,790 else if, else if, else, básicamente como el tiempo que quieras. 541 00:27:14,790 --> 00:27:17,110 Y cuando se construyen de esta manera, de que todo va a ser 542 00:27:17,110 --> 00:27:19,206 excluyentes entre sí. 543 00:27:19,206 --> 00:27:19,650 ¿Sí? 544 00:27:19,650 --> 00:27:24,130 >> AUDIENCIA: ¿Entonces por qué no puedes utilizar otro, si en lugar de [inaudible]? 545 00:27:24,130 --> 00:27:26,990 >> LAUREN CARVALHO: En este caso, sí que podría utilizar otro si, y sería 546 00:27:26,990 --> 00:27:29,190 absolutamente bien porque la condiciones sí son 547 00:27:29,190 --> 00:27:30,600 excluyentes entre sí. 548 00:27:30,600 --> 00:27:33,560 Pero si las condiciones no eran exclusivos el uno del otro, esta haría 549 00:27:33,560 --> 00:27:37,596 obligarlos a evaluar nunca ambos, si eso tiene sentido. 550 00:27:37,596 --> 00:27:44,195 >> AUDIENCIA: En ese caso, podríamos nido el segundo, si en el primer caso? 551 00:27:44,195 --> 00:27:46,160 >> LAUREN CARVALHO: Si - ¿qué quieres decir? 552 00:27:46,160 --> 00:27:49,660 >> AUDIENCIA: Si las dos condiciones no son mutuamente excluyentes? 553 00:27:49,660 --> 00:27:54,700 >> LAUREN CARVALHO: Si las condiciones no son mutuamente excluyentes? 554 00:27:54,700 --> 00:27:58,000 Pero desea que sólo uno de ellos para correr? 555 00:27:58,000 --> 00:28:00,260 >> AUDIENCIA: Usted quiere que sólo si en lugar de otro. 556 00:28:00,260 --> 00:28:01,020 >> LAUREN CARVALHO: Si. 557 00:28:01,020 --> 00:28:03,630 No siempre van a ser muy de maneras que usted puede hacer esto. 558 00:28:03,630 --> 00:28:06,600 Usted puede venderlos definitivamente nido. 559 00:28:06,600 --> 00:28:10,390 Y verás en un portaobjetos de futuro que usted puede tener múltiples síes, sólo uno 560 00:28:10,390 --> 00:28:11,680 después de otra. 561 00:28:11,680 --> 00:28:14,840 Pero esta es una forma de lógica organizar el flujo de su programa. 562 00:28:14,840 --> 00:28:18,000 >> LUCAS FREITAS: Y hay una más cosa, es que se le preguntará acerca de poner 563 00:28:18,000 --> 00:28:20,110 si y luego otro si. 564 00:28:20,110 --> 00:28:25,240 Eso funcionaría perfectamente, pero es mala diseño, porque, básicamente, si 565 00:28:25,240 --> 00:28:29,320 marque el primer caso, y te das cuenta de que el número es mayor que 0, se 566 00:28:29,320 --> 00:28:30,660 simplemente puede terminar el programa. 567 00:28:30,660 --> 00:28:33,080 Usted no tiene que comprobar si es menor que 0, ¿no? 568 00:28:33,080 --> 00:28:37,510 >> Pero si si si, se va a comprobar ambos, mientras que si lo hago, si lo demás, es decir, 569 00:28:37,510 --> 00:28:39,260 que va a comprobar si que es mayor que 0. 570 00:28:39,260 --> 00:28:43,500 Si es así, no va a ver aún en el resto de líneas de código. 571 00:28:43,500 --> 00:28:48,560 Así que básicamente estás comprobando como dos veces innecesariamente, así que es por eso que 572 00:28:48,560 --> 00:28:50,750 hacer si else if. 573 00:28:50,750 --> 00:28:52,350 ¿Alguna otra pregunta? 574 00:28:52,350 --> 00:28:56,547 >> AUDIENCIA: Así que la funcionalidad de la persona si es lo mismo que 575 00:28:56,547 --> 00:28:57,790 si era sólo si? 576 00:28:57,790 --> 00:28:58,470 >> LAUREN CARVALHO: No. 577 00:28:58,470 --> 00:29:02,720 Usted está en realidad va a ver en mi próxima deslizar un ejemplo en el que puede 578 00:29:02,720 --> 00:29:03,270 ser diferente. 579 00:29:03,270 --> 00:29:05,690 En este caso, es casi lo mismo. 580 00:29:05,690 --> 00:29:10,190 581 00:29:10,190 --> 00:29:15,410 >> Así que aquí tenemos un ejemplo de múltiples si las declaraciones, y la 582 00:29:15,410 --> 00:29:20,020 funcionalidad no es la misma como si yo hubiera dicho si 583 00:29:20,020 --> 00:29:23,120 otra cosa, si bien, si los demás. 584 00:29:23,120 --> 00:29:26,970 Vamos a pensar acerca de lo que imprima si entro en el número 95 585 00:29:26,970 --> 00:29:27,715 en este programa. 586 00:29:27,715 --> 00:29:29,764 >> AUDIENCIA: [inaudible] 587 00:29:29,764 --> 00:29:31,102 >> LAUREN CARVALHO: ¿Y después? 588 00:29:31,102 --> 00:29:32,340 >> AUDIENCIA: [inaudible] 589 00:29:32,340 --> 00:29:33,680 >> LAUREN CARVALHO: Si. 590 00:29:33,680 --> 00:29:37,430 Así que en este caso, estas condiciones son no se excluyen mutuamente el uno del otro. 591 00:29:37,430 --> 00:29:41,040 Y porque no hay nada que esta condición de evaluar si esta 592 00:29:41,040 --> 00:29:44,730 uno ya tiene, sólo están Todo va a imprimir. 593 00:29:44,730 --> 00:29:46,222 Así que ¿cómo podría solucionar esto? 594 00:29:46,222 --> 00:29:47,608 >> AUDIENCIA: else pasaría? 595 00:29:47,608 --> 00:29:48,910 >> LAUREN CARVALHO: Puedes usar else síes. 596 00:29:48,910 --> 00:29:50,590 Pude cambiar el orden de ellos, ¿verdad? 597 00:29:50,590 --> 00:29:53,800 Si lo hiciera éste en primer lugar? 598 00:29:53,800 --> 00:29:55,120 Bueno, en realidad, no. 599 00:29:55,120 --> 00:29:57,100 Eso no funcionaría para el 95. 600 00:29:57,100 --> 00:29:58,490 >> LUCAS FREITAS: No, sólo los demás síes. 601 00:29:58,490 --> 00:30:01,720 >> LAUREN CARVALHO: La otra persona IFS habría arreglado este. 602 00:30:01,720 --> 00:30:07,050 ¿Eso aclarar la confusión entre síes y demás pasaría? 603 00:30:07,050 --> 00:30:11,480 >> AUDIENCIA: Sólo quería preguntarle, si usaste else if, que dejaría? 604 00:30:11,480 --> 00:30:11,840 >> LAUREN CARVALHO: Así es. 605 00:30:11,840 --> 00:30:13,330 Por lo que sólo esta primera. 606 00:30:13,330 --> 00:30:16,535 Si entraba en el número 95, sólo que esta habría impreso, y nunca 607 00:30:16,535 --> 00:30:17,934 habría progresado hasta el otro. 608 00:30:17,934 --> 00:30:22,570 >> LUCAS FREITAS: Just tipo de pensar como si esto sucede, haga lo siguiente. 609 00:30:22,570 --> 00:30:26,990 La otra es como si no, cheque para esto y, a continuación, hacer eso. 610 00:30:26,990 --> 00:30:28,690 Así como todos son mutuamente exclusiva. 611 00:30:28,690 --> 00:30:30,270 Usted no puede conseguir en dos sobre aquellos. 612 00:30:30,270 --> 00:30:32,800 613 00:30:32,800 --> 00:30:37,630 >> AUDIENCIA: ¿Se puede utilizar una lógica Y para esa situación? 614 00:30:37,630 --> 00:30:39,370 >> LAUREN CARVALHO: Si. 615 00:30:39,370 --> 00:30:41,400 Esa es otra manera de que pudiéramos han solucionado este problema. 616 00:30:41,400 --> 00:30:43,470 Estamos podríamos haber definido rangos, ¿verdad? 617 00:30:43,470 --> 00:30:49,410 Así que yo podría haber dicho si n es mayor de 90 y menos de - 618 00:30:49,410 --> 00:30:52,135 bueno, supongo que éste en realidad no importa, pero aquí me podría haber dicho si 619 00:30:52,135 --> 00:30:53,960 n es mayor que 80 y menor que 90. 620 00:30:53,960 --> 00:30:55,570 Mayor que 70, menos de 80. 621 00:30:55,570 --> 00:30:59,077 Eso también han trabajado. 622 00:30:59,077 --> 00:30:59,891 >> [Risas] 623 00:30:59,891 --> 00:31:00,980 >> LUCAS FREITAS: Tiene miedo. 624 00:31:00,980 --> 00:31:02,070 >> LAUREN CARVALHO: No tenga miedo. 625 00:31:02,070 --> 00:31:04,570 >> LUCAS FREITAS: No es que va a ser malo. 626 00:31:04,570 --> 00:31:08,630 Es sólo que es innecesariamente verbose. 627 00:31:08,630 --> 00:31:13,480 Al igual que en la informática, se debe ser tan simple como sea posible, siempre y cuando 628 00:31:13,480 --> 00:31:14,730 usted tiene la funcionalidad. 629 00:31:14,730 --> 00:31:16,725 630 00:31:16,725 --> 00:31:17,835 ¿Quieres que el caramelo? 631 00:31:17,835 --> 00:31:19,084 >> AUDIENCIA: No lo necesito. 632 00:31:19,084 --> 00:31:20,340 >> LAUREN CARVALHO: Estás asustando todo el mundo, Lucas. 633 00:31:20,340 --> 00:31:21,590 >> LUCAS FREITAS: Lo siento. 634 00:31:21,590 --> 00:31:24,650 635 00:31:24,650 --> 00:31:29,510 >> LAUREN CARVALHO: David también se menciona éstos cambian declaración en clase. 636 00:31:29,510 --> 00:31:33,180 Básicamente lo que está pasando es el interruptor declaración toma una variable. 637 00:31:33,180 --> 00:31:35,760 En este caso, nos estamos tomando un entero. 638 00:31:35,760 --> 00:31:39,220 >> Si el entero es 1, vamos a imprimir "Usted escogió un pequeño 639 00:31:39,220 --> 00:31:42,000 número. "Si el entero es 1," Usted escogido un número medio ". Si el 640 00:31:42,000 --> 00:31:45,730 entero es 3, "Usted escogió un alto número. "Y yo también tenía un caso por defecto 641 00:31:45,730 --> 00:31:50,020 aquí abajo, pero no lo demuestra , lo cual es una lástima. 642 00:31:50,020 --> 00:31:53,120 643 00:31:53,120 --> 00:31:55,360 >> Básicamente, esto es sólo otra sintaxis. 644 00:31:55,360 --> 00:31:58,640 Podríamos haber implementado esta exacta lo mismo con if y else 645 00:31:58,640 --> 00:31:59,390 declaraciones. 646 00:31:59,390 --> 00:32:05,530 Pero cuando hay un montón de diferentes condiciones y un montón de diferentes 647 00:32:05,530 --> 00:32:10,350 variaciones sobre lo que quiere hacer por cada entrada, esta es una opción. 648 00:32:10,350 --> 00:32:13,262 Así que es sólo una buena sintaxis saber. 649 00:32:13,262 --> 00:32:15,099 ¿Sí? 650 00:32:15,099 --> 00:32:21,380 >> AUDIENCIA: ¿Por qué no hay una barra invertida n en la primera? 651 00:32:21,380 --> 00:32:23,340 >> LAUREN CARVALHO: Por ahí arriba? 652 00:32:23,340 --> 00:32:27,600 No hay barra invertida n hasta allí porque el GetInt - 653 00:32:27,600 --> 00:32:30,140 si usted intenta esto, que va a darle este mensaje. 654 00:32:30,140 --> 00:32:32,290 Dame un número entero entre 1 y 3. 655 00:32:32,290 --> 00:32:35,550 Y si pongo la reacción n, lo haría llévame a la siguiente línea, pero yo sólo 656 00:32:35,550 --> 00:32:38,690 querían que escriba el número entero justo después de los dos puntos. 657 00:32:38,690 --> 00:32:40,120 Podrías haber puesto el contragolpe n. 658 00:32:40,120 --> 00:32:42,374 No es una gran cosa. 659 00:32:42,374 --> 00:32:43,288 ¿Sí? 660 00:32:43,288 --> 00:32:50,525 >> AUDIENCIA: Para que este código, es este caso de que uno, es que debido 661 00:32:50,525 --> 00:32:51,760 que es el primer caso? 662 00:32:51,760 --> 00:32:52,260 Porque - 663 00:32:52,260 --> 00:32:53,400 >> LAUREN CARVALHO: No, no, no. 664 00:32:53,400 --> 00:32:56,480 Así que esto me está dar un número entero entre 1 y 3. 665 00:32:56,480 --> 00:32:59,070 Si n es 1, puedo imprimir esto. 666 00:32:59,070 --> 00:33:02,740 Si hubiera pidió cartas, podría tener dijo dame una letra de la A 667 00:33:02,740 --> 00:33:04,935 y C. A continuación, este sería el caso A. 668 00:33:04,935 --> 00:33:05,910 >> AUDIENCIA: [inaudible]. 669 00:33:05,910 --> 00:33:08,090 El caso sería simplemente [inaudible] 670 00:33:08,090 --> 00:33:11,260 >> LAUREN CARVALHO: Sí, claro. 671 00:33:11,260 --> 00:33:11,550 ¿Sí? 672 00:33:11,550 --> 00:33:14,861 >> AUDIENCIA: ¿Y si quería tener más de una expresión relacional? 673 00:33:14,861 --> 00:33:17,645 Así que en lugar de decir n es igual a 1, [inaudible] 674 00:33:17,645 --> 00:33:21,050 n es mayor que 1 en el primer caso? 675 00:33:21,050 --> 00:33:26,630 >> LAUREN CARVALHO: En realidad, si no lo hago definir algunos de estos casos, esto haría 676 00:33:26,630 --> 00:33:28,500 puede llevar hacia abajo. 677 00:33:28,500 --> 00:33:30,680 Así que en realidad, tal vez esto no es lo que estás pidiendo. 678 00:33:30,680 --> 00:33:36,240 >> LUCAS FREITAS: Creo que se está preguntando si el caso era n mayor que 0, caso 679 00:33:36,240 --> 00:33:37,150 menos de 0. 680 00:33:37,150 --> 00:33:39,210 >> LAUREN CARVALHO: Tal vez el interruptor declaración no es realmente lo que quieres 681 00:33:39,210 --> 00:33:39,880 utilizar en ese caso. 682 00:33:39,880 --> 00:33:42,420 >> LUCAS FREITAS: La sentencia switch es sólo por valor, por lo que usted está comprobando de 683 00:33:42,420 --> 00:33:45,370 el valor es como esto o aquello. 684 00:33:45,370 --> 00:33:47,025 Por lo que no puede en realidad poner condiciones. 685 00:33:47,025 --> 00:33:50,988 686 00:33:50,988 --> 00:33:55,920 >> AUDIENCIA: ¿Qué pasa si la persona tipos de [inaudible]? 687 00:33:55,920 --> 00:33:58,240 >> LAUREN CARVALHO: Eso habría sido mi caso por defecto, que por desgracia 688 00:33:58,240 --> 00:33:58,910 no se puede ver. 689 00:33:58,910 --> 00:34:02,240 >> LUCAS FREITAS: [inaudible] hacerles ver. 690 00:34:02,240 --> 00:34:03,690 >> LAUREN CARVALHO: En realidad, ¿sabes qué? 691 00:34:03,690 --> 00:34:07,795 Vamos a ir a estudiar 50, y lo haré sólo hacer un zoom en las diapositivas en estudio 692 00:34:07,795 --> 00:34:10,610 50, ya que esta es sólo una molestia. 693 00:34:10,610 --> 00:34:14,938 Así que déjame en realidad voy a condición. 694 00:34:14,938 --> 00:34:17,860 Esto es sólo va a tomar un poco de tiempo. 695 00:34:17,860 --> 00:34:26,940 696 00:34:26,940 --> 00:34:27,840 >> Está bien. 697 00:34:27,840 --> 00:34:29,590 Así que, lo siento. 698 00:34:29,590 --> 00:34:33,625 Por lo menos ahora vamos a ser capaces de ver todo sin que cortar. 699 00:34:33,625 --> 00:34:36,230 700 00:34:36,230 --> 00:34:36,969 Está bien. 701 00:34:36,969 --> 00:34:43,800 >> Así que si te ponen en un 10, tendríamos por defecto aquí a mi caso por defecto, y yo 702 00:34:43,800 --> 00:34:46,510 sería simplemente imprimir inválida porque les pedirá que introduzca un número entero 703 00:34:46,510 --> 00:34:49,460 entre 1 y 3. 704 00:34:49,460 --> 00:34:50,650 ¿Alguna otra pregunta? 705 00:34:50,650 --> 00:34:51,081 ¿Sí? 706 00:34:51,081 --> 00:34:57,590 >> AUDIENCIA: Digamos que para el caso de uno, caso tres, que usted quisiera que fuera todo el 707 00:34:57,590 --> 00:35:00,950 lo mismo, por lo que tomó un número eso no es un número medio. 708 00:35:00,950 --> 00:35:03,840 En ese caso, ¿sería redundante? 709 00:35:03,840 --> 00:35:08,371 ¿Podrías cambiar el texto tanto en de ellos, o habría algunos 710 00:35:08,371 --> 00:35:08,617 redundancia? 711 00:35:08,617 --> 00:35:11,920 ¿Hay alguna manera de combinar [Inaudible]? 712 00:35:11,920 --> 00:35:15,810 >> LAUREN CARVALHO: Hay maneras de combinarlos, pero creo que se puede 713 00:35:15,810 --> 00:35:18,730 sólo combinar los adyacentes. 714 00:35:18,730 --> 00:35:22,250 Así que si no define nada para el caso de dos, esto haría 715 00:35:22,250 --> 00:35:24,130 aplicarse a ambos casos. 716 00:35:24,130 --> 00:35:28,110 ¡Oh, si yo no he puesto nada por caso una, esto se aplicaría tanto a 717 00:35:28,110 --> 00:35:30,620 caso de que uno y dos. 718 00:35:30,620 --> 00:35:33,616 Si eso tiene sentido. 719 00:35:33,616 --> 00:35:35,872 >> AUDIENCIA: ¿Puede repetir eso? 720 00:35:35,872 --> 00:35:36,670 >> LUCAS FREITAS: OK. 721 00:35:36,670 --> 00:35:39,950 Si lo hizo, básicamente, como, usted tiene la misma cosa, pero no te pones 722 00:35:39,950 --> 00:35:46,820 nada aquí, que sería ya sea para caso de que uno o dos casos, a hacer esto. 723 00:35:46,820 --> 00:35:47,930 ¿Cierto? 724 00:35:47,930 --> 00:35:54,010 Y esta ruptura significa que si usted consigue en este caso, acaba de salir. 725 00:35:54,010 --> 00:35:55,030 Así que eso es lo que significa el freno. 726 00:35:55,030 --> 00:35:59,755 Así que si lo acabo de hacer esto, se mira, es caso de que uno, y usted acaba de hacer esto. 727 00:35:59,755 --> 00:36:02,110 Si fuera el caso de dos, también lo haría acaba de llegar aquí y hacer eso. 728 00:36:02,110 --> 00:36:03,544 >> AUDIENCIA: Pero se puede hacer? 729 00:36:03,544 --> 00:36:05,140 Si hay algo para caso de dos [inaudible] 730 00:36:05,140 --> 00:36:07,095 >> LAUREN CARVALHO: No creo usted puede hacer eso. 731 00:36:07,095 --> 00:36:09,380 Creo que no se puede saltar alrededor. 732 00:36:09,380 --> 00:36:11,070 ¿Puedes hacer eso, Rob? 733 00:36:11,070 --> 00:36:13,300 No lo creo. 734 00:36:13,300 --> 00:36:16,548 >> AUDIENCIA: Así que sólo un número puede ir después de un caso, ¿verdad? 735 00:36:16,548 --> 00:36:21,410 No puede haber un caso, coma, dos? 736 00:36:21,410 --> 00:36:21,970 >> LUCAS FREITAS: No, no puedes. 737 00:36:21,970 --> 00:36:25,085 Definitivamente, usted no puede. 738 00:36:25,085 --> 00:36:28,770 >> LAUREN CARVALHO: Es decir, el punto es Esta es una opción, y esto no podría 739 00:36:28,770 --> 00:36:31,940 ajuste a su caso de uso, por lo que entonces utilizaría el caso de condiciones. 740 00:36:31,940 --> 00:36:33,906 >> AUDIENCIA: Entonces, ¿por qué haces esto? 741 00:36:33,906 --> 00:36:34,314 El switch? 742 00:36:34,314 --> 00:36:38,540 >> LAUREN CARVALHO: Me gustaría utilizar esta si tiene muy definido - 743 00:36:38,540 --> 00:36:39,730 En realidad, Lucas, se está bloqueando. 744 00:36:39,730 --> 00:36:40,982 >> LUCAS FREITAS: Oh, lo siento. 745 00:36:40,982 --> 00:36:44,200 >> LAUREN CARVALHO: Si usted tiene muy comportamientos definidos que desee para 746 00:36:44,200 --> 00:36:48,105 todos y cada uno de entrada, esto podría ser una poco más conciso que escribir 747 00:36:48,105 --> 00:36:49,530 una sentencia if para cada uno. 748 00:36:49,530 --> 00:36:51,210 >> AUDIENCIA: ¿Qué hace el break significar otra vez? 749 00:36:51,210 --> 00:36:53,180 >> LAUREN CARVALHO: La ruptura significa parar. 750 00:36:53,180 --> 00:36:56,860 Recuerde, si no tuviera esta ruptura aquí, habríamos caído justo 751 00:36:56,860 --> 00:36:58,110 en el siguiente caso. 752 00:36:58,110 --> 00:37:00,820 >> LUCAS FREITAS: Descanso significa llegar salir de la sentencia switch. 753 00:37:00,820 --> 00:37:03,400 Porque si es 1, quiero imprimir este e irse. 754 00:37:03,400 --> 00:37:04,640 No quiero que comprobar nada más. 755 00:37:04,640 --> 00:37:05,790 >> AUDIENCIA: Usted no quiere para imprimir otra cosa. 756 00:37:05,790 --> 00:37:06,730 >> LUCAS FREITAS: Si. 757 00:37:06,730 --> 00:37:08,260 Debido a que es mutuamente excluyente. 758 00:37:08,260 --> 00:37:11,378 >> AUDIENCIA: ¿Y esto sólo procede al siguiente caso si el primer caso 759 00:37:11,378 --> 00:37:11,850 no es cierto? 760 00:37:11,850 --> 00:37:14,120 ¿O probar todos los casos al mismo tiempo? 761 00:37:14,120 --> 00:37:16,300 >> LUCAS FREITAS: No, cheques de forma secuencial. 762 00:37:16,300 --> 00:37:18,070 Secuencialmente, sí. 763 00:37:18,070 --> 00:37:21,840 Una pregunta más, entonces tenemos que movemos para que podamos cubrir todo. 764 00:37:21,840 --> 00:37:22,300 ¿Sí? 765 00:37:22,300 --> 00:37:25,280 >> AUDIENCIA: Así que para el caso, podría tener hecho algo además de sólo el elegido? 766 00:37:25,280 --> 00:37:27,680 ¿Podría darle un rango? 767 00:37:27,680 --> 00:37:28,580 >> LUCAS FREITAS: No. 768 00:37:28,580 --> 00:37:29,900 >> LAUREN CARVALHO: No creo que usted puede darle un rango. 769 00:37:29,900 --> 00:37:31,430 >> LUCAS FREITAS: No puede usted no pueden darle un rango. 770 00:37:31,430 --> 00:37:33,190 >> AUDIENCIA: El caso es específico [Inaudible]. 771 00:37:33,190 --> 00:37:34,840 >> LUCAS FREITAS: Switch es una especie de valores. 772 00:37:34,840 --> 00:37:38,400 Usted haciendo cosas diferentes dependiendo en un valor, un valor específico. 773 00:37:38,400 --> 00:37:41,050 No se puede hacer rango, no se puede hacer otra cosa. 774 00:37:41,050 --> 00:37:43,055 Es simplemente una herramienta más para ver. 775 00:37:43,055 --> 00:37:46,570 >> LAUREN CARVALHO: La mayoría de la gente no utiliza cambiar declaraciones muy en CS50, 776 00:37:46,570 --> 00:37:48,760 pero está ahí. 777 00:37:48,760 --> 00:37:49,920 >> Está bien. 778 00:37:49,920 --> 00:37:53,870 Así que lo siguiente que vamos a hablar acerca es el operador ternario. 779 00:37:53,870 --> 00:37:56,650 Este es sólo otro tipo de condicional. 780 00:37:56,650 --> 00:38:01,460 Básicamente lo que está pasando aquí es que estoy pidiendo un número entero, y si n es 781 00:38:01,460 --> 00:38:05,550 superior a 100, voy a imprimir "Alto". Si no es así, voy a 782 00:38:05,550 --> 00:38:07,010 imprimir "baja". 783 00:38:07,010 --> 00:38:11,230 >> Así que lo que está haciendo es que la condición se aquí mismo en los paréntesis, y usted 784 00:38:11,230 --> 00:38:13,550 puede clase de pensar en la pregunta como estoy preguntando si 785 00:38:13,550 --> 00:38:15,030 esto es cierto o no. 786 00:38:15,030 --> 00:38:18,485 Si es verdad, que voy a hacer esto primero cosa, y si no es cierto, yo soy 787 00:38:18,485 --> 00:38:20,020 vamos a hacer esta segunda cosa. 788 00:38:20,020 --> 00:38:23,520 789 00:38:23,520 --> 00:38:27,960 >> ¿Una pregunta sobre la operador ternario? 790 00:38:27,960 --> 00:38:30,880 >> LUCAS FREITAS: Sólo quiero señalar de David es que cada vez que tenga una 791 00:38:30,880 --> 00:38:33,346 condiciones - 792 00:38:33,346 --> 00:38:35,690 >> LAUREN CARVALHO: Supongo que el David de mirando a través de la transmisión en vivo. 793 00:38:35,690 --> 00:38:37,210 >> LUCAS FREITAS: Lo está haciendo la vida corriente en estos momentos. 794 00:38:37,210 --> 00:38:41,730 Así que cuando usted tiene una condición, usted es supone poner llaves, 795 00:38:41,730 --> 00:38:45,320 al igual que tenemos en un interruptor declaración aquí. 796 00:38:45,320 --> 00:38:46,750 Tenemos las llaves aquí. 797 00:38:46,750 --> 00:38:49,560 Para cualquier condición, eres supone también poner eso. 798 00:38:49,560 --> 00:38:50,820 >> LAUREN CARVALHO: Verá esto en el libro de estilo. 799 00:38:50,820 --> 00:38:52,900 En realidad no tenemos la guía de estilo en estos momentos. 800 00:38:52,900 --> 00:38:53,930 Creo que David aún está trabajando. 801 00:38:53,930 --> 00:38:55,100 >> LUCAS FREITAS: Dijo que es sólo trabajar ahora. 802 00:38:55,100 --> 00:38:56,120 >> LAUREN CARVALHO: Oh, ¿es trabajo ahora? 803 00:38:56,120 --> 00:38:57,520 Aceptar. 804 00:38:57,520 --> 00:39:02,060 Así que al parecer este año en el estilo guiar, incluso si sólo tiene una línea, 805 00:39:02,060 --> 00:39:06,040 tienes que poner los llaves pulg 806 00:39:06,040 --> 00:39:09,480 Usted no necesariamente tiene que para el funcionalidad del programa. 807 00:39:09,480 --> 00:39:12,210 Y tal vez deberíamos hacer un alto después de que las condiciones y van directamente 808 00:39:12,210 --> 00:39:14,620 a la guía de estilo para borrar algunas de estas cosas? 809 00:39:14,620 --> 00:39:15,010 >> LUCAS FREITAS: Si. 810 00:39:15,010 --> 00:39:15,775 ¿Tiene una pregunta? 811 00:39:15,775 --> 00:39:17,580 >> AUDIENCIA: No, voy a esperar hasta que la guía de estilo. 812 00:39:17,580 --> 00:39:19,578 >> AUDIENCIA: ¿Podría volver para el operador ternario? 813 00:39:19,578 --> 00:39:23,360 >> LAUREN CARVALHO: ternario, sí. 814 00:39:23,360 --> 00:39:29,010 >> LUCAS FREITAS: operador ternario es básicamente una sentencia if-else, pero 815 00:39:29,010 --> 00:39:33,590 en lugar de tener que tener las dos líneas de comprobar si, y entonces el 816 00:39:33,590 --> 00:39:36,600 otra cosa, sólo hay una línea. 817 00:39:36,600 --> 00:39:40,930 Así que, básicamente, si quiero dar una cadena un valor de alto o bajo, y yo 818 00:39:40,930 --> 00:39:46,270 querer hacer un alto si n es mayor que 100 o baja si es menor, lo que puedo hacer 819 00:39:46,270 --> 00:39:47,730 es esto [inaudible] 820 00:39:47,730 --> 00:39:53,060 la cadena va a ser, y luego me pide el programa es n mayor que 100? 821 00:39:53,060 --> 00:39:55,750 >> Así que por eso tengo esta expresión en paréntesis, y luego 822 00:39:55,750 --> 00:39:56,580 el signo de interrogación. 823 00:39:56,580 --> 00:39:59,110 Yo estoy pidiendo es mayor que 100? 824 00:39:59,110 --> 00:40:02,310 Si es así, que va a ser alta. 825 00:40:02,310 --> 00:40:03,850 Si no es así, va a ser baja. 826 00:40:03,850 --> 00:40:07,310 >> Así que básicamente lo que usted piensa es que usted pide una pregunta, así que usted pone en paréntesis 827 00:40:07,310 --> 00:40:08,620 la condición. 828 00:40:08,620 --> 00:40:11,160 Luego, coloque el signo de interrogación porque usted está pidiendo él. 829 00:40:11,160 --> 00:40:15,240 Y si esto es cierto, que va a ser en el primer valor de [inaudible] aquí. 830 00:40:15,240 --> 00:40:18,176 Si no es así, voy a poner el valor que es después de los dos puntos. 831 00:40:18,176 --> 00:40:21,580 ¿Tiene sentido? 832 00:40:21,580 --> 00:40:24,730 >> Es también algo que es como un herramienta en C pero usted no tiene que 833 00:40:24,730 --> 00:40:25,700 específicamente usarlo. 834 00:40:25,700 --> 00:40:29,890 Pero la gente por lo general les gusta que CS ya que sólo guarda líneas. 835 00:40:29,890 --> 00:40:31,050 >> LAUREN CARVALHO: Es muy elegante. 836 00:40:31,050 --> 00:40:32,951 Lo hace mucho en una sola declaración. 837 00:40:32,951 --> 00:40:36,077 >> AUDIENCIA: Así que el signo de porcentaje es simplemente independencia de los resultados en 838 00:40:36,077 --> 00:40:36,799 la línea anterior? 839 00:40:36,799 --> 00:40:38,260 >> LAUREN CARVALHO: Oh, lo siento. 840 00:40:38,260 --> 00:40:42,670 Este signo de porcentaje es en realidad un marcador de posición para este s. 841 00:40:42,670 --> 00:40:46,160 En un comunicado printf, tienes esta string aquí, que es lo que va a 842 00:40:46,160 --> 00:40:48,440 imprimir, pero no se puede simplemente puso este s allí. 843 00:40:48,440 --> 00:40:50,290 De lo contrario sería imprimir los s literalmente. 844 00:40:50,290 --> 00:40:54,070 Por eso, pusimos un porcentaje aquí para mantener este lugar se celebró por cualquier 845 00:40:54,070 --> 00:40:57,590 viene después de la coma. 846 00:40:57,590 --> 00:40:59,470 >> Así que para una cadena, tienes ciento s. 847 00:40:59,470 --> 00:41:00,950 Para un entero, ciento i. 848 00:41:00,950 --> 00:41:03,330 Para un flotador, ciento f. 849 00:41:03,330 --> 00:41:06,960 Verás aquellos como nosotros ver más ejemplos. 850 00:41:06,960 --> 00:41:09,230 Pero tal vez debería hablar de la guía de estilo para un rato, ahora 851 00:41:09,230 --> 00:41:10,480 que le toca. 852 00:41:10,480 --> 00:41:21,040 853 00:41:21,040 --> 00:41:24,010 >> LUCAS FREITAS: Si usted va a cs50.net/style, usted va a ver 854 00:41:24,010 --> 00:41:25,760 la guía de estilo. 855 00:41:25,760 --> 00:41:32,420 Para los conjuntos de problemas, su puntaje para la conjunto de problemas se compone de alcance, 856 00:41:32,420 --> 00:41:35,510 lo que básicamente significa que si usted hizo todo las partes del problema establecidos o si 857 00:41:35,510 --> 00:41:37,170 intentado algo. 858 00:41:37,170 --> 00:41:41,120 La segunda cosa es la corrección, lo que medios es su programa haciendo lo que 859 00:41:41,120 --> 00:41:44,520 se suponía que iba a estar haciendo, o lo hace tienen errores, o es que no hacen lo que 860 00:41:44,520 --> 00:41:45,620 se supone que debe hacer. 861 00:41:45,620 --> 00:41:51,420 >> La tercera cosa es el diseño, lo que significa están implementando esta bien, o está 862 00:41:51,420 --> 00:41:54,520 que el uso de declaraciones innecesarias? 863 00:41:54,520 --> 00:41:59,400 Así por ejemplo, si desea repetir un número 10 veces, estás escribiendo un 864 00:41:59,400 --> 00:42:03,040 bucle o simplemente estás haciendo 10 veces la misma declaración, sólo haciendo 865 00:42:03,040 --> 00:42:04,060 copiar y pegar. 866 00:42:04,060 --> 00:42:05,760 Así que el diseño es para eso. 867 00:42:05,760 --> 00:42:07,420 >> Y, por último, usted tiene estilo. 868 00:42:07,420 --> 00:42:12,000 El estilo es como juzgar si su código es 869 00:42:12,000 --> 00:42:14,050 legible y tipo de bonito. 870 00:42:14,050 --> 00:42:16,520 Simplemente significa básicamente es su código legible? 871 00:42:16,520 --> 00:42:20,560 ¿Sería alguien que estaba buscando son su código sea capaz de entender lo que 872 00:42:20,560 --> 00:42:21,250 que está haciendo? 873 00:42:21,250 --> 00:42:25,360 ¿Tiene comentarios y similares? 874 00:42:25,360 --> 00:42:30,430 >> Vamos a hablar sobre el estilo que se supone que debes usar. 875 00:42:30,430 --> 00:42:32,200 Lo primero es los comentarios. 876 00:42:32,200 --> 00:42:35,280 Los comentarios son muy importantes para su código porque a veces que estás haciendo 877 00:42:35,280 --> 00:42:38,750 su programa, y ​​usted sabe exactamente lo que desea hacerlo usted acaba de empezar 878 00:42:38,750 --> 00:42:43,120 codificación, sólo tienes que escribir un montón de C. Pero si alguien está buscando es que usted está 879 00:42:43,120 --> 00:42:47,500 código, no van a ser capaces de entenderlo porque no saben 880 00:42:47,500 --> 00:42:51,420 las cosas que están en tu cabeza, como la pesudocode, así que tal vez lo harán 881 00:42:51,420 --> 00:42:53,970 tener dificultades para entender lo que hace el código. 882 00:42:53,970 --> 00:42:57,900 >> Así que los comentarios son realmente útiles para explicar para alguien que está mirando 883 00:42:57,900 --> 00:43:00,880 su código de lo que está haciendo, y En realidad, incluso para usted, 884 00:43:00,880 --> 00:43:01,880 que son muy útiles. 885 00:43:01,880 --> 00:43:05,740 Como vas a Boletines de problemas más difíciles y duros, usted va a ver que el código obtiene 886 00:43:05,740 --> 00:43:10,590 más largos y, a continuación, los comentarios son realmente importante para que recuerde lo que cada 887 00:43:10,590 --> 00:43:13,320 parte de tu programa hace. 888 00:43:13,320 --> 00:43:16,920 >> Para poner un comentario, puede simplemente hacer una slash slash y luego escribir un comentario. 889 00:43:16,920 --> 00:43:21,250 Y toda la línea es parte de un comentario, y todo lo que usted escribe, 890 00:43:21,250 --> 00:43:24,550 no va a ser utilizado para el código. 891 00:43:24,550 --> 00:43:27,993 Es básicamente como el compilador va a ignorar eso. 892 00:43:27,993 --> 00:43:29,290 ¿Eso tiene sentido? 893 00:43:29,290 --> 00:43:31,710 >> AUDIENCIA: ¿Qué se hace de nuevo para escribir un comentario? 894 00:43:31,710 --> 00:43:33,260 >> LUCAS FREITAS: ¿Esto? 895 00:43:33,260 --> 00:43:36,020 El slash slash? 896 00:43:36,020 --> 00:43:39,810 Cada vez que escribe slash slash, cualquiera que sea está en esa línea no va 897 00:43:39,810 --> 00:43:42,260 para ser considerado como C. Sí? 898 00:43:42,260 --> 00:43:45,910 >> AUDIENCIA: Así que después del comentario, sólo entrar y comenzar una nueva línea? 899 00:43:45,910 --> 00:43:47,120 >> LUCAS FREITAS: Sí, exactamente. 900 00:43:47,120 --> 00:43:50,010 >> LAUREN CARVALHO: El slash slash es para los comentarios de una sola línea. 901 00:43:50,010 --> 00:43:52,910 >> LUCAS FREITAS: Por ejemplo, aquí tenemos - 902 00:43:52,910 --> 00:43:54,160 déjame el zoom in - 903 00:43:54,160 --> 00:43:56,530 904 00:43:56,530 --> 00:44:01,180 por ejemplo, aquí estoy declarando un flotador, pero tal vez si usted acaba de poner este 905 00:44:01,180 --> 00:44:04,980 en el código, como no tienes idea lo que esto está haciendo, como en realidad 906 00:44:04,980 --> 00:44:06,950 alguien que está buscando en este código va a ser, al igual que, lo que el 907 00:44:06,950 --> 00:44:09,190 diablos está pasando? 908 00:44:09,190 --> 00:44:12,890 >> Si pones un comentario diciendo "convertir Fahrenheit a Celsius, tiene mucho 909 00:44:12,890 --> 00:44:13,450 más sentido. 910 00:44:13,450 --> 00:44:15,480 Eres, como, OK, eres hacer una conversión. 911 00:44:15,480 --> 00:44:16,730 ¿Eso tiene sentido? 912 00:44:16,730 --> 00:44:19,860 913 00:44:19,860 --> 00:44:24,960 Así que es algo que ayuda a las personas listo su código y también hacer 914 00:44:24,960 --> 00:44:28,290 usted será capaz de organizar su código mejor. 915 00:44:28,290 --> 00:44:33,080 >> La segunda cosa es que usted puede hacer comentarios de varias líneas, por lo que tienen una 916 00:44:33,080 --> 00:44:34,850 comentar para un montón de líneas. 917 00:44:34,850 --> 00:44:38,880 En lugar de tener que poner slash slash, las observaciones de primera línea, slash slash, 918 00:44:38,880 --> 00:44:43,590 la segunda línea, y así sucesivamente, puede utilizar la estrella slash. 919 00:44:43,590 --> 00:44:46,330 La forma en que usted lo hace es que para el primera línea del comentario, usted es 920 00:44:46,330 --> 00:44:49,650 vamos a hacer una estrella estrellas raya vertical, así como si nada. 921 00:44:49,650 --> 00:44:56,900 Al igual que aquí tenemos el comienzo de un programa, por lo general pone que usted 922 00:44:56,900 --> 00:44:59,530 son, lo que hace este programa, y cosas por el estilo. 923 00:44:59,530 --> 00:45:01,900 Es algo así como un encabezado para el programa. 924 00:45:01,900 --> 00:45:04,540 >> Una vez más, no es algo que un compilador va a preocuparse, pero 925 00:45:04,540 --> 00:45:07,570 es importante que usted sepa lo que esta programa hace o para otras personas 926 00:45:07,570 --> 00:45:09,960 saber lo que está haciendo su programa. 927 00:45:09,960 --> 00:45:17,480 Por lo que reduce radicalmente estrella estrella, y luego el última línea que vas a hacer estrellas 928 00:45:17,480 --> 00:45:22,250 recortar para poder cerrar ese comentario. 929 00:45:22,250 --> 00:45:26,140 Así que, básicamente, para el resto de las líneas, usted puede escribir lo que sea, y esto 930 00:45:26,140 --> 00:45:27,390 es todo lo que va a ser ignorado. 931 00:45:27,390 --> 00:45:32,920 932 00:45:32,920 --> 00:45:37,780 >> Y también, al igual que el estilo, se ve que cada una de las líneas tiene una estrella, y todos 933 00:45:37,780 --> 00:45:39,380 las estrellas están alineadas. 934 00:45:39,380 --> 00:45:41,605 Estas son cosas importantes para que su código se ve bastante. 935 00:45:41,605 --> 00:45:42,855 Suena bien? 936 00:45:42,855 --> 00:45:45,320 937 00:45:45,320 --> 00:45:47,290 >> Ahora, condiciones. 938 00:45:47,290 --> 00:45:52,240 Lo que David estaba diciendo que debemos de hecho poner en las diapositivas, es que 939 00:45:52,240 --> 00:45:55,810 cuando usted tiene cualquier tipo de sentencias if o cualquier tipo de condiciones, 940 00:45:55,810 --> 00:46:00,700 usted debe utilizar llaves para demostrar que esto es lo que iba a suceder 941 00:46:00,700 --> 00:46:02,730 cuando se tiene la condición. 942 00:46:02,730 --> 00:46:07,560 Técnicamente, cuando usted tiene una condición y luego la siguiente línea es sólo uno 943 00:46:07,560 --> 00:46:12,110 línea, usted no tiene técnicamente para poner las llaves. 944 00:46:12,110 --> 00:46:16,930 >> Básicamente el compilador entendería de todos modos como implícita. 945 00:46:16,930 --> 00:46:21,100 Pero para CS50, les pedimos a ustedes para poner las llaves sólo para que su 946 00:46:21,100 --> 00:46:24,560 código es más organizado y más legible. 947 00:46:24,560 --> 00:46:28,200 Debido a que el código se hace más largo si no tienen llaves y tal. 948 00:46:28,200 --> 00:46:29,150 Se pone muy desordenado. 949 00:46:29,150 --> 00:46:31,410 >> LAUREN CARVALHO: Esto es exactamente lo que David acaba de señalar 950 00:46:31,410 --> 00:46:33,000 en mis diapositivas anteriores. 951 00:46:33,000 --> 00:46:36,690 Definitivamente funciona sin el rizado llaves, pero por razones de estilo 952 00:46:36,690 --> 00:46:38,840 vamos a pedir que usted pone los pulg 953 00:46:38,840 --> 00:46:42,400 >> Y cuando empiezas a correr style50, que es una especie de la verificación de 50 de 954 00:46:42,400 --> 00:46:44,860 estilo, que le recordará que debe hacerlo. 955 00:46:44,860 --> 00:46:49,710 >> LUCAS FREITAS: Y otra cosa es recuerde poner las llaves junto 956 00:46:49,710 --> 00:46:50,610 en cada línea. 957 00:46:50,610 --> 00:46:52,490 Así lo hace, por ejemplo, l's. 958 00:46:52,490 --> 00:46:56,910 Ir a la siguiente línea, abra el rizado corsé, luego vas a la siguiente línea. 959 00:46:56,910 --> 00:46:59,560 Sangría, que es cuatro espacios. 960 00:46:59,560 --> 00:47:03,570 Luego de escribir lo que sea, y luego otro line, y cerrar la llave de cierre. 961 00:47:03,570 --> 00:47:06,870 Así que asegúrese de que tanto los rizada llaves están en distintas líneas. 962 00:47:06,870 --> 00:47:11,548 >> AUDIENCIA: Así que si este código tenía como 10 síes otra cosa, esto debe 963 00:47:11,548 --> 00:47:13,040 ser de 10 juegos de soportes? 964 00:47:13,040 --> 00:47:14,610 >> LUCAS FREITAS: Sí, para cada uno de ellos. 965 00:47:14,610 --> 00:47:14,930 Sí. 966 00:47:14,930 --> 00:47:17,980 Así que si, de lo contrario si, y así sucesivamente. 967 00:47:17,980 --> 00:47:21,990 >> AUDIENCIA: ¿Puede usted no presione Tab para sangrar? 968 00:47:21,990 --> 00:47:25,350 >> LUCAS FREITAS: Les estamos pidiendo chicos a usar cuatro espacios. 969 00:47:25,350 --> 00:47:30,060 Algunos editores de texto se traducen pestaña como cuatro espacios de forma automática. 970 00:47:30,060 --> 00:47:34,850 gedit no lo hace, así que tienes que hacer espacio espacio espacio espacio. 971 00:47:34,850 --> 00:47:37,920 Esto también es algo que algunos programadores sólo las pestañas, algunos 972 00:47:37,920 --> 00:47:40,560 programadores sólo los cuatro espacios, y algunas otras personas incluso hacen 973 00:47:40,560 --> 00:47:41,900 dos o tres espacios. 974 00:47:41,900 --> 00:47:44,040 Es sólo que aquí estamos pidiendo ustedes que hacer cuatro espacios. 975 00:47:44,040 --> 00:47:47,556 >> AUDIENCIA: No hay casi definitivamente tiene que haber una manera para que gedit 976 00:47:47,556 --> 00:47:48,645 automáticamente [inaudible]. 977 00:47:48,645 --> 00:47:50,480 Al igual que no [inaudible] lo hace. 978 00:47:50,480 --> 00:47:51,150 >> LUCAS FREITAS: Si. 979 00:47:51,150 --> 00:47:53,165 Creo que se puede ir a Configuración. 980 00:47:53,165 --> 00:47:55,270 >> AUDIENCIA: Ya hace todo eso. 981 00:47:55,270 --> 00:47:56,410 >> LUCAS FREITAS: Ya hace? 982 00:47:56,410 --> 00:47:56,890 Aceptar. 983 00:47:56,890 --> 00:48:00,854 Así que asegúrese de que usted tener cuatro espacios. 984 00:48:00,854 --> 00:48:05,880 >> AUDIENCIA: ¿Tenemos que poner el rizado paréntesis en los bucles así? 985 00:48:05,880 --> 00:48:07,470 >> LUCAS FREITAS: Si. 986 00:48:07,470 --> 00:48:11,610 >> LAUREN CARVALHO: Siempre que su encapsulando un bloque de código, sólo 987 00:48:11,610 --> 00:48:13,570 por favor use las llaves. 988 00:48:13,570 --> 00:48:18,040 Y antes de pensar que sólo somos ser muy rigurosos en esto por nada bueno 989 00:48:18,040 --> 00:48:23,450 razón, si a ustedes no vayan a obtener pasantías tecnología en las grandes empresas, 990 00:48:23,450 --> 00:48:26,020 que le dará una guía de estilo, y ellos le dirán que esto es lo que su 991 00:48:26,020 --> 00:48:27,220 código debe ser similar. 992 00:48:27,220 --> 00:48:31,120 Y a pesar de que aprendas a código como esto, tal vez en su pasantía 993 00:48:31,120 --> 00:48:32,680 tendrás que hacer algo completamente diferente. 994 00:48:32,680 --> 00:48:35,115 Ellos esperan que te conformas a su estilo. 995 00:48:35,115 --> 00:48:39,800 >> LUCAS FREITAS: Y una cosa más es que ¿Notas cómo tengo como x, 996 00:48:39,800 --> 00:48:42,290 espacio, menos, espacio, 0? 997 00:48:42,290 --> 00:48:44,640 Cada vez que tenga un operador - 998 00:48:44,640 --> 00:48:50,490 puede ser como más, menos, los tiempos, menos, mayor, sea cual sea el operador - 999 00:48:50,490 --> 00:48:57,560 tienes que poner un espacio en la izquierda y el derecho del operador. 1000 00:48:57,560 --> 00:49:00,570 >> LAUREN CARVALHO: Esos son denominan operandos binarios. 1001 00:49:00,570 --> 00:49:03,720 Sólo asegúrese de que siempre el espacio cabo sus operandos binarios. 1002 00:49:03,720 --> 00:49:05,465 >> LUCAS FREITAS: Este es no por un operador binario. 1003 00:49:05,465 --> 00:49:07,010 >> LAUREN CARVALHO: Eso es porque toma dos. 1004 00:49:07,010 --> 00:49:08,260 >> LUCAS FREITAS: Oh, sí. 1005 00:49:08,260 --> 00:49:13,340 1006 00:49:13,340 --> 00:49:14,590 >> Aceptar, los switches. 1007 00:49:14,590 --> 00:49:18,180 1008 00:49:18,180 --> 00:49:23,390 En primer lugar, hay que ver que al igual que en una sentencia if o else, usted tiene 1009 00:49:23,390 --> 00:49:28,280 poner la llave de su propia línea y debajo de la llave de aquí. 1010 00:49:28,280 --> 00:49:32,240 Observe que hay un espacio único tras la conexión, al igual que en if y else 1011 00:49:32,240 --> 00:49:35,360 teníamos un solo espacio entre eso y los paréntesis. 1012 00:49:35,360 --> 00:49:36,610 Así que hay que poner eso. 1013 00:49:36,610 --> 00:49:40,380 1014 00:49:40,380 --> 00:49:48,270 >> Y no hay ningún espacio después de cada de los paréntesis o antes del final 1015 00:49:48,270 --> 00:49:49,080 de los paréntesis. 1016 00:49:49,080 --> 00:49:52,612 Así que ya ves que es todo junto, y también les gusta aquí. 1017 00:49:52,612 --> 00:49:53,940 >> ¿Sí? 1018 00:49:53,940 --> 00:49:58,040 >> LAUREN CARVALHO: Creo que tenemos que seguir adelante. 1019 00:49:58,040 --> 00:50:02,340 >> LUCAS FREITAS: Así que esto es parte de la guía de estilo que usted tiene para el CS50. 1020 00:50:02,340 --> 00:50:06,520 Asegúrese de ir a cs50.net/style y echar un vistazo a esto. 1021 00:50:06,520 --> 00:50:09,250 Estos son todos muy importantes para su calificación de estilo. 1022 00:50:09,250 --> 00:50:12,740 1023 00:50:12,740 --> 00:50:15,670 >> Permítanme volver a la declaración. 1024 00:50:15,670 --> 00:50:17,070 >> LAUREN CARVALHO: Prefiero sólo tiene que utilizar style50. 1025 00:50:17,070 --> 00:50:18,920 Sólo vamos a ir directamente a los bucles. 1026 00:50:18,920 --> 00:50:27,580 1027 00:50:27,580 --> 00:50:28,300 Está bien. 1028 00:50:28,300 --> 00:50:33,720 >> Así que vamos a volver a los contenidos, ahora que hemos pasado en el libro de estilo. 1029 00:50:33,720 --> 00:50:37,220 Loops, Usted los ha visto en Scratch, y vamos a hablar de ellos en 1030 00:50:37,220 --> 00:50:39,210 C. 1031 00:50:39,210 --> 00:50:44,400 >> En un bucle, hay tres porciones a la 1032 00:50:44,400 --> 00:50:45,440 declaración de este bucle. 1033 00:50:45,440 --> 00:50:49,040 Usted tiene su inicialización en que establece sus variables. 1034 00:50:49,040 --> 00:50:52,160 Tienes tu condición, que son la comprobación para ver si algo es 1035 00:50:52,160 --> 00:50:54,670 verdadera o falsa, y si el bucle debe continuar. 1036 00:50:54,670 --> 00:50:59,390 Y usted tiene su actualización, que es la actualización de las variables. 1037 00:50:59,390 --> 00:51:05,310 >> Vamos a echar un vistazo rápido a algunos Código C de este bucle en acción. 1038 00:51:05,310 --> 00:51:08,860 Lo que pasa es que aquí en el inicialización, estamos estableciendo i a 0. 1039 00:51:08,860 --> 00:51:11,820 En la condición que estamos comprobando si i es menor que 10. 1040 00:51:11,820 --> 00:51:14,982 Y en la actualización que estamos incrementando i. 1041 00:51:14,982 --> 00:51:20,490 Entonces, ¿cuál será el resultado de este bucle? 1042 00:51:20,490 --> 00:51:24,344 >> LUCAS FREITAS: En realidad, en primer lugar, ¿Sabes lo que los chicos i + + es? 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, sí. 1045 00:51:26,870 --> 00:51:30,020 Así que esto es lo mismo que haciendo i i + 1 es igual. 1046 00:51:30,020 --> 00:51:35,890 Y darse cuenta de que no tenemos un espacio entre el yo y el + +. 1047 00:51:35,890 --> 00:51:37,600 >> Así que sí sabemos es que ustedes lo que esto va a hacer? 1048 00:51:37,600 --> 00:51:39,060 ¿Puede alguien decirme? 1049 00:51:39,060 --> 00:51:41,463 Y tal vez obtener un poco de caramelo por eso? 1050 00:51:41,463 --> 00:51:42,912 >> AUDIENCIA: [inaudible] 1051 00:51:42,912 --> 00:51:44,850 >> LUCAS FREITAS: OK. 1052 00:51:44,850 --> 00:51:45,400 [Inaudible] 1053 00:51:45,400 --> 00:51:47,450 mostrar a todos más tarde [inaudible]. 1054 00:51:47,450 --> 00:51:49,565 Sí, se va a mostrar "Este CS50 es "10 veces. 1055 00:51:49,565 --> 00:51:52,150 >> LAUREN CARVALHO: Supongo que fue en el título de la diapositiva. 1056 00:51:52,150 --> 00:51:53,830 >> LUCAS FREITAS: Oh, sí. 1057 00:51:53,830 --> 00:51:54,670 >> [Risas] 1058 00:51:54,670 --> 00:51:56,790 >> LUCAS FREITAS: Eso ayuda. 1059 00:51:56,790 --> 00:51:58,370 >> LAUREN CARVALHO: Así que aquellos son para los bucles. 1060 00:51:58,370 --> 00:52:03,200 Vamos a ver algunos ejemplos más por lazos más adelante. 1061 00:52:03,200 --> 00:52:06,510 Pero vamos realmente a echar un vistazo a la segundo tipo de bucle te vas a encontrar 1062 00:52:06,510 --> 00:52:08,920 en C, y se llama el bucle while. 1063 00:52:08,920 --> 00:52:11,120 >> En un bucle while, que haya acaba de conseguir una condición. 1064 00:52:11,120 --> 00:52:14,790 La condición se comprueba en el a partir, y si esa condición 1065 00:52:14,790 --> 00:52:18,450 se evalúa como verdadera, entonces el código dentro de el cuerpo del bloque mientras 1066 00:52:18,450 --> 00:52:20,380 se ejecutará. 1067 00:52:20,380 --> 00:52:23,000 Y el código seguirá ejecutar, siempre y cuando que 1068 00:52:23,000 --> 00:52:24,450 condición sigue siendo cierto. 1069 00:52:24,450 --> 00:52:28,350 1070 00:52:28,350 --> 00:52:33,320 >> He aquí un ejemplo de un bucle while en C. Vamos a configurar la cuenta de 10 a 1071 00:52:33,320 --> 00:52:34,580 empezar. 1072 00:52:34,580 --> 00:52:41,800 Mientras contador es mayor que 0, vamos a seguir imprimiendo a cabo esta 1073 00:52:41,800 --> 00:52:43,360 variable de aquí. 1074 00:52:43,360 --> 00:52:47,080 Vamos a disminuir el recuento y a continuación, comprobar el estado de nuevo. 1075 00:52:47,080 --> 00:52:51,370 Imprimir, decremento, cheque la condición de nuevo. 1076 00:52:51,370 --> 00:52:54,530 >> Aquí tenemos un ejemplo que se refiere a su pregunta anterior. 1077 00:52:54,530 --> 00:52:57,340 Teníamos el porcentaje s cuando éramos impresión de una cadena, y ahora que 1078 00:52:57,340 --> 00:53:03,420 estamos imprimiendo un int, tenemos una ciento I como marcador de posición en lugar nuestro. 1079 00:53:03,420 --> 00:53:09,250 Todas las letras debe ser bastante intuitiva, S para cadena, i para int. 1080 00:53:09,250 --> 00:53:15,400 >> Así que si se ejecuta este código, debe una cuenta regresiva de 10 a 0, la impresión de 1081 00:53:15,400 --> 00:53:15,925 cada entero. 1082 00:53:15,925 --> 00:53:19,460 >> LUCAS FREITAS: Y se puede pensar en el por ciento, ya que se siente como un espacio en blanco 1083 00:53:19,460 --> 00:53:23,960 espacio, a continuación, usted está poniendo este variable de aquí en ese espacio en blanco. 1084 00:53:23,960 --> 00:53:27,640 Así, por ejemplo, aquí voy a tener sólo un espacio en blanco, y luego me voy a poner la 1085 00:53:27,640 --> 00:53:30,262 contar allí mismo, el valor de la cuenta. 1086 00:53:30,262 --> 00:53:32,710 ¿Eso tiene sentido? 1087 00:53:32,710 --> 00:53:35,860 >> ¿Puedo simplemente hacer como printf y luego cita, cuente? 1088 00:53:35,860 --> 00:53:36,840 ¿Funcionaría? 1089 00:53:36,840 --> 00:53:37,980 >> AUDIENCIA: No. 1090 00:53:37,980 --> 00:53:41,190 >> LUCAS FREITAS: No, porque lo hará de hecho imprimir la palabra "cuenta" 1091 00:53:41,190 --> 00:53:42,850 en lugar de imprimir el valor. 1092 00:53:42,850 --> 00:53:46,080 Esta es la forma de hacer que imprima los valores hacia la variable en lugar de 1093 00:53:46,080 --> 00:53:47,670 sólo el nombre de la variable. 1094 00:53:47,670 --> 00:53:48,530 ¿Alguna pregunta? 1095 00:53:48,530 --> 00:53:53,060 >> AUDIENCIA: ¿Por qué usan para como opuesta a tiempo? 1096 00:53:53,060 --> 00:53:56,130 >> LAUREN CARVALHO: Me gustaría utilizar una de bucle si sé exactamente cuántos 1097 00:53:56,130 --> 00:53:59,520 iteraciones que quiero mi bucle se ejecute. 1098 00:53:59,520 --> 00:54:02,810 En este caso, no tiene importancia, ya que, Quiero decir, yo sólo estaba tratando de 1099 00:54:02,810 --> 00:54:05,310 pensar en una muy simple ejemplo para esta diapositiva. 1100 00:54:05,310 --> 00:54:09,990 Pero digamos que usted quiere algo para seguir adelante, mientras que - 1101 00:54:09,990 --> 00:54:14,480 >> LUCAS FREITAS: Por ejemplo, usted es pidiendo de entrada hasta que la persona 1102 00:54:14,480 --> 00:54:15,370 le da la entrada derecha. 1103 00:54:15,370 --> 00:54:19,720 Así que, como mientras que la entrada no es Aceptar, seguir preguntando por él. 1104 00:54:19,720 --> 00:54:22,920 O como durante sus padres no se dan dinero, seguir preguntando por él. 1105 00:54:22,920 --> 00:54:23,430 >> [Risas] 1106 00:54:23,430 --> 00:54:25,390 >> LAUREN CARVALHO: Usted no sabe cómo muchas veces tendrás que hacerlo. 1107 00:54:25,390 --> 00:54:27,292 >> LUCAS FREITAS: Porque no lo hace sé cuántas veces eso es 1108 00:54:27,292 --> 00:54:28,010 va a seguir adelante. 1109 00:54:28,010 --> 00:54:30,397 >> LAUREN CARVALHO: Pero en un bucle, usted necesita saber cómo muchas veces. 1110 00:54:30,397 --> 00:54:33,640 1111 00:54:33,640 --> 00:54:33,860 ¿Sí? 1112 00:54:33,860 --> 00:54:38,520 >> AUDIENCIA: Solo para aclarar, el porcentaje dice que esto es algo a punto de 1113 00:54:38,520 --> 00:54:42,415 suceder, sobre las íes para la parte entera, y la barra invertida n - 1114 00:54:42,415 --> 00:54:43,910 >> LAUREN CARVALHO: Medios? 1115 00:54:43,910 --> 00:54:45,820 ¿Quién sabe lo que significa la barra invertida n? 1116 00:54:45,820 --> 00:54:47,770 Nueva línea, sí. 1117 00:54:47,770 --> 00:54:48,130 Exactamente. 1118 00:54:48,130 --> 00:54:50,500 >> LUCAS FREITAS: Usted puede pensar de n como nueva línea. 1119 00:54:50,500 --> 00:54:52,258 >> LAUREN CARVALHO: Nice. 1120 00:54:52,258 --> 00:54:55,775 >> AUDIENCIA: ¿Qué es lo que cuenta tablero tablero [inaudible]? 1121 00:54:55,775 --> 00:55:00,240 >> LUCAS FREITAS: Count minus minus es lo mismo que el plus plus, pero 1122 00:55:00,240 --> 00:55:02,160 en vez de aumentar, está disminuyendo en 1. 1123 00:55:02,160 --> 00:55:04,720 1124 00:55:04,720 --> 00:55:07,185 >> LAUREN CARVALHO: Cualquier más mientras que las cuestiones de bucle? 1125 00:55:07,185 --> 00:55:09,460 No? 1126 00:55:09,460 --> 00:55:13,910 Oh, que se suponía que han saltado que. 1127 00:55:13,910 --> 00:55:14,950 >> Se trata de un bucle do while. 1128 00:55:14,950 --> 00:55:18,950 Muy similar a un bucle while excepto en este caso, comprobamos la condición después de 1129 00:55:18,950 --> 00:55:23,430 el código en el cuerpo de la bucle se ejecuta una vez. 1130 00:55:23,430 --> 00:55:27,170 Así que ejecutamos el código primero no importa qué. 1131 00:55:27,170 --> 00:55:31,956 Entonces comprobamos la condición, ejecutar de nuevo si la condición es verdadera. 1132 00:55:31,956 --> 00:55:35,450 1133 00:55:35,450 --> 00:55:38,950 >> Usted se encontrará usando esto cuando usted está pidiendo la entrada del usuario. 1134 00:55:38,950 --> 00:55:42,080 Debido a que siempre vas a tener que pedir una vez, y luego en función de lo 1135 00:55:42,080 --> 00:55:46,570 la entrada del usuario es, puede que tenga que Nueva solicitud y pedir una y otra vez si 1136 00:55:46,570 --> 00:55:50,670 la entrada no era lo que esperaba que fuera. 1137 00:55:50,670 --> 00:55:53,610 >> AUDIENCIA: Así que es como una forma para que la gente llene. 1138 00:55:53,610 --> 00:55:56,010 >> LAUREN CARVALHO: Sí, exactamente. 1139 00:55:56,010 --> 00:55:59,720 Usted encontrará, creo, en su primera Juego de parámetros, usted va a tener que 1140 00:55:59,720 --> 00:56:04,010 utilizar un bucle así hacer para cobrar entrada del usuario. 1141 00:56:04,010 --> 00:56:08,728 >> AUDIENCIA: Dependiendo de la situación, sus ciclos while tenderán a funcionar con más 1142 00:56:08,728 --> 00:56:12,805 a menudo que los bucles while, como por uno o algo así? 1143 00:56:12,805 --> 00:56:14,080 >> LAUREN CARVALHO: Si es la exacta - 1144 00:56:14,080 --> 00:56:17,400 >> LUCAS FREITAS: Siempre deben ejecutar el importe exacto de veces que 1145 00:56:17,400 --> 00:56:19,130 quiere que se ejecute. 1146 00:56:19,130 --> 00:56:23,860 Como usamos hacer mientras porque realmente quería conseguir la entrada al menos una vez. 1147 00:56:23,860 --> 00:56:27,220 En ciclos while, a veces no quieres para ejecutarlo en absoluto si no es 1148 00:56:27,220 --> 00:56:28,540 el caso de ejecutar. 1149 00:56:28,540 --> 00:56:31,300 Por lo tanto, depende del diseño. 1150 00:56:31,300 --> 00:56:35,900 Quiero decir, usted puede hacerlo ya sea para uso o mientras mientras que el tiempo que el código hace que 1151 00:56:35,900 --> 00:56:36,905 se supone que debe hacer. 1152 00:56:36,905 --> 00:56:38,470 >> LAUREN CARVALHO: Pero yo sí pensar en la respuesta a su 1153 00:56:38,470 --> 00:56:40,540 pregunta es probablemente sí. 1154 00:56:40,540 --> 00:56:42,190 Digamos que la condición es falsa. 1155 00:56:42,190 --> 00:56:45,498 En un caso se correría una vez, y otro caso se correría cero veces. 1156 00:56:45,498 --> 00:56:47,370 Así que, sí. 1157 00:56:47,370 --> 00:56:49,260 >> ¿Alguna pregunta más? 1158 00:56:49,260 --> 00:56:50,320 ¿Sí? 1159 00:56:50,320 --> 00:56:56,443 >> AUDIENCIA: ¿Puede la condición de bucle es una bucle en términos de una otra variable 1160 00:56:56,443 --> 00:56:57,385 que [inaudible]. 1161 00:56:57,385 --> 00:57:01,700 >> LAUREN CARVALHO: Sí, puede ser cualquier cosa. 1162 00:57:01,700 --> 00:57:06,420 Probablemente para los Boletines de problemas iniciales, que no tendrá que encontrar ese caso, pero 1163 00:57:06,420 --> 00:57:09,878 Definitivamente puede ser cualquier cosa. 1164 00:57:09,878 --> 00:57:12,680 >> LUCAS FREITAS: Creo que que hemos terminado aquí. 1165 00:57:12,680 --> 00:57:13,290 >> LAUREN CARVALHO: ¿Estamos? 1166 00:57:13,290 --> 00:57:13,480 No? 1167 00:57:13,480 --> 00:57:13,870 >> LUCAS FREITAS: Loops? 1168 00:57:13,870 --> 00:57:14,600 Sí. 1169 00:57:14,600 --> 00:57:16,280 >> LAUREN CARVALHO: No debemos ser. 1170 00:57:16,280 --> 00:57:17,760 Oh, hemos terminado con bucles. 1171 00:57:17,760 --> 00:57:19,250 Aceptar. 1172 00:57:19,250 --> 00:57:23,180 >> En realidad, ya hemos estado hablando de manera tanto, vamos a navegar en realidad todo 1173 00:57:23,180 --> 00:57:28,950 a study.cs50.net/conditions. 1174 00:57:28,950 --> 00:57:34,460 Y vas a navegar hacia abajo para el widget de problemas. 1175 00:57:34,460 --> 00:57:39,090 Bueno, en realidad, mientras que la gente se está esta configuración, el Estudio CS50 es 1176 00:57:39,090 --> 00:57:42,620 va a ser una herramienta que tus TFS usar para preparar secciones y que 1177 00:57:42,620 --> 00:57:45,230 ustedes pueden usar si se olvida de secciones. 1178 00:57:45,230 --> 00:57:48,980 Se va a contener un montón de diapositivas, algunos consejos y trucos para cada 1179 00:57:48,980 --> 00:57:54,030 tema, y ​​algunos problemas de práctica con soluciones. 1180 00:57:54,030 --> 00:57:57,200 >> ¿Por qué no todo el mundo acaba de echar un vistazo en este problema aquí. 1181 00:57:57,200 --> 00:58:01,630 1182 00:58:01,630 --> 00:58:04,790 >> Lo siento, debí haber recordado personas para llevar las computadoras portátiles de hoy. 1183 00:58:04,790 --> 00:58:07,050 Pero si usted no tiene un ordenador portátil, que está bien. 1184 00:58:07,050 --> 00:58:10,140 Usted sólo puede apuntar esta abajo en una pedazo de papel o mirar por encima de 1185 00:58:10,140 --> 00:58:12,890 el hombro de su vecino. 1186 00:58:12,890 --> 00:58:16,380 >> Vamos a tratar de escribir un programa que solicita al usuario que tome una conjetura, la 1187 00:58:16,380 --> 00:58:19,250 número medio de hijos por familia unidad en los Estados Unidos. 1188 00:58:19,250 --> 00:58:22,265 Ese número es 2, por cierto, a medida que puede ver en estos ejemplos. 1189 00:58:22,265 --> 00:58:24,770 1190 00:58:24,770 --> 00:58:29,030 >> Queremos imprimir el número promedio de hijos por familia en los EE.UU., entonces 1191 00:58:29,030 --> 00:58:31,080 quiere qué? 1192 00:58:31,080 --> 00:58:35,480 Queremos recoger la entrada desde el usuario. 1193 00:58:35,480 --> 00:58:41,290 Y a continuación, dependiendo de lo que el usuario de entrada es, usted va a imprimir 1194 00:58:41,290 --> 00:58:44,850 bien esto es correcto o esto es incorrecto. 1195 00:58:44,850 --> 00:58:48,040 >> Y la primera cosa que usted va a ver, si hace clic en la pequeña flecha en 1196 00:58:48,040 --> 00:58:52,190 la parte inferior del widget problema es un detectar para anotar algunos pseudocódigo. 1197 00:58:52,190 --> 00:58:53,340 Así que no estás programando todavía. 1198 00:58:53,340 --> 00:58:56,740 No eres más que conseguir su ideas en orden. 1199 00:58:56,740 --> 00:58:59,620 >> ¿Alguien quiere ayudar a Lucas llegar a la derecha 1200 00:58:59,620 --> 00:59:01,270 pseudocódigo para este problema? 1201 00:59:01,270 --> 00:59:04,900 >> LUCAS FREITAS: ¿Qué es lo primero que probablemente deberíamos hacer aquí? 1202 00:59:04,900 --> 00:59:07,010 ¿Qué piensan ustedes? 1203 00:59:07,010 --> 00:59:08,260 >> AUDIENCIA: [inaudible] 1204 00:59:08,260 --> 00:59:12,060 1205 00:59:12,060 --> 00:59:13,290 >> LUCAS FREITAS: Sí, está bien. 1206 00:59:13,290 --> 00:59:16,610 Así, imprimir. 1207 00:59:16,610 --> 00:59:19,480 Sólo di la impresión de este promedio número de personas? 1208 00:59:19,480 --> 00:59:20,470 Aceptar. 1209 00:59:20,470 --> 00:59:23,450 Imprimir pregunta, digamos. 1210 00:59:23,450 --> 00:59:25,951 Después imprimo esta pregunta, ¿qué debo hacer? 1211 00:59:25,951 --> 00:59:27,875 >> AUDIENCIA: Obtener el aporte. 1212 00:59:27,875 --> 00:59:30,690 >> LUCAS FREITAS: Obtener entrada. 1213 00:59:30,690 --> 00:59:32,864 ¿Algo más? 1214 00:59:32,864 --> 00:59:34,114 >> AUDIENCIA: Condición. 1215 00:59:34,114 --> 00:59:36,770 1216 00:59:36,770 --> 00:59:38,980 >> LUCAS FREITAS: Condición. 1217 00:59:38,980 --> 00:59:41,325 >> LAUREN CARVALHO: ¿Qué es eso condiciones va a ser? 1218 00:59:41,325 --> 00:59:43,550 >> AUDIENCIA: El número de [inaudible]. 1219 00:59:43,550 --> 00:59:44,440 >> LAUREN CARVALHO: Así es. 1220 00:59:44,440 --> 00:59:46,945 >> LUCAS FREITAS: Entonces, ¿qué voy para comprobar en el estado? 1221 00:59:46,945 --> 00:59:48,750 >> AUDIENCIA: Si es igual a 2. 1222 00:59:48,750 --> 00:59:50,640 >> LAUREN CARVALHO: Si es 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: ¿Hay algo más que deba hacer? 1226 01:00:00,140 --> 01:00:01,390 >> AUDIENCIA: Count. 1227 01:00:01,390 --> 01:00:05,184 1228 01:00:05,184 --> 01:00:08,110 >> LUCAS FREITAS: Así que si es igual a 2, vamos a decir - 1229 01:00:08,110 --> 01:00:14,250 1230 01:00:14,250 --> 01:00:17,960 permítanme escribir si es igual a la entrada a 2, entonces lo que voy 1231 01:00:17,960 --> 01:00:23,665 hacer es impresión correcto. 1232 01:00:23,665 --> 01:00:26,230 1233 01:00:26,230 --> 01:00:31,826 Y luego otra cosa, voy imprimir correctos. 1234 01:00:31,826 --> 01:00:34,600 1235 01:00:34,600 --> 01:00:37,720 ¿Algo más? 1236 01:00:37,720 --> 01:00:38,670 No? 1237 01:00:38,670 --> 01:00:40,500 >> LAUREN CARVALHO: Así que usted puede hacer clic en el - 1238 01:00:40,500 --> 01:00:42,290 Por qué todos tienen esto abajo? 1239 01:00:42,290 --> 01:00:44,680 >> LUCAS FREITAS: ¿Tiene sentido? 1240 01:00:44,680 --> 01:00:46,226 Así que ahora vamos a tratar de codificar esta. 1241 01:00:46,226 --> 01:00:50,140 >> LAUREN CARVALHO: Si hace clic en el pequeño flecha, que en realidad guarda su 1242 01:00:50,140 --> 01:00:51,900 pseudocódigo, que es realmente emocionante. 1243 01:00:51,900 --> 01:00:56,480 Y usted puede hacer en los comentarios si que quieres es simplemente para recordar 1244 01:00:56,480 --> 01:00:57,075 lo que debe hacer. 1245 01:00:57,075 --> 01:01:01,555 >> LUCAS FREITAS: Así, por ejemplo, primero Voy a imprimir la pregunta, así 1246 01:01:01,555 --> 01:01:05,930 ¿cómo voy a hacer eso, en realidad? 1247 01:01:05,930 --> 01:01:07,050 printf. 1248 01:01:07,050 --> 01:01:12,130 Así printf, y la pregunta es la media número de hijos por 1249 01:01:12,130 --> 01:01:14,110 familia en los EE.UU.. 1250 01:01:14,110 --> 01:01:19,070 1251 01:01:19,070 --> 01:01:21,790 >> Entonces me voy a poner entrada del usuario. 1252 01:01:21,790 --> 01:01:29,050 1253 01:01:29,050 --> 01:01:31,324 Entonces, ¿cómo puedo hacer eso? 1254 01:01:31,324 --> 01:01:32,200 >> AUDIENCIA: Obtener Int.. 1255 01:01:32,200 --> 01:01:33,076 >> LAUREN CARVALHO: GetInt. 1256 01:01:33,076 --> 01:01:33,890 >> LUCAS FREITAS: OK. 1257 01:01:33,890 --> 01:01:35,220 Así que primero declarar, ¿verdad? 1258 01:01:35,220 --> 01:01:39,300 int, llamémosle n es igual GetInt. 1259 01:01:39,300 --> 01:01:42,610 1260 01:01:42,610 --> 01:01:44,670 >> Y ahora la condición. 1261 01:01:44,670 --> 01:01:49,250 Así que déjenme decirles que me voy a aquí Respuesta. 1262 01:01:49,250 --> 01:01:57,290 Así que primero, si la entrada, que es n, es igual a a - ¿cómo voy a escribir eso? 1263 01:01:57,290 --> 01:01:58,480 >> AUDIENCIA: Igualdad iguales. 1264 01:01:58,480 --> 01:02:00,000 >> LUCAS FREITAS: Perfect. 1265 01:02:00,000 --> 01:02:00,670 Entonces n. 1266 01:02:00,670 --> 01:02:04,600 Y noto que me hago un espacio, iguales, iguales, espacio, cierto. 1267 01:02:04,600 --> 01:02:06,930 Y ahora ¿qué debo hacer? 1268 01:02:06,930 --> 01:02:08,820 Algo muy importante para el estilo. 1269 01:02:08,820 --> 01:02:10,070 Las llaves. 1270 01:02:10,070 --> 01:02:16,570 1271 01:02:16,570 --> 01:02:17,795 >> Y luego voy a imprimir. 1272 01:02:17,795 --> 01:02:19,790 ¿Cómo se imprime? 1273 01:02:19,790 --> 01:02:22,500 printf. 1274 01:02:22,500 --> 01:02:24,568 >> AUDIENCIA: ¿Podría ser mayúscula? 1275 01:02:24,568 --> 01:02:27,166 1276 01:02:27,166 --> 01:02:28,380 >> LUCAS FREITAS: No. 1277 01:02:28,380 --> 01:02:31,000 Se supone que debe estar en minúsculas. 1278 01:02:31,000 --> 01:02:32,250 Así que eso es correcto. 1279 01:02:32,250 --> 01:02:40,990 1280 01:02:40,990 --> 01:02:44,870 >> Bastaría esto para el printf declaración, o me estoy perdiendo algo? 1281 01:02:44,870 --> 01:02:46,265 >> AUDIENCIA: Nueva línea. 1282 01:02:46,265 --> 01:02:50,220 >> LUCAS FREITAS: Nueva línea, sí. 1283 01:02:50,220 --> 01:02:51,250 Y ahora más. 1284 01:02:51,250 --> 01:02:57,290 >> AUDIENCIA: ¿Existe un espacio después de que el printf, o no? 1285 01:02:57,290 --> 01:03:00,820 >> LAUREN CARVALHO: Deberíamos consultar la guía de estilo. 1286 01:03:00,820 --> 01:03:02,260 >> AUDIENCIA: No debería ser. 1287 01:03:02,260 --> 01:03:03,510 >> LUCAS FREITAS: ¿No debería ser, en Aceptar. 1288 01:03:03,510 --> 01:03:05,820 1289 01:03:05,820 --> 01:03:13,605 Así que otra cosa, printf, "Eso no es correcto." 1290 01:03:13,605 --> 01:03:17,105 >> LAUREN CARVALHO: Vaya, sus cotizaciones. 1291 01:03:17,105 --> 01:03:17,950 >> LUCAS FREITAS: OK. 1292 01:03:17,950 --> 01:03:18,600 ¿Algo más? 1293 01:03:18,600 --> 01:03:20,770 ¿Te parece bien? 1294 01:03:20,770 --> 01:03:21,890 >> LAUREN CARVALHO: Lo intentamos? 1295 01:03:21,890 --> 01:03:23,190 >> LUCAS FREITAS: Sí, vamos a ejecutarlo. 1296 01:03:23,190 --> 01:03:25,880 1297 01:03:25,880 --> 01:03:29,070 Así que es la compilación, y Parece que funciona. 1298 01:03:29,070 --> 01:03:31,465 Vamos a tratar de dos hijos. 1299 01:03:31,465 --> 01:03:34,110 Eso es correcto. 1300 01:03:34,110 --> 01:03:37,300 Y ahora vamos a correr de nuevo, pero ahora en lugar de poner dos hijos, vamos a 1301 01:03:37,300 --> 01:03:40,990 decir que me voy a poner como cinco. 1302 01:03:40,990 --> 01:03:41,515 Eso es incorrecto. 1303 01:03:41,515 --> 01:03:42,670 Así que parece que funciona. 1304 01:03:42,670 --> 01:03:44,160 >> LAUREN CARVALHO: ¿Por qué no les muestras qué pasa si pones algo 1305 01:03:44,160 --> 01:03:45,055 raro, como algunas letras. 1306 01:03:45,055 --> 01:03:45,790 >> LUCAS FREITAS: Oh, sí. 1307 01:03:45,790 --> 01:03:47,430 También vamos a comprobar que. 1308 01:03:47,430 --> 01:03:51,170 ¿Qué pasa si el usuario está tratando de meterse con su programa, y ​​que sólo 1309 01:03:51,170 --> 01:03:57,430 escribir, no sé dos. 1310 01:03:57,430 --> 01:03:58,320 Va a decir reintento. 1311 01:03:58,320 --> 01:04:00,780 >> LAUREN CARVALHO: Así GetInt les está pidiendo que vuelva a intentarlo. 1312 01:04:00,780 --> 01:04:02,115 No teníamos que cuidar de que nosotros mismos. 1313 01:04:02,115 --> 01:04:02,750 >> LUCAS FREITAS: Si. 1314 01:04:02,750 --> 01:04:06,853 Así que a menos que realmente poner un número, que es va a seguir pidiendo que vuelva a intentarlo. 1315 01:04:06,853 --> 01:04:08,330 >> AUDIENCIA: ¿Cómo se ejecuta? 1316 01:04:08,330 --> 01:04:10,570 >> LUCAS FREITAS: Basta con hacer clic este botón de estrella. 1317 01:04:10,570 --> 01:04:11,940 >> LAUREN CARVALHO: Usted debe subir. 1318 01:04:11,940 --> 01:04:13,320 Ahí lo tienes. 1319 01:04:13,320 --> 01:04:15,550 >> LUCAS FREITAS: La estrella botón derecho allí. 1320 01:04:15,550 --> 01:04:16,040 ¿Sí? 1321 01:04:16,040 --> 01:04:19,960 >> AUDIENCIA: ¿Se pedirá [inaudible] con números decimales también? 1322 01:04:19,960 --> 01:04:21,235 >> LAUREN CARVALHO: Yo creo que sí. 1323 01:04:21,235 --> 01:04:22,660 >> LUCAS FREITAS: Si es así, ¿qué? 1324 01:04:22,660 --> 01:04:24,990 >> LAUREN CARVALHO: Si se escriba en un número decimal, creo 1325 01:04:24,990 --> 01:04:25,880 que va a solicitar. 1326 01:04:25,880 --> 01:04:26,586 >> LUCAS FREITAS: Veamos. 1327 01:04:26,586 --> 01:04:28,360 >> LAUREN CARVALHO: Porque no es un int. 1328 01:04:28,360 --> 01:04:32,056 1329 01:04:32,056 --> 01:04:33,442 >> LUCAS FREITAS: Si. 1330 01:04:33,442 --> 01:04:37,370 >> LAUREN CARVALHO: ¿Así que no es un int, Obtenga Int. le pedirá que vuelva a intentarlo. 1331 01:04:37,370 --> 01:04:40,795 >> AUDIENCIA: Entonces, ¿dónde en ese código sería el decimal que pide al 1332 01:04:40,795 --> 01:04:46,005 de usuario que tienen que entrar un número entero específicamente? 1333 01:04:46,005 --> 01:04:48,480 >> LAUREN CARVALHO: GetInt es en realidad hacer eso por nosotros. 1334 01:04:48,480 --> 01:04:50,600 >> AUDIENCIA: No, quiero decir que si queríamos para acceder a [inaudible] 1335 01:04:50,600 --> 01:04:55,070 >> LUCAS FREITAS: Puede decir como promedio número de niños en los EE.UU.. 1336 01:04:55,070 --> 01:04:56,120 No se. 1337 01:04:56,120 --> 01:05:01,761 Podemos decir, por ejemplo ", por favor de entrada un número entero ". 1338 01:05:01,761 --> 01:05:04,270 >> LAUREN CARVALHO: Un número entero igual al número medio. 1339 01:05:04,270 --> 01:05:06,190 Quiero decir, es sólo la forma en lo palabra, ¿verdad? 1340 01:05:06,190 --> 01:05:06,520 >> LUCAS FREITAS: Si. 1341 01:05:06,520 --> 01:05:08,420 Esto no es parte de la realidad de codificación. 1342 01:05:08,420 --> 01:05:11,000 Es más bien como lo que usted va a querer 1343 01:05:11,000 --> 01:05:13,987 escribir en su programa. 1344 01:05:13,987 --> 01:05:17,723 >> AUDIENCIA: ¿Cómo nos hemos ejecutarlo si estaba realmente en gedit [inaudible]. 1345 01:05:17,723 --> 01:05:19,130 En lugar de presionar el juego? 1346 01:05:19,130 --> 01:05:21,180 >> LUCAS FREITAS: Enviaremos primero compilarlo. 1347 01:05:21,180 --> 01:05:25,080 Podemos hacerlo haciendo maquillaje y el nombre del archivo. 1348 01:05:25,080 --> 01:05:29,896 Y después de ejecutarlo, lo haremos slash dot y el nombre del programa. 1349 01:05:29,896 --> 01:05:36,588 >> AUDIENCIA: Creo que lo que quería decir era si queríamos que el programa para responder a 1350 01:05:36,588 --> 01:05:42,010 su, entrada inválida incorrecta, usted no debe poner en - 1351 01:05:42,010 --> 01:05:45,710 >> LUCAS FREITAS: No vamos a ser capaces de hacer eso porque el código que dice 1352 01:05:45,710 --> 01:05:50,350 reintentar proviene de Get Int que es un la función que ya se implementa 1353 01:05:50,350 --> 01:05:55,790 para nosotros a través de la biblioteca CS50, y desde que ya ha implementado allí, 1354 01:05:55,790 --> 01:05:58,340 puede no sólo [inaudible]. 1355 01:05:58,340 --> 01:06:00,780 >> LAUREN CARVALHO: Si usted no usa GetInt, entonces usted puede hacer eso. 1356 01:06:00,780 --> 01:06:01,490 >> LUCAS FREITAS: Si. 1357 01:06:01,490 --> 01:06:03,750 Pero si usted está usando GetInt, no se puede. 1358 01:06:03,750 --> 01:06:05,427 ¿Alguna otra pregunta? 1359 01:06:05,427 --> 01:06:12,938 >> AUDIENCIA: ¿Podrías haber ido con igual GetFloat y luego ser capaz de poner 1360 01:06:12,938 --> 01:06:14,381 en un decimal? 1361 01:06:14,381 --> 01:06:15,343 >> LUCAS FREITAS: Si. 1362 01:06:15,343 --> 01:06:15,824 >> AUDIENCIA: OK. 1363 01:06:15,824 --> 01:06:19,210 A continuación, sólo puede ingresar flotar A es igual a - 1364 01:06:19,210 --> 01:06:19,950 >> LAUREN CARVALHO: Si. 1365 01:06:19,950 --> 01:06:22,740 Exactamente lo mismo, excepto una flotar en lugar de un int. 1366 01:06:22,740 --> 01:06:27,372 >> LUCAS FREITAS: Sólo hay que poner aquí y luego GetFloat allí. 1367 01:06:27,372 --> 01:06:29,795 >> AUDIENCIA: Como quieras ver o han visto - 1368 01:06:29,795 --> 01:06:31,327 >> LAUREN CARVALHO: tenemos no llegado allí todavía. 1369 01:06:31,327 --> 01:06:36,490 >> AUDIENCIA: - haciendo la desigualdad con flotadores no no [inaudible] 1370 01:06:36,490 --> 01:06:40,290 >> AUDIENCIA: ¿Qué significan los puntos y comas? 1371 01:06:40,290 --> 01:06:43,220 >> LAUREN CARVALHO: El punto y coma sólo significa que esta afirmación es completa, 1372 01:06:43,220 --> 01:06:45,030 y vamos a ir a la siguiente diapositiva. 1373 01:06:45,030 --> 01:06:47,040 >> AUDIENCIA: Por lo que es necesario cada vez? 1374 01:06:47,040 --> 01:06:48,330 >> LAUREN CARVALHO: Si. 1375 01:06:48,330 --> 01:06:53,130 Bueno, está bien, por lo que no fuera por estas condiciones, porque son 1376 01:06:53,130 --> 01:06:54,090 encapsulando algo. 1377 01:06:54,090 --> 01:07:00,290 Así que, básicamente, si algo está causando a continuación, crear una llave 1378 01:07:00,290 --> 01:07:03,000 bloque, no ponga un punto y coma al final. 1379 01:07:03,000 --> 01:07:04,200 >> LUCAS FREITAS: Pero todo demás, sí. 1380 01:07:04,200 --> 01:07:06,670 Cuando termine de un comunicado, poner el punto y coma. 1381 01:07:06,670 --> 01:07:10,380 Y si se le olvida un punto y coma, la compilador va a enojarse con usted, 1382 01:07:10,380 --> 01:07:12,640 y usted va a tener para tratar de arreglarlo. 1383 01:07:12,640 --> 01:07:16,520 >> LAUREN CARVALHO: Si pongo un punto y coma aquí, eso sería detener esto, y yo 1384 01:07:16,520 --> 01:07:18,780 nunca llegar a ejecutar lo que es en el interior, por cierto. 1385 01:07:18,780 --> 01:07:21,113 Así que es uno de esos errores comunes. 1386 01:07:21,113 --> 01:07:22,390 >> AUDIENCIA: Siempre ejecución. 1387 01:07:22,390 --> 01:07:22,950 >> LAUREN CARVALHO: Si. 1388 01:07:22,950 --> 01:07:25,860 En este caso, siempre lo haría ejecutar lo que hay dentro. 1389 01:07:25,860 --> 01:07:29,050 >> AUDIENCIA: Su estilo de [inaudible] fijar eso para usted, el pensamiento. 1390 01:07:29,050 --> 01:07:29,802 >> LAUREN CARVALHO: Oh, eso es cierto. 1391 01:07:29,802 --> 01:07:34,298 >> AUDIENCIA: [inaudible] sola Lo line [inaudible] 1392 01:07:34,298 --> 01:07:35,286 >> AUDIENCIA: Sí? 1393 01:07:35,286 --> 01:07:37,756 >> AUDIENCIA: ¿Se puede tener múltiples insumos en una línea? 1394 01:07:37,756 --> 01:07:41,214 Así como se puede pedir a los usuarios imprimir dos cosas? 1395 01:07:41,214 --> 01:07:42,530 >> LAUREN CARVALHO: no se utiliza - 1396 01:07:42,530 --> 01:07:44,520 >> LUCAS FREITAS: No. 1397 01:07:44,520 --> 01:07:47,040 Digamos que también quiero para obtener este número entero m. 1398 01:07:47,040 --> 01:07:49,558 Tengo que hacerlo en una línea diferente. 1399 01:07:49,558 --> 01:07:54,992 >> AUDIENCIA: Si se va a ejecutar eso, ¿cómo [inaudible]? 1400 01:07:54,992 --> 01:07:59,438 Se imprimirá el símbolo hay [inaudible] 1401 01:07:59,438 --> 01:08:00,940 y entonces lo que entra en uno y - 1402 01:08:00,940 --> 01:08:01,840 >> LAUREN CARVALHO: Bueno, lo dirige. 1403 01:08:01,840 --> 01:08:04,365 Quiero decir, no hay nada que nos impida simplemente ejecutarlo y ver lo 1404 01:08:04,365 --> 01:08:06,610 que pasaría. 1405 01:08:06,610 --> 01:08:08,080 >> LUCAS FREITAS: Creo que es va a se queja de nosotros 1406 01:08:08,080 --> 01:08:08,977 porque no estamos usando - 1407 01:08:08,977 --> 01:08:09,751 >> LAUREN CARVALHO: Vaya. 1408 01:08:09,751 --> 01:08:12,580 >> LUCAS FREITAS: Se quejó a nosotros en este ahora porque no estamos usando este 1409 01:08:12,580 --> 01:08:21,640 variable, pero si lo hiciera, por ejemplo, n es igual a es igual a y m es igual a 1410 01:08:21,640 --> 01:08:26,849 es igual a, entonces, ¿qué pasar en este caso? 1411 01:08:26,849 --> 01:08:28,830 ¿Qué iba a hacer este programa? 1412 01:08:28,830 --> 01:08:30,330 >> AUDIENCIA: Me pregunto la forma en que lo haría - 1413 01:08:30,330 --> 01:08:31,550 >> LAUREN CARVALHO: Ella sólo quiere saber cómo se ve 1414 01:08:31,550 --> 01:08:34,189 como, creo, ¿no? 1415 01:08:34,189 --> 01:08:36,819 Así que tomó uno de ellos, y luego se tomó la segunda. 1416 01:08:36,819 --> 01:08:41,279 1417 01:08:41,279 --> 01:08:43,069 >> Creo que deberíamos seguir adelante, porque tenemos una más 1418 01:08:43,069 --> 01:08:44,689 presentación de diapositivas que recorrer antes - 1419 01:08:44,689 --> 01:08:46,269 Qué quieres tirar de las matemáticas? 1420 01:08:46,269 --> 01:08:47,558 >> LUCAS FREITAS: Sí, las matemáticas. 1421 01:08:47,558 --> 01:09:00,033 1422 01:09:00,033 --> 01:09:02,206 >> LAUREN CARVALHO: Dar yo tan sólo un segundo. 1423 01:09:02,206 --> 01:09:07,390 1424 01:09:07,390 --> 01:09:14,260 >> Hay una numérica pocos diferentes variables en C. Datos Numéricos en C 1425 01:09:14,260 --> 01:09:18,130 se pueden clasificar en diferentes tipos, y estos son los que estará 1426 01:09:18,130 --> 01:09:19,570 ver la mayoría de las veces. 1427 01:09:19,570 --> 01:09:20,910 >> Y int es un número entero. 1428 01:09:20,910 --> 01:09:23,189 Usted no puede tener ningún decimales. 1429 01:09:23,189 --> 01:09:27,754 En el aparato, que se necesita 32 bits para almacenar un int. 1430 01:09:27,754 --> 01:09:30,450 >> Un flotador puede tener decimales. 1431 01:09:30,450 --> 01:09:34,330 También tiene 32 bits para almacenar un flotador en el Appliance. 1432 01:09:34,330 --> 01:09:42,270 >> Un doble es un número con un decimal punto que se lleva a 64 bits para almacenarlo, 1433 01:09:42,270 --> 01:09:44,470 lo que significa que usted puede tener mayor precisión porque 1434 01:09:44,470 --> 01:09:46,426 usted puede tener más - 1435 01:09:46,426 --> 01:09:47,785 ¿cómo se llama eso? 1436 01:09:47,785 --> 01:09:48,640 >> LUCAS FREITAS: Sí, eso es más. 1437 01:09:48,640 --> 01:09:52,140 >> LAUREN CARVALHO: más lugares después del punto decimal. 1438 01:09:52,140 --> 01:09:57,140 Y mucho, mucho es un número entero que tiene 64 bits a 1439 01:09:57,140 --> 01:09:58,395 que dolor en el aparato. 1440 01:09:58,395 --> 01:10:00,278 >> LUCAS FREITAS: Así que puede ser más grande que puede ser enteros. 1441 01:10:00,278 --> 01:10:03,320 1442 01:10:03,320 --> 01:10:08,380 >> LAUREN CARVALHO: Lo que pasa con los datos tipos en C es que te dicen lo que 1443 01:10:08,380 --> 01:10:11,050 tipo de datos que puede almacenar en la variable. 1444 01:10:11,050 --> 01:10:15,860 Ellos te dicen cómo se puede utilizar esta variable en su programa. 1445 01:10:15,860 --> 01:10:19,650 Es muy importante que acaba de realizar un seguimiento de qué tipo de datos que está usando, y si 1446 01:10:19,650 --> 01:10:23,070 usted tiene que lanzar desde un tipo de datos a otro, asegúrese de que usted sabe 1447 01:10:23,070 --> 01:10:25,250 exactamente lo que sucede cuando esa fundición tiene lugar. 1448 01:10:25,250 --> 01:10:28,520 Y verás un ejemplo más adelante en estas diapositivas de un 1449 01:10:28,520 --> 01:10:31,490 error que puede ocurrir. 1450 01:10:31,490 --> 01:10:35,300 >> Echemos un vistazo a algunos de matemáticas en C y pensar con mucho cuidado, supongo, 1451 01:10:35,300 --> 01:10:38,470 acerca de lo que está pasando cuando este matemáticas está teniendo lugar. 1452 01:10:38,470 --> 01:10:43,552 En la primera línea, lo que es sucediendo cuando yo declaro x? 1453 01:10:43,552 --> 01:10:48,921 >> AUDIENCIA: Usted está permitiendo x ser algo? 1454 01:10:48,921 --> 01:10:49,700 >> LAUREN CARVALHO: Si. 1455 01:10:49,700 --> 01:10:54,040 Bueno, realmente estoy pidiendo a la operación sistema de 32 bits de memoria, ¿verdad? 1456 01:10:54,040 --> 01:10:57,890 ¿En qué puedo almacenar un int, y Voy a llamar a ese int x. 1457 01:10:57,890 --> 01:11:01,370 >> LUCAS FREITAS: ir Básicamente en la memoria y la búsqueda de un lugar que tiene 32 1458 01:11:01,370 --> 01:11:05,290 bits y dicho, oye, quiero este espacio, y que va a ser llamado x. 1459 01:11:05,290 --> 01:11:08,590 Así que no eres más que bastante hallazgo una caja en su 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 CARVALHO: Y entonces puedo inicializar x, lo que significa que simplemente almacenar el 1462 01:11:13,980 --> 01:11:20,270 valor de 2 en ese lugar, ese pedazo de la memoria, que pedimos operativo 1463 01:11:20,270 --> 01:11:21,860 sistema para. 1464 01:11:21,860 --> 01:11:25,090 Y hasta aquí lo que estamos haciendo es en realidad estamos declarando y 1465 01:11:25,090 --> 01:11:29,060 inicializar y en una línea en lugar de en dos líneas como lo hicimos aquí, 1466 01:11:29,060 --> 01:11:33,960 que también es un perfectamente bien, estamos la adición de 1 a x, y 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: Así que básicamente lo que esto línea hace, encuentra ahora un cuadro para y, 1469 01:11:39,360 --> 01:11:41,990 y entonces su valor, lo que usted va a poner dentro de la caja, es 1470 01:11:41,990 --> 01:11:43,800 va a ser el valor de x más 1. 1471 01:11:43,800 --> 01:11:45,850 Por lo que tiene esta caja para y. 1472 01:11:45,850 --> 01:11:49,980 Se obtiene el valor de x, se ve aquí, y ver que es 2. 1473 01:11:49,980 --> 01:11:53,035 Ponlo ahí, más 1, por lo que pone un 3 allí. 1474 01:11:53,035 --> 01:11:54,290 ¿Eso tiene sentido? 1475 01:11:54,290 --> 01:11:55,780 Por lo tanto y sería 2 en este caso. 1476 01:11:55,780 --> 01:11:58,993 1477 01:11:58,993 --> 01:12:00,770 >> LAUREN CARVALHO: Muy bien, fresco. 1478 01:12:00,770 --> 01:12:06,010 Vimos alguna adición, así que vamos a pensar ahora sobre la división en C. Aquí estoy 1479 01:12:06,010 --> 01:12:11,490 declaración e iniciación de un flotador llamada respuesta y dividiendo 1 por 10, 1480 01:12:11,490 --> 01:12:14,860 y entonces yo estoy imprimiendo la respuesta con dos decimales. 1481 01:12:14,860 --> 01:12:18,800 Y tenga en cuenta que aquí, en mi declaración printf, cuando quiero imprimir algo a dos 1482 01:12:18,800 --> 01:12:25,600 decimales,% .2 f es lo que yo quiero usar. 1483 01:12:25,600 --> 01:12:28,880 1484 01:12:28,880 --> 01:12:31,760 Así que el punto 2 es sólo decir Necesito dos lugares después de la 1485 01:12:31,760 --> 01:12:34,980 decimal imprime. 1486 01:12:34,980 --> 01:12:38,740 >> Ahora, ¿qué va a pasar si ejecuto este código? 1487 01:12:38,740 --> 01:12:40,500 ¿Alguien tiene una idea? 1488 01:12:40,500 --> 01:12:42,721 ¿Qué haría imprimir? 1489 01:12:42,721 --> 01:12:45,010 >> LUCAS FREITAS: ¿Cuáles son que esperaba conseguir. 1490 01:12:45,010 --> 01:12:46,810 >> LAUREN CARVALHO: Qué hacer queremos, en primer lugar? 1491 01:12:46,810 --> 01:12:48,871 >> LUCAS FREITAS: [inaudible] 1492 01:12:48,871 --> 01:12:51,120 >> LAUREN CARVALHO: 0.1, sí. 1493 01:12:51,120 --> 01:12:52,325 Pero, ¿qué va a imprimir? 1494 01:12:52,325 --> 01:12:53,275 >> AUDIENCIA: [inaudible] 1495 01:12:53,275 --> 01:12:56,760 >> LAUREN CARVALHO: Bueno, no, en realidad. 1496 01:12:56,760 --> 01:13:01,400 Esto es lo que yo estaba hablando acerca de por qué que hacer un seguimiento muy cuidadoso de 1497 01:13:01,400 --> 01:13:02,550 sus tipos de datos. 1498 01:13:02,550 --> 01:13:05,000 Entonces, ¿qué tipo de datos es esto? 1499 01:13:05,000 --> 01:13:06,250 Es un int, ¿verdad? 1500 01:13:06,250 --> 01:13:07,600 No hay lugar decimal. 1501 01:13:07,600 --> 01:13:08,770 10 es también un int. 1502 01:13:08,770 --> 01:13:09,930 No hay lugar decimal. 1503 01:13:09,930 --> 01:13:15,770 >> Si divido un int por un int, me sale un int que no es 0.1, porque enteros 1504 01:13:15,770 --> 01:13:18,630 no puede tener decimales, pero sólo 0. 1505 01:13:18,630 --> 01:13:21,005 Debido a un int simplemente trunca de los decimales. 1506 01:13:21,005 --> 01:13:24,280 >> LUCAS FREITAS: Así que cada vez que haces operaciones con enteros, se van a 1507 01:13:24,280 --> 01:13:25,990 conseguir un int como la respuesta. 1508 01:13:25,990 --> 01:13:28,930 Así que, básicamente, lo que la computadora está haciendo, es divide 1 por 1509 01:13:28,930 --> 01:13:31,520 10, y que llega a 0,1. 1510 01:13:31,520 --> 01:13:34,870 Pero entonces es como, espera, esto es se supone que es un número entero, por lo que sólo 1511 01:13:34,870 --> 01:13:37,045 ignorar el 0,1, por lo que es ahora sólo 0. 1512 01:13:37,045 --> 01:13:41,782 >> LAUREN CARVALHO: Así que cuando imprimo esta fuera, me sale 0,00 en lugar de 0,10. 1513 01:13:41,782 --> 01:13:44,075 >> LUCAS FREITAS: ¿Eso tiene sentido? 1514 01:13:44,075 --> 01:13:45,530 >> LAUREN CARVALHO: Eso es algo de lamentable, ¿no? 1515 01:13:45,530 --> 01:13:47,290 >> LUCAS FREITAS: ¿Cómo podemos solucionar este problema? 1516 01:13:47,290 --> 01:13:48,620 >> LAUREN CARVALHO: Vamos a tratar de arreglar eso. 1517 01:13:48,620 --> 01:13:51,570 1518 01:13:51,570 --> 01:13:54,810 He aquí un ejemplo de donde soy realmente lanzar el 1 1519 01:13:54,810 --> 01:13:56,650 y el 10 para los flotadores. 1520 01:13:56,650 --> 01:13:58,800 Así que ahora, 1 ya no es un int. 1521 01:13:58,800 --> 01:14:00,020 1 es un flotador. 1522 01:14:00,020 --> 01:14:02,590 Por cierto, esto es sólo la sintaxis para cuando se desea lanzar desde un 1523 01:14:02,590 --> 01:14:03,410 tipo de datos a otro. 1524 01:14:03,410 --> 01:14:07,140 Usted sólo puede poner el tipo de datos en paréntesis y tener que acaba de preceder 1525 01:14:07,140 --> 01:14:10,860 el valor que se está echando. 1526 01:14:10,860 --> 01:14:15,800 >> Así que aquí, estoy dividiendo un flotador por un flotador para obtener una respuesta de flotación. 1527 01:14:15,800 --> 01:14:19,535 Y sí, esto sería en hecho de imprimir 0.10. 1528 01:14:19,535 --> 01:14:20,470 ¿Eso tiene sentido? 1529 01:14:20,470 --> 01:14:24,110 >> LUCAS FREITAS: Así que la conversión de tipos es sólo la conversión de un tipo a otro. 1530 01:14:24,110 --> 01:14:29,460 Así que flotan 1 es en realidad 1.000. 1531 01:14:29,460 --> 01:14:33,400 No es exactamente esto, pero es algo con decimales 1532 01:14:33,400 --> 01:14:34,715 que en realidad es 1. 1533 01:14:34,715 --> 01:14:35,960 ¿Eso tiene sentido? 1534 01:14:35,960 --> 01:14:36,260 ¿Sí? 1535 01:14:36,260 --> 01:14:40,990 >> AUDIENCIA: ¿Qué pasa si usted hizo respuesta flotador es igual a 1,0 dividido por 10? 1536 01:14:40,990 --> 01:14:43,940 >> LAUREN CARVALHO: En realidad estás pasando ver que en la siguiente diapositiva. 1537 01:14:43,940 --> 01:14:47,150 Eso es en realidad nuestra siguiente diapositiva. 1538 01:14:47,150 --> 01:14:50,740 Esto es realmente un mejor que la conversión de tipos, creo. 1539 01:14:50,740 --> 01:14:53,470 Así que estos dos son los flotadores con sólo naturaleza del hecho de que se 1540 01:14:53,470 --> 01:14:54,926 tener cifras decimales. 1541 01:14:54,926 --> 01:14:55,300 ¿Sí? 1542 01:14:55,300 --> 01:14:57,670 >> AUDIENCIA: ¿Qué pasa si usted tenía [inaudible] 1543 01:14:57,670 --> 01:14:59,480 dividido por 10? 1544 01:14:59,480 --> 01:15:02,270 >> LAUREN CARVALHO: En realidad un flotador dividido por un entero en realidad le da un 1545 01:15:02,270 --> 01:15:03,670 flotar, por lo que iba a funcionar bien. 1546 01:15:03,670 --> 01:15:08,070 1547 01:15:08,070 --> 01:15:09,120 >> Espera, ¿todo el mundo entiende esto? 1548 01:15:09,120 --> 01:15:12,720 Debido a que esta va a ser una realidad gran cosa en Pset1, en realidad. 1549 01:15:12,720 --> 01:15:13,130 ¿Sí? 1550 01:15:13,130 --> 01:15:14,762 >> AUDIENCIA: ¿Podría usted acaba rápidamente repasar la parte roja? 1551 01:15:14,762 --> 01:15:16,380 >> LAUREN CARVALHO: La parte roja, sí. 1552 01:15:16,380 --> 01:15:17,250 Lucas, ¿quieres? 1553 01:15:17,250 --> 01:15:18,020 >> LUCAS FREITAS: OK. 1554 01:15:18,020 --> 01:15:20,570 Así que recuerde que el porcentaje es un marcador de posición. 1555 01:15:20,570 --> 01:15:22,150 Es como un espacio en blanco. 1556 01:15:22,150 --> 01:15:26,240 Así que vamos a tratar de entender todo lo que que está pasando aquí. 1557 01:15:26,240 --> 01:15:28,170 Por ciento significa que es un marcador de posición. 1558 01:15:28,170 --> 01:15:33,640 Entonces usted tiene la f, lo que significa que Este marcador de posición es para un flotador. 1559 01:15:33,640 --> 01:15:38,870 La última cosa que tenemos aquí es una 0.2, lo que significa que quiero tener dos 1560 01:15:38,870 --> 01:15:42,410 decimales para el flotador. 1561 01:15:42,410 --> 01:15:48,510 >> Si sólo tuviera% f, que se pondrán un montón de lugares decimales. 1562 01:15:48,510 --> 01:15:54,170 Así que sólo puedo poner 0,2 o 0,1 o 0,5 o lo que sea, y que va a poner eso 1563 01:15:54,170 --> 01:15:55,950 número de decimales. 1564 01:15:55,950 --> 01:15:59,950 La única cosa es que si se pone como 0.100 o .1,000, no es en realidad 1565 01:15:59,950 --> 01:16:04,200 va a poner todas esas cifras decimales debido a que no tiene suficiente memoria 1566 01:16:04,200 --> 01:16:06,432 tener esa precisión. 1567 01:16:06,432 --> 01:16:07,955 >> ¿Alguna otra pregunta? 1568 01:16:07,955 --> 01:16:08,450 ¿Sí? 1569 01:16:08,450 --> 01:16:12,970 >> AUDIENCIA: Así flotar apenas permite que vaya más allá de los números enteros? 1570 01:16:12,970 --> 01:16:13,720 >> LUCAS FREITAS: Si. 1571 01:16:13,720 --> 01:16:17,345 >> LAUREN CARVALHO: Bueno, un flotador justo le permite tener cifras decimales. 1572 01:16:17,345 --> 01:16:20,460 >> LUCAS FREITAS: Sólo significa que usted ahora puede tener números decimales. 1573 01:16:20,460 --> 01:16:25,728 >> AUDIENCIA: ¿Por qué nos ¡Utilice números enteros? 1574 01:16:25,728 --> 01:16:27,870 >> LUCAS FREITAS: ¿Por qué utiliza números enteros? 1575 01:16:27,870 --> 01:16:31,810 Tal vez si usted está contando de 0 a 10, que desea utilizar en realidad un entero. 1576 01:16:31,810 --> 01:16:33,370 No es necesario utilizar un flotador. 1577 01:16:33,370 --> 01:16:35,430 En algunas situaciones, no lo hace que en realidad - 1578 01:16:35,430 --> 01:16:37,040 >> LAUREN CARVALHO: Tal vez usted no quieren decimales. 1579 01:16:37,040 --> 01:16:38,600 >> LUCAS FREITAS: Tal vez usted no lo hace que desee utilizar un flotador. 1580 01:16:38,600 --> 01:16:42,660 >> LAUREN CARVALHO: La otra cosa es, recuerde, tanto poner un flotador y un int 1581 01:16:42,660 --> 01:16:46,170 tener 32 bits para almacenarlos, y tal vez usted no quiere perder los bits en el 1582 01:16:46,170 --> 01:16:48,062 decimales. 1583 01:16:48,062 --> 01:16:49,750 >> LUCAS FREITAS: Si. 1584 01:16:49,750 --> 01:16:51,910 Así como, sólo pensar en esto. 1585 01:16:51,910 --> 01:16:55,200 Usted tiene 32 bits para ambos un int y un float. 1586 01:16:55,200 --> 01:16:59,400 Para un int, todas esas 32 bits ir a la parte entera. 1587 01:16:59,400 --> 01:17:03,460 Si utiliza un flotador con 32 bits, que tienen parte de esta memoria utilizada 1588 01:17:03,460 --> 01:17:06,820 para el número, para el número entero, y la otra parte se utiliza para el 1589 01:17:06,820 --> 01:17:08,300 decimales. 1590 01:17:08,300 --> 01:17:12,370 Así que eso significa que no se puede llegar a un gran número de carrozas, ya 1591 01:17:12,370 --> 01:17:16,020 el flotador ya está utilizando una gran cantidad de memoria para los decimales. 1592 01:17:16,020 --> 01:17:17,014 ¿Sí? 1593 01:17:17,014 --> 01:17:21,487 >> AUDIENCIA: Esa primera respuesta, qué es exactamente lo está haciendo? 1594 01:17:21,487 --> 01:17:25,214 ¿Está preparando el valor de float igual a ese marcador de posición para que pueda 1595 01:17:25,214 --> 01:17:26,954 recordar que en la siguiente línea? 1596 01:17:26,954 --> 01:17:28,942 Dice flotar respuesta. 1597 01:17:28,942 --> 01:17:29,770 >> LUCAS FREITAS: Si. 1598 01:17:29,770 --> 01:17:37,200 Por lo tanto, la respuesta de flotación significa que está recibiendo ahora un pequeño cubo en la memoria que 1599 01:17:37,200 --> 01:17:40,050 posee un flotador, y eso va que se llamará respuesta. 1600 01:17:40,050 --> 01:17:42,040 Así que eso es lo que hace la respuesta flotador. 1601 01:17:42,040 --> 01:17:44,720 >> Y entonces usted dice que en el interior de esto, usted va a poner 1602 01:17:44,720 --> 01:17:46,470 el resultado de esto. 1603 01:17:46,470 --> 01:17:52,610 Así que vas a hacer 1,0 dividido por 10.0, se obtiene un 0,1, y luego se puso 1604 01:17:52,610 --> 01:17:53,490 que dentro de la respuesta. 1605 01:17:53,490 --> 01:17:57,540 >> LAUREN CARVALHO: Así que en una sola línea, estamos declaración e iniciación de este flotador 1606 01:17:57,540 --> 01:18:00,070 llamada respuesta. 1607 01:18:00,070 --> 01:18:04,470 >> LUCAS FREITAS: Curiosamente, aunque esto es sólo una línea, está haciendo 1608 01:18:04,470 --> 01:18:05,570 múltiples operaciones. 1609 01:18:05,570 --> 01:18:08,800 Es sólo una forma de C de arrendamiento utiliza menos código. 1610 01:18:08,800 --> 01:18:12,310 Es la misma cosa que el ternario operador, ¿cómo usted puede hacer un 1611 01:18:12,310 --> 01:18:13,810 [Inaudible] en una sola línea. 1612 01:18:13,810 --> 01:18:18,860 En realidad está haciendo lo mismo que haciendo float respuesta, punto y coma, y 1613 01:18:18,860 --> 01:18:23,060 entonces la respuesta es igual a esta, pero en lugar de obligándote a hacer dos líneas para que, 1614 01:18:23,060 --> 01:18:24,160 es como un atajo. 1615 01:18:24,160 --> 01:18:24,520 ¿Sí? 1616 01:18:24,520 --> 01:18:27,929 >> AUDIENCIA: Así que si ejecutó esto, sería 0.10? 1617 01:18:27,929 --> 01:18:30,120 >> LUCAS FREITAS: Si. 1618 01:18:30,120 --> 01:18:30,530 ¿Sí? 1619 01:18:30,530 --> 01:18:34,540 >> AUDIENCIA: es la respuesta en realidad código, o es sólo el nombre? 1620 01:18:34,540 --> 01:18:36,010 >> LAUREN CARVALHO: Este es en realidad código. 1621 01:18:36,010 --> 01:18:37,750 Esto es lo que vamos para nombrar nuestra variable. 1622 01:18:37,750 --> 01:18:39,770 >> AUDIENCIA: Así que es sólo un nombre de [inaudible]. 1623 01:18:39,770 --> 01:18:40,270 >> LAUREN CARVALHO: Si. 1624 01:18:40,270 --> 01:18:44,670 Yo podría haber dicho flotador x es igual a 1,0. 1625 01:18:44,670 --> 01:18:47,160 >> LUCAS FREITAS: La cosa es que el nombre de la variable es 1626 01:18:47,160 --> 01:18:48,400 algo que usted utiliza. 1627 01:18:48,400 --> 01:18:49,690 Es importante para usted. 1628 01:18:49,690 --> 01:18:52,660 Para el programa en sí, lo único que lo que importa es el valor que 1629 01:18:52,660 --> 01:18:55,570 tener en el interior de la cubeta. 1630 01:18:55,570 --> 01:18:59,270 La razón por la que tiene las variables y nombres de las variables es para que supieras 1631 01:18:59,270 --> 01:19:01,910 lo que usted está tratando, como qué tipo de datos que está 1632 01:19:01,910 --> 01:19:03,040 acceder a la vez. 1633 01:19:03,040 --> 01:19:07,580 Pero para el propio código, si llama cómo contesta o pregunta o cualquier cosa, 1634 01:19:07,580 --> 01:19:09,530 más o menos, no importa. 1635 01:19:09,530 --> 01:19:10,060 No importa. 1636 01:19:10,060 --> 01:19:12,910 Mientras eres consistente en todos los ocurrencia y así se llame 1637 01:19:12,910 --> 01:19:13,620 algo más. 1638 01:19:13,620 --> 01:19:14,880 ¿Sí? 1639 01:19:14,880 --> 01:19:17,208 >> AUDIENCIA: ¿Las variables de ir más allá de la función? 1640 01:19:17,208 --> 01:19:20,902 Al igual que si usted fuera a crear un soporte [Inaudible], ¿podría usted acaba de 1641 01:19:20,902 --> 01:19:21,806 [Inaudible] contestar de nuevo? 1642 01:19:21,806 --> 01:19:22,550 >> LAUREN CARVALHO: No. 1643 01:19:22,550 --> 01:19:23,300 >> AUDIENCIA: [inaudible] 1644 01:19:23,300 --> 01:19:24,200 >> LAUREN CARVALHO: No. 1645 01:19:24,200 --> 01:19:26,930 Eso sería fuera del ámbito de esta variable en particular. 1646 01:19:26,930 --> 01:19:29,940 Y en realidad, eso es algo de interesante, porque cuando tenemos 1647 01:19:29,940 --> 01:19:33,010 cosas como bucles o estos si condiciones, si se declara una variable 1648 01:19:33,010 --> 01:19:36,330 dentro de otro juego de llaves, en realidad, sólo existe 1649 01:19:36,330 --> 01:19:39,800 dentro de esas llaves. 1650 01:19:39,800 --> 01:19:43,088 >> AUDIENCIA: Una última nota sobre los [inaudible] carrozas. 1651 01:19:43,088 --> 01:19:46,076 ¿Por qué querrías usar enteros? 1652 01:19:46,076 --> 01:19:49,562 Esto es más de una nota al margen de cualquier cosa, pero el equipo está 1653 01:19:49,562 --> 01:19:53,048 significativamente mejor en el manejo ints de lo que es en flotadores de manipulación. 1654 01:19:53,048 --> 01:19:55,040 Es como un orden de magnitud más rápido. 1655 01:19:55,040 --> 01:20:00,360 Así que si nos manejamos sólo flota, las cosas serían mucho más lento. 1656 01:20:00,360 --> 01:20:03,080 >> LAUREN CARVALHO: En realidad, no parece ser un problema con los flotadores. 1657 01:20:03,080 --> 01:20:06,400 >> LUCAS FREITAS: Tipo de la razón de eso, usted puede pensar, es como en binario 1658 01:20:06,400 --> 01:20:08,480 puede representar enteros poniendo de 0 y 1. 1659 01:20:08,480 --> 01:20:09,980 >> LAUREN CARVALHO: Eso es la siguiente cosa. 1660 01:20:09,980 --> 01:20:10,480 >> LUCAS FREITAS: OK. 1661 01:20:10,480 --> 01:20:10,740 Impresionante. 1662 01:20:10,740 --> 01:20:11,480 >> LAUREN CARVALHO: Just mantener ese pensamiento. 1663 01:20:11,480 --> 01:20:13,800 >> LUCAS FREITAS: OK, voy a tell you later. 1664 01:20:13,800 --> 01:20:16,920 >> LAUREN CARVALHO: Antes de llegar a lo que Lucas estaba diciendo, el operador 1665 01:20:16,920 --> 01:20:17,420 precedencia. 1666 01:20:17,420 --> 01:20:18,220 Este es el sentido común. 1667 01:20:18,220 --> 01:20:20,830 Ustedes han hecho lo suficiente. 1668 01:20:20,830 --> 01:20:24,705 Así que, si algo está en paréntesis, que va a pasar en primer lugar. 1669 01:20:24,705 --> 01:20:27,970 Es la multiplicación tiene prioridad sobre la suma, 1670 01:20:27,970 --> 01:20:30,330 resta, cosas así. 1671 01:20:30,330 --> 01:20:34,700 Así que en realidad, solo que nadie quiere dime lo número uno en realidad 1672 01:20:34,700 --> 01:20:36,674 evalúa como? 1673 01:20:36,674 --> 01:20:37,638 >> AUDIENCIA: 27. 1674 01:20:37,638 --> 01:20:39,090 >> LAUREN CARVALHO: 27? 1675 01:20:39,090 --> 01:20:39,550 Sí. 1676 01:20:39,550 --> 01:20:41,975 >> LUCAS FREITAS: Permítanme dar caramelos a la gente. 1677 01:20:41,975 --> 01:20:42,850 >> LAUREN CARVALHO: Muy bien. 1678 01:20:42,850 --> 01:20:44,100 ¿Qué pasa con el número dos? 1679 01:20:44,100 --> 01:20:46,880 1680 01:20:46,880 --> 01:20:48,340 ¿Qué pasa con el número dos? 1681 01:20:48,340 --> 01:20:49,280 >> AUDIENCIA: 22. 1682 01:20:49,280 --> 01:20:50,680 >> LAUREN CARVALHO: 22, sí. 1683 01:20:50,680 --> 01:20:51,570 Yo no sé quién puso eso. 1684 01:20:51,570 --> 01:20:52,694 El número tres? 1685 01:20:52,694 --> 01:20:54,050 >> AUDIENCIA: 10. 1686 01:20:54,050 --> 01:20:55,300 >> LAUREN CARVALHO: 10, sí. 1687 01:20:55,300 --> 01:20:58,150 1688 01:20:58,150 --> 01:20:58,490 Genial. 1689 01:20:58,490 --> 01:21:01,280 Así módulo. 1690 01:21:01,280 --> 01:21:03,700 Lucas, ¿quieres explicar modulo? 1691 01:21:03,700 --> 01:21:07,150 >> LUCAS FREITAS: Modulo es este operador que en realidad es muy útil para una 1692 01:21:07,150 --> 01:21:09,470 montón de problemas. 1693 01:21:09,470 --> 01:21:15,270 Si hago 55 módulo 10, lo que hace esto digamos que quiero 1694 01:21:15,270 --> 01:21:16,970 dividir 55 por 10. 1695 01:21:16,970 --> 01:21:18,240 ¿Qué obtengo? 1696 01:21:18,240 --> 01:21:21,380 Se siente como si estoy en realidad sólo haciendo la división, lo que es lo 1697 01:21:21,380 --> 01:21:22,450 primera vez que me dieron el número entero? 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 Y luego el resto es 5, ¿no? 1701 01:21:26,230 --> 01:21:29,250 Así que es como 5 veces 10 más 5. 1702 01:21:29,250 --> 01:21:35,570 Básicamente, lo modulo hace, se trata de dividir este número por éste, y 1703 01:21:35,570 --> 01:21:37,440 se ve lo que es el resto de la división. 1704 01:21:37,440 --> 01:21:40,080 >> LAUREN CARVALHO: Por lo que sólo devuelve el resto. 1705 01:21:40,080 --> 01:21:41,920 Así que el número uno es lo que? 1706 01:21:41,920 --> 01:21:42,560 5. 1707 01:21:42,560 --> 01:21:43,336 El número dos? 1708 01:21:43,336 --> 01:21:44,150 >> AUDIENCIA: 3. 1709 01:21:44,150 --> 01:21:44,934 >> LAUREN CARVALHO: 3. 1710 01:21:44,934 --> 01:21:46,240 El número tres? 1711 01:21:46,240 --> 01:21:47,190 0. 1712 01:21:47,190 --> 01:21:48,410 Y cuatro es 1. 1713 01:21:48,410 --> 01:21:48,665 Exactamente. 1714 01:21:48,665 --> 01:21:49,915 >> LUCAS FREITAS: Simple, ¿no? 1715 01:21:49,915 --> 01:21:54,270 1716 01:21:54,270 --> 01:21:56,560 >> LAUREN CARVALHO: ¿Por qué no nos saltamos esta sólo porque realmente no tenemos 1717 01:21:56,560 --> 01:21:59,780 tiempo, y la gente parece entender. 1718 01:21:59,780 --> 01:22:03,330 Así que aquí está lo que fue Lucas simplemente hablando. 1719 01:22:03,330 --> 01:22:08,030 >> LUCAS FREITAS: Otra razón por la que usaría enteros en lugar de carrozas es 1720 01:22:08,030 --> 01:22:10,840 que los flotadores son muy imprecisas. 1721 01:22:10,840 --> 01:22:12,720 Y ¿por qué son imprecisas? 1722 01:22:12,720 --> 01:22:17,140 David dijo que para representar un número entero, por ejemplo, se utiliza 0 y de 1723 01:22:17,140 --> 01:22:17,810 1 de, ¿verdad? 1724 01:22:17,810 --> 01:22:22,370 Y entonces usted lo hace básicamente el multiplicación, hacer todos los 1725 01:22:22,370 --> 01:22:30,000 operaciones para saber qué número decimal que tiene lugar del binario. 1726 01:22:30,000 --> 01:22:33,040 >> Lo que sucede ahora si intento poner decimales? 1727 01:22:33,040 --> 01:22:37,680 En realidad, por ejemplo, si tengo el número como 3.33333? 1728 01:22:37,680 --> 01:22:40,250 Se siente como 10 más de 3. 1729 01:22:40,250 --> 01:22:44,950 ¿Cómo voy a almacenar toda la 3 es que tenga después de eso? 1730 01:22:44,950 --> 01:22:47,120 Es muy difícil, ¿verdad? 1731 01:22:47,120 --> 01:22:49,580 Usted no puede decirle a la computadora, hey, tengo un 3, y 1732 01:22:49,580 --> 01:22:50,520 entonces lo haces siempre. 1733 01:22:50,520 --> 01:22:52,810 En realidad, el equipo no es lo suficientemente inteligente como para eso. 1734 01:22:52,810 --> 01:22:58,300 >> Así que, básicamente, todo el equipo que hace es que trata de poner tantos dígitos como 1735 01:22:58,300 --> 01:23:00,950 se puede hasta la memoria que tiene. 1736 01:23:00,950 --> 01:23:05,890 Así que digamos que va a decir 3.3333, y eso es todo. 1737 01:23:05,890 --> 01:23:10,690 Así que no es capaz de expresar realmente precisamente lo que es float. 1738 01:23:10,690 --> 01:23:13,240 >> LAUREN CARVALHO: Tenemos un número finito de bits, lo que significa que no 1739 01:23:13,240 --> 01:23:17,910 cada número decimal va a ser capaz de ser representado con precisión. 1740 01:23:17,910 --> 01:23:24,910 Y así, en este ejemplo, si estamos imprimir 0.1, ahora estamos de impresión 1741 01:23:24,910 --> 01:23:26,475 fuera 20 lugares. 1742 01:23:26,475 --> 01:23:30,250 >> LUCAS FREITAS: Igual que yo estaba diciendo ustedes, usted podría poner cualquier número. 1743 01:23:30,250 --> 01:23:36,520 Pero si usted acaba de hacer los dos lugares, se obtendría 0.10, pero si pones 20 1744 01:23:36,520 --> 01:23:43,630 lugares, va a mostrar un montón de 's porque esto es lo que puede poner 1745 01:23:43,630 --> 01:23:45,720 en la memoria, ¿no? 1746 01:23:45,720 --> 01:23:48,800 >> Pero aquí, hasta el 0, y luego se acaba de poner un 1747 01:23:48,800 --> 01:23:50,030 montón de números aleatorios. 1748 01:23:50,030 --> 01:23:52,590 Esto es algo así como un poco de - 1749 01:23:52,590 --> 01:23:56,190 >> LAUREN CARVALHO: Esto se debe a que estamos no es capaz de representar esta decimal 1750 01:23:56,190 --> 01:23:58,320 precisamente con el número de bits que tenemos. 1751 01:23:58,320 --> 01:23:59,730 >> LUCAS FREITAS: Y entonces el equipo es básicamente 1752 01:23:59,730 --> 01:24:01,470 que le da un número de basura. 1753 01:24:01,470 --> 01:24:04,530 Esto no es en realidad la valor del número. 1754 01:24:04,530 --> 01:24:08,242 >> AUDIENCIA: Es lo más cerca que puede conseguir [inaudible] 1755 01:24:08,242 --> 01:24:09,613 utilizando el [inaudible]. 1756 01:24:09,613 --> 01:24:12,685 1757 01:24:12,685 --> 01:24:18,830 >> LAUREN CARVALHO: Así que la implicación de esto es que vamos a decir que en vez de 1758 01:24:18,830 --> 01:24:27,680 siendo 0.100014, lo que sea, ¿y si era 0,0999 - 1759 01:24:27,680 --> 01:24:30,470 bien, está bien. 1760 01:24:30,470 --> 01:24:38,280 Vamos a suponer que la respuesta real A esto se a 0,9999999. 1761 01:24:38,280 --> 01:24:40,740 Eso es muy cercano a 1, pero no es exactamente 1. 1762 01:24:40,740 --> 01:24:42,840 Es 0,99999. 1763 01:24:42,840 --> 01:24:48,140 >> Eso significa que si tomo que 0.999, y lo eché a un int, consigo 0. 1764 01:24:48,140 --> 01:24:49,460 No lo entiendo 1. 1765 01:24:49,460 --> 01:24:53,050 >> LUCAS FREITAS: Porque recuerda, fundición desde un flotante a int, que acaba de 1766 01:24:53,050 --> 01:24:54,880 ignorar todos los decimales. 1767 01:24:54,880 --> 01:24:56,400 Usted simplemente ignorarlos. 1768 01:24:56,400 --> 01:25:00,170 No hay tal cosa como el redondeo al alza o correr hacia abajo cuando encasillado. 1769 01:25:00,170 --> 01:25:03,310 En realidad, no es esta la función que hace redondeo, que es muy 1770 01:25:03,310 --> 01:25:08,840 importante, pero que acaba de pensar que cuando haces encasillamiento, es sólo 1771 01:25:08,840 --> 01:25:09,720 va a borrar todo. 1772 01:25:09,720 --> 01:25:13,970 Así que incluso si usted tiene 0,99999, que va apenas dar 0 si encasillado 1773 01:25:13,970 --> 01:25:14,800 [Inaudible] un entero. 1774 01:25:14,800 --> 01:25:17,480 >> LAUREN CARVALHO: Así que ser muy conscientes punto de flotante en precisión, 1775 01:25:17,480 --> 01:25:20,410 especialmente cuando se inicia utilizar flotadores en Pset1. 1776 01:25:20,410 --> 01:25:22,790 Pero el paseo a través deberían advertirle de que también. 1777 01:25:22,790 --> 01:25:26,100 >> LUCAS FREITAS: Y en realidad es muy duro, por ejemplo, si lo hiciera 1778 01:25:26,100 --> 01:25:31,570 float respuesta 1 es igual a 1.0 sobre 10 y, a continuación, flotar respuesta 2 1779 01:25:31,570 --> 01:25:35,540 es igual a 10,0 superior a 100.0. 1780 01:25:35,540 --> 01:25:36,890 Ellos son el mismo número, ¿no? 1781 01:25:36,890 --> 01:25:38,540 0.1, ¿no? 1782 01:25:38,540 --> 01:25:41,700 1 más de 10 o 10 sobre 100. 1783 01:25:41,700 --> 01:25:46,360 Pero ahora si trato de ver la igualdad, como si la respuesta 1 es igual a contestar 2, 1784 01:25:46,360 --> 01:25:49,300 Tal vez no es en realidad va a ser la misma cosa. 1785 01:25:49,300 --> 01:25:50,720 Así carrozas son un poco como eso. 1786 01:25:50,720 --> 01:25:51,970 Son como haciendo la igualdad. 1787 01:25:51,970 --> 01:25:55,136