• Một thao tác/ công việc có thể được thực hiện lặp nhiều lần. • Lặp lại chừng nào điều kiệu lặp còn đúng[r]
(1)TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TIN HỌC ĐẠI CƯƠNG
Bài Một số thuật tốn thơng dụng
Đỗ Bá Lâm
(2)Nội dung
5.1 Các cấu trúc lập trình 5.2 Giả mã (pseudocode)
5.3 Thuật toán số học 5.4 Thuật toán dãy 5.5 Thuật toán đệ quy
(3)3 5.1 Các cấu trúc lập trình
(4)4
5.1.1 Cấu trúc tuần tự
• Các bước thực theo trình tự tuyến tính, hết bước đến bước khác
Bước
Bước
Bước n
(5)5
5.1.2 Cấu trúc rẽ nhánh
• Việc thực bước phụ thuộc vào điều kiện xác định
• Ví dụ: Tìm max số a, b
– Nếu a > b max a, ngược lại max b – Diễn giải:
• B1: Nhập số a, b
• B2: Nếu a > b Max = a đến bước kết thúc (B4) • B3: (a <= b) Max b
• B4: Kết thúc
Max a
a>b
Max b
(6)6 5.1.3 Cấu trúc lặp
• Một thao tác/ cơng việc thực lặp nhiều lần
• Lặp lại chừng điều kiệu lặp cịn
• Số lần lặp biết trước khơng biết trước.Tuy nhiên số lần lặp phải hữu hạn
Điều kiện
Thực cơng việc vịng lặp
Thực cơng việc
khi khỏi vịng lặp Đ
(7)5.1.3 Cấu trúc lặp (2)
7
Nhập N dãy số a1, a2,…,aN
i > N “Max số lớn nhất”Hiển thị Max a1; i=2
ai > Max
i i +
S S
Đ
Max ai
Đ Ví dụ: Tìm số lớn
một dãy có n số
◼ Lần lượt phải so sánh số Max
tạm thời (lúc đầu Max gán phần tử thứ nhất, a1) với ai, với i từ 2, 3,…, n
◼ Việc so sánh thực
hiện lặp nhiều lần Max
◼ Khi kết thúc trình lặp, ta
(8)Nội dung
5.1 Các cấu trúc lập trình 5.2 Giả mã (pseudocode)
5.3 Thuật toán số học 5.4 Thuật toán dãy 5.5 Thuật toán đệ quy
(9)5.2 Mã giả (pseudocode)
• Gán: ; :=
– i i + – a := b + c
• Cấu trúc chọn
if(điều kiện) then (hành động)
hoặc
if(điều kiện) then (hành động) else (hành động)
• Cấu trúc nhảy goto:
– goto nhãn x;
(10)5.2 Giả mã (2)
• Cấu trúc lặp:
while điều_kiện do hành_động
hoặc
repeat
hành_động
until điều_kiện
hoặc
for biến:= gtrị_đầu to gtrị_cuối do hành_động
hoặc
for biến:= gtrị_đầu downto gtrị_cuối do hành_động