ZAMYLA Chan: jaqbżu Ejja fis Mario. Mario huwa programm fejn aħna ser jagħmlu tagħna stess, għalkemm primittiv, verżjoni ta ' a Brothers klassika Mario Super isfond logħba. Għal din il-problema sett, aħna qed tmur jirrikreaw-nofs piramida għall Mario biex tiżdied fuq. Programm tagħna se jkun interattiv, u għalhekk se titlob lill-utent biex input ċertu għoli għall-piramida. U l-programm se jistampa nofs piramida ta 'dak l-għoli, meta l- qiegħ hash xellug tallinja mal-qiegħ rokna tax-xellug tat-terminal tieqa output. Ejja break din il-problema f'żewġ partijiet, waħda, jiksbu input utent, u tnejn, jistampa l-piramida. Ftakar li għalkemm l-funzjoni GetInt se tkun irkuprata integer, inti għandek tagħmel ċert li dan il-kontribut jagħmel sens għall-programm tiegħek, hekk Mario, mhux se do biss prodott għal integer. Int ser ikollok bżonn tagħmel ċert li l-utent inputs integer li fi ħdan il- limiti u ta 'isfel tal- piramida li tistampa. Per dan spec, dan huwa 0 u 23 inkluża. Jekk inputs l-utent integer barra mill-limiti aċċettati tagħna, allura aħna rridu li twassalhom għal darb'oħra u għal darb'oħra sakemm dawn tagħtina numru sħiħ valida. Mod wieħed biex tiżgura input korretta utent bl-użu ta Do-Filwaqt loop, li huwa simili ħafna għal loop Filwaqt. Il Do-Filwaqt loop tesegwixxi l-kodiċi ġewwa l-ġisem darba, u mbagħad tiċċekkja jekk il-kundizzjoni hija sodisfatta jew le. Dan huwa utli għall-kisba input utent għax inti taf li għandek bżonn biex tkun inkoraġġuta mill-anqas darba. Jekk il-kondizzjoni ma tiġix sodisfatta, il-programm se tesegwixxi l-linja wara tiegħek Do-Filwaqt loop. Jekk il-kundizzjoni tkun sodisfatta, għalkemm, l-loop se jirrepeti. A Do-Filwaqt loop għall-validazzjoni utent input se tfittex xi ħaġa bħal din. Niddikjara a n varjabbli, GetInt, u rrepeti sakemm n huwa validu. Ftakar li meta inti tiddikjara tiegħek varjabbli, jeħtieġ il-każ ambitu, bħal fil Scratch. Jekk Niddikjara n ġewwa tiegħi Do-Filwaqt loop, il-bqija tal-programm mhux se jkun jkollhom aċċess għaliha. Huwa limitat għall-konfini taċ-ċingi kaboċċi. Dritt, hekk issa li konna validati kollha input l-utent, għandna attwalment bżonn li tiġbed nofs piramida. Huwa magħmul minn karattri stampati, hekk ejja jagħmlu nofs piramida b'mod sempliċi editur test. Jekk irridu li jagħmlu piramida stil Mario ta 'għoli tliet thats allinjati fuq in-naħa tax-xellug tat-tieqa tagħna, imbagħad aħna'd tip żewġ hashes, ikklikkja Daħħal, imbagħad it-tip tliet hashes, ikklikkja Jidħlu, u mbagħad it-tip erbgħa. Iżda f'dan il-problema sett, tagħna nofs piramida għandu jkun right allinjati. Permezz ta 'tastiera standard, kif jista' inti timmodifika dan il-fajl li jiċċaqalqu hashes fuq il-ġenb id-dritt? I jistgħu jużaw biex jenfasizza, tnejn fuq il- ringiela ta 'fuq u wieħed fuq it-tieni. Li ma tfittex sbieħ, għalkemm, hekk ejja tissostitwixxi l jisħaq mal spazji, u hemm għandna nofs piramida ta 'għoli tlieta. Ipprova u ftakar dan editur test eżempju kif inti tibda taħseb lura C. Ejja nippruvaw u figura xi tip ta 'mudell li nistgħu jitqiegħdu fil-kostruzzjoni loop. Ħu għoli eżempju, jiġifieri tmienja, u ara jekk inti tista 'tibda toħroġ bi mudell. L-ewwel ringiela se jkollhom seba spazji segwit minn żewġ hashes. It-tieni ringiela ikollhom sitt spazji u tliet hashes, u hekk sakemm il- tmien ringiela. Imma kif taħseb li jirrappreżenta il-filliera nth? Ftakar li konvenzjoni programmazzjoni huwa żero indiċjati. Dan ifisser li tibda tgħodd fil żero, hekk l-ewwel ringiela hija teknikament ringiela numru żero ma 'żewġ bokkaporti, ringiela numru wieħed għandu tliet hashes, ringiela numru tnejn għandha erba hashes, hekk wara dan il-mudell għal kull ringiela numru n, hemm n plus 2 hashes. I ser tħalli lilek, għalkemm, biex isibu l-mudell għall-ispazji. Ftakar li mudell tiegħek se jkun kemmxejn differenti jekk inti tagħżel li tibda għadd tiegħek minn wieħed u mhux żero. Issa, inti għandek mudell għall kwalunkwe n ringiela astratt. Inti taf kif ħafna spazji biex jistampaw u kemm hashes, hekk għal kull ringiela, li numru se jinbidlu. Iżda l-istess proċess ta 'stampar karattru wieħed, jew spazju jew hash, huwa ripetut. Allura kull ma għandek tagħmel huwa ripetutament jistampaw li l-karattru għal kemm drabi bħala mudell tiegħek jiddetermina. Allura kif nistgħu jirrepetu proċessi? Fl Scratch, użajna l-blokk ripetuti. Fl C, aħna ser tuża Għall loop. Ejja nħarsu lejn l-sintassi għal Għall loops. Kull Għal loop huwa magħmul minn tliet partijiet, l-inizjalizzazzjoni, kundizzjoni, u aġġornament. Loop Għall Your se initialize varjabbli meta l-ewwel jidħol fil-Għall loop. Jekk il-kundizzjoni tkun sodisfatta, il-korp tal-linja se tesegwixxi. Wara, l-aġġornament se tesegwixxi. Jekk il-kundizzjoni hija għadhom sodisfatti, il- loop se jesegwixxu u taġġorna u irrepeti sakemm il-kundizzjoni tiegħek jevalwa l True. Int kundizzjoni trid eventwalment valuate biex falza, għalkemm, minħabba b'differenza Scratch, aħna ma xi loops Forever. Programm tiegħek għandha tintemm eventwalment. Hawn eżempju ta 'Għar loop li inti tista 'tixtieq li tuża għal Mario. Il-inizjalizzazzjoni jiddikjara l i integer b'valur 0. Sakemm i huwa inqas mill-għoli, il-korp tal-linja se tesegwixxi u tiżdied i minn wieħed u rrepeti sakemm i huwa akbar minn jew daqs l-għoli. Issa, tiegħi Għall loop huwa indiċi żero. Il Int i tibda fuq iż-żero, mhux wieħed. Jekk I għażlet waħda, imbagħad ikkondizzjona tiegħi ukoll għandek tkun differenti għal il-linja biex tesegwixxi l- istess numru ta 'drabi. Ftakar dan b'attenzjoni meta int jagħżlu inizjalizzazzjoni tiegħek u tiegħek kondizzjoni, u jikkonsultaw din chart li double check. Waħda mill-affarijiet kbar dwar kompjuter xjenza hija li hemm biss tant modi biex tesegwixxi l-affarijiet. Tista 'tagħżel jekk inti tibda fil żero jew wieħed. Jekk inti ma tridx li tuża Għal loop, inti tista 'wkoll tuża loop Filwaqt li irrepeti dikjarazzjonijiet sakemm inti iżommu l-essenza ta 'Għal loop, inizjalizzazzjoni, kondizzjoni, u aġġornament. Ladarba aħna insemmu l-loop Għal dak aħna qed aktar komdu ma ', allura aħna jista 'jlesti Mario. Aħna l-ewwel ċċekkjati għall-input utent u mbagħad identifikat mudell għal kull n filliera. Allura għal kull ringiela minn żero sa n minus 1 se jistampaw il-numru xieraq ta ' spazji, allura n-numru xieraq ta ' hashes skond mudell tagħna, u imbagħad linja ġdida. Ma 'dan, inti għandek piramida tiegħek. Jisimni Zamyla, u dan kien Mario.