Xét các yêu cầu sau :
1. Giải phương trình bậc hai ax
2
+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.
22 trang |
Chia sẻ: Mr Hưng | Lượt xem: 1044 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Tin học 10 - Bài 4: Bài toán và thuật toán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
• 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.
I. 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?
Khái niệm bài toán trong
Tin học?
Bài toán là việc nào
đó ta muốn máy tính
thực hiện.
TIN 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 đó.
TOÁN HỌC
- Giả thiết
- Kết luận
THUẬT NGỮ
Input
Output
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ố.
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 :
UCLN của a và b.
Hai số nguyên dương a và b.
CÁC VÍ DỤ (tt)
?
?
?
?
Bảng điểm của học sinh.
Bảng xếp loại học tập.
Nêu một bài toán và
chỉ rõ Input, Output
của bài toán đó?
Xem thêm các ví dụ trong SGK/24, 25
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)
II. 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
Input Output
Bằng cách nào?
Giải bài toán
Thuật toán
Input Output
THUẬT TOÁN
(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 t ao tác đƣợc sắp xếp theo một
trì h 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.
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
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.
a) LIỆT KÊ
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.
VD : Tìm nghiệm phương trình bậc nhất tổng
quát : ax + b = 0 ()
: Thể hiện các thao tác so sánh
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 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
VD: Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0
Nhaäp a, b
a = 0
x = -b/a
Sai
Ñuùng
Ñöa ra x vaø keát thuù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.
SƠ ĐỒ KHỐI LIỆT KÊ
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.
LƢU Ý
III. VÍ DỤ VỀ THUẬT TOÁN
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 ?
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.
- 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û nhaát
cuûa daõy.
Gán i = 2
11 6 20 4 8
Min
Min=11
Min=6
Min=4
Giaù trò nhoû nhaát: 4
Biến i lưu trữ vị trí
tiếp theo mà Min sẽ
so sánh + Tăng i lên 1 đơn vị
SƠ ĐỒ KHỐI : 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
Sai
Ñuùng
Ñuùng
Sai
LIỆT KÊ
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.
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.
4. VÍ DỤ VỀ THUẬT TOÁN (tt)
CÁC THUẬT NGỮ CHÍNH
Là việc nào đó ta muốn
máy tính thực hiện
Các thông tin đã có
(các giả thiết)
Các thông tin cần tìm
từ Input (kết luận)
*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.
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
BÀI TẬP VỀ NHÀ
Bài 1, 3, 4, 5, 6
trang 27 – 28
(SGK)
Các file đính kèm theo tài liệu này:
- bai_giang_4_thuat_toan_9585.pdf