3,1 Building Program dari Informasi yang Ada
Programmer jarang memulai dengan kertas kosong (atau layar
kosong) ketika mereka
mengembangkan program. Sering beberapa-atau semua-dari
solusi dapat dikembangkan dari
informasi yang sudah ada atau dari solusi untuk masalah
lain, seperti yang kita dem-
onstrate di bagian ini.
Gambar 3.1
Menemukan Luas dan Lingkar
Lingkaran
MASALAH
Dapatkan jari-jari lingkaran. Hitung dan menampilkan daerah lingkaran dan keliling.
ANALISIS
Jelas, input masalah adalah jari-jari lingkaran. Dua output diminta: yang
lingkaran daerah dan lingkar. Variabel ini harus tipe double karena
input dan output dapat berisi komponen pecahan. The geometris hubungan
radius lingkaran ke daerah dan lingkar tercantum di bawah ini, bersama dengan data
persyaratan.
DATA PERSYARATAN
Konstan masalah
PI 3,14159
masalah Masukan
radius / * radius lingkaran * /
masalah Output
daerah / * luas lingkaran * /
sirkum / * keliling lingkaran * /
Rumus yang relevan
luas lingkaran =? * radius
2
keliling lingkaran = 2? * radius
DESAIN
Setelah mengidentifikasi masukan masalah dan output, daftar langkah-langkah yang diperlukan untuk memecahkan
masalah. Perhatikan dekat dengan urutan langkah-langkah.
AWAL ALGORITMA
1. Dapatkan jari-jari lingkaran.
2. Hitung daerah.
3. Hitung keliling.
4. Tampilan daerah dan keliling.
ALGORITMA perbaikan
Selanjutnya memperbaiki langkah-langkah yang tidak memiliki solusi yang jelas (langkah 2 dan 3).
Langkah 2 Penyempitan
2.1 Menetapkan PI * radius * radius ke daerah.
Langkah 3 Penyempitan
3.1 Menetapkan 2 * PI * radius ke circum.
IMPLEMENTASI
Gambar 3.2 menunjukkan program C sejauh ini. Fungsi utama daftar algoritma awal dan yang perbaikan sebagai komentar. Untuk menulis program akhir, mengkonversi perbaikan
(langkah 2.1 dan 3.1) ke C dan menulis kode C untuk langkah dimurnikan (langkah 1 dan 4).
Gambar 3.3 menunjukkan program akhir.
Gambar 3.2
Gambar 3.3
Menghitung Berat dari Batch of datar Washers
Cara lain di mana programmer menggunakan informasi yang ada adalah dengan memperluas
solusi untuk satu masalah untuk memecahkan lain. Misalnya, Anda dapat dengan mudah memecahkan masalah ini
Masalah dengan membangun solusi untuk yang sebelumnya.
MASALAH
Anda bekerja untuk sebuah perusahaan hardware yang memproduksi mesin cuci datar. T
biaya ping, perusahaan Anda membutuhkan sebuah program yang menghitung Weig tersebut
jumlah mesin cuci datar.
ANALISIS
Sebuah mesin cuci datar menyerupai donat kecil. Untuk menghitung berat
mesin cuci, Anda perlu tahu daerah rim nya, ketebalannya, dan kepadatan
digunakan dalam konstruksi. Dua yang terakhir adalah jumlah masukan masalah
rim daerah (lihat Gambar. 3.4) harus dihitung dari dua th pengukuran
sebagai masukan: diameter luar mesin cuci dan diameter dalamnya (diame
Dalam persyaratan data berikut, kita daftarkan dalam mesin cuci itu
(setengah diameter) sebagai variabel program. Kami juga daftar daerah rim suatu
washer (unit_weight) sebagai variabel program.
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 * /
ganda kuantitas / * jumlah pencuci dibuat * /

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
2
radius lingkaran = diameter / 2
rim daerah = daerah lingkaran luar - daerah lubang
satuan berat = rim daerah * ketebalan * kerapatan
DESAIN
Kami daftar algoritma berikutnya, diikuti oleh penyempurnaan Langkah 3 dan 4.
AWAL ALGORITMA
1. Dapatkan diameter dalam mesin cuci itu, diameter luar, dan ketebalan.
2. Dapatkan kepadatan material dan kuantitas mesin cuci diproduksi.
3. Hitung daerah rim.
4. Hitung berat satu mesin cuci datar.
5. Hitung berat batch mesin cuci.
6. Menampilkan berat batch mesin cuci.
Langkah 3 Penyempitan
3.1 Hitung hole_radius dan edge_radius.
3.2 rim_area adalah PI * edge_radius * edge_radius - PI * hole_radius *
hole_radius
Langkah 4 Penyempitan
4.1 unit_weight adalah rim_area * ketebalan * kerapatan.
IMPLEMENTASI
Untuk menulis program ini, mengedit persyaratan data untuk menulis deklarasi variabel
dan menggunakan algoritma awal dengan perbaikan sebagai titik awal untuk eksekusi
pernyataan. Gambar 3.5 menunjukkan program C.