BoE) SEE ees : noi 4 wom | B02 eee KỆ: t0zar Hình 25d_ Form khi nhập 12 và 48 PRET Bee) : 2 ; LE SRA ES eR
_Thoat khoi Form Ẫ
esa [fare nl prison | gr0e-ron voces |K a
Trang 2
KIEM TRA TINH TOI GIAN CUA PHAN SO
YEU CAU CUA DAU BAI
ý và viết Code cho chương trình sao cho khi nhập vào tử
số và mẫu số của một phân số, Click vào nút xem kết quả, chương trình
sẽ cho biết phân số trên có phải là một phân số tối giản hay không
Một phân số là tối giản khi USCLN (a, b) = 1
Từ yêu cầu trên, chúng tôi thiết kế Form của chương trình như sau : ES
stat |B E54 @ |) Prec -o.| wy wcreotw.| [97 22-Pare_ [ey KieWT Hình 26a Form của chương trình
SE tam
Nhìn vào Form trên, bạn thấy có các điều kiểm như sau :
* 3 TextBox; 1 dung dé nhập tử số, 1 để nhập mau sé, 1 để thông báo kết quả :
* 3 Label ding dé lam tiéu dé
Trang 32 Command Button, trong đó 1 Command Button ding để thoát khỏi chương trình, 1 Command button dùng để xem kết quả
Form có tiêu để “ KIEM TRA PHAN SƠ TOI GIAN “
BANG CAC THUOC TINH CUA CAC DIEU KIEM
TT | Đối tượng | Các thuộc tính Giá trị
1 |Form Name FrmToigian
BackColor Mau cam
Caption KIEM TRA PHAN SO TOI GIAN
WindowState 2-Maximized
2 | Label Name LB[Tieude
BackColor Màu xanh xám
Caption Kiểm tra tính tối giản của
một phân số
Font Name VNI — Swiss Condense
Font Size 26
Font Style 8old 3 | Label Name LbITuSo
BackColor Màu xanh xám
Caption Bạn nhập vào tử số
Font Name VNI - Brush
Font Size 24
Font Style Bolditalic
4 | Label Name LblmauSo BackColor Màu xanh xám Caption Bạn nhập vào mẫu số
Font Name VNI — Brush
Font Size 24
Font Style Bolditalic
Trang 4
TextBox Name TxtTuso
BackColor Mau xanh xam Font Name MS - Sans Serif
Font Size 24
Font Style Boid
Text (Xóa chữ Text)
TextBox Name TxtMauSo
BackColor Mẫu xanh xám Font Name MS - Sans Serif
Font Size 24
Font Style Bold
Text (Xóa chữ Text)
TextBox Name TxtKetqua
BackColor Mầu xanh xám
Font Name VNI — Aptima
Font Size 24
Font Style Bold
MultiLine True
Text (Xóa chữ TexU Command | Name CmdKetqua Button Caption Xem két qua
Font Name VNi ~ Swiss Condense
Font Size 24
Font Style Bold Command Name CmdThoat Button Caption Thoát khdi Form
Font Name VNI ~ Swiss Condense
font Size 24
Font Style Bold
Trang 5
Nếu phương trình ax2 + bx2 + c=
cóa-b+c=0
Thì x1 = -1
và x2 =-c/a
Khi nao ping trike nghiệm Khi nào Phương Trinh có nghiệm 36 kép
a-b- “lÏ Khi nào Phương trình có 2 nghiệm phần biệt
sâsut| | @ Sy) BD |) By Procct | Bý MesosoLw | 27 united Pa ff Gia THI ase
Hình 29e Form khi Click nút Nếu a - b +c =0
+ Trong thông báo này, cũng khá giống như trong trường hợp trên, nhưng biến x1 và x2 sẽ có công thức khác, đó là :
1) x1=-1
2) x2=-c/a
+ Người ta thường dùng dấu hiệu này để đi đến kết luận nghiệm
của phương trình một cách nhanh nhất
+ Bạn có thể thử lại một vài trường hợp với dạng trên, bằng cách nhập các hệ số a, b và c sao cho thỏa a — b+c =0 để xem kết quả có
đúng trong các trường hợp hay không
+ Bây giờ bạn thử Click vào nút có tên Khi nào phương trình vô nghiệm, bạn sẽ thấy thông báo trong TextBox như sau :
Trang 6Se aaa) i nr i rf Bk cae Khi DELTA < 0 > Phương trình sẽ vô nghiệm „chi tên HHifg trhá vũ nghệ L Mết 3h cc=9 Ï_ thuoPhươg tờ cóngHgmsftdp | Ss Se BRS Bs OD tyrant -M.| Brive w.| igpse-ean |e Gari Qe aera
Hinh 29{ Form khi Click nút Vô nghiém
+ Nhìn vào TextBox thông báo, bạn thấy nội dung : “Khi Delta <Q - thì phương trình vô nghiệm “”
Đúng như trong lí thuyết tốn học khơng các bạn, đúng như vậy, trong phương trình bậc 2, néu Delta = b*b ~ 4*a*c < 0 thì phuong
trình sẽ vô nghiệm Điều này đã được kiểm chứng trong chương trình
ở bài trên
+ Bay giờ bạn thử Click vào nút có tiêu để “ Khi hào phường trình
có nghiệm số kép “, bạn sẽ có hình như sau :
Trang 7PRS ed Khi DELTA = 0 > Phương trình sẽ có nghiệm số kép x1 =x2=-b/(2*a) | màu —|
[Ï Nếua-b+c=0 | Khinào Phương trìù có 2 nghiệm nhánHiệt sRsuat| | @ 6; 2 8) || ạpgeat:M-| RỆMeoetV.| JØ36L.Pan || lal THỊ KẾ sp
Hình 29g Form khí Click nút nghiệm số kép
+ Bạn thấy khi Delta = 0, phương trình bậc 2 sẽ có nghiệm số kép + Cách xác định là x1 = x2 = —b/2*a
+ Bạn thấy có phải như vậy hay không, nếu bạn thấy không phải là
như vậy, bạn có thể vào cửa sổ Code để sửa lại, nếu sửa lại, chắc
chắn các bạn sẽ bị phê bình, vì các bạn đã cho công thức sai
+ Tiếp tục, bạn thử Click vào nút có tiêu để “ Khi nào phương trình có 2 nghiệm phân biệt “, bạn sẽ có hình như sau :
Trang 8& GIẢI THÍCH PHUONG TRÌNH BAC 2
Khi DELTA > 0 > Phương trình sẽ có 2 nghiệm phân biệt
x1 =(-b+ Sqr ( Delta )) /(2*a)
x2 =(-b- Sqr ( Delta )) /(2 *a)
Hoặc các bạn có thể nhận biết phương trình sẽ có 2 nghiệm, là
khi a và c trái dấu
Điều kiện Khi nản phương trình vú nghiệm — “cece Ề
L_ ếusth+c=0 BBTTETEEINHITTEOTTTTETHTrrnTrT Ý NunaophươgTrhanonglfnadtfn |
sual | 4A | | SpProiectt Mf ny Mert v | $7359-Pait_|[tS GIA THI arte
Hình 29h Form khi Click nút có 2 nghiệm phân biệt
+ Nhìn vào hình trên, bạn sẽ thấy trong TextBox sẽ có thông báo Khi Delta > 0 > phương trình sẽ có 2 nghiệm phân biệt, đó là :
xi =(- b+ Sqr (Delta)) /2 *a x2 = (— b ~ Sqr (Delta)) /2 *a
+ Và câu với nội dung nôm na là các bạn chỉ cần nhìn vào dấu của
2 hệ số a và c Nếu a và c trái dấu, phương trình bậc 2,sẽ có 2 nghiệm Vì khi a và c trái dấu, thì Delta = b? —,4ac sẽ luôn luôn lớn
hơn 0, mà Delta > 0 > phương trình sẽ có 2 nghiệm
+ Bây giờ bạn Click nút thoát khỏi Form, bạn sẽ thấy chương trình trở
về cửa sổ viết Code, bạn mở Project mới để chuẩn bị làm-bài tập kế tiếp
Trong Visual Basic khi mở một Project mới, VB sẽ hỏi, bạn có muốn lưu
Project vừa rồi hay không, bạn có thể lưu hoặc không bằng cách Click vào
nút Yes hoặc No trên hộp thoại Bạn thích thực hành tiếp hay không, nếu
mệt rồi, các bạn có thể để đến hôm khác làm tiếp `
Trang 9
GIẢI PHƯƠNG TRÌNH BAC 2
ax? + bx+c= 0 (a < >0}
YÊU CẦU CUA ĐẦU BÀI
Bạn thiết kế và viết Code cho chương trình giải phương trình bậc 2 với điều kiện a khác 0
+ Bạn nhập vào 3 hệ số a,b,c
+ Delta=b?- 4*a*c
+ Nếu Delta < 0 >> Phương trình vô nghiệm
+ Nếu Delta = 0 -> Phương trình có nghiệm số kép x1 = x2 =—b/a
+ Nếu Delta > 0 > Phương trình có 2 nghiệm :
x1 =— b + Sqr(Delta) / (2* a) x2 = - b ~ Sqr(Delta) / (2 * a)
+ Với a, b, c nhập vào, chương trình sẽ báo kết quả ra hép TextBox
đúng với đầu bài đã cho ở trên
Theo yêu cầu của đầu bài, chúng tôi thiết kế Form của chương trình
như sau :
Trang 10Se
Psat] |S Es D |) ty Prices Mise JWMEsesetWod-C |[t3 GIAI PHUONG KỆ 458M
Hình 30a _ Form của chương trình
Nhìn vào Form trên, bạn thấy có các điều kiểm như sau :
*" 4 TextBox; 1 dùng để nhập số a, 1 để nhập số b, 1 để nhập số c1 để thông báo kết quả * 4 Label ding dé lam tiéu dé
* 2 Command Button, trong dé 1 Command Button dang dé thoat khỏi chuong trinh, 1 Command button ding dé xem két qua
* Form cé tiêu để “ GIAI PHUONG TRINH BAC 2 “4
Trang 11BANG CAC THUOC TINH CUA CAC DIEU KIEM TT | Đốitượng | Các thuộc tính Giá trị 1 Form Name frmPTB2 BackColor Màu vàng nhạt ` Caption GIẢI PHUONG TRINH BAC WindowState 2—Maximized 21 Label Name tb[Tieude
BackColor Màu vàng đâm
Caption Giải phương trình bậc 2 Font Name VNI ~ Swiss Condense
Font Size 26
Font Style Bold 3 | Label Name LbiSoa
BackColor Màu vàng nhạt
Caption Bạn nhập số a
- Font Name VNI - Brush
Font Size 24
Font Style Bolditalic 4 | Label Name LbISob
BackColor Mâu vàng nhạt
Caption Bạn nhập số b
Font Name VNI — Brush
Font Size 24
Font Style Boldltalic 5 | Label Name TxtSoc
BackColor Mau vang nhat Caption Bạn nhập số c
Font Name VNI - Brush
Font Size 24
Font Style Boldttalic
6 | TextBox Name TxtSoa
BackColor Màu trắng
Trang 12
Font Name MS - Sans Serif Font Size 24
Font Style Bold
Text (Xóa chữ Text)
Z | TextBox Name TxtSob
BackColor Mau trang
Font Name MS — Sans Serif
Font Size 24
Font Style Bold
Text (Xóa chữ Text)
8 | TextBox Name TxtSoc
BackColor Mau trang
Font Name VNI - Aptima
Font Size 24
Font Style Bold
Text (Xóa chữ Text)
9 | TextBox Name TxtKetqua BackColor Mau héng Font Name VNI - Aptima Font Size 24 Font Style Bold MuhiLine True
Text (Xóa chữ Text) 10 | Command | Name CmdKetqua
Button Caption ˆ Kết quả
Font Name VNI — Swiss Condense
Font Size 20
Font Style Bold 11 | Command Name CmdThoat
Button Caption Exit
Font Name VNI - Swiss Condense
Font Size 24
|_ Font Style Bold |
Trang 13Buée 1
THIET KE FORM CUA CHƯƠNG TRÌNH
+ Bạn lần lượt lấy các điều kiểm từ hộp công cụ để đưa vào Form
của chương trình, sau đó xác lập các thuộc tính cho tất cả các điều
kiểm theo như bảng đã cho ở trên Bước 2 VIẾT CODE CHO CHƯƠNG TRÌNH Option Explicit
1) Viết Code cho điều kiểm CmdKetqua
Private Sub CmdKetqua_Click() PTB2 TxtSoa, TxtSob, TxtSoc
End Sub
2) Viết Code cho điều kiểm CmdThoat
Private Sub CmdThoat_Click()
End End Sub
3) Viết thủ tục tự tạo
PTB2 {a As Single, b As Single, c As Single)
PTB2 (a As Single, b As Single, c As Single) Dim x1 As Single
Dim x2 As Single
Trang 14Dim xh As String Xh = Chr(13) & Chr(10) Dim Delta As Single Delta = b *b ~ (4 *a * c) If Delta < 0 Then
TxtKetqua = " Phương trình vô nghiệm " Elself Delta = 0 Then
TxtKetqua = " Phương trình có nghiệm kép" & Xh & "
xi =x2= "&-b/(2*a)
Else
TxtKetqua = " Phương trình có 2 nghiệm " & Xh & " x1
=" & Cb - Sar (Delta)) / (2 * a) & Xh & "x2 =" & (—b +
Sqr (Delta)) / (2 * a} End if
End Sub
+ Thủ tục PTB2 với 3 tham số a, b, c có kiểu Single
+ Khai báo biến x1 và x2 có kiểu Single để chứa kết quả của các nghiệm nếu có
+ Khai báo biến Ch kiểu String để chứa mã xuống hàng
+ Gần cho biến Xh = Chr (13) & Chr (10)
+ Khai báo biến Delta có kiểu Single dùng để chứa giá trị bŸ - 4ac
+ Nếu Delta < 0 > báo ra phương trình vô nghiệm
Trang 15Buse 3 CHAY THU CHUONG TRINH + Bạn chay thử chương trình, sau đó nhập : - a=l - b=2 - c=-3 ` + Click chuột vào nút xem kết quả, bạn sẽ có hình như sau : See Phương trình có 2 nghiệm x1 =-3 x2=1
sia) | 6: GÀ |) ypasel | gyMesotv.[[S Sau PH- wearer | (EC eA
Hình 30b Form khi nhap a= 1, b = 2,c=-3
+ Bạn thấy phương trình trên sẽ có 2 nghiệm, (Bạn chỉ cần nhìn a và c trái dấu, phương trình sẽ có 2 nghiệm) Phương trình trên cũng có dạng a + b+c= 0 > sẽ có một nghiệm bằng 1 và một nghiệm là
c/a=-3/1=-3
+ Vậy kết quả báo ra là chính xác
Trang 16+ Bây giờ bạn thử nhập :
- a=12
- b=3
- “C2
+ Nhận xét bạn thấy Delta = bˆ - 4ac = 9 _ 4(12.2) < 0 Nên
phương trình sẽ vô nghiệm
+ Bạn thử Click vào nút kết quả để xem có đúng như vậy hay không PrmTrmmmmmmnn ; Bau “2 Kết quả | Z¿« «Z4 Hình 30c
+ Bạn thấy chương trình báo chính xác phải không
Trang 17+ Nếu chương trình báo là có nghiệm kép và bang —b/2a = —4/2x2 = -1 thì đúng + Khi Click vào nút kết quả, bạn sẽ có hình như sau : Phương trình có nghiệm kép x1=x2= -1 wisn) 625.0 |) tyre | pgMesev.|[SGumm- #MePei | ÍỆ Sim, Hinh 30d" + Bây giờ các bạn thử nhập sao cho a - b + c =0 + Giả sử chúng tôi nhập : - -a=5 - b=9 - c=4
+ Bạn thấy 5 - 9 + 4 =0 vậy có dạng a - b + c = 0, nên có một
nghiệm bằng ~1, một nghiệm bằng -c/a = - 4 / 5 = ~ 0,8
+ Bạn nhập xong và Click vào nút kết quả, bạn sẽ có hình như sau :
Trang 18: Glai phuong trinh bac 2 Ben ukép sa — Kết quả| Z¿« «Z4 sZ đ |9 EXIT Í Bane whdp số « |4 | Phương trình có 2 nghiệm x1 =-1 Hình 30e + Vậy là chúng tôi đã thử cả 3 trường hợp : - Delta>o - Delta<o - Delta=0
+ Đồng thời với 2 trường hợp đặc biệt là a + b + c = 0 và a~ b +c=0
+ Và kết quả báo hoàn toàn chính xác Bạrf thử nhập thêm một số
trường hợp để xem kết quả có đúng trong mọi trường hợp hay không
Nếu người sử dụng nhập vào 0 cho hệ số a, chương trình sẽ
Compile và báo lỗi khi gặp câu lệnh : TxtKetqua = " Phương trình có 2
nghiệm " & Xh & "x1 =" & (~b — Sqr(Delta)) / (2 * a) & Xh & "x2 ="
& (-b + Sqr(Delta)) / (2 * a)
Bạn suy nghĩ xem tại sao Bật mí với bạn là lúc này mẫu số sẽ bằng 0 (không thể chấp nhận) Do đó bạn phải sửa Code của chương trình
lại một chút Bạn thêm vào phat biéu IF .Then Else End if, dé khi người sử dụng nhập a = 0 thi chương trình sẽ báo lỗi cho người sử
Trang 19Ban sẽ thay đổi lại như sau, trước khi thay đổi, bạn thử chạy
chương trình và nhập vào 0 cho hệ số a, bạn sẽ thấy chương trình báo lỗi như thế nào
Sub PTB2 (a As Single, b As Single, c As Single) Dim x1 As Single Dim x2 As Single Dim Xh As String Xh = Chr(13) & Chr(10) tí a<>0 Then Dim Delta As Single Delta =b *b — (4* a* c) lí Delta < 0 Then
TxtKetqua = ° Phuong trình vô nghiệm " Elseif Delta = 0 Then
TxtKetqua = " Phương trình có nghiệm kép" & Xh & "xi=x2= "&-b/01*a)
Else
TxtKetqua = " Phương trình có 2 nghiệm " &
Xh & " x1 =" & (—b - Sqr (Dehla)) /(2 * a) & Xh & "x2 ="
Trang 20+ Thêm vào phần chữ đậm, để khi bạn nhập hệ số a = 0 thì
chương trình sẽ thông báo câu “ Hệ số a không được bằng 0 “
+ Bậy giờ bạn chạy thử chương trình, sau đó bạn nhập :
- a=0 - b=4 - c=5
+ Click vào nút kết quả, ban sẽ có hình như sau :
& GIẢI PHUONG TRÌNH BAC 2 CE
Giải nhương trình bac 2 | au whip 26 a |0 lkết quả| Z¿« «⁄44 3z ¿ |4 EXIT Ị | Hệ số a không được bằng 0 stadt] |B 5A || #yPoeu-M | VMeoetw | Z734e:Psw |[S gui Me sworn | Hình 30f Form khi nhập hệ số a = 0
+ Vậy khi người sử dụng nhập hệ số a = 0, chương trình sẽ thông báo cho người sử dụng biết, nhưng trình biên dịch sẽ không báo lỗi
Bây giờ chúng tôi sẽ viết một chương trình ngược lại, chương trình
sẽ hướng dẫn và giải thích các yếu tố cần thiết để giải một phương
trình bậc 2
Trang 21
PHƯƠNG TRÌNH TRÙNG PHƯƠNG
YÊU CẦU CỦA ĐẦU BÀI
Bạn hãy viết chương trình giải phương trình trùng phương ax’ + bx? +c=0.(ÐK: a khác 0}
+ Người sử dụng nhập 3 hệ số a, b và c, Khi Click vào nút Command Button có tiêu để “ Nghiệm của PT trùng phương “, kết quả
của các nghiệm nếu có hoặc vô nghiệm sẽ được thông báo trong TextBox có tên TxtKetqua
+ Khi Click vào nút Command Buttlon có tiêu để “ Hướng dẫn
nghiệm của PTB 2 “, thì sẽ có thông tin hướng dẫn hiện ra trong
TextBox có tên TxtHuongDan như sau :
Delta=b*b-4*a*c
— Nếu Delta < 0 -—> Vô nghiệm
~ Nếu Delta = 0 -—> Có nghiệm kép : tÍ = 12 = —b / 2 * a)
- Nếu Delta > 0 ——> Có 2 nghiệm phân biệt : tì= -b + Sqr (Delta) / (2* a) và t2 = -b - Sqr (Delta) / (2 *a)
+ Khi Click vào nút Command Button có tiêu để “ Hướng dẫn giải
PT trùng phương ”, thì sẽ có thông tin hướng dẫn hiện ra trong TextBox có tên TxtHuongDan như sau :
Để giải phương trình trùng phương ax^4 + bx^2 + c = 0 (1) - PHƯƠNG PHÁP GIẢI :
Dat t = x^2, với 1! >= Ú, ta có ;
Trang 22+ PT (1) có nghiệm hay không tuỳ theo PT (2) có nghiệm
† >= 0 hay không
+ Giải phương trình at^2 + bt + c =0
+ GIÁ sửt>= 0 ~-——> x = Sqr (Ú và x = ~ Sqr (Ù"
+ Khi Click vào nút Command Button có tiêu để “ ĐK PTB 2 có hai nghiệm cùng dấu “, thì sẽ có thông tin hướng dẫn hiện ra trong TextBox có tên TxtHuongDan như sau :
1~ Điều kiện phương trình bậc 2 có hai nghiệm cùng dấu : Delia>=0,P=c/a>0 2— Diéu kiện để phương trình có hai nghiệm dương : Delta >=0,P=c/a>0,5=-b/a>0 3- Điều kiện có hai nghiệm âm : Delta >=0,P=c/a>0,S=-b/a<0 4- Điều kiện có hai nghiệm trái dau :
P=c/a<0, hoặc a và c trái đấu
+ Khi Click vào nút Command Button có tiêu để ” Tóm tắt nghiệm của PTB 2 và PTTP “, thì sẽ có thông tin hướng dẫn hiện ra trong
TextBox có tên TxtHuongDan như sau ;
BANG TOM TAT
at*2+bt+c=0 ax^4 + bx^2+c=0
1~ Vô nghiệm 1~ Vô nghiệm
2- 2 nghiệm âm 3~ Vô nghiệm
3— Nghiệm kép âm 3- Vô nghiệm
4- 1 nghiệm dương 4- 2 nghiệm đối nhau
5- 2 nghiệm dương 5- 4 nghiệm (2 cặp
nghiệm đối nhau
Trang 23Trong mục này, bạn phải canh cho các thông tin hiện ra có vị trí
khá giống như trên
Bạn có thể xem những hướng dẫn như trên để viết Code cho
chương trình
Với yêu cầu của đầu bài như trên, chúng tôi thiết kế Form của
chương trình như sau :
Ce
cế lai nghiệm chag [3
ú Huts de gt PT Tam ma lí ‘Tea it aghigm PTB 2 và PTTP-
AStan| | Sy GI WD |) By Prcectt -Microst.| EY Microrot Wod-C.fft PHUONG TRI [Go 1127 AM
Hinh 31a Form của chương trình
Nhin vao Form trén, ban thấy có các điều kiểm như sau :
= 5 TextBox; 1 dùng để thông báo kết quả nghiệm của phương
trình trùng phương, 4 dùng để thông báo thông tin về lý thuyết
của phương trình bậc 2 và phương trình trùng phương
* 4 Label dùng làm tiêu dé
= 6 Command Button, trong dé 1 Command Button ding dé thoat khỏi chương trình, 1 Command button dùng để xem kết quả các nghiệm của phương trình trùng phương, 4 dùng để xem hướng dẫn về lý thuyết về phương trình bậc 2 và phương trình trùng phương
Trang 24BANG CÁC THUỘC TÍNH CỦA CÁC ĐIỀU KIỂM TT | Đối tượng | Các thuộc tính Giá trị 1 | Form Name FrmPTTP
BackColor Mau cam
Caption PHUONG TRINH TRUNG
PHUONG
WindowState 2~Maximized 2 | Label Name LblTieude
BackColor Mau dau
Caption Giải phương trình trùng phương ax4 + bx2 + c = 0 Font Name VNI — SWiss Condense
Font Size 20
Font Style Bold 3 | Label Name LblHesoa
BackColor Màu dâu nhạt Caption Nhập số a Font Name VNI — Brush
Font Size 16
Font Style Italic 4 | Label Name LblHesob
BackColor Mau dau nhạt
Caption Nhap sé b Font Name VNI - Brush
Font Size 16
Font Style italic 5 | Label Name LbiHesoc
Trang 25
6 | TextBox Name TxtHesoa
BackColor Mau tring
Font Name MS — Sans Serif
Font Size 15
Font Style Bold
Text (Xóa chữ Text)
Z7 | TextBox Name TxtHesob
BackColor Màu trắng
Font Name MS — Sans Serif
Font Size 15
Font Style Bold
Text (Xóa chữ Text)
8 | TextBox Name TxtHesoc
BackColor Mau trang Font Name MS ~ Sans Serif
Font Size 15
Font Style Bold
Text (Xda chit Text) 9 | TextBox Name TxtKetqua
BackColor Màu xanh nhạt Font Name VNI ~ Aptima
Font Size 12
Font Style Bold MultiLine True
Trang 26
1T | Command | Name CmdKetqua
Button Caption Nghiệm của PT trùng phường
Font Name VNI - Dom
Font Size 18
Font Style Normal
12 | Command | Name CmdHuongdan
Button Caption Hướng dẫn nghiệm của PTB 2
Font Name VNI - Dom
Font Size 14
Font Style Normal
13 | Command | Name CmdHDgiaiPTTP
Button Caption Hướng dẫn giải PT trùng phương
VNI ~— Dom
Font Name 14
Font Size Normal
Font Style
14 | Command | Name CmdDK2nghiem
Button Caption Dk PTB 2 có hai nghiệm cùng dấu
Font Name VNI - Đom
Font Size 14
Font Style Normal 15 | Command | Name CmdTomtat
Button Caption Tóm tất nghiệm PTB 2 va
PTTP font Name VNI - Dom
Font Size 14
Font Style Normal 16 | Command | Name CmdExit
Button Caption Exit
Trang 27Bước †
THIẾT KẾ FORM CỦA CHƯƠNG TRÌNH
+ Bạn lần lượt lấy các điều kiểm từ hộp công cụ để đưa vào Form
của chương trình, sau đó xác lập các thuộc tính cho tất cả các điều
Trang 28TxtKetqua = " Phương trình vô nghiệm vì " & Xh & ” Delta =
“& Delta & “< 0“ Else If Delta = 0 Then tl = -b/(2 * a) 12 = -b/(2* a) Ift! <0 Then TxtKetqua = " Phương trình vô nghiệm vì " & Xh & “ tÌ =12= “&tl&“<0“ Elself t† = 0 Then TxtKetqua = "x1 = x2 = x3 =x4 =0" Elself U > 0 Then
TxtKetqua = "Phương trình có 4 nghiệm " & Xh & “ x1
=" & Sqr(tt) & Xh & "x2 =" & -Sqr(t1) & Xh & "x3 =" & Sar(t2) & Xh & "x4 ="& —Sur(t2)
End If Else
tl = (~b + Sqr(Delta)) / (2 * a) t2 = (~b - Sqr(Delta)) / (2 * a)
itl <0 And t2 <0 Then
TxtKetqua = " Phương trình vô nghiệm vi" & Xh &
“tl=“&t&*“<0 và t2= “&12&“<0“
Elself t1 = 0 And t2 = 0 Then
TxtKetqua ="x1 = x2 = x3 =x4= 0"
Elself t1 > 0 And t2< 0 Then
TxtKetqua = " Phương trình có 2 nghiệm " & Xh & "
x1 =" & Sqr(1) & Xh & "x2 ="& —Sqr(1}
Trang 29Elself t1 < 0 And 2 > 0 Then
TxtKetqua = “ Phương trình có 2 nghiệm " & Xh & "
xI =" & Sqr(t2) & Xh & " x2 =" & -Sar2)
Elself t1 > 0 And t2 > 0 Then
TxtKetqua = " Phương trình có 4 nghiệm " & Xh & "
x1] =" & Sqr(t1) & Xh & °x2 =" & -Sqrít1) & Xh & " x3 =" & Sqr(t2) & Xh & " x4 = " & -Sqart2)
End tí End tí End lí End Sub
+ Thủ tục này giống như thủ tục giải phương trình bậc 2 mà bạn đã
làm ở trên Bạn biết rằng muốn giải phương trình trùng phương
ax’ + bx? + c = 0, trước tiên bạn đặt t= xỶ, với L> = 0
+ Lúc đó bạn sẽ có chương trình bậc 2 : a + bt+ c = 0
+ Với giá trị của t1 và 12 tìm được, bạn xét giá trị của t1 và 12 để
suy ra nghiệm của phương trình trùng phương
+ Qua bảng tóm tắt nghiệm của phương trình bậc 2 và phương
trình trùng phương ở trên, bạn có thể suy luận để tìm được nghiệm của
phương trình trùng phương
+ Khai báo biến t1 và t2 kiểu Single để chứa nghiệm của phương,
trình bậc 2
+ Khai báo 4 biến x1, x2, x3, x4 có kiểu Single để chứa nghiệm của phương trình trùng phương (thực ra không cần có 4 biến này, nhưng để cho sáng sủa bài, chúng tôi mới dùng như vậy)
+ Biến Xh các bạn đã quá quen thuộc
+ Biến Delta có kiểu Single dùng để chứa bỶ ~ 4ac
Trang 30+ Đầu tiên nếu Delta < 0, PTB2 vô nghiệm nên trong trường hợp
này PT trùng phương cũng vô nghiệm
+ Nếu Delta = 0, PTB 2 có nghiệm kép t = t2 = —b / 2a, lúc này Các bạn phải xét các trường hợp có thể xây ra
~_ Trường hợp t1 = 12 < 0 > phương trình trùng phương sẽ vô
nghiệm Vì xŸ không thể bằng t là số âm
- Trường hợp tï = t2 = 0 > phương trình trùng phương có 4 nghiệm đều bằng 0 —_ Trường hyp tl = t2 > 0 > phương trình trùng phương có 4 nghiệm x1 = Se (U1), x2 = — Sqr (tH), x3 = Sqr (L2), x4 = ~ Sqr (12) + Néu Delta > 0, phương trình bậc 2 sẽ có hai nghiệm, lúc này : {1 = —b + Sqr (Delta) / (2 * a) 12 = —b ~ Sqr (Delta) / (2 * a)
+ Trong trường hợp này, chúng ta cũng phải xét các trường hợp :
~ Néu tl <0 va (2 < 0 => phương trình trùng phương sẽ vô nghiệm —_ Nếu tÍ = 12 = 0 >> phương trình trùng phương có 4 nghiệm đều bằng 0 ~ Nếu tÌ >0 và !2< 0 > phương trình trùng phương có 2 nghiệm x1 = Sqr (t1) và x2 = — Sqr (L1) — Nếu tÏ < 0 và t2 > 0 phương trình trùng phương có 2 nghiệm x1 = Sqr (t2) và x2 = —Sqr (12) = Nếu >0vàt>0g> phương trình trùng phương có 4 nghiệm XĨ = Say (L1), x2 = ~Sqr (t1), x3 = Sqr (12), x4 = — Sqr (2)
2) Viết Code chơ điều kiểm CmdDK2nghiem Private Sub CmdDK2nghiem_Click)
Dim Xh As String
Xh = Che(t3) & Chri10)
Trang 31TxtHuongdlan = "1— Điều kiện phương trình bậc 2 có nghiệm cùng dấu"
TxtHuongdan = TxtHuongdan & Xh &" + Delta >=
P=c/a>0"
TxtHuongdan = TxtHuongdan & Xh & "2- diéu kién
phương trình có hai nghiệm dương"
TxtHuongdan = TxtHuongdan & Xh & "+ Delta >= P=c/a>0,S=-b/a»0" TxtHuongdan = Txtiuongdan & Xh & "3— Điều kiện có nghiệm âm” TxtHuongdan = TxtHuongdan & Xh & "+ Delta >= P=c/a>0,S=-b/a<0" hai 0,
TxtHuongdan = Txt1uongdan & Xh & "4— Điều kiện có hai
nghiêm trái dấu"
TxtH1uongdan = TxtHuongdan & Xh &" +P.=c/a<0,hoặc a và c trái dấu "
End Sub
+ Khai báo biến Xh có kiểu String để chứa mã xuống hàng
+ Nối chuỗi, canh những chỗ cẩn xuống dòng và cuối cùng sẽ có
kết quả như dầu bài đã cho
3) Viết Code cho điều kiểm CmdExit
Private Sub CmdExit_Ctick() End
fnd Sub
4) Viết Code cho điều kiểm CmdHDgiaiPTTP
Private Sub CmdHDgiaiPTTP_Click() Dim Xh As String
Xh = Chr(13) & Chr(10)
Trang 32" TxtHuongdan = " Để giải phương trình trùng phương âx^4 + bx^2 +c=0(10 TxtHuongdan = TxtHuongdan & Xh & " ~ PHƯƠNG PHÁP GIẢI :" TxtHuongdan = TxtHuongdan & Xh&" 4 Patt = x^2, với t>=0,1a có " TxtHuongdan = TxtHuongdan & Xh & " +) <-—~> at42 + bt+c=0 (2)"
TxtHuongdan = TxtHuongdan & Xh &" + PT (1) có nghiệm hay không tuỳ theo PT (2) có nghiệm t >= 0 hay không."
TxtHuongdan = TxtHuongdan & Xh &" + Giải phương trình
at^2 + bL+ c= 01
TxtHuongđan = TxtHuongdan & Xh & "+ Giả sửt >= 0 —r—~>X= Sqr (Ù và x = ~ Sqr (t)"
End Sub
+ Thủ tục này cũng được giải thích như thủ tục ở trên, trong cửa sổ viết Code, không đánh được dấu mũ, do đó chúng tôi dùng kí tự dấu lũy thừa là “ ^ “,
5) Viết Code cho điều kiểm CmdHuongdan
Private Sub CmdHuongdan_Click0
Dim Xh As String
Xh = Chr(13) & Chr(10)
TxtHuongdan = " Delta = b *b - 4*a * ch
TxtHuongdan = TxtHuongdan & Xh & "— Nếu Della < 0 —_>
Vô nghiệm "
Trang 33TxtHuongdan = TxtHuongdan & Xh & "— Nếu Delta = 0 -—>
Có nghiệm kép t1 = t2 = -b /2 * a)"
TxtHuongdan = TxtHuongdan & Xh & " - Nếu Delta > 0 ~~> Có 2 nghiệm phân biệt tĩ= —b + Sgr(Delta)/(2*a) và t2 = =b —
Sar(Delta)42*a)"
End Sub
+ Thủ tực này cũng được giải thích tương tự như trên
6) Viết Code cho điều kiểm CmdKetqua
Private Sub CmdKetqua_Click()
PTB4 TxtHesoa, TxtHesob, TxtHesoc
End Sub
7) Viết Code cho điều kiểm CmdTomtat
Private Sub CmdTomrat_ Click()
Dim Xh As String Xh = Chr(13) & Chr(10)
TxtHuongdan = "BANG TOM TAT"
TxtHuongdan = TxtHuongdan & Xh & "at^2 + bt + c = 0 ax^4 + bx^2+c=0” TxtHuongdan = TxtHuongdan & Xh & "1- Vô nghiệm 1— Vô nghiệm" TxtHuongdan = TxtHuongdan & Xh & "2- 2 nghiệm âm 2~ Vô nghiệm" TxtHuongdan = TxtHuongdan & Xh & " 3- Nghiệm kép am 3~ Vô nghiệm"
TxtHuongdan = TxtHuongdan & Xh & "4- 1 nghiệm dương
Trang 34TxtHuongdan = TxtHuongdan & Xh & " 5- 2 nghiệm dương 5= 4 nghiệm (2 cặp nghiệm đối nhau "
End Sub
+ Trong thủ tục này chúng tôi phải chừa những khoảng trắng sao
cho phù hợp với đầu bài
Bước 3
CHẠY THỬ CHƯƠNG TRÌNH
+ Bạn Click F5 để chạy thử chương trình, sau đó Click vào nút
Command Button có tiêu đề “ Hướng dẫn nghiệm của PTB 2 “, bạn sẽ có kết quả như hình 31b & PHƯƠNG TRÌNH TRUNG PHUONG |] - Néu Delta > 0-> C6 2 nghiệm phan biết tì -b + Sayt Delta )/( 24a) va 2 = -b- Sqr Delta) 292 ) - Nếu Oella = 0 -> Cổ nghiệm kép tĩ = t2 = ‹bÄ2 * 2)
Hướng “i PT Tràng phưng - [T — Tấm tắt sgiện PTB 2 và PTTP
stat] | Bs A || Sy Poet Meroe] pyMcronot Word-C.ffts PHUONG TRL Qe TM
Hinh 31b
Trang 35
+ Ban thay trong TextBox cé tên TxtHuongdan sẽ tóm lược đôi nét về kết quả nghiệm của phương trình bậc 2
+ Bây giờ các bạn thử Click vào nút Command Button có tiêu đề “
Hướng dẫn giải PT trùng phương “, bạn sẽ thấy kết quả thể hiện như
hình 31c
+ PT L1) có nghiệm hay không tuỳ theo PT (2 ) cơ nghiệm t>= 0 hay không + Giải phương trình at^2 + bt + c = 0
+ Giá 8 t>= 0 —> x= Sqr (1) va x= -Sqr(t),
an _
DK PTE 2 cế bai sghiệm căng đến
l[ tom 44 oghifee PTB 2 va PITP
wasted] | yA D aen.M.| RMesetw || PuuONG gyeweiPan | | 28M
3
Hướng đấu agaifm ele PTB 2
Hình 31c
+ Bạn cũng thấy hướng dẫn cách giải phương trình trùng phương + Bây giờ bạn thử Click vào nút có tiêu đề “ ĐK PTB 2 có hai
nghiệm cùng dấu “, bạn sẽ thấy kết quả thể hiện như hình 31d
Trang 36TỆ- si kiến (| +Dela>=o.P=c/a>o |>- Điều kiện cơ hại nghiệm âm, + Delta se 0 P=c/a>0,5=-b/a> 0 dể phoơng tình có bài nghiệm dương + Della >e0.P=c/a>0,S=-b/a<0 Điều kiện có hai nghiệm trấi dấu
+P=c/a<0 hoặc a vàc trái dấu mm” Hinh rrrn|
đa wa PT Ta == h Tn đít nhiệm PIB 2 a PP sẽ
stant] | 8 #: K22 X2 | By Projectt-m -| RVMeesotw || PHuoNg, - ig sae: Pant _| | 73pm Hinh 31d
+ Bây giờ bạn thử Click vào nút Command Button có tiêu dé “ Tóm
tắt nghiệm PTB2 và PTTP “, bạn sẽ có kết quả như hình 31e '& PHUONG TRỊNH TRUNG PHUONG
BẰNG TÓM TẮT
TA 1- Về nghiệm 1- Vô nghiệm 2- 2 nghiệm âm 3- Nghiệm kép âm 3- Vô nghiệm 2- Vô nghiệm
Trang 37+ Nhờ canh những khoảng trắng, các bạn mới có thông tin 6 vị trí như trong hình, nếu không canh thì thông tin sẽ hiện ở đầu dòng
+ Bây giờ các bạn thử nhập vào hệ số a, hệ số b và hệ số c sao
cho Delta < 0 Để kiểm tra xem phương trình có báo là Vô nghiệm hay
không, và kết quả của Delta lúc này là bao nhiêu
+ Giả sử bạn nhập a = 1, b= 2,c = 5 Nếu nhập như vậy bạn sẽ 6 Delta = 4 — 20 = -16 < 0 > Phương trình phải báo là vô nghiệm vi Delta = - 16 < 0 |[ Phương trình vô nghiệm vì Delta = -16 <0 Ngiện PT trăn pướn coma Hướng di aghifm ede PTB 2 9K PIB 2 cổ ki gh cầu dấu LH ng | 1 SH | Stace] | Œ Es GA A || By Project -o nh Psm |[m PHUONG | 833PM Hình 31
+ Vậy là chương trình đã báo đúng
+ Bây giờ bạn thử nhập hệ số a, b, c sao cho Delta = 0
+ Giả sử bạn nhập a = 1, b = 2, c = 1 Ltic nay Delta = 4 - 4 = 0
Lúc này phương trình bậc 2 sẽ có nghiệm số kép t1 = t2 = - b/2a = ~
2/2*1=-I
Trang 38_Tâm tt shiậm PT8 2 và ĐTTP JTŸ Hình 31g _—_ Miếng die gai PT Tring phưng swat | B54 © || ByPrdeett of
+ Bạn thấy trong Textbox cau phương trình vô nghiệm vì t1 = t2 = — 1 <0 (vậy đây không phải là vô nghiệm vì Delta < 0, nếu chúng tôi không ghi thêm t1 = t2 = < 0, thì các bạn có thể nói là chưa chắc
là nó rơi vào trong phát biểu IF này)
+ Bây giờ bạn cũng canh sao cho Delta = 0, nhưng có nghiệm
tl =2 >0 Bạn xem phần điều kiện có 2 nghiệm cùng duơng Bạn
thấy khi Delta = 0, P=c/a>0vaS=~—b/a>0 thi PTB 2 sẽ có 2 nghiém duong
+ Bạn cũng nhập 3 hệ số như trên nhưng b = ~2 để có S*> 0
+ Vậy bạn sửa b = ~2, a van bing 1, c vẫn bằng 1
+ Với giá trị trên, các bạn thấy :
~ Delta = bŸ ~ 4ac = (—2)? ~ 4 (1) (1)= 4 - 4 =,0,
=P=c/a=1/1=1>0
-S=-b/a=-(-2)/1=2>»0
Trang 39Vậy tl =t(2=-b/2a= - (- 2)/2.1 = 1 >0 > phương trình sẽ có 4 nghiệm : xI=Sqr() =1 x2 = - Sqr (tl) =-1 x3=Sqr(2) =1 x4 = —Sqr(tl) =-1 Bạn sẽ có hình như sau : « PHUONG TRÌNH Hưng lấn sgiện của PIB 2 ĐC PTB 2 cố k miện cùng đến
Prarnrram | Tâm lát sgiện PT8 2 và PITP a lễ
Rte] | @ 8: 1 32 || taPeeelM.| ý MeeeotW.| /Øj439:PAnl |[D PHUONG Í({: 300M Hình 31h
+ Bạn thấy kết quả chính xác phải không
+ Bây giờ bạn nhập a, b, c sao cho Delta > 0, và trước hết có 2 nghiệm
Trang 40+P=c/a=2/2=1>0
+S=-b/a=-5/2<0
Vậy chắc chắn phương trình bậc 2 sẽ có hai nghiệm đều âm > phương trình trùng phương sẽ vô nghiệm
+ Lúc nay tl = —b + Sqr (Delta)/2 *a=-54+3/4= -2/4 = -1/2=-0,5 + Lúc này t2 = =b ~ Sqr (Delta) / 2 *a=-5-3/4=-8/4= -2
+ Bây giờ bạn Click để xem kết quả có như vậy hay không & PHUONG TRÌNH TRUNG PHUONG [[ Phương trình vó nghiệm vì t1 =-0,5 <0 và 2 =-2 <0 am Nghiệm oía PT trăng phương
Hiếu, đấu sgiận của PIB 2 DK PTB 2 cổ lai nHiận của dấu
Hướng đấu gii PT Tràng phưng Tém tat sghiệm PTE 2 vĩ PTỊP - sul
Bisel |B 259 2 || Krenn | wyvcomw] gren-ran JJSPmuông RE SAL
Hinh 31i
+ Bạn thấy chính xác phải khong ?
+ Bây giờ bạn canh sao cho phương trình bậc 2 có hai nghiệm đều
dương, lúc này phương trình trùng phương sẽ có 4 nghiệm