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

Câu 32.5 trang 66 SBT Tin học 10Trong 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ừ bàn phím và tính xem số đó ứng với ngày, tháng, năm nào.

Trả lời

Hướng dẫn:

Chương trình 1. Nhập số tự nhiên từ bàn phím và tính xem đó là ngày tháng năm nào.

month = [31,28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

def nhuan(year):

if year % 400 == 0 or (year % 4 == 0 and year%100 != 0):

return True

else:

return False

def day_of_year(year):

if nhuan(year):

return 366

else:

return 365

def hople (year, mm, day):

if nhuan(year):

month[1] = 29

if mm < 1 or mm > 12:

return False

if day < 1 or day > month[mm-1]:

return False

return True

def tinh_nam(d):

year = 1900

n_day = day_of_year(year)

day = d

while n_day <= d:

day = d - n_day

year = year + 1

n_day = n_day + day_of_year (year)

if day == 0:

year = year - 1

day = day_of_year(year)

return year, day

def tinh_thang(year, day):

if nhuan(year):

month[1] = 29

mm = 0

n_day = month[mm]

dd = day

while n_day <= day and mm < 11:

dd = day - n_day

mm = mm + 1

n_day = n_day + month[mm]

if dd == 0:

mm = mm - 1

dd = month[mm]

return mm+1, dd

# Chương trình chính

d = int(input("Nhập số ngày tính từ 1/1/1990: "))

year, day = tinh_nam(d)

mm, dd = tinh_thang(year, day)

print("Đó là ngày", dd,"tháng", mm , "năm", year)

Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:

Bài 29: Nhận biết lỗi chương trình

Bài 30: Kiểm thử và gỡ lỗi chương trình

Bài 31: Thực hành: Viết chương trình đơn giản

Bài 32: Ôn tập lập trình Python

Bài 33: Nghề thiết kế đồ họa máy tính

Bài 34: Nghề phát triển phần mềm

Câu hỏi cùng chủ đề

Xem tất cả