Monday, 28 March 2011

tugas 3 alpro(kondisi)


1.Carilah Akar-Akar Persamaan Kuadrat

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

using namespace std;
class Akar{
      friend ostream& operator<<(ostream&, Akar&);
      friend istream& operator>>(istream&, Akar&);
public:
       Akar();
       int disk(){ return B*B-4*A*C;}
       float akar1(){ return(-B+sqrt(disk()))/(2*A);}
       float akar2(){ return(-B-sqrt(disk()))/(2*A);}
       void hitung_akar();
       void cetak_disk(){cout<<"diskriminan="<<disk()<<endl;}
       void cetak_akar(){
            cout<<"x1="<<akar1()<<endl;
            cout<<"x2="<<akar2()<<endl;
            }
       private:
               int A,B,C;
               float x1,x2;
               };
       ostream& operator<<(ostream& out,Akar& keluaran){
                keluaran.cetak_disk();
                if(keluaran.disk()>=0)keluaran.cetak_akar();
                else out<<"akar imajiner";
                return out;
                }
                istream& operator>>(istream& in,Akar&masukan){
                         cout<<"koefisien pangkat 2:";in>>masukan.A;
                         cout<<"koefisien pangkat 1:";in>>masukan.B;
                         cout<<"koefisien pangkat 0:";in>>masukan.C;
                         return in;
                         }
                         Akar::Akar(){
                                     cout<<"menghitung akar persamaan kuadrat\n";
                                     }
                         void Akar::hitung_akar(){
                                      if(A==0){
                                      cout<<"bukan pers.kuadrat.\n";
     cout<<"harga akar="<<-C/B;} else{
                  if(disk()>0){
                   x1=akar1();
                   x2=akar2();
       } else if(disk()==0){
                    x1=akar1();
                     x2=x1;
            }
          }
        }
                                                                                 
            
int main(int argc, char *argv[])
{
    Akar kasus;
    cin>>kasus;
    kasus.hitung_akar();
    cout<<kasus;

    system("PAUSE");
    return EXIT_SUCCESS;
}











Flow chart
Mulai
Rounded Rectangle: selesai
Disk=-4 A C
 
Parallelogram: A,B,C

2.algoritma
Algoritma Persamaan_Kuadrat
{menghitung akar-akar persamaan kuadrat Ax^2+Bx+C=0}
Deklarasi
A,B,C            :real            {koefisien-koefisien persamaan}
Disk               :longreal    {nilai diskriminan}
x1,x2             :float           {nilai-nilai akar untuk disk>=0}
Deskripsi
              read(A,B,C)
              disk รงA+B
              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)
3.konversi nilai ke angka
#include <cstdlib>
#include <iostream>

using namespace std;
class Nilai{
      friend ostream& operator<<(ostream&,Nilai&);
      friend istream& operator>>(istream&,Nilai&);
public:
       Nilai(){};
       void konversikan(){
            if((nilai>0)&&(nilai<=20))
            nilai_huruf='E';
            else if((nilai > 20)&&(nilai<=40))
            nilai_huruf='D';
            else if((nilai > 40)&&(nilai<=60))
            nilai_huruf='C';
            else if((nilai>60)&&(nilai<=80))
            nilai_huruf='B';
            else nilai_huruf='A';
            }
       private:
                    int nilai;
                    char nilai_huruf;
                    };
       istream& operator>>(istream& in,Nilai& masukan){
                   cout<<"masukan nilai angka=";
                   in>>masukan.nilai;
                             return in;
                             };
       ostream& operator<<(ostream& out,Nilai&keluaran){
                   out<<"nlai angka:"<<keluaran.nilai<<endl;
                   out<<"nilai huruf:"<<keluaran.nilai_huruf;
                        return out;
                        }     
                                     
int main()
{
    Nilai angka;
    cin>>angka;
    angka.konversikan();
    cout<<angka;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

4.algoritma menentukan bilangan bulat dan real
Algoritma bilangan bulat dan real
(menentukan apakan yang di masukan bilangan real atau bulat)

Deklarasi
A,B:real,int
Deskripsi
Read(A,B)
If(A=int)then write(blangan bulat adalah=’A)
Else wrute (bilangan real adalah=’B),then write (bilangan real=B)
endif

No comments:

Post a Comment