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

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

File đính kèm:

  • pdfbai_giang_ky_thuat_lap_trinh_chuong_1_tong_quan_ve_ky_thuat.pdf