ZAMYLA CHAN: kuruka Hebu katika Mario. Mario ni mpango ambapo tutaweza kufanya wetu mwenyewe, pamoja na mali, toleo la classic Super Mario Brothers mchezo background. Kwa ajili ya kuweka na tatizo hili, tunakwenda recreate nusu-piramidi kwa Mario kuruka juu. Mpango wetu itakuwa maingiliano, hivyo kuuliza mtumiaji pembejeo fulani urefu kwa piramidi. Na mpango wa magazeti nje nusu ya piramidi ya urefu kwamba, ambapo chini hash kushoto aligns na chini kushoto kona ya wastaafu pato dirisha. Hebu kuvunja tatizo hili katika sehemu mbili, moja, kupata user pembejeo, na wawili, magazeti nje ya piramidi. Kumbuka kwamba ingawa kazi GetInt mapenzi retrieve integer, wewe kuhakikisha kwamba pembejeo hii inafanya maana kwa ajili ya mpango wako, hivyo katika Mario, itakuwa si kufanya tu bidhaa kwa ajili ya integer. Utasikia haja ya kuhakikisha kwamba mtumiaji pembejeo integer kwamba ndani ya chini na juu ya mipaka ya piramidi kwamba unaweza magazeti. Kwa spec hii, hii ni 0 na 23 ya umoja. Kama mtumiaji pembejeo integer nje ya mipaka yetu kukubalika, basi tunataka kuwashawishi tena na tena mpaka wao kutupatia integer halali. Moja ya njia ya kuhakikisha sahihi mtumiaji pembejeo ni kwa kutumia kitanzi Do-Wakati, ambayo ni sawa na kitanzi Wakati. Do-Wakati kitanzi executes kanuni ndani ya mwili mara moja, na kisha hundi kama hali ni alikutana au la. Hii ni muhimu kwa ajili ya kupata user pembejeo kwa sababu unajua kwamba unahitaji kuwashawishi angalau mara moja. Kama hali ni kukutana, mpango nitafanya line baada ya yako Do-Wakati kitanzi. Kama hali ni alikutana, ingawa, kitanzi kurudia. Kitanzi Do-Wakati kwa ajili ya kuthibitisha mtumiaji pembejeo itakuwa kuangalia kitu kama hiki. Mimi kutangaza n kutofautiana, GetInt, na kurudia mpaka n ni halali. Kumbuka kwamba wakati kutangaza yako kutofautiana, inahitaji sahihi wigo, kama vile katika Scratch. Kama mimi kutangaza n ndani ya kitanzi yangu Do-Wakati, wengine wa mpango si kuwa uwezo wa kupata huduma hiyo. Ni mdogo na mipaka ya braces curly. Haki ya wote, hivyo sasa kwamba tumekuwa Ilisahihishwa pembejeo mtumiaji, sisi kweli wanahitaji kuteka hii nusu-piramidi. Ni alifanya juu ya wahusika wa kuchapishwa, hivyo hebu kufanya nusu ya piramidi katika rahisi Nakala mhariri. Kama tunataka kufanya style Mario piramidi ya urefu wa tatu hiyo iliyokaa upande wa kushoto wa dirisha yetu, basi tunatarajia aina hashes mbili, bonyeza Enter, basi aina ya hashes tatu, bonyeza Kuingia, na basi aina ya nne. Lakini katika hili kuweka tatizo, yetu nusu-piramidi ina kuwa haki iliyokaa. Kutumia kiwango keyboard, jinsi gani wewe kurekebisha faili hii kwa hoja hashes juu kwa upande wa kulia? Mimi ili kutumia inasisitiza, mbili juu ya juu ya mstari na moja ya pili. Kwamba hana kuangalia kama nzuri, ingawa, hivyo hebu kuchukua nafasi inasisitiza na mazingira, na kuna tuna nusu ya piramidi ya urefu wa tatu. Jaribu na kumbuka hii Nakala mhariri mfano kama wewe kuanza kufikiri nyuma C. Hebu jaribu na kufikiri baadhi ya aina ya muundo kwamba tunaweza kuweka katika kujenga kitanzi. Kuchukua urefu mfano, kusema nane, na kuona kama unaweza kuanza kuja na muundo. safu ya kwanza itakuwa na nafasi ya saba ikifuatiwa na hashes mbili. safu ya pili itakuwa na nafasi sita na tatu hashes, na kadhalika mpaka nane mfululizo. Lakini jinsi gani ungependa kuwakilisha mstari nth? Kumbuka kwamba mkataba programu ni sifuri indexed. Hiyo ina maana kwamba wewe kuanza kuhesabu saa sifuri, hivyo safu ya kwanza ni ya kitaalam mstari idadi sifuri walioshika mbili, mstari namba moja ina hashes tatu, mstari namba mbili ina hashes nne, hivyo kufuatia huu kwa ajili ya safu yoyote idadi n, kuna n plus 2 hashes. Mimi itabidi kuondoka wewe, ingawa, na kupata nje mfano kwa nafasi. Kumbuka kwamba muundo yako itakuwa tofauti kidogo kama wewe kuchagua kuanza kuhesabu yako kutoka moja na sio sifuri. Sasa, una mfano kwa yoyote abstract mstari n. Unajua jinsi maeneo mengi na magazeti na wangapi hashes, hivyo kwa kila mstari, ili idadi itabadilika. Lakini mchakato huo wa kuchapa moja tabia, ama nafasi au hash, ni mara kwa mara. Hivyo wote kufanya ni kurudia magazeti kwamba tabia kwa mara kama wengi kama muundo yako huamua. Hivyo ni jinsi gani sisi kurudia michakato? Katika Scratch, sisi kutumika kuzuia kurudia. Katika C, tutaweza kutumia Kwa kitanzi. Hebu tuangalie syntax Kwa ajili ya matanzi. Kila Kwa kitanzi linajumuisha tatu sehemu, initialization, hali, na update. Kwa kitanzi yako itakuwa initialize kutofautiana wakati wa kwanza inaingia Kwa kitanzi. Kama hali ni alikutana, mwili ya kitanzi nitafanya. Baada ya hapo, update nitafanya. Kama hali bado ni alikutana, kitanzi nitafanya na na update kurudia kwa muda mrefu kama hali yako kutathmini kwa kweli. Wewe ni sharti lazima hatimaye tathmini ya kwa uongo, ingawa, kwa sababu tofauti Scratch, hatufanyi kuwa na mizunguko yoyote milele. Mpango wako lazima mwisho hatimaye. Hapa ni mfano wa Kwa kitanzi kwamba unaweza kutaka kutumia kwa ajili ya Mario. initialization anatangaza i integer na thamani ya 0. Muda mrefu kama i ni chini ya urefu, mwili wa kitanzi nitafanya na kuongeza i kwa moja na kurudia mpaka i ni zaidi au sawa na urefu. Sasa, yangu Kwa kitanzi ni sifuri index. Int i kuanza saa sifuri, hata mmoja. Kama mimi alichagua moja, basi hali yangu ingekuwa pia kuwa tofauti kwa kitanzi kutekeleza huo idadi ya nyakati. Kumbuka hii kwa makini wakati uko kuchagua initialization yako na yako hali, na kushauriana hii chati ya mara mbili ya hundi. Moja ya mambo makubwa kuhusu kompyuta sayansi ni kwamba kuna tu wengi njia ya kutekeleza mambo. Unaweza kuchagua kama wewe kuanza saa zero au moja. Kama hutaki kutumia Kwa kitanzi, unaweza pia kutumia kitanzi Wakati kwa kurudia kauli muda mrefu kama wewe kuweka kiini cha Kwa kitanzi, initialization, hali, na update. Mara sisi kufikiri kitanzi Kwa kuwa sisi ni vizuri zaidi na, basi sisi wanaweza kukamilisha Mario. Sisi kwanza checked kwa pembejeo user na kisha kutambuliwa mfano kwa n yoyote mfululizo. Hivyo kwa kila mstari kutoka sifuri kwa n minus 1 magazeti idadi sahihi ya nafasi, basi idadi sahihi ya hashes kulingana na muundo wetu, na kisha mstari mpya. Pamoja na kwamba, una piramidi yako. Jina langu ni Zamyla, na hii ilikuwa Mario.