TIN HỌC ĐẠI CƯƠNG
Chương 7: KIỂU DỮ LIỆU – HẰNG – BIẾN
GV: Nguyễn Lê Minh Bộ môn: Công nghệ thông tin
3/6/2020
Nội dung
1. Kiểu dữ liệu 2. Biến 3. Toán tử 4. Cấu trúc điều khiển 5. Mảng 6. Một số hộp thoại thông dụng
3/6/2020 2
Nội dung
1. Kiểu dữ liệu 2. Biến 3. Toán tử 4. Cấu trúc điều khiển 5. Mảng 6. Một số hộp thoại thông dụng
3/6/2020 3
1. Kiểu dữ liệu
■ Visual Basic phân loại các dữ liệu thành hai loại dữ liệu quan trọng là: Kiểu dữ liệu số
Kiểu dữ liệu không phải số: chuỗi, đối tượng, ngày tháng
.
3/6/2020 4
1. Kiểu dữ liệu
Kiểu dữ liệu số: loại dữ liệu bao gồm các con số, có thể được tính
toán với các phép tính cộng, trừ, nhân, chia …
Ví dụ: điểm thi, chiều cao, trọng lượng, số lượng sinh viên trong một lớp học, chia sẻ giá trị, giá cả hàng hóa, hóa đơn hàng tháng, …. Kiểu dữ liệu số trong VB 6.0 được chia thành 7 loại:
Integer Single Currency
Byte Long Double Decimal
3/6/2020 5
1. Kiểu dữ liệu
Độ lớn kiểu dữ liệu số:
Kiểu dữ liệu Độ lớn
Khoảng giá trị
Byte
1 byte
Số nguyên 0 – 255
Integer
2 bytes
Số nguyên -32768 - 32,767
Long
4 bytes
Số nguyên -2,147,483,648 - 2,147,483,648
Số thực lưu các số có trị tuyệt đối từ 1,5*10^-45 – 3,4*10^38
Single
4 bytes
Số thực lưu các số có trị tuyệt đối từ 5*10^-234 – 1,7*10^308
Double
8 bytes
3/6/2020 6
1. Kiểu dữ liệu
Kiểu dữ liệu không phải số: dữ liệu văn bản, chuỗi dữ liệu các loại, dữ liệu ngày tháng, dữ liệu Boolean lưu trữ hai giá trị (đúng hoặc sai), loại đối tượng dữ liệu và kiểu dữ liệu Variant.
Kiểu dữ liệu
Độ lớn
Khoảng giá trị
Length of string
String (chuỗi kí tự)
Date
8 bytes
Boolean
2 bytes
1 to 65,400 characters January 1, 100 to December 31,9999 True or False
Object
4 bytes
Trỏ đến đối tượng trong ứng dụng
Variant
16 bytes
Chứa mọi loại dữ liệu
3/6/2020 7
Nội dung
1. Kiểu dữ liệu 2. Biến 3. Toán tử 4. Cấu trúc điều khiển 5. Mảng 6. Một số hộp thoại thông dụng
3/6/2020 8
2. Biến
Biến là ô nhớ chứa dữ liệu, giá trị của biến có thể thay đổi trong
chương trình.
Khai báo biến:
Dim Ten_bien
As
Kieu_Du_Lieu
Dim Ten_bien1 As Kieu_Du_Lieu1, Ten_bien2 AsKieu_Du_Lieu2,
Ten_bien3 AsKieu_Du_Lieu3,…
3/6/2020 9
2. Biến
Ví dụ:
3/6/2020 10
2. Biến
Cách đặt tên biến:
Không sử dụng khoảng cách
Không bắt đầu bằng số hoặc ký tự đặc biệt ngoại trừ “_”
Ít hơn 255 ký tự
Đặt tên biến hợp lệ
Đặt tên biến không hợp lệ
Ho_Ten
Ho.Ten
So1
1So
*& không
Ten_bien_dai
Tom&Jerry được phép sử dụng
3/6/2020 11
2. Biến
Không giống như các ngôn ngữ lập trình khác, Visual Basic thực sự
không yêu cầu bạn phải khai báo biến trước khi sử dụng. Nếu một biến không được khai báo, VB sẽ tự động khai báo các biến như là một biến có kiểu dữ liệu Variant. Variant là kiểu dữ liệu có thể chứa bất kỳ loại dữ liệu.
Biến Sum không được khai báo trước, nó được khai báo như là một biến Variant có thể chứa bất kỳ loại dữ liệu nào
3/6/2020 12
2. Biến
Phạm vi khai báo: Chúng ta có thể sử dụng các từ khóa private,
static và public để khai báo biến theo phạm vi sử dụng. private: khai báo biến cục bộ
public: khai báo biến toàn cục
static: khai báo biến tĩnh
3/6/2020 13
2. Biến
Phạm vi khai báo: Chúng ta có thể sử dụng các từ khóa private,
static và public để khai báo biến theo phạm vi sử dụng. private: khai báo biến cục bộ
public: khai báo biến toàn cục
static: khai báo biến tĩnh
3/6/2020 14
2. Biến
Khai báo hằng số: hằng số có giá trị không thay đổi trong các hoạt động của chương trình.
Const Ten_bien As
Kieu_Du_Lieu = Gia_tri
3/6/2020 15
Nội dung
1. Kiểu dữ liệu 2. Biến 3. Toán tử 4. Cấu trúc điều khiển 5. Mảng 6. Một số hộp thoại thông dụng
3/6/2020 16
3. Toán tử
Gán giá trị cho biến:
Ten_bien = Gia_tri
Ví dụ:
so1=100
so2=so1-99
ten=“Mr.Bean"
matkhau.Text = “123456”
Label1.Visible = true
Command1.Visible = false
3/6/2020 17
3. Toán tử
Khi gán dữ liệu không đúng kiểu, chương trình sẽ báo lỗi như sau:
3/6/2020 18
3. Toán tử
Các toán tử toán học:
Ý nghĩa toán học
Ví dụ
Toán tử +
Phép cộng
2+3=5
Phép trừ
10-9=1
-
Phép lũy thừa
2^4=16
^
Phép nhân
4*2=8
*
Phép chia
12/4=3
/
Mod
Phép chia lấy dư
15 Mod 2=1
Phép chia lấy phần nguyên 21\4=5
\
+ or &
Nối chuỗi
"Visual"&"Basic"="Vis ual Basic"
3/6/2020 19
3. Toán tử
Các toán tử điều kiện:
Ví dụ
Toán tử
Ý nghĩa
=
So sánh bằng
So sánh lớn hơn
>
So sánh bé hơn
<
>=
<=
a=5, b =8 a=b True a>b False a=b False a<=b True
So sánh bé hơn hoặc bằng
So sánh khác
a<>b True
<>
3/6/2020 20
3. Toán tử
Các toán tử Logic:
Toán tử
Ý nghĩa
Và: cả 2 điều kiện điều đúng kết quả đúng
And
Hoặc: một trong các điều kiện đúng kết quả đúng
Or
Hai điều kiện có giá trị khác nhau kết quả đúng
Xor
Phủ định: đúng sai, sai đúng
Not
Ví dụ: (3>5)And(8-1<9) Sai (3-4>0) Or (8>10) Sai
(3<5)And(8-1<9) Đúng (3-4<0) Or (8>10) Đúng
3/6/2020 21
3. Toán tử
Các hàm toán học thông dụng:
Hàm
Ý nghĩa
Ví dụ
Int
Lấy số nguyên lớn hơn gần nhất
Int(6.5) = 7
Sqr
Lấy căn bậc hai
Sqr(16) = 4
Abs
Lấy trị tuyệt đối
Abs(-2) = 2
Exp
Lấy giá trị ex
Exp(1) = 2.7182818284590
Fix
Lấy phần nguyên
Fix(6.5) = 6
Round
Làm tròn
Round(2.3554, 2) =2.36
Lất giá trị log(x)
Log(10) = 2.302585
Log
3/6/2020 22
3. Toán tử
Các hàm xử lí chuỗi thông dụng:
Hàm
Ý nghĩa
Ví dụ
Len (“chuỗi”)
Lấy độ dài chuỗi
Len(“Tin Hoc Dai Cuong”)= 17
Right (“chuỗi”, n)
Right(“Visual Basic”,2) = ic
Left(“chuỗi”, n)
Left(“Visual Basic”,5) = Visua
Lấy n ký tự của chuỗi từ phải qua trái Lấy n ký tự của chuỗi từ trái qua phải
Ltrim(“ VB 6.0”) = VB6.0
Xóa các khoảng trắng
Ltrim(“chuỗi”)
Rtrim(“chuỗi”)
Rtrim(“GTVT ”) =GTVT
bên trái chuỗi Xóa các khoảng trắng bên phải chuỗi
Trim(“Tin Hoc Dai Cuong”)=
Xóa các tất cả khoảng trắng của chuỗi
Trim(“chuỗi”)
TinHocDaiCuong
3/6/2020 23
3. Toán tử
Các hàm xử lí chuỗi thông dụng:
Hàm
Ý nghĩa
Ví dụ
Lấy n ký tự từ vị trí m
Mid(“chuỗi”, m , n)
Chuyển toàn bộ chuỗi thành
Mid(“Lap trinh”, 2,4) =ap t Ucase(“Lap trinh”) = LAP TRINH
Ucase(“chuỗi”)
chữ hoa
Lcase(“chuỗi”)
Lcase(“Lap trinh”) = lap trinh
Chr(charcode)
Chr(65)=A
Chuyển toàn bộ chuỗi thành chữ thường Lấy ký tự từ bảng mã ASCII theo charcode Lấy charcode ASCII của ký
Asc(“A”)=65
Asc(Character)
tự
3/6/2020 24
Nội dung
1. Kiểu dữ liệu 2. Biến 3. Toán tử 4. Cấu trúc điều khiển 5. Mảng 6. Một số hộp thoại thông dụng
3/6/2020 25
4. Cấu trúc điều khiển
Cấu trúc lặp
Cấu trúc rẽ nhánh
3/6/2020 26
4. Cấu trúc điều khiển
Cấu trúc rẽ nhánh:
Cấu trúc If.....Then.....Else…..End IF
3/6/2020 27
4. Cấu trúc điều khiển
Ví dụ: Xây dựng chương trình giải phương trình bậc nhất ax+b=0
3/6/2020 28
4. Cấu trúc điều khiển
3/6/2020 29
4. Cấu trúc điều khiển
Ví dụ: Xây dựng chương trình giải phương trình bậc hai ax^2+bx+c=0
3/6/2020 30
4. Cấu trúc điều khiển
3/6/2020 31
4. Cấu trúc điều khiển
Cấu trúc rẽ nhánh (tiếp):
Cấu trúc If.....Then.....ElseIf…..
3/6/2020 32
4. Cấu trúc điều khiển
Phương trình bậc hai theo cấu trúc If …Then…ElseIf….
3/6/2020 33
4. Cấu trúc điều khiển
Cấu trúc
Cấu trúc Select .... Case....End
3/6/2020 34
4. Cấu trúc điều khiển
Ví dụ: Xây dựng chương trình xếp loại kết quả học tập khi người dùng
nhập vào điểm trung bình. Dtb >= 8.0 Giỏi
7.0 <= Dtb < 8.0 Khá
5.0 <= Dtb <7.0 Trung bình
Dtb<5.0 Yếu
3/6/2020 35
4. Cấu trúc điều khiển
3/6/2020 36
4. Cấu trúc điều khiển
Cấu trúc lặp: Vòng lặp được dùng để thực thi một số việc cho đến khi điều kiện đúng(hoặc sai tùy theo cấu trúc) thì thoát khỏi vòng lặp và thi hành lệnh tiếp theo.
3/6/2020 37
4. Cấu trúc điều khiển
Vòng lặp Do:
3/6/2020 38
4. Cấu trúc điều khiển
Cấu trúc Do While...Loop:
a) Do While dieu_kien Đoạn mã VB
Loop
Ví dụ: Xuất dãy số từ 1 đến 10
3/6/2020 39
4. Cấu trúc điều khiển
Cấu trúc Do ...Loop Until:
d) Do
Đoạn mã VB
Loop Until dieu_kien
Ví dụ: Xuất dãy số từ 1 đến 10
3/6/2020 40
4. Cấu trúc điều khiển
Cấu trúc For ... Next:
For counter=startNumber to endNumber
Đoạn mã VB
Next
Ví dụ: Xuất ra bảng cửu chương 2
3/6/2020 41
4. Cấu trúc điều khiển
Cấu trúc While...Wend:
While dieu_kien Câu lệnh VB
Wend
Ví dụ: Tính giai thừa số n nhập từ bàn phím
3/6/2020 42
Nội dung
1. Kiểu dữ liệu 2. Biến 3. Toán tử 4. Cấu trúc điều khiển 5. Mảng 6. Một số hộp thoại thông dụng
3/6/2020 43
5. Mảng
Một mảng là một danh sách các biến có cùng kiểu dữ liệu và tên. Khi làm việc với một danh sách ít phần tử thì ta có thể dúng từng biến riêng lẽ, nhưng nếu số lượng phần tử lớn thì ta cần dùng mảng Ví du:
Danh sách sinh viên toàn trường cần dùng mảng
Danh sách các sản phẩm trong siêu thị cần dùng mảng
■ * Nếu dùng từng biến riêng thì cần phải có hàng ngàn biến có tên khác nhau
3/6/2020 44
5. Mảng
Một mảng có thể là một chiều hoặc đa chiều
Một chiều: Danh sách tên các sinh viên trong lớp học
Hai chiều: Ma trận trong trờ chơi Soduka, cờ ca rô, hay cờ vua …
Định dạng:
Mảng một chiều: TenMang(x)
Mảng 2 chiều: TenMang(x,y)
Mảng 3 chiều: TenMang(x,y,z)
Mảng n chiều: Tenmang(x,y,z,……)
■ * Trong đó x,y,z là vị trí của các phần tử trong danh mảng
3/6/2020 45
5. Mảng
Cách khai bảo mảng
Dim TenMang(so_luong_phan_tu) as kieu_du_lieu
Ví dụ:
■ Dim studentName(10) As String
■ Dim num(100) as Double
■ Dim date(95) as Date
3/6/2020 46
5. Mảng
Ví dụ: nhập vào tên của 10 sinh viên và in ra trên cửa sổ chương
trình
3/6/2020 47
Nội dung
1. Kiểu dữ liệu 2. Biến 3. Toán tử 4. Cấu trúc điều khiển 5. Mảng 6. Một số hộp thoại thông dụng
3/6/2020 48
6. Một số hộp thoại thông dụng
Hộp thoại thông báo thông tin
MsgBox(“Nội dung thông báo")
3/6/2020 49
6. Một số hộp thoại thông dụng
Hộp thoại nhập dữ liệu
InputBox(“Nội dung thông báo")
3/6/2020 50