Khái niệm bài toán Trong TIN HỌC Trong TOÁN HỌC Yêu cầu 1 và 4 được xem là bài toán Tất cả các yêu cầu trên đều được xem là bài toán Trong các yêu cầu trên, yêu cầu nào được xem như
Trang 11
Trang 2Tiết 10
Chương I Một số khái niệm cơ bản
của tin học
Trang 3• Xét các yêu cầu sau :
1 Giải phương trình bậc hai ax2+bx+c=0
2 Viết một dòng chữ ra màn hình máy tính.
3 Quản lý các cán bộ trong một cơ quan.
4 Tìm ước chung lớn nhất của hai số nguyên
dương a và b.
5 Xếp loại học tập các học sinh trong lớp.
1 Khái niệm bài toán
Trong TIN HỌC
Trong TOÁN HỌC
Yêu cầu 1 và 4 được
xem là bài toán
Tất cả các yêu cầu trên
đều được xem là bài toán
Trong các yêu cầu trên, yêu cầu
nào được xem như là một bài toán?
Trang 4Khái niệm bài toán trong
Tin học?
Trong phạm vi tin học, Bài toán là
việc nào đó ta muốn máy tính thực hiện.
Trang 5TIN HỌC
Đưa vào máy thông tin gì
Cần lấy ra thông tin gì
TOÁN HỌC?
Các yếu tố cần quan tâm khi
giải một bài toán
Trong Tin học, để phát biểu một bài toán, ta cần
trình bày rõ Input và Output của bài toán đó.
Trang 6 Input : Các số trong dãy số.
Output : Giá trị nhỏ nhất trong dãy số.
Trang 8Nêu m t bài toán và ộ
Xem thêm các ví dụ trong SGK/32
Trang 9TÓM LẠI
Một bài toán được cấu tạo bởi 2 thành phần cơ bản :
Input (Các thông tin đã có)
Output (Các thông tin cần tìm từ Input)
Trang 102 Thuật toán
Hướng dẫn các thao tác cho máy
thực hiện để tìm ra lời giải
Bài toán
Giải bài toán
Thuật toán
Trang 11Input THUẬT TOÁN Output
(Thao tác 1Thao tác 2 Thao tác n)
Thuật toán để giải một bài 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ự xác định sao cho sau khi thực hiện dãy thao tác đó, từ Input của bài toán này, ta nhận được Output cần tìm.
BÀI TOÁN
Thuật toán để giải một bài toán là :
• Một dãy hữu hạn các thao tác.
• Các thao tác được sắp xếp theo một
trình tự xác định.
• Sau khi thực hiện dãy thao tác đó, từ
Input ta tìm được Output của bài toán.
a Thuật toán là gì ?
Trang 12MÔ TẢ CÁC THAO TÁC TRONG THUẬT TOÁN
b Có 2 cách mô
tả
Liệt kê Dùng sơ đồ khối
Nêu ra tuần tự các thao
tác cần tiến hành
Dùng một số biểu tượng
thể hiện các thao tác
Trang 13• Bước 3 : Gán cho x giá trị -b/a, rồi qua bước 4.
• Bước 4 : Đưa ra kết quả
x và kết thúc.
Tìm nghiệm phương trình bậc nhất tổng quát
ax + b = 0 ()
Trang 14: Thể hiện các thao tác so sánh
DÙNG SƠ ĐỒ KHỐI
Trong sơ đồ khối, người ta dùng một số
biểu tượng thể hiện các thao tác như :
: Thể hiện các phép toán
: Quy định trình tự thực hiện các
thao tác : Thể hiện các thao tác nhập, xuất
dữ liệu
Trang 15VD: Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0
quay lại bước 1, ngược
lại thì qua bước 3.
Trang 16Sau một thao tác thì hoặc kết thúc hoặc
có đúng một thao tác để thực hiện tiếp theo.
Thuật toán phải kết thúc sau một số hữu hạn bước.
c Tính chất thuật toán
Tính dừng
Tính xác định
Thuật toán kết thúc phải nhận được output
TÍnh đúng
đắn
Tính chất
Trang 17Tiết 11, 12
Chương I Một số khái niệm cơ bản
của tin học
Trang 18NỘI DUNG BÀI HỌC
1.Khái niệm bài toán
2.Khái niệm thuật toán
a VD 1 : Kiểm tra tính nguyên tố của một số nguyên
3.Một số ví dụ về thuật toán
3.Một số ví dụ về thuật toán
Trang 19KIỂM TRA TÍNH NGUYÊN TỐ CỦA 1
Trang 20XÁC ĐỊNH BÀI TOÁN
• Nhắc lại :
*INPUT và OUTPUT là gì?
+ Input: là các thông tin đã có (giả thiết)
+ Output: là các thông tin cần tìm dựa vào
các thông tin có từ Input (kết luận)
Trang 21XÁC ĐỊNH BÀI TOÁN
BÀI TOÁN :
Kiểm tra tính nguyên tố của một số nguyên
dương N.
+ Output: ? “N là một số nguyên tố” hoặc “ N
không phải là một số nguyên tố”.
Trang 22XÁC ĐỊNH BÀI TOÁN
Nhắc về số nguyên tố:
Một số là số nguyên tố nếu nó khác nhau
Trang 23• Quay lại bài toán :
Input : Nhập số nguyên dương N.
Output : “N là số nguyên tố” hoặc “N không là số nguyên tố.”
Nội dung bài toán :
Trang 25Ý TƯỞNG
thì sao ? Thông thường:
Người ta xét xem N có ước từ 2 đến [ ] hay không ? (xét lần lượt từ trái sang phải )
Nếu có thì N không là số nguyên
tố và ngược lại.
N
Trang 26Ý TƯỞNG
TÓM LẠI Ý TƯỞNG CỦA BÀI TOÁN
TÓM LẠI Ý TƯỞNG CỦA BÀI TOÁN
Nhập số nguyên dương N nếu :
N = 1 thì N không là số nguyên tố.
N thuộc khoảng 1< N <4 thì N là số nguyên tố.
N ≥ 4 và N không có ước trong đoạn từ 2 đến
phần nguyên căn bậc hai của N ( ký hiệu là
[ ] ) thì N là số nguyên tố N
Trang 27Bước 2: Nếu N =1 thì thông báo
N không nguyên tố rồi kết thúc
Bước 3: Nếu N <4 thì thông báo
N là nguyên tồ rồi kết thúc.
Bước 4 : i=2.
Bước 5: Nếu i> [ V N ] thì thông
báo N là nguyên tố rồi kết thúc.
Bước 6: Nếu N chia hết cho i thì
thông báo N không nguyên tố
Thông báo N không
là số nguyên tố rồi kết thúc
Đúng Sai
Đúng Sai
N
Trang 28Thuật toán : ( Minh họa với N=1, N=3 )
a) Cách liệt kê:
Bước 1: Nhập số nguyên dương N
Bước 2: Nếu N =1 thì thông báo N
không nguyên tố rồi kết thúc
Bước 3: Nếu N <4 thì thông báo N
là nguyên tồ rồi kết thúc
Bước 4: i=2
Bước 5: Nếu i> [ V N ] thì thông
báo N là nguyên tố rồi kết thúc
Bước 6: Nếu N chia hết cho i thì
thông báo N không nguyên tố rồi
N < 4 ?
i >[ ] ?
N chia hết
cho i ?
Thông báo N là
số nguyên tố rồi kết thúc
Thông báo N không
Đúng Sai
Đúng Sai
Trang 29Thuật toán:(Minh họa với N=11)
a) Cách liệt kê:
Bước 1: Nhập số nguyên dương N.
Bước 2: Nếu N =1 thì thông báo N
không nguyên tố rồi kết thúc
Bước 3: Nếu N <4 thì thông báo N
là nguyên tồ rồi kết thúc.
Bước 4 : i=2.
Bước 5 : Nếu i>[ ] thì thông báo N
là nguyên tố rồi kết thúc.
Bước 6: Nếu N chia hết cho I thì
thông báo N không nguyên tố rồi
N < 4 ?
i >[ ] ?
N chia hết
cho i ?
Thông báo N là số
nguyên tố rồi kết thúc
Thông báo N không
là số nguyên tố rồi kết thúc
Đúng Sai
Đúng Sai
N N
N=11
11=1?
11<4 ?i=2
Trang 30Thuật toán:(Minh họa với N=15)
a) Cách liệt kê:
Bước 1: Nhập số nguyên dương N
Bước 2: Nếu N =1 thì thông báo N
không nguyên tố rồi kết thúc
Bước 3: Nếu N <4 thì thông báo N là
nguyên tồ rồi kết thúc
Bước 4: i=2
Bước 5: Nếu i>[ ] thì thông báo N là
nguyên tố rồi kết thúc
Bước 6: Nếu N chia hết cho i thì thông
báo N không nguyên tố rồi kết thúc
Bước 7: i i+1 rồi quay lại bước 5
b) Sơ đồ khối
N = 1 ? Nhập N
N < 4 ?
i >[ ] ?
N chia hết
cho i ?
Thông báo N là số nguyên tố rồi kết thúc
Thông báo N không
Đúng Sai
Đúng Sai
N N
N=15
15=1?
15<4 ?i=2
i=2> [ ] ?15
i >[ ] ?
Trang 31b c
d e
f g
Trang 32NỘI DUNG BÀI HỌC
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.
b Ví dụ 2 : Bài toán sắp xếp: Sắp xếp bằng tráo đổi
(Exchange Sort)
Trang 33Mô tả bài toán
• Cho dãy A gồm N số nguyên a 1 ,a 2 ,
dãy A trở thành dãy không giảm
• Ví dụ: Dãy A gồm các phần tử 5, 6, 8, 2, 4,
7 ta sẽ sắp lại thành 2, 4, 5, 6, 7, 8.
Trang 35Thuật toán sắp xếp bằng tráo đổi (Exchange Sort):
Trang 36Vd: Dãy A gồm 5,6,8,2,4,7 ta
sắp lại thành 2,4,5,6,7,8
5 >< 6 < > 8 > < 2 > < 4 > 7
THÀNH CÔNG!
Ý tưởng: Với mỗi cặp số hạng đứng
liền kề trong dãy, nếu số trước lớn hơn số sau ta đổi chỗ chúng cho nhau Việc đó được lặp lại cho đến khi không có đổi chỗ nào xảy ra nữa
Trang 37NHẬN XÉT
Sau mỗi lần đổi chỗ, giá trị lớn nhất sẽ
chuyển dần về cuối
Sau mỗi lượt có ít nhất một số hạng xếp
đúng và không tham gia vào quá trình đổi
chỗ nữa
Trang 38 Bước 6: Nếu i > M thì quay lại bước 3;
Bước 7: Nếu a i > a i +1 thì đổi chỗ a i
và a +1;
Trang 39Nhập N và a1, a2,…aN
MNM<2? Đưa ra A rồi kết thúc
M giảm dần sau mỗi
lượt Sau mỗi lượt
Trang 41Nhập N và a1, a2,…aN
MNM<2? Đưa ra A rồi kết thúc
M=4 i=1
M=3 i=5
M=2
Đ S
Đ
S S
Đ
Trang 42Về nhà học bài và chuẩn bị trước phần còn lại của bài 4 trong SGK;
Tiết sau học tại phòng máy;
HỌC SINH CHÚ Ý: