The My Opera forums have been replaced with forums.opera.com. Please head over there to discuss Opera's products and features
See the new ForumsYou need to be logged in to post in the forums. If you do not have an account, please sign up first.
Vòng lặp IF-Giải phương trình bậc 2
Như các bạn thấy dạng phương phương trình bậc 2 có dạng: aX*X +bx +c=0;-Trước tiên ta phải xét như thế nào:
+++ a=0 : Phương trình bật nhất.
+++ a !=0 : Phương trình bậc 2.
-Nếu a=0 thì rơi vào phương trình bậc nhất : bx + c =0
+++ b=0,c=0: phương trình vô số nghiệm.
+++ b=0,c!=0: Phương trình vô số nghiệm.
+++ b!=0: Phương trình 1 nghiệm x=-c/b;
-Nếu a!=0 thì rơi vào phương trình bậc 2 ta phải xét Denta:
+++Nếu denta =0 nghiệm kép.
+++Nếu denta >0: có 2 nghiệm : x1=(-b+can(denta))/2a , x1=(-b-can(denta))/2a ;
+++Nếu denta<0 : Phương trình vô nghiệm.
============================================================================
-Đầu tiên ta sẽ thấy ban đầu có 1 if else để xét a :
if(a==0)
{
//xử lý phương trình bậc I
}else{ //a khác 0
//xư lý phương trình bậc II
}
-Ta xứ lý bậc nhất và 2:
if(a==0)
{
if(b!=0)
{
//Phương trình 1 nghiệm
}else{
if(c==0)
{
//Phương trình vô số nghiệm
}else{
//phương trình vô nghiệm
}
}
}else{
if(denta==0)
{
//Phương trình có nghiệm kép
}else if(denta >0){
//Phương trình có 2 nghiệm
}else{
// Phương trình vô nghiệm
}
}
===============================================
-Code viết như sau:
var a:Number; a=0;
var b:Number; b=0;
var c:Number; c=0;
if(a==0)
{
if(b!=0)
{
trace("phuong trinh 1 co nghiem: " +-c/b);
}else{
if(c==0)
{
trace("Phuong trinh vo so nghiem");
}else{
trace("Phuong trinh vo nghiem");
}
}
}else{
var denta:Number=b*b-4*a*c;
var candenta:Number=Math.sqrt(denta);
if(denta==0)
{
trace("Phuong trinh co nghiem kep: " + -b/a);
}else if(denta >0){
trace("Phuong trinh co 2 nghiem x1="+ (-b+candenta)/(2*a) + " va x2="+ (-b-candenta)/(2*a));
}else{
trace("phuong trinh vo nghiem");
}
}
====================================
-File đính kèm : http://www.mediafire.com/?j20gvy9xmjpv28b
CHÚC CÁC BẠN HỌC TỐT!