[Musika jotzen] DAVID MALAN: Ondo hau da CS50 eta hau da aste baten amaiera da. Beraz, nire ohia aurkeztu nahi nuke advisee, Andel Duff, nor ez bakarrik egiten iPhone 5 nabarmentzen, baita honek gisa atrila, autoak ere egiten zuen. ANSEL DUFF: Nola joan da, denek? Nahi dut esango apur bat Formula SAE, pixka horietatik I Ni kapitaina. MIT talde bat da. Nahi dut esango dizu mutil horri buruz pixka bat eta, zorionez, interes batzuk sortzeko. Hargatik baten bidez me exekutatu besterik gure taldeak buruz pare bat gauza. Beraz, erabat gaude Ikasle run, dua guztiak kideak diseinuaren, simulatu, proba, eta fabrikatzaileak subsistema autoaren. Egin makina gure denda daukagu eta garajeak, eta N52-- edo barkatu, N51-- zein eraikina bera da MIT Science Museum bezala. Eta gaude jendea duen autoa gidatzeko. Ez dago lehiaketa nazional bat uda hasieran, eta, ondoren, ez dira tiroketa txikiagoa Urte osoan zehar lehiaketetan. Eta gero, gidariak prestatzeko egiten dugu get egun kide berriak ezagutu nahi. Gure eraikitze egun dauden Larunbatetan, 11 eta 8 PM AM. Bazkaria eta afaria zaintzen ari dira ren, Bertucci eta Beantown etatik hurrenez hurren. Astero bilera bat izan dugu, eta mintegi, ikastaro-kreditua da. Zein da seihileko honen berri, eta ere izango da hurrengo seihilekoko izan, beraz, gurutzatu-reg dezakezu horretarako. Eta gero, diseinatu, denda dugu, eta astean zehar CAD egun, kideak independentean egingo da berriz CAD piezak, ordena stock et cetera. Beraz elektrikoetarako taldea at ingeniaritza gure tractive dugu, Tentsio handiko sistema, bertan nominal berean exekutatzen 300 volt, biltzen dituen motorrak, motor kontrolagailu, eta bateria pack. Ondoren txikiko bat dugu Tentsio-sistema, eta exekutatzen 12 volt at, biltzen dituen kontrolak, CAN nodo, burmuinaren kutxa, eta Arbel. Orain arte bezala CS doa, egiten dugu webgunearen mantentze dute ekitaldietarako dugula egin behar, kide aldaketak, argazkiak berria, eta PR material. Eta gero, kontrolatzen kode dugun gure trakzio kontrola, hasierako autoa kontrola, etenaren kontrola, momentua vectoring, eta birsortze balaztatze-sistemak, eta horrek exekutatu normalean MATLAB-en, Simulink, eta LabView. Kontatu duzu autoa pixka bat. Beraz kilo 500 inguru. Arauak 85 kilowatt mugatzen da. 2 EMRAX 207 izandako motor ditu atzera, atzeko gurpila bakoitzeko bat. Neurrira eraikitako bateria pack ditu Prismatic A123 pouch zelula, 300 volt euroko eta 5,6 ordu kilowatt. Eta disko zuzena da 2,64 to 1 disko bat hautatu. Hona hemen argazki batzuk ditugu hura hartu zuten lehiaketan. Hemen da atzera, sudurra kono, eta hona hemen motoreak, disko beltz handi horiek azpian et Gizonezkoen manus du. Hona hemen diapositiba bat dudala bota lehia gure lukete. Eta hori da, besterik gabe, gure autoa alderatuz bati merkatuan eskuragarri dauden auto pare, KTM XBOW, adibidez Ariel Atom, eta Caterha M 7-280. Oraindik prezioa ezagutzen badu, botere tira pisua, dolar zaldi bakoitzeko, momentua bakoitzeko dolar, eta gure autoa kolpeak denak uretatik kanpo. Edozein zalantza izanez dituzu, jot behera helbide elektroniko horretara. Tiro gurekin fsae@mit.edu at email bat. Zoriontsu izateko buruz hitz Gara Ezer gustatuko litzaidake. Harvard ikasle mota daude taldean gutxiengoa. Bada buruzko zalantzarik izanez mesedez egin tiro iezaguzu mezu elektroniko bat, zoriontsu, hitz egiteko eta noa David baino gehiago atzera buru. Eskerrik asko. Eskertzen dut, guys. [Txaloak] DAVID MALAN: Ansel igaro udan Hemen gurekin lan campusean CS50 uda honetan. Eta lanean ez ezik bonbillak bitar bezala gauzak, benetan benetan ireki zuen gure eyes-- eta particular-- nirea benetan zer elkargunean to Hardware eta software ezin izan. Izan ere, gauza asko egin zuen, besterik gabe, birak dira bidez dituzu, azken finean, Lehenengo software sortu, eta, ondoren, azken finean MENDAZA hardwarean mundu erreala. Beraz, interesa izanez gero elkargunean duten aztertuz, agian hartzen dute talde hori. Orain berriz, zuk horiek duten teknologia zale dira, eta Apple produktu bereziki jakin han pare bat izan ziren deialdiak atzo. Baina litzaidake erakutsiko dugu pentsatu dugu etorri dira bat duzu egun batzuk lehenago ere agian ez ikusi duzu. JORGEN EGHAMMER: Badakizu, awhile zerbait behin hori batera dator Bidean bizi gara aldatzen. Gailu bat hain sinplea eta intuitiboa ez ezazu erabili sentitzen ia ezagutzen. 2015 IKEA katalogoa aurkeztu. Ez da liburu digital bat edo e-liburu bat, liburu-liburu bat da. Gogoratu behar den lehen gauza da, ez kableak, ezta power kable bat. The 2015 IKEA katalogoa dator guztiz kargatuta, eta bateria bizitza da betiko. Interfazea 7,5 8 hazbeteko da, baina 15era handitu daiteke 8 hazbeteko. Nabigazioa dago ukimenezko touch oinarritzen teknologia benetan sentitu ahal izango duzula. Eduki dator aurrez instalatutako 328 bereizmen handiko orriak bidez etxeko altzariak ideia iradokitzaile. Arakatzen hasteko, besterik gabe, ukitu eta arrastatu. Eskuin aurrera egiteko geratzen den, Ezkerretik eskuinera atzera. Ohartu, beste zerbait? Hori da. Lag No. Kristal orrialde bakoitzak argi karga-batean, ez du axola nola azkar mugitu. Ikuspegi orokor bat lortu nahi baduzu, besterik gabe eutsi zure esku ahurrean ere, eta besterik ez duzu zure thumb erabilita, abiadura edukiak arakatzeko. Zerbait aurkitzen baduzu gorde nahi duzun geroago, besterik gabe, ahal izango duzu laster marka da. Eta aplikazioa itxi bada ere, erraz bookmark aurki daitezke berriro. Amazing. [Barreak] [Txaloak] Beraz, horrek ekartzen digu Aste baten amaiera. Gutxi iragarkiak orain. Beraz, zatitze, gaur egun ari gara. URL hau hemen noizbait joan orain eta ostiral eguerdian arteko benetan zehazten duzun ala ez dira horiek gutxiago erosoa artean, gehiago eroso, edo nonbait artean. Hau da, normalean horietakoa Mota besterik ezagutzen duzun gauza. Eta hain zuzen ere dutenek ez dira hain eroso seguruenik ezagutzen eta gehien, duzuenontzat gehiago dira eroso jakin eta gehien, eta ez zara oso ziur berriro bada bertan kuboak horiek erori bazara sartu nonbaitetik artean. Baina gainerako ziurtaturik aldatu ahal izango duzu Aste pare baten ondoren premia bada. Bien bitartean, datorren asterako ez dugu per se atal hasteko, baina super atal, ikasle guztiei irekita daude. Igande honetan datozen kokapena berean ikastaroan webgunearen bidez iragarriko bata izango dugu horiek gutxiago erosoa, baita bata horiek erosoagoa. Eta nonbait artean horiek bi horiek eta horrek aukera dezake, edo biak Nahi izanez gero, eseri-en gainean. Eta horiek bideratzen C an, azken finean, izango da, bertan jarraituko dugu gure Gaurtik elkarrizketa. Arazoa multzo 0 bestalde da Zure eskuetan, zorionez. Ofizialki bihar ondorioz, Osteguna, eguerdian. Eskudiruzko baduzu behintzat, inork zure 5 egun berandu, horrek ekarriko luke ostiralera arte eguerdian. Arazo 1 Bitartean izango da ikastaroaren web orrian argitaratu. Eta hau da gure lehen izango da foray klase bat C. sartu bezain Eta arazo multzo zehaztapenak duten dizu zer mekanika asko baten bidez buruz hitz egiten hasi dugu, astelehena, eta gaur egun buruz hitz egiten jarraituko dugu. C, Linux, CS50 tresnaren, hori guztia zain izango zehaztapen. Bulegoko ordutegia bere aldetik egiten ari dira, graduko jantokia ere. URL honen buru hemen ikusteko Gaur gauean eta bihar antolatzeko, to partake nahi baduzu. Galderak bere aldetik, duzu, beraz, Aukera-galderak egin behar dituzte asinkronikoki, 24x7, konturatzen ari zaren Ez atal eta bulego mugatuta ordu, baizik eta tresna honek hemen, CS50 URL hartan eztabaidatzea Ikastaro horrek online izango da foro software, eta horrek bidezko of galderak egin ditzakezu ikaskideekin eta, gainera, langileek. Beraz, kontuan hartu baliabidea baita. Bien bitartean, tradizio bat Ostiral honetan hasiko da. Baliteke ñirñirraz dute As azken asteazkeneko bideo teaser, tradizio bat dugu gehien ostiralero epe bitartean batzuk 50 ikasle hartu eta izeneko jatetxe tokiko bati langileak Fire eta Ice, zein unetan gaude normalean ohien batzuk fitxatu industria edo lagunak orokorrean lortu nahi egiteko klase handi bat txikiago sentitzen. Beraz, erabat casual bazkari bat da. Gurekin sorta, langileek batez ere, musika aulkiak jokatuko dute eta ikasleei berriketan 50, 50 kanpo bizitza, etorkizunean bizitza, mundu errealean, Lan-aukerak buruz ari naiz Industrian lagunekin. Beraz, bada, guri sartu nahi al duzu Ostiral honetan, URL honen buru hemen. Espazioa mugatua da, baina hau egin dugu recurringly epe osoan zehar. Buru ez den cs50.harvard.edu/rsvp. Eta ez baduzu lortzen diren oraingoan, ez kezkatu. Berriro egin beharko dugu ere Datozen asteetan ere bai. Beraz, hau irudi da azken astean margotu dugu, eta ziurrenik duzun izan da beraz, orain arte dabbling. Baina saia gaitezen orain hau konektatzeko zer ari gara gaur egin da joan den eta aurrerantzean. Ezin boluntario bat behar dut? Ondo da, edo batzuk. Zelan buruzko amaieran, alkandora urdinez. Goazen sortu, zer da zure izena? Alaña: Alana. DAVID MALAN: Alana. Beraz, Alaña, besterik bat une zuk erantzuteko polita da papera joan funtzio hau hemen. Purple bloke dugu beraz, orain arte funtzio bat deitzen. Beraz, zer joan noa Hemen aurrera eta eskaini Alana apur bat izen-etiketa da, egiteko argi zer rol jolasten ari zaren. Beraz, esan blokea izanen duzu. Aurretik joan eta jartzen duten nahi baduzu. Eta goaz mantentzeko honetan super simple. Esku helburua da, besterik gabe, bada orain arte Alana batera ezartzeko, hau deiturikoak esan bloke, hona hemen nola da lanera joan. Have-- deitu utzi dut argumentu bat edo parametroa, Benetan da bakarrik paper-orri zuri bat. Eta zuri ere, mota horretako izango gogorarazten kutxa zuri zein sartu duzu hitzak idazteko. Bien bitartean, naiz hemen joan behar da. Aurretik joan naiz eta idatzi H-E-L-L-O koma munduan. Eta orain, esan bezala programatzailea, ez benetan jakin nola zerbait esateko. Etorri naiz, hitzekin, baina ez dut zertan Badakizu nola neure burua adierazteko hitzez edo pantailan. Eta beraz, zer noa egin behar da pieza hau hartu Funtzionalitatea, zeinen sarrera of edo argudioa, ikusiko dugun bezala deitu, Paper-- pieza hau idatzi dudan eta naiz azpikontratatzeko noa. Eta hain zuzen ere, duten eginkizuna dela programazio hizkuntza batean funtzioak jolastu daiteke. Esan antzeko zerbait Bloke azpikontratatutako daiteke norbait benetan badaki zer zuen edo zuen buruz hitz egiten da. Beraz, zuk zapaldu baino gehiago bada egingo hemen une bat besterik ez, Sarrera hau gainditzeko dut Alaña, eta galdetu sarrera hau esan duzu. Alaña: Kaixo, mundua. DAVID MALAN: Hori da. Beraz, ez dago funtzio bat da. Orain pixka bat gehiago hartu ahal izango dugu, urrats bat hartu ahal izango dugu aurrera hemen. Duten underwhelming entzat delako. Hargatik bihurtzeko en orain honetara zerbait apur bat sofistikatuagoa. Beraz, ikastaro honetan, gure C bertsioa da. Beraz, orain dela hartu nahi baduzu off bat, izen-etiketa duten off, eta egin ditzagun izen berri bat jarri duzu. Baina funtsean Oraindik funtzio berarekin jolasten, beraz, besterik ez da gertatzen egon printf izeneko orain. Istorioa da, noski, ziurrenik jolasten joan besterik underwhelming-- dagoen bezala joan honako hau izan behar du. Dira orain zara funtzioa printf du. Naiz deitzaileari, edo programatzaile, nork nahi du to sorbaldak nabarmentzen Zu bezalako iraganean pertsonak, que ya hurrena zer-nolako benetan zerbait idatzi. Eta, beraz, une honetan, esan beharrean utzi bere benetan erabili gure pantaila hemen. Beraz, zapaldu nahi izanez gero hemen baino gehiago, noa Berriro hau gainditzeko moduan nire printf lagunari sarrera. Duzu aurretik joan balute eta inprimatu pantailan, Besterik gabe, marrazten arabera zure Pantaila beltza hatz. Bikain. Ondo da, suspense asko, beraz, nola duten out play zen joan. Beraz, gaur egun dezagun gauzak hartzen dute bat final Notch, ahal izango banu, honako hau. Beraz, hau C programa bat da, Azken aldiz, esan dugun bezala. Eta hori besterik ez, zer egin duzu, bistaratzen du pantaila, kaixo, munduan. Nahiz eta ez dago argi asko of distracting gauzak han. Baina dezagun gauzak hartu Notch bat eta Bertsio honetan aurkeztu, gogora ekarri eta horrek Hirugarren bertsio zela bukatu dugu azken denborarekin. Eta orain ez dago argi bi printf erabilerak. Ez da 2 Alana egindako deiak Kasu honetan printf egiteko, baina ez da ere dei bat Funtzio bestera. Zein da funtzio hori argi eta garbi? GetString. Ezin boluntario bat gehiago lortuko dugu? OK, goazen gora. Zein da zure izena? JAVIER: Javier. DAVID MALAN: Javier, goazen gora. Beraz, Javier paperari da paper zati honetan. Zein naiz oro deitu s joan. Orain honen aldagai bat da, ez da mota katea inplikatzen gisa erditik, han bigarren lerro horren arabera. Eta nahi nuke joan nahi duzun get me kate bat. Zehazki buru orkestra behera atalean eta get me norbaitek izena, eta itzuli aldagai batekin balio hori duten. Nahi duzun edonork izan daiteke. Hemen gara. Ondo da, Javier da idazten duten izena. Guztiak eskubidea. Guztiak ezin dugu seguruenik asmatzen nola hau da play. Ari agian belaboring dugu puntuan zer funtzio bat egiten ari da, baina hala ere, eskerrik asko. Beraz, Javier kate hau itzuli du hemen, eta horrek, ezin nahiko ikusten, Jonathan katea da duten ahaztuak dugu. Beraz, orain zer benetan noa nahiz eta Alana emateko Zerbait ezberdina da. Zeren bertsio honetan programa, lehen ez adierazi zure izena da. Beraz, lehen argumentu Alana eman behar dut izango da batera hitzez hitz adierazi zure izena. Ondo da, beraz, sinplea bezain Hau entregatu nuke zurekin. Eta gora idatzi nuen bezala hurrengo argumentu, baduzu Aurretik joan eta idatzi hau nahi taula gainean, dezagun aurrera eta egin da azken adibidea hemen egin argi zer azken finean lortu gertatuko. Beraz, adierazi zure izena, idatzi ezazu goiko aldera ez baduzu axola, besterik ez da, beraz, Bigarren lerro bat gela dugu. Noa azken gauza delako Honekin ez da bat, orain ematen duzu, baina bi paper zatiak. Guztiak eskubidea. H-E-L-L-O koma eta, ondoren, lerro zuri bat. Beraz, zer Alana entregatu orain naiz Zerbait ezberdina da. Ez bakarrik hau lortzeko zuen, non hutsik bete adierazten hori zer izan zen percent-- placeholder dira erabiltzen dugu? Bai, beraz, ehuneko s. Bien bitartean, naiz pasatzen joatea bigarren argumentu bat, bere zein hain zuzen, zer Javier da Jonathan berreskuratu. Hargatik didazu bi horiek. Nahi baduzu, joan aurretik eta inprimatzeko duten efektua. Zer ari da gertatzen, azken finean, orain dela, Alaña berriro printf rola jotzen da. Javier jolasten zuten GetString rola. Beraz, zure oroigarri izango da. Eta azken finean, zer da, gertatzen ari den arren hau kaixo bai aurrera eta koma. Alaña: Ba hori jaso dut oraindik ala ez? DAVID MALAN: Bai, zuk Jasotako biak aldi berean. Beraz, ideia duzu dela orain orrialde irauli ahal bigarrena kudeatzeko bi sarrera horiek. Beraz, hau da bakarrik etxeko Hammer puntu horretan berriz Alana exekutatu lerro berde hau hemen, eta, ondoren, Javier egin hau bat guretzat eta niri zerbait itzultzeko s deitu dugu, baina benetan izan zen besterik gabe, bere propioa paper zati hori. Eta orain Alana hirugarren lerro hau egin du. Eta hori guztia, nahiz eta itxura beraz, oso críptica agian Lehen begiratuan, benetan Gisa duten bezain sinplea da. Inguruan Sarrerek pasatuz, irteerak, bai, Ari fisikoki entregatu back zerbait, edo bigarren mailako honen antzeko efektua ikustea. Zerbait ikusmen pantailan idatzita. Beraz, dezagun aurrera eta eskerrik Alaña eta Javier, nor izan zen hemen, aldeko Gurekin batu hemen. [Txaloak] Beraz, gaur egun dezagun emandako besterik ez nola erraza hori guztia egongo den. Eta utzi jarraitzeko benetan benetako kodea ere zerbait egin. Beraz, pantaila hemen sortu screenshot bat da CS50 tresnaren deiturikoak. Eta izan al duzu, nahi izanez gero, gisa 2:00 PM Asteazken arratsaldean, Lagun batzuk azaltzeko zer CS50-tresna da, litzateke nola esaldi batean definituko zenuke? Edozein iruzkin egin? Bai? Ikaslea: programa bat bezalakoa da guztion ordenagailuan egiten sistema bera exekutatu. DAVID MALAN: Ongi! Guztion aukera ematen duen programa bat da sistema berean exekutatu ordenagailuan. Zure izena moduko It eragile baten kopia hori gertatzen den sistema egon Ubuntu Linux izenekoa. Eta eraginkortasunez exekutatzen da barrutik zure Mac edo PC kabuz leiho bat, beraz, modu honetan, eskuineko atea Aste 1, denok hemen klasean Tresna bera sarbidea du, konfigurazio bera, eta ez dago ikasteko kurba espezifikoa Mac bat edo bereziki PC bat. Orain ireki dugu, CS50 barrua tresnaren astelehenean, programa hau hemen. Gedit deitu behar da gertatzen da. Baina hori benetan besterik editore grafiko bat. Notepad edo Testua antzeko zerbait da Windows edo Mac OS editatu hurrenez hurren. Eta ez dagoela benetan zirela proposatu dut Hiru pantaila honen zati garrantzitsua. Goiko aldea da non duzu Zure kodea idatzi litzateke. Eta hori da, non zati handi bat eman dugu gure Astelehena en hitzaldia hiru adibide. Hondoan zer deitzen dugu, leiho beltz hau, bai? Ikaslea: Konpiladore? DAVID MALAN: Konpiladore dugu leiho horren bidez eskuratzen dira. Baina oro har. Bai, terminal-leiho bat besterik ez zen. Hau adin epe zahar bat da, besterik gabe, deskribatzen funtsean, keinukariak batean gonbita, urte duela erabiliak izateko horiek CRT style big monitore bat. Baina gaur egun sort da software ere birtualak. Eta terminal leihoetan Dezagun komando idatzi digu. Moduko erraztua bertsio ditu erabiltzaile-interfazea edo UI-ko. Ez da grafiko bat da Erabiltzaile interfaze edo GUI, testuan oinarritutako interfaze bat da edo testu interfaze bat. Eta hain zuzen ere hori da, azken finean, Kode batzuk idatzi nahi izan dut. Zait, nahiz idatzizko Behin izan kodea batzuk, gogoratzen komando hau erabiltzen dut. Eta hori izen gisa motatako iradokitzen du, hau aukera ematen du bat egin zidan Kaixo izeneko programa. Baina zer zen benetan egiten ari da? Beno make hartzen nire sarrera, nire iturburu-kodea, eta bihurtzeko zer egin, azken finean? Objektu kodea. Eta objektu-kode fancy bat besterik ez da zeroen eta bai esaten modu. Eta gero, behin nahi dut objektu-kode hori exekutatzeko, behin sarrera horiek bezala gainditu nahi nuen zeroen eta bai nire ordenagailuan sartu garuna, CPU deiturikoak edo prozesatzeko unitate zentrala, Programa exekutatu behar izan nuen. Baina ez zen nahiko astelehenean sinple bat gisa besterik bikoitza ikono batzuk klik eginez. Zer ordez zuen izan dut Programa bat exekutatu egin? Zein izan zen bigarren komando hori? Entzumena dut barrak apur bat? Bai, bai? Ikaslea: dot barra eta programaren izena. DAVID MALAN: Zehazki. Dot barra eta programaren izena. Orain zer esan nahi zuen horrek? Beno dot modu arcane bat besterik ez da uneko direktorioa esaten. Whatever karpeta zara dagoenean gisa erreferentziatutako, dot gisa irudikatzen da. Barra besterik ez da zer ikusi duzun Mac OS eta Windows urtez ere, direktorioa artean bereizlea da edo karpetak eta izen batzuk osorako. Windows In joan gertatzen da atzeraka, Linux eta Mac-en OS aurreraka joan gertatzen da. Baina besterik banatzailea da, eta beraz, berau da bat izanarren sintaktikoa Xehetasun besterik. Jakina zati mamitsuena hauxe da: programaren izena, Hello. Eta hori da egin gurekin sortu da. Fitxategi hori outputted da guretzat. Baina, nola iritsi gara puntu horretan? Let galdetu en orain galdera, zer izan zen benetan hemen, behintzat dituzten Sintaxia hau batzuk dagokionez? Esaldi bat edo, beraz, beraz, nola kanpoan azaldu genuen Lehenengo linea honek, hori nabarmendu berdea? Zein izan zen lehen linea hori egiten, nire programaren baitan? Bai? Ikaslea: [INAUDIBLE]. DAVID MALAN: berriro esan nahi du? Ikaslea: barne eta deskargatzea Iraganean funtzioak [INAUDIBLE]. DAVID MALAN: Ongi. Barne, ez dut esango , deskargatzen baina demagun funtzioak barne duten pertsonen iraganean idatzita. Eta funtzio horiek burutzen dira Nire ordenagailuan nonbait. Norbaitek fitxategi batera idatzi Duela urte, eta hori fitxategia nonbait CS50 barrua tresnaren, edo nire disko gogorrean oro har. Eta, beraz, lerro hau da, funtsean, esaten, go fitxategia, I standard / O dot hori aurkitu h, eta kopia eta bere edukia itsatsi hementxe nire fitxategia goialdean dagoen beraz, dut ez dutela behar egiten duten eskuz neuk. Eta barrutik juiciest piezen artean fitxategi hori aldarrikatu genuen zer funtzioa? Zer funtzio zuen izendatu zuten esaten dugu edo I standard / O dot h aipatu ziurrenik? Printf, ezta? Guk ez dugu idatzi printf an Astelehena, existitu besterik ez da. Much like Alana besterik ez dugunik etapa eta zuen gora besterik existitu eta bazekien nola marraztu zerbait pantailan, beraz, ez du printf urte askotan existitzen. Eta, beraz, hau da, nola sartzen gara. Orain mugitzen dugu hemen, nagusia zen analogo dugu puzzle pieza esan berdea Ez klik egindakoan izeneko Scratch munduan. Sort besterik ez da izen lehenetsi duten gizakiak adierazten litzateke erabaki lehenetsira sarrera puntua programa bat da. Programazio kode zatia exekutatu da lehenengo. Bien bitartean giltza kizkur horiek dira motatako kurbatuak forma bezala horiek horia scratch pieza asko. Motatako enkapsulatu dute osotasunean jarraibide sorta elkarrekin. Beraz, besterik gabe mota lotzen elkarrekin erlazionatutako funtzionalitate batzuk. jakina printf funtzioa bat da, bistaratzen pantailan, egin genuen bezalaxe. Zer parentesi horiei buruz? Nola nahi dut, nahiz eta define duzu inoiz aurretik programatutako da, baina besterik ez da oinarritzen Hemendik bat handituz zorionez, intuizioa, zer dira guretzat egiten parentesi hemen? Edo zer dira inguratzen? Bai? Ikaslea: Ari dira esaten zer zu to printf inprimatu. DAVID MALAN: Bai, esaten ari dira zer zu to printf inprimatu. Edo gehiago, oro har, dira funtzio inputak inguratzen. Beraz, ia uste dezakezu Parentesi horiek metal bezala ari, arbela honetan clip. It zer ari eusten, da zer da argudioak emateko erabili behar den funtzioa, eta bertan sartu Kasu honetan printf deritzo. Beraz, oro har, ia edozein denboraren funtzio bat deitzen dugu, bikotea parentesi bat ikusiko ditugu. Agian zerbait, bezala, gaur egun, agian, ezer ez. Baina hori non jarri nahi duzun Sarrerek edo argumentuak llamado funtzio bat. Hona hemen, besteak beste, argudio bat da. Azpimarratu dut dena komatxo artean, bihurtzen da delako izeneko hizkuntza honetan C, noiz bat irudikatu nahi duzun kate duen hitz bat edo esaldi bat da edo are paragraph-- bat izan behar duzu inguratzen komatxoen. Komatxorik ez single, komatxo. Eta hori da zehazki hemen zer egin dut. Bitartean ez dago funky bat Azkenean han aldera ikurra. The backslash n. Zer irudikatzen duen esan genezake? Bai? Ikaslea: Lerro berri bat. DAVID MALAN: lerro berria. Eskuin, ez duzu oro har, sakatu Sartu denean Programaren nahi duzu txu lerro berri bat. Baizik eta esplizituki esango dizu Pieza admittedly arcane honekin sintaxia, backslash n, que Joaten linea berri bat nahi duzun. Azkenik puntu eta koma. Ez benetan hitz egin dugu gehiegi honi buruz askoz, eta urrun by honek zenbait bane izango da zure existentzia lehen arazoa of ezarri denean huts egin besterik ez duzu konturatzen zerbait ergelak gisa ahaztuta dituzun puntu eta koma bezala. Eta, oro har jarriz arazo hori ez berregiten du. Baina zer egiten ari Gurekin, esango zenuke? Ikaslea: [INAUDIBLE]. DAVID MALAN: Barkatu? Ikaslea: [INAUDIBLE]. DAVID MALAN: Amaitzen adierazpen bat. Sort da at aldian bezala English esaldi baten amaiera, Hizkuntza honetan, berriz, C-ren adierazpen batean bukatzen da. Programazio-agindu bat dagoela esan nahi besterik ez duzu kodea, Hau egiten dut. Orain konturatu zen bakarra hemen. Beraz, ez baduzu nahi ere iritsi jarriz puntu eta ohitura parentesi itxia bakoitzaren ondoren. Esate baterako, ez dago bat ere ez hurrengo, gal eta zaitugu itzuli etorkizunean zer void esan nahi du. Baina kasu honetan, zure printf da funtzioa, edo erabiltzen ari den adierazpen bat, eta, beraz, nahi duten, nahi dugun haren bukaeran, terminus. Eta nik nahita C. Eta biltzea naiz Egia C, C ++ bezalako hizkuntza asko, Java, Javascript, eta edozein zenbaki beste hizkuntza horiek asko dute sintaktikoa xehetasunak moduko. Oraindik berria bada, zalantzarik gabe, That programazio benetan bidaia dezakezu gora. Eta egingo du, markatzen duzunean nire hitzak, batzuk izango esperientzia hori izan bulego orduetan edo berandu gauez batzuetan p-set, non lantzen ari Zure madarikatua programa besterik ez ditu jasotzen, ez du korrika egin, duzu zer gertatzen da, ez daki, erabat badirudi logikoki duzu zuzena. Eta ahaztu duzu delako kolpatzeko antzeko zerbait lerro batzuk amaieran puntu eta koma. Baina horiek gauza mota ari zaren berehala ikasten ikusi. Eta hain zuzen ere, horiek dira gauzak CA horrek eta TF duten sido ikusi Ordena entrenatu Zu baino askoz azkarrago. Eta, beraz, hori baino ez da, esan duzun bezala, Arazo sartu dive ezarri 1 batez ere, ez naiz gauzak honek egindako zapuztu. Ordena acclimate Behin munduan, zuk Hasteko gauzak ikusteko agian ez duzu Lehen begiratuan ikusten lehen aste honetan. Beraz, iturburu-kodea horrelako zerbait da. Pasatzeko sartu nahi dugu konpiladoreak deiturikoak. Eta konpiladore duten bezala irteera ematen du, esan dugun objektu-kode gisa ezaguna, zero eta deiturikoak. Baina hortik aurrera, zer ematen digu? Beno digu eredu horiek ematen dio. Eta berriro, zure ordenagailuan, Zure Intel barruan, eredu horiek ulertzen zeroen eta bai. Eta batzuetan eredua zenbaki hamartar benetako bat adierazten azken astean ikusi genuen bezala, batzuetan gutun bat adierazten da bezala, azken astean ikusi genuen, batzuetan agindu bat ordezkatzen du, Zerbait pantaila inprimatzeko bezala. Beraz instance-- for printf baizik eta, let me atzeratzean. Izan gara ematen ari da zeroen eta bai horiek direla komandoa make honek sortzen. Baina marka ez da konpiladore bat. Egin ez da gauza erdian duten zeroen eta bai ekoizten ari da. Baizik egiteko besterik ez da oso eroso bat programa izeneko horren helburua bizitzan funtsean irudikatu Zure programa nola konpilatu. Eta erabiltzen dugu horietan Lehenengo asteetan delako, besterik gabe, arazoak asko aurrezten digu. Baina, zer egin benetan denean konpilatu duzu kaixo egiten, da, azken aldiz esan dugun bezala, ez da zure disko gogorrean bila edo uneko karpetan, for fitxategia zer deitu, itxuraz? Hello.c, ezta? Hori besterik ez konbentzio bat mota da. It arbitrarioa da, baina horrela dira gauzak hemen. Egin, duzun zehaztu besterik ez bada izenarekin duten oraindik ez baitago halako programa bat, ez da eta iturburu-kodea bila joan fitxategi batean lehenetsita hello.c esan nahi du. Eta hori aurkitzen badio, handia. Honez iturri bihurtzeko joan Objektu duzu kodea sartu kodea. Baina hit dut aldi bakoitzean Idatzi kaixo exekutatzen ondoren, egin azken aldiz bat ikusteko gogorarazten duzu nahiko luzea eta críptica sekuentzia beste letrak zuri eta pantailako pertsonaiak? Beno, hori benetako komandoa zen, benetako konpilatzailea, abiarazi zen. Beraz, benetako konpilatzailea erabili dugu gehien seihilekoan clang zerbait deitzen da. Batzuk izan bide Visual Studio aurretik, edo GCC, edo beste edozein Konpilatzaileak kopurua. Clang erabiliko dugu. Eta clang esker benetan bihurtzeko gurekin iturri kodea duten objektu kodea. Zer esan nahi du honek benetan praktikan esan nahi du? Beno utzi me go bat sartu Nire karpetak azken aldiz. CS50 tresnaren barruan. Eta utzi aurretik joan eta sortzeko honetan fitxategi bera, besteak beste, I / O dot h estandarra. Int hutsune nagusia. Eta berriro itzuliko gara etorkizun gisa zer int esan nahi du eta zer bitarteko hutsunea. Baina orain egin dezagun kaixo mundua backslash n, besterik ez genuen taula gainean. Let hello.c izeneko fitxategi hau gorde me. Eta orain hau konpilatu nahi badut Could-- gerturatzeko me in-- run utzi dut kaixo idatzi. Eta izan zen hau berriro Oso críptica lerro hori. Baina hitza gaur egun bat, gutxienez, ziurrenik joango duzu. Clang lerro horren aurretik ikusi da. Orain, beste gauza asko egiten dugu Egia hori gure eskuetan olatuen dugu gaur egun honetarako. Baina bada azpimultzo batzuk bat da, Hemen agertzen diren pertsonaia batzuk igaro interesgarriak dira. Baina noa aurrera eta hau egin dut. Lehenengo korrika noa kaixo, besterik frogatu hori astelehena izan zen bezala ari da lanean. Baina orain ez naiz programan ezabatu behar. Eta izan genuen askoz like horiek izen laburra azken aldiz, ezabatzeko komandoa Zerbait rm da, kendu, sartu. Batzuk lortzeko ari zara Nahiko críptica galdera. Uste gogorra dela egin dezakezu Galdera honi gogor nahiz ulertzeko. Baina kendu erregularra fitxategia kaixo besterik bitartez egiten ezabatu kaixo nahi duzu. Eta aurrera I eta idazten y para bai, Sartu, eta orain desagertu egin da. Zer esan nahi du orain, Nire pantaila garbitu badut, da beharrean dagoela egin kaixo zara dakit zer, dut hau ona. Konpiladoreak neuk korrika noa. Ez dut programa batzuk behar irudikatu nire fitxategia zer deritzo. Hello.c idatzi nuen, dut zer deitzen jakin, Argi Idazten gai naiz. Beraz, aurrera noa joan Eta Clang ez hello.c Sartu. Badirudi lan egiteko. Eta badira irteera osagarriak ez da, Clang konpiladorea delako. It zer ari bihurtzeko egin iturri zeroen eta bai kodea. Beraz, gaur egun ez dut dot bada barra kaixo Sartu, hm. Gaur error New mezua. Beraz bash besterik izena da Idazteko erabiltzen ari gara gonbita keinukariak. Hori oversimplification gordina da, baina oraingoz hori da dena, hau da, keinu gonbita da. Eta horregatik gurekin ari da garrasika. Ez dago horrelako fitxategi edo direktorioa da apur bat gehiago zuzenean. Baina ziur aski, objektu-kode hori egin nuen. Baina harrapatzen da, hau idazten dudanean komandoa bada honen edukia zerrendatzeko gida, hau da, zer? zerrenda ls. Stuff sorta bat, hemen ere, horietako batzuk aparatuaren zetorren, Nire Mahaigainaren karpeta, deskargak bezala karpeta, Dropbox karpeta, eta guztiak gauza dela. Baina zer da interesgarria hello.c da, eta horrek Duela momentu bat sortu dut gedit. Eta zer da weirdest bila-izena hemen, ez agian garela ikusteko azken aldia guztietan? a.out, ezta? Beraz, egun atzera, it besterik erabaki zen orduan programa bat konpilatzeko lehen aldiz, eta ez duzun izena zehaztu fitxategi baten, dezagun bat deitzeko. Eta a.out besterik esan hau izan zen konpiladoreak irteera. Beraz, programa bat izen bat izugarria da. Baina logika horren arabera, sakabanatutako for idatzibarrarik uneko direktorioa, barra a.out, esan behar da, ez da hain zuzen ere nire kaixo mundu programa. Orain pixka bat berotzeko ariketa, gehiegi. Hau izenez aldatu nahi badut fitxategia, bihurtzen dituzun Fitxategi bat mugitzeko izen batetik bestera. Beraz mv a.out, eta, ondoren, I deitu ahal kaixo Sartu. Beraz, hau Linux komando bat da. DOS duela urte hau izan, Windows terminal-leiho bat dauka itxura Nolabaiteko hau, Linux eta Mac bezalako ordenagailuak keinuka galdera hau egin behar. Nahiz eta gurekin gehienak ziurrenik Gutxitan, inoiz bada, erabili ezazu. Baina zer egin dut korrika batean programa, eta izen hori mv, eta nik emandako nintzen berarekin bi argumentu, nolabait esateko. Bi sarrera. a.out jatorrizko izena da. Kaixo izen berria da. Nik ere orain bada dot barra kaixo, Sartu, existitzen dela. Eta egin nuen dot barra a.out bada, zer egin behar dut espero duzu? Bash, horrelako fitxategi edo direktorioa ez. Taldeari izena aldatu besterik ez dut delako. Hau hain ohitu apur bat hartzen. Baina arazoa ezarri 1 zehaztapenak benetan eutsi eskua bidez minutae hau batzuk. Hau da, oso bat delako distrazio intelektuala interesgarriagoa batetik esku artean ideiak, eta horrek da, benetan sortzen Zerbait kodea daudelarik. Baina egin dezagun aldaketa bat utzi orain programa hau. Gogoratu denbora hori joan den zerbait egin nuen Hau atsegin, printf adierazi zure izena. Eta hain zuzen ere, besterik gabe, egin dugu hau pantaila handian, han ibiltzen baita. Eta gero, katea s lortzen egin nuen Paren, itxi paren GetString. Eta paren Besterik ez da azkarra parentesi idazkera. Beraz, ez da hartu GetString edozein argumentuak? No Sarrerek ez, baina parentesi behar du, hori delako zer demarcates funtzio bat deituz. Beraz, aurrera noa eta saiatu joan exekutatu programa horretako konpiladore orain. Clang hello.c, nuelako ez zuen bere izena aldatu oraingoz. Eta akatsak sorta bat lortu nuen. Dezagun zooma hemen. Gora dut berriz ere bada, azken aldian bezala, esan nion, Lehenengo, error berera azken aldiz lortu dut. Linea 6 hello.c of On izan nuen bat identifikatzaile undeclared katea, zuen estandar esan nahi dut? Ez nuen. Dute egiten zer akats delako honetan I programa, gogoratzen duzu azken aldiz bada? Bai, egin behar dugu deiturikoak prestakuntza gurpilak besterik ez dugu aste batzuk erabiltzen duten. Baina hori ere zehaztu behar dut, nonbait tresnaren barruan, idatzi dugun fitxategia da besterik gabe, duela urte batzuk. Horietatik Inside dira funtzioak bezalako itxuraz GetString. Beraz, orain atzera behera joan I izanez gero, Handiagotzeko, eta berriro exekutatu Clang hello.c. Malditos, error beste. Hau baino lehen Baina ez dugu ikusten. Hau da, apur bat gehiago esoterikoak irudikatu. Baina hori da, nahita pantailan, istorio hau kontatu nahi dugulako. Noiz hello.c konpilatu duzu, bezain Argazkia proposatu aurretik, zu bakarrik duten bihurtzeko iturri zeroen eta bai kodea. Orain CS50 langileek duela urte batzuk idatzi CS50.h, eta dagokion fitxategi batean, CS50.c. Eta orain dela urte gutxi batzuk ginen,, fitxategi horiek konpilatu Hori gertatzen fitxategi batean CS50.o. deitu behar da Edo izenez aldatu ahal izango dira a Gauza ezberdinak batzuk. Baina hori modu erraz bat da la pentsatzen. Beraz CS50 konpilatu dugu zeroen eta bai sartu liburutegian. Baina inon ez dut zehaztu Nire zero konbinatu nahi dut eta nire kaixo mundua for direnak zeroen eta bai programa CS50 langileek sortu, urte batzuk Duela programa osatu bakarrean. Guztiak idatziz Nik zehaztu clang hello.c konpilatu hello.c. Ez dut clang esan nahi zeroen eta bai esteka CS50 langileek sortu Aspaldi duzu. Beraz, erraza fix bat da, etenaren l lotura egiteko, CS50. Eta berriro ikusi dugu hau luzeak behin eta berriro aurretik. Baina konturatu orain ez zegoen kexarik. Beraz, orain dot barra exekutatu badut kaixo, orain lan egiten du. Pixka bat engainagarria izan arren birsortu besterik ez dut geroztik zer fitxategia? a.out. Hargatik atzera egiteko une bat besterik ez zidan. Programa konpilatu besterik ez dugu hiru kode lerro ditu. Noiz kaixo mundua ran I, kaixo une bat ago, ez nuen ikusi baiezta zure izena. Eta hori da egin zuena nuelako Programaren bertsio zaharra. Baina ez dut, egia esan dot barra a.out exekutatu Idatzi, adierazi zure izena, Rob, kaixo, world. Hm. Hori da akatsen bat mota. Seguruenik ekarri Rob esateko, ezta? Beraz, zer fix hemen kodean. Ikaslea: [INAUDIBLE]. DAVID MALAN: Zehazki. Beraz, besterik gabe, behar dut finalean pentsatzen duten egiteko beraz, leku-marka ere dudala pasatzen ari naiz, hutsik bete bat bezala, atsegin duela une bat egin dugu. Baina ehuneko s da orain duen hutsik bete. Beraz, azkenik dezagun agerian ren Xehetasun beraz, ez magia ez da. Aurretik joan noa eta get hellow kentzeko. Aurretik joan noa eta get a.out kentzeko. Beraz, gaur egun programak ez daukat, bakarrik nire iturri kodea. Eta naiz bat exekutatu noa apur bat luzeagoa komandoa, clang etenaren o kaixo hello.c etenaren dituen lcs50. Orain hau da ordenatzeko joan hasita belarri bat eta agian bestea out. Baina besterik tease gain zer da hori egiten. Clang konpiladorea du, marra dituen lcs50 da nahita oso amaieran du zer esaldi batean? CS50 liburutegia estekak. Zeroen hartuko du eta langileek egin dutenak eta crams horiek nire programa propioa sartu. Beraz, esku artean, azken galdera da, zer etenaren da o kaixo, seguruenik , egiten dut inoiz, nahiz eta ikusi sintaxia honen aurretik? Hori da programa bat outputting ez izeneko a.out lehenetsia. Baizik ari izeneko kaixo. Beraz, orain ez a.out ez da. Ez dago horrelako fitxategi edo direktorioa, Esplizituki esan nuelako Programa honen deitu kaixo, beraz, Dut orain idatz daiteke horrelako izen bat eta izan da portaera. Orain Egia, mutil hura izanarren behar Hori guztia gogoratzeko minutia gutxi, ezta? Beraz, dezagun aurrera eta lortuko kaixo kentzeko berriro. Eta dezagun mundu bat itzultzeko orain bertan kaixo esan nahikoa da. Baina hori magia dela egin da zuretzat egiten, nahiz gogaitasuna dela nik egiten. Eta gure programak eta arazoak lortu konplexuagoa, egingo benetan zure laguna izan. Ez luzeegia delako hemendik aurrera goaz dela idazten dira programak izatea ez da fitxategi bat, baina zenbait fitxategi batera, eta egiteko prozesua automatizatzeko hori guztia konpilatzean guretzat elkarrekin. Beraz, gaur egun inprimatu. printf Artxibo hau barruan dago, estandarra I / O dot h, hori ikusi dugu aurretik, baina ez gehiago, hori baino printf da. Ez dago backslash n, baina ez da ere beste katea mordo bat. Eta ihes-sekuentzia bat besterik ez da zerbait esaten modu fancy duten alderantzizko barra batekin hasten da, Ez aurrera barra bat, alderantzizko barra, eta gauza berezi batzuk ez. Eta ez dugu horietako gehienak dwell, baina zergatik dago backslash aurrekontua bikoitza, deritzozu? Zergatik ez dago sekuentzia arraro honetan pertsonaiak, aurrekontu bikoitza backslash, Zergatik izan liteke erabilgarria? Ikaslea: [INAUDIBLE]. DAVID MALAN: Zehazki, ezta? Think itzuli gure kaixo mundua programara duten hainbat aldiz nahiko ikusi dugu orain, aldi bakoitzean kaixo mundua duela ikusi dugu, programa ditudan komatxo barruan izan genuen horietatik koma da kaixo Mundu backslash n. Baina zuk zeuk pentsatzen, zer izanez gero, egia esan, komatxoekin inprimatu nahi? Zure lehen sena izan daiteke, ez dut Badakizu zergatik hemen do-- nahi dut, pasiboa txiki bat izan dezakegu oldarkorra, kaixo lagun. Agian horrelako zerbait egin nahi dugu. Baina zergatik da hau orain problematikoa? Kizkur komatxo alde batera duten Jaramonik Hitzaldi guretzat egiten du automatikoki. Zergatik da hau problematikoa? Zehazki. 4 komatxo atsegin dugulako. Beno lehenengoa seguraski bigarrena, batera joaten, eta agian laugarren bat hirugarrena batera joaten, edo, ez nago ziur, nahiz esan nahi dut, ezta ordenagailua non izango. Informatika berriro, konpiladoreak berriz ere, nahiko mutu. Bakarrik egin ahal izango dute zer kontatu egin. Eta Oraindik zalantzarik ez badute Ziur asko, errore bat bota behar. Oraindik ez nola behar bezala zalantzarik gabe bada kakahuete-gurina eta gelatina sandwich egiteko gauza arraro iristen liteke. Ideia bera da. Orain nahikoa esan ez dago beste batzuek ihes-sekuentziak, baina horiek iritsiko gara luze baino lehen. Funtsean ihes horiek sekuentziak zerbait adierazten Baliteke duela gai ez izatea errazegi teklatua, ordenagailua nahastu gabe. Orain berriz daukagu printf leku-markak. Ehuneko d, hori ere idatzi behar da ia kasu guztietan ehuneko i bezala, zer datu mota leku-marka bat da? Zer nolako balioa duten? Zenbaki hamartar bat. Beraz, benetan egingo hasten gara ehuneko i erabiliz, da delako Pixka bat errazagoa, zenbaki oso bat bezala. Ehuneko i. Hori gertatzen da zenbaki oso bat hamartarrekin izan. Ehuneko s dagoeneko esan genuen kate bat biltegian. Zein hitz bat besterik ez da, esaldi bat, paragrafo bat, saiakera bat, edozein dela ere. Sekuentzia bat da, luzera zenbait pertsonaiak. Eta luze gabe ikusiko dugu beste batzuk, horietako batzuk. Baina ehuneko c pertsonaia bakar bat da. Ehuneko f bat da puntu mugikorreko zenbakia, zenbaki erreal bat duela atsegin hamartar bertan puntu bat, eta horrek Jakina, ez da zenbaki oso bat da. Eta badira oso bat beste mordo baita. Bien bitartean, C, eta hizkuntza asko ere, Datu mota ezberdinak ditugu. Mota desberdinak beira izango bada kaikuak. Katilu azken aldiz erabili dut ping pong pilotak izan da, baina baita desberdinetan gorde ahal izango dugu karakteretan eta kateak bezalako baloreak eta ontzi batean osokoak, aldagai bat bezala, eta C ditu horiek. Char datu-mota da, aldagai-mota, bertan pertsonaia bat gorde ahal izango duzu. Float aldagai mota bat da horrek zenbaki erreal bat gorde ahal izango duzu. Int jakina da int bat. Eta nahiko ridiculously luze luze bat izendatzen da non funtsean gorde dezakezu zenbaki oso luze bat, nahiz eta digituak gehiago orduan a tipikoa int baliteke denda. Baina etorri egingo dugun itzuli aurretik. CS50 dot h Kantaldi goiburua beste fitxategia duela pare bat ikusi dugu, erabilera, aldiz, ez dago Beste bi datu motak ez C existitzen normalean. One katea da, eta ikusi dugu ere aste batzuk zer kateak benetan kanpaia azpian daude. Eta inork bool da. Eta boolearra aldagai bat da, bakarrik balio batzuk hartu dezakete. Eta besterik oinarritutako Azken astean an Scratch azalpen, eta berriki C, zer egingo asmatzen duzu bi balio posible dira edukiontzi batzuk mota boolearra da? Bai eta ez. Bat eta zero. Egia edo gezurra. Eta hain zuzen ere, joera azkena da programazio batean konbentzionalak izan hizkuntza, esanez zerbait egia edo gezurra bezala. Bitartean CS50 liburutegia dator funtzionalitate-sorta bat langileek idatzi duzu, Kate bat eskuratzerakoan gain. Idatzi aldez aurretik funtzio dugun zenbaki oso bat lor daiteke, erabiltzaileak, karaktere bakar bat lortzeko, mugikor bat lortu du, du dezimal zenbaki bat besterik ez da. Talde luze luze bat, benetan bat erabiltzaileak balioa big. Beraz bakarrik ikusi dugu honetan GetString formularioa ekintza. Baina funtzio horiek bidez laster izango idazteko gai programen sarrera eskuratu erabiltzaileak direla. Bien bitartean, kontuan hartu hau programa, eta kontuan hartu nola egiten dugu agian orain gehitzeko hasteko bertara eraikuntzen berriekin. Azkar zurrunbilo ibilaldia eta orduan ikusiko dugu begiratzen at batzuk idazten batzuk eskuz programak geure buruari. Nahi aurrerantzean badugu baldintza bat ezartzea, ez da behar baten itxura du nice little polita puzzle pieza. Honez apur bat gehiago arcane itxura du. Baina hau da, kanonikoak C. baldintza baten egitura Hitza, bi bada Parentesi, barruan da nolabaiteko izango da adierazpen boolearrak. Orain barra barra erdian, hau da, Ordena bezalako une pseudocode kodea placeholder. Baina gehiago behar bezala, edozein kode-lerro C direla barra barra batekin hasten iruzkin bat da. Da ohar itsaskor bat bezalakoa da duzula agian , paperean inprimatu saiakera jarri. Ohar bat da, zeure buruari. Funtzional ditu programaren eragin. Da oroigarri moduko It, zure egin da dokumentazio zer gertatzen den moduan. Beraz, egin hau une leku-marka bat sort da edozein dela ere barruan horiek kizkur giltza azkenean zerbait egin behar da. Bien bitartean dauden bi bidegurutze duzu road, bat honen antzeko beste badu eraikitzeko. Bada, ELSEIF, bestela, ahal duzu. Orain Aipagarria da, batez ere, you sido inguruan Googling bada baliabideak out online Jakin-mina, edo jaso nahi izanez gero Jakina-ren bat C gomendatutako liburuak, gizakiak duten asko ikusiko duzu nola lehentasunak desberdinak beraiek adierazteko kodea da. Batzuek gustuko jarri behar giltza kizkur dut hemen egin duzun bezala. Batzuek gustuko kizkur jarri behar esate baterako giltza hemen. Batzuek gustuko elses jarri behar hemen eta gero hau hemen baino gehiago sortu. Badira modu edozein zenbaki da idazketa kodea, eta horietako bat ere ez eskuineko per se dira. Ez da gutxi batzuk izan arren hori nahiko gaizki daude. Baina badira no-- hau bada azken finean, eztabaida oso erlijiosoa da. Izan ere, gehien gogaikarriak batean informatika buruz gauza da nola opinionated informatikariak izan daiteke. Eta denboran zehar aurkituko dituzun nahiz eta lehentasunak pertsonala garatzen Zure kodea nola begiratu behar den bezala. Ez bakarrik jokatu, eta ez bakarrik sortu irteera, baina nola estetikoki begiratu behar da. Beraz, zer egingo dugu eskuzko batera Bidean goazela, oraingoz behintzat, CS50 estilo estandar bat, gutxienez, mantentzen gauza uniformea ​​eta erraz irakurtzen da. Baina horietan gehiago Luze baino lehen bereizketa. C artean adierazpen boolear bat, nahi baduzue baldintza hori egia bada esan nahi eta beste egoera hau da: Egia, ez duzu hitza idaztea eta, ingelesez egiten duzun bezala. Ampersand ampersand erabili ordez, arrazoiengatik dugu etorri egingo atzera. Esan nahi duzun edo bi erabiltzen baduzu barra bertikalak, bertan US teklatua batean oro har Idatzi goiko da backslash gakoa hurrengo. Eta hori besterik ez da baldintza hori bada, esan nahi du edo beste baldintza hori egia da hori egin. Bien bitartean ez da hau crazy gauza, Oraingo izan dituzu behin erabiltzeko awhile. Baina besterik alternatiba da Modu zeure burua adierazteko. Hau, oraingoz, dezagun zeintzuk, besterik ez da beste adierazteko modu funky , bada ELSEIF, ELSEIF, ELSEIF, ELSEIF. Besterik formateatuta ari dagokionez kasu, non literalki of balioak aipa duten daiteke egiaztatu nahi baduzu. Bien bitartean begiztak. Konparaketa bat ikusi genuen Begizta bat urratu. Eta ez dut nire eskua olatuen joan zer gauza horietako bakoitzean esan nahi du. Baina konturatu begizta bat egingo oso sarritan hitzarekin hasi. Edo egingo keyword berriz batekin hasten da. Edo egingo gako batekin hasiko da egin, eta keyword bitartean eman zitzaion amaiera. Baina zertaz ari gara ikusten Gauza gehiago hau atsegin du. Hemen da, oro har, C, nola you might aldagai bat deklaratzeko eta balio bat ematen diote. C har, ez dela nahikoa, bezalako Scratch, besterik ez duzu esan zerbait aldakorra izeneko bat eman dit. Daukazu C kontatzeko, eta esango Zure konpiladorea, zehatzago esanda, zer mota balioaren egin nahi duzu beirazko ontzi batean jarri nahi. Da zenbaki oso bat? Hala bada, hau egin behar duzu literalki esan int eta gero aldagaiaren izena, ondoren puntu eta koma. Zuk nahi ordez katea eta deitzen bada egin nire kodea dudan bezala hemen gaur s, katea s koma esan nahi duzun. Balio bat eman nahi Behin orduan berdin ikurra erabili ahal izango dituzu, bestela bezala ezagutzen zeregin eragile. Eta konturatu nola bakoitzak Kode lerro hauen berau amaieran puntu eta koma ditu. Baina, Egia hau, besterik gabe, Itxura pixka bat itsusi. Zergatik ezin esan ordenagailua dut, emateko aldagai eta abiarazi zero bat me. Hau da, ematen dit kristalezko ontzi huts bat. Ahal duzun bitartean. Eta, beraz, epaiketa bat deitzen duzu estilistikoki egiteko denboran zehar hau da, ez zure hau atsegin kodea idatzi duzula, edo ez motatako garbitu duzu, eta harritu bi lerro bakar gisa idatzia bidali lagun. Eta hori kontuan hartu beharko litzateke oro har, modu dotore bat zure kodea idazteko estilistikoki. Funtzioak ikastaroaren ikusten ari gara. Formatu hau hartzeko ari dira joan. Funtzio baten izena, zenbait parentesi, eta gero, agian batzuk gauzak barrutik. Edo erabilerak ikusi ahal izango duzu funtzio bat baino gehiago alboko albo, honen antzeko zerbait bezala. Orain tangente bezala, ez du Txiste hau gaur egun zentzurik? [Barreak] Ez du esan nahi dibertigarria da, baina du agian egin apur bat gehiago zentzurik. Beraz, gaur egun dezagun sartu CS50 une batez aparatuaren. Eta utzi ireki me teaser bat hemen. Eta hain zuzen ere, arrazoi bat IKEA katalogoan sartzeko eta argazkia keinuka Duela iPhone pixka bat izan zen benetan lotzeko ere elkarrekin Izan ere, duela urte gutxi batzuk besterik ez direla, 2007an, Kode zati hau izan zen kaleratu izan zen, Oso lehen ezarpena bat software pieza bat hori zer jailbreaking deitzen du. , Ezagunenak, jailbreaking For telefono bat edo iPhone bat bezala zerbait Esan nahi du, funtsean kalkulatzen gauzak nola egin itzazu harekin duten enpresak nork egin ez zuen asmoa. Zenbait instalatu nahi al duzu Like hori ez da app dendan software, Zure telefono jailbreaking bertan hori eta gehiago bezala gauzak duzu. Baina, zer izan zen fun in 2007-- eta ez da izan bertsio desberdinak dozenaka Gauza horiek, harrezkero, mota guztietan of languages-- dela Programa honetan hemen, iUnlock izenekoa, benetan C. Eta horrela idatzi zen I hala sortu iturri kodea horretarako, Mota horretako besterik ez erakusteko batzuk dituzu eraikuntzen antzekotasunak beraz, orain arte izan dugun eztabaidan ditudan. Orain ez dago konplexutasun modu gehiago hemen Dagoeneko ikusi dugu, klasean baino. Let me gora apur bat hemen. Baina konturatu these-- ondo gutxi batzuk nabarituko dugu gauza baina lerro hauek nabarituko hemen, I / O dot h estandarra barne. Eta lerro all-- 24 please-- konturatu nintzen estandarra / O dot h eta beste sorta oso bat fitxategiak Antza, beste pertsona idatzi dute. Eta joan gara behera bidez bada hau, apur arbitrarioki, nabarituko Ez dakit nola idatzi neure buruari zertan oraindik hori guztia, baina besterik ez bada ez da. Beraz, itxuraz honek adar bat dauka. Eta joan I behera apur bat bada Are eta gero beste bat. Joan I bada, nire ustez, lerro inguruan 100 ikusi nuen. Beraz, ez nago oso ziur nola oraindik obra hau, baina hau da begizta hori joateko bat utzi aldiz batzuk batetik bestera joateko me. Eta hori guztia joan badut hondora bidean Ikusten dut ez dagoela da bat funtziona behera hemen izeneko nagusia, eta kreditu gehigarri batzuk zure irakurketa plazer. Beraz, hau bakarrik esaten da eta hori jarriko dugu online honek Ikastaro horrek iturri artean kodea today-- nahiz eta hauetako batzuk emandako hartuko dugu gailuak, Egunaren amaieran, oraindik ez bazara duten dugu oinarrizko eraikuntzen horiek erabilita Dagoeneko sartzen ari beraz, oso urrun. Hori inork hori nahikoa da. Ondo da, beraz, gaur egun dezagun benetan zerbait eraikitzeko. Goazen antzeko zerbait harago hello.c, eta ireki hau, en idatzi programa hau hemen utzi. Aurretik joan naiz eta adder.c izeneko programa bat idatzi, horren helburua bizitza izango da Nire lehenengo kalkulagailua super simple bezalako hori besterik ez zenbakiak pare bat gehitzen. Ez hori delako gogor bat Arazoa, baina, delako aukera ematen du orain lotzeko me Gauzak elkarrekin batzuk. Beraz, aurrera noa, eta, besteak joan I standard / O dot h eta CS50 dot h. Int hutsune nagusia esan nahi dut. Eta berriro ere, etorkizunean, gara itzuli egingo den Testuinguru honetan eta hutsune bide batean sartu. Eta orain ari naiz zerbait esan nahi du printf bezala, eman dit zenbaki oso bat. Eta orain, nire bigarren lerroan, nola ez, adierazi nion neure buruari, hala nola, aldagai bat aldarrikatu nahi dut hori int bat gordetzeko joan? Hitzez hitz, zer egin idazten dudanean nahi badut Int bat gordetzen duen aldagai bat sortu litzateke esan duzu? int bat GetInt berdin. Noski, beraz, lan egiten duen. Eta besterik ez koherentzia kodearekin dituzu Ikusten online, let me aldaketa honek x, besterik ez delako x aldagai izen arrunta da erabili, gutxienez, algebra ere. Orain utzi aurrera me eta zer printf berriro. Give me zenbaki oso beste. Eta orain, mota naiz joan ikasteko eredu horretatik aurrera, Int y lortzen GetInt esan nahi dut. Eta ez dugu erabiltzen GetInt aurretik, baina, besterik gabe, bezalako GetString doa eta kate bat jasotzen du, Javier ikusleek egin bezala, era berean, ez du GetInt hasteko gonbita keinukariak. Eta eraginkorrean erabiltzaileak zain emateko zenbaki oso bat, idazten hasi arabera eta kolpatzeko Sartu. Orain, azkenik, naiz egingo honetan, printf batuketa horretako eta utzi fancy orain get me ehuneko i eta garbi i present dago i harridura backslash n. Eta zer egin behar dut uste duzu jarri orain input gehigarri gisa printf? Ez dut esan hitzez hitz aipatu unquote x. Class nahi dut x eta orduan, eta orain gaitezen fancy eta utzi bere gain hartzen, besterik gabe egin ahal izango dugu zer nahi dugun. Zer hurrengo esan nahi al duzu? x plus y. Eta hain zuzen ere lan egingo. Honez txikieneko hizkuntzetan programazioa Egin oinarrizko aritmetika ulertzen, eta, beraz, behar hau, hain zuzen ere. Hargatik aurrera me eta egin nire zuri-beltzeko leihoan gaineratzaile Hemen behera, Sartu. Cryptic lerro baina errorerik ez mezua, beraz, hori ona da. Dot barra gaineratzaile, eman dit zenbaki oso bat, 1. Give me zenbaki oso beste bat, 2. 1 eta 2 batura 3 da. Ondo da, beraz, nahiko hutsala programa, baina zer egiten da? Honez onartzen funtzio bat erabili me deitu hona, beste funtzio bat deitu hemen, GetInt, bati bi deialdi hirugarren dei printf, eta ondoren, leku-markak hauek erabiliz. Beraz, pixka bat gehiago da azken ordua baino sofistikatuagoa. Baina zer nahi dut get apur bat fancier? Dezagun aurrera eta orain hau. Dezagun aurrera eta sortzeko a fitxategi berri izeneko baldintza zero. Eta ez dut gorde beharreko joan klaseen mesedetan denbora pixka eta besterik ez da itsatsi Abiapuntu gisa kodea. Eta orain, besterik ez dut jarri joan Zerbait berria hemen erdian. Beraz printf zenbaki oso bat mesedez nuke. Eta kode hori guztia eskuragarri dago ikastaroaren web orrian, ez behar duzun guztia idatz itzazu klasean baizik duzuela ez bada. int, eta orain ez naiz joan erabili, x eta y ordez, N erabili ahal izateko, hau da, noa ziurrenik izen ohikoenak programa informatiko batean osokoa. Eta orain bat egin nahi dut epaiketa gutxi hemen. Nahi izanez n ikusi dut 0 baino handiagoa, orduan Printf whoops esan nahi dut, printf zenbaki positibo bat jaso duzu, Puntu harridura backslash n. Itxi duten. Bestela dut printf inprimatu goaz Zenbaki negatibo bat jaso duzu. Orain Yell duzu me at lehenago, dezagun exekutatu programa hau. Behera joan me hemen. Eta nola ez, programa bat konpilatu dut izeneko baldintza etenaren 0? Egin baldintza etenaren 0. Ergelak izen bat mota, but-- dammit. Ados, ona irakaskuntza unea. Zergatik hautsi zuen hori? Zer egin zuen ustekabean fitxategi honetarako deitu dut? Daiteke nolako infer fitxa batetik sortu hemen. Beraz, ez da txarra dudala egin hau, hori delako agian gertatuko izango duzu, batzuk. Beraz, nahi gabe izendatzen dut nire iturburu-kodea condition 0. Baina nire iturri kodea konbentzio beharko lukete Baldintza 0 etenaren c izeneko fitxategi bat izan behar du, edo dena dot c. Hargatik hau konpontzeko me. Just Microsoft Word bezalako I igo daiteke bezala gorde eta baldintza 0 dot c egin. Orain besterik txukuna naiz izan Aurretik joan eta kendu Baldintza 0, nire bertsio zaharra zen. Eta orain egin dezaket en Baldintza 0, Sartu. Ados, badirudi ona. 0 Condition, Sartu. Zenbaki oso bat mesedez nuke, 50, Zenbaki positibo bat jaso duzu. Orain nola 50 negatibo buruz? Zenbaki negatibo bat jaso duzu. Nola orain, 0. Pretty ziurtatu 0 Ez da negatiboa. Beraz, hau bug logikoa baten antzeko zerbait da. Nola hau konpontzeko? N da 0 baino gutxiago ez bada, egin hau, beste Hiru bide adar bat izan dezakegu hemen, printf bildu 0. Beraz, orain berrabiarazi behar dut programa, konpilazioaren ondoren berriro make batera, eta orain berrabiarazi Baldintza 0, eta zer ikusten dut hemen 0 irteera hori ematen dit. Beraz, non egingo dugu honekin? Beno, oso erraza da ikusmena galtzen zuhaitzak basoaren. Eta horrela egin ahal izateko ondoriozta gurekin 2 eta 1/2 minutuko bideo honekin azken finean, hori pixka bat da Google ad baten, baina benetan testamentu da zer nahiz eta oinarrizko eraikin horiek erabilita Bloke dugu, azken finean, egin dezake behin programazio apur bat behar dugu gure gerrikoak pean adituentzat. [Musika jotzen] SAROO Brierley (ahots): Duela 26 urte izan zen, eta besterik gabe 5 buelta eman izan dut. Lortu tren geltokira iritsiko gara, eta gure trena elkarrekin boarded dugu. Nire anaia esan besterik ez dut egingo hemen geratuko, eta Itzuli naiz. Eta pentsatu nuen, ondo ezagutzen duzu, Baita agian I besterik ez joan lo eta besterik ez zuen esnatu ninduen. Eta esnatu naiz hurrengoan Egun, bagoi osoa geldotasunak tren bat hutsik zegoen, mamu bat tren me hartzen, ez dakit non. Dut onartu zen out Australiara, Australian familiarekin batera. Eta ama apaindu zuen nire India mapa gela, datorren jarri nire gau zuen. Esnatu naiz goizero mapa hori ikusteko, eta, beraz, Ordena mantendu oroitzapenak bizirik. Pertsonak esango nuke, Oraindik orratz bat aurkitu nahian Lastategi batean, Saroo saioa ez duzu inoiz aurkituko du. Nuke lekuak keinuka Dudan joaten, nire familia distirak aurpegiak. Han nire amaren irudia zen, eserita bere hankak zeharkatu, besterik gabe, bere oihua behaketa. Life da bakarrik hain zaila. Hori da nire altxorra zen. Eta Google Map eta at bila nenbilen konturatu ez Google Earth izan baita. Mundu bat non zuk hurbiltzea liteke ere, Pentsamenduak horiek guztiak izatea hasi nintzen eta zer posibilitate hori niretzat egin daiteke. Esan nuen, badakizu, duzun fotografikoa oroitzapen horiek guztiak lortu eta mugarriak non ari zaren, eta, zer herri itxura ezagutzen duzu. Hau aplikazio bat izan daiteke Bidea atzera aurkitzeko erabil dezakezu. , Pentsatu nuen ondo bat jarri dut dot Kalkutako tren geltokia, eta erradioa lerro bat, badakizu, duzun Arlo honen inguruan bilatu beharko. I Ordena topatu tren ibilbideak horiek. Eta horren segidan hasi nintzen, eta Tren geltoki bat etorri nintzen bertan irudi bera islatzen hori da nire oroitzapen zen. Dena datorren. Pentsatu nuen, besterik bai, I Badakizu non egingo dut. Besterik ez dut utzi joan mapa hori izan nire buruan I eramango nau eta eraman ninduen nire jaioterrira itzuli. Batzuetan etorri nintzen noiz jaio nintzen etxean. Eta inguruan 15 inguru ibili izkina inguruan metro, ez zen hiru dama zutik kanpo, bata bestearen ondoan. Eta erdikoa urratsez urrats aurrera, eta Pentsatu nuen, hau da zure ama da. Izan zen aurrera egin zuen, ni besarkatu zuen, eta Han izan ginen bost minutu inguru. Nire eskua harrapatu zuen eta ninduten etxera joan zen eta telefonoa, non zuen lortu nire ahizpa eta nire anaia deitu dela esatea, badakizu, zure anaia besterik ez dauka guztiak agertu-batean mamu bat bezala. Eta gero, familia berriro reunited zen. Dena guztia da ona, Nire ama lagundu nuen, berak ez dauka kanpoan slaving izateko. Gainerako bizi daiteke She bere bakean bizi-. Orratz bat zen, belar-meta batean, baina orratza ez zen. Dena dago. Dena munduan dugun botoi bat tap da. Baina lortu duzun borondatea izatea eta hura nahi zehazterakoan. [Musika jotzen] DAVID MALAN: Wonderfully testigantza gozoa besterik zer egin ahal izango duzu orain teknologia egin. Duzu datorren astean ikusiko dugu.