ÁP DỤNG KIẾN THỨC CỦA VISUAL BASIC VÀO LẬP TRÌNH MỘT SỐ BÀ

Một phần của tài liệu biên soạn phần mềm - soạn thảo nhanh một số bài tập vật lý 10 cơ bản phần nhiệt học (Trang 27)

MT S BÀI TP SÁCH BÀI TP VT LÝ 10 CƠ BN PHN NHIT

HC:

1. Công việc chuẩn bị cho lập trình

Mỗi một bài tập đều có một đặc thù và có cách giải riêng của nó. Để chuẩn bị cho việc lập trình được một bài tập như ý muốn thì trước tiên tôi phải có đề bài, có cả cách giải bài tập đó dưới dạng một văn bản Word. Sau đó sử dụng chương trình PrimoPDF đểchuyển toàn bộ File Word sang File PDF.

* Đặc đim ca File PDF: Đây là một ứng dụng đặc sắc, cho phép xuất bản PDF chất lượng cao và hỗ trợ mọi chương trình có sử dụng lệnh in, từ bộ phần mềm điện toán văn phòng của Microsoft cho đến các trình biên tập ảnh số…

Primo PDF còn giúp chúng ta dễ dàng tối ưu hóa chất lượng xuất bản PDF theo hướng sát với mục đích sử dụng (để xem, in ra giấy, làm sách điện tử, chế bản…), gia tăng độ bảo mật dữ liệu (phải mở tập tin bằng mật khẩu, mã hóa dữ liệu, cấm in ra giấy, chống sao chép nội dung vào Clipboard…), không đóng dấu nước lên tập tin xuất, đặc biệt còn cho phép ghép nhiều tập tin PDF rời rạc thành một tập tin duy nhất.

Như vậy, với một máy tính thông thường chúng ta sẽ cài đặt chương trình Adobe Reader 7.0 đểđọc và hiển thịđược File PDF.

Một phần không thể thiếu trong quá trình lập trình là máy tính phải cài đặt thêm chương trình Corel Graphics Suite 11 trong đó có phần mềm Corel PHOTO-PAINT 11,

để sử dụng lệnh cắt trong File PDF và chuyển sang Corel PHOTO-PAINT 11 dán vào và lưu lại với File dạng hình ảnh có tên (*.jpg).

Một phần không thể thiếu và nó có vai trò rất quan trọng là máy tính phải được cài đặt chương trình của Visual Basic 6.0, để từ đó chúng ta có thể lập trình được những chương trình khá quan trọng phù hợp với từng nhu cầu của công việc.

Nghiên cứu các kiến thức cơ sở của Visual Basic 6.0. Làm một số bài tập ứng dụng của Visual Basic 6.0.

2. Quá trình lập trình 2.1. Thiết kế giao diện 2.1. Thiết kế giao diện

Bài tập Vật lý là một phần rất quan trọng trong bộ môn Vật lý. Vì vậy, để lập trình

được một loạt các bài tập theo chương trình phổ thông dưới ứng dụng của Visual Basic. Tôi chọn một số bài tập tiêu biểu, đại diện cho từng chương trong phần giới hạn đề tài mà tôi nghiên cứu. Tuy với số lượng bài tập có giới hạn nhưng mỗi bài đều có một nét riêng và một đặc trưng riêng cần nghiên cứu. Phần Nhiệt học cuả chương trình lớp 10 cơ bản có 3 chương nên tôi quyết định chọn 15 bài tập trong chương V, 10 bài tập trong chương VI và 15 bài tập trong chương VII ở sách bài tập để lập trình.

Dưới đây là một số bài tiêu biểu cho từng chương:

29.8. Tính khối lượng khí oxi đựng trong bình thể tích 10lit dưới áp suất 150atm ở

nhiệt độ 0oC. Biết ởđiều kiện chuẩn khối lượng riêng của oxi là 1,43 kg/m3.

Biết 0 0 m V ρ = và m V ρ = suy ra ρ0 0VV (1) Mặt khác PV0 0 =PV (2) (vì nhiệt độ của khí bằng nhiệt độởđiều kiện chuẩn).

Từ (1) và(2) suy ra: 3 0 0 1, 43.150 214,5 / 1 p kg m p ρ ρ = = = và m=214,5.10−2=2,145 .kg

Đối với bài tập này chỉ có hai biến số thể tích V và áp suất p có thể thay đổi được còn

0

ρ , p0 là những thông số cốđịnh, vì vậy ta có thể xây dựng giao diện của bài tập này như

sau: Gồm có hai ô nhập liệu với hai giá trị V và p. Đến phần kết quả có hai ô, một ô chỉ khối lượng riêng của không khí ở áp suất p và một ô chỉ giá trị khối lượng m cần tính. Qua quá trình viết các đoạn lệnh cho bài toán thì ta có thể nhập vào hai ô nhập liệu V và p một số bất kỳ, sau đó click vào nút Tính thì ta sẽđược một kết quả phù hợp mà không cần tính toán phức tạp.

Hình 06. Giao diện bài tập 29.8 sách BT

30.10*. Một chai chứa không khí được nút kín bằng một nút có trọng lượng không đáng kể, tiết diện 2,5cm2. Hỏi phải đun nóng không khí trong chai lên tới nhiệt độ tối thiểu bằng bao nhiêu để nút bật ra? Biết lực ma sát giữa nút và chai có độ lớn là 12N, áp suất ban đầu của không khí trong chai bằng áp suất khí quyển và bằng 9,8.104Pa, nhiệt độ ban đầu của không khí trong chai là -30C.

Trước khi nút bật ra, thể tích khí trong chai không đổi và quá trình đun nóng là quá trình đẳng tích. Tại thời điểm nút bật ra, áp lực không khí trong chai tác dụng lên nút phải lớn hơn áp lực của khí quyển và lực ma sát: 2 ms 1 p S>F + p S Do đó: 2 Fms 1 p p S > + Vì quá trình là đẳng tích nên: 1 2 1 2 2 2 1 1 1 2 1 1 4 2 4 4 270 12 9,8.10 402 9,8.10 2,5.10 ms p p T T p T T p F T T p p S TK = ⇒ = ⎛ ⎞ ⇒ = ⎜ + ⎟ ⎝ ⎠ ⎛ ⎞ ⇒ = ⎜ + ⎟≈ ⎝ ⎠ Phải đun nóng tới nhiệt độ ít nhất là T2 = 402 K hoặc t2 = 1290C. Hình 07. Giao diện bài tập 30.10* sách BT

Đối với bài này có ba thông số tiết diện S của chai, nhiệt độ ban đầu của không khí trong chai và lực ma sát giữa nút và chai là những đại lượng có thể thay đổi được nên riêng bài này sẽ có ba biến số cần nhập liệu. Ở phần kết quả của đề bài yêu cầu tính nhiệt độ. Vậy nhiệm vụ của mình là phải tính được nhiệt độ tuyệt đối T, từđó suy ra nhiệt độ t của không khí phải đun nóng trong chai. Nên ta sẽ thiết lập hai ô kết quả tính được, một ô là nhiệt độ

Tóm lại, đối với từng bài toán khác nhau, tôi sẽ thiết lập một giao diện của màn hình tương đối và phù hợp với nó. Điều đó thể hiện nét đặc trưng của bài tập cần thiết kế.

Mặt khác, do có nhiều loại máy tính khác nhau nên khi thiết lập giao diện của Visual Basic, tôi đã chọn màn hình 14inch làm chuẩn và cố định các kích thước: chiều ngang là 11310, và chiều dọc là 8640 cho mọi chếđộ của màn hình đểđảm bảo khi cho chương trình hoạt động sẽđáp ứng đủ màn hình của từng loại máy, nhằm tạo cho người dùng làm việc một cách dễ dàng với chương trình.

2.2. Kỹ thuật thực hiện

* Tạo màn hình của chương trình được trình diễn

Mở phần mềm Visual Basic 6.0 bằng cách vào menu Start | Programs | Microsoft Visual Basic 6.0| Chọn biểu tượng của Microsoft Visual Basic 6.0 | Stadard EXE. Khi đó màn hình của chương trình Visual Basic 6.0 sẽ có dạng như sau:

Hình 08. Màn hình làm việc của Visual Basic 6.0

Lúc màn hình hiện lên như trên, ta sẽ làm việc với giao diện Visual Basic này. - Dùng TextBoxđể vẽ các ô Text:

+ TextBox1: Name là Text1, thuộc tính Text là CHƯƠNG TRÌNH.

+ TextBox2: Name là Text2, thuộc tính Text là CHƯƠNG.

+ TextBox3: Name là Text3, thuộc tính Text là Text3.

+ TextBox5: Name là Text5, thuộc tính Text là

“TRƯỜNG ĐẠI HỌC AN GIANG GVHD: Ths. GIANG VĂN PHÚC SVTH: NGUYỄN THỊ KIM HUỆ

LỚP DH5L”

+ TextBox6: Name là Bienso_1, thuộc tính Text rỗng.

+ TextBox7: Name là Bienso_2, thuộc tính Text rỗng.

+ TextBox8: Name là Bienso_3, thuộc tính Text rỗng.

+ TextBox9: Name là Bienso_4, thuộc tính Text rỗng.

+ TextBox10: Name là Bienso_5, thuộc tính Text rỗng.

+ TextBox11: Name là Bienso_6, thuộc tính Text rỗng.

+ TextBox12: Name là donvibien_1, thuộc tính Text rỗng.

+ TextBox13: Name là donvibien_2, thuộc tính Text rỗng.

+ TextBox14: Name là donvibien_3, thuộc tính Text rỗng.

+ TextBox15: Name là donvibien_4, thuộc tính Text rỗng.

+ TextBox16: Name là donvibien_5, thuộc tính Text rỗng.

+ TextBox17: Name là donvibien_6, thuộc tính Text rỗng.

+ TextBox18: Name là Biensokq_1, thuộc tính Text rỗng.

+ TextBox19: Name là Biensokq_2, thuộc tính Text rỗng.

+ TextBox20: Name là donvibienkq_1, thuộc tính Text rỗng.

+ TextBox21: Name là donvibienkq_1, thuộc tính Text rỗng.

-Dùng Labelđể nhập các chuỗi dữ liệu:

+ Label1 : Name là Label1, thuộc tính Caption là B môn Vt Lý khoa Sư Phm trường Đại Hc An Giang biên son và gi bn quyn.

+ Label2 : Name là Label2, thuộc tính Caption là “Có công mài sắt, có ngày nên kim”.

+ Label3 : Name là Label3, thuộc tính Caption là ĐỀ BÀI.

+ Label4 : Name là Label4, thuộc tính Caption là soạn nhanh bài tập Vật Lý 10 phần Nhiệt học.

+ Label5: Name là Label5, thuộc tínhCaption là kết quả. - Dùng Combo Boxđể thêm vào các list của chương trình:

+ Combo Box1: Name là Chuongtrinh_Combo, thuộc tính List là VẬT LÝ 10, VẬT LÝ 11, VẬT LÝ 12.

+ Combo Box2: Name là Chuong_Combo, thuộc tính List là 1,2,3,4,5,6,7. + Combo Box3: Name là Bai_Combo, thuộc tính List là từ 1 →15. - Dùng nút CommandButtonđể vẽ các nút lệnh điều khiển :

+ CommandButton1: Name là Giothieu_Cmd, thuộc tính Caption là GIỚI THIỆU.

+ CommandButton2: Name là Ketthuc_Cmd, thuộc tính Caption là KẾT THÚC.

+ CommandButton3: Name là Cmd_batdau, thuộc tính Caption là BẮT ĐẦU.

+ CommandButton4: Name là Cmd_Tinh, thuộc tính Caption là TÍNH.

+ CommandButton5: Name là Cmd_tieptuc, thuộc tính Caption là TIẾP TỤC.

+ CommandButton6: Name là Command_phu, thuộc tính Caption là Cau b.

- Dùng nút Image vẽ các khung hình chữ nhật để load các file có dạng hình ảnh (*.jpg) vào đó :

+ Image1: Name là Image_debai. + Image2: Name là Image_bien_1. + Image3: Name là Image_bien_2. + Image4: Name là Image_bien_3. + Image5: Name là Image_bien_4. + Image6: Name là Image_bien_5. + Image7: Name là Image_bien_6. + Image8: Name là Image_bienkq_1. + Image9: Name là Image_bienkq_2.

- Dùng nút Shape để vẽ thêm các hình đa giác trên màn hình giao tiếp Form. Hình

Shapeđược vẽ là hình chữ nhật bao luôn các ô TextBox chỉ giá trị của các biến, các Image và các CommandButton.

- Dùng nút Timer : quy định thời gian chữ chạy trên màn hình khi trình diễn.

* Xây dựng mối liên quan giữa các Control điều khiển

Đầu tiên trước khi lập trình cho một chương trình thì công việc đầu tiên ta sẽ khai báo các biến có trong chương trình làm việc. Phần lập trình Visual ở trên các biến

chuongtrinh, chuong, bai, tentaptin là những biến kiểu dữ liệu cơ sở dưới dạng chuỗi. Do

đó khi khai báo biến, ta sẽ chọn thuộc tính String. String cho phép sử dụng chuỗi dữ liệu từ

0 đến 65.500 ký tự hay ký số, thậm chí là các giá trịđặc biệt như ^%@. Giá trị kiểu chuỗi

được đặt giữa hai dấu ngoặc kép ( ). ** Đối với từng Combo Box

- Ứng với Chuongtrinh_Combo để nó hiển thị khi chạy thuộc tính gán cho Combo này là Visible = True. Đồng thời thuộc tính List của Combo phải có 3 chuỗi là VẬT LÝ 10, VẬT LÝ 11, VẬT LÝ 12.

Private Sub Chuongtrinh_Combo_Click()

If Chuongtrinh_Combo.ListIndex = 0 Then Chuong_Combo.Enabled = True

If Chuongtrinh_Combo.ListIndex=1OrChuongtrinh_Combo.ListIndex=2 Then Dim thongbao As Boolean

thongbao = MsgBox("PHAN NAY CHUA CAP NHAT", vbOKOnly)

End Sub

Khi Click vào Chuongtrinh_Combo thì List của Combo sẽ hiện lên 3 chuỗi VẬT LÝ 10, VẬT LÝ 11, VẬT LÝ 12, nhiệm vụ ta chọn một trong ba dòng chuỗi này để

chương trình hiện lên theo yêu cầu của người sử dụng. Do giới hạn đề tài, tôi chỉ nghiên cứu các bài tập trong chương trình VẬT LÝ 10 nênkhi gặp dòng lệnh:

“If Chuongtrinh_Combo.ListIndex = 0 Then Chuong_Combo.Enabled = True”

là nếu List của Combo chuongtrinh được click vào vị trí đầu tiên “ListIndex=0” là ứng với chuỗi VẬT LÝ 10 thì chuong_Combo có thuộc tính Enabled = True là hiện sáng. Ngược lại, nếu List của chuongtrinh_Combo được click vào vị trí kế tiếp “ListIndex=1Or

ListIndex=2” là ứng với chuỗi VẬT LÝ 11 hoặc VẬT LÝ 12 thì chuong_Combo có thuộc

tính Enabled = False là làm mờđối tượng. Đồng thời chương trình chạy hiện lên một thông báo lỗi với biến thongbao dạng lý luận “PHAN NAY CHUA CAP NHAT” nhờ lệnh MsgBox

có thuộc tính vbOKOnly chỉ có thểđọc và Click OK.

“Dim thongbao As Boolean

thongbao = MsgBox("PHAN NAY CHUA CAP NHAT", vbOKOnly)”

Hình 09. Màn hình thông báo giới hạn của đề tài không có chương trình Vật Lý 11.

Bất kỳ một nút lệnh nào cũng vậy, khi viết code cho nút điều khiển đó thì nó cũng

được bắt đầu “Private Sub Chuongtrinh_Combo_Click()” và kết thúc là “End Sub”.

- Khi Click vào List VẬT LÝ 10 của Chuongtrinh_Combo thì nút Chuong_Combo

sẽ bật sáng, điều đó nói lên rằng chương trình cho phép người sử dụng được tiếp tục chọn với List của Chuong_Combo. Cũng tương tự như cách sử dụng các thuộc tính trong

Chuongtrinh_Combo, cũng do đề tài có giới hạn nghiên cứu, tôi chỉ làm việc với ba chương của phần Nhiệt học là chương 5, chương 6 và chương 7. Vì thế, khi nút

Chuong_Combo là các chương 5,6,7 thì nút Bai_Combo tiếp tục bật sáng và ở tư thế sẵn sàng làm việc. Ngược lại, nếu ta Click vào vị trí List của Chuong_Combo là các chương 1,2,3,4 thì chương trình sẽ hiện lên một thông báo lỗi “PHAN NAY CHUA CAP NHAT”. Như vậy đoạn lệnh chương trình con của Chuong_Combo được thiết lập như sau:

Private Sub Chuong_Combo_Click()

If (Chuong_Combo.ListIndex = 0) Then chuong = "01" If (Chuong_Combo.ListIndex = 1) Then chuong = "02"

If (Chuong_Combo.ListIndex = 2) Then chuong = "03" If (Chuong_Combo.ListIndex = 3) Then chuong = "04"

If Chuong_Combo.ListIndex = 0 Or Chuong_Combo.ListIndex = 1 Or Chuong_Combo.ListIndex = 2 Or Chuong_Combo.ListIndex = 3 Then

Dim thongbao As Boolean

thongbao = MsgBox(" PHAN NAY CHUA CAP NHAT", vbOKOnly)

End If

If (Chuong_Combo.ListIndex = 4) Then chuong = "05" If (Chuong_Combo.ListIndex = 5) Then chuong = "06" If (Chuong_Combo.ListIndex = 6) Then chuong = "07"

If Chuong_Combo.ListIndex = 4 Or Chuong_Combo.ListIndex = 5 Or Chuong_Combo.ListIndex = 6 Then Bai_Combo.Enabled = True

Mỗi Combo Box đều có những thuộc tính riêng nhưng nó đều được liên hệ với nhau. Chẳng hạn như có làm việc được với Chuongtrinh_Combo rồi tiếp tục mới làm việc được với Chuong_Combo và như thế mới có thể làm việc tiếp với Bai_Combo được. Ở

Bai_Combo Listcủa Combo này gồm 15 bài có số thứ tự từ 01 đến 15. Khi Click vào đúng vị trí đang làm việc của Chuong_Combo thì Bai_Combo sẽ bật sáng và cùng làm việc chung với chương trình đang chạy. Vì vậy, khi viết code cho Combo này trước hết phải xác

định được vị trí bài ứng với từng lúc click chuột vào List nào. Khi đó, đoạn code có dạng như sau:

- Tiếp tục để thiết lập được mối quan hệ giữa các biến “chuong” và “bai” trong khi chương trình hoạt động, thể hiện được từng đề bài của bài tập cần lập trình. Tôi đã đặt thêm một tên biến mới là “tentaptin”, khi đó dùng lệnh ghép chuỗi “&” để ghép các biến lại tạo thành một chuỗi có tên là “tentaptin”, tên này được gán vào giá trị của ô Text3

tentaptin = chuong & bai & ".jpg"

Text3.Text = tentaptin

Như vậy, khi Click vào Bai_Combo chọn được bài thì ô Text3 sẽ hiện lên chương

được chọn & bài được chọn & ".jpg", đây là một File dạng hình ảnh đã được cắt ra từ File PrimoPDF chuyển qua Corel PHOTO-PAINT và Save lại dưới dạng một File ảnh ".jpg".

Ví dụ: Tôi muốn chọn chương 05 bài 05 lúc này ô Text3 chỉ hiện lên một chuỗi có tên như sau:

Đó là một chuỗi dữ liệu đã được ghép sẽ hiện lên trong Text3 khi trình diễn chương trình. Nhưng chỉ hiện lên bao nhiêu chưa đủ, quan trọng là phải làm sao cho thấy được đề

bài dưới dạng một hình ảnh. Lúc này, ta cần đặt thêm một lệnh SET vào chỗ Image là khung chứa hình ảnh một Picture. Vì vậy khi chương trình hoạt động lệnh Set này sẽ

LoadPicture với tên phù hợp vào Image_debai trong giao diện làm việc của Visual nói trên.

Set cau = LoadPicture(tentaptin) Set Image_debai = cau

Ngay đây, chúng ta hãy quan sát một đề bài đã được Load vào ô Image_debai. Chúng ta trở lại ví dụ chọn ở trên là chương 05 bài 05, đề bài được save dưới dạng File hình ảnh có

Một phần của tài liệu biên soạn phần mềm - soạn thảo nhanh một số bài tập vật lý 10 cơ bản phần nhiệt học (Trang 27)

Tải bản đầy đủ (PDF)

(60 trang)