DAVID Malan: Kjo është CS50, dhe kjo eshte fillimi i nje jave. Dhe ajo që ne menduam se do të bëni është të tërheqë prapa perde e një pajisje që shumë i ke ecur ti ndoshta e kaluara tani për vite, por ndoshta kurrë nuk mjaft dihet se çfarë është ajo. Pra, kjo pajisje do të duket ndoshta njohur për shumicën prej jush deri tani. [Video playback] -Një triumf i matematikore dhe aftësi mekanike është ky i ri i madh Llogaritësi automatike në Universiteti i Harvardit. Problemet e ndërlikuara të vënë në matematikë nëpërmjet makinës në formë të koduar në kasetë janë zgjidhur saktë në një minutë pjesë të kohës që kërkohet për Llogaritja e njeriut. Projektuar për të shpejtuar të gjitha format e hulumtimet matematikore dhe shkencore, truri gjigant mekanike do punojnë për Shtetet e Bashkuara të Amerikës Navy deri në fund të luftës. [VIDEO END rishikim] DAVID Malan: Pra, kjo është ajo që ju shihni në Qendra Shkenca, e cila eshte ku makinë që është vendosur tani. Ju në fakt të shohë vetëm një pjesë të saj. Vetëm një pjesë është aktualisht në ekran, dhe kjo është një pajisje e quajtur Unë Mark, dhe kjo ishte në thelb një makinë llogaritëse të vërtetë i madh. Ajo u pasua nga Mark II, dhe kjo është nga Mark II se ne fakt të marrë një grimë e leksik. Ky është rasti i parë i regjistruar diçka që ju jeni gati për të bërë të gjitha shumë të njohur me mbi Lënda e gjashtëmujorit - domethënë, një bug. Pra, ajo doli në një pikë Mark Pajisja II nuk ishte duke funksionuar siç duhet, dhe pas inspektimit të ngushta, nuk ishte me të vërtetë një bug - një molë - se molë - brenda. Dhe qysh atëherë, ne kemi referuar Gabimet në programet si bugs. Pra, më shumë që do të vijnë. Duke folur e video, si dhe, në qoftë se ju nuk e keni tashmë, e di se është CS50 filmuar qartë. Ligjëratat zakonisht shkojnë deri menjëherë pas klasë në një lloj para-lirimit Formati i pabotuar, dhe pastaj një ditë ose dy më vonë, ne kemi vënë një rezolutë më të lartë dhe versionin më të larta të cilësisë. Ju mund të kujtojnë Vanessa, i cili kishte Pasuria e luajtur me Google Glass, që unë kujtua për ngarkuar këtë kohë. Pra, nëse ju doni të dalë pas klasës dhe të luajnë, ata duhet të punojnë sot. Dhe në qoftë se ju dëshironi të shihni se çfarë Vanessa panë ditë të tjera, ajo që ju do të shihni këtu - më lejoni të rritur vëllimin këtu në laptop tim. [Video playback] -Pra më lejoni të rri në radhë ky është lart. Dakord. Kështu që prek këtë. Dakord. OK, qelqi. Regjistro një video. Dakord. Vanessa? [VIDEO END rishikim] DAVID Malan: Të gjithë të drejtë, kështu që arsyeja se ajo nuk ka punë për shumicën prej jush në fundi i klasës ishte sepse unë kam vazhduar për të regjistruar një orë e që Videoja duke treguar në veten time pas Kam vënë syzet poshtë. Pra sot, unë do të të lënë ata jashtë, por falenderoj ju për Vanessa për të qenë të tillë një mirë sport. Ndërkohë, një çift i njoftimeve para se ne të ecur përpara sot. Pra, një, CS50 ka një traditë për të bërë ajo që ne mund të përpiqet të bëjë një shumë të klasa të mëdha ndjehen më të vogla. Dhe për këtë qëllim, më çdo të premte, ne kemi mbledhur në një restorant në , katrore Zjarri dhe Ice, me 30 ose 40 e shokëve tuaj, veten time, disa prej të personeli mësimor, dhe ne vetëm të ketë një drekë shumë të rastësishëm. Ne shpesh ftoni miqtë nga industria, alumni i klasës, alumni e kolegj, me të vërtetë vetëm për të biseduar njëri up-tjetrin, flasin rreth jetës pas , kolegji jeta në kolegj, dhe si. Pra, nëse ju do të donte të marrim pjesë në këtë drekë e tillë e parë këtë të premte në 13:15, kreu në se URL në një pikë. Hapësirë ​​është i kufizuar, kështu që ne do të bëjmë vijë të parë të parë të shërbejë. Por ne do të bëjmë këtë përsëri në një periodik baza, jo aq për t'u shqetësuar nëse ju nuk bëni bëjnë atë në këtë serisë së parë. Tani, në aspektin e burimeve kusht curricularly nga natyrisht, ka një vrau tërë, dhe në qoftë se ju nuk e keni tërhoqi deri faqen rrjedhën e tashmë, në veçanti, nën leksionet, ju do të gjeni se çdo gjë ne e bëmë javën e kaluar është atje, të dyja në video dhe disa lloj i formës elektronike. Por përtej videos, ju do të gjeni se tani ka tekstin e plotë Transkriptimet, për shembull, i çdo leksioni. Pra, nëse ne fakt kthehemi në këtë ekran këtu me Vanessa, dhe navigo në këndin e poshtme të ekranit, ju do të gjeni që në fakt nuk është, për Leksioni i së premtes, por nëse ne do të shkojmë përsëri në E mërkurë, pasi ky tipar merr një disa ditë, ju do të gjeni se ju mund të në fakt tërheq lart, për mirë apo për më keq, çdo fjalë që unë apo një vullnetar në skenë tha. Dhe më shumë se sa vetëm atë. Ju në fakt mund të kërkoni atë, ju mund të klikoni mbi ndonjë nga këto fjali, kërcejnë në atë pikë në video, të gjithë drejt dhe në fund për të bërë të gjithë materialin e lundrueshëm më shumë. Por në qoftë se ju do të në vend nuk ndjekin atë në detaje të tilla, ju do të gjeni, për , instancë kjo menu pak këtu për 1,5 x shpejtësia, shpejtësia 2x, ose unë f unë tashmë flasin shumë shpejt për ju, shpejtësia 0.75x. Pra e kuptojnë të gjithë që është e në dispozicion atje për ju. Por përtej kësaj, për ligjërata, të kuptojë se ne gjithashtu të bëjë këto burime në dispozicion si edhe. Slides, kodi shembull, çdo gjë që unë bëjë në skenë ose paraprakisht të klasës, Ne do të postoj atje në mënyrë që ju të mund të luajë së bashku në shtëpi ose në Sanders. Por çfarë kemi menduar edhe ne do të bëjmë këtë vit për herë të parë është edhe ju japin me walkthroughs prej këtyre shembujve. Gjithnjë e më shumë, siç e kam reflektuar mbi Vlera e ligjëratave CS50, unë kam filluar në pyetje vetëm se sa i dobishëm është për ju djema për t'u ulur atje, për mua të qëndrojë këtu, dhe për mua që të flas me ty, veçanërisht si material, shembuj, të merrni më komplekse. Sepse pa ndryshim, pas disa numri i minuta, dikush do zonë jashtë, dhe atëherë ju humbisni një pasqyrë e disa kyç shembull, dhe pastaj ju jeni në thelb shkuar për pjesën e mbetur të klasës, cila nuk eshte përdorimi mirë i koha juaj, ose, me të vërtetë, e jona kolektivisht si një klasë. Dhe kështu që ajo që ne kemi menduar se ne do të përpiqemi të bëjmë, veçanërisht për disa nga më të shembuj komplekse se unë nuk mund të bëjë Drejtësia në klasë, që ne nuk mund të kanë kohë për në klasë, ose ju mund të vetëm zonë gjatë, është që ne do të prodhojnë një seri e walkthroughs të këtyre shembuj kështu që nëse ju shkoni për të, për , i shkallës Video premten e kaluar Faqja e këtu nën shembuj, ju do të shihni se për të premten, ka tani kjo të lidhura me walkthroughs. Dhe formati i këtyre do të ndryshojë me kalimin e kohës. Tani për tani, ne jemi duke përdorur një të thjeshtë YouTube playlist. Por çfarë kam bërë me ekipin tonë të prodhimit më pas u ecin nëpër çdo dhe çdo njëri prej këtyre shembujve përsëri, me shpresë duke theksuar në shumë më e madhe Qartësi saktësisht se çfarë takeaways mund të jetë apo duhet të jetë nga secili. Pra, ju do të gjeni, për shembull, nga e fundit javë, të gjithë shembujt rimbushëse kemi kaluar nëpër jemi bërë linear në atë mënyrë. Pra, të ndjehen të lirë për t'u angazhuar ose jo angazhohen në këtë material. Me të vërtetë një temë e këtij kursi të veçantë është se ka ndoshta më shumë në rrugën e burimeve se sa ju ndoshta mund të thithin më shumë Kursi i një semestër. Por kjo është e qëllimshme. Ajo është menduar të jetë në mënyrë që ju si Nxënësit individ mund të vetë-zgjedhur në bazë të stilit tuaj të të mësuarit. Pra, nëse ligjërata të punojnë për ju, e madhe. Nëse seksione punojnë për ju, e madhe. Nëse walkthroughs punojnë për ju më mirë, e madhe. Ajo me të vërtetë do të jetë deri në ju që të zgjidhni Çfarë burime të punojnë më mirë për ju. Së fundi, në sajë të një ish-nxënës i Sigurisht, ne gjithashtu të sigurojë një kanonik vendosur e shënimeve shkrues. Pra, në vend se të ketë ju djema kokat poshtë në leksionet e shkarravitur poshtë gjërat që vijnë deri në klasë, ne, Stafi, do t'ju ofrojë me atë që ne të ndjehen të janë një grup kanonik i shënimeve për pa ju e atij çmenduri, në mënyrë që në qoftë se ju jeni këtu dhe të angazhuar, ju jeni angazhuar me të vërtetë se çfarë po ndodh, me shokët e klasës tuaj janë bërë deri më fazë, me çfarë është lart në ekran, dhe jo thjesht shkruar tekstualisht çfarë ka ndodhur për të kanë qenë të thënë. Pra e kuptojnë të gjitha ato burime janë në dispozicion për ty. Sectioning, në përgjigje të një FAQ, do të fillojnë këtë të mërkurë. Ne thelb të presë deri pas më klasa të tjera janë bërë në mënyrë që ne mund të minimizuar numrin e ndryshimeve se ne duhet të bëjmë. Por vjen deri këtë fundjavë, duke filluar E diel, do të jetë një kohë e shkallës së atë që ne e quajmë seksione super. Këto do të filmuar për ata të cilët nuk mund të marrin pjesë, dhe në thelb, Krerët natyrisht do të na ecin nëpër disa i pjesës C të rrjedhës, drejt një fund të caktuar një problem, i cili do të jetë C ynë i parë i bazuar set problem. Dhe këto do të jetë vetëm seksione fakultative në pritje të asaj që do bëhen seksione përsëritëse udhëhequr nga 50 plus rrjedhës së mësimdhënies bursistët javore. Të dielave ose hënave ose të martave, ne keni 90 seksione minutëshe në një shumë të kuptimin tradicional, i cili do të jetë mundësitë për duart mbi dhe më shumë shqyrtim intim i materiali kurs s. Pa zhurmë më tej, më lejoni të prezantoj Krerët e kursit, të cilët janë prapa skenave me mua, duke e bërë çdo gjë të ndodhë. Nëse ata sot këtu mund të bashkohet me mua, Rob dhe Lauren dhe Jozefi dhe Lucas, të gjithë prej të cilëve kanë qenë me Kurs për disa kohë. RJ është e tillë tretë anëtar i ekipit tonë. Ai nuk mund të jetë sot këtu, por ai më pyeti për të treguar një foto të tij. Unë nuk jam i sigurt që ai e donte këtë një, por atje ai është. Dhe më lejoni vetëm të lejojë ekipin për të thënë Përshëndetje dhe prezantoj veten e tyre në mënyrë që që ju të merrni të dini ato si tuaj shokët e vet mësimor ky term. LAUREN Carvalho: Hi. Emri im është Lauren Carvalho. Unë jam një mësues banor në Leverett House. Unë jam gjithashtu super ngacmuar të jetë një TV kreu CS50 për këtë vit. CS50 është një klasë shumë sfiduese si edhe si një klasë shumë të madhe, kështu që nëse ju keni ndonjë shqetësim, në qoftë se ju ndiheni si ju jeni të bie prapa, të ndjehen të lirë për të arritur tek ndonjë prej ne në heads@cs50.het, ose për mua, në qoftë se ju do të të doja të luaj me golden time qenush zagar. Ja Lucas. Lucas Freitas: Hey, djema. Emri im është Lukas Freitas. Unë jam një i vogël [padëgjueshme] shkenca kompjuterike dhe gjuhësisë. Unë jam në të vërtetë nga Brazili, dhe unë gjithashtu realizojnë studimet Azisë Lindore. Pra, nëse ju keni ndonjë pyetje në lidhje me shkenca kompjuterike ose gjuhë ose asgjë, just let me know. Ose CS50, veçanërisht. JOSEPH ONG: Hi. Unë jam Jozefi. Unë jam një kompjuter lartë studiuar shkenca në Elliott House. Pra, le të shohim. Ju do të shihni mua rreth kryerjes një nga këto kamera të mëdha. Unë jam fotograf banor stafi për 50, si edhe, dhe studentët shpesh ndonjëherë gabim për mua një turist aziatike. Pra, nëse ju shihni mua me një aparat fotografik, nuk do të kandidojë larg. Vetëm buzëqeshni dhe mos të jetë i turpshëm. Dhe unë shpresoj që ju të gëzojnë 50. I gëzuar atë shumë kur unë e mori atë, dhe kjo është arsyeja pse unë kam qenë për TFing këto tre vjet. ROB Bowden: Hi. Unë jam Rob. Ky është semestri ime e katërt me CS50. Unë sapo u diplomua në maj. Unë isha në Kirkland. Unë jam i ngazëllyer për këtë semestër, dhe unë shpresoj se ju jeni shumë. DAVID Malan: Faleminderit për këtë vit kokat dhe për RJ si. Kështu që një disa shënime përfundimtare mbi burimet. Një, p 0 është vendosur tashmë. Kjo ekziston vetëm në standarde Edicioni, i cili është i menduar për tërësia e klasës. Duke filluar me p Set 1, nuk do të jetë botimet e hacker-ave e përcakton problemi më, e cila, përsëri, do të mbulojë materiale me një pak më shumë një sfidë, ndërsa ende të prekur në disa e temave të njëjta. A hidhini një sy në faqen e internetit rrjedhës së për atë specifikim për të vendosur p 0. Orari i punës, gjithashtu, do të fillojë këtë javë, sonte, nesër, e mërkurë, dhe të enjten në ngrënie të ndryshme salla në kampus. Check out cs50.net/ohs për zyra orë për kursin, dhe të kuptojë kjo do të jetë mundësi shumë të shkujdesur, me siguri, në fillim të semestrale, për të ardhur nga me tuaj laptop gjatë pushimit të trurit. Sillni disa miq dhe chat up TFS sigurisht s dhe CAS-it me ndonjë pyetje që ju mund të keni. Dhe unë nuk mund ta theksoj sa duhet, madje edhe për zeroja dhe problemi set 0, ka është me të vërtetë nuk ka pyetje memec. Nuk ka asnjë nxënës shumë të pakëndshme për të bërë pyetje. Ju lutem mos ngurroni për të përfituar e këtij burimi. Ajo do të jetë atje recurringly gjatë gjithë semestrit, si do CS50 Diskutoni. Kjo është diskutimi në internet rrjedhës së Forume në atë adresë atje. Ajo që ne gjithashtu do të bëni gjatë ligjëratave është gjithashtu të monitorojë këtë, në sajë të Ekipi natyrisht e mësimdhënies. Dhe kështu që nëse ju keni një pyetje gjatë leksion, sepse kam thënë diçka dobët ose aspak, me të gjitha mjetet, të kërkojë se në kohë reale, nëse ju keni tuaj laptop apo telefon në faqen e internetit, dhe ne do të bëjmë çmos në kohë pranë reale për të përgjigjet për atë. A ka ndonjë pyetje rreth CS 50? Pastaj një Shënimet e fundit të minierës. Se çështja e SAT UNSAT. Si ju finalizuar kartat tuaja të studimit, në qoftë se ju nuk e keni tashmë, të kuptojë se Vizioni kryesor i SAT UNSAT, në dispozicion për të gjithë nxënësit, është me të vërtetë për të ndihmuar të marrë buzë off e një kursi si kjo, kështu që të flasin, kështu që nëse ju gjeni veten vonë natën, 02:00, 03:00, vërtetë banging kokën tuaj kundër mur ku ju e dini që ju jeni 99% e Mënyra atje për përfundimin, por ju kanë aq shumë gjëra të tjera për të bërë, Unë mendoj se një përdorim më të mirë, shpesh, i Ora e nxënësve për të vërtetë të lëvizin për në ato gjëra të tjera në mënyrë që ju mund të zgjedh kohën tuaj të gjithë rreth. Dhe SAT UNSAT është një mekanizëm nëpërmjet të cilit ju mund të marrin ngushëllim në faktin se 99% të rrugës ka ende të mallkuar goxha mirë. Në mënyrë të ngjashme, gjithashtu, në qoftë se ju keni ardhur në Kursi me ose pa sfond paraprak background jo gati sa më shumë si ju mendoj se shokët e klasës tuaj mund të ketë, e vërtetë ose false, e kuptojnë se kjo është një mundësi për të marrë në duart tuaja të pista me kursin, vënë gishtërinjtë tuaj në ujë, kështu që të flasin, shumë si unë bëri vjet më parë me të kalojë / dështojnë. Siç thashë javën e kaluar, kishte këtë kurs, si të tjerët, nuk kanë qenë në dispozicion të kalojë / dështojnë në atë kohë, unë ndoshta do të Nuk kanë rritur ndonjëherë në këmbë klasë, edhe pse unë e bëri, pesë javë më vonë, të ndryshojë mendjen time, të cilat ju mund si edhe, dhe kaluar mbi te ose nga statusi letër graduar. Dakord. Pra, ne shikuar në gjëra të tilla si kjo në E premte, dhe ne jemi duke shkuar shumë shpejt të tranzicionit në diçka që duket më e fshehtë sot. Por kjo është gjithsesi Ideja e njëjtë themelor. Cili ishte term i përgjithshëm që ne përdoret për të përshkruar një copë mister që dukej si kjo? Pra, në një deklaratë. Dhe ju mund të telefononi këtë ndonjë Numri i gjërave. Por ne vetëm do të thërrasë atë një deklaratë, dhe një deklaratë vetëm tregon programit - ose në rastin e Scratch, Sprite - për të bërë diçka. Thuaj përshëndetje në këtë rast. Diçka si kjo ne e quajti atë vend? Yeah, kështu që një shprehje Boolean. Një shprehje Boolean është vetëm diçka kjo është e vërtetë apo e rreme, dhe kështu Scratch tërheq ata me këtë formë, por edhe me një pikëpyetje për të përcjellë Ideja se përgjigja për këtë pyetje është ose e vërtetë ose e rreme, po ose jo një, 1 ose 0. Dhe ne i përdorim këto shprehje boolean brenda konstruktet si këto, të cilat kemi quajtur çfarë? Pra, kusht ose degë. Dhe kusht që ju shihni këtu në Scratch ka një placeholder pak për një copë mister i asaj formë, qëllimi e cila është në mënyrë që ju mund të tërhiqeni atë and drop atë në krye dhe pastaj diktojnë në programin e nëse kjo Boolean shprehje është e vërtetë, të bëjë këtë grup të udhëzime, ky grup i deklaratave, tjetër të bëjë këtë grup të tjera e udhëzimeve. Dhe ju mund të kujtojnë se fole këto gjëra. Edhe pse nuk mbetet shumë hapësirë vizualisht në atë copë puzzle, Scratch do të rritet dhe tkurret të përshtaten çdo gjë copa mister ju drag and drop në atje kështu që ju mund të vërtetë fole këtë dhe kanë një pirun tre rrugë në rrugë. Në qoftë se, tjetër në qoftë se, tjetër. Dhe ju mund të shkoni edhe më tej se nga shturë tej dhe më tej si të nevojshme. Pra, së fundi, ne pamë konstruktet si kjo, i njohur ndryshe si një lak. Dhe kjo është vetëm diçka që e bën diçka përsëri dhe përsëri dhe përsëri. Në këtë rast, kjo ndodh të jetë një fundme Numri i herë, por ne gjithashtu panë një shembull, ku numri i herë erdhi nga një variabël, kështu që mund të ndryshojë. Dhe ne gjithashtu pamë një tjetër bllok krejt quhet një bllok që përgjithmonë na lejohet të lak pafundësisht të gjatë. Pra, një konstrukt tjetër se zeroja 2.0 ka - dhe ata prej jush më shumë rehat me sfond paraprak janë tashmë të njohur me këtë ndërtojnë - këto gjëra kemi quajtur çfarë? Pra, ne i quajti këto funksione, përndryshe njohur si procedurat. Ka një ndryshim të vogël semantik, por ne do të thërrasë ato vetëm funksionet. Dhe nje funksion, ne rastin e Scratch, është një copë porosi mister që ju vetë mund të krijojë në mënyrë që ju të keni një pjesë të re mister që, në këtë rasti, do të quhet kollë, që duket se në mesin e të gjitha të tjera copa mister në dispozicion para. Edhe pse MIT nuk e shpiku kjo pjesë mister, që ju bëri. Pra, një funksion ju lejon për të krijuar të reja Sjellja, t'i jepte një emër funksion, dhe atëherë telefononi atë, në mënyrë që të flasin. Vërtetë e përdorin atë përsëri në programet dhe përsëri dhe përsëri, pa pasur nevojë të presin për dikë si MIT poshtë rrugës në shpikë funksionalitet të ri nga e para. Ju vetë mund të ndërtojë këto mister copa veten, dhe pastaj ripërdorimin e tyre në programet tuaja. Dhe ne do të shohim një shembull të përsëritur e që sot dhe tutje. Pra sot, ne tranzicion tani për diçka më misterioze. Por në fund të ditës, diçka më të fuqishme dhe ekspresive dhe më shumë Përfaqësuesi i rrugë që ne do të jetë në të gjitha gjatë gjithë semestrit një numër e gjuhëve - se e kodit apo kodin e burimit. Dhe kodin burim, ajo rezulton, nuk është ajo që një kompjuter zakonisht në fakt shkon. Source code duket diçka si kjo. Pra, kjo është, përsëri, ndoshta më e thjeshtë Programi që ne mund të shkruani në një gjuha e quajtur C. Ne do të fillojë të ngas këtë përveç para se të gjatë, dhe në qoftë se kjo me të vërtetë nuk duket si grek për ju të drejtë tani, më besoni. Brenda vetëm një javë ose dy kohë, kjo do të jetë mbi të gjitha shumë të njohur dhe në fakt mjaft përfaqësuese e gjithnjë shembuj komplekse me të cilën ju do të të merrni edhe më të rehatshme. Por ju nuk mund vetëm të drejtuar këtë lloj i kodit zakonisht. Ju keni për ta kthyer atë në diçka që kompjuteri e kupton vetë. Dhe kështu për këtë, ne kemi nevojë për diçka ne jemi duke shkuar për të thirrur një përpilues. Një compiler është një program që merr kodi burim, si ju vetëm e pa, si input, dhe ajo prodhon zero dhe ato si output, përndryshe njohur si kod objekt. Dhe kjo është e këtyre zerove dhe ato që mund të duket mjaft si kjo që në fund të fundit janë kuptuar nga Mac apo PC tuaj. Nëse ju keni dëgjuar ndonjëherë të marketingut shprehje Intel Inside, që vetëm do të thotë se një kompani e quajtur Intel ka prodhuar trurin e kompjuterit tuaj - i njohur ndryshe si CPU, njësisë qendrore të përpunimit - dhe kjo është vetëm gjëja që kupton modele i zerove dhe ato. Dhe kështu nga konvertimin kodin burimor në Kodi objekt përmes këtij procesi këtu se ne do të bëjmë me një çift të komandave në vetëm një grimë, ju jeni krijuar modelet e zerove dhe atyre se të punësuarit në Intel kanë vendosi të përfaqësojë deklarata të caktuara. Tani, unë nuk e mjaft të dinë se cilat i cili është nga vetëm glancing në këto zero dhe ato. Shumica e njerëzve këto ditë nuk e bëjnë. Por diku në atje është një model i zerot dhe ato që përfaqëson print deklaratë. Diku në atje mund të jetë një i ndryshëm vendosur i zerove dhe ato që përfaqësojnë nocionin e përgjithmonë apo Përsëriteni 10 herë apo edhe meow, nëse është e në të vërtetë një program që mund të përfshijnë disa tinguj. Pra me pak fjalë, njerëzit kanë vendosur vetëm, shumë si ne e bëmë për ASCII - për shkronjat e alfabetit javën e kaluar - njerëzit kanë vendosur se edhe modelet më komplekse e zerove dhe atyre paraqesin sjellje më të ndërlikuar si shtypje apo thënë apo meowing. Dhe kështu për sot, dhe në masë të madhe tutje në semestrin, ne do të marrin për dhënë se dikush ka zbukurime se si ta bëjnë këtë hartë. Por ne, në përputhje me këtë idenë e layering në krye të punës së njerëzve të cilët kanë ardhur para nesh, do të marrë për dhënë faktin se kjo po ndodh nën kapuç. Por ne jemi shumë më të interesuar në gjëra të ndërtimit që janë më të interesante në krye të gjithë kësaj. Dhe kështu me të vërtetë, programi i parë që ne shkroi në Scratch ishte kjo e thjeshtë super një, Hello World. Dhe ju mund të mendoni për këtë si Programi kryesor që qeveris së zeroja Sjellja që nga e premtja e kaluar. Sot, ne jemi duke shkuar për të filluar për të përkthyer Scratch copa mister në Kodi burim në këtë gjuhë e quajtur C, në mënyrë që ajo dukej si kjo në E premte, duke filluar nga sot tutje, është tani do të duket si ky. Pa dyshim më të mistershëm. Kjo është goxha e shkëputur dhe lloj e mendjes numbing për të parë të gjitha kuotat dhe e semicolons dhe kllapa dhe kështu me radhë. Por nëse ju filloni për të injorojnë çdo gjë që ju nuk e kuptojnë, dhe me të vërtetë shikoni në thelb të tekstit të bardhë në ekran, me siguri ju shihni, si bëj unë, "Hello, World". Që linjat deri me Deklarata purple up krye, dhe ajo rezulton se fjalen kryesore do të vargoj konceptualisht me të, kur të gjelbër Flamuri klikuar. Pra, me fjalë të tjera, ndërsa në Scratch, kemi zbatuar këtë program Hello World me ato dy copa mister, në C, ne jemi duke shkuar për të zbatuar atë me këto katër rreshta disi të fshehta. Por si ne pikiatë të thellë në këtë, ju do shihni se secili prej atyre karaktere të bardha në ekran aktualisht ka disa domethënie të konsiderueshme, dhe shumica e programeve tona janë duke shkuar për të shikoni strukturalisht mjaft njëjtë. Pra, një deklaratë, që të jetë i qartë, çfarë dukej sikur "bota thonë hello" në E premte do të fillojë në kërkim si kjo të hënën. printf ("Hello, World"). Dhe ka disa backslash pazakontë n, nuk ka kllapat, ka semicolons. Por në fund të ditës, çelësi takeaway sot është se të gjithë ne jemi bërë po përkthimin gjërat nga foto formojnë në formë teksti. Pra, një lak që dukej si kjo javën e kaluar do të shohim tani diçka si kjo. Dhe më lejoni të mohojmë, ashtu si në Scratch, ka mënyra të ndryshme për të arritur qëllimin e njëjtë. Same në C. Unë nuk jam duke ju treguar vetëm mënyrë për të bërë gjëra, por një mënyrë për të përkthejnë këtë përgjithmonë bllokuar në një lak në C. Ky këtu, të përsëritur 10 herë. Kjo me të vërtetë një lloj i kthesave mendje herën e parë që ju shihni atë. Por, për të zbatuar se tash e tutje, ne jemi duke shkuar për të përdorur një për lak, kështu që të flasin. Dhe në mënyrë të qartë ka disa sintaksë që është një kompleks pak atje me I dhe të barabartë dhe 0, por dikur ne zhyten në se sot e tutje, ju jeni vetëm duke shkuar për të parë se të gjitha që është thjesht duke bërë disa aritmetike themelore për të na marrë nga 0 on deri te 9 ose 10 në këtë rast. Së fundi, me variabla, ju do të kujtojnë se një variabël është një copë e magazinimit. E pra, ajo që kemi pasur në të majtë atje fundit javë do të shikojmë pak diçka si kjo e kësaj jave. Por përsëri, më shumë se për të ardhur. Ne patëm shprehje boolean, e cila javën e kaluar, dukej si kjo. Kjo javë e tutje, ata do të fillojnë të duken pak si kjo. Dhe kjo është në fakt pak siguruar. Është në fakt pothuajse aq e thjeshtë si blloqet e gjelbër. Por këtu kemi, përsëri, disa sintaksë të re me ampersands, por ju mund të ndoshta me mend ndërsa në Scratch, ju thonë se një-n-D, me sa duket në C, ne jemi duke shkuar për të thonë se simbol ampersand. Por e gjithë kjo do të bëhet natyrore para se të gjatë. Kushtet. Javën e kaluar, ajo dukej si kjo në të majtë. Këtë javë, në të djathtë, është do të duken si kjo. Por përsëri, takeaway kyç këtu është se si ju të shihni gjëra të tilla si që në drejtë, dhe sidomos nëse më pak të rehatshme, kjo është lloj tuaj mbi kreu, ju merrni një zhytur pak se Unë me të vërtetë nuk kanë asnjë ide se si unë mund të mundësisht të dalë me që nga zeroja - nuk ka pun me qëllim - vetëm të kuptojë se kjo është me të vërtetë njëjtë Ideja që ndoshta ndjehet shumë më shumë natyrore javën e kaluar. Dhe edhe në qoftë se ju nuk e keni fetar në set Problemi 0, unë guxoj të them që ju do të gjeni se copa mister janë mjaft të intuitive, ose të paktën bërë kështu kalimin e kohës. Pra, le të zhyten in Le të marrë në duart tona pista këtu me ky program i parë i thjeshtë. Dhe e thjeshtë është, natyrisht, të afërm. Për ta bërë këtë, unë jam duke shkuar për të ndryshuar ekranet për këtë pajisje thirra CS50 aplikim. Aplikim CS50 është një pjesë e software që është drejtimin brenda një dritare në Mac tim, dhe ju gjithashtu mund të kandidojë ajo në një dritare brenda e PC tuaj, që lejon mua që të ketë të njëjtën saktë Mjedisi kompjuter si çdo TF, si çdo CA, si çdo student në klasë. Sepse aplikim CS50 është fjalë për fjalë një sistem tjetër operativ quajtur Linux - posaçërisht Fedora Linux - dhe ne, stafi, kanë konfiguruar Procesi i instalimit për këtë sistemit operativ në një mënyrë të tillë që një, ka pak CS50 logo në mesme, dy, ka një menu me porosi në poshtme, dhe tre, pedagogjike, ne kemi thjeshtuar user interface si më shumë të jetë e mundur në mënyrë që kur ju boot parë këtë gjë deri në tuaj Mac apo PC, ju keni të njëjtën mjedisin, si gjithë të tjerët, dhe ju keni të gjitha mjetet që ju duhet për kursin pa pasur nevojë të kuptoj se si ta instaloni dhe secili çdo mjet individualisht. Pra, kjo duket relativisht si Mac OS ose Windows. Në këndin e poshtëm të majtë, ju në thelb kanë një menu fillimin e llojet, apo një menu Apple. Dhe atëherë ju keni atë që ne dyshojmë se do të jetë tre ikonat tuaja më të zakonshme. Njëra është Chrome. Ka një shfletues brenda të aparatit. Dy është një program të quajtur gedit, e cila ne pamë një kohë të shkurtër javën e kaluar, e cila është vetëm një editor grafik. Dhe tri eshte nje program Terminalit, e cila është një dritare e zezë dhe të bardhë nga i kaluar që na lejon të shkruani më shumë komandat misterioze por më të fuqishme në keyboard tonë. Kështu që unë jam duke shkuar për të shkuar përpara dhe klikoni mbi të gedit, dhe pjesa tjetër e siguroi atë problem Set 1, të lëshuar të premten, do ju ecin nëpër të gjitha këto hapa të njëjta. Vini re se unë kam një shumë e thjeshtë Ndërfaqja e përdoruesit me tri pjesë. Në të majtë, unë kam një bosh i madh dritare e quajtur kodin burimor. Kjo është ku unë jam duke shkuar për të parë një përmbledhje i çdo kod që unë shkruaj. Në anën e djathtë, unë kam një i madh tab, pashpëtuar aktualisht, dhe kjo është ku kodi im do të shkojë. Dhe në fund, unë kam një ngulitur Dritare terminali, një i zi dhe të bardhë të menjëhershëm në të cilën unë mund të shtypni komandat të hartojnë dhe për të drejtuar programet e mia - se është, për të bërë dhe për të drejtuar programet e mia. Pra, le të fillojmë thjeshtë. Më lejoni të shkoj deri tek File, Save. Unë jam duke shkuar për të shkuar përpara dhe shkojnë në jharvard. Pra pajisjes, pavarësisht nga ajo emri juaj është, i takon një djalë të quajtur John Harvard, i cili ka një shtëpi jharvard brenda directory të cilat të gjithë tuaj fotografi do të shkojnë. Është kopje tuaj e llogarisë së tij, kështu që ne nuk jemi të gjithë sharing njëjtën makinë vështirë. Ju thjesht duhet iluzionin e vet John Harvardit. Në paraprakisht, unë në fakt instaluar Dropbox. Pajisja vjen me preprepared Dropbox kështu që nëse diçka shkon keq gjatë semestrit, në qoftë se ju keni konfiguruar aparatin tuaj me një lirë Llogaria Dropbox, të gjitha dosjet tuaja do të të jenë të mbështetura automatikisht kështu që ju shumë lehtë mund të shërohen ato. Dhe unë jam duke shkuar për të shkuar në Dropbox tim directory, dhe tashmë ka shkuar të jetë disa gjëra të tjera atje. Por unë jam duke shkuar për të shkuar përpara dhe shkoni tek File, Save. Unë jam duke shkuar për të shkuar në jharvard, Dropbox, dhe deri këtu, unë jam duke shkuar për jap programi im A simple super emri, hello.c, dhe pastaj të shpëtuar. Pra, unë kam të njëjtën ndërfaqe tani. E vetmja gjë që ka ndryshuar eshte tab lart majë. Kështu që unë jam duke shkuar shumë shpejt për të rikrijuar se programi nga slides një moment më parë. Pra, në kryesore (i pavlefshëm), dhe pastaj printf, "Hello, World," një disi të fshehtë backslash n, të japin kuotën e ngushtë, të ngushtë kllapë, pikëpresje, dhe pastaj Ctrl S për të shpëtuar. Dhe vini re si një mënjanë çfarë vetëm shfaq këtu në të majtë të lartë. Dhe kjo nuk është e dobishme sot, por do të jetë e dobishme me kalimin e kohës. Ju vetëm shikoni, përsëri, një përmbledhje të kodin që ju keni shkruar. Dhe për shkak se kam shkruar diçka që quhet kryesor, kjo është arsyeja pse fjala kryesore popped deri atje. Por, për pjesën më të madhe, ne nuk kanë nevojë se sot. Të gjithë të drejtë, kështu që unë pretendojnë se kjo është e mia Programi i parë i shkruar në një programimit gjuha e quajtur C. Ne e dimë se nga e premtja se çfarë kjo gjë është duke shkuar për të bërë shumë uninterestingly kur unë drejtuar ajo është shfaqur vetëm - me fjalë të tjera, të shtypura, si një kompjuter Shkencëtari do të thonë - Përshëndetje Të Gjithëve në ekran. Pra, për të bërë këtë, ju do të vëreni se unë kam të shkojnë poshtë këtu për terminalin e mia dritare, dhe tani kam një keq shpejtë. Por kjo tani është një version i tastierës Direktoria John Harvard im në shtëpi. Kjo është një mënyrë e cila me anë të tastierës për të lundruar hard drive time. Kështu që unë nuk mund të vërtetë të tipit si unë e bëri javën e kaluar bëjë hello, sepse kjo është duke shkuar për të thonë se nuk ka rregull për të bërë objektiv - diçka është e gabuar. Unë nuk e di fare se çfarë mesazhi do të thotë, por kjo është për shkak se nga default, kur kjo dritare e zezë dhe e bardhë është hapi, unë jam në brendësi të John Harvardit drejtoria shtëpi. Por aty ku nuk kam shpëtuar atë program? Në Dropbox dosjen time. Tani, të gjithë prej nesh kanë rritur me kompjutera, ku ju vetëm klikoni dy herë në ikonën e një dosje, ajo hap, dhe voila. Kjo është ku file i quajtur hello.c do të jetë. Pra, në fakt, le ta bëjmë këtë. Më lejoni të shkojnë përpara dhe për të minimizuar Gedit ashtu si ju do të në Windows apo Mac OS. Më lejoni të shkoj në shtëpi dosje në të majtë të lartë. Unë do të shoh këtu një bandë e dosjeve. Ja dosje Dropbox im. Checkmarks do të thotë ajo është synced. Dhe ka disa gjëra në këtu, por vini re se është hello.c me të vërtetë të drejtë atje. Dhe kështu në Mac ose Windows OS, normalisht, Unë do të klikoni dy herë se, ajo hap deri në çfarëdo programi, dhe unë jam i mirë për të shkuar. Por tani, të paktën duke filluar nga sot, ne nevojë për të marrë një hap prapa vetëm për të ju jap disa mjete themelore për tuaja kit mjet me të cilin do të bëjë më shumë gjëra të fuqishme para se të gjatë. Pra, në këtë të shpejtë, unë kam për të bërë ekuivalent i dyfishtë klikuar Dosje Dropbox. Dhe për të bërë këtë, unë jam duke shkuar për të tipit CD për ndryshojë directory, Dropbox, të hyjë. Dhe tani vini re në kllapa tim ashtu-quajtur të shpejtë tani thotë se unë jam në tilde, pak squiggly simbol në krye e majtë të shumicën e tastierave, / Dropbox. Kjo është vetëm simbol stenografi për njerëzore duke thënë, ju jeni tani në brendësi të dosje Dropbox, ashtu sikur ju kishte dyfishtë klikuar mbi të. Deri tani, nëse unë shkoj përpara dhe të bëjë shkruani hello, të hyjë, unë shoh një shumë e fshehtë komandë, por nuk është një mesazh gabimi, me sa duket, dhe pastaj tjetrin keq të shpejtë. Dhe në qoftë se ju kujtohet, ndonjëherë në mënyrë të shpejtë të premten, ne e bëmë këtë. . / Hello. Çfarë ju jeni gati për të parë është rezultat për drejtimin e ime këtë program, ose, në Mac OS PC dhe termat, në qoftë se unë normalisht do të dyfishohet klikoni mbi një program - një app. program ose a. exe, ajo hapet një dritare dhe shkon. Typing. / Përshëndetje është vetëm si të dyfishtë klikuar një program për të kandiduar atë, por duke përdorur tastierën time. Shkruani, përshëndetje bota. Dhe kjo është ajo. Pra, le të ngas këtë përveç për të kështu që nuk ndihen shumë si greke. Pra. / Çfarë do të thotë? Kushdo që është ndonjëherë lundruar me një tastierë mjedis si ky, çfarë dot duke iu referuar? Dosjen aktuale. Pra directory tanishëm është vetëm një sinonim për një dosje. Pra, duke thënë dot slash, unë jam duke thënë, shikoni për një program të quajtur përshëndetje në Drejtoria aktuale - në dosjen aktuale. Me fjalë të tjera, dosje Dropbox im. Dhe kjo është arsyeja pse pas goditur Enter në fakt shkon se programi. Nëse unë LS tani lloji, vëreni se unë shoh çdo gjë në Dropbox dosjen time. Getting Started.pdf, e cila Dropbox ju jep për të lira, fotot e mia directory, një directory publik, i pashpëtuar Dokumenti 1 që e kam bërë gabimisht një moment më parë, foo.c, që e kam bërë më herët sot, dhe pastaj dy linja - hello.c dhe përshëndetje. Hello.c është program i kam shkruar me gedit, dhe çfarë është përshëndetje në të gjelbër? Përshëndetje në të gjelbër është i ekzekutueshëm. Me fjalë të tjera, kur unë u zhvillua këtë komandë një moment më parë - më lejoni të rrokulliset prapa në kohë - kur unë u bëj hello, kjo është Hapi mesme këtu. Dhe ajo mori hello.c si input - Kodi AKA burim - dhe kjo prodhoi një file i quajtur përshëndetje si output, i cili përmban të gjitha këto zero dhe ato. Dhe kjo është arsyeja pse, në fund, unë mund të të vërtetë të drejtuar një komandë si. / Hello. Për shkak të Intel brenda, operativ ime sistemit, Linux, hap ato zero dhe ato, ushqen ata në trurin e kompjuterit tim - CPU - dhe se CPU di, oh, këtu është një model nga zero dhe ato që thotë se printoni gjënë e mëposhtme në ekran. Cila është gjëja e mëposhtme? Cituar mbyll thonjëzat, "Hello World". Të gjithë të drejtë, kështu që një përmbledhje e shpejtë e disa prej këto komanda në mënyrë që ne mund të fillojnë marrë ato për të dhënë. Më lejoni të kaloni përpara për të ku ne u ndërpre. Dhe ju do të kujtojnë se ne kishim CD në kurrizin tonë të përfundojnë një moment më parë. Këto janë, unë guxoj të them, për Qëllimet e sotme - ndoshta këtë javë - komandat e vetme ne mund të kenë nevojë të shkruani në komandën shkaktonte përveç bëjnë. Pra, CD qëndroi për çfarë? Ndrysho directory. Është vetëm ekuivalent i dyfishtë klikuar mbi një dosje. Dhe si një mënjanë, në qoftë se ju merrni humbur ndonjëherë brenda tuaj aplikim, të tilla që Dropbox - Unë dua që të merrni përsëri në tim Drejtoria jharvard - Kur në dyshim, CD, shkruani, me asnjë tjetër fjalë, dhe vetëm ajo ose arkivë zip ju prapa te ku filluar, e cila është një shkurtore bukur pak. Të gjithë të drejtë, kështu që tani komandat tjera. LS. I shtypur se një moment më parë. Çfarë mendoni LS qëndron për? Pra, lista, e drejtë? Kthehu në ditë, kur njerëzit vinin deri me këto komanda, ata ishin duke u përpjekur të jetë efikas, dhe në vend tipit nga L-I-S-T hyjnë, ato vendosi LS. Kjo është në rregull. Kjo tingëllon mjaft si listë. Le të vetëm LS tipit të hyjë, dhe se liston fotografi apo dosjet në tim dosje aktuale. mkdir, ju mund ndoshta me mend. Bëni directory. Pra, ju nuk shkoni në menynë file dhe disa zgjidhni New Folder në këtë mjedis. Përkundrazi, ju shtypni hapësirë ​​mkdir command dhe pastaj emrin e dosje që ju doni të krijoni, dhe ajo do të bëhet. rm, ju mund ndoshta me mend. Hiqni ose fshini. Pra, nëse ju doni të fshini një skedar, ju do të shikoni në setin e problemit se si ju mund ta bëjë këtë. Dhe rmdir, hiqni direktorium. Pra, përsëri, unë do të priren për të fluturojnë me anë të disa nga këto detaje, një, sepse ata nuk janë të gjitha që shumë fun për të shpenzuar herë me radhë, por dy, ne do të sigurojë që ju në detaje shumë më e madhe në ndonjë nga Problemi natyrisht e përcakton, veçanërisht edicionet standarde, ndonjë nga hapat e që ju mund të kenë nevojë të shkruani kështu që ju të merrni më shumë dhe më shumë rehatshëm me këto gjëra. Por tani më lejoni të vë në lojë përveç një gjë tjetër. Kur ne bëjmë përshëndetje typed një moment më parë, ne pamë një sekuencë lakonike e komandave. Ne e pamë përsëri, të bëjë përshëndetje. OK, le ta bëjmë këtë. Unë kam qenë gati për të bërë një gabim, por [Padëgjueshme] tani pranoj unë isha gati të dhe të bëjë atë me qëllim. Çfarë ka të bëj gabim vetëm tani? Yeah, kështu që unë nuk jam në Dropbox directory, për shkak se një moment më parë kam CD shtypur dhe vetëm goditi të hyjë. Kjo zoomed më mbrapa aty ku fillova, e cila nuk është aty ku dosja ime po, kështu që unë me të vërtetë duhet të bëni CD Dropbox të hyjë, dhe tani unë mund të bëjë Përshëndetje RM të hyjë, hiqni file i rregullt përshëndetje. Unë nuk e di pse është kaq mistershëm. Kjo thjesht do të thotë që ju jeni të sigurt ju doni të fshini përshëndetje? Ju mund të shkruani për y po, të hyjë, dhe tani ajo është zhdukur. Dhe tani, nëse unë lloji bëjë Përshëndetje përsëri, kjo është duke shkuar për të rikrijuar kodin tim objekt, rikrijuar ato zero dhe ato. Por, çfarë është të merren me kjo komandë shumë të gjatë? E pra, ne do të vë në lojë këtë përveç para se të gjatë, por të bëjë - Unë i thashë një grimë e një gënjeshtër e bardhë para - nuk është një përpilues. Bëni është një program që automatikisht shifra se si për të drejtuar një compiler për ju. Pra komanda që ju me të vërtetë duhet të jetë konkurrojnë në mënyrë që të konvertohet hello.c përshëndetje në fakt duket një më të vogël si ky. Dhe Zoti na ruajt, ne duhet të vërtetë mos harroni të shkruani ndonjëherë se tërë Sekuenca e komandave jashtë. Qëllimi i bëjnë në jetë është të mos harroni se shkallën e kompleksitetit për na dhe automate atë që përndryshe do Hapa të jetë shumë e lodhshme. Por unë mund të përafërt se. Pra, për këtë fletë të mashtrojnë pak këtu, unë mund të përafërt se çfarë komandë është bërë nga thjesht tingëllim shtypur, e cila është emri i përpiluesit ne do të jetë duke përdorur këtë semestër. Nëse ndonjë prej jush e kanë bërë ndonjëherë iOS zhvillimi për iPhone ose iPad, Tingëllimë është program që ju keni përdorur brenda xcode për të bërë Apps tuaj. Tingëllimë, megjithatë, është vetëm një program tjetër emri i të cilit ne mund të shtypni në komandën prompt, dhe duke futur këtë tani, Unë mund të prezantoj diçka që është një Përfaqësuesi pak e komandave që do të vijnë. Pra më lejoni të bëjë këtë me dorë. Pra rm hello, dhe tani njoftim në rast Unë, ashtu si një mendje e shëndoshë kontrolloni - . / Hello, çfarë mendoni se unë duhet të shohim nëse unë bëj këtë? Disa lloj i gabimit. Nuk ka fotografi të tilla directory. Kështu që një fakt goxha i drejtpërdrejtë. Pra, tani më lejoni të qartë në ekran. Kontrolli S vetëm pastron ekranin për të hequr disa distractions. Dhe tani unë jam duke shkuar për dorë Lloji tingëllimë-o përshëndetje hello.c. Pra, çfarë është ky gati për të bërë? Pikërisht të njëjtën gjë që bëri për të bërë na, por unë e hedhin larg disa prej fjalët e tepërta. Tingëllimë është program që do të të marrë një skedar. c si input dhe të prodhojnë zero dhe ato si output. Por,-o tani e tutje do të thërrasë kalimi ose nje flamur. Kjo është vetëm techie zhargon për të thënë kjo është fjala që ju shkruani në një të shpejtë që në njëfarë mënyre ndikon në sjelljen e e programit ju jeni running. Pra nuk dua dikush të mendoj ajo-o përcjell? Output. Është vetëm dikush vendosi-o do të thotë output file i quajtur një përshëndetje dhe për të marrë si input çfarëdo fjala e fundit mbi shpejtë është, hello.c, kështu që nëse unë goditi Shkruani tani, asgjë nuk duket të ndodhë. Dhe kaq të çuditshme të mjaftueshme, në këtë botë të programimi, në qoftë se asgjë nuk ndodh, kjo është ndoshta një gjë e mirë sepse nuk ka asnjë gabim Mesazhi në ekran. Përshëndetje, Enter. Programi im ka drejtuar tani. Por unë mund të bëjë gjëra të trashë pak si këtë. kërcëlloj-o, hihihi, hello.c, të hyjë, dhe tani kam një identike Programi i quajtur hihihi. Ajo sillet njëjtë, por Emri është i ndryshëm. Pra, kjo është vetëm për të thënë se në qoftë se ju doni për të ndikuar në sjelljen e një Programi, ne jemi duke shkuar për gjithnjë shohim gjëra të quajtura argumente command line. Kjo është një linjë. Ju jeni të shtypni komandat. Ergo, command line. Dhe argumente command line janë vetëm Fjalët ose copa të vogla të sintaksës asaj disi të ndikojnë në sjelljen e programe që ne jemi running. Të gjithë të drejtë, që është ndoshta më e Programi i mërzitshëm ne mund të shkruajmë dhe të shohim. Le të bëjmë diçka tani më interesante. Më lejoni të shkojnë përpara dhe për të krijuar një skedë të re. Unë jam duke shkuar për të shkuar përpara dhe për të shpëtuar këtë në Direktoria John Harvardit në shtëpi si, le të thërrasë atë custom.c, të jetë një program i vogël me porosi. Unë jam duke shkuar për të zoom në në krye tim tabs këtu dhe të fillojnë përsëri. Përfshi stdio.h standarde. Tepër në atë në një moment. int main (void), më shumë në se ne nje moment. printf ("Hello, David"). Shumë më interesante, apo jo? Pra, në qoftë se tani - jo për shkak të emrit tim, vetëm për shkak se ajo është e ndryshme - bërë me porosi të hyjë. Custom, hello, David. Por edhe që, gjithashtu, është një gënjeshtër e bardhë. Ky program mund edhe të quhet david.c, sepse ajo nuk është porosi Sjellja në të gjitha. Vërtet, unë dua një program që kërkon përdoruesit për emrin e tyre. Pra, si mund ta bëni këtë? E pra, më lejoni të lëvizni lart mbi këtu. Dhe para se unë të përdorni një deklaratë në Scratch, para se unë të përdorni printf, i njohur ndryshe si një funksion, më lejoni të së pari të kërkojë nga shfrytëzuesi për disa input. Pra, për të bërë këtë, kam nevojë për të të bëjë një çift të gjëra. Një, kam nevojë për një vend për të ruajtur përdoruesit e emrin, pasi unë kam kërkuar atë apo saj për të. Çfarë konstrukt nuk kam nevojë për të përdorur ndoshta për të ruajtur një vlerë të tillë? Një variabël. Pra, ndryshe nga zeroja, ku ju merrni vetëm një pjesë bukur mister, këtu, ne duhet të përdorin fjalët, natyrisht, për të shprehin veten. Dhe tani e tutje, çdo kohë që ju doni një fjalë apo një frazë, në programimin, ne jemi duke shkuar për të thirrur atë një varg. Pra, një varg është një fjalë ose një frazë. Kjo është një sekuencë e zero ose më shumë karaktere, më zyrtarisht. Dhe në qoftë se ju doni të tillë në një ndryshore ekzistojnë, ju keni për të thënë jepni një të tillë. Dhe mënyra me të cilën ju bëni që është për thonë pikëpresje varg s, ku s mund të jetë çdo gjë që ju dëshironi. Në fakt, s është një underwhelming pak. Më lejoni të shkojnë përpara dhe më shumë thirrje të qartë atë emër. Më jepni një varg të quajtur emrin. Por tani, ajo është personi Emri by default? E pra, në qoftë se njeriut nuk shkruani asgjë në, natyrisht, nuk do të ketë asnjë vlerë në emër. Dhe kjo rezulton në C, në qoftë se ju nuk i japin një variabël një vlerë, ajo do të kanë një vlerë plehrash. Ajo mund të ketë disa zero rastit dhe ato, kështu që ju jeni vetëm do të shoh mbeturina, në të vërtetë, në ekran nëse ju përpiqeni për të shfaqur atë. Por unë mund të rregullojmë duke thënë se, në fakt, brenda dyqan i emrit të pas vlerë. Mënyrë që ju të ruajtur vlerat e variablave është në në qoftë se ju keni një emër të ndryshores në majtë, ju keni për të vënë një farë mënyre atë që ju doni të ruajtur në atë në të djathtë, dhe Sintaksa për atë që po ndodh të jenë si më poshtë. Ne nuk kemi parë këtë më parë, por të marrë on besimit për një moment se ka ekziston edhe një deklaratë tjetër në botë që unë jam duke shkuar për të thirrur përsëri funksionin, dhe ky funksion është e quajti të marrë string. Dhe kjo bën që fjalë për fjalë. Ajo disi merr një sekuencë e karaktere nga njeriu dhe pastaj bën diçka me të. Dhe kjo nuk duket si Sintaksa e fshehtë. Normalisht, nëse ju jeni duke përdorur shenja të barabarta - ju jeni në botën e, të themi, algjebër, dhe ju jeni në të vërtetë x thënë se është e barabartë me 1. Këtu ne nuk jemi duke thënë se Emri barabartë marrë string. Ne jemi duke thënë dyqan në emër të asaj që e në anën e djathtë e që është e barabartë shenjë. Barabartë shenjë përfaqëson operatori detyrë. Kjo është sintaksa që thotë se të vënë atë që është në anën e djathtë brenda çfarë është nga e majta. Pra, marrë string është një pjesë e re e Funksionalitetin se jo vetëm që e bën diçka - pyet përdoruesin për një varg - ajo gjithashtu kthen atë, në mënyrë që të flasin. Pra, le të shohim se çfarë po ndodh të ndodhë këtu. Unë jam duke shkuar për të shkuar përpara dhe tani zoom out, dhe unë jam duke shkuar për të marrë një çift të Gabimet në ftim tim. Unë jam duke shkuar për të tipit të bërë me porosi, të hyjë. Wow. Një bandë e tërë e gabimeve. Të gjithë të drejtë, kështu që kjo është lloj i dërrmuese, me siguri në fillim, por ajo rezulton nga të gjitha këto shumë pa dyshim Mesazhet e gabimit janë të fshehta duke iu referuar disa modele që ne do të fillojmë të shohim me kalimin e kohës. Pra, ky njeri unë do të hiqni, sepse ajo është e para. Përdorimi i vargut identifikues padeklaruar. Kjo thjesht do të thotë se gedit, apo tingëllim, në këtë rast, nuk e di çfarë dua të them me string. Dhe kjo është për shkak se në C, programimit gjuha, ka në të vërtetë nuk është e ndryshueshme e tipit string. C nuk e di se vargjet ekzistojnë. Por ne, stafi CS50, të bëjë. Dhe kështu paraprakisht të klasës, ne krijuar një skedar të quajtur CS50.h. Dhe brenda këtij skedar - dhe më shumë mbi të sintaksës te ardhur - brenda këtij file është një përkufizim të asaj që unë përkufizohet vetëm verbalisht si një varg. Pra, thjesht duke konkluduar këtë në një rresht e kodit në programin tim, unë jam tani mësimdhënies dhe të bëjë gedit dhe tingëllimë të gjithë të kthehet në atë që është një varg. Unë nuk e di se si ende. Në disa javë, ne do të zhvishem mbrapa se shtresa. Por tani për tani, e di se kjo mëson përpilues çfarë string në të vërtetë është. Pra, tani më lejoni ime e qartë terminal këtu poshtë. Më lejoni të ri-drejtuar bërë zakon, dhe unë zgjidhur të gjitha këto probleme. Pra, kjo, gjithashtu, do të të jetë një temë e përsëritur. Unë vetëm shkruante një program 9 line, dhe Unë ende kishte 18 linjat e gabimeve. Kjo është lloj i frikësuese. Por e kuptojnë se ata shpesh ujëvarë të tilla se një gabim i vogël shkakton ngatërrim per përpiluesit, dhe ajo duket shumë më keq se sa është. Deri tani një vëzhgues i mprehtë do të dini që unë jam duke marrë një varg nga përdoruesit, por unë nuk jam në të vërtetë duke bërë atë me të? Unë nuk jam në të vërtetë duke bërë asgjë me të. Pra, nëse unë në fakt të kandidojë përsëri porosi, ajo do të rrimë atje. Çfarë po ndodh? Programi im duket të jenë të mbërthyer në çfarë line, do të thoni? Pra, ajo është mbërthyer në fakt on line 7. Dhe ne nuk e kemi parë këtë më parë, por on line 7, nuk ka, përsëri, kjo Deklarata, të merrni string. Dhe kjo e bën atë që ajo thotë. Ajo është duke pritur tani për të njeriut për të marrë string. Kjo është plotësisht e Unintuitive për mua, njeriut, sepse unë nuk kam qenë i tha çfarë të bëni. Por më lejoni të shkoj përpara në besim dhe më lejoni të pretendojë të jetë Rob. Enter. Kjo nuk është program kam menduar. Pra, ne kemi blogun tonë të parë. Por le të përpiqemi për të arsyetuar përmes pse ky është rasti. Së pari, më lejoni të rregullojmë këtë problem të parë. Më lejoni të shtoj këtu një linjë që thotë se printf, çfarë është emri juaj? Le të vetëm të bëjë të japin kuotën e ngushtë, mbyllni kllapat. Tani më lejoni të ri-drejtuar programin. Problem. Unë nuk jam duke parë se. Drejtë. Unë nuk e kam përpiluar atë. Pra, në një gjuhë si C, sepse ju ndryshoni kodin burim nuk do të thotë se ju keni ndryshuar kodin tuaj objekt për të gjeneruar kodin e ri objekt, zero dhe ato të reja. Ju keni për të përpiluar. Nëse unë tani ri-drejtuar me porosi, të hyjë, ah, pak më qartë. Emri im është Rob. Ende buggy. Dhe unë do të argumentojnë ka a mete çift tani. Kjo vetëm duket e shëmtuar, sinqerisht. Ashtu si, minimalisht, unë duhet të ketë një hapësirë ​​atje, ose të shkojë kursorin në linjë të re. Dhe në të vërtetë, linja e re. Kjo është lloj i një frazë kyçe këtu se kemi parë, por nuk është përcaktuar. Mënyra në të cilën ju të merrni një tekst për të lëvizur mbi vijën e ardhshme, ju nuk e bëni këtë. Kjo është konfuze në kompjuter. Kjo duket si dy linja të veçanta e kodit, asnjëra prej të cilave është krejtësisht e saktë. Ju në vend të kësaj duhet të jenë më të qarta dhe thonë, më jep mua një linjë të re, e cila ne përfaqësojnë në C me backslash n. Pra, ka disa karaktere të tilla. Backslash n do të rregullojmë atë estetike. Më lejoni të përpiluar programin tim. Më lejoni të ri-drejtuar programin tim. Kjo duket më mirë. Është ende shumë primitive, por ajo është gjithashtu ende buggy. Pra, nuk është një - edhe në qoftë se ju kurrë nuk keni programuar më parë, ju ndoshta mund të marrë me mend se pse ky program ende është me të meta. Çfarë duhet të bëj që Unë nuk e kanë bërë ende? Kështu që unë duhet të bëjë në fakt diçka me emrin. Ashtu si në zeroja, ju mund të vërtetë caktojë një ndryshore ose si n kundërvënë si ne e bëmë fundit javë - një vlerë. Por nëse ju nuk bëni asgjë me ajo, asgjë nuk do të ndodhë. Të gjithë të drejtë, kështu që le të rregulluar. Më lejoni të shkruani ndryshore time atje, dhe më lejoni të shkoj këtu poshtë. Më lejoni të përpiluar, më lejoni të ri-drejtuar, Rob. Tani unë jam vetëm një idiot, e drejtë? Pra, kjo nuk është me të vërtetë duke marrë mua çdo më tej. Por kjo ishte krejtësisht e natyrshme instinkt, unë do të argumentojnë, e drejtë? Nëse ndryshorja është quajtur emrin, dhe unë duan që ajo të shkojë atje, pse nuk e bëjmë unë vetëm shtypni atë atje? Well, natyrisht, ne kemi për të dalluar tani midis asaj çfarë është një varg? Vini re se mbyll thonjëzat quote këtu, hello emri? Ky fakt në vetvete është një varg. Është e vështirë koduar. Kjo nuk është nga njeriu. Kjo është prej meje, programues origjinale, por kjo është ende një string. Pra, nëse ju shkruani fjalë N-A-m-E brenda i një varg, çfarë po ndodh në të marrë të shtypura? Mirë, N-A-M-E. Ne kemi nevojë për vend printf të them, nuk shtypura nga fjalë për fjalë të përmendur. Print jashtë vlerën e emrit. Dhe për ta bërë këtë, ne bëjmë në vijim. Dhe kjo është vetëm një konventë të njeriut. Ne vend thonë% s, dhe se qëndron për vargun. Dhe pastaj në fund të kuotat e mi të ngushtë, Unë jam duke shkuar për të vënë një presje dhe të kalojë një argument të dytë në këtë deklaratë. Unë jam duke shkuar për të shkruani emrin atje. Pra, tani ne kemi një njoftim Sintaksa pak e re. Ne ende kemi dy kllapa, dhe tash e tutje më lejoni të them se sende në mes të kllapa përfaqëson Argumentet në një funksion - inputet që janë disi të shkuar për të ndikuar në sjelljen e saj. Pra, duke se logjika, sa argumente printf nuk duket të jetë duke marrë në këtë moment? Pra, kjo duket të jetë marrë dy, dhe kjo është nënkuptuar në të vërtetë nga presjes këtu. Pra, ky është një argument i në mes thonjëza. Edhe pse ajo ka një presje në të, çdo gjë është në thonjëza, që do të thotë kjo është një varg i gjatë. Presje, emri i ndryshueshëm. Pra, tani më lejoni të zoom out. Më lejoni të ri-drejtuar atë. Rob. Mallkonte atë, çfarë kam bërë gabim? Të gjithë të drejtë, kështu që ju keni për të përpiluar. Pra, përsëri, gabimet e lehtë për të bërë më herët përsëri dhe përsëri. Deri tani ri-drejtuar me porosi, Rob, të hyjë, dhe voila. Ne tani kemi një program me porosi. Kështu që unë tani kanë një program që duke përdorur disa karakteristika që janë me vlerë të përmendet. Një, Unë jam duke përdorur CS50.h, përndryshe njohur si bibliotekë CS50. Dhe brenda e bibliotekës janë CS50 Funksionet që njerëzit e tjerë shkroi - domethënë stafi - për ju për të përdorur, dhe për të marrë vargu është njëri prej tyre. Brenda vijës 2 është stdio.h, dhe pse është kjo atje? Merrni një guess. Çfarë ekziston në brendësi të Standard prind IO? Printf. Printf Pra, ju nuk e shihni atë kudo tjetër në ekran. Ajo duhet të vijë me kompjuter disi. Ku ka ardhur nga ajo? Është në brendësi të - ajo e deklaruar, kështu që të flasin, brenda një file i quajtur stdio.h. Tani, për këtë stuff, ne do të kthehemi që përfundimisht, sepse kjo është pak vëmendjen për tani. Kjo i referohet llojit tonë të kthimit. Kjo i referohet një argument. Por, për sot, ne jemi fokusuar vetëm këtu në këto linja. Pra emri string, vetëm për radhitje, Çfarë ka kjo të bëjë për mua? Pra, ajo ka deklaruar një ndryshore e tipit string. Pra, ajo është menduar të jetë për fjalë, jo për numra. Ashtu si një mënjanë, në qoftë se unë nuk dua që ajo të jetë një numër, unë do të thoja diçka si int. Nëse kam kërkuar të jetë një pikë lundrues vlera, diçka me një presjes dhjetore, Unë do të thoja noton. Por, për sot, unë kam vetëm tha string. Dhe unë e kam dhënë këtë variabël një emër i emrit, por unë mund të e kanë quajtur atë gjë. Në fakt, fillimisht, unë e quajti atë S. Kjo këtu është vetëm një deklaratë. Sa është kjo e argumente Deklarata e marrë? Pra, kjo është vetëm duke marrë një, dhe se është thjesht një detaj estetik i shfaqur diçka në ekran për mua. Çfarë është kjo linjë 8 duke bërë në kushtet e laik? Ajo është marrë një vlerë prej user - domethënë, një varg - Dhe çfarë është ajo duke bërë me të? Kjo është në thelb dorëzimin atë mbi të djalë në anën e majtë të shenjën e barazimit në mënyrë që në këtë rast, Emri ndryshueshme në fakt mund të ruajë atë. Dhe pastaj është një tjetër printf shembull i një funksion. Dhe ne themi për të thirrur një funksion. Për të përdorur një funksion është për të thirrur një funksion. Kjo gjë duket merr dy argumente. Ky i fundit, presje, kjo. Kjo në vetvete është vetëm një varg që përmban një placeholder. Mjetet% s të vënë një varg këtu. Dhe kështu duke vënë emrin pas presje, që është futur gjë që për mua. Kështu që unë mund të bëjë gjëra të tjera akoma. Më lejoni tani të shkojnë përpara dhe të bëjë një grimë e një Programi i trashë, por më lejoni të fshini këtë, dhe më lejoni të krijoni një lak. Ndërsa e vërtetë. Simboli i vërtetë është padyshim gjithmonë do të jetë e vërtetë. Pra, çfarë lloji të lak jam unë inducing duke shkruar një linjë si kjo? Pra, një loop pafund, e drejtë? Vetëm ndërsa e vërtetë. Nuk ka asnjë mënyrë unë mund të ndryshojë fjalën e vërtetë të jetë çdo gjë tjetër, kështu që kjo është vetëm do të kandidojë përgjithmonë. Pra, nëse ju keni ndonjëherë në fakt kishte një program në Mac ose PC tuaj që duket të ketë mbyllur, ose ajo është duke bërë diçka dhe diçka, dhe ju vetëm nuk mund të merrni për të lënë gjë nëse ju ristartoni kompjuterin tuaj ose të tërheqë deri Task Manager apo si, këtu është një shembull i tillë. Unë mund të them, "Unë jam një program buggy". Quote Mbylle, mbylle parantezë, pikëpresje. Pra, përsëri, vini re modelet. Edhe pse disa prej sintaksës tonë është e re, ndërsa fjalen, fjalen e vërtetë, njoftimit kam njëjtë lloj formatimin e teksteve kaçurrel. Unë kam marrë një pikëpresje dhe kllapa. Pra, tani le të shkojë përpara dhe përpilojnë këtë. Bëni porosi me porosi,. Pra, në këtë pikë, ju nuk keni nevojë për të restart pajisjen tuaj, të gjithë të drejtë? Pra, mësimi këtu është lehtë me dy gishta, Kontrollit C, Ne do të lënë atë program. Por ju mund të shikoni saktësisht se pse kjo gjë u përsëritur veten përsëri dhe përsëri. Unë mund të bëjë diçka pak më komplekse si një ngacmues. Unë jam duke shkuar për të shkuar përpara dhe thonë se në vijim. Për int, e cila është një numër i plotë, i është vetëm një emër gjenerik të japim më të Variablat në programimin kur ju jeni vetëm numërim, është e barabartë me 0. Më lejoni të shkojnë përpara dhe të thonë se ndërsa unë është, le të themi, më pak se 100, unë plus plus. Ne do të kthehen në këtë sintaksës, por kjo thjesht do të thotë Rritja Unë përsëri dhe përsëri. Dhe çfarë unë dua të bëj këtu? Printf, "Unë mund të mbështeteni tek unë." Ky është një program buggy. Çfarë në të vërtetë nuk kam ndërmend këtu? Përqindja s jo, por ju nuk do të mendoj këtë. % D është një numër i plotë dhjetore. Presje i. Më lejoni të rrokulliset prapa. Më lejoni tani të përpiluar me të bërë. Më lejoni tani ribërjen me porosi. Unë mund t'i numëroj të vërtetë mallkim shpejt kur Unë shkruaj një program si ky. Tani le të bëjmë diçka të një pak paqëllimshme. Si në lidhje le ta bëjmë këtë, ndërsa unë është më e madhe se ose e barabartë me 0. Ç'është kjo do të shkaktoj? Pra, logjikisht, kjo nuk është aq e mençur, sepse tani në qoftë se unë ribërjen këtë, rinumërim, Unë tani mund të mbështeteni vërtetë, të vërtetë të lartë. Për fat të keq, rreth aq i lartë sa të mundem akuzë është 4 miliardë, kështu që kjo po ndodh për të marrë një kohë. Pra, pse të mos e lënë këtë si tona cliffhanger, duke premtuar se në E mërkurë, ne do të shohim nëse ky program është bërë. Dy, ne do të prezantoj veten se si ju shkruani funksionin tuaj në mënyrë që shumë shpejt, deri të mërkurën, ne do, si ne Tranzicioni nga zeroja në C, të fillojë shkruar ndonjëherë gjithnjë e më komplekse programe që të bëjë shumë, shumë më tepër se kjo. Ne do të shohim ju pastaj. [Duartrokitje] Kryetari 1: Në CS50 ardhshëm, Dita Puzzle ishte një sukses.