1. CHƯƠNG TRÌNH TIN HỌC LỚP
10
(SGK thí điểm)
Chương I
Bài 4. BÀI TOÁN và
THUẬT
TOÁN
2. II.. BBÀÀII TTOOÁÁNN
• 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.
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?
Trong TOÁN HỌC Trong TIN 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
3. KKhhááii nniiệệmm bbààii ttooáánn ttrroonngg
TTiinn hhọọcc??
Bài toán là việc nào
đó ta muốn máy tính
thực hiện.
4. CCáácc yyếếuu ttốố ccầầnn qquuaann ttââmm kkhhii
ggiiảảii mmộộtt bbààii ttooáánn
TIN HỌC
Đưa vào máy
thông tin gì
Cần lấy ra
thông tin gì
TTOOÁÁNN HHỌỌCC??
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 đó.
TOÁN HỌC
- Giả thiết
- Kết luận
THUẬT NGỮ
Input
Output
5. CÁC VÍ DỤ
VD1 : Giải 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 : Số thực x thỏa : ax2+bx+ c = 0
VD2 : Tìm giá trị nhỏ nhất của các số
trong một dãy số.
Input : Các số trong dãy số.
Output : Giá trị nhỏ nhất trong dãy số.
6. CÁC VÍ DỤ (tt)
VD3 : Tìm ước chung lớn nhất của hai
số nguyên dương a và b.
Input :
?
Output :
VD4 : Xếp loại học tập các học sinh
trong lớp.
Input :
Output :
Hai số nguyên dương a và b.
?
UCLN của a và b.
?? B
ảng điểm của học sinh.
Bảng xếp loại học tập.
7. TÓ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)
8. IIII.. TTHHUUẬẬTT TTOOÁÁNN
Bài toán
Input Output Bằng cách nào?
Giải bài toán
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
9.
10. BÀI TOÁN
Input 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á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.
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.
11. MÔ TẢ CÁC THAO TÁC
TRONG THUẬT TOÁN
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
12. a) LIỆT KÊ
VD : Tìm nghiệm phương trình bậc nhất tổng
quát : ax + b = 0 ()
Giải toán thông thường:
Nếu a = 0 thì () không
phải là pt bậc nhất.
+ Neáu b = 0 thì ()
voâ số nghieäm.
+ Neáu b ≠ 0 thì ()
voâ nghieäm.
Nếu a ≠ 0 thì () có
nghiệm x = -b/a.
LIỆT KÊ :
• Bước 1 : Nhập a, b.
• Bước 2 : Nếu a = 0 thì
quay lại bước 1, ngược lại
thì qua bước 3.
• 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.
13. b) 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 thao tác nhập, xuất
dữ liệu
: Thể hiện các phép toán
: Thể hiện các thao tác so sánh
: Quy định trình tự thực hiện các
thao tác
14. VD: Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0
LIỆT KÊ SƠ ĐỒ KHỐI
Nhập a, b
a = 0
Sa
i
x =
-b/a
đúng
Xuất ra x và kết
thúc
• Bước 1 : Nhập a, b.
• Bước 2 : Nếu a = 0 thì
quay lại bước 1, ngược
lại thì qua bước 3.
• 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.
15. LƯU Ý
Ta cần diễn tả thuật toán bằng
một ngôn ngữ sao cho máy
tính có thể hiểu và thực hiện
được, ngôn ngữ đó gọi là ngôn
ngữ lập trình. Kết quả diễn tả
thuật toán như vậy gọi là
chương trình.
16. IIIIII.. VVÍÍ DDỤỤ VVỀỀ TTHHUUẬẬTT TTOOÁÁNN
Bài toán 1 :
Cho dãy số gồm N số sau (N =
5):
11 6 20 4 8
Tìm giá trị NHỎ NHẤT của dãy số
trên ?
17. HÖÔÙNG DAÃN:
- Goïi Min laø giaù trò nhoû
nhaát caàn tìm.
- Gaùn Min baèng giaù trò
phaàn töû ñaàu tieân cuûa daõy.
Gán i = 2
- Laàn löôït so saùnh Min vôùi
caùc phaàn töû tieáp theo trong
daõy. Taïi moãi vò trí so saùnh :
+ Neáu Min lôùn hôn giaù trò
phaàn töû caàn so saùnh trong
daõy thì laáy giaù trò cuûa
phaàn töû ñoù gaùn laïi cho Min.
- Khi so saùnh ñeán phaàn töû
cuoái cuøng trong daõy soá thì
Min seõ mang giaù trò nhoû
Min
Min=6
11 6 20 4 8
Min=11
Min=4
Giaù trò nhoû
nhaát: 4
Biến i lưu trữ vị trí
tiếp theo mà Min sẽ
+ Tăng i lên 1 đơn vị so sánh
18. SSƠƠ ĐĐỒỒ KKHHỐỐII :: Nhaäp N vaø daõy
a1,…, aN
Min = a1 , i =
2
i
<=N
Min >
ai
Min = ai
i =
i+1
Ñöa ra
Min roài
keát
thuùc
Sa
i
Ñuùn
g
Ñuùn
g
Sa
i
19. LLIIỆỆTT KKÊÊ
Böôùc 1 : Nhaäp N vaø daõy a1,…, aN.
Böôùc 2 : Ñaët Min= a1, i=2;
Böôùc 3 : Neáu i<=N thì thöïc hieän
böôùc 4, neáu khoâng thì
chuyeån ñeán böôùc 5.
Böôùc 4 :
4.1. Neáu Min > ai thì ñaët Max=ai.
4.2. Taêng i moät ñôn vò roài quay
veà böôùc 3
Böôùc 5 : Ñöa ra Min roài keát thuùc.
20. 44.. VVÍÍ DDỤỤ VVỀỀ TTHHUUẬẬTT TTOOÁÁNN ((tttt))
Bài toán 2 :
Tìm giá trị LỚN NHẤT của một dãy số với Input
và Output như sau:
• Input : Số nguyên dương N và dãy N số
a1,...,aN.
• Output : Giá trị lớn nhất (Max) của dãy số.
Mô tả thuật toán để giải bài toán này theo cả
2 cách liệt kê và dùng sơ đồ khối.
21. CCÁÁCC TTHHUUẬẬTT NNGGỮỮ CCHHÍÍNNHH
*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 *Sau Là khi việc tự xác nào định.
máy thực hiện đó ta tính thực dãy hiện
thao muốn
tác
đó, từ Input ta tìm được Output
của bài Các toán.
thông tin đã có
(các giả thiết)
Các thông tin cần tìm
từ Input (kết luận)
Dùng các biểu tượng qui
ước để thể hiện các thao
tác trong thuật toán
• Bài toán
• Input
• Output
• Thuật toán
• Sơ đồ khối
22. BÀI TẬP VỀ NHÀ
Bài 1, 3, 4, 5, 6
trang 27 – 28
(SGK)