>> Ettekandja: ma olen [kuuldamatu].
Ja ma olen vanem on Leverett House.
Õpin infotehnoloogia, ja ma olen TF CS50.
Nagu uustulnuk, ma isegi ei pidanud sülearvuti või nutitelefon.
Mul polnud mingit programmeerimise kogemus.
CS50 oli kõige meeldejäävam muidugi, et Võtsin Harvardi, sest see oli
võitlus, aga see oli tõesti lõbus võitlus samal ajal.
Ja ma tegin palju hämmastav, püsiv sõpru ja õppisin palju tegelikult
kohaldatav oskusi.
Ma olen lihtsalt nii õnnelik, et ma ei lase mu puudumise taustal olla vabandus mind
ei võta CS50.
Ma olen [kuuldamatu].
Ma olen vanem juures Leverett House, klassi 2014.
Ja ma võtsin CS50.
>> DAVID Malan: Nii et see on CS50.
See on nädala lõpuks nulli.
Ja meenutada, kus hakkasime viimast korda oli nende laternate mis olid
nii populaarne, et me läksime ja ostsin veel täna.
Nii et ma arvan, et see saab olema Meie asi sel aastal -
laualambid, kui sa tulla laval, vähemalt seni, kuni me otsa.
>> Aga me kasutasime neid mäletate, et tutvustada põhitõdesid esindatuse andmed.
Pidime viis alustada esindavad teave sees arvutis.
Ja kõige lihtsam viis seda teha, oli ühe koostisosa, elekter.
Ja kõige lihtsam asi, mida saate teha koos elekter on see sisse ja välja lülitada.
Las elektronid liiguvad või mitte.
Ja kasutades nende kahe põhilised riigid, välja ja või vale ja õige, või null ja
üks, hakkasime nägema, et me võiks ehitada up, antud juhul kerge
sibulad, rohkem numbreid kui lihtsalt nulli ja ühe.
Meil arvestatakse koguni seitse, Näiteks viimane kord.
Aga kõik me peame tegema, on hoida viskamine rohkem lambid sel
probleem ja tõesti, me ei esinda iga number, et me
võiks tahta.
>> Noh, me transitioned kiiresti siis Kolmapäev sellele bait vabatahtlikega.
8 bitti, mida me tavaliselt nimetame bait, nii siin me pidime kaheksa vabatahtlikku
Kolmapäeval, kes üheskoos olid esindavad kaheksa bitti.
Ja kui käed läksid up, nad olid üks.
Ja kui nende käed olid alla, oli null.
Ja meil oli need inimesed tulla laval miks?
Mida me saame teha see bittide jada?
>> Luua tähestikku.
Suutsime luua peal, et eelmine õppetund ja tegelikult
hakata tegema rohkem huvitavaid teavet, mis on vähemalt rohkem
meile tuttavad inimesed.
Ja see saab olema korduv teema kogu 50, aga ka arvuti
teadust üldisemalt idee kihilisus, kus lõpus
päev, kui sa tõesti alustada põhitõdesid arvuti, jah,
see on nulli ja ones.
Ja all, et see on ainult elektrit.
Aga me väga kiiresti hakata võtma neid madalal tasemel üksikasjad antud
ja hakata kiht peal varem töötanud teha nii, et me lõppkokkuvõttes poolt
semestri lõpuks ja tõesti, üldiselt kui arvuti teadlased
ja programmeerijad, saate teha mõned tõesti võimas asjad võimendades töö
et me ise oleme teinud ja ka seistes õlgadele teised.
>> Nüüd kiiresti üle läinud kolmapäeval alates lihtsalt vajavad
esindama teavet tahavad midagi teha sellega.
Mis siis me defineerime algoritmi?
Rea juhiseid.
Nii et see rida juhiseid, mitmeid samme, et teie, inimeste või
arvuti, tavalisemalt, oleks täita üksteise järel, et
et saavutada teatud eesmärk.
Ja meil oli mõned eesmärgid viimase aja millest üks oli lugeda
inimesed ruumis.
Ja veel üks selline näide oli leida Mike Smith telefoniraamatust.
>> Nii et te võib-olla mäletate, et ma tore telefon raamat poole suunas selle lõpuks
leidmine Mike Smith.
Eesmärgil, et visuaalne oli näidata jälle, et me olime
sõna otseses mõttes rebimine seda probleemi pool, poole, poole, ja väga
kiiresti läheb nagu 1000 lehekülge et vaid üks lehekülg.
Neile, kes ei saanud seda Kolmapäev, ma arvasin, et me taasesitada
mõned kaadrid, mida te vastamata.
Võtame pilk.
>> [VIDEO PLAYBACK]
>> -Just nii.
1500 lehekülge, Nice puhas joon, õigustatud pisar.
>> [END VIDEO PLAYBACK]
>> DAVID Malan: Nii et oli kolmapäev.
Me üleminek, kuigi kolmapäeval nüüd et tahavad esindada algoritmidega
mõnel määral tavapärasel viisil, mitte ainult kirjeldades neid suuliselt, kuid
püüdes väljendada kirjalikult või arvutiekraanil et saaksime
alustada täiustada ja muuta neid, ja lõpuks, tegelikult
analüüsida, kuidas õige või kui kiiresti nad olid.
>> Niisiis tutvustasime seda mõistet kohta pseudokoodi, mis
üldarusaadavat mõttes on mis?
OK, sõnu.
Lähme natuke sügavam kui see.
Inglise, muidugi, on vaid poole nimel?
Sõnad, millega luua või esindada algoritme.
Nii et seal on keegi keel teada kui pseudokoodi maailmas.
See on lihtsalt, et sa, inglise või sõltumata oma kõnekeel on kasutada
omamoodi põgus märke edasi idee väga lühidalt.
Aga me näeme, et kindlasti koos Inglise pseudokoodi, ja selgub,
kõige programmeerimiskeeled ise on tuletis inglise iseenesest
me leiame, et seal on mõned standard viise esindavad pseudokoodi ja
ka programmi koodi.
Nii nagu te hakkate näha, isegi kõige lihtsamaid näited täna, saaks nimetatud
sama mustrid kordub järgmisel nädalal.
>> Nii pseudokoodi oli mingi Keele meenutav
programmeerimiskeelt.
Ja esimene näide nägime visuaalselt allahinnatud oli see üks.
Alles kolm sammu programmi, eesmärgiks oli loendada
inimesed Dorm tuba et video kolmapäeval.
Aga seal olid mõned huvitavad aspektid Selle lihtsaim programmi.
>> Ja see on korduvad teemad.
Nii neile, kes ei tea, see on üks, meil kasutusele muutuja.
Ja ilmselt kõik selles ruumis on tuttav muutuja
kontekstis algebra.
Aga siin programmeerimine, muutujad on üks, võib olla
nimega midagi tahame.
Oleme kasutanud n nagu counter.
Kuid võib kasutada sõna counter või nagu näete, kõige tahes fraasi
sa võiks nagu nii kaua, kui see on kirjeldav, kuigi tegelikult on see lihtsalt
kanistrisse.
See on tüki mälu, mõned arvu bitti, ja see sõltub arvuti, kuidas
palju bitte, et kirjutada, et muutuja.
>> Aga me ei saa panna väärtusi ta.
Siiani oleme panna ainult numbrid.
Aga me ei saa panna tegelikud sõnad.
Me saame panna punktid.
Me saame panna pilte -
midagi, tõesti, saame esindada koos nullid ja need, saame panna
seda kõrgem mõiste muutuv.
>> Nii väga lihtne sinna.
Ja see on esimene rida.
Aga me väga kiiresti edasi liikunud line üks tegelikult teha
midagi selle muutuja.
Ja joon kolm uuendasime N. Me suurendatakse N. Ja me võiks kirjutada selle
mis tahes mitmel viisil.
Aga võib-olla kõige ilmsem on lihtsalt öelda, määrata N väärtuseks
olenemata N on pluss 1.
Nii et oli meie juurdekasvu.
>> Vahepeal oli loop.
Ja see ka, on ilmselt päris intuitiivne.
Silmus on lihtsalt midagi programmi see juhtub ikka ja jälle, mõned
selline tsükkel.
Ja see oluline lause siin, iga, on tegelikult väga levinud peaaegu kogu
programmeerimiskeeli, sh mida me näeme käigus.
Anytime näed sõna, see tüüpiliselt väljendab mõtet, et
loop, midagi tsükliline, hakkab juhtuma.
>> Kuid see on väärt märkimist, üks muu süntaktiline detail.
Asjaolu, et kolmas liin on tegelikult liigestatud poolt võttes löögi
tühikut paar korda on tahtlik.
Kuna inimese tava on selline, et kui sa teed midagi uuesti ja
jälle tsüklina, mida alustati teisel liinil, sa taane midagi, mis kuulus
selle silmuse lihtsalt selgeks teha, et see joon kolm ja mitte, näiteks,
line neli või viis, kui oli read või viis, mis on
osa, mis silmuseid.
Nii see lihtsalt taandus edasi, et põhiidee.
>> Nii et me rakendada seda algoritmi, nüüd, et mõned näited.
Ja ka see lihtne näide reaalses maailmas.
Aga see saab olema esindaja kuidas teil läheb umbes testida oma
ise üha keerukamaks programmid.
Sa proovida mõned stsenaariumid, mõned esindajad sisendite ja vaata, kas sa
saada soovitud tulemusi.
>> Nii et see näide oli kaks inimest istub Dorm tuba.
Vasakul on see, et sama pseudo kood.
Ja see on ekraanipilt väga Viimase sammuna on käesoleva
algoritm need sisendid, kus olid kaks inimest toas ja
mäletan, kui me samm teel värssi, ja kaks ja kolm ja kaks
ja kolm ja tehtud -
aasta lõpuks, et algoritm, meil oli tõepoolest arvestada kahe stipendiaatide kes on
ruumis.
>> Siis püüdsime teine ​​näide.
Ja me ütlesime, mis siis, kui on olemas null inimesed ruumis?
Kas see kood ikka õige?
Ja tõepoolest see oli.
See lihtsalt nii juhtub, et joon kaks ja seega rida kolm või
ei kavatse täita.
Nad ei juhtu üldse sest nad lihtsalt ei kohaldata, kui
seal on null inimest toas.
>> Aga ei ole suur asi.
Line ühe käivitub N nullini, kuigi ainult üks rida selle
programm tegelikult jõuab on kasulik, see ikka annab õige vastuse, kui
tähistatud oranži nulli allosas.
Aga siis me otsustasime, et oli rumal algoritm.
See oli päris aeglane.
Kindlasti ma saan kahe, nelja, kuus, kaheksa, kümme, kui
lugedes inimesed ruumis.
>> Nii et me Tweaked algoritm, pseudokoodi, öelda, nüüd liinil,
iga paari inimest toas jätkake, järgides kolme juurdekasvu
aastal kaks iga iteratsiooni.
Nii et oleks töötas siin Selle paari inimest toas.
>> Aga siis, kui hakkate mõtlema seda, ja see ei võta kaua aega
mõistma, oodake minut see on kavatse murda, see puruneb
, mida lihtne juhtum?
Kui seal on kolm inimest ruumis või üldisemalt, kui seal on
paaritu arv inimesi tuba, millest üks.
Me ei pane, et inimene siin, sest ei ole selliseid paare.
Nii et me kiiresti lahendada asemel kasutusele, milliseid täiendavaid
programmeerimine konstrueerib et pseudo kood.
>> Nii tingimus, me kutsusime see või filiaal.
Ja see tähendab, et edastada, visuaalselt, Idee filiaali teelahkmele
kus võite seda teha või äkki midagi muud.
Ja tõepoolest, me selle küsimuse lahendamiseks lisamise liin 4, öeldes, tõesti, on
Päris lõpus, kui üks inimene jääb, siis minna ja loota neile erilist.
Nii et omamoodi eriline juhtum, mistõttu rääkida, nii et nüüd saame hakkama
nii isegi rohkem inimesi ja paaritu arv inimesi.
>> Nüüd on igal mitmel viisil me oleks seda väljendanud.
Ja ausalt öeldes, ma ei olnud isegi veel ting Nirso kui ta tuli minu valik
Inglise pseudokoodi.
Aga vähemalt vaimus idee on toimetatud.
Kui te andis see kood sõbrale kes pole CS või on kunagi võtnud
CS, koefitsiendid nad võiks aru saada, antud kolm inimest toas, kuidas
loe neid inimesi, põhineb Nende juhiseid.
Ja see kõik tõesti tahame saavutada koos pseudokoodi kuidagi
standardiseerida, kuidas me läheme umbes esindavad ideid, et saaksime
hakata tegema keerulisem asi veel.
>> Nii et toob meile seejärel, täna, tegeliku koodi.
Alustame programmeerida täna, ehkki aastal keskkond.
Ja siis me üleminek väga kiiresti rohkem keerulisse süntaks, kuid üks, mis
näete on põhimõtteliselt sama, ideed näed avaldub koos
see teine ​​keel täna.
See on lihtsalt kavatse vaadata veidi erinev.
>> Nii et selle asemel lihtsalt nimetame seda koodi, ma olen saab olema veidi täpsem
ja öelda, edaspidi, kui kirjalikult programm, sa oled kirjalikult lähtekoodi.
See on selline nagu pseudokoodi.
Aga me näeme, et see ei ole mingi lahtine kui tegemist on valida sõnu
et te kasutate.
Kui Planeerimise keeles, on teil kasutada sõnu, lauseid,
süntaks, et teised inimesed on otsustanud esindada
kõnealuses keeles.
Nii pseudocodes on sinust.
Tegelik programmeerimiskeelt nagu C, kui me lõpuks näeme,
standardiseeritud teiste inimeste poolt.
>> Niisiis, kuidas me edasi minna kirjalikult mõned lähtekoodi?
Noh ma lähen minna ja seda teha.
Ma lähen edasi minna ja avada aken siin.
Veel selle järgmisel nädalal.
Aga see on seade, mida nimetatakse CS50 aparaat.
Ma töötab tükk tarkvara minu Mac, kuigi sa võid teha sama asja
Windowsiga arvutis, mis annab minu illusioon töötab erinevates
operatsioonisüsteem üldse õigus siin akna minu Mac.
Ma olen lihtsalt täis linastus see, et sa ei tegelikult näha Mac OS kohe.
>> See on operatsioonisüsteemi nimega Linux.
See on väga populaarne.
See on väga kiire.
See on väga vaba, mis on teinud väga kaalukad, eriti
ärimaailmast.
Ja rohkem, et lõpu poole semester, kui me kasutame Linux üsna natuke
veebi programmeerimine ja võõrustamine tegelik veebilehed ja projekte.
Nüüd, lihtsalt tean, et see on desktop , mis on mõeldud selleks, et otsida ähmaselt
tuttav Windows ja Mac OS.
See lihtsalt on mõned erinevad nimed ja ikoone asju.
Aga see on nn CS50 seade, virtuaalne masin, mis,
algab järgmisel nädalal, kutid joosta sees aken
oma Mac või PC.
>> Sest täna ma lähen avama lihtsamaid programme.
Seda nimetatakse gedit.
Ja see on lihtsalt graafiline redaktor.
See on selline nagu Microsoft Word, kuid lihtsam.
See on selline nagu teksti edit või notepad.
See on lihtsalt väga lihtne programm mis kirjutada sõnad ekraanil.
See lihtsalt nii juhtub, et kui ma salvestada faile, mis ma loon, kui see programm
spetsiaalses pikendamine jms. c asemel kohta. doc või. xls, või mis iganes
te olete juba tuttav, ma ei saa tegelikult luua programme kasutades isegi seda lihtsat
tekstiredaktor.
>> Nii et lubage mul seda teha.
Lubage mul minna ja salvestada see esitama kõigepealt hello.c.
Ja jälle see kasutajaliides tundma, et sa kiiresti.
Aga nüüd, ma lihtsalt kirjutada Faili nimes.
Ma lähen, et salvestada see minu John Harvardi kodukataloogi.
Ja nüüd on mul see kaart, mis näitab, Ma tõesti toimetamine
fail nimega hello.c.
Nii et midagi on liiga huvitav veel.
>> Ja nüüd see läheb saada päris segasena.
Ma lähen suumimiseks lihtsalt nii et see on rohkem nähtav.
Ja ma hakkan kirjutama hulka stdio.h, int main, õigustühiseks avatud lokkis
traksidega, üks, kaks, kolm, neli ruumid taandeseadistusi, print f, trüki-
midagi vormindatud quote lõppeb, "Tere, maailm" Kenoviiva, n lähedal
tsiteerin suletud sulgudes semikooloniga sisestage backspace, backspace, backspace,
backspace, suletud lokkis traksidega -
Olen programmeeritud.
>> Olgu nii see on super lihtne programm, tõesti, programm, mis
keegi käivitab programmeerimine.
Ja kõik see, kogu selle keerukuses, on printida välja
ekraan, arvan, mida?
Tere maailm.
Aga see ei ole piisav lihtsalt Kirjutada programm.
Nii et see on kood.
Seda lähtekoodi keeles nimetatakse c.
See on salvestatud praegu fail nimega hello.c.
>> Nüüd pilk põhja servas siin.
Veel selle jälle sisse nädala jooksul.
Aga see on see, mida me kutsume terminali aknas.
See vilgub, must ja valge kiire.
See on omamoodi vana kooli liides arvuti, mis tavaliselt ei ole
kasutada hiirt või muud graafilisi elemente.
Ta lihtsalt kasutab oma klaviatuuri.
Ja ma ei kirjuta käsud see vilgub kiiresti.
>> Ja tänane eesmärkidel, ma lihtsalt läheb tippige järgmine -
teha tere.
Ja see programm teha, on lihtsalt programm, mis reaalses maailmas need
päeva, oleksime topeltklõps.
Aga see liides täna, me oleme läheb tippige oma nimi selles kiire.
teha Tema sõna otseses mõttes läheb tee mind programmi nimega tere.
Ja see saab seda teha, vaadates jaoks faili, lihtsalt
Vaikimisi nimetatakse hello.c.
See saab endale tahan C programm loomu, kuidas see arvuti
on konfigureeritud.
>> Nii et ma minna ja vajuta enter.
Ma näen mõned segasena väljund, kuid see muutub liiga
tuttav enne pikk.
See juhtus sõitma koostaja, rohkem kohta, et hetk, mida nimetatakse rõkkama.
Aga nüüd, mul on lihtsalt üks vilgub kiire.
Ja ma võin minna nüüd ja dot kärpida, sest ebahuvitav põhjustel paneme
tagasi tulla järgmisel nädalal -
tere.
>> Nii see kõik endast oleneva, seni lihtsalt kirjutada lihtsamaid programme, et
niipea, kui ma Enter, ei tee seda.
Nii et ma olen kirjutanud oma esimest programmi.
Nii et ma olen teadlikult naljatletakse selles väga lihtne programm
jaoks paar põhjust.
Üks, see on raske saada põnevil umbes võttes klassi kui
see on lõpuks mäng.
>> Kuid üle, et seal on palju distractions siin.
Kui te esimest korda teada, et programmi jaoks Neile, vähem mugav, ja
isegi mina, juba järgmisel päeval, kui ma esimest korda nägin midagi sellist - saad objekti
on näitaja, mis, olgu, see on print tere.
Aga seal on nii palju tähelepanu kõrvale.
Seal on nii palju süntaks ekraanil et see läheb nii, väga
lihtne, muidu lihtne, ideid.
>> Niisiis, mida me teeme täna on meil läheb kõrvale panema C ja tulla
tagasi, et esmaspäeval.
Ja me ei kavatse kasutada graafilist programmeerimiskeelt nimega Scratch.
See on programmeerimiskeel, mida ma vihjas kolmapäeval, et läheb
et võimaldada meil teha sama kraami aga silma kinni pigistama, täna,
et looksulg, sulgudes semikooloniga, ja kõik need rumal
distractions et saada takistuseks, et Selle esimesel päeval, mõned põhilised, päris
huvitavaid ideid.
>> Nii suunas, et lõpuks, ma lähen tagasi oma töölaua üle siin ja
tutvustada teile alternatiivi, et Programm, mis on kavatse vaadata
natuke midagi põlema see.
See, kuidas me seda rakendama Sama kava täna - kaks puzzle
tükki, et kui lukustatud ja klõpsanud, ütlevad, et maailm,
tere.
>> Teeme tegelikult sinna minna.
Nii et ma lähen edasi minna ja avada veebilehel tuntud scratch.mit.edu.
Ja see viib mind kodulehel siin.
Ette, ma olen sisse loginud Selle veebilehel ja esimese probleeme
sõelub mõned neist sammudest.
Ma lähen edasi minna ja kliki minu nullist kausta siin.
>> Ja see läheb mulle näidata mõned projektid, mis ma olen
tegelikult loodud ette.
Ja selgub, et see graafilise programmeerimiskeelt mitte ainult läheb
andke programm tõmmates ja kukutades neid puzzle tükki, siis
ei pea isegi spetsiaalne tarkvara.
See kõik on kinnistatud brauser nii et seda saab teha, teoreetiliselt on
arvutis just nüüd, nagu mõned teist võib olla, isegi ilma
tarkvara nagu CS50 seadme mis tulevad järgmisel nädalal.
>> Nii et ma lähen kuni ülemises nurgas siin ja kliki Loo.
Ja hetkel, kui ma lähen, et saada tühi ekraan, mille kaudu ma saan alustada
programmeerimine see graafiline programmeerimise keskkonda.
Aga seekord, see saab olema palju, palju lihtsam tegelikult teha.
Nii et üks hetk, kui Wi-Fi koostööd, meil on nüüd see ekraan.
Nii kiire verbaalne tour, kuid ma julgen öelda, Kindlasti, kui sa sukelduda
Esimene probleem komplekti, saate leida see kõik väga
ligipääsetav ja üsna intuitiivne.
Kuid olgem maalida kujutluspildis hetkeks.
>> Nii all see kiiresti öeldes kokkuhoid muutused, sa parasjagu näha nullist.
See on sprite.
See on iseloomu.
Ja ta elab, mida me kutsume etapil see suur valge ristkülik
mis ta saab liikuda üles, alla, vasakule, õige, ja teha, tõesti,
muud liiki meetmetega.
>> Vahepeal keset see kasutaja liides, meil on terve hulk
puzzle tükki.
Ja te näete, et nad ütlevad asju nagu liikuda 10 sammu pöördus 15 kraadi,
punkt teatud suunas.
Aga seal on kategooriad plokkide üles siin.
Nii et kui ma lähen Paistab, te näete, et seal on muu puzzle tükki, et
ilmselt ütleb see cit et tere öelda, et arvan, et näidata
ise ennast peita.
Kui ma lähen alla Helid, selgub seal on võimalust mängida kõlab mjäu
peatada kõik helid, mängida trummi.
>> Nii pikk lugu lühike, seal on terve hunnik puzzle tükki, mis võimaldab teil
öelda see kass, või mis tahes arvu muid sümboleid, mida teha.
Aga et see kõik juhtub teie vaja alustada programmi.
Ja see suur valge kast või halli kasti kohta paremal pool on see, kus
Ma tegelikult tõmmata ja tilk neid puzzle tükki.
See on minu tühi tekst aken samaväärne.
>> Nii et ma lähen edasi minna ja kliki Kontrolli keskel.
Või õigemini, lubage mul alustada üles alla sündmused.
Vastavalt Üritused pink, märkad mõned asjad, mis on tahtlikult
kaardus peal nii, et nad ilmselt ei põkkuma kohta
tippu puzzle tükki.
Ja see on, sest nad Demark algust programmi, algusest
script, nii rääkida.
Nii et kui ma edasi minna ja lohistada, kui roheline lipu klõpsatud üle siin, ja siis ma
tahan, et see kass öelda midagi alguses.
Nii et ma lähen alla tundub paneel.
Ja ma lähen edasi minna ja haarata tere öelda, plokk, ja drag ja drop,
ja lasta minna nii, et see automaatselt blokeerib seal.
>> Ja siis märkate suudan klõpsake teksti.
Ja ma ei saa eirata seda rohkem konkreetne nagu, ütleme, tere.
Ja nüüd on meil programm, et ma väita, on samaväärne rohkem
keerulisse programmi I rakendatud C hetk tagasi.
>> Kui ma lähen üle nüüd vasakul pool, märkate seal on suur stop märk
ja suur roheline lipp.
Lubage mul suumida selguse.
Ja kui ma nüüd klõpsake seda rohelist lippu, saate ilmselt arvata, mis see esimene
Programm on praegu teeme.
Nii ka seal, me programmeerimine, kuid me tegelikult ei saada takerdunud
mõnel neist süntaktilist pisidetaile.
>> Aga proovime midagi veidi põnevamaks.
Lubage mul minna minu Scratch kausta siin.
Ja tegelikult, las ma seega lubage mul avada eraldi programm siin lihtsalt
hetk, Maksimeeri see aken, avatud failis ja ma lähen tänapäeva
allikas kataloog.
Nagu alati, leiad, täna ja aastast, et kõik tänapäeva näited
on kättesaadavad sees Muidugi kodulehel.
>> Ja ma lähen edasi minna siin ja vali natuke midagi muud.
See üks siin, mille Ma vajan vabatahtlikku.
Kes tahaks laualamp täna?
OK, kuidas keegi vähe - Kas oled end?
Tule alla.
Nüüd, kas sa tahaksid osaleda, või lihtsalt öelda alustada laualamp?
>> VANESSA: [kuuldamatu].
>> DAVID Malan: OK.
Suurepärane, millised on teie nimi?
Vanessa?
David.
Meeldiv kohtuda.
Niisiis tulge siia ja Vanessa läheb võtta kontrolli oma
klaviatuur hetkeks.
Ja see, mida ma olen teinud siin, lihtsalt aeg on pärast, nagu ma olen aru saanud,
Wi-Fi oli natuke aeglane, Scratch, programmeerimise keskkonda, milles me oleme
kasutades, saab ka alla laadida ja käivitada oma arvutis.
Nii et mida ma tegin enne loengut sisse juhul, mis juhtub, on mul alla laadida
Kõik failid, me oleme umbes mängida et nad saaksid sõita veidi rohkem
kiiresti siinsamas minu sülearvuti.
Nii et miks nüüd näen Mac-spetsiifiline liides.
>> Ma lähen edasi minna ja avada see üks.
Ma lähen edasi minna nüüd ja täisekraanil akna.
Ja nagu näete, me saame väga kiiresti, kui see tudeng tegi üks
oma eelkäijatest minna tere et palju palju ahvatlevamaks
taotluse.
Nii et siin on juhiseid.
Oh, ja meil on veel üks asi.
Ma arvasin, et oleks tore, sest Tavaliselt saadame filmimine
kaamerad nii.
Ma arvasin, et oleks tore, kui Vanessa, me ei näe maailma
läbi oma silmade.
Nii et siin on meil mõned Google Klaas.
>> [Hämmastunud gasps]
>> DAVID Malan: Me ainult andes ära laualambid täna.
>> [Naer]
>> Nii et lubage mul kii see üles.
Olgu, puudutage seda.
OK, klaas, salvestada video.
Olgu, Vanessa?
Nüüd, kui kõrvale, et on saanud midagi pistmist Scratch, kui te vaatate
veidi üles ja paremale, näete sõnasõnaline klaas, ja sa peaks
vaata veidi ristkülikukujuline aken.
Sa peaksid nägema kõik oma klassikaaslastega on filmitud just nüüd?
Jah.
>> VANESSA: Jah.
>> DAVID Malan: OK.
Nii et pole midagi.
Me vabastame selle materjali hiljem.
Nüüd pöörake tähelepanu et ekraan siin.
Ja mida teie eelkäija on teinud on panna mõned juhised ekraanil
lihtsalt kasutades värvi programmi.
Nii et sa lähed, et hetkel, vajutage tühikuklahvi alustada.
Ja siis mõned puzzle tükid lähevad hakata liikuma kogu ekraani.
Ja sa tahad lüüa nooleklahve, lihtsalt nagu reaalses DDR vastavalt
asjad vooder nende nooled.
>> VANESSA: OK.
>> DAVID Malan: Sa mängid seda enne.
>> VANESSA: Jah.
>> DAVID Malan: Olgu, Vanessa, minna ja võtta see ära.
>> [MUSIC - Kayne WEST, "tugevam"]
>> [APLAUS]
>> DAVID Malan: Teeme nüüd sammu kaugusel sellest.
Nii selgelt, et see lõpuks mäng.
Mängu lõpp ei ole tere.
Aga sa ei pea tingimata tegema asju, mis on nii interaktiivne.
Võite teha ka animatsiooni.
Nii näiteks mõne teise oma õigusjärglaste tehtud selle programmi siin,
mis jutustab loo üle see ei rakendanud mäng.
Nii et lubage mul minna ja avada siin Programmi meie sama allikas kataloog
alates tänasest.
See üks kõne ja alustame koos, küpsis armastuslugu.
>> Ja mitte teha seda liiga akadeemiline, kuid kui sa vaatad seda ühte, arvan, et
ise, milline neist lihtne programmeerimise kontseptsioone oleme rääkinud
kohta seni -
muutujad, ja silmad, ja tingimused, ei oma eelkäija ilmselt kasutada ainult
rakendada mõningaid visualiseerimine.
Näete siin.
Nii et ma annan sulle küpsise armastuslugu.
>> [Music - Green Day, "Holiday"]
>> [CRASH]
>> [MUSIC - kilpkonnad, "Happy Together"]
>> DAVID Malan: Olgu, seal, meil oli cookie armastuslugu.
Aga isegi seal -
>> [APLAUS]
>> DAVID Malan: Olgu, isegi seal, mõtle, kui need südamed läks
alt üles ekraani, oli tegelikult natuke
juhuslikkust toimub.
Ja tõepoolest, me näeme, et isegi Lihtsaim keskkondades, nagu
Scratch, nagu C, saate luua juhusliku numbrite või illusioon
juhuslikke numbreid, nii et mäng on veidi rohkem huvitav kui see võib
kui sa olid absoluutselt kõva kodeeritud kõike.
>> Liikumise, et näete, seal seal on mingi tundlikkusega.
Niipea kui Nisse puudutab piparkooke naine, ta
Tundub, et eemalduda.
Ja nii tõesti, mida saab rakendada, et kõige programmeerimiskeeli, mõiste
üritusi, kusjuures kui ühest küljest puudutab Teisest küljest, mis võivad vallandada mõned
oma lähtekoodi tegelikult täita.
Saate kuulata selliste asjad ekraanil.
>> Võtame kiirülevaate, siis on mõned ehitusplokkide saame kasutada
saavutada mõned need eesmärgid.
Nii et siin on, mida paneme edaspidi helistada oma avalduses.
Avaldus juhtub olema lilla Scratch, natuke midagi sellist,
kuid see on meelevaldne.
Avaldus on lihtsalt puzzle tükk või üldisemalt, juhendamine, et
ütleb arvuti, mida teha midagi, avalduses.
>> Nii et siin on lihtne proov.
Ütle tere.
Veel üks võib oodata üks teine.
Nii see puzzle tükk, mis toetavad Scratch, laseme oma
tähemärki paus mõnda mitu sekundit.
Ka see on lihtsalt avaldus.
>> Siin kõrval on meil veel rohkem huvitav, mängida heli Mjäu, ja
väike nool tähendab, et Scratch, see rippmenüüst.
Nii saate importida helid.
Teil on võimalik salvestada heli ja teha muid lõbusaid asju Scratch.
Ja see ka, kuigi lõpus päev, on lihtsalt avalduse.
Aga nüüd, et tutvustame veel huvitav tükk, et tuntud
Loogiline väljend.
Capital B nime mehe nimega Bool.
>> Ja Boole'i ​​avaldis on lihtsalt puzzle tükk või üldisemalt
osa teabest, mis on kas õige või vale -
üks või null, jah või ei.
Nii et see on lihtsalt üks nendest kaks vastandid.
Nii et üks selline Boole'i ​​avaldis maailma Scratch näeb välja selline sinine
puzzle tükk.
Ja ta küsib küsimuse, hiir alla ja mis võivad olla, ning
Muidugi on õige või vale.
Nii et see puzzle tükk Scratch, Noh, sa pead olema võimeline tuvastama, kas
puzzle kui hiir on tegelikult, olles Allapoole poolt inimeste suheldes
oma programmi.
>> See üks on natuke rohkem abstraktne, kuid need kaks valget karbid
on lihtsalt numbrid.
Nii saab teha asju nagu see on number väiksem kui teine?
Ja kui nii, Scratch käitub üks või teisel viisil.
See üks on natuke rohkem graafiline.
See on siis, kui sprite, kui kass jaoks Näiteks on tegelikult liigutav
hiirekursori.
Nii et kui väike nool peas viibib üle kass, siis see
puzzle tükk hindab tõeseks.
See on tõsi, sel juhul, kui te kasutada Boolean väljend, kui paneme
momentidel näed, et filiaal, saate kas seda teha või saab seda teha,
palju nagu meil oli tingimus, et kontrollida, kas on olemas veel üks viimane inimene
ruumis?
Kui jah, lisage esimene kommentaar.
Vastasel juhul ärge muretsege edasi.
>> Nii Boolean väljend võib olla ka ja-ed koos või või-ed koos.
Nii saab ühendada Loogiline väljendeid ja öelda, et see ja see peab olema tõsi
Kogu see asi, et olla tõsi.
Ja siin on veel reaalses maailmas näiteks.
Kui oled kasutanud CS50 Kursused teha muidugi shopping, need ruudud
seal, kus, kui te veenduge, et ruut kursustel, mis ütlevad jah,
näita ainult minu kursusi, mis Q väärtus on 4,5 või suurem.
Kui teil lülita see, ei, ei muretse.
Või sarnaselt, paremal ei Konflikt Kursused Ma viin,
mis on kas tõene või väär.
See on lihtsalt Boolean väljend.
Nii et kõik see aeg, kui oled kasutanud veebilehed ruudud, sa oled lihtsalt
lülitamine samaväärne Boolean väljendus-ja väljalülitamine.
>> Niisiis, millises vormis te kasutate neid?
Noh, Scratch, me näeme, et hetkel et on olemas tingimused, mis
näeb välja selline.
Ja see on omamoodi mõistlik, sest palju nagu pseudokoodi me liigestatud
omamoodi U-kujuline puzzle tükki, keskmine et midagi sees, et U on
kavatse täita või mitte, sõltuvalt kohta, kus see on.
Nii et kui Boole'i ​​avaldis, siis kõike, mis on sees saavad täidetud.
>> Vahepeal seal kui / teine ​​plokk.
Nii et kui sa tahad filiaali, mis läheb see nii või, et Scratch annab meile seda.
Ja see loogika, nüüd, kuigi see puzzle tükk on selgelt liiga väike
et kiilu midagi sees on, kriimustus puzzle tükki, nad on
lihtsalt läheb kasvama.
Kui lohistada üle midagi, see lihtsalt kasvab see sobiks
üritate teha.
>> Nii saame kaks neist asjust ja teha kolm viis teelahkmele nii
et te kas teha seda või teist, või see asi lihtsalt pesitseb neid
niimoodi.
Muidugi, kui sa seda liiga palju, siis hakkab koledaks.
Aga sel hetkel, sa oled tegelikult ilmselt ei programmeerimise väga hästi.
Ja nii see on korduv teema ka, et stiili.
Lihtsalt, kui hästi sa tegelikult vormi oma koodi?
Või kuidas sa kujundada oma koodi?
Aga rohkem sellest tulevikus.
>> Ja nüüd on meil ring.
Seal on kena igavesti loop Scratch mis tähendab sõna-sõnalt, et - teha
kõike, mis on sees see uuesti, ja uuesti ja uuesti.
Võite olla konkreetsem ja öelda, tehke järgmist asja 10 korda.
Võite kasutada ka muutujaid.
Võite tulla iga nime, et veidi langeda ja öelda, anna mulle
muutuja nimega n ja on see võrdne mingi väärtus.
Ja siis võib olla funktsioone.
Aga rohkem on neid vaid hetk.
>> Las ma lähen tagasi oma Scratch liides.
Ja lubage mul minna seekord.
Ja olgem minna ja avada, Ütleme, näiteks -
et see on natuke põnevamaks.
Lubage mul minna, ja tegelikult, Lubage mul teha seda ise.
Mul ei ole vaja avada see üks.
Lubage mul minna File, New.
Ma lähen minema Events.
Ma lähen minema, kui roheline lipp klõpsanud, ja ma lähen, et heli.
Ja ma lähen lohistada see puzzle tükk, mängida heli mjäu.
See sulgurid koos.
Ja nüüd, kui ma nuppu roheline lipp -
>> [MEOW SOUND]
>> DAVID Malan: Armas.
OK, nüüd teeme midagi natuke loogilisem lihtsalt näidata, et
me saame nüüd.
Ma lähen vabastage see sellest guy.
Ma lähen minema juhtida.
Ja ma lähen krabama seisukorras.
Nii et kui midagi siis.
Nii see on, kuidas see välja seal.
Nii et ma pean Boolean väljend.
Ja lubage mul minna ja öelda, lase mul minna Ettevõtjad.
Ma teen midagi kergelt mathy, lihtsalt peksab.
Ma lähen siin ja öelda, kui midagi on väiksem kui midagi muud,
minna ja midagi teha.
Nüüd sa tead, mida, juhuslik blokeerida.
Nii teate, kuidas, kui ma hover üle selle asi siin, et haarab seal.
>> Nüüd, teate, ma olen hakanud tegema midagi juba loogiliselt
huvitav.
Kui juhuslik arv vahemikus 1 kuni 10 on väiksem kui, ütleme, kuus.
Kui valin kuus, mis sisuliselt abil tehke järgmist 50%
tõenäosusega.
See on nagu flipping mündi.
Nüüd ma saan teha midagi tinglikult.
Ja see, mida ma teen teha, on mängida heli.
Nüüd, kui ma vajutan ekraanil lipp, see on nagu visklemine mündi.
>> [MEOW SOUND]
>> DAVID Malan: See oli pea või tühi-tähi seal.
Teeme seda uuesti.
>> [MEOW SOUND]
>> DAVID Malan: pea uuesti.
>> [MEOW SOUND]
>> DAVID Malan: pea uuesti.
Phew, OK.
Sabad sel ajal.
Seega 50% ajast, kui me seda teeme lõpmatult pikk, saame 50% Kompass
ja 50% vaigistab.
Nii et, lihtsalt põhi hoone plokk, mis võimaldab meil seda teha.
Aga see on selline tüütu, et mul on hoida klõpsates et nupp.
Teeme lihtsalt tõmmata ja visata kõik need ära.
Kui sa vedasid neid keskel nad lihtsalt kustutada ise.
>> Lubage mul minna kontrolli.
Lubage mul minna igaveseks.
Ja see kord, ma lähen tegema midagi minorly tüütu.
>> [Naer]
>> DAVID Malan: Ja lase mul minna käia ja teha kontroll.
Oota üks sekund, just nii see ei ole liiga võrega.
>> [MEOW SOUND]
>> DAVID Malan: See ei ole loomulik.
OK.
>> [MEOW SOUND]
>> DAVID Malan: Ja teate mis, nice umbes Scratch, neile, kes
on enne Planeerimise kogemus, siis ei ole vaja alustada ja lõpetada.
Sul ei ole vaja koostada.
Sa lihtsalt muuta ja programm kohaneb dünaamiliselt.
Nii et see muutub vähe huvitav.
Kuid olgem võtta see üks samm edasi.
Lubage mul minna ja saada lahti sellest programmist.
>> [MEOW SOUND]
>> DAVID Malan: Seda me tulen helistada viga Scratch.
Ta ei tohiks hoida muutes selle heli.
Nii et me saame öelda, et ta peatus.
Olgu, nüüd olen lähe -
Ma lasen MIT tea.
Me läheme üle siin igavesti.
Ja nüüd, ma tahan teha midagi uuesti ja uuesti.
Ma lähen minema kontrolli.
>> Ja vaatame, ma lähen lohistada minu kui tingimus on.
Nüüd teate loogika.
Kui roheline lipp on klõpsatud, teha midagi igavesti, vaid ainult seda, et
midagi, kui see asi on tõsi.
Ma lähen minema, lähme öelda, kaugseire.
Ja ma lähen edasi minna ja valida liigutav ja tilk seal.
See on Boole'i ​​avaldis.
>> Ja nüüd teate, et see langus rippmenüü, on
mõned eelhäälestatud väärtusi.
Nii et ma ei saa öelda, kas sa liigutav ekraani serva?
Või on teil puudutades hiirekursori, nool ekraanil?
Ma lähen seda tegema.
Ja kui nii, siis ma lähen käia ja mängida heli mjäu.
Nüüd ma selline on alustab mängu -
jumalik mäng.
>> [MEOW SOUND]
>> DAVID Malan: OK, jumalik, lollakas mäng.
Lubage mul oodata, oletame, üks teine ​​seal.
Nüüd uuesti mängida, klõpsates roheline lipp.
>> [MEOW SOUND]
>> DAVID Malan: Nüüd on see nagu hellitus kass.
>> [MEOW SOUND]
>> DAVID Malan: Olgu, nüüd see ma ei tee ette.
Väga hilja, see läheb omamoodi lihtne teha lollusi.
Nii et lubage mul minna siin.
Oletame, et oli Lemmikloomad Cat.
Olgem nüüd avatud Ärge Lemmikloomad Cat.
Nüüd, kui me mängime selle ühe, võite arvata, kui sa oled
vaadates ekraan -
>> [MEOW SOUND]
>> DAVID Malan: Nüüd, kui ma lemmikloom kass
>> [LION möirgama]
>> DAVID Malan: Nii tegelikult ei lemmikloom kass sel juhul.
Nüüd me lihtsalt näide filiaal, mis toimub kahes suunas.
Nüüd lubage mul minna ja avada teine ​​siin.
See üks, ka seas meie allikas kood faile päev.
Nii et lubage mul minna tagasi minu Source kataloog ja minna, lähme valima
see kutt siin ja vaata millised on erinevad.
>> Wow, kõik õige, nii et nüüd see muutub veidi keerulisem.
Ja enne kui me näeme, mida see mees teeb, proovime järeldada, alates programmi
õigel pool.
Ja nüüd nullist selgelt võimaldab meil on mitu skriptid, mitu
programmidega seotud ühe sprite, üks märk, ja ilmselt
Nad on nii läheb sõidetud lockstep.
Kuna mõlemad programmid hakkab koos kui roheline lipp klikid, on see
vihjab rohkem arenenud teema, mille mida mõned teist võivad olla tuttav,
tuntud ja väliskeermestamiseks, või multi-ja väliskeermestamiseks.
>> Selgub, pikk lugu lühike, arvutid täna võib sisuliselt teha mitu
asja korraga.
Või nad saavad teha üks asi korraga nii kiiresti, et sa ei märka, et
see on tegelikult teeme ühe asi korraga.
Aga nüüd, oletame, et mõlemad need programmid hakkavad Teostame
samal ajal.
Ja teate, nad mõlemad on igavesti puzzle tükki.
Nii nad mõlemad lähevad edasi joosta kuni ma tabanud punane stop märk.
>> Niisiis, mida nad kavatsevad teha?
Vasakul pool, ma olen ilmselt kuulutatakse muutuja nimega summutatud.
Nii et ma ei helistanud ta midagi igav nagu N. Ma helistasin ta summutatud see
aeg edasi tähenduses.
Seadsin see võrdne nulliga.
Mõtleme, et kui vale, või Mõtleme, et kui vale.
>> Nüüd igavesti teha järgmist.
Kui klaviatuuri tühikuklahvi vajutamisel siis, kui summutatud võrdub nulliga,
siis muuda summutatud võrdsele üks.
Else, määrata summutatud nulli.
Seega loogiliselt, kuigi see on kogu hunnik puzzle tükki, mis on
lihtsalt öeldes, kui ma vajuta tühikut, Mida ma peaksin tegema, et muutuja
nimetatakse summutatud?
Muuda see ühest nullini, või nullist üheni.
See on kõik.
Nii et see on nagu keerates lüliti sisse või välja lülitada ja meenutada, mis
muutuja, mis ma olen teinud.
>> Vahepeal on paremal pool, on üldarusaadavat mõttes, mis on eesmärk
skripti õige?
>> Üliõpilane: Mängida merilõvi heli.
>> DAVID Malan: mängimiseks Sea Lion heli kui ta ei ole vaigistatud, mida
iseloomu, et muutuja.
Nii et me jagamine riigi, nii et rääkida, teabe jagamise üle kahe
skripte, sest teate siin oleme igavesti tehes järgmist.
Kui summutatud on null, nii et kui see ei ole vaigistatud - kui vaigistatud, on vale, siis mängima
Selle Sea Lion heli.
Ja arvan, et ise, hi, hi, hi, jaoks kaks sekundit, oodake hetk ja siis
vaadata uuesti.
Nii et kui me läheme nüüd siia vasakule et kui see mees on, ja vajuta
roheline lipp,
>> [Merilõvi SOUND]
>> DAVID Malan: Mis hetkest ei see tõesti tüütu?
Sest see on lihtsalt kesta igavesti.
Nii et mõnikord, lõputu ring, niiöelda on tahtlik.
Aga sel juhul, kui olen vajuta tühikut, ta peatub.
Nüüd programm ei lõpeta.
See on ikka töötab neid silmuseid.
Aga kui ma saan uuesti tühikuklahvi -
>> [Merilõvi SOUND]
>> DAVID Malan: Ta läheb valima up, kui ta lõpetas.
Seega on üks viis, et teeme midagi ikka ja jälle, kuid et
ajal vaid tinglikult.
Noh, kui me oleme sellel teemal, tehes asjad ikka ja jälle, lubage mul
minna teise selline näide siin.
See üks me kutsume uinub.
>> Ja teate, mida see mees teeb.
See on tegelikult natuke rohkem nagu pseudokoodi me mängitakse edasi
Kolmapäev, mille ta esitab mõned counter, arvan, et see on näiteks N jällegi, et
null, ta igavesti teeb järgmist.
Ta ütleb, et loenduri väärtus ühele teine, ootab teine, ja siis
muudab counter ühe võrra.
Ja selles kontekstis, et lihtsalt tähendab sammuga ta.
Ja ta lisab üks ta.
Nii et see on sõna otseses mõttes -
see ei ole päris see, mida me arvame AS uinub.
See lammas teeb lugemist igavesti, kuni nullist.
>> Nii et me saame teha sarnaseid asju seal loogiliselt.
Aga nüüd proovime puhastada mõned neist asju.
Lubage mul minna nüüd arvesse lihtne Näiteks, kui meie kass on lihtsalt läheb
köhima.
Olgu, siin on meil köha 0 -
arvuti teadlased alustada lugedes 0.
Nii et see kass on lihtsalt läheb köha kolm korda.
Ja siin on, kuidas ma ellu, et.
Kui roheline lipp on klõpsatud, köha, oota, köha, oodake, köha, oota.
Ja ma tegin seda lihtsalt lohistades ja kukutades puzzle tükki.
Või kui te hakkate käpard Scratch, näete te võib tegelikult
eksemplaris tükki, nii et saate teha asjad kiiremini ilma lohistades
ja kukutades ad nauseum.
>> Aga me ei ole parim tee siia.
Sest kuidas ma saan teda köha neljandat korda?
Noh, ma võiks omamoodi minna siin.
Ma võiks dubleerida ja seejärel kleebi see sinna.
Kuidas ma teda köhima viiendat korda?
Noh, kopeeri ja kleebi uuesti.
Või lohista tilk uuesti.
Ja väga kiiresti, see programm hakkab saada tõesti ülearune,
tõesti pikk, kuid tõesti ebahuvitav.
Aga seal on viis puhastada see üles.
Mis on ilmne viis puhastada see üles?
>> OK, nii et me võiksime tegelikult tõesti minna , ning kui vajutad ruumi
baar, teda köhima.
Aga kui ma tahan teha midagi korduvalt, meelde tuletada, et meil on
teatud kontroll konstrueerib.
Lubage mul liigutada välja Muide, mine kontrolli all.
Lubage mul teha korda, öelda, kolm korda.
Ja nüüd lubage mul varastada Nende puzzle tükki.
Las ma snap see siin.
Lubage mul viska need ära täielikult.
>> Ja nüüd on mul parem loodud programm.
Miks?
Kui ma tahan muuta, mitu korda selle kassi köha, kõik, mis mul
teha, on muuta üks muutuja, või üks väärtus pigem kolme, nelja või
viis või kuus.
Või mida ma võiks teha midagi tinglikult, isegi, kus ruumi
baari kui tahtsin.
>> Nii et see on üldine põhimõte.
Kui hakkate kopeerige kood, kas see on Scratch või
C, et sa teed midagi vale, kõige tõenäolisem.
Või vähemalt, kui olete ületanud teatud mõistliku arvu eksemplare ja
pastad, oled ilmselt teen midagi valesti.
>> Aga tead mis?
Ma tõesti ei meeldi see.
See ei ole kõige puhtam disain.
Ma soovin, et olid puzzle tükk nimega köha, sest siis ma ei
peavad rakendama seda ise, vanaaegseid viisil,
kes ütlevad, ja oodata -
Mis siis, kui nad olid lihtsalt köha puzzle tükk.
>> Noh, ma ei saa tegelikult teha.
Lubage mul minna all rohkem plokid, klõpsake Tee Block, ja nüüd ma saan seda
aken siin.
Ma nimetan seda asja köha.
Ma lähen edasi minna ja klõpsake nuppu OK.
Ja nüüd teate, ma saan uue algus tükk, mis on kaardus peal.
Ja see, mida ma lähen tegema seda, ma olen läheb lihtsalt varastada neid plokke.
Ma panen need siia.
>> Ja nüüd, need kolm tükki, ma olen rakendatud mida ma lähen helistada
funktsiooni või protseduuri, või mõnede sa võiksid teada, et see on meetod.
Kerge erinevusi sõnu.
Aga nüüd, lähme lihtsalt nimetame seda funktsiooni.
See on lihtsalt uus puzzle tükk.
Nüüd on see ellu niimoodi.
>> Aga teate, et Scratch on andnud meile füüsilist esitamist, et kogu
blokeerida siia.
Nüüd, ma ei saa lihtsalt lohistada see siin, öelda, korrata kolm korda ning
Mis juhtub nüüd, kui ma mängin See skript on ainult üks programm
töötab korraga.
Seal on ainult üks, kui roheline lipp klõpsatud.
Aga see lilla plokk nimega köha tõhusalt ütlen Scratch, iga
kord, kui sa näed, et puzzle tükk, tegelikult täitma neid samme, et ma
juhtuda, et rakendada käsitsi.
>> Nii et selline puhas.
Aga nüüd, oletame, et ma otsustasin, ma ei tahan, et see kass lihtsalt köha.
Ma tahan, et ta saaks aevastama samuti.
Noh, kuidas me saaksime minna rakendamisel aevastama?
Noh sain päris palju teha sama asja.
Ma võiks teha teine ​​blokeerida.
Ma võiksin nimetada seda aevastama, klõpsake nuppu OK.
>> Siis siin ma võiks tegelikult on, lubage mul korrata seda -
ja seal, kus sa ei tohiks tunda, nagu sa oled ilmselt ei tee midagi
parim viis.
Ma võiks öelda midagi sellist, atsiuh, üks sekund.
Oota üks sekund.
Nüüd on mul uus plokk nimega aevastama.
Ja tõepoolest, siin see on.
>> Aga ka see peaks enesetunne - võibolla mitte esimesel nädalal klassi, kuid
teine ​​- just veidi üleliigne.
On selge, et seal on mõned koondamise siin.
Nii et lubage mul pakkuda, selle asemel, et me täpsustada selle mõiste järgmiselt.
>> Lubage mul minna oma menüüs Fail.
Ma ei päästa see versioon.
Ma lähen ühte minu premade failid siin.
Ja ma lähen edasi minna ja avada köha 2.
Oih, mis oli köha 2.
Lubage mul minna ja avada köha 3, mis on see allikas kataloog.
Köha 3 ja teate - oh, ma ütlesin lugu vales järjekorras.
Lubage mul taastuda seda lugu.
>> Lugu ma mõtlesin öelda lõpeb köha 4 -
siin see on.
Mis siis, kui ma selle asemel määrata suurem puzzle tükk nimega
määratleda, ütleme sõna n korda.
Aevastamine on lihtsalt ilmselt Scratch, atsiuh.
Nii me väljendame seda sõna, lihtsalt sellepärast, et see on
piirang programmi.
Ja köha on [köha], kuid köha, C-O-U-G-H. Nii et ainult kaks
erinevad sõnad teevad sisuliselt sama asi.
>> Seega ma ei saa tegelikult teha uus plokk niimoodi.
Ma ei kasuta seda menüüvaliku ees.
Aga kui klõpsate Tee Block, saate valida mõned võimalused.
Ja sa ei saa öelda, et see plokk tegelikult võtab mõned sisendid, vastasel
tuntud argumentidega, või parameetreid, nii et saate muuta käitumist
oma blokeerida.
>> Nii et mida ma tegin hetk tagasi oli Ma helistasin selle ploki öelda.
Ja siis ma ütlesin, see võtab string sisend.
Ja nüüd teate, vaikimisi ta ütleb string 1.
String on lihtsalt sõna, või fraas, meie eesmärkidel.
Aga ma lihtsalt panna mõned kohatäitja teksti seal, just nagu
veebilehel, kui te näete kasutajanimi või parool ning seejärel see kaob, kui
hakkad.
See on kõik, mis on.
>> Ja nüüd ma lähen Numbri sisestamise.
Ja ma lähen kutsun seda n - aga see on päris meelevaldne.
Ja siis lihtsalt silt, vaid teha Selle ploki veidi rohkem ise
selgitav -
korda, see on, mida ma just tegin.
Ja lõpptulemus on see, et ma saan plokk, mis näeb välja selline.
>> Ja nüüd teate, ma kasutan korrata blokeerida.
Kuid selle asemel, kõva kodeerimine kolm, ma olen pukseerige n seal nii et ma
võib parametrize funktsioon.
Ma ei tee seda ülesannet teha midagi erinevad mitu korda põhineb
et raha.
>> Ja teate, ütleme, et see on see, mida ma tegin, siin, kui ma lohista sõna, ma ei saa öelda ei
kõva kodeeritud sõna, aga mis iganes on vastu võetud ühe sekundi jooksul.
Vahepeal, kui ma uuesti rakendada köha?
I asemel määratleda köha öeldes köha n korda.
>> Nii lühike, ma lähen läbi selle kiiresti, kuid põhiidee on kohe
kui hakkate nägema oma programmi et, oodake minut, ma olen teinud
midagi väga meeldib see enne, ma tegurdada mõned ühised
funktsionaalsus?
Kas ma lagunevad, mida ma teen mõningaid põhilisi ideid?
See, mida me siin teeme.
Ja ma olen kuhjata neid asju visuaalselt, peal üksteist
, sest see on märk sellest, et idee alustades binaarne, läheb ASCII,
tegemist graafiliste programmide omamoodi kihilisus üha keerulisemaks ideid
üksteise peale.
>> Sama mõte siin.
Hakkasin nullist, rakendatakse köha, siis mõistsin, köha on
tõesti lihtsalt öeldes midagi.
Nii et lubage mul selle asemel rakendada mõiste öelda midagi.
Ja peale selle, ma saan rakendada atsiuh või köha?
Ja me võiksime teha rohkem selliseid variante veel.
>> Nii et see põhimõte, saame hakata tegema
üha keerulisemaks programmid.
Lubage mul avada see üks.
Me saame tegelikult on mitu sprites suheldes ekraanil korraga.
Kui ma minema mu allikas kataloog ja rüütama üks nn teemad, meelde tuletada, et
niit on lihtsalt tõesti võime Kahe skripte külg
pool samal ajal.
>> Teade nüüd on nii linnu sprite ja kass sprite, mis mõlemad on
oma skripte.
Nii teate, kui ma vajutan kass, saan need skriptid.
Kui ma vajutan lind, Ma saan neid skripte.
Seega kõik need kutid on oma programmides.
Kui ma nüüd nuppu roheline lipp, teate et mida see programm teeb, on
on kass, väga aeglaselt, jälitama lindu.
Aga kass on ära võttes on programmeeritud nii,
et ükskõik kui lind on, et kass läheb tema poole.
>> Meil saab mängida seda mängu palju kiiremini.
Nii et kui ma olen kass, teate, et ma olen kasutades, ütleme, et liikuda ühe sammu.
Lähme teda liikuma viis sammu juures aega, nii et viis punkti korraga.
Lubage mul vajuta play.
>> [LION möirgama]
>> DAVID Malan: Olgu, nüüd me saame tõesti anda kass ära.
10 sammu korraga.
>> [LION möirgama]
>> DAVID Malan: Olgu, väga kiiresti, see muutub vähe kasu
jaoks kass.
Aga ma laine mu kätt mõned üksikasjad.
Aga seetõttu, et see tee on alustades veidi erinev iga kord
on see, et ma teen natuke juhuslikkust.
Ma tegelikult juhtides kass teise suunda vastavalt sellele, kus ma
tahan, et ta hakkab nii, et iga kord, mängu või animatsiooni, on
natuke erinev.
>> Nüüd lubage mul tutvustada üht muu ehitada siin.
Nii et sel juhul oli meil funktsioone.
Seal on ka saab olema puzzle tükk tuntud massiiv, või nimekiri,
, mis võimaldab teil salvestada mitu väärtused sees muutuja.
Nägime niidid ja nüüd seal Events.
>> Nii et siin on sündmust need kaks siin.
Ja kui ma avada faili nimega Sündmused tänapäeva näiteid, siis me
vaata programmi, mis näeb natuke niimoodi.
Ja nüüd teate seda meest -
nii teate mul on sinine Muppet klõpsatud -
ta ainult teeb järgmist.
Ta ei ole üks neist, roheline lipp puzzle tükki.
Ta on kui ma saan sündmus -
nii suvalise sõna.
Ma lihtsalt kirjutati välja ürituse seal -
ta läheb öelda, Polo, kaks sekundit.
>> Nii neile, kes tunnevad selles mängus võite teada
kuhu see läheb.
Kui ma nüüd kliki oranž Muppet, tema programm teeb seda.
Forever, kui klaviatuuri tühikut rõhutud, ta läheb öelda, Marco,
kaks sekundit ekraanil.
Aga ta on ka kavatse kasutada seda Kasvataja blokeerida tuntud eetrisse.
Ta läheb eetrisse quote lõppeb, "sündmus."
>> Vahepeal sinine poiss, mäletate, on kuulates quote Tsitaat lõppeb "sündmus."
Nii kuidagi, nüüd, et meil on kaks sprites suheldes.
Ja kui me saame veebi programmeerimine, hilisemas perspektiivis sarnaselt kas see
olla kasulik oma kodulehel midagi vastuseks, sest
Näiteks klõps klaviatuuril.
>> Nii et lubage mul minna ja vajuta tühikut.
Orange poiss ütleb Marco.
Sinine poiss ütleb Polo.
Kui ma seda uuesti teha oranž kutt ütleb Marco, sinine poiss ütleb polo.
Võtame selle ühe sammu edasi.
Seekord läheme, arvatavasti vaid paar minutit veel siin.
Kas meil on -
laualamp, tule alla.
Sul on õigus end.
OK, saab nii tulla.
Meil on laualambid kõigile.
Tule.
Ma ei tea, kas suudame hoida see naeruväärne gag üles
kõik semester, kuigi.
Olgu, tule alla.
>> Ja vahepeal on meil Järgnevad näited tõmba, lihtsalt
kiirendada asjad nüüd nii, et me on ilming teisest
eelkäija sinu abil sama ehituskive.
Mis su nimi on?
>> JOHN: John.
>> DAVID Malan: John.
Tore, et sa.
Ja?
>> SETZ: Setz.
>> DAVID Malan: Setz, tore, et sa.
John, kas sa tahaksid tulla üles esimene, see on vana
kooli mäng nimega Frogger.
Klaviatuuri kasutatakse seda samuti.
Ja eesmärk on saada üle tänaval ja vesi.
>> [Frogger muusika ja heli PLAYS]
>> DAVID Malan: Mul on kahju, ei laualamp teile täna.
Olgu, Setz, eks meeldib tulge siia?
Olgu, teeme seda uuesti.
>> SETZ: Kas ma saan kasutada nooled?
>> DAVID Malan: Just nooleklahve.
Üles, alla, vasakule, paremale.
>> [Frogger muusika ja heli PLAYS]
>> DAVID Malan: Me helistame neile lohutusauhinna täna
siis, väga hästi tehtud.
Siin teile mõlemale, John ja Setz.
Palju õnne, eks.
Nii et taas, nagu seda mängu mängib, mõelda, mis toimub?
>> Üks, seal on selgelt palju liikuma.
Aga me oleme näinud, kuidas koos kassiga ja lind näiteks, kuidas saate teha
illusiooni liikumisest, vaid liiguvad mõned pikslite arvu ja jälle.
Ja kui sul on igavesti blokaad, sa oleks võinud need
autod tehes selle igavesti.
Meil on võime mõned juhuslikkust.
Nii, et see mäng ei pea olema täpselt sama iga kord.
Need logid, need autod ei alustada veidi erinevatel aegadel, nii et
Mäng ise on huvitavam iga mängu.
>> Ja vahepeal oleme näinud võime kuulata tühikut.
Aga selgelt, Scratch, kas sa ka kuulake üles, alla, vasakule, paremale, ja
tõesti iga klahvi klaviatuuril.
Ja te võite teha ka mõned muud asjad.
Lubage mul minna ja minna tagasi veebi versiooni.
>> Lubage mul minna meie kogumine näited siin.
Ja alla My Studio, video, mis on sisuliselt kausta
scratch.mit.edu.
Meil on veebis versioonid kõiki neid projekte.
Ja vaatame, kas ma saan oma arvuti tegema siin.
See on kirjutatud ühe meie sõbrad MIT nimega Liiguta Butterfly.
>> Ja kui see avab, see on läheb tegelikult kasutada rohkem
minu arvuti riistvara.
Scratch juhtub rakendatakse Flash.
Flash saab rääkida oma veebikaamera, kui teil on üks.
Nii et kui ma edasi minna ja täisekraanil see siin Klõpsake roheline lipp, teade
et Flash julgeoleku sõnum ütleb, kas sa tahad
lubada kasutada minu veebikaamera?
>> Tavaliselt peaksite ilmselt öelda Keeldu.
Aga sel juhul, ütleme lubada.
Siis ma ütlen Chrome lubada seda samuti.
Ja nüüd, just praegu, sa näed mind, jah, mulle.
Ja kui mu käsi läheb üles -
Ma pean ei liigu minu pea samal ajal.
Seal on ka peegeldus ekraanil.
Tule, seal me läheme -
saab liigutada ekraanil sest seal on ka puzzle tükki - oh, sa
tea, mis see on, see on sellepärast, et sa ka vaata projektori ekraani taga mind.
Nii et meil on vähe lõpmatu asi seal toimub.
>> Olgu, ma halvusta siin.
Vot nii.
Nii et seal on ka puzzle tükk, mis ütleb, kui sa näed, liikumise all
üks sprites, sul võib olla see minema üles, alla, vasakule, paremale või meeldib.
Nii et meil on natuke virtuaalne reaalsus toimub ka siin, kõik sees
piiridest minu brauser, lihtsalt siin kasutades oma veebikaamera.
Nii et mis siis silmapiiril.
Esimene probleem set, nagu näete, või veebisaidi minna online hiljem
täna kell cs50.net, on üsna palju saab olema tähtajatud.
Ja rakendada Scratch projekti teile huvi pakkuda, mäng,
interaktsiooni midagi kunsti ja väljakutse ise kasutada mis tahes arvu
Nende puzzle tükki.
Ja see võib olla kas interaktiivne sel viisil.
Või see võib olla midagi veel tahtlikult tehtud jutustada.
>> Ja tõepoolest, see on koht, kus me end ära täna, üks viimane näide.
Lubage mul minna Scratch kohapeal.
Lubage mul minna ja avada see ja mängida viimane programm kirjutada üks
oma eelkäijatest, nimelt et üks siin.
Hea, tõsta maht selle ühe.
>> [Muusika mängib]
>> Jutustaja: Järgmisel CS50, David kutsub vabatahtlikke lavale.
>> DAVID Malan: Demonstratsiooni meil läheb vaja üks vabatahtlik.
Tahate tule maha?
Mis su nimi on?
Liikudes edasi.