Sabtu, 22 Maret 2014

TUGAS EBOOK MINGGU KE 3 ALPRO

1. finding the square root of a number

soal :
mencari akar persamaan kuadrat ,,,

analisis :
persamaan kuadrat adalah persamaan dengan bentuk umum ax^2 + bx + c dengan a tidak sama dengan 0. jika b^2 - 4ac < 0 maka akan diperoleh akar imajiner.
input : koefien a, b, c bilangan real.
proses : ada tiga alternatif pilihan dari harga b^2 - 4ac yaitu harganya 0 positif atau negatif
output : nilai akar berdasarkan rumus.
algoritma :
{menghitung akar persamaan kuadrat ax^2 + bx + c = 0}

deklarasi :
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(diks)/2*a
x2<= b - sqrt(diks)/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 <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

int main(int argc, char *argv[])
{
    int a,b,c;
    long disk;
    float x1,x2;
          cout<<" koefisien pangkat dua : ";cin>>a;
          cout<<" koefisien pangkat satu : ";cin>>b;
          cout<<" koefisien pangkat nol : ";cin>>c;
if(a==0){
         cout<<"tentukan persamaan kuadrat|n";
         cout<<"harga akarnya adalah : "<<-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
cout<<" akar imajiner"<<endl;
}

system("PAUSE");
return EXIT_SUCCESS;
}


2. the smallest divisor of an integer

masalah
Di berikan sebuah n integer kemudian memikirkan algoritma untuk menentukan pembagi terkecil selain angka 1.

input dan output
X=integer (input)
R=integer
D= integer
Kpk = integer (output)

algoritma
Menetukan pembagi terkecil dari sebuah bilangan
Deklarasi
X=integer
R= integer
D=integer
Deskripsi
Read x
R ß sqrt (x);
D ß 3
If (n ! = n) then kpk =2
Else
While (n mod d ≤ 0) and (d < r) do
D ß d + 2
If (n mod :: 0) then kpk. D
Else then kpk=1
End while

test data
X= 25
R= 5
If(x! =x)
Kpk =2
While x mod <> 0 end (d < r)
Kpk = d+2

  • C++ :
#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

      Friend istream& operator >> (istream&, terkecil&);
      Friend ostream& operator >> (ostream&, terkecil&);
public;
       void kpk ();
private ;
        int x,n,d,k;
};
  Istream& operator >> (istream& in, terkecil& a)}
           Cout <<"masukan bilangan"; in >> a,x;}
  Ostream& operator << (ostream out. Terkecil& b)}
           Out << "hasilnya " << b.k <<endl; }
Terkecil::terkecil (){
                   Cout <<"mencari kpk " ; }
void terkecil :: kpk (){
     If (n! =n) k= 3;
Else while (n % d<) 0 && d < r ){
     D=d+2
If (n % d :: 0 ) k=d;
Else k = 1;}
Int main (){
    terkecil m;
    Cin >>m ;
    m.FPB ();
    cout <<m ;

system("PAUSE");
return EXIT_SUCCESS;
}


3. the greatest common divisor of two integer

soal
masalah
Di berikan 2 integer positif tidak atau bukan nol n & m, pola algoritma untuk mencari pembagi yang paling besar.

input dan output
M= integer (input)
N =integer
Gcd= integer (output)
R= integer
D= integer

algoritma
Read m,n
While (m <0) do
R ß n mod m
N ß m
End while
Gcd ß m
Write = (gcd)

test data
M= 36 n= 28
N= 28 m=8
R=36 % 28 gcd = 8
R= 8
  • C++ :
Class gcd {
Friend ostream& operator << (ostream. Gcd&);
Friend istream& operator >> (istream. Gcd&);
Public;
Int hitung gcd (int ,int);
Private ;
Int x,y;
};
Int gcd :: hitung gcd (int ,(int d)
{ int r;
While ( d> 0);
R = c % d;
D= d;
D= r;
}
Return ( r );
}
(istream& operation >> (istream& in, gcd& a){
Cout << “ inputkan bilangan petama ;” ;
In >> a.x;
Cout << “ inputkan bilangan kedua ; “ ;
In >> a.x;
Return in; }

Ostream& operation << istream& out , gcd& a){
Out << “gcd ‘ << a.c << “.” << a. x << );”;
Out << a.hitung gcd (a.x, a.y);
Return out;
}
Void main (){
Gcd run;
Cin >> run ;
Cout << run ;
Getch ();
}



4. generating prime numbers

soal
Setiap integer bisa di ekspresikan ke dalam hasil bilangna atau angka. Prima pola algoritma untuk memperhitungkan semua factor prima dan sebuah integer.

input dan output
A= integer
R= integer
I= integer
X=integer
X=integer

algoritma
A ß x div y
R ß x mod x
I ß 0
While ( r =0) or (a > y) do
If ( I :: 0) then
I= i+1
X [i] ß y
Y ß a
If r > I then
[i] = r
End while

test data
X=16
Y= 2
Q =16/2 =8
R=16%2=6
While (r-o) ll (Q > y) do
If (r ==0) I = [+1]
X [i] =2
X=8
  • C++ :
Class prima {
Friend ostream& operator << (ostream& prima&);
Friend istream& operator >>(istream& prima7);
Public;
Void prima ();
Prima ();
Private;
Int + [50],I,n;
Int Q,R,S;
};
Void prima :: prima (){
Q= n/5;
R=n%5;
I=0;
While ((r=0) ll(Q >5)0{
If (r==0){
If(r==0){
R= i+1;
F(i)=5;
N= Q; }
Else{
Q = n/5;
R= n % 5 ;}
}
If ( n> 1){
I= I + 1
F [i]=n }
}}


5. Computing The Prime Factors Of An Integer

Algoritma

1. Analisis :
Program Mencari Faktorial Bilangan Prima

2. Identifikasi :
Input : batas bilangan
Output : hasil faktorial bilangan prima

3. Algoritmanya
Deklarasi :
a (Integer)
Deskripsinya :
while (!(a<=2))
if (a%2==0)
else

  • Flowchart :
  • C++ :


6. Generating Of Pseudo Random Numbers

Algoritma
1. Analisis :
Program Mencari Bilangan Acak

2. Identifikasi :
Input : angka acak
Output : bilangan acak
3. Algoritmanya
Deklarasi :
a,b,c,d,e,f (Integer)
Deskripsinya :
b = 2175;
c = 721;
d = a+1;
e = 1234;
f = ((c*e)+b)%d;

  • Flowchart :
  • C++ :

7. Raising A Number To A Large Power

Algoritma
1. Analisis :
Program Menghitung Bilangan Berpangkat Sampai N

2. Identifikasi :
Input : bilangan dan batas angka
Output : hasil perpangkatan

3. Algoritmanya
Deklarasi :
a,b,c,hasil (Integer)
Deskripsinya :
while (1)
if ( b>=0 )
c = 1;
while ( !(c>b))
c = c+1;

  • Flowchart :
  • C++ :

8. Computing The Nth Fibonacci Number
Algoritma
1. Analisis :
Program Menghitung jumlah fibonacci n

2. Identifikasi :
Input : banyak baris fibonacic
Output : jumlah deret

3. Algoritmanya
Deklarasi :
int i,c;
int a = 0;
int b = 1;
int masuk;
int jumlah = 1;

  • Flowchart :
  • C++ :