Microsoft Word Document1 Luyện tập Luyện tập trang 155 Tin học 10 Viết chương trình nhập số n, sau đó nhập danh sách tên học sinh với họ, đệm, tên Sắp xếp tên học sinh trong lớp theo bảng chữ cái Đưa[.]
Trang 1Luyện tập
Luyện tập trang 155 Tin học 10: Viết chương trình nhập số n, sau đó nhập danh sách tên học sinh với họ, đệm, tên Sắp xếp tên học sinh trong lớp theo bảng chữ cái Đưa kết quả ra màn hình
Trả lời:
def Nhap_danh_sach_ten():
list_name = []
n = int(input("Nhap vao so luong ten: n = "))
print("Nhap vao danh sach cac ten gom ho,dem, ten:")
for i in range(n):
print("\tSo thu tu ", i+1, ":", sep="", end=" ")
list_name.append(input())
return list_name
def Sap_xep_Abc(lst):
for i in range(len(lst) - 1):
for j in range(i + 1, len(lst)):
if lst[i] > lst[j]:
lst[i], lst[j] = lst[j], lst[i]
# Chuong trinh chinh
lst = Nhap_danh_sach_ten()
# Hien thi
print("Danh sach vua nhap la:")
for i in range(len(lst)):
print("\t", lst[i], end=" ")
# Sap xep tang dan
Sap_xep_Abc(lst)
print("\nDanh sach sau khi sap xep la:")
for i in range(len(lst)):
print("\t", lst[i], end=" ")
Vận dụng
Trang 2Vận dụng 1 trang 155 Tin học 10: Trong các phần mềm bảng tính điện tử, dữ liệu ngày tháng được coi là số ngày tính từ ngày 1-1-1990 Viết chương trình:
- Nhập số tự nhiên n từ màn phím và tính xem số đó ứng với ngày, tháng, năm nào
- Nhập thời gian theo khuôn dạng ngày-tháng-năm (ví dụ: 8-10-2021), tính số ngày ứng với ngày này theo phần mềm bảng tính điện tử
Trả lời:
import datetime
str1= "1/1/1990"
d1 = datetime.datetime.strptime(str1, "%y/%m/%d")
print(d1)
d2 = datetime.datetime.strptime(str2, "%y/%m/%d")
print(d2)
n = int(input("Nhap vao so tu nhien: n = "))
print(d1 + datetime.timedelta(days=n))
print((d2-d1).days)
Vận dụng 2 trang 155 Tin học 10: Mở rộng bài tập trong phần luyện tập như sau:
- Việc sắp xếp thứ tự phải ưu tiên tính theo tên trước, rồi đến họ, rồi đến đệm
- Sắp xếp theo thứ tự của bảng chữ cái tiếng Việt
Trả lời:
def Nhap_danh_sach_ten():
list_name = []
hodem=[]
n = int(input("Nhap vao so luong ten: n = "))
print("Nhap vao danh sach cac ten gom ho,dem, ten:")
for i in range(n):
print("\tSo thu tu ", i+1, ":", sep="", end=" ")
Trang 3list_name.append(input())
hodem.append(input())
return list_name
return hodem
def Sap_xep_Abc(lst):
if
for i in range(len(lst) - 1):
for j in range(i + 1, len(lst)):
if lst[i] > lst[j]:
lst[i], lst[j] = lst[j], lst[i]
return list_name
els return hodem
# Chuong trinh chinh
lst = Nhap_danh_sach_ten()
# Hien thi
print("Danh sach vua nhap la:")
for i in range(len(lst)):
print("\t", lst[i], end=" ")
# Sap xep tang dan
Sap_xep_Abc(lst)
print("\nDanh sach sau khi sap xep la:")
for i in range(len(lst)):
print("\t", lst[i], end=" ")
Vận dụng 3 trang 155 Tin học 10: Nếu n là hợp số thì dễ thấy n phải có ước số nguyên tố nhỏ hơn hoặc bằng n Viết chương trình tối ưu hoá hơn nhiệm vụ 1, bài 31, theo cách sau: để tìm ước số nguyên tố nhỏ nhất chỉ cần tìm trong các số
2, 3, …, n Nếu trong dãy trên không tìm thấy ước của n thì kết luận ngay n là nguyên tố
Trả lời:
import math
Trang 4print("Nhập vào số n lớn hơn 1: ")
# Lấy dữ liệu
n = int(input())
flag = True
#Su dung cau truc re nhanh xu ly truong hop n <= 0
if (n < 2):
flag = False
elif (n == 2):
flag = True
elif (n % 2 == 0):
flag = False
else:
#Su dung vong lap for de duyet cac so tu 2 den can bac hai cua n for i in range(2, int(math.sqrt(n))+1):
#Kiem tra tinh chia het
if n % i == 0:
flag == False
break
else:
flag == True
# In kết quả
if flag == True:
print(n, " là số nguyên tố")
else:
print(n, " không phải là số nguyên tố")
Trang 5Hình 1 Chương trình
Hình 2 Kết quả chạy thử