[Reproducció de música] DAVID Malan: Molt bé. Benvingut de nou. Aquesta és CS50, i això és Setmana Un, Continuació. Així que una de les raons per les quals hem estat passant al voltant de tecnologies com Google Glass és que vénen amb una cosa que es coneix com una API, un Interfície de programació d'aplicacions. I el que això significa és que amb la arxius adequats i elegibles documentació, en realitat es pot escriure programari per a dispositius fins i tot com aquests. I així, el que tenim en ment cap semestres final és, si un projecte que implica, per exemple, Google Glass podria apel · lació, ja veurem el que podem fer a termes d'enganxar cap amunt amb una mica de maquinari de préstec, així com la API d'accés públic, perquè pugui realment començar a crear programari que s'executa en el mateix Google Glass. Un altre dispositiu que hem estat jugant en els últims temps que pensem que podria ser diversió al final del semestre és aquesta petita cosa aquí. Es diu Leap Motion, i el que estem a punt de veure és tècnicament un anunci per al dispositiu, però no parlar del que aquest particular, dispositiu és capaç de fer. I és, també, ve amb un API a través d' que es pot escriure programari per controlar la seva pròpia ordinador de manera bastant com aquesta pel · lícula d'un minut aquí. [REPRODUIR VIDEO] [FI REPRODUCCIÓ DE VÍDEO] Així que ara mateix, aquest dispositiu passa a ser implementat com un petit USB connector que es pot connectar al seu ordinador, però no em sorprendria si al poc temps que tenim aquest tipus de tecnologies en el següent lot de PC o Mac, perquè pugui, de fet, interactuar amb ell en una manera així. De fet, el que vaig pensar que ho faria, també, és Vaig acostar una petita demostració programa que ve amb aquest programari. Així que m'he posat el petit sensor davant meu portàtil. I com es pot veure, ja s'adona que la meva mà està aquí controlar-la. I tot el que fa l'aplicació és meravelles petites coses com aquesta. Però es pot veure que, en efecte, Tinc cinc dits allà. Si podem aconseguir que faci en els 10, es pot imaginar un piano net aplicació o similar. Així que si voleu arribar a partir de les classes avui i jugar amb el qual, com així, vostè és agradable. Per tant més que cap a fins del semestre. Així que un parell dels procediments administratius anuncis. Un d'ells, fan part d'aquest divendres al migdia a cs60.net/section. Això URL està en el curs de pàgina d'inici també. En l'interval, però, supersections s'estrenarà aquest diumenge. Supersections són una cosa d'una sola vegada, perquè ens porta una mica de temps per treballar qui està en quina secció i on. Així que diumenge que ve, hi haurà una secció per als menys còmode, una secció per als més còmoda. I aquells de vostès en algun lloc entre els convidem a anar a qualsevol o tots dos o cap. Tots dos seran filmats. Van a estar en un auditori més gran que una secció normalment seria polz Però l'objectiu aquí és per equipar-lo amb una mica de consol amb el problema d'establir una, amb C, amb l'aparell CS50, aquest cap de setmana, fins i tot abans de saber que el seu assignació de la secció oficial. Així coneixeràs la TF i la més petita grup de sectionmates en al voltant temps d'una setmana. Les hores d'oficina, per la seva banda, han estat passant. No prendre avantatge d'ells aquesta nit o demà a la nit si vols. Problema setembre 0 venç el divendres. Aquest és un dia més tard de l' regularment programada dijous. Però amb el conjunt de problemes 1, veurà que inclou algunes d'escalfament exercicis amb els que tu mateix pot ampliar la seva Data límit dijous a divendres. Butlletí de problemes 1, per la seva banda, farà el seu debut a la pàgina web de l'assignatura el proper Divendres, si desitja arraulir amb com ho vaig fer alguna vegada tard Divendres a la nit a la seva habitació. Així cs50.net/appliance és el lloc on vostè pot aconseguir l'aparell CS50 que vam començar a fer servir el dilluns. Utilitzarem una mica més avui. Però tingui la seguretat que el problema 1 setembre especificació us guiarà a través d' exactament els passos que ha de per aconseguir que la marxa i funcionant. Així que no es preocupi per fer-ho abans PSET 1 si vostè preferiria no fer-ho. Està bé. Així que busquem el dilluns al codi font, però en el context d'un nou llenguatge de programació, és a dir, C i C, a diferència d'Scratch, no és gràfica. No és Trencaclosques Pieces. És més Anglès-com sintaxi. I hi ha un parell de passos a seguir en realitat, l'escriptura i l'execució d'un programar en C, ja que a més de font codi com aquest, necessita alguna cosa anomenat un compilador. I en termes simples, el que Què fa un compilador per a nosaltres? Si. Estudiant: Converteix el codi que s'escriu en 0s i 1s. DAVID Malan: Good. Per tant, converteix el codi que ens dirigim a 0s i 1s. Es converteix així anomenat codi font a codi objecte, l'últim dels quals es veu una mica d'alguna cosa com això. I és que la seva CPU, els cervells dins l'equip, que a causa de la persones que van crear aquests equips, saber quines són aquestes seqüències de mitjana 0 i 1. Potser signifiqui impressió. Potser signifiqui addició. Potser signifiqui restar. Potser vol dir mostrar un gràfic. Hi ha patrons predefinits de bits que el món ha decidit dir certes coses. Però en la seva major part en aquest curs, anem a treballar en un nivell superior, i donarem per fet que hi ha coses com els compiladors que poden fer la nostra funció de codi font en la forma en què pretenem. Així que el programa que escrivim primer la setmana passada i després va començar a port, per així parlar, de C, el passat Dilluns, era això. Quan la bandera verda es fa clic, dir hola. Això va ser, per descomptat, escrit en zero. I va afirmar que l'equivalent programa en C es veia una mica alguna cosa com això. Així que el que vaig pensar que ho faríem en un primer moment és, anem a esmicolar el que sembla, en un primer moment vista, sens dubte, la forma més justa arcana sintaxi, però vostè començarà a notar patrons molt ràpidament. El que també farem avui és proporcionar que amb un model mental per a alguns canònica, algunes construccions estàndard en la programació. I després anem a realment a les nostres mans bruta amb alguns exemples, així. Així que per a aquells de vostès més còmode, adonar-se que aquesta setmana i després la següent setmana molt bé pot ser una mica d'opinió. Però, sobretot quan l'edició pirata del conjunt de problemes 1 surt a la Pàgina del curs el divendres, jo crec trobareu que fins i tot quan vostè completa alguns espais en blanc durant la propera setmana o dues, vostè començarà a apropar-se més desafiat i trobada nous i més recents les coses. Així que anem a burlen d'aquest programa, a banda unes poques línies alhora. A la part superior, tenim el que és tècnicament anomenat directiva de preprocessador. Això és només una línia de codi que diu per incloure el contingut d'un arxiu, anomenada I standard / N, entrada estàndard - o, ho sento, E / S estàndard, estàndard d'entrada / sortida,. h, a l'interior del meu propi programa. En altres paraules, si jo vaig escriure aquest programa amb un simple editor de text com gedit, l'equivalent més simple de alguna cosa així com Microsoft Word, que instrucció # include stdio.h, és només vaig a dir que el compilador, pren la contingut d'aquest altre arxiu, stdio.h, i enganxar-los aquí. Ara, per què m'importa? Què va ser el que diem que hi ha dins d'aquest arxiu anomenat stdio.h, que s'emmagatzema en algun lloc del meu disc dur, o en aquest cas, en l'aparell CS50 en algun lloc? Algú el va posar allà per a mi. Però, ¿què hi ha dins? Sí, pel que és una declaració de una funció anomenada printf. Així printf recorda la funció que mostra paraules i caràcters i nombres a la pantalla a les meves ordres. Però jo no el vaig escriure. CS50 no el va escriure. Fa anys algú va escriure, i que bàsicament ens va donar la recepta perquè en un arxiu anomenat stdio.h. Així que la primera línia just em dóna accés a les funcions que una altra persona va escriure fa anys, entre que són printf. Ara, la línia següent que vaig a moure el meu mà, almenys fins la setmana vinent. Però per ara, saber que int main (void) és essencialment l'equivalent d'aquesta peça del trencaclosques groc quan bandera verda clic. El món, fa anys, va decidir que si vostè està escrivint un programa en llenguatge anomenat C, s'inicia el seu programa amb una línia que s'assembla a això. En gairebé una setmana, que farà sentit del que és int, el que és nul · la. Però per ara, només pensar-hi ja que aquesta peça del trencaclosques groc. Ara banda, tenim un claudàtor seguit per l'altra clau de tancament, per dir-ho. I veurem al llarg d'aquests programes en C, així com JavaScript i PHP. I aquests només encapsulen línies relacionades de codi. La clau d'obertura essencialment diu, aquí ve una mica de codi. I la clau de tancament tancat, que és en angle en l'altra direcció, només mitjans, això és tot per el codi corresponent. Així que la sucosa en aquesta primera programa és l'últim, printf, entre cometes, hola món. I vaig trucar a la que hi ha entre cita el que l'última vegada? Així que és una cadena. I una cadena és només l'aficionat a la tecnologia termini per a una seqüència de personatges, una paraula, una frase. Fins i tot una sola carta podria ser el doble de cometes. Però és una seqüència de zero o més caràcters. Backslash-n, però, es veu una mica estrany. Però simplement significava alguna cosa senzilla a l'ordinador. Què hi ha barra invertida-n? Nova línia. Així que això és només la seqüència especial d' personatges que el món ha decidit significa posar un salt de línia just aquí, perquè el compilador aconseguir realment confús, en general, si, molt és comprensible, però de forma incorrecta, tal comença a colpejar Enter per posar noves línies en el seu codi. Has de ser una mica més explícita amb barra invertida-n. I veurem que hi ha alguns altres tals patrons de caràcters especials. Per exemple, si vostè vol que el seu ment vagar a un cas de la cantonada, Suposo que volia imprimir un cometes dobles a la pantalla durant motiu que sigui, això semblaria ser una mica problemàtic, no? Perquè si em poso les cometes en el mitjà de "hola, món", per al que raó, per què sembla que potencialment problemàtic? Es trenca la cadena. El compilador és un programa. Un programa com un compilador només va per llegir el seu codi de dalt a baix, esquerra a dreta. I si veu tres cometes dobles en lloc de dos, no sabrà si et refereixes a que el més a l'esquerra ha de ser la cadena, o el que cal la dreta, o la cosa sencera. És ambigu, per la qual cosa que és un típic compilador fer és s'espanti, i li donarà algun missatge d'error, i fa a bregar amb el problema. Llavors, atès que barra invertida-n significa un nou línia, el que faria amb els seus instints ara començar a ser si volia incloure alguna cosa anòmala com una doble Interior de la cita d'aquesta altra manera esmentat corda? Barra invertida-cometa doble. Així que anem a veure aquest tipus de patró també. Si vols fer alguna cosa una mica estrany, trobareu que la solucions sovint segueixen un patró, i la barra invertida denota una seqüència d'escapament. I només significa una cosa especial que hem de representar en un diferent manera. Pel que fa a com es representa una barra invertida, bé, anem a tornar a això. Però la resposta, també, és en realitat una mica obvi. Així que ara anem a introduir un altre construccions de programació que va veure en zero. Vostè probablement ha pres per fet ja de per si ja has bussejat en problema d'establir 0. Però ara anem a introduir la sintaxi de C per a aquests la resta bastant intuïtiva idees, almenys alguns d'ells. Així que aquesta noció d'una condició o una branca, mentre que anteriorment es representat amb el codi que es veia com aquesta a l'esquerra en Scratch - si x és menor que i, llavors digues - en canvi ara en C - m'ho dius esmolar en en el cas més senzill - estem simplement dirà, si, obriu parèntesi, alguna cosa és cert - 01:00 Expressió booleana es va a anar on he dit estat - parèntesi de tancament, a continuació, fer el que és dins d'aquestes claus. Així que aquí, també, per les claus són una espècie de Scratch Peces d'un trencaclosques en forma de U. Fes el que hi ha dins d'aquestes claus. En aquest cas, Slash Slash. I noti això és un avanç retallar, no una barra invertida. Barra inclinada, barra diagonal, per a aquells que han programat abans, només significa - és només un comentari. Un comentari no és una línia de codi, per se. És una línia d'anglès que vostè, el humana, han escrit a vostè per potser li recordi a fer alguna cosa, explicar a tu mateix, per explicar als altra persona, el que el seu codi està fent. És només un comentari descriptiu. Bé, és clar, podem tenir una de dues vies bifurcació en el camí només per fer això, una tres vies forquilla a la carretera fent això, i si continua aquesta patró, vostè pot tenir quatre vies, cinc vies, forquilles sis bandes a la carretera, si vostè necessita per manejar, de fet, que moltes condicions. I a continuació, observeu el paral · lelisme aquí - if (condició), else if (condició), i l'únic que és una mica rar és l'últim, que És només que més. Però de nou, això és idèntic, conceptualment, al que hem fet ja, tot i que la sintaxi es prendre una mica acostumar. Ara, en aquest exemple, hi ha alguna altra sintaxi estranya. Veiem printf nou parèntesi d'obertura, i parèntesi de tancament. I dins de no una cadena entre cometes. Els parèntesis, en el context de printf, aneu a l'esquerra i el dret de què? Què és el que descrivim citat cadena com més en general? Així que és un argument. Cada vegada que té una funció, com printf, i després un parèntesi obert i un prop parin i alguna cosa dins que, si es tracta d'una cadena, o un sencer o qualsevol altra cosa, la cosa en entre els parèntesis, es diu una discussió. I un argument només influeix El comportament de la funció. En aquest cas, està molt clar com. x