Tài liệu Xây dựng phần mềm hỗ trợ học lập trình pascal trên thiết bị di động

  • Số trang: 138 |
  • Loại file: PDF |
  • Lượt xem: 1 |
  • Lượt tải: 0

Mô tả:

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 -