JASON Hirschhorn: Velkomin CS50 kafla, allir. Mitt nafn er Jason Hirschhorn. Ég er mikið ykkar á TFS, en a einhver fjöldi af fólk verður vonandi að tengja okkur netinu, stækkun nemendur eða nemendur reyna að horfa í gegnum kafla ef þau missti kafla þeirra sem viku eða bara veiða upp ef þeir vildu að endurskoða nokkur efni. Svo eins og á kennsluáætlun, sem allir af þú hefur lesið, rétt? Ég sé mikið af kinkar kolli höfuð. Deildir veita þér tækifæri að kanna námskeiðið er efni í nánara umhverfi, svo og kafa í snertið ekki-á starfsemi. Svo er það í grundvallaratriðum það sem við erum að fara að gera í hverri viku. Við ætlum að fara í gegnum það sem við höfum ákveðin í að vera mikilvægur efnisatriði í fyrirlestri, og þau líklega einnig gagnlegur og líklega til að koma upp á setur vandamál og í Skyndipróf, og í erfðaskrá þinni líf utan CS50. Þannig að við erum að fara inn í þá efni, ræða þá, fara yfir þá, svara öllum spurningum sem þú krakkar hafa, og þá erum við að fara að gera a einhver fjöldi af æfa vandamál í erfðaskrá. Þú fluttir allir fartölvur, sem er frábær. Þetta er tölvunarfræði. Hins vegar fullt af æfingum sem við gerum, þú þarft ekki fartölvur fyrir. Þú getur gert þær á blað. Það er hvernig þú ert að fara að gera þær á Skyndipróf. Og reyndar, það er frábær leið til að raunverulega vita að þú hvernig á að gera eitthvað ef þú ert ekki Athugaðu 50 til treysta á eða gera að treysta á, að segja þú gert einhverjar villur. Svo þú ert velkomin til að kóða á að Tækið eða run.cs50.net, sem er annar tól sem gerir þér kleift að kóða á netinu, en ég líka myndi mæla með, ef þú hefur ekki reynt það, að nota blað á pappír og reyna þessa æfingu vandamál á blaði. Því aftur, það er að lokum hvað þú ert að fara að vera beðnir að gera á Skyndipróf. Svo skulum byrja með okkar Dagskrá í dag. Við ætlum að fara yfir nokkur viðmið fyrir kafla okkar, þá erum við að fara að kafa í fylki, virka, og stjórn lína rök, sem er það sem þið hafa fjallað um í liðinni viku í fyrirlestri og þá Mánudagur, og hvað þú munt ná meira á morgun. Og svo að lokum, við erum að fara að tala um pset2. Ef ég gæti fengið sýningu á hendur ef þú hafa ekki leitað á Heimadæmi tvö forskrift. Við munum segja öllum. Frábær. Við munum tala um setur vandamál í smá, en ef þú lesið Heimadæmi forskrift, það er allt sem þú þarft að gera. Ef þú lest það áður en þú kemur að flokki og kafla á þriðjudaginn, verður þú vera mikill staða. Við getum farið í gegnum Heimadæmi, sem er það sem við erum að fara að gera á endanum. Við ætlum að fara í gegnum röksemdafærsla, ganga úr skugga um allir er á sömu síðu. Ég vil að þú vera fær um að yfirgefa Þriðjudagur tilfinning mjög ánægð með það sem þú þarf að gera til setja vandamál þessari viku, og ef þú ert ekki, mun ég hamingjusamlega vera eftir og vinna með þér. En það er eitt sem þú þarft að gera en ég held að væri mjög klár, bara að lesa Heimadæmi forskrift af bekknum á þriðjudag, sem það hljómar eins og mikið af ykkur gerði. Ég ætla að byrja með dagskrá hvers flokks svo þú veist hvar við erum að fara. Þetta er einnig gagnlegt fyrir fólk að horfa á á netinu vegna þess að hvert lið er litakóða, svo ef þú vilt koma aftur og bara horfa 10 mínútur frekar en allt 90 mínútna kafla, þú getur bara farið í lit dulmáli kafla og líta á þann hluta. Svo ég hef reynt að brjóta þá upp í nice einingar sem leyfir þér að - ef þú vilt koma aftur og endurskoða, eða aðrir nemendur sem eru bara horfa á kafla til að endurskoða - að finna tiltekna hlutur sem þeir vilja til borga eftirtekt til og læra meira um. Sætur. Viðmiðum. Ég er FOP leiðtogi á háskólasvæðinu. Ég veit ekki hvort einhver gerði FOP. Gerði einhver gert FOP? Ein manneskja gerði FOP. Tveir menn gerðu FOP. Ógnvekjandi. Svo er FOP fyrsta ári Úti Stefnumörkun Program. Við tökum nýnema inn í skóginn og gera mest töfrandi reynsla líf þeirra, rétt? Já. Hljóð um rétt. Svo ég vildi bara að byrja okkar fyrsta kafla með því að ræða nokkrar viðmiðum fyrir bekkinn og tengsl okkar vegna þess að ég held þeir eru mjög mikilvæg. Fyrst og fremst, eins og þá sem eru hluti minn hafa fengið og hefur verið rætt af því að email, ég elska þetta. Þetta er uppáhalds minn hluta af árinu. Ég hef verið svo spennt. Ég hef verið hér í klukkutíma í dag. Ég hef ekki skilið þessa byggingu nema fara borða því ég elska CS50 kafla, ég elska kennslu, ég elska að vinna með ykkur. Einn af hæstu forgangsröðun mínum, ef ekki mín númer eitt forgangsverkefni, ekki aðeins fyrir þessum flokki en meðal annarra minn bekkjum og extracurriculars, er að styðja ykkur og hjálpa ykkur, og gera mitt besta til að tryggja að þú krakkar hafa a dásamlegur, skemmtilegt, skapandi, aðlaðandi, spennandi upplifa í þessum flokki. Það er það sem ég er skuldbundið sig til. Þess vegna ég elska að gera þetta. Það er númerið mitt eitt, styðja ykkur. Ef þú hefur einhverjar spurningar um fyrirlestri, vandamálið sett, kafla, líf, jafnvel ef þú vilt tala um líf, vinsamlegast ekki hika við að ná út. Þú hefur klefi símanúmerið mitt, þú póstinn minn heimilisfang, þú Gchat mitt. Þú getur haft samband við mig á einhverjum eða öllum þá þegar, en að öllum líkindum ekki fá svar þegar. Ég að reyna að fá til baka innan 24 klst. Oftsinnis verður það innan 20 mínútur eða 24 mínútur. Ég ætti að hafa sagt að til að gera það samhliða. En þú munt fá svar laglegur fljótt. Ef þú texta mér klukkutíma áður en Heimadæmi er vegna, mun ég róa þig niður og gera djúpt æfingar öndun með þér, en ef þú hefur ekki byrjað, þú ert líklega ekki að fara að klára, og Ég get eiginlega ekki hjálpað þér þarna úti jafnvel þó að ég ætla að reyna mitt besta. Þannig að ég mun gera allt Ég get til að styðja þig. Vinsamlegast ekki hika við að ná út hvort það er í kafla aftur á skrifstofutíma ef þú sérð mig, eða jafnvel utan. Ég er fús til að setja upp tíma til að mæta og vinna með vandamál með eða fara yfir efni. Svo er það númer eitt, stuðningur. Ég mun gera allt sem ég getur til að styðja þig. Númer tvö, fundur í miðju. Eins mikið og ég vildi eins og til að vera, ég er ekki almáttugur eða allur-öflugur eða alvitur, þannig að ég veit ekki allt tími ef það sem ég er að gera er að fá yfir, ef það sem ég er að kenna efni hjálpar þér að læra það, eða ef þú ert óviss um efni en ekki hækka hönd þína eða spyrja mig eða senda mér tölvupóst. Eða jafnvel ef þú, aftur, eru óviss um eitthvað á Heimadæmi. Ef þú ná ekki út til mín, Ég get ekki vitað það fyrir víst. Ég ætla að gera mitt besta til að innrita sig á þú krakkar, ganga úr skugga um að allt sé fara vel, reyna að kenna hlutina á þann hátt sem verður að stuðla að flest námsaðferðum þínar, en ef það er eitthvað sem ég get gert, láttu mig vita. Meðfram þeim línum, ef þú vilt einhverja hjálp með Heimadæmi, ég meira en fús til að hjálpa þér með Heimadæmi. Við erum að fara að gera a einhver fjöldi af að átt seinni helmingur af þessum kafla. En ef þú hefur ekki lesið vandamál setur aftur og hef ekki horft á gönguna gegnum og hef ekki horft á stuttbuxur og búast við mig til að kenna þér allt sem hefur verið mynduð á netinu eða að þú getur fundið á CS50 Rannsóknin, sem er í raun ekki sanngjarnt að mér eða öðrum jafnöldrum þínum. Svo vinsamlegast, ég meira en fús til að hjálpa þú, en þú krakkar fékk að hitta mig í miðju. Við höfum tonn af auðlindum fyrir þú laus á CS50. Ég nefndi sumir af þeim. Vinsamlegast nýta þá. Ef þú ert að rugla, ég er meira en ánægð til að hjálpa þér að útskýra þau í önnur leið, en það er ekki sanngjarnt ef nemendur mæta skrifstofutíma, hafa ekki byrjað neitt, og það er Fimmtudagskvöld og þeir eru að búast við The TF að ganga þá í gegnum hvert einasta hlutur fyrir Heimadæmi vegna á hádegi daginn eftir. Skynsamleg? Aftur, vinsamlegast hitta okkur í miðju. Og að lokum, miklar væntingar. Ég ætla að vera flokkun allir sem er í kafla mínum, eða skora þinn vandamál setur. Þú hefur ekki farið aftur vandamál setja núll eða einn enn. Því miður um það. Það tók okkur smátíma að lokum setjast kafla, og nú við getum byrjað flokkun. Ég næ þeim aftur til þín eins fljótt og auðið er. Þeir eru sumir af mínum advisees þarna úti. Ég næ þeim aftur til þín eins fljótt og auðið er. Og fyrir setja vandamál tvö, munum við vera á áætlun og við munum byrja að fá þá til þín nokkuð fljótt eftir þú snúa þeim inn Þegar þú færð vandamál þitt sett aftur, þú vilja fá stig, eins og þú veist frá lesa kennsluáætlun - misskilning, hönnun, umfang, og stíl skora. Þú munt einnig fá athugasemdir. Athugasemdirnar eru meira máli en skorar. Ég held að það sé óhætt að segja það. Skora eru bara tala frá einum til fimm. Það er erfitt að lesa í þeim. Það er erfitt að bæta úr þeim. En athugasemdir vilja benda sérstaklega Things You Did vel eða svæði þú getur bætt á og gefa þér nokkrar hugmyndir fyrir framtíðina eða aðra leiðir til að gera hlutina. Svo vinsamlegast, vinsamlegast, vinsamlegast lesið í gegnum athugasemdir. Ég setti mikinn tíma í þessar athugasemdir. Vinsamlegast lesið í gegnum þá og ekki bara skruna niður til the botn af the PDF, leita að skora, eða fara á netinu og finna skora, og þá hunsa athugasemdum. Það er ekki hvernig þú ert að fara að fá betri. Það er ekki hvernig þú ert að fara til að auka skora þinn lokum, bara með því að skoða skora. Vinsamlegast líta á þessar athugasemdir. Og meðfram línu miklar væntingar, aftur, eins og ég sagði, þú má skoraði eitt til fimm. Twos, threes, og fjórum fótum eru Mikill meirihluti skora þú ert að fara að fá. Sjálfur og fives eru bæði mjög sjaldgæft. Það er alltaf það við getum gert betur. Alltaf þegar ég merkjamál program, það er alltaf eitthvað sem ég hefði getað gert betur. Svo frekar en að segja að þú færð fimm allan tímann á öllu og gerði allt fullkomið, ég held ekki að allir af okkur trúa virkilega að við - eða vonandi gerum við ekki allt fullkomna allan tímann. Svo verið ekki áhyggjur ef þú ekki fá fimm. A fimm ekki kort á A, er fjögurra ekki landakort inn á B, þriggja er ekki kort á a C. Það er ekki hvernig skora vinna. Eins Davíð hefur sagt mörgum sinnum, í önn enda allar frammistöðu þína og inntak frá mér, TF þinn, koma saman og ákveða endanlega einkunn fyrir þig. En aftur er það ekki fimm, A, fjórir, B, et cetera. Þannig að ég ætla að hafa miklar væntingar fyrir ykkur. Ég ætla að búast góður vandamál setur og ég ætla að gefa þú viðbrögð sem slík. Og það er ekki að fara að þýða að þú sért fara að fá verri einkunn. Hægt er farið að því er varðar framfarir frá viku núll til enda Auðvitað er. Og að lokum, hvað varðar hár væntingar í bekknum, ég elska þegar fólk að taka þátt. Ég skil sumir telja meira eða minna þægilegt að taka þátt. Annað fólk eru að taka þátt ekki með því að hækka hönd þeirra og tala allan tímann. En við í þessum flokki eru að fara að vera gera a einhver fjöldi af litlum vandamálum, a einhver fjöldi Mini spurningum, og þá sumir stærri erfðaskrá vandamál. Svo ákveðið að vinna þessar æfingar út þegar við gerum þá á tölvunni þinni eða á blaði. En ég ætla líka að gefa þér tíma áður en hver hefur alltaf til að svara nokkrum þeirra spurninga sem ég spyr. Svo vegna þess að ég mun gefa þér tíma til að hugsa um það, vegna þess að við erum að fara að gera hlutina í samstarfsaðila stundum, Ég mun búast allir að stunda nokkuð. Og fyrir skort á betri tíma, þar mun líklega vera kalt starf, sem er þar sem allir vilja hafa tækifæri að hugsa um svar, og þá Ég kalla á þig, og þá þú munt segja svarið. Ekki hafa áhyggjur eða vera hræddur um það. Ég hef gert það í fortíðinni og við höfum fundið að það er miklu meiri árangri, einnig lesa menntarannsókna á það til ákveða hvort það var góð aðferð. Það er mjög gagnlegt, sérstaklega ef þú gefa nemendum tíma til að hugsa um svör og gera ekki þá koma bara út og segja það strax the kylfa. En ef þér finnst ekki þægilegt svara, ég er líka nokkuð góður á fann að út, og við erum ekki að fara að setja þig á staðnum, sérstaklega á myndavél, jafnvel þótt ekkert af þú ert á myndavélinni núna. Þeir eru viðmið sem ég hef. Eitt enn sömu nótum á fundi í miðju. Ég ætla að gefa ykkur a einhver fjöldi af endurgjöf. Vinsamlegast gefið mér álit eins og heilbrigður. Það er a website, sayat.me/cs50. Svo er það heiðarlegur endurgjöf. Ef þú vilt gefa það á kafla, Ég fæ tölvupóst þegar það gerist. Við munum taka hlé í smá, svo ég líta í gegnum viðbrögð þá. Ef þú hefur einhvern tíma einhverjar athugasemdir, vinsamlegast gefa mér það þar. Ef þú gefur mér álit á Q, sem er dásamlegt, en það er handbók sem þú gerir í lok. En það mun vera í lok hverrar annar svo Ég mun ekki vera fær um að taka eitthvað af því viðbrögð og snúa það inn í kennslu ykkur betur. Svo vinsamlegast, ef þú hefur einhverjar viðbrögð, gefa það til mig. Ég elska endurgjöf. Aftur til FOP, fáum við viðbrögð allan tímann. Þú getur gefið mér plús-merkjum, góðum hlutum, deltas, hlutir sem ég get bætt við. Þú getur athugasemd á outfits mína. Það mun ekki vera eins hjálpsamur, en þú ert velkomið að tjá sig um hvaða og allt. Vinsamlegast, vinsamlegast gefa mér álit. Ég met það mikið og það þýðir mikið til mín. Eitt enn norm, gaman. Við ætlum að hafa a einhver fjöldi af gaman. Vonandi á þessu námskeiði, munt þú hafa a einhver fjöldi af gaman. Við munum hafa nammi á kafla. Við munum hafa tónlist. Við munum vera vonandi að fá að vita eitt annar nokkuð vel, þannig að ég vil þetta að vera skemmtileg, grípandi reynslu. ÉG vita sumir af þú hefur sofnað í fyrirlestrum þú hefðir fyrr í dag, svo vonandi sem mun ekki vera raunin nú. Og ef það er raunin nú, bara ekki snore ekki vegna þess að það gæti vera veiddur á myndavélinni. Sætur. Einhverjar spurningar, athugasemdir eða áhyggjur áður en ég fara um neitt sem við höfum talaði um? Great. Þannig að við erum að fara að fara í fylki fyrst. Þetta er hvernig þú gerir fylki. Við höfum séð þetta áður. Þú hafa a gögn tegund, hefur þú nafn, og þá þú hafa a stærð. Hérna, bý ég tvær fylki. Sú fyrsta er fylki af stöfum, og það hefur 26 rými. The second einn er fylki af skora, og það hefur þrjú rými fyrir þrjá heiltalna. Já? STUDENT: Eru allar þessar glærur í boði einhvers staðar fyrir okkur? JASON Hirschhorn: Great spurning. Spurningin var, eru öll Þessar glærur í boði? Já. Allar þessar glærur verður í boði, og í framtíðinni, ég sent þær til þú áður kafla. En í dag, vegna þess að þetta er fyrsta viku, við höfðum seint byrjun. Svo yfirleitt, munt þú fá þessar glærur, en þau verði í boði á netinu og Ég sent þær til þín rétt eftir flokki. Allar aðrar spurningar? Svo aftur, eru fylki kassa, fyrir skort á betri orð, sem halda mörg þættir eins gögn gerð, og þeir eru við hliðina á annan í minni. Og svo aftur, þetta er hvernig þú getur gera tvær tegundir af fylki. Svo eftir að þú hefur gert array með sem fyrst lína - int skora, krappi þrír, loka krappi - þú langar að frumstilla hana. Þú vilt að setja nokkrar gildi þar. Og þetta er hvernig þú setur nokkrar gildi í þar, bara að velja indice og skrifa númerið. Skulum draga þetta á borðinu. Getur allir sjá? Allir geta séð. Sætur. Svo það er að fara til vera minn array kallað Scores. Eins og þú geta sjá, það er stærð þrjú. Það eru þrír kassar í það. Hver og einn passar það tegund af gögnum tegund? STUDENT: Integer. JASON Hirschhorn: heiltala í þessu einn. Við skrifaði INT skora og fyrsta orðið er gögn gerð sem er að fara að fara í kassa í þeirri fylking. Svo ég get passa þrjú. Hví hef ég núll upp þar á borð? Hvers vegna er það að segja skora núll jafngildir 1? Minnir mig á nafninu þínu. STUDENT: Kurt. JASON Hirschhorn: Kurt. Nemandi: Já. JASON Hirschhorn: Hvers vegna? STUDENT: Þar sem fyrsti vísitalan er núll, byrjum við að telja á núlli. JASON Hirschhorn: Svo við byrjum telja á núlli. Það er einmitt rétt. Þetta er ruglingslegt hluti og vilji ferð þú upp, sérstaklega þegar þú ert reyna að iterate gegnum fylki, sem við munum gera í smá. Við byrjum að telja á núlli. Svo ef ég vil vísa til fyrsta kassi, það er ekki kassi einn. Því miður er það kassi núll. The second einn er kassi einn, og í þessu tilfelli, þriðja einn er kassi tvö. Hvað um kassa þrjú? Hvar er kassi þremur? Eða ef ég vil gera skora, krappi þrír, loka krappi, hvað er það? Svo þú segir null eðli. Allar aðrar hugsanir? Hvað er skora krappi þriggja krappi? Nemandi: Það er í raun ekki til vegna þess að þú skilgreint aðeins skora, krappi þrjú. JASON Hirschhorn: Svo þú segir það er í raun ekki til. Í sumum tilvikum, þegar við erum að fást við strengir, yfirleitt munum setja null eðli í lokin. Við munum fá til að í annað. En í þessu tilfelli, það er engin þriðja kassi hér. Svo síðasta kassi í hvaða fylki er stærð mínus 1. Þannig að ef við höfum fjölda n stærð, Fyrsta kassi er á núlli, það síðasta er á n mínus 1. Og í þessu tilfelli, er það ekki til. Það er eitthvað hér í minni en það er ekki okkar. Við eigum það ekki. Við vildum ekki biðja um það. Þannig að ef við reynum að nálgast það, sem við munum gera í smá, við erum líklega að fara að fá inn í vandræði. Í þessu tilfelli, ég Frumstilli mín array með þremur breytum. Við erum að setja upp eitt í kassanum núll, tveggja í kassa einn, og þrír í kassa tvö. Hefur einhver hefur einhverjar spurningar um Frumstilli fylki? Þannig að við fórum yfir þetta bara núna. Skora, krappi þrjú, loka krappi, sem er ekki til. Við erum núll verðtryggð í tölvunarfræði, svo erum við að byrja að telja á núlli. Síðasti kassi í boði fyrir okkur, er það þriðja kassi, en það er kallað kassi númer tvö. Hér fyrir neðan, þetta er val leið að virkja fylki. Svo í stað þess að búa til array á einn lína, fylla fyrstu kassi, þá seinni kassi og síðan þriðju kassi, þú getur gert það allt í einni línu. Svo í þeirri línu, bæði fylki. Þetta skapar sama nákvæmlega array sem hvað við bjuggum hérna, en það bara gerir það í einni línu. Nú höfum við búið array okkar. Venjulega þegar þú búa til array, þú langar að gera eitthvað með það, hvort sem er fylla það eða fá það út af því og prenta þær út á skjánum. Í þessu tilfelli erum við að fara í gegnum okkar skora array, sem við frumstilla á fyrsta línan upp hér í gráu. Og síðan á annarri línu, byrjum við iterating gegnum fylki. Hefur einhver hefur einhverjar spurningar um uppbyggingu á fyrir lykkja? Svo er þetta fyrir lykkju. Við höfum byrjunar ástand okkar, og þá síðasta skilyrðinu okkar, og þá erum við iterate, i, hver lykkja. Og í hrokkið axlabönd í þessu fyrir lykkja, hvað gerist ef ég væri að keyra þetta forrit? Getur einhver sagt mér hvað við myndum fá? [? Matu? ?] Matu: Prenta öllum skorar á hverri línu. Það myndi prenta hvert score á sérstakri línu. JASON Hirschhorn: Hvað nákvæmlega myndi það prenta? Nemandi: Það myndi prenta einn, þá tvo, þá þrír. JASON Hirschhorn: Einmitt. Það myndi prenta einn, þá tvo, þá þrír, hver á aðskildum línum, því við erum að fara í gegnum fylking og þú munt sjá að annað er printf yfirlýsingu, skorar i. Svo á fyrstu umferð í gegnum okkar fyrir lykkja, ég er jafn núlli, sem þýðir að við erum fá gildi á skora núll - sem, ef við förum aftur til skýringarmynd okkar, er einn - og fylla í - ó, segir það c. Það ætti að vera% d. Ég mun laga það í smá þegar Ég hendi út til ykkur. En við erum að kynna heiltala svo það ætti að vera% d hérna, ekki% c. Hvað er% C? STUDENT: Character. JASON Hirschhorn: Character, nákvæmlega. Hver er hin? Ef þú vilt ekki að gera% d fyrir að heiltala, hvað annað er hægt að gera? STUDENT: i. JASON Hirschhorn:% i, einmitt. Svo einhverjar spurningar um iterating gegnum array? Svo gerist það ef við gerum þetta? Í stað þess að gera i er minna en þrír, höfum við i er minna en eða jafnt og þremur. Hvað gerist þegar við hlaupum þennan kóða? Já, Annie? STUDENT: Þeir eru að fara að prenta út undarlegt efni á fjórðu línu. JASON Hirschhorn: Svo þú segir, það er að fara að prenta út undarlegt efni á fjórða lína? Hefur einhver hafa svarað við spurningunni hennar? Svo líkurnar eru að þegar fáum við - svo á fjórða umferð í gegnum til okkar lykkja, rétt eins og þú hélst, Annie, það verður skorar krappi þrír, sem við höfum nú þegar mynstrağur út ekki hendi, og við ætlum að reyna og aðgang að prenta það út, nota það á einhvern hátt. Þannig að tölvan mun sennilega fá vitlaus á okkur. Þú ert alveg rétt. Það gæti hætta forritið alveg. Það gæti prentað út eitthvað mjög undarlegt. Þú getur ekki sagt fyrir víst. Líkurnar eru það mun sennilega fá vitlaus í þú og bara hætta strax. En þetta er algeng mistök sem þú þarft þar sem þú ert bara burt með einn á enda, og þetta er padda sem mun plága þig um kóðun þínum. Ein leið sem ég vil gera er bara á whiteboard, fara í gegnum hverja ítrun úr lykkja á hönd eða á pappír til að sjá hvað er að gerast, og þá almennt grein fyrir, ó bíddu, ætti ég ekki hafa farið til minna en eða jafnt þremur. Ég ætti að hafa hætt á tveimur, sem er hvað gerist ef ástandið er minna en þrír. Einhverjar spurningar svo langt? Sætur. Svo þú hefur allar tölvur opinn. Við erum að fara að gefa þér 2-3 mínútur til að skrifa forrit sem skapar fjölda með heiltölur einn gegnum fimm og þá prentar út hver heiltala á nýja línu. Og ef þú hefur einhverjar spurningar, hækka hönd þína. Ég er fús til að komast yfir. Eins og ég sagði, við skulum taka þrjú mínútur að skrifa þetta. Er allir í lagi ef ég fer til a nýjum glugga og loka þessu? Fyrirgefðu ef þú hefur ekki haft tækifæri að ljúka, en við erum að fara að gera það saman núna. Svo upp á skjáinn, hef ég ma # cs50.h, # include stdio.h. Getur einhver sagt mér hvað þessir tvær línur gera? Michael? STUDENT: Þær fela í bókasöfnum að CS50 gert og að Steve hefur vistuð fyrir þig að nota til að gera líf þitt auðveldara. JASON Hirschhorn: Svo þú segir að þeir innihalda bókasöfnum, eitt sem CS50 gert, cs50.h, og það er bara staðall, koma með C pakki, stdio.h. Hvað áttu annars bókasöfnum, þó? Getur þú verið aðeins nákvæmari? Nemandi: Það gerir það svo að þú getur nota ákveðin orð kóðann að hafa virka gerast án þess að þurfa að fara og gera virka c sjálfur. JASON Hirschhorn: Getur þú gefa mér dæmi? STUDENT: Eins printf er eitt sem þú getur notað. JASON Hirschhorn: printf. Svo þú segir printf er einn af þeim aðgerðir þar fremur en að þurfa að skrifa printf á eigin spýtur, printf er innifalinn í raun í stdio.h, svo þú getur bara notað það og ráð að hún muni vinna. Í stdio.h, ef þú opnað að skrá, myndi það fela í sér hvernig printf verk, öll númer fyrir printf? Hvers vegna ert þú að hrista höfuðið? STUDENT: Þar sem hausaskrár bara felur í sér virka yfirlýsingu. JASON Hirschhorn: Einmitt rétt. Haus skrá inniheldur aðeins virka yfirlýsingu. Svo í grundvallaratriðum, þegar þú saman þetta, högg Gerðu Count, sem við munum gera í Annað, sem þýðandi veit að ef þú notar printf, printf staðar. Það er að fara að skilgreina einhvers staðar. Það er ekki vandamál fyrir þig að nota það. Og þá seinna á, verður það að innihalda sjálfur og núll sem raunverulega innihalda printf er framkvæmd og sameina þá með númerið þitt. Hvernig gera þú tryggja það inniheldur sjálfur og núll fyrir, segjum, fá band? STUDENT: Fá band er í cs50.h. JASON Hirschhorn: Hægri. Svo sem segir fá band til, virka yfirlýsingu. En þá sjálfur og núll, tvöfaldur skrá sem raunverulega inniheldur framkvæmd af fá band? Hvernig getur þú vera viss um að fer með program? STUDENT: Pass linker í stjórn lína rifrildi. JASON Hirschhorn: Pass linker í stjórn lína rifrildi. Hvernig gerir þú það? Nemandi: Það er-L lína í clang JASON Hirschhorn: Einmitt rétt. Þú segir-L cs50, ekki satt? Það felur í sér sjálfur og núll. STUDENT: En gera er það fyrir þig, ekki satt? JASON Hirschhorn: Einmitt. Gerðu gerir það fyrir þig, en á endanum, þú munt ekki hafa gert eða þú þarft að gera gera á eigin spýtur, svo það er gott að muna. Ef þú værir að fara að nota eina af þessum öðrum bókasöfnum, ekki aðeins þú að skrifa # include og þá bókasafn. Þú þarft einnig að tengja það inn Og þessir tveir hlutir eru öðruvísi. -L cs50 er öðruvísi en # include cs50.h. Þá höfum við INT helstu ógilt hrokkið axlabönd, og nú erum við að fara að kóða inni helsta. Fyrsta lína sem ég hef hér eru ummæli sem segir, að búa til fylki með ints eitt til fimm. Hvað er gott orð til að lýsa því sem ég hafa núna á skjánum, bara athugasemdir inni main? Hvað kalla við það? STUDENT: sauðakóðanum. JASON Hirschhorn: sauðakóðanum. Þakka þér, Jeffrey. Það er einmitt rétt. Sauðakóðanum. Hefur þú krakkar séð sauðakóðanum áður? Hækka hönd þína ef þú hefur notað sauðakóðanum áður Heimadæmi einn. Um helmingur af þér. Ég vildi mjög mæla með sauðakóðanum að brjóta niður vandamál í minni, auðvelt að bíta af stykki. Einnig, ef þú gera sauðakóðanum, þú hefur athugasemdir þínar þegar mestu innbyggður í, svo þú þarft ekki að fara til baka og reyna að reikna út hvað þú varst að gera. Svo getur einhver gefið mér þessa fyrstu línu til að búa til fylki með ints einn gegnum fimm? Þú? STUDENT: Int og þá er hægt að hringja hvað sem tala, og þá veldi krappi fimm. JASON Hirschhorn: Svo int tölur, ferningur krappi fimm. STUDENT: Jafnt og þá hrokkið axlabönd. JASON Hirschhorn: Jafnt, hrokkið axlabönd. STUDENT: Einn, tveir, þrír, fjórir. JASON Hirschhorn: Einn, tveir, þrír, fjórir, fimm. STUDENT: Og þá hrokkið axlabönd og þá semíkommu. JASON Hirschhorn: Og hrokkið axlabönd og semíkommu. Excellent. Prenta út hvert int á nýja línu. Getur einhver annar gefið mér að kóða, vinsamlegast? [? Matu? ?] Fara á undan. STUDENT: Fyrir ( JASON Hirschhorn: Fyrir ( STUDENT: int i = 0 JASON Hirschhorn: int i = 0 STUDENT: semíkommu ég minna en fimm. JASON Hirschhorn: semíkommu, Ég minna en 5. STUDENT: semíkommu, ég + +. JASON Hirschhorn: semíkommu, ég + +. STUDENT: Lokað sviga, þá opinn Brace. JASON Hirschhorn: Lokað sviga og tveir axlabönd. Inni axlabönd? STUDENT: Og svo printf "% d / n" JASON Hirschhorn: Því miður, haltu áfram. Printf "% d / n, lokað vitna. STUDENT: Og svo lokað vitna, komma, telja, krappi i. JASON Hirschhorn: Comma, telja, krappi i. STUDENT: Því miður, tölur krappi i. JASON Hirschhorn: Numbers, krappi i. STUDENT: miður. Og þá lokað sviga, semíkommu. JASON Hirschhorn: Lokað sviga, semíkommu. Ég ætla að spara það. Við erum að fara að gera telja. Og hvernig keyri ég telja? STUDENT: sviga. STUDENT: Dot áfram rista - JASON Hirschhorn:. / Telja, nákvæmlega. Þakka þér. . / Treyst. Einn, tveir, þrír, fjórir, fimm á nýjum línum. Útlit eins og það í uppnámi. Já, Nói? STUDENT: Þú getur einnig gera minna en eða jafnt og fjórum, eins og i er minna en eða jafnt og fjórum? Er einhver kostur til að gera minna en fimm, eða bara öðruvísi leið skrifa það? JASON Hirschhorn: Svo er spurningin sem þú getað gert i er minna en eða jafnt og fjórum í stað þess að i er minna en fimm. Vildi að hafa unnið á sama? Nemandi: Það ætti að gera. JASON Hirschhorn: Já. Það algerlega hefði vinna á sama. Stylistically er það yfirleitt minna en, og þú munt sjá í annað þegar við strengir, getur þú notað eitthvað kallað strlen, sem þú hefur séð áður, til að fá lengd á band. Og þú getur ekki gert minna en eða jafnt strlen. Þú getur gert minna en eða jafngilda strlen mínus einn. Svo það er bara ágætur til gera minna en strlen. Já? STUDENT: Og í raun Skyndipróf, gera við verðum að veita athugasemdir á okkar númer eins og heilbrigður? JASON Hirschhorn: Spurningin var í Skyndipróf, þú að veita athugasemdir? Þannig að við munum tala meira um Skyndipróf hvenær þeir koma upp, en almennt, gott þumalputtaregla er þegar þú ert skrifa kóðann, veita athugasemdir. Ef þú færð kóðann rangt en athugasemd rétt, þú might fá sumir inneign bæði af mér ef ég var að flokka þú á Heimadæmi eða á spurningakeppni. Svo athugasemdir eru alltaf gott að veita. Sætur. Telja. Excellent starf. Skulum fara. Strengir. Strengir. Við höfum séð þetta áður í fyrirlestrinum. Þetta blés huga minn þegar ég fyrst að finna þetta út. Það sennilega ekki blása hver er huga hér, en það er allt í lagi. Strengir eru fylki af stöfum, og þeir enda með, eins og þú sagðir áðan, The null Terminator, sem er þetta / 0 eðli. Ef við erum að fara að draga streng á borð, munum við draga það hérna. Svo hversu lengi er þetta band? Því miður. Hversu lengi er þetta band? STUDENT: [inaudible]. JASON Hirschhorn: Four? Hvers vegna er það fjögur? STUDENT: Vegna fimmta blettur er fyrir núll staf. JASON Hirschhorn: Svo fimmta blettur er fyrir núll staf. Þannig að ef ég væri að keyra strlen á þetta, myndi það gefa mér fjögur. Leiðrétta. Og array, þó, ef ég væri að frumstilla þennan fjölda, hversu margir eru vildi ég að biðja um? STUDENT: Fimm. JASON Hirschhorn: Fimm. Ég þyrfti að biðja um fimm, en ég get aðeins setja fjóra stafi í hér vegna þess að ég þarf að setja þessi null Ljúka á enda. Þannig að við erum að fara að skrifa í "ohai" og setja núll Ljúka í lok. Við munum segja að þetta er band s jafngildir þetta. Hvað er s krappi núll? s krappi núll, Annie? STUDENT: O. JASON Hirschhorn: O, nákvæmlega. s krappi einn? s krappi fimm? s krappi fimm? STUDENT: Er ekki til. JASON Hirschhorn: Er ekki til. Nákvæmlega rétt. Cool. Einhverjar spurningar um skilning strengi sem fylki af stöfum? OK, þá. Einn fleiri forrit fyrir ykkur. Skrifið forrit sem spyr notanda fyrir streng þá prentar út hver staf á nýja línu. Svo skulum við taka þrjár mínútur til að skrifa þetta forrit, og þá munum við kóða það sem hópur. Því miður. Vissir þú þarft að sjá þetta? Nemandi: Nei JASON Hirschhorn: OK. Við skulum taka eitt mínútu að kóða þetta, eða að minnsta kosti að byrja á því. Svo þú getur haldið að vinna, en ég ætla til að byrja að fara í gegnum það. Svo eins og áður, þá hef ég á skjánum # Include cs50.h, # include stdio.h. int helstu tóm. Inni hrokkið axlabönd aðal, ég hef tvær athugasemdir, sauðakóðanum. Eitt er að biðja um streng frá notandanum. Annað er að prenta út hvert staf á nýja línu. Svo Anna, getur þú gefið mér að spyrja fyrir streng frá notandanum? STUDENT: printf. JASON Hirschhorn: printf? Nemandi: Já. ( JASON Hirschhorn: ( Nemandi: "gefa mér streng. JASON Hirschhorn: "gefa mér STR - oops - band. STUDENT: / n ") semíkommu. JASON Hirschhorn: End band, lokað sviga, semíkommu. Nemandi: Já. Og þá næsta lína, band s = fá band. JASON Hirschhorn: String s = fá band. Nemandi: Já. Og þá () JASON Hirschhorn: () STUDENT: semíkommu. JASON Hirschhorn: semíkommu. Frábær. Þannig að ég ætla að fá band og Ég ætla að spara það í hvað? Hvað er breytan heitir sem þú bjóst? STUDENT: String s. JASON Hirschhorn: Breytan er kallað s. Það er tegund band. Einmitt. Næsta sem við viljum er að prenta út hver stafur á nýja línu. Hver getur gefið mér að kóða? [Inaudible]? Getur þú gefið mér það? STUDENT: Jú. JASON Hirschhorn: Við skulum gera það. Og því miður. Mér líkar ekki að endurtaka það sem þú segir vegna þess að þú ert að fá það rétt, en ég að endurtaka það svo að þegar þeir skrifa þetta, þeir geta fengið allar textinn út á transcriptions. Svo þú getur bara halda að tala. Því miður, hef ég að segja það yfir þig. Fyrirgefðu, en - Nemandi: Það er fínn. Fyrir int i = 0 JASON Hirschhorn: Fyrir int i = 0 Nemandi: Ég minna en - JASON Hirschhorn: semíkommu. STUDENT: Áður en þetta, getum við setja breyta þannig að þú færð int nafn lengd? JASON Hirschhorn: Ó, þú ekki langar að setja semíkommu? OK. Svo hvað viltu að gera eftir núll? Nemandi: Ég vil fá band lengd s og setja það til a breyta? JASON Hirschhorn: OK, svo hvernig á ég að gera það? STUDENT: Svo þú int lengd = JASON Hirschhorn: Int lengd = STUDENT: S-T-R-L-E-N. JASON Hirschhorn: S-T-R-L-E-N - STUDENT: Af s. Sviga. JASON Hirschhorn: (s). STUDENT: Og svo ég held að þú þarft að setja semíkommu á milli tveggja ints. JASON Hirschhorn: A semíkommu eftir núll? Nemandi: Já. Þá setja semíkommu eftir það, og þú segir, ég minna en lengd. Ég minna en lengd, sem er breytilegt. STUDENT: Og þá semíkommu. JASON Hirschhorn: semíkommu. STUDENT: i + +. JASON Hirschhorn: i + +. Það er fyrir lykkja okkar. OK, inni í lykkju. STUDENT: Og þá gera printf. JASON Hirschhorn: printf. STUDENT: sviga. JASON Hirschhorn: sviga vitna. STUDENT: sviga, vitna,% c / n. JASON Hirschhorn:% c, OK. STUDENT: / n. JASON Hirschhorn: / n. STUDENT: Lokað vitna. JASON Hirschhorn: Lokað vitna. STUDENT: Comma. JASON Hirschhorn: Comma. STUDENT: S. JASON Hirschhorn: S. STUDENT: Bracket i. JASON Hirschhorn: Bracket i. STUDENT: Og þá lokað sviga. JASON Hirschhorn: Lokað sviga. STUDENT: Og þá semíkommu. JASON Hirschhorn: semíkommu. Frábær. Svo skulum spara þetta. Gera stafsetningu. Ó drengur. Ég hef fengið nokkrar villur. Fyrsta villa á línu 11, segir, ráð tjáningu, og það er að gefa mér villu að seinni int, það er villa. Nokkur villa í kringum það. Hefur einhver veit hvað villa sem er? Kurt? Nemandi: Ég held að það er ætlast til að vera komma og ekki semíkommu. JASON Hirschhorn: OK, kommu í stað þess að semíkommu. Svo er að allt sem við þurfum að laga? Nemandi: Nei JASON Hirschhorn: Hvað annað þurfum við að laga? STUDENT: Við verðum að fela string.h. JASON Hirschhorn: include string.h. Hvar þarf ég að fela það? STUDENT: sama stað sem þú ert á meðal hinn efni, hægri eftir eru stdio.h. JASON Hirschhorn: Við skulum sjá hvort þetta keyrir fyrst vegna þess að almennt, eins og ég að festa eitt fyrst, og þá hlaupa það, og þá sjá villurnar sem við fáum. Þannig að við erum að fara að hreinsa flugstöðinni með stjórn n, við skulum gera stafsetningu. Svo annað villa á línu 11. Vænt semíkommu. Og ég er enn að fá villur á þessari línu. Svo það hefur ekki gefið mér villu að segja það skilur ekki hvað strlen er, en það er að gefa mér villur á þetta lína, svo hvað annað er rangt? Merkja? Marcus. STUDENT: Þarf að fjarlægja seinni int yfirlýsingu? JASON Hirschhorn: Fjarlægja seinni int. Við skulum reyna þetta. Nú hreinsa flugstöðinni. Gera stafsetningu. Villa. Óbeint lýsa bókasafn virka strlen. Svo nú erum við sjáum að villa. Hvað þurfum við að fela? STUDENT: String.h. JASON Hirschhorn: include string.h, Við munum gera # include string.h efst á skjánum. Skulum spara, gera stafsetningu. Nú saman. Svo aftur, það sem við þurftum að muna línu 12 í for lykkju okkar þegar við erum að setja það upp, int i = 0, lengd = strlen (s). Þetta er frábær tækni. Stíllinn er þetta mikill, hönnun þess er mikill. Við getum farið í þeim ástæðum seinna, en þannig að þú þarft aðeins að hringja strlen einu stað á hverjum einasta skipti sem þú keyrir í gegnum lykkjuna. Hins vegar verður þú að nota kommu þarna og þú þarft ekki int aftur. Ef þú ert að lýsa bæði þeim breytur saman, þú þurfa ekki int aftur. Og þá ef þú ætlar að nota strlen, sem er annar safn virka ekki í stdio.h eða cs50.h, gera úr skugga um að string.h. Kurt? STUDENT: Svo ef þú þarft ekki að segja hvaða tegund lengd er, er að að það þarf að vera int? Þú getur ekki hafa tvær mismunandi gerðir það? JASON Hirschhorn: svo þú gætir hafa tvær mismunandi gerðir. Lengd er int hér, þó. Lengd er int vegna þess að það er komma og þá það sama. STUDENT: Svo ráð það sem það er að fara að vera sú sama og fyrri einn? JASON Hirschhorn: Einmitt. Við erum ekki að fara að gera þetta núna, en þú getur innihaldið tvær breytur á sömu línu með einu gögn tegund. Svo int x, y myndi skapa tvær breytur. Svo int x, y, ef við tökum það, það gefur mér er ónotað breyta x og y af því við notum ekki þá. Svo setja ógilt áður er bara ímynda bragð ef þú notar ekki eitthvað, á að nota það. En eins og þú sérð, bý ég x og y á sömu línu með kommu. Það er að búa til tvær heiltölur rétt þar. Svo já, algerlega hægt að búa til tvennt á sömu línu aðskilin með kommu. Skulum losna við þá, þó. Svo er það Stafa. Þakka ykkur fyrir kóðun það fyrir okkur. Skulum gera það einu sinni enn, hlaupa það. Gefðu mér streng. [Inaudible], gerði þér mest af því. Hvað er band? STUDENT: Halló. JASON Hirschhorn: Hello. H-E-L-L-O, hvor eðli í einni línu. Lítur vel út. Skulum keyra það aftur. Alltaf að fara til að athuga fyrir tilvikum horn. Hvað er góð horn málið að athuga? STUDENT: A númer? JASON Hirschhorn: Ýmis. Svo ég setti í 1., og það prentar út 1. Það er ekki að biðja um bréf, svo það virðist eins og númer vinna. Góð horn mál að athuga. Hvað er önnur góð horn málið að athuga? STUDENT: A autt band. JASON Hirschhorn: Hm? STUDENT: Eins og tómur strengur. JASON Hirschhorn: Tómur strengur. Þannig að við skulum ekki setja í neinu. Og hvað fær prentað út? STUDENT: Ekkert. JASON Hirschhorn: Ekkert. Virðist eins og það virkar. Þú gætir reynt fleiri horn tilvikum, en almennt tölur, mismunandi gögn er frábært að reyna, svo og er ekkert. Ekkert, núll, eru filmur alltaf frábær atriði til að reyna og það þér ætti próf, það vissulega munum við prófa fyrir og kl 50 mun prófa. Einhverjar spurningar um spell.c? OK, við skulum fara aftur. Ég hef einn fleiri forrit fyrir ykkur að skrifa. Það heitir students.c. Þetta er forrit sem biður notanda að fimm nöfn, þá kýs handahófi og prenta út eitt af nöfnum. Þetta forrit er svolítið meira þátt en síðustu tvö sem við skrifaði, svo hvers vegna eigum við ekki að taka fimm mínútur til kóða það fyrir sig, og þá munum við kóða það sem hópur. Þetta forrit sér einnig sumt þú getur ekki séð áður, þannig að ef þú hefur spurningu um, hvernig gera Ég gera það, hækka hönd þína. Ég kem aftur og benda þér í rétta átt. En við erum líka að gera það vegna þess að þetta verður góð leið til að kynna nokkrar efni sem eru erfiður. Svo virkar það, ekki satt? Nemandi: Já. JASON Hirschhorn: Alltaf þegar þú kveikir í Heimadæmi, það er margar leiðir til að gera það, en sumir eru glæsilegur en aðrir. Láttu okkur kafa inn # Include cs50.h. # Include stdio.h. int helstu ógilt, hrokkið axlabönd. Inni í hrokkið axlabönd, Ég hef tvær athugasemdir. Sú fyrsta er, spyrja notandi í fimm nöfn. The second einn er, af handahófi valið og prenta út eitt af nöfnum. Svo skulum gera það fyrsta, spyrja notandinn í fimm nöfn. Hver hefur beðið notandi til fimm nöfn og getur sagt mér hvernig á að gera það? Aðeins tveir menn gerðu í fyrsta hluta. Þrjár fólk gerði í fyrsta hluta. Fjórir, fimm. Tom, hvernig gera þú það? STUDENT: Þú vilt lýsa streng og síðan nafn, krappi fimm. JASON Hirschhorn: String nefna krappi fimm. Svo hvað er þetta lína að gera, String nafn krappi fimm? STUDENT: Þú vilt lýsa fylki af strengjum. JASON Hirschhorn: Þetta er fylki af strengjum. Hversu margir strengir eru að fara að passa hér? STUDENT: Fimm. JASON Hirschhorn: Fimm. Excellent. Við erum að fara að kalla það nöfnum vegna við erum að fara að fá margar sjálfur. OK, við hliðina? STUDENT: Og þá hafa fyrir lykkju - JASON Hirschhorn: Fyrir lykkju. Nemandi: - fyrir i = 0. JASON Hirschhorn: fyrir (INT i = 0. STUDENT: semíkommu. JASON Hirschhorn: semíkommu. Nemandi: Ég minna en fimm. JASON Hirschhorn: Ég minna en fimm. STUDENT: semíkommu. JASON Hirschhorn: semíkommu. STUDENT: i + +. JASON Hirschhorn: i + +. STUDENT: Og þá lokað sviga. JASON Hirschhorn: Lokað sviga, og þá sumir hrokkið axlabönd. Inni í hrokkið axlabönd? STUDENT: Og þá printf. JASON Hirschhorn: printf. STUDENT: Open sviga, name% d. JASON Hirschhorn: Fyrirgefðu? STUDENT: Nafn. JASON Hirschhorn: Nafn. STUDENT: Og svo rúm, og þá% d. JASON Hirschhorn: Nafn, rúm,% d. STUDENT: Og þá / n, og síðan lokað. JASON Hirschhorn: Svo nafn, rúm, % D / n, lokaður sviga. STUDENT: Comma, ég + 1. Fyrirgefðu. Lokað tilvitnun, og þá komma, i +1. JASON Hirschhorn: Lokað vitna, komma, i +1. Nemandi: Já. Og svo næsta lína - JASON Hirschhorn: i + 1. Nemandi: Já. Og svo næsta mynd er nöfn krappi i. JASON Hirschhorn: Næsta lína er nöfn krappi i. STUDENT: = fá band. JASON Hirschhorn: = Get - fé G-E-T - band. Úps, fyrirgefðu. STUDENT: Opna, lokað sviga og þá - JASON Hirschhorn: Opna, lokað paren. STUDENT: semíkommu. JASON Hirschhorn: semíkommu. OK, svo þú frumstilla fjölbreytta strengir, nöfn, og þá fara í gegnum fyrir lykkju, og fimm sinnum prenta út nokkur hvetja til notanda og þá geyma fimm strengi. Hefur einhver hafa allir breytingar á þessu? Tom, ég held allir sammála þér. Lítur mjög gott. OK. Hvers vegna gerðir þú i +1, þó? Nemandi: Ég meina, ekki hafa að vera, en i +1 þannig að það er nafn eitt að nefna fimm. Annars væri nafn núll til að nefna fjóra. JASON Hirschhorn: Svo þú gerðir i +1 því annars myndi það hafa prentuð út núll með fjórum vegna það er hvernig tölvur heldur, en menn í raun ekki lesið svona. Það er annar hlutur þú munt lenda í. Stundum þegar þú hefur prentað út eitthvað til notanda, youll 'vilja til gera það svolítið fallegri og gera i +1 í þessu tilfelli er leið til að gera það fallegri. Ég sé einnig fimm tvisvar, String nafn er fimm, er ég minna en fimm. Ég veit hvar þú got the fimm. Þú fékk það frá mér að segja þú fimm nöfn. En ef við vildum gera kóðann á svolítið meira sterkur, eitt við gæti ekki er hér, fyrir utan INT, við gætum gert eitthvað svona, # Define, og við gætum gert nöfn 5. Svo í rauninni, þar sem ég skrifa fjármagn N, höfuðborg A, höfuðborg M, höfuðborg E, höfuðborg S, sem band, mun það skipta að með 5 í kóða. Eða við skulum bara kalla það - við munum bara kalla það númer. Þannig að ég ætla að skilgreina allar húfur NUMBER að vera 5. Svo nú hvar ég hef númer 5, ég geta skipta um það með öllum húfur NUMBER. Og nú, ef ég vil breyta fjölda nöfn, allt sem ég þarf að gera er að þetta ein lína, lína fjórir, þar sem ég hef # Define númer 5, breyta því til 10, eða breyta því í 4. Þegar númerið þitt fær lengur, þú ert ekki að fara að muna eftir öllum þeim stöðum sem þú setja hversu mörg nöfn sem þú vildir, og í Til þess að þú getir ekki að missa einn, þetta er góð leið til að gera það, til að finna eitthvað upp efst og þá bara nota þessi setningu alls staðar um kóðann þinn. Marcus? STUDENT: Er það stylistically valinn en á heimsvísu skilgreina föstu n? JASON Hirschhorn: Svo er að stylistically valinn en á heimsvísu skilgreina stöðugt n? Svo þú ert að segja að þú gætir gera, int tala = 5? STUDENT: Gera þeir hafa samhljóða í C eða nei? JASON Hirschhorn: Eða const - í jafn. Svo þú ert að segja bara alþjóðlegt breytu? Nemandi: Já. JASON Hirschhorn: Svo stylistically, það er engin endilega eitt rétt svara, en bæði af þeim eru betri en bara að henda þeim af handahófi tölur allan kóðann þinn. Við köllum þá galdur númer. Þegar ég líta á kóðann þinn eða þegar hver er að lesa í gegnum það, þeir vil ekki bara þessar slembitölur sem gera það ekki sens. Jafnvel númer 26, sem almennt er fjölda bréfa í stafrófinu, það er betra að skilgreina stafrófið upp efst og vista númerið 26 í þeim streng, ef það er vit í. Eða á Heimadæmi einn, frekar en - aftur, höfum vér ekki tala um þetta á tíma, en í stað þess bara að kasta í 25 alls staðar eða 10, getur þú vista númer 25 sem fjórðungnum eða 10 sem DIME, og það gerir það auðveldara fyrir hver er að lesa í gegnum númerið þitt til að skilja hvers vegna þú valdir að tala. Og einnig fyrir þig, ef þú vilt alltaf til uppfæra kóðann þinn, gerir það svolítið öflugri. Já? STUDENT: Er þetta númer líka að fara að vera í boði fyrir okkur á eftir? JASON Hirschhorn: Allt af þessum númerum að við höfum skrifað saman eru fara að vera sendar til þín krakkar og laus. Já. Svo spyrja notandann um fimm nöfn. Handahófi velja og prenta eitt af nöfnum. Sem gerði þessa línu? Þetta er erfiðustu lína hér. Því miður, Tom. Þú gerði mjög gott starf, en þetta er svolítið trickier. Marcus, fara fram í tímann. STUDENT: Jæja fyrst þú ert að fara að þarf að fela stdlib.h og time.h. JASON Hirschhorn: Svo þú ert að segja á efst, eru tvær fleiri bókasöfnum. Þú vilt að ég ma S-T-D-L-I-B punktur H, Standard Library, og hvað var hinn? STUDENT: Time.h. JASON Hirschhorn: # include time.h. Svo að þetta eru tveir bókasöfnum. Ég geri ráð fyrir nú að við erum að fara að vera með aðgerðir sem eru í þessum tveir, sem er hvers vegna þú þörf að fela þær? STUDENT: Svo, fyrst þú ert fara til að vilja skrifa srand. JASON Hirschhorn: Srand. STUDENT: (tími (0) JASON Hirschhorn: miður. Srand (tími ( STUDENT: 0. JASON Hirschhorn: 0. STUDENT:)), semíkommu. JASON Hirschhorn: Annar lokað paren? Semíkommu. Ég ætla bara að skipta núll þinn með NÚLL. Það mun gera um það sama, en almennt, munt þú sjá NULL, sem við munum tala um þetta lína í annað. STUDENT: Stylistically betra? JASON Hirschhorn: Almennt, fólk rétt NULL, en sama. STUDENT: Og þá int nafn. JASON Hirschhorn: Int nafn. STUDENT: = JASON Hirschhorn: = STUDENT: Rand. JASON Hirschhorn: Rand. STUDENT: () JASON Hirschhorn: () STUDENT: Modulo númer. JASON Hirschhorn: Hvað er modulo? The eðli? The prósent eðli? STUDENT: Hlutfall eðli. Modulo númer sem þú skilgreindir upp efst. JASON Hirschhorn: Modulo NUMBER. STUDENT: Og þá semíkommu. JASON Hirschhorn: semíkommu. STUDENT: Og svo nýja línu, printf. JASON Hirschhorn: printf. STUDENT: ( JASON Hirschhorn: ( Nemandi: " JASON Hirschhorn: " STUDENT:% s / n JASON Hirschhorn:% s / n Nemandi: " JASON Hirschhorn:% s / n " STUDENT: Comma, rúm nöfn. JASON Hirschhorn: Space - STUDENT: Oh, ég giska, hvað gerði við köllum það hér? JASON Hirschhorn: Við kallaði það nöfnum. STUDENT: Open krappi, nafn. JASON Hirschhorn: Open krappi, nafn. STUDENT: Lokað krappi. JASON Hirschhorn: Lokað krappi. STUDENT:) JASON Hirschhorn:) STUDENT: semíkommu. JASON Hirschhorn: semíkommu. OK, við skulum spara. Við skulum gera þennan kóða. Nemendur. Skulum hlaupa þennan kóða. Nemendur. Ekki. / Nemandi. . / Nemendur. Nafn eitt. Við munum segja Davíð. Nafn tveir, RJ. Nafn þrír, Rob. Nafn fjórir, Lucas. Nafn fimm, Joseph. Og þá er það prentar út Jósef aftur. Svo láta mig keyra þetta aftur. Leyfðu mér að gera sömu nöfn. David, RJ, Rob, Lucas, Joseph. Og það gaf mér Davíð í þetta skiptið. Svo ég gerði það sama, en það gaf mér mismunandi hlutur, og það er vegna þess, að sjálfsögðu, við erum að biðja að handahófi nafn. Þannig að ég held, byggt burt af mér úti um herbergi, sem flestir sennilega fengið fyrsta hluta rétt, setja upp þessi fjölbreytta og þá fá öll nöfn. Ég er að tala um línur 10 gegnum 16. En línur 18 gegnum 21 eru líklega nokkur atriði sem þú hefur ekki séð áður, þannig að við skulum fara í gegnum þá. Þessi lína, srand tími NULL er í raun - Því miður, við skulum sleppa niður línu, rand (). Sem gefur þér af handahófi númer, handahófi heiltala. Og ef þú högg maður Rand, sem a einhver fjöldi af þú gerðir - M-A-N rúm R-A-N-D - í flugstöðinni eins og þetta, M-A-N rúm R-A-N-D, högg inn í. Viltu koma upp til handbók og vildi vera fær til lesa það RAND stjórn framleiðsla num gervi handahófi bæti eftir sáningu handahófi númer rafall einu sinni. Svo er það lýsing. Það er það sem Rand gerir, gefur þú a handahófi tala þegar þú kalla þessi aðgerð. Því miður er það ekki raunverulega handahófi því ef þú kallar bara handahófi án þess að fá það sumt, sum útgangspunkt, mun það alltaf velja sama einn og það notar formúlu til að ákvarða næsta skammt. Svo ef þú kallar Rand, verður það bara gefa þér það sama. Það verður að vera mjög fyrirsjáanleg. Það í raun mun ekki vera af handahófi. Svo það sem við þurfum að gera, á Marcus leiðbeiningar til mín, voru fræ Rand með eitthvað annað, sem er það The srand virka ekki. Það fræ RAND með eitthvað aðeins meira handahófi en það sama og hann sáningu það með NÚLL tíma, sem er, bara með því að venju, núverandi tími í sekúndum. Svo þú ert að því gefnu að allir eru ekki að fara að keyra kóða á nákvæmlega Sama sekúndu, svo það er öruggt veðmál að tími NULL er að fara að vera öðruvísi hvert skipti þetta númer er að keyra. Öruggt veðmál að Þannig srand þær koma fræ Rand með eitthvað annað hvert einasta sinn. Svo með því að venju, viljum þegar við gera handahófi númer skrifað við þessa línu, srand tími NULL, að gefa okkur miklu meira handahófi fræ, og þá hlaupum rand, sem gefur okkur handahófi númer. Já? STUDENT: Getur þú sagt hvað þú átt við með fræ? JASON Hirschhorn: Fræ sem á - svo Rand er að fara að taka nokkur númer og það er að fara að nota sumir uppskrift að komast þangað. Svo það er að fara að byrja með eitthvað og þá snúa það inn í eitthvað byggt burt af þeirri formúlu. Ef þú gefur alltaf það sama, það er alltaf að fara að snúa það inn í sama. Svo að það fyrsta sem þú gefa það er fræ. Svo þú vilja til gefa það eitthvað öðruvísi að byrja út með, og svo það mun snúa það inn í eitthvað annað. Og svo að lokum, lína 20, þetta% er kallað modulo, og það er ruglingslegt. Það er eitthvað sem er svolítið öðruvísi hér að þú í raun ekki hafa í raunveruleikanum stærðfræði. En í raun, þegar þú tekur risastór númer og þú skipta í C, hvað gerist við afgang? Nemandi: Það verður stytt. JASON Hirschhorn: Það verður stytt. Svo er 20 deilt með 3 hvað? Hvað þýðir að fara aftur þú, 20 deilt með 3. Því miður, 10 deilt með 3. Hvað þýðir að fara aftur til þín? STUDENT: [inaudible]. JASON Hirschhorn: 10 deilt með 3 bara skilar 3, ekki 3 afgangurinn 1. Svo hvað 10 modulo 3 skilar er bara afgangurinn, 1. Svo ef þú vilja til vita hvað 10 deilt um 3 raunverulega var, myndir þú gera 10 deilt með 3, vilt þú fá 3 þinn, og þá þú vilt gera 10 modulo 3, og þú vilt fá 1. Svo þú vilt gera sér grein að 10 skipt með því að 3 er 3, sem eftir stendur 1. Og í þessari línu, Rand gætu verið hvaða heiltala, í meginatriðum. Svo modulo er að segja, deila því með númer, sem er í þessu tilfelli 5. Og ef þú skiptir alltaf um fjölda, sem heiltala hefur alltaf til að vera minna en að tala. Svo ef þú ert að deila með númer 5, afgangurinn er alltaf að fara að vera núll í fjögur. Það er bara hvernig stærðfræði virkar út. Svo stór tala moduloed af minni tala alltaf aftur Afgangurinn og mun alltaf skila sumir tala sem er minni en númerið sem þú skipt eftir. Hefur einhver hefur einhverjar spurningar um modulo, því það mun koma í mjög, mjög vel, þannig að ég vil vera viss allir skilji það? Cool. Og við sáum að þetta forrit virkaði. OK, flutti á. Svo næst, við erum að fara inn í aðgerðir, og við erum að fara að fara gegnum the hvíla af this efni nokkuð fljótt því ég vil fá að stjórn lína rifrildi. Svo aðgerðir eru í raun, eins og þú hefur séð, svartur kassa. Þeir taka hlutina í kallast breytum, þeir gera eitthvað við þá, annaðhvort breyta þeim eða búa til nokkrar aukaverkanir og að lokum, hrækja þeir eitthvað út, sem er skilagildi. Getur einhver gefið mér eina ástæðu hvers vegna við mundum nota virka? Hver? Ein ástæða þess að við myndum nota virka? Einhver? Ég sá tvær hendur. Hvað er góð ástæða? Marcus? STUDENT: Ef þú þarft að hringja á sama klumpur af kóða mörgum sinnum. JASON Hirschhorn: OK, ef þú þarft til að hringja í sömu klumpur af kóðann mörgum sinnum. Jeff, did þú hefur aðra ástæðu? STUDENT: Bara svo að þú getur kóða minna. JASON Hirschhorn: Þú getur kóða minna. Rétt. Ef þú vilt gera eitthvað mikið - í fyrri töluna, gæti ég skrifað fá streng fimm sinnum, en fyrir lykkja gerir það líta betur og þú þarft að skrifa minna númeri. Aðgerðir eru svipuð hugmynd. Ef ég vil gera það sama mikið, færa það að aðgerð og kalla það virka í hvert skipti. Það mun gera það hlutur fyrir þig. Það er góð ástæða að nota virka. Svo líffærafræði aðgerð. Fall mun almennt líta svona út. Það verður að byrja á aftur gerð, þá munt þú fá the nafn. Það verður að taka rök, annars þekktur sem breytur, og inni þá hrokkið axlabönd, munt þú skrifa kóðann þinn. Við höfum séð eina virka mikið. Það er aðal. Hér er aðal ofan á sem líffærafræði ég hafði áður. Hvað þýðir int hérna signify? Hvað þýðir INT meina? Þegar ég skrifa int helstu (ógilt). STUDENT: Return tegund? JASON Hirschhorn: Fyrirgefðu? STUDENT: The endurkoma. JASON Hirschhorn: Int er aftur gerð, nákvæmlega rétt. Main skilar int. Hvað er aðal? STUDENT: Virka nafn. JASON Hirschhorn: Main er nafn fallsins. Nákvæmlega rétt. Og tóm? Hvað er ógilt innan sviga? Nemandi: Það tekur ekki utanaðkomandi gildi. JASON Hirschhorn: Svo ógilt - rétt. Innan sviga, leggjum við breytur eða rökin sem virka tekur, hvað fer inni í svarta kassanum. Þegar þú skrifar tóm, þú ert að segja þetta tekur ekkert inn Svo int helstu ógilt þýðir er helstu ekki að taka neitt inn Inni í hrokkið axlabönd, höfum við nokkur kóða, og þá erum við að sjá í lok aftur núll. Hvað þýðir aftur núll meina? Jæja, talaði við um tegund aftur. Main þarf að skila int. Það er það sem þessi lína er. Það skilar int, núll. Að sjálfsögðu höfum við ekki séð að mikið því að í forritun við gerum við vélar við gerum og vistþýðendur við notum nú á dögum, þú þarft ekki að línu. Main er sérstakt nóg að það veit þegar þú nærð í lok aðal, bara skila núll ef allt gekk vel. Í staðreynd, ef eitthvað er ekki að fara vel, Helsta verður oft til baka annað fjöldi merkja að eitthvað fór úrskeiðis með forritinu. Svo almennt þegar þú sérð númer, þú ekki skrifa aftur núll, en það er gott að vita að það er að gerast á bak við tjöldin því alltaf þegar þú skrifar annar tegund af starfsemi, þú ert að fara að þurfa að eru aftur línu. Ef þú ert að segja að ég ætla að skila int, þú þarft að skrifa aftur eitthvað. Ef þú segir ógilt upp hér á upphaf, ógilt aðalæð ógilt, fyrir dæmi, þá er það ekki aftur eitthvað - ógilt þýðir ekkert - svo þú þarft ekki að koma aftur línu. En þú skrifar alltaf eitthvað sem er ekki ógilt fyrir endurkomu tegund, þú þarft línu sem segir aftur og þú þarf að setja eitthvað þarna sem passar tegund. Einhverjar spurningar um það? Sætur. Gildissvið. Þetta er eitthvað sem við höfum snert á eins vel. Sérhver breytu, eins og við vitum, hefur viss umfang, og það er í grundvallaratriðum að tala um þar sem breytu mega eða mega ekki vera vísað. Og ég eins og til að segja hvað gerist í hrokkið axlabönd áfram inni í hrokkið axlabönd. Svo til dæmis, ef við skoðum þennan kóða, við erum að skilgreina alþjóðlegt breytu utan helstu, int a, upp hér að ofan. Við köllum annað int er inni helsta. Við höfum nokkrar fleiri hrokkið axlabönd, og við köllum annað int a. Við höfum þrjár A er í kóðanum. Þetta eru ekki það sama. Ég hef búið þremur mismunandi breytum. Þá inni þessum innri hrokkið axlabönd, segi ég = 4. Sem a er að tala um, the fyrsta, annað, eða þriðji? STUDENT: Þriðja einn. JASON Hirschhorn: Það er að tala um þriðju. Allir þeir sem er í raun hægt að talað um í þessari tilteknu dæmi því umfang þeirra allt fer í þessum innsta hrokkið axlabönd. Hins vegar þegar þú hringir það sama nafn, það er eitthvað sem kallast að fela sig. Svo þú eiga aðeins við eða laga eða nota nýjustu breytilegur eða sá næst þér. Sem inni hér, er þetta þriðja sem næst að þessi lína, a = 4, þannig að það áhrif á þriðja einn. Og síðasta lína, a = 2, þar sem a er að tala um, í fyrsta, öðrum, eða þriðja a? STUDENT: Second. JASON Hirschhorn: Það er að tala um seinni A. Að sjálfsögðu, sem er þriðja er næst það í kóðanum, en þriðji í er ekki til fyrir utan þá hrokkið axlabönd. Þegar þú færð að því lokuðu hrokkið borsveif, það er eins og það er farið, meginatriðum. Svo aðeins tveir sem þú átt eftir eru þeir Fyrstu tvær, og að sjálfsögðu, nú það er næst sú síðari. Svo er það gott að muna um gildissvið. Til dæmis, ég er viss um að þú hefur komið upp á þetta í a gera á meðan lykkja. Ef þú frumstilla breytu inni The gera meðan lykkja og þá reyna að aðgang að þeim utan, sennilega þú fékk smá viðvörun eins, þetta breytu er ekki til. Það er vegna þess að umfang hugmynd, að hlutirnir eru aðeins inni þá hrokkið axlabönd. Hrokkið axlabönd eru eins og risastór knúsa sem þú ert að gefa til kóðann þinn, er annar leið til að hugsa um það. Svo er þetta annað fall, eitthvað fyrir ykkur að kóða, hellofunction.c. Við ætlum að sleppa að nú, en þetta er eitthvað sem ég hvet ykkur til að æfa sig á eigin spýtur. Skrifa A program þar sem helstu símtöl annað fall sem prentar út kveðja til notanda. Það er í raun að taka Hello World og abstracting að printf inn annan valkost. En við ætlum ekki að gera það rétt núna vegna þess að við höfum ekki eins mikinn tíma vinstri eins og ég hefði viljað. Svo yfirlýsingu virka. Við höfum séð þetta áður eins og heilbrigður. Ef þú vilt að skrifa annan valkost, þú þarft að láta tölvuna vita og Helstu vita að það er til staðar. Svo það sem við gerum er yfir helstu, skrifa við aftur gerð, nafn, og breytur, og þá niðri helstu, niður hér, afrita við í raun að línu og þá skrifa raunverulegan kóða. Svo Þannig, ef þú kallar á virka í helstu efst, helsta veit að halló er til, til dæmis, ef ég væri að hringja halló, og þá lítur það til framkvæmd niðri. Hvað gerist ef ég er þetta ekki lína upp ofan, ógilt halló (ógilt)? Ef ég er ekki þessa línu og helstu símtöl halló, ég er fara að fá villu. Ég ætla að fá villu vegna þess að þýðanda veit ekki að þessi hlutur er til. Þetta er svipað því hvers vegna við gera # include cs50.h. Hvað í raun cs50.h er að gera er að setja fá band upp. Það er að setja fá int upp. Það er að setja allt af þeim virka frumútgáfur upp áður helstu svo að þegar þú kallar þá í helstu, helstu veit að þessir hlutir til. Það er það sem þessir. H skrár gera. Og svo ef þú ætlar að gera þína eigin virka, hefur þú fengið að ganga úr skugga um þú setja þessi frumgerð upp þar. Einhverjar spurningar um þetta svo langt? Stjórn lína rifrildi. Þetta er það sem við erum að fara að klára á, og þá vonandi kreista í sumum pset. Ég veit ekki hvort við munum vera fær um að kreista að í vegna tíma, en með ykkur sem eru hér, og ef þú krakkar vilja til að segja eftir fyrir a hluti, við getur farið yfir það út. En við erum að fara að ljúka við stjórn lína rifrildi fyrir síðustu 15 mínútur. Við vakandi, Michael? Þú ert vakandi? Gott. Ég veit ekki hvort þú sefur með augun lokuð. Það væri erfiður. Stjórn lína rifrildi. Þeir eru ein leið til að fara framhjá upplýsingum í áætluninni. Að lokum munum við lenda í öðrum. En í raun erum við að fara að hætta skrifa int helstu (ógilt) ef við viljum taka nokkrar stjórn lína rifrildi. Við erum að fara að skrifa þetta í kallað int helstu (int argc, band argv, sviga. Það er ruglingslegt. Það er mikið af bréfum sem eru ekki í manna ensku, þannig að við erum að fara að taka upp þá núna. Argc stendur fyrir telja rök - og aftur, öll þessi mun aðgengileg á Netinu - og það er fjöldi af rökum. Argv stendur fyrir vektor rök og þá eru rökin sjálfir. Það er fylki af strengjum. Við höfum í raun séð fylki strengi fyrir dag. Við bjuggum eitt í síðustu forritið sem við dulmáli. Svo er hér dæmi. Ég skrifa. / Ohai cs50 kafla á lína mín. Argc í þessu tilfelli er 3. Argv krappi 0 er ohai, argv krappi 1 er cs50, argv krappi 2 er hluti. Aftur, argc er fjöldi rök, og ferð þú upp smá hluti, telja við alltaf nafn hins virka eins og fyrstu rök. Þannig að í þessu tilfelli, eru þrjár rök, heiti fallsins og þá þessir tveir sem ég slegið inn Næst erum við að fara að bjarga þeim rök sig í argv. Og aftur, rétt eins og við sáum áður, gerði við þetta í síðasta program við dulmáli. Þú getur fært í gegnum fjölbreytta argv og fá þær strengi. Það er í raun það sem við gerðum á í lok síðasta áætlun okkar. Við tók af handahófi nafn og þá fór að nöfn krappi hvað og prenta út the band staðsett þar. Ofan á aðeins einu array, vegna þess að strengir sjálfir eru fylki, sem talað um, getur þú hafa fylki af fylki, sem er raun það argv er. Ein leið sem þú getur hugsa um þetta er raðir og dálka. Ég get teiknað það núna. Svo argv - það er ekki þurrka. Skulum draga undir ohai. Þannig að ef ég skrifaði í, ohai cs50 kafla, Ég ætla að HÃ kafla í þessu dæmi. En í raun, minn multi-víddar array, ohai cs50, við erum að fara að gera Sértrúarsöfnuður. Svo hér, get ég aðgang - ef ég gef bara argv eitt númer - þetta er rangt. Hvað er rangt í þessu skýringarmynd? STUDENT: Byrja á núlli. JASON Hirschhorn: Það ætti byrja með núll. Ég ætti líklega einnig snúa henni, en þar sem ég hef nú þegar dregið það á, ég að fara að láta það á þar til nú. En það byrjar á núlli. Það er rétt. Fyrirgefðu ef þetta er lítill. Getur þú krakkar konar sjá? Svo ef ég argv 0, ég fá allar ohai. Ef ég argv 1, ég fá allar cs50. Ef ég argv 2, ég fá allar Sértrúarsöfnuður. En nú, eins og ég sagði, strengir eru fylki sjálfir. Svo er það sem ég get gert ég get meðhöndla þetta sem multi-víddar array, og ég getur gert eitthvað á sömu nótum argv 0, 0, sem gefur mér bara eðli 0. Argv 0, 1, sem gefur mig bara klst. Argv 1, 3, sem gefur mig bara þetta 0 niður hér í cs50. Svo vegna þess að strengir sig eru fylki, erum við að setja að í öðru fylki. Við höfum nú fjölbreytta fylki, og við getur vísitölu í fyrsta fylking okkar og þá vísitölu í seinni array okkar. Og eins og þú vildi búast við, gera við að bara með því að setja þá tvo - við gerum hornklofa bara við hliðina á hvort öðru. Svo í þessu dæmi, argv 1 er cs50 og argv 1, 2, eins og ég sagði, er bara 5. Hefur einhver hefur einhverjar spurningar um multi-víddar fylki? Þú krakkar eru að gera ógnvekjandi. Sætur. Þannig að við höfum annað forrit hérna, og þetta er það sem kemur síðas hlutur sem við erum að fara að gera núna. Svo ég vil að þú að skrifa forrit sem tekur fullt nafn notandans, tveir og aðeins tveir stjórn lína rifrildi, og að lokum, prenta út kveðju til notandi sem nær fyrsta nafn þeirra. Svo hvers vegna ertu ekki að þremur eða fjórum mínútur til að gera þetta, og þá munum við fara yfir það sem hópur og þá munum við sett upp? Og aftur, hér, þegar við segjum að taka fullt notanda nafn á lýsingu um þetta vandamál, ætti það að vera stjórn lína rifrildi, ekki nota fá streng. Já, Marcus? STUDENT: Svo þegar þú segir tvær stjórn lína rifrildi, er að auk . The / hlaupa, eða - JASON Hirschhorn: Góð spurning. Gera, þar á meðal. / Hlaupa, þrír stjórn lína rifrildi. Eða þar á meðal. / Persónulega, í þetta mál, því það er Heiti þessa skrá. Svo argc mundi vera þrjú. En ég vil aðeins tvær röksemdir gefið til áætlunarinnar. Ég ætti að tilgreina það. Ég ætla að gera þessi breyting áður en ég skrifa þetta og senda þá til ykkur. STUDENT: Hvað ef þú hafa millinafn? JASON Hirschhorn: Ef þú ert með mitt nafn, þú ert út af heppni. Fyrirgefðu. Eða ef þú ferð bara með Shakira, þú ert líka út af heppni. Já? STUDENT: Svo þegar fólk hefur ekki cs50.h, skilgreina þau argv eins bleikju stjörnu argv? Eða er það kallað enn streng argv? JASON Hirschhorn: Já. Svo band, aftur dulið, við yfir hvaða nákvæmlega er að gerast þar. Það er að fara að taka upp kannski á miðvikudag, en fljótlega. Það er eins og hjól þjálfun. Vegna raun er það sama. Þannig að við skulum taka aðra mínútu til program þetta, og þá munum við fara yfir það sem hópur, og þá eins og ég sagði, sett upp. Og ég held að þeir séu enn auka nammi, svo þú krakkar ættu vonandi að taka að, eða vinsamlegast taka það. Fyrirgefðu ef þú ert enn að skrifa, en ég vil að kafa í og ​​við getur klárað það saman. Þannig að ég hef skrifað í, # include cs50.h, # include stdio.h. int helstu (tóm), hrokkið Brace, hrokkið borsveif, inni þrjár línur sauðakóðanum, taka fullt nafn notanda, tveir og aðeins tveir stjórn lína rök, prenta út kveðju til notandi sem nær fyrsta nafn þeirra. Svo það fyrsta, taka fullur notandans nafn. Hver getur hjálpað mér að taka fullur notandans nafn? Hvernig geri ég að hluta? Vissir þú krakkar gera það fyrsta hluta? Taka fullt nafn notandans. Jæja, fyrir að einn stjórn lína rök, hvað ætti ég að skrifa? Hvað ætti ég að breyta um virka yfirlýsing mín? STUDENT: Þú vilt ekki það að vera ógilt lengur. JASON Hirschhorn: Einmitt. Ég vil ekki það að vera ógilt. Hvað vil ég að það að vera? STUDENT: Int argc. JASON Hirschhorn: Int argc. STUDENT: String argv. JASON Hirschhorn: String argv. STUDENT: Bracket, krappi. JASON Hirschhorn: Bracket, krappi. Það er einmitt rétt, og það er reyndar hvernig ég ætla að fá fullur notandans nafn. Þeir eru að fara að setja það þar. Þannig að einn er gert. Svo nú vil ég tvær og aðeins tvær stjórn lína rifrildi. Svo Nóa, hvað er ein leið sem ég get athuga fjölda stjórn lína rifrildi ég? STUDENT: Þú gerir að ef yfirlýsingu. JASON Hirschhorn: Ef yfirlýsingu, nákvæmlega. Hvað vil ég sem ástandi? STUDENT: Ef meiri argc en 3. JASON Hirschhorn: Ef argc er hærri en 3. Ef argc meiri en 3, hvað geri ég? STUDENT: Return 1. JASON Hirschhorn: Return 1. Mun það tryggja ég tveir og aðeins tveir? Nemandi: Nei Ef argc er meiri en 3 og minna en 2. JASON Hirschhorn: Ef argc er meiri en 3 og argc er minna en 2. Hvað er ein leið sem ég get skrifað þetta í bara ein lína, eða án þess að nota það og Boolean rekstraraðila? Nemandi: Það er ekki sama sem 2. JASON Hirschhorn: Ef argc er ekki jafnt og 2. Einmitt. Svo ef argc er ekki jöfn 2, sem mun gefa mér þetta forrit, persónulega, þegar ég keyra hana, og sem mun gefa mér hversu margir stjórn lína rifrildi? Hversu margir munu ég athuga? Því miður. Leyfðu mér reword það. Ef argc = 2, hversu margir hlutir gerðu notandinn skrifað inn á línu? STUDENT: One. JASON Hirschhorn: Bara einn. Svo áður, þú varst rétt, Nói. Hvað þarf ég í raun að setja það? Nemandi: Það jafngildir 3. JASON Hirschhorn: argc ekki jöfn 3. Ég vil jafna 3 því ég vil persónulega auk hinna tveggja. Svo ef argc ekki jafn 3, skila 1. Hvers vegna sagðir þú aftur 1? STUDENT: Vegna þess að þýðir að það er rangt. JASON Hirschhorn: Það þýðir að það er rangt, og hvað er að fara að gera? STUDENT: Re-hvetja notandann. JASON Hirschhorn: Það er að fara að hætta the program, svo það verður að keyra aftur, en við höfum ekki neitt hér að biðja fyrir þeim aftur. Ég vissi ekki að biðja um það. Svo er það nákvæmlega rétt. Skila 1 bara kvittir forritið. Great. Og prenta út kveðju til notanda sem felur í sér fyrsta nafn þeirra. Hvernig get ég gert það? Anna? STUDENT: printf. JASON Hirschhorn: printf. STUDENT: (" JASON Hirschhorn: ( Nemandi: "halló JASON Hirschhorn: "halló STUDENT:% s JASON Hirschhorn:% s STUDENT: / n JASON Hirschhorn: / n Nemandi: ", JASON Hirschhorn: ", STUDENT: argv JASON Hirschhorn: Fyrirgefðu? STUDENT: argv JASON Hirschhorn: argv STUDENT: hornklofum 1. JASON Hirschhorn: hornklofum? STUDENT: 1. JASON Hirschhorn: 1. STUDENT: Og) semíkommu. JASON Hirschhorn:) semíkommu. Leyfðu okkur að keyra þetta. Gera persónulega. . / Persónulega. Það hætta bara. Hvers vegna var það að hætta? STUDENT: Þú varst ekki að setja allir rök. JASON Hirschhorn: Ég gerði ekki setja allir rök inn Lítur vel út. Þú krakkar neglt það. Svo aftur, þú fórst inn í argv og þú merkt í upphafi argc. Þeir eru tvö mikilvæg atriði sem þarf að muna. Svo í okkar síðustu tvær mínútur áður en við fara, munum við ekki fá að pset tvö, en eins og ég sagði, ef þú vilt vera eftir í 10 mínútur, myndi ég hann fús til að fara yfir með ykkur rökfræði fyrir þessar vandamál setur. Við höfðum mikið til að mæta í dag svo ég gerði ekki fá til þeirra. Almennt, eins og ég að fela að í lok. Svo ef þú vilt vera kyrr, kyrr í 10 mínútur. Við munum gera það. Þá, eins og ég nefndi í upphafi, pset núll og einn, munum við fá að viðbrögð til baka til þín og fljótt og auðið er. Markmiðið er að fá pset einn endurgjöf, The athugasemdir hluti, áður pset tvö er vegna. Svo ef þú gert nokkrar mistök eða stylistically, það gæti verið betra, þú þarft að upplýsingar svo þú mun ekki gera sömu hlutina í pset tvö. Og þá í framtíðinni, youll 'fá allt af endurgjöf pset og athugasemdir baka áður en næsta einn er vegna. Að lokum, ef ég gæti sett í öðru stinga fyrir athugasemdir. Þetta er fyrsta hlutanum. Það var fyrsta kafla minn kennslu á þessu ári. Fara þangað. Skrifa efni, gott og slæmt, og ég mun nota það til að gera kafla betur næst. Og síðast, aftur, ef þú þarft eitthvað, láttu mig vita. Ég er meira en fús til að hjálpa ykkur. Ef þú vilt bara nammi, ég munt hafa auka sælgæti. Ég er fús til að koma með það til þín. Þetta er að fara að vera ótrúlegt námskeið. Þetta er einn af, ef ekki uppáhalds minn námskeið, ég hef tekið á minni ævi, og ég vona að það verði að dásamlegt fyrir þig. Svo ég vil gera allt sem í mínu valdi til að gera það sem ógnvekjandi fyrir þig. Ég ætla að senda út tölvupóst ef þú ert í kafla mínum eða Nói og ætla að reyna og tímaáætlun við hvert þú krakkar tími til að athuga á yfir næstu vikur þannig að ég get fengið vit á því hvað CS bakgrunnur þinn er, og það mun einnig hjálpa mér að sníða þessar kafla til betri föt þínum þörfum. Svo það er það sem ég hef fengið raðað upp. Aftur, ég sé þig fyrir utan ef þú vilt vera þar. Þetta var viku tvö kafla. Þakka ykkur svo mikið.