Bài tập VBA đơn giản dành cho người mới bắt đầu [Phần 2]

Liên hệ QC

ChanhTQ@

0901452không62
Tham gia
5/9/08
Bài viết
4,254
Được thích
4,861
Xin các bạn có bài tập nào hay hay đăng lên để cùng nhau luyện cho mau tiến bộ nhe!
Mình xin mở màn bài đầu:
ĐỀ BÀI 1:

Tôi có bảng số liệu từ cột [A..E] như sau:

| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W 2 |HoTen|Date1|Date2|Date3|Date4|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18
3 |Hồ Lễ|3|5|7|13|Do|Do|Do|Xh|Xh|Vg|Vg|Tm|Tm|Tm|Tm|Tm|Tm||.|||
4 |Đỗ Nè|4|8|13|15|Nu|Nu|Nu|Nu|Xh|Xh|Xh|Xh|Xm|Xm|Xm|Xm|Xm|Dn|Dn|||
5 |Vũ Xe|2|4|12|13|Do|Do|Vg|Vg|Nu|Nu|Nu|Nu|Nu|Nu|Nu|Nu|Hg|||.|||

Phần từ cột [F] trở đi là phần cần viết 1 macro để nó tô màu nền khác nhau theo những giá trị cùng dòng từ cột [B..E];
Màu tô do bạn tự chọn, cốt fân biệt giữa chúng & dịu mắt là được!


PHẦN TỔNG HỢP CÁC ĐỀ BÀI TẬP:

Tên|Tóm tắc|Bài thứ
Đề bài 1|Tô màu theo trị số các ô bên trái cùng dòng| #1
Đề bài 1A|Lọc theo các số cần thiết từ các chuỗi số| #73
Đề bài 1B|Xác định loại tam giác dựa trên 3 số ngẫu nhiên được tạo ra| #82
Đề bài 2|Lập danh sách học sinh theo từng lớp| #11
Đề bài 2A|Dịch ngôn ngữ VBA sang tiếng Việt| #19
BĐT(*)|Lập danh sách các nữ HS có ngày sinh trong 1 quí| #101
Đề bài 3|Thống kế kết quả điểm của từng lớp theo từng môn học| #22
Đề bài 4|Lập danh sách HS các lớp đạt điểm cực trị của từng môn| #46
Đề bài 4A|Tìm trong danh sách thí sinh, số báo danh nào có tổng điểm các môn cao nhất| #94
Đề bài 5|Thống kê từng khoảng điểm của môn học| #58
Đề bài 6|Thống kê điểm trung bình theo giới tính| #71

(*) BĐT: Bài đọc thêm

.
.
.
 
Lần chỉnh sửa cuối:
Cái ni đáp ứng cho việc lọc nâng cao nè, Thảo.

PHP:
Option Explicit
Function TachSo(StrNum As Variant, Num1 As Long, Num2 As Long, Num3 As Long) As String
 Dim Tmp As Long, VT As Byte:               Const DF As String = ","
 On Error GoTo GPE
1                                           StrNum = StrNum & DF
 Do
    VT = InStr(StrNum, DF)
    If VT <= 1 Then Exit Do
    Tmp = Int(Left(StrNum, VT - 1))
    If Tmp = Num1 Then TachSo = TachSo & CStr(Num1) & DF
    If Tmp = Num2 Then TachSo = TachSo & CStr(Num2) & DF
    If Tmp = Num3 Then TachSo = TachSo & CStr(Num3) & DF
    StrNum = Mid(StrNum, VT + 1, Len(StrNum))
 Loop
 If Right(TachSo, 1) = "," Then TachSo = Left(TachSo, Len(TachSo) - 1)
Err_:                                       Exit Function
GPE:
    MsgBox Err, , Erl:                      Resume Err_
End Function
 
Upvote 0
Bài tập 1B: Xác định loại tam giác

ĐỀ BÀI 1B:

Trên 1 trang tính trắng ta tạo 1 nút nhấn (Ví dụ tại [D1])

Khi nhấn nút này, macro sẽ cho ta 3 giá trị ngẫu nhiên nguyên dương từ 5 đến 20 vô các ô [A4:C4]

Tại [D4] ta cài sẵn hàm người dùng để nó xác định giúp ta đó là loại tam giác gì (Lỗi, Thường, Vuông, cân, Vuông cân, đều)

| A | B | C | D 1 |Tam giác|Loại gì?||,,,,,,,
2 ||||
3 |Cạnh A|Cạnh B|Cạnh C|Loại TG:
4 |4|5|6|Thường

Như vậy là chúng ta có 2 yêu cầu:
(1) Tạo macro gắn với nút nhấn, để khi nhấn nó, nó sẽ tạo ra cho ta 3 số ngẫu nhiên nguyên dương từ 5..20
(2) Viết hàm người dùng gài sẵn ở [D4] để kết luận loại tam giác do 3 số ngẫu tạo ra.

Chúc các bạn thành công.
 
Upvote 0
ĐỀ BÀI 1B:

Trên 1 trang tính trắng ta tạo 1 nút nhấn (Ví dụ tại [D1])

Khi nhấn nút này, macro sẽ cho ta 3 giá trị ngẫu nhiên nguyên dương từ 5 đến 20 vô các ô [A4:C4]

Tại [D4] ta cài sẵn hàm người dùng để nó xác định giúp ta đó là loại tam giác gì (Lỗi, Thường, Vuông, cân, Vuông cân, đều)
---
Như vậy là chúng ta có 2 yêu cầu:
(1) Tạo macro gắn với nút nhấn, để khi nhấn nó, nó sẽ tạo ra cho ta 3 số ngẫu nhiên nguyên dương từ 5..20
(2) Viết hàm người dùng gài sẵn ở [D4] để kết luận loại tam giác do 3 số ngẫu tạo ra.

Chúc các bạn thành công.
Em viết đại, chẳng biết đúng hay sai nữa:
[gpecode=vb]
Sub Button1_Click()
Dim a As Integer, b As Integer, c As Integer, cL As Range
With Sheet1
[A4] = Int(Rnd() * 16) + 5
[B4] = Int(Rnd() * 16) + 5
[C4] = Int(Rnd() * 16) + 5
a = Application.Min([A4:C4])
c = Application.Max([A4:C4])
If [A4] = [B4] And [B4] = [C4] Then
[D4] = "Deu"
ElseIf [A4] = [B4] Or [A4] = [C4] Or [B4] = [C4] Then
If c = a ^ 2 Then
[D4] = "Vuong can"
Else
[D4] = "Can"
End If
Else
For Each cL In .[A4:C4]
If cL > a And cL < c Then
b = cL
End If
Next cL
If a ^ 2 + b ^ 2 = c ^ 2 Then
[D4] = "Vuong"
ElseIf a + b >= c Then
[D4] = "Thuong"
Else
[D4] = "Loi"
End If
End If
End With
End Sub
[/gpecode]
 

File đính kèm

  • Tam giac.xls
    34.5 KB · Đọc: 20
Upvote 0
Còn thiếu 2 cái:

2uan trọng là 1 cạnh > 2 cạnh còn lại thì không thể là tam giác.

Chú chưa khởi động bộ tạo số ngẫu.

Chịu khó sửa đi chú.
 
Upvote 0
Ủa, hàm Rnd là số ngẫu nhiên mà bác.
Còn cạnh lớn nhất lớn hơn 2 cạnh còn lại là đã làm theo phương pháp loại trừ rồi.
 
Upvote 0
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Dưới góc độ rèn kỹ năng hàm IF() thì bài này nên viết như sau:

PHP:
Option Explicit
Sub TamGiacGi()
 Dim Aa As Integer, Bb As Integer, Cc As Integer, Tmp As Integer
 Const TG As String = "Tam giác "
 
 Randomize:                                 Cc = 5 + 15 * Rnd() \ 1
 Aa = 5 + 15 * Rnd() \ 1:                   Bb = 5 + Int(15 * Rnd())
 If Bb > Aa Then Tmp = Aa:      Aa = Bb:    Bb = Tmp
 If Cc > Aa Then Tmp = Aa:      Aa = Cc:    Cc = Tmp
 If Bb < Cc Then Tmp = Cc:      Cc = Bb:    Bb = Tmp
 [f3].Value = Aa:                             [h3].Value = Cc
 [g3].Value = Bb
 
 If Aa >= Bb + Cc Then
    Tmp = 0
 ElseIf Aa ^ 2 = Bb * Bb + Cc * Cc Then
    If Bb = Cc Then Tmp = 1 Else Tmp = 2
 ElseIf Aa = Bb Or Bb = Cc Then:            Tmp = 3
 ElseIf Aa = Bb And Bb = Cc Then:           Tmp = 4
 Else:                                      Tmp = 5
 End If
 If Tmp = 0 Then
    [j3].Value = "Khong The Là " & TG
    [j3].Interior.ColorIndex = 3
 Else
    [j3].Value = TG & Choose(Tmp, "Vuong Can", "Vuong", "Can", "Dèu", "Thuòng", "GPE.COM")
    [j3].Interior.ColorIndex = 34 + Tmp
 End If
End Sub

Trong macro, ta đang dùng tiếng Việt nữa vời.
Để trên trang tính ta có những mệnh đề tiếng Việt hoàn ching; Chúng ta có thể gởi trị trong tham biến Tmp vô ô nào trống gần [J3];
Sau đó tại [J3] ta dùng hàm CHOOSE() để thể hiện tiang Việt 1 cách nghiêm chỉnh.

Chúc các bạn ngày cuối tuần vui vẻ!
 
Upvote 0
Mình xóa bài vì thấy không hay .
 
Lần chỉnh sửa cuối:
Upvote 0
Đề nghị bạn fục hồi bài cho không ít người của cộng đồng tham khảo đi nha.

Có gì mà không hay cơ chứ:
[ThongBao]Ngoai Thanh
Mình xóa bài vì thấy không hay . [/ThongBao]
Cách viết tiếng Việt của bạn là chuẩn không cần chỉnh mà!

Tuy nhiên cách trên nêu (Dùng hàm CHOOSE() trong Ex.) cũng có thể đạt được, 1 khi trình độ VBA đang còn cấp thấp!
 
Lần chỉnh sửa cuối:
Upvote 0
Có gì mà không hay cơ chứ:
[ThongBao]Ngoai Thanh
Mình xóa bài vì thấy không hay . [/ThongBao]
Cách viết tiếng Việt của bạn là chuẩn không cần chỉnh mà!

Tuy nhiên cách trên nêu (Dùng hàm CHOOSE() trong Ex.) cũng có thể đạt được, 1 khi trình độ VBA đang còn cấp thấp!
Sợ thày và các bạn cho là "tinh vi", bài thì không làm được lại sửa tiếng việt bài thày nên nhà em xóa bài sợ mình vô duyên . Nếu thày đã nói vậy nhà em xin phục hồi lại .

Sub TamGiacGi()
Dim Aa As Integer, Bb As Integer, Cc As Integer, Tmp As Integer
Const TG As String = "Tam giác "

Randomize: Cc = 5 + 15 * Rnd() \ 1
Aa = 5 + 15 * Rnd() \ 1: Bb = 5 + Int(15 * Rnd())
If Bb > Aa Then Tmp = Aa: Aa = Bb: Bb = Tmp
If Cc > Aa Then Tmp = Aa: Aa = Cc: Cc = Tmp
If Bb < Cc Then Tmp = Cc: Cc = Bb: Bb = Tmp
[f3].Value = Aa: [h3].Value = Cc
[g3].Value = Bb

If Aa >= Bb + Cc Then
Tmp = 0
ElseIf Aa ^ 2 = Bb * Bb + Cc * Cc Then
If Bb = Cc Then Tmp = 1 Else Tmp = 2
ElseIf Aa = Bb Or Bb = Cc Then: Tmp = 3
ElseIf Aa = Bb And Bb = Cc Then: Tmp = 4
Else: Tmp = 5
End If
If Tmp = 0 Then
[j3].Value = "Không th" & ChrW(7875) & " là tam giác"
[j3].Interior.ColorIndex = 3
Else
[j3].Value = TG & Choose(Tmp, "Vuông cân", "vuông", "cân", ChrW(273) & ChrW(7873) & "u", "th" & ChrW(432) & ChrW(7901) & "ng", "GPE.COM")
[j3].Interior.ColorIndex = 34 + Tmp
End If
End Sub
 
Upvote 0
Ký tự ":" bị lạm dụng.
Dùng trong câu lệnh IF thì đúng nhiệm vụ của nó là ép nhiêuf l;ệnh vào một dòng. Nhưng dùng ngoài lệnh IF thì mục đích là nhóm các lệnh cùng nhóm với nhau. Không theo chuẩn làm nhóm lệnh trở nên tối nghĩa.
Dùng ký tự này với lệnh On error Resume Next sẽ có khả năng cho ra kết quả bất ngớ.

@leonguyenz:
Đề bài không bảo ghi vào các ô A4,B4,C4. Bạn ghi vào là sai đề
Muốn sử dụng hàm của application thì dùng Array
Dim snn()
snn = Array(Int(Rnd() * 16) + 5, Int(Rnd() * 16) + 5, Int(Rnd() * 16) + 5)
c = Application.Max(snn)
a = Application.Min(snn)
Nếu muốn tìm đoạn giữa thì:
snn(Application.Match(c, snn, 0) - 1) = a ' thế phần thử lớn nhất phần tử nhỏ nhất
b = Application.Max(snn) ' b là số ở giữa

Tôi chỉ mách cho bạn cách dùng hàm của Application thôi. Còn giải thuật của bạn có đúng hay không tôi chưa xem tới.
 
Upvote 0
ĐỀ BÀI 1B:

Trên 1 trang tính trắng ta tạo 1 nút nhấn (Ví dụ tại [D1])

Khi nhấn nút này, macro sẽ cho ta 3 giá trị ngẫu nhiên nguyên dương từ 5 đến 20 vô các ô [A4:C4]

Tại [D4] ta cài sẵn hàm người dùng để nó xác định giúp ta đó là loại tam giác gì (Lỗi, Thường, Vuông, cân, Vuông cân, đều)

| A | B | C | D 1 |Tam giác|Loại gì?||,,,,,,,
2 ||||
3 |Cạnh A|Cạnh B|Cạnh C|Loại TG:
4 |4|5|6|Thường

Như vậy là chúng ta có 2 yêu cầu:
(1) Tạo macro gắn với nút nhấn, để khi nhấn nó, nó sẽ tạo ra cho ta 3 số ngẫu nhiên nguyên dương từ 5..20
(2) Viết hàm người dùng gài sẵn ở [D4] để kết luận loại tam giác do 3 số ngẫu tạo ra.

Chúc các bạn thành công.
Tham gia cho vui nhà vui cửa, lâu rồi không tham gia chủ đề này
 

File đính kèm

  • TAMGIAC.xlsm
    23 KB · Đọc: 16
Upvote 0
Hình như bạn này chưa xét trường hợp tam giác vuông cân thì fải

[Thongbao]Tham gia cho vui nhà vui cửa, lâu rồi không tham gia chủ đề này[/Thongbao]
 
Upvote 0
Bài tập 4A: Tìm thí sinh có tổng điểm các môn cao nhất trong 1 danh sách.

ĐỀ BÀI 4A


Ở bài 4 chúng ta đẽ lập ra danh sách các em có điểm từng môn cao nhất (& cả thấp nhất)
Nhiệm vụ lần này của chúng ta có vẻ nhẹ nhàng hơn:

Tìm ra trong danh sách như dưới đây, số báo danh nào có tổng điểm các môn là cao nhất?


STT| SBD |HoTen|Lop|Van|Li|Dia|Toan|Sinh|Anh
001|350030|Đàm Đức Anh|12A|8.8|9|8.8|8|7.8|5.5
002|350031|Đàm Bá Sự|12A|8.8|9|8.8|8|7.7|5.5
003|350097|Doãn Thị Huyền|12A|9|9|8.8|8|8|5.5
..||)*&^)|..|.||.||.|.
108|350629|Trần Hoài Fương|12A9|4.8|5|5.5|4.8|5|8
 

File đính kèm

  • gpeBaiTap.rar
    12.6 KB · Đọc: 11
Upvote 0
Tham gia cho vui nhà vui cửa, lâu rồi không tham gia chủ đề này

Bài giải của bạn có những điểm sau đây:

(A) Trình bày:
Nút bấm ghi là "kiểm tra", trước khi bấm, người ta ta nhìn thấy trên màn hình là a1, b1, c1, và THUONG.
Nếu tôi bấm but, tôi nghí là tôi đang kiểm tra 3 số a1, b1, c1 này
Sau khi bấm, trên màn hình là a2, b2, c2 và THUONG/DEU/... làm tôi bất ngờ

Bạn nên đặt nút tên là "KIEM TRA BA SO KHAC".

(B) Giải thuật:
Bình thường, theo lập trình cơ cấu thì tạo ra từng hàm để xét tính chất là đúng. Nhưng tam giác là trường hợp đặc biệt. Nếu biết được cạnh dài nhất thì hầu hết các tính chất đều sẽ đơn giản 1/2 các con toán so sánh - trừ tính chất cân. Vì vậy, sort giá trị rồi làm luôn một thể thì tiện hơn.

Theo tôi hiểu thì lô gic TG Cân của bạn loại trường hợp TG đều. Như vậy là phản đại số, TG đều chỉ là trường hợp đăc biệt của cân.

(C) Mở rộng:
Tôi nhớ mang máng hình như bạn có nói mình chuyên về C++.
Với trình độ này, bạn nên thử làm hai chiều hướng mở rộng. Các cạnh là số thực, không nhất thiết là số nguyên (*)

(*) đối với người mới bắt đầu, phân biệt sô thực và sô nguyên là một điều căn bản cần phải học, và bài này là một cơ hội tốt.
 
Upvote 0
Bài giải của bạn có những điểm sau đây:

(A) Trình bày:
Nút bấm ghi là "kiểm tra", trước khi bấm, người ta ta nhìn thấy trên màn hình là a1, b1, c1, và THUONG.
Nếu tôi bấm but, tôi nghí là tôi đang kiểm tra 3 số a1, b1, c1 này
Sau khi bấm, trên màn hình là a2, b2, c2 và THUONG/DEU/... làm tôi bất ngờ

Bạn nên đặt nút tên là "KIEM TRA BA SO KHAC".

(B) Giải thuật:
Bình thường, theo lập trình cơ cấu thì tạo ra từng hàm để xét tính chất là đúng. Nhưng tam giác là trường hợp đặc biệt. Nếu biết được cạnh dài nhất thì hầu hết các tính chất đều sẽ đơn giản 1/2 các con toán so sánh - trừ tính chất cân. Vì vậy, sort giá trị rồi làm luôn một thể thì tiện hơn.

Theo tôi hiểu thì lô gic TG Cân của bạn loại trường hợp TG đều. Như vậy là phản đại số, TG đều chỉ là trường hợp đăc biệt của cân.

(C) Mở rộng:
Tôi nhớ mang máng hình như bạn có nói mình chuyên về C++.
Với trình độ này, bạn nên thử làm hai chiều hướng mở rộng. Các cạnh là số thực, không nhất thiết là số nguyên (*)

(*) đối với người mới bắt đầu, phân biệt sô thực và sô nguyên là một điều căn bản cần phải học, và bài này là một cơ hội tốt.

em chỉnh lại như vậy thầy xem thấy được không
Function KIEMTRA(ByVal C1 As Double, ByVal C2 As Double, ByVal C3 As Double)
If ((C1 + C2 <= C3) Or (C1 + C3 <= C2) Or (C2 + C3 <= C1)) Then
KIEMTRA = False
Exit Function
Exit Function
End If
KIEMTRA = True
End Function
Function TINHCHATTAMGIAC(ByVal C1 As Double, ByVal C2 As Double, ByVal C3 As Double) As String
If ((C1 = C2) Or (C1 = C3) Or (C2 = C3)) Then
If (C1 = C2 And C1 = C3) Then
TINHCHATTAMGIAC = "DEU"
ElseIf (C1 * C1 + C2 * C2 = C3 * C3) Or (C1 * C1 + C3 * C3 = C2 * C2) Or (C3 * C3 + C2 * C2 = C1 * C1) Then
TINHCHATTAMGIAC = "VUONGCAN"
Else
TINHCHATTAMGIAC = "CAN"
End If

ElseIf (C1 * C1 + C2 * C2 = C3 * C3) Or (C1 * C1 + C3 * C3 = C2 * C2) Or (C3 * C3 + C2 * C2 = C1 * C1) Then
TINHCHATTAMGIAC = "VUONG"
Exit Function
End If
TINHCHATTAMGIAC = "THUONG"
End Function
Sub BAITAP1()
Dim C1, C2, C3 As Double

C1 = Round(Rnd() * 15 + 5, 1)
C2 = Round(Rnd() * 15 + 5, 1)
C3 = Round(Rnd() * 15 + 5, 1)
Range("A4").Value = C1
Range("B4").Value = C2
Range("C4").Value = C3
If (KIEMTRA(C1, C2, C3) = False) Then
Range("D4").Value = "LOI"
Exit Sub
End If
Range("D4").Value = TINHCHATTAMGIAC(C1, C2, C3)
End Sub
 
Upvote 0
em chỉnh lại như vậy thầy xem thấy được không

Bạn là thầy giáo mà. Mình chơi cho nó toán học một chút:

Luật bất đẳng thức: nếu { a <= b <= c } and { a = c } suy ra { a = b = c }

1. sắp xếp để c >= b >= a
2. đặt TC = 0
3. nếu c > a+b ---> không phải TG; nhảy qua 8, không cần xét tiếp
4. nếu a = c ---> TG đều; TC = TC + 4; nhảy qua 8, không cần xét tiếp vì TG đều không thể vuông
5. nếu a = b hoặc b = c ---> TG cân; TC = TC + 1 nhưng vẫn xét tiếp vì nó có thể vuông
6. nếu c*c = a*a + b*b --> TG vuông; TC = TC + 2
7. nếu TC = 0 --> chả có tính gì cả; TC = 5
8. xét TG
Tinh_Chat_TG = Array( "Không phải TG", "Cân", "Vuông", "Vuông Cân", "Đều", "Thường")(TC)

=== Bổ sung ===

Riêng đề tài số thực thì bạn sai rồi. Cố nhớ lại xem ngày xưa học số thực ra sao - nếu tôi không lầm thì bạn nói mình là dân viết C++ mà!
 
Lần chỉnh sửa cuối:
Upvote 0
em vẫn chưa hiểu thầy nói về đề vấn đề " số thực" không biết là thầy muốn nói đến cách khai báo biến? phạm vi biến? độ lớn biến? hay là .., em vẫn chưa hiểu.thầy có thể giải thích cho em được không? hôm nay em được học hỏi thêm 1 giải thuật về kiểm tra tam giác. đúng em là dân lập trình cơ sở cách viết của em chủ yếu là chia nhỏ để dễ quản lý. em thường chọn những giải thuật đơn giản dễ hiểu để giải quyết vấn đề( giải thuật chưa tỗi ưu). khi nào giải quyết xong vấn đề thì em sẽ tự ngẫm ra các giải thuật khác tối ưu hơn. em cũng mới tiếp cận tới vba chủ yếu là vì cv, mà chưa có rành về code nên nhiều bài viết cũng chưa hay. có nhiều bài em có ý tưởng giải. chạy trên giấy thì ok mà viết vba thì lỗi nên thôi chọn cách viết ra đáp án chữa cháy chờ học hỏi. bên vba này khai báo biến không rõ như bên c nên cũng hơi hơi mù mờ. hy vọng là được học hỏi thêm từ thầy và các tv tren diễn đàn. xin chân thành cảm ơn
 
Upvote 0
em vẫn chưa hiểu thầy nói về đề vấn đề " số thực" không biết là thầy muốn nói đến cách khai báo biến? phạm vi biến? độ lớn biến? ...

khai báo biến? phạm vi biến? độ lớn biến? Những điều đó đều có tính chất tương đối.
Duy có một điều về số thực mà luôn luôn áp dụng, gần như cho mọi hệ thống, mọi ngôn ngữ. Nếu tôi dạy học thì tôi sẽ bảo HS tôi chép 20 lần câu này trong vở:

Số thực không thể so sánh bằng toán từ =

Hai số thực chỉ có thể chấp nhận là bằng nhau với một sai số nào đó. Trong lập trình số thực, người ta đặt ra một sô rất nhỏ làm sai số, vd epsilone = 1E-10 (0.0000000001) và so sánh 2 số thực như sau:

IF ABS(a - b) <= epsilon Then { a coi như bằng b }

Vì đề bài này từ đầu có quy định các cạnh là số nguyên cho nên các bạn cứ thẳng tiến. Nếu các cạnh là số thực thì các code trên tính ra sai hết!
 
Upvote 0
dạ cảm ơn thầy đã giúp, em sẽ tìm hiểu về vẫn đề này. từ trước tới giờ em vẫn không biết số thực không được phép so sánh bằng.
 
Upvote 0
Web KT

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

Back
Top Bottom