>> Doug Lloyd: Tout dwa, se konsa kite nan pale sou pasan.
Se konsa, pasan yo se kalite fre paske yo pèmèt pwogram ou
al touye liy nan Kòd sou yo ak sou yo ak sou.
Repete, san yo pa gen a kapab bay kopi epi kole oswa otreman repete yo.
Gen twa gwo kalite pasan ou pral wè.
Ou ap pwobableman gen yo sèvi ak okazyon chak moun jan ou pwogrè nan CS50.
Gen kèk nan sa yo, se trè pasan abitye nan ou soti nan grafouyen,
se konsa ankò, jan nou te fè ak kondisyonal, , nou pral mete yo moute kòt a kòt
si gen yon analoji nou ka tire dlo.
>> Premye se pou tout tan soti nan grafouyen, ki konpare ak pandan y ap (vrè).
Sa a se sa nou rele yon riban enfini.
Liy ki nan kòd la ant Curly aparèy òtopedik, anpil tankou moso yo devinèt
ki anfòm andedan C a a pou tout tan bloke nan,
ap egzekite repete depi anwo jouk anba, sou yo ak sou yo ak sou,
pou tout tan.
Apre yo tout, si ou sonje nou an diskisyon sou ekspresyon Boolean,
vre se toujou vre.
Se konsa, si n ap fè yon bagay konsa lontan ke vre
se true-- li sanble yon ti kras silly-- vre se toujou vre, se konsa li pral toujou kouri.
Li pral kouri pou tout tout tan tout tan jiskaske nou
jwenn yon fason yo kraze soti nan l 'ak yon deklarasyon ti repo, ki ankò,
nou te wè yon ti tan de sa nou te pale sou switch.
>> Oswa otreman jis touye nou an pwogram, ki fortwit,
si ou te janm jwenn tèt ou nan yon sitiyasyon ki gen yon riban enfini
epi ou pa konnen ki jan yo sispann pwogram ou soti nan kouri.
Jis frape kontwòl ak C ak ki pral touye pwogram ou pou ou.
Men, sa a, ankò, se rele yon bouk enfini.
Li se yon bouk ki pral kouri pou tout tan.
Koulye a, pandan y ap pasan yo pa toujou enfini, paske tou
nou ka ranplase Boolean a ekspresyon ak yon bagay
yon ti kras pi plis itil pase jis vre.
Se konsa, isit la nan yon lòt egzanp.
Pandan ke ak kèk Boolean ekspresyon ak aparèy òtopedik Lè sa a, Curly.
Sa a bèl anpil analoji repete jiskaske, nan grate.
Malgre ke nan yon dezyèm fwa, mwen pral eksplike diferans-la.
>> Se konsa, nan C, si ekspresyon ki Boolean andedan nan riban an pandan y ap
evalye vre, liy ki an Kòd ant aparèy òtopedik yo Curly
ap egzekite repete sou yo ak sou yo ak sou jiskaske ekspresyon Boolean
evalye ak fo.
Se konsa, pou egzanp, ou ta ka gen kèk sòt de vann san preskripsyon.
Se konsa, di ou nan kòmansman an nan sa a riban di Int x egal zewo.
Pandan ke x se mwens pase 100, fè yon koup bagay andedan ki aparèy òtopedik Curly,
Lè sa a, nan fen a nan riban ou a, ou di x plis plis, w ap incrementing x.
Evantyèlman x pral jwenn a 100 epi w ap
sispann paske kondisyon an x se mwens pase 100
va sispann fè vre kòm pli vit ke x se egal a 100.
100 se pa mwens pase 100.
>> Koulye a, yon ti jan konfizyon, konpòtman an nan blòk la grate se ranvèse.
Se konsa, dwe reyèlman atansyon si sa a se premye plonge ou a nan lè l sèvi avèk pasan.
Fondamantalman, repete nan jouk blòk nan grafouyen
repete yon bagay pral sou yo ak sou yo ak sou,
jouk ekspresyon an, Boolean a ekspresyon nan egzagòn a se vre.
Se konsa, li ap kenbe fè li jiskaske li se verite.
Pandan se tan, riban a pandan y ap pral kontinye fè l 'ankò jouk li se fo.
Se konsa, yo ap byen menm jan, men gen nan ke ti kras diferans jis
dwe fè atansyon nan espesyalman kòm ou fè premye plonge ou a soti nan tranzisyon
nan grate nan c.
Kalite nan pwochen nan riban se aktyèlman trè menm jan an.
Yo rele li fè a pandan y ap riban.
Sa a riban ap egzekite tout liy yo nan kòd ant aparèy òtopedik yo Curly yon fwa,
ak Lè sa a li pral tcheke pou wè ekspresyon ki Boolean.
Si ekspresyon ki Boolean evalye vre,
li pral tounen ladan l epi repete ke pwosesis sou yo ak sou
yo ak sou jiskaske Boolean a ekspresyon evalye ak fo.
Se konsa, sa riban, kontrèman ak yon riban pandan y ap, se garanti a kouri omwen yon fwa.
Sa a kapab trè itil.
>> Anfen, nou gen yon pou riban.
Pou pasan yo se kalite syntactically désagréable
ak gen nan yon anpil pral sou isit la, se konsa pote avè m '
kòm nou eseye epi kase moso vyann bèt yo apa.
Anjeneral, ka a pou sèvi nan yon pou riban se ou
vle repete yon bagay yon kantite espesifik de fwa.
Nan egzanp sa a isit la, Mwen gen blòk la repete
soti nan grafouyen a, ki se analoji nan la pou riban
nan C, repete yon bagay 10 fwa.
Apre sa, la pou riban sou bò gòch la a, ki
se yon bouk kat ki ta fè menm bagay la.
Sa a ta ale 10 fwa.
Konte soti nan zewo, nou kantite chak pas nan riban an.
E nou kontinye ap fè ki jouk mwen se mwens pase 10.
>> Se konsa, sa k ap pase?
Genyen yon anpil tout nan kòd la.
Se pou yo kraze li desann nan sa k ap pase etap
pa etap jan nou fouye nan yon pou riban.
Premye bagay ki te pase se ke varyab la vann san preskripsyon se sant.
Tout nan kite nan ke premye virgules andedan parantèz yo
se egzekite.
Nan ka sa a, nou se di int mwen egal 0.
Deklare yon varyab nouvo rele m, ki varyab se yon nonb antye ki pè di ki
epi nou ap di valè a andedan varyab sa a pwal zewo.
>> Bagay la dezyèm nou fè se nou lè sa a imedyatman evalye
ekspresyon ki Boolean.
Ekspresyon Boolean se nan la mitan nan de virgules yo.
Mwen se mwens pase 10.
Sa a vre isit la, dwa?
Nou jis te di m ki egal a zewo, e konsa 0 se mwens pase 10,
ak pou kondisyon ki se vre epi nou pral kounye a
kontinye nan egzekite kò a nan riban an.
Si li te fo.
Si, pou egzanp, mwen te di olye pou yo mwen egal 0 gen m 'te di mwen egal 15,
int mwen egal 15.
Oke 15 se pa mwens pase 10, se konsa nou pa ta janm antre nan kò a nan riban an
paske ekspresyon ki Boolean ta evalye yo dwe fo.
>> Apre nou ale nan depi anwo jouk anba, nou rankontre ki fèmen Curly atèl,
yon bagay twazyèm k ap pase.
Varyab la vann san preskripsyon se enkremante, ou pito, liy ki
nan kòd nan yon deklarasyon apre a dezyèm virgules andedan nan la
pou pasan parantèz se egzekite.
Se konsa, nou kòmanse soti nan di int mwen egal 0.
Lè sa a, nou tcheke si wi ou non ekspresyon ki Boolean se verite.
0 se mwens pase, 10 se konsa li a vre.
Se konsa, nou ap ale nan kontinye nan kò a riban an.
Bagay sa yo pral rive andedan riban a, ak lè nou rankontre ki fèmen Curly
atèl, bagay la pwochen nou fè se nou di mwen plis, plis.
Mwen te zewo koulye a, mwen se youn.
Lè sa a, nou ankò tcheke valè a nan ekspresyon ki Boolean nan mitan yo.
Youn nan se mwens pase 10.
Se konsa, nou pral ale nan sa a travay sou ankò e ankò.
Nou pral ale nan fèmen an Curly atèl ankò.
Nou pral kantite mwen soti nan 1 a 2 ak soti nan 2 a 3.
Se konsa, sou yo ak sou sa ak sou sa, jouk evantyèlman valè mwen an vin 10.
Se 10 mwens pase 10?
No
Konte ki ant 0, nou te ale nan 10 itérations nan riban.
Nou te repete 10 fwa, jis jan nou te fè nan blòk la reyur.
Se konsa, sa a, se fondamantalman nan pwosesis pou yon riban kat.
>> Koulye a, pran lwen nan Kòd aktyèl ak mete l '
nan jis kèk debaz deklarasyon jeneral.
Isit la nan sa ki rive.
Tout deklarasyon sa yo nan kòmanse yo egzekite premye.
Ou ta ka gen plis pase yon.
Lè sa a, se ekspresyon ki Boolean w tcheke yo.
Si ekspresyon ki evalye nan vrè, egzekite kò a riban yon sèl fwa a.
Si ekspresyon ki evalye ak fo, nou ap fè.
Nou pa egzekite nan kò a riban an nan tout.
Apre nou te egzekite nan kò riban an yon sèl fwa,
nou Lè sa a fè sa ki nan pati nan kantite a.
Ki se nòmalman ap pase yo dwe yon bagay tankou m plis, plis
oswa yon bagay tankou sa, ki modifye yon varyab vann san preskripsyon.
Lè sa a, apre nou fin kantite, nou tcheke ekspresyon an ankò
ak repete moun etap sou yo ak sou yo ak sou jiskaske ekspresyon an se
pa gen okenn vre pi long lan.
>> Se konsa, sa yo se itilize ka yo pou yon riban?
Sèvi ak ou sèvi ak yon riban pandan y ap lè ou vle yon riban yo repete
yon nimewo enkoni nan fwa, men li pètèt pa ta ka kouri tout.
Yon egzanp vrèman komen nan yon ti tan loupin te itilize
se nan kouri koule nan kontwòl pou yon jwèt.
Ou pa ta ka konnen konbyen tan nan itilizatè yo pral jwe,
men ou vle kenbe fè menm bagay la.
Mete ajou pozisyon yo nan divès kalite sprites sou tablo a.
Ou vle kenbe bagay sa yo k ap deplase nan tout tan,
men ou pa konnen ki lè nan itilizatè ki pral sispann jwe
oswa lè yo pwal santi kouri soti nan lavi moun.
Se konsa, yon riban pandan y ap se reyèlman bon pou yon bagay tankou sa.
Sa se yon sèvi ak bon ka.
>> Pou yon fè pandan y ap riban, li a trè menm jan an.
Ou vle yon riban yo repete yon enkoni kantite fwa, men omwen yon fwa.
Ou ta ka sèvi ak sa a pou yon jwèt tou, men yon sèvi ak ka vrèman komen
se pouse itilizatè a pou D '.
Anjeneral, ou ta ka di yon bagay tankou, ban m 'yon nonb antye relatif pozitif,
epi ou ta ka mete sa andedan nan yon fè pandan y ap riban.
Se konsa, li ap toujou mande yo nan omwen yon fwa pou yon nonb antye relatif pozitif.
Si yo ba ou yon nonb antye relatif pozitif, ou ta ka kraze soti nan riban an.
Ou ta ka dwe fèt.
Ekspresyon nan Boolean nan fè pandan y ap a ta ka fo.
>> Epi ou pa pral mande yo ankò.
Si yo ba ou yon nimewo negatif kote yo tape kèk mo oubyen yon yon bagay sa a, se
pa reyèlman itil nan ou, ou ta ka sèvi ak a
pandan y ap riban yo ale retounen lakay yo epi fè l 'ankò e ankò e ankò.
Ou definitivman vle mande yo ba ou yon nimewo yon fwa,
men ou pa konnen konbyen fwa apre ke yo ta ka ensèk.
Se konsa, yon fè pandan y ap li nan yon itilize gwo ka pou pouse itilizatè a pou D '.
Ak yon pou pasan itilize ka tipikman se lè
ou vle repete yon bouk yon PO disrè de fwa,
menm si ou ta ka pa konnen ki kantite fwa
moman sa a se pwogram nan konpile.
>> Se konsa, pou egzanp, petèt ou gen yon pwogram kote ou pouse itilizatè a pou yon nimewo.
Apre sa, yo antre nan 100.
Lè sa a, ou pral pou riban nan ka sa a kouri 100 fwa.
Oswa petèt yo antre nan 1,000 nan pwogram ou an
ak Lè sa a kouri riban an 1,000 fwa.
Li se yon kantite espesifik de fwa.
Yo fè pa nesesèman konnen ki sa ke nimewo
se pwogram nan moman sa se konpile.
Li pa nan renmen yon riban pandan y ap kote li ta ka enfini.
Li nan olye yon PO ke ou jis pa konnen.
Koulye a, menm si mwen te gen dekri tout ka sa yo itilize,
ou ta dwe konnen ke nan bèl anpil chak sikonstans,
ou ka Interchange tout twa nan pasan sa yo.
Ou ka itilize yon pou riban ki kote ou ta sèvi ak yon riban pandan y ap.
Ou ka itilize yon pou riban tout kote ou ta sèvi ak yon fè pandan y ap riban ak sou sa.
Li kapab yon ti kras difisil pafwa, se konsa jeneralman li nan yon bon pratik
pou respekte règleman yon ka itilize òdinè.
Sèvi ak yon fè pandan y ap riban si ou te vle yon bagay yon fwa, omwen.
Sèvi ak yon pou riban si ou vle fè yon bagay yon kantite espesifik de fwa.
Apre yo tout, sa a, se poukisa gen twa diferan kalite pasan.
>> Se konsa, yo ka itilize nan yon kontèks a dwat.
Men, ou ka Interchange yo si ou vle.
Si ou santi konfòtab ak pasan pandan y ap epi ou toujou vle sèvi ak pandan y ap pasan.
Li se yon bagay ki ou ka fè, byenke li
ta kapab yon ti kras syntactically difisil, kote yon pou riban
ta dwe yon anpil plis senp.
>> Non mwen se Doug Lloyd ak sa a se CS50.