tài liệu uy tín được biên soạn bởi giảng viên đại học Bách Khoa TPHCM, thuận lợi cho qua trình tự học, nghiên cứu bộ tự động hóa, điện tử, cơ điện tử, cơ khí chế tạo máy, lập trình nhúng, Tài liệu được kiểm duyệt bởi giảng viên, phòng đào tạo trường đại học bách khoa, lưu hành nội bộ
Trang 1Chương 1
Phương pháp luận lập trình
Trang 2Nội dung
Các bước của phương pháp luận lập trình.
Các tiêu chí đánh giá một chương trình.
Các cấu trúc điều khiển chương trình.
Sự đệ quy.
Trang 3Phương pháp luận lập trình
Bước 1 Mô tả vấn đề.
Bước 2 Phân tích vấn đề.
Bước 3 Giải quyết vấn đề.
Bước 4 Thiết kế giải thuật.
Bước 5 Lập trình.
Bước 6 Kiểm tra chương trình.
Trang 4f Xác định kết quả xuất (output).
hai ax 2 + bx + c = 0 với a, b, c là các số thực.
Trang 5Bước 2 Phân tích vấn đề
Nội dung chính
f Xác định tất cả các trường hợp có thể có của vấn đề từ các dữ liệu nhập.
y Trường hợp thường xảy ra.
y Trường hợp hiếm xảy ra.
f Phân tích phải có tính tổng quát : gom chung các trường hợp riêng lẻ nếu có thể được.
a có 2 trường hợp là bằng 0 và khác 0.
b có 2 trường hợp là bằng 0 và khác 0.
c có 2 trường hợp là bằng 0 và khác 0.
Trang 6Bước 3 Giải quyết vấn đề
Nội dung chính
f Chọn cách giải quyết ‘hay nhất’ dựa theo các tiêu chí đánh giá.
Nếu a = 0: giải phương trình bậc nhất:
bx + c = 0 Nếu a ≠ 0: giải phương trình bậc hai đủ:
ax 2 + bx + c = 0
Trang 7Bước 3 Giải quyết vấn đề
bx + c = 0
Nếu b = 0:
Nếu c = 0: phương trình có vô số nghiệm.
Nếu c ≠ 0: phương trình không có nghiệm.
Trang 8Bước 4 Thiết kế giải thuật
if a = 0 then Giải phương trình bậc nhất bx + c = 0
else Giải phương trình bậc hai đủ ax 2 + bx + c = 0
Trang 9Bước 4 Thiết kế giải thuật
Đơn thể Giải phương trình bậc nhất
Trang 10Bước 4 Thiết kế giải thuật
Đơn thể Giải phương trình bậc hai đủ
begin x1 = ( − b − sqrt(delta)) / 2 / a;
x2 = ( − b + sqrt(delta)) / 2 / a;
write x1, x2 end;
Trang 11Bước 5 Lập trình
Nội dung chính
f Chọn ngôn ngữ lập trình ‘thích hợp’ .
f Sử dụng kỹ thuật lập trình đơn thể.
f Sử dụng kỹ thuật tinh chế dần từng bước.
f Ghi chú các biến có ý nghĩa đặc biệt, các đoạn chương trình.
f Cách viết thụt đầu hàng.
Trang 12Bước 5 Lập trình
program pt_bachai;
var a, b, c: real; {a, b, c la cac he so thuc; x la nghiem}
procedure ptb1(b, c: real); {giai phuong trinh bac nhat}
Trang 13end;
Trang 14Bước 5 Lập trình
begin {chuong trinh chinh}
write (‘Nhap a, b, c: ‘); readln (a, b, c);
if a = 0 then ptb1 (b ,c) {giai phuong trinh bac nhat}
else ptb2 (a, b, c) {giai phuong trinh bac hai du} end.
Trang 15Bước 6 Kiểm tra chương trình
Nội dung chính
f Xác định các bộ dữ liệu nhập.
f Chạy chương trình với mỗi bộ dữ liệu nhập.
f Chạy kiểm tra từng lệnh một (debug).
f Phát hiện các lỗi sai.
y Lỗi sai cú pháp : dễ sửa sai.
y Lỗi sai trong thời gian chạy chương trình: hơi khó sửa sai.
y Lỗi sai logic : rất khó sửa sai.
f Sai đâu sửa đó - Sửa đâu sai đó
f Trường hợp xấu nhất: quay lại từ đầu (bước 1).
Trang 16Các tiêu chí đánh giá chương trình
Tính đúng đắn
f Correctness - Chương trình phải luôn luôn
chạy đúng trong tất cả các trường hợp của
Trang 17Các cấu trúc điều khiển chương trình
Cấu trúc tuần tự
Cấu trúc điều kiện
Cấu trúc lặp
Trang 18Các cấu trúc điều khiển chương trình
Trang 19Các cấu trúc điều khiển chương trình
Cấu trúc điều kiện
Trang 20Các cấu trúc điều khiển chương trình
Cấu trúc điều kiện
Trang 21Các cấu trúc điều khiển chương trình
Cấu trúc điều kiện
false
…
true
Trang 22Các cấu trúc điều khiển chương trình
Hai loại cấu trúc lặp
f Số lần lặp đã biết trước: cấu trúc for .
f Số lần lặp chưa biết trước:
y Lặp ít nhất 0 lần: cấu trúc while .
y Lặp ít nhất 1 lần: cấu trúc repeat .
Trang 23Các cấu trúc điều khiển chương trình
Trang 24Các cấu trúc điều khiển chương trình
biến ≤
gt_lớnnhất biến := gt_nhỏnhất
Trang 25Các cấu trúc điều khiển chương trình
Trang 26Các cấu trúc điều khiển chương trình
true false
Trang 27Sự đệ quy
Định nghĩa
f Một khái niệm được định nghĩa đệ quy nếu trong định nghĩa này có sử dụng khái niệm này.
Định nghĩa đệ quy có hai thành phần:
Trang 30Sự đệ quy
Cấu trúc có tính đệ quy
Cấu trúc tháp Hà Nội có tính đệ quy.
Gọi n là số tầng của tháp, di chuyển tháp từ A
đến C qua trung gian B.
Trang 31Sự đệ quy
(n - 1) (1)
(n - 1) (1)
(n - 1) (1)
Trang 33Sự đệ quy
Ưu điểm và nhược điểm của đệ quy
để giải quyết vấn đề trong một số trường hợp.
thực hiện.