خانه
گاما

برنامه‌نویسی: یعنی به زبان رایانه به آن دستور می‌دهیم که چه کارهایی انجام دهد. مثل این که به رایانه بگوییم چطور یک بازی بسازد.

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/02/3
تعداد بازدید94
برنامه‌نویسی: یعنی به زبان رایانه به آن دستور می‌دهیم که چه کارهایی انجام دهد. مثل این که به رایانه بگوییم چطور یک بازی بسازد.

برنامه‌نویسی: هنر دستور دادن به رایانه برای خلق بازی و ابزارهای دیجیتال

از دستورهای ساده تا الگوریتم‌های پیچیده: چگونه با زبان رایانه، ایده‌های خود را به نرم‌افزار تبدیل کنیم؟
خلاصه: برنامه‌نویسی فرایند نوشتن دستورالعمل‌هایی به زبان قابل فهم برای رایانه است تا وظایف مشخصی مانند محاسبه، نمایش تصویر یا اجرای یک بازی را انجام دهد. در این مقاله می‌آموزید که متغیرهامتغیر (Variable)، حلقه‌هاحلقه (Loop) و شرط‌هاشرط (Condition) چگونه به رایانه فرمان می‌دهند. با مثال علمی ساخت یک بازی ساده، گام‌به‌گام با مفاهیم پایهٔ برنامه‌نویسی آشنا می‌شوید.

زبان رایانه: از صفر و یک تا دستورهای سطح بالا

رایانه‌ها در اصل فقط زبان دودویی (Binary) را می‌فهمند؛ یعنی دنباله‌ای از 0 و 1. نوشتن برنامه با صفر و یک بسیار دشوار و خسته‌کننده است. به همین دلیل زبان‌های برنامه‌نویسی سطح بالا مانند پایتون، جاوا و سی‌پلاس‌پلاس ساخته شدند. این زبان‌ها به انسان امکان می‌دهند دستورهایی شبیه به انگلیسی بنویسد. سپس نرم‌افزارهای ویژه‌ای به نام مترجم (Compiler/Interpreter) این دستورها را به زبان دودویی تبدیل می‌کنند.

برای درک بهتر، به یک بازی ساده فکر کنید: «بازی حدس عدد». رایانه یک عدد تصادفی بین 1 تا 100 انتخاب می‌کند و کاربر باید آن را حدس بزند. در ادامه، گام‌به‌گام کدهای این بازی را به زبان ساده می‌نویسیم.

نکته ریاضی: رایانه‌ها همهٔ اطلاعات (عدد، متن، تصویر و صدا) را به صورت دودویی ذخیره می‌کنند. هر رقم دودویی یک بیت (Bit) نام دارد. فرمول تبدیل عدد اعشاری به دودویی به این صورت است (اعداد به کاراکتر فارسی مجاز نیستند): $ (13)_{10} = (1101)_2 $ زیرا $ 13 = 1 \times 8 + 1 \times 4 + 0 \times 2 + 1 \times 1 $

متغیرها و انواع داده: جعبه‌های اطلاعات در حافظه

در برنامه‌نویسی، برای ذخیرهٔ موقت اطلاعات از متغیرها استفاده می‌شود. هر متغیر یک نام دارد و نوع دادهٔ آن مشخص می‌کند چه چیزی در آن ذخیره شود: عدد صحیح، عدد اعشاری، متن یا درست/نادرست (بولی).

نوع داده معادل فارسی مثال
Integer عدد صحیح 5 , 100 , -3
Float عدد اعشاری 3.14 , 0.5
String رشتهٔ متنی "سلام دنیا"
Boolean منطقی (درست/نادرست) True , False

در بازی حدس عدد، می‌توان متغیری به نام عدد_مخفی (secret_number) از نوع عدد صحیح ساخت که مقدار تصادفی را نگهداری کند.

ساختارهای کنترلی: حلقه‌ها و شرط‌ها

شرط (if-else) به برنامه اجازه می‌دهد بر اساس یک عبارت منطقی تصمیم بگیرد. در بازی حدس عدد، اگر حدس کاربر برابر عدد مخفی بود، برنده شده است و در غیر این صورت، راهنمایی می‌شود که عدد بزرگتر یا کوچکتر بزند. حلقه (while یا for) نیز باعث تکرار یک قطعه کد تا زمان برقراری شرط می‌شود. مثلاً تا زمانی که کاربر عدد را درست حدس نزده، دوباره از او سوال بپرس.

نمونهٔ کد مفهومی (به زبان شبه‌کد):

عدد_مخفی = یک عدد تصادفی بین ۱ تا ۱۰۰
حدس = خالی
تا زمانی که حدس با عدد_مخفی برابر نشده:
    از کاربر عدد حدس را بگیر
    اگر حدس > عدد_مخفی:
        چاپ کن "بزرگتر است، دوباره تلاش کن"
    وگرنه اگر حدس         چاپ کن "کوچکتر است، دوباره تلاش کن"
    وگرنه:
        چاپ کن "تبریک! برنده شدی"
پایان حلقه

طراحی عملی یک بازی ساده با حلقه و شرط

فرض کنید می‌خواهیم با زبان پایتون یک بازی بسازیم. ابتدا کتابخانهٔ random را فراخوانی می‌کنیم تا عدد تصادفی تولید کند. سپس با یک حلقه while بی‌نهایت (تا زمان درست شدن حدس) از کاربر ورودی می‌گیریم. با استفاده از شرط if-elif-else پیام مناسب چاپ می‌کنیم. همچنین شمارندهٔ امتیاز یا تعداد دفعات حدس را می‌توان با یک متغیر شمارنده شمرد.

کاربرد عملی این مفاهیم محدود به بازی نیست. یک نرم‌افزار حسابداری از شرط‌ها برای محاسبهٔ مالیات استفاده می‌کند (اگر درآمد بیشتر از 100 میلیون، نرخ مالیات 25% وگرنه 15%). یک وب‌سایت فروشگاهی از حلقه‌ها برای نمایش لیست محصولات استفاده می‌کند. هر برنامه‌ای از ترکیب همین دستورهای ساده ساخته می‌شود.

چالش‌های مفهومی در شروع برنامه‌نویسی

۱. چرا رایانه دستورهای ما را دقیقاً همان‌طور که می‌نویسیم اجرا می‌کند، حتی اگر اشتباه باشد؟

رایانه هیچ اراده و درک معنایی ندارد. مترجم دستورها را بدون سوال ترجمه می‌کند. اگر برنامه‌نویس اشتباه کند (مثلاً به جای + از - استفاده کند)، رایانه همان عملیات اشتباه را انجام می‌دهد. به همین دلیل خطاهای منطقی (که باعث خرابی برنامه نمی‌شوند ولی خروجی نادرست می‌دهند) خطرناک‌ترین نوع خطا هستند.

۲. تفاوت حلقه for با while در کجاست؟

حلقه for زمانی به کار می‌رود که تعداد دفعات تکرار از قبل مشخص باشد، مثل تکرار روی لیستی با 10 عضو. حلقه while زمانی استفاده می‌شود که شرط پایان در میانهٔ برنامه مشخص می‌شود، مثل بازی حدس عدد که نمی‌دانیم کاربر در کدام تلاش موفق می‌شود. فرم کلی:

$ \text{for (شروع؛ شرط؛ گام)} $ و $ \text{while (شرط)} $

۳. چگونه یک برنامهٔ بزرگ را بدون اشتباه بنویسیم؟

برنامه‌نویسان حرفه‌ای از روش تجزیه استفاده می‌کنند: مسئله بزرگ را به بخش‌های کوچک‌تر تقسیم می‌کنند. هر بخش یک «تابعتابع (Function)» می‌شود. سپس توابع را جداگانه می‌سازند و آزمایش می‌کنند. در بازی حدس عدد، می‌توان یک تابع برای تولید عدد تصادفی، یک تابع برای دریافت حدس و یک تابع برای مقایسه نوشت.

نکات اصلی مقاله:
- برنامه‌نویسی یعنی نوشتن الگوریتمی از دستورها به زبانی که رایانه بفهمد.
- متغیرها برای ذخیره داده‌ها، انواع داده (عدد، متن، بولی) را مشخص می‌کنند.
- شرط‌ها (if-else) مسیر اجرا را بر اساس درستی یک عبارت تغییر می‌دهند.
- حلقه‌ها (for/while) قطعه‌ای از کد را بارها اجرا می‌کنند.
- هر برنامهٔ پیچیده‌ای از همین ساختارهای ساده ساخته شده است.
- تمرین عملی مثل ساخت بازی حدس عدد بهترین راه یادگیری است.

پاورقی

1. متغیر (Variable): محلی در حافظهٔ رایانه با یک نام نمادین که مقدار قابل تغییر را نگهداری می‌کند.
2. حلقه (Loop): ساختاری در برنامه‌نویسی برای تکرار یک بلوک کد تا زمانی که شرط مشخصی برقرار باشد.
3. شرط (Condition): عبارتی که خروجی آن درست یا نادرست (True/False) است و در دستورهای if استفاده می‌شود.
4. دودویی (Binary): دستگاه اعداد پایهٔ ۲ که تنها ارقام 0 و 1 را دارد. مبنای تمام محاسبات رایانه‌ای.
5. مترجم (Compiler/Interpreter): نرم‌افزاری که کد سطح بالا را به زبان ماشین تبدیل می‌کند. کامپایلر کل برنامه را یکجا ترجمه می‌کند، اما مفسر خط به خط اجرا می‌کند.
6. بیت (Bit): کوچکترین واحد داده در رایانه که مقدار 0 یا 1 را دارد.
7. تابع (Function): بلوکی از کد که کار مشخصی انجام می‌دهد و می‌توان آن را چندین بار در برنامه صدا زد.

وب جهانی: به همه وب‌سایت‌هایی که در اینترنت وجود دارند، می‌گویند.
کپسول آموزشی

وب جهانی: به همه وب‌سایت‌هایی که در اینترنت وجود دارند، می‌گویند.

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

فناوری: استفاده از علم و تجربه برای درست کردن یک چیز یا پیدا کردن یک راه‌حل که بتواند یک نیاز یا خواسته ما را برطرف کند

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

فناوری سخت: وقتی برای حل یک مشکل، جواب ما یک چیز فیزیکی و قابل لمس باشد، مثل یک وسیله یا ابزار

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

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

خلاقیت: یعنی از قوه تخیل خود استفاده کنیم و ایده‌های تازه و نو خلق کنیم تا بتوانیم مسائل مختلف زندگیمان را حل کنیم.
کپسول آموزشی

خلاقیت: یعنی از قوه تخیل خود استفاده کنیم و ایده‌های تازه و نو خلق کنیم تا بتوانیم مسائل مختلف زندگیمان را حل کنیم.

نوآوری: یعنی ایده‌های جدید و خلاقانه خود را عملی کنیم و یک محصول یا خدمت را برای اولین بار بسازیم یا آن را خیلی بهتر از قبل کنیم.
کپسول آموزشی

نوآوری: یعنی ایده‌های جدید و خلاقانه خود را عملی کنیم و یک محصول یا خدمت را برای اولین بار بسازیم یا آن را خیلی بهتر از قبل کنیم.

اختراع: یعنی برای اولین بار یک وسیله یا روش کاملاً جدید بسازیم که تا به حال وجود نداشته است
کپسول آموزشی

اختراع: یعنی برای اولین بار یک وسیله یا روش کاملاً جدید بسازیم که تا به حال وجود نداشته است

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

محصول: به چیزی می‌گویند که در کارخانه یا توسط یک فرد ساخته می‌شود و ما می‌توانیم آن را بخریم و از آن استفاده کنیم، مثل تلویزیون یا دوچرخه

تکامل فناوری: یعنی یک فناوری در طول زمان تغییر کند و پیشرفت نماید تا بهتر، قوی‌تر یا کارآمدتر شود
کپسول آموزشی

تکامل فناوری: یعنی یک فناوری در طول زمان تغییر کند و پیشرفت نماید تا بهتر، قوی‌تر یا کارآمدتر شود

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

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

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

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

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

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