[Powered by Google Translate] [Semèn 6] [David J. Malan] [Inivèsite Harvard] [Sa a se CS50.] [CS50.TV] Sa a se CS50, e sa se kòmansman an nan Semèn 6, Se konsa yon koup la nouvo zouti yo disponib koulye a pou ou pou w pran avantaj de, premye a nan ki te rele CS50 Style. Chans yo se si w ap tankou m 'oswa nenpòt nan zanmi yo anseye, ou te pwobableman wè yon pwogram ki gen style sanble yon ti kras yon bagay tankou sa a. Petèt ou kòmanse koupe kèk kwen anreta nan mitan lannwit, oswa ou pral fè fas ak li pita, ak Lè sa a, yon tf oswa CA vini sou pandan lè biwo. Lè sa a, li difisil pou nou li. Bon, sa a se kòd syntactically kòrèk, epi li pral konpile, epi li pral aktyèlman kouri. Men, li la definitivman pa yon 5 pou style. Men koulye a,, si nou ale nan anyè sa a isit la- ak avi ke mwen gen conditions2.c- a epi mwen kouri lòd sa a nouvo, style50, sou sa a conditions2.c ranpli, Antre, remake ke li nan enfòme m 'ke li te gen stilize. Jdi remake ke te dosye a te chanje sou ki gen kapasite, ak si mwen klike sou Reload, tout pwoblèm ou yo kounye a se otomatik. [Aplodisman] Se youn nan bagay sa yo nou te fè sa fen semèn. Reyalize ke li se enpafè paske gen kèk kòd ke li tou senpleman pa yo pral kapab stilize parfètman, men mwen reyalize sa a se kounye a yon zouti ou ka pran avantaj de si sèlman nan pwòp moute kèk nan pi plis errantly mete aparèy òtopedik yo Curly ak renmen an. Men, plis irezistib kounye a se CS50 chèk la. Avèk CS50 Tcheke, ou ka aktyèlman fè tès yo ekzaktitid menm sou pwòp kòd ou a, ki zanmi pou anseye yo kapab. Sa a se yon sèvis piblik liy lòd ki vini kounye a nan aparèy la le pli vit ke w ap fè yon update50 tankou pou chak pset 4 espesifikasyon, epi ou sèvi ak li esansyèlman tankou sa a. Ou kouri check50 nan lòd. Lè sa a, ou pase nan yon diskisyon liy lòd, oswa pi plis jeneralman li te ye tankou yon switch oswa drapo a. An jeneral, bagay sa yo ki gen tire yo rele yon switch nan yon pwogram liy lòd, se konsa-c espesifye chèk sa yo ke ou vle kouri. Egzamen sa yo ke ou vle kouri yo idantifye inikman sa a fisèl, 2012/pset4/resize. Nan lòt mo, sa se sèlman yon fisèl abitrè men inik ke nou itilize yo inikman idantifye tès ekzaktitid pset 4 an. Lè sa a, ou presize yon espas separe lis dosye yo ke ou vle Upload CS50 Tcheke pou analiz. Pou egzanp, si mwen ale nan solisyon m 'isit la pou resize.c- kite m 'louvri moute yon tèminal pi gwo fenèt- epi mwen ale pi devan epi kouri kite a di check50-c 2012/pset4/resize, ak Lè sa a, mwen ale pi devan epi presize non yo nan dosye yo, resize.c, ak Lè sa a, frape Antre, li konprès, li uploads an, li tcheke, epi mwen jis te echwe yon pakèt antye nan tès yo. Yon sèl la an wouj sou bò gòch tèt di ke resize.c ak BMP egziste. Sa yo ki te tès la. Se te kesyon an nou te mande. Epitou, se paske kontan repons la te fo. Tèks la blan ki anba a li di atann bmp.h egziste, epi ki nan tou senpleman fòt mwen. Mwen bliye Upload li, se konsa mwen bezwen Upload tou de dosye, resize.c ak bmp.h. Men koulye a, remake tout tès yo lòt yo nan jòn paske yo pa te kouri, e konsa fè fas a Smiley se vètikal paske li se pa ni kè kontan ni tris, men nou dwe reparasyon ki pwoblèm nan wouj anvan sa yo chèk lòt ap kouri. Kite m 'ranje sa a. Kite m 'rale deyò epi yo relance sa a, fwa sa a ak bmp.h tou sou liy lan lòd, Antre, epi kounye a si tout bagay ale byen, li pral tcheke ak Lè sa a, retounen yon konsekans-kenbe ou souf- tout vèt, ki vle di m ap fè vrèman byen sou pset 4 twò lwen. Ou kapab wè epi dégager ki nan tèks la deskriptif isit la ekzakteman ki sa li se nou teste. Nou teste premye dosye yo ki egziste? Nou Lè sa a, teste fè sa ki konpile resize.c? Lè sa a, nou teste li pa Rdimansyone yon BMP 1x1-pixel lè n, faktè a rdimansyonman, se 1. Koulye a, si ou pa gen okenn lide ki sa n se, ou pral yon fwa ou plonje nan pset 4, men ki tou senpleman se yon saniti tcheke a asire w ke ou pa rèsizin yon imaj nan tout si faktè a rdimansyonman se 1. Si, pa kontra, li rdimansyon yon pixel 1x1 nan yon BMP 1x1 pixel 2x2 kòrèkteman lè n se 2, Lè sa a, Menm jan tou, m 'fòme kòmsadwa. Nan ti bout tan, sa a vle di ke yo, yon sèl, pran travèse dwèt yo yo soti nan ekwasyon an dwa ou anvan ou soumèt pset ou a. Ou pral konnen ekzakteman ki sa tf ou pral byento konnen lè ou ale sou soumèt kèk nan sa yo aparèy televisyon HD pwoblèm, epi tou li motivasyon an pedagojik se reyèlman yo mete opòtinite a nan devan ou konsa, lè ou konnen yon yon priori ki gen nan pinèz nan kòd ou yo ak tès yo ki pa yo te fin pase, ou ka mete nan plis tan efikas moute devan yo rezoud sa yo pwoblèm olye ke pèdi pwen, jwenn Feedback soti nan tf ou a, epi apre sa ale, "ahh," tankou Mwen te dwe fè kalkile ki deyò. Koulye a, omwen gen nan yon zouti ede ou jwenn sa. Li pa nan ale nan pwen soti kote pinèz la se, men li ap fè w konnen ki sa ki sentòm nan li. Koulye a, reyalize tès yo yo pa nesesèman exhaustive. Jis paske ou jwenn yon ekran plen ak vèt ap fè fas Smiley sa pa vle di kòd ou a se pafè, men li vle di ke li te pase tès sèten preskri pa espèk la. Pafwa nou pa pral lage chèk yo. Pou egzanp, whodunit, youn nan aspè yo nan pset 4, ki kalite enèvan si nou ba ou repons lan tankou sa ki li se, ak gen nan yon nimewo nan fason revele ki moun nan se nan ki bri wouj. Espèk a ap toujou presize nan tan kap vini an pou pati pset 5 sa ki tcheke egziste pou ou. Ou ap remake gen nan sa a URL blan nan pati anba nan. Pou kounye a, sa a se jis pwodiksyon dyagnostik. Si ou vizite ki URL, ou pral jwenn yon pakèt antye nan fou, mesaj skre ke w ap akeyi yo gade nan, men li la sitou pou anplwaye a pou nou ka detekte epi dbug pinèz nan check50 tèt li. San yo pa brwi, se pou yo deplase sou kote nou te kite. CS50 bibliyotèk nou te pran pou yo akòde pou kèk semèn, men Lè sa a, semèn pase a, nou te kòmanse kap dekale tounen youn nan kouch yo nan li. Nou te kòmanse mete sou kote fil an favè de sa ki olye? [Elèv yo] Char. Char *, ki te gen yon * Char tout tan sa a, Men, koulye a nou pa gen moun kwe ke li nan yon vrè done fisèl kalite. Olye de sa, li te gen yon sinonim nan kalite pou * Char, ak yon kòd se yon sekans nan karaktè, Se konsa, poukisa li fè sans ki reprezante strings kòm Char * s? Ki sa ki yon * Char reprezante nan yon kontèks konsèp sa a nan yon fil? Yeah. >> [Elèv] karaktè a an premye. Bon, pèsonaj la an premye, men li pa byen karaktè la an premye. Li nan-[Elèv yo yo] Adrès. Bon, adrès la nan karaktè la an premye. Tout sa ki nan nesesè yo reprezante yon fisèl nan memwa yon òdinatè a se jis adrès la inik nan multiple trè premye li yo. Ou pa menm gen pou'w konnen konbyen tan li se paske kouman ou kapab kalkile ki soti dynamique? [Elèv] longè chèn. Ou ka rele longè fil, ekselan, men ki jan fè travay longè fil? Ki sa sa fè? Yeah. [Elèv] Kenbe pwale jiskaske w jwenn karaktè a nil. Yeah, egzakteman, li jis iterates ak yon riban pou, pandan y ap riban, kèlkeswa sa soti nan * nan fen a, ak nan fen a ap reprezante pa \ 0, sa yo rele nul karaktè a, nul, pa dwe bay konfizyon avèk nil, ki se yon konsèy, ki pral vini nan konvèsasyon ankò jodi a. Nou kale tounen yon kouch GetInt, ak Lè sa a, nou te pran yon gade nan GetString, ak sonje ke tou de nan moun ki fonksyon, oswa reyèlman, GetString, se te lè l sèvi avèk yon fonksyon sèten aktyèlman analizan, se sa ki, li oswa analize, D 'itilizatè a la. Ak sa ki te ke fonksyon nouvo? Skanf oswa sskanf. Li aktyèlman vini nan yon gou kèk diferan. Genyen nan skanf, gen nan sskanf, gen nan fskanf. Pou kounye a, menm si, kite a konsantre sou yon sèl pi fasil ilistre a, ak kite m 'ale pi devan epi louvri moute nan aparèy la yon dosye tankou sa a, scanf1.c. Sa a se yon pwogram super senp, men sa ki fè yon bagay ke nou pa janm te fè san èd nan bibliyotèk la CS50. Sa a vin yon int ki sòti nan yon itilizatè. Kouman li travay? Oke, nan liy 16 la, remake ke nou deklare yon int x rele, ak nan pwen sa a nan istwa a, ki sa ki valè x? [Fèbl repons elèv] [David M.] Dwa, ki moun ki konnen, gen kèk valè fatra potansyèlman, se konsa nan 17, nou jis di itilizatè a ban m 'yon nimewo, tanpri, ak etap 18 se kote li vin enteresan. Skanf sanble yo prete yon lide soti nan printf nan ke li itilize kòd sa yo fòma nan quotes. D% se nan kou yon nimewo desimal. Men, poukisa m 'pase nan & x olye pou yo jis x? Ansyen an se kòrèk. Yeah. [Fèbl repons elèv] Egzakteman, si objektif la nan pwogram sa a, tankou GetInt an fonksyon tèt li, se jwenn yon int soti nan itilizatè a mwen ka pase fonksyon tout varyab yo mwen vle, men si mwen pa pase yo pa referans oswa pa adrès oswa pa konsèy, tout synonym pou rezon jodi a, Lè sa a, ki fonksyon pa gen okenn kapasite chanje sa ki nan varyab sa a. Sa a ta pase nan yon kopi jis tankou vèsyon an buggy nan swap ke nou te deja pale sou yon fwa kèk kounye a. Men, olye de sa, nan fè & x, mwen literalman pase nan ki sa? [Elèv] adrès la. >> Adrès postal la nan x. Se tankou desen yon kat jeyografik pou fonksyon an rele skanf yo t'ap di konsa isit la, sa yo, se direksyon nan yon ti moso nan memwa nan òdinatè a ke ou ka ale sere kèk nonb antye relatif pous Nan lòd pou sskanf kounye a fè sa ki sa operatè, ki sa ki moso nan sentaks la li pral gen yo sèvi ak menm si nou pa ka wè l ', paske yon lòt moun te ekri sa a fonksyon? Nan lòt mo - sa ki nan sa? [Elèv] X li a. Gen a pral gen kèk lekti, men se sèlman ki gen rapò ak x isit la. Si skanf se ke yo te pase adrès ki nan x, syntactically, ki sa ki operatè yo mare yo egziste yon kote andedan nan aplikasyon skanf a pou ke skanf ka aktyèlman ekri yon nimewo 2 a ki adrès? Yeah, se konsa * a. Sonje byen, * a se operatè dèreferans nou an, ki esansyèlman vle di ale la. Yon fwa ou ve yo te lage yon adrès, kòm se ka a isit la, skanf se pwobableman-si nou aktyèlman pwonmennen je l 'sous li yo kòd- ap fè * x oswa ekivalan a aktyèlman ale nan adrès sa, li mete kèk valè a. Koulye a, kòm pou jan skanf vin enfòmasyon nan men gwoup klavye a, nou pral balanse men nou deyò pou jodi a. Jis asime ke sistèm nan fonksyone pèmèt sskanf pale klavye itilizatè a, men nan pwen sa a kounye a nan liy 19, lè nou tou senpleman enprime soti x, li sanble yo dwe ka a ki skanf te mete yon int nan x. Sa a se egzakteman ki jan skanf travay, ak sonje semèn pase a sa a, se egzakteman ki jan GetString ak GetInt ak fanmi lòt li yo nan fonksyon finalman travay, byen ak divèjans ti tay tankou sskanf, ki vle di analysis yon kòd olye pou yo klavye la. Men, kite a pran yon gade nan yon divèjans ti kras nan sa a. Nan scanf2, mwen aktyèlman vise yo. Sa ki mal-yo ak mwen pral kache kòmantè a ki eksplike-anpil tankou sa ki mal ak pwogram sa a, vèsyon 2? Fè kòm teknik ke posib tan sa a. Li sanble trè bon. Li nan joliman utilize, men- oke, ki jan sou kite nan taye li desann nan pi kout kesyon? Liy 16. Ki sa ki nan liy 16 ap fè nan lang angle egzak men teknik? Lè w yon ti kras gòch. Wi, Michael. [Elèv] Li nan lonje dwèt lèt yo te premye nan yon kòd. Okay, fèmen. Kite m 'ajistè ki yon ti jan. Dwèt ou sou lèt la premye nan yon fisèl, se ou ki deklare yon varyab tanpon rele ki pral montre nan adrès la nan premye yon kòd, ou pito, ki pral montre plis espesyalman nan yon Char. Avi li pa la aktyèlman montre nenpòt kote paske gen nan pa gen operatè devwa. Gen nan pa gen siy egal, kidonk tout sa nou ap fè se allocation varyab tanpon an rele. Li k ap pase yo 32 Bits paske li nan yon konsèy, ak sa ki nan zòn de defans prezimableman evantyèlman pral gen yon adrès nan yon Char, men pou kounye a, ki sa ki tanpon genyen ladan li? Jis kèk fos, ki moun ki konnen, gen kèk fatra valè, paske nou pa t 'eksplisitman inisyalizèd li, konsa nou pa ta dwe asime anyen. Oke, kidonk kounye a liy 17 la-sa ki liy 17 fè? Petèt ki pral chofe sa a leve. Li simagri yon fisèl, dwa? Li simagri chèn tanpri. Liy 18 an se kalite abitye kounye a nan ke nou jis te wè yon divèjans sa a Men, se avèk yon kòd fòma diferan, se konsa nan liy 18, nou ap di skanf isit la se adrès ki nan yon ti moso nan memwa. Mwen vle fè w sonnen nan yon fisèl, kòm enplisit pa% s, men pwoblèm nan se ke nou pa te fè yon koup de bagay sa yo isit la. Ki sa ki nan youn nan pwoblèm yo? [Elèv] Li nan ap eseye dèreferans yon konsèy nil. Bon, nil oswa jis otreman sèks endikasyon. W ap rmiz skanf yon adrès, men ou jis te di ke yon moman Anons sa pibliye depi ki ki adrès se kèk valè fatra paske nou pa t 'aktyèlman asiyen li nan anyen, ak sa w ap di skanf efektivman ale mete yon fisèl isit la, men nou pa konnen ki kote isit la ankò se, pou nou pa t 'aktyèlman afekte memwa pou zòn de defans. Anplis, ki sa yo se nou menm tou nou pa menm di skanf? Sipoze sa a te yon ti moso nan memwa, e li pa te yon valè fatra, men w ap toujou pa di skanf yon bagay enpòtan. [Elèv] Ki kote li aktyèlman se, comercial la. Comercial, se konsa nan ka sa a, li nan oke. Paske tanpon deja deklare kòm yon konsèy avèk moso nan * nan sentaks, nou pa bezwen sèvi ak Comercial paske li nan deja yon adrès, men mwen panse mwen fin tande l 'isit la. [Elèv] Kòman gwo se li? Bon, nou pa ap di skanf ki jan gwo sa a tanpon se, ki vle di menm si tanpon te yon konsèy, nou ap di skanf, mete yon kòd isit la, men isit la ta ka 2 bytes, li te kapab gen 10 bytes, li te kapab fè yon megaokte. Skanf pa gen okenn lide, ak paske sa se yon ti moso nan memwa prezimableman, li nan pa yon fisèl ankò. Li nan sèlman yon fisèl yon fwa ou ekri karaktè ak yon 0 \ ak sa yo ki ti moso nan memwa. Kounye a li nan jis kèk ti moso nan memwa. Skanf pa pral konnen ki lè yo sispann ekri nan ki adrès ou. Si ou sonje kèk egzanp nan tan lontan an kote mwen owaza tape sou klavye a ap eseye debòde yon zòn de defans yo, epi nou te pale nan Vandredi sou egzakteman sa. Si yon lènmi yon jan kanmenm enjekte nan pwogram ou an yon mo pi gwo anpil oswa fraz oswa fraz Lè sa a, ou te espere ou ka anvahi yon ti moso nan memwa, ki ka gen konsekans move, tankou pran sou pwogram nan tout antye tèt li. Nou bezwen ranje sa a yon jan kanmenm. Kite m 'rale deyò epi yo ale nan vèsyon 3 nan pwogram sa a. Sa a se yon ti jan ti kras pi byen. Nan sa a vèsyon, remake diferans lan. Nan liy 16, mwen ankò deklare yon varyab tanpon rele, men ki sa ki li kounye a? Li nan yon etalaj de 16 charaktèr. Sa a se bon paske sa sa vle di mwen kapab kounye a di skanf isit la se yon moso reyèl nan memwa. Ou ka prèske panse a ranje tankou se te pwent kounye a, menm si yo ap pa aktyèlman ekivalan. Yo pral konpòte yon fason diferan nan kontèks diferan. Men, li la sètènman ka a ke zòn de defans la indican 16 charaktèr vwazen paske se sa ki yon etalaj se e ki te pou kèk semèn kounye a. Isit la, m'ap di skanf isit la nan yon ti moso nan memwa. Tan sa a, li la aktyèlman yon ti moso nan memwa, men poukisa se pwogram sa a toujou lezot? Ki sa ki nan mal toujou? Mwen te di, ban m '16 bytes men- [Elèv] Ki sa ki yo si yo tape nan plis pase 16? Egzakteman, ki sa ki si itilizatè a kalite nan 17 karaktè oswa karaktè 1700? An reyalite, se pou yo wè si nou pa kapab vwayaj sou sa a erè kounye a. Li pi bon, men se pa pafè. Kite m 'ale pi devan epi kouri fè scanf3 te rekeyi pwogram sa a. Kite m 'kouri scanf3, chèn Tanpri sonje: hello, ak nou yo sanble yo ka oke. Kite m 'eseye yon yon sèl yon ti kras pi lontan, hello there. Oke, kite la hello there kouman ou ye jodi a, Antre. Lè w kalite chans isit la, se pou yo di hello there kouman ou ye. Modi li. Oke, kidonk nou te resevwa chans. Ann gade pou wè si nou pa ka repare sa a. Non, li pa pral kite m 'yon kopi. Ann eseye sa a ankò. Tout dwa, rete kanpe bò. Nou pral wè konbyen tan mwen kapab fè kòm si yo konsantre pandan y ap toujou fè sa. Modi li. Sa a olye ki apwopriye, aktyèlman. Gen nou ale. Pwen fè fè yo. Sa a, anbarasan menm si li tou se, li se tou youn nan sous ki nan konfizyon gwo lè li ap ekri pwogram ki gen pinèz paske yo manifeste tèt yo sèlman yon fwa nan yon pandan y ap pafwa. Reyalite a se sa menm si se kòd ou nèt kase, li ta ka sèlman ki ka konplètman kase yon fwa nan yon pandan y ap paske pafwa, ki esansyèlman ki sa ki rive a se rezèvè yo sistèm opere yon ti kras memwa plis pase sa ou aktyèlman bezwen pou kèlkeswa rezon, epi konsa pa gen yon lòt la lè l sèvi avèk memwa a dwa apre moso ou nan 16 karaktè, Se konsa, si ou ale nan 17, 18, 19, kèlkeswa sa, li la pa tankou yon kontra gwo. Koulye a, òdinatè a, menm si li pa aksidan nan pwen sa a, ta ka evantyèlman itilize multiple nimewo 17 oubyen 18 oswa 19 pou yon lòt bagay, nan ki pwen done ou ke ou mete ladan l ', byen twò long, ki pral jwenn efase potansyèlman pa kèk fonksyon ak lòt. Li pa nan nesesèman ale nan rete entak, men li pa pwal nesesèman lakòz yon fay segman. Men, nan ka sa a, mwen finalman bay karaktè ase ke mwen esansyèlman depase segman m 'lan nan memwa, ak Bam, sistèm nan fonksyone te di, "Nou regrèt sa, ki yo pa bon, fòt segmentation." Li kite yo wè koulye a si sa ki rete isit la nan mwen anyè- remake ke mwen gen sa a ranpli isit la, prensipal yo. Remake sa a se ankò yo te rele yon pil fatra prensipal yo. Li nan esansyèlman se yon dosye ki gen kontni an nan memwa pwogram ou an nan pwen an nan ki li te fè aksidan, ak jis eseye yon egzanp ti kras isit la kite m 'ale nan isit la epi kouri gdb sou scanf3 ak Lè sa a, endike yon agiman twazyèm rele debaz yo, ak avi isit la ke si mwen lis kòd la, nou pral kapab kòm dabitid ak gdb kòmanse mache nan pwogram sa a, e mwen ka kouri li ak kòm pli vit ke mwen frape-menm jan ak yo lòd, ki etap nan gdb- osito ke mwen frape liy la potansyèlman buggy apre ou tape nan yon fisèl gwo, Mwen pral kapab aktyèlman idantifye li isit la. Plis sou sa a, menm si, nan seksyon an tèm de depo nwayo ak renmen an pou ke ou ka aktyèlman pike alantou andedan nan pil fatra debaz la ak wè sou sa ki liy pwogram nan echwe ou. Nenpòt kesyon Lè sa a, sou pwent yo, epi sou adrès? Paske jodi a sou li a, nou pral kòmanse pran pou yo akòde ke bagay sa yo egziste e nou konnen ekzakteman ki sa yo ye. Wi. [Elèv] Ki jan vini ou pa t 'gen yo mete yon comercial pwochen nan pati a- Bon kesyon. Ki jan vini mwen pa t 'gen yo mete yon comercial akote etalaj la N. jan mwen te fè deja ak pi fò nan egzanp nou an? Repons lan kout se ranje yo yon ti kras espesyal. Ou ka prèske panse yon zòn de defans kòm aktyèlman ke yo te yon adrès, epi li jis pou k ap pase yo ka a ke notasyon a bracket kare se yon konvenyans pou nou ka antre nan, 0 bracket bracket 1, 2 bracket, san yo pa gen itilize notasyon la *. Sa a se yon ti jan nan yon manti blan paske ranje ak endikasyon yo se, an reyalite, yon ti jan diferan, men yo ka souvan, men se pa toujou ap itilize interchangeable. Nan ti bout tan, lè yon fonksyon ap tann yon konsèy nan yon ti moso nan memwa, ou ka swa pase l yon adrès ki te tounen pa malok, epi nou pral wè malok ankò anvan lontan, oswa ou ka pase l non an nan yon etalaj. Ou pa oblije fè comercial ak ranje yo paske yo te deja esansyèlman renmen adrès. Sa a se eksepsyon a yon sèl. Parantèz yo kare fè yo espesyal. Èske ou ta kapab mete yon comercial akote tanpon an? Pa nan ka sa a. Sa pa ta ka travay paske, ankò, nan ka sa a kwen kote ranje yo pa byen aktyèlman adrès. Men, nou pral petèt tounen vin jwenn ke lontan anvan ak lòt egzanp. Se pou nou eseye rezoud yon pwoblèm isit la. Nou gen yon estrikti done ke nou ve yo te lè l sèvi avèk pou kèk tan ke yo rekonèt kòm yon etalaj. Ka nan pwen, se sa ki nou jis te fè. Men, ranje gen kèk upsides ak enkonvenyans. Matris yo se poukisa bèl? Ki sa ki nan yon sèl bagay ke ou renmen-nan limit ki ou renmen ranje-sou ranje? Ki sa ki nan pratik sou yo? Ki sa ki nan irezistib? Poukisa nou prezante yo an plas an premye? Yeah. [Elèv] Yo ka sere anpil done, ak ou pa bezwen sèvi ak yon bagay tout antye. Ou kapab sèvi ak yon seksyon. Bon, ak yon etalaj ou ka magazen yon anpil nan done, epi ou pa nesesèman gen yo sèvi ak tout nan li, pou ou kapab overallocate, ki ta ka pratik si ou pa konnen davans ki jan anpil nan yon bagay ki pral rive. GetString se yon egzanp pafè. GetString, ekri pa nou, pa gen okenn lide kouman anpil charaktèr ou kapab espere, Se konsa reyalite a ke nou ka asiyen sègman nan memwa vwazen se yon bon bagay. Matris tou rezoud yon pwoblèm nou te wè yon semèn koup Anons sa pibliye depi kounye a kote kòd ou kòmanse rtonbe nan yon bagay pi mal fèt. Sonje byen, mwen kreye yon estrikti elèv rele David, ak Lè sa a, sa ki te aktyèlman yon altènatif, menm si, a gen yon varyab non yo rele ak yon lòt varyab yo rele, mwen panse, kay, ak yon lòt varyab yo rele ID paske nan istwa sa a mwen Lè sa a, te vle prezante yon lòt bagay renmen Rob nan pwogram lan, se konsa Lè sa a, mwen deside rete tann yon minit, Mwen bezwen chanje non sa yo varyab. Se pou nou rele mine name1, ID1, house1. Se pou nou rele a, name2 Rob house2, ID2. Men, Lè sa a, rete tann yon minit, sa ki sou Tommy? Lè sa a, nou te gen twa plis varyab. Nou entwodui yon lòt moun, kat kouche nan varyab. Mond lan te kòmanse jwenn lèd trè vit, pou nou prezante strukt, ak sa ki nan irezistib sou yon struct? Ki sa ki yon struct C kite ou fè? Li nan reyèlman gòch jodi a. Ki sa? >> [Fèbl repons elèv] Yeah, espesyalman, tipedèf pèmèt ou kreye yon kalite done nouvo, ak struct, mo kle a struct, pèmèt ou ankapsulasyon concept ki gen rapò moso nan done yo ansanm epi apre sa rele yo yon bagay tankou yon elèv yo. Ki te bon paske kounye a nou ka modle pi plis sòt de teori konsistan nosyon de yon elèv nan yon varyab olye ke abitrèman gen yonn pou yon fisèl, yonn pou yon ID, ak pou fè. Matris yo se bèl paske yo pèmèt nou kòmanse netwaye kòd nou an. Men, sa ki se yon inconvénient kounye a nan yon etalaj? Ki sa ou ka pa fè? Yeah. [Elèv] Ou gen konnen ki jan gwo li ye. Ou gen konnen ki jan gwo li se, kidonk li a kalite yon doulè. Moun sa yo ki nan nou ki gen eksperyans pwogram anvan konnen ke nan yon anpil nan lang, tankou Java, ou kapab mande yon ti moso nan memwa, espesyalman yon etalaj, ki jan gwo moun ou ye, ki gen yon longè, pwopriyete, se konsa pale, ak sa ki nan vrèman bon. Nan C, ou pa menm ka rele strlèn sou yon etalaj jenerik paske strlèn, kòm pawòl Bondye a implique, se sèlman pou strings, epi ou kapab konnen ki longè yon fisèl paske nan sa konvansyon imen ki gen yon 0 \, men etalaj yon, plis generic, se jis yon ti moso nan memwa. Si li nan yon etalaj la antye, gen pa a pral gen kèk karaktè espesyal nan fen a ap tann pou ou. Ou gen sonje longè nan yon etalaj. Yon lòt enkonvenyans nan yon etalaj bati tèt li nan GetString tèt li. Ki sa ki nan yon lòt inconvénient nan yon etalaj? Sir, jis m 'avè ou jodi a. [Repons fèbl elèv] >> Li nan ki sa? Li nan te deklare sou pil la. Okay, te deklare sou pil la. Poukisa ou pa renmen sa? [Elèv] Paske li vin ankò. Li vin ankò. Oke, si ou itilize yon etalaj asiyen memwa, ou pa kapab, pou egzanp, retounen li paske li nan sou pil la. Okay, sa a, se yon dezavantaj. Ak ki jan sou yon ak lòt avèk yon etalaj? Yon fwa ou asiyen li, ou se kalite vise si ou bezwen plis espas pase sa ki etalaj te genyen an. Lè sa a, nou prezante, sonje, malok, ki te ban nou kapasite nan dynamique asiyen memwa. Men, sa ki si nou te eseye yon mond diferan tout ansanm? E si nou te vle rezoud yon koup la moun ki pwoblèm pou nou olye-mwen te plim ap dòmi isit la- ki sa si nou olye te vle esansyèlman kreye yon mond ki nan pa gen ankò tankou sa a? Sa a se yon etalaj, ak, nan kou, sa a kalite détériorer yon fwa nou frape nan fen etalaj la, epi mwen kounye a pa gen espas pou yon lòt nonb antye relatif oswa karaktè yon lòt. E si nou sòt de preemptively di byen, poukisa pa nou detann egzijans sa a ke tout sa yo fragman nan memwa dwe vwazen tounen nan tounen, epi poukisa pa fè sa, lè mwen bezwen yon int oswa yon Char, jis ban m 'espas pou youn nan yo? Lè m 'bezwen yon lòt, ban m' yon lòt espas, epi lè mwen bezwen yon lòt, ban m 'yon lòt espas. Avantaj nan ki kounye a se ke si yon lòt moun pran memwa a sou isit la, pa gen okenn kontra gwo. M ap pran sa a moso adisyonèl nan memwa isit la ak Lè sa a, yon sèl sa a. Koulye a, trape an se sèlman isit la se ke sa a prèske santi l tankou mwen gen yon pakèt antye nan varyab diferan. Sa a santi l tankou senk varyab diferan potansyèlman. Men, sa ki si nou vòlè yon lide soti nan strings kote nou yon jan kanmenm konekte tout bagay sa yo ansanm Concept, e ki sa si m 'te fè sa a? Sa a se flèch pi mal trase m 'yo. Men, si ke chak nan sa yo fragman nan memwa pwente nan lòt la, ak sa a Guy, ki moun ki pa gen okenn frè ak sè a dwat li yo, pa gen okenn flèch sa yo. Sa a se an reyalite sa ki rele yon lis lye. Sa a se yon estrikti done nouvo ki pèmèt nou asiyen yon ti moso nan memwa, Lè sa a, yon lòt, lè sa a yon lòt, lè sa a yon lòt, nenpòt ki lè nou vle pandan yon pwogram yo, epi nou sonje ke yo ap tout yon jan kanmenm ki gen rapò ak pa literalman Anchènman yo ansanm, epi nou te fè sa pictorially isit la ak yon flèch. Men, nan kòd, ki sa ki ta dwe mekanis a atravè kote ou ka yon jan kanmenm konekte, prèske tankou grafouyen, yon sèl moso nan yon lòt moso? Nou te ka sèvi ak yon konsèy, dwa? Paske reyèlman flèch la ki nan pral soti nan kare a gòch anwo, sa a Guy isit la yo yon sèl sa a, te kapab gen ladan andedan sa a kare pa sèlman kèk antye, pa sèlman kèk Char, men ki sa si mwen aktyèlman resevwa lajan yon ti kras espas anplis pou ke kounye a, chak nan sègman m 'lan nan memwa, menm si sa a se pral koute m', kounye a sanble yon ti kras plis rektangilè kote youn nan sègman yo nan memwa Yo itilize pou yon nimewo, tankou nimewo a 1, ak Lè sa a, si sa a Guy estoke nimewo 2 a, sa a se moso lòt kote nan memwa yo itilize pou yon flèch, oswa plis konkrètman, yon konsèy. Ak ta kwè mwen sere nimewo a 3 sou isit la pandan y ap pou mwen sèvi ak sa a nan pwen nan ke nèg, e kounye a, sa a Guy, kite la ta kwè mwen sèlman vle twa sègman tankou nan memwa. Mwen pral trase yon liy ki pase nan ki, ki endike nil. Pa gen okenn karaktè adisyonèl. Vreman vre, sa a se ki jan nou ka ale sou mete ann aplikasyon yon bagay ki yo rele yon lis lye. Yon lis lye se yon estrikti done nouvo, epi li yon wòch kite nan direksyon anpil amateur done estrikti ki kòmanse rezoud pwoblèm sou liy ki an Facebook-type pwoblèm ak Google-type pwoblèm ki kote ou gen done gwo aparèy televisyon HD, epi li pa koupe l nan magazen tout bagay kontigu epi sèvi ak yon bagay tankou rechèch lineyè oswa menm yon bagay tankou rechèch binè. Ou vle menm pi bon kouri fwa. An reyalite, youn nan Grails sa yo Sentespri nou pral pale sou pita semèn sa a oswa pwochen se yon algorithm ki gen kouri tan a konstan. Nan lòt mo, li toujou pran menm kantite lajan an nan tan pa gen pwoblèm ki jan gwo D 'a se, ak ki ta vre dwe irezistib, menm plis pase sa yon bagay logaritmik. Ki sa ki se sa a sou ekran an isit la? Chak nan rektang yo se egzakteman sa mwen jis trase nan men. Men, bagay la tout wout la sou bò gòch la se yon varyab espesyal. Li nan ale nan yon konsèy sèl paske yon sèl gotcha la ak yon lis lye, tankou sa yo bagay sa yo yo rele yo, se ki di ou gen pann sou yon bout nan lis la lye. Jis tankou ak yon kòd, ou gen konnen adrès ki nan Char la an premye. Menm kontra pou bay lis lye. Ou gen konnen adrès ki nan moso an premye nan memwa paske apati de la, ou ka rive jwenn tout moun lòt. Enkonvenyans. Ki sa ki pri yo nou pou peye pou sa a adaptabilite ki gen yon dynamique dimensionnable done estrikti ke si nou janm bezwen plis memwa, amann, jis asiyen yon sèl plis moso epi trase yon konsèy nan men fin vye granmoun nan ke a nouvo sou lis la? Yeah. [Elèv] Li pran espas sou de fwa tankou anpil. Li pran espas de fwa tankou anpil, se konsa sa a, se definitivman yon inconvénient, epi nou te wè sa a arbitraj anvan ant tan ak espas ak fleksiblite kote pa kounye a, nou bezwen pa 32 Bits pou chak nan nimewo sa yo. Nou vrèman bezwen 64, 32 pou yon nimewo pou la ak 32 pou konsèy la. Men, hey, mwen gen 2 jigokte nan RAM. Ajoute yon lòt Bits 32 isit la ak isit la pa sanble ke gwo de yon kontra. Men, pou kouche gwo done, li definitivman ajoute jiska literalman de fwa plis ke. Ki sa ki nan yon lòt inconvénient kounye a, oswa sa ki karakteristik nou bay leve, si nou reprezante lis de bagay sa yo ak yon lis lye epi yo pa yon etalaj? [Elèv] Ou pa ka Traverse li bak. Ou pa ka Traverse li bak, se konsa w ap kalite vise, si w ap mache de gòch a dwat lè l sèvi avèk yon pou riban oswa yon riban pandan y ap ak Lè sa a, ou reyalize, "O, mwen vle ale tounen nan kòmansman an de lis la." Ou pa ka paske sa yo endikasyon sèlman ale de gòch a dwat kòm flèch yo endike. Koulye a, ou ta ka sonje nan kòmansman an nan lis la ak yon lòt varyab, men sa a yon konpleksite kenbe nan tèt ou. Yon etalaj, pa gen pwoblèm ki jan lwen ou ale, ou ka toujou fè mwens, mwens, mwens, mwens epi tounen, kote ou te soti a. Ki sa ki nan yon lòt inconvénient isit la? Yeah. [Fèbl kesyon elèv] Ou te kapab, se konsa ou te aktyèlman jis pwopoze yon estrikti done yo te rele yon lis doubl lye, ak tout bon, ou ta ajoute yon lòt konsèy nan chak nan sa yo rektang ki ale direksyon nan lòt, tèt la nan ki se kounye a ou ka Traverse retounen lakay yo epi soti, inconvénient la ki se kounye a w ap itilize twa fwa kòm memwa anpil jan nou sèvi ak epi tou li ajoute konpleksite an tèm de kòd la ou gen yo pou yo ekri jwenn li dwa. Men, sa yo, se tout petèt trè rezonab konpwomi, si ranvèsman a se pi plis enpòtan. Yeah. [Elèv] Ou menm tou pa ka gen yon 2D lis lye. Bon, ou pa ka vrèman gen yon 2D lis lye. Ou te kapab. Li pa prèske kòm fasil tankou yon etalaj. Tankou yon etalaj, ou fè louvri bracket, bracket fèmen, bracket louvri, fèmen bracket, epi ou jwenn kèk estrikti 2 dimansyon. Ou te kapab aplike yon 2 dimansyon lye lis si ou fè ajoute-ou pandan w ap pwopoze-yon konsèy twazyèm nan chak nan bagay sa yo, ak si ou panse sou yon lòt lis ap vini nan ou 3D style soti nan ekran an nan tout nan nou, ki se jis yon lòt chèn nan kèk sòt. Nou te ka fè l ', men se pa kòm senp tankou sezisman louvri bracket, kare bracket. Yeah. [Fèbl kesyon elèv] Bon, se konsa sa a se yon boteur reyèl. Sa yo algoritm ke nou te pined sou, tankou oh, rechèch binè, ou kapab fè rechèch yon etalaj nan nimewo sou tablo a oswa yon liv telefòn, pou yo pi vit si ou itilize separe ak konkeri ak yon algorithm rechèch binè, men rechèch binè egzije de sipozisyon. Onè, ki done yo te klase. Koulye a, nou ka prezimableman kenbe sa a Ranje, sa petèt sa a pa yon enkyetid, men rechèch binè tou pwan pou w te gen o aza aksè nan lis la nan chif, ak yon etalaj pèmèt ou gen aksè o aza, epi pa o aza aksè, Mwen vle di, si w ap bay yon etalaj, konbyen tan li pran ou pou li ale nan bracket 0? Yon operasyon, ou jis itilize [0] epi w ap dwa la. Konbyen etap li pran pou li ale nan kote 10? Yon sèl etap, ou jis ale nan [10] epi w ap la. Nan kontras, ki jan ou jwenn yo nonb antye relatif nan 10yèm nan yon lis lye? Ou gen kòmanse nan kòmansman an paske w ap sèlman sonje se nan konmansman an nan yon lis lye, jis tankou yon fisèl yo te vin chonje pa adrès ki nan Char premye li yo, ak ke ou jwenn ke int 10yèm oswa ki karaktè 10yèm nan yon fisèl, ou gen nan rechèch tout bagay la modi. Yon fwa ankò, nou pa rezoud tout pwoblèm nou yo. Nou ap entwodwi nouvo, men li vrèman depann de sa ki w ap eseye desine pou li a. An tèm de mete ann aplikasyon sa a, nou ka prete yon lide de sa estrikti elèv yo. Sentaks a se trè menm jan, eksepte, koulye a, lide an se yon ti kras pi plis abstrè pase kay ak non ak ID. Men, mwen pwopoze ke nou te kapab gen yon estrikti done nan C yo rele ne, kòm dènye mo an sou glise an sijere, andedan yon ne, ak yon ne se jis yon veso jenerik nan syans òdinatè. Li nan anjeneral trase kòm yon sèk oswa yon kare oswa rektang kòm nou te fè. Ak nan estrikti sa a done, nou gen yon int, n, pou ki nan nimewo a mwen vle nan magazen. Men, sa ki liy sa a dezyèm, struct ne * vin apre a? Poukisa se sa a kòrèk, oswa ki wòl sa a jwe bagay, menm si li nan yon ti kras skre nan zye premye? Yeah. [Fèbl repons elèv] Egzakteman, se konsa sòt nan * nan gate ke li nan yon konsèy nan kèk sòt. Non an nan sa a konsèy se abitrèman vini yo, men nou te ka genyen rele l 'anyen nou vle, men sa ki fè pwen sa a konsèy fè? [Elèv] Yon lòt ne. >> Egzakteman, li lonje dwèt nan yon lòt ne sa yo. Koulye a, sa a se sòt de yon kiryozite nan C. Sonje byen, C a li pa yon tèt du jouk anba, gòch a dwat, ki vle di si-sa a se yon ti kras diferan de sa ki nou te fè sa ak elèv la. Lè nou defini yon elèv, nou aktyèlman pa t 'mete yon mo la. Li jis di tipedèf. Lè sa a, nou te gen int id, non kòd, fisèl kay, ak Lè sa a, elèv nan fon an nan struct la. Deklarasyon sa a se yon ti kras diferan, paske, ankò, du a C se yon ti kras bèbè. Li nan sèlman pral li anwo jouk anba, Se konsa, si li rive nan liy lan 2nd isit la kote pwochen yo te deklare e li wè, o, isit la nan yon varyab rele kap vini an. Li se yon konsèy nan yon ne struct. Du a pral reyalize sa ki se yon ne struct? Mwen pa janm te tande pale de bagay sa a anvan, paske ne nan mo pa ta ka otreman parèt jouk anba a, se konsa gen sa a redondance. Ou gen yo di ne struct isit la, kote ou ka Lè sa a, diminye pita sou gras a tipedèf desann isit la, men sa a se paske nou ap indican estrikti a li menm anndan nan estrikti a. Sa a gotcha nan youn la. Gen kèk pwoblèm ki enteresan yo ale nan leve. Nou gen yon lis nimewo. Ki jan nou insert nan li? Ki jan nou fouye li? Ki jan nou efase soti nan li? Espesyalman kounye a ke nou dwe jere tout moun sa yo endikasyon. Ou te panse endikasyon yo te sòt de lide koube- lè ou te gen youn nan yo jis ap eseye li yon int li. Koulye a, nou gen manipile vo yon lis tout la. Poukisa nou pa nou pran repo-5 minit nou yo isit la, ak Lè sa a, nou pral pote kèk jan moute sou sèn fè egzakteman sa. C se plezi pi plis lè li nan aji deyò. Ki moun ki ta literalman renmen yo an premye? Okay, rive sou yo. Ou se premye. Ki moun ki ta renmen ale yon 9? Okay, 9. Kouman sou 9? 17? Yon ti klik isit la. 22 ak 26 nan ki ranje devan. Lè sa a, ki jan sou yon moun lòt bò a ke yo te pwente nan. Ou se 34. Okay, 34, vini sou yo. Premye se sou a. Okay, tout kat ou guys. Epi ki t 'nou di pou 9? Ki moun ki se 9 nou an? Ki moun ki vrèman vle fè 9? Tout dwa, vin sou, se pou 9. Isit la nou ale. 34, nou pral kontre ou sou la. Pati nan premye se fè tèt nou gade tankou sa. 26, 22, 17, bon. Si ou ka rete nan bò lanmè a, paske nou ap ale nan malok ou nan yon ti moman. Bon, bon. Okay, ekselan, kidonk kite a mande yon koup la kesyon isit la. Ak aktyèlman, sa ki nan non ou? >> Anita. Anita, oke, vini sou plis pase isit la. Anita ki pral ede nou sòt de rezoud yon kesyon jistis senp nan premye, ki se ki jan ou jwenn si wi ou non yon valè se nan lis la? Koulye a, remake ke premye, reprezante isit la Lucas, se yon ti kras diferan, epi konsa moso li nan papye se fè espre sou kote paske li nan pa byen kòm wotè epi yo pa pran kòm Bits anpil moun, menm si teknikman li te gen menm gwosè nan papye jis Thorne. Men, li la yon ti kras diferan nan ke li se sèlman 32 Bits pou yon konsèy, ak tout mesye sa yo se 64 Bits, mwatye nan ki se nimewo a, mwatye nan ki se yon konsèy. Men, konsèy la pa repwezante, kidonk si w te kapab yon ti jan nèg malabiyman itilize men gòch ou nan pwen nan moun nan kap vini jwenn ou. Epi w ap nimewo 34. Ki sa ki nan non ou? Ari. Ari, se konsa aktyèlman, kenbe papye a nan men dwat ou, ak men gòch ale tou dwat desann. Ou reprezante nil sou bò gòch la. Koulye a, foto imen nou an se trè ki konsistan. Sa a se aktyèlman ki jan endikasyon travay. Men, si ou ka ekraze yon ti jan nan fason sa a se konsa mwen pa nan fason ou. Anita isit la, jwenn mwen nimewo a 22, men asime yon contrainte nan pa moun ki kenbe moute moso papye, men sa a se yon lis, epi ou sèlman gen Lucas yo kòmanse avèk yo paske li se literalman konsèy la an premye. Sipoze ou tèt ou se yon konsèy, ak pou ou tou gen kapasite nan pwen nan yon bagay. Poukisa ou pa kòmanse nan idantifye nan ekzakteman ki sa Lucas se lonje dwèt nan? Bon, ak kite m 'pwan desizyon sa a soti sou isit la. Jis poutèt a nan diskisyon, kite m 'rale moute yon paj blanch isit la. Ki jan ou fè eple non ou? >> Anita. Okay, Anita. Se pou nou di ne * Anita = Lucas. Bon, nou pa ta dwe rele ou Lucas. Nou ta dwe rele ou an premye. Poukisa se sa a nan reyalite ki konsistan avèk reyalite isit la? Youn nan, premye deja egziste. Premye ki te afekte prezimableman yon kote moute isit la. Ne * an premye, epi li te resevwa lajan yon lis yon jan kanmenm. Mwen pa konnen kijan sa ki te rive. Sa ki te rive anvan klas kòmanse. Sa a te lis lye nan moun yo te kreye. Epi, koulye a nan pwen sa a nan istwa-sa a ki pral nan tout sou Facebook aparamman pita- nan pwen sa a nan istwa a, Anita te inisyalizèd yo dwe egal a an premye, ki pa vle di ke Anita pwen nan Lucas. Olye de sa, li lonje dwèt nan sa li te lonje dwèt nan paske adrès la menm ke sa ki andedan nan 32 Bits Lucas a - 1, 2, 3 - se kounye a tou andedan nan 32 Bits Anita a - 1, 2, 3. Koulye a, jwenn 22. Kouman ou ta ale sou fè sa a? Ki sa ki nan pwen sa a? >> Mèt fè tout sa. Montre mèt fè tout sa, se konsa ale pi devan epi mime li kòm pi byen ou kapab isit la. Bon, bon, e kounye a, w ap lonje dwèt nan-sa ki nan non ou ak 22? Ramon. >> Ramon, se konsa Ramon se kenbe moute 22. Ou te kounye a fè yon chèk. Ramon == 22, e si se konsa, pou egzanp, nou ka retounen vre. Kite m '-pandan y ap mesye sa yo kanpe isit la yon ti jan malabiyman- kite m 'fè yon bagay byen vit tankou bouleen jwenn. Mwen pral ale pi devan epi di (ne * lis, int n). Mwen pral dwe gen dwa tounen ak ou guys. Mwen jis gen nan ekri kèk kòd. Epi, koulye a mwen pral ale pi devan epi fè sa, ne * Anita = lis la. Ak mwen pral ale pi devan epi di pandan y ap (Anita! = Nil). Metafò a isit la a ap vin yon ti kras etann, men pandan y ap (Anita! = Nil), sa m 'vle fè? Mwen bezwen kèk fason pou indican nonb antye relatif la ki Anita ap lonje dwèt nan. Nan tan lontan, lè nou te gen estrikti yo, ki yon ne se, nou te itilize notasyon an dot, epi nou ta di yon bagay tankou anita.n, men pwoblèm nan isit la se ke Anita se pa yon struct se pou chak. Ki sa ki se li? Li se yon konsèy, se konsa reyèlman, si nou ta vle itilize sa dot notasyon- ak sa a se pral gade yon ti kras fè espre skre- nou dwe fè yon bagay tankou ale nan pla men gòch tou sa Anita a ap lonje dwèt nan ak Lè sa a, jwenn jaden an rele n. Anita se yon konsèy, men sa ki * Anita? Ki sa ou jwenn lè ou ale nan sa ki Anita ap lonje dwèt nan? Yon struct, ne yon, ak yon ne rapèl,, te gen yon jaden rele n paske li te, sonje, sa yo jaden 2, pwochen ak n, ke nou te wè yon ti moman Anons sa pibliye depi isit la menm. Aktyèlman imite sa a nan kòd, nou te kapab fè sa a epi di si ((* Anita). N == n), n nan ke mwen kap chèche. Remake yo fonksyon an ki te pase nan nimewo a mwen renmen anpil. Apre sa, mwen ka ale pi devan epi fè yon bagay tankou retounen vre. Lòt Bagay, si sa a pa ka a, sa m 'vle fè? Kouman pou mwen tradui nan Kòd sa Anita fè sa konsa vre entwitivman pa mache nan lis la? Kisa mwen dwe fè moute isit la simule Anita ap pran ki etap a gòch la, ki etap a gòch la? [Repons fèbl elèv] >> Ki sa ki nan sa? [Fèbl repons elèv] Bon, se pa yon lide move, men nan tan lontan an, lè nou te fè sa, nou te fè Anita + + paske yo ta ka ajoute nimewo a 1 a Anita, ki ta tipikman pwen nan pwochen moun nan, tankou Ramon, oswa yon moun nan pwochen l ', oswa pwochen an ba li moun desann liy lan. Men se pa sèlman afè bon isit la paske sa bagay sa a sanble nan memwa? Se pa ke. Nou gen a enfim sa. Li sanble tankou sa a nan memwa, e menm si mwen te trase 1 ak 2 ak 3 pre youn ak lòt, si nou vrèman simulation sa a-ou ka nèg, pandan y ap toujou montre nan moun yo menm, ka kèk nan ou pran yon tounen etap o aza, kèk nan ou yon etap o aza pou pi devan? Dezòd sa a se toujou yon lis lye, men mesye sa yo te kapab nenpòt kote nan memwa, Se konsa Anita + + pa pral nan travay poukisa? Ki sa ki nan nan kote Anita + +? Ki moun ki konnen. Li nan kèk valè ki lòt jis pou k ap pase yo dwe entèrkale nan mitan tout moun sa yo nœuds pa chans paske nou pa ap sèvi ak yon etalaj. Nou resevwa lajan chak nan sa yo nœuds endividyèlman. Oke, si ou nèg ka netwaye nou tounen moute. Kite m 'pwopoze ke olye pou yo Anita + Anita +, nou olye fè vin- byen, poukisa pa n 'al jwenn mèt fè tout sa Anita ap lonje dwèt nan ak Lè sa a, fè. vin apre a? Nan lòt mo, nou ale nan Ramon, ki moun ki nan kenbe nimewo a 22, ak Lè sa a,. pwochen se tankou si Anita ta dwe kopye konsèy bò gòch li. Men, li te pa t 'vle ale pi lwen pase Ramon paske nou te jwenn 22. Men, ki ta ka lide la. Koulye a, sa a se yon dezòd bondye-terib. Onètman, pesonn p'ap janm sonje sa a sentaks, epi konsa Erezman, li la aktyèlman yon ti kras ekspre-oh, ou pa t 'aktyèlman wè sa m' te ekri. Sa a ta gen plis irezistib si ou te kapab. Vwala! Dèyè sèn nan, mwen te rezoud pwoblèm nan fason sa a. Anita, pran ki etap a gòch la, premye, nou ale nan adrès la ki Anita ap lonje dwèt nan ak ki kote li pral jwenn pa sèlman n, ki nou jis tcheke pou dedomajman pou konparezon a, men ou ap jwenn tou pwochen - nan ka sa a, Bò gòch Ramon nan lonje dwèt ne nan pwochen nan lis la. Men sa se dezòd a, Bondye-terib kote mwen refere pi bonè, men li vire soti C pèmèt nou senplifye sa a. Olye pou yo ekri (* Anita), nou ka olye jis ekri Anita-> n, ak li a bagay la egzak menm fonksyonèl, men li la yon anpil plis entwisyon, ak li nan yon anpil plis ki konsistan avèk foto a ke nou ve yo te fè desen tout tan sa a lè l sèvi avèk kèk flèch. Anfen, ki sa nou bezwen fè nan fen pwogram sa a? Genyen yon liy nan kòd chape. Retounen ki sa? Fo, paske si nou jwenn nan tout la pandan ke riban ak Anita se, an reyalite, nil, sa vle di li te ale tout wout la nan fen a nan lis la kote li te lonje dwèt nan-sa ki nan non ou ankò? Bò gòch Ari. >> Ari a, ki se nil. Anita se kounye a nil, e mwen reyalize w ap sèlman kanpe isit la malabiyman nan suspann paske mwen pral koupe sou yon monològ isit la, men nou pwal enplike ou ankò nan jis moman yon. Anita se nil nan pwen sa a nan istwa a, se konsa riban a pandan y ap mete fen, e nou gen retounen fo paske si li te gen tout wout la konsèy nil Ari a Lè sa a, pa te gen okenn nimewo ke li t'ap chache nan lis la. Nou ka netwaye sa a leve twò, men sa a se yon aplikasyon trè bon Lè sa a, nan yon fonksyon parcourt, yon jwenn fonksyon pou yon lis lye. Li nan toujou rechèch lineyè, men se pa kòm senp tankou + + yon konsèy oswa + + yon varyab mwen paske kounye a nou pa ka devine kote chak nan sa yo nœuds yo nan memwa. Nou dwe literalman swiv Trail la nan pen oswa, plis espesyalman, endikasyon, yo ka resevwa soti nan yon ne nan yon lòt. Koulye a, kite nan eseye yon lòt. Anita, ou vle tounen isit la? Poukisa nou pa nou ale pi devan yo e pou alwe yon lòt moun nan odyans la? Malok-sa ​​ki nan non ou? >> Rebecca. Rebecca. Rebecca ki te malloced soti nan odyans la, epi li se kounye a estoke nimewo a 55. Ak objektif la nan men kounye a se pou Anita insert Rebecca nan lis la lye isit la nan plas ki apwopriye li yo. Vini non sou plis pase isit la pou yon moman. Mwen te fè yon bagay tankou sa a. Mwen te fè ne *. Ak sa ki nan non ou ankò? Rebecca. >> Rebecca, oke. Rebecca vin malok (sizof (ne)). Jis tankou nou te resevwa lajan bagay sa yo tankou elèv ak etajèr nan sot pase a, nou bezwen gwosè a nan ne an, pou kounye a Rebecca se montre nan ki sa? Rebecca gen de jaden andedan nan li, youn nan ki se 55. Se pou nou fè sa, Rebeka-> = 55. Men, Lè sa a, Rebeka-> pwochen yo ta dwe-renmen kounye a, men l 'se kalite moun ki konnen? Li nan lonje dwèt nan kèk valè fatra, konsa poukisa pa fè sa pou mezire bon nou omwen fè sa pou ke men gòch se kounye a nan bò kote l '. Koulye a, Anita, pran li soti isit la. Ou gen Rebecca ke nou fin resevwa lajan. Ale pi devan epi jwenn ki kote nou ta dwe mete Rebecca. Bon, bon nèt. Okay, bon, e kounye a, nou bezwen ou bay yon ti jan nan direksyon, konsa ou te rive nan Ari. Pla men gòch li se nil, men Rebeka klèman ki dwe sou bò dwat la, Se konsa, kouman nou dwe chanje nan lis sa a lye yo nan lòd yo insert Rebecca nan plas ki apwopriye a? Si ou te kapab literalman deplase men gòch moun nan alantou jan sa nesesè, nou pral ranje pwoblèm nan ki fason. Okay, bon, ak pandan se tan, men gòch Rebecca a se kounye a bò kote l '. Sa ki te twò fasil. Ann eseye allocation-we're prèske fè a, 20. Okay, rive sou yo. 20 ki te afekte, se konsa, kite m 'ale pi devan epi repete nou sa ankò isit la nou te jis fè Saad * ne. Nou gen malok (sizof (ne)). Nou Lè sa a, fè menm bagay sentaks an egzak kòm nou te fè anvan pou 20, epi mwen pral fè apre = nil, epi kounye a li a jiska Anita insert ou nan lis la lye, si ou kapab jwe ki egzak wòl menm. Egzekite. Okay, bon. Koulye a panse ak anpil atansyon anvan ou kòmanse deplase men gòch alantou. Ou pa lwen te resevwa yon wòl pi gòch jodi a. Yo ta dwe ki gen men ka brannen an premye? Oke, rete tann, mwen tande kèk nan pa gen okenn. Si kèk jan ta politès renmen ede rezoud yon sitiyasyon gòch isit la. Yo ta dwe bò gòch ki moun mete ajou premye petèt? Yeah. [Elèv] a Saad. Okay, nan Saad, poukisa, menm si? [Fèbl repons elèv] Bon, paske si nou demenaje-sa ki nan non ou? >> Marshall. Marshall, si nou demenaje men l 'premye desann nan nil, kounye a nou te literalman òfelen kat moun ki nan lis sa a paske li te bagay la sèlman lonje dwèt nan Ramon ak tout moun sou bò goch la, konsa mete ajou ki konsèy premye te move. Se pou nou defèt sa. Bon, e kounye a, ale pi devan epi deplase ki apwopriye bò gòch montre nan Ramon. Sa a santi l yon estasyon sifas ti kras. Koulye a, gen nan de moun lonje dwèt nan Ramon, men sa a amann paske kounye a kijan lòt bagay nou mete ajou lis la? Ki lòt men gen pou avanse pou pi? Ekselan, kounye a gen nou pèdi nenpòt memwa? Non, tèlman bon, se pou yo wè si nou pa ka kraze sa a yon fwa plis. Mallocing yon dènye tan, nimewo 5. Tout wout la nan do, vini sou desann. Li trè eksitan. [Aplodisman] Ki sa ki nan non ou? >> Ron. Ron, oke, ou ap malloced kòm nimewo 5. Nou te jis ekzekite kòd ki nan prèske ki idantik ak sa yo ak jis non yon diferan. Ekselan. Koulye a, Anita, bon chans yo mete nimewo 5 nan lis la kounye a. Bon, ak? Excellent, kidonk sa a se reyèlman twazyèm lan nan twa ka total. Nou te gen yon moun nan premye fen a, Rebeka. Nou Lè sa a, te gen yon moun nan mitan yo. Koulye a, nou gen yon moun nan kòmansman an, ak nan egzanp sa a, kounye a nou te gen nan mete ajou Lucas la pou premye fwa paske eleman nan premye nan lis la kounye a gen nan pwen nan yon ne nouvo, ki, nan vire, se lonje dwèt nan nimewo ne 9. Sa a te yon demonstrasyon lajman gòch, mwen asire w, Se konsa yon wonn gwo aplodisman pou mesye sa yo si ou te kapab. Joliman fè. Sa a tout. Ou kapab konsève moso ou nan papye kòm yon memwa ti kras. Li sanble ke fè sa nan kòd se pa byen tankou senp kòm jis deplase men alantou epi montre endikasyon nan bagay diferan. Men, reyalize ke lè li rive tan aplike yon bagay tankou yon lis lye oswa yon Variant nan li si ou konsantre sou reyèlman sa yo fondamantal debaz yo, pwoblèm yo mòde-gwosè mwen gen figi soti, se li sa a men nan lamen oubyen men sa a, reyalize ke sa ki otreman yon pwogram san patipri konplèks kapab, an reyalite, ap redwi a blòk san patipri senp bilding tankou sa a. Kite a pran bagay sa yo nan yon direksyon ki pi plis sofistike toujou. Nou kounye a gen nosyon de lis la lye. Nou genyen tou-gras a sijesyon an tounen laba a ankò-yon lis doubl lye, ki sanble prèske menm bagay la, men kounye a nou gen de pwent andedan struct la olye pou yo yon sèl, ak pwobableman nou te ka rele moun ki endikasyon anvan ak pwochen oswa agoch ​​oswa adwat, men nou, an reyalite, bezwen de nan yo. Kòd la ta dwe yon ti kras pi plis enplike nan sa. Anita ta yo te oblije fè plis travay isit la sou sèn nan. Men, nou te ka sètènman aplike ki kalite estrikti. An tèm de kouri tan, menm si, sa ki ta tan an kouri pou Anita pou jwenn yon n nimewo nan yon lis lye kounye a? Toujou gwo O nan n, Se konsa li pa pi bon pase rechèch lineyè. Nou pa ka fè binè rechèch, menm si, ankò. Poukisa yo te ka sa a la? Ou pa ka sote alantou. Menm si nou evidamman wè tout moun yo sou sèn lan, ak Anita te kapab eyeballed li epi li te di, "Isit la se nan mitan lis la," li pa t konnen ke si li te pwogram nan òdinatè paske bagay la sèlman li te gen nan Obtenir sou nan kòmansman an de scénario an te te Lucas, ki moun ki te konsèy la an premye. Li ta nesesèman gen yo swiv sa yo lyen yo, konte fason li jouk lè li te jwenn apeprè mitan pou mitan, e menm si sa, li pa a pral konnen ki lè li te rive nan mitan an sof si li ale tout wout la nan fen a figi konnen kouman ou anpil, gen, Lè sa a, backtracks, e ke twò ta difisil sof si ou te gen yon lis doubl lye nan kèk sòt. Kouman pou Rezoud kèk pwoblèm jodi a, men entwodwi lòt moun. Ki sa ki sou yon estrikti done diferan tout ansanm? Sa a se yon foto nan plato ki anba po yo nan Mather House, ak nan ka sa a, nou gen yon estrikti done nou te tou kalite te deja ap pale de. Nou te pale de yon pil nan yon kontèks memwa, Epi sa a, sòt de fè espre rele paske yon pil nan kondisyon ki nan memwa se efektivman yon estrikti done ki gen bagay pi plis ak plis prezante an kouch sou tèt li. Men, bagay la enteresan sou yon pil, kòm se ka a an reyalite, se ke li nan yon kalite espesyal nan estrikti done. Li se yon estrikti done kote eleman nan premye nan se eleman nan dènye deyò. Si ou se plato a premye yo dwe mete sou chemine a, w ap ale nan dwe malerezman plato an dènye li dwe te pran nan chemine a, epi ki pa nan nesesèman yon bon bagay. Kontrèman, ou ka reflechi sou li nan lòt fason alantou, dènye a nan se deyò a an premye. Koulye a, nenpòt senaryo vin nan lide kote ki gen yon pil estrikti done kote ou gen ke pwopriyete nan dènye a nan, soti premye, se aktyèlman irezistib? Se ke yon bon bagay? Se ke yon move bagay? Li definitivman yon move bagay si plato yo te pa tout idantik ak yo tout te espesyal koulè diferan oswa etajèr, ak koulè a ​​ou vle se tout wout la nan pati anba nan. Natirèlman, ou pa kapab jwenn ki san efò gwo. Ou gen yo kòmanse nan tèt la ak travay fason ou desann. Menm jan an, ki sa si ou te youn nan sa yo ti gason fanatik ki tann moute tout nwit lan ap eseye jwenn yon iPhone ak liy moute nan yon kote ki tankou sa a? Pa ta bon pou li si Apple magazen an yo te yon estrikti done chemine? Ye? Non? Li nan sèlman bon pou moun sa yo ki montre moute nan dènye minit te posib ak Lè sa a, jwenn rache nat la. Ak an reyalite, reyalite a ke mwen te tèlman enkline yo di nat se aktyèlman ki konsistan avèk ki sa nou ta rele sa a jan de done estrikti, yon sèl nan reyalite kote lòd la fè matyè, epi ou vle youn nan premye nan yo dwe youn nan premye soti si sèlman pou poutèt a nan etidye ekite Règleman imen. Nou pral jeneralman rele ke yon estrikti done nat. Li vire soti san konte lye lis, nou kapab kòmanse lè l sèvi avèk sa yo menm lide debaz ak kòmanse kreye kalite nouvo ak diferan nan solisyon a pwoblèm yo. Pou egzanp, nan ka a nan yon pil, nou te ka reprezante yon pil lè l sèvi avèk yon estrikti done tankou sa a, mwen ta pwopoze. Nan ka sa a, mwen te deklare yon struct, epi mwen te di andedan nan estrikti sa a se yon etalaj de chif ak Lè sa a, yon varyab gwosè rele, e mwen pral yo rele bagay sa a yon pil. Koulye a, poukisa sa a aktyèlman ap travay? Nan ka yon pil, mwen te kapab desine sa a efektivman sou ekran an kòm yon etalaj. Isit la se chemine m 'yo. Moun sa yo se nimewo m 'yo. Epitou, n ap trase yo tankou sa a, sa a, sa a, sa a, sa a. Lè sa a, mwen gen kèk manm lòt done isit la, ki te rele gwosè, kidonk sa a se gwosè, e sa se nonb, ak kolektivman, iPad a tout antye isit la reprezante youn estrikti chemine. Koulye a, pa default, gwosè li te prezimableman te resevwa yo dwe inisyalizèd a 0, epi ki sa ki andedan nan etalaj la nan nimewo okòmansman lè m 'premye asiyen yon etalaj? Fatra. Ki moun ki konnen? E li pa aktyèlman gen pwoblèm. Li pa enpòtan si sa a se 1, 2, 3, 4, 5, konplètman owaza pa move chans ki estoke nan estrikti mwen paske toutotan mwen konnen ke gwosè a nan chemine a se 0, lè sa a mwen konnen programatik, pa gade nan nenpòt ki nan eleman yo nan etalaj la. Li pa enpòtan sa ki nan la. pa gade yo, kòm ta dwe enplikasyon la ki gen yon gwosè ki 0. Men, si koulye a, mwen ale pi devan epi insert yon bagay nan chemine a. Mwen vle insert nimewo a 5, Se konsa, mwen mete nimewo 5 isit la, ak Lè sa a, sa m 'mete desann isit la? Koulye a, mwen ta aktyèlman mete desann 1 pou gwosè a, e kounye a, chemine a se nan gwosè 1. E si mwen ale pi devan epi insert nimewo a, se pou yo di, 7 kap vini? Sa a Lè sa a, vin mete ajou nan 2, ak Lè sa a, n ap fè 9, ak Lè sa a, sa a vin mete ajou nan 3. Men, karakteristik nan enteresan kounye a sa a chemine se ke Mwen sipoze retire ki eleman si mwen vle pòp yon bagay koupe nan chemine a, se konsa pale? 9 ta dwe premye bagay la yo ale. Ki jan yo ta dwe foto a chanje si mwen vle pòp yon eleman nan chemine a, anpil tankou yon plato nan Mather? Yeah. >> [Elèv] gwosè Set a 2. Egzakteman, tout mwen fè se mete gwosè a 2, e ki sa m 'fè ak etalaj la? Mwen pa bezwen fè anyen. Mwen te kapab, jis yo dwe nan dèyè, mete yon 0 gen oswa yon -1 oswa yon bagay yo siyifi ke sa a se pa yon valè legi, men li pa gen pwoblèm paske Mwen ka dosye deyò nan etalaj la li menm konbyen tan li se pou m 'konnen sèlman gade nan de eleman yo an premye nan sa a etalaj. Koulye a, si m 'ale epi ajoute nimewo a 8 a sa a etalaj, ki jan foto a chanje apre? Sa a vin tounen 8, ak sa a vin tounen 3. Mwen koupe yon kwen kèk isit la. Koulye a, nou gen 5, 7, 8, ak nou ap tounen nan yon gwosè nan 3. Sa a se trè senp aplike, Men, lè nou pral regrèt desizyon sa a konsepsyon? Lè bagay sa yo kòmanse ale trè, trè mal? Yeah. [Fèbl repons elèv] Lè ou vle ale tounen epi pou yo jwenn eleman nan premye ou mete pous Li vire soti isit la menm si yon pil se yon etalaj anba kapo machin lan, estrikti sa yo done nou te kòmanse te kòmanse pale sou yo tou jeneralman li te ye tankou estrikti done abstrè kote ki jan yo ap aplike se konplètman san konte pwen an. Se yon estrikti done tankou yon pil sipoze ajoute sipò operasyon tankou pouse, ki ta pouse yon plato sou chemine a, ak pòp, ki retire yon eleman nan chemine a, epi ki nan li. Si ou te telechaje kòd yon lòt moun nan ki te deja aplike bagay sa yo rele yon pil, ta ke moun yo te ekri sèlman de fonksyon pou ou, pouse ak pòp, ki sèl objektif nan lavi ta dwe fè egzakteman sa. Ou menm oswa l 'oswa li ki aplike pwogram sa a ta gen antyèman yon sèl la dwe deside kijan pou aplike semantik yo nan pouse ak eklate anba kapo a oswa fonctionnalités de pouse ak eklate. Apre sa, mwen te fè yon desizyon yon ti jan lwen isit la pa mete ann aplikasyon chemine mwen an avèk estrikti sa a done ki senp poukisa? Lè sa a repo estrikti done? Nan ki moman mwen gen retounen yon erè lè itilizatè a mande pouse, pou egzanp? [Elèv] Si gen nan pa gen espas plis. Egzakteman, si gen nan pa gen okenn espas pi plis, si mwen te depase kapasite, ki se tout kapsil paske li sijere ke li nan kèk kalite konstan mondyal. Oke, Lè sa a, mwen jis pral fè yo di, "Nou regrèt sa, mwen pa ka pouse yon lòt valè sou chemine a, "anpil renmen nan Mather. Nan kèk pwen, yo pwal santi yo frape pati nan tèt ki kabinè ti kras. Gen nan pa gen espas plis oswa kapasite nan chemine a, nan ki pwen gen nan kèk kalite nan erè a. Yo gen yo mete eleman an yon lòt kote, plato a yon lòt kote, oswa okenn kote nan tout. Koulye a, ak yon nat, nou te ka aplike li yon ti jan diferan. Yon nat se yon ti kras diferan nan ki anba kapo machin lan, li kapab aplike kòm yon etalaj, men poukisa, nan ka sa a, mwen pwopoze gen tou yon eleman tèt ki reprezante tèt la nan lis la, devan nan lis la, premye moun ki nan liy nan boutik Apple a, nan adisyon a gwosè? Poukisa mwen bezwen yon pyès adisyonèl nan done isit la? Panse tounen nan sa ki nimewo se si mwen te trase li jan sa a. Sipoze sa a se kounye a yon nat olye pou yo yon pil, diferans lan ke yo te-jis tankou magazen nat la-Apple se san patipri. Moun nan premye nan liy nan kòmansman lis la, nimewo 5 nan ka sa a, li oswa li yo pral kite nan premye magazen an. Se pou nou fè sa. Sipoze ke sa a se eta a nan nat mwen nan moman sa a nan tan, e kounye a, magazen an Apple ouvè epi li se premye moun ki, nimewo 5, ki ap dirije nan magazen an. Kouman pou mwen chanje foto a kounye a ke mwen te de-atant moun nan premye nan devan nan liy a? Ki sa ki nan sa? >> [Elèv] Chanje nat la. Chanje tèt la, se konsa 5 disparèt. An reyalite, li nan tankou si-ki jan pi bon yo fè sa? An reyalite, li nan tankou si sa a Guy disparèt. Ki sa ki ta nimewo 7 fè nan yon magazen reyèl? Yo ta pran yon gwo etap pou pi devan. Men, sa ki te nou rive nan apresye lè li rive ranje epi deplase bagay sa yo nan jiwon l? Sa a kalite yon fatra nan tan ou, dwa? Poukisa ou ta dwe fèt konsa nan dèyè kòm yo gen moun nan premye nan kòmansman liy lan nan fizikman nan kòmansman an nan moso nan memwa? Sa a se konplètman nesesè. Poukisa? Kisa ki ta kapab mwen jis sonje olye? >> [Fèbl repons elèv] Egzakteman, mwen te kapab jis sonje ak sa-a tèt adisyonèl done manm ki kounye a tèt la nan lis la se pa 0, ki li te yon ti moman de sa. Kounye a li nan aktyèlman nimewo a 1. Nan fason sa a, mwen jwenn yon Optimization ti tay. Jis paske mwen te de-atant yon moun nan liy nan kòmansman liy lan nan Apple magazen an sa pa vle di tout moun gen chanjman, ki rantre se yon operasyon lineyè. Mwen ka olye depanse konstan tan sèlman epi reyalize Lè sa a, yon repons pi vit. Men, pri a mwen peye se sa ki jwenn ke pèfòmans adisyonèl epi yo pa gen chanjman tout moun? Yeah. >> [Fèbl repons elèv] Ka ajoute plis moun, byen, ki pwoblèm se orthogonal lefèt ke nou pa déplacement moun alantou. Li nan toujou yon etalaj, se konsa si ou pa nou chanje tout moun oswa ou pa- oh, mwen wè sa ou vle di, oke. Aktyèlman, mwen dakò ak sa w di a nan ke li nan prèske tankou si kounye a nou ap pa janm pwal itilize nan kòmansman an nan sa a etalaj ankò paske si mwen retire 5, Lè sa a, mwen retire 7. Men, mwen sèlman mete moun a dwat la. Li santi l tankou mwen gaspiye espas, ak evantyèlman nat mwen dezentègr nan pa gen anyen nan tout, pou nou te kapab jis gen moun antourant, ak nou te ka panse a sa a etalaj vrèman kòm kèk kalite estrikti sikilè, men nou itilize sa operatè nan C rive fè sa sòt de antourant? [Fèbl repons elèv] >> operatè a modulo. Li ta dwe yon ti kras anmèdan yo panse nan fason ou fè antourant a, men nou te ka fè l ', epi nou te kapab kòmanse mete moun ki nan sa ki itilize yo dwe devan nan liy nan, men nou jis sonje ak sa a varyab tèt ki tèt aktyèl la nan liy lan aktyèlman se. E si, olye de sa, objektif nou finalman, menm si, te yo gade jiska chif, tankou nou te fè isit la sou sèn ak Anita, men nou vle reyèlman pi bon nan tout mond sa yo? Nou vle plis bagay konplike pase etalaj pèmèt paske nou vle kapasite nan dynamique grandi estrikti nan done. Men, nou pa vle gen Resort a yon bagay ke nou vize deyò nan konferans lan premye pa te yon algorithm optimal, sa yo ki an rechèch lineyè. Li sanble ke ou kapab, an reyalite, reyalize oswa omwen pre tan konstan, annakò ak sa yon moun tankou Anita, si li configured estrikti done li pa gen yon lis lye, pa yo dwe yon pil, pa gen yon nat, te kapab, an reyalite, vini ak yon estrikti done ki pèmèt li yo gade jiska bagay sa yo, menm mo, pa sèlman chif, nan ki sa nou ap rele konstan tan. Ak an reyalite, gade devan, yonn nan psets yo ki nan klas sa a se preske toujou yon aplikasyon de yon spellchecker, annakò ak sa nou ba ou ankò kèk 150,000 mo angle ak objektif yo se yo chaje sa yo nan memwa ak byen vit kapab reponn kesyon nan fòm sa a se mo eple kòrèkteman? Epi li ta reyèlman souse si ou te repekte nan 150,000 tout pawòl reponn sa. Men, an reyalite, nou pral wè ke nou kapab fè li nan tan trè, trè rapid. Ak li a pral enplike mete ann aplikasyon yon bagay yo rele yon tab regle, e menm si nan zye premye bagay sa yo rele yon tab regle ki pral se pou nou reyalize tout travay sa super fwa repons rapid, li vire soti ki di ke gen an reyalite yon pwoblèm. Lè li rive tan aplike bagay sa yo rele-ankò, mwen fè l 'ankò. Mwen yon sèl la sèlman isit la. Lè li rive tan nan aplikasyon bagay sa yo rele yon tab regle, nou ap pral fè yo pran yon desizyon. Kòman gwo ta dwe bagay sa a aktyèlman ap? Men, lè nou kòmanse mete nimewo nan tablo sa a regle, ki jan nou pral estoke yo nan yon fason ke nou kapab jwenn yo tounen soti kòm byen vit ke nou te resevwa yo nan? Men, nou pral wè anvan lontan ke kesyon sa a nan lè anivèsè nesans tout moun a se nan klas la pral dwe byen alye. Li sanble ke nan sal sa a, nou te gen moun yon kèk santèn, se konsa chans yo ke de nan nou gen menm jou fèt se pwobableman trè wo. E si te gen sèlman 40 nan nou nan sal sa a? Ki sa ki chans yo nan de moun ki gen anivèsè nesans la menm? [Elèv yo] Plis pase 50%. Yeah, plis pase 50%. Anfèt, mwen menm te pote yon tablo. Li vire soti-yo ak sa a se reyèlman jis yon glisman preview- si gen nan sèlman 58 nan nou nan sal sa a, pwobabilite a 2 nan nou gen anivèsè nesans la menm se lajman segondè, prèske 100%, Epi sa a, ale nan lakòz yon pakèt antye nan fè mal pou nou nan Mèkredi. Avèk ki t'ap di:, kite la ajoune isit la. Nou pral wè ou nan Mèkredi. [Aplodisman] [CS50.TV]