1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> DAVID MALAN: Este es CS50, y esto es el comienzo de la primera semana. 3 00:00:14,430 --> 00:00:17,930 Y lo que nosotros pensamos que lo hacemos se tire hacia atrás la cortina de un dispositivo que muchos 4 00:00:17,930 --> 00:00:20,970 de ustedes probablemente han caminado más allá ahora desde hace años, pero tal vez nunca 5 00:00:20,970 --> 00:00:22,280 sabe lo que es. 6 00:00:22,280 --> 00:00:26,000 Así que este dispositivo, probablemente será familiar para la mayoría de ustedes, por ahora. 7 00:00:26,000 --> 00:00:32,972 >> [REPRODUCCIÓN DE VÍDEO] 8 00:00:32,972 --> 00:00:36,150 >> -Un triunfo de la matemática y habilidad mecánica es esta gran nueva 9 00:00:36,150 --> 00:00:39,120 calculadora automática al La Universidad de Harvard. 10 00:00:39,120 --> 00:00:43,220 Un complejo entramado de problemas en matemáticas ponen a través de la máquina en forma codificada en 11 00:00:43,220 --> 00:00:47,840 cinta se resuelven con precisión en un minuto fracción del tiempo requerido para 12 00:00:47,840 --> 00:00:49,090 cálculo humano. 13 00:00:49,090 --> 00:01:00,090 14 00:01:00,090 --> 00:01:04,080 >> Diseñado para agilizar todas las formas de la investigación matemática y científica, 15 00:01:04,080 --> 00:01:07,860 la voluntad cerebro mecánico gigante trabajar para los Estados Unidos 16 00:01:07,860 --> 00:01:09,180 Navy hasta el final de la guerra. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [VIDEO PLAYBACK FIN] 19 00:01:18,600 --> 00:01:21,980 >> DAVID MALAN: Así que eso es lo que se ve en el Centro de Ciencias, que es donde 20 00:01:21,980 --> 00:01:23,540 que la máquina se encuentra ahora. 21 00:01:23,540 --> 00:01:25,910 En realidad sólo se ve parte de ella. 22 00:01:25,910 --> 00:01:28,800 Sólo una parte se encuentra actualmente en exhibición, y eso es un dispositivo llamado 23 00:01:28,800 --> 00:01:31,970 la Mark I, y fue esencialmente un muy gran calculadora. 24 00:01:31,970 --> 00:01:36,250 Fue sucedido por el Mark II, y es de la marca II de que en realidad 25 00:01:36,250 --> 00:01:39,210 obtener un poco de léxico. 26 00:01:39,210 --> 00:01:43,780 >> Este es el primer caso registrado de algo que está a punto de convertirse en todo 27 00:01:43,780 --> 00:01:45,860 muy familiarizado con el transcurso del semestre - 28 00:01:45,860 --> 00:01:48,460 a saber, un error. 29 00:01:48,460 --> 00:01:52,030 Así resultó que en un momento dado la Marca Aparatos II no funcionaba 30 00:01:52,030 --> 00:01:55,930 correctamente, y una inspección más cercana, efectivamente se ha producido un error - una mariposa - 31 00:01:55,930 --> 00:01:56,910 que la polilla - 32 00:01:56,910 --> 00:01:57,610 interior. 33 00:01:57,610 --> 00:02:03,130 Y desde entonces, nos hemos referido a errores en programas como los insectos. 34 00:02:03,130 --> 00:02:05,330 Así que más en el venidero. 35 00:02:05,330 --> 00:02:08,919 >> Hablando de vídeo, así, si usted han hecho ya, saber que es CS50 36 00:02:08,919 --> 00:02:09,669 obviamente filmado. 37 00:02:09,669 --> 00:02:13,330 Las conferencias suelen ir justo después de clase en una especie de pre-lanzamiento 38 00:02:13,330 --> 00:02:17,240 formato sin editar, y luego un día o dos más tarde, pusimos una resolución más alta 39 00:02:17,240 --> 00:02:18,490 y la versión de mayor calidad. 40 00:02:18,490 --> 00:02:21,800 Usted puede recordar Vanessa, que tenía el la fortuna de jugar con Google Glass, 41 00:02:21,800 --> 00:02:23,540 que me acordé de cargar este tiempo. 42 00:02:23,540 --> 00:02:26,450 Así que si quieres venir después de clase y jugar, deben trabajar hoy. 43 00:02:26,450 --> 00:02:30,816 Y si desea ver lo que Vanessa vio el otro día, lo que verás 44 00:02:30,816 --> 00:02:35,260 aquí - déjame subir el volumen aquí en mi portátil. 45 00:02:35,260 --> 00:02:35,690 >> [REPRODUCCIÓN DE VÍDEO] 46 00:02:35,690 --> 00:02:37,620 >> -Así que permítanme colas Es arriba. 47 00:02:37,620 --> 00:02:38,070 Está bien. 48 00:02:38,070 --> 00:02:40,930 Así que tocar esto. 49 00:02:40,930 --> 00:02:41,720 Está bien. 50 00:02:41,720 --> 00:02:43,470 Aceptar, Glass. 51 00:02:43,470 --> 00:02:44,720 Grabar un vídeo. 52 00:02:44,720 --> 00:02:47,240 53 00:02:47,240 --> 00:02:48,640 >> Está bien. 54 00:02:48,640 --> 00:02:50,446 Vanessa? 55 00:02:50,446 --> 00:02:50,870 >> [VIDEO PLAYBACK FIN] 56 00:02:50,870 --> 00:02:53,485 >> DAVID MALAN: Muy bien, por lo que la razón que no funcionó para la mayoría de ustedes en 57 00:02:53,485 --> 00:02:56,540 Al final de la clase fue porque yo procedí para grabar una hora de ese 58 00:02:56,540 --> 00:02:59,505 apuntando imágenes de mí mismo después de Me puse las gafas de abajo. 59 00:02:59,505 --> 00:03:04,010 Así que hoy, voy a dejar a retirarse, pero gracias a Vanessa por ser tal 60 00:03:04,010 --> 00:03:05,420 buen deporte. 61 00:03:05,420 --> 00:03:08,330 >> Mientras tanto, un par de anuncios antes de que avanzamos en la actualidad. 62 00:03:08,330 --> 00:03:11,120 Así que uno, CS50 tiene una tradición de hacer lo que podamos para tratar de hacer un muy 63 00:03:11,120 --> 00:03:12,630 gran clase se sienta más pequeño. 64 00:03:12,630 --> 00:03:16,640 Y hacia ese fin, más todos los viernes, nos reunimos en un restaurante en 65 00:03:16,640 --> 00:03:20,160 la plaza, fuego y hielo, con 30 o 40 de sus compañeros de clase, a mí mismo, algunos de 66 00:03:20,160 --> 00:03:22,520 el personal docente, y acabamos de un almuerzo muy informal. 67 00:03:22,520 --> 00:03:26,280 A menudo Invita amigos de la industria, ex alumnos de la clase, los alumnos de la 68 00:03:26,280 --> 00:03:30,340 universidad, realmente sólo para charlar cada a otros, hablar de la vida después de 69 00:03:30,340 --> 00:03:32,260 universidad, vida de la universidad, y similares. 70 00:03:32,260 --> 00:03:35,570 Así que si usted desea participar en este primero como el almuerzo este viernes a las 71 00:03:35,570 --> 00:03:38,640 13:15, la cabeza a los que URL en algún momento. 72 00:03:38,640 --> 00:03:40,830 >> El espacio es limitado, por lo que va a hacer orden de llegada. 73 00:03:40,830 --> 00:03:43,880 Pero vamos a hacer esto otra vez en un periódico base, por lo que no se preocupe si no lo hace 74 00:03:43,880 --> 00:03:45,800 hacerlo en este primer lote. 75 00:03:45,800 --> 00:03:48,960 >> Ahora, en términos de los recursos proporcionados curricularly por el curso, 76 00:03:48,960 --> 00:03:51,500 hay una gran cantidad, y si usted no tiene levantado el sitio web del curso 77 00:03:51,500 --> 00:03:54,310 Ya, en particular, en las conferencias, usted encontrará que todo 78 00:03:54,310 --> 00:03:57,070 que hicimos la semana pasada está ahí, tanto en vídeo y algún tipo 79 00:03:57,070 --> 00:03:58,435 de forma electrónica. 80 00:03:58,435 --> 00:04:01,210 Pero más allá de los videos, usted encontrará que ahora hay texto completo 81 00:04:01,210 --> 00:04:03,290 transcripciones, por ejemplo, de cada conferencia. 82 00:04:03,290 --> 00:04:08,260 >> Así que si en realidad nos volvemos a esta pantalla aquí con Vanessa, y navegar 83 00:04:08,260 --> 00:04:12,010 por el lado de la pantalla, usted encontrará que en realidad, no para 84 00:04:12,010 --> 00:04:15,060 La conferencia del viernes, pero si nos remontamos a Miércoles, ya que esta característica tiene un 85 00:04:15,060 --> 00:04:17,870 pocos días, usted encontrará que usted puede realmente tire hacia arriba, para bien o para 86 00:04:17,870 --> 00:04:22,260 peor, cada palabra que yo o un voluntario en el escenario, dijo. 87 00:04:22,260 --> 00:04:23,270 Y más que eso. 88 00:04:23,270 --> 00:04:25,700 En realidad puede buscarla, puede haga clic en cualquiera de esas frases, saltar 89 00:04:25,700 --> 00:04:29,250 a ese punto en el vídeo, todo hacia y al final de hacer que el material de toda la 90 00:04:29,250 --> 00:04:30,620 más navegable. 91 00:04:30,620 --> 00:04:34,550 >> Pero si prefieres no sigues con tanto detalle, encontrará, por 92 00:04:34,550 --> 00:04:39,710 ejemplo, este pequeño menú aquí para 1.5x Velocidad, velocidad 2x o i f yo ya 93 00:04:39,710 --> 00:04:42,100 hablar demasiado rápido para ti, velocidad 0.75x. 94 00:04:42,100 --> 00:04:45,190 Entonces se dan cuenta de que todo eso es disponibles allí para usted. 95 00:04:45,190 --> 00:04:49,120 >> Pero más allá de eso, para las conferencias, se dan cuenta que también hacemos estos recursos 96 00:04:49,120 --> 00:04:50,530 disponibles también. 97 00:04:50,530 --> 00:04:55,240 Diapositivas, código de ejemplo, cualquier cosa que yo hacerlo en el escenario o en el avance de la clase, 98 00:04:55,240 --> 00:04:58,160 vamos a publicar allí, así que puedes jugar a lo largo de en casa o en Sanders. 99 00:04:58,160 --> 00:05:01,280 Pero lo que también pensamos que haríamos esto año por primera vez también 100 00:05:01,280 --> 00:05:04,240 proporcionarle tutoriales de estos ejemplos. 101 00:05:04,240 --> 00:05:08,120 Cada vez más, como he reflexionado sobre la valor de las conferencias del CS50, he empezado 102 00:05:08,120 --> 00:05:11,450 a cuestionar lo útil que es para ustedes para sentarse allí, para mí estar 103 00:05:11,450 --> 00:05:15,020 aquí, y para mí hablar de ti, en particular como el material, la 104 00:05:15,020 --> 00:05:17,020 ejemplos, se vuelven más complejos. 105 00:05:17,020 --> 00:05:20,790 Porque invariablemente, después de algún número de minutos, alguien va a distraernos, y 106 00:05:20,790 --> 00:05:24,310 luego se olvida de una idea clave de algunas ejemplo, y entonces usted está esencialmente 107 00:05:24,310 --> 00:05:27,720 ido para la porción restante de la clase, que no es el mejor uso de 108 00:05:27,720 --> 00:05:31,330 su tiempo, o, en realidad, la nuestra colectivamente como clase. 109 00:05:31,330 --> 00:05:33,920 >> Y así, lo que pensamos que nos gustaría probar a hacer, particularmente para algunos de los más 110 00:05:33,920 --> 00:05:37,700 ejemplos complejas que yo no podría hacer justicia a la clase, que no podría 111 00:05:37,700 --> 00:05:41,560 tener tiempo para la clase, pero no es u simplemente distraernos durante, es nosotros produciremos 112 00:05:41,560 --> 00:05:45,500 una serie de tutoriales de estos ejemplos de modo que si usted va a, por 113 00:05:45,500 --> 00:05:51,410 ejemplo, la página de vídeo del viernes pasado aquí en virtud de ejemplos, verás que 114 00:05:51,410 --> 00:05:54,050 para el viernes, ahora hay este enlazar a tutoriales. 115 00:05:54,050 --> 00:05:55,780 Y el formato de estos cambiará con el tiempo. 116 00:05:55,780 --> 00:05:58,080 Por ahora, estamos usando un simple Lista de reproducción de YouTube. 117 00:05:58,080 --> 00:06:00,980 >> Pero lo que hice con nuestro equipo de producción después fue caminar a través de cada uno 118 00:06:00,980 --> 00:06:04,480 y cada uno de esos ejemplos de nuevo, esperemos señalando con mucho más 119 00:06:04,480 --> 00:06:07,550 claridad exactamente lo que los robos de balón podría ser o debería ser el uno. 120 00:06:07,550 --> 00:06:10,560 Así que usted encontrará, por ejemplo, de la última semanas, todos los ejemplos de rascar 121 00:06:10,560 --> 00:06:12,950 atravesamos se realizan linealmente en que la moda. 122 00:06:12,950 --> 00:06:15,840 Así que no dude en participar o no participar en este material. 123 00:06:15,840 --> 00:06:19,140 Realmente un tema de este curso en particular es que es probable que haya más 124 00:06:19,140 --> 00:06:21,870 en la forma de recursos de los que posiblemente podría absorber más 125 00:06:21,870 --> 00:06:23,260 el curso de un semestre. 126 00:06:23,260 --> 00:06:23,980 >> Pero eso es deliberado. 127 00:06:23,980 --> 00:06:26,990 Se supone que es para que usted como estudiantes individuales se auto-selecciona 128 00:06:26,990 --> 00:06:28,070 en función de su estilo de aprendizaje. 129 00:06:28,070 --> 00:06:29,790 Así que si las conferencias de trabajo para usted, muy bien. 130 00:06:29,790 --> 00:06:31,090 Si las secciones de trabajo para usted, muy bien. 131 00:06:31,090 --> 00:06:32,930 Si tutoriales trabajan para mejor, estupendo. 132 00:06:32,930 --> 00:06:36,980 Realmente será hasta usted para elegir qué recursos funcionan mejor para usted. 133 00:06:36,980 --> 00:06:40,380 >> Finalmente, gracias a un alumno de la Por supuesto, también ofrecemos una canónica 134 00:06:40,380 --> 00:06:41,890 conjunto de notas de trazado. 135 00:06:41,890 --> 00:06:46,270 Así que en lugar de ¿Han cabezas en conferencias anotando 136 00:06:46,270 --> 00:06:49,880 cosas que surgen en la clase, nosotros, los personal, le dará lo que 137 00:06:49,880 --> 00:06:53,410 sensación son un conjunto canónico de notas a liberarte de esa distracción, por lo que 138 00:06:53,410 --> 00:06:57,150 si usted está aquí y comprometido, que son verdaderamente comprometido con lo que está pasando, 139 00:06:57,150 --> 00:07:00,110 con tus compañeros están haciendo para arriba en etapa, con lo que hay en la pantalla, 140 00:07:00,110 --> 00:07:03,570 y no simplemente escribir palabra por palabra lo que sucedió a haberse dicho. 141 00:07:03,570 --> 00:07:06,730 Así que darse cuenta de todos esos recursos están disponibles para usted. 142 00:07:06,730 --> 00:07:09,210 >> Seccionamiento, en respuesta a un FAQ, comenzará este miércoles. 143 00:07:09,210 --> 00:07:12,050 Esencialmente esperar hasta después de la mayoría otras clases se llevan a cabo de manera que podamos 144 00:07:12,050 --> 00:07:14,420 minimizar el número de cambios que tenemos que hacer. 145 00:07:14,420 --> 00:07:20,010 Pero, al llegar este fin de semana, a partir Domingo, será una instancia única de 146 00:07:20,010 --> 00:07:21,360 lo que llamamos secciones súper. 147 00:07:21,360 --> 00:07:23,990 Estos serán filmados para aquellos que no pueden hacerlo asistir, y esencialmente, la 148 00:07:23,990 --> 00:07:28,880 las cabezas de los cursos nos caminar a través de algunos de la parte C del curso, 149 00:07:28,880 --> 00:07:32,330 hacia un extremo del conjunto de problemas uno, el cual va a ser nuestra primera C basado 150 00:07:32,330 --> 00:07:33,140 establece problema. 151 00:07:33,140 --> 00:07:36,240 Y estos serán sólo las secciones opcionales en previsión de lo que va a 152 00:07:36,240 --> 00:07:40,010 convierten en los puntos recurrentes dirigidas por 50 además de el curso 153 00:07:40,010 --> 00:07:41,600 Teaching Fellows semanal. 154 00:07:41,600 --> 00:07:45,130 Los domingos o los lunes o martes, nos tendrá 90 secciones hora en una 155 00:07:45,130 --> 00:07:48,020 sentido tradicional, que será oportunidades para las manos en y más 156 00:07:48,020 --> 00:07:50,800 reseña íntima de la el material del curso. 157 00:07:50,800 --> 00:07:53,820 >> Sin más preámbulos, permítanme presentarles las cabezas de los cursos, que son 158 00:07:53,820 --> 00:07:57,380 detrás de las escenas con mí, haciendo que todo suceda. 159 00:07:57,380 --> 00:08:02,670 Si los que están aquí hoy podría unirse a mí, Rob y Lauren y José y Lucas, todos 160 00:08:02,670 --> 00:08:05,770 de los cuales han estado con la Por supuesto desde hace algún tiempo. 161 00:08:05,770 --> 00:08:08,450 RJ es la tercera tales miembro de nuestro equipo. 162 00:08:08,450 --> 00:08:11,720 No pudo estar aquí hoy, pero me preguntó para mostrar una foto de él. 163 00:08:11,720 --> 00:08:14,600 No estoy seguro de querer este uno, pero ahí está. 164 00:08:14,600 --> 00:08:18,350 >> Y permítanme que el equipo pueda decir hola y que se presenten a fin de que 165 00:08:18,350 --> 00:08:22,260 usted se familiariza con ellas, así como su propio compañero de la enseñanza de este plazo. 166 00:08:22,260 --> 00:08:23,490 >> LAUREN CARVALHO: Hi. 167 00:08:23,490 --> 00:08:24,740 Mi nombre es Lauren Carvalho. 168 00:08:24,740 --> 00:08:26,900 Soy un tutor residente en Leverett House. 169 00:08:26,900 --> 00:08:31,120 También estoy muy emocionado de ser TV cabeza para CS50 este año. 170 00:08:31,120 --> 00:08:35,830 >> CS50 es una clase muy difícil, así como una clase muy grande, así que si 171 00:08:35,830 --> 00:08:38,780 Ante cualquier duda, si te sientes como estás quedando atrás, no dude en 172 00:08:38,780 --> 00:08:43,840 llegar a cualquiera de nosotros en heads@cs50.het, o para mí, si lo 173 00:08:43,840 --> 00:08:46,330 quieres jugar con mi oro Perrito del perro perdiguero. 174 00:08:46,330 --> 00:08:48,060 Aquí está Lucas. 175 00:08:48,060 --> 00:08:48,560 >> LUCAS FREITAS: Hey, chicos. 176 00:08:48,560 --> 00:08:49,330 Mi nombre es Lucas Freitas. 177 00:08:49,330 --> 00:08:51,880 Soy un joven [inaudible] 178 00:08:51,880 --> 00:08:53,630 la informática y la lingüística. 179 00:08:53,630 --> 00:08:58,030 En realidad soy de Brasil, y también realizar estudios de Asia oriental. 180 00:08:58,030 --> 00:09:00,740 Así que si usted tiene alguna pregunta acerca de ciencias de la computación o el idioma o 181 00:09:00,740 --> 00:09:01,870 nada, sólo házmelo saber. 182 00:09:01,870 --> 00:09:05,630 O CS50, especialmente. 183 00:09:05,630 --> 00:09:05,880 >> JOSÉ ONG: Hi. 184 00:09:05,880 --> 00:09:06,265 Yo soy José. 185 00:09:06,265 --> 00:09:11,360 Soy un estudiante del último equipo ciencia en Elliott House. 186 00:09:11,360 --> 00:09:13,500 Por lo tanto, vamos a ver. 187 00:09:13,500 --> 00:09:16,530 Me verás ahí portando uno de estos enormes cámaras. 188 00:09:16,530 --> 00:09:21,110 Soy el fotógrafo personal residente de 50, así, y los estudiantes a menudo 189 00:09:21,110 --> 00:09:25,140 a veces me confundan un turista asiático. 190 00:09:25,140 --> 00:09:29,220 >> Así que si usted me ve con una cámara, no huyas. 191 00:09:29,220 --> 00:09:32,960 Sólo sonreír y no seas tímido. 192 00:09:32,960 --> 00:09:34,870 Y espero que lo disfruten 50. 193 00:09:34,870 --> 00:09:38,690 Me gustó mucho cuando lo tomé, y es por eso que he estado TFing para 194 00:09:38,690 --> 00:09:41,164 estos tres años. 195 00:09:41,164 --> 00:09:41,570 >> ROB BOWDEN: Hi. 196 00:09:41,570 --> 00:09:42,550 Soy Rob. 197 00:09:42,550 --> 00:09:46,240 Este es mi cuarto semestre con CS50. 198 00:09:46,240 --> 00:09:47,430 Me acabo de graduar en mayo. 199 00:09:47,430 --> 00:09:49,650 Yo estaba en Kirkland. 200 00:09:49,650 --> 00:09:53,670 Estoy emocionado por este semestre, y espero que tú también. 201 00:09:53,670 --> 00:09:56,650 >> DAVID MALAN: Gracias al de este año cabezas, y para RJ también. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> Así que un par de notas finales sobre los recursos. 204 00:10:02,310 --> 00:10:04,090 Uno, p set 0 ya está en marcha. 205 00:10:04,090 --> 00:10:06,620 Éste existe sólo en la norma edición, que está destinado para el 206 00:10:06,620 --> 00:10:07,610 totalidad de la clase. 207 00:10:07,610 --> 00:10:10,940 A partir de la p conjunto 1, habrá ediciones piratas de la mayoría de los conjuntos de problemas, 208 00:10:10,940 --> 00:10:14,660 que, de nuevo, cubrirá el material con un poco más de un desafío, mientras que 209 00:10:14,660 --> 00:10:17,400 todavía tocar en algunos de los mismos temas. 210 00:10:17,400 --> 00:10:21,400 Tome un vistazo a la página web del curso para dicha indicación a p set 0. 211 00:10:21,400 --> 00:10:25,140 >> El horario de atención, también, comenzarán esta semana, esta noche, mañana, miércoles, 212 00:10:25,140 --> 00:10:27,670 y el jueves en varios restaurantes salas en el campus. 213 00:10:27,670 --> 00:10:32,140 Echa un vistazo a cs50.net/ohs para la oficina horas para el curso, y se dan cuenta de este 214 00:10:32,140 --> 00:10:34,430 habrá oportunidades muy casuales, sin duda, en el inicio de la 215 00:10:34,430 --> 00:10:37,190 semestre, para llegar a funcionar con su ordenador portátil durante las vacaciones de cerebro. 216 00:10:37,190 --> 00:10:40,500 Trae algunos amigos y charlar con la TFS y las CA con cualquier de los cursos 217 00:10:40,500 --> 00:10:41,750 las preguntas que pueda tener. 218 00:10:41,750 --> 00:10:45,320 >> Y no puedo enfatizar lo suficiente, incluso para cero y el problema de establecer 0, no 219 00:10:45,320 --> 00:10:47,110 Realmente no hay pregunta tonta. 220 00:10:47,110 --> 00:10:51,200 No hay estudiante demasiado incómodo de hacer preguntas. 221 00:10:51,200 --> 00:10:53,940 Por favor, siéntase libre para aprovechar de este recurso. 222 00:10:53,940 --> 00:10:56,430 Será allí recurrentemente lo largo del semestre, 223 00:10:56,430 --> 00:10:57,840 como se CS50 Discuta. 224 00:10:57,840 --> 00:11:00,900 Esta es la discusión en línea del curso foros en esa dirección existe. 225 00:11:00,900 --> 00:11:04,490 >> Lo que también vamos a hacer durante las clases es también monitorear esto, gracias a la 226 00:11:04,490 --> 00:11:05,580 equipo docente del curso. 227 00:11:05,580 --> 00:11:08,390 Y por lo que si usted tiene una pregunta durante dar una conferencia, porque dije algo 228 00:11:08,390 --> 00:11:11,690 poco o nada en absoluto, por todos los medios, pida que, en tiempo real, si usted tiene su 229 00:11:11,690 --> 00:11:15,700 ordenador portátil o teléfono en la página web, y nosotros haremos nuestro mejor esfuerzo en tiempo casi real a 230 00:11:15,700 --> 00:11:17,410 responder a eso. 231 00:11:17,410 --> 00:11:21,500 >> ¿Hay alguna pregunta sobre CS 50? 232 00:11:21,500 --> 00:11:23,930 Entonces uno últimas notas de la mía. 233 00:11:23,930 --> 00:11:25,530 Ese tema de SAT UNSAT. 234 00:11:25,530 --> 00:11:28,550 Al finalizar sus tarjetas de estudio, si han hecho ya, darse cuenta de que la 235 00:11:28,550 --> 00:11:32,360 visión general de SAT UNSAT, disponible para todos los estudiantes, es realmente 236 00:11:32,360 --> 00:11:36,350 para ayudar a tomar el borde de un curso de esta manera, por así decirlo, de modo que si usted 237 00:11:36,350 --> 00:11:40,510 encontrarse a altas horas de la noche, 02 a.m., 03 a.m., realmente golpearse la cabeza contra 238 00:11:40,510 --> 00:11:43,960 la pared donde se sabe que está el 99% de el camino hasta el final, pero 239 00:11:43,960 --> 00:11:47,510 tantas otras cosas que hacer, Creo que una mejor utilización, a menudo, de 240 00:11:47,510 --> 00:11:51,260 tiempo de los estudiantes es pasar de hecho a esas otras cosas, para que pueda 241 00:11:51,260 --> 00:11:52,780 optimizar su tiempo por todas partes. 242 00:11:52,780 --> 00:11:56,950 Y SAT UNSAT es un mecanismo a través del cual usted puede tomar consuelo en el hecho de 243 00:11:56,950 --> 00:12:00,530 que el 99% de la forma en que hay siendo bastante bueno. 244 00:12:00,530 --> 00:12:03,790 >> Del mismo modo, también, si usted ha llegado a la Por supuesto, sin conocimientos previos o 245 00:12:03,790 --> 00:12:07,960 no casi tanto de fondo como usted pensar en sus compañeros de clase podrían tener, la verdadera 246 00:12:07,960 --> 00:12:13,210 o falsa, se dan cuenta que este es un oportunidad de conseguir sus manos sucias 247 00:12:13,210 --> 00:12:16,590 con el curso, poner los pies en la agua, por así decirlo, al igual que yo mismo 248 00:12:16,590 --> 00:12:18,500 lo hizo hace años con pasa / no pasa. 249 00:12:18,500 --> 00:12:21,850 Como dije la semana pasada, tuvo este curso, como otros, no se dispone de 250 00:12:21,850 --> 00:12:25,090 pasa / falla en el momento, probablemente lo haría nunca han puesto un pie en 251 00:12:25,090 --> 00:12:28,310 la clase, a pesar de que he hecho, cinco semanas después, cambiar de opinión, que le 252 00:12:28,310 --> 00:12:32,400 puede también, y cambiar a o de la carta graduada de estado. 253 00:12:32,400 --> 00:12:32,990 >> Está bien. 254 00:12:32,990 --> 00:12:37,380 Así que miramos las cosas de este tipo en Viernes, y vamos muy rápido 255 00:12:37,380 --> 00:12:39,890 para la transición a algo que parece más críptica hoy. 256 00:12:39,890 --> 00:12:42,300 Pero es, no obstante, la misma idea fundamental. 257 00:12:42,300 --> 00:12:45,540 ¿Cuál fue el término general que se usa para describir una pieza del rompecabezas 258 00:12:45,540 --> 00:12:47,690 que se parecía a esto? 259 00:12:47,690 --> 00:12:48,510 >> Por lo tanto, un comunicado. 260 00:12:48,510 --> 00:12:50,020 Y usted puede llamar a esto cualquier número de cosas. 261 00:12:50,020 --> 00:12:51,870 Pero sólo tendremos que llamamos un comunicado, y una declaración 262 00:12:51,870 --> 00:12:53,200 simplemente le dice al programa - 263 00:12:53,200 --> 00:12:55,290 o en el caso de Scratch, el sprite - 264 00:12:55,290 --> 00:12:56,520 que hacer algo. 265 00:12:56,520 --> 00:12:58,430 Da la bienvenida en este caso. 266 00:12:58,430 --> 00:13:01,450 >> Algo como esto nos lugar denominado qué? 267 00:13:01,450 --> 00:13:03,560 Sí, por lo que una expresión booleana. 268 00:13:03,560 --> 00:13:07,380 Una expresión booleana es sólo algo eso es cierto o falso, y así a los arañazos 269 00:13:07,380 --> 00:13:10,530 los atrae con esta forma, pero también con un signo de interrogación para transmitir la 270 00:13:10,530 --> 00:13:14,510 idea de que la respuesta a esta pregunta es verdadero o falso, sí o no 271 00:13:14,510 --> 00:13:15,910 uno, 1 o 0. 272 00:13:15,910 --> 00:13:19,290 >> Y utilizamos estas expresiones booleanas el interior de las construcciones como éstas, que 273 00:13:19,290 --> 00:13:21,010 llamamos a qué? 274 00:13:21,010 --> 00:13:22,460 Así, la condición o de la rama. 275 00:13:22,460 --> 00:13:25,600 Y la condición que se ve aquí en Rasguño tiene un pequeño marcador de posición para un 276 00:13:25,600 --> 00:13:28,260 pieza del rompecabezas de esa forma, el propósito de los cuales es, para que pueda 277 00:13:28,260 --> 00:13:32,670 arrástrelo y colóquelo en la parte superior y luego dictar el programa si este Booleano 278 00:13:32,670 --> 00:13:36,410 expresión es verdadera, hacer este conjunto de instrucciones, este conjunto de declaraciones, 279 00:13:36,410 --> 00:13:39,320 cosa hacer esto otro conjunto de instrucciones. 280 00:13:39,320 --> 00:13:41,270 >> Y recordar que pueda nido de estas cosas. 281 00:13:41,270 --> 00:13:44,170 A pesar de que no hay mucho espacio visualmente en esa pieza del rompecabezas, Scratch 282 00:13:44,170 --> 00:13:47,820 va a crecer y encogerse para adaptarse a lo que sea piezas de un rompecabezas que arrastrar y soltar en 283 00:13:47,820 --> 00:13:51,410 no por lo que realmente puede anidar esto y tener un tenedor de tres vías en la carretera. 284 00:13:51,410 --> 00:13:53,870 Si, else if, else. 285 00:13:53,870 --> 00:13:58,100 E incluso se puede ir más allá de anidación más y más, según sea necesario. 286 00:13:58,100 --> 00:14:02,520 >> Así que, por último, vimos como construcciones este, conocido de otra manera como un bucle. 287 00:14:02,520 --> 00:14:05,690 Y esto es sólo algo que hace algo una y otra vez y otra vez. 288 00:14:05,690 --> 00:14:09,250 En este caso, pasa a ser un finito número de veces, pero también 289 00:14:09,250 --> 00:14:12,890 vio un ejemplo donde el número de veces venían de una variable, por lo que 290 00:14:12,890 --> 00:14:13,690 podría cambiar. 291 00:14:13,690 --> 00:14:16,910 Y también vimos otro bloque completo denomina bloque siempre que 292 00:14:16,910 --> 00:14:19,590 nos permitió bucle infinitamente largo. 293 00:14:19,590 --> 00:14:23,300 >> Así que otra construcción que a los arañazos 2.0 tiene - y aquellos de ustedes más 294 00:14:23,300 --> 00:14:26,330 cómodo con el fondo anterior son ya está bien familiarizado con este 295 00:14:26,330 --> 00:14:27,080 construir - 296 00:14:27,080 --> 00:14:29,910 estas cosas que llamamos qué? 297 00:14:29,910 --> 00:14:32,540 Así que llamamos a estas funciones, de lo contrario conocido como procedimientos. 298 00:14:32,540 --> 00:14:35,030 Hay una diferencia semántica ligero, pero nosotros los llamaremos apenas funciones. 299 00:14:35,030 --> 00:14:39,950 >> Y una función, en el caso de los arañazos, es una pieza del rompecabezas a medida que 300 00:14:39,950 --> 00:14:43,670 usted puede crear para que tenga una nueva pieza del rompecabezas que, en este 301 00:14:43,670 --> 00:14:47,190 caso, sería llamado tos, que aparece entre todos los de la otra 302 00:14:47,190 --> 00:14:48,730 piezas del rompecabezas disponibles en cero. 303 00:14:48,730 --> 00:14:52,010 A pesar de que el MIT no inventó esta pieza del rompecabezas, lo hiciste. 304 00:14:52,010 --> 00:14:57,600 >> Así que una función le permite crear nuevos comportamiento, darle un nombre de función y 305 00:14:57,600 --> 00:14:59,200 entonces llamarlo, por así decirlo. 306 00:14:59,200 --> 00:15:04,690 Realmente utilizarlo en programas de una y una y otra vez sin tener que esperar 307 00:15:04,690 --> 00:15:08,600 para alguien como MIT por el camino a inventar una nueva funcionalidad a partir de cero. 308 00:15:08,600 --> 00:15:12,460 Usted mismo puede construir estos rompecabezas piezas a ti mismo, y luego volver a utilizarlos 309 00:15:12,460 --> 00:15:13,600 en sus propios programas. 310 00:15:13,600 --> 00:15:17,520 Y vamos a ver un ejemplo recurrente de que hoy en adelante. 311 00:15:17,520 --> 00:15:20,960 >> Así que hoy, hacemos la transición ahora a algo más arcano. 312 00:15:20,960 --> 00:15:24,350 Pero al final del día, algo más potente y expresiva y más 313 00:15:24,350 --> 00:15:28,110 representante de la ruta que vamos a ser en todo el semestre a lo largo de un número 314 00:15:28,110 --> 00:15:28,800 de idiomas - 315 00:15:28,800 --> 00:15:30,800 el del código o el código fuente. 316 00:15:30,800 --> 00:15:34,720 Y el código fuente, resulta que, no es lo que un ordenador 317 00:15:34,720 --> 00:15:37,400 típicamente en realidad se ejecuta. 318 00:15:37,400 --> 00:15:39,860 El código fuente se ve algo como esto. 319 00:15:39,860 --> 00:15:43,010 >> Así que esto es, de nuevo, tal vez la más sencilla programa se puede escribir en un 320 00:15:43,010 --> 00:15:46,670 lenguaje llamado C. Vamos a empezar a se burlan de esto aparte de poco tiempo, y si 321 00:15:46,670 --> 00:15:49,260 esto realmente parece griego para usted en este momento, confía en mí. 322 00:15:49,260 --> 00:15:54,040 En tan sólo una semana o el tiempo de dos, esto será muy familiar y en realidad 323 00:15:54,040 --> 00:15:57,780 bastante representativa de cada vez ejemplos complejos con la que puedes encontrar 324 00:15:57,780 --> 00:15:59,870 también sentirse más cómodo. 325 00:15:59,870 --> 00:16:03,100 >> Pero uno no puede ejecutar este tipo de código por lo general. 326 00:16:03,100 --> 00:16:06,750 Hay que convertirlo en algo que la computadora en sí entiende. 327 00:16:06,750 --> 00:16:09,840 Y así, para eso, necesitamos algo vamos a llamar a un compilador. 328 00:16:09,840 --> 00:16:13,910 Un compilador es un programa que toma código fuente, como usted acaba de ver, como 329 00:16:13,910 --> 00:16:17,680 de entrada, y produce ceros y queridos como salida, de lo contrario 330 00:16:17,680 --> 00:16:19,210 conocido como código objeto. 331 00:16:19,210 --> 00:16:23,190 Y son esos ceros y unos que puede tener un aspecto como este que 332 00:16:23,190 --> 00:16:26,310 en última instancia, se entienden por tu Mac o PC. 333 00:16:26,310 --> 00:16:30,050 >> Si alguna vez has oído hablar de la comercialización expresión Intel Inside, que acaba de 334 00:16:30,050 --> 00:16:32,800 significa que una compañía llamada Intel ha fabricado el 335 00:16:32,800 --> 00:16:34,130 cerebro de su computadora - 336 00:16:34,130 --> 00:16:37,270 también conocida como la CPU, unidad central de procesamiento - 337 00:16:37,270 --> 00:16:39,640 y eso es justo lo que entiende patrones 338 00:16:39,640 --> 00:16:40,880 de ceros y unos. 339 00:16:40,880 --> 00:16:46,330 Y así, mediante la conversión de código fuente en Código de objeto a través de este proceso aquí 340 00:16:46,330 --> 00:16:49,130 que vamos a hacer con un par de comandos en sólo un poco, usted es 341 00:16:49,130 --> 00:16:53,070 la creación de patrones de ceros y unos que los empleados de Intel tienen 342 00:16:53,070 --> 00:16:56,000 decidido que representan ciertas declaraciones. 343 00:16:56,000 --> 00:16:58,810 >> Ahora, yo no sé muy bien que es que con sólo echar un vistazo a 344 00:16:58,810 --> 00:16:59,890 estos ceros y unos. 345 00:16:59,890 --> 00:17:01,420 La mayoría de los seres humanos en estos días no lo hacen. 346 00:17:01,420 --> 00:17:04,900 Pero en algún lugar hay un patrón de ceros y unos que representa el 347 00:17:04,900 --> 00:17:06,349 print comunicado. 348 00:17:06,349 --> 00:17:10,460 En algún lugar en el que podría haber una diferente conjunto de ceros y unos que 349 00:17:10,460 --> 00:17:16,940 representar la noción de siempre o repetir 10 veces o incluso maullido, si es 350 00:17:16,940 --> 00:17:20,000 en realidad un programa que puede incluir algunos sonidos. 351 00:17:20,000 --> 00:17:24,390 >> Así que en resumen, sólo los seres humanos han decidido, al igual que lo hicimos para ASCII - 352 00:17:24,390 --> 00:17:27,480 para las letras del alfabeto la semana pasada - los seres humanos han decidido que incluso 353 00:17:27,480 --> 00:17:32,200 patrones más complejos de ceros y unos representar un comportamiento más complejo 354 00:17:32,200 --> 00:17:35,650 como imprimir o decir o maullar. 355 00:17:35,650 --> 00:17:38,640 Y así hoy, y en gran medida en adelante en el semestre, vamos a tomar para 356 00:17:38,640 --> 00:17:41,820 sentado que alguien se ha dado cuenta encontrar la manera de hacer que la cartografía. 357 00:17:41,820 --> 00:17:45,560 Pero, de acuerdo con esta idea de capas en la parte superior de la labor de las personas 358 00:17:45,560 --> 00:17:49,340 que han venido antes que nosotros, se llevará a sentado el hecho de que esto está sucediendo 359 00:17:49,340 --> 00:17:50,300 debajo de la capucha. 360 00:17:50,300 --> 00:17:53,840 Pero estamos mucho más interesados ​​en construcción de cosas que son más 361 00:17:53,840 --> 00:17:55,880 interesante en la cima de todo esto. 362 00:17:55,880 --> 00:17:58,900 >> Y así, de hecho, el primer programa que escribió en scratch fue esta super simple 363 00:17:58,900 --> 00:18:00,600 uno, Hello World. 364 00:18:00,600 --> 00:18:05,100 Y usted puede pensar en esto como ser el principal del programa que gobierna Scratch 365 00:18:05,100 --> 00:18:07,280 comportamiento a partir del viernes pasado. 366 00:18:07,280 --> 00:18:11,510 >> Hoy en día, vamos a empezar a traducir Piezas del rompecabezas de Scratch en 367 00:18:11,510 --> 00:18:16,040 código fuente en este lenguaje llamado C de manera que lo que parecía esto en 368 00:18:16,040 --> 00:18:20,230 Viernes, a partir de hoy en adelante, es Ahora va a tener este aspecto. 369 00:18:20,230 --> 00:18:21,860 Es cierto que más críptica. 370 00:18:21,860 --> 00:18:25,010 Es bastante molesto y tipo de cuenta adormecedor para ver todas las citas 371 00:18:25,010 --> 00:18:27,760 y el punto y coma y el paréntesis y así sucesivamente. 372 00:18:27,760 --> 00:18:32,350 >> Pero si empiezas a hacer caso omiso de cualquier cosa que no lo entiendo, y realmente mirar 373 00:18:32,350 --> 00:18:35,960 en la esencia del texto en blanco sobre la pantalla, seguro que ver, como yo, 374 00:18:35,960 --> 00:18:40,360 "Hola, mundo". Esto se alinea con el declaración púrpura encima de la tapa, y resulta 375 00:18:40,360 --> 00:18:44,790 que la palabra clave principal se va a alinear conceptualmente con cuando está verde 376 00:18:44,790 --> 00:18:46,350 bandera clic. 377 00:18:46,350 --> 00:18:49,820 >> Así, en otras palabras, mientras que en los arañazos, implementamos este programa Hello World 378 00:18:49,820 --> 00:18:53,360 con esas dos piezas de un rompecabezas, en C, vamos a ponerla en práctica con estas 379 00:18:53,360 --> 00:18:55,510 cuatro líneas un tanto crípticos. 380 00:18:55,510 --> 00:18:58,130 Pero a medida que nos sumergimos más profundamente en esto, usted ver que cada uno de los 381 00:18:58,130 --> 00:19:02,730 caracteres blancos en la pantalla en realidad tiene un significado importante, 382 00:19:02,730 --> 00:19:05,880 y la mayoría de nuestros programas van a mirar estructuralmente lo mismo. 383 00:19:05,880 --> 00:19:08,980 Así que una declaración, para ser claros, lo que parecía "decir hola mundo" en la 384 00:19:08,980 --> 00:19:12,020 Viernes va a empezar a buscar como este lunes. 385 00:19:12,020 --> 00:19:15,250 printf ("hola, mundo"). 386 00:19:15,250 --> 00:19:17,700 Y hay algo de barra invertida raro n, no hay paréntesis, no hay 387 00:19:17,700 --> 00:19:18,490 punto y coma. 388 00:19:18,490 --> 00:19:21,950 >> Pero al final del día, la tecla llevar hoy es que todo lo que estamos haciendo 389 00:19:21,950 --> 00:19:25,710 está traduciendo cosas de cuadro formar a forma de texto. 390 00:19:25,710 --> 00:19:28,820 Así que un bucle que se veía así la semana pasada se va a mirar ahora 391 00:19:28,820 --> 00:19:30,140 algo como esto. 392 00:19:30,140 --> 00:19:33,020 >> Y permítanme rechazan, al igual que en Scratch, hay diferentes maneras de 393 00:19:33,020 --> 00:19:34,110 lograr el mismo objetivo. 394 00:19:34,110 --> 00:19:38,860 Igual en C. Yo no estoy mostrando el único manera de hacer las cosas, sino una forma de 395 00:19:38,860 --> 00:19:43,230 traducir esto para siempre bloquear a un bucle en C. 396 00:19:43,230 --> 00:19:44,980 >> Este de aquí, repetir 10 veces. 397 00:19:44,980 --> 00:19:47,580 Esto sí que me tipo de curva la mente la primera vez que lo veo. 398 00:19:47,580 --> 00:19:49,860 Pero para poner en práctica que, en adelante, vamos a utilizar un 399 00:19:49,860 --> 00:19:51,990 bucle, por así decirlo. 400 00:19:51,990 --> 00:19:56,150 Y está claro que hay un poco de sintaxis que es un poco complejo allí con I y 401 00:19:56,150 --> 00:19:59,740 igual y 0, pero una vez que nos sumergimos en que hoy en adelante, te vas 402 00:19:59,740 --> 00:20:04,260 a ver que eso es todo, simplemente haciendo algunas aritmética básica para nosotros desde 0 403 00:20:04,260 --> 00:20:07,720 en un máximo de 9 o 10 en este caso. 404 00:20:07,720 --> 00:20:11,570 >> Por último, con variables, como se recordará que una variable es una pieza de almacenamiento. 405 00:20:11,570 --> 00:20:14,290 Bueno, lo que teníamos a la izquierda allí el pasado semana se va a ver un poco de 406 00:20:14,290 --> 00:20:15,920 algo como esto esta semana. 407 00:20:15,920 --> 00:20:17,870 Pero, de nuevo, más sobre esto más por venir. 408 00:20:17,870 --> 00:20:20,700 >> Tuvimos expresiones booleanas, que la semana pasada, parecía esto. 409 00:20:20,700 --> 00:20:23,370 Esta semana en adelante, van a empezar a mirar un poco así. 410 00:20:23,370 --> 00:20:24,890 >> Y éste es en realidad un poco tranquilizador. 411 00:20:24,890 --> 00:20:27,680 En realidad es casi tan simple como los bloques verdes. 412 00:20:27,680 --> 00:20:31,115 Pero aquí tenemos, de nuevo, una sintaxis nueva con los símbolos de unión, pero se puede 413 00:20:31,115 --> 00:20:35,390 quizás adivinar mientras que en el principio, decir A-N-D, al parecer en C, estamos 414 00:20:35,390 --> 00:20:37,070 va a decir ampersand ampersand. 415 00:20:37,070 --> 00:20:39,650 Pero todo esto se convertirá en natural antes de tiempo. 416 00:20:39,650 --> 00:20:40,680 >> Condiciones. 417 00:20:40,680 --> 00:20:42,610 La semana pasada, parecía que esta en la izquierda. 418 00:20:42,610 --> 00:20:44,800 Esta semana, a la derecha, es va a parecer eso. 419 00:20:44,800 --> 00:20:48,560 Pero, de nuevo, la conclusión clave aquí es que como usted ve las cosas como que en 420 00:20:48,560 --> 00:20:51,950 la derecha, y sobre todo si es menor cómodo, es una especie de sobre su 421 00:20:51,950 --> 00:20:54,950 cabeza, te dan un poco abrumado que Realmente no tengo ni idea de lo que podía 422 00:20:54,950 --> 00:20:58,420 posiblemente llegar a que desde el principio - 423 00:20:58,420 --> 00:20:59,500 sin juego de palabras - 424 00:20:59,500 --> 00:21:05,300 sólo se da cuenta de que es realmente la misma idea de que probablemente se sintió mucho más 425 00:21:05,300 --> 00:21:06,760 natural de la semana anterior. 426 00:21:06,760 --> 00:21:10,960 E incluso si no se ha zambullido en problema set 0, me atrevo a decir que encontrarás 427 00:21:10,960 --> 00:21:13,790 que las piezas del rompecabezas son bastante intuitiva, o al menos 428 00:21:13,790 --> 00:21:16,050 vuelto tan largo del tiempo. 429 00:21:16,050 --> 00:21:16,990 >> Así que vamos a bucear pulg 430 00:21:16,990 --> 00:21:20,760 Vamos a poner las manos en aquí con este primer programa sencillo. 431 00:21:20,760 --> 00:21:22,410 Y simple es, por supuesto, relativa. 432 00:21:22,410 --> 00:21:25,190 Para ello, voy a cambiar las pantallas a ese dispositivo que se llama el 433 00:21:25,190 --> 00:21:26,150 Aparato CS50. 434 00:21:26,150 --> 00:21:29,700 El aparato CS50 es un pedazo de software que se ejecuta dentro de una 435 00:21:29,700 --> 00:21:33,920 ventana en mi Mac, y también se puede ejecutar en una ventana dentro de su PC, que 436 00:21:33,920 --> 00:21:38,720 me permite tener exactamente el mismo Entorno de ordenador ya que cada TF, como 437 00:21:38,720 --> 00:21:40,940 cada CA, ya que cada estudiante en la clase. 438 00:21:40,940 --> 00:21:44,590 Debido a que el aparato CS50 es literalmente otro sistema operativo 439 00:21:44,590 --> 00:21:45,410 llamado Linux - 440 00:21:45,410 --> 00:21:47,160 específicamente Fedora Linux - 441 00:21:47,160 --> 00:21:51,320 y nosotros, el personal, hemos configurado el proceso de instalación de este 442 00:21:51,320 --> 00:21:55,200 sistema operativo de tal manera que uno, hay un pequeño logo en el CS50 443 00:21:55,200 --> 00:21:59,240 medio, dos, hay un menú personalizado en la parte inferior, y tres, pedagógicamente, 444 00:21:59,240 --> 00:22:02,570 hemos simplificado la interfaz de usuario como tanto como sea posible para que cuando se 445 00:22:02,570 --> 00:22:05,540 arrancar por primera vez esta cosa por su cuenta Mac o PC, que tienen el mismo 446 00:22:05,540 --> 00:22:08,280 medio ambiente como todos los demás, y usted tener todas las herramientas que usted necesita 447 00:22:08,280 --> 00:22:11,390 para el curso sin tener que figura cómo instalar cada uno y 448 00:22:11,390 --> 00:22:13,280 todas las herramientas de forma individual. 449 00:22:13,280 --> 00:22:15,840 >> Así que esto parece relativamente como Mac OS o Windows. 450 00:22:15,840 --> 00:22:18,760 En la esquina inferior izquierda, que esencialmente tener un menú de inicio de 451 00:22:18,760 --> 00:22:20,280 tipo, o un menú Apple. 452 00:22:20,280 --> 00:22:23,700 Y entonces usted tiene lo que se sospecha serán sus tres iconos más comunes. 453 00:22:23,700 --> 00:22:24,460 Uno de ellos es Chrome. 454 00:22:24,460 --> 00:22:26,460 Hay un navegador dentro del aparato. 455 00:22:26,460 --> 00:22:29,970 >> Dos es un programa llamado gedit, que vimos brevemente la semana pasada, que es 456 00:22:29,970 --> 00:22:31,310 sólo un editor gráfico. 457 00:22:31,310 --> 00:22:35,350 Y tres es un programa Terminal, que es una ventana en blanco y negro de 458 00:22:35,350 --> 00:22:39,860 antaño que nos permite escribir más arcanos comandos, pero más poderosas 459 00:22:39,860 --> 00:22:40,660 nuestro teclado. 460 00:22:40,660 --> 00:22:44,220 Así que voy a seguir adelante y hacer clic en gedit, y estar seguros de que un problema 461 00:22:44,220 --> 00:22:48,520 set 1, que se publicará el viernes, será Puedes caminar a través de todos estos mismos pasos. 462 00:22:48,520 --> 00:22:51,730 >> Tenga en cuenta que tengo una muy simple interfaz de usuario con tres partes. 463 00:22:51,730 --> 00:22:54,990 A la izquierda, tengo un gran vacío ventana llama código fuente. 464 00:22:54,990 --> 00:22:58,930 Ahí es donde voy a ver un resumen de cualquier código que escribo. 465 00:22:58,930 --> 00:23:01,990 Por el lado de la mano derecha, tengo un gran ficha, en la actualidad no son salvos, y eso es 466 00:23:01,990 --> 00:23:03,510 donde mi código va a ir. 467 00:23:03,510 --> 00:23:06,780 Y en el fondo, tengo una embebido Ventana de terminal, un blanco y negro 468 00:23:06,780 --> 00:23:12,060 indicativo en el cual puedo escribir comandos para compilar y ejecutar mis programas - que 469 00:23:12,060 --> 00:23:14,110 es decir, de hacer y ejecutar mis programas. 470 00:23:14,110 --> 00:23:15,170 >> Así que empecemos simple. 471 00:23:15,170 --> 00:23:17,700 Déjame ir a Archivo, Guardar. 472 00:23:17,700 --> 00:23:20,530 Voy a seguir adelante y entrar en jharvard. 473 00:23:20,530 --> 00:23:24,320 Así el aparato, con independencia de lo su nombre es, pertenece a un tipo llamado 474 00:23:24,320 --> 00:23:28,250 John Harvard, que tiene una casa jharvard directorio dentro de los cuales la totalidad de su 475 00:23:28,250 --> 00:23:29,100 archivos irán. 476 00:23:29,100 --> 00:23:31,640 Es su propia copia de su cuenta, así que no estamos todos compartiendo 477 00:23:31,640 --> 00:23:33,530 el mismo disco duro. 478 00:23:33,530 --> 00:23:35,580 Sólo tienes la ilusión de John Harvard propia. 479 00:23:35,580 --> 00:23:38,350 >> De antemano, yo en realidad Dropbox instalado. 480 00:23:38,350 --> 00:23:42,600 El aparato viene con preprepared Dropbox para que si algo sale mal 481 00:23:42,600 --> 00:23:45,950 durante el semestre, si no tienes configurado el aparato con un libre 482 00:23:45,950 --> 00:23:48,950 Cuenta de Dropbox, todos los archivos se ser copiados automáticamente para que 483 00:23:48,950 --> 00:23:50,430 puede recuperar muy fácilmente. 484 00:23:50,430 --> 00:23:53,980 Y yo voy a ir a mi Dropbox directorio, y ya va 485 00:23:53,980 --> 00:23:55,530 a ser un par de otras cosas allí. 486 00:23:55,530 --> 00:24:02,090 >> Pero voy a seguir adelante y vaya a Archivo, Guardar. 487 00:24:02,090 --> 00:24:05,930 Voy a ir a jharvard, Dropbox, y hasta aquí, me voy a 488 00:24:05,930 --> 00:24:10,590 dar mi programa un super simple nombrar, hello.c, a continuación, guardar. 489 00:24:10,590 --> 00:24:11,810 Así que tengo la misma interfaz ahora. 490 00:24:11,810 --> 00:24:14,190 Lo único que ha cambiado es la parte superior pestaña hacia arriba. 491 00:24:14,190 --> 00:24:17,170 Así que estoy muy rápidamente va a recrear que el programa de la 492 00:24:17,170 --> 00:24:19,060 desliza hace un momento. 493 00:24:19,060 --> 00:24:25,690 >> Así que en main (void), y luego printf, "Hola, mundo", un tanto críptica 494 00:24:25,690 --> 00:24:29,920 barra invertida n, cerca de cotización, cerca paréntesis, punto y coma, y 495 00:24:29,920 --> 00:24:32,030 luego Ctrl S para guardar. 496 00:24:32,030 --> 00:24:34,860 Y fíjense en un aparte de lo que acaba aparecido aquí en la parte superior izquierda. 497 00:24:34,860 --> 00:24:37,490 Y esto no es útil hoy en día, pero será útil en el tiempo. 498 00:24:37,490 --> 00:24:40,160 Usted acaba de ver, de nuevo, un resumen de el código que has escrito. 499 00:24:40,160 --> 00:24:43,320 Y porque yo escribí algo que se llama principal, por eso principal apareció la palabra 500 00:24:43,320 --> 00:24:44,030 hasta allí. 501 00:24:44,030 --> 00:24:46,610 Pero en su mayor parte, no es necesario que en la actualidad. 502 00:24:46,610 --> 00:24:51,130 >> Muy bien, así que me dicen que esta es mi primero programa escrito en una programación 503 00:24:51,130 --> 00:24:54,620 lenguaje llamado C. Sabemos desde el viernes que lo que esta cosa va a hacer 504 00:24:54,620 --> 00:24:58,450 muy sin interés cuando correr es sólo la pantalla - 505 00:24:58,450 --> 00:25:01,270 en otras palabras, la impresión, como un ordenador científico diría - 506 00:25:01,270 --> 00:25:03,310 hola mundo en la pantalla. 507 00:25:03,310 --> 00:25:06,800 Así que para hacer esto, te darás cuenta de que tengo bajar aquí a mi terminal 508 00:25:06,800 --> 00:25:09,250 ventana, y ahora tengo el símbolo parpadea. 509 00:25:09,250 --> 00:25:15,480 Pero esto es ahora una versión del teclado de mi directorio home John Harvard. 510 00:25:15,480 --> 00:25:19,610 Es una forma de teclado a través del cual para navegar por el disco duro. 511 00:25:19,610 --> 00:25:25,380 >> Así que no puedo realmente escribir como lo hice la semana pasada hacen hola, porque es 512 00:25:25,380 --> 00:25:27,230 voy a decir ninguna regla para hacer diana - 513 00:25:27,230 --> 00:25:27,950 algo anda mal. 514 00:25:27,950 --> 00:25:31,690 Yo no sé muy bien lo que el mensaje significa, pero eso es porque por defecto, 515 00:25:31,690 --> 00:25:35,350 cuando esta ventana en blanco y negro es abierto, estoy dentro de John Harvard 516 00:25:35,350 --> 00:25:36,160 directorio personal. 517 00:25:36,160 --> 00:25:39,180 Pero ¿dónde puedo guardar ese programa? 518 00:25:39,180 --> 00:25:40,440 En mi carpeta de Dropbox. 519 00:25:40,440 --> 00:25:43,110 >> Ahora, todos nosotros hemos crecido con equipos en los que basta con hacer doble clic 520 00:25:43,110 --> 00:25:45,610 en el icono de una carpeta, abre, y voila. 521 00:25:45,610 --> 00:25:48,280 Ahí es donde el archivo llamado hola.c sería. 522 00:25:48,280 --> 00:25:49,470 Así que de hecho, vamos a hacer eso. 523 00:25:49,470 --> 00:25:51,610 >> Déjame ir por delante y minimizar gedit al igual que lo haría en 524 00:25:51,610 --> 00:25:52,990 Windows o Mac OS. 525 00:25:52,990 --> 00:25:56,160 Déjame ir a la Home carpeta en la parte superior izquierda. 526 00:25:56,160 --> 00:25:57,620 Nos vemos aquí un montón de carpetas. 527 00:25:57,620 --> 00:25:58,870 Aquí está mi carpeta de Dropbox. 528 00:25:58,870 --> 00:26:00,770 Las marcas de verificación significa que ha sido sincronizado. 529 00:26:00,770 --> 00:26:04,040 Y hay un par de cosas aquí, pero observe que hello.c es 530 00:26:04,040 --> 00:26:04,960 de hecho allí mismo. 531 00:26:04,960 --> 00:26:08,050 >> Y así, en Mac OS o Windows, normalmente, Me gustaría doble clic en eso, se abre en 532 00:26:08,050 --> 00:26:10,220 cualquier programa, y ​​estoy listo para salir. 533 00:26:10,220 --> 00:26:13,370 Pero ahora, al menos a partir de hoy, nos tendrá que tomar un paso hacia atrás sólo para 534 00:26:13,370 --> 00:26:16,960 le dará algunas herramientas básicas para su caja de herramientas con las que hacer más 535 00:26:16,960 --> 00:26:18,980 cosas poderosas dentro de poco. 536 00:26:18,980 --> 00:26:22,280 >> Así que en este indicador, que tengo que hacer la equivalente a hacer doble clic el 537 00:26:22,280 --> 00:26:23,560 Carpeta de Dropbox. 538 00:26:23,560 --> 00:26:29,900 Y para hacer eso, voy a escribir para CD cambiar de directorio, Dropbox, enter. 539 00:26:29,900 --> 00:26:36,100 Y ahora cuenta los paréntesis en mi llamado prompt dice ahora que estoy en 540 00:26:36,100 --> 00:26:38,470 tilde, el pequeño garabato símbolo en la parte superior izquierda de 541 00:26:38,470 --> 00:26:40,860 mayoría de los teclados, / Dropbox. 542 00:26:40,860 --> 00:26:45,200 Esto es sólo la notación abreviada de diciendo humana, que ahora está en el interior de 543 00:26:45,200 --> 00:26:48,650 la carpeta de Dropbox, como si usted hubiera hecho doble clic en él. 544 00:26:48,650 --> 00:26:54,610 >> Así que ahora si sigo adelante y escriba make hola, entrar, veo una muy críptico 545 00:26:54,610 --> 00:26:57,450 comando, pero no un mensaje de error, al parecer, y luego 546 00:26:57,450 --> 00:26:59,020 otro indicador que parpadea. 547 00:26:59,020 --> 00:27:04,470 Y si usted recuerda, siempre tan rápidamente el viernes, hicimos esto. . / Hola. 548 00:27:04,470 --> 00:27:10,000 >> Lo que estás a punto de ver es el resultado de mi marcha de este programa, o, en el Mac 549 00:27:10,000 --> 00:27:14,310 Términos OS y PC, si normalmente me doblo haga clic en un programa -. una aplicación 550 00:27:14,310 --> 00:27:17,620 programa o un archivo. exe, se abre una ventana y se ejecuta. 551 00:27:17,620 --> 00:27:21,920 Typing. / Hola es como doble clic en un programa para ejecutarlo, pero 552 00:27:21,920 --> 00:27:23,280 utilizando mi teclado. 553 00:27:23,280 --> 00:27:25,410 >> Enter, hola mundo. 554 00:27:25,410 --> 00:27:26,150 Y eso es todo. 555 00:27:26,150 --> 00:27:29,150 Así que vamos burlan de esto aparte de lo que no se siente demasiado como griego. 556 00:27:29,150 --> 00:27:31,370 >> Así. / Significa qué? 557 00:27:31,370 --> 00:27:34,120 Cualquiera que haya navegado un teclado entorno como este, lo que es punto 558 00:27:34,120 --> 00:27:36,690 refiriendo? 559 00:27:36,690 --> 00:27:37,800 El directorio actual. 560 00:27:37,800 --> 00:27:41,320 >> Así que el directorio actual es sólo sinónimo de una carpeta. 561 00:27:41,320 --> 00:27:46,230 Así diciendo slash dot, que estoy diciendo, buscar un programa que se llama hola en el 562 00:27:46,230 --> 00:27:47,250 directorio actual - 563 00:27:47,250 --> 00:27:48,540 en la carpeta actual. 564 00:27:48,540 --> 00:27:50,480 En otras palabras, mi carpeta de Dropbox. 565 00:27:50,480 --> 00:27:54,220 Y es por eso que oprimir la tecla Enter después realmente ejecuta el programa. 566 00:27:54,220 --> 00:27:58,790 >> Si ahora escribo LS, observe que veo todo en mi carpeta de Dropbox. 567 00:27:58,790 --> 00:28:02,000 Conseguir Started.pdf, que Dropbox le da de forma gratuita, mis fotos 568 00:28:02,000 --> 00:28:05,450 directorio, un directorio público, sin guardar Documento 1 que hice por equivocación un 569 00:28:05,450 --> 00:28:09,730 Hace momento, foo.c, el cual hice anteriormente hoy en día, y luego dos líneas - 570 00:28:09,730 --> 00:28:12,090 hola.c y hola. 571 00:28:12,090 --> 00:28:17,280 >> Hello.c es el programa que escribí con gedit, y lo que es hola en verde? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 El saludo en el verde es el ejecutable. 574 00:28:22,940 --> 00:28:27,020 En otras palabras, cuando me encontré con este comando hace un momento - Let Me Roll 575 00:28:27,020 --> 00:28:28,040 atrás en el tiempo - 576 00:28:28,040 --> 00:28:32,400 cuando me encontré con hacer hola, eso es el paso intermedio aquí. 577 00:28:32,400 --> 00:28:34,410 Y tomó hola.c como entrada - 578 00:28:34,410 --> 00:28:39,910 Código fuente AKA - y produjo una archivo denominado hola como salida, que 579 00:28:39,910 --> 00:28:42,510 contiene todos estos ceros y unos. 580 00:28:42,510 --> 00:28:47,640 Y por eso, al final, no puedo realmente ejecutar un comando como. / hola. 581 00:28:47,640 --> 00:28:53,310 A causa de Intel Inside, mi funcionamiento sistema, Linux, abre esos ceros 582 00:28:53,310 --> 00:28:55,820 y queridos, les da de comer a la cerebro de la computadora - 583 00:28:55,820 --> 00:28:56,580 la CPU - 584 00:28:56,580 --> 00:29:00,460 y que la CPU sabe, oh, aquí hay un patrón de ceros y unos que dicen 585 00:29:00,460 --> 00:29:02,800 imprimir lo siguiente en la pantalla. 586 00:29:02,800 --> 00:29:04,450 >> ¿Qué es lo siguiente? 587 00:29:04,450 --> 00:29:07,650 Entre comillas, "hola mundo". 588 00:29:07,650 --> 00:29:12,100 >> Muy bien, por lo que un breve resumen de algunos de estos comandos para que podamos empezar a 589 00:29:12,100 --> 00:29:13,350 tomar por sentado. 590 00:29:13,350 --> 00:29:15,550 Permítanme Pase a la donde lo dejamos. 591 00:29:15,550 --> 00:29:22,230 Y te recuerdo que teníamos CD a nuestras espaldas terminar hace un momento. 592 00:29:22,230 --> 00:29:24,880 Estos son, me atrevo a decir, por propósitos de hoy - 593 00:29:24,880 --> 00:29:29,010 tal vez esta semana - los únicos comandos que puede ser que necesite para escribir en el comando 594 00:29:29,010 --> 00:29:30,580 pedirá además de hacer. 595 00:29:30,580 --> 00:29:34,510 >> Así CD estaba de qué? 596 00:29:34,510 --> 00:29:35,180 Cambiar directorio. 597 00:29:35,180 --> 00:29:38,010 Es sólo el equivalente a dos al hacer clic en una carpeta. 598 00:29:38,010 --> 00:29:41,320 Y en un aparte, si usted recibe perdido alguna vez en el interior de su 599 00:29:41,320 --> 00:29:43,430 aparato, de tal manera que Dropbox - 600 00:29:43,430 --> 00:29:45,420 Quiero volver a mi directorio jharvard - 601 00:29:45,420 --> 00:29:50,490 en caso de duda, CD, introduzca, sin otra palabras, y sólo te cremalleras la espalda 602 00:29:50,490 --> 00:29:53,110 al punto de partida, que es un pequeño atajo. 603 00:29:53,110 --> 00:29:54,840 >> Muy bien, así que ahora otros comandos. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 He escrito que hace un momento. 606 00:29:56,840 --> 00:29:59,500 ¿Qué crees que LS representa? 607 00:29:59,500 --> 00:30:00,470 >> Por lo tanto, la lista, ¿no? 608 00:30:00,470 --> 00:30:03,300 De vuelta en el día, cuando los seres humanos venían con estos comandos, que 609 00:30:03,300 --> 00:30:07,180 estaban tratando de ser eficiente, y más bien escribir a máquina L-I-S-T entrar, 610 00:30:07,180 --> 00:30:08,470 decidido LS. 611 00:30:08,470 --> 00:30:09,080 Eso está bien. 612 00:30:09,080 --> 00:30:10,420 Suena bastante como lista. 613 00:30:10,420 --> 00:30:13,870 Vamos a escriba LS entrar, y que lista los archivos o carpetas en mi 614 00:30:13,870 --> 00:30:15,000 carpeta actual. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, probablemente pueda adivinar. 616 00:30:17,530 --> 00:30:18,440 Haga directorio. 617 00:30:18,440 --> 00:30:22,010 Así que no te vas a algún menú archivo y elija Nueva carpeta en este entorno. 618 00:30:22,010 --> 00:30:27,410 Más bien, escriba el espacio de comando mkdir y luego el nombre de la carpeta 619 00:30:27,410 --> 00:30:29,850 que desea crear, y les será hecho. 620 00:30:29,850 --> 00:30:32,380 >> rm, probablemente pueda adivinar. 621 00:30:32,380 --> 00:30:33,480 Quitar o eliminar. 622 00:30:33,480 --> 00:30:36,740 Así que si desea eliminar un archivo, se le ver en el problema de establecer cómo 623 00:30:36,740 --> 00:30:37,240 puede hacer esto. 624 00:30:37,240 --> 00:30:39,510 Y rmdir, quitar el directorio. 625 00:30:39,510 --> 00:30:42,320 >> Así que, de nuevo, yo me ocuparé de volar a través de algunos de estos detalles, uno, porque 626 00:30:42,320 --> 00:30:46,010 no todos son tan divertido para pasar entonces, sino dos, le daremos en 627 00:30:46,010 --> 00:30:48,720 mucho mayor detalle en cualquiera de los El problema de curso establece, en particular 628 00:30:48,720 --> 00:30:52,370 las ediciones estándar, cualquiera de los pasos que es posible que tenga que escribir de manera 629 00:30:52,370 --> 00:30:54,830 que se obtiene más y más cómodo con estas cosas. 630 00:30:54,830 --> 00:30:57,430 >> Pero ahora déjame desmenuzar una cosa más. 631 00:30:57,430 --> 00:31:02,580 Cuando escribimos maquillaje hola hace un momento, vimos una secuencia críptica de comandos. 632 00:31:02,580 --> 00:31:04,805 Vimos, de nuevo, hace hola. 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 OK, vamos a hacer esto. 635 00:31:08,520 --> 00:31:11,840 Estaba a punto de cometer un error, pero [Inaudible] ahora admitir que estaba a punto de 636 00:31:11,840 --> 00:31:14,400 y hacerlo de forma deliberada. 637 00:31:14,400 --> 00:31:15,810 >> ¿Qué hice mal ahora? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 Sí, así que no estoy en el Dropbox directorio, porque hace un momento me 640 00:31:21,060 --> 00:31:22,720 CD con tipo y simplemente pulsa enter. 641 00:31:22,720 --> 00:31:25,480 Eso me has volver al punto de partida, que no es donde mi archivo 642 00:31:25,480 --> 00:31:31,720 es, por lo que realmente necesito hacer CD Dropbox Entro, y ahora puedo hacer rm hola 643 00:31:31,720 --> 00:31:34,060 introducir, retire fichero regular hola. 644 00:31:34,060 --> 00:31:35,200 No sé por qué es tan críptico. 645 00:31:35,200 --> 00:31:37,600 Eso sólo significa que está usted seguro que desea eliminar hola? 646 00:31:37,600 --> 00:31:41,510 Puede escribir y para sí, entrar, y ahora se ha ido. 647 00:31:41,510 --> 00:31:46,010 >> Y ahora si escribo hacer hola de nuevo, es va a recrear mi código objeto, 648 00:31:46,010 --> 00:31:47,460 recrear esos ceros y unos. 649 00:31:47,460 --> 00:31:51,070 Pero ¿cuál es el trato con esta muy largo de comandos? 650 00:31:51,070 --> 00:31:53,960 Bueno, vamos burlan esto aparte en poco tiempo, pero hacer - 651 00:31:53,960 --> 00:31:55,500 Le dije un poco de una mentira piadosa antes - 652 00:31:55,500 --> 00:31:56,880 no es un compilador. 653 00:31:56,880 --> 00:32:00,350 Hacer es un programa que automáticamente se da cuenta de cómo se lleva un 654 00:32:00,350 --> 00:32:02,060 compilador para usted. 655 00:32:02,060 --> 00:32:07,490 >> Así que el comando que realmente debería ser corriendo con el fin de convertir hola.c 656 00:32:07,490 --> 00:32:11,240 hola en realidad se ve un poco de la misma familia. 657 00:32:11,240 --> 00:32:15,900 Y Dios no lo quiera, tenemos que en realidad recuerde que escribir cada vez que toda 658 00:32:15,900 --> 00:32:17,280 secuencia de comandos fuera. 659 00:32:17,280 --> 00:32:21,360 El propósito de hacer en la vida es recordar que el grado de complejidad de 660 00:32:21,360 --> 00:32:24,470 nosotros y automatizar lo que de otro modo ser pasos muy tediosas. 661 00:32:24,470 --> 00:32:26,040 >> Pero puedo aproximar eso. 662 00:32:26,040 --> 00:32:29,960 Así por esta pequeña hoja de trucos aquí, puede aproximar lo que comando es 663 00:32:29,960 --> 00:32:33,960 haciendo por clang simplemente escribiendo, que es el nombre del compilador que estaremos 664 00:32:33,960 --> 00:32:35,170 el uso de este semestre. 665 00:32:35,170 --> 00:32:38,500 Si alguno de ustedes alguna vez han hecho iOS desarrollo para el iPhone o el iPad, 666 00:32:38,500 --> 00:32:42,930 Clang es el programa que ha utilizado dentro de Xcode para hacer sus aplicaciones. 667 00:32:42,930 --> 00:32:46,360 Clang, sin embargo, es sólo otro programa cuyo nombre se puede escribir en el comando 668 00:32:46,360 --> 00:32:49,210 rápido, y con la introducción de este momento, Puedo presentarme algo que es un 669 00:32:49,210 --> 00:32:52,410 poco representativa de comandos para venir. 670 00:32:52,410 --> 00:32:53,910 Así que déjame hacer esto manualmente. 671 00:32:53,910 --> 00:32:59,240 >> Así rm hola, y ahora cuenta en caso de que Yo, al igual que una comprobación de validez - 672 00:32:59,240 --> 00:33:03,180 . / Hola, ¿qué crees que debe ver si puedo hacer esto? 673 00:33:03,180 --> 00:33:04,060 Algún tipo de error. 674 00:33:04,060 --> 00:33:05,110 No existe el directorio de archivos. 675 00:33:05,110 --> 00:33:06,740 Así que uno en realidad es bastante directa. 676 00:33:06,740 --> 00:33:08,110 >> Así que ahora quiero borrar la pantalla. 677 00:33:08,110 --> 00:33:11,370 Control S simplemente borra la pantalla para eliminar algunas distracciones. 678 00:33:11,370 --> 00:33:17,160 Y ahora me voy a manualmente escriba sonido metálico-o hola hello.c. 679 00:33:17,160 --> 00:33:18,890 Entonces, ¿qué es eso de hacer? 680 00:33:18,890 --> 00:33:23,820 Exactamente lo mismo que hacen que hizo por nosotros, pero lo hice tirar algunos de 681 00:33:23,820 --> 00:33:25,430 las palabras superfluas. 682 00:33:25,430 --> 00:33:28,570 >> Clang es el programa que va a tener un archivo c. como entrada y producir 683 00:33:28,570 --> 00:33:30,110 ceros y unos como de salida. 684 00:33:30,110 --> 00:33:35,120 Pero-o de ahora en adelante llamará un interruptor o una bandera. 685 00:33:35,120 --> 00:33:39,080 Esto es sólo jerga techie para decir esta es una palabra que escriba en el símbolo del 686 00:33:39,080 --> 00:33:42,590 que influye de alguna manera el comportamiento del programa que se está ejecutando. 687 00:33:42,590 --> 00:33:47,180 Así que ¿alguien quiere adivinar lo que-o transmite? 688 00:33:47,180 --> 00:33:47,840 >> Salida. 689 00:33:47,840 --> 00:33:52,670 Es sólo alguien medios decidido-o salida de un archivo denominado hola y tomar como 690 00:33:52,670 --> 00:33:56,440 entrada de cualquiera que sea la última palabra sobre el prompt es, hello.c, de modo que si le pego 691 00:33:56,440 --> 00:33:58,930 Ingrese ahora, nada parece suceder. 692 00:33:58,930 --> 00:34:02,010 Y por extraño que parezca, en este mundo de la programación, si no pasa nada, 693 00:34:02,010 --> 00:34:03,980 eso es probablemente una buena cosa porque no hay error 694 00:34:03,980 --> 00:34:05,350 mensaje en la pantalla. 695 00:34:05,350 --> 00:34:07,190 Hola, Intro. 696 00:34:07,190 --> 00:34:08,670 Mi programa ya se ha ejecutado. 697 00:34:08,670 --> 00:34:14,517 >> Pero no puedo hacer cosas estúpidas como pequeños esto. sonido metálico-o, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 entrar, y ahora tengo una idéntica programa denominado hihihi. 699 00:34:18,590 --> 00:34:20,739 Se comporta de la misma, pero el nombre es diferente. 700 00:34:20,739 --> 00:34:23,360 >> Así que esto es sólo para decir que si quieres para influir en el comportamiento de un 701 00:34:23,360 --> 00:34:25,909 programa, que vamos a cada vez más ver cosas llamadas 702 00:34:25,909 --> 00:34:27,739 argumentos de la línea de comandos. 703 00:34:27,739 --> 00:34:28,639 Esta es una línea. 704 00:34:28,639 --> 00:34:29,580 Estás escribiendo comandos. 705 00:34:29,580 --> 00:34:30,969 Ergo, la línea de comandos. 706 00:34:30,969 --> 00:34:35,690 Y los argumentos de línea de comandos son sólo palabras o pequeños pedazos de sintaxis que 707 00:34:35,690 --> 00:34:40,840 influir de alguna manera el comportamiento de los programas que se están ejecutando. 708 00:34:40,840 --> 00:34:44,639 >> Muy bien, eso es tal vez el más programa aburrido que puede escribir y ver. 709 00:34:44,639 --> 00:34:46,670 Ahora vamos a hacer algo más interesante. 710 00:34:46,670 --> 00:34:49,420 Déjenme seguir adelante y crear un nuevo archivo. 711 00:34:49,420 --> 00:34:53,139 Voy a seguir adelante y salvar a este en Directorio principal de John Harvard como, 712 00:34:53,139 --> 00:34:58,670 llamémosle custom.c, para ser un pequeño programa personalizado. 713 00:34:58,670 --> 00:35:01,920 Me voy a acercar a mi superior de las fichas aquí y empezar de nuevo. 714 00:35:01,920 --> 00:35:03,730 >> Incluya stdio.h estándar. 715 00:35:03,730 --> 00:35:04,990 Más sobre esto en un momento. 716 00:35:04,990 --> 00:35:08,240 int main (void), más en eso en un momento. 717 00:35:08,240 --> 00:35:09,490 printf ("hola, David"). 718 00:35:09,490 --> 00:35:12,810 719 00:35:12,810 --> 00:35:14,560 Mucho más interesante, ¿no? 720 00:35:14,560 --> 00:35:20,690 >> Así que ahora si - no a causa de mi nombre, sólo porque es diferente - 721 00:35:20,690 --> 00:35:24,950 hacer entrar personalizado. 722 00:35:24,950 --> 00:35:26,780 Personalizado, hola, David. 723 00:35:26,780 --> 00:35:28,020 Pero incluso eso, también, es una mentira piadosa. 724 00:35:28,020 --> 00:35:30,850 Este programa puede ser que también se llama David.C, porque no es costumbre 725 00:35:30,850 --> 00:35:31,880 comportamiento en absoluto. 726 00:35:31,880 --> 00:35:35,080 En serio, quiero un programa que pida el usuario por su nombre. 727 00:35:35,080 --> 00:35:36,320 >> Entonces, ¿cómo lo hago? 728 00:35:36,320 --> 00:35:38,520 Bueno, déjame desplazo hasta aquí. 729 00:35:38,520 --> 00:35:42,960 Y antes de que yo uso una declaración en Scratch, antes de usar printf, 730 00:35:42,960 --> 00:35:47,600 también conocida como una función, déjame primero preguntar al usuario alguna información. 731 00:35:47,600 --> 00:35:49,690 >> Así que para hacer esto, tengo que hacer un par de cosas. 732 00:35:49,690 --> 00:35:53,360 Uno, necesito un lugar para guardar el usuario de nombrar después de que le he pedido o 733 00:35:53,360 --> 00:35:54,510 por ello. 734 00:35:54,510 --> 00:36:00,120 Lo constructo Qué necesito para utilizar probablemente para almacenar un valor como ese? 735 00:36:00,120 --> 00:36:00,910 Una variable. 736 00:36:00,910 --> 00:36:05,130 >> Así que a diferencia de Scratch, donde se acaba de obtener un bonita pieza de puzzle, aquí, tenemos que 737 00:36:05,130 --> 00:36:07,620 uso, obviamente, palabras a expresarnos. 738 00:36:07,620 --> 00:36:11,510 Y de ahora en adelante, cada vez que desea un palabra o una frase, en la programación, 739 00:36:11,510 --> 00:36:13,090 vamos a llamar a eso una cadena. 740 00:36:13,090 --> 00:36:14,990 Así que una cadena es una palabra o una frase. 741 00:36:14,990 --> 00:36:18,170 Es una secuencia de cero o más caracteres, de manera más formal. 742 00:36:18,170 --> 00:36:22,520 >> Y si quieres una variable como para existe, que tiene que decir dame una. 743 00:36:22,520 --> 00:36:27,490 Y la forma en la que lo haces es decir coma cadena s, donde s puede haber 744 00:36:27,490 --> 00:36:28,740 todo lo que quieras. 745 00:36:28,740 --> 00:36:30,510 De hecho, s es un poco decepcionante. 746 00:36:30,510 --> 00:36:33,250 Déjame ir por delante y más claramente llamarlo nombre. 747 00:36:33,250 --> 00:36:36,570 Dame una cadena llamado nombre. 748 00:36:36,570 --> 00:36:40,180 >> Pero ahora, ¿qué es la persona de nombre por defecto? 749 00:36:40,180 --> 00:36:42,930 Bueno, si el ser humano no se escribe nada en, obviamente, no va 750 00:36:42,930 --> 00:36:44,310 que no hay valor de nombre. 751 00:36:44,310 --> 00:36:48,120 Y resulta que en C, si usted no da una variable de un valor, que va a 752 00:36:48,120 --> 00:36:49,180 tener un valor basura. 753 00:36:49,180 --> 00:36:51,650 Podría tener algunos ceros aleatorios y queridos, por lo que sólo vamos a ver 754 00:36:51,650 --> 00:36:54,570 basura, en verdad, en la pantalla si intenta mostrarlo. 755 00:36:54,570 --> 00:36:59,800 >> Pero puedo arreglarlo diciendo, en realidad, almacenar dentro del nombre de la 756 00:36:59,800 --> 00:37:01,400 siguiente valor. 757 00:37:01,400 --> 00:37:09,240 La forma en que almacena los valores de las variables es si usted tiene un nombre de variable en la 758 00:37:09,240 --> 00:37:13,370 a la izquierda, usted tiene que poner en práctica lo que de alguna manera que desee almacenar en ella a la derecha, y 759 00:37:13,370 --> 00:37:17,650 la sintaxis para que va a ser como sigue. 760 00:37:17,650 --> 00:37:22,120 >> No hemos visto esto antes, pero tomamos en la fe por un momento que hay 761 00:37:22,120 --> 00:37:26,270 existe otra declaración en el mundo que voy a llamar a la función de nuevo, 762 00:37:26,270 --> 00:37:28,310 y esta función es llamada cadena get. 763 00:37:28,310 --> 00:37:29,670 Y lo hace literalmente que. 764 00:37:29,670 --> 00:37:34,680 De alguna manera se obtiene una secuencia de caracteres de la humana y luego 765 00:37:34,680 --> 00:37:36,380 hace algo con él. 766 00:37:36,380 --> 00:37:38,410 >> Y esto se ve como sintaxis críptica. 767 00:37:38,410 --> 00:37:40,880 Normalmente, si usted está utilizando el signo igual - usted está en el mundo de, digamos, 768 00:37:40,880 --> 00:37:43,740 álgebra, y ya está hecho diciendo x es igual a 1. 769 00:37:43,740 --> 00:37:46,570 Aquí no estamos diciendo que nombre es igual a conseguir cuerda. 770 00:37:46,570 --> 00:37:51,270 Estamos diciendo tienda en nombre de lo que es en el lado de la mano derecha 771 00:37:51,270 --> 00:37:52,400 de ese signo igual. 772 00:37:52,400 --> 00:37:55,030 El signo igual representa el operador de asignación. 773 00:37:55,030 --> 00:37:58,240 Es la sintaxis que dice poner lo que está en el lado derecho dentro de lo que es 774 00:37:58,240 --> 00:37:59,090 a la izquierda. 775 00:37:59,090 --> 00:38:03,040 Así consigue la cadena es una nueva pieza de funcionalidad que no sólo 776 00:38:03,040 --> 00:38:03,670 algo - 777 00:38:03,670 --> 00:38:05,000 , pregunta el usuario para una cadena - 778 00:38:05,000 --> 00:38:08,500 sino que también lo vuelve, por así decirlo. 779 00:38:08,500 --> 00:38:10,690 >> Así que vamos a ver lo que está pasando a pasar aquí. 780 00:38:10,690 --> 00:38:14,300 Voy a seguir adelante ahora y alejar la imagen, y yo voy a conseguir un par de 781 00:38:14,300 --> 00:38:15,780 errores en mi pronta. 782 00:38:15,780 --> 00:38:18,750 Voy a escribir make personalizada, escriba. 783 00:38:18,750 --> 00:38:19,230 Wow. 784 00:38:19,230 --> 00:38:20,500 Un montón de errores. 785 00:38:20,500 --> 00:38:23,120 >> Muy bien, así que esto es una especie de abrumador, sin duda al principio, pero 786 00:38:23,120 --> 00:38:27,220 resulta que todos ellos muy mensajes de error crípticos son reconocidamente 787 00:38:27,220 --> 00:38:30,700 refiriéndose a algunos patrones que vamos a empezar a ver el paso del tiempo. 788 00:38:30,700 --> 00:38:32,600 Así que éste voy a arrancar apagado, porque es primero. 789 00:38:32,600 --> 00:38:35,700 El uso de cadena de identificador no declarado. 790 00:38:35,700 --> 00:38:39,400 >> Eso sólo significa que gedit o Clang, en este caso, no sabe 791 00:38:39,400 --> 00:38:40,780 lo que quiero decir con cadena. 792 00:38:40,780 --> 00:38:43,880 Y es que en C, la programación idioma, hay en realidad 793 00:38:43,880 --> 00:38:47,750 hay una variable de tipo string. 794 00:38:47,750 --> 00:38:49,810 C no sabe que existen cuerdas. 795 00:38:49,810 --> 00:38:52,260 >> Pero nosotros, el personal CS50, hacemos. 796 00:38:52,260 --> 00:38:57,080 Y así, antes de la clase, creado un archivo llamado CS50.h. 797 00:38:57,080 --> 00:39:00,060 Y dentro de este archivo - y más en la sintaxis por venir - 798 00:39:00,060 --> 00:39:03,730 dentro de este archivo es una definición de lo que se acaba de definir 799 00:39:03,730 --> 00:39:05,340 verbalmente como una cadena. 800 00:39:05,340 --> 00:39:09,100 Así que simplemente mediante la celebración de esta línea de código en mi programa, yo estoy ahora 801 00:39:09,100 --> 00:39:14,620 enseñanza gedit y hacer y Clang todo lo que a su vez es una cadena. 802 00:39:14,620 --> 00:39:15,475 >> No sé cómo todavía. 803 00:39:15,475 --> 00:39:17,110 En unas pocas semanas, vamos a pelar copias de esa capa. 804 00:39:17,110 --> 00:39:20,340 Pero por ahora, sabemos que esto enseña el compilador de lo que es un 805 00:39:20,340 --> 00:39:22,020 cadena es en realidad. 806 00:39:22,020 --> 00:39:24,230 >> Así que ahora quiero borrar mi terminal de aquí abajo. 807 00:39:24,230 --> 00:39:28,530 Permítanme volver a ejecutar aduana hacer, y yo resuelto todos estos problemas. 808 00:39:28,530 --> 00:39:30,210 Así que esto también va a ser un tema recurrente. 809 00:39:30,210 --> 00:39:34,190 Yo sólo escribí un programa de la línea 9, y sin embargo, yo tenía 18 líneas de errores. 810 00:39:34,190 --> 00:39:35,650 Eso es un poco intimidante. 811 00:39:35,650 --> 00:39:39,260 Pero se dan cuenta de que a menudo caen en cascada, tales Esa pequeña desencadenantes error 812 00:39:39,260 --> 00:39:43,070 la confusión para el compilador, y se ve mucho peor de lo que es. 813 00:39:43,070 --> 00:39:47,460 >> Así que ahora un observador astuto sabrá que me estoy poniendo una cadena de la 814 00:39:47,460 --> 00:39:51,460 usuario, pero no estoy realmente haciendo lo consigo? 815 00:39:51,460 --> 00:39:53,570 No estoy haciendo en realidad nada con ella. 816 00:39:53,570 --> 00:40:01,240 Así que si realmente funciono personalizada de nuevo, que va a sentarse allí. 817 00:40:01,240 --> 00:40:03,380 ¿Qué está pasando? 818 00:40:03,380 --> 00:40:07,990 Mi programa parece estar atascado en qué línea, qué le dirías? 819 00:40:07,990 --> 00:40:09,860 >> Así que en realidad está atrapado en la línea 7. 820 00:40:09,860 --> 00:40:13,600 Y nosotros no hemos visto esto antes, pero en la línea 7, hay, de nuevo, esta 821 00:40:13,600 --> 00:40:14,650 declaración, consiga cadena. 822 00:40:14,650 --> 00:40:15,930 Y hace lo que dice. 823 00:40:15,930 --> 00:40:18,480 Se espera ahora para el ser humano para tomar la cadena. 824 00:40:18,480 --> 00:40:22,230 Esto es completamente intuitivo para mí, el ser humano, porque no he sido informado 825 00:40:22,230 --> 00:40:23,040 lo que debe hacer. 826 00:40:23,040 --> 00:40:27,320 >> Pero déjame ir por delante en la fe y déjame pretendo ser Rob. 827 00:40:27,320 --> 00:40:28,500 Intro. 828 00:40:28,500 --> 00:40:30,930 Ese no es el programa de lo que pretendía. 829 00:40:30,930 --> 00:40:32,350 Así que tenemos nuestro primer blog. 830 00:40:32,350 --> 00:40:34,390 >> Pero vamos a tratar de razonar por qué este es el caso. 831 00:40:34,390 --> 00:40:36,940 En primer lugar, déjame arreglar este primer problema. 832 00:40:36,940 --> 00:40:44,690 Permítaseme añadir aquí una línea que dice: printf, ¿cuál es tu nombre? 833 00:40:44,690 --> 00:40:47,700 Hagamos Cierre de comillas, paréntesis de cierre. 834 00:40:47,700 --> 00:40:51,350 >> Ahora voy a volver a ejecutar el programa. 835 00:40:51,350 --> 00:40:51,760 Problema. 836 00:40:51,760 --> 00:40:54,690 No estoy viendo eso. 837 00:40:54,690 --> 00:40:54,930 >> Derecha. 838 00:40:54,930 --> 00:40:55,990 Yo no recompilarlo. 839 00:40:55,990 --> 00:40:59,800 Así que en un lenguaje como C, debido a que cambiar el código de fuente no significa 840 00:40:59,800 --> 00:41:03,170 que ha cambiado su código de objeto para generar nuevo código objeto, 841 00:41:03,170 --> 00:41:04,330 nuevos ceros y unos. 842 00:41:04,330 --> 00:41:05,590 Usted tiene que volver a compilar. 843 00:41:05,590 --> 00:41:10,300 Si yo ahora costumbre volver a correr, entrar, ah, un poco más claro. 844 00:41:10,300 --> 00:41:11,890 Mi nombre es Rob. 845 00:41:11,890 --> 00:41:12,760 Aún buggy. 846 00:41:12,760 --> 00:41:14,170 >> Y yo diría que hay un par de bichos ahora. 847 00:41:14,170 --> 00:41:15,450 Esto sólo se ve horrible, francamente. 848 00:41:15,450 --> 00:41:18,980 Al igual que, como mínimo, debería tener un espacio allí, o mover el 849 00:41:18,980 --> 00:41:20,330 cursor a la nueva línea. 850 00:41:20,330 --> 00:41:21,370 >> Y, de hecho, la nueva línea. 851 00:41:21,370 --> 00:41:24,660 Eso es algo de una frase clave aquí que que hemos visto, pero no definimos. 852 00:41:24,660 --> 00:41:28,560 La forma en que se obtiene un texto para pasar a la siguiente línea, 853 00:41:28,560 --> 00:41:29,480 usted no hace esto. 854 00:41:29,480 --> 00:41:31,070 Esto es confuso para el equipo. 855 00:41:31,070 --> 00:41:33,830 Esto se ve como dos líneas separadas de código, ninguno de los cuales 856 00:41:33,830 --> 00:41:35,010 es perfectamente correcto. 857 00:41:35,010 --> 00:41:39,380 En su lugar, tiene que ser más explícito y por ejemplo, me da una nueva línea, que nos 858 00:41:39,380 --> 00:41:41,810 Se representan en C con una barra invertida n. 859 00:41:41,810 --> 00:41:43,230 >> Así que hay algunos de esos personajes. 860 00:41:43,230 --> 00:41:45,080 Backslash n solucionará esa estética. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 Déjame a compilar mi programa. 863 00:41:50,870 --> 00:41:52,300 Permítanme volver a ejecutar mi programa. 864 00:41:52,300 --> 00:41:53,520 >> Esto se ve mejor. 865 00:41:53,520 --> 00:41:56,960 Es todavía muy primitivo, pero también es todavía buggy. 866 00:41:56,960 --> 00:41:58,090 Así que hay una - 867 00:41:58,090 --> 00:42:01,680 incluso si nunca has programado antes, es probable que pueda tomar una conjetura 868 00:42:01,680 --> 00:42:04,960 por qué este programa está siendo la adecuada. 869 00:42:04,960 --> 00:42:08,540 ¿Qué necesito para hacer eso Yo no he hecho todavía? 870 00:42:08,540 --> 00:42:10,450 >> Así que tengo que hacer realmente algo con nombre. 871 00:42:10,450 --> 00:42:14,190 Al igual que en el principio, que en realidad podría asignar una variable como n o 872 00:42:14,190 --> 00:42:16,150 contrarrestar como lo hicimos el pasado semana - un valor. 873 00:42:16,150 --> 00:42:18,930 Pero si usted no hace nada con , nada va a suceder. 874 00:42:18,930 --> 00:42:20,210 >> Muy bien, así que vamos a arreglar. 875 00:42:20,210 --> 00:42:23,670 Permítanme tecleo mi variable de allí, y déjame ir aquí. 876 00:42:23,670 --> 00:42:29,120 Déjame a compilar, permítanme volver a ejecutar, Rob. 877 00:42:29,120 --> 00:42:30,540 Ahora sólo soy un idiota, ¿verdad? 878 00:42:30,540 --> 00:42:33,280 >> Así que esto no es realmente conseguir me más. 879 00:42:33,280 --> 00:42:35,850 Pero eso era una perfectamente natural instinto, yo diría, ¿verdad? 880 00:42:35,850 --> 00:42:39,340 Si la variable se denomina nombre, y yo quiero ir allí, ¿por qué no lo hago yo sólo 881 00:42:39,340 --> 00:42:40,200 escribirla allí? 882 00:42:40,200 --> 00:42:42,210 >> Bueno, por supuesto, tenemos para distinguir ahora 883 00:42:42,210 --> 00:42:44,070 entre lo que es una cadena? 884 00:42:44,070 --> 00:42:47,060 Tenga en cuenta que, entre comillas aquí, hola nombrar? 885 00:42:47,060 --> 00:42:48,960 En realidad, esto en sí mismo es una cadena. 886 00:42:48,960 --> 00:42:49,820 Está codificado. 887 00:42:49,820 --> 00:42:50,690 No es de lo humano. 888 00:42:50,690 --> 00:42:54,020 Es de mí, el programador original, pero aún así es una cadena. 889 00:42:54,020 --> 00:42:58,300 >> Así que si usted escribe literalmente N-A-M-E en el interior de una cadena, lo que va a 890 00:42:58,300 --> 00:42:59,120 obtener impresos? 891 00:42:59,120 --> 00:43:03,660 Bueno, N-A-M-E. En su lugar necesitamos para decirle printf, no se imprimen 892 00:43:03,660 --> 00:43:04,870 fuera literalmente el nombre. 893 00:43:04,870 --> 00:43:06,680 Imprima el valor de nombre. 894 00:43:06,680 --> 00:43:08,410 >> Y para hacer eso, hacemos lo siguiente. 895 00:43:08,410 --> 00:43:09,800 Y esto es sólo una convención humana. 896 00:43:09,800 --> 00:43:14,990 Nosotros en cambio decimos% s, y que es sinónimo de cadena. 897 00:43:14,990 --> 00:43:19,810 Y luego, al final de mis cotizaciones de cierre, Voy a poner una coma y 898 00:43:19,810 --> 00:43:23,790 aprobar un segundo argumento en esta declaración. 899 00:43:23,790 --> 00:43:25,970 Voy a escribir el nombre allí. 900 00:43:25,970 --> 00:43:27,960 >> Así que ahora cuenta de que tenemos un ligeramente nueva sintaxis. 901 00:43:27,960 --> 00:43:32,320 Todavía tenemos dos paréntesis y de ahora en adelante, permítanme decir que las cosas 902 00:43:32,320 --> 00:43:36,830 entre paréntesis, representa argumentos en una función - 903 00:43:36,830 --> 00:43:39,730 insumos que de alguna manera van para influir en su comportamiento. 904 00:43:39,730 --> 00:43:43,010 Así que por esa lógica, el número de argumentos sí parece printf ser 905 00:43:43,010 --> 00:43:45,450 tomando en este momento? 906 00:43:45,450 --> 00:43:48,370 >> Así que parece estar tomando dos, y eso es de hecho implicaba 907 00:43:48,370 --> 00:43:49,570 por la coma aquí. 908 00:43:49,570 --> 00:43:51,640 Así que este es un argumento entre comillas. 909 00:43:51,640 --> 00:43:54,540 A pesar de que tiene una coma en ella, todo es entre comillas, lo que significa 910 00:43:54,540 --> 00:43:56,230 es una cadena larga. 911 00:43:56,230 --> 00:43:58,280 Coma, nombre de la variable. 912 00:43:58,280 --> 00:44:00,680 >> Así que ahora quiero alejar. 913 00:44:00,680 --> 00:44:02,240 Permítanme volver a ejecutarlo. 914 00:44:02,240 --> 00:44:03,490 Rob. 915 00:44:03,490 --> 00:44:06,520 Maldita sea, ¿qué hice mal? 916 00:44:06,520 --> 00:44:07,920 >> Muy bien, así que tienes que volver a compilar. 917 00:44:07,920 --> 00:44:11,030 Así que de nuevo, los errores fáciles de hacer desde el principio una y otra vez. 918 00:44:11,030 --> 00:44:15,280 Así que ahora a medida re-run, Rob, entrar, y listo. 919 00:44:15,280 --> 00:44:17,110 Ahora tenemos un programa personalizado. 920 00:44:17,110 --> 00:44:21,660 >> Así que ahora tengo un programa que el uso de algunas características 921 00:44:21,660 --> 00:44:22,520 que son dignas de mención. 922 00:44:22,520 --> 00:44:27,850 Uno, estoy usando CS50.h, de lo contrario conocida como la biblioteca CS50. 923 00:44:27,850 --> 00:44:33,050 Y en el interior de la biblioteca CS50 son funciones que otras personas escribieron - 924 00:44:33,050 --> 00:44:33,980 a saber, el personal - 925 00:44:33,980 --> 00:44:36,620 para su uso, y obtener cadena es uno de ellos. 926 00:44:36,620 --> 00:44:41,310 >> Dentro de la línea 2 es stdio.h, y por qué es allí? 927 00:44:41,310 --> 00:44:42,070 Tome una conjetura. 928 00:44:42,070 --> 00:44:46,200 Lo que existe en el interior de matriz estándar IO? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 Así printf, que no se ve en ninguna parte otro en la pantalla. 931 00:44:49,600 --> 00:44:51,870 Debe venir con el equipo de alguna manera. 932 00:44:51,870 --> 00:44:54,870 ¿De dónde viene? 933 00:44:54,870 --> 00:44:57,660 Está dentro de - se declaró, por así decirlo, en el interior de 934 00:44:57,660 --> 00:44:59,890 un archivo llamado stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> Ahora, para estas cosas, vamos a volver a la larga, debido a que es un poco 936 00:45:02,670 --> 00:45:03,930 distraer por ahora. 937 00:45:03,930 --> 00:45:05,490 Esto se refiere a nuestro tipo de cambio. 938 00:45:05,490 --> 00:45:07,660 Esto se refiere a una discusión. 939 00:45:07,660 --> 00:45:10,230 Pero por hoy, estamos enfocados justo aquí en estas líneas. 940 00:45:10,230 --> 00:45:13,280 >> Así que el nombre de cadena, sólo para recapitular, ¿qué hizo esto por mí? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 Por lo tanto, declaró una variable de tipo string. 943 00:45:19,560 --> 00:45:22,630 Así que se supone que debe ser para las palabras, no para los números. 944 00:45:22,630 --> 00:45:25,530 Como nota aparte, si yo quería que sea un número, yo diría 945 00:45:25,530 --> 00:45:26,560 algo así como int. 946 00:45:26,560 --> 00:45:29,740 Si quería ser un punto flotante valor, algo con un punto decimal, 947 00:45:29,740 --> 00:45:30,600 Yo diría que el flotador. 948 00:45:30,600 --> 00:45:32,640 Pero por hoy, sólo he dicho cadena. 949 00:45:32,640 --> 00:45:35,940 >> Y me he dado esta variable un nombre de nombre, pero lo que pude 950 00:45:35,940 --> 00:45:37,240 han llamado nada. 951 00:45:37,240 --> 00:45:39,340 De hecho, en un principio, lo llamé S. 952 00:45:39,340 --> 00:45:41,050 >> Esto aquí es más que otra declaración. 953 00:45:41,050 --> 00:45:44,170 ¿Cuántos argumentos es este toma de declaraciones? 954 00:45:44,170 --> 00:45:47,890 Así que es simplemente tomar uno, y que es simplemente un detalle estético de 955 00:45:47,890 --> 00:45:49,610 mostrando algo en la pantalla para mí. 956 00:45:49,610 --> 00:45:54,750 ¿Cuál es esta línea 8 haciendo en términos simples? 957 00:45:54,750 --> 00:45:57,320 >> Se está poniendo un valor de la usuario - es decir, una cadena - 958 00:45:57,320 --> 00:45:58,770 y ¿qué hace con ella? 959 00:45:58,770 --> 00:46:02,450 Básicamente se trata de entregarlo a la chico en el lado izquierdo de la 960 00:46:02,450 --> 00:46:07,100 signo de igual modo que en este caso, la variable de nombre en realidad puede almacenarlo. 961 00:46:07,100 --> 00:46:10,020 >> Y entonces printf es otro instancia de una función. 962 00:46:10,020 --> 00:46:11,870 Y decimos que llamar a una función. 963 00:46:11,870 --> 00:46:13,870 Para utilizar una función es llamar a una función. 964 00:46:13,870 --> 00:46:15,640 Esta cosa aparentemente toma dos argumentos. 965 00:46:15,640 --> 00:46:18,100 Éste, coma, éste. 966 00:46:18,100 --> 00:46:20,910 >> Éste sí es sólo una cadena que contiene un marcador de posición. 967 00:46:20,910 --> 00:46:23,860 medio% s ponen otra cadena aquí. 968 00:46:23,860 --> 00:46:27,360 Y así, poniendo nombre después la coma, que está insertando 969 00:46:27,360 --> 00:46:29,420 esa cosa para mí. 970 00:46:29,420 --> 00:46:31,300 >> Así que puedo hacer otras cosas todavía. 971 00:46:31,300 --> 00:46:36,820 Déjame ir adelante ahora y hacer un poco de un programa una tontería, pero me deja borrar esto, 972 00:46:36,820 --> 00:46:38,880 y me deja crear un bucle. 973 00:46:38,880 --> 00:46:41,390 Mientras que es cierto. 974 00:46:41,390 --> 00:46:45,210 El símbolo de cierto es, obviamente, siempre va a ser verdad. 975 00:46:45,210 --> 00:46:49,830 Entonces, ¿qué tipo de bucle estoy induciendo escribiendo una línea como esta? 976 00:46:49,830 --> 00:46:51,070 >> Así que en un bucle infinito, ¿no? 977 00:46:51,070 --> 00:46:52,090 Apenas mientras que la verdadera. 978 00:46:52,090 --> 00:46:56,210 No hay manera de que pueda cambiar la palabra fieles a ser otra cosa, así que esto es 979 00:46:56,210 --> 00:46:57,310 sólo va a correr para siempre. 980 00:46:57,310 --> 00:46:59,960 Así que si alguna vez has tenido en realidad un programa de en su PC o Mac que parece 981 00:46:59,960 --> 00:47:02,480 haber encerrado, o que está haciendo algo y algo, y que acaba de 982 00:47:02,480 --> 00:47:05,500 no puede conseguir lo que hay que dejar de fumar a menos que reiniciar el ordenador o levante el 983 00:47:05,500 --> 00:47:08,360 Administrador de tareas o similares, aquí está un ejemplo. 984 00:47:08,360 --> 00:47:14,340 >> Puedo decir: "Yo soy un programa con errores." Cerrar cotización, cerca 985 00:47:14,340 --> 00:47:15,780 paréntesis, punto y coma. 986 00:47:15,780 --> 00:47:17,010 Así que de nuevo, observe los patrones. 987 00:47:17,010 --> 00:47:21,440 A pesar de que algunos de nuestra sintaxis es nueva, mientras que la palabra clave, la palabra clave cierta, 988 00:47:21,440 --> 00:47:23,590 Aviso Tengo el mismo tipo de llaves. 989 00:47:23,590 --> 00:47:25,890 Tengo un punto y coma y paréntesis. 990 00:47:25,890 --> 00:47:28,000 >> Así que ahora vamos a seguir adelante y compilar esto. 991 00:47:28,000 --> 00:47:29,630 Hacer encargo, aduana. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 Así que en este punto, no es necesario reinicie el aparato, ¿de acuerdo? 994 00:47:36,660 --> 00:47:39,925 Así que la lección aquí es fácil con dos dedos, Control C, 995 00:47:39,925 --> 00:47:41,230 dejaremos de ese programa. 996 00:47:41,230 --> 00:47:45,430 Pero usted puede ver exactamente por qué esta cosa se repite una y otra vez. 997 00:47:45,430 --> 00:47:48,080 >> Puedo hacer algo un poco más complejo como un reclamo. 998 00:47:48,080 --> 00:47:49,600 Voy a seguir adelante y decir lo siguiente. 999 00:47:49,600 --> 00:47:55,210 Para int, que es un entero, i es igual un nombre genérico que le damos a la mayoría 1000 00:47:55,210 --> 00:47:59,500 variables en la programación cuando estás sólo contar, es igual a 0. 1001 00:47:59,500 --> 00:48:08,640 Déjenme seguir adelante y decir mientras que i es, digamos, menos de 100, i plus plus. 1002 00:48:08,640 --> 00:48:10,240 Vamos de nuevo a esta sintaxis, pero esto sólo significa 1003 00:48:10,240 --> 00:48:12,270 incrementar i una y otra vez. 1004 00:48:12,270 --> 00:48:14,200 >> ¿Y qué es lo que quiero hacer aquí? 1005 00:48:14,200 --> 00:48:21,130 Printf, "Puedo contar hasta i." Este es un programa con errores. 1006 00:48:21,130 --> 00:48:22,450 ¿Qué he hecho pretendo aquí? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> Porcentaje no s, pero no lo adivinaría esto. % D es un número entero decimal. 1009 00:48:30,940 --> 00:48:32,720 Coma i. 1010 00:48:32,720 --> 00:48:34,340 Let Me Roll back. 1011 00:48:34,340 --> 00:48:37,170 >> Permítanme ahora a compilar con maquillaje. 1012 00:48:37,170 --> 00:48:39,280 Permítanme ahora volver a ejecutar con la costumbre. 1013 00:48:39,280 --> 00:48:42,410 Puedo contar realmente maldita rápido cuando Escribo un programa como este. 1014 00:48:42,410 --> 00:48:45,480 >> Ahora vamos a hacer algo un poco intencional. 1015 00:48:45,480 --> 00:48:51,220 ¿Y vamos a hacer esto mientras yo es mayor que o igual a 0. 1016 00:48:51,220 --> 00:48:53,630 ¿Qué es esto va a provocar? 1017 00:48:53,630 --> 00:49:01,030 Así que, lógicamente, esto no es tan sabio, porque ahora si me vuelva a ejecutar esto, recuento, 1018 00:49:01,030 --> 00:49:05,050 Ahora puedo contar realmente, realmente alta. 1019 00:49:05,050 --> 00:49:08,850 Por desgracia, casi tan alto como pueda conteo es de 4 millones de dólares, por lo que esto va 1020 00:49:08,850 --> 00:49:10,140 a tomar un tiempo. 1021 00:49:10,140 --> 00:49:13,440 >> Entonces, ¿por qué no dejamos esto como nuestra melodrama, con la promesa de que en 1022 00:49:13,440 --> 00:49:15,650 Miércoles, vamos a ver si este programa está hecho. 1023 00:49:15,650 --> 00:49:19,260 Dos, vamos a introducir la forma en que usted mismo escribir su propia función para que muy 1024 00:49:19,260 --> 00:49:22,930 rápidamente, el miércoles vamos a hacer, ya que transición desde cero en C, de inicio 1025 00:49:22,930 --> 00:49:25,880 escribiendo cada vez más compleja programas que hacen mucho, 1026 00:49:25,880 --> 00:49:27,070 mucho más que esto. 1027 00:49:27,070 --> 00:49:28,766 Nos vemos entonces. 1028 00:49:28,766 --> 00:49:31,580 >> [Aplausos] 1029 00:49:31,580 --> 00:49:34,690 >> ALTAVOZ 1: En el siguiente CS50, Puzzle Day fue un éxito. 1030 00:49:34,690 --> 00:49:39,690