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