[Powered by Google Translate] LEXI ROSS: Bueno, hola a todos. Bienvenidos a la primera CS50 supersección. Esta será la única semana de supersections. Después de esto, se le va a regular con su sección asignado TF. Pero esta semana, lo estamos haciendo en un poco de una diferente formato, aunque el formato actual, cómo se va a ir durante la siguiente hora y media más o menos, va a ser bastante similar a lo que se le viera por el resto del semestre. Entonces, ¿qué vamos a hacer es empezar por ir a través de la sección parte de su conjunto de problemas. Así que si usted ha leído sobre el conjunto p, que esperamos que pueda tener, verás que hay una parte que se llama "A la Sección de Preguntas ", y estos están destinados a estar fuera otra vez en sus secciones. Así que tienes una ventaja por estar aquí, en que se llega a repasar estas cuestiones más conceptuales basados. Y después de eso, vamos a ir en los dos últimos preguntas sección, que son más buceo a preguntas de codificación de tipo. Así que estamos realmente van a tener ustedes tomar unos pocos minutos para cada pregunta, trate de resolverlos por su cuenta, y entonces vamos a reunirse con el nuevo CS50 Espacios de herramientas y repasar las respuestas para que todos tengan la código correcto para su revisión. Así que un par de anuncios. No se olvide que hay horario de oficina cada noche de esta semana en Annenberg 8 a 11, por lo que toman ventaja de aquellos. Y también, no arranque el p demasiado tarde en la semana. Comience esta noche o mañana por la noche a más tardar. Usted se arrepentirá si usted espera demasiado tiempo para empezar y que tenga problemas. Así que nuestro consejo y definitivamente comenzar temprano. Esto va a ser una buena manera de empezar a trabajar con estas preguntas de sección. Así que estoy Lexi, por cierto. Soy un TF. Y este es Dan, que también es un TF. Dan Bradley: Hey, chicos. LEXI ROSS: Y él va a conseguir comenzó con las preguntas. Dan Bradley: Muy bien. Así que voy a introducir un poco compilador pareja cuestiones que vamos a hablar y sólo tiene que ir a través de algún tipo de ideas conceptuales que tenemos que ejecutar realmente código, ya sea en un aparato o con nuestra especie de falso electrodomésticos, Ejecutar CS50 y Spaces. Así que vamos a ver si alguien en la audiencia tiene alguna idea acerca de lo que estamos hablando. Entonces, ¿qué es una biblioteca en el contexto del código? Alguien tiene alguna idea? Bien. Sweet. PÚBLICO: Al igual que un balance de las funciones que otra persona ya está programado que podemos construir? Dan Bradley: Exactamente. Así que una biblioteca es un stock de funciones que otra persona ha programado ya que no tiene que nos vuelve a poner en práctica. Así que tenemos cosas como el estándar de E / S de la biblioteca, el cs50.h biblioteca, que son cosas que el mundo, la Internet, el personal ha hecho que hace que nuestra vida más fácil como codificadores. Entonces, ¿cómo imprimir las cosas a una pantalla? No tengo ni idea, printf lo hace por mí. Es algo que alguien más ya ha hecho que sea impresionante y funciona bastante bien. Bien. Así que para usar las bibliotecas, por otro lado, sin embargo, tiene para hacer realidad algunas cosas extra con su código. Así que hay que usar cosas como esta # include. ¿Qué significa eso? ¿Qué papel tiene que jugar cuando lo tienes en un programa? AUDIENCIA: Te permite hacer uso de todas las funciones que son [Inaudible] biblioteca por el simple uso de las definiciones que ya tienen [Inaudible] biblioteca. Dan Bradley: Muy bien. Te permite tirar las funciones de biblioteca en el código, pero lo hace de una manera que no es exactamente el mismo que como -Lcs50, que vamos a llegar en un minuto. Simplemente deja que el compilador sabe que hey, no son éstos funciones que van a surgir en su código. Tenga en cuenta que si no están completamente descritos en el código que está delante de ti, hay algo de función de biblioteca que se va a hacer cargo de ella. Así, en el caso de printf, que vamos a repasar un par los tiempos de hoy, es el estándar de E / S de la biblioteca. Así que aunque no se define printf cualquier parte de mi código embargo, la estándar de E / S se encarga de ello para mí, y voy a hacer # include stdio.h, y que se tire en estas funciones que no siempre han definido. Entonces, ¿cuál es la diferencia, entonces, entre el # include y-lcs50? ¿Qué hace-lcs50 hago cuando lo pasan a la compilador, como Clang? Alguien tiene alguna idea? Bien. ¿Sí? AUDIENCIA: Le permite acceder a la biblioteca CS50? DAN BRADLEY: Le permite acceder a la biblioteca CS50 en que le dice al compilador, Clang, que bueno, aquí es donde que seguir para conseguir estas funciones. Así que el # include dice que hay estas funciones en alguna parte. El lcs50-dice, voy a este lugar en el equipo - esa es la biblioteca CS50 - y tire hacia arriba el código real para estas funciones. ¿Eso tiene sentido, todo el mundo? Así que estas son todas las cosas que van a ayudar a su compilador junto con hacer que el código ejecuta realmente. Una pregunta rápida. ¿La gente sabe lo que es un compilador? Buen sentido? Se trata básicamente de tomar el código escrito que usted tiene, convertir a binario, la conversión en código de máquina, por lo que su computadora puede entender. Y sin más preámbulos, vamos a entrar en la más actuales ejercicios de codificación que ustedes van a pasar un buen rato hundiendo sus dientes en, y Lexi a ir sobre eso. LEXI ROSS: De acuerdo. Awesome. Así que vamos a ir más de dos preguntas aquí. Así que la primera es en realidad, se puede ver, es un poco pequeño aquí, pero esencialmente le está pidiendo que escribir un programa para tomar un poco de entrada del usuario. No estoy seguro de por qué hay un cuadrado negro allí. Es misterioso. Debe estar bien, sin embargo. Por lo tanto, quiere que usted tome una entrada de usuario en grados Celsius, convertir ese a Fahrenheit, y luego indicar al usuario cuál es la temperatura estaría en Fahrenheit. Así se puede ver una muestra de entrada / salida de secuencia aquí. Las entradas de usuario - después de Celsius, la negrita se refiere a de entrada del usuario. Así el usuario introduce 100, y las salidas de programa Fahrenheit, 212,0. Y una distinción importante en este programa es que estamos va a tener un solo decimal, así que vamos a ver cómo se hace que también. Y otra cosa a tener en cuenta es que estamos usando a.out porque Clang, el compilador automáticamente los nombres de su binario archivos a.out a menos que se especifique con una bandera determinada para dar que su propio nombre, pero por ahora sólo vamos a utilizar el defecto, a.out. Así que realmente tome unos minutos y trate de escribir algo de código para estos mismos. Así que es 4:15. Así que a las 4:20, vamos a volver y - oh bien. Espacios. Cool. Esto es algo así como lo que llamamos código esqueleto en que es un esqueleto, pero hay que rellenar la carne de la programa para hacer realidad lo ejecute. Así que usted puede ver las directivas # include para incluir hasta allí CS50 y stdio. Señalé en un comentario de la fórmula actual para la conversión de Celsius a Fahrenheit, en caso de que no me acuerdo de alto ciencias de la escuela o lo que sea. Y esto es sólo un esqueleto para la función principal real. Así que todo lo que escriba se va a ir aquí. Y con el fin de conseguir realmente a este espacio - Espacios para CS50 se puede acceder usando esta URL, que Dan es va a escribir en la pizarra, y voy a dictar también. DAN BRADLEY: cs50.net/spaces-- LEXI ROSS: / qWLc - Lo siento, y. DAN BRADLEY: Y?. LEXI ROSS: No, no, no, no. Eso está bien. qYLcYWfg. Por lo tanto, debería ver tipo de todos los nombres de aparecer aquí. Awesome. Esto se ve muy bien. Esto significa que las personas se están uniendo al espacio. Así que si usted no ha tenido la oportunidad de jugar en Espacios sin embargo, esto es realmente lo que va a utilizar con tus TFS en la sección durante todo el semestre. ¿Cómo funciona es clase de todo el mundo escribe su propio código, y nadie lo puede ver hasta que se pulsa el botón Guardar botón, lo que estoy señalando en este momento. Así que voy a presionar Guardar, y si van todos a mi nombre, que debe ser capaz de ver en personas de este Espacio, que es Lexis Beryl Ross. Entonces, ¿cómo se va a ver se hace clic en mi nombre, y vas a ver Revision 5, que es la última revisión. Copiar sólo Revisión 5 en su espacio haciendo clic sobre ella. Está bien. Así que vamos a ir a través de este problema juntos, y estoy en realidad va a escribir el código aquí arriba en la pantalla. Puedes ampliar un poco. Y luego, una vez que haya terminado, usted puede copiar mi última revisión en su espacio, si quieres ver la solución final. Ahora, Spaces tiene la capacidad de que me vaya y vea cualquiera de el código que ustedes han escrito, pero sólo porque es una sección grande y en realidad no tienen la misma tipo de capacidades de discusión como una menor sección, sólo vamos a ir a través y me voy solo para escribir el código. Pero definitivamente me detiene con preguntas en cualquier momento. Vamos a ir a través de él especie de paso a paso para hacer asegurarnos de que entendemos cada parte de lo que está pasando aquí. ¿Todo mundo puede ver este texto en esta lista? ¿Alguien quiere más grande? Entonces, ¿qué es lo primero que vamos a hacer aquí? Bueno, en esencia, ya que queremos obtener el aporte de la usuario y queremos que sea una especie de buena experiencia para el usuario, que en realidad quiero decirles lo que estamos buscando. Así que vamos a imprimir exactamente lo que queremos formar parte del usuario. Así que no te molestes en levantar la mano, sólo tiene que recitar de un tirón. ¿Cuál es el comando para imprimir algo en la pantalla? AUDIENCIA: printf. LEXI ROSS: Awesome. Bueno, por lo printf. AUDIENCIA: Hey, Lexi? [Inaudible]? LEXI ROSS: Claro. Así printf, como hemos visto con frecuencia en la conferencia, es el mandar a imprimir algo en la secuencia de salida estándar. Por eso queremos pedir al usuario que introduzca un temperatura en grados Celsius. Y ahora, en realidad quiere tomar la entrada que dan nosotros y almacenarlo en una variable. Así que hemos aprendido un poco acerca de los tipos. ¿Puede alguien recordar el tipo que quiere para una variable con una cifra decimal en ella? AUDIENCIA: Float. LEXI ROSS: Float. Sí, impresionante. Es un flotador. Así que. ¿Y cómo vamos a - gran pista - obtener el flotar por parte del usuario? AUDIENCIA: GetFloat. LEXI ROSS: Eso es. Cool. Y el usuario se podrían decir y trataremos de dar una número negativo, ¡pero no se preocupe por eso para este problema ahora. Usted va a preocuparse de que un poco más en su tarea en el conjunto de problemas. Así que vamos a suponer que nos dan un buen número, y ahora nos en realidad tienen que convertir ese flotador de Celsius a Fahrenheit. Así que vamos a consultar nuestra fórmula hasta aquí, y vamos a crear un nueva variable y lo llaman Fahrenheit. Estudié la ortografía. Es un poco loco, lo sé. Y vamos a contar con el orden de las operaciones a tipo de hacer su trabajo aquí, pero vamos a utilizar paréntesis para estar completamente detallado y claro. Así Celsius 9 veces dividido por 5. Me voy a alejar un poco lo que esta puede encajar en una línea, pero voy a acercar de nuevo para aquellos que no pueden ver, más lejos en la parte posterior. Lo siento. Extrañas cuestiones cursor. Plus 32. Bueno, ¿alguien tiene alguna pregunta acerca de cómo poner en la fórmula, o algún problema con eso? Si. PÚBLICO: ¿Tenemos que poner printf antes de la flotación Celsius, Fahrenheit flotar líneas de guión? ¿Importa el orden en que estamos? LEXI ROSS: Entonces la pregunta era, ¿qué tenemos que printf antes de que realmente pedir el flotador? La respuesta es que lo hacemos. De esa manera, que el cursor que el usuario llegue a su entrada flotador se producirá después de que el impreso c, ¿verdad? Y tiene sentido si lo piensas lógicamente, como le estamos pidiendo al usuario una pregunta, y entonces estás recibir una respuesta. Por lo tanto, imprime c, y luego hay un cursor, entonces el usuario puede introducir el valor, como veremos más adelante, cuando nos demo. ¿Sí? AUDIENCIA: ¿Por qué utilizar un flotador y no una doble? LEXI ROSS: Entonces, un doble, esencialmente, como su nombre indica, nos da el doble de la cantidad de precisión como un flotador. Pero por lo general en C, en este supuesto, para un número de razones, vamos a usar flotadores. Y esto es realmente toda la precisión que necesitamos sólo para tipo de conversiones de temperatura básicos. Por lo general, los dobles son más utilizados en el lenguaje Java, flotadores son más comunes en C. Todos impresionante derecha. DAN BRADLEY: Una más. LEXI ROSS: Una más. ¿Sí? PÚBLICO: ¿Dónde poner la barra espaciadora? Al igual, [inaudible] la barra espaciadora [inaudible]? ¿Importa? LEXI ROSS: Oh, no. Así que no importa. En realidad debería haber puesto otro espacio aquí. Pero lo que importa es que usted es consistente todo el código. Así que si usted decide usar un estilo de espacio, asegúrese de mantener todo el código completo, para no sufrir estilo puntos deducidos. Así que la consistencia es la clave. Dan Bradley: Creo que él estaba hablando de ese espacio. LEXI ROSS: Oh, estás hablando de ese espacio? Por la C actual? AUDIENCIA: Si. LEXI ROSS: Oh, así que eso es sólo para las miradas, ¿verdad? Así que de esa manera cuando ejecuta el código, si no tuviéramos este espacio aquí, si era así, el usuario inicia escribiendo el número y sería aplastado por la derecha en contra de los dos puntos después de la C, y se vería un poco mejor si había un espacio. Y se puede ver que un poco mejor una vez que en realidad ejecutar este código, cuando nos terminado. Awesome. Sí, una pregunta más. PÚBLICO: ¿Tengo que poner un punto decimal después de uno de los [Inaudible]? LEXI ROSS: ¿Así que no lo hacen, debido a la orden de operaciones. Así pues Fahrenheit ya es un flotador, al igual que Celsius, no es necesario convertir explícitamente ninguna de estas otros números como flotadores, aunque en otro circunstancias, cuando usted está tratando con enteros, es posible que tiene que poner un punto de echarlo explícitamente como un flotador. ¿Sí? AUDIENCIA: Me preguntaba si los asuntos de capitalización en estos comandos como GetFloat? LEXI ROSS: Sí, buena pregunta. Así que la pregunta era, ¿qué importa capitalización en comandos como GetFloat? La respuesta es sí, así es. Así GetFloat es, como Dan describía anteriormente, una biblioteca función en la biblioteca CS50, y fue escrito como capital G, capital F. Así que si no lo escribo con esos capitales allí, el compilador no va a entender lo que función que te refieres. Bien. ¿Sí? AUDIENCIA: Es el principal argumento para siempre vacío? LEXI ROSS: Sí, esa es otra gran pregunta. Así que el código que copió de mi espacio erróneamente tenido argumentos un poco más. Así que la pregunta era, es el argumento de la función principal siempre vacío, que esencialmente significa nada? La respuesta es no. Usted puede notar que el código que copió de mi anterior revisión tenía lo que puede verse como nada de lo que realmente hace sentido en este momento, algunos char * argv, argc. No te preocupes por eso ahora, pero vas a encontrar más adelante en que hacen la diferencia. Pero si usted no está usando ese tipo de funcionalidad que aprenderás más adelante, nula está completamente bien. Está bien. Y tenemos un paso más, y es que queremos realmente mostrar al usuario lo que la temperatura se convierte. Así que de nuevo, vamos a usar printf, y digamos f, sólo para mantener la coherencia. Y ahora vamos a hacer algo un poco complicado. Así que vamos a usar una marca o un tipo especial de notación, contar printf para imprimir sólo un decimal. ¿Y alguien enterado de lo que va a ver gusta, antes de que me escriba a cabo? ¿Sí? AUDIENCIA: 0,2% f? LEXI ROSS: Sí, sí. Así que en realidad, es muy estrecha. 0.01f de .01% f, y entonces tenemos que recordar incluir el otro argumento de printf, que es la propia variable, que es n. Un último paso. ¿Puede alguien recordar lo que está en nuestra función principal? Sí, allá arriba. AUDIENCIA: Return? LEXI ROSS: Exactamente. Así que ya que se trata de retornos principales int, queremos también devuelven en int. DAN BRADLEY: Porcentaje necesita estar en el otro lado. LEXI ROSS: De acuerdo. Lo siento, chicos. Eso fue un error. Así el porcentaje viene antes de 0,01. Así que es% .01 f. Los que son un poco difíciles de recordar. Muchas personas, como yo, sólo tiene que mirar hacia arriba cada vez que los usamos. Sí, allá arriba. PÚBLICO: ¿Por qué es 0,01 y no 0,2 o 0,1? LEXI ROSS: No lo sé, la verdad. ¿Sabe usted? Dan Bradley: La razón es 0,01 frente a 0,02, o 0,2, o 0,1, es bastante arbitraria a la forma en que el programador originalmente diseñado. AUDIENCIA: Eso no es lo que quise decir. No estoy pidiendo la razón. Razón [inaudible] por qué. Lo tengo escrito como 0,2, y ofrece dos - Dan Bradley: Si. Así que sólo nos íbamos a querer uno. AUDIENCIA: Oh, está bien. Así que usted podría 0,01 entonces. Dan Bradley: 0,1 probablemente también funcionan. 0,01 funciona tan bien. LEXI ROSS: Oh, el 0 podría ser la de mostrar cero, si que es menor que uno. DAN BRADLEY: Sí, creo que tiene razón. Así el 0,01 mostraría un valor cero si no tiene nada que volvería a ir allí de forma natural. Así que si usted fuera, por ejemplo, poner en el 100 para C, que sería salen a 212 normalmente en grados Fahrenheit, al igual que 212 exactamente. Si usted tiene el 0,01, se mostrará 212,0, como frente a sólo 212. LEXI ROSS: Eso es correcto. Así que, básicamente, le dice a la lectura printf, imprima un punto decimal, e imprimir un 0 si es necesario. Si no es así, imprima la posición decimal. DAN BRADLEY: Y vamos a explorar algunos de esto cuando estamos que realmente ejecuta el código. LEXI ROSS: Eso es. AUDIENCIA: Así que puse 0,1. Todavía imprime su cero. Dan Bradley: Todavía imprime su cero? AUDIENCIA: Si. Dan Bradley: Hm, está bien. LEXI ROSS: Cool. Está bien. Más preguntas sobre el código antes de compilar y ejecutar? ¿Alguien ve algún error aquí, en primer lugar? Alguien vio algo que debería estar aquí? Si este fuera el conjunto de problemas, lo que sería aquí que no es hay en este momento? Sí, muy bien. Así que no incluyó comentarios porque los estoy entregando por vía oral, pero si yo estuviera escribiendo esto en un conjunto de problemas, lo haría Definitivamente quiero poner comentarios para indicar lo que soy haciendo, esencialmente, en el programa. Y te tipo de conseguir una sensación para ella, mientras se mueve a través de el semestre, la cantidad de comentarios. No quiero ser demasiado verboso y las líneas puestas y líneas de comentarios para cada una de sus líneas de código, pero Tampoco quiero no ser lo suficientemente detallado y dejar el lector a tratar de averiguar qué diablos el código está haciendo. De acuerdo, genial. Vamos a tratar de ejecutar este código. Bueno, me voy a alejar un poco. Cool. Así te darás cuenta de que hay un botón Reproducir aquí. Vamos, haga clic en Reproducir. Así te darás cuenta de aquí, igual que en la especificación del problema establecido, está el. / a.out. a.out es el nombre del ejecutable binario, que es una palabra larga para un archivo que contiene el código binario que el equipo se está ejecutando. Así como lo esperábamos, tenemos C aquí. Así que llame a un número. AUDIENCIA: 23. LEXI ROSS: 23. DAN BRADLEY: El programa tuvo mucho tiempo para ejecutarse. Sólo tienes que correr de nuevo. LEXI ROSS: Oh, my bad. Bien. Spaces es exigente a veces. Se quiere que pienses en tus pies. Bueno, 23. Awesome. ¿Todo el mundo cree esto? Cool, porque funciona. Bien. Vamos a intentar un par más. Vamos a probar un caso extremo aquí. En informática, cuando hablamos de casos extremos, nos referimos a casos para el programa a ejecutar que son una especie de en el muy bordes de entradas razonables o que las esquinas de prueba determinados la lógica de su programa, y ​​esto tiene más sentido cuando hacer programas más complicados. Vamos a tratar de 0. Awesome. Todos sabemos esto. Cool. ¿Alguna pregunta más sobre esto antes de que se mueven en al siguiente programa? Muy bien, genial. Así que ahora, vamos a - ¿quieres usar sólo mi ordenador? DAN BRADLEY: Sí, eso es bastante fácil. Muy bien, así que voy a ir a hablar sobre la fabricación de porcentajes. Así que somos en esencia, en este pequeño ejercicio siguiente, va a tomar dos entradas enteras por parte del usuario, con la esperanza de un no negativo numerador y un denominador positivo, y básicamente, dividiéndolas y la salida de lo que sale como una porcentaje. Por eso queremos que acepte solamente no negativos numeradores y aceptar sólo denominadores positivos, y siga preguntando por otros nuevos si no ha conseguido lo que quiere. ¿De acuerdo? Así que darle una oportunidad. LEXI ROSS: Ah, sí, ¿quieres hacer el - oh, tal vez la gente debería copiar el código. Dan Bradley: Si. LEXI ROSS: [inaudible] Espacios. AUDIENCIA: Tengo una pregunta. Si estoy usando espacios y quiero salvar [inaudible] el Fahrenheit conversión, puedo guardarlo y luego hacer una nueva - LEXI ROSS: Podríamos hacer un nuevo espacio, o simplemente puede desea copiar y pegarlo en un archivo de texto o algo por lo que lo tengamos. DAN BRADLEY: Voy a cambiar mi nombre. LEXI ROSS: Por lo que acaba de guardar la última revisión de tofahrenheit.c, así que si vas a AAAA Lexis Beryl Ross, usted puede entrar y copiar ese último código, a continuación, comenzar en este nuevo, que creo que Dan va a proporcionar un código esqueleto para también. Bien. Dan Bradley: La revisión más reciente que tengo en la mía, así que es en lo más alto esta vez, es la Revisión 4, y que va a tener lo que necesita para empezar. LEXI ROSS: Todo correcto, y voy a copiar que en la mía también. Dan Bradley: Muy bien. Creo que vamos a empezar a ir justo por esto, si a alguien le interesa. LEXI ROSS: Todos estamos interesados. DAN BRADLEY: Vamos a empezar con sólo declarar algunas variables. Así que tenemos un numerador, y en aras de la Ahora, voy a empezar simplemente con el valor -1, y luego voy a crear un bucle do-while. Mientras que - así que cuando lo quiero para bucle? ¿Cuándo quiere que siga preguntando - ¿si? AUDIENCIA: Cuando es menor que o igual a cero. DAN BRADLEY: ¿Por qué no puede ser igual a cero? AUDIENCIA: [inaudible]. Dan Bradley: Si. Así que para el numerador, es sólo mientras el numerador es menor que cero. ¿Tiene sentido para la gente? Mantenemos un bucle mientras que el numerador es menor que cero, seguimos preguntando por datos nuevos, y seguir exigiendo que entrada de nuevas cosas. Así que voy a tener un poco printf aquí, no negativo num -. Y luego hacer lo mismo que antes, excepto que hacemos un GetInt, sólo porque queríamos hacerlo lo más porcentaje de intercepciones. Así numerador = getInt. Bien, ahora un par de cosas. ¿Necesito esta -1 aquí? AUDIENCIA: [inaudible]. Dan Bradley: No. ¿Por qué no? AUDIENCIA: Debido a que usted está recibiendo un valor aleatorio por parte del usuario. Dan Bradley: Exactamente. Pero quiero tener la declaración por aquí? Sí. ¿Por qué? AUDIENCIA: Usted tiene que encontrar la parte exterior del bucle. De lo contrario, no vamos a tener la variable para el resto del programa. Dan Bradley: Exactamente. Ámbito de aplicación. Sweet. ¿Tiene sentido para todo el mundo? PÚBLICO: ¿Se puede decir que una vez más? Dan Bradley: Muy bien. Así que si yo fuera a declarar este numerador dentro del bucle, si Tenía esto en vez de ser numerador numerador int, y me deshice de esto por completo, numerador desaparecería. No existiría fuera de este bucle, porque todo Está dentro del alcance de estas llaves. Tiene sentido? Bien. Así que por denominador, hacemos algo bastante similar, int denominador = - y no necesito los iguales - hacer, y para el tiempo en este caso, ¿qué es lo que quiero? ¿En qué condiciones lo quiero todavía a lazo en? AUDIENCIA: Menos que o igual a 0. DAN BRADLEY: Menos que o igual a 0. Denominador <= 0. No se olvide de sus puntos y comas, niños. Así que hacemos lo mismo que antes, un positivo printf denominador, y obtenemos int desde aquí. Ahí vamos. GetInt. Bien. Y luego, al final, queremos imprimir un porcentaje. Así que para hacer esto, lo que debe ser nuestra cadena parece? printf. ¿Alguna otra idea de lo que puedo hacer aquí? ¿Sí? AUDIENCIA: A lo mejor el 0,2% [inaudible]. Dan Bradley: Yep. Bien. Voy a empezar con el primer bit,%% .02%, comillas, coma. Y voy a lanzar una nueva línea de aquí, sólo porque como nuevas líneas cuando estoy haciendo las cosas. ¿Qué tipo de expresión matemática puedo tener aquí? PÚBLICO: Los paréntesis y el flotador. Dan Bradley: Good. ¿Por qué quiero tenerlo en carroza? AUDIENCIA: [inaudible]. DAN BRADLEY: Bueno, bueno. Float. AUDIENCIA: Numerador. Dan Bradley: Numerador? Bueno, por lo que hago numerador flotador. AUDIENCIA: Dividido por - Dan Bradley: Dividido por? AUDIENCIA: Denominador. DAN BRADLEY: ¿Hago sólo denominador, o hago flotador denominador? AUDIENCIA: Just denominador. Dan Bradley: Muy bien. AUDIENCIA: Y se puede multiplicar por 100. Dan Bradley: Y yo que se multiplican por 100. AUDIENCIA: ¿Y entonces paréntesis alrededor de la expresión completa. Dan Bradley: Yep. Bien. Lucir bien? Vamos a intentarlo. -50. Bueno, 50. 0, y 100, 50%. Todo salió como queríamos. ¿Tiene sentido este código a las personas? Yo lo voy a guardar para que pueda obtener una copia del mismo. ¿Sí? PÚBLICO: ¿Por qué no hay que poner [inaudible]? DAN BRADLEY: ¿Dónde? AUDIENCIA: Como, cuando dices denominador es igual a [Inaudible]. Dan Bradley: Cuando tengo aquí? ¿Por qué tendría yo int antes? AUDIENCIA: Debido a que el otro tiene int antes de ella. Dan Bradley: Bueno, por lo que no estaba en un bucle, ¿verdad? Así lo declaro int denominador por encima del bucle, y yo no lo tengo en el circuito porque sería declarándolo un montón de veces, y no sería en realidad llevar a a cualquier otra parte del programa. LEXI ROSS: Sí, lo importante es recordar que variables sólo es necesario declarar una vez. Así que imagino que es como introducir una nueva variable en el mundo llamándolo int o float o lo que sea, y una vez que ha declarado, todo lo que necesita hacer para cambiarlo es sólo lo llaman por su nombre: denominador, o x o y. Sólo tiene que llamar en realidad un int sola vez. Dan Bradley: Si. AUDIENCIA: ¿Puedes explicar la diferencia entre% d y f% y si alguna vez se declare un variable como un decimal? Dan Bradley:% d y% f Entonces aquí? LEXI ROSS: Entonces d refiere realmente a sólo un dígito, no decimal, que es un poco confuso. No hay ningún tipo de datos real llamado decimal, y cuando desea imprimir un int, que se refieren a ella como d%, o %-Lo que sea-d. F es para flotador, que te lo pensaría ¿Sería yo, pero en realidad es d para int. DAN BRADLEY: Sí? AUDIENCIA: Así que en el otro programa, ¿por qué no acabamos de hacer lo mismo cuando usted está diciendo Fahrenheit? ¿Por qué no ponemos, como -? Dan Bradley: En el fondo aquí? Usted podría tener. Hubiera sido completamente legítimo. Me gusta hacerlo de esta manera, otras personas como separar a cabo en diversas líneas de código. De cualquier manera funciona bien. ¿Qué hay de nuevo? AUDIENCIA: ¿Puede usted explicar lo que el%% [Inaudible]? Dan Bradley: Bueno, por lo que el por ciento, por ciento. Bueno, me iba a pasar esto. El porcentaje primera se llama carácter de escape, y sólo lo dice que la cosa detrás de esto no es en realidad código. Así que este porcentaje en primer lugar, a la derecha, el% .02 f, todas esas% .02 f significan algo para printf como una función. %%, Yo sólo quería que en realidad sólo imprimir una signo de porcentaje. Así que no estoy diciendo que haya nada importante detrás de él. Sólo estoy diciendo que hay un signo de porcentaje detrás de él. Por favor imprima un signo de porcentaje. Así por ciento, y luego otro por ciento. AUDIENCIA: ¿Puede demostrar lo que sería si usted tiene flotar sobre la base de otra línea? Dan Bradley: Oh sí, claro. Así que estoy pidiendo para mostrar lo que se vería como si yo tenido este numerador flotador, todo esto matemáticas, en otra línea. Así flotador por ciento = - y me gustaría deshacerme de esto y sólo hay que poner en porcentaje. Y está haciendo exactamente lo mismo, sólo tienen otra variable. AUDIENCIA: [inaudible]. DAN BRADLEY: Desplácese hacia abajo para qué? PÚBLICO: Para que yo pueda ver [inaudible]. DAN BRADLEY: ¿Qué no te das cuenta? AUDIENCIA: Lo siento, yo estaba [inaudible]. Dan Bradley: Si. AUDIENCIA: Entonces, si estamos reemplazando el carácter de escape, Supongo que quería tener un signo de dólar en vez, sólo por ejemplo, detrás de un signo de dólar por ciento? Dan Bradley: Nope. Es sólo un dólar, un solo signo de dólar, debido a que un dólar signo no significa nada para printf. La pregunta era, ¿tengo que tener un carácter de escape para símbolos como signos de dólar? AUDIENCIA: especie de modo relacionado, ¿existen otros casos que debemos saber cuándo algo así como el porcentaje signo puede significar algo [inaudible]? LEXI ROSS: Sí. No es necesariamente el signo de porcentaje, pero la barra invertida ver, como tenemos aquí reacción final? Digamos que en realidad quería imprimir un contragolpe, tendríamos para escapar de eso - y esto va a sonar confuso - con otra barra invertida. Así que si queremos imprimir \ \, lo haríamos Sólo tienes que escribir aquello, o para obtener información adicional barra invertida, otro escape. Y otra, si queremos imprimir una cotización - así Básicamente, cualquier cosa que denota algo de tipo especial dentro de una cadena, queremos escapar. Así que digamos que realmente quiero tener una cita aquí, lo haríamos quiero hacer \ ". AUDIENCIA: Así que es generalmente una barra invertida? DAN BRADLEY: Es generalmente una barra invertida. LEXI ROSS: Eso es. Por alguna razón, aquí, es un signo de porcentaje. AUDIENCIA: [inaudible]? Dan Bradley: Este chico? Esto es sólo para decir, lo que está siendo dividido aquí es va a ser tratado como un flotador para el bien de la división. Así en el caso de 50 dividido por 100, si no tienen la flotar allí, que sólo sería 0. Eso es todo lo que saldría, porque 50 dividido por 100, si usted no está incluyendo los decimales, es 0. - y todo después de la coma decimal se trunca justo fuera. AUDIENCIA: Um, ¿Por qué no lo ponemos antes denominador también? DAN BRADLEY: ¿Entonces la razón por la que no lo ponga delante de denominador es porque cuando estás dividiendo por algo un número entero, funciona muy bien. Tener un mayor número en la parte inferior no cambia nada. Se puede dividir por números enteros muy bien. Simplemente no importa realmente. Podría, eso no cambiaría nada. AUDIENCIA: Así que si quería tres decimales, lo haría pones 0.03 por ciento? Dan Bradley: Yep. Usted pondría a 0,03% si querías tres decimales. PÚBLICO: ¿Y mandamientos, ¿cuál es la diferencia entre y que acaba de hacer, mientras que en la parte superior? DAN BRADLEY: Así que un do-while frente a un bucle while son dos comandos bastante similares. La única diferencia es que ejecute el código una vez, se corre el código dentro del bucle una vez antes hacer cualquier comprobación real. Así que es también la razón por la que podemos decir sin dar denominador un número. Así que si te dijera int denominador, a continuación, mientras que (denominador <= 0), nunca podría incluso ejecutar el código en el interior. Se va a hacer el registro de entrada antes - tan aquí. Así que si yo tuviera este bucle mientras que aquí, yo tendría que tener denominador es igual, por ejemplo, -2 o un número menor que o igual a 0 por lo que en realidad se trate de ejecutar el código interior primero. Así que en términos generales, usted desea utilizar un bucle do-while en lugar de un bucle while cuando usted está pidiendo la entrada del usuario porque una vez que se ejecuta el código, pidiendo algo que el usuario le dará a usted es en general la mejor solución, en lugar de a sólo confiar en lo que pones para empezar. PÚBLICO: ¿Y siempre es seguido por un tiempo. DAN BRADLEY: Do es seguido por algún trozo de código que desea ejecutar y, a continuación, mientras que algunas condición. LEXI ROSS: Piense en ello como una especie de comando roto en dos partes. Es un do-while, no como aquí hay un hacer, y luego soy yo va a agregar un tiempo, es sólo un do-while. AUDIENCIA: Entiendo la razón por la que está utilizando el dos signos de porcentaje, pero ¿puedes explicarme por qué tenemos que tiene el [inaudible]? Dan Bradley: Bueno, por lo que el signo de porcentaje se está diciendo printf, aquí es un comando que quiero que rellenar con algún número. Así que quiero que usted lo llene con dos decimales y un flotar, y encontrará el flotador al final de la comando, es este porcentaje. ¿Eso tiene sentido? AUDIENCIA: Yep. Dan Bradley: Muy bien. AUDIENCIA: ¿Hay algo sobre el bucle do-while que si la condición no se cumple, si se obtiene un número negativo para el numerador, lo voy a seguir preguntar y se sigue preguntando el usuario? Dan Bradley: Si. Entonces, si la condición de tiempo no se cumple en el extremo de el do-while, que va a funcionar de nuevo al comienzo. Es sólo un bucle. Así que es como un bucle while que la enfermedad no ha sido cumplido sucesivamente. Sólo se ejecuta una vez más. Si. AUDIENCIA: Así que si usted está haciendo esto, ¿verdad, por tu tiempo, puso dos condiciones? DAN BRADLEY: Puedes. Depende de lo que estás pidiendo. Así que usted puede poner dos condiciones en un bucle while si lo tiene todo dentro de una especie de operador booleano, que suena feo, pero es básicamente este denominador es menor o igual a cero, o bien devuelve verdadero o falso, ¿no? O es menor que o igual a cero o no. Así que usted puede hacer otros operadores booleanos que voy a decir, mientras esto también es verdad o mientras que este también es falso. Así que cosas como el y el numerador es mayor que cero, ¿no? Eso es pedir, esto va solo bucle while denominador es menor de cero y tiene un numerador positivo. AUDIENCIA: ¿Y que haces las dos AND, ¿verdad? Dan Bradley: Dos AND. LEXI ROSS: Vamos a cubrir que más tarde. PÚBLICO: ¿Qué pasa si alguien no pone de manera positiva denominador? Si ponen en un numerador negativo, ¿puede solicitar a, por ejemplo, poner en un numerador no negativo y tienen un comando para eso? Dan Bradley: Podrías. AUDIENCIA: En este momento sólo dice no negativo numerador. Lo que se utiliza para que? DAN BRADLEY: ¿Entonces usted tendría si una condición, por lo que si desea numerador es menor que cero. LEXI ROSS: Usted probablemente sólo quiero dividirlo en más pasos, ¿no? Así que la primera vez que se pone en la entrada, que acababa de decir dar nosotros un numerador o lo que sea. Y si lo hacen mal las cosas, este podría ser el caso para un bucle mientras que, en lugar de un do-while, porque tenemos la primera vez que tenemos la getInt, a continuación, mientras que la entrada es malo, seguimos pidiéndoles entrada adicional con un tipo diferente de texto, como que no funcionó o hacernos una no negativo numerador por el contrario, ese tipo de cosas. DAN BRADLEY: ¿Sí? PÚBLICO: ¿Cómo se resuelven las cosas que [inaudible] el terminal? LEXI ROSS: Bueno. DAN BRADLEY: Sí, no se puede escribir en él. LEXI ROSS: En realidad, no se trata de un terminal real. La pregunta era ¿cómo borrar esas cosas ahí abajo? La respuesta es que no es un terminal real, pero vamos a decir que están en un terminal real. Clear. Oh, es un gato. Dan Bradley: [inaudible]? Es así, ¿verdad? LEXI ROSS: No, eso es todo mis cosas. Dan Bradley: [inaudible]. LEXI ROSS: Eso es. DAN BRADLEY: ¿Sí? PÚBLICO: ¿Funciona claro si usted tiene - como, por ejemplo se ejecuta un programa [inaudible] y se está pidiendo por algo, y no quiero hacerlo. La forma de hacerlo - Dan Bradley: Control + C? LEXI ROSS: Eso es. Así que si usted está funcionando un programa y hay algo que no va por el manera que usted lo quiere y lo que desea para salir del conjunto programa, Control + C. Incluso si estás en un Mac, no Apple + C, Control + C. AUDIENCIA: ¿Usted tiene la versión correcta de la revisión en su perfil? Dan Bradley: Creo que ha salvado, ¿no? Si. LEXI ROSS: Este es el espacio. Si. Creo que es revisión 11. DAN BRADLEY: ¿Sí? Audiencia: ¿C hacer ninguna suposición acerca de lo que es un variable es si se define una variable pero no asigna algo que de inmediato? DAN BRADLEY: ¿Así que sólo voy a aceptar enteros en ese lugar. Así que si se declara - AUDIENCIA: Si yo acabo de hacer int denominador punto y coma, lo hace asume que es igual a cero o cualquier número -? Dan Bradley: Nope. Así que si no se asigna, por ejemplo, int denominador en cualquier valor, podría ser cualquier cosa. Es la memoria de edad que se encontraba en ese lugar. Por lo tanto, podría ser negativo 2 mil millones, podría ser positivo 2 mil millones, y podría estar en cualquier lugar en el medio. Así que si usted está realmente manejando las cosas, asegúrese de que usted asignar un valor a las variables. Esto, no importa porque somos inmediatamente asignando el valor, pero en términos generales, sí. ¿Alguna otra pregunta? LEXI ROSS: También se puede simplemente tomar preguntas en general en este punto en el material de lectura, material p set, todo lo que tengo estado preguntando, este es un buen momento para hacer eso. AUDIENCIA: Así que en los tutoriales, Zamyla mencionó la función de redondeo. ¿Le importaría elaborar sobre cómo implementar eso? LEXI ROSS: Claro, cómo implementar eso? AUDIENCIA: Me dijo que era redonda. LEXI ROSS: Oh yeah. Así que, así que todos tenemos el mismo vocabulario y esas cosas, implementar generalmente significa realmente escribir desde cero. Así que no creo que ella estaba hablando de una especie de escritura la función de redondeo. Probablemente sólo quería decir cómo usarlo. Implementar significa algo así como crear. Así que en general, un tiempo en el que desea utilizar la función de redondeo que se Es decir, una especie de, por ejemplo, si usted desea redondear. ¿Me puede dar un contexto un poco más sobre lo que el problema era? AUDIENCIA: Para evitar las imprecisiones de decimales por lo que un flotador. LEXI ROSS: Eso es. Así que el problema con los flotadores que hemos aludido tipo de es que, debido a la forma en que está almacenado en la máquina, no es 100% preciso en la forma en que se podría pensar la calculadora se almacenarlos. Es difícil para mí para mostrar un ejemplo sin saber lo que el contexto era. No sé, ¿puedes pensar en algo, Dan? Dan Bradley: Así que si usted está pidiendo, por ejemplo, los números de mayor de 10 y que está utilizando flotadores, y va a añadir un a un flotador cada vez, a veces va a esperar hasta que haya llegado al 12 antes de que va a decir que esto es realmente un número mayor que 10. Flotadores tener algunos problemas serios sólo entre el 32 º y el lugar 33 decimal que va a ir, por lo que podría 9,9999999, o podría ser 10.0000001, ¿verdad? En realidad no distinguir entre los dos, así que si eres esperando que las cosas superiores o iguales a 10, es posible que no llegar a lo que crees que es la iteración 10. Es posible llegar en el 11. LEXI ROSS: En esencia, sí. Cuando estás recorrer una gran cantidad de carrozas, que es cuando el imprecisiones suceder. AUDIENCIA: Me parece, por lo que, básicamente, es como en el p establecido, quiere que redondear el valor float, y si se pone en 4,24 para la cantidad de cambio que necesita de nuevo, si usted acaba de hacer por 100, lo que realmente va a cambiar en 423 - Dan Bradley: A veces, sí. AUDIENCIA: Así que creo que es igual, ¿cómo usar la ronda función en el código real para que así no se hace eso? DAN BRADLEY: Así que si estás redondeando 424 multiplicándolo por 100 y lo que lo convierte en un número entero, algunas veces será hace 423 debido a que la imprecisión. Y así las cosas que usted puede hacer es simplemente añadir 0.0000003. AUDIENCIA: Pero creo que, en realidad, quieren que usemos la ronda. Dan Bradley: La función de ronda? Probablemente hay una función matemática, algo en el matemáticas de la biblioteca. AUDIENCIA: # include matemáticas. Dan Bradley: # include , y hay probablemente una función de redondeo. AUDIENCIA: Al igual round () -? LEXI ROSS: Básicamente, porque se va a redondear a centavo más cercano. Dan Bradley: Vamos a arrancar las páginas de manual. Así que una herramienta muy útil, si usted no sabe - que tire hacia arriba el terminal - es que si vas a las matemáticas hombre. LEXI ROSS: Cool. Así que usted puede ver, el hombre es la abreviatura de manual no, hombre, y que le permite buscar más información sobre un determinado función o biblioteca que usted puede estar tratando. Así que me acaba de escribir en matemáticas hombre. Permítanme zoom in DAN BRADLEY: Podemos intentar ronda hombre, también. LEXI ROSS: Claro. DAN BRADLEY: ¿Y esto mostrará a cabo - matemáticas hombre a enumerar todo lo que hay en la biblioteca de matemáticas, que vamos a incluir. Sí, también tenemos todo el año. LEXI ROSS: ¿Así que acabo de hacer todo el hombre. Se puede ver aquí en la sinopsis, que dice # include , así que es algo así como cs50.h, stdio.h. Y parece que en realidad está sobrecargado, lo que significa que toma diferentes tipos de argumentos, por lo que se puede redondear dobles o flotadores. Dan Bradley: Round frente roundf. LEXI ROSS: Roundf. ¿Sabía Zamyla mencionar roundf o redonda? PÚBLICO: En el tutorial, que era sólo round (). Dan Bradley: Está bien, así que probablemente estaba usando el doble, a continuación, en contraposición a un flotador. Bien, así que tendría que multiplicar por 100 y luego se redondea, y se obtendría el número más cercano a él, creo. LEXI ROSS: Entonces la función round devuelve la integral valor más cercano a x redondeo de reinserción de los casos fuera de 0, independientemente de la dirección actual de redondeo. Así que, esencialmente, que se va a redondear sólo una vez que estás en un valor entero, por lo que se multiplica por 100 y luego todo el año. ¿Eso tiene más sentido? AUDIENCIA: Para usar esta función en un archivo de C, lo que necesita para poner flotador redondo, como si la variable se denomina q, qué poner round (float) q, y luego de un paréntesis, o puede simplemente hay que poner todo el año, y luego q entre paréntesis? Dan Bradley: Así que si estás tratando de utilizar esta función en realidad, tendría que tomar q, q es un flotador, o ¿cómo se declara? AUDIENCIA: Q es un flotador. Dan Bradley: Entonces si q se declara como un flotador, lo haría acaba de tomar todo el año, y luego darle q. Usted podría tener que declarar como un doble en este caso. LEXI ROSS: Sí, a menos que desee utilizar roundf. AUDIENCIA: tan sólo pudiera utilizar roundf, y entonces q entre comillas? Dan Bradley: No, no, entre comillas, sólo q. AUDIENCIA: Lo sentimos, no entre comillas, paréntesis. Dan Bradley: En los paréntesis, sí. LEXI ROSS: Lo siento que fue un poco confuso. Algo más preguntas? DAN BRADLEY: ¿Sí? AUDIENCIA: sólo redondos Así ida y vuelta a los números enteros? LEXI ROSS: Sí. Dan Bradley: Sí, redondas rondas sólo a números enteros. AUDIENCIA: Así que si quería tener algo exacto que necesitaba ser [inaudible] multiplicado por 100 y luego dividido por 100 de nuevo si quería - LEXI Ross: Así que si quería entrar en una forma decimal? AUDIENCIA: Bueno, el ejemplo, por ejemplo, [inaudible] que tienen 1,25, y luego [inaudible] 1,24, si se quería mantener eso como 1,25, lo haría multiplicar por 100, se redondea, y luego se divide por 100 de nuevo para obtener 1,25? LEXI ROSS: Eso es. Así que la pregunta es, ya que el redondeo, ya que la página de manual dice, se redondea al valor entero más cercano, ¿significa que uno quiere multiplicar por 100, lo redondeo, y se dividen en 100 de nuevo para, por ejemplo, obtener la correcta dólares y centavos de valor? Y la respuesta es - Dan Bradley: No. Quiero decir, si usted está recibiendo un valor en coma flotante, si se inicia con un valor flotante de 1,25, eso es lo que va a ser interpretado. Así que si lo multiplicamos por 100 y luego dividir por 100, todavía va a ser interpretado como 1,25, o posiblemente 1,249 ... .. 999. LEXI ROSS: Creo que la pregunta era, ¿verdad se multiplican, a continuación, utilizar todo el año, y se divide, por lo que es - Dan Bradley: Si. Yo todavía no creo que cambie nada, sin embargo. Creo que es todavía. LEXI ROSS: Porque ronda hace - que utiliza números enteros. Así que si usted trata de alrededor de 1,25, que acaba de obtener 1. Así que creo que con el fin de obtener como la precisión adicional, si eso es lo que estás hablando. AUDIENCIA: ¿Entonces en qué casos se utiliza todo el año, entonces? DAN BRADLEY: Así que en este caso, si desea, por ejemplo, el número de centavos de $ 1,25, que te multiplique por 100, ronda, obtener 125, y dejarlo como que, como centavos, en lugar de tratar a los convierten a dólares y centavos. LEXI ROSS: Oh sí, sí, seguro. PÚBLICO: ¿Por qué necesita para redondear que [inaudible]? DAN BRADLEY: Así que si lo multiplicamos por 100 y luego inmediatamente convertirlo en un entero, que es el más forma útil, es cuando usted se ocupa de que imprecisión, ¿verdad? Así que podría ser 124.999999, y si es así, a continuación, convertir a ese un entero, se deja caer todo lo que fuera que está por debajo de el decimal. AUDIENCIA: ¿Así que te doy [inaudible]. DAN BRADLEY: Exactamente, en lugar de 125, que es razón por la que desea redondear. AUDIENCIA: Lo siento, ¿podría repetir lo que ha dicho usted debe hacer frente a lo que no debes hacer? Dan Bradley: Muy bien. Así que lo que debe hacer es si usted comienza con 1,25, multiplicar por 100, y después de que la vuelta de número entero, que 125 o 124.9999, y conseguir que al entero más cercano. AUDIENCIA: Así que si usted alrededor, que pone al entero más cercano? Dan Bradley: Si. PÚBLICO: ¿Hay una manera de limitar, si usted pide un flotador lo que quieras hacer, ¿hay una manera de limitar la cantidad de decimales lugares que se pueden ingresar un flotador? LEXI ROSS: No se utiliza la implementación del CS50. Quiero decir, usted puede contar con el tamaño de la entrada viene dada por el usuario, pero que requeriría una nueva implementación de GetFloat, y por lo que no tiene que preocuparse por eso. DAN BRADLEY: Así que si, por ejemplo, la entrada de 1,256, sólo podría utilizar 1,25, o usted podría hacer 1,26. De cualquier manera, creo que la aplicación dice que puede - AUDIENCIA: Usted sólo puede haber vuelta a - DAN BRADLEY: Sea lo que quiere, sí, siempre y cuando lo hace algún tipo de redondeo. ¿Algo más? No tiene que ser de redondeo. LEXI ROSS: ¿Sí? AUDIENCIA: Si queremos comprobar si el estilo de nuestra código es adecuado o el mejor estilo que puede ser, es que el tipo de cosas que había que aparezca en sección, o en horas de oficina, o es que el tipo de cosas podemos publicar en privado en la cosa, en la discusión, a continuación, pedir consejo sobre? LEXI ROSS: Entonces no lo hacemos, en horas de oficina o en CS50 Discutir, nosotros en realidad no calificar su conjunto p de antemano por el estilo, pero creo que probablemente lo más útil cosa que podía hacer era mirar ejemplos, y debe ser capaz de encontrar que en el código de la sección, que debe ser distribuido en línea, así como las transparencias de clase, hay deben ser ejemplos de código. Pero si usted tiene preguntas individuales sobre un determinado cuestión de estilo, sin duda no dude en hacer que el CS50 Discutir, y las horas de oficina, o en su propio tiempo. Pero si es más una mirada general a mi código, lo mejor es tipo de ejemplos de uso y tratar de adaptarse a su código para eso. Y creo que es una guía de estilo en - DAN BRADLEY: Ahí está la guía de estilo. La guía de estilo es impresionante. Se le enseña todo lo que necesita, y cubre bastante mucho todos los ejemplos conocidos por el hombre, o al menos que yo conozca. ¿Algo más? Está bien. Cool Guys,. LEXI ROSS: Que tengas un día genial. DAN BRADLEY: Gracias por venir.