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

ویژه علاقمندان علوم و مهندسی کامپیوتر

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

ویژه علاقمندان علوم و مهندسی کامپیوتر

اینجانب ثناالله خیری(ملقب به Sasan Ace)، موسس و مدیرعامل هلدینگ پاراتاپیک هستم
(شرکت صنایع فناوری آرکا بنیان نادین با شماره ثبت ۱۹۴۳۱)

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

برای سفارش پروژه و استفاده از مشاوره رایگان، میتوانید با آی دی sasanace@ در 💙تلگرام💙 در ارتباط باشید.🙏

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

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

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

با توجه به ممنوعیت کپی برداری و فروش کد های تکراری به مشتریان متعدد  در سیاست کاری من، تصمیم گرفتم یکی از پروژه های امروز رو رایگان خدمتتون تقدیم کنم

هدفمون در این برنامه انکریپت کردن یک داده عددی هستش و سپس دیکریپت اش با الگوریتم معروف RSA

🔻اینم از لینک دانلود رایگان برنامه 🔻

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

سپاس 
Sasan Ace

۰ نظر موافقین ۱ مخالفین ۰ 21 July 22 ، 18:39
Sasan Ace

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

بزار با دو تا خبر این بلاگو شروع کنم. خب اول با خبر بد شروع می کنم!خنده خبر بد اینه که دیگه به خاطر مقرون به صرفه نبودن پروژه های دانشجویی دیگه از پذیرش پروژه های دانشجویی معذورمزبان درازی. خبر خوب هم اینه که امروز قراره شما رو از شر کنسول اپلیکیشن خلاص کنم. می پرسی چطوری؟ بیا پایین بهت بگم⬇چشمک

با آموزش برنامه نویسی رابط کاربری با زبان دشوار سی پلاس پلاس. البته تحت فریم وورک دات نت و ای پی آی CLR.

برا این که حوصله ات با روده درازی های من سر نره، واسه آموزش بیا لینک پایین تا کامل یاد بگیری چطوری برنامه رو  نوشتم

https://www.youtube.com/watch?v=LF1cI7zeFm4

🔻اینم از لینک دانلود رایگان برنامه ماشین حساب گرافیکی با زبان سی پلاس پلاس 🔻

برای اجرا برنامه صرفا کافیه مراحل زیرو دنبال کنی.
۱. فایل زیپ رو اکسترکت میکنی.
۲. میری فولدر CALCULATOR.
۳. داخل فولدر Debug، فایل EXE رو اجرا میکنی.

برای دسترسی به سورس کدا هم کافیه ویژوال استودیو(ترجیحا ورژن 2019 به بعد) رو نصب داشته باشی و فایل با پسوند sln رو باز کنی.

https://drive.google.com/file/d/10wDxsAlHNukXxmjqEW2H9zTJdWviS1mI/view?usp=sharing



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

سپاس 
Sasan Ace

۰ نظر موافقین ۰ مخالفین ۰ 20 July 22 ، 22:55
Sasan Ace

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

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

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

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

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

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



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

با سپاس 
Sasan Ace

۰ نظر موافقین ۰ مخالفین ۰ 19 July 22 ، 03:12
Sasan Ace

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

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


این اپلیکیشن به شما یک تصوری از مکانیزم embeded web application های نهفته در server های شبکه های اجتماعی میده. مثلا وقتی مشغول اینستاگردی هستینآرام می بینین که یه بخشی به نام account suggestion، به شما پیشنهاد میشه این آکانت ها را فالوو کنین. این کار توسط همین وب اپلیکیشن های server های اینستاگرام انجام میشه که یکی از ساده ترین الگوریتم های به کار رفته در این اپلیکیشن ها، الگوریتم clustering بر اساس فاصله اقلیدسیه.

در ادامه دو نکته رو میگم که بتونی خودت این کنسول اپلیکشنو در ویژوال استودیو برنامه نویسی کنی :‌

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

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


۲. جهت جمع آوری داده ها از کاربران باید ماتریس زیر رو پر کنین که البته ممکنه سوالات زیر ذهنتونو درگیر کنه که مثلا :

۲.۱. چرا سه تا کد ۰، ۱ و ۲ برای جنسیت انتخاب شده؟ 

پاسخ : ۰ براس جنسیت مذکر، عدد ۱ برای مذکر و ۲ برای non binary ها(افرادی که جنسیت مختلط یا دوگانه دارند.)

۲.۲. کد شهرها بر چه اساس انتخاب شده؟
پاسخ : بر اساس شماره سطر ماتریس فاصله شهرهای معروف ایالات متحده که برای مشاهده ماتریس به صورت فایل excel *****  اینجا  ***** کلیلک کنید


🔻اینم از لینک دانلود سورس کدای two-users-euclidean-distance🔻


https://drive.google.com/file/d/1ikgm8WcgW-NWezEUNOkXuSUT9BV0K6PN/view?usp=sharing

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

با سپاس 
Sasan Ace

۰ نظر موافقین ۰ مخالفین ۰ 03 July 22 ، 13:37
Sasan Ace

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

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

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

۰ نظر موافقین ۰ مخالفین ۰ 07 April 22 ، 17:09
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));

 

۰ نظر موافقین ۰ مخالفین ۰ 20 December 21 ، 08:59
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

۱ نظر موافقین ۱ مخالفین ۰ 14 October 21 ، 18:36
Sasan Ace

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

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

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

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

۰ نظر موافقین ۱ مخالفین ۰ 14 October 21 ، 02:52
Sasan Ace

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

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

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

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

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

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

۰ نظر موافقین ۱ مخالفین ۰ 15 June 21 ، 13:00
Sasan Ace

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

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


در کل از میان دروس زیر می توانید 5 مورد را به اختیار انتخاب کرده و در آزمون فقط به سوالات آنها پاسخ دهید

- ساختمان داده و طراحی الگوریتم (حجم کم درس، خلاق محور بودن سوالات)
-شبکه (حجم زیاد درس، سوالات کلیشه ای تر)
- معماری کامپیوتر
- مدار منطقی
- سیستم عامل
- نظریه زبان ها و ماشین ها

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

ابتدا ریاضیات گسسته و برنامه نویسی پیشرفته رو کامل مسلط بشین که پایه تمام دروس دیگن

حال مدار منطقی رو که به شدت با گسسته و برنامه نویسی رابطه تنگاتنگ داره رو اوکی کنین

بعد از مدار منطقی هم که میرین سر معماری کامپیوتر

تا اینجا تقریبا چهل درصد ازمونو اماده این

ضمنا می تونین همزمان با مطالعه مدارمنطقی، ساختمان داده ها رو هم مطالعه کنین

حال که به ساختمان داده مسلط شدین به سراغ طراحی الگوریتم  میریم که در واقع مکمل هم ان

پیش نیاز سیستم عامل،‌ معماری و ساختمان داده اس که نتیجه میشه میتونین اونو همزمان با طراحی الگوریتم بخونین

آخر سر هم میرسیم به درس شیرین نظریه زبان ها و ماشین ها که پیش نیازش فقط ساختمان داده اس که به خاطر پیچیدگی درسی اش پیشنهاد میشه اونم آخر سر بخونین تا وقت کافی برای درک مفاهیم انتزاعی اش داشته باشین 

یکی از نکات مهم در رابطه با انتخاب درس برای المپیاد اینه که شبکه رو پیشنهاد نمیکنم انتخاب کنین به چند دلیل :
اولا اینکه حجم درس به شدت زیاده و علیرغم این که قدرت مانور طراح سوال توش کمه و لی جمع بندی اش دشواره
دوما اینکه اکثر اساتید دانشگاه های کشور خودشون شبکه رو عملی یاد نگرفتن و در نتیجه خیلی خوب در دانشگاه آموزش داده نمیشه
سوما مفاهیم انتزاعی اش بسیار زیاده

۰ نظر موافقین ۱ مخالفین ۰ 09 June 21 ، 08:00
Sasan Ace