1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> DAVID Malan: Aquest és CS50, i això és el començament d'una setmana. 3 00:00:14,430 --> 00:00:17,930 I el que pensem que ens agradaria fer és retirar- la cortina d'un dispositiu que molts 4 00:00:17,930 --> 00:00:20,970 de vostès probablement ha caminat més enllà ara des de fa anys, però potser mai 5 00:00:20,970 --> 00:00:22,280 sap el que és. 6 00:00:22,280 --> 00:00:26,000 Així que aquest dispositiu probablement es veurà familiar per a la majoria de vostès, per ara. 7 00:00:26,000 --> 00:00:32,972 >> [REPRODUIR VIDEO] 8 00:00:32,972 --> 00:00:36,150 >> -Un triomf de la matemàtica i habilitat mecànica és aquest gran nou 9 00:00:36,150 --> 00:00:39,120 calculadora automàtica La Universitat de Harvard. 10 00:00:39,120 --> 00:00:43,220 Un complex entramat de problemes en matemàtiques posen a través de la màquina en forma codificada en 11 00:00:43,220 --> 00:00:47,840 cinta es resolen amb precisió en un minut fracció del temps requerit per 12 00:00:47,840 --> 00:00:49,090 càlcul humà. 13 00:00:49,090 --> 00:01:00,090 14 00:01:00,090 --> 00:01:04,080 >> Dissenyat per facilitar totes les formes de la investigació matemàtica i científica, 15 00:01:04,080 --> 00:01:07,860 el cervell mecànic gegant treballar pels Estats Units 16 00:01:07,860 --> 00:01:09,180 Navy fins al final de la guerra. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [FI REPRODUCCIÓ DE VÍDEO] 19 00:01:18,600 --> 00:01:21,980 >> DAVID Malan: Així que això és el que es veu en el Centre de Ciències, que és on 20 00:01:21,980 --> 00:01:23,540 que la màquina es troba ara. 21 00:01:23,540 --> 00:01:25,910 En realitat només es veu part. 22 00:01:25,910 --> 00:01:28,800 Només una part es troba actualment en exhibició, i això és un dispositiu anomenat 23 00:01:28,800 --> 00:01:31,970 la Mark I, i va ser essencialment realment una gran calculadora. 24 00:01:31,970 --> 00:01:36,250 Va ser succeït pel Mark II, i és de la marca II que en realitat 25 00:01:36,250 --> 00:01:39,210 obtenir una mica de vocabulari. 26 00:01:39,210 --> 00:01:43,780 >> Aquest és el primer cas registrat de cosa que està a punt de convertir-se en tot el 27 00:01:43,780 --> 00:01:45,860 molt familiaritzat amb el transcurs del semestre - 28 00:01:45,860 --> 00:01:48,460 és a dir, un error. 29 00:01:48,460 --> 00:01:52,030 Així que va resultar en un punt de la Marca Aparells II no funcionava 30 00:01:52,030 --> 00:01:55,930 adequadament, i després d'una inspecció més de prop, efectivament s'ha produït un error - una papallona - 31 00:01:55,930 --> 00:01:56,910 que l'arna - 32 00:01:56,910 --> 00:01:57,610 a l'interior. 33 00:01:57,610 --> 00:02:03,130 I des de llavors, ens hem referit a errors en programes com els insectes. 34 00:02:03,130 --> 00:02:05,330 Així que més del que vindria. 35 00:02:05,330 --> 00:02:08,919 >> Parlant de vídeo, així, si vostè han fet ja, saber que és CS50 36 00:02:08,919 --> 00:02:09,669 òbviament filmat. 37 00:02:09,669 --> 00:02:13,330 Les conferències solen anar just després d' classe en una mena de pre-llançament 38 00:02:13,330 --> 00:02:17,240 format sense editar, i després un dia o dos més tard, vam posar una resolució més gran 39 00:02:17,240 --> 00:02:18,490 i la versió de més qualitat. 40 00:02:18,490 --> 00:02:21,800 Vostè pot recordar Vanessa, que tenia el la fortuna de jugar amb Google Glass, 41 00:02:21,800 --> 00:02:23,540 que vaig recordar carregar aquest temps. 42 00:02:23,540 --> 00:02:26,450 Així que si vols arribar a partir de les classes i jugar, han de treballar avui. 43 00:02:26,450 --> 00:02:30,816 I si voleu veure el que Vanessa vaig veure l'altre dia, el que veuràs 44 00:02:30,816 --> 00:02:35,260 aquí - permetin-me plantejar el volum aquí al meu portàtil. 45 00:02:35,260 --> 00:02:35,690 >> [REPRODUIR VIDEO] 46 00:02:35,690 --> 00:02:37,620 >> -Llavors m'ho dius cua és cap amunt. 47 00:02:37,620 --> 00:02:38,070 Està bé. 48 00:02:38,070 --> 00:02:40,930 Així que tocar això. 49 00:02:40,930 --> 00:02:41,720 Està bé. 50 00:02:41,720 --> 00:02:43,470 Acceptar, 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 >> Està bé. 54 00:02:48,640 --> 00:02:50,446 Vanessa? 55 00:02:50,446 --> 00:02:50,870 >> [FI REPRODUCCIÓ DE VÍDEO] 56 00:02:50,870 --> 00:02:53,485 >> DAVID Malan: Molt bé, així que la raó que no funciona per a la majoria de vostès en 57 00:02:53,485 --> 00:02:56,540 Al final de la classe va ser perquè vaig procedir per gravar una hora d'aquest 58 00:02:56,540 --> 00:02:59,505 preses apuntant a mi mateix després d' Em vaig posar les ulleres a baix. 59 00:02:59,505 --> 00:03:04,010 Així que avui, vaig a deixar que s'allunyin, però gràcies Vanessa per ser tan 60 00:03:04,010 --> 00:03:05,420 esport bo. 61 00:03:05,420 --> 00:03:08,330 >> Mentrestant, un parell d'anuncis abans que avancem en l'actualitat. 62 00:03:08,330 --> 00:03:11,120 Així que un, CS50 té una tradició de fer tot el possible per intentar fer una molt 63 00:03:11,120 --> 00:03:12,630 gran classe se senti més petit. 64 00:03:12,630 --> 00:03:16,640 I amb aquest fi, gairebé tots els divendres, ens vam reunir en un restaurant 65 00:03:16,640 --> 00:03:20,160 la plaça, foc i gel, amb 30 o 40 dels seus companys de classe i jo, alguns 66 00:03:20,160 --> 00:03:22,520 el personal docent, i només un esmorzar molt informal. 67 00:03:22,520 --> 00:03:26,280 Sovint convidem a amics de la indústria, alumnes de la classe, alumnes de l' 68 00:03:26,280 --> 00:03:30,340 universitat, en realitat només per xerrar cada a altres, parlar de la vida després de 69 00:03:30,340 --> 00:03:32,260 universitat, vida de la universitat, i similars. 70 00:03:32,260 --> 00:03:35,570 Així que si vol participar en aquest primer com el dinar aquest divendres a les 71 00:03:35,570 --> 00:03:38,640 13:15, el cap als quals URL en algun moment. 72 00:03:38,640 --> 00:03:40,830 >> L'espai és limitat, pel que va a fer primer arribat primer servit. 73 00:03:40,830 --> 00:03:43,880 Però farem això una altra vegada en un diari base, pel que no es preocupi si no ho fa 74 00:03:43,880 --> 00:03:45,800 fer-ho en aquest primer lot. 75 00:03:45,800 --> 00:03:48,960 >> Ara, pel que fa als recursos proporcionats curricularment pel curs, 76 00:03:48,960 --> 00:03:51,500 hi ha una gran quantitat, i si vostè no té es va aturar la pàgina web del curs 77 00:03:51,500 --> 00:03:54,310 Ja, en particular, en les conferències, trobareu que tot 78 00:03:54,310 --> 00:03:57,070 que vam fer la setmana passada hi és, tant en vídeo i una espècie 79 00:03:57,070 --> 00:03:58,435 de forma electrònica. 80 00:03:58,435 --> 00:04:01,210 Però més enllà dels vídeos, trobareu que ara hi ha text complet 81 00:04:01,210 --> 00:04:03,290 transcripcions, per exemple, de cada conferència. 82 00:04:03,290 --> 00:04:08,260 >> Així que si realment tornar a aquesta pantalla aquí amb Vanessa, i navegar 83 00:04:08,260 --> 00:04:12,010 pel costat de la pantalla, trobareu que en realitat, no per 84 00:04:12,010 --> 00:04:15,060 La conferència de divendres, però si ens remuntem a Dimecres, ja que aquesta característica té un 85 00:04:15,060 --> 00:04:17,870 pocs dies, trobareu que vostè pot realment aixecar, per bé o per 86 00:04:17,870 --> 00:04:22,260 pitjor, cada paraula que jo o un voluntari a l'escenari, va dir. 87 00:04:22,260 --> 00:04:23,270 I més que això. 88 00:04:23,270 --> 00:04:25,700 En realitat es pot buscar en ell, vostè pot feu clic a qualsevol d'aquestes frases, salta 89 00:04:25,700 --> 00:04:29,250 a aquest punt en el vídeo, tot cap i tal de fer que el material de tots els 90 00:04:29,250 --> 00:04:30,620 més navegable. 91 00:04:30,620 --> 00:04:34,550 >> Però si prefereixes no segueixes amb tant detall, trobarà, per 92 00:04:34,550 --> 00:04:39,710 exemple, aquest petit menú aquí per 1.5x Velocitat, velocitat 2x o S i ja 93 00:04:39,710 --> 00:04:42,100 parlar massa ràpid per a tu, la velocitat de 0,75 x. 94 00:04:42,100 --> 00:04:45,190 Així que adonar-se que tot està disponibles allà per a vostè. 95 00:04:45,190 --> 00:04:49,120 >> Però més enllà d'això, per a les conferències, s'adonen que també fem aquests recursos 96 00:04:49,120 --> 00:04:50,530 també disponible. 97 00:04:50,530 --> 00:04:55,240 Diapositives, codi d'exemple, qualsevol cosa que jo fer-ho en l'escenari o en l'avanç de la classe, 98 00:04:55,240 --> 00:04:58,160 anem a publicar allà, així que pots jugar costat a domicili o en Sanders. 99 00:04:58,160 --> 00:05:01,280 Però el que també pensem que ho fem any per primera vegada també 100 00:05:01,280 --> 00:05:04,240 li proporcionen tutorials d'aquests exemples. 101 00:05:04,240 --> 00:05:08,120 Cada vegada més, com ja he reflectit en el valor de les conferències de CS50, he començat 102 00:05:08,120 --> 00:05:11,450 a qüestionar la utilitat que és per que vostès se sentin allà, per a mi estar 103 00:05:11,450 --> 00:05:15,020 aquí, i per a mi parlar de tu, en particular com el material, la 104 00:05:15,020 --> 00:05:17,020 exemples, es tornen més complexes. 105 00:05:17,020 --> 00:05:20,790 A causa que invariablement, després d'algun nombre de minuts, algú ho farà fora de zona i 106 00:05:20,790 --> 00:05:24,310 després s'oblida d'una idea clau d'algunes exemple, i llavors és essencialment 107 00:05:24,310 --> 00:05:27,720 passat per la resta de la classe, que no és el millor ús dels 108 00:05:27,720 --> 00:05:31,330 seu temps, o, en realitat, la nostra col · lectivament com a classe. 109 00:05:31,330 --> 00:05:33,920 >> I així, el que pensem que ens agradaria provar a fer, en particular per alguns dels més 110 00:05:33,920 --> 00:05:37,700 exemples de complexos que no podria fer justícia a la classe, que no podria 111 00:05:37,700 --> 00:05:41,560 tenir temps per a la classe, o pot només la zona durant, és que anem a produir 112 00:05:41,560 --> 00:05:45,500 una sèrie de tutorials d'aquests exemples de manera que si vostè va a, per 113 00:05:45,500 --> 00:05:51,410 exemple, la pàgina vídeo de divendres passat aquí sota exemples, veuràs que 114 00:05:51,410 --> 00:05:54,050 per al divendres, ara hi ha aquest enllaçar a tutorials. 115 00:05:54,050 --> 00:05:55,780 I el format d'aquests canviarà amb el temps. 116 00:05:55,780 --> 00:05:58,080 Per ara, estem usant una simple YouTube playlist. 117 00:05:58,080 --> 00:06:00,980 >> Però el que va fer amb el nostre equip de producció després va anar a peu a través de cada 118 00:06:00,980 --> 00:06:04,480 i cada un d'aquests exemples de nou, espere assenyalant amb molt més 119 00:06:04,480 --> 00:06:07,550 claredat exactament el que els robatoris de pilota podria ser o hauria de ser de cadascú. 120 00:06:07,550 --> 00:06:10,560 Així trobarà, per exemple, de l'última setmanes, tots els exemples rasca i guanya 121 00:06:10,560 --> 00:06:12,950 travessem es realitzen linealment en què la moda. 122 00:06:12,950 --> 00:06:15,840 Així que no dubti a participar o no participar en aquest material. 123 00:06:15,840 --> 00:06:19,140 Realment un tema d'aquest curs en particular és que hi ha probablement més 124 00:06:19,140 --> 00:06:21,870 en la forma de recursos dels que possiblement podria absorbir més 125 00:06:21,870 --> 00:06:23,260 el curs d'un semestre. 126 00:06:23,260 --> 00:06:23,980 >> Però això és deliberat. 127 00:06:23,980 --> 00:06:26,990 Se suposa que és perquè el cada estudiant pot auto-select 128 00:06:26,990 --> 00:06:28,070 sobre la base del seu estil d'aprenentatge. 129 00:06:28,070 --> 00:06:29,790 Així que si xerrades treballen per a vostè, molt bé. 130 00:06:29,790 --> 00:06:31,090 Si les seccions de treball per a vostè, molt bé. 131 00:06:31,090 --> 00:06:32,930 Si tutorials treballen per millor, fantàstic. 132 00:06:32,930 --> 00:06:36,980 Realment serà a vostè per triar quins recursos funcionen millor per a vostè. 133 00:06:36,980 --> 00:06:40,380 >> Finalment, gràcies a un alumne de l' Per descomptat, també oferim una canònica 134 00:06:40,380 --> 00:06:41,890 conjunt de notes de traçat. 135 00:06:41,890 --> 00:06:46,270 Així que en lloc d'haver de vostès caps en conferències anotant 136 00:06:46,270 --> 00:06:49,880 coses que sorgeixen en la classe, nosaltres, els personal, li proporcionarà el que 137 00:06:49,880 --> 00:06:53,410 creiem que són un conjunt canònic de notes a que alliberar-se d'aquesta distracció, perquè 138 00:06:53,410 --> 00:06:57,150 si vostè està aquí i compromès, que són veritablement compromès amb el que està passant, 139 00:06:57,150 --> 00:07:00,110 amb els seus companys de classe estan fent fins al etapa, amb el que passa a la pantalla, 140 00:07:00,110 --> 00:07:03,570 i no simplement escriure textualment el que va succeir haver estat dit. 141 00:07:03,570 --> 00:07:06,730 Així que adonar-se de tots aquests recursos estan disponibles per a vostè. 142 00:07:06,730 --> 00:07:09,210 >> Seccionament, en resposta a les preguntes freqüents, s'iniciarà aquest dimecres. 143 00:07:09,210 --> 00:07:12,050 Fonamentalment, ens esperem fins després de la majoria altres classes es duen a terme de manera que puguem 144 00:07:12,050 --> 00:07:14,420 minimitzar el nombre de canvis que hem de fer. 145 00:07:14,420 --> 00:07:20,010 Però ve aquest cap de setmana, a partir Diumenge, serà una instància única de 146 00:07:20,010 --> 00:07:21,360 el que anomenem seccions súper. 147 00:07:21,360 --> 00:07:23,990 Aquests seran filmats per aquells que no poden assistir, i, essencialment, la 148 00:07:23,990 --> 00:07:28,880 caps del curs ens van a caminar a través d'alguns de la part C del curs, 149 00:07:28,880 --> 00:07:32,330 cap a un extrem d'un conjunt de problemes, que serà la nostra primera base C 150 00:07:32,330 --> 00:07:33,140 conjunt de problemes. 151 00:07:33,140 --> 00:07:36,240 I aquests seran només les seccions opcionals en previsió del que serà 152 00:07:36,240 --> 00:07:40,010 converteixen en els punts recurrents van portar pel curs 50 més 153 00:07:40,010 --> 00:07:41,600 l'ensenyament dels becaris setmanal. 154 00:07:41,600 --> 00:07:45,130 Els diumenges o dilluns o dimarts, que té 90 seccions hora en un 155 00:07:45,130 --> 00:07:48,020 sentit tradicional, que serà oportunitats per a les mans sobre i més 156 00:07:48,020 --> 00:07:50,800 examen profund de la El material de curs. 157 00:07:50,800 --> 00:07:53,820 >> Sense més preàmbuls, permetin-me presentar els caps dels cursos, que són 158 00:07:53,820 --> 00:07:57,380 darrere de les escenes amb mi, fent que tot passi. 159 00:07:57,380 --> 00:08:02,670 Si els que són aquí avui podria unir-se a mi, Rob i Lauren i José i Lucas, tots 160 00:08:02,670 --> 00:08:05,770 dels quals han estat amb la Per descomptat des de fa algun temps. 161 00:08:05,770 --> 00:08:08,450 RJ és la tercera tals membre del nostre equip. 162 00:08:08,450 --> 00:08:11,720 No va poder ser aquí avui, però em va preguntar per mostrar una foto d'ell. 163 00:08:11,720 --> 00:08:14,600 No estic segur de voler aquest , Però aquí està. 164 00:08:14,600 --> 00:08:18,350 >> I permetin-me que l'equip pugui dir saludar i presentar-se de manera que 165 00:08:18,350 --> 00:08:22,260 vostè es familiaritza amb elles, així com la seva propi company d'ensenyament aquest terme. 166 00:08:22,260 --> 00:08:23,490 >> LAUREN CARVALHO: Hi. 167 00:08:23,490 --> 00:08:24,740 El meu nom és Lauren Carvalho. 168 00:08:24,740 --> 00:08:26,900 Sóc un tutor resident en Leverett House. 169 00:08:26,900 --> 00:08:31,120 També estic molt emocionat de ser un TV cap per CS50 aquest any. 170 00:08:31,120 --> 00:08:35,830 >> CS50 és una classe molt difícil, així com una classe molt gran, així que si 171 00:08:35,830 --> 00:08:38,780 té algun dubte, si tens ganes de que està quedant enrere, no dubti en 172 00:08:38,780 --> 00:08:43,840 arribar a qualsevol de nosaltres en heads@cs50.het, o per a mi, si hi havia 173 00:08:43,840 --> 00:08:46,330 vols jugar amb el meu or cadell retriever. 174 00:08:46,330 --> 00:08:48,060 Aquí Lucas. 175 00:08:48,060 --> 00:08:48,560 >> LUCAS FREITAS: Hey, nois. 176 00:08:48,560 --> 00:08:49,330 El meu nom és Lluc Freitas. 177 00:08:49,330 --> 00:08:51,880 Sóc un jove [inaudible] 178 00:08:51,880 --> 00:08:53,630 la informàtica i la lingüística. 179 00:08:53,630 --> 00:08:58,030 En realitat sóc de Brasil, i també realitzar estudis d'Àsia oriental. 180 00:08:58,030 --> 00:09:00,740 Així que si vostè té alguna pregunta sobre ciències de la computació o l'idioma o 181 00:09:00,740 --> 00:09:01,870 alguna cosa, fes-m'ho saber. 182 00:09:01,870 --> 00:09:05,630 O CS50, especialment. 183 00:09:05,630 --> 00:09:05,880 >> JOSEPH ONG: Hi. 184 00:09:05,880 --> 00:09:06,265 Jo sóc Josep. 185 00:09:06,265 --> 00:09:11,360 Estic estudiant un ordinador principal ciència a Elliott House. 186 00:09:11,360 --> 00:09:13,500 Per tant, anem a veure. 187 00:09:13,500 --> 00:09:16,530 Em veuràs entorn dur un d'aquests enormes càmeres. 188 00:09:16,530 --> 00:09:21,110 Sóc resident fotògraf personal el 50 també, i els estudiants sovint 189 00:09:21,110 --> 00:09:25,140 de vegades em confonguin un turista asiàtic. 190 00:09:25,140 --> 00:09:29,220 >> Així que si em veuen amb una càmera, no fugis. 191 00:09:29,220 --> 00:09:32,960 Només somriure i no siguis tímid. 192 00:09:32,960 --> 00:09:34,870 I espero que els agradi 50. 193 00:09:34,870 --> 00:09:38,690 Em va agradar molt quan el vaig prendre, i és per això que he estat TFing per 194 00:09:38,690 --> 00:09:41,164 aquests tres anys. 195 00:09:41,164 --> 00:09:41,570 >> ROB BOWDEN: Hi. 196 00:09:41,570 --> 00:09:42,550 Sóc Rob. 197 00:09:42,550 --> 00:09:46,240 Aquest és el meu quart semestre amb CS50. 198 00:09:46,240 --> 00:09:47,430 M'acabo de graduar al maig. 199 00:09:47,430 --> 00:09:49,650 Jo era a Kirkland. 200 00:09:49,650 --> 00:09:53,670 Estic emocionat per aquest semestre, i espero que tu també. 201 00:09:53,670 --> 00:09:56,650 >> DAVID Malan: Gràcies a aquest any de caps, i també a RJ. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> Així que unes notes finals sobre els recursos. 204 00:10:02,310 --> 00:10:04,090 Un, p ajustat 0 ja està en marxa. 205 00:10:04,090 --> 00:10:06,620 Aquest només existeix en la norma edició, que està destinat per a la 206 00:10:06,620 --> 00:10:07,610 totalitat de la classe. 207 00:10:07,610 --> 00:10:10,940 A partir d'p conjunt 1, no serà edicions pirates de la majoria dels conjunts de problemes, 208 00:10:10,940 --> 00:10:14,660 que, de nou, cobrirà el material amb una mica més d'un desafiament, mentre que 209 00:10:14,660 --> 00:10:17,400 encara tocar en alguns dels mateixos temes. 210 00:10:17,400 --> 00:10:21,400 Fer prendre un cop d'ull a la pàgina web del curs perquè l'especificació per p conjunt 0. 211 00:10:21,400 --> 00:10:25,140 >> Les hores d'oficina, també, començaran aquesta setmana, aquesta nit, demà, dimecres, 212 00:10:25,140 --> 00:10:27,670 i dijous a diversos restaurants sales al campus. 213 00:10:27,670 --> 00:10:32,140 Fes una ullada a cs50.net/ohs per a l'oficina hora per al plat, i adonar-se d'aquesta 214 00:10:32,140 --> 00:10:34,430 hi haurà oportunitats molt informal, sens dubte, en l'inici de la 215 00:10:34,430 --> 00:10:37,190 semestre, d'aconseguir amb el seu ordinador portàtil durant les vacances de cervell. 216 00:10:37,190 --> 00:10:40,500 Porta alguns amics i xerrar amb la TF del curs i AC amb qualsevol 217 00:10:40,500 --> 00:10:41,750 les preguntes que pugui tenir. 218 00:10:41,750 --> 00:10:45,320 >> I no puc emfatitzar prou, fins i tot per zero i el problema de setembre 0, no 219 00:10:45,320 --> 00:10:47,110 realment no hi ha pregunta ximple. 220 00:10:47,110 --> 00:10:51,200 No hi ha estudiant massa incòmode de fer preguntes. 221 00:10:51,200 --> 00:10:53,940 Posi aprofitar favor d'aquest recurs. 222 00:10:53,940 --> 00:10:56,430 Serà allà recurrentment llarg del semestre, 223 00:10:56,430 --> 00:10:57,840 com discutirem CS50. 224 00:10:57,840 --> 00:11:00,900 Aquesta és la discussió en línia del curs fòrums en aquesta direcció existeix. 225 00:11:00,900 --> 00:11:04,490 >> El que també farem durant les classes és també monitoritzar això, gràcies a la 226 00:11:04,490 --> 00:11:05,580 equip docent del curs. 227 00:11:05,580 --> 00:11:08,390 I pel que si vostè té alguna pregunta durant la donar una conferència, perquè vaig dir alguna cosa 228 00:11:08,390 --> 00:11:11,690 poc o gens en absolut, per tots els mitjans, demani que, en temps real, si vostè té el seu 229 00:11:11,690 --> 00:11:15,700 ordinador portàtil o telèfon a la pàgina web, i farem el nostre millor esforç en temps gairebé real a 230 00:11:15,700 --> 00:11:17,410 respondre a això. 231 00:11:17,410 --> 00:11:21,500 >> Hi ha alguna pregunta sobre CS 50? 232 00:11:21,500 --> 00:11:23,930 Llavors una de les meves últimes notes. 233 00:11:23,930 --> 00:11:25,530 Aquesta qüestió de la SAT UNSAT. 234 00:11:25,530 --> 00:11:28,550 En acabar les seves targetes d'estudi, si no ho ha fet, s'adonen que la 235 00:11:28,550 --> 00:11:32,360 visió general de SAT UNSAT, disponible per a tots els estudiants, és molt 236 00:11:32,360 --> 00:11:36,350 per ajudar a prendre la vora d'un curs d'aquesta manera, per així dir-ho, de manera que si 237 00:11:36,350 --> 00:11:40,510 trobar-se a altes hores de la nit, 02 a.m., 03 a.m., Realment girar el cap de 238 00:11:40,510 --> 00:11:43,960 la paret on se sap que hi ha el 99% de el camí fins al final, però 239 00:11:43,960 --> 00:11:47,510 té moltes altres coses a fer, Crec que una millor utilització, sovint, de 240 00:11:47,510 --> 00:11:51,260 temps dels estudiants és passar de fet a aquestes altres coses, perquè pugui 241 00:11:51,260 --> 00:11:52,780 optimitzar el seu temps per tot arreu. 242 00:11:52,780 --> 00:11:56,950 I SAT UNSAT és un mecanisme a través del qual vostè pot prendre consol en el fet 243 00:11:56,950 --> 00:12:00,530 que el 99% de la forma en què es sent bastant bo. 244 00:12:00,530 --> 00:12:03,790 >> De la mateixa manera, també, si vostè ha arribat a la Per descomptat, sense coneixements previs o 245 00:12:03,790 --> 00:12:07,960 no gairebé tant de fons com vostè pensar que els seus companys puguin tenir, la veritable 246 00:12:07,960 --> 00:12:13,210 o falsa, s'adonen que aquest és un oportunitat de embrutar-se les mans 247 00:12:13,210 --> 00:12:16,590 amb el curs, posar els peus a la aigua, per així dir-ho, igual que jo mateix 248 00:12:16,590 --> 00:12:18,500 ho va fer fa anys amb el passat / no passa. 249 00:12:18,500 --> 00:12:21,850 Com vaig dir la setmana passada, va tenir aquest curs, igual que altres, no es disposa de 250 00:12:21,850 --> 00:12:25,090 passa / no passa en aquest moment, probablement ho faria mai han posat un peu a 251 00:12:25,090 --> 00:12:28,310 la classe, tot i que feia cinc setmanes, després, canviar d'opinió, que 252 00:12:28,310 --> 00:12:32,400 pot també, i canviar a o de la carta d'estat gradual. 253 00:12:32,400 --> 00:12:32,990 >> Està bé. 254 00:12:32,990 --> 00:12:37,380 Així que mirem les coses d'aquest tipus a Divendres, i anem molt ràpid 255 00:12:37,380 --> 00:12:39,890 per a la transició a una cosa que sembla més críptica avui. 256 00:12:39,890 --> 00:12:42,300 Però és, però, la mateixa idea fonamental. 257 00:12:42,300 --> 00:12:45,540 Quin va ser el terme general que s'utilitza per descriure una peça del trencaclosques 258 00:12:45,540 --> 00:12:47,690 que s'assemblava a això? 259 00:12:47,690 --> 00:12:48,510 >> Per tant, un comunicat. 260 00:12:48,510 --> 00:12:50,020 I vostè pot trucar a això qualsevol nombre de coses. 261 00:12:50,020 --> 00:12:51,870 Però nosaltres l'anomenarem un comunicat, i una declaració 262 00:12:51,870 --> 00:12:53,200 només compta el programa - 263 00:12:53,200 --> 00:12:55,290 o en el cas de Scratch, el sprite - 264 00:12:55,290 --> 00:12:56,520 de fer alguna cosa. 265 00:12:56,520 --> 00:12:58,430 Dóna la benvinguda en aquest cas. 266 00:12:58,430 --> 00:13:01,450 >> Una cosa com això lloc denominat què? 267 00:13:01,450 --> 00:13:03,560 Sí, pel que una expressió booleana. 268 00:13:03,560 --> 00:13:07,380 Una expressió booleana és només una cosa que és vertadera o falsa, i així Raspe 269 00:13:07,380 --> 00:13:10,530 els atrau amb aquesta forma, però també amb un signe d'interrogació per transmetre la 270 00:13:10,530 --> 00:13:14,510 idea que la resposta a aquesta pregunta és vertader o fals, sí o no 271 00:13:14,510 --> 00:13:15,910 un, 1 o 0. 272 00:13:15,910 --> 00:13:19,290 >> I fem servir aquestes expressions booleanes a l'interior de les construccions d'aquest tipus, que 273 00:13:19,290 --> 00:13:21,010 cridem a què? 274 00:13:21,010 --> 00:13:22,460 Per tant, la condició o de la branca. 275 00:13:22,460 --> 00:13:25,600 I la condició que es veu aquí a Zero té un petit marcador de posició per a un 276 00:13:25,600 --> 00:13:28,260 peça del trencaclosques d'aquesta forma, amb el propòsit dels quals és, perquè pugui 277 00:13:28,260 --> 00:13:32,670 arrossegueu-lo i poseu-la a la part superior i després dictar el programa si aquest Booleà 278 00:13:32,670 --> 00:13:36,410 expressió és vertadera, fer aquest conjunt de instruccions, aquest conjunt de declaracions, 279 00:13:36,410 --> 00:13:39,320 cosa fer això altre conjunt d'instruccions. 280 00:13:39,320 --> 00:13:41,270 >> I recorda que pots niu d'aquestes coses. 281 00:13:41,270 --> 00:13:44,170 Tot i que no hi ha molt espai visualment en aquesta peça del trencaclosques, Scratch 282 00:13:44,170 --> 00:13:47,820 creixerà i encongir per adaptar-se a qualsevol peces del trencaclosques d'arrossegar i deixar anar en 283 00:13:47,820 --> 00:13:51,410 no pel que realment pot niar això i tenir una forquilla de tres vies a la carretera. 284 00:13:51,410 --> 00:13:53,870 Si, else if, else. 285 00:13:53,870 --> 00:13:58,100 I fins i tot es pot anar més enllà de major implantació i més si cal. 286 00:13:58,100 --> 00:14:02,520 >> Així, finalment, hem vist com construccions aquest, conegut d'una altra manera com un bucle. 287 00:14:02,520 --> 00:14:05,690 I això és una cosa que fa alguna cosa una i altra vegada i una altra. 288 00:14:05,690 --> 00:14:09,250 En aquest cas, passa a ser un ésser finit nombre de vegades, però també 289 00:14:09,250 --> 00:14:12,890 va veure un exemple on el nombre de vegades provenen d'una variable, pel que 290 00:14:12,890 --> 00:14:13,690 podria canviar. 291 00:14:13,690 --> 00:14:16,910 I també vam veure un altre bloc complet anomenat bloc sempre que 292 00:14:16,910 --> 00:14:19,590 ens va permetre bucle infinitament llarg. 293 00:14:19,590 --> 00:14:23,300 >> Així que una altra construcció que zero 2.0 té - i aquells de vostès més 294 00:14:23,300 --> 00:14:26,330 còmode amb el fons abans són ja ben familiaritzats amb aquest 295 00:14:26,330 --> 00:14:27,080 construcció - 296 00:14:27,080 --> 00:14:29,910 aquestes coses que anomenem què? 297 00:14:29,910 --> 00:14:32,540 Així que cridem a aquestes funcions, en cas contrari conegut com procediments. 298 00:14:32,540 --> 00:14:35,030 Hi ha una lleugera diferència semàntica, però nosaltres els anomenarem tot just funcions. 299 00:14:35,030 --> 00:14:39,950 >> I una funció, en el cas d'esgarrapades, és una peça del trencaclosques personalitzat que 300 00:14:39,950 --> 00:14:43,670 vostè mateix pot crear perquè tingui una nova peça del trencaclosques que, en aquest 301 00:14:43,670 --> 00:14:47,190 cas, es diu tos, que apareix entre tots els de l'altra 302 00:14:47,190 --> 00:14:48,730 peces del trencaclosques disponibles a zero. 303 00:14:48,730 --> 00:14:52,010 Tot i que el MIT no va inventar aquesta peça del trencaclosques, ho vas fer. 304 00:14:52,010 --> 00:14:57,600 >> Per tant una funció li permet crear noves comportament, donar-li un nom de funció i 305 00:14:57,600 --> 00:14:59,200 llavors cridar, per dir-ho. 306 00:14:59,200 --> 00:15:04,690 Realment utilitzar en programes d'una i altra una i altra vegada sense haver d'esperar 307 00:15:04,690 --> 00:15:08,600 per a algú com MIT pel camí de inventar una nova funcionalitat des de zero. 308 00:15:08,600 --> 00:15:12,460 Vostè mateix pot construir aquests trencaclosques peces vostè mateix, i després els reutilitzen 309 00:15:12,460 --> 00:15:13,600 en els seus propis programes. 310 00:15:13,600 --> 00:15:17,520 I anem a veure un exemple recurrent que avui en dia i en endavant. 311 00:15:17,520 --> 00:15:20,960 >> Així que avui, fem la transició ara a alguna cosa més arcà. 312 00:15:20,960 --> 00:15:24,350 Però al final del dia, una cosa més potent i expressiva i més 313 00:15:24,350 --> 00:15:28,110 representant de la ruta que serem en tot el semestre al llarg d'un nombre 314 00:15:28,110 --> 00:15:28,800 d'idiomes - 315 00:15:28,800 --> 00:15:30,800 que de codi o codi font. 316 00:15:30,800 --> 00:15:34,720 I el codi font, resulta que, no és el que un ordinador 317 00:15:34,720 --> 00:15:37,400 típicament en realitat funciona. 318 00:15:37,400 --> 00:15:39,860 El codi font es veu alguna cosa com això. 319 00:15:39,860 --> 00:15:43,010 >> Així que aquest és, de nou, potser el més simple programa es pot escriure en un 320 00:15:43,010 --> 00:15:46,670 llenguatge anomenat C. Anem a començar a es burlen d'aquesta diferència en poc temps, i si 321 00:15:46,670 --> 00:15:49,260 això realment es veu com el grec per a vostè en aquest moment, confia en mi. 322 00:15:49,260 --> 00:15:54,040 Dins d'una setmana o el temps de dos, això serà molt familiar i en realitat 323 00:15:54,040 --> 00:15:57,780 prou representativa de cada vegada exemples de complexos amb què pots trobar 324 00:15:57,780 --> 00:15:59,870 també sentir-se més còmode. 325 00:15:59,870 --> 00:16:03,100 >> Però un no pot executar aquest tipus de codi en general. 326 00:16:03,100 --> 00:16:06,750 Cal convertir-lo en una cosa que el propi ordinador entén. 327 00:16:06,750 --> 00:16:09,840 I per això, necessitem alguna cosa anem a trucar a un compilador. 328 00:16:09,840 --> 00:16:13,910 Un compilador és un programa que usa codi font, com el que acaba de veure, ja que 329 00:16:13,910 --> 00:16:17,680 d'entrada, i produeix zeros i uns com de sortida, en cas contrari 330 00:16:17,680 --> 00:16:19,210 conegut com a codi objecte. 331 00:16:19,210 --> 00:16:23,190 I són aquests zeros i uns que pot tenir un aspecte com aquest que 332 00:16:23,190 --> 00:16:26,310 en última instància, s'entén de la seva Mac o PC. 333 00:16:26,310 --> 00:16:30,050 >> Si alguna vegada has sentit parlar de la comercialització expressió d'Intel Inside, que acaba de 334 00:16:30,050 --> 00:16:32,800 significa que una companyia anomenada Intel ha fabricat el 335 00:16:32,800 --> 00:16:34,130 cervell de l'ordinador - 336 00:16:34,130 --> 00:16:37,270 també coneguda com la CPU, unitat central de procés - 337 00:16:37,270 --> 00:16:39,640 i això és just el que entén patrons 338 00:16:39,640 --> 00:16:40,880 de zeros i uns. 339 00:16:40,880 --> 00:16:46,330 I així, mitjançant la conversió de codi font en Codi d'objecte a través d'aquest procés aquí 340 00:16:46,330 --> 00:16:49,130 que farem amb un parell de comandaments en només una mica, vostè és 341 00:16:49,130 --> 00:16:53,070 la creació de patrons de zeros i uns que els empleats d'Intel tenen 342 00:16:53,070 --> 00:16:56,000 decidir representar certes declaracions. 343 00:16:56,000 --> 00:16:58,810 >> Ara, jo no sé molt bé el que és que amb només fer una ullada a 344 00:16:58,810 --> 00:16:59,890 aquests zeros i uns. 345 00:16:59,890 --> 00:17:01,420 La majoria dels éssers humans en aquests dies no ho fan. 346 00:17:01,420 --> 00:17:04,900 No obstant això, en algun lloc hi ha un patró de zeros i uns que representen la 347 00:17:04,900 --> 00:17:06,349 impressió comunicat. 348 00:17:06,349 --> 00:17:10,460 En algun lloc que podria haver una diferent conjunt de zeros i uns que 349 00:17:10,460 --> 00:17:16,940 representar la idea de sempre o repeteixi 10 vegades o fins i tot miau, si és 350 00:17:16,940 --> 00:17:20,000 en realitat un programa que pot incloure alguns sons. 351 00:17:20,000 --> 00:17:24,390 >> Així que en resum, només els éssers humans han decidit, igual que ho vam fer en ASCII - 352 00:17:24,390 --> 00:17:27,480 per les lletres de l'alfabet la setmana passada - els éssers humans han decidit que fins i tot 353 00:17:27,480 --> 00:17:32,200 patrons més complexos de zeros i uns representar un comportament més complex 354 00:17:32,200 --> 00:17:35,650 com la impressió o el dir o miolar. 355 00:17:35,650 --> 00:17:38,640 I per avui, i en gran mesura endavant en el semestre, anem a prendre per 356 00:17:38,640 --> 00:17:41,820 fet que algú s'ha adonat la manera de fer que la cartografia. 357 00:17:41,820 --> 00:17:45,560 Però, d'acord amb aquesta idea de capes a la part superior de l'obra de persones 358 00:17:45,560 --> 00:17:49,340 que han vingut abans que nosaltres, es durà a assegut el fet que això va en 359 00:17:49,340 --> 00:17:50,300 sota de la caputxa. 360 00:17:50,300 --> 00:17:53,840 Però estem molt més interessats en la construcció de coses que són més 361 00:17:53,840 --> 00:17:55,880 interessant per sobre de tot això. 362 00:17:55,880 --> 00:17:58,900 >> I així, de fet, el primer programa que escriure en scratch va ser aquesta super simple 363 00:17:58,900 --> 00:18:00,600 un, Hello World. 364 00:18:00,600 --> 00:18:05,100 I vostè pot pensar en això com la programa principal que regeix Scratch 365 00:18:05,100 --> 00:18:07,280 comportament a partir de divendres passat. 366 00:18:07,280 --> 00:18:11,510 >> Avui, anem a començar a traduir Raspe les peces del trencaclosques en 367 00:18:11,510 --> 00:18:16,040 codi font en aquest llenguatge anomenat C de manera que el que semblava això en 368 00:18:16,040 --> 00:18:20,230 Divendres, a partir d'avui en endavant, és Ara va a tenir aquest aspecte. 369 00:18:20,230 --> 00:18:21,860 És cert que més críptic. 370 00:18:21,860 --> 00:18:25,010 És bastant molest i tipus de compte adormidor per veure totes les cites 371 00:18:25,010 --> 00:18:27,760 i el punt i coma i els parèntesi, i així successivament. 372 00:18:27,760 --> 00:18:32,350 >> Però si comences a fer cas omís de tot el que no ho entenc, i realment mirar 373 00:18:32,350 --> 00:18:35,960 en l'essència del text en blanc sobre la pantalla, sens dubte es veu, com jo, 374 00:18:35,960 --> 00:18:40,360 "Hola, món". Que s'alinea amb la declaració porpra sobre de la tapa, i resulta 375 00:18:40,360 --> 00:18:44,790 que la paraula clau principal es va a alinear conceptualment amb quan està verd 376 00:18:44,790 --> 00:18:46,350 bandera clic. 377 00:18:46,350 --> 00:18:49,820 >> Així, en altres paraules, mentre que a Scratch, implementem aquest programa Hello World 378 00:18:49,820 --> 00:18:53,360 amb aquestes dues peces d'un trencaclosques, en C, anem a posar-la en pràctica amb aquests 379 00:18:53,360 --> 00:18:55,510 quatre línies una mica críptics. 380 00:18:55,510 --> 00:18:58,130 Però a mesura que ens submergim més profundament en això, vostè veure que cadascun dels 381 00:18:58,130 --> 00:19:02,730 caràcters blancs a la pantalla en realitat té un significat important, 382 00:19:02,730 --> 00:19:05,880 i la majoria dels nostres programes es van a mirar estructuralment el mateix. 383 00:19:05,880 --> 00:19:08,980 Així que una declaració, per ser clars, el que semblava "dir hola món" a la 384 00:19:08,980 --> 00:19:12,020 Divendres va a començar a cercar com aquest dilluns. 385 00:19:12,020 --> 00:19:15,250 printf ("hola, món"). 386 00:19:15,250 --> 00:19:17,700 I hi ha alguna cosa estranya barra invertida n, no hi ha parèntesis, hi ha 387 00:19:17,700 --> 00:19:18,490 punt i coma. 388 00:19:18,490 --> 00:19:21,950 >> Però al final del dia, la tecla portar avui és que tot el que estem fent 389 00:19:21,950 --> 00:19:25,710 és traduir les coses de la imatge formar la forma de text. 390 00:19:25,710 --> 00:19:28,820 Així que un bucle que es veia així la setmana passada es va a veure ara 391 00:19:28,820 --> 00:19:30,140 alguna cosa com això. 392 00:19:30,140 --> 00:19:33,020 >> I permetin-me rebutgen, igual que en Scratch, hi ha diferents maneres de 393 00:19:33,020 --> 00:19:34,110 aconseguir el mateix objectiu. 394 00:19:34,110 --> 00:19:38,860 El mateix en C. Jo no estic mostrant l'únic manera de fer les coses, sinó una forma de 395 00:19:38,860 --> 00:19:43,230 traduir això per sempre bloquejar a un bucle en C. 396 00:19:43,230 --> 00:19:44,980 >> Aquest d'aquí, repetir 10 vegades. 397 00:19:44,980 --> 00:19:47,580 Aquesta realitat tipus de corbes del ment la primera vegada que ho veig. 398 00:19:47,580 --> 00:19:49,860 Però per posar en pràctica que, en endavant, anem a utilitzar una 399 00:19:49,860 --> 00:19:51,990 de llaç, per dir-ho. 400 00:19:51,990 --> 00:19:56,150 I és clar que hi ha una sintaxi que és un petit complex d'allà amb I i 401 00:19:56,150 --> 00:19:59,740 igual i 0, però un cop que ens submergim en aquest avui endavant, et vas 402 00:19:59,740 --> 00:20:04,260 veure que això és tot, simplement fent algunes aritmètica bàsica per a nosaltres des de 0 403 00:20:04,260 --> 00:20:07,720 en un màxim de 9 o 10 en aquest cas. 404 00:20:07,720 --> 00:20:11,570 >> Finalment, amb variables, com es recordarà que una variable és una peça d'emmagatzematge. 405 00:20:11,570 --> 00:20:14,290 Bé, el que teníem a l'esquerra hi el passat setmana es va a veure una mica de 406 00:20:14,290 --> 00:20:15,920 una cosa semblant aquesta setmana. 407 00:20:15,920 --> 00:20:17,870 Però, de nou, més en l'altre. 408 00:20:17,870 --> 00:20:20,700 >> Vam tenir expressions booleanes, que la setmana passada, semblava això. 409 00:20:20,700 --> 00:20:23,370 Aquesta setmana des d'ara, van a començar a mirar una mica com això. 410 00:20:23,370 --> 00:20:24,890 >> I aquesta realitat és una mica tranquil · litzador. 411 00:20:24,890 --> 00:20:27,680 En realitat és gairebé tan simple com els blocs verds. 412 00:20:27,680 --> 00:20:31,115 Però aquí tenim, de nou, una nova sintaxi amb símbols d'unió, però es pot 413 00:20:31,115 --> 00:20:35,390 potser endevinar mentre que a Scratch, que per exemple A-N-D, pel que sembla en C, estem 414 00:20:35,390 --> 00:20:37,070 dirà ampersand ampersand. 415 00:20:37,070 --> 00:20:39,650 Però tot això es convertirà en natural abans de temps. 416 00:20:39,650 --> 00:20:40,680 >> Condicions. 417 00:20:40,680 --> 00:20:42,610 La setmana passada, semblava que aquesta a l'esquerra. 418 00:20:42,610 --> 00:20:44,800 Aquesta setmana, a la dreta, és va a semblar això. 419 00:20:44,800 --> 00:20:48,560 Però, de nou, el punt clau aquí és que com vostè veu les coses com que el 420 00:20:48,560 --> 00:20:51,950 la dreta, i sobretot si menys còmode, és una mena de sobre la seva 421 00:20:51,950 --> 00:20:54,950 cap, et donen una mica aclaparat que Realment no tinc idea del que podia 422 00:20:54,950 --> 00:20:58,420 possiblement arribar a que des del principi - 423 00:20:58,420 --> 00:20:59,500 sense joc de paraules - 424 00:20:59,500 --> 00:21:05,300 només s'adona que és realment la mateixa idea que probablement es va sentir molt més 425 00:21:05,300 --> 00:21:06,760 natural de la setmana anterior. 426 00:21:06,760 --> 00:21:10,960 I fins i tot si no s'ha capbussat en Problemes de 0, m'atreviria a dir que trobaràs 427 00:21:10,960 --> 00:21:13,790 que les peces del trencaclosques són bastant intuïtiva, o almenys 428 00:21:13,790 --> 00:21:16,050 arribar a ser tan llarg del temps. 429 00:21:16,050 --> 00:21:16,990 >> Així que anem a bussejar polz 430 00:21:16,990 --> 00:21:20,760 Anem a embrutar-nos les mans aquí amb aquest primer programa senzill. 431 00:21:20,760 --> 00:21:22,410 I el simple és, per descomptat, relatiu. 432 00:21:22,410 --> 00:21:25,190 Per a això, canviaré les pantalles a aquest dispositiu que es diu el 433 00:21:25,190 --> 00:21:26,150 CS50 aparell. 434 00:21:26,150 --> 00:21:29,700 L'aparell CS50 és un tros de programari que s'executa dins d'un 435 00:21:29,700 --> 00:21:33,920 finestra en el meu Mac, i també es pot executar en una finestra interior del seu PC, que 436 00:21:33,920 --> 00:21:38,720 em permet tenir exactament el mateix Entorn d'ordinador ja que cada TF, com 437 00:21:38,720 --> 00:21:40,940 cada CA, ja que tots els estudiants a la classe. 438 00:21:40,940 --> 00:21:44,590 A causa que l'aparell CS50 és literalment altre sistema operatiu 439 00:21:44,590 --> 00:21:45,410 anomenat Linux - 440 00:21:45,410 --> 00:21:47,160 específicament Fedora Linux - 441 00:21:47,160 --> 00:21:51,320 i nosaltres, el personal, hem configurat el procés d'instal · lació d'aquest 442 00:21:51,320 --> 00:21:55,200 sistema operatiu de tal manera que un, ha una mica de CS50 logo al 443 00:21:55,200 --> 00:21:59,240 mig, dos, hi ha un menú personalitzat la part inferior, i tres, pedagògicament, 444 00:21:59,240 --> 00:22:02,570 hem simplificat la interfície d'usuari com tant com sigui possible perquè quan 445 00:22:02,570 --> 00:22:05,540 ho primer aquesta cosa pel seu compte Mac o PC, que tenen el mateix 446 00:22:05,540 --> 00:22:08,280 medi ambient en tot el món, i tenir totes les eines que vostè necessita 447 00:22:08,280 --> 00:22:11,390 per al curs sense haver de calcular com instal lar cada un i 448 00:22:11,390 --> 00:22:13,280 totes les eines de forma individual. 449 00:22:13,280 --> 00:22:15,840 >> Així que això sembla relativament com Mac OS o Windows. 450 00:22:15,840 --> 00:22:18,760 A la cantonada inferior esquerra, que essencialment tenir un menú Inici de 451 00:22:18,760 --> 00:22:20,280 tipus, o un menú Apple. 452 00:22:20,280 --> 00:22:23,700 I llavors vostè té el que es sospita seran els seus tres icones més comuns. 453 00:22:23,700 --> 00:22:24,460 Es tracta de Chrome. 454 00:22:24,460 --> 00:22:26,460 Hi ha un navegador dins l'aparell. 455 00:22:26,460 --> 00:22:29,970 >> Dos és un programa anomenat gedit, que vam veure breument la setmana passada, que és 456 00:22:29,970 --> 00:22:31,310 un editor gràfic. 457 00:22:31,310 --> 00:22:35,350 I tres és un programa Terminal, que és una finestra en blanc i negre de 458 00:22:35,350 --> 00:22:39,860 antany que ens permet escriure més arcans ordres però més potent en 459 00:22:39,860 --> 00:22:40,660 nostre teclat. 460 00:22:40,660 --> 00:22:44,220 Així que seguiré endavant i feu clic a gedit, i estar segur que el problema 461 00:22:44,220 --> 00:22:48,520 1 setembre, que es publicarà el divendres, es caminar a través de tots aquests mateixos passos. 462 00:22:48,520 --> 00:22:51,730 >> Tingueu en compte que tinc una molt simple interfície d'usuari amb tres parts. 463 00:22:51,730 --> 00:22:54,990 A l'esquerra, tinc un gran buit finestra anomenada codi font. 464 00:22:54,990 --> 00:22:58,930 Aquí és on vaig a veure un resum de qualsevol codi que escric. 465 00:22:58,930 --> 00:23:01,990 Al costat dret, tinc un gran fitxa, en l'actualitat no són estalvis, i això és 466 00:23:01,990 --> 00:23:03,510 on el codi es va a anar. 467 00:23:03,510 --> 00:23:06,780 I en el fons, he incorporat una Finestra de terminal, un blanc i negre 468 00:23:06,780 --> 00:23:12,060 demanarà a la que puc escriure ordres per compilar i executar els meus programes - que 469 00:23:12,060 --> 00:23:14,110 És a dir, fer i executar els meus programes. 470 00:23:14,110 --> 00:23:15,170 >> Així que anem a començar simple. 471 00:23:15,170 --> 00:23:17,700 Déjame anar a Arxiu, Guardar. 472 00:23:17,700 --> 00:23:20,530 Vaig a seguir endavant i entrar en jharvard. 473 00:23:20,530 --> 00:23:24,320 Per tant l'aparell, amb independència del que el seu nom és, pertany a un tipus anomenat 474 00:23:24,320 --> 00:23:28,250 John Harvard, que té una casa jharvard directori a on tota la seva 475 00:23:28,250 --> 00:23:29,100 arxius aniran. 476 00:23:29,100 --> 00:23:31,640 És la seva pròpia còpia del seu compte, així que no hi som tots compartint 477 00:23:31,640 --> 00:23:33,530 el mateix disc dur. 478 00:23:33,530 --> 00:23:35,580 Només tens la il · lusió del propi John Harvard. 479 00:23:35,580 --> 00:23:38,350 >> Amb anterioritat, en realitat instal · lat Dropbox. 480 00:23:38,350 --> 00:23:42,600 L'aparell ve amb preprepared Dropbox perquè si alguna cosa surt malament 481 00:23:42,600 --> 00:23:45,950 durant el semestre, si tens configurat l'aparell amb un lliure 482 00:23:45,950 --> 00:23:48,950 Compte de Dropbox, tots els seus arxius ser copiats automàticament pel que 483 00:23:48,950 --> 00:23:50,430 pot recuperar molt fàcilment. 484 00:23:50,430 --> 00:23:53,980 I jo vaig a anar al meu Dropbox directori, i ja va 485 00:23:53,980 --> 00:23:55,530 ser un parell de coses allà. 486 00:23:55,530 --> 00:24:02,090 >> Però seguiré endavant i aneu a Fitxer, Desa. 487 00:24:02,090 --> 00:24:05,930 Vaig a anar a jharvard, Dropbox, i aquí, vaig a 488 00:24:05,930 --> 00:24:10,590 donar el meu programa d'un super simple nom, hello.c, a continuació, deseu. 489 00:24:10,590 --> 00:24:11,810 Així que tinc la mateixa interfície actual. 490 00:24:11,810 --> 00:24:14,190 L'únic que ha canviat és la pestanya dalt. 491 00:24:14,190 --> 00:24:17,170 Així que estic molt ràpidament crearà que el programa de l' 492 00:24:17,170 --> 00:24:19,060 llisca fa un moment. 493 00:24:19,060 --> 00:24:25,690 >> Així que en main (void), i després printf, "Hola, món", un tant críptica 494 00:24:25,690 --> 00:24:29,920 barra invertida n, prop de cotització, prop entre parèntesis, punt i coma, i 495 00:24:29,920 --> 00:24:32,030 després Ctrl S per desar. 496 00:24:32,030 --> 00:24:34,860 I fixin-se en un a part el que acaba aparèixer aquí a la part superior esquerra. 497 00:24:34,860 --> 00:24:37,490 I això no és útil avui en dia, però serà útil en el temps. 498 00:24:37,490 --> 00:24:40,160 Vostè acaba de veure, de nou, un resum de el codi que has escrit. 499 00:24:40,160 --> 00:24:43,320 I com vaig escriure una cosa anomenada principal, és per això que la paraula principal aparèixer 500 00:24:43,320 --> 00:24:44,030 fins allà. 501 00:24:44,030 --> 00:24:46,610 No obstant això, per a la major part, no cal que en l'actualitat. 502 00:24:46,610 --> 00:24:51,130 >> Molt bé, així que em diuen que aquesta és la meva primer programa escrit en una programació 503 00:24:51,130 --> 00:24:54,620 llenguatge anomenat C. Sabem des de divendres que el que aquesta cosa va a fer 504 00:24:54,620 --> 00:24:58,450 molt sense interès quan funcionar només es mostra - 505 00:24:58,450 --> 00:25:01,270 en altres paraules, imprimir, com un ordinador científic diria - 506 00:25:01,270 --> 00:25:03,310 hola món a la pantalla. 507 00:25:03,310 --> 00:25:06,800 Així que per fer això, et donaràs compte de que tinc anar aquí al meu terminal 508 00:25:06,800 --> 00:25:09,250 finestra, i ara tinc un parpelleig ràpid. 509 00:25:09,250 --> 00:25:15,480 Però això és ara una versió del teclat el meu directori home Harvard John. 510 00:25:15,480 --> 00:25:19,610 És una forma de teclat a través del qual per a navegar pel disc dur. 511 00:25:19,610 --> 00:25:25,380 >> Així que en realitat no puc escriure com ho vaig fer la setmana passada fan hola, perquè és 512 00:25:25,380 --> 00:25:27,230 diré cap regla per fer diana - 513 00:25:27,230 --> 00:25:27,950 alguna cosa que està malament. 514 00:25:27,950 --> 00:25:31,690 Jo no sé molt bé el que el missatge mitjans, però això és perquè per defecte, 515 00:25:31,690 --> 00:25:35,350 quan aquesta finestra en blanc i negre és obert, estic dins de John Harvard 516 00:25:35,350 --> 00:25:36,160 directori d'inici. 517 00:25:36,160 --> 00:25:39,180 Però on puc guardar aquest programa? 518 00:25:39,180 --> 00:25:40,440 En la meva carpeta de Dropbox. 519 00:25:40,440 --> 00:25:43,110 >> Ara, tots hem crescut amb equips en què només cal fer doble clic a 520 00:25:43,110 --> 00:25:45,610 a la icona d'una carpeta, obre, i llest. 521 00:25:45,610 --> 00:25:48,280 Aquí és on l'arxiu anomenat hello.c seria. 522 00:25:48,280 --> 00:25:49,470 Així que, de fet, farem això. 523 00:25:49,470 --> 00:25:51,610 >> Déjame anar per davant i minimitzar gedit igual que ho faria 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 anar a la Home carpeta a la part superior esquerra. 526 00:25:56,160 --> 00:25:57,620 Jo veig aquí un munt de carpetes. 527 00:25:57,620 --> 00:25:58,870 Aquí està la meva carpeta de Dropbox. 528 00:25:58,870 --> 00:26:00,770 Les marques de verificació vol dir que ha estat sincronitzat. 529 00:26:00,770 --> 00:26:04,040 I hi ha un parell de coses aquí, Però cal notar que hello.c és 530 00:26:04,040 --> 00:26:04,960 de fet allà mateix. 531 00:26:04,960 --> 00:26:08,050 >> I així, a Mac OS o Windows, normalment, Em doble clic que s'obre, en 532 00:26:08,050 --> 00:26:10,220 qualsevol programa, i estic llest per sortir. 533 00:26:10,220 --> 00:26:13,370 Però ara, almenys a partir d'avui, ens necessitat de donar un pas cap enrere només per 534 00:26:13,370 --> 00:26:16,960 li donarà algunes eines bàsiques per a la seva caixa d'eines amb les quals fer més 535 00:26:16,960 --> 00:26:18,980 coses de gran abast dins de poc. 536 00:26:18,980 --> 00:26:22,280 >> Així que en aquest sistema, que he de fer la equivalent al doble clic al 537 00:26:22,280 --> 00:26:23,560 Carpeta de Dropbox. 538 00:26:23,560 --> 00:26:29,900 I per fer això, vaig a escriure CD canviar de directori, Dropbox, entre. 539 00:26:29,900 --> 00:26:36,100 I ara compte els parèntesi en la meva anomenats ràpida diu ara que estic en 540 00:26:36,100 --> 00:26:38,470 accent, el petit gargot símbol a la part superior esquerra de 541 00:26:38,470 --> 00:26:40,860 la majoria dels teclats / Dropbox. 542 00:26:40,860 --> 00:26:45,200 Això és només la notació abreujada de dient humana, que ara està a l'interior de 543 00:26:45,200 --> 00:26:48,650 la carpeta de Dropbox, com si havies doble clic. 544 00:26:48,650 --> 00:26:54,610 >> Així que ara si segueixo endavant i escriure make hola, entrar, veig un molt críptica 545 00:26:54,610 --> 00:26:57,450 comandament, però no un missatge d'error, el que sembla i, a continuació, 546 00:26:57,450 --> 00:26:59,020 un altre parpelleig ràpid. 547 00:26:59,020 --> 00:27:04,470 I si vostè recorda, sempre tan ràpidament el divendres, ho vam fer. . / Hola. 548 00:27:04,470 --> 00:27:10,000 >> El que estàs a punt de veure és el resultat de la meva execució d'aquest programa, o, a Mac 549 00:27:10,000 --> 00:27:14,310 Termes OS i PC, si hagués normalment dupliquen feu clic a un programa -. una aplicació 550 00:27:14,310 --> 00:27:17,620 programa o un arxiu. exe, s'obre una finestra i s'executa. 551 00:27:17,620 --> 00:27:21,920 Mecanografia. / Hola és com doble clic en un programa per executar-lo, però 552 00:27:21,920 --> 00:27:23,280 utilitzant el teclat. 553 00:27:23,280 --> 00:27:25,410 >> Introduïu, hola món. 554 00:27:25,410 --> 00:27:26,150 I això és tot. 555 00:27:26,150 --> 00:27:29,150 Així que anem a burlar-se això a banda del que no se sent massa a Grècia. 556 00:27:29,150 --> 00:27:31,370 >> Així. / Significa què? 557 00:27:31,370 --> 00:27:34,120 Qualsevol que hagi navegat un teclat entorn com aquest, ¿quin punt 558 00:27:34,120 --> 00:27:36,690 referint? 559 00:27:36,690 --> 00:27:37,800 El directori actual. 560 00:27:37,800 --> 00:27:41,320 >> Així que el directori actual és sinònim d'una carpeta. 561 00:27:41,320 --> 00:27:46,230 Així dient slash dot, que estic dient, buscar un programa que es diu hola al 562 00:27:46,230 --> 00:27:47,250 directori actual - 563 00:27:47,250 --> 00:27:48,540 a la carpeta actual. 564 00:27:48,540 --> 00:27:50,480 En altres paraules, la meva carpeta de Dropbox. 565 00:27:50,480 --> 00:27:54,220 I és per això que prement Enter després realment s'executa el programa. 566 00:27:54,220 --> 00:27:58,790 >> Si jo ara de tipus LS, noti que veig tot en la meva carpeta de Dropbox. 567 00:27:58,790 --> 00:28:02,000 Obtenir Started.pdf, que Dropbox li dóna de forma gratuïta, les meves fotos 568 00:28:02,000 --> 00:28:05,450 directori, un directori públic, que no hagi guardat Document 1 que vaig fer per error un 569 00:28:05,450 --> 00:28:09,730 Fa instant, foo.c, que vaig fer anteriorment avui en dia, i després dues línies - 570 00:28:09,730 --> 00:28:12,090 hello.c i hola. 571 00:28:12,090 --> 00:28:17,280 >> Hello.c és el programa que vaig escriure amb gedit, i el que és hola en verd? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 La salutació en el verd és l'executable. 574 00:28:22,940 --> 00:28:27,020 En altres paraules, quan em vaig trobar amb aquesta comanda fa un moment - permetin-me rotllo 575 00:28:27,020 --> 00:28:28,040 enrere en el temps - 576 00:28:28,040 --> 00:28:32,400 quan em vaig trobar realitzar hola, això és el pas intermedi aquí. 577 00:28:32,400 --> 00:28:34,410 I va prendre hello.c com a entrada - 578 00:28:34,410 --> 00:28:39,910 També conegut com a codi font - i va produir una fitxer anomenat hola com sortida, que 579 00:28:39,910 --> 00:28:42,510 conté tots aquests zeros i uns. 580 00:28:42,510 --> 00:28:47,640 I per això, al final, no puc realment executar una ordre com. / hola. 581 00:28:47,640 --> 00:28:53,310 A causa de Intel Inside, el meu operatiu sistema, Linux, obre aquests zeros 582 00:28:53,310 --> 00:28:55,820 i altres, els alimenta al cervell de l'ordinador - 583 00:28:55,820 --> 00:28:56,580 la CPU - 584 00:28:56,580 --> 00:29:00,460 i que la CPU sap, oh, això és un patró de zeros i uns que diu 585 00:29:00,460 --> 00:29:02,800 imprimir el següent a la pantalla. 586 00:29:02,800 --> 00:29:04,450 >> Què és el següent? 587 00:29:04,450 --> 00:29:07,650 Citar fi de la cita, "hola món". 588 00:29:07,650 --> 00:29:12,100 >> Molt bé, així que un breu resum d'alguns aquestes comandes perquè puguem començar a 589 00:29:12,100 --> 00:29:13,350 prendre per fet. 590 00:29:13,350 --> 00:29:15,550 Permetin-me Pas a la on ho deixem. 591 00:29:15,550 --> 00:29:22,230 I et recordo que teníem CD a les nostres esquenes acabar fa un moment. 592 00:29:22,230 --> 00:29:24,880 Aquests són, m'atreveixo a dir, per propòsits d'avui - 593 00:29:24,880 --> 00:29:29,010 potser aquesta setmana - els únics comandaments que podria haver d'escriure en el símbol 594 00:29:29,010 --> 00:29:30,580 demanarà més fer. 595 00:29:30,580 --> 00:29:34,510 >> Així CD estava de què? 596 00:29:34,510 --> 00:29:35,180 Canvieu el directori. 597 00:29:35,180 --> 00:29:38,010 És només l'equivalent a dues en fer clic en una carpeta. 598 00:29:38,010 --> 00:29:41,320 I en un a part, si tens perdut mai a l'interior de la 599 00:29:41,320 --> 00:29:43,430 aparell, de manera que Dropbox - 600 00:29:43,430 --> 00:29:45,420 Vull tornar al meu directori jharvard - 601 00:29:45,420 --> 00:29:50,490 en cas de dubte, CD, entrar, sense més paraules, i només vostè cremalleres darrere 602 00:29:50,490 --> 00:29:53,110 al punt de partida, que és una mica de bon drecera. 603 00:29:53,110 --> 00:29:54,840 >> Està bé, així que ara altres ordres. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 He escrit que fa un moment. 606 00:29:56,840 --> 00:29:59,500 Què pensa vostè LS vol dir? 607 00:29:59,500 --> 00:30:00,470 >> Per tant, la llista, no? 608 00:30:00,470 --> 00:30:03,300 De tornada en el dia, quan els éssers humans venien amb aquestes comandes, que 609 00:30:03,300 --> 00:30:07,180 estaven tractant de ser eficient, i més aviat mecanografiar L-I-S-T enter, es 610 00:30:07,180 --> 00:30:08,470 decidir LS. 611 00:30:08,470 --> 00:30:09,080 Això està bé. 612 00:30:09,080 --> 00:30:10,420 Sona bastant com llista. 613 00:30:10,420 --> 00:30:13,870 Anem a LS tipus entren, i que llista els arxius o carpetes en el meu 614 00:30:13,870 --> 00:30:15,000 carpeta actual. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, probablement pugui endevinar. 616 00:30:17,530 --> 00:30:18,440 Feu directori. 617 00:30:18,440 --> 00:30:22,010 Així que no et vas a algun menú arxiu i escolliu Carpeta nova en aquest entorn. 618 00:30:22,010 --> 00:30:27,410 Més aviat, escriviu l'espai de comandament mkdir i després el nom de la carpeta 619 00:30:27,410 --> 00:30:29,850 que voleu crear, i es durà a terme. 620 00:30:29,850 --> 00:30:32,380 >> rm, probablement pugui endevinar. 621 00:30:32,380 --> 00:30:33,480 Treure o eliminar. 622 00:30:33,480 --> 00:30:36,740 Així que si voleu eliminar un arxiu, se li veure en el conjunt de problemes com 623 00:30:36,740 --> 00:30:37,240 pot fer això. 624 00:30:37,240 --> 00:30:39,510 I rmdir, treure el directori. 625 00:30:39,510 --> 00:30:42,320 >> Així que, de nou, jo m'ocuparé de volar a través d'alguns d'aquests detalls, un, perquè 626 00:30:42,320 --> 00:30:46,010 no tots són tan divertit per passar llavors, sinó dos, li donarem a 627 00:30:46,010 --> 00:30:48,720 molt més detall en qualsevol dels El problema de curs estableix, en particular, 628 00:30:48,720 --> 00:30:52,370 les edicions estàndard, qualsevol dels passos que és possible que hagi d'escriure el 629 00:30:52,370 --> 00:30:54,830 que s'obté més i més còmode amb aquestes coses. 630 00:30:54,830 --> 00:30:57,430 >> Però ara m'ho dius esmicolar una cosa més. 631 00:30:57,430 --> 00:31:02,580 Quan escrivim fem hola fa un moment, vam veure un script críptics. 632 00:31:02,580 --> 00:31:04,805 Hem vist, un cop més, fem hola. 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 Bé, anem a fer això. 635 00:31:08,520 --> 00:31:11,840 Estava a punt de cometre un error, però [Inaudible] ara admetre que estava a punt de 636 00:31:11,840 --> 00:31:14,400 i ho fa deliberadament. 637 00:31:14,400 --> 00:31:15,810 >> Què vaig fer malament ara? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 Sí, així que no estic al Dropbox directori, perquè fa un moment em 640 00:31:21,060 --> 00:31:22,720 CD amb tipus i prem enter. 641 00:31:22,720 --> 00:31:25,480 Que m'has nou al punt de partida, que no és on el meu arxiu 642 00:31:25,480 --> 00:31:31,720 És a dir, el que realment necessito fer CD Dropbox Entro, i ara que puc fer hola rm 643 00:31:31,720 --> 00:31:34,060 introduir, retiri fitxer normal hola. 644 00:31:34,060 --> 00:31:35,200 No sé per què és tan críptica. 645 00:31:35,200 --> 00:31:37,600 Això només significa que estàs segur que desitja eliminar hola? 646 00:31:37,600 --> 00:31:41,510 Pot escriure i per a si, entrar, i ara s'ha anat. 647 00:31:41,510 --> 00:31:46,010 >> I ara, si escric realitzar hola de nou, és tornarà a crear el codi objecte, 648 00:31:46,010 --> 00:31:47,460 recrear aquests zeros i uns. 649 00:31:47,460 --> 00:31:51,070 Però quin és el tracte amb aquesta comanda molt llarg? 650 00:31:51,070 --> 00:31:53,960 Bé, anem a burlen això a part en poc temps, però fer - 651 00:31:53,960 --> 00:31:55,500 Li vaig dir una mica d'una mentida blanca abans - 652 00:31:55,500 --> 00:31:56,880 no és un compilador. 653 00:31:56,880 --> 00:32:00,350 Make és un programa que automàticament s'adona de com es porta un 654 00:32:00,350 --> 00:32:02,060 compilador per a vostè. 655 00:32:02,060 --> 00:32:07,490 >> Així que el comandament que realment hauria de ser execució per tal de convertir hello.c 656 00:32:07,490 --> 00:32:11,240 hola mira en realitat una mica de la mateixa família. 657 00:32:11,240 --> 00:32:15,900 I Déu no ho vulgui tenim que realment recordeu que escriure cada vegada que tota 658 00:32:15,900 --> 00:32:17,280 script fora. 659 00:32:17,280 --> 00:32:21,360 El propòsit de fer a la vida és recordar que el grau de complexitat de 660 00:32:21,360 --> 00:32:24,470 nosaltres i automatitzar el que d'una altra manera ser mesures molt tediosos. 661 00:32:24,470 --> 00:32:26,040 >> Però pot aproximar això. 662 00:32:26,040 --> 00:32:29,960 Així per aquesta petita costella aquí, pot aproximar-se al que aquest comandament és 663 00:32:29,960 --> 00:32:33,960 fer-ho simplement escrivint Clang, que és el nom del compilador que serà 664 00:32:33,960 --> 00:32:35,170 l'ús d'aquest semestre. 665 00:32:35,170 --> 00:32:38,500 Si algun de vosaltres alguna vegada han fet iOS desenvolupament per l'iPhone o l'iPad, 666 00:32:38,500 --> 00:32:42,930 Clang és el programa que ha utilitzat dins de Xcode per fer les seves aplicacions. 667 00:32:42,930 --> 00:32:46,360 Clang, però, és un programa més el nom es pot escriure en el símbol 668 00:32:46,360 --> 00:32:49,210 del sistema, i la introducció d'aquest moment, Puc presentar alguna cosa que és un 669 00:32:49,210 --> 00:32:52,410 poc representativa d'ordres de venir. 670 00:32:52,410 --> 00:32:53,910 Així que permetin-me fer això manualment. 671 00:32:53,910 --> 00:32:59,240 >> Així rm hola, i ara compte en cas Jo, igual que una comprovació de validesa - 672 00:32:59,240 --> 00:33:03,180 . / Hola, què creus que hauria de veure si puc fer això? 673 00:33:03,180 --> 00:33:04,060 Algun tipus d'error. 674 00:33:04,060 --> 00:33:05,110 No existeix el directori d'arxius. 675 00:33:05,110 --> 00:33:06,740 Així que un és en realitat bastant directa. 676 00:33:06,740 --> 00:33:08,110 >> Així que ara anem a netejar la pantalla. 677 00:33:08,110 --> 00:33:11,370 Control S simplement esborra la pantalla per eliminar algunes distraccions. 678 00:33:11,370 --> 00:33:17,160 I ara vaig a manualment Clang-o tipus hola hello.c. 679 00:33:17,160 --> 00:33:18,890 Llavors, què és això de fer? 680 00:33:18,890 --> 00:33:23,820 Exactament el mateix que fan que va fer per nosaltres, però em desfaig d'alguns 681 00:33:23,820 --> 00:33:25,430 les paraules supèrflues. 682 00:33:25,430 --> 00:33:28,570 >> Clang és el programa que va a tenir un arxiu. c com a entrada i produir 683 00:33:28,570 --> 00:33:30,110 zeros i uns com de sortida. 684 00:33:30,110 --> 00:33:35,120 Però-oa endavant dirà un interruptor o una bandera. 685 00:33:35,120 --> 00:33:39,080 Això és només l'argot techie per dir aquesta és una paraula que escrigui en l'indicador de 686 00:33:39,080 --> 00:33:42,590 que d'alguna manera influeix en el comportament del programa que s'està executant. 687 00:33:42,590 --> 00:33:47,180 Així que algú vol endevinar -O el que transmet? 688 00:33:47,180 --> 00:33:47,840 >> Sortida. 689 00:33:47,840 --> 00:33:52,670 És només algú decidit-o vol dir sortida d'un fitxer anomenat hola i prendre 690 00:33:52,670 --> 00:33:56,440 entrada sigui quina sigui l'última paraula sobre l' prompt és, hello.c, de manera que si colpeig 691 00:33:56,440 --> 00:33:58,930 Ingressa ara, res sembla succeir. 692 00:33:58,930 --> 00:34:02,010 I per estrany que sembli, en aquest món de programació, si no passa res, 693 00:34:02,010 --> 00:34:03,980 això és probablement una bona cosa perquè no hi ha error 694 00:34:03,980 --> 00:34:05,350 missatge a la pantalla. 695 00:34:05,350 --> 00:34:07,190 Hola, Enter. 696 00:34:07,190 --> 00:34:08,670 El meu programa ja s'ha executat. 697 00:34:08,670 --> 00:34:14,517 >> Però no puc fer petites coses estúpides com això. Clang-o, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 entrar, i ara tinc una idèntica programa anomenat hihihi. 699 00:34:18,590 --> 00:34:20,739 Es comporta de la mateixa, però el nom és diferent. 700 00:34:20,739 --> 00:34:23,360 >> Així que això és només per dir que si es vol per influir en el comportament d'un 701 00:34:23,360 --> 00:34:25,909 programa, que anem a cada vegada més veure coses anomenades 702 00:34:25,909 --> 00:34:27,739 arguments de la línia d'ordres. 703 00:34:27,739 --> 00:34:28,639 Es tracta d'una línia. 704 00:34:28,639 --> 00:34:29,580 Estàs escrivint ordres. 705 00:34:29,580 --> 00:34:30,969 Ergo, la línia d'ordres. 706 00:34:30,969 --> 00:34:35,690 I els arguments de línia d'ordres són només paraules o petits trossos de sintaxi 707 00:34:35,690 --> 00:34:40,840 influir d'alguna manera el comportament dels programes que s'estan executant. 708 00:34:40,840 --> 00:34:44,639 >> Bé, això és potser la més programa avorrit que pot escriure i veure. 709 00:34:44,639 --> 00:34:46,670 Ara farem alguna cosa més interessant. 710 00:34:46,670 --> 00:34:49,420 Deixin-me seguir endavant i crear un nou arxiu. 711 00:34:49,420 --> 00:34:53,139 Vaig a seguir endavant i salvar aquest en Directori de John Harvard, 712 00:34:53,139 --> 00:34:58,670 diguem custom.c, per ser un petit programa personalitzat. 713 00:34:58,670 --> 00:35:01,920 Me'n vaig a acostar al meu superior de les fitxes aquí i començar de nou. 714 00:35:01,920 --> 00:35:03,730 >> Inclogui stdio.h estàndard. 715 00:35:03,730 --> 00:35:04,990 Més sobre això en un moment. 716 00:35:04,990 --> 00:35:08,240 int main (void), més en que en un moment. 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 Molt més interessant, no? 720 00:35:14,560 --> 00:35:20,690 >> Així que ara si - no a causa del meu nom, només perquè és diferent - 721 00:35:20,690 --> 00:35:24,950 fer costum entrar. 722 00:35:24,950 --> 00:35:26,780 Personalitzat, hola, David. 723 00:35:26,780 --> 00:35:28,020 Però fins i tot això, també, és una mentida piadosa. 724 00:35:28,020 --> 00:35:30,850 Aquest programa pot ser que també es diu David.C, perquè no és costum 725 00:35:30,850 --> 00:35:31,880 comportament en absolut. 726 00:35:31,880 --> 00:35:35,080 Realment, jo vull un programa que demani l'usuari pel seu nom. 727 00:35:35,080 --> 00:35:36,320 >> Llavors, com ho faig? 728 00:35:36,320 --> 00:35:38,520 Bé, deixa desplaçar-se cap amunt per aquí. 729 00:35:38,520 --> 00:35:42,960 I abans que jo utilitzo una declaració en Scratch, abans d'usar printf, 730 00:35:42,960 --> 00:35:47,600 també coneguda com a funció, permetin-me primer pregunti a l'usuari alguna informació. 731 00:35:47,600 --> 00:35:49,690 >> Així que per fer això, he de fer un parell de coses. 732 00:35:49,690 --> 00:35:53,360 Un, necessito un lloc per guardar l'usuari nomenar després que li he demanat o 733 00:35:53,360 --> 00:35:54,510 per això. 734 00:35:54,510 --> 00:36:00,120 El constructe Què necessito per utilitzar probablement per emmagatzemar un valor com aquest? 735 00:36:00,120 --> 00:36:00,910 Una variable. 736 00:36:00,910 --> 00:36:05,130 >> Així que a diferència de Scratch, on acaba d'obtenir un bon tros del trencaclosques, aquí, hem de 737 00:36:05,130 --> 00:36:07,620 utilitzar, òbviament, paraules a expressar-nos. 738 00:36:07,620 --> 00:36:11,510 I a partir d'ara, cada vegada que desitja un paraula o una frase, en la programació, 739 00:36:11,510 --> 00:36:13,090 anem a trucar a això una cadena. 740 00:36:13,090 --> 00:36:14,990 Així que una cadena és una paraula o una frase. 741 00:36:14,990 --> 00:36:18,170 És una seqüència de zero o més personatges, més formalment. 742 00:36:18,170 --> 00:36:22,520 >> I si vols una variable com per existeix, que ha de dir dóna'm un. 743 00:36:22,520 --> 00:36:27,490 I la manera en què ho fa és dir string s punt i coma, on s pot ser 744 00:36:27,490 --> 00:36:28,740 tot el que vulguis. 745 00:36:28,740 --> 00:36:30,510 De fet, s és una mica decebedor. 746 00:36:30,510 --> 00:36:33,250 Deixin-me seguir endavant i més clarament anomenar nom. 747 00:36:33,250 --> 00:36:36,570 Dóna'm una cadena anomenat nom. 748 00:36:36,570 --> 00:36:40,180 >> Però ara, el que és de la persona nom per defecte? 749 00:36:40,180 --> 00:36:42,930 Bé, si l'ésser humà no escrigui res a, òbviament, no va 750 00:36:42,930 --> 00:36:44,310 que no hi ha valor en el nom. 751 00:36:44,310 --> 00:36:48,120 I resulta que a C, si no dóna un valor d'una variable, que va a 752 00:36:48,120 --> 00:36:49,180 té un valor escombraries. 753 00:36:49,180 --> 00:36:51,650 Podria tenir alguns zeros a l'atzar i estimats, pel que només veurem 754 00:36:51,650 --> 00:36:54,570 escombraries, realment, a la pantalla si intenta mostrar-ho. 755 00:36:54,570 --> 00:36:59,800 >> Però puc arreglar dient, en realitat, botiga dins del nom 756 00:36:59,800 --> 00:37:01,400 després del valor. 757 00:37:01,400 --> 00:37:09,240 La forma d'emmagatzemar els valors de les variables és si vostè té un nom de variable a la 758 00:37:09,240 --> 00:37:13,370 va ser, d'alguna manera cal posar el que que vulgueu emmagatzemar en ella a la dreta, i 759 00:37:13,370 --> 00:37:17,650 la sintaxi del que està passant que és com segueix. 760 00:37:17,650 --> 00:37:22,120 >> No hem vist això abans, però prenem en la fe per un moment que no 761 00:37:22,120 --> 00:37:26,270 hi ha una altra declaració en el món que vaig a trucar de nou la funció, 762 00:37:26,270 --> 00:37:28,310 i aquesta funció és anomenat arribar cadena. 763 00:37:28,310 --> 00:37:29,670 I ho fa literalment que. 764 00:37:29,670 --> 00:37:34,680 D'alguna manera s'obté una seqüència de caràcters del que és humà i després 765 00:37:34,680 --> 00:37:36,380 fa alguna cosa amb ell. 766 00:37:36,380 --> 00:37:38,410 >> I això es veu com sintaxi críptica. 767 00:37:38,410 --> 00:37:40,880 Normalment, si utilitza signes iguals - vostè està en el món de, diguem, 768 00:37:40,880 --> 00:37:43,740 àlgebra, i ja està fet dient que x és igual a 1. 769 00:37:43,740 --> 00:37:46,570 Aquí no estem dient que Nom iguala aconseguir cadena. 770 00:37:46,570 --> 00:37:51,270 Estem dient botiga en nom del que és al costat de la mà dreta 771 00:37:51,270 --> 00:37:52,400 d'aquest signe igual. 772 00:37:52,400 --> 00:37:55,030 El signe igual representa l'operador d'assignació. 773 00:37:55,030 --> 00:37:58,240 És la sintaxi que diu posar el que està en el costat dret dins del que és 774 00:37:58,240 --> 00:37:59,090 a l'esquerra. 775 00:37:59,090 --> 00:38:03,040 Així aconsegueix cadena és una peça de funcionalitat que no només fa 776 00:38:03,040 --> 00:38:03,670 alguna cosa - 777 00:38:03,670 --> 00:38:05,000 pregunta l'usuari per a una cadena - 778 00:38:05,000 --> 00:38:08,500 també retorna, per dir-ho. 779 00:38:08,500 --> 00:38:10,690 >> Així que anem a veure el que està passant a passar aquí. 780 00:38:10,690 --> 00:38:14,300 Vaig a seguir endavant ara i allunyar la imatge, i jo vaig a aconseguir un parell de 781 00:38:14,300 --> 00:38:15,780 errors en el meu sistema. 782 00:38:15,780 --> 00:38:18,750 Vaig a escriure make personalitzat, escriviu. 783 00:38:18,750 --> 00:38:19,230 Wow. 784 00:38:19,230 --> 00:38:20,500 Un munt d'errors. 785 00:38:20,500 --> 00:38:23,120 >> Molt bé, així que això és una mena de aclaparador, sens dubte al principi, però 786 00:38:23,120 --> 00:38:27,220 resulta que tots ells molt certament missatges d'error críptics són 787 00:38:27,220 --> 00:38:30,700 es fa referència a alguns patrons que anem a començar a veure el pas del temps. 788 00:38:30,700 --> 00:38:32,600 Així que aquest vaig a arrencar fora, perquè és primer. 789 00:38:32,600 --> 00:38:35,700 L'ús de cadena d'identificador no declarat. 790 00:38:35,700 --> 00:38:39,400 >> Això només significa que el gedit o Clang, en aquest cas, no sap 791 00:38:39,400 --> 00:38:40,780 el que vull dir amb cadena. 792 00:38:40,780 --> 00:38:43,880 I és que a C, la programació idioma, hi ha en realitat 793 00:38:43,880 --> 00:38:47,750 hi ha una variable de tipus cadena. 794 00:38:47,750 --> 00:38:49,810 C no sap que existeixen cadenes. 795 00:38:49,810 --> 00:38:52,260 >> Però nosaltres, CS50 personal, fem. 796 00:38:52,260 --> 00:38:57,080 I així, abans de classe, creat un fitxer anomenat CS50.h. 797 00:38:57,080 --> 00:39:00,060 I dins d'aquest arxiu - i més en la sintaxi per venir - 798 00:39:00,060 --> 00:39:03,730 dins d'aquest arxiu és una definició del que s'acaba de definir 799 00:39:03,730 --> 00:39:05,340 verbalment com una cadena. 800 00:39:05,340 --> 00:39:09,100 Així que simplement mitjançant la celebració d'aquesta línia de codi en el meu programa, estic ara 801 00:39:09,100 --> 00:39:14,620 ensenyament gedit i fer i Clang tot giri en el que és una cadena. 802 00:39:14,620 --> 00:39:15,475 >> No sé com encara. 803 00:39:15,475 --> 00:39:17,110 En unes poques setmanes, anem a pelar nou aquesta capa. 804 00:39:17,110 --> 00:39:20,340 Però per ara, sabem que això ensenya el compilador què 805 00:39:20,340 --> 00:39:22,020 string que realment és. 806 00:39:22,020 --> 00:39:24,230 >> Així que ara m'ho dius aclarir la meva terminal d'aquí baix. 807 00:39:24,230 --> 00:39:28,530 Permetin-me tornar a executar la duana faci, i jo resolt tots aquests problemes. 808 00:39:28,530 --> 00:39:30,210 Així que això també va a ser un tema recurrent. 809 00:39:30,210 --> 00:39:34,190 Jo només vaig escriure un programa de la línia 9, i però, jo tenia 18 línies d'errors. 810 00:39:34,190 --> 00:39:35,650 Això és una mica intimidatori. 811 00:39:35,650 --> 00:39:39,260 Però adonar-se que sovint en cascada tals que un petit error provoca 812 00:39:39,260 --> 00:39:43,070 la confusió per al compilador, i es veu molt pitjor del que és. 813 00:39:43,070 --> 00:39:47,460 >> Així que ara un observador astut sabrà que m'estic fent una cadena de la 814 00:39:47,460 --> 00:39:51,460 usuari, però no estic realment fer el que amb ella? 815 00:39:51,460 --> 00:39:53,570 Jo no estic fent res amb ella. 816 00:39:53,570 --> 00:40:01,240 Així que si realment va funcionar personalitzada de nou, que va a seure allà. 817 00:40:01,240 --> 00:40:03,380 Què està passant? 818 00:40:03,380 --> 00:40:07,990 El meu programa sembla estar encallat en quina línia, què li diries? 819 00:40:07,990 --> 00:40:09,860 >> Així que en realitat és atrapat en la línia 7. 820 00:40:09,860 --> 00:40:13,600 I no hem vist això abans, però en la línia 7, hi ha, de nou, aquesta 821 00:40:13,600 --> 00:40:14,650 declaració, obtenir cadena. 822 00:40:14,650 --> 00:40:15,930 I fa el que diu. 823 00:40:15,930 --> 00:40:18,480 S'espera ara per a l'ésser humà per prendre la corda. 824 00:40:18,480 --> 00:40:22,230 Això és completament intuïtiu per a mi, l'ésser humà, ja que no he estat informat 825 00:40:22,230 --> 00:40:23,040 el que ha de fer. 826 00:40:23,040 --> 00:40:27,320 >> Però m'ho dius anar per davant en la fe i m'ho dius a mi pretenc ser Rob. 827 00:40:27,320 --> 00:40:28,500 Intro. 828 00:40:28,500 --> 00:40:30,930 Aquest no és el programa del que pretenia. 829 00:40:30,930 --> 00:40:32,350 Així que tenim el nostre primer blog. 830 00:40:32,350 --> 00:40:34,390 >> Però anem a tractar de raonar a través per què aquest és el cas. 831 00:40:34,390 --> 00:40:36,940 En primer lloc, anem a solucionar aquest problema primer. 832 00:40:36,940 --> 00:40:44,690 Voldria afegir aquí una línia que diu: printf, quin és el seu nom? 833 00:40:44,690 --> 00:40:47,700 Farem prop de cotització, tancar parèntesi. 834 00:40:47,700 --> 00:40:51,350 >> Ara vaig a tornar a executar el programa. 835 00:40:51,350 --> 00:40:51,760 Problema. 836 00:40:51,760 --> 00:40:54,690 No estic veient això. 837 00:40:54,690 --> 00:40:54,930 >> Dreta. 838 00:40:54,930 --> 00:40:55,990 No tornar a compilar. 839 00:40:55,990 --> 00:40:59,800 Així que en un llenguatge com C, ja que canviar el codi font no significa 840 00:40:59,800 --> 00:41:03,170 que ha canviat el seu codi d'objecte per generar nou codi objecte, 841 00:41:03,170 --> 00:41:04,330 nous zeros i uns. 842 00:41:04,330 --> 00:41:05,590 Cal tornar a compilar. 843 00:41:05,590 --> 00:41:10,300 Si ara torna a córrer personalitzat, introduïu, ah, una mica més clar. 844 00:41:10,300 --> 00:41:11,890 El meu nom és Rob. 845 00:41:11,890 --> 00:41:12,760 Encara amb errors. 846 00:41:12,760 --> 00:41:14,170 >> I jo diria que hi ha un parell de bestioles ara. 847 00:41:14,170 --> 00:41:15,450 Això només es veu horrible, francament. 848 00:41:15,450 --> 00:41:18,980 Igual que, com a mínim, hauria de tenir un espai allà, o moure el 849 00:41:18,980 --> 00:41:20,330 cursor a la nova línia. 850 00:41:20,330 --> 00:41:21,370 >> I, de fet, la línia nova. 851 00:41:21,370 --> 00:41:24,660 Això és una cosa d'una frase clau aquí que que hem vist, però no definit. 852 00:41:24,660 --> 00:41:28,560 La forma en què s'obté un text per passar a la següent línia, 853 00:41:28,560 --> 00:41:29,480 no fa això. 854 00:41:29,480 --> 00:41:31,070 Això és confús per a l'equip. 855 00:41:31,070 --> 00:41:33,830 Això es veu com dues línies separades de codi, cap dels quals 856 00:41:33,830 --> 00:41:35,010 és perfectament correcte. 857 00:41:35,010 --> 00:41:39,380 En el seu lloc, ha de ser més explícit i dir, dóna'm una nova línia, que 858 00:41:39,380 --> 00:41:41,810 Es representen en C amb una barra invertida n. 859 00:41:41,810 --> 00:41:43,230 >> Així que hi ha alguns d'aquests personatges. 860 00:41:43,230 --> 00:41:45,080 Backslash n fixarà aquesta estètica. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 Déjame a compilar el meu programa. 863 00:41:50,870 --> 00:41:52,300 Permetin-me tornar a executar el meu programa. 864 00:41:52,300 --> 00:41:53,520 >> Això es veu millor. 865 00:41:53,520 --> 00:41:56,960 És encara molt primitiu, però també segueix sent erroni. 866 00:41:56,960 --> 00:41:58,090 Així que hi ha una - 867 00:41:58,090 --> 00:42:01,680 fins i tot si mai has programat abans, és probable que pugui prendre una conjectura 868 00:42:01,680 --> 00:42:04,960 per què encara està viciat aquest programa. 869 00:42:04,960 --> 00:42:08,540 Què necessito per fer això Jo no he fet encara? 870 00:42:08,540 --> 00:42:10,450 >> Així que he de fer realment alguna cosa amb nom. 871 00:42:10,450 --> 00:42:14,190 Igual que en el principi, que en realitat podria assignar una variable com n o 872 00:42:14,190 --> 00:42:16,150 combatre com ho vam fer l'última setmana - un valor. 873 00:42:16,150 --> 00:42:18,930 Però si vostè no fa res amb , Res va a succeir. 874 00:42:18,930 --> 00:42:20,210 >> Molt bé, així que anem a resoldre. 875 00:42:20,210 --> 00:42:23,670 Permetin-me tecleig meva variable d'allà, i me n'aniré aquí. 876 00:42:23,670 --> 00:42:29,120 Permetin-me recompilar, em re-run anem, Rob. 877 00:42:29,120 --> 00:42:30,540 Ara només sóc un idiota, oi? 878 00:42:30,540 --> 00:42:33,280 >> Així que això no és realment aconseguir em més lluny. 879 00:42:33,280 --> 00:42:35,850 Però això era una perfectament natural instint, jo diria, oi? 880 00:42:35,850 --> 00:42:39,340 Si la variable es denomina nom, i jo vull anar-hi, per què no ho faig jo 881 00:42:39,340 --> 00:42:40,200 escrigui allà? 882 00:42:40,200 --> 00:42:42,210 >> Bé, per descomptat, tenim per distingir ara 883 00:42:42,210 --> 00:42:44,070 entre el que és una cadena? 884 00:42:44,070 --> 00:42:47,060 Tingueu en compte que entre cometes aquí, hola nom? 885 00:42:47,060 --> 00:42:48,960 En realitat, això en si mateix és una cadena. 886 00:42:48,960 --> 00:42:49,820 Està codificat. 887 00:42:49,820 --> 00:42:50,690 No es tracta del que és humà. 888 00:42:50,690 --> 00:42:54,020 És de mi, el programador original, però tot i així és una cadena. 889 00:42:54,020 --> 00:42:58,300 >> Així que si vostè escriu literalment N-A-M-I a l'interior d'una cadena, el que va a 890 00:42:58,300 --> 00:42:59,120 obtenir models? 891 00:42:59,120 --> 00:43:03,660 Bé, N-A-M-I. En canvi, necessitem dir printf, no imprimeixi 892 00:43:03,660 --> 00:43:04,870 fora literalment nomenar. 893 00:43:04,870 --> 00:43:06,680 Imprimeix el valor del nom. 894 00:43:06,680 --> 00:43:08,410 >> I per fer això, fem el següent. 895 00:43:08,410 --> 00:43:09,800 I això és només una convenció humana. 896 00:43:09,800 --> 00:43:14,990 Lloc Diem% s, i que significa cadena. 897 00:43:14,990 --> 00:43:19,810 I després, al final de les meves cotitzacions de tancament, Vaig a posar una coma i 898 00:43:19,810 --> 00:43:23,790 passar a un segon argument en aquesta norma. 899 00:43:23,790 --> 00:43:25,970 Vaig a escriure el nom allà. 900 00:43:25,970 --> 00:43:27,960 >> Així que ara tenim un compte lleugerament nova sintaxi. 901 00:43:27,960 --> 00:43:32,320 Encara tenim dos parèntesis i a partir d'ara deixeu-me dir-los que les coses 902 00:43:32,320 --> 00:43:36,830 entre parèntesis, representa arguments en una funció - 903 00:43:36,830 --> 00:43:39,730 entrades que d'alguna manera van per influir en el seu comportament. 904 00:43:39,730 --> 00:43:43,010 Així que per aquesta lògica, quants arguments sí que sembla printf ser 905 00:43:43,010 --> 00:43:45,450 prenent en aquest moment? 906 00:43:45,450 --> 00:43:48,370 >> Per tant, sembla estar prenent dos, i això és de fet implicava 907 00:43:48,370 --> 00:43:49,570 per la coma aquí. 908 00:43:49,570 --> 00:43:51,640 Així que aquest és un argument entre cometes. 909 00:43:51,640 --> 00:43:54,540 Tot i que té una coma al mateix, tot està entre cometes, el que significa 910 00:43:54,540 --> 00:43:56,230 és una cadena llarga. 911 00:43:56,230 --> 00:43:58,280 Coma, nom de la variable. 912 00:43:58,280 --> 00:44:00,680 >> Així que ara vull allunyar. 913 00:44:00,680 --> 00:44:02,240 Permetin-me tornar a executar-lo. 914 00:44:02,240 --> 00:44:03,490 Rob. 915 00:44:03,490 --> 00:44:06,520 Maleïda sigui, què vaig fer malament? 916 00:44:06,520 --> 00:44:07,920 >> Molt bé, així que has de tornar a compilar. 917 00:44:07,920 --> 00:44:11,030 Així que de nou, errors fàcils de fer d'hora una altra vegada i una altra en. 918 00:44:11,030 --> 00:44:15,280 Així que ara torni a executar personalitzat, Rob, entrar i voila. 919 00:44:15,280 --> 00:44:17,110 Ara tenim un programa personalitzat. 920 00:44:17,110 --> 00:44:21,660 >> Així que ara tinc un programa que l'ús d'unes poques característiques 921 00:44:21,660 --> 00:44:22,520 que són dignes de menció. 922 00:44:22,520 --> 00:44:27,850 Un, estic fent servir CS50.h, en cas contrari coneguda com la biblioteca CS50. 923 00:44:27,850 --> 00:44:33,050 I a l'interior de la biblioteca CS50 són funcions que altres persones van escriure - 924 00:44:33,050 --> 00:44:33,980 és a dir, el personal - 925 00:44:33,980 --> 00:44:36,620 per al seu ús, i obtenir cadena és un d'ells. 926 00:44:36,620 --> 00:44:41,310 >> Dins de la línia 2 és stdio.h, i per què és això allà? 927 00:44:41,310 --> 00:44:42,070 Prengui una conjectura. 928 00:44:42,070 --> 00:44:46,200 El que existeix a l'interior de pares IO estàndard? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 Així printf, que no es veu enlloc un altre a la pantalla. 931 00:44:49,600 --> 00:44:51,870 Ha de venir amb el equip d'alguna manera. 932 00:44:51,870 --> 00:44:54,870 D'on ve? 933 00:44:54,870 --> 00:44:57,660 Està dins - es va declarar, per així dir-ho, a l'interior de 934 00:44:57,660 --> 00:44:59,890 un arxiu anomenat stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> Ara, per a aquestes coses, anem a tornar per finalment, perquè és una mica 936 00:45:02,670 --> 00:45:03,930 distreure per ara. 937 00:45:03,930 --> 00:45:05,490 Això es refereix al nostre tipus de canvi. 938 00:45:05,490 --> 00:45:07,660 Això es refereix a una discussió. 939 00:45:07,660 --> 00:45:10,230 Però per ara, estem enfocats just aquí en aquestes línies. 940 00:45:10,230 --> 00:45:13,280 >> Així nom de la cadena, només per recapitular, ¿Què va fer això per mi? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 Per tant, declara una variable de tipus cadena. 943 00:45:19,560 --> 00:45:22,630 Així que se suposa que ha de ser per a les paraules, no per als nombres. 944 00:45:22,630 --> 00:45:25,530 Com a nota a part, si jo volia que sigui un nombre, jo diria 945 00:45:25,530 --> 00:45:26,560 alguna cosa així com int. 946 00:45:26,560 --> 00:45:29,740 Si volia ser un punt flotant valor, alguna cosa amb un punt decimal, 947 00:45:29,740 --> 00:45:30,600 Jo diria flotador. 948 00:45:30,600 --> 00:45:32,640 Però per ara, que acabo de dir cadena. 949 00:45:32,640 --> 00:45:35,940 >> I m'he donat aquesta variable un nom de nom, però que vaig poder 950 00:45:35,940 --> 00:45:37,240 han cridat res. 951 00:45:37,240 --> 00:45:39,340 De fet, en un principi, el vaig trucar S. 952 00:45:39,340 --> 00:45:41,050 >> Això aquí és un altre comunicat. 953 00:45:41,050 --> 00:45:44,170 Quants arguments és aquest prendre declaració? 954 00:45:44,170 --> 00:45:47,890 Així que és simplement prendre una, i que no és més que un detall estètic de 955 00:45:47,890 --> 00:45:49,610 mostrant alguna cosa en la pantalla per a mi. 956 00:45:49,610 --> 00:45:54,750 Quina és la línia 8 fent en termes simples? 957 00:45:54,750 --> 00:45:57,320 >> S'està posant un valor de la usuari - és a dir, una cadena - 958 00:45:57,320 --> 00:45:58,770 i què fa amb ella? 959 00:45:58,770 --> 00:46:02,450 És essencialment lliurar-lo a la noi a la banda esquerra de la 960 00:46:02,450 --> 00:46:07,100 signe d'igual manera que en aquest cas, la variable de nom en realitat pot emmagatzemar. 961 00:46:07,100 --> 00:46:10,020 >> I a continuació, printf és una altra instància d'una funció. 962 00:46:10,020 --> 00:46:11,870 I diem que cridar a una funció. 963 00:46:11,870 --> 00:46:13,870 Per utilitzar una funció és per cridar a una funció. 964 00:46:13,870 --> 00:46:15,640 Aquesta cosa aparentment pren dos arguments. 965 00:46:15,640 --> 00:46:18,100 Aquest, coma, aquest. 966 00:46:18,100 --> 00:46:20,910 >> Aquest sí que és només una cadena que conté un marcador de posició. 967 00:46:20,910 --> 00:46:23,860 % S vol dir posar una altra cadena aquí. 968 00:46:23,860 --> 00:46:27,360 I així, posant nom després la mengi, que s'insereix 969 00:46:27,360 --> 00:46:29,420 això per a mi. 970 00:46:29,420 --> 00:46:31,300 >> Així que puc fer altres coses encara. 971 00:46:31,300 --> 00:46:36,820 Déjame anar endavant ara i fer una mica de programa de ximple, però em deixa esborrar això, 972 00:46:36,820 --> 00:46:38,880 i vull crear un bucle. 973 00:46:38,880 --> 00:46:41,390 Mentre que és cert. 974 00:46:41,390 --> 00:46:45,210 El símbol veritable òbviament sempre serà veritat. 975 00:46:45,210 --> 00:46:49,830 Llavors, quin tipus de bucle estic induint en escriure una línia com aquesta? 976 00:46:49,830 --> 00:46:51,070 >> Així que un bucle infinit, no? 977 00:46:51,070 --> 00:46:52,090 Així, mentre que és cert. 978 00:46:52,090 --> 00:46:56,210 No hi ha manera que pugui canviar la paraula cert que qualsevol altra cosa, així que això és 979 00:46:56,210 --> 00:46:57,310 només vaig a córrer per sempre. 980 00:46:57,310 --> 00:46:59,960 Així que si alguna vegada s'ha fet amb un programa al teu Mac o PC, que sembla 981 00:46:59,960 --> 00:47:02,480 que han tancat, o que està fent alguna cosa i alguna cosa, i només 982 00:47:02,480 --> 00:47:05,500 no pot aconseguir el que cal sortir a menys que reiniciar l'ordinador o estireu la 983 00:47:05,500 --> 00:47:08,360 Administrador de tasques o similars, aquí hi ha un exemple. 984 00:47:08,360 --> 00:47:14,340 >> Puc dir: "Jo sóc un programa amb errors." Tancar pressupost, prop 985 00:47:14,340 --> 00:47:15,780 entre parèntesis, punt i coma. 986 00:47:15,780 --> 00:47:17,010 Així que de nou, observi els patrons. 987 00:47:17,010 --> 00:47:21,440 Tot i que alguns dels nostres sintaxi és nou, mentre que la paraula clau, la paraula veritable, 988 00:47:21,440 --> 00:47:23,590 noto que tinc la mateixa tipus de claus. 989 00:47:23,590 --> 00:47:25,890 Tinc un punt i coma i parèntesi. 990 00:47:25,890 --> 00:47:28,000 >> Així que ara seguirem endavant i compilar això. 991 00:47:28,000 --> 00:47:29,630 Feu encàrrec, personalitzat. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 Així que en aquest punt, no cal reiniciar l'aparell, d'acord? 994 00:47:36,660 --> 00:47:39,925 Així que la lliçó aquí és fàcil amb dos dits, de control C, 995 00:47:39,925 --> 00:47:41,230 deixarem aquest programa. 996 00:47:41,230 --> 00:47:45,430 Però vostè pot veure exactament per què aquesta cosa es repeteix una i altra vegada. 997 00:47:45,430 --> 00:47:48,080 >> Puc fer alguna cosa una mica més complex com un reclam. 998 00:47:48,080 --> 00:47:49,600 Vaig a seguir endavant i dir el següent. 999 00:47:49,600 --> 00:47:55,210 Per int, que és un enter, i és només un nom genèric que donem a la majoria 1000 00:47:55,210 --> 00:47:59,500 variables en la programació quan estàs simplement comptant, és igual a 0. 1001 00:47:59,500 --> 00:48:08,640 Deixin-me seguir endavant i dir, mentre que i és, diguem, menys de 100, i plus plus. 1002 00:48:08,640 --> 00:48:10,240 Anem de nou a aquesta sintaxi, però això significa que només 1003 00:48:10,240 --> 00:48:12,270 incrementar i una i altra vegada. 1004 00:48:12,270 --> 00:48:14,200 >> I què és el que vull fer aquí? 1005 00:48:14,200 --> 00:48:21,130 Printf, "Puc comptar amb i." Aquest és un programa amb errors. 1006 00:48:21,130 --> 00:48:22,450 Què és el que realment pretenc aquí? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> Percentatge no s, però no ho endevinaria això. % D és un nombre enter decimal. 1009 00:48:30,940 --> 00:48:32,720 Coma i. 1010 00:48:32,720 --> 00:48:34,340 Deixeu-me rodar cap enrere. 1011 00:48:34,340 --> 00:48:37,170 >> Permetin-me ara a compilar amb maquillatge. 1012 00:48:37,170 --> 00:48:39,280 Permetin-me ara tornar a executar amb el costum. 1013 00:48:39,280 --> 00:48:42,410 Puc comptar realment maleïda ràpid quan Escric un programa com aquest. 1014 00:48:42,410 --> 00:48:45,480 >> Ara farem una cosa una alguna cosa intencional. 1015 00:48:45,480 --> 00:48:51,220 Què farem això mentre i és més gran que o igual a 0. 1016 00:48:51,220 --> 00:48:53,630 Què és això provocarà? 1017 00:48:53,630 --> 00:49:01,030 Lògicament, això no és tan savi, perquè ara si torna a executar això, recompte, 1018 00:49:01,030 --> 00:49:05,050 Ara puc explicar molt, molt alt. 1019 00:49:05,050 --> 00:49:08,850 Per desgràcia, gairebé tan alt com pugui recompte és de 4 milions de dòlars, de manera que aquest va 1020 00:49:08,850 --> 00:49:10,140 a prendre un temps. 1021 00:49:10,140 --> 00:49:13,440 >> Llavors, ¿per què no deixem això com la nostra melodrama, amb la promesa que en 1022 00:49:13,440 --> 00:49:15,650 Dimecres, veurem si Aquest programa es porta a terme. 1023 00:49:15,650 --> 00:49:19,260 Dos, anem a presentar el que a tu mateix escriure la seva pròpia funció per a aquest mateix 1024 00:49:19,260 --> 00:49:22,930 ràpidament, el dimecres farem, ja que transició des de zero en C, comença 1025 00:49:22,930 --> 00:49:25,880 escriure cada vegada més complexa programes que fan molt, 1026 00:49:25,880 --> 00:49:27,070 molt més que això. 1027 00:49:27,070 --> 00:49:28,766 Ens veiem llavors. 1028 00:49:28,766 --> 00:49:31,580 >> [Aplaudiments] 1029 00:49:31,580 --> 00:49:34,690 >> ALTAVEU 1: En el següent CS50, Trencaclosques dia va ser un èxit. 1030 00:49:34,690 --> 00:49:39,690