Rumah Kewangan Peribadi Cara Membuat Kod di Ruby untuk Draw Rectangle - dummies

Cara Membuat Kod di Ruby untuk Draw Rectangle - dummies

Video: The Power of the Docs | Intro to JS: Drawing & Animation | Computer programming | Khan Academy 2024

Video: The Power of the Docs | Intro to JS: Drawing & Animation | Computer programming | Khan Academy 2024
Anonim

Dalam Ruby, anda boleh membuat segi empat tepat pada skrin menggunakan seni ASCII. Sekiranya anda akan melukis segi empat tepat pada kertas yang dipenuhi dengan corak, apakah yang perlu anda lakukan? Pertama, anda boleh menggambar garis segi empat tepat, dan kemudian anda mungkin berwarna di bahagian dalam.

Tetapi untuk program anda dalam Ruby, anda akan mahu menggambar bentuk dari bahagian atas ke bawah, satu baris pada satu masa. Bagaimana anda menerangkan bagaimana untuk melakukannya? Seperti ini:

  1. Lukiskan bahagian atas segi empat dengan menggunakan corak luar (atau tepi) untuk baris pertama.

  2. Untuk setiap baris yang membentuk sisi dan dalam segi empat tepat, lukiskan tepi kiri, semua tengah, dan kemudian tepi kanan.

    Ulangi langkah ini sehingga anda perlu menarik bahagian bawah persegi panjang.

  3. Lukiskan bahagian bawah segiempat tepat sama seperti anda menarik pinggir atas.

Ini adalah algoritma untuk melukis garis segi empat tepat mengikut baris dari atas ke bawah.

Satu algoritma hanyalah urutan langkah yang anda ikuti untuk mencapai beberapa tugas atau pengiraan. Dalam kes ini, anda telah menulis urutan untuk menarik segi empat tepat dengan mengimbas merentasi dari atas ke bawah, garis demi baris.

Versi Ruby algoritma anda banyak berbunyi seperti versi bahasa Inggeris:

  1. Sediakan dua pembolehubah yang memudahkan untuk melihat apa yang sedang berlaku. Anda akan menggunakan pilihan pengguna untuk saiz bentuk sebagai kedua-dua ketinggian dan lebar angka yang akan anda lukis:

    height = shape_size width = shape_size
    
  2. Anda akan melukis garis segi empat tepat demi baris, jadi sediakan satu gelung yang akan mengulangi kod anda untuk setiap baris (jadi, ini bermakna anda memerlukan kod lukisan anda untuk menjalankan ketinggian kali):

    1. upto (height) lakukan | row | # Kod lukisan pergi ke sini akhir
    

    Gelung adalah cara yang ampuh untuk mengulangi kod beberapa kali (atau bahkan bilangan tak terhingga)! Ruby mempunyai beberapa cara untuk memprogram gelung. Kaedah upto adalah cara mudah untuk mengira dari nombor permulaan kepada nombor akhir. Untuk segi empat tepat, anda mahu mengira bermula pada 1 untuk baris pertama dan penghitungan penamat apabila anda mencapai nombor yang diwakili oleh ketinggian.

  3. Sekarang, untuk algoritma untuk berfungsi, anda perlu menyemak untuk melihat baris apa yang anda mahu program dicetak. Anda mempunyai tiga kes: baris pertama, baris tengah, dan barisan terakhir. Tambah dalam kes untuk baris pertama di tengah-tengah gelung anda:

    jika baris == 1 meletakkan luar_letter * akhir lebar
    

    Jika pemboleh ubah baris adalah sama dengan satu, program itu akan menggunakan meletakkan untuk mencetak pilihan anda untuk the out_letter beberapa kali sama dengan lebar.

    Anda gunakan jika pernyataan apabila anda ingin melihat apakah ada keadaan yang benar atau palsu.Simbol == di Ruby bertanya soalan: "Adakah benda di sebelah kiri sama dengan benda di sebelah kanan simbol ==? "Jika demikian, maka Ruby akan menjalankan baris kode hingga keadaan lain atau kata kunci akhir.

  4. Seterusnya, tambah semak untuk melihat apakah ini adalah baris terakhir. Kata kunci elsif bermula ujian keadaan lain, dan anda meletakkannya tepat sebelum kata kunci akhir sebelumnya. Itu bukan kesilapan ejaan, dengan cara ini. Ruby hanya mempunyai cara yang lucu untuk mengatakan "lain jika"! Seluruh perkara akan kelihatan seperti ini:

    jika baris == 1 meletakkan outer_letter * width elsif row == ketinggian meletakkan outer_letter * lebar akhir
    
  5. Akhirnya, anda perlu mengendalikan tampilan semua baris di tengah, jadi tambah satu keadaan terakhir menggunakan kata kunci lain Ruby. Kod ini berlaku sebelum kata kunci akhir. Di sini adalah seluruh blok Ruby:

    jika baris == 1 meletakkan outer_letter * lebar elsif baris == ketinggian meletakkan outer_letter * lebar lain tengah = inside_letter * (lebar - 2) meletakkan "# {outside_letter} # {middle} # { out_letter} "akhir
    

    Kes pertengahan kelihatan rumit. Apa yang dilakukannya? Nah, mengikut algoritma anda, ia perlu menarik tepi kiri dan kanan dan semua di tengah.

    Pembolehubah tengah mengira rentetan yang mewakili tengah segiempat tepat. Jika anda mengambil satu untuk aksara kelebihan kiri dan satu untuk aksara kelebihan sebelah kanan, lebar akhir pertengahan ialah lebar penuh tolak dua huruf.

    Pernyataan terakhir meletakkan menggunakan pemprosesan rentetan untuk membuat baris gabungan.

  6. Jalankan program anda dan lihat jika anda mempunyai sebarang kesilapan. Adakah anda mendapat sesuatu seperti apa yang ditunjukkan di sini? Jika anda melihat ralat yang mengatakan sesuatu seperti perbandingan Fixnum dengan String gagal, ini bermakna Ruby mempunyai masa yang sukar menggunakan nilai di dalam shape_size sebagai nombor.

    Ruby tidak pasti bagaimana menggunakan rentetan untuk nombor.

    Kenapa masalah itu jika anda menaip nombor? Nah, mendapat bacaan dalam input anda, tetapi ia membaca semua aksara yang anda taip sebagai rentetan. Anda perlu membantu Ruby menukarkan rentetan kepada nombor.

  7. Tukar dua baris di mana anda menetapkan pembolehubah ketinggian dan lebar untuk menggunakan kaedah to_i, yang bermaksud menukar isi kandungan ini menjadi integer (nombor):

    height = shape_size. to_i width = shape_size. to_i
    

    Jalankan kod anda sekali lagi. Kejayaan!

    Adakah ini segi empat tepat yang paling menarik di dunia?
Cara Membuat Kod di Ruby untuk Draw Rectangle - dummies

Pilihan Editor

Lookup pintar di Office Online - dummies

Lookup pintar di Office Online - dummies

Di versi pengguna Office Online, ada ciri yang sangat keren yang membolehkan anda untuk mencari maklumat dari Bing, Wikipedia, Kamus Bahasa Inggeris Oxford, dan web itu sendiri, tanpa meninggalkan skrin atau halaman yang anda sedang aktif. Sebagai contoh, sebagai contoh, anda menulis blog di Word Online yang menyebut Paul Revere. Anda mahu ...

SharePoint Online App Options - dummies

SharePoint Online App Options - dummies

SharePoint Online dilengkapi dengan koleksi senarai standard dan perpustakaan. Microsoft telah mengambil masa untuk membangunkan ini untuk menjadikan kehidupan anda sebagai pemaju lebih mudah, jadi anda juga boleh menggunakannya. Senarai berikut memperkenalkan aplikasi senarai SharePoint standard dan memberikan penerangan ringkas: App Access: Aplikasi ini ...

Bagaimana Tag Kenalan di Skype untuk Perniagaan - dummies

Bagaimana Tag Kenalan di Skype untuk Perniagaan - dummies

Di Skype untuk Perniagaan, anda boleh menandai kenalan anda untuk makluman perubahan status. Ada kalanya anda memerlukan input daripada ahli pasukan. Cara terbaik untuk melakukannya dengan cepat adalah untuk menjangkau ahli pasukan anda, sama ada satu-satu atau kepada mereka sekaligus, melalui mesyuarat maya ad hoc. Mengetahui anda ...

Pilihan Editor

Outlook Kenalan 2016 Tab Rumah - dummies

Outlook Kenalan 2016 Tab Rumah - dummies

Pandangan Kenalan 2016 adalah lebih daripada sekadar senarai nama dan alamat e-mel. Anda boleh memanfaatkan tab Kenalan Home pada Outlook 2016 Ribbon untuk membuat kenalan baru, untuk mengatur cara anda melihat kenalan yang anda ada, atau untuk membuat mesej e-mel atau mel menggabungkan dokumen. Imej berikut menunjukkan ...

Quick for Outlook 2013 - dummies

Quick for Outlook 2013 - dummies

Outlook 2013 adalah program pelbagai guna. Ia adalah buku alamat, kalendar, senarai tugasan, dan program pengendalian e-mel, semua dalam satu. Ciri Outlook yang paling popular, bagaimanapun, adalah pengendalian e-mel. Berjuta-juta orang menggunakan Outlook sebagai program e-mel utama mereka, dan atas sebab yang baik! Ia pantas, lengkap, dan mudah digunakan dan ...

Pilihan Editor

Pentadbiran: Bekerja dengan Perkhidmatan - dummies

Pentadbiran: Bekerja dengan Perkhidmatan - dummies

Semasa mengatasi masalah Windows Server 2008 yang perlu anda kenal dengan Perkhidmatan konsol. Konsol perkhidmatan diakses dengan memilih Start → Administrative Tools → Services. Seperti yang digambarkan dalam menunjukkan angka berikut, konsol Perkhidmatan memaparkan senarai semua perkhidmatan yang sedang berjalan pada sistem anda. Jika ciri pelayan Windows tidak berfungsi ...

Keselamatan Akaun Administrator rangkaian - dummies

Keselamatan Akaun Administrator rangkaian - dummies

Pentadbir rangkaian bertanggungjawab untuk menyediakan sistem keselamatan rangkaian. Untuk melakukan itu, pentadbir mesti dikecualikan daripada semua sekatan keselamatan. Kerana ini, akaun pentadbir rangkaian mesti dilayan dengan berhati-hati. Banyak rangkaian secara automatik membuat akaun pengguna pentadbir apabila anda memasang perisian rangkaian. Nama pengguna dan kata laluan ...

Pentadbir rangkaian: Zon Carian Songsang - dummies

Pentadbir rangkaian: Zon Carian Songsang - dummies

Pertanyaan DNS biasa adalah pertanyaan carian ke hadapan, sesuai dengan nama domain yang memenuhi syarat. Peninjauan terbalik adalah bertentangan dengan pendahuluan ke hadapan: Ia mengembalikan nama domain yang lengkap bagi host berdasarkan alamat IPnya. Peninjauan terbalik adalah mungkin kerana domain khas yang dipanggil ...