Giáo án và PPT Tin học 10 cánh diều Bài 17: Thực hành lập trình giải bài toán trên máy tính
Đồng bộ giáo án word và powerpoint (ppt) Bài 17: Thực hành lập trình giải bài toán trên máy tính. Thuộc chương trình Tin học 10 cánh diều. Giáo án được biên soạn chỉnh chu, hấp dẫn. Nhằm tạo sự lôi cuốn và hứng thú học tập cho học sinh.
Click vào ảnh dưới đây để xem giáo án WORD rõ nét












Giáo án ppt đồng bộ với word












Còn nữa....
Các tài liệu bổ trợ khác
Xem toàn bộ: Trọn bộ giáo án và PPT Tin học 10 cánh diều
THỰC HÀNH LẬP TRÌNH GIẢI BÀI TOÁN TRÊN MÁY TÍNH (2 TIẾT)
HOẠT ĐỘNG KHỞI ĐỘNG
GV yêu cầu HS thảo luận và trả lời:
Nếu chương trình chạy bị lỗi với thông báo lỗi là ZeroDivisionError thì đó là lỗi gì và em cần sửa lỗi như thế nào?
HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
Hoạt động 1.
GV đặt câu hỏi hướng dẫn học sinh tìm hiểu: Thực hành lập trình giải toán?
Sản phẩm dự kiến:
I. Bài 1
Nhận xét để xác định bài toán:
Vì mỗi giờ, khoảng cách giữa hai tàu giảm đi (v1 + v2) hải lí, vì vậy để hai tàu gặp nhau, sẽ cần giờ.
- Sử dụng kiến thức vật lí để giải thích:
Đặt hệ quy chiếu một chiều với điểm 0 ở vị trí tàu cá và đảo ở vị trí d.
Phương trình chuyển động của tàu cá: x = 0 + v1.t
Phương trình chuyển động của tàu cứu hộ: x = d – v2.t
Yêu cầu tìm t để 0 + v1.t = d – v2.t, tức là tìm t = ,có thể giải bằng thuật toán giải phương trình bậc nhất.
Thuật toán:
Bước 1: Nhập vào d, v1, v2.
Bước 2: Tính t = d/(v1+v2).
Bước 3: In ra t.
Chương trình:
Kiểm thử: Đề xuất các bộ test và thực hiện kiểm thử.
II. Bài 2
Xác định bài toán:
Input: Các dữ liệu
- Số liều đã có m ().
- Số liều cần có n ( ).
- Năng suất một ngày: cơ sở A sản xuất pa, cơ sở B sản xuất pb liều vacxin, ( )
Output: Số ngày để sản xất đủ vacxin: k ngày.
Thuật toán
Ta xét một thuật toán đơn giản: Mô phỏng đúng quá trình sản xuất, sau mỗi ngày thì số liều đã có tăng lên (pa + pb) và lặp đi lặp lại cho tới khi đủ số liều cần có.
Bước 1: Nhập vào n, m, pa, pb.
Bước 2: k = 0
Bước 3: while m < n: # chừng nào chưa đủ số liều
Bước 4: k +=1# thêm một ngày.
Bước 5: m + = pa + pb # số liều được thêm pa + pb sau một ngày.
Bước 6: In ra k # in ra số ngày.
Chương trình 1:
Kiểm thử
Xây dựng bộ test:
Dữ liệu | Kết quả thực hiện | Ý đồ test |
200 50 20 35 | 3 | Bộ test 1: Test ví dụ đề bài |
200 50 4 6 | 15 | Bộ test 2: Sản xuất thêm 15 ngày, không thừa liều nào |
201 50 4 6 | 16 | Bộ test 3: Sản xuất thêm 16 ngày, thừa ra 9 liều |
1000 1000 1 2 | 0 | Bộ test 4: Số liều đã đủ, không cần sản xuất thêm |
100000000 0 1 1 | 50 000 000 | Bộ test 5: Cần sản xuất thêm rất nhiều ngày |
12 16 1 2 | 0 | Bộ test 6: Số liều đã thừa, không cần sản xuất thêm |
12 16 0 0 | 0 | Bộ test 7: Không cần sản xuất thêm, pa = pb = 0 |
16 12 0 0 | -1 | Bộ test 8: không thể sản xuất đủ |
100000000 0 100000 100000 | 500 | Bộ test 9: Dữ liệu max |
Kết quả thực hiện:
Test | Kết quả mong muốn | Kết quả thực hiện | Tình trạng |
1 | 3 | 3 | OK |
2 | 15 | 15 | OK |
3 | 16 | 16 | OK |
4 | 0 | 0 | OK |
5 | 50000000 | 50000000 | Chạy rất chậm |
6 | 0 | 0 | OK |
7 | 0 | 0 | OK |
8 | -1 |
| Lặp vô hạn |
9 | 500 | 500 | OK |
Có 2/9 bộ test chương trình không đạt yêu cầu, cần hiệu chỉnh thuật toán và chương trình để khắc phục các lỗi này. Ở bộ test số 5, chương trình chạy chậm do vòng lặp while () phải thực hiện tới 50 triệu lần. Trước hết ta thử tối ưu chương trình:
Thay vì duy trì số liều đã có m và số liệu cần có n. Ta tính trước số liệu còn thiếu q = n - m.
Thay vì phải tính số liệu sản xuất ra trong một ngày bằng (pa + pb), ta tính trước luôn p = pa + pb.
Chương trình 2:
Chương trình vẫn chưa có cải thiện đáng kể về tốc độ, cụ thể là test số 5 vẫn rất chậm. Việc điều chỉnh cần được thực hiện ở mức thuật toán.
Có thể thấy rằng để sản xuất q liều với tốc độ p liều một ngày thì cần ngày. Vì vậy để tính số ngày k, ta không cần dùng vòng lặp mà có thể tính:
k = math.ceil(q/p)
Hoặc dùng công thức sau để tránh phép chia số thực:
k= (q + p -1)//p
……………..
HOẠT ĐỘNG LUYỆN TẬP
Từ nội dung bài học,GV yêu cầu HS luyện tập làm bài:
Câu 1: Công cụ Debug dùng để:
- A. Chạy chương trình.
- B. Lưu chương trình.
- C. Mở chương trình.
- D. Gỡ lỗi.
Câu 2: Đâu là mô tả đúng về lỗi ngữ nghĩa?
- A. lỗi câu lệnh viết không theo đúng quy định của ngôn ngữ lập trình.
- B. lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện được. Lỗi này sẽ được thông báo ngay trên màn hình.
- C. lỗi mặc dù các câu lệnh viết đúng quy định của ngôn ngữ nhưng sai trong thao tác xử lí nào đó.
- D. Đáp án khác.
Câu 3: Có mấy loại lỗi khi lập trình?
- A. 1
- B. 2
- C. 3
- D. 4
Câu 4: Để kiểm thử những trường hợp thường gặp trong thực tế ta chọn bộ dữ liệu như thế nào?
- A. Có kích thước đủ nhỏ.
- B. Có kích thước lớn.
- C. Có kích thước lớn nhất có thể.
- D. Có kích thước bất kì.
Câu 5: Hệ thống sẽ báo lỗi nào trong các lỗi sau?
- A. Lỗi cú pháp
- B. Lỗi ngoại lệ (Exceptions Error)
- C. Lỗi ngữ nghĩa
- D. Cả A và B
Sản phẩm dự kiến:
Câu 1 - D | Câu 2 - C | Câu 3 -C | Câu 4 -A | Câu 5 -D |
HOẠT ĐỘNG VẬN DỤNG
Vận dụng kiến thức, GV yêu cầu HS trả lời câu hỏi:
Câu 1: Nếu chương trình chạy bị lỗi với thông báo lỗi là ZeroDivisionError thì đó là lỗi gì và em cần sửa lỗi như thế nào? Chọn phương án đúng nhất.
Câu 2: Điểm dừng (breakpoint) trong các phần mềm soạn thảo lập trình có ý nghĩa gì?
Trên chỉ là 1 phần của giáo án. Giáo án khi tải về có đầy đủ nội dung của bài. Đủ nội dung của học kì I + học kì II
Hệ thống có đầy đủ các tài liệu:
- Giáo án word (350k)
- Giáo án Powerpoint (400k)
- Trắc nghiệm theo cấu trúc mới (200k)
- Đề thi cấu trúc mới: ma trận, đáp án, thang điểm..(200k)
- Phiếu trắc nghiệm câu trả lời ngắn (200k)
- Trắc nghiệm đúng sai (250k)
- Lý thuyết bài học và kiến thức trọng tâm (200k)
- File word giải bài tập sgk (150k)
- Phiếu bài tập để học sinh luyện kiến thức (200k)
- ....
Có thể chọn nâng cấp lên VIP đê tải tất cả ở tài liệu trên
- Phí nâng cấp VIP: 800k
=> Chỉ gửi 450k. Tải về dùng thực tế. Nếu hài lòng, 1 ngày sau mới gửi phí còn lại
Cách nâng cấp:
- Bước 1: Chuyển phí vào STK: 1214136868686 - cty Fidutech - MB(QR)
- Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận tài liệu
Xem toàn bộ: Trọn bộ giáo án và PPT Tin học 10 cánh diều
TIN HỌC 10 KẾT NỐI TRI THỨC
Giáo án chuyên đề Tin học 10 theo định hướng tin học ứng dụng kết nối tri thức
Giáo án chuyên đề Tin học 10 theo định hướng khoa học máy tính kết nối tri thức
Soạn giáo án Tin học 10 kết nối tri thức theo công văn mới nhất
Giáo án tin học 10 kết nối tri thức (bản word)
Giáo án điện tử tin học 10 kết nối tri thức
Giáo án powerpoint tin học 10 kết nối tri thức
Đề thi tin học 10 kết nối tri thức
Trắc nghiệm tin học 10 kết nối tri thức
TIN HỌC 10 CÁNH DIỀU
Giáo án chuyên đề Tin học 10 theo định hướng khoa học máy tính 10 cánh diều
Giáo án chuyên đề Tin học 10 theo định hướng tin học ứng dụng cánh diều
Soạn giáo án Tin học 10 cánh diều theo công văn mới nhất
Giáo án tin học 10 cánh diều (bản word)
Giáo án điện tử tin học 10 cánh diều
Giáo án powerpoint tin học 10 cánh diều
Đề thi tin học 10 cánh diều
Trắc nghiệm tin học 10 cánh diều