1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> DAVID Malan: Este é CS50, e esta é o inicio dunha semana. 3 00:00:14,430 --> 00:00:17,930 E o que pensamos facer é puxar para tras a cortina dun dispositivo que moitos 4 00:00:17,930 --> 00:00:20,970 de vostedes probablemente xa pasou agora durante anos, pero quizais nunca se 5 00:00:20,970 --> 00:00:22,280 coñecido o que é. 6 00:00:22,280 --> 00:00:26,000 Polo tanto, este dispositivo probablemente vai mirar familiar para a maioría de vostedes ata agora. 7 00:00:26,000 --> 00:00:32,972 >> [REPRODUCIÓN] 8 00:00:32,972 --> 00:00:36,150 >> -A vitoria das matemáticas e habilidade mecánica é esta nova gran 9 00:00:36,150 --> 00:00:39,120 calculadora automática en Universidade de Harvard. 10 00:00:39,120 --> 00:00:43,220 Problemas complicados de matemáticas poñer a través da máquina, en forma codificada en 11 00:00:43,220 --> 00:00:47,840 cinta son precisamente resolto nun minuto fracción do tempo necesario para a 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 >> Deseñado para axilizar toda forma de investigación matemática e científica, 15 00:01:04,080 --> 00:01:07,860 o cerebro mecánico xigante vontade traballar a Estados Unidos 16 00:01:07,860 --> 00:01:09,180 Mariña ata o final da guerra. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [FIN reprodución de vídeo] 19 00:01:18,600 --> 00:01:21,980 >> DAVID Malan: Entón iso é o que ve na Centro de Ciencias, que é onde 20 00:01:21,980 --> 00:01:23,540 esta máquina xa está aloxado. 21 00:01:23,540 --> 00:01:25,910 De feito, só se ve parte dela. 22 00:01:25,910 --> 00:01:28,800 Só unha parte está en exposición, e iso é un dispositivo chamado 23 00:01:28,800 --> 00:01:31,970 marca I, e foi esencialmente realmente un enorme calculadora. 24 00:01:31,970 --> 00:01:36,250 Foi sucedido polo Mark II, e é do Mark II que realmente 25 00:01:36,250 --> 00:01:39,210 ter un pouco de léxico. 26 00:01:39,210 --> 00:01:43,780 >> Este é o primeiro rexistro de algo que está a piques de facer-se todo 27 00:01:43,780 --> 00:01:45,860 moi familiarizado con todo o longo do semestre - 28 00:01:45,860 --> 00:01:48,460 é dicir, un erro. 29 00:01:48,460 --> 00:01:52,030 Entón, el saíu nun punto a Marca Dispositivo II non estaba funcionando 30 00:01:52,030 --> 00:01:55,930 correctamente, e tras unha inspección máis próxima, houbo de feito un erro - unha bolboreta - 31 00:01:55,930 --> 00:01:56,910 que traza - 32 00:01:56,910 --> 00:01:57,610 interior. 33 00:01:57,610 --> 00:02:03,130 E desde entón, nos referimos erros en programas como erros. 34 00:02:03,130 --> 00:02:05,330 Entón, máis sobre iso máis para vir. 35 00:02:05,330 --> 00:02:08,919 >> Falando en vídeo, así como, non ten, sei que é CS50 36 00:02:08,919 --> 00:02:09,669 obviamente filmado. 37 00:02:09,669 --> 00:02:13,330 As conferencias van tipicamente logo clase en unha especie de pre-lanzamento 38 00:02:13,330 --> 00:02:17,240 formato inéditos, e, a continuación, un día ou dous despois, poñemos unha resolución 39 00:02:17,240 --> 00:02:18,490 ea versión de maior calidade. 40 00:02:18,490 --> 00:02:21,800 Pode lembrar Vanessa, que tivo a sorte de xogar con Google Vidro, 41 00:02:21,800 --> 00:02:23,540 que Esquecín cargar este tempo. 42 00:02:23,540 --> 00:02:26,450 Entón, se quere chegar ata despois da aula e xogar, eles deben traballar hoxe. 43 00:02:26,450 --> 00:02:30,816 E se quere ver o que Vanessa vin o outro día, o que vai ver 44 00:02:30,816 --> 00:02:35,260 por aquí - déixeme aumentar o volume aquí no meu portátil. 45 00:02:35,260 --> 00:02:35,690 >> [REPRODUCIÓN] 46 00:02:35,690 --> 00:02:37,620 >> -Entón déixeme esta cola é superior. 47 00:02:37,620 --> 00:02:38,070 Todo ben. 48 00:02:38,070 --> 00:02:40,930 Entón tocar iso. 49 00:02:40,930 --> 00:02:41,720 Todo ben. 50 00:02:41,720 --> 00:02:43,470 OK, Glass. 51 00:02:43,470 --> 00:02:44,720 Gravar un vídeo. 52 00:02:44,720 --> 00:02:47,240 53 00:02:47,240 --> 00:02:48,640 >> Todo ben. 54 00:02:48,640 --> 00:02:50,446 Vanessa? 55 00:02:50,446 --> 00:02:50,870 >> [FIN reprodución de vídeo] 56 00:02:50,870 --> 00:02:53,485 >> DAVID Malan: Todo ben, entón a razón que non funcionou para a maioría de vostedes en 57 00:02:53,485 --> 00:02:56,540 Ao final da clase se porque eu continúe para gravar unha hora dese 58 00:02:56,540 --> 00:02:59,505 imaxes apuntando para min despois Coloque os lentes abaixo. 59 00:02:59,505 --> 00:03:04,010 Entón, hoxe, eu vou deixar los fora, pero grazas a vostede Vanessa por ser un 60 00:03:04,010 --> 00:03:05,420 bo deporte. 61 00:03:05,420 --> 00:03:08,330 >> Mentres tanto, un par de anuncios antes de avanzar hoxe. 62 00:03:08,330 --> 00:03:11,120 Entón, un, CS50 ten unha tradición de facer o que pudermos para tentar facer unha moi 63 00:03:11,120 --> 00:03:12,630 gran clase sentir pequeno. 64 00:03:12,630 --> 00:03:16,640 E para iso, a maioría toda venres, reunímonos nun restaurante en 65 00:03:16,640 --> 00:03:20,160 praza, Fire and Ice, con 30 ou 40 dos seus compañeiros, eu mesmo, algúns dos 66 00:03:20,160 --> 00:03:22,520 corpo docente, e só ter un xantar moi casual. 67 00:03:22,520 --> 00:03:26,280 Nós moitas veces invitar amigos da industria, alumnos da clase, ex-alumnos da 68 00:03:26,280 --> 00:03:30,340 universidade, en realidade, só para falar cada aos outros, falar sobre a vida tras a 69 00:03:30,340 --> 00:03:32,260 universidade, vida na universidade, e semellantes. 70 00:03:32,260 --> 00:03:35,570 Entón, se quere participar deste primeiro como o xantar o venres 71 00:03:35,570 --> 00:03:38,640 13:15, de cabeza para que URL nalgún momento. 72 00:03:38,640 --> 00:03:40,830 >> O espazo é limitado, polo que imos facer chegar primeiro servir. 73 00:03:40,830 --> 00:03:43,880 Pero imos facelo de novo nun recurrente base, así que non se preocupe se non 74 00:03:43,880 --> 00:03:45,800 iso nese primeiro lote. 75 00:03:45,800 --> 00:03:48,960 >> Agora, en termos de recursos dende curricularly polo curso 76 00:03:48,960 --> 00:03:51,500 hai unha serie enteira, e se non ten tirou a web do curso 77 00:03:51,500 --> 00:03:54,310 xa, en particular, en conferencias, verás que todo 78 00:03:54,310 --> 00:03:57,070 que fixemos a semana pasada está aí, tanto en vídeo e unha especie 79 00:03:57,070 --> 00:03:58,435 de forma electrónica. 80 00:03:58,435 --> 00:04:01,210 Pero, ademais dos videos, vai atopar que hai agora texto completo 81 00:04:01,210 --> 00:04:03,290 transcritos, por exemplo, de cada charla. 82 00:04:03,290 --> 00:04:08,260 >> Entón, se nós realmente volver a esta pantalla aquí con Vanessa, e navegar 83 00:04:08,260 --> 00:04:12,010 para o ángulo inferior da pantalla, vai descubrir que, en realidade, non para 84 00:04:12,010 --> 00:04:15,060 A charla do venres, pero se volver Mércores, xa que este recurso ten un 85 00:04:15,060 --> 00:04:17,870 uns días, vai considerar que pode realmente tirar para arriba, para mellor ou para 86 00:04:17,870 --> 00:04:22,260 peor, cada palabra que eu ou un voluntario no escenario, dixo. 87 00:04:22,260 --> 00:04:23,270 E máis do que iso. 88 00:04:23,270 --> 00:04:25,700 Pode, en realidade, busca-lo, pode prema en calquera destas frases, ir 89 00:04:25,700 --> 00:04:29,250 ao momento en que o vídeo, para todos e ao final da fabricación do material de todo 90 00:04:29,250 --> 00:04:30,620 máis navegable. 91 00:04:30,620 --> 00:04:34,550 >> Pero se prefire non seguilo con tantos detalles, vai atopar, por 92 00:04:34,550 --> 00:04:39,710 exemplo, este pequeno menú aquí para 1.5x velocidade, a velocidade de 2x, ou i f i xa 93 00:04:39,710 --> 00:04:42,100 falan moi rápido para ti, velocidade 0,75 x. 94 00:04:42,100 --> 00:04:45,190 Así, entende todo isto é dispoñible alí para ti. 95 00:04:45,190 --> 00:04:49,120 >> Pero, ademais, para conferencias, realizar que tamén fan estes recursos 96 00:04:49,120 --> 00:04:50,530 Tamén dispoñible. 97 00:04:50,530 --> 00:04:55,240 Diapositivas, exemplo de código, calquera cousa que eu facer no escenario ou no avance da clase, 98 00:04:55,240 --> 00:04:58,160 imos publicar alí para que poida xogar xunto na casa ou no Sanders. 99 00:04:58,160 --> 00:05:01,280 Pero o que nós tamén pensamos en facelo ano, por primeira vez é tamén 100 00:05:01,280 --> 00:05:04,240 fornece-lo con orientacións destes exemplos. 101 00:05:04,240 --> 00:05:08,120 Cada vez máis, como eu xa reflexionou sobre o valor das conferencias de CS50, comece 102 00:05:08,120 --> 00:05:11,450 a cuestionar o quão útil é a Vostedes sentar alí, para min estar 103 00:05:11,450 --> 00:05:15,020 aquí, e para min falar contigo, especialmente como material, o 104 00:05:15,020 --> 00:05:17,020 exemplos, se fan máis complexas. 105 00:05:17,020 --> 00:05:20,790 Porque, invariabelmente, despois dun certo número de minutos, alguén vai saír da zona, e 106 00:05:20,790 --> 00:05:24,310 entón perda algún insight clave dalgúns exemplo, e entón está esencialmente 107 00:05:24,310 --> 00:05:27,720 ir para o resto da clase, o que non é o mellor uso de 108 00:05:27,720 --> 00:05:31,330 seu tempo, ou, en realidade, o noso colectivamente como unha clase. 109 00:05:31,330 --> 00:05:33,920 >> E entón o que pensamos en tratar de facer, particularmente para algúns dos máis 110 00:05:33,920 --> 00:05:37,700 exemplos complexos que eu non podería facer xustiza en clase, que non pode 111 00:05:37,700 --> 00:05:41,560 teño tempo para en clase, ou pode só a zona durante, é que imos producir 112 00:05:41,560 --> 00:05:45,500 unha serie de directrices destes exemplos para que, se vai, para 113 00:05:45,500 --> 00:05:51,410 exemplo, a páxina de vídeo o venres pasado aquí con exemplos, podes ver que 114 00:05:51,410 --> 00:05:54,050 para o venres, hai agora esta conexión para orientacións. 115 00:05:54,050 --> 00:05:55,780 E o formato destes vai cambiar co paso do tempo. 116 00:05:55,780 --> 00:05:58,080 Polo momento, estamos a usar unha simple Lista YouTube. 117 00:05:58,080 --> 00:06:00,980 >> Pero o que eu fixen con o noso equipo de produción despois foi percorrer cada 118 00:06:00,980 --> 00:06:04,480 e cada un destes exemplos, de novo, espero que apuntar con máis 119 00:06:04,480 --> 00:06:07,550 claridade o que o delivery pode ou debería ser de cada un. 120 00:06:07,550 --> 00:06:10,560 Entón vai atopar, por exemplo, a partir da última semana, todos os exemplos scratch 121 00:06:10,560 --> 00:06:12,950 pasamos están feitos de forma lineal en que a moda. 122 00:06:12,950 --> 00:06:15,840 Polo tanto, Sinto-se libre para participar ou non involucrar neste material. 123 00:06:15,840 --> 00:06:19,140 Realmente un tema deste curso particular é que hai probablemente máis 124 00:06:19,140 --> 00:06:21,870 en forma de recursos que lle podería absorber máis 125 00:06:21,870 --> 00:06:23,260 o curso de un semestre. 126 00:06:23,260 --> 00:06:23,980 >> Pero iso é proposital. 127 00:06:23,980 --> 00:06:26,990 Estaba a ser así que, como Cada alumno pode se auto-select 128 00:06:26,990 --> 00:06:28,070 con base no seu estilo de aprendizaxe. 129 00:06:28,070 --> 00:06:29,790 Entón, se conferencias traballar para ti, gran. 130 00:06:29,790 --> 00:06:31,090 Se seccións traballar para ti, gran. 131 00:06:31,090 --> 00:06:32,930 Se orientacións para traballar é mellor, óptimo. 132 00:06:32,930 --> 00:06:36,980 Realmente vai ser ata a escoller que recursos funcionan mellor para vostede. 133 00:06:36,980 --> 00:06:40,380 >> Finalmente, grazas a un ex-alumno da Por suposto, nós tamén fornecen unha canónica 134 00:06:40,380 --> 00:06:41,890 conxunto de notas escriba. 135 00:06:41,890 --> 00:06:46,270 Entón, en vez de ter vostedes cabezas abaixo en conferencias rabiscando 136 00:06:46,270 --> 00:06:49,880 cousas que xorden en clase, nós, os persoal, pode fornecer-lle co que 137 00:06:49,880 --> 00:06:53,410 sentir son un conxunto canónico de notas para libralo de que a distracción, de xeito que 138 00:06:53,410 --> 00:06:57,150 se está aquí e comprometida, está verdadeiramente comprometidas co que está a suceder, 139 00:06:57,150 --> 00:07:00,110 cos seus compañeiros están a facer enriba escenario, co que pasa na pantalla, 140 00:07:00,110 --> 00:07:03,570 e non simplemente escribir textualmente o que pasou ser dito. 141 00:07:03,570 --> 00:07:06,730 Así, entende todos estes recursos están dispoñibles para ti. 142 00:07:06,730 --> 00:07:09,210 >> Paso, en resposta a un FAQ, comezará este mércores. 143 00:07:09,210 --> 00:07:12,050 Nós esencialmente esperar ata despois de máis outras clases son feitas para que poidamos 144 00:07:12,050 --> 00:07:14,420 minimizar o número de cambios que necesitamos facer. 145 00:07:14,420 --> 00:07:20,010 Pero chegando este fin de semana, comezando Domingo, será un exemplo, un tempo de 146 00:07:20,010 --> 00:07:21,360 o que chamamos super-seccións. 147 00:07:21,360 --> 00:07:23,990 Estes serán filmados para aqueles que non poden participar e, esencialmente, o 148 00:07:23,990 --> 00:07:28,880 cabezas do curso vai atravesar algúns da porción C do curso, 149 00:07:28,880 --> 00:07:32,330 cara a unha final dun conxunto de problemas, que Será o noso primeiro C con base 150 00:07:32,330 --> 00:07:33,140 conxunto de problemas. 151 00:07:33,140 --> 00:07:36,240 E estes serán só seccións opcionais en anticipación do que vai 152 00:07:36,240 --> 00:07:40,010 converterse en seccións recorrentes levaron por do curso 50 plus 153 00:07:40,010 --> 00:07:41,600 ensinando compañeiros semanal. 154 00:07:41,600 --> 00:07:45,130 Aos domingos ou luns ou martes, nos teñen seccións 90 minutos dunha forma moi 155 00:07:45,130 --> 00:07:48,020 sentido tradicional, que será oportunidades para as mans e máis 156 00:07:48,020 --> 00:07:50,800 revisión íntima da o material de curso. 157 00:07:50,800 --> 00:07:53,820 >> Sen máis delongas, déixeme presentar cabezas do curso, que son 158 00:07:53,820 --> 00:07:57,380 nos bastidores con me, facendo que todo ocorre. 159 00:07:57,380 --> 00:08:02,670 Se os que están aquí hoxe, podería unirse a min, Rob e Lauren e José e Lucas, todo 160 00:08:02,670 --> 00:08:05,770 dos cales foron co Naturalmente durante algún tempo. 161 00:08:05,770 --> 00:08:08,450 RJ é o terceiro membro do noso equipo. 162 00:08:08,450 --> 00:08:11,720 Non puido estar aquí hoxe, pero el me pediu para amosar unha foto del. 163 00:08:11,720 --> 00:08:14,600 Eu non estou seguro que el quería iso Pero alí está el. 164 00:08:14,600 --> 00:08:18,350 >> E déixeme só permitir que o equipo de dicir Ola e presentar-se de xeito que 165 00:08:18,350 --> 00:08:22,260 comeza a coñece-los, así como a súa propio compañeiro ensino este término. 166 00:08:22,260 --> 00:08:23,490 >> Lauren CARBALLO: Oi 167 00:08:23,490 --> 00:08:24,740 O meu nome é Lauren Carvalho. 168 00:08:24,740 --> 00:08:26,900 Eu son un titor residente en Leverett House. 169 00:08:26,900 --> 00:08:31,120 Eu tamén estou super animado para ser un TV de cabeza para CS50 este ano. 170 00:08:31,120 --> 00:08:35,830 >> CS50 é unha clase moi difícil, así como unha clase moi grande, entón se 171 00:08:35,830 --> 00:08:38,780 ten algunha dúbida, se se sentir como está quedando atrás, póñase en 172 00:08:38,780 --> 00:08:43,840 chegar a calquera de nós en heads@cs50.het, ou para min, se 173 00:08:43,840 --> 00:08:46,330 Gústame xogar co meu ouro Puppy retriever. 174 00:08:46,330 --> 00:08:48,060 Aquí é Lucas. 175 00:08:48,060 --> 00:08:48,560 >> LUCAS FREITAS: Ei, persoal. 176 00:08:48,560 --> 00:08:49,330 O meu nome é Lucas Freitas. 177 00:08:49,330 --> 00:08:51,880 Eu son un Júnior [inaudível] 178 00:08:51,880 --> 00:08:53,630 ciencia da computación e lingüística. 179 00:08:53,630 --> 00:08:58,030 En realidade eu son do Brasil, e eu tamén realizar estudos do leste asiático. 180 00:08:58,030 --> 00:09:00,740 Entón, se ten algunha dúbida sobre ciencia da computación, lingua ou 181 00:09:00,740 --> 00:09:01,870 calquera cousa, é só me avisar. 182 00:09:01,870 --> 00:09:05,630 Ou CS50, especialmente. 183 00:09:05,630 --> 00:09:05,880 >> JOSEPH ONG: Oi 184 00:09:05,880 --> 00:09:06,265 Eu son Joseph. 185 00:09:06,265 --> 00:09:11,360 Eu son un equipo Senior estudar ciencia en Elliott House. 186 00:09:11,360 --> 00:09:13,500 Entón, imos ver. 187 00:09:13,500 --> 00:09:16,530 Vai me ver por aí premendo un destes enormes cámaras. 188 00:09:16,530 --> 00:09:21,110 Eu son o residente fotógrafo persoal a 50, así como, e moitas veces os alumnos 189 00:09:21,110 --> 00:09:25,140 ás veces me confundir con un turista asiático. 190 00:09:25,140 --> 00:09:29,220 >> Entón, se me ver cunha cámara, non fuxa. 191 00:09:29,220 --> 00:09:32,960 Só sorría e non se acanhe. 192 00:09:32,960 --> 00:09:34,870 E eu espero que che guste 50. 193 00:09:34,870 --> 00:09:38,690 Eu gosto moito cando eu peguei, e é por iso que eu teño para TFing 194 00:09:38,690 --> 00:09:41,164 Nestes tres anos. 195 00:09:41,164 --> 00:09:41,570 >> ROB BOWDEN: Oi 196 00:09:41,570 --> 00:09:42,550 Eu son Rob. 197 00:09:42,550 --> 00:09:46,240 Este é o meu cuarto semestre con CS50. 198 00:09:46,240 --> 00:09:47,430 I acaba de se formar en maio. 199 00:09:47,430 --> 00:09:49,650 Eu estaba en Kirkland. 200 00:09:49,650 --> 00:09:53,670 Estou animado para este semestre, e espero que tamén o son. 201 00:09:53,670 --> 00:09:56,650 >> DAVID Malan: Grazas a este ano cabezas, e así a RJ. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> Entón algunhas notas finais sobre recursos. 204 00:10:02,310 --> 00:10:04,090 Un, p axustar 0 xa está de pé. 205 00:10:04,090 --> 00:10:06,620 Este só existe na normativa edición, que está destinado ao 206 00:10:06,620 --> 00:10:07,610 elementos da clase. 207 00:10:07,610 --> 00:10:10,940 Comezando cun conxunto de p, haberá edicións de hackers da maioría dos conxuntos de problemas, 208 00:10:10,940 --> 00:10:14,660 que, de novo, vai cubrir o material cun pouco máis de un reto, mentres 209 00:10:14,660 --> 00:10:17,400 aínda tocando nalgún dos mesmos temas. 210 00:10:17,400 --> 00:10:21,400 Facer un ollo no sitio web do curso para que a especificación para p set 0. 211 00:10:21,400 --> 00:10:25,140 >> O horario de oficina, tamén, comezará esta semana, hoxe, mañá, mércores, 212 00:10:25,140 --> 00:10:27,670 e xoves en varias comidas salas no campus. 213 00:10:27,670 --> 00:10:32,140 Consulte cs50.net/ohs para o escritorio horas para o curso, e entender iso 214 00:10:32,140 --> 00:10:34,430 haberá oportunidades moi casual, Certamente, no inicio do 215 00:10:34,430 --> 00:10:37,190 semestre, de atopar co seu portátil durante as vacacións de cerebro. 216 00:10:37,190 --> 00:10:40,500 Traer algúns amigos e falar co TFS do curso e CAs con calquera 217 00:10:40,500 --> 00:10:41,750 preguntas que pode ter. 218 00:10:41,750 --> 00:10:45,320 >> E eu non podo salientar o suficiente, mesmo para cero e 0 conxunto de problemas, non 219 00:10:45,320 --> 00:10:47,110 realmente ningunha pregunta idiota. 220 00:10:47,110 --> 00:10:51,200 Non hai alumno moi incómoda facer preguntas. 221 00:10:51,200 --> 00:10:53,940 Sinto-se libre para aproveitar deste recurso. 222 00:10:53,940 --> 00:10:56,430 Vai estar alí recorrentemente ao longo do semestre, 223 00:10:56,430 --> 00:10:57,840 como vai CS50 Discutir. 224 00:10:57,840 --> 00:11:00,900 Esta é a discusión en liña do curso foros en que a dirección alí. 225 00:11:00,900 --> 00:11:04,490 >> Que nós tamén imos facer durante as clases é tamén supervisar tanto, grazas ao 226 00:11:04,490 --> 00:11:05,580 equipo de profesores do curso. 227 00:11:05,580 --> 00:11:08,390 E por iso, se ten unha pregunta durante charla, porque eu dixo algo 228 00:11:08,390 --> 00:11:11,690 mal ou non en todos, por todos os medios, pregunta que en tempo real, se ten o seu 229 00:11:11,690 --> 00:11:15,700 portátil ou teléfono no sitio web, e imos facer o noso mellor en tempo real para 230 00:11:15,700 --> 00:11:17,410 responder a iso. 231 00:11:17,410 --> 00:11:21,500 >> Hai dúbidas sobre CS 50? 232 00:11:21,500 --> 00:11:23,930 Entón, un últimas notas da mina. 233 00:11:23,930 --> 00:11:25,530 Esta cuestión do SAT unsat. 234 00:11:25,530 --> 00:11:28,550 Como finalizar os seus tarxetas de estudio, se non ten, entender que o 235 00:11:28,550 --> 00:11:32,360 visión global da SAT unsat, dispoñible para todos os alumnos, en realidade é 236 00:11:32,360 --> 00:11:36,350 para axudar a tomar a borda fóra dun curso así, por así dicir, de forma que se 237 00:11:36,350 --> 00:11:40,510 atopa-se á noite, 02:00, 03:00, realmente bater a súa cabeza contra 238 00:11:40,510 --> 00:11:43,960 a parede onde vostede sabe que é do 99% do o camiño para a conclusión, pero 239 00:11:43,960 --> 00:11:47,510 ten tantas outras cousas para facer, Coido que un uso mellor, moitas veces, de 240 00:11:47,510 --> 00:11:51,260 tempo dos alumnos é mover-se de feito sobre a esas outras cousas para que poida 241 00:11:51,260 --> 00:11:52,780 optimizar o tempo. 242 00:11:52,780 --> 00:11:56,950 E SAT unsat é un mecanismo a través do cal pode consolar co feito de 243 00:11:56,950 --> 00:12:00,530 que o 99% do camiño existe aínda moi bo. 244 00:12:00,530 --> 00:12:03,790 >> Do mesmo xeito, tamén, se veu para o Por suposto, sen coñecemento previo ou 245 00:12:03,790 --> 00:12:07,960 non tanto de fondo como Pensas que os seus compañeiros poidan ter, a verdadeira 246 00:12:07,960 --> 00:12:13,210 ou falso, entender que esta é unha oportunidade de ensuciar as mans 247 00:12:13,210 --> 00:12:16,590 co curso, poñer os pés na auga, por así dicir, moi parecido que me 248 00:12:16,590 --> 00:12:18,500 fixo anos con aprobación / reprovação. 249 00:12:18,500 --> 00:12:21,850 Como dixen a semana pasada, tivo o curso, como os outros, non está dispoñible 250 00:12:21,850 --> 00:12:25,090 aprobación / reprovação na época, eu probablemente faría Non teño nin nunca pisou 251 00:12:25,090 --> 00:12:28,310 a clase, aínda que eu fixen, cinco semanas máis tarde, cambiar a miña mente, o que 252 00:12:28,310 --> 00:12:32,400 pode moi ben, e pasar a ou de estado graduada carta. 253 00:12:32,400 --> 00:12:32,990 >> Todo ben. 254 00:12:32,990 --> 00:12:37,380 Entón, nós miramos para as cousas como esta en Venres, e nós estamos indo moi rápido 255 00:12:37,380 --> 00:12:39,890 a transición cara a algo que parece máis enigmática hoxe. 256 00:12:39,890 --> 00:12:42,300 Pero é con todo o mesma idea fundamental. 257 00:12:42,300 --> 00:12:45,540 Cal foi o termo xeral que usado para describir unha peza do puzzle 258 00:12:45,540 --> 00:12:47,690 que se parecía con isto? 259 00:12:47,690 --> 00:12:48,510 >> Así, unha afirmación. 260 00:12:48,510 --> 00:12:50,020 E pode chamar iso de calquera serie de cousas. 261 00:12:50,020 --> 00:12:51,870 Pero imos chamalo de un comunicado, e unha declaración 262 00:12:51,870 --> 00:12:53,200 só di ao programa - 263 00:12:53,200 --> 00:12:55,290 ou, no caso de risco, o sprite - 264 00:12:55,290 --> 00:12:56,520 facer algo. 265 00:12:56,520 --> 00:12:58,430 Diga Ola neste caso. 266 00:12:58,430 --> 00:13:01,450 >> Algo parecido a iso, en vez chamado o que? 267 00:13:01,450 --> 00:13:03,560 É, polo tanto, unha expresión booleana. 268 00:13:03,560 --> 00:13:07,380 Unha expresión booleana é só algo o que é verdadeiro ou falso, e así Acoitelado 269 00:13:07,380 --> 00:13:10,530 chamalos con esta forma, senón tamén cun punto de interrogación para transmitir a 270 00:13:10,530 --> 00:13:14,510 idea de que a resposta a esta pregunta é certo ou falso, si ou non 271 00:13:14,510 --> 00:13:15,910 un, 1 ou 0. 272 00:13:15,910 --> 00:13:19,290 >> E usamos estas expresións booleanas dentro construcións como estas, que 273 00:13:19,290 --> 00:13:21,010 chamamos o que? 274 00:13:21,010 --> 00:13:22,460 Así, a condición ou sector. 275 00:13:22,460 --> 00:13:25,600 E a condición que ve aquí en Cero ten un pequeno espazo reservado para a 276 00:13:25,600 --> 00:13:28,260 parte do enigma de que xeito, o propósito de que é así que pode 277 00:13:28,260 --> 00:13:32,670 arrastralo lo e solta-lo enriba e logo, ditar o programa se este Boolean 278 00:13:32,670 --> 00:13:36,410 expresión é certa, facer este conxunto de instrucións, este conxunto de declaracións, 279 00:13:36,410 --> 00:13:39,320 máis facelo outro conxunto de instrucións. 280 00:13:39,320 --> 00:13:41,270 >> E lembrar que se pode niño esas cousas. 281 00:13:41,270 --> 00:13:44,170 Aínda que non hai moito espazo visualmente en que parte do enigma, risco 282 00:13:44,170 --> 00:13:47,820 vai medrar e encoller para caber todo pezas do puzzle que arrastrar e soltar en 283 00:13:47,820 --> 00:13:51,410 alí, entón pode realmente Niño e ten un garfo de tres vías vial. 284 00:13:51,410 --> 00:13:53,870 If, else if, else. 285 00:13:53,870 --> 00:13:58,100 E tamén se pode ir alén do que, nidificación máis e máis, que corresponda. 286 00:13:58,100 --> 00:14:02,520 >> Entón, finalmente vimos construcións como este, tamén coñecido como un circuíto. 287 00:14:02,520 --> 00:14:05,690 E este é só algo que fai algo de novo e de novo e de novo. 288 00:14:05,690 --> 00:14:09,250 Neste caso, pasa a ser un finito número de veces, pero nós tamén 289 00:14:09,250 --> 00:14:12,890 viu un exemplo onde o número de veces veu dunha variable, polo que 290 00:14:12,890 --> 00:14:13,690 pode cambiar. 291 00:14:13,690 --> 00:14:16,910 E vimos tamén outro bloque completo chamado un bloque que sempre 292 00:14:16,910 --> 00:14:19,590 permitiu-nos facer un loop infinito longo. 293 00:14:19,590 --> 00:14:23,300 >> Entón, outra construción que cero 2.0 ten - e os que máis 294 00:14:23,300 --> 00:14:26,330 cómodo con fondo anterior son xa está ben familiarizado con esta 295 00:14:26,330 --> 00:14:27,080 construír - 296 00:14:27,080 --> 00:14:29,910 estas cousas que chamamos que? 297 00:14:29,910 --> 00:14:32,540 Entón, chamamos estas funcións, se non, coñecido como procedementos. 298 00:14:32,540 --> 00:14:35,030 Hai unha pequena diferenza semántica, pero imos chamalos só funcións. 299 00:14:35,030 --> 00:14:39,950 >> E unha función, en caso de perigo, é unha peza de puzzle personalizado que 300 00:14:39,950 --> 00:14:43,670 vostede mesmo pode crear para que teña unha nova peza de puzzle que, neste 301 00:14:43,670 --> 00:14:47,190 caso, sería chamado tose, que aparece entre todos os demais 302 00:14:47,190 --> 00:14:48,730 pezas do puzzle dispoñibles en cero. 303 00:14:48,730 --> 00:14:52,010 Aínda que o MIT non inventou esta peza de puzzle, que fixo. 304 00:14:52,010 --> 00:14:57,600 >> Entón a función permite que cree novas comportamento, darlle un nome de función, e 305 00:14:57,600 --> 00:14:59,200 logo chamalo, por así dicir. 306 00:14:59,200 --> 00:15:04,690 Really empregar en programas repetidas unha e outra vez, sen ter que esperar 307 00:15:04,690 --> 00:15:08,600 para alguén como MIT no camiño para inventar unha nova funcionalidade a partir de cero. 308 00:15:08,600 --> 00:15:12,460 Vostede mesmo pode construír estes crebacabezas anacos de si mesmo, e logo reutiliza-los 309 00:15:12,460 --> 00:15:13,600 nos seus propios programas. 310 00:15:13,600 --> 00:15:17,520 E nós imos ver un exemplo recorrente de que hoxe en diante. 311 00:15:17,520 --> 00:15:20,960 >> Entón, hoxe, nos transición agora para algo máis misterioso. 312 00:15:20,960 --> 00:15:24,350 Con todo, ao final do día, algo máis poderosos e expresivos e máis 313 00:15:24,350 --> 00:15:28,110 representante do camiño que nós imos ser en todo o semestre toda unha serie 314 00:15:28,110 --> 00:15:28,800 de linguas - 315 00:15:28,800 --> 00:15:30,800 que de código ou o código fonte. 316 00:15:30,800 --> 00:15:34,720 E código fonte, ao parecer, non é o que un ordenador 317 00:15:34,720 --> 00:15:37,400 normalmente funciona realmente. 318 00:15:37,400 --> 00:15:39,860 O código fonte é algo así. 319 00:15:39,860 --> 00:15:43,010 >> Polo tanto, este é, de novo, se cadra a máis simple programa, podemos escribir nun 320 00:15:43,010 --> 00:15:46,670 linguaxe chamada C. Imos comezar a provocar este apart en pouco tempo, e se 321 00:15:46,670 --> 00:15:49,260 que realmente se parece grego para vostede agora, confíe en min. 322 00:15:49,260 --> 00:15:54,040 Dentro dunha semana ou dúas de tempo, este vai ser todo moi familiar e realmente 323 00:15:54,040 --> 00:15:57,780 moi representativo de cada vez exemplos complexos co que 324 00:15:57,780 --> 00:15:59,870 tamén se sentir máis cómodo. 325 00:15:59,870 --> 00:16:03,100 >> Pero non pode simplemente executar este tipo de código normalmente. 326 00:16:03,100 --> 00:16:06,750 Ten que transformalo en algo que o propio ordenador entende. 327 00:16:06,750 --> 00:16:09,840 E así, para iso, necesitamos algo imos chamar un compilador. 328 00:16:09,840 --> 00:16:13,910 Un compilador é un programa que leva código fonte, como acaba de ver, como 329 00:16:13,910 --> 00:16:17,680 de entrada, e produce e ceros queridos como saída, se non, 330 00:16:17,680 --> 00:16:19,210 coñecido como código obxecto. 331 00:16:19,210 --> 00:16:23,190 E eses ceros e uns que pode parecer como esta que 332 00:16:23,190 --> 00:16:26,310 en definitiva, son entendidas polo seu Mac ou PC. 333 00:16:26,310 --> 00:16:30,050 >> Se vostede xa escoitou a comercialización expresión Intel Inside, que só 334 00:16:30,050 --> 00:16:32,800 significa que unha compañía chamada Intel fabricou o 335 00:16:32,800 --> 00:16:34,130 cerebro do ordenador - 336 00:16:34,130 --> 00:16:37,270 tamén coñecida como a CPU, unidade central de procesamento - 337 00:16:37,270 --> 00:16:39,640 e iso é só a cousa que entende patróns 338 00:16:39,640 --> 00:16:40,880 de ceros e uns. 339 00:16:40,880 --> 00:16:46,330 E así, a través da conversión de código fonte en código obxecto a través deste proceso aquí 340 00:16:46,330 --> 00:16:49,130 que nós imos facer cun par de comandos en só un bit, está 341 00:16:49,130 --> 00:16:53,070 creación de patróns de ceros e uns que os funcionarios de Intel teñen 342 00:16:53,070 --> 00:16:56,000 decidiu representar certas declaracións. 343 00:16:56,000 --> 00:16:58,810 >> Agora, eu non sei ben o que é que por só mirando para 344 00:16:58,810 --> 00:16:59,890 estes ceros e uns. 345 00:16:59,890 --> 00:17:01,420 A maioría dos seres humanos nos días de hoxe non. 346 00:17:01,420 --> 00:17:04,900 Pero en algún lugar hai un patrón de ceros e uns que representan o 347 00:17:04,900 --> 00:17:06,349 declaración de impresión. 348 00:17:06,349 --> 00:17:10,460 Nalgún lugar no que podería haber unha diferente conxunto de ceros e uns que 349 00:17:10,460 --> 00:17:16,940 representar a noción de sempre ou Repita 10 veces, ou mesmo Meow, se é 350 00:17:16,940 --> 00:17:20,000 en realidade, un programa que pode incluír algúns sons. 351 00:17:20,000 --> 00:17:24,390 >> Así, en breve, os seres humanos teñen só decidiu, así como fixemos para ASCII - 352 00:17:24,390 --> 00:17:27,480 para as letras do alfabeto a semana pasada - os seres humanos decidiron que, aínda 353 00:17:27,480 --> 00:17:32,200 estándares máis complexos de ceros e uns representar o comportamento máis complexo 354 00:17:32,200 --> 00:17:35,650 como imprimir ou dicindo ou miando. 355 00:17:35,650 --> 00:17:38,640 E así, para hoxe, e en gran parte en diante no semestre, imos dar a 356 00:17:38,640 --> 00:17:41,820 seguro que alguén ten figurado como facer ese mapeamento. 357 00:17:41,820 --> 00:17:45,560 Pero, de acordo con esa idea de de capas na parte superior do traballo de persoas 358 00:17:45,560 --> 00:17:49,340 que viñeron antes de nós, vai levar para concedida o feito de que isto está a suceder 359 00:17:49,340 --> 00:17:50,300 debaixo do capó. 360 00:17:50,300 --> 00:17:53,840 Pero estamos moito máis interesados ​​en construción de cousas que son máis 361 00:17:53,840 --> 00:17:55,880 interesante encima de todo isto. 362 00:17:55,880 --> 00:17:58,900 >> E así, de feito, o primeiro programa que escribiu en risco era ese super sinxelo 363 00:17:58,900 --> 00:18:00,600 un, Ola Mundo. 364 00:18:00,600 --> 00:18:05,100 E pode pensar niso como o programa principal que rexe o risco de 365 00:18:05,100 --> 00:18:07,280 comportamento desde o pasado venres. 366 00:18:07,280 --> 00:18:11,510 >> Hoxe, imos comezar a traducir Acoitelado pezas do puzzle en 367 00:18:11,510 --> 00:18:16,040 código fonte nesta lingua chamada C de xeito que o que parecía ser esta a 368 00:18:16,040 --> 00:18:20,230 Venres, a partir de hoxe en diante, é agora vai estar así. 369 00:18:20,230 --> 00:18:21,860 Reconhecidamente máis enigmática. 370 00:18:21,860 --> 00:18:25,010 É moi desgustado e tipo de conta entorpecente para ver todas as citas 371 00:18:25,010 --> 00:18:27,760 e as comas e os parénteses e así por diante. 372 00:18:27,760 --> 00:18:32,350 >> Pero se comezar a ignorar calquera cousa que Non entendo, e realmente ollar 373 00:18:32,350 --> 00:18:35,960 a esencia do texto branca na pantalla, seguramente ve, como eu, 374 00:18:35,960 --> 00:18:40,360 "Ola, mundo". Que se aliñan co declaración vermello enriba, e se transforma 375 00:18:40,360 --> 00:18:44,790 que a palabra clave principal vai aliñar conceptualmente con ao verde 376 00:18:44,790 --> 00:18:46,350 bandeira premendo. 377 00:18:46,350 --> 00:18:49,820 >> Así, noutras palabras, mentres en Scratch imos aplicar este programa Ola Mundo 378 00:18:49,820 --> 00:18:53,360 con estas dúas pezas do puzzle, en C, imos implementar lo con estes 379 00:18:53,360 --> 00:18:55,510 catro liñas un tanto enigmáticas. 380 00:18:55,510 --> 00:18:58,130 Pero como mergullo máis fondo para iso, vai ver que cada un destes 381 00:18:58,130 --> 00:19:02,730 carácteres brancos na pantalla de verdade ten algún significado importante, 382 00:19:02,730 --> 00:19:05,880 ea maioría dos nosos programas van mira estructuralmente a mesma. 383 00:19:05,880 --> 00:19:08,980 Así, unha declaración, para ser claro, o que parecía "say Ola Mundo" en 384 00:19:08,980 --> 00:19:12,020 Venres comezará a ollar gusto deste luns. 385 00:19:12,020 --> 00:19:15,250 printf ("Ola, mundo"). 386 00:19:15,250 --> 00:19:17,700 E hai algunha barra invertida estraño n, hai parénteses, hai 387 00:19:17,700 --> 00:19:18,490 punto e coma. 388 00:19:18,490 --> 00:19:21,950 >> Con todo, ao final do día, a tecla takeaway hoxe é que todo o que estamos facendo 389 00:19:21,950 --> 00:19:25,710 está traducindo as cousas de imaxe formar a forma de texto. 390 00:19:25,710 --> 00:19:28,820 Así, un ciclo que ficou así a semana pasada, vai agora ollar 391 00:19:28,820 --> 00:19:30,140 algo así. 392 00:19:30,140 --> 00:19:33,020 >> E déixeme rexeitan, así como no Cero, hai diferentes xeitos de 393 00:19:33,020 --> 00:19:34,110 acadar o mesmo obxectivo. 394 00:19:34,110 --> 00:19:38,860 Mesmo en C. Non estou mostrándolle o único forma de facer as cousas, pero unha forma de 395 00:19:38,860 --> 00:19:43,230 traducir isto para sempre bloque a un circuíto en C. 396 00:19:43,230 --> 00:19:44,980 >> Este aquí, repita 10 veces. 397 00:19:44,980 --> 00:19:47,580 Este realmente tipo de dobra o mente a primeira vez que velo. 398 00:19:47,580 --> 00:19:49,860 Pero para aplicar que, de agora en diante, imos utilizar un 399 00:19:49,860 --> 00:19:51,990 loop for, por así dicir. 400 00:19:51,990 --> 00:19:56,150 E, por suposto, hai unha sintaxe que se algo complexo, con I e 401 00:19:56,150 --> 00:19:59,740 igual e 0, pero xa que mergullo no que de hoxe en diante, só vai 402 00:19:59,740 --> 00:20:04,260 a ver que iso é todo simplemente facer un aritmética básica para levar de 0 403 00:20:04,260 --> 00:20:07,720 en ata 9 ou 10, neste caso. 404 00:20:07,720 --> 00:20:11,570 >> Finalmente, coas variables, vai lembrar unha variable que é unha parte de almacenamento. 405 00:20:11,570 --> 00:20:14,290 Ben, o que tivemos na esquerda alí no semana vai parecer un pouco 406 00:20:14,290 --> 00:20:15,920 algo como isto esta semana. 407 00:20:15,920 --> 00:20:17,870 Pero, de novo, máis sobre iso máis para vir. 408 00:20:17,870 --> 00:20:20,700 >> Tivemos expresións booleanas, que a semana pasada, quedou así. 409 00:20:20,700 --> 00:20:23,370 Esta semana en diante, van comezar a ollar un pouco como iso. 410 00:20:23,370 --> 00:20:24,890 >> E este é realmente algo reconfortante. 411 00:20:24,890 --> 00:20:27,680 En realidade, é case tan sinxela como os bloques verdes. 412 00:20:27,680 --> 00:20:31,115 Pero aquí temos, unha vez máis, unha nova sintaxe con e comercial, pero pode 413 00:20:31,115 --> 00:20:35,390 quizais creo que mentres en cero, A dicir-N-D, ao parecer en C, estamos 414 00:20:35,390 --> 00:20:37,070 vai dicir comercial e comercial. 415 00:20:37,070 --> 00:20:39,650 Pero todo isto vai facer natural, antes de tempo. 416 00:20:39,650 --> 00:20:40,680 >> Condicións. 417 00:20:40,680 --> 00:20:42,610 A semana pasada, parecía que este de esquerda. 418 00:20:42,610 --> 00:20:44,800 Esta semana, á dereita, é se ve así. 419 00:20:44,800 --> 00:20:48,560 Pero, de novo, o principal argumento aquí é que como ve as cousas como que en 420 00:20:48,560 --> 00:20:51,950 dereito, e especialmente se menos cómodo, é unha especie de sobre a súa 421 00:20:51,950 --> 00:20:54,950 cabeza, está un pouco resaltado que Realmente non teño idea de como eu podería 422 00:20:54,950 --> 00:20:58,420 posiblemente, chegar a que a partir de cero - 423 00:20:58,420 --> 00:20:59,500 sen trocadilhos - 424 00:20:59,500 --> 00:21:05,300 só entender que é realmente o mesmo idea de que, probablemente, me sentín moito máis 425 00:21:05,300 --> 00:21:06,760 naturais a semana anterior. 426 00:21:06,760 --> 00:21:10,960 E mesmo se non dicir Conxunto de Problemas 0, eu diría que vai atopar 427 00:21:10,960 --> 00:21:13,790 que as pezas do puzzle son bastante intuitivo, ou polo menos 428 00:21:13,790 --> 00:21:16,050 chegar a ser así ao longo do tempo. 429 00:21:16,050 --> 00:21:16,990 >> Entón imos mergullar dentro 430 00:21:16,990 --> 00:21:20,760 Imos ensuciar as mans aquí con Neste primeiro programa sinxelo. 431 00:21:20,760 --> 00:21:22,410 É simple e, por suposto, relativa. 432 00:21:22,410 --> 00:21:25,190 Para iso, eu vou cambiar pantallas a ese dispositivo Liguei para o 433 00:21:25,190 --> 00:21:26,150 CS50 aparello. 434 00:21:26,150 --> 00:21:29,700 O aparello CS50 é unha peza de programa que está a ser executado dentro dun 435 00:21:29,700 --> 00:21:33,920 ventá no meu Mac, e tamén pode realizar lo nunha fiestra dentro do seu PC, que 436 00:21:33,920 --> 00:21:38,720 permíteme ter exactamente o mesmo ambiente do ordenador como cada TF, segundo 437 00:21:38,720 --> 00:21:40,940 cada CA, como todos os alumnos na clase. 438 00:21:40,940 --> 00:21:44,590 Xa que o aparello CS50 é literalmente outro sistema operativo 439 00:21:44,590 --> 00:21:45,410 chamado Linux - 440 00:21:45,410 --> 00:21:47,160 especialmente Fedora Linux - 441 00:21:47,160 --> 00:21:51,320 e nós, os funcionarios, configurar o proceso de instalación para este 442 00:21:51,320 --> 00:21:55,200 sistema de operación, de tal xeito que un, hai un pequeno logotipo no CS50 443 00:21:55,200 --> 00:21:59,240 medio, dous, hai un menú personalizado no parte inferior, e tres, pedagoxicamente, 444 00:21:59,240 --> 00:22:02,570 nós simplificamos a interface de usuario como na medida do posible, de xeito que, cando 445 00:22:02,570 --> 00:22:05,540 primeiro arrincar esa cousa no seu propio país Mac ou PC, ten a mesma 446 00:22:05,540 --> 00:22:08,280 medio ambiente como todos os demais, e ten todas as ferramentas que precisa 447 00:22:08,280 --> 00:22:11,390 para o curso sen ter que descubrir como instalar cada un e 448 00:22:11,390 --> 00:22:13,280 cada instrumento individualmente. 449 00:22:13,280 --> 00:22:15,840 >> Polo tanto, esta parece relativamente como Mac OS ou Windows. 450 00:22:15,840 --> 00:22:18,760 Na parte inferior esquerda, ten esencialmente ter un menú de inicio do 451 00:22:18,760 --> 00:22:20,280 tipo, ou un menú Apple. 452 00:22:20,280 --> 00:22:23,700 E entón tes o que nós sospeitamos vontade ser os seus tres iconas máis comúns. 453 00:22:23,700 --> 00:22:24,460 Unha delas é o Chrome. 454 00:22:24,460 --> 00:22:26,460 Hai un navegador dentro do aparello. 455 00:22:26,460 --> 00:22:29,970 >> Dous é un programa chamado gedit, que vimos brevemente a semana pasada, o que é 456 00:22:29,970 --> 00:22:31,310 só un editor gráfico. 457 00:22:31,310 --> 00:22:35,350 E tres é un programa de terminal, que é unha ventá en branco e negro a partir de 458 00:22:35,350 --> 00:22:39,860 pasado que nos permite escribir máis ordes arcanos, pero máis poderoso en 459 00:22:39,860 --> 00:22:40,660 noso teclado. 460 00:22:40,660 --> 00:22:44,220 Entón, eu estou indo a ir adiante e prema en gedit, e teña a certeza de que problema 461 00:22:44,220 --> 00:22:48,520 conxunto 1, que sairá á venda o venres, será oriente-lo a través de todos estes mesmos pasos. 462 00:22:48,520 --> 00:22:51,730 >> Repare que eu teño unha simple interface de usuario con tres partes. 463 00:22:51,730 --> 00:22:54,990 Á esquerda, eu teño un gran baleiro fiestra chámase código fonte. 464 00:22:54,990 --> 00:22:58,930 É onde eu estou indo a ver un resumo de calquera código que eu escriba. 465 00:22:58,930 --> 00:23:01,990 No lado dereito, eu teño un gran tab, actualmente gardadas, e iso é 466 00:23:01,990 --> 00:23:03,510 onde meu código está indo. 467 00:23:03,510 --> 00:23:06,780 E no fondo, eu teño un incorporado Fiestra de terminal, un branco e negro 468 00:23:06,780 --> 00:23:12,060 ventá no que eu poida escribir ordes para compilar e executar os meus programas - que 469 00:23:12,060 --> 00:23:14,110 é, facer e realizar os meus programas. 470 00:23:14,110 --> 00:23:15,170 >> Entón, imos comezar polo máis simple. 471 00:23:15,170 --> 00:23:17,700 Déixeme ir a Arquivo, Gardar. 472 00:23:17,700 --> 00:23:20,530 Eu estou indo a ir adiante e entrar jharvard. 473 00:23:20,530 --> 00:23:24,320 Así, o aparello, independentemente daquilo o seu nome é, pertence a un cara chamado 474 00:23:24,320 --> 00:23:28,250 John Harvard, que ten unha casa jharvard directorio dentro do cal todas as súas 475 00:23:28,250 --> 00:23:29,100 ficheiros vai. 476 00:23:29,100 --> 00:23:31,640 É a súa propia copia da súa conta, así que non todos estamos compartindo 477 00:23:31,640 --> 00:23:33,530 o mesmo disco duro. 478 00:23:33,530 --> 00:23:35,580 Vostede só ten a ilusión do propio John Harvard. 479 00:23:35,580 --> 00:23:38,350 >> De antemán, realmente Dropbox instalado. 480 00:23:38,350 --> 00:23:42,600 O aparello ven con preprepared Dropbox para que, se algo sae mal 481 00:23:42,600 --> 00:23:45,950 durante o semestre, se ten configurou o seu dispositivo cun libre 482 00:23:45,950 --> 00:23:48,950 Conta Dropbox, todos os seus arquivos serán pode facer a copia de seguridade automática para ti 483 00:23:48,950 --> 00:23:50,430 Pode facilmente recuperalos. 484 00:23:50,430 --> 00:23:53,980 E eu estou indo a ir ao meu Dropbox directorio, e xa está a suceder 485 00:23:53,980 --> 00:23:55,530 ser algunhas outras cousas alí. 486 00:23:55,530 --> 00:24:02,090 >> Pero eu estou indo a ir adiante e vai en Arquivo, Gardar. 487 00:24:02,090 --> 00:24:05,930 Eu estou indo a ir a jharvard, Dropbox, e aquí enriba, vou 488 00:24:05,930 --> 00:24:10,590 dar o meu programa un super sinxelo nome, hello.c, e despois gardar. 489 00:24:10,590 --> 00:24:11,810 Entón, eu teño a mesma interfaz agora. 490 00:24:11,810 --> 00:24:14,190 O único que cambiou é o guía enriba. 491 00:24:14,190 --> 00:24:17,170 Entón, eu estou indo moi rápido para recrear que programa a partir do 492 00:24:17,170 --> 00:24:19,060 desliza un momento atrás. 493 00:24:19,060 --> 00:24:25,690 >> Entón, en main (void), e, a continuación, printf, "Ola, mundo", un tanto enigmática 494 00:24:25,690 --> 00:24:29,920 barra invertida n, próximo orzamento, peche parénteses, o punto e coma, e 495 00:24:29,920 --> 00:24:32,030 entón Ctrl S para gardar. 496 00:24:32,030 --> 00:24:34,860 E noten como un aparte que só apareceu aquí na esquina superior esquerda. 497 00:24:34,860 --> 00:24:37,490 E iso non é útil hoxe, pero será útil ao longo do tempo. 498 00:24:37,490 --> 00:24:40,160 Acaba de ver, unha vez máis, un resumo das o código que escribiu. 499 00:24:40,160 --> 00:24:43,320 E por que escribín algo chamado principal, é por iso que a palabra principal estourou 500 00:24:43,320 --> 00:24:44,030 ata alí. 501 00:24:44,030 --> 00:24:46,610 Pero, na maior parte, Non é necesario que hoxe. 502 00:24:46,610 --> 00:24:51,130 >> Todo ben, entón eu digo que esta é a miña primeiro programa escrito nunha programación 503 00:24:51,130 --> 00:24:54,620 linguaxe chamada C. Sabemos que a partir do venres que o que esa cousa vai facer 504 00:24:54,620 --> 00:24:58,450 moi uninterestingly cando executa-lo é só amosar - 505 00:24:58,450 --> 00:25:01,270 noutras palabras, para imprimir, como un ordenador científico diría - 506 00:25:01,270 --> 00:25:03,310 Ola Mundo en pantalla. 507 00:25:03,310 --> 00:25:06,800 Entón, para facelo, vai entender que eu teño para ir ata aquí para o meu terminal 508 00:25:06,800 --> 00:25:09,250 fiestra, e agora eu teño nun palpebrar rápido. 509 00:25:09,250 --> 00:25:15,480 Pero esta é agora unha versión de teclado meu directorio home John Harvard. 510 00:25:15,480 --> 00:25:19,610 É unha forma de teclado a través do cal para navegar meu disco duro. 511 00:25:19,610 --> 00:25:25,380 >> Entón eu non podo escribir, en realidade, como eu fixen a semana pasada facer Ola, xa que é 512 00:25:25,380 --> 00:25:27,230 vai dicir ningunha regra para procesar o obxecto de aprendizaxe - 513 00:25:27,230 --> 00:25:27,950 algo está mal. 514 00:25:27,950 --> 00:25:31,690 Non sei ben o que esta mensaxe medios, pero iso é porque, por defecto, 515 00:25:31,690 --> 00:25:35,350 cando esta fiestra branco e negro é abriu, estou dentro John Harvard 516 00:25:35,350 --> 00:25:36,160 directorio home. 517 00:25:36,160 --> 00:25:39,180 Pero onde eu gardar este programa? 518 00:25:39,180 --> 00:25:40,440 Na miña carpeta Dropbox. 519 00:25:40,440 --> 00:25:43,110 >> Agora, todos nós medran con ordenadores en que basta con premer dúas veces 520 00:25:43,110 --> 00:25:45,610 na icona dun cartafol, el ábrese, e listo. 521 00:25:45,610 --> 00:25:48,280 É alí onde o ficheiro chamado ola.c sería. 522 00:25:48,280 --> 00:25:49,470 Entón, en realidade, imos facelo. 523 00:25:49,470 --> 00:25:51,610 >> Déixeme ir adiante e minimizar gedit así como faría en 524 00:25:51,610 --> 00:25:52,990 Windows ou Mac OS. 525 00:25:52,990 --> 00:25:56,160 Déixeme ir a casa carpeta na esquina superior esquerda. 526 00:25:56,160 --> 00:25:57,620 Vexo aquí unha morea de carpetas. 527 00:25:57,620 --> 00:25:58,870 Aquí está a miña carpeta Dropbox. 528 00:25:58,870 --> 00:26:00,770 As marcas de verificación significa que foi sincronizado. 529 00:26:00,770 --> 00:26:04,040 E hai algunhas cousas aquí, pero entende que é hello.c 530 00:26:04,040 --> 00:26:04,960 de feito alí. 531 00:26:04,960 --> 00:26:08,050 >> E así, Mac OS ou Windows, normalmente, Eu tiña un dobre clic diso, abre-se 532 00:26:08,050 --> 00:26:10,220 calquera programa, e eu son bo para ir. 533 00:26:10,220 --> 00:26:13,370 Pero agora, polo menos a partir de hoxe, nos que dar un paso atrás só para 534 00:26:13,370 --> 00:26:16,960 darlle algunhas ferramentas básicas para a súa Kit ferramenta coa que facer máis 535 00:26:16,960 --> 00:26:18,980 cousas poderosas antes de tempo. 536 00:26:18,980 --> 00:26:22,280 >> Entón, neste ventá, eu teño que facer o equivalente a premer dúas veces no 537 00:26:22,280 --> 00:26:23,560 Cartafol Dropbox. 538 00:26:23,560 --> 00:26:29,900 E para facelo, eu vou escribir para CD cambiar de directorio, Dropbox, entrar. 539 00:26:29,900 --> 00:26:36,100 E agora entender os parénteses na miña chamados listo agora di que eu estou en 540 00:26:36,100 --> 00:26:38,470 til, o pouco embaralhar símbolo na esquina superior esquerda da 541 00:26:38,470 --> 00:26:40,860 maioría dos teclados, / Dropbox. 542 00:26:40,860 --> 00:26:45,200 Este é só notación abreviada para dicindo humano, agora está dentro 543 00:26:45,200 --> 00:26:48,650 o cartafol Dropbox, como se tivese premendo dúas veces sobre el. 544 00:26:48,650 --> 00:26:54,610 >> Polo tanto, agora se eu ir adiante e escriba make Ola, entrar, vexo moi enigmático 545 00:26:54,610 --> 00:26:57,450 mando, pero non é unha mensaxe de erro, parecer, e despois 546 00:26:57,450 --> 00:26:59,020 outro palpebrar rápido. 547 00:26:59,020 --> 00:27:04,470 E se se lembra, sempre tan axiña o venres, nós fixemos iso. . / Olá 548 00:27:04,470 --> 00:27:10,000 >> O que está a piques de ver é o resultado da miña execución deste programa, ou, en Mac 549 00:27:10,000 --> 00:27:14,310 Condicións de sistema operativo e PC, se eu tivese normalmente dobrar facer clic nun programa - unha aplicación. 550 00:27:14,310 --> 00:27:17,620 programa ou un. exe, abre-se unha fiestra e carreiras. 551 00:27:17,620 --> 00:27:21,920 Escribindo. / Ola é como doble facer clic nun programa para executalo, pero 552 00:27:21,920 --> 00:27:23,280 usando o meu teclado. 553 00:27:23,280 --> 00:27:25,410 >> Escriba, Ola mundo. 554 00:27:25,410 --> 00:27:26,150 E é iso. 555 00:27:26,150 --> 00:27:29,150 Entón, imos provocar este ademais de por iso non se sente moi parecido ao grego. 556 00:27:29,150 --> 00:27:31,370 >> So. / Significa o que? 557 00:27:31,370 --> 00:27:34,120 Calquera que xa navegou un teclado ambiente coma este, que é o punto 558 00:27:34,120 --> 00:27:36,690 referencia? 559 00:27:36,690 --> 00:27:37,800 O directorio actual. 560 00:27:37,800 --> 00:27:41,320 >> Así, o directorio actual é só un sinónimo para un cartafol. 561 00:27:41,320 --> 00:27:46,230 Así dicindo dot slash, eu estou dicindo, Buscar un programa chamado Hola en 562 00:27:46,230 --> 00:27:47,250 directorio actual - 563 00:27:47,250 --> 00:27:48,540 no cartafol actual. 564 00:27:48,540 --> 00:27:50,480 Noutras palabras, a miña carpeta Dropbox. 565 00:27:50,480 --> 00:27:54,220 E é por iso premendo Intro despois realmente funciona este programa. 566 00:27:54,220 --> 00:27:58,790 >> Se eu LS agora Tipo, teña en conta que eu vexo todo na miña carpeta Dropbox. 567 00:27:58,790 --> 00:28:02,000 Obtendo Started.pdf, que Dropbox dálle balde, miñas fotos 568 00:28:02,000 --> 00:28:05,450 directorio, un directorio público e non gardada Documento 1 que fixen por erro un 569 00:28:05,450 --> 00:28:09,730 hai pouco, foo.c, que eu fixen antes hoxe, e logo, dúas liñas - 570 00:28:09,730 --> 00:28:12,090 hello.c e Olá 571 00:28:12,090 --> 00:28:17,280 >> Hello.c é o programa que escribín con gedit, eo que é Ola en verde? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 A Ola en verde é o executable. 574 00:28:22,940 --> 00:28:27,020 Noutras palabras, cando corría ese mando hai pouco - déixeme rolar 575 00:28:27,020 --> 00:28:28,040 de volta o tempo - 576 00:28:28,040 --> 00:28:32,400 cando eu execute facer Ola, iso é a etapa intermedia aquí. 577 00:28:32,400 --> 00:28:34,410 E levou hello.c como entrada - 578 00:28:34,410 --> 00:28:39,910 Código fonte aka - e produciu un arquivo chamado Ola como saída, que 579 00:28:39,910 --> 00:28:42,510 contén todos estes ceros e uns. 580 00:28:42,510 --> 00:28:47,640 E é por iso que, ao final, podo realmente executar un comando como. / Olá 581 00:28:47,640 --> 00:28:53,310 Por mor de Intel Inside, o meu ordenador sistema Linux, abre os ceros 582 00:28:53,310 --> 00:28:55,820 e aqueles, alimenta-los para o cerebros do meu ordenador - 583 00:28:55,820 --> 00:28:56,580 a CPU - 584 00:28:56,580 --> 00:29:00,460 e que a CPU sabe, oh, aquí está un estándar de ceros e uns que di 585 00:29:00,460 --> 00:29:02,800 imprimir o seguinte cousa na pantalla. 586 00:29:02,800 --> 00:29:04,450 >> Cal é o seguinte? 587 00:29:04,450 --> 00:29:07,650 Cita unquote, "Ola mundo". 588 00:29:07,650 --> 00:29:12,100 >> Todo ben, entón un rápido resumo dalgunhas das estes comandos para que poidamos comezar 589 00:29:12,100 --> 00:29:13,350 levalos para concedida. 590 00:29:13,350 --> 00:29:15,550 Deixe-me ir directo para o onde paramos. 591 00:29:15,550 --> 00:29:22,230 E vai lembrar que tiñamos CD no noso back-end dun momento atrás. 592 00:29:22,230 --> 00:29:24,880 Estes son, atrévome a dicir, por propósitos de hoxe - 593 00:29:24,880 --> 00:29:29,010 quizais esta semana - os únicos comandos que quizais sexa necesario escribir o comando 594 00:29:29,010 --> 00:29:30,580 facer ademais de pedir. 595 00:29:30,580 --> 00:29:34,510 >> Entón CD quedou por que? 596 00:29:34,510 --> 00:29:35,180 Cambie o directorio. 597 00:29:35,180 --> 00:29:38,010 É só o equivalente a dúas veces clic nun cartafol. 598 00:29:38,010 --> 00:29:41,320 E como un aparte, se recibe nunca perdeu dentro da súa 599 00:29:41,320 --> 00:29:43,430 aparello, de tal xeito que Dropbox - 600 00:29:43,430 --> 00:29:45,420 Quero volver para o meu directorio jharvard - 601 00:29:45,420 --> 00:29:50,490 En caso de dúbida, CD, entrar, sen ningunha outra palabras, e el só pecha-lo de volta 602 00:29:50,490 --> 00:29:53,110 a onde comezou, o que é algo bo acceso. 603 00:29:53,110 --> 00:29:54,840 >> Todo ben, entón agora os outros comandos. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 Eu escriba que un momento atrás. 606 00:29:56,840 --> 00:29:59,500 ¿Que pensas LS representa? 607 00:29:59,500 --> 00:30:00,470 >> Así, a lista, non? 608 00:30:00,470 --> 00:30:03,300 Volver o día, cando os seres humanos estaban vindo con estes comandos, eles 609 00:30:03,300 --> 00:30:07,180 estaban tratando de ser eficaz, e si escribir L-I-S-T Intro, eles 610 00:30:07,180 --> 00:30:08,470 decidiu LS. 611 00:30:08,470 --> 00:30:09,080 Iso é bo. 612 00:30:09,080 --> 00:30:10,420 Isto soa moi como lista. 613 00:30:10,420 --> 00:30:13,870 Nós só LS tipo entrar, e que lista os arquivos ou carpetas no meu 614 00:30:13,870 --> 00:30:15,000 cartafol actual. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, probablemente pode adiviñar. 616 00:30:17,530 --> 00:30:18,440 Fai directorio. 617 00:30:18,440 --> 00:30:22,010 Entón non ir a algún menú Arquivo e seleccione Novo cartafol neste ambiente. 618 00:30:22,010 --> 00:30:27,410 Pola contra, escribe o espazo comando mkdir e logo, o nome do filtro 619 00:30:27,410 --> 00:30:29,850 que quere crear, e iso será feito. 620 00:30:29,850 --> 00:30:32,380 >> rm, probablemente pode adiviñar. 621 00:30:32,380 --> 00:30:33,480 Eliminar ou eliminar. 622 00:30:33,480 --> 00:30:36,740 Entón, se quere eliminar un ficheiro, vai ver no conxunto de problemas como 623 00:30:36,740 --> 00:30:37,240 pode facelo. 624 00:30:37,240 --> 00:30:39,510 E rmdir, eliminar o directorio. 625 00:30:39,510 --> 00:30:42,320 >> Entón, de novo, eu vou adoitan voar a través dalgún destes detalles, un, porque 626 00:30:42,320 --> 00:30:46,010 eles non son todo isto moi divertido para pasar tempo, pero dous, nós aporta-lo 627 00:30:46,010 --> 00:30:48,720 en moi maior detalle en calquera dos O problema do curso define, en particular 628 00:30:48,720 --> 00:30:52,370 as edicións Standard, cada unha das etapas que pode ter escribir así 629 00:30:52,370 --> 00:30:54,830 que obteña cada vez máis cómodo con estas cousas. 630 00:30:54,830 --> 00:30:57,430 >> Pero agora déixeme desmembrar outra cousa. 631 00:30:57,430 --> 00:31:02,580 Cando ingresaran facer Ola un momento atrás, vimos unha secuencia de comandos enigmática. 632 00:31:02,580 --> 00:31:04,805 Vimos, unha vez máis, facer Olá 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 OK, imos facelo. 635 00:31:08,520 --> 00:31:11,840 Eu estaba a piques de cometer un erro, pero [Inaudível] agora admitir que eu estaba a piques de 636 00:31:11,840 --> 00:31:14,400 e facelo deliberadamente. 637 00:31:14,400 --> 00:31:15,810 >> O que eu fixen de malo agora? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 Si, entón eu non estou no Dropbox directorio, porque hai un momento que eu 640 00:31:21,060 --> 00:31:22,720 ingresaran CD e só presione Intro. 641 00:31:22,720 --> 00:31:25,480 Iso me grande de volta a onde eu comecei, que non é o lugar onde o meu ficheiro 642 00:31:25,480 --> 00:31:31,720 é, entón eu realmente teño que facer CD Dropbox entrar, e agora podo facer Ola rm 643 00:31:31,720 --> 00:31:34,060 inserir, eliminar ficheiro regular Olá 644 00:31:34,060 --> 00:31:35,200 Non sei por que é tan enigmática. 645 00:31:35,200 --> 00:31:37,600 Isto significa só que está seguro que desexa eliminar Ola? 646 00:31:37,600 --> 00:31:41,510 Podes escribir y para si, entrar, e agora foise. 647 00:31:41,510 --> 00:31:46,010 >> E agora, se eu tecleo facer Ola de novo, é vai recrear meu código obxecto, 648 00:31:46,010 --> 00:31:47,460 recrear os ceros e uns. 649 00:31:47,460 --> 00:31:51,070 Pero o que é o negocio con esta moi longo de mando? 650 00:31:51,070 --> 00:31:53,960 Ben, imos provocar este apart en pouco tempo, pero facer - 651 00:31:53,960 --> 00:31:55,500 Eu dixen algo de mentira antes - 652 00:31:55,500 --> 00:31:56,880 non é un compilador. 653 00:31:56,880 --> 00:32:00,350 Facer é un programa que automaticamente descobre como realizar un 654 00:32:00,350 --> 00:32:02,060 compilador para ti. 655 00:32:02,060 --> 00:32:07,490 >> Así, a orde que o que realmente debe ser execución, a fin de converterse hello.c 656 00:32:07,490 --> 00:32:11,240 en Ola realmente parece un pouco máis como este. 657 00:32:11,240 --> 00:32:15,900 E Deus me libre que temos que realmente lembre sempre que escribir todo 658 00:32:15,900 --> 00:32:17,280 secuencia de comandos fóra. 659 00:32:17,280 --> 00:32:21,360 O obxectivo de facer na vida é lembre que o grao de complexidade para 660 00:32:21,360 --> 00:32:24,470 nós e automatizar o que sería doutra forma ser pasos moi tedioso. 661 00:32:24,470 --> 00:32:26,040 >> Pero eu podo achegar diso. 662 00:32:26,040 --> 00:32:29,960 Entón, por este cheat sheet pouco aquí, eu pode achegar o que este comando é 663 00:32:29,960 --> 00:32:33,960 facendo simplemente escribindo bumbum, que é o nome do compilador estaremos 664 00:32:33,960 --> 00:32:35,170 usando este semestre. 665 00:32:35,170 --> 00:32:38,500 Se algún de vós xa fixo IOS desenvolvemento para o iPhone ou iPad, 666 00:32:38,500 --> 00:32:42,930 Clang é o programa que usou o Xcode para facer os seus apps. 667 00:32:42,930 --> 00:32:46,360 Clang, con todo, é só un programa cuxo nome pode escribir no comando 668 00:32:46,360 --> 00:32:49,210 solicitar, e introducindo iso agora, Podo presentar algo que é un 669 00:32:49,210 --> 00:32:52,410 pouco representativo de ordes para vir. 670 00:32:52,410 --> 00:32:53,910 Entón deixe-me facelo manualmente. 671 00:32:53,910 --> 00:32:59,240 >> Entón rm Ola, e agora entende no caso Eu, así como unha comprobación de sanidade mental - 672 00:32:59,240 --> 00:33:03,180 . / Ola, o que pensas que eu debe ver se fago isto? 673 00:33:03,180 --> 00:33:04,060 Algún tipo de erro. 674 00:33:04,060 --> 00:33:05,110 Non hai tal directorio de ficheiros. 675 00:33:05,110 --> 00:33:06,740 De modo que un é realmente moi directa. 676 00:33:06,740 --> 00:33:08,110 >> Entón, agora déixeme limpar a pantalla. 677 00:33:08,110 --> 00:33:11,370 Control S só limpa a pantalla para eliminar algunhas distraccións. 678 00:33:11,370 --> 00:33:17,160 E agora vou a man Tipo de son estridente-o Ola hello.c. 679 00:33:17,160 --> 00:33:18,890 Entón o que é iso de facer? 680 00:33:18,890 --> 00:33:23,820 Exactamente o mesmo que fixo para facer nós, pero eu tirar algunhas das 681 00:33:23,820 --> 00:33:25,430 as palabras superfluas. 682 00:33:25,430 --> 00:33:28,570 >> Clang é o programa que vai tomar un ficheiro c. como entrada e producen 683 00:33:28,570 --> 00:33:30,110 ceros e uns como saída. 684 00:33:30,110 --> 00:33:35,120 Pero o de agora en diante chamaremos un switch ou unha bandeira. 685 00:33:35,120 --> 00:33:39,080 Este é só un argot tecnoloxía por dicir esta é unha palabra que escribir nun ventá 686 00:33:39,080 --> 00:33:42,590 que dalgún xeito inflúe o comportamento do programa que está executando. 687 00:33:42,590 --> 00:33:47,180 Entón, alguén quere adiviñar que transmite-o? 688 00:33:47,180 --> 00:33:47,840 >> Output. 689 00:33:47,840 --> 00:33:52,670 É só alguén decidiuse a dicir saída dun arquivo chamado Ola e tomar como 690 00:33:52,670 --> 00:33:56,440 entrada de calquera que sexa a última palabra sobre o o poder é, hello.c, de xeito que se eu acertar 691 00:33:56,440 --> 00:33:58,930 Entre agora, nada parece ocorrer. 692 00:33:58,930 --> 00:34:02,010 E por incrible que pareza, neste mundo de programación, se nada acontecer, 693 00:34:02,010 --> 00:34:03,980 isto pode ser unha cousa boa porque non hai ningún erro 694 00:34:03,980 --> 00:34:05,350 mensaxe na pantalla. 695 00:34:05,350 --> 00:34:07,190 Ola, Intro. 696 00:34:07,190 --> 00:34:08,670 O meu programa xa executado. 697 00:34:08,670 --> 00:34:14,517 >> Pero podo facer cousas estúpidas como isto. clang-o, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 entrar, e agora eu teño un idéntico programa chamado hihihi. 699 00:34:18,590 --> 00:34:20,739 Se comporta o mesmo, pero o nome é diferente. 700 00:34:20,739 --> 00:34:23,360 >> Polo tanto, esta é só para dicir que se quere para influír no comportamento dunha 701 00:34:23,360 --> 00:34:25,909 programa, imos cada vez máis ver cousas chamadas 702 00:34:25,909 --> 00:34:27,739 argumentos de liña de comandos. 703 00:34:27,739 --> 00:34:28,639 Esta é unha liña. 704 00:34:28,639 --> 00:34:29,580 Está escribindo comandos. 705 00:34:29,580 --> 00:34:30,969 Ergo, a liña de comandos. 706 00:34:30,969 --> 00:34:35,690 E os argumentos de liña de comandos só palabras ou pequenos anacos de sintaxe que 707 00:34:35,690 --> 00:34:40,840 dalgún xeito influír no comportamento programas que están sendo executados. 708 00:34:40,840 --> 00:34:44,639 >> Todo ben, que talvez sexa a máis programa chat, podemos escribir e ver. 709 00:34:44,639 --> 00:34:46,670 Imos agora facer algo máis interesante. 710 00:34:46,670 --> 00:34:49,420 Déixeme ir adiante e crear un novo arquivo. 711 00:34:49,420 --> 00:34:53,139 Eu estou indo a ir adiante e gardar esta en Directorio home do John Harvard como, 712 00:34:53,139 --> 00:34:58,670 imos chamalo custom.c, para ser un pequeno programa personalizado. 713 00:34:58,670 --> 00:35:01,920 Eu estou indo a facer zoom no meu top de as fichas aquí e comezar de novo. 714 00:35:01,920 --> 00:35:03,730 >> Incluír stdio.h estándar. 715 00:35:03,730 --> 00:35:04,990 Máis sobre iso nun momento. 716 00:35:04,990 --> 00:35:08,240 int main (void), máis en que nun momento. 717 00:35:08,240 --> 00:35:09,490 printf ("Ola, David"). 718 00:35:09,490 --> 00:35:12,810 719 00:35:12,810 --> 00:35:14,560 Moito máis interesante, non? 720 00:35:14,560 --> 00:35:20,690 >> Polo tanto, agora - non por mor do meu nome, só porque é diferente - 721 00:35:20,690 --> 00:35:24,950 facer entrar costume. 722 00:35:24,950 --> 00:35:26,780 Personalizado, Ola, David. 723 00:35:26,780 --> 00:35:28,020 Pero, aínda que, tamén, é unha mentira branca. 724 00:35:28,020 --> 00:35:30,850 Este programa pode moi ben ser chamado David.C, porque non é habitual 725 00:35:30,850 --> 00:35:31,880 comportamento de todo. 726 00:35:31,880 --> 00:35:35,080 Realmente, quero un programa que pide o usuario para o seu nome. 727 00:35:35,080 --> 00:35:36,320 >> Entón, como podo facelo? 728 00:35:36,320 --> 00:35:38,520 Ben, deixe-me ir cara arriba aquí. 729 00:35:38,520 --> 00:35:42,960 E antes de usar unha declaración en Cero, antes de usar printf, 730 00:35:42,960 --> 00:35:47,600 tamén coñecido como unha función, déixeme primeiro pedir ao usuario para algunha entrada. 731 00:35:47,600 --> 00:35:49,690 >> Entón, para facelo, eu teño facer un par de cousas. 732 00:35:49,690 --> 00:35:53,360 Un, eu teño un lugar para almacenar o usuario nome despois de que eu pregunta a el ou 733 00:35:53,360 --> 00:35:54,510 por iso. 734 00:35:54,510 --> 00:36:00,120 O constructo que eu teño para usar probablemente para almacenar un valor así? 735 00:36:00,120 --> 00:36:00,910 Unha variable. 736 00:36:00,910 --> 00:36:05,130 >> Polo tanto, ao contrario do risco, onde acaba de obter unha boa parte do enigma, aquí, temos que 737 00:36:05,130 --> 00:36:07,620 usar obviamente palabras a expresarnos. 738 00:36:07,620 --> 00:36:11,510 E a partir de agora, cando quere un palabra ou unha frase, na programación, 739 00:36:11,510 --> 00:36:13,090 imos chamar iso dunha cadea. 740 00:36:13,090 --> 00:36:14,990 Así, unha cadea é unha palabra ou unha frase. 741 00:36:14,990 --> 00:36:18,170 É unha secuencia de cero ou máis personaxes, máis formalmente. 742 00:36:18,170 --> 00:36:22,520 >> E se queres como unha variable para existe, ten que dicir darme un. 743 00:36:22,520 --> 00:36:27,490 E a forma pola que facelo é dicir string s comas, onde s se pode 744 00:36:27,490 --> 00:36:28,740 calquera cousa que sexa. 745 00:36:28,740 --> 00:36:30,510 En realidade, s é un pouco por baixo do esperado. 746 00:36:30,510 --> 00:36:33,250 Déixeme ir adiante e máis chamalo nome claramente. 747 00:36:33,250 --> 00:36:36,570 Déame unha cadea chamada nome. 748 00:36:36,570 --> 00:36:40,180 >> Pero agora, o que é a persoa nome por defecto? 749 00:36:40,180 --> 00:36:42,930 Ben, se o ser humano non escribir nada o que evidentemente non vai 750 00:36:42,930 --> 00:36:44,310 non haber valor de nome. 751 00:36:44,310 --> 00:36:48,120 E ocorre en C, se non dá a un valor variable, que vai 752 00:36:48,120 --> 00:36:49,180 ten un valor de lixo. 753 00:36:49,180 --> 00:36:51,650 Pode ter algúns ceros aleatorios e queridos, así que está indo só para ver 754 00:36:51,650 --> 00:36:54,570 lixo, en realidade, na pantalla se tentar amosar-lo. 755 00:36:54,570 --> 00:36:59,800 >> Pero eu podo fixar iso por dicir, en realidade, tenda dentro do nome 756 00:36:59,800 --> 00:37:01,400 despois valor. 757 00:37:01,400 --> 00:37:09,240 A forma como almacenar valores en variables é se ten un nome de variable na 758 00:37:09,240 --> 00:37:13,370 á esquerda, ten que dalgún xeito poñer o que desexa almacenar nel, á dereita, e 759 00:37:13,370 --> 00:37:17,650 a sintaxe para o que está a suceder para ser como segue. 760 00:37:17,650 --> 00:37:22,120 >> Non vimos isto antes, pero tomar na fe por un momento que non 761 00:37:22,120 --> 00:37:26,270 existe outra afirmación no mundo que eu vou chamar de novo a función, 762 00:37:26,270 --> 00:37:28,310 e esta función é chamado obter cadea. 763 00:37:28,310 --> 00:37:29,670 E fai literalmente iso. 764 00:37:29,670 --> 00:37:34,680 Dalgunha forma, queda unha secuencia de carácteres a partir do ser humano e, en seguida, 765 00:37:34,680 --> 00:37:36,380 fai algo con el. 766 00:37:36,380 --> 00:37:38,410 >> E iso se parece sintaxe enigmática. 767 00:37:38,410 --> 00:37:40,880 Normalmente, se está a usar o signo igual - está no mundo, digamos, 768 00:37:40,880 --> 00:37:43,740 álxebra, e está realmente dicindo que x é igual a 1. 769 00:37:43,740 --> 00:37:46,570 Aquí non estamos dicindo que nome igual obter cadea. 770 00:37:46,570 --> 00:37:51,270 Estamos dicindo tenda en nome de que é no lado dereito 771 00:37:51,270 --> 00:37:52,400 dese signo igual. 772 00:37:52,400 --> 00:37:55,030 O signo igual representa o operador de asignación. 773 00:37:55,030 --> 00:37:58,240 É a sintaxe que se pór o que está en á dereita dentro do que é 774 00:37:58,240 --> 00:37:59,090 na parte esquerda. 775 00:37:59,090 --> 00:38:03,040 Entón, se cadea é unha nova peza de unha función que non só fai 776 00:38:03,040 --> 00:38:03,670 algo - 777 00:38:03,670 --> 00:38:05,000 pide ao usuario a unha cadea - 778 00:38:05,000 --> 00:38:08,500 tamén retorna, por así dicir. 779 00:38:08,500 --> 00:38:10,690 >> Entón imos ver o que está a suceder pasar aquí. 780 00:38:10,690 --> 00:38:14,300 Eu estou indo a ir adiante agora e zoom out, e eu estou indo a obter un par de 781 00:38:14,300 --> 00:38:15,780 erros na miña solicitude. 782 00:38:15,780 --> 00:38:18,750 Vou facer tipo personalizado, introduza. 783 00:38:18,750 --> 00:38:19,230 Guau. 784 00:38:19,230 --> 00:38:20,500 Unha morea de erros. 785 00:38:20,500 --> 00:38:23,120 >> Todo ben, entón que é o tipo de esmagadora, por suposto en principio, pero 786 00:38:23,120 --> 00:38:27,220 botan todo iso moi reconhecidamente mensaxes de erro enigmáticas son 787 00:38:27,220 --> 00:38:30,700 referíndose a algúns patróns que imos comezar a ver ao longo do tempo. 788 00:38:30,700 --> 00:38:32,600 Entón, iso é o que eu vou arrincar fóra, por que é en primeiro lugar. 789 00:38:32,600 --> 00:38:35,700 Uso da cadea do identificador non declarado. 790 00:38:35,700 --> 00:38:39,400 >> Isto só significa que gedit ou Clang, neste caso, non se sabe 791 00:38:39,400 --> 00:38:40,780 o que quero dicir con cadea. 792 00:38:40,780 --> 00:38:43,880 E iso é porque en C, a programación linguaxe, hai, en realidade, 793 00:38:43,880 --> 00:38:47,750 ningunha variable do tipo cadea. 794 00:38:47,750 --> 00:38:49,810 C non sabe que existen cordas. 795 00:38:49,810 --> 00:38:52,260 >> Pero nós, CS50 persoal, faga. 796 00:38:52,260 --> 00:38:57,080 E así, antes da clase, creado un ficheiro chamado CS50.h. 797 00:38:57,080 --> 00:39:00,060 E dentro deste arquivo - e máis sobre a sintaxe para vir - 798 00:39:00,060 --> 00:39:03,730 dentro dese ficheiro é a definición do que eu acabei definido 799 00:39:03,730 --> 00:39:05,340 verbalmente como unha cadea. 800 00:39:05,340 --> 00:39:09,100 Entón, simplemente concluíndo esta liña de código no meu programa, eu son agora 801 00:39:09,100 --> 00:39:14,620 ensino gedit e facer e Clang todo en converter o que unha cadea é. 802 00:39:14,620 --> 00:39:15,475 >> Non sei como aínda. 803 00:39:15,475 --> 00:39:17,110 En poucas semanas, imos pelar esa capa. 804 00:39:17,110 --> 00:39:20,340 Pero, por agora, sei que iso ensina o compilador que a 805 00:39:20,340 --> 00:39:22,020 corda realmente é. 806 00:39:22,020 --> 00:39:24,230 >> Entón, agora déixeme aclarar a miña Terminal aquí. 807 00:39:24,230 --> 00:39:28,530 Déixeme volver a funcionar facer sempre, e eu resolveron todos os problemas. 808 00:39:28,530 --> 00:39:30,210 Entón, iso tamén vai ser un tema recorrente. 809 00:39:30,210 --> 00:39:34,190 Eu só escribín un programa de 9 liña, e Eu aínda tiña 18 liñas de erros. 810 00:39:34,190 --> 00:39:35,650 Este é un tipo de intimidación. 811 00:39:35,650 --> 00:39:39,260 Pero entendo que moitas veces en cascada, tales que un pequeno erro desencadea 812 00:39:39,260 --> 00:39:43,070 a confusión ao compilador, e parece moito peor do que é. 813 00:39:43,070 --> 00:39:47,460 >> Entón agora un observador astuto saberá que eu estou a recibir unha secuencia do 814 00:39:47,460 --> 00:39:51,460 usuario, pero eu non son realmente facer o que con iso? 815 00:39:51,460 --> 00:39:53,570 Eu non estou realmente facendo nada con el. 816 00:39:53,570 --> 00:40:01,240 Entón, se eu executar o costume de novo, vai só sentir alí. 817 00:40:01,240 --> 00:40:03,380 Que está pasando? 818 00:40:03,380 --> 00:40:07,990 Meu programa parece estar preso que liña, diría? 819 00:40:07,990 --> 00:40:09,860 >> Entón, é realmente preso na liña 7. 820 00:40:09,860 --> 00:40:13,600 E nós non vimos isto antes, pero na liña 7, hai, outra vez, esta 821 00:40:13,600 --> 00:40:14,650 declaración, si cadea. 822 00:40:14,650 --> 00:40:15,930 E el fai o que di. 823 00:40:15,930 --> 00:40:18,480 Espera-se agora para o ser humano para tirar a corda. 824 00:40:18,480 --> 00:40:22,230 Isto é totalmente intuitivo para min, o ser humano, porque non se dixo 825 00:40:22,230 --> 00:40:23,040 o que facer. 826 00:40:23,040 --> 00:40:27,320 >> Pero déixeme ir adiante con fe e déixeme finxir que Rob. 827 00:40:27,320 --> 00:40:28,500 Intro. 828 00:40:28,500 --> 00:40:30,930 Ese non é o programa que eu pretendía. 829 00:40:30,930 --> 00:40:32,350 Entón, nós temos o noso primeiro blog. 830 00:40:32,350 --> 00:40:34,390 >> Pero imos intentar razoar a través porque este é o caso. 831 00:40:34,390 --> 00:40:36,940 En primeiro lugar, deixe-me corrixir este primeiro problema. 832 00:40:36,940 --> 00:40:44,690 Déixeme engadir unha liña aquí que di printf, cal é o seu nome? 833 00:40:44,690 --> 00:40:47,700 Imos facer preto cita, pechar parénteses. 834 00:40:47,700 --> 00:40:51,350 >> Agora, deixe-me volver a executar o programa. 835 00:40:51,350 --> 00:40:51,760 Problema. 836 00:40:51,760 --> 00:40:54,690 Non estou a ver iso. 837 00:40:54,690 --> 00:40:54,930 >> Correcto. 838 00:40:54,930 --> 00:40:55,990 Non recopila-lo. 839 00:40:55,990 --> 00:40:59,800 Entón, nunha linguaxe como C, porque cambiar o código fonte non significa 840 00:40:59,800 --> 00:41:03,170 que cambiou o seu código obxecto para xerar un novo código obxecto, 841 00:41:03,170 --> 00:41:04,330 novos ceros e uns. 842 00:41:04,330 --> 00:41:05,590 Ten que recompilar. 843 00:41:05,590 --> 00:41:10,300 Se eu agora re-executar costume, entrar, ah, un pouco máis clara. 844 00:41:10,300 --> 00:41:11,890 O meu nome é Rob. 845 00:41:11,890 --> 00:41:12,760 Aínda buggy. 846 00:41:12,760 --> 00:41:14,170 >> E eu diría que hai un par de erros agora. 847 00:41:14,170 --> 00:41:15,450 Isto parece horrible, francamente. 848 00:41:15,450 --> 00:41:18,980 Como, como mínimo, eu debería ter un espazo alí, ou mover o 849 00:41:18,980 --> 00:41:20,330 cursor á nova liña. 850 00:41:20,330 --> 00:41:21,370 >> E, de feito, a nova liña. 851 00:41:21,370 --> 00:41:24,660 Isto é unha especie de contrasinal aquí que vimos, pero non definido. 852 00:41:24,660 --> 00:41:28,560 O xeito en que comeza un texto para ir á seguinte liña, 853 00:41:28,560 --> 00:41:29,480 non facelo. 854 00:41:29,480 --> 00:41:31,070 Isto é confuso para o ordenador. 855 00:41:31,070 --> 00:41:33,830 Isto parécese dúas liñas separadas de código, ningún dos cales 856 00:41:33,830 --> 00:41:35,010 é perfectamente correcta. 857 00:41:35,010 --> 00:41:39,380 Vostede xa ten que ser máis explícito e dicir, dáme unha nova liña, que 858 00:41:39,380 --> 00:41:41,810 representar no c con barra invertida n. 859 00:41:41,810 --> 00:41:43,230 >> Polo tanto, hai algunhas desas personaxes. 860 00:41:43,230 --> 00:41:45,080 Barra invertida n vai corrixir isto estético. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 Déixeme recompilar o programa. 863 00:41:50,870 --> 00:41:52,300 Déixeme volver a executar o meu programa. 864 00:41:52,300 --> 00:41:53,520 >> Isto paréceme mellor. 865 00:41:53,520 --> 00:41:56,960 El aínda é moi primitivo, pero tamén é aínda buggy. 866 00:41:56,960 --> 00:41:58,090 Polo tanto, hai un - 867 00:41:58,090 --> 00:42:01,680 mesmo se nunca programou antes, probablemente pode dar un palpite 868 00:42:01,680 --> 00:42:04,960 a razón pola que este programa aínda é fallo. 869 00:42:04,960 --> 00:42:08,540 O que eu teño para facelo Eu non fixen aínda? 870 00:42:08,540 --> 00:42:10,450 >> Entón eu teño que realmente facer algo co nome. 871 00:42:10,450 --> 00:42:14,190 Así como en principio, realmente pode asignar unha variable como n ou 872 00:42:14,190 --> 00:42:16,150 combater, como fixemos no último semana - un valor. 873 00:42:16,150 --> 00:42:18,930 Pero se non fai nada con el, nada vai ocorrer. 874 00:42:18,930 --> 00:42:20,210 >> Todo ben, entón imos corrixir. 875 00:42:20,210 --> 00:42:23,670 Déixeme escribir a miña variable alí, e déixeme baixar aquí. 876 00:42:23,670 --> 00:42:29,120 Déixeme recompilar, déixeme re-run, Rob. 877 00:42:29,120 --> 00:42:30,540 Agora eu son só un idiota, non? 878 00:42:30,540 --> 00:42:33,280 >> Polo tanto, este non é realmente quedando me aínda máis. 879 00:42:33,280 --> 00:42:35,850 Pero iso foi un perfectamente natural instinto, eu diría, non? 880 00:42:35,850 --> 00:42:39,340 Se a variable é chamado de nome, e eu queres que vaia alí, por que non me 881 00:42:39,340 --> 00:42:40,200 escriba-lo alí? 882 00:42:40,200 --> 00:42:42,210 >> Ben, por suposto, temos para distinguir agora 883 00:42:42,210 --> 00:42:44,070 entre o que é unha cadea? 884 00:42:44,070 --> 00:42:47,060 Teña en conta que entre comiñas aquí, Ola nome? 885 00:42:47,060 --> 00:42:48,960 Este feito en si é unha cadea. 886 00:42:48,960 --> 00:42:49,820 É difícil cifrada. 887 00:42:49,820 --> 00:42:50,690 Non é do humano. 888 00:42:50,690 --> 00:42:54,020 É de min, o programador orixinal senón que é unha cadea. 889 00:42:54,020 --> 00:42:58,300 >> Entón, se, literalmente, escribir N-A-M-E dentro dunha corda, o que vai 890 00:42:58,300 --> 00:42:59,120 obter impreso? 891 00:42:59,120 --> 00:43:03,660 Ben, N-A-M-e. No seu lugar, ten que dicir printf, non imprimir 892 00:43:03,660 --> 00:43:04,870 fóra literalmente nomear. 893 00:43:04,870 --> 00:43:06,680 Imprimir o valor do nome. 894 00:43:06,680 --> 00:43:08,410 >> E para facelo, imos facer o seguinte. 895 00:43:08,410 --> 00:43:09,800 E iso é só unha convención humana. 896 00:43:09,800 --> 00:43:14,990 Nós en vez dicir% s, e que significa cadea. 897 00:43:14,990 --> 00:43:19,810 E entón, ao final das miñas citas próximos, Vou poñer unha coma e 898 00:43:19,810 --> 00:43:23,790 pasar un segundo argumento para esta afirmación. 899 00:43:23,790 --> 00:43:25,970 Vou escribir o nome alí. 900 00:43:25,970 --> 00:43:27,960 >> Entón agora entender que temos un lixeiramente nova sintaxe. 901 00:43:27,960 --> 00:43:32,320 Nós aínda temos dúas parénteses, e a partir deste momento, deixe-me dicir que o material 902 00:43:32,320 --> 00:43:36,830 entre parénteses representa argumentos nunha función - 903 00:43:36,830 --> 00:43:39,730 insumos que son de algunha maneira vai para influír no seu comportamento. 904 00:43:39,730 --> 00:43:43,010 Entón por esa lóxica, cantos argumentos printf non parecen 905 00:43:43,010 --> 00:43:45,450 tomando neste momento? 906 00:43:45,450 --> 00:43:48,370 >> Así, parece estar a tomar dous, e iso é de feito implícitas 907 00:43:48,370 --> 00:43:49,570 polo comas aquí. 908 00:43:49,570 --> 00:43:51,640 Polo tanto, este é un argumento entre comiñas. 909 00:43:51,640 --> 00:43:54,540 Aínda que teña unha coma el todo está entre comiñas, o que significa 910 00:43:54,540 --> 00:43:56,230 é unha cadea longa. 911 00:43:56,230 --> 00:43:58,280 Comas, nome da variable. 912 00:43:58,280 --> 00:44:00,680 >> Entón, agora déixeme afastar. 913 00:44:00,680 --> 00:44:02,240 Déixeme volver executalo. 914 00:44:02,240 --> 00:44:03,490 Rob. 915 00:44:03,490 --> 00:44:06,520 Drogas, o que eu fixen de malo? 916 00:44:06,520 --> 00:44:07,920 >> Todo ben, así que ten que recompilar. 917 00:44:07,920 --> 00:44:11,030 Entón, de novo, os erros fáciles de facer no inicio e outra vez. 918 00:44:11,030 --> 00:44:15,280 Entón, agora re-executar costume, Rob, entrar, e listo. 919 00:44:15,280 --> 00:44:17,110 Temos, agora, un programa personalizado. 920 00:44:17,110 --> 00:44:21,660 >> Entón agora teño un programa que usar algunhas características 921 00:44:21,660 --> 00:44:22,520 que son dignos de nota. 922 00:44:22,520 --> 00:44:27,850 Un, eu estou usando CS50.h, se non, coñecido como a biblioteca de CS50. 923 00:44:27,850 --> 00:44:33,050 E dentro da biblioteca CS50 son funcións que outros escribiron - 924 00:44:33,050 --> 00:44:33,980 é dicir, o persoal - 925 00:44:33,980 --> 00:44:36,620 para usar e obter cadea é un deles. 926 00:44:36,620 --> 00:44:41,310 >> Dentro da liña 2 é stdio.h, e por que iso existe? 927 00:44:41,310 --> 00:44:42,070 Tomé un palpite. 928 00:44:42,070 --> 00:44:46,200 Que hai dentro estándar IO pai? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 Entón printf, non velo en calquera lugar outra na pantalla. 931 00:44:49,600 --> 00:44:51,870 Debe vir co equipo de algunha maneira. 932 00:44:51,870 --> 00:44:54,870 Onde é que vén? 933 00:44:54,870 --> 00:44:57,660 É dentro - é declarada, por así dicir, no interior da 934 00:44:57,660 --> 00:44:59,890 un arquivo chamado stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> Agora, para estas cousas, imos volver para, finalmente, porque é algo 936 00:45:02,670 --> 00:45:03,930 distraído por agora. 937 00:45:03,930 --> 00:45:05,490 Iso se refire ao noso tipo de retorno. 938 00:45:05,490 --> 00:45:07,660 Refírese a un argumento. 939 00:45:07,660 --> 00:45:10,230 Pero para hoxe, estamos enfocados só aquí nestas liñas. 940 00:45:10,230 --> 00:45:13,280 >> Así, o nome cadea, só para recapitular, o que iso fai para min? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 Por iso, declarou unha variable do tipo cadea. 943 00:45:19,560 --> 00:45:22,630 Por iso, está destinado a ser por palabras, non para números. 944 00:45:22,630 --> 00:45:25,530 Só como un aparte, se eu quería que sexa un número, eu diría 945 00:45:25,530 --> 00:45:26,560 algo así como int. 946 00:45:26,560 --> 00:45:29,740 Se eu quixese ser un punto flotante valor, algo cun punto decimal, 947 00:45:29,740 --> 00:45:30,600 Eu diría float. 948 00:45:30,600 --> 00:45:32,640 Pero, polo de hoxe, eu acabo de dicir cadea. 949 00:45:32,640 --> 00:45:35,940 >> E eu teño dado esta variable un nome de nome, pero eu podería 950 00:45:35,940 --> 00:45:37,240 chamar calquera cousa. 951 00:45:37,240 --> 00:45:39,340 De feito, orixinalmente, eu o chamei S. 952 00:45:39,340 --> 00:45:41,050 >> Iso aquí é só outro comunicado. 953 00:45:41,050 --> 00:45:44,170 Cantos argumentos é esta declaración tomando? 954 00:45:44,170 --> 00:45:47,890 Entón, é só tomar un, e que é simplemente un detalle estético 955 00:45:47,890 --> 00:45:49,610 mostrando algo en a pantalla para min. 956 00:45:49,610 --> 00:45:54,750 ¿Que é esta liña 8 facendo en termos laicos? 957 00:45:54,750 --> 00:45:57,320 >> Está quedando un valor a partir do usuario - ou sexa, unha cadea - 958 00:45:57,320 --> 00:45:58,770 eo que está a facer con el? 959 00:45:58,770 --> 00:46:02,450 É, esencialmente, entregándoo ao cara o lado da man esquerda 960 00:46:02,450 --> 00:46:07,100 signo igual xeito que, neste caso, o variable nome realmente pode almacena-lo. 961 00:46:07,100 --> 00:46:10,020 >> E logo outro printf exemplo dunha función. 962 00:46:10,020 --> 00:46:11,870 E nós dicimos para chamar a unha función. 963 00:46:11,870 --> 00:46:13,870 Para usar unha función para chamar a unha función. 964 00:46:13,870 --> 00:46:15,640 Esa cousa aparentemente toma dous argumentos. 965 00:46:15,640 --> 00:46:18,100 Este, coma, un agasallo. 966 00:46:18,100 --> 00:46:20,910 >> Este en si é só unha secuencia que contén un espazo reservado. 967 00:46:20,910 --> 00:46:23,860 % S significa poñer outra secuencia aquí. 968 00:46:23,860 --> 00:46:27,360 E así por poñer o nome despois a coma, que está inserindo 969 00:46:27,360 --> 00:46:29,420 que cousa para min. 970 00:46:29,420 --> 00:46:31,300 >> Entón eu podo facer outras cousas aínda. 971 00:46:31,300 --> 00:46:36,820 Déixeme ir adiante agora e facer un pouco de programa parvo, pero déixeme borrar tanto, 972 00:46:36,820 --> 00:46:38,880 e déixeme crear un loop. 973 00:46:38,880 --> 00:46:41,390 Mentres verdade. 974 00:46:41,390 --> 00:46:45,210 O símbolo é obviamente certo sempre vai ser verdade. 975 00:46:45,210 --> 00:46:49,830 Entón, que tipo de ciclo estou inducindo escrita nunha liña como esta? 976 00:46:49,830 --> 00:46:51,070 >> Entón, un loop infinito, non? 977 00:46:51,070 --> 00:46:52,090 Só mentres verdade. 978 00:46:52,090 --> 00:46:56,210 Non hai ningunha maneira podo cambiar a palabra certo para ser calquera outra cousa, entón iso é 979 00:46:56,210 --> 00:46:57,310 só vai funcionar para sempre. 980 00:46:57,310 --> 00:46:59,960 Entón, se nunca tivo realmente un programa no seu Mac ou PC parecer 981 00:46:59,960 --> 00:47:02,480 ter pechado, ou que está a facer unha cousa e unha cousa, e só 982 00:47:02,480 --> 00:47:05,500 non pode facer o deixar a menos que reinicie o seu ordenador ou puxar arriba o 983 00:47:05,500 --> 00:47:08,360 Xestión de tarefas ou similar, aquí está un exemplo. 984 00:47:08,360 --> 00:47:14,340 >> Eu podo dicir: "Eu son un programa de buggy." Pechar cita, peche 985 00:47:14,340 --> 00:47:15,780 parénteses, o punto e coma. 986 00:47:15,780 --> 00:47:17,010 Entón, de novo, observar os patróns. 987 00:47:17,010 --> 00:47:21,440 Aínda que algúns dos nosos sintaxe é novo, a palabra chave tempo, a palabra clave é certo, 988 00:47:21,440 --> 00:47:23,590 Repare que eu teño o mesmo tipo de chaves. 989 00:47:23,590 --> 00:47:25,890 Eu teño un punto e coma e entre parénteses. 990 00:47:25,890 --> 00:47:28,000 >> Entón, agora imos adiante e compilar iso. 991 00:47:28,000 --> 00:47:29,630 Faga o costume, costume. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 Polo tanto, neste punto, non reiniciar o dispositivo, non? 994 00:47:36,660 --> 00:47:39,925 Entón a pregunta aquí é fácil con dous dedos, Control C, 995 00:47:39,925 --> 00:47:41,230 imos deixar este programa. 996 00:47:41,230 --> 00:47:45,430 Pero pode ver exactamente por iso que esa cousa se repetía unha e outra vez. 997 00:47:45,430 --> 00:47:48,080 >> Podo facer algo un pouco máis complexo como un teaser. 998 00:47:48,080 --> 00:47:49,600 Eu estou indo a ir adiante e dicir o seguinte. 999 00:47:49,600 --> 00:47:55,210 Para int, que é un enteiro, é só i un nome xenérico que damos a máis 1000 00:47:55,210 --> 00:47:59,500 variables na programación cando está só contando, é igual a 0. 1001 00:47:59,500 --> 00:48:08,640 Déixeme ir adiante e dicir, mentres i é, digamos, menos de 100, i plus plus. 1002 00:48:08,640 --> 00:48:10,240 Imos volver a esta sintaxe, pero iso significa só 1003 00:48:10,240 --> 00:48:12,270 incrementar i novo. 1004 00:48:12,270 --> 00:48:14,200 >> E o que quero facer aquí? 1005 00:48:14,200 --> 00:48:21,130 Printf "Podo contar a i." Este é un programa de buggy. 1006 00:48:21,130 --> 00:48:22,450 O que eu realmente quero aquí? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> Por cento non é, pero non vai adiviñar isto. % D é un enteiro decimal. 1009 00:48:30,940 --> 00:48:32,720 COMMA i. 1010 00:48:32,720 --> 00:48:34,340 Déixeme rolar para atrás. 1011 00:48:34,340 --> 00:48:37,170 >> Déixeme agora recompilar co make. 1012 00:48:37,170 --> 00:48:39,280 Déixeme agora reprise co costume. 1013 00:48:39,280 --> 00:48:42,410 Podo contar realmente maldita rápido cando Eu escriba un programa coma este. 1014 00:48:42,410 --> 00:48:45,480 >> Agora imos facer algo un pouco non intencional. 1015 00:48:45,480 --> 00:48:51,220 Que tal imos facelo mentres eu é maior que ou igual a 0. 1016 00:48:51,220 --> 00:48:53,630 Que isto vai provocar? 1017 00:48:53,630 --> 00:49:01,030 Entón, loxicamente, iso non é tan sabio, porque agora si reprise tanto, reconto, 1018 00:49:01,030 --> 00:49:05,050 Agora podo contar moito, moi alto. 1019 00:49:05,050 --> 00:49:08,850 Por desgraza, case tan alto como poida conta é de 4 millóns de dólares, de xeito que este vai 1020 00:49:08,850 --> 00:49:10,140 tardar un pouco. 1021 00:49:10,140 --> 00:49:13,440 >> Entón, por que non imos deixar isto como a nosa suspense, prometendo que en 1022 00:49:13,440 --> 00:49:15,650 Mércores, imos ver se este programa está feito. 1023 00:49:15,650 --> 00:49:19,260 Dous, imos presentar como vostede mesmo escribir a súa propia función para que moito 1024 00:49:19,260 --> 00:49:22,930 rapidamente, ata o mércores, nós imos, como nós transición a partir de cero en C, comezar 1025 00:49:22,930 --> 00:49:25,880 escribir sempre cada vez máis complexo programas que fan moito, 1026 00:49:25,880 --> 00:49:27,070 moito máis que iso. 1027 00:49:27,070 --> 00:49:28,766 Imos velo axiña. 1028 00:49:28,766 --> 00:49:31,580 >> [Aplausos] 1029 00:49:31,580 --> 00:49:34,690 >> COLUMNA 1: Na seguinte CS50, Puzzle Day foi un éxito. 1030 00:49:34,690 --> 00:49:39,690