Xác định nghiệm phương trình bậc 2 (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ThanhThao

Thành viên mới
Tham gia
19/7/06
Bài viết
49
Được thích
57
Tôi có bài toán phương trình bậc 2: ax^2 + bx + c=0

Tôi muốn tạo hàm riêng để xác định giá trị x, đối số là a,b,c.

Nhờ các bạn giúp tôi giải bào toán này một cách hoàn chỉnh nhé.

Xin cám ơn.
 
Nghiệm thực đây:

Mã:
[B]Function FTrBac2 ( Aa As Double, Bb As Double, Cc As Double)[/B]
 Dim DelTa : Dim KQua(3)
 
 KQua (0) = "Phương trình "
 DelTa =( Bb ^2 - 4 * Aa * Cc)  
 If DelTa < 0 then
  KQua (0) =  KQua(0) & "vô nghiệm"
  KQua (1)= "Delta có giá trị âm"
 ElseIf DelTa > 0 then
  KQua (0) =  KQua (0) & "có 2 nghiệm:"
  KQua(1) = (- Bb + DelTa ^ (1/2)) /(2 * Aa)
  KQua(2) = (- Bb - DelTa ^ (1/2)) /(2 * Aa)
 else
  KQua(0) = KQua(0) & "có nghiệm duy nhất:"
  KQua(2)=  - Bb / (2 * Aa)
 End If
 FTrBac2 = KQua
[B]End Function[/B]

Nếu bạn cần hiện nghiệm ảo thì tự làm nha!
 
Lần chỉnh sửa cuối:
sao em làm nó lại ko ra nghiệm mà nó chỉ báo pt có bao nhiêu thôi nhỉ, em còn amater về VBA, các bác thông cảm
 
sao em làm nó lại ko ra nghiệm mà nó chỉ báo pt có bao nhiêu thôi nhỉ, em còn amater về VBA, các bác thông cảm
Đây là hàm mảng tự tạo nên là:
1* Chọn vùng tối thiểu 3 ô liền nhau theo hàng (hay theo cột - để có kết luận mới!) để hiển thị kết quả hàm;
2* Kết thúc không chỉ là {ENTER} mà là tổ hợp 3 fím, như ~ hàm mảng trong êxcel # l!!!
:=\+ --=-- ;;;;;;;;;;;
 
ThanhThao đã viết:
Tôi có bài toán phương trình bậc 2: ax^2 + bx + c=0

Tôi muốn tạo hàm riêng để xác định giá trị x, đối số là a,b,c.

Nhờ các bạn giúp tôi giải bào toán này một cách hoàn chỉnh nhé.

Xin cám ơn.

chào bạn "Thanh Thảo" mình gởi cho bạn file giải phương trình từ bâc 1,2,3,4..........
 

File đính kèm

SA_DQ đã viết:
Đây là hàm mảng tự tạo nên là:
1* Chọn vùng tối thiểu 3 ô liền nhau theo hàng (hay theo cột - để có kết luận mới!) để hiển thị kết quả hàm;
2* Kết thúc không chỉ là {ENTER} mà là tổ hợp 3 fím, như ~ hàm mảng trong êxcel # l!!!
:=\+ --=-- ;;;;;;;;;;;
em vẫn chưa hiểu ý thứ nhất của bác (ý 2 thì okei),mong bác giải thích thêm.Thanks. Em chỉ biết nhập ftrbac2(a,b,c) còn em ko hiểu dùng mảng ở đây kiểu gì.
 
Lần chỉnh sửa cuối:
Dễ lắm... khi bạn vừa ra kết quả: "Phương trình có 2 nghiệm" bạn quét chọn cell này cùng với 2 cell nữa nằm kế bên về phía bên phải, rê chuột lên thanh công thức, chọn vào công thức và bấm 3 phím Ctrl + Shift + Enter
VD: Bạn ra kết quả tại cell A1 là "Phương trình có 2 nghiệm" bạn chọn 3 cell A1, B1 và C1... rê chuột chọn vào công thức nằm trên thanh công thức rồi bấm 3 phím vừa nói ở trên (vì đây là công thức mãng)
Bác SA vừa là chuyên gia trong lỉnh vực VBA lại vừa là chuyên gia nói "ngắn gọn" và "làm biếng" trã lời mấy câu hỏi dễ lắm... nên bạn phải cố mà hiểu.. hi... hi... Tôi "diển nôm" lại ý bác cho bạn hiểu vậy!
Chú ý là bạn phải làm chính xác như trên, đừng có cắc cớ chọn 3 cell theo chiều dọc là thua à nha!
Với ongtrungducmx25: Người ta cần cách giải pt trong Excel bạn ơi... chứ ko phải phần mềm giải pt
ANH TUẤN
 
SA_DQ đã viết:
Mã:
[B]Function FTrBac2 ( Aa As Double, Bb As Double, Cc As Double)[/B]
 Dim DelTa : Dim KQua(3)
 
 KQua (0) = "Phương trình "
 DelTa =( Bb ^2 - 4 * Aa * Cc)  
 If DelTa < 0 then
  KQua (0) =  KQua(0) & "vô nghiệm"
  KQua (1)= "Delta có giá trị âm"
 ElseIf DelTa > 0 then
  KQua (0) =  KQua (0) & "có 2 nghiệm:"
  KQua(1) = (- Bb + DelTa ^ (1/2)) /(2 * Aa)
  KQua(2) = (- Bb - DelTa ^ (1/2)) /(2 * Aa)
 else
  KQua(0) = KQua(0) & "có nghiệm duy nhất:"
  KQua(2)=  - Bb / (2 * Aa)
 End If
 FTrBac2 = KQua
[B]End Function[/B]
Nếu bạn cần hiện nghiệm ảo thì tự làm nha!
Cách làm UF của bác thì tụi em còn học dài dài, tối ưu đến mức . . . tối tăm mặt mũi luôn.
Cái UF "hình như" này có thể không dùng mảng cũng được bác ạ, mong bác giúp luôn.
Thân!
 
Cái UF "hình như" này có thể không dùng mảng cũng được bác ạ, mong bác giúp luôn. Thân!
Bắp cứ đùa hoài;
Mã:
. . . . . . 
[COLOR="Silver"]PhTrBac2= KQua(0) & " ; " &  & KQua(1) & " ; " & KQua(2)[/COLOR]
;;;;;;;;;;;
/)/hưng í mình là hàm tự tạo cũng có thể là hàm mảng!
 
Lần chỉnh sửa cuối:
Cám ơn! Tham khảo được chút ít! ^^ Đơn giản hóa các đoạn code :)
 
Web KT

Bài viết mới nhất

Back
Top Bottom