[MIZIK jwe] Andi Peng: Sa a se CS50, ak Byenveni nan semèn de nan seksyon. Sa a se aktyèlman pandan y ap semèn de nan class-- nou an aktyèlman, premye semèn nan nou te gen seksyon. Montre nan men, ki jan anpil nan nou tout rive super seksyon semèn pase a? OK, sa a, se OK. Se byen. Konbyen nan ou ap gade super seksyon semèn pase a? OK. Apre sa, ou nèg te fè amann sou pwoblèm mete youn? Se konsa, mwen pral pran li ke nou gen yon pakèt moun sou timoun yo reyèlman entelijan nan klas sa a ak bagay sa yo pral vin amann. OK. Se konsa, first-- Premyèman, nou ap jis pral yon ti tan ale sou ajanda a pou jodi a. Nou pral pale sou lojistik kou. Yon anpil nan pwobableman ou genyen kesyon osijè ki jan bagay kouri nan kou sa a. Nou pral reponn yo. Nou pral yon ti tan ale sou pasan nan ka nenpòt nan ou nèg rate super seksyon. Nou pral pale sou kat ASCII. Nou pral pale sou ranje, fonksyon, liy lòd agiman. Epi finalman, ki sa ou nèg pwobableman tout reyèlman vle yo dwe isit la yo aprann sou, se pset2 ou yo. Nou pral gen kèk ke trik nouvèl bèl yo ak konsèy pou ki jan yo fè sa. OK. Epitou, dezyèmman, nou gen anpil nan sirèt isit la. Nenpòt ki moun ki renmen sirèt, jis vini isit la. Gen tan pwan kèk. Mwen gen yon pakèt moun. Nou gen yon tòn nan biwo an. Mwen pa reyèlman vle yo manje sirèt tout jou. Ou nèg ta dwe manje tout sirèt la, paske mwen pote l 'isit la pou ou guys. Jis manje sirèt. Gen pral sirèt chak seksyon. Se konsa, premye, mwen se mwen menm ki? Non mwen se Andi Peng. Se mwen menm ki tèt la TA nan CS50 isit la nan Yale. Ak nan adisyon a sa, mwen pral tou be-- si yon moun ta kouri ou like-- zanmi, zepòl ou yo kriye sou. Si nwit lan la anvan akòz pset ou a, ou pa gen okenn lide ki sa k ap pase sou li a, frape m 'yo. Nou pral commiserate ansanm, et setra. Jis konnen ke mwen isit la kòm yon resous pou ou kòm liy lan devan nan ede ou nèg konnen ki jan yo rezoud pwoblèm nan CS50 ak apre. Imel mwen se andi.peng@yale.edu. Mwen pral tou voye soti yon moun imèl ak nimewo telefòn mwen nan li se konsa ke se pa tout moun sou mòn lan entènèt ka wè nimewo telefòn mwen. Santi yo lib yo rele m 'nan nenpòt ki lè. Seryezman, telefòn mwen an se anjeneral tache ak men m '. Mwen pa ka reponn ki nan yon minit koup. Mwen pa ka reponn nan yon èdtan koup. Men, mwen ka garanti ou, si ou e-mail m ', si ou rele m', tèks m ', mwen pral reponn nan lespas 24 èdtan. Souvan, mwen pral reponn anvan sa, paske mwen konprann ke tout moun nan te resevwa kèk pwoblèm, epi ou vle repons ou yo dwe reponn trè vit. Sepandan, si ou rele mwen 30 minit anvan ou ki moso ki se akòz Jedi night-- dwe tankou, Andi, ede m ', Mwen pa te started-- m 'ka ba ou ke zepòl yo kriye sou. Men, li ka tan yo reflechi sou ki jan yo pa fè lè sa a kap vini an. OK. Wouch. Kouman pou mwen ale tounen? Gen nou ale. Se konsa, nan kou sa a, nou gen yon tòn nan sipò pou tout moun. Anplis de sa nan jis seksyon isit la, kote ou chak semèn jwenn yo ap depanse 90 bèl bagay minit avè m ', nou gen lè biwo tou. Konbyen nan ou nèg te deja te nan lè biwo pou èd? Great. Sa ki nan vrèman bon yo wè, paske nou gen yon anplwaye nan plis pase 45 TAS ak CAs ki resevwa fòmasyon pou kou sa a ki la a pou ede ou nèg ak psets ou yo. Lendi yo ap fèt nan TEAL la sal klas nan 17 Hill House isit la nan Yale. Madi ak jedi, yo ap fèt nan Commons. 8:00 11:00 bèl anpil chak pandan lasemèn. Vini non nan, soti deyò. Nenpòt pwoblèm, pa gen problem-- jis vini sou nan, ak Lè sa a nou pral ede w soti ak sa. Dezyèmman, nan adisyon a lè biwo ak seksyon, nou gen bout pantalon tou. Èske nenpòt moun ki te janm wè yon koup la nan bout pantalon oswa valktroug nan videyo yo sou sit entènèt la? OK. Se konsa, yo ap reyèlman, reyèlman itil. Pwodiksyon Harvard bèl nou ekip lòt bò a sou lekòl sa a moute nan nò, yo te filme-li ak pwodwi sa yo solisyon videyo enkwayab. Yo pral pran ou etap pa etap nan ki jan yo ale sou rezoud yon pwoblèm. Souvan, si w ap konfonn sou yon konsèp senp, yon konsèp sengilye, pran yon gade, paske nou pwobableman gen yon ti bout tan sou li yon kote sou sit entènèt nou an. Lè li nan anjeneral yon gran resous yo gade pou lè w ap premye pèdi sou ki jan okipe yon pwoblèm. Twazyèmman, nou gen tou study50 ak reference50. Se konsa, etidye 50 sou la sit se jis yon lyen. Li nan, mwen panse, study.cs50.net oswa yon bagay tankou sa. Jis Google li. Nou gen anpil bagay nan glisad prepare. Nou gen anpil bagay nan bout pantalon ak bagay walkthroughs-- tout konpile trè bèl e byen òdone pou ou nèg tout browse nan, wè okenn konsèp ke w ap konfonn sou. Li ta pwobableman dwe kouvri lòt bò a nan study50. Reference50-- menm jan an. Nou gen yon anpil nan divès kalite nòt fasilman disponib pou jete ou. Epi anfen, nou gen sa ki nan rele CS50 Diskite sou, yon fowòm nan ki, si nwit lan la anvan w ap fè pwoblèm ou, di, ou gen yon kesyon. Log in to CS50 Diskite sou. Pòs kesyon ou yo. Lè sa a, youn nan hundreds-- nan petèt, thousands-- nan kamarad klas pran klas sa a sou entènèt ap ouvri sesyon an. E petèt yon moun ka jwenn repons ou anvan yon ka TA. Li nan esansyèlman jis yon sou entènèt fowòm ke nou kapab tout itilize yo diskite sou pwoblèm nou yo. Sa a fre. OK. Se konsa, pwoblèm kouche. Nou ap sou dwa nan la epè nan pwoblèm mete de. Yon anpil nan nou gen deja plede a pwoblèm mete yon sèl. Nou deja konnen ke petèt ap tann pou yè swa nan fè pset ou se pa bagay la intélijant yo dwe fè nan CS50. Konsèy ak konsèy pou esansyèlman siksè yo li espèk a tout antye. Konbyen nan ou te deja li espèk a pou pset 2? OK. Sa se yon kantite lajan solid. Mwen konnen ou nèg te pwobableman gen rekonèt pa kounye a karakteristik yo yo se reyèlman long. Yo ap reyèlman, reyèlman long. Li nan reyèlman difisil yo li chak liy nan ki ak anpil atansyon mo pa mo. Ou vle jis ekreme nan kote li di ou fè yon bagay. Mwen kapab garanti ou, pa fè sa. Si ou fè sa, w ap pwobableman ale nan yon kote manke kote li di ou ki jan yo kòmanse yon pwoblèm oswa li fè w konnen kisa nan non pwoblèm ou oswa li di ou, sa a se pwobableman fason ki pi bon yo kòmanse fè pwoblèm ou. Lè sa a, ou pral pèdi. Lè ou eseye li ou espèk mwatye nan, yon anpil nan enpòtan an information-- nan ke ou ap pa ale pou kapab reyèlman aksè. Se konsa, li espèk a tout antye. Eseye li espèk a tout antye anvan ou vini nan seksyon, paske lè sa a, lè nou pale sou pset a, nou tout ka gen yon lide nan sa ki k ap pase sou. Dezyèmman, sa a se yon konsèp ke mwen pral renmen referans yon anpil nan tout semès la kou. Men, esansyèlman, kontre nou mwatye, dwa? Mwen, kòm TA ou ak Jason kòm kou manadjè ak Scaz kòm pwofesè ou ak David kòm pwofesè ou ak tout nan lòt TAS yo bèl nan kou sa a, asistan nan course-- sa a nou pwal fè pi byen nou asire ke ou yo mete jiska reyisi nan kou sa a. Nou pral kenbe seksyon. Nou pral kenbe lè biwo. Nou pral reponn telefòn ou apèl, reponn ou e-may, fè tout sa nou kapab fè reponn kesyon w ke ou yo. Sepandan, ede nou soti tou. Rankontre nou mwatye. Si ou vini nan biwo heures pa li te gen ale nan seksyon, pa te wè konferans yo, ki pa gen lide ki sa k ap pase sou li a, dwe tankou, ede m '. Mwen pral yo dwe tankou, byen, Mwen regrèt. Li kapab tan prete ki zepòl yo kriye sou li a, paske mwen pa fin sèten sa mwen kapab fè ede ou si ou pa eseye omwen èd tèt ou yon ti jan depi nan konmansman an. Rankontre nou mwatye. Ou konnen, tanpri vini prepare yo reponn epi pou yo jwenn pare yo angaje yo nan materyèl la. Li fè bagay sa yo anpil pi fasil pou tout moun enplike nan sa. Yeah, sa a, se bèl anpil li. Grading. Se konsa, sou progranm a, li a trè approfondie konsènan ki jan nou klas. Men, esansyèlman, pann an nan sa a se 50% nan klas ou yo pral psets yo, ki se bèl, paske sa a, se kote w ap depanse a vas nan majorite nan tan kou ou sou. Ti tès 40%, ak ou pwojè final yo pral 10%. Va gen de ti tès nan tout kou a nan semès la. Mwen panse ke fwa yo ak dat yo tou ki nan lis sou progranm la. Fason ki ke nou pral pral bay nòt ou psets se ke nou gen esansyèlman kat valè ke nou bay nan chak klas. Nou gen yon valè de sijè ki abòde, Correct, konsepsyon, ak style. Se konsa, kòm ou wè, sa a, se kalite nou an fòmil pou kalkile psets. Twa nou bay pi plis nan pwa nan Correct, paske evidamman antrenè ou yo ta dwe fè tès pou ka yo ke nou vle l 'bay tès pou. Ou nèg tout gen check50 a jete ou. Li se yon fonksyon trè itil ke ou nèg ka tout Upload kòd ou a nan serveurs nou an, kote nou pral tcheke pou wè li pou ou. Apre sa, ou te wè moun ap fè fas frowny, ap fè fas Smiley. Yo ap reyèlman, reyèlman itil. Tanpri pa bezwen nan elèv ki renmen ap eseye hardcode nan tout repons yo nan men yo. Mwen te definitivman wè yon pset kote yon moun te wè tout valè yo nan check50 epi yo jis difisil kode in-- si nimewo sa a, enprime soti nimewo sa a. Si sa nimewo, enprime soti ki kantite. Pa fè sa. Menm si teknikman check50 ki kòrèk, fason ou nan rezoud nan pwoblèm se pa kòrèk. Se konsa, jis itilize check50 ti kras. Men, tou asire w ke ou konprann ki jan li la fonksyone, pwogram nan ap fonksyone nan adisyon a check50, paske nou pa ka fè tès chak ka posib pou check50. Nou pral fè tès kèk nan yo. Design se esansyèlman, ki jan byen fèt se kòd ou a? Si ou se kopi-kole miltip liy nan Kòd anpil, anpil fwa. Petèt ou pa gen byen desen an pi byen nan kòd ou a. Petèt li lè yo ajoute ke riban. Esansyèlman, isit la li nan jis tout sou ap eseye fè kòd ou a, ap eseye ekri kòd ou a kòm avèk efikasite ke posib pou ke pwogram ou an kouri kòm byen vit ke posib. Anfen, nou gen style. Se konsa, style se kalite yon abitrè, subjectif tèm. Mwen konnen nou ofisyèlman gen yon gid style 50 pou CS50, kote li di ou, o, ou ta dwe gen yon espas isit la. Ou ta dwe kalite fòma kòd ou a nan fason sa. Ou ta dwe non bagay nan fason sa. Mwen pa reyèlman sousye, se pou chak, ki jan ou chwazi yo style Kòd ou, jis osi lontan ke ou rete ki konsistan. Pou egzanp, si ou ta vle kite yon espas apre kat ou anvan riban kat ou, jis fè sa chak fwa. Pa kalite fè li. Pa fè l 'lòt fwa. Si ou renmen kenbe Curly aparèy òtopedik espas yon sèten fason, jis toujou fè l 'ki fason. Pa kalite fè l 'yon kote isit la ak yon kote pa la. Lè nou ap bay nòt, li vrèman difisil si mwen gen okenn lide ki jan w ap fòma kòd ou a, bagay sa yo yo farfelu ak soti nan plas li. Si ou jis kenbe l 'ki konsistan, li nan pi fasil pou m 'menm jan pi gwo a yo dwe kapab li kòd ou a. Li nan pi fasil pou ou kòm yon elèv pou kapab gade nan kòd ou a ak wè sa ki nan mal ak li koupe poukisa gen nan pwoblèm. Style se youn nan bagay ki pi fasil ou nèg ka fè yo ka resevwa nòt plen. Esansyèlman, si ou jis pran swen, si ou peye senk minit nan atansyon nan kòd ou chak semèn, ou ta dwe gen ap resevwa pwen plen style. Anfen, nou gen sa yo rele miltiplikatè la nan sijè ki abòde. Scope-- Mwen konnen li nan yon gwo mo, espesyalman nan klas sa a. Men, sijè ki abòde, tout sa ki vle di se ke ou ap eseye psets yo nan pi byen nan kapasite ou yo. Si ou vire nan twa soti nan kat pwoblèm ou epi yo pa menm eseye nan yon dènye, w ap pwobableman ale nan pèdi kèk pwen sou sijè ki abòde. Menm si ou jis kòmanse pwoblèm nan, fè pi byen ou nan mache nan li. Menm si li pa travay, vire l 'nan, paske ki montre epi demontre nou ke w ap eseye, ki ou eseye pwoblèm nan mete dapre tout sa kapasite w. Lè sa a, nou ka ba ou pwen konplè pou sijè ki abòde. Dimansyon se tou trè enpòtan pou lè nou pale sou gout nan ki pi ba nòt pset. Se konsa, sou kou a nan la semès, ou nèg gen nèf psets. E nou pral aktyèlman ap jete nòt nan pi ba soti nan tout sa yo nèf, men se sèlman si ou gen pwen sijè ki abòde plen. Se konsa, si ou vire nan yon pset enkonplè, malerezman, nou pa ka lage ke yon moun, paske sijè ki abòde ou pwen pa te fin fèt. Se konsa, menm si ou gen semèn nan terib kote w ap mouri epi w ap malad oswa chen ou mouri, chat ou mouri, ak w ap twò chaje ak devwa, jis eseye pset la. Èske li nan pi byen nan kapasite ou yo. Si li pa travay, li pa gen pwoblèm. Jis vire l 'nan. Omwen nou ka bay ou pwen pou efò. A pou efò nan klas sa a. Omwen gout nòt pi ba pou efò. Se konsa, yeah. Sa a bèl anpil li. Nenpòt moun ki gen kesyon pou byen lwen sou ki jan nou klas nan klas la? Oswa nenpòt nan sa yo? Nenpòt nan sa yo pou far-- seksyon, lè biwo? Fre. OK. Se konsa, sa a se yon sijè ke pa gen okenn yon reyèlman renmen pale sou. Mwen pa reyèlman renmen pale sou li. Ou nèg pa reyèlman vle tande m 'pale sou sa. Men, malerezman, nou tout gen pale sou sa. David te pase 20 minit yon konferans ap pale de li. Apre sa se sijè a de onètete akademik. Se konsa, nou tout isit la te pwobableman gen ekri yon nenpòt moman redaksyon nan karyè Yale nou an. Nou te pwobableman vinn yon diskou kote nou te te di pa plajye redaksyon nou an, paske ke travay se pa nou. Nan syans òdinatè, nou gen kalite a menm nan konsèp. Tout travay ke ou soumèt, tout kòd ki ou ekri yo ta dwe kòd ki ou te ekri. Pa ta dwe kòd ki ou te kopye soti nan yon lòt kote. Pa ta dwe kòd ki ou te googled ak plopped nan epi ou pa vrèman konnen si li fonksyone. Ou kalite gen yon sans de ki sa li ap fè, men se pa vrèman. Lè w gen dout, esansyèlman, li nan jis pou rezonab. Sou progranm nou an, nou gen yon lis tout nan bagay sa yo nou wè kòm rezonab kont pa rezonab. Pou egzanp, ki rezonab se ou menm ak zanmi ou diskite sou sa fason ki pi bon yo ale sou lojikman rezoud yon pwoblèm. Sa a san patipri ki rezonab. Ki sa ki pa ta dwe rezonab se si ou mesye te resevwa ansanm, tape kòd la menm, epi yo tounen vin nan kòd la menm. Sa a pa rezonab. Menm bagay, kalite yon redaksyon. Si ou vle diskite sou ak zanmi ou, hey, sa a se sa m 'vle yo ekri sou. Sa yo se etap sa yo mwen vle pran yo ekri sou li, gwo. Sa a bèl bagay. Tanpri kolabore ak youn ak lòt. Si ou nèg kòmanse ekri menm bagay la, vire nan menm redaksyon an, sa se mwens OK. Se konsa, lè gen dout, jis pa fè li. Isit la, nou nan CS50, nou gen Scripts ki kouri ale nan otomatize li teste pa sèlman Correct nan kòd ou a, men tou, singularité a nan kòd ou a. Se konsa, tanpri pa mete nou nan yon pozisyon nan ki gen, al gade ka ou a EXCOMM. Tanpri jis pou tout moun, kite yo jis fè sa-a yon eksperyans bèl bagay. Tout moun aprann pi byen, nou tout nou pi kontan, epi nou, yo tout mete kanpe yo reyisi nan kou sa a. Yon bagay ki trè inik sou klas sa a ke mwen panse ke tout moun ta dwe reyèlman peye atansyon sou se ke nou gen sa ki rele regrèt nan kloz nan progranm nou an. Se konsa, esansyèlman, nan 72 èdtan, si ou kwè ou te fè yon bagay w ap pa reyèlman asire w te apwopriye, tanpri vin jwenn nou. Nou pwomèt ou ke nan 72 èdtan nou pral okipe ka a tèt nou san yo pa refere li a yon pi wo otorite nan administrasyon-an. Se konsa, si ou vini nan m 'ak di, Andi, hey, Mwen vrèman regrèt sa, men mwen panse ke gen nan yon liy koup nan m ' Kòd yè swa ke mwen kalite googled, te resevwa koupe nan Stack Debòde, kopi epi kopye, ak mwen se reyèlman, reyèlman regrèt sou sa, kite m 'konnen. Tanpri, pa kite l supurasyon jis ak jis espere ke mwen trape li. Nou pral trape li. Jis vin jwenn mwen. Kite m 'konnen ki nan 72 èdtan. Nou pral konnen ki yon solisyon. Apre sa, nou pwomèt ke nou pa pral al gade nan otorite inivèsite esansyèlman. Se konsa, li nan pi bon enterè ou jis dwe onèt ak tout moun patisipe nan kou a. OK. OK. Se konsa, kounye a, byen vit anvan Mwen deplase sou, fè nenpòt moun ki genyen kesyon osijè lojistik sou kòman kou nou ap ale nan kouri, ki jan seksyon yo ale nan kouri, nenpòt nan sa? OK. Yeah. ODYANS: [fèbl]? Andi Peng: Yeah. Se konsa, ki jan anpil nan quizzes-- ou se nan seksyon an Lendi / Mèkredi? Konbyen nan ou se nan Madi a / Jedi? OK, se konsa li a yon dezinyon solid isit la. Se konsa, fason a ke nou kouri li nan Yale se ke nou yo ale nan gen de separe quizzes-- yonn pou chak section-- ki pral pran pandan klas la. Mwen panse ke li Oktòb, nan fen mwa Oktòb la, yon bagay tankou sa, kòm yon sèl semèn a egzamen an. Yeah, Se konsa, jis vini nan klas la. Sou ki Lendi oswa Mèkredi, ou pral pran egzamen an. Sou ki Madi oswa Jedi, ou pral pran yon egzamen diferan. Men, yo pral materyèl la menm dwe kouvri. Yeah. Bon kesyon. Yeah. ODYANS: Ki kote èske nou ale nan tcheke klas nou an? Andi Peng: Yeah. Se konsa, mwen pral voye soti yon e-mail tou sa chak semèn lè ti tès yo graded-- oswa, regrèt sa, lè psets yo resevwa nòt. Psets yo anjeneral yo te tounen nan pa midi oswa Vandredi. Se konsa, mwen pwomèt ke mwen vle eseye jwenn yo tounen ba ou pa midi nan Vandredi sa a. Chak fwa mwen klas yon pset, m'a voye soti yon notifikasyon sou liv la klas yo ki di ou nòt ou ka wè sou entènèt. Se konsa, dwa semèn sa a, apre mwen fini bay nòt psets semèn pase a la, ou nèg pral jwenn yon e-mail notifikasyon di ou, hey sa a se kote ou ale nan wè klas ou yo. Epi ou ka wè chak pann nan klas ou yo. Ou ka wè kòmantè. Oh, bagay rapid tou. Seksyon nan kòmantè nan gwo a liv se kote mwen pral pwobableman depanse majorite nan nòt tan m 'yo. Se konsa, yon sèl bagay sa a, se reyèlman enpòtan lè ou nèg se gade klas ou sou psets ou se pa sèlman kap a nòt la fizik men tou, pran tan yo reyèlman li kòmantè mwen. Anpil fwa ki ba ou fidbak sou ki jan ou ap rezoud yon pwoblèm. Si ou bezwen fè yon bagay yon ti jan pi bon, kritik konstriktif Jeneralman sa yo se pi bon bay nan sa yo seksyon kòmantè. Se konsa, tanpri, tanpri, mwen pral pase tan ekri kòmantè. Tanpri, mwen ta vrèman apresye li si ou nèg ta li sa yo kòmantè. OK. Fre. Tout dwa. Se konsa, nou yo ale nan kòmanse pale ak jis revize byen vit kèk nan materyèl la soti nan semèn zewo jis pou nou ap nan paj an dwa pou kòmanse pwoblèm yo semenn sa a. Se konsa, riban a pandan y ap se youn nan twa kalite mouvman yo ak pasan nou diskite pi bonè nan klas sa a. Yon pandan y ap esansyèlman bouk ki ekri nan sentaks la kote, pandan y ap yon kondisyon sèten, fè sa repete, dwa? Panse a li nan grafik sa a isit la. W ap ale nan kòmanse nan yon sèten pwen nan kòd ou a. W ap ale nan antre nan kondisyon an bouk if-- Mwen pa know-- x se mwens pase yon sèl. Si sa a se vre, w ap ale al touye kò a bouk. Apre sa, w ap ale nan kontinye ap fè sa ankò, ankò, ankò, sou yo ak over-- ki se poukisa li nan yon loop-- jouk eta sante ou vin fo. Se konsa, nan fason sa a, se yon riban pandan y ap se youn nan fason ki pi senp yo yo ekri nenpòt ki sòt de kondisyon ki bezwen yo repete sou yo ak sou yo ak sou. Jis dwe fè atansyon chak fwa w ap ekri nenpòt ki sòt de riban ke ou gen yon kondisyon sòti kòm byen ke yon ajou nan tou sa li se lè sa a, bouk ou fè pa sèlman kouri sou yo ak sou enfiniman. Nan nenpòt ka, w ap ale nan vle asire w ke w ap chanje kèk aspè nan Kòd ou a oswa nan fen a nan riban an jis asire w ke ou gen yon fason a pwogrese nan direksyon pou kondisyon an ke ou vle al kontre nan fen. Ki fè sans nan tout moun? Nou jis pa vle yo kenbe nan espiral sa a kote n 'al jwenn ozalantou yo ak ozalantou yo ak gen nan pa gen fason yo kraze riban an. Tout bouk esansyèlman gen yon fason pou fè sa. OK. Dezyèmman, anpil nan nou nan psets Mario ou pwobableman te gen nan anplwaye sa a ki kalite riban. Li te rele yon fè pandan y ap riban. Premye a tout, ka nenpòt moun ki di m ' sa diferans ki genyen ant yon fè pandan y ap riban ak yon riban pandan y ap se? Yeah. ODYANS: fè a pandan y ap riban kouri nan [fèbl] an premye. Andi Peng: Yeah, egzakteman. Se konsa, yon fè pandan y ap riban toujou fè tou sa se andedan fè nan, andedan parantèz yo gen ak fè ke kondisyon anvan tcheke pou regrèt the--, fè sa anvan Kòd tcheke pou kondisyon an. Lè sa a se espesyalman ki gen rapò ak nou isit la nan klas sa a, paske pifò fwa nou ap ale nan vle pouse itilizatè a pou kèk sòt de opinyon. Lè sa a,, tou depann de D 'a yo bay nou, lè sa a nou ka evalye, o, fè nou bezwen èd memwa yo ankò? Se konsa, nan Mario, si itilizatè a te ban nou yon wotè negatif, pou egzanp, w ap ale nan premye èd memwa ak fè tou sa ki andedan. Lè sa a, w ap ale nan tcheke ti tan. Ou konnen, se negatif 1, se ke yon nimewo pozitif? Si li pa, mwen pral yo ale retounen lakay yo epi repete fè a ak repete ak repete ak repete jiskaske yo finalman ba ou yon nimewo ke ou renmen, ke nou ka tout anplwaye nan kòd nou an. Li trè enpòtan pou esansyèlman nenpòt opinyon itilizatè. Mwen ka garanti ou nenpòt ki tan nan yon pset kote nou mande w opinyon nenpòt ki sòt de kòd, nou ap pwobableman pral ba ou yon ka nan egzamen an nan ki nou ap pral ba ou yon move bagay sa a, se ale nan eseye kraze kòd ou a. Si nou eseye mande w nan yon D ' nonb antye relatif, nou ka jis ba ou yon fisèl ak wè ki jan ou ta okipe sa. Si nou mande w yo anplwaye yon laj, nou ka ba ou yon nimewo negatif yo wè ki jan ou ta okipe sa. Jis asire w ke ou nèg yo fè tès pou ka nan ki ou pa jwenn pi bon an D ', se pou yo jis di. Apre sa, yon fè pandan y ap riban se souvan pi bon an fason nan konsepsyon Kòd ou pou ke li satisfè ki sijè ki abòde. OK. OK. Se konsa, sa a se pwobableman pi plis nan konplèks bouk soti nan twa a ke nou te gade byen lwen tèlman. Epi li sanble trè pè an premye. Men, mwen garanti ou, yon fwa ou nèg jwenn pann an nan kouman yo sèvi ak yon pou riban, li a youn nan bagay ki pi itil, pi zouti itil nan asenal ou pou deplase pou pi devan nan klas sa a. Se konsa, pou egzanp, nan grafouyen, nou te gen sa a blòk trè senp ki jis te di repete sa a sèten fraz sèten kantite fwa. By wout la, SAJ-- sa a, se Scaz Andi Jason. Nou souvan siyen SAJ Imèl nou an. Si nou di SAJ, nou pa bezwen konfonn. Se jis nou. Se konsa, nan grafouyen, nou te kapab gen yon blòk ki te di, repete Mwen renmen SAJ! 10 fwa. Trè senp. Lojik la dèyè ki se yon trè, trè senp, dwa? Mwen vle premye ale nan premye a tan ak wè ke, pou dezyèm fwa nan ak wè sa, twazyèm fwa, pou fè ak sou sa, jiskaske ou frape nan 10. Apre sa, fason nou ta ka repwezante ke nan Kòd se jis nan yon senp pou riban. Se konsa, pou, w ap ale nan deklare varyab ou isit la, nan ka sa a, ak yon int. Nou pwal non li mwen. Nou pral inisyalize li nan 0. Apre sa, edisyon an kanpe se pral fè mwen se mwens pase 10. Apre sa, aktyalizasyon a a pwal mwen ++. E nan lespas de bouk la, li k ap pase al touye jouk evantyèlman li frape nan fen condition-- la nan ki ka, li k ap pase yo kraze riban an. Ta dwe gen bagay ke ou mesye gen tout kalite wè anvan e li te fè pou pwoblèm ou mete yon sèl. Nenpòt moun ki gen nenpòt kesyon konsènan pou pasan kounye a? OK. Great. OK. Se konsa, pou moun nan nou ki gen li espèk a pset pou semèn sa a konnen ke nou ap pral fè yo anplwaye yon bagay yo rele ASCII ak tablo ASCII. Se konsa, David nan konferans yon ti tan janbe lòt ki jan òdinatè esansyèlman tout bagay se kode nan yon òdinatè nan binè, nan zewo ak inite. Apre sa, fason ke òdinatè yo kapab nan magazen valè diferan nan adisyon zewo ak moun yo yo se nan kat moun ki nimewo ki reprezante lòt chif oswa esansyèlman lòt karaktè. Se konsa, nan ka sa a, yon ASCII table-- tout li fè sa se karaktè kat jeyografik, oswa charaktèr, nan chif yo. Se konsa, dosye a Kòd sous nan ou computer-- li wè, hey, yon pakèt moun sou zewo ak moun yo, zewo ak moun yo, zewo ak inite. Sa a ki sa ki estoke nan la memwa aktyèl la nan òdinatè w lan. Men, lè nou moun vle kominike avèk òdinatè a, nou vle-di, pou egzanp, si mwen vle majuskul A a, Mwen pral bezwen kèk fason a di òdinatè a, oh, lè m 'tape majuskul A, mwen vle di reprezantasyon sa a nan binè. Se konsa, se yon fason a nou fè sa jete yon bagay abitrè rele yon tab ASCII, kote nou, kòm moun, kòm pwogramasyon, gen kèk tan de sa, nou abitrèman deside ke nou te ale nan bay sa yo nimewo valè nan karaktè sa yo. Se konsa, ou nèg ka google sa a sou entènèt. Mwen panse ke gen nan yon ap mennen nan l 'nan ou pset-- jis yon tab kat jeyografik ASCII, ASCII tab. Li jis tradui binè nimewo nan karaktè. Epi, se k ap pase yo dwe trè itil pou mete pwoblèm ou nenpòt lè ou vle kalkile anyen oswa si ou vle montre sèten karaktè oswa nonm antye relatif oswa manipile sèten karaktè. Li k ap pase yo dwe trè enpòtan pou nou tout konnen ki jan yo navige yon tab ASCII. Se konsa, pou egzanp, majuskul A se reprezante pa kantite 65. Apre sa, miniskil yon nan se reprezante pa 97. Se konsa, li enpòtan konnen ke nan diferans ki genyen ant de valè yo se 32. Souvan, si ou bezwen konvèti soti nan youn nan lòt la, diferans lan se 32. Epi yo pa enkyete w si ou se kalite a konfonn sou sa a an premye. Nou pral ale sou ki jan nou ta anplwaye sa a nan kòd vrè. OK. Se konsa, pou moun nan nou ak laptops soti, santi yo lib yo rale moute yon tab ASCII, paske sa yo pwal pwobableman mande pou ou nèg referans sa karaktè yo ye. OK. Se konsa, konnen ke sèten karaktè kat jeyografik nan nimewo sèten, si m 'te nan kouri jis premye a liy nan ki code-- printf yon an, miniskil yon, mwens majuskul A. Èske nenpòt moun gen yon devine sou sa ki ta enprime soti nan ekran an kounye a? Se konsa, premye a tout moun, sa ki fè miniskil yon reprezante? Ki nonb se ke kode nan tablo a ASCII. Padon? ODYANS: 97? Andi Peng: 97, gwo. Ak sa ki majuskul A? ODYANS: 65. Andi Peng: Se konsa, ki sa ki 97 mwens 65? ODYANS: 32. Andi Peng: OK. Se konsa, sa ou nèg panse ki pral rive lè m 'D' ki liy nan kòd nan òdinatè mwen an? ODYANS: [fèbl]. Andi Peng: Padon, pale moute. Pa gen enkyetid. Sa a se yon trè ki an sekirite anviwònman, mwens kamera a. Nou ap tout pral to-- pa gen enkyetid. Jis nou ap tout ale nan pretann tankou li nan jis nou refrijerasyon nan sal sa a. Pa gen enkyetid. Pa gen kesyon a twò estipid. Pa gen repons se yon repons estipid. M 'ap pwobableman pral fè erè nan kou a nan ansèyman m 'yo. Seryezman, mesye, jis lache li soti. Gen konfyans nan tèt ou, ou konnen? Se konsa, sa ki te sa? Ki moun ki te di ke repons sot pase a? OK. Rele ki bèl ak klè. ODYANS: 32? Andi Peng: 32. OK, se pou yo kouri Kòd sa a epi wè si sa a, se sa ki rive. OK. Se konsa, kòm ou nèg ka kalite wè, notasyon a tipik mwen te mete kanpe isit la pou konbyen nou ta anplwaye nenpòt ki sòt de pwogram nan òdinatè nou yo. Nou gen fonksyon prensipal nou an nan fonksyon prensipal nou an. Mwen jis ale nan kopi epi keratin liy sa a nan kòd. Epitou dwe fè atansyon lè ou nèg yo kopye e kole kòd. Pafwa sèten operatè pa kole sou kòrèkteman. Nan ka sa a, mwens la siy te aktyèlman yon priz. Se konsa, òdinatè a pa t 'chwazi li. Se konsa, mwen te gen yo ale retounen lakay yo epi fizikman tape sa. Jis dwe fè atansyon lè ou nèg ap fè sa. OK. Nou pral kouri sa a isit la. Se konsa, nou ap ale nan cd nan seksyon 2 nou an. Mwen te rele sa a asciimath pwogram nan. Se konsa, sonje, lè nou kouri nenpòt pwogram, nou vle premye konpile li pa kouri l 'nan fè nou an. Lè sa a, nou vle aktyèlman kouri pwogram lan pa fè dot-koupe. Se konsa, nou ap ale nan ./asciimath. Dwa, gen nou ale. Apre sa, nou wè 32. Oke fè. Ou merite yon moso nan sirèt. Sirèt pou ou. Regrèt. Tout dwa. OK. Se konsa, nou ka ale tounen nan egzanp nou an isit la. Aah, pa gen. Aah. OK. Mwen jis ale nan kenbe l 'tankou sa. OK. OK. Se konsa, kòm ou nèg ka wè, nou ka fè anpil bagay trè enteresan, yon bann bagay sa anpil fre, yon anpil nan bagay bagay ki konplike anpil ki enplike Karaktè ASCII ak nimewo. Yon fwa ou jwenn desann nan liy senk, sa a, se yon anpil yo swiv ansanm. Nou pa ap ale nan ale nan seksyon an. Santi yo lib yo, si ou kapab, rezone li soti sou papye premye sou sa ki ta dwe vini lè ou D 'tankou yon afè de valè. Pou egzanp, nan ki liy dènye a, nou gen z-ki reprezante yon sèten number-- a-- ki tou reprezante yon sèten number-- plis 1 modulos 26 plis miniskil yon. Si ou nèg kenbe lekti nan sa yo, ou ka wè yon modèl vini an ki jan nou ap manipile kòd la. Mwen trè, trè sijere apre seksyon tout nan nou mesye ale pi devan epi opinyon moun tout nan òdinatè w lan ak wè sa ki kalite nimewo ap vini soti ak rezònman a poukisa sa yo se pase, paske pou ou psets li pral vrèman enpòtan pou ou pou w konprann poukisa sèten bagay yo ap pase. Tout moun nan glisad sa yo pral sou entènèt. Se konsa, pa gen enkyetid sou ap eseye fizikman kopi desann nòt. Sou entènèt Tout nan. Seksyon sa a poukont li ap gen entènèt. Tout kòd sous mwen ke M 'ap kouri yo pral sou entènèt. Yeah. Èske ou toujou gen yon kesyon? ODYANS: Ki sa ki se modulos? Andi Peng: OK. Se konsa, modulo se yon operatè ki k ap pase yo dwe trè enpòtan nan pset mesye ou a isit la. Se konsa, wout la ke operatè nan C ak nan travay pwogram se ke ou gen sa ki rele nan senbòl divizyon ak senbòl la Modil, ki se jis tankou siy ki pousan. Se konsa, nan C, lè ou fè yon nonb antye relatif divize pa yon nonb antye relatif ak yon koupe, C gen yon tandans vle koupe koupe tout nan pwen yo desimal, paske yon nonb antye relatif vle konvèti nan yon nonb antye relatif. Li pa nan ale nan vle gen yon doub ak yon pakèt moun sou chif desimal tout apre li. Se konsa, si m 'fè 3 divize pa 2, li pral yo koupe 0.5 la ak jis ba ou 1. Se konsa, sa a, se yon bagay yo dwe pran anpil prekosyon lè w ap nan fè nenpòt ki sòt de matematik nan pwogramasyon, se ke nimewo yo ou jwenn yo gen dwa pa nimewo yo ke ou te panse, ki se poukisa awondi nan ou dènye pset se konsa enpòtan. Modulo ba ou rès la. Se konsa, pou egzanp, si m 'te fè 3 modulo 2-- konsa 3 pousan siy 2-- li ta ba ou rès la nan sa. Se konsa, 3 divize pa 2 se 1.5. Li nan 1 rès nan 1. Li ta ba ou 1 an, ki se rès la nan sa. Se konsa, lè ou nèg yo ap deplase a tab la ASCII, modulo ap yo te fini yon bagay sa a, se trè enpòtan, epi nou pral diskite sou ki pita sou. OK. Se konsa, yon bagay ki se bèl, bèl nouvo ak bèl inik ke nou te diskite semèn sa a se konsèp la nan sa ki yon etalaj se. Se konsa, etalaj se premye a di ki kalite estrikti done ke nou ap ale nan rankontre nan klas sa a. Tout estrikti done se kèk sòt de abitrè, literalman bagay sa yo tankou estrikti ke nou kòm pwogramasyon te kreye, ke nou te mete nan Kòd nou an ki kapab genyen lòt moso nan kòd. Se konsa, nan sans sa a, yon array-- panse a li kòm yon kabinè ranpli, kote si ou louvri diferan etajè yo nan kabinè dosye ou, ou kapab jwenn aksè bagay diferan. Nan memwa, yon etalaj se jis ap fè menm bagay la sou òdinatè ou. Ou ka gen diferan nou blocks-- rele yo indices-- nan yon etalaj. Li nan jis tankou yon blòk, yon etajè nan memwa ke nou te kreye nan ou òdinatè ki ou kapab D ' sèten bagay yo nan espas diferan. Se konsa, avèk yon etalaj, ou toujou gen specify-- ou gen presize deklare yon etalaj nan fòma sa a. W ap ale nan premye presize kalite a done ke ou vle kreye nan etalaj la. Si m 'vle yon etalaj de nonm antye relatif, Mwen pral mete int la a. Si m 'vle yon etalaj de strings, Mwen pral mete strings a, non an nan etalaj ou a, ak Lè sa a w ap ale nan gen parantèz kare. Ak andedan parantèz yo kare, w ap ale nan gen gwosè a nan etalaj ou yo. Yon bagay ki vrèman enpòtan yo kenbe nan tèt ou lè y ap kreye ranje se ki, yon fwa ou kreye yon etalaj, ki gwosè pa ka chanje. Se konsa, si ou konnen ke kounye a ou gen yon etalaj de gwosè 10, ou konnen ke mwen pral gen 10 selil nan oswa 10 endis nan etalaj sa a, ak li a pa janm ale yo elaji oswa diminye pa gen pwoblèm sa, e ke gen nan kounye a sèlman 10 blòk nan espas resevwa lajan nan memwa ou a, ki ka magazen jiska 10 bagay sa yo nan tou sa ou te mete. Se konsa, nan fason sa a, yon kalite done etalaj, estrikti nan done se sa ki yon etalaj se yon bagay ki diferan de kèk lòt moun nou pral dwe kouvri pita sou nan kou sa a. Yeah. Pou egzanp, si ou te vle kreye yon etalaj de gwosè 3 ki genyen varyab nan integer-- oh, regrèt, de tanperati- ak tanperati, nan kou, se yon nonb antye relatif. Se konsa, nou ta kreye int, ki se nan kalite done nan ki sa nou vle nan magazen. Nou pral rele sa a tanperati pou dedomajman pou la nan nonmen nomanklatur yon bagay ke nou tout konprann. Epi nou ap ale nan gen parantèz kare. Apre sa, nou vle twa chif yo. Se konsa, nou ap ale nan mete twa andedan nan li. Yon bagay ki vrèman enpòtan kenbe nan tèt ou se ke ranje yo zewo Catalogue. Tout sa ki vle di se ke ou kòmanse ak endèks la nan 0, epi ou kouri moute nan la gwosè nan etalaj la mwens 1. Se konsa, pou egzanp isit la, nou gen yon etalaj de gwosè 3. Li k ap pase yo pral kapab yo kenbe twa valè. Men, nimewo yo themselves-- ki nimewo, etalaj la, ki endèks, etalaj la, yo se 0 a 2. Se konsa, mesye, se pou reyèlman, reyèlman atansyon lè w ap ale atravè tout pwoblèm ou mete ak kreye nenpòt ki sòt de etalaj, paske yon anpil nan fwa yo li a reyèlman, reyèlman fasil bliye sa. Mwen aktyèlman pa gen endèks la nan 3, pou m 'kounye a jis gen endèks la nan 2. Men, si ou eseye aksè twazyèm endèks la, li nan pral fè sa ki nan rele Terminator a nil. Li nan pa ale nan aktyèlman egziste nan etalaj la. Apre sa, òdinatè a se pa ale nan renmen sa. Se konsa, dwe fè atansyon chak fwa w ap gen aksè nan bagay sa yo jis asire ke ou sonje ki ranje yo se zewo-Catalogue. OK. Se konsa, premye egzanp lan se jis yon fason pou kreye yon etalaj. Dezyèm Egzanp lan mwen gen anba a se jis yon fason separe pou kreye ki sa ki done an menm estrikti ke nou te jis antre. Se konsa, olye pou yo fizikman kouri nan ak mete nan tanperati ki nan 0 egal tou sa, tanperati 1 egal tou sa, tanperati 2 egal kèlkeswa sa, mwen te kapab aktyèlman jis dirèkteman kreye li tout nan yon sèl liy nan tanperati parantèz kare egal. Apre sa, nan ka sa a avi, ou pa bezwen ou presize ki jan gwo etalaj ou ye, se paske òdinatè a k ap pase yo ale nan ak wè ke gen nan twa eleman nan sa yo aparèy òtopedik Curly. Epi, se k ap pase yo konnen, OK, Mwen bezwen yon etalaj de gwosè 3. Ou pa ap ale nan bezwen D 'l' nan fason ki anba la a. Epi tou, yeah, ki fason. Nenpòt moun ki gen kesyon konsènan ki jan nou fè ranje oswa ki jan estrikti a nan yon etalaj travay? Yeah. ODYANS: [fèbl]? Andi Peng: Yeah, egzakteman. Se konsa, si ou te deklare ak inisyalize yon etalaj metòd sa a, ki se yon fason, dezyèm lan, ou ka jis kite sa yo. Ak òdinatè a otomatikman konnen ke li bezwen yo konte konbyen eleman yo nan sa yo aparèy òtopedik Curly, separe pa vigil. Se konsa, isit la yo wè 65, 87, 30. Se konsa, òdinatè a konnen, o, gen nan twa nonm antye relatif. Mwen konnen yo kreye yon Non etalaj tanperati ki gen twa eleman nan li. Bon kesyon. Yeah. ODYANS: Se pa li posib yo kreye yon etalaj ak diferan kalite done ki te kapab antre nan li? Pou egzanp, ak nonm antye relatif [fèbl]? Andi Peng: Pou rezon ki nan klas sa a, pa gen okenn, kounye a. Lè ou kreye yon done estrikti tankou yon etalaj, w ap di a òdinatè, hey, mwen bezwen ou asiyen sa a anpil memwa nan kondwi difisil m 'yo, ak chak selil ke yo te yon sèten kantite miyèt moso. Sonje nou te aprann nan semèn zewo ke done diferan kalite gen diferan gwosè? Se konsa, pou egzanp, yon fisèl se yon kantite lajan diferan nan espas pase yon Char, ki se yon kantite lajan diferan nan espas soti nan yon nonb antye relatif. Se konsa, si ou pa presize, epi ou mélange Et à ki kalite varyab ou genyen, nan nan òdinatè ale nan dwe pran anpil konfonn. E li pa k ap pase yo konnen konbyen lajan memwa l 'ban nou. Se konsa, pou rezon nan dwa kounye a, òdinatè kapab sèlman rekonèt yon kalite yon etalaj. Bon kesyon. OK. Se konsa, natirèlman, nan dezyèm kesyon nou gen se, byen, kounye a ke nou te kreye yon etalaj epi nou te mete tout bagay sa yo nan etalaj la, ki jan yo se nou pral fè kapab jwenn aksè nan li? Se konsa, estrikti nan tipik ke nou toujou aksè yon etalaj se bèl nou an pou riban. Mwen te pwomèt ou nèg ke nou pral wè yon anpil nan nonm sa a isit la. Esansyèlman, nenpòt lè ou vle D 'valè nan yon etalaj oswa ou vle jwenn aksè nan yo, nan Pi bon fason yo fè sa se yon pou riban, paske se nan yon pou riban, ou konnen ki jan anpil fwa w ap ale nan vle kouri nan etalaj la, paske ou gen yon edisyon sispann, dwa? Apre sa, chak fwa ou kouri nan, ou kapab jwenn aksè yon eleman diferan nan etalaj la. Epi tou, sa a se yon rezon ki fè tipikman nou kòmanse nou an pou pasan nan valè a 0, paske lè ou gen aksè ranje, ou kapab jwenn aksè endèks la zewo. Se konsa, li paralèl trè joliman. Ou nèg ka te te vle ekri pou int mwen egal 1. mwen se mwens pase oswa egal a 3. Men, li pa ta travay byen kòm byen isit la, paske ou sèlman gen eleman nan 0, 1, ak 2. Se konsa, si ou te kòmanse m ou nan eleman 1, 2, ak 3, w ap ale nan fini kouri soti nan avèk limit yo nan etalaj ou a, ak move bagay yo ap mache rive. Se konsa, mwen espere ou nèg wè seg a sou rezon ki fè nan klas yo pi bonè nou te anseye ou nèg ki jan yo kouri ak fòma yon pou riban wout la ke nou te. Li nan paske, kounye a nou te favorize tranzisyon nan ranje, ou ka wè poukisa 0 prête yo tèt li trè joliman aksè. Se konsa, fason nou fè sa se that-- mwen se jis enprime li soti isit la pou dedomajman pou la a enprime li soti. Men, mwen gen kontneur mwen, vigil. Ak aksè aktyèl la pati k ap pase. Non a nan etalaj la te rele tanperati. Se konsa, li tanperati a ak nan m-th eleman nan etalaj la. Se konsa, kòm kouri nan pou riban a, li nan pral kòmanse nan 0. Li nan ale nan enprime soti nan 0th endèks nan etalaj sa a. Lè sa a, li pral ekri ak lèt ​​detache soti eleman la an premye. Lè sa a, li pral ekri ak lèt ​​detache soti yon sèl, dezyèm lan. Lè sa a, nou ap ale nan kraze. Èske tout moun klè sou ki jan ki nan k ap pase? Great. Tout dwa. Se konsa, isit la nou gen yon fason pou li di, si nou pa t 'vle difisil-Kòd in-- m 'menm jan pwogramè la. Mwen pa t 'vle aktyèlman fizikman mete nan chak eleman endividyèl nan etalaj sa a. Si mwen te vle olye pou gen valè yo D 'itilizatè, sa ki nan fason ki pi bon fè sa? Oke, isit la mwen te kreye fonksyon sa a bèl, nan kote mwen ka deklare yon etalaj. Se konsa, int scores-- kite nan jis di nou vle fè yon etalaj ki te fèt klas yo nan tout 18 nan elèv yo isit la nan seksyon sa a. Mwen panse ke nou te gen yon ti jan plis pase 18 timoun jodi a. Men, pou dedomajman pou egzanp lan, kite yo jis asime nou te gen 18. Mwen ta kreye yon Non etalaj nòt ak kalite int, paske nòt, nan kou, yo chif yo. Apre sa, mwen pral fè 18 nan parantèz kare, paske lè sa a jan anpil elèv mwen vle pou kapab magazen nòt nan. Ak wout la mwen ta peple etalaj la se ke mwen ta kouri li nan yon pou riban, nan kou, ak 0 ke yo te endèks 0th mwen. Lè sa a, ak 18 yo te m ' kanpe edisyon, paske gen nan 18 eleman nan etalaj la. Lè sa a, mwen pral fè printf, Antre nòt pou student-- Yada Yada Yada. Èske nenpòt moun kapab di m 'poukisa isit la mwen se enprime mwen plis 1 epi yo pa m? Li nan kalite yon Trick kesyon, pa vrèman. Li fè sa ki pa aktyèlman fizikman afekte kouri a nan kòd la. Yeah. ODYANS: [fèbl] 0? Andi Peng: Yeah, egzakteman. Li yon ti jan gòch vle di, hey, w ap elèv la 0th nan klas sa a. Li yon ti jan etranj. Se konsa, nou, tankou moun, pa fè sa vrèman renmen panse a ki jan òdinatè panse. Se konsa, menm menm si nan nan òdinatè, li nan estoke valè nan endèks la 0-th, lè nou ap moun, nou pa fè sa vrèman renmen, al gade nan tèt nou kòm zewo. Se konsa, lè mwen jis enprime sa, Mwen pral enprime epi ajoute 1 jis pou dedomajman pou la klè. Se konsa, lè m 'enprime, mwen pral yo dwe kapab enprime elèv yo 1 jiska 18. Li pa aktyèlman gen enpak sou kouri a nan kòd la nan nenpòt fason, wout la mwen enprime. Men, fè atansyon lè w ap aktyèlman gen aksè nan etalaj la. Lè ou wè nòt yo mwen, remake isit la se aktyèlman mwen aksè endèks la 0th ak pa 1 plis 0-- nan oswa 1 plis 1, nan ka sa a, endèks se konsa ke li la aktyèlman klè. Èske tout moun kalite OK sou ki jan sa a ap kouri a ak ak tout endèks mwen se mete yon valè nan etalaj la ak kreye yon etalaj ak 18 nimewo ki itilizatè a ki pral D '? OK. Fre. OK. Nou kounye a deplase ale nan yon bagay ki a trè enpòtan pou pyès sa a mete kòm byen. Mwen konnen nan konferans, David-- regrèt sa, ou te gen yon kesyon? ODYANS: Èske ou ka elaji li? Andi Peng: Yeah, se konsa mwen te eseye. Men, mwen pa konnen. Pou kèk rezon, sa a vèsyon nan PowerPoint se reyèlman pa ap travay byen ak ekspozisyon an. Se konsa, nou ap jis pral kenbe li tankou sa a. Tout moun sa yo pral Uploaded sou entènèt. Padon, guys. Yeah. OK. Se konsa, nou ka gen strings tou. Se konsa, si ou nèg aktyèlman notice-- mwen konnen Rob janbe lòt sa a nan ki konferans ke li did-- yon afè se aktyèlman jis yon etalaj de karaktè, si ou panse sou li, dwa? Yon fil se yon non oswa yon fraz oswa yon mo, dwa? Si m 'te yo kreye yon fisèl rele Andi-- jis non mwen, A-N-D-mwen. Ou panse nan ke kòm jis youn varyab. Men, aktyèlman, li nan kraze nan jis yon etalaj de charaktèr. Se konsa, li nan te resevwa yon karaktè nan yon ki estoke nan yon valè etalaj. Li nan te resevwa yon karaktè nan n ki estoke nan la dezyèm endèks ak sou sa ak pou fè. Se konsa, nan yon fason, nou gen aktyèlman sa a kalite nan estrikti mete nan mete pou strings nou an. Se konsa, isit la, si m 'te D' a mo "manje" - Se konsa, pawòl Bondye fisèl egal jwenn fisèl. Si m 'te opinyon pawòl Bondye a "manje," ki se fizikman fason ke òdinatè mwen an se estoke ki fisèl nan memwa mwen. Men, si mwen te vle kouri nan ki epi enprime ki out-- se konsa pou an mwen egal zewo, sonje, nan konferans, nou yon bagay kouvri ki nan rele strlèn, oswa longè a nan fisèl la. Paske mwen pa fè sa aktyèlman konnen ki jan gwo etalaj la se nan tou sa inputting-- itilizatè a Pou egzanp, mwen antre pawòl Bondye a "manje," ak Mwen konnen sa a, se twa karaktè long, dwa? Se konsa, mwen te kapab mete nan yon twa gen ak tout bagay pral vin amann. Men, si gen yon bagay D 'itilizatè ou sa a, se yon nimewo diferan nan valè, w ap ale pa pou kapab reyèlman konnen ke lè ou pwogram kòd ou a. Se konsa, fason a ke nou okipe ka tès tankou sa se ke nou gen yon bagay rele strlèn, ki se jis yon fonksyon ki di ou konbyen tan yon afè se. Se konsa, strlèn nan mo. Mo mwen se manje. N egal strlèn nan mo. Èske yon moun di m 'sa ki valè aktyèlman se dwa gen? Ki sa n reprezante dwat koulye a, nan egzanp sa a, si mwen te gen manje? ODYANS: 3. Andi Peng: 3, egzakteman. Se konsa, nou gen pou int mwen egal zewo, n egal 3, esansyèlman. Apre sa, mwen ki pral kouri jouk li nan mwens pase 3i ++. Epi, se k ap pase yo esansyèlman ale nan ak fè menm bagay la. Li nan ale nan enprime soti chak valè ak ba ou E-A-T. Li nan jis yon indican diferan fason pou ekri li. Sa k ap pase yo dwe trè itil. Yeah. ODYANS: Ki sa ki nan benefis ki genyen nan mete n nan egal strlèn mo andedan ki pou riban [fèbl]? Andi Peng: Yeah. Se konsa, si m 'te di to--, pou egzanp, si m 'te fè sa ak Lè sa a do-- oop-- sa, nan kòd m 'yo, li ta aktyèlman ap fè tankou menm bagay la. Sepandan, fason ki jan David eksplike li pandan konferans, si nenpòt nan ou nèg sonje, te ke, kòm moun, kòm pwogramasyon, nou reyèlman eseye pwogram nou an Kòd pou ke òdinatè nou an ki gen nan travay kòm minimòm ke posib, se konsa ke kòd nou an, se trè efikas. Se konsa, si mwen te gen ke gen, ki sa ta rive nan pou riban mwen se ke mwen ta premye deklare yon varyab mwen yo te rele a pwal 0. Mwen pral tcheke, o, ki sa ki strlèn yo nan mo? Oh, strlèn a se 3. Se konsa, se mwen pi piti pase twa? Wi, li se. Mwen pral kouri. Lè sa a, pou dezyèm fwa nan alantou tounen bouk la, mwen pral kantite mwen. mwen a pwal yon sèl. Apre sa, mwen ki pral tcheke, o, men sa ki nan strlèn la nan mo? Oh, li nan twa. Ak fè ki sanble kalite inutil, chak fwa ou kouri nan bouk la, yo dwe tcheke fonksyon an, menm si strlèn yo nan mo pa janm aktyèlman chanje? Se konsa, li siplemantè pouvwa pou yon òdinatè. Lè w kòmanse ap pale de bagay sa yo ki billions and billions ak dè milya de kote long, imajine òdinatè w lan gen fizikman ale nan ak tcheke tout nan ke chak fwa sèl. Se pou rezon sa, fè jis pou dedomajman pou la efikasite, nou gen tandans jis fè sa a, paske sa a fason nou ap sèlman rele fonksyon an yon fwa nan kòmansman an, ki jan tout tan li ale nan li pral nan magazen valè a 3 a, ke ou pa fè sa gen toujou tcheke chak fwa. Yeah. ODYANS: Padon. Jis [fèbl]. Èske ou ta kapab int n egal strlèn, li mete ki pi wo a deyò a nan la pou riban kòm byen? Andi Peng: Yeah. Ou te kapab fè sa, absoliman. Rezon ki fè la nou gen l 'nan isit la se paske wout la yon pou travay riban se ke sa yo rele yon varyab lokal yo nan sans nan ke tout bagay w ap kreye andedan nan la pou riban sèlman egziste andedan nan la pou riban. Se konsa, varyab la mwen sèlman egziste nan sa yo parantèz. Ak isit la varyab yo nan n tou sèlman egziste nan sa yo parantèz. Se konsa, si ou te yo sèvi ak strlèn nan mo plizyè fwa desann anba a, absoliman fason ki pi bon fè sa ta dwe deklare l 'kanpe tèt la pou w pa gen fè li yon fwa. Yeah. ODYANS: Poukisa ou gen yon nouvo liy apre pousan nan wè si ou vle mete tout lèt yo akote l separe? Andi Peng: Oh, mwen te vle enprime yo tout sou chak liy. Li pa gen pwoblèm. Yeah, li nan yon fòma. Sa se yon bon kesyon, menm si. Yeah, si mwen te vle enprime li tout sou jis yon sèl liy, Mwen pa ta gen priz la nan. OK. Tout moun sa ki bon? OK. Fre. Se konsa, mwen panse ke mwen te pale ase. Vire Ou nèg la kouri nan la Kòd ak di m 'sa ki mal isit la. Ki kote nan pinèz la? Se konsa, jan ou ka wè, mwen te deklare yon nouvo etalaj nan kalite fisèl rele klas la. Apre sa, mwen te antre Sam, Jess, ak Kim nan li. Apre sa, mwen eseye enprime soti tout eleman ki nan etalaj la. Èske yon moun di m 'poukisa sa a ki pral ban m 'pwoblèm? Mwen pral ba ou nèg 10 segonn yo reflechi sou sa a. OK. Yeah? ODYANS: Èske sant la bò gòch egal a 3 oswa [fèbl]? Andi Peng: Dwa. Se konsa, kouman anpil fwa se sa a aktyèlman ale nan kouri nan sa a riban? ODYANS: Kat. Andi Peng: Egzakteman. Li k ap pase yo nan kat fwa. Li nan ale nan kouri nan nan 0, 1, 2, ak 3, paske eleman yo se mwen se mwens pase oswa egal a 3. Li pa nan pral sispann lè li 2. Li nan ale nan kenbe ale jiskaske li frape 3. Apre sa, kòm nou konnen, gen nan sèlman twa eleman nan etalaj aktyèl nou yo. Si nou eseye jwenn aksè nan katriyèm lan eleman oswa endèks la nan 3, w ap ale nan frape yon kote nan memwa ki pa egziste. Yo rele li Terminator a nil. Pa gen anyen k ap pase yo dwe la. Òdinatè w lan pa pral yo dwe trè kontan avèk ou. Yeah. Nenpòt moun ki gen kesyon sou poukisa ki te pase? Sa se yon zòn komen pou fè pou evite. Yeah. ODYANS: Èske pa premye a glise yo te genyen tou yon afè de 2? Andi Peng: No Se konsa, esansyèlman, lè ou ap fè yon etalaj, ke dwa bracket a, ki number-- tout li nan di ou ki jan anpil eleman m 'genyen. Li nan pa aktyèlman di m 'endis yo nan anyen. Se konsa, nan ka sa a, Mwen konnen mwen vle yo ekri ki gen twa kote, ki gen twa kote fizik nan kenbe tou sa mwen vle kenbe. Se konsa, Se poutèt sa nimewo a twa ki gen la. Sepandan, si mwen te vle ki aktyèlman jwenn aksè li, si mwen te vle di, printf Nimewo bracket klas, Lè sa a, w ap ale nan aktyèlman mete endèks la fizik la. Yeah, bon kesyon. ODYANS: Se konsa, se fizik la endèks sipoze [fèbl]? Andi Peng: Mwen regrèt. Èske ou ka pale moute yon ti jan? ODYANS: Se konsa, se endèks la fizik [Fèbl] chak nan bwat yo? [Fèbl]? Andi Peng: Yeah. Se konsa, mwen pral pou tounen nan dwa isit la. Panse a dwa isit la. Nou gen yon etalaj de gwosè 3. Genyen twa kote, tankou, placeholders fizik nan isit la. Men, yo ap rele 0, 1, ak 2. Se konsa, si mwen te vle jwenn aksè nan yo, wout la ke mwen jwenn aksè nan yo se printf nan tou sa mwen te vle nan isit la. Ou ta gen yo enprime soti non an nan li, paske lè sa a òdinatè a konnen, o, mwen bezwen gade pran pozisyon sa a pou endèks la 0th. Yeah. Men, gwosè a nan li pa chanje. Gwosè a se 3, kèlkeswa sou kouman ou mete lejann sou yo. OK. Tout moun sa ki bon? ODYANS: Se konsa, chak fwa mwen [fèbl]? Andi Peng: OK. Se konsa, nan ka sa a, nou pa fè sa vrèman jwenn nan li kounye a nan kou a. Men, konnen ke yon string-- tankou mwen te di anvan, yon afè se esansyèlman yon etalaj de karaktè. Se konsa, si mwen kreye yon etalaj nan strings, mwen kalite gen yon etalaj nan etalaj nan karaktè, dwa? Se konsa, nan ka sa a, paske mwen gen yon etalaj de strings, si ou te opinyon yon mo reyèlman long, ki toujou pran moute yon sèl espas, paske se sa fisèl la yon sèl. Men, si ou te panse a karaktè yo nan ki etalaj, Lè sa a, ki nan pran yon anpil plis karaktè pase nenpòt nan lòt mo yo ye. Pa vrèman enpòtan pou kounye a. Men, sa se sèlman jeneralman ki jan li ap travay. OK. Se konsa, sa a se yon bagay mwen pral kite ou fè yon anpil sou kou a nan semès la. Mwen bezwen pran yon ti repo vwa mwen. Ou nèg bezwen estimile nou. Yon anpil nan pwobableman ou gen nan dòmi kounye a. M 'ap Anthrax pwoblèm o aza kote nou kòm yon klas oswa ou avèk yon patnè kap vini jwenn ou yo ale yo ap depanse yon minit koup diskite sou sou ki jan nou ta ale sou rezoud oswa kreye yon pwogram tankou sa a. Se konsa, kounye a, nou vle yo kreye yon program-- nou ap ale nan rele li upper.c-- ki konvèti yon mo miniskil nan yon anwo-klas string-- majuskul, regrèt. Pawòl nan strings, regrèt, se synonyme. Mwen pral chanje yo vle di menm bagay la. Yeah. Pran yon koup la minit. Li pa dwe fè ekri nan nenpòt lang. Jis nan kòd pseudocode oswa lojikman ki jan nou ta menm ale sou fè sa yo yon pwoblèm. Yeah. [SIDE KONVÈSASYON] Mwen menm mwen te remake ke ou nèg can-- Mwen kalite wè deja pwogram nan. Mwen devine mank m 'lan nan mòd prezantateur se yon pwoblèm. Men, li la OK. [SIDE KONVÈSASYON] Yeah, tanpri, guys. Vini non jwenn sirèt. Vini non jwenn sirèt. ODYANS: Wi! [SIDE KONVÈSASYON] Andi Peng: Epitou, yeah, Mwen pral kòmanse voye sirèt a moun ki pa reponn kesyon yo. Se konsa, ou ta dwe tout kesyon repons. Ou Mwen ta kwè moun ki reponn kesyon yo. Yeah, nan lòt fason alantou. [SIDE KONVÈSASYON] ODYANS: [fèbl] Andi Peng: Yeah. Yeah. [SIDE KONVÈSASYON] Tout dwa, guys. Pran, tankou, 10 plis segonn. [SIDE KONVÈSASYON] OK, guys. Se konsa, anvan nou kòmanse ap eseye aktyèlman fizikman ekri kòd, yon bon abitid yo devlope se ke nou vle premye kalite rezon soti lojikman ki jan nou ta fè li. Ou vle asire w ke, anvan ou fizikman kòmanse ap eseye nan kòd nan Mario, ki ou fè w ke ou gen pseudocode ou yo. Sa ap pran ou atravè ki sa ou bezwen yo kreye konsa ki, lè ou fizikman ekri pwogram ou pita, ou se pi bon kapab trape erè nan kòd ou ak bagay sa yo tankou sa. Se konsa, nou ap ale nan jis kòmanse by-- nan lang angle, nan pseudocode, nenpòt moun ki vle bay m 'yon eksplikasyon jenerik nan ki jan nou ta ale sou fè sa a? Yeah. ODYANS: [fèbl]. Andi Peng: Asire w, pa gen enkyetid. ODYANS: Èske ou ka mande l 'bay oswa mande yon moun yo ka resevwa fisèl 1-- yeah, fisèl, ak then-- Andi Peng: Wi, se konsa sa a se yon kòmanse bon. Mwen pral kòmanse sezisman, regrèt, menm jan ou pale. So-- ODYANS: --Nan miniskil nimewo yo pi wo, dwa? Ou lèt yo miniskil gen nimewo ki wo? Andi Peng: Egzakteman. ODYANS: Se konsa, lè sa a nou fè soustraksyon 32 soti nan tou sa [fèbl]. Andi Peng: Great. Se konsa, nou kalite gen yon sans jeneral pou konnen kijan pou travay sou pwoblèm sa a. Lè konnen ke nou te kalite te aprann wout la fizik ki strings yo estoke nan memwa, sa ki fè ou deja konnen ke w ap ale nan pwobableman gen yo ekri nan kòd ou a yo nan lòd yo deplase atravè fisèl la? ODYANS: Pou bouk. Andi Peng: Yon pou riban, egzakteman. Great. Se konsa, nou kalite gen yon jenerik pseudocode ekri ki kalite an, ap ban ou nòt sou ki jan ou ta deplase sou rezoud pwoblèm nan. Kounye a ke ou gen sa a, ou ka referans li pou pita sou lè w ap eseye aktyèlman ekri kòd ou a. Se konsa, nou ka aktyèlman ale isit la. Apre sa, mwen te gen yon fonksyon rele upper.c-- gen li is-- nan jis yon modèl vid kounye a ke ou nèg yo ale nan ede m 'figi konnen sou kòman yo ekri liy sa a nan code-- pa liy nan kòd. Li pral liy miltip nan kòd. Lè kòmanse nenpòt ki sòt a vid pset, sa ki nan premye bagay la mwen bezwen sonje fè? ODYANS: [fèbl]. Andi Peng: Gwo Oui. Mete. stdio.h. Souvan sa a se youn nan erè ki pi fasil moun yo pral fè lè yo ap ekri, se ke yo pral bliye fè gen ladan yon bibliyotèk enpòtan yo bezwen. Se konsa, si li nan biwo heures Et w ap tankou, Mwen pa konnen poukisa kòd m 'pa travay. Èske ou ka di m 'poukisa li pa nan travay? Nou pral di ou te # enkli? Ou ta dwe # enkli li. OK. Se konsa, nou te gen estanda nan I / O isit la. Eske se sa ke bibliyotèk la sèlman nou ap ale nan bezwen isit la? Ki lòt bagay nou pral fè? Regrèt. Yon moun jis rèl li soti? ODYANS: [fèbl]. Andi Peng: Gen ou ale. OK. Ak ki jan pou m ale sou kòmanse nenpòt ki sòt nan fonksyon, nenpòt ki sòt de fonksyon prensipal nan pwogram nou an? Int prensipal la. OK. Ki sa ki mwen mete andedan isit la? Ki sa ki nan premye bagay la ou vle fè? Si nou vle yo ka resevwa yon fisèl soti nan itilizatè a, kisa nou pral fè fè sou liy sa a an premye? Padon, ou nèg jis santi lib yo pale leve, li byen fò. Jis rele soti kèlkeswa sa. ODYANS: Mande itilizatè a? Andi Peng: Ki jan nou fè sa? Ask-- yé ale nan tape "mande itilizatè a"? ODYANS: printf. Andi Peng: OK. Printf. Ki sa mwen vle printf? ODYANS: Tape nan yon bagay. Andi Peng: Tankou sa? Guys, pretann tankou mwen se yon òdinatè. Fizikman di m 'chak etap ke mwen bezwen tape nan isit la? Èske mwen fè yon bagay mal? Èske mwen ta dwe te tape yon bagay? ODYANS: Ou bezwen quotes. Andi Peng: mwen bezwen quotes? OK. OK. ODYANS: Lè sa a, nouvo liy. Virgules. Andi Peng: virgules? OK. Bon. ODYANS: E petèt presize ke ou vle l 'nan miniskil? Andi Peng: Great. Ou nèg ri nan m ' bliye yo mete yon virgules. Mwen garanti ou yon kote nan kou a nan klas sa a, ou pral bliye mete yon virgules, epi li pral pran ou twa èdtan eseye figi konnen poukisa kòd ou a se pa sa k ap travay. Li nan ki te pase nan tout moun nan nou. Li pwal pwobableman rive ou. Jwenn nan yon abitid bon nan lè l sèvi avèk virgules. OK. ODYANS: Èske ou vle fè antislach a nan? Andi Peng: Asire w. Ou vle fè antislach a nan? ODYANS: Wi. Andi Peng: Great. OK. Kisa pou mwen fè apre sa? ODYANS: Jwenn fisèl. Andi Peng: Jwenn fisèl. Se konsa, sa mwen tape? Yon moun? ODYANS: fisèl la. Andi Peng: fisèl la. ODYANS: GetString. Andi Peng: Yon moun, èske ou kapab di m 'ki kote sa a GetString fonksyon ap vini soti nan? ODYANS: String.h. Andi Peng: String.h? Ou panse ke li nan soti nan string.h? ODYANS: [fèbl]. Andi Peng: Gen ou ale. Li nan soti nan cs50.h. Si w ap toujou konfonn sou kote yon dosye bibliyotèk se oswa yon dosye header se, Google literalman string.h, epi mwen pral di ou ki sa yo tout fonksyon yo ki nan string.h. OK. Se konsa, kounye a ke mwen te kreye yon fisèl ak mwen te pouse itilizatè a pou li, Mwen te ki estoke l 'nan yon varyab yo te rele a, sa m 'bezwen fè kounye a? ODYANS: Tcheke si li nan nan miniskil. Andi Peng: Padon? ODYANS: Tcheke si li nan nan miniskil. Andi Peng: Tout dwa, se pou yo fè sa. Kouman pou mwen fè sa? Aktyèlman, pou rezon ki nan klas la kounye a, nou ap jis ale nan asime ke tout bagay ki opinyon nou se deja nan miniskil. Si ou te vle tcheke, ou ta jis ajoute yon deklarasyon kondisyonèl ki tcheke, ki kouri nan chak eleman etalaj sèl ak tcheke si li nan ant sèten valè. Mwen bliye sa nimewo a nan valè a miniskil ye. Ou ka gade l 'kanpe sou tab la ASCII. Men, yeah, sa a, se yon pwen reyèlman bon. Men, kounye a, nou ap jis ale nan asime ke tout strings yo nou opinyon se nan miniskil. OK. Se konsa, kouman ta mwen ale sou pwoblèm sa a vin apre a? ODYANS: Pou bouk. Andi Peng: Pou bouk? OK. Manyè di m 'ki sa yo tape. ODYANS: Pou int mwen egal 0. Andi Peng: OK. ODYANS: Oh, aktyèlman, lè sa a ou fè yon vigil ak fè n egal strlèn. Andi Peng: bagay Se konsa, enpòtan ke mwen panse ke li te remake isit la se ke nou pa t 'gen yo di int N dezyèm fwa nou te fè sa sa a. Jis konnen ke nan yon pou bouk lè w ap deklare, ou aktyèlman pa bezwen int a yon dezyèm fwa ou fè yon varyab. Ou ka di n strlèn. ODYANS: Nan a. Andi Peng: a. OK. ODYANS: Lè sa a, yon virgules. Andi Peng: Asire w. ODYANS: Lè sa a, [fèbl] n. Lè sa a, mwen ++. Andi Peng: Great. Tout dwa. Ki sa nou vle andedan nan sa a pou riban kounye a? Sonje byen, si nou ap ale nan kouri nan yon afè ak kouri nan yon etalaj, nou vle tcheke bagay sa yo nan li. Ki sa yo nou pral bezwen? Sa a se kalite pati nan difisil kounye a. Nenpòt moun ki gen yon devine? OK. Se konsa, premye, ki jan nou menm aksè nan? Ki jan nou menm premye chèk oswa aksè yon eleman nan etalaj la? Ki jan nou fè sa? Ki sa ki nan notasyon a nou itilize yo fè sa? Ki sa ki nan non an nan sa a etalaj rele? Yo rele li a, dwa? Sonje, nenpòt fisèl se toujou yon etalaj. Se konsa, nan bracket mwen, dwa? Paske se sa ki valè aktyèl la oswa valè endèks nou ap tcheke. Epi nou ap ale nan mete ki egal to-- nou vle se yon valè miniskil, dwa? Nou vle vire ki lower-- regrèt sa, nou vle yon majuskul. Nou vle vire miniskil nan valè nan yon majuskul. Se konsa, like-- Mwen regrèt sa, ki sa ki non ou? ODYANS: Heidi. Andi Peng: Padon? ODYANS: Heidi. Andi Peng: Heidi. Fè tankou Heidi di okòmansman, nou ap pwobableman ale nan bezwen the-- nou ap pwobableman pral fè yo fè soustraksyon 32 soti nan tou sa charc se sa ki, dwa? Paske sou yon ASCII tab, diferans ki genyen ant yon lèt miniskil ak yon lèt majuskul se 32. Se konsa, lè n ap fè sa a, nou ap pwobableman ale nan vle fè soustraksyon 32, dwa? Se konsa, nou ap ale nan fè nan m. Tout moun konprann pou ki sa m 'te fè sa? Paske kounye a, nan etalaj nou an, nou ap tcheke endèks la 0th, dwa? Ak nan endèks la 0th a nan fisèl, sa a, se pèsonaj la an premye. Epi sa nou ap ale pèsonaj ou panse li an miniskil. Si nou vle fè l 'majuskul, nou gen fè soustraksyon 32 soti nan valè li yo, paske se nan ASCII nou an tab, sa a, se ki jan nou jwenn li nan pwochen an ki koresponn valè ki fè li majuskul. Tout moun konprann sa? Yeah. ODYANS: Te kapab nou menm tou nou miniskil yon minus-- Andi Peng: Yeah, se konsa sa a, se aktyèlman reyèlman bon. Mwen pral tounen vin jwenn ke kesyon apre nou fè sa. Yeah. Lè sa a, si mwen vle wè sa ki k ap pase sou li a, M 'ap pwobableman ale nan vle enprime, dwa? Yon moun di m 'sa Mwen vle enprime isit la. ODYANS: printf pousan c antislach [fèbl]. Sa a valè a nan [fèbl] a mwen. Andi Peng: S m, regrèt? ODYANS: [fèbl]. Andi Peng: Mwen pa konnen. Kisa ou panse? ODYANS: Bon, mwen would not Mwen devine mwen pa ta bring-- Mwen ta pran li soti nan andedan, paske [fèbl]. Andi Peng: Oh, ou ta te fè sa? ODYANS: Yeah. Andi Peng: Se pou nou kite l 'wout la li se, epi mwen pral eksplike poukisa pita. Sonje byen, menm lè ou gen yon detantè plas, ou vle mete parantèz bò kote l '. Tout dwa. Se konsa, sa a ta dwe yon fonksyon solid isit la. Se pou yo kouri li ak wè si li compiles. Fè anwo kay la. Uh-oh. Sa pa gade twò bon. Poukisa se sa kap pase? Kòm avèk nenpòt erè, ou vle ale retounen lakay yo epi kòmanse ak yon sèl la an premye, paske anjeneral yon sèl erè kòz anpil lòt erè apre li. Isit la nou wè upper.c: 18: 25, ki di m 'nan pwogram sa a yo te rele upper.c, sou liy 18, erè chal deklare bibliyotèk nan fonksyon strlèn ak kalite unassigned-- bla, mwen pa konnen sa k ap pase apre sa. Tout li nan di m 'kounye a se ke yon bagay k ap pase sou strlèn nan. Apre sa, nan òdinatè a konfonn, paske li nan tankou, Mwen pa konnen sa strlèn se? Ki sa ki pwobableman di ou w ap manke? ODYANS: Ou ap manke [fèbl]. Andi Peng: Ou se dwa. Egzakteman. Se konsa, sa a se kote li a enpòtan a asire w ke chak fonksyon ou itilize nan ou Kòd a gen header ki kòrèk la aplike pou bibliyotèk la, oswa lòt moun w ap ale nan jwenn anpil nan erè ak kòd ou a pa pral konnen ki sa k ap pase sou. Se konsa, nou ap ale nan gen ladan string.h isit la. Koulye a, lè nou eseye konpile anwo kay la. Konpile kòrèkteman. Se pou yo kouri pwogram sa a. Se konsa, tape yon bagay nan miniskil. Ki sa ou mesye vle tape? Rele soti yon bagay. Tout dwa, Charly jis te mache nan. Nou pral tape non Charly la. Charly nan miniskil. Ak èspere ke, èspere ke, sa a se ale nan rele deyò epi yo krache soti Charly nan majuskul. Yay! tout moun konprann ki jan Mwen te ale sou rezoud sa? Fason ki ke mwen kapab manipile lè l sèvi avèk nonm antye relatif yo rezoud yon bagay ki Mwen vle fè nan strings, paske karaktè ak nonm antye relatif kapab dwe referans nan menm fason an paske nan kat ASCII. Se konsa, pou tounen nan pwen ou, si mwen te vle mete isit la olye pou yo 32 majuskul A mwens miniskil yon jis tankou ki, ki ta travay egalman kòm byen, paske se sa tou senpleman jis nan diferans ki genyen ant de valè sa yo. Si m 'vle fè sa a Charly again--. Oh pa gen okenn. Mwen panse ke nou al fè wout la sa ki mal, yeah? ODYANS: [fèbl] miniskil yon. Andi Peng: Gen ou ale. Oui. Ak soti krache Charly. Se konsa, dwe fè atansyon lè w ap soustraksyon valè sonje ki se yon sèl pi gwo pase lòt la. Pou egzanp, moute isit la mwen bliye ki miniskil yon se aktyèlman pi gran pase majuskul A. Se konsa, lè m ' te eseye fè soustraksyon yo nan lòt fason alantou li, mwen te resevwa negatif 32. Apre sa, òdinatè mwen an te tankou, Mwen pa konnen sa ki se. Li nan sèlman kèk o aza pwobabilite valè ki se pa trè bon. Se konsa, asire w ke w ap soustraksyon nan longè ki kòrèk la jwenn pèsonaj la ou vle. OK. Èske nenpòt moun ki konfonn sou ki jan nou t'ap mache nan ekri fonksyon sa a? OK. Se konsa, aktyèlman, yon fonksyon deja egziste nan bibliyotèk rele ctype.h la. Rele ctype.h bibliyotèk la. Fonksyon sa a aktyèlman se deja ekri pou ou. Li nan rele anwo kay la. Se konsa, pou rezon nan pset sa a, w ap ale ke ou jwenn ke ou reyèlman vle sèvi ak yon anpil nan fonksyon ki genyen nan bibliyotèk la ctype. Nan Upper, pi ba, se anwo, se lower-- sa yo se tout fonksyon ke ou yo pral kapab sèvi ak anpil, trè byen vit nan kòd pwòp ou a, ki fè ekzakteman ki sa sa a fè. Nou te ekri konnen kouman ou kapab konvèti yon afè majuskul. Men, sa a se aktyèlman kòd la ki te yon moun lòt bagay ekri e ke ou kapab jwenn aksè nan atravè yon fonksyon diferan. Yeah? ODYANS: Se konsa, ou jis kopi Yon a nan gen ak fè li pou chak lèt ​​yon sèl? Andi Peng: Yeah, paske mwen pa fè sa pran swen sou valè yo nan yon. Mwen jis pran swen ke diferans lan ant yo se 32, dwa? Diferans ki genyen ant miniskil b ak majuskul B tou se 32. Apre sa, diferans ki genyen ant c ak majuskul C se toujou 32. Mwen jis gen nan pran swen sou nan diferans ki genyen ant de a, paske tout nan lèt yo swiv modèl la menm, dwa? Si mwen gen diferans ki genyen ant youn nan yo, Mwen konnen sa la diferans ant tout nan yo se. Bon kesyon. Yeah. Tout moun sa ki bon? OK. Op. OK. Se konsa, yon lòt konsèp sa a, se pral fè trè itil jan ou kontinye devlope kòd ou a se ide sa a pou kreye fonksyon oswa distraksyon. Se konsa, kounye a, nou te tout te pran aljèb. Nan aljèb, se ou ki te anseye ke gen bagay sa a bèl bagay yo rele yon fonksyon machin, kote si ou D 'yon sèl sòt de nimewo, li kouri nan fonksyon sa a bèl bagay ak soti Pops yon pwodiksyon diferan, dwa? Nan kòd, menm bagay la k ap pase nan nenpòt ki sòt de fonksyon. Se konsa, mwen te kapab fizikman ekri nan kò mwen an nan kòd m ' yon deklarasyon prensipal ki aktyèlman fè tou sa kò a nan kòd la ap fè. Men, deyò nan sa, mwen kapab tou ekri anpil fonksyon diferan ki fè anpil bagay diferan. Pou egzanp, nou te deja te kòmanse lè l sèvi avèk kèk nan yo. Printf ki se yon fonksyon ki yon moun lòt bagay te deja ekri ki nou ka rele nan kòd nou an. Upper-- nan ka sa a, se yon lòt fonksyon upper-- nou te ekri ke nou ka rele nan kòd nou an. Se konsa, mwen devine poukisa nou menm gen fonksyon? Poukisa nou pa nou jis plok li tout moun ki nan liy nan menm nan Kòd? Li fè l pi fasil pou tout moun. Oke, rezònman la dèyè ki se, premye a tout moun, òganizasyon. Li nan reyèlman anmèdan pral a Kòd yon moun nan ak youn fonksyon tankou printf. Si ou nèg aktyèlman te konnen sa ki nan printf fonksyon explik yo ekri, li a, tankou, 1,000 liy nan kòd. Si chak fwa mwen te vle printf yon bagay, Mwen te oblije ekri 1,000 liy nan kòd, ki ta ka reyèlman anmèdan li, dwa? Se pou rezon sa nou te jis kreye fonksyon sa a abstrè ke nou te deja yon moun lòt te ekri yon lòt kote. Apre sa, chak fwa nou bezwen sèvi ak li nan Kòd nou an, nou jis te vle di printf. Apre sa se kapab sèvi ak fonksyon an yon lòt moun te ekri nan kòd nou an. Li fè li pi fasil organizasyonèl li kòd. Dezyèmman, li nan senplifikasyon. Li senplifye etap sa yo nou gen pou pran pou rezoud pwoblèm nou yo. Printf, fonksyon tankou printf, fonksyon tankou yo anwo yo tout bagay sa yo ke pèmèt nou senplifye Kòd nou an desann se konsa li a pi fasil. Epi bagay pase a se reutilizasyon. Se konsa, lefèt ke nou gen yon fonksyon rele printf ke nou ka rele anpil diferan fwa ak pèmèt li nan dwe ki kapab itilize ankò. Si m 'te ekri printf, Mwen sèlman ekri li yon fwa. Li egziste sèlman nan kote sa a yon sèl. Si m 'te vle fè l' ankò, mwen ta gen a kapab bay kopi ak keratin nan tout sa nan liy dezyèm m 'lan nan kòd. Se poutèt sa si nou kreye yon fonksyon ki egziste deyò nan prensipal nou an, nou ka jis rele li epi jam itilize li chak fwa nou bezwen lè sa a, li nan yon anpil pi fasil pou nou kòm pwogram yo ekri. Se konsa, fason a ke nou ta aktyèlman ekri yon fonksyon se trè menm jan, dwa? Sa a se kalite premye a egzanp nan ki nou pral wè yon pran fonksyon sou yon style diferan pase anile Int nou an prensipal la. Nan ka sa a, si mwen te vle ekri yon fonksyon rele q, dwa? Ak valè a int isit la se tout di m ', sa m 'vle sa a fonksyone pou li retounen nan m 'konsa? Si m 'vle kib yon nonb antye relatif, Mwen pral vle opinyon. Sa yo se paramèt yo. Mwen pral entrain se yon valè nan kalite INT. Apre sa, mwen pral retounen yon lòt valè di ki kalite int. Ak nan isit la, menm jan ou ka wè, tout m ap fè se cubing tou sa opinyon mwen an se kòm pwodiksyon m 'ak retounen li. Se konsa, tout fonksyon sa a fè se pran kèk sòt de nonb antye relatif. Li miltipliye li pou kont li de fwa konsa ke li blòk an efè. Lè sa a, li retounen tou sa ki pwodiksyon se. Se konsa, nan ka sa a, li nan de liy nan kòd ki nou te gen yo ekri siplemantè. Men, si nou te vle rele sou sa a plizyè fwa, li nan yon anpil pi fasil yo tape ke youn liy dwa isit la sa a, se nan kib pase gen yo ale nan plizyè fwa. Se konsa, fason nan ki esansyèlman nenpòt fòma pou nenpòt ki sòt de fonksyon ki pral egziste se tankou isit la. Se konsa, nou gen non an fonksyon. Nan ka sa a, sa yo rele kib. Apre sa, nou non li kib paske li fasil sonje. Ou ka non li kare ak li ka aktyèlman ap Gleason. Pa gen pwoblèm. Jis yon non ke w ap plase fonksyon ou yo. Dwa sa a isit la, int, se nan di ki kalite paramèt ou bezwen an. Se konsa, sa fè fonksyon sa a bezwen yo nan lòd yo opere? Oke, li bezwen yon opinyon. Mwen rele l 'opinyon. Ou ka non li tou sa ou vle. Men, mwen bezwen yon bagay nan kalite INT. Li k ap pase yo aktyèlman egzekite tou sa se andedan nan isit la, kò a nan fonksyon an. Lè sa a, kalite a retounen dwa isit la, sa a int-- tout li nan di m 'se ki fonksyon sa a se ale nan tounen vin jwenn mwen nan int. Se konsa, li k ap pase yo pran nan yon int, ak li nan pral ba ou tounen yon int. Tout moun konprann an ki jan fòma nan sa a kalite travay? Fre. OK. Se konsa, pa dwe enkyete si sa a sanble yon ti kras dwat abstrè kounye a. Sa a se yon bagay ke nou pral pale sou. Nou pral plonje nan pi fon pita sou nan kou a. Fason ki ki nenpòt ki sòt de pi wo nivo distraksyon nan sa yo bagay sa yo travay se ke, nan memwa, nan òdinatè w lan, tout bagay se ki estoke nan kalite sa a nan chemine, pou m 'di. Se konsa, 'kanpe nan tèt la. Mwen pa konnen si ou mesye ka wè ke byen. Mwen pral eseye rale nan. Isit la nan tèt la, nou gen tèks la fizik nan sa ki òdinatè a se interpreting-- tout zewo yo ak moun yo ki egziste nan òdinatè nou yo. Lè sa a, nou te inisyalizèd a done ak uninitialized done, sa nou rele varyab mondyal. Se konsa, varyab ki egziste atravè tout pwogram ak toupatou nan tout antye ou, esansyèlman, kòd. Pa gen enkyetid si ou nèg yo se kalite klè sou sa. Li pa reyèlman gen pwoblèm kounye a. Lè sa a, nou gen sa ki nan rele yon pil nan yon pil. Panse a yon pil literalman kòm jis tankou yon pil nan bagay sa yo, yon pil nan diferan bagay te pouse sou tèt nan chak lòt ki magazen divès kalite nan varyab ak sentaks ki nan kòd ou a. Lè sa a, isit la nan Apre sa, pati anba a trè, nou gen anviwònman varyab yo nan sa ki w ap egzekite nan jis liy ti kras ou nan kòd. E nou jis ale nan rale nan sou pati nan chemine vrè. Se konsa, dwa isit la, si nou te rale nan sou jis zòn sa a nan chemine a, sa a se sa li sanble. Lè sa a se aktyèlman trè enpòtan lè ou nèg pale sou fonksyon, paske avi ke nan memwa nan òdinatè w lan se estoke varyab yo ak fonksyon yo ak paramèt yo nan tou de ou fonksyon ak varyab prensipal ou nan diferan kote. Se konsa, kounye a, prensipal la se fonksyon aktyèl la ke w ap egzekite nan yon kòd. Ou te paramèt li yo ki estoke isit la ak varyab lokal li ki estoke isit la. Varyab lokal jis vle di nenpòt ki varyab ki egziste sèlman nan ki fonksyon. Yo, epi sou tèt li, ou gen sa a fonksyon separe rele kib. Ou gen sa a, se paramèt osi byen ke moun moun nan lokalite. Ak rezon an ou kapab wè isit la se ke sa k ap pase lè kib pran nan yon valè soti nan fonksyon prensipal ou se ke aktyèlman li nan kopye ke plis pase. Se konsa, si mwen te vle kib 2 epi retounen 8, ke 2 se aktyèlman antre kòm yon paramèt ak li a kopye sou pou ke ou genyen li ki deja egziste nan de kote diferan nan memwa. Epi ou gen dwe pran anpil prekosyon sou sonje ki youn nan moun ki w ap aktyèlman manipile. Apre sa, yon egzanp sou sa ki te pase ki ta ka trè, trè move egziste isit la menm. Se konsa, isit la menm, mwen gen leve, nan teyori, yon pwogram dwa isit la, yon fonksyon prensipal ke mwen deklare yon int x egal 1. Mwen deklare yon lòt Int y egal 2. Lè sa a, mwen kouri li a fonksyon sa a rele swap, kote mwen asime ke li nan échanjé de valè yo. Lè sa a, mwen pral enprime yo soti, dwa? Sa a ki sa mwen vle pwogram sa a fè. Se konsa nou desann epi pran yon gade. Se konsa, si mwen aktyèlman ekri yon diferan fonksyon, jan ou ka wè, nou gen fonksyon prensipal nou an isit la. Lè sa a, nou gen nou an dezyèm fonksyon isit la. Anile swap. Anile jis vle di ke li nan pa ale nan retounen anyen. Non a fonksyon se rele swap, epi li ale nan konsomasyon de varyab, int yon ak int b, ki soti nan fonksyon ou [fèbl]. Se konsa, esansyèlman nan isit la, nou ap pase x ak y nan fonksyon sa a. Men, si nou te kreye sa a men se konsa nou vle yo kreye yon valè pou yon ti tan, dwa? Nou pral bay ki nan yon. Lè sa a, yon ki pral kounye a egal b. Epi b a pwal tounen kote valè a temp te, ki se yon, paske lè ou vle swap bagay sa yo, ou pa kapab jis renmen swap yo. Ou gen kenbe yon sèl soti isit la se konsa ke li sonje sa se sa ki, paske yon fwa ou swap yon sèl, ou ta bliye ki sa sa valè orijinal te, dwa? Se konsa, nan teyori, pwogram sa a yo ta dwe travay, dwa? Si mwen te vle swap a de, yo ta dwe swap. Se konsa nou kouri li ak wè si li fonksyone. Se konsa, kòm ou nèg ka wè, x te yon fwa 1 ak y te yon fwa 2. Men, si mwen enprime li soti, x se toujou 1 ak y se 2. Hmm, pwogram sa a pa sanble yo gen k ap travay wout la ke mwen vle li nan travay. Nenpòt moun ki vle pran yon piki a devine poukisa sa a te pase? Li te gen fè ak wout la ke bagay sa yo diferan yo ki estoke nan diferan kote nan memwa. OK. Se konsa, ou nèg pa gen enkyete twòp sou sa a kounye a. Men, konnen ke kib la lokal varyab te yon ak b, paske isit la nan fonksyon nou an, nou te deklare yon ak b kòm varyab yo ki egziste nan kib, ki fonksyon. Men, jan ou ka wè, paramèt yo ki li nan pran nan yo te ki estoke isit la. Men, nou pa t 'aktyèlman retounen anyen. Nou pa te aktyèlman chanje x ak y. Nou te jis chanje yon ak b. Nou te kopye x ak y nan yon bagay yo rele yon ak b. Men, nou pa janm aktyèlman manipile x ak y tèt yo. Èske ou nèg wè ki jan ki nan k ap pase? Eske se sa ke nou te tou senpleman kopye li sou, men nou te aktyèlman kenbe pa tras nan kote yo te nan memwa. Se konsa, kounye a òdinatè a se kap, o, mwen te kouri bagay sa a nan fonksyon sa a bèl. Men, x ak y yo toujou x ak y. Pa gen anyen ki te pase nan la yo paske nan lefèt ki paramèt moun ak varyab lokal yo estoke nan yon diferan mete nan memwa. Lè sa a se yon-nivo ki pi wo konsèp ke nou pral kòmanse wè pita sou nan kou a. Men, jis konnen ke sa a se yon pwoblèm ki ka rive e ke nou pral konnen fason sou kòman yo fas ak sa a pita sou nan kou a. OK. Tout dwa. Se konsa, konsèp ki sot pase a nou ap reyèlman ale yo kouvri ki k ap pase yo dwe itil pou pset la semèn sa a yo se sa ki yo rele yo liy lòd agiman. Se konsa, Rob nan konferans l 'mache ale nan tout kalite yon ti tan sou ki jan sa yo travay. Esansyèlman konnen ke lè w ap ekri tankou yon fonksyon prensipal yo, lè nou te ekri fonksyon anvan nan tan lontan an, nou te gen int anile prensipal la. Ak rezon an nou te gen anile gen te paske pwogram nou pa t ' bezwen valè opinyon nan kouri, dwa? Lè m 'kouri Mario, mwen pa t' bezwen ki aktyèlman jis tape nan yon bagay lè m 'kouri Mario. Mwen te kapab pouse itilizatè a pita sou. Men, sa pa ap toujou gen ka-a. Pou egzanp, nan ka sa pwoblèm semèn nan kouche, w ap ale nan ap mande ke, nan adisyon a kouri pwogram ou an, w ap ale nan vle D ' sèten bagay sa yo nan tou dwat jan ou kouri pwogram ou an. Se konsa, se yon fason a nou fè sa rele yon agiman liy lòd, ki se tankou yon diskisyon ou kapab D 'dirèkteman jan ou ap eseye kouri pwogram ou an. Se konsa, notasyon a pou sa a, li a trè konplèks-kap, men li la reyèlman pa sa ki difisil. Se konsa, int main-- sa se sèlman fonksyon prensipal ou an. Nan arg vigil parantèz fisèl argv. Se konsa, tout sa ki nan li di se ke sa a int argc-- tout sa ki nan di ou se ke sa yo se ki kantite agiman òdinatè a ta dwe atann. Se konsa, yon sèl bagay sa ki nan vrèman enpòtan nan kenbe tras nan se non an fizik nan pwogram ou an konte kòm youn nan moun ki agiman. Se konsa, si mwen te vle gen pwogram mwen kouri plis yon liy lòd adisyonèl agiman, mwen se aktyèlman ale nan gen de. Arg la aktyèlman pral yo dwe de. Lè sa a, fisèl argv bracket-- tout sa ki fè, li nan bay m 'yon etalaj de strings sa a, se ale nan jis montre ak magazen sa tout moun ki agiman liy lòd yo. Se konsa, pou egzanp, si mwen te vle gen sa a pwogram, ./copy infile outfile, dwa? Se jis yon tipik Linux lòd. Ki sa ki aktyèlman se arg? Konbyen liy lòd agiman ki genyen aktyèlman nan sa a? Tout bagay sa a fè se fè yon kopi yon infile nan non an nan yon sèl dosye epi li kopi l 'nan yon lòt dosye, dwa? Sa a tout sa a ap fè. Kòm ou ka wè, m ap fè l 'sou yon sèl liy san yo pa aktyèlman ki bezwen pwogram nan. Ki sa ki se arg nou an nan ka sa a? Konbyen agiman nou genyen? ODYANS: Twa? Andi Peng: Nou gen twa, egzakteman. Se konsa, li trè entwisyon yo jis panse ke li nan jis infile la ak outfile la. Men, konnen ke non an nan fizik la nan pwogram w ap kouri konte kòm youn. Se konsa, nan ka sa a, arg se aktyèlman twa. Kouman sou, ki sa ki argv 0? Sonje byen, tout nan la liy lòd agiman te ki estoke nan yon etalaj de strings. Se konsa, si mwen eseye gen aksè a li, ki sa ta argv bracket 0 ban m '? ODYANS: [fèbl]. Andi Peng: Egzakteman. Li ta ban m 'dot nan koupe kopi, paske sa a, se eleman nan 0th, nan premye eleman nan etalaj m 'yo. Ki sa ki sou argv 1? ODYANS: infile. Andi Peng: infile, egzakteman. Ki sa ki sou argv 2? ODYANS: outfile. Andi Peng: outfile. Sa a se yon ti jan difisil kounye a. Ki sa ou mesye panse argv 3 yo pral bay m ' si mwen te eseye enprime ki soti? ODYANS: [fèbl]? Andi Peng: Èske ou gen yon moute men? Yeah. ODYANS: Yon altènatif. Andi Peng: Egzakteman. Se konsa, sonje nan konferans ke nou gen nan fen a nan yon yon bagay ras rele yon Terminator nil? Nou pral jwenn nan sa a tou plis sou nan klas la. Men, konnen ke nan notasyon, wout la òdinatè w lan konnen ke li nan fen a nan etalaj la se ke li mete yon bagay yo rele yon nil Terminator oswa yon priz zewo. Se konsa, si ou eseye jwenn aksè nan argv 3, w ap ale nan frape sa a priz 0. Sa a se menm plis nan yon kesyon Trick. Ki sa ki sou argv 4? Se konsa, sa a se sot pase Terminator nil, sot pase avèk limit yo nan etalaj nou an. Ki sa ou panse ki pral rive lè nou eseye fè sa? ODYANS: [fèbl]? Andi Peng: Padon? Di ke yon ti jan pi fò? ODYANS: [fèbl]. Andi Peng: Wi. Sa se non an nan la zòn ou pral gen plis chans jwenn. Men, konnen ke argv 4-- ki pèmèt ou gen aksè kote nan òdinatè w lan nan memwa ke ou reyèlman pa ta dwe manyen, paske kounye a ou konnen ki sa argv se. Ou konnen ke li nan yon etalaj de gwosè 3 ki gen dot kopi, infile ak outfile. Si ou eseye ale byen lwen tèlman pi lwen pase sa ke w ap sot pase Terminator a nil, òdinatè ou a gen pwobableman ki estoke nan argv 4 yon bagay. Apre sa, ou reyèlman pa ta dwe pèmèt aksè nan argv 4, paske ou gen yon dosye kabinè epi w ap sèlman pèmèt aksè nan moun twa etajè. Men, si ou eseye rive nan fason pi lwen pase etajè a nan kote ou yo gen dwa, w ap ale nan kòmanse pitye ak lòt bagay nan memwa òdinatè ou a. Sa k ap pase yo dwe reyèlman, reyèlman move. Se konsa, jis konnen ke. Dwe pran anpil prekosyon ke ou pa sèlman owaza kòmanse aksè eleman nan yon etalaj ki yo pa t 'nan sa ki ou te vle kreye. Oui. OK. Se konsa, nou ap ale nan fè yon lòt tèminal egzanp isit la. OK. Se konsa, byen vit nan konferans Rob lòt jou a te ale a egzanp sa a, kote li te te gen int prensipal int arg argv fisèl parantèz, ki se di m 'ke mwen se ale nan gen lòd liy agiman. Li gen, si arg egal egal 2-- sonje, egal egal vle di konparezon. Si li egal 2, Lè sa a, mwen se ale nan enprime hello, tou sa premye a eleman nan etalaj la se. Ekri an lèt detache lòt moun, alo nan lemonn. Ki sa ki sa a pral rive esansyèlman? Èske gen yon moun jis eksplike nan Angle ki sa pwogram sa a ap fè? Yeah. ODYANS: Si yon moun tape nan yon lòd li di non premye ak dènye yo, li pa pral jis enprime nan premye yon sèl ak di, hello, tou sa premye non ou se. Andi Peng: OK, se pou yo kouri li. Se konsa, pou egzanp, si m 'te fè sa a ranpli fè alo alo to-- to-- sa ou vle m 'D'? ODYANS: Premye ak siyati. Andi Peng: Premye ak siyati? Spaces? ODYANS: Yeah. Andi Peng: Èske yon moun di m 'kounye a, ki sa ki arg? Jis dwa a? Wouch, regrèt. Kite m 'ale tounen. Konbyen liy lòd agiman sont- ou nèg pa ka vrèman wè. Men, mwen pral eseye rale nan. M ap eseye. Yeah, gen nan twa, dwa? Li nan dot koupe hello, li nan Andi, epi li Peng. Se konsa, sa ou nèg panse ke sa a pwogram yo pral enprime soti? Oh. Oh, regrèt. Wrong non. Li nan enprime soti, alo nan lemonn. Nenpòt moun ki vle yo eksplike poukisa ki nan k ap pase? Yeah? ODYANS: [fèbl]. Andi Peng: Egzakteman. Se konsa, isit la, se kondisyonèl se, si arg egal egal 2. Se konsa, sèlman nan ka a ke gen nan de liy lòd agiman. Lè sa a, mwen pral enprime, hello, tou sa li se. Men, lòt moun, mwen pral enprime jis, alo nan lemonn. Se konsa, yon moun vle ban m 'yon egzanp nan ki jan mwen ta dwe kapab aktyèlman jwenn li nan enprime valè a nan argv 1? Ki sa ki ta mwen gen yo opinyon isit la? Se sèlman yon sèl bagay, dwa? Paske alo nan dot nan deja konte kòm agiman an premye. Mwen sèlman gen yon sèl plis. Se konsa, dot alo si mwen jis fè Andi. Hello, Andi. Tout moun konprann poukisa ki nan k ap pase? Yeah. ODYANS: Se konsa, espas ki la ant nan line-- lòd se li [fèbl]? Andi Peng: No Se konsa, espas ki la nan yon liy lòd agiman, x, di òdinatè w lan ke sa a se kòmansman an nan yon nouvo fisèl. Se konsa, fisèl argv isit lan-- li magazen tout nan kòmandman ou yo liy agiman nan strings. Se konsa, espas ki la nan liy la bay lòd argument-- tou sa fè se di nou: sa a se nan fen a nan yon sèl fisèl ak li lè pou avanse pou sou yon lòt. Yeah. Sa a se trè enpòtan pou pset ou, paske ou se ale nan dwe fè tès sa yo. Se konsa, nenpòt moun ki gen nenpòt kesyon sou sa a? OK, fre. Yeah? ODYANS: Se konsa, rezon ki fè yo ou ta mete nonb antye ki pè agiman Calc olye pou a [fèbl] ta dwe lè ou vle tape plis enfòmasyon yo [Fèbl]? Andi Peng: Yeah, egzakteman. Gen kèk pwogram pral mande pou ou D 'yon agiman liy lòd ki li pase nan ak ki sèvi ak sa. Yeah. ODYANS: Se konsa, sa si [fèbl]? Andi Peng: Bon, sa ki fè mwen gen Lè sa a, chanje nan pwogram mwen an? ODYANS: Jis 3. Andi Peng: Poukisa se ke pase, ou panse? ODYANS: Paske [fèbl a]. ODYANS: Ou ta dwe chanje li nan 2 [fèbl]. ODYANS: 1 ak 2. Andi Peng: 1 ak 2, egzakteman. Se konsa, nan ka sa a, ou ta pwobableman vle gen de printf statements-- youn ki enprime argv 1 ak yon sèl la ki enprime argv 2. Isit la. Mwen ka aktyèlman fè sa reyèl rapid. Gen ou ale. Oh. Pa byen ki sa ou te vle. Men, si ou nèg dezòd otou ak fòma a, li ap vini soti. Yeah. Fre. Mwen konnen nou ap yon ti jan kout sou tan. Men, mwen jis ale nan byen vit pase yon minit koup ale atravè tout helpful-- ODYANS: Ou gen de minit. Andi Peng: Mwen gen de minit? Mèsi. Gen kèk pset konsèy rapid. Se konsa, pou pset sa a, mwen trè rekòmande, tankou mwen te di, tout moun li espèk a. Ou pral ekri twa youn programs-- rele initials.c, youn rele caesar.c, yon sèl rele vigenère.c. Men kèk konsèy enpòtan pou ou nèg reyèlman vle kenbe nan mind-- konsa gen fonksyon sa a rele atoi-- jan mwen renmen di, yon Trois. Klè si sa a aktyèlman ki jan ou di li. Men, tout li a fè, li nan Anthrax. Li konvèti yon kòd nan yon int. Se konsa, yon reprezante ASCII mwen nonb antye relatif. Li nan jis konvèti ASCII valè nonb antye relatif valè. Se konsa, sonje argv, etalaj la ke magazen tout nan kòmandman ou yo liy arguments-- li estoke yo tout kòm strings. Se konsa, si ou vle pou kapab gen youn nan yo vin tounen yon nonb antye relatif, w ap ale nan gen yo sèvi ak sa a valè isit la. Modulo, tankou nou kouvri pi bonè nan klas jodi a, pèmèt ou gen an rès nan tou sa ou genyen. Se konsa, si nou gen reyèlman, reyèlman nimewo gwo nan Seza, sa ki si nou gen fen nan nan yon afè de Vigenere? Ki jan ou menm ki pral kapab yo ka resevwa ke yo vlope toutotou? Si m 'frape z e mwen vle li pou tounen nan yon, ki jan mwen pral jwenn ke yo vlope toutotou? Pwobableman vle sèvi ak modulo nan la yon kote. Dezyèmman, browse alantou bibliyotèk ou. ctype.h. Sa se yon bibliyotèk nouvo nou genyen. Ou ap jwenn yon anpil nan reyèlman, reyèlman itil isupper functions--, islower, toupper, toloe, isalpha, et setra. Tout fonksyon ki pral trè itil lè w ap ap eseye figi konnen, se karaktè sa a yon lèt miniskil? Kouman pou mwen konvèti sa a fisèl nan yon majuskul? Tout bagay sa yo pral trè, trè itil pou pset ou yo. OK. Lè biwo aswè a se 8:00 11:00 nan sal klas la TEAL demen osi byen ke Mèkredi ak Jedi swa. Biwo èdtan yo nan Commons. Trè sijere ou nèg tout jwenn te kòmanse touswit, paske ou pa vle yo ki jenn ti kabrit ki moun ki Jedi swa gen pwoblèm soumèt pset ou ak se tankou, mwen pa konnen sa yo dwe fè. Mwen te kòmanse, mwen fini, mwen soumèt. Eseye bay tèt ou kèk chanm, paske se nan pwoblèm Kòd toujou rive. Ou vle asire w ke ke ou bay tèt ou yon anpil nan tan yo pral kapab ranpli psets yo. Fre. Mwen pral pann alantou isit la. ODYANS: Èske sa a sou entènèt deja? Andi Peng: Mwen pa konnen si li nan sou entènèt deja, men li pral. Mwen pral kwoke alantou isit la si yon moun gen nenpòt kesyon deja. Mèsi pou vini yo.