Thế nhưng dãy các thao tác sau là một vòng lặp vô hạn không có tính dừng, không thỏa mãn yêu cầu là một thuật toán.. Bài 3 trang 44 Tin học 10: Hãy chỉ ra tính dừng của thuật toán tìm ki[r]
(1)Giải tập SGK Tin học 10 4: Bài toán thuật toán
Bài trang 44 Tin học 10: Hãy phát biểu toán rõ Input và
Output tốn
Lời giải:
- Bài tốn: Tìm nghiệm phương trình bậc có dạng ax2 + bx + c = 0
bất kì
- Input: Cho ba số a,b,c
- Output: In nghiệm phương trình bậc 2: Có thể vơ nghiệm, nghiệm có hai nghiệm
Bài trang 44 Tin học 10: Dãy thao tác sau:
Bước 1: Xóa bảng;
Bước 2: Vẽ đường trịn;
Bước 3: Quay lại bước
Có phải thuật tốn khơng? Vì sao?
Lời giải:
Đây khơng phải thuật tốn Bởi theo định nghĩa thuật toán, từ Input toán ta cần tìm kiếm Output Thế dãy thao tác sau vịng lặp vơ hạn khơng có tính dừng, khơng thỏa mãn u cầu thuật toán
Bài trang 44 Tin học 10: Hãy tính dừng thuật tốn tìm kiếm tuần
tự
Lời giải:
- Với thuật toán tìm kiếm tuần tự, tính dừng xảy thỏa mãn hai trường hợp:
+ Nếu tìm thấy giá trị cần tìm dãy A: = k thơng báo số i kết
(2)+ Nếu khơng tìm thấy giá trị cần tìm dãy A: = k tăng i đến
i>n thơng báo khơng có giá trị i thỏa mãn kết thúc
Bài trang 44 Tin học 10: Cho N dãy số a1, ,aN, tìm giá trị nhỏ
(min) dãy
Lời giải:
- Bước 1: Nhập N, số hạng a1, a2, aN biến Min
- Bước 2: i ← 2, Min ← a1
- Bước 3: Nếu < Min Min ←
- Bước 4: i ← i +1
- Bước 5: Nếu i>N thơng báo Min số nhỏ dãy, kết thúc
- Bước 6: Quay lại bước
Bài trang 44 Tin học 10: Mô tả thuật tốn tìm nghiệm phương trình bậc
hai tổng quát cách liệt kê sơ đồ khối
Lời giải:
- Bước 1: Nhập ba số a, b, c, biến Delta, x, x1, x2
- Bước 2: Delta ← b*b-4*a*c
- Bước 3: Nếu Delta < thơng báo phương trình vơ nghiệm kết thúc thuật toán
- Bước 4: Nếu delta > thơng báo phương trình có hai nghiệm phân biệt x1 ← (-b+sqrt(delta))/2*a x2 ← (-b-sqrt(delta))/2*a, kết thúc thuật toán
- Bước 5: Nếu delta = thơng báo phương trình có nghiệm kép x = -b/2*a
Bài trang 44 Tin học 10: Cho N dãy số a1 aN, xếp dãy số
thành dãy số không tăng (số hạng trước lớn hay số hạng sau)
Lời giải:
- Bước 1: Nhập N, số hạng a1, a2, aN biến tg
(3)- Bước 3: Nếu < ai+1 đổi chỗ ai+1
- Bước 4: i ← i +1
- Bước 5: Nếu i>N thơng báo in dãy A, kết thúc
- Bước 6: Quay lại bước
Bài trang 44 Tin học 10: Cho N dãy số a1 aN cho biết có
số hạng dãy có giá trị
Lời giải:
- Bước 1: Nhập N, số hạng a1, a2, aN biến dem
- Bước 2: i ←
- Bước 3: Nếu = dem ← dem +1
- Bước 4: i ← i +1
- Bước 5: Nếu i>N thơng báo in biến dem, kết thúc
- Bước 6: Quay lại bước