وبلاگ آموزشی ثناءاللّه خیری

نگرشی نوین به آموزش علوم کامپیوتر

وبلاگ آموزشی ثناءاللّه خیری

نگرشی نوین به آموزش علوم کامپیوتر

وبلاگ آموزشی ثناءاللّه خیری

👋🏼 درود و عرض خیر مقدم دارم خدمت شما فرهیختگان و مخاطبان وبلاگ آموزشی ثناالله خیری

👨🏼‍🔬 اینجانب ثناالله خیری(ملقب به Sasan Ace)، موسس و مدیرعامل کمپانی صنایع فناوری پاراتاپیک (Paratopic Technologies, LLC)، پژوهشگر علاقمند به حوزه‌های تحقیقاتی: ماشین‌لرنینگ، رمزنگاری و رایانش کوانتومی؛ مربی کسب‌وکار و مدیر ارشد بخش تحقیق و توسعه‌ی کمپانی مذکور می‌باشم.
پ.ن: جهت آشنایی بیشتر با سوابق اجرایی، حرفه‌ای، آموزشی و پژوهشی بنده؛ پیشنهاد می‌کنم از طریق لینک‌های موجود در "راه‌های ارتباطی"، به پروفایل لینکداینم مراجعه بفرمایید.

❓ رسالت این وبلاگ 👈🏼 انتشار محتوای فنی-مهندسی، آموزشی و پژوهشی درحوزه‌های: فناوری اطلاعات، علوم کامپیوتر، و مدیریت بیزینس‌های نوظهور و فناور می باشد. تمامی محتوای این وبلاگ، حاصل تلاش بی‌وقفه و شبانه‌روزی من طی سال‌ها: مطالعه، پژوهش و برنامه نویسی اپلیکیشن‌های امنیتی، تجاری و تحقیقاتی بوده و همچنین با تالیف جزوات آموزشی و تدریس به صدها دانشجویان مهندسی و علوم کامپیوتر ساکن داخل و خارج ایران، همواره، امیدوار بوده و هستم تا بار سنگین آموزش مفاهیم بغرنج علوم و مهندسی کامپیوتر از دوش اساتید بزرگوار و دانشجویان عزیز، بطور چشم‌گیری کاسته شود،

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

©: بنده به عنوان نویسنده‌ی این وبلاگ، هیجگونه رضایتی بابت انتشار هر یک از مطالب این وبلاگ بدون ارجاع، ندارم.

🛒 جهت درخواست همکاری، سفارش پروژه، ارسال پیشنهادات و درج تبلیغات خود در فضای مجازی، می‌توانید با یکی از راه‌های زیر، با ما در ارتباط باشید.

📲 همراه: 09914086457

☎ ثابت: 04433468863

🌐 وبسایت: paratopic.com

📩 ایمیل: info@paratopic.com

📌 نشانی شعب داخل کشور:
1. ارومیه: بلوار شهید بهشتی، محله فدک، کوی 38، روبروی اوریاد مال، مجتمع میخک، بلوک1، طبقه 13، واحد 2
2. تبریز: خیابان 17 شهریور قدیم، کوی سیّدلر، روبروی دبیرستان فرا اندیشان، پلاک 12

برای همه شما مخاطبان فرهیخته‌ی وبلاگ، نگرشی متفاوت و تفکری خارج از کلیشه‌ها، آرزومندم
ثناالله خیری

تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران
طبقه بندی موضوعی
آخرین نظرات
نویسندگان

۱۱ مطلب با کلمه‌ی کلیدی «مهندسی نرم افزار» ثبت شده است

📢 | مرجع انتشار آگهی‌های مهندسی، با مدیریت و اجرا توسط ادمین کانال

⛔️انتشار آگهی‌های مربوط به آزمون‌ها اکیدا ممنوع است!

📣 | آفر ویژه کانال👇🏻
🎁 | می‌توانید پروژه هاى زیر را براى انجام آنها در حداقل زمان و با بهینه‌ترین هزینه؛ به ادمین کانال  بسپارید.

💻 | برنامه نویسى با فناوری‌های ذیل:
C, C++, and C#
Python
Matlab
SQLite
Assembly
PHP
ASP.NET
📚 | ترجمه انواع محتوا اعم از فیلم، وویس، مقالات علمى و تخصصى ، کتاب و مجله ... از انگلیسى به فارسى و بالعکس

🇺🇸 | تدریس زبان براى کنکور، نهائى، آزمون هاى  مدرسه و  تافل

📈 | تدریس ریاضى کنکور، آزمون هاى مدرسه و نهائى

👨🏻‍💻 | تدریس زبان هاى برنامه نویسى ++C و Python

🌐 | راه اندازى بک اند وبسایت با Python Django

💠💠💠💠💠
ProjectEnginer
💠💠💠💠💠

👨🏻‍💻 | ثبت سفارش و تضمین امنیت پرداخت 👇🏻
🆔 | sasanace

  • Sasan Ace
  • Sasan Ace

درود و وقت بخیر خدمت دانشجویان فرزانه و مخاطبان فرهیخته وبلاگ ثناالله خیری
امیدوارم آماده دانلود نمونه تمرین های جدید دیگری از مبحث دیپ لرنینگ باشید.

این شما و این هم لینک دانلود تمارین
https://drive.google.com/file/d/1jm5GEtZTrbuNwLVlaSfFnUgcGFs1oleZ/view?usp=sharing

حتما دقت داشته باشین که با پایتون راحت تر به نتیجه میرسین
و نیز به توضیحات پایین صفحه توجه کنین
در نهایت ممنون میشیم که اگه با متخصصین حوزه های زیر در ارتباط هستین، این بلاگ رو با ایشان به اشتراک بزارین.
با سپاس 
Sasan Ace

  • Sasan Ace

امروز یکی از کامل ترین، مفهومی ترین حتی شکیل ترین منبع آموزشی تکمیلی رو خدمت شما مخاطبان انتشار میدهیم که در باره طراحی و آنالیز الگوریتم های متداول است. به قلم استاد دکتر باقری از پلی تکنیک (صنعتی امیرکبیر )

  اینم شما و اینم لینک دانلود رایگان👇🏻

 ((( توجه داشته باشید که باید ابتدا با کپی کردن لینک زیر و سپس paste ان در آدرس بار یک نرم افزار download manager آن را دانلود کنید)))

                         لینک دانلود 

  • Sasan Ace

یکی از بهترین گام های آغازین برای چشیدن لذت واقعی به کار گیری آموخته هایمان به عنوان یک مهندس، قطعا کسب درآمد تخصصی با انجام پروژه های دانشجویی می باشد.  در این جا من به تخصصی بودن پروژه ها تاکید زیادی دارم چون خیلی از کارها، حتی در جامعه کنونی، می توانند توسط یه عده افراد بی سواد هم انجام شود (از کارهای کافی نتی گرفته تا امور زشت مثل رووسپی گری و رقص و ...). لذا حتما به نیازمندی های پروژه دقت بفرمایید و از قبول کردن هر گونه پروژه با محتواهایی همچون تایپ، بازنویسی کد آماده در یک IDE صرفا برای اجرا و .... جدا پرهیز کنید.

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

  • Sasan Ace
  • 👇👇👇👇👇
  • لینک دانلود 
    ☝☝☝☝☝





    با توجه به دو بعدی بودن حرکت روبات از جهت های چپ (L)    به جای غرب یا West  ، راست (R) به جای شرق یا East  ، بالا ((U به جای شمال یا North  ، پائین (D)  به جای جنوب یا South  استفاده شده است
  • برای زیبایی و تفهیم بهتر پسوند رتبه عددی (مانند st  در 1   و ...) از تابع rankpost  استفاده شده استکه عدد را گرفته و در خروجی پسوند ترتیبی مربوط به آن عدد را می دهد. این تابع برای نشان دادن این که مثلا چندمین داده را باید وارد کنیم مناسب است
  • تابع finalPositionX  مختصات فعلی روبات را همراه با دستور حرکت (راست، چپ ، بالا، پایین) گرفته  ومولفه افقی مختصات روبات را تغییر میدهد تا مختصات جدید را نشان دیم
  • تابع finalPositionY  مختصات فعلی روبات را همراه با دستور حرکت (راست، چپ، بالا، پایین) گرفته و مولفه عمودی مختصات روبات را  تغییر میدهد تا مختصات لجظه ای را نشان دهیم
  • تابع  gridBoundControl  محدوده صفحه مجاز و نیز مختصات لحظه ای روبات را گرفته و با مقایسه آن با کران های بالا و پایین در راستاهای قائم و افقی  تعیین میکند که آیا روبات داخل محدوده مجاز است (بر میگرداند true )  یا نه (بر میگرداند false )
  • تابع obstControl لیست شامل مختصات موانع، تعداد موانع و مختصات فعلی روبات را گرفته و اگر مولفه افقی لحظه ای روبات با هر یک از اندیس های زوج لیست مساوی شد و همزامن مولفه عمودی لحظه ای روبات با هر یک از اندیس های فرد لیست مساوی شد، آنگاه یعنی روبات به مانع برخورد کرده (برمیگرداند false ) و در غیر این صورت به مانع برخورد نشده و بر میگرداند true
  • در تابع main   ابتدا رنگ فونت و بک گراند صفحه بترتیب به زرد روشن(کدE ) و آبی (کد۱) تغییر یافته است (صرفا جهت جذابیت بیشتر برنامه برای کاربر)
  • محدوده های ناحیه مجاز حرکت یا همان کران ها از کاربر گرفته شده به همراه ساختارهای امنیتی  و کنترلی تا در هیچ راستای افقی یا قائم ، کران بالا از کران پایین کمتر نشود
  • مختصات نقطه شروع روبات از کاربر گرفته شده به همراه ساختار کنترل ورودی تا مطممئن شویم روبات شروع اش از ناحیه مجاز بوده است
  • سپس با چاپ عبارت How many obstacles exist?  کاربر باید تعداد موانع در ناحیه مجاز را وارد کند    و سپس مختصات آنها را در ادامه
  • بعد از **************** Start move commands with (begin) and exit with (end) *****************  باید دستورات جهت دهی  را به صورت مزبور (راست ، چپ  ، پایین و بالا) وارد کنیم
  • در صورت  برخورد با مانع پیام خطای Collision with barrier  نمایش داده میشود و درصورت خروج از محدوده مجاز پیام Out Of Grids Boundaries Error  
  • موقعیت لحظه ای تنها در صورت عدم برخورد به مانع و نیز حرکت در محدوده مجاز در صفحه    نمایش داده خواهد شد

   if (gridBoundControl(Lx, Ux, Ly, Uy, Xf, Yf) == true && obstControl(obstaclesOrdination, 2 * ObsN, Xf, Yf) == true)

         cout << "Current position = (" << Xf << ", " << Yf << ")";

 

 

  • هر بار حرکت مجاز که یک واحد میباشد یه واحد به کمیت مسافت می افزاید

If (gridBoundControl(Lx, Ux, Ly, Uy, Xf, Yf) == true )

             distance ++ ;

 

 

  • جابه جایی نیز طبق قانون فیثاغورس محاسبه خواهد ش

     displacement = sqrt(pow(Ox - Xf, 2) + pow(Oy - Yf, 2));

 

  • Sasan Ace

شاید یکی از مهم ترین و مشهور ترین مساله در جهان علوم و مهندسی کامپیوتر که دانشجویان مقاطع کارشناسی اولین بار با آن روبرو می شوند همین مساله برج های هانوی است که نخستین بار یک ریاضیدان فرانسوی به نام لوکاس آن را ابداع کرده و هانوی هم پایتخت کشور ویتنام است و اعتقاد بر این بود که اگر بتوان دیسک ها را از برج نخست به برج سوم (با کمک برج میانی) انتقال داد، دنیا به پایان می رسد(یه چرت و پرتی مثل اعتقاد قوم مایای احمق به عدد 2012 😂)

خب بریم سر اصل مطلب

آماده ؟؟

بزن بریم

ابتدا برای مشاهده تصویر برج ها و دیسک ها اینجا  کلیک کنید تا بهتر ادامه مطالب را دنبال کنین

هدف مساله : انتقال تمام دیسک های برج A به برج C با کمک برج میانی (‌‌‌B) ، به نحوی که در هیچ یک از مراحل انتقال، در هیچ یک از برج ها ، دیسک بزرگتر روی دیسک کوچک تر قرار نگیرد

شرط اولیه معما : دیسک ها در اول بازی ، از بالا به پایین بصورت صعودی (کوچک به بزرگ) مرتب شده اند.

معلومات معما : تعدا دیسک ها به علاوه نکات بالا

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

روش حل : 

1. فرض کنیم تنها یک دیسک داریم در ابتدا، خب معلوم است آن را از مبدا به مقصد منتقل میکنیم

2. حال اگر تعداد دیسک ها بیش از یک عدد باشند چه کار کنیم ؟

1.2. ابتدا پایین ترین دیسک را نادیده گرفته و سپس بالاترین را به برج وسط منتقل میکنیم (با کمک برج مقصد) یعنی زیر آن را نیز به مقصد منتقل میکنیم

2.2. گام قبلی را با دستور چاپ در صفحه نمایش به کاربر نشان می دهیم

3.2. دوباره چون یک دیسک از برج مبدا کم شده، باز هم یکی از آنها را نادیده میگیریم تا بتوان دیسک موجود در برج میانی را به مقصد برسانیم


به همین ترتیب ادامه میدهیم(بازگشتی با حذف دیسک ها از برج مبدا) تا فقط یک دیسک باقی بماند که تکلیف آن هم واضح است.



 خب استثنا کد ها سی پلاس پلاس اش رو براتون برعکس سایر پست ها میزارم که تنها دلیلش اهمیت مساله و نیز چالش برانگیز بودن مساله است ولی دلیل مهم ترش، نمایش ارتباط الگوریتم بازگشتی با فراخوانی تابع درون خودش می باشد


در کد زیر لازم به ذکر است که عبارت nDisk تعداد کل دیسک ها، start همان A یا هر نام دلخواه برای برج مبدا است

temp همان B یا هر نام دلخواه برای برج میانی است

finish همان C یا هر نام دلخواه برای برج مقصد است


void hanoi (int nDisk, char start, char temp, char finish)

{

  if (nDisk == 1)

  cout <<start <<" --> " <<finish <<endl;

  else

  {

  hanoi (nDisk - 1, start, finish, temp);

  cout <<start <<" --> " <<finish <<endl;

  hanoi (nDisk - 1, temp, start, finish);

  }

}

*******************************************************************
برای دانلود بازی معمای هانوی نیز لینک زیر منتظر کلیک و نیز نظرات دلگرم کننده شماست
*******************************************************************
                                 👇👇👇👇👇 

Download Release version 1.0 Hanoi Solver Bot  x64 bit

  • Sasan Ace

لینک دانلود نمونه سوالات سری اول

لینک دانلود نمونه سوالات سری دوم

لینک دانلود نمونه سوالات سری سوم

در ادامه پست های اتی، شما را با چالشی لذت بخش و تاریخی به نام مسایل مشهوری همچون برج های هانوی، tick tack toe و n وزیر آشنا میکنیم

  • Sasan Ace

برای مشاهده آگهی عمومی ثبت اینجا  کلیک کنید

  • Sasan Ace

در این کنسول اپلیکیشن قصد داریم شما رو از شر محاسبات بیهوده برای حل معادلات درجه دوم رهایی دهیم ؟

خب حالا شاید بپرسین چطوری ؟

با یک کنسول اپلیکیشن ساده تحت دسکتاپ ویندوز

روش تعامل با این اپلیکیشن ؟

اگر هر معادله درجه دوم  مورد نظرمان را به صورت استاندارد a.x2 + b.x + c = 0  در بیاریم، میتونیم فایل exe برنامه رو اجرا کنیم و پارامترهای معادله را در برنامه وارد کنیم و در صورت حقیقی بودن پاسخ، جواب یا جواب های معادله در صفحه کنسول چاپ می شوند

👇 لینک دانلود اپلیکیشن Quadratic Robot 👇
 📥 Quadratic Robot windows app 64bit version

  • Sasan Ace