GARSIAKALBIS: aš [nesigirdi]. Ir aš ne Leverett rūmų vyresnysis. Aš mokausi informatikos, ir aš už CS50 TF. Kaip pirmakursis, aš net neturėjau nešiojamas ar išmanųjį telefoną. Aš neturėjo patirties programavime. CS50 buvo įsimintiniausia žinoma, kad Aš paėmė Harvarde, nes jis buvo kova, bet tai buvo tikrai įdomus kova tuo pačiu metu. Ir aš padariau nuostabi, nuolat daug draugai, ir aš išmokau daug tikrai daug taikomos įgūdžius. Aš tiesiog taip džiaugiuosi, kad aš ne tegul mano trūksta fone būti man pasiteisinimas neatsižvelgiama CS50. Aš [nesigirdi]. Aš ne Leverett vyresnysis Namai, klasė nuo 2014 m. Ir aš paėmė CS50. Davidas Malan: Taigi tai yra CS50. Tai savaitę nulio pabaiga. Ir prisiminti, kur mes pradėjome paskutinį kartą, buvo su šių žibintų, kurie buvo toks populiarus, kad mes nuėjome ir nusipirkau daugiau šiandien. Taigi manau, kad tai bus mūsų dalykas šiais metais - stalines lempas, jei jūs sugalvoti ant scenos, bent tol, kol baigsis. Bet mes naudojome šiuos pamenu, pristatyti Atstovavimo duomenų pagrindai. Mums reikėjo būdas pradėti atstovauti informacija viduje kompiuterio. Ir paprasčiausias būdas tai padaryti buvo su viena sudedamoji dalis, elektra. Ir paprasčiausias dalykas, jūs galite padaryti su elektra jį įjungti ir išjungti. Tegul elektronų srautas, ar ne. Ir naudojant šias dvi pagrindines valstybes, nuo ir, ar klaidinga ir teisinga arba nulis ir vienas, mes pradėjome matyti, kad mes galime sukurti aukštyn, šiuo atveju, su šviesa svogūnėliai, daugiau skaičių nei tiesiog nulis ir vienas. Mes skaičiuojamos kaip aukštas, kaip septynių, Pavyzdžiui, paskutinį kartą. Bet visi mes turime padaryti, tai išlaikyti mesti vis daugiau ir daugiau lemputes, kad problema, ir, tikrai, mes galime atstovauti bet koks skaičius, kad mes galbūt nori. Na, mes perkėlėme greitai tada Trečiadienį šiuos savanorių baitą. 8 bitai yra tai, ką mes paprastai vadiname baitų, Taigi čia mes turėjo aštuonis savanorius , trečiadienį, kurie kartu buvo ty aštuonis bitus. Ir kai jų rankos buvo , jie buvo vienas. Ir kai jų rankos buvo žemyn, ten buvo nulis. Ir mes turėjome šie žmonės sugalvoti ant scenos Kodėl? Ką mes galime padaryti su šis bitų seka? Norėdami sukurti abėcėlę. Mums pavyko sukurti viršuje, kad Ankstesnis Pamoka išmoko ir iš tikrųjų pradėti, kad įdomiau informacija, kuri yra bent jau daugiau susipažinęs mums žmonėms. Ir tai bus kartojasi tema per 50, bet kompiuteris mokslas apskritai, ši idėja sluoksniavimasis, kur prie pabaigos dieną, jei jūs tikrai pradėjo pagrindai su kompiuteriu, taip, tai nuliai ir tie. Ir po, kad tai tik elektra. Bet mes labai greitai pradėti vartoti tuos žemo lygio detalės suteikta ir pradėti sluoksniu ant praeityje dirbo padaryti taip, kad mes galiausiai pagal Semestro pabaigoje ir, tikrai, apskritai kaip kompiuterių mokslininkų ir programuotojai, galite padaryti kai tikrai galingas dalykų nukreipdama darbą kad mes patys padarėme, o taip pat stovint ant kitų pečių. Dabar mes greitai peraugo trečiadienį tik iš būtinybės pateikia informaciją, kad nori kažką daryti su juo. Taigi, ką gi mes apibrėžti algoritmas? Nurodymų serija. Taigi tai nurodymų serija, pakopų skaičius, kad jūs, žmogaus arba kompiuteris, kaip labiau įprasta, būtų vienas po kito vykdyti tam pasiekti tam tikrą tikslą. Ir mes turėjome mažai tikslų, paskutinį kartą, iš kurių vienas buvo suskaičiuoti žmonių kambaryje. Ir dar vienas toks pavyzdys buvo rasti Mike Smith telefonų knygą. Taigi, jūs galite prisiminti, kad aš persiplėšė telefoną knyga pusę link šio tikslo iki rasti Mike Smith. Tos regėjimo tikslas buvo įrodyti, vėlgi, kad mes buvome tiesiog ašarojimas šią problemą pusė, per pusę, per pusę, ir labai greitai vyksta nuo, pavyzdžiui, 1000 puslapių tik vieną viename puslapyje. Tie iš jūsų, kurie praleido tai ant Trečiadienis, aš maniau, mes norime atkurti kai ką praleidau filmuota medžiaga. Paimkime išvaizdą. [VIDEO PLAYBACK] -Taip mes einame. 1500 puslapių, Nice clean linija, teisėtas ašarų. [PABAIGA VIDEO PLAYBACK] Davidas Malan: Taigi, kad buvo trečiadienį. Mes perėjimas, nors, trečiadienį dabar kad nori atstovauti algoritmai kai šiek tiek įprastu būdu, o ne tik aprašant juos žodžiu, bet bando juos išreikšti raštu arba kompiuterio ekrane taip, kad galėtume pradėti patobulinti ir modifikuoti juos, ir, galiausiai, iš tikrųjų analizuoti, kiek teisingi arba kaip greitai jie buvo. Taigi mes pristatėme šią sąvoką iš pseudocode, kuris, profanas sąlygomis, yra kas? Gerai, žodžiai. Vykime tiek giliau nei tai. Anglų, žinoma, yra, bet link kokiu tikslu? Žodžiai, su kuria sukurti arba atstovauti algoritmai. Taigi čia niekas kalba žinomas kaip pseudocode pasaulyje. Tai tiesiog, kad jūs, anglų kalba, arba kokia jūsų šnekamoji kalba yra naudoti iš paviršutiniškai notacijos rūšiuoti perteikti idėja labai trumpai. Bet mes pamatysime, kad tikrai su Anglų Pseudocode, ir paaiškėja, Patys programavimo kalbas patys yra darinys anglų pati, mes surasime, kad yra keletas standartas būdai atstovaujanti pseudocode ir taip pat programavimo kodą. Taigi, kaip jūs pradėsite matyti net paprasčiausias pavyzdžių šiandien, suprasti jų tie patys modeliai pasikartos kitą savaitę. Taigi Pseudocode buvo kažkokia kalbos primenančiu programavimo kalba. Ir pirmasis pavyzdys matėme vizualiai užrašyti buvo toks vienas. Tai buvo tik trijų etapų programa, tikslas, kuris buvo suskaičiuoti žmonių bendrabučio kambaryje kad trečiadienį vaizdo. Bet ten buvo keletas įdomių aspektų Šio paprasčiausias programą. Ir tai bus pasikartojančios temos. Taigi, tiems, kurie nėra susipažinę su tai vienas, mes pristatė kintamąjį. Ir tikriausiai visi šiame kambaryje susipažinęs su į kintamąjį kontekstas algebra. Bet čia programavimo, kintamieji yra vienas, gali būti vadinamas ką norime. Mes jau naudojant n kaip skaitiklis. Bet mes galime naudoti žodį skaitiklis arba, kaip pamatysite, dauguma bet frazė, galbūt jūs norėtumėte tol, kol tai aprašomasis, bet tai tikrai tik saugojimo boksas. Tai atminties riekė, kai skaičius bitai, ir tai priklauso nuo kompiuterio, kaip daug bitai yra, kad rašyti, kad kintamasis. Tačiau mes galime įdėti vertybes jį. Iki šiol mes tik pateikti skaičiai. Tačiau mes galime įdėti realius žodžius. Mes galime įdėti pastraipas. Mes galime įdėti nuotraukas - nieko, tikrai, mes galime atstovauti su nuliai ir tie, mes galime įdėti tai aukštesnio lygio sąvoka iš kintamąjį. Taigi gana važiuoti tiesiai į priekį ten. Ir tai linija vienas. Bet mes labai greitai persikėlė nuo linija vienas iš tikrųjų kažkas su tuo kintamąjį. Ir atitinka trijų, mes atnaujinti N. Mes padidinamas N. Ir mes galime rašyti tai bet būdų skaičius. Bet galbūt Akivaizdžiausias yra tiesiog pasakyti, nustatykite N lygų kokia N plius 1. Taigi, tai buvo mūsų prieaugis. Tuo tarpu, buvo kilpa. Ir tai viena, taip pat tikriausiai gana intuityvus. Kilpa yra tiesiog kažkas programoje taip atsitinka vėl ir vėl, kai rūšies ciklą. Ir tai raktas frazė čia, nes kiekvienas yra iš tikrųjų labai dažna beveik visoje programavimo kalbų, įskaitant tie matysime kursuose. Anytime matote žodį, jis paprastai perteikia idėją, kad kilpa, kažkas ciklinis, yra apie atsitikti. Tačiau verta paminėti vieną kitos sintaksinės išsamiai. Faktas, kad trečioje eilutėje yra iš tikrųjų įtrauktas turėdami nukentėjo Space bar kelis kartus yra tyčinis. Kadangi žmogaus konvencija yra tokios, kad kai jūs darote kažką naujo ir dar kartą, kilpa, kaip pradėjo on-line du, jūs įtraukoje, kas priklauso tos linijos tik, kad aišku, kad tai linija trys, o ne, pavyzdžiui, linija keturių ar penkių, jei ten buvo linijos ar penki, kurie yra Dalis, kad kilpas. Taigi šis paprastas įspaudas perteikia tą pagrindinę idėją. Taigi, mes taikyti šį algoritmą, dabar į keletą pavyzdžių. Ir tai taip pat paprastas pavyzdys realiame pasaulyje. Bet tai bus atstovas kaip jums eiti apie Išbandyti savo savo vis sudėtingesnes programas. Jūs išbandyti keletą scenarijų, kai atstovai įėjimai, ir pamatyti, jei jūs gauti norimus rezultatus. Taigi šis pavyzdys turėjo du žmonės sėdi bendrabučio kambaryje. Kairėje yra tai, kad pats pseudo kodas. Ir tai yra ekrano fotografiją labai paskutinis žingsnis šio reglamento taikymo algoritmas tų sąnaudų, kur buvo du žmonės į kambarį ir, priminti, kaip mes žingsnis per linijas vieną, ir du, ir trys, ir du ir trijų ir padaryta - pagal šio algoritmo pabaigoje turėjome iš tiesų skaičiuojami du vaikinai, kurie į kambarį. Taigi mes bandėme kitą pavyzdį. Ir mes pasakėme ką daryti, jei yra nulis žmonių kambaryje? Ar šis kodas vis dar teisinga? Ir iš tiesų tai buvo. Jis tiesiog taip atsitinka, kad linijos du , todėl linijos trijų ar nesiruošia vykdyti. Jie nesiruošia atsitikti ne visiems nes jie tiesiog nėra taikoma, jei ten nulis žmonių kambaryje. Bet ne big deal. Line vienas inicializuoti N nuliui, todėl nors tik viena eilutė tai programa iš tikrųjų galų gale buvo naudingas, ji vis dar duoda teisingą atsakymą, kaip nurodė oranžinė nulio apačioje. Bet tada mes nusprendėme, kad buvo rūšies kvailas algoritmas. Tai buvo gana lėtas. Žinoma, aš galiu padaryti, dviejų, keturių šešių, aštuonių, dešimties, kai skaičiuojant žmonių kambaryje. Taigi, mes orientuotą algoritmą, Pseudocode, sakyti, kad dabar atitinka du, kiekvienai žmonių poros kambarį, pradėti, laikantis trijų, prieaugio kaip dviem kiekvienoje iteracijoje. Taigi, kad būtų dirbę čia tai asmenų kambario pora. Bet tada, jei jūs pradėsite galvoti apie tai, ir ji neturi daug laiko suprasti, palauk tai yra vyksta pertrauka, ji sugenda kokia paprastų pavyzdžių? Jei yra trys žmonių kambaryje arba, apskritai, kai yra nelyginis skaičius žmonių kambarys, įskaitant vieną. Mes norėtume praleisti, kad asmuo, nes čia nėra tokių porų. Taigi mes greitai spręsti, o ne nustatyti, kokių papildomų programavimo konstruktai į pseudo kodu. Taigi sąlygą, mes vadinami jis arba filialas. Ir tai reiškė perteikti vizualiai idėja šakos ant kelio šakutė kur jūs galite tai padaryti, arba gal kažkas. Ir iš tiesų, mes spręsti šį klausimą pridedant 4 eilutėje sakydamas, tikrai, ne galo, jei vienas asmuo išlieka tada eiti į priekį ir suskaičiuoti juos ypatinga. Taigi jūs rūšiuoti ypatingais atvejais juos, todėl kalbėti, kad dabar mes galime ir net žmonių skaičius ir nelyginis skaičius žmonių. Dabar yra kokių nors būdų mes galėjome išreikšti tai. Ir tiesą sakant, galėjau būti dar daugiau NIT smulkmeniškas kai jis atėjo į mano pasirinkimas Anglų kalbą pseudocode. Bet bent jau dvasia idėja yra perteikti. Jei perdavė šį kodą draugui kas ne CS, arba niekuomet nesiėmė CS, šansai yra, jie gali išsiaiškinti, nes tris žmones į kambarį, kaip skaičiuoti tuos žmones, kurių nuo šių nurodymų. Ir tai viskas tikrai norime pasiekti su pseudocode, kažkaip standartizuoti, kaip mes ketiname apie atstovaujantys idėjos, kad mes galėtume pradėti daryti sudėtingiau dalykas dar. Taigi, kad mus veda ir tada, ir šiandien, faktinį kodą. Mes pradėsime programa šiandien, nors palankią aplinką. Ir tada mes pereiti labai greitai daugiau paslaptingų sintaksė, bet vienas, kad pamatysite, yra iš esmės tas pats, kaip idėjos matys pasireiškia su tai kita kalba šiandien. Tai tiesiog vyksta ieškoti šiek tiek kitoks. Taigi, o ne tiesiog paskambinkite šį kodą, aš bus šiek tiek tiksliau ir pasakyti, nuo šiol, kai raštu programa, rašote kodą. Tai tipo kaip pseudocode. Bet mes pamatysime tai nėra tarsi laisvi kai jis ateina į pasirenkant žodžius kad jūs naudojate. Kai programavimo kalba, turite naudoti žodžius, frazes, sintaksė, kad kiti žmonės nusprendė atstovauti kad tikra kalba. Taigi pseudocodes yra iki jums. Tikrasis programavimo kalba kaip C, kaip mes galų gale pamatyti, yra standartizuota kitų žmonių. Taigi, kaip mes eiti apie raštu kai kodo? Na aš ruošiuosi eiti į priekį ir tai padaryti. Aš ruošiuosi eiti į priekį ir atverti langą čia. Daugiau informacijos apie šį kitą savaitę. Bet tai prietaisas vadinamas CS50 prietaisas. Bėgu programinė įranga, ant mano "Mac", nors jūs galite padaryti tą patį "Windows" kompiuterio, kad suteikia man iliuzija veikia skirtingos operacinė sistema visiškai teisus čia ant mano Mac lange. Aš ką tik patikrino visą, todėl jūs neturite iš tikrųjų matyti Mac OS dabar. Tai operacinė sistema vadinamas "Linux". Tai labai populiarus. Tai labai greitai. Tai labai laisvas, kuris tapo labai įtikinamas, ypač prekybos pasaulyje. Ir daugiau apie tai link pabaigos pusmetį, kai mes naudojame Linux gana šiek tiek Web programavimas ir talpinimas faktiniai svetaines ir projektus. Taigi dabar, tiesiog žinau, kad tai yra darbastalio tai reiškė, atrodo miglotai susipažinęs su Windows ir Mac OS. Jis tiesiog turi keletą skirtingų pavadinimų ir piktogramos dalykų. Bet tai yra vadinamasis CS50 prietaisas, virtualios mašinos, kad pradedant kitą savaitę, jūs vaikinai paleisti viduje lango savo Mac arba PC. Šiandien, aš atverti programų paprasčiausias. Tai vadinama gedit. Ir tai tik grafinis redaktorius. Tai lyg "Microsoft" Žodis, bet paprastesnis. Tai tipo kaip tekstą Redaguoti arba Notepad. Tai tiesiog labai paprasta programa su kuri rašyti žodžius ekrane. Jis tiesiog taip, kas atsitinka, kad jei aš taupyti failai, kurie sukurti, kai ši programa specialiame pratęsimo patinka. c, vietoj iš. doc arba xls., ar kas esate susipažinę su, aš iš tikrųjų galite sukurti programas, naudojant net ir tai paprasta teksto redaktoriumi. Taigi leiskite man tai padaryti. Leiskite man eiti į priekį ir išsaugokite šią failą pirmiausia kaip hello.c. Ir vėl, tai vartotojo sąsaja tapo pažįstamas greitai. Bet dabar, aš tiesiog rašyti į failo pavadinimą. Aš ruošiuosi įrašyti jį į savo Joną Harvardo namų kataloge. Ir dabar turiu šį skirtuką, kuris rodo Aš iš tikrųjų redagavimą failą pavadinimu hello.c. Taigi, nieko per daug įdomus dar. Ir dabar jis ketina gauti gana paslaptingas. Aš ruošiuosi padidinti, tiesiog todėl labiau pastebimi. Ir aš ruošiuosi pradėti rašyti apimti stdio.h, int main, negalioja, atviras garbanotas petnešomis, vienas, du, trys, keturios erdvės iš įdubimas, spausdinti F spausdinimui kažkas suformatuotas, citata citatos, "Labas, pasauli" Backslash, n, netoli citata, uždaras skliaustelis, kableliais įveskite Backspace Backspace Backspace, Backspace uždarytas garbanotais petnešomis - Aš užprogramuotas. Visos teisės todėl tai yra super paprasta programa, tikrai, programa, kas prasideda programų sudarymą. Ir visa tai daro, visiems jos sudėtingumą, yra atspausdinti ant ekranas, atspėti, ką? Hello world. Bet tai nepakanka tik parašyti programą. Taigi tai yra kodas. Tai šaltinis kodas kalba vadinama c. Tai išsaugoti dabar failą pavadinimu hello.c. Dabar pažiūrėkite į apačioje iš ekrano čia. Daugiau informacijos apie tai, vėlgi, ateinančias savaites. Bet tai, ką mes vadiname terminalo langą. Tai mirksi, juodas ir baltos spalvos eilutę. Tai tarsi senosios mokyklos sąsaja kompiuteris, kuris paprastai nėra naudoti pelę arba kitą grafiniai elementai. Jis tiesiog naudoja jūsų klaviatūra. Ir aš galiu įvesti komandas tai mirksi greitai. Ir šiandienos tikslais, aš tiesiog ketinate tipo taip - padaryti hello. Ir tai programa, įsitikinkite, yra tik programa, kad realiame pasaulyje šių dienų, mes dukart spustelėkite. Tačiau šiame šiandien sąsaja, mes ketina įvesti savo vardą šį raginimą. padaryti Hello yra tiesiog ketina man programa, vadinama Hello. Ir jis ketina padaryti ieškote už failą, tiesiog Numatyta, kad vadinamas hello.c. Tai ketiname daryti prielaidą, noriu C programa iš prigimties, kaip šiame kompiuteryje yra sukonfigūruotas. Taigi aš eiti į priekį ir spustelkite Enter klavišą. Matau šiek tiek paslaptingas išvestį, tačiau tai taps pernelyg susipažinęs prieš ilgas. Tai atsitiko paleisti kompiliatorių, daugiau apie tai per metu vadinamas žvangėjimas. Bet dabar, aš turiu tik dar mirksi greitai. Ir aš galiu eiti į priekį dabar ir įveskite tašką velniop, nes neįdomu priežasčių mes grįžti į kitą savaitę - Apie. Taigi visos šios pastangos iki šiol tik rašyti programas, kad paprasčiausias, kaip tik aš paspauskite Enter, ar tai. Taigi, aš parašiau savo pirmąją programą. Taigi, aš sąmoningai išnyra įdomus šiuo labai paprasta programa dėl keleto priežasčių. Vienas iš jų, tai sunku karščiuotis apie vartojate klasę, jei tai yra galutinis žaidimas. Tačiau daugiau nei, kad ten daug ramiai čia. Pirmą kartą išmokti programą, už Tiems iš jūsų, mažiau patogus ir net aš, atgal per dieną, kai aš pirmą kartą pamačiau kažką panašaus į tai - galite natūra Figurowy, kad viskas gerai, šiuo yra spausdinimo hello world. Bet yra tiek daug išsiblaškymas. Yra tiek daug sintaksė ekrane kad ji patenka į labai būdu Paprasta, kitaip paprasta, idėjas. Taigi, ką mes ketiname padaryti šiandien mes ketina atidėti C ir ateiti atgal į, kad pirmadienį. Ir mes ketiname naudoti grafinis programavimo kalba vadinama nulio. Tai programavimo kalba, kad aš užsiminė trečiadienį, kad vyksta leisti mums padaryti tos pačios rūšies daiktų bet nepastebėti, šiandien, į garbanotas petnešos, skliausteliuose, su kabliataškiais, ir visa tai kvaila ramiai, kad gauti tokiu būdu, į pirmą dieną, kai paprastas, gana įdomių idėjų. Taigi, siekiant šio tikslo, aš ruošiuosi eiti atgal į mano darbastalio čia ir supažindinti jus su alternatyva, kad programa, kuri ketina ieškoti mažai ką šviesą tai. Štai kaip mes ketiname įgyvendinti, kad pati programa šiandien - du dėlionės vienetų, kad, kai susiję, spustelėjote, bus pasakyti pasauliui, hello world. Taigi, galime iš tikrųjų ten. Taigi, aš ruošiuosi eiti į priekį ir atidaryti svetainės žinomas kaip scratch.mit.edu. Ir tai bus man ši svetainė čia. Iš anksto, aš prisijungęs į šį svetainėje ir pirmieji problemų, kurias padės jums kai kurios iš šių etapų. Aš ruošiuosi eiti į priekį ir spustelėkite mano įbrėžimams aplanke čia. Ir tai vyksta man parodyti kai kurie projektai, kad aš faktiškai sukurta anksto. Ir it turns out, kad šis grafinis programavimo kalba ne tik vyksta leisti mums programą, vilkdami ir nuleisti šiuos įspūdį, jūs net nereikia specialios programinės įrangos. Tai viskas įdėta naršyklėje tt kad jūs galite tai padaryti, teoriškai, ant kompiuterių dabar, kaip kai kurie iš jūsų Taip pat gali būti, net būtinybės Programinė įranga kaip CS50 prietaiso, kuri bus kitą savaitę. Taigi, aš ruošiuosi eiti į viršutiniame kampe Čia ir spustelėkite Kurti. Ir akimirką aš ruošiuosi gauti tuščias ekranas, per kurį aš galiu pradėti programavimas tai grafinis programavimo aplinkoje. Bet šį kartą, tai bus daug, daug paprasčiau, kad iš tikrųjų tai padaryti. Taigi vos akimirką, kai "Wi-Fi" bendradarbiauja, dabar mes turime šį ekraną. Taigi greitai žodinis kelionė, bet drįstu pasakyti, tikrai, kai jūs pasinerti į Pirmoji problema rinkinys, jums šie visi labai prieinama ir gana intuityvus. Bet leiskite dažų psichikos vaizdą tik akimirką. Taigi po šios eilutės sako išgelbėjo pokyčiai, jūs apie pamatyti įbrėžimams. Tai Sprite. Tai simbolis. Ir jis gyvena, ką mes vadiname etapą, tai didelis baltas stačiakampis jis gali judėti aukštyn, žemyn, į kairę, teisę, ir tai, tikrai, kitų veiksmų rūšys. Tuo tarpu šio naudotojo viduryje sąsaja, mes turime visa krūva įspūdį. Ir jūs pamatysite, kad jie sako tokius dalykus kaip perkelti 10 žingsnių, pasuko 15 laipsnių, taškas tam tikra kryptimi. Tačiau yra kategorijos blokai iki čia. Taigi, jei aš einu atrodo, jūs pamatysite, kad ten kiti įspūdį, kad matyt šitam cit į say hello, mąstyti, parodyti pats pasislėpti. Jeigu aš eiti į garsų, paaiškėja, nėra būdų, kaip žaisti skamba Miau, sustabdyti visus garsus, žaisti būgno. Taigi, ilga istorija trumpa, ten visa krūva įspūdį, kurios leidžia pasakyti tai katė, ar bet numerį Visi kiti ženklai, ką daryti. Tačiau, kad visa tai atsitiks jums reikia pradėti programavimą. Ir tai didelis baltas langas, arba pilka dėžutė, ant dešinė pusė, tai yra, kai Aš einu, kad iš tikrųjų vilkite ir lašas tuos įspūdį. Tai mano tuščias tekstas langas ekvivalentas. Taigi, aš ruošiuosi eiti į priekį ir spustelėkite Kontroliuoti per vidurį. Arba, tiksliau, leiskite man pradėti parengtos pagal įvykius. Pagal Renginiai suoliuko, jūs pastebėsite, keletas dalykų, kurie sąmoningai išlenkta į viršų taip, kad jie tikriausiai neturi susikabinti ant viršuje įspūdį. Ir tai todėl, kad jie Skirstoma pradžią iš programos, iš pradžia scenarijus, taip sakant. Taigi, jei aš einu į priekį ir vilkite, kai žalia vėliava paspausti čia, ir tada aš nori, kad ši katė pasakyti kažkas ne pirmas. Taigi, aš ruošiuosi eiti pagal atrodo panelė. Ir aš ruošiuosi eiti į priekį ir patraukti say hello bloką ir vilkite ir upuść, ir atleiskite, kad jis automatiškai išjungikliai ten. Ir tada pastebėsite, galiu spustelėkite tekstą. Ir aš galiu nepaisyti, kad ji būtų labiau konkretus kaip, tarkim, hello world. Ir dabar mes turime programą, kuri aš reikalauti yra lygiavertė daug slaptas programa aš parašiau į C prieš akimirką. Jei aš einu per dabar kairėje pusėje, pastebėsite, kad yra didelė sustojimo ženklas ir didelė žalia vėliava. Leiskite man padidinti aiškumo. Ir kai aš dabar spustelėkite šią žaliąją vėliava jums greičiausiai gali atspėti, kas tai pirmasis programa dabar ketinate daryti. Taigi, taip pat, mes programavimo, bet mes ne iš tikrųjų gauti įklimpo kai kuriose iš šių sintaksės, smulkiau. Tačiau galime pabandyti kažką šiek tiek įdomesnis. Leiskite man eiti į mano Scratch aplanke čia. Ir iš tikrųjų, leiskite man todėl leiskite man atverti atskira programa, čia tiesiog momentas, padidinti šį langą Failo atidarymas, ir aš ruošiuosi eiti į šiandien šaltinis katalogas. Kaip visada, rasite, šiandien ir toliau, kad visi šiandienos pavyzdžiai yra prieinama viduje Kursas tinklapyje. Ir aš ruošiuosi eiti į priekį čia ir pasiimti iki šiek tiek kas kita. Tai vienas čia, dėl kurių Man reikia savanorių. Kas norėtų stalo lempa šiandien? Gerai, kaip apie ką nors šiek tiek - yra jums, galų gale? Nagi žemyn. Dabar, ar norėtumėte dalyvauti, tiesiog pasakyti pradėti nuo stalo lempos? VANESSA: [nesigirdi]. Davidas Malan: Gerai. Puikus, kas jums vardas? Vanessa? Davidas. Malonu jus matyti. Taigi atėjo On Up ir Vanessa vyksta imtis kontroliuoti savo klaviatūra tik akimirką. Ir ką aš padariau, čia tik laiko ųjų sake, kaip supratau, Wi-Fi "buvo šiek tiek lėtai, įbrėžimams, programavimo aplinka, kad mes naudojant, taip pat galite atsisiųsti ir paleisti į Jūsų vietinį kompiuterį. Taigi, ką aš padariau prieš paskaitą, į atveju tai atsitiks, tai aš atsisiuntė visi failai mes ruošiamės žaisti su taip, kad jie gali veikti šiek tiek daugiau greitai čia ant mano laptopo. Štai kodėl dabar matau Mac specifinė sąsaja. Taigi, aš ruošiuosi eiti į priekį ir atverti šią vieną. Aš ruošiuosi eiti į priekį dabar ir visą ekraną langą. Ir pamatysite, mes galime labai greitai, kaip tai studentas padarė, vienas iš Jūsų pirmtakai, pereiti nuo hello world kad daug daugiau įtikinamų taikymas. Taigi čia yra instrukcijos. Oh, ir mes turime vieną kitą dalyką. Aš maniau, kad būtų smagu, nes, paprastai, mes būti filmuoti fotoaparatai tokiu būdu. Aš maniau, kad būtų smagu, jei Vanessa, mes galime pamatyti pasaulį per akis. Taigi čia mes turime tam tikrą Google stiklo. [Stebėjosi gasps] Davidas Malan: Mes tik suteikiant toli stalines lempas šiandien. [Juokas] Taigi leiskite man lazda tai padaryti. Gerai, kad liesti tai. Gerai, Stiklas, filmuoti. Visos teisės Vanessa? Dabar, kaip panaikinti, kad gavo nieko daryti su nulio, jei peržvelgsite šiek tiek aukštyn ir į dešinę, pamatysite pažodinis stiklas, ir jums reikia pamatyti šiek tiek stačiakampio formos langas. Jūs turėtumėte pamatyti visus savo klasiokus nufilmuotas dabar? Taip. VANESSA: Taip. Davidas Malan: Gerai. Taigi, kad viskas gerai. Mes paleisti šią filmuotą medžiagą vėliau. Nes dabar, paversti savo dėmesį į ekraną čia. O ką jūsų pirmtakas padarė yra įdėti kai kurias instrukcijas ekrane tiesiog naudojant piešimo programa. Taigi, jūs ketinate, per akimirką, paspauskite tarpo klavišą, norėdami pradėti. Ir tada kai įspūdį vyksta pradėti judėti iki ekrano. Ir jūs norite pasiekti rodyklių klavišus, tiesiog kaip ir realiame DDR pagal su dalykų rikiuojasi su šiomis rodyklėmis. VANESSA: Gerai. Davidas Malan: Jūs žaisti anksčiau. VANESSA: Taip. Davidas Malan: Gerai, Vanessa, eiti į priekį ir pasiimti jį. [MUZIKA - Kayne VAKARŲ "stipriausios"] [Plojimai] Davidas Malan: Taigi, tegul dabar pailsėti nuo šio žingsnio. Taigi aišku, kad tai yra pabaiga žaidimas. Pabaigoje žaidimas nėra hello world. Bet jūs neturite būtinai padaryti dalykų, kurie taip interaktyvus. Jūs taip pat gali tai padaryti animaciją. Taigi, pavyzdžiui, dar vienas iš jūsų įpėdiniai padarė šią programą čia kuris pasakoja istoriją daugiau nei ji įgyvendino žaidimą. Taigi leiskite man eiti į priekį ir atidaryti čia programa, mūsų paties šaltinio katalogą nuo šiandien. Tai vienas skambutis, ir pradėkime su, slapukas meilės istorija. Ir ne tam, kad tai taip pat mokslo, bet, kaip jūs žiūrėti šį vieną, manau, kad sau, kuris iš šių paprasta programavimo sąvokas mes kalbėjome apie iki šiol - kintamieji, ir vyrių ir sąlygos, buvo jūsų pirmtakas tikriausiai naudoti tik įgyvendinti kai kad vizualizacijos. Jūs matote čia. Taigi aš jums slapuką meilės istorija. [MUZIKA - "Green Day", "Holiday"] [CRASH] [MUZIKA - vėžliai, "Happy Together"] Davidas Malan: Gerai, kad ten, mes turėjome slapukų meilės istorija. Bet net ir ten - [Plojimai] Davidas Malan: Gerai, net ten, galvoti apie, kaip tie širdis ėjo iš nuo apačios iki ekrano viršuje, ten iš tikrųjų buvo tiek atsitiktinumas vyksta. Ir iš tiesų, pamatysime, kad net Paprasčiausias aplinkose, pavyzdžiui, Scratch, kaip C, galite sukurti atsitiktiniai skaičiai, arba iliuzija atsitiktiniai skaičiai, kad žaidimas yra šiek tiek įdomesnis nei jis gali būti, jei buvo visiškai sunkiai koduojami viską. Be judėjimo, kurį matote, yra ten kai reagavimą natūra. Kaip tik meduolių vyras paliečia Meduoliai su imbiero priedais moteris, ji atrodo tolti. Ir taip, iš tiesų, jūs galite įgyvendinti, kad Patys programavimo kalbas, sąvoka įvykių, pagal kurį, jei viena ranka paliečia Kita vertus, tai gali sukelti kai savo kodą į faktiškai vykdyti. Jūs galite klausytis tokių viskas ekrane. Taigi galime greitai apžiūrėti, tada, kai blokai mes galime naudoti pasiekti kai kuriuos iš šių tikslų. Taigi štai ką mes atsiųsime šiol skambinti pareiškimą. Apsauga atsitinka būti violetinė Įbrėžimams, šiek tiek kažką panašaus į tai, bet tai savavališkai. Teiginys yra tiesiog įspūdį arba apskritai, instrukcija, kad pasakoja kompiuteris daryti kažkas, pareiškimą. Taigi čia paprastas pavyzdys. Say hello pasaulį. Dar viena galima laukti vieną sekundę. Taigi tai dėlionės gabalas, kurį remia į nulio, mes galime savo simbolių pristabdyti kai skaičius sekundes. Tai taip pat yra tik pareiškimą. Štai kitą, turime dar daugiau įdomus, žaisti garso miau, ir šiek tiek rodyklė reiškia, kad nulio, tai meniu. Taigi, galite importuoti garsus. Galite įrašyti garsus ir daryti kita įdomus dalykų nulio. Ir tai taip pat, nors pabaigoje dienos, yra tik teiginys. Bet dabar galime pristatyti daugiau įdomus gabalas, kad žinomas kaip Būlio išraiška. Kapitalo B pavadintas po kolegos pavadino Bool. Ir Būlio išraiška yra tiesiog dėlionės gabalas, arba, platesne prasme, informacijos dalis, kuri yra arba true arba false - vienas arba nulis, taip arba ne. Taigi, tai tik vienas iš tų, dvi priešingybės. Taigi viena iš tokių Būlio išraiška pasaulyje nulio atrodo taip mėlyna įspūdį. Ir tai užduodami klausimą, pelę žemyn, ir kad gali būti arba, iš kursas, true arba false. Taigi su šiuo dėlionės gabalas nulio, gerai, jūs galėsite nustatyti, ar puzzle jei pelė yra, iš tiesų, yra nuspaustas iki žmogaus bendrauja su jūsų programa. Tai vienas šiek tiek daugiau abstrakti, bet tos dvi baltos dėžės yra tik numeriais. Taigi jūs galite padaryti kažką panašaus tai skaičius mažesnis nei kitos? Ir jei taip, įbrėžimams elgsis vienaip ar kitai. Tai vienas šiek tiek daugiau grafinis. Tai jei Sprite, jei katė, už Pavyzdžiui, iš tikrųjų neliesti pelės žymeklis. Taigi, jei šiek tiek rodyklė galva Vizija per katė, tai dėlionės gabalas įvertins, tiesa. Tai bus tiesa, tokiu atveju, jei jūs naudoti šią loginę išraišką, nes mes atsiųsime matyti vienu metu, per filialą, jūs galite arba tai padaryti, ar jūs galite padaryti, kad panašiai kaip mes turėjome sąlyga, kad patikrinti, ar yra dar vienas paskutinis žmogus į kambarį? Jei taip, pridėti dar vieną. Priešingu atveju, nesijaudinkite toliau. Taigi Būlio išraiška taip pat gali būti ir-k kartu arba arba-k kartu. Taigi jūs galite derinti Bulio išraiškos ir tai sakau ir tai turi būti tiesa, Visa tai turi būti tiesa. Ir čia yra daugiau realaus pasaulio pavyzdys. Jei naudojote CS50 kursai daryti kursą apsipirkti, šios žymės langelius ten, kur, jei jums patikrinti šį langelį, esantį šalia į kursus, kurie bus pasakyti, taip, rodyti tik man kursus, kurie K vertė yra 4.5 arba naujesnė. Jei panaikinsite jį, ne, ne nerimauti, kad. Ar panašiai, dešinėje, ar ne Konfliktas su kursais, aš vartojate tai arba true arba false. Tai tiesiog Būlio išraiška. Taigi visą šį laiką, kai jūs naudojami tinklapis su varneles, jūs tik perjungti iš Būlio ekvivalentą išraiška ir išjungti. Taigi, kokia forma jūs naudojate juos? Na, nulio, mes matome akimirkos , kad yra sąlygos, kad atrodyti taip. Ir tai tipo protingas, nes daug kaip ir pseudocode, mes įspaudžiami U-formos įspūdį tarsi reiškia, kad nieko viduje, kad ir yra ketina vykdyti, ar ne, priklausomai nuo nuo to, kur ji yra. Taigi, jei Būlio išraiška, tada bet viduje gaus įvykdytas. Tuo tarpu, čia jei / kitas blokas. Taigi, jei norite filialą, kad eina tai Vienaip ar kad įbrėžimams suteikia mums tai. Ir šia logika, dabar, nors, kad dėlionės gabalas yra aiškiai per maža pleišto kažkas jo viduje, nulio įspūdį, jie tik augs. Jei vilkite ir upuść per kažką, tai bus tik augti, kad tilptų kokia ji yra bandote daryti. Taigi, mes galime imtis du šiuos dalykus ir padaryti trikryptñ šakutės kelyje tt kad jūs arba tai padaryti, arba kad arba tai kitas dalykas, tiesiog lizdus jų tokiu būdu. Žinoma, jei jums tai padaryti per daug, jis pradeda gauti negraži. Bet tuo metu, jūs iš tikrųjų tikriausiai ne programavimo labai gerai. Ir kad bus kartojasi tema, taip pat, kad stiliaus. Tiesiog kaip gerai iš tikrųjų formatuoti savo kodą? Arba kaip gerai jūs kurti savo kodą? Bet daugiau apie tai ateityje. Ir dabar mes turime kilpas. Yra gražus amžinai kilpa nulio kuris pažodžiui reiškia, kad - padaryti viską, kas viduje ir vėl, ir vėl, ir vėl. Galite būti konkretesnis ir pasakyti, Atlikite šiuos veiksmus dalykas 10 kartų. Taip pat galite naudoti kintamuosius. Galite sugalvoti bet kad pavadinimu tiek nukristi ir sako, duok man kintamasis vadinamas n ir nustatyti tai tolygu tam vertę. Ir tada jūs galite turėti funkcijas. Bet daugiau apie tuos, vos akimirką. Leiskite man grįžti į savo Scratch sąsaja. Ir leiskite man eiti į priekį šį kartą. Ir eikime į priekį ir atverti, tarkim, pavyzdį iš - tai šiek tiek įdomesnis. Leiskite man eiti į priekį, ir, iš tikrųjų, leiskite man tiesiog padaryti jį sau. Man nereikia atidaryti šį vieną. Leiskite man eiti į File, New. Aš ruošiuosi eiti į įvykius. Aš ruošiuosi eiti į kai žalia vėliava spustelėjote, ir aš ruošiuosi eiti į garsą. Ir aš ruošiuosi vilkite ir upuść tai įspūdį, žaisti garso Miau. Tai skląsčiai kartu. Ir dabar, jei aš spustelėkite žalią vėliavą - [MEOW SOUND] Davidas Malan: Žavingas. Gerai, kad dabar galime padaryti kažką šiek tiek logiškiau tiesiog įrodyti, kad galime, dabar. Aš ruošiuosi Atidaryti zasuwę tai nuo to vaikino. Aš ruošiuosi eiti į Control. Ir aš ruošiuosi patraukti būklę. Taigi, jei kažkas tada. Štai kaip jis atrodo ten. Taigi man reikia Būlio išraiška. Ir leiskite man eiti į priekį ir pasakyti, leiskite man eiti į operatorių. Aš ruošiuosi padaryti kažką šiek tiek Mathy, tik prasideda. Aš ruošiuosi eiti čia ir pasakyti, jei kažkas yra mažesnis nei ko nors kito, eiti į priekį ir ką nors daryti. Taigi, dabar jūs žinote, ką, atsitiktinių blokas. Taigi, atkreipkite dėmesį, kaip, jei aš užveskite pelės žymeklį per šį dalykas čia, kad grįš ten. Taigi dabar, pranešime, aš pradedu daryti kažkas jau daugiau logiškai įdomu. Jei atsitiktinis skaičius nuo 1 iki 10 yra mažiau nei, tarkim, šešių. Jei aš pasirinksiu šešių, kad iš esmės priemonėmis, atlikite šiuos veiksmus su 50% tikimybė. Tai kaip prakeiktas monetos. Dabar, aš galiu kažką daryti sąlygiškai. Ir tai, ką aš ruošiuosi padaryti, tai žaisti garsą. Taigi dabar, kai aš spustelėkite ekrane vėliava, tai kaip supimas monetą. [MEOW SOUND] Davidas Malan: Tai buvo galvos arba Plauktiņš ten. Leiskite tai padaryti dar kartą. [MEOW SOUND] Davidas Malan: vadovai dar kartą. [MEOW SOUND] Davidas Malan: vadovai dar kartą. Na ir na, gerai. Uodegos kad laikas. Taigi, 50% laiko, jei mes tai darome galo ilgas, gausime 50% Miau ir 50% nutildo. Taigi, tiesiog pagrindinė statybinė blokas, kuris leidžia mums tai daryti. Bet tai rūšies nuobodu, kad aš turiu laikyti paspaudę tą mygtuką. Taigi galime tiesiog vilkite ir mesti visi tie toli. Jei nutempė juos į vidurį, jie bus tiesiog ištrinti save. Leiskite man eiti kontroliuoti. Leiskite man eiti amžinai. Ir šį kartą, aš ruošiuosi daryti kažkas minorly erzina. [Juokas] Davidas Malan: Ir leiskite man eiti į priekį ir daryti kontrolę. Palaukite keletą sekundžių, tiesiog taip tai ne per grotelės. [MEOW SOUND] Davidas Malan: Tai nėra natūralu. Gerai. [MEOW SOUND] Davidas Malan: Ir pranešimas, kas, nice apie nulio, tiems iš jūsų, kurie turėti ankstesnės programavimo patirties, jūs nereikia paleisti ir sustabdyti. Jums nereikia rinkti. Jūs tiesiog jį pakeisti, ir programa prisitaikys dinamiškai. Taigi tai vis šiek tiek įdomu. Bet paimkime dar vieną žingsnį. Leiskite man eiti į priekį ir gauti atsikratyti tos programos. [MEOW SOUND] Davidas Malan: Štai ką mes atsiųsime Skambinimas nulio klaidą. Jis neturėtų išlaikyti padaryti, kad garsas. Taigi, mes turime jam pasakysiu sustoti. Gerai, kad dabar aš ketina eiti į - Aš tegul MIT žinoti. Mes eisiu per čia amžinai. Ir dabar, aš noriu kažką daryti vėl ir vėl. Aš ruošiuosi eiti į Control. Ir pažiūrėkime, aš vilkite mano, jei sąlyga yra. Taigi dabar pastebėti logika. Kai žalia vėliava paspaudėte, tai kažkas amžinai, bet tik tai, kad kažkas, jei tai kitas dalykas yra tiesa. Aš ruošiuosi eiti, tegul pasakyti, pajutęs. Ir aš ruošiuosi eiti į priekį ir pasirinkti neliesti ir palikti jį ten. Tai loginė išraiška. Ir dabar, atkreipkite dėmesį, kad šis sumažėjimas išskleidžiamajame meniu, yra keletas iš anksto nustatytų verčių. Taigi, galiu pasakyti, jūs liesdami ekrano krašto? Arba jūs liesdami pelės žymeklį, ekrane rodyklė? Taigi, aš ruošiuosi daryti. Ir jei taip, tada aš ruošiuosi eiti į priekį ir žaisti garso Miau. Taigi, dabar aš tarsi turi ištakas žaidimas - žavinga žaidimas. [MEOW SOUND] Davidas Malan: Gerai, žavinga, Buggy žaidimas. Leiskite man laukti, tarkim, vieną sekundę ten. Dabar vėl žaisti, paspaudę žalia vėliava. [MEOW SOUND] Davidas Malan: Taigi, dabar kaip Petting katė. [MEOW SOUND] Davidas Malan: Gerai, dabar tai vienas aš padaryti iš anksto. Labai vėlai, ji pasireiškia rūšies lengva padaryti kvailų dalykų. Taigi leiskite man eiti čia. Tarkime, kad buvo Pet Cat. Leiskite dabar atidaryti Negalima Tinka Cat. Dabar, jei mes žaisti šį vieną, jūs galite atspėti, jei esate žiūri į ekraną - [MEOW SOUND] Davidas Malan: Dabar, jeigu aš PET katė [Liūto ROAR] Davidas Malan: Taigi ne iš tikrųjų naminių kačių tokiu atveju. Taigi dabar mes tiesiog turite tai, pavyzdį šaka, kad vyksta dviem kryptimis. Dabar leiskite man eiti į priekį ir atidaryti dar vieną čia. Tai vienas, taip pat tarp mūsų šaltinis kodas failai dieną. Taigi leiskite man grįžti į savo šaltinio katalogas ir eiti į, galime pasirinkti šis vaikinas čia ir pamatyti kas skiriasi. Oho, gerai, kad dabar tai vis šiek tiek sudėtingesnis. Ir kol mes matome, ką šis vaikinas daro, pabandykime padaryti išvadą iš šios programos tuo dešinėje pusėje. Ir dabar įbrėžimams aiškiai leidžia mums turėti kelis scenarijus, kelis programos, susijusios su viena Sprite, su vienu charakteriu, ir, matyt, jie abu ketina paleisti koja kojon. Kadangi abiejų šių programų prasideda su kai žalios vėliavos paspaudimų, tai užuomina į daugiau pažangių tema, kai kurios iš jūsų gali būti susipažinę, žinomas kaip sriegimo arba Multi-Threading. Pasirodo, kad ilga istorija trumpa, kompiuteriai šiandien iš esmės gali daryti daug dalykų vienu metu. Arba jie gali daryti vieną dalyką vienu metu, todėl greitai, kad jūs net nepastebėsite, kad jis iš tikrųjų daro vieną dalykas vienu metu. Bet dabar, galime daryti prielaidą, kad abu šios programos ketinate vykdyti ne tuo pačiu metu. Ir pastebėkite, abu turi amžinai įspūdį. Taigi jie abu ketina nuolat veikia kol aš paspauskite raudoną "Stop" ženklas. Taigi, ką jie ketina daryti? Kairėje pusėje, aš, matyt, deklaruojant kintamąjį vadinamą išjungtas. Taigi aš ne skambinti tai kažkas panašaus nuobodu kaip N. aš jį garsas tai laikas perteikti prasmę. Aš jį lygi nuliui. Tegul galvoja, kad klaidinga, arba galime galvoti, kad kaip klaidingą. Dabar, amžinai atlikite šiuos veiksmus. Jei klaviatūros tarpo mygtuką, tada, jei garsas yra lygus nuliui, tada pakeisti išjungtas vienodo vieną. Kitur, nustatyti prislopintas iki nulio. Taigi, logiškai, nors tai visai krūva įspūdį, kad tai tiesiog pasakyti, kai aš paspauskite tarpo klavišą, Ką turėčiau daryti, kad kintamasis vadinamas garsas? Pakeiskite jį nuo vieno iki nulio, arba nuo nulio iki vieno. Štai ir viskas. Taigi, tai lyg būtumėme šviesos jungiklį įjungti arba išjungti ir prisiminti, su kintamasis, kad aš padariau tai. Tuo tarpu, dešinėje pusėje, į profanas sąlygomis, kas yra tikslas dėl teisės scenarijų? STUDENTŲ: Norėdami žaisti Sea Lion garsą. Davidas Malan: Norėdami žaisti Sea Lion garsą, jei jis nėra išjungtas, pagal pobūdį, kad kintamasis. Taigi mes dalintis būklę, taip sakant, dalintis informacija tarp šių dviejų scenarijus, nes pastebėsite, čia mes esame amžinai atlikdami šiuos veiksmus. Jei garsas yra lygi nuliui, todėl, jei tai nėra nutildytas - jei garsas yra klaidinga, tada žaisti šis Sea Lion garso. Ir galvoti, hi, hi, hi, už dvi sekundes palaukti, o tada vėl patikrinkite. Taigi, jei mes einame dabar čia į kairę, kur šis vaikinas yra, ir paspauskite žalia vėliava, [Jūrų liūtas SOUND] Davidas Malan: Kokiais nėra tai gauti tikrai erzina? , Nes tai bus tiesiog eiti amžinai. Taigi kartais, begalinės kilpos, taip sakant, yra sąmoningas. Tačiau šiuo atveju, kaip tik aš paspauskite tarpo klavišą, jis sustos. Dabar programa ne mesti. Jis vis dar veikia šiuose kilpų. Bet jei aš gauti tarpo vėl - [Jūrų liūtas SOUND] Davidas Malan: Jis ketina pasiimti ten, kur jis nerašomas. Taigi yra vienas iš būdų, kad galėtume daryti kažkas vėl ir vėl, bet kad laikas, tik sąlyginai. Na, o mes šiame daro veną viskas vėl ir vėl, leiskite man eiti į Kitas pavyzdys čia. Tai vienas mes vadiname skaičiuoti avis. Ir pastebėti tai, ką šis vaikinas daro. Tai tikrai daugiau kaip tiek Pseudocode mes grojo su ant Trečiadienis, kurią jis nustato tam tikrą skaitiklis, galvoti apie tai, kaip yra N vėl į nulio, jis amžinai atlieka šiuos veiksmus. Jis sako Counter reikšmė vieną antra, laukia antra, ir tada keičia skaitiklis vieną. Ir šiame kontekste, kad tik tai didindami jo. Taigi jis prideda vieną į jį. Taigi tai yra tiesiog - tai ne visai tai, ką mes galvojame AS skaičiuoti avis. Tai avių daro apskaitos, amžinai, nuo nulio. Taigi, mes galime padaryti panašius dalykus ten, logiškai. Bet dabar pabandykime valyti kai kurie iš šių dalykų, iki. Leiskite man eiti į priekį dabar į paprastas pavyzdys, kai mūsų katė yra tik ketina pradėti kosulys. Gerai, kad čia mes turime kosulys 0 - kompiuterių mokslininkai pradėti skaičiuoti nuo 0. Taigi, šis šuo yra tiesiog vyksta kosulys tris kartus. Ir čia, kaip aš parašiau, kad. Kai žalia vėliava paspaudėte, kosulys, palauk, kosulys, palauk, kosulys, palauk. Ir aš tai tiesiog vilkdami ir nuleisti įspūdį. Arba, jei pradėsite žaisti su Scratch pamatysite, jūs iš tikrųjų galite dviem egzemplioriais gabalus taip, kad jūs galite padaryti viskas daug greitai, be vilkdami ir nuleisti reklamos nauseum. Bet mes ne į geriausias kelias čia. Nes kaip man padaryti jį kosulys ketvirtą kartą? Na, galėčiau rūšiuoti eiti čia. Galėčiau kartoti ir tada įklijuokite šį kodą ten. Kaip padaryti, kad jam kosulys penktą kartą? Na, nukopijuokite ir įklijuokite iš naujo. Arba vilkite lašas dar kartą. Ir labai greitai, ši programa pradeda gauti tikrai, tikrai nereikalingas, tikrai ilgai, bet tikrai neįdomu. Tačiau yra būdas išvalyti tai padaryti. Kas yra akivaizdus būdas valyti tai padaryti? Gerai, kad mes iš tikrųjų galėtų tikrai eiti , ir, kai paspausite vietos baras, turėti jį kosulys. Bet jei aš tik noriu padaryti kažką pakartotinius, priminti, kad mes turime kai kontrolė stato. Leiskite man pereiti šią naudą būdas, eiti po kontrolės. Leiskite man tiesiog pakartoti, tarkim, tris kartus. O dabar leiskite man pavogti kai Šių įspūdį. Leiskite greitai tai čia. Leiskite man mesti juos šalin apskritai. Ir dabar, aš turiu geriau sukurta programa. Kodėl? Jei aš noriu pakeisti kartų Ši katė kosulys, viskas, ką turiu padaryti, tai pakeisti vieną kintamąjį, ar viena vertė, o nuo trijų iki keturių ar penkių ar šešių. Arba aš galėčiau padaryti kažką sąlyginai, net su vietos baras, jei aš norėjau. Taigi tai yra pagrindinis principas. Kai pradėsite kopijuoti ir įklijuoti kodą ar jis yra scratch arba C darote kažką negerai, greičiausiai. Arba bent jau, kai jūs viršijo kai pagrįstų kopijų skaičių ir pastos, jūs tikriausiai daro kažką blogo. Bet žinote ką? Aš tikrai patinka tai. Tai ne švariausias dizainas. Linkiu ten buvo dėlionės gabalas vadinamas kosulys, nes tada aš ne turi įgyvendinti tai save, senamadiškas būdas, pagal to pasakyti, ir laukti - ką daryti, jei jie buvo tik kosulys įspūdį. Na, aš iš tikrųjų galite tai padaryti. Leiskite man eiti po daugiau blokų, spustelėkite Padaryti blokas, o dabar man tai langas čia. Aš ruošiuosi skambinti šis dalykas kosulys. Aš ruošiuosi eiti į priekį ir spustelėkite Gerai. Ir dabar pranešimas, gaunu nauja pradžia gabalas tai išlenkta į viršų. Ir ką aš ruošiuosi daryti su tai, aš vyksta tiesiog pavogti šiuos blokus. Aš ruošiuosi įdėti juos čia. Ir dabar, šių trijų dalių, aš įgyvendinti tai, ką aš ruošiuosi skambinti funkcija arba procedūra, arba kai galbūt žinote kaip metodas. Nedideli skirtumai tarp žodžių. Bet dabar, galime tik tai vadiname funkcija. Tai tik nauja įspūdį. Dabar tai yra įgyvendinama, kaip šis. Tačiau pastebite, kad įbrėžimams davė mums fizinis atstovavimas, kad visa blokuoti čia. Taigi dabar, aš galiu tiesiog vilkite tai čia, pasakyti, pakartokite tris kartus, o kas nutiks dabar, kai aš žaisti Šis scenarijus yra tik viena programa veikia vienu metu. Yra tik vienas, kai žalia vėliava paspausti. Bet tai raudonos blokas vadinamas kosulio efektyviai pasakoja nulio, kiekvienas kartą pamatysite, kad įspūdį, iš tikrųjų atlikti šiuos veiksmus, kad aš atsitikti įgyvendinti rankiniu būdu. Taigi tai tipo tvarkingas. Bet dabar, tarkime, kad aš nusprendžiau, aš ne norite, kad šis katė tik kosulys. Noriu, kad jis galėtų čiaudėti, taip pat. Na, kaip mes galime eiti apie įgyvendinant čiaudėti? Na aš galėtų gana daug daryti tą patį. Galėčiau padaryti kitą bloką. Galėčiau vadinti šią čiaudėti, spustelėkite Gerai. Tada, čia aš iš tikrųjų galėtų buvo, leiskite man dubliuoti tai - ir ten, kur turėtų jaustis kaip jūs tikriausiai ne daro kažką geriausias būdas. Galėčiau pasakyti kažką panašaus, achoo, vieną sekundę. Palaukti vieną sekundę. Dabar aš turiu naują bloką, vadinamą čiaudėti. Ir iš tiesų, ten jis yra. Bet tai taip pat turėtų pradėti jaustis - gal ir ne pirmą savaitę klasės, bet pagal antrą - tiesiog šiek tiek nereikalingas. Aišku, yra keletas atleidimo čia. Taigi leiskite man pasiūlyti, vietoj to, kad mes patikslinti šį apibrėžimą taip. Leiskite man eiti į mano meniu Failas. Nesiruošiu išsaugoti šią versiją. Aš ruošiuosi eiti į vieną iš mano Premade failus čia. Ir aš ruošiuosi eiti į priekį ir atverti kosulys 2. Oi tai buvo kosulys 2. Leiskite man eiti į priekį ir atverti kosulys 3, kuris yra šio šaltinio katalogas. Kosulys 3 ir pastebėti - oi, pasakiau neteisinga tvarka istorija. Leiskite man atsigauti nuo šios istorijos. Istorija Aš norėjau pasakyti baigiasi kosulys 4 - ten yra. Taigi ką daryti, jei aš, vietoj to, apibrėžti didesnis galvosūkis gabalas vadinamas apibrėžti, tarkim žodį n kartų. Čiaudulys yra tik, matyt, į nulio, achoo. Taigi mes ją išreikšti kaip žodis, tik todėl, kad tai apribojimas programos. Ir kosulys yra [kosulys], tačiau kosulys, C-O-U-G-H. Štai tik du skirtingi žodžiai daro, iš esmės, tas pats. Taigi aš iš tikrųjų galite atlikti Naujas blokas, kaip šis. Aš ne naudoti šį meniu anksčiau. Bet kai jūs spustelėkite Padaryti Block, galite pasirinkti keletą variantų. Ir jūs galite pasakyti, kad tai blokas iš tikrųjų trunka keletą įėjimai, kitaip žinomas kaip argumentus, ar parametrų, todėl kad jūs galite pakeisti elgesį Jūsų blokas. Taigi, ką aš padariau prieš akimirką buvo Aš pašaukiau tai block Pasakykite. Ir tada aš pasakiau, ji užima eilutės įvesties. Ir dabar pastebėti, pagal nutylėjimą, ji sako eilutę 1. Eilutė yra tik žodis arba Frazė mūsų tikslais. Bet aš tik ketina pateikti kai vietos rezervavimo ženklų tekstas ten, tiesiog, kaip ir interneto svetainėje, kai pamatysite vardą arba slaptažodį ir tada jis dingsta pradėdami rašyti. Štai ir viskas, kad yra. Ir dabar aš ruošiuosi pridėti numerį įvestį. Ir aš ruošiuosi tai vadiname n - bet tai gana savavališkas. Ir tada tiesiog etiketė, tik, kad Šis blokas šiek tiek daugiau savarankiškai suprantama - kartų, tai, ką aš ką tik padarė. Ir galutinis rezultatas yra tai, kad aš galiu gauti blokas, kuris atrodo taip. Ir dabar pastebėsite, aš naudoju pakartokite blokas. Tačiau užuot trijų kodavimo sunkaus, aš vilkite n ten, kad aš gali parametrize funkciją. Aš galiu padaryti šią funkciją padaryti kažką skirtingą skaičių kartų, remiantis ta vertė. Ir pastebėsite, sakyti, kad tai, ką aš padariau čia, jei aš vilkite žodį, galiu pasakyti, ne sunkiai koduojami žodis, bet kokia yra perduodama į vieną sekundę. Tuo tarpu, kaip man iš naujo įgyvendinti kosulys? Aš vietoj apibrėžti kosulį kaip sakydamas kosulys n kartų. Taigi trumpai tariant, aš per šį greitai, tačiau pagrindinė idėja yra kuo greičiau kaip jūs pradėsite matyti savo programą kad, palauk, aš padariau kažkas labai patiko prieš tai, galiu veiksnys out kai bendra funkcionalumas? Ar galiu suyra, ką darau į kai kurių pagrindinių idėjų? Štai ką mes darome čia. Ir aš sukrauti šiuos dalykus vizualiai vienas ant kito nes tai liudija, kad idėja pradedant dvejetainiu, einu į ASCII, priėmimo grafines programas, tarsi sluoksniavimasis vis sudėtingesnių idėjų vienas ant kito. Pati idėja čia. Aš pradėjau nuo nulio, įgyvendinant kosulys, tada supratau, kosulys yra tikrai tiesiog pasakyti kažką. Taigi leiskite man, o ne įgyvendinti sąvoka sakydamas kažką. Ir viršuje, kad galiu įgyvendinti achoo ar kosulys? Ir mes galime padaryti daugiau tokių variantai dar. Taigi nuo šio pagrindinio principo, mes galime pradėti daryti vis sudėtingesnes programas. Leiskite man atverti šį vieną. Mes iš tikrųjų gali turėti keletą sprites bendrauja ekrane vienu metu. Jei aš einu į mano šaltinio katalogą ir patraukti vienas vadinamas temas, priminti, kad gija yra tiesiog tikrai gebėjimas dviejų scenarijų paleisti šalia pusėje tuo pačiu metu. Pranešimas dabar turi tiek paukštis kaukas ir katė Sprite, kurie abu turi jų pačių scenarijus. Taigi pranešimo, kai aš spustelėkite katė, gaunu šiuos scenarijus. Kai paspaudžiu ant kokio paukščio, Man šie scenarijai. Taigi, kiekvienas iš šių vaikinai turi jo paties programas. Kai aš dabar spustelėkite žalią vėliavą, pranešimas, kad tai, ką ši programa daro, yra turi katę, neįtikėtinai lėtai, vytis paukštį. Bet katės turi turėti pranašumą buvo užprogramuotas taip, kad nesvarbu, kur paukštis yra, katė eina link jo. Mes galime žaisti šį žaidimą daug greičiau. Taigi, jei aš ant kačių, pastebėsite, kad aš naudojant, tarkim perkelti vieną veiksmus. Leiskite jam judėti penkis žingsnius į laiką, todėl penkių taškų vienu metu. Leiskite spustelėkite žaisti. [Liūto ROAR] Davidas Malan: Gerai, dabar mes galime tikrai suteiks Cat pranašumą. 10 žingsnių vienu metu. [Liūto ROAR] Davidas Malan: Gerai, kad labai greitai, jis gauna mažai naudos už katę. Bet aš pakylės savo jėgas kai kurios detalės. Tačiau priežastis, kad tas kelias yra pradedant šiek tiek skiriasi kiekvieną kartą tai, kad aš darau atsitiktinumo tiek. Aš iš tikrųjų nukreipta į katę kita kryptimi remiantis, kur aš norite jį pradėti, kad kiekvieną kartą žaidimas, ar animacija, yra šiek tiek skiriasi. Dabar leiskite man pristatyti vieną kiti statyti čia. Taigi šiuo atveju, mes turėjome funkcijas. Yra taip pat bus dėlionės gabalas žinomas kaip masyvas arba sąrašą, , kuri leidžia jums išsaugoti kelis vertybės viduje kintamasis. Mes matėme temas, o dabar ten Renginiai. Taigi čia įvykis naudojant šie du vaikinai čia. Ir jei aš atverti failą pavadinimu Renginiai nuo šiandienos pavyzdžių, mes pamatyti programą, kuri atrodo kaip tai mažai. Ir dabar pastebėti, kad šis vyrukas - todėl pastebėsite Turiu mėlyna Muppet paspaudėte - jis tik atlieka šiuos veiksmus. Jis neturi vienas iš tų Žaliosios vėliavos įspūdį. Jis turi kai gaunu renginį - todėl kai savavališkai žodį. Aš tiesiog atspausdinti iš renginys ten - jis ketina sakyti, Polo, dvi sekundes. Taigi, tiems iš jūsų, kurie yra susipažinę su šis žaidimas gali žinoti kur tai vyksta. Jei aš dabar paspausti ant apelsinų MUPPET, jo programa tai daro. Visada, jei klaviatūra tarpo slopinamas, jis ketina pasakyti, Marco dvi sekundes ekrane. Bet jis taip pat ketina naudoti šią mėgėjas blokuoti žinomas kaip laidos. Jis ketina transliuoti citata citatos, "įvykis". Tuo tarpu, mėlyna vaikinas, išėmimą iš apyvartos, yra klausytis citata citatos, "įvykių". Taigi kažkaip, dabar mes galime turėti du animacinius bendrauja. Ir kai mes turime web programavimas, vėliau termino, panašiai bus tai būti naudinga turėti savo svetainę ką nors atsakymas į klausimą dėl Pavyzdžiui, iš klaviatūros paspaudimą. Taigi leiskite man eiti į priekį ir paspauskite tarpo klavišą. Oranžinė vaikinas sako Marco. Mėlyna vaikinas sako Polo. Jei aš jį vėl oranžinė vaikinas sako Marco, mėlyna vaikinas sako polo. Taigi, galime į tai dar vieną žingsnį. Šį kartą, mes eiti, tikriausiai, tik keletą minučių čia. Ar mes turime - Stalinis šviestuvas, nagi žemyn. Jūs esate teisus dėl pabaigos. Gerai, galite tiek sugalvoti. Mes turime stalines lempas visiems. Nagi. Aš nežinau, jei mes galime išlaikyti tai juokinga kamštukas iki visi semestras, nors. Visos teisės, nagi žemyn. Ir tuo tarpu, mes turime Toliau pateikiami pavyzdžiai atsigriebti, tik pagreitinti dalykų dabar toks, kad mes turi nuo kito apraiška pirmtakas tavo naudojant pačios blokai. Koks tavo vardas? Jonas: Jonas. Davidas Malan John. Nice man tave. Ir? SETZ: Setz. Davidas Malan: Setz, malonu man jums. Jonas, jei norite ateiti iki pirma, tai senas mokykla žaidimas pavadintas Frogger. Galite naudoti klaviatūrą tai taip pat. Ir tikslas yra gauti per gatvės ir vandens. [Frogger MUZIKOS IR GARSO vaidina] Davidas Malan: atsiprašau, ne Stalinis šviestuvas jums šiandien. Gerai, Setz, prašau kaip ateiti iki? Gerai, galime padaryti dar kartą. SETZ: Ar galiu naudoti rodykles? Davidas Malan: Tik rodyklių klavišus. Aukštyn, žemyn, kairėn, dešinėn. [Frogger MUZIKOS IR GARSO vaidina] Davidas Malan: Mes vadiname juos paguodos prizai šiandien, tada labai gerai padaryta. Čia tiek iš jūsų, Jono ir Setz. Sveikiname, viskas gerai. Taigi dar kartą, nes šis žaidimas vaidina, galvoti apie tai, kas vyksta? Vienas iš jų, ten aiškiai judesio daug. Bet mes matėme, kaip, katė ir paukštis pavyzdys, kaip jūs galite padaryti iliuzija judėjimo tiesiog juda kai pikselių skaičius vėl ir vėl. Ir jei turite amžinai blokas, galite turėti juos automobiliai tai daryti amžinai. Mes turime galimybę į turėti tam tikrą atsitiktinumą. Taigi, šis žaidimas neturi būti lygiai taip pat kiekvieną kartą. Šie rąstai, tie automobiliai, gali prasidėti šiek tiek skirtingu laiku, kad Žaidimas pats savaime yra įdomesnis kiekvieną žaidimą. Ir tuo tarpu, mes matėme galimybę klausytis tarpo. Tačiau aišku, kad nulio, jūs galite taip pat klausytis aukštyn, žemyn, kairėn, dešinėn, ir tikrai bet ant klaviatūros klavišą. Taip pat galite padaryti kai kuriuos kitus dalykus. Leiskite man eiti į priekį ir atgal į interneto versiją. Leiskite man eiti į mūsų kolekcijos pavyzdžių čia. Ir pagal savo studijoje, vaizdo, kuri iš esmės yra aplankas scratch.mit.edu. Mes turime interneto versijos Visi šie projektai. Ir tegul pamatyti, jei aš galiu gauti savo kompiuteris bendradarbiauti čia. Tai yra parašyta vieno iš mūsų draugų MIT, vadinamas Perkelti drugelis. Ir kai tai atveria, tai vyksta iš tikrųjų naudoti daugiau mano kompiuterio įranga. Momentinė atsitinka būti įgyvendinta su Flash. Flash gali pasikalbėti su savo kamera, jei turite vieną. Taigi, jei aš einu į priekį ir per visą ekraną tai Čia spustelėkite žalią vėliavą, praneša kad "Flash" saugumo pranešimą sako, jūs norite leidžia naudoti savo kamerą? Paprastai, jūs turėtumėte tikriausiai pasakys Deny. Tačiau šiuo atveju, mes pasakyti, kad. Tada aš ruošiuosi pasakyti "Chrome" kad tai taip pat. Ir dabar, vos akimirką, you see me, yep, man. Ir jei mano ranka pakyla - Aš turiu ne perkelti savo vadovas tuo pačiu metu. Taip pat atspindys ekrane. Nagi, čia mes einame - galite perkelti ją ekrane, nes ten taip pat įspūdį - O, tu žinoti, kas tai yra, tai, nes jūs taip pat pamatyti, projektoriaus ekranas už mane. Taigi, mes turime šiek tiek begalinis dalykas ten vyksta. Gerai, kad aš žaisti čia. Čia mes eiti. Taigi, ten taip pat įspūdį, kad sako, kai pamatysite judėjimą po vienas iš animacinius, galite ją eiti aukštyn, žemyn, kairėn, dešinėn ar pan. Taigi mes turime virtualios realybės tiek vyksta čia pat, viskas per pragyvena iš savo naršyklėje, tik čia naudodamas savo kamerą. Taigi, kas tada horizonto. Pirmoji problema rinkinys, kaip pamatysite, arba svetainė bus internete vėliau vakarą cs50.net, yra gana kiek bus neterminuota. Ir įgyvendinti Scratch projektą jums įdomūs, žaidimas, sąveika, kažkas meno ir iššūkis sau naudoti bet kurį skaičių Šių įspūdį. Ir tai gali būti arba interaktyvus tokiu būdu. Arba tai gali būti kažkas daugiau sąmoningai pateikti papasakoti istoriją. Ir iš tiesų, tai kur mes galų išjungti šiandien, vieną galutinį pavyzdį. Leiskite man eiti į nulio vietoje. Leiskite man eiti į priekį ir atidaryti tai ir žaisti paskutinis programa, parašyta vieno savo pirmtakų, ty kad vienas čia. Geras, kelti šios vienos garsumą. [Muzikavimo] Narrator: Kitame CS50, David kviečia savanorį scenoje. Davidas Malan: Dėl šios demonstracijos mes ketiname reikia vieną savanorį. Ar norėtumėte ateiti žemyn? Koks tavo vardas? Permainos.