Tải bản đầy đủ (.pdf) (71 trang)

tiểu luận nhập môn điện điện tử, tiểu luận thăm quan trang trại bò sữa, toán A 3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.36 MB, 71 trang )

Visual Basic 6.0
Nguyễn Đăng Quang



Chương 4
Các cấu trúc điều khiển


Cấu trúc IF
Dạng 1 (một dòng)
if <Điều kiện đúng> then <Lệnh>
(Chỉ có một lệnh viết sau then)

Dạng 2 (nhiều dòng)
if <Điều kiện đúng> then

Max = a
If Max < b then max = b

<Lệnh>
End if
(Có nhiều lệnh viết sau then)
Nguyễn Đăng Quang UTE-HCM 2005


Cấu trúc IF…
Dạng 3
if <ĐK 1> then
<Lệnh 1>
Elseif <ĐK 2> then


<Lệnh 2>

Else
<Lệnh>
End if

If a > b then
Max = a
Else
Max = b
End if

Nguyễn Đăng Quang UTE-HCM 2005


Cấu trúc Select case
Dạng:
Select case <trị>
Case <trị 1>
<lệnh 1>
Case <trị 2>
<lệnh 2>

Case else
<lệnh n>
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
Nguyễn Đăng Quang UTE-HCM 2005


Lệnh lặp For..Next
For <biến> = <tđ> to <tc> [ step <b> ]
<lệnh>
Next <Biến>
<lệnh> được thực hiện từ <trị đầu> đến <trị cuối>,
giá trị của <biến> được thay đổi theo <bước tăng>
S=0
For i = 1 to 10
s=s+i
Next i

S=0
For i = 1 to 10 step 2
s=s+i

Next i
Nguyễn Đăng Quang UTE-HCM 2005


Kết thúc sớm lệnh lặp FOR
S=0
For i = 1 to 10
s=s+i
Next i

S=0
For i = 1 to 10
s=s+i
If i = 5 then exit for
Next i

Lặp 10 lần

Phát biểu exit for
kết thúc sớm lệnh
lặp For
Nguyễn Đăng Quang UTE-HCM 2005


Lệnh lặp Do..Loop
Do while <Điều kiện>
<Lệnh>
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 <= 10
StrS = strS & “a”
i = i +1
Loop
Nguyễn Đăng Quang UTE-HCM 2005


Lệnh lặp Do Loop Until
Do
<Lệnh>
Loop Until <Điều kiện>
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
Nguyễn Đăng Quang UTE-HCM 2005


Chương trình con


Có hai loại chương trình con trong Visual
Basic, đó là
Sub (thủ tục)



function (hàm)

Nguyễn Đăng Quang UTE-HCM 2005


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.

Nguyễn Đăng Quang UTE-HCM 2005


Thủ tục tổng quát
Khai báo
Private/Public Sub <Tên>(<tham số>)
<Lệnh>
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
Nguyễn Đăng Quang UTE-HCM 2005



Thủ tục xử lý sự kiện



Được khai báo tự động bởi VB
Tên có dạng <đối tượng>_<sự kiện>
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
Nguyễn Đăng Quang UTE-HCM 2005


Chương trình con function


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)
Tinh = so1+so2
End function
Private sub CmdTinh_Click()
so1 = val(txtSo1.Text)

so2 = val(txtSo2.Text)
lblTong.Caption = Tinh(so1, so2)
End sub

as

Integer

Nguyễn Đăng Quang UTE-HCM 2005


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.
Nguyễn Đăng Quang UTE-HCM 2005



Chương 5
Mảng – chuỗi


Đặt vấn đề


Tính tổng 3 biến số nguyên:
Khai báo
Dim a as integer, b as integer, c as integer, t as integer
t=a+b+c
a
10

b

+

-9

c

+

23

t
24
Nguyễn Đăng Quang UTE-HCM 2005



Tính tổng 10 số nguyên
 Không thể khai báo
Dim a as integer, b as integer… t as integer


Và không thể tính:
t = a + b +…



Biến đổi cách tính tổng thành:
T=0
T = t+a
T = t+b


t

a

b

c



t
t
Nguyễn Đăng Quang UTE-HCM 2005



a(1)
t

a

b

c



t


t

t

a(2) a(3)

t = t+a(1)

t = t+a(2)
t

t

t = t+a(3)

t = t+a(i)
i=1..10

t=0
For i = 1 to 10
t = t + a(i)
Next

t=0
t = t+a(1)
t = t+a(2)
t = t+a(3)

t = t+a(10)

Nguyễn Đăng Quang UTE-HCM 2005


Mảng


Mảng là tập hợp các phần tử cùng kiểu dữ
liệu được đánh thứ tự. Số thứ tự của mỗi
phần tử được gọi là chỉ số.
a
10

-9

5


17

-5

(1)

(2)

(3)

(4)

(5)

Nguyễn Đăng Quang UTE-HCM 2005


Khai báo mảng
Dim/Public <Tên>(<Số phần tử>) As <Kiểu>

Ví dụ:
Dim A(10) As Integer
Dim Hoten(50) As String
Phần tử đầu tiên có chỉ số 0

Nguyễn Đăng Quang UTE-HCM 2005


Khai báo mảng với chỉ số bắt

đầu khác 0
Dim a(1 to 10) As Integer
Hoặc
Option base 1
Dim a(10) As integer

Nguyễn Đăng Quang UTE-HCM 2005


Các giải thuật thường dùng
Tính tổng
S=0
for i = 1 to n
s = s + a(i)
Next i

Tìm max/min
max = a(1)
k=1
for i = 2 to n do
if max < a(i) then
max = a(i)
k=i
end if

Nguyễn Đăng Quang UTE-HCM 2005


Các giải thuật thường dùng
Tìm kiếm phần từ có giá trị x

found = false
for i = 1 to n
if a(i)=x then
found = true
exit for
end if
Next i

Nguyễn Đăng Quang UTE-HCM 2005


Các giải thuật thường dùng
Sắp xếp tăng/giảm
for i = 1 to n-1 do
for j=i+1 to n do
if a(i) > a(j) then
swap a(i), a(j)
end if
next
next

Nguyễn Đăng Quang UTE-HCM 2005


×