[Powered by Google Translate] [Roko muzikos]
[MUZIKA - "Happy Together" vėžlių]
DAVID Malan: Šiandien, mes pradėti mūsų tirti
pagrindai informatikos ir mūsų įvedimo,
dabar, programavimo meno, kad yra
tik vienas pavyzdys.
, Bet ir problemų sprendimo Lygiai taip pat, žinome, kad
CS50 tradicinis dėlionės diena yra rytoj.
Jeigu jūs dar RSVPed šio įvykio, jūs galite pereiti į
cs50.net/rsvp.
Galite duoti komandas iš dviejų arba trijų ar keturių.
Jums bus užginčyti problemų, tokių kaip matėte
ten pradžioje.
Visos naujos problemos šiemet, jei valgė ir pernai, ir jūs
tada turės galimybę laimėti keletą puikių prizus.
Tarp jų, Wii ir kai kurių dovanų kuponai ir panašūs,
visi kartu, hanging out su CS50 studentų ir klasiokais
ir pica "ir" Facebook ".
Taigi daugiau, kad rytoj, jei norite.
>> Tai tada yra CS50, tiems iš jūsų, prisijungti prie mūsų
pirmą kartą.
Ir žinau, kad šis kursas yra ypač pasiryžusi gauti
jums per šį kursą į savo galutinį tikslą, kuris leis
turės ne tik suprasti šių
kompiuterių mokslo pagrindai, bet jūs turėsite
tai labai praktinių įgūdžių rinkinys, kurį galėsite atsiimti
savo skyrius, ar tai mokslai,
taikomosios matematikos, fizinių mokslų, gamtos
mokslas, ar panašiai.
Iš tiesų, kas taip įdomu apie kompiuterių mokslo šių
dienų yra tai, kad tiesiog taip
įvairiausių laukų.
Ir nors šiandien, mes tik subraižyti paviršių
labai tradicinis programavimo kalba, žinomas kaip C, mes
o ne ieškoti kažką vadinama "Scratch, kažką su
, kad slapukas meilės istorija buvo įgyvendintas vienas iš jūsų
pirmtakai ankstesniais metais, pasakoti istorijas, sukurti žaidimai,
sukurti interaktyvų meną, ir kad iš tikrųjų pradėti, į kuriuos vyniojami mūsų
protai apie kai kurių pagrindinių konstruktai,
grindžiamos programavimo, bet tokiomis aplinkybėmis, kaip pamatysite, tai
daug mažiau baisu, kad daug mažiau slaptas, nei jūs pamatysite
prieš ilgas.
Ir realizuoti, taip pat tiems iš jūsų, tiesiog prisijungti prie mums tai
semestras, frazės, dėl kurių mes galų Trečiadienio paskaitą,
tai nėra taip svarbu, kur jūs galų gale dėl Jūsų
Šios klasės klasiokai, bet kur jūs, pagal semestro pabaigoje
11 savaitę, galų gale sau teisę tą pačią dieną.
>> Taigi, be tolesnio ceremonija, tai taip pat verta paminėti, kad
tiems mažiau patogūs, tie, kažkur, tarp
taip pat dizaino šį kursą, o ne nepalankioje padėtyje
vis-à-vis konkuruoti su tais patogesnis
ateina į šią klasę.
Kaip pamatysite per ateinančias savaites, turime įvairių
trasos tinka įvairių nugaros fone, profiliai tiems,
mažiau patogūs, patogesnis tiems, kažkur
tarp jų.
Kaip pamatysite šį savaitgalį ir kitą savaitę, dvi versijos
dauguma problemų rinkiniai ir standartinių, ir hakeris redakciją,
kad jūs visi gali savarankiškai pasirinkti kelią, su kuria jūs
yra patogiausia.
>> Taigi, šiandien, mes pasinerti į šią programavimo
kalba vadinama nulio.
Tai grafinė programavimo kalba, tačiau ji turi
tie patys bruožai kai kurie iš aukštesnio lygio kalbų mes
vėliau į tą semestrą, ištirti, tarp jų ir C ir
JavaScript ir PHP.
Bet jis ketina leisti mums išvengti, kai ramiai
anksti sintaksė, tokie dalykai kaip kabliataškiais, skliausteliuose,
ir kiti Slaptas Detalės, kurios, iš pirmo žvilgsnio, tiesiog nėra
ne visi intelektualiai įdomi ir linkę gauti
iš kai kurių pagrindinių supratimo būdas.
Dabar paramos struktūros priekį, suprato, kad tai
priemonė, CS50 aptarti, kuris bus susietas kursas
svetainė šiandien vėliau, yra internetinis diskusijų forumas
, kurį galėsite užduoti klausimus vienas kito ir
darbuotojai, ir tai taip pat yra priemonė, kuri, kaip matysime kitą savaitę,
kad mes naudoti gana integruotai
biuro darbo valandomis, taip pat.
Iš tiesų, biuro darbo valandomis prasidės pirmadienį, ir tiesą sakant, pirmasis
darbo valandų per savaitę yra gana mažas klavišą.
>> Aš nemanau, kad jūs rasite įbrėžimams, kad nepasiekiamas.
Tai gana savaime suprantama, kaip matysime, ir todėl tai, ką
mes naudojame šiandien yra išgauti kai kurių
pagrindinės idėjos, kad bus, tada, išlieka per
likusi semestro.
Bet nuo pirmadienio, 23:00, 8:00 val. Per
biuro darbo valandomis Annenberg per smegenų pertraukos.
Ruožais pradės šį vakarą, kad kažkada šią
savaitgalį, eikite į cs50.net/section, ir jūs
būti paprašyta tam tikrus klausimus.
Tarp jų, kaip galėtumėte apibūdinti savo
komforto lygis, kaip šiandien?
Yra ne sunku, greitai taisyklės, kaip tai, kas yra, kurioje kibiras.
Tai tiesiog dalykai, kad jūs tikriausiai žinote, jei jūs
yra tarp tų, kurie mažiau patogūs ar kitaip.
>> Ir dabar, Walkthroughs.
Problema rinkinys šią savaitę, ir standartinio specifikacija
ir tiek hakeris leidimas, yra internete adresu cs50.net kaip ir dabar.
Ir jūs pamatysite, kad pirmasis iš šių leidimų,
standartinis leidimas kiekvieną savaitę, kartu su kažkuo, mes
skambinti kodo žingsnis po žingsnio, sesija vadovavo viena iš
Žinoma, mokymo bičiulių, kad padėtų jums, teikti
patarimų, jums tam tikrą kelią, kai kalbama apie
pradedant šias problemines rinkinius.
Taigi, su kiekviena iš šių problemų rinkinius, jei jūs kada nors nori
sau, kur man pradėti, jūs pradėsite su jais
Walkthroughs.
Ir iš tikrųjų, leiskite man pristatyti Zamyla Chan, šį
metų mokymo kolegos, kurie vadovaus kiekvieną
vienas šių walkthroughs.
Zamyla?
>> [Plojimai]
ZAMYLA CHAN: O, labas, visi.
My name is Zamyla.
Aš esu jaunesnysis studijuoti inžinerijos Winthrop House.
Bet stengiuosi ir tinka kaip daugelio kompiuterių mokslo kursus, kaip aš
, kuris yra, kodėl aš tikrai džiaugiamės, kad vadovaus
metų Walkthroughs.
Walkthroughs, man buvo esminė mano CS50
patirtis.
Per žingsnis po žingsnio, kas p rinkinys, mes pereiti per
problema kartu, atrodo per problemas, rūšies
padalyti į valdomus įkandimų.
Aš duosiu jums patarimų, metodų, norint gauti
per ir nuo ko pradėti.
Tikiuosi matyti, kad jūs visi prie walkthroughs.
Jei jūs negalite padaryti jį asmeniškai, tada
atlikite melodiją internete.
>> David Malan: Puikus.
Thank you, Zamyla.
Taip suprasti, kad Walkthroughs Iš tikrųjų, penktadienį
popietę, tačiau tai, kad tyčia dizaino
, net jei jūs norite, o ne lankyti užsiėmimus penktadienį
popietę vaizdo įrašai bus greitai per
savaitgalį.
Taigi suprasti, kad cs50.net bus viskas iš Zamyla
Walkthroughs.
Ir kad yra šios dienos data ir laikas, 3:00 PM,
Harberd salė, 104.
O kai kurie taip pat parengė mokymo bičiuliams
kai jums pastabos in absentia duoti jums šiek tiek
perspektyva, kokia jų patirtis ateina į
išeinant iš CS50 buvo panašus.
Taigi, jei mes galime artimosios vos akimirką žibintai, aš suteiks jums
CS50 darbuotojų.
>> Jackson STEINKAMP: aš paėmė CS50 pernai pirmakursis
kristi, ir ji visiškai susprogdino mano protas.
Aš niekada nesiėmė jokių programavimo klases anksčiau,
ir niekada atėjo su bet kurio kompiuterio, mokslo
patirti ne visiems.
Ir tiesiog, aš girdėjau apie klasės gandai ir
nusprendė jį priimti.
>> Julija MITELMAN: Tai buvo tikrai įdomus, tikrai užsiima.
Aš vis dar, iki šios dienos -
Aš neseniai mačiau diskelį, kad Dovydas davė mums
mūsų pirmą dieną paskaitos.
Aš pakabinti jį ant mano sienos.
Tai tikriausiai yra šiek tiek Nerdy, bet aš pakabinti ant mano
sienos per kaip klasės, kaip jis buvo kietas priminimą.
>> TRAVIS Downs: Tai tiek nepatogus.
>> JACKSON STEINKAMP: Kompiuterių mokslas yra kažkas, ką
turėtumėte pabandyti, net jei esate ne vienas
tradiciniai mokslai.
Tai apie savo patirtį, ir CS50 įsitikinkite, kad esate
ir per ją su savo tikra armijos TFS.
>> ALI Nahm: Aš jį paėmė kaip pirmakursis, ir todėl aš padariau daug
naujų draugų.
Aš taip pat turiu pristatė visos šios koncentracijos ir
inžinerijos visa mokykla, ir tt Aš labai rekomenduoju jį
ir malonu pasveikinti Jus mūsų CS50 šeimai.
>> Yaniv YACOBY: CS50 tik moko jus, kaip naudoti įrankius,
, kurie yra plačiai prieinamos.
Jums tiesiog reikia nešiojamą kompiuterį, jums reikia naršyklę, ir jūs
reikia išmokti parašyti šiek tiek kodo, ir tikrai galite sukurti
tvarkingas dalykų.
>> Karen Xiao: Tai tik tiek kietas, kad būtų galima padaryti kažką
ir žmonės jį naudoti ir, kad žmonės jį pamatyti, ir tai
tai, kas man tikrai patinka apie tai.
>> TIM MCLAUGHLIN: - bendruomenės jausmą, manau, tai
žinoma, daugiau nei bet kuri kita žinoma, aš, kurių buvo imtasi iki šiol.
Jūs ne tik atsižvelgiant kita -
nesate užpildyti Kitas reikalavimas.
Jūs ne tik eiti į paskaitas ir eiti į skyrių.
Bet jūs darote tonų dalykų, kurie yra visa informacija apie
programavimo ir apie technologijas, tačiau ji nėra
tikrai manau, kad didžiąją dalį laiko klasėje.
>> Travis Downs: Ir pirmą dieną, jie įteikė tortą, ir
Aš iš karto buvo parduota.
>> Jacob PRITT: Nemokami saldainiai ir picos.
>> ZAMYLA CHAN: - nepriklausomai nuo jūsų palūkanų lygio, manau,
kad CS50, jūs turėsite įdomus, ir jums bus intelektualiai
stimuliuojamas.
>> ŽENKLAS GROZEN-SMITH: Tai visada klasės partija, ir tai
vakarėlis kiekvieną vakarą savo p rinkinys.
>> JACKSON STEINKAMP: Kiekvieną kartą, kai baigsite problema, rinkinį, jūs
pajusite, kaip jūs baigsite projektą.
>> MELISSA niu: "Tai buvo Pirmaisiais metais, o man buvo padaryta apsipirkti.
Aš turėjau mano keturios klasės pasiruošę, ir buvau Annenberg.
Ir aš guzas į draugų, ir jis sako, ei, aš apsipirkti
klasė vadinama CS50, ir jums turėtų ateiti su manimi.
Galų gale, atsižvelgiant tai, kad rudenį, po šios klasės, aš
maniau, gal aš ruošiuosi moll CS.
Bet čia aš, po trejų metų, dar mokosi kompiuterį
mokslas ir iš tikrųjų daro jį kaip pagrindinis, ir aš myliu kiekvieną
momentas.
>> ROB Bowden: Aš neįsivaizduoju.
>> ALI Nahm: Pažiūrėkime.
>> MELISSA Niu: Nesaugi.
>> SPEAKER 1: aš jaučiuosi kaip Aš būčiau labai klišė.
Aš tiesiog pasakyti, pavyzdžiui, nuostabus.
>> Yaniv YACOBY: prieiga.
>> Jacob PRITT: Nemokami saldainiai ir picos.
>> TRAVIS Downs: Negali išjunk klasę, kuri rankas iš torto.
>> Tim MCLAUGHLIN: energingi.
>> Vipul Shekhawat: Eteriniai.
>> ROB Bowden: Leisk pagalvoti atsakymo.
Manau, kad aš turiu kažką.
O, Dieve.
Taip, mano vardas Rob Bowden, ir tai yra CS50.
>> [Plojimai]
DAVID Malan: Gerai, todėl pradėkime nupiešti piešinį,
ta kryptimi, kuria mes galime eiti, ir galime pristatyti
ši sąvoka čia žinomas kaip pseudocode.
Taigi Pseudocode nėra programavimo
pas save kalba.
Tai nieko techninė per se, bet tai tiesiog tarsi
bendras būdas išreikšti save gana tiksliai,
gana algoritmiškai procedūriškai, teisingai, tačiau be
nerimauti, kokia kalba jūs išreikšti
sau.
Tai kai anglų ir programavimo kalbos modelis
kuris būtumėte susipažinę, todėl mes galime pradėti
raštu šis dalykas rūšiuoti, kaip mes einame.
Ir iš tiesų, Juozapas, galėčiau skolintis jus scenoje
raštininkas čia?
Aš nuėjo į priekį čia iš anksto ir pamiršo įdėti
šiandien dėl tam tikrų kojinių, ir tai bus tarp mūsų daugiau
juokinga pavyzdžiai.
>> Dabar, man reikia tavęs čia.
Aš padarysiu kojinės dalį.
Taigi čia mes turime šiek tiek notebook.
Tai yra tiesiog tiesiog TEXTEDIT "Mac".
Mes ne iš tikrųjų vyksta rašyti pilnos programą, tačiau
mes tik ketina pradėti piešti Pseudocode pagrindu
kai gynėjo, kurią pateikiate man čia.
Taigi čia yra mano krūva kojinių namuose.
Aš neturiu apie tai, kai aš pabusti ryte kojines, ir dabar mes
reikia parašyti programą, rūšių algoritmą, kuris
gauti šias kojines ant savo kojų.
Ir pakeliui, galime pamatyti, jei mes užkliūti, arba susiduria su
kai kurių idėjų, kad jūs ketinate turi pradėti
galvoti apie tai daug rimčiau, kai programavimo
kitaip jūsų programas nereikia elgtis, visai taip, kaip numatyta.
>> Taigi, aš sėdėti čia.
Aš gavau mano krūva kojinių.
Kas pirmas dalykas, protingas žmogus
daryti, kai tikslas yra įdėti į kojinių porą?
Kas nors duoti man vieną žingsnį, ir tik vienas žingsnis.
Taip?
Auditorija: nusilenkti.
David Malan: nusilenkti, gerai.
Antras žingsnis.
Auditorija: Paimkite savo kojinių.
DAVID Malan: pasiimti savo kojinių.
Gerai, tiek šiek tiek dviprasmybių čia, ir tai yra vienas iš pirmųjų
nusiteikti, kad mes turėtume sąmoningai
susidurti čia.
Tai šiek tiek dviprasmiška, kad pasiimti savo kojinių.
Gerai, aš paimsiu šį vieną, bet kompiuteris, realizuoti tik
bitų, nesiruošia turėti, kad žmogaus instinktas rūšiuoti į teisingą
pasirinkti artimiausią Jums.
Mes ketiname pradėti prieš ilgas, išreikšti
save tiksliau.
>> Viskas gerai, todėl antras žingsnis yra pasiimti savo kojinių.
Mes jį.
Trečias žingsnis.
Į nugarą.
Auditorija: siūlą.
Davidas Malan: rasti atitikimo pora.
Gerai, kad tai yra gerai.
Man teko rinktis šį kojinių.
Taigi tikslas yra rasti atitikimo kojinių, dabar bet ką
tai reiškia?
Pagrįstas žmogus, panašiai kaip trečiadienį, kai aš tiesiog
žinojo, kaip rasti Mike Smith telefonų knygą, tiesiog rūšies
nuėjo su jų instinktas.
Bet čia jis akivaizdžiai tai kojinių čia, bet kompiuteris
nesiruošia būti toks instinktyvus.
Kompiuteris teks bitų rinkinį, kaip mes
aptarta trečiadienį, ir tie, kurie
tvarkomas kažkaip atmintyje.
Bet esmė yra ta, kad kompiuteris turi tik galimybę
pažvelgti dalykų vienu metu ir, tiesą sakant, net mes
žmonės - net jei ji mano, kaip aš pažiūrėjau žemyn ir padalinti
2. vėliau aš žinau, kur kojinių, mano smegenis ir mano akys
matyt, buvo greitai nugriebti iš tų kojinių ir tada užsisklendžia
į šiuo metu nagrinėjama.
>> Taigi, jei mes visi daugiau sąmoningas dabar kaip kompiuteris,
kaip aš galiu rasti šį siūlą?
Na, mes turime pakartoti.
Turime galbūt linijos per šį kojinių netvarka
grindys, kuriuo aš pasakyti kažką panašaus KIEKVIENAI kojinių, pasiimti jį
iki, ir jei tos pačios formos ir dydžio kaip ir kitu, tada
taškas, taškas, taškas, mes ir toliau istoriją.
Taigi kiekvienam kojinių, kad aš pasiimti šį vieną.
Aš patikrinti, tai lygus šio vieno.
Tai ne, todėl aš atidėti pusę.
Tada aš kartoti dar kartą.
Ar tai vienas lygus?
Ne, tai ne, todėl aš įdėti jį panaikinti.
Ar tai vienas?
Ne.
Tai vienas?
Ne, ir pan.
Ir galiausiai, tikiuosi, aš susidūrėme su šia kojinių čia.
Taigi, jei tai ta pati forma, dydis, jį priimti.
>> Ir dabar, kas būtų mūsų kitas žingsnis?
Taip?
Auditorija: Nustatykite į dešinę iš kairės.
DAVID Malan: Gerai, nustatyti dešinę ir į kairę, todėl
laimei, kad darbų rūšies.
Šiek simetriškai, ar aš tiesiog dėvėti juos, kad taip.
Viskas gerai, todėl aš nustatyti teisę.
Ir dabar, kol mes, leiskite man atkreipti dėmesį, ką Juozapas
čia darai išmanantis programuotojas rūšies.
Taigi dar kartą, nėra vienas iš būdų tai padaryti, tačiau už tik
numeraciją eilučių, Juozapas jau pradėjo tai daryti
tarsi įdubimas.
Iš tiesų, tai labai dažnas programavimo konvencija,
, pagal kurią kai jūs ką nors kartotinis, kilpų stilių, kaip
mes tai reiškia su anglų frazė "už kiekvieną
kojinių, "į pseudocode konvenciją ir, kaip matysime,
normalios programavimo kalbos, yra tiesiog įtraukoje.
Paspauskite tarpo klavišą kelis kartus, paspauskite TAB klavišą arba panašių dirbinių,
kad lizdinė po "KIEKVIENAI kojinių" yra riekė
dalykų, kad jums reikia padaryti, kaip tos linijos.
Taigi, kad visa tai perteikti semantiškai.
Dabar tuo tarpu, "Jei tai tos pačios formos ir dydžio", -
tai, kad "Take it" yra įtrauktas toliau tiesiog reiškia,
tai vienintelis dalykas, kurį turėtų daryti, jei, kad ši sąlyga,
jei tas filialas, kad kelyje šakutė, iš tiesų yra tikrosios.
>> Taigi dabar, čia, mes ketvirtajame etape, nustatyti dešinę ir į kairę.
Aš numatyta.
Duok man penktąjį veiksmą.
Ir techniniu požiūriu, mes tikrai galėjo skambinti
FOR Kiekvienas daiktas -
jūs tikriausiai turėtų suskaičiuoti visas eilutes, jei
mes ketiname tai padaryti.
Joseph: [nesigirdi]
David Malan: [nesigirdi?
Gerai, gerai, gerai, mes tai padaryti savo kelią.
Viskas gerai, todėl žingsnis penki, kaip mes tai darome tinkamą kojinių?
Kaip mes pradėti kitą, čia?
Taip?
Auditorija: Pakelkite dešinę koją.
David Malan: Pakelkite dešinę koją, gerai.
Šeštas žingsnis?
Greitai.
Taip.
Auditorija: Ieškoti atvirą galą kojinių.
DAVID Malan: Gerai, rasti Atviro kojinių.
Taip gerai.
Sąžiningai, todėl čia labai paplitusi instinktas tiesiog būti
įdėti teisinga kojinių, bet tai taip pat yra gana dviprasmiškas.
Jei kompiuteris ar žmonių žino, ką tai reiškia,
ji nesiruošia būti įvykdyti, kad, todėl čia, aš
rado sandėlyje pradžią.
Žingsnis Septyni?
Auditorija: liesti kojų pirštai.
Davidas Malan: Touch pirštai.
Gerai, kad dabar mes einame -
Viskas gerai, aš čia imtis tam tikrų laisvių.
Ačiū.
Žingsnis 8?
Įdėkite kojinių.
Gerai, kad dabar aš manau, kad mes pakankamai arti, kad rūšiuoti imtis
tai namie vienas.
Viskas gerai, todėl tai pakyla.
Imsiu keletą laisvių, ką tai reiškia, iš tikrųjų.
Įdėkite kojinių.
Gerai, dabar žingsnis devyni?
Auditorija: Įdėkite pėdą.
DAVID Malan: Ačiū.
Žingsnis devyni, įdėti koja žemyn, ir dabar, galime kartoti.
Taigi, matyt, dabar gali eiti į 10 veiksmo ir pasakyti nustatyti
paliko kojinių, bet tai, matyt, jau padaryta.
>> Ir taip, tada, aš galiu rūšiuoti pakartokite šiuos veiksmus.
Tačiau tai tarsi kyla klausimas.
Prieš, paskutinį kartą norėjome pakartoti kažką, mes
tai padarė keletą kartų, vėl ir vėl,
Kiekviena kilpa taip sakant.
Ar tai prasminga naudoti linijos tam, kad dirbti tiek
kairės ir dešinės kojinių?
, Nes jis jaučiasi, kaip šios operacijos yra gana daug
identiški, išskyrus tai, kad vienas prasideda čia ir vienas
prasideda čia?
Ar mes kilpa, ar mes tiesiog laikyti rašymo veiksmus
10 ir 11 ir 12?
Auditorija: Baigus kartoti.
>> DAVID Malan: Gerai, kad linijos.
Aš iš tikrųjų galėjo pasakyti, tiesiog nesustoti.
Tad kodėl tai yra?
Na, iš tikrųjų tai yra pirmasis iš mūsų ne akivaizdus
dizaino sprendimus, ir iš tiesų, vienas iš rodiklių, su kuriais
mes pradėsime vertinti, už save ir už jus,
programos kokybė yra tik, kaip gerai suprojektuoti, tai.
Tu padarei minimalaus kiekio būtino darbo
gauti darbą sparčiausiai, arba, kalbant apie
laiko ar kompiuterio veikimo laiką?
Kiek operacijos ji mano, kad įvykdyti?
Taigi, be abejo, tai yra kilpa, nes galimybė
, kai aš pradėti kopijuoti ir įklijuoti, kaip Juozapas efektyviai
būtų pradėti daryti per akimirką, esate eikvoti savo natūra
laiko, ir jūs yra dvigubai išraiškingas.
>> Bet tuo pačiu metu, tai tikrai tik dvi specialios
atvejai, į kairę ir į dešinę.
Ir kadangi prieš, aš gali turėti 10 arba 20 ar daugiau kojinės
krūva, tai tikrai prasminga, kad mes ne 50 eilučių
kodas sakydamas patikrinti šį kojinių, tada kitas,
tada kitą.
Čia, tai šiek tiek mažiau akivaizdus, ​​ir aš norėčiau pasiūlė
, kad galėtume eiti bet kuria kryptimi.
Mes galime turėti, kad linijos, nors tai tik kilpų
du kartus, ar mes galime tiesiog nukopijuokite ir įklijuokite tik šiek tiek
čia, kad gauti darbą.
Tačiau ši programa yra Buggy, taip sakant.
Ji gali turėti keletą klaidų, klaidų ar kampines atvejus, taip
kalbėti, kad mes iš tikrųjų nebuvo numatyti.
Nieko nutiko šį kartą, tačiau tai, kas galėjo negerai
vykdydama šią programą?
Auditorija: Jūs neturite jokių kojinių.
>> DAVID Malan: Taigi ten gali būti jokių kojinių apskritai.
Taigi aptarkime tą kampą bylą.
Taigi, jei mes galėtų slinkti atgal iki pirmojo žingsnio, todėl pirmas žingsnis buvo
nusilenkti, kad išsiregistravus.
Antras žingsnis, pasiimti savo kojinių, bet tada rasti atitikimo kojinių,
nustatyti į dešinę.
Mes tipo visa krūva prielaidų, ir tai,
tiesą sakant, kodėl kartais programa avarijos.
Jeigu jūs, programuotojas, padarė tam tikras prielaidas, pavyzdžiui,
tikrai ten bus kojinės ar tikrai ten vyksta
atminties kompiuteryje paliktas, tikrai vyksta
disko vietos kietajame diske -
Na, jei jums padaryti šias prielaidas, ir tai dar ne,
iš tiesų, tikrovė, kas žino, kartais, ką kompiuteris
ketinate daryti?
, O kartais, kai jūs gaunate verpimo paplūdimio kamuolys arba
sušaldyti "Windows" ar panašiai, tai būtent dėl ​​to, kad kai kurie
programuotojas nesitikėjo tuos vadinamuosius kampe atvejus.
Ką dar galėjo būti negerai šioje programoje?
Taip?
>> Auditorija: Jūs neturite dešinę koją ir kairę koją.
DAVID Malan: Gerai, gali turėti ir dešinę koją ir
kairės kojos ir todėl ši programa gali būti visuotinai
taikoma.
Kiti?
Auditorija: Jūs galite pakėlė retiesiems kojinių.
David Malan: aš galėjo pakėlė retiesiems kojinių, todėl
nesuderinto kojinių, kad tiesiog neturi brolių ir seserų, nes aš
neteko, jis suplyšęs, tai plauti vis tiek, ar pan.
, Taip pat, kad nėra tikrai buvo tvarkomi.
Taip?
Auditorija: Galbūt jau turite kojinės.
David Malan: Aš jau gali turėti kojinės.
Aš ne iš tikrųjų patikrinti.
JEI jūs neturite kojinių, tada eikite daryti
vieno ir dviejų eilutė.
Ir kad gali atsitikti.
Užmiegate su savo kojines ir panašūs, todėl
, kad taip pat labai protinga kampe atveju.
O gal vienas kitas?
Auditorija: kojinių viduje.
DAVID Malan: Taigi, kojinių viduje, kad mes jokios klaidos
tikrinimo, trumpai tariant.
Mes nepatikrino, jei pasaulio valstybės yra, kaip mes tikimės.
Mes ne patikrinti, ar mes iš tikrųjų rado tai, ko mes ieškome.
>> Ir nors tai yra tarsi juokinga pavyzdyje
įtraukiant kojinės, dienos pabaigoje, tai yra būtent
tarsi mąstyseną, jums reikia turėti rašant programas,
net nulio, taip pat C, JavaScript, PHP,
nes priešingu atveju, jūsų programos bus eksponuoti
lygiavertės tos verpimo paplūdimio kamuolys arba tiesiog duoti
netikslūs rezultatai.
Tiek daug, nes čia į mūsų raštininko Juozapo.
[Plojimai]
>> DAVID Malan: Gerai, tai kas yra,
faktas, kompiuterinė programa?
Na, tegul greitai peržvelgti
atstovas ją čia.
Taigi, tai yra programa, parašyta kalba, vadinamas C. C
gana senas šių dienų, tačiau daugelis naujesnių kalbos yra pastatytas
ant jo.
Iš tiesų, PHP, interneto orientuotas kalbomis mes
naudoti termino pabaigos link, pati turi tai, kas vadinama
vertėjas, programa, kuri parašyta C, tačiau daugiau apie tai
daugelyje savaites nuo dabar.
Tačiau ši programa, ir tai, ką reiškia rašyti
programa, nors ir labai paprasta.
Mes turime keletą gana neaiškūs sintaksę, bet jūs galite
greičiausiai gali atspėti, net jei jūs niekada užprogramuotas prieš, kas
ši programa veikia.
Iš tiesų, aš ne žinoti, ką printf yra, bet spausdinti tikrai
asocijuosis su spausdinti ką nors idėją.
Ir taip taip, ši programa galiausiai ketinate spausdinti
žodžiai "Hello, World".
>> Dabar, ar turite Mac ar PC arba Linux kompiuterį, šansai
, bent jau jei jūs atsisiuntėte kai laisvai
prieinama programinė įranga, galite raštu programas
savo nešiojamas gana ilgą laiką dabar.
Mac OS, pavyzdžiui, ten tai programa, vadinama
Terminalas, kuris ateina su "Mac", kad paprastai į
Utilities aplanke, ir paprastai atidaro juoda ir
baltas arba baltas ir juodas langas, kuriame jūs turite
greitai, kuriame galite įvesti komandas.
Taigi, tai yra iš tikrųjų primena ką kompiuteriai
būti iki grafinę vartotojo
sąsajos, GUI, atėjo kartu.
Dabar, Windows, jūs turite panašaus mechanizmo forma
komandinėje eilutėje.
>> Bet ką aš ruošiuosi daryti čia yra atverti, tarkim,
TextEdit vėl, todėl tą pačią programą buvome naudojant
Pseudocode metu senumo, ir aš ruošiuosi eiti į priekį ir
parašiau savo pirmąją programą.
Įtraukti stdio.h, ką tai reiškia, int main
negalioja, ką tai reiškia, ir tada viduryje čia,
printf ("Hello, world."). Ir tada uždarykite citata,
uždaryti paren, kabliataškiu.
Dabar aš ruošiuosi eiti į priekį ir tiesiog paspauskite Command-S. Aš ruošiuosi
eiti į priekį ir išsaugoti kaip hello.c, todėl konvencijos nuostatas
C programavimo pasaulis Vardas rinkmena dot c.
Aš einu tiesiog įdėti John Harvardo namų kataloge,
čia, spustelėkite Įrašyti, ir dabar aš ruošiuosi eiti per šį
terminalo langą, kuris taip pat tai yra juodos ir baltos spalvos eilutę
kur galiu vykdyti komandas.
>> Galiu paleisti programas įvesdami savo vardą, o ne
dukart spustelėję piktogramas įprastos.
Bet dalykas yra apie C yra tai, kad kalba kaip C Pirma
ateina šią formą, vadinamąjį kodą.
Kažkas, kad atrodo šiek tiek kaip anglų kalba, bet yra
tikrai mažiau kaip angliškąjį, o ne Juozapo Pseudocode
metu senumo.
Tai šiek tiek daugiau paslaptingų.
Atrodo, laikytis tam tikrų modelių ar taisyklių.
Tai, kad aš turėti garbanotas petnešos, kabliataškiais, citatos
kampas petnešos, jaučiasi kompiuterio atėjo su šio
Rūšiuoti kalbos.
Bet jei aš einu, dabar šios terminalo lange, galiu paleisti
komandą, kuri ketina konvertuoti išeities teksto kodą
kažkas vadinamas objekto kodą.
Kad ketina konvertuoti anglų kaip sintaksė nuliai
ir tie, tie patys rūšiuoja nulių ir mes
trečiadienį kalbėjo apie.
Dabar, aš ruošiuosi paleisti komandą, pavadintą Apsukite metalinis garsas.
Daugiau apie tai per kelias savaites ateiti, bet tai programa su
aš galiu konvertuoti hello.c į visa krūva
nulių ir.
>> Dabar, aš paleisti šią komandą.
Aš paleisti Apsukite metalinis garsas, ir tada aš pasakiau paleisti save dėl šio dokumento
vadinamas hello.c, kurią aš sukūriau metu senumo, ir
niekas, atrodo, kad taip atsitiktų.
, Bet iš tiesų, jei aš baksnodavo aplink mano namų katalogą, aš norėčiau pamatyti
kad tai kvailai pavadintas programa a.out dabar egzistuoja.
Tai yra tik programos pavadinimą pagal nutylėjimą, kai raštu
C. Mes gali nepaisyti tai, galų gale, bet a.out
programos pavadinimas, aš tiesiog nulių ir konvertuojami į.
Ir dabar, kad tai nulių ir, mano Mac, šiuo atveju, arba
Jūsų Windows kompiuteris gali suprasti tuos bitus, tas
nulių ir.
Ir todėl, kai aš paspauskite "Enter", aš matau "Sveikas, pasauli!"
>> Bet tai šiek tiek Buggy.
Nesupratau, sako: "labas, pasaulis: oras: - jharvard". Oras yra
mano kompiuterio vardas.
Jharvard paskyros pavadinimas, todėl, ką aš aiškiai
praleisti iš programos?
Kai linijos pertraukos natūra.
Aš ne nukentėjo Įveskite ekvivalentą arba Carriage Return,
, o tai, vėlgi, liudija tai, kad kompiuteriai gali
tik tai, ką galite pasakyti jiems tai padaryti.
Ir tai, kad aš nesakiau kompiuterį perkelti
žymeklį į kitą eilutę -
Na, tai tikrai ne just do it
įžūliai man.
Taigi, jei aš grįžti į savo programą, ir aš sakau \ n -
Taigi \ n, nes mes netrukus matysime, yra būdas
atstovauja keistam dalykų, pavyzdžiui, naujos eilutės simboliai, dalykų
kad priešingu atveju būtų rezultatas
pataikyti į klavišą Enter.
Bet dabar, tiesiog žinau, kad pataikyti klavišą Enter
tiesiog įsitikinkite, mūsų kodas atrodo keista, kad pasaulis nusprendė, jūs žinote,
ką, kad viskas gražiau, laikykite jį ant vienos linijos, leiskite
tiesiog pasakyti, \ n reiškia naują eilutę.
Leiskite man išsaugokite savo failą, grįžkite į terminalo langą ir
, įveskite iš naujo paleisti a.out.
Vis tiek Buggy, bet kodėl?
>> Auditorija: [nesigirdi]
DAVID Malan: Taip, todėl man reikia perkompiliuoti jį.
Taigi, norint sudaryti programą tiesiog reiškia, kad konvertuoti jį iš šaltinio
objekto kodo, kodo nulių ir kodas.
Dabar, vien tai, kad aš paspauskite Išskyrus šio TEXTEDIT neturi
dėl tų nulių ir nes aš pirmiausia reikia
Tell Apsukite metalinis garsas ei, aš jau pasikeitė tas kodo linijomis,
kodą.
Jums reikia atsinaujinti a.out.
Niekas, atrodo, atsitiko, bet į kompiuterį,
komandinėje eilutėje, taip sakant, kai nieko neįvyksta,
tai paprastai reiškia, kad viskas yra gerai.
Kai kas nors nutinka, tai reiškia,
messed up, paprastai.
>> Taigi, tegul dabar eiti į a.out, ir iš tikrųjų dabar, aš turiu "labas,
pasaulį ".
Ir dabar, ką apie šias nulių ir?
Kur, tiesą sakant, yra tie?
Na, aš tikrai negali tiesiog rūšies baksnoti aplink labai
efektyviai.
Leiskite man atverti TextEdit.
Štai a.out.
Leiskite man eiti į priekį ir atidaryti, ir tai, matyt, ką mano
programa atrodo.
Taigi aš atidaryta, o ne hello.c, bet a.out.
Bet iš tikrųjų tai yra ne tai, ką mano programa tikrai yra.
Akivaizdu, kad tai kažkoks raidės.
Aš nematau nulių ir, bet tai
nes a.out programa.
Nulių ir - bet TextEdit, kaip rodo pavadinimas, tai
Užrašų knygelė kaip ir "Windows", yra tik teksto redaktoriumi, todėl
paini tų nulių ir kaip
nors jie buvo, ką?
ASCII simbolių.
>> Taigi prisiminti, trečiadienį, mes tiesiog atėjo su šio
savavališkai kartografavimas numerius arba bitai, raštais
abėcėlė ir skyrybos simboliai ir panašiai.
Taigi TextEdit, kad tai yra teksto redaktorius yra neteisingos interpretacijos
tų nulių ir modelius, kurie turėtų būti
spausdinimo žodžiai, pavyzdžiui, "Sveikas, pasauli". Tai iškabindamos
ASCII, ir tai, kodėl ji atrodo šiek tiek nepatogus.
Dabar, yra keletas teisingumo užuominų čia.
Atkreipkite dėmesį, jei aš pabrėžti, yra iš tikrųjų užuomina "labas,
pasaulis ", todėl kažkur toje programoje yra
sakinį parašiau.
Bet eikime į priekį ir dabar su skirtinga programa.
Tai ne mes naudojame, kad dažnai, tačiau ji taip pat ateina su
Mac ir bus viduje CS50 prietaiso.
Leiskite man eiti į priekį ir atidaryti su programa, vadinama XXD.
>> Atgal į dieną, dauguma programų buvo pavadintas gana cryptically,
ir todėl ši tendencija tęsiasi.
Bet-b - spjauti šią programą kaip dvejetainis.
Negalima paleisti jį.
Rodyti tai mane, kaip nulių ir, o tai yra C
programa, mes tiesiog parašė.
Dabar, aš, kaip žmogus čia, aš nuoširdžiai neįsivaizduoju, ką
šie įvairūs modeliai nulių ir atstovauti.
Atgal į dieną, aš, mano Punch korteles arba, pavyzdžiui, būtų
iš tikrųjų turi ieškoti, kas šiuos įvairius modelius
01111000, iš tikrųjų atstovauja.
Arba dar blogiau, man reikia padaryti skylių pramušimo arba sukurti
šių nulių ir modelius.
Bet dabar, nuo tikėjimo, kad CPU, Intel Inside,
kalbėti, viduje visi mūsų kompiuterius šių dienų žino,
kaip interpretuoti šiuos nulių ir.
Ir keletas nulių ir reiškia spausdinti.
Kai kurie nulių ir reiškia, kad atkurti garsą.
Kai kurie nuliai ir tie reiškia naudotojo įvesties iš klaviatūros.
Yra įvairiausių skirtingų modelių, bet mes, laimei,
kaip žmonės, tik paprastai reikia nerimauti apie programavimą
tai gana aukštesnio lygio.
Ir kiti CS klasių galite knistis žemyn giliau ir ieškoti
tų nulių ir dalykų, pavyzdžiui, ar dar
dar kitų dalykų.
>> Taigi dabar galime tai pakeisime.
Pereikime labai greitai atokiau nuo C ir pereiti į kažką šiek
šiek tiek daugiau Paguodos, šiek tiek įdomesnis, nes
mes galime gauti mūsų animaciją ir garsus ir, pavyzdžiui, kad
aiškiai pabėgę mus
gana primityvus sąsaja.
Taigi, ta pati programa, C gali būti atstovaujama šiame
programavimo kalba vadinama įbrėžimams taip.
Tai yra šio hello world programa, parašyta ekvivalentas
Šį galvosūkį gabalas stiliaus kalba, vadinama "Scratch.
Taigi leiskite man eiti į priekį ir atverti šią labai programą.
Tai dar kartą paragino nulio.
Tai laisvai prieinami, ir tai yra tas pats dalykas, mes
prasidėjo šiandien.
>> Taigi tai čia yra nulio, ir jis suskaidytas į keletą
skirtingų vienetų.
Labai viršuje, dešinėje pusėje, mes turime vadinamąjį etapą, o
iš tikrųjų, tai kur slapukus
atliekamas tik šiek tiek atgal.
Ir tame etape, yra dalykų, vadinama animacinius, simbolių, arba
objektai ir subjektai.
Jis tikrai ne klausimas, kaip jūs manote apie juos, tačiau jie
yra programuojami, judantys daiktai, ir šiuo atveju, tai
programa, kad mūsų studentas parašė porą meduolių
sausainiai, apskrito slapukus pora, visa krūva
širdis, visa krūva akiniai.
Dėl šios priežasties, jis ar ji gali programuoti, kiekvienas iš jų
atskirai atskirus simbolius.
>> Dabar, ką tai reiškia programuoti šių simbolių?
Na, leiskite man eiti į priekį ir spustelėkite ant šios kairiajame slapuku
ir slinkite per viršuje kairėje.
Dabar mano ekrano viršuje, kairėje pusėje yra
vadinamasis scenarijus plotas.
Tai tarsi tuščią skalūnų pradžių, ant kurios aš galiu
vilkite ir upuść įspūdį, kad, tiesą sakant, tai padaryti
būtent tai, ką jie sako.
Pačiame viršuje šio puzzle kamino žodis
Kai Žaliosios vėliavos Spustelėjus, ir jei jūs nepastebėjote anksčiau,
būdas, aš pradėjau, kad slapukų dainą pažodžiui, spustelėję Valdymo skydas,
žalia vėliava.
Taip, kad dėlionės gabalas viršutiniame kairiajame kampe reiškia, kai
žmogaus paspaudimų žalia vėliava, pradėjo daryti
šiuos dalykus.
>> Dabar, ką jie slapukas pradėti daryti?
Aš tikrai ne žinoti, kaip interpretuoti tai dar, bet
slapukas, matyt, savo griovelį iki nulio, tada ji laukė
tris sekundes, tada ji pakeitė savo grupę į vieną, tada ji
laukė antra, tada ji pakeitė savo
griovelis atgal į vieną.
Ir tada tai tikrai atrodo kaip šiek tiek klaidų, neturėtų
turi pakeisti savo groove, vėl ir vėl, nebent tai
pakeistas kitur, tačiau ši veiksmų serija yra kas
diktuoja elgesį šios konkrečios slapuku.
Taigi leiskite tikrųjų slinkti atgal, o ne pažvelgti į kažką
visai taip sudėtinga.
Leiskite man eiti į priekį ir eiti į File, New,
ir gauti švaraus šiferio.
>> Taigi dabar, aš iš tikrųjų turi tuščią scenarijų plotas, tuščias etapų,
su mūsų numatytąją Sprite nulio, ir viršuje kairėje
ant mano ekrano, turiu visų jų padėklą
galimi įspūdį.
Ir mes ne eiti per beveik, kad daugelis iš šių dalykų
šiandien, nes, vėlgi, dauguma jų yra savaime suprantama, bet mes
pabandyti suskirstyti juos ir atkreipti dėmesį į panašumus
šiose būsimose kalbomis kuriuos mes nardyti.
Ir viršuje kairėje yra pirmasis Žaliosios vėliavos Spustelėjus
todėl leiskite man perkelkite šį čia, nutolinti šiek tiek.
Ir jei aš spustelėkite žalią vėliavą, nieko iš tikrųjų atsitinka, nes
Aš nebuvo teikiama logika, bet koks pareiškimas, kad kalbėti,
kad žalia vėliava, todėl leiskite man eiti į
kategorijų čia.
Aš šiuo metu Valdymo kategorijoje.
Vietoj to, aš ketina eiti išvaizda kategorijos, ir
ten visa krūva dalykų čia, kad pasakyti Pasakykite,
Pagalvokite, keisti spalvą, Switch Kostiumų.
>> Todėl jūs galite daryti kvailus dalykus su kostiumais ir
garsai ir pan.
Leiskite man eiti į priekį ir tiesiog pasakyti Pasakykite, o dabar pastebėsite, kaip aš vilkite
ir upuść šį įspūdį, ji ketina norite sklende
į atitinkamą formą.
Taigi, kai aš eiti į priekį ir atleiskite mano pele, jie užrakinti
kartu, o dabar, jei aš einu čia ir spustelėkite žalią vėliavą,
katė realiai say hello, nes tai, kas yra viduje
šio baltame langelyje.
Mes netrukus pamatysite, kad tai baltas langas yra tai, kas vadinama
argumentas, arba parametras.
Tai būdas pakeisti elgesį, šiuo atveju,
įspūdį, tačiau jei aš noriu pasakyti, ką aš sakiau
anksčiau, pasisveikinti, pasaulis, aš dabar gali grįžti čia,
spustelėkite žaisti, ir "labas, pasauli" yra tai, kas sakė.
>> Taigi mes tiesiog programavimo dabar.
Tai dar ne viskas, kad programos, įtikinamas, tačiau bent
tai šiek tiek patrauklesni nei kažkas, kad atrodo,
Iš pirmo žvilgsnio, kaip šis.
Ir mes galime labai greitai gauti labiau išraiškingas
nes nulio, kaip ir kitomis kalbomis, yra viskas
rūšių ataskaitų, ne tik pasakyti, ar spausdinimo kažką, bet
galite padaryti kažką panašaus laukia, nes mes tik pamačiau
slapukas, kai sekundžių skaičių.
Galite žaisti garsus Scratch aplinkoje tiesiog
kaip jūs galite normalus kompiuterių programų Groti garso.
Jūs galite patikrinti, kas yra vadinama Būlio išraiškos.
Taigi dabar, pradėkime įtraukti į mūsų priemonių rinkinio kai terminologijos
, kad iš tikrųjų yra susijęs su, kad, pavyzdžiui, Juozapas ir aš padariau
čia su kojinių.
Taigi teiginiai yra tik pareiškimai apie faktus.
Tai padaryti.
Sprite direktyva, arba man žmogaus, kažką daryti.
Būlio išraiška yra kažkas, kad turi reikšmę,
vadinamoji tiesa vertė, tai arba nulis arba vienas, melagingos ar
tiesa, išjungti arba ne arba taip.
Tikrai ne klausimas, kaip jūs manote apie tai, bet tai
dvejetainis valstybė.
Kaip Nate aptarta trečiadienio vaizdo, du
skirtingi dalykai.
>> Taigi nulio, Būlio išraiškos atsitiktų ieškoti
kaip čia tokių mėlynųjų objektų, ir šiuo atveju, kyla klausimas,
ženklas reiškia, kad jūs užduoti klausimą.
Yra katė, ar elfas, liečiant pelės žymeklį?
Taigi tai yra tik vienas pavyzdys, Scratch blokas, kuris vyksta
leisti mums patikrinti "taip" arba "ne", yra pelės neliesti
Sprite ekrane?
Ir tai gali būti naudinga, jei jūs iš tikrųjų norite daryti tai, ko
su pele.
Be to Būlio išraiškos, mes turime ką
kaip yra pelės žemyn, kad būtų galima nustatyti, kad šios rūšies
klausimą taip pat.
Mes galime padaryti matematiką, jei jūs iš tikrųjų norite, ir yra
iš tikrųjų labiau įtikinamų naudoja ne tik gryno
aritmetika, kaip matysime.
Pseudo atsitiktinumas ir savo programą, atrodo, mano,
ar elgtis kitaip, kai iš pažiūros atsitiktinių dydžių,
ir tada mes turime dalykų, pavyzdžiui, Būlio išraiškos, pavyzdžiui, IR.
Taigi, jei jūs tikrai norite patikrinti dvi reikšmes, mes pamatyti
Subraižyti, kad iš tiesų galime patikrinti, jei tai yra
tiesa, ir tai yra tiesa.
Pavyzdžiui, mano kojines, aš turbut ne
pačioje pabaigoje paprašė klausimą, jei į kairę kojinių ir teisė puskojinė
Dega mesti rūkyti.
Baigsite tą dieną, kad būtų
galimybė, kad.
>> Taigi eikime į priekį ir pabandyti suvesti, kai kurie iš jų kartu
ir eiti į porą pavyzdžių
patrauklesni nei šį vieną.
Taigi leiskite man eiti į priekį ir atverti keletas pavyzdžių
kad visada bus aikštyno svetainėje, taip pat, ir
atverti hello2.
Taigi hello2 čia, mes turime programą, kuri veikia keletas
dalykų, tačiau tai ne tai daro taip pat veiksmingai, kaip mes galime.
Taigi čia jis sako: "Sveikas, pasauli" vieną sekundę ir tada laukia
sekundę.
Ir tada vėl, ir tada daro jį dar kartą.
Taigi, jei aš spustelėkite žalią vėliavą, scratch sako "Sveikas, pasauli.
Sveikas, pasauli.
Sveikas, pasauli. "Ir tai akivaizdžiai kandidatas dabar
tobulinimas.
>> , Kas yra labai menkas gamybos patobulinimas, tikiuosi, mes galime
dabar, jei įbrėžimams teigiamai vertina koncepciją?
Kai kurie iš kilpos natūra.
Kai kartojimo rūšį, dabar, būtų gražus, todėl leiskite man
iš tikrųjų pabandyti, kad.
Leiskite man iš tikrųjų eiti ir perkelti.
Taigi pranešimas gali nuimti blokus pat lengvai, kaip jūs galite pridėti prie
prideda jas.
Leiskite man eiti pagal kontrolės, slinkite žemyn čia, ir iš tiesų,
ten tai dėlionės gabalas čia, Kartoti ir Forever ir
Amžinai, jei.
Taigi yra daug būdų išreikšti sakinius
nulio.
Vienas aš tikriausiai norite, čia yra ne amžinai, nes aš tik
nori, kad tai įvyktų tris kartus, bet tikriausiai Pakartokite.
Taigi leiskite man vilkite Pakartokite čia, vilkite ir upuść jį, ir
dabar, o ne sakyti "Hello, World" tris atskirus kartus,
leiskite perkelkite šį dėlionės gabalas čia.
Ir nors jis neatrodo, kad tilptų, programa yra protingas
pakankamai, kad suprasti, jis augs užpildyti, todėl
formos, kurios klausimas, o ne absoliutus dydis.
Leiskite man pakeisti kartoti iki trijų, o dabar leiskite man eiti
į priekį ir vilkite Palaukite vieną sekundę ten taip pat.
Ji ketina przystawkę taip pat, ir todėl dabar aš ruošiuosi vilkite
šie vaikinai čia ir tiesiog mesti juos šalin, nes aš
nereikia jiems nebereikia.
Leiskite man vaizdą ir spustelėkite žalią vėliavą dabar, ir mes turime
tą pačią programą, tačiau, kaip aš prognozuojama anksčiau, geriau
, nes galite įsivaizduoti, kaip blogai, ši programa
gaus, tikrai estetiškai, jei Jums teko
pradėti kopijuoti ir įklijuoti, kopijuoti ir įklijuoti arba
velkant ir numetant tuos pačius prakeiktus daiktus vėl ir vėl.
>> Dabar, tiesiog sako stuff ekrane, spausdinimo į
ekranas, tikrai visi ne tai, kad įdomus, todėl galime atidaryti
3. dispersija čia.
Ir dabar, kaip pamatysite, tai greitai gauti erzina -
[Meow]
DAVID Malan: - bet tai taip pat rūšies mielas.
[Meow]
DAVID Malan: Gerai, todėl geriau, ir mes, žinoma, galima naudoti, kad
pats perėjimas Chunking į apsisukimo
struktūrą, bet galime padaryti dar įdomiau.
>> Leiskite man eiti į priekį ir atverti ketvirto dispersija čia, kur aš
imtis dalykų dar vieną žingsnį.
Taigi, atsižvelgiant į tai, kvailas, nors tai yra ne pirmas
žvilgsnis, kas ši programa ketinate daryti?
Ji ketina meow vieną kartą.
Kodėl?
Na, viena yra, kiek aš žinau, visada yra mažiau nei du.
Nėra jokios Atsitiktinumo sąvoka čia.
Aš tiesiog kietai "įsiūtos vieno ir dviejų, tačiau tai
pavyzdys dabar iš tikrųjų naudojant Būlio išraiška.
Panašiai kaip, kaip Juozapas padarė savo pseudocode įdubimas, jei
Jums susirasti atitikimo kojinės, tada atlikite šiuos veiksmus, čia mes turime
Jei vienas yra tada mažiau kaip dviejų išraiška -
ir iš tikrųjų mes net šiek tiek įdubimas,
violetinė šiek tiek atitrauktas į dešinę
Tada jūs ketinate žaisti garso Miau.
Dabar, šiuo atveju, kad vienas visada yra mažiau nei du, todėl šis
yra rūšies sąlyga, atliekų.
Bet mes galėsime, kaip matysime, prijungti kitų dalykų, į
šios rezervuotos vietos, kur vieno ir dviejų dabar.
Taigi, tegul dabar pereiti prie šių kelių penkių pavyzdžiui
hellos ir pažvelgti, ką ši programa ketina daryti.
>> Taigi dabar, anglų sakinyje, kaip tai
programa elgtis?
Auditorija: Miau pusę laiko.
DAVID Malan: Miau pusę laiko, kad tai yra būdas
perteikti labai paprasta idėja.
Net jei atsitiktų būti naudojant keletą nelygybę čia
kai kurių skaičių, tai tikrai tik programiškumo
būdu, tikslus, pasakyti, jei moneta ateina galvas,
į priekį ir miau.
Arba atvirkščiai, jei moneta ateina uodegą, ne miau.
Ir šiuo atveju, kaip mes pareikšti, kad?
Mes pasirinkti atsitiktinį skaičių nuo 1 iki 10, ir jei tai
skaičius yra mažiau nei 6, eiti į priekį ir miau.
Ir kaip tai gauti čia?
Na vėl, pastebėti, tiesiog velkant ir numetant ir
dalykų užsifiksuos vietoje.
>> Taigi, dabar galime pamatyti, jei tai atsitiktinumas veikia.
Leiskite man eiti į priekį ir spustelėkite žalią vėliavą.
[Meow]
Davidas Malan: Gerai.
[Meow]
Davidas Malan: Gerai.
Gerai, gerai, kad mes turime galvas, galvos, uodegos ir veiksmingai.
Uodegos.
[Meow]
Davidas Malan: vadovai.
[Meow]
David Malan: Puikus.
Jis visada nepatogu, kai tik statistiškai gausite blogas
paleisti, ir tai visi vadovai, o programa iš tiesų nėra
dirbti kaip norite tikėtis.
, Bet šį kartą jis dirbo, ir mes, atrodo, kad, jei mes
tai begalinis skaičius kartų, 50% šansai.
Dabar dar ne visi, kad įdomus, tik todėl katės
miau, todėl galime pamatyti, jei mes negalime iš anksto tai šiek tiek toliau
čia versija 6.
Taigi dabar, mes turime tikrai erzina versiją
[Miau kas keletą sekundžių]
DAVID Malan: - ir tai yra tai, kas žinoma, bendras, kaip
begalinis ciklas.
>> Šiuo atveju jaučiasi blogai Taigi begalinis kilpos.
Tai tikrai ketina pradėti skamba blogai, ir dar begalinis
kilpos ne visada blogai.
Ar manote, kad kompiuterinių programų, kur norite kontekste
iš tikrųjų nori begalinis ciklas?
Taip?
Auditorija: Jei norite patikrinti sąlygą.
David Malan: Gerai, kai norite nuolat tikrinti sąlygą?
Patinka tai, ką?
Auditorija: [nesigirdi]
DAVID Malan: Gerai, gerai, todėl, jei turite kokių nors programą, kai
rūšies namų automatikos dalykas, kur norite nuolat
monitorius yra kažkas, atveju.
Ar žibintai?
Yra žibintai, nes gal jūs turite laikmatį ir
norite juos eiti šalin, jums gali tekti padaryti kažką
vėl ir vėl.
Ir iš tikrųjų, kalbant apie laikmačiai, kas nors iš jūsų, kurie
laikrodis ant jūsų kompiuterio ar skaitmeninis laikrodis, tai
begalinis ciklas.
Tikslintų laiką, nes jis nuolat
tikrinimo ir kontrolės ir tikrinimo laikas pakeistas,
ir jei taip, O, Dieve.
Laikrodis pagaliau pasikeitė.
Jis turi rodyti, kad vertę Jums.
Taigi, kadangi dauguma laiko begalinis kilpos yra klaida,
ar bent jau prasta dizaino sprendimą, kartais jie
turi savo vertę.
>> Na, tegul toliau čia hello7.
Taigi, dabar programa bus gauti šiek tiek daugiau interaktyvių.
Leiskite man padidinti čia, ir vėl, tai, kas malonu
apie nulio.
Ir mes jį naudoti, kad būtų aišku, įbrėžimams, tik šiandien ir į
nustatyti kitą savaitę problemą.
Bet pirmadienį, mes pasinerti į C. Šioje programoje, ji,
amžinai, taip.
Jei liečiant pelės žymeklį - dabar kas
kontekstas?
Na, ir pamatysite, kad kas manimi pasirinktas čia apačioje
teisė yra katė, Sprite, tad šie scenarijai, tai
programa, jam taikomas konkrečiai.
Taigi, jei tai katė liečia pelės žymeklį, tada jis vyksta
žaisti šį ir laukti dvi sekundes, ir
tada pakartokite skelbimą nauseum.
>> Taigi eikime į priekį ir paspauskite Atkurti.
Nieko neįvyksta, tačiau, jei noriu PET
katė dabar, aš galiu tiesiog.
[Meow]
DAVID Malan: Žavingas.
[Meow]
DAVID Malan: Gerai, mažiau erzina, bet taip pat tampa nuobodu,
todėl galime judėti į priekį ir pamatyti, jei mes galime švirkšti negalima
šiek tiek daugiau logika.
Tai buvo pavyzdys 7.
>> 8 pavyzdyje mes ketiname
įvesti ELSE būklę.
Tiek daug, kaip pažodiniu Fork in the Road, kurioje galite eiti
kairę arba galite eiti į dešinę, programavimo sąlyga
kalbos kaip nulio, arba kaip matysime C, gali leisti jums
viena ar kita kryptimi eiti per IF ELSE statyti.
Taigi, gana pažodžiui, jei liečiant pelės žymeklį,
atliks tam tikrą garsą, dar ji ketina žaisti šį
garso, miau.
Dabar, jei jūs galite numanyti iš šių garsų vardą, galite
greičiausiai gali atspėti, ką ši programa reiškė įsivaizduoti
idėja.
Ši katė meowing laimingai.
[Meow]
DAVID Malan: Laimei, bet nėra
labai patiko, kad negalima liesti.
[Sprogimo]
DAVID Malan: Taigi dabar mes turime katiną, kuris bus klykauti ne jums.
>> Viskas gerai, gerai, vienas paskutinis pavyzdys su katėmis čia ir
tegul ATVIRŲ DURŲ versija devynis iš čia.
Taigi dabar mes turime kitą labiausiai erzina garsas, kad galėčiau
rasti, todėl mes turime jūrų vėplio arba jūrų liūtas čia kas vyksta
atlikite šiuos veiksmus.
[SEAL BARK]
DAVID Malan: Gerai, kad tai bus eiti tol, kol jūs suprasite, kaip
ši programa veikia.
Todėl šį kartą, šis gyvūnas turi du scenarijus, ir tai, kas
įdomu, čia yra tai, kad šie scenarijai ketinate vykdyti
tuo pačiu metu.
, Nes jie abu pradžia su vienu žalią vėliavą paspaudėte,
tai kaip, kaip tai vyksta, ir abi programos pradės veikti
kartą, net jei jie kilpų amžinai.
Taigi į viršų scenarijų, turiu tam tikrą logiką.
Kokias funkcijas, kad gali suteikti ten?
[SEAL BARK]
Auditorija: [nesigirdi]
DAVID Malan: Jei tai, ką?
[SEAL BARK]
Auditorija: Jei prislopintas iki nulio, jis bus nuolat žaisti
skambėti. [SEAL BARK]
DAVID Malan: Gerai, gerai.
Taigi, jei išjungtas, kokia tai yra, tai oranžinė dalykas yra lygus nuliui,
Tada žaisti jūrų liūtas garso ir galvoja: "O,
hi, dvi sekundes.
Dabar, aš ne žinoti, ką nutildytas yra, bet nulis asocijuojasi
idėja klaidinga arba išjungti.
Taigi, jei nutildytas yra klaidingas, todėl, jei nėra nutildytas,
nuolat žaisti garsą.
Viskas gerai, gerai, kaip mes išjungti šį dalyką?
>> Na, leiskite pažvelgti į antrąjį scenarijų ten.
Antras scenarijus sako, prislopintas iki nulio.
Pastebėsite, kad jis taip pat oranžinė, tai kas Scratch yra spalvos
blokų tą patį atspalvį, jei tai tarsi
logiškai susiję.
Taigi lygiai taip pat nutildytas iki viršaus buvo oranžinė, todėl čia apačioje yra išjungtas
minima apelsinų bloko.
Bet tai yra kintamųjų priskyrimai, tad tiesiog patinka
algebra, jūs turite x ir y ir z, programavimo turite
kintamieji, bet jie paprastai -
tegul sustoti akimirkai ir skaičius kaip
sustabdyti šį loti.
Kaip man tai padaryti?
[SEAL BARK]
Davidas Malan: Gerai.
Jis sustojo. Gerai.
>> Taigi, tiesiog, kaip algebra turite kintamieji x, y ir z, bet
programavimas, kintamuosius kaip x, y ir z yra
frowned, nes jie ne visi išraiškingas.
Jie turi visiškai jokios semantinės reikšmės, todėl labiausiai
programavimo kalbos, kintamieji gali būti visiškai
orumu pavadinimai ar žodžius ar frazes, kaip išjungtas, pasakyti
ką jie daro.
Taigi šis antrasis scenarijus taip pat buvo klausytis amžinai, ir jis sakė,
jei raktas, klaviatūros klavišą Erdvė,
nuspaustas, klaustuko.
Taigi čia Būlio išraiškos sąlyga, kad tai,
teisingai atsakyti į klausimą, ar klaidinga,
tada aš turiu viduje ji, jei paspaudžiamas ir tarpo klavišą
JEI nutildytas yra nulis, nutildytas į vieną, DAR nustatyti prislopintas iki nulio.
Taigi tai Fork in the Road, pranešimas, kaip aš
įdėtos dvi, jei laikomasi sąlygų, yra būdas patikrinti
Tarpo klavišas paspaustas, nes jei taip, aš arba nori eiti
būdu arba, kad taip.
Ir kaip man jį apverskite nutildytas vertę?
Aš turiu patikrinti, tai nulis?
Jei taip, tai vienas, kitas, kad ji nuo nulio iki Todėl perjungti
jo dviejų valstybių.
>> Viskas gerai, todėl mes turime tada kai kurie iš šių pagrindinių
konstruktai.
Mes turime Būlio išraiškos, ir realizuoti, taip pat, tai yra
ne visi, kad nepažįstamas.
Tiesą sakant, čia pateikiama tik trumpa ekrano Harvardo kursas CS50
prekybos įrankis, ir nors ten svetainė, kuri turi žymės langelius
ir lašas nesėkmės tikrai, visą šį laiką buvo naudojant
Būlio išraiškos.
Šiuo atveju čia, jei paspausite langelį šalia
kursas didesnis nei arba lygus 4,5, arba tos pačios šalia
fakultetas, jūs nurodant Būlio išraiška.
Parodyk man kursus, kurios išraiška yra teisinga.
Arba į dešinę, neprieštarauja su kursų aš
atsižvelgiant, jei tai patikrinti, tada taip, jūs norite patikrinti
ši sąlyga dar norite jį ignoruoti.
Taigi Būlio išraiškos tarsi visi aplink, bet kai
mes juos sąlygomis, ar, jei laikomasi sąlygų, JEI
Elses, arba mes galime net imituoti giliau
lygius, IF ELSE IF ELSE -
taip, kad tarsi iš trijų komponentų būklę.
Galite eiti šiuo keliu, arba tokiu būdu, arba tokiu būdu.
Mes galime išlaikyti lizdus dalykų eiti skirtingomis kryptimis.
>> Taigi Scratch turi šias kilpas, kaip amžinai.
Ji yra šios funkcijos, pavyzdžiui, Kartoti 10
baigtinių skaičių kartų.
Mes turime galimybę nustatyti kintamuosius, todėl šiuo atveju
Aš, pavyzdžiui, paskelbė kintamasis vadinamas kojines.
Aš inicializuoti 0, o tai dar kita kryptimi
mes galėjome čia su Juozapu, o gal
tiesiog sekti kiek kojinės Turiu ir nutraukti
programą, kai tas kintamo dydžio vertė yra 2.
Tai būtų kitas rūšiuoti būdas apibendrinant, kad
problema ir daro kažką vėl ir vėl.
Gerai, eikime į priekį ir dabar pristatyti keletą naujų dalykų.
Taigi, tiems iš jūsų, apie tai iš anksto programavimo patirtis bus
žinau, kad daug kalbų turi masyvų, ar vektorių arba
sąrašus, ir iš tiesų, scratch turi kažką panašaus į tai, taip pat.
Taigi pažiūrėkime, jei mes negalime imtis ko čia į kitą lygį.
Jei turiu galimybę, dabar šių įspūdį
pridėti ką nors, pavyzdžiui, žodžio ar skaičiaus kintamojo, galiu
pradėti kaupti dalykus.
Ir iš tikrųjų tai yra gana Savalaikis dalykų, pavyzdžiui, žaidimų,
Vaidmenų žaidimai, kur jūs natūra vaikščioti aplink
kai fantazijų pasaulis, rinkti daiktų, skinti dalykų,
uždirbti taškų, ar pan.
Jūs galbūt norėsite sekti kažkokio inventoriaus ir
Iš tiesų, tai, ką vienas iš mūsų buvusių studentų
kažkas vadinamas Fruitcraft RPG.
>> Taigi leiskite man eiti į priekį ir atverti tai, ką čia ir
Fruitcraft, mes turime šį pasaulį, viršuje.
Taigi, leiskite man eiti į priekį ir spustelėkite žalią vėliavą.
Pranešimas viršutiniame kairiajame kampe yra kažkoks inventoriaus.
Tai įgyvendinama tai, ką mes vadiname masyvo arba nulio
sąrašą, ir dabar mes turime tai mažai animaciją.
Taigi, tiesiog, kaip mes pradėjome anksčiau su šiuo slapuku, meilės istorija,
ir tada mes Išplėstinė kačių ir jūrų liūtai, dabar mes galime turėti
dalykų, kurie yra dar daugiau interaktyvių.
Ir tai mažai mėlyna vaikinas, aš galiu pradėti judėti jo
mažai namų čia.
Todėl atrodo, kad jis gavo išėjimą žemyn čia, todėl aš naudoju
strėlės raktai, žemyn, į kairę dešinę.
Ir dabar aš ne, todėl tegul, ką turiu čia.
Atrodo kaip apelsinas, ir iš tikrųjų, kaip tik aš paliesti
oranžinė, jis bus plopped į savo inventoriuje.
Jei aš einu čia vyšnių, dabar turiu ką nors
kiti mano inventoriuje.
Ir tai yra gražus ir mielas, bet galvoti, kaip, dabar, tai
įgyvendinimą.
Na, mes turime šį sąrašą sąvoką, ir tai, matyt,
dėlionės gabalas, kad jūs tiesiog pasakyti, ką norite įtraukti į ją, pridėti
oranžinė, pridėti vyšnių.
Dabar, kas yra ši mėlyna vaikinas daro?
Na, jis Sprite.
Ir, matyt, oranžinės ir vyšnios -
jie patys buvo atskiri animacinius.
Ir naudojant Būlio išraiškos sąlygas, ir
studentas buvo tikriausiai galėtų reikšti, jei vaikinas yra
neliesti vyšnios tada pridėti žodį vyšnios, į jo
inventorizacija, ir tada taip pat paslėpti vyšnių Sprite.
Taigi, po kapotu, ten tikriausiai vis dar yra vyšnia
Sprite.
Mes ką tik pasakė, kad ji taptų nematomas.
>> Dabar, jei aš nuolat vaikščioti per čia, mes taip pat gali tai padaryti
proksimalinė dalykas, kur aš galiu eiti ir perskaityti ženklą.
Taigi, jei mėlyna vaikinas neliesti ženklas, mes galime turėti tai sako bloką
kaip ir katė kalbėjo mums žodžiais, hello, anksčiau, "Got
kai vaisius?
Atnešė jį į vaisių vietą. "Viskas gerai, taip ir dabar, matyt,
Turiu kryptis.
Galiu eiti per čia į vaisių vietoje, Line save
duris.
Dabar aš čia.
Aš galiu eiti, kad žmogus prekystalio.
Jis aptinka, kad aš jam artimi, todėl neturi būti
gana vienodai neliesti, ir aš laimėjo žaidimą.
Taigi mes Fruitcraft RPG.
>> Taigi, mes galime daryti tai, ko dar labiau pažengęs nei.
Mes galime pridėti garsus.
Mes galime pridėti pseudo atsitiktinumą.
Mes galime pridėti sudėtingumą.
Leiskite man eiti į priekį, ir, užuot tai padaryti save,
leiskite man parodyti jums vieną iš sudėtingesnių pateikimo
mes gavome pernai iš tam tikro kažkas pavadino Blake.
Ar mes turime vieną savanorį, kuris yra patogiai rodomas
kamera ir žaisti žaidimą?
Kaip apie teisę ten?
Ateiti iki.
Viskas gerai, todėl žaidimas, kad jūs turite tik nesąmoningai
savanoriškai žaisti -
[Plojimai]
DAVID Malan: - tai kažkas iš pasekėjai vadinami
"Frogger". Koks yra tavo vardas?
Renda: Renda.
Davidas Malan: Redna?
Renda: Tai kaip Brenda su b.
David Malan: Gerai, Renda.
Davidas.
Malonu jus matyti.
>> Taigi čia "Frogger", ir jei galėtume padidinti garsumą tiesiog
šiek tiek, tai mažai
žalia varlė ant dugno.
Galite naudoti kairę, dešinę, aukštyn ir žemyn, ir jūsų tikslas yra
gatvę, kirsti upę, bet ir paliesti lelija trinkelės
viršuje.
AW.
Dar vienas t -
perdaryti, gerai?
Tegul hito stotelė.
Niekas nematė, kad.
[Plojimai]
Davidas Malan: Taip.
Labai gerai padaryta.
Puiku, ačiū.
>> Todėl buvo Frogger. Dabar, kad žinote, ką jūs
Dotarłeś save į, viena labiau Savanoriu skiriasi
žaidimas pateikė kito studento.
Jūs norite ateiti iki?
Koks tavo vardas?
Richard Richard.
Davidas Malan: Richard.
Viskas gerai, Richard, ateiti iki.
[Plojimai]
DAVID Malan: Jūs turite kažką, kad jums skambėti
susipažinęs greičiau, todėl čia yra jūsų instrukcijas.
Taigi vienu metu, kai įspūdį ketinate slinkite aukštyn
, kurie atrodo arba į kairę nuo ekrano
arba į dešinę, aukštyn arba žemyn.
Jūs turite paspausti rodyklių klavišus taip
kad jis atitiktų šių įspūdį, pamušalas su
viršuje rezervuotos vietos.
Taigi, kai pamatysite rodyklę į kairę, ir ji linijos kairiuoju
rodyklę, paspauskite rodyklę į kairę.
Galite pradėti.
[MUZIKA - "stipresnis" KAYNE VAKARŲ]
DAVID Malan: Gerai, didelis audringi plojimai Richard.
[Plojimai]
David Malan: Labai gerai padaryta.
Ačiū.
[Plojimai]
>> DAVID Malan: Taigi, įdomus ir, regis, tarsi
įbauginti, nes ji gali būti įgyvendinti kažką, kaip
iš pažiūros sudėtingas, nes tai, suprantame, kad studentas
nebuvo nustatyti ir tiesiog parašyti tai visi vienu metu.
Priešingai, jūs gali sugriauti kaip iš pažiūros sudėtingos problemos
tai į daug mažesnius gabalus, ir tai taip pat yra
bus tema.
Blogiausia, ką galite padaryti rašyti programą, dauguma bet
kalba yra atsisėsti, gauti tikrai malonu, rašyti
visa damn thing, ir tada tiesiog tikiuosi, kad ji veikia
kartą, kai baigsite rašyti.
Atvirkščiai, programavimo procesas paprastai turėtų
būti labai apgalvotas, labai pasikartojantis, kuriuo jūs tiesiog
nustatyti labai mažus veiksmus sau, kąsnio dydžio gabalėliais
tu nori atsikąsti, ir todėl, kad jūs turite šias normalumas
patikrinimai, mažai įgyvendinimo etapai, Jūs galite susitikti.
Ir tada jūs statyti ant tų, sukurti daugiau
dar sudėtingesnių dalykų.
>> Taigi, pavyzdžiui, kaip mes galime eiti apie
įgyvendinti žaidimą, kaip tai?
Na, tiesą sakant, aš, be abejo, pradėti, tiesiog
remti vieną klavišą vienu metu.
Tegul tik įgyvendinti paramą RODYKLĖ KAIRĖN.
Taigi studentas turėjo kažkaip sukurti Photoshop, arba
Subraižyti, naudojant mažai grafinis redaktorius, baseinas
rodyklės klavišą, kad atrodo, kad viršuje vienas paliko ten, tiesiog
pilka vietos rezervavimo ženklas.
Tada studentas turėjo išsiaiškinti, kas x, y koordinačių
įdėti ją, kur įdėti jį į langą.
0, 0 yra čia, todėl jūs turite suprasti, skaičių
taškų, ar taškų, kompensuoti šią rodyklę iš
ekrano viršuje.
Ir tada, kai tai vietoje, jūsų programa daro ne iš tikrųjų
nieko daryti dar, kad jums tada reikia antrą Sprite
instancija žalia rodyklė, nukreipta į kairę, ir jūs
tada reikia pradėti rašyti kelis scenarijus.
>> Ir pastebite, galbūt, kad šie dalykai pradėjo
skirtingu greičiu, ir spalvų buvo kitoks
vietose, ir tai todėl, kad studentas naudojo tiek
pseudo atsitiktinumas.
Ir pseudo atsitiktinumas, aš tiesiog reiškia, kad pasirinkti numerį
tarp kažką ir kažką, nes galite
pradėti žemėlapyje dalykų, pavyzdžiui, jei skaičius yra nuo vieno iki
penki, gerai, tegul dalykas žalia.
Jei jis yra tarp 6 ir 10, galime padaryti įspūdį
raudona vietoj.
Tol, kol jūs turite kokią nors generavimo būdas
atsitiktinumas, tada gali priimti sprendimus remiantis, kad
atsitiktinumas.
Ir aš nuolat sako pseudo atsitiktinių nes ten yra
šiek tiek purvinas paslaptis.
Kompiuteriai negali sugalvoti atsitiktinių skaičių.
Jie gali tik daryti tai, ką jie pasakė, nes
jie vyras pagamintiems prietaisams.
Jie gali ne tik atspėti, kaip mes, žmonės
jaustis kaip mes galime.
Kompiuteris turi kažką daryti matematinį uzbur
iliuzija matematinę skaičių, kartais panaudojant
Einamoji diena kaip įėjimo į suprasti, ką
numeris grįžti, bet daugiau, kad kitą kartą.
Nes dabar, tiesiog žinau, kad mes galime sukurti pseudo atsitiktinumą.
>> Taigi, kai aš turi rodyklę į kairę, gali pradėti
pasirodo skirtingu laiku ir skirtingu greičiu, tada
Galiu grįžti ir pridėti šiek tiek iš jų, jei laikomasi sąlygų.
JEI tai Sprite liečia kitas, ir rodyklę į kairę
raktas buvo spaudžiamas -
todėl trys sąlygos tokiu atveju.
Galiu naudoti, kad ir blokuoti ko gero, šiuo atveju -
Tada aš noriu eiti į priekį ir prieaugio rezultatas.
Ir viršuje, mes turime rezultatą, turime Nuostabu,
Cool, gerai, ir Bū.
Taigi čia matyt penki kintamieji, kad šis studentas
naudojamas sekti šių įvairių Metrika.
Taigi trumpai tariant, galutinis rezultatas yra nuostabi.
Tai smagu, tai smagu žaisti, jis patrauklus, tačiau tai nėra
jei studentas prasidėjo.
Jis ar ji pradėjo daug mažesniu žingsnių.
>> Taigi, kas yra kai kurių kitų statybinių blokų, kad mes galime
atausti šių programų?
Na, ten tai kitas reiškinys daugeliu kalbų,
Subraižyti tarp jų, žinomas kaip siūlų.
Taigi, kompiuteris gali iš tikrųjų ne tikrai kelis dalykus
laikas, bent jau ne paprastai.
Veikiau kompiuteris paprastai turi tik vieną procesorių, ir net
nors kompiuteriai yra super greitai, todėl gali
sukurti iliuziją daryti daug dalykų vienu metu -
tikrinti savo elektroninį paštą, gauti trumpąją
pranešimą, išspausdinti dokumentą -
tikrai, kompiuteris tiesiog šokinėja spausdinimas IMing
elektroniniu paštu, atgal ir pirmyn ir atgal ir pirmyn taip greitai, kad mes
lėtai šmaikščiosios žmonės tiesiog nesupranta, kad tai iš tikrųjų
šiek tiek veikia tų programų vienu metu.
Dabar, tai tiek baltas melas šių dienų, nes šiandien,
daugelis mūsų kompiuteriai yra tai, kas vadinama multi-core, todėl jūs
vieną procesorių, bet daug branduolių, kuris yra natūra, kaip
daugelio procesorių.
>> Ir todėl kartais, kompiuteriai gali tikrai padaryti daug dalykų,
metu, bet paprastai pagal programą, programos
priklauso nuo šių dalykų, vadinamų temas.
Todėl siūlas yra tarsi miniatiūriniai programa, kuri gali
šalia kito miniatiūrinio programos egzistuoja ir gali veikti
tuo pačiu metu, arba bent jau gali veikti pagal iliuzija, kad
jie veikia vienu metu.
Taigi, įbrėžimams palaiko šiuos dalykus, vadinamas temas.
Jūs galite turėti kelis scenarijus, vykdyti vienu metu, kaip mes
su jūrų liūtas, o tai leidžia mums, kad iš tikrųjų
Tada sąveiką tarp šių animacinius.
Leiskite man eiti į priekį ir atsigriebti, tarkim, temas ir
žaisti šį taip.
Mes turime du animacinius, kurių kiekvienas mes pamatysime
turi tik vieną scenarijų.
Ir pastebite, atrodo, kad kai kurie žvalgybos
katė šį vieną, nes jis artėja -
[Sprogimo]
David Malan: - arčiau Little Bird.
>> Taigi, kaip paukštis operacinė?
Na, tegul bent paukščio išvaizdą.
Sakė paukštis scenarijus, kai žalia vėliava paspaudėte, eikite į x
lygus neigiamas 115 ir y lygus 150.
Taigi aš tiesiog suprato, atsitiktinių vietą, kur norėjau
paukštis pradėti, ir aš tiesiog plopped jį ten pagal nutylėjimą.
Tada amžinai, jei ne neliesdami katė, todėl tai yra kitoks
rūšies apsisukimo statyti, bet tą pačią idėją, tai padaryti ir vėl
vėl ir vėl.
Taip ilgai, kaip jūs neliečia katė, perkelti tris žingsnius, o
jei esate kraštas, Bounce, kur jis yra tarsi
atspindys biliardo prasme.
Štai kaip paukštis juda rūšies
atrodytų, atsitiktinai, bet tai tik todėl, kad atspindinčių nuo
šiuo atveju sienos.
>> Dabar katė, tuo tarpu, yra natūra dėl sukčiavimo.
Katė, kai paspaudėte žalia vėliava, taip, prasideda
kai vieta, atsitiktinė vieta -
bent jau iš dalies, kaip už PICK
atsitiktinis žalia blokas yra
ir tada amžinai, jei liečiant paukštį, žaisti liūtas garsą,
ir tada sustabdyti scenarijų.
Taigi, kai aš sakė nutraukti, arba išeiti anksčiau, dėlionės
gabalas nulio, kad bus tiesiog nužudyti tuo programą
punktas, nes tai tipo logiškai padaryta.
Bet kitaip, čia, pastebėti, kas nutiks.
Point link paukščio ir judėti vienas žingsnis.
Taigi, šis taškas yra link paukščio rūšies pranašumo katė
yra tuo, kad tai dažniais ant judančiosios paukščių, ir mes galime
Dabar ši programa įdomiau.
O ne perkelti vieną žingsnį už procesoriaus ciklo metu, už
streikuoti nelaimingų varpas, taip sakant, leiskite man eiti į priekį ir
perkelti, tarkim, penkis žingsnius vienu metu, kaip katė.
Spustelėkite Vykdyti, o dabar jis tikrai suranda jį greitai.
Jei mes du kartus tai 10 veiksmų, kad tipo eina
skirta jam.
Dabar, mes galime suteikti paukštis,
ko gero, šiek tiek pranašumo.
Eikime paukščio ir pasakyti, o ne juda tris žingsnius,
galime perkelti jį 30 žingsnių.
Bet jis vis tiek pateko į pabaigą.
>> Taigi čia, mes turime dvi temas.
Tai įkalinti nulio su dviem scenarijus ir du
animacinius, bet ir kitomis kalbomis idėja yra ta, kad jūs galite
rašyti, iš esmės, per daug programų, pavyzdžiui, tai ir turi
juos paleisti tikrai, ar imaginarily, tuo pačiu metu.
>> Dabar ten taip pat ši koncepcija programavimo žinomas kaip
įvykiai, ir tai yra kažkas, mes negalime pamatyti C,
kalba žinomas kaip C. Pamatysime jį į semestrą pabaigos
web programavimas, kai mes įdiegti "JavaScript" ir
sąvoka kuriant tinklalapius, kurios yra dinamiškos ir bendrauti
su vartotojais.
Taigi šiuo atveju, mes turime labai paprastą pavyzdį dviejų
animacinius, berniukas ir mergaitė, kurių kiekvienas turi savo atitinkamas
temas, bet kažkaip šie du yra tarpusavyje bendrauti būdu
kažką vadinama įvykių.
Taigi leiskite man eiti į priekį ir priartinti berniuko scenarijų,
kuris atrodo taip.
Kai žalia vėliava paspaudėte, amžinai atlikite šiuos veiksmus.
Jei raktas Erdvė, arba tarpo klavišą, yra paspaustas, tarkim
Marco dvi sekundes, tai tik estetinis dėl
ekranas, mažai kalba burbulas, bet tada transliuoti.
>> Taigi transliacijos yra kita įbrėžimams, kad gabalas
funkcionalumo programavimo klasės atstovas
, kuri leidžia įvairias programas, skirtingų gijų,
tarpusavyje bendrauti, kažkaip siųsti
pranešimai, viena kitą.
Perdavimai popieriaus lapą klasėje yra tarsi mažo technologijų
atitikmuo.
Taigi transliuoti renginį.
Galiu siųsti šį pranešimą, o žodis "renginys
yra visiškai savavališkas.
Įbrėžimams kartais turi šiuos išskleidžiamuosius meniu, todėl aš tiesiog atėjo
su atsitiktiniu atveju žodis nėra kaip, nes dabar, ką berniukas veikia
kai aš paspauskite mygtuką jis transliuoja šį įvykį.
Ir jei aš žiūriu dabar mergaitės scenarijų, jos scenarijus yra
super paprasta, nes viskas, ką ji turi daryti, veikti, kai
žalia vėliava paspaudėte.
Ji yra skirta veiksmų, kai ji gauna pasiūlymą, citatos pabaiga,
"Įvykis", ir tuo momentu, ji klausytis todėl
vadinamasis renginys vėl ir vėl.
Karto, kai ji gauna šį įvykį, ji ketina šaukti
Polo dvi sekundes.
>> Ir todėl jūs galite galbūt numanyti iš šios būtent tai, ko
Kitas rezultatas bus.
Let me paspauskite žalią vėliavą.
Nieko neįvyksta, nes man reikia daryti tai, ką?
Auditorija: Tarpo klavišas.
DAVID Malan: Tarpo klavišas.
Berniukas sako Marko, mergina sako Polo.
Bet tai ne sunkiai koduojami per se.
Kad tarpusavio bendravimas tarp scenarijų, todėl dabar mes
turėti galimybę, kad dar labiau kompleksines programas, kuriose
Šie du yra kažkaip tarpusavyje bendrauti.
>> Taigi kryptys mes į tai?
Na, problemą, 0, tikrai, tikslas yra
smagiai su nulio.
Hacker leidimas, o ne jūs smagiai daugiau
sudėtingas versija nulio, vadinama BYOB, Build
Your Own blokų, tačiau idėja yra ta pati.
Galėsite
Taip, tai buvo tyčinis.
Jis atėjo iš Berkeley.
BYOB įsilaužėlis leidimas versija, tačiau abu
demografijos, Standard Edition ir kompiuterinių įsilaužimų leidimas panašūs,
tikslas po ranka ateinančią savaitę tikrai tik pasinerti į
gilus, gauti savo rankas purvinas su programavimu, ir kad
kažką įdomaus, kažkas interaktyvus,
kažkas meno, padaryti ką nors įdomus, kad iš tikrųjų
įrodyti, kad iki savaitės pabaigos, jūs turite projektą,
ne tik savo pirmąjį CS50 pset, bet jums turi
šiek tiek kažkas, kad jūs galite parodyti Annenberg į
draugai ar net šeimą, įkelti jį į MIT svetainėje.
Ir todėl, kaip sakiau, trečiadienį, mes tikimės, kad 90% klasės,
apskritai, daryti Standard Edition.
Suprantu, kad ten taip pat tai tiems iš jūsų, lizdas, kuris
kitaip gali rasti sau šiek tiek nuobodu su pagrindai
ir tikrai nori pasinerti ir amatų viziją jūs jau
gavus išankstinį fone tai patogesnė
aplinka.
>> Taigi leiskite man traukti vieną kitą pavyzdį, kad vienas iš mūsų buvęs
studentai čia buvo ir pasakyti šiek tiek kažką per daina.
Kad panašiai, kaip tai atlieka, pagalvokite apie tai, kaip tu apie
Įgyvendinant šią programą, naudojant tiksliai tuos pačius
statybiniai blokai, šiek tiek pseudo atsitiktinumas, ir
tiek pažįstama daina.
Jei mes galime tik šiek tiek padidinti Volume?
[MUZIKA - "lyja Men" The Weather Girls]
>> David Malan: Štai jis CS50.
Pamatysiu jus pirmadienį.
[Plojimai]