>> ROB: Allt í lagi.
Velkomin á fyrsta kafla.
Ég er Rob.
>> JOSEPH: Ég er Jósef.
>> ROB: Þannig að við munum kafa rétt inn
Fyrstur hlutur til að tala um er Appliance.
Svo vonandi að flest ykkar hafa niður það nú þegar.
En þú getur fundið leiðbeiningar á cs50.net/appliance.
Ó guð, nú er ég sjálf-meðvitund.
Ég heyri enn það.
>> JOSEPH: Vá, það hljómar eins og það er disoriented.
>> ROB: Svo sumir hafa verið með mál með það, svo ekki að bíða ekki þangað til
Á síðustu mínútu á vandamálinu stillt á reyna leysa Tæki og
finna út að það er ekki að virka.
>> JOSEPH: Og ef eitthvað er ekki að virka og þú þarft hjálp, getur þú farið til
cs50.net/discussion þar sem við hafa vettvang þar sem þú
getur sent spurningum þínum.
Og við munum fá til þeirra á endanum.
>> ROB: Allt í lagi.
Svo er þetta það sem Appliance lítur út.
Aftur, það er bara alveg sérstakt stýrikerfi keyra innan
hvað stýrikerfi þú eru í gangi á fartölvu.
Og helstu hlutir sem þú munt vera með eru gedit.
Svo vonandi hefur þetta nú þegar orðið kunnugleg staður.
Flugstöðinni.
>> Og þú getur líka keyrt Chrome innan Tæki.
Það hafa verið nokkrar af fólki sem hafa tilkynnt internetið
ekki vinna fyrir í tækinu.
Og sum þeirra hafa bara gert ráð að það er ekki ætlað að vera
Internet í búnaðinn.
En já, það er ætlast að vera internetið.
>> Ég segi það núna, en það er ekki í raun þýtt neitt.
Ef netið er ekki að virka, þetta er það sem þú hættir að þurfa
að hlaupa til að laga það.
Ef þú ert með internetið málefni, ekki muna það, réttlátur staða það á
Ræða, og við munum segja, hlaupa það.
En internetið ætti að vera að vinna.
>> Svo aðeins annar hlutur - já, ekkert annars er mjög viðeigandi.
En ég vildi bara benda á að -
sjá í þessu neðst í hægra horninu.
Svo hvert tæki þínu ætti hafa IP tölu.
Og síðar í önn, þessi IP vistfang verður meira máli þegar
þú ert að vinna á vefnum p-sett, vegna þess þú munt vera fær til að fá aðgang að
website þú ert að vinna á frá þinn sveitarfélaga Króm því að nota þessa IP tölu.
>> En það sem ég vil nota IP tölu fyrir - og þú þarft ekki að gera þetta, ég
bara til að benda það út -
er hér.
Svo er þetta endastöðvar á Mac minn, þetta er ekki í
Tæki á öllum.
Og þú getur litið upp hvað þessi skipun gerir.
En ég ætla að SSH beint tækja mínum.
Ég veit ekki hvað IP er.
>> JOSEPH: 168 -
>> 168.224.1.0.
>> ROB: Svo þegar ég er búin með þessu, að skrá þig inn
Nú, í grundvallaratriðum, þetta er nákvæmlega eins og endastöðvar innan Tæki minn.
Svo ég nánast aldrei raunverulega í uppnámi innan Tæki sig.
Ég bara alltaf hafa það að keyra í bakgrunni lágmarka
og SSHed inn í það.
>> Málið við þetta er að þú ert ekki að fara að vera fær um að nota gedit auðveldlega
beint frá þessu.
En ef þú vilt vera alvöru kaldur tölvusnápur, þá ættir þú að venjast
stjórn lína texta ritstjóri samt.
Svo Vim og Emacs og Nano, allar þessar eru mismunandi valkosti.
Nano hefur tilhneigingu til að vera auðveldasta.
Og ég held að það hefur enga setningafræði auðkenning.
Ó, nei, það gerir algerlega.
Svo þú getur notað Nano, því að einn er laglegur þægilegur.
>> Þú sérð allar þessar skipanir neðst.
Þessi litla gulrót tákn.
Ef þú hefur ekki séð það áður, þú munt sennilega sjá það mikið núna.
Það þýðir yfirleitt stjórna gulrót, eins og botn-vinstri á lyklaborðinu
stjórna staf.
Svo hér það er að segja mig niður hér -
Ó, það er ekki skera burt ef ég súmma inn
Svo, X er Control hvernig Ég ætla að hætta.
Og það segir að ég get högg Y fyrir Já, fyrir vistun, N fyrir nr
Svo er það Nano.
>> Vim og Emacs tilhneigingu til að vera örlítið meira flókið og yfirþyrmandi.
En þú getur fengið að nota það, og þá muntu elska hana.
Svo er það það.
>> JOSEPH: Engin þörf á að gera það.
>> ROB: Já.
Þú ert frjáls til nota gedit fyrir Afgangurinn af önninni.
Svo allir tæki-tengdar spurningar?
Eða hefur þú einhverjar skoðanir á hvað annað þarf að vera talað um um
tækið?
Já.
>> Ræðumaður 1: Þegar þú SSHed inn þinn hlutur, var lykilorðið Crimson?
>> ROB: Já.
Lykilorðið fyrir nánast allt Í tækið er að fara
að vera Crimson.
>> Ræðumaður 2: Setja eins og alvöru IDE á tækinu, mun það vinna?
>> ROB: Ég ímynda mér Eclipse hjartarskinn hafa a Fedora útgáfa, í því tilviki, já,
þú getur gert það.
Það er sennilega ekki alveg þess virði.
>> Ræðumaður 2: OK.
Svo er það líklega auðveldara ef ég vildi nota Eclipse, réttlátur nota the innfæddur maður og
síðan hlaða að -
>> ROB: Ó, það er líka sennilega auðveldara.
En þú getur fengið það að vinna innan Tæki.
>> JOSEPH: Og fyrir myndavélina, spurningin var hægt að setja aðra
IDE inni á tækinu?
>> ROB: Eclipse vera Dæmi um IDE.
Önnur tæki spurningar?
Allt í lagi.
>> Þannig að við munum nú fara að stjórn lína tengi-tengdum hlutum, svo CLI.
Og aftur, ég ætla bara að fara að vinna í hér, vegna þess að þetta er nákvæmlega eins og
vinna innan umferðamiðstöð gluggi innan Tæki.
Hvernig er þessi letur leita?
Er þessi nógu stór?
Allt í lagi.
>> Þannig að það eru fullt af skipunum sem þú ættir að fá nokkuð notað til
yfir önnina.
Stóri tveir fyrir siglingar eru LS, listi skrár í þessari möppu, og
CD, svo breyta skrá.
Svo ég get breytt á skjáborðið og síðan mjög algengt mynstur er CD til A
skrá og strax LS hvað er í möppunni.
>> Fólk líka stundum átta sig ekki að Tab lokið er hlutur.
Svo eins og CD, vh, og þá er ég á Tab.
Ég nánast aldrei gerð út allt hlutur.
Og þá ef ég halda hitting Tab aftur, verður það sjálfkrafa
byrja skráningar fyrir mig.
Svo ég get CD vhosts, heimamaður gestgjafi.
Og það er bara að fara að -
ef þú hefur ekki heyrt hugtakið áður, skrá er bara annað orð
fyrir möppuna.
Svo nú ef þú sérð -
skulum koma að til the toppur.
>> Svo nú ef þú sérð í sviga, þú sjá litla Tilde, rista, vhost,
rista, heimamaður gestgjafi.
Svo Tilde, sem vísar í heimasvæði mínu.
Það er skrá sem þú ert í þegar þú SSH inn
Það er skrá sem þú ert í þegar opnast upp flugstöðinni.
Það er þar sem þú byrjar.
Og svo ég er inni á heimili möppuna mína, og ég er inni á vhost
Listinn inni heimasvæði mínu.
Og þá er ég inni á staðnum gestgjafi skrá inni af því.
>> Svo nokkrar aðrar gagnlegar hluti með cd -
eða vel, almennt, svo punktur alltaf vísar til núverandi möppu.
Cd, punktur er ansi verðlaus stjórn.
En það er að breytast til núverandi möppu.
A gagnlegra einn með tilliti til CD er punktur, punktur, sem er
bara fara upp ein mappa.
>> Og athugið að þetta -
Mig langar að segja samheiti, en þetta tákn, punktur og punktur, punktur, þá vinna
fyrir nánast hvaða skipun sem þú ert að fara að hugsa um að keyra.
Svo eins og CD er sennilega þar sem þú munt vera nota mest, en þetta eru ekki
hlutir sem bara CD skilur.
Það er nokkuð mikið eitthvað allt þitt stjórn lína skilur.
A einhver fjöldi af programs skilja punktur og punktur, punktur.
>> Hinir gagnlegur sjálfur - CD, þjóta.
Þannig að er að fara að koma mér til síðasta skrá sem ég var inn
Svo stundum að ég geri eitthvað svona, ó, ég er að vinna hérna.
Og ég sé smá villa með eitthvað, og Ég fer að kanna það með því að fara að
sumir af handahófi skrá einhvers staðar.
Og ég veit ekki hvort það verður láta mig í það.
Það vilja.
Svo þá geri ég það sem mig langar í þessari skrá.
Bla, bla, bla, bla, bla.
Og ég var eins og, allt í lagi, ég vil til að fara aftur til hvar ég var.
CD, þjóta, og það kemur mér strax aftur.
>> Þannig að ég ætla að henda fullt af þessum á þig í dag.
Ég ætla ekki að leggja á minnið þeim öllum.
Það er góður af bara vita að þær eru til.
Og þá seinna þegar þú ert eins, Hmm, ég vil fara aftur til
möppu sem ég var bara á, ó, bíddu, eitthvað svoleiðis til.
Þú þarft ekki bara að slá í í öllu safninu aftur.
>> JOSEPH: Og að lokum munt þú bara nota þá aftur og aftur, og
það mun verða vöðva minni.
>> ROB: Já.
Svo hvernig ég sagði áður, að Tilde er skrá heimili þitt.
Svo ég get CD, Tilde.
En ég er ekki einu sinni að gera það ef ég bara -
Ég fer aftur á listanum svo það er ekki tilgangslaust dæmi.
En ef ég bara CD, það er einnig sama og að fara á heimasvæði mínu.
Ég Command, K.
>> JOSEPH: Þú getur einnig slegið inn ljóst, orð, og það ætti að hreinsa það.
>> ROB: Og ég held líka Control, L er það líka.
Svo hellingur af mismunandi vegu.
Ég held að það séu nokkur munur þar skýr og Control, Ég mun bara
raunverulega ýta því upp á toppinn og Ég get samt fletta aftur.
Stjórn, K bókstaflega eyðileggur allt, og þú
getur ekki fletta aftur upp.
Minnsta kosti, það er hvernig það virkar í iTerm2.
Ég veit ekki hvernig aðrir hlutir -
oh.
>> Með SSHing, þannig að ef þú ert á Windows, þú ert að fara að þurfa að sækja kítti
í því skyni að SSH síðan Gluggakista hjartarskinn ekki hafa eins og a innbyggður-í SSH tól.
Frá Macs, getur þú bara SSH beint frá endastöðvar.
OK.
Spurningar?
>> Með LS, svo eitthvað til að venjast með af þessum skipunum er -
Jæja, ég verð bara að gera einn.
LS, þjóta, l.
Svo er þjóta, L hvað við erum að fara að hringja í fána til ls.
Og mikið af þessum skipunum hafa fánar að þú getur framhjá þeim.
Þannig að í þessu tilfelli, þjóta, L er merkja sem segir það að gefa mér fullt
skráningu allra upplýsinga af þessum skrám.
>> Svo við sjáum hér að skrifborð var breytt 30. júlí kl 00:54.
Downloads var breytt á 6. september.
Þetta eru núverandi stærð og bæti af þessum möppum.
Þú þarft ekki að skilja þetta allt.
>> Þetta efni á vinstri, þessi drwx er, sem mun verða miklu meira viðeigandi
síðar þegar þú ert að takast á við -
sem hefur að gera með hver hefur leyfi að líta á þessar skrár.
Og svo ef þú varst ekki eini notandinn á þessi tölva, vildi þú vera fær um að
segja, OK, ég ætti að vera sú eina leyft að líta á þessari skrá eða ég er
að fara að leyfa öllum að líta á þessa skrá.
Svo einhver annar á tölvunni minni hægt að líta á þessa skrá.
Ég veit ekki einu sinni hvað þetta - hvað þýðir þetta að gera?
>> JOSEPH: Ég er ekki alveg viss, reyndar.
>> ROB: Ekki hugmynd.
>> JOSEPH: En ef þú veist ekki, það er A hjálpsamur stjórn sem þú getur notað
að segja þér hvað framleiðsla þýðir.
Og ef þú skrifar í manni áður en stjórn -
svo M-A-N. ROB: Man.
Svo maður er annað sem er mjög gagnlegt.
Og maður, LS.
Svo man síðum, hafa þeir báðir skipanir sem þú ert að fara að nota
í stjórn lína, og þeir hafa einnig aðgerðir sem mun vera tengd
með C. Svo þú geta menn -
og ég hunsa 3.
En maðurinn 3 printf er að fara að koma upp C útgáfa af printf.
En ef ég bara man printf, þetta er fara að koma upp stjórn printf
sem gerist á the stjórn lína.
>> Svo maður, LS.
Man síðum geta vera laglegur yfirþyrmandi.
Hér, þó, munt þú sjá þessa skráningu af öllum þessum fánar sem LS
skilur.
Þannig að ef við förum að þjóta, L, og -
Ég ætla bara að fara að henda þessu á þig.
En til þess að leita að, þú vilt að fyrsta högg spurningunni
merki eða slash hnappinn.
Svo rista.
>> Og þá get ég leitað fyrir hvað ég vil.
Þannig að ég ætla að rista í hvatleik, l.
Og það var það.
Svo nota langan skráningu snið.
Það þýðir ekki að hjálpa mér að reikna út hvað tiltekins dálks þýddi, en ég
ráð einhvers staðar hérna það myndi útskýra það.
Svo nota maður síður fyrir hvaða skipun að þú þarft ekki strax skilja.
>> Ég er nokkuð viss um að þú getur jafnvel maður, maður.
Tengi til á netinu Tilvísun handbækur.
Ó, eitt síðasta einn sem er kannski örlítið Viðeigandi er LS, þjóta, a.
Svo taka ef ég bara ls, Ég fæ þessar fimm skrár.
Ef ég geri LS, þjóta, a, ég fá a einhver fjöldi fleiri skrár.
Svo hlutur í sameiginlegt milli allra þessara ný skrá er punktur fyrirfram.
>> Svo er samningurinn að skrá sem byrjar á punkti er falin.
Svo þú vilt ekki að sjá að skrá, þú vil ekki hafa það skipta með
Listinn skráningu.
Það er aðeins þegar þú spyrð sérstaklega, allt í lagi, LS, þjóta, a, sýndu mér.
A stendur fyrir allar skrár, þ.mt falinn sjálfur.
Svo nokkrar aðrar skipanir.
Ó, spurningar á þeim tímapunkti?
Já.
>> Ræðumaður 3: Þegar þú gerir ls, A, hvað er punktur, punktur?
>> ROB: Ó.
Þannig að þetta er það sem ég var að tala um.
Það er það sama þar Ég get eins og CD, punktur, punktur.
Svo tæknilega, punktur og punktur, punktur eru skrár sem eru fyrir hendi í hvert einasta
skrá þar sem punktur skrá vísar til núverandi möppu.
Þannig að ef ég CD, punktur, ég ætla bara að fara að vera í möppunni.
Og punktur, punktur vísar alltaf til Fyrri skrá einn stigi upp.
Þannig að ef ég fer inn í annálum og LS, þjóta, al, Ég sé punktur, punktur. CD til að punktur, punktur
leiðir mig að fyrri möppu.
Já.
OK.
>> Svo annað ansi mikilvægt stjórn er RM.
Svo er það sem við erum að fara til að nota til að fjarlægja.
Og láta mig gera reyndar annar stjórn fyrst.
Svo mkdir.
Mkdir er hvernig þú getur búa til möppur.
Og ég ætla að búa til tímabundinn skrá og fara inn í þessi tímabundna skrá.
Og eins og vænta, það er tómt.
En ef ég LS, þjóta, a, hef ég enn punktur og punktur, punktur, vegna þess að punktur vísar til
núverandi möppu.
Og punktur, punktur átt við Fyrri skrá.
Og þeir munu alltaf vera til sama möppuna sem þú ert inn
>> Og þetta er alveg óþarfi stjórn, en snerta.
Ég ætla bara að nota það, því það er auðveld leið til að búa til skrá.
Svo snerta, snerta B, snerta c er bara fara að búa þrjár skrár kallað,
b, og c sem eru alveg tóm.
Þannig að benda mér að búa þeim í Fyrsta sæti er bara svo að RM er
hvernig við getum eytt þeim.
Svo RM, a.
Það er að fara að spyrja mig, fjarlægja venjulegur tóm skrá a?
Og svo ég segi Já.
>> Svo ef ég veit fyrir víst að ég vil eyða þessum skrám án þess að þurfa að vera
beðið, fjarlægja reglulega tóma skrá?, þá RM, þjóta, f er að fara að vera
fáni sem segir, þvinga fjarlægja án jafnvel vekur mig, ó, þú ert
viss um að þú viljir eyða skrá?
Já, ég er viss.
Svo RM, þjóta, FB mun bara gera það án þess að spyrja.
>> Svo skulum gera sumir fleiri framkvæmdarstjóra.
mkdir, tmp2, CD, tmp2, snerta, snerta b.
OK.
Svo nú vil ég að fjarlægja tmp2 sem skrá.
Svo RM tmp2.
Þú getur ekki fjarlægt tmp2, það er skrá.
Svo er málið hér að RM er ekki strax vinnu á framkvæmdarstjóra.
Það er aðeins ætlað fyrir skrár eins non-skrá skrá.
>> Og svo það sem við getum gert hér er RM, þjóta, r.
Sem stendur fyrir endurkvæmt, sem gæti ekki þýtt neitt að þér enn.
En þegar þú færð að endurkvæmni, það mun þýða fleiri.
Svo RM, þjóta, r, tmp2 er að fara að endurkvæmt fara inn í þessi skrá.
Svo niður í möppu tmp2?
Já, við skulum fara inn í það.
Við viljum að fjarlægja tmp2 / a?
Já.
Við viljum að fjarlægja tmp2 / b?
Já.
Nú viljum við að fjarlægja möppuna tmp2?
Já.
Og svo núna að skrá og allt inni
af það hefur verið eytt.
>> Það er tæknilega stjórn rmdir sem þú getur notað til að fjarlægja
framkvæmdarstjóra, en það bara virkar á tómum möppum samt.
Og að sjá það, við skulum bara gera mkdir, tmp2 aftur.
Tmp2, snerta a.
OK.
Þannig að ef ég reyni að fjarlægja dirtmp2, verður það segja, skrá ekki tómur.
Þannig að ég nota nánast aldrei á Eyða dir stjórn engu að síður, vegna þess að RM, þjóta,
r vilja vinna á tómum möppum og ekki tóm framkvæmdarstjóra.
>> Og líka, ef ég vil ekki að þurfa að fara í gegnum þessi allt ferlið
lækkandi inn í möppuna og fjarlægja hverja einustu skrá, RM,
strikið, RF, tmp2.
Og nú er horfin.
>> Eitthvað til að vera varkár um er RM, þjóta, RF.
Og það hræðir mig að jafnvel slá það, því ef ég óvart
ýta á Enter eða eitthvað.
Svo RM, þjóta, RF, Tilde myndi, án vekur mig, f ekki hvetja
mig, það vilja á sjálfvirkan hátt fjarlægja allt heimasvæði mitt og
allt í það.
Svo þú mega hugsa það er heimskulegt að gera.
Og vel, það er.
>> En það getur gerst mjög auðveldlega með því að slys ef, segjum, ég vildi að fjarlægja
slash minn, vhost skrá.
Og bara í fljótur vélritun, Ég þetta óvart.
Það mun fjarlægja endurkvæmt bæði minn heimasvæði og vhost skrá
í þessu tiltekna möppu sem bara gerist að ekki til núna.
En þetta myndi samt fjarlægja allt heimili skrá minn.
Að minnsta kosti með að hafa ekki f, það myndi hvetja mig fyrst.
Og ég vil vera eins og, ó, nei, ég vil ekki að gera það.
En fólk, rista, þar á meðal mig hafa tilhneigingu til að komast í
venja alltaf RF-ing.
Jafnvel venjulegur skrár sem ég get bara rm, c, I hafa tilhneigingu til að bara RM, strikið, RF, c.
Réttlátur vera varkár þegar þú ert RF-ing.
>> Ræðumaður 4: Hvað er C gera?
>> ROB: C er að ég er að tala um að C skrá í þessari skrá, að RM, c.
>> JOSEPH: Og fleiri hættulega, ef þú notar stjarna, vísar það til allt í
möppuna.
Svo er það sem ég tilhneigingu almennt að ég mun fara í möppuna og ég vil
Fjarlægja allar skrár í þar.
Svo RM, þjóta, RF, stjarna.
>> ROB: Já.
Rm, þjóta, RF, stjarna.
>> JOSEPH: Og ef þú ert ekki varkár hvaða möppu þú ert í -
Ég var ekki í Temp, en ég var óvart í heimasvæði mínu,
þá ég fjarlægja allt í heimasvæði mínu.
Og ég hef reyndar gert það áður, og Ég held að þú hafir gert þetta áður eða
Jay hefur gert það áður.
>> ROB: Ég hef óvart eytt -
svo hunsa þessi stjórn fyrir a hluti.
>> JOSEPH: Ekki gaman.
>> ROB: Svo í bin slash skrá er fullt af tvöfaldur skrá þar verður
að þekkja sjálfur eins clang.
Jæja, clang og grundvallaratriðum allar þessar hlutir sem ég er að keyra á stjórn
línu eru í þessum bin slash skrá.
>> JOSEPH: Eins LS er í hér.
>> ROB: Svo punktur, rista, LS myndi lista möppu.
>> JOSEPH: Rm er einnig í þessari skrá.
>> ROB: Ég hef óvart rm, RF-Ed bin, sem fjarlægt hvaða skipun sem ég gat
hugsanlega alltaf vilja.
Sem síðan ég setja bara Ný Appliance á þeim tímapunkti.
>> JOSEPH: Svo vera mjög varkár þegar þú notar þessa skipun.
>> Áhorfendur: [inaudible]?
>> ROB: Já.
Það er einnig a slæmur venja að fá inn.
Ef þú tekur eftir, ég er nú -
Jæja, getur þú ekki taka eftir, en minn zoom-í kannski getur.
Þannig að ég er nú rót @ tæki.
Svo er jharvard notandi við viljum þér að alltaf að nota.
Rót er notandi sem hefur leyfi að gera algerlega neitt.
>> Svo taka eftir þegar ég er jharvard, ef ég reyni að cd -
hvað er skrá sem?
Ó, rót er gott dæmi.
Svo CD, rót.
Aðgangi hafnað.
Vegna þess að ef við skoðum þessa skráningu -
og aftur, þú þarft ekki að alveg að skilja þetta.
En þessir þrír bandstrik eru að segja að ekki láta aðra
notandi í þessari skrá.
Og skrá gerist að vera í eigu notanda rót.
>> Svo sú staðreynd að ég er jharvard og ekkert sá sem er ekki rót er leyft í
Þessi mappa, sem þýðir að ég er að fara að fá leyfi hafnað þegar ég
reyna að cd inn í það.
Svo þegar ég er rót, ég hef leyfi til gera nákvæmlega hvað sem er, þar á meðal
eyða frumskilyrði skrá á tækið og
eyðileggja allt hlutur.
>> Svo er það slæmt venja að fá inn bara ráfandi í kring þinn
stýrikerfi sem rót.
Ég geri það samt.
Spurningar?
Og ég ætla að loka rót, vera eins jharvard.
OK.
>> Meira viðeigandi skipanir.
Svo fara aftur í Temp okkar, MV stjórn stendur fyrir ferðinni.
Hægt er að færa inn.
Nú viljum kalla það b, svo nú er kallað b.
Eða kannski að við viljum að flytja B upp einni skrá.
Svo nú þessa skrá er tóm.
Ég fer aftur heim til skrá minn, og sjáum við, að B er í hér, vegna þess að
heimasvæði var ein mappa upp úr möppuna sem B hafði verið inn
>> Það er líka sbr.
Svo er CP afrita frábær kafla, punktur, texta.
Ég get kalla það er, punktur, texta.
Nú höfum við bæði frábær kafla, punktur, texta, og s, punktur, texta.
Þetta virkar einnig á framkvæmdarstjóra.
Ég RF-ED einni skrá.
Svo CP -
Jæja, fyrst skulum reyna CP, tmp, tmp2.
Svo sleppa skrá tmp.
Svo líkur til RM, sjálfgefið hegðun er að ekki vinna á framkvæmdarstjóra.
>> Og aftur, svipað rm, sjálfgefið hegðun - vel, að fá það til að vinna
með framkvæmdarstjóra er, þjóta-r burtu.
Svo afrita endurkvæmt hitastiginu skrá inn tmp2.
Og svo nú að við höfum bæði tmp og tmp2, og það er ekki að gagni þar sem tmp
var tómt í fyrsta sæti.
Tmp2.
>> Nú skulum afrita tmp inn tmp2.
Og við sjáum að tmp2 hefur einnig skrá A, vegna þess að skrá og
Allt inni í því Listinn var afrituð.
Og það getur verið nokkuð gagnlegt ef, segjum að þú ert að vinna
á Heimadæmi einn -
eða reyndar, eru síðar setur vandamál jafnvel meira máli, vegna þess að það
verður allt fullt skrám og hlutum.
>> En þú vilt bara að, fyrir hættu Annað, þú ert eins og, allt í lagi, ég er
að fara að reyna eitthvað annað.
Leyfðu mér að afrita bara allt pset1 minn Listinn í pset1 afrit þannig að ef
Ég enda skrúfa það upp, ég get fara aftur í öryggisafrit möppu mína.
Það eru fleiri viðeigandi leiðir versioning stuðningur upp númerið þitt, en
þetta er alltaf fljótleg leið til að bara gera viss um að þú ert með afrit af einhverju
að þú ert að fara að breyta.
>> Svo echo er einnig eitt af stjórn sem konar sillily mun bara prenta til
stjórn lína nákvæmlega hvað þú vildir að echo.
Svo echo hi.
Við verðum bara prenta hi.
Echo Halló heimur.
Við munum prenta Halló heimur.
Sem kemur í notkun þegar þú byrja að sameina skipanir.
>> Og aftur, ekki búast við að þú alveg skilja þetta ennþá, en það er
eitthvað að sjá.
Og þá ef þú ert Googling fyrir dæmi eða þú grein fyrir að þú viljir gera
eitthvað, það geta vera hjálpsamur.
Þannig að við skulum, sem dæmi, svo LS, þjóta, l.
Svo hér er ég sjá framleiðsla LS, þjóta, l.
Og ég segi, allt í lagi, ég vil geyma það í skrá.
Allt þetta framleiðsla hér, ég vil að setja inn í sérstaka skrá.
>> Þannig að þetta litla meiri en tákn er það sem við erum að fara að hringja.
Við erum Áframsendi framleiðsla í skrá.
Við skulum kalla skrá bla, því það er hvað ég tilhneigingu til að alltaf að kalla það.
Svo nú sjáum við höfum skrá bla hérna.
Og ef ég opna það upp, ég sjá það einmitt framleiðsla úr stjórn
að ég hljóp bara.
Og sömuleiðis, getur þú -
ef þetta var framleiðsla til a skrá, þetta er að fá inntak úr skrá.
Hvað er skipun sem ég -
>> JOSEPH: Ég held að þú getur notað minna eða meira, líklega.
>> ROB: En hvernig væri bara minna bla?
Ég veit ekki.
Ef þú kemur inn í þessa atburðarás, eins og það er psets að það er gagnlegt fyrir.
>> JOSEPH: Þú getur pípa það inn echo.
Pípa skrána í echo til að sjá það.
>> ROB: Það er pípa.
>> JOSEPH: Því miður.
>> ROB: Allt í lagi.
Þannig að þetta er framleiðsla til a skrá.
Þetta er fá texta úr skrá og afhenda það til the program.
Og þú munt einnig sjá þennan mann.
Þannig að þetta er góður af að gera bæði í einu.
Og í raun, mun ég kynna tvö ný skipanir bara að nýta sér það.
>> Saga er a handlaginn stjórn sem er bara að fara að prenta út lista yfir
eitthvað sem ég hef alltaf keyrt stjórn lína.
Svo við sjáum hér allt sem ég hef verið í gangi allan þennan tíma.
Fullt af ls er.
>> Og annar gagnlegur stjórn er grep að tilgangur þess er að leita á
texta leita að mynstrum, vel, leita fyrir hvað þú
vilja það til að leita að.
Og svo handlaginn notkun hér er sagt við viljum að grípa sögu.
Og ég vil leita að skipunum þar sem ég - hvað er
gagnlegur einn að leita að?
>> JOSEPH: [inaudible]?
>> ROB: Eða við skulum líta bara fyrir alla snertir, hver sem ástæðan er.
Svo er þetta það sem það mun líta út.
Og þú þarft ekki að fullu skilja að.
En hugmyndin er hér, sögu er að gefa sama framleiðsla og það gerði hér
þar sem það er prentun út öllu Saga allt sem ég hef keyrt.
Við erum þá liggur það -
Svo í stað þess að prenta það á skjánum, við viljum fara að samkvæmt
stjórn grep sem er að leita að öll dæmi af orðinu snerta.
>> Og svo nota þessa samsetningu á Verkfæri sögu og grep, get ég séð, OK,
hér er allt af skipununum sem ég hef nokkurn tíma hlaupa, og hér er nokkuð algeng einn.
Við erum neðst.
Og það er líka að gefa mér skipunina Ég hljóp bara það hafði
orð snerta á henni.
En leiðslan er mjög gagnlegur hlutur fyrir að sameina margar áætlanir.
Og reyndar er það flýtileið fyrir LET mig framleiðsla sögu að skrá blah, og
láta mig grep nota skrá blah eins og það sem ég vil að líta yfir.
Svo er pípa bara flýtileið fyrir þá tvær skipanir.
Já.
>> Ræðumaður 4: [inaudible]?
>> ROB: Já.
Hvað er -
Oh.
Skulum prófa.
Svo köttur, hundur, fiskur.
Svo ég vil grep.
Þjóta, r, aftur, er að fara að vera endurkvæmt, svo ég vil að fara niður niður
allar möppur.
Ég vil endurkvæmt grep fyrir alla - og láta mig fá tímabundið
þetta út af the vegur.
Hunsa mig.
OK.
>> Svo ég vil tímabundið grep fyrir öll dæmi af orðinu fiski.
Og svo hér það sem ég er að gera er grepping endurkvæmt að orðinu fiski.
Og stjörnu þýðir yfir allar þessar skrár í þessari möppu.
Og svo það gaf mér Leyfi hafnað, því það er ekki leyft að lesa það
einkum skrá.
En það fundust fisk í skránni, próf.
>> Ég gæti líka sagt, sérstaklega, ég bara vilja til að líta í skránni bla, í
en þá mun ekki finna neitt.
Ég vil aðeins að líta í skrána, próf.
Það verður að finna fisk.
Það er mjög gagnlegt stjórn að vita almennt.
There ert sumir kostir til grep sem eiga að vera meira
forritari vingjarnlegur, en ég tilhneigingu að enn falla aftur á grep.
Spurningar?
OK.
>> Eru aðrar skipanir?
Oh.
Bara einn-burt einn sem ég alltaf finnst vera skemmtilegt er Cal.
Svo taka eftir þegar ég er í þessu yndislega fullur-skjár háttur, ég hef ekki eins og efst
tækjastika eða eitthvað.
Svo Cal bara gefur mér fallegt lítið dagbók sem er rétt
nú skera burt, ætla ég.
En ágætur lítill stjórn.
>> JOSEPH: Það er [inaudible].
Aðrar skipanir sem þú gætir hafa séð eru clang og gera.
Við munum fara yfir þær í nánar síðar.
En ef þú hefur verið að vinna að á PSET, ættir þú að vera
þekki þá.
>> ROB: Allt í lagi.
Spurningar um stjórn lína hluti?
Allt í lagi.
Þannig að við skulum fara að sumir C sem tengjast efni.
Breytur stærðfræði.
OK.
Svo bara eins og við höfðum stærðfræði í grunni, þú getur líka notað stærðfræði í C.
>> Áður en við komum að því með öllu, svo breytum.
Mundu að þegar þú lýsa breytu eins int x eða fljóta y, þig
verða að gefa það slá áður breytan nafn.
Svo gerðir sem við höfum séð hingað til eru Int, fljóta, tvöfaldur, lengi lengi, sem ég
veit reyndar ekki hvort við höfum séð að svo langt.
>> Það eru nokkrar aðrar sjálfur.
Við höfum séð bleikju.
Það er stutt, sem er eins og það er andstæða lengi lengi þar sem það er
minni en heiltala.
Við höfum líka séð band.
Svo er það sérstakt band?
Hvers vegna myndi ég segja að það er ekki alveg eins og int?
>> Ræðumaður 4: Það er í raun ekki til.
>> ROB: Já.
Svo eina ástæðan að við höfum band er vegna þess að þegar þú gerir
hass, ma cs50.h.
Og við munum sjá dæmi um þetta seinna - ó, það er ekki að höndla það vel -
þar cs50.h er að gera eitthvað sömu nótum og gerð
def, bleikju stjörnu, band.
>> Og svo það er að segja að við gerum ekki einu sinni vita hvað char stjarna er enn.
En þetta er að segja að við viljum band.
Hvaða stað sem þú hefur verið að nota band, þú gæti hafa verið að nota bleikju stjörnuna,
sem reyndar er gerð að er í C ​​tungumál.
En við munum komast að því.
Ó, og það fer strax aftur.
Snyrtilegur.
>> Svo sama með bool þar satt og ósatt.
Það er ekki raunverulega a innbyggður-í tegund í C. Í staðinn er það bara, hefur þetta
gildi núll?
Þá munum við bara íhuga það að vera falskur.
Hefur þetta gildi -
Jæja, hefur þetta eitthvað gildi sem er ekki núll?
Þá munum við íhuga það að vera satt.
Svo einn er satt, tveggja er satt, nokkuð núllgildi er satt.
Þannig að þeir eru þeir.
Spurningar um lýsa yfir breytur og ýmsum tegundum og allt það?
Já.
>> Ræðumaður 4: Fyrir langa löngu, í bókinni, hann sagði að það þurfti að vera lengi lengi Int.
En mun bara lengi lengi að vinna?
>> ROB: Svo þessi tegund áhrifahnappalista.
Svo int x.
Svo við getum líka sagt óundirritaður int x.
Við getum sagt stutt int x.
Við getum sagt lengi lengi int x.
En nánast allir af þessum hlutum sem ég bara sagt, óundirritaður INT, stutt INT,
langur langur INT, þú geta fá losa af int og það verður bara að gera ráð fyrir
að þú átt int.
Svo óundirritaður x, sem þýðir bara -
þú veist hvernig venjulega með int, þú getur sagt x jafngildir neikvæð 3?
Með óundirritaður INT, þú getur það ekki.
>> JOSEPH: Og aftur, fyrir myndavél, Spurningin var, hver er munurinn
milli langa int og bara lengi lengi?
>> ROB: Já.
Svo ég nánast aldrei skrifa lengi lengi int.
Ég mun skrifa lengi lengi.
>> JOSEPH: Einhverjar spurningar?
>> ROB: OK.
Svo kjánalegt smá áminning um það er hvernig við lýsa yfir breytu og frumstilla
breytan og lýsa annað breytilegir og frumstilla
það allt í einu skrefi.
Svo yfirlýsingu breytu og frumstilling breytu hefur ekki
til en getur verið á sömu línu.
>> Þannig að við höfum staðlaðar rekstraraðila stærðfræði að þú ert að nota til -
plús, mínus, deila, sinnum.
Það er líka modulo, sem við munum sjá.
Það er ekki, að minnsta kosti í C, a innbyggður-í máttur
Veldi Caret rekstraraðila.
Jæja, það er Caret rekstraraðila, en það er ekki vald.
>> JOSEPH: En það er ekki Veldi, já.
>> ROB: Ekki nota Caret að gera ráð fyrir að það þýðir
eins ferningur eða hvað sem er.
Svo nokkur atriði til að hafa í hugur um skiptingu.
Ég standa.
Svo lýst Frumstilling svarið.
Þannig að við erum að segja fljóta svar jafngildir 1 deilt með 10.
Prenta svar með tveimur aukastöfum.
>> Og þetta er svoleiðis sem ég myndi maður printf að reikna út að
hvað Heck er%, punktur, 2f meina?
Og það þýðir bara vel, hunsa 0.2.
Og%, f er það sem við notum að prenta að fljóta.
The 0.2 er að segja, prenta það fljóta með tveimur aukastöfum.
Svo hefur þetta forrit galla, og þú gætir hafa séð þetta áður í sumum
Áður CS auðvitað.
En hvað er það galla?
>> Ræðumaður 5: Zero.
>> ROB: Já.
Svo þegar við segjum, svar jafngildir 1 deilt með 10, við viljum að
svara að vera 0.1.
En 1 deilt með 10, 1 er heiltala, 10 er heil tala.
Og svo þegar við gerum heiltölu deilt með heiltala, þá ætlum við að fá til baka
heiltala.
Svo 1 deilt með 10 er 0,1.
>> Þar sem það þarf að gefa okkur heiltölu, það er bara að fara að henda því
aukastaf og segja að svarið er 0.
Og svo þegar við prentað svara hér, það er að fara að prenta 0,00.
>> JOSEPH: Og bara sem punkt, reyndar það hendir burtu hvað er eftir
kommu.
Þannig að ef þú hefðir í staðinn 6 deilt með 10, þú might hugsa að það myndi gefa þér
0.6 og þá myndi umferð upp að 1.
En í raun, hvað gerist þegar það skrifar verkefni það er að það lækkar það sem er
eftir kommu.
Svo 0,6 er orðið 0.
>> ROB: Já.
Og við munum segja HÃ fyrir það.
Svo þegar þú kastar að int, við aukastaf stýfð.
Svo festa fyrir það - það er í raun tveir.
Og ég ætla að gera það í öðru lagi vegna þetta er miklu auðveldara festa.
>> Svo er ein festa nota fljóta í deild.
Og í raun, hefur þú aðeins að gera eitt af þeim fljóta.
En það er nokkuð skýrari bara til að gera þau bæði flýtur.
Svo 1,0 deilt með 10,0 er því að skipta tveimur flotholti sem er.
Svo svarið mun endir upp tilvera A fljóta, og svo þú verður
rétt prenta 0,10 hér.
>> Eitthvað sem virkar ekki svo vel um það er, vel, viss, það var auðvelt
nóg til að umbreyta 1 til A fljóta með því að gera það 1,0.
En hvað ef í staðinn við hefðum tvær heiltölur eins int x jafngildir 1 og int y
jafngildir 10, og þá erum við vildum að gera x deilt með y?
Svo það er ekki auðvelt að bara gera x.0 eða eitthvað.
>> Svo gætum við sem er að kasta.
Svo er leið í C til að breyta steypu frá einu breytilegu tegund til annarrar.
Svo hér, 1 er heil tala.
Og með því að setja þennan fljóta í framan það, við erum að kasta 1 til flotholt.
Og svo það mun breyta sem 1 til 1,0.
Og það mun breyta The 10 til 10,0.
>> Og þá hlutir hegða sér svipað og Fyrri útgáfa sem við sýndi bara
þar, eins og búist, við fáum 0,10 og það verður að prenta það.
Og við getum gert þetta með breytur líka.
Þannig að við getum sagt, fljóta x deilt með fljóta y.
>> JOSEPH: Einhverjar spurningar?
>> ROB: Svo bara eins og í reglulegum stærðfræði, við höfum forgangsröð.
Svo í stærðfræði bekknum, ert þú líklegri að kalla það röð aðgerða.
Hér er opinber hugtakið er forgangsröð.
En forgangsröð, eða flestir rekstraraðila, er eins og þú vildi búast við.
>> Svo bara eins og í stærðfræði, 2 sinnum 10 er fara til að flokka nánar en
This 10 deilt með 2 og síðan 2.
Röð aðgerða, mun það gera 2 sinnum 10, 10 deilt með 2, og þá
það mun gera 20 plús 5 plús 2.
Svo er það sem skyldi, og þú getur notað sviga til hópur tjáning.
Þú getur ekki notað hornklofa að hópur tjáning.
Já?
>> Ræðumaður 5: Gætirðu raun bara fara til baka um eitt andartak?
Getur þú kastað við int í streng?
>> ROB: Svo í C, þú getur kastað neitt þú vilt eitthvað sem þú vilt.
Það þýðir ekki að það er gott að gera.
Svo þegar þú kastar við int til a band, sem þýðir -
og við munum fá inn í þetta miklu meira vandlega -
>> JOSEPH: Miklu síðar.
>> ROB: Ég vildi ekki segja mikið seinna, svo ég reyndi að breyta setningu mína.
Við munum fá inn í það miklu nánar síðar þar í raun þegar þú ert með
band breytu -
svo band getur verið geðþótta lengi, ekki satt?
Og við höfum verið að segja að int er fjögur bæti og lengi lengi er átta
bæti og fljóta er fjögur bæti.
Svo a band, rétt eins og int, aðeins hefur ákveðinn fjölda bæti við það.
Og það verður fjórum bæti.
>> En band getur verið ansi geðþótta lengi, ekki satt?
Svo Halló heimur nú þegar, ef það er 10 stafir eða hvað, það er þegar
að fara að vera yfir 4 bytes Ég get passa í band.
Og svo hvernig strengir raunverulega vinna er að þeir eru þar í minni sem strengur
sé haldið.
>> Og svo hérna, þegar ég segi band x jafngildir Halló heimur, inni x er
bara að segja, ó, halló heimur er geymt á þessu tiltekna stað í minni.
Þannig að ef við reynum að varpa heiltölu til A band, þá erum við að reyna að túlka
sumir af handahófi hluti af minni sem streng.
Og það nánast alltaf brýtur hluti.
>> JOSEPH: En ef það ruglar þú, munum við vera nær því
meira í dýpt síðar.
>> ROB: Já.
Þetta er þar sem þú ert að fara að fá inn ábendingum.
Og það er veruleg klumpur tveggja vikna námskeiðinu.
>> Ræðumaður 6: Er það vinna eins og hlutir á öðrum tungumálum eða bara ekki?
>> ROB: Svo í öðrum tungumálum, hluti væru með ábendingum.
Það er ekki það sama, þó.
Allir hugsun?
>> JOSEPH: Nei
Engar hugsanir.
>> ROB: OK.
>> JOSEPH: Next.
>> ROB: Farðu bara með það.
Allt í lagi.
Svo modulo.
Rétt eins og við höfum auk, mínus, skipta, og margfalda.
Svo er modulo sem þú getur ekki hafa séð áður.
Og það segir bara, gefa mér afgangurinn af.
Svo 55% 10.
Afgangurinn að gera 55 skipt um 10 myndi vera 5.
Svo er 55% 10 5.
Og 3% 5 verði 3.
8% 8 verður 0.
16% 15 verði 1.
>> JOSEPH: Eitt að hafa í huga við þetta, of, það er kannski ekki sem skyldi
ef þú notar neikvæð tala.
Svo neikvæð 5% 4, sumir fólk might hugsa þessi er -
hvað myndir þú hugsa neikvætt 5% 4 myndu vera?
>> Ræðumaður 5: One.
>> JOSEPH: Svo sumir fólk segja eitt, Sumir segja neikvæð einn.
En hvað -
>> ROB: Ég myndi ekki einu sinni hafa sagði einn af þeim.
>> JOSEPH: Tveir, því miður.
Sumir segja -
>> ROB: Three.
>> JOSEPH: Three?
>> ROB: Neikvæð -
hvað var - neikvæð fimm -
>> JOSEPH: Þrír, þrír, þrír.
Sorry.
Vegna modulo, almennt, þegar þú hefur séð það annars staðar, það þýðir yfirleitt
aftur jákvæð tala, ekki satt?
>> ROB: Svo þegar við segjum í stærðfræði,% 10 er, þeir hafa tilhneigingu til að vilja gefa þér -
ef við unga fólkið um 10, þá gerum við ráð fyrir að fá tölu milli 0 og 9.
Í hér, það er ekki málið að þú vilja fá neikvæðar tölur aftur.
>> JOSEPH: Svo neikvæð 5% 4 væri neikvæð 1.
>> ROB: En það er sjaldgæft að þú ert unga fólkið-ing neikvæðar tölur til að byrja með.
Sleppa þessu.
>> JOSEPH: Já.
>> ROB: Meh.
OK.
Svo einn síðastur hlutur að benda á um flýtur það er hættulegt hegðun,
en flýtur eru ekki nákvæm framsetning.
Svo fara aftur til bæti aftur, muna að int er alltaf fjögur bæti og
fljóta er alltaf fjögur bæti.
Svo er dæmi Lucas er nokkuð gott.
>> Svo hugsa um 1 deilt með 3.
Svo 0,3333333.
Ef ég hef bara 32 bita, hvernig geta Ég geyma 0,33333 nákvæmlega?
Og kannski, hver sem ástæðan er, segir þú, allt í lagi, vel, við skulum segja bara
að þetta tiltekna 1011001 skulum bara segja að ætti að vera 0,333333.
Jæja, hefur þú aðeins endanlega fjölda þessir bitar, svo það er ómögulegt að
tákna hvert einasta Fljótandi Point gildi gefið bara 32 bita.
>> Jæja, það er ómögulegt að tákna neinn Fleytitölugildi gefið óendanlega -
vel, veitt nein endanlega fjölda bita.
Svo er málið hér, vel, þegar við notuðum að prenta með tveimur aukastöfum,
við gerðum rétt að fá svar 0,10.
En undir hetta, er það í raun sem geymt er eins nálægt og mögulegt er til að
0.10 eins og þessir bitar geta táknað.
Er þetta á næstu skyggnu?
Eða er það ekki?
>> JOSEPH: Já, það er svona.
>> ROB: Blegh, blegh.
>> JOSEPH: Já, þú getur bara draga minnismiða upp a hluti.
>> ROB: Ég ætla bara að fara að súmma í á síðasta um það.
Oh my gosh, það er [inaudible].
Svo að tala.
Það er það sem verður prentað ef við keyrt þessi forrit.
Og taka eftir það er í raun ekki máli ef við erum aðeins að skipta sér eins
02:58 aukastöfum.
Eins og við aðeins upphaflega prentuð 0,10, og það er hvers vegna við sáum ekkert rangt.
En þegar við byrjum að fá inn í nákvæm, nákvæm tala um að það er
hönd, sjáum við að það er ekki hægt nákvæmlega tákna 0,1.
>> Og hluti af vandamálinu hér er eins, allt í lagi, það er fínn, en vel,
fyrst, hvað ef við reyndum að gera, Svarið jafngildir jafngildir 0,1?
Er að fara að skila satt eða ósatt?
Og svo það er erfitt að segja.
Ég held að það í raun gæti skilað satt.
Mun það fyrst -
Ég veit ekki.
Svarið er þegar þú byrjar að takast með fleytitölum, hefur þú nokkuð
mikið ætti ekki að nota jafnrétti vegna þessa imprecision.
>> Og fyrir allt sem þú veist, er það hundraðasta aukastöfum að
fleytitölu var ekki fær að rétt séð.
Og svo jafnrétti verður bara mistakast, jafnvel þótt fjöldi - ef þú hefðir verið
nota nákvæmar tölur, tölurnar ættu hafa verið nákvæmlega það sama.
Það er á meðan á eins 50 Útreikningar þessir fljótandi
Spjallsvæði gildi, the villa getur byggt upp og upp og upp, og
Málin bara rangt.
>> JOSEPH: Og þar hafa verið mjög frægur dæmi um að þetta gerist.
Eins NASA verkfræðingar hafa fengið þetta Rangt, veldur flugeldar að springa í
loftið eftir að hann hefur verið hleypt af stokkunum.
Og hellingur af málum eins og þessi.
Svo já.
>> Ræðumaður 6: Þegar þú segir 0.3 f, er það HÃ restina?
Eða er það umferð upp eða niður?
>> ROB: Mun printf umferð það?
>> JOSEPH: Ég held printf Stýfir.
>> ROB: OK.
Svo við getum sömuleiðis fara í gagnstæða til að ná þessu þar sem, í þessu tilfelli,
næst það gæti táknað 0.1 var með þetta númer.
Næst að það gæti verið hægt að tákna 0.2 er í gagnstæða
átt, 0,199999996356 eða eitthvað.
Þannig að ef við fórum í þá átt að hlutir, þá printf 0.3 m myndi skila
1,99 í stað þess að 2,00.
>> JOSEPH: Og ég er ekki alveg viss um það.
Þú vilt kannski að skrifa smá, lítið forrit til að bara athuga það.
>> ROB: Þó, það sem við erum viss um er að ef þú reyndir að kastað til að
int og steypu til int er að fara að valdið því að HÃ við aukastaf, ef
þú reynir að varpa 1.9999999 heiltala, munt þú fá 1.
Og svo þú ættir að nota venjulega umferð virka í stærðfræði bókasafn.
Spurningar?
OK.
>> JOSEPH: Svo flutti á skilyrðum og Boole tjáning.
Svo þú hefur séð þetta áður.
Og í raun, láta mig vera viss minn tölva er í rétta snið hér.
Rúm.
Því miður, við erum að fara að þurfa að takast á svolítið með cutoff á brúnir.
>> En já, hefur þú krakkar séð þetta áður í Scratch.
Þannig að þetta hérna er tjáning sem er notað í
skilyrt yfirlýsingu.
Svo svara meiri en núll vilja segja þér satt eða ósatt.
Og þetta eru mjög mikilvæg, vegna þess þeir leyfa okkur að kynna
rökfræði í númerið okkar.
>> Svo til dæmis, þetta er forrit skrifað í grunni sem biður notanda
fyrir heiltala og segir þeim hvort heiltölunni sem þeir gáfu þér var
jákvæð eða neikvæð tala.
Og viðskipti yfir hér til að sjá er þú prenta fyrst út yfirlýsingu,
gefa mér heiltölu.
Og þá þú biður þá um heiltala.
>> Og síðan að nota skilyrt rökfræði yfir hér til að athuga hvort þessi tala
var í raun meiri en núll eða ekki.
Svo hér erum við með Boolean tjáningu inni skilyrt Ef staðhæfing.
Er einhver spurning?
Eru einhverjar spurningar um það?
OK.
>> Þannig að það er meira en bara meiri en, að sjálfsögðu.
Þú getur reisa Boolean tjáning nota flest konar hluti sem þú
myndi hugsa um í stærðfræði.
Svo er stærra en.
Það ætti að vera minna en.
Sorry.
Og bil.
>> ROB: Guð forði þú skilur það.
>> JOSEPH: Allt í lagi.
Svo meira en, minna en, stærra en, eða jöfn og, minna
en, eða jöfn.
Við notum tvöfalda jafn til að athuga hvort jafnrétti, því einn jafngildir leið
verkefni, ekki satt?
Já.
Og þá getum við líka gert jafngildir ekki því nota upphrópunarmerki, jafngildir.
>> Og þetta upphrópunarmerki tákn getur einnig að framlengja þannig að ef þú vilt
að hvolfa hvers konar Boolean tjáningu, getur þú gert það.
Þannig að þetta mun meta satt bara ef svar er minna
en eða jafnt og núll.
Einhverjar spurningar um það?
OK.
>> Svo þú getur einnig sameinað þetta tjáning með rökrétt og
rökrétt eða.
Svo er þetta bara og tákn, sem ætti að vera Shift, 7.
Og þetta er pípa tákn, sem er ekki lágstöfum L. Það er eitt
það er rétt fyrir ofan þitt Enter takkann.
Svo þú nota tvö af þeim til að tákna eðlilegt og rökrétt eða.
>> Þannig að þetta mun aðeins skila sannur ef svarið er einn, tveir, þrír, eða fjögur.
Og þetta mun einungis skila sannur ef svarið er umfram það á hvorri hlið.
Svo það er ekki einn, tveir, þrír, eða fjórir.
Og hvernig þú myndir nota að í tjáningu -
>> ROB: eða núll eða fimm.
>> JOSEPH: Zero eða fimm.
Sorry.
Já, já, já.
OK.
Og hérna nú, á sama hátt og þú myndi nota þessi tjáningu, minni
tjáningu hlið if skilyrt yfirlýsingu, myndir þú líka nota það
sama hátt bara með því að setja það inn í svigans, if yfirlýsingu.
Þannig að þetta printf mun aðeins eld ef svarið er einn, tveir, þrír, eða fjögur.
Einhverjar spurningar um að sameina tjáning?
>> Svo er það önnur skilyrt reisa við köllum Ef / Else.
Svo í grundvallaratriðum, þetta nú þýðir, OK, ef eitthvað sem ég vildi athuga voru ekki
satt, þá fara að annað og framkvæma að aðrar aðgerðir.
Þannig að í þessu tiltekna tilfelli, spurði ég notanda fyrir heila tölu.
Er heiltala stærri en núll?
Já?
Jæja, þá tók jákvæð tala.
Ef ekki, þá verður það að hafa verið neikvæð eða núll.
Svo þú valinn neikvæð tala eða núll í þessu tilfelli.
Já.
Eða núll.
>> Og þá höfum við líka ef / Annars, Ef og Else.
Svo lætur þetta okkur framkvæma runu af hlutina aðeins ef the fyrstur sjálfur mistakast.
Svo í þessu tilfelli, nú erum við að gera síðasta sem þú velur núll.
Þannig að ef þeir hvorki valdi jákvæð né neikvæð tala, þá verða þeir að
hafa valinn núll.
Svo fer það bara niður keðja eins og þetta.
>> Svo dæmi um hvernig Ef er frábrugðin -
if / Annars er frábrugðin bara röð sveitarinnar.
Og þetta er algeng spurning sem fólk spyrja er, vel, ef þú færð eins og
95 í CS50, hvað mun þetta program segja þér?
>> Ræðumaður 5: Þú fékk A.
>> JOSEPH: Já.
Þú got hvert einasta einn af þeim rétt.
Þú got a, þú got a B, þú fékk C og D, ekki satt?
Svo allar þessar fá metin í því skyni.
Svo á meðan 95 er meiri en 90, það er einnig meiri en 80, það er einnig
meiri en 70, og það er töluvert meiri en 60.
Svo þú got allar þessar einkunnir.
Og ég ráð fyrir að þú myndi vilja aðeins A.
>> The leiðin til að laga það er að skipta þá sem eru með / Ef 's Else.
Svo í þessari atburðarás, sér það að 95 er meiri en 90, og þá er það
ekki meta restina yfirlýsingar.
Einhverjar spurningar um það?
>> Svo er það önnur skilyrt konar mannvirki sem við höfum hér sem við
hringja skipta setningunni.
Svo gerir þetta sem þú í rauninni að athuga hvaða gildi númeri sem þú setur
í switch yfirlýsingu er.
Svo í þessari atburðarás, við erum að skipta á n, og við erum að segja, ó, ef n er
einn, þá prenta þessi staðhæfing.
Og þá brjótast, sem þýðir hætta út úr skipta setningunni.
>> Ef það var ekki einn, þá vel, bara lokum athuga allir af þeim tilvikum.
Og svo tékka það ef það er einn eða tveir eða þrír, og það prentar samræmi við það.
Og hvað þetta sjálfgefið leitarorð hér niður leið er ef þeir vildu ekki að færa inn neinar
af þeim, þá segja ógilt.
Svo skulum segja að ég biðja um n og notandinn gefur mér fjögur.
Jæja, passar það ekkert af þeim tilvikum, svo það verður prentað út hvað er í
sjálfgefið kafla.
Já, spurning?
>> Ræðumaður 5: Getur þú notar boole tjáning í stað
einn, tveir eða þrír?
>> JOSEPH: Svo spurningin er er hægt að nota Boole tjáning í stað einnar,
tveir, og þrír?
Og í C, ég trúi þér getur ekki gert það.
En í öðrum tungumálum, sem þú gætir fundur í lok á
önn eins og JavaScript, og þú getur.
Jæja, þú vildi verða að reikna fyrst að gildi og þá nota það í
skipta yfirlýsingu.
Já?
>> ROB: Svo hluti af hagsbóta rofi yfirlýsingar er að hugsa um hvort þú gerðir þetta
Sem Ef / Annars, svo eins og ef n er jafnt jafngildir einn eða hvað sem er.
Else / Ef n er jafnt jafngildir tvær, hvað sem er.
Else / Ef n er jafnt jafngildir þremur.
Svo leið forritið myndi hlaupa er það myndi röð fara niður þessi listi
og athuga, er N einn?
Nope.
Er n tveir?
Nope.
Er n þremur?
Já.
Gera þetta.
>> En með switch yfirlýsingar, það er raun hægt að þýða það að vera
mjög hratt.
Og um leið og það segir rofi, það segir, allt í lagi, n er tveir, ég er
strax að fara að hoppa til þar Ég er ætlast til að hefja framkvæmd.
Ég ætla ekki að fyrst að athuga, er n eitt, er N tvö?
Það getur strax byrjað að gera hvað það er að gera.
>> Og af því, getur það ekki taka Boolean skilyrði.
Eða annað það þyrfti að gera myndaröð, eins og allt í lagi, er n
er hærri en núll?
Annars er n meiri en 10 eða hvað sem er.
>> JOSEPH: Í þessu tilfelli, ef þú notaðir Ef / annað, ef er, þá skiptir myndi
hlaupa um það bil þrisvar sinnum hraðar en ef / annað, ef.
Við getum skipulagt rofi í svo leið sem við ekki brjóta ekki
eftir hvert tilvik.
Svo í þessu tilfelli, ég skipting á tölur sem við veljum í eitt og
tveir að vera ekki hár tölur og þrjú að vera hár númer.
>> Þannig að í þessu tilfelli, ef n er einn eða tveir, er það vilja högg málið og þá mun
falla í gegnum, vegna þess að Það er ekkert lát.
Og það mun á endanum hér.
Þannig að ef við velja einn, það vilja gera the printf og þá brjóta svo að enginn
þetta er keyrð.
Og auðvitað, ef þeir koma inn í þremur eða eitthvað annað, þá er það mun sleppa
þá og ekki fara þangað, og það mun framkvæma í stað þess
samsvarandi línu.
Eru einhverjar spurningar um það?
Já?
>> Ræðumaður 4: Vilt þú fá villu ef þú hafði hlé á máli einu, en það
ekki hafa eitthvað fyrir það að gera?
>> JOSEPH: Svo spurningin er viltu fá villa ef þú ert með brot eftir
einu tilviki en það er ekkert að gera?
Og svarið er nei.
Þú munt ekki raunverulega fá villu.
Já, mm Hmm.
>> Svo eins konar smá breyting hér, Ég ætla að setja printf hér.
Úpps.
Svo hvað myndi þetta prenta ef Ég setti einn í sem inntak?
Já.
Það myndi segja þér það ekki taka A mikill fjöldi tvisvar, ekki satt?
Vegna þess að það myndi högg því fyrra tilvikinu, það myndi ekki brjóta, og það myndi falla
í gegnum til seinna tilvikinu.
Einhverjar spurningar um það?
>> ROB: Vissir þú hef aðra spurningu?
>> JOSEPH: OK, kaldur.
Allt í lagi.
Svo er það eitthvað annað sem við köllum ternary rekstraraðila sem er í grundvallaratriðum
varamaður setningafræði til að gera Hvort og þá Else.
Og það leyfir þér að gera það allt í einni línu.
Svo í þessari tilteknu áætlun, Ég ætla að biðja notandann til n.
Og ef n er stærra en 100, segi ég þá þeir valinn mikinn fjölda.
Annað sem ég segi þeim að þeir tók lág tala.
>> Þannig að við getum notað þetta mjög langan setningafræði, band, S, og þá stöðva ef n er
meiri en 100 og úthluta það í samræmi við það.
En við getum gert þetta miklu meira hnitmiðaðar með því að nota þessa ternary rekstraraðila setningafræði
sem felur í sér spurningu keppni og ristli.
Svo er spurningarmerki í meginatriðum að spyrja spurningu, ekki satt?
>> ROB: Kannski súmma inn á það.
>> JOSEPH: Já.
Góður punktur.
Þannig að þetta er ternary rekstraraðila.
Ég spyr fyrst þeirri spurningu, er n meiri en 100?
Ef það er, þá vil ég framkvæma fyrst hluti áður ristli.
Ef það er ekki, þá er ég keyrt seinni hluti eftir í ristli.
Svo er meiri en 100 ef n, þá velja það hár og setur
þessi inn String s.
Ef n er minna en 100, velja það lágt og þá setur það inn í band s.
Svo sem mun þétta þetta stór klumpur niður í bara ein lína.
>> Ræðumaður 5: Er það vinsælt?
>> JOSEPH: Já, það er alveg vinsæll fyrir hlutir þar í raun að þú vilt
gera framsal byggist á einhvers konar ástandi.
Og í þessu tilfelli, voru við að reyna að úthluta gildi til band s.
Það er ekki svo -
Ég held ég í raun ekki vilja það í öðrum tilvikum.
En það er sérstaklega gagnlegt í þetta verkefni.
>> ROB: Það er nokkuð algengt mynstur þar sem þú hefur einhverja breytu sem
þú ert að fara að segja, ef eitthvað, setja þessa breytu til einn gildi, annars, sett
þessa breytu til annars gildi.
Og það er atburðarás þar nota ternary.
>> JOSEPH: Og þú ert að vista hellingur af línum, ekki satt?
Og það gerir bara kóðann þinn að öllum líkindum svolítið læsilegri.
Já, spurning?
>> Ræðumaður 6: Fyrir ternary, þú fara, String s jafnfætis s, spurningarmerki?
Og þá gætir þú ert að segja, fimm mismunandi valkosti.
Og eftir því hvaða fjöldi af n var, myndir þú velja einn af þeim?
>> JOSEPH: Svo er, er spurningin það konar setningafræði þar sem þú getur gert band
s jafngildir n, og þá hafa fleiri en tvö Valkostir eftir því spurningarmerki?
Og einfalt svar er nei, það er ekki virkilega góð leið til að gera það nema
þú vilt hreiður mörgum ternary rekstraraðila innan hvers við annað.
>> Þú getur gert eins og n meiri en 100, spurningarmerki, og þá annað
ternary stjórnandi, n meiri en 50, spurningarmerki, og hreiður það þannig.
En í því atburðarás, númerið þitt er fá konar ólæsileg og sóðalegur,
og það gæti verið betra að fara bara á if / else setningar á þeim tímapunkti.
>> ROB: Og einnig, eins og a hlið minnispunktur, PHP rangt útfærir ternary
rekstraraðili þannig að hreiður ternaries ekki einu sinni vinna eins og þeir ættu að gera.
>> JOSEPH: Já.
Svo það fær svolítið ruglingslegt, sérstaklega þegar þú ferð
til mismunandi tungumálum.
>> ROB: Það er ruglingslegt nóg að tungumál eru rangt um það.
>> JOSEPH: Svo reyndar, bara til að skýra, Er allir vita hvað það
% S er hérna?
Einhverjar spurningar um það?
Ég giska bara fyrir myndavélina,% s grundvallaratriðum leyfir okkur að setja tákn
fyrir streng.
Og þá í lok, við að skilgreina að breytu við viljum að setja inn í þetta
staður hald er s.
Svo að í rauninni tekur s og það setur það í hér.
Og þá mun það prentað út, þú valinn hár eða þú sóttir lág tala.
OK.
>> Svo lykkjur leyfa þér að framkvæma hlutina í hringlaga hreyfingum, ekki satt?
Þú gætir hafa fundur this í Klóra í formi Forever lykkjur
eða endurtaka þar eða Endurtaka einkum fjölda skipta.
Svo hvers vegna er þetta gott fyrir okkur?
Jæja, í C, við skulum segja að við höfum þetta Song framkvæmda í grunni sem
syngur, þetta er lagið sem aldrei lýkur.
Það fer bara á og á og á eilífu og að eilífu.
Jæja, þú getur í raun ekki gera áætlun sem hefur óendanlega fjölda printf
yfirlýsingar í það, ekki satt?
>> Þannig að í þessu tiltekna atburðarás, eina leiðin að þú gætir gert þetta starf og
til að gera það prentað eilífu er að stað þess að nota a while lykkju.
Svo meðan lykkja mun framkvæma hvað er í líkama tveggja axlabönd sem
tilheyrir því miðað við það sem sem ástandið er.
Þannig að í þessu tiltekna dæmi áður, ef við viljum að prenta þetta að eilífu, hvað
gætum við gert?
Jæja, viss, ekki satt?
>> Þannig að þetta tegund af sameinar hugmynd sumir Boolean tjáningu
ásamt lykkju.
Og við lærðum um Boolean tjáning fyrr.
Svo þegar skilyrðið inni að á meðan enn satt, Þessi lykkja
mun framkvæma á og á og á.
Og í þessu tilfelli, ef við framboð bara það með satt, þetta veldur óendanlega
lykkja sem prentar lagið á og á og á eins og við löngun áður án
hafa a program þessi hefur óendanlega fjöldi printf yfirlýsingar, sem er
ekki hægt.
>> Svo fleiri compellingly, þó, þú getur notað þetta með
breytilegur og ástandi.
Svo skulum segja að við viljum endurtaka setningu, algerlega loopy, 10 sinnum.
Svo hvað þú getur gert með while lykkju er þú getur fyrst frumstilla teljara
Breytan utan hvað En lykkja til 10.
Og þá í rauninni, í hvert sinn sem þú ferð gegnum while lykkju, prenta þér út
yfirlýsingu og þá lækka að gegn breytu fyrr en undir lokin,
á einhverjum tímapunkti, þegar við draga I nóg sinnum, 1 frá i nógu oft -
og bara til að skýra, ég mínus mínus þýðir að ég er jafnt ég mínus 1.
>> Sem mun í grundvallaratriðum koma ég niður til að stað þar þegar ég högg núll, þetta
ástand er ekki lengur satt og svo hættir það út úr lykkja.
Svo algerlega loopy aðeins prentar 10 sinnum.
Einhverjar spurningar um while lykkju?
OK.
>> Svo er there a vegur við getum gert það sem við bara gerði í fleiri gagnorðan hátt með
það sem við köllum for lykkju.
Svo for lykkju samanstendur af frumstilling, ástand, og
endurnýja, rétt eins og við höfðum áður í þessu meðan lykkja.
Þannig að við skulum taka a útlit.
Í þessu meðan lykkja, við höfðum frumstilling, þá urðum við að
ástand sem við athugum.
Og þá urðum við uppfærslu stíga efst.
>> Með for lykkju, þetta tekur í grundvallaratriðum Þessir þrír hlutir og þéttist það
niður í eina línu.
Svo það fyrsta sem hún gerir í For lykkja er frumstilling.
Og þá getur þú gert semikommu, og þá þú að gera ástand, sem er I
stærri en núll fer yfir það, og þá uppfærsla skref.
Þannig að þetta gerist sem gerðar voru á blálok lykkja líkamanum.
Svo þessi tvö forrit eru meginatriðum jafngildar.
>> Einhverjar spurningar?
Svo er það einn munur á milli þessara tveggja?
Getur einhver benda það út?
Það gæti verið svolítið lúmskur.
Það er bara mjög lítill munur.
Já?
>> Ræðumaður 5: Þú myndir ekki vera fær um að nota I breytu utan for lykkjunnar
[Inaudible]?
>> JOSEPH: Einmitt.
Þannig að þetta er eitthvað sem við munum komast að síðar kallað Variable Gildissvið.
En í raun er þetta int i líf utan þessa meðan lykkja.
Svo þegar þetta meðan lykkja er gert framkvæmd, mun ég vera fær til nota ég síðar
á í áætluninni.
>> En með þetta fyrir lykkju, þetta int i er scoped inni þetta fyrir lykkju.
Og af því að það er inni í þessum hluta í for lykkju, sem byrjar
á sviga og endar með sem hrokkið Brace þarna.
Nokkuð sem er lýst inni hér er ekki hægt að nota úti.
Þannig að ef ég reyni að nota ég úti, verður það segðu mér, undeclared tákn.
Og í raun, ég vildi ekki að vera fær um að nota það.
>> ROB: Og vel, 10 árum síðan, í bókstaflega öllum tilvikum eru hrokkið axlabönd
hvað þú notaðir til að ákvarða umfang breytu.
Svo þar, int i jafngildir 10 er lýst innan þessa
setja af hrokkið axlabönd.
Og svo þá eins lengi og þú reynir að nota I áður en þetta hrokkið borsveif, það er fínt.
Þú gætir séð þegar þú skrifar að, þér sjá sprettinn, bandstrik, STD, jafn c99.
>> Svo er að síðar útgáfa af C sem GCC hefur innleitt sem einnig gefur
þessi flýtileið.
Svo þetta er notað til ekki leyft í C. Og þú getur séð hvers vegna, vegna þess að þetta INT
Ég er utan þessa hrokkið borsveif en það er enn talin vera í
Umfang þessara hrokkið axlabönd.
En þetta er mjög þægilegt hlutur, og svo er það gott framhald.
>> JOSEPH: Einhverjar spurningar?
OK.
Svo er það sem er meira gagnlegt að stundum þú vilt konar krafti í
lykkja, ekki satt?
Þú vilt ekki bara endilega prenta algerlega loopy allan tímann, þú
langar að telja niður frá 10 eða eitthvað.
Og svo er hægt að nota gegn breytu inni í þessi lykkja eins vel.
Og í þessu tilfelli, this program bara telur niður frá 10 alla leið niður.
Og hvað þýðir það ekki prenta?
Það skiptir ekki prenta núlli, rétt, því þegar -
Já, það hefur heldur ekki prentað 11.
>> Svo það er ekki prenta núll, vegna þess að þegar Ég er núll, muna, það metur
ástand áður en það fer á að framkvæma lykkja líkamann.
Og þegar ég er núll, þetta er rangt, svo það er ekki prentað út að telja niður
núll, það prentar bara út að telja niður 10 alla leið niður í 1.
Ef við vildum í raun það að prenta núll, þá myndum við setja jafnaðarmerki
Eftir þetta meiri en skilti.
OK.
>> Svo ein leið til að gera inntak staðfestingu, sem er þegar þú spyrja notandann til að gera
eitthvað, þú vilt tryggja að þeir fylgja leiðbeiningum þínum, er að nota
while lykkja, ekki satt?
Þannig að í þessu tiltekna tilfelli, ég spyrja fyrir jákvæð tala og þá er ég
bíða fyrir hjálpina.
>> Og þá er ég skoðaði Þótt inntak er minna en núll, að halda að spyrja þá.
Svo lengi sem þeir gefa mér númerið það er ekki jákvætt, að halda að spyrja,
bið, bið.
En hvað er svona skrýtið um þetta?
Eða hvað virðist ekki ákjósanlegur um Þessi uppbygging hérna?
Einhver?
Já?
>> Ræðumaður 6: Þú ert að endurtaka kennsla tvisvar.
>> JOSEPH: Hægri.
Þannig að við höfum tvo printf yfirlýsingar hér, ekki satt?
Svo er there a vegur við getum fengið þetta bara niður í eitt sem myndi gera okkar
kóða auðveldara að lesa og svolítið meira hreint.
Og þá myndum við ekki þurfa að hafa Komdu tvisvar eins og heilbrigður.
Og ein leið sem þú getur gert þetta er því að nota gera-en lykkja.
>> Og Do-while lykkju er í grundvallaratriðum a mismunandi form á meðan lykkja þar
hvað er innan hrokkið axlabönd gets framkvæma að minnsta kosti einu sinni.
Svo hér, ég staðfesti, int inntak, utan fyrst.
Og þá segi ég bara, gera þetta kennsla en inntak
er minna en núll.
Svo það hits the gera fyrst.
Það verður alltaf að framkvæma þetta að minnsta kosti einu sinni, svo það verður alltaf spyrja notandann
fyrir inntak að minnsta kosti einu sinni.
Og þá metur það sem inntak, og það fer á í hring.
Já, spurning?
>> Ræðumaður 6: Er there a vegur til gera það [Inaudible] gerðir, eins og ef þú segir,
GetString og einhver [inaudible]
er there a vegur til [inaudible]
>> JOSEPH: Svo er, er spurningin það leið til að gera inntak staðfestingu ef notandinn
ekki setja í hægri tegund af breytu?
Þannig að ef við biðjum fyrir int og þeir gefa okkur a band í staðinn.
Og í þeim störfum sem við framkvæmd fyrir þig, GetInt, GetString í öllum
þau virka, þeir reyndar þegar gera þessi tegund af undirstöðu ferðar inntak
löggilding undir hetta.
Þannig að ef þú ert að nota aðgerðir sem við gaf þér, þú í raun ekki að.
>> En ef þú vilt að líta meira inn í hvernig þú getur raunverulega gera það, getur þú lítur
undir bráðna málminn við snertingu skrá I/O--
ekki skrá er staðall I / O aðgerðir eins og lesa úr standard input og
staðall framleiðsla.
Og þú getur fengið betri tilfinningu um hvernig þú gætir gert það.
>> ROB: Eitt mál, þó, er sérstaklega með dæminu sem þú
sagði, ætlast til að þú streng og ég inn við int.
Hvernig myndir þú segja muninn milli viljandi ófullnægjandi
band 123 móti ófullnægjandi int 123?
Svo er það ansi mikið er band ekkert löggilding, það er bara það sem þeir
inn þú vilja túlka sem streng.
>> Int er auðveldara, því það er sama sem inntak þú tekur frá notanda, þú ert
alltaf að taka streng.
Og svo þessi strengur sem þú getur síðan athuga, eru allar þessar
reyndar tölugildi tölustafir?
>> JOSEPH: OK.
Einhverjar spurningar um Do-while lykkju?
>> ROB: Oh, og þetta er líka -
fara aftur til umfangs, nokkuð algengt mistök er að reyna að nota sumir heimamaður
breytu innan úr þessu Do-Þó að lykkja inni í þessu ástandi.
Og í raun, ef við bara útrýmdi þetta og sagði, int inntak jafngildir
GetInt, þá þýðanda munu æpa á okkur, því inntak er ekki til
utan sviðs þessi hrokkið axlabönd.
>> JOSEPH: Og það er hvers vegna við þörf á þessari lína hér.
OK.
Svo þú getur líka brjótast út úr lykkja snemma ef þú vilt.
Þannig að þetta er öðruvísi leið innleiða það sem við framkvæmda bara.
Og í stað þess að nota ástand innan sviga, við erum með því að nota
Ef staðhæfing inni í líkamanum á Do-while lykkju.
>> Og í rauninni, þegar inntak er loksins meiri en núll, munum við
brjótast út úr lykkja.
Og svo munum við fara öll leið niður hér.
Og þú getur séð að þetta myndi líklega vera valinn í þetta
atburðarás, vegna þess að það er lítið bita hreinni og smá
svolítið auðveldara að lesa.
En þetta, tegund þú í hafa auka línur í henni.
Það er bara svolítið ljótari, Ég giska á, í vissum skilningi.
Já, spurning?
>> Ræðumaður 4: Mun brjóta aðeins fá þú út af eitt sett af axlabönd?
>> JOSEPH: Hægri.
Svo spurningin er mun brjóta aðeins fá þig út af einum lykkju?
Og svarið er já.
Svo ef þú hefur hreiður fyrir lykkjur, fyrir dæmi, ef ég hef fyrir int i jafngildir 0
þar til 10 og þá fyrir Int J jafngildir 0 til 10., ef ég brjótast út úr innri
lykkja, mun ég enn fara að ytri hliðar.
Svo það verður að halda sig við starfsemi utan.
Einhverjar spurningar um það?
Já?
>> Ræðumaður 5: En brjóta aðeins virka fyrir hrokkið axlabönd, ekki fyrir aðra
fullyrðingum?
[Inaudible]
>> JOSEPH: Svo spurningin er mun brjóta aðeins virka fyrir lykkjur í stað þess að
Aðrar yfirlýsingar eins og ef?
Og já, það er málið, vegna þess að þú ert að brjóta út úr lykkju, hægri,
í vissum skilningi.
>> ROB: Í langflestum tilfellum er Þetta er tegund af ef eitthvað,
þá brjóta.
Svo þú þarft ekki að brjóta að taka til if sem er umbúðir í kringum hana.
Og einnig, þetta er ekki mikið af lykkju, en muna að rofar eru einnig
brotist út með hléum.
Við sáum brot sem notuð með rofa áður.
>> JOSEPH: Og þú getur líka notað þau í á meðan lykkjur og fyrir lykkjur.
Einhverjar spurningar?
OK.
Svo er næsta upp virka.
Svo þú gætir hafa notað einn af þessum BYOB blokkir í Scratch verkefni.
Og þetta í rauninni gerir þú að skilgreina mengi
leiðbeiningar til að fylgja.
>> Og það sem ég meina með því sem er við skulum hugsa aftur til stærðfræði, hægri, algebra.
Þú ert það sem við köllum fall af x, einhverju breyta, og við skulum segja þetta
fall er f af x er jafnt x plús 5.
Svo þú geta hugsa af f af x sem þetta svart kassi sem tekur 15 í og ​​þá
framleiðir 20.
>> Svo almennt, fall er eitthvað sem tekur nokkrar inntak og
þá framleiðir framleiðsla.
Og hvers vegna eru aðgerðir góður?
Þeir eru gott fyrir a tala af ástæða.
Svo hjartarskinn einhver vill taka a stunga á hvaða stofnun er átt?
Í skilmálar af því hvers vegna aðgerðir eru gagnlegar?
Já?
>> Ræðumaður 4: Það gerir þinn kóða læsilegri.
>> JOSEPH: Hægri.
Svo eitt af því er það sem gerir númerið þitt læsilegri, ekki satt?
Stað þess að hafa eins int x jafngildir x sinni X sinnum x, get ég haft teningur af x,
sem er læsilegri og meira skiljanlegt til lesanda.
>> Organization er einnig hvað varðar skipta upp númerið þitt í viðráðanleg
og hlutamir, þannig að í stað þess að reyna að framkvæma þetta allt í einum löngum kafla
í helstu, getur þú konar kljúfa það upp í eins, OK, við skulum skrifa fall
að teningur eitthvað, við skulum skrifa virka til ferningur eitthvað.
Þessi vegur þú geta kljúfa það upp í pínulitlum, litlu hlutum sem þú getur takast
í stað þess að reyna að takast á stórt vandamál í einu.
>> ROB: Eða jafnvel pínulítill, litla hluta sem þú og félagi getur glíma.
>> JOSEPH: Já.
>> ROB: Svo í stað þess að bæði að reyna að liðskipti einn
virka á sama tíma.
>> JOSEPH: Einföldun.
Einhver vilja til að taka giska?
Já?
>> Ræðumaður 5: Meira endurtekning.
>> JOSEPH: Hægri.
Svo eitt sem þú getur gert með einföldun er að það er tegund af á
sömu línum og aftur notagildi er að þegar ég skrifa teningur virka, ég get
bara nota það aftur og aftur og aftur aftur í áætlun mína stað þess að slá
x sinnum x sinnum x yfir og aftur og aftur.
Og einföldun hér líka bara þýðir það gerir kóðann konar þinn
auðveldara að kemba þegar þú hættu þetta upp í aðgerðir.
Því þá er hægt að staðsetja hvar vandamál konar eru.
Einhverjar spurningar?
>> Svo er annar hugmynd abstrakt, ekki satt?
Þetta svartur kassi.
Eins veistu hvað GetInt gerir að fá inntak frá the notandi?
Við höfum í raun ekki sagt þér, ekki satt?
Allt sem við höfum sagt þér er GetInt gerir nákvæmlega það sem það segir það er.
Svo jafnvel ef við gerum segja ekki þér hvernig það virkar, þú veist samt.
>> Þannig að í þessu tiltekna tilfelli, þetta er ferfaldur fall sem gerir
mismunandi hlutum til að inntak að framleiða framleiðsla.
Og þú getur ferfaldur fjölda með því að margfalda hana með fjórum.
Eða þú getur það sem við köllum bita vakt það um tvo.
Og við munum ná þessu svolítið síðar.
Og það er engin þörf á að vita hvernig þetta virka í raun virkar svo lengi sem það
virkar eins og fram kemur.
>> Svo undir hetta, gæti ég verið eins, aftur inntak sinnum
átta deilt með tveimur.
Og þú vildi ekki vita, ekki satt?
Allt sem þú þarft að vita er það gerir hvað það segir.
Svo að gagnlegur hlutur um abstrakt.
>> Og annar hlutur er tegund af þessari hugmynd af staðbinda númerið þitt til einn
einkum kafla.
Svo ef þú hafa a vandamál, þú gerir ekki þurfa að fara út um allt númerið þitt að reyna
að festa hvert vandamálið væri.
Þannig að í þessu tilfelli, framkvæmd I teningur rangt.
Ég hélt teningur var margfalda með þremur.
>> Þannig að í þessu tilfelli, þetta er eitt forrit sem bara hefur margfalda með þremur
alls staðar.
Og það er annað forrit sem hefur notaðir teningur út í aðgerð.
Og svo núna ef ég vil festa mistök mín hér, ég verð að festa í hvert einasta lína
af kóða í þessari áætlun.
En á hinn bóginn, ef nota ég virka, ég þarf aðeins að breyta
hvað var rangt í einum stað.
>> Svo í tölvunarfræði við kalla inntak og framleiðsla.
Aðföng eru kallaðir breytur eða rök og framleiðsla eru kallaðir
aftur gildi.
Og við munum sjá hvernig þetta hjálpar okkur að raða af skilgreina hlutverk í sekúndu.
Þannig að þetta er virka skilgreiningu fyrir cubing.
Svo það tekur inntak, og þá það skilar þessi tala sinnum
sig þrisvar sinnum.
Svo skulum brjóta þetta niður.
>> Þannig að við höfum virka haus, sem grundvallaratriðum samanstendur af þremur hlutum.
Þannig að við höfum breytur, sem eru, eins og ég sagði áður,
aðfanga í þessa aðgerð.
Og þá gefum við aðgerðina nafn.
Í þessu tilfelli, það er kallað teningur.
Og þá erum við að skilgreina hvað The tegund af skilagildi er.
>> Þannig að í þessu tilfelli, teningslaga virka minn tekur í heiltala og það líka
skilar heiltölu.
Þannig að ef ég líða í tvennt, tvær er heiltala, það skilar átta mig, sem
er heil tala.
Svo aftur Tegund Nafn stika.
Spurningar um það?
>> Og þá er aftur gildi í raun tilgreint í lok með því að segja aftur
og síðan aftur hvað inniheldur skilagildi.
Svo í þessu tilfelli, ef við setjum það allt saman, ferii sem tekur í
breytur, það heitir eitthvað, og það skilar eitthvað sem er gerð
að við segjum að það ætlaði að vera.
Einhverjar spurningar?
>> Og hvernig eigum við að nota virka?
Jæja, skrifa við fall og þá Við notum það í kerfi okkar, ekki satt?
Svo ég kallaði það teningur, og þá get ég notað teningur.
>> En hvað er mikilvægt að hafa í huga er sú röðun mál.
Ef ég hef tening neðan helstu, það er að fara að keyra inn í teningur.
Og á þessum tímapunkti, það er ekkert kallast teningur í áætluninni, og það er
bara að fara að vera eins, ég hef ekki hugmynd hvað teningur er.
>> Þannig að það mun segja þér, óbeina yfirlýsing um virkni.
Það er villa sem sýnir sig.
Og svo í þessu tilviki, teningslaga er hér að neðan helstu, svo það er ekki að fara
að vita um það.
>> Ræðumaður 5: Svo helstu er yfirleitt síðustu aðgerð skilgreind?
>> JOSEPH: Svo er spurningin, er aðal yfirleitt síðasta
hlutur sem þú vilt skilgreina?
Og nei.
Það er vegna þess að við eins og venjulega helsta að vera efst, ekki satt?
Því það er það fyrsta sem þú vilja forritari að opna
forrit til að sjá.
Og svo hvernig eigum við að leysa þetta mál af Við vil helsta vera efst, en
aðgerðir sem við viljum, viljum við þá að vera undir helsta enn vera fær til nota
þá inni í main?
>> Jæja, við notum það sem við köllum fall frumgerð.
Svo hvað fall frumgerð meginatriðum er er það tekur fyrst hvað
undirskrift eða virka haus af því sem við viljum að innleiða niður
hér, og við setjum það á efst af a program.
>> Svo í þessu tilfelli, segjum við að, ja, síðar í kerfi okkar, við erum að fara
að gera loforð að innleiða þessa fall sem kallast INT teningur, sem tekur
heiltala inntak.
Svo nú, vegna þess að það er yfir helstu, helstu, það er að fara að segja, ó, jæja,
síðar í áætluninni, það er að fara að vera það þannig að ég get átt við það, þannig að ég ætla
bara láta það fara í gegnum núna.
>> Og þá neðst, við innleiða teningur.
Og þá helsta mun bara segja, Jæja, það mun raða á tengilinn
þessara tákna saman.
Og við munum ná hvað það þýðir síðar.
Og svo það veit að þetta er teningur virka að það ætti að nota.
>> ROB: The [inaudible] um ófullnægjandi Helstu neðst eða
efst, ég hef séð bæði.
Það eru hlutir sem bara eins og að setja helstu neðst.
En einu sinni verkefnið verður sérstaklega stór, yfirleitt helsta er í
skrá allt eiga.
Og á þeim tímapunkti, líkt og INT teningur lína væri -
inni stdio.h eru fullt af línum bara svona int
teningur Int inntak línu.
>> Og svo þessir frumútgáfur eru hlutir sem þú hafa tilhneigingu til að setja inn haus skrá, á
sem lið, það skiptir ekki máli.
Jæja, það skiptir ekki máli.
Þeir alltaf að fara efst.
Og ef helstu er ekki skrá allt eiga, þú þarft ekki að hafa áhyggjur um að setja
einstakar frumútgáfur virka í skránni.
>> JOSEPH: Og við munum fá til að smá hluti seinna þegar Rob byrjar að tala
um söfnun.
Og svo er það einnig mismunur milli breytu og röksemdafærslu.
Og breytu er bara það við köllum þessar inntak þegar
við skilgreinum fallið.
Og við köllum það rök þegar við reyndar gefa það í aðgerð.
>> Þannig að í þessu tilfelli, þetta er viðfang, eins og ég sagði áður.
Og þegar við notum í raun það þarna, teningur af x, þá X sjálft er
það sem við köllum að rífast að virka teningur.
>> ROB: Svo rök breytu eru -
það er þessi aðgreining, mjög rugla jöfnum höndum.
Á þessum tímapunkti, til mín, það er eins og einn af þau orð sem þegar ég sé það út í
náttúrunni, get ég ekki annað en strax spurning hvort þeir eru að nota það í
rétt samhengi, vegna þess að munur er lúmskur nóg að bara
allir tilhneigingu -
Ég segi næstum alltaf rök óháð því hvað ég meina.
>> Jósef: og virka eru einnig gagnlegar fyrir það sem við köllum aukaverkanir.
Svo fall getur tekið engin inntak, og það getur einnig framleiða ekki framleiðsla.
Þannig að í þessu tiltekna tilfelli, ég er skilgreina subroutine sem hefur enga
aftur gildi.
Og í því skyni að tilgreina það, við notum það sem við köllum tómarúm hérna.
Og svo aukaverkun af þessari aðgerð er að það prentar bara efni
út við síðu.
Það skiptir í raun ekki taka allir inntak, og það virkar ekki
reyndar fram nein framleiðsla.
>> En þetta gæti verið gagnlegt að því leyti ef þú vilt, til dæmis, kemba
eitthvað í forritinu, ef þú vilt að skrifa smá subroutine sem
prentar út, við skulum segja, innihald minni eða eitthvað.
Og svo þessar aukaverkanir eru stundum gagnlegt fyrir utan samhengi
þess bara eins og inntak og framleiðsla.
Einhverjar spurningar?
>> Og til að enda þetta tiltekna hluti, hvað er þetta forrit að gera?
Ég skal gefa ykkur nokkrar sekúndur til að lesa í gegnum það.
Á mjög undirstöðu-láréttur flötur, það sem við viljum sagt er að það skiptir x og y, ekki satt?
>> Svo hvernig margir af þú raunverulega hugsa þetta mun skipta x og y?
Hækka hönd þína.
Enginn.
OK.
Sem telur að það muni ekki skipta x og y?
Og summu sem var ekki allt herbergi.
Svo sumir fólk ert ekki viss.
OK.
Það er sanngjarnt.
>> Svo skulum við fara í gegnum það sem gerist þegar þú hringir í raun virka fyrst í
Til að svara þessari spurningu.
Svo er þetta það minni konar lítur út.
Þetta er tegund af eins og a einfaldað líkan af hvaða minni lítur út eins og þegar
þú keyrir forritið.
Þannig að það er eitthvað sem kallast stafla niður hér og
eitthvað sem kallast hrúga.
Og þessir vaxa í átt miðja minni.
>> Þannig að í þessu tiltekna tilviki, þegar þú kalla virka, það
fær setja á mánudaginn.
Og þá hvað er að finna í því að virka áfram í það sem við köllum að
stafla ramma virka er.
Og svo til að fá gott visualization þetta let's - til dæmis, við höfðum
program helstu fyrr.
Og innan helstu, við kallað teningur.
Svo helstu myndi fara fyrst á mánudaginn ramma, því það er það fyrsta virka
Það er kallað.
>> Og svo þegar teningur er kallað inni helstu, það fær setja ofan á helstu
inni minni.
Svo hvað þú munt taka eftir hér er að teningur hefur eigin viðföng hennar og þess
eigin heimamenn.
Svo þegar þú fara í raun eitthvað til fall, breytur sem það
fær eru eintök af því sem var liðin frá helstu.
>> Og til að raða í að útskýra þetta, við skulum ganga í gegnum forrit.
Þannig að við höfum stafla, þetta er bara stafla hluti.
Og hvað við gerum er að við frumstilla fyrst X og Y til að eitt og tvö.
Þannig að við höfum þessar litlu kassana.
Þeir sitja í stafla Main er ramma á mánudaginn.
Þeir innihalda eitt og tvö.
>> Nú við köllum skipti.
Hvað sem gerist er að við framhjá x og y í skipti, og skipti skapar eigin afritum hennar
Af þeim breytur til að nota inni af stafla ramma þess.
Svo nú þarna, þá erum við með, sem inniheldur gildið sem x átti, og B,
sem inniheldur gildið sem Y hafði.
Svo einn, tveir.
>> Og þú munt taka eftir því að þetta er aðskilið frá x og y inni í helstu.
Svo við að búa nú tímabundið breytu til að geyma a.
Við settum jöfn b, svo það Breytingar frá einum til tveimur.
Og þá erum við að setja b = að Temp, sem er eitt.
>> Og þá nú erum við loka út á þessum eiginleika.
Þegar þú hættir út af aðgerð, stafla ramma fær smella af stafla.
Við köllum það ýta.
Þú ýta stafla ramma á mánudaginn og þú skjóta ef burt stafla.
Og svo hvað sem gerist er allt sem var í að stafla ramma konar bara
fer upp í eldi.
Og svo að er ekki lengur til.
>> En hvað eigum við eftir?
Við aldrei raunverulega breytt Gildin fyrir X og Y, satt?
Þannig að þeir gisti staðbundið við helstu.
Og við brottför hluti skiptasamninga við reyndar aldrei breytt þeim gildum.
Og hvað gerum við köllum þetta?
Við köllum þetta liggur við gildi.
>> Svo í C, þegar þú fara eitthvað inn virka, fer það þá með því að gildi og
Býr til afrit af þeim fyrir virka til að nota.
Og við munum læra um eitthvað sem kallast liggur með tilvísun síðar, en það er
a vegur þú getur leyst þetta vandamál.
En við munum ekki hafa áhyggjur að þar til síðar.
>> ROB: Og í raun, það orð, sem liggur með tilvísun, svo C er ekki einu sinni
liggur með tilvísun.
C eingöngu hefur farið með verðmæti.
Sama hvað þú gerir, þú ert alltaf brottför afrit af einhverju.
Það er bara þessi, eins og ég nefndi tegund af sem áður með ábendingum
og að band er í raun bara fjórar bæti bendir til einhvers staðar í minninu.
>> Jæja, ef ég hef þetta band og það er segja mér að er þar sem band -
Jæja, ef ég hef þetta bendi til þessa setja í minni, þá get ég standast
afrit af því bendi að aðgerð og að virka veit samt hvar í
minni hún er.
Svo bæði af þessum ábendingum vísi á sama stað í minni, og
það er hvernig við erum að fara að vera fær að breyta hluti út fyrir
Núverandi stafla ramma.
>> JOSEPH: Viltu gera saman?
>> ROB: Nei, það er 05:30.
>> JOSEPH: OK.
Það er 05:30.
OK.
Þannig að við munum ná saman ég giska á Í næsta kafla, eða kafla þín
leiðtogi mun á þeim tímapunkti.
Og -
>> ROB: Einhverjar spurningar?
>> JOSEPH: Einhverjar spurningar?
Já?
>> Ræðumaður 5: Notkun þýðingum úr CS50, allir aðgerðir sem við viljum að nota fyrir
þeir, sem mun vera eins og C aðgerðir.
CS50 hefur ekki farið í og gert neina auka.
>> ROB: Rétt.
Allir af C eins [inaudible], þú myndi nota þá á strengi okkar.
>> JOSEPH: Og eitt síðasta sem ég vil nefna er að við höfum stíl fylgja
í þennan flokk.
>> ROB: Ó, já.
>> JOSEPH: Svo ef þú hefur komið frá forritun bakgrunni áður, þú
gæti hafa ákveðnar samninga þegar þú ert að skrifa kóðann eins og að setja
axlabönd á sömu línu eða sérstaklega leiðir indenting
eða nafngiftir breytur.
Í þessum flokki viljum við að fylgja sérstakur Style Guide bara vegna þess,
Jæja, ef þú ferð út og vinna í iðnaður, ætlar þú að fara að gera ráð fyrir
að fylgja stíl fylgja hins fyrirtæki þar sem þú ferð til.
>> Eins og til dæmis, Facebook held ég hefur ákveðna tegund af nafngiftir
samningur.
Og það er munur á milli úlfalda hlíf breytur og bara eins
aðgreina þá með undirstrikar.
Og líka, held ég mest um vert, eins og til dæmis, inndráttur, ekki satt?
>> Við hrokkið axlabönd byrja þar sem ástandið er, og þeir
eru í næstu línu.
Og við setjum líka hrokkið axlabönd í jafnvel ef það er aðeins ein lína.
Og mikið af sinnum, það eru leiðir til að gera það þar sem þú getur skilið þessar axlabönd
burt ef það er aðeins ein lína undir ef yfirlýsingu.
En í þessum flokki viljum við að fylgja sérstakur Style Guide bara þannig að þú færð
notað til að þessi tegund af hlutur.
>> ROB: Já, og Style 50 er að fara að framfylgja þessum stíl fylgja, og við erum
fara að nota Style 50 til flokkunar kóðann þinn.
Svo það gerir hlutina auðveldari fyrir okkur og vonandi ætti ekki að gera það sem
miklu verra fyrir þig miðað við stöðluð stíll ætti ekki að vera
óraunhæf.
>> JOSEPH: Og að lokum, til að finna stíl fylgja, fara til manual.cs50.net/style.
Og já.
>> Ræðumaður 4: Ert þú að fara að framfylgja allir stafir á línu?
>> ROB: Já.
>> JOSEPH: Því miður, krakkar.
>> ROB: Það er eins og einn af the eini sjálfur.
Á þessum tímapunkti, ég er í lagi með 120 stig.
Ég er í lagi með að segja 120 stafir í hverri línu.
Ég skil það að vera einhver takmörk.
Ég held 80 er svo lítill, en við erum að fylgja henni eftir.
>> JOSEPH: Persónulega held ég með C, 80 stafir er allt í lagi.
Þegar þú byrjar að fá til annarra tungumálum eins og JavaScript og PHP, ekki
svo sanngjarnt að bara takmarkað það að 80 stafi.
OK.
Jæja, það var frábær kafla.
Hefur einhver vilja nammi?
>> Ræðumaður 4: Já.