Bài giảng Kỹ thuật lập trình – Chương 1: Tổng quan về lập trình
lượt xem 7
download
Bài giảng Kỹ thuật lập trình – Chương 1: Tổng quan về lập trình trang bị cho người học những kiến thức cơ bản về hoạt động của chương trình máy tính và ngôn ngữ lập trình. Mời các bạn cùng tham khảo để biết thêm nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kỹ thuật lập trình – Chương 1: Tổng quan về lập trình
- 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
- 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
- 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
- Đá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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình - Phạm Thế Bảo
0 p | 220 | 32
-
Bài giảng Kỹ thuật lập trình: Chương I - Lưu Hồng Việt
48 p | 194 | 23
-
Bài giảng Kỹ thuật lập trình: Chương II - Lưu Hồng Việt
74 p | 182 | 18
-
Bài giảng Kỹ thuật lập trình: Chương IV - Lưu Hồng Việt
32 p | 151 | 17
-
Bài giảng Kỹ thuật lập trình Programing technique - Vũ Đức Vượng
68 p | 221 | 16
-
Bài giảng Kỹ thuật lập trình: Chương V - Lưu Hồng Việt
19 p | 127 | 15
-
Bài giảng Kỹ thuật lập trình: Chương III - Lưu Hồng Việt
51 p | 147 | 15
-
Bài giảng Kỹ thuật lập trình: Chương VI - Lưu Hồng Việt
27 p | 133 | 11
-
Bài giảng Kỹ thuật lập trình: Phần 1 - ĐH CNTT&TT
37 p | 114 | 10
-
Bài giảng Kỹ thuật lập trình - Bài 1: Tổng quan về kỹ thuật lập trình
65 p | 164 | 8
-
Bài giảng Kỹ thuật lập trình: Bài 1 - Phạm Đình Sắc
9 p | 127 | 7
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Dương Thành Phết
26 p | 92 | 7
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Minh Thái, Phạm Đức Thành
50 p | 117 | 6
-
Bài giảng Kỹ thuật lập trình - TS. Vũ Hương Giang
8 p | 117 | 5
-
Bài giảng Kỹ thuật lập trình: Bài 2 - Phạm Đình Sắc
7 p | 117 | 5
-
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 p | 14 | 4
-
Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan về kỹ thuật lập trình
45 p | 55 | 3
-
Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan về kỹ thuật lập trình (Trường Đại học Bách khoa Hà Nội)
46 p | 12 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn