Bài 31. Thực hành viết chương trình đơn giản
Tài liệu bài học
Phiếu thực hành và trắc nghiệm làm trực tuyến · phiếu học tập sẽ bổ sung sau.
Xem nguyên văn trang sách của bài 31. Thực hành viết chương trình đơn giản ngay dưới đây.
Xem ngay Slide bài giảngBài trình chiếu đã dạy trên lớp (PowerPoint).
Mở Drive Phiếu học tậpTrắc nghiệm luyện tập của bài — làm tại chỗ, không tính điểm.
Luyện tập ngay Phiếu thực hànhNhập trực tiếp trên web — nộp xong chờ giáo viên duyệt điểm.
Làm ngay Trắc nghiệm12 câu ôn tập bài 31. Thực hành viết chương trình đơn giản — có tính điểm.
Làm ngayTHỰC HÀNH
SAU BÀI NÀY EM SẼ:
Nhiệm vụ 1. 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 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 × p2 × ... × pk.
phantichnt.py
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:
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:</code></pre>
k m n NT Kết thúc 2 100 100 [2] 2 50 100 [2, 2] 5 25 100 [2, 2, 5] 5 5 100 [2, 2, 5, 5] 100 = 2 × 2 × 5 × 5
Nhiệm vụ 2. 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: ax^2 + 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:
Chương trình được thiết kế thông qua các hàm sau:
Trong bài thực hành chúng ta sử dụng cấu trúc mở rộng của 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.
if <điều kiện 1>: if <điều kiện 1>: <nhóm lệnh 1> <nhóm lệnh 1> else: elif <điều kiện 2>: if <điều kiện 2>: <nhóm lệnh 2> <nhóm lệnh 2> else: else: <nhóm lệnh 3> <nhóm lệnh 3> Chú ý: Cấu trúc if elif else có thể lồng nhau nhiều lần. Chương trình đầy đủ như sau:
giaipt.py
def GiaiPT2(a,b,c): if 2 0: GiaiPT1(b,c) else: delta b*b 4*a*c if delta X1 (-b sqrt(delta))/(2*a) x2 (-b sqrt(delta))/(2*a) print( "Phương trình có hai nghiệm khác biệt" print( X1 round(xl,1) , "x2 round(x2,1) ) elif delta 0: (-b (2*a)) print("Phương trình có nghiệm kép print("xl,2 round(x,1) ) else: print( "Phương trình vô ệm" Chương trình chính a,b,c NhapDL ( )
GiaiPT2(a,b,c)
LUYỆN TẬP
VẬN DỤNG



