Tìm ước chung lớn nhất của hai số 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
Trang 2GV: Đặng Bá Sáu 2
• 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ố
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 4Cá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 5Input : Các số trong dãy số.
Output : Giá trị nhỏ nhất trong dãy số.
Trang 7GV: Đ ng Bá Sáu ặng Bá Sáu 7
Nêu m t bài toán và ột bài toán và
ch rõ Input, Output ỉ rõ Input, Output
c a bài toán đó? ủa bài toán đó?
Xem thêm các ví dụ trong SGK/24, 25
Trang 8 Input (Các thông tin đã có)
Output (Các thông tin cần tìm từ Input)
Trang 9GV: Đặng Bá Sáu 9
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 Bằng cách nào? Output
Giải bài toán
Thuật toán
Trang 10GV: Đặng Bá Sáu 10
(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.
Trang 11GV: Đặng Bá Sáu 11
MÔ TẢ CÁC THAO TÁC TRONG THUẬT TOÁN
Có 2 cách mô tả Liệt kê
Trang 12• 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 ()
Trang 13GV: Đặng Bá Sáu 13
: 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
Trang 14quay lại bước 1, ngược
lại thì qua bước 3.
Trang 15GV: Đặng Bá Sáu 15
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,
trình Kết quả diễn tả thuật toán
LƯU Ý
Trang 17GV: Đặng Bá Sáu 17
HƯỚNG DẪN:
- Gọi Min là giá trị nhỏ nhất cần
tìm
- Gán Min bằng giá trị phần tử đầu
tiên của dãy
- Lần lượt so sánh Min với các
phần tử tiếp theo trong dãy Tại
mỗi vị trí so sánh :
+ Nếu Min lớn hơn giá trị phần
tử cần so sánh trong dãy thì lấy giá
trị của phần tử đó gán lại cho Min
- Khi so sánh đến phần tử cuối
cùng trong dãy số thì Min sẽ mang
giá trị nhỏ nhất của dãy
so sánh
+ Tăng i lên 1 đơn vị
Trang 18Sai Đúng
Đúng Sai
Trang 19GV: Đặng Bá Sáu 19
LIỆT KÊ
Bước 1 : Nhập N và dãy a1,…, aN.
Bước 2 : Đặt Min= a1, i=2;
Bước 3 : Nếu i<=N thì thực hiện bước 4, nếu
không thì chuyển đến bước 5.
Bước 4 :
4.1 Nếu Min > ai thì đặt Max=ai.
Bước 5 : Đưa ra Min rồi kết thúc.
Trang 20GV: Đặng Bá Sáu 20
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)
Trang 21từ Input (kết luận)
*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