</>مدرسه زیب‌موجیاد بگیر، تمرین کن، بساز
مدرسهC++درس 1
درس 1 از 20 · ۴۰ دقیقه

کامپایل و اولین برنامه C++

یک مسئله واقعی را با «کامپایل و اولین برنامه C++» حل می‌کنیم و نتیجه را همان لحظه می‌بینیم.

۰امتیاز شما
نقشه این درس

بعد از این درس چه کاری می‌توانی انجام بدهی؟

  • g++ فایل cpp را کامپایل و لینک می‌کند و iostream خروجی type-safe می‌دهد.
  • کد را اجرا و نتیجه را پیش‌بینی کنی
  • یک تغییر کوچک بدهی و اثرش را توضیح بدهی
  • خطای واقعی درس را بخوانی و برطرف کنی
به زبان زندگی واقعی

C++ را ساده بفهم

C++ مالکیت و عمر منابع را با نوع‌ها و RAII روشن می‌کند؛ طراحی درست جلوی بسیاری از خطاها را پیش از اجرا می‌گیرد.

نکته مهم برای شروع C++

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

چرا مهم است؟ g++ فایل cpp را کامپایل و لینک می‌کند و iostream خروجی type-safe می‌دهد.

اولین تمرین تو: count را 3 کن و با -Wall -Wextra دوباره بساز. قبل از اجرا، خروجی تازه را در یک جمله بنویس.

کلاس پایه · بدون پیش‌نیاز

این درس را از چهار زاویه بفهم

قرار نیست چیزی را حفظ کنی. یک مفهوم را با چند تعبیر می‌بینی تا بالاخره تصویر ذهنی روشن خودت را بسازی.

1

خیلی ساده

C++ زبانی برای تبدیل فکر به دستورهای دقیق است. برنامه یک ورودی می‌گیرد، کاری روی آن انجام می‌دهد و نتیجه‌ای قابل مشاهده می‌سازد.

2

تشبیه اول: دستور کار

کد مثل دستور کار یک همکار دقیق است: ترتیب مهم است، نام‌ها باید روشن باشند و هر مرحله باید نتیجه مشخصی داشته باشد.

3

تشبیه دوم: خط تولید

داده وارد خط می‌شود، چند ایستگاه آن را تغییر می‌دهند و خروجی بیرون می‌آید. با بررسی هر ایستگاه می‌توانیم خطا را پیدا کنیم.

4

مدل فنی

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

مدل ذهنی ثابت برای همه برنامه‌ها
۱

ورودی

چه داده‌ای وارد می‌شود؟ نام، عدد، کلیک یا درخواست؟

۲

پردازش

برنامه چه قانون یا محاسبه‌ای را اجرا می‌کند؟

۳

خروجی

چه نتیجه‌ای باید ببینی و چطور درستی آن را می‌سنجی؟

خواندن کد، خط‌به‌خط

هر خط دقیقاً چه کاری انجام می‌دهد؟

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

  1. #include <iostream>

    ابزار یا کتابخانه‌ای را که در ادامه لازم داریم وارد برنامه می‌کند.

  2. int main(){ int price=180000,count=2; std::cout<<price*count<<'\n'; }

    این بخش نقطه شروع اجرای برنامه را مشخص می‌کند.

واژه‌نامه خیلی ساده

کلمه‌هایی که نباید گنگ بمانند

کد

متنی با قواعد مشخص که کار مورد انتظار را برای کامپیوتر توضیح می‌دهد.

نحو یا Syntax

دستور زبان کد؛ مثل جای درست کلمات و نشانه‌ها در یک جمله.

متغیر

یک نام خوانا برای نگه‌داشتن مقداری که بعداً لازم داریم.

خروجی

نتیجه قابل مشاهده‌ای که برای بررسی برنامه بیرون می‌آید.

استاد جواب می‌دهد

سه «چرا»ی مهم درس اول

چرا کامپیوتر خودش منظور من را حدس نمی‌زند؟

چون برنامه بر اساس دستورهای دقیق و قابل تکرار کار می‌کند. این دقت باعث می‌شود همان ورودی، نتیجه‌ای پیش‌بینی‌پذیر بسازد. ابهام برای گفت‌وگوی انسانی طبیعی است، اما در کد باید تصمیم‌ها را روشن بنویسیم.

چرا از برنامه‌ای به این کوچکی شروع می‌کنیم؟

در نمونه کوچک، رابطهٔ علت و نتیجه واضح است. اگر فقط یک مقدار را تغییر بدهی، دقیقاً می‌فهمی چرا خروجی عوض شده؛ بعد همین فهم را به پروژه‌های بزرگ منتقل می‌کنی.

اگر خطا دیدم یعنی برای برنامه‌نویسی مناسب نیستم؟

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

تمرین پلکانی

از مشاهده تا نوشتن مستقل

هر مرحله فقط کمی سخت‌تر از مرحله قبل است؛ لازم نیست یک‌باره همه‌چیز را بلد باشی.

۱خیلی آسان

خروجی را حدس بزن

بدون اجرا، نتیجه نمونه را روی کاغذ بنویس. سپس آن را با نتیجه کارگاه مقایسه کن.

۲با راهنما

یک داده را تغییر بده

فقط نام یا عدد را عوض کن. توضیح بده کدام بخش خروجی باید تغییر کند و کدام بخش ثابت می‌ماند.

۳مستقل

یک خروجی تازه بساز

یک داده جدید مثل شهر یا هدف یادگیری بساز و با همان الگوی ساده آن را نمایش بده.

معیار موفقیت: عدد 360000 چاپ می‌شود.

روش مطالعه این درس
  1. یک‌بار کد را فقط بخوان.
  2. خروجی را قبل از اجرا حدس بزن.
  3. فقط یک مقدار را تغییر بده.
  4. نتیجه را با یک جمله برای خودت توضیح بده.
توضیح ساده و قدم‌به‌قدم

از یک مثال کوچک شروع کن

g++ فایل cpp را کامپایل و لینک می‌کند و iostream خروجی type-safe می‌دهد. کد زیر را در فایل «main.cpp» خودت تایپ و اجرا کن. بعد خروجی را با انتظار درس مقایسه کن.

1

۱. نمونه را اجرا کن

پیش از اجرا خروجی را حدس بزن و سپس تفاوت را یادداشت کن.

2

۲. کد را تغییر بده

count را 3 کن و با -Wall -Wextra دوباره بساز.

3

۳. خطا را عمداً بساز

جاانداختن ; خطای compiler با شماره خط می‌دهد. متن خطا و شماره خط را بخوان، علت را پیدا کن و فقط همان بخش را اصلاح کن.

نکته مهم

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

مفهوم‌های اصلی

سه قطعه‌ای که باید بفهمی

کامپایل و اولین برنامه C++

g++ فایل cpp را کامپایل و لینک می‌کند و iostream خروجی type-safe می‌دهد.

نتیجه قابل مشاهده

عدد 360000 چاپ می‌شود.

خطایی که باید بشناسی

جاانداختن ; خطای compiler با شماره خط می‌دهد.

سناریوی واقعی

می‌خواهی مبلغ دو کتاب را حساب و ابزار build را امتحان کنی.

فرض کن می‌خواهی مبلغ دو کتاب را حساب و ابزار build را امتحان کنی. فعلاً قرار نیست کل برنامه را بسازیم؛ فقط همین نیاز را با چند خط کد حل می‌کنیم تا معلوم باشد هر خط چه کاری انجام می‌دهد.

کارگاه تعاملی

بررسی ساختار تمرین

این صفحه کامپایلر کامل C++ نیست؛ ساختار تمرین را صادقانه بررسی می‌کند و خروجی مورد انتظار را نشان می‌دهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.

main.cpp
خروجیآماده
یک بخش را تغییر بده و دکمه بررسی را بزن.
بعد از هر تغییر، نتیجه را دوباره بررسی کن.
تمرین هدایت‌شده

count را 3 کن و با -Wall -Wextra دوباره بساز. قبل از اجرا، خروجی تازه را در یک جمله بنویس.

دام‌های رایج

این سه اشتباه را انجام نده

1

جاانداختن ; خطای compiler با شماره خط می‌دهد.

2

کپی‌کردن کد بدون اجرای مرحله‌به‌مرحله

3

تغییر چند قسمت هم‌زمان و گم‌شدن علت نتیجه

سنجش چندمرحله‌ای

با 5 سؤال مطمئن شو که مفهوم را گرفته‌ای

سؤال 1 از 5

خروجی درست این نمونه چیست؟

سؤال 2 از 5

چرا پیش از اجرا نتیجه را حدس می‌زنیم؟

سؤال 3 از 5

سرنخ خطای این درس چیست؟

سؤال 4 از 5

بعد از تغییر کد چه کنیم؟

سؤال 5 از 5

چه وقت آماده درس بعدی هستی؟

پایان درس 1

فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟

فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.