Rabu, 20 Maret 2013

ALGORITMA PEMROGRAMAN



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 Konversi
    1. / *
    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. {
    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
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.
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
.

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 * /


 
Oval:       D1
D2
                                                            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

GAMBAR 3.3 (lanjutan)
    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. }
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.
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
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.
2. Menulis versi awal dari program dari solusi Anda untuk Latihan 1. Tampilkan bagian deklarasi program dan komentar Program
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
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
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