>> ZVUČNI: Ja sam [nečujno].
I ja sam viši na Leverett House.
Studiram računalne znanosti, i ja sam za TF CS50.
Kao brucoš, nisam čak ni prijenosno računalo ili smartphone.
Nisam imao iskustva u programiranju.
CS50 bio najupečatljiviji tečaj koji Uzeo sam na Harvardu, jer je to
borba, ali to je stvarno zabava borba u isto vrijeme.
I ja sam napravio puno nevjerojatna, trajna prijatelji, a ja sam naučila puno stvarno
primjenjiva znanja.
Tako sam sretna što nisam dopustio da moja nedostatak pozadini biti izgovor za mene
Ne uzimajte CS50.
Ja sam [nečujno].
Ja sam viši u Leverett Kuća, klasa 2014.
I sam uzeo CS50.
>> DAVID Malan: Dakle, ovo je CS50.
Ovo je kraj tjedna nule.
I sjetiti gdje smo počeli u posljednje vrijeme, bio s ovih svjetiljki, koje su bile
toliko popularna da smo otišli i kupio još i danas.
Tako da mislim da će to biti naša stvar ove godine -
stolne lampe, ako ste došli na pozornicu, barem dok ne ponestane.
>> Ali mi se ove opoziv, uvesti osnove zastupanja podataka.
Trebali smo način za početak predstavlja o unutar računala.
I najjednostavniji način za to je uz jedan sastojak, struja.
I najjednostavnija stvar koju možete učiniti s Struja je da ga na i off.
Neka se elektroni tijek ili ne.
I pomoću ta dva temeljna stanja, off i, ili lažno i istinito, ili nulu i
jedan, počeli smo vidjeli da smo mogli izgraditi se, u ovom slučaju, s obzirom
lukovice, više brojeva nego Samo nula i jedan.
Računali smo kao visok kao sedam, Primjerice, posljednji put.
No, sve što morate učiniti je držati bacajući sve više i više svjetla žarulje na koji
problem i, zapravo, možemo zastupati bilo koji broj da mi
Možda eventualno žele.
>> Pa, mi prebačen brzo tada Srijeda ovom bajtu volontera.
8 bita je ono što mi općenito zovemo Bajt, pa ovdje smo imali osam volontera
u srijedu, koji su zajedno bili predstavlja osam bitova.
A kad im ruke otišao gore, oni su jedna.
A kad im ruke bile dolje, tu su nula.
I imali smo ove ljude došao na pozornicu zašto?
Ono što smo u stanju učiniti s Ovaj slijed bitova?
>> Za stvaranje abecedu.
Mi smo bili u stanju izgraditi na vrhu toga prethodna pouka i zapravo
početi da bi zanimljivije Informacije koje je barem više
upoznati s nama ljudima.
A to će biti ponavljajući Tema tijekom 50 godina, ali i računala
Znanost općenito, ova ideja raslojavanje, gdje je, na kraju
dan, ako doista počeo Osnove s računalom, da,
to nule i jedinice.
A ispod toga je samo struja.
No, vrlo brzo ćemo početi da se onima niska razina detalja za odobrena
i početi sloj na vrhu prošlosti radio učiniti kako bismo, u konačnici, prema
kraj nastave i, zapravo, općenito, kao računalnih znanstvenika
i programeri, mogu napraviti neki stvarno Snažne stvari utjecati rad
da smo mi sami učinili i stoji na ramenima druge.
>> Sada smo vrlo brzo prebačen u srijedu iz samo trebaju
predstavljaju informacije pod utjecajem nešto učiniti s njom.
Što smo definirali kao algoritam?
Niz uputa.
Dakle, to je niz uputa, broj koraka koje vas, ljudskih, ili
Računalo, više bi u pravilu izvršiti jedan za drugim kako bi
postići neki cilj.
I mi smo imali nekoliko Golovi posljednji put, od kojih je jedan bio brojati
ljudi u sobi.
I još jedan takav primjer je pronaći Mike Smith u telefonskom imeniku.
>> Pa što vam je poznato da je sam poderao telefon Knjiga na pola prema ovom kraju se
pronalaženje Mike Smith.
Svrha tog vizualne bio pokazuju, opet, da smo bili
doslovno cijepa ovaj problem u polovice, na pola, na pola, i vrlo
brzo ide od 1.000 stranica poput na samo jednu jednoj stranici.
Oni od vas koji su propustili ovaj na Srijeda, mislio sam da bih reproducirati
neke snimke što ste propustili.
Idemo pogledati.
>> [Video reprodukciju]
>> -Ovdje smo.
1500 stranica, Nice čista linija, legitimna suza.
>> [END video reprodukciju]
>> DAVID Malan: Znači da je bila srijeda.
Mi tranzicija, međutim, u srijedu sada da želi da predstavljaju algoritme
na neki način pomalo standardnom, ne samo opisujući ih verbalno, ali
pokušavajući ih izraziti u pisanom obliku ili na zaslonu računala, tako da smo mogli
početi poboljšati i mijenjati ih, i, na kraju, zapravo
analizirati koliko su točne ili kako se brzo bilo.
>> Tako smo uveli taj pojam od pseudocode, koji u
Laički rečeno, je ono?
OK, riječi.
Idemo malo dublje od toga.
Engleski, sigurni, ali su prema kojim ciljem?
Riječi s kojima se stvaraju ili za zastupanje algoritme.
Dakle, ne postoji jedan jezik poznat kao pseudocode u svijetu.
To je samo da li, na engleskom jeziku, ili bez obzira na govorni jezik, koristite
vrsta letimičan zapis prenijeti Ideja je vrlo jezgrovito.
No, vidjet ćemo da je, svakako uz Engleski pseudocode, a ispada
većina programski jezici sami su derivat engleskom sama,
mi ćemo naći da postoji neki standardni načini i predstavlja pseudocode
Također programskog koda.
Dakle, kao što počnete vidjeti čak i najjednostavniji primjeri danas, shvatite to
Isti obrasci će se ponoviti sljedeći tjedan.
>> Dakle pseudocode bio nekakav jezika nalik
programski jezik.
I prvi primjer vidjeli smo vizualno zapisano je ovaj jedan.
To je bio samo tri koraka programa, Cilj koji je brojati
ljudi u sobi u studentskom domu za Video koji je u srijedu.
No, bilo je nekoliko zanimljivih aspekata ovog programa najjednostavnije.
>> I to će biti povezana pitanja.
Dakle, za one koji nisu upoznati s ovaj, jedan, uveli smo varijablu.
I vjerojatno svi u ovoj sobi je upoznati s varijabla u
kontekst algebre.
Ali ovdje u programiranju, varijable su, jedan, može biti
pozvao sve što želimo.
Mi smo bili pomoću n kao brojač.
No, mogli bismo koristiti brojač riječi, odnosno, kao što ćete vidjeti, većina bilo koji izraz koji
možda bih tako dugo dok je opisno, ali to je zapravo samo
skladištenja kontejnera.
To je komad memorije, neki broj bita, i to varira od računala, kako
mnogi komadići tamo su da sastaviti tu varijablu.
>> No, možemo staviti vrijednosti u njemu.
Do sada smo samo sam staviti brojeve.
No, možemo staviti stvarne riječi.
Možemo staviti paragrafa.
Možemo staviti slike -
ništa, zapravo, možemo predstavljati s nule i jedinice, možemo staviti u
Viša razina pojam varijable.
>> Dakle, prilično ravno naprijed postoji.
I to je jedna linija.
No, vrlo brzo smo se preselili od linije jedan zapravo učiniti
nešto s tom varijablom.
I u skladu tri, mi ažurirani N. Mi porastao N. I mi mogao napisati ovo
bilo koji broj načina.
No, možda najočitiji je Samo da kažem, postavili N jednaka
N god je plus 1.
Dakle, to je bio naš prirast.
>> U međuvremenu, došlo je petlje.
A ova je također, vjerojatno prilično intuitivno.
Petlja je samo nešto na programu se to dogodi opet i opet, neki
vrsta ciklusa.
A to ključni izraz ovdje, za svaku je zapravo vrlo česta tijekom većeg
programski jezici, uključujući one vidjet ćemo u tijeku.
Bilo kad vidite riječ, to obično podrazumijeva da
petlje, nešto ciklički, je da se dogoditi.
>> Ali, to je vrijedno napomenuti jednu druga sintaktička detalja.
Činjenica da je treći redak postoji zapravo uvlačiti što hit
Space bar nekoliko puta je namjerno.
Jer ljudska konvencija je takav da kada radite nešto i opet
opet, u petlju, kao započeo na liniji dva, što alineje ništa što je pripadalo
u tu petlju samo da bi jasno da to je linija tri, a ne, primjerice,
line četiri ili pet, ako su linije za ili pet, koje su
dio tog petlje.
Dakle, ovo jednostavno udubljenje prenosi da je osnovna ideja.
>> Tako ćemo primijeniti ovaj algoritam, Sada, s nekoliko primjera.
A to je, također, jednostavan primjer u stvarnom svijetu.
No, to će biti predstavnik kako bi se o provjeri svojih
Posjedujemo sve složenije programe.
Možete pokušati nekoliko scenarija, od kojih neke predstavnici ulaza, i vidjeti ako možete
dobili željene izlaze.
>> Dakle, ovaj primjer je dvoje ljudi sjedi u sobi u studentskom domu.
Na lijevoj strani nalazi isti pseudo kod.
A to je zaslon metak od vrlo Posljednji korak u primjeni ove
Algoritam na one ulaze, tamo gdje bile dvije osobe u sobi i,
Podsjetimo, kako smo korak do jedne linije, i dva, tri, i dva
i tri i učinio -
do kraja tog algoritma, imali smo Doista odbrojavao dva momka koji su
u sobi.
>> Pa onda smo pokušali još jedan primjer.
I mi rekao što ako postoje nula ljudi u sobi?
Je li ovaj broj još uvijek točna?
I doista je bilo.
To samo tako dogodi da dvije linije i, dakle, linija tri ili
neće izvršiti.
Neće se dogoditi na sve jer oni jednostavno ne primjenjuju ako se
postoji nula ljudi u sobi.
>> No, nije ništa strašno.
Line jedan inicijalizirati N nuli, pa iako je samo jedna linija ove
Program zapravo završi kao korisna, to još uvijek daje točan odgovor, kao
označeno narančasto nulu na dnu.
Ali onda smo odlučili da je vrsta glupog algoritma.
To je prilično sporo.
Sigurno, ja mogu napraviti dvije, četiri, šest, osam, deset, kad je
računajući ljude u prostoriji.
>> Tako smo praćka algoritam, pseudocode, reći, sada u liniji dva,
za svaki par ljudi u prostoriji, nastaviti, u skladu tri, prirast
u po dva na svakoj iteraciji.
Tako da bi radio ovdje ovaj par osoba u sobi.
>> Ali onda, ako počnete razmišljati o to, i to ne potrajati dugo da
shvatite, čekaj malo to je polomiti, razbija
, na što jednostavan slučaj?
Ako postoji troje ljudi u sobi ili, općenito, kada postoji
neparan broj ljudi u soba, uključujući i jedan.
Mi bi propustiti tu osobu jer ovdje nema takvih parova.
Dakle, brzo smo se obratili, umjesto uvođenjem što dodatne
programiranje konstrukata u pseudo kod.
>> Dakle uvjet, nazvali smo to, ili grana.
A to je značilo prenijeti, vizualno, Ideja o grani, na raskrižje
gdje se može učiniti ili, možda, nešto drugo.
I doista, možemo riješiti taj problem dodavanjem linije 4, govoreći, zaista, na
samom kraju, ako jedna osoba ostaje, onda ići naprijed i brojati bili posebni.
Znači li kakvu vrstu posebnog slučaju ih, tako da govoriti, tako da sada možemo nositi
i čak broj ljudi i neparan broj ljudi.
>> Sada postoje bilo koji broj načina mogli smo to izrazio.
I iskreno, mogao sam biti još više NIT izbirljiva kada je došao u moj izbor
Engleski za pseudocode.
Ali barem duh Ideja je prenio.
Ako predao ovaj kod prijatelju tko nije u CS, ili je ne uzimaju
CS, izgledi su oni mogli shvatiti, dao tri osobe u sobi, kako
računati one ljude na temelju Na ovim uputama.
I to je sve što stvarno želimo postići s pseudocode, nekako
standardizirati kako ćemo o tome zastupaju ideje, tako da možemo
početi raditi kompliciranije stvar još uvijek.
>> Dakle, to nas vodi tada, i danas, do stvarnog koda.
Počinjemo programa danas, iako u prijateljskom okruženju.
A onda smo prijelaz vrlo brzo više kompliciranih sintakse, ali onaj koji
vidjet ćete je u osnovi isti kao i ideje će vidjeti očituje
ovaj drugi jezik danas.
To samo ide gledati malo drugačiji.
>> Dakle, umjesto da samo nazovite ovaj broj, ja sam će biti malo precizniji
i reći, odsad, prilikom pisanja Program, pišeš izvorni kod.
To je vrsta kao što pseudocode.
No, vidjet ćemo da to nije vrsta slobodi kada je riječ o odabiru riječi
koju koristite.
Prilikom programiranja u jeziku, imate koristiti riječi, fraze,
sintakse, koje drugi ljudi Odlučio predstavljaju
da određeni jezik.
Dakle pseudocodes je do vas.
Stvarni programski jezik kao C, kao što smo na kraju ćete vidjeti,
standardiziran od strane drugih ljudi.
>> Pa kako ćemo ići o pisanju Neki source koda?
Pa ja ću otići naprijed i učiniti.
Ja ću ići naprijed i otvoriti prozor ovdje.
Više o ovoj sljedeći tjedan.
No, to je uređaj nazvan CS50 aparata.
Bježim komad softvera na mom Mac, iako možete učiniti istu stvar
na Windows računalo, koje se daje ja iluzija prikazuju različita
operativni sustav uopce pravo Ovdje u prozoru na mom Macu.
Ja sam samo puna ga prikazivali tako da ne zapravo vidjeti Mac OS upravo sada.
>> To je operativni sustav zove Linux.
To je vrlo popularan.
To je vrlo brzo.
Vrlo je besplatno, što je to vrlo uvjerljiv, osobito u
komercijalnom svijetu.
A više o tome pri kraju semestar kad smo koristiti Linux vrlo malo
za web programiranje i hosting stvarne web stranice i projekte.
Tako sada, samo znam da je to desktop koji je značilo da izgleda nejasno
upoznati s Windows i Mac OS.
To samo ima neke različite nazive i ikone za stvari.
No, to je tzv CS50 aparata, virtualni stroj koji,
počinje sljedeći tjedan, vi ćete pokrenuti unutar jednog prozora na
svoj Mac ili PC.
>> Za danas, idem otvoriti Najjednostavniji programa.
To se zove gedit.
A to je samo grafički urednik.
To je vrsta kao što su Microsoft Riječ, ali jednostavnije.
To je vrsta, poput teksta uredi ili notepad.
To je samo vrlo jednostavan program s što pisati riječi na zaslonu.
To samo tako što će se dogoditi da, ako bih mogao spasiti datoteke koje se stvaraju kad sam ovaj program
u posebnim nastavkom poput. st., umjesto mjesta. doc, ili. xls, ili što god
što ti je poznato, ja zapravo mogu izraditi programe i pomoću ove jednostavne
tekst editor.
>> Pa neka mi to učiniti.
Dopustite mi da ide naprijed i spasiti ovu podnijeti prvo kao hello.c.
A opet, to će se korisničko sučelje upoznati se s vama brzo.
Ali za sada, ja sam samo tipkati u nazivu datoteke.
Ja ću ga spremiti u moj Ivana Harvard home direktorij.
I sada imam ovu karticu koja označava I doista sam uređivanja
file zove hello.c.
Dakle, ništa previše zanimljivo još.
>> I sada će se dobiti prilično zagonetan.
Idem za povećavanje, jednostavno tako da je više vidljiv.
A ja ću početi tipkati uključuju stdio.h, int main, void, otvoren kovrčava
Brace, jedan, dva, tri, četiri mjesta razvedenosti, print f, za tisak
nešto formatiran, citat završen citat, "Hello, world" backslash, n, u blizini
citat, zatvorena zagrada, zarez, unesite povratnu, backspace, backspace,
backspace, zatvorena kovrčavu braće -
Ja sam programiran.
>> U redu tako da je ovo super jednostavno Program, doista, program koji
tko započinje programiranje s.
I sve to ipak, za svoj njegovoj složenosti, se ispisati na
screen, pogodite što?
Pozdrav svijetu.
Ali to nije dovoljna samo napisati program.
Tako je to kod.
To je izvorni kod u jezik zove c.
On je spasio trenutno u file zove hello.c.
>> Sada pogled na dnu na zaslonu ovdje.
Više o tome, opet, u narednim tjednima.
Ali to je ono što ćemo nazvati Terminal prozor.
To je trepće, crna i bijele brz.
To je neka vrsta stare škole sučelje za računalo koje uglavnom ne
koristiti miša ili neki drugi grafički elementi.
Ona koristi samo tipkovnicu.
I ja mogu upisati naredbe na ovo treperi redak.
>> I za današnje potrebe, ja sam samo će se upisati sljedeći -
bi pozdravio.
A taj program, da, samo je program koji, u stvarnom svijetu tim
dana, što bi dvaput kliknuti na.
No, u ovom sučelje za danas, mi smo će se upisati svoje ime na taj zahtjev.
Pozdrav bi doslovno ide na da mi program pod nazivom Hello.
I to će učiniti tako da gleda neku datoteku, samo
zadana, zove hello.c.
To će preuzeti Želim C program po prirodi kako ovo računalo
konfiguriran.
>> Tako sam ići naprijed i pogodak ulaziti.
Vidim neki grobni izlaz, ali to će postati sve previše
upoznati prije dugo.
To se dogodilo pokrenuti prevodilac, više o tome u ovom trenutku, pod nazivom Dong.
Ali sada, ja sam dobio samo jedan treptati zatražiti.
I ja mogu ići naprijed i sada upišite točku slash, za neinteresantni razloga ćemo
vratiti se sljedećeg tjedna -
Pozdrav.
>> Dakle, sve ove napore do sada samo napisati najjednostavnije programa koji,
čim sam pogodio Enter, ne da.
Pa ja sam napisao moj prvi program.
Dakle, ja sam namjerno guranje zabava na ovom vrlo jednostavan program
za nekoliko razloga.
Jedna, to je teško dobiti uzbuđeni o preuzimanju razred ako
ovo je kraj igre.
>> No, više od toga, postoji puno smetnji ovdje.
Prvi put ste saznali za program, za one manje udobno, a
ni ja, natrag u dan, kad sam prvi put vidjela nešto ovako - možete vrsta
od lika koji, u redu, ovaj je u print Pozdrav svijetu.
No, postoji toliko odvlačenje pažnje.
Postoji toliko toga sintakse na zaslonu da dobiva na putu od vrlo
jednostavna, inače jednostavna, ideje.
>> Dakle, što ćemo učiniti danas smo će staviti na stranu C i dolaze
natrag na koje se u ponedjeljak.
I mi ćemo koristiti grafički programski jezik zove Scratch.
To je programski jezik, koji sam aludirao na srijedu, koja će
kako bi nam omogućiti da učinite istu stvar ali zažmiriti, za danas,
u vitičastim zagradama, zagrade, se zarezom, i sve te gluposti
smetnje koje se na putu, u ovaj prvi dan, neke osnovne, lijepa
zanimljive ideje.
>> Dakle, prema tom cilju, ja ću otići natrag na moj radna površina ovamo i
Vas upoznati na alternativu da Program, koji će izgledati
Malo se nešto vidjelo ovo.
To je kako ćemo provesti taj Isti Program danas - dvije puzzle
komada koji, kada se interlocked i kliknuo, reći će u svijetu,
Hello World.
>> Tako ćemo zapravo ići tamo.
Dakle, ja ću ići naprijed i otvorite Web stranica poznat kao scratch.mit.edu.
I to će dovesti do mene ova web stranica ovdje.
U unaprijed, ja sam prijavljena na ovu Web stranica, a prvi problemi koji
će vas provesti kroz Neki od tih koraka.
Ja ću ići naprijed i kliknite na mom ogrebotine mapu ovdje.
>> I ovo će mi pokazati neki projekti koje sam
zapravo stvorili unaprijed.
I ispada da je ova grafička programski jezik ne samo da se ide
neka nam programa tako da povučete i spustivši ove slagalice, što
ni ne trebaju poseban softver.
Sve je ugrađen u pregledniku tako da možete to učiniti, u teoriji, na
vaše računalo upravo sada, kao što neki od vas Moglo bi biti, čak i bez potrebe
softver poput CS50 aparata, koji će se sljedeći tjedan.
>> Pa ću otići do gornjem kutu Ovdje i kliknite na Otvori.
I u trenutku ću doći prazna zaslon preko kojeg mogu početi
programiranje u ovaj grafički Programsko okruženje.
Ali ovaj put, to će biti puno, puno jednostavnije zapravo to učiniti.
Tako je u samo nekoliko trenutaka, kada je Wi-Fi surađuje, sada imamo ovaj zaslon.
Tako brzo verbalni turneje, ali usuđujem se reći, svakako kad zaronite u
Prvi problem set, vi ćete ova sve vrlo
dostupni i prilično intuitivan.
Ali neka se boje mentalnu sliku samo na trenutak.
>> Tako ovaj redak ispod govoreći spremanja mijenja, da ste o vidjeti ogrebotine.
To je Duh.
To je lik.
I on živi na ono što ćemo nazvati pozornice, ovaj veliki bijeli pravokutnik na
koje on može pomicati gore, dolje, lijevo, Dobro, i to, zapravo,
druge vrste akcija.
>> U međuvremenu, u sredini tog korisnika sučelje, imamo cijelu hrpu
slagalice.
I vidjet ćete da oni govore stvari poput: pomicanje 10 koraka, okrenula 15 stupnjeva,
točka u određenom smjeru.
No, tu je kategorija blokovi do ovdje.
Dakle, ako idem na izgleda, vidjet ćete da je Ima drugih slagalice koji
očito da će ovaj drža se pozdraviti, razmišljati, pokazati
Sam, skriti.
Ako idem na zvukove, ispada nema načina da igraju zvuči kao Mijau,
zaustaviti sve zvukove, igrati bubanj.
>> Dakle, ne duljimo, postoji cijeli Hrpa slagalice koji vam omogućuju
ispričati ovu mačku, ili bilo koji broj ostali likovi, što da radim.
No, da bi to sve vam se dogoditi potrebno za početak programiranja.
I ovaj veliki bijeli okvir ili sivi okvir, na desnoj strani, ovo je mjesto gdje
Idem zapravo povući i Bacite komada slagalice.
To je moj prazan tekst Prozor protuvrijednosti.
>> Dakle, ja ću ići naprijed i kliknite Kontrola u sredini.
Odnosno, neka mi početi se pod Događanja.
Pod Događanja klupi, primijetit ćete Nekoliko stvari koje su namjerno
zakrivljena na vrhu na takav način da oni vjerojatno ne interlocka na
Najbolje od slagalice.
A to je zato što Danskoj početka programa, početak
pismom, da se tako izrazim.
Dakle, ako sam ići naprijed i povucite, kada je zeleni Zastava kliknuli ovamo, a onda sam
Želite ova mačka reći nešto što na prvi pogled.
Tako ću ići u izgleda ploči.
I ja ću ići naprijed i zgrabite pozdraviti blok, i povucite i ispustite,
i pustio tako da se automatski blokada postoji.
>> I onda ja mogu primjetiti kliknite na tekst.
I ja mogu nadjačati je da se više specifično kao, recimo, Hello World.
I sada imamo program koji ja tvrdim je ekvivalent da je mnogo više
Program kompliciranih sam provodi u C trenutak prije.
>> Ako idem preko sada na lijevoj strani, primijetiti da je veliki znak stop
i velika zelena zastava.
Dopustite mi povećali za jasnoću.
I kad sam sada kliknite ovaj zelenu zastavu, vjerojatno možete pogoditi što je ovo prvi put
Program će se sada učiniti.
Dakle, postoji, također, da smo programiranja, ali nismo zapravo uzimajući Zatvaranje
U nekim od tih sintaktičke, minute pojedinosti.
>> No, pokušajmo nešto je Malo više zanimljiv.
Pusti me u moj Scratch mapu ovdje.
I zapravo, neka mi pa neka mi se otvaraju Program odvojeni ovdje samo
Trenutak, Povećali ovaj prozor, datoteke otvaraju, i ja idem u današnjem
Izvor katalog.
Kao i uvijek, naći ćete, danas i nadalje, da je sve današnje primjera
dostupni su unutar tečaja web stranicu.
>> I ja ću ići naprijed ovdje i pokupiti do malo nešto drugačije.
Ova ovdje, za koje Treba mi dobrovoljac.
Tko bi htio svjetiljku stol danas?
OK, kako o nekome nešto - jesi li na kraju?
Dođi dolje.
Sad, bi li željeli sudjelovati, ili samo reći početi s stolnu svjetiljku?
>> VANESSA: [nečujno].
>> DAVID Malan: OK.
Sjajan, ono što je ime?
Vanessa?
David.
Drago mi je.
Pa hajde gore i Vanessa ide preuzeti kontrolu nad mojim
Tipkovnica za samo trenutak.
I ono što sam učinio ovdje, samo za time-a sakea, jer sam shvatio
Wi-Fi je malo spor, Scratch, programiranje okruženje koje smo
korištenju, također može preuzeti i izvoditi na vašem lokalnom računalu.
Dakle, ono što sam učinio prije predavanja, u slučaj da se događa, je li skinuti
sve datoteke koje smo o tome da se igraju s tako da oni mogu pokrenuti malo više
Brzo ovdje na moj laptop.
Zato sada vidim Mac-specifično sučelje.
>> Dakle, ja ću ići naprijed i otvoriti ovaj jedan.
Ja ću ići naprijed i sada full screen prozor.
I kao što ćete vidjeti, možemo vrlo brzo, jer to je student, jedna od
vaši prethodnici, idite na Pozdrav svijetu na mnogo mnogo uvjerljiviji
Zahtjev.
Dakle, ovdje su upute.
Oh, i mi imamo jednu drugu stvar.
Mislio sam da će biti zabavno, jer, normalno, mi ćemo se snimao
Kamere na ovaj način.
Mislio sam da će biti zabavno ako se, Vanessa, smo mogli vidjeti svijet
kroz vaše oči.
Dakle, ovdje imamo neke Google Glass.
>> [Zapanjeni bori]
>> DAVID Malan: Mi samo će biti davanje daleko stolne lampe danas.
>> [Smijeh]
>> Pa neka mi fila ovaj gore.
U redu, tako da je ovo dirati.
OK, Staklo, snimanje videa.
U redu, Vanessa?
Sada, kako na stranu da je dobio ništa učiniti s nule, ako pogledate
malo gore i desno, vidjet ćete Doslovno stakla, i trebali
pogledajte malo pravokutni prozor.
Trebali biste vidjeti sve svoje kolege snima upravo sada?
Da.
>> VANESSA: Da.
>> DAVID Malan: OK.
Dakle, to je u redu.
Mi ćemo objaviti ovu snimku kasnije.
Za sada, skrenuti pozornost na zaslonu ovdje.
A što je vaš prethodnik učinio je staviti neke upute na zaslonu
Samo pomoću programa Bojanje.
Tako ćete, u ovom trenutku, pritisnite razmaknicu za početak.
I onda neki slagalice idu se početi kretati prema gore zaslon.
A želite pogoditi tipke sa strelicama, jednostavno kao u stvarnom DDR-a, sukladno
s stvari postrojavanjem s tim strelicama.
>> VANESSA: OK.
>> DAVID Malan: Vi ste igrati ovo prije.
>> VANESSA: Da.
>> DAVID Malan: U redu, Vanessa, ići naprijed i to oduzeti.
>> [MUSIC - Kayne West, "JAČI"]
>> [PLJESAK]
>> DAVID Malan: Pa neka se sada uzeti jedan korak od toga.
Dakle, jasno, to je kraj igre.
Kraj igra nije Hello World.
Ali vi ne morate nužno napraviti stvari koje su toliko interaktivne.
Također možete napraviti animaciju.
Tako, primjerice, jedan od vaših nasljednici su ovaj program ovdje,
koja priča priču više od to ne provodi u igri.
Zato mi dopustite da ići naprijed i otvoriti ovdje Program u našoj istom izvoru imenik
od danas.
To je jedan poziv, i krenimo sa, priča cookie ljubavi.
>> I ne bi to previše akademsko, ali, kao što gledati ovaj jedan, mislim da
koji se od onih jednostavne programiranje koncepti smo razgovarali
o do sada -
varijable, i petlje, i uvjeti, je vaš prethodnik vjerojatno koristiti samo
provesti neke od su vizualizacije.
Možete vidjeti ovdje.
Tako sam vam dati kolačić ljubavnu priču.
>> [MUSIC - Green Day, "ODMOR"]
>> [CRASH]
>> [MUSIC - kornjača, "Sretni zajedno"]
>> DAVID Malan: U redu, tako da, imali smo priču kolačić ljubav.
No, čak i tamo -
>> [PLJESAK]
>> DAVID Malan: U redu, čak i tamo, razmišljati o tome, jer ti otišao iz srca
dna prema vrhu zaslona, Tu je zapravo malo
slučajnost događa.
I doista, vidjet ćemo da je čak iu najjednostavnije okruženjima, kao što su
Ispočetka, kao u C, možete generirati slučajnih brojeva, ili iluziju
slučajnih brojeva, tako da je igra malo zanimljiviji nego što se može
ako bude imao apsolutno Teško kodirane sve.
>> U pokretu, koje vi vidite, postoje postoji neka vrsta reakcije.
Čim licitarsko čovjek dotakne licitarsko žena, ona je
Čini se da se udalje.
I tako, doista, možete provesti na većina programski jezici, pojam
događaja, kojem ako jedna ruka dotakne S druge strane, to može izazvati neke
vašeg izvornog koda na zapravo izvršavanje.
Možete slušati, kao stvari na ekranu.
>> Tako ćemo se brzo turneju, a zatim, od Neki od građevnih blokova možemo koristiti
kako bi se postigla neke od tih ciljeva.
Dakle, evo što ćemo odsad nazovite izjavu.
Izjava se dogoditi da se ljubičasta u Ispočetka, malo nešto ovako,
ali to je proizvoljna.
Izjava je samo dio slagalice ili, općenitije, upute, da
govori računalo učiniti nešto, izjavu.
>> Dakle, ovdje je jednostavan uzorak.
Onda svijet.
Još jedan može se čekati jednu sekundu.
Tako da ovaj puzzle komad, koji je podržan u nule, mi ćemo pustiti svoje
likovi pauzirati za neke broj sekundi.
To, također, je samo izjava.
>> Ovdje pored, imamo još više zanimljivo, igra zvuk meow, a
strelica znači da u nule, ovo je padajući izbornik.
Tako možete uvesti zvukove.
Možete snimati zvukove i učiniti drugima zabavne stvari u nule.
I to, također, iako, na kraju dana, samo izjava.
No, sada ćemo uvesti više zanimljiv komad, da je poznat kao
Boolean izraza.
Capital B, nazvana čovjek po imenu Bool.
>> I logički izraz je samo zagonetka komad ili, općenitije,
podatak da je bilo istina ili laž -
jedan ili nula, da ili ne.
Pa to je samo jedan od onih dvije suprotnosti.
Dakle jedan takav logički izraz u Svijet nule izgleda ovako plava
puzzle komad.
I to je molba pitanje, miš dolje, a to može biti,
Naravno, istina ili laž.
Dakle, s ovim slagalice u nule, dobro, vi ćete biti u mogućnosti to otkriti ako
puzzle ako je miš je, u stvari, biti održava dolje po ljudski razgovarala
sa svojim programom.
>> Ovaj je malo više apstraktno, ali te dvije bijele kutije
su samo za brojeve.
Dakle, što možete učiniti stvari kao što je to broj manji od drugog?
I ako je tako, ispočetka će se ponašati jedan ili drugi način.
Ovaj je malo više grafičkih.
To je, ako sprite, ako je mačka, za instanca, zapravo dira
Pokazivač miša.
Dakle, ako malo strijele lebdi preko mačku, onda je to
zagonetka komad će se ocjenjivati ​​istina.
To će biti istina, u tom slučaju, ako vas koristite ovu Boolean izraza, kao što ćemo
pogledajte u trenutku, u grani, možete bilo to, ili možete to učiniti,
baš kao što je uvjet da ček, postoji još jedna zadnja osoba
u sobi?
Ako je tako, dodajte jednu.
Inače, ne brinite dalje.
>> Dakle, logički izraz također može biti i-ed zajedno ili ili-ed zajedno.
Tako možete kombinirati Boolean izraza i reći to i to mora biti istinito za
Cijela stvar je da bi bilo istinito.
A ovdje je više stvarni svijet primjer.
Ako ste koristili CS50 Tečajevi učiniti tečaj shopping, ovi potvrdni okviri
tamo, gdje se, ako ste provjerili tu kutiju pored na tečajeve, kako će reći, da,
Samo mi pokazati tečajeve za koje P vrijednost je 4.5 ili noviji.
Ako isključite je, ne, ne brinuti o tome.
Ili slično, na desnoj strani, nije li Sukob s tečajevima Uzimam,
to je bilo točno ili netočno.
To je samo izraz u Booleovoj.
Dakle, sve ovo vrijeme, kad ste koristili Web stranice s potvrdnim okvirima, ti si samo
varijantama protuvrijednosti Boolean Izraz na i off.
>> Dakle, u kojem obliku ne koristite ove?
Pa, u nule, vidjet ćemo za koji trenutak da postoje uvjeti da se
izgledati ovako.
I to je vrsta razumni jer velik kao u pseudocode, mi razvedena
vrsta u obliku slova slagalice, znači da je sve unutar tog U je
će izvršiti, ili ne, ovisno o tome gdje je.
Dakle, ako je logički izraz, a zatim sve što je unutra će se izvršiti.
>> U međuvremenu, postoji li / drugi blok.
Dakle, ako želite ogranak koji ide ovo Ovako ili da, ispočetka nam daje da.
I po toj logici, danas, iako je to zagonetka komad je očito premali
zaglave nešto drugo unutar nje, Ispočetka slagalice, oni su
samo će rasti.
Kada povucite i ispustite nešto, samo će rasti kako bi odgovarao bez obzira na to
je li pokušavate učiniti.
>> Dakle, možemo pobijediti u dvije od tih stvari, a napraviti tri put na raskrižje tako
da ili to učinili, ili to, ili Druga stvar je ovo samo gniježđenja njih
na taj način.
Naravno, ako to učiniti previše puno, ona počinje da se ružno.
No, u tom trenutku, ti si zapravo Vjerojatno ne programiranja vrlo dobro.
I kako će se ponavlja Tema je, također, da je stila.
Samo koliko dobro zapravo ne oblikovati svoj kod?
Ili kako dobro dizajnirati svoj kod?
No, više o tome u budućnosti.
>> I sada imamo petlje.
Tu je lijepa zauvijek petlja u nule što doslovno znači da - ne
sve što je unutra to opet, i opet, i opet.
Možete biti konkretniji i reći, učinite sljedeće stvar doživljavaju 10 puta.
Također možete koristiti varijable.
Možete doći do bilo koje ime u malo spustiti i reći, daj mi
varijabla zove n i postaviti je jednaka nekoj vrijednosti.
I onda možete imati funkcije.
No, više na one u samo trenutak.
>> Pusti me natrag u moju Zagrebite sučelje.
I neka mi ići naprijed ovo vrijeme.
I idemo naprijed i otvaraju, recimo, primjer iz -
to je malo više zanimljiv.
Dopustite mi ići naprijed, i, zapravo, neka mi samo bi ga ja osobno.
Ne treba otvoriti ovaj jedan.
Pusti me na File, Novo.
Ja ću ići na događaje.
Ja ću otići kad zelena zastava kliknuo, a ja ću ići na zvuk.
A ja ću se povući i ispustiti ovu slagalice, igrati zvuk Meow.
To kvake zajedno.
I sad, ako ja kliknite na zelenu zastavu -
>> [Meow SOUND]
>> DAVID Malan: Sladak.
U redu, tako da sada idemo napraviti nešto malo logičnije samo pokazati da
možemo, za sada.
Idem otključali ovo iz tog čovjeka.
Ja ću ići na kontrolu.
I ja ću zgrabiti stanje.
Dakle, ako se nešto onda.
Dakle to je kako to izgleda tamo.
Dakle, trebam Boolean izraza.
I neka mi ići naprijed i reći: pusti me da operatora.
Ja ću učiniti nešto malo mathy, samo za slatkiš.
Ja ću ići u ovdje i reći, ako je nešto je manji nego nešto drugo,
ići naprijed i učiniti nešto.
Pa sad, znate što, slučajni blok.
Dakle primijetiti kako, ako sam lebdjeti ovo stvar ovdje, da će puknuti unutra.
>> Tako sada, obavijest, ja počinjem raditi nešto što je već više logično
Zanimljivo.
Ako slučajni broj između 1 i 10 je manje od, recimo šest.
Ako se odlučim šest, da je u suštini znači, učinite sljedeće s 50%
vjerojatnosti.
To je poput bacanja novčića.
Sada, ja mogu učiniti nešto uvjetno.
I da nešto idem učiniti je igrati zvuk.
Pa sad, kad kliknem na zaslonu zastavom, to je kao bacanje novčića.
>> [Meow SOUND]
>> DAVID Malan: Bilo je glava i čemu god postoji.
Idemo to učiniti opet.
>> [Meow SOUND]
>> DAVID Malan: Heads opet.
>> [Meow SOUND]
>> DAVID Malan: Heads opet.
Uf, OK.
Repovi to vrijeme.
Dakle, 50% vremena, ako smo to učinili beskonačno dugo, dobit ćemo 50% mijaukanje
i 50% šutnja.
Dakle, postoji, samo osnovna zgrada blok koji nam omogućuje da učinite.
No, to je vrsta zamorno da imam držati klikom na taj gumb.
Pa neka je samo povucite i baciti sve one daleko.
Ako ih odvukli na sredini, samo će se izbrisati.
>> Pusti me se za kontrolu.
Pusti me da zauvijek.
I ovaj put, ja ću to učiniti minorly nešto neugodno.
>> [Smijeh]
>> DAVID Malan: I pusti me naprijed i učiniti kontrolu.
Čekaj jednu sekundu, samo tako to nije previše ribanje.
>> [Meow SOUND]
>> DAVID Malan: To nije prirodno.
OK.
>> [Meow SOUND]
>> DAVID Malan: A obavijest što se, lijepo oko nule, za one od vas koji
moraju prije programiranje iskustvo, što ne treba za pokretanje i zaustavljanje.
Ne treba sastaviti.
Vi samo ga promijeniti, a program prilagodit će dinamično.
Dakle, to je dobivanje Malo zanimljiva.
Ali neka ga uzeti jedan korak dalje.
Dopustite mi da ići naprijed i dobiti osloboditi tog programa.
>> [Meow SOUND]
>> DAVID Malan: To je ono što ćemo nazovite bug u nule.
On ne bi trebao držati što taj zvuk.
Dakle, mi ćemo mu reći da se zaustavi.
U redu, tako da sada sam ide na izlet u -
Ja ću MIT znati.
Mi ćemo ići preko ovdje zauvijek.
I sada, ja želim učiniti nešto opet i opet.
Ja idem na kontrolu.
>> I da vidimo, ja ću se povući moj uvjet ako postoji.
Tako sada primijetiti logiku.
Kada je zelena zastava se klikne, to nešto vječno, ali samo to
nešto ako je to druga stvar je istina.
Ja ću ići, neka je kažu, osjećajući.
I ja ću ići naprijed i odaberite dira i ispustite ga ima.
To je logički izraz.
>> A sada, primjetiti, u ovom padu prema dolje izbornika, postoje
neke predefinirane vrijednosti.
Dakle, ja mogu reći, da se dira rub ekrana?
Ili ste dira pokazivač miša, strelica na ekranu?
Dakle, ja ću to učiniti.
I ako je tako, onda ću otići naprijed i igrati zvuk Meow.
Dakle, sada sam vrsta ima Počeci igru ​​-
sladak igre.
>> [Meow SOUND]
>> DAVID Malan: OK, sladak, buggy igre.
Neka mi se čekati, recimo, jedne sekunde postoji.
Sada opet igrati, klikom zelena zastava.
>> [Meow SOUND]
>> DAVID Malan: Dakle, sada je kao petting mačka.
>> [Meow SOUND]
>> DAVID Malan: U redu, sada je to jednom sam si napraviti unaprijed.
Vrlo kasno, ona dobiva vrsta lako za napraviti glupe stvari.
Tako da me pusti unutra.
Recimo, da je kućni Mačka.
Idemo sada otvorili Ne pomaziti Mačka.
Sada, ako ćemo igrati ovaj jedan, možete pogoditi, ako ste
gleda na zaslonu -
>> [Meow SOUND]
>> DAVID Malan: Sada, ako sam pomaziti mačku
>> [Lavovski ROAR]
>> DAVID Malan: Pa zapravo i ne ljubimac mačka u tom slučaju.
Tako sada imamo samo primjer grana koja ide u dva smjera.
Sada ću ići naprijed i otvoriti još jedan ovdje.
Ovo je jedna, također, među našem izvoru kod datoteke za taj dan.
Pa neka mi se vratiti u moj izvor imenik i ići u, neka je izabrati
ovaj tip ovdje i vidjeti ono što je drugačije.
>> Wow, u redu, tako da sada to je sve malo složeniji.
I prije nego što smo vidjeti što ovaj tip radi, pokušajmo zaključiti, iz programa
na desnoj strani.
I sad ispočetka jasno nam omogućuje imati više skripti, više
programe povezane s jednim sprite, s jednog znaka, i, očito,
Obojica su idući u trčanje u lockstep.
Zbog oba ova programa počinje sa kad zelena zastava klikova, ovo je
aludirati na naprednije teme, s što neki od vas mogli biti upoznati,
poznat kao navoja, ili multi-threading.
>> Ispada, duljimo, računala danas je u biti može raditi više
stvari odjednom.
Ili oni mogu napraviti jednu stvar u isto vrijeme, tako brzo da ni ne primijetiti da
to je zapravo radi jedan stvar u isto vrijeme.
Ali za sada, pretpostavimo da su oba ovi programi će se izvršiti na
u isto vrijeme.
I obavijest, obojica imaju zauvijek slagalice.
Tako su obojica održavaju dok sam pogodio crveni znak stop.
>> Pa što će oni učiniti?
Na lijevoj strani, ja sam očito deklariranje varijable pod nazivom isključen.
Pa nisam ga nazvati nešto slično dosadno kao što sam to nazvao N. isključen ovo
Vrijeme prenijeti značenje.
Postavio sam je jednaka nuli.
Razmislimo o tome kako False, ili Razmislimo o tome, kao False.
>> Sada, zauvijek učiniti sljedeće.
Ako tipkovnice razmaknicu pritisne, Ako vam tada isključen jednaka nuli,
zatim promijenite isključen na jednak jedan.
Inače, postavite isključen na nulu.
Pa logično, iako to je cijela Hrpa slagalice koji je
Jednostavno govoreći, kad sam pogodio Space bar, Što trebam učiniti da promjenjiva
zove isključen?
Promijenite ga od jednog do nule, ili nula do jedan.
To je sve.
Pa to je kao okreće prekidač ili isključivanje i prisjećajući se, s
promjenjiva, da sam to učinio.
>> U međuvremenu, na desnoj strani, u Laički rečeno, ono što je svrha
skripte na desnoj strani?
>> UČENIK: Kako igrati zvuk morskog lava.
>> DAVID Malan: Za reprodukciju zvuka morskih lavova, ako on nije isključen, prema
prirodu te varijable.
Dakle, mi dijelimo državu, da tako kažemo, dijeljenje informacija preko ove dvije
skripte jer, primijetiti, mi smo zauvijek na sljedeći način.
Ako isključen je nula, pa ako to nije isključen - ako je isključen je lažna, onda igrati
ovaj zvuk Sea Lion.
I mislim na sebe, hi, hi, hi, za dvije sekunde, pričekajte trenutak, a zatim
ponovno provjeriti.
Dakle, ako ćemo sada ovdje na lijevoj strani, gdje je ovaj tip, a pogodak
zelena zastava,
>> [SEA LION SOUND]
>> DAVID Malan: U kojoj točki ne to se stvarno neugodno?
Budući da je ovo samo će ići na zauvijek.
Dakle, ponekad beskonačni petlje, da tako kažem, su namjerno.
No, u ovom slučaju, čim sam pogoditi prostor bar, on je zaustavlja.
Sada program nije napustio.
Još uvijek radi u tim krugovima.
Ali ako dobijem razmaknicu opet -
>> [SEA LION SOUND]
>> DAVID Malan: On će pokupiti tamo gdje je on stao.
Dakle, postoji jedan način za nas učiniti nešto opet i opet, ali, kako
Vrijeme, samo uvjetno.
Pa, dok smo u ovom venu radi stvari opet i opet, neka mi
idu u drugi takav primjer ovdje.
Ovo je jedan zvat ćemo brojati ovce.
>> I primijetiti ono što ovaj tip radi.
To je zapravo malo više kao pseudocode smo se igrali na
Srijeda, pri čemu je on postavlja neke brojač, mislim da je to je n opet, kako bi
nuli, zauvijek će napraviti sljedeće.
Kaže pulta je vrijednost za jednu Drugi, čeka drugi, a zatim
mijenja brojač za jedan.
I u tom kontekstu, da je jednostavno To znači koracima.
Tako je jedan dodaje da njega.
Dakle, to je doslovce -
to nije dosta što mislimo kao brojanje ovaca.
To je ovca radi prebrojavanja, zauvijek, gore od nule.
>> Dakle, možemo napraviti slične stvari postoji, logično.
No, sada ćemo pokušati očistiti neke od tih stvari.
Dopustite mi sada ići naprijed u jednostavne Primjer gdje je naša mačka samo ide na
pokrenuti kašlja.
U redu, tako da ovdje imamo kašalj 0 -
računalni znanstvenici počeli računajući od 0.
Dakle, ovo je samo mačka ide kašljati tri puta.
A evo kako sam provesti kako.
Kada je zelena zastava se klikne, kašalj, čekaj, kašalj, pričekajte, kašalj, pričekajte.
I ja sam to učinio samo povlačenjem i ispustite slagalice.
Ili ako počnu prtljati s nule, vidjet ćete da zapravo mogu
duple komada, tako da možete učiniti stvari puno brže, bez da povučete
i ispustite oglasa nauseum.
>> Ali mi nismo na najboljem putu ovdje.
Jer kako ću ga natjerati kašalj četvrti put?
Pa, ja mogu sortirati mjesta idu dolje.
Mogao sam duple a zatim zalijepiti unutra.
Kako bi ga kašalj i peti put?
Pa, kopiranje i ponovno zalijepiti.
Ili povucite opet pad.
I vrlo brzo, ovaj program počinje da se stvarno, stvarno suvišne,
jako dugo, ali stvarno nezanimljivo.
No, postoji način da se ovo počistiti.
Što je očigledan način za ovo počistiti?
>> U redu, tako da smo zapravo mogli stvarno ići van i, kada hit prostor
bar, morate ga kašalj.
Ali ako ja samo želim učiniti nešto repetitivno, podsjetiti da imamo
neke kontrole konstruira.
Dopustite mi da se presele to iz smjer, ići pod kontrolu.
Dopustite mi samo napraviti reprizu, recimo, tri puta.
I sad neka mi ukrasti neke ove slagalice.
Dopustite mi da ugriz ovaj ovdje.
Dopustite mi baciti ti daleko uopce.
>> I sada, ja imam bolji osmišljen program.
Zašto?
Ako želite promijeniti broj puta Ova mačka kašlje, sve što imam
to je promijeniti jednu varijablu, ili jednu vrijednost, a od tri, do četiri, ili
pet ili šest.
Ili sam mogao učiniti nešto uvjetno, i, s prostorom
bar ako sam htjela.
>> Dakle, ovo je opće načelo.
Jednom kada počnete kopirati i zalijepiti kôd, bilo da je u nule, ili u
C, radite nešto krivu, najvjerojatnije.
Ili barem, nakon što smo premašili neke razumne broj kopija i
paste, vjerojatno ste radiš nešto krivo.
>> Ali znate što?
Ja stvarno ne ovako.
Ovo nije najčišći dizajn.
Volio bih da je bilo zagonetka komad zove kašalj, jer onda ne bih
morati provesti ovaj ja osobno, starinski način, prema
što kažu, i čekati -
što ako su bili samo kašalj komad puzzle.
>> Pa, ja zapravo može učiniti.
Pusti me u više blokova, kliknite Napravite Block, a sada mi se to
Prozor ovdje.
Idem nazvati ovu stvar kašalj.
Ja ću ići naprijed i kliknite OK.
A sad obavijest, ja dobiti nove početne komad koji je zakrivljen na vrhu.
A ono što ću učiniti s ovim, ja sam ide to samo kradu tih blokova.
Ja ću ih staviti ovdje.
>> A sada, s ova tri komada, ja sam provodi ono što ću nazvati
funkcija, ili postupak, ili neke od možda ga znam kao metoda.
Male razlike među riječima.
Ali za sada, hajdemo nazovite to funkcija.
Ovo je samo nova zagonetka komad.
Sada se provodi kao što je ovaj.
>> Ali primijetite da Scratch nam je dao fizički prikaz da je cijela
blokirati ovamo.
Pa sad, ja mogu samo povucite to ovdje, kažu, ponovite tri puta, a
što će se dogoditi sada, kad sam igrati ova skripta, samo je jedan program
je pokrenut na vrijeme.
Postoji samo jedan kada je zelena zastava kliknuli.
No, da je ljubičasta blok zove kašalj učinkovito govori nule, svaka
Vrijeme vidiš taj komad puzzle, zapravo izvršiti ove korake da sam
dogoditi provesti ručno.
>> Dakle, to je vrsta uredan.
Ali sada, pretpostavljam da sam odlučio, ja ne Želite ovu mačku samo na kašalj.
Želim mu da bude u mogućnosti kihati kao dobro.
Pa, kako bismo mogli ići o provedbi kihanje?
Pa sam mogao prilično napraviti istu stvar.
Mogao bih napraviti još jedan blok.
Mogao bih nazvati ovaj kihanje, kliknite U redu.
>> Zatim, ovdje sam zapravo mogao su, dopustite mi da na sličan način -
a tu je gdje bi trebali osjećati kao ste vjerojatno ne radi nešto u
Najbolji način.
Mogao bih reći nešto poput, achoo, za jednu sekundu.
Čekaj jednu sekundu.
Sada imam novi blok pod nazivom kihanje.
I doista, to je to.
>> Ali to, također, trebala početi osjećati - možda i ne prvi tjedan klase, ali
od drugog - samo Malo suvišne.
Jasno, ima nekih redundancije ovdje.
Pa neka mi predložiti, umjesto toga, da bismo precizirali ova definicija na sljedeći način.
>> Pusti me do moje datoteke izbornika.
Neću spasiti ovu verziju.
Ja ću otići u jednu od moji premade slika ovdje.
I ja ću ići naprijed i otvoriti kašalj 2.
Joj da je kašalj 2.
Dopustite mi da ići naprijed i otvoriti kašalj 3, što je ovaj izvor katalog.
Kašalj 3 i primjetiti - Oh, rekao sam Priča u pogrešnom redoslijedu.
Dopustite mi da se oporavim od ove priče.
>> Priča Htjela sam reći završava kašalj 4 -
to je to.
Pa što ako sam, umjesto toga, definirati Veći dio slagalice zove
definirati, kažu riječ n puta.
Kihanje je samo, očito, u nule, achoo.
Tako smo ga izraziti kao riječ, Samo zato što je
ograničenje programa.
A kašalj [kašalj], ali kašalj, C-O-U-G-H. Dakle, to je samo dva
različite riječi radi, u biti, ista stvar.
>> Tako sam zapravo može učiniti Novi blok kao što je ovaj.
Nisam koristio ovu opciju izbornika prije.
Ali kad kliknete Make Block, možete odabrati neke opcije.
I možete reći da je to zapravo blok ima neke ulaza, inače
poznat kao argumente, ili parametara, tako da možete mijenjati ponašanje
Vaš blok.
>> Dakle, ono što sam maloprije bio Nazvao sam to blok Reci.
A onda sam rekao, to traje string input.
A sada primjetiti, po defaultu, što kaže jedan string.
String je samo riječ, ili Fraza, za naše potrebe.
No, samo ću staviti neke Tekst rezerviranog postoji, baš kao što je u
Web stranica, kad vidite korisničko ime, ili lozinku i onda nestaje
počnete tipkati.
To je sve što je.
>> A sad idem dodati unos broja.
A ja ću nazvati ovaj n - , ali to je prilično proizvoljna.
I onda samo naljepnice, samo da bi ovaj blok malo više samopouzdanja
razumljiva -
puta, to je ono što sam upravo učinio.
A krajnji rezultat je da sam se blok koji izgleda ovako.
>> A sada primjetiti, ja sam koristeći Ponavljam blok.
Ali umjesto tvrdog kodiranja tri, ja sam povlačenjem i ispuštanjem n tamo pa sam
može parametrize funkciju.
Ja mogu napraviti ovu funkciju učiniti nešto različit broj puta na temelju
tu vrijednost.
>> I primjetiti, kažu, to je ono što sam učinio Ovdje, ako se povlačim riječ, mogu reći ne
Teško kodirane riječi, ali bez obzira na je donesen u jednu sekundu.
U međuvremenu, kako sam ponovno provoditi kašalj?
I umjesto da definira kao kašalj govoreći kašalj n puta.
>> Tako je u kratkom, idem kroz ovaj brzo, ali osnovna ideja je što prije
kao što počnete vidjeti u svom programu da, čekaj malo, ja sam učinio
nešto posve kao i prije, Ja mogu uzet iz neke zajedničke
Funkcionalnost?
Mogu li razgrađuju što radim o nekim temeljnim idejama?
To je ono što mi ovdje radimo.
I ja sam hrpu tih stvari, vizualno, na vrhu jedan drugoga
jer to je dokaz da se ideji počevši s binarnom, ide u ASCII,
izradu grafičkih programa, vrsta raslojavanje sve složenije ideje o
jednu na drugu.
>> Sve ideja ovdje.
Počeo sam od nule, provedbi kašalj, kašalj je tada shvatio
zapravo samo nešto govori.
Pa neka mi umjesto provedbu Pojam kaže nešto.
I povrh svega toga, mogu provoditi achoo, ili kašalj?
I mi smo mogli učiniti više, kao varijante još uvijek.
>> Dakle, iz ovog temeljnog principa, možemo početi raditi
sve kompleksnije programe.
Dopustite mi otvoriti ovaj jedan.
Mi zapravo može imati više sprites interakcije na ekranu odjednom.
Ako odem u moje izvorne mape i zgrabite jedan zove Teme, podsjetiti da je
nit je samo jako sposobnost od dvije skripte za pokretanje rame uz
strana u isto vrijeme.
>> Obavijest sada, imaju i sprite ptica i mačka sprite, oba od kojih su
vlastite skripte.
Dakle najave, kad kliknem mačka, ja dobiti ove skripte.
Kad sam kliknite na pticu, Ja se ovih skripti.
Dakle, svaki od tih momaka mora njegove vlastite programe.
Kad sam sada kliknite na zelenu zastavu, primijetit da je ono što ovaj program radi je
imate mačku, nevjerojatno Polako, potjerati pticu.
No, mačka ima prednost imaju programiran na način
da bez obzira gdje se ptice je, mačka ide prema njemu.
>> Mi možemo igrati tu igru ​​mnogo brže.
Dakle, ako sam na mačka, primijetiti da sam pomoću, recimo premjestiti jednu korake.
Ajmo ga premjestiti u pet koraka vrijeme, tako da pet točaka u isto vrijeme.
Dopustite mi da kliknete igrati.
>> [Lavovski ROAR]
>> DAVID Malan: U redu, sada možemo stvarno dati mačka prednost.
10 koraka u isto vrijeme.
>> [Lavovski ROAR]
>> DAVID Malan: U redu, tako da vrlo brzo, to dobiva malo prednost
za mačka.
Ali ja ću mahati moje ruke na neki od detalja.
No, razlog zbog kojeg je taj put je počinju malo drugačiji svaki put
je da sam radiš malo slučajnosti.
Ja sam zapravo pokazuje mačka u drugačiji pravac temelji na kojima sam
želim mu da počne, tako da svaki put Igra ili animacije, je
malo drugačiji.
>> Sada, neka mi predstaviti jedan izgradnju drugog ovdje.
Dakle, u ovom slučaju, morali smo funkcija.
Tu će biti puzzle komada poznat kao niz, ili popis,
koji vam omogućuje pohranu više Vrijednosti unutar varijable.
Vidjeli smo teme, a sada postoji događanja.
>> Dakle, ovdje je događaj pomoću Njih su dvojica ovdje.
A ako sam otvoriti datoteku pod nazivom Događanja od današnjih primjera, mi ćemo
vidjeti program koji izgleda Malo kao što je ovaj.
A sada primjetiti ovog tipa -
tako da primjetiti Imam plavu Muppet kliknuli -
on je samo da sljedeće.
On ne imati jedan od onih zelena zastava slagalice.
On ima kada je primam događaj -
tako da neke arbitrarne riječi.
Upravo sam upisali događaj postoji -
on će reći, Polo, za dvije sekunde.
>> Dakle, one od vas koji su upoznati s ova igra možda zna
gdje je to ide.
Ako ja sada klikom na narančastu Muppet, njegov program čini.
Zauvijek, ako se bar tipkovnice prostor potisnuti, on će reći, Marco,
za dvije sekunde na zaslonu.
Ali on je također ćete koristiti ovaj ljubitelj blokirati poznat kao emitiranja.
On će emitirati citat završen citat, "event".
>> U međuvremenu, plavi dečko, podsjetimo, je osluškujući quote završen citat, "događaja."
Tako nekako, sada, možemo imati Dva duhovi interakciji.
A kad dođemo na web programiranja, kasnije u roku, na sličan način će se to
biti korisno imati svoju web stranicu učiniti nešto u odgovoru na, za
Primjerice, klik na tipkovnici.
>> Zato mi dopustite da ići naprijed i hit razmaknicu.
Orange dečko kaže Marco.
Plavi čovjek kaže Polo.
Ako sam to učiniti opet naranče čovjek kaže Marco, plavi dečko kaže da polo.
Tako ćemo uzeti jedan korak dalje.
Ovaj put, ići ćemo, vjerojatno, Samo nekoliko minuta više ovdje.
Imamo li -
stolna svjetiljka, dođi ovamo.
U pravu ste na kraju.
U redu, možete i smisliti.
Imamo stolne lampe za svakoga.
Hajde.
Ne znam možemo li zadržati taj smiješni geg up
cijeli semestar, iako.
Dobro, hajde dolje.
>> A u međuvremenu, imamo Sljedeći primjeri podići, samo da
ubrzati stvari sada, kao da smo imati manifestaciju iz drugih
prethodnik tvoje pomoću Isti osnovni građevni blokovi.
Koje je tvoje ime?
>> JOHN: John.
>> DAVID Malan: John.
Drago mi vas.
I?
>> SETZ: Setz.
>> DAVID Malan: Setz, lijepo mi vas.
John, ako bih došao Prvi se, to je stara
Škola Igra nazvana Frogger.
Možete koristiti tipkovnicu za to kao dobro.
A cilj je da se preko ulica i vodu.
>> [Frogger glazba i zvuk PLAYS]
>> DAVID Malan: Žao mi je, ne stolna svjetiljka za vas danas.
U redu, Setz, zar ne željeli doći gore?
Dobro, neka je to učiniti opet.
>> SETZ: Da li koristite strelice?
>> DAVID Malan: Samo tipke sa strelicama.
Gore, dolje, lijevo, desno.
>> [Frogger glazba i zvuk PLAYS]
>> DAVID Malan: Mi ćemo ih nazvati utjeha nagrade danas,
zatim, vrlo dobro učinio.
Evo, za vas oboje, Ivana i Setz.
Čestitamo, sve u redu.
Pa opet, jer to igra igra, razmišljati o tome što se događa?
>> Jedan, tu je očito puno pokreta.
No, vidjeli smo kako se, s mačkom i Ptica primjer, kako se može napraviti
Iluzija o kretanju samo pomicanjem neke broj piksela opet i opet.
A ako imate zauvijek blok, možete imati ove
automobili to zauvijek.
Mi imamo sposobnost za imaju neke slučajnosti.
Dakle, ova igra ne mora biti točno isto svaki put.
Ti dnevnici, ti automobili, može započeti u različitim vremenima kako bi
Sama igra je zanimljivija sa svakim igri.
>> I međuvremenu, vidjeli smo mogućnost slušati razmaknice.
Ali, jasno, u nule, mogu također slušati za gore, dolje, lijevo, desno, i
stvarno bilo koju tipku na tipkovnici.
I vi također možete raditi neke druge stvari.
Dopustite mi da ide naprijed i vratiti na web verziji.
>> Dopustite mi ide u našu kolekciju od primjera ovdje.
I u moj studio, video koji je, u biti, mapu na
scratch.mit.edu.
Imamo web inačice sve ove projekte.
I neka je vidjeti ako ja mogu dobiti moj Računalo surađivati ​​ovdje.
Ovo je napisao jedan od naših prijatelja na MIT-u, pod nazivom Pomicanje leptir.
>> A kada se to otvara, to je će zapravo koristiti više
moj računalo hardver.
Scratch dogodi da se provodi s bljeskalicom.
Flash može razgovarati s web-kameru, ako imate jedan.
Dakle, ako sam ići naprijed i full screen ovo Ovdje, kliknite na zelenu zastavu, obavijest
Taj je bljesak je sigurnosna poruka govori, da li vi želite
dopustiti da koriste moje webcam?
>> Normalno, da bi vjerojatno reći Deny.
No, u ovom slučaju, mi ćemo reći dopuštaju.
Onda ću reći Chrome kako bi se omogućilo isto.
I sada, u samo trenutak, ste me vidjeti, yep, ja.
A ako mi ruka ide prema gore -
Moram se ne mičem glavu u isto vrijeme.
Tu je također odraz na zaslonu.
Hajde, idemo tamo -
možete ga premjestiti na zaslonu, jer tu je i slagalice - Oh, da
znam što je to, to je zato što je također vidjeti projektor zaslon iza mene.
Dakle, imamo malo Infinite što se tamo događa.
>> U redu, tako da ću igrati ovdje.
Tamo idemo.
Dakle, tu je i zagonetka komad koji kaže, kad vidite kretanje ispod
jedan od duhovi, možete ga ide gore, dolje, lijevo, desno ili slično.
Dakle, imamo malo virtualne stvarnosti događa i ovdje, sve u roku od
granicama svom pregledniku, samo ovdje koristeći moje webcam.
Pa što je onda na horizontu.
Prvi problem set, kao što ćete vidjeti, ili web stranice će ići online kasnije
Večeras u cs50.net, je prilično koliko će biti otvorene.
I provesti projekt Blok od interesa za vas, igra,
Interakcija, nešto umjetničke i sebe izazov koristiti bilo koji broj
ove slagalice.
I to može biti interaktivan na ovaj način.
Ili to može biti nešto više namjerno je ispričati priču.
>> I doista, to je gdje ćemo završiti off Danas, s jedne završni primjer.
Pusti me na lokalnoj razini nule.
Dopustite mi da ići naprijed i otvoriti ovo, i igrati jedan zadnji program koji je napisao jedan
vaših prethodnika, naime da je jedan ovdje.
Dobro, pojačavanje glasnoće za ovaj jedan.
>> [Glazba svira]
>> Narator: Na sljedećem CS50, David poziva volonter na pozornici.
>> DAVID Malan: Za ovu demonstraciju, ćemo morati jedan volonter.
Želite li doći dolje?
Koje je tvoje ime?
Premještanje na.