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