Desain Top-Down
Dengan Fungsi
Programmer yang
menggunakan metode pengembangan
perangkat lunak untuk memecahkan masalah Masalah pernyataan
dan mengumpulkan selama analisis dan tahap desain
membantu
programmer
menyelesaikan program.
Programmer juga menggunakan segmen solusi program
yang sebelumnya sebagai blok
bangunan untuk membangun program baru.
Untuk menggunakan informasi
yang ada, programmer dapat
menggunakan top-down teknik
desain untuk menyederhanakan pengembangan algoritma
dan struktur program yang dihasilkan.
Programmer jarang memulai dengan
kertas kosong (atau
layar kosong) ketika
mereka
mengembangkan
program. metode pengembangan
perangkat lunak menghasilkan sistem dokumentasi yang penting, terdiri
dari deskripsi persyaratan
data masalah ini (dikembangkanselama fase Analisis) dan
algoritma solusinya (dikembangkan
selama Desain
fase). Anda dapat menggunakan dokumen
ini sebagai titik awal dalam
pengkodean program, Sebagai
contoh, Anda dapat
mulai dengan mengedit persyaratan
data agar sesuai dengan sintaks C untuk definisi makro konstan
dan deklarasi variabel, seperti
ditunjukkan pada Gambar. 3.1 untuk mil-to-kilometer
program konversi. Pendekatan ini
sangat berguna jika Dokumentasi dibuat dengan pengolah
kata dan dalam sebuah
file yang dapat Anda edit.
GAMBAR 3.1 Persyaratan Diedit Data
dan Algoritma Program Konversi1. / *
2. * Mengkonversi jarak dalam mil ke kilometer.
3. * /
4.
5. # include / * printf, definisi scanf * /
6. # define KMS_PER_MILE 1.609 / * konversi konstan * /
7.
8. int
9. main (void)
10. {
11. mil ganda; / * input - jarak dalam mil. * /
12. ganda km; / * Output - jarak dalam kilometer * /
13.
14. / * Dapatkan jarak dalam mil. * /
15.
16. / * Mengkonversi jarak ke kilometer. * /
17. / * Jarak dalam kilometer adalah
18. 1.609 * jarak dalam mil. * /
19.
20. / * Tampilan jarak dalam kilometer. * /
21.
22. kembali (0);
23. }
GAMBAR 3.2 (lanjutan)
10. {
10. {
10. {
11. ganda radius; / * input - radius lingkaran * /
12. ganda daerah; / * Output - luas lingkaran * /
13. ganda sirkum; / * Output - lingkar * /
14.
15. / * Dapatkan jari-jari lingkaran * /
16. printf ("Masukkan jari-jari>");
17. scanf ("% Jika", & radius);
18.
19. / * Hitung daerah * /
20. daerah = PI * radius * radius;
21.
22. / * Hitung keliling * /
23. sirkum = 2 * PI * radius;
24.
25. / * Menampilkan daerah dan lingkar * /
26. printf ("Daerah ini% .4 f \ n", luas);
27. printf ("keliling adalah% .4 f \ n", circum);
28.
29. kembali (0);
30. }
Masukkan radius> 5.0
Daerah ini 78,5397
Lingkar adalah 31,4159
11. ganda radius; / * input - radius lingkaran * /
12. ganda daerah; / * Output - luas lingkaran * /
13. ganda sirkum; / * Output - lingkar * /
14.
15. / * Dapatkan jari-jari lingkaran * /
16. printf ("Masukkan jari-jari>");
17. scanf ("% Jika", & radius);
18.
19. / * Hitung daerah * /
20. daerah = PI * radius * radius;
21.
22. / * Hitung keliling * /
23. sirkum = 2 * PI * radius;
24.
25. / * Menampilkan daerah dan lingkar * /
26. printf ("Daerah ini% .4 f \ n", luas);
27. printf ("keliling adalah% .4 f \ n", circum);
28.
29. kembali (0);
30. }
Masukkan radius> 5.0
Daerah ini 78,5397
Lingkar adalah 31,4159
Output pada
Gambar. 3.2 memberikan tes
yang baik dari solusi karena rela-
tively mudah untuk menghitung keliling untuk nilai radius dari 5,0. Cara lain di mana programmer menggunakan informasi yang ada adalah dengan memperluas
tively mudah untuk menghitung keliling untuk nilai radius dari 5,0. Cara lain di mana programmer menggunakan informasi yang ada adalah dengan memperluas
solusi untuk satu masalah untuk memecahkan masalah yang lain. Misalnya, Anda dapat dengan mudah
memecahkan masalah ini
dengan
membangun solusi untuk yang sebelumnya.
MASALAH
Anda bekerja untuk sebuah perusahaan hardware yang memproduksi mesin cuci datar. Untuk memperkirakan kapal-
biaya ping, perusahaan Anda membutuhkan sebuah program yang menghitung berat tertentu
jumlah mesin cuci datar.
Anda bekerja untuk sebuah perusahaan hardware yang memproduksi mesin cuci datar. Untuk memperkirakan kapal-
biaya ping, perusahaan Anda membutuhkan sebuah program yang menghitung berat tertentu
jumlah mesin cuci datar.
ANALISIS
Sebuah mesin cuci datar menyerupai donat kecil. Untuk menghitung berat datar tunggal
mesin cuci, Anda perlu tahu daerah rim nya, ketebalannya, dan kepadatan materi
digunakan dalam konstruksi. sebagai masukan: diameter luar mesin cuci dan diameter dalamnya (diameter lubang).
Dalam persyaratan data berikut, kita daftar radius mesin cuci yang dalam dan luar
(setengah diameter) sebagai variabel program. Kami juga daftar daerah rim dan berat satu
washer.
Sebuah mesin cuci datar menyerupai donat kecil. Untuk menghitung berat datar tunggal
mesin cuci, Anda perlu tahu daerah rim nya, ketebalannya, dan kepadatan materi
digunakan dalam konstruksi. sebagai masukan: diameter luar mesin cuci dan diameter dalamnya (diameter lubang).
Dalam persyaratan data berikut, kita daftar radius mesin cuci yang dalam dan luar
(setengah diameter) sebagai variabel program. Kami juga daftar daerah rim dan berat satu
washer.
DATA PERSYARATAN
Konstan masalah
PI 3,14159
masalah Input
ganda hole_diameter / * diameter lubang * /
ganda edge_diameter / * diameter tepi luar * /
Ketebalan ganda / * ketebalan mesin cuci * /
ganda density / * kepadatan bahan yang digunakan * /
Konstan masalah
PI 3,14159
masalah Input
ganda hole_diameter / * diameter lubang * /
ganda edge_diameter / * diameter tepi luar * /
Ketebalan ganda / * ketebalan mesin cuci * /
ganda density / * kepadatan bahan yang digunakan * /
ganda kuantitas / * jumlah pencuci dibuat * /
rim area = (d2/2)2(d1/2)2
masalah Output
ganda berat / * berat batch pencuci * /
Program Variabel
ganda hole_radius / * radius lubang * /
ganda edge_radius / * radius tepi luar * /
ganda rim_area / * daerah rim * /
ganda unit_weight / * berat 1 mesin cuci * /
Rumus yang relevan
luas lingkaran =? * radius
radius lingkaran = diameter / 2
rim daerah = daerah lingkaran luar - daerah lubang
satuan berat = rim daerah * ketebalan * kerapatan2
ganda berat / * berat batch pencuci * /
Program Variabel
ganda hole_radius / * radius lubang * /
ganda edge_radius / * radius tepi luar * /
ganda rim_area / * daerah rim * /
ganda unit_weight / * berat 1 mesin cuci * /
Rumus yang relevan
luas lingkaran =? * radius
radius lingkaran = diameter / 2
rim daerah = daerah lingkaran luar - daerah lubang
satuan berat = rim daerah * ketebalan * kerapatan2
GAMBAR 3.3 (lanjutan)
39. rim_area = PI * edge_radius * edge_radius -
40. PI * hole_radius * hole_radius;
41.
39. rim_area = PI * edge_radius * edge_radius -
40. PI * hole_radius * hole_radius;
41.
42. / * Hitung berat mesin cuci datar. *
/
43. unit_weight = rim_area * ketebalan * kepadatan;
44. / * Hitung berat batch mesin cuci. * /
45. berat = unit_weight * kuantitas;
46.
47. / * Menampilkan berat batch mesin cuci. * /
48. printf ("\ berat nTim diharapkan dari batch adalah% .2 f", berat);
49. printf ("gram \ n.");
50.
51. kembali (0);
52. }
43. unit_weight = rim_area * ketebalan * kepadatan;
44. / * Hitung berat batch mesin cuci. * /
45. berat = unit_weight * kuantitas;
46.
47. / * Menampilkan berat batch mesin cuci. * /
48. printf ("\ berat nTim diharapkan dari batch adalah% .2 f", berat);
49. printf ("gram \ n.");
50.
51. kembali (0);
52. }
Batin diameter
dalam sentimeter> 1.2
Outer diameter dalam sentimeter> 2,4
Tebal dalam sentimeter> 0,1
Bahan kepadatan dalam gram per sentimeter kubik> 7.87
Jumlah dalam batch> 1000
Berat diharapkan dari batch adalah 2670,23 gram.
Outer diameter dalam sentimeter> 2,4
Tebal dalam sentimeter> 0,1
Bahan kepadatan dalam gram per sentimeter kubik> 7.87
Jumlah dalam batch> 1000
Berat diharapkan dari batch adalah 2670,23 gram.
PENGUJIAN
Untuk menguji program ini, menjalankannya dengan diameter dalam dan luar seperti 2 cm
dan 4 cm yang menyebabkan perhitungan mudah untuk daerah rim (3 * PI persegi cm).
Anda dapat memverifikasi bahwa program ini menghitung satuan berat yang benar
Untuk menguji program ini, menjalankannya dengan diameter dalam dan luar seperti 2 cm
dan 4 cm yang menyebabkan perhitungan mudah untuk daerah rim (3 * PI persegi cm).
Anda dapat memverifikasi bahwa program ini menghitung satuan berat yang benar
LATIHAN UNTUK
BAGIAN 3.4
1. Jelaskan masukan masalah dan output dan menulis algoritma untuk pro-
gram yang menghitung gaji kotor karyawan diberi jam kerja dan
tarif per jam.
1. Jelaskan masukan masalah dan output dan menulis algoritma untuk pro-
gram yang menghitung gaji kotor karyawan diberi jam kerja dan
tarif per jam.
2. Menulis
versi awal dari program
dari solusi Anda untuk
Latihan 1. Tampilkan bagian
deklarasi program
dan komentar Program
sesuai dengan algoritma dan perbaikannya.
sesuai dengan algoritma dan perbaikannya.
3. Dalam menghitung gaji kotor, perubahan
apa yang harus Anda lakukan untuk
memperpanjang daftar gaji
algoritma dalam Self-Periksa Latihan 1 untuk memasukkan jam lembur yang harus dibayar pada
algoritma dalam Self-Periksa Latihan 1 untuk memasukkan jam lembur yang harus dibayar pada
pemrograman
1. Tambahkan perbaikan ke garis program yang mengikuti dan menulis program C akhir.
/ *
* Hitung jumlah dan rata-rata dari dua angka.
* /
# include / * printf, definisi scanf * /
int
main (void)
{
ganda satu, dua, / * masukan - nomor untuk memproses * /
Singkatnya, / * Output - jumlah satu dan dua * /
rata-rata; / * Output - rata-rata satu dan dua * /
/ * Dapatkan nomor dua. * /
/ * Hitung jumlah angka. * /
/ * Hitung rata-rata angka. * /
/ * Tampilan jumlah dan rata-rata. * /
kembali (0);
}
2. Menulis sebuah program C lengkap untuk Self-Periksa Latihan 1.
3. Menulis sebuah program C lengkap untuk algoritma penggajian revisi dikembangkan di
1. Tambahkan perbaikan ke garis program yang mengikuti dan menulis program C akhir.
/ *
* Hitung jumlah dan rata-rata dari dua angka.
* /
# include / * printf, definisi scanf * /
int
main (void)
{
ganda satu, dua, / * masukan - nomor untuk memproses * /
Singkatnya, / * Output - jumlah satu dan dua * /
rata-rata; / * Output - rata-rata satu dan dua * /
/ * Dapatkan nomor dua. * /
/ * Hitung jumlah angka. * /
/ * Hitung rata-rata angka. * /
/ * Tampilan jumlah dan rata-rata. * /
kembali (0);
}
2. Menulis sebuah program C lengkap untuk Self-Periksa Latihan 1.
3. Menulis sebuah program C lengkap untuk algoritma penggajian revisi dikembangkan di
Self-Periksa Latihan 3.
4. Asumsikan bahwa mesin cuci datar yang diproduksi oleh stamping mereka keluar dari rectan-
gular sepotong kain ketebalan seragam. Memperpanjang program mesin cuci untuk menghitung
(a) jumlah sentimeter persegi bahan yang diperlukan untuk memproduksi
4. Asumsikan bahwa mesin cuci datar yang diproduksi oleh stamping mereka keluar dari rectan-
gular sepotong kain ketebalan seragam. Memperpanjang program mesin cuci untuk menghitung
(a) jumlah sentimeter persegi bahan yang diperlukan untuk memproduksi
Library Fungsi
Daftar nama
dan deskripsi dari beberapa yang paling umum digunakan fungsi bersama
dengan nama file header standar untuk # include untuk memiliki
akses ke fungsi masing-masing. argumen numerik yang bukan dari jenis
argumen yang terdaftar, nilai argumen dikonversi
ke yang dibutuhkan ketik sebelum
digunakan. Konversi dari tipe int untuk mengetik ganda tidak menimbulkan masalah,tetapi konversi
tipe double
untuk mengetik int menyebabkan hilangnya
setiap pecahan bagian,
seperti dalam tugas-jenis campuran. Sebagai
contoh, jika kita sebut abs
fungsi dengan tipe double nilai -3,47, hasil yang dikembalikan adalah tipe int nilai3.Untuk alasan ini, perpustakaan memiliki fungsi nilai absolut terpisah (fabs)untuk mengetik argumen ganda.
Jika kita mengetahui panjang dari dua sisi (b dan c) segitiga dan sudut antara mereka dalam derajat (?)menulis fungsi kita sendiri. Mari kita asumsikan bahwa kita sudah menulis
fungsi find_area
dan find_circum:
■ Fungsi find_area (r) mengembalikan luas lingkaran dengan jari-jari r.
■ Fungsi find_circum (r) mengembalikan keliling lingkaran dengan jari-jari r.
Kita dapat menggunakan kembali fungsi-fungsi ini dalam dua program sebelumnya pada bab ini daerah = find_area (radius);
sirkum = find_circum (radius);
dapat digunakan untuk menemukan nilai-nilai ini. Bagian ekspresi untuk setiap penugasan
pernyataan adalah panggilan fungsi dengan argumen radius (jari-jari lingkaran). hasilnya
dikembalikan oleh setiap pelaksanaan fungsi disimpan dalam variabel output untuk program
fungsi dengan tipe double nilai -3,47, hasil yang dikembalikan adalah tipe int nilai3.Untuk alasan ini, perpustakaan memiliki fungsi nilai absolut terpisah (fabs)untuk mengetik argumen ganda.
Jika kita mengetahui panjang dari dua sisi (b dan c) segitiga dan sudut antara mereka dalam derajat (?)menulis fungsi kita sendiri. Mari kita asumsikan bahwa kita sudah menulis
fungsi find_area
dan find_circum:
■ Fungsi find_area (r) mengembalikan luas lingkaran dengan jari-jari r.
■ Fungsi find_circum (r) mengembalikan keliling lingkaran dengan jari-jari r.
Kita dapat menggunakan kembali fungsi-fungsi ini dalam dua program sebelumnya pada bab ini daerah = find_area (radius);
sirkum = find_circum (radius);
dapat digunakan untuk menemukan nilai-nilai ini. Bagian ekspresi untuk setiap penugasan
pernyataan adalah panggilan fungsi dengan argumen radius (jari-jari lingkaran). hasilnya
dikembalikan oleh setiap pelaksanaan fungsi disimpan dalam variabel output untuk program
(Daerah atau circum).
Untuk program mesin cuci datar (Gambar 3.5), kita dapat menggunakan pernyataan
rim_area = find_area (edge_radius) - find_area (hole_radius);
untuk menghitung daerah rim untuk mesin cuci. Pernyataan ini jelas dari satu yang ditunjukkan
dalam program asli (baris 39-40).
Meskipun prototipe menentukan jumlah argumen fungsi memakan waktu dan
jenis hasilnya, itu tidak menentukan fungsi operasi. Untuk melakukan ini, Anda perlu
memberikan definisi untuk setiap fungsi subprogram mirip dengan definisi
fungsi utama. Kami telah mengadopsi gaya yang menempatkan fungsi
ketik pada baris terpisah. (Industrial C pengembang sering menggunakan gaya ini untuk membuatfungsi
definisi mudah ditemukan di file sumber panjang) fungsi tubuh terdiri dari tiga panggilan untuk berfungsi printf yang menyebabkan komputer untuk menampilkan sebuah melingkar bentuk. Kami menghilangkan kembalinya Pernyataan karena draw_circle tidak kembali hasilnya. Program Gaya Penggunaan Komentar dalam Program dengan Fungsi menjelaskan tujuannya. Jika subprogram fungsi yang lebih kompleks, kita akan
termasuk komentar pada setiap langkah algoritma utama seperti yang kita lakukan dalam fungsi utama. Mulai sekarang seluruh teks ini, komentar blok dan menuju masing-masing fungsi
Definisi dalam warna untuk membantu Anda menemukan fungsi dalam daftar program.
Urutan Pelaksanaan Fungsi dan subprogram Main Fungsi Karena prototipe untuk subprogram fungsi muncul sebelum fungsi utama, compiler memproses prototipe fungsi sebelum menerjemahkan utama fungsi. Informasi dalam setiap prototipe memungkinkan compiler untuk benar menterjemahkan panggilan ke fungsi tersebut. Compiler menerjemahkan pernyataan panggilan fungsi sebagai Keuntungan Menggunakan subprogram Fungsi Ada banyak keuntungan untuk menggunakan subprogram fungsi. mereka ketersediaan mengubah cara di mana seorang programmer individu mengatur solusi untuk pemrograman masalah. Untuk tim programmer bekerja sama besar Program, subprogram memudahkan untuk membagi tugas pemrograman: programmer Setiap akan bertanggung jawab untuk satu set tertentu fungsi. Akhirnya, mereka menyederhanakan pemrograman tugas karena fungsi yang ada dapat digunakan kembali sebagai blok bangunan untuk baru program.Subprogram Abstraction Prosedural Fungsi memungkinkan kita untuk menghapus dari fungsi utama kode yang memberikan solusi rinci untuk subproblem a. Karena rincian ini disediakan dalam subprogram fungsi dan bukan dalam fungsi utama.
Untuk program mesin cuci datar (Gambar 3.5), kita dapat menggunakan pernyataan
rim_area = find_area (edge_radius) - find_area (hole_radius);
untuk menghitung daerah rim untuk mesin cuci. Pernyataan ini jelas dari satu yang ditunjukkan
dalam program asli (baris 39-40).
desain top-down dan
grafik stucture Seringkali algoritma
yang diperlukan untuk memecahkan masalah
yang lebih kompleks daripada yang
kita miliki
melihat begitu jauh dan programmer
harus memecah masalah mejadi
submasalah yang mengembangkan solusi
program. Dalam mencoba
untuk memecahkan subproblem
pada satu tingkat, kita memperkenalkan subproblem
baru di tingkat bawah. Proses ini, disebut desain
top-down, hasil
dari masalah asli di tingkat atas ke subproblem pada
setiap
menurunkan tingkat. Pemisahan masalah menjadi submasalah yang terkait adalah sama dengan
proses pemurnian algoritma. Studi kasus di bawah ini memperkenalkan dokumentasi
Alat struktur bagan bahwa akan membantu Anda untuk melacak hubunganantara
menurunkan tingkat. Pemisahan masalah menjadi submasalah yang terkait adalah sama dengan
proses pemurnian algoritma. Studi kasus di bawah ini memperkenalkan dokumentasi
Alat struktur bagan bahwa akan membantu Anda untuk melacak hubunganantara
MASALAH
Anda ingin menarik beberapa diagram sederhana pada printer atau layar. dua contoh
adalah rumah dan tongkat perempuan
Anda ingin menarik beberapa diagram sederhana pada printer atau layar. dua contoh
adalah rumah dan tongkat perempuan
ANALISIS
Rumah ini dibentuk dengan menampilkan segitiga tanpa basis di atas persegi panjang.
Sosok tongkat terdiri dari bentuk lingkaran, segitiga, dan segitiga tanpa dasar. Kita dapat menarik dua angka dengan empat komponen dasar:
■ lingkaran ■ garis dasar ■ berpotongan garis
Rumah ini dibentuk dengan menampilkan segitiga tanpa basis di atas persegi panjang.
Sosok tongkat terdiri dari bentuk lingkaran, segitiga, dan segitiga tanpa dasar. Kita dapat menarik dua angka dengan empat komponen dasar:
■ lingkaran ■ garis dasar ■ berpotongan garis
Function without
argument
Salah satu cara yang programmer
menerapkan desain top-down dalam program mereka adalah
dengan mendefinisikan fungsi
mereka sendiri. Seringkali, seorang programmer akan menulis satu subprogram fungsi untuk
setiap subproblem dalam bagan struktur. Pada bagian
ini, kita menunjukkan bagaimana menggunakan dan
mendefinisikan fungsi Anda sendiri, berfokus pada fungsi sederhana yang tidak
memiliki argumen dan mengembalikan nilai. Sebagai contoh
desain top-down dengan fungsi, Anda bisa menggunakan
utama
langkah algoritma dikodekan sebagai panggilan ke tiga
subprogram fungsi. Sebagai contoh, pernyataan :
draw_circle ();
memanggil fungsi (draw_circle) yang mengimplementasikan algoritma langkah Menggambar lingkaran. Kami memanggil fungsi draw_circle seperti kita memanggil fungsi printf. kosong
kurung setelah nama fungsi menunjukkan bahwa draw_circle tidak memerlukan
Fungsi Definisidraw_circle ();
memanggil fungsi (draw_circle) yang mengimplementasikan algoritma langkah Menggambar lingkaran. Kami memanggil fungsi draw_circle seperti kita memanggil fungsi printf. kosong
kurung setelah nama fungsi menunjukkan bahwa draw_circle tidak memerlukan
Meskipun prototipe menentukan jumlah argumen fungsi memakan waktu dan
jenis hasilnya, itu tidak menentukan fungsi operasi. Untuk melakukan ini, Anda perlu
memberikan definisi untuk setiap fungsi subprogram mirip dengan definisi
fungsi utama. Kami telah mengadopsi gaya yang menempatkan fungsi
ketik pada baris terpisah. (Industrial C pengembang sering menggunakan gaya ini untuk membuatfungsi
definisi mudah ditemukan di file sumber panjang) fungsi tubuh terdiri dari tiga panggilan untuk berfungsi printf yang menyebabkan komputer untuk menampilkan sebuah melingkar bentuk. Kami menghilangkan kembalinya Pernyataan karena draw_circle tidak kembali hasilnya. Program Gaya Penggunaan Komentar dalam Program dengan Fungsi menjelaskan tujuannya. Jika subprogram fungsi yang lebih kompleks, kita akan
termasuk komentar pada setiap langkah algoritma utama seperti yang kita lakukan dalam fungsi utama. Mulai sekarang seluruh teks ini, komentar blok dan menuju masing-masing fungsi
Definisi dalam warna untuk membantu Anda menemukan fungsi dalam daftar program.
Urutan Pelaksanaan Fungsi dan subprogram Main Fungsi Karena prototipe untuk subprogram fungsi muncul sebelum fungsi utama, compiler memproses prototipe fungsi sebelum menerjemahkan utama fungsi. Informasi dalam setiap prototipe memungkinkan compiler untuk benar menterjemahkan panggilan ke fungsi tersebut. Compiler menerjemahkan pernyataan panggilan fungsi sebagai Keuntungan Menggunakan subprogram Fungsi Ada banyak keuntungan untuk menggunakan subprogram fungsi. mereka ketersediaan mengubah cara di mana seorang programmer individu mengatur solusi untuk pemrograman masalah. Untuk tim programmer bekerja sama besar Program, subprogram memudahkan untuk membagi tugas pemrograman: programmer Setiap akan bertanggung jawab untuk satu set tertentu fungsi. Akhirnya, mereka menyederhanakan pemrograman tugas karena fungsi yang ada dapat digunakan kembali sebagai blok bangunan untuk baru program.Subprogram Abstraction Prosedural Fungsi memungkinkan kita untuk menghapus dari fungsi utama kode yang memberikan solusi rinci untuk subproblem a. Karena rincian ini disediakan dalam subprogram fungsi dan bukan dalam fungsi utama.
Function with Input Argument
Pemrogram menggunakan
fungsi seperti blok bangunan
untuk membangun program besar. blok Anda
mungkin telah digunakan sebagai
anak muda untuk menunjukkan
potensi Anda sebagai
tunas arsitek. Blok pertama Anda yang besar dan tidak menghubungkan bersama-sama, sehingga bangunan lebih dari ukuran tertentu akan roboh. Lego, sebaliknya, memiliki satu permukaan dengan sedikit tonjolan dan satu permukaan dengan cangkir kecil. Dengan menempatkan tonjolan ke dalam cangkir, Anda bisa membangun struktur yang agak rumit.
Apa yang harus dilakukan dengan pemrograman? Sederhana fungsi seperti draw_circle
dan menginstruksikan seperti balok kayu. Mereka dapat menampilkan informasi pada layar,
tetapi mereka tidak terlalu berguna. Untuk dapat membangun program yang lebih menarik,
kita harus menyediakan fungsi dengan "tonjolan" dan "cangkir" sehingga mereka dapat dengan mudah saling berhubungan.
tunas arsitek. Blok pertama Anda yang besar dan tidak menghubungkan bersama-sama, sehingga bangunan lebih dari ukuran tertentu akan roboh. Lego, sebaliknya, memiliki satu permukaan dengan sedikit tonjolan dan satu permukaan dengan cangkir kecil. Dengan menempatkan tonjolan ke dalam cangkir, Anda bisa membangun struktur yang agak rumit.
Apa yang harus dilakukan dengan pemrograman? Sederhana fungsi seperti draw_circle
dan menginstruksikan seperti balok kayu. Mereka dapat menampilkan informasi pada layar,
tetapi mereka tidak terlalu berguna. Untuk dapat membangun program yang lebih menarik,
kita harus menyediakan fungsi dengan "tonjolan" dan "cangkir" sehingga mereka dapat dengan mudah saling berhubungan.
Fungsi dengan Argumen input dan Hasil Tunggal
Selanjutnya kita menunjukkan bagaimana untuk menulis fungsi dengan argumen input yang mengembalikan hasil tunggal Kita dapat memanggil atau referensi fungsi-fungsi dalam ekspresi
seperti fungsi perpustakaan Fungsi f sendiri yang memiliki input tipe 2 ganda, kita dapat referensi itu dalam sebuah ekspresi seperti w + f (2,5, 4,0). Ungkapan ini berarti melaksanakan fungsi f dengan pertama Argumen dari 2,5 dan argumen kedua dari 4,0. Tambahkan hasil fungsi w.
Mari kita mempertimbangkan kembali masalah menemukan daerah dan keliling lingkaran
menggunakan fungsi dengan hanya satu argumen dan find_area, yang masing-masing memiliki argumen input tunggal (radius lingkaran) dan mengembalikan hasil tunggal (keliling lingkaran atau daerah).
Selanjutnya kita menunjukkan bagaimana untuk menulis fungsi dengan argumen input yang mengembalikan hasil tunggal Kita dapat memanggil atau referensi fungsi-fungsi dalam ekspresi
seperti fungsi perpustakaan Fungsi f sendiri yang memiliki input tipe 2 ganda, kita dapat referensi itu dalam sebuah ekspresi seperti w + f (2,5, 4,0). Ungkapan ini berarti melaksanakan fungsi f dengan pertama Argumen dari 2,5 dan argumen kedua dari 4,0. Tambahkan hasil fungsi w.
Mari kita mempertimbangkan kembali masalah menemukan daerah dan keliling lingkaran
menggunakan fungsi dengan hanya satu argumen dan find_area, yang masing-masing memiliki argumen input tunggal (radius lingkaran) dan mengembalikan hasil tunggal (keliling lingkaran atau daerah).
Program Gaya Fungsi Antarmuka
Komentar
Blok komentar dan menuju yang dimulai setiap fungsi Informasi yang
diperlukan untuk menggunakan fungsi.
Blok fungsi antarmuka komentar dimulai
dengan pernyataan tentang apa fungsi melakukan. Kemudian baris * Pre: n didefinisikan.
menggambarkan kondisi yang harus benar sebelum fungsi ini dipanggil, kondisi ini
dikenal sebagai prekondisi. Anda juga akan ingin menyertakan pernyataan menggambarkan kondisi yang harus benar setelah fungsi selesai eksekusi,jika beberapa rincian postcondition ini tidak termasuk dalam laporan awal
fungsi ini tujuan.Kami menyarankan Anda memulai semua definisi fungsi dengan cara ini. fungsi
antarmuka komentar dikombinasikan dengan judul (atau prototipe) menyediakan berharga
dokumentasi untuk programmer lain yang mungkin ingin menggunakan kembali fungsi Anda dalam program baru tanpa membaca kode fungsi.
baris karakter ke perangkat output standar, atau konsol. menunjukkan bagaimana menulis fungsi C untuk menggambar tokoh tongkat sederhana menggunakan mode teks.
Dalam bagian opsional beberapa dimulai dengan yang satu ini, kita membahas tampilan lain
Modus (disebut modus grafis) yang memungkinkan program C untuk membuat gambar atau grafis pola dalam jendela output. Untuk menulis program grafis, Anda harus belajar bagaimana untuk menggunakan fungsi khusus grafis yang memungkinkan Anda untuk menarik garis dan berbagai geometris bentuk (misalnya, persegi panjang, lingkaran, elips) di manapun pada layar Anda dan warna dan menaungi mereka dengan cara yang berbeda. Beberapa bahasa pemrograman termasuk perpustakaan grafis. Meskipun ada ada perpustakaan grafis standar untuk C, beberapa perpustakaan telah dikembangkan untuk digunakan dengan C. Kami akan mempelajari sebuah perpustakaan grafis sederhana yang disebut WinBGIm yang didasarkan pada Borland Turbo Pascal Graphics, dengan penambahan kontrol mouse. perpustakaan ini
dikembangkan oleh Profesor Michael Utama dari Departemen Ilmu Komputer, University of Colorado, Boulder. Prinsip-prinsip kita mempelajari akan berlaku untuk grafis lain
Anda dapat menggunakan perpustakaan di masa depan. Komposisi Window
Dalam mode teks, Anda tidak membayar banyak perhatian untuk posisi setiap baris karakter
ditampilkan pada layar. Dalam pemrograman grafis, Anda mengontrol lokasi masing-masing
garis atau bentuk yang Anda menggambar pada sebuah window. Karena itu, Anda harus tahu Anda jendela ukuran dan bagaimana untuk referensi elemen gambar individu (disebut pixel)
dijendela.
Anda dapat memvisualisasikan sebuah jendela sebagai suatu x - y grid piksel. Asumsikan bahwa Anda window memiliki dimensi 400 * 300. Background Warna dan Warna foreground
Dalam modus grafis, komputer akan menampilkan semua piksel terus menerus dalam satu dari 16 warna. Warna default yang digunakan untuk menampilkan pixel yang disebut warna latar belakang. Akibatnya, jendela tampilan awal Anda tampak kosong karena semua piksel yang
ditampilkan dalam warna latar belakang. Ketika Anda menarik garis atau bentuk, pixel itu
mengandung menonjol karena mereka berubah menjadi warna foreground.
menggambarkan kondisi yang harus benar sebelum fungsi ini dipanggil, kondisi ini
dikenal sebagai prekondisi. Anda juga akan ingin menyertakan pernyataan menggambarkan kondisi yang harus benar setelah fungsi selesai eksekusi,jika beberapa rincian postcondition ini tidak termasuk dalam laporan awal
fungsi ini tujuan.Kami menyarankan Anda memulai semua definisi fungsi dengan cara ini. fungsi
antarmuka komentar dikombinasikan dengan judul (atau prototipe) menyediakan berharga
dokumentasi untuk programmer lain yang mungkin ingin menggunakan kembali fungsi Anda dalam program baru tanpa membaca kode fungsi.
Pengantar
Komputer Grafik
Dalam layar komputer mode normal (disebut mode teks), kita
menggunakan printf untuk menampilkanbaris karakter ke perangkat output standar, atau konsol. menunjukkan bagaimana menulis fungsi C untuk menggambar tokoh tongkat sederhana menggunakan mode teks.
Dalam bagian opsional beberapa dimulai dengan yang satu ini, kita membahas tampilan lain
Modus (disebut modus grafis) yang memungkinkan program C untuk membuat gambar atau grafis pola dalam jendela output. Untuk menulis program grafis, Anda harus belajar bagaimana untuk menggunakan fungsi khusus grafis yang memungkinkan Anda untuk menarik garis dan berbagai geometris bentuk (misalnya, persegi panjang, lingkaran, elips) di manapun pada layar Anda dan warna dan menaungi mereka dengan cara yang berbeda. Beberapa bahasa pemrograman termasuk perpustakaan grafis. Meskipun ada ada perpustakaan grafis standar untuk C, beberapa perpustakaan telah dikembangkan untuk digunakan dengan C. Kami akan mempelajari sebuah perpustakaan grafis sederhana yang disebut WinBGIm yang didasarkan pada Borland Turbo Pascal Graphics, dengan penambahan kontrol mouse. perpustakaan ini
dikembangkan oleh Profesor Michael Utama dari Departemen Ilmu Komputer, University of Colorado, Boulder. Prinsip-prinsip kita mempelajari akan berlaku untuk grafis lain
Anda dapat menggunakan perpustakaan di masa depan. Komposisi Window
Dalam mode teks, Anda tidak membayar banyak perhatian untuk posisi setiap baris karakter
ditampilkan pada layar. Dalam pemrograman grafis, Anda mengontrol lokasi masing-masing
garis atau bentuk yang Anda menggambar pada sebuah window. Karena itu, Anda harus tahu Anda jendela ukuran dan bagaimana untuk referensi elemen gambar individu (disebut pixel)
dijendela.
Anda dapat memvisualisasikan sebuah jendela sebagai suatu x - y grid piksel. Asumsikan bahwa Anda window memiliki dimensi 400 * 300. Background Warna dan Warna foreground
Dalam modus grafis, komputer akan menampilkan semua piksel terus menerus dalam satu dari 16 warna. Warna default yang digunakan untuk menampilkan pixel yang disebut warna latar belakang. Akibatnya, jendela tampilan awal Anda tampak kosong karena semua piksel yang
ditampilkan dalam warna latar belakang. Ketika Anda menarik garis atau bentuk, pixel itu
mengandung menonjol karena mereka berubah menjadi warna foreground.
Hitam dan putih adalah nilai-nilai
default untuk latar belakang dan latar depan
warna, masing-masing. Laporan
setbkcolor (GREEN); / * GREEN adalah warna latar belakang. * /
setcolor (RED); / * RED adalah warna foreground. * /
reset warna latar belakang GREEN dan warna latar depan RED mana GREEN
dan RED adalah warna konstanta didefinisikan dalam graphics.h. Anda memilih warna dari konstanta
warna, masing-masing. Laporan
setbkcolor (GREEN); / * GREEN adalah warna latar belakang. * /
setcolor (RED); / * RED adalah warna foreground. * /
reset warna latar belakang GREEN dan warna latar depan RED mana GREEN
dan RED adalah warna konstanta didefinisikan dalam graphics.h. Anda memilih warna dari konstanta
7:24 AM |
Category: |
0
comments
Comments (0)