فرم و تبدیلها با تیروتیر
۱۵ برنامهٔ کاربردی؛ هر کدام یک فرم ویندوز (عکس واقعی) و یک برنامهٔ کنسولی که واقعاً محاسبه میکند (نمونهٔ اجرا از مفسر تیروتیر ۱٫۱٫۰). تبدیل تاریخ با ۶۱۰ بررسی روی الگوریتم مرجع سنجیده شده است.
۱) GUI در تیروتیر ۱٫۱٫۰ چه میتواند و چه نمیتواند (از سورس)
| دستور | نحو |
|---|---|
| پنجره | پنجره بساز با -عنوان- و ۴۲۰ و ۳۰۰ (عرض و ارتفاع) |
| برچسب / دکمه | برچسب بساز با -متن- · دکمه بساز با -متن- |
| ورودی / متن چندخطی | ورودی بساز · متن چندخطی بساز (بدون آرگومان) |
| چکباکس | چکباکس بساز با -متن- |
| فهرست / منوی انتخاب | لیست بساز با -الف- و -ب- · منوی انتخاب بساز با -الف- و -ب- |
| نوار لغزش | نوار لغزش بساز با ۱۰۰ (بیشینه، از ۰) |
| نمایش / بستن | نمایش پنجره (باید آخر برنامه باشد) · پنجره ببند |
اجرا: tirotir gui فایل.t روی ویندوز یا هر دسکتاپی که Tkinter دارد. در tirotir.toml کلید gui باید true باشد. ویجتها به ترتیب زیر هم چیده میشوند؛ مکاندهی، اندازه و رنگ ویجت قابل تنظیم نیست.
مهمترین محدودیت: در این نسخه callback و رویداد برای دکمهها وجود ندارد و مقدار ورودیها هم قابل خواندن نیست (README رسمی هم همین را میگوید). بنابراین فرم «تبدیل» نمیتواند خودش محاسبه کند. برای همین هر برنامه را در دو لایه نوشتهام: فرم ویندوز (ظاهر، با همین دستورهای واقعی) و برنامهٔ کاربردی کنسول که با چاپ و بخوان واقعاً محاسبه میکند.
۲) آموزش برنامهٔ کاربردی کنسول
چاپ -مقدار:- بگذار س برابر بخوان # دریافت یک خط از کاربر (متن) بگذار عدد برابر به_عدد با س # تبدیل متن به عدد چاپ -دو برابر: - + به_متن با عدد * ۲
اجرا: tirotir run فایل.t. ورودی را با ارقام لاتین یا فارسی بنویسید، اما ممیز اعشار را «.» بزنید (مثل ۲.۵)، چون «٫» را بهعنوان عدد نمیشناسد.
۳) نکتهها و دامهایی که هنگام آزمایش پیدا کردم
- نیمفاصله داخل رشتهها به «_» تبدیل میشود: «سانتیمتر» چاپ میشود «سانتی_متر». پس در متنها بنویسید «سانتیمتر» یا با فاصله (در نام متغیرها مشکلی نیست).
- رشته نمیتواند با فاصله شروع شود:
- روز-بهجای رشته، «منها» تلقی میشود. فاصله را انتهای رشته بگذارید:-روز: -. - فراخوانی تابع دوآرگومانی وسط عبارت بقیهٔ عبارت را میبلعد:
خارج با الف و ب + ۱یعنی «خارج(الف، ب+۱)». در عبارتهای بلند، هر تابع را جدا در یک متغیر بگذارید. - اندیس فهرست باید عدد صحیح باشد:
به_عدداعشاری (مثل ۳٫۰) میدهد، پس تابع کمکی «صحیح» را در برنامهها میبینید. - عدد اعشاری با
چاپمثل3.0نمایش داده میشود؛ تابع «خوب» گرد میکند و «.0» اضافی را میاندازد. ارقام خروجی لاتین است. - جمع متن و عدد خطا میدهد؛ عدد را با
به_متنمتن کنید.تکرار nبا متغیر را بدون «بار» بنویسید. تابع بدون آرگومان قابل فراخوانی نیست. - رشتهٔ خالی
--ممکن نیست.
برنامهها
1. تبدیل طول
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تبدیل طول === 1) متر 2) سانتیمتر 3) میلیمتر 4) کیلومتر 5) اینچ 6) فوت 7) مایل شمارهٔ واحد مبدأ: » 4 شمارهٔ واحد مقصد: » 1 مقدار: » 2.5 کیلومتر: 2.5 متر: 2500
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
بگذار نامها برابر [-متر-، -سانتیمتر-، -میلیمتر-، -کیلومتر-، -اینچ-، -فوت-، -مایل-]
بگذار ضریبها برابر [۱، ۰٫۰۱، ۰٫۰۰۱، ۱۰۰۰، ۰٫۰۲۵۴، ۰٫۳۰۴۸، ۱۶۰۹٫۳۴۴]
چاپ -=== تبدیل طول ===-
بگذار ش برابر ۱
برای و در نامها
بگذار ر برابر به_متن با ش
چاپ ر + -) - + و
بگذار ش برابر ش + ۱
چاپ -شمارهٔ واحد مبدأ:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار الف برابر صحیح با ع
چاپ -شمارهٔ واحد مقصد:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار ب برابر صحیح با ع
چاپ -مقدار:-
بگذار س برابر بخوان
بگذار مقدار برابر به_عدد با س
بگذار تعداد برابر طول با نامها
اگر الف < ۱ یا الف > تعداد یا ب < ۱ یا ب > تعداد
چاپ -شمارهٔ واحد درست نیست.-
وگرنه
بگذار نتیجه برابر مقدار * ضریبها[الف - ۱] / ضریبها[ب - ۱]
بگذار پ برابر خوب با نتیجه
بگذار ت برابر خوب با مقدار
چاپ نامها[الف - ۱] + -: - + ت
چاپ نامها[ب - ۱] + -: - + پ
پنجره بساز با -تبدیل طول- و ۴۲۰ و 358 برچسب بساز با -مقدار- ورودی بساز برچسب بساز با -از واحد- منوی انتخاب بساز با -متر- و -سانتیمتر- و -میلیمتر- و -کیلومتر- و -اینچ- و -فوت- و -مایل- برچسب بساز با -به واحد- منوی انتخاب بساز با -متر- و -سانتیمتر- و -میلیمتر- و -کیلومتر- و -اینچ- و -فوت- و -مایل- دکمه بساز با -تبدیل- نمایش پنجره
2. تبدیل وزن
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تبدیل وزن === 1) کیلوگرم 2) گرم 3) میلیگرم 4) تن 5) پوند 6) اونس شمارهٔ واحد مبدأ: » 5 شمارهٔ واحد مقصد: » 1 مقدار: » 2 پوند: 2 کیلوگرم: 0.907185
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
بگذار نامها برابر [-کیلوگرم-، -گرم-، -میلیگرم-، -تن-، -پوند-، -اونس-]
بگذار ضریبها برابر [۱، ۰٫۰۰۱، ۰٫۰۰۰۰۰۱، ۱۰۰۰، ۰٫۴۵۳۵۹۲۳۷، ۰٫۰۲۸۳۴۹۵۲۳۱۲۵]
چاپ -=== تبدیل وزن ===-
بگذار ش برابر ۱
برای و در نامها
بگذار ر برابر به_متن با ش
چاپ ر + -) - + و
بگذار ش برابر ش + ۱
چاپ -شمارهٔ واحد مبدأ:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار الف برابر صحیح با ع
چاپ -شمارهٔ واحد مقصد:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار ب برابر صحیح با ع
چاپ -مقدار:-
بگذار س برابر بخوان
بگذار مقدار برابر به_عدد با س
بگذار تعداد برابر طول با نامها
اگر الف < ۱ یا الف > تعداد یا ب < ۱ یا ب > تعداد
چاپ -شمارهٔ واحد درست نیست.-
وگرنه
بگذار نتیجه برابر مقدار * ضریبها[الف - ۱] / ضریبها[ب - ۱]
بگذار پ برابر خوب با نتیجه
بگذار ت برابر خوب با مقدار
چاپ نامها[الف - ۱] + -: - + ت
چاپ نامها[ب - ۱] + -: - + پ
پنجره بساز با -تبدیل وزن- و ۴۲۰ و 358 برچسب بساز با -مقدار- ورودی بساز برچسب بساز با -از واحد- منوی انتخاب بساز با -کیلوگرم- و -گرم- و -میلیگرم- و -تن- و -پوند- و -اونس- برچسب بساز با -به واحد- منوی انتخاب بساز با -کیلوگرم- و -گرم- و -میلیگرم- و -تن- و -پوند- و -اونس- دکمه بساز با -تبدیل- نمایش پنجره
3. تبدیل حجم
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تبدیل حجم === 1) لیتر 2) میلیلیتر 3) متر مکعب 4) گالن آمریکایی شمارهٔ واحد مبدأ: » 4 شمارهٔ واحد مقصد: » 1 مقدار: » 3 گالن آمریکایی: 3 لیتر: 11.356235
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
بگذار نامها برابر [-لیتر-، -میلیلیتر-، -متر مکعب-، -گالن آمریکایی-]
بگذار ضریبها برابر [۱، ۰٫۰۰۱، ۱۰۰۰، ۳٫۷۸۵۴۱۱۷۸۴]
چاپ -=== تبدیل حجم ===-
بگذار ش برابر ۱
برای و در نامها
بگذار ر برابر به_متن با ش
چاپ ر + -) - + و
بگذار ش برابر ش + ۱
چاپ -شمارهٔ واحد مبدأ:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار الف برابر صحیح با ع
چاپ -شمارهٔ واحد مقصد:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار ب برابر صحیح با ع
چاپ -مقدار:-
بگذار س برابر بخوان
بگذار مقدار برابر به_عدد با س
بگذار تعداد برابر طول با نامها
اگر الف < ۱ یا الف > تعداد یا ب < ۱ یا ب > تعداد
چاپ -شمارهٔ واحد درست نیست.-
وگرنه
بگذار نتیجه برابر مقدار * ضریبها[الف - ۱] / ضریبها[ب - ۱]
بگذار پ برابر خوب با نتیجه
بگذار ت برابر خوب با مقدار
چاپ نامها[الف - ۱] + -: - + ت
چاپ نامها[ب - ۱] + -: - + پ
پنجره بساز با -تبدیل حجم- و ۴۲۰ و 358 برچسب بساز با -مقدار- ورودی بساز برچسب بساز با -از واحد- منوی انتخاب بساز با -لیتر- و -میلیلیتر- و -متر مکعب- و -گالن آمریکایی- برچسب بساز با -به واحد- منوی انتخاب بساز با -لیتر- و -میلیلیتر- و -متر مکعب- و -گالن آمریکایی- دکمه بساز با -تبدیل- نمایش پنجره
4. تبدیل سرعت
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تبدیل سرعت === 1) متر بر ثانیه 2) کیلومتر بر ساعت 3) مایل بر ساعت 4) گره دریایی شمارهٔ واحد مبدأ: » 2 شمارهٔ واحد مقصد: » 1 مقدار: » 90 کیلومتر بر ساعت: 90 متر بر ثانیه: 25
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
بگذار نامها برابر [-متر بر ثانیه-، -کیلومتر بر ساعت-، -مایل بر ساعت-، -گره دریایی-]
بگذار ضریبها برابر [۱، ۰٫۲۷۷۷۷۷۷۷۷۷۷۷۸، ۰٫۴۴۷۰۴، ۰٫۵۱۴۴۴۴۴۴۴۴۴۴۴]
چاپ -=== تبدیل سرعت ===-
بگذار ش برابر ۱
برای و در نامها
بگذار ر برابر به_متن با ش
چاپ ر + -) - + و
بگذار ش برابر ش + ۱
چاپ -شمارهٔ واحد مبدأ:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار الف برابر صحیح با ع
چاپ -شمارهٔ واحد مقصد:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار ب برابر صحیح با ع
چاپ -مقدار:-
بگذار س برابر بخوان
بگذار مقدار برابر به_عدد با س
بگذار تعداد برابر طول با نامها
اگر الف < ۱ یا الف > تعداد یا ب < ۱ یا ب > تعداد
چاپ -شمارهٔ واحد درست نیست.-
وگرنه
بگذار نتیجه برابر مقدار * ضریبها[الف - ۱] / ضریبها[ب - ۱]
بگذار پ برابر خوب با نتیجه
بگذار ت برابر خوب با مقدار
چاپ نامها[الف - ۱] + -: - + ت
چاپ نامها[ب - ۱] + -: - + پ
پنجره بساز با -تبدیل سرعت- و ۴۲۰ و 358 برچسب بساز با -مقدار- ورودی بساز برچسب بساز با -از واحد- منوی انتخاب بساز با -متر بر ثانیه- و -کیلومتر بر ساعت- و -مایل بر ساعت- و -گره دریایی- برچسب بساز با -به واحد- منوی انتخاب بساز با -متر بر ثانیه- و -کیلومتر بر ساعت- و -مایل بر ساعت- و -گره دریایی- دکمه بساز با -تبدیل- نمایش پنجره
5. تبدیل حجم داده
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تبدیل حجم داده === 1) بایت 2) کیلوبایت 3) مگابایت 4) گیگابایت 5) ترابایت شمارهٔ واحد مبدأ: » 4 شمارهٔ واحد مقصد: » 3 مقدار: » 2 گیگابایت: 2 مگابایت: 2048
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
بگذار نامها برابر [-بایت-، -کیلوبایت-، -مگابایت-، -گیگابایت-، -ترابایت-]
بگذار ضریبها برابر [۱، ۱۰۲۴، ۱۰۴۸۵۷۶، ۱۰۷۳۷۴۱۸۲۴، ۱۰۹۹۵۱۱۶۲۷۷۷۶]
چاپ -=== تبدیل حجم داده ===-
بگذار ش برابر ۱
برای و در نامها
بگذار ر برابر به_متن با ش
چاپ ر + -) - + و
بگذار ش برابر ش + ۱
چاپ -شمارهٔ واحد مبدأ:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار الف برابر صحیح با ع
چاپ -شمارهٔ واحد مقصد:-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار ب برابر صحیح با ع
چاپ -مقدار:-
بگذار س برابر بخوان
بگذار مقدار برابر به_عدد با س
بگذار تعداد برابر طول با نامها
اگر الف < ۱ یا الف > تعداد یا ب < ۱ یا ب > تعداد
چاپ -شمارهٔ واحد درست نیست.-
وگرنه
بگذار نتیجه برابر مقدار * ضریبها[الف - ۱] / ضریبها[ب - ۱]
بگذار پ برابر خوب با نتیجه
بگذار ت برابر خوب با مقدار
چاپ نامها[الف - ۱] + -: - + ت
چاپ نامها[ب - ۱] + -: - + پ
پنجره بساز با -تبدیل حجم داده- و ۴۲۰ و 358 برچسب بساز با -مقدار- ورودی بساز برچسب بساز با -از واحد- منوی انتخاب بساز با -بایت- و -کیلوبایت- و -مگابایت- و -گیگابایت- و -ترابایت- برچسب بساز با -به واحد- منوی انتخاب بساز با -بایت- و -کیلوبایت- و -مگابایت- و -گیگابایت- و -ترابایت- دکمه بساز با -تبدیل- نمایش پنجره
6. تبدیل دما
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تبدیل دما === ۱) سلسیوس ۲) فارنهایت ۳) کلوین واحد مبدأ: » 1 واحد مقصد: » 2 مقدار: » 100 نتیجه: 212
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
چاپ -=== تبدیل دما ===-
چاپ -۱) سلسیوس ۲) فارنهایت ۳) کلوین-
چاپ -واحد مبدأ:-
بگذار س برابر بخوان
بگذار الف برابر به_عدد با س
چاپ -واحد مقصد:-
بگذار س برابر بخوان
بگذار ب برابر به_عدد با س
چاپ -مقدار:-
بگذار س برابر بخوان
بگذار مقدار برابر به_عدد با س
# ابتدا به سلسیوس تبدیل میکنیم
بگذار سلسیوس برابر مقدار
اگر الف == ۲
بگذار سلسیوس برابر (مقدار - ۳۲) * ۵ / ۹
اگر الف == ۳
بگذار سلسیوس برابر مقدار - ۲۷۳٫۱۵
# سپس از سلسیوس به واحد مقصد
بگذار نتیجه برابر سلسیوس
اگر ب == ۲
بگذار نتیجه برابر سلسیوس * ۹ / ۵ + ۳۲
اگر ب == ۳
بگذار نتیجه برابر سلسیوس + ۲۷۳٫۱۵
چاپ -نتیجه:-
چاپ خوب با نتیجه
پنجره بساز با -تبدیل دما- و ۴۲۰ و 358 برچسب بساز با -مقدار- ورودی بساز برچسب بساز با -از واحد- منوی انتخاب بساز با -سلسیوس- و -فارنهایت- و -کلوین- برچسب بساز با -به واحد- منوی انتخاب بساز با -سلسیوس- و -فارنهایت- و -کلوین- دکمه بساز با -تبدیل- نمایش پنجره
7. تبدیل ثانیه به روز و ساعت و دقیقه
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== ثانیه به روز، ساعت، دقیقه === تعداد ثانیه را وارد کنید: » 200000 روز: 2 ساعت: 7 دقیقه: 33 ثانیه: 20
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
چاپ -=== ثانیه به روز، ساعت، دقیقه ===-
چاپ -تعداد ثانیه را وارد کنید:-
بگذار س برابر بخوان
بگذار کل برابر به_عدد با س
بگذار روز برابر (کل - کل % ۸۶۴۰۰) / ۸۶۴۰۰
بگذار باقی برابر کل % ۸۶۴۰۰
بگذار ساعت برابر (باقی - باقی % ۳۶۰۰) / ۳۶۰۰
بگذار باقی برابر باقی % ۳۶۰۰
بگذار دقیقه برابر (باقی - باقی % ۶۰) / ۶۰
بگذار ثانیه برابر باقی % ۶۰
بگذار الف برابر خوب با روز
بگذار ب برابر خوب با ساعت
بگذار ج برابر خوب با دقیقه
بگذار د برابر خوب با ثانیه
چاپ -روز: - + الف
چاپ -ساعت: - + ب
چاپ -دقیقه: - + ج
چاپ -ثانیه: - + د
پنجره بساز با -تبدیل ثانیه به روز و ساعت و دقیقه- و ۴۲۰ و 222 برچسب بساز با -تعداد ثانیه- ورودی بساز دکمه بساز با -تبدیل- نمایش پنجره
8. تبدیل مبنای عدد
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تبدیل مبنای عدد === یک عدد صحیح نامنفی (دهدهی) وارد کنید: » 255 دودویی: 11111111 هشتتایی: 377 شانزدهتایی: FF
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
بگذار ارقام برابر [-0-، -1-، -2-، -3-، -4-، -5-، -6-، -7-، -8-، -9-، -A-، -B-، -C-، -D-، -E-، -F-]
# عدد صحیح نامنفی را به مبنای دلخواه (۲ تا ۱۶) مینویسد
تابع مبنا با عدد و پایه
اگر عدد == ۰
بازگردان -0-
بگذار متن برابر ارقام[صحیح با عدد % پایه]
بگذار عدد برابر (عدد - عدد % پایه) / پایه
تاوقتی عدد > ۰
بگذار متن برابر ارقام[صحیح با عدد % پایه] + متن
بگذار عدد برابر (عدد - عدد % پایه) / پایه
بازگردان متن
چاپ -=== تبدیل مبنای عدد ===-
چاپ -یک عدد صحیح نامنفی (دهدهی) وارد کنید:-
بگذار س برابر بخوان
بگذار عدد برابر به_عدد با س
چاپ -دودویی: - + مبنا با عدد و ۲
چاپ -هشتتایی: - + مبنا با عدد و ۸
چاپ -شانزدهتایی: - + مبنا با عدد و ۱۶
پنجره بساز با -تبدیل مبنای عدد- و ۴۲۰ و 290 برچسب بساز با -عدد دهدهی- ورودی بساز برچسب بساز با -مبنای مقصد- لیست بساز با -دودویی- و -هشتتایی- و -شانزدهتایی- دکمه بساز با -تبدیل- نمایش پنجره
9. مساحت و محیط
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== مساحت و محیط === ۱) مربع ۲) مستطیل ۳) دایره » 3 شعاع: » 5 مساحت: 78.539816 محیط: 31.415927
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
چاپ -=== مساحت و محیط ===-
چاپ -۱) مربع ۲) مستطیل ۳) دایره-
بگذار س برابر بخوان
بگذار ک برابر به_عدد با س
اگر ک == ۱
چاپ -طول ضلع:-
بگذار س برابر بخوان
بگذار الف برابر به_عدد با س
چاپ -مساحت: - + خوب با الف * الف
چاپ -محیط: - + خوب با ۴ * الف
وگرنه اگر ک == ۲
چاپ -طول:-
بگذار س برابر بخوان
بگذار الف برابر به_عدد با س
چاپ -عرض:-
بگذار س برابر بخوان
بگذار ب برابر به_عدد با س
چاپ -مساحت: - + خوب با الف * ب
چاپ -محیط: - + خوب با ۲ * (الف + ب)
وگرنه اگر ک == ۳
چاپ -شعاع:-
بگذار س برابر بخوان
بگذار ش برابر به_عدد با س
چاپ -مساحت: - + خوب با ۳٫۱۴۱۵۹۲۶۵ * ش * ش
چاپ -محیط: - + خوب با ۲ * ۳٫۱۴۱۵۹۲۶۵ * ش
وگرنه
چاپ -گزینهٔ نامعتبر-
پنجره بساز با -مساحت و محیط- و ۴۲۰ و 358 برچسب بساز با -شکل- منوی انتخاب بساز با -مربع- و -مستطیل- و -دایره- برچسب بساز با -اندازه اول- ورودی بساز برچسب بساز با -اندازه دوم- ورودی بساز دکمه بساز با -محاسبه- نمایش پنجره
10. شاخص توده بدنی (BMI)
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== شاخص توده بدنی === وزن (کیلوگرم): » 70 قد (سانتیمتر): » 175 BMI: 22.857143 وضعیت: طبیعی
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
چاپ -=== شاخص توده بدنی ===-
چاپ -وزن (کیلوگرم):-
بگذار س برابر بخوان
بگذار وزن برابر به_عدد با س
چاپ -قد (سانتیمتر):-
بگذار س برابر بخوان
بگذار قد برابر به_عدد با س
بگذار متر برابر قد / ۱۰۰
بگذار شاخص برابر وزن / (متر * متر)
چاپ -BMI: - + خوب با شاخص
اگر شاخص < ۱۸٫۵
چاپ -وضعیت: کم وزن-
وگرنه اگر شاخص < ۲۵
چاپ -وضعیت: طبیعی-
وگرنه اگر شاخص < ۳۰
چاپ -وضعیت: اضافه وزن-
وگرنه
چاپ -وضعیت: چاقی-
پنجره بساز با -شاخص توده بدنی (BMI)- و ۴۲۰ و 290 برچسب بساز با -وزن (کیلوگرم)- ورودی بساز برچسب بساز با -قد (سانتیمتر)- ورودی بساز دکمه بساز با -محاسبه BMI- نمایش پنجره
11. تخفیف و مالیات
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تخفیف و مالیات === قیمت اصلی: » 1200000 درصد تخفیف: » 15 درصد مالیات: » 10 قیمت پس از تخفیف: 1020000 قیمت نهایی با مالیات: 1122000
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
چاپ -=== تخفیف و مالیات ===-
چاپ -قیمت اصلی:-
بگذار س برابر بخوان
بگذار قیمت برابر به_عدد با س
چاپ -درصد تخفیف:-
بگذار س برابر بخوان
بگذار تخفیف برابر به_عدد با س
چاپ -درصد مالیات:-
بگذار س برابر بخوان
بگذار مالیات برابر به_عدد با س
بگذار بعد برابر قیمت - قیمت * تخفیف / ۱۰۰
بگذار نهایی برابر بعد + بعد * مالیات / ۱۰۰
چاپ -قیمت پس از تخفیف: - + خوب با بعد
چاپ -قیمت نهایی با مالیات: - + خوب با نهایی
پنجره بساز با -تخفیف و مالیات- و ۴۲۰ و 358 برچسب بساز با -قیمت اصلی- ورودی بساز برچسب بساز با -درصد تخفیف- نوار لغزش بساز با ۱۰۰ برچسب بساز با -درصد مالیات- ورودی بساز دکمه بساز با -محاسبه- نمایش پنجره
12. تبدیل ارز با نرخ دلخواه
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== تبدیل ارز === مقدار ارز (مثلاً دلار): » 250 نرخ هر واحد به ریال یا تومان: » 60000 معادل: 15000000
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
# نرخ ارز ثابت نیست؛ نرخ روز را خودتان وارد میکنید
چاپ -=== تبدیل ارز ===-
چاپ -مقدار ارز (مثلاً دلار):-
بگذار س برابر بخوان
بگذار مقدار برابر به_عدد با س
چاپ -نرخ هر واحد به ریال یا تومان:-
بگذار س برابر بخوان
بگذار نرخ برابر به_عدد با س
چاپ -معادل: - + خوب با مقدار * نرخ
پنجره بساز با -تبدیل ارز با نرخ دلخواه- و ۴۲۰ و 290 برچسب بساز با -مقدار ارز- ورودی بساز برچسب بساز با -نرخ هر واحد- ورودی بساز دکمه بساز با -تبدیل- نمایش پنجره
13. ماشین حساب
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== ماشین حساب === عدد اول: » 12 عدد دوم: » 4 عملیات: ۱) جمع ۲) تفریق ۳) ضرب ۴) تقسیم » 4 حاصل: 3
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
چاپ -=== ماشین حساب ===-
چاپ -عدد اول:-
بگذار س برابر بخوان
بگذار الف برابر به_عدد با س
چاپ -عدد دوم:-
بگذار س برابر بخوان
بگذار ب برابر به_عدد با س
چاپ -عملیات: ۱) جمع ۲) تفریق ۳) ضرب ۴) تقسیم-
بگذار س برابر بخوان
بگذار ک برابر به_عدد با س
اگر ک == ۱
چاپ -حاصل: - + خوب با الف + ب
وگرنه اگر ک == ۲
چاپ -حاصل: - + خوب با الف - ب
وگرنه اگر ک == ۳
چاپ -حاصل: - + خوب با الف * ب
وگرنه اگر ک == ۴
اگر ب == ۰
چاپ -تقسیم بر صفر ممکن نیست.-
وگرنه
چاپ -حاصل: - + خوب با الف / ب
وگرنه
چاپ -عملیات نامعتبر-
پنجره بساز با -ماشین حساب- و ۴۲۰ و 358 برچسب بساز با -عدد اول- ورودی بساز برچسب بساز با -عدد دوم- ورودی بساز برچسب بساز با -عملیات- منوی انتخاب بساز با -جمع- و -تفریق- و -ضرب- و -تقسیم- دکمه بساز با -محاسبه- نمایش پنجره
14. تاریخ میلادی به شمسی
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== میلادی به شمسی === سال میلادی: » 2026 ماه (۱ تا ۱۲): » 9 روز: » 28 تاریخ شمسی: 1405/7/6 نام ماه: مهر
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
تابع خارج با الف و ب
بازگردان (الف - الف % ب) / ب
بگذار روزهای_ماه برابر [۰، ۳۱، ۵۹، ۹۰، ۱۲۰، ۱۵۱، ۱۸۱، ۲۱۲، ۲۴۳، ۲۷۳، ۳۰۴، ۳۳۴]
بگذار نام_ماهها برابر [-فروردین-، -اردیبهشت-، -خرداد-، -تیر-، -مرداد-، -شهریور-، -مهر-، -آبان-، -آذر-، -دی-، -بهمن-، -اسفند-]
چاپ -=== میلادی به شمسی ===-
چاپ -سال میلادی:-
بگذار س برابر بخوان
بگذار گس برابر به_عدد با س
چاپ -ماه (۱ تا ۱۲):-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار گم برابر صحیح با ع
چاپ -روز:-
بگذار س برابر بخوان
بگذار گر برابر به_عدد با س
اگر گس > ۱۶۰۰
بگذار جس برابر ۹۷۹
بگذار گس برابر گس - ۱۶۰۰
وگرنه
بگذار جس برابر ۰
بگذار گس برابر گس - ۶۲۱
بگذار گسب برابر گس
اگر گم > ۲
بگذار گسب برابر گس + ۱
بگذار ا برابر خارج با (گسب + ۳) و ۴
بگذار ب برابر خارج با (گسب + ۹۹) و ۱۰۰
بگذار ج برابر خارج با (گسب + ۳۹۹) و ۴۰۰
بگذار روزها برابر ۳۶۵ * گس + ا - ب + ج - ۸۰ + گر + روزهای_ماه[گم - ۱]
بگذار جس برابر جس + ۳۳ * خارج با روزها و ۱۲۰۵۳
بگذار روزها برابر روزها % ۱۲۰۵۳
بگذار جس برابر جس + ۴ * خارج با روزها و ۱۴۶۱
بگذار روزها برابر روزها % ۱۴۶۱
اگر روزها > ۳۶۵
بگذار جس برابر جس + خارج با (روزها - ۱) و ۳۶۵
بگذار روزها برابر (روزها - ۱) % ۳۶۵
اگر روزها < ۱۸۶
بگذار جم برابر ۱ + خارج با روزها و ۳۱
بگذار جر برابر ۱ + روزها % ۳۱
وگرنه
بگذار جم برابر ۷ + خارج با (روزها - ۱۸۶) و ۳۰
بگذار جر برابر ۱ + (روزها - ۱۸۶) % ۳۰
بگذار سال برابر خوب با جس
بگذار ماه برابر خوب با جم
بگذار روز برابر خوب با جر
چاپ -تاریخ شمسی: - + سال + -/- + ماه + -/- + روز
بگذار ن برابر صحیح با جم
چاپ -نام ماه: - + نام_ماهها[ن - ۱]
پنجره بساز با -تاریخ میلادی به شمسی- و ۴۲۰ و 358 برچسب بساز با -سال میلادی- ورودی بساز برچسب بساز با -ماه- ورودی بساز برچسب بساز با -روز- ورودی بساز دکمه بساز با -تبدیل تاریخ- نمایش پنجره
15. تاریخ شمسی به میلادی
فرم ویندوز (عکس واقعی از اجرای Tkinter)
نمونهٔ اجرای برنامهٔ کاربردی (خروجی واقعی مفسر)
=== شمسی به میلادی === سال شمسی: » 1405 ماه (۱ تا ۱۲): » 7 روز: » 6 تاریخ میلادی: 2026/9/28
# ---- توابع کمکی ----
# «صحیح»: عدد اعشاری (مثل ۳٫۰) را به عدد صحیح تبدیل میکند (برای اندیس فهرست)
تابع صحیح با x
بگذار i برابر ۰
تاوقتی i + ۱ <= x
بگذار i برابر i + ۱
بازگردان i
# «خوب»: گرد کردن تا ۶ رقم اعشار و حذف «.0» اضافی از انتهای عدد
تابع خوب با عدد
بگذار ص برابر عدد * ۱۰۰۰۰۰۰ + ۰٫۵
بگذار ص برابر (ص - ص % ۱) / ۱۰۰۰۰۰۰
بگذار م برابر به_متن با ص
بگذار ن برابر طول با م
اگر ن > ۲
اگر م[ن - ۲] == -.- و م[ن - ۱] == -0-
بگذار خ برابر م[۰]
بگذار ک برابر ۱
تاوقتی ک < ن - ۲
بگذار خ برابر خ + م[ک]
بگذار ک برابر ک + ۱
بازگردان خ
بازگردان م
# ---- برنامه ----
تابع خارج با الف و ب
بازگردان (الف - الف % ب) / ب
بگذار روزهای_ماه_میلادی برابر [۰، ۳۱، ۲۸، ۳۱، ۳۰، ۳۱، ۳۰، ۳۱، ۳۱، ۳۰، ۳۱، ۳۰، ۳۱]
چاپ -=== شمسی به میلادی ===-
چاپ -سال شمسی:-
بگذار س برابر بخوان
بگذار جس برابر به_عدد با س
چاپ -ماه (۱ تا ۱۲):-
بگذار س برابر بخوان
بگذار ع برابر به_عدد با س
بگذار جم برابر ع
چاپ -روز:-
بگذار س برابر بخوان
بگذار جر برابر به_عدد با س
بگذار جس برابر جس + ۱۵۹۵
بگذار ا برابر خارج با جس و ۳۳
بگذار ب برابر خارج با (جس % ۳۳ + ۳) و ۴
بگذار روزها برابر ۳۶۵ * جس + ۸ * ا + ب + جر - ۳۵۵۶۶۸
اگر جم < ۷
بگذار روزها برابر روزها + (جم - ۱) * ۳۱
وگرنه
بگذار روزها برابر روزها + (جم - ۷) * ۳۰ + ۱۸۶
بگذار گس برابر ۴۰۰ * خارج با روزها و ۱۴۶۰۹۷
بگذار روزها برابر روزها % ۱۴۶۰۹۷
اگر روزها > ۳۶۵۲۴
بگذار روزها برابر روزها - ۱
بگذار گس برابر گس + ۱۰۰ * خارج با روزها و ۳۶۵۲۴
بگذار روزها برابر روزها % ۳۶۵۲۴
اگر روزها >= ۳۶۵
بگذار روزها برابر روزها + ۱
بگذار گس برابر گس + ۴ * خارج با روزها و ۱۴۶۱
بگذار روزها برابر روزها % ۱۴۶۱
اگر روزها > ۳۶۵
بگذار گس برابر گس + خارج با (روزها - ۱) و ۳۶۵
بگذار روزها برابر (روزها - ۱) % ۳۶۵
بگذار گر برابر روزها + ۱
بگذار کبیسه برابر ۲۸
اگر گس % ۴ == ۰
اگر گس % ۱۰۰ != ۰
بگذار کبیسه برابر ۲۹
اگر گس % ۴۰۰ == ۰
بگذار کبیسه برابر ۲۹
بگذار گم برابر ۱
بگذار پایان برابر ۰
تاوقتی پایان == ۰
بگذار طول_ماه برابر روزهای_ماه_میلادی[گم]
اگر گم == ۲
بگذار طول_ماه برابر کبیسه
اگر گر > طول_ماه
بگذار گر برابر گر - طول_ماه
بگذار گم برابر گم + ۱
وگرنه
بگذار پایان برابر ۱
بگذار الف برابر خوب با گس
بگذار ب برابر خوب با گم
بگذار ج برابر خوب با گر
چاپ -تاریخ میلادی: - + الف + -/- + ب + -/- + ج
پنجره بساز با -تاریخ شمسی به میلادی- و ۴۲۰ و 358 برچسب بساز با -سال شمسی- ورودی بساز برچسب بساز با -ماه- ورودی بساز برچسب بساز با -روز- ورودی بساز دکمه بساز با -تبدیل تاریخ- نمایش پنجره