DAVID J. MALAN: Beraz, hau da CS50. Eta hau CS50 Colton Ogden egin zen, gehiago duten musika da dezakezu deskargatu soundcloud.com/cs50 at. Beraz, gaur egun, gehiago guztien apustua egin dugu, programazio artea gainean. Eta non utzi dugu hartuko dugu azken aste off, bideratua Scratch on, hain zuzen, hau programazio hizkuntza grafikoa. Eta gauzak hartzeko maila txikiagoa behera, programazio gehiago tradizionalak erabiliz hizkuntza C. gisa ezaguna Baina bidean, konturatu ideia berdinak garela joan den ostiralean hitz egin du ez honetan bakarrik errepikatu egingo hizkuntza C, baina gehienetan beste guztietan begiratzen dugun seihileko honetan. Beraz, gauza hau deitzen dugun hemen zer azken aldiz? Honek adierazpen baten ordezkaria da. Beraz, hau adierazpen bat deitzen dugu. Eta zerbait egiten du. Agindu bat dela bat ordenagailu edo Scratch exekutatu daiteke. Eta aurrerantzean, dezagun, halaber, hasteko funtzio bat, honen antzeko zerbait deituz, arrazoiengatik, laster ikusiko dugun. Bien bitartean, horrelako gauzak ikusi genituen. Eta horiek dira, oro har, zer eraikitzeko bezala ezagutzen? IKUSLEEN: Begizta. DAVID J. MALAN: Beraz, begizta bat. Beraz, nahiko erraza. Hitzez hitz egiten du esaten. Eta Scratch, nahi baduzu gehiago puzzle pieza Cram hor, pieza egokitzeko hazten da. Eta C ikusi dugu duela Gauza bera egin dezakegu. Begizta mota bat, nahiz eta, Scratch betiko izan liteke, edo ez edozein zenbakia da beste planteamendu. Baina dezagun gehiago bat hartu en generalista begirada, aurpegi batekin hori da, seguru asko nahiko ezagunak, at orokorrago begiztak. Mark Zuckerberg: One Gauza ordenagailuak dira benetan ona komandoak errepikatzea. Pertsona gisa, litzaidake lortuko duzu Benetan aspertuta bazaude Gauza bera egin behar izan aldiz segidan asko. Baina ordenagailu bat gauza bera egin ahal milioika edo bilioika aldiz, eta ez dira aspertuko, eta gai izango benetan ondo burutzeko. Beraz, adibidez, badut Denek nahi nahi izan Facebook pozik urtebetetzea bat horiek e-mail bat bidaliz, agian ni baino gehiago eraman mendean benetan idatzi guztion emailak horiek guztiak. Baina kode lerro gutxiren buruan, I can dute sistema bat bidali email bat guztiontzat Facebook desiratuz an zoriontsu urtebetetzea. Beraz, zer loops dira eta zergatik Oraindik dute baliotsu eta zerbait ordenagailuak oso ondo egin dezake. DAVID J. MALAN: Beraz, Nik hartzaileak izan zara CS50 batzuen eta Dropbox amaieran espazioa, hori da, hain zuzen, benetan zer garen egin, nahiko horrelako kodea erabiliz. Funtsean daukagu ​​handi bat Kalkulu-orriko zein sartu Folks inputting dute beren izenak eta helbide elektronikoak. Eta kode apur txiki bat idatzi dugu, helbide horietako batetik bestera joateko daiteke eta txu helbideak berezia inork baino gehiagotan aurkeztu. Eta hortik aurrera, bat bidaliko dugu email automatizatu CS50 bot-tik, kupoi kodea barne. Orain, gainera, jakin nahi izan dugu hau azken aldiz eraikitzeko. Eta hori da jakin baten zer adibide? Beraz, bai, adierazpen boolearrak. Eta forma ekarri harrapatu nahi baita. Du galdera horiei guztiei Egia edo Scratch faltsua osatzen honen antzeko zerbait apur bat itxura izango. Eta honi deitzen diogu adierazpen boolear bat. Hori da, hain zuzen ere, egia edo gezurra, bai edo ez. Galdera bati erantzuteko modu bat da. Eta bien bitartean Boolean hauek erabili ahal izango duzu eraikuntzen barruan esamolde horiek, zein atsegin Jakina baldintza dira edo adarrak, proverbial Sardexka errepidea. Eta ez bakarrik begiratu ahal izango dute Hau atsegin, baina, halaber, ezin dute haiekin elses dute lotuta. Eta benetan ahal izango duzu hiru modu bat errepidea bidegurutze edo lau bide bidegurutze batera Errepidean ere, besterik gabe, Gauza horiek habia, Scratch ikusi ahal izango duzu Ez Dagoeneko baduzu. Eta zuk C do jo ahal izango baita. Ikus dezagun orokorra bestera alumnist bat begiratu, bai, nork beste ikuspegi bat aurkeztu dezake Gauza horiek baldintza deitzen da. Bill Gates: Pertsonak egiteko erabakiak egunero. Adibidez, kanpora joan aurretik mota horretako adierazpen bat izanez gero dioen, ondoren, euria balitz dut nire jaka lortu behar. Eta ordenagailuak behin harrigarria adierazpenak mota horiek erabakitzeko, dute fidagarrian exekutatu ahal izango duten sinesgaitza abiaduran gauza horiek. Eta beraz, programa informatiko bat benetan matematika eta batzuk pixka bat da adierazpenak bertan bada Erabakia erabat egina. DAVID J. MALAN: Beraz, Jakin ahal izango duzu, izan zen Bill Gates bezalako folks, Paul Allen, eta beste batzuk benetan Atao off ordenagailu pertsonala llamado iraultza orain dela urte batzuk. Pentsatu nuen, murgiltze dugu aurretik administratiboa batzuk sartu, ipuin bat erlazionatzeko genuke Albuquerque batetik, New Mexico Historia Naturaleko museoan eta zientzia non Bill Gates batzuk ' eta Paul Allen istorioak goiztiarrena kontatzen dira, nola gaur egun dugun Gaur egungo PC eta MACS eta gehiago. Horretarako, ordea, bi boluntarioak behar ditugu nor narrazioaren ahotsak oso ona izan gidoi bat irakurri eta ozen. Ondo da, nola itzuli ez buruz. Goazen sortu. Eta nola aurrean hemen buruz. Goazen behera. Hartu zure leku hemen. You guys gisa etorri, pare bat administratiboen iragarkiak. atalen, prozesuaren atal bat aukeratzerakoan, honetan hasiko da Asteazkena ostiralera. Horretan gehiago honetan datozen Hitzaldia asteazkenean. Super atalak, bestalde, ez dira datorren astean eskaintzen dugun zerbait Horren bidez, klase osoa gonbidatuta dago eskala nahiko handiak parte ataletan, beste bat gehiago comfy, hain eroso bat. Eta partikularren jakinaraziko dizuegu hori, baita, geroago aste honetan. Bitartean ataletan, beraiek, hasiko Aste ikastaroa hiru, zero indizea, horrek esan nahi du horiek aste pare bat dira out. Beraz, ez kezkatu. Oraindik ez dute galdu duzu ezer lerro horiek batera. Bien bitartean, bien bitartean, nahi baduzue Edozein zalantza administratiboki dute, email neure burua eta Devon eta Gabe eta Rob helbide honetan hemen at. Azkenik, arazo multzo 0 da, noski, kanpora. Konturatuko dezakezu ezazu ikastaroaren web orrian. Eman behar duzu berarekin galderak erantzun guztiak egiteko bidean duzu nahikoa ohitu arazoa multzoa hasi zen. Baina aurkituko dituzu zeure buruari laguntzen esku baten beharra, baliabide guztiak joateko bulego orduetan, Astelehena, asteartea, asteazkena, osteguna Aste honetan arratsaldeko of lau jantokiak ere. Ikusi dagoela URL partikularren kodea non bulego orduetan jarriko izan dira. Orain Dezagun bete gure bi gonbidatuek hemen gaur. Zein da zure izena? JAY PAUL: Jay Paul. DAVID J. MALAN: Jay Paul, politak zu ezagutzeaz. Hikari: Hikari. DAVID J. MALAN: Hikari? Hikari: Hikari. DAVID J. MALAN: Hikari. Urte askotarako baita. Jay Paul eta Hikari dute horien aurrean musika horiei buruzko bi gidoiak dudala inprimatutako nabarmentzen New Mexico batetik, gaur goizean atera Historia Natural eta Zientzia museoa. Eta zer pentsatu nuen Nuke goiburu on egin Zure errezitatu batera dago gidoia eta historia horren entzunezko, argazkiak, ezustekorik gabe. Eta zer aldez aurretik Nik egin Zure gidoi on prehighlight zer irakurri behar dituzu, eta zer irakurri behar duzu. Eta, funtsean dizkizugu besterik ordezko paragrafoetan. Hainbeste you might like it Izan English klasean egin. Hori da benetan ikusleen bortxatzeko Zure istorioa sinesten hemen. Egingo dugu? Beraz, istorioa hemen, bat dugu BASIC, eta hasten Cambridge da. JAY PAUL: neguan, 1974an izan zen, Cambridge, Massachusetts non negu hotza izan daiteke. Bizardun, ile luze bat college dropout izeneko Paul Allen Harvard zehar drudging zen Square, bere pentsamenduak xurgatu. Bere egun horietan kezka nagusia nola bere lagun, Bill Gates iritsi zen, Eskola irten eta joan zion enpresa sartzen. Hikari: biak hasi bazen enpresa-ventures kopurua baten bidez elkarrekin, Lakeside hasita Seattle non ikastetxea free ordenagailu denboran ziren ordaindutako PDP-10 ordenagailu bat probatzeko denbora batean jartzeko enpresaren partekatuz. Berrienak plana ezin izan zen irten Eskola eta software konpainia bat osatzeko. Allen utzi Washington State University. Baina azken minutuan, Gates at Harvard jarraitu erabaki zuen. JAY PAUL: Egun horretan, Harvard zeharkatu Square, Allen urtarrilaren ikusi, 1975 Popular Electronics alea lurra geldiarazteko titular batera, Munduko lehen minicomputer Kit Merkataritza ereduak aurkariek. Beneath titular izan zen Kutxa txiki bat argazki bat Argiak eta etengailuak apaindutako. Zen MITS Altair 8800 izenekoa da. Eta Allen jakin hau zer dira zuen bila. Hikari: eztabaida egunak jarraian. Allen eta Gates ulertu Altair garrantzia. Askotan hitz egin dute mikroprozesadoreak buruz eta zer ikusteko zain zeuden haiekin egin beharko litzateke. Orain ez zegoen minicomputer kit bat Elektronika Popular estalkia. Itxuraz izan software ez da oraindik. Nazio bat imajinatzen dute programatzaileak MITS beherantz. Eta horrela Ed Roberts deitu dute, enpresaren burua, bertsio bat izatea aldarrikatzen BASIC programazio hizkuntzaren ia prest Altair da. Ez zuten. Eta Roberts ezagutu behar ez zuten. Zen egun bat 10 deiak daroa pertsona nor BASIC bat ia prest izan. Eta bere stock erantzun izan zen, "lehen pertsonan duten erakusten du lan batekin BASIC kontratua lortzen. " JAY PAUL: Gates eta Allen inoiz ikusi Altair bat. Zuen inoiz ere ikusi dute Intel 8080 mikroprozesadorea Altair muinean. Baina urte pare bat lehenago Allen programa bat idatzi zuen mainframe ordenagailu bat emulatu an aurreko Intel baten funtzionamendua mikroprozesadorea. Eta dute inguruan denbora honetan Gauza bera egin nahi. Hikari: Intel batekin 8080 eskuzko bere alde, Allen eseri batean Harvard PDP-10 ordenagailua eta emuladorea eta software idatzi beharrezko tresnak programazioa egiteko. Bitartean Gates geratzen zaiola klaseak eta jardun zuen BASIC diseinatzen den, trikimailu guztietan erabiliz tamaina lortzeko bazekielako 4 kilobyteko azpitik behera. JAY PAUL: Albuquerque Out, Ed Roberts Gates dei bat jaso Xehetasunen berri izateko, nola buruz galdetu du Altair errutina espezifikoak kudeatu. Inor ez da inoiz eskatu zuen aurretik. Eta Roberts hasi interesa lortzeko. Hikari: garapenarekin batera tresnak eta diseinua prest, Gates eta Allen idatzi PDP-10 kode, beste Harvard ikaslea enlisting, Monte Davidoff, matematika eguneroko ohiturak idazteko. Amaierako gau baten ostean programazioa, Allen plano bat lortu beren MITS oinarrizko emateko. Eman zituen hegazkina gidatzen kezkagarria. Eta Cambridge itzuli Gates kezkagarria zen. Probatu izan dituzte euren oinarrizko eta bertan izan emuladorea lan egin. Baina zer emuladorea okerra bada? JAY PAUL: hegazkina bezala hurbildu Albuquerque, Allen konturatu beraien BASIC, orain ondo jasotako roll txikian aldiko paper zinta, litzateke izan alferrikakoa bereizi gabe programa, kargatzaile bat deitu du, Altair nola esango luke paper zinta izakia irakurtzeko teletype makina elikatzen. Atera zuen bere koaderno eta azkar scribbled behera kudeatzeko programa bat Batzar hizkuntzan, gero eskuz itzulitako duten 1s eta 0 s sartu Altair ulertzeko luke. Hikari: Allen espero zen bat garbi, txiki, goi teknologiako konpainia enpresa jantziak gizonen eskutik. Beraz, harritu zen Roberts ezagutu zenean aireportuan zion ganadutegiko antza eskuko. Roberts, gainera, harrituta geratu zen. Noiz Harvard jaitsi zen hotel garesti bat programatzaile, Allen dela aitortu behar izan ezin izan zuen gela ordaindu. JAY PAUL: MITS, berez, izan zen banda Mall hautsez batean dago. Cluttered batean Inside Workbench Altair izan zen kargatu 5eko kilobyteko batera memoria eta kable baten bidez lotuta teletype makina bat. Roberts eta Chief ingeniaria, Bill Yates, itxaron expectantly Allenek bere kargatzailea txandakatu gisa Altair sartu programan. Teletype The bota gisa chugging hasi paper zinta zinta irakurlearen bitartez. Agian 15 minutu programa kargatu. Ondoren teletype bortizki impreso memoria gonbita, orduan prest gonbit bat, eta Allen idazten hasi gutxi proba bat komandoak. Guztion harridurarako, software lan egin zuen. Baziren bugs, noski. Baina gauza nagusia izan zen lan egin zuen. A Geroago, jokalariak bidean den: hikari 3,00 $ lunch Pancho en at, WASP bat hegan bilketa, leihoko kamioi eta ziztatu Allen besoan. Baina puntu ezer hartan aldartea hondatu daiteke. Orain Altair bere BASIC, izan du lehen software komertzialak etxebizitza bat egiteko ordenagailua, Paul Allen eta Bill-ek egina Gates, Microsoft enpresa bezala egiten ari. DAVID J. MALAN: askok Gure bi irakurleei esker. [Txaloak] DAVID J. MALAN: orain Zure aukera duzu, , utzi sparkly baten aurretik edo dark-- batean oi dirdira bat, sec bat itxoin wait-- sparkly eta elefante ilun dirdira bat CS50 Cheng Gong propioa. Hikari: Aw, eskerrik asko. DAVID J. MALAN: Guztiak eskuinera, eskerrik asko hainbeste. [Txaloak] DAVID J. MALAN: Beraz, benetako istorioa. Hau da, esan nahi du horiek guztiak makinak eta erraztasuna duten dugu orain, horiek erabili eta eraman ematen, benetan hemen urrats batzuk besterik ez hasi, Benetako antzerki honen from. Eta orain gaur egun, duzun ez bada izan, hau da Maxwell Dworkin, ordenagailua zientziak eraikina, halaber, txoko inguruan. Eta hau bigarren solairuan Eraikin ek hiru orrialde zintzilikatzeko jatorrizko iturburu-kodea duen Bill Gates eta Paul Allen idatzi zuen. Izan ere, erabilera gero Handiagotzean ez soilik ikusi ahal izango duzu Beren izenak original mota, baina, halaber, beren sinadurak duen bat apaintzen dute Urte batzuk atzera azken bisitatu dute. Baina zer gertatzen da batez ere sinesgarria izan zen honi buruz zer ezarri dute egin zela litzateke programa bat idatzi beste pertsona gaitu idatzi beren programak egin. Garai hartan guztia ez zegoen batera MITS egindako Altair makina honetan. Eta horiek guztiak behar modu batzuk erraza egiteko hobbyists eta lagunentzako Gustatzen gurekin gela honetan benetan programa nahitaez ulertu gabe Batzar kodea edo makina kodea, edo Jainkoa debekatzeko, 0 s eta 1s. Programatzaileak dugu atsegin gela honetan haietan, dugu adierazteko gai izan nahi geure burua askoz sasi kodea bezalako gehiago a nit bit gehiago bada ere hautakorra azken astean hitz egin dugu baino. Ez dugu hau atsegin kodea idatzi nahi, bertan Paul Allen eta Bill Gates egin. Dugu, horren ordez, nahi kodea idatzi duen Itxura erabiltzaileak apur bat gehiago errespetatzen. Orain hau BASIC bezala ezagutzen hizkuntza bat da. Eta lerro zenbakiak daude duzuna erabiltzeko kode lerro besterik zenbakira horretan idazten ari zaren. Ere ez dugu behar Egun hauetan ez da egin. Baina hemen ikusi ahal izango duzu nola PRINT "kaixo, mundua" litzateke, hain zuzen ere, ustez, hori bakarrik inprimatu. Eta beraz, zer Bill eta Paul egin zen adoretzeko pertsonek hau atsegin kodea idatzi ordez begirada bat hartzen baduzu horretako informatika wall-- kode hau bezalakoa. Izan ere, CS50 dela gutxi aukera izan zuten eseri Harry Lewis irakaslearekin Computer Science saila, nor benetan irakatsi Bill Gates Duela urte batzuk, eta zutik dago hemen aurretik hiru zatiak orri horiekin. Ikus dezagun begirada bat. HARRY LEWIS: Hemen zer behar duzun bat software pieza bat hasieran zerrenda Bill Gates eta Paul-ek idatzi Allen, Microsoft sortzaileetako. Beraz, kode hau interesgarria da bi arrazoirengatik. Lehenik eta behin, hura izan zen Microsoft-en lehen produktua, horretarako, interprete bat izan zen programazio hizkuntza BASIC. Eta, bestetik, hori zen lehen saiakera bat interprete bat sortzea hain arruntei pertsonek ordenagailu pertsonala erabili izan. Beraz, Bill Gates izan da bat Harvard at graduak. Harvard at irakasteko 1974an hasi nintzen. Hau 1975 urtean egin zen. Beraz, bere ibilbide goiz zen eta nire ibilbidean hasieran. Benetan irakatsi dut Bill in honen inguruan ikastaro bat. Paul Allen ez zen bat Harvard ikaslea, baina berak izan batxilergoko izan Bill Gates ikaskide. Etorriko bada, eta begiratu zerrenda honetan, ikusiko duzu egia esan, hirugarren bat aurkituko izena, Monte Davidoff, nor Gates-en ikaskide izan zen hemen Harvard at. Ados, beraz, hemen bat iruzkin sortu hemen interesgarri. Dio "4K ere erro karratua ezaba dezake baina begiztak dira oraindik lan egin behar ". Ados, beraz, zer esan nahi duen ez da konpilatu programa hau bi modu zeuden. Bertsio bat exekutatu zen One Altair ordenagailu honetan 4K hitzetan bakarrik zuela memoria, 4.096 memoria hitzetan. Baina bertsio handiak izan 8K. Eta, beraz, hau dio duten 4K bertsioan batzuk ezabatu behar izan duzu kodea da egoki egiteko. Eta gauza bat ezabatu beharko litzateke plaza root errutina izango litzateke. Baina itxuraz, loops egin beharko lukete oraindik nahiz eta lan noiz behera konpilatzen ari zaren besterik 4K ordenagailu bertsioa da. DAVID J. MALAN: Beraz, gai bat, informatikako ikusi dugu, ideia hau da: layering eta abstrakzioa, eta benetan sorbalda gainean zutik izan duten gurekin aurretik etorri lagunok, ez Bill Gates batzuk ez bezala eta Paul Allen narrazio hemen. Eta zer esan nahi gaur egun dugun hartu ahal gauza eman, egia esan, errazagoa gurekin kodea idazteko. Izan ere kodea, esan bezala, ostiralean dugu, teknikoki iturburu-kode gisa ezagutzen. Eta ingeles honek sintaxia bezalakoa hori da gehiago egokia eta gehiago ondo definitu sasi kodea antzeko zerbait baino, zeren Horrek ez Definizio formal ez da. Eta gaur zer ari gara fokatu iturburu-kodea da itxura hau, eta horrek Admittedly, lehen begiratuan erabat críptica. Eta Egia, modu gehiago estetikoki da konplexu baino azpiko programa da. Programa hau guztia egiten du, oroitzapen, zer esango dugu? Bistaratzen besterik ez da "kaixo mundua". Eta, hala ere gauzak egin behar dugun guztia begiratu esaldi oso sinpleak duen inguruan biltzeko. Baina guztiok baino askoz lehenago lerro hauek eta gehiago Zentzu askoz hobeto egingo duzu. Eta fluxua honela da. Zer behar gure eskura ditugun dagoen kodea hartu, iturri bezala duten ikusi besterik ez dugu kodea. Eta programa berri bat behar dugu exekutatu bitartez egin. Algoritmoak behar dugu, ahal dugun bihurtzeko kode iturria, hau bezalako, objektu-kode, 0 s eta 1s sartu. Bestela esanda, zer gaur egun ikasten goaz da hori nola egin, idatzi Iturri-kodeak sortu top, gainditu du sarrera bezala berezi bat programa konpiladore bat bezala ezagutzen, eta horretan ari gara kode objektu ekoizteko. Zein fancy modu bat besterik ez da zerbait hartuko dugu esaten itxura hau, pasa ezazu Konpiladore izeneko programa batean, kode objektu ekoizteko itxura hau. Beraz, hauek dira hitzez hitz 0 s eta 1s ereduak diren batek ulertu Intel ordenagailu egun hauetan, PUZaren interpretatu bada ere, ordenagailu baten barruan garunak, egingo literalki inprimatu, nahiko besterik gabe, "kaixo mundua". Orain, ez da zu baino 0 s eta 1s modu gehiago Espero luke horretarako beharrezkoa izan daitekeen. Baina hori dugu eraikitzen ari delako konplexutasunaren zati handi batean garela aurrerantzean har dezake emandako. Bestela esanda, pertsona smart asko cool tresna asko eman digu eta software indartsu eta bertan egiten dugu orain gure berezko proiektuak egin daitezke. Beraz, dezagun Hasteko. Joan den ostiralean, eta hauek kontuan hartuta Arazoa Ezarri 0 aste honetan, duzu bat duzu jolasten mundu honen itxura. Gaurtik aurrera eta Arazoa Ezarri 1 Datorren astean, kodea gero pixka bat begiratzen joan críptica, baina funtzionalki da joan berdinak izatea. Beraz, adi, goiko Scratch da, beheko C. Egia Scratch da erabiltzaileak askoz gehiago da lagunarteko eta eskuragarria. Baina orain alderatu ikusmen to top bada hondoan, ez dago bat bat bat-mota arteko korrespondentzia puzzle piezak eta hizkuntzaren jolastu buruz ari gara. Hain zuzen ere, esan du, blue puzzle pieza sortu top, itxuraz baliokide zer keyword to edo hizkuntza horretan Esaldi bereziak C izeneko? IKUSLEEN: printf. DAVID J. MALAN: Printf. Hori formatuduna inprimatzeko esan nahi du. Eta hori fancy bat besterik ez printf esaten C modu da adierazpen bat edo funtzio bat izango da joan duen pantaila zerbait inprimatzen ditu. Zer esan nahi du inprimatu pantailara? Whatever esango barruan duzun komatxo, parentesi barruan. Beraz, berriro ere, admittedly, ez dago gauza asko da gogoan duzula, Parentesi, komatxo, puntu, eta hori guztia. Baina hori guztia ordenatu puntuan ondoan. Oraingoz eramateko interesgarriena dela esan Scratch blokea Pretty askoz baliokidea printf C. adierazpena Bien bitartean, horia puzzle pieza goian, berdea Ez klik egindakoan, da seguruenik baliokidea zer keyword hemen? IKUSLEEN: nagusia. DAVID J. MALAN: Beraz nagusiak. Agian int, agian hutsunea. Baina bezalako soinuak mota nagusiak garrantzitsua da, eta halaxe izan da. Beraz berdea Ez klik egindakoan da, berriro ere, puzzle pieza noiz hasten bat osoa Scratch programa. Baina orain hasteko deituz goaz duten nagusiak, funtzio hori nagusi bezala ezagutzen da. Orain berriz egingo dugu orokortu hau honela. Agian deitu funtzio bat esaten dugu. Eta begiratu du zehazki, honela. Beno, zer loops buruz? Bihurtzean hasi nahi badugu edo Scratch gehiago itzultzen C, Gauza hau hemen itxuraz besterik dio "kaixo mundua" betirako. Beraz, horiek erlazionatu baduzu Scratch katu batekin gidoiak, besterik esaten jarraitzea bizidunetako burbuila mota batzuk ere, "Kaixo mundua, kaixo mundua, kaixo munduan, "ad nauseum, betiko. Ere antzeko zerbait egin nahi badugu C, apur bat críptica bilatzeko da joan. Baina bera lortu ahal izango dugu Emaitza, azkenean dugu gisa jakin, honen antzeko sintaxia. Printf berriro erabili nahi dut, egunaren amaieran delako Inprimatu nahi dut "kaixo mundua". Eta ez dut itxuraz bat erabiliz keyword ez dela betiko. Izan ordez, berriz, hitza. Baina besterik ere semantikoki Ingelesez, berriz, mota horretako begizta edo ziklo mota batzuk iradokitzen. Beraz, gertatzen da, izan C erabiltzen hitzarekin. Eta egia bitartean, zergatik ez, berriz, Egia eraginkortasunez betiko esan nahi du? Beno, eta, aldi berean, laster egingo dugu Gehiago guztiak eskertzen, Parentesi honen ondoan ditu non adierazpen boolear bat jarri ahal izango duzu. Eta, beraz, luze jo adierazpen egia da kode hori, Bi horien artean, izenda gisa giltza kizkur ditugun bezala deitu, Horretarako nahikoa mantentzeko, behin eta berriro martxan. Beraz egia da egia. Beraz egia bitartekoak, berriz, besterik egin hau betiko. Ia ergelak eraikitzeko zeure burua adierazteko. Baina ez zen betiko C. keyword Badira bitartean izan zen. Eta ez zen oso erraza da Egia bezalako adierazpen boolear. Eta, beraz, hau, ikusi dugu, emaitza bera lortzen. Nola bestela agian begizta bat ezarriko duzu? Beno, Scratch you might kopuru zehatz bat hard kodea begizta hemen iterazioak. Eta, beraz, hori da zehazki zer egiten dugun baliteke C-ren bertsio hau egin, Horren bidez bat behar dugu begizta deiturikoak. Eta begizta hemen va , batetik bestera joateko zertxobait cryptically, on eta 0 balioa baina 10 baino gutxiago. Orain Scratch aldagaiak. Baliteke izan dute horiek erabiltzeko kariaz. Baina zer puntua, da, oro har, aldagai baten zuten joan den astean esaten dugu? Zer da hori? IKUSLEEN: puntuak. DAVID J. MALAN: To seinalatu? Oh, puntuak. Ados, puntu jarraipena, esate baterako, joko batean. Edo, oro har, egiten gehiago aldagai hauekin zer? Zer da erabilgarritasuna? IKUSLEEN: Memoria. DAVID J. MALAN: Yeah, beraz, memoria. Zerbait gordetzeko da. Eta silly entzunezko I moduko erabiltzen Azken aldiz kristalezko ontzi hau bezalakoa zen. Eta gorde nahi badugu aldagai baten barruan zerbait, esate baterako, oraintxe bertan egin Balio sei delako han Hemen ere sei ping pong pilotak dira. Besterik biltegiratze nolabaiteko It edukiontzi duten kanpaia azpian bit, 0 s eta 1s inplementatu, hala ere, ordenagailu bat gertatzen ez da egin behar. Beraz, Scratch, badugu aldagai bat izan nahi, laranja bloke bat hau atsegin erabili ahal izango dugu. Counter deitzen izango dugu Kasu zehatz honetan. Da hasieratu I 0. Eta zer da, ondoren egin behar dut? Forever, esan counter, bada bertan Scratch jolastu horrekin, zuk bakarrik ikusiko Scratch. Katua edo dena mozorroa jarri kopuruaren hitz egingo zion galdera. Aldaketaren 1 eta counter da 1 eta incrementing bezala. Eta, beraz, hau da joan beraz, zer zer-tik? 0tik infinitura til, edo Scratch-jauziak arte, edo duzun arte Ordena interesa galtzen behaketa Nola altua benetan zenbatu ahal izan dezan. Beraz, nola liteke hau bihurtu dugu C-ra? Honez apur bat críptica itxura du. Baina, berriro ere, begiratzen baduzu bakoitzean lerro hauek banaka moduko jokatzen dute, oro har. Beraz, itxuraz int da joan C. esanahi berezia dute Duten ikusiko dugu berriro. Bat alde batera utzita bezala osokoa esan nahi du. Beraz, besterik kopurua esan nahi du. Beraz, mota da Kristalezko ontzi nahi dut, inork zenbakiak gordetzeko, Ez pong pilotak ping. Eta ez dut berdin ikurra erabili joan ez da 0 balioa esleitzeko. Beraz, nahiko multzo bezala counter 0, baina C. Bien bitartean, egia, berriz, hori izan zen baliokidea, jakina, betiko, apur bat críptica baldin bada ere, eta ondoren kizkur giltza barruan. Eta kizkur giltza horien pentsa dezakezu, zein teklatuan idatz dezakezu, gisa benetan ere kurbatura honela izanik horia begizta Scratch bloke horietan. Kode lerro bat baino gehiago landuko da. Printf bat lortzean little scary orain nuelako Ikusten ez bakarrik parentesi artean aipatzen du. Baina, zer da berri sintaktikoki adibide honetan? Ez dago garbi d da. Eta gero backslash n dago. Ikusi genuen, hori baino lehen, are gehiago, nahiz eta ez nuen aipatu du. Orduan ez koma bat da. Eta gero ez counter bat da. Baina ikusi dugu bat besterik ez Une honetan hori da, besterik gabe, inprimatu bat esaten modu estandar bat "Zenbaki hamartar," aurrekontua, unquote, Zenbaki hamartar batzuk. Baina naiz geroago esango dut zer hamartar zenbaki hori dagoen. Izan ere, ez dagoela koma bat line esaera printf honetan, esan nahi du, aurrera eta inprimatu Zenbaki hamartar batzuk. Oh, eta bide batez, kopurua da edozein dela ere, aldagai horren balioa da. Eta, beraz, hau gehiago egiteko argia, adibide bat ikusiko dugu luze baino lehen, zehatz-mehatz printf inplikatuz C benetako programen testuinguruan. Orain besterik ez itzulbiratu batzuk eraikuntzen horiek. Adierazpen boolearrak, baliteke dute horiek erabiltzeko Oraingo programan baina oso ondo dezakezu, batez ere, baldintza erabiliz gero. Eta beraz, bi adibide horiek Urratu esan x y baino gutxiago bada, edo xy baino gutxiago bada eta y ez da hain z baino, nola liteke hori itzuli dugu? Beno, C besterik ez da to honen itxura. A críptica, parentesi gehiago little, ampersands arraro batzuk, baina funtsean ideiak bezain sinpleak dira puzzle pieza munduko dira. Ari gara, besterik gabe, zerbait bada egiaztapena beste zerbait baino gutxiago. Nola baldintzei buruz? Ingelesez Hitz batean, zer du honek Scratch kode zatia ez esango zenuke? IKUSLEEN: bi zenbakiak konparatzen. DAVID J. MALAN: konparatzen bi zenbakiak, eta gero x y baino gutxiago askoz ere esaten du. Xy baino handiagoa bada eta gehien, bestela dio x berdina bada y bezainbeste dio. Orain, non x eta y etorri? Nork daki. Scratch zatia hau kodea testuingurutik kanpo dago. Baina orain zer egin nahi dugun da itzuli hau une bat besterik ez da ikusi. Beraz, eroso lortuko duzu aste honetan Arazoa Ezarri diren 0 mundu honetan jolasten ezkerrean, konturatzen duten ideiak ez dira aldatzen aste honetan edo hurrengoan, edo haratago. Dugu besterik gabe ari zaren joan gauzak idazten hasteko batera, beste modu batean gure ordez gure saguaren teklatua. Beraz, bada, xy baino gutxiago, eta Parentesi batzuk han ez dago, orduan ez dago giltza kizkur batzuk berriz ere, mota horretako enkapsulatu besterik antzekoak horia puzzle piezak egin. Eta ez dut printf joan x y eta abar baino gutxiago. Zer da C inguru polita, Hemen ikusi dezakezu bezala, da ez duzula habia hau lortzeko, habia, habia hori nahitaez Zure kodea bultza eskubidea izango. Ordez izan dezakezu guztia hamaikakoa bata gustatzen honetan. Baina hori besterik ez estetikoa Xehetasun berriro ikusiko dugu, luze baino lehen. Guztiak eskubidea. Beraz, gurekin ekartzen itzuli nahi bila críptica programa hau. Demagun kodea batzuk idazten benetan. Orain, nola ez duzu kodea idatziz buruz? Urte hauetan guztietan duten jabetzako dituzun Mac edo PC, desktop edo ordenagailu eramangarria, Nik, egia esan, gaitasuna izan duzu programazio kodea idazten hasteko. Baina seguruenik ari zaren falta programa mota berezi bat. Zalantzarik gabe idatzi ditzakezu kodea. Baina ezin duzu nahitaez, out koadroan, bihurtzeko iturri kodea duten objektu-kode, 0 s eta 1s sartu Zein da zure ordenagailuan gabe? IKUSLEEN: Konpiladore. DAVID J. MALAN: Beraz, konpiladore bat, eskubidea. Orain duzun gehienak Ziurrenik ez konpiladore baten jabea, ez dute inoiz deskargatu konpiladore bat. Baina ikusi deskarga dezakezu dituzu gehienetan beste edozein software bezalako. Mac OS munduan, baliteke deskargatu edo dagoeneko deskargatu Zerbait Xcode edo GCC edo Clang deitu. Bazatoz batetik Windows munduan you might Visual Studio deskargatu, Visual Basic, horrelako inguruneak. Ez da konpiladoreak dozenaka egun hauetan agian erabiltzen duzun. Baina horixe gertatu da hemen da mina bat izango litzateke eta, Egia, teknologiko bat Ehunka amesgaizto ezberdinak dituzten pertsonen ordenagailu guztiei konfigurazio beren makinen konfiguratzeko zehazki modu berean beraz, ezin dugu guztiak orri berean egon. Beraz, zer egiten dugun, horren ordez, egin CS50 da emango dizkizuegu ingurune estandar bat, a Linux ingurune hori itxura apur bat joan honen antzeko zerbait. Hau gehiago ikusten duzu Arazoa Set 1 zehaztapen horrek online joango dira ostiral gau honetan. Eta honek zer esan nahi du you dela aurrerantzean dira gai izango da deskargatzeko eta programa bat instalatzeko izeneko CS50 Appliance. Eta ari deskargatzeko zoaz eta izeneko beste programa bat instalatu hypervisor bat, hau baino ez da Hori lortzeko modu fancy. Mac edo PC edo jabea den ala ez Linux ordenagailu edo Solaris ordenagailua, edo dena ero eragilea exekutatzen ari zaren sistema, programa bat jaisten joan zaren hypervisor hori deitzen CS50 exekutatu joan Appliance zure ordenagailuan ez du axola zure sistema eragilea zein den. Bestela esanda hypervisor A bihurtzen gure edozein dela hizkuntzarekin gauzak, edozein dela argibideak zure egin ordenagailu ulertzen. Beraz, hau layering da. Eta berriro ere, hau da, mota ordenadorean gaikako zientzia, gauzen gainean eraikina. Baliteke Windows duzu. Baliteke Mac OS behar duzu. Baina datorren astean hasita Oraindik deskargatu joan software librea da hypervisor deritzo. Pieza bat deskargatu ari zara software izeneko CS50 Appliance. Hori da hypervisor aldean abian joan, zein da zure ordenagailuan exekutatu. Eta azken emaitza da guztiok izango dela antzeko leiho sinple bat hau da zure Mac edo PC hori guztia ilusioa ematen digu sistema eragilea bera korrika, Beste edozein gabe Zure ordenagailuan eragin. Eta pantaila osoan egin ahal izango dituzu da eta, funtsean, portaera exekutatzen ari zarela, nahiz eta gisa bat Linux izeneko sistema eragilea, hau da, zer CS50 Appliance oinarritzen da. Hargatik benetan erabili hau orain programa bat idazteko. Programa bat idatzi dezakezu Microsoft Word erabiliz. Programa bat idatzi dezakezu TextEdit edo Notepad erabiliz, edo WordPad, edo nahiko askoz edozein hitz prozesatzeko programa duzun inoiz erabiltzen. Baina errealitatea da, ez behar duzu erabili benetan programak horietako edozein. Duzu, zalantzarik gabe, ez da erabili behar Microsoft Word, antzeko zerbait bertan bold artean eta letra etzanean, eta ditu tipoak handiagoa eta tipoak txikiagoak, Ordenagailuak ez du delako hori edozein zaintzeko. Informatiko guztia da axola buruz joan English C. idatzitako argibide bezala Beraz, zer egiten dugu barruan egingo CS50 Appliance du programa bat ematera behartuta dago eskuragarri, eta hori da, honetan aurrez instalatutako tresnaren, Gedit izenekoa. Eta Gedit besterik ez da super sinple bat Mac OS en TextEdit bezalako testu editore, Windows Notepad hori joan atsegin honen antzeko zerbait apur bat itxura. Hargatik, benetan ez honen diapositibak begiratu. Baina dezagun benetan joan ingurumena bera. Aurretik joan naiz eta saioa hasi beste leiho honetan, nire CS50 Appliance, dut nahi aurrez instalatutako nire laptop hemen. Ohartu, Windows eta antzekoak Mac OS, menuak batzuk lortu. Windows bezala jartzen hor behera ordez Mac OS, eta horrek jartzen du behera han. Baina errealitatea da, da bera mota guztiak. Eta hemen oso bat da software sorta. Ez dago Dropbox. Badira osagarrien sorta oso bat da, programak grafikoa duten zaitugu arazo multzo epe beranduago erabiltzeko. Ez da, beraz, eraikitako web nabigatzailea hori fledged ordenagailu beteta dago ordenagailu baten barruan. Baina naiz hau sakatu dut joan ezkerreko ikono zuria hemen, bertan Gedit ikonoa da. Eta nik leiho bat irekitzen joan duten hiru panel ditu bertan, ezker bat, top bat da, eta behean beste bat. Orain eskuinekoa goi honetan duten Kode batzuk benetan idatzi dut. Beraz, egin dezagun hau ,. , Gorde joan noa. Eta agian ez duzu inoiz ikusi dute leiho zehatz honetan aurretik. Baina hau Mac OS edo Windows bezalakoa da. Leiho bat besterik ez da karpetak guztiekin informatiko horren barruan behar dudala. Eta ez dut gorde beharreko joan fitxategia hello.c gisa. Eta ez naiz joango Animatu eta sakatu Gorde. Eta orain konturatu fitxa bat daukat goiko ezkerreko hello.c deitu. Beraz, ziurrenik pretty ezagutzen ez dudan, nahiz eta programa jakin arte erabili. Eta orain arte horietan idazten joan Nahiko críptica Komando sekuentzia Duela une bat ikusi genuen. Artean, besteak beste, I standard / O.h. Laster Horretan gehiago. Int hutsune nagusia, kizkur irekia giltza, kizkur giltza itxi. Eta gero han barruan uste dut Bertan "kaixo mundua", koma izan genuen. Eta orain gorde. Beraz, hau C idatzitako programa bat da, idatzita, beraz, iturburu-kodea ere. Baina ezin dut programa hau, besterik gabe exekutatu. Mota dut bikoiztu nahi klik ikono baten gainean nonbait, baina ikono lortu ez duten beste iturburu-kodea fitxategia baino. Zer, berriro ere, prozesua ez da orain dela Bidez fitxategi hau abiarazi behar dut? IKUSLEEN: Konpiladore. DAVID J. MALAN: Beraz, konpiladore bat. Beraz, ordenagailuak ezberdinetan duzu egin hau modu ezberdinetan. Baina, zer egin dugu hemen CS50 Appliance hori da ordezkari how you might egin hau sistema desberdin askoren, hau da, naiz besterik gabe joan make izeneko komando bat exekutatu. Eta marka da, hitzez hitz ez da egin behar. Egin zidan programa bat. Beraz, egin da joan konpiladore bat exekutatu niretzat. Eta programaren izenarekin Da kaixo egin nahi dut. Orain egiteko programa bat da. Eta egiten da smart nahikoa konturatzen naiz esan, kaixo, nik automatikoki bila joan izeneko fitxategi hello.c batentzat Hori besterik ez da delako Modu ari konfiguratuta. Beraz, hit dut orain Sartu hemen, hau crazy line críptica besterik exekutatu egin zituzten. Eta konfiantza me, aurretik luzea, egun gutxi barru, Ulertzen duzu zer guztiak zentzugabekeria bide hori. Baina, oraingoz, besterik ez dakit egiten duten abiaraziak konpiladore baten exekuzioa. Beste era batera esanda, aurkitu nire ordenagailuan konpilatzailea hori da aurrez instalatutako CS50 Appliance buruzko egingo dugu zuzenean esku Arazoa Set 1. Eta orduan hartu zuen hello.c gisa sarrera, eta, antza denez, ekoitzi 0 s eta 1s irteera gisa. Eta lehenetsita zer egiten da gordetzen 0 s eta 1s horiek fitxategi batean izeneko kaixo. Eta sintaxia hau, nahiz eta gehiegi agian izan berria duzu, besterik gabe dot esanez barra kaixo da izango esan nahi du, horren bidez, programa hau exekutatu. Oraingoz eta pare gutxienez bat aste, ia programa guztietan dugu idazten ari den egingo zela testu zuri-beltza eta leihoak. No saguak, disparo ez, Leihoak ez, ikonoak. Simple mantentzeko goaz eta azpiko ideia ardatz lortzeko, hasieran aurretik zerbait dugu maila handiagoa, esate baterako, break out Joko Hitz egiten dugun bezala Lehenengo hitzaldia azken astean buruz. Beraz, Sartu hit dut hemen, behin- testu bat ingurune bakarra baliokidea kaixo izeneko ikono bat klik bikoizteko. Zer egingo espero duzu gerta Idatzi ondoren, sakatu dut? IKUSLEEN: inprimatu egingo da "kaixo mundua". DAVID J. MALAN: Zorionez "kaixo mundua". inprimatu izango da Eta halaxe izan zuen. Orain, ez da batzuk críptica sintaxia hemen. Dezagun atzera egiteko besterik une bat ikusi badugu ezin da besterik arabera ondorioztatzea , tinkering nahian eta halakorik ezean, zer gertatzen da hemen ere. Zer bada of backslash n kentzeko? Orain duzun batzuk dut nor ziurrenik aurretik programatutako jakin berehala zer esan nahi duen. Baina nik duzuenontzat for inoiz aurretik programatu, gutxienez buruari pentsatzeko zer ari den gertatzen denean Berrabiarazi programa hau aldatzeko? Beraz, ez dut atzera jaisteko joan nire Zuri-beltza eta leiho txiki, leihoa da bertan Dut hau konpilatu daiteke. Kaixo konpilatu noa. Bera ikusten ari gara críptica Komando sekuentzia. Eta ez dut dot barra egin kaixo joan. Eta orain norbaitek, nahi duzun bada, nor ez da inoiz aurretik programatu, zer ezberdina izan daiteke une honetan? Bai. IKUSLEEN: ez da gelditzen inprimatzeko "kaixo mundua". DAVID J. MALAN: Honez zaie barkatu egingo? IKUSLEEN: Ez da inprimatzeko gelditzeko? DAVID J. MALAN: Ez da gelditu inprimatzeko "kaixo mundua". Beraz, ez da ideia txarra. Beste ideia? Bai. IKUSLEEN: Errorea mezua? DAVID J. MALAN: Error Mezu, OK, izan daiteke. Zer gehiago? IKUSLEEN: inprima zitekeen puntu eta koma baita parentesi? DAVID J. MALAN: inprima dezakete puntu eta koma baita parentesi. Beraz, agian backslash duten Orduan batzuk terminous mota hori da garrantzitsua. Beste edozein pentsamenduak? Ideia Beraz, guztiak onak. Eta hain zuzen ere, joan da errore-mezu bat izan nahi du. Hori da, ziurrenik, ziurrenik oro har, erantzuna izan nahi du hurrengo asteetan Hemen kode ikasiko dugu. Baina orain gogoratzen ordenagailuak bakarrik zer kontatu duzu egin. Barregarria kakahuete bezala gurina eta gelatina adibidez. Gure giza ordenagailuak bakarrik ziren ustezko zer esan duzu zer egin behar den. Beraz, kasu honetan, baduzu ez dute ordenagailua kontatzeko keinuka kurtsorea mugitzeko izateko hurrengo lerroan, ez da egin behar. Beraz, programa hau exekutatu orain, aldea nabarituko. Bug bat itxura. Bug estetiko bat da, agian. Baina zer da hau ezberdinak irteera ren jakina versus? Bai. IKUSLEEN: Ez da linea berri bat egin. DAVID J. MALAN: Ez du linea berri bat egin. Orain duzuenontzat agian egin web orriak izan aurretik, la jakin dezakezu BR tag edo paragrafo etiketa, oso antzeko espirituz. Web nabigatzaile bat ez ikusi arte izango esango dizu zehazki zer egin. Era berean, C bezalako hizkuntza bat bakarrik zer egiten duzu esan egin egin behar. Beraz, arrazoia Adibide hauek guztiak, beraz, orain arte, izan mota horretako kasualitatez backslash hau izan Han ere, hori da bitartekoak horren bidez, zeure burua adierazteko line pertsonaia berri bat bezala, nolabait esateko. Eta eskertzen mota dezakezu, agian, hori ergelak mota edukiko luke besterik ez bada. Lerro berri bat nahi nuen, besterik ez kolpatzeko sartu eta gero, mota bezalakoa kodea butchering Ez zenuke benetan igurtzi duzu eskuineko bidea. Eta nahiz eta ez duzu Benetan puntu honetan zaintzeko, dela konturatzen izango duzu hau ez da bereziki bat bila kode zati ona. Eta beraz, zer munduan Duela urte erabaki da orduan jarri nahi al duzu linea berri baten gainean kurtsorea esplizituki, Esplizituki esan behar duzu linea berria, backslash n. Eta ez da beste batzuk horrelako sinboloak. Baina orain, besterik ez dugu on backslash n ardatz. Egin dezagun programa apur bat gehiago interesgarri. Aurretik joan naiz eta Denbora horretan ireki fitxategi berria. Hau bezalako kaixo-1.c gorde noa. Eta besterik ez Jaurtiketa, naiz joan go jarri nire Dropbox karpetan. CS50 en ikusi ahal izango duzu aparatuaren dokumentazioan, geroago aste honetan Arazoa Ezarri 1, egingo animatzen ditugu Dropbox erabili behar duzu edo baliokidea zerbitzu batzuk, ondoren, zure kodea horrek guztiak ere joan babeskopiak egitea automatikoki. Eta beraz, horregatik dut Karpeta honetan sartzen joan hemen. Eta orain bat idazteko joan programa apur bat desberdinak. Artean, besteak beste, I standard / O.h, int hutsune nagusia. Eta gero, hemen printf, kaixo mundu batean, hau da, zehazki bera alegia. Baina orain zerbait inprimatu nahi dut apur bat desberdina da. Inprimatu nahi dut, esan, "Kaixo, David." Ondo da, jakina, eta beraz, zorionez behar lukeen kasuan hori dut konpilatu bada Programa honetan, berrabiarazi, nik esan du "kaixo, David." Baina zer nahi badut aurkeztu aldagai-mota hau, edukiontzi baten ideia hori joan D-a-v-i-d eta kodea ez gogorrean gordetzeko nire programan sartu. Beno zer I hasten bada Honen antzeko zerbait egiten? String s, beraz, aldagai bat da. Kate bat nahi baduzu, hitz bat edo esaldi bat a.k.a.. Karaktere-sekuentzia bat zer den programazioan dugu kate bat deitu. Ari gara oro deitu joan s, izen sinple polit bat delako. Baina nik ezer deitu daiteke. Katea s berdinen esan nahi dut aurrekontua unquote, "David", koma. Eta orain sartu nahi dut D-a-v-i-d inprimatzeko zer naiz sartu. Eta teaser bat ikusi dugu aurretik sintaxia berezi batzuk pantailan Onartzen gurekin balio bat ordezko. Zer berezia izan zen sinbolo duela txirrista batzuk bat? Ehuneko Beraz. Garai hartan berea zen zenbaki hamartar for d. Hori ez da benetan badirudi garrantzitsua hemen. Turns han-ren ehuneko beste ikurra, hau da, ehuneko s, eta horrek nabarmentzen kate bat biltegian izateko. Beraz, gaur egun, oso besterik gabe, naiz joan kaixo-1 egiten joan, Fitxategi hau deitzen delako kaixo-1.c, eta sakatu Sartu. Eta dena izorratu nuen. Zer gertatzen da? Beno, hemen da non hasteko behar dugu baloratzen ari gara komando honetan lerroa ingurumena, hau testua ingurune bakarra. Ez dago ikonoak ez karpetak bezalako oraintxe. Eta uste zuen orain dela une bat. Zer karpeta egin nuen esan Nire kode aurrezteko zen? Beraz Dropbox karpeta. Ezin izan dute ezer izenekoa. Baina Dropbox deitu behar da gertatzen da. Beraz, nolabait, egin klik bikoitza egin behar dut duten Dropbox ordena lortzeko karpeta bertan sartu eta nire kodea kaixo-1.c izenekoa. Izan ere, utzi aurrera me eta minimizatu une bat besterik ez leiho hau. Just Windows eta Mac OS bezala, daude Linux-en karpetak. CS50 Appliance karpetak daude. Besterik oraintxe confining ari gara testu ingurune honetan geure. Baina klik bikoitza badut Dropbox on, konturatu ez horretara konpilatu nahi dut fitxategia da. Baina hau beltza eta zuria behar dut terminal leihoa, nolabait esateko. Baina behar dut, beraz, mugitu karpeta edo direktorioa sartu. Beraz, apur bat urrutira, baina Erabilitako honetan jasoko duzu gehiegi. Linux munduan, horrek berriro eragilea da sistema CS50 barrua dugu exekutatzen ari Appliance, ez CD izeneko komando bat. Horrek esan nahi du CD, espazioa, Dropbox egin ahal izango dut. CD, aldaketa direktorioa. Eskuin. Itzuli eguneko denean pertsona ziren ordenagailuak asmatuz eta eragilea Honen antzeko sistemak, nahi dute idatzi zanpatze gutxien ahalik. Beraz, esan modurik errazena aldaketa direktorioa CD zen. Beraz, CD, espazio Dropbox hit badut, nabarituko hemen zer aldatu da. Parentesi barruan aparatuaren da, mota me humoring eta me gogoraraziz non nagoen. Beraz irekita karpetan Dropbox da. Ls idatzi dut orain bada zerrenda, berriro succinct, zeren jendeak ez zuen nahi idatz atzeko egun l-i-s-t. Beraz ordez egin zuten ls. Sartu. Iragarki bi gauza ikusten ditut, kaixo-1.c, eta ondoren críptica gauza hau, iturri 1m. Hori da nire esateko modu da iturburu aste 1 astelehena kodea. Bisitak dut karpeta bat Hori da, CS50 web-a dela gaur egun lehenago egin nuen eta jarri sartu aldez aurretik, tresnaren. Baina orain gauza bakarra egin genuen da programa hau egiten zaintzeko. Beraz, kaixo-1, Sartu idazten dudanean. Malditos. Zerbait oker joan. Hargatik tease honetan gain. Eta zoritxarrez, hau da, non gauzak get apur bat deserosoa lehen, gutxienez dut baduzu inoiz aurretik programatutako. Nire jainkoa. Bi lerro programa bat idatzi nuen, eta Lau akatsak ildo daukat. Beraz, zer gertatzen da hemen. Lehenik eta behin beti korrituko atzera sortu eta lehen error message aurkitu, oftentimes besterik Konpilatzaileak delako zer zuk eta nik egin by nahastu. Enpresen administrazioa nahiko mutu dira. Bakarrik egin ahal izango dute zer kontatu egin. Eta horiek nahastu izanez gero, besterik gabe ari dira mota horretako bota bere eskuetan joan eta, agian, bota gehiago akats mezuak Baino egia esan, garrantzitsua. Hargatik begiratu lehen. Super críptica lehenengo. Baina oharra, hemen izenean fitxategia bertan izorratu nuen itxuraz. Colon 5, colon 5 besterik ez du esan nahi duen linea 5 bosgarren pertsonaia at. Beraz, bosgarren karaktere zutabean, izango bada, error. Identifikatzaile undeclared katea erabiltzea. Esan nahi zenuen n estandarra? Ez, katea esan nahi dut. Eta gero mota da kopiatu eta itsatsi zer den benetan marraztu idatzi dut nire non izorratu nuen arreta. Beraz, arrazoirik C batengatik, edo, gutxienez, konpiladoreak ulertzen ez hitz-katea. Eta hori da egin dugu sortu delako. Beraz, katea ez da existitzen in C. Zer CS50 du, Lehenengo asteetan klaseko bakarra, da prestakuntza batzuk ematen dugu gurpilak, nolabait esateko. Eta prestakuntza gurpilak horiek jarri ditugu cs50.h. berezi baten barruan Beraz, honen bi fitxategiko bigarrena da izenak itxuraz dot h amaituko da. Dezagun atzera egiteko. Printf adierazpena edo funtzioa da itxuraz zerbait inprimatzen pantailara. Baina ez duzu ikusi me printf ezartzeko, eskuineko. Duela Norbaitek urte abian jarritako printf. Zer fitxategian zuela apustua edo ezartzeko jarri zuen printf, printf kodea du? I / O.h estandarra izeneko fitxategi batean. Izan ere, seguruenik ere bi fitxategiak, I standard / O.h, bertan goiburua nabarmentzen fitxategia, eta I standard / O.c, horretarako, C iturburu-kodea nabarmentzen. Beraz, berak duela urte batzuk plopped Kodea idatzi fitxategi hori sartu dute beraz, gu bezala pertsona urte geroago bertan sar daitezke, nolabait esateko, gure programa propioa. Eta hori ere libra zer zeinua da hitza eta ondoren, besteak ez. Itxura tokiko disko gogorrean, standard I / O.h izeneko fitxategia aurkitzen du, eta ondoren, kopiak modu eraginkorrean eta Nire fitxategia propioaren barruan itsasten ditu. Beraz, orain nire programa daki nola pantaila inprimatzeko. Beraz, logika, non arabera kate definitu? IKUSLEEN: cs50.h. DAVID J. MALAN: cs50.h. Eta, hain zuzen, hori da zer egiten dugun, core langileek, egin. A datu-mota batzuk asmatu ditugu, nolabait esateko, kate bat bezala, direnak gain duzu doan eskuratu, int bat bezala. Eta char bat bezala besteek ikusiko dugu pertsonaia bat, eta batzuk gehiago. Inside of CS50.h itxuraz Gutxienez kate aipamen batzuk. Beraz, gaur egun utzi aurretik, joan eta berrabiarazi egin kaixo-1. Berriro mapan handiago dut eta nire behatzak zeharkatu. Orain by egin ondoren, inork aldatzeko gauza gehienak konpondu dut. Baina madarikatua. Portzentaiak datuak argumentuak baino gehiago. Zer oker egin dut une honetan? Beraz, oraindik nahiko críptica da. Baina error honetan dagoen 7 line eta izaera 21. Beraz, goazen, hemen begiratu. Apur bat sotila. Baina uste baduzu zer oinarrizko ideiak dira hemen, agian honek aurre egiten ahal dugu aparte. Beraz printf funtzioa izena da. Parentesiak, beraz, orain arte, ez da besterik ez inguruan zer jarri dugun bezala gauzak pasatuz ari gara funtzio bat sarrera gisa. Ondo da, bat besterik ez giza konbentzio arbitrarioak. Parentesi erabili. Parentesi horiek Inside dugu dira komatxo jarriz Nik, eta orduan bezala kate bat "kaixo mundua". Baina lehenago adibide horretan oso laburki zuen itxura Scratch at dugu. Eta ehuneko d, izan dugu zer gehiago parentesi horien barruan zegoen oihu egin ditudan hitzez? Bai. IKUSLEEN: Beraz, zer hartzen ari zaren [INAUDIBLE] barruan from [INAUDIBLE] zer horiek [INAUDIBLE]? DAVID J. MALAN: Zehazki. Beraz ehuneko d izan genuen. Baina, ondoren, itxi behar izan genuen aurrekontua, koma, counter. Eskuin. Zer nahi dugun zehaztu dugu leku-marka bezala. Beraz, zer egin nahi dut da koma, zer egin nahi duzu jarri me? IKUSLEEN: S. DAVID J. MALAN: S, delako z kasu honetan erregai-tangaren izena da. Kristalezko ontzi horren izena da. Kontuan izanik counter zen, hala ere, aurretik Scratch adibide erraz begiratu dugu. Beraz, gaur egun joan eta bi egin aldaketak, utzi gerturatzeko me eta behin gehiago saiatu programa hau konpilatu. Orain críptica lerro hori ikusten dut. Baina hori da, benetan, konpiladoreak izena. Clang konpiladorea izena da. Egin besterik ez da me aurrezteko inoiz buruhauste luze ero komando Idazten out. Beraz, gaur egun, bada nik ez dot barrarik kaixo-1, "Kaixo, David." Ikusi beharko dut Pretty underwhelming, ordea, ezta? Egin genezake hau askoz gehiago, besterik gabe, aldagai buruz hitz egin gabe eta CS50.h eta hori guztia. Beraz, dezagun bat apur bat gehiago interesgarri. CS50.h gain, katea bezalako gauza izatea deklaratu, CS50 liburutegia gainera, funtzio batzuk ditu. Duela Beraz, besterik ez bezala urte, norbaitek idatzi zuen printf eta jarri dut / O.h estandarrean eta beste fitxategi batzuk. Dugu CS50 langileek, funtzio bat idatzi GetChar, GetDouble, GetFloat izenekoa, GetInt, GetLongLong, hain zuzen, GetString, eta fitxategi baten barruan horiek jarri ditugu CS50.h eta CS50.c. izeneko Eta haien barruan jarri dugu CS50 Appliance du. Eta jendeak ere egin deskargatu online badute jartzea nahi beren egin ordenagailuak baita. Zein da sortu dugu esan sarrera lortzeko erabiltzaileari duten funtzioak. Ez dakit zer guztiak Datu horiek mota daude. GetInt mota da erraza, atsegin zenbaki oso bat, nolabait erabiltzaileari. Eta GetString da seguruenik get antzeko Hitz edo erabiltzaileari esaldi bat. Beraz, dezagun horretan. Eta ez dut atzera joan sartzen joan tresnaren eta noa aurrera noa eta fitxategi hau gorde, dezagun deitzen kaixo-2.c nire bigarren bertsioa. Eta egin dezagun aldaketa pare bat. Ordez Oraingoan kodetze gogor David, eta horrek esker, oso koherentea bat baina underwhelming programa, zer egin ordez badut GetString? Orain konturatu GetString parentesi ireki bat dauka, parentesi itxia, zeren ez du inolako sarrera behar. Besterik go iritsi erabiltzaileak kate bat. Eta orain beste sintaxia hitz bat. Puntu eta kode lerro bat amaitzeko. Ez duzu behar horiek nonahi. Baina hori besterik esan nahi naiz Kode-lerro honekin egin. Dezagun mugitu beste aldera me adierazpena edo funtzioa. String aldagai bat deklaratzen. String esaten duena bezalakoa da ematen dit ontzi batean, mesedez. Eta utzi kate bat jarri zidan bertan. Eta orain, berdin ikurra. Zer da berdin ikurra funtsean baliokidea? IKUSLEEN: esleitzea. DAVID J. MALAN: Yeah, balio bat esleitzea. Beraz badut, adibidez, dei funtzioa GetString honetan, eta une hori ikusi dugu kate bat erabiltzaileari galdetuko behar. Honek, ondoren, idatzi me uztea bezalakoa da D-a-v-i-d paper zati batean. Eta noiz katea diot s GetString berdin, berdinak ez du benetan esan nahi C programazio berdina. Eskuinetik egindako esleitu esan nahi du eskuko ezkerraldeko alboko. Beraz, kate bat ahaztuak ditut. Eta berdin ikurra esan nahi du jarri biltegiratze izeneko s edukiontzi. Eta Gero pasatzen honetara off printf benetan egiten bere gauza. Beraz, azken emaitza, ondoren joan itxura apur bat ezberdinak dira. Egin dezagun kaixo-2 ez. Edo lan izan. Honako batera ari zara. Kaixo-2 aritu. Dot barra kaixo-2, Sartu. Infinitua bat izan dirudi dut begizta edo zerbait. Ezer ez da gertatzen. Zergatik? IKUSLEEN: infinitua loop bat egiten du. DAVID J. MALAN: begizta infinitua da. Honez motatako zain me benetan ematen du sarrera batzuekin. Hargatik aurrera me eta idatzi David, eta sakatu Sartu. Eta orain esaten du "kaixo, David." Berriro dut exekutatu bada. Dezagun idatzi Rob, "Kaixo, Rob". Orain hori da txarrena Erabiltzaile interfaze inoiz. Erabiltzailearen itxuraz ustezko zer egin behar zen jakiteko. Baina ez du axola. Eraikin horiek berak erabiliz blokeak, Scratch bezala, arazo hori konpondu ahal izango dugu, eta esan zure izena bezalako mesedez zerbait, bi puntu, espazioa, aurrekontua itxi, itxi parentesi, koma. Beraz, asko berriro sintaxia batera ergelkeria. Baina konturatu besterik ez dut gehitu ko hau batez puzzle pieza eta hau batez. Beraz, orain berrabiarazi dut hau bada, kaixo-2, Sartu. Itxaron minutu bat. Zer gertatzen da? Ez da edozein ezberdinean jokatzeak. Bai. IKUSLEEN: Ez duzu make berriro. DAVID J. MALAN: ez nuen exekutatu berriro, eskuinera. Beraz, aldatu dut nire iturri kodea. Baina, berriro ere, ez fluxu hori da. Iturria konpiladorearen bitartez kodea ematen you objektu-kode berria, edo 0 s eta 1s. Beraz behar dut benetan berrabiarazi egin kaixo-2 Sartu. Ados, zerbait gertatu dela dirudi. Dot barra kaixo-2. Zure izena mesedez. Eta argi izan behar du orain, zergatik da lerro berean kurtsorea? Zehazki. Ez nuen jarri backslash n sortu hemen nire kodea. Beraz, orain ahal idazten dut Daven antzeko zerbait, Sartu. Berriro ezin dut exekutatu eta idatzi Gabe bezalako zerbait, Sartu, eta hainbat programa lortuko dugu eta berriro, behin eta berriro. Orain, azken batean ari gara, behar joan a gaitasun ezberdinak batzuk erabiltzeko. Aurkezteko azken finean batzuk behar ditugu Gauzak conditionally egin baldintzetara. Agian begiztak horrela egin ahal izango dugu Gauzak behin eta berriro. Agian polita badugu litzateke gure funtzioak ezartzeko izan, bezala gure kabuz ezartzeko izan dugu printf edo gure GetString bertsio propioa eta GetFlow, zeren azken finean, nahiz eta Komando honek line ingurunea erabiliz daiteke ere gehien egiten dugu ikusmen gauza interesgarri. Izan ere ondorio Horretarako me. Aurretik joan noa eta leiho horiek itxi eta ireki ikono honetan hemen, besterik ez da bat handiagoak horren bertsio barneratua terminal leihoa. Beraz Gedit ez bakarrik ditu Nire kodea lekua, baina baita a terminal-leiho eraiki zen, leiho zuri-beltzeko kode dezake exekutatu I komandoak. Oraintxe bururatu ireki honen bertsio handiago bat. Eta orain joan sartu joan karpeta dagoeneko dut Aldez aurretik jarri ikastaroaren web orrian. Eta aurrera noa joan eta ireki thadgavin.c izeneko fitxategi bat, izan zen beste norbaitek idatzitako. Eta begiratzen dugu hau kontuan hartuz gero, kodea hau ez da mota egingo dugu idatziz geroztik Kode honen helburua izan zen politena idazteko edo zuen That Could kodea bila, kontuan hartu gabe, ala ez inoiz beste gizaki Could kode hori ulertzen. Izan ere, urtero ez dago zer da da nahasia C lehiaketa, izeneko idazten duten Geeks benetako da duten ez beste inork irakur daiteke kodea, baina horrek zerbait bai egiten oso sinplea edo benetan harrigarria. Eta pentsatu genuen genuke Begirada honekin ondoriozta hori nahiko harrigarria zerbait behin aurretik ikusi dute agian. Baina honetan ikusiko dugu azkenean Ohar, dot barra, thadgavin. Hau orduan zer edukiko. Hau CS50 da. Asteazkenean ikusiko dugu. [Musika jotzen]