nhất tạm thời, nếu số nguyên này lớn hơn giá trị lớn nhất tạm thời thì đặt giá trị lớn nhất tạm thời bằng số nguyên này.. 3.[r]
(1)1
Chương 2: Thuật toán Ngo Van Linh
Bộ môn Hệ thống thông tin
(2)Nội dung chương này
2.1 Định nghĩa thuật toán 2.2 Biểu diễn thuật tốn
2.3 Một số thuật tốn thơng dụng 2.4 Thuật toán đệ quy
(3)3
2.1 Định nghĩa thuật toán
Là khái niệm sở toán học tin
học.
Bao gồm dãy hữu hạn lệnh/chỉ thị
rõ ràng thi hành để hướng dẫn thực hành động nhằm đạt được mục tiêu đề ra.
Thuật toán thể phương
(4)Ví dụ 1: Thuật tốn tìm phần tử lớn của dãy hữu hạn số nguyên
Các bước:
Đặt giá trị lớn tạm thời số nguyên So sánh số nguyên dãy với giá trị lớn
nhất tạm thời, số nguyên lớn giá trị lớn tạm thời đặt giá trị lớn tạm thời số nguyên
Lặp lại bước số nguyên dãy chưa
được xét
Dừng không số nguyên dãy chưa
(5)5
Ví dụ 2: Thuật tốn giải phương trình bậc
hai: ax2 + bx + c = (a0)
1 Nhập hệ số a, b, c
2 Tính giá trị Δ = b2 - 4*a*c
3 Xét dấu Δ. Nếu Δ>0 thực thao tác
sau đây:
3.1 Tính nghiệm theo công thức:
x1 = (-b-sqrt(Δ))/(2*a) x2 = (-b+sqrt(Δ))/(2*a)
3.2 Xuất kết quả: phương trình có hai nghiệm x1 x2
4 Nếu Δ là xuất kết quả: phương trình có
nghiệm kép -b/(2*a)
5 Nếu Δ<0 xuất kết quả: phương trình vơ
nghiệm
(6)Các đặc trưng thuật toán
Nhập (input): có giá trị nhập từ tập hợp
định
Xuất (output): từ giá trị tập hợp nhập, tạo giá
trị xuất thuộc tập hợp định
Tính xác định (definiteness): bước xác, rõ ràng Tính hữu hạn (finiteness): cho kết sau số hữu
hạn bước
Tính hiệu (effectiveness): đánh giá dựa
một số tiêu chuẩn (khối lượng tính tốn, khơng gian, thời gian sử dụng)
(7)7
2.2 Biểu diễn thuật toán
Sử dụng ngôn ngữ:
Ngôn ngữ tự nhiên
Ngôn ngữ lưu đồ (sơ đồ khối)
(8)Ngôn ngữ lưu đồ
Các thành phần:
Nút giới hạn: biểu diễn hình ôvan có
ghi chữ bên trong, gồm có nút đầu nút cuối:
Nút thao tác: hình chữ nhật có ghi
lệnh cần thực hiện:
BẮT ĐẦU KẾT THÚC
(9)9
Ngôn ngữ lưu đồ (2)
Nút điều kiện: hình thoi có ghi điều kiện
cần kiểm tra, thường có cung vào cung đi (tương ứng với trường hợp đúng/sai)
a<b Sai
Đúng
Cung: đường nối từ nút đến nút khác
(10)Ví dụ: lưu đồ biểu diễn thuật tốn giải phương trình bậc 2
Bắt đầu
a0
Δ>0
Δ=0 Δ = b2 - 4ac
x1 = (-b-sqrt(Δ))/(2*a) x2 = (-b+sqrt(Δ))/(2*a)
x=-b/(2a) sai sai sai đúng Nhập a, b, c
Xuấtphương Xuất: : Không
phải