DAVID Malan: Aquest és CS50, i això és el començament d'una setmana. I el que pensem que ens agradaria fer és retirar- la cortina d'un dispositiu que molts de vostès probablement ha caminat més enllà ara des de fa anys, però potser mai sap el que és. Així que aquest dispositiu probablement es veurà familiar per a la majoria de vostès, per ara. [REPRODUIR VIDEO] -Un triomf de la matemàtica i habilitat mecànica és aquest gran nou calculadora automàtica La Universitat de Harvard. Un complex entramat de problemes en matemàtiques posen a través de la màquina en forma codificada en cinta es resolen amb precisió en un minut fracció del temps requerit per càlcul humà. Dissenyat per facilitar totes les formes de la investigació matemàtica i científica, el cervell mecànic gegant treballar pels Estats Units Navy fins al final de la guerra. [FI REPRODUCCIÓ DE VÍDEO] DAVID Malan: Així que això és el que es veu en el Centre de Ciències, que és on que la màquina es troba ara. En realitat només es veu part. Només una part es troba actualment en exhibició, i això és un dispositiu anomenat la Mark I, i va ser essencialment realment una gran calculadora. Va ser succeït pel Mark II, i és de la marca II que en realitat obtenir una mica de vocabulari. Aquest és el primer cas registrat de cosa que està a punt de convertir-se en tot el molt familiaritzat amb el transcurs del semestre - és a dir, un error. Així que va resultar en un punt de la Marca Aparells II no funcionava adequadament, i després d'una inspecció més de prop, efectivament s'ha produït un error - una papallona - que l'arna - a l'interior. I des de llavors, ens hem referit a errors en programes com els insectes. Així que més del que vindria. Parlant de vídeo, així, si vostè han fet ja, saber que és CS50 òbviament filmat. Les conferències solen anar just després d' classe en una mena de pre-llançament format sense editar, i després un dia o dos més tard, vam posar una resolució més gran i la versió de més qualitat. Vostè pot recordar Vanessa, que tenia el la fortuna de jugar amb Google Glass, que vaig recordar carregar aquest temps. Així que si vols arribar a partir de les classes i jugar, han de treballar avui. I si voleu veure el que Vanessa vaig veure l'altre dia, el que veuràs aquí - permetin-me plantejar el volum aquí al meu portàtil. [REPRODUIR VIDEO] -Llavors m'ho dius cua és cap amunt. Està bé. Així que tocar això. Està bé. Acceptar, Glass. Gravar un vídeo. Està bé. Vanessa? [FI REPRODUCCIÓ DE VÍDEO] DAVID Malan: Molt bé, així que la raó que no funciona per a la majoria de vostès en Al final de la classe va ser perquè vaig procedir per gravar una hora d'aquest preses apuntant a mi mateix després d' Em vaig posar les ulleres a baix. Així que avui, vaig a deixar que s'allunyin, però gràcies Vanessa per ser tan esport bo. Mentrestant, un parell d'anuncis abans que avancem en l'actualitat. Així que un, CS50 té una tradició de fer tot el possible per intentar fer una molt gran classe se senti més petit. I amb aquest fi, gairebé tots els divendres, ens vam reunir en un restaurant la plaça, foc i gel, amb 30 o 40 dels seus companys de classe i jo, alguns el personal docent, i només un esmorzar molt informal. Sovint convidem a amics de la indústria, alumnes de la classe, alumnes de l' universitat, en realitat només per xerrar cada a altres, parlar de la vida després de universitat, vida de la universitat, i similars. Així que si vol participar en aquest primer com el dinar aquest divendres a les 13:15, el cap als quals URL en algun moment. L'espai és limitat, pel que va a fer primer arribat primer servit. Però farem això una altra vegada en un diari base, pel que no es preocupi si no ho fa fer-ho en aquest primer lot. Ara, pel que fa als recursos proporcionats curricularment pel curs, hi ha una gran quantitat, i si vostè no té es va aturar la pàgina web del curs Ja, en particular, en les conferències, trobareu que tot que vam fer la setmana passada hi és, tant en vídeo i una espècie de forma electrònica. Però més enllà dels vídeos, trobareu que ara hi ha text complet transcripcions, per exemple, de cada conferència. Així que si realment tornar a aquesta pantalla aquí amb Vanessa, i navegar pel costat de la pantalla, trobareu que en realitat, no per La conferència de divendres, però si ens remuntem a Dimecres, ja que aquesta característica té un pocs dies, trobareu que vostè pot realment aixecar, per bé o per pitjor, cada paraula que jo o un voluntari a l'escenari, va dir. I més que això. En realitat es pot buscar en ell, vostè pot feu clic a qualsevol d'aquestes frases, salta a aquest punt en el vídeo, tot cap i tal de fer que el material de tots els més navegable. Però si prefereixes no segueixes amb tant detall, trobarà, per exemple, aquest petit menú aquí per 1.5x Velocitat, velocitat 2x o S i ja parlar massa ràpid per a tu, la velocitat de 0,75 x. Així que adonar-se que tot està disponibles allà per a vostè. Però més enllà d'això, per a les conferències, s'adonen que també fem aquests recursos també disponible. Diapositives, codi d'exemple, qualsevol cosa que jo fer-ho en l'escenari o en l'avanç de la classe, anem a publicar allà, així que pots jugar costat a domicili o en Sanders. Però el que també pensem que ho fem any per primera vegada també li proporcionen tutorials d'aquests exemples. Cada vegada més, com ja he reflectit en el valor de les conferències de CS50, he començat a qüestionar la utilitat que és per que vostès se sentin allà, per a mi estar aquí, i per a mi parlar de tu, en particular com el material, la exemples, es tornen més complexes. A causa que invariablement, després d'algun nombre de minuts, algú ho farà fora de zona i després s'oblida d'una idea clau d'algunes exemple, i llavors és essencialment passat per la resta de la classe, que no és el millor ús dels seu temps, o, en realitat, la nostra col · lectivament com a classe. I així, el que pensem que ens agradaria provar a fer, en particular per alguns dels més exemples de complexos que no podria fer justícia a la classe, que no podria tenir temps per a la classe, o pot només la zona durant, és que anem a produir una sèrie de tutorials d'aquests exemples de manera que si vostè va a, per exemple, la pàgina vídeo de divendres passat aquí sota exemples, veuràs que per al divendres, ara hi ha aquest enllaçar a tutorials. I el format d'aquests canviarà amb el temps. Per ara, estem usant una simple YouTube playlist. Però el que va fer amb el nostre equip de producció després va anar a peu a través de cada i cada un d'aquests exemples de nou, espere assenyalant amb molt més claredat exactament el que els robatoris de pilota podria ser o hauria de ser de cadascú. Així trobarà, per exemple, de l'última setmanes, tots els exemples rasca i guanya travessem es realitzen linealment en què la moda. Així que no dubti a participar o no participar en aquest material. Realment un tema d'aquest curs en particular és que hi ha probablement més en la forma de recursos dels que possiblement podria absorbir més el curs d'un semestre. Però això és deliberat. Se suposa que és perquè el cada estudiant pot auto-select sobre la base del seu estil d'aprenentatge. Així que si xerrades treballen per a vostè, molt bé. Si les seccions de treball per a vostè, molt bé. Si tutorials treballen per millor, fantàstic. Realment serà a vostè per triar quins recursos funcionen millor per a vostè. Finalment, gràcies a un alumne de l' Per descomptat, també oferim una canònica conjunt de notes de traçat. Així que en lloc d'haver de vostès caps en conferències anotant coses que sorgeixen en la classe, nosaltres, els personal, li proporcionarà el que creiem que són un conjunt canònic de notes a que alliberar-se d'aquesta distracció, perquè si vostè està aquí i compromès, que són veritablement compromès amb el que està passant, amb els seus companys de classe estan fent fins al etapa, amb el que passa a la pantalla, i no simplement escriure textualment el que va succeir haver estat dit. Així que adonar-se de tots aquests recursos estan disponibles per a vostè. Seccionament, en resposta a les preguntes freqüents, s'iniciarà aquest dimecres. Fonamentalment, ens esperem fins després de la majoria altres classes es duen a terme de manera que puguem minimitzar el nombre de canvis que hem de fer. Però ve aquest cap de setmana, a partir Diumenge, serà una instància única de el que anomenem seccions súper. Aquests seran filmats per aquells que no poden assistir, i, essencialment, la caps del curs ens van a caminar a través d'alguns de la part C del curs, cap a un extrem d'un conjunt de problemes, que serà la nostra primera base C conjunt de problemes. I aquests seran només les seccions opcionals en previsió del que serà converteixen en els punts recurrents van portar pel curs 50 més l'ensenyament dels becaris setmanal. Els diumenges o dilluns o dimarts, que té 90 seccions hora en un sentit tradicional, que serà oportunitats per a les mans sobre i més examen profund de la El material de curs. Sense més preàmbuls, permetin-me presentar els caps dels cursos, que són darrere de les escenes amb mi, fent que tot passi. Si els que són aquí avui podria unir-se a mi, Rob i Lauren i José i Lucas, tots dels quals han estat amb la Per descomptat des de fa algun temps. RJ és la tercera tals membre del nostre equip. No va poder ser aquí avui, però em va preguntar per mostrar una foto d'ell. No estic segur de voler aquest , Però aquí està. I permetin-me que l'equip pugui dir saludar i presentar-se de manera que vostè es familiaritza amb elles, així com la seva propi company d'ensenyament aquest terme. LAUREN CARVALHO: Hi. El meu nom és Lauren Carvalho. Sóc un tutor resident en Leverett House. També estic molt emocionat de ser un TV cap per CS50 aquest any. CS50 és una classe molt difícil, així com una classe molt gran, així que si té algun dubte, si tens ganes de que està quedant enrere, no dubti en arribar a qualsevol de nosaltres en heads@cs50.het, o per a mi, si hi havia vols jugar amb el meu or cadell retriever. Aquí Lucas. LUCAS FREITAS: Hey, nois. El meu nom és Lluc Freitas. Sóc un jove [inaudible] la informàtica i la lingüística. En realitat sóc de Brasil, i també realitzar estudis d'Àsia oriental. Així que si vostè té alguna pregunta sobre ciències de la computació o l'idioma o alguna cosa, fes-m'ho saber. O CS50, especialment. JOSEPH ONG: Hi. Jo sóc Josep. Estic estudiant un ordinador principal ciència a Elliott House. Per tant, anem a veure. Em veuràs entorn dur un d'aquests enormes càmeres. Sóc resident fotògraf personal el 50 també, i els estudiants sovint de vegades em confonguin un turista asiàtic. Així que si em veuen amb una càmera, no fugis. Només somriure i no siguis tímid. I espero que els agradi 50. Em va agradar molt quan el vaig prendre, i és per això que he estat TFing per aquests tres anys. ROB BOWDEN: Hi. Sóc Rob. Aquest és el meu quart semestre amb CS50. M'acabo de graduar al maig. Jo era a Kirkland. Estic emocionat per aquest semestre, i espero que tu també. DAVID Malan: Gràcies a aquest any de caps, i també a RJ. Així que unes notes finals sobre els recursos. Un, p ajustat 0 ja està en marxa. Aquest només existeix en la norma edició, que està destinat per a la totalitat de la classe. A partir d'p conjunt 1, no serà edicions pirates de la majoria dels conjunts de problemes, que, de nou, cobrirà el material amb una mica més d'un desafiament, mentre que encara tocar en alguns dels mateixos temes. Fer prendre un cop d'ull a la pàgina web del curs perquè l'especificació per p conjunt 0. Les hores d'oficina, també, començaran aquesta setmana, aquesta nit, demà, dimecres, i dijous a diversos restaurants sales al campus. Fes una ullada a cs50.net/ohs per a l'oficina hora per al plat, i adonar-se d'aquesta hi haurà oportunitats molt informal, sens dubte, en l'inici de la semestre, d'aconseguir amb el seu ordinador portàtil durant les vacances de cervell. Porta alguns amics i xerrar amb la TF del curs i AC amb qualsevol les preguntes que pugui tenir. I no puc emfatitzar prou, fins i tot per zero i el problema de setembre 0, no realment no hi ha pregunta ximple. No hi ha estudiant massa incòmode de fer preguntes. Posi aprofitar favor d'aquest recurs. Serà allà recurrentment llarg del semestre, com discutirem CS50. Aquesta és la discussió en línia del curs fòrums en aquesta direcció existeix. El que també farem durant les classes és també monitoritzar això, gràcies a la equip docent del curs. I pel que si vostè té alguna pregunta durant la donar una conferència, perquè vaig dir alguna cosa poc o gens en absolut, per tots els mitjans, demani que, en temps real, si vostè té el seu ordinador portàtil o telèfon a la pàgina web, i farem el nostre millor esforç en temps gairebé real a respondre a això. Hi ha alguna pregunta sobre CS 50? Llavors una de les meves últimes notes. Aquesta qüestió de la SAT UNSAT. En acabar les seves targetes d'estudi, si no ho ha fet, s'adonen que la visió general de SAT UNSAT, disponible per a tots els estudiants, és molt per ajudar a prendre la vora d'un curs d'aquesta manera, per així dir-ho, de manera que si trobar-se a altes hores de la nit, 02 a.m., 03 a.m., Realment girar el cap de la paret on se sap que hi ha el 99% de el camí fins al final, però té moltes altres coses a fer, Crec que una millor utilització, sovint, de temps dels estudiants és passar de fet a aquestes altres coses, perquè pugui optimitzar el seu temps per tot arreu. I SAT UNSAT és un mecanisme a través del qual vostè pot prendre consol en el fet que el 99% de la forma en què es sent bastant bo. De la mateixa manera, també, si vostè ha arribat a la Per descomptat, sense coneixements previs o no gairebé tant de fons com vostè pensar que els seus companys puguin tenir, la veritable o falsa, s'adonen que aquest és un oportunitat de embrutar-se les mans amb el curs, posar els peus a la aigua, per així dir-ho, igual que jo mateix ho va fer fa anys amb el passat / no passa. Com vaig dir la setmana passada, va tenir aquest curs, igual que altres, no es disposa de passa / no passa en aquest moment, probablement ho faria mai han posat un peu a la classe, tot i que feia cinc setmanes, després, canviar d'opinió, que pot també, i canviar a o de la carta d'estat gradual. Està bé. Així que mirem les coses d'aquest tipus a Divendres, i anem molt ràpid per a la transició a una cosa que sembla més críptica avui. Però és, però, la mateixa idea fonamental. Quin va ser el terme general que s'utilitza per descriure una peça del trencaclosques que s'assemblava a això? Per tant, un comunicat. I vostè pot trucar a això qualsevol nombre de coses. Però nosaltres l'anomenarem un comunicat, i una declaració només compta el programa - o en el cas de Scratch, el sprite - de fer alguna cosa. Dóna la benvinguda en aquest cas. Una cosa com això lloc denominat què? Sí, pel que una expressió booleana. Una expressió booleana és només una cosa que és vertadera o falsa, i així Raspe els atrau amb aquesta forma, però també amb un signe d'interrogació per transmetre la idea que la resposta a aquesta pregunta és vertader o fals, sí o no un, 1 o 0. I fem servir aquestes expressions booleanes a l'interior de les construccions d'aquest tipus, que cridem a què? Per tant, la condició o de la branca. I la condició que es veu aquí a Zero té un petit marcador de posició per a un peça del trencaclosques d'aquesta forma, amb el propòsit dels quals és, perquè pugui arrossegueu-lo i poseu-la a la part superior i després dictar el programa si aquest Booleà expressió és vertadera, fer aquest conjunt de instruccions, aquest conjunt de declaracions, cosa fer això altre conjunt d'instruccions. I recorda que pots niu d'aquestes coses. Tot i que no hi ha molt espai visualment en aquesta peça del trencaclosques, Scratch creixerà i encongir per adaptar-se a qualsevol peces del trencaclosques d'arrossegar i deixar anar en no pel que realment pot niar això i tenir una forquilla de tres vies a la carretera. Si, else if, else. I fins i tot es pot anar més enllà de major implantació i més si cal. Així, finalment, hem vist com construccions aquest, conegut d'una altra manera com un bucle. I això és una cosa que fa alguna cosa una i altra vegada i una altra. En aquest cas, passa a ser un ésser finit nombre de vegades, però també va veure un exemple on el nombre de vegades provenen d'una variable, pel que podria canviar. I també vam veure un altre bloc complet anomenat bloc sempre que ens va permetre bucle infinitament llarg. Així que una altra construcció que zero 2.0 té - i aquells de vostès més còmode amb el fons abans són ja ben familiaritzats amb aquest construcció - aquestes coses que anomenem què? Així que cridem a aquestes funcions, en cas contrari conegut com procediments. Hi ha una lleugera diferència semàntica, però nosaltres els anomenarem tot just funcions. I una funció, en el cas d'esgarrapades, és una peça del trencaclosques personalitzat que vostè mateix pot crear perquè tingui una nova peça del trencaclosques que, en aquest cas, es diu tos, que apareix entre tots els de l'altra peces del trencaclosques disponibles a zero. Tot i que el MIT no va inventar aquesta peça del trencaclosques, ho vas fer. Per tant una funció li permet crear noves comportament, donar-li un nom de funció i llavors cridar, per dir-ho. Realment utilitzar en programes d'una i altra una i altra vegada sense haver d'esperar per a algú com MIT pel camí de inventar una nova funcionalitat des de zero. Vostè mateix pot construir aquests trencaclosques peces vostè mateix, i després els reutilitzen en els seus propis programes. I anem a veure un exemple recurrent que avui en dia i en endavant. Així que avui, fem la transició ara a alguna cosa més arcà. Però al final del dia, una cosa més potent i expressiva i més representant de la ruta que serem en tot el semestre al llarg d'un nombre d'idiomes - que de codi o codi font. I el codi font, resulta que, no és el que un ordinador típicament en realitat funciona. El codi font es veu alguna cosa com això. Així que aquest és, de nou, potser el més simple programa es pot escriure en un llenguatge anomenat C. Anem a començar a es burlen d'aquesta diferència en poc temps, i si això realment es veu com el grec per a vostè en aquest moment, confia en mi. Dins d'una setmana o el temps de dos, això serà molt familiar i en realitat prou representativa de cada vegada exemples de complexos amb què pots trobar també sentir-se més còmode. Però un no pot executar aquest tipus de codi en general. Cal convertir-lo en una cosa que el propi ordinador entén. I per això, necessitem alguna cosa anem a trucar a un compilador. Un compilador és un programa que usa codi font, com el que acaba de veure, ja que d'entrada, i produeix zeros i uns com de sortida, en cas contrari conegut com a codi objecte. I són aquests zeros i uns que pot tenir un aspecte com aquest que en última instància, s'entén de la seva Mac o PC. Si alguna vegada has sentit parlar de la comercialització expressió d'Intel Inside, que acaba de significa que una companyia anomenada Intel ha fabricat el cervell de l'ordinador - també coneguda com la CPU, unitat central de procés - i això és just el que entén patrons de zeros i uns. I així, mitjançant la conversió de codi font en Codi d'objecte a través d'aquest procés aquí que farem amb un parell de comandaments en només una mica, vostè és la creació de patrons de zeros i uns que els empleats d'Intel tenen decidir representar certes declaracions. Ara, jo no sé molt bé el que és que amb només fer una ullada a aquests zeros i uns. La majoria dels éssers humans en aquests dies no ho fan. No obstant això, en algun lloc hi ha un patró de zeros i uns que representen la impressió comunicat. En algun lloc que podria haver una diferent conjunt de zeros i uns que representar la idea de sempre o repeteixi 10 vegades o fins i tot miau, si és en realitat un programa que pot incloure alguns sons. Així que en resum, només els éssers humans han decidit, igual que ho vam fer en ASCII - per les lletres de l'alfabet la setmana passada - els éssers humans han decidit que fins i tot patrons més complexos de zeros i uns representar un comportament més complex com la impressió o el dir o miolar. I per avui, i en gran mesura endavant en el semestre, anem a prendre per fet que algú s'ha adonat la manera de fer que la cartografia. Però, d'acord amb aquesta idea de capes a la part superior de l'obra de persones que han vingut abans que nosaltres, es durà a assegut el fet que això va en sota de la caputxa. Però estem molt més interessats en la construcció de coses que són més interessant per sobre de tot això. I així, de fet, el primer programa que escriure en scratch va ser aquesta super simple un, Hello World. I vostè pot pensar en això com la programa principal que regeix Scratch comportament a partir de divendres passat. Avui, anem a començar a traduir Raspe les peces del trencaclosques en codi font en aquest llenguatge anomenat C de manera que el que semblava això en Divendres, a partir d'avui en endavant, és Ara va a tenir aquest aspecte. És cert que més críptic. És bastant molest i tipus de compte adormidor per veure totes les cites i el punt i coma i els parèntesi, i així successivament. Però si comences a fer cas omís de tot el que no ho entenc, i realment mirar en l'essència del text en blanc sobre la pantalla, sens dubte es veu, com jo, "Hola, món". Que s'alinea amb la declaració porpra sobre de la tapa, i resulta que la paraula clau principal es va a alinear conceptualment amb quan està verd bandera clic. Així, en altres paraules, mentre que a Scratch, implementem aquest programa Hello World amb aquestes dues peces d'un trencaclosques, en C, anem a posar-la en pràctica amb aquests quatre línies una mica críptics. Però a mesura que ens submergim més profundament en això, vostè veure que cadascun dels caràcters blancs a la pantalla en realitat té un significat important, i la majoria dels nostres programes es van a mirar estructuralment el mateix. Així que una declaració, per ser clars, el que semblava "dir hola món" a la Divendres va a començar a cercar com aquest dilluns. printf ("hola, món"). I hi ha alguna cosa estranya barra invertida n, no hi ha parèntesis, hi ha punt i coma. Però al final del dia, la tecla portar avui és que tot el que estem fent és traduir les coses de la imatge formar la forma de text. Així que un bucle que es veia així la setmana passada es va a veure ara alguna cosa com això. I permetin-me rebutgen, igual que en Scratch, hi ha diferents maneres de aconseguir el mateix objectiu. El mateix en C. Jo no estic mostrant l'únic manera de fer les coses, sinó una forma de traduir això per sempre bloquejar a un bucle en C. Aquest d'aquí, repetir 10 vegades. Aquesta realitat tipus de corbes del ment la primera vegada que ho veig. Però per posar en pràctica que, en endavant, anem a utilitzar una de llaç, per dir-ho. I és clar que hi ha una sintaxi que és un petit complex d'allà amb I i igual i 0, però un cop que ens submergim en aquest avui endavant, et vas veure que això és tot, simplement fent algunes aritmètica bàsica per a nosaltres des de 0 en un màxim de 9 o 10 en aquest cas. Finalment, amb variables, com es recordarà que una variable és una peça d'emmagatzematge. Bé, el que teníem a l'esquerra hi el passat setmana es va a veure una mica de una cosa semblant aquesta setmana. Però, de nou, més en l'altre. Vam tenir expressions booleanes, que la setmana passada, semblava això. Aquesta setmana des d'ara, van a començar a mirar una mica com això. I aquesta realitat és una mica tranquil · litzador. En realitat és gairebé tan simple com els blocs verds. Però aquí tenim, de nou, una nova sintaxi amb símbols d'unió, però es pot potser endevinar mentre que a Scratch, que per exemple A-N-D, pel que sembla en C, estem dirà ampersand ampersand. Però tot això es convertirà en natural abans de temps. Condicions. La setmana passada, semblava que aquesta a l'esquerra. Aquesta setmana, a la dreta, és va a semblar això. Però, de nou, el punt clau aquí és que com vostè veu les coses com que el la dreta, i sobretot si menys còmode, és una mena de sobre la seva cap, et donen una mica aclaparat que Realment no tinc idea del que podia possiblement arribar a que des del principi - sense joc de paraules - només s'adona que és realment la mateixa idea que probablement es va sentir molt més natural de la setmana anterior. I fins i tot si no s'ha capbussat en Problemes de 0, m'atreviria a dir que trobaràs que les peces del trencaclosques són bastant intuïtiva, o almenys arribar a ser tan llarg del temps. Així que anem a bussejar polz Anem a embrutar-nos les mans aquí amb aquest primer programa senzill. I el simple és, per descomptat, relatiu. Per a això, canviaré les pantalles a aquest dispositiu que es diu el CS50 aparell. L'aparell CS50 és un tros de programari que s'executa dins d'un finestra en el meu Mac, i també es pot executar en una finestra interior del seu PC, que em permet tenir exactament el mateix Entorn d'ordinador ja que cada TF, com cada CA, ja que tots els estudiants a la classe. A causa que l'aparell CS50 és literalment altre sistema operatiu anomenat Linux - específicament Fedora Linux - i nosaltres, el personal, hem configurat el procés d'instal · lació d'aquest sistema operatiu de tal manera que un, ha una mica de CS50 logo al mig, dos, hi ha un menú personalitzat la part inferior, i tres, pedagògicament, hem simplificat la interfície d'usuari com tant com sigui possible perquè quan ho primer aquesta cosa pel seu compte Mac o PC, que tenen el mateix medi ambient en tot el món, i tenir totes les eines que vostè necessita per al curs sense haver de calcular com instal lar cada un i totes les eines de forma individual. Així que això sembla relativament com Mac OS o Windows. A la cantonada inferior esquerra, que essencialment tenir un menú Inici de tipus, o un menú Apple. I llavors vostè té el que es sospita seran els seus tres icones més comuns. Es tracta de Chrome. Hi ha un navegador dins l'aparell. Dos és un programa anomenat gedit, que vam veure breument la setmana passada, que és un editor gràfic. I tres és un programa Terminal, que és una finestra en blanc i negre de antany que ens permet escriure més arcans ordres però més potent en nostre teclat. Així que seguiré endavant i feu clic a gedit, i estar segur que el problema 1 setembre, que es publicarà el divendres, es caminar a través de tots aquests mateixos passos. Tingueu en compte que tinc una molt simple interfície d'usuari amb tres parts. A l'esquerra, tinc un gran buit finestra anomenada codi font. Aquí és on vaig a veure un resum de qualsevol codi que escric. Al costat dret, tinc un gran fitxa, en l'actualitat no són estalvis, i això és on el codi es va a anar. I en el fons, he incorporat una Finestra de terminal, un blanc i negre demanarà a la que puc escriure ordres per compilar i executar els meus programes - que És a dir, fer i executar els meus programes. Així que anem a començar simple. Déjame anar a Arxiu, Guardar. Vaig a seguir endavant i entrar en jharvard. Per tant l'aparell, amb independència del que el seu nom és, pertany a un tipus anomenat John Harvard, que té una casa jharvard directori a on tota la seva arxius aniran. És la seva pròpia còpia del seu compte, així que no hi som tots compartint el mateix disc dur. Només tens la il · lusió del propi John Harvard. Amb anterioritat, en realitat instal · lat Dropbox. L'aparell ve amb preprepared Dropbox perquè si alguna cosa surt malament durant el semestre, si tens configurat l'aparell amb un lliure Compte de Dropbox, tots els seus arxius ser copiats automàticament pel que pot recuperar molt fàcilment. I jo vaig a anar al meu Dropbox directori, i ja va ser un parell de coses allà. Però seguiré endavant i aneu a Fitxer, Desa. Vaig a anar a jharvard, Dropbox, i aquí, vaig a donar el meu programa d'un super simple nom, hello.c, a continuació, deseu. Així que tinc la mateixa interfície actual. L'únic que ha canviat és la pestanya dalt. Així que estic molt ràpidament crearà que el programa de l' llisca fa un moment. Així que en main (void), i després printf, "Hola, món", un tant críptica barra invertida n, prop de cotització, prop entre parèntesis, punt i coma, i després Ctrl S per desar. I fixin-se en un a part el que acaba aparèixer aquí a la part superior esquerra. I això no és útil avui en dia, però serà útil en el temps. Vostè acaba de veure, de nou, un resum de el codi que has escrit. I com vaig escriure una cosa anomenada principal, és per això que la paraula principal aparèixer fins allà. No obstant això, per a la major part, no cal que en l'actualitat. Molt bé, així que em diuen que aquesta és la meva primer programa escrit en una programació llenguatge anomenat C. Sabem des de divendres que el que aquesta cosa va a fer molt sense interès quan funcionar només es mostra - en altres paraules, imprimir, com un ordinador científic diria - hola món a la pantalla. Així que per fer això, et donaràs compte de que tinc anar aquí al meu terminal finestra, i ara tinc un parpelleig ràpid. Però això és ara una versió del teclat el meu directori home Harvard John. És una forma de teclat a través del qual per a navegar pel disc dur. Així que en realitat no puc escriure com ho vaig fer la setmana passada fan hola, perquè és diré cap regla per fer diana - alguna cosa que està malament. Jo no sé molt bé el que el missatge mitjans, però això és perquè per defecte, quan aquesta finestra en blanc i negre és obert, estic dins de John Harvard directori d'inici. Però on puc guardar aquest programa? En la meva carpeta de Dropbox. Ara, tots hem crescut amb equips en què només cal fer doble clic a a la icona d'una carpeta, obre, i llest. Aquí és on l'arxiu anomenat hello.c seria. Així que, de fet, farem això. Déjame anar per davant i minimitzar gedit igual que ho faria en Windows o Mac OS. Déjame anar a la Home carpeta a la part superior esquerra. Jo veig aquí un munt de carpetes. Aquí està la meva carpeta de Dropbox. Les marques de verificació vol dir que ha estat sincronitzat. I hi ha un parell de coses aquí, Però cal notar que hello.c és de fet allà mateix. I així, a Mac OS o Windows, normalment, Em doble clic que s'obre, en qualsevol programa, i estic llest per sortir. Però ara, almenys a partir d'avui, ens necessitat de donar un pas cap enrere només per li donarà algunes eines bàsiques per a la seva caixa d'eines amb les quals fer més coses de gran abast dins de poc. Així que en aquest sistema, que he de fer la equivalent al doble clic al Carpeta de Dropbox. I per fer això, vaig a escriure CD canviar de directori, Dropbox, entre. I ara compte els parèntesi en la meva anomenats ràpida diu ara que estic en accent, el petit gargot símbol a la part superior esquerra de la majoria dels teclats / Dropbox. Això és només la notació abreujada de dient humana, que ara està a l'interior de la carpeta de Dropbox, com si havies doble clic. Així que ara si segueixo endavant i escriure make hola, entrar, veig un molt críptica comandament, però no un missatge d'error, el que sembla i, a continuació, un altre parpelleig ràpid. I si vostè recorda, sempre tan ràpidament el divendres, ho vam fer. . / Hola. El que estàs a punt de veure és el resultat de la meva execució d'aquest programa, o, a Mac Termes OS i PC, si hagués normalment dupliquen feu clic a un programa -. una aplicació programa o un arxiu. exe, s'obre una finestra i s'executa. Mecanografia. / Hola és com doble clic en un programa per executar-lo, però utilitzant el teclat. Introduïu, hola món. I això és tot. Així que anem a burlar-se això a banda del que no se sent massa a Grècia. Així. / Significa què? Qualsevol que hagi navegat un teclat entorn com aquest, ¿quin punt referint? El directori actual. Així que el directori actual és sinònim d'una carpeta. Així dient slash dot, que estic dient, buscar un programa que es diu hola al directori actual - a la carpeta actual. En altres paraules, la meva carpeta de Dropbox. I és per això que prement Enter després realment s'executa el programa. Si jo ara de tipus LS, noti que veig tot en la meva carpeta de Dropbox. Obtenir Started.pdf, que Dropbox li dóna de forma gratuïta, les meves fotos directori, un directori públic, que no hagi guardat Document 1 que vaig fer per error un Fa instant, foo.c, que vaig fer anteriorment avui en dia, i després dues línies - hello.c i hola. Hello.c és el programa que vaig escriure amb gedit, i el que és hola en verd? La salutació en el verd és l'executable. En altres paraules, quan em vaig trobar amb aquesta comanda fa un moment - permetin-me rotllo enrere en el temps - quan em vaig trobar realitzar hola, això és el pas intermedi aquí. I va prendre hello.c com a entrada - També conegut com a codi font - i va produir una fitxer anomenat hola com sortida, que conté tots aquests zeros i uns. I per això, al final, no puc realment executar una ordre com. / hola. A causa de Intel Inside, el meu operatiu sistema, Linux, obre aquests zeros i altres, els alimenta al cervell de l'ordinador - la CPU - i que la CPU sap, oh, això és un patró de zeros i uns que diu imprimir el següent a la pantalla. Què és el següent? Citar fi de la cita, "hola món". Molt bé, així que un breu resum d'alguns aquestes comandes perquè puguem començar a prendre per fet. Permetin-me Pas a la on ho deixem. I et recordo que teníem CD a les nostres esquenes acabar fa un moment. Aquests són, m'atreveixo a dir, per propòsits d'avui - potser aquesta setmana - els únics comandaments que podria haver d'escriure en el símbol demanarà més fer. Així CD estava de què? Canvieu el directori. És només l'equivalent a dues en fer clic en una carpeta. I en un a part, si tens perdut mai a l'interior de la aparell, de manera que Dropbox - Vull tornar al meu directori jharvard - en cas de dubte, CD, entrar, sense més paraules, i només vostè cremalleres darrere al punt de partida, que és una mica de bon drecera. Està bé, així que ara altres ordres. LS. He escrit que fa un moment. Què pensa vostè LS vol dir? Per tant, la llista, no? De tornada en el dia, quan els éssers humans venien amb aquestes comandes, que estaven tractant de ser eficient, i més aviat mecanografiar L-I-S-T enter, es decidir LS. Això està bé. Sona bastant com llista. Anem a LS tipus entren, i que llista els arxius o carpetes en el meu carpeta actual. mkdir, probablement pugui endevinar. Feu directori. Així que no et vas a algun menú arxiu i escolliu Carpeta nova en aquest entorn. Més aviat, escriviu l'espai de comandament mkdir i després el nom de la carpeta que voleu crear, i es durà a terme. rm, probablement pugui endevinar. Treure o eliminar. Així que si voleu eliminar un arxiu, se li veure en el conjunt de problemes com pot fer això. I rmdir, treure el directori. Així que, de nou, jo m'ocuparé de volar a través d'alguns d'aquests detalls, un, perquè no tots són tan divertit per passar llavors, sinó dos, li donarem a molt més detall en qualsevol dels El problema de curs estableix, en particular, les edicions estàndard, qualsevol dels passos que és possible que hagi d'escriure el que s'obté més i més còmode amb aquestes coses. Però ara m'ho dius esmicolar una cosa més. Quan escrivim fem hola fa un moment, vam veure un script críptics. Hem vist, un cop més, fem hola. Bé, anem a fer això. Estava a punt de cometre un error, però [Inaudible] ara admetre que estava a punt de i ho fa deliberadament. Què vaig fer malament ara? Sí, així que no estic al Dropbox directori, perquè fa un moment em CD amb tipus i prem enter. Que m'has nou al punt de partida, que no és on el meu arxiu És a dir, el que realment necessito fer CD Dropbox Entro, i ara que puc fer hola rm introduir, retiri fitxer normal hola. No sé per què és tan críptica. Això només significa que estàs segur que desitja eliminar hola? Pot escriure i per a si, entrar, i ara s'ha anat. I ara, si escric realitzar hola de nou, és tornarà a crear el codi objecte, recrear aquests zeros i uns. Però quin és el tracte amb aquesta comanda molt llarg? Bé, anem a burlen això a part en poc temps, però fer - Li vaig dir una mica d'una mentida blanca abans - no és un compilador. Make és un programa que automàticament s'adona de com es porta un compilador per a vostè. Així que el comandament que realment hauria de ser execució per tal de convertir hello.c hola mira en realitat una mica de la mateixa família. I Déu no ho vulgui tenim que realment recordeu que escriure cada vegada que tota script fora. El propòsit de fer a la vida és recordar que el grau de complexitat de nosaltres i automatitzar el que d'una altra manera ser mesures molt tediosos. Però pot aproximar això. Així per aquesta petita costella aquí, pot aproximar-se al que aquest comandament és fer-ho simplement escrivint Clang, que és el nom del compilador que serà l'ús d'aquest semestre. Si algun de vosaltres alguna vegada han fet iOS desenvolupament per l'iPhone o l'iPad, Clang és el programa que ha utilitzat dins de Xcode per fer les seves aplicacions. Clang, però, és un programa més el nom es pot escriure en el símbol del sistema, i la introducció d'aquest moment, Puc presentar alguna cosa que és un poc representativa d'ordres de venir. Així que permetin-me fer això manualment. Així rm hola, i ara compte en cas Jo, igual que una comprovació de validesa - . / Hola, què creus que hauria de veure si puc fer això? Algun tipus d'error. No existeix el directori d'arxius. Així que un és en realitat bastant directa. Així que ara anem a netejar la pantalla. Control S simplement esborra la pantalla per eliminar algunes distraccions. I ara vaig a manualment Clang-o tipus hola hello.c. Llavors, què és això de fer? Exactament el mateix que fan que va fer per nosaltres, però em desfaig d'alguns les paraules supèrflues. Clang és el programa que va a tenir un arxiu. c com a entrada i produir zeros i uns com de sortida. Però-oa endavant dirà un interruptor o una bandera. Això és només l'argot techie per dir aquesta és una paraula que escrigui en l'indicador de que d'alguna manera influeix en el comportament del programa que s'està executant. Així que algú vol endevinar -O el que transmet? Sortida. És només algú decidit-o vol dir sortida d'un fitxer anomenat hola i prendre entrada sigui quina sigui l'última paraula sobre l' prompt és, hello.c, de manera que si colpeig Ingressa ara, res sembla succeir. I per estrany que sembli, en aquest món de programació, si no passa res, això és probablement una bona cosa perquè no hi ha error missatge a la pantalla. Hola, Enter. El meu programa ja s'ha executat. Però no puc fer petites coses estúpides com això. Clang-o, hihihi, hello.c, entrar, i ara tinc una idèntica programa anomenat hihihi. Es comporta de la mateixa, però el nom és diferent. Així que això és només per dir que si es vol per influir en el comportament d'un programa, que anem a cada vegada més veure coses anomenades arguments de la línia d'ordres. Es tracta d'una línia. Estàs escrivint ordres. Ergo, la línia d'ordres. I els arguments de línia d'ordres són només paraules o petits trossos de sintaxi influir d'alguna manera el comportament dels programes que s'estan executant. Bé, això és potser la més programa avorrit que pot escriure i veure. Ara farem alguna cosa més interessant. Deixin-me seguir endavant i crear un nou arxiu. Vaig a seguir endavant i salvar aquest en Directori de John Harvard, diguem custom.c, per ser un petit programa personalitzat. Me'n vaig a acostar al meu superior de les fitxes aquí i començar de nou. Inclogui stdio.h estàndard. Més sobre això en un moment. int main (void), més en que en un moment. printf ("hola, David"). Molt més interessant, no? Així que ara si - no a causa del meu nom, només perquè és diferent - fer costum entrar. Personalitzat, hola, David. Però fins i tot això, també, és una mentida piadosa. Aquest programa pot ser que també es diu David.C, perquè no és costum comportament en absolut. Realment, jo vull un programa que demani l'usuari pel seu nom. Llavors, com ho faig? Bé, deixa desplaçar-se cap amunt per aquí. I abans que jo utilitzo una declaració en Scratch, abans d'usar printf, també coneguda com a funció, permetin-me primer pregunti a l'usuari alguna informació. Així que per fer això, he de fer un parell de coses. Un, necessito un lloc per guardar l'usuari nomenar després que li he demanat o per això. El constructe Què necessito per utilitzar probablement per emmagatzemar un valor com aquest? Una variable. Així que a diferència de Scratch, on acaba d'obtenir un bon tros del trencaclosques, aquí, hem de utilitzar, òbviament, paraules a expressar-nos. I a partir d'ara, cada vegada que desitja un paraula o una frase, en la programació, anem a trucar a això una cadena. Així que una cadena és una paraula o una frase. És una seqüència de zero o més personatges, més formalment. I si vols una variable com per existeix, que ha de dir dóna'm un. I la manera en què ho fa és dir string s punt i coma, on s pot ser tot el que vulguis. De fet, s és una mica decebedor. Deixin-me seguir endavant i més clarament anomenar nom. Dóna'm una cadena anomenat nom. Però ara, el que és de la persona nom per defecte? Bé, si l'ésser humà no escrigui res a, òbviament, no va que no hi ha valor en el nom. I resulta que a C, si no dóna un valor d'una variable, que va a té un valor escombraries. Podria tenir alguns zeros a l'atzar i estimats, pel que només veurem escombraries, realment, a la pantalla si intenta mostrar-ho. Però puc arreglar dient, en realitat, botiga dins del nom després del valor. La forma d'emmagatzemar els valors de les variables és si vostè té un nom de variable a la va ser, d'alguna manera cal posar el que que vulgueu emmagatzemar en ella a la dreta, i la sintaxi del que està passant que és com segueix. No hem vist això abans, però prenem en la fe per un moment que no hi ha una altra declaració en el món que vaig a trucar de nou la funció, i aquesta funció és anomenat arribar cadena. I ho fa literalment que. D'alguna manera s'obté una seqüència de caràcters del que és humà i després fa alguna cosa amb ell. I això es veu com sintaxi críptica. Normalment, si utilitza signes iguals - vostè està en el món de, diguem, àlgebra, i ja està fet dient que x és igual a 1. Aquí no estem dient que Nom iguala aconseguir cadena. Estem dient botiga en nom del que és al costat de la mà dreta d'aquest signe igual. El signe igual representa l'operador d'assignació. És la sintaxi que diu posar el que està en el costat dret dins del que és a l'esquerra. Així aconsegueix cadena és una peça de funcionalitat que no només fa alguna cosa - pregunta l'usuari per a una cadena - també retorna, per dir-ho. Així que anem a veure el que està passant a passar aquí. Vaig a seguir endavant ara i allunyar la imatge, i jo vaig a aconseguir un parell de errors en el meu sistema. Vaig a escriure make personalitzat, escriviu. Wow. Un munt d'errors. Molt bé, així que això és una mena de aclaparador, sens dubte al principi, però resulta que tots ells molt certament missatges d'error críptics són es fa referència a alguns patrons que anem a començar a veure el pas del temps. Així que aquest vaig a arrencar fora, perquè és primer. L'ús de cadena d'identificador no declarat. Això només significa que el gedit o Clang, en aquest cas, no sap el que vull dir amb cadena. I és que a C, la programació idioma, hi ha en realitat hi ha una variable de tipus cadena. C no sap que existeixen cadenes. Però nosaltres, CS50 personal, fem. I així, abans de classe, creat un fitxer anomenat CS50.h. I dins d'aquest arxiu - i més en la sintaxi per venir - dins d'aquest arxiu és una definició del que s'acaba de definir verbalment com una cadena. Així que simplement mitjançant la celebració d'aquesta línia de codi en el meu programa, estic ara ensenyament gedit i fer i Clang tot giri en el que és una cadena. No sé com encara. En unes poques setmanes, anem a pelar nou aquesta capa. Però per ara, sabem que això ensenya el compilador què string que realment és. Així que ara m'ho dius aclarir la meva terminal d'aquí baix. Permetin-me tornar a executar la duana faci, i jo resolt tots aquests problemes. Així que això també va a ser un tema recurrent. Jo només vaig escriure un programa de la línia 9, i però, jo tenia 18 línies d'errors. Això és una mica intimidatori. Però adonar-se que sovint en cascada tals que un petit error provoca la confusió per al compilador, i es veu molt pitjor del que és. Així que ara un observador astut sabrà que m'estic fent una cadena de la usuari, però no estic realment fer el que amb ella? Jo no estic fent res amb ella. Així que si realment va funcionar personalitzada de nou, que va a seure allà. Què està passant? El meu programa sembla estar encallat en quina línia, què li diries? Així que en realitat és atrapat en la línia 7. I no hem vist això abans, però en la línia 7, hi ha, de nou, aquesta declaració, obtenir cadena. I fa el que diu. S'espera ara per a l'ésser humà per prendre la corda. Això és completament intuïtiu per a mi, l'ésser humà, ja que no he estat informat el que ha de fer. Però m'ho dius anar per davant en la fe i m'ho dius a mi pretenc ser Rob. Intro. Aquest no és el programa del que pretenia. Així que tenim el nostre primer blog. Però anem a tractar de raonar a través per què aquest és el cas. En primer lloc, anem a solucionar aquest problema primer. Voldria afegir aquí una línia que diu: printf, quin és el seu nom? Farem prop de cotització, tancar parèntesi. Ara vaig a tornar a executar el programa. Problema. No estic veient això. Dreta. No tornar a compilar. Així que en un llenguatge com C, ja que canviar el codi font no significa que ha canviat el seu codi d'objecte per generar nou codi objecte, nous zeros i uns. Cal tornar a compilar. Si ara torna a córrer personalitzat, introduïu, ah, una mica més clar. El meu nom és Rob. Encara amb errors. I jo diria que hi ha un parell de bestioles ara. Això només es veu horrible, francament. Igual que, com a mínim, hauria de tenir un espai allà, o moure el cursor a la nova línia. I, de fet, la línia nova. Això és una cosa d'una frase clau aquí que que hem vist, però no definit. La forma en què s'obté un text per passar a la següent línia, no fa això. Això és confús per a l'equip. Això es veu com dues línies separades de codi, cap dels quals és perfectament correcte. En el seu lloc, ha de ser més explícit i dir, dóna'm una nova línia, que Es representen en C amb una barra invertida n. Així que hi ha alguns d'aquests personatges. Backslash n fixarà aquesta estètica. Déjame a compilar el meu programa. Permetin-me tornar a executar el meu programa. Això es veu millor. És encara molt primitiu, però també segueix sent erroni. Així que hi ha una - fins i tot si mai has programat abans, és probable que pugui prendre una conjectura per què encara està viciat aquest programa. Què necessito per fer això Jo no he fet encara? Així que he de fer realment alguna cosa amb nom. Igual que en el principi, que en realitat podria assignar una variable com n o combatre com ho vam fer l'última setmana - un valor. Però si vostè no fa res amb , Res va a succeir. Molt bé, així que anem a resoldre. Permetin-me tecleig meva variable d'allà, i me n'aniré aquí. Permetin-me recompilar, em re-run anem, Rob. Ara només sóc un idiota, oi? Així que això no és realment aconseguir em més lluny. Però això era una perfectament natural instint, jo diria, oi? Si la variable es denomina nom, i jo vull anar-hi, per què no ho faig jo escrigui allà? Bé, per descomptat, tenim per distingir ara entre el que és una cadena? Tingueu en compte que entre cometes aquí, hola nom? En realitat, això en si mateix és una cadena. Està codificat. No es tracta del que és humà. És de mi, el programador original, però tot i així és una cadena. Així que si vostè escriu literalment N-A-M-I a l'interior d'una cadena, el que va a obtenir models? Bé, N-A-M-I. En canvi, necessitem dir printf, no imprimeixi fora literalment nomenar. Imprimeix el valor del nom. I per fer això, fem el següent. I això és només una convenció humana. Lloc Diem% s, i que significa cadena. I després, al final de les meves cotitzacions de tancament, Vaig a posar una coma i passar a un segon argument en aquesta norma. Vaig a escriure el nom allà. Així que ara tenim un compte lleugerament nova sintaxi. Encara tenim dos parèntesis i a partir d'ara deixeu-me dir-los que les coses entre parèntesis, representa arguments en una funció - entrades que d'alguna manera van per influir en el seu comportament. Així que per aquesta lògica, quants arguments sí que sembla printf ser prenent en aquest moment? Per tant, sembla estar prenent dos, i això és de fet implicava per la coma aquí. Així que aquest és un argument entre cometes. Tot i que té una coma al mateix, tot està entre cometes, el que significa és una cadena llarga. Coma, nom de la variable. Així que ara vull allunyar. Permetin-me tornar a executar-lo. Rob. Maleïda sigui, què vaig fer malament? Molt bé, així que has de tornar a compilar. Així que de nou, errors fàcils de fer d'hora una altra vegada i una altra en. Així que ara torni a executar personalitzat, Rob, entrar i voila. Ara tenim un programa personalitzat. Així que ara tinc un programa que l'ús d'unes poques característiques que són dignes de menció. Un, estic fent servir CS50.h, en cas contrari coneguda com la biblioteca CS50. I a l'interior de la biblioteca CS50 són funcions que altres persones van escriure - és a dir, el personal - per al seu ús, i obtenir cadena és un d'ells. Dins de la línia 2 és stdio.h, i per què és això allà? Prengui una conjectura. El que existeix a l'interior de pares IO estàndard? Printf. Així printf, que no es veu enlloc un altre a la pantalla. Ha de venir amb el equip d'alguna manera. D'on ve? Està dins - es va declarar, per així dir-ho, a l'interior de un arxiu anomenat stdio.h. Ara, per a aquestes coses, anem a tornar per finalment, perquè és una mica distreure per ara. Això es refereix al nostre tipus de canvi. Això es refereix a una discussió. Però per ara, estem enfocats just aquí en aquestes línies. Així nom de la cadena, només per recapitular, ¿Què va fer això per mi? Per tant, declara una variable de tipus cadena. Així que se suposa que ha de ser per a les paraules, no per als nombres. Com a nota a part, si jo volia que sigui un nombre, jo diria alguna cosa així com int. Si volia ser un punt flotant valor, alguna cosa amb un punt decimal, Jo diria flotador. Però per ara, que acabo de dir cadena. I m'he donat aquesta variable un nom de nom, però que vaig poder han cridat res. De fet, en un principi, el vaig trucar S. Això aquí és un altre comunicat. Quants arguments és aquest prendre declaració? Així que és simplement prendre una, i que no és més que un detall estètic de mostrant alguna cosa en la pantalla per a mi. Quina és la línia 8 fent en termes simples? S'està posant un valor de la usuari - és a dir, una cadena - i què fa amb ella? És essencialment lliurar-lo a la noi a la banda esquerra de la signe d'igual manera que en aquest cas, la variable de nom en realitat pot emmagatzemar. I a continuació, printf és una altra instància d'una funció. I diem que cridar a una funció. Per utilitzar una funció és per cridar a una funció. Aquesta cosa aparentment pren dos arguments. Aquest, coma, aquest. Aquest sí que és només una cadena que conté un marcador de posició. % S vol dir posar una altra cadena aquí. I així, posant nom després la mengi, que s'insereix això per a mi. Així que puc fer altres coses encara. Déjame anar endavant ara i fer una mica de programa de ximple, però em deixa esborrar això, i vull crear un bucle. Mentre que és cert. El símbol veritable òbviament sempre serà veritat. Llavors, quin tipus de bucle estic induint en escriure una línia com aquesta? Així que un bucle infinit, no? Així, mentre que és cert. No hi ha manera que pugui canviar la paraula cert que qualsevol altra cosa, així que això és només vaig a córrer per sempre. Així que si alguna vegada s'ha fet amb un programa al teu Mac o PC, que sembla que han tancat, o que està fent alguna cosa i alguna cosa, i només no pot aconseguir el que cal sortir a menys que reiniciar l'ordinador o estireu la Administrador de tasques o similars, aquí hi ha un exemple. Puc dir: "Jo sóc un programa amb errors." Tancar pressupost, prop entre parèntesis, punt i coma. Així que de nou, observi els patrons. Tot i que alguns dels nostres sintaxi és nou, mentre que la paraula clau, la paraula veritable, noto que tinc la mateixa tipus de claus. Tinc un punt i coma i parèntesi. Així que ara seguirem endavant i compilar això. Feu encàrrec, personalitzat. Així que en aquest punt, no cal reiniciar l'aparell, d'acord? Així que la lliçó aquí és fàcil amb dos dits, de control C, deixarem aquest programa. Però vostè pot veure exactament per què aquesta cosa es repeteix una i altra vegada. Puc fer alguna cosa una mica més complex com un reclam. Vaig a seguir endavant i dir el següent. Per int, que és un enter, i és només un nom genèric que donem a la majoria variables en la programació quan estàs simplement comptant, és igual a 0. Deixin-me seguir endavant i dir, mentre que i és, diguem, menys de 100, i plus plus. Anem de nou a aquesta sintaxi, però això significa que només incrementar i una i altra vegada. I què és el que vull fer aquí? Printf, "Puc comptar amb i." Aquest és un programa amb errors. Què és el que realment pretenc aquí? Percentatge no s, però no ho endevinaria això. % D és un nombre enter decimal. Coma i. Deixeu-me rodar cap enrere. Permetin-me ara a compilar amb maquillatge. Permetin-me ara tornar a executar amb el costum. Puc comptar realment maleïda ràpid quan Escric un programa com aquest. Ara farem una cosa una alguna cosa intencional. Què farem això mentre i és més gran que o igual a 0. Què és això provocarà? Lògicament, això no és tan savi, perquè ara si torna a executar això, recompte, Ara puc explicar molt, molt alt. Per desgràcia, gairebé tan alt com pugui recompte és de 4 milions de dòlars, de manera que aquest va a prendre un temps. Llavors, ¿per què no deixem això com la nostra melodrama, amb la promesa que en Dimecres, veurem si Aquest programa es porta a terme. Dos, anem a presentar el que a tu mateix escriure la seva pròpia funció per a aquest mateix ràpidament, el dimecres farem, ja que transició des de zero en C, comença escriure cada vegada més complexa programes que fan molt, molt més que això. Ens veiem llavors. [Aplaudiments] ALTAVEU 1: En el següent CS50, Trencaclosques dia va ser un èxit.