[TÓNLIST spila] DAVID Malan: Halló, allir. Þetta er supersection CS50 er. Úthlutað Deildir mun ekki byrja í aðra viku. Og svo í dag, ég er hér with-- MARIA: Maria. DAVID Malan: --to raun taka a líta á vandamál setja einn, auðvitað er Fyrstu vikur efni, fá þú stilla með CS50 IDE, dálítið Linux stýrikerfi sem er í gangi á IDE, sem og líta á sumir af the umskipti frá grunni til C leiðandi allt að Heimadæmi einn. Svo án frekari fjaðrafok, í vandamál setja einn, þú ert að fara að vera kynnt CS50 IDE, sem er þessi vefur-undirstaða forritun umhverfi sem við notum til til að skrifa forrit. Það hefur verið hannaður til að líta mjög minnir á dæmigerðum tölvu Kerfið keyra rekstur Kerfið heitir Linux. En það er í svokölluðu ský, sem þýðir að allir í bekknum getur raunverulega hafa hans eða hennar eigin reikning og nota það, eins og heilbrigður. Þannig að flestir af þú sennilega hafa aldrei notað Linux umhverfi áður eða kannski jafnvel a stjórn lína umhverfi. Og a stjórn lína umhverfi er öðruvísi. Það er allt texta. Það er allt lyklaborðsskipanir. Og það er engin Músakennsla, engin tákn, án tals gluggar, engar valmyndir. Það er eingöngu texti. Svo í fyrstu, það góður af er eins og skref aftur á bak hvað varðar fágun. En það endar á því að vera mikið öflugri, vissulega, fyrir tölvunarfræðingur lokum. Svo skulum taka a líta. Hér er ég á CS50.io, með sem þú getur skráð þig inn CS50 IDE. Og líkt í grunni, það er þrjár aðal svæði þessum skjá. Svo á vinstri hönd hlið, við höfum hvað verður skrá flettitæki. Og það er þetta folderinn efst, sem er núna tóm þar sem ég fékk að losa um allt mitt skrár fyrir supersection. Og það er þar sem við munum vista C skrár sem við skrifum. Efst til hægri, höfum við stað þar allt númerið okkar er að fara að fá skrifað. Og reyndar, ef ég smelli þessu plús, þetta er að fara að láta mig velja nýja skrá. Og hér ég get byrjað að skrifa C kóða eða, raunverulega, fjölda annarra tungumála. Og þá neðst þar sem það segir jharvard @ ide50-- og þitt mun segja eitthvað smá different-- hvað var þetta kallað? Endastöðvar. Já. Svo er endastöðvar svokallaða stjórn lína tengi í gegnum sem þú getur samskipti með undirliggjandi stýrikerfi. Og nú erum við að fara að gera mjög lítið notað this-- bara til að safna saman, til að líta á villa skilaboð sem við sjáum, og að keyra forrit okkar. En að lokum, við erum að fara að gera svo miklu meira, eins og heilbrigður. Og þú getur jafnvel setja upp hugbúnað og gefa vinnusvæði innan CS50 IDE, eins og heilbrigður. En meira um það einhverjum öðrum tíma. Svo skulum við fara á undan og skrifa mjög einfalt program bara að fara í gegnum hlýja-upp af hello.c, sem er kannski einfaldasta forrit sem við getum skrifað. Ég hef nú þegar opnað nýja flipa. Ég ætla að fara á undan og segir eru stöðluð io.h. Þá int helstu (tóm). Og svo printf ("Halló, heimur" sviga n, loka vitna, loka sviga og semíkommu. Allt í lagi. Svo nú taka gluggi minn er án titils. Svo ég er mjög fljótt að fara að fara upp í File, Save. Og það er mikilvægt að Ég kalla þetta ekki "halló." Svo mjög algeng mistök, sérstaklega í Heimadæmi einn, er að tilviljun bara hringja þinn program "vatn" eða "gráðugur" eða "Mario" eða "inneign" eða þess háttar. En þú vilt í raun að gera Verið viss um að skrá eftirnafn vegna þess að þetta er eina leiðin sem þýðandinn og einnig merkjamál ritstjóri veit að þú ert í raun að skrifa C kóða. Svo láta mig fara á undan og smelltu á Vista. Og nú líka, hvað CS50 IDE hefur gert fyrir okkur er að það er líka setningafræði hápunktur allt. Svo það er gert allt mjög litrík. Og allt tilgangur sem er ekki sá. Það er bara að teikna augu mín til eðli mismunandi stykki þessarar áætlunar. Svo skulum við fara á undan og taka saman þetta. Og ég get safna saman þetta í nokkra vegu. Og í viku eitt er gamla skólanum leið við gerðum það var bókstaflega á í Command line-- "Clang hello.c." Og þá er ég ýta á Enter. Og ekkert virðist gerast í flugstöðinni glugga. En hvað gerði breytingu á IDE? Þar, aftur, IDE þýðir bara Integrated Development Umhverfi. Það er fínt leið til að segja Þessi samþætta þróun umhverfi til að þróa hugbúnað. Svo hvað var að breyta í HÍ? Hvað gerðir þú tekur það er öðruvísi, Maria? MARIA: Ég tók eitthvað undir IDE50 mappa upp hér. DAVID Malan: Já. Svo hér, ekki aðeins höfum við "hello.c." Við höfum einnig "a.out," sem er konar heimsk nafn á forriti. En reyndar er það sjálfgefið nafn fyrir a program þegar þú saman bara númerið þitt og ekki segja þýðanda hvaða skrá í úttak. Þannig að ef ég vil keyra þetta, ég þarf að segja compiler-- eða öllu heldur, ég þarf að segja vinnusvæði sem ég vilt keyra forrit sem heitir "a.out." Sláðu. Og það er "halló, heimur. "nú" ./ ". er í raun mikilvægt. Jafnvel þó venjulega við aðeins skrifa nöfn skipunum, þegar það er forrit sem þú hefur skrifað, viltu segja "./" því sem sérstaklega segir Linux sem þú vilt keyra forrit sem heitir "a.out" sem er í þessu, þar sem punktur þýðir þetta möppu sem ég er nú í, sem gerist að vera kallað vinnusvæði, "a.out. Vegna þess að ef ég sagði bara "a.out," Enter, Ég ætla að fá "a.out stjórn ekki fannst "vegna þess að computer-- vegna þess að ég fann "a.out;" það kom ekki með computer-- veit ekki hvar á að leita að því, jafnvel þó að það er rétt undir nefið á mér, svo að segja. OK. Þannig að við gætum breytt þessu í vera "Clang -o halló hello.c." Og ef ég högg inn, hvaða forrit er þetta að fara að framleiðsla fyrir mig? Hvað er nafnið á skránni? Já, í bak. Það er rétt. "Hello." Svo "halló" er að fara að vera nafn af the program vegna þess að við höfum notað svokölluð stjórn lína rifrildi, sem er bara leið að breyta hegðun þýðandinn að raun framleiðsla a sérstakur skrá nafn. Og reyndar, ef ég stækka út og líta upp hér, nú hef ég ekki aðeins "a.out" og "hello.c" en einnig "halló," eins og heilbrigður. Svo nú get ég gert "./hello," Enter. Og það er "Halló, heimur." En lastly-- og þetta mun nú vera samningur við notum um allan önn, typically-- er einnig hægt að segja bara "gera halló." Og reyndar, það er að segja það er allt hingað vegna þess að það er þegar til. Leyfðu mér að fara á undan og fjarlægja með RM stjórn, bæði "a.out" - og segja "fjarlægja reglulega skrá a.out?" Það þýðir bara, þú ert viss um að þú viljir eyða honum? Ég ætla að segja já. Og þá er ég að fara að fjarlægja "halló" en ekki "hello.c." Ég ætla að segja "já" sérstaklega, en "Y" er nóg, eins vel. Og nú eftir ef ég slá ls-- Sem muna, þýðir list-- það er listi yfir allar skrár í möppuna mína. Og reyndar, ef ég stækka út og líta á efst til vinstri, það staðfestir að það er í þessari möppu, jafnvel þó að það er merkt sem IDE50 upp hér og ekki vinnusvæði, er það bara "hello.c." Svo nú niður hér, ef ég ekki "gera halló," Enter, nú sé ég mun lengur stjórn en flóknari stjórn sem er að fara til að vera gagnlegt í vikur til að koma. Og nú get ég sagt "./hello." Svo skulum taka a fljótur ferð einhver önnur Linux skipanir. Þá hvers vegna eigum við ekki að taka skref aftur og í raun líta á C meira almennt, breyting frá grunni til C, og þá gera með útlit við fyrsta vandamál sett í C. Allur réttur. Þannig að ég ætla að fara á undan og bara hreint upp vinnuaðstöðu mína við Control-L bara Til að halda skjánum snyrtilegur. En það hefur engin virk áhrif annars. Muna að við höfum séð nokkrar skipanir núna. Þannig að við höfum séð clang, sem almennt þú þarft ekki að framkvæma handvirkt lengur. Við munum í staðinn nota gera. En við sáum líka LS, sem sýnir skráningu skrár í möppuna mína. Og nú er ástæða there-- það er tvær skrár nú, "halló" og "hello.c." Hvers vegna er það stjarna eða Stjörnumerki eftir "halló"? Hvað gerði það signify, byggt á það sem við sáum í viku eitt? Hvað finnst þér? Hvað þýðir stjarnan signify? MARIA: For-- áætlunarinnar "halló"? DAVID Malan: "Hello *". Já. Ó já? Oh, executable. Það er rétt. Svo það þýðir að "halló" er executable. Svo reyndar, að vegna Ég get gert "./hello." Allt í lagi. Svo hvað get ég gert hér? Jæja, það kemur í ljós að ég get líka búið framkvæmdarstjóra. Svo láta mig fara á undan og búa til, til dæmis, a "pset1" skrá. Og vandamálið sett forskrift verður þú að gera einmitt þetta, svo þú þarft ekki að muna í dag. En "mkdir pset1" virðist hafa engin áhrif. En aftur, engin villuboð er almennt gott. Svo ef ég tegund "ls" now-- Ah, nú Ég er með executable skrá sem heitir "halló," a C skrá sem heitir "hello.c." Og þá slóð rista, svo að tala, þýðir að þetta er mappa. Svo reyndar, nú vil ég að opna hana. Og ég ekki á að tvöfalda smella á það eins og í GUI, myndrænt umhverfi. Ég segi í staðinn "CD pset1." Sláðu. Ekkert áhugavert virðist hafa gerðist nema smá hvetja mína here-- er með þessum hætti Linux er að minna mér þar sem ég er, svo hvaða möppu er opinn. Það er bara að segja mér afdráttarlaust öfugt við myndrænt. Og ef ég tegund "ls," hvers vegna ég sé annað hvetja strax, finnst þér, þegar ég lista innihald pset1? MARIA: Þú sennilega ekki hafa neitt í það. DAVID Malan: Já. Svo þá höfum við ekki augljóslega skapað eitthvað í það vegna þess að ég var að stofna möppu. Nú, ef ég vildi búa til file-- fyrir dæmi gæti ég búið til nýja skrá. Og þá gæti ég farið að Vista og vista hana sem, eins og: "mario.c" ef þú ert að gera staðall útgáfa af pset einn. Og þá, eins og allir Mac eða PC, bara velja möppuna "pset1, Vista. Og nú er skrá tóm. En við skulum stækka aftur fyrir annað. Við skulum gera LS hér. Nú sjáum við "mario.c". Svo er nokkur aðrar skipanir þar sem eru þess virði að halda í huga yfir time-- eytt eða Control-L er það sem ég hef verið hitting; mkdir við höfum séð; RM við höfum séð, eins og heilbrigður, sem er til að fjarlægja eða eyða skrá. Varast þú getur also-- og ef þú horfir á netinu námskeið, þú munt rm -Rf er mjög algeng leið til að segja Ef eyða á möppu sem hefur efni á því. Bara vera frábær, frábær varkár. -Rf þýðir endurkvæmt eyða hvað sem það er þú ert að reyna að eyða og valdi eyða því. Svo endurkvæma þýðir að ef það er mappa með mappa með möppu með möppu, eyða þeim. Og valdi þýðir ekki einu sinni spyrja mig já eða nei, ég viss? Svo það er frábær hættulegt leið eyða fullt af dóti fljótt. En beware-- of oft gerir hugrakkur nemandi tilviljun eyða, segjum, pset einn, til dæmis. MARIA: Og ef þeir bara gera -r, þeir eru að fara að spyrja þá um hvert einasta skrá. DAVID Malan: Hver er hóflega pirrandi. MARIA: Já. DAVID Malan: Svo er það hvers vegna svo margir af okkur, sjálf með, er í vana að nota -Rf. En það er hættulegt. Svo kaupandi gæta sín. Og þá er MV konar Athyglisvert hét. Svo er þetta að færa stjórn, sem finnst svolítið skrítið vegna þess að þú getur örugglega notað það til að flytja skrár frá einum stað til annars. Til dæmis, gera ráð fyrir að ég boðberi upp. Segjum sem svo að ég stofnaði ný skrá fyrir pset. Og ég spara það eins og "greedy.c." En ég geri ráð fyrir slysni vista það í IDE50-- svo í vinnurými mínu sig og ekki í pset1. Þú getur séð meira á efst til vinstri. Það er "greedy.c." Og það er nokkrar lausnir. Svo einn, ég get notað frábær notandi-vingjarnlegur hátt þess bara draga og sleppa honum. Og það væri í raun laga þetta vandamál. En í dag erum við að reyna að líta á því meira Bogagöng en öflug leiðir til að gera þetta. Svo láta mig taka "ls" í pset1. Og ég sé bara "mario.c." Leyfðu mér að fara á undan og gera "cd ..". Svo CD er aftur breyting skrá. ".." Þýðir það, þó? Síðast þegar ég sagði "CD pset1 "að fara í pset1. Svo þegar ég segi "cd .." Hvað er ég að gera? Aftur á bak. Já. Svo það er að fara að svokölluðum foreldris. Fara upp um eitt stig, eins og spennandi úr möppu. Svo Enter. Og reyndar, sjáðu hvað það gerði. Það flutti mig bara inn vinnusvæði stað af í pset1, sem er í vinnurými. Og nú ef ég tegund "ls", það er allt fullt af efni. Í það er "greedy.c". Svo nú langar mig að nota MV að bókstaflega færa "greedy.c" í pset1. Og svo mikið af Linux skipanir vinna nákvæmlega eins og þetta. Þeir taka ekki rök eða þeir taka einn rifrildi eða þeir taka tvö skipanalína rök og svo framvegis. Og í þessu tilfelli, það er bókstaflega að gera það það segir, að vísu succinctly-- færa greedy.c í pset1. Sláðu. Ekkert virðist gerast. En ef ég a ls aftur, gráðugur er farinn. Og ef ég geri "CD pset1", Enter, og þá LS aftur, nú er það á réttum stað. Sem innskot, ef til sumir reason-- sérstaklega ef þú ert með hléum net-tengingu eða þú ert að ganga í kring háskólasvæðinu með fartölvu loki þinni lokað og þá opna það upp aftur og vinnusvæði virðist nokkuð úr takti, ekki máli. Bara endurræsa vafrann glugga, og það ætti að resync þannig að vinstri-hönd skrá flettitæki lítur nákvæmlega eins flugstöðinni glugga. Ekki hafa áhyggjur. Hvenær í vafa, endurhlaða síðunni, svo lengi sem þú hefur vistað skrár þegar. OK. Svo MV einnig hægt að nota til að endurnefna skrár. Og við skulum taka a líta á þetta endanlega stjórn hér. Svo suppose-- og þetta er frábær sameiginleg líka snemma. Sumir nemendur stundum að búa til skrá kallað, við skulum say-- hvað er annað? Eins og "WATER.C." Þannig að ég ætla bara æpa, fyrir engin ástæða, í öllum húfur. En þetta er ekki rétt nafn fyrir the skrá ef aðeins vegna þess að vandamál okkar sett forskrift ekki segja þér til að vista skrána sem allar húfur "WATER.C." Þess í stað, gerum við ráð fyrir "water.c" í lágstöfum. Og í raun er þetta erfið vegna check50, a program sem þú ert að fara til að mæta í vanda setja einn sem sjálfkrafa prófar Réttmæti númerið þitt er að fara að æpa á þig ef það er ekki hægt finna "water.c" í öllum lágstöfum. Þannig að ég þarf að laga þetta. Svo margar mismunandi leiðir til að gera þetta, fyrst sem væri að stjórna smellur eða hægri-smelltu skrá nafn og bara breyta Rename. Algerlega lagi að gera það. En aftur, í dag, við skulum gera það svolítið áhugamaður. Notum MV að breyta "WATER.C" til "water.c." Svo getur þú líka notað í fyrsta rifrildi til að endurnefna það til seinni rök ef annað rifrildi er ekki í staðreynd, möppu eða skrá nafn. Allt í lagi. Og loks, smá trick-- þannig að ég er í vinnusvæði skrá mitt í augnablikinu. Ef ég vil fá inn í pset einn, Ég get vissulega slegið "CD pset1." En það er svo leiðinlegt að slá "pset1" eða lengur skrá nöfn eða skrá nöfn enn. Svo mjög oft í Linux, hvað þú getur gert er að byrja að skrifa "tímalínu" og bara leiðindi, högg Tab og láta tölvan reikna það út fyrir þig. Super gagnlegt að fá inn í þessi vana. The eini grípa er ef þú ert með margar skrár eða möppur sem byrja stafnum "p" eða "PS," þú might hafa að slá nokkrar fleiri áður en tölva veit hvað á að gera. MARIA: Við eins flýtileiðir. DAVID Malan: Þetta mun spara þér svo mikinn tíma. Og einnig, eins og ég sagði í fyrirlestri, þú getur flett upp í sögu, upp og niður, að finna nýlega keyrð skipanir, eins vel. Allt í lagi. Svo nú skulum við snúa athygli okkar aftur til einfalt forrit, halló heimur. Þannig að við höfum tekið saman þetta nákvæmlega. Og nú hvers vegna eigum við ekki að taka a líta á gagnatög og þá umskipti frá sumum samsvarandi Scratch blokkir til C. MARIA: Awesome. Svo nú að þú hefur byrjað skrifa forrit í C, við erum að fara að byrja að tala um tegundir gagna og breytum. Svo sumir gagnatög sem þú myndi vilja vita að byrja núna eru þau sem eru hápunktur í bláu. Þannig að við höfum INT fyrst, sem stendur fyrir heiltölu. Og það hefur heiltölur, eins og þú kunna að hafa guessed-- svo 1, 2, 3, og önnur heiltölur sem þú getur hugsa um. DAVID Malan: Og einnig neikvæðar. MARIA: Og einnig neikvæð sjálfur, jebb. Og 0. Þá höfum við fljóta, sem eru fljótandi tölur benda. Svo er það allt rauntölur sem hafa aukastöfum. Svo 5,0, 5,2, og jafnvel fleiri Tölunum eftir kommu, eins vel og einnig neikvæð. Þá höfum við bleikju sem er eðli. Þannig að ég held að við töluðum um þetta í fyrirlestri í dag. En við höfum bréf, fyrir example-- A, B, C-- sem hægt er að geyma sem char. En þá höfum við miklu fleiri tákn sem geta verið geymd sem char. Og þeir eru geymdar sem ASCII. Og þá höfum við bool, sem eru Booleans. Og þeir meta að True eða Rangar eða 1 og 0, í þessari röð. DAVID Malan: Og muna að bool kemur frá CS50 bókasafn. Svo það er ekki innbyggður í C, en það er frábær gagnlegt að hafa hugmynd um satt og ósatt. Og jafnvel þó að þú gæti think-- gaman staðreynd. A bool tæknilega þarf hversu margir bitar, sannarlega, að tákna True móti False? Hversu margir bitar finnst þér þú þyrfti, hámarks? Já, bara einn. Svo kemur í ljós að C get ekki gefið þér bara einn hluti. Minnsta eining mál þú getur fengið er átta. Svo það er lítið sóun þeir að þú ert með heilt bæti, eða átta bita, að tákna True eða False. En það er bara þannig að það er framkvæmda í C með CS50 bókasafn. Maria: Og þá þau sem við erum ekki að fara að tala um eins mikið rétt now-- tvöfaldur, það er fyrir stærri flotum. Lengi lengi og stutt eru einnig fyrir heiltölur. DAVID Malan: Reyndar. Í spjallþráð hefti pset einn, við notum í raun lengi lengi. En fyrir venjulegu útgáfunni, það ætti ekki að vera nauðsynlegt. MARIA: Cool. OK. Svo operators-- þú ættir að vera líklega kannast við flest af þessu. Viðbót, +; frádráttur, -. Fyrir margföldun, höfum við *. Svo ekki X sem við notum venjulega. Division, höfum við sviga. Og Modulo er síðasti rekstraraðili okkar sem við erum að fara að tala um núna. Það er rekstraraðili sem gerir okkur kleift að taka afganginn af deild. Svo ef við höfum 4% 2, 4 skipt með 2 er 2 með eftir 0. Svo er 4% 2 0. 4% 3 er 1. 4% 5 er 4, eins og þú gætir hafa giska. Og muna þegar öll þessi rekstraraðila til að nota PEMDAS reglur. DAVID Malan: Svo til að vera skýr, ef þú gera 4% 2, hvers vegna er það 0, nákvæmlega? MARIA: Þar 4 deilt með 2 er 2 með sem eftir er af 0. Svo gefur Modulo okkur að afgangurinn sem öfugt við vegna skiptingu. DAVID Malan: Og reyndar, það sem við munum finna þetta gagnlegt fyrir er að í sumum vandamálum það er ekki endilega einn, ef þú vilt hafa Áhrif takmarka sjálfur að ýmsum tölum eins 0 gegnum eitthvað, þú getur notað modulo að vefja í kringum fyrr en eins og 2 milljarða eða 4 milljarða verðmæti sem við höfum talað um í fyrirlestri. MARIA: Já. Og jafnvel í "gráðugur" Við gætum. DAVID Malan: Já, í vandamál setja einn, eins vel. MARIA: Já, gott. DAVID Malan: Good vísbending. MARIA: Sorry. Boolean expressions-- svo fyrir Boolean rekstraraðila, við erum að fara að tala um allt af þessum sem þú sérð hér. Svo núna, höfum við tvær samasemmerki skráð til jafningja. Svo þeir eru til samanburðar. Svo langt, höfum við aðeins séð einn jafngildir skilti. Það er þegar við framselja gildi breytu. Þannig að ef við höfum séð INT n = 5, þá við höfum úthlutað 5 til breytu n. En ef við viljum nota == fyrir samanburður, getum við að athuga hvort n == 5. Og ef n == 5, þá er það satt. Svo Boolean rekstraraðila leyfa okkur, í grundvallaratriðum, að meta Boolean orðasambönd til True eða False. Svo ekki equals-- við höfum upphrópunarmerki og jafningjar. Þannig að við gætum einnig athugað hvort n ekki jafn 5-- svo n! = 5. Minna en, minna en eða jafnt og, meiri en, stærra en eða jafnt og, og þá höfum við rökrétt OG og rökrétt OR. Og þeir gera okkur kleift að meta margar Boolean tjáning saman í rauninni koma saman sem heil Boolean tjáningu. Svo ef við viljum að finna fjölda, segja, sem er meiri en 5 en minna en 15 á sama tíma, við myndum nota við rökrétt og rekstraraðila til að sjá hvort n er meiri en 5 && n minna en 15. DAVID Malan: Og hér, of, það er mjög auðvelt snemma á óvart nota bara einn merkið eða einn lóðrétt strik. Og vonandi þýðandinn mun æpa á þig vegna þess að þeir í raun og veru hafa mjög mismunandi merkingu. Fyrir þá forvitinn, þeir notað fyrir Bita aðgerðir, starfa á einstökum bitum. En þú vilt par af þeim hér. Og frábær mikilvægt er að fyrsta, merkið, sem er jafnrétti rekstraraðila sem öfugt við framsal rekstraraðila. MARIA: Og lóðrétt bar er staðsett milli Delete og aftur. DAVID Malan: Já. Á dæmigerðum bandaríska lyklaborðinu. MARIA: Já. Svo skulum hoppa rétt inn skilyrt yfirlýsingar. Í grunni, hefur þú þegar séð, sennilega, ef yfirlýsingar sem leyfa þér að athuga hvort eitthvað sé satt, þá gera eitthvað annað. Svo þú gætir viljað til að athuga hvort Sprite er snerta einhverja aðra Sprite eða á landamærum skjánum. Og þá þú might hafa langað til að enda leikinn eða gera eitthvað annað. Svo setningafræði fyrir að er "ef (skilyrði)." Þannig að ef Sprite er snerta eitthvað, þá er ekki inni í hrokkið axlabönd. Þá höfum við if-else yfirlýsingar. Else gerir okkur kleift að gera eitthvað ef ástand sem við stöðva fyrir í upphafi er ekki satt. Þannig að ef Sprite er snerta landamæri að gera þetta, annað að gera eitthvað annað. Svo annars gera eitthvað annað. Þá höfum við stutt dæmi um þetta. Svo ef (military_time <12), við langar að printf "Góðan dag!" Annað sem við erum að fara að printf "Gott kvöld!" Basic dæmi. DAVID Malan: Good. MARIA: Cool. Svo nú höfum við skipta yfirlýsingar. Skipta yfirlýsingar almennt hægt leyfa okkur að gera a einhver fjöldi af það sama sem við ræddum bara um með ef yfirlýsingar. Til dæmis, núna höfum við Almenna form af the rofi yfirlýsingu sem gerir okkur kleift að taka breytu sem heitir n og bera saman það til a einhver fjöldi af Mismunandi gildi, sem hér við hafa kallað constant1, constant2. Við kunnum að hafa a einhver fjöldi fleiri. Og þeir eru kallaðir tilvikum. Svo ef við höfum skipt statement-- og þetta virkar aðeins fyrir integers-- við höfum breyta í þessu tilfelli sem er n. Ef breyta n er jafnt constant1, við mun framkvæma sumir kóðabút eða eitthvað sem við viljum gera. Og þá myndum við brjóta. Svo brot þýðir að skipta yfirlýsingu hættir framkvæmd ef n er jafnt og constant1, og þá program vilja halda áfram. Það mun hætta út af skipta yfirlýsingu og það verður halda áfram að gera eitthvað annað. Ef hins vegar n er ekki jafnt og constant1, þá rök fyrir constant2 verður skoðuð. Svo ef n jafngildir constant2, að aðrir kóðabút verður beitt. Og þá verður það að brjóta ef það er jafn það. Og þá getum við haft also-- ekki endilega, though-- sjálfgefið mál, sem mun gerast ef n er ekki jafnt einhverju tilvikum sem þú hefur skráð. Og í sjálfgefna tilfelli, einnig þurfa ekki pásu endilega vegna þess að skipta yfirlýsingu vilja vita að það þarf að enda eftir sjálfgefna ræða ef það er málið. DAVID Malan: En stylistically, við setjum alltaf í það. MARIA: Já. DAVID Malan: Já. Svo sérstaklega þegar byrjun út, sérstaklega ef meðal þeirra sem minna þægilegt, myndi ég persónulega bara mæli með að standa við Skógrækt ríkisins og IFS-elses og if-else-ef-elses og svo framvegis Ef aðeins vegna þess að þeir eru svolítið meira einfalt. Þetta er ágætur hagræðingu, eða stundum jafnvel fagurfræðilega það gerir kóðann læsilegri. Og í raun, líklega miðjan önn munum við sjá vandamál setja þar sem það lítur bara betur og auðveldara að lesa fyrir menn með því að nota skipta yfirlýsingu. En ekki hafa áhyggjur óður í liggur efst þetta of snemma. MARIA: Já. Ef þú hafa a einhver fjöldi af ef yfirlýsingar, það gæti bara ekki verið mjög læsileg. Það gæti ekki verið mjög hratt fyrir þig að fara í gegnum það. Svo skipta staðhæfing getur vera mjög gagnlegt, eins og heilbrigður. Og einnig, ekki remember-- ekki gleyma að setja hlé í það. DAVID Malan: Ekki muna þetta. MARIA: Því þá gæti fallið í gegnum frá einu tilviki til annars. Svo skulum segja að málið constant1 ekki hafa hlé yfirlýsingu í það. Þá erum við kannski falla í gegnum inni tilfelli constant2. Og við viljum ekki að gera það ef við höfum nú þegar náð að ræða constant1 og það er jafnt n. Svo, til dæmis, ef við erum með breytu n sem inniheldur flokks númer, og við viljum að sjá hvað það bekknum is-- ef n jafngildir 50, við erum að fara að prenta "CS50 er Inngangur að tölvunarfræði I. " Þá erum við að fara að brjóta. Og það er það. Ef hins vegar sem n er jafngilt 51, við erum að fara að prenta "CS51 er Inngangur að tölvunarfræði II. " Þá aftur, við erum að fara að brjóta. Hins vegar, ef þá erum við að setja 124, 61, allir annað númer sem þú might hugsa um, eða program er ekki að fara að viðurkenna það. Svo það er að fara að segja, "Því miður, ég er ekki kunnugur þeim flokki. " Og það er að fara að brjóta. DAVID Malan: Svo þú getur raunverulega sjá if, annars ef annað hugmynd hér. Það er bara öðruvísi setningafræði fyrir tjá nákvæmlega sömu hugmynd. MARIA: Nákvæmlega. Nú höfum við þríþætt rekstraraðila okkar. Svo þrígildur rekstraraðilar hafa þrír parts-- ástandi, eitthvað að gera ef sem skilyrði er satt, og þá eitthvað að gera ef það ástand er falskur. Svo þú sérð, í grundvallaratriðum, setningafræði sem hér. Við höfum á spurningamerkið, og þá the-- hvað við köllum þetta? DAVID Malan: The ristill. MARIA: Colon. Þakka þér fyrir. Sorry. Svo skulum líta á dæmi til sjá hvort við getum gert tilfinningu this-- class_num == 50. Svo hér sjáum við Boolean rekstraraðila okkar == sem ber saman breytilega class_num til 50. Svo class_num verslanir heiltala. Og ef það heiltölu jafngildir 50, þá erum við að geyma "David Malan" inni í streng prófessor. Ef flokkur fjöldi ekki jafna 50, "að Davíð Malan" er að fara að vera prófessor. DAVID Malan: Þakka þér. Og svo virðist þetta jafngildir hvað, myndir þú segja, við fyrstu sýn? MARIA: Mér virðist eins if-else yfirlýsingar. DAVID Malan: Já. Og í raun, þetta er góður af ansi einn Ferja, svo að segja, til að hrinda nákvæmlega röksemdafærsla if-else en að gera allt í einu skrefi. MARIA: Nákvæmlega. Já. Svo if-else yfirlýsingar gæti taka upp mikið pláss. Þeir gætu verið of löng fyrir eitthvað eins einfalt og þetta. Þannig að þetta getur verið mjög gagnorðar og mjög gott. Svo nú erum við að fara til að horfa á framkvæmd eitthvað aftur og aftur, svo stöðva fyrir a ástand mörgum sinnum og þá halda áfram að gera eitthvað en það ástand er satt. Þannig að þetta færir okkur vel inn í meðan lykkjur. Til vinstri, höfum við fyrst meðan okkar lykkja. Svo á meðan eitthvað er satt, gera eitthvað aftur og aftur. Svo tryggja að taka eftir því að okkar ástand hér er staðfest á the toppur. En með öðrum loop-- okkar sem við köllum að gera-en loop-- við gerum eitthvað, þá erum við að athuga ástand. Og ef því ástandi áfram að vera satt, við förum aftur og gera hlutur aftur. Svo er helsti munurinn þar skilyrðið er köflóttur fyrir. Og númerið má aldrei vera framkvæmd Ef ástand er ekki satt með while lykkju. En við gera-en lykkja, höfum við kóðann sem alltaf framkvæmt að minnsta kosti einu sinni. Og þá á meðan ástand áfram að vera satt, við getum farið aftur og kunnugt inn aftur. Svo hvers vegna finnst þér að við myndum nota a gera-while lykkju yfir while lykkju? Hægri. Svo ef við viljum hvetja sem Notendur að einhvers konar inntak, ef við viljum biðja þá til að slá inn nafn sitt, við viljum að minnsta kosti spyrja þá einu sinni. Og ef þeir gera inn að nafn, við erum ekki að fara að spyrja þá aftur vegna þess að við vitum það nú þegar. En ef þeir ekki inn nafn þeirra, eða ef þeir inn eitthvað sem er augljóslega ekki nafn, við viljum samt að halda áfram biðja þá um að nafn þeirra. DAVID Malan: Og í fyrirlestri við höfðum eitt svona með að fá jákvæða int dæmi, þar er ekkert að athuga fyrst vegna þess að þú ert ekki einu sinni fengið int. Þannig að við viljum gera this-- fá int frá user-- þá stöðva það, ef til vill, aftur og aftur og aftur. MARIA: Nákvæmlega. Fyrir loops-- lagi. Fyrir lykkjur er hægt að leyfa okkur að gera nánast nákvæmlega það sama, eins og heilbrigður. Það er í raun nákvæmlega sama. Svo er ekkert sem þú getur gert með fyrir lykkjur að þú viljir ekki vera fær um að gera við á meðan lykkjur. En fyrir lykkjur kann að virðast svolítið dálítið flóknara setningafræðilega vegna þess að þeir hafa þremur hlutum inni hvað var áður bara ástand við á meðan lykkjur. Svo fyrsta hluti sem þú sjó, vinstri-mest, höfum við "INT dvergarnir = 0." Svo er þetta þar sem við frumstilla breytu okkar. Þá höfum við semíkommu og "dvergarnir <7." Svo er þetta þar út ástand í raun er. Svo það er það sem við hefðum setja bara í tíma loop-- "en dvergarnir <7." Hér, sem fer í miðja okkar fyrir lykkju. Svo "dwaves <7." Og þá er síðasta hluti okkar "dvergarnir ++," sem er þar við uppfæra breytu okkar. Svo mikilvægast að átta sig á er að þessi er að fara að fara í gegnum þetta fyrir lykkju sjö sinnum og framkvæma sjö sinnum. Þannig að við höfum sjö Dvergarnir, og þeir eru allir að fara að segja, "ég er hér til að hjálpa þér, Snow White " vegna þess að þeir eru tilbúnir til að hjálpa Mjallhvíti. Með meðan lykkja, við hefðum gert frumstilling og uppfærslu ekki inni í ástandi, aftur, en annaðhvort fyrir eða inni í while lykkju til að tryggja að we-- því við þurfum alltaf þá hluta. Svo til að tryggja að við höfum þá, myndum við höfum enn bætt þeim á, bara ekki inni í sviga. DAVID Malan: Og svo lítur það like-- í fyrirlestri, til dæmis, Ég næstum alltaf notað, eins og, ég og n og laglegur leiðinlegur breytur. Það lítur út eins og þú getur notað fleiri snjall heitir breytur líka. MARIA: Já, það er í raun mjög gott að nota aðeins meira lýsandi breytur því sérstaklega ef einhver annar er lesa code-- þinn kannski þú ert Röð eða ef þú ert að taka þátt með somebody-- þú vilt vera viss um að þeir skilja hvað þú ert að gera. OK. Svo er þetta eitthvað mjög funky-- fyrir lykkju inni fyrir lykkju. Ég veit ekki hvort við höfum séð þetta áður. Örugglega ekki. En við getum í raun hafa this-- svo lykkjur í stað lykkjur. Svo er einhver vilja til að kannski ganga mig í gegnum hvað er að gerast hér? DAVID Malan: Ég tek stunga. MARIA: Cool. DAVID Malan: OK. Svo, spoiler-- við viljum prenta efni sem er í neðra hægra horninu þar. MARIA: Hægri. Jájá. DAVID Malan: Þannig að við höfum bara setja þessi sýnishorn framleiðsla þar. Svo ég get álykta frá hæstur lykkja sem þú ert iterating yfir raðir í yst lykkja, svo að segja. Og þú ert iterating yfir dálka með innsta lykkju. Og innsæi, þetta ætti vonandi vit því við eðli hvert forrit sem við höfum séð áður, printf, sem er virka við erum að nota, að lokum, hefur getu til að prenta efni út í raun línu fyrir línu. Eins og þegar þú hefur outputted ný lína, það er engin tvöföldun aftur og prentun eitthvað hærra í skjánum, að minnsta kosti ekki nota printf svona. Og svo í þeim efnum, sem gerir það skilningi að ysta lykkja skal vísa til raðir vegna þess að gefinn röð, þú ert að fara til að vilja prenta út xxxxx og þá fara yfir í næstu línu, XXXXX. Svo raðir koma fyrst. Og þá innan hvers röð, prenta þú dálka. Ef þú reyndir að gera það á gagnstæða, myndi það sennilega ekki koma út eins og þú ætlar. MARIA: Já. Við bara gat ekki farið aftur til fyrri umf með printf. DAVID Malan: Og hvað er áhugavert á spjalli í dag um umfang, reyndar, er að röð er int sem er lýst í hæstur lykkju. En eftir að það er enn inni, svo að segja, hrokkið axlabönd sem strax á eftir, jafnvel þó að það er ekki tæknilega innan þessara hrokkið axlabönd. Svo er röðin að umfangi fyrir heild á runu af kóða, bæði innri hlið ytra fyrir lykkju og innan í innri til hliðar. En hins vegar þar er dálkur í umfangi? Breytan dálkur? Já, aðeins í inni lykkju. Og það er allt í lagi vegna þess að við ekki aðgang að það utan hrokkið axlabönd sínum. Allt sem við gerum er að prenta út nýtt lína aftast þar. Þannig að í raun er í lagi. Svo hefur þetta áhrif, það lítur út eins og, um að gera þrjár raðir og fjögur blöð. MARIA: Hægri. Svo fyrst við förum í gegnum fyrstu röðinni okkar. Og bara í fyrstu röðinni okkar, við gerum það fjórir dálkar inni í fyrstu röðinni. Þannig að við prenta út fjórum X er. Og þá getum við hætta er til hliðar, þar sem við höfum nú þegar prentað út fjórum X er. Og við að prenta nýja línu. Og þá erum við að fara í gegnum Sama ferli í tvö raðir að gera samtals þremur. DAVID Malan: Og það er athyglisvert að það er bara artifact af letrinu, sú staðreynd að sýnið framleiðsla virðast svo miklu hærri, eins og það sem meira er raðir en dálkum. En það er bara vegna þess að X er hærri en það er breiður. Það er allt sem er að gerast þar, auk hvítt rúm milli línanna. MARIA: Hægri. Cool. DAVID Malan: Allt í lagi. Svo a fljótur líta á vandamál setja einn, taka einhverjar spurningar, og þá frestað? Allt í lagi. Svo í vandamál setja einn, það er þrjú helstu hindranir, að lokum. En fyrst, þú munt finna að vandamálið sett forskrift, sem með mörgum sem psets í haust, er að fara að ganga í gegnum nokkur hlý upp æfingum, benda þér á nokkur úrræði sem þú mega eða mega ekki hafa séð þegar. Til dæmis, CS50 hefur föruneyti af stuttbuxur, sem eru stutt myndbönd, ekki ólíkt þessu, en það eru mjög spjallþráð specific-- kannski fimm mínútur, 10 mínútur að lengd á lykkjur eða um skilyrði eða reiknirit eða síðar á fleiri háþróaður efni, eins og heilbrigður. Og við embed almennt þeir í vandræðum setur þannig að nemendur hafa auðlind sem á að endurskoða efni sem gæti hafa nú þegar komið upp í fyrirlestri eða kafla. En þannig það er markvissari og fleiri innan seilingar þeirra. Við hafa tilhneigingu einnig til að embed í vanda setur hlutina kallast walkthroughs. Svo næstum öll dæmi sem ég geri í fyrirlestri, á sviðinu hér, við einnig skutum á myndavél í fara meira hægar, nánara walkthrough af mér á minn laptop þess kóða, línu fyrir línu þannig að í bekknum, munum við oft Lögð gegnum eitthvað eða einhvern mun interject með að svara við spurningu. En það þýðir ekki endilega að sökkva í fyrir í áhorfendur. Svo þú munt finna númer walkthroughs fyrir flest af dæmunum sem við gerum hér í fyrirlestri þannig að þú Hægt er að ganga í gegnum það á eigin hraða og spóla hratt áfram eða til sleppa öllu leyti, ef þú vilt. Það er oft nokkrar Warm-upp spurningar sem biðja þig að raða á styrkja þetta efni og ganga úr skugga um að þú ert notalega áður þú halda áfram með the hvíla af the pset. Og þá, að sjálfsögðu, það er pset sjálft. Og eitt af því sem við mjög vísvitandi gera í CS50 er nánast hvert uninteresting eða vitsmunalega uninteresting vélrænni skref sem þú gætir þurft að gera er nánast alltaf mjög vel skjalfest. Á meðan á hugtakinu, munum við byrja að spyrja meira Retorísk spurningar eins muna hvernig á að gera þetta eða hitt? En almennt, þú munt finna að vandamálið setur fá þig gegnum aflfræði um eitthvað svo að áhugaverðar, vitsmunalegu viðfangsefni eru á endanum til vinstri við þig nemandann. Með því að segja, Zamyla, sem vér haldið vísa í dag í fyrirlestri, er einn af longtime starfsfólk okkar aðili sem einnig hefur walkthroughs á ákveðin vandamál pset eins og Mario og gráðugur, þó ekki vatn á þessu ári. Og það er í þeim walkthroughs sem hún oft býður upp á nokkrar ábendingar og bragðarefur fyrir hvernig á að halda áfram, aldrei að segja þér nákvæmlega hvað á að gera, en rather-- eins ástandi, ef þú will-- gefa þér að minnsta kosti nokkrar hugmyndir svo að það er komið að þér, lokum, að ákveða hvernig á að snúa sér til þeirra. MARIA: Raða af eins og a hár-láréttur flötur skilningur á rökfræði sem við erum að biðja þig um að gera. DAVID Malan: Einmitt. Og í raun, Zamyla er walkthroughs er ætlað að svara oft spurði spurning um hvar ég byrjaði, sérstaklega þegar þessi langa upplýsingar eru a lítill draga kjark gefið allan texta og myndefni sem þeir hafa í þeim. Svo water.c, þú munt finna eftir að þú hefur lokið því, er í raun tiltölulega einfalt. Absolutely eru fullt af að fara til Bang höfuð við vegg að reyna að reikna út hvers vegna það er ekki gerð eða hvers vegna það er ekki í gangi rétt. En þegar þú ert búinn með það og þegar þú hefur eyddi nokkrum tíma að glíma við eitthvað af galla sem þú gætir hafa, þú munt komast að því að það er mjög stutt program. Það er hægt að gera í örfáum línur af kóða, sem flest við höfum séð hér í fyrirlestri þegar, ef þú saman rétt kubbar. Og eins og við leggjum hér, það er að fara að spyrja þú að tilgreina hversu margar mínútur einhver er að taka í sturtu á háskólasvæðinu. Við tilgreina í vanda stilla inn gengið flæði vatns í, eins og, lág-rennsli sturtu höfuð, mikið eins og Seinfeld bút við sáum í gær eða hið gagnstæða þar af. Og þá verður þú bara að gera smá af stærðfræði, really-- tölur með C að segja okkur hversu mörg, u.þ.b., flöskur af vatni er það sem svarar til ef við erum að taka á milli n-mínútna sturtu. Nú, í mario.c, þetta er að fara að vera örlítið lengur program. Það er samt ekki að fara að vera svona lengi. Bara nokkrar línur sem eru yfir water.c. En það er að fara að vera tækifæri að endurskapa gamla skólanum Mario pýramída frá Super Mario Brothers eða sumir eftirfylgni á. Það er ekki að fara að líta út eins og fallegri eða eins litrík og það eitt þar. Við erum bara að fara að nota litla hashtags eins og við höfum hér á skjánum nota ASCII texta. En það mun samræma sömu hugmynd. Og það er að fara að vera æfa sem við fyrstu sýn virðist nokkuð simple-- bara prenta einföld pýramída. En það er nokkra eiginleika hér sem eru áhugaverð. Takið eftir að rightmost brún pýramída raun hefur breidd tvö. Svo er það tveir jafnir dálkar hæð, sem gerir það þurfa smá hluti af hugsun til að gera viss um að þú færð að nákvæmlega rétt, sem öfugt við bara fullkomlega horn lína. Svo er það hluti af horninu að ræða en passar í raun leikinn. Og það er líka ekki augljós í fyrstu litið hvernig á að prenta hvítt rúm. Svo þegar ég líta á Sýnið framleiðsla here-- og það er líka í spec-- það konar lítur út eins og rétthyrningur, en ská af rétthyrningur hefur verið hakkað burt, og það er bara hvítt rými, svo að segja. Og svo oft spurt Spurningin hér er alltaf vel, hvernig get ég færa hashtags yfir til hægri? Eða hvernig get ég prentað autt rými? Og það er í raun auðveldara en flestir nemendur hugsa. Ekki satt? Þú getur samræma það sjónrænt með bara hitting á bil bar einu sinni eða tvisvar eða þrisvar. Og svo jafnvel þótt við printf við nánast alltaf prenta út strenginn eða int eða orð eins og "halló, heimurinn "eða röð af orðum, þú getur líka bara prenta vitna, rúm, unquote. Og það mun í raun gefa þú hvítt pláss þar. Svo halda að í huga og ekki overthink þetta. Þú þarft virkilega að ákveða, röð fyrir röð af röð, ekki ólíkt td þínum áðan, hversu margir af þeim dálkum ætti að vera hvítur rými og hversu margir af þeim ætti að vera Hashtags. Það mun taka smá tíma, en það er lokum rökfræði ráðgáta konar. MARIA: Já. En röksemdafærsla fara, röð fyrir röð er að fara að vera mjög gagnlegt hér. DAVID Malan: Já. Ég held að dæmi um kóða sem þú gave-- jafnvel þó það væri ekki heill forrit. Þú þarft samt int og helstu og tóm og #include stdio.h, a einhver fjöldi af efni frá fyrirlestri. En að byggja blokkir virðast vera þar. Og þá er loks eitthvað aðeins meira lausnarleiðar. Svo kemur í ljós að hvenær sem þú fara í CVS eða hvaða sjoppa og einhver hendur þér á að gjaldkeri reikninga eða mynt sem breyting, það kemur í ljós að þeir, menn, hvort sem þeir vita það eða ekki, eru sennilega með hvað er kallað gráðugur reiknirit, þar ef þú ert skuldaði, segja, $ 21 í breytingum því af einhverjum ástæðum þú keyptir eitthvað mjög ódýrt með mjög stór reikningur á CVS, það væri mjög pirrandi ef Gjaldkeri gaf þér 21 manns eða verri enn, a heild einhver fjöldi af mynt. Frekar, það skynsamur maður er líklega að fara að gera er að þeir eru að fara að grípa $ 20- og þá $ 1-frumvarp, og skila þér bara tvær reikninga í umræddu tilviki. MARIA: Svo þeir eru að leita að lágmarka breyting sem þeir gefa til baka til þín. DAVID Malan: Einmitt. Og sami samningur með mynt, eins og heilbrigður. Ef þú ert skuldaði, segja, $ 0,50, vonandi þú vilt ekki 50 smáaurarnir. Þú vilt í staðinn tvö misserum, til dæmis. Nú, þetta er gert ráð fyrir að gjaldkeri hefur nóg af öllum kirkjum sem hann eða hún gæti langað til að gefa þér. En við leyfum þér að gera ráð fyrir eins mikið á því vandamáli. Og markmiðið, að lokum er, að hrinda í C kóða gráðugur reiknirit. Þannig að notandi er leyft að slá í hversu mikið breyta hann eða hún er skuldaði með dollara og sent, einhvers konar fleytitölu gildi líklega. Og þá verður þú að gera stærðfræði og reikna út algorithmically vel, hversu margir mynt get ég gefið þú óverulega að gefa þér nákvæmlega það magn af breytingum. En það er að fara til vera a Nokkrum erfiður hlutum hér, ekki satt? Eins og það er allt ónákvæmni mál. MARIA: Nákvæmlega. Svo fleytitölu gildi hafa ónákvæmni. Gerði við tölum um þetta í fyrirlestri í dag? DAVID Malan: Við gerðum Síðast þegar í fyrirlestri. Við ræddum um ónákvæmni. Og þú vilt ekki að svindla notanda um hversu miklar breytingar sem hann eða hún er skuldaði. Og svo walkthrough, í vandamálið sett forskrift, gefa sumir hugsun, að lokum, eins og til hvernig þú getur draga þá ónákvæmni villur, hugsanlega. Það er óhjákvæmileg, vissulega, fyrir inntak við erum að tala um. Og í raun, pennies-- kannski að við munum fresta til Zamyla, Ég held, fyrir bragðarefur þar. Svo að lokum, þú munt finna a framvinda vandamál í þessari viku, fyrsta sem er frekar lítill, þá miðlungs, þá lítið stærri. En öll þeirra nota húsið blokkir frá þessum síðustu viku, frá þessari supersection, Heimadæmi forskrift setur þig í óteljandi úrræði. En samt, ef yfirleitt barátta, sérstaklega meðal þeirra minna þægilegt án undangenginnar bakgrunn, koma til skrifstofutíma á mánudag og þriðjudag og Miðvikudagur og fimmtudagur. Fara á CS50 Ræddu um website Námskeiðið er, um sem þú getur spjallað við starfsfólk og bekkjarfélögum. En á endanum held ég að Besta ráð er bara að byrja snemma. Það er ekki góður af bekknum sem þér ættu að vera farnar psets á miðvikudag nótt, eða verri fimmtudagskvöld. MARIA: Besta ráð mitt er að hafa byrjað með því að mánudagur. DAVID Malan: mánudagur. Svo ef þú hefur ekki byrjað already-- nr. En jafnvel þótt ekki mánudagur, þá þriðjudagur. Því fyrr því betra. Og það er ástæðan fyrir því að Auðvitað hefur svo marga seint daga er að gefa þér smá a sálfræðileg þrýstingur að byrja fyrr en samt láta það miði þegar það tekur lengri tíma en þú átt von á. MARIA: Og þú vilt að nýta Viðtalstími eins mikið og þú getur líka. DAVID Malan: Einhverjar spurningar? Allt í lagi. Ja, hvers vegna eigum við ekki að fresta hér?