Pwofesè: Se konsa, ajanda a pou semèn sa a, pa sa ki pi bagay. Men, èspere ke trè, trè itil ak ki enpòtan pou ou nèg semèn sa a. Men, nou ap ale nan depanse petèt 15, 20 minit jis byen vit pale sou lis lyen. Lis Link yo ale nan dwe kouvri sou egzamen an. Se konsa, petèt li ta trè itil yo aprann yon ti jan sou sa ki se. Nou pral pase vas a majorite nan seksyon jodi a ale sou egzamen zewo pwoblèm pratik. Lè sa a, nou pral sove petèt 20, 30 minit nan fen a pou nenpòt kesyon pèsistan nenpòt moun ki te genyen an. Lè sa a,, dènye a senk minit, mwen pral bay yon ponp moute diskou pou egzamen an. Ou nèg tout vle yo dwe isit la pou sa. Paske li k ap pase yo dwe yon bon moman. Tout dwa, se konsa kèk materyèl sou lis lyen. Ki jan yo tipikman ap estriktire se ou gen sa yo rele yon ne, dwa? Ou gen sa, rele nœuds yo, ki se strukt. Mwen pral ale sou ki jan yo kreye yon ne nan pwochen glise la. Men, esansyèlman tout lye lis se se done ki ki te nèrveu ansanm via endikasyon. Se konsa, avantaj a nou gen pou yo sèvi ak yon lis lye sou yo, petèt, tankou yon etalaj, se lefèt ke nan yon etalaj ou bezwen yon blòk vwazen nan memwa tout nan plas la menm, yon sèl apre lòt, pou kapab gen sa. Lè nou konsidere ke yon lis lye, ou te kapab gen o aza Bits ti kras nan memwa tout lòt peyi sou òdinatè w lan nèrveu ansanm pa endikasyon. Ak nan fason sa a ou kapab jwenn aksè enfòmasyon ki vini youn apre a lòt, apre lòt la san yo pa bezwen jis yon gwo moso nan memwa nan òdinatè w lan yon kote. Se konsa, sa a se youn nan pi gwo a rezon ki fè nou itilize lis lyen. Dezyèmman, li nan trè fasil a dynamique rdimansyonman lis la lyen paske nan etalaj, lè ou deklare yon etalaj, ou gen yon sèten valè seri. Se pou nou di mwen te vle kreye yon etalaj de 10 nonm antye relatif. Mwen kreye yon etalaj de 10 nonm antye relatif, epi ki nan li. Li nan 10. Mwen pa konnen sa yo dwe fè apre sa. Si mwen te vle fè l '11, pa kapab fè li. Si m 'vle fè li 9, pa kapab fè li. Lè nou konsidere ke nan yon lis lyen, ou ka ajoute ak efase ak insert tout kote ou vle. Ou ka dynamique rdimansyonman ou estrikti isit la, estrikti done ou. Epi sa ba nou yon anpil plis te ajoute fleksibilite ke nou pa fè sa tipikman gen ak ranje. Nenpòt moun ki konfonn sou debaz la estrikti nan ki jan yon lis lyen se oswa poukisa nou gen yo sèvi ak yon sèl sou yon etalaj? Yeah, nou pral ale sou an detay Ki jan yo aktyèlman kreye yon sèl. Men, sa a se jis kalite sans la an jeneral kounye a. Fre. Se konsa, ranje yo nèrveu ansanm a bèl bagay sa yo ti kras rele nœuds. Tout yon ne se se yon kalite struct. Sonje byen, yon struct se si ou te vle yo kreye yon sèten kalite varyab nan C ki fè pa deja egziste, ou menm, kòm yon pwogramè, ka aktyèlman kreye ki tèt ou. Se konsa, sa a ki kalite done Se estrikti rele yon ne, gen aktyèlman te kreye pa nou, ki pa egziste nan C sou pwòp li yo. Ak wout la ke ou kreye youn se ou gen header nan tipedèf struct, ki di du a mwen se sou yo kreye yon struct. Nou pwal Non li "ne." Ak andedan nou ap ale deklare yon varyab nan, ki se ale nan magazen yon valè. Lè sa a, nou ap tou ale nan te yon konsèy rele "pwochen" ki pwen nan pwochen an ne nan lis la lyen. Lè sa a, ou fini ki koupe pa jis repete ne ankò pou du a konnen, OK sa a, se nan fen struct m 'yo. Se konsa, nan fason sa a, nou ap kalite pou kreye yon bèl ti etalaj jan de bagay konsa ak yon valè epi ki gen yon konsèy. Epi ou ka tout lyen yo ansanm ak moun endikasyon. Se konsa, yo ke yo ka tout kalite gen nèrveu ansanm nan yon chèn. Fre. Èske ou ka tande ke yon ti jan pi byen? ODYANS: Yeah. Pwofesè: Tout dwa. Se konsa, fason nan ki, kòm ou nèg ka wè, se yon lis lyen tipik estriktire se ou gen yon tèt. Ou gen valè nan tèt ki se pa ke yo te vize pa nenpòt lòt konsèy. Men, li k ap pase nan pwen a, oswa referans, yon lòt ne. Ne la apre ki pral referans a ne apre sa, ak sou sa ak pou fè jiskaske ou evantyèlman frape nan fen lis lyen ou yo. Epi ou jis pa pral gen yon konsèy la. Se konsa, panse tankou, sou yon chèn, oswa menm si nenpòt nan ou nèg te fè, mwen pa konnen, tankou ak fwi loup lè ou te ti kras. Ou ta fisèl yo ansanm ak mete yo nan kou ou yo. Panse ke li nan menm bagay la egzak. Ou gen tout bagay sa yo ti kras ke ou kapab fisèl ansanm pwen sa a yon sèl apre li fin, ak yon sèl la apre li, ak sou sa ak pou fè jiskaske ou gen yon chèn nan yon estrikti done ke ou ka itilize sepandan ou renmen. Se konsa, fason ke sa a nou ta tipikman Insert ou efase nenpòt ne ki sòti nan yon lyen lis se trè diferan depann de kote ki ne se. Se konsa, pou egzanp, paske endikasyon yo toujou montre nan se yon valè espesifik, lè ou efase oswa insert yon ne, ou vle asire w ke konsèy la se tout montre nan bagay ki dwat. Se konsa, si ou te vle potansyèlman Insert yon nouvo ne ak valè a nan yon sèl andedan yon lyen Ranje lis, nou tout konnen isit la soti nan foto a ki k ap pase yo ale nan ant tèt ak de, dwa? Paske yon sèl adapte la a. Men, wout la nan ki nou ta fè sa se pa premye dereferencing konsèy la soti nan tèt ak voye ki nan yon sèl. Men, nou antre nan nan yon pwoblèm isit la. Èske nenpòt moun kapab wè sa ki pwoblèm nan se si nou te nan premye dèreferans konsèy la nan tèt yon sèl? Ki pwoblèm ta ka nou kouri antre nan si nou eseye ajoute sa a, yo kanpe devan a nan etalaj nou an? ODYANS: [fèbl] Pwofesè: Egzakteman. Se konsa, isit la nou gen yon konsèy ki te yon fwa montre nan tèt la nan de. Men, si ou debarase m de ki konsèy, ou pwen li nan yon sèl, kounye a nou pa gen okenn lide ki kote yo ale jwenn de. Paske jan mwen te di anvan, ou te gen yon jeyan ti moso nan memwa nan òdinatè w lan. Tout nœuds sa yo te kapab dwe antremele owaza nan nenpòt kote nan òdinatè w lan. Epi ou pa konnen ki jan yo ale sou jwenn sa. Se konsa, ou bezwen gen endikasyon montre nan tout nœuds nan fen an. Oswa lòt moun si ou aksidantèlman dèreferans youn san yo pa premye atribuan se yon valè premye, w ap jis ale nan pèdi tout bagay apre sa. Se konsa, sa nou ap ale nan fè se, ou ta premye vle kreye yon konsèy sou ne a ou vle insert. Montre li nan kote ou vle insert l 'bay, Lè sa a, apre sa ou ak te kapab pwen tèt tounen nan yon sèl. Ki fè sans nan tout moun isit la? Great. Panse a li kòm jis tankou yon chèn. Si ou ajoute yon chèn, li nan kalite entwisyon ki jan ou ta ale sou mete sa. OK, se konsa ke se aktyèlman pi pi kout pase mwen te panse li ta dwe, yon jwèt senk minit sou lis lyen. Jis pou ou nèg gen nan lide debaz yo nan ki sa sa se. Isit la nou gen ajanda a pou egzamen zewo. Pa kite sa a entimide ou. Mwen konnen li nan yon anpil nan enfòmasyon. Li sanble trè pè. Li la tou yon anpil nan, mwen panse, CSC kalite tèm. Bagay sa yo tankou strings ekzadesimal, endikasyon, alokasyon dinamik memwa se tèm kònen klewon trè pè. Men, nou ap ale nan kraze yo desann, fè kèk pwoblèm pratik se konsa ke ou nèg tout yo pare pou egzamen sa a. Konbyen nan ou nèg gen deja kòmanse etidye? OK, ou nèg pwobableman vle yo kòmanse trape te kòmanse sou sa, paske egzamen an se demen. Ou Jedi pou kèk nan ou. Yeah, se konsa nou ap ale nan ale sou kèk pwoblèm pratik. Si ou nèg tout vle pran soti yon fèy papye, yon kreyon. Nou pral jis pase nan a vas majorite nan seksyon jodi a ale sou kèk nan ki se konsa ou nèg gen yon lide sou sa ou kapab espere sou egzamen an. OK. Yon koup la lojistik detay kòm byen, pou okenn moun ki pa te gen ak sa yo ki lyen a, si ou ale nan cs50.yale.edu, sou devan an paj sa a gen yon lyen ki di "Sou egzamen Zewo." Link pran ou la. Si ou pa gen li li l ', tanpri li li l'. Paske li di ou vrèman enpòtan enfòmasyon konsènan egzamen an. Mwen pral rale sa a soti nan ki jis paske, fizikman, si ou nèg pa konnen ki kote yo ale, nou pral gen pwoblèm. Se konsa, si dènye ou nan tèm ak Yon N, ale nan oditoryòm nan lekòl lalwa. Men, si kòmanse dènye ou ak P A jiska Z, ale nan Davies Oditoryòm. Lè sa a aplike sèlman pou moun ki nan seksyon an Mèkredi. Si w ap pran egzamen an sou Jedi, ou ale nan SSS 114 kote konferans ou tipikman se. ODYANS: [fèbl] PROFESSOR: O jiska Z, w ap ale pou yo ale nan oditoryòm nan Davies. Mwen pral chanje sa, dwa? Oh, yeah, ou jis fail otomatikman. Oh yeah, sa a, se ou Christa. Yeah, move m 'yo. Oui, nou menm jiska Z, w ap ale pou yo ale nan Davies Auditorim. Mwen pral ranje sa a yon fwa mwen Upload. Yeah. Lè sa a, tou yon bagay enpòtan nan lespri se ke Mèkredi, si ou se ofisyèlman ki enskri nan seksyon an Mèkredi, ou dwe pran egzamen ou nan Mèkredi. Men, si w ap enskri nan Jedi, ou dwe pran egzamen ou Jedi. Lè li nan pandan tan klas la. Ki kote, mwen panse ke li la tankou 1:00 2:15 sou mèkredi ak 2:30 3:45 sou jedi. Si ou gen yon konfli inplakabl, Eskiz Dean a yo bagay la sèlman, malerezman, nou ka pran. Paske nou te gen yon a vas majorite nan demann ta chanje soti nan Mèkredi yo Jedi. Ki nou pa ka onore sof si nou gen yon Dean nan demann. OK. Se konsa, anvan nou jwenn te kòmanse sou yon koup nan pwoblèm yo pratik, Mwen jis ale nan ale sou Konsèy itil Andy a pou siksè. Ou nèg, lè w ap etidye, ou reyèlman vle fè pratik ekri kòd nan men. A premye fwa mwen tout tan tout tan te pran yon egzamen CS, mwen pa te gen Kòd pratik ekri nan men anvan ak li te gen anpil chokan nan ki jan difisil li te ye a. Lè ou nèg pa jwenn nan nan abitid nan tape soti tout bagay, li rive ke yo te trè natirèlman kapab te autocompleted parantèz ak virgules la. Lè ou ekri li soti a la men, pafwa li a trè, trè fasil bliye yon virgules, oswa bliye fè fèmen yon bracket, oswa bliye fè fèmen yon kolon, oswa yon bagay tankou sa. Se konsa, lè ou ekri kòd a la men, li nan yon santi yo trè diferan. Se konsa, ou nèg, lè w ap travay atravè kèk nan pwoblèm yo pratik, li ta bon yo reyèlman pratike jodi a. Ou demen, Mwen ta kwè, si w ap pran egzamen an nan Jedi. Dezyèmman, nou gen dènye a, tankou, vo uit ane a nan pratik ti tès sou entènèt. Egzamen ane sa a ap pwobableman ap trè, trè menm jan ak tout nan yo. Yo ap tout trè menm jan an. Ou kalite jwenn nan nan style nan kalite la nan kesyon ke nou mande, ki kalite fonksyon ke nou pral ekri li an, et setra, et setra. Se konsa, pran ti tès yo pratik, espesyalman anba kontrent tan. 75 minit nan fè egzamen an se pa yon anpil nan kantite tan. Li trè, trè long. Se konsa, ou nèg reyèlman vle a asire w ke ou nèg yo se nan abitid la nan ekri Kòd nan men byen vit. Paske ou pa vle premye a tan wè yon egzamen nan ki longè gen sou egzamen ou yo. Ou nèg reyèlman vle asire w ke ou pratike davans. Katriyèmman, ou vle revize a konferans ak seksyon glisad. Ou pa oblije memorize bagay sa yo. Aktyèlman, tout moun ap pèmèt yon yon sèl fèy nan nòt papye blan, devan ak dèyè. Ou nèg ka tape oswa ekri. Si ou jwenn tèt ou ki bezwen memorize anyen, mete l 'desann sou sa fèy. Mwen garanti ou, ou pa vle dwe kole nan mitan an nan ki egzamen ke yo te tankou, o wi, sa ki nan la ègzekutabl nan sa a sòt kont ki sòt. Jis mete l 'desann ak fè kopi li dwat soti nan fèy nòt ou yo. Lè sa a, ou ka aktyèlman jis itilize ou sèvo yo reflechi sou pwoblèm sa yo olye ke gen nan sonje reyalite. Se konsa, reyèlman pran avantaj nan nenpòt ki detay Tanporèman nich ke ou panse ou bezwen memorize, plok li desann sou yon fèy papye revizyon. OK, nenpòt kesyon logistics konsènan egzamen an anvan nou kòmanse kèk pwoblèm egzamen pratike? Yeah? ODYANS: Mwen pa te te gen yon chans fè yon gade nan egzamen an [fèbl] men se li pral fè aplikasyon sitou, oswa ki gen la tou ale nan dwe, tankou, kesyon konesans? PROFESSOR: Li se yon anpil. Se konsa, wout la ke mwen ta dekri egzamen an is-- mwen mete tèt yo ansanm kèk pwoblèm pratik ke mwen rale soti nan tout ti tès yo. Men, ou pral wè ke gen nan de prensipal kalite kesyon nou pral mande w. Youn nan se yon trè ba detay nivo nan bagay. Nou pral ba ou yon ti moso nan kòd ak di, ki gen la yon erè isit la? Ki sa ki ta dwe enprime soti isit la? Ki sa ki pral kòd sa a pwodwi, et setra. Se konsa, ki ba anpil nivo detay enfòmasyon. Yo, epi sou bò la baskile, nou pral gen anpil wo nivo kesyon ki baze sou konesans. Èske ou ka eksplike ki sa a diferans ki genyen ant yon rechèch binè ak yon rechèch lineyè se? Poukisa nou ta vle sèvi ak youn sou lòt la? Petèt, ki sa ki gdb? Poukisa nou vle sèvi ak gdb? Ki pi wo nivo, plis fondamantal konpreyansyon kesyon. Se konsa, ou pral wè yon melanj de de la nan yo sou egzamen ou yo. Nenpòt lòt bagay anvan nou tèt tou dwat nan li? OK. ODYANS: Youn nan pi plis. Pwofesè: Oh, yon sèl plis. Regrèt. ODYANS: Yeah, li nan tout dwa. Se konsa, ou ap di 75 minit se twò kout, tankou li se fasil ke nou pral fini? Oswa, tankou, 75 minit se egzakteman kòm anpil tan jan nou ta bezwen si nou te yon fason ki apwopriye prepare? Pwofesè: OK, se konsa nan egzamen se defi. Li se definitivman defi. Ou pral jwenn tèt ou kout sou tan. W ap pwobableman ale nan frape, tankou 10, 15 minit yo ale, epi yo te tankou, kaka. Mwen te tèlman kite yo fè. Epi sa a, totalman amann. Tout moun k ap pase yo santi yo menm jan an. Jis dwe pran anpil okouran de konbyen tan ou genyen. Se konsa, Se poutèt sa m'ap di nou mesye fè ti tès yo pratik. Paske li vrèman bay yon sans gwo nan sa ki egzamen an a pwal tankou. Se konsa, si ou jwenn tèt ou ke yo te kapab fini pratik nan ti tès nan yon kantite bon tan, ou ka apante tèt ou byen, Lè sa a, ou pa pral gen yon pwoblèm nan Mèkredi oswa Jedi. Fre. Se konsa, si tout moun wants-- Mwen panse ke pifò moun gen fèy papye soti deja. Mwen pral esansyèlman jis ba ou echantiyon kesyon, ba ou nèg, tankou, yon kèk minit yo obeyi yo. Epitou, n ap ale sou kòm yon klas sa repons yo nan yo se. Se konsa, sa se yon trè tipik kesyon byen bonè nou pral mande w, jis konvèti nimewo ant baz diferan. Binè, kòm ou nèg ka sonje, se baz de. Desimal se baz 10, oswa sa nou kòm moun tipikman entèprete. Ekzadesimal se baz 16, ki se zewo a nèf kòm byen ke A jiska F. Se konsa, gen nan kat nimewo mwen se mande ou nèg konvèti isit la. Mwen pral ba ou renmen, twa a kat minit panse a ki jan nou ta ale sou rezoud sa a. ODYANS: Eske nou kwè nou pèmèt kalkilatris? Pwofesè: Ou pa pral bezwen kalkilatris, yeah. Mwen panse ke de sa debaz yo, mwen panse, se yo pral mande w tout mesye yo dwe fè. Epi jis Se konsa, mwen kalite gen yon sans a lè tout moun se fè, leve kanpe, vag, mwen pa konnen, souri, gade kontan si w ap fè. Yeah. Petèt yon koup plis minit. OK, se pou yo pote l 'nan. M 'ap fè espre ale nan ba ou mesye mwens tan pase pwobableman ou bezwen fè kèk nan pwoblèm sa yo, tou senpleman paske mwen vle asire w ke nou jwenn nan yon pakèt moun sou pwoblèm. Se konsa, pa gen enkyetid si ou pa t ' gen yon chans yo fini. Totalman OK osi lontan ke ou gen yon lide sou ki jan yo ale sou sa a. Se konsa nou ale pi devan epi fè yon sèl la an premye. Se konsa, premye, nenpòt moun vle fè m 'konnen nan binè, ki sa fè chak nan sa yo chif reprezante nan tèm de valè yo? Yeah? ODYANS: De nan la pouvwa zewo, de nan yon sèl. Pwofesè: Egzakteman. So. Dwa, se konsa tipikman lè nou ap nan baz 10 tout sa yo reprezante yo, tankou, 10 nan baz la nan zewo, dwa? Sa a kote ki youn ou an. Tout plas 10 an ou se se 10 a pouvwa a nan yon sèl. Kote ou 100 a se 10 sou pouvwa a nan de. Kèlkeswa baz w ap nan ki pral fè ak menm bagay la egzak, jis ki gen yon baz diferan. Se konsa, binè, tou sa ki se baz de. W ap ale nan konvèti nan tout chif nan de mèt fè tout sa pouvwa nan ki chif. Se konsa, nan sans sa a, nou ka gen yon fason pi fasil pou yo te kapab ajoute monte oswa sòm tout nimewo yo nan lòd konvèti nan baz 10. Se konsa, nenpòt moun ki vle di m 'sa a repons a yon sèl an premye se nan baz dis? ODYANS: De, [fèbl] Pwofesè: Yeah. ODYANS: 42. PROFESSOR: 42, gen ou ale. Se konsa, wout la nou te resevwa repons sa a te toupre fè de premye a, ki se de. Plus de twazyèm lan, ki se uit. Plus de a senkyèm lan, ki se tou sa ki rete sou. Ou sòm yo moute ak li a 42. Èske gen moun konfonn sou kòman nou te resevwa sa? De sa Se konsa, debaz yo, tankou Mwen te di, ou ta dwe OK. Si ou pa, byen, nou ka pratike sa tou. Men, sa a tout dwa. Fre. Nenpòt moun ki vle bay nan m ' reponn a yon sèl nan dezyèm kòm byen? 50? Bon. Nenpòt moun ki konfonn sou kòman nou te resevwa ki swa? Cool, mwen pral gen nan repons sou pwochen glise la. Se konsa, pa gen enkyetid si ou bezwen kopi li desann. OK, se konsa ekzadesimal se yon ti jan Delice. men mwen pral montre w mesye yon chemen kout pou ki jan fè li. Se konsa, ekzadesimal, menm jan ou sonje, tout li se gen 16. Epi paske nou kòm moun pa fè sa aktyèlman gen 16 nimewo ki reprezante sa, n 'al jwenn soti nan zewo rive nèf, ki premye nou an 10 valè, ak Lè sa a nou fè A jiska F, ki se sis pwochen valè yo. Se konsa, fason ki pi fasil yo ale nan nenpòt ki kantite binè ekzadesimal se kraze yo moute nan mwatye. Se konsa, nenpòt ki kantite binè nou pral ba ou ap pwobableman gen uit chif. Ou ka jis kraze yo moute nan mitan yo. Se konsa, premye yonn-yon sèl yon sèl nan, youn yon sèl, yon sèl, yon sèl, yon sèl yon sèl. Kalite panse ke li leve, ou konnen, trase yon koupe oswa yon vigil nan ant yo. Epi ou ka jis konvèti dirèkteman tou sa sa a se pi gran an kantite ekzadesimal, ak tou sa isit la se yo dezyèm lan nan ekzadesimal. Se konsa, sonje soti nan notasyon ki komen yo, sa valè ekzadesimal kòmanse ak? ODYANS: Zewo. Pwofesè: 0x. Se konsa, nou konnen ke nenpòt ki lè nou mande w konvèti nenpòt ki kantite ekzadesimal, oswa nenpòt ki lè ou wè nenpòt ki Nimewo ki kòmanse ak 0x, ou konnen ke li nan yon valè ekzadesimal. Lè sa a, w ap ale nan ap mande yo detèmine kisa ki de chif sa yo, se. Apre sa, wout la ou fè sa, dekont moute ki mwatye ak dekont moute ki mwatye. Se konsa, nan egzanp sa a, ki sa ta yon sèl, yon sèl, yon sèl, yon sèl ta dwe ye? Ki sa ki valè ki ta dwe ye? Sa ta dwe F, dwa? Sa ta dwe 15. Se konsa, sa a ta ka F. Youn, yon sèl, yon sèl, yon sèl isit la se tou F. Se konsa, yon sèl, yon sèl, yon sèl, yon sèl, yon sèl, yon sèl, yon sèl, yon sèl nan ekzadesimal, tout li se se 0xff. Paske mwatye sa a reprezante F, valè a nan 15, ak mwatye sa a reprezante F, valè a 15. Paske sonje, nou ap konte soti nan zewo rive nèf. Yon se tankou 10, B, se tankou 11, F se 15. Èske sans sa fè tout moun ki jan nou te resevwa soti nan binè ekzadesimal? ODYANS: Se konsa, ki jan nou jwenn 15 soti nan yon, yon sèl, yon sèl, yon sèl la? Pwofesè: Yeah, sa a se binè, dwa? Imajine sa a se jis yon nimewo binè. Se konsa, ou gen de a nan zeroth, ki se youn. ODYANS: Oh, OK. Se konsa, ou jis totalize li soti. Pwofesè: Yeah, ak Lè sa a ou jis total ki deyò. Sa a tout li ye. ODYANS: OK. Pwofesè: OK. ODYANS: Se konsa, ou ale nan binè desimal ekzadesimal? Pwofesè: Sa a nan pi fasil fason yo fè sa, yeah. Ou pa ap ale nan desimal paske desimal sèlman gen zewo rive nèf. Nou jis kalite divize sa a moute nan de. ODYANS: [fèbl] lè l sèvi avèk desimal jwenn ki sa li alimèt jiska nan ekzadesimal. Pwofesè: Mwen vle di, w ap dekont moute lè l sèvi avèk debaz matematik. ODYANS: Yeah. Pwofesè: Yeah, bèl anpil. Li se yon ti jan konfizyon. Men, jis konnen ke ou kapab divize moute kèlkeswa sa valè sa a se nan jis mwatye. Gade, ki sa ki sa a nan binè? Ki nonb se sa? Li k ap pase yo dwe yon bagay soti nan zewo rive F. Isit la se tou pral fè yon bagay soti nan zewo rive F. Lè sa a, ou ka jis mete sa yo de la a. ODYANS: OK. Pwofesè: Oui. OK. Se konsa, ou nèg vle eseye youn nan pwochen lè sa a? Zewo, yonn, zewo yon sèl, yon sèl, zewo, youn zewo. Mwen pral ba ou nèg tankou 30 segonn, depi ou pwobableman pa t 'konnen jwe fent la sou fason pou fè sa pi bonè. OK, nenpòt moun ki vle jwenn yon sèl sa a yon piki? 0X5A. Pwofesè: 0X5A. 5a. Bon. Se konsa, sa a isit la ta be-- ou vle di nou ki jan ou te resevwa sa? Premyèman, ki jan ou t 'jwenn senk a? ODYANS: Paske zewo, yon sèl, zewo, se yon sèl senk. Pwofesè: tout moun konprann poukisa zewo, yon sèl, zewo, se yon sèl senk? Ou te gen yon sèl isit la. Ou pa gen anyen nan de a premye a. Nan de nan dezyèm lan, ou gen yon sèl, ki se kat. Se konsa, ou ajoute plis nan kat yon sèl la, ou gen senk. Tout moun sa ki bon? OK. Lè sa a, ki sa sa a dwe ak poukisa? Ki nonb Yon koresponn ak? ODYANS: 10. Pwofesè: Ak sa ki sa a nan baz de? ODYANS: [fèbl] Pwofesè: Egzakteman. Se konsa, dezyèm sa a valè isit la ta dwe 0X5A. Tout moun bon sou ki jan yo konvèti? Li se yon anpil pi fasil pase ou panse li ye. Mwen jis vle asire w ke ou konnen konsèy itil ak ke trik nouvèl pou ki jan fè sa. ODYANS: Poukisa ou ka jis fann l 'nan mitan an tankou sa? Jis dwe tankou, OK, mwen sèlman pral pran swen sou sa yo premye [fèbl]? PROFESSOR: Paske sa a, se aktyèlman nan fason valè ekzadesimal yo reprezante. 0x, ki aktyèlman vle di pa gen anyen lòt pase di ou ke li nan yon nimewo ekzadesimal. Lè sa a toujou reprezante kat premye chif yo. Lè sa a toujou reprezante kat dènye chif yo. Se konsa, de chif sa yo jis koresponn ak Bits diferan. ODYANS: Se konsa, nou pral always-- Pwofesè: Ou se toujou pral jwenn uit Bits valè. ODYANS: Eske se sa ke jis tankou yon bagay isit la oswa ke yon bagay tout lòt peyi sou? Pwofesè: Se jis yon bagay nan òdinatè, YEP. ODYANS: OK. Pè. Pwofesè: Epitou, se konsa nan egzanp sa a nou konvèti soti nan binè desimal, ak pou soti nan binè ekzadesimal. Ou nèg vle asire w ke nou menm tou nou pratike ale nan lòt fason alantou. Se konsa, si mwen te ban nou 0xff, ou te kapab trase ki soti nan binè, dwa? Ou konvèti F nan binè, ki se youn, yon sèl, yon sèl, yon sèl, konvèti F desann binè, ki se youn, yon sèl, yon sèl, yon sèl. Se konsa, nou ka mande ou fè nan lòt fason alantou. Se konsa, nan binè desimal, oswa ekzadesimal binè. Se konsa, ou vle fè w ke ou konnen tou de fason. Nou pral pwobableman mande w yon konbinezon de de la. Yeah, ou gen yon kesyon? Mwen kapab see-- w ap bon? ODYANS: Yeah. Pwofesè: OK. Eske m 'bon ou efase sa a? Great. Tout dwa, se konsa repons la a si yon moun se kirye pita sou epi pou yo jwenn konfonn. OK. ODYANS: li gen pwoblèm si nou mete lèt nou yo nan Capitol oswa miniskil? Pwofesè: Li fè sa, paske nan ekzadesimal, pa konvansyon, tout karaktè yo yo majuskul. Se konsa, A jiska F yo pral fè majuskul. Si ou mete yon miniskil yon, mwen pa konnen si nou ta nesesèman make li mal. Men, teyorikman, sa a, se pa teknikman ki jan w ap sipoze genyen li. Se konsa, yo tout yo ta dwe majuskul. Yeah, bon kesyon. OK. Dezyèm kesyon an. Konsidere pwogram sa a bèl isit la. Mwen pral mande kesyon an, Mwen pral tounen vin sa a. Se konsa, premyèman, sa ki andedan nan estanda io.h sa a, se nan enterè nan pwogram lan? Dezyèmman, sa ki fè anile siyifi nan liy twa? Ak twazyèm, ki sa retounen zewo soti nan prensipal yo, kòm liy sis, jeneralman siyifi? Si ou nèg vle ekri sa yo desann, depi m 'gen yo chanje tounen glise nan jis pou ou ka wè kòd. Sa a se yon egzanp sou, tankou, petèt yon pi wo kesyon nivo kote nou mande w sa bagay sa yo vle di nan yon pwogram. Tout moun bon pou mwen pou m tounen nan glise la? OK, fre. Se konsa, mwen pral ba ou nèg tankou petèt twa minit fè yon gade nan yon sèl sa a rapid reyèl. OK, se konsa nan yon sèl sa a tankou jistis fasil, concept. Nenpòt moun ki vle fè m 'konnen sa ki nan premye andedan pa regle ki gen ladan dosye bibliyotèk io.h estanda nou an? Poukisa nou bezwen ke bibliyotèk enkli pou pwogram sa a? Ki sa ki isit la nou bezwen li pou? Yeah? ODYANS: Eske se sa ke lè ou mete ki printf? Pwofesè: Egzakteman. Se konsa, printf, nenpòt ki lè ou pran yon enfòmasyon nan men gwoup itilizatè a epi enprime yon bagay nan ekran an, ki nan D 'a estanda, bibliyotèk pwodiksyon. Panse a li ki way-- D ', pwodiksyon. Mwen gen yon pwodiksyon? Wi, mwen fè. Se konsa, mwen konnen ke mwen toujou ale nan bezwen bibliyotèk la Estandadize i.o. Se konsa, printf se fonksyon an pa ki nou bezwen jwenn aksè nan ak hashtag a gen ladan estanda bibliyotèk i.o. OK. Dezyèmman, li sa anile siyifi? Nou gen int prensipal (san valè a), sa ki fè anile isit la vle di isit la sou liy twa? Yeah, nan do an. ODYANS: [fèbl] Pwofesè: Egzakteman. Se konsa, sonje, nou te aprann kòmanse avèk pset nou an ke ou ka aktyèlman presize liy lòd agiman ki pwogram ou an, ke ou fonksyon prensipal, pran jan ou, itilizatè a, rele li. Si nou gen anile, ki vle di ke ou te kapab jis kouri pwogram nan dirèkteman san yo pa nenpòt agiman liy lòd. Tout moun klè sou sa? OK. Epi anfen poutèt sa nou deranje fè bagay sa a retounen zewo isit la? Poukisa nou menm gen yon prensipal int? Poukisa nou pa nou ka jis gen anile anile prensipal yo? Yeah? ODYANS: Jis pou ke nou kapab asire w ke pwogram nan se sòti avèk siksè, kòm opoze a si li te konte. Apre sa, nou ta konnen ke sa a, se yon lòt kalite diferan nan erè. Pwofesè: Yeah, egzakteman. Sa a se jis yon trè konvansyonèl bagay ki nou fè sa, se ke jis nan fen pwogram ou, jis asire w ke ki fonksyon prensipal ou ap kouri kòrèkteman, nou toujou vle fè retounen zewo. Menm si nou ka nesesèman pa wè ke enprime nenpòt kote. Paske kòm pwogramasyon, ou konnen, si ou gen anpil liy diferan nan kòd epi ou pa konnen ki kote sa yo yo ale sa ki mal, epi si yon erè k ap pase ou vle asire w ke ou jwenn ki erè. Se konsa, si yon bagay ale tipikman mal nou pral gen yon retou nan yon sèl jis a asire w nou konnen ke li ye. Se konsa, si ou wè yon retou zewo, ki tipikman vle di pwogram ou an se egzekite avèk siksè. Bon? Fre. OK, dezyèm pwogram isit la. Konsidere sa. Men, si ou nèg wè yon flote, ou nèg ka pwobableman gen yon bon lide de sa Mwen se sou yo mande w. Se konsa, lè pwogram sa a ègzekutra, jan ou ka wè, Mwen deklare yon flote andedan fonksyon prensipal m 'yo. M 'ap nonmen li "reponn," M' ap mete ak ki egal a yon sèl divize pa 10. Mwen enprime soti, nan yon sèl plas desimal, ki flote. Lè sa a, m ap retounen zewo. Se konsa, lè egzekite pwogram nan, panse tounen nan visye, koulye a, pwogram sa a simagri 0.0. Kòm nou tout konnen, èspere ke nou tout konnen, yon sèl divize pa 10 se pa yon 0.00, li nan 0.1. Men, eksplike poukisa pwogram sa a panse ke 1 divize pa 10 simagri 0.1 lòt pase 0.1? Mwen pral ba ou nèg petèt tankou 30 segonn jis byen vit panse osijè de sa epi mwen pral tounen nan pwogram nan. OK. Nenpòt moun ki vle bay li yon piki? Nan twa fraz oswa mwens, paske anjeneral nou ap ale nan mete restriksyon sou tout repons nan twa fraz oswa mwens pou w pa jis randr bagay o aza sou egzamen ou yo. Yeah, pran yon piki. ODYANS: Se konsa, mwen panse ke gen nan sa a bagay yo rele, tankou, [fèbl] Se konsa, gen ta ka, pou egzanp, ka gen, tankou, 0.09, ki kote ou enprime premye a chif, li ta dwe 0.0? Pwofesè: Fèmen, pa byen. Christabell? ODYANS: Ou ap divize yon sèl ak 10, e yo ap tou de nonm antye relatif. Se konsa, wout la ke li k ap pase nan magazen li se kòm yon nonb antye relatif. Se konsa, nonb antye ki pè ki pi pre ta dwe 0.0. Se konsa, sa a, se 0.1. Pwofesè: Yeah, sa a, se reyèlman bon. Sa a repons kòrèk la. Se konsa, sa se yon trè konfizyon konsèp pou yon anpil nan timoun. Apre sa, mwen reyèlman vle asire w ke sa a se ranfòse nan tèt tout moun. Se konsa, sa nou rele k ap flote pwen enpresizyon, kote rezon an pou kisa yon anpil nan pwogram ou an visye pa t 'travay okòmansman te paske ou bliye jete varyab ou yo. Se konsa, sa Christabell di te antyèman kòrèk. Yon flote se natirèlman enpresizyon. Paske nan yon òdinatè, dwa, nou gen yon kantite lajan fini nan Bits nan memwa nou ka sèvi ak ki reprezante chif yo. Se konsa, pou egzanp, sa a ID CS50 is-- Mwen panse ke li nan yon òdinatè 64-ti jan. Ou ka jwenn yon flote fèt sèlman reprezante pa yon kantite lajan fini nan tout sa yo miyèt moso. Se konsa, 0.1 ak zewo enfini, ki a te 0.1 se, dwa? Men, nou pa ka aktyèlman magazen ke nimewo nan òdinatè nou yo. Nou jis pa gen ase memwa yo fè sa. Se konsa, apwoksimasyon pi pre a sa k ap estoke nan memwa se aktyèlman yon bagay tankou 0.000 yon bagay, yon bagay, yon bagay, yon bagay. Ki, yon fwa ou tronke li, jij desann nan 0.0. Se konsa, egzanp sa a se jis yon ki montre anpil nan pwoblèm nou gen chak fwa nou ap ap eseye mal fè matematik san yo pa depoze yon nonb antye relatif kòm diferan. Se konsa, jis dwe Gèrye nan sa kap pase. Sou ti tès, si nou ba ou yon blòk nan kòd ak li a tankou, sa simagri soti nan fen a? Men, si li la kèk valè o aza ou mesye ta dwe konnen poukisa ki k ap pase. Yeah? ODYANS: tronke se debarase m de tout bagay apre yon pwen sèten? [Fèbl] Pwofesè: Yeah, se konsa aktyèlman sa a se yon reyèlman move egzanp, paske tou sa aktyèlman 0,100 ta tronke desann nan 0.1. Men, si ou te nan kouri l-- mwen pa fè sa sonje, paske ane pase a yo kouri l 'sou yon pwogram diferan. Yo kouri l 'nan yon bagay rele CS50 Aparèy la, ki ki diferan de ID nan. Sa ki te yon sistèm 32-ti jan, mwen panse ke. Se konsa, te gen nimewo diferan. Men, esansyèlman, jis konnen ke konsèp an antye nan tronkatur ak ki jan li jis koupe bagay la. Se konsa, si li rounds-- ODYANS: San yo pa awondi. Pwofesè: Egzakteman. Yeah. Fre. Hi, nan do an. Nou ap jis ale sou kèk revizyon egzamen kesyon. Tout dwa. Se konsa, konsidere yon pwogram diferan isit la. Mwen pral ba ou nèg yon minit koup li sou sa a. Sa a se yon bagay ki te pou yon trè dènyèman ke mwen panse ke kònen yon anpil nan nou lespri mesye a. Men, nou ap ale nan pale nan sa a ankò jis asire w ke ou konprann li konplètman. OK. OK. Nenpòt moun ki bezwen plis tan yo li nan Kòd sa a? OK. Se konsa, li sanble m 'ke nan pwogram sa a mwen se kreye de strings lè l sèvi avèk GetString. Youn rele a ak yon sèl rele t. Men, si yo ap egal egal nan chak lòt, li ta enprime "Ou tape menm bagay la. " Men, elsewise, li ta enprime, "Ou tape bagay diferan, "dwa? Sanble trè, trè senp. Men, sepandan, si mwen aktyèlman eseye ekri pwogram sa a, li sanble ke menm lè mwen D 'strings yo egzak menm, li toujou simagri soti, "Ou tape bagay diferan! " Nenpòt moun ki vle pran yon bal nan poukisa pwogram sa a toujou reponn ki entrain yo yo diferan, menm lè mo sa yo tèt yo yo se menm bagay la tou? Se konsa, si m 'te input-- David renmen yo sèvi ak yon egzanp tankou manman, dwa? Miniskil M-O-M pou S, T egal miniskil M-O-M. Si mwen kouri sa a nan ke kòd, poukisa ta li enprime soti "ou tape bagay diferan?" Nenpòt moun ki bezwen plis tan yo reflechi sou sa a? OK, Mwen panse ke nou ap bon. Yeah? ODYANS: OK, se konsa li a yon bagay sou kote li ki estoke nan memwa a, dwa? Pwofesè: Oui. ODYANS: Ki kote li a tankou, si sa a fisèl la se ki estoke nan memwa spot-- M 'ap envante sa a men se zewo. Pwofesè: Asire w. ODYANS: Apre sa, fisèl t se ki estoke nan plas memwa, tankou, 167, ak Lè sa zewo pa fè sa egal 167. Pwofesè: Egzakteman. OK, se konsa sonje sa a enkwayab revelasyon nou eksplike ou nèg semèn sa a sot pase yo, ki strings pa reyèlman egziste? Lè nou kreye yon bagay yo rele fisèl nou ap, an reyalite, kreye yon bagay yo rele zetwal Char. Ki tout li se se yon konsèy nan yon afè oswa nan yon etalaj de charaktèr. Se konsa, nan egzanp sa a, si mwen te opinyon M-O-M wout la Se Odinatè m 'ta magazen li se nan antislach memwa zewo, dwa? Moun sa yo ki kat karaktè, charaktèr, ta dwe estoke yon kote. Lè sa a, sa yo kat karaktè, antislach zewo, yo estoke yon lòt kote, dwa? Mwen pa gen okenn lide kote adrès yo yo, yo ap yon kote nan òdinatè mwen an. Men, mwen pa egzakteman konnen ki kote yo ye. Lè m 'kreye yon fisèl a, tout sa ki vrèman se se yon konsèy nan la kòmanse nan fisèl sa a. Lè m 'kreye sa a t valè, tou sa ki yon konsèy nan isit la. Se konsa, lè w ap eseye egalize epi tcheke yo wè si a se egal egal t, òdinatè a se reyèlman jis retounen nan ou adrès ki nan sa a m ak adrès sa a nan m. Epi paske yo ap de moso separe nan done ki yo estoke nan de diferan adrès nan òdinatè w lan, òdinatè w lan an pa janm ale nan rekonèt yo tankou se te menm bagay la. Nenpòt moun ki vle bay yon bal nan ki sa nou ta gen yo dwe fè si nou te vle korije sa a epi gen yon pwogram kouri kòrèk olye? Reflechi sou sa pou yon segonn koup. Ki sa nou bezwen pou chanje pou jwenn sa a fonksyone pwogram wout la nou vle li nan fonksyone? Yeah, vle pran yon koud nan li? ODYANS: Èske nou ka eseye dèreferans a konsèy epi tcheke nan etalaj la? Pwofesè: Sa a yon fason fè li. Se konsa, sa ki nan non ou ankò? Mwen regrèt sa, raple m '. Zee: Zee. Pwofesè: Yeah, Se konsa, sa Zee sijere ta absoliman travay. Dwa? Nou te kapab dèreferans konsèy la ak aktyèlman ale ak aksè done yo fizik andedan nan isit la. Apre sa, nou ka jis konpare tout ekran an. Nou ka di, OK, konsèy, ban m 'sa ki andedan isit la. Li ta retounen yon m. Apre sa, mwen ta ka di, konsèy, ban m 'sa ki andedan isit la. Retounen yon m. Èske moun matche ak? Wi. Apre sa, nou deplase sou. Nou kenbe tcheke de la tout antye strings tout wout la moute jouk nan fen ak wè si sa yo se egal, si tout valè yo se egal-ego. Men, si tout valè yo yo egal, Lè sa a, nou konnen yo se verite strings. Absoliman, sa se ki jan nou ta fè l '? Nenpòt moun ki konfonn sou nenpòt nan sa a? Konsèp la an antye nan ki jan strings yo se reyèlman jis endikasyon, ak ki jan yo pa reyèlman egziste? Epi poukisa nou jwenn erè tankou fason nou jwenn li? Paske mwen garanti ou nèg, endikasyon ak alokasyon fisèl ak memwa yo ale nan vini. Yeah? ODYANS: [fèbl] dèreferans li, ou jis mete yon etwal [fèbl] Pwofesè: Dwa. Se konsa, yo derererence yon konsèy vle di pou yo ale nan ki adrès nan konsèy la ak pou jwenn done yo, valè a la. Ak wout la fè sa se yon zetwal konsèy. Pa konfonn sa. ODYANS: [fèbl]. Pwofesè: Yeah. ODYANS: Se konsa, ou ka jis ekri si egal t egal zetwal zetwal la. PROFESSOR: Bon, pa gen okenn. No ODYANS: Sa se pa bon ase, dwa? Pwofesè: Li pa, paske ou se sèlman tcheke lèt la an premye. W ap pwobableman ale nan bezwen kèk sòt de yon riban ki iterates nan chak sèl karaktè nan tou de strings. Yeah. Se konsa, si ou te vle jis tcheke yo wè si yo te kòmanse avèk menm bagay la, w ka fè si, zetwal nan ki egal a zetwal t. Lè sa a, ou konnen ke omwen yo te kòmanse ak karaktè a menm. Yeah? ODYANS: Se konsa, wout la ou ki ta ka tankou yon embedded pou riban oswa konsèy? Pwofesè: Yeah. Bèl anpil jis yon pou riban. Sonje byen, David nan klas mansyone sik la gratis Massachusetts Institute of Technology? Li te gen sa a trè konfizyon bagay nan zetwal t plis yon, kote li ta entegre a epi li deplase konsèy la? Fason ki pi fasil pou fè sa a se jis t nan m. Se konsa, li nan jis yon etalaj. Fason ki ke ou ta gen yon pou bouk ki kouri soti nan zewo rive m, kote mwen se longè a nan an fisèl, ou ta ka jis ekri ke olye pou yo fè nan konsèy antye, bagay referans. Se konsa, bagay sa yo se egzakteman ekivalan nan òdinatè w lan. Ou nèg pwobableman pa pral bezwen konnen sa, men li la bon yo jis kalite gen nan do a tèt ou. Jis konnen ke òdinatè a rekonèt blòk diferan nan Kòd kòm menm bagay la. Paske sa a se jis byen lwen plis itilizatè zanmitay pou nou prezante li tankou li nan yon etalaj. Se jis pi fasil. ODYANS: Se konsa, sèvi ak strlèn renmen, get-- Pwofesè: Yeah. ODYANS: OK. Pwofesè: Ou te kapab itilize strlèn oswa, si ou pa t 'gen strlèn ou ka jis fè moute jiskaske ou frape antislach zewo pou tou de. Swa ta travay. Yeah. ODYANS: Se konsa, li dèreferans chak sèl pèsonaj si nou te aktyèlman ekri kòd sa a, nou te kapab jis fè t parantèz m renmen ak zetwal la nan devan li? Pwofesè: Yeah, egal egal a bracket mwen, ak Lè sa k ap deplase mwen kenbe desann jiska ou frape nan fen an. Yeah, sa a, se ki sa ou ta fè. Apre sa, mwen pral gen aktyèlman yon pwochen egzanp sou lè nou aktyèlman ekri strlèn se konsa ou nèg pral kalite a jwenn yo jwe otou ak li yon ti jan. Se konsa, se tout moun klè sou jis memwa, strings, endikasyon, adrès bon jan kalite? Gen kèk konsèp nivo ki pi wo ke ou volonte pou asire w bezwen konnen sou egzamen an demen. Tout dwa. Bon. Oui. OK, se konsa yon sèl bagay ke nou pral mande tou ou, menm jan nou fè chak ane sou yon egzamen, se, ta kwè ke ou te bliye (ki nou yo sanble yo bliye fè chak ane) nan ki se dosye header strlèn deklare. Se konsa, nou gen yo ekri li tèt nou. Isit la yo se yon lis ki gen direktiv ke nou ka prezante w mesye ki kote ou jwenn ou panse ke s fisèl la pa yo pral nil. Ou ka asime ke nan yo pral sispann ak yon antislach zewo. Se konsa, ou konnen se sa ki li k ap pase yo fini ak. Epi, pou egzanp, ki nan longè alo ta dwe senk. Se konsa, ou ka asime ke alo yo pral senk, H-E-L-L-O. Ou pa oblije asime ke nan dèryèr zewo kont pou longè a. Sa a dènye bagay isit la, pa fè sa enkyete sou nonb antye relatif debòde. Nenpòt moun ki sonje sa nonb antye relatif debòde se? ODYANS: pi lwen pase a Goes longè [fèbl a]. Pwofesè: Yeah, ou ka eksplike yon ti jan, ki sa sa vle di? ODYANS: Se konsa, mwen devine li ale tounen nan egzanp lan truncating pi bonè. Men, si ou gen jis nimewo anpil ki ale pi lwen pase ki kantite Bits ke ou ka aktyèlman bay li ke li pral jis kalite koupe. Pwofesè: Yeah, se konsa sou yon tipik òdinatè, ki jan anpil Bits nou genyen? ODYANS: 32? Pwofesè: Yeah, 32, dwat. Se konsa, sa a, se, ki sa, kat milya dola, de milya dola? Kat milya dola, jiska kat milya dola nonm antye relatif pozitif, dwa? De milya dola negatif, de milya dola pozitif, depann sou ki jan ou vle fè li. Se konsa, fondamantalman nou ka gen nonm antye relatif ase ki ka ale moute de a 31 nan mwens 1, dwa? Paske yon fwa nou frape de 32nd an, nou pa fè sa gen ke memwa anpil nan òdinatè nou yo. Se konsa, teyorikman, mwen te kapab vini ak yon nimewo se sa ki, tankou, de a 46th nan. Li se yon nimewo gwo-bourik, men teyorikman ou te kapab. Se konsa, nonb antye ki pè debòde se si ou eseye kreye yon nonb antye relatif ki ale pi lwen pase sa òdinatè w lan se kapab nan estoke. Se konsa, ou nèg pou egzanp sa a pa gen enkyete sou nou ban nou yon jeyan fisèl se sa ki de a charaktèr yo 32nd lontan. Ki ta ka reyèlman vle di. Tout dwa, se konsa mwen jis ale nan ba ou nèg estrikti nan baz nan sa a. W ap ale nan kreye yon fonksyon rele int strlèn kote yon pase nan, yon etwal Char, oswa fisèl, konsèy nan fisèl la rele a. Tout dwa, tout moun kopi ki desann. Fre. Oops-- lòt fason. Se konsa, sa a se kalite tankou yon moso pi rèd nan pwoblèm, Se konsa, mwen pral ba ou nèg petèt senk a sis minit nan kalite réfléchir epi ekri fonksyon sa a soti. ODYANS: Nou pa fè sa kont pou [fèbl], nou pa gen yo sèvi ak nonb antye relatif? Pwofesè: Non, ou pa fè sa. Mwen pral ba ou nèg yon allusion. Yon riban pandan y ap pouvwa gen trè itil isit la. Yeah. Isit la nan sirèt. Sirèt ap disponib tou pou egzamen an, mwen panse ke. Se konsa, ou nèg yo pral tout sukre moute demen. Èske I-- ou te resevwa li. ODYANS: OK. Pwofesè: Yeah. Petèt 30 plis segonn oswa konsa. Tout dwa, si w ap pa fè, pa gen enkyetid. Nou pral deplase atravè sa a ansanm. OK. Se konsa, mwen pral jis Layout a nan estrikti debaz pou sa a fonksyon isit la. Int strlèn. Premyèman, nenpòt moun ki vle di m 'sa ki int vle? Nou bezwen gen nan fonksyon sa a. ODYANS: Strlèn [fèbl]. Pwofesè: Egzakteman. Se konsa, tou sa k ap pase nan isit la, nou bezwen retounen yon nonb antye relatif. Apre sa, jan sa espesifye nan la espèk, nou vle return-- Ale pou li nèg, jis kenbe prale. Li nan tout bon. Manje li tout Se konsa, mwen pa gen pran l 'tounen, aktyèlman. Int a jis vle di ke w ap ale nan dwe retounen yon nonb antye relatif. Ki sa ki se sa a zetwal nan Char? Ki sa sa vle di? ODYANS: Tankou, sa k ap ke yo te opinyon a. Pwofesè: Egzakteman. Ak sa ki se prèske nan menm bagay tankou zetwal Char? ODYANS: fisèl? Pwofesè: Egzakteman. Se konsa, tout n ap fè se bay sa a yon konsèy nan yon fisèl. OK. Fre. Epitou, pa bliye, si nou bliye l 'ban nou parantèz sa yo, Pa bliye fè ekri yo tèt ou. Paske teyorikman, kòd ou a se kòrèk si ou bliye fè ekri yo. Jis toujou peye atansyon. Tankou, bagay ti kras ke ou pa remake lè w ap pwogramasyon sou laptop ou, paske laptop ou fè li pou ou? Pa bliye lè w ap ekri nan men. Yeah? ODYANS: Men, ki jan kòrèk? Tankou, nou jwenn pwoblèm nan tout antye mal? Pwofesè: Non, pa gen okenn. Pa enkyete. Li nan aktyèlman teyorikman posib pou ou pou w jwenn pwen plen sou yon kesyon menm si kòd ou a pral pa janm kouri nan lavi reyèl. Mwen sijere ou pa eseye fè ki rive. Pou egzanp, tankou si tout bagay sa a, se isit la se dwa, men ou bliye yon kolon oswa yon bracket, kòd ou a pa pral aktyèlman kouri. Men, nou ka gen pitye. Yeah? ODYANS: ou gen kòmantè sou ekriti nou yo? Pwofesè: Non, pa gen okenn, pa gen okenn enkyetid sou sa. Pa gen kòmantè. Style yo ta dwe bon. Tankou, pa Smush tout bagay sou yon sèl liy. Nou pa pral gen kè kontan avèk ou si ou fè sa. Nenpòt moun ki vle ban m 'liy lan premye? Men yon ti poul, li nan trè fasil. Yeah? ODYANS: Int, n egal zewo. Jis mete kanpe vann san preskripsyon. Pwofesè: Se konsa, nou vle kèk sòt de yon vann san preskripsyon, dwa? Mwen jis ale nan non li "konte" pou dedomajman pou la lizibilite. Ki sa nou vle mete l 'egal a? ODYANS: Zewo. Pwofesè: Oui. Virgules. Li la tou virgules desen trè etranj. Jis pratike fè sa. Se konsa, nou vle premye gen yon vann san preskripsyon nan kalite INT. Paske nou vle konte moute ki jan karaktè anpil oswa lèt yo nan fisèl sa a, dwa? Trè fasil premye etap. OK, petèt yon ti jan pi plis konplèks kounye a, ki jan yo se nou pral fè sa? Nenpòt moun ki vle ban m 'liy lan nan kòd ki ka pral kapab ede bouk a tou sa sa a se? Yeah, nanm brav nan do a? ODYANS: OK, se konsa pandan y ap pwen asterisk, yeah, zetwal la nan la, se pa egal a zewo, Lè sa a, fè yon bagay? Pwofesè: Sa a reyèlman, reyèlman fèmen. Vrèman fèmen. Se konsa, mwen pral nan adrès de bagay ak sa. Premye a tout, li nan pa egzakteman zewo. Kisa li ye? Li nan Terminator la nil, ki se antislach zewo. Se konsa, yo ap diferan nan tèm de ki jan yo ap estoke. Se konsa, ou ap reyèlman fèmen. Ak Dezyèmman, nou pa vle jis deplase konsèy la. Nou vle aktyèlman aksè valè yo, dwa? Se konsa, ki jan nou fè sa? Trè fasil. Pa panse osijè de endikasyon, pa panse osijè de memwa. Tounen nan semèn de nan kou sa a. ODYANS: [fèbl]. Pwofesè: Kòm a, sonje? Ki sa ki strings? Ki jan nou jwenn ki estoke nan memwa? ODYANS: Yo ap leve soti vivan. Pwofesè: Yo leve soti vivan. Se konsa, kouman fè nou aksè chak karaktè andedan? ODYANS: [fèbl]. Pwofesè: Egzakteman. Se konsa, sa ki ale while-- andedan isit la? S nan - ODYANS: I. Pwofesè: Oh, mwen pa egziste, fè li? ODYANS: Oh, konte? PROFESSOR: Nou ka jis itilize konte, pa kapab nou? ODYANS: Padon, mwen rele l 'mwen. Pwofesè: Yeah, li nan tout bon. Nou gen yon varyab moute isit la sa a, se deja te deklare kòm vann san preskripsyon nou yo. Se konsa, poukisa pa nou jis sèvi ak sa pou avanse pou pi nan bouk la pandan y ap? Ki fè sans? Se konsa, pandan la nan count-- nenpòt moun vle bay m 'sa k ap pase apre isit la? ODYANS: Li pa fè sa egal-ego. Pwofesè: Èske pa egal, dwa? Li nan Bang nan egal, pwen esklamasyon egal, tou sa ou nèg vle rele li pa equal-- ODYANS: [fèbl]. Pwofesè: Yeah. Sonje yon sèl quote se pou yon Char, quotes doub yo se pou yon fisèl. Fè atansyon lè w ap itilize yo. Se konsa, lè nou ap chèche a etalaj la, pèsonaj la pase a, nou konnen nou pa vle li nan dwe antislach zewo. Se konsa, pandan. Nou se pa nan fen fisèl la. Ki sa nou vle fè andedan? ODYANS: Nou vle pou ajoute pou nan vann san preskripsyon se konsa li konte plis plis? Pwofesè: Egzakteman. Se konsa, isit la nou ap ale nan fè konte, konte plis plis. Ki manke yon sèl liy plis. Nou prèske la. Ki sa yo nou bliye fè? ODYANS: Retounen zewo? Pwofesè: Ou vle retounen zewo? ODYANS: Non, retounen nan strlèn. Rete tann. Pwofesè: Ki se ki estoke nan? ODYANS: Count. Konte. Pwofesè: Egzakteman. Se konsa, isit nou ap ale nan retounen konte. Paske sa nou ap fè isit la ultimately-- nou gen yon varyab vann san preskripsyon sa a, se ale nan kantite a fisèl nou an. Nou pral kenbe prale, kenbe prale a, alantou ak toupatou nan nan sa a riban. Epi pandan ke y nou pa sou fen a nan sa a fisèl, ki se Terminator a nil. Apre sa, chak fwa nou ale nan li, nou ap ajoute nan vann san preskripsyon nou yo. Epi nou ap ale pi lwen ansanm nan sa a etalaj. Apre sa, nan fen a, yon fwa nou frape Terminator a nil, nou konnen, o, nou kapab kraze, retounen konte a. Nou gen strlèn nou an. Tout moun jwenn ki jan sa a te aplike? Pandan ke loops-- mwen konnen nou pa gen fè twòp ak yo, men yo ap anjeneral trè, trè itil si ou pa konnen ki sa w ap kanpe kondisyon nesesèman gen yo dwe. Kesyon? ODYANS: Èske nou ka ekri nil sou kondisyon an pandan y ap? PROFESSOR: Pandan ke? Yeah, se konsa nan pwoblèm sa a mwen te gen ou mesye asime ke a pa yo pral nil. Paske sonje, teyorikman, si mwen te ban nou yon konsèy ki te twò gwo nan memwa, li ta ba ou nil an, dwa? Sa a ki sa a opere sistèm ta fè. Se konsa, si mwen pa t 'di ou ou panse a ta dwe nil, ou bezwen yo tcheke. Se konsa, moute isit la, ou ta fè, si an egal egal nil, retounen yon sèl. Yon bagay tankou sa. ODYANS: [fèbl] zewo. Pwofesè: OK, mwen pral di ou poukisa nou pa ka fè sa. Paske sonje nan memwa, dwa, isit la. Nou pral ale isit la. Ou te gen blòk jeyan nan memwa tout ak grilles ke magazen valè diferan, dwa? Se konsa, tout yon afè is-- pou egzanp, si nou vle opinyon hello, li ta H-E-L-L-O antislach zewo, dwa? Lè sa a, moun ki konnen, tankou o aza bagay ki nan isit la apre li. Nou pa aktyèlman konnen sa ki nan la. Se konsa, si ou te fè olye pou yo antislach zewo, nil, li ka pa nil. Paske li jis ka vle di kèk o aza lòt bagay ki pa fè pati nan fisèl ou yo. Se konsa, fason ke nou toujou konnen ke yon afè fini se ak yon antislach zewo. Se konsa, sa a, se ki jan nou toujou tcheke yo wè nan fen yon kòd. Nil, tout sa ki vle di se si ou gen yon konsèy ki pa-inexistant, premye a tout moun, oswa si memwa ou se jis tèlman gwo ke ou pa kapab retounen li, lè sa a li ta dwe nil. Se konsa, dwe pran anpil prekosyon lè différencier diferans ki genyen ant nil ak antislach a zewo. Yeah. Tout moun OK ak sa a? OK. Se konsa, mwen te gen ou nèg ekri soti strlèn. Feasibly nou te ka mande tou ou ekri soti nan A jiska mwen, sonje ke "Atwoa" oswa kèlkeswa sa ou nèg vle rele li? Sa fonksyon nan Vigenere ak Seza tande kòz, ki konvèti yon valè ASCII nan yon nonb antye relatif? Ki tou te vini sou ti tès sot pase nan fonksyon nou te mande ou a ekri. Bèl anpil nenpòt fonksyon ke ou te itilize ak se trè fasil yo ekri tèt ou, detèktè renmen se pi ba, se anwo, pi ba, nan anwo kay la. Fonksyon ki ta konvèti yon fisèl soti nan miniskil majuskul. Nou tout konnen ki jan fè sa, dwa? Li trè fasil. Jis vle asire w ke ou can-- li nan pwosesis la te panse menm. Ou jis repekte nan epi ou vire bagay sa yo. Ou swa konte oswa lè ou vire bagay yon lòt jan. Mwen ta suggest-- mwen pa konnen si nou ap ale mande w yo memorize sa kapital A oswa Z kapital, oswa miniskil A oswa miniskil z yo nan ASCII, men mwen ta sijere petèt ekri ki desann nan ka nou fè. Jis pou ou nèg gen yon referans. Fè tankou majuskul A se, ki sa, 197? Lè sa a, miniskil, se tankou 50 yon bagay. 65, yeah, gen ou ale. Se konsa, jis bèl anpil konnen nan diferans ki genyen ant yo, se 32. Sa a trè enpòtan. Yeah. Eske m 'bon sou sa a? OK. ODYANS: Nou te kapab teyorikman ekri kèk nan sa yo desann kòm byen sou little-- nou an Pwofesè: Ou teyorikman te kapab jis kopi fonksyon an desann. Se vre. ODYANS: Se pa [fèbl]. Pwofesè: Ou nèg gen yon fèy. Ou nèg gen yon fèy nòt. Ou ka tape li. Ou ka ekri li. Ou ka fè tou sa ou vle ak li. Yeah. Se konsa, teyorikman, si ou vle, ale pou. ODYANS: [fèbl] men nou pa fè sa vrèman nesesèman bezwen sonje valè a, nou ka jis itilize nan anwo oswa nan pi ba fonksyon, dwa? Pwofesè: Yeah. Men, si nou te ban nou yon kesyon ki di ekri anwo, Lè sa a, ou ta bezwen ekri li. Se konsa, ou nèg ka asime ke ou nèg gen aksè a tout fonksyon, men si ou vle pou itilize pou anwo oswa nan pi ba, sa ou dwe fè tou? ODYANS: [fèbl] itilize CS50 [fèbl] Pwofesè: Èske li CS50.h? Fè atansyon a. Se konsa, yo anwo kay la, pi ba, se anwo, se pi ba, fonksyon ki gen pou wè fisèl manipilasyon yo tout nan swa ASCII nan oswa nan bibliyotèk la matematik oswa nan bibliyotèk la fisèl. Se konsa, si ou nèg sèvi ak sa yo fonksyon, fè atansyon sonje genyen ladan yo ki header. Se konsa, petèt tou yon bagay ou vle genyen ladan yo nan fèy ou, ki sa yo header a? Ki sa ki bibliyotèk yo ou ve yo te lè l sèvi avèk? Ki sa ki fonksyon yo andedan moun bibliyotèk? Li enpòtan. Yeah? ODYANS: Te kapab nou jis jandam deyò epi yo fè hashtag a absoliman nan chak lèt ​​nou te janm wè tankou sou tout kesyon yo? Pwofesè: Ou te kapab. Mwen pa konnen ki jan kè kontan nou ap ale nan gen nan klas ki egzamen lè chak moso nan Kòd se de fwa osi lontan ke li bezwen yo dwe. Mwen pa konnen, nou ta ka pou yo wete tout yon pwen pou style. Men, teyorikman ou Kòd ta dwe dwat. Ou nèg te kapab jandam deyò epi yo jis gen ladan tout bagay. Sa a amann tou, yeah. ODYANS: [fèbl]. Pwofesè: Yeah. Mwen ta sijere pa fè sa menm si. Yeah. ODYANS: Cool. PROFESSOR: Bon kesyon. ODYANS: Se konsa, senaryo a ka pi mal la. Pwofesè: Ka a pi mal la. Si ou totalman bliye, ou ta ka fè sa. Yeah. Oui, kòd se la a. Mwen itilize n olye pou yo konte men, ou konnen, tou sa flote bato ou. ODYANS: Rete tann, se konsa nou pa ta gen hashtag gen ladan paske nou ap kòmanse nan int a? Pwofesè: Yeah, mwen jis sipoze ke nou te mande yo ekri fonksyon an. Si ou te vle yo dwe san danje, ou te kapab pwobableman mete l 'la. Men, mwen jis pa t 'bezwen deranje, yeah. Mwen pa menm konnen si ou bezwen nenpòt bibliyotèk pou sa. Paske w ap pa reyèlman enprime soti anyen oswa nenpòt bagay, dwa? Yeah, mwen pa konnen si ou bezwen yon bibliyotèk. OK. Sa a se tou yon ti jan plis sou liy ki nan manipilasyon memwa. Sa a jan de ti jan difisil. Reflechi sou sa a. Ou gen yon fonksyon rele fonksyone. Mwen te kapab yo te rele li tou sa, men mwen chwazi yo non li fonksyone. Mwen gen li pi wo a prensipal m 'yo. Sonje byen, ou vle gen yon fonksyon apre prensipal ou an, ou vle asire w ke ou gen ladan pwototip a nan tèt la. Men, nan ka sa a li te tèlman kout ke mwen te santi ke mwen te kapab jis gen ladan li anlè prensipal la. Mwen pa t 'bezwen gen pwototip a, paske li nan deja ekri pi wo a. Se konsa, tout m ap fè nan fonksyon prensipal mwen an ap kreye nonb antye relatif x egal 10. M ap rele fonksyon fonksyone m 'yo, ak Lè sa a enprime moute yon bagay. Lè sa a, sa a, se aktyèlman sa fonksyone ap fè. Ou nèg vle panse nan sa a. Paske li nan yon ti jan difisil. Li trè, trè difisil, aktyèlman. Panse a ki sa sa a pwogram ta dwe sorti. Mwen pral ba ou nèg de minit. Bon diskisyon? ODYANS: Yeah. Pwofesè: Yeah. Tout dwa, kidonk sa a se difisil pou yon rezon. Lè sa a se poutèt sa mwen te vle pote sa a nan atansyon tout moun. Nenpòt moun ki vle ban m ' yon sijesyon, pou tantativ? Ki sa ki ta sa a enprime soti? Totalman amann si w ap mal. Yeah? ODYANS: Mwen panse ke li 100 ak Lè sa a, 10 sou de liy ki apa a. Pwofesè: Ak yon 10? Nenpòt moun ki gen nenpòt lòt eseye devine? Yeah? ODYANS: Petèt jis 10 paske fonksyone se pa sa retounen anyen? Pwofesè: OK, se konsa nou gen nimewo yon sèl devine se ke nimewo devine de se jis ale nan enprime soti 10. Nenpòt moun ki gen nenpòt lòt eseye devine? OK. Se konsa nou mache nan sa a, dwa? Chak fwa ou jwenn yon moso nan kòd, pa sèlman gade nan li yo epi yo dwe tankou, Ah, sa a, se tèlman bagay! Mwen se konsa konfonn! Tankou, kalme tèt ou desann. Jis konnen ke ou ta ka jis gade nan liy Kòd pa liy. Sa a tout li ye. Se tankou li yon liv. Se konsa, avèk nenpòt fonksyon, nou toujou kòmanse nan prensipal la. Se konsa, nou ap ale nan kòmanse nan int anile prensipal yo, menm nan nan pwogram deja kouri desann, dwa? Kòmanse nan nan anile prensipal la. Int x egal 10. Se konsa, mwen pral efase sa a. Mwen pral trase memwa a jis pou ou nèg ka kalite wè sa ki k ap pase. Sonje desann isit la nou gen chemine nou an? Up isit la nou gen nou an seri yon kote moute isit la. Stack grandi, dwa? E nan lespas de chemine a, ou gen ak elektrisite yo fonksyone kòm byen ke tout nan varyab lokal ak elektrisite. Se konsa, isit la, int x egal 10. Nan fonksyon prensipal nou an, nou ap kreye yon varyab rele x. Nou ap mete ki egal a 10. La a ou te gen kèk x, epi w ap mete ki egal a 10, dwa, nan prensipal la. Tout moun sa ki bon? Fonksyon. Se konsa, kounye, nan prensipal nou an fonksyon, nou ap rele fonksyon an nou te ekri pi wo a. Se konsa, nou ap kounye a antre nan fonksyon an dezyèm fwa. Nou pral kreye yon lòt varyab int x egal 100. Ki sa ki pase isit la nan chemine a? Kisa k ap pase lè ou rele yon fonksyon ki ka kreye nouvo varyab? Kisa k ap pase isit la nan chemine a? ODYANS: [fèbl] pil sou tèt? Pwofesè: Yeah. Se konsa, li aktyèlman kreye yon kopi. Epi, se kalite pil sou tèt. Panse a stack-- nan yon pil nan liv, yon pil nan anyen. Pil sou tèt, premye nan dènye soti, dire an, premye deyò. Se konsa, li k ap pase yo kreye yon x isit la. Sa k ap pase yo gen tout funcs varyab. Great. Se konsa, kounye a nou gen de diferan x a ki reprezante de bagay trè diferan. Lè sa a, nou ap ale nan enprime soti nonb antye relatif la nan x. Se konsa nou enprime 100, dwa? Paske isit la li a 100. Se konsa, sa a, se premye bagay la ke li k ap pase yo enprime soti. Kòm sa a retounen fonksyon pa gen anyen, kounye a ke fonksyon, ki liy nan prensipal se fè. Tout moun bon avè m 'byen lwen tèlman? Se konsa, nou ap kounye a nan de soti nan la twa liy nan fonksyon prensipal nou an. Koulye a, nou ap ale nan liy lan twazyèm. Nou pral printf. Ki sa ki se x sa a nan prensipal yo? Ki sa sa reprezante? Ki sa ki valè x kounye a? ODYANS: 100. PROFESSOR: Se 100? ODYANS: Toujou 10. Pwofesè: Toujou 10. Yeah. Paske sonje, nan fonksyone nou an, x egal 100. Men, si nou retounen tounen nan fonksyon prensipal nou an, se ke varyab ki estoke nan yon diferan plas sou chemine nou an. Se konsa, kounye a nou bezwen pou tounen nan la chemine prensipal yo, ak elektrisite varyab lokal yo. Ak isit la x ki egal a 10. Se konsa, nou ap ale nan enprime soti 10. Se konsa, li te absoliman dwat. Nou ap ale nan gen nan pwodiksyon nan 100 ak 10. Yeah? ODYANS: Lè ou malok, se li nan pil wòch oswa chemine a se sa ki [fèbl]? PROFESSOR: Lè ou malok, w ap pran memwa soti nan pil wòch la ak allocation li. Se konsa, ke ou pa gen dezòd avèk nenpòt nan sa a. Se konsa, mwen devine Takeaway a pi gwo isit la se yon bagay yo rele sijè ki abòde. Pou moun nan nou ki te nan sesyon-an revizyon yè swa, nou te pale yon ti tan sou sa a. Dimansyon defini ki jan ak lè varyab ou egziste. Oswa nan ki sa ankadreman fè varyab ou egziste. Bèl anpil règ la nan gwo pous jeneralman se, variables-- ou a si ou kreye yo andedan Curly braces-- yo egziste sèlman andedan moun aparèy òtopedik Curly. Se konsa, pou egzanp nan fonksyon nou an fonksyone, ou wè sa yo de aparèy òtopedik. Si w ap kreye anyen andedan nan li, chans yo se tout sa ou ap fè a se kreye yon pil epi estoke ki la. Menm bagay nan prensipal la. Se jis ki estoke andedan nan prensipal la. Epitou ou vle yo dwe trè, trè atansyon isit la. Paske sijè ki abòde tou Confer tèt li nan diferan egzanp. Se konsa, pou egzanp yon pou riban, pou int mwen egal 0. Mwen se mwens pase, mwen pa konnen, 10. Mwen plis plis. Apre sa, ou te gen Kòd andedan nan li, dwa? Ki kapab varyab sa a, m, aktyèlman sèlman egziste? Se sèlman andedan nan ou a pou riban. Se konsa, mwen parye anpil nan ou nèg gen pwobableman rankontre erè sa a lè w ap fè pwogram nan psets ou yo. Konbyen nan ou nèg te eseye sèvi ak mwen deyò nan yon pou riban ak te gen yon erè? Tankou yon nonm antye relatif unreferenced oswa yon bagay tankou sa? Rezon an pou kisa sa rive se paske isit la w ap kreye yon bagay ke se sèlman egziste nan ou a pou riban. Men, si ou eseye sèvi ak li, mwen pa fè sa aktyèlman egziste deyò nan li. Se konsa, fondamantalman yon òdinatè li di: Mwen pa konnen ki sa w ap pale de. Tout sa mwen konnen se ke mwen te yon isit la, men kounye a pa gen okenn ankò. Se konsa, si m 'te yo kreye yon pou riban andedan, dwa? Apre sa, mwen pral kreye yon lòt, tankou int j, epi yo gen li fè kèlkeswa sa. Epi ou gen yon kòd andedan nan ki riban, j sèlman egziste isit la. Men, sa tou ki egziste nan mwen. Se konsa, j sèlman egziste nan sa a pou riban, Lè nou konsidere ke mwen egziste nan tout bagay la. Tout moun klè? Menm bagay avèk deklarasyon kondisyonèl si ou vle kreye anyen. Menm bagay ak pandan y ap pasan si ou vle kreye anyen. Sa se yon bagay yo dwe trè, trè atansyon sou yo. Se konsa, sa a te yon pwoblèm reyèlman bon nan la sans ke li demontre de bagay sa yo. Li demontre premye, sijè ki abòde. Epi, se demontre tou alokasyon memwa. Paske ou nèg ta dwe konnen ke fonksyon grandi egal nan chemine a. Apre sa, ke lè ou rele fonksyon, w ap kreye esansyèlman yon pil nouvo nan memwa. Sa se yon bagay ki diferan de sa ak elektrisite memwa ou se. Yeah. Wou! Tout moun OK sou sa? Sa ki te konfizyon. Li bon anpil sijè yo ale sou yo, paske w ap pwobableman ale nan jwenn kèk difisil bagay sa yo tankou ke sou egzamen an. Yeah. Fre. Mwen pral mete ou jwenn 100 sou yon sèl liy ak Lè sa a 10 sou lòt la. Yeah, trè bon. OK, kounye a ou nèg pral jwenn chans la yo dwe TAS yo. Ou jwenn yo reponn tout bèl nan Imèl ke mwen pafwa jwenn. Se konsa, Chè Andi, mwen wè yon bagay mwen panse ke nan ale mal ak du m 'yo. Mwen se sèten ke Kòd mwen an se kòrèk, men mwen kenbe ap resevwa yon fay segmentation chak fwa mwen kouri. Sa k pase? Tanpri, ede, anpil nan renmen. Si ou nèg te resevwa yon bagay tankou ki ki jan ou ta reyaji? Sa yo se aktyèlman trè komen kesyon nou pral mande w. Se si, nou pral ba ou yon senaryo, nou pral ban nou pi bon devine ou a sa k ap pase sou. Nenpòt moun ki gen yon koud nan sa ki k ap pase sou? Yeah? ODYANS: Petèt dereferenced nan nil, yon bagay tankou konsèy la se montre nan yon bagay nil. Pwofesè: Yeah, ki ta dwe yon egzanp sou lè ki ta rive. Men, sa ki nan foto a pi gwo nan sa ki k ap pase sou isit la? ODYANS: Èske li w ap eseye jwenn aksè nan memwa ke ou pa ap sipoze gen aksè nan? Pwofesè: Egzakteman. Se konsa, panse a yon fay seg, yon koupe limit, zòn restriksyon nan memwa ke ou pa ta dwe manyen. Se konsa, bèl anpil lè w ap eseye index-- tankou pou egzanp, ou te deklare yon etalaj soti nan zewo rive nèf. Men, ou eseye manyen ki 10yèm valè, ou pa gen aksè nan sa. Paske nou pa yo te deklare li. Se konsa, òdinatè w lan ki pral fè yon gade nan ki dwe tankou, en oh, w ap eseye ale deyò limit yo nan yon endèks. Mwen pral ba ou yon segmentation fay. Panse a kòm segman, dwa? Yon segman siplemantè, fòt la se lè w ap eseye yon bagay vyolasyon epi ou pa ta dwe la. Fòt Segmentation se nenpòt lè ou eseye manyen bagay ke ou pa ta dwe manyen. Egzanp Se konsa, komen yo se yon endèks. Natirèlman, si w ap eseye ou manyen sa ki te nil, ki ta tou travay kòm byen. Si konsèy ou te ap eseye manyen bagay ki pa ta dwe manyen, ki ta ka tou travay kòm byen. Pifò tipikman ou pral wè sa a nan yon etalaj. Tout moun sa ki bon? ODYANS: Se konsa, si ou vle jwenn aksè nan pwen an 10yèm ak gen nan sèlman yon limit nan nèf oswa yon bagay. Pwofesè: Yeah, egzakteman. Bèl anpil. Fre. Chè Andi. Se konsa, nou te gen sa yo bèl bagay bagay rele kalite. Si Rantre sort-- jan nou wè nan egzanp lè David te fè tout la bagay nan class-- poukisa, si li nan anpil pi vit pase nenpòt nan lòt kalite yo, poukisa nou menm bezwen deranje konnen nenpòt nan lòt kalite yo? Ki sa ki se kesyon sa a vrèman pou nou mande w? Ki sa ki nan pawòl la- nan twa ODYANS: Ki sa ki nan komès-off la? Pwofesè: Egzakteman. Sa a ki sa kesyon an nan mande la a. Ki sa ki nan komès-off ki genyen ant Rantre sòt vèsè nenpòt lòt kalite? ODYANS: Pran memwa, dwa? Pwofesè: Èske w eksplike ke yon ti jan pi plis? Premye kite a eksplike magazen fuzyone. Ki jan Rantre sòt travay? ODYANS: Se konsa, li travay pa divize an mwatye tout bagay ak Lè sa a mete l 'ansanm ak reatribue li yo nan lòd, tankou chak fwa ou rantre ansanm sa yo,. Pwofesè: Bèl anpil. Se konsa, mwen ka trase sa a soti, men li ta pran m 'senk minit fè desen li soti. Gade tounen sou glisad yo seksyon kote nou kouvri sòt unifye. Egzakteman. Se konsa, wout la Rantre travay sòt se li divize bagay sa yo nan mwatye, ak Lè sa a li jis parèt nan la valè premye nan tout nan yo ak asòti sèlman sa. Kontinyèlman kreye nouvo ranje ak mete bagay sa yo pi plis ak plis yo nan lòd. Se konsa, pandan y ap sa a, se reyèlman, reyèlman vit paske it's-- ou konnen, yon rechèch binè se n boutèy demi lit plen n. W ap kreye anpil diferan ranje ke w ap lè l sèvi avèk yon kantite lajan gwo memwa. Se konsa, pandan ke li se pi vit, komès la nan isit la se ke w ap itilize plis memwa. Se konsa, allusion, kalite ak rechèch te kouvri yon anpil plis ane sa a pase yo te nan ane anvan yo. Ou nèg ta dwe wè ki reflete kòmsadwa sou egzamen an. Mwen ta definitivman pase tan ale sou sa ki tout nan kalite yo diferan ye a, ki jan binè rechèch, ki jan lineyè travay rechèch. Ki jan yo petèt pseudocode kode moun deyò. Ki sa ki fwa yo kouri? Yon bagay tankou fwa kouri se yon bagay ki fasil a kapab bay kopi desann sou yon fèy nòt, dwa? Li nan reyèlman difisil lè w ap nan tès la mitan an epi ou gen figi ki soti. Kopi li desann. Mwen garanti ou w ap ale nan bezwen konnen sa. Ki sa ki komès-konpwomi yo? Pi move ka, pi bon senaryo ka pou tout nan yo, trè li ale nan konnen. Yeah? ODYANS: nou bezwen konnen ki jan nan kòd sòt unifye? Tankou, nou bezwen sonje repetitif la? Pwofesè: Mwen trè gen dout li, jis paske li nan tankou san patipri konplike. Men, li gen dwa pa infeasible si nou mande w yo sèvi ak pseudocode li soti. Yeah. Oui, OK, yon sèl plis. Sa a pouvwa gen vini nan ou dènye moso nan yon ti jan. Yeah? Èske tout moun tande sa? OK, se konsa bèl anpil premye a tout, ki kalite pwogram ta dwe ban nou yon pwodiksyon tankou sa a? Sonje nou te mande ou yo aprann sou kalite sa a nouvo nan debogaj zouti? Ki sa ki non an nan li te? Valgrind, dwa Se te yon pwogram kote ou ta ka rele ki te kapab kenbe tras nan tout memwa a ou se lè l sèvi avèk nan pwogram ou ak te pral sou. Se konsa, si ou te gen yon bagay, tankou, definitivman pèdi, 40 bytes nan yon sèl blòk. Pwobableman ou pa ap sonje yo gratis li. Paske si w ap sèvi ak bytes nan memwa, sa vle di ou te jwenn aksè ki memwa, men ou pa te kapab libere. Se konsa, ou vle fè asire w ke ou ap tou lè l sèvi avèk free-- ki nan yon fonksyon-yo gratis tout nan memwa nan realokasyon pa malok. Fre. Se konsa, glise sa a, mwen pral gen li. Li nan tout kote nan yon anpil nan konferans, nan yon anpil nan glisad seksyon. Ou reyèlman vle asire w ke ou jis konnen tout bagay sa yo. Swa nan fèy nòt ou a oswa si ou vle memorize li, santi yo lib yo. Sa ki nan vrèman, reyèlman, reyèlman enpòtan. Epitou yon trè bon kesyon pou n 'ka mande. Poukisa se gade pou chwazi sort-- a Seleksyon sort-- tout nan runtimes yo yo n okib. Kèlkeswa jan lis la rive ou kòm, konsa poukisa se seleksyon sort-- Mwen pral ba ou nèg 30 dezyèm panse osijè de sa a. Paske li nan kalite konfizyon. Sa enplike kèk panse filozofik. Poukisa ta fwa yo kouri dwe menm bagay la nan tou de pi move ak pi bon senaryo yo ka? Yeah? ODYANS: Paske Seleksyon sòt chak pozisyon oswa espas nan etalaj sa a ti kras bagay oswa kèlkeswa sa. Se konsa, menm nan senaryo a ka pi bon, menm si li nan parfe klase, li ta toujou gen yo dwe tankou, OK, yon sèl. An plas premye fwa mwen mwen gen yon sèl. Apre sa, ale nan tout nan yo. OK, se yon sèl pi piti a. Lè sa a, li ale ankò epi li se tankou, OK, de se pi piti a nan tout nan bagay sa yo. Men, li toujou gen yo tcheke chak ak tout yon sèl. Pwofesè: Yeah. Se konsa, pou egzanp, kite yo jis di nou te yon lis, ki deja klase, yon etalaj youn nan senk. Fason ki ki kalite Seleksyon se ke li ale nan, li chèk de sa yo. Lè sa a, li tcheke sa yo de. Lè sa a, li tcheke, epi li chèk. Li kenbe tcheke tout nan yo, kèlkeswa si wi ou non li la aktyèlman Ranje. Paske sa a, se tou senpleman wout la sòt nan travay. Se konsa, kesyon sa a se kalite tankou yon kesyon filozofik nou pral mande. Ki kote premye, ou konnen ki sa chwazi sòt se, dwa, yo dwe kapab reponn kesyon an. Ou gen yo dwe kapab konprann concept sa k ap pase sou. Lè sa a, ou ka aplike li epi li panse, OK kite a jis imajine pi move senaryo ka. Yo ap tout nan desann lòd. Kouman ou ta ki afekte li? E si li nan moute lòd? Si li la deja klase? Kouman ou ta ki afekte runtimes yo? Lè sa a, chwazi sòt, ou pral avi ke li pa aktyèlman gen pwoblèm. Paske w ap tcheke tout nan valè kèlkeswa sa k ap pase. Se konsa, bon bagay yo sonje. Poukisa kèk kalite diferan de lòt moun ak ki jan pi byen ak pi move senaryo ka ta pral afekte tout nan yo. Mwen pral reyèlman frape nan kalite paske ki pral sou egzamen an. Yeah. OK. Genyen sis minit kite. Mwen ka pran twa minit nan kesyon. Mwen kapab tou pann alantou pou tankou 20 minit apre seksyon si ou vle poze kesyon tou. Nenpòt moun ki jis gen reyèlman kout kesyon oswa pwoblèm filozofik yo ap klè sou dwa kounye a? Yeah? ODYANS: Èske ou ka pale yon ti kras ti jan sou operatè lojik? Pwofesè: Yeah. Se konsa, operatè lojik yo yon bagay ke ou pwobableman ta ka jis vle mete sou fèy ou yo. Se konsa, mwen pa vle quickly-- yo ale twòp nan pwofondè paske Harvard, nan revizyon yo sesyon, li kouvri tout trè byen. Lojik operatè, gen nan senk nan yo, dwa? Genyen sa a, ki se x oswa fonksyon, gen nan comercial, ki se ak la. Tiyo, ki se oswa nan. Lè sa a, ou gen de nan diferan kalite orè. Si m 'ba ou de valè, si M 'ba ou, tankou, yon sèl ak yon sèl. Ki sa ki ta ki evalye a? Si m 'ba ou vre, se verite, vre? Ki sa ki sou vre oubyen fo? Toujou vre, dwa? Paske gen nan yon oswa. Nou pral gen plis chans ba ou nimewo. Se konsa, sonje, youn egal vre, zewo egal fo. Apre sa, nou ta ka ba ou tout bagay sa yo epi mande ou fè nou konnen sa ki rive. Harvard kouvri li nan premye nan 10 minit nan sesyon etid yo reyèlman, reyèlman byen. Se konsa, ou nèg vle fè w ke ou tounen gade dèyè sou sa. ODYANS: Èske pisa5 pral fè sou egzamen an? Pwofesè: No Pa menm gade nan pisa5 kounye a. Li difisil. Jis pa menm bezwen deranje gade nan pisa5. Men tou, kòm kèk sijesyon ak sijesyon, mwen ta sijere ou kòmanse pisa5 le pli vit ke egzamen an se sou. Sa a pral pi di a semèn, men Lè sa a ou nèg pral pase l 'sou ti mòn yo nan woule vèt ak puppies, ak li nan amann. Klas sa a vin enpòtan pi fasil apre senkyèm pset la. Èdtan Biwo: ODYANS se Dimanch, Lendi? Pwofesè: Yeah, se konsa lè biwo pral Dimanch nan Lendi pou pset la. Lè biwo aswè a esansyèlman pral jis pou revizyon pou egzamen an. Si yon moun vle vini nan epi mande TAS nan yon kesyon, nou pral dwe la. M ap pran yon sèl plis kesyon petèt si yon moun gen yon kesyon? Yeah? ODYANS: Lè w ap defini nœuds, [fèbl] si ou di zetwal ne ak Lè sa a kap vini an, fè òdinatè a otomatikman konprann ke w ap refere li a yon lòt konsèy? Pwofesè: No ODYANS: Ou gen yo relink li [fèbl]? Pwofesè: Se konsa, fondamantalman an struct a yon ne se, sonje, li a tankou ou kreye ne a ak Lè sa a, ou gen yon konsèy rele kap vini an. Tout sa ou ap fè a se li te gen estrikti nan la. Ou gen yo asiyen ki konsèy yon kote. Se konsa, òdinatè yo pa fè sa konnen ki sa li ap fè ankò. Ou gen aktyèlman bay li lè w ap kreye lis lye ou yo. Epi sa a, ki sa sitou pset 5 pral sou. Se konsa, pa gen enkyetid sou nenpòt nan sa kounye a. ODYANS: Se konsa, nou pa bezwen konsantre twòp sou lis lyen, jis KONSEPSYON la an jeneral? PROFESSOR: Jis bèl anpil pil, ke moun kap kriye, lis lyen, pye bwa, tab regle. Jis dwe kapab konnen ki sa yo ye. Nou pa ap ale nan mande ou renmen anyen espesifik paske nou pa te reyèlman fè yon pset ki kouvri nan nenpòt nan sa ankò. Se konsa, nan de dènye minit yo anvan Mwen mete nou libète nou yo touye egzamen sa a. Bèl anpil, tankou, panse osijè de kòman byen lwen ou nèg te vini nan klas sa a. Mwen sonje lè semèn de nan klas sa a, gen kèk nan nou pase twa èdtan ekri dlo. Konbyen tan li ta pran ou mesye yo ekri dlo kounye a? 30 segonn, petèt? Reflechi sou konbyen lajan ou nèg te aprann. CS se yon sijè reyèlman, reyèlman difisil. Gen nan pa gen dout nan sa. Li difisil, Se poutèt sa pa gen yon etidye li. Se jis difisil. Lè li nan totalman amann. Apre sa, mwen se reyèlman fyè ke tout moun te fè li sa a byen lwen. Psets yo pa fasil. Yo pran yon anpil nan tan. Ou nèg, mwen pa janm ap mande w yo ekri jwèt la nan 15 oswa Vigenere sou pset la. Pa bezwen jis sovaj soti sou sa. Tout sa nou ap fè tès isit la se yo evalye konesans filozofik ou, menm jan tankou kèk ladan ladrès debaz ou a kodaj. Nou bay tès sa fèt yo dwe reyèlman enteresan. Tankou, li se fèt pou ou pa jwenn 100. Li la tou ki fèt pou ou pou w pwobableman pa kapab fini nan 75 minit. Epi sa a, totalman amann. Mwen se yon elèv tèt mwen. Mwen konnen, mwen rayi l 'lè m' mache soti nan yon egzamen dwe tankou, kaka. Sa ki te vrèman difisil. Pwobableman sa ki pwal happen-- e ke sa a totalman amann, M 'ap di ou nèg kounye a. Vle di yo sou bagay sa yo yo pa segondè nan tout. Se pou moun nan nou ki yo te resevwa, tankou, threes sou kouche pwoblèm ou an, sa pa vle di w ap pral jwenn yon pousan 60 nan klas sa a. Si w ap resevwa 60% sou mòn lan egzamen, ki pa fè sa vle di w ap ale nan jwenn yon D nan klas sa a. Nou wè, espesyalman Mwen, pou moun nan nou nan seksyon m 'yo, Mwen wè kòman li di pou ou nèg, yo tout ap travay. Apre sa, mwen kenbe tras nan sa. Ou nèg yo pral amann. Gen nan pa gen memwa enstitisyonèl nan kontantman nan fen semès la. Paske tout timoun yo Harvard ap di zanmi yo, o, ou pral amann. Pa gen moun ki ap di ou nèg ki isit la. Se konsa, mwen dwe di ou nèg ki isit la. Ou nèg yo pral amann. Mwen se konsa fyè de tout nan ou nèg. Egzamen sa a yo pral difisil. Etidye pou li, Apre sa jis jete byen lwen ou. Jwenn tou pare yo aprann nouvo bagay. , Epi pou manje sirèt. Nou te gen anpil bagay nan sirèt. Jwenn dòmi yon nwit bon an. Pa pa dòmi, paske ki ta dwe reyèlman move. CS se yon anpil nan lojik. Si ou pa dòmi, ou pa ka fonksyone, ak sèvo ou a pa ka fonksyone. Apre sa, mwen pral isit la pou pwochen 20 an minit si yon moun vle pann alantou. Ou nèg yo ale nan touye l '. Bon chans.