Bài tập Chương CTDL và giải thuật

Màu nền
Font chữ
Font size
Chiều cao dòng

Bài 1.3: Thiết kế thuật toán cho bài toán giải phương trình bậc nhất ax+b=0 bằng phương pháp tinh chế từng bước.

Giải:

1.       Phác thảo lời giải

Cần in ra giá trị của nghiệm x nếu có tồn tại nghiệm, hoặc thông báo phương trình vô nghiệm, hoặc thông báo phương trình có vô số nghiệm.

Xử lí các biến nhập vào a và b từ bàn phím, và biến x nếu phương trình có 1 nghiệm.

Ta mô tả như sau:

Int a, b;

Float x;

Lời giải có thể được phác thảo như sau:

1.       Nhập các giá trị a và b từ bàn phím

2.       Kiểm tra xem phương trình có vô số nghiệm, vô nghiệm hay 1 nghiệm duy nhất và thông báo

2.       Tinh chế lần 1

Bước  1: int a,b;

Console.Write(“Nhap a=”);a=int.Parse(Console.ReadLine());

Console.Write(“Nhap b=”);b=int.Parse(Console.ReadLine());

Bước 2:

Ta cần phân tích rõ ràng các trường hợp hơn:

·         Nếu a=0 và b=0 -> Phương trình có vô số nghiệm

·         Nếu a=0 và b!=0 -> Phương trình vô nghiệm

·         Trường hợp còn lại -> Thông báo x=-b/a

3.       Tinh chế lần 2 cho bước 2

Ta viết cụ thể từng trường hợp trong C# như sau:

if(a==0 && b==0)

                Console.Write(“Phuong trinh co  vo so nghiem”);

else if(a==0 && b!=0)

                Console.Write(“Phuong trinh vo nghiem”);

else

{

                x=-(float)b/a

                Console.Write(“Phuong trinh co nghiem duy nhat x={0}”,x);

}

Toàn bộ giải thuật viết trong ngôn ngữ C# như sau:

{

int a,b;

Console.Write(“Nhap a=”);a=int.Parse(Console.ReadLine());

Console.Write(“Nhap b=”);b=int.Parse(Console.ReadLine());

if(a==0 && b==0)

                Console.Write(“Phuong trinh co  vo so nghiem”);

else if(a==0 && b!=0)

                Console.Write(“Phuong trinh vo nghiem”);

else

{

                x=-(float)b/a

                Console.Write(“Phuong trinh co nghiem duy nhat x={0}”,x);

}

}

Bạn đang đọc truyện trên: Truyen2U.Pro