>> ROB: Tout dwat.
Byenveni nan seksyon an premye.
Mwen se Rob.
>> JOSEPH: mwen se Jozèf yo.
>> ROB: Se konsa, nou pral plonje dwa pous
Premye bagay yo pale sou se Aparèy la.
Se konsa, èspere ke pi fò nan ou gen telechaje li deja.
Men, ou ka wè enstriksyon yo nan cs50.net/appliance.
Oh bondye, kounye a mwen se pwòp tèt ou-konsyan.
Mwen toujou tande li.
>> JOSEPH: Wow, li son tankou li nan dezoryante.
>> ROB: Se konsa, gen kèk moun ki te gen pwoblèm ak li, Se konsa, pa rete tann jiskaske
dènye minit la nan pwoblèm nan mete nan eseye epi rezoud Aparèy la ak
jwenn deyò ke li pa la ap travay.
>> JOSEPH: Men, si yon bagay nan pa ap travay ak w bezwen èd, ou ka ale nan
cs50.net/discussion kote nou gen yon fowòm kote ou
ka poste kesyon ou yo.
Epitou, n ap jwenn yo evantyèlman.
>> ROB: Tout dwat.
Se konsa, sa a se sa Aparèy la sanble.
Yon fwa ankò, li nan jis yon konplètman separe sistèm opere kouri nan
tou sa opere sistèm ou ap kouri sou konpitè pòtatif ou.
Apre sa, bagay sa yo prensipal ou pral dwe lè l sèvi avèk yo jdi.
Se konsa, èspere ke sa a te deja vin yon sit yo konnen yo.
Tèminal la.
>> Apre sa, ou ka tou kouri Chrome nan Aparèy la.
Te gen yon koup la moun ki ki moun ki te rapòte entènèt
pa travay nan Aparèy la.
Se konsa, kèk nan yo te jis sipoze ki di ke gen se pa sa sipoze
entènèt nan Aparèy la.
Men, repons lan se wi, gen se sipoze yo dwe entènèt.
>> Mwen pral di li kounye a, men li pa fè sa vrèman vle di anyen.
Si entènèt la pa ap travay, sa a se sa ou gen tandans bezwen
kouri fikse li.
Si w gen pwoblèm entènèt, pa fè sa sonje li, jis poste li sou
Diskite sou yo, epi nou pral di, kouri sa a.
Men, entènèt la yo ta dwe travay.
>> Se konsa, sèlman lòt bagay la - yeah, pa gen anyen lòt moun se reyèlman enpòtan.
Men, mwen jis te vle pwen ke -
wè nan kwen anba-dwa sa a.
Se konsa, chak nan aparèy ou ta dwe gen yon adrès IP.
Apre sa, pita nan semès la, sa a IP adrès yo ap vin pi enpòtan lè
w ap travay sou entènèt p-seri a, paske ou pral kapab jwenn aksè nan la
sou sit wèb w ap travay sou soti nan ou Chrome lokal lè l sèvi avèk adrès sa a IP.
>> Men, sa ki mwen renmen yo sèvi ak adrès la IP pou - epi ou pa bezwen fè sa a, mwen
jis vle lonje dwèt li soti -
se isit la.
Se konsa, sa a se yon fenèt tèminal sou Mac m 'yo, sa a se pa nan la
Aparèy nan tout.
Epi ou ka gade sa ki lòd sa a ap fè.
Men, mwen pral SSH dirèkteman Aparèy m 'yo.
Mwen pa konnen sa IP la se.
>> JOSEPH: 168 -
>> 168.224.1.0.
>> ROB: Se konsa, yon fwa mwen se kreve ak sa a, louvri sesyon
Koulye a, fondamantalman, sa a se ki idantik ak yon fenèt tèminal nan Aparèy m 'yo.
Se konsa, mwen pa janm bèl anpil aktyèlman te travay soti nan Aparèy nan tèt li.
Mwen jis toujou genyen li kouri nan background nan minimize
ak SSHed nan li.
>> Pwoblèm nan ak sa a se ou pa pral pou kapab sèvi ak jdi fasil
ki sòti dirèkteman nan sa a.
Men, si ou vle gen yon fre reyèl HACKER, lè sa a ou ta dwe jwenn itilize yon
lòd liy editè tèks de tout fason.
Se konsa, vim ak anak ak Nano, tout moun sa yo yo se altènativ diferan.
Nano gen tandans ka pi fasil la.
Apre sa, mwen panse ke li pa gen okenn sentaks en.
Oh, pa gen okenn, li totalman fè.
Se konsa, ou ka sèvi ak Nano, paske ke youn a trè fasil.
>> Ou wè tout kòmandman sa yo nan pati anba a.
Sa a senbòl kawòt ti kras.
Si ou pa gen pou wè l 'devan, ou pral pwobableman wè l 'yon anpil kounye a.
Li jeneralman vle di kawòt la kontwòl, tankou anba-bò goch la nan klavye ou
kontwòl karaktè.
Se konsa, isit la li a di m 'desann isit la -
oh, li pa nan koupe si mwen rale pous
Se konsa, kontwòl, X se ki jan Mwen pral sòti.
Apre sa, li di mwen ka frape Y pou Wi, pou ekonomize, N pou No
Se konsa, sa a, se Nano.
>> VIM ak anak gen tandans yo dwe yon ti kras plis konplike ak mal.
Men, ou ka jwenn itilize li, ak Lè sa a, ou pral renmen li.
Se konsa, sa a, se sa.
>> JOSEPH: Pa bezwen fè sa.
>> ROB: Yeah.
Ou se lib yo itilize jdi pou la rès semès la.
Se konsa, nenpòt kesyon ki gen rapò ak aparèy?
Oswa ou gen nenpòt panse sou ki lòt bagay bezwen yo dwe pale sou sou
aparèy la?
Wi.
>> Oratè 1: Lè ou SSHed nan ou bagay, se te Crimson la password?
>> ROB: Yeah.
Modpas la pou tout bagay bèl anpil nan aparèy la ki pral
yo dwe Crimson.
>> Oratè 2: Enstale tankou yon IDE reyèl sou aparèy la, yo pral li travay?
>> ROB: Mwen imajine eklips fè sa yo gen yon Fedora vèsyon, nan ka sa a, repons lan se wi,
ou ka fè sa.
Li pwobableman pa vrèman vo li.
>> Oratè 2: OK.
Se konsa, li la pwobableman pi fasil si mwen te vle sèvi ak eklips, jis itilize natif natal la ak
Lè sa a, Upload a -
>> ROB: Oh, ki se tou pwobableman pi fasil.
Men, ou ka jwenn li ap travay nan Aparèy la.
>> JOSEPH: Se pou kamera a, kesyon an te ye a, èske ou kapab enstale yon lòt
IDE andedan nan aparèy la?
>> ROB: eklips yo te yon egzanp yon IDE.
Nenpòt lòt kesyon Aparèy?
Tout dwa.
>> Se konsa, nou pral kounye a deplase sou liy lòd ki gen rapò ak koòdone bagay sa yo, se konsa klima.
Li di ankò, mwen jis ale nan travay nan isit la, paske sa se ki idantik ak
k ap travay nan yon fenèt tèminal nan Aparèy la.
Ki jan nan ki font kap?
Eske se sa ke gwo ase?
Tout dwa.
>> Se konsa, gen yon anpil nan kòmandman ki ou ta dwe jwenn trè itilize
nan tout semès la.
Gwo de a pou navige yo se ls, lis dosye yo nan anyè sa a, epi
CD, se konsa chanje anyè.
Se konsa, mwen ka chanje nan Desktop ak Lè sa a, yon modèl trè komen se CD nan yon
anyè epi imedyatman ls sa a nan anyè a.
>> Moun ki tou pafwa pa reyalize ki fini Tab se yon bagay.
Se konsa, tankou CD, VH, ak Lè sa a, mwen frape Tab.
Mwen prèske pa janm tape soti bagay la tout antye.
Lè sa a, si mwen kenbe frape Tab ankò, li pral otomatikman
kòmanse lis pou mwen.
Se konsa, mwen kapab CD vost, lame lokal yo.
Epi sa a, jis ale nan -
nan ka ou pa t 'tande tèm nan anvan, anyè a se jis yon lòt mo
pou katab.
Se konsa, koulye a si ou wè -
kite a pote ki nan tèt la.
>> Se konsa, koulye a si ou wè nan parantèz, ou wè ti kras tild, koupe, vhost a,
koupe, lame lokal yo.
Se konsa, tild la, ki vle di anyè lakay mwen.
Li se yon anyè w ap nan lè ou SSH pous
Li nan anyè a w ap nan lè ou louvri moute yon tèminal.
Li nan kote ou kòmanse.
Se konsa, mwen se andedan nan anyè lakay mwen, ak mwen se andedan nan vhost la
anyè andedan nan anyè lakay mwen.
Lè sa a, mwen se andedan nan lokal la òganize anyè andedan nan sa.
>> Se konsa, kèk lòt bagay ki itil ak CD -
oswa byen, an jeneral, se konsa dot toujou refere a anyè a kounye a.
CD, dot se yon lòd trè san valè.
Men sa a chanje a kounye a anyè.
A yon pi plis itil an tèm de CD se dot, dot, ki se
jis ale moute yon sèl anyè.
>> Apre sa, sonje ke sa yo -
Mwen vle di anpren, men sa yo senbòl, dot, ak dot, dot, sa yo ki travay
pou bèl anpil nenpòt ki lòd ou yo pral panse a kouri.
Se konsa, tankou CD se pwobableman kote ou pral lè l sèvi avèk ki pi a, men sa yo pa
bagay ki jis CD konprann.
Li nan bèl anpil yon bagay tout ou liy lòd konprann.
Yon anpil nan pwogram konprann dot ak dot, dot.
>> Se konsa, lòt yo menm ki itil - CD, priz.
Se konsa, ki se ale nan mennen m 'sou la dènye anyè ke mwen te pous
Se konsa, pafwa mwen pral fè yon bagay tankou, oh, mwen ap travay nan isit la.
Apre sa, mwen wè kèk erè ak yon bagay, ak Mwen pral ale mennen ankèt sou li pa ale nan
kèk anyè o aza yon kote.
Apre sa, mwen pa konnen si li pral kite m 'an la.
Li pral.
Se konsa, lè sa a mwen fè sa m 'vle nan anyè sa a.
Bla, bla, bla, bla, bla.
Apre sa, mwen te tankou yo, tout dwat, mwen vle pou tounen nan kote mwen te ye a.
CD, priz, epi li pote m 'dwa tounen.
>> Se konsa, mwen pral voye jete yon anpil nan sa yo nan nou jòdi a.
Mwen pa atann ou a memorize tout nan yo.
Li nan kalite jis konnen yo ke yo egziste.
Lè sa a, pita sou lè w ap tankou, hmm, mwen vle ale tounen nan la
anyè ke mwen te jis nan, o, rete tann, yon bagay tankou sa egziste.
Ou pa oblije jis kalite nan anyè a tout antye ankò.
>> JOSEPH: epi finalman w ap jis sèvi ak yo sou yo ak sou ankò, li
li pral vin nan misk memwa.
>> ROB: Yeah.
Se konsa, kouman mwen te di anvan, se sa tild se anyè lakay ou.
Se konsa, mwen kapab CD, tild.
Men, mwen pa menm gen fè sa si mwen jis -
Mwen pral tounen nan anyè a pou li pa yon egzanp gratui.
Men, si mwen jis fè CD, ki la tou nan menm jan ak, ale nan anyè lakay mwen.
M 'fè lòd, K.
>> JOSEPH: Ou kapab tou tape klè, nan mo, epi li ta dwe klè li.
>> ROB: Apre sa, mwen panse tou Kontwòl, L tou fè li.
Se konsa, anpil nan diferan fason.
Mwen panse ke gen kèk diferans ki kote ki klè ak kontwòl, L ap jis
reyèlman pouse l 'bay tèt la ak Mwen ka toujou woulo liv tounen.
Kòmandman, K literalman detwi tout bagay, epi ou
pa ka woulo liv tounen moute.
Omwen a anpil, ki nan li montre kouman li ap travay nan iTerm2.
Mwen pa konnen ki jan lòt bagay -
oh.
>> Avèk SSHing, se konsa si ou se sou Windows, w ap ale nan oblije telechaje mastike
yo nan lòd yo SSH depi Windows fè sa ki pa gen tankou yon zouti bati-an SSH.
Soti nan Macs, ou ka jis SSH dirèkteman ki sòti nan yon fenèt tèminal.
OK.
Kesyon?
>> Avèk ls, se konsa yon bagay yo jwenn itilize ak pi fò nan kòmandman sa yo se -
byen, mwen pral jis fè yon sèl.
LS, priz, l.
Se konsa, priz, l se sa nou ap ale yo rele yon drapo ls.
Ak yon anpil nan kòmandman sa yo gen drapo ke ou ka pase nan men yo.
Se konsa, nan ka sa a, priz, l se yon drapo ki di l 'bay ban m' yon plen
lis tout enfòmasyon ki nan dosye sa yo.
>> Se konsa, nou wè isit la ke Desktop te modifye sou Jiye 30 nan 12:54.
Downloads te modifye nan 6 mwa septanm nan.
Sa yo se gwosè a kounye a ak bytes nan repèrtwar sa yo.
Ou pa bezwen konprann tout bagay sa yo.
>> Bagay sa a sou bò gòch la, drwx sa yo a, ki pral vin pi plis enpòtan
pita lè ou gen fè fas ak -
ki te fè ak moun ki gen otorizasyon fè yon gade nan dosye sa yo.
Se konsa, si ou pa t 'itilizatè a sèlman sou òdinatè sa a, ou ta kapab
di, OK, mwen ta dwe yon sèl la sèlman pèmèt yo gade nan sa a ranpli oswa mwen se
ale nan pèmèt tout moun fè yon gade nan sa a dosye.
Se konsa, yon lòt moun sou òdinatè mwen an ka gade nan sa a dosye.
Mwen pa menm konnen ki sa sa a - ki sa sa a fè?
>> JOSEPH: mwen se pa byen asire, aktyèlman.
>> ROB: Pa gen lide.
>> JOSEPH: Men, si ou pa konnen, gen yon lòd itil ke ou ka itilize
di ou ki sa pwodiksyon an vle di.
Men, si ou tape li nan moun anvan lòd la -
Se konsa, M-A-N. ROB: Man.
Se konsa, nonm se yon lòt yon sèl se sa ki trè itil.
Apre sa, nonm, ls.
Se konsa, paj sa yo moun, yo gen tou de kòmande ke w ap yo pral lè l sèvi avèk
nan liy lan bay lòd, epi yo menm tou yo gen fonksyon ki pral enpòtan
ak C. Se konsa, ou ka Man -
ak mwen inyore 3.
Men, nonm 3 printf ki pral pote moute vèsyon an C nan printf.
Men, si mwen jis fè moun printf, sa a se ale nan pote yo moute printf a bay lòd
sa ki ap pase nan liy lan lòd.
>> Se konsa, nonm, ls.
Paj sa moun ka trè akablan yo.
Isit la, menm si, ou pral wè lis sa a nan tout nan drapo sa yo ki ls
konprann.
Se konsa, si nou ale nan kase, L, ak -
Mwen jis ale nan voye jete sa a nan ou.
Men, nan lòd nan rechèch, ou ta vle nan premye frape kesyon an
mak oubyen bouton koupe.
Se konsa, koupe.
>> Lè sa a, mwen kapab fè rechèch pou tou sa mwen vle.
Se konsa, mwen pral koupe pou priz, l.
Apre sa, sa te pase.
Se konsa, sèvi ak yon fòma lis long.
Sa pa ede m 'konnen sa ki ki kolòn patikilye vle di, men mwen
asime yon kote nan isit la li ta eksplike ke.
Se konsa, sèvi ak paj nonm pou nenpòt ki lòd ke ou pa konprann imedyatman.
>> Mwen se trè asire w ou kapab menm moun, moun.
Yon koòdone yo bay sou entènèt la manyèl referans.
Oh, yon sèl yon dènye sa a, se petèt yon ti kras se ki gen rapò ls, priz, yon.
Se konsa, remake si mwen jis fè ls, Mwen jwenn senk dosye sa yo.
Si m 'fè ls, kase, yon, mwen jwenn yon anpil plis dosye.
Se konsa, bagay la an komen ant tout bagay sa yo nouvo dosye se dot a davans.
>> Se konsa, konvansyon an se ke yon dosye ki kòmanse ak yon dot ki kache.
Se konsa, ou pa vle wè ki dosye, ou pa vle genyen li dezòd ak
lis anyè ou.
Li nan sèlman lè ou klèman mande, tout dwa, ls, priz, yon, fè m '.
Yon a kanpe pou tout dosye, ki gen ladan yo menm kache.
Se konsa, kèk lòt kòmandman.
Oh, kesyon nan pwen sa?
Wi.
>> Oratè 3: Lè ou fè ls, yon, sa ki nan dot, dot a?
>> ROB: O.
Se konsa, sa a se sa m 'te pale sou yo.
Li nan menm bagay la kote Mwen ka renmen CD, dot, dot.
Se konsa, teknikman, dot ak dot, dot yo dosye ki egziste nan tout yon sèl
anyè kote dosye a dot refere anyè a kounye a.
Se konsa, si CD Se mwen menm, dot, mwen jis ale yo rete nan anyè a.
Apre sa, dot, dot toujou refere a nan anvan anyè yon nivo yo.
Se konsa, si m 'antre nan mòso bwa ak ls, priz, al, Mwen pral wè dot, dot. CD dot, dot
pote m 'nan anyè a anvan yo.
Yeah.
OK.
>> Se konsa, yon lòt bèl enpòtan lòd se RM.
Se konsa, se sa ki nou pral yo sèvi ak yo retire.
Apre sa, kite m 'aktyèlman fè yon lòt lòd an premye.
Se konsa, mkdir.
Mkdir se ki jan ou kapab kreye repèrtwar.
Apre sa, mwen pral kreye yon anyè pou yon ti tan epi ale nan ke anyè tanporè.
Apre sa, jan yo espere a, li nan vid.
Men, si ls Se mwen menm, priz, yon, mwen toujou gen dot ak dot, dot, paske dot refere a
anyè a kounye a.
Apre sa, dot, dot refere a nan anyè anvan yo.
Ak moun ki ap toujou egziste pa gen pwoblèm anyè a ou se pous
>> Lè sa a se yon konplètman nesesè lòd, men manyen.
Mwen jis lè l sèvi avèk li, paske li nan yon fason fasil yo kreye dosye.
Se konsa, manyen yon, manyen b, manyen c se jis ale nan kreye twa dosye yo te rele yon,
b, ak c ke yo konplètman vid.
Se konsa, pwen an nan men m 'kreye sa yo ki nan la premye plas se jis pou ke RM se
ki jan nou ka retire yo.
Se konsa, RM, yon.
Li pral mande m ', retire regilye vid dosye yon?
Lè sa a, mwen pral di Wi.
>> Se konsa, si mwen konnen pou asire w ke mwen vle efase ke dosye san yo pa gen yo dwe
pouse, retire dosye regilye vid?, Lè sa a, RM, priz, f a pwal nan
drapo ki di, fòs retire a san yo pa menm pouse m ', o yo, se ou
asire w ke ou vle efase dosye a?
Wi, mwen si ke.
Se konsa, RM, priz, FB pral jis fè l 'san yo pa mande.
>> Se konsa, kite a fè kèk repèrtwar plis ankò.
mkdir, tmp2, CD, tmp2, manyen yon, touche b.
OK.
Se konsa, koulye a, mwen vle retire tmp2 kòm yon anyè.
Se konsa, RM tmp2.
Ou pa ka retire tmp2, li se yon anyè.
Se konsa, pwoblèm nan isit la se ke RM fè sa ki pa imedyatman travay sou repèrtwar.
Li sèlman vle di pou dosye tankou dosye ki pa anyè.
>> Se konsa, sa nou kapab fè isit la se RM, priz, r.
Sa vle di pou recursive, ki ta ka pa vle di anyen ou ankò.
Men, lè ou jwenn rkursyon, li pral vle di plis.
Se konsa, RM, priz, r, tmp2 ki pral recursive ale nan ke anyè.
Se konsa, desann anba nan anyè tmp2?
Wi, se pou yo ale nan sa.
nou vle retire tmp2 / a?
Wi.
nou vle retire tmp2 / b?
Wi.
Koulye a, nou vle retire tmp2 nan anyè?
Wi.
Se konsa, kounye a anyè a ak tout bagay andedan
nan sa ki te retire li.
>> Gen teknikman yon rmdir lòd ke ou ka itilize yo retire
repèrtwar, men li sèlman travay sou repèrtwar vid de tout fason.
Apre sa, yo wè sa, kite yo jis fè mkdir, tmp2 ankò.
Tmp2, manyen yon.
OK.
Se konsa, si mwen eseye retire dirtmp2, li pral di, anyè pa vid.
Se konsa, mwen bèl anpil pa janm sèvi ak retire nan dir lòd de tout fason, paske RM, priz,
r pral travay sou repèrtwar vid ak repèrtwar ki pa vid.
>> Epi tou, si mwen pa vle gen ale nan ke pwosesis antye nan
desann nan anyè a ak retire chak dosye endividyèl, RM,
priz, RF, tmp2.
Epi, koulye a li nan ale.
>> Yon bagay yo dwe fè atansyon sou se RM, priz, RF.
Apre sa, li fè m pè menm menm tape li, paske si mwen aksidantèlman
frape antre nan oswa yon bagay.
Se konsa, RM, priz, RF, tild ta, san yo pa pouse m ', f a pa pouse
m ', li pral otomatikman retire anyè tout kay mwen an ak
tout bagay nan li.
Se konsa, ou ka panse sa a, se yon bagay estipid fè.
Apre sa, byen, li ye.
>> Men, li ka rive trè fasil pa aksidan si, di, mwen te vle retire
koupe m 'yo, anyè vhost.
Apre sa, jis nan sezisman rapid, Mwen aksidantèlman fè sa.
Sa pral retire recursive tou de mwen anyè lakay yo epi anyè a vhost
nan anyè sa a an patikilye ki jis k ap pase pa egziste kounye a.
Men, sa a ta toujou retire anyè tout kay mwen an.
Omwen pa pa gen yon f, li pwal vit ankouraje m 'premye.
Apre sa, mwen ta dwe tankou, oh, non, mwen pa vle fè sa.
Men, moun ki, koupe, ki gen ladan m 'yo gen tandans jwenn nan la
abitid nan toujou RF-egziste.
Menm dosye regilye ki mwen ka jis RM, c, mwen gen tandans jis RM, priz, RF, c.
Jis dwe fè atansyon lè w ap RF-egziste.
>> Oratè 4: Ki sa ki C fè?
>> ROB: C se Mwen ap pale de ki dosye C nan anyè sa a, ki RM, c.
>> JOSEPH: Ak plis ankò ki gen danje ladan, si ou itilize yon etwal, li refere a tout bagay nan
anyè a.
Se konsa, sa m 'souvan yo gen tandans fè se mwen menm mwen ale nan yon anyè ak mwen vle
retire tout dosye yo nan la.
Se konsa, RM, priz, RF, zetwal.
>> ROB: Yeah.
Rm, priz, RF, zetwal.
>> JOSEPH: Men, si ou pa fè sa atansyon sa anyè w ap nan -
Mwen pa t 'nan temp, men mwen te aksidantèlman nan anyè lakay mwen,
Lè sa a, mwen pral retire tout bagay nan anyè lakay mwen.
Apre sa, mwen te aktyèlman fè sa anvan, epi Mwen panse ke ou te fè sa a anvan oswa
Jay te fè ke anvan.
>> ROB: Mwen te aksidantèlman retire -
Se konsa, inyore ke lòd pou yon ti jan.
>> JOSEPH: Pa plezi.
>> ROB: Se konsa, nan anyè a bin koupe se yon pakèt moun sou dosye binè kote ki gen pwal
gen sa ki familye yo tankou sonnen.
Oke, rezone ak fondamantalman tout moun sa yo bagay sa yo ke mwen kouri nan yo lòd, ki
liy yo nan sa a anyè bin koupe.
>> JOSEPH: Menm jan ak ls se nan isit la.
>> ROB: Se konsa, dot, koupe, ls ta lis anyè sa a.
>> JOSEPH: Rm tou se nan anyè sa a.
>> ROB: Mwen aksidantèlman RM, RF-ed bin, ki retire nenpòt ki lòd mwen te kapab
pètèt tout tan tout tan vle.
Ki Lè sa a, mwen jis réinstaller yon nouvo Aparèy nan pwen sa.
>> JOSEPH: Se konsa, dwe pran anpil prekosyon lè ou itilize lòd sa a.
>> ODYANS: [fèbl]?
>> ROB: Wi.
Sa a tou se yon move abitid jwenn nan.
Si w remake, mwen se kounye a -
byen, ou pa ka remake, men mwen rale-an petèt kapab.
Se konsa, mwen se kounye a @ rasin aparèy.
Se konsa, jharvard se itilizatè a nou vle ou toujou lè l sèvi avèk.
Rasin se itilizatè a ki gen pèmisyon fè absoliman anyen.
>> Se konsa, remake lè mwen se jharvard, si mwen eseye CD -
sa ki nan yon anyè sa a?
Oh, rasin se yon bon egzanp.
Se konsa, CD, rasin.
Pèmisyon refize.
Paske si nou gade nan lis sa a -
e ankò, ou pa bezwen antyèman konprann sa a.
Men, twa ba sa yo ap di ki pa kite nenpòt ki lòt
itilizatè nan anyè sa a.
Apre sa, anyè a k ap pase nan dwe posede pa rasin itilizatè.
>> Se konsa, reyalite a se mwen menm ki jharvard epi pa gen yon moun ki se pa rasin se pèmèt antre nan
anyè sa a, ki vle di ke mwen se ale nan jwenn pèmisyon refize lè m '
eseye CD nan li.
Se konsa, lè mwen menm rasin, mwen gen pèmisyon fè absoliman anyen, ki gen ladan
efase dosye esansyèl Aparèy la ak
detwi bagay la tout antye.
>> Se konsa, li nan yon move abitid jwenn nan jis pèdi alantou ou
sistèm opere kòm rasin.
Mwen fè l 'de tout fason.
Kesyon?
Apre sa, mwen pral soti nan rasin, rete kòm jharvard.
OK.
>> Kòmandman plis ki enpòtan.
Se konsa, pral tounen nan temp nou an, nan MV lòd kanpe pou deplase.
Ou ka deplase yon.
Koulye a, nou vle rele l 'b, Se konsa, kounye a sa yo rele li b.
Oswa petèt nou vle pou avanse pou pi b moute yon sèl anyè.
Se konsa, koulye anyè sa a nan vid.
Mwen pral tounen nan anyè lakay mwen an, epi nou wè ke b se nan isit la, paske la
anyè lakay se te youn anyè moute soti nan anyè a ki b te pous
>> Genyen tou CP.
Se konsa, CP se kopi super seksyon, dot, tèks.
Mwen kapab rele li s, dot, tèks.
Koulye a, nou gen tou de seksyon super, dot, tèks, ak s, dot, tèks.
Sa a tou ap travay sou repèrtwar.
Mwen RF-ed yon dosye sèl.
Se konsa, CP -
byen, premye kite a eseye CP, tan, tmp2.
Se konsa, omissions anyè tan.
Se konsa, menm jan ak RM, konpòtman an default se pa nan travay sou repèrtwar.
>> Li di ankò, menm jan ak RM, default la konpòtman - byen, jwenn li nan travay
ak repèrtwar se yon, priz-r ale.
Se konsa, kopi recursive temp a anyè nan tmp2.
Se konsa, kounye a nou gen tou de tan ak tmp2, e ke se pa sa ki itil depi tan
te vid nan plas an premye.
Tmp2.
>> Koulye a, kite nan kopi tan nan tmp2.
Apre sa, nou wè ke tmp2 tou te gen dosye a yon, paske anyè a ak
tout bagay andedan nan ki te anyè kopye.
Apre sa, ki ka yon ti jan ki itil si, di w ap travay
sou pwoblèm mete yonn -
oswa aktyèlman, ansanm pwoblèm pita yo menm pi enpòtan, paske yo gen
pral gen yon pakèt tout nan dosye ak bagay sa yo.
>> Men, ou jis vle, pou yon dezinyon dezyèm lan, w ap tankou yo, tout dwat, mwen se
ale nan eseye yon bagay diferan.
Kite m 'jis kopi tout pset1 mwen anyè nan pset1 backup se konsa ke si
Mwen fini bèz bagay yo, mwen kapab ale tounen nan anyè backup mwen.
Gen fason pi apwopriye nan vèrsyonin fè bak Kòd ou, men ou
sa a se toujou yon fason rapid nan jis fè w ke ou gen yon kopi yon bagay
ke w ap sou li modifye.
>> Se konsa, eko se tou yon lòd yon sèl-Off ki kalite sillily pral jis ekri ak lèt ​​detache a
liy lòd ekzakteman ki sa ou te vle repete.
Se konsa, eko hi.
Nou pral jis ekri ak lèt ​​detache hi.
Repete apre lòt fin alo nan lemonn.
Nou pral ekri ak lèt ​​detache bonjou nan lemonn.
Ki vini nan nan itilize lè ou kòmanse konbine kòmandman.
>> Li di ankò, pa atann ou a antyèman konprann sa a ankò, men li la
yon bagay yo wè.
Lè sa a, si w ap Googling pou egzanp oswa ou reyalize ou vle fè
yon bagay, li kapab itil.
Se konsa, kite a, kòm yon egzanp, Se konsa, ls, priz, l.
Se konsa, isit la mwen wè pwodiksyon an nan ls, priz, l.
Apre sa, mwen di: OK, mwen vle magazen ki nan yon dosye.
Tout moun nan pwodiksyon sa a isit la, mwen vle yo mete nan yon dosye apa a.
>> Se konsa, sa a ti kras pi plis pase senbòl se sa nou ap ale nan rele.
Nou ap Redireksyon la pwodiksyon nan yon dosye.
Se pou yo rele bla a ranpli, paske se sa sa m 'yo gen tandans toujou rele li.
Se konsa, kounye a nou wè nou gen yon pote bla dwa isit la.
Men, si mwen louvri l ', mwen pral wè li nan egzakteman pwodiksyon an soti nan yo lòd, ki
ke mwen jis kouri.
Apre sa, Menm jan tou, ou kapab -
si sa a te pwodiksyon nan yon dosye, sa a se ka jwenn dizon ki sòti nan yon dosye.
Ki sa ki se yon lòd pou m '-
>> JOSEPH: Mwen panse ke ou ka sèvi ak mwens oswa plis, pwobableman.
>> ROB: Men, ki jan sou jis mwens bla?
Mwen pa konnen.
Si ou antre nan senaryo sa a, tankou gen nan psets ke li nan itil pou.
>> JOSEPH: Ou ka tiyo l 'nan eko.
Tiyo dosye a nan eko wè li.
>> ROB: Se tiyo.
>> JOSEPH: M regrèt.
>> ROB: Tout dwat.
Se konsa, sa a se pwodiksyon nan yon dosye.
Sa a se jwenn tèks la soti nan dosye a ak men l 'nan men pwogram nan.
Apre sa, ou pral wè tou nèg sa a.
Se konsa, sa a se kalite fè tou de nan yon fwa.
Apre sa, aktyèlman, mwen pral prezante de nouvo kòmande jis yo fè pou sèvi ak li.
>> Istwa a se yon lòd sou la men sa se sèlman ale nan enprime soti yon lis
anyen mwen te janm kouri nan yon liy lòd.
Se konsa, nou wè isit la tout bagay ke mwen gen te kouri tan sa a tout antye.
Anpil nan ls la.
>> Ak yon lòt lòd itil se grèp ki objektif li se nan rechèch sou
tèks kap chèche modèl, byen, kap chèche tou sa ou
vle li nan gade pou.
Se konsa, yon sèvi ak sou la men isit la se, di nou vle gen tan pwan istwa a.
Apre sa, mwen vle gade pou kòmandman yo kote mwen - sa ki nan yon
yon sèl itil nan gade pou?
>> JOSEPH: [fèbl]?
>> ROB: Oswa kite yo jis gade pou tout manyen, pou kèlkeswa rezon.
Se konsa, sa a se sa li pral sanble.
Apre sa, ou pa bezwen konplètman konprann sa.
Men, lide a se isit la, istwa an, ap ban menm pwodiksyon an li te fè isit la
kote li enprime soti tout nan istwa nan tout bagay mwen te janm kouri.
Nou ap Lè sa a, pase sa -
Se konsa, olye pou yo enprime li a ekran an, nou vle pase ke yo an
grèp lòd ki se kap chèche tout sikonstans nan touche a mo.
>> Se konsa, lè l sèvi avèk sa a konbinezon de la zouti istwa ak grèp, mwen ka wè, OK,
isit la nan tout kòmandman yo mwen te janm kouri, ak isit la nan yon yon sèl yon ti jan komen.
Nou nan pati anba a.
Apre sa, li la tou bay m 'yo lòd, ki Mwen jis kouri ki te gen nan
touche mo nan li.
Men, tiyo a se yon bagay trè itil pou mete ansanm pwogram miltip.
Apre sa, aktyèlman, li nan yon chemen kout pou Se pou m 'pwodiksyon istwa pote bla, ak
kite m 'grèp lè l sèvi avèk bla a dosye kòm sa m 'vle gade sou.
Se konsa, tiyo a se jis yon chemen kout pou moun ki de kòmandman.
Wi.
>> Oratè 4: [fèbl]?
>> ROB: Wi.
Ki sa ki se -
Oh.
Se pou yo teste.
Se konsa, chat, chen, pwason.
Se konsa, mwen vle grèp.
Priz, r, ankò, a pwal recursive, se konsa mwen vle desann desann
tout repèrtwar.
Mwen vle recursive grèp pou tout - ak kite m 'pou yon ti tan jwenn
sa a soti nan fason an.
Ignore m '.
OK.
>> Se konsa, mwen vle pou yon ti tan grèp pou tout sikonstans nan pwason an mo.
Se konsa, isit la sa m ap fè la a grepping recursive pou pwason an mo.
Apre sa, zetwal vle di plis pase tout moun sa yo dosye nan anyè sa a.
Se konsa, li te ban m 'yon Pèmisyon refize, paske li pa pèmèt yo li sa
patikilye dosye-a.
Men, li te jwenn pwason an, tès la dosye.
>> Mwen te kapab di tou, espesyalman, mwen sèlman vle gade nan bla a ranpli, nan
ka sa a li pa pral jwenn anyen.
Mwen sèlman vle gade nan, tès la dosye.
Li pral jwenn pwason.
Sa se yon lòd trè itil yo konnen an jeneral.
Gen kèk elèv yo lòt fason grèp ki yo sipoze gen plis
pwogramè zanmitay, men mwen gen tandans toujou tonbe sou do yo grèp.
Kesyon?
OK.
>> Èske gen lòt kòmandman?
Oh.
Jis yon yon sèl yon sèl-Off ke mwen toujou jwenn yo dwe se plezi Cal.
Se konsa, remake lè mwen se nan sa a bèl mòd plen ekran-, mwen pa gen okenn tèt tankou
ba zouti oswa nenpòt bagay.
Se konsa, Cal jis ban m 'yon ti kras bèl kalandriye sa a, se dwa
kounye a koupe, mwen sipoze.
Men, bèl lòd ti kras.
>> JOSEPH: Li se [fèbl].
Lòt kòmandman ke ou ta ka gen wè gen ladan rezone, epi fè.
Nou pral ale sou yo nan plis detay pita.
Men, si ou ve yo te ap travay sou PSET a, ou ta dwe
abitye avèk sa yo.
>> ROB: Tout dwat.
Kesyon sou lòd liy bagay sa yo?
Tout dwa.
Se konsa, kite a deplase sou kèk Ki gen rapò ak C bagay.
Varyab matematik.
OK.
Se konsa, jis tankou nou te gen matematik nan grafouyen, ou ka tou itilize matematik nan C.
>> Anvan nou jwenn ak sa yo ki antyèman, Se konsa, varyab.
Sonje ke chak fwa ou deklare yon varyab tankou Int x oswa flote y, ou
oblije bay li tape anvan non an varyab.
Se konsa, kalite nou te wè byen lwen tèlman yo se Int, flote, doub, depi lontan lontan, ki mwen
pa aktyèlman konnen si nou te gen wè sa twò lwen.
>> Gen kèk lòt moun.
Nou te wè Char.
Genyen ti bout tan, ki se tankou li a nan opoze a depi lontan lontan kote li nan
ki pi piti pase yon nonb antye relatif.
Nou wè jan fisèl.
Se konsa, sa ki espesyal sou fisèl?
Poukisa pou m 'ta di li nan pa byen tankou Int?
>> Oratè 4: Li pa reyèlman egziste.
>> ROB: Yeah.
Se konsa, rezon ki fè la sèlman nou gen fil se paske lè ou fè
hash, gen ladan yo cs50.h.
Apre sa, nou pral wè egzanp sou sa a pita - oh, ki pa ka manyen ki byen -
kote cs50.h ap fè yon bagay sou liy yo nan kalite
def, zetwal Char, fisèl.
>> Se konsa, ki nan ki di ke nou pa fè sa menm konnen ki sa yon etwal Char se ankò.
Men, sa a ap di nou vle fisèl.
Nenpòt kote ou ve yo te lè l sèvi avèk fisèl, ou te kapab lè l sèvi avèk zetwal Char,
ki aktyèlman se yon kalite ki egziste nan lang lan C.
Men, nou pral jwenn nan sa.
Oh, ak li ale dwat tounen.
Byen òdone.
>> Se konsa, menm bagay ak bouleen kote vrè ak fo.
Sa se pa reyèlman yon kalite bati-an nan C. Olye de sa, li jis, sa a gen
valè zewo a?
Lè sa a, nou pral jis konsidere li nan dwe bay manti.
sa a gen valè nan -
byen, sa a gen nenpòt valè ki pa zewo?
Lè sa a, nou pral konsidere li yo dwe vre.
Se konsa, yon sèl se vre, de se vre, anyen zewo a se vre.
Se konsa, sa yo se sa yo.
Kesyon sou deklare varyab ak kalite varyab ansanm ak tout sa?
Yeah.
>> Oratè 4: Pou lontan lontan, nan liv la, li te di ke li te dwe depi lontan Int lontan.
Men, yo pral jis tan lontan travay?
>> ROB: Se konsa, modifye sa yo ki kalite.
Se konsa, Int x.
Se konsa, nou ka di tou siye Int x.
Nou ka di Int kout x.
Nou ka di depi lontan lontan Int x.
Men, bèl anpil nenpòt nan bagay sa yo mwen jis te di, siye Int, Int ti bout tan,
lontan lontan Int, ou ka debarase m de Int a epi li pral jis asime
ke ou te vle di Int.
X Se konsa, siye, ki jis vle di -
ou konnen ki jan nòmalman ak yon Int, ou ka di x egal negatif 3?
Avèk yon Int siye, ou pa kapab.
>> JOSEPH: Li di ankò, pou kamera a, nan kesyon te, ki sa ki diferans ki genyen
ant long Int long ak jis tan lontan?
>> ROB: Yeah.
Se konsa, mwen pral prèske pa janm ekri long lontan Int.
Mwen pral ekri long lontan.
>> JOSEPH: Nenpòt kesyon?
>> ROB: OK.
Se konsa, komik ti kras rapèl la sa a, se ki jan nou deklare yon varyab ak inisyalize
varyab la ak deklare yon lòt varyab ak inisyalize
li tout nan yon sèl etap.
Se konsa, deklarasyon an nan varyab la ak varyab la inisyalizasyon pa gen
men yo ka sou liy la menm.
>> Se konsa, nou gen operatè yo matematik estanda ke w ap itilize yo -
plis, mwens, divize, fwa.
Genyen tou modulo, ki nou pral wè.
Gen se pa, nan omwen nan C, yon pouvwa bati-an
exponentiation Lambda operatè.
Oke, gen yon operatè Lambda, men li pa pouvwa.
>> JOSEPH: Men, li pa nan exponentiation, repons lan se wi.
>> ROB: Pa sèvi ak Lambda la ou panse ke li vle di
tankou kare oswa kèlkeswa sa.
Se konsa, kèk bagay kenbe nan lide sou divizyon.
Mwen pral kanpe.
Se konsa, te deklare repons inisyalize.
Se konsa, nou ap di repons flote egal 1 divize pa 10.
Enprime repons a de kote desimal.
>> Lè sa a se sòt nan bagay ke mwen ta nonm printf figi konnen ki
sa èk la%, dot, 2F vle di?
Epi ki jis vle di, byen, inyore 0.2 la.
Apre sa,%, f se sa nou itilize ekri ak lèt ​​detache flote.
0.2 a ap di, ekri AN LÈT MAJISKIL flote nan de kote desimal.
Se konsa, pwogram sa a gen yon ensèk, epi ou ta ka te wè sa a anvan nan kèk
anvan CS kou.
Men, sa ki se ke ensèk?
>> Oratè 5: zewo.
>> ROB: Yeah.
Se konsa, lè nou di, repons egal 1 divize pa 10, nou vle a
reponn yo dwe 0.1.
Men, 1 divize pa 10, 1 se yon nonb antye ki pè, 10 se yon nonb antye.
Se konsa, lè nou fè yon nonb antye relatif divize pa yon nonb antye relatif, nou pwal jwenn tounen
yon nonb antye relatif.
Se konsa, 1 divize pa 10 se 0.1.
>> Depi li bezwen yo ban nou yon nonb antye relatif, li jis ale nan jete ki
kote desimal ak di ke repons lan se 0.
Se konsa, lè nou ekri ak lèt ​​detache reponn isit la, li pral ekri ak lèt ​​detache 0.00.
>> JOSEPH: Ak jis kòm yon nòt, li aktyèlman lanse lwen sa ki nan apre a
pwen desimal.
Se konsa, si ou olye te gen 6 divize pa 10, ou ta ka panse ke li ta ba ou
0.6 ak Lè sa a, ou ta awondi jiska 1.
Men, aktyèlman, sa k ap pase lè li tape travay li se ke li gout ki sa ki
apre pwen desimal la.
Se konsa, 0.6 vin 0.
>> ROB: Yeah.
Epitou, n ap di tronke pou sa.
Se konsa, chak fwa ou jete nan yon Int, se desimal a twonke.
Se konsa, ranje a pou sa - gen nan aktyèlman de.
Apre sa, mwen pral fè sa dezyèm lan, paske yon sèl sa a se yon ranje pi fasil.
>> Se konsa, yon sèl ranje se sèvi ak flote nan divizyon an.
E reyèlman, ou gen sèlman yo fè yon sèl nan mitan yo yon flote.
Men, li la yon ti jan pi klè jis fè tou de peyi yo flote.
Se konsa, 1.0 divize pa 10.0 se divize de flote.
Se konsa, repons lan pral yo te fini yon flote, epi konsa ou pral
kòrèkteman ekri ak lèt ​​detache 0.10 isit la.
>> Yon bagay ki pa travay byen sou ki se, byen, asire w, li te fasil
ase konvèti 1 nan yon flote pa fè li 1.0.
Men, sa ki si olye nou te gen de nonm antye tankou Int x egal 1 ak Int y
egal 10, ak Lè sa a, nou te vle x divize pa y?
Se konsa, li pa fasil a jis fè x.0 oswa yon bagay.
>> Se konsa, ranje a ak sa yo ki se depoze.
Se konsa, depoze se yon fason nan C konvèti soti nan yon kalite varyab nan yon lòt.
Se konsa, isit la, 1 se yon nonb antye.
Apre sa, pa mete flote sa a nan devan li, n ap depoze 1 nan yon flote.
Se konsa, sa a pral konvèti 1 an nan yon 1.0.
Lè sa a pral konvèti 10 an nan yon 10.0.
>> Lè sa a, bagay sa yo konpòte yo menm bagay ak nan vèsyon anvan nou jis te montre
kote, jan yo espere, nou jwenn 0.10 epi li pral ekri ak lèt ​​detache sa a.
Apre sa, nou ka fè sa a ak varyab, tou.
Se konsa, nou ka di, flote x divize pa flote y.
>> JOSEPH: Nenpòt kesyon?
>> ROB: Se konsa, jis tankou nan matematik regilye, nou gen operatè priyorite.
Se konsa, nan kou matematik, w ap plis chans yo rele li lòd operasyon.
Isit la, tèm nan ofisyèl se operatè priyorite.
Men, priyorite a operatè, oswa ki pi operatè yo, se tankou ou ta atann.
>> Se konsa, jis tankou nan matematik, 2 fwa 10 se yo pral gwoupe yo pi plis pase
sa a 10 divize pa 2 ak Lè sa a, 2.
Lòd la nan operasyon yo, li pral fè 2 fwa 10, 10 divize pa 2, ak Lè sa a,
li pral fè 20 plis 5 plis 2.
Se konsa, li jan yo espere a, epi ou ka sèvi ak parantèz ekspresyon an gwoup.
Ou pa ka sèvi ak kwochè ekspresyon an gwoup.
Yeah?
>> Oratè 5: Èske ou ta kapab aktyèlman jis tounen yon dezyèm?
Èske ou ka voye yon Int nan yon fisèl?
>> ROB: Se konsa, nan C, ou ka jete anyen ou vle anyen ou vle.
Sa pa vle di li nan yon bon bagay yo fè.
Se konsa, lè ou voye yon Int yon kòd, sa vle di -
epi n ap jwenn nan sa a pi plis byen -
>> JOSEPH: Anpil pita.
>> ROB: Mwen pa t 'vle di anpil pita, Se konsa, mwen te eseye chanje fraz mwen.
Nou pral jwenn nan li pi plis byen pita kote reyèlman lè ou gen yon
fisèl varyab -
Se konsa, yon kòd yo ka abitrèman lontan, dwa?
Apre sa, nou ve yo te di ke yon Int se kat bytes ak tan lontan se uit
bytes ak yon flote se kat bytes.
Se konsa, yon kòd, jis tankou yon Int, se sèlman gen yon sèten kantite bytes nan li.
Apre sa, ki pral kat bytes.
>> Men, yon kòd ka trè abitrèman lontan, dwa?
Se konsa, alo mond deja, si sa a, se 10 karaktè oswa kèlkeswa sa, ki nan deja
pral fè plis pase 4 bytes yo Mwen ka anfòm nan yon kòd.
Se konsa, ki jan strings reyèlman travay se ke yo kote nan memwa ki fisèl
se ke yo te kenbe.
>> Se konsa, sou isit la, lè m 'di fisèl x egal mond hello, andedan nan x se
jis li di yo: oh, alo mond ki estoke nan kote sa a an patikilye nan memwa.
Se konsa, si nou eseye jete yon nonb antye nan yon fisèl, lè sa a nou ap eseye entèprete
kèk pati o aza nan memwa kòm yon kòd.
Epi ki prèske toujou kraze bagay sa yo.
>> JOSEPH: Men, si ke confondre ou, nou pral kouvri li
plis nan pwofondè pita.
>> ROB: Yeah.
Sa a se kote w ap ale jwenn nan pwent.
Apre sa, ki se yon moso enpòtan nan de semèn nan kou sa a.
>> Oratè 6: li travay tankou objè nan lòt lang yo oswa pa vrèman?
>> ROB: Se konsa, nan lòt lang ki, objè ta dwe reprezante lè l sèvi avèk endikasyon.
Li pa menm bagay la, menm si.
Nenpòt panse?
>> JOSEPH: No
Pa gen panse.
>> ROB: OK.
>> JOSEPH: kap vini an.
>> ROB: Jis ale ak sa.
Tout dwa.
Se konsa, modulo.
Jis tankou nou gen plis, mwens, divize, anpil pitit.
Se konsa, modulo se youn ou ka pa gen pou wè anvan.
Apre sa, li jis di, bay m 'rès la nan.
Se konsa, 55% 10.
Rès la nan fè 55 divize pa 10 ta dwe 5.
Se konsa, 55% 10 se 5.
Ak 3% 5 ta dwe 3.
8% 8 yo pral 0.
16% 15 yo pral 1.
>> JOSEPH: Youn nan bagay sonje ak sa a, tou, se li ka pa travay jan yo espere
si ou itilize yon chif negatif.
Se konsa, negatif 5% 4, gen kèk moun ki ta ka panse ke se -
ki sa ou ta panse negatif 5% 4 ta dwe?
>> Oratè 5: Yon.
>> JOSEPH: Se konsa, gen kèk moun ki di yon sèl, gen kèk moun ki di yon sèl negatif.
Men, sa ki -
>> ROB: mwen pa ta menm gen te di youn nan sa yo.
>> JOSEPH: De, regrèt.
Gen kèk moun ki di -
>> ROB: Twa.
>> JOSEPH: Twa?
>> ROB: negatif -
sa ki te - senk an negatif -
>> JOSEPH: Twa, twa, twa.
M regrèt.
Paske modulo, jeneralman, lè ou te wè li yon lòt kote, li souvan sa vle di
retounen yon chif pozitif, dwa?
>> ROB: Se konsa, lè nou di nan matematik,% 10 an, yo gen tandans vle bay ou -
si nou mod pa 10, Lè sa a, nou espere jwenn yon nimewo ant 0 ak 9.
Nan isit la, se sa ki pa ka a ke ou ap jwenn nimewo negatif tounen.
>> JOSEPH: Se konsa, negatif 5% 4 ta dwe negatif 1.
>> ROB: Men, li la ki ra ke w ap Mod-egziste nimewo negatif yo kòmanse avèk yo.
Sote sa a.
>> JOSEPH: Yeah.
>> ROB: me.
OK.
Se konsa, yon dènye bagay nan pwen soti sou flote se li nan yon konpòtman danjere,
men flote yo pa yon egzak reprezantasyon.
Se konsa, pral tounen nan bytes ankò, sonje ke yon Int se toujou kat bytes ak yon
flote se toujou kat bytes.
Se konsa, egzanp Lucas a se trè bon.
>> Se konsa, panse nan 1 divize pa 3.
Se konsa, 0,3333333.
Si m 'sèlman gen 32 Bits, kouman yo ka Mwen sere 0,33333 egzakteman?
E petèt, pou kèlkeswa rezon, nou di: tout dwa, byen, kite yo jis di
ke sa a 1011001 patikilye, se pou yo jis di ke yo ta dwe 0,333333.
Oke, ou sèlman gen yon nimewo fini nan sa yo Bits, donk li enposib
reprezante tout yon sèl pwen k ap flote valè yo bay jis 32 miyèt moso.
>> Byen, li enposib reprezante nenpòt ki valè k ap flote pwen yo bay enfini -
byen, yo bay nenpòt ki nimewo fini nan miyèt moso.
Se konsa, pwoblèm nan isit la se, byen, lè nou itilize ekri ak lèt ​​detache nan de kote desimal,
nou t 'kòrèkteman jwenn repons lan 0.10.
Men, anba kapo a, li vrèman yo te ki estoke kòm fèmen ke posib
0.10 tankou moun yo Bits ka reprezante.
Èske sa se sou pwochen glise a?
Oubyen èske se pa?
>> JOSEPH: Yeah, li nan sa.
>> ROB: Blegh, blegh.
>> JOSEPH: Yeah, ou kapab jis rale nòt yo moute yon ti jan.
>> ROB: Mwen jis ale nan rale an sou dènye a sou sa.
Oh mwen bondye papa, ki nan [fèbl].
Se konsa, ki kantite.
Se pou sa ke yo pral enprime si nou kouri pwogram sa a.
Apre sa, remake sa a, se pa reyèlman yon kontra gwo si nou ap sèlman pran swen sou tankou
de a twa kote desimal.
Menm jan ak nou sèlman orijinal enprime 0.10, ak Se poutèt sa nou te wè pa gen anyen ki mal.
Men, yon fwa nou kòmanse ap resevwa nan la egzak, nimewo egzak ke li nan
reprezante, nou wè ke li pa kapab egzakteman reprezante 0.1.
>> Ak yon pati nan pwoblèm nan isit la se tankou, tout dwa, sa a, se bon, men, byen,
premye, sa ki si nou te eseye fè sa, repons egal egal 0.1?
Eske se sa ke ale nan retounen vre oubyen fo?
Se konsa, li difisil di yo.
Mwen panse ke li aktyèlman ta ka retounen vre.
Èske li an premye -
Mwen pa konnen.
Repons lan se yon fwa ou kòmanse fè fas ak valè k ap flote pwen, ou trè
anpil pa ta dwe lè l sèvi avèk egalite paske yo te enpresizyon sa a.
>> Apre sa, pou tout sa ou konnen, li santyèm ki kote desimal ki nan
k ap flote pwen pa t 'kapab kòrèkteman okipe.
Se konsa, egalite pral jis febli menm menm si nimewo a - si ou te
lè l sèvi avèk nimewo egzak, nimewo a ta dwe yo te egzakteman menm bagay la.
Li nan sou kou a nan tankou 50 kalkil lè l sèvi avèk sa yo k ap flote
valè pwen, erè a kapab bati leve, li leve, li moute, ak
bagay sa yo jis jwenn sa ki mal.
>> JOSEPH: Apre sa, te gen reyèlman egzanp pi popilè nan sa kap pase.
Menm jan ak enjenyè NASA yo vin sa a sa ki mal, sa ki lakòz wokèt eksploze nan
lè a apre yo fin ve yo te lanse.
Ak anpil nan pwoblèm tankou sa.
Se konsa, yeah.
>> Oratè 6: Lè ou di 0.3 f, li tronke lòt bagay yo?
Oswa li awondi monte oswa desann?
>> ROB: Èske printf wonn li?
>> JOSEPH: Mwen panse ke tronk printf.
>> ROB: OK.
Se konsa, nou ka Menm jan an tou ale nan opoze a direksyon nan kote sa a, nan ka sa a,
pi pre a li te kapab reprezante 0.1 te la avèk nimewo sa a.
Ki pi pre a li ta kapab kapab reprezante 0.2 se nan opoze a
direksyon, 0,199999996356 oswa yon bagay.
Se konsa, si nou te ale nan ki direksyon nan bagay sa yo, Lè sa a, printf 0.3 f ta retounen
1.99 olye pou yo 2.00.
>> JOSEPH: Apre sa, mwen pa se antyèman asire w ke sou sa.
Ou ta ka vle ekri yon piti, ti kras pwogram nan jis tcheke sa a.
>> ROB: Menm si, sa ki nou se asire w nan se ke si ou te eseye jete ki nan yon
Int, ak depoze nan yon Int ki pral fè yon sèl tronke desimal a, si
ou eseye jete 1.9999999 nan yon Int, ou pral jwenn 1.
Se konsa, ou ta dwe jeneralman itilize a fonksyon wonn nan bibliyotèk la matematik.
Kesyon?
OK.
>> JOSEPH: Se konsa, deplase sou kondisyon ak ekspresyon Boolean.
Se konsa, ou gen pou wè sa yo anvan.
Apre sa, aktyèlman, kite m 'asire w ke mwen òdinatè a nan fòma an dwa isit la.
Espas.
Padon, nou pral gen kontra yon ti kras ak coupure nan bor yo.
>> Men, yeah, ou nèg te wè sa a anvan nan grate.
Se konsa, dwa sa-a isit la se yon ekspresyon ki te itilize nan
yon deklarasyon kondisyonèl.
Se konsa, reponn pi gran pase zewo volonte di nou vre oubyen fo.
Apre sa, sa yo, se vrèman enpòtan, paske yo pèmèt nou prezante
lojik nan Kòd nou an.
>> Se konsa, pou egzanp, sa a se yon pwogram ekri nan reyur ki mande itilizatè a
pou yon nonb antye ki pè epi li di yo si wi ou non nonb antye ki pè a yo ke yo te ban nou te yon
nimewo pozitif osnon negatif.
Apre sa, konvèsyon an sou isit la yo wè se ou premye enprime soti deklarasyon an,
ban m 'yon nonb antye relatif.
Lè sa a, ou mande yo pou yon nonb antye relatif.
>> Lè sa a, ou sèvi ak kondisyonèl lojik sou isit la yo tcheke si ladan nimewo
te aktyèlman pi gran pase zewo oswa ou pa.
Se konsa, isit la nou gen yon ekspresyon Boolean andedan nan yon kondisyonèl Si deklarasyon.
Èske gen nenpòt kesyon?
Èske gen nenpòt kesyon sou sa?
OK.
>> Se konsa, gen nan plis pase jis pi gran pase, nan kou.
Ou ka konstwi ekspresyon Boolean lè l sèvi avèk pi fò nan kalite yo de bagay sa yo ou
ta panse a nan matematik.
Se konsa, ki pi konsekan pase.
Sa ta dwe gen yon pi piti pase.
M regrèt.
Ak espas la.
>> ROB: Mande Bondye padon ou kite l '.
>> JOSEPH: Tout dwat.
Se konsa, ki pi konsekan pase, mwens pase, pi gwo pase, oswa egal a, mwens
pase, oswa egal a.
Nou itilize egal doub yo tcheke pou egalite, paske yon sèl egal vle di
plasman, dwa?
Wi.
Lè sa a, nou ka tou pa egal pa lè l sèvi avèk esklamasyon make, egal.
>> Lè sa a senbòl esklamasyon mak kapab tou dwe pwolonje pou ke si ou vle
Invert nenpòt ki sòt de Boolean ekspresyon, ou ka fè sa.
Se konsa, sa a ap evalye vre sèlman si repons lan se mwens
pase oswa egal a zewo.
Nenpòt kesyon sou sa?
OK.
>> Se konsa, ou ka tou konbine sa yo ekspresyon lè l sèvi avèk lojik ak ak
lojik oswa.
Se konsa, sa a se jis senbòl la, epi, ki ta dwe chanjman, 7.
Lè sa a se senbòl la tiyo, ki se pa yon ka pi ba L. Li nan youn nan
sa a, se dwa pi wo a antre nan kle ou.
Se konsa, ou sèvi ak de nan sa yo senbolize ki lojik e ki lojik a oswa.
>> Se konsa, sa a pral sèlman retounen vre si repons se youn, de, twa, oswa kat.
Lè sa a pral sèlman retounen vre si repons ale pi lwen ke sou chak bò.
Se konsa, li pa gen yon sèl, de, twa, oswa kat.
Apre sa, wout la ou ta sèvi ak ki nan yon ekspresyon -
>> ROB: Oswa yon zewo oswa yon senk.
>> JOSEPH: Zewo oswa yon senk.
M regrèt.
Wi, repons lan se wi, wi.
OK.
Apre sa, sou isit la kounye a, menm jan an ou ta sèvi ak ki ekspresyon, yon pi piti
ekspresyon bò nan yon Si kondisyonèl deklarasyon, ou ta tou sèvi ak li nan
menm jan pa jis mete l andedan nan parantèz ki nan deklarasyon an Si.
Se konsa, printf sa a pral sèlman dife si repons se youn, de, twa, oswa kat.
Nenpòt kesyon sou mete ansanm ekspresyon?
>> Se konsa, gen nan yon lòt kondisyonèl konstwi nou rele yon Si / Lòt Bagay.
Se konsa, fondamantalman, sa a kounye a vle di, OK, Si yon bagay mwen te vle tcheke pa t '
vre, Lè sa a, ale nan Lòt Bagay la ak fè ke lòt aksyon.
Se konsa, nan ka sa a an patikilye, mwen te mande itilizatè a pou yon nonb antye ki pè.
Èske nonb antye ki pè a pi gran pase zewo?
Wi?
Oke, lè sa a yo pran yon chif pozitif.
Si ou pa, Lè sa a, li dwe gen te negatif oswa yon zewo.
Se konsa, ou pran yon chif negatif oswa yon zewo nan ka sa a.
Wi.
Oswa yon zewo.
>> Lè sa a, nou menm tou nou gen Si / Lòt Bagay, Si ak Lòt Bagay.
Se konsa, sa a pèmèt nou egzekite yon sekans bagay sa yo sèlman si yo menm ki premye febli.
Se konsa, nan ka sa a, kounye a nou ap fè yon sèl ki sot pase a ou chwazi zewo.
Se konsa, si yo pa ni pran yon pozitif ni yon nimewo negatif, lè sa a yo dwe
yo te pran zewo.
Se konsa, li jis desann nan chèn tankou sa a.
>> Se konsa, yon egzanp sou kouman yon Si se diferan de -
yon Si / Lòt Bagay ki diferan de jis yon sekans ifs.
Lè sa a se yon kesyon komen ki moun mande ki, byen, si w ap resevwa tankou yon
95 nan CS50, ki sa ki pral sa a pwogram di ou?
>> Oratè 5: Ou te resevwa yon A.
>> JOSEPH: Wi.
Ou te resevwa tout yon sèl youn nan moun ki dwat.
Ou te resevwa yon A, ou te resevwa yon B, ou te resevwa yon C ak yon D, dwa?
Se konsa, tout moun sa yo fè evalye nan lòd.
Se konsa, pandan yon 95 Kisa ki pi konsekan pase 90, li nan tou pi gran pase 80, li la tou
pi gran pase 70, epi li tou pi gran pase 60.
Se konsa, ou te resevwa tout moun ki klas.
Apre sa, mwen sipoze ou ta sèlman vle A. la
>> Wout ki mennen nan ranje se sa ki ranplase moun ki gen Lòt Bagay / Si la.
Se konsa, nan senaryo sa a, li wè ke 95 se pi gran pase 90, ak Lè sa a, li fè sa
pa evalye rès la nan deklarasyon sa yo.
Nenpòt kesyon sou sa?
>> Se konsa, gen nan yon lòt kalite kondisyonèl nan estrikti ki nou gen isit la ki nou
rele yon deklarasyon ki chanje kay.
Se konsa, sa a pèmèt ou fondamantalman tcheke sa ki valè a nan yon kantite ou mete
nan deklarasyon an switch se.
Se konsa, nan senaryo sa a, n ap oblije chanje sou n yo, epi nou ap di, o, si n se
yon sèl, Lè sa a, ekri ak lèt ​​detache ki deklarasyon.
Lè sa a, kraze, ki vle di sòti soti nan deklarasyon an switch.
>> Si li pa t 'yon sèl, Lè sa a,, byen, jis evantyèlman tcheke tout nan ka sa yo.
Se konsa, li tcheke si li nan youn oubyen de oswa twa, epi li simagri kòmsadwa.
Ak sa ki sa a mo kle default desann isit la vle di se si yo pa t 'antre nan nenpòt
nan tout sa yo, lè sa a di valab.
Se konsa, kite a di mwen mande pou n ak itilizatè a ban m 'kat.
Oke, li alimèt Pa gen yonn nan ka sa yo, se konsa li pral enprime konnen ki sa ki la nan la
seksyon defo.
Wi, kesyon?
>> Oratè 5: Èske ou ka sèvi ak Boolean ekspresyon olye pou yo
yonn, de, oswa twa?
>> JOSEPH: Se konsa, kesyon an ki ou ka sèvi ak Ekspresyon Boolean olye pou yo yon sèl,
de, ak twa?
Ak nan C, mwen kwè ou pa ka fè sa.
Men, nan lòt lang yo, ki ou ka rankontre nan fen a
semès tankou JavaScript, ou kapab.
Oke, ou ta gen kalkile premye ki valè ak Lè sa a, sèvi ak li nan la
chanje deklarasyon.
Yeah?
>> ROB: Se konsa, yon pati nan benefis nan switch deklarasyon ki panse a si ou te fè sa a
kòm yon Si / Lòt Bagay, Se konsa, tankou si n egal egal yon oswa kèlkeswa sa.
Lòt Bagay / Si n egal egal de, kèlkeswa sa.
Lòt Bagay / Si n egal egal twa.
Se konsa, wout la pwogram nan ta kouri se li ta sekans desann ke lis
epi tcheke, se N yon sèl?
Non.
Èske n de?
Non.
Èske n twa?
Yeah.
Fè sa.
>> Lè nou konsidere ke ak deklarasyon switch, li nan aktyèlman kapab konpile li nan dwe
reyèlman vit.
Apre sa, le pli vit ke li di switch, li di, tout dwa, n se de, se mwen menm
imedyatman ale nan Ale nan kote Mwen te sipoze kòmanse egzekite.
Mwen pa pwal nan premye chèk, se n yon sèl, se n de?
Li kapab imedyatman kòmanse fè ki sa li sipoze fè.
>> Men, akòz sa a, li pa kapab pran kondisyon Boolean.
Oswa lòt moun li ta dwe fè nan sekans, tankou yo, tout dwat, se n
pi gran pase zewo?
Lòt Bagay se n pi gran pase 10 oswa kèlkeswa sa.
>> JOSEPH: Nan ka sa a, si ou te itilize Si / Lòt Bagay, Si a, Lè sa a, switch la ta
kouri apeprè twa fwa pi vit pase Si / Lòt Bagay, Si la.
Nou ka òganize switch la nan sa yo yon fason ke nou pa kraze
yo apre chak nan ka yo.
Se konsa, nan ka sa a, mwen moun ki jwe wòl la nimewo yo ke nou chwazi nan yon sèl ak
de ke yo te pa nimewo segondè, epi twa ke yo te yon nimewo segondè.
>> Se konsa, nan ka sa a, si n se youn oubyen de, li pral frape ka a ak Lè sa a, li pral
tonbe nan, paske pa gen okenn repo.
Epi li pral fini isit la.
Se konsa, si nou chwazi youn, li pral fè printf la ak Lè sa a, kraze se konsa ke Pa gen yonn nan
sa a se egzekite.
Ak nan kou, si yo antre nan twa oswa yon lòt bagay, Lè sa a, li pral sote
sa yo epi yo pa ale la, epi li ap egzekite olye nan
ki koresponn liy.
Èske gen nenpòt kesyon sou sa?
Wi?
>> Oratè 4: Èske ou ta jwenn yon erè si ou te gen yon ti repo apre ka yon sèl men li
pa t 'gen yon bagay pou li fè?
>> JOSEPH: Se konsa, kesyon an ki ta ou jwenn yon erè si ou gen yon ti repo apre
ka gen yon sèl men pa gen anyen fè?
Apre sa, repons la se non.
Ou pa pral aktyèlman jwenn yon erè.
Yeah, mm hmm.
>> Se konsa, kòm sòt de yon ti kras chanjman isit la, Mwen pral mete yon printf isit la.
Whoops.
Se konsa, sa ki ta sa a ekri an lèt detache si Mwen mete yon sèl nan kòm opinyon?
Yeah.
Li ta di ou li pa t 'pran yon nimewo gwo de fwa, dwa?
Paske li ta frape ke ka an premye, li pa ta kraze, epi li ta ka tonbe
a la ka, dezyèm lan.
Nenpòt kesyon sou sa?
>> ROB: Èske ou te gen yon lòt kesyon?
>> JOSEPH: OK, fre.
Tout dwa.
Se konsa, gen yon lòt bagay nou rele yon tèrsyèr operatè ki se fondamantalman yon
lòt sentaks nan fè Si ak Lè sa a, Lòt Bagay.
Apre sa, li pèmèt ou fè li tout sou yon sèl liy.
Se konsa, nan pwogram sa a an patikilye, Mwen mande itilizatè a pou n.
Men, si n pi gran pase 100, m'ap di yo, yo pran yon kantite segondè.
Lòt Bagay m'ap di yo, yo pran yon nimewo ki ba.
>> Se konsa, nou ka sèvi ak sa a sentaks reyèlman long, fisèl, S, ak Lè sa a, tcheke si n se
pi gran pase 100 epi bay li kòmsadwa.
Men, nou ka fè sa-a pi plis brèf lè l sèvi avèk operatè sa a sentaks tèrsyèr
ki gen ladan yon kesyon make ak yon kolon.
Se konsa, make nan kesyon se esansyèlman mande yon kesyon, dwa?
>> ROB: Petèt rale nan sou sa.
>> JOSEPH: Wi.
Bon pwen.
Se konsa, sa a se operatè a tèrsyèr.
M 'premye mande kesyon an, se n pi gran pase 100?
Si li se, Lè sa a, mwen egzekite premye a pati devan kolon an.
Si li pa, Lè sa a, mwen egzekite la dezyèm pati apre kolon an.
Se konsa, si n pi gran pase 100, Lè sa a, li chwazi segondè epi mete
ki nan fisèl la.
Si n se mwens pase 100, li chwazi ki ba ak Lè sa a, mete sa nan fisèl la.
Se konsa, ki pral kondanse moso sa a gwo desann nan sèlman sa liy yon sèl.
>> Oratè 5: Eske se sa ke popilè?
>> JOSEPH: Wi, li se byen popilè pou bagay sa yo kote esansyèlman ou vle
yon devwa ki baze sou kèk sòt de kondisyon.
Apre sa, nan ka sa a, nou t ap eseye eseye chwazi yon valè nan fisèl la.
Li nan pa konsa pou sa -
Mwen devine mwen pa reyèlman pito li nan kèk lòt ka.
Men, li la itil espesyalman pou plasman sa a.
>> ROB: Sa se yon modèl trè komen ki kote ou gen kèk varyab ki gen pou
w ap ale nan di, si yon bagay, mete varyab sa a nan yon sèl valè; lòt moun, mete
varyab sa a nan yon lòt valè.
Apre sa se senaryo a kote sèvi ak yon tèrsyèr.
>> JOSEPH: Apre sa, w ap ekonomize anpil nan liy, dwa?
Apre sa, li jis fè kòd ou joui yon ti jan ti kras pi plis lizib.
Wi, kesyon?
>> Oratè 6: Pou yon tèrsyèr, te kapab ou ale, egal fisèl la a, kesyon mak?
Lè sa a, ou ta ka genyen, di, senk opsyon diferan.
Apre sa, depann sou sa ki ki kantite n te, ou ta chwazi youn nan sa yo?
>> JOSEPH: Se konsa, kesyon an se, èske gen yon sòt de sentaks kote ou ka fè fil
s egal n, ak Lè sa a, gen plis pase de opsyon apre sa mak kesyon?
Epi yon repons ki senp gen okenn, gen nan pa reyèlman yon bon fason fè sa sof si
ou vle fè nich tèrsyèr miltip Operatè andedan nan chak lòt.
>> Ou te kapab fè tankou n pi gran pase 100, kesyon mak, ak Lè sa a, yon lòt
tèrsyèr operatè, n pi gran pase 50, pwen entèwogasyon, ak nich li fason sa.
Men, nan ki senaryo, kòd ou a ap resevwa kalite ilizibl ak sal,
ak li ta ka pi bon yo jis ale nan yon deklarasyon Si / Lòt Bagay nan pwen sa.
>> ROB: Epi tou, kòm yon nòt bò, PHP mal aplike tèrsyèr la
operatè sa yo ki ternaries enbrike pa menm travay kòm yo ta dwe.
>> JOSEPH: Yeah.
Se konsa, li vin yon ti jan konfizyon, espesyalman lè ou ale
nan diferan lang.
>> ROB: Li konfizyon ase ki lang se sa ki mal sou li.
>> JOSEPH: Se konsa, aktyèlman, jis klarifye, tout moun konnen ki sa ki
% S fè plis pase isit la?
Nenpòt kesyon sou sa?
Mwen devine jis pou kamera a,% s la fondamantalman pèmèt nou mete yon kontneur
pou yon kòd.
Lè sa a, nan fen a, nou presize ki la varyab nou vle mete nan sa a
detantè kote se s.
Se konsa, ki fondamantalman pran s epi li mete l 'nan isit la.
Lè sa a, li pral enprime soti, ou pran yon wo oswa ou pran yon nimewo ki ba.
OK.
>> Se konsa, pasan pèmèt ou fè bagay sa yo nan mosyon sikilè, dwa?
Ou ka gen rankontre sa a nan Grafouyen nan fòm lan nan pou tout tan pasan
oswa Repete jiskaske oswa Repete yon patikilye kantite fwa.
Se konsa, poukisa sa a bon pou nou?
Oke, nan C, kite a di nou gen sa a chante aplike nan reyur ki
chante, sa a se chante sa a, ki pa janm fini.
Li jis ale sou yo ak sou sou yo ak sou sou pou tout tan ak pou tout tan.
Oke, ou pa ka vrèman fè yon pwogram ki gen yon nonb infini nan printf
deklarasyon nan li, dwa?
>> Se konsa, nan senaryo sa a an patikilye, yon fason ke ou ta ka fè travay sa a ak
fè li ekri ak lèt ​​detache pou tout tan se olye pou sèvi ak yon bouk Pandan ke.
Se konsa, yon bouk Pandan ke yo ap egzekite sa ki nan nan kò a nan de aparèy òtopedik yo ki
ki dwe nan li ki baze sou sa ki kondisyon an se.
Se konsa, nan sa a egzanp patikilye anvan, si nou vle ekri ak lèt ​​detache sa a pou tout tan, sa ki
ta ka nou fè?
Oke, asire w ke, dwa?
>> Se konsa, sa a sòt de konbine lide nan nan kèk ekspresyon Boolean
ansanm ak yon bouk.
Lèfini, nou te aprann enfòmasyon sou Boolean ekspresyon pi bonè.
Se konsa, chak fwa kondisyon an andedan nan ke pandan ke rete vre, sa a bouk
ap egzekite sou yo ak sou sou yo ak sou sou.
Apre sa, nan ka sa a, si nou jis bay li ak vre, sa a lakòz yon enfini
bouk ki simagri chante sa a, sou, epi sou yo, epi sou jan nou vle anvan san yo pa
li te gen yon pwogram ki gen yon enfini nimewo nan deklarasyon printf, ki se
pa posib.
>> Se konsa, plis irezistibleman, menm si, ou ka itilize sa a ak yon
varyab ak yon kondisyon.
Se konsa, kite a di nou vle repete la fraz, totalman ravaje, 10 fwa.
Se konsa, sa ou kapab fè avèk yon bouk Pandan ke se ou ka premye inisyalize yon vann san preskripsyon
varyab deyò nan a Pandan ke bouk a 10.
Lè sa a, fondamantalman, chak fwa ou ale nan bouk la Pandan ke, ou enprime soti
deklarasyon an ak Lè sa a, ou diminye nan vann san preskripsyon varyab jouk nan fen a,
nan kèk pwen, yon fwa n ap retire mwen ase fwa, 1 soti nan mwen ase fwa -
ak jis klarifye, mwen mwens mwens vle di mwen egal Mwen mwens 1.
>> Ki pral fondamantalman pote m 'desann nan la pwen kote yon fwa mwen frape zewo, sa a
kondisyon li gen plis vrè ak se konsa li sòti soti nan bouk la.
Se konsa, totalman ravaje sèlman simagri 10 fwa.
Nenpòt kesyon sou yon bouk Pandan ke?
OK.
>> Se konsa, gen se yon fason nou kapab fè sa nou jis te fè nan yon fason ki pi kout ak
sa nou rele yon Pou bouk.
Se konsa, yon bouk Pou konsiste de yon inisyalizasyon, yon kondisyon, ak yon
aktyalizasyon, jis tankou nou te gen anvan nan sa a bouk Pandan ke.
Se konsa, kite a pran yon gade.
Nan sa a bouk Pandan ke, nou te gen yon inisyalizasyon, lè sa a nou te gen yon
kondisyon ke nou w tcheke yo.
Lè sa a, nou te gen yon ajou etap nan tèt la.
>> Avèk yon bouk Pou, sa a fondamantalman pran twa bagay sa yo ak kondans li
desann nan yon sèl liy.
Se konsa, premye bagay la ke li fè nan la Pou bouk se inisyalizasyon la.
Lè sa a, ou fè yon pwenvigil, ak Lè sa a, ou fè kondisyon an, ki se mwen
pi gran pase zewo ale la a, ak Lè sa a, etap la aktyalizasyon.
Se konsa, sa a vin fèt nan la trè fen nan kò a bouk.
Se konsa, de pwogram sa yo, se esansyèlman ekivalan.
>> Nenpòt kesyon?
Se konsa, sa a se yon diferans ki genyen ant de sa yo?
Èske nenpòt moun lonje dwèt li soti?
Li ta kapab yon ti jan sibtil.
Se jis yon ti diferans.
Wi?
>> Oratè 5: Ou pa ta dwe kapab sèvi ak varyab la mwen andeyò Pou bouk la
[Fèbl]?
>> JOSEPH: Egzakteman.
Se konsa, sa a se yon bagay nou pral jwenn yo pita rele sijè ki abòde varyab.
Men, esansyèlman, sa a int mwen lavi deyò nan sa a bouk Pandan ke.
Se konsa, yon fwa sa a se bouk Pandan ke fè egzekite, mwen pral kapab sèvi ak mwen pita
sou nan pwogram nan.
>> Lè nou konsidere ke ak sa a Pou bouk, Int sa a, mwen se scoped andedan nan sa a pou bouk.
Apre sa, paske li se andedan nan pòsyon sa a nan bouk la Pou, ki kòmanse
nan parantèz yo epi li fini ak atèl a Curly laba a.
Nenpòt bagay ki nan te deklare andedan nan isit la pa kapab itilize deyò.
Se konsa, si mwen eseye sèvi ak mwen deyò, li pral fè m 'konnen, senbòl deklare.
Apre sa, esansyèlman, mwen pa ta kapab sèvi ak li.
>> ROB: Apre sa, byen, 10 zan de sa, nan literalman tout ka yo, aparèy òtopedik Curly yo
ki sa ou lan itilize detèmine sijè ki abòde lan yon varyab.
Se konsa, nan la, int mwen egal 10 se te deklare andedan nan sa a
mete nan aparèy òtopedik Curly.
Se konsa, Lè sa a, osi lontan ke ou eseye sèvi ak mwen anvan atèl sa a Curly, li la amann.
Ou ta ka wè lè ou tape fè, ou wè priz, priz, maladi seksyèl, egal, c99.
>> Se konsa, ki se yon vèsyon pita nan C ki GCC te aplike ki tou bay
sa a chemen kout.
Se konsa, sa a itilize pa t 'dwe pèmèt nan C. Apre sa, ou ka wè poukisa, paske Int sa a
Mwen se deyò nan aparèy sa a Curly men li la toujou konsidere kòm yo dwe nan la
sijè ki abòde nan sa yo aparèy òtopedik Curly.
Men, sa a se yon bagay trè pratik, ak kidonk li se yon ekstansyon bon.
>> JOSEPH: Nenpòt kesyon?
OK.
Se konsa, sa ki nan pi plis itil se ke pafwa ou vle sòt de dinamik nan
bouk ou, dwa?
Ou pa vle jis nesesèman ekri an lèt detache totalman ravaje tout tan tout tan an, ou
vle konte desann soti nan 10 oswa yon bagay.
Se konsa, ou ka sèvi ak varyab la vann san preskripsyon andedan nan ki bouk kòm byen.
Apre sa, nan ka sa a, pwogram sa a jis konte desann soti nan 10 tout wout la desann.
Epi ki sa li pa ekri ak lèt ​​detache?
Li pa ekri ak lèt ​​detache zewo, dwat, paske lè -
Wi, li tou pa ekri ak lèt ​​detache 11.
>> Se konsa, li pa ekri ak lèt ​​detache zewo, paske lè Mwen se zewo, sonje, li evalye
kondisyon an anvan li ale sou al touye kò a bouk.
Lè m 'se zewo, sa a se fo, Se konsa, li pa enprime soti konte desann
zewo, li jis simagri soti konte desann 10 tout wout la desann nan 1.
Si nou aktyèlman te vle li ekri ak lèt ​​detache zewo, Lè sa a, nou ta mete yon siy egal
apre sa a pi gran pase mirak.
OK.
>> Se konsa, yon sèl fason yo fè validation D ', ki se lè ou mande itilizatè a fè
yon bagay, ou vle asire w ke yo swiv enstriksyon ou a, se sèvi ak
bouk la Pandan ke, dwa?
Se konsa, nan ka sa a an patikilye, mwen mande pou yon nimewo pozitif ak Lè sa a, mwen se
ap tann pou D '.
>> Lè sa a, mwen tcheke Pandan ke D 'a se mwens pase zewo, kontinye mande sa yo.
Se konsa, osi lontan ke yo ban m 'yon kantite ki pa pozitif, kontinye mande sa,
kontinye mande, kontinye mande sa.
Men, sa ki se sòt de etranj sou sa a?
Oswa sa ki pa sanble pi bon sou estrikti sa a isit la?
Nenpòt moun ki?
Wi?
>> Oratè 6: Ou ap repete enstriksyon an de fwa.
>> JOSEPH: Dwa.
Se konsa, nou gen de deklarasyon printf isit la, dwa?
Se konsa, gen se yon fason nou te ka jwenn sa a jis desann nan yon sèl ki ta fè nou
Kòd pi fasil li ak yon ti kras pi plis ki pwòp.
Lè sa a, nou pa ta gen te Jwenn nan de fwa tou.
Apre sa, yon fason ou ka fè sa se lè l sèvi avèk yon bouk fè-Pandan ke.
>> Apre sa, yon bouk fè-Pandan ke se fondamantalman yon diferan fòm nan yon bouk Pandan ke kote
tou sa se nan aparèy òtopedik yo Curly vin egzekite omwen yon fwa.
Se konsa, nan isit la, mwen deklare, Int D ', andeyò premye.
Lè sa a, mwen jis di, fè sa enstriksyon pandan y ap D '
se mwens pase zewo.
Se konsa, li frape Èske a an premye.
Li ap toujou egzekite sa a omwen yon fwa, se konsa li ap toujou mande itilizatè a
pou D 'omwen yon fwa.
Lè sa a, li evalye ke opinyon, epi li ale sou nan yon sèk.
Wi, kesyon?
>> Oratè 6: Èske gen yon fason fè li [Fèbl] kalite, tankou si ou di,
GetString, ak yon moun [fèbl]
ki gen la yon fason yo [fèbl]
>> JOSEPH: Se konsa, kesyon an se, èske gen yon fason yo fè validation D 'si itilizatè a
pa mete nan dwa pou di ki kalite varyab?
Se konsa, si nou mande pou yon Int epi yo ban nou yon kòd pito.
Ak nan fonksyon sa yo ke nou aplike pou ou, GetInt, GetString nan tout
moun ki fonksyon yo, yo aktyèlman deja fè sa sòt de D 'di ki kalite debaz
Validasyon anba kapo a.
Se konsa, si w ap itilize fonksyon sa yo ke nou te ban nou, ou pa reyèlman gen.
>> Men, si ou vle gade pi plis nan ki jan ou ka aktyèlman fè sa, ou ka gade
anba kapo a nan dosye a I/O--
pa fé, fonksyon yo, mwen / O estanda tankou yon lekti ki soti nan opinyon estanda ak
estanda pwodiksyon.
Apre sa, ou kapab jwenn yon sans pi bon sou kouman ou ta ka fè sa.
>> ROB: Yon pwoblèm, menm si, se espesyalman ak egzanp lan ou
te di, ou espere yon fisèl ak mwen antre nan yon Int.
Kouman ou ta di diferans ki genyen ant entansyonèlman vle a
fisèl 123 kont vle 123 an Int?
Se konsa, fisèl, li te bèl anpil gen nan pa gen Validasyon, li jis tou sa yo
te antre nan ou pral entèprete kòm yon kòd.
>> Int se pi fasil, paske la pa gen pwoblèm D 'ou pran soti nan itilizatè a, se ou ki
toujou pran yon kòd.
Se konsa, ki fil ou kapab Lè sa a, tcheke, se tout moun sa yo
aktyèlman nimerik chif?
>> JOSEPH: OK.
Nenpòt kesyon sou yon bouk fè-Pandan ke?
>> ROB: Oh, ak sa a se tou -
pral tounen nan sijè ki abòde, yon yon ti jan komen erè ap eseye sèvi ak kèk lokal
varyab soti nan sa a fè-Pandan ke bouk andedan nan kondisyon sa a.
Apre sa, aktyèlman, si nou jis te debarase m de sa a, li di: D 'Int egal
GetInt, lè sa a du a ap rele sou nou, paske D 'pa egziste
deyò nan sijè ki abòde lan sa yo aparèy òtopedik Curly.
>> JOSEPH: Epi sa a, poukisa nou bezwen pwogramasyon sa a isit la.
OK.
Se konsa, ou ka tou kraze soti nan yon bouk byen bonè si ou vle.
Se konsa, sa a se yon fason diferan pou mete ann aplikasyon sa nou jis aplike.
Apre sa, olye pou yo lè l sèvi avèk kondisyon an nan parantèz yo, n ap sèvi ak yon
Si deklarasyon andedan nan kò a nan bouk la fè-Pandan ke.
>> Apre sa, fondamantalman, lè opinyon an se finalman pi gran pase zewo, n ap
kraze soti nan bouk la.
Se konsa, nou pral ale tout wout la desann isit la.
Apre sa, ou ka wè ke sa a ta pwobableman ap pi pito nan sa a
senaryo, paske li nan yon ti kras ti jan pi pwòp ak yon ti kras
ti jan pi fasil li.
Lè nou konsidere ke sa a, ou sòt de gen liy siplemantè nan li.
Se jis yon ti jan uglier, Mwen devine, nan yon sans.
Wi, kesyon?
>> Oratè 4: pral kraze sèlman jwenn nou soti kite peyi yon sèl seri aparèy òtopedik?
>> JOSEPH: Dwa.
Se konsa, kesyon an pral kraze sèlman fè ou jwenn soti nan yon sèl bouk?
Apre sa, repons lan se wi.
Se konsa, si ou te pare solèy Pou pasan, pou egzanp, si mwen gen pou Int mwen egal 0
jouk 10 ak Lè sa a, Pou Int J egal 0 jouk 10, si mwen kraze soti nan anndan an
bouk, mwen pral toujou ale bouk la deyò.
Se konsa, li pwal kenbe fè a operasyon sou deyò an.
Nenpòt kesyon sou sa?
Wi?
>> Oratè 5: Men, kraze sèlman fonksyon pou aparèy òtopedik Curly, pa pou lòt
deklarasyon?
[Fèbl]
>> JOSEPH: Se konsa, kesyon an ki pral kraze sèlman fonksyon pou pasan kòm opoze a
lòt deklarasyon tankou Si?
Apre sa, repons lan se wi, se sa ki ka a, paske w ap kraze soti nan yon bouk, dwat,
nan yon sans.
>> ROB: Nan a vas majorite de ka yo, li nan sa a se sòt nan Si yon bagay,
Lè sa a, chire.
Se konsa, ou pa bezwen kase pou aplike pou Si a ki vlope fè wonn li.
Epi tou, sa a se pa anpil nan yon bouk, men sonje ke switch yo tou
kase soti nan pa repo.
Nou te wè repo ki te itilize ak switch anvan.
>> JOSEPH: Apre sa, ou ka tou itilize yo nan pasan Pandan ke ak Pou pasan.
Nenpòt kesyon?
OK.
Se konsa, pwochen moute se fonksyon.
Se konsa, ou ta ka te itilize youn nan sa yo BYOB blòk nan pwojè reyur ou.
Lè sa a fondamantalman pèmèt ou defini yon seri
enstriksyon yo dwe swiv.
>> Apre sa, sa mwen vle di pa se sa ki kite a panse tounen nan matematik, dwa, aljèb.
Ou gen sa nou rele yon fonksyon nan x, kèk varyab, ak kite a di sa a
fonksyon se f nan x egal x plis 5.
Se konsa, ou ka panse a f nan x tankou sa a nwa bwat ki pran 15 an ak Lè sa a,
pwodui 20.
>> Se konsa, plis jeneralman, yon fonksyon se yon bagay ki pran kèk entrain ak
Lè sa a, pwodui kèk rezilta.
Epi poukisa yo se fonksyon sa ki bon?
Yo ap bon pou yon kantite rezon.
Se konsa, yon moun vle pran yon koud nan sa ki òganizasyon vle di?
An tèm de poukisa fonksyon yo itil?
Wi?
>> Oratè 4: Li fè ou Kòd plis lizib.
>> JOSEPH: Dwa.
Se konsa, youn nan bagay ki se li fè Kòd ou plis lizib, dwa?
Olye pou yo gen tankou Int x egal x fwa x fwa x, mwen ka gen kib nan x,
ki se pi plis lizib ak plis ankò konprann nan yon lektè.
>> Òganizasyon tou se an tèm de divize moute Kòd ou nan dosil
pòsyon, se konsa ke olye pou yo ap eseye aplike sa a tout nan yon sèl seksyon long
nan prensipal yo, ou ka sòt de fann l ' nan tankou, OK, se pou yo ekri yon fonksyon
kib yon bagay, se pou yo ekri yon fonksyone nan kare yon bagay.
Nan fason sa a ou ka fann li moute nan ti, ti kras pati ke ou ka atake
kòm opoze a ap eseye atake yon gwo pwoblèm tout nan yon fwa.
>> ROB: Oswa menm ti, pati yo ki ou menm ak yon patnè ka atake.
>> JOSEPH: Yeah.
>> ROB: Se konsa, olye pou yo tou de ou ap eseye implant yon sèl
fonksyone nan menm tan an.
>> JOSEPH: Senplifikasyon.
Nenpòt moun ki vle pran yon devine?
Wi?
>> Oratè 5: Plis repetisyon.
>> JOSEPH: Dwa.
Se konsa, yon sèl bagay ke ou ka fè ak senplifikasyon se ke li nan sòt de sou
liy yo menm jan ak re-D 'se ke yon fwa mwen ekri yon fonksyon kib, mwen kapab
jis itilize ki sou yo ak sou yo ak sou ankò nan pwogram mwen an olye pou yo sezisman
x fwa x fwa x sou yo ak sou yo ak sou ankò.
Apre sa, senplifikasyon isit la tou jis vle di li fè sòt Kòd ou nan
pi fasil yo debug yon fwa ou fann moute sa a nan fonksyon.
Paske lè sa a ou ka lokaliz kote pwoblèm ou sòt de yo.
Nenpòt kesyon?
>> Se konsa, yon lòt lide se distraksyon, dwa?
Sa a bwat nwa.
Tankou ou konnen ki sa GetInt fè yo resevwa enfòmasyon nan men itilizatè a?
Nou pa te reyèlman te di ou, dwa?
Tout sa nou te di ou se GetInt fè egzakteman sa li di li fè sa.
Se konsa, menm si nou pa fè w konnen kouman li ap travay, ou toujou konnen.
>> Se konsa, nan ka sa a an patikilye, sa a se yon fonksyon kat fwa ki fè
bagay diferan nan yon D ' yo pwodwi yon pwodiksyon.
Epi ou ka kat fwa yon kantite pa miltipliye li pa kat.
Oswa ou ka sa nou rele ti jan chanjman li pa de.
Epitou, n ap kouvri sa a yon ti kras pita.
Apre sa, gen nan pa gen bezwen konnen ki jan sa a fonksyon aktyèlman ap travay osi lontan ke li
ap travay jan sa endike.
>> Se konsa, anba kapo a, mwen te kapab fè tankou, retounen fwa D '
uit divize pa de.
Epi ou pa ta renmen konnen, dwa?
Tout sa ou bezwen konnen se li fè sa li di.
Se konsa, sa a, se bagay ki itil sou distraksyon.
>> Ak yon lòt bagay se sòt de ide sa a nan lokalizasyon Kòd ou a yon
patikilye seksyon.
Se konsa, si ou fè gen yon pwoblèm, ou pa fè sa gen yo ale tout lòt peyi sou Kòd ou ap eseye
ranje kote pwoblèm lan te ye.
Se konsa, nan ka sa a, mwen aplike kib sa ki mal.
Mwen te panse kib te miltipliye pa twa.
>> Se konsa, nan ka sa a, sa a se yon pwogram ki jis te miltipliye pa twa
toupatou.
Apre sa, se yon lòt pwogram ki gen faktè kib deyò nan yon fonksyon.
Se konsa, kounye a si mwen vle ranje erè mwen isit la, mwen gen ranje chak sèl liy
nan kòd nan pwogram sa a.
Lè nou konsidere ke nan lòt men an, si mwen sèvi ak nan fonksyon, mwen sèlman bezwen chanje
sa ki te mal nan yon sèl kote.
>> Se konsa, nan syans òdinatè, nou rele entrain yo ak kontribisyon.
Entran yo rele yo paramèt oswa agiman, ak rezilta yo rele yo
retounen valè.
Apre sa, nou pral wè ki jan sa a ede nou sòt nan defini yon fonksyon nan yon dezyèm fwa.
Se konsa, sa a se yon definisyon fonksyon pou cubing.
Se konsa, li pran yon D ', ak Lè sa a, li retounen ke fwa nimewo
tèt li twa fwa.
Se konsa, kite a kraze sa a desann.
>> Se konsa, nou gen yon header fonksyon, ki fondamantalman gen ladan twa bagay sa yo.
Se konsa, nou gen paramèt yo, ki yo, jan mwen te di anvan, nan
entrain nan fonksyon sa a.
Lè sa a, nou bay fonksyon an yon non.
Nan ka sa a, sa yo rele li kib.
Lè sa a, nou presize ki kalite a ki gen valè nan retounen se.
>> Se konsa, nan ka sa a, fonksyon kib m ' pran nan yon nonb antye ki pè ak li tou
retounen yon nonb antye relatif.
Se konsa, si, fòk mwen pase nan de, de se yon nonb antye, li retounen uit m ', ki
se yon nonb antye.
Se konsa, retounen di ki kalite paramèt Non.
Kesyon sou sa?
>> Lè sa a, valè a retounen se aktyèlman espesifye nan fen a lè li di retounen
ak Lè sa a, retounen tou sa gen valè nan retou.
Se konsa, nan ka sa a, si nou mete l 'tout ansanm, yon fonksyon pran nan
paramèt, sa yo rele li yon bagay, ak li retounen yon bagay ki se kalite a
ke nou di ke li te ale yo dwe.
Nenpòt kesyon?
>> Se konsa, kouman nou itilize yon fonksyon?
Oke, nou ekri yon fonksyon ak Lè sa a, nou sèvi ak li nan pwogram nou an, dwa?
Se konsa, mwen rele l 'kib, ak Lè sa a, mwen kapab itilize kib.
>> Men, sa ki nan enpòtan sonje se lòd ke zafè.
Si mwen gen kib pi ba a prensipal la, li nan ale nan kouri antre nan kib.
Apre sa, nan pwen sa a, pa gen anyen rele kib nan pwogram nan, epi li
jis pral fè tankou, mwen gen gen okenn lide ki sa kib se.
>> Se konsa, li pral di w, enplisit deklarasyon nan fonksyon.
Sa a erè a ki montre yo.
Se konsa, nan ka sa a, kib se anba a prensipal yo, konsa li pa k ap pase
konnen sou li.
>> Oratè 5: Se konsa, prensipal la se anjeneral fonksyon an dènye yo defini?
>> JOSEPH: Se konsa, kesyon an se, se prensipal anjeneral dènye a
bagay ke ou ta defini?
E pa gen.
Li nan paske anjeneral nou renmen prensipal yo dwe nan tèt la, dwa?
Paske sa a, se premye bagay ou vle pwogramè a louvri nan
pwogram yo wè.
Se konsa, ki jan nou rezoud pwoblèm sa a nan nou vle prensipal yo dwe nan tèt la, men nan
fonksyon ki nou vle, nou vle yo yo dwe pi ba a prensipal ankò kapab sèvi ak
yo andedan nan prensipal yo?
>> Oke, nou itilize sa nou rele yon pwototip fonksyon.
Se konsa, sa yon pwototip fonksyon esansyèlman se se li premye pran sa
siyati a oswa header nan fonksyon nan ki sa nou vle aplike desann
isit la, epi nou mete l 'nan tèt la nan yon pwogram.
>> Se konsa, nan ka sa a, nou di ke, byen, pita sou nan pwogram nou an, nou pwal
fè yon pwomès aplike sa a fonksyon rele kib Int, ki te pran
yon D 'nonb antye ki pè.
Se konsa, koulye a, paske sa se pi wo a prensipal la, prensipal yo, li pral vle di, o, byen,
pita nan pwogram nan, ki k ap pase yo dwe gen pou m ka al gade nan li, se konsa mwen pral
jis kite l 'ale nan pou kounye a.
>> Lè sa a, nan pati anba a, nou aplike kib.
Lè sa a, prensipal pral jis di, byen, li pral sòt de lyen
de senbòl sa yo ansanm.
Epitou, n ap kouvri sa ki vle di pita sou.
Se konsa, li pral konnen ke sa a se nan fonksyon kib ke li ta dwe itilize.
>> ROB: [nan fèbl] sou vle prensipal nan pati anba a oswa
tèt, mwen te wè tou de.
Gen anpil bagay ki jis renmen yo mete prensipal nan pati anba a.
Men, yon fwa yon pwojè vin patikilyèman gwo, anjeneral, prensipal la se nan yon
ranpli tout pwòp li yo.
Apre sa, nan ki pwen, tankou nan liy kib Int ta -
andedan nan stdio.h yo se yon pakèt nan liy jis tankou sa Int
liy opinyon Int kib.
>> Se konsa, sa yo prototip yo se bagay ou yo gen tandans mete nan dosye header, nan
ki pwen, li pa gen pwoblèm.
Oke, li pa gen pwoblèm.
Moun sa yo ki toujou ale nan tèt la.
Men, si prensipal se pa yon dosye tout pwòp li yo, ou pa gen enkyete sou mete
prototip fonksyon endividyèl nan dosye a.
>> JOSEPH: Epitou, n ap jwenn ke yon ti ti jan pita, lè Rob kòmanse pale
sou konpile.
Se konsa, gen nan tou yon diferans ant paramèt ak diskisyon.
Apre sa, paramèt se sèlman sa ki nou rele entrain sa yo lè
nou defini fonksyon an.
Apre sa, nou rele li yon diskisyon lè nou aktyèlman pase l 'nan fonksyon an.
>> Se konsa, nan ka sa a, sa a se yon paramèt, jan nou te di anvan.
Men, lè nou aktyèlman sèvi ak li la a, kib nan x, Lè sa a, x tèt li se
sa nou rele yon agiman kib la fonksyon.
>> ROB: Se konsa, agiman paramèt nan yo -
gen distenksyon sa a, anpil konfonn interchangeable.
Nan pwen sa a, m ', li la tankou yonn nan mo sa yo ke lè mwen wè li soti nan
bwa a, mwen pa ka ede men imedyatman kesyon si wi ou non yo lè l sèvi avèk li nan
kontèks ki kòrèk la, paske la diferans se sibtil ase ki jis
tout moun gen tandans -
Mwen prèske toujou di agiman kèlkeswa sa mwen vle di.
>> JOSEPH: ak fonksyon yo tou itil pou sa nou rele efè segondè yo.
Se konsa, yon fonksyon ka pran pa gen okenn entrain, ak li kapab tou pwodwi pa gen okenn rezilta.
Se konsa, nan ka sa a an patikilye, se mwen menm defini yon woutin ki pa gen okenn
retounen valè.
Apre sa, yo nan lòd yo presize sa, nou itilize sa nou rele yon anile sou isit la.
Se konsa, efè a bò nan fonksyon sa a se ke li jis simagri bagay
soti nan paj la.
Li pa aktyèlman pran okenn entrain, epi li fè sa ki pa
aktyèlman pwodwi nenpòt ki rezilta.
>> Men, sa a ka itil nan sans nan si ou vle, pou egzanp, debug
yon bagay nan pwogram ou an, si ou vle yo ekri yon ti kras woutin ki
simagri soti, kite a di, sa ki nan memwa oswa yon bagay.
Se konsa, efè segondè sa yo, se pafwa itil deyò kontèks la
nan jis tankou entrain yo ak kontribisyon.
Nenpòt kesyon?
>> Apre sa, mete fen nan segman sa a an patikilye, sa pwogram sa a fè?
Mwen pral ba w mesye yon koup la segonn li atravè li.
Nan yon nivo trè debaz yo, sa nou vle di se ke li echanj x ak y, dwa?
>> Se konsa, ki jan anpil nan ou aktyèlman panse sa a pral swap x ak y?
Leve men ou.
Pa gen moun ki.
OK.
Ki moun ki panse ke li pral pa swap x ak y?
Apre sa, sòm total la nan sa ki te pa sal la tout antye.
Se konsa, gen kèk moun ki pa fin sèten.
OK.
Sa a ki rezonab.
>> Se konsa, kite a ale nan sa ki pase lè ou aktyèlman rele fonksyon an premye nan
lòd yo reponn kesyon sa a.
Se konsa, sa a se sa memwa sòt de sanble.
Sa a se sòt de tankou yon modèl senplifye nan sa ki memwa sanble lè
ou kouri yon pwogram.
Se konsa, gen nan yon bagay yo rele chemine a desann isit la ak
yon bagay yo rele pil wòch la.
Apre sa, sa yo grandi nan direksyon pou nan memwa mitan yo.
>> Se konsa, nan ka sa a an patikilye, lè ou rele yon fonksyon, li
vin mete sou pil la.
Lè sa a, kèlkeswa sa ki genyen nan yo nan ki fonksyon rete nan sa nou rele ki
chemine ankadreman fonksyon an.
Se konsa, yo ka resevwa yon vizyalizasyon bèl nan sa a, let's - pou egzanp, nou te gen nan
prensipal pwogram pi bonè.
Apre sa, andedan nan prensipal yo, nou te rele kib.
Se konsa, prensipal ta premye ale nan chemine a ankadreman, paske li nan fonksyon an premye
ki nan rele.
>> Lè sa a, lè kib yo rele andedan nan prensipal yo, li vin mete sou tèt prensipal
andedan nan memwa.
Se konsa, sa ou ap remake isit la se ke kib gen pwòp paramèt li yo ak li yo
moun nan lokalite pwòp.
Se konsa, lè ou aktyèlman pase yon bagay yo yon fonksyon, paramèt yo ke li
vin se kopi nan sa ki te te pase nan soti nan prensipal la.
>> Men, sòt de esplike sa a, se pou yo mache atravè yon pwogram.
Se konsa, nou gen chemine a; sa a se jis pòsyon nan chemine.
Ak sa nou fè se nou premye inisyalize x ak y nan yon sèl ak de.
Se konsa, nou gen sa yo bwat ti kras.
Yo ap chita nan pil prensipal la ankadreman sou chemine a.
Yo genyen ladan yo youn ak de.
>> Koulye a, nou rele swap.
Kisa k ap pase se nou pase x ak y nan swap, ak swap kreye pwòp kopi li yo
nan tout sa yo varyab yo sèvi ak andedan nan ankadreman chemine li yo.
Se konsa, koulye la a, nou gen yon, ki gen valè nan ki x te genyen, b,
ki gen valè nan ki y te fè.
Se konsa, yonn, de,.
>> Apre sa, ou pral avi ke sa a se separe soti nan x ak y andedan nan prensipal la.
Se konsa, nou kounye a kreye yon pou yon ti tan varyab a ki genyen yon.
Nou mete yon egal a b, se konsa li chanjman nan youn a de.
Lè sa a, nou mete b egal temp, ki se youn.
>> Lè sa a, kounye a nou sòti deyò nan fonksyon sa a.
Lè ou sòti soti nan fonksyon an, nan chemine ankadreman vin déja nan chemine a.
Nou rele l 'pouse.
Ou pouse yon ankadreman chemine sou chemine a ak ou pòp si koupe chemine a.
Se konsa, sa k ap pase se tout bagay ki te nan ke pil ankadreman sòt de jis
ap moute nan flanm dife.
Se konsa, ke pa gen okenn egziste ankò.
>> Men, sa ki nou remake?
Nou pa janm aktyèlman chanje a valè x ak y, dwa?
Se konsa, moun te rete lokal yo prensipal la.
Apre sa, li pase bagay sa yo nan swap, nou aktyèlman pa janm chanje valè sa yo.
Apre sa, sa nou rele sa a?
Nou rele sa pase pa vo anyen.
>> Se konsa, nan C, lè ou pase bagay sa yo nan fonksyon, li pase yo pa valè ak
fè yon kopi yo pou fonksyon an yo sèvi ak.
Epitou, n ap aprann sou yon bagay yo rele pase pa referans pita, men sa a
yon fason ou ka rezoud pwoblèm sa a.
Men, nou pa pral enkyete l sou sa jouk lè pita.
>> ROB: Apre sa, aktyèlman, ke tèm, pase pa referans, se konsa C pa menm gen
pase nan Référansman.
C sèlman te pase nan valè.
Pa gen pwoblèm sa ou fè sa, ou toujou pase yon kopi yon bagay.
Se jis sa a, tankou mwen sòt de mansyone ke anvan ak endikasyon
e ke yon kòd se reyèlman jis kat bytes montre yon sél kote dekwa nan memwa.
>> Oke, si mwen gen fil sa a, epi li nan di m 'ki se kote fisèl la -
byen, si mwen gen konsèy sa a nan sa a mete nan memwa, Lè sa a, mwen ka pase yon
kopi ki konsèy nan yon fonksyon, ak ki fonksyon toujou konnen ki kote nan
memwa li ye.
Se konsa de pitit endikasyon sa yo yo montre nan plas la menm nan memwa, ak
sa a, se ki jan nou ap ale nan kapab li modifye bagay sa yo pi lwen pase a
kounye a chemine ankadreman.
>> JOSEPH: ou vle fè konpile?
>> ROB: Non, li nan 5:30.
>> JOSEPH: OK.
Li se 5:30.
OK.
Se konsa, nou pral kouvri konpile Mwen devine nan pwochen seksyon an, oswa seksyon ou
lidè pral nan pwen sa.
Apre sa, -
>> ROB: Nenpòt kesyon?
>> JOSEPH: Nenpòt kesyon?
Wi?
>> Oratè 5: Sèvi ak strings soti nan CS50, nenpòt fonksyon ke nou vle itilize pou
sa a, pral tankou C fonksyon.
CS50 pa te ale nan ak te fè nenpòt ki lòt.
>> ROB: kòrèk la.
Nenpòt nan C a tankou [fèbl], ou ta sèvi ak sa ki sou strings nou an.
>> JOSEPH: Apre sa, yon dènye bagay mwen vle mansyone se ke nou gen yon gid style
pou klas sa a.
>> ROB: Oh, wi.
>> JOSEPH: Se konsa, si ou te soti nan yon pwogramasyon background anvan, ou
ka gen sèten konvansyon lè w ap ekri Kòd tankou mete
aparèy òtopedik sou liy lan menm oswa patikilye fason pou indenting
oswa nonmen varyab ou.
Nan klas sa a, nou vle swiv yon gid espesifik style jis paske,
byen, si ou ale deyò epi yo travay nan endistri yo, w ap ale nan dwe espere
yo swiv gid-la style a nan konpayi a ki ou ale nan.
>> Tankou pou egzanp, Facebook Mwen panse ke gen yon sòt patikilye nan nonmen
konvansyon.
Apre sa, nan diferans ki genyen ant chamo varyab aman ak jis tankou
separe yo ak evidans.
Epi tou, mwen panse ke sa ki pi enpòtan, tankou pou egzanp, dekoupaj, dwa?
>> Nou aparèy òtopedik Curly kòmanse kote kondisyon an se, epi yo
yo se sou liy la kap vini an.
Apre sa, nou menm tou nou mete aparèy òtopedik Curly nan menm si li nan yon sèl liy.
Ak yon anpil nan fwa, gen fason yo fè li kote ou ka kite aparèy òtopedik sa yo
koupe si li nan yon sèl liy anba deklarasyon an Si.
Men, nan klas sa a, nou vle swiv yon gid espesifik style jis pou ou jwenn
itilize ak sa yo ki sòt de bagay sa.
>> ROB: Yeah, ak Style 50 ki pral ranfòse gid sa a style, epi nou ap
pral sèvi ak Style 50 nan klas Kòd ou.
Se konsa, li fè bagay pi fasil pou nou ak èspere ke pa ta dwe fè bagay sa yo ke
pi mal pou ou bay la style ofisyèl pa ta dwe ki
ireyèl.
>> JOSEPH: E finalman, yo jwenn style la Gid, ale nan manual.cs50.net/style.
Apre sa, wi.
>> Oratè 4: Eske ou pral ranfòse nenpòt ki karaktè pou chak liy?
>> ROB: Wi.
>> JOSEPH: Padon, guys.
>> ROB: Sa se tankou yonn nan yo menm sèlman.
Nan pwen sa a, se mwen menm OK ak 120.
Mwen se OK ak li di 120 karaktè pou chak liy.
Mwen konprann gen ke yo te gen kèk limit.
Mwen panse ke 80 se konsa piti, men nou ap ranfòse li.
>> JOSEPH: Pèsonèlman, mwen panse ak C, 80 karaktè se pi plis OK.
Yon fwa ou kòmanse resevwa nan lòt lang tankou JavaScript ak PHP, pa
Se konsa, rezonab nan jis limite li a 80 karaktè.
OK.
Oke, sa ki te seksyon an super.
nenpòt moun ki vle sirèt?
>> Oratè 4: Wi.