Bài tập Chương CTDL và giải thuật
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: AzTruyen.Top