[Powered by Google Translate] [ROCK MUSIC]
[MUSIC - "Happy Together" korytnačky]
DAVID Malan: Dnes, začneme náš prieskum
základy počítačovej vedy a našej zavedenie,
Teraz, na umenie programovanie, z ktorých je to
len jeden príklad.
Ale v rovnakom duchu riešenie problému, viem, že
CS50 tradičné Puzzle deň je zajtra.
Ak ste doteraz RSVPed pre túto akciu, môžete prejsť na
cs50.net/rsvp.
Môžete si priniesť tímy dvoch alebo tri alebo štyri.
Tie budú mať za úlohu s problémami, ako je ten, ktorý videl
tam na začiatku.
Všetky nové problémy v tomto roku, ak ste si vzala vlani, a vy
bude mať šancu potom vyhrať nejaké rozprávkové ceny.
Medzi nimi, Wii a niektoré darčekové poukážky a podobné výrobky,
to všetko pri visí von s CS50 študentov a spolužiakov
a pizza a Facebook.
Takže o tom až zajtra, ak by ste chceli.
>> To je teda CS50, pre tých z vás, k nám na
prvýkrát.
A viem, že tento kurz je zvlášť určená dostať
si prostredníctvom tohto predmetu k jeho konečnému, na ktorom mieste ťa
budú mať nielen pochopenie týchto
základy počítačovej vedy, ale budete mať
Tento veľmi praktické zručnosti súbor, ktorý potom môžete vziať späť do
vlastné oddelenie, či už je to technické vedy,
aplikovaná matematika, fyzikálne vedy, prírodné
vedy, alebo podobne.
Naozaj, čo je tak vzrušujúce o počítačovej vede týchto
dni je to, že je tak použiteľná pre
všetky druhy polí.
A aj keď dnes, budeme len poškrabať povrch
veľmi tradičné programovací jazyk známy ako C, zídeme sa
miesto sa pozrieť na niečo, čo nazýva Scratch, niečo s
ktoré táto cookie love story bol vykonaný jeden z vašich
predchodcovia v minulých rokoch, rozprávať príbehy, vytvárať hry,
vytvoriť interaktívne umenie, a skutočne začať baliť OUR
myseľ okolo niektoré zo základných pojmov, ktoré
základom programovania, ale v kontexte, ako uvidíte, že je to
oveľa menej desivé, že je oveľa menej tajomný, ako uvidíte
onedlho.
A uvedomiť si, taky, pre tých z vás, len sa k nám tento
semester, vety, na ktorých sme skončili stredajšie prednášku,
to nie je tak dôležité, kde ste skončili vo vzťahu k vášmu
spolužiaci v tejto triede, ale ak vy, od semester konca
v týždni 11, skončiť vo vzťahu k sebe priamo v tento deň.
>> Takže bez ďalších okolkov, je to tiež stojí za zmienku, že
tie menej pohodlné, sú niekde medzi, sú
aj tým, že návrh tohto kurzu, nie je na ujmu
naproti sebe tie pohodlnejšie
prichádza do tejto triedy.
Ako uvidíte v priebehu najbližších týždňoch, máme rôzne
dráhy pre rôznorodé zadnej pozadí, profily pre tých,
menej pohodlné, oveľa pohodlnejšie, ty niekde
medzi.
Ako uvidíte tento víkend a na budúci týždeň v dvoch variantoch
väčšina problémových sady v oboch štandardným a hacker vydania tak
že všetci môžu self-vybrať na ceste, s ktorou
sú najviac pohodlné.
>> Takže dnes sme sa ponoriť do tohto programovania
jazyk volal Scratch.
Je to grafický programovací jazyk, a napriek tomu má
Rovnaké vlastnosti niektorých jazykoch vyššej úrovne budeme
preskúmať neskôr v semestri, medzi nimi C a
JavaScript a PHP.
Ale bude to, ktoré nám umožní vyhnúť sa niektorým z rozptyľovanie
skoro na syntaxe, veci ako bodkočiarky, zátvorky,
a ďalšie tajomné detaily, ktoré na prvý pohľad, jednoducho nie sú
vôbec intelektuálne zaujímavé a majú tendenciu byť vo
cesta z nejakého základného porozumenia.
Pokiaľ ide o teraz nosnej konštrukcie pred sebou, si uvedomil,
nástroj, CS50 Diskusia, ktorý bude prepojený na kurz je
webové stránky ešte dnes, je on-line diskusné fórum v
ktoré budete môcť klásť otázky navzájom a
zamestnancov, a je to tiež nástroj, ako uvidíme budúci týždeň,
že budeme používať pomerne integratedly v
úradné hodiny tiež.
Naozaj, úradné hodiny začína v pondelok, a úprimne povedané, prvá
týždeň úradných hodín je pomerne nízka kľúč.
>> Ja si nemyslím, že zistíte Scratch všetko neprístupná.
Je to skôr intuitívne, ako uvidíme, a tak čo
budeme používať pre dnes je aby časť
základné myšlienky, že bude, potom pretrvávajú po celú dobu
Zvyšok semestra.
Ale od pondelka v 20:00 prostredníctvom 23:00 bude
úradné hodiny v Annenberg cez mozgu prestávke.
Krájanie dva budú začínať dnes večer, takže niekedy to
víkend, prejdite na cs50.net/section, a budete
sa položil niekoľko otázok.
Medzi nimi, ako by ste popísať vaše
úroveň pohodlia ako dnes?
Nie je ťažké, rýchle pravidlo, kto je v ktorej vedro.
Je to len jedna z tých vecí, ktoré už asi viete, ak ste
patrí k tým menej pohodlný alebo inak.
>> A teraz, návody.
Problém set špecifikácie pre tento týždeň, a to ako štandardné
a hacker vydania podobne, je on-line na cs50.net už teraz.
A uvidíte, že prvý z týchto vydaniach,
Standard Edition každý týždeň, je sprevádzaný niečím, čo
volať kód návod, zasadnutie viedol o jedného z
Samozrejme je výučba chlapi, aby vás, poskytujú
tipy na, a vám sa ustanovujú osobitné cestu, pokiaľ ide
začatím týchto problematických sady.
Takže s každou z týchto problémov zapadne, ak ste niekedy chcel
pre seba, kde mám začať, začnete s nimi
návody.
A v skutočnosti, dovoľte mi predstaviť Zamyla Chan, tento
Tohtoročné učenie chlapík, ktorý bude prebiehať každý
jeden z týchto návody.
Zamyla?
>> [APPLAUSE]
ZAMYLA CHAN: Oh, ahoj, všetci.
Moje meno je Zamyla.
Som junior študuje inžinierstvo v Winthrop dome.
Ale snažím a hodí sa do čo najviac predmetov počítačovej vedy ako ja
môžu, čo je dôvod, prečo som naozaj nadšený, že sa vedie tento
Tohtoročné návody.
Priechody, pre mňa, bolo podstatnou súčasťou môjho CS50
skúsenosti.
Počas návodu, pre každú p-set, pôjdeme cez
problém zostaviť, pozri sa na problémy, druh
rozdeliť ich do zvládnuteľných uhryznutie.
Dám vám tipy, techniky, pre získanie
prostredníctvom a ako začať.
Dúfam, že sa vám všetkým na návody.
Ak nemôžete robiť to osobne, a potom
prosím naladiť on-line.
>> DAVID Malan: Výborný.
Ďakujem, Zamyla.
Takže si uvedomiť, že návody sú skutočne, v piatok
popoludní, ale je to zámerne design tak, že
aj keď by som radšej navštevovať triedy v piatok
popoludní budú videá byť až všetky rýchlejšie ako
víkend.
Takže si uvedomiť, že cs50.net bude všetko Zamyla je
návody.
A že je dnešný dátum a čas, 15:00,
Harberd Hall, 104.
A niektoré z výučbových chlapíkov boli tiež pripravené
niektoré poznámky, pre vás v neprítomnosti, aby vám trochu
perspektíva ako k čomu ich skúsenosti prichádza do a
ísť von CS50 bol rád.
Takže ak by sme mohli stlmiť svetlá pre malú chvíľu, dám vám
niektoré zamestnancov CS50 je.
>> JACKSON STEINKAMP: Vzal som CS50 vlani ako nováčik v
pádu, a to úplne mi vyrazil dych.
Nikdy som brať žiadne programátorské triedy skôr,
a nikdy prišiel s akoukoľvek informatiky
skúsenosti vôbec.
A práve, ja som počul hlášky o triede a
rozhodol sa vziať ju.
>> JULIA MITELMAN: Bolo to naozaj zábavné, naozaj pútavé.
Aj napriek tomu, k tomuto dňu -
Nedávno som videl, že som tu disketu David nám dal
na našom prvom dňom prednášky.
Som zavesil na stenu.
To je asi trochu hlúpy, ale ja som sa držal na mojom
stena v triede ako pripomienka toho, ako v pohode to bolo.
>> TRAVIS Downs: Je to tak trápne.
>> JACKSON STEINKAMP: Počítačová veda je niečo, čo
by sa mali snažiť, aj keď nie ste jeden pre
tradičnej vedy.
Je to jeho vlastné skúsenosti, a CS50 sa uistite, že ste
podporovaná aj cez to s jeho skutočným armádou TFS.
>> ALI nahmatá: Vzal som to ako nováčik, a tak som urobil veľa
nových priateľov.
Tiež som dostal predstavený celý tento koncentráciu a
Celá škola inžinierstva, a tak vrelo odporúčam
a vítam vás na našej CS50 rodine.
>> Yaniv YACOBY: CS50 len vás naučí, ako používať nástroje
ktoré sú široko dostupné.
Potrebujete k tomu len notebook, budete potrebovať webový prehliadač, a vy
Potrebujeme sa naučiť písať nejaký kód, a môžete naozaj stavať
elegantné veci.
>> KAREN Xiao: Je to proste tak cool byť schopný robiť niečo
a ľudia používať a mať ľudia to vidia, a to
to, čo som naozaj rád o tom.
>> TIM McLaughlin: - zmysel pre komunitu, myslím, v tomto
Kurz viac než ktorýkoľvek iný Samozrejme, že som si vzal tak ďaleko.
Nie ste len s inou -
nie ste plnenia ďalšiu požiadavku.
Nie ste len tak na prednášky a ísť do sekcie.
Ale robíte veľa vecí, ktoré sú všetky informácie o
programovanie a všetko o technológii, ale to nie je
naozaj pocit triedy väčšinu času.
>> Travis Downs: A na prvý deň, že rozdávali tortu, a
Bol som okamžite predal.
>> JACOB Pritt: Free koláčiky a pizza.
>> ZAMYLA CHAN: - bez ohľadu na vaše záujmom, myslím, že
že CS50, budete sa baviť, a budete mať intelektuálne
stimulovaný.
>> MARK GROZEN-SMITH: Je to vždy osoba v triede, a to
strana každú noc pracovali na p-set.
>> JACKSON STEINKAMP: Zakaždým, keď dokončíte problému sadu, môžete
bude pocit, že ste dokončil projekt.
>> MELISSA Niu: Bol to prvý rok, a ja som bol urobil nakupovanie.
Mala som štyri triedy pripravený, a ja som bol v Annenberg.
A ja naraziť na priateľa, a on hovorí, hej, ja som nakupovať
táto trieda nazýva CS50, a mali by ste ísť so mnou.
Skončil pričom to ten pád, a po tejto triedy, som
Myslel budem moll v SK.
Ale tu som, o tri roky neskôr, stále študuje počítač
veda a vlastne robí to ako major, a miloval som každú
moment to.
>> ROB Bowden: Nemám tušenie.
>> ALI nahmatá: Poďme sa pozrieť,.
>> MELISSA Niu: Craziness.
>> SPEAKER 1: Mám pocit, že by som bol veľmi klišé.
Ja by som len povedať, ako, úžasné.
>> Yaniv YACOBY: Dostupnosť.
>> JACOB Pritt: Free koláčiky a pizza.
>> TRAVIS Downs: Nemožno zapnúť stanovuje triedu, ktorá rozdáva tortu.
>> TIM McLaughlin: Energetic.
>> Vipul Shekhawat: Essential.
>> ROB Bowden: Nechaj ma premýšľať o odpoveď.
Myslím, že niečo mám.
Oh, bože.
Jo, volám sa Rob Bowden, a to je CS50.
>> [APPLAUSE]
DAVID Malan: Dobre, takže poďme začať maľovať obraz
smeru, v ktorom môžeme ísť, a poďme predstaviť
tento pojem tu známy ako pseudokódu.
Takže pseudokód nie je programovací
Jazyk sám pre seba.
Nie je to nič technického sebe, ale je to jednoducho tak nejako
všeobecne spôsob, ako vyjadriť sám seba celkom presne,
docela algoritmické, docela procesne, ale bez
sa museli starať o aký jazyk ste vyjadrovanie
yourself in
Je to nejaký model angličtiny a programovacích jazykov s
ktoré sa stalo, aby sa zoznámili, takže môžeme začať
písanie také veci, ako sme ísť.
A v skutočnosti, Joseph, môžem si požičať vás na javisku sa
pisár tu?
Ja som išiel napred sem vopred a zabudol dať
na niektorých ponožky dnes, a to bude medzi naše viac
smiešne príklady.
>> Teraz ťa potrebujem tu.
Urobím ponožky časť.
Takže tu máme trochu poznámkový blok.
To je doslova TextEdit v systéme Mac.
Nie sme vlastne bude písať Runnable program, ale
sme len tak začať skicovanie z pseudokódu na báze
na niektoré z rady, ktorú poskytnete mi tu.
Takže tu je môj hromadu ponožiek doma.
Nemám žiadne ponožky na to, kedy som sa prebudila ráno, a teraz
treba napísať program, algoritmus druhov, s ktorými
aby sa tieto ponožky na nohách.
A po ceste, uvidíme, či budeme zakopnúť, alebo v prípade,
niektoré z myšlienok, ktoré budete musieť začať
premýšľať o oveľa vážnejšie pri programovaní
lesť vaše programy sa nesprávajú celkom, ako bolo zamýšľané.
>> Tak som si sadnúť tu.
Mám svoj hromadu ponožiek.
Čo je prvá vec, ktorú rozumný človek by
, Keď cieľom je kladený na paru ponožiek?
Niekto mi o jeden krok, a len jeden krok.
Jo?
Divákov: zohnúť.
DAVID Malan: Bend dole, Dobre.
Krok dva.
PUBLIKUM: Zdvihnite ponožku.
DAVID Malan: Zdvihnite ponožku.
Dobre, tak malý, dvojznačnosť tu, a to je jeden z prvých
kameňom úrazu, že by sme mali zámerne
stretnúť tu.
Je to trochu nejasné, takže vyzdvihnúť ponožku.
Dobre, vezmem tento, ale počítač, realizovať len
bit, nebude mať tento druh ľudský inštinkt len
vybrať najbližší.
Budeme musieť začať, onedlho, vyjadrujúce
sami presnejšie.
>> Dobre, takže druhý krok je vyzdvihnúť ponožku.
Berieme to.
Krok tri.
V zadnej časti.
PUBLIKUM: Nájdi si pár.
DAVID Malan: nájsť zodpovedajúce dvojice.
Dobre, tak to je dobrý.
Musel som si vybrať túto ponožku.
Takže cieľom je nájsť zodpovedajúce ponožku, teraz, ale to, čo
to znamená?
Rozumné ľudskej bytosti, rovnako ako v stredu, kedy som
vedel, ako nájsť Mike Smith v telefónnom zozname, tak nejako
išiel s ich inštinkt.
Ale tu, je to samozrejme táto ponožka tu, ale počítač je
nebude tak inštinktívny.
Počítač bude mať zbierku bitov, ako my
diskutovali v stredu, a to sú
organizované nejako v pamäti.
Ide o to, že počítač má iba schopnosť
pozerať sa na veci, jeden po druhom, a v skutočnosti, aj my
ľudia - aj keď to cíti, ako by som sa pozrel dole a rozdelenie
sekundu neskôr Viem, kde ponožka je, môj mozog a moje oči
pravdepodobne sa rýchlo zbierať týchto ponožiek, a potom sa západkou
na jednej sa jedná.
>> Takže ak budeme všetci oveľa modernejšie teraz ako počítač,
Ako môžem toto zodpovedajúce pár?
No, musíme určiť iteráciou.
Musíme snáď slučke počas tohto neporiadok ponožky na
poschodie ktorej som povedať niečo ako PRE KAŽDÝ ponožka, si to
up, a ak je rovnaký tvar a veľkosť ako ten druhý, PAK
dot, dot, dot, budeme pokračovať v príbehu.
Takže pre každého ponožky, takže som vyzdvihnúť tento.
Aj skontrolovať je to rovná tejto jednej.
Nie je to, tak som si dal stranou stranu.
Potom som určiť iteráciou znova.
Je to jedna rovná?
Nie, to nie, tak som to dal bokom.
Je to jeden?
Nie.
Tento?
No, a tak ďalej.
A potom konečne, dúfajme, že sa stretnem túto ponožku tu.
Takže ak je to rovnaký tvar, veľkosť, vezmite si ju.
>> A teraz, čo by byť náš budúci krok tu?
Jo?
PUBLIKUM: Určite P zľava.
DAVID Malan: Dobre, identifikovať vpravo a vľavo, tak
našťastie, že druh práce.
Trochu symetrická, alebo som len nosiť im týmto spôsobom.
Dobre, tak som identifikoval právo.
A teraz, ako budeme pokračovať, dovoľte mi, aby som poukázať na to, čo Joseph je
robil sem ako akési veršované programátora.
Takže znova, nie je jeden spôsob, ako to urobiť, ale viac než len
číslovanie liniek, Joseph už začal robiť to
druh odsadenie.
Naozaj, toto je veľmi častý konvencie v programovaní,
kedy, keď robíte niečo iteratívny, looping štýl, as
sme z čoho vyplýva, s anglickým výrazom "PRE KAŽDÉHO
ponožka, "konvencii v pseudokódu, a ako uvidíme,
normálne programovacie jazyky, je len zarážky.
Hit medzerníka niekoľkokrát, narazí na kláves Tab a podobne,
tak, aby vnorené pod "PRE KAŽDÝ ponožka" je kus
vecí, ktoré musíte urobiť, v dôsledku tohto slučky.
Tak to je všetko, čo dopravné sémanticky.
Teraz zatiaľ, "Ak je to rovnaký tvar a veľkosť, ďalej len"
Skutočnosť, že "Take it" je členité ďalej len znamená, že
to je jediná vec, ktorú by ste mali urobiť, ak túto podmienku,
ak je vetva, ktorá rázcestí, je v skutočnosti pravdivý.
>> Takže teraz tu, sme v kroku štyri, identifikovať vpravo a vľavo.
Identifikoval som pravdu.
Dajte mi krok päť.
A technicky, môžeme naozaj hovoriť
PRE KAŽDÉHO vec -
asi by ste mali očíslovať všetky linky, ak
budeme robiť to.
JOSEPH: [Nepočuteľné]
DAVID Malan: [Nepočuteľné]?
Dobre, dobre, urobíme to po svojom.
Dobre, takže krok päť, ako to robíme správnu ponožku?
Ako budeme postupovať ďalej, tu?
Áno?
PUBLIKUM: Zdvihnite pravú nohu.
DAVID Malan: Zdvihnite pravú nohu, Dobre.
Krok šesť?
Rýchlo.
Jo.
PUBLIKUM: Nájsť otvorený koniec ponožky.
DAVID Malan: Dobre, nájsť otvorený koniec ponožky.
Tak dobre.
Tak tu, úprimne, by veľmi časté inštinkt byť len
kladený na pravom ponožky, ale aj to je celkom nejednoznačná.
Ak počítač alebo človek presne vie, čo to znamená,
to nebude robiť, takže tu, mám
Buďte otvorení populácie.
Krok sedem?
PUBLIKUM: Dotknite sa prsty.
DAVID Malan: Dotykové prsty.
Dobre, takže teraz ideme -
Dobre, budem sa niektoré slobody tu.
Vďaka.
Krok ôsmy?
Dajte na ponožke.
Dobre, takže teraz som, že sme dosť blízko, aby nejako prijať
tento doma.
Dobre, tak to ide hore.
Vezmem niektoré slobody s tým, čo to znamená, skutočne.
Dajte ponožku na.
Dobre, teraz kroku deväť?
PUBLIKUM: Dajte nohu dole.
DAVID Malan: Ďakujem.
Krok deväť, dal nohu dole, a teraz, môžeme opakovať.
Takže pravdepodobne, môžeme teraz prejsť do kroku 10 a povedať identifikovať
vľavo ponožky, ale to je pravdepodobne už urobil.
>> A potom sa môžem nejako opakujte tieto kroky.
Ale tento druh vyvoláva otázku.
Pred, v poslednej dobe sme chceli zopakovať niečo, my
urobil iteratívne, znovu a znovu, FOR
Každá slučka tak hovoriť.
By malo zmysel používať slučku, aby sa zvládnuť aj
vľavo a vpravo ponožky?
Vzhľadom k tomu, že sa cíti, ako sú tieto operácie sú do značnej miery
totožné, s výnimkou toho, že sa vychádza tu a jeden
Tu začína?
My slučku, alebo budeme len držať písanie kroky
10, 11 a 12?
Divákov: Loop.
>> DAVID Malan: Dobre, tak slučka.
Vlastne som mohla povedať len ďalej.
Tak prečo je tomu tak?
No, to je v skutočnosti prvou náš non-zrejmé
rozhodnutia o návrhu, a v skutočnosti, jeden z metrík, s ktorými
začneme hodnotiť, pre seba a pre vás,
Kvalita programu je to, ako dobre navrhnutý to je.
Už ste urobil minimálne množstvo práce potrebné pre
si prácu najrýchlejšie, či už ide o
váš čas alebo, pokiaľ ide o počítače so systémom dobe?
Koľko operácií robí to trvá spustiť?
Takže pravdepodobne, je to príležitosť pre sláčiky, pretože
akonáhle začnem kopírovanie a vkladanie, ako Josef účinne
by začať robiť v okamihu, si trochu plytvanie
čas, a vy ste bol dvakrát expresívne.
>> Ale zároveň, to sú naozaj len dve špeciálne
prípady, vľavo a vpravo.
A vzhľadom k tomu skôr, mohol som mať 10 alebo 20 alebo viac ponožky v
hromada, to určite dáva zmysel, že nemá 50 riadkov
Kód hovorí zistiť túto ponožku, potom ďalší jeden,
potom ďalšie.
Tu je to trochu menej zrejmé, a ja by som navrhol
že by sme mohli ísť buď cestou.
Mohli by sme mať buď tú slučku, hoci to len slučky
dvakrát, alebo môžeme jednoducho skopírovať a vložiť len trochu
práve preto, aby svoju prácu.
Ale tento program je buggy, aby som tak povedal.
To by mohlo mať nejaké chyby, chyby alebo rohové prípady, tak
hovorí, že sme sa naozaj predvídať.
Nič sa stalo tentoraz, ale čo by mohlo byť zle
Pri vykonávaní tohto programu?
PUBLIKUM: Nemáte žiadne ponožky.
>> DAVID Malan: Takže tam mohol byť žiadne ponožky tam vôbec.
Takže poďme sa domnievajú, že rohový prípad.
Takže ak by sme sa posunúť späť ku kroku jedna, takže krok jeden bol
skloniť, takže sedí.
Krok dva, vyzdvihnúť si ponožku, ale potom zistíte, zodpovedajúce ponožky,
identifikovať pravdu.
Sme trochu robil veľa predpokladov, a to je,
úprimne povedané, prečo program, niekedy zlyhanie.
Ak, programátor, robili určité predpoklady, ako sú
určite tam to bude ponožky alebo určite tam to
byť pamäť ponechaná v počítači, určite tam deje
byť na disku vľavo na pevnom disku -
No, keď urobíte tieto predpoklady, a to nie je,
v skutočnosti, reality, kto vie, niekedy to, čo počítač je
robiť?
A niekedy, keď sa dostanete na otáčajúce plážová lopta alebo
mrazené Windows alebo podobné, že je to práve preto, že niektoré
Programátor nepredpokladal tie takzvané rohové prípady.
Čo iné by mohlo ísť zle v tomto programe?
Jo?
>> PUBLIKUM: Vy nemáte pravú nohu a ľavú nohu.
DAVID Malan: Dobre, nemusí mať obaja pravú nohu a
ľavú nohu, a tak tento program nemusí byť všeobecne
použiteľné.
Ostatné?
PUBLIKUM: Možno ste zdvihol osirelého ponožku.
DAVID Malan: Možno som zdvihol osirelého ponožku, tak
non-matching ponožky, ktoré práve nemá žiadne súrodenca, pretože som
stratil, je roztrhaný to, že je to v praní stále, alebo podobne.
Takže, aj tak nebolo manipulované.
Jo?
PUBLIKUM: Možno už ponožky.
DAVID Malan: Možno už ponožky.
Nechcel som vlastne zistiť.
AK nemáte ponožky, potom pokračujte k tomu
linka jedna a dva.
A to by sa mohlo stať.
Môžete zaspávať s vašej pokožky na a podobne, tak
taky, veľmi rozumné kútik prípad.
A možno ešte jedna?
PUBLIKUM: ponožka je naruby.
DAVID Malan: Takže ponožka je naruby, takže sme urobili žiadnu chybu
kontrolu, v krátkosti.
Nechceli sme skontrolovať, či stav sveta je, ako očakávame.
Nechceli sme skontrolovať, či sme skutočne našli to, čo sme hľadali.
>> A aj keď je to akýsi smiešny príklad
zahŕňajúce ponožky, na konci dňa, to je presne
druh myslenia je treba mať pri písaní programov,
iv Scratch, rovnako ako v C, v JavaScripte, v PHP,
pretože inak budú vaše programy vykazujú
ekvivalent tejto pradenia nafukovacia lopta, alebo len výnos
nepresné výsledky.
Takže vďaka moc tu na našom pisára Jozefa.
[APPLAUSE]
>> DAVID Malan: Dobre, tak čo je v
Skutočnosť, počítačový program?
No, poďme sa rýchlo pozrel na
Zástupca jeden tu.
Tak to je program napísaný v jazyku nazvanom C. C je
pomerne staré týchto dňoch, ale mnoho novšie jazyky sú postavené
na vrchole toho.
Vskutku, PHP, jeden z web-centrických jazykov budeme
použiť k termínu ku koncu, sám o sebe má, čo sa nazýva
tlmočníka, program, ktorý je napísaný v jazyku C, ale o tom viac
v mnohých týždňov od tejto chvíle.
Ale tento program, a to je to, čo to znamená písať
program, hoci veľmi jednoduchý.
Máme nejaké docela tajomné syntax tu, ale môžete
asi tušíte, aj keď ste nikdy naprogramovať pred, čo
tento program robí.
Naozaj, ja neviem, čo printf je, ale tlač rozhodne
vyvoláva myšlienku tlače niečo.
A tak áno, tento program je v konečnom dôsledku bude tlačiť
slová "Hello, world".
>> Teraz, nech máte Mac alebo PC alebo počítači so systémom Linux, kurzy
sú, aspoň pokiaľ ste si stiahli nejaký voľne
k dispozícii softvér, mohli ste sa písať programy na
vlastný laptop pre docela nejaký čas.
V systéme Mac OS, napríklad, tam je to program s názvom
Terminál, ktorý je dodávaný s Mac, ktorá je zvyčajne vo vašom
Utilities, a to všeobecne otvorí čierna a
biela alebo biela a čierna okná, v ktorom ste
výzvou, na ktorú môžete písať príkazy.
Takže je to vlastne pripomína to, čo počítače
bolo pred grafickým užívateľským
rozhranie, GUI, prišiel.
Teraz, vo Windows, máte podobný mechanizmus v podobe
z príkazového riadku.
>> Ale čo budem robiť, je tu otvoriť, povedzme,
TextEdit znovu, takže ten istý program, ktorý sme používali pre
pseudokód pred chvíľou, a ja idem ďalej a
napísať môj prvý program.
Patrí stdio.h, nech to znamená čokoľvek, int main
void, nech to znamená čokoľvek, a potom v stredu tu,
printf ("hello, world."). A potom zavrieť citácie,
zatvoriť zátvorka, bodkočiarku.
Teraz budem pokračovať a jednoducho hit Command-S. Idem
ísť dopredu a uložiť ako hello.c, takže dohovor
svet programovanie C je názov súboru dot c
Idem len dať v domovskom adresári Johna z Harvardu,
tu, kliknite na tlačidlo Uložiť, a teraz idem prejsť k tomuto
okno terminálu, čo je opäť táto čierna a biela riadku
kde môžem vykonávať príkazy.
>> Môžem spúšťať programy zadaním svoje meno, nie
Dvojitým kliknutím ikony v obvyklom slova zmysle.
Ale vec je o C, je, že jazyk ako C prvý
prichádza v tejto podobe, niečo, čo nazýva zdrojový kód.
Niečo, čo vyzerá trochu ako angličtine, ale je
rozhodne menej ako angličtina ako pseudokód Jozefov
Pred chvíľou.
Je to trochu tajomné.
Zdá sa, že nasledovať niektoré vzory alebo pravidlá.
Skutočnosť, že mám zložené zátvorky, bodkočiarky, citácie,
uhol traky, cíti ako počítač prišiel s týmto
druh jazyka.
Ale keď pôjdem, teraz, na tomto terminálu, je možné spustiť
príkaz, ktorý sa bude konvertovať, že zdrojový kód je
niečo, čo nazýva objektový kód.
To bude konvertovať English-ako syntax na nuly
a tie, rovnaké druhy núl a jedničiek my
hovoril o stredu.
Teraz, idem spustiť príkaz s názvom zvonenie.
Viac o tomto v najbližších týždňoch, ale je to program s
ktoré môžem previesť hello.c na celú partiou
núl a jedničiek.
>> Teraz som spustenie tohto príkazu.
Som bežať rinčať, a potom som povedal bežať sám na tento súbor
volal hello.c, ktoré som vytvoril pred chvíľou, a
nič Zdá sa, že sa stalo.
Ale naozaj, keď som vystrčil okolo môjho domovského adresára, by som vidieť
že tento hlúpo názvom programu a.out teraz existuje.
To je len predvolený názov programu, pri písaní
C. Môžeme prepísať to nakoniec, ale a.out je
názov programu, ktorý som práve premenený núl a jedničiek.
A teraz, že je to núl a jedničiek, môj Mac, v tomto prípade, alebo
Vaše PC s Windows, môžete pochopiť tie kúsky, tie
núl a jedničiek.
A tak, keď som narazila Enter, vidím "hello, world!"
>> Ale je to trochu buggy.
Nechcel som celkom povedal "ahoj, svet: vzduch: -! Jharvard." Vzduch je
meno môjho počítača.
Jharvard je názov účtu, takže to, čo som jasne
vynechať z programu?
Nejaký zalomením riadku.
Nechcel som narazila na ekvivalent Zadajte alebo návrate vozíka,
a to je, opäť, svedčí o tom, že počítače môžu
len to, čo poviete, aby robili.
A skutočnosť, že som nepovedal počítač presunúť
kurzor na ďalší riadok -
dobre, to určite nebude len to
opovážlivý pre mňa.
Takže keď som sa vrátiť do svojho programu, a ja hovorím, \ n -
Takže \ n, ako skoro uvidíte, je spôsob, ako
predstavuje divné veci, ako znaky nového riadku, veci,
ktorá by inak bola výsledkom
biť klávesy Enter.
Ale teraz, len viem, že biť klávesy Enter by
len aby náš kód vyzerať divne, tak sa svet rozhodol, vieš
čo, aby veci krajšie, aby ju udržali na jednom riadku, poďme
len povedať, \ n predstavuje nový riadok.
Dovoľte mi, aby som znova uložiť svoj súbor, prejdite späť do okna terminálu, a
re-run a.out, Enter.
Napriek tomu buggy, ale prečo?
>> PUBLIKUM: [Nepočuteľné]
DAVID Malan: Jo, tak som potrebné prekompilovať ho.
Takže zostaviť program znamená len previesť zo zdroja
kód objektového kódu, zdrojovom kóde núl a jedničiek.
Teraz, samotná skutočnosť, že som narazila Uložiť v tomto TextEdit nemá
ložiská na týchto núl a jedničiek, pretože som najprv
tell zvonenie hey, zmenil som tie riadky kódu,
zdrojový kód.
Musíte regenerovať a.out.
Nič Zdá sa, že sa stalo, ale v počítači,
Na príkazovom riadku, tak hovoriť, keď sa nič nedeje,
to zvyčajne znamená všetko je v poriadku.
Keď sa niečo stane, znamená to, že
ste zpackal, všeobecne.
>> Takže poďme sa teraz ísť do a.out, a naozaj, mám teraz "hello,
svet. "
A teraz, čo o týchto núl a jedničiek?
Ak je v tom, sú tie?
No, nemôžem naozaj len trochu poke okolo veľmi
efektívne.
Dovoľte mi, aby som otvoriť TextEdit.
Tu je a.out.
Nechaj ma ísť ďalej a to otvoriť, a to je zrejme to, čo my
Program vyzerá.
Tak som otvoril, nie hello.c, ale a.out.
Ale to je vlastne to, čo môj program je naozaj.
Je zrejmé, je to nejaký druh abecedných znakov.
Nevidím žiadne núl a jedničiek, ale je to
pretože a.out je program.
Núl a jedničiek - ale TextEdit, ako názov napovedá, je to
rovnako ako Notepad vo Windows, je len textový editor, takže je to
mätúce všetkých týchto núl a jedničiek as
hoci oni boli, čo?
ASCII znaky.
>> Takže pripomínajú v stredu, práve sme prišli s týmto
svojvoľné mapovanie čísel, alebo kúsky, na listy
abeceda a interpunkčné symboly a podobne.
Takže TextEdit, že je to textový editor je interpretáciou
tie vzory núl a jedničiek, ktoré majú byť
tlač slová, ako "Hello, world". Je to ich zobrazenie
ako ASCII, a to je dôvod, prečo to vyzerá trochu chaotický.
Teraz, tam sú niektoré náznaky správnosti v tu.
Všimnite si, keď som zdôrazniť, že je náznak skutočne "hello,
svet, "tak niekde v tomto programe je
veta, ktorú som napísal.
Ale poďme ďalej a teraz vidí s iným programom.
Toto nie je jeden budeme používať, že často, ale tiež prichádza s
Mac a bude vnútri CS50 zariadenia.
Nechaj ma ísť napred a otvorte s programom s názvom xxd.
>> Späť v deň, bola väčšina programov menoval pomerne záhadne,
a tak tento trend pokračuje.
Ale-b znamená vypľuť tento program tak, ako binárne.
Nespúšťajte ho.
Zobrazenie mi to ako núl a jedničiek, a to je C
program, ktorý sme práve napísali.
Teraz, ja, ako človek tu, úprimne nemám potuchy, čo
Tieto rôzne vzory núl a jedničiek predstavujú.
Späť v deň, som s mojimi dierne štítky alebo ako, by
skutočne sa pozrieť do akej tieto rôzne vzory
01111000, v skutočnosti predstavujú.
Alebo ešte horšie, potreboval by som urobiť dierovanie alebo vytvorenie
z týchto vzorov núl a jedničiek.
Ale teraz, sa na základe viery, že CPU, Intel Inside, tak
hovoriť, vnútri všetkých našich počítačov v týchto dňoch, vie
ako interpretovať tieto núl a jedničiek.
A niektoré nuly a jednotky znamenajú tlač.
Niektoré núl a jedničiek znamená hrať zvuk.
Niektoré nuly a jedničky znamená vziať si užívateľský vstup z klávesnice.
Je tu všetky druhy rôznych vzorov, ale našťastie,
ako ľudia, len všeobecne musieť starať o programovaní v
Tento pomerne vyššiu úroveň.
A v iných triedach SK môžete ponoriť hlbšie a pozrieť sa
u vecí ako ty núl a jedničiek, alebo ešte
iné veci stále.
>> Tak teraz poďme zmeniť toto.
Poďme veľmi rýchlo preč od C a presťahovať sa do niečoho na
trochu viac upokojujúce, trochu viac vzrušujúce, v tom, že
môžeme dostať späť naše animácie a zvuky a podobne, ktoré
jasne uniklo nám v tejto
docela primitívne rozhranie.
Takže to rovnaký program v jazyku C môžu byť reprezentované teraz v tejto
programovací jazyk nazvaný Scratch takto.
To je ekvivalent tohto Hello World program napísaný v
Tento kúsok skladačky štýl jazyka nazýva Scratch.
Tak nechaj ma ísť napred a otvoriť túto veľmi programu.
Je to zase len Scratch.
Je voľne k dispozícii, a to je to isté sme
začal dnes na.
>> Tak toto je Scratch, a to sa rozdelila na niekoľko
rôzne kusy.
Na veľmi pravom hornom rohu, máme tzv fázy, a
naozaj, že je miesto, kde sú cookies
vykonáva len trochu skôr.
A na javisku sa veci len prízraky, znaky, alebo
objekty, alebo subjekty.
To nie je naozaj jedno, ako si o nich myslíte, ale
sú programovateľné, pohyblivé veci, a v tomto prípade sa jedná
program, ktorý naša študent písal má niekoľko perníku
cookies, pár kruhových cookie, celá banda
srdce, celá banda okuliarov.
Z tohto dôvodu sa alebo je schopný programovať každý z nich
Jednotlivé postavy samostatne.
>> Teraz, čo to znamená naprogramovať tieto znaky?
No, nechajte ma ísť napred a kliknite na ľavej strane cookie
a prejdite cez hore doľava tu.
V ľavom hornom rohu mojej obrazovke je teraz
tzv skripty oblasť.
To je druh nepopsaným listom, spočiatku, na ktoré môžem
drag and drop puzzle kúsky, ktoré, úprimne, robiť
presne to, čo hovoria.
Na vrchole tohto zásobníka dielikov je slovo
Keď Green Flag kliknutí, a ak ste si nevšimol skôr,
ako som začal, že cookie pieseň bola kliknutí, doslova,
zelená vlajka.
Takže skladačky vľavo hore tam znamená, keď
ľudských kliknutí zelená vlajka, pokračoval robiť
nasledujúce veci.
>> A teraz, čo sa im cookie pokračovať robiť?
Ja naozaj neviem, ako interpretovať to ešte, ale
cookie zrejme nastaviť jej drážky na nulu, potom to čakal
tri sekundy, potom to zmenilo jeho skupinu s jedným, potom to
čakal druhý, potom sa to zmenilo jeho
groove späť do jedného.
A potom to skutočne vyzerá ako trochu chybu, by nemali
musieť zmeniť svoje drážky znovu a znovu, ak je to
menený inde, ale táto séria krokov je to, čo je
diktovať správanie tohto konkrétneho súboru cookie.
Takže poďme skutočne posunúť späť a nepozerať sa na niečo
tak celkom zložitý ešte.
Nechaj ma ísť napred a ísť do súboru, Nový,
a získať čistý štít.
>> Takže teraz, som naozaj bude mať prázdnu skript priestor, prázdne javisko,
s naším východiskovým sprite nuly, a v ľavej hornej časti
Na obrazovke mám paletu všetkých ich
K dispozícii dieliky.
A nebudeme prechádzať takmer, že mnoho z týchto vecí
dnes, pretože, opäť, väčšina sú samo-vysvetľujúce, ale my
sa snaží roztriediť ich a poukázať na podobnosti
s týmito budúcimi jazykmi, na ktoré budeme potápať.
A vľavo hore tu je prvý Keď Zelená vlajka kliknutí,
tak nech mi pretiahnuť sem, oddialiť trochu.
A keď som kliknite na zelenú vlajkou, nič sa naozaj deje, pretože
Nemám pripojený žiadnu logiku, vyhlásenie tak hovoriť,
že zelená vlajka, tak nechajte ma ísť do
Kategórie sem.
Som v súčasnej dobe v Ovládacom kategórii.
Ja namiesto toho ísť do toho, ako vyzerá kategóriu, a
je tu celá partia vecí tu, že Say Say,
Zamyslite sa, meniť farbu, spínače kostým.
>> Takže si môžete urobiť hlúpe veci s kostýmy a
zvuky a podobne.
Nechaj ma ísť dopredu a len povedať Say, a teraz zistíte, ako som pretiahnuť
a odstrániť tento kúsok skladačky, to bude chcieť, aby zapadla
do zodpovedajúceho tvaru.
Takže keď som sa do toho pustite a pustil mojej myši, uzavrú
spoločne, a teraz keď pôjdem sem a kliknite na zelenú vlajkou,
mačka sa v skutočnosti pozdraviť, pretože to je to, čo je vnútri
tohto bielom poli.
Čoskoro budeme vidieť, že biely box je to, čo sa nazýva
argument, alebo parameter.
Je to spôsob zmeny správania, v tomto prípade,
skladačky, ale ak chcem povedať, čo presne som povedal
pred, povedzme hello, world, teraz môžem vrátiť sem,
Kliknite na tlačidlo Prehrať a "hello, world" je to, čo je povedal.
>> Takže sme sa doslova programovanie teraz.
Nie je to, že presvedčivé programu, najmenej však
je to trochu závažnejšie, než niečo, čo vyzerá, na
prvý pohľad, ako je tento.
A môžeme veľmi rýchlo dostať všetky výraznejšie
pretože v Scratch, rovnako ako v iných jazykoch, tam je všetko
druhy výkazov, a to nielen Say alebo tlačou niečo, ale
môžete robiť veci, ako je čakanie, ako sme práve videli s
cookie, niektoré počet sekúnd.
Môžete prehrávať zvuky v prostredí Scratch len
ako môžete v bežnom počítačovom programe prehrávanie zvuku.
Môžete zistiť, čo sa nazýva booleovských výrazov.
Takže teraz, poďme začať sa pridať k nášmu nástrojov niektoré terminológie
že sa v skutočnosti týka príkladu, že Joseph a ja urobil
Tu sa ponožiek.
Takže tvrdenia sú len faktické vyhlásenia,.
Urob to.
Smernica pre škriatka, alebo ma človek, niečo urobiť.
Boolovský výraz je niečo, čo má hodnotu,
tzv pravdivostná hodnota, ktorá je buď nula alebo jedna, nepravdivé alebo
pravda, zapnutie alebo vypnutie, nie alebo áno.
Nezáleží ako si myslíte, že o tom, ale je to
binárne stav.
Ako Nate prerokovaný vo videu stredajšie, dva
rôzne veci.
>> Takže v Scratch, Booleovské výrazy stane sa pozrieť
ako sú tieto modré objekty tu, v tomto prípade, je otázka
Značka znamená, že sa pýtate na otázku.
Je mačka, alebo sprite, dotýka myši?
Takže to je len jeden príklad z Scratch bloku, čo sa deje
ktoré nám umožnia zistiť áno alebo nie, je myš dotýka
sprite na obrazovke?
A to môže byť užitočné, ak si naozaj chcete robiť veci
s myšou.
Okrem logických výrazov, máme veci
ako je myš dole, takže môžete zistiť, že druh
otázka, ako dobre.
Môžeme to urobiť matematiku, ak si naozaj chcete, a tam je
v skutočnosti viac presvedčivé použitie pre toto, než len rýdzi
aritmetický, ako uvidíme.
Pseudo náhodnosti a aby si program, si zrejme myslia,
alebo sa správajú rôzne v závislosti na niektorých zdanlivo náhodných hodnôt,
a potom máme také veci booleovských výrazov ako AND.
Takže ak naozaj chcete skontrolovať dve hodnoty, uvidíme v
Stieracie, že môžeme skutočne vyskúšať, či sa jedná
pravdivé a je to pravda.
Napríklad, v prípade, že moje ponožky, mohol som na
veľmi end spýtal na otázku, či ľavý ponožka je zapnutý a pravej ponožka
je na, ukončite.
Tomto kroku na deň, takže by bolo
príležitosť pre to.
>> Tak poďme do toho a skúste sa dať niektoré z nich spoločne
a ísť do pár príkladov viac
presvedčivé ako tento.
Tak nechaj ma ísť napred sem a otvoriť niektoré z príkladov
že bude vždy o priebehu stránkach rovnako, a
otvoriť hello2.
Takže v hello2 tu, máme program, ktorý to robí málo
veci, ale to nerobí to tak účinne, ako by sme mohli.
Tak tu to hovorí "Hello, world" po dobu jednej sekundy a potom čaká
pre druhé.
A potom to urobí znovu, a potom sa to znova.
Takže keď som kliknite na zelenú vlajkou, Scratch hovorí "Hello, world.
Hello, world.
Hello, world. "A to je samozrejme kandidát teraz
zlepšenie.
>> Čo je marginálne zlepšenia, dúfajme, môžeme
teraz urobiť, ak Scratch podporuje koncept?
Nejaký druh slučky.
Nejaký opakovanie, teraz, by bolo pekné, tak nech mi
vlastne to skúsiť.
Dovoľte mi, aby som skutočne ísť a pohybovať to.
Takže oznámenia možno oddeliť bloky tak ľahko, ako si môžete pridať do
pripevnite ich.
Nechaj ma ísť pod kontrolou, prejdite sem, a naozaj,
tam je to kúsok skladačky tu, opakovanie a Forever a
Forever Pokiaľ.
Takže tam je niekoľko spôsobov, ako vyjadriť cyklickú konštrukcia
v Scratch.
Ten, ktorý som pravdepodobne chcieť tu nie je navždy, pretože som len
Chcem aby sa to stalo trikrát, ale pravdepodobne Opakovať.
Dovoľte mi teda pretiahnuť Opakovať tu, pretiahnite ju, a
Teraz namiesto toho povedal "Hello, world", tri samostatné krát,
dovoľte mi, aby som pretiahnite tento kúsok skladačky tu.
A aj keď sa to nezdá, aby sa zmestili, program inteligentná
dosť si uvedomiť, že bude rásť vyplniť, takže je to
tvary, ktoré záležitosť a nie absolútnu veľkosť.
Dovoľte mi, aby som zmeniť opakovanie na tri, a teraz nechaj ma ísť
dopredu a pretiahnite Počkajte One Second tam tiež.
Bude to snap v tiež, a tak teraz budem ťahať
títo ľudia sem a len hádzať je preč, pretože som
nepotrebujú už.
Dovoľte mi, aby som oddialiť a kliknite na zelenú vlajkou teraz, a my máme
rovnaký program, ale ako som predpovedal pred, lepšie
navrhnuté, pretože si dokážete predstaviť, ako zle je tento program
by si iste esteticky, ak by ste mali
kto kopírovanie a vkladanie, kopírovanie a vkladanie, alebo
pretiahnutím rovnaké zatraceně veci znova a znova.
>> Teraz, jednoducho hovoriť veci na obrazovke, tlač na
obrazovke, naozaj všetko, nie je to vzrušujúce, takže sa poďme otvoriť
tretej rozptyl tu.
A teraz, ako uvidíte, toto sa rýchlo dostať otravné -
[Meow]
DAVID Malan: -, ale je to aj trochu roztomilý.
[Meow]
DAVID Malan: Dobre, tak lepšie, a môžeme samozrejme použiť, aby
Rovnaký prechod Chunking to až do opakovania
štruktúra, ale poďme robiť to viac zaujímavejšie stále.
>> Nechaj ma ísť napred a otvoriť štvrtiny rozptyl tu, kde som
brať veci o krok ďalej.
Tak podľa tohto, hlúpe aj keď je to na prvý
pohľad, čo sa tento program bude robiť?
Bude to meow raz.
Prečo?
No, jeden je, pokiaľ viem, vždy menší ako dvaja.
Nie je pojem náhodnosti tu.
Ja som doslova pevne jedna a dve, ale to je
Príkladom teraz skutočne používať logický výraz.
Podobne ako ako Joseph robil v jeho pseudokódu, odsadenie KEĎ
nájdete zodpovedajúce ponožky vykonajte nasledujúce, tu máme
výraz Ak jeden je menší ako dva potom -
a v skutočnosti budeme mať aj trochu odsadenie,
kde je fialová mierne odsadená doprava -
Potom budete hrať zvuku mňau.
Teraz, v tomto prípade, že je vždy menší ako dva, takže tento
je tak trochu plytvanie stave.
Ale budeme môcť, ako uvidíme, pripojiť iné veci do
Tieto zástupné symboly, kde jedna a dve teraz sú.
Takže poďme sa teraz postupne napríklad päť týchto niekoľkých
pozdravy a pohľad na to, čo tento program to urobí.
>> Takže teraz, v anglickej vete, ako to
sa program chová?
PUBLIKUM: Meows polovicu času.
DAVID Malan: mňau je polovica času, takže to je spôsob, ako
dopravu veľmi jednoduchý nápad.
Aj keď sme sa náhodou používať niektoré nerovnosti tu
v niektorých čísel, to je v skutočnosti len programový
spôsobom, presný spôsob, ako povedať keď sa mince príde hlavy, ísť
dopredu a mňau.
Alebo naopak, keď sa mince príde chvosty, nie mňau.
A v tomto prípade, ako sme vyjadriť, že?
Budeme si vybrať náhodné číslo od 1 do 10, a ak to
číslo je menšie ako 6, choďte do toho a mňau.
A ako sa to sem dostať?
No opäť si všimnite, len pretiahnutím a
veci nezapadne na miesto.
>> Takže teraz uvidíme, či to náhoda funguje.
Nechaj ma ísť ďalej a kliknite na zelenú vlajkou.
[Meow]
DAVID Malan: Dobre.
[Meow]
DAVID Malan: Dobre.
Dobre, dobre, tak my sme dostali hlavy, hlavy, chvosty efektívne.
Tails.
[Meow]
DAVID Malan: Heads.
[Meow]
DAVID Malan: Výborný.
Je to vždy nepríjemné, keď len štatisticky dostanete zlý
beh, a to všetky hlavy, a program v skutočnosti nie je
fungovať, ako by ste dúfali.
Ale tentoraz to fungovalo, a zdá sa, že ak majú sme
Tento nekonečný počet opakovaní, 50% šanca.
Teraz znovu, nie všetci, že zaujímavé, len aby mačky
meow, takže uvidíme, či nemôžeme postúpiť tento kúsok ďalej
tu vo verzii šesť.
Takže teraz máme naozaj nepríjemný verziu -
[MEOWS každých pár sekúnd]
DAVID Malan: - a to je to, čo je známe, všeobecné, as
nekonečnej slučky.
>> Takže nekonečné slučky v tomto prípade cíti zle.
Je to určite bude, kto znieť zle, a napriek tomu nekonečný
slučky nie sú vždy zlé.
Môže si myslíte, že kontext, v počítačových programov, kde by ste
vlastne chceme nekonečnú slučku?
Jo?
PUBLIKUM: Ak chcete skontrolovať stav.
DAVID Malan: Dobre, keď chcete zachovať kontrolu podmienku?
Ako čo?
PUBLIKUM: [Nepočuteľné]
DAVID Malan: Dobre, dobre, takže ak ste mali nejaký program, niektorí
Takéto veci domácej automatizácie, kde chcete neustále
Monitor je niečo prípad.
Sú svetla na?
Sú svetla na, pretože možno budete mať časovač, a
Chcete, aby išli preč, možno budete musieť niečo urobiť
znovu a znovu.
A v skutočnosti, keď už hovoríme o časovačov, každý z vás, ktorí sa
hodiny na vašom počítači alebo digitálne hodinky, to je
nekonečnej slučky.
Naďalej aktualizovať čas, pretože je to stále
kontrola a kontrola a kontrola má čas zmeniť,
a ak áno, oh, môj bože.
Hodiny sa konečne zmenila.
Treba zobraziť túto hodnotu pre vás.
Takže vzhľadom k tomu, väčšinu času nekonečné slučky sú chybou,
alebo aspoň zlú dizajnu rozhodnutia, inokedy
majú svoju hodnotu.
>> Dobre, poďme postúpiť ďalej tu hello7.
Takže teraz bude program trochu viac interaktívne.
Dovoľte mi, aby som priblížite tú, a znovu, to je to, čo je pekné
o Scratch.
A budeme používať to, aby bolo jasno, Scratch, práve dnes a do
budúci týždeň je problém nastaviť.
Ale v pondelok, sme sa ponoriť do C. V tomto programe tu, to robí,
navždy, nasledujúce.
AK dotyku myši - teraz, kto je
súvislosti tu?
No, a všimnite si, že kto je vybraný tu dole
právo je mačka, sprite, takže sú tieto skripty, tento
Program, platí pre neho konkrétne.
Takže ak tá mačka sa dotýka myši, potom to bude
hrať túto dole a počkajte dve sekundy, a
opakujte najmenších podrobností.
>> Tak poďme do toho a hit hru.
Nič sa nestane, ale ak chcem maznať
cat teraz, môžem len.
[Meow]
DAVID Malan: Rozkošný.
[Meow]
DAVID Malan: Dobre, menej obťažujúce, ale aj zmatnie,
tak poďme ďalej a uvidíme, či nemôžeme aplikovať
trochu viac logiky.
To bolo napríklad sedem.
>> Tu v príklade osem, budeme
zaviesť ELSE podmienku.
Toľko ako doslovný rázcestí, v ktorom môžete ísť
vľavo alebo môžete ísť rovno, stav v programovaní
jazyk ako Scratch, alebo ako uvidíme C, vám umožní
ísť v jednom smere alebo iný cez If Else konštrukcie.
Takže doslova, AK dotýkať myši, táto
bude hrať nejaký zvuk, ELSE, že to bude hrať ten druhý
zvuk, mňau.
Teraz, ak môžete odvodiť z názvu týchto zvukov, môžete
asi tušíte, čo tento program je určený pre vykúzliť
myšlienka.
Táto mačka je meowing šťastne.
[Meow]
DAVID Malan: Našťastie, ale nie je
Celkom sa mi páči, aby sa dotkol.
[Reve]
DAVID Malan: Takže teraz máme mačku, ktorá bude kričať na teba.
>> Dobre, dobre, posledný príklad s mačkami tu, a
Poďme otvorená verzia deväť tu.
Takže teraz máme ďalšie Najotravnejšia zvuk, že som mohol
nájsť, takže máme mroža alebo mrože tu, kto bude
vykonajte nasledujúce.
[SEAL kôra]
DAVID Malan: Dobre, takže to bude pokračovať, kým sa prísť na to, ako
tento program funguje.
Takže tentoraz, to zviera má dva skripty, a to, čo je
Zaujímavé je, že tieto skripty budú vykonávať
paralelne.
Tak preto, že obaja začať s jedným zelené vlajky na neho kliknete,
je to ako ísť takto, a oba programy rozbehnú ju
raz, aj keď sú to slučky navždy.
Takže v hornej skriptu, mám nejakú logiku.
Aké funkcie, ktoré poskytujú tam?
[SEAL kôra]
PUBLIKUM: [Nepočuteľné]
DAVID Malan: Ak je to, čo?
[SEAL kôra]
PUBLIKUM: Ak stlmený na nulu, bude to hrať ďalej
zvuk. [SEAL kôra]
DAVID Malan: Dobre, dobre.
Takže ak tlmené, čo to je, to oranžová vec je nulová,
POTOM hrať mrože zvuk a že "Oh,
ahoj, "po dobu dvoch sekúnd.
Teraz, ja neviem, čo je stlmený, ale nulové vyvoláva
Myšlienka false alebo vypnúť.
Takže ak stlmený je nepravdivé, tak pokiaľ nie je vypnutý,
udržať prehrávanie zvuku.
Dobre, dobre, ako sme sa zakázať túto vec?
>> No, poďme sa pozrieť na druhom skript tam dole.
Druhý skript hovorí nastavená stlmený na nulu.
Všimnite si, že je to tiež oranžová, takže to, čo robí, je to Scratch farby
bloky v rovnakom odtieni, ak je to niečo
logicky súvisí.
Takže rovnako ako tlmené až hore bola oranžová, tak je stlmený tu
je uvedené v oranžovej bloku.
Ale to je len variabilné úlohy, takže rovnako ako v
algebra, máte X a Y a Z, v programovaní máte
premenné, ale oni sú všeobecne -
Vráťme sa na chvíľu zastaviť a postava ako
k zastaveniu tohto štekanie.
Ako to mám urobiť?
[SEAL kôra]
DAVID Malan: Dobre.
Prestalo to. Dobre.
>> Takže rovnako ako v algebre máte premennej x, y, a z, ale v
programovanie, ktoré majú premenné, ako x, y, a z všeobecne
odsudzovaný, pretože to nie je vôbec výrazný.
Nemajú sémantický význam vôbec, tak vo väčšine
programovacie jazyky, môžu premenné majú plné
plnohodnotné mená alebo slová alebo frázy, stlmený rád, povedať
čo robia.
Takže toto Druhý skript tiež počúval navždy, a povedal
Ak kľúč, klávesnica kľúč Space, je
lisované, otáznik.
Takže tam je to stav s logický výraz, ktorý je
bude odpovedať na otázku, ako pravdivo, alebo false,
potom som do nej, že si miesto stlačení tlačidla A
AK stlmený je nula, nastavte stlmený na jednu, ELSE nastaviť stlmený na nulu.
Takže ten druhý rázcestí, a všimnite si, ako som sa
vnorené dve, ak podmienky, je spôsob kontroly je
Space Bar stlačení, pretože ak áno, som buď chcem ísť túto
tak či onak.
A ako mám obrátiť hodnotu stlmený?
Musím zistiť, je to nula?
Ak áno, je to jedna, inak aby bolo nula až teda prepínať
jeho dva stavy.
>> Dobre, takže máme potom niektoré z týchto základných
konštrukty.
Máme booleovských výrazov, a uvedomiť si, taky, sú
nie je všetko, že neznáme.
V skutočnosti, tu je rýchly screenshot samozrejme Harvard je CS50
nákupné nástroj, a všetky webové stránky, ktoré tam má zaškrtávacie políčka
a pokles zostrelí naozaj, celú tú dobu, boli pomocou
Booleovské výrazy.
V tomto prípade tu, ak kliknete na zaškrtávacie políčko vedľa
Predmet väčšie alebo rovné 4,5, alebo rovnaký vedľa
fakulty, ste s uvedením logický výraz.
Ukáž mi kurzy, pre ktoré tento výraz je pravdivý.
Alebo doprava, nie je v rozpore s kurzami prečo som
pričom, ak je to, potom áno, chcete skontrolovať
táto podmienka, inak budete chcieť ignorovať.
Takže Booleovské výrazy sú trochu všade okolo, ale keď
dáme ich do podmienok, nech ak to podmienky, AK
Elses, alebo dokonca môžeme simulovať hlbšie
úrovniach, pokiaľ ELSE If Else -
tak to je niečo ako ternárnu stave.
Môžete ísť tadiaľ alebo tento spôsob, alebo tento spôsob.
Môžeme si ponechať hniezdenia veci ísť rôznymi smermi.
>> Tak Scratch má tieto slučky, ako Forever.
To má tieto funkcie, ako je Repeat 10, niektoré
konečný počet, koľkokrát chcete.
Máme schopnosť teraz nastaviť premenné, takže v tomto prípade sa
Ja som vyhlásil, napríklad premennú s názvom ponožky.
Som inicializované na 0, a to je ďalší smer
mohli sme zobrať tu s Jozefom, čím som možno
len sledovať, koľko ponožky mám na a ukončiť
program pri tejto premennej je hodnota 2.
To by bol iný spôsob, ako radiť z zovšeobecňovať, že
problém a robiť niečo znovu a znovu.
No, poďme ďalej a teraz predstavuje pár nových vecí.
Takže tí z vás s predchádzajúcim programovanie skúseností bude
viem, že mnoho jazykov má pole, alebo vektorov alebo
zoznamy, a naozaj, Scratch má niečo také taky.
Tak uvidíme, či sa nám podarí nebrať veci na ďalšiu úroveň tu.
Ak budem mať možnosť, teraz s týmito puzzle kúsky na
pridať niečo, ako slovo alebo číslo, do premennej, môžem
začať hromadiť veci.
A to je vlastne celkom apropos pre veci, ako sú hry,
hry na hrdinov, kde ste druh chodí
niektoré fantasy svet zbieranie vecí, vyzdvihnutie veci,
zbierať body, alebo podobne.
Možno budete chcieť sledovať nejakého druhu zásob, a
naozaj, že to, čo jeden z našich bývalých študentov tu robil s
niečo, čo nazýva Fruitcraft RPG.
>> Tak nechaj ma ísť napred a otvoriť túto vec tu, a vo
Fruitcraft, máme tento svet sa na vrchole.
Tak nechaj ma ísť napred a kliknite na zelenú vlajkou.
Oznámenie vľavo hore je nejaký druh zásob.
To je realizovaný v Scratch ako to, čo budeme hovoriť poľa alebo
zoznamu, a teraz máme túto malú animáciu.
Takže rovnako ako sme začali skôr s týmto príbehom cookie lásky,
a potom sme postúpili k mačiek a tuleňov, teraz môžeme mať
veci, ktoré sú ešte viac interaktívne.
A tento malý modrý chlapec, môžem začať pohybovať jeho
málo domov tu.
Takže to vyzerá, že má k výjazdu sem, takže som pomocou
sa šípkami, hore, dole, vľavo, vpravo.
A teraz som mimo, tak nech je to, čo som sa sem dostal.
Vyzerá to ako pomaranč, a naozaj, akonáhle som sa dotknúť
oranžová, dostane sa zvalil do svojho inventára.
Keď idem sem na čerešne, teraz mám niečo
iný v mojom inventári.
A to je pekné a roztomilé, ale premýšľať o tom, ako teraz, to
je realizovaný.
No, máme tento pojem v zozname, a to je zrejme
skladačky, že stačí povedať, čo chcete pridať na to, pridať
oranžová, pridajte čerešne.
A teraz, čo je to malý modrý chlap robí?
No, on je to škriatok.
A pravdepodobne, oranžovej a čerešne -
oni sami boli oddelené škriatkov.
A pomocou podmienok v logických výrazov,
Študent bol pravdepodobne schopný vyjadriť AK modrej chlap je
dotýkajú čerešne Potom pridajte slovo čerešne na jeho
zásob, a potom tiež skryť čerešňový sprite.
Takže pod kapotou, tam pravdepodobne ešte je čerešňa
sprite tam.
Práve sme povedali, aby sa stal skutočne neviditeľný.
>> Teraz, keď som ísť ďalej tu, môžeme vykonať aj
proximálnej vec, kde by som mohol ísť a čítať znamenia.
Takže ak blue chlap dotýka znamenie, môžeme mať to hovorí blok
rovnako ako mačka k nám prehovoril v slovách, ahoj, predtým, "Got
niektoré druhy ovocia?
Prineste ho na ovocie miesto. "Dobre, takže teraz, zdá sa,
Mám inštrukcie.
Môžem ísť sem na ovocie miesto, zarovnajte aby som sa
s dverami.
Teraz som tu.
Môžem ísť až k mužovi na prepážke.
On zistí, že som sa k nemu, tak to nemusí byť
docela rovnako dojemné, a ja som vyhral hru.
Tak tu to máme Fruitcraft RPG.
>> Takže môžeme robiť veci ešte pokročilejšie, než toto.
Môžeme pridať zvuky.
Môžeme pridať pseudo náhodnosť.
Môžeme pridať zložitosť.
Nechaj ma ísť napred tu, a skôr než robiť to sám,
dovoľte mi, aby som vám ukázať jeden z viac sofistikovaných podania
sme v minulom roku z určitého niekoho menom Blake.
Môžeme mať jedného dobrovoľníka, ktorý je pohodlný objaviť na
fotoaparát a je pre hranie hier?
Ako asi tu?
Poď hore.
Dobre, takže hra, ktorá ste práve nevedomky
dobrovoľne hrať -
[APPLAUSE]
DAVID Malan: - je niečo, čo z dávnych čias tzv
"Frogger." Aké je vaše meno?
Renda: Renda.
DAVID Malan: radný?
Renda: Je to ako Brenda s b.
DAVID Malan: Dobre, Renda.
David.
Rád Vás vidím.
>> Takže tu v "Frogger", a ak by sme mohli zvýšiť objem len
trochu, ste tento malý
zelená žaba na dne.
Môžete použiť vľavo, vpravo, hore a dole, a vaším cieľom je, aby
cez ulicu, cez rieku, a kliknite na ľalie podložky
v hornej časti.
Aw.
One More t -
redo, dobre?
Poďme hit stop.
Nikto nevidel, že.
[APPLAUSE]
DAVID Malan: Jo.
Veľmi dobre.
Skvelé, ďakujem.
>> Tak, že došlo Frogger. Teraz, keď viete, čo ste
dostal sami do, ešte jeden dobrovoľník pre rôzne
Hra nám iným študentom.
Ak chcete ísť hore?
Ako sa voláte?
RICHARD: Richard.
DAVID Malan: Richard.
Dobre, Richard, poď hore.
[APPLAUSE]
DAVID Malan: Máte niečo, čo bude znieť
oboznámení čoskoro, takže tu sú vaše inštrukcie.
Takže vo chvíli, niektoré dieliky budú posúvať nahor
na obrazovke, ktorá vyzerajú buď vľavo
alebo vpravo hore alebo dolu.
Budeš musieť zasiahnuť šípkou takým spôsobom,
že zodpovedá týmto dielikov čakajúcich s
zástupné symboly v hornej.
Takže keď vidíte šípka vľavo, a to linky s ľavou
arrow, udrel na šípku doľava.
Môžete začať.
[MUSIC - "silnejší" Kayne West]
DAVID Malan: Dobre, veľký potlesk pre Richarda.
[APPLAUSE]
DAVID Malan: Veľmi dobrá práca.
Ďakujem.
[APPLAUSE]
>> DAVID Malan: Tak zábavné a, zdanlivo, druh
zastrašujúce ako by mohla byť na realizáciu niečo ako
zdanlivo sofistikované ako to, uvedomiť si, že študent
neboli stanovené a len písať to všetko naraz.
Skôr, môžete rozobrať problém ako zdanlivo zložité
pretože to v oveľa menšie kúsky, a to je tiež
bude témou.
Najhoršia vec, ktorú môžete urobiť pri písaní programu vo väčšine akejkoľvek
jazyk je, aby sa posadili, sa naozaj vzrušená, napíšte
Celá tá prekliata vec, a potom už len dúfať, že to funguje
Čas, ktorý sa dokončenie písanie.
Skôr by proces plánovania všeobecne
byť veľmi úmyselné, veľmi iteratívny, kedy stačí
nastaviť veľmi malé kroky pre seba, bite-size kúsky
chceš odhryznúť, a tak, že máte tieto zdravý rozum
kontroly, malé míľniky môžete stretnúť.
A potom budete stavať na vrchole tých vytvoriť viac
sofistikované veci stále.
>> Tak napríklad, ako by sme ísť o
, Ktorým sa vykonáva hru ako je tento?
No, úprimne povedané, určite by som začať tým, že práve
podporuje jedno tlačidlo naraz.
Povedzme, implementovať podporu pre ľavé šípky.
Takže študent mal nejako vytvoriť v Photoshope, alebo v
Scratch sa pomocou malej grafický editor, k
arrow kľúč, ktorý vyzerá ako ten hore vľavo, len tam
sivý zástupný symbol.
Potom študent mal zistiť, čo sa x, y koordinovať
dať, kam to dať v okne.
0, 0 je tu, takže budete musieť prísť na rad
pixelov, alebo bodky, na vyrovnanie ten šíp z
v hornej časti obrazovky.
A potom ešte raz, že je v mieste, váš program nie je v skutočnosti
robiť niečo ešte, takže potom je potrebné druhý sprite, pre
inštancie zelená šípka, ktorá je tiež ukazujúce vľavo, a vy
potom je potrebné začať písať nejaké skripty pre neho.
>> A ste si všimli, možno, že tieto veci začali prichádzať na
pri rôznych rýchlostiach, a farby boli v rôznych
miesta, a to preto, že sa študent používa trochu
pseudo náhodnosť.
A tým pseudo náhodnosti, som len povedať, vybrať číslo
medzi niečím a niečo, pretože môžete
začať mape veci, ako keď číslo je medzi jedným a
päť, dobre, poďme sa vec zelené.
Ak je to medzi 6 a 10, poďme sa na kúsok skladačky
červená miesto.
Tak dlho, ako máte spôsob generovania nejaký
náhodnosť, môžete potom urobiť rozhodnutie na základe toho
náhodnosť.
A ja si hovoria pseudo náhodný, pretože tam je
trochu špinavé tajomstvo.
Počítače nemôže prísť s náhodnými číslami.
Môžu robiť len to, čo sa im povie, pretože
sú umelé zariadenia.
Nemôžu len hádať číslo ako my, ľudia,
pocit, že môžeme.
Počítač musí niečo urobiť matematický vykúzliť
ilúzie matematické čísla, niekedy používať
aktuálny deň času ako vstup do zisťuje, čo
Číslo vrátiť, ale o tom až inokedy.
Pre túto chvíľu, len viem, že môžeme vytvoriť pseudo náhodnosť.
>> Takže akonáhle som tú možnosť pre ľavé šípky pre spustenie
objaviť v rôznych časoch a na rôznych rýchlostiach, a potom
Môžem sa vrátiť a pridať niektoré z nich, ak podmienky.
Ak tento sprite sa dotýka druhú a ľavá šípka
bolo stlačené tlačidlo -
takže tri podmienky uvedené v tomto prípade.
Môžem použiť, že a blokovať možná, v tomto prípade -
Potom chcem ísť ďalej a zvyšovať skóre.
A hore, máme skóre, máme Awesome,
Cool, Good, a Boo.
Takže tam to vraj piatich premenných, ktoré tento študent
slúži na sledovanie týchto rôznych metrík.
Takže v skratke, konečný výsledok je úžasný.
Je to zábava, je to zábava hrať, je to pútavé, ale to nie je
kde študent začal.
On alebo ona začala pri oveľa menšej sadu krokov.
>> Takže aké sú niektoré ďalšie stavebné bloky, ktoré môžeme
väzba do týchto programov?
No, tam je to iné poňatie vo väčšine jazykov,
Stieracie medzi nimi, známy ako závity.
Takže počítač vlastne nie je naozaj viac vecí na
Doba, aspoň nie obvykle.
Skôr, počítač má zvyčajne len jeden procesor, a dokonca aj
aj keď počítače sú veľmi rýchle a môže preto,
vytvoriť ilúziu robiť viac vecí naraz -
kontrola pošty, ako sa okamžite
správa, tlač dokumentu -
Naozaj, počítač je len skákanie z tlače až IMing
na odosielanie e-mailov, späť a späť a tam a späť tak rýchlo, že sme
pomalé nechápavý ľudia jednoducho neuvedomujú, že je to vlastne
beží Tieto programy trochu v čase.
Teraz, to trochu biele ležať v týchto dňoch, pretože v dnešnej dobe,
mnoho našich počítačov je to, čo sa nazýva multi-core, takže
majú jeden procesor, ale viac jadier, čo je niečo ako
s viacerými procesormi.
>> A tak niekedy, môžu počítače skutočne robiť viac vecí
v čase, ale všeobecne v rámci programu, programy
spoliehajú na tieto veci zvanej vlákna.
Takže vlákno je niečo ako miniatúrne programu, ktoré môžu
existujú vedľa iného miniatúrne programu a môže spustiť
paralelne, alebo aspoň môže bežať v ilúzii, že
že beží súčasne.
Tak Scratch podporuje tieto veci zvanej vlákna.
Môžete mať viac skriptov vykonávajúci naraz, rovnako ako my
urobil sa levom mora, a to nám umožňuje skutočne
potom interakcie medzi týmito škriatkov.
Nechaj ma ísť napred sem a vytiahnuť, povedzme, vlákna, a
hrať to nasledujúcim spôsobom.
Máme dva prízraky, z ktorých každý uvidíme
má len jeden scenár.
A zistíte, že sa zdá byť nejaký inteligencie
mačka v tejto jednej, pretože on je stále bližšie -
[Reve]
DAVID Malan: - a bližšie k vtáčika.
>> Tak, ako je vták lieta?
No, poďme sa pozrieť na vtáka ako prvý.
Vták skript povedal po kliknutí zelená vlajka, choďte do adresára X
rovná zápornej 115 a y sa rovná 150.
Tak som prišiel na to, náhodné miesto, kde som chcel
vták začať, a ja len zvalil ho tam v predvolenom nastavení.
Potom Forever AK nedotýkajú mačku, tak to je iná
druh konštrukcie cyklu, ale rovnaký nápad, urobiť to znova a
znovu a znovu.
Tak dlho, ako ste sa nedotýka mačku, presuňte tri kroky, a
ak ste na hrane, odraziť, kde je to trochu
odraz v zmysle biliard.
Tak to je, ako sa vták pohybuje druhu
zdanlivo náhodne, ale je to len preto, že je to so odrazil
steny v tomto prípade.
>> Teraz mačka, medzitým, je tak trochu podvádzanie.
Mačka sa, keď používateľ klikne na zelené vlajky, áno, začína v
určité miesto, náhodné umiestnenie -
aspoň čiastočne podľa pick
náhodné zelená blok tam -
a potom Forever KEĎ dotyku vtáka, hrať lev zvuk,
a potom sa zastaví skript.
Takže keď som povedal ukončiť, alebo ukončiť skôr, tam je puzzle
kus Scratch, že bude len tak zabiť program sa na to
bodu, pretože je to trochu logicky urobiť.
Ale inak, tu, všimnite si, čo sa bude diať.
Bod k vtáka a o krok.
Takže tento bod k vták je tak trochu výhodu mačky
má v tom, že je to navádzací v na pohyblivú vtáka, a môžeme
Teraz, aby tento program all zaujímavejšie.
Miesto presunutie o jeden krok v čase, za cyklus procesora, za
štrajk mýto na zvončeku, aby som tak povedal, nechaj ma ísť napred a
pohybovať, povedzme, päť krokov naraz ako mačka.
Kliknite na tlačidlo Spustiť, a teraz naozaj ho nájde rýchlo.
Ak by sme zdvojnásobiť to ďalej 10 krokov, je trochu ide
právo na neho.
Teraz môžeme dať vtáka,
možno, trochu výhodu.
Poďme na vtáka a povedal miesto pohybu tri kroky,
poďme ho 30 krokov.
Ale stále bol chytený na konci.
>> Takže tu máme dve vlákna.
Je uväznený v Scratch s dvoma skripty a dva
škriatkovia, ale myšlienka v iných jazykoch je to, že môžete
napísať, v podstate, príliš veľa programov, ako je tento, a majú
je beh skutočne, alebo pomyselne, paralelne.
>> Teraz, tam je aj tento koncept v programovaní známy ako
udalosti, a to je niečo, čo sme sa nevideli v C, sa
jazyk známy ako C. Uvidíme ju na konci semestra
programovanie pre web, kedy sme predstavili JavaScript a
Pojem stránok stavebných webových ktoré sú dynamické a vzájomne
s používateľmi.
Takže v tomto prípade je nutné veľmi jednoduchý príklad dvoch
škriatkovia, chlapec a dievča, z ktorých každý má svoje príslušné
nite, ale nejako tieto dva sú vzájomne komunikovať prostredníctvom
zo dňa niečo ako akcie.
Tak nechaj ma ísť napred sem a priblížiť na chlapcovej skriptu,
ktorá vyzerá takto.
Keď zelená vlajka kliknutí navždy vykonajte nasledujúce.
Ak kľúč Space, alebo Space Bar, je stlačené, hovoria
Marco po dobu dvoch sekúnd, to je čisto estetického na
obrazovke, trochu speech bubble, ale potom vysielať.
>> Takže vysielanie je ďalší Scratch kus, ktorý je
zástupca triedy funkčnosti v programovaní
, Ktorý umožňuje rôzne programy, rôzne nite,
pochovať-komunikovať, nejako poslať
správy, jeden pre druhého.
Odovzdávanie kus papiera v triede je niečo ako nízka tech
ekvivalentné.
Takže vysielať udalosť.
Môžem poslať túto správu, a slovo akcie
je úplne ľubovoľné.
Scratch niekedy má tieto vrhnutých zostrelí, tak som len prišiel
s náhodným slovom, ako udalosť, pretože teraz, čo chlapec robí
keď som stlačte tlačidlo je, že vysiela túto udalosť.
A keď som sa pozrieť teraz na dievčaťa skriptu, jej skript je
super jednoduché, pretože všetko, čo musí urobiť, je nemôže konať, ak
zelená vlajka je kliknutie.
Ona je navrhnutý tak, aby pri akcii, keď sa dostane citovať, unquote,
"Akcia", a na tom mieste, ona počúva preto
tzv udalosť znovu a znovu.
Akonáhle sa dostane túto udalosť, si to bude kričať
Polo po dobu dvoch sekúnd.
>> A tak si môžete snáď vyvodiť z tohto presne to, čo
ďalšie výsledok bude.
Dovoľte mi, aby som kliknite na zelenú vlajkou.
Nič sa nestane, pretože musím robiť čo?
Divákov: Space Bar.
DAVID Malan: Space Bar.
Chlapec hovorí Marco, dievča hovorí Polo.
Ale to nie je pevne dané samo o sebe.
To je vzájomnej komunikácie medzi skripty, takže teraz
majú schopnosť urobiť ešte zložitejšie programy, kde
tieto dva sú tak nejako vzájomne komunikujúcich.
>> Takže to, čo smermi môžeme vziať?
No, problém súboru 0, naozaj, je cieľom
bavte sa s Scratch.
Pre hackera vydanie, budete namiesto toho baviť s viac
sofistikovanejšie verzia Scratch tzv BYOB, Build
Vaše vlastné bloky, ale myšlienka je rovnaká.
Budete môcť -
Áno, to bolo úmyselné.
Prišlo to z Berkeley.
BYOB je hacker vydania verzie, ale ako
demografia, Standard Edition a Hacker vydanie podobný,
cieľom pri ruke pre nadchádzajúci týždeň je naozaj len do toho ponoriť
hlboká, dostať svoje špinavé ruky s programovaním, a aby
niečo zaujímavé, aby sa niečo interaktívne, aby
niečo umelecké, urobiť niečo zábavnejšie skutočne
preukázať, takže do konca týždňa, budete mať projekt,
nielen pre svoje prvé CS50 PSet, ale budete mať
Niečo málo, že môžete predviesť v Annenberg na
priatelia, alebo dokonca rodinné podľa nahrať na webové stránky MIT.
A tak, ako som povedal v stredu očakávame 90% triedy,
všeobecne, k tomu štandardnej edície.
Uvedomte si, že je tu aj táto zásuvka pre tých z vás, ktorí
by inak nájsť si trochu nudiť sa základy
a naozaj chcete ponoriť a remeslá víziu ste už
mať s predchádzajúcim pozadia v to viac priateľský
prostredie.
>> Dovoľte mi teda vytiahnuť jeden ďalší príklad, že jeden z náš bývalý
Študenti tu urobil a povedať niečo málo cez piesne.
, Ktorý podobne, ako to hrá, myslím, že o tom, ako ísť o
vykonávaní tohto programu pomocou presne tie isté
stavebné bloky, trochu pseudo náhodnosti, a
trochu známe piesne.
Ak by sme mohli zvýšiť objem len trochu?
[MUSIC - "Prší muži" The Weather GIRLS]
>> DAVID Malan: To je to pre CS50.
Uvidíme sa v pondelok.
[APPLAUSE]