گشتی در زبان سلام
در این صفحه مهمترین بخشهای سلام را با نمونههای کوتاه میبینید. همهی نمونهها برنامهی کامل و درستاند و خروجی واقعیشان زیرشان آمده است؛ میتوانید آنها را رونوشت کنید و در ویرایشگر آنلاین اجرا کنید.
نخستین برنامه
هر برنامهی سلام از روال ریشه شروع میشود. هر بلوک با دونقطه باز و با پایان بسته میشود، و سرچاپ متنی را چاپ میکند و به خط بعد میرود.
روال ریشه:
سرچاپ "سلام دنیا!"
پایانبرای اجرا، کد را در پروندهای مثل سلام.salam ذخیره کنید و فرمان salam run سلام.salam را بزنید.
متغیرها و پایاها
با := نامی تعریف میکنید که گونهاش از مقدارش فهمیده میشود. نامها بهطور پیشفرض تغییرناپذیرند؛ اگر میخواهید مقدار را بعداً عوض کنید آن را با ناپایا تعریف کنید. مقدارهای ثابت سراسری با پایا تعریف میشوند.
پایا بیشینه := ۱۰۰
روال ریشه:
نام := "مریم"
ناپایا امتیاز := ۸۵
امتیاز = امتیاز + ۱۰
سرچاپ نام, "امتیاز گرفت:", امتیاز, "از", بیشینه
پایانعددها را میتوانید با رقمهای فارسی یا انگلیسی بنویسید؛ مترجم هر دو را یکسان میفهمد. سرچاپ چند مقدار را با فاصله کنار هم چاپ میکند.
شرطها
با اگر، وگرنه اگر و وگرنه تصمیم میگیرید. روال زیر یک عدد صحیح میگیرد و یک رشته برمیگرداند؛ گونهی ورودی و خروجی بعد از دونقطه نوشته میشود.
روال رده(نمره: صحیح): رشته:
اگر نمره >= ۹۰:
برگشت "عالی"
وگرنه اگر نمره >= ۷۰:
برگشت "خوب"
وگرنه:
برگشت "تلاش بیشتر"
پایان
پایان
روال ریشه:
سرچاپ رده(۹۵)
سرچاپ رده(۷۲)
سرچاپ رده(۴۰)
پایانبرای مقایسهها از ==، !=، <، >، <= و >= استفاده کنید و شرطها را با و و یا به هم وصل کنید.
حلقهها
تکرار روی یک بازه میچرخد: تکرار ۱ تا ۱۰ هر ۳ در ک یعنی از ۱ تا ۱۰ با گام ۳ و شمارندهی ک. حلقهی تا هم تا وقتی شرطش برقرار است ادامه پیدا میکند.
روال ریشه:
تکرار ۱ تا ۱۰ هر ۳ در ک:
سرچاپ "دور", ک
پایان
ناپایا شمار := ۳
تا شمار > ۰:
سرچاپ شمار
شمار = شمار - ۱
پایان
سرچاپ "پرتاب!"
پایانبا بشکن از حلقه بیرون میروید و با گذر به دور بعدی میپرید.
روالها
روالها با روال تعریف میشوند، ورودیهایشان گونه دارند و نتیجه را با برگشت پس میدهند. روالها میتوانند خودشان را صدا بزنند؛ این نمونه ده جملهی نخست دنبالهی فیبوناچی را چاپ میکند.
روال فیبوناچی(ن: صحیح): صحیح:
اگر ن < ۲:
برگشت ن
پایان
برگشت فیبوناچی(ن - ۱) + فیبوناچی(ن - ۲)
پایان
روال ریشه:
تکرار ۱۰ در ک:
چاپ فیبوناچی(ک), ""
پایان
سرچاپ ""
پایانچاپ برخلاف سرچاپ به خط بعد نمیرود. ورودیها میتوانند مقدار پیشفرض هم داشته باشند، مثل روال مساحت(پهنا: صحیح, بلندی: صحیح = ۲).
آرایهها
آرایه را با کروشه میسازید و با هر … در … روی عضوهایش میگردید. طول() تعداد عضوها را میدهد.
روال ریشه:
میوهها := ["سیب", "انار", "انگور"]
هر میوه در میوهها:
سرچاپ "من", میوه, "دوست دارم"
پایان
سرچاپ "تعداد:", میوهها.طول()
پایانبه هر عضو با شمارهاش هم میرسید، مثل میوهها[۰]. شمارهگذاری از صفر شروع میشود و دسترسی بیرون از آرایه پیش از آسیب زدن گرفته میشود.
ساختارها
ساختار چند داده را زیر یک نام جمع میکند و میتواند روالهای خودش را هم داشته باشد. فیلدها مقدار پیشفرض دارند و همگانی یعنی از بیرون ساختار هم در دسترس است. درون روالها با این به خود ساختار اشاره میکنید.
ساختار مستطیل:
همگانی پهنا: صحیح = ۱
همگانی بلندی: صحیح = ۱
همگانی روال مساحت(): صحیح:
برگشت این.پهنا * این.بلندی
پایان
پایان
روال ریشه:
زمین := مستطیل { پهنا = ۱۲, بلندی = ۸ }
سرچاپ "مساحت زمین:", زمین.مساحت()
پایانهنگام ساختن نمونه، هر فیلدی را که نگویید مقدار پیشفرضش را میگیرد؛ مستطیل {} یک مستطیل یک در یک است.
جداشمارها و همخوانی
جداشمار مجموعهای بسته از حالتها تعریف میکند و همخوان یک مقدار را با حالتها مقایسه میکند. مترجم مطمئن میشود که هیچ حالتی از قلم نیفتاده باشد.
جداشمار فصل:
بهار، تابستان، پاییز، زمستان
پایان
روال هوا(ف: فصل): رشته:
برگشت همخوان ف:
بهار, پاییز => "معتدل"
تابستان => "گرم"
زمستان => "سرد"
پایان
پایان
روال ریشه:
سرچاپ "هوای بهار:", هوا(فصل.بهار)
سرچاپ "هوای زمستان:", هوا(فصل.زمستان)
پایانچند حالت میتوانند یک شاخه را با ویرگول شریک شوند، و همخوان خودش مقدار برمیگرداند؛ پس میتوانید نتیجهاش را مستقیم برگردانید یا در متغیری بریزید.
قدم بعدی؟ سلام را نصب کنید یا نمونهها را در ویرایشگر آنلاین تغییر دهید و نتیجه را ببینید. برای آشنایی با ابزارها و کتابخانهی استاندارد به صفحهی ابزارها سر بزنید.