Tip:
Highlight text to annotate it
X
[Powered by Google Translate] Tommy MacWilliam: talk Ejja dwar loops, wieħed mill-komuni
programmazzjoni constructs Ser naraw matul CS50.
Aħna ser tuża loops meta rridu li jwettaq
kompitu aktar minn darba.
Per eżempju, aħna tista 'tixtieq li jistampaw "hi" 100 darba jew stampata
out kollha l-ittri tal-alfabett.
F'dawn iż-żewġ każijiet, aħna għandna waħda ħaġa li rridu nagħmlu
darbiet multipli, jistampa xi ħaġa barra.
Madankollu, dak li aħna jistampa kull darba jista 'jvarja.
Allura nistgħu nagħmlu xi ħaġa ftit differenti fuq kull
iterazzjoni, jew run permezz, tal-linja.
Ser naraw tliet tipi differenti ta 'loops fis-C, waqt li
loops, għal-linji, u jagħmlu filwaqt loops.
Għalkemm dawn it-tliet tipi ta 'linji għandhom sintassi differenti,
l-ideat wara minnhom huma l-istess.
Aħna ser jiddefinixxu xi blokk ta 'kodiċi ġewwa ċineg kaboċċi,
imsejjaħ il-korp tal-linja, li aħna rridu li jiġu eżegwiti
xi numru ta 'drabi.
Billi tinbidel il-valuri ta 'varjabbli użati fil-ġisem, aħna
tista 'tagħmel loop tagħna tagħmel xi ħaġa differenti kull darba huwa run.
Ma 'kwalunkwe loop aħna tikteb, aħna ser bżonn ukoll li jiddeċiedu meta l-
loop se tieqaf taħdem.
Jekk aħna ma tagħmel dan, imbagħad il-kompjuter trusty tagħna se tkompli
jiddekorri dan loop sakemm aħna joqtlu l-programm.
Fl Scratch, nistgħu jużaw il-irrepeti n-ħinijiet
blokk biex joħolqu loop.
Kollha tal-biċċiet ġewwa blokk li qal ripetuti 10
tkun run 10 darbiet.
U mbagħad, aħna'd jimxu fuq il-biċċiet wara li loop.
Allura kondizzjoni tat-twaqqif tagħna kien sempliċi, dan blokk kien
run 10 darbiet.
Mela ejja jirrikreaw dan C. Sabiex tiġi żgurata Scratch
li l-biċċiet fi ħdan il-blokk ripetuti huma esegwiti
eżattament 10 darbiet, Scratch jeħtieġ li jżommu rekord ta 'kull
eżekuzzjoni tal-blokka ripetuti.
Biex iżżomm kont ta 'kif ħafna drabi ġisem loop tagħna kien
esegwiti, ejja toħloq varjabbli imsejjaħ i.
Aħna ser tibda off i għal żero, peress loop tagħna
ma tkunx ġiet run s'issa.
OK
Issa aħna ser tuża l-keyword filwaqt li tibda off loop tagħna.
Issa għandna bzonn biex insemmu meta loop tagħna se tieqaf, iżda
ejja jħallu din għal issa u mbagħad terġa 'lura għal dan.
Kull dritt.
Ġewwa ta 'linja tagħna, ejja biss print messaġġ out, bħal
"Hi." Nistgħu nużaw l-funzjoni printf għal dan.
Kull dritt.
Allura issa aħna ser tirreġistra dik l iterazzjoni tal-ġisem loop għandha
ġew eżegwiti.
Nistgħu nagħmlu dan billi żżid 1 sa, jew inkrementazzjoni, kontro tagħna
varjabbli, i.
Biex tagħmel dan, nistgħu ngħidu i huwa ugwali għal i plus 1, jew aktar
sempliċiment, i plus plus.
Great.
Allura issa nistgħu naraw li kull darba loop tagħna hija mmexxija, tagħna
varjabbli kontro tmur minn waħda.
Allura nafu eżattament kemm iterazzjonijiet konna run s'issa.
Wara iterazzjoni waħda mill-linja, il-valur tagħna
ta 'i se tkun l-1.
Wara żewġ iterazzjonijiet, i se tkun 2.
U wara 10 iterazzjonijiet, i se jkun 10.
Allura, jekk irridu biex imexxu dan loop eżattament 10 darbiet, imbagħad
dan huwa meta irridu jieqfu.
Allura aħna tixtieq li tmexxi dan loop filwaqt i huwa inqas minn 10, u
dan huwa eżattament dak li aħna ser tikteb, filwaqt i
huwa inqas minn 10.
Din il-kondizzjoni tidher biss bħal l-kundizzjonijiet aħna użati fil jekk
blokki inkella.
Wara l-korp ta 'linja tagħna ġiet eżegwita, programm tagħna
se jaqbżu lura sa l-kundizzjoni loops.
Jekk il-kondizzjoni hija vera, allura l-korp ta 'l-
loop se titmexxa mill-ġdid.
Jekk il-kondizzjoni huwa aktar veru, allura loop tagħna mhux se jkun
run aktar u se jimxu fuq il-linja li jmiss tal-kodiċi
taħt loop tagħna.
Kull dritt.
Mela ejja tagħti ħarsa lejn xi tip ieħor ta '
loop, il għar loop.
Li jmiss għall-keyword filwaqt li, fil-parentesi, kellna ħaġa waħda,
il-kundizzjoni li hemm bżonn li jkun veru għall-
ġisem loop li jitmexxew.
Dan ifisser kellna biex joħolqu varjabbli kontro tagħna barra
tal-linja u ftakar li inkrement huwa f'xi punt
ġewwa tal-linja.
Il-header għall tagħna għall loop, min-naħa l-oħra, għandu tliet
partijiet, kull waħda minnhom se jkunu separati bit punto virgola.
Fl-ewwel terz tagħna, aħna tista 'tiddikjara kwalunkwe kontro jew helper
Varjabbli aħna tixtieq li tuża fit-loop tagħna.
Fil-prattika, dan jista 'jkun verament utli.
Aħna verament ma bżonn li varjabbli, i, wara filwaqt li tagħna
loop tkun run, hekk aħna verament ma għandu jkollhom li tiddikjaraha
barra tal-linja.
It-tielet tieni se jkun il-kondizzjoni li għandha tkun vera
għall-korp li għandhom jiġu eżegwiti mill-ġdid, bħal
fil-linja waqt tagħna.
Fl-aħħar terz tagħna, aħna tista 'taħdem dikjarazzjoni li tkun
esegwiti wara kull iterazzjoni tal-linja, hekk aħna ma jkollhomx
biex din tinbena fil-ġisem loop.
Mela ejja tikteb għal linja li jgħodd isfel 5-1.
Aħna ser tibda bil-keyword għall.
Nistgħu noħolqu varjabbli counter ewwel, li aħna ser
stabbiliti sa 5 dan iż-żmien peress li aħna qed għadd isfel,
segwit b'waqfa u virgola.
Li jmiss huwa kundizzjoni tagħna, li aħna ser terga 'lura għal.
It-tielet, aħna tixtieq decrement varjabbli kontro tagħna wara
kull iterazzjoni tal-linja.
Allura minflok qal i plus plus, aħna ser ngħidu i nieqes minus.
Kull dritt.
Allura aħna rridu l-korp loop jiddekorri waqt i għadu
akbar minn 0.
Fil-ġisem tal-linja, ejja jistampa l-valur ta 'i.
Biex tagħmel dan, aħna ser tuża l-funzjoni printf, bl-użu% d
placeholder.
Ftakar, li placeholder se jiġu sostitwiti bl-
valur ta 'i.
Fl-aħħarnett, ejja żid dikjarazzjoni wara tagħna għall loop.
Meta aħna run dan loop, i se tibda off fil-5,
hekk 5 se jiġu stampati.
Ladarba i gets għal 0, il-kundizzjoni kontinwazzjoni, i huwa
akbar minn 0, se jibqgħu jżommu.
Allura loop tagħna se tieqaf esekuzzjoni, u aħna ser tara l-
dikjarazzjoni wara l-linja.
Mela ejja jimxu dan il-kodiċi.
L-ewwel, aħna ser jiġbor
countdown.c ma jagħmlu countdown.
Issa, aħna tista 'taħdem din il-kodiċi ma. / Countdown.
Fiż-żewġ linji filwaqt u għal loops, kontinwazzjoni tagħna
kundizzjoni ser tiġi ċċekkjata qabel ma l-korp
tal-linja hija esegwita.
Dan ifisser li, jekk il-kundizzjoni tagħna ma tkunx inizjalment
veru, allura l-korp ta 'linja tagħna qatt mhu se titmexxa.
Allura huwa xi kultant utli biex jiċċekkja l-kondizzjoni wara l-
korp tal-linja minflok quddiemha.
Mela ejja tikteb loop biex fil-pront lill-utent għal numru
sakemm numru pożittiv huwa fornut.
Jekk l-utent inputs numru negattiv, aħna ser jridu jistaqsu lilhom
għal numru ieħor.
Allura aħna ser tixtieq li dan pront li jkun ġewwa l-
ġisem off-linja.
Madankollu, meta l-linja hija mmexxija għall-ewwel darba, l-utent
ma tatna n-numru għadu.
Għalhekk ma jagħmilx sens li tivverifika jekk huwa pożittiv.
Minflok, aħna ser jridu jiċċekkjaw in-numru wara l-korp ta '
il-linja hija mmexxija.
Nistgħu nagħmlu dan bl-do filwaqt loop.
L-ewwel, aħna ser toħloq varjabbli, n, li ser ikollu
input l-utent.
Issa aħna ser tuża l-keyword do, segwit minn ċineg kaboċċi li
se tibda off-korp ta 'linja tagħna.
Fil-ġisem, nistgħu pront lill-utent għal numru bl-
GetInt funzjoni.
Issa, aħna ser jridu li l-korp ta 'dan loop biex tesegwixxi ġdid jekk
l-utent ittajpjat numru negattiv, hekk aħna ser ngħidu filwaqt n
huwa inqas minn 0.
Avviż tal-virgola hawn wara l-istqarrija waqt.
Mela ejja jimxu dan il-kodiċi.
L-ewwel, aħna ser jiġbor dan ma jagħmel pożittiv.
Issa nistgħu tmexxi l-programm ma '. / Pożittiv.
Jekk nagħtu dan il-programm numru negattiv, bħall negattiv
4, allura aħna ser tkun imħeġġa mill-ġdid għal numru peress li l-
kondizzjoni ta 'do tagħna filwaqt loop kien veru.
Ladarba aħna nagħtu numru pożittiv, bħal 8, allura l-
kondizzjoni ta 'do tagħna filwaqt loop se jibqgħu vera.
Allura l-linja mhux ser jiġi eżegwit mill-ġdid.
U li huwa għat-tliet tipi ta 'linji aħna ser tuża fil C.
Jisimni Tommy, u dan huwa CS50.