SPEAKER: Jaz sem [neslišno]. In jaz sem višji na Leverett House. Sem študij računalništva, in sem TF za CS50. Kot novinec, nisem imela niti laptop ali pametni telefon. Nisem imel programskih izkušenj. CS50 je najbolj znamenitih tečaj, ki Vzel sem na Harvardu, ker je bilo boj, vendar je bilo res zabavno boj ob istem času. In sem naredil veliko neverjetno, trajna prijatelji, in sem se naučil veliko zares uporabne spretnosti. Jaz sem samo vesela, da nisem pustil moje Pomanjkanje ozadju biti izgovor za mene Ne vzemite CS50. Jaz sem [neslišno]. Jaz sem višji na Leverett Hiša, razred 2014. In sem CS50. DAVID Malan: Torej, to je CS50. To je konec tedna nič. In spomni, kjer smo začeli zadnji čas, je s temi svetilkami, ki so bile tako priljubljena, da smo šli in kupil nekaj več danes. Zato mislim, da bo to naša stvar letos - desk svetilke, če prideš na oder, vsaj dokler ne zmanjka. Vendar smo te odpoklic, uvesti osnove predstavitev podatkov. Potrebovali smo način za začetek predstavlja informacije znotraj računalnika. In najpreprostejši način za to, da je bil z eno sestavino, elektrika. In najenostavnejša stvar, ki jo lahko naredite s elektrika ga vklopite in izklopite. Naj tok elektronov ali ne. In uporabo teh dveh osnovnih države, off in ali false in true ali nič in ena, smo začeli videti, da bi lahko gradimo navzgor, v tem primeru s svetlobo čebulice, več številk kot samo nič in ena. Smo prešteti tako visoka kot sedem, na primer, zadnji čas. Ampak vse, kar moramo storiti je, da mečejo več žarnice na da problem, in res smo lahko predstavlja poljubno število, ki smo bi morda želeli. No, bomo prešli hitro nato Sreda tej bajt prostovoljcev. 8 bitov je tisto, kar običajno imenujemo bajt, tako da tukaj smo imeli osem prostovoljcev v sredo, ki skupaj so bili kar osem bitov. In ko njihove roke šlo navzgor, ki so ena. In ko so bile njihove roke navzdol, je bilo nič. In smo imeli ti ljudje prišel gor o tem, zakaj fazi? Kaj smo sposobni narediti z To zaporedje bitov? Ustvariti abecedo. Bili smo sposobni zgraditi na vrhu, da prejšnja izkušnja in dejansko začeti bolj zanimivo informacije, ki jih je vsaj bolj seznanjeni, da nas ljudi. In to se bo ponavljajoče tema po 50, ampak tudi računalnik znanost bolj splošno, to zamisel plastenje, kjer je na koncu dan, če si zares začelo osnove z računalnikom, ja, to je ničle in enice. In pod to je to samo elektrika. Vendar smo zelo hitro začeti jemati tistim Podrobnosti o nizki ravni dodeli in začeti plast na vrhu preteklosti delala naredi tako, da smo na koncu z konec semestra, in res, bolj na splošno kot računalniški znanstveniki in programerji, lahko naredite nekaj res močne stvari, ki jih vplivno delo da smo sami narediti in tudi stal na ramenih drugih. Zdaj smo hitro prešli v sredo od le morali predstavljajo informacije, da želijo nekaj storiti z njim. Torej, kaj smo opredeliti algoritem, kot je? Vrsta navodil. Tako da je niz navodil, število korakov, da vas, človeških ali računalnik, bolj običajno, bi izvedbo enega za drugim, da bi dosegli cilj. In smo imeli nekaj Goli zadnji čas, od katerih je bilo, da računajo ljudi v sobi. In še en tak primer je bil, da bi našli Mike Smith v imeniku. Torej se morda spomniš, da sem si zvila telefon knjiga v polovici proti tej končajo iskanje Mike Smith. Namen te vizualne bil dokazati, še enkrat, da smo bili dobesedno strga ta problem v pol, na pol, na pol in zelo hitro gre od kot 1.000 strani samo eni sami strani. Tisti, ki ste to zamudili na Sreda, mislila sem, da bi predvajali nekateri posnetki, kaj ste zamudili. Oglejmo si. [Predvajanje videa] -Pa gremo. 1500 strani, Nice clean linije, legitimno solza. [END predvajanje videa] DAVID Malan: Tako, da je bilo v sredo. Mi prehod, čeprav se je v sredo zdaj da želijo predstavljati algoritmov v nekaterih nekoliko standardni način, ne samo jih opisuje verbalno, ampak poskušam jih izraziti v pisni obliki ali na računalniški zaslon, tako da smo lahko začeli izboljšati in spremeniti njih, in sčasoma dejansko analizirati, kako pravilno ali kako hitro so bili. Tako smo uvedli ta pojem v psevdokoda, ki v smislu navadnega je, je kaj? OK, besede. Pojdimo malo globlje od tega. Angleščina, seveda, so pa proti čemu? Besede, s katerimi se ustvarja ali za zastopanje algoritmov. Torej je nihče ne pozna jezik kot psevdokoda na svetu. To je samo, da je v angleščini, ali ne glede na vaš govorijo jezik, uporabite nekako bežen zapis posredovati Ideja zelo jedrnato. Ampak bomo videli, da je gotovo z Angleški psevdokoda, in se izkaže, večina programskih jezikov sami so izpeljanka iz angleščine sama, bomo ugotovili, da obstaja nekaj standardnih načini predstavljanja in psevdokoda tudi programsko kodo. Torej, ko boste začeli videti celo najpreprostejši Primeri danes, ti zavedaš Isti vzorci bodo ponovile naslednji teden. Torej psevdokoda je bil nekakšen od spominja jeziku programski jezik. In prvi primer smo videli vizualno zapisal je bil to eden. Šele tretji korak programa, Cilj je bil, da preštejete ljudi v študentski sobi za da je video v sredo. Vendar je bilo nekaj zanimivih vidikov to najpreprostejši programa. In to bo spet aktualno. Torej za tiste, ki ne poznajo To je ena, smo uvedli spremenljivko. In verjetno vsi v tej sobi seznanjeni s spremenljivko kontekst algebre. Ampak tukaj v programiranju, spremenljivke so, ena, so lahko pozval vse, kar si želite. Mi smo bili z uporabo n kot števec. Vendar bi lahko uporabili besedo števec, ali, kot boste videli, večina vsak stavek, ki Morda vam bodo všeč tako dolgo, kot je to opisno, ampak to je res samo posoda za shranjevanje. To je kos pomnilnika, nekaj več bitov, in to je odvisno od računalnika, kako veliko bitov je, da sestavite to spremenljivko. Vendar ne moremo postaviti vrednote v njem. Doslej smo pripravili samo številke. Ampak mi lahko dal dejanske besede. Mi lahko postavite odstavke. Mi lahko dajo slike - karkoli, res, lahko predstavljajo z ničle in enice, lahko postavimo v Ta višja stopnja pojem v spremenljivko. Tako lepo naravnost naprej obstaja. In to je prva vrstica. Vendar smo zelo hitro preselil na od prva vrstica, da dejansko ne nekaj z omenjeno spremenljivko. In v skladu trije smo posodobili N. Mi poveča N. In mi bi lahko napisal to poljubno število načinov. Toda morda najbolj očitna je samo reči, iz n enak ne glede na N in 1. Tako da je bila naša prirastek. Medtem pa je zanka. In tale, preveč, je verjetno precej intuitivna. Zanka je le nekaj v programu , ki znova in znova dogaja, nekaj vrsta cikla. In to ključni stavek tukaj, za vsako je pravzaprav zelo pogosta v večini programskih jezikov, vključno tisti, bomo videli v teku. Kadarkoli boste videli besedo, bi bilo običajno izraža idejo, da zanka, kaj cikličen, se bo zgodilo. Ampak to je treba omeniti eno drugi skladenjska podrobnost. Dejstvo, da je tretja vrstica s tem da hit dejansko zamaknjen preslednico Nekajkrat je namerno. Ker človeško konvencija je takšna, ko ste spet delaš nekaj in spet v zanki, kot je začela na liniji dve, vam alinea karkoli, ki je pripadal ta zanka samo da bo jasno, je tretja vrstica in ne na primer linija štiri ali pet, če ne bi bilo linije za ali pet, ki so del te zanke. Torej, to preprosto nazobčanost sporoča, da se osnovno idejo. Tako smo uporabili ta algoritem, Zdaj, na nekaj primerov. In tudi to, preprost primer v resničnem svetu. Ampak to se dogaja, da so reprezentativni kako bi se lotili testiranje vaše lastnik bolj zahtevnih programov. Poskusite nekaj scenarijev, nekatere predstavniki vhodi, in videli, če ste dobite želenih rezultatov. Tako da je ta primer še dve osebi sedel v študentski sobi. Na levi je isti pseudo kode. To pa je zaslon strel zelo zadnji korak uporabo tega Algoritem za te vložke, kjer je bili dve osebi v prostoru, in spomniti, kot smo korak s črtami enega, in dve, tri, dva in tri in naredil - Do konca tega algoritma, smo imeli seveda prešteti dva tovariši, ki so v sobi. Torej smo poskusili še en primer. In mi je rekel, kaj če obstajajo nič ljudi v sobi? Ali je ta številka še vedno pravilna? In res je bilo. Samo tako se zgodi, da linijo dve in s tem, linija tri ali Ne gre za izvršitev. Oni ne bo zgodilo sploh ker oni preprosto ne velja, če tam je nič ljudi v sobi. Vendar ni big deal. Line ena inicializirane S na ničlo, tako da čeprav le ena vrstica tega Program dejansko konča pa koristno, še vedno daje pravilen odgovor, kot z oranžno navedeno nič na dnu. Potem pa smo se odločili, da je nekako neumno algoritma. Bilo je precej počasen. Zagotovo pa lahko naredim dve, štiri, šest, osem, deset, ko štetje ljudi v prostoru. Tako smo uglasili algoritem, psevdokoda, torej, sedaj v liniji, za vsak par ljudi v prostoru, nadaljuje, da je v skladu treh, prirastek v po dva na vsaki ponovitvi. Tako bi, da je tukaj delal za ta par oseb v sobi. Ampak potem, če začnete razmišljati o to, in to ne traja dolgo, da zavedaš, čakaj malo to je bo prekinil, se zlomi na kakšen preprost primer? Če so trije ljudje v sobi ali, bolj splošno, ko obstaja liho število ljudi v Prostor, vključno z enim. Ta oseba pa bi pogrešal sem, ker ni takšnih parov. Tako smo jih namesto tega hitro obravnavati uvedbo katere dodatne programski konstrukti v psevdo kodi. Torej pogoj, smo poklicali to, ali podružnica. In to je pomenilo, da gre, vizualno, Ideja podružnice, vilice v cestnem prometu kjer lahko bodisi to storite ali, morda, nekaj drugega. In res, da se to vprašanje obravnava z dodajanje linijo 4, z besedami, res, na zelo konec, če ena oseba ostane, potem pa pojdi naprej in štej jim posebnega. Torej si nekako posebno njimi primeru, da rekoč, da zdaj lahko ravnamo tako tudi število ljudi in liho število ljudi. Zdaj obstajajo poljubno število načinov smo to lahko izrazi. In odkrito povedano, lahko sem bil še bolj gnida izbirčen, ko je prišel na moj izbor Angleščina za psevdokoda. Ampak vsaj duh Ideja se preda. Če nisi prepustil to kodo prijatelju ki ni v CS, ali ni bila nikoli sprejeta CS, so možnosti, da bi lahko ugotovimo, saj tri ljudi v prostoru, kako štejejo tiste ljudi, ki temeljijo podlagi teh navodil. In to je vse res, kar želimo doseči z psevdokoda, nekako standardizirati, kako se bomo o predstavljajo ideje, tako da bomo lahko začeli narediti bolj zapletena stvar še vedno. Tako da nas nato pripelje danes dejanski kodo. Začnemo programiranje danes, čeprav v prijaznem okolju. In potem smo zelo hitro prehod bolj arcane sintakso, ampak tisti, ki boste videli, je v bistvu enak kot Ideje glej bodo manifestira s ta drugi jezik danes. To je le, da bo videti malo drugačna. Torej, namesto da pokličete to kodo, sem bo malo bolj natančno in pravijo, odslej pri pisanju Program, pišete izvorno kodo. To je nekako kot psevdokoda. Ampak bomo videli, da to ni nekakšen ohlapen ko gre za izbiro besede , ki ga uporabljate. Ko programiranje v jeziku, ki ste jih uporabiti besedami, stavki, sintaksa, da drugi ljudje so se odločili, predstavljajo da je predvsem jezik. Torej pseudocodes je odvisno od vas. Dejanski programski jezik kot C, saj bomo sčasoma videli, je standardizirati z drugimi ljudmi. Torej, kako bomo šli o pisanju nekaj izvorne kode? No, jaz grem naprej in to. Jaz grem naprej in odpreti okno tukaj. Več o tem naslednji teden. Ampak to je naprava, imenovana CS50 aparat. Tečem kos programske opreme na mojem Mac, čeprav lahko narediš isto stvar na računalniku z OS Windows, ki daje me iluzija teče drugačen operacijski sistem popolnoma prav tukaj v oknu na mojem Mac. Pravkar sem poln ga pregledajo, tako da vam ne dejansko videli Mac OS zdaj. To je operacijski sistem imenovano Linux. To je zelo priljubljena. To je zelo hitro. To je zelo prost, kar je dosegla, da je zelo prepričljivi, zlasti v komercialni svet. In več o tem proti koncu semester, ko smo uporabljati Linux zelo malo Za spletno programiranje in gostovanje Dejanski spletne strani in projekte. Torej sedaj, samo vem, da je to desktop to je pomenilo, da nejasno pogled seznanjeni z Windows in Mac OS. Treba ga je le nekaj različnih imen in ikone za stvari. To pa je tako imenovani CS50 Naprava, virtualni stroj, da začne prihodnji teden, fantje bodo teče znotraj okna na svoje Mac ali PC. Za danes, bom odprla Najenostavnejši programov. Je pozval gedit. In to je samo grafični urednik. To je nekako tako kot Microsoft Beseda, a preprostejši. To je nekako kot besedilo edit ali beležko. To je samo zelo preprost program, s za pisanje besed na zaslonu. Samo tako se zgodi, da če rešim datoteke, ki sem ustvarjajo, ko ta program v posebnem razširitev kot. c, namesto o. doc ali. xls, ali karkoli ste seznanjeni z, ne morem dejansko ustvariti programe, ki uporabljajo tudi ta preprost urejevalnik besedila. Torej naj storim. Dovolite mi, da gredo naprej in shranite to datoteko najprej kot hello.c. In spet, bo ta uporabniški vmesnik spoznajo, da vas hitro. Ampak za zdaj, jaz sem samo tipkanje v imenu datoteke. Jaz grem, da ga shranite v svoj Janeza Harvard domači imenik. In zdaj imam to kartico, ki označuje Jaz sem res urejanja datoteka z imenom hello.c. Torej, nič preveč zanimiva še ni. In sedaj se dogaja, da dobili precej skrivnosten. Bom povečate, samo tako da je bolj vidna. In jaz bom za začetek tipkanje vključuje stdio.h, int main, nična, odprt kodrasti vez, ena, dva, tri, štiri prostore za zamik, tiskanje f, za tisk Nekaj ​​oblikovan, citiram konec citata, "Zdravo, svet" poševnica nazaj, n, blizu citiram, zaprti oklepaj, podpičje, vnesite backspace, backspace, backspace, backspace, zaprta kodraste opornik - Programiral sem se. Vse je v redu, tako da je to super preprost Program, res, program, ki kdo se začne z načrtovanjem. In vse to zgodi, za vse njene kompleksnosti, se izpiše na zaslon, veš kaj? Zdravo svet. Ampak to ni dovolj samo napisati program. Torej je ta koda. To je izvorna koda v jezik, imenovan c. To je trenutno shranjene v datoteka z imenom hello.c. Zdaj pa poglej na dnu na zaslonu tukaj. Več o tem, še enkrat, v tednov, ki prihajajo. Ampak to je tisto, kar imenujemo okno terminal. To utripa, črna in bel hitro. To je neke vrste old school vmesnika računalnik, ki na splošno ne uporabite miško ali drugo grafični elementi. Prav tako uporablja tipkovnico. In ne morem vpisovati ukaze na To utripa hitro. In za današnje potrebe, jaz sem samo dogaja, da vnesete naslednje - da zdravo. In ta program, da je samo program, ki je v resničnem svetu teh dni, da bomo z dvojnim klikom. Toda v tem vmesnikom za danes, smo dogaja, da vnesete svoje ime na ta poziv. da pozdravi se dobesedno dogaja, da da me program, imenovan zdravo. In to se dogaja, da to stori z iskanjem za datoteko, samo z privzeto, imenovano hello.c. To se dogaja, da prevzame hočem program C z naravo, kako ta računalnik je nastavljen. Tako sem šel naprej in stisnite enter. Vidim nekaj Grobni izhod, vendar to bo postalo vse preveč znano kmalu. To se je zgodilo, da delujejo prevajalnik, več o tem pa v trenutku, ki se imenuje Jek. Ampak zdaj imam samo še en utripa hitro. In grem lahko naprej zdaj in vpišite piko poševnica, za nezanimivih razlogov bomo vrnili naslednji teden - Pozdravljeni. Torej, vse te naloge doslej, samo da napišite najpreprostejši programe, ki so takoj, ko sem pritisnite tipko Enter, da ne. Tako sem napisal svoj prvi program. Torej sem namenoma drezal zabavo pri tem zelo preprost program za nekaj razlogov. Ena, da je težko priti razburjen o čemer razred, če to je konec igre. Ampak bolj kot to, da je Veliko motečih tukaj. Prvič ste izvedeli za program za tiste, ki ste manj udoben, in tudi jaz, nazaj v dan, ko sem prvič videl kaj takega - lahko nekako na sliki, da je vse v redu, te je v tiskalni Hello World. Ampak tam je toliko moteča. Toliko sintaksa na zaslonu ki ga dobi v obliki zelo preprostih, sicer preprost, ideje. Torej, kaj bomo storili danes smo dogaja, da pozabijo C in se nazaj, da v ponedeljek. In bomo uporabiti grafični programski jezik imenovan nič. To je programski jezik, ki sem namiguje, da v sredo, da se dogaja, nam omogočajo, da storijo enako vrsto stvari pa zamižijo na eno oko, za danes, z zavitimi oklepaji, na oklepaja, podpičja, in vsi ti neumni motenj, ki dobijo na poti, v ta prvi dan, v nekaj osnovnih, precej zanimive ideje. Torej proti ta namen bom šel nazaj na mojem namizju sem in vam predstavil alternativo, ki Program, ki bo skrbel Nekaj ​​malega prižgati to. To je, kako bomo izvajati, da dva uganka - danes isti program kose, da se pri prepletena in kliknili, bo rekel, da na svetu, zdravo svet. Torej, kaj je dejansko iti tja. Tako da sem šel naprej in odprite Spletna stran znan kot scratch.mit.edu. In to me pripelje do Ta spletna stran tukaj. Vnaprej, sem prijavljen v to Spletna stran in prvih težav, ki vas bo vodil skozi Nekatere od teh korakov. Jaz grem naprej in kliknite na moji praske mapi tukaj. In to se dogaja, da mi pokažeš nekateri projekti, ki sem jih dejansko ustvarjena vnaprej. In izkazalo se je, da je ta grafična programski jezik, ne samo, da je šlo da nam pustite program, ki ga povlečete in pada te koščke, jih sploh ne potrebujejo posebno programsko opremo. Vse je vdelana v brskalniku, tako da lahko to storite v teoriji, na računalnikih sedaj, saj so se nekateri od vas lahko pa se, da bi sploh potrebovali Programska oprema kot CS50 aparata, , ki bo naslednji teden. Torej, jaz grem gor na zgornjem kotu Tu in kliknite Ustvari. In v trenutku, bom dobil prazen zaslon, preko katerega lahko začnem programiranje v to grafično programsko okolje. Ampak tokrat, to se dogaja, da je veliko, veliko enostavnejši za dejansko počnejo. Torej čez nekaj trenutkov, ko Wi-Fi sodeluje, sedaj imamo ta zaslon. Tako hitro verbalno turnejo, ampak upam si reči, Vsekakor, ko se potopite v Prvi problem set, boste zdi vse to zelo dostopni in precej intuitivna. Ampak kaj je naslikal miselno sliko le za trenutek. Torej pod ta poziv pravijo obranil Spremembe, boste kmalu videli na praske. To je Sprite. To je znak. In živi na to, kaj bomo klic oder, Ta velik bel pravokotnik na ki ga lahko premikate gor, dol, levo, prav, in ne, res, druge vrste ukrepov. Medtem, sredi tega uporabnika vmesnik, imamo cel kup puzzle kosov. In boste videli, da pravijo, da stvari, kot so premakniti 10 korakov, se obrnil 15 stopinj, točka v določeno smer. Toda obstaja kategorije bloki tu gor preveč. Torej, če grem na videz, boste videli, da tam je druga puzzle kosov, ki očitno bo povedal to CIT pozdravit, da razmišljajo, da bi dokazali sam skrije sam. Če grem na zvoke, se izkaže, tam je možnosti za igranje zveni kot mijav, ustaviti vse zvoke, da igrajo boben. Torej, skrajšam zgodbo, tam je celotno kup koščkov sestavljanke, ki vam omogočajo povem to mačko, ali poljubno število drugi liki, kaj naj naredim. Ampak, da bi vse to vam zgodi potrebujete za začetek programiranja. In to velika bela škatla ali škatla, siva, na na desni strani, to je, če Bom dejansko povleci in spustite tiste koščke. To je moje prazno besedilo enakovredno okno. Tako da sem šel naprej in kliknite Nadzor v sredini. Oziroma, naj začnem na podlagi dogodkov. Pod Events klopi, boste opazili, Nekaj ​​stvari, ki so namerno ukrivljen na vrhu na tak način, da verjetno ne blokada na Zgornji del koščke. In to zato, ker Demark začetek programa, začetek skript, tako rekoč. Torej, če grem naprej in povlecite, ko zelena zastava kliknili tukaj, potem pa sem naj ta mačka reči nekaj, kar na prvi. Torej, jaz grem pod Izgleda plošča. In jaz grem naprej in zgrabite pozdravit blok in povlecite in spustite, in pustiti, da se samodejno zapore tam. In potem sem opazil lahko kliknite na besedilo. In lahko prednost, da je bolj posebno všeč, recimo, zdravo svet. In zdaj imamo program, ki Trdim je enaka tisti, ki bolj Skrivnosten program, ki ga izvaja v C trenutek nazaj. Če grem čez sedaj na levi strani, Opazili obstaja velik stop znak in velika zelena zastava. Dovolite mi, da povečate za jasnost. In ko sem zdaj kliknite to zeleno zastavo, si verjetno lahko uganiti, kaj je to prvič Program se bo zdaj storiti. Torej tam, preveč, smo programiranju, ampak ne bomo dejansko pustili ujeti pastem v nekaterih od teh sintaktična, minute podrobnosti. Ampak dajmo poskusiti nekaj z malo bolj zanimivo. Naj grem v mojo mapo Scratch tukaj. In dejansko, dovolite mi, da mi odpirajo poseben program, tukaj samo Trenutek Povečajte to okno, odprto datoteko, in jaz grem v današnjem Vir imenik. Kot vedno, boste ugotovili, danes in naprej, da vse današnje primerov so na voljo v notranjosti Spletna stran tečaja je. In jaz grem naprej tu in pick gor malo nekaj drugega. Ta tukaj, za katere Rabim prostovoljca. Kdo bi rad danes na mizi svetilko? V redu, kaj pa nekdo malo - ste na koncu? Pridi dol. Zdaj bi želeli sodelovati, ali samo, da začnete z namizno svetilko? VANESSA: [neslišno]. DAVID Malan: OK. Odlično, kaj je ime? Vanessa? David. Lepo, da sva se spoznala. Torej, pridi gor in Vanessa je šlo prevzeti nadzor nad mojega Tipkovnica za trenutek. In kaj sem naredil tukaj, samo za čas, je sake, saj sem spoznal, Wi-Fi je malo počasen, Scratch, programsko okolje, ki smo uporabljate, lahko tudi prenesete in teči na vašem računalniku. Torej, kaj sem naredil pred predavanjem, v primeru, da se zgodi, je, da sem prenesli vse datoteke, ki smo na tem, da igrajo z tako da lahko teče malo več hitro tukaj na moj laptop. Tako da je, zakaj zdaj vidim Mac-poseben vmesnik. Torej, jaz grem naprej in odprla tole. Jaz grem naprej in zdaj celozaslonski okno. In kot boste videli, smo lahko zelo hitro, kot je to storil študent, eden vaši predhodniki, gredo od Hello World da veliko veliko bolj prepričljiv prijava. Torej, tukaj so navodila. Oh, in imamo eno stvar. Mislil sem, da bi bilo zabavno, saj običajno, bomo snemali Kamere ta način. Mislil sem, da bi bilo zabavno, če Vanessa, smo lahko videli svet skozi vaše oči. Torej, tukaj imamo nekaj Google Glass. [Začudeno Gasps] DAVID Malan: Mi bo kar samo stran desk svetilke danes. [SMEH] Torej, kaj mi iztočnica tega. Vse je v redu, tako da se tega dotaknila. OK, steklo, snemanje videoposnetkov. Vse je v redu, Vanessa? Zdaj, kot prahi, ki je dobil ničesar storiti z nič, če pogledaš rahlo navzgor in v desno, boste videli dobesedno stekla, zato bi morali glej malo pravokotno okno. Moral bi videti vse svoje sošolce ga posnamejo prav zdaj? Da. VANESSA: Da. DAVID Malan: OK. Tako, da je v redu. Pozneje bomo javnost ta posnetek. Za zdaj pa vašo pozornost na zaslon tukaj. In kaj je tvoj predhodnik je opravljala dal nekaj navodil na zaslonu samo s pomočjo programa za risanje. Tako da boš v trenutku, pritisnete preslednico za začetek. In potem nekaj kosov sestavljanke se bodo se bo začel premikati gor zaslon. In želite zadeti puščicami, samo kot v resničnem DDR v skladu z stvari podloga s temi puščicami. VANESSA: OK. DAVID Malan: Si to poskusil prej. VANESSA: Ja. DAVID Malan: V redu, Vanessa, iti naprej in ga odnese. [GLASBA - Kayne West, "STRONGER"] [APLAVZ] DAVID Malan: Torej, kaj je zdaj narediti korak od tega. Torej je jasno, da je konec igre. Konec Igra ni zdravo svet. Vendar vam ni treba nujno storiti stvari, ki so tako interaktivna. Prav tako lahko naredite animacijo. Tako, na primer, eden od tvojih nasledniki so ta program tukaj ki pripoveduje zgodbo več kot to ne izvaja igro. Naj gredo naprej in odprla tukaj Program v našem istega vira imenik Od danes. Tale klic, in začnimo s, piškotek ljubezensko zgodbo. In ne da bi to preveč akademsko, ampak ko gledam tole, mislim, da sami, katere od preproste programski koncepti smo govorili o doslej - spremenljivke in zanke, in pogoji, je vaš predhodnik verjetno uporabljate samo za izvajanje nekaterih se vizualizacije. Vidiš tukaj. Torej, jaz ti dam piškotek ljubezensko zgodbo. [GLASBA - Green Day, "Holiday"] [CRASH] [GLASBA - želve, "Happy Together"] DAVID Malan: V redu, torej tam, smo imeli piškotek ljubezensko zgodbo. Toda tudi tam - [APLAVZ] DAVID Malan: V redu, tudi tam, misliti, kot ti srce je šel iz od dna do vrha zaslona tam je pravzaprav malo naključnosti dogaja. In res, bomo videli, da tudi v najpreprostejši okoljih, kot so Praske, kot v C, lahko ustvarite naključne številke ali iluzije naključnih števil, tako da je igra malo bolj zanimivo, kot pa bi lahko bilo, če bi imeli absolutno težko kodirane vse. V gibanju, ki jih vidite, obstaja obstaja neke vrste odzivnosti. Takoj, ko medenjaki človek dotakne medenjaki ženska, ona Zdi se, da se oddalji. In tako je res, da lahko izvaja, večina programskih jezikov, pojem dogodkov, pri čemer, če po eni strani dotika Po drugi strani pa, da lahko sproži nekaj vaše izvorne kode za dejansko izvedbo. Lahko poslušate na primer stvari na zaslonu. Torej, kaj je na hitro turnejo, potem pa, nekateri od gradnikov jih lahko uporabimo doseči nekatere od teh ciljev. Torej, tukaj je tisto, kar bomo odslej pokličite izjavo. Izjava zgodi, da je vijolične Praske, malo kaj takega, ampak to je arbitrarna. Izjava je le del sestavljanke, ali splošno navodilo, da pove računalnik narediti nekaj, izjavo. Torej, tukaj je preprost vzorec. Pozdravi svet. Še ena morda počakati eno sekundo. Torej, to puzzle kos, ki ga podpira v nič, bomo pustite, da vam znaki premor za nekatere število sekund. Tudi to je samo izjavo. Tukaj naslednji, imamo še več zanimiv, predvajanje zvoka mijav, in malo puščica pomeni, da v nič, to je spustnem meniju. Tako da lahko uvozite zvoke. Lahko snemanje zvokov in ne drugi zabavnih stvari v nič. In tudi, čeprav je na koncu dneva, je samo izjavo. Zdaj pa dajmo uvesti več zanimiv kos, ki je znano kot Logični izraz. Kapital B, poimenovana po fant z imenom Bool. In logični izraz je le puzzle piece ali, bolj splošno, podatek, da je bodisi resnična ali neresnična - eno ali nič, da ali ne. Torej, to je samo eden od tistih, dve nasprotji. Torej en tak logični izraz v Svet nič videti takole modra puzzle kos. In to je zastavil vprašanje, miško navzdol, in ki so lahko bodisi, od Tečaj, resnična ali neresnična. Torej s tega koščka sestavljanke v nič, No, morda ne boste mogli odkriti, če je puzzle, če miške, v resnici pa držite s človeško interakcija s svojim programom. Ta je malo bolj abstraktno, ampak ti dve bele škatle so samo za številke. Tako da lahko počnejo stvari, kot je to Številka manj kot drugi? In če je tako, bo Scratch obnašajo eno ali drugo smer. Ta je malo bolj grafično. To je, če Sprite, če mački, za na primer, dejansko dotika kazalec miške. Torej, če malo puščica glava lebdi nad mačka, potem je to puzzle piece bo ocenila, da res. To bo res, v tem primeru, če vas uporabite logični izraz, kot bomo glej v trenutku, v podružnici, lahko niti ne tega, ali lahko to storite, podobno kot smo imeli pogoj, da preveriti, ali obstaja še ena zadnja oseba v sobi? Če je tako, dodajte eno. Sicer pa ne naprej skrbi. Torej, logični izraz je lahko tudi in-ed skupaj ali ali-ed skupaj. Torej lahko kombinirate logičnih izrazov in reči, to in to mora biti izpolnjen za Celotna stvar bi bilo res. In tukaj je bolj realni svet primer. Če ste uporabljali CS50 Tečaji narediti tečaj nakupovanje, ti potrditvena polja tam, kjer je, če preverite, ali polje poleg vas na tečajih, ki bodo rekli, ja, Samo pokaži mi tečaje, za katere Q je vrednost 4,5 ali višjo. Če počistite to, ne, ne skrbi. Ali podobno, na desni pa ne Konflikt Z Tečaji peljem, to je bodisi resnična ali neresnična. To je le logični izraz. Torej vsem tem času, ko ste se uporablja spletne strani s polj, ti si samo preklapljanje ekvivalent Logični izražanja in izklop. Torej, v kakšni obliki jih boste uporabili to? No, v nič, bomo videli v trenutku da obstajajo pogoji, da videti takole. In to je nekako smiselno, saj veliko tako kot v psevdokoda smo zamaknjeni nekako v obliki črke U koščke, pomeni da karkoli znotraj te je U gre za izvedbo, ali ne, odvisno od tega, kje je. Torej, če Logični izraz, potem kar je notri, bodo dobili usmrtili. Medtem pa je, če / drugega bloka. Torej, če želite, da vejo, da gre to Tako ali da Scratch nam daje to. In tej logiki zdaj, čeprav je puzzle kos je očitno premajhen za zagozditev nekaj drugega znotraj njega, koščke sestavljanke praske, oni le, da bo rasla. Ko povleci in spusti čez nekaj, to bo samo rasla, da se prilega karkoli se skušaš narediti. Tako smo lahko dve od teh stvari in da tropotni odcepu tako , da si naredil to, ali to, ali pa to druga stvar, samo z njimi gnezda na ta način. Seveda, če vam to preveč toliko, da začne grdo. Toda na tej točki, ste dejansko Verjetno ne programiranje zelo dobro. In da bo ponavljajoča tema tudi, da sloga. Kako dobro se pravzaprav format kodo? Ali kako dobro ste design kodo? Ampak več o tem v prihodnje. In zdaj imamo zank. Tam je lepo večno zanka v nič kar dobesedno pomeni, da - ne vse, kar je znotraj tega še enkrat, znova in znova. Ste lahko bolj konkretni in reči, Storite naslednje stvar, 10-krat. Lahko uporabite tudi spremenljivke. Lahko prideš gor s poljubnim imenom v da malo spusti dol in rekel, daj mi spremenljivka se imenuje n in nastavite je enaka do neke vrednosti. In potem si lahko funkcije. Ampak bolj na tiste, čez nekaj trenutkov. Naj se vrnem k mojim Scratch vmesnik. In mi daj ta čas. In gremo naprej in se odpirajo, recimo, primer iz - da je malo bolj zanimivo. Dovolite mi, da gredo naprej in, pravzaprav, Naj samo narediti sam. Ni mi treba odpreti to. Naj grem na File, New. Jaz grem na dogodke. Jaz grem, ko zelena zastava kliknili, in sem šel na zvok. In bom povleci in spusti to puzzle piece, predvajanje zvoka mijav. To zapahi skupaj. In zdaj, če sem kliknite zeleno zastavo - [Mijav SOUND] DAVID Malan: prisrčno. OK, zdaj pa nekaj malega bolj logično, samo da bi dokazala, da smo lahko, za zdaj. Grem, da sprostite to od tega tipa. Jaz grem na nadzorno. In bom zgrabi stanje. Torej, če kaj potem. Torej, to je, kako je videti tam. Potreboval bom logični izraz. In mi gredo naprej in reči, Naj gre za upravljavce. Grem narediti nekaj rahlo Mathy, samo za brcne. Jaz grem noter in reči, če nekaj manj kot kaj drugega, iti naprej in narediti nekaj. Torej, zdaj, veš kaj, naključni blok. Torej opazili, kako, če sem hover nad to stvar tukaj, da snap tam. Torej sedaj, obvestilo, da sem začeli delati nekaj, kar je že bolj logično zanimivo. Če naključno število med 1 in 10 je manj kot, recimo, šest. Če sem izbral šest, ki v bistvu sredstvo, s 50% naredite naslednje verjetnost. To je kot lahkota kovanec. Sedaj lahko storim nekaj pogojno. In to je nekaj bom storiti, je igrati zvok. Torej, zdaj, ko kliknem na zaslonu zastave, je kot metanje kovanca. [Mijav SOUND] DAVID Malan: Bilo je glav ali drugih malenkosti tam. Dajmo še enkrat. [Mijav SOUND] DAVID Malan: spet Heads. [Mijav SOUND] DAVID Malan: spet Heads. Uf, OK. Repi, da je čas. Torej 50% časa, če to neskončno dolga, bomo dobili 50% mijavkanje in 50% molk. Torej tam, samo osnovni gradbeni blok, ki nam omogoča to. Ampak to je nekako dolgočasno, da imam voditi tako, da kliknete na ta gumb. Zato naj samo povlečete in vrgel vse tiste stran. Če ste jih vlekli na sredini, oni šele izbrisati sami. Naj grem do nadzorovati. Naj grem za vedno. In tokrat bom naredil Nekaj ​​minorly nadležno. [SMEH] DAVID Malan: In pusti me naprej in to kontrolo. Počakajte eno sekundo, prav tako to ni preveč rešetke. [Mijav SOUND] DAVID Malan: To ni naravno. OK. [Mijav SOUND] DAVID Malan: In Obvestilo kaj, lepo pa nič, za tiste, ki ste imajo pred programing izkušnje, si ne potrebujete za zagon in ustavitev. Vam ni potrebno prevajati. Pravkar ste ga spremenili, in program bo dinamično prilagajanje. Torej, to je pridobivanje malo zanimivo. Ampak dajmo ga vzamete en korak naprej. Dovolite mi, da gredo naprej in se znebil tega programa. [Mijav SOUND] DAVID Malan: To je tisto, kar bomo pokličite hrošča v nič. On ne bi smel voditi tako, da se zvok. Tako smo se mu bom ustaviti. Vse je v redu, tako da sem zdaj šli v - Jaz bom pustil MIT vem. Šli bomo tja za vedno. In zdaj, hočem nekaj narediti znova in znova. Jaz grem v nadzor. In poglejmo, bom vleči moj pogoj, če obstaja. Torej, zdaj opazili logiko. Ko je zelena zastava kliknili, naredite nekaj večno, ampak samo to, da kaj če je to stvar res. Jaz grem na, recimo, pravijo, zaznavanje. In jaz grem naprej in izbrati dotaknete in tam padec. To je logični izraz. In zdaj, obvestilo, v tem padcu down meni, da so nekatere vnaprej določene vrednosti. Torej lahko rečem, ste se dotika rob zaslona? Ali se boste dotaknili miške, puščica na zaslonu? Torej bom naredil. In če je tako, potem bom šel naprej in predvajanje zvoka mijav. Torej, zdaj sem nekako imajo Začetki igre - lepa igra. [Mijav SOUND] DAVID Malan: OK, čudovit, buggy igre. Dovolite mi, da počakate, recimo, eno sekundo. Zdaj imajo spet, s klikom zelena zastava. [Mijav SOUND] DAVID Malan: Torej, zdaj je kot ljubkovanje mačko. [Mijav SOUND] DAVID Malan: V redu, zdaj pa to en sem, da vnaprej. Zelo pozno, da postane neke vrste enostavno narediti neumnosti. Torej, pusti me tukaj. Recimo, da je bila Pet Cat. Poglejmo zdaj odprti Ne Pet Cat. Zdaj, če bomo igrali to eno, si lahko uganiti, če ste videti na zaslonu - [Mijav SOUND] DAVID Malan: Zdaj, če sem hišne mačka [Rjovenje levji] DAVID Malan: Torej dejansko ne hišne mačka v tem primeru. Torej, zdaj imamo samo primer Veja, ki se dogaja v dveh smereh. Zdaj pa mi gredo naprej in odpreti še eno tukaj. Ta je tudi med našim virom kodo datoteke za ta dan. Naj gredo nazaj v mojem Vir Imenik in iti v, recimo, izberite ta tip tukaj in si oglejte kaj je drugače. Vau, vse v redu, tako da zdaj je pridobivanje malo bolj zapletena. In preden bomo videli, kaj ta človek počne, poskusimo razbrati iz programa na desni strani. In zdaj praske jasno nam omogoča, da imajo več scenarijev, več Programi, povezani z eno sprite, z eno značaja in, očitno, Oni so tako zašli v lockstep. Zaradi obeh programov začne s ko zelena klikov zastave, to je namiguje na bolj napredne teme, s ki bi se nekateri od vas pozna, znan kot navojem ali multi-threading. Izkazalo se je, skrajšam zgodbo, računalniki Danes lahko bistveno storiti več stvari naenkrat. Ali pa lahko eno stvar naenkrat, tako hitro, da ne boste niti opazili, da to je dejansko počne eno stvar naenkrat. Ampak za zdaj, predpostavimo, da oba Ti programi se bodo vršiti istem času. In obvestilo, oba sta vedno koščke. Torej, oni so tako dogaja, da teče dokler ne zadeti rdečo stop znak. Torej, kaj so storili? Na levi strani, sem očitno razglasitvi spremenljivko izključen. Torej, nisem pa nekaj podobnega pokličite dolgočasen kot N. Poklical sem ga utiša to Čas za posredovanje pomen. Nastavite sem, da je enaka nič. Pomislimo, da so lažni ali pa mislim, da so lažni. Zdaj, vedno naredite naslednje. Če ne pritisnete preslednico na tipkovnici, potem, če utišan enaka nič, nato spremenite utišan do enakega enega. Else, nastavite izključen nič. Torej je logično, čeprav je, da je celotna kup kosov sestavljanke, da je Samo pravim, ko sem udaril preslednico, Kaj naj storim, da spremenljivka imenovano nemo? Spremenite ga z ene na nič, ali nič do ena. To je vse. Tako da je kot obračanja stikala luči vklopite ali izklopite in se spomnimo, s spremenljivka, ki sem jih naredil. Medtem, na desni strani, na smislu navadnega je, kaj je namen skript na desni strani? ŠTUDENT: Če želite predvajati zvok lev morje. DAVID Malan: Za predvajanje Sea Lion zvok, če ni izklopljen, ga naravo te spremenljivke. Tako smo si delijo državo, tako rekoč, izmenjavo informacij med tema dvema skripte, ker je opazil, tukaj smo vedno naredite naslednje. Če utišan nič, tako da, če to ni izključen - če je izključen lažne, nato pa igra To Sea Lion zvok. In mislim, da si, hi, hi, hi, za dve sekundi, počakajte nekaj trenutkov, nato pa ponovno preverite. Torej, če zdaj gremo tja na levo, kje je ta tip, in hit zelena zastava, [SEA LION SOUND] DAVID Malan: Na kateri točki ta dobil zelo nadležno? Ker bo to šele iti v nedogled. Tako da včasih, neskončne zanke, če se tako izrazim, so namerna. Ampak v tem primeru, kakor hitro bom hit preslednico, se ustavi. Zdaj se program ne zapre. To je še vedno teče v teh zank. Ampak, če dobim preslednico spet - [SEA LION SOUND] DAVID Malan: On bo kramp navzgor, kjer je končal. Tako da je eden od načinov za nas storiti nekaj znova in znova, ampak da Čas, le pogojno. No, pa smo v tem smislu početje stvari znova in znova, pusti me iti v drug tak primer tukaj. Tole bomo poklical štetje ovac. In opazil, kaj ta človek počne. To je pravzaprav malo več kot psevdokoda smo igrali z na Sreda, pri čemer se postavlja nekaj števec, pomislite, da je kot N znova, da nič, se vedno pa naslednje. Pravi, da vrednost pultu za enega drugič, počaka sekundo, nato spremeni števec po enega. In v tem smislu, da samo pomeni, da korakih. Tako je eden dodaja, da ga. Torej je to dobesedno - to ni ravno to, kar mislimo o, kot štetje ovac. To je ovca početje štetju večno, z nič. Tako da lahko naredimo podobne stvari tam, logično. Zdaj pa poskusimo za čiščenje nekatere od teh stvari. Dovolite mi, da gredo naprej zdaj na preprost primer, kjer naša mačka je le, da bo začetek kašelj. Vse je v redu, tako da tukaj imamo kašelj 0 - računalniški znanstveniki začeli štetjem od 0. Tako da je ta mačka je le, da bo kašelj trikrat. In tukaj je, kako sem izvajal to. Ko je zelena zastava kliknili, kašelj, počakajte, kašelj, čakaj, kašelj, počakaj. In sem to storil samo z vlečenjem in spustite kosov sestavljanke. Ali če začnete Lemiti z nič, boste videli, da lahko dejansko dvojnik kosov, tako da lahko naredite hitreje stvari brez vlečenjem in spustite oglas nauseum. Ampak nismo na najboljši poti tukaj. Ker kako bi ga kašelj še četrtič? No, lahko bi nekako šel dol. Jaz lahko razmnožuje in nato prilepite tja. Kako mu kašelj peti čas? No, kopirati in ponovno prilepite. Ali ponovno povlecite padec. In zelo hitro, začne ta program da bi dobili resnično, resnično odveč, res dolga, ampak res nezanimiva. Ampak tam je način za čiščenje tega. Kaj je očiten način čistiti to? OK, tako da smo lahko dejansko res šel ven in, če ste zadeli prostor bar, so mu kašelj. Ampak, če želim narediti nekaj ponavlja, opozarjajo, da imamo nekaj nadzora konstrukti. Naj mi premakniti to iz Tako gredo pod nadzor. Naj povem samo to ponovitev, torej trikrat. In zdaj mi nekaj ukradem od teh kosov sestavljanke. Dovolite mi, da snap to tukaj. Naj vržem to stran v celoti. In zdaj imam boljši zasnovan program. Zakaj? Če želim spremeniti kolikokrat ta mačka kašelj, vse, kar imam se je spremenila eno spremenljivko, ali eno vrednost, namesto od tri do štiri ali pet ali šest. Ali lahko kaj storim pogojno, tudi s prostorom Zaporo če sem hotel. Torej, to je splošno načelo. Ko začnete kopiranjem in lepljenjem kodo, ali je v nič, ali C, ko počnete nekaj narobe, najbolj verjetno. Ali pa vsaj, ko ste presegli nekatere razumni število kopij in paste, ste verjetno delaš nekaj narobe. Ampak veš kaj? Jaz ne maram tega. To ni najčistejša oblika. Želim si puzzle piece imenuje kašelj, ker potem ne bi morale izvajati to sam, starinski način, ki ga ki pravijo, počakajte - Kaj pa, če so bili le kašelj puzzle kos. No, jaz lahko dejansko narediti. Naj grem po več blokov, kliknite Naredite Block, in zdaj sem dobil to Okno tukaj. Bom poklical ta stvar kašelj. Jaz grem naprej in kliknite V redu. In sedaj obvestilo, dobim nov zagon Kos, ki je ukrivljen na vrhu. In kaj bom naredil s tem, da sem bo samo kradejo teh blokov. Jaz jih bom dal tukaj. In zdaj, s temi tremi kosi, sem izvaja, kaj bom poklical funkcijo, ali postopek, ali del morda ga poznamo kot metodo. Manjše razlike med besedami. Ampak za zdaj, kaj je samo Ta funkcija klic. To je le nova puzzle kos. Sedaj se izvaja, kot je ta. Ampak obvestilo, da je Scratch nam je dal fizično predstavitev, da celotna blokirati tukaj. Torej sedaj, lahko samo vleči to tukaj, pravijo, ponovite trikrat, in Kaj se bo zgodilo zdaj, ko sem igral ta scenarij, je samo en program teče naenkrat. Obstaja samo ena, če kliknili zelena zastava. Ampak to vijolična blok pozval kašelj dejansko pove nič, vsak ko boste videli, da je kos sestavljanke, dejansko izvesti te korake, ki sem zgodi, da ročno izvedbo. Tako da je nekako čeden. Toda zdaj, domnevam, da sem se odločil, jaz ne želeli to mačko samo kašelj. Želim si, da bi lahko da kihanje, kot dobro. No, kako bi se lotili izvajanje kihanje? No, sem lahko precej narediti isto stvar. Jaz bi naredil še en blok. Lahko pokličete to kihanje, kliknite V redu. Potem, tukaj sem lahko dejansko so, naj podvajati to - in tam, kjer bi se počutite kot ti si verjetno ne delaš nekaj v Najboljši način. Lahko bi rekel kaj takega, achoo, za eno sekundo. Počakajte eno sekundo. Zdaj imam nov blok, imenovan kihanje. In res, da je. Ampak tudi to bi se morala začeti počutiti - morda pa tudi ne prvi teden v razredu, ampak po drugi - samo malo odveč. Jasno je, da obstaja nekaj redundance tukaj. Torej, kaj mi predlaga, namesto, da bomo natančneje ta definicija kot sledi. Naj grem do mojega meniju Datoteka. Ne bom rešiti to različico. Jaz grem v eno moji narejenemu datoteke tukaj. In jaz grem naprej in odpiranje kašelj 2. Ops, da je kašelj 2. Dovolite mi, da gredo naprej in odprla kašelj 3, ki je ta vir imenik. Kašelj 3 in obvestila - oh, sem rekel, Zgodba v napačnem vrstnem redu. Dovolite mi, da si opomore od te zgodbe. Zgodba Hotela sem povedati konča z kašlja 4 - tam je. Pa kaj, če bom namesto tega opredeliti Večji puzzle piece imenuje opredeliti, recimo besedo n-krat. Kihanje je le, očitno, v nič, achoo. Zato smo ga izraziti kot beseda, samo zato, ker je to Omejitev programa. In kašelj [KAŠELJ], vendar kašelj, C-O-U-G-H. Tako da je le dva različne besede početje, v bistvu, ista stvar. Tako da sem lahko dejansko Novi blok, kot je ta. Nisem to možnost v meniju, preden ne uporabljajte. Toda, ko boste kliknili Naredite Block, lahko izberete nekaj možnosti. In lahko rečem, da je ta blok dejansko traja nekaj vložkov, drugače znan kot argumente, ali parametrov, tako da lahko spremenite vedenje vaš blok. Torej, kaj sem naredil pred nekaj trenutki smo Poklical sem to block Povejte. In potem sem rekel, da traja vhodni niz. In zdaj opazil, ki ga privzeto, pravi niz 1. Niz je le beseda, ali Stavek, za naše namene. Vendar sem le, da bo dal nekaj Besedilo ograde se, tako kot v Spletna stran, če vidite ime, ali geslo, potem pa izgine, ko začnete tipkati. To je vse, kar je. In zdaj bom dodajte vnos številk. In bom to imenujemo n - ampak to je precej samovoljno. In potem samo nalepka, samo, da bi ta blok malo bolj samostojno obrazložitev - krat, da je tisto, kar sem storil. In končni rezultat je, da dobim blok, ki je videti takole. In zdaj opazil, sem s pomočjo Ponavljam blok. Toda namesto trdega kodiranja tri, sem povleci in spusti n tam, zato sem Lahko parametrize funkcijo. Lahko bi bila ta funkcija naredi nekaj različno število krat, ki temelji na ta vrednost. In opazil, pravijo, da je to, kar sem storil Tukaj, če bom povlecite besedo lahko rečem, ne težko kodirane beseda, ampak karkoli se prenese v za eno sekundo. Medtem, kako sem ponovno izvajati kašelj? Jaz namesto tega opredeliti kot kašelj pravijo kašelj n-krat. Torej na kratko, grem skozi ta hitro, vendar Osnovna ideja je takoj kot ste lahko videli v vašem programu da, počakaj malo, sem naredil nekaj čisto takole pred, Lahko sem dejavnik ven nekaj skupnih funkcionalnost? Lahko razpadejo, kaj delam v nekaj osnovnih idej? To je tisto, kar delamo tukaj. In sem se zloži te stvari, vizualno, eno na drugo ker je to dokaz, da ta ideja začenši z binarno, bo ASCII, izdelavo grafične programe, nekako plastenja bolj zapletene ideje o eno na drugo. Isto idejo tukaj. Začel sem iz nič, izvajanje kašelj, nato pa spoznal, kašelj je res samo nekaj rekel. Naj namesto izvajati Pojem rekel nekaj. In na vrhu, da lahko izvaja achoo, ali kašelj? In bi lahko storili več, kot variante še vedno. Torej iz tega temeljnega načela, lahko začnemo storiti vse bolj kompleksni programi. Naj se odprejo tole. Mi lahko dejansko imajo več sprites interakcijo na zaslonu naenkrat. Če grem v svojo izvorno datoteko in zgrabi enega imenovane Threads, opozarjajo, da nit samo res sposobnost dveh scenarijev teči z ramo ob strani hkrati. Obvestilo zdaj, imajo tako ptica sprite in mačka Sprite, ki imata lastne skripte. Torej, obvestila, ko kliknem mačka, dobim te skripte. Ko sem kliknite ptico, Dobim te skripte. Torej, vsak od teh fantov je njegove lastne programe. Ko sem zdaj kliknite zeleno zastavo, opazili da to, kar počne, je ta program imate mačko, neverjetno počasi lovi ptico. Toda mačka ima to prednost, da imajo programirana tako da ni važno, če ptica je, mačka gre k njemu. Mi lahko igrajo to igro veliko hitreje. Torej, če sem na mačko, opazil, da sem uporabo, recimo premakniti enega korake. Imejmo se premakne pet korakov pri čas, da pet pik naenkrat. Dovolite mi, kliknite igrati. [Rjovenje levji] DAVID Malan: V redu, zdaj smo lahko Res da je mačka prednost. 10 korakov hkrati. [Rjovenje levji] DAVID Malan: V redu, tako zelo hitro, postane malo prednosti za mačka. Ampak bom zamahnete z roko na nekatere podrobnosti. Ampak razlog, da je ta pot začetek malo drugačen vsakič je, da delam nekaj naključnosti. Jaz sem pravzaprav kaže mačka v drugačno smer, ki temelji na, kjer sem hotel, da bi tako začeli, da vsakič igre ali animacije, je malo drugačen. Zdaj, naj vam predstavim eno drugi konstrukt tukaj. Torej, v tem primeru smo imeli funkcij. Tam je tudi, da bo kos sestavljanke znan kot matriko, ali seznama, , ki vam omogoča, da shranite več Vrednosti spolzi iz spremenljivke. Videli smo teme, in zdaj tam je Prireditve. Torej, tukaj je dogodek uporabo ta dva tukaj. In če sem odprl datoteko z imenom Dogodki od današnjih primerov, bomo glej program, ki je videti malo všeč. In zdaj opazil tega tipa - tako opazili, imam modre Muppet kliknili - počne le naslednje. Nima enega tistih zelena puzzle kosov zastavo. Ima ko dobim dogodek - tako da nekateri samovoljno beseda. Pravkar sem tipkal ven dogodka tam - on je hotel reči, Polo, za dve sekundi. Torej tiste, ki so seznanjeni z lahko ta igra vedeti kam to pelje. Če sem sedaj kliknite na oranžni Muppet, njegov program počne. Vedno, če preslednico tipkovnico zatreti, on pa bo rekel, Marco, za dve sekundi na zaslonu. Ampak on se tudi dogaja, da uporabljajo to Ljubitelj blok znan kot oddaji. On bo oddaja ponudbo konec citata, "dogodek". Medtem, moder človek, odpoklic, je posluša citatom navednicah, "dogodek". Tako nekako, zdaj, lahko imamo dve sprites interakcijo. In ko pridemo do spletnega programiranja, kasneje v obdobju, bo prav ta koristno, da imajo svojo spletno stran nekaj v odgovor na primer, klik na tipkovnici. Naj gredo naprej in hit preslednico. Oranžna fant pravi Marco. Modra fant pravi Polo. Če naredim še enkrat oranžna fant pravi Marco, modra fant pravi polo. Tako da je lahko to en korak naprej. Tokrat bomo šli, verjetno le nekaj več minut tukaj. Ali imamo - namizno svetilko, pridi dol. Ste prav na koncu. OK, lahko oba gor. Imamo desk svetilke za vsakogar. Daj no. Ne vem, če lahko hranimo to smešno gag gor Vse semester, čeprav. Vse je v redu, pridi dol. In v tem času smo imeli po zgledu dvigni, samo da bi pospeši stvari zdaj, tako da smo imajo manifestacijo od drugega Predhodnica tvoje uporabo Isti osnovni gradniki. Kako ti je ime? JOHN: John. DAVID Malan: John. Lepo, da mi vas. In? Setz: Setz. DAVID Malan: Setz, prijazna do mene. John, če želite, da pridejo se najprej, to je stara Šola Igra z imenom Frogger. Uporabite tipkovnico za to, kot dobro. In cilj je priti čez ulica in vodo. [Frogger Glasba in zvok predvaja] DAVID Malan: Žal mi je, ne namizno svetilko za vas danes. Vse je v redu, Setz, bi si rad prišel gor? V redu, dajmo še enkrat. Setz: Ali uporabite puščice? DAVID Malan: Samo smerne tipke. Gor, dol, levo, desno. [Frogger Glasba in zvok predvaja] DAVID Malan: Bomo jim pravimo tolažba nagrade danes, nato pa zelo dobro narejena. Tukaj, tako za vas, John in Setz. Čestitam, vse v redu. Torej še enkrat, saj je ta igra igra, razmišljati o tem, kaj se dogaja? Eno pa je jasno veliko gibanja. Vendar pa smo videli, kako z mačko in ptica primer, kako si lahko iluzija gibanja, ki ga le nekaj premika Število znova in znova pik. In če imate večno blok, bi lahko imeli ti avtomobili početje to večno. Imamo možnost, da nekaj naključnosti. Torej, ta igra ne biti popolnoma enak vsakič. Ti dnevniki, tisti avtomobili, lahko začnete na nekoliko različnih časih, tako da Sama igra je bolj zanimiva z vsako igro. In medtem, smo videli možnost poslušati preslednico. Ampak jasno je, da v nič, lahko tudi poslušaj gor, dol, levo, desno, in res vsaka tipka na tipkovnici. In lahko storite tudi nekatere druge stvari. Dovolite mi, da gredo naprej in nazaj za spletno različico. Naj grem v naši zbirki od primerov tukaj. In po mojem ateljeju, video, ki je v bistvu Mapa scratch.mit.edu. Imamo spletne različice vseh teh projektov. In da vidim, če lahko dobim moja Računalnik tukaj sodelovati. To je napisal eden od naših prijateljev na MIT, ki se imenuje Premik Butterfly. In ko ta odpre, to bo dejansko uporabo več moje strojne opreme računalnika. Praske se zgodi, da je treba izvesti z Flash. Flash lahko pogovorite s svojo spletno kamero, če ga imate. Torej, če grem naprej in celozaslonski to Tukaj, kliknite zeleno zastavo, obvestila da je varnost brzojavke v se pravi, hočeš omogočajo uporabo moje spletno kamero? Običajno, bi si verjetno rekli Zavrni. Ampak v tem primeru, bomo rekli omogočajo. Potem bom povedal Chrome da se omogoči tudi to. In zdaj, vsak trenutek, me boš videl, ja, jaz sem. In če moja roka gre gor - Moram se ne premika moja Glava hkrati. Tam je tudi odraz na zaslonu. Pridi, greva - ga lahko premikate po zaslonu, saj tam je tudi sestavljanke kosov - oh, ti veš kaj je to, je to zato, ker si tudi glej projekcijsko platno za mano. Tako da imamo malo Infinite stvar, ki se dogaja tam. Vse je v redu, tako da bom poskusil tukaj. Takole. Torej je tudi puzzle kos, ki pravi, ko vidiš gibanje pod eden od sprites, imate lahko gre gor, dol, levo, desno ali podobno. Tako da imamo malo virtualne realnosti dogaja tudi tukaj, vse v omejuje mojega brskalnika, samo tukaj z mojo spletno kamero. Torej, kaj je potem na obzorju. Prvi problem niz, saj boste videli, ali spletna stran bo na spletu kasneje Nocoj ob cs50.net, se precej veliko bo za nedoločen čas. Ter izvajanje projekta Scratch , ki vas zanima, igre, interakcija, nekaj umetniških in izziv sebe, da uporabite poljubno število od teh kosov sestavljanke. In to lahko bodisi interaktivno na ta način. Ali je lahko kaj bolj premišljeno je povedati zgodbo. In res, da je, če bomo na koncu off danes na en končni npr. Dovolite mi, da gre v nič na lokalni ravni. Dovolite mi, da gredo naprej in odpiranje tem, in predvajanje en zadnji program, ki ga eden napisal svojih predhodnikov, in sicer da je eden tukaj. Dobro, povečati obseg za to. [Predvajanja glasbe] Pripovedovalec: Na naslednjem CS50, David vabi prostovoljca na odru. DAVID Malan: Za to demonstracijo, bomo potrebovali enega prostovoljca. Bi radi, da pridejo na cedilu? Kako ti je ime? Gremo naprej.