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.