</>پیشگامان خلاقآکادمی و استودیو دیجیتال
دوره‌های برنامه‌نویسی

درس ۱ برنامه‌نویسی: الگوریتم و حل مسئله قبل از نوشتن کد

در اولین درس دوره برنامه‌نویسی، مسئله را به ورودی، خروجی و قدم‌های قابل اجرا تبدیل می‌کنیم.

دراهنمای مرحله‌ای
در اولین درس دوره برنامه‌نویسی، مسئله را به ورودی، خروجی و قدم‌های قابل اجرا تبدیل می‌کنیم.
دوره برنامه‌نویسی از صفر — درس ۱

درس ۱ برنامه‌نویسی: الگوریتم و حل مسئله قبل از نوشتن کد

در اولین درس دوره برنامه‌نویسی، مسئله را به ورودی، خروجی و قدم‌های قابل اجرا تبدیل می‌کنیم.

راهنمای کاربردی • نوشتهٔ مجتبی خدابخشی
برنامه‌نویسی یعنی تبدیل یک مسئله مبهم به دستورهایی روشن که ماشین بتواند اجرا کند. پیش از انتخاب زبان یا نوشتن کد، باید بدانیم چه داده‌ای وارد می‌شود، چه نتیجه‌ای می‌خواهیم و راه رسیدن به آن چیست.

ورودی، پردازش و خروجی

هر برنامه را می‌توان با سه پرسش شروع کرد: چه چیزی دریافت می‌کنیم؟ چه تغییری روی آن می‌دهیم؟ چه چیزی نمایش یا ذخیره می‌شود؟ برای محاسبه میانگین، نمره‌ها ورودی‌اند، جمع و تقسیم پردازش است و عدد میانگین خروجی است.

شبه‌کد؛ پل بین فکر و کد

شبه‌کد وابسته به زبان خاصی نیست. با جمله‌های کوتاه می‌نویسیم: نمره‌ها را بگیر، مجموع را صفر کن، هر نمره را به مجموع اضافه کن، مجموع را بر تعداد تقسیم کن و نتیجه را نمایش بده.

  • هر قدم فقط یک کار انجام دهد.
  • حالت‌های خاص مثل فهرست خالی را بنویس.
  • با یک نمونه کوچک مراحل را دستی اجرا کن.

تمرین این درس

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

پرسش‌های متداول

الگوریتم باید رسمی باشد؟

برای شروع کافی است مراحل دقیق، بدون ابهام و دارای پایان باشند.

فلوچارت لازم است؟

اجباری نیست، اما برای دیدن شاخه‌های تصمیم و تکرارها ابزار مفیدی است.

جمع‌بندی

قبل از کدنویسی، ورودی، خروجی و مراحل حل را بنویس و با یک مثال دستی آزمایش کن. این عادت تعداد خطاها را کم و سرعت ساخت برنامه را بیشتر می‌کند.

</>
بخش عملی این مطلب

از مفهوم تا استفاده واقعی

Programming basics
به زبان ساده

برنامه‌نویسی یعنی تبدیل یک مسئله مبهم به ورودی، چند تصمیم روشن و یک خروجی قابل بررسی. زبان مهم است، اما روش حل مسئله مهارتی است که میان همه زبان‌ها مشترک می‌ماند.

یک مثال از دنیای واقعی

یک فروشگاه محلی می‌خواهد سفارش‌های بالاتر از ۵۰۰ هزار تومان را رایگان ارسال کند. مسئله واقعی را می‌توان به دریافت مبلغ سفارش، بررسی شرط و نمایش هزینه ارسال تقسیم کرد.

function shippingCost(orderTotal) {
  if (orderTotal >= 500000) return 0;
  return 45000;
}

const total = 620000;
console.log(`هزینه ارسال: ${shippingCost(total)} تومان`);
تمرین ۲۰ دقیقه‌ای

حالا نوبت توست

شرط دیگری اضافه کن تا سفارش‌های کمتر از ۱۰۰ هزار تومان پذیرفته نشوند و یک پیام روشن نمایش داده شود.

  1. نمونه را یک‌بار اجرا یا بازنویسی کن.
  2. تغییر خواسته‌شده را بدون کپی کامل انجام بده.
  3. خروجی را با انتظار خودت مقایسه کن.
  4. در یک جمله توضیح بده چرا راه‌حل کار کرد.
سه نکته‌ای که باید یادت بماند
۱

اول مسئله و خروجی مورد انتظار را روشن کن؛ بعد ابزار را انتخاب کن.

۲

نمونه کوچکِ کامل از پروژه بزرگِ نیمه‌تمام بیشتر به یادگیری کمک می‌کند.

۳

کد را فقط نخوان؛ تغییرش بده، خطا بساز و دلیل نتیجه را توضیح بده.

این مسیر را ادامه بده

تمرین این صفحه را انجام بده، نتیجه را برای خودت توضیح بده و بعد سراغ درس مرتبط بعدی برو.

انتخاب مسیر بعدی ←