1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB Bowden: Hi, saya Rob, dan mari kita melompat ke edisi hacker dari Mario. 3 00:00:18,290 --> 00:00:21,760 Jadi hal pertama yang perlu kita lakukan adalah mendapatkan ketinggian dari pengguna. 4 00:00:21,760 --> 00:00:26,290 Di sini kita meminta mereka untuk bilangan bulat non-negatif kurang dari 24 dan 5 00:00:26,290 --> 00:00:31,710 kita menggunakan fungsi CS50 getInt untuk mengambil integer yang dari pengguna. 6 00:00:31,710 --> 00:00:35,260 Kita melihat kita di dalam loop do-while yang akan terus perulangan selama 7 00:00:35,260 --> 00:00:38,400 tinggi lebih besar dari 23 atau kurang dari 0. 8 00:00:38,400 --> 00:00:42,850 Dan kami akan terus sampai pengguna benar-benar memberikan apa yang kita inginkan. 9 00:00:42,850 --> 00:00:46,960 >> Setelah kita memiliki ketinggian itu, kita bisa utama untuk loop dari program kami. 10 00:00:46,960 --> 00:00:49,510 Jadi mari kita pertama melihat contoh dari pset spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Kita melihat dalam contoh ini bahwa ketika kita masukkan ketinggian 4, baris bawah 13 00:00:56,940 --> 00:01:01,520 pertama mencetak empat hash, dua ruang, dan empat hash. 14 00:01:01,520 --> 00:01:06,280 >> Kemudian satu baris di atas yang mencetak satu ruang tiga hash, dua spasi untuk 15 00:01:06,280 --> 00:01:09,690 memisahkan piramida, dan kemudian tiga hash. 16 00:01:09,690 --> 00:01:13,460 Dan di atas itu, dua ruang, dua hash, dua ruang, dua hash. 17 00:01:13,460 --> 00:01:18,090 Dan akhirnya, tiga ruang satu hash, dua ruang satu hash. 18 00:01:18,090 --> 00:01:20,980 Jadi, Anda harus mulai melihat pola di sini. 19 00:01:20,980 --> 00:01:22,545 >> Mari kita lihat kode untuk bagaimana kita akan melakukan itu. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Kita lihat di sini bahwa kita iterasi atas semua baris piramida. 22 00:01:28,840 --> 00:01:31,720 Pertama kita ingin menghitung jumlah ruang. 23 00:01:31,720 --> 00:01:34,690 Dan ingat bahwa kita harus mulai puncak piramida dan bekerja kami 24 00:01:34,690 --> 00:01:37,790 jalan ke bawah karena kita tidak bisa mencetak bawah kemudian satu baris dan 25 00:01:37,790 --> 00:01:39,140 kemudian satu baris up. 26 00:01:39,140 --> 00:01:44,030 Jadi di bagian atas piramida, pemberitahuan bahwa jumlah ruang adalah sama dengan 27 00:01:44,030 --> 00:01:45,720 tinggi dikurangi 1. 28 00:01:45,720 --> 00:01:50,120 Kita akan mencetak tiga ruang kemudian satu hash dan kemudian dua spasi untuk 29 00:01:50,120 --> 00:01:53,350 terpisah dan hash lain. 30 00:01:53,350 --> 00:01:57,320 >> Jadi ruang adalah sama dengan tinggi dikurangi baris. 31 00:01:57,320 --> 00:02:03,180 Jika baris adalah 1 dan tinggi kita adalah 4, yang akan memberi kita ruang 3, seperti yang kita inginkan. 32 00:02:03,180 --> 00:02:06,900 Maka ini untuk loop hanya mencetak bahwa jumlah ruang. 33 00:02:06,900 --> 00:02:12,630 Jika ruang adalah tiga, maka kita akan menciptakan satu ruang tiga kali. 34 00:02:12,630 --> 00:02:18,750 >> Melanjutkan, sekarang kita ingin mencetak hash piramida kiri, yang 35 00:02:18,750 --> 00:02:20,630 hanya sama dengan jumlah baris. 36 00:02:20,630 --> 00:02:23,250 Melihat kembali ke sini, berturut-turut satu, kami mencetak satu hash. 37 00:02:23,250 --> 00:02:25,960 Di baris kedua kami mencetak dua, di baris tiga kami mencetak tiga. 38 00:02:25,960 --> 00:02:30,440 Baris jadi kami hanya loop kali simbol hash pencetakan. 39 00:02:30,440 --> 00:02:34,830 Kemudian untuk semua baris piramida, kita mencetak tepat dua spasi untuk memisahkan 40 00:02:34,830 --> 00:02:36,360 tersebut piramida. 41 00:02:36,360 --> 00:02:39,590 >> Dan akhirnya, kita ingin mencetak kanan sisi piramida, yang 42 00:02:39,590 --> 00:02:42,160 lagi jumlah yang sama hash sebagai sisi kiri. 43 00:02:42,160 --> 00:02:45,680 Dan jadi sama persis untuk loop seperti di atas sini. 44 00:02:45,680 --> 00:02:49,445 Akhirnya, kita perlu membuat baris baru di Untuk pindah ke baris berikutnya 45 00:02:49,445 --> 00:02:51,690 piramida dan melanjutkan pencetakan. 46 00:02:51,690 --> 00:02:53,010 Dan itu saja. 47 00:02:53,010 --> 00:02:54,860 Nama saya Rob dan ini adalah Mario. 48 00:02:54,860 --> 00:03:01,718