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
}
}
Tidak ada komentar:
Posting Komentar