مازند آموز
جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی و محصولات
  • تماس با ما
مازند آموز
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در privacy policy ما شرح داده می شود مورد استفاده قرار می گیرد.

مازند آموز
  • خانه
  • دوره های آموزشی و محصولات
  • تماس با ما
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

مازند آموز > مقالات > برنامه نویسی > الگوریتم، تفکر منطقی و حل مسئله

الگوریتم، تفکر منطقی و حل مسئله

27 آبان 1404
ارسال شده توسط engrmh
برنامه نویسی، مهارت

درباره‌ی سه‌تا کلمه‌ای که انگار همیشه ترسناک شنیده می‌شن: «الگوریتم»، «تفکر منطقی» و «حل مسئله». می‌خوام مثل همون دوستی باشم که کنارت نشسته، با یه دفتر شطرنج‌بازی جلوت، داره با خیال راحت توضیح می‌ده. نترس، قرار نیست فرمول‌بازی کنیم؛ فقط می‌خوام ببینیم چطور می‌شه ذهنمون رو مثل یه کامپیوتر کوچولو، قدم‌به‌قدم جلو ببریم.

۱) الگوریتم یعنی چی؟

تعریف ساده: «رسپی غذاست، نه بیشتر!»
وقتی می‌خوای قهوه ترک درست کنی، می‌گی:
۱) یه قاشق چای‌خوری پودر قهوه بریز
۲) روی شعله کم بذار
۳) هم بزن تا کف بیاد
۴) بردار قبل از اینکه سر بره

همین چهارتا مرحله یه الگوریتمه. کامپیوتر هم دقیقاً همین‌طور دوست داره: مرحله‌به‌مرحله، واضح، بی‌نقص.


۲) تفکر منطقی = بازی «اگر این‌طوری بود، چی می‌شد؟»

یه مثال روزمره:
فرض کن سوپرمارکت ۹ شب تعطیل می‌شه. الان ساعت ۸:۵۰ه و تو تازه داری از خونه می‌زنی بیرون.
سؤال منطقی: «اگر ۱۰ دقیقه زمان ببره تا برسم، آیا می‌تونم قبل از تعطیلی برسم؟»
جواب: نه، چون ۸:۵۰ + ۱۰ دقیقه = ۹:۰۰ دقیقه‌ست، درِ مغازه هم دقیقاً همون لحظه بسته می‌شه.
همینه که می‌گن تفکر منطقی؛ می‌پرسی «اگر A درست باشه، B هم درسته؟» و بعد می‌ری سراغ بررسی شرط A.


۳) حل مسئله = پازل ۱۰۰۰ تکه رو چطور می‌چینیم؟

کسی که پازل می‌چینه هیچ‌وقت از گوشه‌ی میز شروع نمی‌کنه!
اول قاب رو درست می‌کنه (مرزها)، بعد رنگ‌ها رو تفکیک می‌کنه (دسته‌بندی)، بعد می‌ره سراغ بخش‌های کوچیک (زیرمسئله).
حل مسئله در برنامه‌نویسی هم همینه:

۱) مسئله رو با زبان خودت بنویس

مثلاً: «برنامه‌ای می‌خوام که بگیره یه عدد از کاربر، بگه زوجه یا فرد.»

۲) ورودی و خروجی رو مشخص کن

ورودی: یه عدد صحیح | خروجی: چاپ “زوج” یا “فرد”

۳) قدم‌به‌قدم بشکن

۱) بخون عدد رو
۲) اگر باقی‌مانده‌ی تقسیم بر ۲ برابر صفر بود → زوج
۳) وگرنه → فرد

۴) Psuedocode (شبه‌کد) بزن

read number
if number % 2 == 0
    print "زوج"
else
    print "فرد"

۵) حالا برو تبدیلش کن به زبان محبوبت (Python، JS، C++، هرچی)


چهار تا تمرین ساده که ذهنتو «قدم‌به‌قدم» عادت بده

۱) مسئله‌ی معکوس رشته
ورودی: «سلام» → خروجی: «مالس»
راهنما: از آخر شروع کن حرف‌به‌حرف چاپ کن یا توی یه متغیر جدید بچسبون.

۲) بزرگ‌ترین مقسوم‌علیه‌ی مشترک (B.M.M)
ورودی: ۱۲ و ۱۸ → خروجی: ۶
راهنما: از کوچیک‌ترین عدد به سمت پایین بیا، اولین عددی که هر دو رو بخش‌پذیره همون B.M.Mه.

۳) فاکتوریل
ورودی: ۵ → خروجی: ۱۲۰
راهنما: ۵×۴×۳×۲×۱؛ هم می‌تونی حلقه بزنی هم بازگشتی.

۴) جمع اعداد زوج ۱ تا n
ورودی: ۱۰ → خروجی: ۲+۴+۶+۸+۱۰ = ۳۰
راهنما: حلقه بزن، اگر عدد % ۲ == ۰ بود به جمع اضافه‌اش کن.


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

۱) KISS: Keep It Simple, Stupid!
هرچی ساده‌تر، کم‌نقص‌تر.
۲) DRY: Don’t Repeat Yourself
اگر دیدی داری کد تکراری می‌نویسی، یه تابع بساز، یه حلقه بزن، یه کلاس درست کن؛ هرچی دوست داری فقط تکرار نکن.


چطور ذهنم رو تمرین بدم؟

  • سایت‌های معروف:
    – LeetCode (ساده‌ش رو بزن تگ Easy)
    – HackerRank (دسته‌ی Algorithms)
    – Codeforces (برای وقتی حرفه‌ای‌تر شدی)
  • کتاب ساده فارسی: «الگوریتم‌ها و ساختار داده‌ها» – دکتر سمیعی‌پور؛ زبانش روانه.
  • اپ موبایل: Grasshopper یا Encode (برنامه‌نویسی اندروید) هم تمرین منطقی دارن.
  • روزانه ۱۵ دقیقه قدیمی‌ترین بازی منطقی: سودoku! واقعاً ذهنتو عادت می‌ده به «اگر اینجا ۵ بیاد، اون خونه دیگه نمی‌تونه ۵ باشه».

یه داستان کوتاه آخر

یه برنامه‌نویس تازه‌کار از استادش پرسید: «چرا دارم الگوریتم می‌خونم؟ می‌خوام فقط اپ اندروید بسازم!»
استاد یه خودکار و کاغذ برداشت، نقاشی یه خونه کشید، فقط پنجره‌ها رو نه. گفت: «الگوریتم، پنجره‌ست؛ بدونش خونه‌ت سقف داره، دیوار داره، ولی نور نداره.»
پس بذار این پنجره‌ها رو یاد بگیری؛ بعد هر خونه‌ای خواستی می‌سازی.

برچسب ها: الگوریتمتفکر منطقیحل مسئله
قبلی تفاوت برنامه نویسی و کد نویسی
بعدی زبان های برنامه نویسی Embedded

پست های مرتبط

27 آبان 1404

برنامه نویسی ماژولار و غیر ماژولار در زبان JavaScript

engrmh
ادامه مطلب

27 آبان 1404

برنامه نویسی ماژولار و غیر ماژولار

engrmh
ادامه مطلب

27 آبان 1404

زبان های برنامه نویسی Embedded

engrmh
ادامه مطلب

27 آبان 1404

تفاوت برنامه نویسی و کد نویسی

engrmh
ادامه مطلب

27 آبان 1404

زبان های برنامه نویسی

engrmh
ادامه مطلب
جستجو برای:
پشتیبانی
دسته‌ها
  • برنامه نویسی
  • فریلنسر
  • مهارت
برچسب‌ها
الگوریتم برنامه نویسی تفکر منطقی حل مسئله دسکتاپ مهارت موبایل وب کد نویسی

مازند آموز
آموزش با طعم شیرین
دسترسی سریع
  • خانه
  • دوره ها
  • مقالات
  • تماس با ما
خبرنامه

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

© 1404. تمامی حقوق برای مازندافزار پارس محفوظ است.

فرانت اند

  • 5 دوره

بک اند

  • 1 دوره

برنامه نویسی

  • 6 نوشته

فریلنسر

  • 1 نوشته

مهارت

  • 5 نوشته
برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید
Facebook Twitter Youtube Instagram Whatsapp