giải phương trình bậc nhất và bậc 2 trong ubuntu

lapmaihokdc

Mario & Luigi
Tham gia ngày
9/9/08
Bài viết
792
Reaction score
4
chả là em mới bắt đầu học ubuntu. dow dc cái tài liệu có 3 chương. học thấy cũng khá hay và dễ hiểu. :>. bài tập thì cũng xay được gần hết. nhưng đến đoạn có câu hỏi giải pt bậc nhất thì bó tay. với lại cũng tò mò xem là giải phương trình bậc 2 nó như nào.
trong này pro nào làm được xin pót ra giải đáp thắc mắc cho newbie lần đầu tiếp cận ubuntu với
 
Yêu cầu rõ hơn đi, nghe mông lung quá.

Nếu yêu cầu giải bằng phần mềm thì có maxima, scilab, octave, matlab, ...
Nếu yều cầu viết chương trình giải phương trình thì cứ viết như bên Win
...
 
yêu cầu là : "Viết script thực hiện giải phương trình bậc nhất với hệ số a và b được người
dùng nhập vào từ bàn phím." đây ạ.
 
Mã:
#!/bin/bash

echo "Giải phương trình bậc nhất: ax+b=0";
echo "Nhập a = "
read a
echo "Nhập b = "
read b

if [ $a -eq 0] ; then
          if [ $b -eq 0] ; then
                   echo "Phương trình 0x + 0 = 0 có vô số nghiệm"
          else
                   echo "Phương trình 0x + $b = 0 vô nghiệm"
          fi
else
          x=`echo -$b / $a | bc`
          echo "Phương trình $a x + $b = 0 có nghiệm x = $x"
fi
đang viết trên máy dùng Win nên có thể có sai sót
 
Chỉnh sửa cuối:
cám ơn bác. đọc xem em thấy hiểu nhiều điều nhưng có điều là vẫn sai. mà cái "#!/bin/bash" có nghĩa là gì vậy ạ. bác ráng xem lại phát em sửa mãi mà ko được
 
Dòng đó là để chỉ ra đây là bash shell script.

Mà nó báo lỗi như thế nào thì post lên đây để tìm cách sửa.

---------------------------------------------------------
À quên, ở cái câu lệnh if thì trước dấu đóng ] phải có một khoảng trắng nhé, sửa rồi chạy lại thử xem.
---------------------------------------------------------
Ở câu lệnh x=`echo -$b / $a | bc` phải sửa thành x=`echo "-$b / $a" | bc`.
 
Chỉnh sửa cuối:
cám ơn bác nhiệt tình. thank đúng là sai cái dấu đấy. bảo sao lúc đầu thấy cái [ thì cách mà ] ko cách ^^.
để tối nghiên cứu hỏi bác cái PT bậc 2 nhé .


Edit : cái này ko dùng được số âm :((. có thư viện nào để có thể hiện được kết quả âm hay là thập phân ko vậy bác
 
Chỉnh sửa cuối:
Lạ nhỉ, cái bc kia nó tính hết được mà.
Thử post vài kết quả lên đây xem sao, cả số âm lẫn dương.

--------------------------------------------------------
Lại nhầm nữa, cái lệnh x= kia hãy thay bc thành bc -l , cái này sẽ khởi động thư viện toán học và hiện 20 chữ số thập phân.
 
Chỉnh sửa cuối:
SỬA nhãm quá....
Mã:
#!/bin/bash

echo "Giai phuong trinh bac nhat: ax + b = 0"
echo -n "Nhap a = " ;read a;
echo -n "Nhap b = " ;read b;
if [ $a -eq 0 ] ; then
  if [ $b -eq 0 ] ; then
    echo "Phuong trinh 0x + 0 = 0: Co vo so nghiem"
  else
    echo "Phuong trinh ox + $b = 0: Vo nghiem"
  fi
else
  x=$(echo "scale = 2 ; ( - $b / $a )" | bc)
  echo "Phuong trinh $a x + $b = 0: co nghiem x = $x"
fi
echo "Ket thuc"
 
Chỉnh sửa cuối:
Back
Top