برج هانوی یکی از مسایل کلاسیک رشته کامپیوتر است و برای حل آن از روش «بازگشتی» استفاده میشود.
در این مساله سه میله داریم که در داخل میلهی اول تعدادی دیسک به ترتیب از پایین به بالا، دیسک بزرگ به دیسک کوچک قرار گرفته است. مانند تصوير بالا.
#برنامهنویسی
#كامپيوتر
#پايتون
🆔@Computeronic
در این مساله سه میله داریم که در داخل میلهی اول تعدادی دیسک به ترتیب از پایین به بالا، دیسک بزرگ به دیسک کوچک قرار گرفته است. مانند تصوير بالا.
#برنامهنویسی
#كامپيوتر
#پايتون
🆔@Computeronic
Computeronic|کامپیوترونیک
برج هانوی یکی از مسایل کلاسیک رشته کامپیوتر است و برای حل آن از روش «بازگشتی» استفاده میشود. در این مساله سه میله داریم که در داخل میلهی اول تعدادی دیسک به ترتیب از پایین به بالا، دیسک بزرگ به دیسک کوچک قرار گرفته است. مانند تصوير بالا. #برنامهنویسی #كامپيوتر…
باید همهی این دیسکها را با استفاده از میلهی دوم به میلهی سوم منتقل کنیم، اما در هیچ مرحلهای نباید دیسک بزرگتر روی دیسک کوچکتر قرار بگیرد. شیوهی حل مساله به روش بازگشتی به صورت زیر است:
• n - 1 دیسک را با استفاده از میلهی سوم به میلهی دوم منتقل میکنیم. (الف)
• دیسک باقیمانده در میلهی اول را به میلهی سوم منتقل میکنیم.
• تعداد n - 1 دیسک از دیسکهای موجود در میلهی دوم (الف) را با استفاده از میلهی سوم به میلهی اول منتقل میکنیم. (ب)
• دیسک باقیمانده در میلهی دوم را به میلهی سوم میبریم.
• تعداد n - 1 دیسک از دیسکهای موجود در میلهی اول (ب) را با استفاده از میلهی سوم به میلهی دوم میبریم.
• دیسک باقیمانده در میلهی اول را به میلهی سوم منتقل میکنیم. (ج)
• [و همین روند را تا زمان حل مساله تکرار میکنیم.]
برای حل مسالهی برج هانوی با n دیسک نیاز به ٢ به توان n منهاي يك جابجایی داریم. یعنی برای 4 دیسک 15 جابجایی انجام میشود.
#پايتون
#برنامهنویسی
🆔@Computeronic
• n - 1 دیسک را با استفاده از میلهی سوم به میلهی دوم منتقل میکنیم. (الف)
• دیسک باقیمانده در میلهی اول را به میلهی سوم منتقل میکنیم.
• تعداد n - 1 دیسک از دیسکهای موجود در میلهی دوم (الف) را با استفاده از میلهی سوم به میلهی اول منتقل میکنیم. (ب)
• دیسک باقیمانده در میلهی دوم را به میلهی سوم میبریم.
• تعداد n - 1 دیسک از دیسکهای موجود در میلهی اول (ب) را با استفاده از میلهی سوم به میلهی دوم میبریم.
• دیسک باقیمانده در میلهی اول را به میلهی سوم منتقل میکنیم. (ج)
• [و همین روند را تا زمان حل مساله تکرار میکنیم.]
برای حل مسالهی برج هانوی با n دیسک نیاز به ٢ به توان n منهاي يك جابجایی داریم. یعنی برای 4 دیسک 15 جابجایی انجام میشود.
#پايتون
#برنامهنویسی
🆔@Computeronic
Computeronic|کامپیوترونیک
باید همهی این دیسکها را با استفاده از میلهی دوم به میلهی سوم منتقل کنیم، اما در هیچ مرحلهای نباید دیسک بزرگتر روی دیسک کوچکتر قرار بگیرد. شیوهی حل مساله به روش بازگشتی به صورت زیر است: • n - 1 دیسک را با استفاده از میلهی سوم به میلهی دوم منتقل میکنیم.…
Honoi_@Computeronic.pdf
1.6 MB
Computeronic|کامپیوترونیک
Honoi_@Computeronic.pdf
🟡🔵تابع هاي برنامه:
برنامه تنها دارای 5 تابع است. یکی از توابع به نام print_program_info اطلاعات مربوط به برنامه و برنامه نویس را در کنسول نمایش میدهد.
تابع hanoi
این تابع مساله را به صورت بازگشتی حل میکند و هر جابجایی را درون لیست m قرار میدهد. هر اندیس لیست m یک لیست دو عنصری است که اندیس اول نشان دهندهی شمارهی میله مبدا و اندیس دوم نشاندهندهی شمارهی میلهی مقصد است.
تابع move
به ازای هر عنصر موجود در متغیر m (که نشاندهندهی کلیهی جابجاییهای لازم برای حل مساله است) که یک لیست به صورت [init, dest] است، دیسک را از میلهی a[init] به a[dest] منتقل میکند. این جابجایی که باید به صورت گرافیکی انجام شود شامل سه مرحله است:
• حرکت دیسک به سمت بالا برای خروج از میلهی فعلی
• حرکت به سمت چپ یا راست برای رسیدن به میلهی مقصد
• حرکت به سمت پایین برای فرود در میلهی مقصد. ممکن است میلهی مقصد خالی باشد که در این صورت دیسک در پایینترین نقطهی میله قرار میگیرد و یا اینکه دیسک یا دیسکهایی قبلا در میلهی مقصد وجود داشته باشند. در این صورت دیسک جدید باید در بالای آخرین دیسک قرار بگیرد.
هر حرکت بسته به این که عمودی یا افقی است یک واحد از x یا y pygame.Rect دیسک مربوطه کم یا زیاد میکند. بعد از هر تغییر در آفست هر دیسک، تابع update_screen فراخوانی میشود. این تابع کل محتوا را مجددا بر صفحه ترسیم میکند.
تابع update_screen
محتوای متغیر S و a و همچنین دو کادر Text را بر روی صفحه نمایش میدهد. در هر بار فراخوانی کل صفحه مجددا ترسیم میشود. یعنی به این صورت نیست که بخشی از صفحه یا ویجیتی از ویجیتهای موجود آپدیت شود، بلکه کل صفحه دوباره رونویسی میشود.
یکی از کادرهای متنی، تعداد حرکتهای انجام شده تا آن لحظه را در بالا سمت راست و دیگری عبارت Tower of hanoi را در بالا وسط صفحه نشان میدهد.
تابع check_events
این تابع مداوما برای بررسی eventهای رخ داده فراخوانی میشود. سه event مهم برای برنامه، فشار دگمهی ESCAPE، فشار دگمهی q و همچنین pygame.QUIT هستند. هر سه رویداد باعث توقف برنامه و بسته شدن پنجره میشوند.
#برنامهنویسی
#پايتون
🆔@Computeronic
برنامه تنها دارای 5 تابع است. یکی از توابع به نام print_program_info اطلاعات مربوط به برنامه و برنامه نویس را در کنسول نمایش میدهد.
تابع hanoi
این تابع مساله را به صورت بازگشتی حل میکند و هر جابجایی را درون لیست m قرار میدهد. هر اندیس لیست m یک لیست دو عنصری است که اندیس اول نشان دهندهی شمارهی میله مبدا و اندیس دوم نشاندهندهی شمارهی میلهی مقصد است.
تابع move
به ازای هر عنصر موجود در متغیر m (که نشاندهندهی کلیهی جابجاییهای لازم برای حل مساله است) که یک لیست به صورت [init, dest] است، دیسک را از میلهی a[init] به a[dest] منتقل میکند. این جابجایی که باید به صورت گرافیکی انجام شود شامل سه مرحله است:
• حرکت دیسک به سمت بالا برای خروج از میلهی فعلی
• حرکت به سمت چپ یا راست برای رسیدن به میلهی مقصد
• حرکت به سمت پایین برای فرود در میلهی مقصد. ممکن است میلهی مقصد خالی باشد که در این صورت دیسک در پایینترین نقطهی میله قرار میگیرد و یا اینکه دیسک یا دیسکهایی قبلا در میلهی مقصد وجود داشته باشند. در این صورت دیسک جدید باید در بالای آخرین دیسک قرار بگیرد.
هر حرکت بسته به این که عمودی یا افقی است یک واحد از x یا y pygame.Rect دیسک مربوطه کم یا زیاد میکند. بعد از هر تغییر در آفست هر دیسک، تابع update_screen فراخوانی میشود. این تابع کل محتوا را مجددا بر صفحه ترسیم میکند.
تابع update_screen
محتوای متغیر S و a و همچنین دو کادر Text را بر روی صفحه نمایش میدهد. در هر بار فراخوانی کل صفحه مجددا ترسیم میشود. یعنی به این صورت نیست که بخشی از صفحه یا ویجیتی از ویجیتهای موجود آپدیت شود، بلکه کل صفحه دوباره رونویسی میشود.
یکی از کادرهای متنی، تعداد حرکتهای انجام شده تا آن لحظه را در بالا سمت راست و دیگری عبارت Tower of hanoi را در بالا وسط صفحه نشان میدهد.
تابع check_events
این تابع مداوما برای بررسی eventهای رخ داده فراخوانی میشود. سه event مهم برای برنامه، فشار دگمهی ESCAPE، فشار دگمهی q و همچنین pygame.QUIT هستند. هر سه رویداد باعث توقف برنامه و بسته شدن پنجره میشوند.
#برنامهنویسی
#پايتون
🆔@Computeronic
با siri اپل فارسی صحبت کنید❗️❗️
🎙همانطور که میدانید siri دستیار صوتی و هوشمند اپل است که روی دیوایس های این شرکت نصب است
⁉️اما چگونه با siri به زبان دلخواه خودمان صحبت کنیم؟
✅برای این کار کافی است برنامه shortcuts را از استور اپل دانلود نمایید و آن را نصب کنید پس از نصب این برنامه وارد آن شوید و در هر بخش مانند مخاطبین ، اینترنت و ... کافی است متنی فارسی (فینگلیش) تایپ نمایید و در مقابل آن مخاطب یا صفحه وب یا هر کاری که از siri برمیآید انتخاب کنید و متنی را که عموما به کار میبرید بنویسید و ذخیره کنید پس از ذخیره کافی است بگویید hey siri تا siri فعال شود و آن متنی را که نوشته بودید بگویید تا siri آن را برای شما انجام دهد
⭕️بطور مثال برای باز کردن برنامه تلگرام در جلوی اپ تلگرام در برنامه shortcuts بنویسید :
telegram ro baz kon
پس از نوشتن این متن و ذخیره آن کافیست این را به siri بگویید و برای شما این کار را انجام دهد
📥دانلود برنامه shortcuts
#ترفند
🆔@computeronic
🎙همانطور که میدانید siri دستیار صوتی و هوشمند اپل است که روی دیوایس های این شرکت نصب است
⁉️اما چگونه با siri به زبان دلخواه خودمان صحبت کنیم؟
✅برای این کار کافی است برنامه shortcuts را از استور اپل دانلود نمایید و آن را نصب کنید پس از نصب این برنامه وارد آن شوید و در هر بخش مانند مخاطبین ، اینترنت و ... کافی است متنی فارسی (فینگلیش) تایپ نمایید و در مقابل آن مخاطب یا صفحه وب یا هر کاری که از siri برمیآید انتخاب کنید و متنی را که عموما به کار میبرید بنویسید و ذخیره کنید پس از ذخیره کافی است بگویید hey siri تا siri فعال شود و آن متنی را که نوشته بودید بگویید تا siri آن را برای شما انجام دهد
⭕️بطور مثال برای باز کردن برنامه تلگرام در جلوی اپ تلگرام در برنامه shortcuts بنویسید :
telegram ro baz kon
پس از نوشتن این متن و ذخیره آن کافیست این را به siri بگویید و برای شما این کار را انجام دهد
📥دانلود برنامه shortcuts
#ترفند
🆔@computeronic
توضیحات شیفت رجیستر 74HC595
پایه VCC : منبع تغذیه تراشه است که به 5V وصل میشود
پایه Q
پایه GND : به زمین مشترک با میکرو (آردوینو) متصل میشود
پایه SER : همان ورودی داده (DATA) است که 8 بیت داده وارد آن شده تا تراشه آنها را به خروجی های موازی تبدیل نماید
پایه SRCLK همان ورودی ساعت (CLOCK) است هر بار که این پایه بالا میرود بیت های موجود در شیفت رجیستر یک بیت ( به چپ یا راست ) منتقل میشود بای اینکه تمام داده ها وارد شیفت رجیستر شود این پایه باید 8 بار بالا رود
پایه RCLK : همان ورودی قفل (LATCH) است. هربار که این پایه بالا میرود تمام بیت های موجود در شیفت رجیستر به یکباره روی خروجی قرار میگیرند این پایه را پایه ساعت رجیستر نیز میگویند که اجازه میدهد تا ابتدا همه بیت های سریال وارد شیفت رجیستر کرده و سپس با یک پالس آنها را در یک لحظه به خروجی بفرستد
#الکترونیک #arduino
🆔@computeronic
پایه VCC : منبع تغذیه تراشه است که به 5V وصل میشود
پایه Q
A
تا QH
: 8 خروجی موازی شیفت رجیستر هستند پایه GND : به زمین مشترک با میکرو (آردوینو) متصل میشود
پایه SER : همان ورودی داده (DATA) است که 8 بیت داده وارد آن شده تا تراشه آنها را به خروجی های موازی تبدیل نماید
پایه SRCLK همان ورودی ساعت (CLOCK) است هر بار که این پایه بالا میرود بیت های موجود در شیفت رجیستر یک بیت ( به چپ یا راست ) منتقل میشود بای اینکه تمام داده ها وارد شیفت رجیستر شود این پایه باید 8 بار بالا رود
پایه RCLK : همان ورودی قفل (LATCH) است. هربار که این پایه بالا میرود تمام بیت های موجود در شیفت رجیستر به یکباره روی خروجی قرار میگیرند این پایه را پایه ساعت رجیستر نیز میگویند که اجازه میدهد تا ابتدا همه بیت های سریال وارد شیفت رجیستر کرده و سپس با یک پالس آنها را در یک لحظه به خروجی بفرستد
#الکترونیک #arduino
🆔@computeronic
Computeronic|کامپیوترونیک
توضیحات شیفت رجیستر 74HC595 پایه VCC : منبع تغذیه تراشه است که به 5V وصل میشود پایه QA تا QH : 8 خروجی موازی شیفت رجیستر هستند پایه GND : به زمین مشترک با میکرو (آردوینو) متصل میشود پایه SER : همان ورودی داده (DATA) است که 8 بیت داده وارد آن شده تا تراشه…
پایه OE : خروجی را فعال میکند خط بالای این پایه نشان میدهد که پایین_فعال است یعنی با سطح پایین منطقی فعال میشود یعنی وقتی این پایه در حالت پایین فعال باشد خروجی رجیستر فعال میشود و با بالا رفتن آن خروجی رجیستر غیرفعال خواهد شد
پایه SRCLR : پاکسازی سریال است وقتی این پایه پایین میرود ، تمام محتوای شیفت رجیستر را پاک میکند
#الکترونیک #arduino
🆔@computeronic
پایه SRCLR : پاکسازی سریال است وقتی این پایه پایین میرود ، تمام محتوای شیفت رجیستر را پاک میکند
#الکترونیک #arduino
🆔@computeronic
رزبری پای چیست ؟
به زبان ساده رزبری پای یک کامپیوتر ساده در ابعاد کارت بانکی است با قیمت کم که به مانیتور یا تلوزیون متصل شده و ماوس و کیبورد هم به آن متصل میشود !
با رزبری پای میتوانید موسیقی گوش کنید و یا حتی گیم اجرا کنید ، در حقیقت رزبری پای یک کامپیوتر رومیزی کوچک همراه است که پردازنده دارد و ورودی و خروجی دارد .
با رزبری پای متوانید یک کامپیوتر همراه بسازید البته با سیستم عامل رزبین ، همچنین میتوانید یک ربات را با رزبری پای کنترل کنید و صدها کار دیگر انجام دهید
#الکترونیک #فکت #رزبری_پای
🆔@computeronic
به زبان ساده رزبری پای یک کامپیوتر ساده در ابعاد کارت بانکی است با قیمت کم که به مانیتور یا تلوزیون متصل شده و ماوس و کیبورد هم به آن متصل میشود !
با رزبری پای میتوانید موسیقی گوش کنید و یا حتی گیم اجرا کنید ، در حقیقت رزبری پای یک کامپیوتر رومیزی کوچک همراه است که پردازنده دارد و ورودی و خروجی دارد .
با رزبری پای متوانید یک کامپیوتر همراه بسازید البته با سیستم عامل رزبین ، همچنین میتوانید یک ربات را با رزبری پای کنترل کنید و صدها کار دیگر انجام دهید
#الکترونیک #فکت #رزبری_پای
🆔@computeronic
📌واتس اپ به یکی از کاربردی ترین قابلیت ها مجهز میشود
✅در تازهترین به روزرسانی واتس اپ قرار است خدمات جستجوی پیشرفته به این برنامه پیام رسان اضافه شود تا کاربران راحت تر بتوانند مطالب مدنظر خود را بیابند.
با استفاده از این خدمات میتوان به سرعت پیامهای دریافتی از مخاطبان را جستجو کرد تا مطالب مدنظر را در آنها یافت. دسترسی سریع به عکسهای به اشتراک گذاشته شده، فایلهای گیف و ویدئوها در کنار متون از جمله مزایای استفاده از خدمات جستجوی پیشرفته واتس اپ است.
#فكت
🆔 @Computeronic
✅در تازهترین به روزرسانی واتس اپ قرار است خدمات جستجوی پیشرفته به این برنامه پیام رسان اضافه شود تا کاربران راحت تر بتوانند مطالب مدنظر خود را بیابند.
با استفاده از این خدمات میتوان به سرعت پیامهای دریافتی از مخاطبان را جستجو کرد تا مطالب مدنظر را در آنها یافت. دسترسی سریع به عکسهای به اشتراک گذاشته شده، فایلهای گیف و ویدئوها در کنار متون از جمله مزایای استفاده از خدمات جستجوی پیشرفته واتس اپ است.
#فكت
🆔 @Computeronic
✅حل مشکل خالی نشان دادن فلش مموری
◀️فلش مموری خود را به سیستم متصل کنید
◀️سپس با فشار دادن دکمه ویندوز وR پنجرهRunرا باز کنید و cmdرا تایپ کنید و اینتر کنید .
◀️با این کار command promptباز خواهد شد
➕سپس دستور زیر را وارد کنید
attrib -h -r -s /s /d n:\*.*
🔴توجه داشته باشید که به جای n نام درایو فلش خود را وارد کنید.
☑️پس از وارد کردن دستور بالا کلید Enterرا فشار دهید
شما در اینجا چیزی مشاهده نمیکنید شما باید پنجرهcmdرا بسته و مجدد روی درایو فلش مموری کلیک کنید
#ترفند
➖➖➖➖➖
🆔@Computeronic
◀️فلش مموری خود را به سیستم متصل کنید
◀️سپس با فشار دادن دکمه ویندوز وR پنجرهRunرا باز کنید و cmdرا تایپ کنید و اینتر کنید .
◀️با این کار command promptباز خواهد شد
➕سپس دستور زیر را وارد کنید
attrib -h -r -s /s /d n:\*.*
🔴توجه داشته باشید که به جای n نام درایو فلش خود را وارد کنید.
☑️پس از وارد کردن دستور بالا کلید Enterرا فشار دهید
شما در اینجا چیزی مشاهده نمیکنید شما باید پنجرهcmdرا بسته و مجدد روی درایو فلش مموری کلیک کنید
#ترفند
➖➖➖➖➖
🆔@Computeronic