[Powered by Google Translate] DAVID J. Malan: Tout dwa, sa a se CS50, e sa se nan
kòmanse nan semèn de.
Mèsi poutèt ou.
Se pou nou kòmanse isit la ak yon apèl nan telefòn.
Mwen sou yo rele 617-ensèk-CS50.
CS50: Sa a se CS50.
Pou Boy Shuttle, peze 1.
Pou yo kòmanse sou, peze 9.
DAVID J. Malan: Se konsa, li te di pou ti gason Shuttle, peze 1.
Se konsa, nou ap ale nan peze 1.
CS50: Ki sa ki orijin ou a?
Pou kwadwilatè, peze 1.
Mather, peze 2.
Boylston, peze 3.
Lamont, peze 4.
Manm Hall, peze 5.
Pou yo kòmanse sou, peze 0.
DAVID J. Malan: Nou pral peze 1 pou kwadwilatè.
CS50: shuttle Next kite sa a trè minit nan PM 1:10, ak
Lè sa a, nan 1:20 PM, 1:30 PM, 1:40 PM.
Sa a se CS50.
>> DAVID J. Malan: Se konsa, sa a se vwa CS50 a.
Epitou, se yon egzanp sou kalite ki nan pwojè final, pou
egzanp, ou ka mòde koupe nan direksyon
nan fen semès la.
Pou egzanp, ki shuttleboy.cs50.net egziste -
aktyèlman yon pwojè ke mwen te ekri premye apre w pran CS51
tounen lè m 'te yon bakaloreya.
Ak enspirasyon a isit la te tounen lè sa a, tout sa yo te te
orè yo enprime otobis navèt, ak pa te gen okenn
nosyon nan bagay sa yo kap moute sou entènèt.
Se poutèt sa mwen sòt de ti pijon nan yon sèl wikenn, vide nan la
enprime orè a, ak Port li nan yon pwogram òdinatè.
Nan moman sa a, pwogram nan òdinatè rive dwe ekri
nan C. Epi ou aktyèlman kouri li lè ou tape Boy Shuttle nan yon
kliyote vit tankou nou te toujou ap fè konsa byen lwen.
Men, sou ane yo, li te evolye nan yon moman
messagerie bot.
Li nan te evolye pi plis dènyèman nan sit wèb sa a, nan yon
SMS ki baze sou zouti, osi byen ke nan zouti sa a vwa-ki baze sou.
Ak sa a se allusion nan kalite ki nan bagay sa yo ke ou kapab
fè pou tèt ou nan fen semès la.
>> Pou egzanp, la, vèsyon an SMS nan Boy Shuttle k ap pase
yo opere jan sa a.
Si, nan telefòn selilè ou, ou voye yon mesaj tèks 41411 ak
Lè sa a, voye sboy nan senbòl espesyal, pou ti gason Shuttle,
ki te swiv pa A ak B yo, kote A se yon orijin ak B se yon
destinasyon -
pou egzanp, Boylston Espas kwadrilatèr -
sa ou ta dwe jwenn tounen nan yon kèk segond se yon tèks
mesaj soti nan Boy Shuttle di ou egzakteman lè a
pwochen navèt kèk yo se, ki soti nan ki pwen A ale nan ki
pwen B.
Ak sa a se yon egzanp plis jeneral de sa ki nan ke yo rekonèt kòm
lè l sèvi avèk yon API.
>> Se konsa, pou egzanp, sa a isit la se jis shuttleboy.cs50.net, nan
aktyèl ki baze sou wèb enkarnasyon sa a.
Men, done yo ki souligne sa a ak lòt apps ki CS50
te devlope, yo tout ekspoze a tout moun isit la nan fòm la
nan APIs, interfaces pwogramasyon aplikasyon.
Epi sa a, jis yon fason anpenpan pou m di ke moun ki renmen nou sou
te entènèt la ak lòt moun pase kèk tan kreye
lojisyèl ke ou ka itilize yo nan lòd yo gen tan pwan done ki sòti nan nou epi yo
Lè sa a, bati aplikasyon pou pwòp ou a sou tèt
nan ki mete done.
Se konsa, pou egzanp, sa a Boy paj API Shuttle isit la, ki
k ap pase yo nan manyèl la CS50, ki esansyèlman dokiman
kouman ou ka ale sou mande CS50 serveurs pou done.
Pou egzanp, si w ap abitye ak CSV dosye, vigil
separe valè, sa yo, se jis sòt de rapid ak sal
Excel ki tankou dosye.
Se konsa, ou kapab mande ti gason Shuttle pou tout moun nan done yo sou tout nan
kay epi koòdone GPS yo, epi yo ou pral jwenn
tounen, esansyèlman, yon calcul tankou sa ki
ou ka Lè sa a, li nan yon pwogram nan pwòp ou a ak Lè sa a,
jenere rezilta, tankou Boy Shuttle tèt li
k ap pase nan dwe ap fè.
Pou moun, plis abitye plis modèn reprezantasyon done
gen ladan yo JSON, JavaScript Notasyon objè.
Yon bagay yo pral tounen vin jwenn nou nan direksyon
nan fen semès la.
>> Men ankò, sa a se jis youn nan plizyè nan APIs pwòp CS50 a.
Epi bagay la enteresan se kounye a, jou sa yo, Facebook ak
Twitter ak Google ak bèl anpil chak sou sit wèb popilè soti
gen gen kèk sòt de API, ki vle di si w li nan
dokiman yo nan sit entènèt yo, ou ap enskri pou yon
kont, ou kapab Lè sa a, kòmanse ekri lojisyèl sou tèt
kèlkeswa sa zouti oswa done ke konpayi gen bay.
Se konsa, youn nan zanmi pwòp ansèyman nou yo yon ane koup do
te ekri yon vèsyon Mac sa a.
Se konsa, nan lyen sa ki gen tit Mac isit la sou bò gòch tèt, ou ka aktyèlman
telechaje yon Mac OS widje ki kouri sou pwòp Mac ou a fè nan
kalite menm nan bagay sa yo.
Se konsa, li tout sou bati sou tèt done aparèy televisyon HD tankou sa yo.
Men, plis sou sa nan direksyon nan fen semès la.
>> Se konsa, nan kite l 'plonje nan rapid reyèl nan yon ensèk, jis kalite jwenn
bagay sa yo t'ap chofe kò moute jodi a, e panse tounen sou kèk nan la
bagay sa yo nou te gade semèn dènye a.
An patikilye, kite m 'ale pi devan epi rale moute, di,
egzanp sa a isit la.
Buggy1.c, sa a se disponib sou sit wèb kou a nan Si w ta
renmen telechaje li ak pike alantou tèt ou.
Men, nan kite l 'rale nan isit la nan pwogram sa a san patipri kout, ak jis
yon rapèl super-vit nan kèk nan blòk yo bilding debaz ki
nou reyèlman yo ale nan jis kòmanse pran pou yo akòde.
>> Se konsa, bagay la ble, nan liy 1 jiska 9, yo se jis
sòfbòl kesyon.
Se konsa, sa yo, se jis kòmantè.
Yo pa gen okenn siyifikasyon fonksyonèl.
Men, yo ap kòmantè nan sans ke yo ap nòt ki
Se mwen menm, moun lan, te fè nan tèt mwen pou ke nan konferans ak apre
konferans, mwen ka aktyèlman sonje sa pwogram sa a
fè san yo pa gen li atravè li liy pa liy ak
rkree istwa nan tèt mwen.
Anplis, si mwen lage pwogram sa a nan yon lòt moun tankou
ou, li nan anpil pi klè nou la a, paske nan kòmantè tankou sa a,
ki sa pwogram nan la aktyèlman ap fè, oswa omwen sa ki nan
pwogram nan dwe fè.
Si ou pa li nan kòrèk la se yon lòt pwoblèm tout ansanm.
Koulye a, nan C, ak milti-liy kòmantè, sonje ke sou liy
yon sèl isit la se senbòl la majik, / *.
Sa vle di isit la vini nan kòmansman an nan yon kòmantè.
E pa gen anyen lòt bagay zafè jiskaske ou rive nan Terminator la fen,
ki se * /, opoze an.
Se konsa, reyalite a ke mwen gen 80-kèk zetwal enpè isit la soti nan
goch a dwat se reyèlman jis yon detay ayestetik.
Li pa gen okenn siyifikasyon fonksyonèl.
>> Koulye a, ki jan sou liy 11?
Ki sa sa fè an tèm pwofàn la?
Ki sa ki nan sa?
ODYANS: Gen ladan estanda a.
DAVID J. Malan: OK, bon.
Se konsa, li gen ladan bibliyotèk la stdio.h.
Se konsa, sa sa vle di?
Oke, andedan ke ranpli, stdio.h, tout yon seri de
fonksyon deklarasyon -
ki se, kòd ki yon lòt moun te ekri.
Ak yon egzanp pafè nan yon fonksyon ki nan te deklare nan
stdio.h se -
ki pi renmen nan kounye a?
Se konsa, printf, youn nan sa yo ki pi komen yo itilize, sètènman
byen bonè nan, ki soti nan ke bibliyotèk ki gen la.
Si m 'eskli ki liy nan kòd, rezone ki pral rele
nan m 'yon bagay sou lè l sèvi avèk yon senbòl sekrè.
Yon bagay deklare se pwobableman mo kle a, paske
nou pa gen enfòme du a sa printf sanble
renmen sof si nou gen ladan yo ki liy.
Ak plis ankò desann sou latè, reyèlman, ki sa sa liy la di la a se
louvri moute ki ranpli, stdio.h, nenpòt ki bò li se sou la nan sèvè
difisil kondwi, oswa difisil kondwi aparèy la, ak keratin kopi-li
dwa gen nan dosye mwen, san yo pa m '
gen fè sa manyèlman.
>> Koulye a, yon fwa nou jwenn desann isit la yo prensipal yo, anvan lontan nou pral kòmanse
moke apa sa ki int ak sa ki anile se.
Men, pou kounye a, se pou yo gade a nan twa liy ki
nan yon delè 15 a 17.
Sa a isit la mwen reklame kòm buggy.
Liyn 7 nan kòmantè mwen di "ta dwe enprime 10
asterisks, men se pa. "Poukisa sa a pa enprime, an reyalite,
10 zetwal sa yo?
ODYANS: [fèbl].
DAVID J. Malan: Egzakteman.
Se konsa, remake ke nou ap kòmanse konte soti nan 0.
Lè sa a se aktyèlman yon konvansyon nan pwogram ak
syans konpitè plis jeneralman, kòmanse konte
ki ant 0 olye pou yo 1.
Lè sa a vrèman jis proceed de la lefèt ke, pou
egzanp, lè nou te gen wit moun moute sou sèn nan, lè
okenn moun pat te ogmante men yo, yo te
tout efektivman zewo.
Se konsa, li jis kalite yon konvansyon òdinatè se konsa,
Se poutèt sa, yo kòmanse konte soti nan 0.
Si sa a, se nimewo ki pi ba a ou ka reprezante nan binè.
>> Se konsa, isit la nou te te kòmanse inisyalizin mwen a 0.
Nou te mete mwen egal a 0.
Men, Lè sa a, mwen te fè sa a erè isit la, li di mwen se mwens pase oswa
egal a 10.
Men, si ou panse ke nan, si mwen kòmanse nan 0 ak Lè sa a, m 'ale
jiska 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, m ap aktyèlman ale nan
enprime soti 11 zetwal yo ekran an, paske mwen te moute
pou ale ak pou egal a 10.
Se konsa, ranje ki pi fasil la isit la Lè sa a, se sa ki?
ODYANS: [fèbl].
DAVID J. Malan: Jis chanje li nan mwens pase.
Si ou reyèlman vle, ou ta ka fè sa.
Men, an jeneral, nan ki nan dezaprouve sou li.
Se konsa, kòmanse konte ki ant 0 a se jis yon bagay ou ta dwe
tipikman jwenn itilize.
Koulye a, sa ki sou sa a aranje antye nan ak tèt li?
Liy sa a 15 demarks yon pou riban.
Se konsa, pou se pa yon fonksyon.
Se jis nan yon deklarasyon.
Li se yon tise loupin, tankou nou te wè nan grafonyen moun.
Epi li gen twa pati.
Avi ki di ke gen yon pati nan premye
kite nan virgules la.
Genyen pati nan presegondè nan ant de virgules yo.
Lè sa a, gen nan pati nan men dwat-ou sou bò dwat la
nan virgules, dezyèm lan.
Koulye a, premye a nan sa yo fè ki sa?
ODYANS: [fèbl].
DAVID J. Malan: Retounen a?
Yeah?
ODYANS: inisyalizasyon.
>> DAVID J. Malan: inisyalizasyon.
Se konsa, sa sa vle di?
Nou yo te deklare yon varyab rele mwen.
Li se nan int kalite, paske mwen te espesifye int mwen.
Apre sa, mwen ap inisyalizin mwen valè a ki 0.
Se konsa, sa ki a sa a vrèman di a?
Li nan efektivman li di l òdinatè a hey, ban m 'ase
memwa, ase RAM, nan anfòm yon nimewo, ak Lè sa a, mete la
nimewo 0 nan ki ti moso nan RAM.
Epi kòm yon sou kote, ki jan gwo se yon int tipikman, omwen andedan
nan aparèy la?
ODYANS: 32 ti jan.
DAVID J. Malan: 32 Bits.
Se konsa, sa vle di, ban m '32 Bits, ki te rekonèt kòm 4 bytes,
epi li mete 0 a valè nan li, ki se trè fasil paske
li jis vle di mete tout Bits yo a 0.
>> Se konsa, koulye a, dezyèm pati a isit la se kondisyon an.
Ak kondisyon an, kòm non an sijere, se sa ki tcheke
ankò, li ankò e ankò kòm si li nan vrè oswa fo.
Se konsa, sa a se jis di fè liy ki annapre yo nan kòd -
savwa 16 liy, paske sa se youn nan sèlman utilize
anba -
toutotan mwen se mwens pase 10.
Ak apre chak iterasyon nan sa a riban, fè an
incrementation, ki nan ka sa a se mwen + +.
Kounye a, li pa gen yo dwe mwen + +.
Li te kapab mwen -.
Men, si m 'te fè sa a, sa ki konpòtman an pral
yo dwe nan pwogram sa a?
ODYANS: Li pral fè yon riban enfini.
DAVID J. Malan: Li pral fè kèk kalite riban enfini,
sof si nou jwenn chans apre 2 negatif milya dola oswa sa.
Petèt bagay sa yo pral vlope alantou li, jis pa nati a fini la
kantite Bits ke nou te resevwa lajan pou yon int.
Men, li la sètènman pral répétèr byen lwen plis pase 10 ak
sètènman plis pase 11 fwa isit la.
>> Epi, koulye a, jis kòm yon sou kote, reyalize ke mwen + + ak mwen -
yo se reyèlman jis Massachusetts Institute of Technology sik.
Se jis nan notasyon steno pou sa ki nan yon ti kras plis
fòmèlman alekri jan sa a:
mwen = mwen + 1.
Sa a se ki idantik ak mwen + +.
Li jis kalite sanble bèl pase yo di mwen + +.
Li nan plis somèr, plis lizib.
Se konsa, pifò moun fè sa pito.
Men sa se idantik woulant
ki sa nou jis te wè.
Se konsa, nan kout, ranje a rapid isit la se jis vle di répétèr mwen
ki ant 0 tout wout la jiska pi piti pase 10.
Lè sa a, nou pral jwenn tout bon 10 zetwal yo.
>> Se konsa, kite a eseye sa a.
Kite m 'louvri moute tèminal la nan pati anba nan.
Kite m 'ale nan anyè a ke sa a se pous
Ak mwen pral konpile li manyèlman ak sonnen pou kounye a.
Ak mwen pral konpile sa a kòm buggy1.c, Antre.
Epi, koulye a buggy1, poukisa ki gen la pa gen okenn dosye sa yo oswa anyè
rele buggy1?
ODYANS: [fèbl].
DAVID J. Malan: Yeah.
Se konsa, li la aktyèlman rele a.out.
Se konsa, sonje si ou jis kouri rezone, kote sonnen se nan
du, epi ou pa presize non a ou vle
bay nan pwogram ou an, li pral otomatikman a.out.
Se konsa, tout bon, si mwen fè ls -
Wouch.
Apre sa, mwen did - pwoblèm nan nwa-e-blan kèk nan
ou te fè fas ki te fiks yo.
Men, kite m 'fè sa.
Gen nou gen a.out ki sou bò gòch-men la.
Se konsa, nou gen kouri a.out olye pou yo buggy1.
>> Se konsa, kite m 'ale pi devan epi fè sa.
. / A.out, Antre.
Apre sa, mwen aparamman pa t 'fè ki sa?
ODYANS: Sove.
DAVID J. Malan: Sove dosye m 'yo.
Se konsa, ki fasil rezoud pa frape S kontwòl, oswa ale nan
File, Save, tankou nan pi fò pwogram yo.
Kite m 'ale desann isit la, klè ekran an, kouri l' ankò.
Ak gen nan toujou yon ensèk.
Se konsa, ki sa ki pwal -
ODYANS: Ou pa t 'konpile.
DAVID J. Malan: Ah, bon.
Mwen pa t 'konpile li.
Tankou yon moun sòt, m ap gade kòd la yo wè sa ki nan mal.
Se konsa, rezone buggy1.c, kounye a a.out.
Ak phew, sove.
>> Se konsa, li sanble yon ti kras lèd paske gen nan pa gen liy nouvo
nenpòt kote nan pwogram nan.
Men ankò, sa se sèlman yon detay ayestetik.
Ak omwen si nou konte sa yo soti, nou ta dwe
wè koulye a 10 zetwal sa yo.
Oke, sa ki sou egzanp sa a dezyèm cho-up?
Se konsa, nan buggy2, mwen reklamasyon ke sa a vèsyon, tou, pral enprime
10 etwal, youn pou chak liy.
Se konsa, tan sa a, mwen gen yon karaktè newline, jis fè
bagay sa yo yon ti kras bèl pase.
Men olye sa m 'jwenn se sa a.
Se konsa, kite m 'fè buggy2.c rezone, Antre.
Koulye a, li la ankò yo rele a.out.
Antre.
Mwen wè sèlman yon sèl nouvo liy, sèlman trè dènye liy lan nouvo ki
deplase rapid mwen an liy kap vini an.
Men, byen klè mwen te enprime *, Lè sa a, yon liy nouvo,
*, Lè sa a, yon liy nouvo.
Men, sa ki nan pinèz la isit la?
Yeah?
ODYANS: [fèbl].
>> DAVID J. Malan: Egzakteman.
Se konsa, kontrèman ak kèk lang, tankou Piton, kote dekoupaj
aktyèlman gen siyifikasyon fonksyonèl, nan yon
lang tankou C -
kòm nou pral wè, PHP, JavaScript -
mark a se vrèman jis pou benefis moun '.
Se konsa, lefèt ke mwen te utilize liy 16 ak 17 sanble gwo,
men li pa gen okenn siyifikasyon fonksyonèl isit la.
Si m 'vle toude liy al touye kòm yon pati nan la pou
riban, lè sa a mwen dwe ajoute yo nan aparèy òtopedik Curly pa fè sa.
Ou kapab sèlman koupe ki kwen ak retire okenn pati aparèy òtopedik yo Curly si
sa ki nan ka a?
ODYANS: Jis yon liy.
DAVID J. Malan: Jis yon liy.
Se konsa, sa se sèlman sòt de yon sòt bèl nan detay sentaks pou ke
ou pa gaspiye tan ekri twa liy, de nan yo ki
aparèy òtopedik Curly, jis ekri yon sèl liy nan kòd.
Men, si ou gen de oubyen plis liy, nou
tout bon bezwen fè sa.
>> Se konsa, kounye a kite m 'sove sa a.
Kite m 'ale pi devan epi rezone re-kouri.
Lè sa a, kite m 'relance a.out, koulye a mwen jwenn yo yon sèl pou chak liy.
Koulye a, a.out ankò se kalite yon non bèbè pou yon pwogram.
Kouman mwen ka di rezone aktyèlman, ban m 'yon non dosye
sa a, se plis user-zanmitay, tankou buggy2 tèt li?
Yon ti kras pi klè?
ODYANS: [fèbl].
DAVID J. Malan: OK, se konsa mwen ka aktyèlman pran anpil nan
user-zanmitay rakoursi ak jis ekri fè buggy2.
Mwen pa presize. C nan ka sa a, ak frape Mete.
Ak sa ki fè li fè, se li compiles buggy2.c pou m 'pa
mande rezone fè li.
Espesyalman, li mande sonnen, li kouri rezone lè l sèvi avèk fason plis
lòd-liy agiman oswa switch pase mwen aktyèlman bezwen.
Nan tan, nou pral tounen vin jwenn sa ki tout moun sa yo divès kalite
skre ekspresyon hyphenated vle di.
Men, pou kounye a, sa se sèlman ekonomize m 'pwoblèm nan nan
gen a sonje epi ki gen kalite soti tout nan tout sa yo
divès kalite ekspresyon hyphenated.
Ak tèt la nan li finalman se
ki koulye a, mwen gen buggy2.
Si m 'vle fè sa manyèlman, menm si, mwen
ka olye fè sa -
rezone-o buggy2 ak Lè sa a, buggy2.c.
Ak ki pral menm ban m 'yon dosye rele buggy2.
>> Se konsa, nan kout, rezone nan du a.
Fè se jis yon zouti user-zanmitay ke nou pral itilize plis
ak plis ankò, paske li jis kòmanse
senplifye bagay sa yo pou nou.
E nou retounen 0, alafen.
Pou kounye a, jis paske, men nou pwal kòmanse moke pati sa a
jodi a ak nan Mèkredi.
Nenpòt kesyon sou nenpòt nan sa a?
Yeah?
ODYANS: [fèbl]
ls nan quotes la?
DAVID J. Malan: OK.
Lè m 'ls tape nan quotes, ki te m' fè kèk majik
dèyè sèn nan ranje yon ensèk.
Mwen bliye, tankou nou ve yo te di anpil nan nou sou a
diskisyon planch, fè -
n ap fè sa a kounye a - sudo Yum-y update appliance50.
Whoops, ki ki nan eple dwat.
Se konsa, aparèy la se tankou yon sistèm opere.
Li nan kouri sa a sistèm opere ki rele fedora.
Epi, koulye a paske nan koneksyon ralanti entènèt mwen an, mwen te
reyèlman hosed li.
Se konsa, kouri sudo update Yum, menm jan nou di ou fè nan la
seri pwoblèm, se esansyèlman renmen kouri dènye otomatik
nan Mac OS oswa fenèt.
Ak rezon an pou kouri sa a nan kòmansman la anpil nan la
seri pwoblèm se paske lè nou te kreye aparèy la, mwen
messed moute, epi mwen aksidantèlman te fè tout pwogram ou gade
nwa sou yon ekran nwa, ki se poukisa ou pa ap wè yo
pa defo.
Men, vèsyon an dènye nan aparèy la fiks sa a.
Apre sa, m'a repare ke pandan repo yon fwa mwen gen entènèt
koneksyon.
>> Se konsa, quotes yo jis kache erè m 'yo, trè konprann,
aparamman.
Lòt kesyon yo?
Wi?
ODYANS: Ki kote fè soti?
[Fèbl]
DAVID J. Malan: Bon kesyon.
Ki kote fè soti?
Li se yon pwogram Linux ki te egziste pou anpil ane, long
anvan CS50.
Epi li vini ak yon sistèm opere tankou fedora.
Li pa vini nan bibliyotèk la CS50.
An reyalite, bagay yo sèlman ki soti nan bibliyotèk la CS50
konsa byen lwen, pou nou te wè, se GetString, GetInt, nan tout
sa yo Jwenn fonksyon, ak fisèl la mo, ak nan kèk
nivo, pawòl Bondye a bouleen.
Men, nou pral toumante ki apa lè nou plonje nan CS50 nan
aparèy tèt li.
>> Se konsa, wi, yon sèl plis kesyon isit la.
ODYANS: Lè w di fè ak Lè sa a, buggy, ki jan fè sa ki nan
òdinatè konnen [fèbl]?
DAVID J. Malan: Bon kesyon.
Se konsa, lè ou jis kouri fè buggy1 oswa fè buggy2, ki jan
fè konnen?
Se konsa, pa default, si ou tape fè buggy1, fè sanble pou yon
dosye yo rele buggy1.c.
Lè sa a, li ègzekutra kòmandman yo rezone ki apwopriye,
ensi aksyon net dosye a pwodiksyon default rele a.out.
An reyalite, si nou gade a sa ki fè, ki sa ki -
kite a kite sa a.
Si nou gade nan sa ki fè te aktyèlman fè, fè buggy2,
li nan deja jiska dat sa a.
Se konsa, kite m 'lan retire yo lòd, ki RM,
pwogram mwen te ekri anvan an.
Sezisman Y-E-S kapab konfime si ke mwen vle retire li.
Si m 'fè kounye a fè, avi ke nan liy sa a trè long,
gen nan bagay sa a dènye isit la,-o buggy2.
Tout fè ap fè ap pase ki agiman, se konsa pale, nan
Rezone, pou m 'pa bezwen tape li tèt mwen.
>> Tout dwa, se konsa yon koup rapid nan administratif
anons.
Se konsa, pou seksyon, ki ofisyèlman te kòmanse sa a ap vini
Dimanch, ou pral toujou vle pote, si
ou gen youn, yon konpitè pòtatif.
Si ou pa gen yon konpitè pòtatif, rive jwenn soti nan mwen, nan
jete m 'yon imel.
Epitou, n ap kalkile soti yon workflow.
Ki sa ki anjeneral ou pral jwenn nan seksyon se yo ke yo ap pati
konseptyèl ekspresyon, yon pati men-sou.
Nou pral sèvi ak espesyalman seksyon an nan kesyon, yon pati nan
seri pwoblèm semèn a, yo mache nan kèk nan la
konseptyèl materyèl nan konferans.
Epi sa a, tout moun ki nan seri a pwoblèm kounye a.
Epitou, n ap tou plonje nan kèk aktivite men-sou, pafwa
nan ki pral yo oblije soumèt, pafwa nan
ki pa pral.
Pou egzanp, nan semèn sa a an premye, yo ap vle di ke menm jan ak yon
cho-up fè egzèsis.
Epi ou ap jwenn ke moun ki pwoblèm yo se reyèlman sèlman sa.
Yo ap vle di ke yo dwe san patipri piti, men pa nesesèman
pwogram trivial ka ekri, ke yo pa nesesèman
eksitan nan ak nan tèt yo, men se opòtinite bon
pratike ak sentaks, ak fonksyon nouvo, nan ankourajman nan yon
seksyon kote ou gen yon kèk nan kondisip ou prezante kòm
byen ke tf ou a.
>> Ak ki sa nou pral fè sou tan se itilize yon zouti ki rele CS50 Espas,
kote olye pou yo jis lè l sèvi avèk aparèy la CS50, ou pral
olye ale nan yon paj wèb nan yon navigatè, ki kote ou pral kapab
yo ekri kòd nan yon fenèt navigatè pandan seksyon.
Lè sa a, si ou chwazi nan, parèy ansèyman ou a ka Lè sa a, montre
tou sa li se w ap tape sou ekran ou a nan navigatè ou a
fenèt moute an de sou devan klas la, si wi ou non anonim oswa
piblikman, se konsa ke li ka Lè sa a, mache nan ak
kondisip ou sa ou te fè byen, ki sa ou pa t 'fè byen.
Epi ankò, rès asire tout bagay sa yo kapab joliman anonim.
Men, li pral yon opòtinite bèl pou pi plis
interactivité pase yon bagay tankou konferans pèmèt.
>> Nan entre-temps la, nou pral gen tout bagay sa yo rele super
seksyon yo, ki se si ou vle, men yo ouvè a tout moun ki nan
klas la, pou ke ou ka fè sa plis kolektivman pou
pwoblèm mete youn.
Isit la nan orè a.
Sa a se tou ki afiche sou paj dakèy la nan cs50.net.
Remake gen pral yon aker-espesifik
yon sèl demen apremidi.
Epi nou pral fim yon sèl jodi a ak demen yon sèl ak afiche sa yo
sou entènèt nan lespas 24 èdtan.
Se konsa, si ou pa ka fè nenpòt nan sa yo fwa, pa enkyete w.
Epi ankò, orè a se sou entènèt kounye a nan cs50.net.
>> An tèm de koup tèt li, ou ta dwe gen vinn yon
imèl enstwi ou pou yo ale nan paj dakèy kou a nan jwenn
soti seksyon ou an.
Si lavi te chanje epi ou bezwen chanje seksyon ou a,
pa yon pwoblèm.
Tounen nan URL menm, cs50.net/section, sengilye,
epi ou ap ranpli fòm lan menm jan a pou ou kapab
Lè sa a, ban nou preferans ou an.
Epi nou pral swiv moute nan fen semèn nan tankou sa ki nou kapab
akomode.
Semèn pase a, sonje ke nou pwopoze lè l sèvi avèk CS50 diskite,
zouti diskisyon kou a, nan konferans.
Se konsa, nou te gen 40 kesyon ki te mande ak
reponn pandan konferans.
Se konsa, li te sanble nan travay byen, konsa n ap kontinye
ap eseye fè sa a.
Si, pandan konferans la, ou pa sèlman santi yo alèz ogmante
men ou, se pa yon pwoblèm.
Ale nan cs50.net/discuss, poste la, ak youn nan ansèyman nou an
zanmi ap swa reponn li elektwonikman oswa ogmante yo
men sou non ou anonim mande, tou depann
sou nati a nan kesyon an.
Ak an tèm de fidbak, jeneralman psets pral
tounen nan yon semèn.
Piske li pran yon ti tan pou seksyon reyalize
ekilib, pset a an premye, 0 ak 1, yo pral yon ti jan
reta kòm bagay sa yo rezoud desann.
Men, rete sou estasyon yo pou ke nan semèn kap vini yo.
>> Tout dwa, se konsa, kite m 'mete yo sou grav mwen
vwa sèlman pou moman yon.
Se konsa, sa a se aktyèlman yon klima ki enteresan yo dwe
sa a gen diskisyon, ki sa ki ak tout bagay sa yo lòt
ale sou sou lakou lekòl la toujou ki gen rapò.
Men, CS50 te sètènman te gen istwa li yo nan sa a an patikilye
topic, nan kòm anpil tankou chak ane, kou sa a, pou anpil moun
ane sa yo, Ad-Boards apeprè 3% nan klas la.
Ane sa a ki pi resan, 2011, CS50 Ad-akòste 35 elèv yo.
Sa a se pa, mwen panse ke, akòz mank nan clarté.
Reyalize ke nan kursus kou a, gen yon paj nan
deklarasyon pou eksplike ki kote liy yo ye.
Se ke deklarasyon menm repete sou chak youn nan
pwoblèm kouche nan paj youn.
>> Se konsa, mwen mansyone sa a jodi a vrèman jis fè
jan Konsyan de gwoup sa a.
Epi nou te eseye bagay diferan.
Epi ki sa mwen te panse nou ta fè jodi a se jis pran en moman pour
aktyèlman gade nan kèk nan ka sot pase sa yo ki te vini.
Olye de sa yo kenbe sekrè kòm sal ti kras, aktyèlman
pwen soti sa elèv yo te fè ak ki jan nou te detekte
li ak reyèlman sa ki motivasyon an toupatou se pou
menm gen konvèsasyon sa a.
Se konsa, avèk ki te di: liy lan esansyèlman se sa a -
pou chak kursus a, w ap akeyi yo, nou ankouraje ou, nan
pale ak elèv nan klas.
Sa a se bi a tout antye ki gen sa yo nan tèt ansanm
biwo èdtan nan Annenberg ak moun ki ankourajan pou la
final pwojè travay ansanm.
Men, se liy ki trase lè li rive tan aktyèlman ekri
solisyon final ou a.
Pale nan lang angle, totalman amann, pawòl sa yo nan kòd pseudo,
totalman amann.
Hamelin yon kondisip klas pset ou a, kite yo gade sou
ekran an kòm men yo kontinye tape,
sou liy lan kòm byen.
gade nan kursus a pou liy ki an patikilye.
>> Men, jis nan penti yon foto de kijan sa a se malerezman yon
reyalite, reyalize ke gen sou sit entènèt yo deyò ki
gen solisyon sa a soti nan klas-la ak anpil lòt klas.
Lefèt ke ou oswa kèk 3% nan nou konnen ke sa a ki egziste
vle di ke nou konnen ke sa a egziste.
Lefèt ke gen sou sit entènèt tankou sa a kote ou
ka peye yon moun ki aktyèlman fè kouche pwoblèm ou an - sa a te
yon ka reyèl ki te vin Jerizalèm ane dènye an.
Sa a se yon sit entènèt yo rele odesk.com.
Ak Tim te non moun la isit la ki moun ki te afiche sou
sit wèb sa a, li mande yon moun ki fè l 'pset 7 nan
ka sa a an patikilye.
Oke, odesk.com se trè Google-kapab, epi tou nou menm nou yo se
trè bon nan Googling.
Isit la, tou, gen kote - ak yon sèl sa a nan olye
atròs, franchman.
[Ri]
DAVID J. Malan: bagay la komik sou sit sa a se si
w ap li paj la sou sa, yo pale de bagay rèstriktirasyon yo
kilti ak ki jan sèvis kliyan se yo nimewo-yon sèl
priyorite, a asire w ke devwa ou jwenn
vire nan sou tan.
>> Men, nan tout gravite, ankò, lefèt ke sit sa yo
egziste, reyalize nou, tou, se konpetan nan
sa yo kalite kote sa yo.
Ak ba ou yon sans de sa ki fòme sa a jeneralman
pran, nou jeneralman yo pa gen eskandal gwo kote moun
ap kolabore sou nenpòt kalite echèl, men pito
li nan moman sa yo an reta-lannwit nan feblès, ki kote ou gen pou
anpil fè, li nan 4:00 AM, w ap fin itilize, epi ou
panse nan tèt ou, byen, kite m 'jis pran yon gade nan mwen
kolokasyon a oswa kòd zanmi mwen an tankou si ou an.
Ak manifestasyon sa a malerezman enplike Elèv
Yon yon bagay tankou sa a soumèt epi soumèt B Elèv
yon bagay tankou sa a, ki sètènman, nan yon òdinatè
klas syans, se konsiderableman pi fasil pou syantis òdinatè
yo detekte ak lojisyèl.
Sa a se yon lòt paradigm ki komen yo, ki kote ou te sòt de
ap travay ansanm ak yon moun ki, petèt pale nan
Lang angle, jis amann, pseudocode.
Men, Lè sa a, li vini tan aktyèlman soumèt, ak psets yo
jis jwenn echanj via imel oswa Dropbox oswa tankou an.
Men, nan yon tantativ fè li mwens aparan ke sa a se
sa ki te rive, lè sa a sa a se sa ki soumèt.
Sa a, tou, pa fè vwayaj moute moso ki byen ekri nan
lojisyèl tankou nou dwe aktyèlman detekte
sa yo kalite bagay sa yo.
Ak tout bon sa nou fè se lojisyèl kouri ki konpare tout
observation ane sa a kont tout nan la sot pase ane
observation, kont tout sa nou te jwenn sou la
Entènèt, kont chak sou sit wèb travay yo deyò.
Li nan tout trè otomatik.
Se konsa, nou fè sa a vrèman nan etidye ekite Règleman gwo% nan 97 ki
yo vrèman ap travay bourik yo koupe nan sa a ak nan lòt
klas-li epi mete nan tout efò sa yo pou travay la
yo finalman soumèt se pwòp yo.
Apre sa, mwen ka ale sou pou laj.
>> Sa yo se sèlman yon ti ponyen nan ka pou ane pase.
Yon elèv yo kèk soumèt fichye sa yo idantik pou pset 2,
pset 3, 4 pset, 5 pset, 6 pset pset 9.
Nan ka sa a, sa a te egzamen 0 ak nan ane pase a, kote de
elèv yo soumèt idantik fraz sa a nan mitan anpil
lòt moun, "demann lan nan kalite -" dot, dot, dot.
Se konsa, menm nan yon klas nan 600 nou te detekte sa a
sou soumèt ti tès.
Se konsa, nan kout, sa a - franchman, m 'rayi sa a gen kalite a
konvèsasyon - men sa a se reyèlman yon efò ekspre
ane sa a pou yo eseye kondwi desann nimewo sa a.
Paske menm si nou di sa yo kalite bagay sa yo chak
ane, Mwen panse ke reyalite a yo ki te rete sou li pou yon kèk
plis segonn pase nòmal ak aktyèlman jis montre yo
ki sa ki ka sanble tankou, eh, pa tankou yon gwo kontra, omwen
panse tounen nan moman sa a an patikilye, tou de nan etidye ekite Règleman
tèt ou ak kondisip ou isit la.
Se konsa, si ou te janm gen nenpòt kesyon de ki kote liy lan
se, tanpri, jis rive jwenn soti nan m 'pèsonèlman.
Men, repons lan se toujou, konplètman ensiste nan la
dènye minit, lajan kach nan yon jou anreta.
Oswa si li nan yon pwoblèm pou pa gen nenpòt ki jou an reta,
franchman, email me pèsonèlman.
Nou pral konnen yon bagay ki soti.
Tanpri, pa mete tan ou isit la nan Harvard a risk.
>> Koulye a, mwen te panse nou ta dwe aleje atitid la, se konsa mwen
enkli sa a kòm glise kap vini an.
[Ri]
DAVID J. Malan: Sit entènèt sa a te gwo.
Mwen aktyèlman te yon ti distrè.
Genyen nan yon sèl sa a.
Lè sa a, yon sèl sa a te dwòl.
Oke, kidonk panse a ki kitten anreta nan mitan lannwit, lè wap fè
desizyon sa yo.
Tout dwa, se konsa tounen nan plezi pi plis ak mwens grav bagay, tankou
kondisyon.
>> Tout dwa, se konsa nou te pale yon ti tan sou sa yo.
Sa a se yon bagay ke sa ka petèt byen abitye soti nan
mond lan nan grafonyen moun.
Ak nan mond lan nan grafouyen, nou gen bezwen sa a pafwa
ale fè fouchèt nan wout la.
Swa fè sa osinon sa oswa sa a lòt bagay ki isit la.
Men, lè nou vle fè sa, nou ka itilize, nan C, koulye a, sa a si
lòt konstwi.
Lè sa a, isit la nou gen ekspresyon Boolean.
Pou egzanp, ekspresyon Boolean isit la, nou kapab OSWA
yo ansanm, nan sans ke nou gen kondisyon sa a OSWA
ki kondisyon.
Nou kapab AK yo ansanm, nan sans ke nou vle
tcheke kondisyon sa a ak kondisyon sa.
Ak isit la nou gen yon deklarasyon ki switch kounye a, ki se pa konsa pou sa
menm jan syntactically ak sa ki kalite kondisyon, men li
pèmèt nou fè ekivalan a nan si, lòt bagay, si lòt bagay, si lòt bagay
si, e tankou nan pa senpleman enumere yo ka pa ka
pa ka pa ka.
Se konsa, nou te wè sa yo tan dènye.
Lè sa a, nou te kòmanse manyen sou bagay sa yo tankou pasan.
Nou te wè youn nan sa yo jis yon ti moman de sa.
Men, gen sa yo lòt konstwi loupin.
>> Pou egzanp, yon sèl sa a isit la.
Se konsa, pandan (kondisyon), fè bagay sa a ankò epi ankò.
Se konsa, fondamantalman, ki sa ki sanble ap diferan ant sa a
pou riban ak sa a riban pandan y ap isit la?
Sa a pou riban ak sa a pandan y ap riban.
Yeah?
Ki sa ki nan sa?
ODYANS: [fèbl].
DAVID J. Malan: Bon.
Se konsa, Lè nou konsidere ke nan la pou kondisyon riban, gen nan byen klè
plis sentaks.
Genyen nan sa a inisyalizasyon, gen nan ajou sa a.
Nan yon riban pandan y ap, gen nan jis kondisyon sa a.
Se konsa, li sanble ke li nan yon ti kras konpare desann kont la pou
riban, ki vle di si nou vle gen varyab ak nou vle
gen incrementation, nou gen aktyèlman
fè bagay sa a nou menm.
>> Se konsa, kite m 'ale pi devan epi louvri moute jdi.
Kite m 'chanje sou nan aparèy la.
Li kite yo jis fè yon rapid egzanp ti kras ki
fè distenksyon youn nan sa yo soti nan lòt la.
Ak nan do a nan lide m 'isit la, m' ta di yon sèl bagay.
Mwen mansyone espesyalman Tim a non.
Tim te aktyèlman yon moun ke yon elèv te eseye jwenn fè
devwa yo pou yo.
Nou pa te gen okenn Tim nan ki seksyon an patikilye.
Se konsa, reyalize, paske mwen divilge yon elèv, li pa t 'yon elèv.
Se te yon moun o aza sou Entènèt la ap fè bagay
pa proxy ane pase.
Se konsa, nou jwenn ke, tou.
Se konsa, nan ka sa a isit la, kite m 'ale pi devan epi
louvri moute yon dosye nouvo.
File, New.
Sa a ba m 'yon tab isit la.
Kite m 'ale pi devan epi sove li kòm loop.c.
Kite m 'ale, epi klike Save.
Lè sa a, desann isit la, se pou yo ale pi devan epi kòmanse ekri
# Enkli .
Kite m 'rale pous
Koulye a, nou pral fè int prensipal (san valè).
Koulye a, kite m 'ale pi devan epi fè pou (Int mwen = 0; mwen <
oh, 10; mwen + +).
Epi, koulye a mwen pral ale pi devan epi enprime zetwal la pou m '
te fè pi bonè.
Lè sa a, nan fen pwogram sa a, nou ap jis ale nan
enprime yon liy nouvo, jis pou ke èd memwa mwen
pa gade tout lèd.
retounen 0.
Sanble syntactically kòrèk?
Se konsa, lwen.
Se konsa, kite a wè.
>> Se konsa, kite m 'rale soti, ale nan fenèt tèminal m' yo.
Ak kite m 'ale pi devan epi kouri riban, paske mwen te rele sa a
loop.c. bagay
Se konsa, fè riban.
Sanble yo konpile OK.
Kite m 'kouri riban, epi kounye a antre.
Epi li sanble yo te enprime 10 zetwal yo.
Se konsa, kite a jis konvèti sa a nan yon riban pandan y ap ak wè sa ki
kalite pwoblèm nou vwayaj sou.
Se konsa, olye de sa, kite m 'ale nan isit la epi di pandan mwen se
mwens pase 10 -
kite m 'debarase m de la pou riban.
OK, konsa nou gen yon koup nan pwoblèm deja.
Se konsa, kondisyon an se menm bagay la, men mwen m 'evidamman manke a
inisyalizasyon.
Mwen manke incrementation la.
Se konsa, sa yo ta dwe du a gen anpil chans fè m 'konnen lè mwen eseye
konpile pwogram sa a?
Yeah?
ODYANS: [fèbl].
>> DAVID J. Malan: Bon.
Se konsa li pral di yon bagay tankou sekrè - nan sa a
ka, varyab mwen.
Ak tout bon, itilize nan idantifyan sekrè mwen.
Se konsa, sa a se nan kontras ak lang tankou PHP ak
Piton ak Ruby, ak ki kèk nan ou ka yo konnen yo,
kote ou kapab jis kalite kòmansman lè l sèvi avèk varyab
Willy-nilly epi yo pa gen enkyete sou deklare yo
klèman toujou.
Nan C ak nan lang tankou Java ak C + +, ou gen yo dwe
super eksplisit.
Men, si ou vle yon varyab ki rele mwen, ou gen fè m 'konnen
ki kalite varyab li ye.
Se konsa, nou pwal gen ranje sa a jan sa a.
Mwen pral gen yo ale moute isit la epi tape int mwen; Se poutèt sa,
Mwen yo te deklare yon varyab rele mwen.
Koulye a, mwen te sote yon sèl etap.
Mwen te evidamman pa inisyalizèd li, men li kite nan wè si ke nan
omwen pran arè rezone pote plent.
Se konsa, kite m 'renouvèlman pwogram sa a.
>> Tout dwa, kounye a li jis pote plent
pou yon rezon ki diferan.
"Variable 'mwen' se uninitialized lè yo itilize isit la." Tout dwa, se konsa
sa a, se bèl eksplisit.
Inisyalizèd jis vle di mete li egal a yon valè.
Epi nou pa te fè sa, se konsa, kite m 'eseye egal 0.
Koulye a, kite nan eseye sa a ankò, li sonnen re-kouri.
Konpile tan sa a.
Epi mwen sou yo kouri li.
Men, gwo fin vye granmoun riban enfini, paske mwen te fè a
inisyalizasyon, mwen te fè kondisyon an, men mwen pa janm te fè
nenpòt kalite incrementation.
Se konsa, kouman mwen ka fè incrementation a?
Oke, nan yon riban pandan y ap, li santi l tankou mwen pral gen
fè li andedan nan riban an, paske anpil tankou premye fwa a
egzanp semèn nan pou fè konstwi loupin, tankou ak
chosèt yo, epi ak pwòp tèt ou konte-a, nou te fè
yon bagay nan fen a trè, renmen tounen nan liy kap vini an.
E si mwen ale pi devan epi fè sa mwen + + isit la?
Se pou nou pa menm konpile sa a.
Trape m 'deja.
Ki sa ki nan mal isit la?
ODYANS: [fèbl].
>> DAVID J. Malan: Se konsa, li definitivman pa int.
Li nan mwen.
Ak aparèy òtopedik yo Curly, tankou anvan,
dekoupaj se pa ase.
Se konsa, koulye a, mwen te sa a konstwi.
Se konsa, pandan mwen se mwens pase 10, enprime yon etwal,
Lè sa a, kantite mwen.
Yo ak fason pou yon ti tan travay riban se ke le pli vit ke ou frape nan
anba nan riban an, ki nan ka sa a sanble liy 10,
li pral pou tounen nan liy, 6, nan ki pwen an
kondisyon yo pral tcheke ankò.
Men, si mwen se toujou mwens pase 10, nou pral fè liy 8 ak
Lè sa a, 9, Lè sa a, nou pral frape 10, epi tounen nan 6, ankò, li
ankò, li ankò e ankò, toutotan mwen se mwens pase 10.
Se konsa, nan kite l 're-kouri fè isit la.
>> Oke, nou te konpile oke.
Kite m 're-kouri riban.
Epi, koulye a li aktyèlman sanble nan travay.
Se konsa, pluses yo ak minuses isit la?
Oke, byen lwen tèlman gen nan aktyèlman pa yon antye nan plo -
se konsa bèl.
Tout dwa, sa ki te yon - ah, ki te yon aksidan.
Tout dwa, kidonk kite a tounen nan la pou riban.
Se konsa, pou pasan yo se bèl paske yo ap super eksplisit.
E menm si yo ap yon ti kras clunky yo ekri, li nan
trè pwisan ak li pèmèt ou fè
bagay sa yo miltip nan yon fwa.
Pandan ke pasan pa sanble yo gen yon kantite lajan gwo valè jis
ankò, paske li santi l tankou nou jis gen nan fè plis travay.
Nou dwe mete inisyalizasyon a moute isit la a,
mete ajou desann isit la, e nou gen sonje fè tout sa ki.
Se konsa, nou pral wè nan tan ki pasan pandan y ap aktyèlman prete
tèt yo a jis kontèks diferan, done diferan
estrikti tankou lis ak tablo yo regle, bagay sa yo nou pral jwenn yo
mitan-semès la.
Men, pou kounye a, konnen ke gen nan sa a ki kalite twazyèm li te ye tankou yon fè-
pandan y ap riban.
Epi nou te wè sa a yon ti tan.
Ak sa a ta kapab itil super ak pset 1.
Nenpòt ki lè ou vle fè yon bagay e yo Lè sa a, tcheke si
itilizatè a kolabore, epi si yo pa t ', fè l' ankò, yon fè-
pandan y ap riban prèt tèt li ak sa yo ki kalite lojik.
Paske kòm kòmann-nan nan depi anwo jouk anba isit la sijere,
literalman vle di fè sa.
Ak fè sa ankò e ankò, sa ki ka ke ta dwe ye?
Petèt sa vle di li GetInt rele oswa GetString ak Lè sa a,
tcheke valè a GetInt oswa GetString ak Lè sa a, tap rele ke
nan itilizatè a si yo pa te kolabore, yo mande yo
ankò, li ankò epi ankò.
Ki kote ou vle fè yon bagay yon fwa,
Lè sa a, tcheke kèk kondisyon.
>> Se konsa, kite a eseye sa a.
Kite m 'aktyèlman chanje sa a kounye a nan yon riban fè-pandan y ap.
Ak mwen pral ale pi devan epi fè bagay sa a.
Se konsa, fè bagay sa a.
Se pou nou fè int mwen = GetInt (); men kite a premye di itilizatè a
sa yo dwe fè.
Se konsa, yon ti kras diferan tan sa a.
"Ban m 'yon int".
Se konsa, mwen pral sèvi ak printf pou sa.
Epi, koulye a mwen pral desann ale isit la, ak mwen pral fè sa a
pandan mwen se, kite la di, ki pi konsekan pase -
kite a wè, mwen se, kite la di, pi piti pase 0, oswa mwen se
pi gran pase 10.
Nan lòt mo, mwen vle yon nimewo ant 1 ak 9, jis
abitrèman.
Se konsa, mwen sèvi ak yon konbine ekspresyon Boolean isit la yo
asire w ke mwen se mwens pase 0 oswa pi plis pase 10, nan ki
ka mwen pral fè sa a riban isit la ankò.
Se konsa, ankò, fè sa -
pandan mwen se mwens pase 0 oswa mwen gen plis pouvwa pase 10.
>> Se konsa, kounye a kite a ale pi devan epi fè sa yon fwa nou te fè sa.
Se pou nou jis fè yon chèk saniti rapid.
printf ("mèsi, m 'se d%", mwen).
Se konsa, pwogram sa a senp mande itilizatè a pou yon int,
fè asire w li nan nan lespas kèk ranje, 1 a 9 enklizif,
ak Lè sa a, gras itilizatè a pa raple yo sa yo te jis
tape nan, menm jan yon chèk saniti ti kras.
Men, kite a wè si sa a ap travay kòm gen entansyon.
Kite m 'ale tèt desann isit la epi re-kouri fè riban.
O o.
"Sèvi ak nan idantifyan sekrè 'mwen'". Sa a se etranj.
Mwen te panse nou rezoud sa.
Menm sentòm men kòd diferan.
Yeah?
ODYANS: [fèbl] andedan de la, nou bezwen
[Fèbl].
>> DAVID J. Malan: Egzakteman.
Se konsa, sa sa a aktyèlman mennen nou nan yon sijè ke yo rekonèt kòm dimansyon.
Li sanble ke C, ankò, li vrèman pran ou literalman.
Men, si ou fè yon bagay tankou sa a kote ou deklare yon int
ak Lè sa a, bay li lòt valè, men ou fè sa andedan yon
pè aparèy òtopedik Curly, ki sa ki fè sa ki C se li sipoze ke ou
sèlman vle sa yo Bits 32 li te ye tankou m 'egziste nan la
kontèks nan tout sa yo aparèy òtopedik Curly, nan yon kontèks de liy
6 a 9. Se konsa, mwen yo te deklare, epi li asiyen yon
valè nan liy 8, men le pli vit ke ou jwenn deyò nan
liy 9 ki anba a atèl a Curly, mwen se pa nan
dimansyon, se konsa pale.
S-C-O-P-E. Li pa pi long nan yon kontèks a dwat.
Se konsa, kounye a pa gen okenn mwen, kidonk li a tankou si nou te gen pa menm
te deklare li nan tout.
>> Se konsa, sa ki nan yon ranje Lè sa a, pou yon bagay tankou sa a, si nan
rezon ki fè se ke mwen se te deklare nan aparèy òtopedik yo Curly, ki
se aparamman move?
Isit la?
ODYANS: [fèbl].
DAVID J. Malan: Yeah.
Se konsa, nou ka inisyalize li an deyò.
Se konsa, kite m 'ale pi devan epi efase pati pyès sa yo deklarasyon kote
Mwen presize kalite a, ak kite m fè li moute isit la.
Se konsa, nan liy 5, li kounye a di "Ban m 'yon int." Rele li mwen.
Avi nan liy 9, mwen pa vle fè sa, paske mwen
deja gen Bits yo 32.
Mwen pa vle mande òdinatè a pou yon
diferan Bits 32.
Mwen vle sèvi ak sa yo menm 32 miyèt moso.
Epi, koulye a paske mwen yo te deklare nan liy 5, li la toujou legi
yo sèvi ak li nan liy 11 ak liy 12.
>> Se konsa, kite m 'eseye compile sa a ak wè
si rezone sispann tap rele ke.
fè riban.
Se konsa, kounye a li se "deklarasyon enplisit nan fonksyon
'GetInt' se valab nan C99. "Ki sa ki se sa?
Yeah?
ODYANS: [fèbl].
DAVID J. Malan: Yeah.
Se konsa, kounye a ke mwen aktyèlman lè l sèvi avèk GetInt, sa a se pa yon bagay
ki jis vini ak C. sa a soti nan CS50.
Se konsa, nou bezwen sa a isit la.
Ak kite m 'ale tounen nan desann nan èd memwa
isit la ak re-kouri fè.
Okay, finalman.
Koulye a, nou te rezoud ke ak erè lòt la.
Kite m 'kouri riban ak wè sa ki rive.
"Ban m 'yon int." Mwen pral ba li 11.
Mwen pral ba li -1.
Mwen pral ba li foo.
Mwen pral ba li 5.
E kounye a li tout bon travay.
Men, èd memwa a chanje pou yon rezon ki isit la.
Poukisa li di rekoumanse youn nan sa yo fwa, men ban m 'yon
Int lòt twa fwa yo?
Poukisa se sa konpòtman diferan?
ODYANS: li te bay li yon kòd.
DAVID J. Malan: Padon?
ODYANS: Ou te ba l 'yon fisèl.
DAVID J. Malan: Yeah.
Se konsa, nou te bay li yon kòd nan sa a twazyèm tantativ,
lè mwen tape foo.
Man se yon fisèl.
Li nan evidamman pa yon int.
Ak fason la ki CS50 te aplike GetInt se ke nou
pa tcheke si gen yon bagay nan mwens pase 0 oswa pi plis pase 10
pou ou, paske jan nou konnen davans ki kalite
Int ou vle a?
Men, nou ka minim tcheke pou ou, t 'itilizatè a omwen
tape yon nonb antye relatif?
Men, si yo pa t ', nou rele nan itilizatè a lè ou tape "rekoumanse" sou
ekran an.
>> Se konsa, kounye a nou gen yon pwogram ki nan loupin. Oke.
Koulye a, ki nan sa yo se sòt de tise a pi byen?
Se konsa, sa a se kote bagay sa yo kòmanse yo ka resevwa yon sal ti kras, nan
reyalite ki di ou gen sonje deklare yon varyab moute isit la
si ou vle sèvi ak li andedan nan kèk
aparèy òtopedik Curly ak deyò.
Men, menm si sa a sanble yon ti kras skre an premye
ti koutje sou, jis ankò, sonje lojik nan senp.
Yo nan lòd yo sèvi ak anyen nan C, si li nan yon fonksyon oswa
li nan yon varyab, ou gen gen ladan li si li nan yon fonksyon
nan kèk bibliyotèk, oswa ou bezwen deklare li.
Men koulye a, ou bezwen nan dwe siplemantè bliye nan lefèt ke
w ap deklare li nan dimansyon a dwat.
Ou pa ap mete l twò byen sere andedan parantèz.
>> Se konsa, kite m 'aktyèlman woule tounen.
Si nou tounen nan nou an pou egzanp nan pi bonè, ak m 'ale
tounen nan pou int, int mwen = 0; mwen <10; mwen + +, epi mwen
fè zetwal printf, tankou sa a, ak Lè sa a, paren pre, e kounye a,
printf mwen se kounye a -
selon lojik la menm, sa ki pral rive lè mwen eseye
konpile pwogram sa a?
ODYANS: valid idantifyan.
DAVID J. Malan: Se konsa, li yon lòt idantifikatè valab,
sekrè idantifyan.
Koulye a, rezon ki fè yo nan yon ti kras diferan.
Genyen nan evidamman pa gen okenn aparèy òtopedik Curly isit la, men menm bagay la tou
lide, menm istwa a nan dimansyon aplike.
Si ou yo te deklare yon varyab tankou m andedan yon
pou riban, menm si ou pa t 'eksplisitman ekri Curly a
aparèy òtopedik yo, panse a yo kòm mantalman toujou yo te gen, nan ki
ka mwen se sèlman andedan valab nan la pou riban.
Li se pa valab yon fwa ou jwenn nan liy nan pwochen, ki nan
ka sa a se kounye a 10.
Se konsa, jis yon pwoblèm kèk nan dimansyon ak tankou la.
Tout dwa, nenpòt kesyon?
>> Tout dwa, kidonk sa a se kalite yon pwogram trivial ti kras,
enprime jis zetwal ti kras.
Men, kite a wè si w sonje chante sa a isit la.
Sa a se yon chante èkstrèmeman anmèdan timoun yo ta chante sou
otobis lekòl la ak renmen an.
Men, sa ki nan bèl sou li se ke li genyen sa a siklisite,
kote li nan "99 boutèy nan byè sou miray la,
99 boutèy la byè.
Pran yon sèl desann, pase l 'nan, 98 boutèy nan byè sou la
mi. "Lè sa a, chante sa a, repete 97 an, Lè sa a, 96, Lè sa a,
95, Lè sa a, 94, tout wout la desann nan 0 si w menm te rive ke
byen lwen nan otobis la.
Se konsa, sa a se yon pwogram bèl sòt nan akonplir, paske mwen
Bondye, si ou te kapab jis aplike sa a ak yon kèk
liy nan kòd, ou ta ka krache soti lyrics yo tout sa a
chante byen vit.
Men, nan tout wout la, nou ka kòmanse kounye a toumante apa kèk
nan sa yo konstwi debaz loupin e kounye a, tou
prezante fonksyon ke nou ekri tèt nou, tounen valè
ke nou pase alantou.
Men, anvan, poukisa pa nou ale pi devan epi pran nou senk minit
kraze isit la?
Lè nou jwenn tounen, nou pral chante chante sa a.
>> Tout dwa, pou nou yo tounen.
Men, lè m 'di nou pwal kounye a chante chante sa a, mwen vle di
programe, pa vèbal.
Se konsa, isit la nou gen beer1.c, ki se youn aplikasyon sa a
patikilye chante.
Ak jis yo dwe klè, pou moun ki abitye avèk sa ki
bagay sa a sanble, kite m 'ale pi devan
epi fè beer1, Antre.
Koulye a, kite m 'kouri beer1, e ki sa nou pral wè - konbyen boutèy
nan byè va fè nou konnen?
Mwen pral tape nan 99, tankou chante a di.
Antre.
Epi, koulye a, si nou woulo liv atravè -
Wouch - si nou woulo liv atravè tout bagay sa yo, nou pral wè ke
sa a t 'vre chante chante nan tout antye.
Tann yon minit.
Bar woulo liv mwen an yon ti kras messed yo.
Se pou nou sèvi ak fenèt la pi gran.
Se konsa, beer1 99,, gen nou ale.
Se konsa, isit la nou gen chante sa a, tout antye, chante chante anpil pi vit pa an
òdinatè pase sa li te kapab pa nou.
Se konsa, remake, menm si, nati a sik isit la.
Li di 99, Lè sa a, 99, Lè sa a, "pran yonn desann, pase l
alantou li, "Lè sa a, 98.
E kounye a li repete ankò e ankò.
>> Se konsa, sa a se aktyèlman yon opòtinite pafè pou kèk kalite
loupin konstwi.
Remake mwen kalite koupe yon kwen isit la.
Remake m ap di "98 boutèy nan byè sou miray la,
97 boutèy nan byè sou miray la, "ak sa ki te jis pou
ke lè nou jwenn nan yon sèl boutèy nan byè, mwen pa gen
enkyete sou gramè a lang angle.
Men, nou kapab tou ranje sa a ak yon ti kras nan yon si
kondisyon, petèt.
Si nimewo sa a se sengilye, ale pi devan epi di "boutèy",
otreman si li nan pliryèl, di "boutèy".
Men, pou kounye a, mwen konplètman koupe ki kwen.
Se konsa, kite a wè sa ki nou te gen isit la.
Se konsa, nou te gen kèk kòmantè nan tèt la.
Mwen ki gen ladan sa yo bibliyotèk de, kòm
nou te souvan te.
Epi, koulye a kite m 'desann nan premye a
liy reyèl nan kòd.
Liy 17 anvwaye prensipal la.
Liy 21 ak 20 gen konbyen boutèy nan byè va fè nou konnen?
Lè sa a, mwen rele GetInt.
Epi, koulye a mwen gen yon ti jan nan yon chèk saniti.
>> Se konsa, sa a se yon konvansyon ki nou pral kounye a kòmanse adopte
plis kòmsadwa tcheke D 'itilizatè a la.
Pafwa ou jis pa vle vit yo ankò
ak ankò epi ankò.
Si itilizatè a vis leve, li pa kowopere, amann.
Kite ak jis pa fè fas avèk yo.
Se konsa, sa a, se sa m ap fè la a.
Si n gen mwens pase 1, mwen jis ale nan rele nan itilizatè a yo,
"Nou regrèt sa, ki pa fè okenn sans." Lè sa a, mwen pral
abitrèman retounen 1.
Se konsa, ankò, sa a se jis yon konvansyon jwenn itilize.
Pou kounye a, pran l 'sou lafwa.
Men, moute jouk koulye a, nou te toujou yo te retounen 0, paske
nou te di retounen 0 reprezant ki sa?
ODYANS: Siksè.
DAVID J. Malan: Siksè, ki nan tout sa.
Se konsa, kounye a ke nou ap finalman kòmanse panse osijè de
ki pa siksè -
nan lòt mo, ka kwen, kondisyon erè -
koulye a, mwen, gen yon rezèv enfini, oswa nan omwen kat milya dola
bagay sa yo posib ki ka ale mal nan pwogram mwen an.
Apre sa, mwen ka kòmanse plase yo nimewo endividyèl.
Koulye a, anjeneral, li sifizan jis retounen
yon lòt bagay pase 0.
Se konsa, nou ap ale nan tou senpleman tounen 1 pou kounye a.
Men rezon ki fè pou retounen 1 se ke le pli vit ke ou retounen
1, devine kisa k ap pase nan rès la nan pwogram lan?
Li sispann.
Sa a li.
Se konsa, lefèt ke mwen retounen 1 se efektivman
kout-sirkwi ekzekisyon pwogram sa a yo pou
pa gen anyen pi ba pase liy 27 ap kontinye egzekite.
Le pli vit ke retounen prensipal yo, ki se li.
>> Tout dwa, Se konsa, si itilizatè a fè sa ki kolabore ak nou rive jwenn liy 30
paske yo tape nan yon nimewo lejitim, isit la se mwen
egzekisyon pou chante sa a.
Se konsa, mwen premye enprime soti yon karaktè newline, jis pou
estetik.
Mwen koulye a gen yon riban pou.
Ak Avi Mwen fè bagay sa yo nan yon ti jan
nan yon direksyon diferan.
Mwen pa bezwen fè mwens pase, mwen pa bezwen fè + +.
Mwen ka di olye inisyalize yon varyab mwen, mete l 'egal a
n, nimewo a itilizatè a tape nan, Lè sa a, fè bagay sa a, se konsa
lontan ke mwen se pi gran pase 0, lè sa a mwen -
yon fwa ou te fin youn iterasyon sa a riban.
Se konsa, nou ka konte desann lè l sèvi avèk yon pou riban kòm byen.
Koulye a, sa a se semèn bèl anpil yon sèl bagay, koulye a, avèk printf.
Se konsa, "boutèy% d nan byè sou miray la." Ekri ak lèt ​​detache Ekri an lèt detache "% d
boutèy la byè. "" Pran yonn desann, pase alantou li. "Ekri an lèt detache
"% D boutèy nan byè sou miray la." Se konsa, li la toujou d%, men
remake ke agiman nan printf a ap chanje.
Apre vigil la, mwen gen mwen, paske mwen vle di 99.
Apre sa, vigil, mwen gen mwen, paske mwen vle di 99.
Apre sa, vigil, mwen gen mwen - 1, paske mwen vle di 98 nan
sa a iterasyon an premye, ak pou fè.
Epi, koulye a desann isit la, mwen jis gen kèk estipid remak ti kras.
Lè sa a, liy 42, m'a tounen 0 pa konvansyon, tapral ki
tout bagay se oke.
>> Se konsa, sa si mwen goofed?
Ki sa ki ta ka yon erè komen isit la ta dwe ye?
Oke, sa si mwen aksidantèlman di byen, mwen vle konte
desann nan 0, mwen vle 0 boutèy nan byè sou miray la?
Se konsa, mwen di, mwen se pi gran pase oswa egal a 0.
Sa k ap pase yo dwe sentòm a ke mwen wè koulye a si mwen compile
beer1 epi kouri li?
ODYANS: negatif.
DAVID J. Malan: Yeah, li nan pral ale negatif.
Sa a se yon erè koupe-pa-youn, yon èkstrèmeman
komen erè fè a.
Se pou nou ale aktyèlman retounen nan fenèt tèminal epi ki fè sa
isit la, pou nou ka wè plis nan yon tan.
Antre, 99 boutèy la byè.
Fèmen, men nou te ale janm konsa yon ti kras twò lwen.
Nou t'ap chante chante a twò lwen desann, tankou ke nou kounye a frape nan
negatif nimewo.
Se konsa, li pa byen travay.
>> Tout dwa, pou nou ka fasilman ranje ki nan ale tounen nan la
fason li te yon fwa.
Men, sa ki yo se kèk opòtinite kounye a pou
amelyorasyon?
Oke, kite m 'louvri beer2.c ak desann isit la epi pran yon
gade nan vèsyon sa-a.
Ki sa ki nan nan premye bagay ki sote soti nan ou kòm diferan
nan vèsyon sa-a isit la?
ODYANS: [fèbl].
DAVID J. Malan: Yeah, konsa pa gen plis mwen, paske li te rive
m 'ou konnen ki sa, mwen mande itilizatè a pou n, ak Lè sa a, mwen
mete mwen egal a n, ak Lè sa a, mwen chanje mwen, men mwen pa janm
manyen n ankò.
Se konsa, sa èk la te pwen nan ou allocation yon lòt 32
Bits yo rele, mwen annik pou ke mwen ka gen yon varyab diferan?
Se konsa, nan ka sa a, mwen sòt de yo te rekonèt sa nesesè
karakteristik konsepsyon.
Apre sa, mwen ap kounye a pral di pandan y ap n pi gran pase 0, ale
pi devan epi enprime chante a menm, pase yon n printf kòm la
dezyèm agiman, ak n - 1 kòm agiman nan dezyèm desann isit la.
Lè sa a, sou chak iterasyon sa a riban, ale pi devan ak jis
dekrwasans n tèt li.
Koulye a, fonksyonèl, pwogram sa a
a pwal idantik.
Si m 'tape nan 99, n ap kòmanse a 99.
Mwen dekrwasans, dekrwasans, dekrwasans, dekrwasans.
Mwen pral jwenn tout wout la desann nan "Yon boutèy byè sou
miray la, yon sèl boutèy byè.
Pran yon sèl desann, pase alantou li.
0 boutèy nan byè sou miray la. "Fen an, paske mwen te fè
jwenn kondisyon ki kòrèk la.
Li nan pi gran pase 0.
Mwen pa t 'fè sa-a erè.
>> Se konsa, ki se pi bon, vèsyon youn oswa vèsyon de?
Se konsa, mwen tande yon pakèt moun sou n'ap plenyen pou de.
Poukisa de?
Ki sa ki nan sa?
ODYANS: [fèbl].
DAVID J. Malan: Oh, oke.
Se konsa, li pa pwal ale ki anba la a 0, men sonje, nan vèsyon youn,
orijinal vèsyon ki kòrèk pa t 'ale anba a 0 swa.
Se konsa, sonje ke sa a se vèsyon ki kòrèk la.
Se konsa, kite a omwen konpare de vèsyon yo ki kòrèk la.
Ki sa ki nan yon diskisyon an favè nan vèsyon
de ke yo te, MMM, pi byen?
Yeah?
ODYANS: Li itilize espas mwens.
DAVID J. Malan: Oke, kidonk li itilize mwens espas, dwa?
Lè nou konsidere ke yon sèl vèsyon itilize 32 Bits pou n, ak Lè sa a, yon lòt
32 Bits pou mwen.
Version de sèlman sèvi ak 32 Bits pou n, se konsa ke
sanble gen yon plis.
Panse Lòt?
nenpòt moun ki vle diskite an favè nan yon sèl?
Yeah?
ODYANS: Ou gen yo sèvi ak siplemantè liy nan Kòd pou n -.
>> DAVID J. Malan: Oke, asire w.
Se konsa, sa a, se jis.
Se konsa, sa a jis, omwen m '-
Mwen vle di, sa sa a aktyèlman santi l yon messier ti kras, lefèt ke
Mwen pa ka sòt de ankapsulasyon tout lojik m 'ki nan yon sèl
bèl liy, pou la riban, jan pou riban kapab la.
Isit la, mwen kalite gen fofile sa a sou n -
nan fen riban a, paske
li nan lojikman sa nesesè.
Men, li kalite fwote m 'chemen an sa ki mal, jis paske li
sanble separe de lojik nan moute isit la, menm si,
ankò, li nan sa nesesè.
Panse Lòt?
Yeah?
ODYANS: [fèbl].
>> DAVID J. Malan: Yeah.
Se konsa, sa si ou olye de sa, nan fen chan an, te vle
enprime soti ankò non an nan chante a?
Tankou "Mèsi pou jwe 99 boutèy nan byè", oswa yon bagay
enbesil tankou sa?
Men, pwen an se, ou te vle aksè nan valè orijinal la.
Reyalite a ke ou te sibi mitasyon oswa chanje n sou chak
te iterasyon ak Se poutèt sa detwi valè orijinal li
vle di ou jis pa ka fè sa nan fen an.
Koulye a, joui, nou byen klè pa vle fè
ki nan pwogram sa a.
Se konsa, ki renmen le ki?
Men, ki nan yon pwen trè valid.
Ak yo dwe onèt, gen nan reyèlman pa gen yon
dwa reponn isit la.
Yo ap tou de egalman kòrèk.
Mwen te kapab konvenk swa fason.
Mwen pral di sa, an jeneral, se yon prensip bon si ou
mande itilizatè a pou kèk valè, epi ou ki estoke nan yon varyab
tankou n, jis sòt de sou prensip, li la pwobableman bon
kenbe ki alantou.
Ak nenpòt done ou vle mutation ankò e ankò, jis
bay tèt ou yon kopi varyab sa a, jis pou ke ou
gen aksè a orijinal la.
W ap depanse 32 plis Bits, men reyalite a se sa a
òdinatè te, renmen, de jigokte nan RAM jou sa yo,
epitou n ap èrgotaj sou 32 Bits?
Vrèman pa tankou yon kontra gwo.
E menm sou aparèy sa a isit la, avèk yon mwatye yon Gig oswa yon
jigokte nan RAM, 32 Bits kont 64 Bits,
pa tankou yon kontra gwo.
Sètènman jodi a, li la pral fè wout submerged pa gwosè a
nan pwogram nan poukont li, ki a pwal plizyè santèn
kilookte, si se pa yon megabit kèk, jou sa yo.
>> Se konsa, rezonab enkyetid, pa gen yon dwa repons.
Men, omwen sa yo se panse yo ki ta dwe kòmanse
ale nan tèt ou ou a?
Paske nan pset 0, menm si nou reyèlman sèlman espere
ekzaktitid, oswa omwen dezaveu pinèz divès ki
ou ka gen rankontre, menm jan nou avanse pou pi devan, konsepsyon se
pral fè yon lòt aspè kle yo, tou de nan ekri kòd
epi tou li nou evalye kòd.
Se konsa, omwen bay te panse yo bagay sa yo tankou sa a.
Ak jis paske yon bagay ap travay sa pa vle di li bon,
sa pa vle di li nan byen-ki fèt.
Epi sa a, youn nan bagay ki zanmi yo ansèyman ak
aparèy televisyon HD pwoblèm yo ap ede nou toumante pati sou tan.
>> Oke, sa ki sou, kite la di, sa a vèsyon isit la?
Kite m 'fè yon bagay yon ti kras sexy isit la nan yon ti moman.
Premye kite m 'debarase m de sa a.
Epi, koulye a kite a ranje pwoblèm sa a gramatikal.
Se konsa, nan vèsyon sa-a, mwen vle ranje gramè a pou ke,
olye ke jis di yo parantèz, tankou "boutèy"
oswa "boutèy" -
Mwen pa vle koupe kwen ki -
Mwen menm mwen te vle dynamique enprime soti mo "boutèy yo ki"
oswa "boutèy", kidonk lè l sèvi avèk sa yo placeholders% s jodi a.
Se konsa, mwen bezwen kondisyon tcheke ki sa ki valè a nan mwen.
Men, si li nan 1, mwen vle di "boutèy", ak si anyen li
lòt bagay, mwen vle di "boutèy". Se konsa, kite a eseye fè sa.
Se konsa, si mwen == 1, Lè sa a, kite m 'ale pi devan epi deklare -
Mwen bezwen yon fisèl, kidonk kite nan m 'fè S1 fisèl, paske li nan
premye fisèl mwen pran swen sou kounye a.
Mwen pral di "boutèy". Lè sa a,, kite la wè, fisèl
S2 - epi mwen pral eksplike ki kote mwen pral nan yon moman -
"Boutèy." Se konsa, sonje ke, nan chante sa a, nou bezwen kapab
nan enprime bagay sa yo, de mo diferan potansyèlman.
Se konsa, si nou gade tounen isit la, remake ke lè nou jwenn yo
egzanp sa a isit la, "de boutèy nan byè sou miray la,
de boutèy nan byè ou, pran yonn desann, pase l 'nan ", mwen vle
liy sa a katriyèm kounye a di "yon sèl boutèy byè sou la
mi ". Se konsa, mwen bezwen deside, mwen vle di" boutèy "oswa
"Boutèy"? Se konsa, mwen pral abitrèman di, tout dwa,
Mwen pral kounye a deklare yon varyab rele S1, fisèl
yon sèl, ki nan pral jwenn ploge nan isit la ak yo isit la tou,
paske mo sa yo yo toujou idantik, jis paske yo te nan
nati chan an.
Ak mwen pral rele S2 tou sa pawòl mwen vle
evantyèlman parèt desann isit la.
Koulye a, literalman, 99 fwa soti nan 100, li te pral fè a
menm nan tou de nan ka sa yo, paske 3 se pliryèl, 2 a se
pliryèl, 4 se pliryèl.
Men, nan ka sa a kwen, kote nou jwenn yo 2 ak Lè sa a, 1, oswa
menm 1 ak Lè sa a, 0, mwen bezwen sa a lojik.
Se konsa, mwen gen pase kèk tan nan kòd m 'ap resevwa dwa sa.
Se konsa, si mwen fè sa, si mwen == 1, Lè sa a, mete S1 egal a "boutèy"
ak S2 egal a "boutèy", paske sa a pral pou 1
boutèy, ak sa a pral pou 0 boutèy.
Lè sa a isit la, ki sa sa a reprezante?
Jis yo dwe klè.
Sa a se jis yon kòmantè.
Se konsa, lefèt ke ou ka gen kòmantè sèl-liy vle di ou
ka fè komantè kòd ou a tankou sa a, men yon lòt komen
paradigm, tou, se ke si ou gen yon fraz super-kout ki
ou vle mete tèt ou ak li nan jis pi plis lizib yo mete
li dwa nan fen liy lan nan kòd, ou kapab
absoliman fè yon bagay tankou sa a.
>> Se konsa, kounye a sa, si mwen fè sa a? Lòt Bagay si mwen se pa egal a 1.
Se konsa, bang egal -
se entewogasyon, pwen eksklamasyon li te ye tankou "bang".
Se konsa, bang = 1.
Se konsa, si mwen se pa egal a 1, sa m 'olye vle fè?
Oke, pawòl Bondye a premye fwa mwen vle yo ki sa?
Se konsa, fisèl 1 ta dwe "boutèy" pou boutèy pliryèl,
ak Lè sa a, sa a pral pliryèl "boutèy" kòm byen, pou kounye a.
Epitou, n ap wè si sa sa a aktyèlman vin nou
kote nou vle ale a.
Se konsa, kounye a si mwen desann isit la, avi ke mwen rakorde nan
pa mwen sèlman, men S1.
Mwen rakorde nan mwen ak S1.
Lè sa a, desann isit la, mwen mwens 1, ki se menm bagay la tou kòm
anvan, men S2.
Nan lòt mo, mwen vle mo angle a chanje ki baze
sa a sou lojik.
Koulye a, gen nan deja kèk pwoblèm nan sa a kòd.
Ki sa ki kase deja soti nan pòtay lavil la isit la?
Yeah?
ODYANS: [fèbl].
>> DAVID J. Malan: Egzakteman.
Se konsa, mwen te deja vyole leson an nan grandè.
Se konsa, mwen te deklare S1 ak S2, men mwen te fè l 'anndan
aparèy òtopedik Curly, ki vle di wi, sa a kòd pral travay moute
jiskaske liy 42, men kòm pli vit ke mwen frape liy 43, devine kisa pa gen okenn
egziste ankò?
Oke, devine sa ki nan pa nan dimansyon - ni S1 oswa S2.
Se konsa, nou gen ranje sa a.
Se konsa, kite m 'efase deklarasyon yo.
Apre sa, m'a kite non yo varyab ak efase sa a isit la
ak efase sa a isit la.
Ak nan sa ki liy mwen ta dwe reyèlman deklare bagay sa yo?
ODYANS: [fèbl].
DAVID J. Malan: Yeah, se konsa pwobableman
dwa moute isit la, 33-ich.
Se konsa, S1 kòd li ansanm ak Lè sa a, fisèl S2.
Epi li vire soti, mwen ka fè sa.
Si w ap deklare de varyab nan kalite la menm,
ou ka aktyèlman jis sèvi ak yon vigil ak fè sa nan C. Tout
dwa, pou kounye a mwen gen de varyab -
S1 ak S2.
Mwen plase yo valè nan sa yo
kondisyon isit la, oswa nan isit la.
Lè sa a, mwen sèvi ak yo desann anba a.
Kouman byen sa a se kounye a ale nan travay?
>> Oke, li la toujou yon buggy ti kras, men kite a omwen wè
ki jan lwen nou te resevwa yo.
Se konsa, kite m 'ale pi devan epi fè beer3.
Èske sa se beer3?
Wi, sa a se beer3.
Epi, koulye a kite m 'ale pi devan epi kouri beer3.
399 99.
Nou ka pwobableman sote pi fò nan yo.
, Li desann isit la, gade nan sa.
"Yon boutèy byè sou miray la, yon sèl boutèy byè, pran
yon sèl desann, pase l 'nan, 0 boutèy nan byè sou miray la. "
Men mwen m 'fè desen atansyon ou a mwatye sèlman de solisyon an.
Kalite vise moute isit la.
Se konsa, li sanble ke ka yo kwen Leve chita non, lè mwen egal ki
de valè?
ODYANS: 2, 1.
DAVID J. Malan: 2 ak 1.
Li pa 1 epi yo pa 1.
Li nan vrèman jis sa yo de dènye kouple nan chante sa a.
Se konsa, sa m 'olye vle fè?
Se konsa, mwen sanble yo te trape ka a kote si mwen se == a 1,
Lè sa a, premye mo ki se "boutèy", men pawòl Bondye a dezyèm
a se "boutèy". Men, isit la, mwen ta vle chanje sa a yo dwe == 2.
Men, si sa a se ka a, sa m 'vle a
premye mo yo dwe?
ODYANS: "Boutèy".
DAVID J. Malan: "Boutèy", se konsa pou de boutèy.
Lè sa a, mo sa a isit la yo ta dwe -
ODYANS: "boutèy".
DAVID J. Malan: "boutèy", sengilye.
>> Tout dwa, kite a rale soti, ale tounen sou isit la, re-kouri fè,
re-kouri beer3, ki kalite 99 ankò.
Okay, "Segmentation fòt (nwayo jete)."
Kisa m 'fè ki mal?
ODYANS: Ou pa gen yon valè [fèbl].
DAVID J. Malan: Ah, ekselan pwen.
Tout dwa, se konsa sa ki nan mal isit la?
Se konsa, fòt segmentation, ak nou ap aktyèlman pral wè
sa a byen yon fwa kèk nan tan kap vini an, fè espre.
Men, pou kounye a, ki sa ki sa sa a aktyèlman vle di?
Yon fay segmentation prèske toujou vle di ke ou gen
yon jan kanmenm te eseye gen aksè a memwa, RAM nan òdinatè w lan,
ke ou pa fè sa pwòp, pou ou pa gen aktyèlman te mande a
fonksyònman sistèm pou li a.
Se konsa, nan ka sa a, remake sa m 'te fè, ki se
defekte nan lojik m 'yo.
Mwen te plase S1 ak S2 yon valè si mwen egal 1.
Mwen te tou fè ke si mwen egal 2.
Men, mwen pa te fè l 'nan nimewo a enfini nan lòt
posiblite -
an patikilye, 3 oswa 4 oswa dot, dot, dot, 99.
Se konsa, yon sèl ranje pou sa a ta ka jis pou la kite l '
gen yon kondisyon lòt bagay.
Ak kite m 'ale nan isit la ak di S1 ​​egal -
sa ki ta dwe li isit la?
ODYANS: [fèbl].
>> DAVID J. Malan: "Boutèy", paske se nan ka a ki komen yo,
li jis menm bagay la.
Se konsa, egal quote, unquote, "boutèy." Se konsa, pou pliryèl
boutèy, ak Lè sa a, moute isit la, pou boutèy pliryèl.
Oke, kidonk kounye a kite m 'ale retounen nan fenèt tèminal m' yo,
compile, re-kouri li.
99.
Wou.
Li kite yo fè yon chèk saniti rapid.
Teknikman, nou ta vle li tout moun sa yo asire w
yo ap kòrèk, men kite a gade nan
omwen koupab yo li te ye.
3 boutèy, 2 boutèy, 2 boutèy, 1
boutèy, 1 boutèy, 0 boutèy.
Nou yo sanble yo gen omwen fiks li pou kounye a.
Men, trape an isit la se ke sa ki yon bondye terib dezòd sa a se
jis rezoud yon estipid
yon sèl-karaktè gramatikal detay.
Se konsa, gen nan kalite yon rezon ki fè mwen koupe sa a kwen
pi bonè, paske li jis konplètman anmèdan 'gen yo
ekri sa a kòd anpil.
Men, li sanble ke gen nan yon ti kras plis elegant fason pou
eksprime egzak menm bagay la.
E nou ka fè sa jan sa a.
>> Kite m 'kite sa-a sou ekran an pou yon moman ak
prezante yon bagay ke yo rekonèt kòm yon operatè tèrsyèr.
Sa a se kalite yon yon sèl liy machanndiz-sa se sèlman vle di ke yo fè nou
ap viv yon sexier ti kras, kòm te pwomèt la.
Apre sa, mwen pral fè sa a jan sa a.
Ban m 'yon kòd yo rele S1, ak kite m'
bay li jan sa a.
(Mwen == 1)?
"Boutèy", otreman "boutèy". Fisèl S2 vin (mwen == 2)?
"Boutèy", otreman "boutèy".
Se konsa, sa Lè sa a, se diferans la isit la?
Liy sa yo de nan kòd, mwen diskite, kapab
ranplase dezòd sa a tout antye.
Se konsa, mwen rele li yon dezòd, jis paske li kalite fwote nan m '
sa ki mal fason ke li nan anpil liy nan kòd.
Pa sa ki mal.
Li pa konsepsyon move.
Renmen, sa a se parfe kòrèk epi yo parfe amann.
Men, kodaj vin fatigan si ou gen yo eksprime tèt ou se konsa
modi espesyalman ankò, li ankò e ankò avèk yon senp
senaryo tankou sa a.
Se konsa, C gen kèk rakoursi, tankou sa a.
Se konsa, sa a esansyèlman ap di deklare yon fisèl rele S1 ak
bay li swa sa a valè oswa sa a valè si mwen se == -
regrèt, mwen ta dwe di sa a plis byen klè.
Deklare yon S1 varyab, bay li sa a valè si sa a se verite.
Sinon, bay li sa a valè.
Se konsa, nan lòt mo, sa a se sòt de yon fason yon sèl-liy nan
li di si lòt bagay, men ap fè yon devwa sou wout la.
Se konsa, si mwen se 1, lè sa a ale pi devan epi rele sa "boutèy". Ak
Lè sa a, sa a lòt bagay, rele li "boutèy". Pandan se tan, S2, nan
dezyèm mo ke nou bezwen defini, si mwen egal 2, nou pral
mete S2 nan "boutèy". Sinon, mete l 'nan "boutèy". Ak sa ki
sa vle di kounye a se mwen ka ale nan sa a ak efase tout
liy sa yo nan kòd.
Men, lè m 'di nou, yon ti jan ridikulousli, ke sa a se kounye a
sexier, li nan sexier nan sòt nan nan sans stil.
Lefèt ke woulant, sa a kòd ki aktyèlman ale nan
fè egzak menm bagay la.
E menm si li ta ka gade yon ti kras skre an premye
ti koutje sou, paske nou pa te wè sa a aranje anvan, mwen ta
diskite ke li la finalman pral fè anpil plis
ka konprann ak anpil pi fasil pou nou moun sòt nan
konprann, paske kounye a ou ka jis li a
kòd tout sou yon sèl liy.
Li nan toujou menm jan an nan lespri nan yon si, kote sa a se
kondisyon ak Lè sa a, sa a se sa ki andedan si la ak sa a
se sa ki sa ki andedan lòt la.
Men, nou ka fè sa jis pi plis chik.
>> Men, si mwen koulye a tounen nan tèminal m 'yo, te gen efase tout
nan tout sa yo liy ak ranplase yo ak jis de sa yo,
compile, re-kouri boutèy nan byè ak 99, avi ke mwen
gramè se, an reyalite, toujou kòrèk.
Se konsa, ankò, yon bagay yo kòmanse.
2 boutèy la byè, 1 boutèy byè.
Sanble dwat.
Yeah.
Se konsa, gen nou gen yon solisyon somèr plis ankò.
Se konsa, sa a, tou, kòm ou jwenn pi alèz ak C, pa
nesesèman avèk pset nan premye oswa menm dezyèm, men
reyalize ke sa yo konstwi ka pèmèt nou fè bagay sa yo tout tan
plis chik.
Koulye a, kite a fè yon lòt bagay isit la.
Kite m 'ale pi devan epi louvri moute return1.c.
Koulye a, kite la kòmanse yo rezoud yon lòt pwoblèm nan yon fason ki
pèmèt nou ekri kòd pi plis sofistike.
>> Se konsa, isit la nan yon pwogram ki senp ti kras ki gen objektif nan lavi
se kantite valè.
Ak aktyèlman, kite a pran yon etap tounen.
Kite m 'fè sa manyèlman.
Kite m 'fè gen ladan yo ak Int prensipal (san valè).
Ak kite m 'rele sa increment.c.
Ak sa m 'vle fè?
Mwen pral ale pi devan epi di yon bagay tankou -
nou pral rele nan nimewo sa menm bagay la tou -
x int.
Se konsa, x int vin 2; x printf se d%, nouvo liy, x.
Se konsa, mwen sezisman vit, men sòt de bagay ki familye kounye a.
Lè sa a, mwen pral fè x + +.
Lè sa a, mwen pral enprime ki fraz menm ankò.
Lè sa a, mwen pral tounen 0 jis kite fimen pwogram nan.
Tout dwa, kidonk sa a se yon pwogram ki
ogmantasyon yon nimewo.
Li nan premye ale nan inisyalize yon bagay yo 2, ak Lè sa a, li nan
ale nan kantite li epi enprime l 'ankò.
>> Se konsa, nan kouri kite l 'kantite, pwogram èkstrèmeman senp.
Men, si kounye a ke mwen vle kib valè a, pou fè
yon bagay yon ti jan abitrè.
Apre sa, mwen aktyèlman vle fè x vin kib la nan li.
Se konsa, mwen ta ka itilize sa yo rele fonksyon an POW, men mwen pa fè sa
vrèman konnen ki kote li ye ankò.
Se konsa, mwen pral fè nan fason sa a la fin vye granmoun-alamòd.
x fwa sa a egal x fwa x fwa x.
Se konsa, mwen cubing valè a, miltipliye li pou kont li ankò
ak ankò e ankò, se konsa ke nou jwenn pouvwa a
nan 3 nan ka sa a.
Se konsa, kounye a nimewo yo m 'ta dwe enprime yo ta dwe, menm jan nou pral wè
isit la - fè kantite, kidonk li la aktyèlman pa vrèman kantite
ankò, men nou pwal kite non an pou kont li -
2 ak Lè sa a, 8.
Koulye a, nou gen kòmanse yo nan yon opòtinite pou amelyore
isit la, kote bagay sa a cubing nan miltipliye yon nimewo
pou kont li pou kont li pou kont li santi l tankou sa a ta ka jis pou
itil gen kòm yon fonksyon, anpil tankou yon moun deside
ane de sa - ou konnen, kalite itil si yonn nan nou chita
epi ekri printf pou ke rès la nan mond lan ka sèvi ak li,
poukisa pa nou chita epi ekri yon fonksyon rele kib
ki fè sa a cubing pou nou pou nou pa gen a manuelman
aplike nosyon de cubing valè isit la?
>> Se konsa, yon egzanp ki senp, men kite a ale pi devan epi sèvi ak sa a se kòm yon
opòtinite yo ekri fonksyon pwòp nou yo.
Se konsa, konsa byen lwen, nou te sèlman itilize prensipal yo, e nou te itilize lòt
fonksyon moun yo, men nou pa genyen ekri pwòp nou yo.
Se konsa, isit la nou ale.
Mwen pral ale pi devan epi ekri yon fonksyon rele kib.
Apre sa, mwen m 'pral fè li pran yon antre.
Se konsa, D 'li yo a pwal yon antye relatif.
Ak ki sa ki li pwal fè?
Li nan ale nan deklare int pwodiksyon = D 'fwa D'
fwa D '.
Lè sa a, li pral retounen ke randman.
Lè sa a, mwen gen yo dwe espesifik kounye a.
Sa a fonksyon ki pral retounen yon int.
Se konsa, isit la Lè sa a, ki jan pou ou ta ekri fonksyon pwòp ou yo.
Ou premye deside sa a non an nan ou
fonksyon pral fè.
Epi jeneralman, yon bagay eksplikasyon se yon bon bagay, se konsa mwen pral
rele li kib.
Lè sa a, ou gen presize ki sa li pral retounen, sa ki nan
pwodiksyon li pral fè.
E nou pa gen opsyon ke anpil ankò.
Int, Char, flote, bouleen, fisèl.
Pou kounye a, mwen pral bwa avèk yon int, paske mwen vle li
retounen yon nonb antye relatif.
Lè sa a, ou gen presize ki sa entrain li yo, si genyen, se.
Men, si kib pran yon agiman, li pran yon bagay ant
parantèz, ou oblije bay ki agiman yon non pou ke
ou ka rele li yon bagay tankou w ap aplike oswa ekri
sa a fonksyon, epi ou gen bay li yon kalite, ki nan sa a
ka a pwal int.
Se konsa, nan kout, kib se yon fonksyon ki pran yon nonb antye relatif
kòm opinyon epi retounen yon nonb antye relatif kòm pwodiksyon.
>> Se konsa, sa li fè ak ki D '?
Oke, nan liy 14, Mwen deklare yon varyab pwodiksyon yo rele, epi mwen
bay li valè a, fwa D 'D' fwa D '.
Lè sa a, m'a tounen soti.
Se konsa, kouman mwen sèvi ak sa a Lè sa a,?
Ki sa ki pou mwen chanje sa yo karaktè make sou liy
7 yo dwe, ou panse?
ODYANS: [fèbl].
DAVID J. Malan: Yeah, se konsa kib pou x.
Se konsa, x ki se yon varyab, ki vle di li kenbe kèk valè.
Erezman, li la nan nonb antye relatif ki kalite.
Epi paske x se yon int, sa vle di mwen ka pase l 'nan kib.
E menm si mwen k prensip valè x ak valè a
nan x kib, menm jan te ka a konsa byen lwen, nenpòt ki lè ou
gen egal siy ak yon liy nan kòd, bagay la sou bò dwat la
vin egzekite ak Lè sa a, vin asiyen nan la
valè sou bò gòch la.
Se konsa, lòd operasyon se jan nou ta espere.
Se konsa, sa fèt?
Oke, kite m 'ale desann isit la.
Kite m 'louvri moute fenèt tèminal m' yo.
Kite m 'fè kantite, Antre.
"Deklarasyon enplisit nan 'kib' fonksyon se valab nan
C99. "Kòm yon sou kote, C99 refere a C nan lang jan li te ye
sa defini nan 1999, ki te yon ajou sou vèsyon an soti nan
1989, ki se yon ajou sou orijinal la.
Se konsa, sa a, se tout sa ki vle di.
>> Se konsa, sa sa vle di ke "enplisit deklarasyon
'kib' fonksyon se valab? "Li isit la menm.
Li nan dwa gen nan liy 12.
ODYANS: [fèbl].
DAVID J. Malan: Ki sa ki nan sa?
ODYANS: Se pa anvan.
DAVID J. Malan: Se pa anvan.
Se konsa, sa a se bagay la.
C se kalite estipid, oswa C konpilateur yo se kalite estipid.
Yo te reyèlman sèlman fè sa ou di yo fè.
Apre sa, yo, an patikilye, sèlman li tèt kòd ou a anba,
gòch a dwat.
Se konsa, si du a, rezone, ap li kòd ou a, liy 1, li
figi konnen kouman ou kapab fè sa.
Oh, isit la vini prensipal la.
Oke, kite m 'ale pi devan epi deklare yon x varyab.
Kite m 'enprime yon bagay.
Liyn 7, ki sa ki èk an se kib?
Li pa nan te deklare nan stdio.h.
Li pa vini ak C. mwen pa gen okenn lide sa yo dwe fè.
Se konsa, rezone jis batone ak L Kite ak ki mesaj erè.
Se konsa, nou ka repare sa a nan yon koup nan fason.
Nou ka anseye rezone sa ki kib se pa jis k ap deplase kote a
deklarasyon se.
Se konsa, mwen koupe epi kole li anlè prensipal la.
Koulye a, reyalize ke jis paske prensipal se pa premye fwa, li nan
toujou egzekite pa default.
Main se prensipal la.
Li nan non an fonksyon default.
Li pa enpòtan kote li ye nan yon dosye.
Men, nan omwen kounye a sonnen te wè kib mwen anvan m 'sèvi ak li.
Se konsa, kite a wè si sonnen se pi kontan kounye a.
Fè kantite, li t 'konpile tan sa a.
>> Kite m 'kouri kantite.
Ak tout bon, li sanble yo dwe ap travay.
Koulye a, ou ka vini ak senaryo evantyèlman kote
li pa posib yo mete chak fonksyon
pi wo a chak fonksyon ak lòt.
Ou ap jwenn kole nan sa a riban enfini an reyalite,
kote sa a Guy vle fè isit la, men sa a
nèg bezwen yo dwe la.
Se konsa, ke pa toujou travay.
Se konsa, Erezman, C a gen yon solisyon plis elegant.
Mwen pral mete sa a tounen kote li te, jis paske mwen
pito, kòm yon kesyon de prensip, ki prensipal toujou
nan tèt la, paske li nan jis bèl yo wè sa ki nan pwogram sa a
fè pa defo.
Ak sa m ap pral fè moute isit la se deklare sa ki rele
yon pwototip.
Mwen pral re-deklare fonksyon kib m 'pa literalman
kopye ak kole.
Aktyèlman, sa a pa literalman.
Se konsa, literalman kopye ak kole liy 15
moute pi wo a liy 6.
Li pa enpòtan ki sa liy sa a fini moute sou li.
Li k ap pase yo sou liy 4.
Men, li gen yo dwe anvan prensipal la.
Men, remake diferans lan.
Liy 4 fini ak yon virgules, ki vle di hey,
Rezone, pran pawòl mwen pou li ke gen egziste yon fonksyon
rele kib ki pran yon int ak retounen yon int.
Men, mwen pa pral di w sa li se ankò.
Jis konnen ke mwen te pwomèt di ou evantyèlman.
Ak tout bon, kounye a li nan oke ke sa a se desann pi ba a.
>> Se konsa, sa a se jeneralman pi byen, paske lè sa a nan tèt yo nan
dosye ou, ou ka jis chante a, rapid-dife, yon liy
chak, ki sa ki non yo nan fonksyon ou yo, ki sa ki yo
entrain yo, ki sa ki sorti yo yo ye.
Ak yo dwe plis klè, D 'vle di jeneralman diskisyon oubyen
paramèt, synonym.
Sòti vle di valè retou, ki sa ki fè li
men tounen nan m '.
Se konsa, nan ka sa a isit la, kib ki te deklare nan tèt la, men
defini, ki te rekonèt kòm aplike, nan pati anba nan.
Se konsa, kounye a kite a ale tounen isit la ak re-kouri sa a.
Se konsa, kounye a kite m 'ale pi devan epi re-kouri fè, re-kouri kantite.
Ak li kounye a sanble ap travay jis anfòm.
Se konsa, kounye a nou ka ale pi devan ak faktè deyò yon bagay tankou nan
byè egzanp nan sa a vèsyon katriyèm.
Se konsa, kite m 'desann isit la.
Ak avi ke mwen kalite te pran leson sa a nan kè jis kounye a.
Reyalite a ke mwen te chante kouple a menm ankò, li
ankò e ankò, liy la koral menm nan chan an, te santi
renmen poukisa pa fè sa mwen faktè ki soti nan yon fonksyon?
Ak tout bon, sa a ta dwe youn nan motivasyon yo.
Anplis lefèt ke yon lòt moun nan mond lan ta ka vle
yo sèvi ak yon fonksyon kib -
ki nan yon rezon ki fè nou faktè yon bagay ki soti ak ekri ou
pwòp fonksyon koutim -
si gen nan yon ti moso nan kòd nan pwogram ou a, ki jis fè
konseptyèl sans, ke ou kalite vle bay li yon
non - tankou nan ka sa a koral, -
Lè sa a, ou ka menm ekri ke kòm yon fonksyon ki apa a.
Ou pa bezwen ekri tout bagay nan prensipal si li jis
santi l cleaner separe li soti ak bay li yon non.
>> Se konsa, nan ka sa a isit la, avi ke mwen gen yon kòmantè anlè
sa a fonksyon ki jis chante sou la
espesifye nimewo nan boutèy.
Avi isit la ke mwen pa bezwen rele sa yo
bagay sa yo opinyon ak pwodiksyon.
An reyalite, tan sa a mwen jis rele b opinyon mwen an pou boutèy.
Ak Avi a isit la, anile sijere ki sa?
Sa koral -
ODYANS: pa retounen li.
DAVID J. Malan: pa retounen yon valè.
Ak tout bon, fonksyon pa gen retounen valè.
Yo senpleman ka fè yon bagay.
Yo ka gen sa ki yo rele efè segondè yo, ki nan sa a
ka se jis yon pakèt antye nan enprime sou ekran an.
Se konsa, remake ke sa a kòd isit la, mwen literalman jis te vòlè nan
egzanp lan anvan yo.
Sèl diferans ki genyen se olye pou yo lè l sèvi avèk mwen kòm mwen
varyab, mwen kounye a lè l sèvi avèk b kòm varyab m 'yo.
Se konsa, mwen gen b desann isit la, mwen gen b desann isit la, mwen gen b
mwens 1 desann isit la.
Men, kòd la se egzakteman menm bagay la.
Men, jis montre w kounye a kijan nou kapab itilize sa a, kite m 'ale
devan ak aktyèlman chanje sa a yo dwe yon pou riban.
pou (Int mwen = n; mwen> n; mwen -).
>> Se konsa, mwen te vòlè ti zidòl kay ki soti nan egzanp anvan nou yo.
Précédemment, li la nan liy 37 ke mwen ta te kòmanse
chante chante sa a anmèdan.
Men, olye de sa, mwen jis ale nan kounye a rele koral nan mwen.
Fè.
Se konsa, kounye a nan chak iterasyon sa a riban, mwen rele sa lòt
fonksyon, koral, pou m 'te rive ekri.
Li pa te ekri pa yon lòt moun ane de sa.
Men, koral, pandan se tan, sèvi ak printf nan enprime
soti kat liy sa yo.
Men, lefèt ke m ap rele koral ankò e ankò nan yon
riban vle di ke mwen pral jwenn la, nan fen a trè,
egzak chante menm jan ak mwen gen konsa byen lwen.
Se konsa, nan kout, kounye a si mwen tounen gade dèyè nan kòd m ', menm si
woulant sa a se ekivalan, remake ke li nan
kòmanse jwenn menm plis lizib.
Mwen pa egzakteman konnen ki jan GetInt
se aplike.
Franchman, mwen pa konnen ki jan koral la aplike.
Men, li pa gen pwoblèm avè m '.
Mwen pa pran swen, paske koulye a, mwen kapab klase nan, kòm yon moun, li
sa a anba, depi anwo jouk.
Epi paske fonksyon yo ap rele daprè sa yo
fè sa, kòd mwen an se de pli zan pli lizib.
Epi kòm pwogram nou jwenn pi plis konplèks -
nan fen semès la, ou pral ekri dè santèn de liy
nan kòd nan lang tankou PHP ak JavaScript ak renmen an -
w ap jwenn ke li nan tèlman pi fasil pase nan kenbe tras nan
ki sa ou te fè.
Ak lè ou kòmanse kolabore ak zanmi oswa ak
patnè oswa kòlèg li, ou pral kapab ekri pi plis
pwogram masiv nan kòmanse fè egzèsis sa yo de baz
bilding blòk.
>> Se konsa, avèk ki t'ap di:, poukisa pa nou rele li yon jou?
Epi nou pral wè ou nan Mèkredi.
[Aplodisman]