درس ۲ از ۲۵ · آغاز راه

متغیرها و پایاها

متغیرها نام‌هایی برای نگه‌داشتن مقدارها هستند. سلام به‌طور پیش‌فرض متغیرها را تغییرناپذیر می‌سازد تا خطاهای پنهان کمتر شوند.

تعریف متغیر

با := یک نام تازه می‌سازید و مقداری در آن می‌گذارید. گونه‌ی متغیر از مقدارش فهمیده می‌شود و نیازی به نوشتنش نیست. نام متغیرها می‌تواند چندواژه‌ای باشد، مثل قیمت کتاب.

variables.salam
پایا بیشینه := ۱۰۰

روال ریشه:
    نام := "مریم"
    ناپایا امتیاز := ۸۵
    امتیاز = امتیاز + ۱۰
    سرچاپ نام, "امتیاز گرفت:", امتیاز, "از", بیشینه
پایان
خروجیمریم امتیاز گرفت: 95 از 100

متغیر تغییرپذیر

متغیری که با := تعریف شود دیگر عوض نمی‌شود. اگر می‌خواهید مقدارش را بعداً تغییر دهید، پیش از نامش ناپایا بنویسید و سپس با = مقدار تازه بدهید. عملگرهای کوتاه +=، -= و ++ هم هستند.

var-mut.salam
روال ریشه:
    ناپایا شمارنده := ۰
    شمارنده = شمارنده + ۱
    شمارنده += ۵
    شمارنده++
    سرچاپ "شمارنده:", شمارنده
پایان
خروجیشمارنده: 7

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

گونه‌ی دلخواه

اگر گونه‌ای غیر از گونه‌ی پیش‌فرض می‌خواهید، مقدار را با برگردان به آن گونه تبدیل کنید. عدد صحیح به‌طور پیش‌فرض صحیح (۳۲ بیتی) و عدد اعشاری اعشار۶۴ است.

var-typed.salam
روال ریشه:
    سن := ۱۷ برگردان صحیح۶۴
    قد := ۱.۷۵
    نام := "نگار"
    دانشجو := درست
    سرچاپ نام, سن, قد, دانشجو
پایان
خروجینگار 17 1.75 true

پایاها و متغیرهای سراسری

بیرون از روال‌ها می‌توانید با پایا مقدارهای ثابت و با ناپایا متغیرهای سراسری تعریف کنید؛ همه‌ی روال‌های برنامه به آن‌ها دسترسی دارند. نام پایاها و متغیرهای سراسری باید یک‌واژه‌ای باشد (نیم‌فاصله مجاز است).

var-global.salam
پایا نرخ := ۱۰

ناپایا فراخوانی‌ها := ۰

روال مالیات(قیمت: صحیح): صحیح:
    فراخوانی‌ها += ۱
    برگشت قیمت * نرخ / ۱۰۰
پایان

روال ریشه:
    سرچاپ مالیات(۲۰۰۰)
    سرچاپ مالیات(۵۰۰)
    سرچاپ "فراخوانی‌ها:", فراخوانی‌ها
پایان
خروجی200 50 فراخوانی‌ها: 2

قواعد نام‌گذاری

  • نام‌ها می‌توانند از حرف‌های فارسی و انگلیسی، رقم و _ ساخته شوند، اما نباید با رقم شروع شوند.
  • واژه‌های کلیدی زبان، مثل اگر یا و، نام نمی‌شوند.
  • اگر متغیری را عمداً به کار نمی‌برید، نامش را با _ شروع کنید.