Isi kandungan:

Panduan Pengaturcaraan Menarik untuk Pereka - Kawalan Proses Program- Pernyataan Gelung: 8 Langkah
Panduan Pengaturcaraan Menarik untuk Pereka - Kawalan Proses Program- Pernyataan Gelung: 8 Langkah

Video: Panduan Pengaturcaraan Menarik untuk Pereka - Kawalan Proses Program- Pernyataan Gelung: 8 Langkah

Video: Panduan Pengaturcaraan Menarik untuk Pereka - Kawalan Proses Program- Pernyataan Gelung: 8 Langkah
Video: 🔴 [LIVE] SAINS KOMPUTER TING 4 (KSSM), BAB 1 PENGATURCARAAN (9) OLEH CIKGU LING #52 #TUISYENPERCUMA 2024, Disember
Anonim
Panduan Pengaturcaraan Menarik untuk Pereka - Kawalan Proses Program- Pernyataan Gelung
Panduan Pengaturcaraan Menarik untuk Pereka - Kawalan Proses Program- Pernyataan Gelung

Kawalan Proses Program- Penyataan Gelung

Dari bab ini, anda akan menghubungi Pernyataan Titik Pengetahuan yang penting dan hebat.

Sebelum membaca bab ini, jika anda ingin menarik 10, 000 bulatan dalam program ini, anda hanya boleh melakukannya dengan kaedah yang mengerikan. Iaitu menulis 10, 000 baris kod elips. Pereka kod malas yang ingin meningkatkan kecekapan dengan segala cara, pasti tidak akan membiarkan ini berlaku. Jadi, pernyataan gelung dibuat. Dengan pernyataan ini, anda dapat merasakan kekuatan automasi komputer secara intuitif.

Langkah 1: Untuk Gelung

Terdapat banyak pernyataan gelung, antaranya yang paling banyak digunakan ialah For Loop. Kita semua tahu bahawa cabutan fungsi terus beroperasi dalam edaran. Bermula dari kalimat pertama di awal, ia akan dilaksanakan dari atas ke bawah hingga ayat terakhir. Setelah selesai operasi, ia akan bermula lagi dari ayat pertama. Untuk penyataan sedikit serupa dengan fungsi menarik. Kod dalam penyataan dapat dilaksanakan berulang kali.

Berikut adalah struktur tatabahasanya:

Untuk (ungkapan 1; ungkapan 2; ungkapan 3) {

Gelung badan

}

Jelas, ayat dalam gelung badan adalah apa yang kita harapkan dapat dilaksanakan berulang kali. Ungkapan 1 digunakan untuk menginisialisasi dan menetapkan nilai pertama ke pemboleh ubah gelung. Ungkapan 2 adalah untuk keadaan gelung. Ungkapan 3 akan mengemas kini nilai pemboleh ubah gelung.

Apakah pemboleh ubah gelung? Ia sebenarnya setara dengan pemboleh ubah tempatan. Mari lihat penulisan yang lengkap.

untuk (int i = 0; i <10; i ++) {

Gelung badan

}

Untuk mewujudkan fungsi gelung, untuk pernyataan bergantung terutamanya pada pemboleh ubah tempatan, yang akan digunakan pada penghentian gelung. Pemboleh ubah tempatan dalam contoh di atas adalah i. Ungkapan 1 telah menyelesaikan inisialisasi pemboleh ubah tempatan. Kemudian, setiap kali gelung beroperasi sekali, pemboleh ubah ini mesti dikemas kini. Antara contoh di atas, i ++ dalam ungkapan 3 digunakan untuk mewujudkan fungsi kemas kini. Melaluinya, pemboleh ubah akan meningkat 1 setiap kali ia dikemas kini. Pada akhirnya, kod dalam gelung badan tidak dapat dilengkapkan tanpa had, selain itu pernyataan terakhir tidak dapat dilaksanakan. Oleh itu, kita memerlukan keadaan terminal. Express 2 hanya untuknya. Di sini, program ini akan menilai sama ada saya kurang dari 10. Jika sudah, maka teruskan beroperasi. Sekiranya tidak, maka lompatlah.

Oleh itu, urutan operasi untuk penyataan adalah seperti ini.

Ungkapan 1 (Permulaan pemboleh ubah tempatan)

Ungkapan 2 (Puas, kemudian terus beroperasi)

Badan gelung (Peredaran pertama)

Ungkapan 3 (Kemas kini)

Ungkapan 2 (Puas, kemudian terus beroperasi)

Badan gelung (Sirkulasi kedua)

Ungkapan 3 (Kemas kini)

Ungkapan 2 (Puas, kemudian terus beroperasi)

Badan gelung (Peredaran ketiga)…

Ungkapan 3 (Kemas kini)

Ungkapan 2 (Tidak berpuas hati, kemudian melompat keluar dari gelung)

Anda boleh meniru urutan pelaksanaan ini di kepala anda untuk beberapa kali. Tetapi mustahil untuk benar-benar memahami kod tersebut tanpa mengetiknya dengan tangan anda sekali sahaja. Apabila kita ingin mengetahui konsep yang pelik, kita dapat mencetak nilai di konsol melalui pernyataan println.

Contoh Kod (5-1): persediaan kosong () {

untuk (int i = 0; i <10; i ++) {

println ("jalankan");

}

}

Anda boleh mengira jumlah output larian di konsol. Di sini, tepatnya 10. Ini memberitahu anda berapa kali kod dalam badan gelung telah dilaksanakan. Walau bagaimanapun, kami masih tidak dapat mengesan perubahan apa yang sebenarnya telah berlaku dalam gelung. Oleh itu, kita boleh cuba mengubah watak "lari ke pemboleh ubah" i ", dan melihat apa yang akan berlaku.

Contoh Kod (5-2): persediaan kosong () {

untuk (int i = 0; i <10; i ++) {

println (i);

}

}

Sekarang, kita dapat melihat nilai i dalam badan gelung terus meningkat. Kemudian, kita dapat menggunakan nilai ini untuk memahami proses gelung semasa.

Dalam contoh kod (5-2), nilai i diubah dari 0 hingga 9. Berbanding dengan masa gelung sebenar, nampaknya selalu mempunyai 1 lebih sedikit. Sekiranya anda tidak terbiasa, ungkapan dalam tanda kurung untuk penyataan boleh ditulis kepada yang berikut:

untuk (int i = 1; i <= 10; i ++)

Oleh itu, saya benar sesuai dengan masa gelung. Maksud "<=" kurang daripada dan sama dengan. Jadi apabila saya bersamaan dengan 10, ia masih akan memenuhi syarat. Oleh itu, ia akan beroperasi sekali lagi dibandingkan dengan ditulis ke i <10. Walaupun bermula dari 1, masa gelung masih 10. Sudah tentu, jika tidak ada yang diperlukan, saya ingin mencadangkan anda menggunakan kaedah penulisan di contoh pada awal. Nanti kami akan memperkenalkan vektor atau susunan kepada anda, yang keduanya memperoleh elemennya dengan langganannya. Dan langganan lalai semuanya bermula dari 0. Untuk menentukan nilai awal menjadi 0 adalah amalan yang agak biasa.

Dalam contoh di atas, jika kita menulis i melebihi 0, pogram akan terhempas. Oleh kerana pemboleh ubah terus meningkat, ia tidak akan pernah memenuhi syarat ini. Ini seperti tidak dapat dihentikan sehingga program akan berjalan ke gelung tanpa henti.

Pemboleh ubah tempatan dalam pernyataan tidak hanya dapat menyatakan jenis plastik, tetapi juga menyatakan pemboleh ubah dalam jenis titik terapung. Sebagai contoh, ia boleh ditulis sebagai (float i = 0; i <10; i + = 0.02).

Langkah 2: Gunakan untuk Gelung untuk Menyelesaikan Masalah Matematik

Adakah anda masih ingat kisah ahli matematik Gauss pada masa kecilnya? Pada masa itu, Guass berumur 10 tahun. Gurunya mahu memberikan tugas di kelas dan soalannya adalah

1+2+3+4……+97+98+99+100=?

Sekiranya anda mengira dengan tangan anda, anda akan memerlukan banyak masa. Tetapi Guass nampaknya sudah mengetahui kaedah penjumlahan turutan aritmetik. Jadi setelah pertanyaan itu diberikan, dia menyampaikan jawabannya dengan mudah, yang sangat mengejutkan gurunya.

Sekarang, kita mungkin masih belum ingat apa itu penjumlahan turutan aritmetik tetapi kita boleh mendapatkan jawapannya dengan cara yang primitif dan ganas. Dan itu untuk gelung. Oleh kerana ia hanya sebilangan kecil kue untuk dihitung oleh komputer, kita harus menerangkan persoalannya ke dalam bahasa yang dapat dikenali oleh komputer, maka kita dapat dengan mudah mendapatkan jawaban kami.

Contoh Kod (5-3):

batal persediaan () {

jawapan int = 0;

untuk (int i = 1; i <= 100; i ++) {

jawapan + = i;

}

println (jawapan);

}

Saya percaya hasil yang anda dapat sama dengan jawapan yang dilaporkan Guass: ia adalah 5050!

Petua: Nama pemboleh ubah tempatan untuk gelung dapat diubah sesuka hati dengan syarat mematuhi peraturan penamaan pemboleh ubah. Anda boleh menulisnya menjadi (int k = 1; k <= 100; k ++). Sekiranya tidak ada keadaan speical yang berlaku, ia menjadi lalai sebagai nama pemboleh ubah.

Langkah 3: Untuk Melukis Gelung

Setelah beberapa siri tempat tidur yang kelihatan membosankan, akhirnya kami dapat masuk ke bahagian yang lebih menarik. Itu untuk digunakan untuk gelung untuk menarik gambar. Kita boleh mengetepikan pengiraan matematik yang membosankan sekarang. Kami pereka lebih peka terhadap grafik.

Gunakan Untuk Gelung Untuk Melukis Array Bulatan

Apabila kita ingin menggunakan gelung untuk mewakili sekumpulan unsur berulang, kita harus memastikan relatiositi angka unsur-unsur ini sebelumnya, maka kita dapat menggunakan gelung untuk merealisasikannya dengan senang daripada melakukan pengulangan besar-besaran. Anggaplah jika kita ingin melukis sebaris bulatan yang sama tersebar ke arah mendatar. Koordinat praktikalnya tidak berubah sementara koordinat mendatarnya diubah. Dan dari kiri ke kanan, koordinat mendatar sentiasa meningkat dan jarak yang semakin meningkat adalah sama. Pada masa ini, kita dapat menggunakan i in for loop untuk mendapatkan koordinat mendatar setiap bulatan.

Contoh Kod (5-4): persediaan kosong () {

saiz (700, 700);

latar belakang (83, 51, 194);

noStroke ();

}

undian tidak sah () {

untuk (int i = 0; i <7; i ++) {

elips (50.0 + i * 100.0, tinggi / 2.0, 80.0, 80.0);

}

}

50 bermaksud kedudukan permulaan bulatan pertama di sebelah kiri. 100 in i * 100 mewakili jarak yang semakin meningkat.

Langkah 4: Gunakan Loop untuk Melukis Titik Bulat Rawak

Kedudukan grafik di atas boleh diramal. Ini akan mengurangkan minat yang banyak. Kita boleh menggunakan fungsi rawak yang kita rujuk pada bab sebelumnya dan mencuba menulisnya dalam fungsi menggambar.

Contoh Kod (5-5):

batal persediaan () {

saiz (700, 700);

latar belakang (0);

noStroke ();

}

undian tidak sah () {

latar belakang (0);

untuk (int i = 0; i <10; i ++) {

float randomWidth = rawak (60.0);

elips (rawak (lebar), rawak (tinggi), rawak Lebar, rawakWidth);

}

}

Di sini, alasan mengapa kedudukan bulatan terus berkelip adalah kerana setiap kali fungsi rawak beroperasi sekali, hasilnya adalah rawak. Oleh kerana draw function telah ditetapkan untuk menjalankan 60 frame sesaat, maka setiap 10 lingkaran yang dilukis dalam satu detik akan mengubah posisinya selama 60 kali. Kilat pantas ini menjadikan gambar nampaknya mempunyai lebih daripada 10 bulatan sahaja. Mengubah nilai sederhana dalam program akan memberi anda kesan yang sama sekali berbeza. Kita boleh mengubah masa gelung dengan menyemak semula keadaan terminal. Keadaan terminal dalam gambar di bawah adalah i <100

  1. Inilah kesannya apabila keadaan terminal adalah <1000:
  2. RandomSeed
  3. Sekiranya saya tidak mahu kedudukan bulatan dihasilkan secara rawak dan juga kilatannya, apa yang boleh saya lakukan? Salah satu kaedah adalah membina dan menyimpan pemboleh ubah bebas untuk setiap bulatan dan memulakan pemboleh ubah ini dalam persediaan. Berikan pemboleh ubah ini nilai rawak. Oleh itu, ketika menggunakan fungsi menggambar dalam undian, apa yang kita gunakan adalah nilai yang tersimpan dalam pemboleh ubah. Ia tidak akan berubah pada bila-bila masa. Untuk melukis 10 bulatan kita hanya boleh menggunakan kaedah ini. Tetapi bagaimana jika kita ingin menarik 1000 bulatan, atau 10, 000 bulatan? Akan sangat menyusahkan jika kita menggunakan kaedah tradisional ini untuk membina pemboleh ubah ini dan menamakannya. Kita tidak perlu belajar kaedah membina pemboleh ubah baru. Berikut adalah kaedah fleksibel yang dapat membantu kita mencapai matlamat ini. Iaitu menggunakan randomSeed. Sekarang, mari kita lihat kesannya setelah digunakan. Contoh Kod (5-6): [tema cceN_cpp = "fajar"] batal persediaan () {size (700, 700); latar belakang (0); noStroke ();}
  4. undian tidak sah () {

    latar belakang (0);

    biji rawak (1);

    untuk (int i = 0; i <10; i ++) {

    float randomWidth = rawak (20.0, 60.0);

    elips (rawak (lebar), rawak (tinggi), rawak lebar, rawak lebar);

    }

    } [/cceN_cpp]

    Berbanding dengan kod sebelumnya, ia tidak mempunyai perubahan kecuali membuat julat bulatan jejari berubah dari 10 hingga lebih dari 30 dengan kalimatSeedRandom sahaja. Setelah ditambahkan kalimat ini, grafik kelihatan menjadi statik.

    Memohon Format:

    biji rawak (a);

    Di antara format ini, penetapan a adalah biji. Anda mesti mengisi bilangan bulat (tuliskan nilai titik mengambang dalam P5, ia tidak akan salah tetapi menganggapnya sebagai bilangan bulat) ke dalamnya. Fungsi randomSeed adalah untuk menetapkan benih untuk nilai rawak. Kemudian ia akan menghasilkan susunan rawak yang berbeza mengikut biji yang berbeza. Selepas itu, kami memanggil fungsi secara rawak sehingga hasil pengembaliannya pasti. Di sini, yang pasti bukan untuk hasilnya adalah nilai pasti tetapi untuk array yang dihasilkan. Maksudnya hasil pengembalian pasti berbanding dengan masa-masa pemanggil.

    Contoh Kod (5-7): [cceN_cpp tema = "fajar"] batal persediaan () {

    biji rawak (0);

    untuk (int i = 0; i <5; i ++) {

    println (rawak (10));

    }

    } [/cceN_cpp]

    Sekarang kita terus menggunakan println untuk melakukan eksperimen. Setelah menggunakan randomSeed, setiap kali anda menutup program dan memulakan semula program, ia akan kembali ke rentetan hasil yang sama. Nilai akan sesuai dengan urutan satu persatu. Sekiranya anda menghapusnya, maka setiap kali ia akan kembali ke nilai yang berbeza. Mengapa ia mempunyai tetapan ini? Ini kerana nilai rawak itu sendiri dalam program ini adalah pseudo random. Hasilnya nampak rawak tetapi sebenarnya dihasilkan dengan kaedah pengiraan yang tetap dan berulang. Ini setara dengan menetapkan nilai primitif untuk randomSeed, maka hasil berikut akan dikira mengikut biji ini. Walau bagaimanapun, jika kita tidak menetapkan benih, program ini akan menggunakan sistem ini secara lalai untuk menghasilkan benih. Oleh itu hasil setiap operasi adalah berbeza. Contoh di bawah dapat membantu anda memahami randomSeed dengan lebih baik.

    Contoh Kod (5-8): [cceN_cpp tema = "fajar"] batal persediaan () {

    saiz (700, 700);

    latar belakang (0);

    noStroke ();

    }

    undian tidak sah () {

    biji rawak (1);

    untuk (int i = 0; i <10; i ++) {

    float randomWidth01 = rawak (10, 60);

    elips (rawak (lebar), rawak (tinggi), randomWidth01, randomWidth01);

    println (randomWidth01);

    }

    biji rawak (1);

    untuk (int i = 0; i <10; i ++) {

    float randomWidth02 = rawak (10, 60);

    elips (rawak (lebar), rawak (tinggi), randomWidth02, randomWidth02);

    println (randomWidth02);

    }

    } [/cceN_cpp]

    Cuba buat semakan randomSeed kedua (1) ke randomSeed (0) dan bandingkan hasil akhir.

    Petua: Di P5, kita hanya perlu memanggil fungsi noLoop pada akhir undian supaya kita dapat kesan yang sama. Fungsinya adalah untuk menghentikan program. Amat berbeza dengan prinsip kerja di atas.

Langkah 5: Gunakan Loop untuk Melukis Garis

Setelah kami menguasai penggunaan randomSeed, kami dapat mengubah fungsi menggambar. Contohnya, ubah lukisan bulatan menjadi lukisan garis. Hanya jika kita merancang beberapa peraturan yang berubah hingga akhir baris, kita dapat menggunakan banyak garis yang terjalin untuk membuat corak yang unik.

Contoh Kod (5-9):

[cceN_cpp tema = "fajar"] batal persediaan () {

saiz (700, 700);

latar belakang (0);

}

undian tidak sah () {

biji rawak (0);

untuk (int i = 0; i <2000; i ++) {

apungan x1 = lebar / 2.0;

apungan x2 = rawak (50.0, 650.0);

strok (255, 20);

garis (x1, 50, x2, 650);

}

} [/cceN_cpp]

Buat Berus Mudah

Kembali ke gelung lagi. Contoh di atas tidak interaktif. Sekiranya kita mahu hasilnya menjadi lebih menarik, kita tidak boleh lupa menggabungkan mouseX dan mouseY ke dalam kod kita.

Contoh Kod (5-10):

[cceN_cpp tema = "fajar"] batal persediaan () {

saiz (700, 700);

latar belakang (255);

noStroke ();

}

undian tidak sah () {

untuk (int i = 0; i <1000; i ++) {

isi (0, 30);

terapung x = tetikusX + rawak (-50, 50);

terapung y = tetikusY + rawak (-50, 50);

elips (x, y, 2, 2);

}

} [/cceN_cpp]

Berus "titik penyerakan" dibuat. Kerana setiap titik bulat mini intensif didasarkan pada kedudukan tetikus, ia dapat menggerakkan arah yang terbatas dari empat arah kiri, kanan, atas dan bawah. Jadi penyebaran bentuk akhir berus serupa dengan segi empat sama.

Contoh Kod (5-11):

[cceN_cpp tema = "fajar"] batal persediaan () {

saiz (700, 700);

latar belakang (255);

noStroke ();

}

undian tidak sah () {

untuk (int i = 0; i <1000; i ++) {

nisbah apungan = tetikusX / (apungan) lebar;

terapung x = tetikusX + rawak (-50, 50);

terapung y = tetikusY + rawak (-50, 50);

isi (0, nisbah * 255, 255 * (1 - nisbah), 30);

elips (x, y, 2, 2);

}

}

[/cceN_cpp]

Sekiranya kita menggunakan nilai mouseX untuk mempengaruhi warna pengisian, maka kita akan mendapat kecerunan warna yang jauh lebih ajaib.

Langkah 6: Untuk Gelung Bersarang

Untuk gelung boleh bersarang. Anda boleh menulis semula gelung untuk gelung untuk. Apabila anda perlu melukis matriks dot dua dimensi, anda boleh memilih kaedah ini.

Contoh Kod (5-12):

[cceN_cpp tema = "fajar"] batal persediaan () {

saiz (700, 700, P2D);

latar belakang (202, 240, 107);

}

undian tidak sah () {

isi (0);

untuk (int i = 0; i <5; i ++) {

untuk (int j = 0; j <5; j ++) {

apungan x = 150 + i * 100;

terapung y = 150 + j * 100;

elips (x, y, 60, 60);

println (i + ":" + j);

}

}

}

[/cceN_cpp]

Untuk menggunakan gelung bersarang untuk pertama kalinya, anda harus mengetahui hubungan logiknya. Pelaksanaan kod dalam program selalu dari atas hingga bawah. Oleh itu, yang pertama dilaksanakan semestinya gelung terluar. Setiap kali gelung luar beroperasi sekali, gelung dalaman akan terus beroperasi sehingga tidak dapat memenuhi syarat itu lagi. Selepas itu, ia akan memulakan operasi gelung luar kedua. Setelah operasi kedua dimulakan, gelung dalaman akan terus dilaksanakan sehingga tidak dapat memenuhi syarat. Pengulangan seperti itu dilakukan sehingga semua keadaan tidak dapat dipenuhi dan ia melompat keluar dari gelung.

Dalam kod di atas, badan gelung di gelung luar telah beroperasi 5 kali secara keseluruhan, sementara badan gelung di gelung dalaman telah beroperasi 25 kali. Dalam 25 kali, mengikut perbezaan nilai i, j, kita dapat memastikan koordinat melintang dan menegak bulatan secara berasingan. Saya telah memasukkan bahagian cetakan, anda dapat melihat output data dan memikirkan perubahannya. Dengan hanya dua gelung bersarang, kita dapat mengalami semua kombinasi data i, j.

Petua

Untuk gelung di lapisan kedua biasanya mengembun dengan Tab pada awalnya. Ini dapat menjadikan struktur kod lebih jelas. Anda harus menamakan pemboleh ubah tempatan dalam dua lapisan untuk gelung dengan nama yang berbeza. Antaranya, "i", "j", "k" adalah yang paling biasa digunakan.

Penggunaan Fleksibel "i", "j"

Dua nama pemboleh ubah "i", "j" mewakili pemboleh ubah tempatan dari dua lapisan untuk gelung. Contoh di bawah akan memperdalam pemahaman anda untuk "i" "j". Mengikut nilai "i", "j" yang berbeza, kita dapat memasukkan parameter untuk mengelompokkan elemen.

Contoh Kod (5-13): [tema cceN_cpp = "fajar"] batal persediaan () {

saiz (700, 700);

latar belakang (0);

noStroke ();

}

undian tidak sah () {

latar belakang (0);

isi (250, 233, 77);

untuk (int i = 0; i <7; i ++) {

untuk (int j = 0; j <7; j ++) {

pushMatrix ();

terjemahkan (50 + i * 100, 50 + j * 100);

// Menetapkan 1

// sudut apungan = sin (milis () / 1000.0) * PI / 2;

// Menetapkan 2

// nisbah apungan = i / 7.0;

// sudut apungan = sin (milis () / 1000.0 + ratio * (PI / 2)) * PI / 2;

// Menetapkan 3

nisbah apungan = (i * 7 + j) /49.0;

sudut apungan = sin (milis () / 1000.0 + ratio * (PI / 2)) * PI / 2;

putar (sudut);

rectMode (PUSAT);

// Lukis gambar 1

segiempat tepat (0, 0, 80, 80);

// Lukis gambar 2

// betul (0, 0, 100, 20);

// Lukis gambar 3

// betul (0, 0, nisbah * 50);

popMatrix ();

}

}

} [/cceN_cpp]

Penjelasan Kod

rectMode (CENTRE) boleh mengubah kaedah melukis segi empat sama. Bekas dua parameter segiempat oringinal digunakan untuk menentukan koordinat sudut atas kiri sqaure. Setelah kita memulakan perintah ini, kedua parameter ini akan digunakan untuk menetapkan koordinat untuk titik pusat kuasa dua. Kerana di sini kita menjalankan putaran paterrn melalui putaran, jadi kita perlu menggunakan kaedah ini untuk menarik titik tengah ke titik asal koordinat.

millis () memperoleh masa dari program bermula hingga sekarang. Unit ini ms. Nilai ini akan mempengaruhi perubahan kelajuan nilai output sin. Sekiranya kita menulis milis secara langsung, skala perubahannya terlalu besar. Oleh itu, kita harus membahagikannya dengan 1000.0.

Di bahagian kod ini, kami menggunakan simbol komen "//" untuk menyembunyikan beberapa tetapan. Anda boleh menukar kesan pada permulaan atau penutupan. Sebagai contoh, jika kita memulakan kalimat di belakang "Setting 3", kita harus menggunakan simbol komen untuk menutup blok kod behine "Setting 1" dan "Setting 2". Seperti contoh struktur program yang serupa dengan pemboleh ubah tempatan yang berbeza, kita dapat menulis dalam format ini. Oleh itu, kita tidak perlu menyimpan beberapa dokumen kejuruteraan secara berasingan. Kita boleh menggunakan kemahiran ini dengan kerap semasa latihan dan membuat dan mengekalkan beberapa tetapan parameter yang memuaskan.

Di antaranya, pengaruh nilai i, j terhadap program terutamanya ditunjukkan dengan menukar "Setting 1 (Setting 2) (Setting 3)". Anda boleh membandingkan hasil output di bawah.

Lukis gambar 1: Tetapan 1

Lukis gambar 1: Tetapan 2

Lukis gambar 1: Tetapan 3

Lukis gambar 2: Tetapan 1

Lukis gambar 2: Tetapan 2

Lukis gambar 2: Tetapan 3

Dalam pengaturan 1, kami belum menggunakan i dan j untuk mempengaruhi sudut putaran setiap elemen. Oleh itu kita dapat melihat pergerakan setiap elemen adalah sama. Semasa dalam tetapan 2, kami telah menggunakan nilai i dan kedua i dan j dalam pengaturan 3. Akhirnya mereka telah mempengaruhi input parameter fungsi sin hingga ratio. Ini telah mengubah perubahan sudut secara berkala. Oleh kerana kesan sebenar pengaturan 2 dan tetapan 3 tidak begitu jelas dalam grafik animasi, kita dapat memerhatikannya dari tangkapan skrin berikut.

Lukis Gambar 2 (Kiri: Tetapan 2; Kanan: Tetapan 3)

Lukis Gambar 3 (Kiri: Tetapan 2; Kanan: Tetapan 3)

Pada gambar pertama, nisbah digunakan untuk mempengaruhi sudut putaran persegi. Sementara gambar kedua, ia digunakan untuk mengendalikan jari-jari bulatan secara langsung. Kita dapat melihat bahawa ia menggunakan kalimat nilai i:

nisbah apungan = i / 7.0;

Perubahan elemen vertikalnya konsisten. Oleh kerana koordinat mendatar untuk mengawal gambar hanya bergantung pada nilai i, jadi patterms dengan koordinat mendatar yang sama akan sama. Nilai nisbah, sudut putaran dan jejari bulatan juga sama.

Pada masa yang sama, kita menggunakan kalimat i, j:

nisbah apungan = (i * 7 + j) /49.0;

Ia boleh menggambarkan "kecerunan". Di sini, dengan kaedah mengalikan faktor, ia menggabungkan pengaruh baris dan lajur. Jadi setiap elemen berbeza.

Langkah 7: Semasa Gelung

Ada abang untuk gelung. Itu adalah gelung sambil. Apa yang boleh dilakukan oleh gelung, sementara gelung juga boleh dilakukan. Tetapi frekuensi penggunaan loop sementara dalam CreativeCoding tidak tinggi seperti loop.

Contoh Kod (5-14): [tema cceN_cpp = "fajar"] batal persediaan () {

int a = 0;

sementara (a <10) {

println (a);

a ++;

}

} [/cceN_cpp]

Struktur tatabahasa sementara lebih mudah difahami daripada. Kita boleh membuat pemboleh ubah sebelum semasa penyataan. Kemudian isikan ungkapan dalam tanda kurung persegi. Apabila sudah berpuas hati, jalankan ayat dalam badan gelung. Akhirnya kami meletakkan ungkapan di badan gelung untuk mengemas kini pemboleh ubah, kemudian semasa gelung selesai. Bagi masa gelung yang dijamin, kita sering menggunakan gelung. Bagi nilai pemboleh ubah tak tentu, kami mengesyorkan anda menggunakan while loop.

Fikirkan:

Cuba gunakan semua jenis elemen asas untuk menggantikan elemen lukisan untuk gelung untuk membuat pelbagai berus yang berbeza.

Gabungkan dengan fungsi trigonometri yang dirujuk pada bab terakhir, cuba ubah semula berus "titik hamburan" menjadi berus bentuk bulat.

Cuba buat matriks dot dua dimensi dengan gelung untuk sahaja.

Pratonton Bab SeterusnyaSeperti dengan kursus ini, anda akan mendapat setiap pengetahuan baru yang anda pelajari, kemungkinan bermain akan meningkat dengan cepat. Program adalah kotak pandora. Semua yang anda bayangkan, ia dapat melakukannya untuk anda. Oleh itu, tidak ada alasan untuk kita tidak mempelajari bahasa ini yang boleh berkomunikasi dengan komputer. Dalam bab seterusnya, kami akan memperkenalkan satu lagi pernyataan kawalan proses jika anda. Ia dapat mengawal aliran proses dan menghasilkan hasil yang lebih rumit dan berubah. Dengan pernyataan jika, anda boleh membuat permainan pengembaraan teks anda sendiri dengan mudah! Artikel ini berasal dari pereka Wenzy. Bacaan Relatif: Panduan Pengaturcaraan Menarik untuk Pereka - Memproses Panduan Sentuhan Permulaan Sentuhan Minat untuk Pereka - Buat Program Pemrosesan Pertama Anda Panduan Pengaturcaraan Minat untuk Pereka –Menjadikan Gambar Anda Menjalankan (Bahagian Satu) Panduan Pengaturcaraan Menarik untuk Pereka-Dapatkan Gambar Anda Berjalan (Bahagian Kedua)

Langkah 8: Sumber

Artikel ini berasal dari:

Jika ada pertanyaan, Anda dapat menghubungi: [email protected].

Disyorkan: