Kamis, 21 Maret 2013


3,3 Top-Down Desain dan Struktur Charts
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-a
tion alat-struktur bagan-yang akan membantu Anda untuk melacak hubungan
antara submasalah.


DESAIN
Untuk membuat tongkat, Anda dapat membagi masalah menjadi tiga subproblem.
  AWAL ALGORITMA
1. Menggambar lingkaran.
2. Gambarlah segitiga.
3. Menggambar garis berpotongan.
  ALGORITMA perbaikan
Karena segitiga bukanlah komponen dasar, Anda harus memperbaiki langkah 2, menghasilkan
berikut subproblems:
  Langkah 2 Penyempitan
2.1 Menggambar garis berpotongan.
2,2 Gambarlah basis.
Anda dapat menggunakan bagan struktur untuk menunjukkan hubungan antara asli
masalah dan submasalah nya, seperti pada Gambar. 3.10, di mana masalah asli (level 0)
adalah dalam warna gelap dan tiga subproblem bawahan akan ditampilkan pada tingkat 1.
The subproblem Gambarlah segitiga juga dalam warna karena memiliki subproblems sendiri
(ditampilkan di level 2).
Para submasalah muncul dalam kedua algoritma dan bagan struktur. itu
algoritma, bukan bagan struktur, menunjukkan urutan di mana Anda melakukan setiap langkah
untuk memecahkan masalah. The bagan struktur hanya menggambarkan subordinasi
subproblem sama lain dan masalah asli.



3.2 Fungsi Perpustakaan
  Predefined Fungsi dan Penggunaan Kembali Kode
  Tujuan utama rekayasa perangkat lunak adalah untuk menulis kode bebas dari kesalahan.


C mempromosikan penggunaan kembali dengan menyediakan fungsi standar banyak yang dapat digunakan untukmelakukan perhitungan matematis. Perpustakaan matematika standar C mendefinisikan fungsi
bernama sqrt yang melakukan perhitungan akar kuadrat. Fungsi panggil dalam
pernyataan tugas
                                                  
mengaktifkan kode untuk fungsi sqrt, melewati argumen x ke fungsi. anda
mengaktifkan fungsi dengan menulis panggilan fungsi. Setelah fungsi mengeksekusi, yang fungsi-
Hasil tion digantikan dengan fungsi panggil. Jika x adalah 16,0, pernyataan penugasan
atas dievaluasi sebagai berikut:
1. x adalah 16,0, sehingga fungsi sqrt menghitung 1 16,0 atau 4,0.
2. Hasil fungsi, 4.0, ditugaskan untuk y.
Sebuah fungsi dapat dianggap sebagai "kotak hitam" yang telah lulus satu atau lebih masukan
nilai-nilai dan secara otomatis mengembalikan nilai output tunggal. Gambar 3.6 mengilustrasikan ini untuk
panggilan berfungsi sqrt. Nilai x (16.0) adalah masukan fungsi, dan fungsi-
tion hasil, atau output, adalah 1 16.0 (hasil adalah 4,0).
Jika w adalah 9,0, pernyataan penugasan
  z = 5,7 + sqrt (w);




Penggunaan Warna untuk Sorot Constructs Baru
Dalam Gambar. 3,7 baris program, yang menggambarkan konstruksi baru dalam warna, sehingga Anda
dapat menemukan mereka dengan mudah. Kami akan terus menggunakan warna untuk tujuan ini dalam angka yang
berisi program.



C Library Fungsi
Tabel 3.1 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. Sebuah daftar lengkap dari fungsi perpustakaan standar muncul
dalam Lampiran B.
Jika salah satu fungsi pada Tabel 3.1 disebut dengan 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 prob-
terhindarkan, tetapi konversi tipe double untuk mengetik int mengarah kepada hilangnya setiap fraksi
Bagian internasional, seperti dalam tugas-jenis campuran. Sebagai contoh, jika kita sebut abs
fungsi dengan nilai tipe double -3,47, hasil yang dikembalikan adalah tipe int
nilai 3. Untuk alasan ini, perpustakaan memiliki fungsi nilai absolut terpisah (Beatles)
untuk mengetik argumen ganda.
Sebagian besar fungsi pada Tabel 3.1 melakukan computa-matematika umum
tions. Argumen untuk log dan log10 harus positif, argumen untuk sqrt
tidak dapat menjadi negatif. Argumen untuk dosa, cos, tan dan harus dinyatakan dalam
radian, bukan dalam derajat.


Sebuah Lihatlah Dimana Kami Are Heading
C juga memungkinkan kita untuk menulis fungsi kita sendiri. Mari kita asumsikan bahwa kita telah tertulis-
sepuluh 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 (lihat
Gbr. 3,3 dan 3,5). Program pada Gambar. 3,3 menghitung daerah dan circumfer-
ence lingkaran. Laporan
  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).

                 





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.






Selasa, 04 Desember 2012

#include <iostream>
#include<conio.h>
#include<stdio.h>


/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[])
{
using namespace std;
int i,nilai[5];
string nama[5]={"khabib1","khabib2","khabib3","khabib4","khabib5"};
int sum=0;
cout<<"\tDAFTAR NILAI\n";
cout<<"-----------------------\n";
cout<<" No\tNama\tNilai\n";
cout<<"-----------------------\n";
for(i=0;i<5;i++)
{cout<<i+1<<"\t"<<nama[i]<<"\t";cin>>nilai[i];
sum+=nilai[i];}
cout<<"-----------------------\n";
cout<<"total nilai\t"<<sum<<endl;
cout<<"rata-rata nilai\t"<<sum/i;

getch ;
}
#include <iostream>
#include<conio.h>
#include<stdio.h>


/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[])
{
using namespace std;
int i,nilai[5];
string nama[5]={"didit1","didit2","didit3","didit4","didit5"};
int sum=0;
cout<<"\tDAFTAR NILAI\n";
cout<<"-----------------------\n";
cout<<" No\tNama\tNilai\n";
cout<<"-----------------------\n";
for(i=0;i<5;i++)
{cout<<i+1<<"\t"<<nama[i]<<"\t";cin>>nilai[i];
sum+=nilai[i];}
cout<<"-----------------------\n";
cout<<"total nilai\t"<<sum<<endl;
cout<<"rata-rata nilai\t"<<sum/i;

getch ;
}

Selasa, 25 September 2012

#include <cstdlib>
#include <iostream>

using namespace std;

int main(char *[])
{cout<<";nama nim kelas;";
cout<<;"nama:"khabib jaelani";
cout<<;"nim:12018053";
cout<<;"kelas A";
system("pause");
return 0;
}
#include <cstdlib>
#include <iostream>

using namespace std;

int main(char *[])
{cout<<";nama nim kelas;";
cout<<;"nama:"khabib jaelani";
cout<<;"nim:12018053";
cout<<;"kelas A";
system("pause");
return 0;
}
animasi blog
Animasi Blog