>> ZAMYLA CHAN: Mari kita melompat ke Mario.
Mario adalah satu program di mana kami akan membuat kita sendiri, walaupun primitif, versi
klasik Super Mario Brothers latar belakang permainan.
Untuk set masalah ini, kita akan untuk mencipta setengah piramid untuk
Mario untuk melompat ke atas.
Program kami akan interaktif, jadi ia akan meminta pengguna untuk input tertentu
tinggi untuk piramid.
Dan program ini akan mencetak setengah piramid ketinggian yang, di mana
bawah hash kiri menjajarkan dengan bahagian bawah sudut kiri terminal
tetingkap output.
>> Mari kita memecahkan masalah ini kepada dua bahagian, satu, mendapatkan input pengguna, dan dua,
mencetak piramid.
Ingatlah bahawa walaupun fungsi yang GetInt akan mendapatkan integer, anda
perlu memastikan bahawa input ini menjadikan rasa untuk program anda, jadi dalam
Mario, ia tidak akan melakukan hanya produk untuk integer.
Anda perlu memastikan bahawa pengguna input integer itu dalam
batas yang lebih rendah dan atas yang piramid yang anda boleh mencetak.
Per spec ini, ini adalah 0 dan 23 inklusif.
Jika input pengguna integer luar batas diterima kita, maka kita mahu
untuk meminta mereka lagi dan lagi sehingga mereka memberi kita integer yang sah.
>> Salah satu cara untuk memastikan input pengguna yang betul ialah dengan menggunakan Do-Walaupun gelung, yang merupakan
hampir sama dengan gelung Walaupun.
Do-Walaupun gelung melaksanakan kod di dalam badan sekali, dan kemudian memeriksa
sama ada keadaan itu dipenuhi atau tidak.
Ini amat berguna untuk mendapatkan input pengguna kerana anda tahu bahawa anda perlu
untuk meminta mereka sekurang-kurangnya sekali.
Jika keadaan ini tidak dipenuhi, program akan melaksanakan baris selepas
Do-Walaupun gelung anda.
Jika keadaan itu dipenuhi, walaupun, gelung akan mengulangi.
>> A Do-Walaupun gelung untuk mengesahkan pengguna input akan melihat sesuatu seperti ini.
Saya mengisytiharkan n ubah, GetInt, dan ulangi sehingga n adalah sah.
Ingatlah bahawa apabila anda mengisytiharkan anda berubah-ubah, ia perlu yang sesuai
skop, seperti di calar.
Jika saya mengaku n dalam Do-Walaupun gelung saya, sepanjang program ini tidak akan
dapat mengaksesnya.
Ia terhad kepada batasan daripada pendakap kerinting.
>> Baiklah, jadi sekarang kita telah disahkan input pengguna, kita sebenarnya perlu
menarik ini setengah piramid.
Ia terdiri daripada watak-watak yang dicetak, jadi mari kita membuat setengah piramid yang mudah
editor teks.
Jika kita ingin membuat gaya piramid Mario ketinggian tiga itu sejajar
di sebelah kiri tetingkap kita, maka kita akan menaip dua Hash, klik Enter,
kemudian taip tiga Hash, klik Memasuki, dan kemudian taip empat.
>> Tetapi dalam set masalah ini, kami setengah piramid perlu betul sejajar.
Menggunakan papan kekunci standard, bagaimana mungkin anda mengubah suai fail ini untuk bergerak Hash
ke sebelah kanan?
Saya mungkin gunakan untuk menekankan, dua di baris atas dan satu di kedua.
Yang tidak kelihatan sebagai baik, walaupun, jadi mari kita menggantikan dengan menekankan
ruang, dan kita ada setengah piramid ketinggian tiga.
>> Cuba dan ingat editor teks ini Contohnya seperti anda mula berfikir kembali ke
C. Mari kita cuba memahami beberapa jenis corak yang kita boleh
dimasukkan ke dalam membina gelung.
Ambil ketinggian contoh, katakan lapan, dan lihat jika anda boleh mula
tampil dengan corak.
Baris pertama akan mempunyai tujuh ruang diikuti oleh dua Hash.
Barisan kedua akan mempunyai enam ruang dan tiga Hash, dan sebagainya sehingga
berturut-turut kelapan.
>> Tetapi bagaimana anda akan mewakili barisan n?
Ingatlah bahawa konvensyen pengaturcaraan adalah sifar diindeks.
Ini bermakna bahawa anda mula mengira pada sifar, jadi barisan pertama adalah secara teknikal
bilangan baris sifar dengan dua hac, berturut-turut nombor satu mempunyai tiga Hash, baris
nombor dua mempunyai empat Hash, jadi berikutan corak ini untuk mana-mana baris
bilangan n, terdapat n campur 2 Hash.
Saya akan serahkan kepada anda, walaupun, untuk mencari keluar corak ruang.
Ingatlah bahawa corak anda akan sedikit berbeza jika anda memilih untuk
mula mengira anda dari satu dan tidak sifar.
>> Sekarang, anda mempunyai corak untuk mana-mana n baris abstrak.
Anda tahu berapa banyak ruang untuk mencetak dan berapa banyak Hash, jadi untuk setiap baris, bahawa
nombor akan berubah.
Tetapi proses yang sama mencetak huruf tunggal, sama ada ruang atau
hash, diulangi.
Jadi apa yang anda perlu lakukan adalah berkali-kali mencetak watak itu untuk seberapa banyak kali
sebagai corak anda menentukan.
>> Jadi bagaimana kita mengulangi proses?
Dalam Awal, kami menggunakan blok berulang.
Dalam C, kami akan menggunakan Bagi gelung.
Mari kita lihat pada sintaks untuk Untuk gelung.
>> Untuk setiap gelung terdiri daripada tiga bahagian, pengawalan an, keadaan,
dan kemas kini.
Gelung Untuk anda akan memulakan berubah-ubah apabila ia mula-mula
Untuk memasuki gelung.
Jika keadaan itu dipenuhi, badan gelung akan melaksanakan.
Selepas itu, kemas kini akan melaksanakan.
>> Jika keadaan ini masih dipenuhi, gelung akan melaksanakan dan mengemaskini dan
mengulangi selagi keadaan anda menilai kepada Benar.
Anda keadaan akhirnya mesti valuate kepada palsu, walaupun, kerana
tidak seperti Awal, kita tidak mempunyai apa-apa gelung Selamanya.
Program anda mesti berakhir akhirnya.
>> Berikut adalah satu contoh Untuk gelung yang anda mungkin mahu digunakan untuk Mario.
Pengawalan mengisytiharkan i integer dengan nilai 0.
Selagi i adalah kurang daripada ketinggian, badan gelung akan melaksanakan dan
meningkatkan i oleh salah dan mengulangi sehingga i adalah lebih besar atau
sama dengan ketinggian.
>> Sekarang, Untuk gelung saya adalah indeks sifar.
The Int i bermula pada sifar, bukan satu.
Jika saya memilih satu, maka keadaan saya akan juga perlu berbeza untuk
gelung untuk melaksanakan Bilangan yang sama kali.
Ingat ini dengan berhati-hati apabila anda memilih pengawalan dan anda anda
syarat, dan berunding ini carta untuk menggandakan cek.
>> Salah satu perkara yang menarik mengenai komputer sains ialah bahawa terdapat hanya begitu banyak
cara-cara untuk melaksanakan sesuatu.
Anda boleh memilih sama ada anda bermula pada sifar atau satu.
Jika anda tidak mahu menggunakan Untuk gelung, anda juga boleh menggunakan gelung Walaupun ke
mengulangi kenyataan selagi anda menjaga intipati Untuk gelung,
pengawalan, keadaan, dan kemas kini.
Apabila kita memikirkan gelung Untuk itu kita paling selesa dengan, maka kita
boleh melengkapkan Mario.
>> Kita mula-mula diperiksa untuk input pengguna dan kemudian mengenal pasti
corak untuk mana-mana n baris.
Jadi untuk setiap baris dari sifar hingga n tolak 1 akan mencetak bilangan yang sesuai
ruang, maka bilangan yang sesuai Hash mengikut corak kita, dan
maka garis baru.
Dengan itu, anda mempunyai piramid anda.
Nama saya Zamyla, dan ini adalah Mario.