3.1 finding the square root of a number
Masalah
Algoritma Persamaan_Kuadrat
Menghitung akar-akar persamaan kuadrat Ax^2+Bx+C = 0
Menghitung akar-akar persamaan kuadrat Ax^2+Bx+C = 0
ANALISIS
Input : A, B, C
Proses :mencari persamaan akar-akar kuadrat
Output : akar-akar kuadrat
DEKLARASI
A, B, C : integer {koefisien-koefisien persamaan}
disk : longint {nilai diskriminan}
x1, x2 : real {nilai-nilai akar untuk disk>=0}
DESKRIPSI
read (A, B, C)
disk ← B*B – 4*A*C
if (A = 0) then write (‘Bukan Persamaan Kuadrat’)
else if disk > 0 then
x1 ← -B + sqrt (disk)/2*A
x2 ← -B – sqrt(disk)/2*A
else if disk = 0 then
x1 ← -B/2*A
x2 ← x1
else write (‘Akar imajiner’)
end if
write (x1,x2)
FLOWCHART
C++#include <iostream.h>#include <math.h>main() { int A, B, C; long disk; float x1, x2; cout << "Koefisien pangkat 2 : "; cin >> A; cout << "Koefisien pangkat 1 : "; cin >> B; cout << "Koefisien pangkat 0 : "; cin >> C; if (A == 0) { cout << "bukan pers. kuadrat.\n"; cout << "Harga akar = " << -C/B; } else { disk = B*B - 4*A*C; if (disk > 0) { x1 = -B+sqrt(disk)/(2*A); x2 = -B-sqrt(disk)/(2*A); cout << "diskriminan = " << disk << endl; cout << "x1 = " << x1 << endl; cout << "x2 = " << x2 << endl; } else if (disk == 0) { x1 = -B/(2*A); x2 = x1; cout << "diskriminan = 0\n"; cout << "x1 = " << x1 << endl; cout << "x2 = " << x2 << endl; } else cout << "Akar imajiner"; } return 0;}
3.2 the smallest divisor of an integer
Masalah
menyusun algoritma dan program untuk menemukan pembagi terkecil
ANALISIS input : bilangan yang akan di cari pembagi terkecil
proses : i=2
DEKLARASI
DESKRIPSI
3.3 the greatest common divisor of two integer "FPB"
Masalah
diberikan 2 bilangan bulat untuk mencari FPB
ANALISIS
Input : masukkan bilangan 1 dan bilangan 2
Proses : bilangan di mulai dari 1
ada proses looping jika i>Bil1 && j>Bil2 maka keluar hasil FPB
jika tidak maka lakukan looping dengan rumus (Bil1%i)=0 &&(Bil2%j)=0
kemudian keluar hasili lalu ada inisialisasi dimana hasil i dan j sama-sama di tambah 1
Output : hasil FPB dari bilangan 1 dan bilangan 2
DEKLARASI
int hasil, bilangan1, bilangan 2, i, j (inputan)
int hasil, i, j (output)
DESKRIPSI
i>Bil1 && j>Bil2
(Bil1%i)=0 &&(Bil2%j)=0
i =i+1;
j =j+1;
FLOWCHART
3.4 generating prime numbers
Masalah
merancang ebuah algoritma dan program untuk membangun atau menentukan bilangan prima
ANALISIS
Input : batas bilangan yang akan di cari bilangan primanya misalnya 5 maka program akan mengulang 5 kali untuk mencari bilangan primanya.
Proses : i = 2 maksudnya adalah i di inisialisasikan nilai awalnya adalah 2
kemudian ada proses looping jika nilai i>bilangan maka keluar bilangan primanya. jika tidak ada proses looping lagi rumus i%2=0 && i!=2, jika ya maka hasil i+1 jika tidak ada looping lagi rumus i%3=0 jika ya hasil i+1 jika tidak keluar hasil i
Output : hasil bilangan primanya
DEKLARASI
DESKRIPSI
FLOWCHART
3.5 computing the prime factors of an integer
Masalah
merancang algoritma untuk menghitung semua factor prima dari suatu bilangan bulat
ANALISIS
Input :
Proses :
Output : faktor dari bilangan prima yang di inputkan
DEKLARASI
DESKRIPSI
FLOWCHART
C++
3.6 random number
Masalah
design algoritma mencari nilai acak dari R (input bilangan)
Analisis :
Input : R dalam integer
Proses : while (1){
c=1283, a=106, m=r+1, x=1234
z=((a*x)+c)%m;
maka akan mencetak z
untuk mengulangi pengacakan
maka jawab y
jika tidak maka jawab n
Output : Cetak z
Deklarasi :
Integer R[Input],jawab[string]
Integer c,a,m,x[counter]
Integer z[Output]
Deksripsi :
Read[R,c,m,a,x dan z]
while(1){
c=1283,a=106,m=r+1,x=1234
z=((a*x)+c)%m; cetak z
Apakah anda ingin mencoba lagi?(y/n)
if(jawab=="n")break;}
Print[]
Flowchart
C++
{ int r, x, z, a, c, m;
string jawab;
cout<<"Silahkan masukkan angka acak"<<endl;
cin>>r;
while(1)
{
c=1283;
a=106;
m=r+1
x=1234;
z=((a*x)+c)%m;
cout<<"Bilangan acak anda adalah"<<z<<endl;
cout<<"Apakah anda ingin mencoba lagi?(y/n)"<<endl;
cin>>jawab;
if(jawab=="n")break;
}
3.7 raising a number
Masalah
design algoritma untuk menghitung (input bilangan) berpangkat menggunakan bts (batasan pangkat)
Analisis :
Input : bil dalam integer
Proses : looping(1){
masukan bts;
jika (bts<=0) break;
akan muncul peringatan}
i=1;
looping (!(i>bts)){
hasil=pow (bil,(i));
cetak bil^(i)=hasil}
i=i+1;
Output : cetak hasil
Deklarasi :
Integer bil,bts [Input]
Integer hasil [Output]
Deskripsi :
Read [bil,bts,hasil]
while(1){
masukan bts;
if(bts>=0)break;
akan muncul peringatan}
i=1;
while(!(i>bts)){
hasil=pow(bil,(i));
cetak bil^(i)=hasil}
i=i+1;
Print [hasil]
Flowchart
C++
{
double hasil;
int bts, bil, i;
cout<<"Silahkan masukan bilangan:"<<endl;
cin>>bil;
while (1)
{
cout<<"Silahkan masukan batas pangkat"<<endl;
cin>>bts;
if(bts>=0)break;
cout<<"Maaf, anda memasukan pangkat di luar range, silahkan mencoba lagi"<<endl;
}
i=1;
while(!(i>bts))
{
hasil=pow(bil,(i));
cout<<bil<<"("<<i<<") : "<<hasil<<endl;
i=i+1;
}
Artikel Terkait:




0 komentar :
Posting Komentar