Transcript File
Nội dung chính 1. Khái niệm bài toán 2. Khái niệm thuật toán 3. Một số ví dụ về thuật toán 1. Khái niệm bài toán Em hãy cho ví dụ một số bài toán trong toán học? Giải phương trình bậc nhất: 2x + 3 =0 Giải phương trình bậc hai: x2 + 2x – 5 = 0 Tìm ước chung lớn nhất của 2 số: 2 và 16 ........................................................... 1. Khái niệm bài toán Ví dụ một số bài toán trong tin học. Giải phương trình bậc nhất: 2x + 3 =0 Giải phương trình bậc hai: x2 + 2x – 5 = 0 Tìm ước chung lớn nhất của 2 số: 2 vàBài 16toán Tìm số lớn nhất trong một dãy số của tin học ??? In một dòng chữ ra màn hình Xếp loại học tập của một lớp học Quản lí nhân viên Trong tin học, bài toán là một việc nào đó ta muốn máy tính thục hiện. 1. Khái niệm bài toán Khi giải bài toán trong tin học ta cần quan tâm đến 2 yếu tố: - Input: Thông tin đưa vào máy tính để xử lí. - Output: Thông tin nhận được sau khi máy tính xử lí. Chú ý: Input và Output phải khác nhau thì bài toán mới có ý nghĩa. VD: Bài toán tìm ước chung lớn nhất của 2 số nguyên dương M và N - Input: Hai số nguyên dương M và N - Output: Ước chung lớn nhất của M và N 1. Khái niệm bài toán Khi giải bài toán trong tin học ta cần quan tâm đến 2 yếu tố: - Input: Thông tin đưa vào máy tính để xử lí. - Output: Thông tin nhận được sau khi máy tính xử lí. Chú ý: Input và Output phải khác nhau thì bài toán mới có ý nghĩa. VD: Bài toán tìm nghiệm của phương trình bậc hai Ax2 + Bx + C = 0 (A ≠ 0) - Input: Các số thực A, B, C (A ≠ 0) - Output: Tất cả các số thực x thỏa Ax2 + Bx + C = 0 (A ≠ 0) 1. Khái niệm bài toán Khi giải bài toán trong tin học ta cần quan tâm đến 2 yếu tố: - Input: Thông tin đưa vào máy tính để xử lí. - Output: Thông tin nhận được sau khi máy tính xử lí. Chú ý: Input và Output phải khác nhau thì bài toán mới có ý nghĩa. VD: Bài toán kiểm tra tính nguyên tố của số nguyên dương N. - Input: Số nguyên dương N - Output: “N là số nguyên tố” hoặc “N không là số nguyên tố” 1. Khái niệm bài toán Khi giải bài toán trong tin học ta cần quan tâm đến 2 yếu tố: - Input: Thông tin đưa vào máy tính để xử lí. - Output: Thông tin nhận được sau khi máy tính xử lí. Chú ý: Input và Output phải khác nhau thì bài toán mới có ý nghĩa. VD: Bài toán xếp loại học tập của một lớp. - Input: Bảng điểm của học sinh trong lớp - Output: Bảng xếp loại học lực 2. Khái niệm thuật toán VD: Tìm số lớn nhất trong 2 số nguyên a1, a2. - Input: Hai số nguyên a1, a2 Tìm Max? - Output: Giá trị Max của 2 số a1, a2 Thuật toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự nhất định sao cho khi thực hiện các thao tác ấy, từ Input của bài toán ta nhận được Output cần tìm 2. Khái niệm thuật toán Mô tả thuật toán: có 2 cách VD: Tìm số lớn nhất trong 2 số nguyên a1, a2. - Input: Hai số nguyên a1, a2 - Output: Giá trị Max của 2 số a1, a2 Ý tưởng: - Khởi tạo giá trị Max a1 - Ta đi so sánh giá trị Max với a2 . Nếu Max > a2 thì xuất giá trị Max. Nếu Max < a2 thì Max a2 rồi xuất giá trị Max, Kết thúc. 2. Khái niệm thuật toán Mô tả thuật toán: có 2 cách Cách 1: Liệt kê Bước 1: Nhập hai số nguyên a1, a2 Bước 2: Max a1 Bước 3: Nếu Max < a2 - Đúng: Max a2 , xuất giá trị Max rồi kết thúc - Sai: xuất giá trị Max rồi kết thúc. 2. Khái niệm thuật toán Mô tả thuật toán: có 2 cách Cách 2: Sơ đồ khối Nhập a1, a2 Chú thích Max a1 Max > a2 True Xuất giá trị Max Các thao tác nhập/xuất dữ liệu False Các phép tính toán Max a2 Thao tác so sánh Trình tự thực hiện thao tác 3. Một số ví dụ về thuật toán VD1: Bài toán tìm số lớn nhất trong ba số nguyên a1, a2, a3 - Input: Ba số nguyên a1, a2, a3 - Output: Giá trị Max của ba số a1, a2, a3 Ý tưởng: - Khởi tạo giá trị Max a1 - Ta so sánh giá trị Max với a2 . Nếu Max > a2 thì so sánh với a3 Nếu Max > a3 thì xuất giá trị Max Nếu Max < a3 thì Max a3 , xuất Max Nếu Max < a2 thì Max a2 so sánh với a3 Nếu Max > a3 thì xuất giá trị Max Nếu Max < a3 thì Max a3 , xuất Max 3. Một số ví dụ về thuật toán Sơ đồ khối Nhập a1, a2, a3 Max a1 False True Max a2 Max > a2 True Max > a3 False False Max > a3 True Xuất giá trị Max Max a3 Max a3 3. Một số ví dụ về thuật toán VD1: Bài toán tìm giá trị lớn nhất của một dãy số nguyên -Input: Số nguyên dương N và dãy N số nguyên dương a1 … aN - Output: Giá trị lớn nhất Max của dãy số Ý tưởng: - khởi tạo giá trị Max a1 - lần lượt với i từ 2 đến N, so sánh giá trị số hạng ai với giá trị Max, nếu ai > Max thì Max nhận giá trị mới là ai. 3. Một số ví dụ về thuật toán Cách 1: Liệt kê Bước 1: Nhập N và dãy a1…. aN Bước 2: Max a1 , i 2 Bước 3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc. Bước 4: Nếu i <= N so sánh ai với Max - Bước 4.1: Nếu ai > Max thì Max ai - Bước 4.2: i i + 1 rồi quay lại bước 3. 3. Một số ví dụ về thuật toán Cách 2: Sơ đồ khối Nhập N và dãy a1, …, aN Max a1, i 2 True i >N False False ai > Max True Max ai i i + 1 Xuất Max rồi kết thúc The end!