1 of 19

2 of 19

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à số nguyên tố và cũng không là hợp số.

Nhiệm vụ 1.

3 of 19

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=p1x p1x….x pk

4 of 19

5 of 19

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:

6 of 19

7 of 19

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:

8 of 19

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: ax2 + bx + c = 0.

Chương trình cần xét đầy đủ các trường hợp xảy ra.

9 of 19

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 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.

10 of 19

Chương trình được thiết kế thông qua các hàm sau:

  • NhapDL(): hàm nhập 3 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.

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 giố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.

11 of 19

Chú ý: Cấu trúc if... elif...else có thể lồng nhau nhiều lần.

12 of 19

13 of 19

14 of 19

1. Viết chương trình yêu cầu nhập số thực dương a. Chương trình cần kiểm tra dữ liệu nhập như sau: Nếu số đã nhập nhỏ hơn hoặc bằng 0 thì thông báo: “Nhập sai, số a phải lớn hơn 0. Nhập lại”. Chương trình chỉ dừng sau khi người dùng nhập đúng.

2. Viết chương trình in bảng cửu chương ra màn hình như sau:

- Hàng thứ nhất in ra bảng nhân 1, 2, 3, 4, 5

- Hàng thứ hai in ra bảng nhân 6, 7, 8, 9, 10

15 of 19

1.

16 of 19

2.

17 of 19

Nhiệm vụ 1

Nhiệm vụ 2

Luyện tập

18 of 19

1. Làm phần VẬN DỤNG (SGK trang 152)

2. Xem trước bài 32 (SGK trang 153)

Ôn tập lập trình Python

19 of 19

Các em làm 10 câu hỏi trắc nghiệm Online để củng cố bài.

1. Đăng nhập vào trang thaycai.net

2. Nháy chuột vào Học Online

3. Nháy chuột vào 2. Ôn bài vui nhộn tin học 10 – sách Kết nối tri thức

4. Nháy chuột vào 31. Trắc nghiệm: Bài 31-Thực hành viết chương trình đơn giản.