IV. Một số kỹ thuật được áp dụng
1. Một số kỹ thuật được sử dụng để tăng khả năng chịu lỗi cho chương trình
1.5. Chưa nhập đủ các giá trị theo yêu cầu bài mà click Giả i
Khi không nhập đủ các giá trị vào các ô số liệu mà Click nút Giải (yêu cầu chương trình giải). Ví dụ: bài 110404 cần đủ giá trị của 6 biến thì mới có thể giải được.
Nhưng do chủ quan mà người sử dụng lại nhập số giá trị ít hơn yêu cầu mà Click nút Giải, thì sẽ làm cho chương trình bị đứng và dẫn tới treo máy. Để khắc phục tình trạng này tôi đã đặt điều kiện cho từng bài tại Command (Giải), tương ứng với từng bài thì chương trình sẽ yêu cầu người sử dụng phải nhập đủ các giá trị cần thiết theo yêu cầu của đề bài, nếu không nhập đủ chương trình sẽ hiện lên thông báo: “Hay nhập đủ các biến số vào các ô số liệu”, và chỉ khi nào người sử dụng nhập đủ các giá trị theo yêu cầu thì phép tính mới được tiến hành, do đó sẽ tránh được tình trạng đứng chương trình.
Ví dụ: Đối với Bài 4 - Chương 4 thì tại Comand (Gải) sẽ được nhập code như sau
If taptin_3 = "0404.jpg" Then
If GTbien_1.Text = "" Or GTBien_2.Text = "" Or
GTBien_3.Text = "" Or GTBien_4 = "" Or GTBien_5 = "" Or GTBien_6 = "" Then
Dim tb_404 As Boolean
tb_404 = MsgBox("hay nhap du cac gia tri vao cac o so lieu", vbOKOnly, " Thong Bao ")
Exit Sub End If
Hình 21: Chương trình báo lỗi khi nhập thiếu dữ kiện
Ngoài ra còn những trường hợp giá trị của người sử dụng nhập vào làm cho phép tính dẫn đến kết quả không xác định. Ví dụ:
Một ôtô chuyển động thẳng đều trên đoạn đường 100km thì mất 2giờ. Tính tốc độ trung bình của ôtô.
Bài toán này có 2 dữ kiện là S ; t và một biến số là v.
Tốc độ trung bình: v S 50 (km h/ )
t
= =
Khi đó sẽ không có chuyện gì xảy ra. Nhưng chẳng may trong trường hợp người sử dụng vô tình nhập giá trị của thời gian bằng không, thì kết quả của phép tính trên sẽ dẫn tới giá trị không xác định, khi đó chương trình không thể xuất kết quả tính toán ra được.
Trong trường hợp này chúng tôi đã khắc phục bằng cách. Đối với những bài toán tương tự như vậy, chúng tôi sẽ đặt điều kiện ràng buộc cho bài toán, yêu cầu người sử dụng phải nhập giá trị ở mẫu số khác không. Nếu giá trị ở mẫu số được người sử dụng
nhập bằng 0 thì, chương trình sẽ xuất ra thông báo: “Hay nhập giá trị của mẫu số khác 0” và yêu cầu người sử dụng nhập lại cho đến khi thỏa điều kiện trên thì phép tính mới bắt đầu thực hiện.
Ví dụ: Đối với Bài 3 - Chương 4 thì tại Comand (Gải) sẽ được nhập code như sau
If taptin_3 = "0403.jpg" Then
If a_1 <= 0 Or a_2 <= 0 Or a_3 <= 0 Or a_4 <= 0 Or a_2 >= 90 Then Dim thongbao_403 As Boolean
thongbao_403 = MsgBox("hay nhap: m > 0 ; I > 0 ; l > 0 ; 0 < anpha < 90 ", vbCritical, " Thong Bao ")
Exit Sub End If
Hình 22: Chương trình báo lỗi khi giá trị nhập vào làm cho kết quả tính được có giá trị không xác định