فراسنجه (برنامه‌نویسی رایانه‌ای)

از ویکی‌پدیا، دانشنامهٔ آزاد

یک فراسنجه[۱] (به انگلیسی: Parameter) یا پارامتر یا یک «آرگومان قراردادی» (formal argument)، در برنامه‌نویسی رایانه‌ای، نوع خاصی از متغیر است، که در رویه‌ها برای ارجاع به یکی از «قطعه داده» ها که به عنوان ورودی به رویه داده می‌شود، استفاده می‌شود. این «قطعه داده» ها، مقدار آرگومان (که معمولاً آرگومان واقعی یا فراسنجه واقعی نامیده می‌شوند) هستند، که توسط آن، رویه می‌خواهد صدازده شود/فراخوانی شود.[۲]

فرایند انتساب مقدار به فراسنجه[ویرایش]

یک لیست مرتب از فراسنجه‌ها معمولاً در تعریف زیررویه‌ها وجود دارد، و بنابراین هر وقت یک زیر رویه صدازده شود، آرگومان آن فراخوانی، ارزیابی می‌شوند، و مقادیر نتیجه شده می‌توانند به فراسنجه‌های متناظر، منتسب گردند.[۲]

تفاوت فراسنجه با آرگومان[ویرایش]

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

  • برای مثال، اگر کسی رویه add را به صورت زیر تعریف کند: def add(x, y): return x + y آنوقت x و y فراسنجه اند،
  • درحالیکه اگرکسی (add(2,3 را صدا بزند، آنوقت ۲ و ۳ آرگومان هستند.

توجه کنید که متغیرها (و بنابراین عبارت‌ها) در زمینهٔ صدازده شده می‌توانند آرگومان باشند: اگر رویه به صورت a = 2; b = 3; add(a, b) صدا زده شود، آنوقت متغیرهای a و b آرگومان اند، و نه مقادیر ۲ و 3.[۲]

فنون ارزیابی و فراسنجه‌ها[ویرایش]

در حالت معمول «صدازدن با مقدار (call by value)» یک فراسنجه در یک رویه به صورت متغیر محلی جدید عمل می‌کند، که به مقدار آرگومان مقدار دهی اولیه شده‌است (یک کپی محلی (مجزا) از آرگومان، اگر آرگومان یک متغیر باشد)، اما در حالت‌های دیگر، یعنی «صدازدن با ارجاع (call-by-reference)» متغیر آرگومان که توسط صدازننده تهیه می‌شود، می‌تواند توسط عملیات‌های موجود در رویه صدازده شده تأثیر بپذیرد (که در نظریهٔ ارزیابی بحث می‌شود).

معناشناسی آنکه فراسنجه‌ها چگونه اعلام می‌شوند و چگونه (مقدار) آرگومان‌ها به فراسنجه‌های رویه‌ها منتقل می‌شوند، توسط زبان تعریف می‌شود، اما جزئیات آنکه چگونه این در هر سیستم رایانه ای بخصوص نمایش می‌یابد، بستگی به قرارداد فراخوانی آن سیستم دارد.[۲]

منابع[ویرایش]

  1. «پارامتر». دریافت‌شده در ۲۰۲۰-۱۰-۱۵.
  2. ۲٫۰ ۲٫۱ ۲٫۲ ۲٫۳ "Parameter (computer programming)". Wikipedia. 2019-10-13.