[Jwe mizik] DAVID J. Malan: Tout dwa. Sa a se CS50, ak sa a se nan fen Semèn Kat. Ak youn nan sijè yo jodi a se ke nan forensics dijital, atizay la nan rekipere enfòmasyon. Ak tout bon, menm si w ap nan mitan an kounye a pou lapè nan Three ak pti, semèn pwochen, konsantre la ap sou jisteman domèn sa a. Se konsa, youn nan travay yo koul mwen janm te gen te tounen nan lekòl gradye, lè mwen te ap travay pou lokal la Middlesex County District Attorney a nan biwo a, fè forensics travay. Se konsa, esansyèlman, Massachusetts la Lapolis Eta a, sou okazyon, lè w ap travay sou ka ta pote nan bagay sa yo tankou kondui difisil ak disk lèkter ak kat memwa ak renmen an. Apre sa, yo ta lage yo m 'ak konseye m' yo, ak objektif nou te jwenn prèv, si te gen nenpòt, sou medya sa yo. Koulye a, ou ta ka gen pou wè m'apèrsu nan mond sa a nan forensics nan medya, televizyon an ak sinema. Men, travay la mwen te gen, ak daresay ke mond, se pa byen tankou ou ta wè li. Ann pran yon gade nan ki sa ou te pwobableman wè. [Lèktur VIDEO] -OK. Koulye a, kite a jwenn yon gade bon nan ou. [Jwe mizik] -Hold Li. Kouri ki tounen. -Wait Yon minit. Ale dwat. -Gen. Glase sa. -Tout-Ekran. -OK. Glase sa. -Tighten Moute sou sa a, èske ou? -Vector Nan sou ki nèg pa volan an tounen. -Zoom Nan dwa isit la sou plas sa a. -Avèk Ekipman nan dwa, nan ka imaj ap elaji, egwize. -Ki Nan sa? -Li Nan yon pwogram amelyorasyon. -Ka Ou klè ke moute nenpòt? -Mwen Pa konnen. Se pou yo amelyore li. -Enhance Seksyon A6. Mwen ranfòse detay a, and-- -Mwen Panse ke gen nan ase yo amelyore. Lage li nan ekran mwen. -Mwen Ranfòse refleksyon an nan je l '. -Ann Kouri sa a nan videyo amelyorasyon. -Edgar, Ou ka amelyore sa a? -Hang Sou. -I've Te ap travay sou refleksyon sa a. Refleksyon yon moun -Gen a la. -Reflection. -Gen Nan yon refleksyon nan figi nonm lan. Anpalan de refleksyon! -Gen Nan yon refleksyon. -Zoom Nan sou glas la. Ou ka wè yon refleksyon. -Ka Ou amelyore imaj la soti isit la? -Ka Ou amelyore li? -Ka Ou amelyore li? -Ka Nou amelyore sa a? -Ka Ou amelyore li? -Hold Sou yon dezyèm fwa. Mwen pral amelyore. -Zoom Nan sou pòt la. -Times 10. -Zoom. -Move Nan. -More. -Wait, Sispann. -Stop. -Pause Li. -Rotate Nou 75 degre alantou vètikal la, tanpri. -Stop. Tounen nan pati a sou pòt la ankò. -Got Yon aktivateur imaj ki ka Bitmap? -Maybe Nou ka sèvi ak Pradeep Singh a metòd yo wè nan fenèt la. Lojisyèl -La se leta nan atizay la. Anpalan de eigenvalue se koupe. -Avèk Dwa pou konbinezon de algoritm Pran lumières -Li a algoritm nan yon nivo pwochen, e mwen ka sèvi ak yo nan amelyore foto sa a. -Lock Sou yo ak sou elaji aks-z. -Enhance. Amelyore. -Enhance. -Freeze Ak amelyore. [Lèktur videyo END] DAVID J. Malan: Se konsa, sa yo se tout mo yo, men yo pa t ' yo itilize nan fraz kòrèkteman. Ak tout bon nan tan kap vini an, nenpòt ki lè, tanpri, ou tande yon moun di yon mo, "Amelyore," glousman jis yon ti jan ti kras. Paske lè w ap eseye amelyore, pou egzanp, sa a se sa ki rive. Se konsa, isit la nan yon foto supèrb. Sa a se pwòp Daven CS50 la. Ak ta kwè ke nou te vle konsantre nan sou Twinkle ki nan je l 'yo, oswa refleksyon an nan la move nèg ki te klèman kaptire pa kamera a sekirite. Sa a se sa ki pase lè ou rale nan sou yon imaj ki la gen sèlman yon kantite limite nan Bits asosye ak li. Se pou sa ke ou ta jwenn. Ak tout bon, nan je Daven a se men kat, petèt sis piksèl ki konpoze ekzakteman ki sa te ekla la. Se konsa, Set Pwoblèm Kat pral finalman gen ou eksplore mond sa a, patikilyèman pa nati nan yon bagay nou rele dosye mwen / O, kote mwen / O se jis yon fason anpenpan nan li di opinyon ak pwodiksyon. Se konsa, konsa byen lwen, nan tout entèraksyon yo nou te gen ak yon òdinatè yo te lajman ak ou klavye ak ekran an, men pa tèlman ak ki gen kapasite a difisil, oswa ekonomize nan dosye pi lwen pase sa yo ou tèt ou ekri. Pwogram ou konsa byen lwen gen pa te kreye, ak ekonomize, ak jour dosye pwòp yo. Oke, sa ki nan yon dosye? Oke, yon bagay tankou yon JPEG. Sa a se yon imaj ou ta ka gen oswa Upload Facebook, oswa wè nenpòt kote sou entènèt la. Vreman vre, ki foto nou jis te wè nan Daven te yon JPEG. Ak sa ki nan enteresan sou dosye tankou JPEGs se yo ke yo kapab idantifye, tipikman, pa sèten modèl nan miyèt moso. Nan lòt mo, ki sa ki li ki fè distenksyon yon JPEG ki sòti nan yon GIF ki sòti nan yon PING ki sòti nan yon mo dokiman ki soti nan yon dosye Excel? Oke, li nan jis diferan modèl nan miyèt moso. Ak moun ki modèl diferan yo anjeneral nan kòmansman an nan sa yo dosye. Se konsa, ki lè òdinatè w lan ouvè yon Pawòl doc, oswa lè yon òdinatè ouvè yon JPEG, li sanble tipikman nan la premye Bits plizyè nan dosye a. Men, si li rekonèt yon modèl, li di, oh, sa a se yon imaj. Kite m 'montre li nan itilizatè a kòm yon grafik. Oswa, oh, sa a sanble yon doc Pawòl. Kite m 'montre li nan itilizatè a kòm yon redaksyon. Se konsa, pou egzanp, JPEGs, li vire soti, yo se san patipri sofistike anba kapo a. Men, anvan twa bytes yo nan pi fò chak JPEG kòmanse ak twa nimewo sa yo. Se konsa, multiple zewo, yon sèl, ak de yo se, nan pi chak JPEG, 255, Lè sa a, nimewo a 216, Lè sa a, nimewo a 255. Ak sa ki ou pral kapab kòmanse fè semèn pwochèn se aktyèlman poking anba kapo a nan dosye tankou JPEGs ak renmen dosye bitmap, li wè sa k te toujou gen pou osi lontan jan ou ve yo te lè l sèvi avèk yon òdinatè. Men, sa ki nan pa gen tipikman ekri tankou nimewo desimal tankou sa a. Syantis konpitè pa fè sa yo gen tandans pale nan desimal. Yo pa reyèlman pale nan binè. Tipikman, lè nou vle yo eksprime nimewo, nou aktyèlman itilize ekzadesimal, ki ou ka sonje soti nan, di, Set Pwoblèm Yon sèl, ki defye ou bezwen panse osijè de yon sistèm diferan. Nou, nan kou, yo abitye ak desimal, zewo atravè nèf. Nou te pale de binè. Epi nou pa vrèman gen yo sèvi ak ke anpil isit la sou deyò, paske òdinatè ap sèvi ak sa. Men, pwogramasyon pral trè souvan, men se pa toujou, itilize ekzadesimal, ki jis vle di ou gen 16 lèt nan alfabè ou, kòm opoze a de oswa 10. Se konsa, kouman ou konte nan pi wo pase nèf nan ekzadesimal? Ou ale 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, jis pa konvansyon. Men, sa ki nan kle a se ke chak nan sa yo se yon senbòl sèl. Pa gen okenn 10. Pa gen okenn 11, se pou chak, paske chak nan chif ou a, jis tankou nan desimal ak jis tankou nan binè, yo ta dwe jis gen yon karaktè sèl, pa konvansyon. Se konsa, ki lè sa a se alfabè a nou gen a jete nou an pou ekzadesimal. Se konsa, sa yon JPEG gade tankou si ou yo te ekri soti moun premye twa bytes pa tankou desimal men, pou egzanp, kòm ekzadesimal? Epi poukisa se Egzagòn menm tout sa ki itil? Oke, yon gade rapid nan yon egzanp. Se konsa, si mwen ekri soti Bits yo ki reprezante sa yo numéros desimal sa a ta kapab yon ti kras wouye kounye a soti nan yon kèk semèn tounen, men se yon sèl la a gòch ak yon sèl dwa yo se trè fasil. 255 te pi gwo nou nan nimewo ka reprezante ak wit miyèt moso. Li te tout moun. Se konsa, yon sèl la sèlman sa a, se léjèrman enteresan an se yon sèl la presegondè. Men, si ou kalite fè soti nan matematik, ou pral enferyè ke, tout bon, ki modèl nan yon sèl ak zewo reprezante 216. Se konsa, kite yo jis ladann pou kounye a ke sa yo, se kòrèk. Men, poukisa se sa a enteresan? Oke, yon multiple, nan kou, se uit miyèt moso. Epi li vire soti ke si ou panse ke nan yon multiple menm jan de fragman nan kat Bits, tankou sa a. Kite m 'jis ajoute kèk espas. Se konsa, anvan, apre yo fin. Mwen te jis te ajoute kèk espas blan pou dedomajman pou vizyalizasyon a isit la. Ki jan nou ta ka kounye a reprezante a, di, ekzadesimal chak kwadwilatè nan Bits, chak mete nan kat Bits? Se konsa, pou egzanp, sou bò gòch la kounye a, nou gen 1111 nan binè. Ki sa ki se ke nimewo nan desimal, si ou fè soti matematik la? Ou gen plas inite yo, plas la Dezan, plas la four, ak kote a eights. ODYANS: 15. DAVID J. Malan: Li nan 15. Se konsa, si nou fè uit plis kat plis de plis yon, nou jwenn 15. Se konsa, mwen ta ka ekri desann 15 anba a 1111, men pwen an antye isit la se ekzadesimal, pa desimal. Se konsa, olye pou yo ekri desann 15, 1-5, Mwen pral ekri ke nan Egzagòn, ki si ou panse tounen, si ou gen zewo nan f, ki sa ki 15 pral fè? ODYANS: f. DAVID J. Malan: Se konsa, li vire soti li nan f. Epi ou ka travay ki soti lè li di, byen, si yon se 10, Lè sa a, OK, f se 15. Se konsa, tout bon, nou te ka reyekri seri sa a menm nan nimewo kòm f f. Lè sa a, si nou fè yon ti jan nan matematik, nou pral enferyè ki sa a, se d. Uit se trè fasil, paske nou gen yon sèl nan plas la eights. Lè sa a,, nou gen yon koup plis f f a. Se konsa, sa moun yo gen tandans fè pa konvansyon lè yo sèvi ak ekzadesimal se yo jis ekri sa a yon ti kras plis suksen, debarase m de pi fò nan ki espas blan. Ak jis yo dwe Super klè nan lektè ke sa a se ekzadesimal, konvansyon an senp nan mitan moun ki ou ekri zewo x, ki pa gen okenn siyifikasyon lòt pase yon idantifyan vizyèl nan, isit la vini yon nimewo Egzagòn. Lè sa a,, ou mete de chif yo, f f nan ka sa a, lè sa a d yon, lè sa a f f. Se konsa, istwa long kout, ekzadesimal jis gen tandans a ap itil paske chak nan li yo chif, zewo nan f, parfe liy moute ak yon modèl nan kat miyèt moso. Se konsa, si ou gen de chif ekzadesimal, zewo jiska F, ankò e ankò, ki ba ou parfe uit Bits oswa yon sèl multiple. Se konsa, Se poutèt sa li gen tandans gen konvansyonèl itil. Gen nan pa gen entelektyèl kontni reyèlman pi lwen pase sa, lòt pase sèvis piblik aktyèl li yo. Koulye a, JPEGs se pa sèlman nan ranpli fòma pou grafik. Ou ta ka sonje ke gen dosye tankou sa a nan mond lan, omwen ki sòti nan yon kèk ane tounen. Se konsa, sa a te aktyèlman enstale nan Windows XP sou dè milyon de PC yo atravè mond lan. Lè sa a te yon dosye bitmap, BMP. Ak yon dosye bitmap, menm jan ou pral wè pwochen semèn, jis vle di yon modèl nan pwen, piksèl menm jan yo ap rele, yon kat jeyografik sou Bits, vrèman. Se konsa, sa ki nan enteresan, menm si, sou fòma dosye sa a, BMP, se ki anba kapo a, li gen plis pase jis twa bytes ki konpoze header li, se konsa yo pale, premye mòde yo kèk. Li aktyèlman sanble yon ti kras konplike nan premye gade. Epi ou pral wè sa a nan P ansanm lan. Yo ak pou jwenn yon bagay soti patikilye nan sa a kounye a se pa tèlman enpòtan, kòm jis lefèt ke nan kòmansman an nan chak bitmap dosye, yon fòma grafik, gen nan yon pakèt antye nan nimewo. Koulye a, Microsoft, nan otè a fòma sa a, gen tandans fè rele moun bagay sa yo pa antye ak charaktèr ak cha men pawòl ak d mo yo ak lon ak bytes. Se konsa, yo ap jis kalite done diferan. Yo ap non diferan pou menm bagay la. Men, ou pral wè ke nan P Set Kat. Men, sa a se sèlman yo di ke si yon moun doub-klik kèk dosye BMP sou l ' oswa kondwi difisil l ', ak yon fenèt ouvè moute ki montre l 'oswa li ki imaj, sa ki te rive paske opere nan sistèm prezimableman remake pa sèlman ekstansyon nan dosye BMP nan non an ranpli, men tou, lefèt ke gen nan kèk konvansyon modèl la nan Bits nan kòmansman la anpil nan ki dosye bitmap. Men, kite a kounye a konsantre sou tankou yon dosye konplike, men olye sou yon bagay tankou sa a. Sipoze isit la nan jdi, mwen jis gen kòmanse yo nan yon pwogram sa a, se trè senp. Mwen te gen kèk gen ladan moute tèt. Koulye a, mwen te gen # enkli "structs.h" men Mwen pral tounen vin jwenn ke nan yon moman. Men, sa a se itil pou kounye a. Se konsa, sa a se yon pwogram ki nan ale nan aplike tankou baz done rejistrè a. Se konsa, yon baz done nan elèv yo, ak chak elèv nan mond lan gen yon non ak yon kay ak pwobableman kèk lòt bagay, men nou pral kenbe li senp. Chak elèv gen yon non ak yon kay. Se konsa, si mwen te vle ekri yon pwogram ki gen objektif nan lavi te jis repekte soti nan zewo sou jiska twa, si gen nan twa elèv nan Inivèsite Harvard. Apre sa, mwen jis vle jwenn, lè l sèvi avèk GetString, Non chak elèv an ak kay, ak Lè sa a jis enprime moun soti. Sa a se sòt de tankou Semèn Youn, Semèn De bagay kounye a, kote mwen jis vle yon pou riban oswa yon bagay tankou sa. Apre sa, mwen vle rele GetString yon kèk fwa, ak Lè sa a, ekri ak lèt ​​detache f yon fwa kèk. Se konsa, kouman ka mwen fè sa, menm si, lè tou de yon non ak yon kay ap patisipe pou chak elèv? Se konsa, premye ensten mwen ta ka gen fè yon bagay tankou sa a. Mwen ta ka premye di, byen, ban m ', di, yon etalaj de strings rele non. Apre sa, mwen pa vle yon hardcode twa isit la. Ki sa mwen vle mete ladan l '? Se konsa, ELÈV, paske sa se sèlman yon konstan te deklare nan tèt la, jis pou mwen pa oblije hardcode twa nan plizyè kote. Fason sa a, mwen ka chanje li yon sèl kote, epi li afekte yon chanjman toupatou. Lè sa a,, mwen ta ka fè fisèl kay ELÈV. Epi, koulye a, mwen ta ka fè yon bagay tankou pou (Int mwen = 0; mwen