Bài giảng Tin học Lớp 8 - Tiết 20, Bài 5: Từ bài toán đến chương trình (Tiếp theo)

pptx 19 trang phanha23b 26/03/2022 3360
Bạn đang xem tài liệu "Bài giảng Tin học Lớp 8 - Tiết 20, Bài 5: Từ bài toán đến chương trình (Tiếp theo)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_tin_hoc_lop_8_tiet_20_bai_5_tu_bai_toan_den_chuong.pptx

Nội dung text: Bài giảng Tin học Lớp 8 - Tiết 20, Bài 5: Từ bài toán đến chương trình (Tiếp theo)

  1. Quá trình giải bài toán trên máy tính gồm những bước nào? Trả lời: Quá trình giải bài toán trên máy tính gồm: Bước1. Xác định bài toán: Từ phát biểu bài toán xác định: + Thông tin đã cho (INPUT) + Thông tin cần tìm (OUTPUT) Bước 2. Mô tả thuật toán: Diễn tả cách giải bài toán bằng các thao tác cần phải thực hiện. Bước 3. Viết chương trình: Dựa vào mô tả thuật toán ở trên, viết chương trình bằng ngôn ngữ lập trình.
  2. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán: Ví dụ 4: Đổi giá trị của hai biến X và Y. *Xác định bài toán: INPUT: 2 biến X, Y có giá trị tương ứng là a và b. OUTPUT: 2 biến X, Y có giá trị tương ứng là b và a. *Thuật toán: 3 Z Bước 1: Z  X {sau1bước này giá trị của Z = a} Bước 2: X  Y {sau bước này giá2 trị của X = b} Y = b Y X = b X = a X Y =a Bước 3: Y  Z {sau bước này giá trị của Y = Z = a} 4/8/2022
  3. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán Kiểm tra thuật toán Bước x y z 50 70 1 50 70 2 70 50 3 70 50
  4. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán Ví dụ 5: Cho hai số thực a và b. Hãy cho biết kết quả so sánh hai số đó dưới dạng “a lớn hơn b”, “a nhỏ hơn b”, “a bằng b”, * Xác định bài toán: INPUT: Hai số thực a và b OUTPUT: Kết quả so sánh * Mô tả thuật toán: Bước1: Nếu a > b, kết quả là “a lớn hơn b”; Bước 2: Nếu a < b, kết quả là “a nhỏ hơn b”; ngược lại là “a bằng b”; Bước 3: Kết thúc thuật toán;
  5. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán Ví dụ 5: BưBướớcc 12:: NNếếuu aa <> bb,, kkếếtt ququảả llàà ““aa nhlớnỏ hơnhơn bb””;; ngược lại là “a bằng b”; Thử kiểm tra thuật toán với a=6 và b=5 Ta thấy, sau bước Nhưng trong bước 1 ta được kết quả hai, khi kiểm tra a<b thì kết quả là  a lớn hơn b  a = b Như vậy thuật toán bị sai ở  Vậy: sau 2 bước thì ta nhận được 2 đâu? kết quả khác nhau ở trên,
  6. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán Ví dụ 5: *Thuật toán so sánh hai số thực a và b: Bước1: Nếu a > b, kết quả là “a lớn hơn b” và chuyển đến bước 3 (kết thúc thuật toán); Bước 2: Nếu a < b, kết quả là “a nhỏ hơn b”; ngược lại là “a bằng b”; Bước 3: Kết thúc thuật toán; Với 2 số ta có thể dễ dàng so sánh và cho ra kết quả, vậy với nhiều số thì việc so sánh và tìm ra số lớn sẽ như nào?
  7. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán Ví dụ 6: Tìm số lớn nhất trong dãy A các số a1, a2, a3, , an cho trước Ý tưởng: - Đặt giá trị Max= a1 - Lần lượt cho i chạy từ2 đến N, so sánh giá trị ai với giá trị Max, nếu ai> Max thì Max nhận giá trị mới là ai.
  8. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán Ví dụ 6: Tìm số lớn nhất trong dãy A các số a1, a2, a3, , an cho trước * Xác định bài toán INPUT: Dãy A các số a1, a2, a3, , an (n>=1) OUTPUT: Giá trị MAX=max{a1, a2, a3, , an } * Mô tả thuật toán Bước 1: Max  a1 ; i  1 Bước 2: i  i+1; Bước 3: Nếu i > N, thì chuyển xuống bước 5. Bước 4: Nếu ai > Max thì Max ai, quay lại bước 2; Bước 5: Thông báo Max và kết thúc thuật toán
  9. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán N=5: là số phần tử của Dãy A. i: là biến đếm (vị trí so sánh trong dãy A) i=4 i=3 i=5 i=1 i=2 i=6 4 2 1 5 3 i>n a a a Dừng lại a1 2 a3 4 5 Kết quả: Max=5 MAX
  10. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán Kiểm tra thuật toán i i max Max 0 5 a1=2, a2=1, a3=4, a4=5, a5=3 1 True a1=2 2 2 True a2=1 false 2 3 True a3=4 True 4 4 True a4=5 True 5 5 True a5=3 false 5 6 False
  11. TIẾT 20: BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (TT) 4) Một số ví dụ về thuật toán Minh họa thuật toán trên với trường hợp chọn thỏ lớn nhất trong 4 chú thỏ. - Bước 1: Giả sử thỏ lớn nhất là thỏ số 1, tức MAX = 1. - Bước 2: So sánh MAX (thỏ số 1) với thỏ số 2 → MAX = 1. - Bước 3: So sánh MAX (thỏ số 1) với thỏ số 3 → MAX = 3. - Bước 4: So sánh MAX (thỏ số 3) với thỏ số 4 → MAX = 3. 4/8/2022 GV: LTTVY 12 Quay Slide 6
  12. Củng cố Câu 1: Hãy chọn phát biểu Sai? Việc thực hiện cả 3 bước khi giải bài toán trên A máy tính là cần thiết, nhất là đối với bài toán phức tạp. B Xác định bài toán là: Xác định rõ các điều kiện cho trước và các kết quả cần thu được. Dãy hữu hạn các thao tác cần thực hiện để giải C một bài toán được gọi là thuật toán. Đối với mỗi bài toán cụ thể chúng ta chỉ có 1 DD thuật toán duy nhất để giải bài toán đó trên máy tính. 4/8/2022
  13. Câu 2: Hãy chọn phát biểu Đúng? Các bước giải bài toán trên máy tính là: Mô tả A thuật toán → Viết chương trình → Xác định bài toán. BB Cần phải xác định bài toán trước khi giải bài toán trên máy tính. Máy tính chỉ hiểu được chương trình viết bằng C NNLT Pascal. Với mỗi bài toán cụ thể, phải lựa chọn NNLT phù D hợp rồi mới xây dựng thuật toán giải bài toán đó. 4/8/2022
  14. Bài tập 1: Hãy lập bảng kiểm tra thuật toán sau và cho biết thuật toán này dùng để làm gì? Bước 1: x=50, y=70 Bước x y Bước 2: x  x+y 1 50 70 Bước 3: y  x-y 2 120 70 Bước 4: x  x-y 3 120 50 4 70 50 Vậy kết thúc ta có x=70 và y=50, đây là thuật toán đổi giá trị hai biến mà không cần dùng biến trung gian
  15. Bài tập 1: Hãy lập bản kiểm tra thuật toán sau và cho biết thuật toán này dùng để làm gì? Bước 1: x=50, y=70 Bước x y Bước 2: x  x+y 1 50 70 Bước 3: y  x-y 2 120 70 Bước 4: x  x-y 3 120 50 4 70 50 Vậy kết thúc ta có x=70 và y=50, đây là thuật toán đổi giá trị hai biến mà không cần dùng biến trung gian
  16. Bài tập 2: Hãy chỉ ra Input và Output của bài toán sau: Cho ba số dương a, b, c. Kiểm tra xem ba số có là số đo ba cạnh của một tam giác hay không? INPUT: Ba số dương a> 0; b>0; c> 0 OUTPUT: Thông báo “a, b, c là ba cạnh củamột tam giác” hoặc “a, b, c không là ba cạnh củamột tam giác”.
  17. - Bài toán là một công việc hay nhiệm vụ cần phải giải quyết. - Xác định bài toán là xác định rõ các điều kiện cho trước (Input) và kết quả cần thu được (Output). - Dãy hữu hạn các thao tác cần thực hiện để giải một bài toán được gọi là thuật toán. - Các bước giải bài toán trên máy tính: • Xác định bài toán (Input, Output). • Mô tả thuật toán (Nêu các bước thực hiện lệnh). • Viết chương trình (Dùng NNLT em biết để lập trình). 4/8/2022
  18. - Học bài. - Làm các bài tập (SGK/Tr44, 45). 4/8/2022