Xem mẫu

  1. om .c Chương 1: ng co Tổng quan về kỹ thuật lập trình an th o ng du u cu CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. Mục tiêu môn học? • Học phần Kỹ thuật lập trình trang bị cho sinh viên những kỹ thuật cơ bản nhất mà một lập trình viên om chuyên nghiệp cần phải nắm vững để viết mã nguồn .c hiệu quả. Các kiến thức giảng dạy góp phần quan trọng giúp sinh viên phát triển được các ứng dụng ng phần mềm chất lượng cao trong thực tế. co • Học phần này trang bị cho sinh viên các kỹ thuật lập an trình quan trọng như quản lý bộ nhớ, hàm, kỹ thuật đệ th quy, kỹ thuật sử dụng các cấu trúc dữ liệu để giải quyết ng vấn đề, kỹ thuật viết mã nguồn hiệu quả, kỹ thuật lập o du trình phòng ngừa, kỹ thuật gỡ rối, tinh chỉnh mã nguồn, phong cách lập trình. Học phần có các buổi thực hành u cu nhằm rèn luyện và nâng cao kỹ năng lập trình của sinh viên. 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. Tài liệu học tập [1] Bài giảng trên lớp [2] Trần Đan Thư (2014). Kỹ thuật lập trình. NXB Khoa om học và kỹ thuật .c [3] Mcconnell, Steve (2004). Code Complete: A Practical ng Handbook of Software Construction, 2d Ed. Redmond, co Wa.: Microsoft Press. an [4] Kernighan & Plauger (1978). The elements of th programming style. McGraw-Hill; 2nd edition ng [5] Brian W. Kernighan and Rob Pike (1999). The o du Practice of Programming. Addison-Wesley; 1st Edition u [6] Nicolai M. Josuttis. The C++ Standard Library: A cu Tutorial and Reference (2nd Edition), 2012. 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. Đánh giá học phần Tỷ Phương pháp đánh giá CĐR được om Điểm thành phần Mô tả trọn cụ thể đánh giá g .c [1] [2] [3] [4] [5] ng A1. Điểm quá trình (*) Đánh giá quá trình 40% A1.1. Bài tập về nhà Tự luận co M2.1 10% M2.2 an A1.2a. Bài tập nhóm Báo cáo M2.3 30% th ng M1.4 A1.2b. Thi giữa kỳ Tự luận và/ M2.1 30% o hoặc trắc M2.2 du nghiệm M2.3 u A2. Điểm cuối kỳ A2.1. Thi cuối kỳ Tự luận và/ M1.2 60% cu hoặc trắc M1.4 nghiệm M2.2 M2.3 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. om .c ng co an th ng Tổng quan về lập trình o du Hoạt động của chương trình máy tính và ngôn ngữ u cu lập trình 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. Chương trình máy tính và ngôn ngữ lập trình • Chương trình máy tính: Tập hợp các lệnh chỉ dẫn cho máy tính thực hiện nhiệm vụ om • Ngôn ngữ lập trình: Dùng để viết các lệnh, chỉ thị .c ng co an th o ng du u cu 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  7. Hoạt động của chương trình máy tính • Chương trình máy tính được nạp vào bộ nhớ chính (primary om memory) như là một tập các lệnh .c viết bằng ngôn ngữ mà máy tính hiểu được, tức là một dãy tuần tự ng các số nhị phân (binary digits). co • Tại bất cứ một thời điểm nào, máy an tính sẽ ở một trạng thái (state) nào th đó. Đặc điểm cơ bản của trạng ng thái là con trỏ lệnh (instruction o pointer) trỏ tới lệnh tiếp theo để du thực hiện. u • Thứ tự thực hiện các nhóm lệnh cu được gọi là luồng điều khiển (flow of control). 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  8. Hoạt động của chương trình máy tính • Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ bộ nhớ chính. om ▫ PC (Program Counter): thanh ghi giữ địa chỉ của lệnh sẽ .c được nhận ng ▫ Lệnh được nạp vào thanh ghi lệnh IR (Instruction co Register) • Sau khi lệnh được nhận vào, nội dung PC tự động an tăng để trỏ sang lệnh kế tiếp th o ng du u cu 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. Ngôn ngữ lập trình • Ngôn ngữ lập trình là một hệ thống các ký hiệu dùng để liên lạc, trao đổi với máy tính nhằm thực thi một om nhiệm vụ tính toán. .c • Có rất nhiều ngôn ngữ lập trình (khoảng hơn 1000), ng phần lớn là các ngôn ngữ hàn lâm, có mục đích riêng co hay phạm vi. an th o ng du u cu 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. Ngôn ngữ lập trình Có 3 thành phần căn bản của bất cứ 1 NNLT nào: • Mô thức lập trình là những nguyên tắc chung cơ bản, om dùng bởi LTV để xây dựng chương trình. .c • Cú pháp của ngôn ngữ là cách để xác định cái gì là ng hợp lệ trong cấu trúc các câu của ngôn ngữ; Nắm co được cú pháp là cách để đọc và tạo ra các câu trong an các ngôn ngữ tự nhiên, như tiếng Việt, tiếng Anh. Tuy th nhiên điều đó không có nghĩa là nó giúp chúng ta hiểu ng hết ý nghĩa của câu văn. o • Ngữ nghĩa của 1 program trong ngôn ngữ ấy. Rõ ràng, du nếu không có semantics, 1 NNLT sẽ chỉ là 1 mớ các u câu văn vô nghĩa; như vậy semantics là 1 thành phần cu không thể thiếu của 1 ngôn ngữ. 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. Mã máy – Machine code Máy tính chỉ nhận các tín hiệu điện tử - có, không có - tương ứng với các dòng bits. om Một chương trình ở dạng đó gọi là mã máy (machine .c code). ng co an th o ng du u cu 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Hợp ngữ - Assembly Là bước đầu tiên của việc xây dựng cơ chế viết chương trình tiện lợi hơn thông qua các ký hiệu, từ khóa và cả om mã máy. .c Tất nhiên, để chạy được các chương trình này thì phải ng co chuyển thành machine code. an th o ng du u cu 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  13. Ngôn ngữ lập trình bậc cao • Thay vì dựa trên phần cứng (machine-oriented) cần tìm cơ chế dựa trên vấn đề (problem-oriented) để tạo om chương trình .c • Gần gũi với ngôn ngữ tự nhiên hơn, thường sử dụng ng các từ khóa giống tiếng Anh co an th o ng du u cu 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  14. Trình dịch - compiler • Chương trình thực hiện om biên dịch toàn bộ .c chương trình nguồn thành mã máy trước khi ng thực hiện co an th o ng du u cu 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  15. Thông dịch - interpreter • Chương trình dịch và om thực hiện từng dòng lệnh .c của chương trình cùng ng lúc co • Dịch từ ngôn ngữ này an sang ngôn ngữ khác, th không tạo ra chương ng trình dạng mã máy hay o assembly du u cu 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  16. om .c ng co an th ng Các mô thức lập trình o du Programming paradigm u cu 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  17. Ngôn ngữ lập trình bậc cao • Imperative paradigm om • Functional paradigm .c • Logical paradigm ng • Object-oriented paradigm co • Visual paradigm an th • Parallel paradigm ng • Concurrent paradigm o du • Distributed paradigm u • Service-oriented paradigm cu 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  18. Imperative paradigm – hướng mệnh lệnh first do this and next do that om Thành phần: .c • Declarative statements, các lệnh khai báo: cung cấp ng các tên cho biến. Các biến này có thể thay đổi giá trị co trong quá trình thực hiện Chương trình. an • Assigment statements, lệnh gán: gán giá trị mới cho th biến ng • Program flow control statements, các lệnh điều o du khiển cấu trúc chương trình: Xác định trình tự thực hiện các lệnh trong chương trình. u cu • Module: chia chương trình thành các chương trình con: Functions & Procedures 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  19. Functional paradigm – hướng chức năng Thành phần • Tập hợp các cấu trúc dữ liệu và các hàm liên quan om • Tập hợp các hàm cơ sở .c ng • Tập hợp các toán tử co Đặc trưng cơ bản: module hóa chương trình an • Chức năng là biểu diễn của một biểu thức th • Giải thuật thực hiện theo từng bước ng • Giá trị trả về là không thể biến đổi o du • Không thể thay đổi CTDL của giá trị nhưng có thể sao u chép các thành phần tạo nên giá trị đó cu • Tính toán bằng cách gọi các chức năng 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  20. Logic paradigm – hướng logic answer a question via searching for a solution om .c • Ý tưởng: Tự động kiểm chứng trong trí tuệ nhân tạo ng • Dựa trên các tiên đề - axioms, các quy luật suy diễn - co inference rules, và các truy vấn - queries an • Chương trình thực hiện từ việc tìm kiếm có hệ thống th trong 1 tập các sự kiện, sử dụng 1 tập các luật để đưa ng ra kết luận o du u cu 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn