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à một lập trì nh viên
chuyên nghiệp cần phải nắm vững để viết mã 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 lý 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 mã 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 mã 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 và 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ư là 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 là 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 là 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:
• Mô thức lập trì nh là 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 và 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 vô 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
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ả
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 đủ
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:
- bai_giang_ky_thuat_lap_trinh_chuong_1_tong_quan_ve_ky_thuat.pdf