[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. 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] [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]