32.6. 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...
Câu hỏi:
32.6. 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.
Nhập thời gian theo khuôn dạng ngày - tháng - năm (ví dụ 8-10-2021). Tính giá trị của ngày này theo cách lưu trữ của phần mềm bảng tính điện tử.
Câu trả lời:
Người trả lời: GV. Đỗ Thị Huy
Để giải câu hỏi trên, bạn cần thực hiện các bước sau:1. Định nghĩa một số hàm để xử lý ngày tháng như nhận biết năm nhuận, tính số ngày trong năm, kiểm tra tính hợp lệ của ngày tháng.2. Viết hàm tính số ngày của mỗi tháng trong năm, hàm tính ngày của một ngày trong năm, và hàm tính số ngày từ đầu năm đến ngày cần tìm.3. Trong chương trình chính, nhập ngày tháng năm từ người dùng, phân tích chuỗi để lấy ra ngày, tháng và năm.4. Tính số ngày từ đầu năm đến ngày cần tìm và in ra kết quả.Ví dụ câu trả lời chi tiết hơn cho câu hỏi trên:```python# Định nghĩa các hàm xử lý ngày thángmonth = [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 Falsedef day_of_year(year): if nhuan(year): return 366 else: return 365def valid_date(year, month, day): if nhuan(year): month[1] = 29 if month < 1 or month > 12: return False if day < 1 or day > month[month-1]: return False return Truedef day_month(year, month, day): if nhuan(year): month[1] = 29 total_days = 0 for i in range(month-1): total_days += month[i] total_days += day return total_daysdef day_year(year, day): total_days = 0 for k in range(1900, year): total_days += day_of_year(k) total_days += day return total_days# Chương trình chínhdate_input = input("Nhập ngày - tháng - năm (dd-mm-yyyy): ")date_components = date_input.split("-")day, month, year = int(date_components[0]), int(date_components[1]), int(date_components[2])if valid_date(year, month, day): day_count = day_month(year, month, day) total_days = day_year(year, day_count) print("Giá trị của ngày này theo cách lưu trữ trong bảng tính điện tử là:", total_days)else: print("Ngày tháng năm không hợp lệ.")```Đây là một cách giải câu hỏi dựa trên việc kiểm tra tính hợp lệ của ngày tháng và tính toán số ngày từ ngày 1-1-1990 đến ngày cần tìm. Bạn có thể tham khảo và thử chạy chương trình trên để hiểu rõ hơn về cách giải quyết vấn đề này.
Câu hỏi liên quan:
- 32.1. Em hãy viết chương trình nhập một họ tên đầy đủ từ bàn phím, ví dụ "Nguyễn Thị Mai Hương",...
- 32.2. Nhà nước quản lí lượng tiêu thụ điện được thống kê theo tháng. Tháng được gọi là đột biến nếu...
- 32.3. Bài toán đếm số lần lặp của một mẫu xâu trong xâu gốc như sau: Cho trước xâu gốc S và một xâu...
- 32.4. Cho trước dãy số. Yêu cầu cần tìm ra một dãy con liên tục có độ dài lớn nhất bao gồm các số...
- 32.5. Trong các phần mềm bảng tính đện tử, dữ liệu ngày tháng được coi là số ngày tính từ ngày...
- 32.7. Viết chương trình nhập số n, sau đó nhập danh sách học sinh trong lớp với đầy đủ họ, đệm,...
- 32.8. Mở rộng bài tập trên 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ọ...
- 32.9. 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 căn bậc hai của n....
- 32.10. Bài toán mô tả đường bay của hòn đá khi được ném lên.Viết chương trình mô tả bài toán chuyển...
Bình luận (0)