JASON HIRSCHHORN: Byenveni semèn twa, tout moun. Nou gen yon okipe men enteresan seksyon devan nou. Se konsa, premye, paske nou te fè kèk pwogrè ak kou a, men nou toujou te yon anpil nan aprantisaj kite yo fè sa, mwen se pral montre w mesye kèk nan resous ki ta dwe pwouve ke yo dwe ekstrèmman itil jan ou pa sèlman apwoche ou pwoblèm kouche, men tou, dijere tout materyèl la nou ba ou mesye nan konferans ak bout pantalon ak seksyon. Lè sa a, nou pral depanse 20 an premye a 25 minit nan seksyon ale sou Gdb, ki ou ka oswa ka pa gen itilize nan pwen sa a, men li se yon zouti ekstrèmman itil ki pral ede w debug pwogram ou an. Ka Yon anpil nan ou te itilize printf nan la presegondè nan pwogram ou a kalkile konnen ki sa ki yon varyab egal. Gdb se menm pi bon pase printf ak pa vis moute nan Kòd ou paske ou kouri l 'sou yon dosye ègzèkutabl. Se konsa, nou pral ale plis pase 10 pi itil la kòmande ou bezwen pou gdb, epi nou ap pwal ale sou yon fè egzèsis ansanm, pou nan pwoblèm mete twa ak pi lwen pase, ou ka itilize gdb ede debug pwogram ou an. E finalman, nou pral ale sou kèk klasman ak chèche algoritm ke ou te wè nan konferans, epi nou ale nan aktyèlman Kòd, pa sèlman pseudocode, men Kòd binè rechèch, sòt ti wonn, ak sòt seleksyon an. Se konsa, premye, mwen vle ale sou resous yo. Sa a se yon lis vaste, epi li ki pi piti font paske mwen te gen yon lot anfòm sou isit la. Men, sa yo pa pral sèlman ede w, ankò, ak pwoblèm ansanm sa yo, ak dijere enfòmasyon, ou te aprann, men definitivman, vin tan egzamen, sa yo ap dwe ekstrèmman itil. Se konsa, an premye, konferans la nòt. Si ou ale nan cs50.net/lectures ak woulo liv semèn nan espesifik ak jou, ou pral wè ke gen nòt pou chak delivre lekti, ki se pa tou senpleman yon relve nòt yo, men yon vèsyon edited nan sa ki te kouvri nan konferans avèk kòd fragman ak lòt tidbits itil. Mwen trè rekòmande pou ale sou sa yo. Lè sa a, kòm byen, gen nan Kòd sous disponib nan chak konferans. Li di ankò: glisad sa yo ap tou ap disponib sou Entènèt nan cs50.net/sections aswè sa a. Se konsa, dezyèm yo se bout pantalon yo chak semèn ki kouvri sijè, anjeneral, 5 a 15 minit nan longè. Ak moun ki èspere ke pral ba ou yon gwo Jadendanfan sou sijè diferan. Twazyèm - ak sa a se mak nouvo sa a ane - se study.cs50.net. Si ou pa gen tcheke li soti, mwen trè rekòmande ke ou fè sa. Ou jwenn yo chwazi yon sijè. Nou gen plizyè douzèn sijè sou la. Se konsa, pou egzanp, ou chwazi Fonksyon. Li ba ou kèk glisad ak nòt sou fonksyon. Sa yo se aktyèlman glisad yo ki TFs Yo ankouraje yo sèvi ak pandan nou prezantasyon nan seksyon. Genyen tou konsèy ak ke trik nouvèl pou fè fas ak fonksyon, ak gen nan pwoblèm pratik ki ede w ap travay ak fonksyon. Nou menm tou nou ba ou lyen ki mennen nan kout sou la fonksyon ak lè yo ki fonksyon gen vini nan konferans. Se konsa, study.cs50.net, mak nouvo sa a ane, yon resous kokenn. Apre sa, mwen gen moun, ki se manyèl la lòd ke ou ka kouri nan an liy lòd. Se konsa, si w gen nenpòt kesyon sou yon lòd, pou egzanp, rand, ki nou rankontre semèn pase a pandan seksyon epi ou te gen anpil chans rankontre nan pwoblèm ou an mete lè ale atravè tout nan jenere kòd, men si ou tape moun rand, ou pral jwenn paj la ki di ou tout bagay sou rand. Li ba ou sa li pran, nan paramèt li pran, menm jan tou retounen kalite ak yon deskripsyon tou kout nan ki fonksyon. Se konsa, tcheke deyò rand. Li kapab yon ti kras bavar ak konfizyon, Se konsa, pafwa mwen jwenn ke tou senpleman Googling ki sa mwen vle konnen ki fason ki pi bon yo jwenn repons lan. Se konsa, pratik ak Google. Jwenn bon nan Google. Li pral vin pi bon zanmi ou yo. Kòm byen ke Google, si ou pa kapab jwenn li sou Google, cs50.net/discuss, li nan diskisyon fowòm nan. Chans yo si ou gen yon kesyon, yon sèl nan 700 + kamarad klas ou tou te gen ki kesyon epi yo ka te mande li deja nan diskite sou la fowòm li pran lapawòl, li te. Se konsa, si ou gen yon kesyon komen oswa ou gen yon kesyon ou panse petèt lòt moun ka gen kouri antre nan, tcheke deyò cs50.net/discuss. Finalman, de dènye a, si ou vle pale ak yon reyèl moun yo, biwo èdtan lendi pou vandredi. Genyen tou lè biwo sou entènèt pou elèv ekstansyon. Apre sa, dènye, men sètènman pa pi piti, m ', entewogasyon, pwen eksklamasyon. Nou tout gen enfòmasyon pou kontakte m 'yo. Si ou bezwen anyen, tanpri pa janm ezite kontakte m '. Toujou santi yo lib yo fè sa. Trè kèk nan nou te ajoute m 'sou Gchat, Se konsa, ki te enèvan, men èspere ke ki pral chanje ant sa a ak pwochen seksyon. Nenpòt kesyon byen lwen tèlman sou resous yo? Great. Finalman, yon lòt ploge pou fidbak, sayat.me/cs50. Ou ka ban m 'fidbak anonim sou ki jan m ap fè. Sa te vrèman itil semèn pase a. Mwen te resevwa yon koup la kòmantè nan men ou mesye dwa apre seksyon, plis soti nan lòt elèv yo moun ki ap gade li pandan semèn nan, epi li te ekstrèmman itil. Mwen pral eseye ak limite itilizasyon m 'lan nan pawòl Bondye a "dous", men mwen pral montre mwen antouzyasm ak eksitasyon nan lòt fason. Men, te gen lòt adisyonèl komanter solid, tou de pluses ak Delta. Se konsa, tanpri, mwen ba ou mesye fidbak sou kouche pwoblèm ou an. Santi yo lib yo ban m 'fidbak sou ansèyman m 'yo. Mwen isit la pou ou guys. Great. Sa se tout mwen gen pou seksyon an premye. okenn moun gen nenpòt kesyon byen lwen tèlman? Apre sa, mwen gen yon nòt pou sant la kontwòl. Elèv yo Ekstansyon te messaged m ' li di yo pa ap resevwa nenpòt ki odyo, Men, se sa ki soti nan pouvwa mwen ranje. Se konsa, èspere ke, ki vin rezoud yon ti tan. Si w ap gade sou entènèt, hi, men ou pa kapab tande m '. Se konsa, premye, nou pral yo ale nan gdb. Gdb, jan mwen allusion nan pi bonè, se yon zouti debogaj pi bon pase printf. Se konsa, ou kapab jwenn te kòmanse avèk gdb, ou mesye, si ou vle louvri moute aparèy ou epi pran dosye a ke mwen kouryèl w pi bonè - sa a ranpli ap tou ap disponib sou entènèt nan yon ti jan - epi kouri gdb. / non an nan dosye a. Premyèman, nan kou, ou gen konpile ranpli paske gdb sèlman ap travay sou dosye ègzèkutabl. Men, si ou tout tan tout tan vle kòmanse Gdb, premye bagay la ou fè sa, ou kouri. gdb / Seza. Se konsa, sa a, se non an nan pwogram nan nou ap pwal ale ak li kounye a. Se konsa, mwen pral ekri fè Seza tande kòz, ki ap ban m 'yon dosye ègzèkutabl isit la make nan vèt. Lè sa a, mwen pral kouri. Gdb / Cesar. Men, gen ou ale. Ou wè nou gen kèk tèks di m ' sou vèsyon an nan gdb, bay m ' kèk enfòmasyon sou garanti, ak Lè sa a, nou gen GDP èd memwa a, ki sanble sòt nan tankou lòd nou an liy rapid, Men, ou wè li nan louvri paren, gdb, paren fèmen. Anvan nou kontinye ak debug sa a ranpli ke mwen voye ba ou tout, se pou yo gade nan kèk kòmandman itil pou nou genyen yon sans nan sa nou yo ale nan kouvri. Kòmandman sa yo ki nan lis isit la nan la lòd nan kote mwen jeneralman itilize yo. Se konsa, mwen kòmanse pwogram mwen an pa kouri GBD. / Non pwogram nan, nan ka sa a, Seza. Lè sa a, premye bagay la mwen fè 99,9% nan moman an se di ki kalite ti repo vle di. Ki kouche yon pwen kraze nan prensipal la. Esansyèlman, ki sa ou ap fè gen se pwogram lan ki pral kanpe nan prensipal konsa ou ka kòmanse ekzamine li liy pa liy, olye ke kouri tout wout la nan. Ou ka kraze nan diferan pwen nan Kòd ou, men ou prensipal se jeneralman yon bon plas yo kòmanse. Lòd nan pwochen mwen kouri se kouri. Ki kòmanse kouri pwogram nan, ak si ou bezwen antre nan liy lòd agiman, ou kouri li ki lòd. Kouri ak agiman yo. Se konsa, depi nou pral sou yon vèsyon nan C, ki se pwogram nan ou nèg te ekri pou pset de - yon sèl sa a, nan kou, gen kèk pinèz nan li ki èspere ke nou ap jwenn - nou pral kouri kouri ak kèk lòd liy agiman paske Seza, menm jan ou nèg konnen pou chak pwoblèm nan mete espèk, pran kèk lòd liy agiman. Koup nan pwochen nan kòmandman, pwochen an yon sèl ki aktyèlman rele kap vini an. Ke yon moun pran ou liy pa liy nan pwogram ou an. Se konsa, frape n Lè sa a, antre nan pran ou nan liy lan kap vini an, egzekite liy lan anvan yo. Etap pa sèlman pran ou nan liy ki vin apre a, men li pran ou fonksyon anndan an. Se konsa, si ou te ekri yon fonksyon nan Kòd ou a oswa si ou vle eksplore yon mwen, pou egzanp, ou ka frape yo, ak olye ke ale nan liy nan pwochen nan dosye a ke w ap ale atravè tout dwa kounye a, ou pral aktyèlman etap nan sa a fonksyon ak wè kòd li yo. Lis ki montre ou, nan trè itilizatè zanmitay fòma, 10 oswa konsa liy ki alantou ki kote ou kounye a yo nan Kòd ou konsa ou ka aktyèlman wè dosye a olye ke li te gen swap retounen lakay yo epi vini ant opinyon diferan. Ekri an lèt detache, se tankou printf, tankou non li implique. Ki montre ou ki sa yon varyab egal. Moun nan lokalite Info se reyèlman itil. Sa a se yon vèsyon espesyal nan ekri ak lèt ​​detache. Info moun nan lokalite montre ou tout nan lokal la varyab, simagri yo tout soti pou ou ki disponib kounye a. Se konsa, mwen jeneralman, olye ke gen enprime soti kat varyab yo ke mwen kirye de si mwen ta nan yon pou bouk, pou egzanp, mwen jis ekri moun nan lokalite enfòmasyon, epi li pral montre m sa m vann san preskripsyon mwen an egal, menm jan tou etalaj la ke mwen ap travay sou egal. Finalman, kontinye. Tape repo sispann ou nan pwen an repo. Ou ka mache nan liy pa liy ak pwochen ak etap. Kontinye kouri pwogram nan pwochèn ou an kraze pwen oswa jouk lè fini si pa gen okenn plis pwen repo. Enfim retire pwen repo si ou deside kraze a nan prensipal te apwopriye, ou vle mete l 'yon lòt kote. Epi finalman q, kite fimen, vin soti nan gdb. Se konsa, pwogram sa a,. / Seza tande kòz, nou pral gade nan kounye a epi nou yo ale nan sèvi ak gdb jwenn pinèz yo nan pwogram sa a. Mwen kouri pwogram sa a pi bonè ak Tcheke 50, epi mwen te resevwa yon sèl gwonde. Tout li te egziste, li konpile, li te pase yon anpil nan tès yo, men pou kèk rezon ki fè, li pa t 'pase senkyèm lan tès, Jezi vire BARFOO, tout kaskèt, nan E-D-U-I-R-R, tout kaskèt, lè l sèvi avèk twa kòm yon kle. Mwen te resevwa bèl fèmen. Mwen te resevwa koupe pa yon lèt. Se konsa, gen nan kèk ti erè nan isit la. Mwen te gade nan Kòd m 'yo. Mwen pa t 'kapab figi li soti. Èspere ke, ou nèg ka ede m ' konnen sa ki ensèk sa a se. Se konsa, sa a, se erè a nou ap pou chèche. Se pou yo deplase ale nan gdb. Yon fwa ankò, mwen te kouri. Gdb / Seza, Se konsa, kounye a nou ap nan gdb. Ak sa ki premye a bagay mwen ta dwe fè? Mwen te jis te antre nan gdb. Yon moun ban m 'yon bon lòd li yo antre. ELÈV: kraze prensipal la. JASON HIRSCHHORN: kraze prensipal la. Kokenn. Se pou yo tape ke pous Ou mesye ka gade Moute bò isit oswa swiv ansanm sou òdinatè ou. Kraze prensipal yo, epi ou pral wè yon kraze pwen te mete nan - li ban m 'kèk adrès memwa etranj, ak li tou ki ban m 'nimewo a liy. Si m 'te fè yon gade tounen nan sa a ranpli, Mwen ta reyalize ke prensipal ki te pase sou liy 21. Kisa mwen ta dwe kouri vini yo? Pwogram m 'kouri? No Se konsa, sa mwen ta dwe kouri vini yo? ELÈV: Kouri. JASON HIRSCHHORN: Kouri. Èske mwen ta dwe jis kouri kouri, oswa yo ta dwe Mwen ajoute kèk lòt bagay sa yo nan? ELÈV: Kouri ak agiman an. JASON HIRSCHHORN: Kouri ak agiman yo lòd. E depi mwen debogaj yon trè espesifik ka, mwen ta dwe antre nan ki lòd liy agiman. Se konsa, mwen pral kouri twa, ki se, ankò, pwodiksyon an mwen te resevwa nan Tcheke 50. Koumanse pwogram nan. Nou ale nan yon koup la liy yo. Ou pral wè koulye a ke nou ap sou liy 21. Kouman pou mwen konnen ke nou ap sou liy 21? Paske si ou gade sou bò goch la nan fennèt tèminal mwen an, gen li di liy 21. Apre sa, ki bay m ', aktyèlman, an kòd ki se nan liy 21. Se konsa, mwen misspoke pi bonè. Main se pa aktyèlman nan liy 21. Prensipal la se yon koup la liy pi wo a 21. Men, nan liy 21, sa a, se kote n ap kraze. Sa a liy nan Kòd gen pa ankò egzekite. Sa a enpòtan. Liy lan ou wè pa gen te egzekite ankò. Sa a liy nan pwochen nan Kòd w ap sou yo egzekite. Se konsa, liy ki vin apre a, menm jan ou mesye yo pwobableman abitye avèk, se sa a kondisyon tcheke yo wè si mwen gen antre nan yon diskisyon liy lòd. Ak yon mwen, ki sa ki dezyèm lan yon pati nan ki ap fè? Ki sa ki se yon mwen? ELÈV: Chanje l 'bay yon nonb antye relatif. JASON HIRSCHHORN: M regrèt? ELÈV: Li chanje a agiman nan yon nonb antye ki pè. JASON HIRSCHHORN: Se konsa, yon mwen chanje ARG v1 soti nan yon kòd nan yon nonb antye ki pè. Lè sa a, sa ki li tcheke? ELÈV: Si gen yon dezyèm liy lòd agiman, sou kote soti nan kouri pwogram nan. JASON HIRSCHHORN: Ak sa ki nan dezyèm mwatye nan sa a Ekspresyon Boolean tcheke? Pati sa a sou isit la, yon mwen? ELÈV: Si li la negatif. JASON HIRSCHHORN: Fè asire w ke ki sa? ELÈV: Fè asire w li se, an reyalite, pozitif. JASON HIRSCHHORN: Egzakteman. Sa a se tcheke yo wè si li nan negatif, epi si li an negatif, mwen gen yon santi pwochen ka a liy dwe m 'kriyan nan itilizatè a. Se konsa, kite a frape fen nan egzekite liy sa a. Nou pa wè ke liy ke ou nèg petèt espere wè kriyan nan la itilizatè yo ak Lè sa a, retounen, paske liy sa a pa t 'egzekite. Mwen te antre nan 3. Se konsa, mwen t ', an reyalite, antre nan de lòd liy agiman, ak 3 se pi gran pase zewo. Se konsa, nou wè jan liy, nou egzekite, Men, nou pa t 'etap andedan si kondisyon an. Se konsa, kounye a, kap vini an, mwen wè mwen mete kle Int egal yon mwen ARG v1. Se konsa, ki se m 'kreye yon kle varyab. Se konsa, si mwen enprime soti kle kounye a, paske ki pèmèt ou wè a valè andedan varyab la, kle egal 47. Sa a etranj, men nan kou, sa a, se paske mwen pa gen egzekite ke liy ankò. Se konsa, koulye si mwen frape n, egzekite liy sa a, epi fè kle ekri ak lèt ​​detache, kle ap egal 3, ki se ki sa nou espere li nan egal-ego. Se konsa, ankò, nan gdb, liy la ou wè ou pa t 'egzekite ankò. Ou gen frape n oswa s oswa yon nimewo nan lòt kòmandman ki aktyèlman egzekite ke liy. Ekri an lèt detache kle. Kle a nan 3. Se konsa, lwen, tèlman bon. Chèn se tèks plenn. Se pou yo egzekite ke liy. Mwen ap resevwa yon kòd ki soti nan itilizatè. Ann wè nan Tcheke mwen an 50, mwen antre nan BARFOO tout bouchon, se konsa sa a, se sa m 'pral antre nan. Si m 'Kounye a, ekri tèks plenn. Ou pral wè l 'egal yon kòd. Li ban m 'kèk lòt ekzadesimal etranj nimewo, men li fè sa nan reyalite di ke fisèl mwen an se BARFOO. Si mwen te vle wè sa ki kle egal a pwen sa a, ki jan mwen tcheke kle? ELÈV: kle Enprime. JASON HIRSCHHORN: kle Enprime, egzakteman. Apre sa, aktyèlman, gen yon chemen kout. Si ou jwenn fatige nan tape ekri ak lèt ​​detache, ou ka jis tape p. Se konsa, kle p fè menm bagay la egzak. Li di ankò: Mwen wè li egal 3. Si mwen te vle konnen ki sa tou de kle ak BARFOO egal nan menm tan an men mwen te fatige nan tape chak yon sèl soti endividyèlman, mwen te kapab tape moun nan lokalite enfòmasyon. Sa ban m 'egal kle 3. Tèks plenn egal BARFOO. Li te tou ban m 'sa yo de bagay sa yo etranj nan tèt la, varyab sa a mwen ak n varyab sa a. Moun sa yo ki yo aktyèlman ki egziste deja nan pwogram prensipal m 'yo. Nou pa t 'rankontre yo ankò, men kòm yon aperçu, sa yo ki egziste nan mwen pou bouk. Se konsa, kounye a yo, yo egal a kèk etranj nimewo yo paske yo pa t ' initialisé ankò, men yo toujou egziste nan memwa, se konsa yo ap jis mete nan kèk valè fatra. Men, nou wè kle nan plenn tèks ki la a. Se konsa, mwen pral egzekite liy sa a, liy 34, pou bouk la. Nou pral vole nan la pou bouk pa frape n. Apre sa, nou ap anndan an pou bouk. Nou nan premye chèk nou an. Li di ankò: sa yo ta dwe sòt de gade abitye nan ou paske sa a te yon Pwogram Seza tande kòz ki te ekri, men ankò, gen kèk sòt de ensèk. Epi, koulye a si m 'fè moun nan lokalite info, paske mwen se andedan ke pou bouk, ou ap wè ke mwen egal zewo, menm jan nou espere. Sa a ki sa nou mete l 'pou ale ak pou initialisé li nan nan a pou bouk. n egal 6. Sa tou fè sans paske nou mete li nan strlèn la nan tèks plenn. Se konsa, mwen renmen fè moun nan lokalite info oswa ekri ak lèt ​​detache varyab souvan a asire w ke tout bagay se toujou sa ki Mwen atann mwen li nan egal-ego. Nan ka sa a, tout bagay se ki sa mwen espere li nan egal-ego. Se konsa, kite a kòmanse deplase nan sa a pou bouk. Liy lan mwen se sou a se liy 36, si plenn mwen tèks pi gran pase yon ak plenn mwen tèks se mwens pase oswa egal a z. Mwen konnen pwoblèm mwen an se pa avèk premye fwa mwen lèt, li la ak dezyèm lèt la. Si nou gade tounen nan Tcheke 50, B ale nan E amann. Mwen ap pran A ak kite li kòm yon A, pa chanje li nan D. Se konsa, yon bagay ki nan mal ak dezyèm lèt la. Se konsa, mwen pral pou avanse pou pi gen nan yon dezyèm fwa. Men, si mwen t 'vle tcheke sa ki plenn tèks mwen egal nan sa a an patikilye ka, mwen panse ke li ta dwe ki sa? Ki sa ki ta tèks plenn mwen egal a nan sa a premye tou a la pou bouk? ELÈV: Zewo? JASON HIRSCHHORN: tèks plenn nan mwen? Se konsa, li ta dwe kapital B. Mwen, nan kou, egal zewo, men tèks plenn bracket zewo bracket fèmen egal B paske strings, menm jan nou te wè semèn pase a, yo se etalaj, se konsa nou ap vin la premye karaktè soti nan sa. Se konsa, ankò, si mwen enprime soti tèks plenn nan Se mwen menm, mwen, an reyalite, jwenn karaktè a B. Epi sa a, pwòp, dwa? Mwen pa gen aktyèlman plenn tèks I. Sa se pa youn nan varyab yo, mwen mete oswa initialisé, men ou ka ekri ak lèt ​​detache soti yon lame antye de bagay sa yo si ou ta renmen. Men, kite a deplase atravè. Si tèks plenn mwen gen plis pouvwa pase A ak plenn tèks mwen se mwens pase oswa egal a Z, ki klèman se vre paske nou gen yon kapital B. Mwen pral kouri kèk lòd sou li. Nou te wè ki matematik semèn pase a, se konsa nou pral pran l 'pou yo akòde ke li ap travay dwa selon Tcheke 50. Sa yo aparèy òtopedik Curly, youn nan premye te montre ke mwen te sòti si la kondisyon, yon sèl nan dezyèm te montre ke mwen sòti an pou bouk. Se konsa, kounye a lè m 'frape Apre sa, nou pral wè nou ap tounen nan la pou bouk ankò. Nou ap ale atravè tout nan pou bouk ankò. Se pou yo aktyèlman etap nan dezyèm lan iterasyon nan la pou bouk ak kalite enfòmasyon moun nan lokalite. Se konsa, nou ap nan dezyèm iterasyon la nan bouk pou nou an. Mwen egal 1, ki nou espere. N egal 6, ki nou espere. Kle egal 3, ki nou espere. Apre sa, tèks plenn, ou ap wè, egal EARFOO koulye a, pa BARFOO ankò paske nan iterasyon anvan nou an, B a te chanje an yon kapital E. Se konsa, nou ap sou kontre pwoblèm nan, kidonk sa a se kote nou pral plonje nan debogaj la. Men, okenn moun gen nenpòt kesyon sou sa nou te fè byen lwen tèlman? Kokenn. Se konsa, nou ap sou yo egzekite sa a si kondisyon, plenn bracket tèks mwen fèmen bracket pi gran pase A ak plenn tèks mwen mwens pase oswa egal a Z. Men, anvan M 'antre nan ke, paske sa a se kote Mwen konnen erè mwen an se, mwen vle pwen soti tèks plenn nan I. Se konsa, kite a mete ekri ak lèt ​​detache soti. Li fè egal A la N., se konsa ke sanble byen lwen tèlman yo, tout se byen epi li bon. Se konsa, mwen espere liy sa a pou chak lojik m 'yo, liy sa a yo ta dwe vre. Li se yon lèt kapital la. Men, si mwen frape n, nou reyalize ke sa a liy, an reyalite, pa t 'egzekite. Mwen vole desann nan lòt moun an si. Poukisa ki rive? ELÈV: Paske ou gen eta sante ou nan tèks plenn ki pi konsekan pase A, pa egal oswa ki pi gran pase. JASON HIRSCHHORN: Se konsa, mwen te gen tèks plenn m ' Mwen gen plis pouvwa pase A, pa janm pi grannèg pase oswa egal a. Se konsa, byen klè, kapital A a pa t ' deklanche sa a si kondisyon yo, epi nou te fè pa etap nan li, e nou te fè sa pa fè chanjman ki nesesè. Se konsa, sa a, se li, aktyèlman. Mwen kalkile ensèk m 'yo. Mwen te kapab tounen nan dosye sous m 'yo, chanje li, epi mete ajou li epi li kouri Tcheke 50 ankò. Men, nou pral wè, jis pou pedagojik nan poutèt, si mwen kenbe prale. Lòt moun nan si se pa egzekite swa, men sa olye egal se yo lòd, ki ki pa chanje. Se konsa, li pa nan chanje nan tout, epi si mwen ekri ak lèt ​​detache tèks plenn isit la, nou pral wè pwal nan ke pou bouk pa t ', an reyalite, chanje sa dezyèm karaktè nan tout. Li la toujou yon kapital A. Se konsa, ankò, nou debogaj erè nou an. Nou reyalize ke te gen kèk lojik ki disparèt. Epi nou debogaj li devan yo nan tan anvan aktyèlman egzekite liy sa a, men ou ta remake gen te gen nou jis frape Next ak so ak sa yo ki lòt bagay si, sa vle di ke si kondisyon pa t 'vre. Nou pa t ', an reyalite, jwenn rezilta a nou espere. Se konsa, lè sa a nou te kapab pouse, te gen nou pa te tèlman rize, fè yon gade nan ke si kondisyon epi tcheke si, an reyalite, kondisyon nou an ta dwe evalye vre nan yon kontèks aktyèl la. Sa a tout pou debogaj pwogram sa a. okenn moun gen nenpòt kesyon? Ki sa ki lòd mwen te kapab frape kite fimen gdb? K. Lè sa a, mwen pral pouse, kite de tout fason? Wi oswa non. Mwen pral frape repons lan se wi, epi mwen pral yo te kite gdb. Se konsa, sa ki te yon Jadendanfan rapid nan gdb. Aktyèlman, nan yon senaryo reyèl, M 'te fè sa a nan lè biwo louvri. Mwen GDBed pwogram egzak sa a nan lè biwo ak yon elèv yo. Men, si nou tounen nan kòmandman yo nou te wè anvan, nou itilize kraze prensipal yo, premye bagay nou te fè sa. Nou itilize kouri ak liy lòd agiman, dezyèm bagay nou te fè sa. Nou itilize pwochen yon anpil pou avanse pou pi nou nan liy yo. Li di ankò: vèsyon an kout nan pwochen se n. Sa a nan parantèz yo nan gri sou glise la. Nou pa t 'sèvi ak etap, men nou pa t' nesesèman bezwen pou ka sa a. Men, nou ta ka itilize li nan yon ti jan pita sou jodi a si n ap debogaj, pou egzanp, binè rechèch lè binè se rechèch rele nan yon apa fonksyon, men tou genyen kèk erè ak li. Nou pral vle etap nan rele nan binè rechèch ak aktyèlman debug li. Ekri nou pa t 'sèvi ak swa paske nou te gen yon bon sans de kòd nou an, men si mwen t 'vle yo ka resevwa yon sans de sa ki Kòd mwen te alantou li, mwen te kapab jis itilize lis. Enprime nou itilize, moun nan lokalite info nou itilize yo. Kontinye nou pa t 'bezwen sèvi ak sa a nan ka, ni t 'nou bezwen sèvi ak enfim, men nou te fè pou sèvi kite fimen. Yon fwa ankò, sa yo 10 kòmandman, pratike yo. Si ou konprann sa yo 10 kòmandman, ou ta dwe fikse pou debogaj nenpòt ki pwoblèm ak gdb. Se konsa, nou ap sou yo ale sou, ankò, nan la neu nan seksyon jodi a, ale sou sa yo klasman ak chèche algoritm. Anvan nou fè sa, ankò, nenpòt kesyon, kòmantè, enkyetid pou gdb? Se konsa, tout moun pral sèvi ak Gdb olye ke printf? Se konsa, tout moun, pou dedomajman pou pèrpetuèl a, tout moun se siy dwa tèt yo kounye a, se konsa mwen pral wè ou nan lè biwo louvri ak tout TFs yo pral wè ou menm ak yo pral di, montre m kouman yo sèvi ak Gdb, epi ou pral kapab yo montre yo, dwa? Kalite? Petèt èspere ke. Fre. Se konsa, nou ap ale pou avanse pou pi nan klasman ak chache. Ou pral wè Mwen gen yon lis deja klase pou nou, men sa pa pral yo dwe ka a toujou. Se konsa, nan pwoblèm nan mete spesifikasyon pou pwoblèm mete twa, ou gen bout pantalon ke ou ka gade, epi li aktyèlman mande w yo gade sa yo bout pantalon. Epitou nan konferans semèn pase a, nou te ale sou yon anpil nan algoritm sa yo, se konsa mwen pa ale nan pase tan nan klas pral sou algoritm sa yo ankò oswa desen foto pou ki jan sa yo algoritm travay. Yon fwa ankò, ke enfòmasyon ou kapab re-gade konferans, oswa enfòmasyon ki se te kaptire outstandingly sou bout pantalon yo pou fouy sa, nan tout ki se disponib nan cs50.net. Se konsa, olye, ki sa nou ap ale nan fè se ekri pwogram sa yo. Nou gen yon sans, yon modèl mantal, sou fason yo travay, ak Se konsa, sa nou pral fè se kòd yo pou reyèl. Nou pral vire ke modèl mantal, foto sa a, si ou pral, nan la aktyèl kòd. Men, si ou te yon ti kras konfonn oswa vwale sou modèl la mantal, mwen totalman konprann. Nou ap pa aktyèlman ale nan Ale nan Kòd imedyatman. Se konsa, pandan èd memwa sa a nan glise sa a mande ou nan kòd binè rechèch, ak aktyèlman, yon vèsyon repete nan binè rechèch la, premye bagay la mwen reyèlman vle ou fè se ekri kèk pseudocode. Se konsa, ou gen modèl mantal sa a sou kouman binè travay rechèch. Pran yon fèy papye si ou gen yon sèl ki disponib fasilman, oswa louvri moute yon editè tèks, epi mwen ta renmen tout moun ekri. Pran kat minit yo ekri a pseudocode pou binè rechèch la. Yon fwa ankò, panse osijè de sa modèl mantal. Mwen pral vin nan si w gen kesyon epi nou ka trase foto a deyò. Men, an premye, anvan nou kòmanse pwogram, Mwen ta renmen ekri a pseudocode pou binè rechèch Se konsa, lè nou plonje nan, nou gen kèk direksyon kòm nan kote nou ta dwe tèt. ELÈV: Èske nou sipoze etalaj la nan valè nou jwenn se deja klase? JASON HIRSCHHORN: Se konsa, pou binè rechèch nan travay - kesyon ekselan - ou dwe pran nan yon tri etalaj de valè. Se konsa, sipoze li pral travay. Nou pral tounen nan glise sa a. Ou pral wè nan koulè wouj violèt fonksyon an deklarasyon se bouleen binary_search Int valè, valè Int, Int n. Sa a ta dwe gade abitye si ou te deja pwoche bò kote oswa jwenn ou men sal ak pwoblèm gwoup la. Men, sa a deklarasyon fonksyon ou. Yon fwa ankò, pa ta dwe bezwen enkyete sou ke anpil nan moman sa a. Ki sa mwen reyèlman vle ou fè se pran kat minit nan pseudocode binè rechèch, ak Lè sa a, nou pral ale sou ke kòm yon gwoup. Apre sa, mwen ap vini alantou. Si w gen kesyon, santi gratis nan leve men ou. Poukisa ou pa pran de plis minit fini moute pseudocode a? Mwen konnen sa a pouvwa sanble ridikil ki nou ap depanse anpil tan sou yon bagay ke yo pa menm aktyèlman nan C, men espesyalman pou sa yo plis algoritm defi epi pwoblèm kouche ke nou gen figi konnen, kòmanse nan pseudocode pa mangonmen sou sentaks a, jis mangonmen sou lojik sa a, se ekstrèmman itil. Apre sa, fason sa a, ou pa ap rezoud de pwoblèm ekstrèmman difisil nan yon fwa. W ap sèlman konsantre sou lojik la, ak Lè sa a, ou deplase ale nan sentaks la. OK. Ann kòmanse ale atravè tout pseudocode la. Mwen te ekri moute isit la, binè rechèch pseudocode. Nou pral ekri sa a sou la monte ansanm. Oswa mwen pral ekri li epi ou ap bay m 'èd memwa yo yo mwen bezwen. Se konsa, ka okenn moun ban m 'premye fwa a liy nan pseudocode a ou te ekri pou binè rechèch? Wi, Annie? ELÈV: Pandan ke longè a nan la lis ki pi gran pase zewo. JASON HIRSCHHORN: Pandan ke longè nan lis pi gran pase zewo. Li di ankò, nou wè kèk C-kap bagay sa yo sentaks sou isit la. Men, pi fò nan sa a se nan lang angle. Èske okenn moun gen nenpòt liy yo mete anvan sa a nan yo pseudo-Kòd? ELÈV: Jwenn yon etalaj nan Ranje chif yo. JASON HIRSCHHORN: Ou te ekri "jwenn yon etalaj nan nimewo tri. "Pou chak nan deklarasyon fonksyon, nou pral pase yon etalaj de nimewo Ranje. ELÈV: [fèbl]. JASON HIRSCHHORN: Se konsa, nou pral gen sa. Men, repons lan se wi, si nou pa t 'gen sa, nou ta bezwen sòt etalaj nou an nimewo, paske binè rechèch sèlman ap travay sou Ranje ranje. Se konsa, pandan longè nan lis egal zewo, mwen se pral mete nan kèk aparèy òtopedik Curly fè li gade yon ti jan pi plis tankou C. Men, pandan ke, sanble kat jeyografik sou yon pandan y ap bouk, se konsa andedan pandan y ap sa a bouk ki sa nou bezwen fè pou binè rechèch? Yon lòt moun ki pa ban m 'yon reponn ankò, men ki te ekri sa a? ELÈV: Go to la nan mitan lis la. JASON HIRSCHHORN: Tom. Ale nan mitan an nan lis la. Ansanm ak kesyon an swivi, ki sa ki nou fè yon fwa nou ap nan la presegondè nan lis la? ELÈV: Fè yon chèk si wi ou non sa a, se nimewo a ou ap chèche pou. JASON HIRSCHHORN: ekselan. Ale la nan mitan lis la epi tcheke si valè nou an ki gen la - kokenn. Èske okenn moun gen nenpòt lòt bagay ki te diferan pase sa a? Se egzakteman dwat. Premye bagay nou fè an binè rechèch se ale nan mitan an nan lis la ak tcheke yo wè si valè nou an ki gen la. Se konsa, mwen sipoze si valè nou an, se la, sa nou fè? ELÈV: Nou retounen zewo [fèbl]. JASON HIRSCHHORN: Yeah, si nou valè ki gen la, nou jwenn li. Se konsa, nou ka di kèk fason, sepandan sa a Se fonksyon defini, nou di itilizatè a nou jwenn li. Si li pa gen, menm si, sa a, se kote sa a vin difisil. Se konsa, si li pa la, yon moun lòt moun ki te ap travay sou rechèch binè oswa te yon lide, koulye a, ki sa nou fè? ELÈV: Kesyon. JASON HIRSCHHORN: Wi? ELÈV: Èske etalaj la deja klase? JASON HIRSCHHORN: Wi, nou ap asepte etalaj la se deja klase. ELÈV: Se konsa, Lè sa a, ou gen yo tcheke si valè a sa ou wè ki pi gran pase valè a ke ou vle, ou kapab deplase la nan mitan lòt mwatye a. JASON HIRSCHHORN: Se konsa, si la nan mitan lis la gen plis pouvwa pase sa n ap chèche pou yo, lè sa a nou ki sa? Nou avanse pou pi ki kote? ELÈV: Ou vle pou yo avanse pou mwatye nan lis la ak kantite ki pi ba pase sa. JASON HIRSCHHORN: Se konsa, nou pral rele ki bò gòch la. Se konsa, si mitan an se pi gwo, nou kapab fè rechèch mwatye nan rete nan lis la. Lè sa a, pa rechèch la, sa ki Mwen vle di pa rechèch? ELÈV: [fèbl]. JASON HIRSCHHORN: Nou ale nan mitan yo. Nou aktyèlman repete bagay sa a. Nou ale tounen nan bouk pandan y ap nou an. Mwen pral ba w yon sèl ki sot pase a - lòt moun, si, mwayen se mwens pase sa nou, sa nou fè la a? ELÈV: Go to bò dwat la. JASON HIRSCHHORN: Search bò dwat la. Sa a sanble bon, men okenn moun gen anyen ke nou kapab ki manke oubyen ki nenpòt lòt bagay ke ou mete nan ou pseudo-Kòd? Se konsa, sa a se sa nou gen twò lwen. Pandan ke longè a nan lis la se pi gwo pase zewo, nou ap ale nan ale la nan mitan lis la ak tcheke si valè nou an ki gen la. Si mitan a gen plis pouvwa, nou ap ale nan rechèch kite, lòt moun si mitan an se mwens, nou pral nan rechèch bò dwat la. Se konsa, nou te tout te gen kèk abitye avèk kondisyon ki nou itilize nan syans òdinatè ak zouti sa yo nou genyen. Men, ou pral deja remake nou te pale nan lang angle, men nou jwenn yon anpil nan bagay sa yo ke te sanble yo kat jeyografik sou zouti nou genyen nan twous zouti kodaj nou an. Se konsa, dwa koupe baton an, nou pa ap pral an reyalite kòd ankò. Ki sa nou wè isit la nan angle ki kat sou bagay nou ka ekri nan C? ELÈV: Pandan ke. JASON HIRSCHHORN: Pandan ke. Se konsa, pandan sa a dwa isit la kat sou ki sa? ELÈV: A bouk ti tan. JASON HIRSCHHORN: A bouk pandan y ap? Oswa pwobableman, plis jeneralman, yon bouk. Nou vle fè yon bagay sou yo ak sou. Se konsa, nou ap ale nan kòd yon bouk. Apre sa, nou deja konnen, paske nou te fè sa a yon koup de fwa epi nou gen anpil nan egzanp yo deyò, ki jan aktyèlman yo ekri sa a endèks pou yon bouk. Se konsa, ki ta dwe trè fasil. Nou ta dwe kapab jwenn ki te kòmanse yo byen vit. Ki lòt bagay nou wè nan isit la? Ki lòt estrikti sentaks, bagay sa yo ke nou ap abitye ak nan C, fè nou deja gen yon sans de ki baze sou koupe nan mo sa yo nou itilize? Wi, Anna? [Fèbl] jis plèzantri. Anna, ale pi devan. ELÈV: Si ak lòt moun. JASON HIRSCHHORN: Si ak Lòt Bagay - isit la menm. Se konsa, sa sa yo ye? ELÈV: Yon si lòt moun deklarasyon. JASON HIRSCHHORN: Yeah, kondisyon, dwa? Se konsa, nou ap pwobableman bezwen ekri kèk kondisyon. Li di ankò, menm si petèt konfizyon nan premye, nou jeneralman gen yon sans kounye a pou konnen kijan pou ekri kondisyon ak sentaks la pou kondisyon. Men, si nou pa fè sa, nou jis gade a sentaks pou kondisyon yo, koupe ak keratin sa a, paske nou konnen nou bezwen yon kondisyon isit la. Nenpòt lòt bagay nou wè kat jeyografik ki sou bagay sa yo nou ta ka bezwen fè nan C? Yeah, Aleha? ELÈV: Sa a ta kapab evidan, pa jis tcheke si yon valè egal yon bagay. JASON HIRSCHHORN: Se konsa, ki jan nou tcheke ak - pou ale nan la nan mitan lis la epi tcheke si valè nou an, se la? Ki jan nou fè sa nan C? Ki sa ki nan sentaks la pou sa? ELÈV: pèr, egal. JASON HIRSCHHORN: pèr, egal. Se konsa, chèk sa-a se pwobableman pral yo dwe genyen yon egal, egal. Se konsa, nou pral konnen nou bezwen ke yon kote. Apre sa, aktyèlman, jis nan ekri li, nou wè moun ki lòt bagay. Nou pral gen fè kèk Operatè konparezon nan gen - kokenn. Se konsa, li aktyèlman sanble, pa ak yon gwo, nou pa yo te ekri mo nan C Kòd ankò. Men, nou te resevwa modèl la mantal desann atravè konferans, ak moun ki bout pantalon. Nou te ekri pseudo-Kòd kòm yon gwoup. E deja, nou gen 80% si se pa 90% nan sa nou bezwen fè. Koulye a, nou jis bezwen kòd li, ki ankò, se yon ki pa trivial pwoblèm yo rezoud. Men, omwen nou ap kole sou lojik la. Omwen kounye a lè nou ale nan lè biwo louvri, Mwen kapab di, mwen konnen sa mwen bezwen fè, men li kapab fè ou sonje m 'nan sentaks la? Oswa menm si lè biwo yo ki gen anpil moun, ou ka Google pou sentaks a, olye pase yo te kole nan lojik la. Li di ankò, olye ke eseye rezoud lojik la ak pwoblèm sa yo sentaks tout nan yon fwa, li se souvan pi bon yo kraze moun ki de pwoblèm difisil koupe nan de moun plis dosil ak fè a pseudo-Kòd premye ak Lè sa a, kòd nan C. Se konsa, kite a wè sa m 'te fè sa pou la pseudo-Kòd devan yo nan tan. Pandan ke longè a nan lis la se pi gwo pase zewo, gade nan mitan an nan lis la. Si kantite yo te jwenn tounen vre, lòt moun si kantite ki pi wo, gòch rechèch la. Lòt Bagay si kantite pi ba, rechèch dwat, retounen fo. Se konsa, ki sanble prèske ki idantik si se pa prèske ki idantik ak sa nou te ekri. Aktyèlman, Tom, ki sa ou te di premye, kraze la nan mitan lis la epi si nimewo yo te jwenn nan de deklarasyon se aktyèlman sa mwen te fè. Mwen konbine yo la. Mwen ta dwe 'koute ou premye fwa a. Se konsa, ki se pseudo-kòd la nou genyen. Si ou vle koulye a, regrèt, ale Retounen nan premye pwoblèm nou yo. Se pou yo Kòd binary.c. Se konsa, aplike yon vèsyon repete nan binè rechèch lè l sèvi avèk sa ki annapre yo fonksyon deklarasyon. Apre sa, ou pa bezwen kopi li desann jis ankò. Mwen aktyèlman ale nan louvri moute dwa isit la binary.c. Se konsa, gen deklarasyon an fonksyon nan mitan an nan ekran an. Apre sa, ou pral wè mwen te pran-kòd la pseudo soti nan sou kote m ', men prèske ki idantik nan sa nou ekri, ak mete sa nan pou ou. Se konsa, koulye a, kite a pran senk minit ki prevwa nan kòd fonksyon sa a. Li di ankò, si ou gen nenpòt kesyon, leve men ou, kite m 'konnen, mwen pral vini alantou. ELÈV: [fèbl]. JASON HIRSCHHORN: Se konsa mwen pran binè la definisyon rechèch nan la tèt, sou liy 12. Sa a ki sa mwen te resevwa pou glise m 'yo. Lè sa a, tout bagay sa a pseudo-Kòd Mwen jis kopye epi kopye soti nan glise la, pseudo-Kòd glise. Mwen toujou pa tande [fèbl]. Se konsa, si ou fini ou aplikasyon, mwen vle tcheke li. Mwen par ou dosye a helpers.h pi bonè nan klas sa a. Apre sa, li pral disponib sou entènèt kòm byen pou download pou moun ki ap gade tan sa a seksyon anreta. Apre sa, mwen jis itilize distribisyon an jenerik Kòd ki soti nan pset3. Se konsa mwen pran find.C, sèvi ak dosye helpers.h mwen olye ke dosye a helpers.h ki nan bay nan kòd la distribisyon. Apre sa, mwen te fè yon lòt chanjman nan find.C olye ke w rele senpleman rechèch, rele binary_search. Se konsa, si ou vle teste Kòd ou, konnen ke se sa ki ki jan fè li. An reyalite, lè nou pral kouri Kòd sa a kounye a, mwen jis te fè yon kopi anyè pset3 m 'yo, ankò, échanjé soti moun k'ap ede dosye yo, epi Lè sa a, te fè ki chanje nan find.C yo rele binary_search olye ke tou senpleman rechèch. JASON HIRSCHHORN: Wi. Ou gen yon kesyon? ELÈV: Nvèrmend. JASON HIRSCHHORN: Pa gen enkyetid. Oke, kite la kòmanse. Nou pral Kòd sa a kòm yon gwoup. Yon lòt nòt. Yon fwa ankò, sa a se, ka fasil pou échanjé an pou Pwoblèm mache pandan twa. Mwen gen dosye helpers.h m 'ki, olye pase helpers.h a nou ap bay yo, Se mwen menm binè rechèch la, ti wonn sòt, ak sòt seleksyon an. Ak nan find.c ou ap remake sou liy, sa sa a, dwat 68, nou rele binè rechèch olye ke rechèch la. Se konsa, ankò, kòd la ki disponib sou entènèt oswa kòd la ke ou se kreye kounye a ka fasil échanjé an pou p mete 3 yo tcheke li. Men, anvan, se pou yo kòd binè rechèch la. Deklarasyon fonksyon nou an, nou retounen yon bouleen. Nou pran yon nonb antye yo rele valè. Nou pran yon etalaj de nonb antye relatif rele valè, epi nou pran n ap gwosè a nan etalaj la. Sou liy 10, dwa isit la, mwen gen byen file gen ladan stdbool.h. okenn moun konnen poukisa sa a, se la? Se konsa, sa ki liy nan Kòd fè? ELÈV: Li pèmèt ou fè sèvi ak yon kalite retounen bouleen. JASON HIRSCHHORN: Egzakteman. ELÈV: Oswa li nan yon bibliyotèk ki pèmèt yo sèvi ak yon kalite retounen bouleen. JASON HIRSCHHORN: Se konsa, byen file a genyen ladan yo liy stdbool.h ban m 'kèk definisyon an e li deklarasyon pou bagay sa yo ke mwen pèmèt yo sèvi ak nan sa a bibliyotèk la. Se konsa, nan mitan moun ki di ke gen nan kalite sa a yo rele bouleen, epi li kapab vre oubyen fo. Se konsa, se sa ki ki liy fè. Men, si mwen pa t 'gen liy sa a, mwen ta mete yo nan pwoblèm pou ekri sa a mo dwa isit la, bouleen, dwa gen. Egzakteman dwat. Se konsa, mwen bezwen ki nan Kòd sa a. OK. Se konsa, sa a, ankò, se yon repete vèsyon, se pa yon yon sèl repetitif. Se konsa, kite nou jwenn te kòmanse. Ann kòmanse ak sa a premye liy nan Kòd pseudo. Ak èspere ke, n ap - oswa ou pa èspere ke. Nou pral ale nan sal la. Nou pral ale liy pa liy, ak mwen pral ede ou konnen liy lan ke nou bezwen yo ekri an premye. Se konsa, pandan longè nan lis gen plis pouvwa pase zewo. Ann kòmanse nan devan an. Ki sa ki liy mwen ta dwe ekri isit la, nan Kòd? ELÈV: Pandan ke parantèz n pi gran pase 0. JASON HIRSCHHORN: Pandan ke n se gwo pase 0. Se konsa, n se gwosè a nan yon lis, e nou tcheke si - [Entèrpozisyon vwa] JASON HIRSCHHORN: - regrèt? ELÈV: Kòman nou fè konnen n se gwosè a nan lis la? JASON HIRSCHHORN: M regrèt. Pou chak spesifikasyon la pset, rechèch la ak sòt fonksyon ou bezwen ekri, n se gwosè a nan lis la. Mwen bliye eksplike ke isit la. Men, repons lan se wi. n se gwosè a nan lis la, nan ka sa a. Se konsa, pandan n pi gran pase 0. OK. Ki ka pwouve ke yon ti jan pwoblèm menm si, si bagay yo ale sou li. Paske nou pral kontinye konnen an gwosè nan lis la nan tout sa a fonksyon, men di nou kòmanse desann ak yon etalaj de 5 nonb antye relatif. Epi nou ale nan e nou te kounye a anba flèch li yon etalaj de 2 nonb antye relatif. Ki 2 nonb antye relatif se sa? Gwosè a se 2 kounye a ke nou vle gade nan, men ki 2 se sa? ki fè sans, ke kesyon? OK. Mwen pral mande l 'ankò. Se konsa, nou kòmanse koupe ak sa a etalaj de 5 nonm antye yo, ak n egal 5, dwa? Nou pral kouri nan isit la. nou ap pwobableman chanje gwosè a, dwa, menm jan bagay yo ale sou li. Ki se ki sa nou di nou vle fè. Nou pa vle fè rechèch bagay la plen ankò. Se konsa, di nou chanje li nan 2. Nou pran mwatye lis la ki nan enpè. Se konsa, jis chwazi 2. Se konsa, koulye n egal 2. Mwen regrete pou pòv yo makè efase sèk. Dwa? Apre sa, nou ap chèche nan lis la ankò ak yon lis ki gen yon gwosè 2. Oke, etalaj nou an, se toujou nan gwosè 5. Nou di nou sèlman vle rechèch 2 tach nan li. Se konsa, ki 2 tach yo se sa yo? ki fè sans? Eske yo se moun kite 2 tach yo? Eske yo se moun dwat 2 tach yo? Eske yo se moun 2 tach yo lekòl presegondè? Nou te kase pwoblèm nan desann, men nou aktyèlman pa konnen ki pati nan pwoblèm nan nou ap toujou chèche a, jis pa gen 2 varyab sa yo. Se konsa, nou bezwen yon ti kras pi plis lè sa a, pandan y ap n pi gran pase 0. Nou bezwen konnen ki kote ki n se nan etalaj aktyèl nou yo. Se konsa, okenn moun gen yon chanje nan liy sa a? Pifò nan liy sa a se parfe kòrèk. Èske gen yon lòt adisyon? Èske nou ka swap yon bagay soti pou n fè liy sa a yon ti jan pi byen? Mm-HM? ELÈV: Èske ou ka inisyalize yon varyab tankou longè n ki pral Lè sa a, dwe itilize pita nan fonksyon an? JASON HIRSCHHORN: Se konsa, inisyalize yon longè varyab n, epi nou itilize ke pita? Men, Lè sa a, nou jis mete longè ak nou toujou kouri antre nan pwoblèm sa a kote nou koupe desann longè nan pwoblèm nou yo, men nou pa janm konnen ki kote, aktyèlman, ki longè kat sou. ELÈV: se pa sa ki pral rive pita lè w ap li di yo: rechèch kite, rechèch dwa? W ap ale pou yo ale nan yon lòt zòn nan ou - JASON HIRSCHHORN: Nou pwal ale nan yon zòn, men ki jan nou konnen ki se pou yo ale nan? Si nou gen sèlman etalaj la ak sa a n, ki jan nou konnen ki kote yo ale nan nan etalaj la. Nan do a, repons lan se wi? ELÈV: ou gen, tankou, yon pi ba mare ak yon anwo mare varyab oswa yon bagay tankou sa? JASON HIRSCHHORN: OK. Se konsa, sa a se yon lòt lide. Olye ke sèlman kenbe tras nan la gwosè, nou kenbe tras nan pi ba a ak anwo mare varyab. Se konsa, kouman nou kalkile gwosè a soti nan yon pi ba mare ak anwo mare? [Entèrpozisyon vwa] JASON HIRSCHHORN: soustraksyon. Epi tou li kenbe tras nan pi ba la mare ak anwo mare yo fè nou konnen, yo se nou chache de sa yo? Èske nou chache de sa yo sou isit la? Èske nou chache de la lekòl presegondè? Pwobableman pa de nan mitan yo, paske sa a, an reyalite, se binè rechèch la. Men koulye a, nou pral kapab jwenn gwosè a, men tou, limit yo nan etalaj la. Nan sans, si nou gen jeyan nou anyè telefòn, nou RIP l 'nan mwatye. Nou kounye a konnen ki kote ki pi piti liv telefòn se. Men, nou pa ap aktyèlman araché anyè telefòn lan nan mwatye. Nou toujou bezwen konnen ki kote an limit nouvo sou pwoblèm nou an, se. okenn moun gen nenpòt kesyon sou sa? Wi? ELÈV: Èske li travay pa kreye yon varyab, mwen, ke ou Lè sa a, jis chanjman pozisyon nan mwen relatif nan li yo pozisyon aktyèl la, ak longè, n an? JASON HIRSCHHORN: Ak sa ki mwen? ELÈV: tankou mwen te tankou sòt de - Menm jan ak ou ta inisyalize mwen yo dwe a mitan pozisyon nan etalaj la. Lè sa a,, si valè a nan pozisyon mwen nan nan etalaj la nan mitan yo jwenn dwe mwens pase valè a ou bezwen, mwen kounye a vin longè a nan etalaj la, plis valè a nan mwen divize pa 2. Tankou, wè, ou chanjman mwen - JASON HIRSCHHORN: Dwa. ELÈV: - jiska la - JASON HIRSCHHORN: Se konsa, mwen menm ki prèske pozitif ki pral travay. Men, yo te nan pwen, ou bezwen de moso nan enfòmasyon isit la. Ou ka fè l 'ak nan konmansman ak nan fen, oswa ou ka fè l 'ak gwosè, ak Lè sa a, kèk makè. Men, ou bezwen de moso nan enfòmasyon isit la. Ou pa ka jwenn pa ak jis yon sèl. ki fè sans? Se konsa, nou ap ale nan ale nan, ak nou pral fè [fèbl] ak kreye kèk makè. Se konsa, what'd ou ekri nan kòd ou a? ELÈV: Mwen jis di Int mare yon sèl ki egal a 0. JASON HIRSCHHORN: Se pou yo rele ki Int, kòmanse. ELÈV: OK. JASON HIRSCHHORN: Sa fè plis sans pou mwen. Apre sa,? ELÈV: m 'te di, mwen devine, Int fini. JASON HIRSCHHORN: int fini. ELÈV: Mwen devine, n mwens 1, oswa yon bagay tankou sa. Tankou, eleman an dènye. JASON HIRSCHHORN: Se konsa, ou te ekri, Int kòmanse egal 0, pwenvigil, ak Int fini egal n mwens 1, pwenvigil. Se konsa, esansyèlman, sa n ap fè isit la, 0 pozisyon a an premye. Apre sa, jan nou konnen nan ranje yo, yo pa ale jiska n yo, yo moute al n mwens 1. Se konsa, nou gen kèk limit nan etalaj nou an. Apre sa, sa yo premye limit rive yo dwe limit yo inisyal la nan pwoblèm nou yo. OK. Se konsa, ki son bon. Lè sa a, si nou tounen nan liy sa a, pandan y ap longè nan lis pi gran pase 0, sa ki, olye pou yo n, yo ta dwe nou mete nan isit la? ELÈV: Ekri mete fen nan mwens nan konmansman. JASON HIRSCHHORN: Pandan ke mete fen nan mwens kòmanse gen plis pouvwa pase 0? OK. Apre sa, nou te kapab, si nou te vle fè ki yon ti jan joli, ki sa ki lòt moun te kapab nou fè? Si nou te vle netwaye sa a Kòd moute yon ti jan? Ki jan nou ka debarase m de 0 a? Sa a se jis yon kesyon style. Li nan kòrèk kounye a. ELÈV: finisman fè sa ki pa egal nan konmansman? JASON HIRSCHHORN: Nou ka fè sa? [Entèrpozisyon vwa] ELÈV: Fini ki pi gran? JASON HIRSCHHORN: Yeah. Nou ka jis fè pandan y ap mete fen nan gen plis pouvwa pase nan konmansman. Dwat. Nou te ajoute kòmanse lòt bò lanmè a de sa, epi nou te debarase m de 0 a. Se konsa, sa a jis sanble yon ti kras ti jan pi pwòp. OK. Se konsa, pandan y ap longè nan lis se 0, nou te ekri ki, pandan y ap mete fen nan se pi gwo pase kòmanse. Nou pral mete nan nesesè nou aparèy òtopedik Curly, ak Lè sa a, premye bagay la nou vle fè se gade nan yo nan yon lis ti kras. Ou? Èske ou ka ban m '- a ELÈV: Si parantèz valè kare bracket - JASON HIRSCHHORN: Si parantèz valè kare bracket. ELÈV: fini divize pa 2. JASON HIRSCHHORN: Fini? ELÈV: Mwen wè yon pwoblèm ak ou - JASON HIRSCHHORN: OK. Oke, gade nan mitan yo. Ki jan nou fè konnen ki sa mitan an se? Yeah. Se konsa, kite m 'efase ke kòd. Ki jan nou fè konnen ki sa mitan an se? Nan anyen, lè ou gen nan konmansman an epi bout pou bout la, ki jan ou jwenn mitan an? ELÈV: Ou mwayèn. ELÈV: Ou ajoute yo ansanm ak Lè sa a - JASON HIRSCHHORN: Add yo ansanm ak Lè sa a? ELÈV: Epi ou an mwayèn. Divize li pa 2. JASON HIRSCHHORN: Add yo ansanm, yo divize pa 2. Se konsa, Int mitan egal? Tom, ou ka ba ou li m 'konsa? ELÈV: Kòmanse plis mete fen nan - JASON HIRSCHHORN: Kòmansman plis ki fini. ELÈV: tout, bracket, divize pa 2. JASON HIRSCHHORN: Tout, nan parantèz, divize pa 2. Se konsa, ki ban m 'mitan an nan anyen, kòrèk? ELÈV: Ou bezwen tou awondi li. JASON HIRSCHHORN: Ki sa ki fè ou vle di, mwen bezwen awondi l '? [Entèrpozisyon vwa] ELÈV: Paske si Se yon enpè nimewo, lè sa a li a tankou - JASON HIRSCHHORN: Bon, OK. Se konsa, mwen te kapab awondi li. Men, si li nan yon nimewo enpè, yon 5, mwen kapab pran 1 lwen mitan yo. Oswa si li nan yon nimewo menm, pito, sa a, se yon ka pi byen. Si li nan 4, nou sèlman gen 4, mwen ka pran premye "mitan an", quote, unquote oswa dezyèm "mitan" yon sèl la. Swa ta travay pou yon rechèch binè, Se konsa, mwen pa aktyèlman bezwen awondi li. Men, gen yon sèl bagay lòt mwen bezwen gade nan liy sa a. Nou pa ta ka reyalize li ankò, men nou pwal tounen vin jwenn li. Paske liy sa a aktyèlman toujou bezwen yon lòt bagay. Men, byen lwen tèlman, nou te ekri kat liy nan kòd. Nou te gen nan konmansman nou epi k ap fini makè. Nou gen bouk pandan y ap nou an, ki kat sou dirèkteman nan pseudocode nou an. Nou ap chèche nan mitan an ki kat dirèkteman sou pseudocode nou an. Mwen ta ka di sa a ale nan mitan an nan lis la, liy sa a nan kòd. Lè sa a,, yon fwa nou ale nan la nan mitan lis la, bagay la pwochen nou bezwen fè se tcheke si valè nou an, se la pou pseudocode nan nou te ekri pi bonè. Se konsa, ki jan nou tcheke si valè nou se nan mitan an nan lis la? Ou. Poukisa ou pa fè sa? ELÈV: Si valè a nou an, se nan mitan an ki egal a tou sa nou mete nan - Mwen vle di egal egal a - JASON HIRSCHHORN: Li - OK. ELÈV: Mwen pa si sa ki nan varyab nou ap chèche pou menm si, se paske - [Entèrpozisyon vwa] ELÈV: [fèbl]. JASON HIRSCHHORN: Egzakteman. Pou chak deklarasyon an fonksyon, nou ap chèche pou yon valè. Se konsa, nou ap chèche yon valè nan yon etalaj de valè. Se konsa, w ap egzakteman dwat. Ou pral fè, si valè louvri paren bracket mitan fèmen egal bracket egal valè, ak andedan gen sa nou bezwen fè? Si nan valè nou yo la, sa ki nou bezwen fè? [Entèrpozisyon vwa] ELÈV: Retounen zewo. JASON HIRSCHHORN: Retounen vre. ELÈV: Retounen vre. JASON HIRSCHHORN: Mikayèl, sa ki liy sa a fè? ELÈV: [fèbl] te pwogram lan kouri kou li yo, e ke sa se sou, ak ou te sa ou bezwen fè? JASON HIRSCHHORN: Pwogram nan oswa ki sa? Nan ka sa a? ELÈV: fonksyon la. JASON HIRSCHHORN: fonksyon la. Se konsa, pou li retounen nan tou sa yo rele li epi li ba li valè a, vre. Egzakteman dwat. Prensipal la. Ki sa ki nan kalite la retounen nan prensipal yo, Michael? ELÈV: Int, nonb antye ki pè? JASON HIRSCHHORN: Int, egzakteman. Yon nonb antye relatif. Ki te jis yon kesyon asire w ou nèg yo te sou tèt li. Ki sa ki anjeneral li retounen, si tout bagay sa yo yo ap travay byen? ELÈV: zewo. JASON HIRSCHHORN: Zewo. Egzakteman dwat. ELÈV: Si sa a jis retounen vre, gen nan pa gen enfòmasyon yo te ba yo sou sa ki - a Oh, sa a se jis di ke ki valè ki andedan etalaj la. JASON HIRSCHHORN: Egzakteman. Pwogram sa a se pa sa bay enfòmasyon nan egzakteman ki kote valè a se. Li sèlman di li: repons lan se wi, nou jwenn li, oswa ki pa gen, nou pa t 'jwenn li ankò. Se konsa, si nimewo yo te jwenn, retounen vre. Oke, aktyèlman nou jis te fè sa vrèman byen vit avèk liy sa a youn nan kòd. Se konsa, mwen pral deplase ke liy nan pseudocode. ELÈV: pa nou bezwen chanje etalaj la? Li ta dwe valè, pa valè, dwa? JASON HIRSCHHORN: M regrèt. Mèsi poutèt ou. ELÈV: Yeah. JASON HIRSCHHORN: Liy sa a yo ta dwe valè. Egzakteman dwat. OK. Se konsa, nou te gade lis la presegondè. Si kantite yo te jwenn retounen vre. Kontinye sou ak pseudocode nou an, si mitan an se pi gwo a, rechèch kite. Se konsa, mwen te gen nan isit la, si kantite ki pi wo, rechèch kite. Constantine, ou ka bay m 'liy sa a nan kòd? ELÈV: Si valè de presegondè - JASON HIRSCHHORN: Se konsa, si valè - si louvri paren valè bracket mitan fèmen bracket - ELÈV: se pi piti pase valè? JASON HIRSCHHORN: se mwens pase. ELÈV: Mwens pase valè. JASON HIRSCHHORN: Valè. Oke, aktyèlman, ou vle tcheke si nimewo a - M regrèt. Sa a se yon ti kras konfizyon. Men, lòt moun si kantite a nan la presegondè nan lis ki pi gwo. ELÈV: Oh, OK. JASON HIRSCHHORN: Mwen pral chanje sa. Lòt Bagay si mitan an se pi wo, nou vle fè rechèch gòch li yo, OK? Ak sa nou fè andedan sa a si kondisyon? ELÈV: Èske mwen ka fè yon chanjman ti kondisyon an, chanje li nan lòt moun si? JASON HIRSCHHORN: Lòt Bagay si? OK. Se konsa, kòd sa a ap egzekite sou menm bagay la. Men, bagay la bèl sou lè l sèvi avèk si, lòt moun si, lòt moun si oswa si, lòt moun si, lòt moun vle di ke se sèlman youn nan sa yo ki pral dwe tcheke, se pa tout twa nan yo, potansyèlman. Apre sa, ki fè li yon ti kras joli sou òdinatè a ki nan kouri pwogram ou an. Se konsa, [? Constantine,?] nou ap andedan liy sa a, lòt moun si valè, bracket mitan fèmen bracket gen plis pouvwa pase valè. Sa nou bezwen fè? Nou bezwen nan rechèch bò gòch la. Ki jan nou fè sa? Mwen pral ba ou yon kòmanse. Nou gen de bagay sa yo rele kòmanse epi k ap fini. Se konsa, sa bezwen rive nan konmansman an? Si ou vle fè rechèch bò goch la nan la lis, nou jwenn nan konmansman nou an kounye a. Ki sa nou bezwen fè li? ELÈV: Nou mete nan konmansman an nan mitan plis 1. JASON HIRSCHHORN: Se konsa, si nou ap chèche bò gòch la? ELÈV: Padon, mwens presegondè - Se konsa, fini an ta dwe mitan mwens 1 ak nan konmansman - JASON HIRSCHHORN: Ak sa ki k ap pase nan konmansman an? ELÈV: Li rete menm jan an. JASON HIRSCHHORN: Se konsa, nan siyifikasyon rete menm jan an. Si nou ap chèche bò gòch la, nou ap lè l sèvi avèk menm nan konmansman an - egzakteman dwat. Epi k ap fini an? Padon, sa ki la mete fen nan egal ankò? ELÈV: mwens Mwayen 1. JASON HIRSCHHORN: mwens Mwayen 1. Koulye a, poukisa mwens 1, pa sèlman lekòl presegondè? ELÈV: mitan an se soti nan la foto deja, paske nou te gen tcheke ke li nan mete deyò? JASON HIRSCHHORN: Sa se egzakteman dwat. Mitan an se soti nan imaj la. Nou deja tcheke mitan yo. Se konsa, nou pa vle "mitan an," quote unquote, pou l kontinye dwe nan la etalaj ke nou ap chèche. Se konsa, sa a se kokenn. Lòt Bagay si valè bracket mitan an se pi gwo pase valè fini egal mwens mitan 1. Jeff, sa ki sou liy sa a sot pase a? ELÈV: Lòt Bagay. Valè mitan an se mwens pase valè? JASON HIRSCHHORN: nou pral w ap bay m 'lòt moun. Se konsa, si ou pa ban m '- ELÈV: Se konsa, Lè sa a, kòmanse ta dwe mitan plis 1. JASON HIRSCHHORN: Kòmanse egal mitan plis 1, ankò, pou menm bagay la tou rezon ki fè Constantine te ban nou pi bonè. Apre sa, nan fen a, ki moun ki pa te bay m 'yon liy nan Kòd' fè ankò? Retounen fo, Aleha, ki sa ki nou ekri isit la? ELÈV: Retounen fo. JASON HIRSCHHORN: Retounen fo. Apre sa, nou bezwen fè sa, paske si nou pa jwenn li, nou bezwen di nou pa t 'jwenn li ankò. Apre sa, nou te di nou pral retounen yon bouleen, se konsa nou definitivman gen retounen yon yon kote bouleen. Se konsa, kite a kouri Kòd sa a. Mwen aktyèlman ale nan - se konsa nou ap nan tèminal la. Nou pral klè fenèt nou an. Se pou yo fè tout. Nou jwenn gen nan yon erè. Genyen yon erè sou liy 15, espere pwenvigil nan fen a deklarasyon. Se konsa, sa mwen te bliye? ELÈV: virgules. JASON HIRSCHHORN: virgules dwa moute isit la. Mwen panse ke sa ki te Tom a kòd. Se konsa, Tom, [fèbl]. Jis plèzantri. Se pou yo fè tout ankò. ELÈV: Ki sa ki Dropbox anyè èske nou dwe dwe nan pou sa a? JASON HIRSCHHORN: Se konsa, ou kapab jis gade pou sa a ti jan. Men, ankò, si ou te vle pou avanse pou pi sa a kòd nan anyè pset3 ou a eseye li soti, se sa ki mwen te fè. Si ou ap remake isit la - regrèt, bon kesyon. [? LS,?] Mwen gen nan isit la kòd la find.c soti nan semèn sa a nan kòd distribisyon. Mwen gen helpers.h. Mwen gen yon dosye fè ki mwen aktyèlman modifié yon ti jan genyen ladan yo sa yo nouvo dosye nou ap ekri. Tout moun nan ki Kòd yo ap disponib, pa kòd la distribisyon, men nouvo a Fè ranpli, dosye a helpers.h nouvo yo pral ap disponib sou entènèt pou télécharger. Yon fwa ankò, se konsa sa yo se a kòd siplemantè nou genyen. Se konsa, fè yo tout, pou chak liy sa a, fè jwenn, binè, seleksyon ti wonn - fè tout twa nan yo ak compiles nan sa a Kòd jwenn ègzèkutabl. Se konsa, jeneralman, nou pa vle tou dwat nan check50. Nou vle kouri kèk tès sou pwòp nou yo. Men, jis pou nou ka akselere sa a yon ti jan, check50 2013 pset3.find ap pase nan helpers.c-- move m 'yo. Mwen pa gen dwa sa kounye a. Se konsa, nou ap aktyèlman ale nan kouri Kòd la pou reyèl. Usage.find /, ou konnen ki sa sa vle di? ELÈV: Ou bezwen yon dezyèm liy lòd sou li. JASON HIRSCHHORN: mwen bezwen yon liy lòd dezyèm fwa. Apre sa, pou chak spesifikasyon la, mwen bezwen antre nan sa nou ap chèche pou. Se konsa, kite a gade pou 42. Nou pwal kenbe l 'nan klase, paske nou pa genyen ekri yon fonksyon sòt ankò - 42, 43, 44. Ak kontwòl D pa t 'jwenn lan zegwi nan gwo pile zèb la. Sa a move. Li definitivman la. Ann eseye yon lòt bagay. Petèt se paske mwen mete li nan kòmansman an. Se pou yo fè 41, 42, 43. Gen nou ale. Li jwenn li. Se pou yo mete l 'nan fen a kounye a, jis pou nou ka gen bon jan - 40, 41, 42. Pa t 'jwenn zegwi a. Se konsa, mwen mansyone sa a pi bonè. Malerezman, mwen te konnen sa a te pral rive. Men, pou rezon pedagojik, li bon yo eksplore li. Li pa travay. Pou kèk rezon, li pa ka jwenn li ankò. Nou konnen sa ki nan la, men nou pa jwenn li. Se konsa, yon sèl bagay nou te ka fè se ale nan Gdb jwenn li, men li fè okenn moun, san yo pa ale atravè tout gdb, gen yon sans de kote nou vise a? [? Madu? ?] ELÈV: Mwen panse ke li ta ka lè fini ki egal a kòmansman, epi li jis yon lis yon sèl-eleman. Lè sa a, li jis inyore li olye nan aktyèlman tcheke li. JASON HIRSCHHORN: Sa se egzakteman dwat. Lè fini egal nan konmansman, fè nou toujou gen yon eleman nan lis nou an? ELÈV: Wi. JASON HIRSCHHORN: Wi, an reyalite, nou gen yon sèl ak sèlman yon sèl eleman. Apre sa, ki pral gen plis chans rive lè, pou chak kòd la nou teste, nou se nan la devan gwo pile zèb la oswa nan nan fen gwo pile zèb la. Sa a kote nan konmansman ak fini ki pral egal yon sèl, ak binè rechèch la. Se konsa, nan de ka sa yo li pa t 'travay, paske mete fen nan te egal ak nan konmansman. Men, si fini ki egal a kòmansman, sa a bouk pandan y ap egzekite? Li pa fè sa. Apre sa, nou te ka gen tcheke sa ankò nan gdb. Se konsa, ki jan nou ka ranje Kòd sa a, paske lè pandan y ap mete fen nan ki egal a kòmanse, nou vle tou sa a pandan y ap bouk nan kouri. Se konsa, sa ranje nou ka fè nan liy 18? ELÈV: [fèbl] Kisa ki pi konsekan pase oswa egal a. JASON HIRSCHHORN: Egzakteman dwat. Pandan ke fini gen plis pouvwa pase oswa egal a nan konmansman. Se konsa, koulye a, nou fè asire w ke ou jwenn ki ka kwen nan fen an. Li kite yo wè. Se pou yo kouri sa a yon lòt fwa ankò. Se pou yo fè tout. Yon fwa ankò, ou pral gen jis swiv ansanm isit la. Jwenn 41 tan sa a. Jis kenbe l 'ki konsistan. Jwenn 42. Se pou yo mete l 'nan kòmansman an - 42, 43, 44. Nou jwenn li. Se konsa, sa ki te tout bon chanjman nan nou bezwen fè. Sa ki te yon anpil nan nou kodaj jis te fè, binè rechèch la. okenn moun gen nenpòt kesyon anvan Mwen deplase sou nan liy nou te ekri nan rechèch binè oswa ki jan nou kalkile konnen ki sa ki nou t 'konnen ki? Anvan nou avanse pou pi sou li a, Mwen vle tou nan pwen soti ke pa ak gwo, nou trase nou pseudo-Kòd youn nan yon sèl sou Kòd nou an. Nou t 'gen ke bagay difisil figi konnen ak nan kòmanse epi k ap fini. Men, te ou pa kalkile ki soti, ou ta ekri bèl anpil la ki idantik Kòd, sove pou sa yo tèt de liy. Lè sa a, ou ta te reyalize lè ou te fè l 'nan chèk yo ak ka ki ou bezwen yon lòt bagay. Se konsa, menm si ou te swiv nou liy pseudo-Kòd nan liy, ou ta te gen Avèk konkou tout, men de liy nan kòd ou te bezwen ekri. Apre sa, mwen ta kapab byen vle parye ke ou nèg ta gen tout kalkile ki soti trè byen vit, ke ou bezwen yo mete kèk sòt de makè nan gen figi ki kote ou te ye. Sa ankò, se pouvwa a nan fè pseudo-Kòd devan yo nan tan. Se konsa, nou ka fè lojik a an premye, ak Lè sa a, nou ka enkyete sou sentaks la. Te nou te mele sou lojik la pandan y ap eseye ekri kòd sa a nan C, nou ta gen vinn tout messed yo. Lè sa a, nou ta dwe poze kesyon sou lojik ak sentaks ak mayaj yo tout ansanm. Apre sa, nou ta gen vinn pèdi nan sa ki ka byen vit vin tounen yon trè difisil pwoblèm. Se konsa, kite a deplase sou kounye a sòt seleksyon an. Nou gen 20 minit kite. Se konsa, mwen gen yon santiman nou pa yo pral kapab jwenn atravè tout sòt seleksyon ak sòt ti wonn. Men, se pou nou omwen tantativ fini sòt seleksyon an. Se konsa, aplike seleksyon sòt lè l sèvi avèk la sa yo deklarasyon fonksyon. Yon fwa ankò, sa a se te pran nan men la pwoblèm mete spesifikasyon. Valè Int se parantèz, se yon etalaj de nonb antye relatif. Apre sa, int.n se gwosè a nan ki pozisyon. Seleksyon sòt ki pral sòt etalaj sa a. Se konsa, pou chak modèl mantal nou an nan seleksyon sòt, nou rale a - premye, n 'al jwenn nan lis la premye a tan, jwenn kantite ki pi piti a, mete l 'nan kòmansman an, jwenn dezyèm lan pi piti kantite, mete l 'nan an dezyèm pozisyon si nou vle sòt nan moute lòd. Mwen pa fòse w ekri pseudo-Kòd kounye a. Men, anvan nou fè kòd la kòm yon klas nan senk minit, nou pral ekri pseudo-Kòd pou nou gen kèk sans nan kote nou prale. Se konsa, eseye ekri pseudo-Kòd sou kont ou. Lè sa a, eseye vire ki pseudo-Kòd nan kòd. Nou pral fè sa kòm yon gwoup nan senk minit. Ak nan kou, kite m 'konnen si w gen nenpòt kesyon. ELÈV: Sa li ye? JASON HIRSCHHORN: Gade ki jan lwen ou ka jwenn nan de plis minit. Mwen konprann ou pa pral kapab fini. Men, nou menm ki pral pran sa a kòm yon gwoup. W ap tout kod Se konsa, [fèbl], se konsa mwen regrèt pran yon poz sa w ap fè. Men, kite a ale nan sa a kòm yon gwoup. Li di ankò: binè rechèch la, nou tout bay m 'yon sèl si se pa plis liy nan kòd. Mèsi pou sa. Nou pral fè menm bagay la isit la, Kòd ansanm kòm yon gwoup. Se konsa, sòt seleksyon - kite a ekri kèk rapid pseudo-kòd. Pou chak modèl mantal, ka yon moun ban m ' liy lan premye nan pseudo-Kòd, tanpri? Ki sa mwen vle fè? ELÈV: Pandan ke lis la se soti nan lòd. JASON HIRSCHHORN: OK, pandan y ap lis la se parèt nan lòd. Ak ki sa ou vle di "soti nan lòd?" ELÈV: Pandan ke [fèbl] pa te klase. JASON HIRSCHHORN: Pandan ke lis la se soti nan lòd, ki sa nou fè? Ban m 'liy, dezyèm lan, tanpri, Marcus. ELÈV: Se konsa, jwenn pwochen an pi piti kantite. Sa a pral dantle. JASON HIRSCHHORN: Se konsa, jwenn nan pwochen pi piti kantite. Lè sa a, yon lòt moun? Yon fwa nou jwenn pwochen pi piti a nimewo, ki sa nou fè? Mwen pral di jwenn nimewo ki pi piti a. Sa a ki sa nou vle fè. Se konsa, jwenn kantite ki pi piti a. Lè sa a, sa nou fè? ELÈV: [fèbl] nan konmansman. JASON HIRSCHHORN: M regrèt? ELÈV: Mete li nan la kòmanse nan lis la. JASON HIRSCHHORN: Se konsa, mete li nan nan konmansman an nan lis la. Ak sa ki n 'fè ak bagay la sa ki te depi nan konmansman an nan lis la, dwa? Nou ap ranplasan yon bagay. Se konsa, kote nou mete sa? Yeah, Anna? ELÈV: Ki kote pi piti a nimewo te ye? JASON HIRSHHORN: Se konsa, mete nan konmansman an nan lis la kote an pi piti nimewo te ye a. Se konsa, pandan lis la se soti nan lòd, jwenn nimewo ki pi piti a, mete l nan nan konmansman an nan lis la, mete an kòmanse nan lis la kote an pi piti nimewo te ye a. Marcus, èske ou kapab rformule liy sa a pandan y ap lis la se soti nan lòd? ELÈV: Pandan ke chif yo pa te klase? JASON HIRSHHORN: OK, se konsa yo nan lòd yo konnen nimewo yo pa te Ranje, ki sa nou bezwen fè? Ki kantite nou bezwen ale nan lis sa a? ELÈV: Se konsa, mwen devine yon pou bouk, oswa pandan y ap, pandan y ap nimewo tcheke ki pi piti a pase longè a nan lis la? JASON HIRSHHORN: OK, sa a, se bon. Mwen panse mwen misphrased kesyon mwen an mal. Mwen te jis ap eseye jwenn nan nou pral gen yo ale nan lis la tout antye. Se konsa, pandan lis la se soti nan lòd, pou m ', se difisil kat jeyografik sou. Men, fondamantalman, sa a, se ki jan Mwen panse ke sou sa. Ale nan lis la an antye, jwenn nan pi piti kantite, mete l nan la kòmanse - aktyèlman, w ap dwat. Se pou yo mete yo tou de. Se konsa, pandan lis la se soti nan lòd, nou bezwen ale nan lis la tout antye yon fwa, jwenn kantite, kote ki pi piti a li nan konmansman an nan lis la, mete nan konmansman an nan lis la kote an pi piti nimewo te, ak Lè sa a, si nan lis se toujou soti nan lòd, nou te te resevwa yo ale nan sa a pwosesis ankò, dwa? Se poutèt sa sòt seleksyon, ègzekutabl Big-O nan sòt seleksyon, nenpòt moun? ELÈV: n okib. JASON HIRSHHORN: n okib. Paske tankou Marcus ak mwen jis reyalize isit la, nou ap pral fè yo ale nan lis la lis kantite fwa. Se konsa, ale atravè tout yon bagay nan longè n n kantite fwa se an reyalite n okib. Se konsa, sa a se pseudocode nou an. Sa a parèt trè bon. okenn moun gen nenpòt kesyon sou pseudocode a? Paske aktyèlman sòt seleksyon yo ta dwe pwobableman vin youn nan yon sèl, kòd soti nan pseudocode. Se konsa, nenpòt kesyon sou la lojik nan pseudocode a? Tanpri mande li kounye a. Seleksyon sòt - pandan y ap lis la se deyò nan lòd, nou ap ale nan ale nan li epi jwenn pi piti chak fwa a li mete l 'la devan la. Se konsa, pandan lis la se soti nan lòd, kapab yon moun ban m 'ki liy nan Kòd ki pa te ban m 'yon liy nan kòd ankò, tanpri? Li son tankou yon ki sa? ELÈV: Sa se yon pou bouk. JASON HIRSHHORN: Li son renmen yon pou bouk. OK, ou ka ban m 'pou nan bouk? Pou - ELÈV: mwen pèr 0. JASON HIRSHHORN: mwen oswa - kisa nou manke? Kisa ki ale dwa isit la? ELÈV: Int. JASON HIRSHHORN: Egzakteman. (Int mwen = 0; - ELÈV: mwen