Professional Documents
Culture Documents
2
Nội dung
3
4.1. Bài toán (problem)
5
Nội dung
6
4.2. Giải quyết bài toán bằng máy tính
• Máy tính không thể dùng để giải
quyết các vấn đề liên quan đến hành
động vật lý hoặc biểu thị cảm xúc
• Máy tính chỉ làm được những gì mà
nó được bảo phải làm. Máy tính
không thông minh, nó không thể tự
phân tích vấn đề và đưa ra giải
pháp.
• Lập trình viên là người phân tích
vấn đề, tạo ra các chỉ dẫn để giải
quyết vấn đề (chương trình), và máy
tính sẽ thực hiện các chỉ dẫn đó
7
4.2. Giải quyết bài toán bằng máy tính (2)
8
4.2. Giải quyết bài toán bằng máy tính (3)
11
4.3. Biểu diễn thuật toán
Cách 1:
Cách 2:
Cách 3:
Cách 4:
• Các ngôn ngữ lập trình như Pascal, C/C++ hay Java.
uy nhiên, không nhất thiết phải sử dụng đúng ký pháp
của các ngôn ngữ đó mà có thể được bỏ một số ràng buộc.
12
4.3.1. Ngôn ngữ tự nhiên
14
VD1 - Ngôn ngữ tự nhiên (tuần tự các bước)
• B1: Nhập số a và số b.
• B2: Nếu a> b, hiển thị “a>b” và kết thúc
• B3: Nếu a=b, hiển thị “a=b” và kết thúc
• B4: (a<b) Hiển thị “a<b” và kết thúc.
15
4.3.2. Sơ đồ khối
Một số khối trong sơ đồ khối dùng biểu diễn thuật toán
Đ
a>b Hiển thị “a>b”
Biểu diễn thao S
tác kiểm tra điều
kiện
Đ
a=b Hiển thị “a=b”
S
• Ưu điểm
– Trực quan, dễ hiểu, dễ thiết kế
– Cung cấp toàn cảnh, tổng quan về thuật toán
• Nhược điểm
– Cồng kềnh, đặc biệt với bài toán phức tạp
18
4.3.3. Mã giả (pseudocode)
19
Ví dụ 2
• B1: Nhập số a và số b.
• B2: s a + b; d a – b; p a * b
• Hiển thị
– Tổng là s
– Hiệu là d
– Tích là p
• B3: Nếu b = 0, hiển thị “Không thực hiện được
phép chia” và kết thúc
• B4: (b<>0) Hiển thị “Thương là a/b” và kết thúc
21
Ví dụ 2 - Mô tả bằng lưu đồ thuật toán
Nhập a, b
s a + b; d a – b;
Biểu diễn thao tác p a * b;
tính toán đơn giản
hoặc phức tạp Hiển thị
“Tổng là s, Hiệu là d,
Tích là p”
Đ Hiển thị
b=0 “Không thực hiện được
phép chia”
S
23
Ví dụ 3 - Mô tả tuần tự các bước
• B1: Nhập a và b.
• B2: Nếu a<>0 thì hiển thị “Phương trình có 1
nghiệm duy nhất x = -b/a”.
• B3: (a=0) Nếu b <> 0 thì hiển thị “Phương
trình vô nghiệm” và kết thúc
• B4: (a=0)(b=0) Hiển thị “Phương trình vô số
nghiệm” và kết thúc
24
Ví dụ 3 - Mô tả bằng lưu đồ thuật toán
Nhập a và b
Đ Hiển thị
a<>0
“Nghiệm là: x = -b/a”
Đ Hiển thị
b<>0
“Phương trình vô nghiệm”
Hiển thị
“Phương trình vô số nghiệm”
25
Ví dụ 4
max 3 5 7 9 2 8
max = 3 3
max<5 5
max<7 7
max<9 9
max>2 9
max>8 9
Kết quả 9
27
Ví dụ 4 - Mô tả tuần tự các bước
Đ Hiển thị
i>N
“Max là số lớn nhất”
S
Đ
ai > Max Max ai
ii+1
29
Bài tập
30
Các tiêu chí giải thuật cần thỏa mãn
• Tính hữu hạn: giải thuật phải dừng sau một thời
gian hữu hạn.
• Tính đúng đắn: Khi kết thúc, giải thuật phải cung
cấp kết quả đúng đắn.
• Tính hiệu quả:
– Thời gian tính toán nhanh
– Sử dụng ít tài nguyên không gian như bộ nhớ, thiết
bị,…
– Mang tính phổ dụng, dễ hiểu, dễ cài đặt và mở rộng cho
các lớp bài toán khác.
31