Bài giảng VB 6.0 - Chương 5: Cấu trúc điều khiển (tiếp)
For <biến>=tđ to tc Step(n)
Các lệnh
Next <biến>
Dạng ngắn gọn
For <biến>=tđ to tc
Các lệnh
Next
Tóm tắt nội dung Bài giảng VB 6.0 - Chương 5: Cấu trúc điều khiển (tiếp), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
CHƯƠNG 5 CẤU TRÚC ĐIỀU KHIỂN Cấu trúc for For =tđ to tc Step(n) Các lệnh Next Dạng ngắn gọn For =tđ to tc Các lệnh Next Ví dụ 1 Viết chương trình tính tổng S=1=2+…+n với n nguyên dương nhập từ bàn phím. Thuật toán tính tổng Tong=0 For i =1 to n tong=tong+iNextmsgbox tong For lồng nhau For = tđ to tc For = tđ to tc Next Next Ví dụ Viết lên form bảng cửu chương từ 2 9 For i= 1 to 9 For j=2 to 9s = s & j & “x” & i & “=“ & j*iNext js=s & VbCrLfNext i Msgbox s Cấu trúc Do While … Loop Do While (điều kiện lặp)Loop Ví dụ Viết chương trình kiểm tra một số n cho trước có phải là số chinh phương hay không? a = sqr(n) If (a*a = n) and (n mod a=0) then msgbox n & “ la so chinh phuong”else msgbox n & “ khong la so chinh phuong”End if Cấu trúc Do … Loop Until DoLoop Until Ví dụ Viết chương trình đếm số chữ số của một số nguyên cho trước. Ví dụ: n = 123, báo: số n=123 có 3 chữ số Dem=0 Doa = n mod 10dem=dem+1n = n \10Loop Until (n=0) Msgbox n & “ co “ & dem & “ chu so” Ví dụ 3 Viết chương trình đổi một số ở hệ thập phân sang hệ nhị phân. S=“” du=0 Dodu= he10 mod 2s =str(du) & she10 = he10\2Loop Until he10=0 Msgbox s Hoán đổi các vòng lặp Cho cấu trúc FOR sau:t=0For i =1 to n step 2 t=t+2*iNextMsgbox t Hãy chuyển cấu trúc FOR trên sang hai cấu trúc Do While . . . Loop Do . . . Loop Until Hoán đổi các vòng lặp Cho cấu trúc FOR sau:t=0For i =1 to n step 2 t=t+2*iNextMsgbox t Cấu trúc Do While…:t=0i=1Do while (in)Msgbox t Cấu trúc IF Dạng 1 (một dòng) if then (Chỉ có một lệnh viết sau then) Max = a If Max then End if (Có nhiều lệnh viết sau then) Cấu trúc IF… Dạng 3 if then Elseif then … Else End if If a > b then Max = a Else Max = b End if Cấu trúc Select case Dạng: Select case Case Case … Case else End select Select Case Weekday(nDay) Case 1 VnDay = “Chủ nhật” Case 2 VnDay = “Thứ hai” Case 3 VnDay = “Thứ ba” Case 4 VnDay = “Thứ tư” Case 5 VnDay = “Thứ năm” Case 6 VnDay = “Thứ sáu” Case 7 VnDay = “Thứ bảy” End select Ví dụ 1: Select case Dim thang as integer thang =inputbox(“Ban nhap vao tu 1 den 12”) SELECT CASE thang CASE 1 txtthongbao.text=“thang gieng” CASE 2 txtthongbao.text=“thang hai” CASE 3 txtthongbao.text=“thang ba” CASE 4 txtthongbao.text=“thang tu” CASE 5 txtthongbao.text=“thang nam” CASE 6 txtthongbao.text=“thang sau” CASE 7 txtthongbao.text=“thang bay” CASE 8 txtthongbao.text=“thang tam” CASE 9 txtthongbao.text=“thang chin” CASE 10 txtthongbao.text=“thang muoi” CASE 11 txtthongbao.text=“thang muoi mot” CASE 12 txtthongbao.text=“thang muoi hai” CASE ELSE txtthongbao.text=“khong co thanh voi gia tri nay” END SELECT Ví dụ 2 : select case Dim thang as integer Thang = inputbox(“Nhap vao so cua thang có Noel) SELECT CASE thang CASE 12 txtthongbao.text=“Ban nhap dung” CASE 1 to 11 ‘neu cac tri lien tuc tu 1 toi 11 txtthongbao.text=“khong phai thang nay” END SELECT Ví dụ 3 : select case Dim thang as integer Thang = inputbox(“nhap so cua thang tu 1 toi 12”) SELECT CASE thang CASE 2 txtthongbao.text =“thang 2 co 28 ngay” CASE 4,6,9,11 txtthongbao.text =“thang nay co 30 ngay” CASE 1,3,5,7,8,10,12 txtthongbao.text =“thang nay co 31 ngay” CASE ELSE txtthongbao.text = “khong co thang nay” END SELECT Ví dụ Viết chương trình đổi một năm dương lịch thành năm âm lịch tương ứng. Cấu trúc lặp Lặp với số lần lặp xác định Lặp FOR Lặp tiến Lặp lùi Lặp với số lần lặp không xác định Do While …Loop Do..Loop Until Lệnh lặp For..Next For = to [ step ] Next được thực hiện từ đến , giá trị của được thay đổi theo S = 0 For i = 1 to 10 step 2 s = s + i Next i S=0 For I = 1 to 10 S=S+1 Next i Thuật toán Cộng dồn Tìm Ước số Chú ý : Không có bước tăng (step b) thì mặc nhiên là 1 Nếu bước tăng b>0 thì biến tăng dần Nếu bước tăng b Loop Các lệnh trong vòng lặp bắt đầu được thực hiện nếu điều kiện đúng và lặp lại cho đến khi nào điều kiện sai i = 1 Do while i Loop While Hoạt động : Lệnh được thực hiện trước Điều kiện được tính. Cho kết quả Nếu kq = true -> tiếp tục thực hiện lệnh Nếu kq = false -> kết thúc lệnh Do LoopWhile Ví dụ 1: Do … Loop While Dim dem as integer Dim solanlap as integer Dem =1 Solanlap=0 Do dem=dem+1 solanlap=solanlap+1 Loop While dem Loop Until Các lệnh trong vòng lặp được thực hiện cho đến khi nào điều kiện đúng i = 1 Do StrS = strS & “a” i = i +1 Loop Until i > 10 Hoạt động : Lệnh được thực hiện Tính điều kiện ->kết quả Nếu kq=true -> dừng Nếu kq =false-> quay về thực hiện lệnh Ví dụ : Do … Loop until Tính tổng từ 1 tới 5 Dim tong as integer Dim I as integer Do tong = tong +I i=i+1 Loop Until i=6 Txtthongbao.text=“tong tu 1 toi 5 la” & tong Chương trình con Có hai loại chương trình con trong Visual Basic, đó là Sub (thủ tục) và function (hàm) Chương trình con Sub Có hai loại Thủ tục tổng quát do người lập trình dịnh nghĩa và được kích hoạt bằng lệnh gọi. Thủ tục xử lý sự kiện được khai báo tự động bởi VB và được kích hoạt khi có một sự kiện tác động lên form hoặc đối tượng điều khiển trên form. Thủ tục tổng quát Khai báo Private/Public Sub () End sub Private sub Tinh() lblTong.Caption = val(txtSo1.Text)+val(txtSo2.Text) End sub Private sub Tinh(so1 as Integer, so2 as Integer) lblTong.Caption =so1+so2 End sub Thủ tục xử lý sự kiện Được khai báo tự động bởi VB Tên có dạng _ Private sub Tinh(a as Integer, b as Integer) lblTong.Caption = a+b End sub Private sub CmdTinh_Click() so1 = val(txtSo1.Text) so2 = val(txtSo2.Text) Tinh so1, so2 End sub Ví dụ : Viết chương trình nhập 2 số bất kỳ và tính tổng Thủ tục cộng :(với 2 tham số là a và b) Sub cong(a as integer, b as integer) a = inputbox(“Nhap vao so a”) b = inputbox(“Nhap vao so b”) Dim x x= a+b Txtthongbao.text=x End sub Ví dụ :tiếp theo Thủ tục của nút command button có thuộc tính Name là cmdtinhtong với biến cố click. Sub cmdtinhtong_click() dim a as integer dim b as integer cong a,b End sub Chương trình con function Ý nghĩa giống thủ tục Loại chương trình con luôn luôn trả về giá trị thông qua tên của nó Private function Tinh(so1 as Integer, so2 as Integer) as Integer Tinh = so1+so2 End function Private sub CmdTinh_Click() so1 = val(txtSo1.Text) so2 = val(txtSo2.Text) lblTong.Caption = Tinh(so1, so2) End sub Chương trình con : Khai báo Cú pháp khai báo chương trình con FUNCTION(thamsố as Kiểu,.. )as các lệnh trong thân hàm Tên Hàm = Giá trị trả về END FUNCTION Khai báo Chương trình con khai báo với từ khoá Private chỉ có ý nghĩa trong phạm vi khai báo. Chương trình con khai báo với từ khoá Public trong form có thể sử dụng trong form đó và trong các form khác . Chương trình con khai báo với từ khoá Public trong module có thể sử dụng trong toàn bộ chương trình. Ví dụ : Viết chương trình tính tổng hai số nguyên dùng hàm Hàm cộng :(với 2 tham số là a và b) dim a as integer dim b as integer Function cong (a as integer, b as integer) as integer a = inputbox(“Nhap vao so a”) b = inputbox(“Nhap vao so b”) Dim x X=a+b Cong = x End function Ví dụ (tiếp theo) Thủ tục cmdtinhtong_click() Sub cmdtinhtong_click() txtthongbao.text= cong (a,b) End sub
File đính kèm:
- Bài giảng VB 6.0 - Chương 5_Cấu trúc điều khiển (tiếp).ppt