Cùng HOC247 thực hành viết các chương trình đơn giản như kiểm tra số nguyên tố, tìm nghiệm phương trình, ... với Python trong nối dung bài giảng của Bài 31: Thực hành viết chương trình đơn giản dưới đây để có thể củng cố các kiến thức đã học về các cấu trúc, câu lệnh, hàm, ..... Mời các em cùng tham khảo!
Tóm tắt lý thuyết
1.1. Nhiệm vụ 1. Kiểm tra số nguyên tố
Viết chương trình nhập từ bàn phím số tự nhiên n, kiểm tra n có phải là số nguyên tố hay không. Nếu n là hợp số thì in ra kết quả phân tích n thành tích các thừa số nguyên tố. Chú ý số 1 không là nguyên tố và cũng không là hợp số.
Hướng dẫn:
Sử dụng biến danh sách NT để lưu các thừa số nguyên tố của n. Chương trình sẽ thiết lập danh sách NT chì khi n > 1. Kết quả của chương trình sẽ như sau:
- Nếu n = 1 thì danh sách NT sẽ rỗng.
- Nếu n > 1 thì danh sách NT không rỗng. Độ dài danh sách len (NT) sẽ bằng 1 khi và chỉ khi n là số nguyên tố.
- Nếu len(NT) > 1 thì chương trình sẽ in ra khai triển n thành tích các thừa số nguyên tố, khai triển này sẽ có dạng: n = p1 x p1 x ... x pk.
Chương trình trong Python:
Kiểm thử bằng các điểm dừng:
Chạy chương trình với công cụ gỡ lỗi của phần mềm lập trình. Thiết lập một điểm dừng tại dòng 20 của chương trình như sau:
Điểm dừng của chương trình được đặt trước lệnh m = m/k, sau khi k là ước số nguyên tố tiếp theo được phát hiện và đưa vào danh sách NT. Qúa trình gỡ được tiến hành để kiểm tra sự thay đổi các biến n,m, k có đúng theo thuật toán hay không.
Thiết lập bảng theo dõi các giá trị trung gian k, m,n Nt sẽ như sau, giả sử giá trị nhập ban đầu của n = 100:
1.2. Nhiệm vụ 2. Tìm nghiệm của phương trình bậc hai
Viết chương trình nhập từ bàn phím ba số thực a, b, c và tìm nghiệm của phương trình bậc hai: ax2 + bx + c = 0.
Chương trình cần xét đầy đủ các trường hợp xảy ra.
Hướng dẫn:
Với bộ dữ liệu a, b, c đã nhập (là các số thực), chúng ta cần xét đầy đủ các trường hợp sau:
- Nếu a = b = c = 0 phương trình có vô số nghiệm.
- Nếu a = b = 0; c ≠ 0, phương trình vô nghiệm.
- Nếu a = 0; b ≠ 0 phương trình là bậc nhất và có nghiệm duy nhất.
- Nếu a ≠ 0, giải phương trình bậc hai. Nghiệm sẽ phụ thuộc vào giá trị delta = b2 - 4ac. Phương trình vô nghiệm, có một nghiệm kép hoặc hai nghiệm phân biệt phụ thuộc vào giá trị delta là nhỏ hơn 0, bằng 0 hay lớn hơn 0.
Chương trình được thiết kế thông qua các hàm sau:
- NhapDL(): hàm nhập ba số a, b, c từ bàn phím.
- GiaiPT1(b, c): hàm giải phương trình bậc nhất: bx + c = 0.
- GiaiPT2(a, b, c): hàm giải phương trình bậc hai: ax2 + bx + c = 0.
Ta sử dụng cấu trúc mở rộng của các lệnh rẽ nhánh if .... else trong Python khi các lệnh này lồng nhau. Khi đó các lệnh rẽ nhánh lồng nhau trong mô hình bên trái sẽ được viết gọn hơn như mô hình bên phải.
Chú ý: Cấu trúc if ... elif ... else có thể lồng nhau nhiều lần.
Chương trình đầy đủ như sau:
Luyện tập
Qua bài học các em cần nắm được các về:
- Thực hành viết chương trinh đơn giản bằng ngôn ngữ Python.
- Thực hành được các bước gỡ rối chương trình bằng công cụ debug - thiết lập điểm dừng và chạy theo từng lệnh.
2.1. Trắc nghiệm Bài 31 Tin học 10 KNTT
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 10 Kết nối tri thức Chủ đề 5 Bài 31 cực hay có đáp án và lời giải chi tiết.
-
- A. Lệnh for kết hợp với vùng giá trị của lệnh range()
- B. Lệnh append()
- C. Lệnh for .... in
- D. Lệnh len()
-
- A. Khối các câu lệnh chỉ được thực hiện tuy thuộc vào đỉều kiện nào đó là đúng hay sai
- B. Khối lệnh này tương ứng với cấu trúc rẽ nhánh và được thể hiện bằng câu lệnh điều kiện if
- C. Khối các câu lệnh được thực hiện lặp đi lặp lại tuỳ theo điều kiện nào đỏ vẫn còn đúng hay sai
- D. Khối gồm các lệnh được thực hiện theo trình tự từ trên xuống dưới
-
- A. 0 1 2 3 4 5
- B. 1 2 3 4 5
- C. 0 1 2 3 4
- D. 1 2 3 4
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
2.2. Bài tập SGK Bài 31 Tin học 10 KNTT
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 10 Kết nối tri thức Chủ đề 5 Bài 31 để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Luyện tập trang 152 SGK Tin học 10 Kết nối tri thức - KNTT
Vận dụng trang 152 SGK Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.1 trang 63 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.2 trang 63 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.3 trang 64 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.4 trang 64 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.5 trang 65 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.6 trang 65 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.7 trang 65 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.8 trang 65 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.9 trang 65 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 31.10 trang 65 SBT Tin học 10 Kết nối tri thức - KNTT
Hỏi đáp Bài 31 Tin học 10 KNTT
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 10 HỌC247