>> 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.