[Powered by Google Translate] [Seksyon 3] [Mwens Alèz]
>> [Nate Hardison] [Inivèsite Harvard]
>> [Sa a se CS50.] [CS50.TV]
>> Tout dwa, kite a jwenn te kòmanse.
Byenveni nan Semèn 4 nan CS50.
Si ou nèg louvri moute yon navigatè entènèt ak louvri moute pset 3,
Goumen ak CS50, nou pwal kòmanse ale
nan seksyon an nan kesyon la.
Jis tankou semèn sot pase yo, nou pral k ap travay nan CS50 Espas,
si ou ap tou rale ke moute kòm byen,
epi si ou ale pi devan epi vizite lyen sa a ke mwen te leve isit la nan tèt la.
Li lè jwenn te kòmanse.
Nou gen pwogram ti kras hi nou isit la. Pa gen anyen fou.
Youn nan bagay ki premye mwen vle fè avèk ou guys jodi a se ale sou yon solisyon kèk
yo mete Pwoblèm 1, kalite solisyon egzanp,
jis konsa ou ka resevwa yon santi yo pou ki kalite anplwaye kòd ap ekri,
ki kalite kòd lòt elèv yo ap ekri,
epi yo gen ou pran yon gade nan li paske m konnen li la etranj
lè ou soumèt yon solisyon a yon seri pwoblèm epi pou yo jwenn kòmantè
sou vèsyon pwòp ou a, men pafwa li bon yo wè ki jan lòt moun te fè li,
espesyalman moun ki gen bèl gade.
Pou pati ki pi, mwen te vwèman enpwesyone ak solisyon sa yo ke ou nèg pwodwi.
Mwen poko te kòmanse kap nan 2s Set pwoblèm ou an, men si yo ap anyen tankou premye a,
sa vle di li pa gen anyen men bon bagay.
>> Si ou gade nan revizyon m 'yo, kite la kòmanse tout wout la desann nan Revizyon 1,
e nou pral pran yon gade rapid nan yon solisyon Mario.
Si ou rale sa a leve, pwogram sa yo ke nou pwal prezante yo kòrèk.
Pa t 'gen pwoblèm ekzaktitid ak pwoblèm sa yo, men pito,
nou vle pale yon ti kras sou pwoblèm yo ki konsepsyon diferan
ki te ki te itilize isit la.
Youn nan bagay ki sa ki te enteresan sou solisyon an
se ke li te itilize sa a konstri nouvo rele liv defini,
pafwa tou refere yo kòm yon regle defini.
Kite m 'rale nan sou li isit la.
A # defini pèmèt ou bay non nimewo sa yo nan pwogram ou an.
Nan ka sa a, wotè maksimòm nan yon piramid nan Mario
te 23 ak olye ke mete 23 nan mwen kòd-
nou ta gade nan ki jan difisil kodaj 23 -
olye sa a ba MAX_HEIGHT a non ak sa yo ki nimewo,
pou ke desann isit la nan fè-pandan y ap riban mwen
ou ka aktyèlman gade nan MAX_HEIGHT
olye pou yo mete nimewo a 23 pous
[Elèv] Ki avantaj ki genyen nan fè sa?
Sa se yon gwo kesyon.
Youn nan se lizibilite.
Yon avantaj ki genyen nan lè l sèvi avèk sa a # defini se lizibilite.
Lè m 'ap li sa a kòd, mwen ka wè sa ki pral sou.
>> Mwen ka wè nan kondisyon sa a isit la ke nou ap fè tès
pou wotè a ke yo te <0, ki nou te ka genyen tou defini
yo dwe yon wotè minimòm oswa yon wotè min.
Avantaj nan lòt se ke mwen ka Lè sa a, li rès la nan liy lan yo wè
ke nou ap tou tcheke a asire w ke wotè se pa pi plis pase wotè a max,
paske nou ap ale nan kontinye pandan y ap wotè a se pi gran pase wotè a max.
Avantaj nan lòt se-si mwen rale soti yon ti jan isit la-
si mwen kouri pwogram sa a epi mwen kouri l ', di, avèk 23 kounye a,
li pral enprime soti tout ranje 23 jis tankou sa.
Men, di mwen te vle chanje wotè a max,
ak koulye a, mwen vle limite wotè a maksimòm de piramid
yo dwe sèlman di-moun, ki te Funky.
# Enkli , # defini MAX_HEIGHT,
epi kite pou nou di nou te vle mete l 'egal a 10.
Koulye a, nan pwen sa a, tout Mwen te fè te chanje li nan sa a kote youn.
Mwen ka compile kòd la, e kounye a, si mwen eseye ak tape nan 12,
li pral fè m 'ankò.
Nan ka sa a, n ap sèlman lè l sèvi avèk MAX_HEIGHT yon fwa.
Li pa ki gwo yon konplikasyon yo ale nan
ak chanje li nan riban an pandan y ap si ou bezwen.
Men, nan pwogram ki kote ou indican nimewo a majik menm
sou yo ak sou ankò, sa a # defini mekanis se reyèlman sou la men
paske ou jis chanje a yon sèl fwa nan tèt la nan dosye-li-a yo nan tipikman kote ou te mete
ak chanjman nan percolates nan rès la nan dosye a.
>> Lòt bagay mwen te vle sonje sa a nan plasman ke mwen te panse gade reyèlman bon,
yon sèl te nonmen la nan varyab yo.
Ou wè isit la ke nou te gen varyab nonb antye relatif yo rele ranje ak rele wotè.
Espas, achaj, li te ede fè kòd la yon ti kras plis lizib,
fè li yon ti kras pi plis konprann sa ki aktyèlman pral sou.
Sa a se nan kontras lè l sèvi avèk, di, lèt o aza
oswa jis jagon tout ansanm.
Yon bagay final mwen pral pwen soti se ke nan pou pasan,
souvan sa yo varyab iterator, sa yo kontwa ke ou itilize nan ou a pou pasan,
li nan estanda ak konvansyonèl yo kòmanse yo ak swa mwen ak Lè sa a, j ak Lè sa a, k
ak pwal sou apati de la si w bezwen plis varyab,
ak sa a se jis yon konvansyon.
Gen anpil bagay nan konvansyon.
Sa depann de lang nan pwogram w ap itilize.
Men, nan C, nou tipikman kòmanse avèk mwen.
Li pa fè sans yo sèvi ak, di, yon oswa b
depann sou sitiyasyon an.
Sa a li pou sa a youn.
Si ou kounye a rale moute Revizyon 2, ou pral wè yon lòt Mario,
ak yon sèl sa a se menm jan ak yon sèl nan lòt ke nou jis te wè,
men li fè sa kalite yon bagay ki fre.
Si nou gade nan seksyon sa a isit la andedan enteryè a pou riban,
yo ap lè l sèvi avèk kèk fou sentaks kap isit la dwat nan liy sa a.
Se sa yo rele yon operatè tèrsyèr.
Li se yon deklarasyon si lòt kondanse nan yon sèl liy.
Kondisyon an se nan pati sa a nan parantèz.
Li nan ekivalan a li di si j wotè <- mwen - 1.
Lè sa a, ki sa sa ki nan ke si blòk ta dwe se espas ki la
ak Lè sa a, sa ki nan ki lòt bagay la ta dwe se sa a #.
Li nan esansyèlman plase yon espas sa a varyab.
Li nan mete yon espas nan sa ki nan varyab la blòk,
si se kondisyon sa a te rankontre, epi si kondisyon la pa te rankontre,
Lè sa a, varyab la blòk vin sa a #.
Lè sa a,, nan kou, olye pou yo bati yon fisèl tout
ak enprime tout bagay soti nan fen a sa a solisyon simagri li soti yon karaktè nan yon tan.
Joli fre.
>> Yon lòt koup nan bagay yo gade. Nou pral deplase sou visye.
Koulye a, si nou gade nan visye, sa a solisyon premye
itilize sa yo # defini byen yon ti jan.
Nou gen yon sèl konstan defini pou chak nan nimewo ki diferan nan pwogram sa a.
Nou gen yon sèl pou santim pou chak dola, yonn pou trimès, dis kòb, vennsenk kòb, ak peni,
e kounye a, si nou desann, li li kòd la,
nou ka wè yon estanda fè-pandan y ap tout bagay enprime riban deyò.
Kalite neu a nan pwoblèm sa a te reyalize ki
ou bezwen konvèti flote nan ke ou li nan soti nan itilizatè a yon nonb antye relatif
avèk presizyon fè matematik la, ak sa a se paske
ak nimewo pwen k ap flote, tankou nou te pale de nan konferans yon ti tan,
li pa posib avèk presizyon reprezante chak valè sèl sou dwat nimerik la
paske gen anpil enfiniman valè ant 3 ak, di, 3.1 menm.
Ou ka gen 3.01 ak 3,001 ak 3,0001, epi ou ka kenbe prale.
Li vire soti ou nenpòt lè w ap travay ak lajan, ou souvan vle konvèti li
nan fòma antye relatif pou ke ou pa ap pèdi peni ak ki kalite bagay.
Lè w fè sa ki epi awondi te kle.
Solisyon sa a te itilize yon parfe dwat, gwo algorithm,
ki dekremante ki kantite santim rete yo, premye pa trimès,
Lè sa a, pa dis kòb, lè sa a pa vennsenk kòb, Lè sa a, pa peni,
epi ajoute nan kantite pyès monnen chak fwa.
>> Yon lòt solisyon ki nou pral wè, jan mwen rale deyò epi yo ale nan Revizyon 4,
te gen yon kòmansman trè menm jan, men olye yo itilize div ak Mod
dwa sou isit la yo kalkile ki kantite santim.
Sa a, ki kantite trimès ki egal a ki kantite santim divize pa 25,
ak rezon an sa a ap travay se paske n ap fè nonm antye divizyon,
Se konsa li jete nenpòt rès.
[Elèv] nou gen fè kòmantè rechèch la?
Li reyèlman depann.
[Elèv] Ou ap kòmantè plis pase kòd dwa isit la.
Yeah, epi konsa gen yon pakèt moun sou divès filozofi sou sa.
Filozofi pèsonèl mwen se ke kòd ou se reyèlman verite a,
tankou kòd ou a se sa ki la aktyèlman egzekite sou òdinatè a,
e konsa kòd ou yo ta dwe tankou ki lizib ke posib pa nécessitent kòm kòmantè anpil.
Sa te di, lè w ap ap fè bagay ki kalite difisil matematik
oswa algorithmically, li nan bon fè kòmantè sa yo pou ke ou kapab
ajoute yon dimansyon siplemantè, yon kouch siplemantè nan moun ki va ap li kòd ou a.
Nan sa yo solisyon, souvan yo ap kòmante plis lou jis paske
nou vle pou kapab distribye yo epi yo gen moun al chèche yo
ak li yo trè fasil.
Men, definitivman, mwen ta dakò ke sa a se lou.
[Elèv] Men, lè ou gen yon dout, ale pi lou?
Lè w gen dout, ale pi lou.
Gen kèk moun ki pral pafwa di 0 retou oswa yon bagay tankou sa.
Mwen panse ke se yon kòmantè ridikil.
Klèman sa a, se sa k ap pase.
Mwen pa bezwen angle di m 'sa.
Pafwa moun konn ap ekri bagay tankou "kthxbai!"
Sa a kalite bèl, men tou pa-
ki pa ki fè diferans ki genyen ant kòmantè pwen oswa ou pa.
Moun sa yo ki kalite kòmantè yo se jis ha, ha.
Fre.
>> Nan pwen sa a, kite la kòmanse ap travay sou pwoblèm lan Fikse 3 seksyon nan kesyon yo.
Si ou nèg rale sa a kanpe ankò,
menm jan ak semèn pase a, nou pa ap ale nan gade bout pantalon yo nan seksyon sa a.
Nou pral kite ou nèg fè sa sou pwòp tan ou epi pale sou kesyon yo.
Men koulye a, nan seksyon sa a nou pwal depanse yon ti kras pi plis tan
ap pale de mwens nan Basics yo kodaj
tankou nou te fè sa semèn pase a, ak olye de sa, nou pral konsantre plis sou
yon ti jan plis nan teyori a, se konsa pale sou rechèch binè ak Lè sa a, Fouye.
Soti nan moun nan nou ki te swiv ansanm ak konferans la,
ka yon moun ban m 'yon rapèl de sa ki diferans lan se
ant rechèch binè ak rechèch lineyè?
Kisa ki ale sou? Asire w.
Fouy rechèch lineyè nan chak eleman nan lis la Ranje
youn pa youn pa youn pa youn pa youn,
ak rechèch binè divize lis la an 2 gwoup,
chèk si valè a kle ke w ap chèche pou se pi gran pase oswa mwens pase valè pwen milye a,
ke ou jis yo te jwenn, epi si li nan mwens pase, li ale avèk lis ki pi ba
ak Lè sa a, divize sa ankò, èske fonksyon nan menm
tout wout la desann jouk li jwenn pwen milye la yo dwe egal a valè a li menm.
Dwat.
>> Poukisa nou pran swen?
Poukisa nou pale sou rechèch binè kont rechèch lineyè?
Yeah.
Binè se yon anpil pi vit, kidonk si w double gwosè a nan pwoblèm nan
li pran yon sèl etap plis olye ke de fwa anpil jan.
Egzakteman.
Sa se yon repons gwo.
Lineyè rechèch la anpil tcheke yon sèl eleman nan yon moman,
epi kòm nou te wè nan jou a nan konferans trè premye
Lè David mache ale nan tout egzanp liv telefòn li
ak chire soti yon paj nan liv telefòn nan yon moman
ak te kenbe fè sa sou yo ak sou yo ak sou ankò,
li pral pran l 'yon moman vrèman long jwenn okenn moun ki nan liv telefòn nan,
sòf si, nan kou, li te kap chèche yon moun nan kòmansman la anpil nan alfabè an.
Avèk rechèch binè, ou ka ale yon anpil pi vit,
epi li pa jis de fwa osi vit oswa 3 fwa kòm vit oswa 4 fwa osi vit.
Men, pwoblèm nan vin pi piti ak pi piti ak pi piti anpil pi vit.
Pou ilistre sa a, nou pral kòmanse pale osijè sa k ap pase sou
lè nou ekri rechèch binè.
Pwoblèm nan nan men se ke si mwen gen yon etalaj de chif,
di, 1, 2, 3, 5, 7, 23, 45, 78, 12323,
ak Lè sa a, 9 ak yon tòn a 0s apre li fin,
nou vle pou kapab konnen ki vrèman byen vit ki sa ki nan
sa a etalaj nan nimewo.
Mwen konnen sa a sanble yon ti kras komik ak yon ti kras parvenus,
paske kounye a li ye.
Nou gen yon etalaj ki pa gen eleman anpil nan li,
Si m 'poze youn nan ou nan figi soti si ou pa
23 se nan etalaj la, ou ka fè sa byen vit
jis pa ensidan sa a nan ak di m 'wi oswa non.
Se analòg la yo konsidere imajine si sa a yo te, di,
yon Excel calcul ak 10,000 ranje, 20,000 ranje.
Natirèlman, ou ka fè F nan lòd oswa F kontwòl la epi gade yon bagay yo.
Ou kapab tou itilize filtè yo ak lòt bagay rechèch la,
Men, si ou te gen yo gade atravè ki liy dosye pa liy pa liy,
li ta pran ou yon bon bout tan jwenn li.
Li nan kalite tankou nan egzanp lan liv telefòn, tou, ki kote
pèsonn pa sanble nan yon paj yon liv telefòn nan yon tan.
Tipikman, yo louvri li nan mitan an,
oswa nan ka a nan yon anpil nan liv telefòn ak diksyonè kote
ou gen aktyèlman li antre sou lèt la premye fwa,
ou baskile ak sa yo ki premye lèt ak louvri, epi kòmanse ale atravè tout la.
>> Raple m 'nan non ou ankò. >> Sam.
Sam.
Menm jan ak Sam te di, pwosesis sa a rechèch lineyè a pwal vrèman dousman,
ak olye l avèk rechèch binè, se fason ki sa a travay se ke
chak fwa nou ale nan yon iterasyon nan chèche algorithm nou an,
nou pral divize lis la nan mwatye, esansyèlman,
nan de lis pi piti.
Lè sa a, sou iterasyon nan pwochen nan riban an, nou pral divize l 'ankò
nan lòt lis pi piti.
Kòm ou ka wè, pwoblèm nan kenbe vin pi piti ak pi piti
paske nou kenbe jete mwatye nan lis la chak fwa sèl.
Kòman sa fèt sipoze jete?
Jis kòm yon rapèl, ki sa nou ap ale nan fè si nou tout nou te yon òdinatè
epi nou te, di, chache pou yon nimewo pou la 5 nan lis sa a
se ke nou ta chwazi yon nimewo nan mitan yo.
Nan mitan lis sa a, paske gen 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 chif,
nou ta chwazi nimewo a swa nan pozisyon an 4yèm oswa nan pozisyon an 5yèm,
ak nou ta rele ki la nan mitan lis nou an.
Chwazi nimewo nan mitan.
Lè sa a, jis tankou Sam di, nou pral teste yo wè si nimewo sa a ki egal
ak kantite a ke nou vle jwenn oswa nimewo vle nou an.
Si li la egal, lè sa a nou te jwenn li. Nou genyen.
Si li pa egal, lè sa a gen yon koup la ka.
Ka yo de yo se swa nimewo a gen yo dwe pi plis pase kantite an ke nou ap chèche a,
oswa li nan mwens pase.
Si li la pi gwo, nou deplase a dwat la.
Men, si li nan mwens, nou deplase li nan yon bò gòch li.
Lè sa a, nou repete pwosesis la tout antye ankò
sou swa mwatye nan dwa oswa mwatye nan gòch nan lis la.
>> Pwoblèm nan premye nan seksyon jodi a se yo konnen ki
ki jan nou ka aktyèlman kòmanse yo eksprime sa a nan kòd C.
Nou gen pseudocode la isit la.
Ki sa nou pral kòmanse fè se mwen pral rale moute yon mak-nouvo espas,
sove revizyon sa-a pou ke nou gen sa yo nòt pou pita,
nou pral efase tout bagay sa a, ak Lè sa a, kopi ak keratin nan ansanm sa a pwoblèm
enfòmasyon sa a antre nan espas nou yo, ak èspere ke sa a pa kraze.
Pafè.
Si ou nèg tout fè sa, yon kopi ak keratin sa a kòd nan espas nouvo ou a,
nan yon yon sèl vid.
Ann eseye Danyèl. Si ou konpile epi kouri pwogram sa a, li travay?
No >> Kisa ki li di a?
Li di kontwòl la rive nan fen ki pa anile fonksyon.
Yeah, se konsa, kite m 'eseye kouri li.
Eske ou te wè nèg sa a ye anvan an? ou konnen ki sa sa vle di?
Oke, kite la sèksyone sa a yon ti kras ti jan.
Li nan di nan file.c sou liy 9, kolòn 1 nou gen yon erè, jis tankou ou te di,
ak li di ke li nan isu de avètisman an erè ak avètisman an kalite retou.
Li sanble tankou yon bagay ki sa ki pwal sou ak kalite a retounen, ki fè sans.
Nou te gen yon fonksyon ki pa anile, ki vle di ke nou te gen yon fonksyon
ki pa retounen ankò.
Yon fonksyon anile a se youn ki sanble tankou sa a:
anile foo (), epi li anile paske kalite a retounen se anile,
ki vle di ke si nou te gen yon bagay nan isit la
tankou retou 1, nou ta jwenn yon erè du yo pou sa.
Sepandan, nou gen yon fonksyon ki pa anile.
Fonksyon ki pa anile nou ki nan ka sa a se fonksyon rechèch nou an
paske li gen yon kalite retounen nan bouleen.
Lè li nan ki di ke kontwòl la rive nan nan fen yon fonksyon ki pa anile,
li nan paske rechèch pa gen yon deklarasyon retou.
Li pa nan retounen nenpòt bagay ki gen kalite bouleen.
>> Nou ka ranje sa, ak ki sa ou panse nèg
rechèch dwe retounen pa default?
Ki sa ki ta dwe valè a retounen default nan rechèch?
Paske se sa ki nou ka mete nan fen an.
Charlotte, ou gen nenpòt-?
Vre oubyen fo? >> Vre oubyen fo.
Ki youn?
Fo. Mwen pa konnen.
Fo? Ann eseye li.
Poukisa ou ta di retounen fo? Sa a entwisyon an gwo.
[Charlotte] Mwen pa konnen.
Nou pral retounen fo nan ka sa a paske sa a pral default nou an
si pou kèk rezon lis la a vid oswa zegwi a
ke nou ap chèche pou pa egziste.
Lè sa a, nan fen a trè, si nou pa tounen vre byen bonè nan fonksyon sa a,
nou toujou konnen ke sa a fonksyon ap di non, li pa nan etalaj la.
Li pa nan gwo pile zèb la.
Koulye a, si nou konpile epi kouri li-kite m 'sove sa a pou nou ka rale li leve.
Koulye a, si nou konpile epi kouri pwogram nou an, li bati.
Nou jwenn èd memwa ti kras nou an.
Si m 'frape 4-en-oh.
Li pa t 'enprime soti anyen. Li sanble ke tout bagay te fini oke.
Nou te gen ranpli sa a pous
Nou te pale de algorithm a nan pseudocode yon ti jan de sa.
Kite m 'wè, sove sa a,
epi mwen pral rale ke algorithm tounen moute ankò.
Se pou nou frape sa a Guy. Non.
Gen li ye.
Ki jan nou fè sa?
Ki sa ki ta dwe yon estrateji bon pou kòmanse koupe sa a kòd?
Ou ta dwe chwazi yon nimewo nan mitan yo.
Ki jan nou chwazi yon nimewo nan mitan an nan yon etalaj?
Nenpòt sijesyon?
[Elèv] strlèn divize pa 2.
Strlèn divize pa 2. Sa se yon yon sèl gwo.
Strlèn travay ak kalite espesyal nan ranje.
Ki kalite ranje?
Fisèl ranje, ranje karaktè.
Li nan ki sòt menm nan konsèp ke nou vle aplike yo,
men nou pa ka sèvi ak strlèn paske nou pa gen yon etalaj de karaktè.
Nou gen yon etalaj la antye.
Men, sa ki strlèn jwenn pou nou?
ou konnen ki sa li vin pou nou?
[Elèv] strlèn vin nou longè a.
Egzakteman, li vin nou longè a.
Strlèn vin longè nan etalaj la pou nou.
>> Ki jan nou jwenn ki nan pwogram rechèch binè nou an?
Kouman ou ta jwenn longè nan yon etalaj?
[Elèv] strlèn?
Ou ka jwenn longè a nan yon byen fòma etalaj fisèl C ak strlèn.
Pwoblèm nan, menm si, se ke nou pa gen yon etalaj fisèl.
Si nou tounen gade dèyè nan sa a kòd, nou gen sa a etalaj antye ki pè.
Ki jan nou konnen konbyen tan li se?
[Elèv] Èske gen yon yon sèl ekivalan pou pwen final, tankou l int oswa yon bagay?
Li sanble deyò a la, aktyèlman se pa, e konsa nan yon fason, sa a se
youn nan bagay sa yo sa se sèlman bon konnen sou C,
ke pa gen okenn fason jwenn longè nan yon etalaj
si tout m 'ba ou se etalaj la.
Rezon ki fè yo li ap travay avèk strings, rezon ki fè strlèn travay,
se paske si yon fisèl byen fòma,
li pral gen ki espesyal \ 0 karaktè nan fen an trè.
>> Ou kapab tou imajine si ou genyen yon fisèl mal formate
ak gen nan pa gen \ 0 karaktè a, Lè sa a, tout bagay la pa travay.
[Elèv] Èske ou ka ajoute \ 0 a?
Nou te kapab nan ka sa a.
Nou ta ka ajoute kèk sòt de \ 0
oswa kèk sòt de tapral karaktè ak Lè sa a, sèvi ak sa.
Men, ki pa nan byen ale nan travay
paske 0 a \ a se pou yon kalite Char,
ak isit la nou te gen antye.
Bagay a lòt se si nou te sèvi ak yon valè espesyal
tankou -1 yo ki make nan fen yon etalaj
Lè sa a, nou pa janm te ka estoke yon -1 nan ranje nonb antye relatif nou an.
Nou ta dwe kole ladan yo.
Li sanble ke wout la sèlman nan jwenn longè a
nan yon etalaj nan C se aktyèlman sonje li
lè ou mete l 'kanpe ak Lè sa a, pase l otou ak etalaj la
pou ke chak fwa mwen gen yon fonksyon ki a pral fè kèk travay
sou yon seri nonm antye relatif oswa flote oswa double oswa sa ki genyen-w,
Mwen menm mwen te bezwen bay fonksyon an longè etalaj la,
ak sa a, se ekzakteman ki sa nou te fè isit la nan fonksyon rechèch la.
Si ou gade, ki sa nou te fè lè nou pase nan etalaj nou yo isit la,
nou menm tou nou pase nan longè a, gwosè a.
Li jis k ap pase ke nou te rele sa a varyab isit la,
sa a paramèt oswa agiman.
Se sa yo rele lis agiman yon fonksyon a oswa lis paramèt,
ak sa yo rele yo tou agiman oswa paramèt.
Moun itilize tèm ki diferan nan diferan moman.
Mwen pafwa Interchange yo tèt mwen.
Li jis konsa k ap pase ki sa a varyab isit la yo te rele menm
sa a # defini moute isit la.
Men, yo ap pa menm bagay la.
Majiskil nan fè zafè.
>> Si ou gade nan sa k ap pase la a, nou deklare
etalaj int nou an, ki nou te rele nimewo yo.
Nou te bay li gwosè nou an, ki koresponn ak nou # defini moute nan tèt la.
Li nan pral fè 8.
Lè sa a, lè nou Lè sa a, rele fonksyon rechèch nou desann anba a,
nou pase nan kantite nou vle pou fè rechèch pou, ki nou te rapidman ankouraje,
vinn soti nan itilizatè lan.
Nou pase nan etalaj la, sa a nimewo,
ak Lè sa a, nou menm tou nou dwe pase nan gwosè a nan etalaj la,
ak Lè sa a, vin valè a nan gwosè 8 ki estoke
oswa te pase sa a nonm antye gwosè varyab rele.
Nou gen gwosè a nan etalaj la.
Koulye a, si nou tounen nan sa nou te pale de pi bonè,
Mwen panse ke Missy pote moute pwen a ki sa nou bezwen fè se jwenn longè nan etalaj la
epi divize li pa 2, ak ki pral ba nou pwen milye a.
Ann gade pou wè.
Èske mwen ka gen yon moun ekri sa ak sove li nan espas yo?
Kouman sou Leila?
Èske mwen ka gen ou ekri sa a nan?
Ekri liy nan premye ki kote ou pran longè nan etalaj la epi pou yo jwenn pwen milye a
epi estoke l 'nan yon varyab nouvo.
Mwen pral ba w yon segonn koup. Èske ou pare?
[Elèv fèbl]
Asire w, te kapab mwen te w kalkile pwen milye a
nan etalaj la gwo pile zèb andedan fonksyon rechèch la
lè l sèvi avèk longè nan etalaj la gwo pile zèb, ki se varyab la gwosè?
Pa gen anyen difisil isit la.
[Leila] Jis gwosè / 2 ak jis-
Epi sove li, ak frape bouton an sove moute isit la nan tèt la,
epi n ap rale li leve.
Pafè.
Gen nou ale. Awesome.
>> Kòm se, èske sa ap konpile?
[Leila] Non, li bezwen yo dwe pi wo.
[Nate] Yeah konsa, sa ki nou bezwen?
[Leila] Tankou int pwen milye oswa yon bagay.
Awesome. Yeah, kite a fè sa, int pwen milye = gwosè.
Sa a pral konpile?
Se pou nou efase sa a kòmantè ak jwenn li soti nan fason an.
Ki sa ki pa pral konpile sou sa a?
Nou pap fè anyen ak nonb antye relatif,
konsa nou bezwen enprime li oswa yon bagay tankou sa.
Yeah, egzakteman.
Nou pral jwenn yon varyab rès.
Ki lòt bagay se pa sa ale nan travay sou sa a?
Mwen panse ke ou te di yon bagay, Sam. Virgules.
Yeah, mwen manke sa yo virgules.
Li nan ale nan yon bagay konstan nan tout kou nan tèm nan.
Bagay la final, m pral fè se mwen pral mete kèk espas blan sou nenpòt nan bò
sa a operatè isit la, depi lè sa a anjeneral jan nou fè li
dapre gid style nou an.
Nou gen pwen milye a nan etalaj nou an.
Koulye a, si nou chonje tounen nan algorithm nou an,
ki sa ki te dezyèm etap la ke nou te fè yon fwa nou gen pwen milye a?
[Elèv] Si li la pi gwo [fèbl].
Yeah, se konsa nou dwe fè kèk sòt de konparezon, ak sa yo nou konpare isit la?
Ou te di si li gen plis pouvwa pase. Ki sa ki se l 'nan ke fraz refere li a?
Nimewo a ki vini leve, si se pi plis pase pwen milye a, Lè sa a, moute al etalaj la?
Egzakteman, se konsa nimewo a ki vini lè nou-
Zegwi a, se konsa nou ap konpare zegwi a,
ak sa yo nou konpare kont zegwi a?
Paske zegwi a se ki sa nou ap chèche pou.
Nou ap konpare li pou li ale nan pwen milye a.
>> Men, li fè sans pou verifye
si zegwi = pwen milye?
ki fè sans?
okenn moun dakò?
Se pou nou bay li yon eseye, si (zegwi == pwen milye).
[Elèv] printf ou te jwenn li.
[Nate] printf ("Nou jwenn li \ n!");
Sinon-I'm pral kòmanse fè yon bagay diferan isit la.
Mwen pral kòmanse mete aparèy òtopedik alantou si deklarasyon tout tan tout tan an
jis paske si nou ajoute plis bagay, Lè sa a,
nou pa jwenn konpilateur yo.
Yeah, Sam. Ou te gen yon pwen.
Pwoblèm lan se ke pwen milye a reprezante yon pozisyon nan etalaj la,
men ou ka jwenn li nan reprezante valè a nan pozisyon sa a etalaj la.
Sa a se yon pwen gwo.
Èske tout moun tande tande sa Sam di?
Li te di ke pwen milye kòm se
reprezante jis yon pozisyon nan etalaj la, men li pa eleman aktyèl la nan etalaj la.
Si ou panse sou kòd la, jan sa ekri kounye a,
Si nou gade nan sa a etalaj desann isit la, ki te gen 8 eleman nan li,
ki sa ki valè a nan pwen milye pral fè nan sa a fonksyon?
[Elèv] 4.
[Nate] 4.
Si nou gade pou yon nimewo pou la 4 -
epi nou ka jis kouri sa a kòd, li mete yon ti kras figi tris nan isit la
paske nou pa t 'jwenn li-si nou kouri sa a kòd
kòm se kounye a, transfere li, bilding, kite m 'desann,
epi si nou gade pou nimewo a 4,
nou jwenn li, men nou pa t 'jwenn sa a printf wi.
Youn nan rezon ki se ke nou pa t 'tounen vre,
men nou te reyèlman jwenn nimewo a 4?
Ak Sam ap di pa gen okenn.
Nou sa nou te jwenn?
Nou vrèman jwenn pwen milye a, ki si nou gade nan etalaj la desann isit la,
li nan pral fè eleman an nan endèks 4 ke nou ap chèche a,
ki se 23.
>> Ki jan nou aktyèlman jwenn ke eleman nan pwen milye a
epi li pa jis pwen milye a li menm?
[Elèv] Nou ta antre nan Char oswa yon bagay?
Sa ki ta pou fè sa, jis soti nan kiryozite?
Èske ou ka elabore yon ti kras pi plis?
Ou gen transfòme pozisyon an nan nimewo a,
se konsa ou te gen fè kèk koneksyon-Mwen panse ke li nan Char, men li pa ta kapab.
Yeah, ki nan yon pwen bon.
Nou te toujou ap fè yon anpil nan sa a pozisyon konvèti nan charaktèr, sa yo karaktè,
nan de ansanm sa yo, premye pwoblèm.
Li sanble ke isit la, sa a se prèske menm jan ak
gen aksè nan pèsonaj la on nan yon fisèl, si sa fè sans.
Isit la nou vle gen aksè a eleman pwen milye a.
Ki jan nou fè sa?
Kevin, ou gen nenpòt sijesyon ki jan nou ta ka fè sa?
Ou ta ka fè gwo pile zèb, louvri bracket, nan mitan, fèmen bracket.
Èske ou ka ekri sa pou nou?
Sove li nan isit la, epi n ap rale ke leve.
Nou ap gade nan liy sa a 9,
e nou ka akonpli ke nou pa vle konpare zegwi nan pwen milye a,
men olye de sa, nou vle konpare zegwi a
eleman an nan pwen milye pozisyon nan etalaj gwo pile zèb nou an.
Fre.
Gen nou ale.
Yeah, ki sanble trè bon, si (zegwi == gwo pile zèb [pwen milye]).
Nou jwenn li.
Koulye a, si nou kouri tounen nan kòd-we'll moute yon ti kras ti jan-
li compiles, li kouri, epi kounye a, si nou gade pou 4,
nou pa t 'jwenn li paske kounye a nou ap aktyèlman ap resevwa nimewo a 23.
Nou ap vin valè a 23, ak sa a, se sa n ap konpare zegwi nou an.
Men sa a bon. Sa a se yon etap nan direksyon ki dwat.
>> Sa a ki sa nou ap eseye fè.
Nou pa ap eseye konpare zegwi a kont pozisyon nan etalaj la
men pito kont eleman yo reyèl nan etalaj la.
Si nou gade tounen ankò kounye a nan pwochen etap la nan algorithm nou an,
ki sa ki pwochen etap la?
Leila deja mansyone li yon ti tan.
[Elèv] Tcheke yo wè si li nan pi gran pase oswa mwens pase ak Lè sa a, deside ki fason pou avanse pou pi.
[Nate] Yeah, Se konsa, kouman nou ta fè sa?
Èske ou ka mete nan kèk I'll-sove revizyon sa-a,
ak Lè sa a, si ou mete nan kèk liy ki pral fè sa.
Yeah, Charlotte. >> Mwen gen yon kesyon.
Pa ta dwe li pwen milye - 1 paske premye bagay la se
li nan 0 Catalogue, kidonk si nou mete 4, sa a, se pa aktyèlman pèsonaj la nou ap chèche pou?
Wi, ak pwoblèm nan ak lòt avèk ki se-
ki nan yon trape gwo anpil, paske ki sa ki pwal fini pase pètèt
si nou kontinye deplase epi nou pa janm ajiste okòmansman?
Mwen devine ki sa nou ta ka fini fè ap eseye gen aksè a
eleman an nan pozisyon an 8th nan etalaj la,
ki nan ka sa a pa egziste.
Nou pral vle fè kèk sòt de kontablite pou reyalite a
ke nou gen kèk Indexing zewo.
[Charlotte] Padon, mwen vle di ke pwen milye - 1 nan parantèz yo kare.
Nou ka fè sa.
Nou pral tounen vin jwenn pwoblèm sa a nan jis yon ti jan.
Yon fwa nou kòmanse pou li ale nan loupin aktyèl la,
sa a, se lè nou pral reyèlman wè sa a antre nan jwe.
Pou kounye a, nou ka fè sa, men w ap totalman dwa.
Sa zewo Indexing ap gen yon efè ke nou bezwen nan kont pou li a.
Ann gade pou wè.
>> Kouman se pi gran pase ak mwens pase-a?
[Elèv] mwen jwenn ki jan fè pi gwo a pase ak mwens pase pati.
Mwen te jis pa t 'fin sèten sa ki nan enprime si ou jwenn ke li se pi piti pase pwen milye a gwo pile zèb oswa pi gran pase.
Men mwen ka sove sa ki I've-
[Nate] Yeah, si ou sove sa ou te gen yo, epi nou pral rale li leve.
Gen nou ale.
[Elèv] Apre sa, mwen mete mak kesyon pou ki sa mwen pa t 'konnen.
[Nate] ki sanble gwo.
Isit la nou te gen mak kesyon paske nou toujou pa konnen
ki sa nou ap ale nan byen fè ankò.
Ki sa ki ta nou vle fè-Wouch, nou te gen kèk aparèy òtopedik tout fenki sou nou.
Nou pral korije sa yo aparèy òtopedik.
Gen nou ale.
Se konsa, ki sa nou vle fè a, selon algorithm nou an,
si nou pa jwenn zegwi a?
Di nan ka a ki zegwi a se mwens pase sa n ap chèche a. Kevin.
Se sèlman gade nan mwatye a gòch.
Dwa, se konsa nou pral mete yon kòmantè nan isit la ki di "gade nan mwatye gòch."
Men, si zegwi a se pi gran pase gwo pile zèb la nan pwen milye a, ki sa nou vle fè?
[Elèv] Lè sa a, ou gade nan mwatye a dwat.
Gade nan mwatye nan dwa, "gade nan mwatye dwa."
Pa twò ranyon.
Oke, kidonk nan pwen sa a, bagay sa yo ap chèche trè bon.
Pwoblèm nan ak kòd la, jan sa ekri a se ki sa?
[Elèv] Ou pa gen ekstremite pou mwatye yo.
Dwa, nou pa gen ekstremite pou mwatye yo.
Nou menm tou nou yo sèlman pral yo ale nan sa a yon fwa.
Nou ap sèlman pral gade nan youn pwen milye.
Swa eleman la ki gen la, oswa li pa.
Nan lòd ranpli sa a, nou pral bezwen fè kèk sòt de repetisyon.
Nou bezwen kenbe repete jiskaske nou jwenn ke
swa eleman an se nan la, paske nou te flèch desann epi finalman jwenn li,
oswa li pa nan la, paske nou te gade nan tout nan bagay sa yo
nan mwatye ki apwopriye nan etalaj la epi li te jwenn pa gen anyen ki nan la.
>> Chak fwa nou te gen sa a repetisyon pral sou, sa ki nou pral itilize?
[Elèv] Yon riban.
Kèk sòt de riban. Wi.
[Elèv] Èske nou ka fè yon riban fè-tan, e genyen li fè sa ak Lè sa a, pandan y ap
zegwi a pa egal-I'm pa sèten kote mwen te ale ak sa.
Men, kalite tankou fè sa osi lontan ke li fè sa pa egal valè a ki itilizatè D 'a.
Yeah, kidonk kite a wè, ki jan ta ka sa a ekri tèt li?
Ou te di kite a sèvi ak yon riban fè-pandan y ap.
Ki kote fè a kòmanse?
[Elèv] Dwa apre gwosè a / 2.
[Nate] Okay, ak sa yo nou pral fè?
Nou pral ranpli nan pandan y ap nan pita.
Ki sa nou pral fè?
[Elèv] Eske nou pa vle fè tout bagay la nou genyen nan pòsyon an si?
[Nate] Eske tout bagay sa a, gwo.
Kopi ak keratin.
Oh, moun.
Ann wè si sa a travay, si nou kapab tab sa a sou.
Bèl.
Okay, epi nou sove sa a pou ou nèg genyen li.
Tout dwa, epi nou pral fè sa a pandan y ap-
ki sa ki te kondisyon an pandan ou te apre?
[Elèv] Pandan ke zegwi a pa egal, kidonk tankou pwen an esklamasyon.
Men, mwen pa fin sèten ekzakteman ki sa ki se ankò.
[Nate] Yeah, sa a se yon fason fè li.
Sam, ou gen yon komanté pou di?
[Sam] mwen vin chonje lè m 'gade videyo yo,
Mwen te pran yon Ekran nan youn nan tankou nan-lè nou te fè sa pseudocode a pou li,
te gen kèk relasyon ki ekziste ant max ak min.
Mwen panse se te yon bagay tankou si max se tout tan pi piti pase min.
Te resevwa li.
[Sam] Oswa renmen si max se pa pi piti pase min oswa yon bagay tankou sa,
paske yo ta ka vle di ke ou te fouye tout bagay.
>> Yeah, se konsa sa li son tankou max ak min yo te refere li a?
[Sam] Valè ki-nonm antye relatif ki pral chanje
relatif nan kote nou mete pwen milye a.
Egzakteman.
[Sam] Nan pwen sa, li ale nan [fèbl] kalkile max la ak min.
Pwen Milye se sa a max ak lide min.
ki fè sans nan jan?
Si nou te kòmanse gade kòman nou pral fè sa a iterasyon,
w ap totalman dwa ke nou vle itilize kèk sòt de fè-pandan y ap riban.
Men, mwen devine si nou sonje sa k ap pase sou nan plas sa a etalaj
ak sa ki aktyèlman rive-I'm pral ekri sou isit la-
nan iterasyon a nan rechèch binè trè premye, nou gen-
Mwen pral sèvi ak b ak e fè yon don nan konmansman an.
Lè sa a, nan fen etalaj nou an.
Nou konnen ke nan konmansman an se nan 4 dwa sou isit la,
e nou konnen ke fen an se nan 108.
Di nou 're chache pou yon nimewo pou la 15.
Premye fwa a nou fè sa, tankou nou te wè pi bonè,
pwen milye a ap swa pral fè 16 oswa 23
depann sou ki jan nou kalkile bagay sa yo deyò.
Depi respire divize nan mitan an ta ban nou espas sa a
ant 16 a 23, nou pa kapab respire separe l
oswa separe l epi pou yo jwenn nan yon pwen milye vre.
Nou pral gade nan 16.
Nou pral reyalize "Hey, 16> 15 ke nou ap chèche pou."
Lè sa a, gade nan mwatye a gòch nan etalaj la
ki sa nou pral fini fè la a jete
sa a tout pati anwo
epi di, "Oke, kounye a pwen final nou an a pwal isit la."
Iterasyon nan pwochen nan riban nou an, nou ap kounye a kap nan nivo sa a etalaj,
efektivman gen jete sa a pòsyon paske koulye a
si nou ap pran pwen milye la yo dwe diferans ki genyen ant kòmansman ak nan fen a,
nou jwenn pwen milye nou yo kapab 8,
ki nou ka Lè sa a, teste 8 a wè ki kote li se an relasyon ak nimewo an ke nou ap chèche pou yo,
15, jwenn ke 15 se pi gwo a,
konsa nou gen pou yo avanse pou pòsyon an dwa a lis la,
ki nou konnen paske nou moun, epi nou ka wè li.
Nou konnen ke pòsyon nan dwa a pwal kote nou jwenn li,
men òdinatè a pa menm konnen ke, se konsa sa nou pral fè se nou pral aktyèlman
te sa a ale leve, e kounye a, kòmansman ak nan fen a
yo se plas la menm, se konsa pwen milye a vin nimewo a sèlman nan lis la nan pwen sa a,
ki se 15, epi nou te jwenn li.
ki koule kèk limyè sou kote sa a max antye ak notasyon min ki pral,
kenbe tras de ekstremite yo nan etalaj la yo nan lòd yo konnen ki
ki jan yo etwat bagay sa yo desann?
>> Ki sa ki ta rive si sa a yo pa te egal a 15 kounye a?
E si nou te kap chèche 15, epi, olye de sa, nimewo sa a yo tou te 16 la?
Nou ta di, "O, li nan pi plis la.
Nou vle pou tounen nan bò gòch la. "
Ak nou ta deplase e nou ki adwat la,
nan ki pwen nou gen yon pwen final ki ta ka kontrè.
Li pa ta dwe kapab pou fè rechèch pou nenpòt ki plis eleman
paske kounye a nou gen pwen final nou yo ak pwen kòmansman nou an,
max nou yo ak min nou an, yo kounye a se ranvèrse.
Nou rechèch nan etalaj a tout antye. Nou pa ka jwenn anyen.
Sa a se pwen an nan ki nou ta vle di, "Oke, nou pral sispann sa a algorithm.
Nou pa t 'jwenn anyen. Nou konnen li pa nan isit la. "
Kijan sa a prale?
[Elèv] Ki jan egzakteman òdinatè a chanje fen a?
Ki jan fen a fini anvan kòmansman an?
Fen a fini moute devan nan konmansman an
paske nan matematik a ke nou ap ale nan fè chak fwa nou fè sa.
Wout la nou boukante se si ou gade nan tan an trè premye nou fè sa swap
kote nou gen nan konmansman an nan 4 ak nan fen
tout wout la desann nan 108 ak pwen milye nou an, di, nan 16 -
Mwen pral Reyajiste sa a tounen nan 15-si nou ap chèche pou 15 an,
nou te konnen ke sa nou te fè sa lè nou tcheke 16 an ak wè sa ki te pi gran
e yo te vle jete tout pòsyon a dwa a lis la,
nou te wè ki sa nou te vle fè se deplase sa a e isit la menm.
Efektivman, te resevwa e nan demenaje ale rete nan yon sèl anvan pwen milye a.
Menm jan an tou, lè nou te fè sa iterasyon nan algorithm nan
ak pwen milye a te nan 8,
nou te jwenn ke 8 <15, se konsa nou te vle pou avanse pou pi a b
yon sèl sot pase pwen milye a.
Koulye a, kòmansman ak nan fen a, yo toulède yo ansanm nan sa a 15.
>> Si nou ta te pase yo gade pou kèk valè lòt, pa 15,
oswa si te sa a 15 olye te yon 16,
nou ta yo te jwenn ke e la nou vle pou avanse pou pi youn anvan pwen milye a.
Koulye a, e nan ta dwe gen ranvèrse mwens pase b la.
Se pou nou mache nan ki jan nou aktyèlman fini kodaj sa a algorithm.
Nou konnen nou vle gen sa a kalkil pwen milye.
Nou konnen tou ke nou vle swiv kòmansman ak nan fen a nan etalaj la
nan etalaj nou an ki ajou pou nou kapab konnen ki
kote sa a mwatye gòch nan lis la se ak ki kote mwatye nan dwa nan lis la se.
Nou fè sa ak swa ap kòmanse epi fini,
oubyen nou ka rele yo min ak max.
Mwen pral sèvi ak ap kòmanse epi fini tan sa a.
Lè nou kòmanse, si nou tounen gade egzanp nou an desann isit la,
te kòmansman nou mete nan kòmansman la anpil nan etalaj la, kòm natirèl.
Ki sa ki endèks te sa a? Kisa mwen ta dwe nou kòmanse ap?
Danyèl.
[Danyèl] gwo pile zèb [0].
[Nate] Yeah, pou nou te kapab mete l 'egal a gwo pile zèb [0].
Pwoblèm nan, menm si, se ke sa a ba nou pou nou pa pozisyon nan eleman la an premye.
Li ban nou endèks la nan eleman nan premye oswa valè aktyèl la nan pozisyon sa an premye.
[Elèv] Ki pral konvèti an .20?
[Nate] Ki sa sa ap fè se-byen, li pa pral fè nenpòt chanjman.
Ki sa ki li pral fè se li pral estoke yon 4 nan kòmanse,
ak Lè sa a, li pral difisil yo fè konparezon kont kòmanse
paske ouvriers ap òganize valè a nan 4,
ki se nan konmansman an nan etalaj nou an,
men nou vle swiv endis yo nan etalaj la
kòm yo te opoze ak valè yo.
Nou pral aktyèlman sèvi ak yon 0, tankou sa.
Pou nan fen etalaj Charlotte a-te pote sa a moute yon ti kras pi bonè.
Sa a se kote nou pral pran an kont Indexing a zewo.
>> Charlotte, sa ki nan nan fen etalaj la?
Ki sa ki se endèks la nan fen a?
[Charlotte] Size - 1.
Yeah, epi ki gwosè nou ta dwe itilize?
Eske nou ta dwe sèvi ak gwosè kapital oswa gwosè miniskil?
Gwosè kapital la.
Nan ka sa a, nou te ka sèvi ak gwosè kapital la.
Si nou te vle fonksyon sa a yo dwe pòtab
epi sèvi ak sa a fonksyon nan lòt pwogram,
nou ka sèvi ak aktyèlman miniskil gwosè.
Li nan amann tou.
Men, Charlotte se totalman dwa ke nou vle gen gwosè - 1.
Lè sa a-pwen
[Elèv] Kouman se li ke ou ka itilize majuskul gwosè?
Kouman se li ke nou ta ka itilize majuskul gwosè?
Li sanble ke sa yo # defini yo se reyèlman,
anba kapo machin lan, yon tèks tankou jwenn epi ranplase, si sa fè sans.
Lè ou konpile kòd ou a, pretretman faz nan
nan du a ale nan dosye a,
e li sanble pou tout kote ke ou te ekri gwosè kapital,
epi li ranplase tèks sa literalman ak yon 8, jis tankou sa.
Nan sans sa, sa a se trè diferan soti nan yon varyab.
Li pa pran nenpòt espas nan memwa.
Li se yon tèks ki senp jwe fent ranplase.
Nan ka sa a, nou pwal sèvi ak gwosè yo.
Soti isit la nou vle fè kèk sòt de repetisyon,
epitou nou sou track dwat la ak fè-pandan y ap riban nou an.
Nou vle fè yon bagay jiskaske yon kondisyon pa kenbe ankò,
epi kòm nou te wè pi bonè, nou te wè ki ke kondisyon
te depoze ke nou pa vle nan fen
li dwe mwens pase kòmanse a.
>> Sa a se kondisyon kanpe nou an.
Si sa rive, nou vle sispann ak deklare tankou, "Hey, nou pa jwenn anyen."
Yo eksprime sa a, nou vle sèvi ak kèk sòt de riban.
Nan ka sa a, li ta dwe yon riban fè-pandan y ap, yon pou riban, yon pandan y ap riban?
Nou gen yon riban fè-pandan y ap isit la.
Èske ou nèg tankou sa ki apwoche?
ou panse nou ta dwe eseye yon apwòch diferan?
Kevin, nenpòt panse?
Nou te ka gen yon riban pandan y ap paske nou konnen maksimòm
ta dwe pi plis pase min nan aniwe yo kòmanse.
Yeah, se konsa gen nan pa gen inisyalizasyon ki bezwen li rive vre.
Moun sa yo ki pasan fè-pandan y ap yo se gwo lè ou gen yon bagay inisyalize
anvan Lè sa a, fè tès, Lè nou konsidere ke isit la
nou konnen ke nou pa ap ale nan kenbe reinitializing tou de ap kòmanse epi fini
chak wonn nan riban an.
Nou konnen ke nou vle inisyalize yo, Lè sa a, tcheke kondisyon nou yo.
Nan ka sa a, mwen pral aktyèlman ale ak yon riban pandan y ap senp.
Li sanble ke fè-pandan y ap pasan yo te itilize san patipri souvan.
Yon anpil nan kote pa menm anseye fè pandan y ap pasan.
Yo ap bon pou manyen opinyon itilizatè, konsa nou te wè yon anpil nan yo konsa byen lwen.
Men, nòmal pou ak pandan y ap pasan se yon anpil plis komen.
Li sanble ke kondisyon sa a, jan sa ekri
pa pral reyèlman fè nou anpil bon, e poukisa se sa?
Mwen regrèt, mwen pa konnen non ou.
Mwen Jerry. >> Padon?
Li nan B-O-R-U-mwen.
Oh, oke.
Mwen pa wè ou sou lis mwen an.
Oh, li nan paske-oh, ki fè sans.
ou gen yon lide sou rezon ki fè sa a pandan y ap riban pa ta dwe travay kòm gen entansyon,
, jan sa ekri ak kondisyon a?
[Jerry] Ou vle di tankou ou vle tout bagay la apre l 'nan-a?
Yeah, pou ki nan yon sèl.
Nou ta ka gen yo mete tout bagay sa a nan riban an pandan y ap, ki se totalman vre.
Bagay a lòt ki nan yon ti kras plis pwoblèm, menm si, se ke kondisyon sa a pa travay.
[Elèv] Ou bezwen baskile li.
Dwa, se konsa kondisyon sa a pa pwal janm ka vre okòmansman wout la nou te pale sou li.
Nou vle fè yon bagay jiskaske <fen kòmanse,
men nou vle fè yon bagay pandan y ap
kòmanse ≤ fen.
>> Genyen ki ranvèsman nan lojik sa a la.
Mwen koupab nan fè sa yo erè tout tan tout tan an.
[Elèv] Poukisa pou l 'gen yo dwe mwens pase oswa egal a?
Paske ou sonje ka a ke nou te rive nan
kote te gen sèlman yon sèl eleman, epi nou te desann,
epi nou te gen je a jis 15 an nan etalaj nou an?
Ak kòmansman nou yo ak fen nou yo te eleman la menm.
Nou vle asire w ke nou okipe ka sa a.
Si nou te fè yon dwat mwens pase,
nou ta sèlman kapab jwenn desann nan yon etalaj 2-eleman.
Yon fwa nou te resevwa desann nan ki eleman sot pase yo, si moun ki te eleman nou yo, nou pa janm ta jwenn li.
Koulye a, isit la, nou ka fè egzakteman menm jan ak ou t'ap di konsa.
Nou ka kòmanse plopping bagay dwat nan mitan an nan riban pandan y ap nou an.
Nou kapab plok nan pwen milye nou an.
Nou ka pran tout moun sa yo si deklarasyon,
rale yo deyò nan sa a riban fè-pandan y ap,
plok yo nan,
netwaye bagay yo yon ti jan,
epi mwen pral ale pi devan epi sove revizyon sa-a.
Ak nan pwen sa a, nou ap vin bèl fèmen.
Sam.
Mwen panse ke nou menm tou nou gen gen int pwen milye = gwosè - 1/2.
Te resevwa li, gwosè - 1/2.
Èske gen nenpòt lòt bagay nou bezwen chanje sou sa liy?
Sa se te yon trape bon.
>> Ki sa ki gwosè fè? Èske nou janm chanje gwosè?
Yo nan lòd kenbe liy lan tankou sa a, nou dwe chanje gwosè la.
Nou dwe chanje gwosè a chak fwa nou ale alantou a pou riban.
Men, sonje lè nou te ale atravè tout egzanp nou an jis yon ti jan pi bonè,
epi nou te gen nan konmansman an nan 4
ak nan fen tout wout la sou nan 108?
Ki jan nou kalkile pwen milye a?
Yo te nou lè l sèvi avèk gwosè a?
Oswa nou te lè l sèvi avèk ap kòmanse epi fini olye?
Li nan diferans ki genyen ant fen a ak nan konmansman an.
Egzakteman, e ki jan mwen ta dwe egzakteman ekri ki, Charlotte?
Jis fini - kòmanse.
Ou pa ta bezwen fè - 1 nan
paske - 1 nan ki te enkli nan fen an epi kòmanse a deja.
[Nate] Gran, ou se totalman dwa.
Nou pa bezwen fè - 1 nan paske sa - 1 te fin enkli
ak matirite pou lè nou inisyalize varyab la fen.
>> Èske gen nenpòt lòt bagay mwen bezwen fè syntactically gen liy sa a fè sans?
[Elèv] Plus kòmanse. >> Plus kòmanse?
[Elèv] Nan fen an.
Paske li nan sèlman kalkile mwatye longè a.
Ou bezwen ajoute kòmanse a.
[Nate] Ki sa ki ta sa a kalkile pou nou?
Si nou panse osijè de fen sa a sou iterasyon nan riban an trè premye,
fen a pwal nan endèks pozisyon 7.
Kòmanse nan pozisyon 0.
Sonje byen, nou ap chèche pou swa
pozisyon 3 oswa pozisyon 4.
Si nou gade nan sa a matematik, jis fè li yon ti kras plis sou byen mèb,
mete kèk nimewo isit la, nou gen 7, 0,
Se konsa 7 - 0, epi Lè sa a, / 2
se 3 nan divizyon nonb antye relatif, se sa ki.
Lè sa a, nou bezwen Lè sa a, ajoute tounen nou an kòmanse?
Nou pa fè sa nan ka sa a.
Sou iterasyon an trè premye, li pral amann paske ouvriers se 0.
Men, kòm nou pwogrè, nou fè vrèman tout jis bezwen
fen - kòmanse / 2.
Genyen yon Trick lòt isit la, e ke se youn nan gwoup dapre branch priyorite.
[Elèv] nou bezwen parantèz?
[Nate] Egzakteman, ak sa a, se paske si nou pa mete sa yo parantèz,
Lè sa a, yo pral liy sa a kapab entèprete olye
kòm (fen) - (kòmanse / 2), ki nou definitivman pa vle.
Gade deyò pou règleman sa yo priyorite.
[Elèv] Poukisa se pa sa li fini + kòmanse?
Poukisa se pa sa li fini + kòmanse?
[Elèv] Poukisa li pa sa?
Poukisa li ta kapab pran +?
Mwen panse ke ou se dwa.
[Elèv] paske li nan mwayèn?
[Nate] Fen + kòmanse, w ap totalman dwa.
Wow, mwen totalman goofed. Ou se dwa.
Si nou t ap fè mwens lan, nou ta vle ajoute kòmanse an tounen pous
Nan ka sa a, w ap trè dwa ke nou vle pran an mwayèn nan de a,
pou nou vle ajoute yo, kòm yo te opoze ak fè soustraksyon yo.
[Elèv] Li ta tou travay si ou te fè fen - kòmanse / 2 + kòmanse.
Li ta si nou fè-Mwen kwè sa.
>> Pou egzanp, si nou te gade nan kòmanse,
e nou deplase li sou isit la
a 15 an.
Koulye a, kòmanse nan pozisyon 2.
Fen nan pozisyon 7.
Si nou fè soustraksyon yo, nou jwenn 5.
Divize ki pa 2, nou jwenn 2.
Lè sa a, nou ajoute 2 tounen nan,
ak ki vin nou nan pozisyon an 4yèm,
ki se dwa isit la, ki se pwen milye a.
[Elèv] nou bezwen pran swen nan kachte?
Nan ki sans nou bezwen pran swen nan vlope?
Si sòm la oswa diferans ki genyen ant
depann sou ki jan nou fè li se pa yon nimewo menm.
Lè sa a, vin òdinatè a te mele si a lè li 2.5;
ou ale viv nan bò gòch la oswa sou bò dwat la detèmine ki se pwen milye a?
Te resevwa li.
Li sanble ke ak divizyon nonb antye relatif,
nou pa janm jwenn nimewo sa yo pwen k ap flote.
Nou pa janm jwenn desimal a.
Li nan totalman abandone.
Si ou gen yon òdinatè divize de varyab Int,
ak se yon sèl 7yèm, ak lòt la se 2,
ou pa pral resevwa 3.5 kòm yon rezilta.
Li pral jwenn 3.
Pral rès la pou jete, kidonk li a efektivman awondi-
pa yon wonn men pito yon planche, si ou nèg yo abitye avèk ki nan matematik,
ki kote ou konplètman jete desimal a,
ak sa w ap esansyèlman truncating li desann nan ki pi pre a
antye pozisyon, ki pi pre nimewo a tout antye.
[Elèv] Men, Lè sa a, ki nan pwoblèm paske si ou gen yon etalaj de 7 eleman
Lè sa a, ki otomatikman pran eleman nan 3yèm soti nan pwen milye a olye pou yo 4yèm la.
Ki jan nou fè fas ak sa?
Li nan pwoblèm paske si nou te gen yon etalaj de 7,
li ta chwazi 3yèm a olye pou yo 4yèm la.
Èske ou ta kapab esplike yon ti kras pi plis?
[Elèv] Paske si ou gen 7 eleman Lè sa a, eleman ki 4yèm
ta dwe pwen milye a, dwa?
Sonje kòmantè ou sou ke yo te zewo Catalogue, menm si.
[Elèv] Yeah, se konsa nan pozisyon 3. Ki ta ka pwen milye a.
Yeah.
Oh, oke. Mwen wè sa ou vle di.
Li nan kalite etranj, menm jan nou jwenn itilize sa a nosyon antye nan
resevwa debarase de desimal.
Sa a se yon pwen gwo.
Se pou nou fini sa a.
Nou te kalkile pwen milye nou an.
>> Nou ap fè tès yo wè si zegwi nou an, se ki egal ak valè mitan an.
Nou ap enprime ke nou jwenn li, men vrèman, ki sa nou vle fè nan sitiyasyon sa a?
Nou te jwenn li, pou nou vle kite moun kap rele a konnen nou jwenn li.
Nou te gen yon fonksyon ki nan yon fonksyon Boolean tape.
Wout la nou siyal moun kap rele a nan fonksyon nou ke nou ap pare yo ale
se nou di, "Hey, sa a se vre."
Ki jan nou ta fè sa, Kevin?
W ap siy tèt ou. >> [Kevin] Add retounen vre.
[Nate] Egzakteman, retounen vre.
Koulye a, si li pa egal, ki jan nou ta gade nan mwatye a gòch ou?
Nenpòt lide?
Stella, nenpòt ide?
Ou bezwen mete yon Nouvo pozisyon pou fen.
Yeah.
Se konsa, nou dwe fè pozisyon nan pwen milye - fen an.
Great.
Nou bezwen mete yon Nouvo pozisyon pou fen a
fè yon gade nan mwatye a gòch.
Sa a te sa nou te pale osijè de anvan kote
Mwen kenbe pral tounen nan egzanp sa a.
Mwen te kòmanse a isit la, ak Lè sa a, mwen gen fen nan tout wout la sou isit la.
>> Yon fwa ankò, si nou ap chèche pou 15, ak pwen milye nou an, se nan 16,
ak nou reyalize, "Wouch, 16 se pi plis la.
Nou vle pou yo avanse pou mwatye nan bò gòch. "
Nou ta lè sa a deplase nan fen a 15 an,
epitou nou fè sa lè yo pran yon sèl lwen pwen milye a
ak anviwònman ki kòm fen nouvo nou an.
Menm jan an tou, si nou vle fè yon gade nan mwatye nan dwa, ki jan nou ta fè sa?
ou gen yon lide?
[Elèv] Ou jis mete kòmanse pwen milye + 1.
[Nate] Great.
Epi, koulye a nan ka a ke nou pa jwenn anyen,
ki resevwa pran swen nan pou nou?
Danyèl, ke jwenn pran swen nan pou nou?
[Danyèl] No
[Nate] Si nou fè l 'nan etalaj nan tout e nou pa jwenn anyen,
kote ta pou yo pran swen nan, osinon èske nou dwe pran swen l '?
[Danyèl] kondisyon an pandan y ap.
[Nate] Yeah, kondisyon an pandan y ap, egzakteman.
Li pral pran swen nan ale atravè tout etalaj nan tout si nou pa jwenn anyen.
Sa a pandan y ap riban yo fini.
Nou pa janm ap gen rankontre kondisyon sa a,
epi nou ka retounen fo.
Nou kapab tou kite sa-a si nan isit la tankou sa a
paske si sa a si deklarasyon ki vre,
ak fonksyon nou an pral retounen,
epi pou nou ap esansyèlman avote sa a fonksyon nan pwen sa a
lè nou retounen vre.
Men, sa ki k ap pase ak estrikti sa a isit la?
Sa a pral travay antyèman, oswa ki gen la kèk defo ki lojik nan genyen?
>> Gen kèk defo ki lojik nan la, ak wout la li nan mete kanpe.
Ki sa ki ta ka li dwe ye?
[Elèv] Poukisa ou bezwen an - ak + 1S?
Ki kouche etalaj nou moute yo dwe nou nouvo gòch mwatye mwatye dwat.
[Elèv] Men, poukisa pa ou ka fè li san yo pa an - 1S ak + 1S?
[Nate] Nou te ka mete l 'egal a pwen milye a?
Ki sa ki ta kapab pwoblèm sou sa?
[Elèv] Mwen devine li nan rezèvwa paske w ap tcheke yon valè ki nan te deja w tcheke yo.
[Nate] Egzakteman, se konsa Sam se totalman dwa.
Si ou mete fen a epi kòmanse a egal a pwen milye a
olye pou yo - 1 ak + 1 reflectively,
nan kèk pwen nan tan kap vini an nou pral fini tcheke pwen milye a ankò.
[Elèv] Mwen te kòmanse pset a, ak Lè sa a, mwen te gen yon bagay tankou sa
kote mwen bliye 1 a +, epi li te resevwa kole nan yon riban enfini.
Dwa, paske nan kèk pwen ou pa janm ap ale nan jwenn ap kòmanse epi fini
aktyèlman nan sèten ka.
Fre.
Genyen yon defo plis ki lojik, e ke se ke sa a ta dwe definitivman dwe
yon lòt bagay si.
Poukisa ta ka ke ta dwe ye?
>> Rezon an se si li a pa yon lòt bagay si-èske ou te wè l ', Kevin?
[Kevin] Yeah, paske w ap chanje pwen an fen.
[Nate] Egzakteman.
Nou ap chanje pwen final la,
epi si yo ekri l la tankou sa a we'll-fè espas ant-
li pral tcheke pou wè ka sa a.
Ka sa a, si li reyisi, ap avote soti nan fonksyon an.
Lè sa a, li pral tcheke pou wè ka sa a kap vini an,
epi si sa a reyisi, li pral ajiste pwen final la,
ak Lè sa a, li pwal kontinye sou yo ak sou tcheke ka sa a.
Men, nan pwen sa a, nou pa vle li kontinye tcheke.
Erezman, nou pa t 'Reyajiste pwen milye a isit la,
e nou konnen ke ka sa a pa ta pral reyisi.
Men, nou definitivman vle mete lòt bagay la si nan la
menm si ki ta ka-nan ka sa a
depi nou pa adaptation pwen milye a, ta ki fè yon diferans?
Non, paske ka sa yo, yo tout san konte.
Yon fwa ankò, move m 'yo.
Nou pa, mwen panse, bezwen sa a lòt bagay si.
Nou ka bay li yon eseye ak kouri li ak wè sa ki rive.
Building, yon erè ki te fèt.
Li pwobableman paske mwen te kite sa yo nan b ak a e nan isit la.
Mwen gen nenpòt moun ki plis nan leve nan tèt la?
Li pa sanble li.
Nou rale soti, bati,
gen li ale, pou kounye a, si nou chèche 15,
repons lan se wi.
Kite m 'rale pous
15, wi. Nou ka kouri l 'ankò.
Uploading kòd sous, bati, kouri.
Nou kapab fè rechèch pou yon bagay tankou 13,
epi nou pa jwenn anyen enprime soti, sa li pa jwenn sa pou nou.
Sa a gwo anpil, paske li pa nan lis nou an.
>> Nou se kounye a soti nan tan.
Sa k ap pase yo dwe li pou semèn sa a.
Mèsi pou rantre nan, ak wè ou pita.
>> [CS50.TV]