[Powered by Google Translate] DAVID J. Malan: Tout dwa, sa a se CS50 ak sa a se nan fini nan Semèn 1, se konsa kat etid yo se nan ak kantite total kamarad klas ki di ou gen ane sa a se 745. E nou konsa frisonen gen anpil nan ou nan kou a sa a semès, men menm si kou sa a se konsa gwo, reyalize ke li nan sa yo bagay sa yo tankou Vandredi manje midi, tankou biwo èdtan, 15-moun seksyon, ak pou fè ki yo vrèman vle di yo kreye sa a pi plis entim anviwònman. Se konsa, menm si nou ka ranmase yon fwa oswa de fwa yon semèn, isit la nan Sanders, konnen ke anpil nan eksperyans ou nan kou sa a pral anpil pou men-sou sou yo ansanm kondisip ou ak anplwaye nan ansèyman. Se konsa, isit la nou ale, Fall 2012. Se konsa, sonje tan sa a dènye nou te fini sou yon nòt nan enpresizyon, ap pale de reprezantasyon an nan nimewo. Epi nou te gade nan youn nan echèk yo ki sa ki te rive, nan la reyèl mond, lè li rive nan mal konprann ki jan òdinatè travay. Oke, jodi a nou pral revize yon lòt youn nan ide sa yo kòm byen ke kontinye diskisyon nou an kliyan an CS50 ak C ak sa li vle di reyèlman nan pwogram. Men, anvan, jis yon koup nan gwo toubouyon anons. Seksyon kòmanse jou Dimanch sa a, ak nan premye semèn se toujou yon ti jan nan yon kòmanse rapid, paske nou jis te resevwa nan fòm seksyon ou an. Nou ap fè menm bagay la tou, koulye a, avèk zanmi pou anseye, kounye a yo ke yo konnen orè yo, se konsa nou ap vise, pa Samdi maten, te fè swivi avèk ou ak seksyon ou devwa ak tf. Reyalize ke yo pral kòmanse jou kap vini an, Dimanch oswa Lendi oubyen Madi. Lè sa a, nou pral akomode chanjman seksyon jan yo Leve chita non nan jou ki ap vini yo. Lè biwo louvri, pandan se tan, se, ankò, aswè a, 8 PM rive 11, nan Annenberg, osi byen ke lannwit demen. Menm si ansanm sa yo, pwoblèm yo jeneralman kòmsadwa sou jedi jwenn yo midi, reyalize ou gen jiska senk jou an reta yo ap depanse, pakonsekan disponiblite a lè biwo a jedi si ou lajan kach nan youn nan jou sa yo an reta, epi konsa, soumèt yon bagay nan Vandredi. Kite m 'sijere ke reyur se nan mitan plezi a pi plis, nan mitan an plis ki ba aparèy televisyon HD pwoblèm kle. Apre sa, mwen ta pann sou jou sa yo an reta, stratégiquement, jis pou pita nan semès la lè lavi kòmanse jwenn nan fason a ak midterms ak lòt klas. Set pwoblèm 1, pandan se tan, ta dwe afiche sou la nan kou sou sit wèb sa a Vandredi, kòm ap fèt nan mache kou a nan atravè videyo, ki pral filme-li nan 2:30 PM nan Vandredi ak Lè sa a, afiche sou entènèt nan jou kap vini an. Se konsa, nou te fini nan Lendi. Mwen vle - aktyèlman, youn note isit la. Paske klas yo - paske Sanders pa egzakteman prete tèt li aksidantèl Q & A ak tounen soti fò anpil byen, nou ap ale nan eseye yon bagay yon ti kras nouvo ane sa a, annakò ak sa si ou pa konfòtab ogmante men ou oswa ou jis ta pito pa leve men ou nan yon chanm tankou sa a, nou pwal gen kèk nan zanmi yo ansèyman ak sèrtifikasyon atitid cs50.net/discuss pandan konferans. Se konsa, si ou gen yon kesyon paske mwen te konplètman klè sou yon bagay oswa ou se kirye sou kèk topic, eseye afiche li a. Tag l 'ak yon etikèt sou nan Lecture, epi nou pral fè pi byen nou jodi a ak semèn pwochèn - we'll eseye sa a soti - nan jaden li swa elektwonikman, sou entènèt, oswa si li santi l tankou nou ta dwe vrèman adrese li en masse, youn nan zanmi yo oswa ansèyman Sèrtifikasyon pral leve men yo epi yo mande anonim sou non ou. Se konsa, nou pral bay sa a yon eseye ak wè kòman byen sa a travay. Men, pa tout vle di, kontinye leve men kòm ou ta renmen. Se konsa, dènye fwa nou te revele ke 10% oswa yon sèl-dizyèm se pa, nan reyalite, 0.1, tankou ou te konn anseye anpil ane de sa. Li nan an reyalite, yon valè tankou sa a. Men se pa sèlman nèt vre, dwa? Nou jis gen sa a contrainte nan òdinatè kote, si ou sèlman gen yon kantite lajan fini nan memwa, RAM, oswa pi plis espesyalman Bits, byen, gen nan sèlman yon nimewo fini de bagay sa yo ou ka reprezante. Pou egzanp, si nou gen nimewo a zewo, e nou vle reprezante nan binè, lè l sèvi avèk Bits uit, kote yon ti jan, ankò, se yon zewo oswa yon sèl yon, nou ka reprezante li kòm 00000000. Epi sa a, yon ti kras san nesesite sil. Jis tankou nan sistèm nan desimal nan mond reyèl la, jeneralman, si ou vle ekri 123 nimerik la, nou moun pwobableman pa ekri 00000123 menm si, fonksyonèl, sa se nimewo an egzak menm. Nou jis lage zewo dirijan, se konsa pale. Nan binè, nou ka fè menm bagay la. Binè ak zewo, zewo ak binè se jis zewo. Ou sèlman bezwen yon ti jan sèl. Men ankò, inite ki pi komen pou mezi nan mond lan nan informatique se bytes, wit miyèt moso. Jis paske yon sèl ti jan, bèl initil. Uit Bits, pa fò anpil itil, men omwen li nan plis itil pase yon sèl inite ki mezi. Se konsa, avèk uit Bits, nou pral tipikman reprezante binè. Se konsa, isit la nou gen chif yo zewo, yonn, de,, ak lè sa a, kòm Nate te fè nan videyo nou an a mèkredi dènye, nou ka kontinye konte jiska sèt a ywit. Lè sa a, si nou sèvi ak pi plis ak plis Bits, nou ka konte jiska debordeman. Men, si ou sèlman gen yon nimewo fini nan sa yo Bits, kòm se ka a nan nenpòt ki sistèm òdinatè, oswa menm misil sistèm, byen, tout bon ou gen sèlman yon fini kantite lajan pou presizyon. Se konsa, si ou vle reprezante ki kantite tankou 0.1, byen, nan òdinatè gen yo chwazi epi chwazi. Men, si li sèlman gen yon nimewo fini nan nimewo sa li kapab reprezante, li ka vin pre 0.1 pou ou, men li pa kapab nesesèman ba ou egzakteman valè a ke ou vle. Lè sa a se jis youn nan defi yo nan òdinatè, anba kapo machin lan, Erezman. Kòm nou deplase pi lwen nan semès la, sa yo pi ba nivo detay vin nan anpil mwens enteresan, men sètènman aplikasyon nan ide sa yo ka gen kèk mond anpil reyèl ramifications. Youn nan se yon plezi ti jan. Konbyen nan ou te wè fim etonan Espas nan Biwo? Si ou gen pa, se sa ki ofisyèl ou devwa pou semèn nan. Men, nan espas biwo, zanmi yo nan sa fim pran avantaj ki genyen nan pwesizeman lide sa a yo, men yo aktyèlman te vòlè li soti nan yon lòt fim ke ou ta ka genyen wè, menm ane anvan. Se konsa, kite m 'ba ou yon kèk segond nan sa a trelè soti nan sa a fim etonan ak sa a se anpil onivo akademik ki enpòtan. [Jwèt fim] Aktyèlman mwen te monte. Mwen ka pwogram yon viris ki pral RIP ki mete nan gwo tan. Oke, li montre kouman li travay? Chak fwa gen nan yon tranzaksyon labank kote enterè a se Computed, gen dè milye yon jou, òdinatè a fini moute ak sa yo fraksyon nan yon santim. Men, mwen pa pwal fè anyen ilegal. Ilegal? Samir, sa a se Amerik la. Ou gen fè sèman, Bondye. Si pèsonn pa konnen sou sa a, men nou, tout dwa? Pa gen manm fanmi, pa gen okenn kopin, pèsonn pa. [Fèbl]. Pa enkyete, nonm, mwen pa pral di nenpòt moun ki swa. [Fim fini] Tout dwa, sa petèt mwen te jwenn sa a fim pi bon pase pi moun isit la, men nan nenpòt ka, viris la yo ke yo te eseye kreye - ak nan fim sa yo, nenpòt lè yo ta rele yon bagay yon viris, li nan jeneralman yo pa aktyèlman yon viris. Se jis nan yon pwogram ke yon moun te ekri fè yon bagay. Ak nan ka sa a, mesye yo t ap eseye ekri yon pwogram ki te pran avantaj de konpayi yo rele nan Innotech sistèm informatique, annakò ak sa òdinatè, tou, menm lè li vini nan lajan, ka pa nesesèman reprezante lajan pwesizeman. Se konsa, menm si ou ta ka genyen $ 0.10 nan kont labank ou, 0.10, byen, òdinatè a ta ka aktyèlman panse ke ou gen sa a santim anpil moun nan kont labank ou. Se konsa, sa ki mesye sa yo yo te aspiran fè - epi yo te vòlè lide a, li vire soti nan devni selèb III a, kote Richard Pryor fè menm bagay la - yo te esansyèlman ekri pwogram ki renmen fè pran tout fin la nimewo, nan tout ti, ti, fraksyon yo ti nan peni, epi sifonaj sa yo koupe pou ke moun yo jis te panse, o, li nan sèlman $ 0.10 la, men tout moun ki fin nimewo evantyèlman ajoute jiska. Se konsa, yon lide bèl bagay ak li yo toujou konbat jwa nan ke patikilye fim. Men, nan mond reyèl la, tou, gen anpil plis konsènan enplikasyon nan sa yo kalite bagay sa yo. Ak youn nan rezon ki plonje nan jaden an nan òdinatè syans se, ankò, Application li yo pa la jeni syans pou kont li, men jis jaden lòt yo tou. Se konsa, sa a se yon gade mwens lighthearted nan sa ki ka ale mal, men li la tou byen ouvèti je, mwen panse, lè li rive konprann egzakteman kouman omniprezan teknoloji tankou òdinatè ak pwogram oswa jou sa yo, nan fòm la nan lojisyèl. Se konsa, sa a clip pwochen se jis sou sis minit, ap kontinye kote nou te kite dènye tan, men pèmèt nou gade yon ti kras plis nan pwofondè nan yon sèl sa yo nan pwoblèm sa yo. Kite m 'sote devan yo kote nou kite, ki te isit la menm. E nou gen yon pati de nan de, pou apeprè sis minit isit la. [JWE fim] Gwo malè tonbe sou teknoloji modèn fize. An 1991, ak nan kòmansman an nan lagè nan premye Gòlf, Patriot la misil ki gen eksperyans yon kalite ki sanble nimewo konvèsyon pwoblèm. E kòm yon rezilta, 20 moun, 20 sòlda Ameriken yo, yo te touye ak apepwè 100 lòt ki te blese, lè Patriot la, ki te sipoze nan pwoteje kont Scuds fèk ap rantre, echwe pou pou tire yon misil. Lè Irak anvayi Kowet ak Amerik te lanse yon dezè Tanpèt nan lane 1991 byen bonè, pil Patriot misil yo te deplwaye nan pwoteje Arabi Saoudit ak pèp Izrayèl la anba irakyen Scud misil atak. Patriot la se yon US medyòm-ranje sifas-a-lè sistèm, manifaktire pa konpayi an Raytheon. Gwosè a nan entèrsèpsyon nan Patriot tèt li, li la sou apeprè 20 pye long ak li peze sou 2,000 liv. Epi li pote yon tèt degè a sou - Mwen panse ke li nan apeprè 150 liv. Ak tèt degè a li menm se yon eksplozif segondè ki te gen fragman wonn li. Se bwat la nan tèt degè a fèt yo aji tankou plon. Misil yo yo te pote kat pou chak veso epi yo transpòte pa yon trelè semi. Patriot kont sistèm misil la a ale tounen omwen nan 20 ane kounye a. Li te orijinal ki fèt kòm yon misil defans lè tire desann avyon lènmi, nan Lagè nan premye Gòlf la. Lè lagè sa a te vini ansanm, Lame an te vle sèvi ak li nan tire desann Scuds, pa avyon. Air Force irakyen an pa t 'konsa anpil nan yon pwoblèm, men lame a te enkyete sou Scuds. Se konsa, yo te eseye ajou Patriot la. Entèrsèptan yon misil lènmi vwayaje a mach 5 te pral yo dwe difisil ase. Men, lè yo te Patriot la kouri nan sèvis la, Lame a pa t 'okouran de yon modifikasyon irakyen ki te fè yo Scuds prèske enposib frape. Kisa ki te pase se Scuds ki te vini nan yo te estab. Yo te tranble. Rezon ki fè la pou sa a te Irakyen yo yo, nan lòd jwenn 600 kilomèt soti nan yon misil 300 ranje kilomèt, te pran pwa soti nan tèt degè a devan ak te fè tèt degè a alum. Se konsa, kounye a Patriot la ap eseye rive nan Scud a, ak pi fò nan lè sa a, majorite nan mal nan moman an, li ta jis vole nan Scud a. Yon fwa operatè yo sistèm Patriot reyalize Patriot la rate sib li yo, yo detounen tèt degè a Patriyòt. Pou evite viktim li posib, li te pèmèt tonbe atè a. Sa se sa ki te pi fò moun te wè, jan fireballs gwo nan syèl la, ak konpwann kòm segman aks dèz nan Scud tèt de gè. Malgre, nan syèl la lannwit, Patriyòt yo parèt devan yo dwe avèk siksè detwi Scuds, nan Dhahran, ta kapab genyen pa gen okenn erè sou pèfòmans li yo. Gen, sistèm rada Patriot la pèdi tras nan yon fèk ap rantre Scud epi pa janm te lanse akòz nan yon defo lojisyèl. Li te Izrayelyen yo ki te premye dekouvri ki pi long la sistèm a te sou li a, pi gwo a Diferans la tan te vin tounen, akòz yon revèy entegre nan òdinatè sistèm nan. Apeprè de semèn anvan trajedi a nan Dhahran a, Izrayelyen rapòte bay Depatman Defans ki la sistèm te pèdi tan. Apre apeprè uit èdtan nan kouri, yo remake ke nan sistèm te vin tounen nètman mwens egzat. Depatman Defans lan reponn pa di tout pil yo Patriot pa kite sistèm yo sou pou yon tan long. Yo pa janm di sa ki yon bon bout tan te - 8 èdtan, 10 èdtan, 1,000 èdtan. Okenn moun pa te konnen. Batri a Patriot estasyone nan kazèn lan nan Dhahran yo epi ki te defekte li yo entèn revèy te sou plis pase 100 èdtan sou Jou lannwit sa a nan 25 fevriye. Li Suivi tan nan yon presizyon nan sou yon dizyèm nan yon dezyèm fwa. Koulye a, yon dizyèm nan dezyèm lan se yon nimewo enteresan paske li pa ka eksprime an binè, egzakteman, ki vle di li pa kapab eksprime egzakteman nan nenpòt modèn òdinatè dijital. Li difisil yo kwè. Men, itilize sa a kòm yon egzanp. Kite a pran nimewo nan yon twazyèm. Youn nan twazyèm pa ka eksprime nan desimal, egzakteman. Youn nan twazyèm se 0,333 ale sou pou debordeman. Genyen nan okenn fason fè sa ak presizyon ak absoli nan desimal. Sa a se egzakteman kalite a menm nan pwoblèm sa ki te rive nan Patriot la. Pi long la sistèm nan kouri, pi mal tan erè a la te vin. Apre 100 èdtan de operasyon, erè a nan tan te sèlman apeprè yon tyè nan yon dezyèm fwa. Men, an tèm de vize yon misil vwayaje a mach 5, li a nan yon erè swiv nan 600 sou mèt. Li ta yon erè fatal pou sòlda yo nan Dhahran. Kisa ki te pase se yon lansman Scud te detekte l nan avètisman bonè satelit ak yo te konnen ke Scud a te vini nan yo direksyon jeneral. Yo pa t 'konnen kote li te vini an. Li te kounye a jiska eleman nan rada nan Patriot la sistèm, defann Dhahran, lokalize e kenbe tras de la fèk ap rantre lènmi misil. Rada a te trè entelijan. Ou ta aktyèlman swiv pozisyon nan Scud a ak Lè sa a, predi ki kote li pwobableman ta dwe nan tan kap vini an rada voye yon batman kè deyò. Sa te rele pòtay lavil la pòte. Lè sa a,, yon fwa Patriot la deside li te ase tan pase yo ale fè bak epi tcheke kote nan pwochen pou sa a detected objè, li ale tounen. Se konsa, lè li tounen nan plas la mal, li Lè sa a, wè pa gen okenn objeksyon, epi li deside ke pa te gen okenn objè. Se te yon deteksyon fo ak gout tras la. Scud a fèk ap rantre disparèt nan ekran an rada. Ak segond apre, li te kriye byen fò nan kan an. Scud a touye 28 ak se te youn nan dènye te tire pandan premye Lagè Gòlf la. Trajik, lojisyèl an mete ajou te rive nan Dhahran jou sa a. Yo epi ki te defo nan lojisyèl yo te fiks, fèmen yon sèl chapit nan istwa a boulvèse nan misil a Patriyòt. Patriyòt se aktyèlman yon akwonim pou "Tracking Mathis ekwifaz Koupe aks nan Target. " Tout dwa, se konsa yon rezilta pi plis lapenn nan pa byen konprann monn sa a. Ak Takeaway a, reyèlman, ki soti nan fim nan se ke solisyon an te gen rdemare sistèm misil defans ou chak yon fwa nan yon pandan y ap. Se konsa, ankò, youn nan objektif yo nan kou sa a, sètènman sou yon echèl pase aplikasyon sa yo plis modès, se je vrèman louvri tout moun nan konnen egzakteman kouman ou ale sou fè machin fè sa ou vle yo fè ak ki jan ou ale sou fè sa yo kòrèkteman, pandan y ap nan tout wout la fè li byen, chik, ak pou fè. Se konsa, jounen jodi a, se pou yo plonje nan yon ti jan ti kras pi plis nan sa a, men pou ke nou pa ale twò vit, patikilyèman pou moun ki mwens konfòtab, men tou, pou nou ka kenbe enterè a nan sa yo pi konfòtab, kite la jis byen vit kòmanse ak yon ti jan nan rapèl nan kèk nan ide sa yo. Epi ankò, mande ale, tou de nan moun oswa sou entènèt, si ou gen kesyon pou nou ka kenbe tout moun nan paj la menm. Se konsa, Aparèy nan CS50, rapid etap tounen, se sa ki, nan mo pwòp ou a? Li OK si ou pa gen okenn lide ki sa mo sa yo kapab ankò. [Fèbl] Oke, kidonk yon entèfas inivèsèl pou - ke nou ka tout pataje. Absoliman. Se konsa, nou te kapab, pou egzanp, di ou pou yo ale nan kèk sit entènèt, download sa a lojisyèl pou Mac OS. Download lojisyèl sa a pou Windows, konfigirasyon an fason sa a ak sa. Men, reyalite a se lè sa a nou kouri antre nan teknik multitud sipòte pwoblèm. Epi tou li jou sa yo, anpil nan sa k ap fèt bò kote sèvè, nan mond lan nan informatique, espesyalman lè li rive entènèt devlopman ak aplikasyon pou sit entènèt ki baze sou, se aktyèlman byen souvan fè sou UNIX oswa Linux òdinatè, kòm opoze a Macs oswa PC yo Windows. Se konsa, nan mitan upsides yo, lè sa a, nan lè l sèvi avèk bagay sa yo rele an CS50 Aparèy se nou pral tout gen anviwònman an menm. Se konsa, tout moun la sou paj la menm pa gen pwoblèm sa kenkayri ou rive nan lakou lekòl la ak, men tou yo pral diletantism nan egzakteman anviwònman an menm ke ou pral lè l sèvi avèk nan direksyon fen semès la kòm byen pou devlopman entènèt, osi byen ke nan la lavni pou aplikasyon pou mond reyèl ladan l '. Se konsa, plis konkrètman, Aparèy nan CS50 se yon moso gratis nan lojisyèl ki pèmèt ou nan kouri yon lòt sistèm opere, Linux, nan ka sa a, sou pwòp òdinatè w lan, nan yon fenèt. Koulye a, ou pa ka jis telechaje aparèy la. Ou bezwen yon pwogram ak ki jwe oswa kouri aparèy la. Ak se ke moso nan lojisyèl jeneralman li te ye tankou yon ipèrvizeur. Hypervisors rive nan fòm la nan pwodwi tankou VMware, Virtual Box, paralèl. Tout kalite konpayi fè lojisyèl, tou de lib ak komèsyal yo, sanble. Ki sa ou pral wè nan Pwoblèm Set 1 yo se enstriksyon sou kòman yo jwenn gratis lojisyèl ak ki run Aparèy la CS50. E yon fwa w, ou pral gen, nan yon fenèt sou Mac ou a oswa PC, yon anviwònman Desktop ki sanble byen tankou sa a, kote li gen yon bagay Start meni-tankou nan la anba bò gòch la kwen. Li te gen yon katab Kay, oswa anyè Kay, nan bò gòch nan tèt la, yon poubèl, ak pou fè. Se konsa, nou pral toumante apa detay ki nesesè kòm nou ale. Men, kounye a kite a kòmanse plonje nan C. Se konsa, C se lang sa a pwogramasyon, menm jan an nan lespri Grafouyen, men lwen mwens grafik, men iwonilman, byen lwen plis pouvwa anpil yon fwa ou resevwa konprandr ak li. Se konsa, nan C, nou ekri pwogram pa ekri kòd sous, ki se sa a sentaks angle ki tankou, menm jan ak chosèt yo demonstrasyon ke nou te fè dènye fwa ki pèmèt ou eksprime tèt ou san patipri jisteman, si arcanely, nan òdinatè a. Se konsa, sa kalite lojisyèl pwodwi ou aktyèlman bezwen yo ekri pwogram nan yon lang tankou C, ki baze sou nou konvèsasyon jou lendi a? [Fèbl] OK, ou jis bezwen yon editè tèks. Ou pa bezwen nenpòt lojisyèl espesyal se pou chak yo ekri pwogram yo. Ou jis bezwen yon editè tèks tankou notepad, sou Windows, TextEdit sou Mac, oswa yon bagay yo rele jdi, nan mond lan nan Linux, ki nou pral sèvi ak isit la. Epi sa a, li, ekri pwogram yo. Men, ekri nan sèlman mwatye nan ekwasyon an. Ou Lè sa a, bezwen nan kouri yo. Men, nan lòd yo jere pwogram - ou pa ka kouri kòd sous. Ou olye nou dwe fè sa a li an premye? Yeah. DAVID J. Malan: Ou bezwen konpile li. Epi, yon lòt moun, konpile kòd la sous vle di - [Fèbl] DAVID J. Malan: Egzakteman. Tradikskyon li nan zewo ak inite. Paske tout moun nan nou, jou sa yo, gen òdinatè ki gen proseseur, prèske tout nan yo ki te fèt pa yon konpayi yo rele Intel, ak Intel Anndan, vle di gen nan sa a andedan nan sèvo a ou òdinatè, ke yo rekonèt kòm CPU a. Ak youn nan bagay sa yo ke ki nan sèvo fè sa ki se, li konnen ki jan yo konprann modèl nan zewo ak inite. Li konnen sa ki modèl nan Bits reprezante plis de sa, ki sa modèl reprezante soustraksyon, ki sa ki modèl nan Bits reprezante enprime, epi kreye yon son moun kapab tande. Se konsa, nan kout, CPU a, makonnen ak sistèm nan fonksyone, ki se yon moso nan lojisyèl ki kouri sou tèt CPU a, se konsa pale. Ansanm, moso sa yo de konnen ki jan yo kouri pwogram ki nou moun ekri. Se konsa, si mwen ale nan aparèy la CS50 isit la, mwen bezwen louvri moute yon editè tèks epi mwen kapab jwenn aksè nan sa a nan yon koup nan fason. Mwen kapab swa ale nan Menu, Programming, ak Lè sa a, mwen ka chwazi - non, pa ki meni. Mwen ka ale nan Pwodwi pou Telefòn / jdi isit la yo louvri editè ti kras tèks m 'yo. Oswa plis tou senpleman, mwen ka klike sou sa a ti kras icon nan anba a bò gòch kwen. Epi, koulye a mwen jwenn anviwonman sa a isit la. Li trè okoumansman de yon editè tèks ki senp, ak jis youn oubyen de diferans. Nan tèt la, kote kurseur a se blinking kounye a, sa a se kote Mwen ka kòmanse ekri kòd m 'yo. Nan pati anba a ap bagay sa yo rele fenèt la tèminal. Ansanm ak ki kalite bagay sa yo mwen ka fè nan sa a sa ki te rele fenèt tèminal? [Fèbl] Oke, kidonk mwen pral kouri kòmandman. Ak kèk nan kòmandman sa yo nou kouri nan Lendi te yon ti kras skre an premye, men ls pou lis, cd pou anyè chanjman, RM, pou retire. Se konsa, li sòt de yon fason fin vye granmoun-lekòl nan navige ou òdinatè, lè l sèvi avèk sèlman klavye ou ak kòmandman textuelle, epi yo pa yo, jeneralman, lè l sèvi avèk yon sourit. Men, nou pral wè, anvan lontan, sa sa a aktyèlman ba nou yon ti kras pi plis pouvwa ak yon ti kras pi plis precision ak ki eksprime tèt nou. Lè sa a, plis pase isit la sou bò gòch la, nou ap jis pral wè la a, kòm nou kòmanse lojisyèl ekri, yon rezime ti kras nan nan pwogram ke nou te ekri sou bò gòch tèt. Men, nou pral wè sa ankò anvan lontan. Se konsa, kite a fè yon bagay san patipri senp isit la. Kite m 'premye ale pi devan epi ale nan dosye li an, Save, epi mwen jis ale nan klike sou jharvard isit la, sou bò gòch, ak jharvard se, ankò, non an pou folder lakay mwen, mwen dosye pèsonèl, m ', koulye a yo te Jan Harvard, kòm nou tout ki pwal byento pwal Jan Harvard nan anviwonman sa a. Li te resevwa lis sa a yo Kay, Dokiman mwen ak pou fè, ke mwen vle sove, koulye a, sa a ranpli pous Se konsa, mwen pral rele li hello.c. Lè sa a, mwen pral ale devan epi klike sou Save, epi kounye a sa m 'genyen isit la se yon tab rele hello.c, se konsa anpil tankou yon lòt di ki kalite editè. Se konsa, kounye a kite m 'ale pi devan epi kòmanse ekri yon pwogram. int prensipal (san valè). Lè sa a, mwen jis te fè dènye tan, printf, pou ekri ak lèt ​​detache fòma, ("Hello, mond!" );. Prèske ranpli. Men mwen m 'manke yon koup la plis detay. Ki sa ki manke nan pwogram sa a vrèman ke mwen bezwen pou li nan aktyèlman konpile? Yeah. [Fèbl]? DAVID J. Malan: Yeah, Se konsa, mwen bezwen gen ladan estanda a Mwen / bibliyotèk O. Se konsa, sa a bezwen ale pi wo a prensipal, se konsa mwen jis ale nan fè kèk chanm pou l 'la. Apre sa, mwen pral fè # enkli . Ak Avi parantèz yo Incline la. Epi kòm yon sou kote, jdi se yon itilizatè zanmitay ti kras, si pafwa yon ti kras konfizyon, nan ke li ap eseye ede ou je remake ki sa liy moute ak sa ki. Se konsa, lefèt ke kurseur mwen, se yon dwa pwochen sa a Incline bracket, avi kouman li a en Incline nan lòt bracket plis yon sèl sa a. Epi sa a, jis trase atansyon mwen an reyalite a ke mwen gen simetri. Ak simetri nan pwogram se jeneralman yon bon bagay. Menm jan tou, si mwen demenaje kurseur mwen nan fen a, remake kijan la aparèy òtopedik Curly liy jiska yo fè montre ke, se wi, mwen gen yon yon sèl louvri ak yon yon sèl fèmen, se konsa pale. Tout dwa, ak mwen ka fè yon lòt bagay. Li pa estrikteman nesesè, men pratik bon, yo di retounen 0. Ak 0 retounen fè sa pou nou isit la? Oswa vle ki sa? [Fèbl] DAVID J. Malan: Men, pa gen anyen nan sa ki mal. Ak franchman li difisil pou anpil yo ale mal nan yon pwogram sa a kout. Se konsa, mwen jis ke yo te super eksplisit ke tout se byen. Se mwen menm, moun a, lè mwen kouri pwogram sa a, pral pwobableman pa janm wè ke 0. Anjeneral, nimewo sa yo sa ki te tounen soti nan prensipal sèlman dèyè tèt yo nan kò moun yo lè yon bagay ale mal. Epi ou jwenn yon pòp ti kras moute li di erè nan sistèm, yon sèl, de, twa, oswa kèlkeswa sa nimewo a te ke te aktyèlman retounen. Se konsa, tout lòt bagay ki mal ak sa a? [Fèbl] DAVID J. Malan: Se konsa, sa a se pa tèlman yon erè fonksyonèl men ki gen yon yon sèl ayestetik. Mwen ta pwobableman mete nan yon karaktè newline gen nan la nan fen sa a fisèl pou nou aktyèlman deplase kurseur la liy nan pwochen, ak pwogram nan jis sanble yon ti kras bèl pase. Se konsa, kounye a kite m 'ale desann nan fenèt tèminal mwen ak rale tounen pous Ak bagay sa a isit la, sa yo rele èd memwa a. Li nan jis raple m 'ki moun mwen ye a, jharvard @ aparèy, kote aparèy se non an nan òdinatè a, m ap. Nan parantèz sa a tild, senbòl la squiggle, ki reprezante ki sa? ODYANS: anyè Kay. DAVID J. Malan: anyè Kay. Se konsa, sa a, se jis yon nòt steno pou li di ou se nan folder pèsonèl ou kote tout nan dosye ou a ale pa defo. Se konsa, koulye a, nan isit la, mwen ka tape ls pou lis la. Ak bagay la sèlman mwen wè isit la nan moman sa a se hello.c. Epi sa a, bon paske mwen jis te ekri sa a. Se konsa, kite m 'ale pi devan epi fè hello. Ak Avi a mwen pa sezisman fè hello.c. Olye de sa, mwen sèlman ou tape non an baz nan dosye a, hello. Epi fè, jan nou te wè nan Lendi, yo pral jis dégager ke mwen vle . c dosye a. Se konsa, koulye a, mwen te tape fè hello. Koulye a, mwen wè lòd sa a san patipri long epi yo pral kontinye wè sa a ankò epi ankò. Men, yo dwe klè, rezone, pawòl Bondye a ki jis parèt, ki nan du a vrè. Fè se jis yon sèvis piblik bati. Se jis nan yon itilizatè pwogram plis zanmitay ki ekonomis m ', nan la long kouri, ki soti nan gen yo tape soti èkstrèmeman fatigan long kòmandman tankou sa youn. Se konsa, ou ta ka kouri rezone manyèlman. Ou te kapab tape nan tout sa manyèlman. Senpleman vin trè fatigan. Se konsa, fè se jis yon pwogram ki senplifye lavi nou ak kouri kòmandman plis konplèks pou nou. Tout dwa, pou kounye a sa ki dosye yo ta dwe mwen gen nan aktyèl anyè mwen an? Pa sèlman hello.c, men tou, hello. Se konsa, si mwen vle kouri hello, sonje sa m 'di nou dot koupe, kote vle di dot ale nan folder aktyèl la, tout kote ou ye a, epi Lè sa a, kouri pwogram nan te rele hello, ak tout bon, kounye a, Mwen gen alo lemonn. Tout dwa, nenpòt kesyon sou workflow la oswa sentaks la nan ki sa nou jis te fè? Tout dwa, se konsa kite a pran bagay yo yon Notch ankò. Se konsa, sa a te underwhelming jis ekri yon pwogram ki sèlman janm di hello, lemonn. Se konsa, nou chanje li, nan Lendi, vle di, hello, David. Li se yon ti kras pi plis pèsonèl, men jis osi difisil kode kòm la premye vèsyon. Se konsa, pa tout sa ki irezistib. Men, gen ki egziste, nan C, fonksyon sètènman san konte ekri ak lèt ​​detache, fonksyon ki fè ou jwenn opinyon itilizatè. Yo ak fason pou nou te fè sa sa a, lòt jou a, se te jan sa a. Mwen anvan m 'aktyèlman enprime soti yon bagay, mwen te resevwa premye yon bagay nan men itilizatè a. Se konsa, kite m 'fè sa ankò. Fisèl la, kote yo se jis yon non abitrè, isit la, pou yon fisèl, egal GetString. Se konsa, sa ki te GetString? Li evidamman ap vin yon fisèl, ki baze sou non li yo. Men, sa ki se li, plis teknikman? Li se yon fonksyon. Se konsa, li yon fonksyon ki pa vini ak C se pou chak. CS50 anplwaye te ekri sa a. Se konsa, yo sèvi ak sa a, ou pa ka jis gen ladan stdio.h, Ou ap bezwen tou gen ladan yo ki sa? Yeah. Se konsa, cs50.h, ki se jis yon dosye nou ekri kèk ane de sa. Nou enstale l 'sou aparèy la pou ou ansanm ak tout dosye yo estanda. Se konsa, nan semèn sa yo premye kèk nan klas la, n ap sèvi ak sa a jis senplifye pwosesis la nan fè anpil debaz bagay sa yo tankou ap resevwa opinyon itilizatè. Paske jan nou pral wè nan kèk semèn, jwenn itilizatè D 'nan yon lang tankou C se aktyèlman surprenante konplèks, patikilyèman paske ou pa konnen an avans, anjeneral, ki jan anpil bagay itilizatè a ki pral tape pous Ak lè ou pa konnen ki kantite ou kapab espere done, ou pa fè sa konnen ki kantite memwa asiyen. Men, si ou gen aktyèlman yon itilizatè konfwontasyon ki nan ap eseye Hack nan sistèm ou a, aksidan òdinatè w lan, byen, jeneralman metòd an premye nan atak se, menm jan mwen te fè sou Lendi, tape yon antye sekans long nan karaktè o aza, frape Antre, ak wè sa ki kraze. Paske jeneralman, si yon repo pwogram nan, ke sijesyon nan yon defo sekirite, potansyèlman. Li sètènman sijesyon nan ou, pwogramè a, li te gen te fè yon erè, men plis danjerezman, ou ta ka te fè yon sekirite ki gen rapò ak erè, epi jeneralman nou pral wè ki lè sa a jan machin yo ap konpwomèt nan jou sa a, tou de nan mond lan nan sit wèb la ak pwogram nan nan liy lòd, tankou sa a. Tout dwa. Se konsa, fisèl la egal GetString. Se konsa, plis konkrètman kounye a, ki sa ki liy 6 fè isit la? Se konsa, fonksyon an sou bò dwat la vin fisèl, pran konbyen agiman? Oke. Se konsa pesonn. Yon ti kras saniti tcheke. Yon diskisyon, ankò, se jis yon opinyon nan yon fonksyon chanje konpòtman default li yo nan kèk fason. Men, nan ka sa a, mwen pa vle chanje konpòtman an nan GetString. Mwen jis te vle jwenn yon kòd. Se konsa, mwen mete anyen nan parantèz yo, ak Lè sa a, mwen mete yon virgules demarking nan fen liy lan nan kòd. Koulye a, egal a siy sa pa vle di egal, se pou chak. Sa vle di plasman, ki vle di mete tou sa vin outputted sou andedan an dwa nan tou sa ki sou bò gòch la. Se konsa, sou bò gòch la, nou di nou yo te deklare yon fisèl rele s. Ak plis espesyalman, nou te resevwa lajan memwa andedan nan ki nou pral mete Bits yo ki reprezante yon sekans nan karaktè. Men, pou jounen jodi a, nou te resevwa lajan oswa te deklare yon kòd. Tout dwa. Se konsa, kounye a yon fwa mwen te fè sa a, mwen vle ploge nan valè a nan a, pa valè David la. Se konsa, sa a se sa ki mal poukisa? Se konsa, sa a se jis literalman nan la difisil-kode. Li nan di "alo, s", ki se pa sa m 'vle. Se konsa, mwen ka fè sa. Siyen an pousan se yon kontneur, men kounye a mwen bezwen pase nan enprime yon agiman dezyèm fwa. Sonje byen, agiman fonksyon yo separe pa vigil, se konsa vigil nan pwochen isit la mwen mete apre sa a nan lèt la. Ak nan kontèks sa a, koulye a, yo se varyab la, ak printf, yo lè li resevwa moun ki entrain de - fisèl la sou bò gòch la ak s la non varyab sou bò dwat la - li pral ploge lèt la nan ansyen an pou nou, epi jis enprime soti yon bèl fisèl bèl ki gen tou sa li se ke nou tape pous Se konsa, kite a eseye sa a. Ale nan ale pi devan epi rale soti, tounen bò fennèt tèminal m 'yo. Rale nan nan pati anba a isit la. Tape fè hello. Rezone sanble yo te relance. Mwen pral tape. / Hello, Antre. Pa gen anyen sanble ap pase ankò, men li la nan sa a èd memwa ke mwen ka tape yon bagay tankou Nate, Antre, epi kounye a nou gen Hello, Nate. Apre sa, mwen ka fè l 'ankò ak Rob, ak pou fè. Se konsa, èspere ke kounye a nan pwogram sa a ap aji kòm mwen gen entansyon. Koulye a, pa tout sa ki itilizatè zanmitay. Mwen te gen okenn lide sa k ap atann de m '. Se konsa, nou kapab sètènman netwaye sa a moute yon ti jan. Kite m 'ale tounen moute isit la, ak olye pou yo jis plonje nan ak mande itilizatè a pou yon fisèl, se pou m 'la fòmèlman di itilizatè sa m ap tann. Se konsa, printf ("Mete yon fisèl:" ); Se konsa, pa gen okenn varyab isit la. Pa gen siy pousan. Jis senp fraz la lang angle. Kite m 'koulye a ale nan anba a isit la ak relance pwogram mwen an. Men, pa gen anyen sanble yo chanje. Poukisa? Mwen dwe compile li. Se konsa, fasil erè fè a. Men, ou gen pa sèlman sove dosye a, men compile pwogram nan. Se konsa, si mwen re-kouri fè hello, kounye a sonnen ap kouri. Koulye a, mwen ka kouri. / Hello. Epi, koulye a mwen wè "Mete yon fisèl:". Oke. Kounye a li nan yon ti kras plis user-zanmitay. Nate, Antre, hello, Nate. Oke, kite la eseye sa a ankò, li kòmanse panse sou ka kwen. Se konsa, jis tankou nan grafouyen, w ap ankouraje oswa yo ke yo te ankouraje nan espèk a kalite panse sou sa t 'ka ale sa ki mal si ou pa prevwa tout bagay itilizatè a kapab fè. Pinèz, Se poutèt sa, ta ka krindr. Se konsa, antre nan yon fisèl - sa ki nan yon ka kwen isit la? Ki sa ki nan yon senaryo se mwen menm, pwogramè a, pa ka gen antisipe? Yeah. Oke. Se konsa, sa si mwen tape nan yon nimewo tankou sa a? Tout dwa. Se konsa, li toujou ap travay. Gramatically pa fè okenn sans. Men, nan omwen pwogram nan travay. Ki sa ki nan yon lòt ka kwen? Yon bagay mwen pa t 'atann. Yeah? Oke. Se konsa, nou ta ka fè yon bagay tankou yon nimewo reyèlman, reyèlman gwo. Se konsa, kite a fè sa isit la. Kite m 'rale soti pou yon dezyèm, kite m' mete aksan sou. Pa ka kopi ak keratin desann isit la. Tout dwa. Se konsa, mwen pa ka kopi ak keratin nan fenèt sa a tèminal, se konsa nou pral jis simule li. Kite m 'rale soti, ale nan vlope. Mwen pa pwal fè sa pou twò lontan, paske li pa pral aktyèlman kase nan pwogram sa a. Men, li te kapab. Antre. Men, li pa t '. Tout dwa. Men, li la yon ka kwen otantik. Ak rezon la sèlman ki Konpòte kòrèkteman, se konsa pale, se paske GetString an fonksyon CS50 se aktyèlman ki fèt anba kapo machin lan, kòm nou pral wè nan kèk semèn, otomatikman asiyen pi plis ak plis RAM, plis ak plis memwa soti nan sistèm nan fonksyone, lè li reyalize, Wow, ou te vrèman tape nan yon bagay byen long. Koulye a, sa a se yon ti jan nan yon manti blan. Si nou aktyèlman Sarepta pou byen pandan yon, mwen tape nan yon bagay tankou 5 milya dola karaktè nan klavye a isit la, oswa vrèman frape kopi-keratin byen yon ti jan, nou byen posib ta kapab lakòz pwogram lan nan aksidan. Jis yon ti kras pi difisil simule ki ak yon fini nan yon kantite tan. Ki sa ki nan yon lòt ka kwen nou te ka eseye? Yeah? Yeah. Se konsa, poukisa pa nou reponn anyen? Se konsa, nou gen aktyèlman pran kèk aksyon, paske otreman pwogram lan k ap pase yo chita gen kliyote tout jou. Men, si mwen jis frape Antre - OK, kounye a, toujou sanble sa ki mal. Pa t 'aksidan, men petèt gen nan kounye a yon opòtinite kòmanse mete ann aplikasyon yon pwogram pi plis rijid ki aktyèlman tcheke. Men, si fisèl la, fraz la, pawòl Bondye a ke mwen tape nan gen longè 0, byen, petèt mwen ta dwe rele nan la itilizatè, oswa di l 'oswa li yo antre nan yon kòd ankò, se konsa ke nou aktyèlman jwenn sa ki sanble konpòtman ki kòrèk epi yo pa jis konplè sipèvizyon sou pati m 'yo. Kesyon nan do? Desimal nimewo. Se konsa, nou te ka eseye sa, tou. 1,10000005. Sanble tankou ki nan ale nan jis travay aktyèlman oke. Ak ki aktyèlman yo prevwa a. Menm si nou ka gen tape nimewo sa a gen, oswa yon pi gwo nimewo pi bonè, reyalize ke lè nou ap tape itilizatè D 'epi nou ap sèvi ak fonksyon an GetString, pa pwoblèm si sa m ap tape sanble yon nimewo. Sonje byen, dapre ASCII, tout bagay sou ou klavye a gen yon valè nimerik ki ka trase nan yon karaktè, yon Char. Se konsa, nan ka sa a, menm si mwen ta ka tape nan yon nonb, òdinatè ki pral panse a li, se konsa pale, kòm yon fisèl - yon bagay ki sanble ak yon nimewo, men se pa aktyèlman yon nimewo. Men sa a aktyèlman yon seg pafè, paske kounye a nou kapab aktyèlman tranzisyon nan ekri pwogram ki itilize lòt done kalite. Se konsa, san konte lè l sèvi avèk charaktèr, ou pito, san konte lè l sèvi avèk strings, reyalize ke nou gen lòt done kalite nan C osi byen ke nan lòt lang yo. Yon Char, kòm non an sijere, se jis yon karaktè sèl. Yon flote se yon valè pwen k ap flote, epi ki se jis yon anpenpan fason pou li di yon nimewo reyèl - yon bagay ki gen yon desimal pwen nan li ak kèk nimewo a gòch la ak / oswa dwat. Yon int se yon nonb antye, ki se jis yon nimewo tankou 123. Epi, koulye a pi plis enteresan yo se bagay sa yo tankou doub. Nou sa nou te di yon doub se te dènye tan? Li nan 64, dwat. Se konsa, Lè nou konsidere ke tipikman yon flote se 32-bit - Se konsa li sa a lontan nan memwa, li itilize 32 zewo ak moun yo reprezante valè - yon doub se literalman de fwa ke, ki vle di ke ou ka swa reprezante pi gwo chif, oubyen ou ka reprezante nonb plis presi. Se konsa, ou ka gen plis nimewo apre pwen desimal la, men kòm parèy la te di nan videyo a, menm yon bagay ki senp Concept tankou 1/3 pa kapab reprezante jisteman pa yon òdinatè, paske evantyèlman ou kouri soti nan Bits, ak Se poutèt sa ou ka sèlman fè .33333333 fwa anpil, nan ki pwen ou jis gen di mwen soti nan reprezantasyon espas, mwen gen jis rele li yon jou epi yo reprezante li yon ti jan enpresiz renmen sa. Ak yon long lontan - non estipid, men li la paske gen nan yon kalite done ke yo rekonèt kòm yon lontan nan C ki azar se souvan 32 Bits, jis tankou yon int se 32 Bits, men yon long long se jeneralman 64 miyèt moso. Se konsa, li jis vle di ou ka reprezante pi gwo nimewo pase sa. Tout dwa. Se konsa, si nou aktyèlman vle kòmanse ki reprezante bagay sa yo, nou ta ka bezwen plis kalite sofistike, ak sa a, se rezon sa a genyen fisèl. Se konsa, nan bibliyotèk la CS50, ki dosye yo rele cs50.h, nou te aktyèlman te deklare yon kalite done, se konsa pale, rele fisèl, men fisèl pa aktyèlman egziste. Sa a se, ankò, youn nan sa yo kouch nou pral kale tounen nan yon semèn oswa de voye jete byen lwen, ak aktyèlman gade anba kapo a nan sa ki yon fisèl aktyèlman se, ak li montre kouman li a reprezante. Nou ap tou pral gade valè Boolean. Se konsa, sa se te yon bouleen nan yon kontèks reyur? Li nan vrè oswa fo. Se konsa, li se jis yon valè ki nan vrè oswa fo, sou oswa koupe, 1 oswa 0, sepandan ou vle wè mond lan. Se konsa, nan C, mèsi nan bibliyotèk la CS50, ki nan klòch gen ladan yon lòt bibliyotèk anba kapo machin lan, nou gen aksè a yon kalite done ki nan rele bouleen, ki pral yon literalman pèmèt nou bay valè yo vre oubyen fo bagay sa yo nan yon pwogram. Se konsa, kite a ale pi devan isit la epi ekri yon pwogram ti kras ki fè yon bagay ki gen chif olye. Se konsa, kite m 'ale tounen nan aparèy la CS50, kite m' ale pi devan epi kreye yon dosye nouvo isit la yo rele - kite yo jis di yon bagay ki senp, tankou math.c. Tout dwa. Epi, koulye a ale monte nan tèt la nan pwogram m 'yo, mwen pral fè abityèl la - # Enkli , pou m 'ka sèvi ak printf, int prensipal (san valè) - nou pral tounen vin jwenn, evantyèlman, ki sa ki vle di int isit la, sa ki vle di anile isit la, men pou kounye a, jis konnen ke ou gen yo kòmanse pwogram tankou sa a. Koulye a, mwen pral ale pi devan epi di yon bagay yon ti kras diferan - printf ("Ban m yon nimewo:" );. Lè sa a, mwen pral fè int n = GetInt, paske li vire soti GetInt se yon lòt fonksyon nan bibliyotèk la CS50 san konte GetString. Epi, koulye a mwen pral fè yon bagay estipid, tankou "mèsi pou d nan%, "pou desimal nonb antye relatif, ak Lè sa a, n vigil, ak Lè sa a, retounen 0. Se konsa, ankò, retounen 0 pa gen anyen fè avèk nimewo a mwen mande itilizatè a pou li a. Jis vle di nan fen a ki tout moun, prezimableman, se byen. Se konsa, kite m 'ale desann nan fenèt tèminal mwen isit la. Kite m 'tape fè matematik, antre. Ak yon bagay nan sa ki mal. Fè matematik pa t 'travay. Isit la nan premye an nan mesaj erè nou an. Poukisa? Yon ti kras skre, men - Yeah. Se konsa, cs50.h. Se konsa, ankò, espesyalman bonè nan, ou pral ekri premye fwa ou pwogram pou pset 1 nan seksyon, nan lè biwo louvri, ak franchman, li pral akablan pafwa sa bagay sa yo yo aktyèlman di. Men, ou pral reyalize trè vit yo kòmanse tonbe nan bokit kote yon sèl sa a vle di ke ou te sispann yon sèl nan la # gen ladan nan tèt la nan dosye a. Ak rezone, du la, se pou fè w konnen sa a pa li di, olye fancifully, enplisit deklarasyon GetInt fonksyon se valab. Tout dwa. Se konsa, sa sa vle di? Li jis vle di ou te chal te deklare GetInt nan sans ke ou pa t 'eksplisitman te deklare li. Klèman deklare Int, ou gen yo anseye Rezone ke li egziste. Ak solisyon an trè senp pou sa se anseye li pa ki gen ladan sa a ranpli lòt, cs50.h, nan tèt la nan dosye ou. Paske literalman, ki sa ki gen ladan yo se # li di rezone bèl anpil yo ale jwenn dosye a rele cs50.h, kopi, keratin li otomatikman nan tèt la nan pwogram mwen an pou m ', ak Lè sa a, konvèti kòd la sous zewo ak inite. Men, ki ta evidamman gen anpil fatigan si nou te gen moun ale w kopye e kole fichye sa yo gwo tout tan tout tan an, Se konsa # enkli jis fè sa ki tout sa ki otomatikman san muddying kòd mwen an avèk bibliyotèk yon lòt moun la. Ak yon bibliyotèk se jis yon lòt dosye ki gen fonksyon ak lòt bagay ki te yon lòt moun ekri, ke nou se swe pou dedomajman pou pwòp nou yo. Tout dwa. Se pou nou eseye ankò. Fè matematik. Antre. Bon. Se konsa, ki sanble ak te travay. Se konsa, kite m 'kouri matematik;. / Matematik. Antre nan ki ban m 'yon nonb, 123. Mèsi pou 123 la. Koulye a, kite nan eseye yon lòt ka kwen. Yon fil se trè jenere, paske yon fisèl kapab anyen. Kapab sanble avèk chif, gade tankou karaktè, gade tankou mo yo. Men, yon int a se yon int. Se konsa, kounye a si mwen itilizatè a difisil, epi li di: "Ban mwen yon nimewo, "ki sa, si mwen eseye fè yon bagay tankou 0.1? Oke, sa a, se yon nimewo, epi li konsistan avèk la gramè mwen itilize isit la, men anba kapo machin lan, mwen nan kou lè l sèvi avèk GetInt an fonksyon. Se konsa, kite a wè sa ki rive. Antre, rekoumanse. Tout dwa. Kite m 'ka difisil ak jis frape Antre ankò. Antre, Antre. Se konsa, kounye a li sanble ke GetInt se yon ti kras pi plis pouvwa anpil pase GetString. Nou menm, manm pèsonèl la, aplike nan yon fason ke si nou remake ou pa t 'ban nou yon int - ak yon int se yon nimewo desimal ki gen zewo yo, nou menm, Dezan, threes, four, Fives, sixes, sevens, eights, oswa Nines. Epi sa a, li. Pa gen pwen desimal, pa gen karaktè, pa gen ponktiyasyon. Li sanble ke nou gen pou yo kowopere pou. Se konsa, kite m 'eseye kat, senk, sis, e ke ap resevwa m' nan. Se konsa, reyèlman, yo dwe nan dèyè isit la, mwen ta pwobableman di "Ban m ' yon nonb antye relatif "yo nan lòd yo transmèt itilizatè a ekzakteman ki sa mwen gen entansyon. Koulye a, kite nan panse osijè de anba kapo a. Nou pa pwal fè yon gade nan ki jan cs50.h se aplike jodi a, ki nan bibliyotèk. Men, si li kenbe li di rekoumanse, rekoumanse, rekoumanse, ki sa ki pwogramasyon konstwi mwen prezimableman lè l sèvi avèk anba kapo a aplike sa? Se konsa, jis yon riban, dwa? Youn nan ide ki pi senp ke nou te wè nan grafonyen moun. Pou tout tan konstwi a, Repete a konstwi. Prezimableman, nan pwogram sa a, anba kapo machin lan, menm menm si yo ekri l la nan C epi yo pa grafouyen, li te fè yon bagay yo rele ekivalan a pou tout tan si itilizatè a pa gen anyen tape nan yon nonb antye relatif, di rekoumanse, rekoumanse, rekoumanse, rekoumanse, se konsa Lè sa a, finalman lè nou fè jwenn yon nonb antye relatif, lè sa a ou kraze soti nan riban. Se konsa, fonksyon ki lòt nou ka sèvi ak isit la nan bibliyotèk CS50 a? Oke, kalite nan yo menm ki evidan, omwen ki baze sou la done kalite ke nou kounye a konnen egziste. Nou aplike GetString, GetInt, men nan tout nan premye semenn nan tèm nan, ou ka tou itilize GetFloat ak GetDouble ak GetLongLong yo nan lòd jwenn pwesizeman la done kalite ke ou vle. Paske detay kle a isit la se ke kontrèman ak kèk lang, tankou Piton ak Ruby, kote ou pa nesesèman gen deklare kalite nan done nan yon varyab - ou pa bezwen di òdinatè a ki kalite bagay w ap ale nan mete nan varyab la - nan C, ou dwe fè tout tan sa presi. Se konsa, si ou vle yon varyab rele n, yon ti moso nan depo ki nan ka sa a k ap pase yo 32 Bits nan konvansyon, ou yo dwe di sou òdinatè a ki sa yo Bits yo se ale nan magazen yon nimewo - pa yon karaktè, se pa yon fisèl, se pa yon flote. Lè sa a adrese pwoblèm nan nou efektivman li pran kouri nan semèn dènye a. Si nou ap sèvi ak zewo ak moun yo chif ki rive jiska reprezante pa sèlman nimewo men A ak B ak CS, ki jan nan mond lan se yon òdinatè pral konnen ke sa a modèl nan Bits aktyèlman reprezante kantite 65, kòm opoze a reprezante nan lèt A, ki azar, selon ASCII, sonje, te ekivalan a 65? Se konsa, sa yo kalite done bay kontèks nan òdinatè a, se konsa ke li konnen si sa yo Bits yo ta dwe kapab entèprete kòm yon Int oswa kòm yon fisèl. Nenpòt kesyon, lè sa a, sou sa a? Yeah? DAVID J. Malan: Bon kesyon. Si nou pran soti stdio.h, nou sove dosye a - kite m 'ale desann nan fennèt la tèminal epi kouri fè matematik, rale an ak antre nan - koulye a, mwen jwenn yon erè diferan, paske mwen chal deklare sa ki fonksyone kounye a? Printf. Se konsa, koulye a, mwen te kreye yon pwoblèm nouvo, ki gen solisyon se esansyèlman menm bagay la. Mwen bezwen mete ki tounen. ODYANS: [fèbl] DAVID J. Malan: Oh. Se konsa, si m 'pran soti - Okay, yeah. Se konsa, si mwen retire enklizyon estanda mwen / O bibliyotèk la a moute isit la, ak Lè sa a, w ap di si mwen debarase m de printf, jwenn debarase m de printf? Wi. Sa a ta dwe travay, paske mwen pa lè l sèvi avèk nenpòt - whoops. Èske mwen jis kouche? Oh, oke. Sa a pa pral travay paske yo gen yon erè nouvo nou jis prezante. Ak yon sèl sa a se yon ti kras pi plis klè, kifè. Ki sa ki nan pwoblèm nan? Rès n varyab. Se konsa, sa a erè se rezilta nan nou an gen configuré la aparèy yo dwe patikilyèman pedant, reyèlman rele nan ou pou chak erè sa posib, menm si kalite li a nan yon erè ki pa fatal tankou sa a - se li vrèman tankou yon gwo fas ke mwen resevwa lajan yon int, mete yon nimewo nan li, e Lè sa a, jis te fè pa gen anyen ak li? Se konsa, fonksyonèl, pa gen okenn. Sa pa a pral kraze pwogram nan. Se jis nan kalite estipid dwat,? Pa gen okenn valè nan gen mande pou nimewo sa a, ki estoke li nan yon varyab, si ou pa janm ap ale nan fè anyen ak li, si enprime li oswa sove li. Se konsa, nan ka sa a, rezone ap rekonèt kòm anpil, ak li nan di rès n varyab. Se konsa, nou ka repare sa a si nou vle reyèlman. Men ankò, sa a se pa pwogram bon kounye an. Se konsa, mwen jis te kapab fè sa a - desann isit la, kite m 'klè ekran an, fè matematik. Ki travay. Koulye a, mwen ka kouri pwogram matematik m 'yo, pran opinyon - byen, sa ki te move. Pran opinyon, e se pou tout li fè sa, nan ka sa a. Se konsa, aktyèlman, se pou yo eseye yon lòt ka kwen ke nou pa t 'panse a pi bonè. Nan ka sa a - isit la, se pou yo tounen nan youn nan ki se yon ti kras pi plis user-zanmitay. Kite m 'ale tounen isit la epi kouri fè matematik ankò. Whoops, ki sa ki t 'mwen fè sa ki mal? Te rive nan woule tounen pi lwen. Oke. Koulye a, nou ap tounen nan eta orijinal la, kote tout se èspere ke byen. Epi, koulye a si mwen kouri matematik, 123 sanble nan travay. Men sa se pa reyèlman yon prèv ki efikas, jis di oke, ki travay. 789, ki travay. Tan yo soumèt. Paske gen nan ka kwen lòt isit la. Yon fil pa t 'reyèlman ban nou anpil pwoblèm lè ou tape nan yon antye anpil nan karaktè. Men, sa ki si mwen tape nan sa a? Frape nimewo a 1 yon lot antye, antye anpil isit la - tout dwa, li te jwenn yon ti kras raz, se konsa mwen pral sispann isit la, ak mwen pral frape Mete. Ki sa ki lanfè a jis ki te pase? Se konsa, sa a ka aktyèlman ap eksplike. Se konsa, sa te pran li kòm binè? Yon panse bon, men pa gen okenn, li pa lefèt ke li pran l ' kòm binè, paske tout bon, sa ki te jis kalite yon konyensidans. Nou ka fè sa a ankò. Se konsa, gen nan pa gen 2 nan sistèm nan binè, ki nan pwobableman ase de tout fason. Antre. Se konsa, sa ki te pa pwoblèm nan. Ki lòt bagay? Egzakteman. Se konsa, panse tounen nan ki sa yon int aktyèlman se. Li nan 32 Bits ki kolektivman yo entèprete kòm yon nimewo. Si ou gen 32 Bits, sa vle di chak nan Bits yo kapab yon 0 oswa yon. 1, 0 oswa yon 1 Se konsa, sa vle di gen nan de posiblite pou sa a ti jan, de posiblite pou sa a, de posiblite pou sa a ti jan - pou ki nan 2 fwa 2 fwa - pou ki nan 2 a pouvwa a 32 se kantite total pèrmutasyon nan zewo ak moun yo si ou gen 32 placeholders, zewo yo oswa moun yo, nan devan ou. Se konsa, si mwen gen 2 a 32 an, matematik, se sa ki? Se konsa, li nan yon anpil. Li nan 4 milya dola, bay oswa pran. Ak 4 milya dola pa sanble yo gen sa ki te soti enprime isit la. An reyalite, sa a sanble pi pre 2 milya dola. Men sa se pa yon konyensidans. Reyalite a ki te òdinatè a entèrprete nimewo gwo m 'yo, sekans gwo m 'nan yo menm ak Lè sa a, sekans gwo m' lan nan Dezan, kòm apeprè 2 milya dola, se eksplike ki jan? Genyen nan yon bouchon sou int la. Genyen nan yon sètènman yon valè maksimòm ke ou ka reprezante. Men, li la anjeneral 4 milya dola, dwa? Si 2 a 32 an se apeprè 4 milya dola, ki sanble tankou sa a, se nimewo nan pi gwo. Se konsa, pa yon rès, men yon panse bon. Nimewo negatif. Se konsa, si ou gen 4 milya de dola bagay sa yo posib ou kapab reprezante ak sa yo pèrmutasyon divès kalite 32 0s ak 1, byen, li vle di rezon ke nou moun ta ka vle reprezante pa sèlman nonm antye relatif pozitif men nonm antye relatif negatif. Ak tout bon, ki nan sipozisyon a ki C a fè. Se konsa, avèk 32 Bits, ou ka reprezante apeprè negatif 2 milya dola tout wout la jiska milya dola pozitif 2. Se konsa, nan ka sa a, sa n ap reyèlman wè se jis plizyer a nan kapasite la nan nonb antye relatif nou an, epi nou gen, se konsa pale, desann yon nonb antye relatif. Nou te eseye bachote plis Bits nan li pase ka aktyèlman anfòm. Se konsa, rezilta nan fen se nou esansyèlman gen tout Bits 1. Nou te ranvèrse tout Bits nou sou, nou te eseye reprezante nimewo nan pi gwo posib, men li la klèman pa prèske gwo ase reprezante bagay sa yo de Mwen te jis tape pous Yeah? ODYANS: [fèbl] DAVID J. Malan: Bon kesyon. Poukisa nou pa nou ka jis reprezante ke negatif siyen kòm jis karaktè yon? Se konsa, nou absoliman te kapab, ak Lè sa a, nou te ka sove yon ti jan adisyonèl. Men, ou toujou ap pral fè yo reprezante ke priz, ak ki nan pral koute ou omwen yon bagay, prezimableman yon ti jan. Se konsa, wi, nou te ka gen 32 Bits yo itilize pou yon nimewo pou nou an, men kounye a nou bezwen yon lòt ti jan yo itilize pou priz nou senbòl, siyn a mwens. Se konsa, kounye a nou gen 33 valè ti jan, ki nou ta ka fè, men li la jis pa chemen an sa li fè. Nou te fè yon jijman ane rele Anons sa pibliye depi, 32 Bits se sòt de la inite mezi isit la. Se konsa, nou ap ale nan sèvi ak youn nan moun ki Bits efektivman reprezante negativite, ak 31 Bits reprezante ki kantite. Lòt kesyon yo? Tout dwa. Sa se yon anpil. Poukisa nou pa nou ale pi devan epi pran repo senk minit nou isit la? Tout dwa. Se konsa, ankò, nou pa overemphasize aplikasyon yo matematik nan pwogramasyon, nan kite l 'jis rache nan egzanp sa a yon sèl anvan nou deplase ale nan konstwi lòt, jis paske li ap montre yon kèk komen pwen sou wout sou kèk nan Basics yo lè li rive ekri pwogram yo. Nan ka sa a, fè ekspresyon aritmetik ki gen kèk enteresan enpòtans nan sentaks la. Se konsa, sa a se jis yon fòmil ak ki nou ka konvèti tanperati soti nan Farennayt Sèlsiyis. Si ou pa sonje, sa a se jis fòmil la. Se konsa, si nou ploge nan Farennayt valè de 32 degre, ki se konjelasyon, ki k ap pase yo dwe 32 mwens 32 se 0, ak tout bon, 0 nan Sèlsiyis tou se tanperati konjelasyon an. Se konsa, rapid saniti tcheke gen - sa a fòmil la yo konnen yo. Kite m 'janbe lòt bò nan aparèy la, menm si, e kòmanse ekri yon pwogram yo rele, tankou, f2c; "Fahrenheit Sèlsiyis dot c ". Ak moute nan tèt la isit la, mwen pral kòmanse an ak nan # gen ladan yo stdio.h, ak mwen pral fè int prensipal (san valè), ak ankò, nou ap tounen nan lavni an tankou sa ki vle di int gen ak sa ki anile vle di la a. Epi, koulye a kite m 'ale pi devan epi aplike yon pwogram ki esansyèlman sa a konvèsyon pou nou. Se konsa, printf, kite la di, tanperati nan Fahrenheit. Lè sa a, kite m 'ale pi devan epi pou yo jwenn valè a nan itilizatè a. Ki kalite valè mwen ta dwe jwenn nan itilizatè a si mwen vle yo ban m 'yon tanperati nan Farennayt? Yeah? Ki sa ou ta pwopoze? Yeah. Se konsa, flote santi l ase ki rezonab. Nou gen, ankò, jis yon opsyon kèk ki nou te wè konsa byen lwen. Nou gen bagay sa yo tankou Char, flote doub,, int, depi lontan lontan, bouleen, fisèl. Se konsa, nan sa yo, flote santi l ase ki rezonab. Nou te ka sèvi ak yon doub, dwa, paske si nou reyèlman vle reprezante tanperati yon moun a - 98,60000 - nou te ka sèvi ak 64 Bits fè sa, men li santi l tankou overkill pou tanperati a. Se konsa, kite a jis ale ak flote. Koulye a, mwen bezwen yon varyab. Jis kenbe bagay sa ki senp, mwen pral rele li f, men mwen te kapab jis kòm kòrèkteman rele li tanperati a, men swa se amann. Se konsa, flote f = GetFloat. Le pli vit ke mwen kounye a te deside sèvi ak GetFloat, menm si, mwen bezwen fè yon sèl koreksyon an. Yeah. Se konsa, nou bezwen # enkli , otreman du a se ale nan rele nan nou. Kounye a ke mwen gen yon flote, kite m 'ale pi devan epi fè nan konvèsyon. Se konsa, premye, kite m 'tou jwenn nan abitid la isit la nan kòmantè kòd m 'yo. Se konsa, ankò, yon kòmantè se jis yon nòt imen an ki nan pa fè pati de pwogram nan se pou chak, men li yon sèl, ede ou konprann ki sa ou te fè nan denmen maten, oswa pwochen an mwa, li te ede parèy ansèyman ou konprann ki sa ou te fè oswa ki sa ou gen entansyon fè, kidonk li a jeneralman trè bon pratik. Chak liy kèk nan kòd, ekri yon kòmantè moun tèt ou oswa kòlèg ou yo. Se konsa, isit la, mwen pral di, "Mande itilizatè pou tanperati." pa gen yo dwe yon fraz konplè, jis yon fraz kout. Men, lide a dèyè kòmantè nan C se ke chak nan ou kòmantè yo ta dwe pèmèt ou - oswa, di, yon tf oswa kolèg yon - koudèy pwogram ou an ak konnen egzakteman ki sa li fè, pa pa tèlman lekti kòd la, men nan li kòmantè yo, ki yo ta dwe somèr epi ki klè. Tout dwa, konsa koulye a kite m 'ale pi devan epi di, "Konvèti Farennayt Sèlsiyis. "Se konsa, mwen pral ale pi devan epi fè sa, Se pou nou di, flote c. Nou pwal kenbe Sèlsiyis kòm yon valè pwen k ap flote. Ak kite m 'pran yon koud nan nivo sa a. Fòmil a se, ankò, moute isit la. Kòm 5/9 fwa F mwens 32. Se konsa, kite a fè sa. Se konsa, 5 divize pa 9, mwens - whoops, mwen messed l 'kanpe deja. Fwa. Se konsa, 5/9 fwa F mwens 32. Se konsa, F mwens 32, virgules. Epi, koulye a, desann isit la, mwen pral ale pi devan epi di, enprime rezilta. Ak pati sa a nan fasil. Printf. Kouman pou mwen ale sou enprime sa a? Oke, mwen te kapab di "Sa nimewo nan Sèlsiyis, se pousantaj% f \ n", jis pou kèk estetik. Lè sa a, ki sa valè mwen vle ploge nan isit la kòm nan printf dezyèm agiman? Oke. Se konsa, jis c. Se konsa, nou pral kòmanse ak sa a ak Lè sa a, jis retounen 0. Yon fwa ankò, li pa gen anyen fè ak matematik la. Li jis vle di tout bagay byen. Koulye a, se sa a ki kòrèk, pwogram sa a? Tout dwa. Se konsa, mwen te fè kèk erè. Menm si ou pa gen okenn lide ki sa pwogramasyon se, ou ka sòt nan dégager tounen nan lekòl la klas sa a erè isit la ta kapab. Ki sa ki nan youn nan premye a? ODYANS: [fèbl] DAVID J. Malan: Yeah. Se konsa, nou ap manke parantèz. Li te ekspre sa m 'fè parantèz nan moderatè la glise isit la, paske se la la aktyèlman sa a nosyon nan lòd nan operasyon yo, oswa priyorite, annakò ak sa operasyon sèten - miltiplikasyon - gen pi wo obligatwa yo, yo gen pi wo priyorite, pase bagay sa yo tankou adisyon oubyen soustraksyon. Se konsa, nou te fè sa a pou ane jis asire klè egzakteman yo ta dwe sa ki matematik operasyon dwe fè premye. Se konsa, mwen ta dwe pwobableman mime egzakteman sa a. Sinon, òdinatè a ap prezimableman pral pou yo eseye fè yon bagay tankou divize 5 pa 9, lè sa a anpil anpil pitit F, Lè sa a, fè soustraksyon 32 soti nan tout bagay la. Ki se pa, an reyalite, ki sa nou vle fè. Se konsa, kite a parenthesize. Se pou nou ajoute parantèz m 'isit la, parantèz isit la. Ann mete sou sa isit la. Isit la, mwen jis remake yon lòt erè mwen te fè sou wout la. Yeah? ODYANS: [fèbl] DAVID J. Malan: Ah. Bon. Se konsa, nou gen aktyèlman nonb antye relatif nan menm pwoblèm divizyon nan anvan. Mwen korije sa, kite la wè sa ki sentòm la se. Men, nou pwal gen yo korije yon sèl lòt erè isit la. Yeah? ODYANS: [fèbl] DAVID J. Malan: Wi. Se konsa, estipid erè mwen te fè, men èkstrèmeman enpòtan. Òdinatè a pa pral jis vire yon je avèg epi kite m 'sèvi ak F kapital, lè mwen aktyèlman te deklare varyab la kòm yon f miniskil isit la, nan liy 8. Se konsa, mwen bezwen korije nan majiskil liy 11 m 'yo, kote yon moman Anons sa pibliye depi se te yon F kapital pa erè. Ki sa ki sou isit la? Yo ta dwe sa a dwe miniskil kòm byen? Li ta dwe, men sa a yon konyensidans. Sa f% pa gen anyen fè ak varyab la. Se konsa, jis yo dwe Super klè isit la, kite m 'ale pi devan epi chanje non sa a, yon ti tan, "tanperati." Kite m 'chanje non sa a "tanperati." Kite m 'pa chanje non sa a. Paske, ankò, f% globalman vle di, "k ap flote valè pwen." Pa gen anyen fè ak varyab m 'yo. Men, "tanperati" sou tout plas la se jis yon ti kras bavar, se konsa mwen pral tounen nan miniskil mwen an "F". Koulye a, kite m 'ale pi devan desann nan fenèt mwen an isit la. Fè f2c - ki te, ankò, non an abitrè mwen te bay sa a dosye. Sanble li te konpile. Kite m 'kouri f2c. Antre. Tanperati nan Fahrenheit - kite a fè yon yon sèl fasil. 32. OK, korije. Men, si mwen fè kounye a 212 pou bouyi - modi. Tout dwa. Se konsa, klèman pa korije, si tf ou ap eseye omwen de valè. Se konsa, sa ki nan pwoblèm nan isit la? Oke, ou deja mete dwèt ou sou ki sa pwoblèm nan ye. Men, poukisa se ke ka a? Up isit la, lè m ap fè matematik la nan 5 divize pa 9. Se konsa, Concept, sa se parfe kòrèk. Totalman ki konsistan avèk fòmil la. Men, òdinatè sèlman fè pwesizeman sa ki ou di yo fè. Ak sa n ap efektivman di òdinatè a isit la se divize 5 nan nonb antye relatif pa 9 nan nonb antye relatif ak ban m 'rezilta a. Pwoblèm lan se, menm si, lè ou divizyon lè l sèvi avèk done kalite, randman a se menm kalite done an kòm entrain yo. Se konsa, si entrain yo de tou de se antye, randman a pral yo dwe genyen yon int. Se konsa, 5 divize pa 9 se yon bagay ki pwen. Men, sa ki nan nonb antye relatif ki pi pre nan pwen yon bagay? Se konsa, li aktyèlman 0. Se konsa, jan nou diskite nan Lendi, tout bagay apre desimal a pwen vin twonke. Li jis vin jete lwen. Se konsa, sa a se yon erè konplè, paske mwen ka kòm byen jis anpil anpil pitit tout bagay pa 0 isit la. Koulye a, mwen ka repare sa a nan yon koup nan fason. Mwen te kapab fè sa. 5.0 divize pa 9.0. Teknikman, mwen pa menm bezwen fè sa. Li fè sa ki sifizan a sèlman fè youn nan nimewo ki yon flote - oswa doub - pa mete pwen desimal la isit la. Paske sa k ap pase kounye a se lè ou divize yon nonb antye relatif nan yon flote, oswa yon doub, òdinatè a ap pase nan reyalize oh, youn nan moun ki se pi plis presi. Kite m 'pèdi tèt yo sou bò ban nou plis presizyon pase ou gen entansyon. Se konsa, li pral konvèti rezilta a - li pral retounen rezilta a kòm yon valè pwen k ap flote tankou byen. Se konsa, ki ta ka travay. Sa a ta travay. Ak gen nan yon sèl mekanis lòt ke nou pral wè nan plis detay an semèn pwochèn. Ou ka aktyèlman, kòm pwogramè la, di òdinatè a aktyèlman trete yon sèl done kalite kòm menm si li te yon lòt. Se konsa, mwen te kapab aktyèlman fè sa. Nan parantèz, mwen ka di yon bagay tankou (flote), louvri paren, fèmen paren. Ak sa a se sa ki rele "Distribisyon." Yon fwa ankò, pi plis sa a sou semèn pwochèn nan. Men, sa a se jis fason sa pwogramatik nan di òdinatè a, yeah mwen konnen 9 se yon nonb antye oswa yon long. Mwen konnen li pa yon valè pwen k ap flote. Men, trete li kòm sa yo de tout fason. Se konsa, voye jete yon kalite done vle di konvèti nan youn nan lòt la. Franchman, sa a se jis yon ti kras lèd, pou m ta pwopoze n 'al jwenn Retounen nan sijesyon orijinal la nan jis konvèti bagay sa yo nan k ap flote valè pwen manyèlman. Paske kounye a li nan jis super klè sa k ap pase sou li a, ak li pa tout sa ki distrè. Se konsa, kite a kounye a ale tounen nan fenèt tèminal m 'yo. Fè f2c. Kite m 'ale pi devan epi kouri sa a. Epi, menm jan yon sou kote, ou jwenn anwiye sezisman sa yo kòmandman ankò e ankò, reyalize ke òdinatè, tankou Linux isit la, yo gen tandans yo dwe trè entelijan. Men, si mwen frape Up, nou ka ale nan istwa tout m 'lan nan kòmandman, leve, li desann. Se konsa, nan ka sa a isit la, mwen ka jis ale Jiska kouri fè f2c. Mwen te rele nan, paske mwen jis te fè sa yon dezyèm Anons sa pibliye depi. Li nan deja jiska dat sa a. Se konsa, koulye a, mwen ka kouri f2c ankò. Ann eseye 32 Fahrenheit. Koulye a, kite nan eseye 212 Fahrenheit. Phew. Sanble nan travay. Koulye a, sa a se yon bon bagay, men li santi l yon ti kras abitrè ki Mwen ki montre sis chif apre pwen yo desimal. Dwa? Si ou se moun nan move tan nan televizyon, ou se kalite yon doofus si w ap lekti tanperati an a sa a degre nan presizyon. Se konsa, kite a senplifye sa a. Se konsa, kite a aktyèlman ale isit la, nan printf m 'yo. Ak yeah, mwen vle flote. Men, mwen vle kounye a presize presizyon la. Apre sa, mwen pral yo dwe yon somèr ti kras. Mwen pral di, ban m 'yon pwen apre plas la desimal. Se konsa, olye ke di f%, mwen pral di% .1 f. Lè sa a jis vle di, ban m 'yon sèl pozisyon apre pwen desimal la. Tout dwa. Ann eseye sa a ankò. Kite m 're-kouri li apre konpile. Koulye a, mwen tape nan 32, epi mwen jwenn tounen yon plis somèr valè. Apre sa, mwen ka tape nan, kounye a, 212, ak jwenn tounen yon somèr plis valè kòm byen. Ak gen nan lòt bagay ou kapab fè avèk printf. Ou ka aktyèlman endike fason lajè nimewo a yo ta dwe. Si ou vle gen kouvèti sou li, konsa ou ka dwa-aliman oswa bò gòch-align tout nan nimewo ou a oswa eseye bagay sa yo sant. Se konsa, reyalize gen ke trik nouvèl ti kras ou ka fè a. Men, yo jis bouyi desann nan kòd fòma, tankou nou gen la. Se konsa, an tèm de pwoblèm sa a nan priyorite. Sa a se yon tab trè raz yo ale nan metodikman. Men, reyalize ke otè yo nan C te vini ak nan règ ki presize ki operatè yo gen pi wo priyorite, plis obligatwa pouvwa a, pase lòt moun. Se konsa, Lè nou konsidere ke nan klas lekòl, nou jeneralman te konnen ke li te miltiplikasyon ak divizyon, lè sa a adisyon ak soustraksyon, Lè sa a, kèk lòt bagay. Nan yon mond nan pwogramasyon, gen yon anpil pi long lis de bagay sa yo. Ak sa a se pa yon bagay ki vo memorize kounye a. Ou lj jwenn adapte nan li anvan lontan. Men, jis tankou nan klas lekòl yo, parantèz jeneralman rezoud pwoblèm yo ki nan priyorite, pa fè super klè nan òdinatè ak moun sanble sa ki gen entansyon. Se konsa, konsidere sa a jis yon fèy twonpe ti kras la. Men, pi fò nan sa yo detay nou pa pral jwenn yo pou kèk tan. Tout dwa. Koulye a, kite nan bati epi ale lwen sa yo ti kras komik egzanp matematik. Toujou itilize fondamantal yo menm, men kòmanse eksprime tèt nou yon ti kras pi plis tankou grafonyen moun. Se konsa, nan grafouyen, nou te gen sa yo ekspresyon Boolean. Ak nan lang angle, yon ekspresyon Boolean se ki sa? Vre oubyen fo. Li nan yon bagay ki evalye vre oubyen fo. 1 oswa 0. Limen oubyen etenn. Kèlkeswa sa ou vle rele l '. Koulye a, nan grafouyen, moso yo devinèt te sanble ak sa a. Epi sa a, konbinezon a, sou anba a la, nan twa devinèt moso. Youn nan konjonksyon - yon bagay ki gen vid ak vid. Lè sa a, de ekspresyon Boolean andedan nan li. Se konsa, ou kapab fè nich ekspresyon Boolean jwenn plis konplike ekspresyon Boolean. Pou egzanp, si li se samdi, epi li se bèl move tan, Lè sa a, ale deyò. Oubyen yon bagay abitrè tankou sa. Se konsa, ou ka rantre nan ekspresyon Boolean vini ak yon se pi gwo valè verite, ki gen repons ki baze sou sa ki pi piti. Koulye a, nan C, Erezman, sa a kat se aktyèlman trè senp. Parantèz yo ede fè sa klè isit la. && Se sa ki vle di "ak". Se konsa, lè sa a jan nou pral konvèti sa yo blòk nan grafouyen C. Ak pou kondisyon sa yo nou te wè nan grafouyen, sou bò gòch bò la, mwen ka chemine yo menm nan C. Si x se mwens pase y, Lè sa a, fè sa. Lòt Bagay si x se pi gran pase y, Lè sa a, fè sa. Lòt Bagay lojikman yo dwe egal, kidonk di yo ke yo egal. Se konsa, nou kapab kounye a kòmanse bati sa yo sou bagay yo. Se konsa, kite a fè yon egzanp. Kite m 'louvri moute yon dosye ki nan sou sit entènèt kou a nan ki Mwen te ekri davans. Yo rele nonswitch.c. Epitou, n ap wè poukisa nan jis moman yon. Se konsa, nan sa a ranpli - nonswitch.c-- premye reyalize ke gen nan yon pakèt antye nan kòmantè nan tèt la. Se jis pou eksplike non an nan dosye a, ki sa li fè, ak pou fè. Epi li aparamman demontre itilize nan Boolean AK-egziste - conjoining de ekspresyon. Se konsa, kite a wè ki jan pwogram sa a travay. Mwen ka mete dosye de m 'yo, cs50.h ak stdio.h. Si m 'desann, koulye a, nan pwogram lan, li la yon ti tan ankò pase nou te ekri anvan, men trè lizib. Se konsa, mwen premye enprime itilizatè a, sou liy 18, "Ban mwen yon nonb antye relatif ant 1 ak 10." Se konsa, sa a, se dwa la. Koulye a, mwen jwenn nonb antye relatif la. Men, reyalize ke GetInt - trè senp. Li nan jis pral jwenn yon int. Li nan ale nan asire ke li jwenn yon int epi yo pa yon fisèl oswa flote yon. Men, li pa pral fè nenpòt kalite kont kouran fwontyè. Li pa nan ale nan filtre kantite moun ki kapab gen ant yon sèten pòte. Se konsa, nou gen aplike ke tèt nou. Se konsa, jis tankou nan grafouyen, kote mwen te kapab fè yon konjonksyon nan de ekspresyon, mwen ka fè sa nan C jan sa a. Si n pi gran pase oswa egal a 1, ak n se mwens pase ak oswa egal a 3, mwen pral jwenn anpil dekrè abitrèman ki nimewo yo dwe yon nimewo piti. Jis pou dedomajman pou la nan yon deklarasyon. Lòt Bagay si n se ant 4 ak 6, ekri ak lèt ​​detache "Ou te chwazi yon medyòm nimewo. "Lòt Bagay si n se ant 7 ak 10, ekri ak lèt ​​detache" Ou te chwazi yon gwo kantite. "Lòt Bagay enprime" Ou chwazi yon nimewo valab. " Paske lojikman, ki swiv si nou te fin itilize ranje nou an. Se konsa, reyalize sa a se pa byen ki jan nou ekri pi gran pase oswa egal a nan yon klas matematik. Dwa? Anjeneral ou rale l 'tankou sa a, ak liy yo anba nèt. Men pa gen okenn kle yo sou klavye m 'yo. Se konsa, senbòl la nan C pou eksprime pi gran pase oswa egal a se de pèsonaj, ak senbòl la pou mwens pase oswa egal a se de karaktè kòm byen. Tout dwa. Se konsa, si mwen kouri pwogram sa a, ou ka pwobableman devine kisa li a pral fè a. Si m 'ale pi devan epi fè nonswitch, Antre. Lè sa a, kouri nonswitch. Ban m 'yon nimewo ant 1 ak 10. Mwen pral bay li 11. Mwen pran yon nimewo valab. Kite m 'eseye nimewo a 3. Mwen pran yon nimewo piti. Se konsa, san patipri dwat la. E si mwen vle chanje konpòtman an nan pwogram sa a ak fè yon bagay yon ti kras diferan olye? Kite m 'ale pi devan epi di sa. Kite m 'debarase m de tout bagay sa a. Ak kite m 'di si (n == 42). Lè sa a, mwen pral ale pi devan epi di ekri ak lèt ​​detache "Ou te chwazi a dwa repons. "Lòt Bagay nou ap ale nan ale pi devan epi di, printf ("Ou te chwazi a sa ki mal repons ");. Okay. Jis paske. Koulye a, yon kèk pwen nou ka fè isit la. Youn nan, mwen pa t 'tape senbòl la ke ou ta panse se nan pi rezonab. Lè m 'vle tcheke egalite, vin aprann ou pa sèvi ak nan egal siy. Ou olye pou itilize egal siy ki egal. Epi poukisa ta ka ki dwe, jis entwitivman? Yeah. ODYANS: [fèbl] DAVID J. Malan: kòrèk. Ansèy ki egal deja itilize pou devwa. Yon moun pa t 'reyèlman panse ke sa a nan. Se konsa, koulye a, lè li rive tès egalite, nou dwe gen plis eksplisit, epi w'a di egal egal. Yon erè trè komen se fè sa. Epi, si nan lè biwo louvri oswa semèn nenpòt moman pwochen oswa nan la pwochen de semèn ou fè yon bagay tankou sa a ak Lè sa a, ki ap lite ak li pou 10, 20 minit eseye dekouvri ki sa pinèz la modi se, reyalize ke ou se youn nan moun ki moun ki te fè sa a erè. Se konsa, Super fasil fè. Men, objektif la kounye a se Ward nan sa a erè. Sa a te evalye, paske sa ki a sa a vrèman di a? Si n vin 42. Se konsa, pèp la vèb itilize, vèbalman, yo eksprime an nosyon nan afektasyon, se yon "yo vin." Se konsa, si n ap vin 42. Se konsa, sa vle di bay 42 n. Koulye a, mwen gen yon ekspresyon Boolean nan parantèz, andedan nan kondisyon sa a, valè ki se 42. Dwa? Paske si ou evalye li nan men soti nan anndan an, total la repons la, kounye a, se 42. Se konsa, si mwen mande w kesyon an, "si (42)," ki sa ki ki vrèman di a? Oke, ekspresyon Boolean kapab fèt sèlman vre oubyen fo. 1 oswa 0. Limen oubyen etenn. Se konsa, nou yo sanble yo gen yon ka kwen isit la, kote tout nan yon toudenkou, m ap di "si (42)". Sa se pa yon valè Boolean. Se konsa, sa òdinatè fè, menm si, se li esansyèlman équivalant se nenpòt bagay ki se pa 0 entèprete yo dwe vre. 1. Sou. Yo ap tout ekivalan woulant. Se sèlman valè a 0, oswa mo kle a fo, menm jan nou pral evantyèlman wè la a, se aktyèlman fo. Se konsa, "si (42)" ta aktyèlman dwe vre, paske li se ki pa zewo. Se konsa, yo dwe plis presi isit la, yon valè Boolean se reyèlman pa konsa pou sa anpil vre oubyen fo, men pou sa a ka, si se 0 oswa ki pa zewo. Se konsa, ki fo oswa ki pa fo. Ak ki pèmèt nou kouvri tout plis nan posiblite nan ekspresyon an parantèz. Se konsa, nou bezwen, tout tan se konsa ak anpil atansyon, di sa - si (n == 42). Tou senpleman paske nou bezwen presize yon egzamen sou egalite, pa yon devwa nan yon valè. Ki lòt bagay se vo anyen isit la? Sa yo aparèy òtopedik Curly yo aktyèlman pa sa nesesè. Mwen te fè yo jis yo dwe lav-picky isit la. Men, lè ou gen yon pwoblèm ke se sèlman gen yon sèl liy nan kòd, kòm yon konvenyans, pwogramasyon pa bezwen sèvi ak aparèy òtopedik yo Curly. Li sifizan nan jis itilize, pou rezon ayestetik, ak Lè sa a, ekri liy ou nan kòd. Se sèlman lè ou vle ekri de liy nan kòd - pou egzanp, lòt bagay printf ("Bye!"). Si ou vle fè sa, sa a se kase. Ou ka itilize tout sa ou vle, men reyalite a ki di ou gen tape de liy nan kòd san yo pa itilize aparèy òtopedik Curly sa vle di ke pwogram sa a pa t 'vle kouri kòrèkteman oswa ka pa menm konpile kòrèkteman. Se konsa, pou kounye a, yo dwe onèt, mwen panse ke abitid nan pi bon se jis sèvi ak aparèy òtopedik yo Curly, epi ou pral jwenn yo ke yo fè super klè sa ki pral sou. Epitou, kòm yon sou kote - sitou si ou se nan mitan moun ki sèvi ak liv yo rekòmande oswa resous sou entènèt - reyalize ke gen nan sa a nosyon de style nan pwogramasyon yo. Ak kèk moun ki aktyèlman pito mete atèl a Curly sou isit la sou yon liy. Gen kèk moun ki pito fè bagay sa yo ridikil, renmen mete yo isit la. Gen nan pa gen move repons lè li rive style, men sa a se sa ki mal. Men, gen kèk moun ki fè li. [Ri] DAVID J. Malan: Se konsa, mwen mansyone sa a, koulye a, tou senpleman paske kòm w ap li moute sou bagay sa yo nan liv oswa sou entènèt, w ap ale nan jwenn mesaj diferan nan men pwofesè ki diferan ak otè diferan. Ak jis reyalize ke, fonksyonèl, yo ap jeneralman ekivalan, men ou dwe konsistan. Se konsa, nan ka sa a, nou pral estandadize sou Curly a aparèy òtopedik doubli isit la sou bò gòch la. Tout dwa. Se konsa, kite a ale pi devan koulye a, epi kouri sa a, epi wè kisa k ap rive ak pwogram sa a. Fè nonswitch. Lè sa a, kouri nonswitch. Ban m 'yon nonb antye relatif ant 0 ak - pou sa a pa ki enpòtan ankò, men mwen m 'jis pral abitrèman di 42. Apre sa, mwen pran repons kòrèk la. Oke, koulye a, kite a aktyèlman pran sa a nan yon direksyon ki diferan. Li vire soti gen nan kèk sentaks lòt nou ka itilize nan yon pwogram. Isit la nan yon moso nouvo sou sentaks ki se fonksyonèl menm bagay la tou, men jis entwodui yon lòt fason de jan pou eksprime tèt nou. Se konsa, sa a se sa yo rele yon "deklarasyon switch." Ak yon deklarasyon switch opere jan sa a. Li pran, nan parantèz, yon valè ke ou vle "Switch" nan. Ou vle konpòte yon fason diferan ki baze sou valè li yo. Se konsa, sa vle di switch sou valè n. Ak ki sa sa a vle di? Byen, si n se 1 oswa 2 oswa 3, ale pi devan epi enprime soti "Ou pran yon nimewo gwo "ak Lè sa a, kase. Rezon ki fè yo pou repo a se ke wout la C ap travay se kòm pli vit ke li jwenn yon ka ki matche ak yo, li kòmanse egzekite tout nan kòd ki anba la a li. Se konsa, si mwen gen yon sèl liy nan kòd, jan mwen fè isit la sou liy 27, li vin egzekite. Si m 'ajoute yon lòt liy isit la, li vin egzekite. Yon lòt liy isit la, li vin egzekite. Pwogram nan sèlman sispann pwomenad sa ki nan pi ba a nan aplikab ka deklarasyon lè m 'fòmèlman di "kraze". Se konsa, sa ki mal. Dwa, nan ka sa a, kòm yon rezilta. 4 Ka oswa 5 oswa 6, Menm jan tou, ki pral enprime soti yon mesaj. Nan ka sa a, mwayèn nimewo. Kraze. Ka 7, 8, 9, 10, li pral enprime soti "Ou te chwazi yon gwo nimewo. "Pak. Lè sa a, gen nan literalman yon mo kle yo rele "default" sa a, se efektivman tankou "lòt la" konstwi. Se konsa, nouvo sentaks, men entelektyèlman, pa gen anyen nan tout isit la nouvo. Li nan jis tankou nan grafouyen. Si, lòt bagay, si lòt bagay, si sòt de blòk. Se konsa, sa a, se vèsyon an commuté nan pwogram sa a. Men, remake ke nou te fè li ak nimewo isit la. Kite m 'louvri moute yon vèsyon dezyèm, jis yo montre yon bagay yon ti kras plis konkrè. Se konsa, isit la nou gen klas pito. Vire soti ou ka itilize switch pa sèlman sou nonm antye relatif, men sou karaktè. Pa nan tout kalite done, men omwen sou karaktè. Se konsa, isit la, nou te kapab fè yon bagay tankou si valè a nan C ki itilizatè a tape nan, nan liy 19, lè l sèvi avèk fonksyon an GetChar, se kapital A oswa miniskil yon, kite la entèprete li kòm yon klas, yo di ke yo te chwazi yon nòt ekselan. , Li desann ansanm deklarasyon an switch, nou gen lòt ka pou "B" a ak "C" a, ak pou fè. Men, se pou a kounye a awondi soti yon lòt bagay. Epi ankò, kalite vole byen wo nan kèk nan egzanp sa yo. Men, li vrèman pou nou ka aplike yo, kounye a - oswa reyèlman, jis tradui yo kounye a - C. Se konsa, kite m 'ale pi devan epi fè sa. Mwen pral louvri moute yon dosye nouvo. Apre sa, mwen pral fè yo enkli . Lè sa a, mwen pral fè int prensipal (san valè). Kite m 'sove sa a ranpli kòm yon loop.c. Jis kòm yon egzanp. Ak mwen pral ale pi devan epi fè bagay sa a. Mwen vle ekri yon pwogram trè fatigan. Se konsa, 10. Se pou nou fè sa. 9. Tout dwa. Osito ke ou kòmanse fè sa a nan pwogram, w ap pwobableman fè yon bagay ki mal. Men, nou pral kòmanse gen de tout fason. Wouch. Sa a se aktyèlman sa ki mal. 7. 6. 5. 4. Pa gen anyen la pral rive lè nou jwenn a 0. 3. 2. 1. Oke. 0. Efase. Tout dwa. Se konsa, retounen 0. Se konsa, pwogram sa a nan evidamman pral fè sa li trè tediously l di ke li pral fè a. Li k ap pase ou enprime tout sa yo valè, depi anwo jouk anba. Se konsa, kite m 'fè fè riban. Lè sa a, - whoops. Fè riban. Mwen te nan anyè a sa ki mal. Epi, koulye a kite m 'kouri riban. Antre. Woohoo. Trè bèl. Nice, depi lontan nan pwogram nan. Tout dwa, men kounye a kite a fè sa pi byen. Jis tankou nan grafouyen, lè ou te kòmanse lè l sèvi avèk yon loupin konstwi, olye pou yo jis kopye ak kole tout la moso devinèt, kite m 'prezante bagay sa a. Se konsa, nan C, gen plizyè konstwi loupin, youn nan ki sanble sa a. A "pou" riban a gen twa bagay sa yo, separe pa de virgules. Lè sa a,, andedan nan kò a nan riban a, se konsa pale - a andedan bagay la aparèy òtopedik yo Curly - nou ka fè yon bagay ankò epi ankò. Se konsa, sa m 'gen la a sou ekran an, sa a se literalman jis yon kòmantè. / / A vle di isit la vini yon kòmantè. Sa a se pa kòd. Sa a se jis deskripsyon lang angle, m ', moun lan. Inisyalizasyon Se konsa,, kondisyon, ak dènye enfòmasyon yo. Oke, kite la wè ki jan sa a travay. Sa a pèmèt m 'nan reyekri pwogram sa a jan sa a. Pou - Se konsa isit la vini riban mwen - Int mwen - isit la vini yon varyab ki rele "mwen" - vin inisyalizèd a 10. Se konsa, gen se inisyalizasyon m 'yo. Mwen vle fè sa a riban toutotan "mwen" se pi gran pase oswa egal a 0. Yo, epi sou chak iterasyon sa a riban, mwen vle fè mwen -. Se konsa, nou te wè + + nan Lendi. - Se opoze an. Li dekremant valè a pa 1. Anndan sa a riban, mwen vle aktyèlman fè yon bagay. Se konsa, mwen pral di yon bagay tankou printf. Mwen pa vle di 10 kounye a, paske sa a evidamman se jis ale nan enprime menm valè a. Ki sa mwen vle enprime olye de sa, pwobableman? Yeah. Se konsa, "mwen". Se konsa,% d, mwen. Se konsa, mwen pral vòlè youn nan ide sa yo soti nan pi bonè - sa a sibstitisyon pou kòd fòma - ak Lè sa a, desann isit la, nan pati anba a, mwen pral tounen 0, jis pou bon mezi. Men, koulye a, mwen gen yon pwogram somèr plis. Li nan sèlman yon liy kèk, epi yo pa gen kèk 10 oswa 11 liy yo. Kite m 'ale nan èd memwa m' desann isit la. Riban renouvèlman. Relance riban. Ak li parèt yo dwe menm bagay la. Koulye a, pwogram lan nan pa gen plis enteresan. Men, koulye a, mwen ka tape yon bagay tankou sa a. Mwen ka chanje sa a a 100. Mwen ka Lè sa a, compile pwogram mwen an. Lè sa a, mwen ka re-kouri pwogram mwen an. Epi, koulye a li ale super-vit sou òdinatè a jodi a. Men, gen mwen gen - ak aktyèlman, tanpon scrollback m nan pa menm ale ki lwen. Gen nou ale. Se konsa, gen nou gen tout 100. Men, li la fasil fè erè isit la. Sa k ap pase yo dwe konpòtman an prévu si mwen aksidantèlman fè sa? Se konsa, li santi l tankou enfini. Se konsa, kite a wè si òdinatè a konpòte li. Se konsa, kite m 'ale pi devan epi fè riban. Ak kite m 'kouri riban. Se konsa, kite a tounen vin jwenn ke nan jis moman yon. Nou pral kite sa kouri. Paske sa ki ta dwe nou konte jiska, minim? Pwobableman omwen 2 milya dola, si nou gen ki Bits anpil moun, ak nou ap lè l sèvi avèk valè pozitif. Se konsa, kite a so tounen isit la. Anplis sa yo kalite pasan, nou gen sa ki yo rele yo pandan y ap pasan. Se konsa, jis tankou nan grafouyen, ou te gen pou tout tan blòk, epi ou te gen blòk Repete. Menm jan tou, nan C, ou jis gen lòt fason de jan pou eksprime tèt ou. Se konsa, ou gen sa a nosyon nan yon riban pandan y ap ki pèmèt ou eksprime tèt ou yon ti jan diferan. Lè sa a, ou gen yon bagay yo rele yon riban fè-pandan y ap, ki opere yon ti kras diferan tankou byen. Epitou, n ap toumante sa yo apa sou tan. Men, kite a pran yon gade nan yon sèl sa a dènye isit la. Si nou ale nan - toujou kouri. Li trè enfini. Se konsa, kite m 'ale nan pozitif, epi montre ki jan nou kapab aktyèlman gouvène opinyon itilizatè yon ti kras plis efikasite. Li se yon pwogram trè kout. Ak isit la nou gen, nan prensipal yo, yon int n deklarasyon an. Se konsa, ban m 'yon varyab rele n. Koulye a, mwen literalman di "Fè." Lè sa a, mwen te gen louvri Curly atèl, fèmen atèl Curly. Lè sa a, remake, dwa apre sa, li di pandan y ap n se mwens pase 1. Se konsa, avi ke liy sa yo - 19 a 24 - konpoze kolektivman yon riban fè-pandan y ap. Epi ankò, nouvo sentaks, se pa yon lide nouvo. Se jis yon lòt fason nan loupin, syntactically. Se konsa, sa sa a fè? Fè bagay sa yo pandan y ap n se mwens pase 1. Se konsa, sa m 'vle fè? Mwen mande w ban m 'yon nonm antye ki pozitif. Lè sa a, mwen aktyèlman eseye jwenn yon nonb antye relatif soti nan itilizatè lan. Men, an tèm de lòd operasyon isit la, paske nan pandan y ap kondisyon se desann isit la, mwen Lè sa a, ale nan tcheke, se n mwens pase 1? Se konsa, sipoze ke itilizatè a - apre yo te fin mande nan fason sa a - kalite nan 0 a valè. Kondisyon sa a a pwal vre oubyen fo? Oke, li la aktyèlman pral yo dwe vre. Paske n se 0, epi 0 se mwens pase 1. Se konsa, sa ki vle fè konprann? Èske l 'ankò. Èske l 'ankò. Èske l 'ankò. Sèlman yon fwa ke kondisyon evalye fo. Si m 'tape nan 42. Oke pa gen okenn, 42 se pa mwens pase 1. Se poutèt sa, sa a se riban fè pwomenad. Se konsa, nan pwen sa a, pwogram nan ap di, mèsi pou 42 an, nan ka sa a. Kounye a ke ou gen nan fason sa a nan eksprime tèt ou - Nou pa ta dwe tann pou sa a fini. Li nan pral pran kèk tan. Pou yo kapab kontinye nan pwochen tan, petèt. Men, kounye a, ou gen kapasite nan èspere ke yo konprann yon ti jan de imè pèr. Ekskiz. Sa a se pa reprezantan de imè nan syans konpitè a lemonn, men li la bèl. Fen [ri] Ann sou sa nòt. Epi nou pral wè ou nan Lendi. [Aplodisman]