TRƯỜNG ĐẠI HỌC HÙNG VƯƠNG
KHOA KỸ THUẬT – CÔNG NGHỆ
-----------------------
LÊ THỊ QUYÊN
XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC LẬP TRÌNH
PASCAL TRÊN THIẾT BỊ DI ĐỘNG
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Ngành: Công nghệ thông tin
Phú Thọ, 2017
TRƯỜNG ĐẠI HỌC HÙNG VƯƠNG
KHOA KỸ THUẬT – CÔNG NGHỆ
-----------------------
LÊ THỊ QUYÊN
XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC LẬP TRÌNH
PASCAL TRÊN THIẾT BỊ DI ĐỘNG
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Ngành: Công nghệ thông tin
NGƯỜI HƯỚNG DẪN: Th.S Nguyễn Thị Hảo
Phú Thọ, 2017
i
LỜI CẢM ƠN
Để khóa luận đạt kết quả tốt đẹp, em đã nhận được sự hỗ trợ, giúp đỡ của
nhiều tổ chức, cá nhân. Với tình cảm chân thành, cho phép em được bày tỏ
lòng biết ơn sâu sắc đến tất cả các cá nhân và tổ chức đã tạo điều kiện giúp đỡ
trong quá trình học tập và nghiên cứu đề tài.
Đầu tiên, em xin chân thành cảm ơn cô giáo Nguyễn Thị Hảo đã tận tình
hướng dẫn và góp ý để em có thể hoàn thành tốt đề tài khoá luận “Xây dựng
phần mềm hỗ trợ học lập trình Pascal trên thiết bị di động”.
Em xin chân thành cảm ơn ban lãnh đạo khoa, các thầy cô giáo trong khoa
Kỹ thuật - Công nghệ trường Đại học Hùng Vương đã đưa ra các ý kiến giúp
đỡ, tạo điều kiện thuận lợi cho em hoàn thành đề tài. Do kiến thức và kinh
nghiệm thực tiễn còn hạn chế, quá trình hoàn thành khóa luận khó tránh khỏi
những sai xót, rất mong thầy cô đóng góp ý kiến để bản khóa luận của em
được hoàn thiện.
Việt Trì, 17 tháng 05 năm 2017
Sinh viên
Lê Thị Quyên
ii
MỤC LỤC
A. MỞ ĐẦU ................................................................................................................1
1. Tổng quan về vấn đề nghiên cứu ........................................................................1
1.1. Trên thế giới ................................................................................................... 1
1.2. Ở Việt Nam ..................................................................................................... 2
2. Tính cấp thiết của đề tài ......................................................................................3
3. Mục tiêu nghiên cứu của đề tài ...........................................................................3
4. Đối tượng và phạm vi nghiên cứu .......................................................................4
4.1. Đối tượng nghiên cứu ..................................................................................... 4
4.2. Phạm vi nghiên cứu ........................................................................................ 4
5. Phương pháp nghiên cứu.....................................................................................4
6. Bố cục ..................................................................................................................4
B. NỘI DUNG, KẾT QUẢ NGHIÊN CỨU ...............................................................5
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .......................................................................5
1.1. Ngôn ngữ lập trình Pascal .............................................................................. 5
1.1.1. Các cấu trúc lệnh ..................................................................................5
1.1.2. Các cấu trúc dữ liệu phức tạp .............................................................10
1.2. Tổng quan về hệ điều hành Android trên thiết bị di động ............................ 15
1.2.1. Sự ra đời ..............................................................................................15
1.2.2. Kiến trúc và các thành phần ...............................................................17
1.3. Ngôn ngữ lập trình Java................................................................................ 23
1.3.1. Các đặc trưng của Java ......................................................................23
1.3.2. Bộ công cụ phát triển JDK (Java Development Kit) ..........................23
1.3.3. Cấu trúc của một chương trình Java ..................................................24
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ .........................................................25
2.1. Phân tích hệ thống ........................................................................................ 25
2.1.1. Xác định yêu cầu .................................................................................25
2.1.2. Phân tích hệ thống ..............................................................................26
2.2. Thiết kế ......................................................................................................... 28
2.2.1. Thiết kế cơ sở dữ liệu ..........................................................................28
2.2.2. Thiết kế mô hình lớp ............................................................................29
iii
2.2.3. Đặc tả hệ thống ...................................................................................32
CHƯƠNG 3: CÀI ĐẶT, THỬ NGHIỆM PHẦN MỀM ......................................33
3.1. Cài đặt phầm mềm lên thiết bị Android ....................................................... 33
3.2. Danh sách các màn hình ............................................................................... 34
3.3. Chi tiết các màn hình .................................................................................... 35
C. KẾT LUẬN CHUNG ...........................................................................................52
D. TÀI LIỆU THAM KHẢO ....................................................................................53
iv
DANH MỤC HÌNH ẢNH
STT
Tên hình ảnh
Trang
1
Hình 1.1. Lưu đồ biểu diễn lệnh IF...THEN
5
2
Hình 1.2. Lưu đồ biểu diễn lệnh IF...THEN...ELSE
6
3
Hình 1.3. Lưu đồ biểu diễn lệnh CASE...OF
7
4
Hình 1.4. Lưu đồ biểu diễn lệnh FOR
7
5
Hình 1.5. Lưu đồ biểu diễn lệnh REPEAT...UNTIL
9
6
Hình 1.6. Lưu đồ biểu diễn lệnh WHILE...DO
9
7
Hình 1.7. Hệ điều hành Android
15
8
Hình 1.8. Kiến trúc tổng quát hệ điều hành Android
17
9
Hình 1.9. Các thành phần nhân Linux
17
10
Hình 1.10. Các thư viện
18
11
Hình 1.11. Android Runtime
19
12
Hình 1.12. Khung ứng dụng
19
13
Hình 2.1. Biểu đồ UserCase
25
14
Hình 2.2. Sơ đồ phân cấp chức năng
26
15
Hình 2.3. Sơ đồ luồng dữ liệu mức khung cảnh
26
16
Hình 2.4. Sơ đồ luồng dữ liệu mức đỉnh
26
17
Hình 2.5. Sơ đồ luồng dữ liệu chức năng Học lý thuyết
27
18
Hình 2.6. Sơ đồ luồng dữ liệu chức năng Xem bài tập
27
19
Hình 2.7. Sơ đồ luồng dữ liệu chức năng Câu hỏi
27
20
Hình 2.8. Sơ đồ luồng dữ liệu chức năng Trắc nghiệm
28
21
Hình 2.9. Sơ đồ luồng dữ liệu chức năng Xem video
28
22
Hình 2.10. Mô hình lớp
30
23
Hình 3.1. Unknown Sources
33
24
Hình 3.2. Màn hình chính
35
25
Hình 3.3. Màn hình lý thuyết
36
26
Hình 3.4. Màn hình chức năng chọn chương lý thuyết
37
27
Hình 3.5. Màn hình lựa chọn nội dung lý thuyết
38
v
28
Hình 3.6. Màn hình hiển thị nội dung lý thuyết
39
29
Hình 3.7. Màn hình hiển thị các cấu trúc lệnh
40
30
Hình 3.8. Màn hình hiển thị danh sách ví dụ
41
31
Hình 3.9. Màn hình hiển thị nội dung ví dụ
42
32
Hình 3.10. Màn hình lựa chọn loại bài tập
43
33
Hình 3.11. Màn hình danh sách bài tập
44
34
Hình 3.12. Màn hình nội dung bài tập
45
35
Hình 3.13. Màn hình câu hỏi
46
36
Hình 3.14. Màn hình thi trắc nghiệm
47
37
Hình 3.15. Màn hình điểm thi
48
38
Hình 3.16. Màn hình video
49
39
Hình 3.17. Màn hình WebView
50
40
Hình 3.18. Màn hình thông tin ứng dụng
51
vi
DANH MỤC BẢNG BIỂU
STT
Tên bảng
Trang
1
Bảng 2.1. Danh sách các thực thể
28
2
Bảng 2.2. Bảng câu hỏi
29
3
Bảng 3.1. Danh sách các màn hình
34
4
Bảng 3.2. Mô tả chi tiết màn hình chính
36
5
Bảng 3.3. Mô tả chi tiết màn hình lý thuyết
37
6
Bảng 3.4. Mô tả chi tiết màn hình chọn chương lý thuyết
38
7
Bảng 3.5. Mô tả chi tiết màn hình lựa chọn nội dung lý thuyết
39
8
Bảng 3.6. Mô tả chi tiết màn hình hiển thị nội dung lý thuyết
40
9
Bảng 3.7. Mô tả chi tiết màn hình hiển thị các cấu trúc lệnh
41
10
Bảng 3.8. Mô tả chi tiết màn hình hiển thị danh sách ví dụ
41
11
Bảng 3.9. Mô tả chi tiết màn hình hiển thị nội dung ví dụ
42,43
12
Bảng 3.10. Mô tả chi tiết màn hình lựa chọn loại bài tập
44
13
Bảng 3.11. Mô tả chi tiết màn hình danh sách bài tập
45
14
Bảng 3.12. Mô tả chi tiết màn hình nội dung bài tập
45
15
Bảng 3.13. Mô tả chi tiết màn hình câu hỏi
46
16
Bảng 3.14. Mô tả chi tiết màn hình thi trắc nghiệm
47
17
Bảng 3.15. Mô tả chi tiết màn hình điểm thi
48
18
Bảng 3.16. Mô tả chi tiết màn hình video
49
19
Bảng 3.17. Mô tả chi tiết màn hình WebView
50
20
Bảng 3.18. Mô tả chi tiết màn hình thông tin ứng dụng
51
vii
DANH MỤC CHỮ VIẾT TẮT
STT Chữ viết tắt
1
API
Viết đầy đủ
Ý nghĩa
Application
Giao diện lập trình ứng dụng
Programming Interface
2
GPS
Global Positioning
Hệ thống định vị toàn cầu
System
3
GSM
Global System for
Hệ thống thông tin di động
Mobile
toàn cầu
Communications
4
5
HTML
JDBC
HyperText Markup
Ngôn ngữ đánh dấu siêu văn
Language
bản
Java Database
Một API tiêu chuẩn dùng để
Connectivity
tương tác với các loại cơ sở dữ
liệu quan hệ.
6
JDK
Java Development Kit
Bộ công cụ phát triển JDK
7
JRE
Java Runtime
Được sử dụng để cung cấp
Environment
môi trường runtime
JVM-Java Virtual
Máy ảo Java
8
JVM
Machine
9
10
PDA
SSL
Personal Digital
Thiết bị kỹ thuật số hỗ trợ cá
Assistant
nhân
Secure Sockets Layer
Tiêu chuẩn của công nghệ bảo
mật, truyền thông mã hoá giữa
máy chủ Web server và trình
duyệt (browser)
11
XML
eXtensible Markup
Language
Ngôn ngữ đánh dấu mở rộng
1
A. MỞ ĐẦU
1. Tổng quan về vấn đề nghiên cứu
1.1. Trên thế giới
Theo xu thế phát triển của thời đại hiện nay, công nghệ thông tin đóng vai
trò rất quan trọng trong mọi lĩnh vực kinh tế, chính trị, xã hội, nó đã ăn sâu
vào mọi lĩnh vực. Điện thoại thông minh (smartphone) là những thiết bị công
nghệ quen thuộc với người dùng. Trong đó, phổ biến nhất hiện nay chính là
smartphone chạy hệ điều hành Android.
Android là hệ điều hành trên điện thoại di động, hiện nay là cả trên một số
đầu phát HD, HD Player, TV. Android được phát triển bởi Google và dựa trên
nền tảng Linux. Trước đây, Android được phát triển bởi công ty liên hợp
Android (sau đó được Google mua lại vào năm 2005). Các nhà phát triển viết
ứng dụng cho Android dựa trên ngôn ngữ Java. Sự ra mắt của Android vào
ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay
mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm
mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai.
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào
thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt
và 1,3 triệu lượt kích hoạt mỗi ngày. Tháng 10 năm 2012, đã có khoảng
700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play (cửa
hàng ứng dụng chính của Android) ước tính khoảng 25 tỷ lượt. Hiện nay con
số này đã giảm xuống do sự ảnh hưởng lớn của iOS từ Apple và một phần
nhỏ của Windows Phone, tuy nhiên Android vẫn dẫn đầu thị phần.
Một số ứng dụng hỗ trợ học tập trên thiết bị di động nổi tiếng trên thế giới
như: Learn English, UnLockYourBrain, Khan Academy, Speak English,
StudyBlue,... Những ứng dụng này đều vô cùng hữu ích, tài liệu học tập đều
được chọn lọc kỹ, nội dung đầy đủ và chất lượng. Chỉ với 1 chiếc smartphone
đã cài đặt phần mềm học tập, người dùng có thể học bất cứ lúc nào. Các ứng
2
dụng này sẽ không chỉ giúp bạn tìm giải pháp hoặc các chủ đề thích hợp mà
còn giúp bạn tiết kiệm rất nhiều thời gian.
1.2. Ở Việt Nam
Android là một hệ điều hành có nhiều ưu điểm vượt trội, rất được ưa
chuộng ở Việt Nam. Các máy điện thoại Android có mặt từ năm 2009, các
siêu phẩm Android trên thế giới đều nhanh chóng có mặt ở Việt Nam như:
Google Nexus, Sony Ericsson X10, Motorola Millestone, HTC Desize, HTC
HD, Droid X....
Báo cáo thị trường mobile Việt Nam quý 3/2016 tổng quan về các thiết bị
di động tại Việt Nam:
o Số lượng người dùng các thiết bị điện thoại di động tại Việt Nam
tính đến quý 3 là 25 triệu người dùng. Trong đó có 52% sử
dụng các thiệt bị smartphone chạy hệ điều hành Android.
o Các hãng sử dụng hệ điều hành Android được yêu thích nhất tại
Việt Nam là Samsung, Sony, Asus, Oppo.
o Báo cáo cũng công bố số liệu về tỷ lệ xu hướng kích cỡ màn
hình của các thiết bị: WVGA 480×800 chiếm 28,71%, HD
720×1280 chiếm 26,13%, HD 720×1184 chiếm 15,78%, full HD
1080×1902 chiếm 15,16%, qHD 540×960 chiếm 14,23%.
Trung bình 1 tháng, người dùng Android tải về 200,000 lượt, bằng 1/32
lần so với số lượt tải của iOS. Nhưng tính trung bình, mỗi người dùng
Android tải về số ứng dụng nhiều gấp rưỡi so với người dùng iOS. Điều này
khá logic khi đa số người dùng Android Việt Nam am hiểu về công nghệ và
ưa thích tìm hiểu. Về nội dung tải về, người dùng Android ưa thích các phần
mềm hơn các nội dung giải trí. Trung bình 1 tháng 1 người dùng Android tải
về 230 MB. Các phần mềm, game trên Android có cơ chế cài đặt riêng (các
game dung lượng lớn sẽ được download qua server nhà sản xuất).
3
2. Tính cấp thiết của đề tài
Android cung cấp cho ta một nền tảng tốt nhất toàn cầu nhằm tạo ra các
ứng dụng và trò chơi cho người dùng Android ở mọi nơi, cùng với đó là một
thị trường mở để phân phối chúng ngay tức thì[2]. Android được các công ty
công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng
tinh chỉnh, tùy biến do có mã nguồn mở, có bảo mật cao, hỗ trợ nhiều công
nghệ tiên tiến, tương thích với nhiều phần cứng và giá rẻ, chạy trên các thiết
bị công nghệ cao thay vì phải tạo dựng từ đầu. Hơn nữa, Android có một kho
ứng dụng khổng lồ trên Google Play, hỗ trợ công nghệ OpenGL là tiền đề
phát triển các ứng dụng có giao diện phức tạp.
Có rất nhiều sinh viên trường Đại học Hùng Vương sử dụng điện thoại
chạy hệ điều hành Android, tuy nhiên việc học tập qua các phần mềm trên
thiết bị di động còn khá mới mẻ. Ở trường Đại học Hùng Vương, ngôn ngữ
lập trình Pascal được đưa vào giảng dạy ở kì đầu tiên của khóa học khóa học
cho sinh viên chuyên ngành công nghệ thông tin. Nó cũng được đưa vào
chương trình đào tạo của sinh viên không chuyên như toán học, vật lý, điện –
điện tử. Khi tham gia các lớp học lập trình Pascal, sinh viên gặp không ít khó
khăn về mặt cấu trúc lệnh, rất khó xây dựng một chương trình hoàn chỉnh từ
bài đã cho. Vì vậy, em quyết định “Xây dựng phần mềm hỗ trợ học lập trình
Pascal trên thiết bị di động”. Đề tài sẽ giúp sinh viên dễ dàng hơn trong việc
học tập và nghiên cứu ngôn ngữ lập trình Pascal.
3. Mục tiêu nghiên cứu của đề tài
• Mục tiêu chung: Xây dựng thành công phần mềm hỗ trợ học lập trình
Pascal trên thiết bị di động.
• Mục tiêu cụ thể:
- Tìm hiểu hệ điều hành Android
- Biết cách cài đặt công cụ lập trình và cách xây dựng ứng dụng có
thể chạy trên thiết bị Android.
- Xây dựng thành công phần mềm hỗ trợ học lập trình Pascal trên
thiết bị di động.
4
4. Đối tượng và phạm vi nghiên cứu
4.1. Đối tượng nghiên cứu
- Ngôn ngữ lập trình Pascal.
- Hệ điều hành Android
- Ngôn ngữ lập trình Java .
4.2. Phạm vi nghiên cứu
- Về nội dung: Ứng dụng học lập trình Pascal trên điện thoại chạy hệ
điều hành Android.
- Về không gian: Khoa Kỹ thuật – Công nghệ trường Đại học Hùng
Vương.
- Về thời gian: Từ ngày 15/10/2016 đến tháng 17/04 /2017
5. Phương pháp nghiên cứu
* Chương 1: Tìm đọc, nghiên cứu và tổng hợp lại các tài liệu, giáo trình
liên quan đến hệ điều hành Android và ngôn ngữ lập trình Java.
* Chương 2: Dựa theo yêu cầu và mong muốn để phân tích hệ thống phần
mềm. Lấy ý kiến của giảng viên hướng dẫn để bổ sung và thiết kế một cách
hợp lý.
* Chương 3: Từ việc phân tích hệ thống ở chương 2, đồng thời dựa vào
những trang web hướng dẫn lập trình trên Android, những video và tài liệu
liên quan để xây dựng phần mềm.
6. Bố cục
Ngoài phần mở đầu, kết luận chung và tài liệu tham khảo thì bản báo cáo
gồm 3 chương sau:
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích và thiết kế chương trình
Chương 3: Cài đặt và thử nghiệm phần mềm
5
B. NỘI DUNG, KẾT QUẢ NGHIÊN CỨU
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Ngôn ngữ lập trình Pascal
1.1.1. Cấu trúc một chương trình Pascal
a. Các lệnh điều kiện
• Lệnh điều kiện: IF….. THEN…
Cấu trúc lệnh: IF (<Điều kiện>) THEN
;
Lưu đồ biểu diễn lệnh:
Hình 1.1. Lưu đồ biểu diễn lệnh IF...THEN
Giải thích: Khi gặp lệnh này, máy sẽ kiểm tra , nếu biểu
thức này cho giá trị TRUE (đúng điều kiện đặt ra) thì máy thực hiện ,
ngược lại tức nhận giá trị FALSE thì máy bỏ qua
và sẽ thực hiện lệnh kế tiếp câu lệnh if là . Như vậy, lệnh 1 chỉ được
thực hiện khi điều kiện đúng.
• Lệnh điều kiện IF….. THEN….ELSE…….
Cấu trúc lệnh: IF (<Điều kiện>) THEN ; ELSE ;
6
Lưu đồ:
Hình 1.2. Lưu đồ biểu diễn lệnh IF...THEN...ELSE
Giải thích: Nếu biểu thức điều kiện thỏa mãn thì sẽ được thực
hiện rồi thực hiện tiếp , ngược lại (biểu thức điều kiện không thỏa
mãn) thì bỏ qua và thực hiện rồi thực hiện . Như
vậy, dù điều kiện đúng hay sai thì câu lệnh trong If cũng được thực hiện sau
đó sẽ thực hiện tiếp lệnh kế tiếp lệnh If.
b. Các lệnh lựa chọn: Lệnh CASE…. OF….
Case có 2 mẫu:
Mẫu 1
Mẫu 2
CASE OF
CASE OF
: ;
: ;
: ;
: ;
…................
………….
: ;
:
END;
ELSE ;
END;
Biểu thức không còn chỉ là biểu thức Boolean như trong IF mà là các giá
trị kiểu kiệt kê. Lệnh CASE…OF kết thúc là từ khóa END.
7
Lưu đồ:
Hình 1.3. Lưu đồ biểu diễn lệnh CASE...OF
Giải thích: Nếu giá trị của biến hay biểu thức rơi vào các giá trị khai báo
thứ k thì lệnh thứ k được thực hiện rồi thoát ra khỏi lệnh Case, trái lại, không
có lệnh nào được thực hiện (ở dạng thiếu) hoặc thực hiện lệnh thứ N+1 (ở
dạng đủ).
c. Các lệnh lặp
• Lệnh lặp có số vòng lặp xác định (FOR)
Với số lần lặp biết trước ta sử dụng FOR với 2 mẫu:
+ Mẫu 1: Theo chiều tiến của biến đếm:
FOR := TO DO ;
Lưu đồ vòng lặp xác định For…to…do…:
Hình 1.4. Lưu đồ biểu diễn lệnh FOR
8
Giải thích sự hoạt động của lệnh FOR (mẫu 1):
(1). Đầu tiên, nhận giá trị của .
(2). Máy kiểm tra xem giá trị của có nhỏ hơn hoặc bằng giá
trị của không (tức xét biểu thức Biểu thức 1 <= Biểu thức 2).
(3). Nếu điều kiện trên sai thì sẽ thoát khỏi vòng lặp FOR để thực hiện các
việc kế tiếp vòng lặp FOR. Nếu điều kiện trên đúng thì máy sẽ thực hiện
sau DO. Sau đó, biến đếm tăng lên 1 giá trị và quay lại bước (2).
sẽ được thực hiện ( - +1) lần.
+ Mẫu 2: Theo chiều giảm của Biến đếm:
FOR := DOWN TO DO ;
Lưu đồ vòng lặp xác định For…. Down To… Do…: Tương tự vòng lặp
For...To...Do.
Giải thích sự hoạt động của lệnh FOR (mẫu 2):
(1). Đầu tiên, nhận giá trị của .
(2). Máy kiểm tra xem giá trị của có lớn hơn hoặc bằng
giá trị của không .
(3). Nếu điều kiện trên sai thì sẽ thoát khỏi vòng lặp FOR để thực hiện
các việc kế tiếp vòng lặp FOR. Nếu điều kiện trên đúng thì máy sẽ thực
hiện sau DO. Sau đó, biến đếm giảm đi 1 giá trị và quay lại
bước (2).
sẽ được thực hiện ( - +1) lần.
• Lệnh lặp có số vòng lặp không xác định: Repeat…..Until, While...Do
+ Lệnh lặp Repeat…..Until
Ý nghĩa: Là lệnh yêu cầu chương trình lặp lại nhiều lần một số hành động
cho đến khi thỏa mãn điều kiện thì thoát khỏi vòng lặp.
Cấu trúc:
Repeat
;
……..
Until ;
9
Lưu đồ:
Hình 1.5. Lưu đồ biểu diễn lệnh REPEAT...UNTIL
Giải thích: Đầu tiên, máy sẽ thực hiện , sau đó sẽ kiểm tra . Nếu nhận giá trị FALSE thì lại quay lên đầu
vòng lặp thực hiện tiếp . Nếu nhận giá trị TRUE thì
máy thoát khỏi vòng lặp.
+ Lệnh lặp While...Do
Là lệnh yêu cầu chương trình lặp lại nhiều lần một số hành động khi thỏa
mãn điều kiện.
Cấu trúc: WHILE DO < Lệnh>
Lưu đồ:
Hình 1.6. Lưu đồ biểu diễn lệnh WHILE...DO
Giải thích: Khi gặp lệnh này trước tiên, máy sẽ kiểm tra , nếu cho kết quả True thì thực hiện cho đến
10
khi không còn là True nữa. Nếu không phải lệnh
đơn thì phải đặt chúng trong cặp từ khóa Begin…..End.
Trong vòng lặp phải có lệnh nào đó làm thay đổi giá trị một biến trong
làm dừng vòng lặp, nếu không vòng lặp sẽ lặp lại mãi mà
không dừng. Ngay khi vào vòng lặp, máy sẽ kiểm tra biểu thức logic, nếu
không thỏa mãn thì máy tự động thoát khỏi vòng lặp mà không thực hiện các
lệnh trong vòng lặp.
1.1.2. Các cấu trúc dữ liệu phức tạp
a. Phương pháp lập trình theo modun
- Tư tưởng lập trình theo modun:
Là phương pháp lập trình bằng cách phân rã bài toán lớn thành bài toán
nhỏ hơn và mỗi bài toán nhỏ được gọi là môđun của chương trình. Việc phân
rã được tiến hành theo nhiều cấp khác nhau cho đến khi không phân rã được
nữa thì thôi. Mỗi môđun sẽ thực hiện một nhiệm vụ cụ thể độc lập trong
chương trình.
- Đệ qui của chương trình con:
Trong một chương trình con có thể có lời gọi chính chương trình con đó.
Tính chất này được gọi là tính đệ qui. Ví dụ tính giai thừa ta có thể thực hiện
thông qua định nghĩa: n!= 1.2.3...(n-1).n với n nguyên và n > 0;
1
khi n=0
hoặc n!=
(n-1)!.n khi n > 1
b. Cấu trúc kiểu dữ liệu tập hợp
Tập hợp là một nhóm các phần tử có chung một tính chất nào đó. Để mô
tả tập hợp người ta dùng phương pháp liệt kê. Một tập hợp bao gồm một số
các đối tượng nào đó có cùng bản chất. Trong Pascal điều đó có nghĩa là có
cùng một kiểu mô tả kiểu. Kiểu này được gọi là kiểu cơ bản (boolean, char,
byte) hay một đoạn con (không được là số thực).
Để khai báo kiểu và biến kiểu tập hợp người ta dùng từ khóa:
SET OF
11
c. Cấu trúc dữ liệu mảng
Mảng 1 chiều
Một mảng dữ liệu gồm một số hữu hạn phần tử có cùng kiểu dữ liệu. Số
phần tử của mảng phải được xác định ngay từ khi định nghĩa mảng. Mỗi phần
tử của mảng được truy xuất trực tiếp thông qua tên mảng cùng với chỉ dẫn
truy nhập được đặt trong cặp ngoặc vuông [ ]. Khai báo mảng theo 2 cách:
- Khai báo trực tiếp:
var ten_bien: Array [kieu_chi_dan] of kieu_phan_tu;
- Khai báo gián tiếp thông qua định nghĩa kiểu dữ liệu mới:
type ten_kieu = Array [kieu_chi_dan] of kieu_phan_tu;
var
ten_bien:ten_kieu;
Mảng hai chiều
Kiểu phần tử của mảng không bị hạn chế như kiểu chỉ dẫn. Nó còn có thể
là các kiểu dữ liệu có cấu trúc. Ví dụ sau cho thấy việc khai báo một mảng có
các phần tử cũng là mảng.
c. Cấu trúc dữ liệu xâu
Xâu kí tự là một kiểu dữ liệu dùng để xử lý các chuỗi hay các dãy ký tự
có độ dài thay đổi nhằm đáp ứng nhu cầu xử lý văn bản, xử lý từ (ngữ). Dữ
liệu kiểu xâu ký tự có nhiều điểm tương tự như kiểu mảng nhưng cũng có
điểm khác nhau là số ký tự trong một biến kiểu xâu ký tự có thể thay đổi, còn
số phần tử của kiểu mảng luôn luôn cố định.
Khai báo:
o Khai báo trực tiếp:
VAR : STRING[<ĐỘ DÀI CỰC ĐẠI>];
o Hoặc khai báo gián tiếp:
TYPE = STRING[<ĐỘ DÀI CỰC ĐẠI>];
VAR : ;
- Xem thêm -
Chi phí hỗ trợ lưu trữ và tải về cho tài liệu này là đ. Bạn có muốn hỗ trợ không?
| |