[Powered by Google Translate] [ROCK MIZIK]
[Klas Mizik - "BIG YO" tòti a]
DAVID Malan: Jodi a, nou kòmanse eksplorasyon nou an nan
fondamantal nan syans òdinatè ak entwodiksyon nou an,
kounye a, a Art nan pwogramasyon, nan yo ki ki se
jis yon egzanp.
Men, nan Venn an menm nan rezoud pwoblèm, konnen ke
Jou tradisyonèl CS50 nan devinèt se demen.
Si ou pa te ankò RSVPed pou evenman sa a, ou ka ale nan
cs50.net/rsvp.
Ou ka pote ekip nan de oswa twa oswa kat.
Ou pral defi ki gen pwoblèm tankou sa yo, ou te wè
'kanpe depi nan konmansman an.
Tout pwoblèm nouvo ane sa a si ou partook ane pase a, epi ou
pral gen yon chans Lè sa a, pou pou genyen kèk prim Fabulous.
Nan mitan yo, yon wii ak kèk sètifika kado ak tankou,
tout pandan y ap pandye soti ak CS50 elèv yo ak lòt elèv nan klas
ak pitza ak Facebook.
Se konsa, plis sou sa demen si ou ta renmen.
>> Sa a Lè sa a, se CS50, pou moun nan nou rantre nan nou pou la
premye fwa.
Ak konnen ke sa a se kou patikilyèman detèmine jwenn
ou atravè kou sa a nan fen final li yo, nan ki pwen ou
ap gen pa sèlman yon konpreyansyon sou sa yo
fondamantal nan syans òdinatè, men w ap gen
sa a seri konpetans trè pratik ke ou ka Lè sa a, pran tounen nan
depatman pwòp ou a, si li nan jeni syans,
aplike matematik, syans fizik yo, natirèl
syans, oswa tankou an.
Vreman vre, yo sa ki nan se konsa eksitan sou syans òdinatè sa yo
jou se ke li se jis pou aplikab a
tout kalite jaden yo.
E menm si jodi a, nou pral sèlman grate sifas la nan yon
trè tradisyonèl lang programmation li te ye tankou C, n ap
olye gade nan yon bagay yo rele grafouyen, yon bagay ki gen
ki te ke istwa renmen bonbon aplike pa youn nan ou
chèf anvan nan ane sot pase yo, rakonte istwa, yo kreye jwèt,
yo kreye entèaktif atizay, ak aktyèlman kòmanse vlope nou
lespri alantou kèk nan konstwi yo fondamantal ki
underlie pwogramasyon men nan yon kontèks, jan ou pral wè, se sa ki
anpil mwens pè, ki nan anpil mwens Esoteric, pase ou pral wè
anvan lontan.
Ak reyalize, tou, pou moun nan nou jis rantre nan nou sa a
semès, fraz yo ki sou kote nou te fini konferans Mèkredi a,
li se pa konsa pou sa enpòtan ki kote ou fini relatif nan ou
kamarad klas nan klas sa a, men ki kote ou, nan fen semès la
nan semèn 11, fini relatif nan tèt ou dwa jounen jòdi a.
>> Se konsa, san brwi pi lwen, sa a se tou vo anyen ke
sa yo mwens konfòtab, sa yo ki yon kote nan ant yo, se
tou, nan konsepsyon nan kou sa a, pa nan nenpòt ki dezavantaj
vis-a-vis sa yo pi konfòtab
vini nan klas sa a.
Kòm ou pral wè sou semèn ki vini, nou gen diferan
tren pou background tounen disparate, seksyon pou moun ki
mwens konfòtab, pi konfòtab, sa yo ki yon kote
nan ant.
Kòm ou pral wè nan fen semèn sa ak semèn pwochèn, de vèsyon an
pi pwoblèm kouche nan tou de edisyon estanda ak aker konsa
ke ou tout ka oto-chwazi desann chemen an ak kote ou
yo ki pi konfòtab.
>> Se konsa, jounen jodi a, nou plonje nan sa a pwogramasyon
lang yo rele grafonyen moun.
Li se yon lang programmation grafik, e ankò li gen nan
karakteristik menm nan kèk nan lang yo pi wo nivo nou pral
eksplore pita nan semès la, nan mitan yo C ak
JavaScript ak PHP.
Men, li a pral pèmèt nou pou fè pou evite kèk nan distraksyon yo
bonè nan sentaks, bagay sa yo tankou virgules, parantèz,
ak lòt detay Esoteric ki, nan zye premye, yo se jis pa
nan tout enteresan entelektyèlman epi yo gen tandans jwenn nan
wout la nan kèk konpreyansyon fondamantal.
An tèm de kounye a estrikti nan sipò devan ou, reyalize sa a
zouti, CS50 Diskite, ki pral lye sou la nan kou
sou sit wèb pita jodi a, se fowòm nan diskisyon sou entènèt nan
ki ou pral kapab poze kesyon nan chak lòt ak
anplwaye yo, ak li la tou yon zouti, menm jan nou pral wè semèn pwochen,
ke nou pral itilize byen integratedly nan
biwo èdtan kòm byen.
Vreman vre, yo lè biwo kòmanse nan Lendi, ak franchman, premye a
semèn nan lè biwo louvri se kle san patipri ki ba.
>> Mwen pa panse ou ap jwenn grate tout sa ki inaksesibl.
Li nan olye klè, kifè, menm jan nou pral wè, epi konsa sa ki
nou pral itilize li pou jodi a se ekstrè kèk nan la
lide fondamantal ki pral, lè sa a, pèsiste pandan tout la
rès semès la.
Men, kòmanse Lendi, nan 8:00 PM nan 11:00 PM pral
biwo èdtan nan Annenberg sou repo nan sèvo.
Koup de pral kòmanse aswè a, se konsa nenpòt moman sa a
fen semèn, ale nan cs50.net/section, epi ou pral
ap mande yon kantite kesyon yo.
Pami yo, ki jan ou ta dekri ou
nivo konfò kòm nan jodi a?
Gen nan pa gen difisil, règ vit ke konnen ki moun ki la nan ki bokit.
Se jis sòt nan nan bagay ki pwobableman ou konnen si ou
se yo ki pami sa yo ki mwens konfòtab la oswa otreman.
>> Epi, koulye a, valktroug.
Spesifikasyon nan seri pwoblèm pou semèn sa a, tou de estanda
ak edisyon aker sanble, se sou entènèt la nan cs50.net kòm nan kounye a.
Epi ou pral wè ke premye a nan nan sa yo edisyon,
se estanda edisyon chak semenn, te akonpaye pa yon bagay nou
rele yon solisyon kòd, yon sesyon ki te dirije pa youn nan
zanmi ansèyman kou a gide w nan, bay
konsèy sou fason pou, ak fè ou jwenn desann yon chemen an patikilye lè li rive
kòmanse sa yo aparèy televisyon HD pwoblèm.
Se konsa, avèk chak nan sa yo pwoblèm kouche, si w ap janm vle
pou tèt ou kote mwen kòmanse, w ap kòmanse ak sa yo
valktroug.
Ak an reyalite, pèmèt mwen prezante Zamyla Chan, sa a
parèy ansèyman ane a ki pral mennen chak ak tout
youn nan sa yo valktroug.
Zamyla?
>> [Aplodisman]
ZAMYLA Djaki: Oh, hi, tout moun.
Non mwen se Zamyla.
Mwen se yon jinyò jeni etidye nan Winthrop House.
Men, mwen eseye ak anfòm nan kòm anpil kou syans konpitè jan mwen
kapab, ki se poukisa mwen vrèman eksite yo dwe ki mennen sa a
valktroug ane a.
Valktroug, pou m ', yo te yon pati esansyèl nan CS50 mwen
eksperyans.
Pandan solisyon an, pou chak p mete-a, n ap ale nan
pwoblèm nan mete ansanm, gade sou pwoblèm yo, kalite
divize yo moute nan mòde metrize.
Mwen pral ba w konsèy, teknik, pou jwenn
jiska ak nan trape te kòmanse.
Mwen espere wè ou tout nan valktroug yo.
Si ou pa kapab fè li nan moun, Lè sa a,
tanpri fè melodi nan sou entènèt.
>> DAVID Malan: Excellent.
Mèsi, Zamyla.
Se konsa, reyalize ke valktroug yo, tout bon, sou yon Vandredi
apremidi, men sa a se fè espre nan konsepsyon pou ke
menm si ou ta pito pa ale nan klas sou yon Vandredi
apremidi, videyo yo pral moute tout pi vit a sou
fen semèn nan.
Se konsa, reyalize ke cs50.net pral tout la Zamyla
valktroug.
Epi ki gen yon dat jodi a ak tan, 3:00 PM,
Harberd Hall, 104.
Ak kèk nan zanmi yo ansèyman te tou prepare
kèk remak pou ou nan absantya l 'ban nou yon ti jan nan
pèspektiv tankou sa ki eksperyans yo vini nan ak
pral soti nan CS50 te tankou.
Se konsa, si nou te ka bese limyè yo sèlman pou moman yon, mwen ba ou
kèk nan anplwaye CS50 a.
>> JACKSON STEINKAMP: Mwen te pran CS50 ane pase a kòm yon elèv nevyèm ane nan la
tonbe, epi li absoliman kònen lide m '.
Mwen pa janm te pran nenpòt klas pwogramasyon anvan,
epi pa janm te vini nan ak nenpòt ki syans konpitè
fè eksperyans nan tout.
Ak jis, mwen tande Buzz la sou klas la ak
deside pran li.
>> JULIA MITELMAN: Se te vrèman plezi, reyèlman angaje.
Mwen toujou, nan jou sa a -
Mwen te jis dènyèman te wè mwen gen ki gen kapasite a flou jan David te ban nou
sou premye jou nou an konferans.
Mwen te pann l 'sou miray m' yo.
Sa a se pwobableman yon ti kras nerdy, men mwen te pandye nan sou mwen
miray pandan klas la kòm yon rapèl sou kouman fre sa te pase.
>> Travis Downs: Se konsa anbarasan.
>> JACKSON STEINKAMP: Odinatè syans se yon bagay ou
ta dwe eseye menm si ou pa gen yon sèl pou
syans yo tradisyonèl.
Li nan eksperyans pwòp li yo, ak CS50 pral fè w ke ou ap
sipòte byen atravè li ak lame otantik li yo nan TFs.
>> Ali nam: Mwen te pran li kòm yon elèv nevyèm ane, ak Se konsa, mwen te fè yon anpil
nan nouvo zanmi.
Mwen menm mwen te te resevwa prezante sa a konsantrasyon tout ak
tout lekòl nan jeni, ak Se konsa, mwen trè rekòmande pou li
ak akeyi ou nan fanmi CS50 nou an.
>> YANIV YACOBY: CS50 jis anseye ou kouman yo sèvi ak zouti
ki se lajman aksesib.
Ou jis bezwen yon konpitè pòtatif, ou bezwen yon navigatè entènèt, epi ou
bezwen aprann ekri kèk kòd, epi ou ka vrèman bati
bagay sa yo byen òdone.
>> Karen Xiao: Se jis pou fre pou kapab fè yon bagay
epi yo gen moun sèvi ak li epi yo gen moun wè li, e ke an
ki sa mwen reyèlman renmen sou li.
>> TIM McLaughlin: - yon sans kominote, mwen panse, nan sa a
kou plis pase nenpòt ki kou lòt Mwen te pran byen lwen tèlman.
Ou pa jis ap pran yon lòt -
ou pa ap ranpli yon lòt egzijans.
Ou pa jis ap ale nan konferans ak ale nan seksyon.
Men, ou ap fè tòn bagay sa yo ke yo tout sou
pwogram ak tout bagay sou teknoloji, men li pa fè
reyèlman santi tankou yon klas pi fò nan tan an.
>> Downs Travis: Sou premye jou a, yo te kenbe yo gato, ak
Mwen te imedyatman vann.
>> JACOB PRITT: gratis sirèt ak pitza.
>> ZAMYLA Djaki: - kèlkeswa nivo enterè ou, mwen panse ke
ki CS50, ou pral gen plezi, epi ou ap entelektyèlman
stimulé.
>> MARK GROZEN-SMITH: Li nan toujou yon pati nan klas yo, ak li nan yon
pati chak swa ap travay sou seri p-ou.
>> JACKSON STEINKAMP: Chak fwa ou fini yon seri pwoblèm, ou
pral santi tankou ou te fini yon pwojè.
>> Melissa NIU: Li te ane nevyèm ane, epi mwen te fè fè makèt.
Mwen te gen klas kat mwen pare, ak mwen te nan Annenberg.
Apre sa, mwen frape nan yon zanmi ou, e li te di, hey, mwen fè makèt
klas sa a yo rele CS50, epi ou ta dwe vin avè m '.
Te fini pran li ki tonbe, epi apre ke tout klas, mwen
te panse petèt mwen pral minè nan CS.
Men, isit la mwen, twa ane pita, toujou ap etidye òdinatè
syans ak aktyèlman fè li kòm yon gwo, epi mwen te renmen chak
moman nan li.
>> ROB Bowden: Mwen pa gen okenn lide.
>> Ali nam: Ann gade pou wè.
>> Melissa NIU: foli.
>> Oratè 1: mwen santi mwen tankou mwen ta dwe pran anpil kliche.
Mwen ta jis di, renmen, pè.
>> YANIV YACOBY: Aksè nan.
>> JACOB PRITT: gratis sirèt ak pitza.
>> Travis Downs: Yo pa ka vire desann yon klas ki men soti gato.
>> TIM McLaughlin: énèrjik.
>> VIPUL SHEKHAWAT: Esansyèl.
>> ROB Bowden: Kite m 'panse a yon repons.
Mwen panse ke mwen te resevwa yon bagay.
Oh, bondye.
Yeah, Bowden Rob non mwen an, ak sa a se CS50.
>> [Aplodisman]
DAVID Malan: Tout dwa, se konsa kite la kòmanse nan penti yon foto
nan a nan direksyon kote nou ka ale, e kite yo prezante
konsèp sa a isit la li te ye tankou pseudocode.
Se konsa, pseudocode se pa yon pwogram
lang di tèt li.
Li nan pa gen anyen teknik se pou chak, men li la jis sòt de yon
jeneral fason pou eksprime tèt ou san patipri jisteman,
jistis algorithmically, san patipri prosedural, men san yo pa
gen enkyetid sou ki lang ou ap eksprime
tèt ou pous
Li nan kèk modèl nan angle ak lang programmation ak
kote ou rive yo yo konnen yo, pou nou ka kòmanse
ekri sa a sòt de bagay sa jan nou ale.
Ak an reyalite, Jozèf, te kapab mwen prete ou moute sou etap yo dwe
sekretè isit la?
Mwen te ale vè lavan isit la nan avans e li bliye mete
sou kèk chosèt jodi a, e sa a pral nan mitan plis nou
egzanp ridikil.
>> Koulye a, mwen bezwen ou chèf pou gouvènen isit la.
Mwen pral fè pati nan chosèt.
Se konsa, isit la nou gen yon pad grafouyen ti kras.
Sa a se literalman jis TextEdit nan yon Mac.
Nou pa aktyèlman pral ekri yon pwogram ègzekutabl, men
Nou jis ap pral kòmanse eskis soti pseudocode ki baze sou
sou kèk nan konsèy la ou bay m 'isit la.
Se konsa, isit la se pil m 'lan nan chosèt nan kay la.
Mwen pa gen okenn chosèt sou lè mwen reveye nan maten an, ak nou koulye a
bezwen ekri yon pwogram, yon algorithm nan kalite, ak ki
jwenn sa yo chosèt sou de pye m 'yo.
Ak nan tout wout la, se pou yo wè si nou vwayaj sou, oswa rankontre,
kèk nan lide yo ke ou ap ale nan gen kòmanse
panse sou pi plis oserye lè pwogramasyon
Si nou pwogram ou a pa konpòte byen kòm gen entansyon.
>> Se konsa, mwen chita isit la.
Mwen te gen pil m 'lan nan chosèt.
Ki sa ki nan premye bagay la yon rezonab moun ke yo ta
fè lè objektif yo se yo mete sou yon pè chosèt?
Yon moun ban m 'yon sèl etap, epi sèlman etap youn.
Yeah?
ODYANS: bese atè.
DAVID Malan: bese atè, Okay.
Etap de.
ODYANS: Ranmase chosèt ou.
DAVID Malan: Ranmase chosèt ou.
Okay, anbigwite konsa ti tay isit la, ak sa a se youn nan premye a
baryè ke nou ap sipoze fè espre
rankontre isit la.
Li se yon ti kras Limit, se konsa ranmase chosèt ou.
Fine, m ap pran yon sèl sa a, men yon òdinatè, reyalize nan jis yon
ti jan, pa pwal gen ki sòt de ensten imen jis
chwazi youn ki pi pre a.
Nou pral gen kòmanse, anvan lontan, eksprime
tèt nou plis pwesizeman.
>> Tout dwa, se konsa etap de se ranmase chosèt ou.
Nou pral pran li.
Etap twa.
Nan tounen an.
ODYANS: Jwenn yon pè matche.
DAVID Malan: Jwenn matche pè.
Oke, kidonk sa a se yon bon bagay.
Mwen te gen chwa sa a chosèt.
Se konsa, objektif la se sa yo jwenn yon chosèt matche, kounye a, men ki sa
sa vle di?
Yon moun ki rezonab ke yo te, anpil tankou nan Mèkredi lè mwen jis
te konnen kouman jwenn Mike Smith nan yon liv telefòn, jis kalite
li pati avèk ensten yo.
Men, isit la, li nan evidamman sa a chosèt isit la, men yon òdinatè a
pa pral yo dwe tèlman entwitif.
Yon òdinatè ki pral gen yon koleksyon Bits, menm jan nou
diskite nan Mèkredi, ak sa yo se
òganize yon jan kanmenm nan memwa.
Men, pwen an se ke yon òdinatè la gen sèlman kapasite nan
fè yon gade nan bagay sa yo yon sèl nan yon tan, epi an reyalite, menm nou
moun - menm si li santi l tankou mwen regarda desann separe ak yon
dezyèm pita Mwen konnen ki kote chosèt la se, nan sèvo m 'ak je m'
prezimableman t 'yon rapid koudèy nan sa yo chosèt, ak Lè sa a, fèmen
sou youn nan nan kesyon.
>> Se konsa, si nou kapab tout plis ekspre a kounye a kòm yon òdinatè,
Kouman mwen ka jwenn sa a pè matche?
Oke, nou dwe repekte.
Nou dwe petèt riban sou sa a dezòd nan chosèt sou la
etaj kote m 'di yon bagay tankou POU CHAK chosèt, chwazi li
moute, epi si fòm la menm ak gwosè kòm youn nan lòt, lè sa a
dot, dot, dot, nou pral kontinye istwa a.
Se konsa, pou chak chosèt, se konsa mwen ranmase yon sèl sa a.
Mwen tcheke sa a egal a yon sèl sa a.
Li pa nan, se konsa mwen mete nou sou kote bò.
Apre sa, mwen repekte ankò.
Èske sa se yon sèl egal?
Non, li pa nan, se konsa mwen mete l 'sou kote.
Èske sa se yon sèl?
No
Sa a youn?
Non, ak pou fè.
Lè sa a, finalman, èspere ke, mwen pral kontre sa a chosèt isit la.
Se konsa, si li nan fòm la menm, gwosè, pran li.
>> Epi, koulye a, ki sa ki ta dwe etap pwochen nou yo isit la?
Yeah?
ODYANS: Idantifye dwa soti nan bò gòch.
DAVID Malan: Oke, idantifye dwat ak gòch, se konsa
erezman, ki kalite travay.
Te Yon simetrik ti kras, oswa mwen jis chire yo ki fason.
Tout dwa, Se konsa, mwen te idantifye bò dwat la.
Epi, koulye a, anvan nou kontinye, kite m 'pwen soti ki sa Jozèf yo
te fè isit la kòm sòt de yon pwogramè vèrs.
Se konsa, ankò, gen nan pa gen fason youn nan fè sa, men pi lwen pase jis
Genyen liy ki, Jozèf te deja kòmanse fè sa
sòt de mark.
Vreman vre, sa a se yon konvansyon trè komen nan pwogramasyon,
kote lè ou yon bagay repete, loupin style, kòm
nou ap qui avèk fraz angle a "pou chak
chosèt, "konvansyon an nan pseudocode ak, menm jan nou pral wè,
lang programmation nòmal, se jis itilize.
Frape ba a espas yon fwa kèk, frape kle a Tab oswa tankou an,
pou ke enbrike anba "pou chak chosèt" se moso nan
bagay ke ou bezwen fè kòm yon konsekans ki riban.
Se konsa, sa a, se tout sa ki nan liy moral Semantics.
Koulye a, pandan se tan, "Si li nan fòm la menm ak gwosè," a la
se lefèt ke "Pran li" utilize plis jis vle di
sa a, se bagay la sèlman ou ta dwe fè si ke kondisyon,
si sa branch lan, ki fouchèt nan wout la, se an reyalite vre.
>> Se konsa, kounye a isit la, nou ap sou etap kat, idantifye dwat ak gòch.
Mwen te idantifye dwat.
Ban m 'senk etap.
Ak teknikman, nou te ka vrèman rele
la pou chak bagay -
ou ta dwe pwobableman nimewo tout liy yo si
nou pwal fè sa.
JOSEPH: [fèbl]
DAVID Malan: [fèbl]?
Okay, amann, tout dwa, nou pwal fè li fason ou.
Tout dwa, se konsa etap senk, ki jan nou fè chosèt la dwa?
Ki jan nou kontinye vini yo, isit la?
Wi?
ODYANS: Leve dwa janm yo.
DAVID Malan: Leve dwa janm, Okay.
SIZYÈM ETAP?
Byen vit.
Yeah.
ODYANS: Jwenn yon fen louvri nan chosèt la.
DAVID Malan: Oke, jwenn fen a louvri nan chosèt la.
Se konsa, bon.
Se konsa, isit la, franchman, yon ensten trè komen ta jis pou
mete yo sou chosèt dwa, men sa twò se jistis Limit.
Sòf si òdinatè a oswa moun konnen ekzakteman ki sa sa vle di,
li pa pral fè egzekite ki, se konsa isit la, mwen te
jwenn ouvèti a nan stock la.
Etap sèt?
ODYANS: Manyen zòtèy ou.
DAVID Malan: zòtèy Touch.
Oke, kidonk kounye a nou ale -
Tout dwa, mwen pral pran kèk libète isit la.
Mèsi.
Etap uit?
Mete sou chosèt.
Oke, kidonk koulye a, mwen, panse ke nou ap ase pre sòt de pran
yon sèl sa a nan kay la.
Tout dwa, kidonk sa a ap moute.
M ap pran kèk libète ak sa li vle di, aktyèlman.
Mete chosèt la sou.
Tout dwa, kounye a etap nèf?
ODYANS: Mete pye desann.
DAVID Malan: Mèsi poutèt ou.
Etap nèf, yo mete pye l 'atè, e kounye a,, nou ka repete.
Se konsa, prezimableman, nou kapab kounye a ale nan etap 10 ak di idantifye
kite chosèt, men sa a prezimableman deja fè.
>> Se konsa, lè sa a, mwen ka sòt de repete etap sa yo.
Men, sa a sòt de amèn kesyon an.
Anvan, ki dènye fwa nou te vle repete yon bagay, nou
te fè li iterativman, ankò e ankò, yon POU
CHAK riban pou pale.
Li ta fè sans yo sèvi ak yon riban yo nan lòd yo okipe tou de
bò gòch la ak chosèt la dwa?
Paske li santi l tankou operasyon sa yo yo se bèl anpil
eksepte pou lefèt ke yon sèl kòmanse isit la ak yon sèl
kòmanse isit la?
Èske nou riban, oswa nou jis kenbe ekri etap
10 ak 11 ak 12?
ODYANS: Loop.
>> DAVID Malan: Oke, kidonk riban.
Mwen aktyèlman ka gen te di jis kenbe prale.
Se konsa, poukisa se ka sa a la?
Bon, sa a se aktyèlman premye a nan evidan ki pa nou an
desizyon konsepsyon, ak an reyalite, youn nan mesures yo ak ki
nou pral kòmanse nan evalye, pou tèt nou ak pou ou,
bon jan kalite nan yon pwogram se jis ki jan byen fèt li ye.
Eske ou te fè kantite lajan an minimòm nan ki nesesè pou travay
jwenn travay la fèt pi vit la, swa an tèm de
tan ou oswa an tèm de kouri tan òdinatè a?
Konbyen operasyon fè sa ki li pran yo egzekite?
Se konsa, joui, sa a se yon opòtinite pou yon riban paske
le pli vit ke mwen kòmanse kopye ak kole, jan Jozèf efektivman
ta kòmanse fè nan yon moman, ou se kalite gaspiye ou
tan, epi w ap yo te doubl espresif.
>> Men, an menm tan an, sa yo se reyèlman jis de espesyal
ka yo, kite la ak dwa.
Ak Lè nou konsidere ke anvan, mwen ta ka gen 10 oswa 20 oswa plis chosèt nan
yon pil, li definitivman fè sans pa gen 50 liy nan
kòd li di tcheke sa a chosèt, lè sa a pwochen yon sèl la,
Lè sa a, youn nan pwochen.
Isit la, li nan yon ti kras mwens evidan, epi mwen ta pwopoze
ke nou t 'ka ale swa fason.
Nou te ka gen swa ke riban, byenke li sèlman pasan
de fwa, oswa nou te ka tou senpleman kopi ak keratin jis yon ti jan
isit la yo nan lòd jwenn travay la fèt.
Men, pwogram sa a se buggy, se konsa pale.
Li ta ka gen kèk erè, erè, oswa ka kwen, se konsa
pale, pou nou de nou pa t 'reyèlman antisipe.
Pa gen anyen ale mal tan sa a, men sa ki te kapab ale mal
pandan y ap egzekite pwogram sa a?
ODYANS: Ou pa gen okenn chosèt.
>> DAVID Malan: Se konsa, pat kapab gen chosèt la tou.
Se konsa, kite a konsidere ka sa a kwen.
Se konsa, si nou te ka Scroll tounen moute nan etap yon sèl, se konsa etap yon sèl te
bese atè, se konsa ke tcheke deyò.
Etap de, ranmase chosèt ou, men ou Lè sa a, jwenn matche chosèt,
idantifye dwat.
Nou kalite te fè yon pakèt antye nan sipozisyon, e sa se,
franchman, poukisa pwogram pafwa aksidan.
Si ou menm, pwogramè a, te fè sipozisyon sèten, tankou
Wi, gen k ap pase yo dwe chosèt oswa siman gen k ap pase
yo dwe memwa kite nan òdinatè a, siman gen k ap pase
yo dwe espas ki gen kapasite kite sou kondwi a difisil -
Byen, si w fè sa yo sipozisyon, ak sa a pa,
an reyalite, reyalite, moun ki konnen sa ki pafwa òdinatè a nan
pwal fè?
E pafwa, lè ou jwenn boul la nan plaj bondi oswa
jele Windows oswa tankou an, ki nan pwesizeman paske gen kèk
pwogramè pa t 'antisipe ka sa yo kwen sa yo rele.
Ki lòt bagay te kapab ale mal nan pwogram sa a?
Yeah?
>> ODYANS: Ou pa gen yon janm dwat ak yon janm gòch.
DAVID Malan: Oke, pa ka gen tou de yon pye dwat ak yon
gòch janm, epi konsa pwogram sa a pa ka inivèsèl
ki aplikab yo.
Lòt moun?
ODYANS: Ou ka gen ranmase yon chosèt on òfelen.
DAVID Malan: Mwen ka gen ranmase yon chosèt on òfelen, konsa yon
ki pa matche chosèt ki jis pa gen okenn frè ak sè paske mwen te
pèdi li, li la chire, li la nan lave an toujou, oswa renmen an.
Se konsa, sa, tou, pa te reyèlman te okipe.
Yeah?
ODYANS: Ou ta ka deja gen chosèt sou.
DAVID Malan: mwen ta ka deja gen chosèt sou.
Mwen pa t 'aktyèlman tcheke.
Si ou pa gen chosèt sou, lè sa a kontinye nan fè
liy ak yon de.
Ak ki ta kapab rive.
Ou tonbe nan dòmi ak chosèt ou sou yo ak sou tankou a, se konsa
ki, tou, yon ka kwen trè rezonab.
E petèt yon lòt?
ODYANS: chosèt la se andedan deyò.
DAVID Malan: Se konsa, chosèt la se andedan soti, sa nou te fè sa pa gen okenn erè
kont kouran, nan kout.
Nou pa t 'tcheke si eta a nan mond lan se kòm nou espere.
Nou pa t 'tcheke si nou aktyèlman yo te jwenn ki sa nou ap chèche pou.
>> E menm si sa a se sòt de yon egzanp ridikil
ki enplike chosèt, nan fen jou a, sa a se egzakteman nan
sòt de attitude ou bezwen gen pandan y ap ekri pwogram yo,
menm nan grate osi byen ke nan C, nan JavaScript, nan PHP,
paske otreman, pwogram ou an ap genyen nan
ekivalan nan ki boul plaj bondi oswa jis sede
rezilta enkòrèk.
Se konsa, anpil mèsi isit la jwenn Jozèf sekretè nou an.
[Aplodisman]
>> DAVID Malan: Tout dwa, se konsa sa ki, nan
reyalite, yon pwogram òdinatè?
Oke, kite a pran yon ti koutje sou rapid nan yon
reprezantan yon sèl isit la.
Se konsa, sa a se yon pwogram ekri nan yon lang yo rele C. C se
jistis fin vye granmoun jou sa yo, men anpil nan yo plus lang yo bati
sou tèt li.
Vreman vre, yo PHP, youn nan lang yo web-santre nou pral
itilize nan direksyon fen tèm nan, pou kont li genyen sa ki rele yon
entèprèt, yon pwogram ki nan ekri nan C, men plis sou sa
nan semèn anpil soti nan kounye a.
Men, pwogram sa a, ak sa a se sa li vle di ekri yon
pwogram nan, kwake yon trè senp.
Nou gen kèk sentaks jistis skre isit la, men ou kapab
pwobableman devine, menm si ou pa janm te pwograme anvan, sa ki
pwogram sa a ap fè.
Vreman vre, mwen pa konnen ki sa printf se, men enprime sètènman
konjur moute lide nan enprime soti yon bagay.
Se konsa, se wi, pwogram sa a finalman pral enprime soti
mo yo "Hello, Mondyal la."
>> Koulye a, si wi ou non ou gen yon Mac oswa yon PC oswa yon òdinatè Linux, chans
yo se, omwen si ou telechaje kèk libreman
disponib lojisyèl, ou ta ka yo te ekri pwogram sou
laptop pwòp ou yo pou kèk tan kounye a.
Sou Mac OS, pou egzanp, gen nan pwogram sa a rele
Tèminal ki vini ak yon Mac, sa se anjeneral nan ou
Itilite folder, epi li jeneralman ouvè yon nwa ak
blan oswa yon fenèt blan ak nwa nan ki ou gen yon
rapid nan ki ou ka tape kòmandman.
Se konsa, sa a se aktyèlman okoumansman de ki sa òdinatè
itilize yo dwe anvan itilizatè grafik
interfaces, GUIs, yo te vini ansanm.
Koulye a, nan Windows, ou gen yon mekanis menm jan an nan fòm nan
nan èd memwa nan lòd.
>> Men, sa ki mwen pral fè isit la se louvri moute, kite la di,
TextEdit ankò, se konsa menm pwogram lan nou te lè l sèvi avèk pou
pseudocode yon ti moman de sa, e mwen pral ale pi devan epi
ekri pwogram premye m 'yo.
Mete stdio.h, kèlkeswa sa ki vle di, int prensipal
anile, kèlkeswa sa sa vle di, ak Lè sa a, nan mitan an isit la,
printf ("hello, nan lemonn."). Lè sa a, fèmen quote,
fèmen paren, virgules.
Koulye a, mwen pral ale pi devan epi jis frape Kòmandman-S. Mwen pral
ale pi devan epi sove sa a kòm hello.c, se konsa konvansyon an nan
mond lan nan pwogram C se non dosye dot c la.
Mwen pral jis mete nan anyè Kay Jan Harvard la,
isit la, klike sou Save, epi kounye a mwen pral ale sou sa a
fenèt tèminal, ki ankò se sa a èd memwa nwa ak blan
kote m ka egzekite kòmandman.
>> Mwen ka jere pwogram lè ou tape non yo, pa pa
doub-klike ikon nan sans dabitid.
Men, bagay la se sou C se ke yon lang tankou C premye
vini nan fòm sa a, yon bagay yo rele kòd sous.
Yon bagay ki sanble yon ti kras tankou angle, men se
definitivman mwens tankou angle pase yon pseudocode Jozèf yo
moman de sa.
Li se yon ti kras pi plis Esoteric.
Li sanble yo swiv kèk modèl oswa règ.
Reyalite a ke mwen gen aparèy òtopedik Curly, virgules, quotes,
aparèy òtopedik ang, santi l tankou yon òdinatè te vini ak sa a
sòt de lang.
Men, si m 'ale, kounye a, nan fenèt sa a tèminal, mwen ka kouri nan yon
te bay lòd pou a pral konvèti ki kòd sous se
yon bagay yo rele kòd objè.
Sa a pral konvèti angle ki tankou sentaks zewo
ak moun yo, kalite yo menm nan zewo ak moun yo nou
te pale osijè de Mèkredi.
Koulye a, mwen pral kouri nan yon lòd yo rele sonnen.
Plis sou sa a nan semèn kap vini, men li nan yon pwogram ki gen
ki mwen ka konvèti hello.c nan yon pakèt antye
nan zewo ak inite.
>> Koulye a, mwen te kouri lòd sa a.
Mwen te kouri rezone, ak Lè sa a, m 'te di kouri tèt ou sou sa a ranpli
rele hello.c, ki mwen kreye yon moman de sa, e
pa gen anyen sanble rive.
Men, tout bon, si mwen poked alantou anyè lakay mwen, mwen ta renmen wè
ke sa a a.out pwogram estipid te rele kounye a egziste.
Sa a se jis non an default pou yon pwogram lè ekri nan
C. Nou ka pase sou desizyon sa a evantyèlman, men a.out se nan
non yo nan pwogram nan mwen jis konvèti nan zewo ak inite.
Epi, koulye a ki zewo li a ak moun yo, Mac mwen an, nan ka sa a, oswa
PC Windows ou a, ka konprann sa yo Bits, sa yo ki
zewo ak inite.
Se konsa, lè m 'frape Antre, mwen wè "hello, mond!"
>> Men, li la yon buggy ti jan.
Mwen pa t 'byen di "hello, mond: lè: -! Jharvard." Lè a se
non an nan òdinatè mwen an.
Jharvard nan non an nan kont lan konsa, sa ki mwen te byen klè
retire okenn pati nan pwogram nan?
Gen kèk kalite repo liy.
Mwen pa t 'frape ekivalan a nan Mete oswa retounen nan cha,
ak sa a se, ankò, siyen kontra Bondye lefèt ke òdinatè kapab
sèlman fè sa ou di yo fè.
Ak lefèt ke mwen pa t 'di òdinatè a deplase nan
kurseur nan liy nan pwochen -
byen, li la sètènman pa pral jis fè li
lògèy pou mwen.
Se konsa, si m 'ale tounen nan pwogram mwen an, epi mwen di \ n -
Se konsa, \ n, jan nou pral byento wè la a, se yon fason a nan
ki reprezante bagay sa yo etranj tankou karaktè liy nouvo, bagay sa yo
ki ta, nòmalman, rezilta a nan
frape kle a antre.
Men, pou kounye a, jis konnen ke frape kle a antre nan ta
jis fè kòd nou gade enpè, se konsa mond lan deside, ou konnen
ki sa, kenbe bagay sa bèl pase, nan kenbe l 'sou yon liy, kite la
jis di \ n reprezante yon liy dwat nouvo.
Kite m 'resave dosye m' yo, tounen nan fenèt la tèminal, ak
re-kouri a.out, Antre.
Toujou buggy, men poukisa?
>> ODYANS: [fèbl]
DAVID Malan: Yeah, Se konsa, mwen bezwen compile li.
Se konsa, te rekeyi yon pwogram jis vle di konvèti li nan men sous
kòd nan kòd objè sous kòd, nan zewo ak inite.
Koulye a, reyalite a sèlman ke mwen frape Save nan sa a TextEdit pa gen okenn
pote sou moun zewo ak moun yo, paske mwen premye bezwen
enseye rezone hey, mwen te chanje liy sa yo nan kòd, an
kòd sous.
Ou bezwen relanse a.out.
Pa gen anyen sanble li te rive, men nan yon òdinatè,
nan yon liy lòd, se konsa pale, lè pa gen anyen k ap pase,
ki souvan sa vle di tout bagay byen.
Lè yon bagay rive, sa vle di
ou messed moute yo, jeneralman.
>> Se konsa, kite a kounye a ale nan a.out, ak tout bon, koulye a, mwen gen "hello,
nan lemonn. "
Epi, koulye a, sa ki sou sa yo zewo ak moun yo?
Ki kote, an reyalite, moun sa yo ki?
Bon, mwen pa ka fè sa vrèman jis kalite Deploge alantou trè
efektivman.
Kite m 'louvri moute TextEdit.
Isit la nan a.out.
Kite m 'ale pi devan epi louvri sa a, e sa se aparamman sa mwen
pwogram sanble.
Se konsa, mwen te louvri, pa hello.c, men a.out.
Men, sa a se aktyèlman pa sa ki pwogram mwen vrèman se.
Klèman, sa a se kèk kalite karaktè alfabetik.
Mwen pa wè okenn zewo ak moun yo, men sa a se
paske a.out se yon pwogram.
Zewo ak moun yo - men TextEdit, kòm non an sijere, li nan
jis tankou notepad sou Windows, se jis yon editè tèks, kidonk li a
konfizyon tout moun ki zewo ak moun yo kòm
menm si yo te, ki sa?
Karaktè ASCII.
>> Se konsa, sonje nan Mèkredi, nou jis te vini ak sa a
abitrè kat nan nimewo, oswa Bits, nan lèt yo nan la
alfabè ak senbòl ponktiyasyon ak tankou la.
Se konsa, TextEdit, ke li nan yon editè tèks la misinterpreting
sa yo modèl nan zewo ak moun yo ki yo sipoze
enprime mo, tankou "alo lemonn,." Li nan ki montre yo
kòm ASCII, ak Se poutèt sa li sanble yon sal ti kras.
Koulye a, gen kèk sijesyon nan ekzaktitid nan isit la.
Avi si mwen mete aksan sou, gen yon allusion nan aktyèlman "hello,
mond, "se konsa yon kote nan pwogram sa a se
fraz la mwen te ekri.
Men, kite a ale pi devan epi wè koulye a ak yon pwogram diferan.
Sa a se pa yon sèl nap itilize ki souvan, men tou li vini ak
yon Mac epi li pral andedan nan aparèy la CS50.
Kite m 'ale pi devan epi louvri yon pwogram ki rele XXD.
>> Retounen nan jou a, pifò pwogram yo te rele jistis cryptically,
e konsa tandans nan kontinye.
Men,-b vle di krache pwogram sa a soti kòm binè.
pa kouri li.
Montre li nan m 'menm jan zewo ak moun yo, e sa se C a
pwogram nou jis te ekri.
Koulye a, mwen, kòm yon moun isit la, Mwen franchman pa gen okenn lide ki sa
sa yo modèl divès kalite zewo ak moun yo reprezante.
Retounen nan jou a, mwen menm, ak kat kout pyen m nan oswa m renmen an, ta
gen aktyèlman yo gade jiska sa ki sa yo modèl divès kalite
01111000, aktyèlman reprezante.
Oswa pi mal, mwen ta bezwen fè pwensonaj la oswa kreyasyon an
nan sa yo modèl nan zewo ak inite.
Men, pou kounye a, pran sou konfyans nan Bondye ki yon CPU, Intel andedan, se konsa
pale, andedan nan tout nan òdinatè nou jou sa yo, konnen
ki jan yo entèprete sa yo zewo ak inite.
Ak kèk zewo ak moun yo vle di ekri ak lèt ​​detache.
Gen kèk zewo ak moun yo vle di jwe yon son.
Gen kèk zero ak moun yo vle di pran opinyon itilizatè ki sòti nan yon klavye.
Genyen nan tout kalite modèl diferan, men nou Erezman,
kòm moun, se sèlman jeneralman bezwen enkyete sou pwogram nan
nivo sa a san patipri ki pi wo.
Ak nan lòt klas CS ka ou fouye desann pi fon ak gade
nan bagay sa yo tankou sa yo ki zewo ak moun yo, oswa ankò
lòt bagay toujou.
>> Se konsa, kounye a kite a konvèti sa a.
Kite yo deplase trè vit lwen C ak deplase li nan yon yon bagay yon
ti kras pi plis rekonfòte, yon ti kras plis enteresan, nan ki
nou ka jwenn tounen Animations nou yo ak son ak tankou la ki
klèman gen chape nou nan sa a
san patipri primitif koòdone.
Se konsa, ka nan pwogram sa a menm nan C ap reprezante kounye a nan sa a
lang programmation rele reyur jan sa a.
Sa a se ekivalan a nan pwogram sa a mond alo ekri nan
sa a devinèt style moso lang yo rele grafonyen moun.
Se konsa, kite m 'ale pi devan epi louvri moute pwogram sa a trè.
Li nan ankò rele grafonyen moun.
Li nan lib ki disponib, ak sa a se menm bagay la nou
te kòmanse jodi a sou.
>> Se konsa, sa a isit la se grafouyen, epi li kase moute nan yon kèk
moso diferan.
Sou bò dwat la trè tèt, nou gen sèn nan sa yo rele, ak
tout bon, sa se kote bonbon yo
fè jis yon ti jan de sa.
Yo, epi sou etap sa yo bagay sa yo rele sprit, karaktè, oswa
objè, oswa antite.
Li pa reyèlman gen pwoblèm ki jan ou panse a yo, men yo
yo se pwogramasyon, bagay sa yo mobil, ak nan ka sa a, sa a
pwogram ke elèv nou an te ekri a gen yon koup nan Gingerbread
bonbon, yon koup la bonbon sikilè, yon pakèt antye nan
kè, yon pakèt antye nan linèt.
Poutèt sa, li oubyen li se anmezi nan pwogram chak nan sa yo
karaktè moun separeman.
>> Koulye a, kisa sa vle di nan pwogram sa yo karaktè?
Oke, kite m 'ale pi devan, epi klike sou sa a bonbon men gòch
ak woulo liv sou a gòch nan tèt isit la.
Nan bò gòch nan tèt nan ekran m 'koulye a, se la
sa ki te rele Scripts zòn nan.
Sa a se sòt de yon adwaz vid, okòmansman, sou ki mwen kapab
trennen ak gout moso devinèt sa, franchman, fè
ekzakteman ki sa yo di.
Nan tèt la anpil nan sa a pil nan moso devinèt se pawòl Bondye a
Lè Green Flag klike, epi si ou pa t 'avi anvan,
wout la mwen te kòmanse ke chante bonbon te klike, literalman,
yon drapo vèt.
Se konsa, ke moso devinèt sou bò gòch tèt la vle di lè a
klik imen drapo a vèt, t'ap fè
bagay sa yo.
>> Koulye a, ki sa yo te bonbon kontinye nan fè?
Mwen pa vrèman konnen ki jan an ka esplike nou rèv sa a ankò, men
bonbon aparamman mete renur li nan zewo, Lè sa a, li tann
twa segond, Lè sa a, li chanje gwoup li yo nan yon sèl, Lè sa a, li
tann yon dezyèm fwa, Lè sa a, li chanje li yo
renur tounen nan yon sèl.
Lè sa a, sa sa a aktyèlman sanble yon ti jan nan yon ensèk, pa ta dwe
oblije chanje renur li yo ankò, li ankò sòf si li a
te chanje yon lòt kote, men sa a seri etap se sa ki nan
dikte konpòtman sa a bonbon an patikilye.
Se konsa, kite a aktyèlman woulo liv retounen lakay yo epi pa gade yon bagay
byen se konsa konplèks ankò.
Kite m 'ale pi devan epi ale nan File, New,
epi pou yo jwenn yon adwaz ki pwòp.
>> Se konsa, kounye a, Mwen menm, mwen gen yon zòn script vid, yon etap vid,
ak reyur luten default nou an, epi sou bò gòch nan tèt
sou ekran m 'mwen gen palèt a nan tout nan yo
moso devinèt ki disponib.
E nou pa pwal ale travèse prèske anpil moun ki nan bagay sa yo
jodi a paske, ankò, Pifò nan yo se klè, kifè, men nou pap
eseye kategorize yo ak pwen soti resanblans yo
ak lang sa yo nan lavni yo ki n ap plonje.
Ak sou bò gòch tèt isit la se premye fwa a Lè Green Flag klike,
Se konsa, kite m 'trennen sou sa isit la, rale soti yon ti jan.
Men, si mwen klike sou drapo a vèt, pa gen anyen vrèman k ap pase paske
Mwen pa t 'tache nenpòt lojik, nenpòt ki deklarasyon konsa pale, nan
ki drapo vèt, se konsa kite m 'ale jiska la
kategori sou isit la.
Mwen kounye a nan kategori a kontwòl.
Mwen olye pral desann ale nan kategori a sanble, ak
gen nan yon pakèt antye de bagay sa yo isit la ki di Di,
Panse, chanje koulè, kostim Bouton.
>> Se konsa, ou ka fè bagay komik ak kostim ak
son ak tankou la.
Kite m 'ale pi devan epi jis di Di, e kounye a, remake jan mwen trennen
ak gout pyès sa a devinèt, li pral vle Obtenir
nan fòm ki koresponn lan.
Se konsa, lè m 'ale pi devan epi kite ale nan sourit m' yo, yo fèmen
ansanm, e kounye a, si mwen ale sou isit la, epi klike drapo a vèt,
chat la nan reyalite salye paske sa a kisa ki andedan
nan bwat sa a blan.
Nou pral byento wè ke ti kare sa a blan se sa ki rele yon
agiman, oswa paramèt yon.
Li se yon fason pou chanje konpòtman an nan, nan ka sa a, yon
devinèt moso, men si mwen vle di ekzakteman ki sa m 'te di
anvan, di hello, mond, mwen kapab kounye a ale tounen sou isit la,
klike sou jwe, ak "hello, mond" se sa ki nan te di.
>> Se konsa, nou literalman pwogramasyon kounye a.
Li pa tout sa ki impérieux nan yon pwogram, men omwen
li nan yon yon bagay ti kras pi plis irezistib pase ki sanble, nan
premye gade, tankou sa a.
Epi nou ka trè vit jwenn tout plis espresif la
paske se nan grafouyen, tankou nan lòt lang yo, gen nan tout
kalite deklarasyon, pa sèlman di oswa enprime yon bagay, men
ou ka fè bagay sa yo tankou ap tann, kòm nou jis te wè ak
bonbon a, gen kèk nimewo nan segonn.
Ou ka jwe son ki nan anviwònman an nan grate jis
tankou ou kapab nan yon òdinatè nòmal son jwe pwogram nan.
Ou ka tcheke ki sa yo rele ekspresyon Boolean.
Se konsa, kounye a, kite la kòmanse pou ajoute pou djakout zouti nou kèk tèminoloji
ki aktyèlman gen rapò ak egzanp lan ke Joseph ak mwen te fè
isit la ak chosèt yo.
Se konsa, deklarasyon yo se jis deklarasyon ki nan reyalite.
Fè sa.
Yon direktiv pou luten la, oswa m 'imen an, fè yon bagay.
Yon ekspresyon Boolean se yon bagay ki te gen yon valè, yon
sa yo rele verite valè, ki nan swa yon zewo oswa yon sèl, ki fo oswa ki
vre, koupe oswa sou, pa gen okenn oswa wi.
pa reyèlman gen pwoblèm ki jan ou panse a sa a, men li nan yon
eta binè.
Kòm Nate diskite nan videyo Mèkredi a, de
bagay diferan.
>> Se konsa, nan grafouyen, ekspresyon Boolean rive gade
tankou bagay sa yo ble isit la, ak nan ka sa a, kesyon an
mak implique ke ou ap mande yon kesyon.
Èske chat la, oswa luten la, manyen konsèy an sourit?
Se konsa, sa a se jis yon egzanp sou yon blòk reyur ki k ap pase
pèmèt nou tcheke Wi oswa Non, se sourit la manyen an
luten sou ekran an?
Lè sa a kapab itil si ou aktyèlman vle fè bagay sa yo
avèk sourit ou a.
Anplis de ekspresyon Boolean, nou gen bagay sa yo
tankou se sourit la desann, konsa ou ka detekte ki kalite
kesyon tankou byen.
Nou ka fè matematik si ou aktyèlman vle, ak gen nan
aktyèlman plis irezistib itilize pou sa a pase jis pi bon kalite nan
aritmetik, menm jan nou pral wè.
Pseudo randonès ak fè pwogram ou an parèt yo panse
oswa konpòte yon fason diferan ki baze sou kèk valè w pèdi o aza,
ak Lè sa a, nou gen bagay sa yo tankou ekspresyon Boolean tankou AK.
Se konsa, si ou aktyèlman vle tcheke de valè, nou pral wè nan
Grate ke nou ka aktyèlman teste si sa a se
vrè ak sa a se verite.
Pou egzanp, nan ka a nan chosèt m 'yo, mwen te kapab te nan la
trè fen poze kesyon sa a si chosèt gòch se sou yo ak sou dwa chosèt
se sou li a, kite fimen.
W ap fè tout pou yon jou a, se konsa ke ta pwal genyen yon
opòtinite pou sa.
>> Se konsa, kite a ale pi devan epi eseye moso kèk nan sa yo ansanm
ak ale nan yon koup nan egzanp plis
irezistib pase yon sèl sa a.
Se konsa, kite m 'ale pi devan isit la ak louvri moute kèk nan egzanp yo
ki ap toujou sou sit entènèt kou a nan kòm byen, ak
louvri moute hello2.
Se konsa, nan hello2 isit la, nou gen yon pwogram ki la ap fè yon kèk
bagay sa yo, men li pa nan fè li kòm efektivman kòm nou ta ka.
Se konsa, isit la li di "hello, mond" pou youn dezyèm ak Lè sa a, tann
pou yon dezyèm fwa.
Lè sa a, fè li ankò, epi Lè sa a, fè li ankò.
Se konsa, si mwen klike sou drapo a vèt, grate di "Hello, lemonn.
Hello, lemonn.
Hello, lemonn. "Men sa se evidamman kandida kounye a pou
amelyorasyon.
>> Ki sa ki nan amelyorasyon nan majinal, èspere ke, nou ka
kounye a fè si reyur sipòte konsèp la?
Gen kèk kalite riban.
Gen kèk kalite repetisyon, kounye a, ta dwe nice, se konsa, kite m '
aktyèlman eseye sa.
Kite m 'ale aktyèlman yo epi li deplase sa a.
Se konsa, avi ka Koupe pati blòk kòm fasil tankou ou ka ajoute nan
tache yo.
Kite m 'ale anba kontwòl, desann isit la, ak tout bon,
gen nan pyès sa a devinèt isit la, Repete ak pou tout tan ak
Pou tout tan Si.
Se konsa, gen nan yon nimewo nan fason de jan pou eksprime konstwi loupin
nan grafonyen moun.
Yon sèl la mwen pwobableman vle isit la se pa pou tout tan paske mwen sèlman
vle sa a rive twa fwa, men pwobableman Repete.
Se konsa, kite m 'trennen Repete sou isit la, trennen ak gout li, epi
kounye a olye pou yo li di: "hello, mond" twa fwa apa,
kite m 'trennen pyès sa a devinèt nan isit la.
Ak menm si li pa sanble yo anfòm, pwogram nan se entelijan
ase yo reyalize li ap grandi yo ranpli, kidonk li a nan
fòm ki matyè ak pa gwosè a absoli.
Kite m 'chanje repetisyon nan twa, epi kounye a kite m' ale
pi devan epi trennen Tann yon dezyèm nan la kòm byen.
Li nan ale nan menen nan kòm byen, ak konsa koulye a mwen pral trennen
mesye sa yo sou isit la ak jis voye yo jete paske mwen
pa bezwen yo ankò.
Kite m 'rale soti, epi klike drapo a vèt, koulye a, e nou gen
menm pwogram lan, men, jan mwen prevwa anvan, pi bon
ki fèt paske ou ka imajine ki jan move pwogram sa a
ta jwenn, sètènman estetik, si ou te gen nan
kòmanse kopye ak kole, kopye ak kole, oswa
trenen ak jete menm bagay sa yo reprize ankò epi ankò.
>> Koulye a, senpleman di bagay sou ekran an, enprime nan
ekran, reyèlman tout pa sa ki enteresan, kidonk kite a louvri yon
twazyèm divèjans isit la.
Epi, koulye a, jan ou pral wè, sa a pral byen vit jwenn anmèdan -
[Meow]
DAVID Malan: - men li la tou kalite bèl.
[Meow]
DAVID Malan: Oke, kidonk pi bon, epi nou ka sètènman sèvi ak ki
menm tranzisyon nan chenkin sa a moute nan yon loupin
estrikti, men kite a fè li plis enteresan toujou.
>> Kite m 'ale pi devan epi louvri moute yon divèjans katriyèm isit la, kote mwen
pran bagay yon sèl etap pi lwen.
Se konsa, dapre sa a, enbesil menm si sa a se nan premye
gade, ki sa ki nan pwogram sa a pwal fè?
Li nan ale nan Meow yon fwa.
Poukisa?
Oke, se yon sèl, osi lwen ke mwen konnen, toujou mwens pase de.
Gen nan pa gen nosyon nan randonès isit la.
Mwen te literalman difisil-kode ak yon de, men sa a se yon
egzanp kounye a nan aktyèlman lè l sèvi avèk yon ekspresyon Boolean.
Anpil tankou jan Jozèf te fè nan pseudocode l 'yo, dekoupaj an SI
ou jwenn matche chosèt EPI fè bagay sa yo, isit la nou gen
yon ekspresyon SI se yon sèl mwens pase de EPI -
ak nan reyalite nou menm gen yon ti kras nan mark,
ki kote koulè wouj violèt nan yon ti kras utilize a dwat a -
Lè sa a ou ap ale nan jwe Meow a son.
Koulye a, nan ka sa a, ke yon moun se toujou mwens pase de, kidonk sa a
se kalite yon fatra nan yon kondisyon.
Men, nou pral kapab, menm jan nou pral wè, nan ploge lòt bagay nan
sa yo placeholders kote yon ak de kounye a yo ye.
Se konsa, kite a kounye a avanse a egzanp senk nan sa yo plizyè
hellos ak gade nan ki sa pwogram sa a nan pral fè a.
>> Se konsa, koulye a, nan yon fraz angle, ki jan sa a
pwogram konpòte?
ODYANS: Meows mwatye tan an.
DAVID Malan: mwatye Meow a nan tan an, kidonk sa a se yon fason pou
liy moral yon lide trè senp.
Menm si nou rive yo dwe lè l sèvi avèk kèk inegalite isit la
nan kèk nimewo, sa a se vrèman jis yon programmatical
fason sa a, yon mwayen egzak, li di si pyès monnen an vini leve tèt, ale
pi devan epi Meow.
Oswa sans, si pyès monnen la vini leve ke, pa Meow.
Ak nan ka sa a, ki jan nou eksprime sa?
Nou pral chwazi yon nimewo o aza de 1 a 10, epi si sa
nonb ki se mwens pase 6, ale pi devan epi Meow.
Ak ki jan sa te jwenn nan isit la?
Oke ankò, remake jis trenen ak jete nan ak
bagay sa yo seri nan plas li.
>> Se konsa, kounye a kite a wè si sa a randonès travay.
Kite m 'ale pi devan epi klike sou drapo a vèt.
[Meow]
DAVID Malan: Okay.
[Meow]
DAVID Malan: Okay.
Okay, bon, konsa nou te resevwa tèt, tèt, ke efektivman.
Ke.
[Meow]
DAVID Malan: Heads.
[Meow]
DAVID Malan: Excellent.
Li nan toujou lè gòch jis estatistik ou jwenn yon move
kouri, epi li nan tout tèt, ak pwogram nan aktyèlman fè sa ki pa
travay kòm ou ta espere.
Men, tan sa a, li te travay, ak nou yo sanble yo genyen, si nou te fè sa
nimewo sa a yon enfini nan fwa, 50% chans.
Koulye a, ankò, se pa tout sa ki enteresan, jis fè chat
Meow, kidonk kite a wè si nou pa ka avanse sa yon ti jan pi lwen
isit la nan vèsyon sis.
Se konsa, kounye a, nou gen vèsyon vrèman anmèdan -
[MEOWS CHAK kèk segond]
DAVID Malan: - ak sa a se sa ki li te ye, jeneral, kòm yon
enfini riban.
>> Riban Se konsa, enfini nan ka sa a santi l mal.
Li definitivman pral kòmanse sonnen move, epi ankò enfini
pasan yo pa toujou move.
Èske ou ka panse a kontèks nan pwogram òdinatè ki kote ou ta
aktyèlman vle yon riban enfini?
Yeah?
ODYANS: Lè ou vle tcheke yon kondisyon.
DAVID Malan: Oke, lè w vle kenbe tcheke yon kondisyon?
Menm jan ak ki sa?
ODYANS: [fèbl]
DAVID Malan: Oke, bon, kidonk si w te gen kèk pwogram nan, kèk
jan de bagay konsa automatisation lakay ou, kote ou vle toujou ap
pou kontwole a se yon bagay ka-a.
Èske limyè yo sou?
Èske limyè yo sou paske petèt ou gen yon revèy, ak
ou vle yo ale a, ou ta ka bezwen fè yon bagay
ankò epi ankò.
Ak an reyalite, pale de time, nenpòt nan nou ki te
revèy sou òdinatè w lan oswa mont dijital, sa se yon
enfini riban.
Li kontinye rete mete ajou tan an paske li nan toujou ap
tcheke epi tyeke epi tyeke gen tan an chanje,
e si se konsa, o, Bondye mwen an.
Nan revèy la finalman chanje.
Li bezwen montre ki valè ou.
Se konsa, Lè nou konsidere ke pi fò nan pasan yo tan enfini se yon erè,
oswa omwen yon desizyon konsepsyon pòv, pafwa yo fè
gen menm valè yo.
>> Oke, kite la avanse pli lwen isit la yo hello7.
Se konsa, kounye a pwogram nan ap resevwa yon ti kras pi plis entè.
Kite m 'rale nan isit la, epi ankò, sa a se sa ki nan bèl
sou grafonyen moun.
Epitou, n ap sèvi ak li nan dwe klè, grafouyen, jis jounen jodi a ak nan
pwoblèm semèn pwochen an mete.
Men, nan Lendi, nou plonje nan C. Nan pwogram sa a isit la, li fè sa,
pou tout tan, sa ki annapre yo.
SI manyen konsèy an sourit - kounye a, ki moun ki nan la
kontèks isit la?
Oke, ak avi ke moun ki nan chwazi desann isit la nan pati anba
dwa se chat la,, youn luten pou sa yo Scripts, sa a
pwogram nan, aplike nan l 'espesyalman.
Se konsa, si ke chat an touche konsèy an sourit, lè sa a li pral
yo jwe sa a desann e rete tann de segonn, ak
Lè sa a, repete nauseum anons.
>> Se konsa, kite a ale pi devan epi frape jwe.
Pa gen anyen k ap pase, men si mwen vle bèt la
chat, koulye a, mwen kapab tou senpleman.
[Meow]
DAVID Malan: Adorable.
[Meow]
DAVID Malan: Oke, mwens anmèdan, men tou, vin mat,
se konsa kite yo deplase sou ak wè si nou pa ka enjekte
yon ti kras lojik plis.
Se te sèt egzanp.
>> Isit la nan egzanp uit, nou ap ale nan
prezante yon kondisyon lòt bagay.
Se konsa, anpil tankou yon fouchèt literal ki nan wout la, nan ki ou ka ale
kite oswa ou ka ale dwat, yon kondisyon nan yon pwogram
lang tankou grafouyen, oswa kòm nou pral wè C, ka pèmèt ou
ale nan yon direksyon oswa yon lòt via yon konstwi SI lòt bagay.
Se konsa, byen literalman, SI manyen konsèy sourit, sa a
ap jwe kèk son, LÒT li a pral jwe sa a lòt
son, Meow.
Koulye a, si ou ka dégager soti nan non an nan sa yo son, ou kapab
pwobableman devine sa ki nan pwogram sa a vle di ke yo sorselri moute
lide nan.
Sa a chat se meowing san pwoblèm mwen tap.
[Meow]
DAVID Malan: bonheur, men li pa
byen renmen yo manyen.
[K'ap gwonde]
DAVID Malan: Se konsa, kounye a nou gen yon chat ki moun ki va rele nan ou.
>> Tout dwa, byen, yon dènye egzanp ak chat isit la, ak
kite a louvri vèsyon nèf nan sa a isit la.
Se konsa, kounye a, nou gen pwochen son an pi annwiyeu ke mwen te kapab
jwenn, konsa nou gen yon mors oswa lyon lanmè isit la ki a pral
fè bagay sa a.
[Ekors SEAL]
DAVID Malan: Oke, kidonk sa a pral ale sou jiskaske ou konnen ki jan
pwogram sa a travay.
Se konsa, tan sa a, sa a bèt te gen de Scripts, ak sa ki nan
enteresan isit la se ke sa yo Scripts yo ale nan egzekite
nan paralèl.
Se konsa, paske yo tou de kòmanse ak yon sèl drapo vèt klike,
li nan tankou ale tankou sa a, ak tou de pwogram kòmanse ap kouri li
yon fwa menm si yo ap loupin pou tout tan.
Se konsa, nan script nan tèt, mwen gen kèk lojik.
Ki sa ki karakteristik yo ki bay moute a?
[Ekors SEAL]
ODYANS: [fèbl]
DAVID Malan: Si li nan ki sa?
[Ekors SEAL]
ODYANS: Si muet a zewo, li te ale nan kenbe jwe nan
kònen. [Ekors SEAL]
DAVID Malan: Oke, bon.
Se konsa, si muet, kèlkeswa sa sa a se, bagay sa a zoranj se zewo,
EPI jwe son an lyon lanmè ak panse "O,
hi, "pou de segonn.
Koulye a, mwen pa konnen sa muet se, men zewo konjur a moute
lide nan ki fo oswa ki la.
Se konsa, si muet ki fo, se konsa si se pa muet,
kenbe jwe son an.
Tout dwa, byen, ki jan nou enfim bagay sa a?
>> Oke, kite la gade nan script la dezyèm anba isit la.
Script Dezyèm di mete muet a zewo.
Avi li la tou zoranj konsa, sa ki reyur se li koulè
blòk nan lonbraj la menm si sòt li nan
nan lojikman ki gen rapò.
Se konsa, jis kòm muet tèt moute te zoranj, se konsa muet t 'desann isit la
mansyone nan blòk zoranj.
Men, sa a se yon devwa varyab, se konsa jis tankou nan
aljèb, ou gen x ak y ak Z, nan pwogram ou gen
varyab, men yo ap jeneralman -
poz kite l 'a pou yon ti moman ak figi ki jan
yo sispann sa a abwaman.
Kouman pou mwen fè sa?
[Ekors SEAL]
DAVID Malan: Okay.
Li te rete. Oke.
>> Se konsa, jis kòm nan aljèb ou gen varyab x, y, ak z, men nan
pwogramasyon, li te gen varyab tankou x, y, ak z se jeneralman
dezaprouve sou yo paske yo se pa nan tout ki ekspresif.
Yo pa gen okenn siyifikasyon semantik tou sa, se konsa nan pifò
lang programmation, varyab ka gen plen
non véritable oswa mo oswa fraz, renmen muet, yo di
sa y'ap fè.
Se konsa, sa a script dezyèm tou t ap koute pou tout tan, epi li di:
si kle a, Espas kle a klavye, se
bourade, make kesyon.
Se konsa, gen nan yon kondisyon ki gen yon ekspresyon Boolean ki nan
ale nan reponn yon kesyon swa di laverite oswa fo,
Lè sa a, mwen gen andedan nan li si se kle nan espas bourade AK
SI muet se zewo, mete muet nan yon sèl, LÒT mete muet a zewo.
Se konsa, sa a fouchèt lòt nan wout la, ak avi ki jan mwen te
pare solèy de la SI kondisyon yo, se yon fason pou tcheke a nan
Bar Espas bourade paske si se konsa, mwen swa vle ale sa a
fason oubyen fason ki.
Ak kijan mwen Invert valè a nan muet t?
Mwen gen yo tcheke se li zewo?
Si se sa, fè li se youn, fè l 'lòt zewo rive Se poutèt sa aktive
eta de li yo.
>> Tout dwa, konsa nou gen Lè sa a, kèk nan sa yo fondamantal
konstwi.
Nou gen ekspresyon Boolean, ak reyalize, tou, sa yo, se
pa tout sa ki familye yo.
An reyalite, isit la nan yon Ekran rapid nan Harvard la kou CS50
zouti fè makèt, ak nenpòt sit entènèt yo deyò ki gen kaz
ak Downs gout te reyèlman, tout tan sa a, te lè l sèvi avèk
Ekspresyon Boolean.
Nan ka sa a isit la, si ou klike sou toulède kaz nan pwochen
kou pi gran pase oswa egal a 4.5, oswa pwochen an menm
pwofesè, w ap di egzakteman kisa yon ekspresyon Boolean.
Moutre m 'kou pou ki sa ekspresyon ki vre.
Oswa ki adwat la, fè sa ki pa an konfli avèk kou mwen
pran, si ki tcheke wi, Lè sa a, se wi, ou vle tcheke
ki kondisyon, lòt bagay ou vle inyore li.
Se konsa, Boolean ekspresyon yo se sòt de tout otou, men lè
nou mete yo nan kondisyon yo, si wi ou non, si kondisyon yo, SI
ELSEs, oubyen nou ka menm simule pi fon
nivo, SI LÒT SI Lòt Bagay -
pou ki nan sòt de yon eta tèrsyèr.
Ou ka ale nan fason sa a oswa nan fason sa a oswa fason sa a.
Nou kapab kenbe bagay sa yo nidifikasyon yo ale nan direksyon diferan.
>> Se konsa, reyur gen sa yo pasan, tankou pou tout tan.
Li te gen karakteristik sa yo tankou Repete 10, gen kèk
fini kantite fwa.
Nou gen kapasite a kounye a yo mete varyab, se konsa nan ka sa a
Mwen te deklare, pou egzanp, yon varyab chosèt rele.
Mwen te inisyalizèd a 0, e ke la ankò yon lòt direksyon
nou te ka yo te pran moute isit la avèk Jozèf, annakò ak sa petèt mwen
jis kenbe tras nan konbyen chosèt mwen gen sou yo ak sou mete fen nan
pwogram la lè valè varyab sa a se 2.
Ki ta ka yon lòt fason nan sòt de jeneralizasyon ki
pwoblèm ak fè yon bagay ankò epi ankò.
Oke, kite la ale pi devan epi kounye a prezante yon koup nouvo bagay.
Se konsa, moun nan nou ki gen eksperyans anvan pwogramasyon pral
konnen ke yon anpil nan lang gen ranje, oswa vektè oswa
lis, ak tout bon, reyur gen yon bagay tankou sa a, tou.
Se konsa, kite a wè si nou pa ka pran bagay sa yo nan yon nivo pwochen isit la.
Si mwen gen kapasite nan, kounye a, ak sa yo moso devinèt
ajoute yon bagay, tankou yon mo oubyen yon nimewo, nan yon varyab, mwen kapab
kòmanse akimile bagay sa yo.
Ak sa a se aktyèlman oporten bèl pou bagay sa yo tankou jwèt,
wòl-jwe jwèt kote w ap kalite ap mache otou
kèk nan mond fantezi kolekte bagay sa yo, davwa bagay yo,
touche pwen, oswa renmen an.
Ou ta ka vle kenbe tras nan kèk kalite envantè, ak
tout bon, se sa ki youn nan ansyen elèv nou yo isit la te fè avèk
yon bagay yo rele Fruitcraft rp.
>> Se konsa, kite m 'ale pi devan epi louvri moute bagay sa a isit la, ak nan
Fruitcraft, nou gen mond sa a moute nan tèt.
Se konsa, kite m 'ale pi devan epi klike sou drapo a vèt.
Avi sou bò gòch tèt se kèk kalite envantè.
Sa se aplike nan reyur kòm sa nou ap rele yon etalaj oswa
yon lis, e kounye a, nou gen sa a animasyon ti kras.
Se konsa, menm jan nou te kòmanse pi bonè ak istwa sa a renmen bonbon,
ak Lè sa a, nou avanse chat, ak lanmè lyon, kounye a nou ka gen
bagay sa yo ke se menm plis entè.
Lè sa a ti kras nèg ble, mwen ka kòmanse pou avanse pou pi alantou l '
ti kay isit la.
Se konsa, li sanble li te gen yon sòti desann isit la, se konsa mwen lè l sèvi avèk
kle yo flèch, moute, desann, yo kite dwat.
Epi, koulye a mwen deyò, kidonk kite sa ki mwen te gen isit la.
Sanble yon zoranj, ak tout bon, kòm pli vit ke mwen manyen la
zoranj, li vin plopped nan envantè m 'yo.
Si m 'ale sou isit la yo seriz yo, koulye a, mwen gen yon bagay
lòt moun nan envantè m 'yo.
Ak sa a se tout bèl ak cute, men panse osijè de kòman, kounye a, sa a
se aplike.
Oke, nou gen sa a nosyon nan yon lis, e ke se aparamman yon
moso devinèt ke ou jis di sa ou vle ajoute nan li, ajoute
zoranj, ajoute seriz.
Koulye a, ki sa ki sa a ti kras nèg ble ap fè?
Oke, li se yon luten.
Ak prezimableman, zoranj la ak seriz yo -
yo menm yo te sprit apa.
Ak lè l sèvi avèk kondisyon yo ki nan ekspresyon Boolean,
elèv te pwobableman kapab eksprime ide yo SI ble nèg se
manyen seriz lè sa a ajoute seriz yo nouvèl la nan li
envantè, ak Lè sa a, tou kache luten nan Cherry.
Se konsa, anba kapo a, gen pwobableman toujou se yon Cherry
luten la.
Nou te jis rakonte l 'bay vin efektivman envizib.
>> Koulye a, si mwen kenbe mache sou isit la, nou ka fè tou sa
amon bagay, kote mwen ka ale pou li epi li siy nan.
Se konsa, si ble nèg manyen siy, nou ka gen sa a blòk diz
jis tankou chat la te pale ak nou nan mo, hello, byen bonè, "Got
kèk fwi?
Pote l 'bay plas la fwi. "Tout dwa, pou kounye a, aparamman,
Mwen gen direksyon m 'yo.
Mwen ka ale sou isit la nan plas la fwi a, dwat tèt mwen moute
ak pòt la.
Koulye a, mwen ta nan isit la.
Mwen ka ale jwenn nonm lan bò kontwa an.
Li te detekte sa mwen m tou pre l ', se konsa li pa gen yo dwe
byen idantik manyen, epi mwen gen te genyen jwèt la.
Se konsa, gen nou gen Fruitcraft rp.
>> Se konsa, nou ka fè bagay sa yo menm ki pi avanse pase sa.
Nou kapab ajoute son.
Nou kapab ajoute pseudo randonès.
Nou kapab ajoute konpleksite.
Kite m 'ale pi devan isit la, ak olye ke fè sa tèt mwen,
kite m 'moutre ou youn nan observation yo pi plis sofistike
nou te resevwa ane pase a ki sòti nan yon yon moun yo te rele Blake.
Èske nou ka gen yon sèl volontè ki se konfòtab parèt sou
kamera, epi se la ap moute pou jwe yon jwèt?
Kouman sou dwa genyen?
Vini non sou yo.
Tout dwa, se konsa jwèt la ki di ou gen jis enkonsyaman
volontè yo jwe -
[Aplodisman]
DAVID Malan: - se yon bagay ki soti nan pase yo rele
"Frogger." Ki jan ou rele?
RENDA: RENDA.
DAVID Malan: Redna?
RENDA: Se tankou Brenda ak yon b.
DAVID Malan: Oke, RENDA.
David.
Bèl al kontre ou.
>> Se konsa, isit la nan "Frogger," epi si nou te ka ogmante volim nan jis
yon ti jan, se ou ki sa a ti kras
vèt krapo sou anba a.
Ou ka itilize agoch, adwat, leve, li desann, epi objektif ou se
travèse lari a, travèse rivyè a, ak touche Tanpon yo yon bèl ti flè
nan tèt la.
Aw.
Youn nan pi plis t -
refè, tout dwa?
Se pou nou sispann frape.
Pa gen moun ki te wè sa.
[Aplodisman]
DAVID Malan: Yeah.
Trè byen fè.
Ekselan, di ou mèsi.
>> Se konsa, ke te gen Frogger. Kounye a ke ou konnen ki sa ou te
vinn tèt nou nan, youn plis volontè pou yon diferan
jwèt soumèt pa yon lòt elèv yo.
Ou vle yo vini sou a?
Ki sa ki nan non ou?
RICHARD: Richard.
DAVID Malan: Richard.
Tout dwa, Richard, vini sou yo.
[Aplodisman]
DAVID Malan: Ou gen yon bagay ki pral son
abitye byento, se konsa isit la yo se prensip ou yo.
Se konsa, nan yon moman, kèk moso devinèt yo ale nan woulo liv moute
soti nan ekran an ki gade swa kite
oubyen dwa monte oswa desann.
W ap ale nan gen frape kle yo flèch nan yon fason
ke li koresponn ak moso sa yo devinèt doubli ak
placeholders yo nan tèt.
Se konsa, lè ou wè yon flèch bò gòch, epi li liy moute ak bò gòch la
flèch, frape flèch la bò gòch.
Ou kapab kòmanse.
[Klas Mizik - "pi fò" KAYNE WEST]
DAVID Malan: Tout dwa, gwo wonn nan aplodisman pou Richard.
[Aplodisman]
DAVID Malan: Trè byen fè.
Mèsi poutèt ou.
[Aplodisman]
>> DAVID Malan: Se konsa, plezi ak, w pèdi, sòt de
entimidasyon kòm li ta kapab aplike yon bagay tankou
w pèdi sofistike tankou sa a, reyalize ke elèv la
pa t 'pati ak jis ekri sa a tout moun nan yon fwa.
Olye de sa, ou ka kraze yon pwoblèm kòm w pèdi konplèks
tankou sa a nan pi piti anpil ti moso, epi sa a, tou, se
pral gen yon tèm.
Bagay ki pi mal la ou ka fè nan ekri yon pwogram nan pifò nenpòt
lang se yo chita, jwenn vrèman eksite, ekri a
antye bagay modi, ak Lè sa a, jis espere ke li ap travay pa la
tan ou fini ekri.
Olye de sa, pwosesis la nan pwogram yo ta dwe jeneralman
gen anpil ekspre, trè repete, annakò ak sa ou jis
mete etap ki piti anpil pou nou, moso mòde-gwosè
ou vle mòde koupe, epi pou ke ou gen sa yo saniti
chèk, jalons ti kras ou ka rankontre.
Lè sa a, ou bati sou tèt nan sa yo kreye plis
bagay sa yo sofistike toujou.
>> Se konsa, pou egzanp, ki jan nou ta ka ale sou
mete ann aplikasyon yon jwèt tankou sa a?
Oke, franchman, mwen ta sètènman kòmanse pa jis
sipòte yon sèl kle nan yon tan.
Se pou nou jis aplike sipò pou flèch la bò gòch.
Se konsa, elèv la te gen nan yon jan kanmenm kreye nan fotoschop, oswa nan
Grate tèt li lè l sèvi avèk ti kras editè a grafik, ki se yon
kle flèch ki sanble yon sèl ki nan tèt kite a, jis
kontneur a gri.
Lè sa a, elèv la te gen nan konnen sa ki x, y kowòdone
mete l ', ki kote yo mete l' nan fennèt la.
0, 0 se leve isit la, kidonk, ou gen figi soti ki kantite
piksèl, oswa pwen, nan konpanse ki flèch soti nan
tèt la nan ekran an.
Lè sa a, yon fwa sa a, se nan plas, pwogram ou a pa aktyèlman
fè anyen ankò, kidonk, ou Lè sa a, bezwen yon luten segonn, pou
egzanp yon flèch vèt ki la tou lonje dwèt kite, epi ou
Lè sa a, bezwen kòmanse ekri kèk Scripts pou li a.
>> Epi ou avi, petèt, ki bagay sa yo te kòmanse vini nan
vitès diferan, ak koulè yo te nan diferan
kote, ak sa a, se paske elèv la te itilize yon ti jan nan
pseudo randonès.
Ak pa randonès pseudo, mwen jis vle di chwazi yon nimewo
ant yon bagay e yo yon bagay paske ou kapab
kòmanse bagay sa yo kat yo, tankou si kantite a se ant youn ak
senk, byen, kite a fè bagay la vèt.
Si li la ant 6 ak 10, kite la fè moso nan devinèt
wouj olye.
Se konsa, toutotan ou gen yon fason de génération kèk kalite
randonès, ou ka Lè sa a, pran desizyon ki baze sou ki
randonès.
Apre sa, mwen kenbe li di pseudo o aza paske gen yon
ti sekrè sal.
Odinatè pa kapab vini ak nimewo o aza.
Yo kapab sèlman fè sa y ap di paske
yo ap moun yo te fè ki bay sipò.
Yo pa ka jis devine yon nimewo tankou nou moun
santi tankou nou kapab.
Yon òdinatè ki gen fè yon bagay matematik sorselri a moute
ilizyon nan nimewo matematik, pafwa lè l sèvi avèk la
aktyèl jou nan tan kòm yon antre n ap kalkile konnen ki sa ki
nimewo retounen, men li plis sou tan sa a yon lòt.
Pou kounye a, jis konnen ke nou ka jenere pseudo randonès.
>> Se konsa, yon fwa mwen gen kapasite a pou flèch la bò gòch yo kòmanse
parèt nan fwa diferan ak nan vitès diferan, Lè sa a,
Mwen ka ale retounen lakay yo epi ajoute kèk nan sa yo, si kondisyon yo.
SI sa a luten an touche yon sèl nan lòt, AK flèch la bò gòch
kle ki te bourade -
se konsa twa kondisyon yo nan ka sa a.
Mwen kapab itilize ke AK bloke petèt, nan ka sa a -
Apre sa, mwen vle ale pi devan epi kantite nòt la.
Ak nan tèt, nou gen yon nòt, nou gen Awesome,
Fre, Bon, ak bou.
Se konsa, gen nan aparamman senk varyab ki elèv sa a
itilize nan kenbe tras nan sa yo mesures divès kalite.
Se konsa, nan kout, rezilta nan fen se etonan.
Li amizan, li la plezi yo jwe, li la angaje, men sa a se pa
kote elèv la te kòmanse.
Li te oswa li te kòmanse nan yon seri pi piti anpil nan etap.
>> Se konsa, sa yo se kèk blòk bilding lòt ke nou kapab
mare nan pwogram sa yo?
Oke, gen nan konsèp sa a lòt nan pifò lang,
Grate nan mitan yo, yo konnen kòm fil.
Se konsa, yon òdinatè ka aktyèlman pa vrèman fè bagay sa yo miltip nan yon
tan, nan omwen pa konn.
Olye de sa, yon òdinatè jeneralman jis gen yon CPU, e menm
menm si òdinatè yo Super vit ak kapab, Se poutèt sa,
kreye ilizyon a nan fè bagay miltip nan yon fwa -
tcheke lapòs ou a, ap resevwa yon moman
mesaj, enprime yon dokiman -
reyèlman, yon òdinatè se jis sote soti nan enprime IMing
Hamelin, retounen lakay yo epi retounen lakay yo epi retounen ak lide tèlman vit ke nou
dousman moun enjenyeu jis pa reyalize ke li la aktyèlman
kouri pwogram sa yo yon ti jan nan yon tan.
Koulye a, sa yon ti jan nan yon blan kouche jou sa yo, paske, sèjousi,
òdinatè anpil nou yo se sa ki yo rele milti-debaz, kidonk, ou
gen yon sèl CPU men am miltip, ki se kalite tankou
gen plizyè proseseur.
>> Se konsa, pafwa, òdinatè kapab vrèman fè bagay sa yo plizyè
nan yon moman, men jeneralman nan yon pwogram, pwogram
konte sou bagay sa yo rele fil.
Se konsa, yon moso fil se sòt de tankou yon pwogram Miniatures ki kapab
egziste ansanm ak yon lòt pwogram Miniature ak ka kouri
nan paralèl, oswa omwen ka kouri anba ilizyon a ki
yo ap kouri ansanm.
Se konsa, reyur sipòte bagay sa yo rele fil.
Ou ka gen Scripts miltip pwomenad a yon fwa, menm jan nou
te fè ak lyon an lanmè a ansanm ak sa a pèmèt nou aktyèlman
Lè sa a, gen echanj nan pami sa yo sprit.
Kite m 'ale pi devan isit la e ki rale moute, kite la di, fil, ak
jwe sa a jan sa a.
Nou gen de sprit, chak ki moun nou pral wè
jis gen yon script.
Epi ou avi gen sanble ap kèk entèlijans nan a
chat nan yon sèl sa a paske li te vin pi pwòch -
[K'ap gwonde]
DAVID Malan: - ak pi pre zwazo a ti kras.
>> Se konsa, kouman se opere nan zwazo?
Oke, kite la pran yon gade nan zwazo a an premye.
Script la zwazo di lè se drapo a vèt klike, ale nan x
egal negatif 115 ak y egal 150.
Se konsa, mwen jis kalkile soti yon kote o aza kote mwen te vle a
zwazo yo kòmanse, epi mwen jis plopped l 'la pa defo.
Lè sa a, pou tout tan SI li pa manyen chat, se konsa sa a se yon diferan
kalite tise loupin, men lide menm, fè sa ankò, li
ankò epi ankò.
Se konsa, lontan ke ou pa ap manyen chat la, deplase twa etap, ak
si ou se sou rebondisman nan kwen,, kote li a sòt de yon
refleksyon nan sans biya.
Se konsa, lè sa a jan zwazo a ap deplase alantou kalite
w pèdi aza, men li la jis paske li nan rebondi koupe
mi yo nan ka sa a.
>> Koulye a, chat la, pandansetan, se kalite poul la.
Chat la sa, lè se drapo a vèt klike, se wi, kòmanse nan
kèk kote, yon kote o aza -
omwen an pati tankou pou chak chwazi nan
o aza blòk vèt la -
ak Lè sa a, pou tout tan SI manyen zwazo a, jwe son an jenn ti lyon,
ak Lè sa a, sispann script.
Se konsa, lè m 'te di mete fen nan, oswa sòti anvan, gen nan yon devinèt
moso nan reyur ki pral jis touye pwogram lan nan ki
pwen paske li nan kalite lojikman fè.
Men, otreman, isit la, avi sa ki pral rive.
Pwen nan direksyon zwazo a ak deplase yon sèl etap.
Se konsa, pwen sa a nan direksyon zwazo se kalite yon avantaj chat la
gen nan ke li nan otogidaj nan sou zwazo a deplase, epi nou kapab
kounye a fè pwogram sa a tout plis enteresan an.
Olye pou yo k ap deplase yon etap nan yon tan pou chak sik CPU, pou chak
frape nan nimewo telefòn nan klòch a, se konsa pale, kite m 'ale pi devan epi
deplase, kite la di, senk etap nan yon moman kòm chat la.
Klike sou kouri, e kounye a li reyèlman jwenn l 'byen vit.
Si nou double sa a pi lwen a 10 etap, li kalite ale
dwa pou li.
Koulye a, nou kapab bay zwazo a,
petèt, yon ti jan nan yon avantaj.
Se pou nou ale nan zwazo a ak di olye pou yo k ap deplase twa etap,
kite yo deplase l '30 etap.
Men, li toujou te resevwa kole nan fen an.
>> Se konsa, isit la, nou gen de fil.
Li nan prizon nan reyur ak de Scripts ak de
sprit, men lide a nan lòt lang yo se ke ou kapab
ekri, ki esansyèlman, pwogram twò anpil tankou sa a epi yo gen
yo kouri vrèman, oswa imaginarily, nan paralèl.
>> Koulye a, gen nan tou konsèp sa a nan pwogram li te ye tankou
evènman yo, e sa se yon bagay nou pa pral wè nan C,
lang li te ye tankou C. Nou pral wè l 'rive sou fen semès la
nan pwogram entènèt, lè nou prezante JavaScript a ak
nosyon nan paj wèb bilding ki yo dinamik ak kominike
ak itilizatè.
Se konsa, nan ka sa a, nou gen yon egzanp trè senp nan de
sprit, ti gason ak ti fi, chak nan yo gen rèspèktif yo
fil, men yon jan kanmenm sa yo de yo se entè-kominike nan chemen
nan yon bagay yo rele evènman yo.
Se konsa, kite m 'ale pi devan isit la ak rale nan sou script ti gason an,
ki sanble sa a.
Lè vèt drapo klike, pou tout tan fè bagay sa a.
Si se espas ki la kle yo, oswa Bar a Espas, bourade, di
Marco pou de segonn, ki nan piman ayestetik sou la
ekran, yon bil diskou ti kras, men Lè sa a, pase.
>> Se konsa, difizyon se yon lòt moso reyur ki nan
reprezantan nan yon klas de fonctionnalités nan pwogramasyon
ki pèmèt pwogram diferan, fil diferan,
entè-kominike, nan yon jan kanmenm voye
mesaj, yon sèl nan yon lòt.
Pase yon moso papye nan klas se sòt de teknoloji a ki ba
ekivalan.
Se konsa, emisyon evènman.
Mwen ka voye voye mesaj sa a, ak evènman nan mo
se konplètman abitrè.
Grafouyen pafwa gen sa yo Downs gout, Se konsa, mwen jis li moute soti deyò
ak yon mo o aza tankou evènman paske koulye a, ki sa ki ti gason an fè
lè mwen peze kle a se li emisyon evènman sa a.
Men, si mwen gade kounye a nan script ti fi a, li se script
Super senp paske tout li bezwen fè se pa sa aji lè
se drapo a vèt klike.
Li se fèt nan aksyon lè li te resevwa quote, unquote,
"Evènman", ak nan pwen sa a, li te tande Se poutèt sa pou
evènman an sa yo rele ankò epi ankò.
Le pli vit ke li resevwa ke evènman, li te ale nan rele
Polo pou de segonn.
>> Se konsa, ou ka petèt dégager sa a soti nan sa ki la egzakteman
pwochen rezilta a pwal.
Kite m 'klike sou drapo a vèt.
Pa gen anyen k ap pase paske mwen bezwen fè ki sa?
ODYANS: Bar Espas.
DAVID Malan: Bar Espas.
Boy di Marco, ti fi di Polo.
Men, ki pa nan difisil kode se pou chak.
Sa a se entè-kominikasyon ant Scripts sa, koulye a nou
gen kapasite nan fè pwogram menm plis konplèks kote
sa yo de yo se yon jan kanmenm entè-pou yo kominike.
>> Se konsa, nan sa ki direksyon nou ka pran sa a?
Oke, nan seri pwoblèm 0, reyèlman, objektif la se
pran plezi ak grafonyen moun.
Pou edisyon an aker, ou pral olye pran plezi ak yon plis
sofistike vèsyon an reyur rele BYOB, Bati
Blòk poukont ou, men lide a se menm bagay la.
Ou pral kapab -
Wi, sa ki te ekspre.
Li te soti nan Berkeley.
BYOB se vèsyon an edisyon aker sa a, men tou de
a, démographie, estanda edisyon ak edisyon aker sanble
objektif nan yon men pou yon semèn k ap vini se reyèlman jis plonje nan
gwo twou san fon, pran men ou sal ak pwogramasyon, epi fè
yon bagay ki enteresan, fè yon bagay entèaktif, fè
yon bagay atistik, fè plezi yon bagay yo aktyèlman
demontre, se konsa ke nan fen semèn nan, ou pral gen yon pwojè,
pa sèlman pou pset premye fwa ou CS50, men ou pral gen yon
ti kras yon bagay ke ou ka montre wete nan Annenberg
zanmi oswa fanmi menm pa transfere li nan sit entènèt MIT a.
Se konsa, jan mwen te di nan Mèkredi, nou espere 90% nan klas la,
jeneralman, fè edisyon yo estanda.
Reyalize ke gen nan tou sa a priz pou moun nan nou ki
ka otreman jwenn tèt ou yon ti jan raz avèk Basics yo
ak reyèlman vle plonje nan ak navèt yon vizyon ou deja
genyen ak eksperyans nan sa a zanmitay plis
anviwònman.
>> Se konsa, kite m 'rale moute yon lòt egzanp wè yon sèl nan ansyen nou an
elèv yo isit la te fè ak di yon ti kras yon bagay nan chante.
Sa Menm jan tou, tankou sa a jwe, panse osijè de kòman ou ale sou
mete ann aplikasyon pwogram sa a lè l sèvi avèk pwesizeman sa yo menm
bilding blòk, yon ti kras nan randonès pseudo, ak yon
ti jan nan chante ki familye.
Si nou te ka ogmante volim nan jis yon ti jan?
[Klas Mizik - "lapli ap tonbe GASON" TIFI metewolojik la]
>> DAVID Malan: Sa a se li pou CS50.
Nou pral wè ou nan Lendi.
[Aplodisman]