>> ZAMYLA Chan: jump Le në Mario.
Mario është një program ku ne do të bëjmë tonë vet, ndonëse primitive, versioni i
një klasik Super Mario Brothers background lojë.
Për këtë grup të problemit, ne jemi duke shkuar për të rikrijuar gjysmë-për piramidën
Mario të hidhen në.
Programi ynë do të jenë interaktive, kështu që do të kërkojë përdorues të input një farë
lartësia për piramidën.
Dhe program do të shtypura nga një gjysmë-piramida e kësaj lartësi, ku
hash fund majtas aligns me pjesën e poshtme këndin e majtë të terminalit
dritare output.
>> Le të thyejnë këtë problem në dy pjesë, një, të marrë të dhëna përdoruesi, dhe dy,
shtypura nga piramidën.
Mos harroni se edhe pse funksioni GetInt do të rifitoj një numër të plotë, ju
duhet të sigurohemi që ky input bën Ndjenja për programin tuaj, kështu që në
Mario, ajo nuk do të bëjë vetëm një Produkti për një numër të plotë.
Ju do të duhet të sigurohemi që përdoruesi inputet që është një numër i plotë brenda
kufij më të ulët dhe e sipërme të Piramida që ju mund të shtypura.
Per këtë spekulim, kjo është 0 dhe 23 përfshirëse.
Nëse një përdorues inputet Integer jashtë caqeve të pranuara tona, atëherë ne duam
për të nxitur ato përsëri dhe përsëri derisa ata na japin një numër i plotë vlefshme.
>> Një mënyrë për të siguruar të dhëna përdoruesi është korrekt duke përdorur nje lak bëjmë-ndërkohë, i cili eshte
shumë e ngjashme me një lak kohë.
A-Ndërsa loop ekzekuton kodin brenda trupit një herë, dhe pastaj kontrollon
nëse kushti është plotësuar apo jo.
Kjo është e dobishme për marrjen e input përdorues sepse ju e dini që ju duhet
për t'i nxitur ato të paktën një herë.
Nëse kusht nuk është plotësuar, programi do të ekzekutojë vijën pas
loop DO-Ndërsa tuaj.
Nëse kushti është plotësuar, edhe pse, loop do të përsëriten.
>> Një DO-Ndërsa loop për Vleresimin përdorues input do të duket diçka si kjo.
Unë deklaroj një ndryshore n, GetInt, dhe të përsëritur deri n është i vlefshëm.
Mos harroni se kur ju të deklarojë tuaj ndryshueshme, ajo ka nevojë të përshtatshme
Shtrirja, ashtu si në Scratch.
Nëse unë deklaroj n brenda DO-Ndërsa lak tim, Pjesa tjetër e programit nuk do të jetë
në gjendje për të hyrë në të.
Ajo kufizohet në kufij i braces kaçurrel.
>> Të gjithë të drejtë, kështu që tani që ne kemi vërtetuar input të përdoruesit, ne në të vërtetë nevojë për të
tërheqë këtë gjysmë piramide.
Ajo është e përbërë nga karaktere të shtypura, kështu që le të bëjmë një gjysmë-piramidë në një të thjeshtë
editor teksti.
Nëse ne duam të bëjmë një piramidë stil Mario e lartësisë që është rreshtuar tre
në anën e majtë të dritares tonë, atëherë ne do të shkruani dy hashes, klikoni Enter,
pastaj shtypni tre hashes, klikoni Enter, dhe pastaj shtypni katër.
>> Por në këtë grup problemit, tona gjysëm-piramidë duhet të jetë një linjë të drejtë.
Duke përdorur një tastierë standarde, si mund të ju modifikoj këtë skedë për të lëvizur hashes
mbi në anën e djathtë?
Unë mund të përdorin për nënvizon, dy në Reshti në krye dhe një në sekondë.
Kjo nuk duket aq e bukur, edhe pse, kështu që le të zëvendësojë nënvizon me
hapësira, dhe aty ne kemi një piramidë gjysmë- e lartësisë tre.
>> Provo dhe të mbani mend këtë editor teksti shembull si ju filloni të menduarit prapa në
C. Le të përpiqen dhe të kuptoj se disa lloj model që ne mund të
vënë në një konstrukt loop.
Merrni një lartësi shembull, thonë se tetë, dhe shihni nëse ju mund të filloni për të
të dalë me një model.
Rreshtin e parë do të ketë shtatë hapësira pasuar nga dy hashes.
Radhën e dytë do të ketë gjashtë hapësira dhe tre hashes, dhe kështu me radhë deri
teti rresht.
>> Por si mendoni ju do të përfaqësojë rresht n?
Mos harroni se konventë programimit është indeksuar zero.
Kjo do të thotë që ju të filloni numërimit në zero, kështu radhën e parë është teknikisht
Numri i rreshtit zero me dy çel, rreshti numër një ka tre hashes, rreshti
numri dy ka katër hashes, kështu që pas ky model për çdo rresht
Numri n, ka n plus 2 hashes.
Unë do të lënë atë për ju, edhe pse, për të gjetur jashtë model për hapësira.
Mos harroni se modeli juaj do të jetë paksa e ndryshme në qoftë se ju zgjidhni për të
fillojnë numërimin tuaj nga një dhe jo zero.
>> Tani, ju keni një model për çdo n abstrakte rresht.
Ti e di se sa shumë hapësira për të shtypur dhe sa hashes, kështu që për çdo rresht, që
Numri do të ndryshojë.
Por i njëjti proces i shtypjes a karakter të vetëm, ose një hapësirë ​​ose një
hash, është i përsëritur.
Pra, të gjithë ju duhet të bëni është të përsëritur printoni atë për karakterin herë si shumë
si model juaj përcakton.
>> Deri sa nuk kemi përsëris procese?
Në Scratch, kemi përdorur bllok përsëritur.
Në C, ne do të përdorim një lak Për.
Le të shikojmë në sintaksë Për për sythe.
>> Çdo Për lak është i përbërë nga tre pjesë, një inicializimit, një kusht,
dhe një update.
Për loop juaj do nisja një ndryshore kur ajo të parë
hyn Për lak.
Nëse kushti është plotësuar, trupi e lak do të ekzekutojë.
Më pas, përditësimi do të ekzekutojë.
>> Nëse kushti është plotësuar ende, loop do të ekzekutojë dhe përditësimin dhe
përsërisin aq kohë sa gjendjen tuaj evaluohet në true.
Ju jeni kusht duhet përfundimisht valuate të rreme, edhe pse, sepse
ndryshe nga zeroja, ne nuk bëjmë keni ndonjë sythe përgjithmonë.
Programi juaj duhet të marrë fund përfundimisht.
>> Ja një shembull i një lak Për atë ju mund të dëshironi të përdorni për Mario.
Initialization deklaron Unë një numër të plotë me vlerë 0.
Sa kohë që unë është më pak se lartësia, Trupi i lak dhe do të ekzekutojë
nga një i rritur dhe të përsëritur derisa unë është më e madhe se, ose të
barabartë me lartësinë.
>> Tani, loop Sepse im është zero indeksi.
Int Unë fillon në zero, as edhe një.
Nëse unë zgjodha një, atëherë gjendja ime do gjithashtu duhet të jenë të ndryshme për
lak për të ekzekutuar numër të njëjtë të kohës.
Mos harroni këtë me kujdes kur ju jeni inicializimit zgjedhjen tuaj dhe tuaj
kusht, dhe të konsultohet ky skicojë të kontrolloni të dyfishtë.
>> Një nga gjërat e mëdha për kompjuter shkenca është se nuk është vetëm kaq shumë
mënyra për të ekzekutuar gjëra.
Ju mund të zgjidhni nëse ju të fillojë në zero ose një.
Nëse ju nuk dëshironi të përdorni një lak Për, ju gjithashtu mund të përdorni një lak, ndërsa për
përsëritur deklaratat për aq kohë sa ju mbani thelbin e një lak Për,
, initialization kusht, dhe update.
Pasi ne e gjej lak për atë ne jemi më të rehatshme me të, atëherë ne
mund të përfundojë Mario.
>> Ne së pari kontrollohet për user input identifikuar dhe pastaj një
model për çdo n rresht.
Kështu për secilin rresht nga zero deri n minus 1 do të shtypura numrin e duhur të
hapësira, atëherë numri i duhur i hashes sipas modelit tonë, dhe
pastaj një linjë e re.
Me këtë, ju keni piramidën tuaj.
Emri im është Zamyla, dhe kjo ishte Mario.