HƯỚNG DẪN GIẢI ĐỀ CƯƠNG ÔN TẬP GIỮA KÌ II – PHẦN TỰ LUẬN – KHỐI 10

Câu 1: So dấu

# Câu 1: So dấu
# Khai báo biến A, B là 2 số nguyên nhập vào từ bàn phím.
A = int(input("Nhập số nguyên A: "))
B = int(input("Nhập số nguyên B: "))
# Nếu A và B cùng lớn hơn hoặc bằng 0 ; Nếu A và B cùng nhỏ hơn 0
# Thì 2 số A và B là cùng dấu
if (A>=0 and B>=0) or (A<0 and B<0): 
        print("Hai số nguyên",A,B,"là cùng dấu")
# Ngược lại: Trường hợp sẽ là số A>=0, B<0 hoặc A<0, B>=0 --> 2 số trái dấu
else: 
        print("Hai số nguyên",A,B,"là trái dấu")

Câu 2: Tính giai thừa

# Câu 2: Tính giai thừa n!
# Khai báo biến A, B là 2 số nguyên nhập vào từ bàn phím.
n = int(input("Nhập số nguyên n: "))
# Khởi tạo biến giai thừa. Nếu không khởi tạo biến giai thừa thì
# trong vòng for có sử dụng biến giai thừa chương trình sẽ báo lỗi vì
# chưa được khai báo biến.
gt=1 # Khởi tạo biến gt=1 vì nếu khởi tạo=0 thì trong phép nhân kết quả
# cuối cùng sẽ bằng 0. Ban đầu gt=1 thì mọi số nhân với 1 cũng là chính nó
# không làm thay đổi kết quả đầu ra của bài toán.
# Và 0!=1, 1!=1, khi khai báo gt ban đầu =1 thì nhập số nguyên n=0 hay n=1
# đều cho ra kết quả giai thừa =1, đúng với yêu cầu của phép tính giai thừa.
for i in range (1,n+1): # Cho biến i chạy từ 1 đến n+1 (dừng tại n)
#nếu biến i là 0 thì phép nhân với 0 sẽ =0, đã nêu ra ở phía trên.
    gt=gt*i # thực hiện duyệt các phần tử i, mỗi lần duyệt sẽ được nhân vào
    # biến gt để nhân dồn các giá trị lại. n!=n*(n-1)*(n-2)*...*2*1
    # đối với gt=gt*i thì sẽ nhân ngược lại n!=1*2*...(n-2)*(n-1)*n
    # n-1: để dừng phép lặp tại n.
print(gt) # In ra kết quả của giai thừa n!.
# Khi test code các bạn nhớ xoá hết phần ghi chú 
# để nhìn chương trình thuận lợi hơn.

Câu 3: Voi ham ăn

# Câu 3: Voi ham ăn.
'''
Ví dụ: Ban đầu gấu E nặng 4kg, gấu A nặng 7kg. Sau mỗi năm GauE tăng 3kg,
GauA tăng 2kg. Sau 1 năm trọng lượng sẽ là: GauE = 4*3 = 12 và GauA = 7*2 = 14. 
Vậy sau 1 năm trọng lượng GauE < GauA.
Năm thứ 2: GauE = 4*3*3 = 36 | GauA = 7*2*2 =28 | Khi này TL của GauE > GauA
--> Sau 2 năm Gấu Em nặng hơn gấu Anh.
Do vậy, ta chỉ cần nhân trọng lượng của Gấu Em với 3 và Gấu Anh với 2
Đến khi nào GauE > GauA thì kết thúc vòng lặp, dừng chương trình.

'''
GauE = int(input("Nhập trọng lượng ban đầu của gấu Em: "))
GauA = int(input("Nhập trọng lượng ban đầu của gấu Anh: "))
# Gán biến năm ban đầu bằng 0.
nam  = 0
# Kiểm tra điều kiện lặp. Dừng vòng lặp đến khi nào GauE > GauA
while GauE<=GauA: # Vòng lặp đến khi nào điều kiện sai thì dừng lại.
    # Nghĩa là khi nào Gấu Anh vẫn nặng hơn hoặc nặng bằng Gấu Em thì
    # tiếp tục thực hiện lặp. Gấu E > Gấu A mới dừng.
    GauE = GauE * 3 # Sau mỗi năm Gấu E tăng 3kg
    GauA = GauA * 2 # Sau mỗi năm Gấu A tăng 2kg
    # Sau mỗi năm tăng biến năm lên 1.
    nam  = nam + 1
# In kết quả là năm mà Gấu Em nặng hơn Gấu Anh.
print("Thời gian mà Gấu Em nặng hơn Gấu Anh là:",nam,"năm.")

Câu 4: Tính tổng giai thừa

# Tính tổng giai thừa:
# Sử dụng lại code tính giai thừa của câu 2 để tính giai thừa
n = int(input("Nhập số nguyên n: "))
gt=1
tong_gt=0
for i in range (1,n+1):
    gt=gt*i
    # Sau khi tính được giai thừa thì cộng dồn các kết quả giai thừa lại.
    tong_gt=tong_gt+gt
# In ra kết quả của n!
print(n,"! =",gt)
# In ra kết quả của tổng các giá trị của n!
print("Tổng giai thừa của",n,"là:",tong_gt)

Câu 5: Số hoàn hảo (Chương trình con)

# Viết chương trình con cho Số hoàn hảo.
# Thực hiện tìm số hoàn hảo là số có tổng các ước của n bằng 2 lần giá trị của n.
# Ví dụ: Số 6 có các ước: 1,2,3 và 6, tổng các ước này bằng 12 và bằng 2n.
# Đưa vào số cần tìm xem có hoàn hảo không.
n=int(input("Nhập vào số n: "))
def sohoanhao(n):
    # Vì xét đến cả giá trị của n (n có ước là n) 
    # nên biến stop dừng lại ở n-1
    # Khởi tạo biến tổng ước để khi có ước ta cộng dồn ước lại xem có bằng 2n ko
    tong_uoc=0
    for i in range(1,n+1):
        # Nếu n chia lấy dư cho i được 0 thì i chính là ước của n.
        # (Ước của n là số khi n chia hết cho ước)
        if n%i==0: tong_uoc=tong_uoc+i
    # Khi tổng các ước = 2 lần n thì nó là số hoàn hảo, ngược lại thì không.
    if tong_uoc==2*n: print(n,"là số hoàn hảo.")
    else: print(n,"không phải là số hoàn hảo.")
# Lời gọi hàm tìm số hoàn hảo.
sohoanhao(n)

You may also like...

0 0 đánh giá
Đánh giá bài viết
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Bạn hãy viết bình luận cho nội dung này !x