magicfile icon وبسایت فایل سحرآمیز - magicfile.ir

تگ های موضوع نمونه سورس کد تقویم شمسی

نمونه سورس کد تقویم شمسی



در دنیای برنامه‌نویسی، ایجاد یک تقویم شمسی به عنوان یک پروژه جالب و مفید به شمار می‌آید. این پروژه می‌تواند به زبان‌های مختلفی نوشته شود، اما در اینجا به بررسی یک نمونه سورس کد تقویم شمسی به زبان پایتون می‌پردازیم.

مقدمه


تقویم شمسی، همچنین به عنوان تقویم هجری شمسی یا تقویم ایرانی شناخته می‌شود. این تقویم شامل ۱۲ ماه است و هر ماه بین ۲۹ تا ۳۱ روز دارد. یکی از چالش‌های اصلی در پیاده‌سازی این تقویم، تبدیل تاریخ‌های میلادی به شمسی و بالعکس است.

کد منبع


```python
from datetime import datetime, timedelta
def gregorian_to_jalali(g_year, g_month, g_day):
# محاسبه تاریخ شمسی
g_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
j_year = g_year - 621
if g_month > 2:
j_day = g_day + sum(g_days_in_month[:g_month - 1]) - 79
if j_day > 186:
j_day -= 186
j_month = 7 + (j_day // 31)
j_day = j_day % 31 + 1
else:
j_month = (j_day // 31) + 1
j_day = j_day % 31 + 1
else:
j_day = g_day + sum(g_days_in_month[:g_month - 1]) - 10
j_month = 12 if j_day > 29 else 1
j_day -= 29 if j_month == 12 else 0
return j_year, j_month, j_day
# مثال استفاده
g_year, g_month, g_day = 2023, 10, 1
jalali_date = gregorian_to_jalali(g_year, g_month, g_day)
print(f"تاریخ شمسی: {jalali_date[0]}/{jalali_date[1]}/{jalali_date[2]}")
```

توضیحات کد


در این کد، تابع `gregorian_to_jalali` برای تبدیل تاریخ میلادی به شمسی طراحی شده است. در ابتدا، سال، ماه و روز میلادی به عنوان ورودی گرفته می‌شود. سپس بر اساس قوانین تبدیل، سال، ماه و روز معادل شمسی محاسبه می‌شود.

نکات کلیدی


- تاریخ هجری شمسی: هر سال شمسی شامل ۱۲ ماه است که در ۳ ماه اول ۳۱ روز و در ۴ ماه بعدی ۳۰ روز دارد.
- محاسبات دقیق: توجه به روزهای کبیسه میلادی و شمسی بسیار مهم است.
- توسعه و بهبود: می‌توان این کد را با افزودن امکاناتی چون تبدیل تاریخ شمسی به میلادی یا نمایش تقویم کامل گسترش داد.

نتیجه‌گیری


ایجاد یک تقویم شمسی نه تنها به تقویت مهارت‌های برنامه‌نویسی کمک می‌کند، بلکه اطلاعات فرهنگی و تاریخی نیز به همراه دارد. این پروژه می‌تواند به عنوان پایه‌ای برای پروژه‌های بزرگتر در نظر گرفته شود.

نمونه سورس کد تقویم شمسی: توضیح جامع و کامل


وقتی به توسعه یک برنامه تقویم شمسی فکر می‌کنید، اولین قدم، درک عمیق ساختار تاریخ‌های ایرانی است. تقویم شمسی، بر اساس سال‌های خورشیدی است، که هر سال حدود ۳۶۵ روز و ۶ ساعت دارد. اما در برنامه‌نویسی، باید این تفاوت‌ها را درنظر گرفت و الگوریتم‌های مناسبی برای تبدیل تاریخ‌ها و نمایش روزهای ماه فراهم کرد.
در نمونه سورس کد، معمولاً از زبان‌های برنامه‌نویسی مانند PHP، Python، یا JavaScript استفاده می‌شود. این کدها به صورت تابع یا کلاس‌هایی طراحی شده‌اند که قادرند تاریخ‌های شمسی را به میلادی و بالعکس تبدیل کنند، و همچنین روزهای هر ماه را بر اساس سال تعیین کنند.
یکی از مهم‌ترین بخش‌ها، محاسبه سال‌های کبیسه است. برای مثال، در تقویم شمسی، سال کبیسه هر 33 سال یک‌بار رخ می‌دهد، مگر در موارد خاص. بنابراین، در سورس کد، باید شرط‌هایی برای تشخیص سال کبیسه قرار داده شود، تا تعداد روزهای هر ماه به درستی محاسبه گردد.
در ادامه، نمونه کد پایه‌ای در زبان Python را می‌بینید که قادر است تاریخ‌های شمسی را نمایش دهد:
```python
import datetime
# یک کلاس برای تقویم شمسی
class SolarCalendar:
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
def is_leap_year(self):
# قوانین کبیسه در تقویم شمسی
if (self.year % 33) in [1, 5, 9, 13, 17, 22, 26, 30]:
return True
return False
def get_month_days(self):
# تعداد روزهای هر ماه
if self.month <= 6:
return 31
elif self.month <= 11:
return 30
elif self.month == 12:
return 29 if not self.is_leap_year() else 30
def display_date(self):
print(f"تاریخ شمسی: {self.year}/{self.month}/{self.day}")
# نمونه استفاده
date = SolarCalendar(1402, 7, 15)
date.display_date()
```
در این نمونه، کلاسی برای مدیریت تاریخ‌های شمسی ساخته شده است. تابع `is_leap_year()` قوانین کبیسه را بررسی می‌کند و تابع `get_month_days()` تعداد روزهای هر ماه را بر اساس وضعیت کبیسه و ماه تعیین می‌نماید.
نکته مهم دیگر، تبدیل تاریخ‌های میلادی به شمسی است که نیازمند الگوریتم‌های پیچیده‌تر است، زیرا باید معادلات دقیق برای تبدیل تاریخ رعایت شود تا دقت حفظ گردد. برای این کار، معمولاً از کتابخانه‌هایی مانند `Jalali` در Python یا کتابخانه‌های مشابه در زبان‌های دیگر استفاده می‌شود.
در کل، یک سورس کامل شامل این موارد است:
- محاسبه تاریخ‌های کبیسه و ماه‌ها
- تبدیل تاریخ‌های میلادی به شمسی و برعکس
- نمایش روزهای هر ماه
- قابلیت افزودن و حذف رویدادهای روزانه در تقویم
در نتیجه، طراحی و توسعه چنین سورس کدی نیازمند دانش عمیق درباره ساختار تقویم ایرانی، الگوریتم‌های تبدیل تاریخ، و مهارت‌های برنامه‌نویسی است. این توضیح تنها یک نمونه اولیه است و در پروژه‌های واقعی، باید این کدها با توجه به نیازهای خاص بهبود و توسعه یابند.
مشاهده بيشتر

لیست فایل های ویژه وبسایت

دانلود-دیتابیس-تقویم-1404-در-اکسل

دانلود دیتابیس تقویم 1404 در اکسل


بهترین-سرویس-پوش-نوتیفیکیشن-(Web-Push-Notification)-اسکریپت-مدیریت-اعلان-و-ساخت-پوش-نوتیفیکیشن-سایت-و-ارسال-پوش-از-طریق-php

بهترین سرویس پوش نوتیفیکیشن (Web Push Notification) اسکریپت مدیریت اعلان و ساخت پوش نوتیفیکیشن سایت و ارسال پوش از طریق php


نرم-افزار-تغییر-زبان-سورس-کد-ویژوال-استودیو-(عناصر-دیزاین-طراحی-فرم-ها)

نرم افزار تغییر زبان سورس کد ویژوال استودیو (عناصر دیزاین طراحی فرم ها)


دانلود-نرم-افزار-تبدیل-txt-به-vcf-:-برنامه-تبدیل-فایل-متنی-تکست-txt-به-وی‌سی‌اف-vcf-(Virtual-Contact-File-مخاطب-موبایل)

دانلود نرم افزار تبدیل txt به vcf : برنامه تبدیل فایل متنی تکست txt به وی‌سی‌اف vcf (Virtual Contact File مخاطب موبایل)


نرم-افزار-ترجمه-خودکار-فایل-های-po-,-pot-بصورت-کامل-برای-تمامی-زبان-ها-از-جمله-فارسی

نرم افزار ترجمه خودکار فایل های po , pot بصورت کامل برای تمامی زبان ها از جمله فارسی


تعداد فایل های دانلود شده

41908+

آخرین بروز رسانی در سایت

1404/6/26

قدمت سایت فایل سحرآمیز

+8 سال

تعداد محصولات برای دانلود

2718+

دانلود فایل
🛒 چطور فایل را انتخاب و به سبد دانلود اضافه کنم؟
📖 نحوه دانلود کردن فایل از سایت
🗂️ آیا فایل‌ها با پسوند zip یا rar هستند؟
🔐 آیا فایل‌ها رمز عبور دارند؟
▶️ آیا بعد از دانلود می‌توانم فایل‌ها را اجرا کنم؟
📜 قوانین کلی سایت برای دانلود فایل‌ها چیست؟
📥 بعد از دانلود فایل
❗ اگر پرداخت موفق بود ولی نتوانستم دانلود کنم؟
🔄 چگونه لینک دانلود را بازیابی کنم؟
👤 آیا می‌توانم از حساب کاربری دانلود کنم؟
🔢 محدودیت دانلود هر فایل چند بار است؟
⏳ لینک دانلود تا چند روز فعال است؟
📧 اگر ایمیل اشتباه وارد کنم چه می‌شود؟
💳 مشکل پرداخت
🌐 اگر هنگام وصل شدن به درگاه مشکل داشتم؟
🔁 آیا درگاه پرداخت دوم وجود دارد؟
🚫 اگر پرداخت ناموفق بود چه کنم؟
💸 آیا مبلغ پرداخت شده قابل بازگشت است؟
📂 خراب بودن فایل
🧪 آیا فایل‌ها قبل از ارسال تست می‌شوند؟
❌ اگر فایل بعد از دانلود خراب بود؟
🕒 آیا پشتیبانی پس از 3 روز وجود دارد؟
🗃️ نحوه باز کردن فایل
📦 فایل‌ها به چه صورت فشرده هستند؟
🔑 آیا فایل‌ها پسورد دارند؟
🧰 با چه نرم‌افزاری فایل‌ها را باز کنم؟
🛠️ آیا فایل‌ها قابلیت ترمیم دارند؟
✏️ درخواست ویرایش فایل
🧑‍💻 آیا سایت پشتیبانی برای ویرایش دارد؟
🔄 اگر نیاز به تغییر فایل داشتم؟
📩 آیا درخواست‌های ویرایش پاسخ داده می‌شود؟
💰 مالی
↩️ آیا امکان برگشت وجه وجود دارد؟
📃 قوانین بازگشت مبلغ چگونه است؟
💼 آیا مبلغ شامل هزینه پشتیبانی می‌شود؟
🛠️ فنی
🎓 آیا پشتیبانی شامل آموزش نصب می‌شود؟
⏱️ زمان پاسخگویی پشتیبانی چقدر است؟
⚠️ اگر کاربر ادب را رعایت نکند؟
📌 چه مواردی شامل پشتیبانی نمی‌شوند؟
🧾 آیا اطلاعات کاربران ممکن است تغییر کند؟
🚀 نحوه اجرای فایل‌ها
🐘 نحوه اجرای فایل‌های PHP
💻 نحوه اجرای فایل‌های VB.NET و C#
📱 نحوه اجرای سورس‌کدهای B4A
📊 نحوه اجرای فایل‌های Excel
📁 نحوه اجرای فایل‌های Access
🗄️ نحوه اجرای فایل‌های SQL
🌐 نحوه اجرای سورس‌کدهای HTML/CSS/JS
📄 نحوه اجرای فایل‌های متنی و PDF

راهنمایی 🎧 پشتیبانی سایت MagicFile.ir

👋 سلام و وقت بخیر!

به سامانه 🎧 راهنمایی سایت MagicFile.ir خوش آمدید! 🌟
اینجا می‌تونید به‌راحتی پاسخ سوالات خودتون رو پیدا کنید، یا اگر مشکلی در دانلود، پرداخت دارید، براحتی از بین گزینه ها مشکل خود را انتخاب کنید تا توضیحات را دریافت نمایید! 🧑‍💻💡

از منوی سمت راست می‌تونید دسته‌بندی‌های مختلف سوالات متداول 📚 رو ببینید و فقط با یک کلیک پاسخ‌هاشون رو مشاهده کنید.

اگر سوالی دارید، همین حالا بپرسید! 😊

📞 برای دریافت کمک مستقیم، به پشتیبانی سایت مراجعه کنید.
هم‌اکنون