1 00:00:07,275 --> 00:00:08,980 [Powered by Google Translate] LEXI ROSS: Bueno, hola a todos. 2 00:00:08,980 --> 00:00:11,930 Bienvenidos a la primera CS50 supersección. 3 00:00:11,930 --> 00:00:13,800 Esta será la única semana de supersections. 4 00:00:13,800 --> 00:00:17,130 Después de esto, se le va a regular con su sección 5 00:00:17,130 --> 00:00:18,530 asignado TF. 6 00:00:18,530 --> 00:00:20,280 Pero esta semana, lo estamos haciendo en un poco de una diferente 7 00:00:20,280 --> 00:00:23,530 formato, aunque el formato actual, cómo se va a ir 8 00:00:23,530 --> 00:00:25,950 durante la siguiente hora y media más o menos, va a ser bastante 9 00:00:25,950 --> 00:00:27,700 similar a lo que se le viera por 10 00:00:27,700 --> 00:00:29,350 el resto del semestre. 11 00:00:29,350 --> 00:00:33,630 >> Entonces, ¿qué vamos a hacer es empezar por ir a través de la 12 00:00:33,630 --> 00:00:35,920 sección parte de su conjunto de problemas. 13 00:00:35,920 --> 00:00:38,940 Así que si usted ha leído sobre el conjunto p, que esperamos que pueda tener, 14 00:00:38,940 --> 00:00:41,120 verás que hay una parte que se llama "A la Sección de 15 00:00:41,120 --> 00:00:43,190 Preguntas ", y estos están destinados a estar fuera 16 00:00:43,190 --> 00:00:44,180 otra vez en sus secciones. 17 00:00:44,180 --> 00:00:47,510 Así que tienes una ventaja por estar aquí, en que se llega a 18 00:00:47,510 --> 00:00:50,680 repasar estas cuestiones más conceptuales basados. 19 00:00:50,680 --> 00:00:52,780 Y después de eso, vamos a ir en los dos últimos 20 00:00:52,780 --> 00:00:55,070 preguntas sección, que son más buceo 21 00:00:55,070 --> 00:00:56,330 a preguntas de codificación de tipo. 22 00:00:56,330 --> 00:00:58,470 Así que estamos realmente van a tener ustedes tomar unos pocos 23 00:00:58,470 --> 00:01:01,040 minutos para cada pregunta, trate de resolverlos por su cuenta, y 24 00:01:01,040 --> 00:01:03,590 entonces vamos a reunirse con el nuevo CS50 25 00:01:03,590 --> 00:01:06,670 Espacios de herramientas y repasar las respuestas para que todos tengan la 26 00:01:06,670 --> 00:01:09,130 código correcto para su revisión. 27 00:01:09,130 --> 00:01:10,790 >> Así que un par de anuncios. 28 00:01:10,790 --> 00:01:12,690 No se olvide que hay horario de oficina cada noche de esta 29 00:01:12,690 --> 00:01:16,500 semana en Annenberg 8 a 11, por lo que toman 30 00:01:16,500 --> 00:01:17,410 ventaja de aquellos. 31 00:01:17,410 --> 00:01:21,660 Y también, no arranque el p demasiado tarde en la semana. 32 00:01:21,660 --> 00:01:24,640 Comience esta noche o mañana por la noche a más tardar. 33 00:01:24,640 --> 00:01:26,770 Usted se arrepentirá si usted espera demasiado tiempo para empezar 34 00:01:26,770 --> 00:01:27,970 y que tenga problemas. 35 00:01:27,970 --> 00:01:31,160 Así que nuestro consejo y definitivamente comenzar temprano. 36 00:01:31,160 --> 00:01:32,860 Esto va a ser una buena manera de empezar a trabajar con 37 00:01:32,860 --> 00:01:34,450 estas preguntas de sección. 38 00:01:34,450 --> 00:01:35,810 Así que estoy Lexi, por cierto. 39 00:01:35,810 --> 00:01:36,740 Soy un TF. 40 00:01:36,740 --> 00:01:38,455 Y este es Dan, que también es un TF. 41 00:01:38,455 --> 00:01:38,940 Dan Bradley: Hey, chicos. 42 00:01:38,940 --> 00:01:39,770 LEXI ROSS: Y él va a conseguir 43 00:01:39,770 --> 00:01:41,370 comenzó con las preguntas. 44 00:01:41,370 --> 00:01:42,410 >> Dan Bradley: Muy bien. 45 00:01:42,410 --> 00:01:46,730 Así que voy a introducir un poco compilador pareja 46 00:01:46,730 --> 00:01:50,350 cuestiones que vamos a hablar y sólo tiene que ir a través de 47 00:01:50,350 --> 00:01:54,550 algún tipo de ideas conceptuales que tenemos que ejecutar realmente 48 00:01:54,550 --> 00:01:59,120 código, ya sea en un aparato o con nuestra especie de falso 49 00:01:59,120 --> 00:02:01,520 electrodomésticos, Ejecutar CS50 y Spaces. 50 00:02:01,520 --> 00:02:05,550 Así que vamos a ver si alguien en la audiencia tiene alguna idea 51 00:02:05,550 --> 00:02:07,450 acerca de lo que estamos hablando. 52 00:02:07,450 --> 00:02:11,130 >> Entonces, ¿qué es una biblioteca en el contexto del código? 53 00:02:11,130 --> 00:02:13,680 Alguien tiene alguna idea? 54 00:02:13,680 --> 00:02:14,250 Bien. 55 00:02:14,250 --> 00:02:15,770 Sweet. 56 00:02:15,770 --> 00:02:17,876 PÚBLICO: Al igual que un balance de las funciones que otra persona 57 00:02:17,876 --> 00:02:19,690 ya está programado que podemos construir? 58 00:02:19,690 --> 00:02:20,230 Dan Bradley: Exactamente. 59 00:02:20,230 --> 00:02:24,180 Así que una biblioteca es un stock de funciones que otra persona 60 00:02:24,180 --> 00:02:27,100 ha programado ya que no tiene que 61 00:02:27,100 --> 00:02:28,480 nos vuelve a poner en práctica. 62 00:02:28,480 --> 00:02:32,140 Así que tenemos cosas como el estándar de E / S de la biblioteca, el 63 00:02:32,140 --> 00:02:38,720 cs50.h biblioteca, que son cosas que el mundo, la 64 00:02:38,720 --> 00:02:41,870 Internet, el personal ha hecho que hace que nuestra 65 00:02:41,870 --> 00:02:43,670 vida más fácil como codificadores. 66 00:02:43,670 --> 00:02:46,410 Entonces, ¿cómo imprimir las cosas a una pantalla? 67 00:02:46,410 --> 00:02:49,910 No tengo ni idea, printf lo hace por mí. 68 00:02:49,910 --> 00:02:52,290 Es algo que alguien más ya ha hecho que sea 69 00:02:52,290 --> 00:02:54,640 impresionante y funciona bastante bien. 70 00:02:54,640 --> 00:02:55,440 >> Bien. 71 00:02:55,440 --> 00:02:59,160 Así que para usar las bibliotecas, por otro lado, sin embargo, tiene 72 00:02:59,160 --> 00:03:02,450 para hacer realidad algunas cosas extra con su código. 73 00:03:02,450 --> 00:03:07,400 Así que hay que usar cosas como esta # include. 74 00:03:07,400 --> 00:03:09,190 ¿Qué significa eso? 75 00:03:09,190 --> 00:03:13,010 ¿Qué papel tiene que jugar cuando lo tienes en un programa? 76 00:03:13,010 --> 00:03:15,128 AUDIENCIA: Te permite hacer uso de todas las funciones que son 77 00:03:15,128 --> 00:03:16,040 [Inaudible] 78 00:03:16,040 --> 00:03:19,515 biblioteca por el simple uso de las definiciones que ya tienen 79 00:03:19,515 --> 00:03:20,425 [Inaudible] 80 00:03:20,425 --> 00:03:20,880 biblioteca. 81 00:03:20,880 --> 00:03:21,680 Dan Bradley: Muy bien. 82 00:03:21,680 --> 00:03:25,930 Te permite tirar las funciones de biblioteca en el código, pero 83 00:03:25,930 --> 00:03:29,320 lo hace de una manera que no es exactamente el mismo que como 84 00:03:29,320 --> 00:03:32,020 -Lcs50, que vamos a llegar en un minuto. 85 00:03:32,020 --> 00:03:36,010 Simplemente deja que el compilador sabe que hey, no son éstos 86 00:03:36,010 --> 00:03:40,550 funciones que van a surgir en su código. 87 00:03:40,550 --> 00:03:44,240 Tenga en cuenta que si no están completamente descritos en el código 88 00:03:44,240 --> 00:03:47,110 que está delante de ti, hay algo de función de biblioteca 89 00:03:47,110 --> 00:03:49,510 que se va a hacer cargo de ella. 90 00:03:49,510 --> 00:03:53,010 >> Así, en el caso de printf, que vamos a repasar un par 91 00:03:53,010 --> 00:03:56,400 los tiempos de hoy, es el estándar de E / S de la biblioteca. 92 00:03:56,400 --> 00:04:00,010 Así que aunque no se define printf cualquier parte de mi código embargo, la 93 00:04:00,010 --> 00:04:05,340 estándar de E / S se encarga de ello para mí, y voy a hacer # include 94 00:04:05,340 --> 00:04:13,780 stdio.h, y que se tire en estas funciones que 95 00:04:13,780 --> 00:04:15,400 no siempre han definido. 96 00:04:15,400 --> 00:04:20,019 Entonces, ¿cuál es la diferencia, entonces, entre el # include 97 00:04:20,019 --> 00:04:22,320 y-lcs50? 98 00:04:22,320 --> 00:04:25,890 ¿Qué hace-lcs50 hago cuando lo pasan a la 99 00:04:25,890 --> 00:04:29,430 compilador, como Clang? 100 00:04:29,430 --> 00:04:32,670 Alguien tiene alguna idea? 101 00:04:32,670 --> 00:04:34,631 Bien. 102 00:04:34,631 --> 00:04:35,605 ¿Sí? 103 00:04:35,605 --> 00:04:39,020 AUDIENCIA: Le permite acceder a la biblioteca CS50? 104 00:04:39,020 --> 00:04:42,120 DAN BRADLEY: Le permite acceder a la biblioteca CS50 en 105 00:04:42,120 --> 00:04:46,610 que le dice al compilador, Clang, que bueno, aquí es donde 106 00:04:46,610 --> 00:04:50,930 que seguir para conseguir estas funciones. 107 00:04:50,930 --> 00:04:55,010 Así que el # include dice que hay 108 00:04:55,010 --> 00:04:58,510 estas funciones en alguna parte. 109 00:04:58,510 --> 00:05:02,680 El lcs50-dice, voy a este lugar en el equipo - 110 00:05:02,680 --> 00:05:05,770 esa es la biblioteca CS50 - 111 00:05:05,770 --> 00:05:09,990 y tire hacia arriba el código real para estas funciones. 112 00:05:13,110 --> 00:05:14,370 ¿Eso tiene sentido, todo el mundo? 113 00:05:14,370 --> 00:05:17,930 >> Así que estas son todas las cosas que van a ayudar a su compilador 114 00:05:17,930 --> 00:05:22,490 junto con hacer que el código ejecuta realmente. 115 00:05:22,490 --> 00:05:23,350 Una pregunta rápida. 116 00:05:23,350 --> 00:05:24,870 ¿La gente sabe lo que es un compilador? 117 00:05:28,220 --> 00:05:29,700 Buen sentido? 118 00:05:29,700 --> 00:05:33,160 Se trata básicamente de tomar el código escrito que usted tiene, 119 00:05:33,160 --> 00:05:35,380 convertir a binario, la conversión en código de máquina, 120 00:05:35,380 --> 00:05:39,370 por lo que su computadora puede entender. 121 00:05:39,370 --> 00:05:43,330 Y sin más preámbulos, vamos a entrar en la más 122 00:05:43,330 --> 00:05:46,640 actuales ejercicios de codificación que ustedes van a pasar un buen rato 123 00:05:46,640 --> 00:05:49,850 hundiendo sus dientes en, y Lexi a ir sobre eso. 124 00:05:49,850 --> 00:05:51,110 >> LEXI ROSS: De acuerdo. 125 00:05:51,110 --> 00:05:51,455 Awesome. 126 00:05:51,455 --> 00:05:55,470 Así que vamos a ir más de dos preguntas aquí. 127 00:05:55,470 --> 00:06:01,170 Así que la primera es en realidad, se puede ver, es un poco 128 00:06:01,170 --> 00:06:03,240 pequeño aquí, pero esencialmente le está pidiendo que 129 00:06:03,240 --> 00:06:04,930 escribir un programa para tomar un poco de entrada del usuario. 130 00:06:04,930 --> 00:06:09,058 No estoy seguro de por qué hay un cuadrado negro allí. 131 00:06:09,058 --> 00:06:10,000 Es misterioso. 132 00:06:10,000 --> 00:06:12,180 Debe estar bien, sin embargo. 133 00:06:12,180 --> 00:06:16,000 Por lo tanto, quiere que usted tome una entrada de usuario en grados Celsius, convertir ese 134 00:06:16,000 --> 00:06:18,270 a Fahrenheit, y luego indicar al usuario cuál es la temperatura 135 00:06:18,270 --> 00:06:19,720 estaría en Fahrenheit. 136 00:06:19,720 --> 00:06:25,530 Así se puede ver una muestra de entrada / salida de secuencia aquí. 137 00:06:25,530 --> 00:06:28,770 Las entradas de usuario - después de Celsius, la negrita se refiere a 138 00:06:28,770 --> 00:06:29,300 de entrada del usuario. 139 00:06:29,300 --> 00:06:32,460 Así el usuario introduce 100, y las salidas de programa 140 00:06:32,460 --> 00:06:34,530 Fahrenheit, 212,0. 141 00:06:34,530 --> 00:06:36,700 Y una distinción importante en este programa es que estamos 142 00:06:36,700 --> 00:06:41,770 va a tener un solo decimal, así que vamos a ver cómo se hace 143 00:06:41,770 --> 00:06:43,020 que también. 144 00:06:43,020 --> 00:06:45,780 Y otra cosa a tener en cuenta es que estamos usando a.out 145 00:06:45,780 --> 00:06:49,960 porque Clang, el compilador automáticamente los nombres de su binario 146 00:06:49,960 --> 00:06:53,460 archivos a.out a menos que se especifique con una bandera determinada para dar 147 00:06:53,460 --> 00:06:55,410 que su propio nombre, pero por ahora sólo vamos a utilizar el 148 00:06:55,410 --> 00:06:57,070 defecto, a.out. 149 00:06:57,070 --> 00:07:01,320 >> Así que realmente tome unos minutos y trate de escribir 150 00:07:01,320 --> 00:07:02,570 algo de código para estos mismos. 151 00:07:05,900 --> 00:07:07,380 Así que es 4:15. 152 00:07:07,380 --> 00:07:10,470 Así que a las 4:20, vamos a volver y - oh bien. 153 00:07:10,470 --> 00:07:12,960 Espacios. 154 00:07:12,960 --> 00:07:13,980 Cool. 155 00:07:13,980 --> 00:07:16,500 Esto es algo así como lo que llamamos código esqueleto en que 156 00:07:16,500 --> 00:07:19,870 es un esqueleto, pero hay que rellenar la carne de la 157 00:07:19,870 --> 00:07:21,590 programa para hacer realidad lo ejecute. 158 00:07:21,590 --> 00:07:25,980 Así que usted puede ver las directivas # include para incluir hasta allí 159 00:07:25,980 --> 00:07:28,040 CS50 y stdio. 160 00:07:28,040 --> 00:07:32,010 Señalé en un comentario de la fórmula actual para la conversión de 161 00:07:32,010 --> 00:07:35,310 Celsius a Fahrenheit, en caso de que no me acuerdo de alto 162 00:07:35,310 --> 00:07:36,740 ciencias de la escuela o lo que sea. 163 00:07:36,740 --> 00:07:38,450 Y esto es sólo un esqueleto para 164 00:07:38,450 --> 00:07:39,450 la función principal real. 165 00:07:39,450 --> 00:07:41,680 Así que todo lo que escriba se va a ir aquí. 166 00:07:45,640 --> 00:07:50,490 Y con el fin de conseguir realmente a este espacio - 167 00:07:50,490 --> 00:07:56,105 Espacios para CS50 se puede acceder usando esta URL, que Dan es 168 00:07:56,105 --> 00:08:02,505 va a escribir en la pizarra, y voy a dictar también. 169 00:08:02,505 --> 00:08:12,093 DAN BRADLEY: cs50.net/spaces-- 170 00:08:12,093 --> 00:08:12,580 LEXI ROSS: / qWLc - 171 00:08:12,580 --> 00:08:13,830 Lo siento, y. 172 00:08:18,806 --> 00:08:20,790 DAN BRADLEY: Y?. 173 00:08:20,790 --> 00:08:21,290 LEXI ROSS: No, no, no, no. 174 00:08:21,290 --> 00:08:22,540 Eso está bien. 175 00:08:26,088 --> 00:08:27,338 qYLcYWfg. 176 00:08:38,590 --> 00:08:41,150 Por lo tanto, debería ver tipo de todos los nombres de aparecer aquí. 177 00:08:41,150 --> 00:08:41,350 >> Awesome. 178 00:08:41,350 --> 00:08:42,209 Esto se ve muy bien. 179 00:08:42,209 --> 00:08:44,700 Esto significa que las personas se están uniendo al espacio. 180 00:08:44,700 --> 00:08:46,130 Así que si usted no ha tenido la oportunidad de jugar en 181 00:08:46,130 --> 00:08:47,990 Espacios sin embargo, esto es realmente lo que va a utilizar 182 00:08:47,990 --> 00:08:50,750 con tus TFS en la sección durante todo el semestre. 183 00:08:50,750 --> 00:08:52,810 ¿Cómo funciona es clase de todo el mundo escribe su propio 184 00:08:52,810 --> 00:08:56,510 código, y nadie lo puede ver hasta que se pulsa el botón Guardar 185 00:08:56,510 --> 00:08:59,284 botón, lo que estoy señalando en este momento. 186 00:08:59,284 --> 00:09:03,140 Así que voy a presionar Guardar, y si van todos a mi nombre, 187 00:09:03,140 --> 00:09:06,670 que debe ser capaz de ver en personas de este 188 00:09:06,670 --> 00:09:09,510 Espacio, que es Lexis Beryl Ross. 189 00:09:09,510 --> 00:09:12,790 Entonces, ¿cómo se va a ver se hace clic en mi nombre, y 190 00:09:12,790 --> 00:09:15,170 vas a ver Revision 5, que 191 00:09:15,170 --> 00:09:16,070 es la última revisión. 192 00:09:16,070 --> 00:09:18,930 Copiar sólo Revisión 5 en su espacio haciendo clic sobre ella. 193 00:09:22,570 --> 00:09:23,420 >> Está bien. 194 00:09:23,420 --> 00:09:27,310 Así que vamos a ir a través de este problema juntos, y estoy 195 00:09:27,310 --> 00:09:29,645 en realidad va a escribir el código aquí arriba en la pantalla. 196 00:09:29,645 --> 00:09:31,420 Puedes ampliar un poco. 197 00:09:31,420 --> 00:09:34,300 Y luego, una vez que haya terminado, usted puede copiar mi última revisión 198 00:09:34,300 --> 00:09:37,930 en su espacio, si quieres ver la solución final. 199 00:09:37,930 --> 00:09:41,840 Ahora, Spaces tiene la capacidad de que me vaya y vea cualquiera de 200 00:09:41,840 --> 00:09:43,910 el código que ustedes han escrito, pero sólo porque es 201 00:09:43,910 --> 00:09:46,470 una sección grande y en realidad no tienen la misma 202 00:09:46,470 --> 00:09:50,150 tipo de capacidades de discusión como una menor 203 00:09:50,150 --> 00:09:51,890 sección, sólo vamos a ir a través y me voy solo 204 00:09:51,890 --> 00:09:53,140 para escribir el código. 205 00:09:53,140 --> 00:09:55,250 Pero definitivamente me detiene con preguntas en cualquier momento. 206 00:09:55,250 --> 00:09:57,290 Vamos a ir a través de él especie de paso a paso para hacer 207 00:09:57,290 --> 00:10:00,032 asegurarnos de que entendemos cada parte de lo que está pasando aquí. 208 00:10:03,800 --> 00:10:06,710 ¿Todo mundo puede ver este texto en esta lista? 209 00:10:06,710 --> 00:10:07,960 ¿Alguien quiere más grande? 210 00:10:10,240 --> 00:10:12,860 >> Entonces, ¿qué es lo primero que vamos a hacer aquí? 211 00:10:12,860 --> 00:10:14,840 Bueno, en esencia, ya que queremos obtener el aporte de la 212 00:10:14,840 --> 00:10:17,460 usuario y queremos que sea una especie de buena experiencia para el 213 00:10:17,460 --> 00:10:19,750 usuario, que en realidad quiero decirles lo que estamos buscando. 214 00:10:19,750 --> 00:10:23,120 Así que vamos a imprimir exactamente lo que queremos formar parte del usuario. 215 00:10:23,120 --> 00:10:26,540 Así que no te molestes en levantar la mano, sólo tiene que recitar de un tirón. 216 00:10:26,540 --> 00:10:29,210 ¿Cuál es el comando para imprimir algo en la pantalla? 217 00:10:29,210 --> 00:10:30,100 AUDIENCIA: printf. 218 00:10:30,100 --> 00:10:31,247 LEXI ROSS: Awesome. 219 00:10:31,247 --> 00:10:33,393 Bueno, por lo printf. 220 00:10:33,393 --> 00:10:34,339 >> AUDIENCIA: Hey, Lexi? 221 00:10:34,339 --> 00:10:35,589 [Inaudible]? 222 00:10:39,080 --> 00:10:40,130 LEXI ROSS: Claro. 223 00:10:40,130 --> 00:10:43,580 Así printf, como hemos visto con frecuencia en la conferencia, es el 224 00:10:43,580 --> 00:10:47,230 mandar a imprimir algo en la secuencia de salida estándar. 225 00:10:47,230 --> 00:10:52,370 Por eso queremos pedir al usuario que introduzca un 226 00:10:52,370 --> 00:10:53,620 temperatura en grados Celsius. 227 00:10:58,180 --> 00:11:01,180 Y ahora, en realidad quiere tomar la entrada que dan 228 00:11:01,180 --> 00:11:03,710 nosotros y almacenarlo en una variable. 229 00:11:03,710 --> 00:11:06,415 Así que hemos aprendido un poco acerca de los tipos. 230 00:11:06,415 --> 00:11:12,090 ¿Puede alguien recordar el tipo que quiere para una variable 231 00:11:12,090 --> 00:11:13,170 con una cifra decimal en ella? 232 00:11:13,170 --> 00:11:13,910 AUDIENCIA: Float. 233 00:11:13,910 --> 00:11:14,180 LEXI ROSS: Float. 234 00:11:14,180 --> 00:11:15,480 Sí, impresionante. 235 00:11:15,480 --> 00:11:16,510 Es un flotador. 236 00:11:16,510 --> 00:11:17,760 Así que. 237 00:11:21,860 --> 00:11:24,953 ¿Y cómo vamos a - gran pista - obtener el 238 00:11:24,953 --> 00:11:25,430 flotar por parte del usuario? 239 00:11:25,430 --> 00:11:25,923 AUDIENCIA: GetFloat. 240 00:11:25,923 --> 00:11:27,173 LEXI ROSS: Eso es. 241 00:11:33,320 --> 00:11:34,730 Cool. 242 00:11:34,730 --> 00:11:38,970 Y el usuario se podrían decir y trataremos de dar una 243 00:11:38,970 --> 00:11:41,080 número negativo, ¡pero no se preocupe por eso para este 244 00:11:41,080 --> 00:11:41,710 problema ahora. 245 00:11:41,710 --> 00:11:43,390 Usted va a preocuparse de que un poco más en su 246 00:11:43,390 --> 00:11:45,570 tarea en el conjunto de problemas. 247 00:11:45,570 --> 00:11:48,970 >> Así que vamos a suponer que nos dan un buen número, y ahora nos 248 00:11:48,970 --> 00:11:51,590 en realidad tienen que convertir ese flotador de Celsius a 249 00:11:51,590 --> 00:11:52,400 Fahrenheit. 250 00:11:52,400 --> 00:11:56,730 Así que vamos a consultar nuestra fórmula hasta aquí, y vamos a crear un 251 00:11:56,730 --> 00:12:00,290 nueva variable y lo llaman Fahrenheit. 252 00:12:00,290 --> 00:12:01,130 Estudié la ortografía. 253 00:12:01,130 --> 00:12:04,640 Es un poco loco, lo sé. 254 00:12:04,640 --> 00:12:08,880 Y vamos a contar con el orden de las operaciones a tipo de hacer 255 00:12:08,880 --> 00:12:14,340 su trabajo aquí, pero vamos a utilizar paréntesis para estar 256 00:12:14,340 --> 00:12:17,762 completamente detallado y claro. 257 00:12:17,762 --> 00:12:24,453 Así Celsius 9 veces dividido por 5. 258 00:12:24,453 --> 00:12:26,740 Me voy a alejar un poco lo que esta puede encajar en 259 00:12:26,740 --> 00:12:29,390 una línea, pero voy a acercar de nuevo para aquellos que no pueden ver, 260 00:12:29,390 --> 00:12:30,640 más lejos en la parte posterior. 261 00:12:38,150 --> 00:12:40,060 Lo siento. 262 00:12:40,060 --> 00:12:42,680 Extrañas cuestiones cursor. 263 00:12:42,680 --> 00:12:51,688 Plus 32. 264 00:12:51,688 --> 00:12:54,780 Bueno, ¿alguien tiene alguna pregunta acerca de cómo poner en 265 00:12:54,780 --> 00:12:56,460 la fórmula, o algún problema con eso? 266 00:12:56,460 --> 00:12:56,700 Si. 267 00:12:56,700 --> 00:12:59,580 >> PÚBLICO: ¿Tenemos que poner printf antes de la flotación 268 00:12:59,580 --> 00:13:01,980 Celsius, Fahrenheit flotar líneas de guión? 269 00:13:01,980 --> 00:13:05,910 ¿Importa el orden en que estamos? 270 00:13:05,910 --> 00:13:08,580 LEXI ROSS: Entonces la pregunta era, ¿qué tenemos que printf 271 00:13:08,580 --> 00:13:11,820 antes de que realmente pedir el flotador? 272 00:13:11,820 --> 00:13:13,070 La respuesta es que lo hacemos. 273 00:13:13,070 --> 00:13:16,830 De esa manera, que el cursor que el usuario llegue a su entrada 274 00:13:16,830 --> 00:13:20,310 flotador se producirá después de que el impreso c, ¿verdad? 275 00:13:20,310 --> 00:13:23,480 Y tiene sentido si lo piensas lógicamente, como 276 00:13:23,480 --> 00:13:26,660 le estamos pidiendo al usuario una pregunta, y entonces estás 277 00:13:26,660 --> 00:13:27,800 recibir una respuesta. 278 00:13:27,800 --> 00:13:30,320 Por lo tanto, imprime c, y luego hay un cursor, entonces el 279 00:13:30,320 --> 00:13:32,470 usuario puede introducir el valor, como veremos 280 00:13:32,470 --> 00:13:34,200 más adelante, cuando nos demo. 281 00:13:34,200 --> 00:13:34,874 ¿Sí? 282 00:13:34,874 --> 00:13:37,660 >> AUDIENCIA: ¿Por qué utilizar un flotador y no una doble? 283 00:13:37,660 --> 00:13:40,030 LEXI ROSS: Entonces, un doble, esencialmente, como su nombre 284 00:13:40,030 --> 00:13:42,180 indica, nos da el doble de la cantidad de 285 00:13:42,180 --> 00:13:44,040 precisión como un flotador. 286 00:13:44,040 --> 00:13:48,490 Pero por lo general en C, en este supuesto, para un número de 287 00:13:48,490 --> 00:13:50,340 razones, vamos a usar flotadores. 288 00:13:50,340 --> 00:13:53,330 Y esto es realmente toda la precisión que necesitamos sólo para 289 00:13:53,330 --> 00:13:56,200 tipo de conversiones de temperatura básicos. 290 00:13:56,200 --> 00:13:59,800 Por lo general, los dobles son más utilizados en el lenguaje Java, 291 00:13:59,800 --> 00:14:05,700 flotadores son más comunes en C. Todos impresionante derecha. 292 00:14:05,700 --> 00:14:06,470 >> DAN BRADLEY: Una más. 293 00:14:06,470 --> 00:14:07,530 LEXI ROSS: Una más. 294 00:14:07,530 --> 00:14:08,708 ¿Sí? 295 00:14:08,708 --> 00:14:10,684 PÚBLICO: ¿Dónde poner la barra espaciadora? 296 00:14:10,684 --> 00:14:13,648 Al igual, [inaudible] la barra espaciadora [inaudible]? 297 00:14:13,648 --> 00:14:15,140 ¿Importa? 298 00:14:15,140 --> 00:14:15,560 LEXI ROSS: Oh, no. 299 00:14:15,560 --> 00:14:17,040 Así que no importa. 300 00:14:17,040 --> 00:14:19,910 En realidad debería haber puesto otro espacio aquí. 301 00:14:19,910 --> 00:14:21,990 Pero lo que importa es que usted es consistente 302 00:14:21,990 --> 00:14:22,960 todo el código. 303 00:14:22,960 --> 00:14:25,510 Así que si usted decide usar un estilo de espacio, asegúrese de 304 00:14:25,510 --> 00:14:27,530 mantener todo el código completo, para no sufrir estilo 305 00:14:27,530 --> 00:14:28,610 puntos deducidos. 306 00:14:28,610 --> 00:14:29,822 Así que la consistencia es la clave. 307 00:14:29,822 --> 00:14:31,590 Dan Bradley: Creo que él estaba hablando de ese espacio. 308 00:14:31,590 --> 00:14:33,190 LEXI ROSS: Oh, estás hablando de ese espacio? 309 00:14:33,190 --> 00:14:34,920 Por la C actual? 310 00:14:34,920 --> 00:14:35,335 AUDIENCIA: Si. 311 00:14:35,335 --> 00:14:37,910 LEXI ROSS: Oh, así que eso es sólo para las miradas, ¿verdad? 312 00:14:37,910 --> 00:14:41,280 Así que de esa manera cuando ejecuta el código, si no tuviéramos este 313 00:14:41,280 --> 00:14:43,730 espacio aquí, si era así, el usuario inicia 314 00:14:43,730 --> 00:14:45,690 escribiendo el número y sería aplastado por la derecha 315 00:14:45,690 --> 00:14:48,800 en contra de los dos puntos después de la C, y se vería un poco 316 00:14:48,800 --> 00:14:50,770 mejor si había un espacio. 317 00:14:50,770 --> 00:14:52,470 Y se puede ver que un poco mejor una vez que en realidad 318 00:14:52,470 --> 00:14:53,970 ejecutar este código, cuando nos terminado. 319 00:14:57,060 --> 00:14:58,200 Awesome. 320 00:14:58,200 --> 00:14:59,330 Sí, una pregunta más. 321 00:14:59,330 --> 00:15:01,658 >> PÚBLICO: ¿Tengo que poner un punto decimal después de uno de los 322 00:15:01,658 --> 00:15:04,000 [Inaudible]? 323 00:15:04,000 --> 00:15:06,770 LEXI ROSS: ¿Así que no lo hacen, debido a la orden de 324 00:15:06,770 --> 00:15:07,500 operaciones. 325 00:15:07,500 --> 00:15:11,020 Así pues Fahrenheit ya es un flotador, al igual que 326 00:15:11,020 --> 00:15:14,050 Celsius, no es necesario convertir explícitamente ninguna de estas 327 00:15:14,050 --> 00:15:15,990 otros números como flotadores, aunque en otro 328 00:15:15,990 --> 00:15:18,180 circunstancias, cuando usted está tratando con enteros, es posible que 329 00:15:18,180 --> 00:15:21,280 tiene que poner un punto de echarlo explícitamente como un flotador. 330 00:15:24,160 --> 00:15:24,595 ¿Sí? 331 00:15:24,595 --> 00:15:26,629 AUDIENCIA: Me preguntaba si los asuntos de capitalización en 332 00:15:26,629 --> 00:15:29,150 estos comandos como GetFloat? 333 00:15:29,150 --> 00:15:30,160 LEXI ROSS: Sí, buena pregunta. 334 00:15:30,160 --> 00:15:33,530 Así que la pregunta era, ¿qué importa capitalización en 335 00:15:33,530 --> 00:15:34,800 comandos como GetFloat? 336 00:15:34,800 --> 00:15:36,650 La respuesta es sí, así es. 337 00:15:36,650 --> 00:15:39,720 Así GetFloat es, como Dan describía anteriormente, una biblioteca 338 00:15:39,720 --> 00:15:44,000 función en la biblioteca CS50, y fue escrito como capital 339 00:15:44,000 --> 00:15:47,360 G, capital F. Así que si no lo escribo con esos capitales 340 00:15:47,360 --> 00:15:50,150 allí, el compilador no va a entender lo que 341 00:15:50,150 --> 00:15:52,750 función que te refieres. 342 00:15:52,750 --> 00:15:53,130 Bien. 343 00:15:53,130 --> 00:15:53,815 ¿Sí? 344 00:15:53,815 --> 00:15:55,446 >> AUDIENCIA: Es el principal argumento para siempre vacío? 345 00:15:55,446 --> 00:15:57,920 LEXI ROSS: Sí, esa es otra gran pregunta. 346 00:15:57,920 --> 00:16:01,850 Así que el código que copió de mi espacio erróneamente tenido 347 00:16:01,850 --> 00:16:02,500 argumentos un poco más. 348 00:16:02,500 --> 00:16:06,530 Así que la pregunta era, es el argumento de la función principal 349 00:16:06,530 --> 00:16:10,620 siempre vacío, que esencialmente significa nada? 350 00:16:10,620 --> 00:16:11,890 La respuesta es no. 351 00:16:11,890 --> 00:16:13,920 Usted puede notar que el código que copió de mi anterior 352 00:16:13,920 --> 00:16:17,700 revisión tenía lo que puede verse como nada de lo que realmente hace 353 00:16:17,700 --> 00:16:21,060 sentido en este momento, algunos char * argv, argc. 354 00:16:21,060 --> 00:16:23,630 No te preocupes por eso ahora, pero vas a encontrar más adelante 355 00:16:23,630 --> 00:16:25,060 en que hacen la diferencia. 356 00:16:25,060 --> 00:16:27,480 Pero si usted no está usando ese tipo de funcionalidad 357 00:16:27,480 --> 00:16:28,940 que aprenderás más adelante, nula 358 00:16:28,940 --> 00:16:32,085 está completamente bien. 359 00:16:32,085 --> 00:16:32,530 >> Está bien. 360 00:16:32,530 --> 00:16:34,690 Y tenemos un paso más, y es que queremos 361 00:16:34,690 --> 00:16:38,840 realmente mostrar al usuario lo que la temperatura se convierte. 362 00:16:38,840 --> 00:16:46,730 Así que de nuevo, vamos a usar printf, y digamos f, sólo 363 00:16:46,730 --> 00:16:48,000 para mantener la coherencia. 364 00:16:48,000 --> 00:16:50,780 Y ahora vamos a hacer algo un poco complicado. 365 00:16:50,780 --> 00:16:57,190 Así que vamos a usar una marca o un tipo especial de notación, 366 00:16:57,190 --> 00:17:02,510 contar printf para imprimir sólo un decimal. 367 00:17:02,510 --> 00:17:05,240 ¿Y alguien enterado de lo que va a ver 368 00:17:05,240 --> 00:17:06,810 gusta, antes de que me escriba a cabo? 369 00:17:06,810 --> 00:17:07,089 ¿Sí? 370 00:17:07,089 --> 00:17:08,339 AUDIENCIA: 0,2% f? 371 00:17:10,369 --> 00:17:10,880 LEXI ROSS: Sí, sí. 372 00:17:10,880 --> 00:17:12,960 Así que en realidad, es muy estrecha. 373 00:17:12,960 --> 00:17:23,520 0.01f de .01% f, y entonces tenemos que recordar incluir 374 00:17:23,520 --> 00:17:26,950 el otro argumento de printf, que es la propia variable, 375 00:17:26,950 --> 00:17:28,685 que es n. 376 00:17:33,690 --> 00:17:34,580 >> Un último paso. 377 00:17:34,580 --> 00:17:36,880 ¿Puede alguien recordar lo que está en nuestra función principal? 378 00:17:36,880 --> 00:17:37,265 Sí, allá arriba. 379 00:17:37,265 --> 00:17:38,320 AUDIENCIA: Return? 380 00:17:38,320 --> 00:17:38,840 LEXI ROSS: Exactamente. 381 00:17:38,840 --> 00:17:42,030 Así que ya que se trata de retornos principales int, queremos 382 00:17:42,030 --> 00:17:43,926 también devuelven en int. 383 00:17:43,926 --> 00:17:48,280 DAN BRADLEY: Porcentaje necesita estar en el otro lado. 384 00:17:48,280 --> 00:17:48,540 LEXI ROSS: De acuerdo. 385 00:17:48,540 --> 00:17:49,290 Lo siento, chicos. 386 00:17:49,290 --> 00:17:50,240 Eso fue un error. 387 00:17:50,240 --> 00:17:52,150 Así el porcentaje viene antes de 0,01. 388 00:17:52,150 --> 00:17:54,450 Así que es% .01 f. 389 00:17:54,450 --> 00:17:55,970 Los que son un poco difíciles de recordar. 390 00:17:55,970 --> 00:17:57,470 Muchas personas, como yo, sólo tiene que mirar hacia arriba 391 00:17:57,470 --> 00:17:58,710 cada vez que los usamos. 392 00:17:58,710 --> 00:17:59,340 Sí, allá arriba. 393 00:17:59,340 --> 00:18:02,525 PÚBLICO: ¿Por qué es 0,01 y no 0,2 o 0,1? 394 00:18:05,710 --> 00:18:07,530 LEXI ROSS: No lo sé, la verdad. 395 00:18:07,530 --> 00:18:08,130 ¿Sabe usted? 396 00:18:08,130 --> 00:18:14,050 Dan Bradley: La razón es 0,01 frente a 0,02, o 397 00:18:14,050 --> 00:18:19,380 0,2, o 0,1, es bastante arbitraria a la forma en que el 398 00:18:19,380 --> 00:18:21,230 programador originalmente diseñado. 399 00:18:21,230 --> 00:18:22,200 AUDIENCIA: Eso no es lo que quise decir. 400 00:18:22,200 --> 00:18:24,140 No estoy pidiendo la razón. 401 00:18:24,140 --> 00:18:25,378 Razón [inaudible] por qué. 402 00:18:25,378 --> 00:18:28,800 Lo tengo escrito como 0,2, y ofrece dos - 403 00:18:28,800 --> 00:18:29,270 Dan Bradley: Si. 404 00:18:29,270 --> 00:18:30,410 Así que sólo nos íbamos a querer uno. 405 00:18:30,410 --> 00:18:31,250 AUDIENCIA: Oh, está bien. 406 00:18:31,250 --> 00:18:33,270 Así que usted podría 0,01 entonces. 407 00:18:33,270 --> 00:18:35,340 Dan Bradley: 0,1 probablemente también funcionan. 408 00:18:35,340 --> 00:18:37,430 0,01 funciona tan bien. 409 00:18:37,430 --> 00:18:39,288 LEXI ROSS: Oh, el 0 podría ser la de mostrar cero, si 410 00:18:39,288 --> 00:18:40,870 que es menor que uno. 411 00:18:40,870 --> 00:18:43,080 DAN BRADLEY: Sí, creo que tiene razón. 412 00:18:43,080 --> 00:18:49,220 Así el 0,01 mostraría un valor cero si no tiene nada 413 00:18:49,220 --> 00:18:51,670 que volvería a ir allí de forma natural. 414 00:18:51,670 --> 00:18:55,860 Así que si usted fuera, por ejemplo, poner en el 100 para C, que sería 415 00:18:55,860 --> 00:19:00,230 salen a 212 normalmente en grados Fahrenheit, al igual que 212 exactamente. 416 00:19:00,230 --> 00:19:05,810 Si usted tiene el 0,01, se mostrará 212,0, como 417 00:19:05,810 --> 00:19:07,005 frente a sólo 212. 418 00:19:07,005 --> 00:19:07,330 LEXI ROSS: Eso es correcto. 419 00:19:07,330 --> 00:19:13,000 Así que, básicamente, le dice a la lectura printf, imprima un punto decimal, 420 00:19:13,000 --> 00:19:14,760 e imprimir un 0 si es necesario. 421 00:19:14,760 --> 00:19:16,780 Si no es así, imprima la posición decimal. 422 00:19:16,780 --> 00:19:18,270 DAN BRADLEY: Y vamos a explorar algunos de esto cuando estamos 423 00:19:18,270 --> 00:19:19,270 que realmente ejecuta el código. 424 00:19:19,270 --> 00:19:20,150 LEXI ROSS: Eso es. 425 00:19:20,150 --> 00:19:21,030 AUDIENCIA: Así que puse 0,1. 426 00:19:21,030 --> 00:19:21,910 Todavía imprime su cero. 427 00:19:21,910 --> 00:19:23,460 Dan Bradley: Todavía imprime su cero? 428 00:19:23,460 --> 00:19:23,930 AUDIENCIA: Si. 429 00:19:23,930 --> 00:19:25,211 Dan Bradley: Hm, está bien. 430 00:19:25,211 --> 00:19:27,666 LEXI ROSS: Cool. 431 00:19:27,666 --> 00:19:29,140 >> Está bien. 432 00:19:29,140 --> 00:19:33,310 Más preguntas sobre el código antes de compilar y ejecutar? 433 00:19:33,310 --> 00:19:35,380 ¿Alguien ve algún error aquí, en primer lugar? 434 00:19:35,380 --> 00:19:39,420 Alguien vio algo que debería estar aquí? 435 00:19:39,420 --> 00:19:41,920 Si este fuera el conjunto de problemas, lo que sería aquí que no es 436 00:19:41,920 --> 00:19:44,490 hay en este momento? 437 00:19:44,490 --> 00:19:45,710 Sí, muy bien. 438 00:19:45,710 --> 00:19:48,200 Así que no incluyó comentarios porque los estoy entregando 439 00:19:48,200 --> 00:19:50,570 por vía oral, pero si yo estuviera escribiendo esto en un conjunto de problemas, lo haría 440 00:19:50,570 --> 00:19:54,290 Definitivamente quiero poner comentarios para indicar lo que soy 441 00:19:54,290 --> 00:19:55,820 haciendo, esencialmente, en el programa. 442 00:19:55,820 --> 00:19:57,870 Y te tipo de conseguir una sensación para ella, mientras se mueve a través de 443 00:19:57,870 --> 00:19:59,680 el semestre, la cantidad de comentarios. 444 00:19:59,680 --> 00:20:01,520 No quiero ser demasiado verboso y las líneas puestas y 445 00:20:01,520 --> 00:20:03,710 líneas de comentarios para cada una de sus líneas de código, pero 446 00:20:03,710 --> 00:20:06,720 Tampoco quiero no ser lo suficientemente detallado y dejar el 447 00:20:06,720 --> 00:20:09,440 lector a tratar de averiguar qué diablos 448 00:20:09,440 --> 00:20:11,595 el código está haciendo. 449 00:20:11,595 --> 00:20:12,770 >> De acuerdo, genial. 450 00:20:12,770 --> 00:20:14,020 Vamos a tratar de ejecutar este código. 451 00:20:18,290 --> 00:20:21,650 Bueno, me voy a alejar un poco. 452 00:20:21,650 --> 00:20:22,020 Cool. 453 00:20:22,020 --> 00:20:24,560 Así te darás cuenta de que hay un botón Reproducir aquí. 454 00:20:24,560 --> 00:20:25,994 Vamos, haga clic en Reproducir. 455 00:20:34,915 --> 00:20:39,190 Así te darás cuenta de aquí, igual que en la especificación del problema 456 00:20:39,190 --> 00:20:43,300 establecido, está el. / a.out. 457 00:20:43,300 --> 00:20:46,510 a.out es el nombre del ejecutable binario, que es una 458 00:20:46,510 --> 00:20:50,590 palabra larga para un archivo que contiene el código binario que 459 00:20:50,590 --> 00:20:51,710 el equipo se está ejecutando. 460 00:20:51,710 --> 00:20:54,390 Así como lo esperábamos, tenemos C aquí. 461 00:20:54,390 --> 00:20:56,007 Así que llame a un número. 462 00:20:56,007 --> 00:20:58,630 AUDIENCIA: 23. 463 00:20:58,630 --> 00:21:05,090 LEXI ROSS: 23. 464 00:21:05,090 --> 00:21:06,360 DAN BRADLEY: El programa tuvo mucho tiempo para ejecutarse. 465 00:21:06,360 --> 00:21:07,310 Sólo tienes que correr de nuevo. 466 00:21:07,310 --> 00:21:07,700 LEXI ROSS: Oh, my bad. 467 00:21:07,700 --> 00:21:09,450 Bien. 468 00:21:09,450 --> 00:21:10,770 Spaces es exigente a veces. 469 00:21:10,770 --> 00:21:13,060 Se quiere que pienses en tus pies. 470 00:21:13,060 --> 00:21:15,060 Bueno, 23. 471 00:21:15,060 --> 00:21:16,256 Awesome. 472 00:21:16,256 --> 00:21:18,920 ¿Todo el mundo cree esto? 473 00:21:18,920 --> 00:21:20,600 Cool, porque funciona. 474 00:21:20,600 --> 00:21:22,670 >> Bien. 475 00:21:22,670 --> 00:21:24,280 Vamos a intentar un par más. 476 00:21:24,280 --> 00:21:25,910 Vamos a probar un caso extremo aquí. 477 00:21:25,910 --> 00:21:28,900 En informática, cuando hablamos de casos extremos, nos referimos a 478 00:21:28,900 --> 00:21:33,640 casos para el programa a ejecutar que son una especie de en el muy 479 00:21:33,640 --> 00:21:38,430 bordes de entradas razonables o que las esquinas de prueba determinados 480 00:21:38,430 --> 00:21:41,680 la lógica de su programa, y ​​esto tiene más sentido cuando 481 00:21:41,680 --> 00:21:43,080 hacer programas más complicados. 482 00:21:43,080 --> 00:21:45,440 Vamos a tratar de 0. 483 00:21:45,440 --> 00:21:45,950 Awesome. 484 00:21:45,950 --> 00:21:48,460 Todos sabemos esto. 485 00:21:48,460 --> 00:21:48,745 Cool. 486 00:21:48,745 --> 00:21:50,520 ¿Alguna pregunta más sobre esto antes de que se mueven 487 00:21:50,520 --> 00:21:51,930 en al siguiente programa? 488 00:21:55,560 --> 00:21:57,160 Muy bien, genial. 489 00:21:57,160 --> 00:22:00,066 Así que ahora, vamos a - 490 00:22:00,066 --> 00:22:01,180 ¿quieres usar sólo mi ordenador? 491 00:22:01,180 --> 00:22:01,940 DAN BRADLEY: Sí, eso es bastante fácil. 492 00:22:01,940 --> 00:22:06,660 >> Muy bien, así que voy a ir a hablar sobre la fabricación de porcentajes. 493 00:22:06,660 --> 00:22:11,440 Así que somos en esencia, en este pequeño ejercicio siguiente, va a 494 00:22:11,440 --> 00:22:16,020 tomar dos entradas enteras por parte del usuario, con la esperanza de un 495 00:22:16,020 --> 00:22:21,250 no negativo numerador y un denominador positivo, y 496 00:22:21,250 --> 00:22:24,410 básicamente, dividiéndolas y la salida de lo que sale como una 497 00:22:24,410 --> 00:22:25,820 porcentaje. 498 00:22:25,820 --> 00:22:33,430 Por eso queremos que acepte solamente no negativos numeradores y 499 00:22:33,430 --> 00:22:37,930 aceptar sólo denominadores positivos, y siga preguntando 500 00:22:37,930 --> 00:22:43,286 por otros nuevos si no ha conseguido lo que quiere. 501 00:22:43,286 --> 00:22:43,710 ¿De acuerdo? 502 00:22:43,710 --> 00:22:44,960 Así que darle una oportunidad. 503 00:22:48,015 --> 00:22:49,390 LEXI ROSS: Ah, sí, ¿quieres hacer el - 504 00:22:49,390 --> 00:22:51,310 oh, tal vez la gente debería copiar el código. 505 00:22:51,310 --> 00:22:51,790 Dan Bradley: Si. 506 00:22:51,790 --> 00:22:52,270 LEXI ROSS: [inaudible] 507 00:22:52,270 --> 00:22:54,994 Espacios. 508 00:22:54,994 --> 00:22:55,986 >> AUDIENCIA: Tengo una pregunta. 509 00:22:55,986 --> 00:22:58,466 Si estoy usando espacios y quiero salvar [inaudible] el 510 00:22:58,466 --> 00:23:04,440 Fahrenheit conversión, puedo guardarlo y luego hacer una nueva - 511 00:23:04,440 --> 00:23:06,880 LEXI ROSS: Podríamos hacer un nuevo espacio, o simplemente puede 512 00:23:06,880 --> 00:23:09,600 desea copiar y pegarlo en un archivo de texto o 513 00:23:09,600 --> 00:23:11,040 algo por lo que lo tengamos. 514 00:23:11,040 --> 00:23:12,400 DAN BRADLEY: Voy a cambiar mi nombre. 515 00:23:12,400 --> 00:23:15,430 LEXI ROSS: Por lo que acaba de guardar la última revisión de 516 00:23:15,430 --> 00:23:20,700 tofahrenheit.c, así que si vas a AAAA Lexis Beryl 517 00:23:20,700 --> 00:23:23,270 Ross, usted puede entrar y copiar ese último código, a continuación, 518 00:23:23,270 --> 00:23:26,360 comenzar en este nuevo, que creo que Dan va a proporcionar 519 00:23:26,360 --> 00:23:30,540 un código esqueleto para también. 520 00:23:30,540 --> 00:23:33,430 Bien. 521 00:23:33,430 --> 00:23:36,590 Dan Bradley: La revisión más reciente que tengo en la mía, así 522 00:23:36,590 --> 00:23:40,080 que es en lo más alto esta vez, es la Revisión 4, y 523 00:23:40,080 --> 00:23:42,050 que va a tener lo que necesita para empezar. 524 00:23:47,970 --> 00:23:49,370 LEXI ROSS: Todo correcto, y voy a copiar que en la mía también. 525 00:23:49,370 --> 00:23:50,520 >> Dan Bradley: Muy bien. 526 00:23:50,520 --> 00:23:53,840 Creo que vamos a empezar a ir justo por esto, si 527 00:23:53,840 --> 00:23:57,470 a alguien le interesa. 528 00:23:57,470 --> 00:23:59,710 LEXI ROSS: Todos estamos interesados. 529 00:23:59,710 --> 00:24:02,370 DAN BRADLEY: Vamos a empezar con sólo declarar 530 00:24:02,370 --> 00:24:08,290 algunas variables. Así que tenemos un numerador, y en aras de la 531 00:24:08,290 --> 00:24:13,770 Ahora, voy a empezar simplemente con el valor -1, 532 00:24:13,770 --> 00:24:24,070 y luego voy a crear un bucle do-while. Mientras que - 533 00:24:24,070 --> 00:24:28,270 así que cuando lo quiero para bucle? 534 00:24:28,270 --> 00:24:30,250 ¿Cuándo quiere que siga preguntando - 535 00:24:30,250 --> 00:24:31,761 ¿si? 536 00:24:31,761 --> 00:24:34,960 AUDIENCIA: Cuando es menor que o igual a cero. 537 00:24:34,960 --> 00:24:37,734 DAN BRADLEY: ¿Por qué no puede ser igual a cero? 538 00:24:37,734 --> 00:24:39,526 AUDIENCIA: [inaudible]. 539 00:24:39,526 --> 00:24:39,980 Dan Bradley: Si. 540 00:24:39,980 --> 00:24:42,590 Así que para el numerador, es sólo mientras el numerador 541 00:24:42,590 --> 00:24:43,840 es menor que cero. 542 00:24:49,570 --> 00:24:50,480 ¿Tiene sentido para la gente? 543 00:24:50,480 --> 00:24:53,190 Mantenemos un bucle mientras que el numerador es menor que cero, 544 00:24:53,190 --> 00:24:58,530 seguimos preguntando por datos nuevos, y seguir exigiendo que 545 00:24:58,530 --> 00:24:59,520 entrada de nuevas cosas. 546 00:24:59,520 --> 00:25:10,436 Así que voy a tener un poco printf aquí, no negativo 547 00:25:10,436 --> 00:25:11,686 num -. 548 00:25:17,780 --> 00:25:21,940 Y luego hacer lo mismo que antes, excepto que hacemos un 549 00:25:21,940 --> 00:25:25,220 GetInt, sólo porque queríamos hacerlo lo más 550 00:25:25,220 --> 00:25:27,600 porcentaje de intercepciones. 551 00:25:27,600 --> 00:25:32,010 Así numerador = getInt. 552 00:25:36,420 --> 00:25:39,420 >> Bien, ahora un par de cosas. 553 00:25:39,420 --> 00:25:41,030 ¿Necesito esta -1 aquí? 554 00:25:41,030 --> 00:25:41,976 AUDIENCIA: [inaudible]. 555 00:25:41,976 --> 00:25:42,449 Dan Bradley: No. 556 00:25:42,449 --> 00:25:44,814 ¿Por qué no? 557 00:25:44,814 --> 00:25:47,440 AUDIENCIA: Debido a que usted está recibiendo un valor aleatorio por parte del usuario. 558 00:25:47,440 --> 00:25:48,540 Dan Bradley: Exactamente. 559 00:25:48,540 --> 00:25:53,540 Pero quiero tener la declaración por aquí? 560 00:25:53,540 --> 00:25:53,950 Sí. 561 00:25:53,950 --> 00:25:54,220 ¿Por qué? 562 00:25:54,220 --> 00:25:56,640 AUDIENCIA: Usted tiene que encontrar la parte exterior del bucle. 563 00:25:56,640 --> 00:25:59,060 De lo contrario, no vamos a tener la variable para el resto 564 00:25:59,060 --> 00:26:00,520 del programa. 565 00:26:00,520 --> 00:26:01,270 Dan Bradley: Exactamente. 566 00:26:01,270 --> 00:26:03,290 Ámbito de aplicación. 567 00:26:03,290 --> 00:26:04,750 Sweet. 568 00:26:04,750 --> 00:26:05,790 ¿Tiene sentido para todo el mundo? 569 00:26:05,790 --> 00:26:07,090 PÚBLICO: ¿Se puede decir que una vez más? 570 00:26:07,090 --> 00:26:07,410 Dan Bradley: Muy bien. 571 00:26:07,410 --> 00:26:12,000 Así que si yo fuera a declarar este numerador dentro del bucle, si 572 00:26:12,000 --> 00:26:14,850 Tenía esto en vez de ser numerador numerador int, 573 00:26:14,850 --> 00:26:17,720 y me deshice de esto por completo, 574 00:26:17,720 --> 00:26:19,710 numerador desaparecería. 575 00:26:19,710 --> 00:26:23,540 No existiría fuera de este bucle, porque todo 576 00:26:23,540 --> 00:26:25,370 Está dentro del alcance de estas llaves. 577 00:26:28,180 --> 00:26:28,790 Tiene sentido? 578 00:26:28,790 --> 00:26:30,460 Bien. 579 00:26:30,460 --> 00:26:34,750 >> Así que por denominador, hacemos algo bastante similar, int 580 00:26:34,750 --> 00:26:39,850 denominador = - 581 00:26:39,850 --> 00:26:41,950 y no necesito los iguales - 582 00:26:41,950 --> 00:26:52,900 hacer, y para el tiempo en este caso, ¿qué es lo que quiero? 583 00:26:52,900 --> 00:26:56,338 ¿En qué condiciones lo quiero todavía a lazo en? 584 00:26:56,338 --> 00:26:57,790 AUDIENCIA: Menos que o igual a 0. 585 00:26:57,790 --> 00:26:59,100 DAN BRADLEY: Menos que o igual a 0. 586 00:26:59,100 --> 00:27:04,680 Denominador <= 0. 587 00:27:10,350 --> 00:27:13,630 No se olvide de sus puntos y comas, niños. 588 00:27:13,630 --> 00:27:26,950 Así que hacemos lo mismo que antes, un positivo printf 589 00:27:26,950 --> 00:27:38,920 denominador, y obtenemos int desde aquí. 590 00:27:43,240 --> 00:27:44,573 Ahí vamos. 591 00:27:52,461 --> 00:27:53,711 GetInt. 592 00:27:56,585 --> 00:27:57,810 Bien. 593 00:27:57,810 --> 00:28:02,360 Y luego, al final, queremos imprimir un porcentaje. 594 00:28:02,360 --> 00:28:10,282 Así que para hacer esto, lo que debe ser nuestra cadena parece? 595 00:28:10,282 --> 00:28:11,532 printf. 596 00:28:18,010 --> 00:28:20,210 ¿Alguna otra idea de lo que puedo hacer aquí? 597 00:28:20,210 --> 00:28:20,480 ¿Sí? 598 00:28:20,480 --> 00:28:26,204 AUDIENCIA: A lo mejor el 0,2% [inaudible]. 599 00:28:26,204 --> 00:28:27,454 Dan Bradley: Yep. 600 00:28:31,300 --> 00:28:32,170 Bien. 601 00:28:32,170 --> 00:28:41,680 Voy a empezar con el primer bit,%% .02%, 602 00:28:41,680 --> 00:28:42,957 comillas, coma. 603 00:28:46,370 --> 00:28:48,380 Y voy a lanzar una nueva línea de aquí, sólo porque 604 00:28:48,380 --> 00:28:50,390 como nuevas líneas cuando estoy haciendo las cosas. 605 00:28:53,210 --> 00:28:57,945 ¿Qué tipo de expresión matemática puedo tener aquí? 606 00:28:57,945 --> 00:29:00,250 PÚBLICO: Los paréntesis y el flotador. 607 00:29:00,250 --> 00:29:00,620 Dan Bradley: Good. 608 00:29:00,620 --> 00:29:01,875 ¿Por qué quiero tenerlo en carroza? 609 00:29:01,875 --> 00:29:03,125 AUDIENCIA: [inaudible]. 610 00:29:05,640 --> 00:29:07,960 DAN BRADLEY: Bueno, bueno. 611 00:29:07,960 --> 00:29:09,210 Float. 612 00:29:11,236 --> 00:29:12,486 AUDIENCIA: Numerador. 613 00:29:14,640 --> 00:29:15,610 Dan Bradley: Numerador? 614 00:29:15,610 --> 00:29:18,596 Bueno, por lo que hago numerador flotador. 615 00:29:18,596 --> 00:29:20,524 AUDIENCIA: Dividido por - 616 00:29:20,524 --> 00:29:22,142 Dan Bradley: Dividido por? 617 00:29:22,142 --> 00:29:23,480 AUDIENCIA: Denominador. 618 00:29:23,480 --> 00:29:26,290 DAN BRADLEY: ¿Hago sólo denominador, o hago flotador 619 00:29:26,290 --> 00:29:26,900 denominador? 620 00:29:26,900 --> 00:29:29,410 AUDIENCIA: Just denominador. 621 00:29:29,410 --> 00:29:30,335 Dan Bradley: Muy bien. 622 00:29:30,335 --> 00:29:35,285 AUDIENCIA: Y se puede multiplicar por 100. 623 00:29:35,285 --> 00:29:39,130 Dan Bradley: Y yo que se multiplican por 100. 624 00:29:39,130 --> 00:29:40,560 AUDIENCIA: ¿Y entonces paréntesis alrededor de la expresión completa. 625 00:29:40,560 --> 00:29:41,810 Dan Bradley: Yep. 626 00:29:47,110 --> 00:29:48,360 >> Bien. 627 00:29:50,575 --> 00:29:52,860 Lucir bien? 628 00:29:52,860 --> 00:29:54,110 Vamos a intentarlo. 629 00:29:58,170 --> 00:30:00,800 -50. 630 00:30:00,800 --> 00:30:03,590 Bueno, 50. 631 00:30:03,590 --> 00:30:08,010 0, y 100, 50%. 632 00:30:08,010 --> 00:30:10,500 Todo salió como queríamos. 633 00:30:10,500 --> 00:30:13,510 ¿Tiene sentido este código a las personas? 634 00:30:13,510 --> 00:30:17,600 Yo lo voy a guardar para que pueda obtener una copia del mismo. 635 00:30:17,600 --> 00:30:18,684 ¿Sí? 636 00:30:18,684 --> 00:30:20,055 PÚBLICO: ¿Por qué no hay que poner [inaudible]? 637 00:30:22,800 --> 00:30:24,603 DAN BRADLEY: ¿Dónde? 638 00:30:24,603 --> 00:30:26,076 AUDIENCIA: Como, cuando dices denominador es igual a 639 00:30:26,076 --> 00:30:28,040 [Inaudible]. 640 00:30:28,040 --> 00:30:30,630 Dan Bradley: Cuando tengo aquí? 641 00:30:30,630 --> 00:30:32,510 ¿Por qué tendría yo int antes? 642 00:30:32,510 --> 00:30:37,120 AUDIENCIA: Debido a que el otro tiene int antes de ella. 643 00:30:37,120 --> 00:30:40,060 Dan Bradley: Bueno, por lo que no estaba en un bucle, ¿verdad? 644 00:30:40,060 --> 00:30:45,960 Así lo declaro int denominador por encima del bucle, 645 00:30:45,960 --> 00:30:48,880 y yo no lo tengo en el circuito porque sería 646 00:30:48,880 --> 00:30:52,680 declarándolo un montón de veces, y no sería en realidad llevar a 647 00:30:52,680 --> 00:30:54,280 a cualquier otra parte del programa. 648 00:30:54,280 --> 00:30:56,520 LEXI ROSS: Sí, lo importante es recordar que 649 00:30:56,520 --> 00:30:58,530 variables sólo es necesario declarar una vez. 650 00:30:58,530 --> 00:31:00,570 Así que imagino que es como introducir una nueva variable 651 00:31:00,570 --> 00:31:04,640 en el mundo llamándolo int o float o lo que sea, y 652 00:31:04,640 --> 00:31:07,170 una vez que ha declarado, todo lo que necesita hacer para cambiarlo es 653 00:31:07,170 --> 00:31:10,510 sólo lo llaman por su nombre: denominador, o x o y. 654 00:31:10,510 --> 00:31:13,347 Sólo tiene que llamar en realidad un int sola vez. 655 00:31:13,347 --> 00:31:14,325 >> Dan Bradley: Si. 656 00:31:14,325 --> 00:31:16,770 AUDIENCIA: ¿Puedes explicar la diferencia entre% d 657 00:31:16,770 --> 00:31:21,180 y f% y si alguna vez se declare un 658 00:31:21,180 --> 00:31:22,790 variable como un decimal? 659 00:31:22,790 --> 00:31:25,850 Dan Bradley:% d y% f Entonces aquí? 660 00:31:28,950 --> 00:31:32,190 LEXI ROSS: Entonces d refiere realmente a sólo un dígito, no 661 00:31:32,190 --> 00:31:33,630 decimal, que es un poco confuso. 662 00:31:33,630 --> 00:31:36,310 No hay ningún tipo de datos real llamado decimal, y cuando 663 00:31:36,310 --> 00:31:39,750 desea imprimir un int, que se refieren a ella como d%, o 664 00:31:39,750 --> 00:31:44,440 %-Lo que sea-d. F es para flotador, que te lo pensaría 665 00:31:44,440 --> 00:31:49,070 ¿Sería yo, pero en realidad es d para int. 666 00:31:49,070 --> 00:31:49,420 >> DAN BRADLEY: Sí? 667 00:31:49,420 --> 00:31:52,180 AUDIENCIA: Así que en el otro programa, ¿por qué no acabamos de hacer 668 00:31:52,180 --> 00:31:57,764 lo mismo cuando usted está diciendo Fahrenheit? 669 00:31:57,764 --> 00:32:00,760 ¿Por qué no ponemos, como -? 670 00:32:00,760 --> 00:32:02,465 Dan Bradley: En el fondo aquí? 671 00:32:02,465 --> 00:32:03,810 Usted podría tener. 672 00:32:03,810 --> 00:32:05,900 Hubiera sido completamente legítimo. 673 00:32:05,900 --> 00:32:08,290 Me gusta hacerlo de esta manera, otras personas como separar 674 00:32:08,290 --> 00:32:10,450 a cabo en diversas líneas de código. 675 00:32:10,450 --> 00:32:12,290 De cualquier manera funciona bien. 676 00:32:12,290 --> 00:32:12,760 ¿Qué hay de nuevo? 677 00:32:12,760 --> 00:32:13,700 >> AUDIENCIA: ¿Puede usted explicar lo que el%% 678 00:32:13,700 --> 00:32:14,170 [Inaudible]? 679 00:32:14,170 --> 00:32:15,520 Dan Bradley: Bueno, por lo que el por ciento, por ciento. 680 00:32:15,520 --> 00:32:18,520 Bueno, me iba a pasar esto. 681 00:32:18,520 --> 00:32:21,970 El porcentaje primera se llama carácter de escape, y sólo lo 682 00:32:21,970 --> 00:32:28,730 dice que la cosa detrás de esto no es en realidad código. 683 00:32:28,730 --> 00:32:36,230 Así que este porcentaje en primer lugar, a la derecha, el% .02 f, todas esas% .02 f 684 00:32:36,230 --> 00:32:40,860 significan algo para printf como una función. 685 00:32:40,860 --> 00:32:44,520 %%, Yo sólo quería que en realidad sólo imprimir una 686 00:32:44,520 --> 00:32:45,670 signo de porcentaje. 687 00:32:45,670 --> 00:32:47,960 Así que no estoy diciendo que haya nada importante detrás de él. 688 00:32:47,960 --> 00:32:49,820 Sólo estoy diciendo que hay un signo de porcentaje detrás de él. 689 00:32:49,820 --> 00:32:52,345 Por favor imprima un signo de porcentaje. 690 00:32:52,345 --> 00:32:54,010 Así por ciento, y luego otro por ciento. 691 00:32:54,010 --> 00:32:56,415 AUDIENCIA: ¿Puede demostrar lo que sería si usted tiene 692 00:32:56,415 --> 00:32:57,858 flotar sobre la base de otra línea? 693 00:32:57,858 --> 00:33:01,490 Dan Bradley: Oh sí, claro. 694 00:33:01,490 --> 00:33:05,730 Así que estoy pidiendo para mostrar lo que se vería como si yo 695 00:33:05,730 --> 00:33:10,500 tenido este numerador flotador, todo esto matemáticas, en otra línea. 696 00:33:10,500 --> 00:33:16,200 Así flotador por ciento = - 697 00:33:20,630 --> 00:33:25,970 y me gustaría deshacerme de esto y sólo hay que poner en porcentaje. 698 00:33:25,970 --> 00:33:29,400 Y está haciendo exactamente lo mismo, sólo 699 00:33:29,400 --> 00:33:30,763 tienen otra variable. 700 00:33:30,763 --> 00:33:33,030 >> AUDIENCIA: [inaudible]. 701 00:33:33,030 --> 00:33:34,130 DAN BRADLEY: Desplácese hacia abajo para qué? 702 00:33:34,130 --> 00:33:35,512 PÚBLICO: Para que yo pueda ver [inaudible]. 703 00:33:40,380 --> 00:33:42,016 DAN BRADLEY: ¿Qué no te das cuenta? 704 00:33:42,016 --> 00:33:43,510 AUDIENCIA: Lo siento, yo estaba [inaudible]. 705 00:33:47,992 --> 00:33:48,490 Dan Bradley: Si. 706 00:33:48,490 --> 00:33:50,980 AUDIENCIA: Entonces, si estamos reemplazando el carácter de escape, 707 00:33:50,980 --> 00:33:54,466 Supongo que quería tener un signo de dólar en vez, sólo por 708 00:33:54,466 --> 00:33:57,780 ejemplo, detrás de un signo de dólar por ciento? 709 00:33:57,780 --> 00:33:58,510 Dan Bradley: Nope. 710 00:33:58,510 --> 00:34:01,400 Es sólo un dólar, un solo signo de dólar, debido a que un dólar 711 00:34:01,400 --> 00:34:03,740 signo no significa nada para printf. 712 00:34:03,740 --> 00:34:07,980 La pregunta era, ¿tengo que tener un carácter de escape para 713 00:34:07,980 --> 00:34:10,135 símbolos como signos de dólar? 714 00:34:10,135 --> 00:34:13,330 AUDIENCIA: especie de modo relacionado, ¿existen otros casos que 715 00:34:13,330 --> 00:34:15,466 debemos saber cuándo algo así como el porcentaje 716 00:34:15,466 --> 00:34:18,820 signo puede significar algo [inaudible]? 717 00:34:18,820 --> 00:34:20,330 LEXI ROSS: Sí. 718 00:34:20,330 --> 00:34:24,469 No es necesariamente el signo de porcentaje, pero la barra invertida ver, 719 00:34:24,469 --> 00:34:26,370 como tenemos aquí reacción final? 720 00:34:26,370 --> 00:34:29,800 Digamos que en realidad quería imprimir un contragolpe, tendríamos 721 00:34:29,800 --> 00:34:31,070 para escapar de eso - 722 00:34:31,070 --> 00:34:32,670 y esto va a sonar confuso - 723 00:34:32,670 --> 00:34:34,260 con otra barra invertida. 724 00:34:34,260 --> 00:34:36,370 Así que si queremos imprimir \ \, lo haríamos 725 00:34:36,370 --> 00:34:40,730 Sólo tienes que escribir aquello, o para obtener información adicional 726 00:34:40,730 --> 00:34:42,247 barra invertida, otro escape. 727 00:34:48,340 --> 00:34:50,774 Y otra, si queremos imprimir una cotización - así 728 00:34:50,774 --> 00:34:53,040 Básicamente, cualquier cosa que denota algo de tipo especial 729 00:34:53,040 --> 00:34:55,800 dentro de una cadena, queremos escapar. 730 00:34:55,800 --> 00:34:58,700 Así que digamos que realmente quiero tener una cita aquí, lo haríamos 731 00:34:58,700 --> 00:34:59,840 quiero hacer \ ". 732 00:34:59,840 --> 00:35:02,450 AUDIENCIA: Así que es generalmente una barra invertida? 733 00:35:02,450 --> 00:35:03,490 DAN BRADLEY: Es generalmente una barra invertida. 734 00:35:03,490 --> 00:35:03,740 LEXI ROSS: Eso es. 735 00:35:03,740 --> 00:35:06,962 Por alguna razón, aquí, es un signo de porcentaje. 736 00:35:06,962 --> 00:35:08,212 >> AUDIENCIA: [inaudible]? 737 00:35:11,680 --> 00:35:13,400 Dan Bradley: Este chico? 738 00:35:13,400 --> 00:35:17,570 Esto es sólo para decir, lo que está siendo dividido aquí es 739 00:35:17,570 --> 00:35:20,170 va a ser tratado como un flotador para el bien de la división. 740 00:35:25,110 --> 00:35:30,370 Así en el caso de 50 dividido por 100, si no tienen la 741 00:35:30,370 --> 00:35:33,260 flotar allí, que sólo sería 0. 742 00:35:33,260 --> 00:35:35,930 Eso es todo lo que saldría, porque 50 dividido por 743 00:35:35,930 --> 00:35:40,510 100, si usted no está incluyendo los decimales, es 0. - 744 00:35:40,510 --> 00:35:43,520 y todo después de la coma decimal se trunca justo fuera. 745 00:35:43,520 --> 00:35:44,891 AUDIENCIA: Um, 746 00:35:44,891 --> 00:35:48,550 ¿Por qué no lo ponemos antes denominador también? 747 00:35:48,550 --> 00:35:51,310 DAN BRADLEY: ¿Entonces la razón por la que no lo ponga delante de 748 00:35:51,310 --> 00:35:56,010 denominador es porque cuando estás dividiendo por algo 749 00:35:56,010 --> 00:35:59,320 un número entero, funciona muy bien. 750 00:35:59,320 --> 00:36:00,630 Tener un mayor número en la parte inferior 751 00:36:00,630 --> 00:36:02,790 no cambia nada. 752 00:36:02,790 --> 00:36:06,120 Se puede dividir por números enteros muy bien. 753 00:36:06,120 --> 00:36:07,250 Simplemente no importa realmente. 754 00:36:07,250 --> 00:36:09,053 Podría, eso no cambiaría nada. 755 00:36:09,053 --> 00:36:11,368 AUDIENCIA: Así que si quería tres decimales, lo haría 756 00:36:11,368 --> 00:36:13,220 pones 0.03 por ciento? 757 00:36:13,220 --> 00:36:14,100 Dan Bradley: Yep. 758 00:36:14,100 --> 00:36:17,440 Usted pondría a 0,03% si querías 759 00:36:17,440 --> 00:36:20,207 tres decimales. 760 00:36:20,207 --> 00:36:23,793 >> PÚBLICO: ¿Y mandamientos, ¿cuál es la diferencia entre 761 00:36:23,793 --> 00:36:26,330 y que acaba de hacer, mientras que en la parte superior? 762 00:36:26,330 --> 00:36:30,540 DAN BRADLEY: Así que un do-while frente a un bucle while son dos 763 00:36:30,540 --> 00:36:32,950 comandos bastante similares. 764 00:36:32,950 --> 00:36:36,810 La única diferencia es que ejecute el código una vez, se corre el 765 00:36:36,810 --> 00:36:40,510 código dentro del bucle una vez antes 766 00:36:40,510 --> 00:36:42,940 hacer cualquier comprobación real. 767 00:36:42,940 --> 00:36:46,970 Así que es también la razón por la que podemos decir sin dar denominador 768 00:36:46,970 --> 00:36:48,970 un número. 769 00:36:48,970 --> 00:36:52,180 Así que si te dijera int denominador, a continuación, mientras que (denominador <= 770 00:36:52,180 --> 00:36:55,020 0), nunca podría incluso 771 00:36:55,020 --> 00:36:56,890 ejecutar el código en el interior. 772 00:36:56,890 --> 00:36:59,350 Se va a hacer el registro de entrada antes - 773 00:36:59,350 --> 00:37:00,600 tan aquí. 774 00:37:14,590 --> 00:37:19,020 Así que si yo tuviera este bucle mientras que aquí, yo tendría que tener 775 00:37:19,020 --> 00:37:25,280 denominador es igual, por ejemplo, -2 o un número menor 776 00:37:25,280 --> 00:37:28,150 que o igual a 0 por lo que en realidad se trate de ejecutar el código 777 00:37:28,150 --> 00:37:30,130 interior primero. 778 00:37:30,130 --> 00:37:33,190 Así que en términos generales, usted desea utilizar un bucle do-while 779 00:37:33,190 --> 00:37:37,750 en lugar de un bucle while cuando usted está pidiendo la entrada del usuario 780 00:37:37,750 --> 00:37:41,820 porque una vez que se ejecuta el código, pidiendo algo que el usuario 781 00:37:41,820 --> 00:37:46,920 le dará a usted es en general la mejor solución, en lugar de 782 00:37:46,920 --> 00:37:50,250 a sólo confiar en lo que pones para empezar. 783 00:37:50,250 --> 00:37:53,290 PÚBLICO: ¿Y siempre es seguido por un tiempo. 784 00:37:53,290 --> 00:37:56,550 DAN BRADLEY: Do es seguido por algún trozo de código que 785 00:37:56,550 --> 00:38:01,470 desea ejecutar y, a continuación, mientras que algunas condición. 786 00:38:01,470 --> 00:38:03,820 LEXI ROSS: Piense en ello como una especie de comando roto 787 00:38:03,820 --> 00:38:04,390 en dos partes. 788 00:38:04,390 --> 00:38:06,836 Es un do-while, no como aquí hay un hacer, y luego soy yo 789 00:38:06,836 --> 00:38:10,655 va a agregar un tiempo, es sólo un do-while. 790 00:38:10,655 --> 00:38:13,322 >> AUDIENCIA: Entiendo la razón por la que está utilizando el 791 00:38:13,322 --> 00:38:15,990 dos signos de porcentaje, pero ¿puedes explicarme por qué tenemos que 792 00:38:15,990 --> 00:38:19,390 tiene el [inaudible]? 793 00:38:19,390 --> 00:38:22,690 Dan Bradley: Bueno, por lo que el signo de porcentaje se está diciendo 794 00:38:22,690 --> 00:38:26,150 printf, aquí es un comando que quiero que 795 00:38:26,150 --> 00:38:28,380 rellenar con algún número. 796 00:38:28,380 --> 00:38:31,750 Así que quiero que usted lo llene con dos decimales y un 797 00:38:31,750 --> 00:38:35,080 flotar, y encontrará el flotador al final de la 798 00:38:35,080 --> 00:38:37,548 comando, es este porcentaje. 799 00:38:37,548 --> 00:38:39,407 ¿Eso tiene sentido? 800 00:38:39,407 --> 00:38:39,894 AUDIENCIA: Yep. 801 00:38:39,894 --> 00:38:41,355 Dan Bradley: Muy bien. 802 00:38:41,355 --> 00:38:44,764 >> AUDIENCIA: ¿Hay algo sobre el bucle do-while que 803 00:38:44,764 --> 00:38:49,390 si la condición no se cumple, si se obtiene un 804 00:38:49,390 --> 00:38:52,324 número negativo para el numerador, lo voy a seguir 805 00:38:52,324 --> 00:38:57,200 preguntar y se sigue preguntando el usuario? 806 00:38:57,200 --> 00:38:57,400 Dan Bradley: Si. 807 00:38:57,400 --> 00:39:02,230 Entonces, si la condición de tiempo no se cumple en el extremo de 808 00:39:02,230 --> 00:39:04,200 el do-while, que va a funcionar de nuevo al comienzo. 809 00:39:04,200 --> 00:39:05,860 Es sólo un bucle. 810 00:39:05,860 --> 00:39:08,000 Así que es como un bucle while que la enfermedad no ha sido 811 00:39:08,000 --> 00:39:09,250 cumplido sucesivamente. 812 00:39:10,930 --> 00:39:13,740 Sólo se ejecuta una vez más. 813 00:39:13,740 --> 00:39:14,558 Si. 814 00:39:14,558 --> 00:39:18,302 AUDIENCIA: Así que si usted está haciendo esto, ¿verdad, por tu tiempo, 815 00:39:18,302 --> 00:39:22,430 puso dos condiciones? 816 00:39:22,430 --> 00:39:24,452 DAN BRADLEY: Puedes. 817 00:39:24,452 --> 00:39:26,350 Depende de lo que estás pidiendo. 818 00:39:26,350 --> 00:39:35,150 Así que usted puede poner dos condiciones en un bucle while si lo tiene 819 00:39:35,150 --> 00:39:39,470 todo dentro de una especie de operador booleano, que suena 820 00:39:39,470 --> 00:39:44,740 feo, pero es básicamente este denominador es menor o 821 00:39:44,740 --> 00:39:48,730 igual a cero, o bien devuelve verdadero o falso, ¿no? 822 00:39:48,730 --> 00:39:51,760 O es menor que o igual a cero o no. 823 00:39:51,760 --> 00:39:55,640 Así que usted puede hacer otros operadores booleanos que voy a decir, mientras 824 00:39:55,640 --> 00:39:59,020 esto también es verdad o mientras que este también es falso. 825 00:39:59,020 --> 00:40:04,630 Así que cosas como el y el numerador es mayor que 826 00:40:04,630 --> 00:40:05,770 cero, ¿no? 827 00:40:05,770 --> 00:40:10,130 Eso es pedir, esto va solo bucle while denominador es menor 828 00:40:10,130 --> 00:40:12,496 de cero y tiene un numerador positivo. 829 00:40:12,496 --> 00:40:13,700 AUDIENCIA: ¿Y que haces las dos AND, ¿verdad? 830 00:40:13,700 --> 00:40:14,545 Dan Bradley: Dos AND. 831 00:40:14,545 --> 00:40:17,120 LEXI ROSS: Vamos a cubrir que más tarde. 832 00:40:17,120 --> 00:40:20,620 >> PÚBLICO: ¿Qué pasa si alguien no pone de manera positiva 833 00:40:20,620 --> 00:40:22,018 denominador? 834 00:40:22,018 --> 00:40:26,410 Si ponen en un numerador negativo, ¿puede solicitar 835 00:40:26,410 --> 00:40:27,540 a, por ejemplo, poner en un numerador no negativo y tienen 836 00:40:27,540 --> 00:40:30,460 un comando para eso? 837 00:40:30,460 --> 00:40:30,980 Dan Bradley: Podrías. 838 00:40:30,980 --> 00:40:32,066 AUDIENCIA: En este momento sólo dice no negativo numerador. 839 00:40:32,066 --> 00:40:33,690 Lo que se utiliza para que? 840 00:40:33,690 --> 00:40:38,230 DAN BRADLEY: ¿Entonces usted tendría si una condición, por lo que si desea 841 00:40:38,230 --> 00:40:42,282 numerador es menor que cero. 842 00:40:42,282 --> 00:40:43,960 LEXI ROSS: Usted probablemente sólo quiero dividirlo en más 843 00:40:43,960 --> 00:40:44,810 pasos, ¿no? 844 00:40:44,810 --> 00:40:49,660 Así que la primera vez que se pone en la entrada, que acababa de decir dar 845 00:40:49,660 --> 00:40:50,880 nosotros un numerador o lo que sea. 846 00:40:50,880 --> 00:40:53,430 Y si lo hacen mal las cosas, este podría ser el caso 847 00:40:53,430 --> 00:40:55,570 para un bucle mientras que, en lugar de un do-while, porque tenemos 848 00:40:55,570 --> 00:41:01,460 la primera vez que tenemos la getInt, a continuación, mientras que la entrada 849 00:41:01,460 --> 00:41:04,040 es malo, seguimos pidiéndoles entrada adicional con un 850 00:41:04,040 --> 00:41:10,560 tipo diferente de texto, como que no funcionó o hacernos una 851 00:41:10,560 --> 00:41:12,760 no negativo numerador por el contrario, ese tipo de cosas. 852 00:41:17,670 --> 00:41:19,143 >> DAN BRADLEY: ¿Sí? 853 00:41:19,143 --> 00:41:22,089 PÚBLICO: ¿Cómo se resuelven las cosas que [inaudible] 854 00:41:22,089 --> 00:41:23,562 el terminal? 855 00:41:23,562 --> 00:41:25,526 LEXI ROSS: Bueno. 856 00:41:25,526 --> 00:41:27,140 DAN BRADLEY: Sí, no se puede escribir en él. 857 00:41:27,140 --> 00:41:28,710 LEXI ROSS: En realidad, no se trata de un terminal real. 858 00:41:28,710 --> 00:41:31,170 La pregunta era ¿cómo borrar esas cosas ahí abajo? 859 00:41:31,170 --> 00:41:33,200 La respuesta es que no es un terminal real, pero vamos a decir que 860 00:41:33,200 --> 00:41:34,450 están en un terminal real. 861 00:41:42,420 --> 00:41:45,200 Clear. 862 00:41:45,200 --> 00:41:46,450 Oh, es un gato. 863 00:41:53,940 --> 00:41:55,190 Dan Bradley: [inaudible]? 864 00:41:59,500 --> 00:42:01,120 Es así, ¿verdad? 865 00:42:01,120 --> 00:42:01,790 LEXI ROSS: No, eso es todo mis cosas. 866 00:42:01,790 --> 00:42:03,040 Dan Bradley: [inaudible]. 867 00:42:05,300 --> 00:42:07,912 LEXI ROSS: Eso es. 868 00:42:07,912 --> 00:42:08,340 DAN BRADLEY: ¿Sí? 869 00:42:08,340 --> 00:42:10,030 >> PÚBLICO: ¿Funciona claro si usted tiene - 870 00:42:10,030 --> 00:42:12,787 como, por ejemplo se ejecuta un programa [inaudible] y se está pidiendo 871 00:42:12,787 --> 00:42:15,315 por algo, y no quiero hacerlo. 872 00:42:15,315 --> 00:42:16,080 La forma de hacerlo - 873 00:42:16,080 --> 00:42:17,200 Dan Bradley: Control + C? 874 00:42:17,200 --> 00:42:17,780 LEXI ROSS: Eso es. 875 00:42:17,780 --> 00:42:20,640 Así que si usted está funcionando un programa y hay algo que no va por el 876 00:42:20,640 --> 00:42:22,410 manera que usted lo quiere y lo que desea para salir del conjunto 877 00:42:22,410 --> 00:42:25,560 programa, Control + C. Incluso si estás en un Mac, no Apple + C, 878 00:42:25,560 --> 00:42:34,341 Control + C. 879 00:42:34,341 --> 00:42:35,523 AUDIENCIA: ¿Usted tiene la versión correcta de la 880 00:42:35,523 --> 00:42:36,820 revisión en su perfil? 881 00:42:36,820 --> 00:42:39,780 Dan Bradley: Creo que ha salvado, ¿no? 882 00:42:39,780 --> 00:42:40,350 Si. 883 00:42:40,350 --> 00:42:41,040 LEXI ROSS: Este es el espacio. 884 00:42:41,040 --> 00:42:42,290 Si. 885 00:42:49,685 --> 00:42:57,496 Creo que es revisión 11. 886 00:42:57,496 --> 00:42:59,468 >> DAN BRADLEY: ¿Sí? 887 00:42:59,468 --> 00:43:02,426 Audiencia: ¿C hacer ninguna suposición acerca de lo que es un 888 00:43:02,426 --> 00:43:05,877 variable es si se define una variable pero no asigna 889 00:43:05,877 --> 00:43:07,590 algo que de inmediato? 890 00:43:07,590 --> 00:43:11,380 DAN BRADLEY: ¿Así que sólo voy a aceptar enteros en ese lugar. 891 00:43:11,380 --> 00:43:13,980 Así que si se declara - 892 00:43:13,980 --> 00:43:16,842 AUDIENCIA: Si yo acabo de hacer int denominador punto y coma, lo hace 893 00:43:16,842 --> 00:43:18,750 asume que es igual a cero o cualquier número -? 894 00:43:18,750 --> 00:43:20,210 Dan Bradley: Nope. 895 00:43:20,210 --> 00:43:25,920 Así que si no se asigna, por ejemplo, int denominador en cualquier valor, 896 00:43:25,920 --> 00:43:28,860 podría ser cualquier cosa. 897 00:43:28,860 --> 00:43:31,150 Es la memoria de edad que se encontraba en ese lugar. 898 00:43:31,150 --> 00:43:34,050 Por lo tanto, podría ser negativo 2 mil millones, podría ser positivo 899 00:43:34,050 --> 00:43:38,030 2 mil millones, y podría estar en cualquier lugar en el medio. 900 00:43:38,030 --> 00:43:44,170 Así que si usted está realmente manejando las cosas, asegúrese de que usted 901 00:43:44,170 --> 00:43:46,080 asignar un valor a las variables. 902 00:43:46,080 --> 00:43:49,050 Esto, no importa porque somos inmediatamente 903 00:43:49,050 --> 00:43:52,580 asignando el valor, pero en términos generales, sí. 904 00:44:01,660 --> 00:44:04,640 ¿Alguna otra pregunta? 905 00:44:04,640 --> 00:44:06,300 >> LEXI ROSS: También se puede simplemente tomar preguntas en general en este 906 00:44:06,300 --> 00:44:10,600 punto en el material de lectura, material p set, todo lo que tengo 907 00:44:10,600 --> 00:44:15,363 estado preguntando, este es un buen momento para hacer eso. 908 00:44:15,363 --> 00:44:16,325 AUDIENCIA: Así que en los tutoriales, Zamyla 909 00:44:16,325 --> 00:44:17,768 mencionó la función de redondeo. 910 00:44:17,768 --> 00:44:21,540 ¿Le importaría elaborar sobre cómo implementar eso? 911 00:44:21,540 --> 00:44:22,940 LEXI ROSS: Claro, cómo implementar eso? 912 00:44:22,940 --> 00:44:25,700 AUDIENCIA: Me dijo que era redonda. 913 00:44:25,700 --> 00:44:26,580 LEXI ROSS: Oh yeah. 914 00:44:26,580 --> 00:44:29,880 Así que, así que todos tenemos el mismo vocabulario y esas cosas, 915 00:44:29,880 --> 00:44:33,070 implementar generalmente significa realmente escribir desde cero. 916 00:44:33,070 --> 00:44:35,530 Así que no creo que ella estaba hablando de una especie de escritura 917 00:44:35,530 --> 00:44:36,010 la función de redondeo. 918 00:44:36,010 --> 00:44:37,820 Probablemente sólo quería decir cómo usarlo. 919 00:44:37,820 --> 00:44:41,900 Implementar significa algo así como crear. 920 00:44:41,900 --> 00:44:48,670 Así que en general, un tiempo en el que desea utilizar la función de redondeo que se 921 00:44:48,670 --> 00:44:49,170 Es decir, una especie de, por ejemplo, 922 00:44:49,170 --> 00:44:50,260 si usted desea redondear. 923 00:44:50,260 --> 00:44:53,140 ¿Me puede dar un contexto un poco más sobre lo que el 924 00:44:53,140 --> 00:44:53,907 problema era? 925 00:44:53,907 --> 00:44:56,192 AUDIENCIA: Para evitar las imprecisiones de decimales 926 00:44:56,192 --> 00:44:58,480 por lo que un flotador. 927 00:44:58,480 --> 00:44:59,020 LEXI ROSS: Eso es. 928 00:44:59,020 --> 00:45:02,770 Así que el problema con los flotadores que hemos aludido tipo de es 929 00:45:02,770 --> 00:45:04,820 que, debido a la forma en que está almacenado en la máquina, 930 00:45:04,820 --> 00:45:08,700 no es 100% preciso en la forma en que se podría pensar 931 00:45:08,700 --> 00:45:10,060 la calculadora se almacenarlos. 932 00:45:13,560 --> 00:45:16,560 Es difícil para mí para mostrar un ejemplo sin saber lo que 933 00:45:16,560 --> 00:45:17,750 el contexto era. 934 00:45:17,750 --> 00:45:18,920 No sé, ¿puedes pensar en algo, Dan? 935 00:45:18,920 --> 00:45:23,120 >> Dan Bradley: Así que si usted está pidiendo, por ejemplo, los números de 936 00:45:23,120 --> 00:45:26,590 mayor de 10 y que está utilizando flotadores, y va a añadir un 937 00:45:26,590 --> 00:45:30,810 a un flotador cada vez, a veces va a esperar hasta que haya 938 00:45:30,810 --> 00:45:34,470 llegado al 12 antes de que va a decir que esto es realmente un número 939 00:45:34,470 --> 00:45:36,520 mayor que 10. 940 00:45:36,520 --> 00:45:42,530 Flotadores tener algunos problemas serios sólo entre el 32 º 941 00:45:42,530 --> 00:45:49,970 y el lugar 33 decimal que va a ir, por lo que podría 9,9999999, o 942 00:45:49,970 --> 00:45:53,210 podría ser 10.0000001, ¿verdad? 943 00:45:53,210 --> 00:45:55,680 En realidad no distinguir entre los dos, así que si eres 944 00:45:55,680 --> 00:45:59,310 esperando que las cosas superiores o iguales a 10, es posible que 945 00:45:59,310 --> 00:46:03,440 no llegar a lo que crees que es la iteración 10. 946 00:46:03,440 --> 00:46:07,760 Es posible llegar en el 11. 947 00:46:07,760 --> 00:46:08,980 LEXI ROSS: En esencia, sí. 948 00:46:08,980 --> 00:46:11,490 Cuando estás recorrer una gran cantidad de carrozas, que es cuando el 949 00:46:11,490 --> 00:46:13,276 imprecisiones suceder. 950 00:46:13,276 --> 00:46:18,350 AUDIENCIA: Me parece, por lo que, básicamente, es como en el p 951 00:46:18,350 --> 00:46:24,030 establecido, quiere que redondear el valor float, y si se pone en 952 00:46:24,030 --> 00:46:29,940 4,24 para la cantidad de cambio que necesita de nuevo, si usted acaba de hacer 953 00:46:29,940 --> 00:46:33,970 por 100, lo que realmente va a cambiar en 423 - 954 00:46:33,970 --> 00:46:34,460 Dan Bradley: A veces, sí. 955 00:46:34,460 --> 00:46:36,974 AUDIENCIA: Así que creo que es igual, ¿cómo usar la ronda 956 00:46:36,974 --> 00:46:39,390 función en el código real para que así no se hace eso? 957 00:46:39,390 --> 00:46:44,390 DAN BRADLEY: Así que si estás redondeando 424 multiplicándolo 958 00:46:44,390 --> 00:46:48,320 por 100 y lo que lo convierte en un número entero, algunas veces será 959 00:46:48,320 --> 00:46:52,130 hace 423 debido a que la imprecisión. 960 00:46:52,130 --> 00:46:58,926 Y así las cosas que usted puede hacer es simplemente añadir 0.0000003. 961 00:46:58,926 --> 00:47:00,744 AUDIENCIA: Pero creo que, en realidad, quieren 962 00:47:00,744 --> 00:47:02,400 que usemos la ronda. 963 00:47:02,400 --> 00:47:03,250 Dan Bradley: La función de ronda? 964 00:47:03,250 --> 00:47:06,310 Probablemente hay una función matemática, algo en el 965 00:47:06,310 --> 00:47:06,996 matemáticas de la biblioteca. 966 00:47:06,996 --> 00:47:07,910 AUDIENCIA: # include matemáticas. 967 00:47:07,910 --> 00:47:10,150 Dan Bradley: # include , y hay 968 00:47:10,150 --> 00:47:10,990 probablemente una función de redondeo. 969 00:47:10,990 --> 00:47:12,480 AUDIENCIA: Al igual round () -? 970 00:47:12,480 --> 00:47:13,840 LEXI ROSS: Básicamente, porque se va a redondear a 971 00:47:13,840 --> 00:47:14,720 centavo más cercano. 972 00:47:14,720 --> 00:47:16,440 Dan Bradley: Vamos a arrancar las páginas de manual. 973 00:47:16,440 --> 00:47:19,460 Así que una herramienta muy útil, si usted no sabe - 974 00:47:19,460 --> 00:47:21,800 que tire hacia arriba el terminal - 975 00:47:21,800 --> 00:47:23,670 es que si vas a las matemáticas hombre. 976 00:47:27,272 --> 00:47:29,030 LEXI ROSS: Cool. 977 00:47:29,030 --> 00:47:34,970 >> Así que usted puede ver, el hombre es la abreviatura de manual no, hombre, y 978 00:47:34,970 --> 00:47:37,660 que le permite buscar más información sobre un determinado 979 00:47:37,660 --> 00:47:40,000 función o biblioteca que usted puede estar tratando. 980 00:47:40,000 --> 00:47:44,040 Así que me acaba de escribir en matemáticas hombre. 981 00:47:44,040 --> 00:47:45,290 Permítanme zoom in 982 00:47:50,990 --> 00:47:52,610 DAN BRADLEY: Podemos intentar ronda hombre, también. 983 00:47:52,610 --> 00:47:55,060 LEXI ROSS: Claro. 984 00:47:55,060 --> 00:47:56,870 DAN BRADLEY: ¿Y esto mostrará a cabo - 985 00:47:56,870 --> 00:48:00,640 matemáticas hombre a enumerar todo lo que hay en la biblioteca de matemáticas, 986 00:48:00,640 --> 00:48:02,820 que vamos a incluir. 987 00:48:02,820 --> 00:48:04,080 Sí, también tenemos todo el año. 988 00:48:04,080 --> 00:48:06,690 LEXI ROSS: ¿Así que acabo de hacer todo el hombre. 989 00:48:06,690 --> 00:48:10,460 Se puede ver aquí en la sinopsis, que dice # include 990 00:48:10,460 --> 00:48:16,510 , así que es algo así como cs50.h, stdio.h. 991 00:48:16,510 --> 00:48:19,020 Y parece que en realidad está sobrecargado, lo que significa 992 00:48:19,020 --> 00:48:22,930 que toma diferentes tipos de argumentos, por lo que se puede redondear 993 00:48:22,930 --> 00:48:24,320 dobles o flotadores. 994 00:48:24,320 --> 00:48:26,740 Dan Bradley: Round frente roundf. 995 00:48:26,740 --> 00:48:27,335 LEXI ROSS: Roundf. 996 00:48:27,335 --> 00:48:30,128 ¿Sabía Zamyla mencionar roundf o redonda? 997 00:48:30,128 --> 00:48:34,120 PÚBLICO: En el tutorial, que era sólo round (). 998 00:48:34,120 --> 00:48:36,780 Dan Bradley: Está bien, así que probablemente estaba usando el doble, 999 00:48:36,780 --> 00:48:39,110 a continuación, en contraposición a un flotador. 1000 00:48:39,110 --> 00:48:43,080 Bien, así que tendría que multiplicar por 100 y luego se redondea, y 1001 00:48:43,080 --> 00:48:47,950 se obtendría el número más cercano a él, creo. 1002 00:48:47,950 --> 00:48:50,450 >> LEXI ROSS: Entonces la función round devuelve la integral 1003 00:48:50,450 --> 00:48:53,760 valor más cercano a x redondeo de reinserción de los casos fuera de 0, 1004 00:48:53,760 --> 00:48:55,850 independientemente de la dirección actual de redondeo. 1005 00:48:55,850 --> 00:49:00,160 Así que, esencialmente, que se va a redondear sólo una vez que estás en 1006 00:49:00,160 --> 00:49:01,830 un valor entero, por lo que se multiplica por 1007 00:49:01,830 --> 00:49:03,896 100 y luego todo el año. 1008 00:49:03,896 --> 00:49:05,787 ¿Eso tiene más sentido? 1009 00:49:05,787 --> 00:49:10,580 AUDIENCIA: Para usar esta función en un archivo de C, lo que necesita para 1010 00:49:10,580 --> 00:49:15,475 poner flotador redondo, como si la variable se denomina q, qué 1011 00:49:15,475 --> 00:49:21,216 poner round (float) q, y luego de un paréntesis, o puede 1012 00:49:21,216 --> 00:49:23,770 simplemente hay que poner todo el año, y luego q entre paréntesis? 1013 00:49:23,770 --> 00:49:27,180 Dan Bradley: Así que si estás tratando de utilizar esta función 1014 00:49:27,180 --> 00:49:33,360 en realidad, tendría que tomar q, q es un flotador, 1015 00:49:33,360 --> 00:49:34,995 o ¿cómo se declara? 1016 00:49:34,995 --> 00:49:35,980 AUDIENCIA: Q es un flotador. 1017 00:49:35,980 --> 00:49:39,080 Dan Bradley: Entonces si q se declara como un flotador, lo haría 1018 00:49:39,080 --> 00:49:42,150 acaba de tomar todo el año, y luego darle q. 1019 00:49:42,150 --> 00:49:45,770 Usted podría tener que declarar como un doble en este caso. 1020 00:49:45,770 --> 00:49:47,170 LEXI ROSS: Sí, a menos que desee utilizar roundf. 1021 00:49:47,170 --> 00:49:50,620 AUDIENCIA: tan sólo pudiera utilizar roundf, y entonces q entre comillas? 1022 00:49:50,620 --> 00:49:53,706 Dan Bradley: No, no, entre comillas, sólo q. 1023 00:49:53,706 --> 00:49:55,542 AUDIENCIA: Lo sentimos, no entre comillas, paréntesis. 1024 00:49:55,542 --> 00:49:56,792 Dan Bradley: En los paréntesis, sí. 1025 00:50:00,330 --> 00:50:02,040 LEXI ROSS: Lo siento que fue un poco confuso. 1026 00:50:02,040 --> 00:50:03,067 Algo más preguntas? 1027 00:50:03,067 --> 00:50:04,041 >> DAN BRADLEY: ¿Sí? 1028 00:50:04,041 --> 00:50:07,450 AUDIENCIA: sólo redondos Así ida y vuelta a los números enteros? 1029 00:50:07,450 --> 00:50:08,920 LEXI ROSS: Sí. 1030 00:50:08,920 --> 00:50:11,020 Dan Bradley: Sí, redondas rondas sólo a números enteros. 1031 00:50:11,020 --> 00:50:13,030 AUDIENCIA: Así que si quería tener algo exacto que 1032 00:50:13,030 --> 00:50:15,146 necesitaba ser [inaudible] multiplicado por 100 y luego 1033 00:50:15,146 --> 00:50:17,536 dividido por 100 de nuevo si quería - 1034 00:50:20,410 --> 00:50:23,497 LEXI Ross: Así que si quería entrar en una forma decimal? 1035 00:50:23,497 --> 00:50:27,224 AUDIENCIA: Bueno, el ejemplo, por ejemplo, [inaudible] que 1036 00:50:27,224 --> 00:50:30,732 tienen 1,25, y luego [inaudible] 1037 00:50:30,732 --> 00:50:36,100 1,24, si se quería mantener eso como 1,25, lo haría 1038 00:50:36,100 --> 00:50:39,516 multiplicar por 100, se redondea, y luego se divide por 100 1039 00:50:39,516 --> 00:50:41,480 de nuevo para obtener 1,25? 1040 00:50:41,480 --> 00:50:41,860 LEXI ROSS: Eso es. 1041 00:50:41,860 --> 00:50:46,770 Así que la pregunta es, ya que el redondeo, ya que la página de manual 1042 00:50:46,770 --> 00:50:50,470 dice, se redondea al valor entero más cercano, ¿significa 1043 00:50:50,470 --> 00:50:53,420 que uno quiere multiplicar por 100, lo 1044 00:50:53,420 --> 00:50:56,260 redondeo, y se dividen en 100 de nuevo para, por ejemplo, obtener la correcta 1045 00:50:56,260 --> 00:50:58,750 dólares y centavos de valor? 1046 00:50:58,750 --> 00:51:02,000 Y la respuesta es - 1047 00:51:02,000 --> 00:51:02,160 Dan Bradley: No. 1048 00:51:02,160 --> 00:51:04,840 Quiero decir, si usted está recibiendo un valor en coma flotante, si se inicia 1049 00:51:04,840 --> 00:51:08,730 con un valor flotante de 1,25, eso es lo que va a ser 1050 00:51:08,730 --> 00:51:10,260 interpretado. 1051 00:51:10,260 --> 00:51:13,790 Así que si lo multiplicamos por 100 y luego dividir por 100, 1052 00:51:13,790 --> 00:51:17,130 todavía va a ser interpretado como 1,25, o 1053 00:51:17,130 --> 00:51:18,260 posiblemente 1,249 ... 1054 00:51:18,260 --> 00:51:19,440 .. 999. 1055 00:51:19,440 --> 00:51:21,630 LEXI ROSS: Creo que la pregunta era, ¿verdad 1056 00:51:21,630 --> 00:51:24,850 se multiplican, a continuación, utilizar todo el año, y se divide, por lo que es - 1057 00:51:24,850 --> 00:51:25,290 Dan Bradley: Si. 1058 00:51:25,290 --> 00:51:27,530 Yo todavía no creo que cambie nada, sin embargo. 1059 00:51:27,530 --> 00:51:28,000 Creo que es todavía. 1060 00:51:28,000 --> 00:51:30,550 LEXI ROSS: Porque ronda hace - que utiliza números enteros. 1061 00:51:30,550 --> 00:51:34,080 Así que si usted trata de alrededor de 1,25, que acaba de obtener 1. 1062 00:51:34,080 --> 00:51:36,570 Así que creo que con el fin de obtener como la precisión adicional, 1063 00:51:36,570 --> 00:51:37,720 si eso es lo que estás hablando. 1064 00:51:37,720 --> 00:51:42,260 >> AUDIENCIA: ¿Entonces en qué casos se utiliza todo el año, entonces? 1065 00:51:42,260 --> 00:51:44,920 DAN BRADLEY: Así que en este caso, si desea, por ejemplo, el número 1066 00:51:44,920 --> 00:51:51,570 de centavos de $ 1,25, que te multiplique por 100, ronda, obtener 1067 00:51:51,570 --> 00:51:56,980 125, y dejarlo como que, como centavos, en lugar de tratar a los 1068 00:51:56,980 --> 00:51:58,760 convierten a dólares y centavos. 1069 00:51:58,760 --> 00:52:02,092 LEXI ROSS: Oh sí, sí, seguro. 1070 00:52:02,092 --> 00:52:04,948 PÚBLICO: ¿Por qué necesita para redondear que [inaudible]? 1071 00:52:07,810 --> 00:52:10,740 DAN BRADLEY: Así que si lo multiplicamos por 100 y luego 1072 00:52:10,740 --> 00:52:14,060 inmediatamente convertirlo en un entero, que es el más 1073 00:52:14,060 --> 00:52:17,950 forma útil, es cuando usted se ocupa de que 1074 00:52:17,950 --> 00:52:19,470 imprecisión, ¿verdad? 1075 00:52:19,470 --> 00:52:26,450 Así que podría ser 124.999999, y si es así, a continuación, convertir a ese 1076 00:52:26,450 --> 00:52:29,480 un entero, se deja caer todo lo que fuera que está por debajo de 1077 00:52:29,480 --> 00:52:29,930 el decimal. 1078 00:52:29,930 --> 00:52:31,160 AUDIENCIA: ¿Así que te doy [inaudible]. 1079 00:52:31,160 --> 00:52:34,960 DAN BRADLEY: Exactamente, en lugar de 125, que es 1080 00:52:34,960 --> 00:52:37,074 razón por la que desea redondear. 1081 00:52:37,074 --> 00:52:38,850 >> AUDIENCIA: Lo siento, ¿podría repetir lo que ha dicho usted 1082 00:52:38,850 --> 00:52:40,680 debe hacer frente a lo que no debes hacer? 1083 00:52:40,680 --> 00:52:40,910 Dan Bradley: Muy bien. 1084 00:52:40,910 --> 00:52:45,725 Así que lo que debe hacer es si usted comienza con 1,25, multiplicar 1085 00:52:45,725 --> 00:52:51,960 por 100, y después de que la vuelta de número entero, que 125 o 1086 00:52:51,960 --> 00:52:56,420 124.9999, y conseguir que al entero más cercano. 1087 00:52:56,420 --> 00:52:58,420 AUDIENCIA: Así que si usted alrededor, que pone 1088 00:52:58,420 --> 00:52:59,920 al entero más cercano? 1089 00:52:59,920 --> 00:53:01,420 Dan Bradley: Si. 1090 00:53:01,420 --> 00:53:07,420 PÚBLICO: ¿Hay una manera de limitar, si usted pide un flotador 1091 00:53:07,420 --> 00:53:10,920 lo que quieras hacer, ¿hay una manera de limitar la cantidad de decimales 1092 00:53:10,920 --> 00:53:13,920 lugares que se pueden ingresar un flotador? 1093 00:53:13,920 --> 00:53:16,210 LEXI ROSS: No se utiliza la implementación del CS50. 1094 00:53:16,210 --> 00:53:22,560 Quiero decir, usted puede contar con el tamaño de la entrada viene dada por 1095 00:53:22,560 --> 00:53:25,020 el usuario, pero que requeriría una nueva implementación 1096 00:53:25,020 --> 00:53:29,780 de GetFloat, y por lo que no tiene que preocuparse por eso. 1097 00:53:29,780 --> 00:53:34,850 DAN BRADLEY: Así que si, por ejemplo, la entrada de 1,256, sólo podría 1098 00:53:34,850 --> 00:53:38,310 utilizar 1,25, o usted podría hacer 1,26. 1099 00:53:38,310 --> 00:53:40,450 De cualquier manera, creo que la aplicación dice que puede - 1100 00:53:40,450 --> 00:53:41,860 AUDIENCIA: Usted sólo puede haber vuelta a - 1101 00:53:41,860 --> 00:53:46,860 DAN BRADLEY: Sea lo que quiere, sí, siempre y cuando lo hace 1102 00:53:46,860 --> 00:53:48,110 algún tipo de redondeo. 1103 00:53:51,410 --> 00:53:53,950 ¿Algo más? 1104 00:53:53,950 --> 00:53:55,200 No tiene que ser de redondeo. 1105 00:54:00,886 --> 00:54:01,374 LEXI ROSS: ¿Sí? 1106 00:54:01,374 --> 00:54:03,814 >> AUDIENCIA: Si queremos comprobar si el estilo de nuestra 1107 00:54:03,814 --> 00:54:06,285 código es adecuado o el mejor estilo 1108 00:54:06,285 --> 00:54:08,585 que puede ser, es que el tipo de cosas que había que aparezca en 1109 00:54:08,585 --> 00:54:11,460 sección, o en horas de oficina, o es que el tipo de cosas 1110 00:54:11,460 --> 00:54:15,582 podemos publicar en privado en la cosa, en la discusión, a continuación, 1111 00:54:15,582 --> 00:54:17,280 pedir consejo sobre? 1112 00:54:17,280 --> 00:54:20,400 LEXI ROSS: Entonces no lo hacemos, en horas de oficina o en CS50 1113 00:54:20,400 --> 00:54:23,510 Discutir, nosotros en realidad no calificar su conjunto p de antemano 1114 00:54:23,510 --> 00:54:26,420 por el estilo, pero creo que probablemente lo más útil 1115 00:54:26,420 --> 00:54:29,800 cosa que podía hacer era mirar ejemplos, y 1116 00:54:29,800 --> 00:54:35,290 debe ser capaz de encontrar que en el código de la sección, que debe ser 1117 00:54:35,290 --> 00:54:39,290 distribuido en línea, así como las transparencias de clase, hay 1118 00:54:39,290 --> 00:54:40,730 deben ser ejemplos de código. 1119 00:54:40,730 --> 00:54:43,150 Pero si usted tiene preguntas individuales sobre un determinado 1120 00:54:43,150 --> 00:54:46,300 cuestión de estilo, sin duda no dude en hacer que el CS50 1121 00:54:46,300 --> 00:54:49,320 Discutir, y las horas de oficina, o en su propio tiempo. 1122 00:54:49,320 --> 00:54:52,330 Pero si es más una mirada general a mi código, lo mejor es 1123 00:54:52,330 --> 00:54:55,610 tipo de ejemplos de uso y tratar de adaptarse a su código para eso. 1124 00:54:55,610 --> 00:54:57,560 Y creo que es una guía de estilo en - 1125 00:54:57,560 --> 00:54:58,640 DAN BRADLEY: Ahí está la guía de estilo. 1126 00:54:58,640 --> 00:54:59,830 La guía de estilo es impresionante. 1127 00:54:59,830 --> 00:55:03,670 Se le enseña todo lo que necesita, y cubre bastante 1128 00:55:03,670 --> 00:55:07,710 mucho todos los ejemplos conocidos por el hombre, o al menos que yo conozca. 1129 00:55:10,750 --> 00:55:12,000 >> ¿Algo más? 1130 00:55:14,830 --> 00:55:15,275 Está bien. 1131 00:55:15,275 --> 00:55:15,840 Cool Guys,. 1132 00:55:15,840 --> 00:55:16,440 LEXI ROSS: Que tengas un día genial. 1133 00:55:16,440 --> 00:55:17,690 DAN BRADLEY: Gracias por venir.