[Powered by Google Translate] [ROCK MUSIC]
[TÓNLIST - "SAMAN HAPPY" The Turtles]
DAVID Malan: Í dag, byrjum könnun okkar á
grundvallaratriði tölvunarfræði og kynningu okkar,
nú, að list forritun, þar sem er
bara eitt dæmi.
En að sama skapi á að leysa vandamál, ég veit að
Hefðbundin CS50 er Puzzle Day er á morgun.
Ef þú hefur ekki enn RSVPed fyrir þessum atburði, getur þú farið til
cs50.net/rsvp.
Þú getur fært lið af tveimur eða þremur eða fjórum.
Þú verður að takast á við vandamál eins og sá sem þú sást
þarna í upphafi.
Öll ný vandamál á þessu ári ef að þú tæmdi síðasta ári, og þú
mun hafa tækifæri þá til að vinna sumir stórkostlegur verðlaun.
Meðal þeirra, Wii og sumir gjöf vottorð og eins,
allt á meðan að hanga út með CS50 nemendur og skólafélaga
og pizza og Facebook.
Svo meira um það á morgun ef þú vilt.
>> Þetta er þá CS50, fyrir þá tengja okkur fyrir
í fyrsta skipti.
Og veit að þetta námskeið er sérstaklega ákveðið að fá
þú með þessu námskeiði við endanlega enda, á hver benda þú
verður ekki aðeins skilning á þessum
grundvallaratriði tölvunarfræði, en þú verður að hafa
þetta mjög hagnýt kunnátta setja sem þú getur síðan tekið aftur til
eigin deild, hvort sem það er verkfræði vísindum,
Hagnýt stærðfræði, líkamlega vísindi, náttúruleg
vísindi, eða eins.
Reyndar, það er svo spennandi um tölvunarfræði þessum
dögum er að það er bara svo við að
alls konar sviðum.
Og jafnvel þó að í dag, munum við aðeins klóra yfirborði
mjög hefðbundin forritunarmál þekkt sem C, munum við
í staðinn líta á eitthvað sem kallast Scratch, eitthvað með
sem að elska kex saga var framkvæmd af einni af
forverar í ár fortíð, til að segja sögur, að búa til leiki,
til að búa til gagnvirka list, og í raun að byrja að vefja starfsemi okkar
hugur um sumir af grundvallar býr að
baki forritun en í samhengi, eins og þú munt sjá, það er
miklu minna ógnvekjandi, það er miklu minna Bogagöng, en þú munt sjá
áður en langur.
Og átta sig á, líka, fyrir þá bara að tengja okkur þetta
önn, setningar sem við enduðum fyrirlestur á miðvikudag,
það er ekki svo mikilvægt þar sem þú endar upp miðað við þinn
bekkjarfélagar í þessum flokki, en þar sem þú, í lok hverrar annar
í viku 11, enda miðað við sjálfur rétt þennan dag.
>> Svo án frekari fjaðrafok, það er einnig athyglisvert að
þeir minna þægilegt, eru þeir einhvers staðar þar á milli,
einnig við hönnun á þessu námskeiði, ekki á hverjum óhagræði
gagnvart-a-gagnvart þeim öruggari
koma inn í þennan flokk.
Eins og þú munt sjá á næstu vikum til að koma, höfum við mismunandi
lög fyrir ólíkum bak bakgrunni, hlutar til þeirra
minna þægilegt, öruggari, þá einhvers staðar
á milli.
Eins og þú munt sjá þessa helgi og í næstu viku, tvær útgáfur af
flest vandamál setur í bæði standard og tölvusnápur útgáfa svo
sem allir geta sjálf-velja niður leið sem þú
er þægilegur.
>> Svo í dag, kafa við í þessari forritun
tungumál kallast grunni.
Það er myndrænt forritunarmál, og enn hefur það
sömu eiginleika sumir af the yfirmaður láréttur flötur tungumál munum
kanna síðar á önn, meðal þeirra C og
JavaScript og PHP.
En það er að fara að leyfa okkur að koma í veg fyrir sumir af the truflun
snemma af setningafræði, hlutir eins semikommum, sviga,
og öðrum Bogagöng upplýsingar sem, við fyrstu sýn, er bara ekki
á öllum intellectually áhugavert og hafa tilhneigingu til að fá í
leið frá sumum grundvallar skilning.
Hvað varðar nú styðja uppbyggingu framundan, áttaði sig á þessu
tól, CS50 ræða, sem verður tengd á námskeiðinu er
website síðar í dag, er á netinu umræða í
sem þú munt vera fær um að spyrja spurninga um hvert annað og
starfsfólk, og það er einnig tæki, eins og við munum sjá í næstu viku,
að við munum nota alveg integratedly í
skrifstofa klst eins og heilbrigður.
Reyndar byrja skrifstofutímarnir á mánudaginn, og hreinskilnislega, fyrsta
viku á skrifstofutíma er nokkuð lágt lykill.
>> Ég held ekki að þú munt finna Scratch allt sem óaðgengilegur.
Það er frekar sjálf-útskýringar, eins og við munum sjá, og svo hvað
við munum nota það í dag er að draga sumir af the
grundvallar hugmyndir sem þá varað í öllu
hvíla á önn.
En byrjar á mánudegi, at 8:00 pm um 23:00 verður
skrifstofutímarnir í Annenberg yfir brot heila.
Sectioning tvö mun byrja í kvöld, þannig að einhvern tíma á þessu
helgi, fara cs50.net/section, og þú munt
beðinn ýmsar spurningar.
Meðal þeirra, hvernig myndir þú lýsa skýrsluna í
þægindi stigi eins og í dag?
Það er enginn harður, fljótur regla um hver er í hvaða fötu.
Það er bara svoleiðis að þú veist líklega ef þú
eru meðal þeirra minna þægilegt eða annan hátt.
>> Og nú, walkthroughs.
The setja vandamál forskrift fyrir þessa viku, bæði staðall
og tölvusnápur útgáfa jafnt er á netinu á cs50.net sem nú.
Og þú munt sjá að það fyrsta af þessum útgáfum, sem
Standard Edition hverri viku, fylgir eitthvað sem við
hringja í númerið walkthrough, fundur leiddi með einu af
kennslu félagar sjálfsögðu að leiða þig í gegnum, gefa
ábendingar um, og fá þig niður ákveðna leið þegar það kemur
að byrja þessi vandamál setur.
Svo setur við hvert af þessum vanda, ef þú ert alltaf að vilja
fyrir þig hvar byrja ég, byrja þú með þessum
walkthroughs.
Og í raun, að leyfa mér að kynna Zamyla Chan, þetta
Kennt er maður sem mun vera leiðandi hverjum
einn af þessum walkthroughs.
Zamyla?
>> [Lófaklapp]
ZAMYLA CHAN: Ó, hæ, allir.
Ég heiti Zamyla.
Ég er yngri læra verkfræði í Winthrop House.
En ég reyni og passa eins mörgum tölvunarfræði námskeið eins og ég
getur, sem er ástæða þess að ég er virkilega spennt að verða leiðandi á þessu
walkthroughs ári.
Walkthroughs, fyrir mig, voru ómissandi hluti af CS50 mínu
reynslu.
Á walkthrough fyrir hvert p-sett, munum við fara í gegnum
vandamálið sett saman, líta yfir þau vandamál, eins konar
skipta þeim upp í viðráðanleg bit.
Ég ætla að gefa þér ráð, aðferðir, að fá
gegnum og að byrja.
Ég vona að sjá ykkur öll á walkthroughs.
Ef þú getur ekki gert það í eigin persónu, þá
skaltu ekki lag í netinu.
>> DAVID Malan: Excellent.
Þakka þér, Zamyla.
Svo grein sem walkthroughs er reyndar á föstudegi
síðdegis, en þetta er vísvitandi með hönnun þannig að
jafnvel ef þú vilt ekki mæta bekknum á föstudegi
síðdegi, vídeó vilja vera upp allt hraðar yfir
helgi.
Svo ljóst að cs50.net verður öllum er Zamyla
walkthroughs.
Og að það er dagsetning og tími, 3:00 PM,
Harberd Hall, 104.
Og sumir af kennslu félagar hafa einnig undirbúið
nokkrar athugasemdir um þig í fjarveru til að gefa þér smá
yfirsýn um hvaða reynslu þeirra koma inn og
að fara út af CS50 var eins.
Svo ef við gætum lítil ljósin fyrir réttlátur a augnablik, ég gef þér
sumir starfsmenn CS50 er.
>> JACKSON STEINKAMP: Ég tók CS50 á síðasta ári sem freshman í
falla, og það blés algerlega um skoðun.
Ég hafði aldrei tekið forritun námskeið áður,
og kom aldrei með hvaða tölvunarfræði
reynslu yfirleitt.
Og bara, heyrði ég suð um í bekknum og
ákvað að taka það.
>> JULIA MITELMAN: Það var virkilega gaman, virkilega aðlaðandi.
Ég er enn þann dag í dag -
Ég sá nýlega Ég hef disklingi sem Davíð gaf okkur
á fyrsta degi okkar í fyrirlestrinum.
Ég hafði hengt það á vegginn minn.
Þetta er sennilega svolítið nerdy, en ég hékk í á mínum
vegg á bekknum sem áminning um hvernig kaldur það var.
>> TRAVIS Downs: Hún er svo vandræðaleg.
>> JACKSON STEINKAMP: Tölvunarfræði er eitthvað sem þú
að reyna, jafnvel ef þú ert ekki einn um
hefðbundin vísindagreinar.
Það er eigin reynslu, og CS50 mun tryggja að þú ert
stutt vel í gegnum það með veritable her þess TFS.
>> ALI NAHM: Ég tók það sem freshman, og svo ég gerði mikið
nýrra vina.
Ég fékk líka kynnt þetta allt styrk og
allt Verkfræði, og svo mæli ég mjög það
og bjóða ykkur velkomin að CS50 fjölskyldu okkar.
>> Yaniv YACOBY: CS50 kennir bara þér hvernig á að nota verkfæri
sem eru víða aðgengilegar.
Þú þarft bara fartölvu, þú þarft að hafa a vefur flettitæki, og þú
þurfa að læra að skrifa nokkur númer, og þú getur raunverulega að byggja
snyrtilegur hlutur.
>> KAREN XIAO: Það er bara svo flott að vera fær um að gera eitthvað
og hafa menn nota það og hafa menn sjá það, og það er
það sem ég elska virkilega um það.
>> TIM McLaughlin: - tilfinningu fyrir samfélaginu, að ég held, í þessu
auðvitað meira en nokkur önnur námskeið sem ég hef tekið hingað til.
Þú ert ekki bara að taka annað -
þú ert ekki að fylla aðra kröfu.
Þú ert ekki bara að fara til fyrirlestra og fara að hluta.
En þú ert að gera fullt af hlutum sem eru allt um
forritun og allt um tækni, en það er ekki
raunverulega líður eins og a tegund af the tími.
>> Travis Downs: Og á fyrsta degi, afhenda þeir út köku, og
Ég var strax seldur.
>> JACOB PRITT: Free Candy og pizza.
>> ZAMYLA CHAN: - óháð stigi áhuga þinn, ég held
að CS50, munt þú hafa gaman, og þú munt vera vitsmunalega
örvun.
>> MARK GROZEN-SMITH: Það er alltaf aðili í bekknum, og það er
aðila á hverju kvöldi að vinna í p-setja.
>> JACKSON STEINKAMP: Í hvert skipti sem þú klára vandamál setja, þú
mun líða eins og þú hefur lokið við verkefni.
>> MELISSA NIU: Það var freshman ár, og ég var búinn að versla.
Ég hafði fjórar bekkinn tilbúinn, og ég var í Annenberg.
Og ég högg í vin, og hann segir, hey, ég er að versla
Þessi tegund heitir CS50, og þú ættir að koma með mér.
Endaði að taka það að falla, og eftir þeim flokki, ég
hélt kannski að ég er að fara til lítil í CS.
En hér er ég, þremur árum síðar, er enn að læra tölvu
Vísindi og í raun að gera það eins mikil, og ég elskaði alla
stund af því.
>> ROB Bowden: Ég hef ekki hugmynd.
>> ALI NAHM: Við skulum sjá.
>> MELISSA NIU: Craziness.
>> Hátalarar 1: Mér finnst eins og ég væri mjög klisja.
Ég myndi bara segja eins, ógnvekjandi.
>> Yaniv YACOBY: Aðgengi.
>> JACOB PRITT: Free Candy og pizza.
>> TRAVIS Downs: Get ekki snúa niður klasa sem hendur út köku.
>> TIM McLaughlin: ötull.
>> VIPUL SHEKHAWAT: Essential.
>> ROB Bowden: Leyfðu mér að hugsa um svar.
Ég held að ég fékk eitthvað.
Ó, guð.
Já, Rob Bowden nafns míns, og það er CS50.
>> [Lófaklapp]
DAVID Malan: Allt í lagi, þannig að við skulum byrja að mála mynd
um þá stefnu sem við getum farið, og við skulum kynna
þetta hugtak hér þekktur sem sauðakóðanum.
Svo er sauðakóðanum ekki forritun
tungumál við sig.
Það er ekkert tæknilega í sjálfu sér, en það er bara eins konar
almenn leið til að tjá þig nokkuð nákvæmlega,
nokkuð algorithmically, nokkuð procedurally, en án
að þurfa að hafa áhyggjur óður í hvaða tungumál þú ert að tjá
sjálfur inn
Það er einhver tegund af ensku og forritunarmál með
sem þú verður að þekkja, svo að við getum byrjað
skrifa þessa tegund af hlutur sem við förum.
Og í raun, Joseph, gæti ég lánað þér upp á svið til að vera
fræðimaður hér?
Ég hef farið fram hér áður og gleymt að setja
á sumum sokkum í dag, og þetta verður meðal fleiri okkar
fáránlegt dæmi.
>> Nú þarf ég þér hérna.
Ég gera sokka hluti.
Svo hér höfum við smá klóra púði.
Þetta er bókstaflega bara TextEdit í Mac.
Við erum í raun ekki að fara að skrifa runnable áætlun, en
við erum bara að fara að byrja að skissa út sauðakóðanum byggt
á sumir af ráði sem þú gefur mér hér.
Svo er hér stafli minn sokkum heima.
Ég hef enga sokka á þegar ég vakna á morgnana, og við nú
þarf að skrifa forrit, reiknirit nokkurs konar, sem
að fá þessar sokka á fætur mína.
Og á leiðinni, við skulum sjá hvort við tærnar, eða fundur,
sumir af þeim hugmyndum sem þú ert að fara að byrja
hugsa um miklu meira alvarlega þegar forritun
svo áætlanir þínar hegða sér ekki alveg eins og ætlað.
>> Svo ég sest niður hérna.
Ég hef fengið haug minn sokkum.
Hvað er það fyrsta sem sanngjarnt manneskja myndi
gera þegar markmiðið er að setja á a par af sokkum?
Einhver gefa mér eitt skref, og aðeins eitt skref.
Já?
Áhorfendur: beygja niður.
DAVID Malan: beygja niður, allt í lagi.
Skref tvö.
Áhorfendur: Pick upp sokkur þínum.
DAVID Malan: Pick upp sokkur þínum.
Jæja, svo smá tvíræðni hér, og þetta er eitt af þeim fyrstu
hrasa blokkir sem við erum að ætlast til að vísvitandi
fundur hér.
Það er svolítið óljós, þannig að ná upp sokkur þínum.
Fine, ég tek þetta einn, en tölva, átta sig á bara
hluti, er ekki að fara að hafa þessi tegund af mönnum eðlishvöt bara
velja á næsta einn.
Við erum að fara að byrja, áður en langt, tjá
okkur meiri nákvæmni.
>> Allt í lagi, svo er skref tvö tekið upp sokkur þínum.
Við munum taka það.
Skref þrjú.
Á bak.
Áhorfendur: Finna samsvörun par.
DAVID Malan: finna samsvörun par.
Jæja, þannig að þetta er gott.
Ég þurfti að velja þetta sokkur.
Svo er það að markmiði að finna samsvörun sokkur, nú, en hvað
þýðir það?
A sanngjarnt manneskju, líkt og á miðvikudaginn þegar ég bara
vissi hvernig á að finna Mike Smith í símaskránni, bara svona
fór með eðlishvöt þeirra.
En hér er það augljóslega þetta sokkar hér, en í tölvu
ekki að fara að vera svo instinctive.
A tölva er að fara að hafa safn af bita, eins og við
rætt á miðvikudag og þá eru
skipulagt á einhvern hátt í minni.
En málið er að tölvan hefur aðeins getu
að líta á hlutina einn í einu, og í raun, jafnvel við
menn - jafnvel þó að mér finnst eins og ég horfði niður og hættu
annað seinna ég veit hvar sokkar er heila minn og augu mín
væntanlega gerði a fljótur Lögð af þessum sokkum, og þá fest
á því sem um ræðir.
>> Svo ef við vera allt meira vísvitandi nú sem tölvu,
hvernig finn ég þetta samsvörun par?
Jæja, verðum við að iterate.
Við verðum að kannski lykkju á þessu óreiðu í sokkum á að
hæð þar sem ég segi eitthvað eins og fyrir hverja sokkur, sækja hana
upp, og ef sömu lögun og stærð og hinn, og síðan
punktur, punktur, punktur, munum við halda áfram söguna.
Svo fyrir hvern sokkur, svo ég tekið upp þessa.
Ég athuga þetta jafnt þessa.
Það er ekki, svo ég setti til hliðar hlið.
Og ég iterate aftur.
Er þetta jafn?
Nei, er það ekki, þannig að ég setti það til hliðar.
Er þetta einn?
Nei
Þessi?
Nei, og svo framvegis.
Og svo að lokum, vonandi mun ég lenda í þessari sokkur hér.
Svo ef það er the sami lögun, stærð, taka það.
>> Og nú, hvað væri næsta skref okkar hér?
Já?
Áhorfendur: Þekkja hægri frá vinstri.
DAVID Malan: Allt í lagi, þekkja hægri og vinstri, svo
sem betur fer, þannig virkar.
Smá samhverf, eða ég hef bara borið þá þannig.
Allt í lagi, svo ég hef borið kennsl á rétt.
Og nú, áður en við getum haldið áfram, langar mig að benda á hvað er Jósef
verið að gera hér eins konar ný versed forritari.
Svo aftur, það er engin ein leið til að gera þetta, en út bara
tala línanna, Joseph hefur þegar byrjað að gera þetta
konar skerðing.
Reyndar, þetta er mjög algengt venju í forritun,
þannig þegar þú endurtekningu eitthvað, lykkja stíl, eins og
við erum að gefa í skyn með enska setningu "fyrir hverja
sokkar, "samningsins í sauðakóðanum og, eins og við munum sjá,
eðlileg forritunarmál, er bara að draga inn.
Hit Space bar nokkrum sinnum, högg á Tab-takkann eða þess háttar,
svo sem hreiður undir "FYRIR HVERJA sokkur" er klumpur af
efni sem þú þarft að gera vegna þeirrar hliðar.
Svo er það allt sem er miðlun merkingu.
Nú á meðan, "ef það er the sami lögun og stærð," að
staðreynd að "Taktu það" er indented frekar þýðir bara
það er það eina sem þú ættir að gera ef því ástandi,
ef þessi grein, sem vegurinn er í raun satt.
>> Svo nú hér, við erum á fjórða sporið, þekkja hægri og vinstri.
Ég hef bent rétt.
Gefa mér fimmta sporið.
Og tæknilega gætum við virkilega kalla
á FYRIR HVERJA hlutur -
þú ættir sennilega telja öllum línum
við erum að fara að gera þetta.
JOSEPH: [inaudible]
DAVID Malan: [inaudible]?
Jæja, allt í lagi, allt í lagi, við munum gera það á þinn hátt.
Allt í lagi, svo skref fimm, hvernig gerum við rétt sokkur?
Hvernig höldum við næst, hér?
Já?
Áhorfendur: Lyftu upp hægri fæti.
DAVID Malan: Lyftu upp hægri fótinn, allt í lagi.
Skref sex?
Fljótt.
Já.
Áhorfendur: Finna opnum enda sokkur.
DAVID Malan: Jæja, finna opinn enda sokkur.
Svo gott.
Svo hér, heiðarlega, mjög algengt eðlishvöt væri bara
setja á hægri sokkur, en það líka er nokkuð óljós.
Nema tölvunni eða manna veit nákvæmlega hvað þetta þýðir,
það er ekki að fara að vera að framkvæma það, svo hér, hef ég
fann opnun lager.
Skref sjö?
Áhorfendur: Snerta tærnar.
DAVID Malan: Touch tær.
Jæja, svo nú erum við að fara -
Allt í lagi, ég ætla að taka nokkrar frelsi hér.
Takk.
Skref átta?
Í sokkana.
Jæja, svo nú er ég, held að við séum nógu nálægt til að raða á að taka
þetta einn heima.
Allt í lagi, svo fer þetta upp.
Ég tek nokkrar frelsi með hvað það þýðir í raun.
Setjið sokkur á.
Allt í lagi, nú stíga níu?
Áhorfendur: Settu fótinn niður.
DAVID Malan: Þakka þér.
Skref níu, setja fótinn niður, og nú getum við endurtekið.
Svo væntanlega getum við nú farið í skref 10 og segja finna
vinstri sokkur, en það er væntanlega þegar gert.
>> Og svo þá get ég svoleiðis endurtaka þessi skref.
En þessi tegund af bidur spurningunni.
Áður, í síðasta sinn sem við vildum að endurtaka eitthvað, við
gerði það iteratively, aftur og aftur, fyrir
Hver lykkja svo að segja.
Myndi það gera vit í að nota lykkju til að sinna bæði
vinstri og hægri sokkur?
Vegna þess að það er eins og þessar aðgerðir eru nánast
eins nema fyrir þá staðreynd að einn byrjar hér og einn
byrjar hér?
Eigum við lykkju, eða eigum við að halda bara að skrifa skref
10 og 11 og 12?
Áhorfendur: Loop.
>> DAVID Malan: Jæja, svo lykkja.
Ég reyndar gæti sagt bara að halda áfram.
Svo hvers vegna er þetta málið?
Jæja, þetta er í raun sú fyrsta okkar ekki augljóst
ákvarðanir hönnun, og í raun einn af þeim mæligildi sem
við munum byrja á að meta, fyrir okkur sjálf og fyrir þig,
gæði af a program er bara hversu vel hönnuð og það er.
Hefur þú gert lágmarks magn af vinna þarf að
fá starf mest fljótt, annað hvort í skilmálar af
tíma eða í skilmálar af að keyra tíma í tölvunni?
Hversu margar aðgerðir er það sem þarf til að framkvæma?
Þannig að öllum líkindum er þetta tækifæri fyrir lykkju vegna
um leið og ég byrja að afrita og líma, eins og Jósef raun
myndi byrja að gera í smá stund, þú ert góður af sóa símann ef
tími, og þú ætlar að vera tvöfalt svipmikill.
>> En á sama tíma, þetta eru í raun bara tvö sérstök
tilvikum, til vinstri og hægri.
Og þar áður, gæti ég hef 10 eða 20 eða fleiri sokka á
stafli, gerir það örugglega vit ekki að hafa 50 línur af
kóða segja athuga þetta sokkur, svo næsta einn,
svo næsta einn.
Hér er það aðeins minna augljós, og ég myndi tillaga
að við gátum farið annað hvort hátt.
Við gætum annað hvort hafa þessi lykkju, þó að það lykkjur aðeins
tvisvar, eða við getum einfaldlega afrita og líma bara svolítið
hér til að fá starf.
En þetta forrit er þrjótur, svo að segja.
Það gæti hafa sumir mistök, villur, eða horn tilvikum, svo að
tala, því að við vissum ekki í raun ráð fyrir.
Ekkert fór úrskeiðis að þessu sinni, en það gæti hafa farið úrskeiðis
meðan framkvæmd þetta forrit?
Áhorfendur: Þú ert ekki með neina sokka.
>> DAVID Malan: Þannig að það gæti verið engin sokka þar alls.
Svo skulum við íhuga að horn málið.
Svo ef við gætum að fletta aftur upp að stíga einn, þannig að sporið var
beygja niður, svo að tékka út.
Skref tvö, ná upp sokkur þínum, en þá finna samsvörun sokkur,
þekkja rétt.
Við gerðum konar a heild búnt af forsendum, og það er,
hreinskilnislega, hvers vegna program hrun stundum.
Ef þú, sem forritari, hafa gert ákveðnar forsendur, eins og
vafalaust eftir að vera sokkum eða vafalaust er að fara
að vera minni eftir í tölvunni, örugglega það er að fara
að vera pláss eftir á harða diskinum -
Jæja, ef þú gerir við þessar forsendur, og það er ekki,
í raun, að veruleika, hver veit stundum hvað tölva er
að fara að gera?
Og stundum, þegar þú færð snúast ströndinni boltann eða
fryst Windows eða þess háttar, það er einmitt vegna þess að sumir
forritari gerði ekki ráð fyrir þeim svokölluðu horn tilvikum.
Hvað annað gæti hafa farið úrskeiðis í þessari áætlun?
Já?
>> Áhorfendur: Þú ert ekki með hægri fótinn og vinstri fótlegg.
DAVID Malan: Allt í lagi, kannski ekki bæði hægri fótinn og
vinstri fæti, og svo þetta forrit gæti ekki verið almennt
við.
Aðrir?
Áhorfendur: Þú gætir hafa valinn upp munaðarlaus sokkur.
DAVID Malan: Ég gæti hafa valinn upp munaðarlaus sokkur, svo
ekki samsvörun sokkar sem bara hefur engin systkini því ég hef
missti það, það er rifið, það er í þvott enn, eða þess háttar.
Svo að, of, hefur í raun ekki verið afgreidd.
Já?
Áhorfendur: Þú gætir nú þegar hafa sokka á.
DAVID Malan: Ég gæti nú þegar hafa sokka á.
Ég vissi í raun ekki stöðva.
EF þú ert ekki með sokkum á, þá halda áfram að gera
lína eitt og tvö.
Og það gæti gerst.
Þú sofnar með sokkum á og þess háttar, þannig að
það líka, mjög sanngjarn horn raunin.
Og kannski eitt annað?
Áhorfendur: The sokkar eru inni út.
DAVID Malan: Svo er sokkur inni út, þannig að við gerðum engin villa
stöðva, í stuttu máli.
Við vildum ekki athuga hvort ríkið í heiminum er eins og við gerum ráð fyrir.
Við vildum ekki athuga hvort við fundum í raun það sem við erum að leita að.
>> Og jafnvel þó að þetta sé svona fáránlegt dæmi
felur í sokkum, í lok dagsins, það er einmitt
tegund af hugarfari sem þú þarft að hafa á meðan að skrifa forrit,
jafnvel í grunni sem og í C, í JavaScript, í PHP,
því annars, forrit mun sýna að
jafngildi þeirrar snýst ströndinni bolta eða bara gefa
rangar niðurstöður.
Svo margir takk hér að kanslari Jósef okkar.
[Lófaklapp]
>> DAVID Malan: Allt í lagi, svo það er í
staðreynd, tölvuforrit?
Jæja, við skulum taka fljótur litið á a
Fulltrúi eitt hér.
Svo er þetta forrit skrifuð á tungumáli sem heitir C. C er
nokkuð gamla þessa dagana, en margir nýrri tungumál eru byggð
ofan á það.
Reyndar, PHP, einn af the vefur-miðlægur tungumálum munum
nota til enda hugtakið, hefur sig hvað kallast
túlkur, forrit sem er skrifað í C, en meira um það
í margar vikur frá núna.
En þetta forrit, og þetta er það sem það þýðir að skrifa
program, að vísu mjög einföld.
Við höfum sumir nokkuð dulinn setningafræði hér, en þú getur
sennilega giska, jafnvel þótt þú hafir aldrei forritað áður, hvað
þetta forrit gerir.
Reyndar veit ég ekki hvað printf er, en prenta vissulega
conjures upp hugmynd um prentun eitthvað út.
Og svo já, þetta forrit er á endanum að fara að prenta út
orðin "Hello, world."
>> Nú, hvort sem þú ert með Mac eða PC eða Linux tölva, stuðla
eru, að minnsta kosti ef þú sótt einhver frjálslega
í boði hugbúnaður, getur þú hefur verið að skrifa forrit á
eigin fartölvu fyrir alveg sumir tími nú.
Á Mac OS, til dæmis, það er þetta forrit sem heitir
Terminal sem kemur með Mac, sem er venjulega í símanum
Utilities möppunni, og hún opnar yfirleitt svart og
hvítt eða hvítt og svart gluggi þar sem þú ert með
hvetja þar sem þú getur slegið inn skipanir.
Svo er þetta í raun minnir það sem tölvur
notað til að vera fyrir grafísku notanda
tengi, GUI, kom með.
Nú, í Windows, þarftu svipuð kerfi í formi
í stjórn hvetja.
>> En það sem ég ætla að gera hér er að opna upp, við skulum segja,
TextEdit aftur, þannig að sama kerfið sem við vorum að nota fyrir
sauðakóðanum í smá stund síðan, og ég ætla að fara á undan og
skrifa fyrsta forritið mitt.
Hafa stdio.h, hvað það þýðir, int helstu
ógild, hvað það þýðir, og svo í miðjunni hér,
printf ("Hello, world."). Og svo loka vitna,
loka paren, semíkommu.
Nú ætla ég að fara á undan og bara högg Command-S. Ég ætla
að fara á undan og vista þetta sem hello.c, svo að venju í
The veröld af C forritun heitir skrána punktur c.
Ég ætla bara að setja í möppu Home John Harvard er,
hér skaltu smella á Vista, og nú ætla ég að fara yfir þetta
endastöðvar, sem aftur er þetta svart og hvítt hvetja
þar sem ég get framkvæma skipanir.
>> Ég get keyrt forrit með því að slá nafn sitt, ekki með
tvísmella tákn í venjulegum skilningi.
En málið er um C er að tungumál eins og C fyrst
kemur í þessu formi, eitthvað sem kallast kóðann.
Eitthvað sem lítur út svolítið eins og ensku en er
örugglega minna eins ensku en sauðakóðanum a Jósefs
stund síðan.
Þess 'a lítill fleiri Bogagöng.
Það virðist fylgja nokkur mynstur eða reglur.
Sú staðreynd að ég hef hrokkið axlabönd, semikommum, vitna,
horn axlabönd, finnst eins og tölva kom upp með þetta
konar tungumáli.
En ef ég fer, nú, við þessa flugstöðinni glugga, ég get keyrt
stjórn sem er að fara að breyta því kóðinn er
eitthvað sem kallast mótmæla kóða.
Það er að fara að breyta ensku eins setningafræði til núllum
og sjálfur, sömu tegund af núllum og þær sem við
talaði um miðvikudag.
Nú ætla ég að fara að keyra skipun sem heitir Clang.
Meira um þetta á næstu vikum til að koma, en það er a program með
sem ég get breytt hello.c í heild búnt
af núllum og sjálfur.
>> Nú, ég hef keyrt þessa skipun.
Ég hef keyrt Clang, og þá sagði ég keyra sjálfur á þessari skrá
heitir hello.c, sem ég skapa í smá stund síðan, og
ekkert virðist gerast.
En reyndar, ef ég pota í kringum skrá heimili mitt, myndi ég sjá
að þetta heimskulega heitir program a.out er nú.
Þetta er bara sjálfgefið nafn fyrir a program þegar skrifað
C. Við getum hunsa þetta loksins, en a.out er
nafn forritsins sem ég breytt rétt í núllum og sjálfur.
Og nú að núll það og sjálfur, Mac minn, í þessu tilfelli, eða
Windows tölvunni þinni, getur skilið þá bita, þá
núll og sjálfur.
Og svo þegar ég lenti inn, sé ég "halló, heimur!"
>> En það er dálítið þrjótur.
Ég vissi ekki alveg að segja "halló, heimur: loft: - jharvard." Air er
nafn á tölvunni minni.
Jharvard er nafn á reikning, þannig að hvað gerði ég greinilega
sleppt úr áætluninni?
Sumir konar brot línu.
Ég vissi ekki högg sem nemur inn eða flytja aftur,
og þetta er, aftur, erfðaskrá til þess að tölvur geta
bara gera það sem þú segir þeim að gera.
Og sú staðreynd að ég var ekki að segja tölvuna færa
bendilinn í næstu línu -
Jæja, það er vissulega ekki að fara bara að gera það
ofdirfsku fyrir mig.
Svo ef ég fer aftur til áætlun mína, og ég segi \ n -
Svo \ n, eins og við munum fljótlega sjá, er leið
fulltrúi undarlegt hluti eins og nýja karaktera línu, það
sem ella væri vegna
hitting á Enter takkann.
En nú, bara vita að hitting á Enter takkann myndi
bara gera númerið okkar líta undarlegt, svo að heimurinn ákvað, þú veist
hvað, til að halda hlutum fallegri, að halda það á einni línu, við skulum
bara segja \ n táknar nýja línu.
Leyfðu mér að vistað póstinn minn skrá, fara aftur í flugstöðinni glugga, og
Re-hlaupa a.out, Enter.
Enn þrjótur, en hvers vegna?
>> Áhorfendur: [inaudible]
DAVID Malan: Já, þannig að ég þarf að laun það.
Svo til að safna saman forrit bara þýðir breytt henni frá upptökum
kóða til að mótmæla kóða, kóðinn að núllum og sjálfur.
Nú, bara sú staðreynd að ég högg Vista í TextEdit hefur ekki
ber á þessum núllum og sjálfur því að ég þarf fyrst að
segja Clang hey, hef ég breytt þeim línum af kóða er
uppspretta merkjamál.
Þú þarft að endurfæða a.out.
Ekkert virðist hafa gerst, en í tölvu,
í stjórn lína, svo að segja, þegar ekkert gerist,
sem þýðir yfirleitt allt er vel.
Þegar eitthvað gerist, þýðir það
þú boðberi upp, almennt.
>> Svo skulum nú fara að a.out, og raunar nú, hef ég "halló,
heiminum. "
Og nú, hvað um þessar núllum og sjálfur?
Þegar í raun eru þeir?
Jæja, ég get ekki í raun bara svona pota í kring mjög
á áhrifaríkan hátt.
Leyfðu mér að opna TextEdit.
Hér er a.out.
Leyfðu mér að fara á undan og opna það, og það er greinilega það sem minn
program lítur út.
Þannig að ég hef opnað, ekki hello.c en a.out.
En þetta er í raun ekki það sem áætlun mín raunverulega er.
Augljóslega er þetta einhvers konar stafrófsröð stafi.
Ég sé ekki núll og sjálfur, en þetta er
því a.out er forrit.
Núll og sjálfur - en TextEdit, eins og nafnið gefur til kynna, það er
bara eins og Notepad á Windows, er bara texti ritstjóri, svo það er
ruglingslegt öllum þeim núllum og sjálfur sem
það væri, hvað?
ASCII stafi.
>> Svo muna á miðvikudag, komum bara upp með þetta
handahófskennt kortlagning af tölum, eða bitum, til stafina í
stafrófið og greinarmerki tákn og eins.
Svo TextEdit, að það er texti ritstjóri er misinterpreting
þau mynstur núllum og þau sem eiga að vera
prentun orð, eins og "hello, world." Það er að sýna þeim
sem ASCII, og það er hvers vegna það lítur svolítið sóðalegur.
Nú, there ert sumir vísbendingar um misskilning hér.
Tilkynning ef ég undirstrika, það er vísbending um raunverulega "halló,
heiminum, "svo eitthvað er í því forriti
setningin sem ég skrifaði.
En við skulum fara á undan og nú sjá með mismunandi forrit.
Þetta er ekki eitt sem við munum nota það oft, en það kemur einnig með
Mac og vilja vera inni á CS50 tæki.
Leyfðu mér að fara á undan og opna með forriti sem heitir XXD.
>> Til baka í dag, voru flest forrit sem heitir nokkuð cryptically,
og svo heldur áfram að stefna.
En-B þýðir spýta þetta forrit út eins og tvöfaldur.
Ekki hlaupa ekki.
Sýna það að mér sem núllum og sjálfur, og þetta er C
forrita við skrifuðum bara.
Nú, ég sem hér manna, ég hef heiðarlega ekki hugmynd um hvað
þessi mismunandi mynstur núllum og sjálfur tákna.
Til baka í dag,, ég með spil bolla mínum eða þess háttar, myndi
í raun að horfa upp hvað þessir mismunandi mynstur
01111000, í raun tákna.
Eða verra, myndi ég þurfa að gera gata eða sköpun
þessara mynstur núllum og sjálfur.
En nú, að taka á trú að CPU, Intel inni, svo
að tala, inni í öllum tölvum okkar þessa dagana, veit
hvernig á að túlka þessi núll og sjálfur.
Og sumir núll og sjálfur meina prenta.
Sumir núll og sjálfur meina spila hljóð.
Sumir núllum og sjálfur meina að taka notandi inntak frá lyklaborðinu.
Það er alls konar mismunandi mynstur, en við sem betur fer,
eins og menn, bara almennt þörf til hafa áhyggjur óður í forritun í
þetta nokkuð meiri.
Og í öðrum CS flokkum getur þú kafa niður dýpra og útlit
á hlutum eins og þessum núllum og sjálfur, eða enn
annars enn.
>> Svo nú skulum við breyta þessu.
Við skulum fara mjög fljótt í burtu frá C og fara eitthvað
lítið meira traustvekjandi, lítið meira spennandi, í það
við getum fengið aftur fjör okkar og hljóð og eins að
greinilega hafa sloppið okkur í þessu
nokkuð frumstæða tengi.
Þannig að þetta sama forrit í C má fulltrúa nú í þessu
forritunarmál sem heitir Scratch sem hér segir.
Þetta er jafnvirði um þessa Hello World program skrifaður í
þetta stykki púsluspil stíl tungumál heitir Scratch.
Svo láta mig fara á undan og opna þetta mjög program.
Það er aftur kallað Scratch.
Það er frjálslega laus, og þetta er það sama við
byrjaði í dag á.
>> Svo er þetta hér Scratch, og það er brotið upp í nokkur
mismunandi stykki.
Á mjög efst til hægri, höfum við svokallaða áfanga og
örugglega, það er þar sem smákökur
gerðar bara svolítið síðan.
Og á því stigi eru hlutirnir kallaðir sprites, tákn eða
hluti, eða aðila.
Það skiptir ekki máli hvernig þú hugsar um þá, en þeir
eru forritanlegur, færanlegar hluti, og í þessu tilfelli, þetta
forrit sem lesandi skrifaði hefur nokkra hunangskökum
kex, a par af hringlaga kex, a heild búnt af
hjörtu, a heild búnt af eyeglasses.
Vegna þessa, að hann eða hún er fær um að forrita hvern þeirra
einstakra stafir sig.
>> Nú, hvað þýðir það að forrita þessa stafi?
Jæja, láttu mig fara á undan og smelltu á þennan vinstri kex
og fletta yfir í efst til vinstri hér.
Í efst til vinstri á skjánum mínum nú er
svokallaða forskriftir svæði.
Þetta er tegund af eyða ákveða, í upphafi, á sem ég get
draga og sleppa þraut stykki að hreinskilnislega, gera
nákvæmlega það sem þeir segja.
Á the mjög toppur af þessum stafla af stykki púsluspil er orðið
Þegar Grænn Flag smellt og ef þú hefur ekki tekið eftir áður,
eins og ég byrjaði að kex lagið var smella, bókstaflega,
grænt fána.
Svo að þraut stykki efst til vinstri þar þýðir þegar
manna smellir græna fána, halda áfram að gera
eftirfarandi atriði.
>> Nú, hvað var það kex halda áfram að gera?
Ég í raun ekki vita hvernig á að túlka þetta enn, en
kex virðist setja gróp sína á núll, þá beið
þrjár sekúndur, þá breytti hóp til þess að einn, þá er það
beið annað, þá er það breytt þess
Groove aftur einn.
Og þá lítur þetta í raun eins og a hluti af galla, ætti ekki
að breyta gróp sína aftur og aftur, nema það
verið breytt annars staðar, en þetta röð af skrefum er það sem er
kveður á hegðun þessa tiltekna kex.
Svo skulum raunverulega fletta til baka og ekki horfa á eitthvað
alveg svo enn flóknari.
Leyfðu mér að fara á undan og fara í File, New,
og fá hreint borð.
>> Svo nú hef ég örugglega tóma handrit svæði, tómt leiksvið,
við vanræksla Sprite grunni okkar, og efst til vinstri
á skjánum mínum hef ég bretti allra þeirra
boði stykki púsluspil.
Og við munum ekki fara í gegnum næstum að margir af þessum hlutum
dag vegna þess, aftur, eru flest sjálf-skýringar, en við munum
reyna að flokka þær og benda líkt
með þessum framtíðinni tungumálum sem við munum kafa.
Og efst til vinstri hér er fyrst þegar Grænn Flag smellt
svo látið mig draga þetta hérna, minnka svolítið.
Og ef ég smelli á græna fána, ekkert gerist í raun vegna þess að
Ég hef ekki fest neina rökfræði, einhver yfirlýsing svo að segja, til að
að græn fána, svo látið mig fara upp í
flokkar hérna.
Ég er nú í Control flokki.
Ég ætla í staðinn að fara niður að útlitið flokki, og
það er allt fullt af hlutum hér að segja segja,
Hugsaðu, breyta lit, Switch búning.
>> Svo er hægt að gera asnalega hluti með búningum og
hljóð og þess háttar.
Leyfðu mér að fara á undan og bara segja segja, og nú taka sem ég er að draga
og sleppa þessari þraut stykki, það er að fara til að vilja latch
í sama form.
Svo þegar ég fer á undan og sleppa mús mína, læsa þeim
saman, og nú ef ég fer yfir hér og smella á græna fána,
kötturinn er í raun að segja halló því það er það sem er inni
þessa hvítum kassa.
Við munum fljótlega sjá að þessi hvítur kassi er það sem kallast
rök, eða breytu.
Það er leið til að breyta hegðun, í þessu tilfelli, a
þraut stykki, en ef ég vil að segja nákvæmlega það sem ég sagði
áður, segja halló, heimur, ég get nú farið aftur hérna,
smelltu spila, og "Hello, world" er það sem er sagt.
>> Þannig að við erum bókstaflega forritun núna.
Það er ekki allt sem sannfærandi um forrit, en að minnsta kosti
það er aðeins meira sannfærandi en eitthvað sem lítur á
fyrstu sýn, eins og þetta.
Og við getum mjög fljótlega fá allur the fleiri svipmikill
því að í grunni, eins og í öðrum tungumálum, það er allt
konar yfirlýsingar, ekki bara segja eða prentun eitthvað, en
þú getur gert hlutina eins og að bíða, eins og við sáum bara með
kex, sumir tala um sekúndur.
Þú getur spilað hljóð í umhverfi grunni bara
eins og þú getur í venjulegum tölvuforriti spila hljóð.
Þú getur athugað það sem kallast Boolean tjáning.
Svo nú skulum við byrja að bæta við tól okkar sum hugtök
sem í raun tengist dæmi sem Joseph og ég gerði
hér með sokkum.
Svo yfirlýsingar eru bara yfirlýsingar raun.
Gera þetta.
A tilskipun um Sprite, eða mig mönnum, að gera eitthvað.
A Boolean tjáning er eitthvað sem hefur gildi, a
svokölluðu sannleika gildi, það er annaðhvort núll eða einn, rangar eða
satt, af eða á, nei eða já.
Skiptir ekki máli hvernig þér finnst um þetta, en það er
tvöfaldur ástand.
Eins Nate fjallað í vídeó á miðvikudag, tveir
mismunandi hlutir.
>> Svo í grunni gerast Boolean tjáning að líta
eins og þessum bláa hluti hér, og í þessu tilviki, er spurningin
merkja felur í sér að þú ert að spyrja spurningu.
Er kötturinn, eða Sprite, snerta músarbendilinn?
Svo er þetta bara eitt dæmi um Scratch blokk sem er að gerast
til að leyfa okkur að skoða já eða nei, er mús snerta
Sprite á skjánum?
Og þetta getur verið gagnlegt ef þú vilt í raun að gera hlutina
með músinni.
Auk Boolean tjáning, höfum við það
eins er mús niður, svo þú getur greint svona
spurningu eins og heilbrigður.
Við getum gert stærðfræði ef þú vilt í raun og veru, og það er
í raun meira sannfærandi not fyrir þetta en bara hrein af
tölur, eins og við munum sjá.
Gervi randomness og gera program virðast til að hugsa
eða hegða sér á annan hátt byggt á sumum virðist handahófi gildi,
og þá höfum við hluti eins og Boolean tjáningu eins og.
Svo ef þú vilt í raun að athuga tvö gildi, munum við sjá í
Scratch að við getum raunverulega próf ef þetta er
satt og þetta er satt.
Til dæmis, ef af sokkum mínum, gæti ég hef minnsta
enda spurði hvort vinstri sokkur er á og rétt sokkar
er á, hætta.
Þú ert allt gert fyrir daginn, svo sem væri
tækifæri fyrir það.
>> Svo skulum fara á undan og reyna að stykki sum þeirra saman
og fara í nokkra dæmi meira
sannfærandi en þetta eina.
Svo láta mig fara á undan hér og opna nokkur dæmi
það verður alltaf að vera á heimasíðu sjálfsögðu eins vel og
opna hello2.
Svo í hello2 hér, höfum við forrit sem er að gera nokkrar
hlutir, en það er ekki að gera það eins og í raun eins og við gætum.
Svo hér það segir "Hello, world" í eina sekúndu og þá bíður
fyrir a second.
Og svo er það aftur, og þá er það aftur.
Svo ef ég smelli á græna fána, Scratch segir "Hello, world.
Halló, heimur.
Halló, heimur. "Og þetta er augljóslega frambjóðandi nú
framför.
>> Hvað er lélegur framför, vonandi getum við
nú gera ef Scratch styður hugmyndina?
Sumir konar lykkju.
Einhvers konar endurtekning, nú væri gott, svo láta mig
í raun að reyna það.
Leyfðu mér að fara í raun og færa þetta.
Svo fyrirvara að losa blokkir eins auðveldlega og þú getur bætt við
hengja þá.
Leyfðu mér að fara undir stjórn, skruna niður, og reyndar
það er þetta ráðgáta stykki hér, endurtaka og Forever og
Forever Ef.
Svo er there ert a tala af lifnaðarhættir til að tjá lykkja býr
í grunni.
Sá sem ég vil líklega hér er ekki Forever því að ég bara
vilt þetta að gerast þrisvar sinnum, en sennilega Endurtaka.
Svo láta mig draga endurtaka hérna, draga og sleppa því, og
nú í stað þess að segja "Hello, world" þremur aðskildum sinnum,
láta mig draga þessa þraut stykki hér.
Og jafnvel þó það virðist ekki passa, the program er klár
nóg til að átta sig á að það muni vaxa að fylla, þannig er það
form sem efni og ekki alger stærð.
Leyfðu mér að breyta endurtekningu til þriggja, og nú láta mig fara
undan og draga Bíddu eina sekúndu í það eins og heilbrigður.
Það er að fara að smella í eins og heilbrigður, og svo núna er ég að fara að draga
þessir gaurar hérna og bara henda þeim í burtu vegna þess að ég
þurfa þau ekki lengur.
Leyfðu mér að minnka og smellir á græna fána nú, og við höfum
sama program, en eins og ég spáði fyrir, betra
hannað vegna þess að þú getur ímyndað hversu slæmt þetta forrit
vildi fá, vissulega fagurfræðilega, ef þú hefðir til að
byrja að afrita og líma, afrita og líma, eða
draga og sleppa sömu fjári hlutina aftur og aftur.
>> Nú, einfaldlega að segja efni á skjánum, prentun til
skjár, í raun allt sem ekki er spennandi, þannig að við skulum opna
þriðja dreifni hér.
Og nú, eins og þú munt sjá, þetta verður fljótt að fá pirrandi -
[Meow]
DAVID Malan: - en það er líka svona sætur.
[Meow]
DAVID Malan: Jæja, svo betra, og við getum vissulega nota það
sama umskipti chunking þetta upp í lykkja
uppbyggingu, en við skulum gera það áhugavert meira enn.
>> Leyfðu mér að fara á undan og opna fjórða dreifni hérna, þar sem ég
taka það einu skrefi lengra.
Svo samkvæmt þessu, kjánalegt þó það sé fyrst
tillit, hvað er þetta forrit að fara að gera?
Það er að fara að meow einu sinni.
Hvers vegna?
Jæja, einn er, eins langt og ég veit, alltaf minna en tveir.
Það er engin hugmynd um handahófi hér.
Ég hef bókstaflega harða dulmáli eins og tveggja, en þetta er
dæmi nú í raun að nota Boolean tjáningu.
Líkt og Joseph gerði í sauðakóðanum hans, inndrátt IF
þú finnur samsvarandi sokkar þá gera eftirfarandi, hér höfum við
tjáning Ef einn er minna en tveir þá -
og í raun höfum við jafnvel smá skerðing,
þar sem fjólublátt er örlítið indented til hægri -
Síðan sem þú ert að fara til að spila hljóð meow.
Nú, í þessu tilfelli, að maður er alltaf minna en tveir, þannig að þetta
er eins konar sóun á ástandi.
En við munum vera fær um, eins og við munum sjá, að stinga aðra hluti í
þessi staðgengla þar sem eitt og tvö nú eru.
Svo skulum við nú fara að dæmi Fimm þessara nokkrir
hellos og líta á hvað þetta forrit er að fara að gera.
>> Svo nú, í enskri setningu, hvernig virkar þetta
program hegða sér?
Áhorfendur: Meows helmingi tíma.
DAVID Malan: helmingur meow á þeim tíma, þannig að þetta er leið til að
miðlun mjög einföld hugmynd.
Jafnvel þó að við verður að vera með einhverja misrétti hér
í sumum tölum, þetta er í raun bara programmatical
leið, nákvæm leið, að segja ef mynt kemur upp höfuð, fara
undan og meow.
Eða öfugt, ef mynt kemur upp hala, ekki meow ekki.
Og í þessu tilfelli, hvernig látum við það?
Við munum velja af handahófi númer frá 1 til 10, og ef það
talan er minni en 6, fara á undan og meow.
Og hvernig var þetta að komast í hér?
Jæja aftur, taka bara draga og sleppa og
það læsingar í stað.
>> Svo nú skulum við sjá hvort þetta randomness virkar.
Leyfðu mér að fara á undan og smelltu á græna fána.
[Meow]
DAVID Malan: Allt í lagi.
[Meow]
DAVID Malan: Allt í lagi.
Jæja, gott, svo fengum við höfuð, höfuð, skott áhrifaríkan hátt.
Hala.
[Meow]
DAVID Malan: Heads.
[Meow]
DAVID Malan: Excellent.
Það er alltaf óþægilega þegar aðeins tölfræðilega þú færð slæmt
hlaupa, og það er allt höfuð, og forritið í raun ekki
vinna eins og þú vilt vona.
En í þetta sinn, vann hann, og við virðast hafa, ef við gerðum
þetta er óendanlegur fjöldi af sinnum, 50% líkur.
Nú aftur, ekki allt sem áhugavert, bara að gera ketti
meow, þannig að við skulum sjá hvort við getum ekki fyrirfram þetta aðeins lengra
hér í útgáfu sex.
Svo nú höfum við virkilega pirrandi útgáfu -
[MEOWS á nokkurra sekúndna fresti]
DAVID Malan: - og þetta er það sem er þekktur, almennt, sem
óendanlegur lykkja.
>> Svo óendanlega lykkja í þessu tilfelli finnst slæmt.
Það er ákveðið að fara að byrja hljómandi slæmt, en samt óendanlega
lykkjur eru ekki alltaf slæmt.
Getur þú hugsa um samhengi í tölvuforrit þar sem þú vilt
reyndar vilja óendanlega lykkju?
Já?
Áhorfendur: Þegar þú vilt að athuga með ástand.
DAVID Malan: Jæja, þegar þú vilt að stöðva a ástand?
Eins og hvað?
Áhorfendur: [inaudible]
DAVID Malan: Jæja, gott, þannig að ef þú hefðir eitthvað forrit, sum
konar heimili sjálfvirkni hlutur, þar sem þú vilt stöðugt
skjár er eitthvað að ræða.
Eru ljósin á?
Eru ljósin á því kannski að þú ert með teljara og
þú vilt þá til að fara burt, þú gætir þurft að gera eitthvað
aftur og aftur.
Og í raun að tala um tímamælar, einhver ykkar sem hafa
klukka á þinn tölva eða stafræn úr, það er að
óendanlegur lykkja.
Það heldur áfram að uppfæra tímann því það er stöðugt
stöðva og stöðva og stöðva hefur tími breyst,
og ef svo er, ó, guð minn.
Klukkan er loksins breytt.
Það þarf sýna þessi gildi til þín.
Svo en mest af þeim tíma óendanlega lykkjur eru mistök,
eða að minnsta kosti illa hönnun ákvörðun, stundum þeir gera
hafa gildi sitt.
>> Jæja, við skulum fara lengra hér hello7.
Svo nú program vilja fá smá meira gagnvirkt.
Leyfðu mér að súmma hér, og aftur, þetta er það sem er gott
um grunni.
Og við munum nota það til að vera skýr, Scratch, bara í dag og í
vandamál næstu viku sett.
En á mánudag, kafa við í C. Í þessari áætlun hér, það er,
eilífu, eftirfarandi.
EF snerta músarbendilinn - nú, hver er
samhengi hér?
Jæja, og eftir því að hver er valið hérna neðst
rétt er kötturinn, Sprite einn, þannig að þessar forskriftir, þetta
program, við hann sérstaklega.
Svo ef að kötturinn er að snerta músina, svo það er að fara
til að spila þetta niður og bíða í tvær sekúndur, og
þá endurtaka auglýsingu nauseum.
>> Svo við skulum fara á undan og högg leik.
Ekkert gerist, en ef ég vil klappa
köttur nú, ég get einfaldlega.
[Meow]
DAVID Malan: Dásamlegur.
[Meow]
DAVID Malan: Jæja, minna pirrandi, en fær einnig illa,
þannig að við skulum fara og sjá hvort við getum ekki sprauta
smá rökfræði.
Það var td sjö.
>> Hér í dæmi átta, við erum að fara að
innleiða annað ástand.
Svo mikið eins bókstaflegri vegurinn, sem þú getur farið
vinstri eða þú getur farið til hægri, ástand í forritun
tungumál eins grunni, eða eins og við munum sjá C, getur gert þér kleift að
fara í eina átt eða aðra um að EF Annars reisa.
Svo alveg bókstaflega, EF snerta músarbendilinn, þetta
mun spila hljóð, annars það er að fara að spila þetta aðra
hljóð, meow.
Nú, ef þú getur álykta af nafni af þessum hljóðum, getur þú
sennilega giska á hvað þetta forrit er ætlað til að töfra upp
hugmynd um.
Þessi köttur er meowing hamingjusamlega.
[Meow]
DAVID Malan: Hamingjusamlega, en ekki
alveg eins og að vera snert.
[Öskrar]
DAVID Malan: Svo nú höfum við kött sem mun öskra á þig.
>> Allt í lagi, vel, einn síðasta dæmi með ketti hér og
skulum opinn útgáfa níu af þessu hér.
Svo nú höfum við næsta mest pirrandi hljóð sem ég gat
finna, þannig að við höfum Walrus eða Sea Lion hér sem er að fara til
gera eftirfarandi.
[SEAL gelta]
DAVID Malan: Jæja, svo þetta verður að fara á þar til þú reikna út hvernig
þetta forrit virkar.
Svo þessar mundir, þessi dýr eru tvö handrit, og hvað er
áhugavert hér er að þessar forskriftir séu að fara að framkvæma
samhliða.
Svo vegna þess að þeir báðir byrja með einum grænum fána smellt
það er eins og að fara eins og þetta, og bæði forrit byrja að keyra hann
einu sinni, jafnvel ef þeir eru lykkja eilífu.
Svo í efstu handrit, hef ég nokkur rökfræði.
Hvaða möguleika býður sem veita þarna?
[SEAL gelta]
Áhorfendur: [inaudible]
DAVID Malan: Ef það er það?
[SEAL gelta]
Áhorfendur: Ef þögguð núlli, það er að fara að halda áfram að spila á
hljóð. [SEAL gelta]
DAVID Malan: Allt í lagi, gott.
Þannig að ef slökkt, hvað þetta er, þetta appelsínugult hlutur er núll,
ÞÁ spila Sea Lion hljóð og hugsa "Ó,
hæ, "í tvær sekúndur.
Nú, ég veit ekki hvað þögguð er, en núll conjures upp
hugmynd um rangar eða slökkva.
Svo ef þögguð er rangt, þannig að ef ekki þögguð,
halda áfram að spila hljóð.
Allt í lagi, vel, hvernig gera við þetta?
>> Jæja, við skulum líta á annað handrit þarna niðri.
Annað handrit segir sett þögguð á núll.
Takið það líka appelsínugult, svo það Scratch er er það liti
blokkir í sama skugga ef tegund það er
á rökrétt tengjast.
Svo bara eins og slökkt upp efst var appelsína, svo er þögguð niður hér
getið í appelsínugult blokk.
En þetta er breytilegt verkefni, svo rétt eins og í
algebra, þú X og Y og Z, í forritun sem þú ert
breytur, en þeir eru yfirleitt -
skulum hlé um stund og tala um hvernig
að stöðva þessa gelta.
Hvernig geri ég þetta?
[SEAL gelta]
DAVID Malan: Allt í lagi.
Það stoppaði. Allt í lagi.
>> Svo bara eins og í algebru þú breytur x, y og z, heldur í
forritun, hafa breytur eins og X, Y, og Z er almennt
hleypa brúnum þegar af því að þeir eru alls ekki svipmikill.
Þeir hafa enga merkingartækni merkingu alls, svo í flestum
forritunarmál, breytur geta haft fullt
viðvaningur nöfn eða orð eða orðasambönd, eins og slökkt á að segja
hvað þeir gera.
Svo þetta annað handrit var líka að hlusta að eilífu, og það sagði:
Ef lykillinn er lykill hljómborð Space, er
ýtt spurningarmerki.
Þannig að það er ástand með Boolean tjáningu sem er
að fara að svara spurningu hvort Satt eða ósatt,
þá hef ég inni í það ef pláss er ýtt og
EF þögguð er núll, setja þögguð að einn, annars setja þögguð á núll.
Svo þetta annar gaffal í veginum, og taka eftir því hvernig ég hef
hreiður tvö ef aðstæður, er leið til að stöðva er
Space Bar þrýsta því ef svo er, ég vil annað hvort að fara þessa
leið eða þannig.
Og hvernig hvolfa ég gildi þögguð?
Ég þarf að athuga er það núll?
Ef svo er, gera það einn, annars gera það núll í því skipta
tveggja ríkja þess.
>> Allt í lagi, þannig að við höfum þá einhverja af þessum grundvallar
Býr.
Við höfum Boolean tjáning, og átta sig á, of, eru þetta
ekki allt sem framandi.
Í raun, hér er a fljótur screenshot af Harvard auðvitað er CS50
innkaup tól, og allir website þarna úti sem hefur gátreitina
og falla Downs hafa raunverulega, allan þennan tíma, verið að nota
Boolean tjáning.
Í þessu tilfelli hér, ef þú smellir á kassann við hliðina á
auðvitað meiri en eða jafnt og 4,5, eða sama við hliðina á
deild, þú ert að tilgreina Boolean tjáningu.
Sýndu mér námskeið þar sem þetta mál er satt.
Eða til hægri, ekki stangast á við námskeið sem ég er
taka, ef það er valið, þá já, þú vilt að athuga
þessi skilyrði, annað sem þú vilt hunsa hana.
Svo Boolean tjáning eru svona allt í kring, en þegar
við að setja þá í aðstæður, hvort sem ef aðstæður, IF
Elses, eða við getum jafnvel líkja dýpra
stigum, EF ELSE IF ELSE -
svo er þessi tegund af ternary ríkisins.
Þú getur farið þessa leið eða þennan hátt eða á þennan hátt.
Við getum haldið hreiður hlutum til að fara í mismunandi áttir.
>> Svo hefur Scratch þessar lykkjur, eins og Forever.
Það hefur þessar aðgerðir eins Endurtaka 10, sumir
takmarkaðan fjölda skipta.
Við höfum getu núna til að setja breytur, svo í þessu tilfelli
Ég hef lýst, til dæmis breytilega heitir sokkum.
Ég hef frumstilla til 0, og það er enn annar átt
við gætum tekið upp hér með Jósef, þar sem kannski ég
bara að halda utan um hversu margir sokkar ég á og ljúka
The program þegar gildi þá breytu er 2.
Það væri önnur leið svona alhæfingar sem
vandamál og gera eitthvað aftur og aftur.
Jæja, við skulum fara á undan og nú kynna nokkra nýja hluti.
Svo þessir af þú með fyrri forritun reynslu mun
veit að mikið af tungumálum með fylki eða vektor eða
lista, og örugglega, Scratch hefur eitthvað þessu líkt líka.
Svo við skulum sjá hvort við getum ekki tekið það á næsta stig hér.
Ef ég hef getu, nú, með þessum þraut stykki til
bæta eitthvað, eins og orð eða númer, að breyta, ég get
byrja að safna hlutum.
Og þetta er í raun frekar apropos fyrir hluti eins og leiki,
hlutverk-leika leikur þar sem þú ert eins konar gangandi um
sumir ímyndunarafl heim safna hlutum, tína það upp,
earnings stig, eða þess háttar.
Þú vilt kannski til að halda utan um einhvers konar birgðum, og
örugglega, það er það sem einn af fyrrverandi nemendum okkar hér gerði með
eitthvað sem kallast Fruitcraft RPG.
>> Svo láta mig fara á undan og opna þennan grip hér, og í
Fruitcraft, höfum við þennan heim upp í toppinn.
Svo láta mig fara á undan og smelltu á græna fána.
Tilkynning efst til vinstri er einhvers konar skrá.
Það er framkvæmd í grunni og það sem við munum kalla fylki eða
lista, og nú höfum við þetta litla fjör.
Svo bara eins og við byrjuðum áðan með þessari elsku kex sögu,
og þá erum við háþróaður til ketti og sjó ljón, nú getum við fengið
hlutir sem eru jafnvel meira gagnvirkt.
Og þetta litla bláa strákur, get ég byrjað að fara í kringum hann
lítið heima hér.
Svo það lítur út eins og hann fékk að loka hérna, svo ég ætla að nota
örvarnar takka, upp, niður, vinstri, hægri.
Og nú er ég úti, þannig að við skulum það sem ég hef fengið hér.
Lítur út eins og appelsína, og reyndar um leið og ég fæ að
appelsína, fær það plopped í birgðum mínum.
Ef ég fer yfir hér á kirsuber, nú hef ég eitthvað
annar í skránni minni.
Og þetta er allt gott og sætur, en hugsa um hvernig, nú þetta
er hrint í framkvæmd.
Jæja, höfum við þessa hugmynd af listanum og það er greinilega
þraut stykki sem þú segir bara hvað þú vilt bæta við hana, bæta við
appelsína, bæta kirsuber.
Nú, hvað er þetta litla bláa strákur að gera?
Jæja, hann er Sprite.
Og væntanlega er appelsínugult og kirsuber -
þeir voru aðskilin sprites.
Og nota aðstæður í Boolean tjáningu, á
nemandi var líklega hægt að tjá IF blár strákur er
snerta kirsuber bæta þá orðið kirsuber til hans
skrá, og þá einnig fela kirsuber Sprite.
Svo undir hetta, það líklega er enn kirsuber
Sprite þar.
Við höfum bara sagt það að verða í raun ósýnileg.
>> Nú, ef ég að halda áfram að ganga hérna, við getum líka gert þetta
nærlægum hlutur, þar sem ég get farið og lesið tákn.
Svo ef blár strákur snerta merki, getum við fengið þessa Segja blokk
bara eins og kötturinn talaði til okkar í orðum, halló, fyrr, "Got
einhvern ávöxt?
Koma með það að ávöxtum stað. "Allt í lagi, svo nú virðist,
Ég hef átt mína.
Ég get farið yfir hér á ávöxtum stað, stilla mér upp
við hurð.
Nú, ég er hér.
Ég get farið upp á mann á borðið.
Hann skynjar að ég er nálægt honum, svo það þarf ekki að vera
alveg samur snerta, og ég hef unnið leikinn.
Svo þar höfum við Fruitcraft RPG.
>> Þannig að við getum gert hlutina jafnvel lengra en þetta.
Við getum bætt við hljóð.
Við getum bætt við gervi randomness.
Við getum bætt flókið.
Leyfðu mér að fara á undan hér, og frekar en að gera þetta sjálfur,
láttu mig sýna þér einn af the fleiri háþróaður uppgjöf
við fengum á síðasta ári frá ákveðnu einhverjum heitir Blake.
Getum við einum sjálfboðaliða sem er þægilegt að birtast á
myndavél og er upp til að spila leikinn?
Hvernig væri þarna?
Komdu upp.
Allt í lagi, þannig að leikur sem þú bara óafvitandi
bauðst til að spila -
[Lófaklapp]
DAVID Malan: - er eitthvað frá fyrra kallast
"Frogger." Hvað er nafn þitt?
Renda: Renda.
DAVID Malan: Redna?
Renda: Það er eins og Brenda með b.
DAVID Malan: Allt í lagi, Renda.
David.
Gaman að hitta þig.
>> Svo hér í "Frogger" og ef við getum aukið magn bara
svolítið, þú ert þetta litla
grænn froskur á botn.
Þú getur notað vinstri, hægri, upp og niður, og markmið þitt er að
yfir götuna, yfir ána, og snerta Lily pads
efst.
Aw.
Eitt enn T -
endurtaka, allt í lagi?
Skulum högg stöðva.
Enginn sá það.
[Lófaklapp]
DAVID Malan: Já.
Mjög vel gert.
Excellent, þakka þér.
>> Þannig að það var Frogger. Nú þegar þú veist hvað þú hefur
fengið ykkur inn í enn einn sjálfboðaliða fyrir aðra
leikur fram af öðrum nemanda.
Þú vilt koma á upp?
Hvað er nafn þitt?
RICHARD: Richard.
DAVID Malan: Richard.
Allt í lagi, Richard, koma upp.
[Lófaklapp]
DAVID Malan: Þú hefur eitthvað sem mun hljómað
þekki fljótlega, svo hér eru leiðbeiningar þinn.
Svo í augnablikinu eru sumir ráðgáta stykki að fara að fletta upp
af skjánum sem líta annaðhvort vinstri
eða rétt upp eða niður.
Þú ert að fara að þurfa að ýta á örina lykla á þann hátt
að það samsvarar þeim ráðgáta stykki fóður upp með
staðgengla fyrir ofan.
Svo þegar þú sérð vinstri ör, og það línur með vinstri
arrow, högg á vinstri örina.
Þú getur byrjað.
[TÓNLIST - "sterkari" KAYNE WEST]
DAVID Malan: Allt í lagi, stór umferð af lófaklapp fyrir Richard.
[Lófaklapp]
DAVID Malan: Mjög vel gert.
Þakka þér.
[Lófaklapp]
>> DAVID Malan: Svo gaman og að því er virðist, eins konar
ógnun sem það gæti verið að framkvæma eitthvað sem
virðist háþróaður eins og þetta, gera sér grein fyrir því að nemandi
ekki sett fram og bara að skrifa þetta allt í einu.
Frekar er hægt að brjóta niður í vandamál sem virðist flókið
sem þetta í miklu smærri verk, og þetta líka er
að fara að vera þema.
Það versta sem þú getur gert í að skrifa forrit í flestum allir
málið er að setjast niður, fá mjög spenntur, skrifa
heild fjandinn hlutur, og svo bara vona að það virkar með því að
þegar þú ert búinn að skrifa.
Fremur, the aðferð af forritun ætti almennt
vera mjög meðvitað, mjög endurtekningu, þannig að þú bara
setja mjög lítið skref fyrir ykkur, bit-stærð stykki
viltu að bíta burt, og þannig að þú hefur þessar geðheilsu
ávísanir, litlu áfangar sem þú getur hitta.
Og þá byggja ofan á þá til að búa til fleiri
háþróuð það enn.
>> Svo til dæmis, hvernig gætum við farið um
framkvæmd leik svona?
Jæja, hreinskilnislega, ég myndi örugglega byrja á því bara
styðja einn takka í einu.
Við skulum bara framkvæma stuðning vinstri ör.
Svo nemandi þurfti að einhvern veginn að búa til í Photoshop, eða í
Klóra sig með litla grafísku ritstjóri, að
arrow takkann sem lítur út eins og einn efst til vinstri þar, bara
gráa tákn.
Þá nemandi þurfti að reikna út hvað x, y samræma við
setja það, hvar á að setja það í glugganum.
0, 0 er upp hér, svo þú verður að reikna út fjölda
punktar, eða punkta, til að vega upp á móti því að ör
efst á skjánum.
Og svo þegar það er til staðar, program er í raun ekki
gera neitt ennþá, þannig að þú þarft þá annað Sprite, að
dæmi grænt ör sem er einnig vísar til vinstri, og þú
þá þarf að byrja að skrifa nokkrar forskriftir fyrir það.
>> Og þú tekur, ef til vill, að þetta byrjaði að koma á
mismunandi hraða, og litirnir voru mismunandi
stöðum, og það er vegna þess að nemandi notað smá
gervi randomness.
Og gervi handahófi, ég meina bara að velja númer
milli eitthvað og eitthvað vegna þess að þú getur
byrja að kortleggja það, eins og ef númerið er á milli eitt og
fimm, vel, við skulum gera sem græna.
Ef það er á milli 6 og 10, við skulum gera ráðgáta stykki
rauður í staðinn.
Svo lengi sem þú hefur leið til að búa til einhvers konar
randomness, getur þú þá að taka ákvarðanir byggðar á því
randomness.
Og ég halda að segja gervi handahófi vegna þess að það er
lítið óhreinum leyndarmál.
Tölvur getur ekki komið upp með handahófi númer.
Þeir geta bara gert það sem þeir sögðu því
þeir eru tilbúnar tæki.
Þeir geta ekki bara giska á fjölda eins og við menn
finnst eins og við getum.
A tölva hefur að gera eitthvað stærðfræði til að töfra upp
blekking af stærðfræði tala, stundum með því að nota
Dagurinn í dag tíma sem inntak að vangaveltur út hvað
númer til að fara aftur, en meira um það seinna.
Fyrir nú, bara að vita að við getum búið til gervi randomness.
>> Svo þegar ég hef getu til vinstri ör til að byrja
birtast á mismunandi tímum og á mismunandi hraða, þá
Ég get farið til baka og bæta við nokkrum af þessum ef aðstæður.
EF þetta Sprite snerti hina, og vinstri ör
lykill hefur verið ýtt -
svo þrjú skilyrði í því tilviki.
Ég get notað það og loka ef til vill í þessu máli -
Þá vil ég fara á undan og hækka stig.
Og efst, höfum við stöðuna, sem við höfum Awesome,
Cool, gott, og Boo.
Þannig að það virðist fimm breytur að nemandi
notaður til að halda utan um þessar mismunandi gögn.
Svo í stuttu máli, niðurstaðan er ótrúlegt.
Það er gaman, það er gaman að spila, það er að taka þátt, en það er ekki
þar sem nemandinn tók.
Hann byrjaði á miklu minni sett af skrefum.
>> Svo það eru nokkrar aðrar kubbar sem við getum
fléttast inn í þessar áætlanir?
Jæja, það er þetta annað hugtak í flestum tungumálum,
Skafðu meðal þeirra, þekktur sem þræði.
Svo tölva er í raun ekki í raun að gera marga hluti í a
tími, að minnsta kosti ekki yfirleitt.
Frekar, a tölva hefur yfirleitt bara einn örgjörva, og jafnvel
þótt tölvur eru frábær fljótur og getur því
skapa tálsýn um að gera marga hluti í einu -
athuga póstinn þinn, fá augnablik
skilaboð, prentun skjal -
raunverulega, tölvan er bara stökk úr prentun til IMing
til póst til baka og aftur og fram og til baka svo hratt að við
hægur witted menn bara átta sig ekki að það er í raun
keyra þessum forritum smá í einu.
Nú, þetta er hluti af hvítt liggja þessa dagana vegna þess að nú á dögum,
margar tölvur okkar eru það sem kallast multi-algerlega, þannig að þú
hafa einn CPU en margar algerlega, sem er góður af eins og
hafa margar örgjörva.
>> Og svo stundum, tölvur geta sannarlega gert marga hluti
í einu, en að jafnaði innan forrit, forrit
treysta á þetta sem kallast þræði.
Svo er þráður tegund af eins litlu forrit sem getur
eru samhliða öðru litlu forrit og hægt er að keyra
samhliða, eða að minnsta kosti er hægt að keyra undir þá ímynd að
þeir eru í gangi samtímis.
Svo styður Scratch þetta kallast þráður.
Þú getur haft mörg forrit framkvæmd í einu, alveg eins og við
gerði við sjó ljón, og það gerir okkur kleift að raun
þá hafa samskipti milli þessara sprites.
Leyfðu mér að fara á undan hér og draga upp, við skulum segja, þræði, og
spila þetta þannig.
Við höfum tvær sprites, hver sem við munum sjá
hefur bara eitt handrit.
Og þú eftir því að það virðist vera einhver greind í
köttur í þessu vegna þess að hann er að nálgast -
[Öskrar]
DAVID Malan: - og nær litla fuglinn.
>> Svo hvernig er fuglinn starfa?
Jæja, við skulum taka a líta á fuglinn fyrstur.
Fuglinn handrit sagði þegar græna fáninn er smellt fara til X.
jafnt neikvæðar 115 og Y jafngildir 150.
Svo ég mynstrağur bara út handahófi staðsetningu þar sem ég vildi
fugl að byrja, og ég plopped bara hann þar með sjálfgefið.
Þá Forever ef ekki snerta köttur, þannig að þetta er öðruvísi
konar lykkja byggingarinnar, en sama hugmynd, að gera þetta aftur og
aftur og aftur.
Svo lengi sem þú ert ekki að snerta köttinn, fara þrjú skref, og
Ef þú ert á brún, hopp, þar sem það er eins konar
spegilmynd í billjard skilningi.
Svo er það hvernig fuglinn er áhrifamikill í kring konar
virðist af handahófi, en það er bara vegna þess að það er skoppandi burt
veggina í þessu tilfelli.
>> Nú kötturinn, á meðan er, eins konar svindla.
Kötturinn, þegar græna fáninn er smellt já, byrjar í
einhverjum stað, a handahófi staðsetningu -
minnsta kosti að hluta til eins og hverja velja
handahófi græna blokk þar -
og þá að eilífu ef að snerta fuglinn, leika ljón hljóð,
og þá hættir handrit.
Svo þegar ég sagði enda, eða hætta fyrr, það er þraut
stykki í grunni sem vilja bara drepa forrit á þeim
benda því það er eins konar rökrétt gert.
En annars, hér, eftir því sem er að fara að gerast.
Point til að fugla og færa eitt skref.
Svo er þetta lið til fugl konar forskot á kött
hefur í að það er homing inn á áhrifamikill fuglinn, og við getum
nú að gera þetta forrit allt meira áhugavert.
Í stað þess að færa eitt skref í einu á CPU hringrás, á
slá tollur af Bell, svo að segja, láta mig fara á undan og
færa, við skulum segja, fimm skref í einu eins og köttur.
Smelltu hlaupa, og nú finnur hann raunverulega hann fljótlega.
Ef við tvöfalda þetta frekar í 10 skrefum, fer það svona
rétt fyrir hann.
Nú getum við gefið fuglinum,
kannski smá forskot.
Við skulum fara í fuglinn og segja í stað þess að færa þrjú skref,
við skulum færa hann 30 skref.
En hann samt fékk gripin í lokin.
>> Svo hér höfum við tvo þræði.
Það er incarcerated í grunni með tveimur forskriftir og tveir
sprites, en hugmyndin á öðrum tungumálum er að þú getur
skrifa, í meginatriðum, of mörg forrit eins og þetta og hafa
þá hlaupa sannarlega, eða imaginarily, samhliða.
>> Nú, það er líka þetta hugtak í forritun þekktur sem
viðburðir, og þetta er eitthvað sem við munum ekki sjá í C,
tungumál þekktur sem C. Við munum sjá það undir lok hverrar annar
í forritun vefur, þegar við kynna JavaScript og
hugmyndin að byggja vefsíður sem eru lifandi og hafa samskipti
við notendur.
Svo í þessu tilfelli höfum við mjög einfalt dæmi um tvo
sprites, drengur og stúlka, hver þeirra hafa viðkomandi þeirra
þræði, en einhvern veginn þessir tveir eru innbyrðis samskiptum í gegnum
um eitthvað sem kallast viðburðir.
Svo láta mig fara á undan hér og stækka handriti drengsins,
sem lítur svona út.
Þegar grænt merkja smellt eilífu gera eftirfarandi.
Ef lykillinn Space, eða Space Bar, er ýtt, segja
Marco í tvær sekúndur, það er eingöngu fagurfræðilegu á
skjár, smá ræðu kúla, en þá útsendingu.
>> Svo er útvarpað annað Scratch stykki sem er
fulltrúi flokki virkni í forritun
sem leyfir mismunandi forrit, mismunandi þræði,
að innbyrðis samskipti, að einhvern veginn að senda
skilaboð, hver við annan.
Brottför blað í bekknum er tegund af litlum tækni
jafngildar.
Svo útvarpa atburði.
Ég get sent þetta bréf, og orðið atburði
er alveg handahófskennt.
Scratch hefur stundum þessar falla hæðir, þannig að ég kom bara upp
með handahófi orð eins og að ræða því nú, hvað drengurinn er
þegar ég ýta á takkann hann útsendingar þennan atburð.
Og ef ég lít nú á handriti stúlkunnar, handrit hennar er
Super einfalt því allt sem hún þarf að gera er ekki að bregðast við þegar
græna fáninn er smellt.
Hún er hönnuð til aðgerða þegar hún fær Quote, unquote,
"Atburður", og á þeim tímapunkti, er hún að hlusta því að
svokallaða atburði aftur og aftur.
Um leið og hún fær því tilviki er hún að fara að hrópa
Polo í tvær sekúndur.
>> Og svo þú getur kannski álykta af þessu nákvæmlega hvað
næsta útkoma er að fara til vera.
Leyfðu mér að smella á græna fána.
Ekkert gerist því að ég þarf að gera hvað?
Áhorfendur: Space Bar.
DAVID Malan: Space Bar.
Boy segir Marco, stúlka segir Polo.
En það er ekki harður á dulmáli í sjálfu.
Það er innbyrðis samskipti milli skrifta, svo nú erum við
hafa getu til að gera jafnvel flóknari forrit þar
Þessir tveir eru einhvern veginn milli samskipti.
>> Svo í hvaða áttir er hægt að taka þetta?
Jæja, í setja vandamál 0, í raun, að markmiðið er að
hafa gaman með grunni.
Fyrir spjallþráð útgáfa, munt þú í staðinn hafa gaman með fleiri
háþróuð útgáfa af grunni kallast BYOB, Byggja
Þínar eigin blokkir, en hugmyndin er sú sama.
Þú munt vera fær -
Já, það var viljandi.
Það kom frá Berkeley.
BYOB er útgáfa spjallþráð útgáfa af þessu, en bæði
, lýðfræði, Standard Edition og tölvusnápur útgáfa jafnt
markmið á hönd fyrir næstu viku er í raun bara að kafa í
djúpt, fá þinn snertið ekki óhrein og forritun, og gera
eitthvað áhugavert, gera eitthvað gagnvirkt, gera
eitthvað listrænn, gera eitthvað skemmtilegt í raun
sýna, svo að í lok viku, munt þú hafa a verkefni,
ekki aðeins fyrir fyrstu CS50 pset þinni, en þú munt hafa
litla eitthvað sem þú getur sýnt burt í Annenberg til
vinum eða jafnvel fjölskyldu með því að senda það á vefsvæðið MIT.
Og svo eins og ég sagði á miðvikudag, við gerum ráð fyrir 90% af bekknum,
almennt, til að gera venjulegu útgáfur.
Gera sér grein fyrir að það er líka í útrás fyrir þá sem
annars gætu fundið þér smá leiðindi með grunnatriði
og raunverulega vilja til að kafa í og ​​iðn sýn þú nú þegar
hafa með fyrri bakgrunn í þetta þægilega
umhverfi.
>> Svo láta mig draga upp eitt annað dæmi að einn af fyrrverandi okkar
nemendur gerðu hér og segja smá eitthvað í gegnum lagið.
Það á sama hátt, eins og þetta leikrit, hugsa um hvernig þú ferð um
framkvæmd þetta forrit með því að nota nákvæmlega þessar sömu
byggja blokkir, a lítill hluti af gervi handahófi og
hluti af kunnugleg lag.
Ef við gætum aukið hljóðstyrk bara smá?
[TÓNLIST - "IT er rigning Men" The Weather Girls]
>> DAVID Malan: Það er það fyrir CS50.
Við munum sjá þig á mánudaginn.
[Lófaklapp]