Bài giảng "Tin học cơ sở - Chương 6: Giải thuật" cung cấp cho người học các kiến thức: Phương pháp giải quyết vấn đề bằng máy tính; khái niệm về giải thuật, các tính chất của giải thuật. nội dung chi tiết. | Chương 6: Giải thuật (Algorithms) I-Phương pháp giải quyết vấn đề bằng máy tính Bài toán => Giải thuật => Chương trình => Ngôn ngữ máy => Máy thực hiện Chương 6: Giải thuật (Algorithms) I-Phương pháp giải quyết vấn đề bằng máy tính Bài toán => Giải thuật => Chương trình => Ngôn ngữ máy => Máy thực hiện II-Khái niệm về giải thuật 1. Khái niệm 2. Các tính chất của giải thuật Chương 6: Giải thuật (Algorithms) II-Khái niệm về giải thuật 1. Khái niệm 2. Các tính chất của giải thuật - Tính thực hiện được: - Tính kết thúc: - Tính kết quả: - Tính hiệu quả: - Tính duy nhất: - Tính tổng quát: - Tính hình thức: Chương 6: Giải thuật (Algorithms) III-Các cách diễn đạt giải thuật 1. Liệt kê các bước bằng lời 2. Lưu đồ giải thuật 3. Giả mã Chương 6: Giải thuật (Algorithms) III-Các cách diễn đạt giải thuật 1. Liệt kê các bước bằng lời Ví dụ: Giải thuật tìm USCLN(a,b) B1: Nhập vào hai số nguyên a, b B2: Đem a chia nguyên cho b, lấy phần dư để trong r. B3: Nếu r = 0 thì chuyển sang B4. Nếu r ≠ 0 thì a lấy giá trị của b, b lấy giá trị của r và quay lại B2. B4: Đưa ra USCLN là b B5: Kết thúc Chương 6: Giải thuật (Algorithms) III-Các cách diễn đạt giải thuật 2. Lưu đồ giải thuật Bắt đầu Kết thúc Sai B A Đúng Thực hiện công việc A Vào/ra dữ liệu Bắt đầu Nhập a, b r := a mod b a := b b := r r=0 Sai Đúng Đưa ra b Kết thúc Chương 6: Giải thuật (Algorithms) III-Các cách diễn đạt giải thuật 3. Dùng giả mã Chương 6: Giải thuật (Algorithms) III-Các cách diễn đạt giải thuật 3. Dùng giả mã • Vào: a, b • Ra: USCLN(a,b) 1) Read(a,b); 2) r := a mod b; 3) While r ≠ 0 do begin a := b; b := r; r:=a mod b; end; 4) Write(b); 5) Kết thúc Chương 6: Giải thuật (Algorithms) IV-Một số giải thuật cơ bản 1. Hoán đổi nội dung 2 ô nhớ (đổi chỗ) Ví dụ: Hoán đổi nội dung 2 ô nhớ a và b 1) tg := a; 2) a : = b; 3) b := tg; Sau này, viết gọn là DoiCho(a,b) hoặc a :=: b hoặc a ↔ .