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!