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