Rabu, 04 November 2009



Diskriminan

Algoritma:

1. Masukkan nilai a, b, dan c

2. Menghitung determinan dengan rumus D = b * b – 4 * a * c

3. Jika hasil hasil yang didapat sama dengan nol (D = 0), maka terdapat dua akar real yang kembar kemudian hitung akar-akar tersebut dengan rumus

X1 = x2 = -b / 2a

4. Jika hasil yang didapat lebih besar dari nol (D > 0), maka terdapat dua akar real yang berlainan kemudian hitung akar-akar tersebut dengan rumus

X1 = (-b + sqrt (D)) / 2a

X2 = (-b – sqrt (D)) / 2a

5. Jika hasil yang didapat lebih kecil dari nol (D <>

X1 = -b / 2a + (sqrt (-D) / 2a) i

X2 = -b / 2a – (sqrt (-D) / 2a) i

6. Kemudian cetak hasil determinan dan akar-akar tersebut (x1 dan x2).

LISTING PROGAM

/*MOCH. CHABIBI R. (7409030047)*/

#include

#include

main()

{

int true=1;

float a,b,c;

double D, x1, x2;

char p;

printf("MOCH. CHABIBI R. - 7409030047 - 1D3_ITb\n");

while(true)

{

printf("Masukkan nilai a=");

scanf("%f",&a);

printf("Masukkan nilai b=");

scanf("%f",&b);

printf("Masukkan nilai c=");

scanf("%f",&c);

D=b*b-4*a*c;

printf("Diskriminan:%f\n", D);

if(D==0) {

x1=-b/2*a;

printf("Mempunyai dua akar real kembar:\n");

printf("x1=x2=%f \n", x1); }

else if (D>0) {

x1=(-b+sqrt(D))/2*a;

x2=(-b-sqrt(D))/2*a;

printf("Mempunyai dua akar real berlainan:\n");

printf("x1=%f\n", x1);

printf("x2=%f\n", x2); }

else {

x1=-b/2*a + (sqrt(-D)/2*a);

x2=-b/2*a - (sqrt(-D)/2*a);

printf("Mempunyai dua akar imaginair berlainan:\n");

printf("x1=(%f)i\n", x1);

printf("x2=(%f)i\n", x2); }

printf("Apakah anda ingin melanjutkan [y/t] : ");

fflush(stdin);

p=getchar();

if(p=='y'||p=='Y')

true=1;

else

true=0;

}

}

Tidak ada komentar:

Posting Komentar