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

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

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

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

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

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

👨🏼‍🔬 اینجانب ثناالله خیری(ملقب به 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» ثبت شده است

 با عرض درود خدمت مخاطبان فرهیخته وبلاگ ثناالله خیری

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

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

نتیجه برنامه هم به این صورته که تعداد پرسش هایی که درست، نادرست و خالی گذاشتینو نشون میده و درصدتون رو نمایش میده

🔻اینم از لینک دانلود سورس کدای روبات 🔻

https://drive.google.com/file/d/1g3Sk7zFWZIam7vw_up28rYNNbjykLo2I/view?usp=sharing



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

با سپاس 
Sasan Ace

  • 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

امروز ساعت هشت و چهل و پنج دقیقه با انتظار اینکه در آزمون عملی طبق فرمایش جناب مربی مون، با سوالات شی گرایی مواجه میشم در عوض تنها با سوالاتی پیش و پا افتاده که حتی در دانشگاه هم به این سادگی اساتید طرح نمیکنن، مواجه شدم و تنها پانزده دقیقه ازم زمان برد و فول نمره کاملو گرفتم

به هر حال امبدوارم این فایل بتونه به کسانی که دغدغه تمرین نمونه سوالات برنامه نویسی سی پلاس پلاس رو داشتن و دارن، کمک کنه چون زبان سی پلاس پلاس دارای خواهان کمتری هستش و نمونه سوال هم به مراتب کمتر در دسترس هستش

این شما و اینم لینک دانلود پی دی اف نمونه سوالات سال ۱۴۰۰ 

◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾👇👇👇👇👇👇👇◾◾◾◾◾◾◾◾◾◾◾◾◾

دانلود سوالات آزمون عملی تکنسین برنامه نویس  ++OO C سازمان فنی حرفه ای خرداد سال ۱۴۰۰

◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾☝☝☝☝☝☝☝☝◾◾◾◾◾◾◾◾◾◾◾◾◾

  • Sasan Ace

خب در این مطلب، یک برنامه نه چندان متداول ولی کاربردی رو خدمت شما توضیح میدیم و نیز لینک دانلودشو در اختیارتون قرار میدیم

با توجه به اینکه کامپیوتر فقط زبان باینری یا هموون 0 ها و 1 ها رو درک میکنند (به استثنای ابر کامپیوترهایی که با سیستم منطق فازی کار می کنند که بحث شون خارج از حوصله وبلاگه)، این سوال پیش میاد که پس چگونه موقع تایپ کردن حرفی مانند A در کیبورد توسط کامپیوتر به زبان باینری پردازش شده  و در مانیتور نمایش داده میشه ؟

خب موضوع Input Coding یا کدگذاری وروردی برای داده های عددی بسیار ساده است، یعنی پردازنده کافیه اعداد وارد شده رو با روش سنتی تقسیمات متوالی بر دو، به معادل باینری شون تبدیل کنه

ولی برای داده هایی که از جنس حروف و نمادها هستند (فعلا حروف و نمادهایی رو بحث می کنیم که در دایره ASCII می گنجند یعنی اعداد، حروف انگلیسی، نمادهای نگارشی و ... ) بحث پردازش اوونها متفاوته یعنی ابتدا اوونا به کد ASCII تبدیل میشن و سپس این کد به زبان باینری ترجمه میشه

برای اینکه کاربرد کد ASCII براتوون بهتر روشن بشه به مثالی از پروژه برنامه نویسی زیر دقت کنین :

مثال : برنامه ای بنویسین که کاربر یک متن انگلیسی را تایپ کند و هنگام فشردن کلید Enter، تعداد واژگان موجود در متن را به کاربر نمایش دهد.

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

در اینجا لازم دارین بدونین که کد اسکی Enter معادل 13 است جهت اینکه در حلقه while بنویسین تا زمانیکه کاربر کلید مزبور رو وارد نکرده به گرفتن کاراکتر ادامه بده و در هر بار گرفتن کاراکتر یک واحد به شمارنده اضافه کند

ولی خبر خووب اینه که لازم نیس بشینین و مثل تاریخ جغرافیا خنده کدهای اسکی کاراکترها رو حفظ کنین
روی لینک زیر کلیک کنین و با اجرای فایل application، تا از کد اسکی هر کاراکتری که وارد میکنین، مطلع بشین و هر گونه پیشنهادی راجه به توسعه این اپلکیشن دارین رو کامنت بفرمائین
👇👇👇👇👇👇👇👇👇👇 
لینک دانلود ASCII Robot

  • Sasan Ace