1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA CHAN: Mari kita melompat ke Mario. 3 00:00:11,070 --> 00:00:14,850 Mario adalah satu program di mana kami akan membuat kita sendiri, walaupun primitif, versi 4 00:00:14,850 --> 00:00:17,760 klasik Super Mario Brothers latar belakang permainan. 5 00:00:17,760 --> 00:00:21,100 Untuk set masalah ini, kita akan untuk mencipta setengah piramid untuk 6 00:00:21,100 --> 00:00:23,000 Mario untuk melompat ke atas. 7 00:00:23,000 --> 00:00:27,330 Program kami akan interaktif, jadi ia akan meminta pengguna untuk input tertentu 8 00:00:27,330 --> 00:00:28,660 tinggi untuk piramid. 9 00:00:28,660 --> 00:00:32,920 Dan program ini akan mencetak setengah piramid ketinggian yang, di mana 10 00:00:32,920 --> 00:00:37,390 bawah hash kiri menjajarkan dengan bahagian bawah sudut kiri terminal 11 00:00:37,390 --> 00:00:39,710 tetingkap output. 12 00:00:39,710 --> 00:00:44,870 >> Mari kita memecahkan masalah ini kepada dua bahagian, satu, mendapatkan input pengguna, dan dua, 13 00:00:44,870 --> 00:00:47,040 mencetak piramid. 14 00:00:47,040 --> 00:00:51,150 Ingatlah bahawa walaupun fungsi yang GetInt akan mendapatkan integer, anda 15 00:00:51,150 --> 00:00:56,260 perlu memastikan bahawa input ini menjadikan rasa untuk program anda, jadi dalam 16 00:00:56,260 --> 00:00:59,690 Mario, ia tidak akan melakukan hanya produk untuk integer. 17 00:00:59,690 --> 00:01:03,440 Anda perlu memastikan bahawa pengguna input integer itu dalam 18 00:01:03,440 --> 00:01:06,985 batas yang lebih rendah dan atas yang piramid yang anda boleh mencetak. 19 00:01:06,985 --> 00:01:12,300 Per spec ini, ini adalah 0 dan 23 inklusif. 20 00:01:12,300 --> 00:01:16,410 Jika input pengguna integer luar batas diterima kita, maka kita mahu 21 00:01:16,410 --> 00:01:20,840 untuk meminta mereka lagi dan lagi sehingga mereka memberi kita integer yang sah. 22 00:01:20,840 --> 00:01:25,990 >> Salah satu cara untuk memastikan input pengguna yang betul ialah dengan menggunakan Do-Walaupun gelung, yang merupakan 23 00:01:25,990 --> 00:01:28,100 hampir sama dengan gelung Walaupun. 24 00:01:28,100 --> 00:01:32,580 Do-Walaupun gelung melaksanakan kod di dalam badan sekali, dan kemudian memeriksa 25 00:01:32,580 --> 00:01:35,270 sama ada keadaan itu dipenuhi atau tidak. 26 00:01:35,270 --> 00:01:38,830 Ini amat berguna untuk mendapatkan input pengguna kerana anda tahu bahawa anda perlu 27 00:01:38,830 --> 00:01:41,805 untuk meminta mereka sekurang-kurangnya sekali. 28 00:01:41,805 --> 00:01:45,940 Jika keadaan ini tidak dipenuhi, program akan melaksanakan baris selepas 29 00:01:45,940 --> 00:01:47,270 Do-Walaupun gelung anda. 30 00:01:47,270 --> 00:01:50,950 Jika keadaan itu dipenuhi, walaupun, gelung akan mengulangi. 31 00:01:50,950 --> 00:01:55,560 >> A Do-Walaupun gelung untuk mengesahkan pengguna input akan melihat sesuatu seperti ini. 32 00:01:55,560 --> 00:02:02,920 Saya mengisytiharkan n ubah, GetInt, dan ulangi sehingga n adalah sah. 33 00:02:02,920 --> 00:02:06,270 Ingatlah bahawa apabila anda mengisytiharkan anda berubah-ubah, ia perlu yang sesuai 34 00:02:06,270 --> 00:02:08,449 skop, seperti di calar. 35 00:02:08,449 --> 00:02:12,510 Jika saya mengaku n dalam Do-Walaupun gelung saya, sepanjang program ini tidak akan 36 00:02:12,510 --> 00:02:13,750 dapat mengaksesnya. 37 00:02:13,750 --> 00:02:16,100 Ia terhad kepada batasan daripada pendakap kerinting. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Baiklah, jadi sekarang kita telah disahkan input pengguna, kita sebenarnya perlu 40 00:02:23,090 --> 00:02:25,020 menarik ini setengah piramid. 41 00:02:25,020 --> 00:02:29,700 Ia terdiri daripada watak-watak yang dicetak, jadi mari kita membuat setengah piramid yang mudah 42 00:02:29,700 --> 00:02:31,480 editor teks. 43 00:02:31,480 --> 00:02:35,920 Jika kita ingin membuat gaya piramid Mario ketinggian tiga itu sejajar 44 00:02:35,920 --> 00:02:41,370 di sebelah kiri tetingkap kita, maka kita akan menaip dua Hash, klik Enter, 45 00:02:41,370 --> 00:02:47,180 kemudian taip tiga Hash, klik Memasuki, dan kemudian taip empat. 46 00:02:47,180 --> 00:02:51,090 >> Tetapi dalam set masalah ini, kami setengah piramid perlu betul sejajar. 47 00:02:51,090 --> 00:02:55,550 Menggunakan papan kekunci standard, bagaimana mungkin anda mengubah suai fail ini untuk bergerak Hash 48 00:02:55,550 --> 00:02:57,210 ke sebelah kanan? 49 00:02:57,210 --> 00:03:03,190 Saya mungkin gunakan untuk menekankan, dua di baris atas dan satu di kedua. 50 00:03:03,190 --> 00:03:07,690 Yang tidak kelihatan sebagai baik, walaupun, jadi mari kita menggantikan dengan menekankan 51 00:03:07,690 --> 00:03:12,450 ruang, dan kita ada setengah piramid ketinggian tiga. 52 00:03:12,450 --> 00:03:16,330 >> Cuba dan ingat editor teks ini Contohnya seperti anda mula berfikir kembali ke 53 00:03:16,330 --> 00:03:20,100 C. Mari kita cuba memahami beberapa jenis corak yang kita boleh 54 00:03:20,100 --> 00:03:22,750 dimasukkan ke dalam membina gelung. 55 00:03:22,750 --> 00:03:27,570 Ambil ketinggian contoh, katakan lapan, dan lihat jika anda boleh mula 56 00:03:27,570 --> 00:03:29,470 tampil dengan corak. 57 00:03:29,470 --> 00:03:34,710 Baris pertama akan mempunyai tujuh ruang diikuti oleh dua Hash. 58 00:03:34,710 --> 00:03:40,090 Barisan kedua akan mempunyai enam ruang dan tiga Hash, dan sebagainya sehingga 59 00:03:40,090 --> 00:03:41,440 berturut-turut kelapan. 60 00:03:41,440 --> 00:03:45,210 >> Tetapi bagaimana anda akan mewakili barisan n? 61 00:03:45,210 --> 00:03:48,170 Ingatlah bahawa konvensyen pengaturcaraan adalah sifar diindeks. 62 00:03:48,170 --> 00:03:51,870 Ini bermakna bahawa anda mula mengira pada sifar, jadi barisan pertama adalah secara teknikal 63 00:03:51,870 --> 00:03:57,110 bilangan baris sifar dengan dua hac, berturut-turut nombor satu mempunyai tiga Hash, baris 64 00:03:57,110 --> 00:04:01,860 nombor dua mempunyai empat Hash, jadi berikutan corak ini untuk mana-mana baris 65 00:04:01,860 --> 00:04:05,800 bilangan n, terdapat n campur 2 Hash. 66 00:04:05,800 --> 00:04:09,270 Saya akan serahkan kepada anda, walaupun, untuk mencari keluar corak ruang. 67 00:04:09,270 --> 00:04:12,240 Ingatlah bahawa corak anda akan sedikit berbeza jika anda memilih untuk 68 00:04:12,240 --> 00:04:16,649 mula mengira anda dari satu dan tidak sifar. 69 00:04:16,649 --> 00:04:19,560 >> Sekarang, anda mempunyai corak untuk mana-mana n baris abstrak. 70 00:04:19,560 --> 00:04:25,190 Anda tahu berapa banyak ruang untuk mencetak dan berapa banyak Hash, jadi untuk setiap baris, bahawa 71 00:04:25,190 --> 00:04:26,270 nombor akan berubah. 72 00:04:26,270 --> 00:04:30,700 Tetapi proses yang sama mencetak huruf tunggal, sama ada ruang atau 73 00:04:30,700 --> 00:04:33,200 hash, diulangi. 74 00:04:33,200 --> 00:04:37,470 Jadi apa yang anda perlu lakukan adalah berkali-kali mencetak watak itu untuk seberapa banyak kali 75 00:04:37,470 --> 00:04:40,120 sebagai corak anda menentukan. 76 00:04:40,120 --> 00:04:42,522 >> Jadi bagaimana kita mengulangi proses? 77 00:04:42,522 --> 00:04:45,160 Dalam Awal, kami menggunakan blok berulang. 78 00:04:45,160 --> 00:04:48,580 Dalam C, kami akan menggunakan Bagi gelung. 79 00:04:48,580 --> 00:04:51,290 Mari kita lihat pada sintaks untuk Untuk gelung. 80 00:04:51,290 --> 00:04:57,140 >> Untuk setiap gelung terdiri daripada tiga bahagian, pengawalan an, keadaan, 81 00:04:57,140 --> 00:04:58,592 dan kemas kini. 82 00:04:58,592 --> 00:05:01,550 Gelung Untuk anda akan memulakan berubah-ubah apabila ia mula-mula 83 00:05:01,550 --> 00:05:02,960 Untuk memasuki gelung. 84 00:05:02,960 --> 00:05:07,100 Jika keadaan itu dipenuhi, badan gelung akan melaksanakan. 85 00:05:07,100 --> 00:05:10,070 Selepas itu, kemas kini akan melaksanakan. 86 00:05:10,070 --> 00:05:13,630 >> Jika keadaan ini masih dipenuhi, gelung akan melaksanakan dan mengemaskini dan 87 00:05:13,630 --> 00:05:18,580 mengulangi selagi keadaan anda menilai kepada Benar. 88 00:05:18,580 --> 00:05:21,450 Anda keadaan akhirnya mesti valuate kepada palsu, walaupun, kerana 89 00:05:21,450 --> 00:05:24,490 tidak seperti Awal, kita tidak mempunyai apa-apa gelung Selamanya. 90 00:05:24,490 --> 00:05:28,270 Program anda mesti berakhir akhirnya. 91 00:05:28,270 --> 00:05:32,330 >> Berikut adalah satu contoh Untuk gelung yang anda mungkin mahu digunakan untuk Mario. 92 00:05:32,330 --> 00:05:36,790 Pengawalan mengisytiharkan i integer dengan nilai 0. 93 00:05:36,790 --> 00:05:40,750 Selagi i adalah kurang daripada ketinggian, badan gelung akan melaksanakan dan 94 00:05:40,750 --> 00:05:44,980 meningkatkan i oleh salah dan mengulangi sehingga i adalah lebih besar atau 95 00:05:44,980 --> 00:05:47,220 sama dengan ketinggian. 96 00:05:47,220 --> 00:05:49,140 >> Sekarang, Untuk gelung saya adalah indeks sifar. 97 00:05:49,140 --> 00:05:52,270 The Int i bermula pada sifar, bukan satu. 98 00:05:52,270 --> 00:05:55,320 Jika saya memilih satu, maka keadaan saya akan juga perlu berbeza untuk 99 00:05:55,320 --> 00:05:58,740 gelung untuk melaksanakan Bilangan yang sama kali. 100 00:05:58,740 --> 00:06:03,490 Ingat ini dengan berhati-hati apabila anda memilih pengawalan dan anda anda 101 00:06:03,490 --> 00:06:08,660 syarat, dan berunding ini carta untuk menggandakan cek. 102 00:06:08,660 --> 00:06:13,430 >> Salah satu perkara yang menarik mengenai komputer sains ialah bahawa terdapat hanya begitu banyak 103 00:06:13,430 --> 00:06:15,490 cara-cara untuk melaksanakan sesuatu. 104 00:06:15,490 --> 00:06:19,450 Anda boleh memilih sama ada anda bermula pada sifar atau satu. 105 00:06:19,450 --> 00:06:22,380 Jika anda tidak mahu menggunakan Untuk gelung, anda juga boleh menggunakan gelung Walaupun ke 106 00:06:22,380 --> 00:06:26,530 mengulangi kenyataan selagi anda menjaga intipati Untuk gelung, 107 00:06:26,530 --> 00:06:31,430 pengawalan, keadaan, dan kemas kini. 108 00:06:31,430 --> 00:06:36,890 Apabila kita memikirkan gelung Untuk itu kita paling selesa dengan, maka kita 109 00:06:36,890 --> 00:06:38,450 boleh melengkapkan Mario. 110 00:06:38,450 --> 00:06:41,540 >> Kita mula-mula diperiksa untuk input pengguna dan kemudian mengenal pasti 111 00:06:41,540 --> 00:06:43,580 corak untuk mana-mana n baris. 112 00:06:43,580 --> 00:06:49,990 Jadi untuk setiap baris dari sifar hingga n tolak 1 akan mencetak bilangan yang sesuai 113 00:06:49,990 --> 00:06:55,340 ruang, maka bilangan yang sesuai Hash mengikut corak kita, dan 114 00:06:55,340 --> 00:06:57,180 maka garis baru. 115 00:06:57,180 --> 00:06:59,640 Dengan itu, anda mempunyai piramid anda. 116 00:06:59,640 --> 00:07:02,630 Nama saya Zamyla, dan ini adalah Mario. 117 00:07:02,630 --> 00:07:11,765