Các toán tử trong VisualBasic

Một phần của tài liệu Đề tài “Biên soạn phần mềm – soạn thảo nhanh một số bài tập Vật lí 11 cơ bản - phần Điện học” docx (Trang 40 - 70)

3. Lập trình

3.4.4. Các toán tử trong VisualBasic

- Toán tử + : Cộng hai số hạng. - Toán tử - : Trừ hai số hạng. - Toán tử ^ : Dùng để tính lũy thừa. - Toán tử * : Dùng để nhân hai số hạng. - Toán tử chia \ : Chia bỏ phần thập phân. - Toán tử chia / : Chia và làm tròn.

- Mod : lấy phần dư. - Toán tử nối chuỗi : &

- Toán tử logic: And, Or. - Toán tử so sánh: = Bằng nhau < Nhỏ hơn <= Nhỏ hơn hoặc bằng <> Khác nhau > Lớn hơn >= Lớn hơn hoặc bằng 3.5) Tạo và chạy một chương trình

Để tạo một chương trình ứng dụng trong Visual Basic chúng ta lần lượt tiến hành các bước sau :

Bước 1 : Vẽ các giao diện màn hình Form

Bước 2 : Đặt tên, giá trị những thuộc tính cần thiết cho các điều khiển trên Form.

Bước 3 : Thêm lệnh cho các thủ tục xử lý biến cố. Khi có biến cố xảy ra như biến cố (click, dblclick, change…) thì chương trình sẽ thực hiện một đoạn lệnh ứng với một chương trình con để xử lí biến cốđó.

Sau khi xây dựng hoàn tất chương trình theo ba bước trên chúng ta có thể chạy và kiểm tra lỗi của chương trình bằng cách nhấn phím F5 hay nhấn chuột tại nút trên thanh công cụ Toolbar

• Để vẽ các đối tượng vào Form có 2 cách thực hiện như sau:

Cách 1

- Double click vào control điều khiển trong hộp công cụ mà bạn muốn đưa vào biểu mẫu, lúc đó đối tượng này sẽ xuất hiện giữa biểu mẫu.

- Nếu bạn chọn nhiều đối tượng thì các đối tượng này sẽ nằm chồng lên nhau, bạn click trái chuột vào từng đối tượng và rê chuột đến vị trí bạn muốn. Để thay đổi kích thước của các đối tượng thì click vào đối tượng cần thay đổi khi đó sẽ có 8 nút bao quanh đối tượng, bạn trỏ chuột vào các nút này cho đến khi con trỏ chuột biến thành hình mũi tên thì bạn có thể kéo lớn hay thu nhỏ lại.

Cách 2

- Click chọn đối tượng trong toolbox, đưa con trỏ của chuột vào trong biểu mẫu, lúc này con trỏ có hình dấu cộng, khi đó giữ chuột trái và kéo đến khi đối tượng có kích thước bạn muốn rồi thả chuột ra.

chỉnh các đối tượng thẳng hàng theo chiều dọc hay chiều ngang mà ta chọn Centers hay Middle…

• Thêm lệnh cho các thủ tục xử lý biến cố.

- Để viết lệnh cho các đối tượng thì ta có thể thực hiện một trong những cách sau: + Click phải chuột vào bất cứ vị trí nào màn hình form, lúc đó sẽ xuất hiện menu, bạn chọn View Code.

+ Double Click vào form hoặc đối tượng bạn cần viết mã, cửa sổ sẽ hiện ra. + Mở cửa sổ Project Explorer, chọn Form cần mở, sau đó chọn Tab View Code. + Vào Menu View rồi chọn View Code.

- Khi đó sẽ xuất hiện cửa sổđể viết Code (Hình 6).

Hình 6. Cửa sổ viết Code

- Hộp Combobox bên trái cho phép ta chọn các đối tượng để viết Code, để chọn đối tượng viết Code thì ta click vào vào combobox này và chọn đối tượng mà ta cần viết Code (Hình 7).

- Hộp combobox bên phải ghi tất cả các biến cố. Bạn click chuột vào mũi tên bên phải thì sẽ xuất hiện ra một menu sự kiện, bạn chọn sự kiện nào thì lick chuột vào sự kiện đó (Hình 8).

Hình 8. Biến cố của các đối tượng - Đoạn lệnh được viết nằm ở giữa hai dòng sau:

Private Sub Command1_Click() < lệnh xử lí biến cố > End Sub

Hai dòng lệnh này là hai dòng lệnh đầu và cuối của thủ tục.

- Bước viết lệnh là bước quan trọng hơn cả bởi vì nó là yếu tố quyết định chương trình của bạn chạy đúng theo yêu cầu hay không, có tối ưu hay không...

Các cu trúc điu khin ca Visual Basic được s dng trong đề tài

- Cấu trúc lệnh IF: cho phép ta rẽ chương trình làm hai nhánh, nếu bạn muốn rẽ nhiều nhánh thì có thể sử dụng cấu trúc IF lồng vào nhau. Cấu trúc này có hai dạng:

+ Cấu trúc IF không có ElSE IF < Điều Kiện > Then ………... End IF + Cấu trúc IF có ELSE IF < Điều Kiện> Then ………... ELSE ………... End IF

Mt s lnh ca Visual Basic được s dng trong đề tài

- Lệnh End: dùng để chấm dứt chương trình đang chạy, khi lệnh này thực hiện thì các cửa sổ của chương trình sẽđóng lại và giải phóng khỏi bộ nhớ. Lệnh này thường sử dụng cho nút lệnh có tên Exit với biến cố Click.

Private Sub KetThuc_Click() End

End Sub

- Lệnh Exit Sub: lệnh này dùng để thoát khỏi vòng lặp Sub.

Private Sub KetThuc_Click()

If gtbien1.Text = "" Or gtbien3.Text = "" Then tb = MsgBox("Hay nhap day du so lieu", "Thong Bao") Exit Sub

End If End Sub

- Lệnh Load Picture: lệnh này dùng để nạp một hình ảnh vào màn hình Form.

taptin = chuong & bai & ".jpg" Set cau = LoadPicture(taptin) Set debai = cau

Đoạn lệnh trên có tác dụng đưa hình ảnh các đề bài lên màn hình form.

Mt s hàm ca Visual Basic được s dng trong đề tài

- Hàm Abs (Number): hàm này là hàm lấy giá trị tuyệt đối của Number.

Private Sub Form_Load() Dim MyNumber

MyNumber = Abs(50.3)' Returns 50.3. MyNumber = Abs(-50.3)' Returns 50.3. End Sub

- Hàm Cos (Number As Double): tính cos của một góc.

Private Sub Form_Load() Dim MyNumber

MyNumber = cos(number) End Sub

- Hàm Tan (Number As Double)Tính Tan của một góc.

Private Sub Form_Load() Dim MyNumber

MyNumber = tan(number) End Sub

- Hàm Atn (Number As Double): lấy Arctang của một số.

Private Sub Form_Load() Dim MyNumber

MyNumber = Atn(number) End Sub

- Hàm Sqr (Number): tính căn bậc hai của một số.

Private Sub Form_Load() Dim MyNumber

MyNumber = Sqr(number) End Sub

- Hàm Val (String): chuyển chuỗi string thành số

Private Sub Form_Load() Dim MyValue

MyValue = Val("2457")' Returns 2457. MyValue = Val(" 2 45 7")' Returns 2457. End Sub

3.6) Ví dụ minh họa về phép cộng

Để hiểu rõ hơn về cách tạo một chương trình thì ta làm một ví dụ về phép tính cộng

Bước 1: Dựng các điều khiển lên màn hình Form

Để tạo một chương trình tính tổng hai số thì ta vẽ vào màn hình Form 3 Textbox, 3 CommandButton như Hình 9.Với chức năng của các nút như sau:

Nút tính: tính tổng hai giá trị Số 1 và Số 2. Tổng tính được sẽđược gán vào ô KQ.

Nút tiếp: xóa dữ liệu có sẵn trong các ô textbox.

Nút thoát: đóng màn hình.

Bước 2 : Đặt tên, giá trị những thuộc tính cần thiết cho các điều khiển trên Form. Form

Name frmMain Caption “ Phep Cong”

CommandButton Name Tinh Caption “Tính” Name Tiep Caption “Tiếp” Name Thoat Caption “Thoát” TextBox Name So1 Name So2 Name KQ

Bước 3 : Thêm lệnh cho các thủ tục xử lý biến cố.

Private Sub Tinh_Click( )

KQ.Text = Val(So1.Text) + Val(So2.Text) End Sub

Private Sub Tiep_Click( ) So1.Text = ""

So2.Text = "" KQ.Text = "" End Sub

Private Sub Thoat_Click( ) End

End Sub

4. Các thao tác sử dụng phần mềm

- Mở phần mềm, khi đó giao diện xuất hiện (Hình 10).

- Chọn chương trình: có ba tùy chọn Vật lí 10; Vật lí 11; Vật lí 12, nút chương xuất hiện. Nhưng trong phần mềm này chỉ nêu một số bài tập tiêu biểu về Điện học – Chương trình Vật lí 11.

Hình 10. Màn hình giao diện khi chọn chương trình

- Chọn chương : gồm Chương 1, Chương 2, Chương 3. Sau khi Click vào chương thì nút bài hiện lên (Hình 11).

Hình 11. Màn hình giao diện khi chọn chương

- Chọn bài tập trong ô bài tập. Sau đó màn hình sẽ xuất hiện đề bài và các ô nhập liệu và các nút lệnh ( Tính, Tiếp, Kết thúc, Hướng dẫn ) (Hình 12).

- Dựa vào đề bài hãy chọn giá trị của các biến số nhập vào các ô nhập liệu. - Bấm nút Tính thì phép toán sẽđược tính và hiện giá trịở ô kết quả (Hình 13). - Nếu muốn thay đổi số liệu khác thì nhấn nút Tiếp khi đó các ô nhập liệu sẽ trả về

trống (Hình 14).

- Để biết thêm về cách sử dụng phần mềm thì nhấn vào nút Hướng dẫn. Khi đó trên màn hình sẽ xuất hiện các hướng dẫn cơ bản cũng như các lỗi khi sử dụng phần mềm.

Hình 12. Màn hình giao diện khi đã chọn bài tập

Hình 13. Màn hình giao diện khi đã nhập số liệu và tính

Một điểm người dùng cần chú ý là dấu chấm làm dấu thập phân chứ không phải dấu phẩy. Ta chỉnh ở hệ thống của mỗi máy như sau: Vào Control Panel Š Regional and Language Options Š thẻ Format Š Customize this format Š thẻ Numbers Š Decimal symbol Š “dấu chấm”. Hệ thống sẽ hiện dấu chấm làm dấu phân cách thập phân. Nếu không, chương trình sẽ hoạt động rối loạn.

5. Các kỹ thuật được sử dụng

¾ Xử lí lỗi

- Quá trình thao tác mở, ghi và đọc tập tin như trên sẽ có thể phát sinh lỗi do nhiều nguyên nhân khác nhau như không tìm thấy tập tin, hay tập tin bị hỏng,…

- Mặc nhiên, khi có lỗi phát sinh thì hệ thống sẽ thông báo lỗi nhưng thường rất khó hiểu và hơn nữa việc cắt ngang chương trình đang chạy như vậy sẽ làm người sử dụng cảm thấy khó chịu.

- Để khai báo xử lí bẫy lỗi trong một thủ tục hay hàm của chương trình, chúng ta có thể dùng cấu trúc lệnh chung có dạng như sau :

Private Sub tinh_Click() Dim tb As Boolean On Error GoTo thongbao

< Tập hợp các lệnh có thể gây lỗi > Exit Sub

thongbao:

tb = MsgBox("Du lieu khong hop li", vbCritical, " Loi nhap lieu") End Sub

¾ Không cho nhập các ký tự vào ô Textbox

- Để không cho nhập ký tự vào các ô textbox mà chỉ cho nhập số thì ta sử dụng một đoạn lệnh sau :

Private Sub gtbien2_KeyPress(KeyAscii As Integer) Dim Tmp As String

Tmp = gtbien2.Text Select Case Chr$(KeyAscii) Case "0" To "9", Chr$(8) Case "-" If InStr(1, Tmp, "-") = 0 Then If gtbien2.SelStart > 0 Then KeyAscii = 0 End If Else KeyAscii = 0

End If Case "." If InStr(1, Tmp, ".") > 0 Then KeyAscii = 0 End If Case Else KeyAscii = 0 End Select End Sub

- Đoạn lệnh trên có nghĩa là khi một ô nhập liệu nhận một kí tự do người dùng cung cấp thì đoạn lệnh xem xét kí tựđó có phải từ 0 đến 9, dấu thập phân “.”, dấu trừ “-” hay không ? Nếu đúng thì nhận còn sai thì loại.

- Trường hợp nếu đã nhập dấu “.” ( hoặc dấu “-”) vào ô Textbox rồi thì không chấp nhận dấu “.” ( hoặc dấu “-”) thứ hai.

¾ Thông báo lỗi nhập số liệu

- Để thông báo khi chưa nhập đầy đủ số liệu vào các ô nhập số liệu thì ta sử dụng đoạn lệnh sau :

If gtbien1.Text = "" Or gtbien2.Text = "" Or gtbien3.Text = "" Then tb = MsgBox("Hay nhap day du so lieu", vbOKOnly, "Thong Bao") Exit Sub

End If

- Đoạn lệnh này cho biết rằng nếu giá trị biến 1 chưa nhập số liệu hoặc giá trị biến 2 chưa nhập số liệu hoặc giá trị biến 3 chưa nhập số liệu thì chương trình sẽ hiện lên bảng thông báo với nội dung là “Hay nhap day du so lieu” và nếu người dùng chọn nút OK thì chương trình sẽở trạng thái chờ người sử dụng nhập lại số liệu.

- Ngoài ra chương trình cũng có thể báo lỗi khi thương số bằng 0 và đưa ra các điều kiện đối với hàm lượng giác.

- Đặc biệt chương trình còn có một số ràng buộc về thông số, ý nghĩa Vật lí.

¾ Hiện đề bài toán lên giao diện

Để hiện đề bài toán lên giao diện ta sử dụng đoạn lệnh sau: taptin = chuong & bai & ".jpg"

Set cau = LoadPicture(taptin) Set debai = cau

¾Chữ chạy trên nền màn hình

Trường hợp này khi thiết lập ta cần có một biểu tượng Timer và một Label. Sau đó, ta sẽ lập đoạn chương trình cho các dòng chữ trong Label chạy trên màn hình.

Private Sub Timer1_Timer() Dim x As String Dim y As String x = Left(Label4.Caption, 1) y = Right(Label4.Caption, Len(Label4.Caption) - 1) Label4.Caption = y + x End Sub.

¾ Biến đổi giao diện cho phù hợp với từng bài tập cụ thể

Do đặc thù của từng bài toán: mỗi bài có bài có số biến số sử dụng khác nhau, có bài có 2 biến, có bài có 5 biến…nên giao diện được thiết kế với số cửa sổ nhập dữ liệu tối đa là 6 và 2 cửa sổ hiện kết quả. Để biến đổi giao diện cho phù hợp với từng bài thì chúng tôi làm như sau:

- Đặt các ô nhập liệu ở dạng ẩn thông qua thuộc tính Visible = False.

gtbien1.Visible = False gtbien2.Visible = False gtbien3.Visible = False gtbien4.Visible = False gtbien5.Visible = False gtbien6.Visible = False gtkq1.Visible = False gtkq2.Visible = False

- Để cho các cửa sổ nhập số liệu hiện lên thì ta đặt thuộc tính Visible của cửa sổ cần hiện = True.

Ví dụ: đối với bài 2 chương 5 (Hình 14) thì có 3 ô nhập số liệu và 1 ô hiện kết quả. Vậy để hiện 3 ô nhập số liệu và 1 ô hiện kết quảđó thì ta viết một đoạn Code như sau:

gtbien1.Visible = True gtbien2.Visible = True gtbien3.Visible = True gtkq1.Visible = True

6. Lập trình một số bài tập tiêu biểu

6.1) Vẽ và đặt tên, giá trị cho các đối tượng trên màn hình Form

Trước tiên chúng tôi sẽ vẽ lên màn hình Form các control cần thiết cho chương trình như:

- Textbox có 25 đối tượng

+ TextBox1: Name là bien1, thuộc tính Text là rỗng. + TextBox2: Name là bien2, thuộc tính Text là rỗng. + TextBox3: Name là bien3, thuộc tính Text là rỗng. + TextBox4: Name là bien4, thuộc tính Text là rỗng. + TextBox5: Name là bien5, thuộc tính Text là rỗng. + TextBox6: Name là bien6, thuộc tính Text là rỗng. + TextBox7: Name là donvibien1, thuộc tính Text rỗng. + TextBox8: Name là donvibien2, thuộc tính Text rỗng. + TextBox9: Name là donvibien3, thuộc tính Text rỗng. + TextBox10: Name là donvibien4, thuộc tính Text rỗng. + TextBox11: Name là donvibien5, thuộc tính Text rỗng. + TextBox12: Name là donvibien6, thuộc tính Text rỗng. + TextBox13: Name là gtbien1, thuộc tính Text rỗng. + TextBox14: Name là gtbien2, thuộc tính Text rỗng. + TextBox15: Name là gtbien3, thuộc tính Text rỗng. + TextBox16: Name là gtbien4, thuộc tính Text rỗng. + TextBox17: Name là gtbien5, thuộc tính Text rỗng. + TextBox18: Name là gtbien6, thuộc tính Text rỗng. + TextBox19: Name là kq1, thuộc tính Text rỗng. + TextBox20: Name là kq2, thuộc tính Text rỗng. + TextBox21: Name là donvikq1, thuộc tính Text rỗng. + TextBox22: Name là donvikq, thuộc tính Text rỗng. + TextBox23: Name là gtkq1, thuộc tính Text rỗng. + TextBox24: Name là gtkq, thuộc tính Text rỗng.

+ TextBox25: Name là Text1, thuộc tính Text rỗng. - Combobox gồm 5 đối tượng

+ Combo Box 1: Name là Chuongtrinh, thuộc tính List là Vật lí 10, Vật lí 11, Vật lí 12.

+ Combo Box 2: Name là Combo2, thuộc tính List là 1, 2, 3. + Combo Box 3: Name là Combo3, thuộc tính List là từ 1 → 20. + Combo Box 4: Name là Combo4, thuộc tính List là từ 1 → 20. + Combo Box 5: Name là Combo5, thuộc tính List là từ 1 → 15. - CommandButton gồm 4 đối tượng

+ CommandButton 1: Name là tinh, thuộc tính Caption là Tính.

+ CommandButton 2: Name là ketthuc, thuộc tính Caption là Kết Thúc. + CommandButton 3: Name là tiep, thuộc tính Caption là Tiếp.

+ CommandButton 4: Name là huongdan, thuộc tính Caption là Hướng Dẫn. - Lable gồm 4 đối tượng

+ Label1: Name là Label1, thuộc tính Caption là Chương trình + Label2: Name là Label2, thuộc tính Caption là Chương. + Label3: Name là Label3, thuộc tính Caption là Bài tập. + Label4: Name là Label4, thuộc tính Caption là Kết quả. - Image gồm 2 đối tượng

+ Image 1: Name là nengd. + Image 2: Name là đebai. + Image 3: Name là donvibien3. + Image 4: Name là donvikq1. + Image 5: Name là nenbs. + Image 6: Name là nenkq.

- Timer có một đối tượng: Name là Timer.

Một phần của tài liệu Đề tài “Biên soạn phần mềm – soạn thảo nhanh một số bài tập Vật lí 11 cơ bản - phần Điện học” docx (Trang 40 - 70)