ax^2+bx+c
şeklinde olan ikinci dereceden bir denklemin köklerini bulmak için bir kok
yazmak istersek hangi yolları izlemeliyiz. Öncelikle denklemin katsayılarını ve
sabit terimi kullanıcıdan almalıyız(a,b ve c değerleri). Sırasıyla sayıları
aldıktan sonra delta değerini bulmalıyız. Bu delta değeri bize kök için yol
gösterecek. Eğer delta değeri sıfırdan küçükse kök bulurken delta değerinin
kökü tanımsız olacağı için reel kökü bulunmadığını, delta değeri sıfırsa
birbirine eşit iki kökün bulunduğunu, delta değeri sıfırdan büyükse de iki
farklı kökün olduğunu anlamamız gerekecek. Delta değerini bulduktan sonra da
gerekli ekran bildirimlerini yapıp varsa kökleri ekrana yazdırmamız gerekecek.
Kök bulma işlemlerini de kodda göreceğimiz gibi gerekli matematiksel işlemlerle
buluyoruz. Ayrıca koda bir while döngüsü kullanarak yeni kök bulma işlemleri
için programdan çıkmaktan kurtulmayı ve görsel güzelliği sağlayacağız.
Programın Kodu: #include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
float a,b,c,Dx,kokDelta,devam=1;
char sec;
while(devam==1){
printf("ikinci dereceden terimin katsayisini girin:\n");
scanf("%f",&a);
printf("birinci dereceden terimin katsayisini girin:\n");
scanf("%f",&b);
printf("sabit terimi girin:\n");
scanf("%f",&c);
Dx=b*b-4*a*c;
kokDelta=sqrt(Dx);
if(Dx<0){
printf("Denklemin reel koku bulunmamaktadir!\n");
}
else{
if(Dx==0){
printf("Denklemin esit iki koku vardir!\n");
printf("Iki kok de : %f dir!!\n",(-1*b)/(2*a));
}
else{
printf("Denklemin farkli iki koku vardir!\n");
printf("Kokler : %f ve %f dir!!\n",((-1*b)+kokDelta)/(2*a),((-1*b)-kokDelta)/(2*a));
}
}
printf("\nAna menuye donmek istiyorsaniz 'E' yada 'e' girin\n\n");
sec=getch();
if(sec=='E'||sec=='e'){
}
else{
devam=0;
}
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
float a,b,c,Dx,kokDelta,devam=1;
char sec;
while(devam==1){
printf("ikinci dereceden terimin katsayisini girin:\n");
scanf("%f",&a);
printf("birinci dereceden terimin katsayisini girin:\n");
scanf("%f",&b);
printf("sabit terimi girin:\n");
scanf("%f",&c);
Dx=b*b-4*a*c;
kokDelta=sqrt(Dx);
if(Dx<0){
printf("Denklemin reel koku bulunmamaktadir!\n");
}
else{
if(Dx==0){
printf("Denklemin esit iki koku vardir!\n");
printf("Iki kok de : %f dir!!\n",(-1*b)/(2*a));
}
else{
printf("Denklemin farkli iki koku vardir!\n");
printf("Kokler : %f ve %f dir!!\n",((-1*b)+kokDelta)/(2*a),((-1*b)-kokDelta)/(2*a));
}
}
printf("\nAna menuye donmek istiyorsaniz 'E' yada 'e' girin\n\n");
sec=getch();
if(sec=='E'||sec=='e'){
}
else{
devam=0;
}
}
system("PAUSE");
return 0;
}
Hiç yorum yok:
Yorum Gönder