Forum Java Ptit-Aptech
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Forum Java Ptit-Aptech

>>>>> www.java13.tk <<<<<
 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
Forum has been closed by admin.

 

 đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>

Go down 
2 posters
Tác giảThông điệp
wind_and_cloud_only




Tổng số bài gửi : 18
Points : 28
Reputation : 0
Join date : 10/07/2009

đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Empty
Bài gửiTiêu đề: đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>   đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Icon_minitime10/7/2009, 10:51 am

Code:
import java.util.Scanner;
class PhuongTrinhBac2
{
   public static void main(String[] args)
   {
      //nh?p và in ra a,b,c//
      Scanner inputData = new Scanner(System.in);
      //inputData.nextbyte();
      int a,b,c;
      float x1,x2,Delta;
      System.out.print("\n nh?p a=");
      a= inputData.nextInt();
      System.out.printf("a=%d",a);
      System.out.print("\n nh?p b=");
      b=inputData.nextInt();
      System.out.printf("b=%d",b);
      System.out.print("\n nh?p c=");
      c=inputData.nextInt();
      System.out.printf("c=%d",c);
      //gi?i phuong trình b?c 2//
      if (a!=0)
      {
         
         Delta=(float)((b*b)-(4*a*c));
         System.out.printf("\n Delta=%f",Delta);
         
         if(Delta>0)
         {
            x1=(float)((-b+Math.sqrt(Delta))/(2*a));
            System.out.printf("\n phuong trình có 2 nghi?m x1= "+x1);
            x2=(float)((-b-Math.sqrt(Delta))/(2*a));
            System.out.printf("\n phuong trình có 2 nghi?m x2= "+x2);
            
         }
         if(Delta==0)
            
            { float x12;
                  x12=(float)(-b/(2*a));
               System.out.printf("\n phuong trình có nghi?m kép x12=x1=x2= "+x12);
            }
         else
         {
            System.out.printf("\n phuong trình vo nghiem");
         }      
      }
   if(a==0&&b!=0)
   {
      float x=(float)(-c/b);
      System.out.printf("\n phuong trinh co mot nghiem bac 1 x= "+x);
   }
      
      if(a==0&&b==0&&c==0)
      {
         System.out.print("\n phuong trình có vo so nghiem");
      }
   }
}
Về Đầu Trang Go down
Lee87

Lee87


Tổng số bài gửi : 71
Points : 107
Reputation : 5
Join date : 10/07/2009
Age : 37
Đến từ : Hà Nội

đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Empty
Bài gửiTiêu đề: Re: đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>   đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Icon_minitime10/7/2009, 6:03 pm

Đây là phương trình bậc 2 nên a không thế bằng 0. nến bài này xét theo điều kiện if(a==0&&b!=0) của cậu là sai rùi.
Vì nếu xét theo delta chẳng hạn, nếu như delta > 0 thì phương trình sẽ không thể tính đc nghiệm. nếu là phương trình bấc 2 mình nghĩ bạn nên xét điều kiện a== 0 thì phải báo lỗi. a bắt buộc không thể là 0.
Chúc bạn thành công. Very Happy
Về Đầu Trang Go down
wind_and_cloud_only




Tổng số bài gửi : 18
Points : 28
Reputation : 0
Join date : 10/07/2009

đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Empty
Bài gửiTiêu đề: Re: đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>   đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Icon_minitime10/7/2009, 11:53 pm

Nếu chỉ giải theo a!=0 thì có thể lòng thêm vòng lặp while hay do-while gì đó để loại bỏ trường hợp a=0 khi nhập từ bàn phím...chứ nếu chỉ dùng câu lệnh if else thì pải xét đến đk a=0 nữa chứ?vì lúc nhập từ bàn phím là nhập bất kì, chứ có phải mình biết trước mà nhâp đâu?
Về Đầu Trang Go down
Lee87

Lee87


Tổng số bài gửi : 71
Points : 107
Reputation : 5
Join date : 10/07/2009
Age : 37
Đến từ : Hà Nội

đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Empty
Bài gửiTiêu đề: Re: đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>   đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Icon_minitime11/7/2009, 1:07 am

wind_and_cloud_only đã viết:
Nếu chỉ giải theo a!=0 thì có thể lòng thêm vòng lặp while hay do-while gì đó để loại bỏ trường hợp a=0 khi nhập từ bàn phím...chứ nếu chỉ dùng câu lệnh if else thì pải xét đến đk a=0 nữa chứ?vì lúc nhập từ bàn phím là nhập bất kì, chứ có phải mình biết trước mà nhâp đâu?
Code:



import java.util.Scanner;

public class Ex3 {
    // Tao ham Input
    static void Input(){
        float a,b,c,d;
        Scanner input = new Scanner(System.in); //Khoi tao phuong thuc nhap input
        System.out.print("Nhap a = "); a = input.nextFloat(); // Nhap a
        System.out.print("\nNhap b = "); b = input.nextFloat(); // Nhap b
        System.out.print("\nNhap c = "); c = input.nextFloat(); // Nhap c
        d = (float) (Math.pow(b, 2) - 4 * (a * c)); // Tinh delta
        if(d<0)
              System.out.println("\nPhuong trinh da cho vo nghiem.");
        else{
            if(d==0){
                System.out.println("\nPhuong trinh da cho co nghiem kep: ");
                System.out.println("X1 = X2 = "+(-b/(2*a)));
            }
            else{
                System.out.println("\nPhuong trinh da cho co 2 nghiem phan biet:");
                System.out.print("\nX1 = "+((-b+Math.sqrt(d))/(2*a))); // nghiem X1
                System.out.print("\nX2 = "+((-b-Math.sqrt(d))/(2*a))); // nghiem X2
            }
        }
    }
    // Ham chinh
    public static void main(String[] chuoi){
        Input();
    }

}

Vậy bạn chạy thử chương trình này của mình, mình không kiểm tra a, và bạn nhập vào anh chàng a = = 0 xem có hiện tượng j xảy ra nhé.
và nếu là phương trình bậc 2 bặt buộc phải có thằng delta, vậy nếu bạn tính delta xem nếu nó phù hợp thì xem nghiệm nó báo cái j nhé.
nên theo mình chỉ cần thằgn a ==0 ==>> stop ngay chương trình. không cần tính toán. :idea:
Về Đầu Trang Go down
wind_and_cloud_only




Tổng số bài gửi : 18
Points : 28
Reputation : 0
Join date : 10/07/2009

đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Empty
Bài gửiTiêu đề: Re: đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>   đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Icon_minitime11/7/2009, 9:17 pm

Nếu làm được theo cách của ấy nói cũng hay, nhưng mình chạy thử chương trình ấy làm, nếu mình nhập a=0,b=0,c=1; ctrình sẽ cho kết quả là:
Phuong trinh da cho co nghiem kep:
X1 = X2 = NaN


Còn nếu mình chạy nó với:

Nhap a = 0

Nhap b = 1

Nhap c = 1

Phuong trinh da cho co 2 nghiem phan biet:

X1 = NaN
X2 = -Infinity
Process completed.
Về Đầu Trang Go down
wind_and_cloud_only




Tổng số bài gửi : 18
Points : 28
Reputation : 0
Join date : 10/07/2009

đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Empty
Bài gửiTiêu đề: Re: đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>   đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Icon_minitime11/7/2009, 9:19 pm

vì thế nên mình nghĩ phải cài điều kiện cho a, để khi người nhập nhập a=0 thì chương trình yêu cầu nhập lại với a!=0
Về Đầu Trang Go down
Lee87

Lee87


Tổng số bài gửi : 71
Points : 107
Reputation : 5
Join date : 10/07/2009
Age : 37
Đến từ : Hà Nội

đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Empty
Bài gửiTiêu đề: Re: đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>   đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Icon_minitime12/7/2009, 9:06 am

wind_and_cloud_only đã viết:
vì thế nên mình nghĩ phải cài điều kiện cho a, để khi người nhập nhập a=0 thì chương trình yêu cầu nhập lại với a!=0
I'm agree! :lol:
Bạn có thể thêm đoạn mã này vào sau khi nhập a để kiểm tra điều kiện.
Code:

do{
      if(a==0){
                    System.out.println("Yeu cau nhap lai:");
                    System.out.print("\nNhap a = ");
                    a = input.nextFloat();
        }
      else
            break;
}while(true);
Về Đầu Trang Go down
Sponsored content





đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Empty
Bài gửiTiêu đề: Re: đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>   đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá> Icon_minitime

Về Đầu Trang Go down
 
đáp án bài tập 3<đây là cách làm của mình có gì thắc mắc comment cùng thảo luận nhá>....<ai có giải thuật nào hay thì cùng commẻnt và share cho mọi người cùng học hỏi nhá>
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Thảo luận bài toán sắp xếp
» Bài tập trên lớp của thầy ai có thì up lên cho mọi người cùng làm với?
» HOM QUA, ngay 5/8 MINH DE QUEN HOP BUT < CO AI CAM GIUM MINH KO? HIX
» nick mình bị "chôm" ai giúp mình lấy lại với!
» 1 số bài tập mong được giải đáp để em tham khảo thêm

Permissions in this forum:Bạn không có quyền trả lời bài viết
Forum Java Ptit-Aptech :: THẢO LUẬN VỀ JAVA :: ARRAY-STRING-CLASS-
Chuyển đến 
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất