[Powered by Google Translate] [ROCK MUSIC]
[MUSIC - "Happy Together" a teknősök]
DAVID Malan: Ma, kezdjük a feltárása
alapjait a számítógép-tudomány és a bevezetése,
Most, hogy a programozás művészetét, amelynek ez
csak egy példa.
De ugyanebben a szellemben a problémamegoldás, tudom, hogy
CS50 hagyományos Puzzle napja van holnap.
Ha már nem küldött RSVP visszajelzést erre az eseményre, akkor menjen a
cs50.net/rsvp.
Tudod, hogy csapat két vagy három vagy négy.
Akkor lehet megtámadni problémák, mint például az, hogy látta
ott az elején.
Minden új problémák ebben az évben, ha ettek tavaly, és
lesz még egy esélyt, akkor nyerni néhány mesés díjakat.
Közülük, a Wii és néhány ajándékutalványok és hasonló,
mindeközben lógni CS50 diákok és osztálytársak
és a pizza és a Facebook.
Tehát többet, hogy holnap, ha szeretné.
>> Ez tehát CS50, azok számára, csatlakozik hozzánk a
első alkalommal.
És tudom, hogy ez a tanfolyam különösen eltökélt szándéka, hogy
végig ezt az utat a végső célból készült, mely ponton
lesz nem csupán egy megértsük ezeket a
alapjait a számítógép-tudomány, de akkor
ez nagyon praktikus készség készlet, amit majd vigye vissza
saját osztály, hogy ez a mérnöki tudományok,
alkalmazott matematika, a természettudományok, a természetes
tudomány, vagy a hasonlók.
Sőt, mi olyan izgalmas számítástechnika e
nap, hogy ez csak úgy alkalmazható
mindenféle területen.
És bár ma már csak karcolja meg a felületét egy
nagyon hagyományos programozási nyelv nevei C, akkor
ehelyett nézz valami úgynevezett Scratch, valami
amelyben a cookie-szerelmi történet hajtotta végre az egyik
elődeik az elmúlt években, történeteket mesélni, hogy hozzon létre játékok,
létrehozhat interaktív művészet, és a rajthoz, hogy lezárja a
elmék körül néhány alapvető konstrukciók
hátterében programozás, de olyan körülmények között, mint látni fogod, hogy ez
sokkal kevésbé ijesztő, ez sokkal kevésbé misztikus, mint látni fogja
nemsokára.
És észre is, azok számára csak csatlakozott hozzánk e
félévben, a mondatok, melyen végül szerdai előadás,
ez nem olyan fontos, ha a végén képest a
osztálytársai ebben az osztályban, de hol van, a félév végén
A héten 11, a végén viszonyítva magad jobbra a mai napig.
>> Tehát minden további nélkül, ez is érdemes megjegyezni, hogy
kevésbé kényelmes, az valahol a kettő között vannak
is, a terv ennek természetesen nem semmilyen hátrányos
vis-a-vis azok sokkal kényelmesebb
jönnek ebbe az osztályba.
Mint látni fogod át az elkövetkezendő hetek során, akkor különböző
pályák eltérő vissza háttérkép, szakaszok azon
kevésbé kényelmes, kényelmesebb, e valahol
a kettő között.
Mint látni fogod, ezen a hétvégén, és a jövő héten, két változatban
legtöbb probléma készletek standard és hacker verzió így
hogy mindenki saját válassza le az utat, amellyel
a legkényelmesebb.
>> Szóval ma már belevetik magukat a programozás
nyelv úgynevezett Scratch.
Ez egy grafikus programozási nyelv, és mégis van
Ugyanazokat a funkciókat egyes magasabb szintű nyelvek fogunk
vizsgálja meg később a félévben, köztük a C és
JavaScript és a PHP.
De ez majd lehetővé teszi számunkra, hogy ne néhány zavaró
elején a szintaxist, dolgok, mint a pontosvessző, zárójel,
és egyéb misztikus részleteket, első pillantásra, csak nem
minden intellektuálisan érdekes, és általában kap
Az út néhány alapvető megértést.
Ami most a támogatási struktúra előre, rájött erre
eszköz, CS50 Fórum, amely kapcsolódik a kurzus
website ma később, az online vitafórum a
ahol Ön képes lesz arra, hogy kérdéseket tegyenek fel egymásnak és
személyzet, és ez is egy eszköz, mint látni fogjuk a jövő héten,
hogy fel fogjuk használni elég szervesen az
munkaidőben is.
Valóban, munkaidőn kezdődik hétfőn, és őszintén szólva, az első
hét hivatali órák meglehetősen alacsony kulcs.
>> Nem hiszem, hogy talál Scratch minden megközelíthetetlen.
Elég magától értetődő, mint látni fogjuk, és akkor mi van
fogjuk használni, hogy a mai napra, hogy kivonat néhány
alapvető ötleteket, hogy majd, majd szerte továbbra is
többi félévben.
De a kezdő, hétfő, at 8:00 keresztül 23:00 lesz
hivatali órák alatt Annenberg agyban szünet.
A vágás 2 kezdődik ma este, így valamikor a
hétvége, menjen a cs50.net/section, és akkor
kérni, számos kérdést.
Közülük, hogyan írnád le a
kényelmi szint, mint a mai?
Nincs nehéz, gyors szabály, hogy aki ahol vödör.
Ez csak az a fajta dolog, hogy akkor valószínűleg tudja, ha
azok közé a kevésbé kényelmes, vagy más módon.
>> És most, walkthroughs.
A probléma készlet specifikáció ezen a héten, a két szabvány
és hacker kiadás egyaránt, az online cs50.net, mint most.
És látni fogod, hogy az első ilyen kiadás, a
Standard Edition minden héten kíséri valami, amit
hívja a kódot walkthrough, egy session által vezetett egyik
Természetesen tanítási fickók, hogy végigvezeti Önt, adjon
tippek, és neked meg egy bizonyos utat, amikor
megkezdése e probléma készletek.
Tehát mindegyik probléma meghatározza, ha valaha is akar
magának hol kezdődik, akkor kezd ezekkel
walkthroughs.
És valóban, engedjék meg, hogy bemutassam Zamyla Chan, ez
évi tanítás fickó, aki fogja vezetni minden egyes
egy ilyen walkthroughs.
Zamyla?
>> [Taps]
ZAMYLA CHAN: Oh, szia, mindenki.
A nevem Zamyla.
Én vagyok a junior tanuló mérnök Winthrop House.
De megpróbálom, és illeszkedik a legtöbb számítástechnikai tanfolyamok I
lehet, ezért nagyon izgatott vagyok, hogy ezt a vezető
év walkthroughs.
Rövidfilmek, nekem volt fontos része a CS50
tapasztalat.
A walkthrough, minden p-set, akkor megy keresztül
A probléma meghatározott együtt nézd át a problémákat, milyen
osszuk fel őket könnyen kezelhető harap.
Adok tippeket, technikákat, a szerzés
keresztül, és a kezdetekhez.
Remélem, hogy mindannyian a walkthroughs.
Ha nem tudod, hogy azt az ember, majd
tegye dallam online.
>> DAVID Malan: Excellent.
Köszönöm, Zamyla.
Tehát észre, hogy walkthroughs vannak, sőt, pénteken
délután, de ez szándékosan tervezési úgy, hogy
akkor is, ha inkább nem vesz részt osztályban pénteken
délután, a videók akár annál gyorsabban át
a hétvégén.
Tehát észre, hogy cs50.net lesz minden Zamyla a
walkthroughs.
És ez van a mai dátum és idő, 3:00 PM,
Harberd Hall, 104.
És néhány tanítási ösztöndíjasok is elő
néhány megjegyzést az Ön távollétében kapsz egy kicsit
szempontból, hogy milyen tapasztalataik kerülő és
megy ki a CS50 volt, mint.
Tehát, ha tudnánk halvány a világítás egy pillanatra, adok neked
néhány CS50 személyzetének.
>> JACKSON Steinkamp: vettem CS50 tavaly, mint egy újonc a
esik, és ez teljesen elszállt az agyam.
Én még soha nem szedett programozási osztály előtt,
és soha nem jött be minden számítógép-tudomány
tapasztalatot minden.
És csak, hallottam a fless az osztályban, és
úgy döntött, hogy azt.
>> JULIA Mitelman: Ez volt igazán szórakoztató, nagyon megnyerő.
Még mindig, a mai napig -
Én csak nemrég láttam én azt a hajlékonylemezt, David adta nekünk
a mi első napján előadás.
Én felakasztotta én falra.
Ez talán egy kicsit nerdy, de lógott én
fal alatt az osztály, mint egy emlékeztetőt, hogy milyen jó volt.
>> TRAVIS DOWNS: Ez annyira kínos.
>> JACKSON Steinkamp: Számítógép tudomány, amit
kell próbálni akkor is, ha nem egy-egy
a hagyományos tudományok.
Ez saját tapasztalat, és CS50 majd győződjön meg róla,
támogatta jól rajta a valóságos hadsereget TFs.
>> ALI Nahm: vettem, mint egy újonc, és így egy csomó
Az új barátok.
Én is kaptam bevezetésre az egész összefonódást, és a
egész iskola mérnöki, ezért én nagyon ajánlom
és üdvözöljük Önt CS50 családnak.
>> Yaniv YACOBY: CS50 csak bemutatja, hogyan használható eszközök
hogy a széles körben hozzáférhető.
Csak kell egy laptop, szüksége van egy web böngésző, és
meg kell tanulni írni egy kódot, és akkor tényleg építeni
ügyes dolgokat.
>> KAREN Xiao: Ez annyira jó, hogy képes legyen valami
és az emberek használják, és az emberek látják, és ez
amit igazán szeretek rá.
>> TIM MCLAUGHLIN: - a közösségi érzés, azt hiszem, ebben a
Természetesen több, mint bármely más tanfolyam vettem eddig.
Te nem csak vesz egy másik -
te nem töltés másik követelmény.
Te nem csak fog előadásokat és megy részt.
De te csinálsz tonna dolgokat, amelyek egész
programozás és minden a technológia, de nem
Tényleg érzem magam, mint egy osztály a legtöbb időt.
>> TRAVIS DOWNS: És az első napon, ők adják ki torta, és
Én azonnal eladták.
>> JACOB PRITT: Free édességet és pizza.
>> ZAMYLA CHAN: - tekintet nélkül a kamatszint, azt hiszem,
hogy CS50, akkor szórakozni, és te leszel intellektuálisan
ösztönözte.
>> MARK GROZEN-SMITH: Ez mindig egy fél osztály, és ez a
minden este buli dolgozik a p-set.
>> JACKSON Steinkamp: Minden alkalommal, amikor befejezi a probléma meg, akkor
fogja érezni, mint elkészült a projekt.
>> MELISSA NIU: Ez volt elsőéves, és én kész vásárolni.
Én már négy osztályba kész, és voltam Annenberg.
És belebotlik egy barátom, és azt mondja, hé, én vásárolni
Ebbe az osztályba nevezett CS50, és jöjjön velem.
Végül figyelembe azt, hogy az ősszel, és azt követően, hogy az osztály, I.
gondoltam megyek kiskorú CS.
De itt vagyok, három évvel később, még mindig tanul számítógép
a tudomány és a ténylegesen csinálja, mint egy nagy, és szerettem minden
pillanata is.
>> ROB Bowden: Fogalmam sincs.
>> ALI Nahm: Lássuk.
>> MELISSA NIU: őrület.
>> SPEAKER 1: Úgy érzem, mintha én lennék nagyon közhely.
Én csak azt mondom, mint, félelmetes.
>> Yaniv YACOBY: Megközelíthetőség.
>> JACOB PRITT: Free édességet és pizza.
>> TRAVIS DOWNS: Nem kapcsolja le egy osztályt, hogy kezét torta.
>> TIM MCLAUGHLIN: Energetikai.
>> Vipul Shekhawat: Essential.
>> ROB Bowden: Hadd gondolkozzam egy választ.
Azt hiszem, találtam valamit.
Ó, Istenem.
Igen, a nevem Rob Bowden, és ez CS50.
>> [Taps]
DAVID Malan: Rendben, kezdjük festeni egy képet
Az milyen irányban tudunk menni, és hadd vezessen be
ezt a fogalmat itt nevei pszeudokód.
Tehát pszeudokód nem egy programozási
nyelv hozzátok is.
Semmi technikai per se, de ez csak egyfajta
általános kifejezési módja magad elég pontosan,
meglehetősen algoritmikusan, elég eljárásjogilag, de nem
kelljen aggódnia milyen nyelven te expresszáló
magát be
Ez néhány modellje az angol és programozási nyelven
amit történetesen ismerős, így tudjuk kezdeni
írásban ezt a fajta dolog, ahogy haladunk.
És valóban, Joseph, tudtam kölcsön Önnek a színpadon kell lennie
írnok itt?
Mentem előre, itt előre, és elfelejtett tenni
néhány zokni ma, és ez lesz körében látna
nevetséges példák.
>> Most, szükségem van rád itt.
Majd én zokni részt.
Tehát itt van egy kis karcolás pad.
Ez szó szerint csak TextEdit egy Mac.
Mi valójában nem fog írni egy futtatható programot, de
mi csak fog kezdeni vonalvezetés ki pszeudokód alapú
a néhány tanácsot az Ön által megadott ide.
Tehát itt van a halom zoknit otthon.
Nincs zoknit, amikor felébredek reggel, és most
kell írni egy programot, egy algoritmus a fajta, amellyel
, hogy ezek a zoknit a lábamra.
És az út mentén, lássuk, ha út felett, vagy találkozás,
néhány ötlet, hogy fogsz kell kezdeni
gondoltam sokkal komolyabban programozásakor
nehogy a programok nem viselkedik annyira tervezték.
>> Szóval ülj le ide.
Megvan a halom zoknit.
Mi az első dolog, amit egy emberi lény lenne ésszerű
teendő, ha a cél az, hogy egy pár zoknit?
Valaki adjon nekem egy lépéssel, és csak egy lépés.
Igen?
KÖZÖNSÉG: Hajolj le.
DAVID Malan: Hajolj le, Ok.
Második lépés.
KÖZÖNSÉG: Vedd fel a zokni.
DAVID Malan: Vedd fel a zokni.
Oké, tehát csekély kétértelműség itt, és ez az egyik első
beárnyékoló, hogy mi kéne, hogy szándékosan
találkoznak itt.
Ez egy kicsit félreérthető, ezért vedd fel a zokni.
Rendben, ezt egy, de a számítógép, megvalósítani csak egy
bit, nem megy, hogy ez a fajta emberi ösztön, hogy csak
válassza a legközelebbit.
Elmegyünk kell kezdeni, mielőtt hosszú, kifejező
magunkat pontosabban.
>> Rendben, tehát a második lépésben az vegye fel a zokni.
Majd vedd el.
Lépés három.
A vissza.
KÖZÖNSÉG: Találja meg pár.
DAVID Malan: Find egyezési pár.
Oké, ez jó.
Kellett választani a zokni.
Tehát a cél az, hogy megtaláljuk a matching zokni, most, de mi
jelent ez?
Ésszerű emberi lény, ugyanúgy, mint szerdán, amikor csak
tudta, hogyan találjuk meg Mike Smith egy telefonkönyv, csak egyfajta
ment az ösztön.
De itt, ez nyilván a zokni itt, hanem a számítógép
Nem lesz annyira ösztönös.
A számítógép megy, hogy egy gyűjtemény a bitek, mint mi
tárgyalt szerdán, és ezek
megszervezni valahogy a memóriában.
De a lényeg az, hogy a számítógép csak képes
nézni a dolgokat egy olyan időpontban, sőt, még mi
az emberek - bár úgy érzem, mintha lenézett és split
másodperccel később tudom, hol a zokni van, az agyam és a szemem
feltehetően nem egy gyors sovány e zokni, majd reteszelt
az, hogy az egyik a szóban forgó.
>> Tehát, ha még ennél is több szándékos most, mint egy számítógép,
hogyan találta ezt az egyezés pár?
Nos, meg kell navigálhat.
Meg kell talán loop át ezt a rendetlenség a zokni a
emelet, amellyel mondok valami ilyesmit MINDEN zokni, vedd
fel, és ha a egyforma alakú és méretű, mint a másik, AKKOR
pont, pont, pont, akkor folytassa a történetet.
Tehát minden zokni, úgyhogy vedd fel ezt.
I megtekintéséhez ez egyenlő ezt.
Ez nem, úgyhogy félre oldalon.
Aztán hajtogat újra.
Hát ez egyenlő?
Nem, ez nem, úgyhogy tedd félre.
Ez egy?
Nem.
Ezt?
Nem, és így tovább.
És végül, remélhetőleg, én találkozik ezzel a zokni itt.
Tehát, ha ez ugyanaz a forma, méret, vedd el.
>> És most, mi lenne a következő lépés itt?
Igen?
KÖZÖNSÉG: Azonosítsa jobbra balra.
DAVID Malan: Oké, azonosítani jobbra és balra, így a
Szerencsére ez a fajta munka.
Egy kis szimmetrikus, vagy épp most kopott őket így.
Rendben, így már azonosították a jobb oldalon.
És most, mielőtt folytatja, hadd rámutatni mi József
is csinál itt egyfajta jártas programozó.
Tehát újra, senki sem ezt a módszert, de nem csupán
számozás a sorok, Joseph már elkezdte ezt
fajta behúzás.
Valóban, ez egy nagyon gyakori egyezmény programozás,
amely, ha nincs valami iteratív, a ciklusok stílus,
mi ami az angol kifejezés "MINDEN
zokni, "az egyezmény pszeudokód, és mint látni fogjuk,
normál programozási nyelvek, hogy csak francia.
Hit a szóköz néhányszor, nyomja meg a Tab billentyűt, vagy hasonlók,
hogy a beágyazott alatt "minden zokni" a darab
dolog, hogy meg kell csinálni, mint eredményeként az a hurok.
Szóval ez minden, ami közvetíti szemantikailag.
Most eközben a "Ha ez az egyforma alakú és méretű, a"
tény, hogy a "Take it" van vágva tovább csak azt jelenti,
ez az egyetlen dolog, amit meg kell tennie, ha ezt a feltételt,
ha elágazik, hogy útelágazáshoz, valójában igaz.
>> Szóval most itt vagyunk lépésben négy azonosítása jobbra és balra.
Már azonosított van.
Adj egy lépés öt.
És technikailag, akkor tényleg hívni
A MINDEN dolog -
akkor valószínűleg számlálni a sorokat, ha
fogjuk ezt tenni.
JOSEPH: [hangtalan]
DAVID Malan: [hangtalan]?
Oké, rendben, rendben, akkor csináljuk az utat.
Rendben, szóval lépésben öt, hogyan csináljunk a megfelelő zokni?
Hogyan járjunk legközelebb, itt van?
Igen?
KÖZÖNSÉG: Emelje fel a jobb lábát.
DAVID Malan: Emeljük fel jobb lábbal, Ok.
Hatodik lépés?
Gyorsan.
Igen.
KÖZÖNSÉG: Keresse meg a nyitott vége a zokni.
DAVID Malan: Oké, keresse meg a nyitott vége a zokni.
Akkor jó.
Tehát itt, őszintén szólva, egy nagyon gyakori ösztön ez csak
hozott jobb zokni, de ez is elég egyértelmű.
Amennyiben a számítógép vagy humán pontosan tudja, hogy ez mit jelent,
ez nem lesz, hogy végre, hogy így van, én már
talált a megnyitón a készlet.
Hét lépés?
KÖZÖNSÉG: érintse meg a bokáját.
DAVID Malan: Touch lábujjak.
Oké, most megyünk -
Rendben, megyek, hogy néhány szabadságjogok itt.
Kösz.
Lépés nyolc?
Vedd fel zokni.
Oké, akkor most én, szerintem közel vagyunk ahhoz, hogy egyfajta figyelembe
ez egy otthon.
Rendben, ez megy fel.
Elviszem néhány szabadságjogok az, hogy mit jelent valójában.
Tegye a zoknit.
Rendben, most lépjen kilenc?
KÖZÖNSÉG: Tedd láb le.
DAVID Malan: Köszönöm.
Step 9, tedd láb le, és most mi is ismételje meg.
Így feltételezhető, most már menni a 10. lépésben, és azt mondják azonosítása
balra zokni, de ez feltehetőleg már megtörtént.
>> És így aztán, én is egyfajta ismételje meg ezeket a lépéseket.
De ez a fajta felveti a kérdést.
Előtt, az utolsó alkalom akartunk megismételni valamit, amit
csinálta iteratív, újra és újra, a FOR
MINDEN loop hogy úgy mondjam.
Lenne értelme használni egy hurok kezelése érdekében mindkét
A bal és a jobb zokni?
Mert olyan, mintha ezek a műveletek nagyon sok
azonos kivéve azt a tényt, hogy egy itt kezdődik és egy
Itt kezdődik?
Vajon hurok, vagy inkább már csak tartani írásban lépésben
10 és 11 és 12?
KÖZÖNSÉG: Loop.
>> DAVID Malan: Oké, így hurok.
Igazából lehet, hogy azt mondta, csak menj.
Miért van ez így?
Nos, ez valójában az első a nem nyilvánvaló
tervezési döntéseket, sőt, az egyik metrikák, amelyekkel
elkezdjük értékelni, a magunk és az Ön számára, a
minősége egy program milyen jól megtervezett van.
Tettél a minimális mennyiségű szükséges munka
a munkát a leggyorsabban, akár szempontjából
az idő vagy a szempontjából a számítógép működési ideje?
Hány műveletek nem kell ahhoz, hogy végre?
Szóval vitathatóan, ez egy lehetőség a hurok, mert
amint elkezdek másolás és beillesztés, mint Joseph hatékonyan
volna kezdeni ezzel egy pillanat, te fajta pazarlás
idő, és te pedig kétszeresen kifejező.
>> De ugyanakkor, ezek tényleg csak két speciális
esetekben, balra és jobbra.
És mivel korábban, talán már 10, illetve 20 vagy több zokni
egy halom, hogy biztosan van értelme, hogy nem 50 sornyi
kód mondván ellenőrizze ezt a zoknit, akkor a következő egy,
majd a következő alkalommal.
Íme, ez egy kicsit kevésbé nyilvánvaló, és azt javasolta,
hogy mi lehetett menni mindkét irányban.
Tudtuk sem kell, hogy a hurok, de csak hurkokkal
kétszer, vagy mi egyszerűen másolja be egy kicsit
itt annak érdekében, hogy a munkát elvégezni.
De ez a program hibás, hogy úgy mondjam.
Lehet, hogy van néhány hiba, hibák, vagy sarok esetekben, így
beszél, hogy nem igazán számít.
Semmi baj ebben az időben, de mit lehetett volna baj
végrehajtása közben ez a program?
KÖZÖNSÉG: Ön nincs zokni.
>> DAVID Malan: Szóval nem lehetne ott zokni nélkül.
Akkor nézzük meg, hogy a sarok ügyben.
Tehát, ha tudnánk lapozzunk vissza lépéshez egy, így az első lépés volt
lehajolni, hogy kijelentkezik.
Step 2, vedd fel a zoknit, de aztán találok egyező zokni,
azonosítani jobbra.
Azt a fajta tett egy csomó feltételezések, és ez,
őszintén, miért programok néha összeomolhat.
Ha a programozó, tettek bizonyos feltételezések, mint például a
biztosan ott lesz zoknit vagy biztosan ott lesz
legyen szabad memória a számítógép, biztosan ott lesz
hogy lemezterület marad a merevlemezen -
Nos, ha ezeket a feltételezéseket, és ez nem,
Valójában, a valóság, ki tudja, hol, mi a számítógép
csinálni?
És néha, ha kap a pörgő strandröplabda vagy a
fagyasztva Windows vagy hasonló, ez pontosan azért, mert néhány
programozó nem számítottak azok az úgynevezett sarok esetekben.
Mi mást tehetett volna baj ezzel a programmal?
Igen?
>> KÖZÖNSÉG: Ön nincs jobb lábbal, és a bal lábát.
DAVID Malan: Oké, lehet, hogy nem mind a jobb lábbal, és a
bal lábát, és így ez a program lehet, hogy nem általánosan
alkalmazható.
Mások?
KÖZÖNSÉG: Lehet, hogy felkapott egy árva zokni.
DAVID Malan: Én lehet, hogy felkapott egy árva zokni, így
nem egyező zokni, hogy csak nincs testvére, mert már
elvesztette, ez szakadt, benne van a mosás még mindig, vagy a hasonlók.
Szóval ez is, nem igazán kezelték.
Igen?
KÖZÖNSÉG: Lehet, hogy már zokni.
DAVID Malan: talán már zokni.
Én valójában nem ellenőrzi.
Ha nem rendelkezik zoknit, majd folytassa a teendő
vonal egy és kettő.
És ez megtörténhet.
Te elalszik meg zoknit és hasonló, így a
ez is egy nagyon ésszerű sarok ügyben.
És talán egy másik?
KÖZÖNSÉG: a zokni kifordítva.
DAVID Malan: Tehát a zokni belsejében, úgyhogy csináltunk nincs hiba
ellenőrzés, a rövid.
Nem ellenőrizze, hogy az állam a világ, ahogy elvárható.
Nem ellenőrizze, hogy mi valójában találta meg, amit keresünk.
>> És bár ez a fajta egy nevetséges példa
bevonásával zokni, a végén a nap, ez pontosan a
fajta gondolkodásmód van szüksége írásakor programok,
még a Scratch valamint C, JavaScript, PHP-vel
mert különben a programokat mutatnak a
egyenértékű, hogy a forgó strandlabda, vagy csak így
pontatlan eredményeket.
Oly sok köszönet van a mi írástudó Joseph.
[Taps]
>> DAVID Malan: Rendben, szóval mi van, az
Tény, hogy egy számítógépes program?
Nos, vessünk egy gyors pillantást a
képviselője itt.
Tehát ez egy olyan program, nyelven írt nevű C. C
meglehetősen régi ezekben a napokban, de sok újabb nyelvek épülnek
a tetején.
Valóban, a PHP, az egyik web-központú nyelven fogunk
használata felé ciklus végén, maga mit nevezett
tolmács, egy program, ami C-ben írt, de az adott
Sok hét múlva.
De ez a program, és ez mit jelent, hogy írjon egy
program, bár nagyon egyszerű.
Van néhány meglehetősen rejtélyes szintaxist itt, de akkor
Valószínűleg hiszem, akkor is, ha még soha nem programozott előtt, milyen
ez a program nem.
Valójában nem tudom, hogy mi printf van, de bizonyosan nyomtatása
idézi fel az ötletet, nyomtatás valamit.
És igen, ez a program végül is megy, hogy nyomtassa ki
a "Hello, World".
>> Most, hogy van egy Mac vagy PC-re vagy Linux számítógépen odds
, legalábbis, ha a letöltött néhány szabadon
rendelkezésre álló szoftver segítségével lehetett volna írni programok
saját laptop jó ideje most.
A Mac OS, például, van ez a program neve
Terminal hogy jön a Mac, ez általában a
Utilities mappában található, és általában megnyitja a fekete és
fehér vagy fehér és a fekete ablak, ahol van
kérni, ahol beírhatja parancsokat.
Tehát ez valójában emlékeztet, amit számítógépek
Régebben, mielőtt grafikus felhasználói
interfészek, GUI, jött.
Most, a Windows, van egy hasonló mechanizmus formájában
a parancssorba.
>> De mit fogok csinálni itt nyitni, mondjuk,
TextEdit újra, így ugyanaz a program voltunk használat
pszeudokód egy pillanattal ezelőtt, és én megyek előre, és
levelet az első program.
Beleértve stdio.h, bármit is jelentsen ez, int main
semmis, bármit is jelentsen ez, majd a közepén van,
printf ("hello, world."). És aztán bezár idézet,
bezár paren, pontosvessző.
Most megyek előre, és csak a hit Command-S. Megyek
hogy menjen előre, és mentse ezt hello.c, így az egyezmény
a világ a C programozás a fájl nevét pont c.
Megyek imént John Harvard Home könyvtár,
van, kattintson a Mentés, és most megyek át ezen
terminál ablak, ami szintén ezt a fekete-fehér gyors
ahol tudok végre parancsokat.
>> Én is futtatható programokat beírva nevüket, nem
kattintson duplán ikonok a megszokott értelemben.
De a dolog arról szól, hogy egy C nyelv, mint a C-1.
jön ebben a formában, úgynevezett forráskódot.
Valami, ami úgy néz ki, egy kicsit, mint az angol, de
határozottan kisebb, mint az angol, mint a József pszeudokód a
pillanat ezelőtt.
Ez egy kicsit misztikus.
Úgy tűnik, hogy kövesse az egyes minták vagy szabályokat.
Az a tény, hogy van kapcsos zárójelek között pontosvesszővel, idézetek,
szög nadrágtartó, úgy érzi, mint egy számítógép jött ezzel
fajta nyelv.
De ha megyek, most, hogy ez a terminál ablak, tudok futtatni egy
parancs fogja átalakítani, hogy a forráskód
úgynevezett tárgykód.
Ez lesz átalakítani angol-szerű szintaxist nullák
és az is, ugyanazt a fajta nullák vagyunk
beszélt szerdán.
Most megyek egy parancs futtatható nevű csenget.
Többet erről az elkövetkezendő hetek során, de ez a program
amit konvertálni hello.c egy csomó
nullákkal és egyesekkel.
>> Nos, én már futtatni ezt a parancsot.
Már fut csenget, majd azt mondtam futtatni magát ezt a fájlt
nevű hello.c, amit teremtett egy pillanattal ezelőtt, és
semmi sem történik.
De valóban, ha kidugta köré home könyvtár, szeretném látni
hogy ez ostobán nevű programot a.out most létezik.
Ez csak az alapértelmezett nevet egy programot, ha írásban
C. Mi lehet felülbírálhatja ezt végül, de a.out a
A program neve csak alakítjuk nullákkal és egyesekkel.
És most, hogy ez az nullákkal és egyesekkel, a Mac, ebben az esetben, vagy
A Windows PC, megérti ezeket a biteket, ezek
nullákkal és egyesekkel.
És így amikor Enter, látom "hello, world!"
>> De ez egy kicsit bugos.
Nem elég, hogy "hello, world!: Air: - jharvard." Air
nevét a számítógépet.
Jharvard a neve a fiók, tehát mit tettem jól
kihagyja a programból?
Valamiféle sortörés.
Nem hit egyenértékű Enter vagy a kocsi vissza,
és ez, ismét, tanúskodik, hogy a, hogy a számítógép képes
Csak tegye, amit mond nekik.
És az, hogy nem mondtam el a számítógépet mozog a
kurzort a következő sorba -
Nos, ez biztosan nem fog csak csináld
elbizakodottságában nekem.
Szóval, ha megyek vissza a program, és azt mondom \ n -
Szóval \ n, ahogy azt hamarosan látni, ahogy a
ami furcsa dolgokat, mint új sor karaktert, a dolgok
, amelyek egyébként az eredménye
üti meg az Enter gombot.
De most, csak tudom, hogy üti az Enter billentyűt kíván
csak, hogy a kód furcsának, hogy a világ úgy határozott, tudja
mi, hogy a dolgok szebb, hogy tartsa egy sorban, hadd
csak azt mondom \ n jelentése egy új sort.
Hadd mentse a fájlt, menj vissza a terminál ablak, és
re-run a.out, Enter.
Mégis buggy, de miért?
>> KÖZÖNSÉG: [hangtalan]
DAVID Malan: Igen, így újra kell fordítani rá.
Szóval, hogy a program összeállítása csak azt jelenti, alakítani forrásból
kód tárgykód, forráskód nullákkal és egyesekkel.
Most, a puszta tény, hogy megütöttem a Mentés e TextEdit nincs
szem azokon nullákkal és egyesekkel, mert először meg kell
tell csenget hé, én már megváltoztatta ezeket a sorokat a kód, a
forráskódját.
Be kell, hogy regenerálódni a.out.
Semmi sem úgy tűnik, hogy történt, de egy számítógép,
egy parancssor, hogy úgy mondjam, ha nem történik semmi,
hogy az általában azt jelenti, minden rendben van.
Amikor valami nem történik meg, az azt jelenti,
Ön elrontotta, általában.
>> Szóval most megy a.out, sőt most van "hello,
világban. "
És most, mi a helyzet ezen nullák?
Amennyiben, valójában, azok?
Hát, nem tudom igazán csak egyfajta poke körül nagyon
hatékonyan.
Hadd nyit TextEdit.
Itt a.out.
Hadd menjek előre, és nyissa meg ezt, és ez látszólag amit én
programot néz.
Szóval nyitott, nem hello.c, de a.out.
De ez valójában nem az, amit én programom valójában.
Egyértelmű, hogy ez valamiféle betűk.
Nem látok nullákkal és egyesekkel, de ez
mert a.out egy program.
Nullákkal és egyesekkel - de TextEdit, amint azt a neve is sugallja, ez
csakúgy, mint a Windows Jegyzettömb, csak egy szövegszerkesztő, így
összetéveszti az összes ilyen nullákkal és egyesekkel, mint
mintha, mi?
ASCII karakter.
>> Így emlékszem szerdán, csak jött az e
tetszőleges feltérképezése számok vagy bit, a levelekre a
ábécé és írásjeleket és hasonlók.
Szóval TextEdit, hogy ez egy szövegszerkesztővel is félremagyarázza
azon minták nullákkal és egyesekkel, hogy fel kellene
nyomtatás szavak, mint a "hello, world". Ez kiszerelése
ASCII, és ezért úgy néz ki, egy kicsit rendetlen.
Nos, van néhány hasznos ötletet a korrektség itt.
Figyeljük meg, ha azt kiemelni, van egy csipetnyi valójában "hello,
világ ", így valahol, hogy a program
a mondatot írtam.
De menjünk előre, és most látni egy másik program.
Ez nem egy fogjuk használni, hogy gyakran, de ez is jön
a Mac és lesz benne a CS50 készüléket.
Hadd menjek előre, és nyissa meg a program neve xxd.
>> Vissza a nap, a legtöbb program nevezték meglehetősen rejtélyes,
és így a trend folytatódik.
De-b: a köpni ezt a programot ki, mint bináris.
Ne fuss el.
Kijelző nekem a nullák és egyesek, és ez a C
programunk csak írtam.
Nos, én, mint egy ember van, őszintén szólva fogalmam sincs, mi
A különböző minták nullákkal és egyesekkel képviselnek.
Vissza a nap, én, az én lyukkártya vagy hasonló lenne
ténylegesen meg kell nézni azt, amit a különböző minták
01111000, valójában képviselnek.
Vagy ami még rosszabb, azt kell tennie, hogy a lyukasztás vagy a teremtés
ezeket a mintákat nullákkal és egyesekkel.
De most, hogy a hit, hogy a CPU, az Intel Inside, így
beszélni, belül minden kedves számítógép ezekben a napokban, tudja,
hogyan kell értelmezni ezeket nullákkal és egyesekkel.
És néhány nullákkal és egyesekkel jelent nyomtatásban.
Néhány nullákkal és egyesekkel jelent lejátszik egy hangot.
Néhány nullák és egyesek azt jelenti, hogy felhasználói adatbevitel a billentyűzetről.
Van mindenféle különböző mintákat, de szerencsére,
mint az emberek, csak általánosságban kell aggódnia programozást
ez meglehetősen magasabb szintre.
És más osztályokba CS tudsz ásni le mélyebbre és keresse
A dolgok, mint a nullák és egyesek, vagy még nem
más dolgok is.
>> És most nézzük átalakítani ezt.
Menjünk gyorsan el C és mozgassa valami a
kicsit megnyugtató, egy kicsit izgalmasabb, amennyiben
juthatunk vissza a animációk és hangok és így
nyilvánvalóan megszökött nekünk ebben a
meglehetősen primitív felület.
Tehát ez ugyanaz a program, a C lehet képviselő most ezen
programozási nyelv úgynevezett Scratch alábbiak szerint.
Ez felel meg a hello world programot írt
ez a puzzle darab stílust nyelv úgynevezett Scratch.
Szóval hadd menjen előre, és nyissa meg ezt a nagyon program.
Ez ismét hívják Scratch.
Ez a szabadon elérhető, és ez ugyanaz a dolog, amit
kezdődött ma.
>> Szóval ez itt a Scratch, és ez tört fel egy pár
különböző darab.
A legtetején jobb, mi az úgynevezett színpadon, és
Valóban, ez az, ahol a cookie-k
végre egy kicsit ezelőtt.
És ebben a szakaszban a dolgok úgynevezett sprite, karakterek vagy
tárgyakat, vagy szervezetek.
Nem igazán számít, mit gondol, de ők
programozható, mozgatható dolgok, és ebben az esetben, ez a
program, amely a hallgató írt egy pár mézeskalács
cookie-k, egy pár kör cookie-k, egy csomó
szívvel, egy csomó napszemüveg.
Emiatt ő képes programozható minden egyes ilyen
egyes karaktereket külön-külön.
>> Nos, mit jelent programozni ezeket a karaktereket?
Nos, hadd menjen előre, és kattintson erre a bal oldali süti
és lépjünk át a bal felső sarokban van.
A bal felső az én képernyő most a
úgynevezett parancsfájlok terület.
Ez a fajta egy üres lappal, kezdetben, amire tudok
drag and drop a puzzle darabkái, hogy őszintén szólva, nem
pontosan mit mondanak.
A legtetején e verem a puzzle darabkái a szó
Amikor zöld Flag Kattintásra, és ha nem vette észre korábban,
ahogy kezdtem, hogy a cookie-k dalt kattintva, a szó szoros értelmében,
a zöld zászlót.
Annak érdekében, hogy puzzle darabot a bal felső sarokban van olyan, amikor a
emberi kattintások a zöld zászlót, folytatta, hogy nem
a következő dolgokat.
>> Nos, mit ők cookie-ügy csinálni?
Nem igazán tudom, hogyan értelmezze ezt még, de a
süti nyilvánvalóan állítsa be a vájat nulla, akkor a várt
három másodpercre, majd megváltoztatta a csoport az egyik, akkor
várt egy kicsit, majd megváltoztatta
horony vissza egy.
És akkor ez tényleg úgy néz ki, mint egy kis hiba, nem szabad
meg kell változtatni a horony újra és újra, ha ez
megváltoztatták máshol, de ez a sorozat lépések mi
diktálja a viselkedését az adott cookie-t.
Szóval tényleg lapozzunk vissza, és nem néz valamit
annyira bonyolult még.
Hadd menjek előre, és menj a Fájl, Új,
és kap egy tiszta lappal.
>> Szóval most én valóban egy üres szkriptet terület, egy üres színpadon,
a mi az alapértelmezett sprite Scratch, és a bal felső sarokban
én képernyőn nem tudom a raklap, akik minden
álló puzzle darabkái.
És mi nem megy keresztül közel, hogy sok ezek a dolgok
ma, mert újra, a legtöbb magától értetődő, de mi lesz
megpróbálja kategorizálni őket, és rámutatnak a hasonlóságok
ezekkel a jövőbeli nyelvek amelyhez fog merülni.
És itt van a bal felső sarokban az első A Zöld zászló Kattintásra,
hadd húzza át ide, kicsinyítés egy kicsit.
És ha én kattintson a zöld zászlót, semmi igazán történik, mert
Én nem kapcsolódik semmilyen logika, olyan kijelentést hogy úgy mondjam, a
hogy a zöld zászló, hadd menjen fel a
Kategóriák ide.
Én jelenleg a Control kategóriában.
Én inkább megyek le a Looks kategóriát, és
van egy csomó dolog, hogy itt mondják Say,
Gondolkozz, módosítása Color, Switch jelmez.
>> Szóval meg tudod csinálni buta dolgokat jelmezek és
hangok és a hasonlók.
Hadd menjek előre, és csak annyit mondani, és most már észre, ahogy húzza
és vidd ezt a puzzle-darabot, ez lesz akar reteszt
a megfelelő forma.
Tehát, ha megyek előre, és elengedte az egér, akkor zár
együtt, és most, ha elmegyek ide, és kattintson a zöld zászlót,
a macska valóban köszönni, mert ez az, ami belül van
E fehér doboz.
Majd meglátjuk, hogy ez a fehér doboz, amit hívják
érv, vagy egy paramétert.
Ez egy módja, hogy megváltoztassa a viselkedésének, ebben az esetben, egy
puzzle darab, de ha azt akarom mondani, hogy pontosan mit mondtam
előtt, mondjuk hello, világ, én most visszamegyek ide,
kattintson a játék, és a "hello, world", amit a mondott.
>> Tehát szó programozás most.
Ez egyáltalán nem olyan meggyőző a program, de legalább
ez egy kicsit több, mint lenyűgöző valami úgy néz ki, a
Első pillantásra, mint ez.
És mi is nagyon gyorsan a sokkal kifejezőbb
mert a Scratch, csakúgy, mint más nyelveken, ott minden
féle nyilatkozatok, nem csak Mondj vagy nyomtatás valami, de
meg tudod csinálni a dolgokat, mint a várakozás, hiszen mi csak látta,
A cookie-t, bizonyos számú másodperc.
Ön tudja játszani hangokat környezetében Scratch csak
mint tudod, a szokásos számítógépes program lejátszás hang.
Meg tudja nézni az úgynevezett logikai kifejezések.
Tehát most, kezdjük felvenni a toolkit néhány terminológia
hogy valóban arra a példa arra, hogy József és én
itt a zokni.
Szóval nyilatkozatok csak tényállítás.
Tedd ezt.
Az irányelvet a szellemet, vagy én az ember, hogy tegyen valamit.
A logikai kifejezés van valami, hogy egy érték,
úgynevezett igazság érték, ez vagy nulla, vagy egy, vagy hamis
Igaz, ki vagy, nem vagy igen.
Nem igazán számít, mit gondol erről, de ez a
bináris állapot.
Ahogy Nate tárgyalt szerdai video, 2
különböző dolog.
>> Tehát Scratch, logikai kifejezések megtörténhet, hogy vizsgálja meg
mint ezek kék tárgyakat itt, és ebben az esetben, a kérdés
jel azt jelenti, hogy kérsz egy kérdést.
Van a macska, vagy a sprite, megható az egérmutató?
Tehát ez csak egy példa a Scratch blokk megy
hogy lehetővé teszik számunkra, hogy ellenőrizze igen vagy nem, az egér érintése
sprite a képernyőn?
És ez akkor lehet hasznos, ha valóban akar csinálni a dolgokat
az egérrel.
Amellett, hogy logikai kifejezések, van a dolgok
mint az egér le, így képes észlelni ezt a fajta
kérdés is.
Meg tudjuk csinálni a matematika, ha valóban akar, és ott
valójában inkább kényszerítő használni ezt, mint a tiszta a
számtani, mint látni fogjuk.
Pseudo véletlenszerűség és így a program úgy tűnik, hogy úgy gondolja,
vagy másként viselkednek alapján néhány látszólag véletlenszerű értékeket,
és akkor a dolgok, mint a logikai kifejezéseket, mint AND.
Tehát, ha valóban szeretné, hogy ellenőrizze a két érték, akkor látni
Scratch, hogy mi is valójában tesztelni, ha ez
igaz, és ez igaz.
Például abban az esetben, az én zokni, én volna a
legvégén feltette a kérdést: ha a baloldali zokni van és jobbra zokni
van kapcsolva, kilép.
Te mindezt a nap, hogy lenne
lehetőséget erre.
>> Akkor menjünk előre, és próbálja darabot néhány ilyen együttes
és bemegy egy pár példát látna
kényszerítő, mint ez.
Akkor hadd menjek előre, itt, és nyissa fel néhány példát
hogy mindig a pályán honlapján is, és
nyit hello2.
Tehát hello2 itt van egy program, csinál egy pár
dolgokat, de ez nem csinálja olyan hatékonyan, mint amit lehet.
Tehát itt azt mondja: "hello, world" egy másodpercig, majd a vár
egy pillanatra.
És akkor csinálja, majd ismét csinálja újra.
Szóval, ha kattintson a zöld zászlót, Scratch mondja: "Helló, világ.
Hello, világ.
Hello, world. "És ez nyilvánvalóan jelölt most
javulást.
>> Mi a marginális javulás, remélhetőleg tudunk
most, hogy ha Scratch támogatja a koncepció?
Valamiféle hurok.
Valami ismétlés, most jó lenne, ezért hadd
ténylegesen próbáld ezt.
Hadd ténylegesen megy, és mozgassa ezt.
Így nyilatkozat leválaszthatja tömb olyan könnyen, mint felvehet
csatolni őket.
Hadd menjek alatt Control, lapozzunk le ide, sőt,
van ez a puzzle darab itt, ismétlés, Forever és
Örökké If.
Tehát van számos módon kifejezni loop konstrukciók
A Scratch.
Az egyik azt érdemes itt nem örökre, mert én csak
szeretné, hogy ez megtörténjen háromszor, de valószínűleg ismétlése.
Szóval hadd húzza Ismételje ide, drag and drop, és
Most ahelyett, hogy azt mondja: "hello, world" három különböző alkalommal,
hadd húzza ezt a puzzle darab itt.
És bár nem úgy tűnik, hogy illeszkedjen a program okos
ahhoz, hogy észre, hogy növekedni fog tölteni, így ez a
formák, hogy az anyag, és nem az abszolút méretét.
Hadd módosításához ismétlés három, és most hadd menjen
előre, és húzza Várj egy pillanatra ott is.
Ez lesz a beépülő modul is, és így most megyek húzza
ezek a srácok ide, és csak dobd el őket, mert
nincs rájuk szükség többé.
Hadd kicsinyítés, majd kattintson a zöld zászlót, és most már
ugyanazt a programot, de ahogy megjósolta korábban, jobb
Ajánlott, mert tudod képzelni, milyen rossz ez a program
kapnánk, természetesen esztétikailag, ha kellett
kezdeni a másolás és beillesztés, másolás és beillesztés, vagy
áthúzásával ugyanazt rohadt dolgokat újra és újra.
>> Nos, egyszerűen csak annyit mondok dolgokat a képernyőn, a nyomtatás
képernyőn, tényleg minden nem olyan izgalmas, úgyhogy megnyitása
3. variancia itt.
És most, amint meglátja, ez lesz gyorsan bosszantó -
[MEOW]
DAVID Malan: - de ez is aranyos.
[MEOW]
DAVID Malan: Oké, akkor jobb, és mi természetesen használni, hogy
Ugyanez átmenet dobogó e fel egy hurok
szerkezet, de tegyük még érdekesebbé is.
>> Hadd menjek előre, és nyissa meg a 1/4 variancia itt, ahol
a dolgokat egy lépéssel tovább.
Így eszerint, buta bár ez először
pillantás, mi ez a program fog csinálni?
Ez lesz miau egyszer.
Miért?
Nos, az egyik, amennyire én tudom, mindig kisebb, mint kettő.
Nincs fogalma véletlenszerűség itt.
Nekem szó szerint kódolt és két, de ez egy olyan
Például most már ténylegesen egy logikai kifejezés.
Ugyanúgy, mint ahogy József tette az ő pszeudokód, a behúzás IF
talál egyező zokni AKKOR hajtsa végre a következő, itt van
egy kifejezés, ha egy kevesebb, mint két THEN -
és valójában mi is van egy kis bemélyedés,
ahol a lila kissé behúzva jobbra -
AKKOR fogsz játszani a hangot miau.
Most, ebben az esetben, hogy az egyik mindig kevesebb, mint két, így ez
egyfajta hulladék a feltételt.
De képes lesz arra, amint látni fogjuk, hogy csatlakoztassa más dolgokat
ezek Helyőrzők ahol egy és két most már.
Úgyhogy most előre a példa ezek közül öt különböző
hellos és nézd meg, mi ez a program fog csinálni.
>> Tehát most, egy angol mondatban, hogyan működik ez
programot viselkedik?
KÖZÖNSÉG: meows feleannyi idő alatt.
DAVID Malan: Meow a fele az idő, így ez egy módja annak,
közvetíti egy nagyon egyszerű ötlet.
Annak ellenére, hogy mi történik, hogy ha bizonyos egyenlőtlenségek itt
Egyes számok, ez tényleg csak egy programmatical
módon, pontos módon, a mondás, ha az érme jön fejek, menj
előre, és miau.
Vagy fordítva, ha az érme jön a farok, nem miau.
És ebben az esetben, hogyan fejezik ezt?
Majd válasszon egy véletlenszerű számot 1 és 10 közötti, és amennyiben ez
szám kevesebb, mint 6, megy előre, és miau.
És hogyan jött ez ide?
Hát ismét észre csak a fogd és vidd módszerrel, valamint
dolgok kattan.
>> És most lássuk, ha ez véletlenszerű működik.
Hadd menjek előre, majd kattintson a zöld zászlót.
[MEOW]
DAVID Malan: Oké.
[MEOW]
DAVID Malan: Oké.
Oké, jó, szóval van fej, fej, farok hatékonyan.
Tails.
[MEOW]
DAVID Malan: Heads.
[MEOW]
DAVID Malan: Excellent.
Ez mindig kínos, ha csak statisztikailag kap egy rossz
fut, és ez az egész fejet, és a program valójában nem
dolgozni, mint azt remélem.
De ezúttal működött, és úgy tűnik, hogy van, ha volt
ez egy végtelen számú alkalommal, 50%-os esélye.
Most megint nem olyan érdekes, csak hogy a macskák
miau, úgyhogy lássuk, ha nem tudjuk előre ezt egy kicsit tovább
itt változata hat.
Szóval most már tényleg idegesítő változat -
[Meows néhány másodpercig]
DAVID Malan: - és ez az, amit ismert, az általános, mint
végtelen hurok.
>> Tehát végtelen ciklus ebben az esetben rosszul érzi magát.
Ez biztosan fog kezdeni hangzó rossz, és mégis végtelen
körök nem mindig rossz.
Tudsz keretében a számítógépes programok, ahol azt
tulajdonképpen szeretne egy végtelen ciklus?
Igen?
KÖZÖNSÉG: Ha azt szeretné, hogy ellenőrizze a feltételt.
DAVID Malan: Oké, ha azt szeretné, hogy nézz a feltétel?
Mint például?
KÖZÖNSÉG: [hangtalan]
DAVID Malan: Oké, jó, így ha volt néhány program, néhány
fajta otthoni automatizálási dolog, ha azt szeretnénk, hogy állandóan
monitor van valami a helyzet.
Vannak-e a villanyt?
Vannak-e a villanyt, mert lehet, hogy van egy időzítő, és
azt szeretné, hogy elmegy, akkor kell csinálni valamit
újra és újra.
És valóban, beszélt időzítők, sem ti, akik
órák a számítógépen vagy digitális órák, ez egy
végtelen hurok.
Továbbra frissítse az időt, mert állandóan
ellenőrzése és ellenőrzése és ellenőrzése van ideje megváltozott,
és ha igen, oh, istenem.
Az óra Végre megváltozott.
El kell megjeleníteni, hogy az értéket az Ön számára.
Tehát mivel a legtöbb időt végtelen ciklusok egy hibát,
vagy legalábbis rossz tervezési döntés, néha mégis
megvan a maga értéke.
>> Nos, továbbhaladhat itt hello7.
Tehát most a program, hogy egy kicsit több interaktív.
Hadd Nagyításhoz itt, és újra, ez az, ami szép
mintegy Scratch.
És fogjuk használni, hogy legyen világos, Scratch, csak ma és
jövő heti problémája beállítva.
De hétfőn, mi belevetik magukat C. Ebben a programban van, ez így van,
örökre, a következő.
IF megható az egérmutatót - most, aki a
összefüggésben itt?
Nos, és figyelje meg, hogy ki a kijelölt idelent alul
jobb a macska, sprite egy, így ezek a szkriptek, ez
program, vonatkozik rá külön.
Tehát, ha a macska hozzáér az egérmutatót, akkor megy
játszani ezt le, és várjon két másodpercet,
majd ismételje meg a hirdetés nauseum.
>> Akkor menjünk előre, és nyomja meg játszani.
Semmi sem történik, de ha akarom a kedvtelésből tartott
macska most tudok egyszerűen.
[MEOW]
DAVID Malan: imádnivaló.
[MEOW]
DAVID Malan: Oké, kevésbé idegesítő, de lesz unalmas,
úgyhogy lépjünk tovább, hátha nem tudunk injekciót
még egy kis logika.
Ez volt példa hét.
>> Itt például nyolc, megyünk
bevezetése ELSE feltételt.
Annyi, mint egy szó villát az úton, ahol mehetsz
balra vagy mehetsz jobbra, a feltétel egy programozási
nyelv, mint a Scratch, vagy ahogy látni fogjuk C, lehetővé teszi, hogy
megy egyik vagy másik irányba keresztül IF ELSE konstrukcióval.
Tehát a szó szoros értelmében, HA megható egérmutatót, ez a
fog játszani néhány hangot, különben ez fog játszani a másik
hang, miau.
Most, ha lehet következtetni a nevét E hangok, akkor
Valószínűleg kitalálni, mi ez a program célja, hogy varázsolni
az ötlet.
Ez a macska nyávog boldogan.
[MEOW]
DAVID Malan: Szerencsére, de nem
nagyon szereti, ha megérintik.
[Üvölt]
DAVID Malan: Tehát most van egy macska, aki kiabálni veled.
>> Rendben, nos, egy utolsó példa macskák itt, és
menjünk nyitott változata kilenc ez itt.
Tehát most, már a következő legbosszantóbb hangot tudtam
találni, így van egy rozmár vagy oroszlánfóka itt ki fog
tegye a következőket.
[SEAL BARK]
DAVID Malan: Oké, így ez fog menni, amíg kitaláljuk, hogyan
ez a program működik.
Tehát ebben az időben, ez az állat két szkript, és mi
Érdekes az, hogy ezek a szkriptek fognak végrehajtani
párhuzamosan.
Szóval, mivel mindketten kezdődik egy zöld zászló kattint,
ez olyan, mint megy, mint ez, és mindkét program elindításához az
egyszer még ha ők looping örökre.
Tehát a legjobb forgatókönyvet, van némi logika.
Milyen funkciókat jelent, amelyek ott?
[SEAL BARK]
KÖZÖNSÉG: [hangtalan]
DAVID Malan: Ha ez mi?
[SEAL BARK]
KÖZÖNSÉG: Ha elnémított nullára, ez megy folyamatosan játszik a
szólalnia. [SEAL BARK]
DAVID Malan: Oké, jó.
Tehát, ha tompa, bármi is ez, ez a narancssárga dolog nulla,
Majd játszani az oroszlánfóka hang és úgy gondolja, "Ó,
hi, "két másodpercig.
Nos, nem tudom, mi van némítva, de a nulla idézi fel a
gondolata hamis vagy kikapcsolása.
Tehát, ha néma hamis, így ha nincs elnémítva,
folyamatosan játszik a hangot.
Rendben, nos, hogyan tiltsa le ezt a dolgot?
>> Nos, nézzük meg a második script odalent.
A második forgatókönyv szerint megállapított elnémított nulla.
Értesítés ez is narancssárga, akkor mi Scratch jelent ez szin
blokkok azonos árnyalatú, ha ez a fajta
A logikusan kapcsolódik.
Szóval, ahogy elnémítja up top volt narancssárga, így van némítva itt lent
említett narancssárga blokk.
De ez egy változó feladatok, így csakúgy, mint a
algebra, akkor x, y és z, programozási van
változók, de ők általában -
nézzük szünet egy pillanatra, és a szám hogyan
hogy hagyjanak fel ezzel ugat.
Hogyan tudom ezt megtenni?
[SEAL BARK]
DAVID Malan: Oké.
Megállt. Oké.
>> Tehát akárcsak algebra van változókat az x, y és z, de a
programozás, amelyek változók, mint x, y és z jelentése általában
elítélik, mert ők egyáltalán nem kifejező.
Nincs szemantikai jelentése egyáltalán, így a legtöbb
programozási nyelvek, változók teljes
jogú nevek vagy szavak vagy kifejezések, mint némítva, azaz
amit csinálnak.
Szóval ez a második forgatókönyv is hallgatta örökre, és azt mondta,
ha a gombot, a billentyű Space, a
gombot, kérdőjel.
Szóval van egy feltétel egy logikai kifejezés, ami
fog válaszolni a kérdést, vagy őszintén vagy hamis,
akkor van belül, ha a szóköz gomb megnyomása ÉS
IF elnémított nulla, állítsa elnémított egy, ELSE állítsa elnémított nulla.
Tehát ez a másik villát a közúti, és figyelje meg, hogyan volna
ágyazott két IF feltételek egyik módja az ellenőrzést a
Szóköz gombot, mert ha így van, akkor sem akarom, hogy ezt a
Így vagy úgy.
És hogyan fordítsa az értéke elnémítva?
Nekem van, hogy ellenőrizze, hogy nulla?
Ha így van, hogy ez az egyik, egyébként teszi nulla ezért váltás
a két állam.
>> Rendben, tehát van, akkor ezek közül néhány alapvető
konstrukciók.
Van logikai kifejezéseket, és észre is, ezek
nem is olyan ismeretlen.
Sőt, itt van egy gyors screenshot Harvard kurzus CS50
vásárlási eszköz, és minden olyan webhelyet, hogy ott van jelölőnégyzetek
and drop downs valóban, egész idő alatt, használ
Logikai kifejezések.
Ebben az esetben is, ha rákattint a jelölőnégyzetet
tanfolyam nagyobb vagy egyenlő 4,5-, vagy az azonos mellé
kar, te megadásával logikai kifejezés.
Mutasd meg tanfolyamokat, melyek esetében ez a kifejezés igaz.
Vagy a jobb oldalon, nem ellentétes a tanfolyamok vagyok
figyelembe, ha ez be van jelölve, akkor igen, az ellenőrizni kívánt
ez a feltétel, amit meg szeretnél figyelmen kívül hagyni.
Tehát logikai kifejezések egyfajta egész, de amikor
mi őket olyan körülmények között, hogy az IF feltételek, ha
Másnak, vagy mi is szimulálni mélyebb
szinten, IF ELSE IF ELSE -
így ez egyfajta hármas állam.
Mehetsz így vagy így vagy így.
Mi lehet tartani fészkelő dolgokat menni a különböző irányokba.
>> Szóval Scratch rendelkezik ezekkel a hurok, mint a Forever.
Meg ezek a funkciók, mint ismétlés 10, néhány
véges számú alkalommal.
Megvan a képessége, most beállítja a változókat, így ebben az esetben
Már bejelentett, például a változó nevezett zokni.
Már inicializálva 0-ra, és ez még egy irányban
tudtuk volna ide Joseph, ahol talán
csak nyomon követheti, hogy hány zokni van, és megszünteti
A program, amikor a változó értéke 2 lehet.
Ez lenne egy másik módja a fajta általánosítás, hogy a
probléma, és csinál valamit újra és újra.
Nos, menjünk előre, és most vezetnek be egy pár új dolgot.
Tehát azoknak, a korábbi programozási tapasztalattal
tudom, hogy sok nyelvben tömbök, vagy vektorok vagy
listák, és valóban, Scratch van valami, mint ez is.
Tehát lássuk, ha nem tudjuk a dolgokat, hogy a következő szintre itt.
Ha megvan a képessége, most, ezekkel a puzzle darabok
hozzá valamit, mint egy szót vagy számot, egy változó, tudok
kezd felhalmozni a dolgokat.
És ez tényleg nagyon apropos a dolgok, mint a játékok,
szerepjáték játék, ahol te ilyen séta
néhány fantasy világ gyűjt olyan dolgokat, felvette a dolgokat,
keresett pontot, vagy a hasonlók.
Érdemes nyomon követni valamiféle leltár, és a
Valóban, ez az, amit az egyik egykori hallgatók ide tette
úgynevezett Fruitcraft RPG.
>> Szóval hadd menjen előre, és nyissa meg ezt a dolgot itt és
Fruitcraft, van ezen a világon fel tetején.
Akkor hadd menjek előre, majd kattintson a zöld zászlót.
Közlemény a bal felső sarokban valamiféle leltárt.
Ez végre Scratch, mint amit hívom tömb vagy
egy listát, és most már ez a kis animáció.
Szóval, ahogy kezdtük korábban a cookie szerelmi történet,
és akkor előrehozott macskák és oroszlánfókák, most már lehet
dolgok, amelyek még interaktív.
És ez a kis kék srác, én is elkezd mozogni a
kis otthon van.
Tehát úgy néz ki, van neki egy kilépési idelent, szóval én vagyok a
a nyilak gombok, fel, le, balra, jobbra.
És most én vagyok kint, úgyhogy amit kaptam itt.
Úgy néz ki, mint egy narancs, és valóban, amint érintse meg a
narancs, ez lesz lehuppant az én leltárt.
Ha elmegyek ide a cseresznye, most már van valami
még az én leltárt.
És ez mind szép és aranyos, de úgy gondolja, hogy hogyan, most, ez a
megvalósítják.
Hát, van ez a fogalom a lista, és ez nyilvánvalóan a
puzzle darab, csak azt, amit szeretne hozzáadni, adjunk hozzá
narancs, adjunk hozzá cseresznye.
Nos, mi ez a kis kék fickó csinál?
Nos, ő egy sprite.
És feltehetően, a narancs és a cseresznye -
ők maguk voltak külön sprite.
És a körülmények logikai kifejezések, a
diák valószínűleg képes kifejezni IF kék fickó
megható cseresznye majd adjuk hozzá a szót cseresznye az ő
leltár, és akkor is elrejteni a cseresznye sprite.
Tehát a motorháztető alatt, de valószínűleg még mindig van egy cseresznye
sprite ott.
Már csak azt mondta, hogy lesz hatékony láthatatlan.
>> Most, ha tartom séta ide, mi is ezt
közelebbi dolog, ha tudok menni, és olvasd el a jel.
Tehát, ha kék fickó megható jele, mi lehet ez a Say mondat
csakúgy, mint a macska beszélt hozzánk szavakban, hello, korábbi, "Got
egy kis gyümölcsöt?
Hozd el a gyümölcs helyre. "Rendben, tehát most, mint kiderült,
Nálam van a irányban.
Mehetek át ide, hogy a gyümölcs-hely, sorba magam
az ajtó.
Most itt vagyok.
Tudok felmenni a férfi a pultnál.
Azt állapítja meg, hogy közel vagyok hozzá, így nem kell
egészen azonos megható, és megnyerte a játékot.
Tehát ott van Fruitcraft RPG.
>> Így tudjuk csinálni a dolgokat, még fejlettebb, mint ez.
Mi lehet hozzáadni hangokat.
Mi lehet hozzá pszeudo véletlenszerűség.
Mi adhat összetettségét.
Hadd menjek előre ide, és ahelyett, hogy ezt magam,
hadd mutassam meg az egyik kifinomultabb beadványok
kaptunk tavaly egy bizonyos valaki nevű Blake.
Lehet van egy önkéntes, aki kényelmes megjelenő
kamera és fel a játékot?
Mi a helyzet ott?
Gyere fel.
Rendben, így a játék, hogy van, csak tudatlanul
önként játszani -
[Taps]
DAVID Malan: - a valamit tavalyi úgynevezett
"Frogger". Mi a neve?
Renda: Renda.
DAVID Malan: Redna?
Renda: Ez olyan, mint Brenda egy b.
DAVID Malan: Oké, Renda.
David.
Örülök, hogy megismerhetem.
>> Tehát itt a "Frogger", és ha sikerülne növelni a hangerőt csak
egy kicsit, akkor ez a kis
zöld béka az alján.
Használhatja balra, jobbra, fel és le, és a cél az, hogy
át az utcán, át a folyón, és érintse meg a liliom párna
a tetején.
Aw.
Még egy t -
redo, rendben?
Nézzük hit stop.
Senki nem látta, hogy.
[Taps]
DAVID Malan: Igen.
Nagyon jól sikerült.
Kiváló, köszönöm.
>> Szóval ez volt Frogger. Most, hogy tudod, mit
ütött magatokat bele, még egy önkéntes egy másik
játék által benyújtott másik diák.
Azt akarod, hogy gyere fel?
Mi a neve?
RICHARD: Richard.
DAVID Malan: Richard.
Rendben, Richard, gyere fel.
[Taps]
DAVID Malan: Van valami, ami akkor szólal meg
ismerős hamarosan, úgyhogy itt az utasítások.
Tehát egy pillanatra, néhány puzzle darab megy felfelé
A képernyőn néz vagy balra
vagy jobbra, felfelé vagy lefelé.
Fogsz van-hoz megüt a nyíl billentyűk olyan módon
hogy megfelel azoknak a puzzle darabkái sorakoznak fel
A helyőrzők tetején.
Tehát, ha látsz egy balra nyíl, és egy vonalba a bal
nyíl, nyomd meg a balra nyilat.
Lehet, hogy kezdődik.
[MUSIC - "erősebb" Kayne WEST]
DAVID Malan: Rendben, nagy tapsot Richard.
[Taps]
DAVID Malan: Nagyon jól sikerült.
Köszönöm.
[Taps]
>> DAVID Malan: Tehát fun, és látszólag egyfajta
megfélemlítő, mert lehet, hogy végre valami olyan
látszólag bonyolult, mint ez, rájönnek, hogy a hallgató
nem fejtette ki, és csak annyit írj mindezt egyszerre.
Inkább, akkor lebontják a problémát látszólag bonyolult
mivel ez a sokkal kisebb darabokra, és ez is a
lesz a téma.
A legrosszabb dolog, amit tehetünk, írásban a program a legtöbb olyan
nyelv, hogy üljön le, hogy nagyon izgatott, írjuk be a
egész átkozott dolog, és aztán csak remélem, hogy működik a
alkalommal, amikor befejeztük.
Ehelyett, a folyamat a programozás általában
nagyon tudatos, nagyon iteratív, ahol csak
megállapított nagyon kis lépések magatoknak, harapás méretű darabokra
akarsz harapni ki, és úgy, hogy ezeket a józanság
ellenőrzéseket, kis mérföldkövek meg tud felelni.
És akkor építeni a tetején e, hogy több
kifinomult dolgok is.
>> Így például, hogyan álljunk neki
végrehajtása egy játék, mint ez?
Hát, őszintén szólva, én minden bizonnyal kezdeni, csak
alátámasztó egyik legfontosabb egy időben.
Nézzük csak végre támogatja a balra nyilat.
Így a hallgató kellett valahogy létre a Photoshop, vagy
Scratch magát a kis grafikus szerkesztő, egy
nyíl gombot, hogy néz ki, mint az egyik a bal felső sarkában ott, csak
a szürke helyőrző.
Ezután a diák kellett kitalálni, hogy mit x, y koordináta
tedd, hová tegye az ablakban.
0, 0 van itt, így van, hogy kitaláljuk, hogy hány
pixel, vagy pont, hogy ellensúlyozza azt nyilat
A képernyő felső részén.
És akkor egyszer, hogy ez a hely, a program nem a ténylegesen
semmit még, így akkor kell egy második sprite, a
Például egy zöld nyíl, ami szintén balra mutató, és
akkor meg kell kezdeni írni néhány parancsfájlokat is.
>> És észre talán, hogy ezek a dolgok kezdtek jön
különböző sebességgel, és a színek is különböző
helyeken, és ez azért van, mert a tanuló felhasználhatja egy kicsit
pszeudo véletlenszerűség.
És pszeudo véletlenszerű, csak azt jelenti, válasszon egy számot
között valamit, és valamit, mert akkor
kezdenek térkép dolgokat, mint például, ha a szám egy-
5, nos, tegyük a dolgot zöld.
Ha ez 6 és 10 között, nézzük, hogy a puzzle-darabot
piros helyette.
Mindaddig, amíg van egy módja generáló valamilyen
véletlenszerű, akkor majd döntéseket alapuló
véletlenszerűség.
És ne mondja álvéletlen, mert van egy
piszkos kis titka.
Számítógép nem jön ki véletlen számokat.
Ők csak akkor van, amit ők mondták, mert
ők ember alkotta eszközök.
Ezek nem csak kitalálni, több, mint mi emberek
érzem magam, mint tudjuk.
A számítógép, hogy tegyen valamit matematikai megidézni a
illúzióját matematikai szám, néha a
mai nap az idő, mint a bemeneti kitalálni, mit
szám vissza, hanem inkább, hogy egy másik időben.
Most, csak tudom, hogy mi lehet generálni pszeudo véletlenszerűség.
>> Szóval, ha már megvan a képessége, a bal nyíl elindításához
megjelenő különböző időpontokban és különböző sebességgel, majd
Mehetek vissza, és adjunk hozzá néhány ilyen IF feltételeket.
Ha ez a sprite hozzáér a másik, és a balra nyíl
gomb lenyomása -
így három feltétel ebben az esetben.
Tudom használni, hogy AND blokk talán ebben az esetben -
AKKOR akarok menni előre, és növelni a pontszámot.
És a tetején, van egy pont, van Awesome,
Cool, Jó, és Boo.
Szóval van látszólag öt változó, hogy ez a diák
használt nyomon követni a különböző mutatókat.
Tehát röviden, a végeredmény lenyűgöző.
Ez vicces, ez szórakoztató játék, ez magával ragadó, de ez nem
amennyiben a diák kezdődött.
Ő kezdett egy sokkal kisebb lépésekkel.
>> Tehát mi van némely más építőkövei, hogy mi lehet
szövik be ezeket a programokat?
Nos, ez a másik fogalom a legtöbb nyelven,
Scratch köztük ismert szálak.
Tehát egy számítógép valójában nem igazán csinál több dolgot a
időben, legalábbis általában nem.
Inkább, egy számítógép általában csak egy CPU, és akár
bár számítógépek szuper gyors, és ezért,
a látszatot keltik, csinál több dolgot egyszerre -
ellenőrizze a mail, kapok egy pillanatra
üzenet, dokumentum nyomtatásához -
tényleg, egy számítógép, csak ugrás nyomtatás IMing
az e-mailezés, vissza és vissza, valamint oda-vissza olyan gyorsan, hogy mi
lassú észjárású emberek egyszerűen nem veszik észre, hogy ez valójában
futó E programok egy kicsit egy időben.
Nos, ez egy kicsit egy fehér hazugság ezekben a napokban, mert manapság,
Sok a számítógépek úgynevezett multi-core, így
van egy CPU, de több mag, ami olyan, mint
tekintettel több CPU.
>> És néha, számítógépek valóban több dolgot csinálni
egy időben, de általában egy műsorszámban programot
támaszkodnak ezeket a dolgokat az úgynevezett szálak.
Tehát egy szál van valami, mint egy miniatűr program, amely képes
léteznek a másik miniatűr program futtatható
párhuzamosan, vagy legalábbis az alatt futó illúziót, hogy
ők fut egyszerre.
Szóval Scratch támogatja ezeket a dolgokat az úgynevezett szálak.
Egyszerre több szkripteket végrehajtó egyszerre, mint ahogy mi
tette az oroszlánfóka, és ez lehetővé teszi számunkra, hogy ténylegesen
ezt követően kölcsönhatások közül sprite.
Hadd menjek előre, itt és húzza fel, mondjuk, szálak, és
játék ezt az alábbiak szerint.
Van két sprite, akik mindegyike meglátjuk
már csak egy script.
És azt veszi észre, úgy tűnik, hogy némi intelligencia az
macska ez, mert egyre közelebb -
[Üvölt]
DAVID Malan - és közelebb a kis madár.
>> Hogy van a madár operációs?
Nos, vessünk egy pillantást a madarat először.
A madár script mondta, amikor a zöld zászló kattint, menjen x
értéke negatív 115 és y értéke 150.
Szóval én csak kitaláltam egy véletlen helyet, ahol szerettem volna a
bird kezdeni, és én csak lehuppant ott alapértelmezés szerint.
Akkor Mindig IF nem érnek össze macska, így ez egy másik
fajta looping konstrukció, de ugyanaz a gondolat, ezt újra és
újra és újra.
Amíg te nem érinti a macska, mozog három lépést, és
ha a szélén, ugrál, ahol ez egyfajta
tükörképét a biliárd értelemben.
Szóval így a madár körül mozog a fajta
látszólag véletlenszerűen, de ez csak azért, mert ez pattogó le
a falak ebben az esetben.
>> Most a macska, eközben a fajta csalás.
A macska, amikor a zöld zászló kattint, igen, kezdődik
Néhány helyen, egy véletlen location -
legalábbis részben, mint egy a felszedő
random zöld blokk ott -
majd örökre IF érjen a madár, játék az oroszlán hangot,
majd megáll script.
Tehát, amikor azt mondtam megszűnik, vagy kilépés előtt, van egy puzzle
darab Scratch, amely csak ölni a program, hogy a
pont azért, mert ez a fajta logikusan tenni.
De egyébként itt észre, hogy mi fog történni.
Point felé a madár és mozog egy lépéssel.
Tehát ez a pont felé madár egyfajta előny a macska
bír, hogy ez homing részt a mozgó madár, és mi is
most, hogy ezt a programot a sokkal érdekesebb.
Ahelyett, hogy mozog egy lépéssel egy időben egy CPU ciklust, per
sztrájk autópályadíj a harang, hogy úgy mondjam, hadd menjen előre, és
mozgatni, mondjuk, öt lépés egy időben, mint a macska.
Kattintson a futni, és most igazán találja meg gyorsan.
Ha duplázni ezt tovább 10 lépés, ez a fajta megy
jobb neki.
Most, tudunk adni a madár,
talán egy kis előnyt.
Menjünk a madár, és azt mondják, hanem a mozgó három lépésből áll,
menjünk neki 30 lépéseket.
De még mindig elkapta a végén.
>> Szóval itt van két szálat.
Ez bebörtönözve Scratch két szkriptek és két
sprite, de az ötlet más nyelveken, hogy meg lehet
írni, lényegében, túl sok program, mint ez, és
őket futni igazán, vagy imaginarily, párhuzamosan.
>> Nos, van még ez a fogalom a programozási nevei
események, és ez az, amit nem fogunk látni C.
Nyelv nevei C. fogjuk látni felé félév vége
web programozás, amikor bemutatjuk a JavaScript és a
fogalma épület weboldalak dinamikus és interaktív
a felhasználók körében.
Tehát ebben az esetben, van egy nagyon egyszerű példa a két
sprite, fiú és lány, akik mindegyike rendelkezik saját
szálak, de valahogy ez a kettő közötti kommunikáció útján
valamit úgynevezett események.
Akkor hadd menjek előre, itt és nagyítani a fiú script,
amely úgy néz ki, mint ez.
Amikor a zöld zászló kattintottak, örökre tegye a következőket.
Ha a kulcs Space, vagy a Space Bar, van nyomva, mondjuk
Marco két másodpercig, ez tisztán esztétikai szóló
képernyőn, egy kis beszéd buborék, de aztán sugározzák.
>> Tehát adás egy másik Scratch darab ez
képviselője egy osztály funkcionalitás programozás
, amely lehetővé teszi a különböző programok, a különböző szálak,
az inter-kommunikálni, hogy valahogy küldeni
üzeneteket, az egyik a másikra.
Átadás egy darab papír osztály egyfajta a low tech
egyenértékű.
Szóval sugárzott esemény.
Tudok küldeni ezt az üzenetet, és a szó esemény
teljesen önkényes.
Scratch néha ezeket a legördülő menüben, úgyhogy csak jött
egy véletlen szót, mint eseményt, mert most, amit a fiú nem
mikor nyomja meg a gombot ő sugározza ezt az eseményt.
És ha megnézem most a lány script, ő parancsfájl
szuper egyszerű, mert mindent, amit meg kell tennie, hogy nem jár, ha
a zöld zászló kattint.
Úgy tervezték, hogy keresetet, amikor megkapja idézet, idézet vége,
"Esemény", és ezen a ponton, ő hallgatja ezért
az úgynevezett esemény újra és újra.
Amint azt kap az esemény, ő fog kiabálni
Polo két másodpercig.
>> És így talán következtethetünk ebből pontosan mi a
következő eredmény lesz.
Hadd kattintson a zöld zászlót.
Semmi sem történik, mert kell, hogy mit csináljon?
KÖZÖNSÉG: Space Bar.
DAVID Malan: Space Bar.
Boy mondja Marco, lány mondja Polo.
De ez nem nehéz kódolni per se.
Az inter-közötti kommunikáció scriptek, így most már
megvan a képessége, hogy még bonyolultabb programokat, ahol
E kettő valahogy közötti kommunikációt.
>> Szóval, milyen irányba tudjuk ezt?
Nos, a probléma meg 0, tényleg, a cél az, hogy
szórakoztató Scratch.
A hacker verzió, akkor inkább szórakoztató egy
kifinomult változata Scratch nevű BYOB, Build
Your Own Blocks, de az ötlet ugyanaz.
Ön képes lesz -
Igen, ez szándékos volt.
Ebből jött Berkeley.
BYOB a hacker kiadása változata, de mindkettő
demográfia, Standard Edition és a hacker kiadás egyaránt, a
cél kéznél az elkövetkező hét tényleg csak merülni
mély, a kezed piszkos programozás, és győződjön meg
valami érdekeset, valamit interaktív, tégy
valami művészi, hogy valami szórakoztató, hogy valóban
bizonyítják, hogy a hét végéig, akkor van egy projekt,
nem csak az első CS50 Pset, de akkor egy
kis valami, amit bizonyítani tudja, ki az Annenberg
barátok, vagy akár családi feltöltésével, hogy MIT honlapján.
És mint mondtam, szerdán várunk 90%-át az osztály,
általában, hogy nem a szokásos kiadások.
Ismerd fel, hogy van még ez a piac azok számára, akik
egyébként találja magát egy kicsit unatkozni az alapokat
és tényleg akar merülni és kézműves jövőkép már
tekintette előzetes háttérrel e barátságosabb
környezet.
>> Hadd húzza fel egy másik példa arra, hogy az egyik korábbi
diákok itt volt, és mondja el egy kis valamit a dalt.
Ez hasonlóan, mivel ez játszik, gondold át, hogyan megy a
E program végrehajtása során a pontosan ugyanezen
építőelemek, egy kis ál véletlenszerűség, és egy
kicsit ismerős dalt.
Ha tudnánk növelni a hangerőt, csak egy kicsit?
[MUSIC - "Esik az eső MEN" AZ IDŐJÁRÁS GIRLS]
>> DAVID Malan: Ez azt CS50.
Fogjuk látni hétfőn.
[Taps]