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

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

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

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

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

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

👨🏼‍🔬 اینجانب ثناالله خیری(ملقب به 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 - بیان، پیشرو در فناوری‌های فضای مجازی ایران
طبقه بندی موضوعی
آخرین نظرات
نویسندگان
  • 👇👇👇👇👇
  • لینک دانلود 
    ☝☝☝☝☝





    با توجه به دو بعدی بودن حرکت روبات از جهت های چپ (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));

 

تنها امکان ارسال نظر خصوصی وجود دارد
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
نظر شما به هیچ وجه امکان عمومی شدن در قسمت نظرات را ندارد، و تنها راه پاسخگویی به آن نیز از طریق پست الکترونیک می‌باشد. بنابراین در صورتیکه مایل به دریافت پاسخ هستید، پست الکترونیک خود را وارد کنید.