ZAMYLA Chan: Dewch i neidio i mewn i Mario. Mario yn rhaglen lle byddwn yn gwneud ein eu hunain, er cyntefig, fersiwn a Mario Super Brothers clasurol cefndir gêm. Ar gyfer y broblem hon set, rydym yn mynd i ail-greu'r hanner-pyramid ar gyfer Mario neidio ar. Bydd ein rhaglen yn rhyngweithiol, felly mae'n yn gofyn i'r defnyddiwr i fewnbynnu benodol uchder ar gyfer y pyramid. A bydd y rhaglen argraffu hanner-pyramid yr uchder, lle mae'r gwaelod chwith hash cyd-fynd â gwaelod cornel chwith y derfynell ffenestr allbwn. Gadewch i dorri y broblem hon yn ddwy ran, un, yn cael mewnbwn defnyddwyr, a dau, argraffwch y pyramid. Cofiwch, er bod y swyddogaeth GetInt yn adfer yn gyfanrif, rydych rhaid i ni wneud yn siwr bod y mewnbwn hwn yn gwneud synnwyr ar gyfer eich rhaglen, felly yn Mario, ni fydd yn gwneud dim ond cynnyrch ar gyfer cyfanrif. Bydd angen i chi wneud yn siŵr bod y defnyddiwr mewnbynnau cyfanrif dyna o fewn y arffiniau isaf ac uchaf y pyramid y gallwch ei hargraffu. Fesul spec hwn, mae hyn yn 0 a 23 yn gynhwysol. Os mewnbynnau y defnyddiwr yn gyfanrif y tu allan i ein terfynau derbyniol, yna rydym am i ysgogi nhw eto ac eto nes maent yn rhoi cyfanrif dilys i ni. Un ffordd o sicrhau mewnbwn defnyddwyr cywir drwy ddefnyddio dolen Do-Er, sy'n debyg iawn i ddolen Er. Mae'r Do-Er ddolen executes y cod y tu mewn i'r corff unwaith, ac wedyn gwiriadau a yw'r amod yn cael ei fodloni ai peidio. Mae hyn yn ddefnyddiol ar gyfer cael mewnbwn defnyddwyr oherwydd eich bod yn gwybod bod angen i chi i'w hannog o leiaf unwaith. Os nad yw'r amod yn cael ei fodloni, y rhaglen , yn gweithredu y llinell ar ôl eich Do-Er y ddolen. Os yw'r amod yn cael ei fodloni, fodd bynnag, Bydd y ddolen ailadrodd. Mae dolen Do-Tra ar gyfer dilysu defnyddwyr bydd mewnbwn edrych rhywbeth fel hyn. Yr wyf yn datgan a n amrywiol, GetInt, ac ailadrodd nes n yn ddilys. Cofiwch, pan fyddwch yn datgan eich amrywiol, mae angen y lle priodol cwmpas, yn union fel yn Scratch. Os wyf yn datgan n y tu mewn fy Do-Er ddolen, Ni fydd gweddill y rhaglen fydd gallu cael mynediad iddo. Mae'n gyfyngedig i'r cyfyngiadau o'r braces cyrliog. Mae pob hawl, felly nawr ein bod ni wedi dilysu fewnbwn y defnyddiwr, mae angen i ni mewn gwirionedd tynnu yr hanner-pyramid. Mae'n cynnwys gymeriadau hargraffu, felly gadewch i ni wneud hanner-pyramid yn syml golygydd testun. Os ydym am wneud pyramid arddull Mario o uchder tri sy'n cael ei halinio ar yr ochr chwith ein ffenestr, yna byddem yn teipio dau hashes, cliciwch Mewnbynnu, yna teipiwch tri hashes, cliciwch Fynd i mewn, ac yna teipiwch pedwar. Ond yn y broblem hon set, mae ein hanner-pyramid gael ei alinio i'r dde. Gan ddefnyddio bysellfwrdd safonol, sut y gallai chi addasu y ffeil i symud hashes drosodd i'r ochr dde? Efallai y byddwn yn eu defnyddio i tanlinellu, dau ar y rhes uchaf ac un ar yr ail. Nid yw hynny'n edrych mor neis, fodd bynnag, felly gadewch i ni yn lle'r tanlinellu gyda mannau, ac mae gennym hanner-pyramid o uchder tri. Ceisiwch gofio hyn golygydd testun enghraifft wrth i chi ddechrau meddwl yn ôl i C. Gadewch i ni geisio a chyfrif i maes rhai math o batrwm y gallwn rhoi mewn lluniad ddolen. Cymerwch uchder enghraifft, yn dweud wyth, a gweld os allwch chi ddechrau dod o hyd i batrwm. Bydd y rhes gyntaf wedi saith man ac yna dau hashes. Bydd yr ail reng wedi chwe lle a tri hashes, ac yn y blaen hyd nes y wythfed rhes. Ond sut ydych byddech yn cynrychioli y rhes nfed? Cofiwch fod confensiwn rhaglennu mynegeio yw sero. Mae hynny'n golygu eich bod yn dechrau cyfrif yn sero, felly mae'r rhes gyntaf yn dechnegol Rhif y rhes sero gyda dau hatches, rhes rhif un Mae tair hashes, rhes rhif dau bedair hashes, hynny yn dilyn patrwm hwn ar gyfer unrhyw res rhif n, mae n plws 2 hashes. 'N annhymerus' yn gadael i chi, fodd bynnag, i ddod o hyd y patrwm ar gyfer y lleoedd gwag. Cofiwch y bydd eich patrwm yn ychydig yn wahanol os ydych yn dewis ddechrau eich cyfrif o un ac nid yn sero. Yn awr, mae gennych patrwm ar gyfer unrhyw n rhes haniaethol. Rydych yn gwybod faint o fannau i argraffu a faint o hashes, felly ar gyfer pob rhes, fel y bydd y nifer yn newid. Ond mae'r un broses o argraffu cymeriad unigol, naill ai le neu hash, yn cael ei ailadrodd. Felly, rhaid i chi ei wneud yw dro ar ôl tro argraffu cymeriad hwnnw am gymaint o weithiau fel eich patrwm penderfynu. Felly, sut rydym yn ailadrodd prosesau? Yn Scratch, defnyddiwyd y bloc ailadrodd. Yn C, byddwn yn defnyddio a Ar gyfer dolen. Gadewch i ni edrych ar y gystrawen am I dolenni. Ar gyfer pob dolen yn cynnwys tri ran, initialization, cyflwr, a diweddariad. Bydd eich dolen ar gyfer ymgychwyn newidyn pan fydd gyntaf Ar gyfer mynd i mewn i'r ddolen. Os yw'r amod yn cael ei fodloni, y corff Bydd y ddolen gweithredu. Wedyn, bydd y diweddariad gweithredu. Os yw'r amod yn cael ei fodloni o hyd, mae'r Bydd dolen gweithredu a diweddaru a ailadrodd yr amod bod eich cyflwr gwerthuso i Gwir. Rydych yn rhaid i gyflwr valuate yn y pen draw i Anghywir, fodd bynnag, oherwydd yn wahanol i Scratch, nid ydym yn ei wneud gennych unrhyw dolenni Forever. Mae'n rhaid i'ch rhaglen orffen yn y pen draw. Dyma enghraifft o Ar gyfer dolen y efallai y byddwch am ddefnyddio ar gyfer Mario. Y initialization datgan mae i cyfanrif gyda gwerth 0. Cyn belled fel fi yn llai na'r uchder, bydd y corff y ddolen weithredu a cynyddu i gan un ac yn ailadrodd nes i yn fwy na neu'n hafal i uchder. Yn awr, fy Er ddolen yn sero mynegai. Mae'r Int i cychwyn ar sero, nid yw un. Os byddaf yn dewis un, yna byddai fy nghyflwr hefyd fod yn wahanol ar gyfer y ddolen i gyflawni'r un nifer o weithiau. Cofiwch hyn yn ofalus pan fyddwch yn dewis eich initialization a'ch cyflwr, ac ymgynghori hyn siart i ddyblu siec. Un o'r pethau gwych am gyfrifiadur gwyddoniaeth yw bod yna dim ond cymaint o ffyrdd o gyflawni pethau. Gallwch ddewis a ydych dechrau ar sero neu un. Os nad ydych am ddefnyddio a Ar gyfer dolen, gallwch hefyd ddefnyddio dolen Er i datganiadau ailadrodd cyn belled ag y byddwch yn cadw hanfod a Ar gyfer dolen, initialization, cyflwr, a diweddaru. Unwaith y byddwn yn chyfrif i maes y ddolen sydd ar gyfer rydym yn fwyaf cyfforddus ag ef, yna rydym yn gallu cwblhau Mario. Rydym yn gwirio gyntaf ar gyfer mewnbwn defnyddwyr ac yna nodi patrwm ar gyfer unrhyw n olynol. Felly, ar gyfer pob rhes o sero i n minws 1 Bydd argraffwch y nifer priodol o mannau, yna bydd y nifer priodol o hashes yn ôl ein patrwm, a Yna llinell newydd. Gyda hynny, mae gennych eich pyramid. Fy enw i yw Zamyla, ac roedd hyn yn Mario.