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 program di mana kita akan membuat kita sendiri, meskipun 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 masalah ini set, kita akan untuk menciptakan setengah piramida untuk 6 00:00:21,100 --> 00:00:23,000 Mario untuk melompat. 7 00:00:23,000 --> 00:00:27,330 Program kami akan interaktif, sehingga akan meminta pengguna untuk memasukkan tertentu 8 00:00:27,330 --> 00:00:28,660 tinggi untuk piramida. 9 00:00:28,660 --> 00:00:32,920 Dan program akan mencetak setengah-piramida ketinggian itu, di mana 10 00:00:32,920 --> 00:00:37,390 hash bawah kiri sejajar dengan bagian bawah pojok kiri terminal 11 00:00:37,390 --> 00:00:39,710 jendela output. 12 00:00:39,710 --> 00:00:44,870 >> Mari kita istirahat masalah ini menjadi dua bagian, satu, mendapatkan input pengguna, dan dua, 13 00:00:44,870 --> 00:00:47,040 mencetak piramida. 14 00:00:47,040 --> 00:00:51,150 Ingat bahwa meskipun fungsi getInt akan mengambil integer, Anda 15 00:00:51,150 --> 00:00:56,260 harus memastikan bahwa masukan ini membuat akal untuk program Anda, sehingga dalam 16 00:00:56,260 --> 00:00:59,690 Mario, itu tidak akan hanya produk untuk integer. 17 00:00:59,690 --> 00:01:03,440 Anda harus memastikan bahwa pengguna input integer yang dalam 18 00:01:03,440 --> 00:01:06,985 batas bawah dan atas dari piramida yang Anda dapat mencetak. 19 00:01:06,985 --> 00:01:12,300 Per spesifikasi ini, ini 0 dan 23 inklusif. 20 00:01:12,300 --> 00:01:16,410 Jika input pengguna integer luar batas kami diterima, maka kita ingin 21 00:01:16,410 --> 00:01:20,840 untuk meminta mereka lagi dan lagi sampai mereka memberi kita integer yang valid. 22 00:01:20,840 --> 00:01:25,990 >> Salah satu cara untuk memastikan input pengguna yang benar adalah dengan menggunakan Do-Sementara loop, yang 23 00:01:25,990 --> 00:01:28,100 sangat mirip dengan loop Sementara. 24 00:01:28,100 --> 00:01:32,580 Do-Sementara loop mengeksekusi kode dalam tubuh sekali, dan kemudian memeriksa 25 00:01:32,580 --> 00:01:35,270 apakah kondisi terpenuhi atau tidak. 26 00:01:35,270 --> 00:01:38,830 Hal ini berguna untuk mendapatkan input pengguna karena Anda tahu bahwa Anda perlu 27 00:01:38,830 --> 00:01:41,805 untuk meminta mereka setidaknya sekali. 28 00:01:41,805 --> 00:01:45,940 Jika kondisi ini tidak terpenuhi, program akan mengeksekusi baris setelah 29 00:01:45,940 --> 00:01:47,270 Do-Sementara loop Anda. 30 00:01:47,270 --> 00:01:50,950 Jika kondisi ini terpenuhi, meskipun, loop akan mengulangi. 31 00:01:50,950 --> 00:01:55,560 >> A Do-Sementara loop untuk memvalidasi pengguna masukan akan terlihat seperti ini. 32 00:01:55,560 --> 00:02:02,920 Saya menyatakan n variabel, getInt, dan ulangi sampai n berlaku. 33 00:02:02,920 --> 00:02:06,270 Ingatlah bahwa ketika Anda menyatakan Anda variabel, perlu sesuai 34 00:02:06,270 --> 00:02:08,449 ruang lingkup, seperti di Scratch. 35 00:02:08,449 --> 00:02:12,510 Jika saya menyatakan n dalam saya Do-Sementara loop, sisa program ini tidak akan 36 00:02:12,510 --> 00:02:13,750 dapat mengaksesnya. 37 00:02:13,750 --> 00:02:16,100 Itu terbatas pada batas-batas dari kurung kurawal. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Baiklah, jadi sekarang kita sudah divalidasi input pengguna, kita benar-benar perlu 40 00:02:23,090 --> 00:02:25,020 menggambar ini setengah-piramida. 41 00:02:25,020 --> 00:02:29,700 Ini terdiri dari karakter yang dicetak, sehingga mari kita membuat setengah-piramida secara sederhana 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 piramida Mario ketinggian tiga yang selaras 44 00:02:35,920 --> 00:02:41,370 di sisi kiri jendela kita, maka kita akan mengetik dua hash, klik Enter, 45 00:02:41,370 --> 00:02:47,180 kemudian ketik tiga hash, klik Enter, kemudian ketik empat. 46 00:02:47,180 --> 00:02:51,090 >> Tapi dalam masalah ini set, kami setengah-piramida harus benar selaras. 47 00:02:51,090 --> 00:02:55,550 Menggunakan keyboard standar, bagaimana mungkin Anda memodifikasi file ini untuk memindahkan hash 48 00:02:55,550 --> 00:02:57,210 ke sisi kanan? 49 00:02:57,210 --> 00:03:03,190 Aku mungkin gunakan untuk menggarisbawahi, dua di baris atas dan satu di kedua. 50 00:03:03,190 --> 00:03:07,690 Itu tidak terlihat bagus, jadi mari kita ganti dengan menggarisbawahi 51 00:03:07,690 --> 00:03:12,450 spasi, dan di sana kami memiliki setengah-piramida ketinggian tiga. 52 00:03:12,450 --> 00:03:16,330 >> Coba dan ingat editor teks ini Misalnya saat Anda mulai berpikir kembali ke 53 00:03:16,330 --> 00:03:20,100 C. Mari kita mencoba dan mencari tahu beberapa jenis pola yang kita dapat 54 00:03:20,100 --> 00:03:22,750 dimasukkan ke dalam membangun lingkaran. 55 00:03:22,750 --> 00:03:27,570 Ambil ketinggian Misalnya, delapan, dan lihat apakah Anda dapat mulai 56 00:03:27,570 --> 00:03:29,470 datang dengan sebuah pola. 57 00:03:29,470 --> 00:03:34,710 Baris pertama akan memiliki tujuh ruang diikuti oleh dua hash. 58 00:03:34,710 --> 00:03:40,090 Baris kedua akan memiliki enam ruang dan tiga hash, dan seterusnya sampai 59 00:03:40,090 --> 00:03:41,440 baris kedelapan. 60 00:03:41,440 --> 00:03:45,210 >> Tapi bagaimana Anda akan mewakili baris n? 61 00:03:45,210 --> 00:03:48,170 Ingat bahwa konvensi pemrograman adalah nol diindeks. 62 00:03:48,170 --> 00:03:51,870 Itu berarti bahwa Anda mulai menghitung di nol, sehingga baris pertama secara teknis 63 00:03:51,870 --> 00:03:57,110 nomor baris nol dengan dua menetas, baris nomor satu memiliki tiga hash, baris 64 00:03:57,110 --> 00:04:01,860 nomor dua memiliki empat hash, sehingga berikut pola ini untuk baris manapun 65 00:04:01,860 --> 00:04:05,800 angka n, terdapat n ditambah 2 hash. 66 00:04:05,800 --> 00:04:09,270 Aku akan menyerahkan kepada Anda, meskipun, untuk menemukan out pola untuk ruang. 67 00:04:09,270 --> 00:04:12,240 Ingatlah bahwa pola Anda akan sedikit berbeda jika Anda memilih untuk 68 00:04:12,240 --> 00:04:16,649 memulai hitungan Anda dari satu dan tidak nol. 69 00:04:16,649 --> 00:04:19,560 >> Sekarang, Anda memiliki pola untuk setiap baris n abstrak. 70 00:04:19,560 --> 00:04:25,190 Anda tahu berapa banyak ruang untuk mencetak dan berapa banyak hash, sehingga untuk setiap baris, yang 71 00:04:25,190 --> 00:04:26,270 nomor akan berubah. 72 00:04:26,270 --> 00:04:30,700 Namun proses yang sama mencetak karakter tunggal, baik spasi atau 73 00:04:30,700 --> 00:04:33,200 hash, diulang. 74 00:04:33,200 --> 00:04:37,470 Jadi yang harus Anda lakukan adalah berulang kali mencetak karakter yang untuk sebanyak 75 00:04:37,470 --> 00:04:40,120 sebagai pola Anda menentukan. 76 00:04:40,120 --> 00:04:42,522 >> Jadi bagaimana kita ulangi proses? 77 00:04:42,522 --> 00:04:45,160 Dalam Scratch, kami menggunakan blok ulangi. 78 00:04:45,160 --> 00:04:48,580 Dalam C, kita akan menggunakan Untuk lingkaran. 79 00:04:48,580 --> 00:04:51,290 Mari kita lihat sintaks Untuk untuk loop. 80 00:04:51,290 --> 00:04:57,140 >> Setiap Untuk lingkaran terdiri dari tiga bagian, inisialisasi, kondisi, 81 00:04:57,140 --> 00:04:58,592 dan update. 82 00:04:58,592 --> 00:05:01,550 Untuk lingkaran Anda akan menginisialisasi variabel ketika pertama 83 00:05:01,550 --> 00:05:02,960 Untuk memasuki lingkaran. 84 00:05:02,960 --> 00:05:07,100 Jika kondisi ini terpenuhi, tubuh loop akan mengeksekusi. 85 00:05:07,100 --> 00:05:10,070 Setelah itu, update akan mengeksekusi. 86 00:05:10,070 --> 00:05:13,630 >> Jika kondisi ini masih dipenuhi, lingkaran akan mengeksekusi dan memperbarui dan 87 00:05:13,630 --> 00:05:18,580 mengulang selama kondisi Anda mengevaluasi untuk Benar. 88 00:05:18,580 --> 00:05:21,450 Kau kondisi akhirnya harus valuate ke False, meskipun, karena 89 00:05:21,450 --> 00:05:24,490 seperti Scratch, kita tidak memiliki loop Selamanya. 90 00:05:24,490 --> 00:05:28,270 Program Anda harus berakhir pada akhirnya. 91 00:05:28,270 --> 00:05:32,330 >> Berikut contoh Untuk loop yang Anda mungkin ingin menggunakan untuk Mario. 92 00:05:32,330 --> 00:05:36,790 Inisialisasi menyatakan i bilangan bulat dengan nilai 0. 93 00:05:36,790 --> 00:05:40,750 Selama saya kurang dari ketinggian, tubuh loop akan mengeksekusi dan 94 00:05:40,750 --> 00:05:44,980 meningkatkan i per satu dan ulangi sampai saya lebih besar dari atau 95 00:05:44,980 --> 00:05:47,220 sama dengan ketinggian. 96 00:05:47,220 --> 00:05:49,140 >> Sekarang, Untuk loop saya adalah indeks nol. 97 00:05:49,140 --> 00:05:52,270 The Int i dimulai dari nol, bukan satu. 98 00:05:52,270 --> 00:05:55,320 Jika saya memilih satu, maka kondisi saya akan juga harus berbeda untuk 99 00:05:55,320 --> 00:05:58,740 loop untuk mengeksekusi jumlah yang sama kali. 100 00:05:58,740 --> 00:06:03,490 Ingat ini dengan hati-hati ketika Anda memilih inisialisasi Anda dan Anda 101 00:06:03,490 --> 00:06:08,660 kondisi, dan berkonsultasi ini grafik untuk memeriksa dua kali. 102 00:06:08,660 --> 00:06:13,430 >> Salah satu hal besar mengenai komputer ilmu pengetahuan adalah bahwa ada begitu banyak 103 00:06:13,430 --> 00:06:15,490 cara untuk mengeksekusi hal. 104 00:06:15,490 --> 00:06:19,450 Anda dapat memilih apakah Anda mulai dari nol atau satu. 105 00:06:19,450 --> 00:06:22,380 Jika Anda tidak ingin menggunakan Untuk lingkaran, Anda juga dapat menggunakan loop Sedangkan untuk 106 00:06:22,380 --> 00:06:26,530 mengulang pernyataan selama Anda menjaga esensi dari Untuk lingkaran, 107 00:06:26,530 --> 00:06:31,430 inisialisasi, kondisi, dan pembaruan. 108 00:06:31,430 --> 00:06:36,890 Setelah kita mengetahui Untuk loop yang kita paling nyaman dengan, maka kita 109 00:06:36,890 --> 00:06:38,450 dapat menyelesaikan Mario. 110 00:06:38,450 --> 00:06:41,540 >> Kami pertama kali diperiksa untuk input pengguna dan kemudian mengidentifikasi 111 00:06:41,540 --> 00:06:43,580 Pola untuk setiap n baris. 112 00:06:43,580 --> 00:06:49,990 Jadi untuk setiap baris dari nol sampai n dikurangi 1 akan mencetak sesuai dengan jumlah 113 00:06:49,990 --> 00:06:55,340 spasi, maka jumlah yang tepat hash sesuai dengan pola kita, dan 114 00:06:55,340 --> 00:06:57,180 maka baris baru. 115 00:06:57,180 --> 00:06:59,640 Dengan itu, Anda memiliki piramida. 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