تالار گفتمان مانشت
انتقال پارامتر - نسخه‌ی قابل چاپ

انتقال پارامتر - samanium - 12 دى ۱۳۸۹ ۰۹:۳۶ ق.ظ

سلام
سوال تووی جزوه طراحی زبان قبائی هست، فصل اول سوال ۲۲
. یکی از اهداف زبان الگول نزدیک شدن به ریاضیات محض بود، این هدف موجب می شود تا ارسال پارامتر به زیر برنامه‌ها به کدام روش صورت گیرد؟
الف) فراخوانی با نام
ب) (اشتباه تایپی---> فراخوانی با نام تکرا شده) فکر کنم با مقدار باشه
ج) فراخوانی با ارجاع
د) فراخوانی با مقدار - نتیجه

RE: انتقال پارامتر - ۵۴m4n3h - 12 دى ۱۳۸۹ ۰۱:۲۶ ب.ظ

توی ریاضی توابع به ازای هر ورودی یک مقدار خروجی دارند، به نظرم جواب باید فراخوانی با مقدار باشه! چون توی گزینه های دیگه میشه به ازای یک ورودی تابع چند تا خروجی برگردونه!
نمی دونم درست گفتم یا نه!
کلید نداره؟

انتقال پارامتر - samanium - 12 دى ۱۳۸۹ ۰۳:۲۸ ب.ظ

نه کلید نداره
ولی من فکر میکنم با ارجاع باشه
چون نتیجه هر عمل توی ریاضی محض سریع اعمال میشه
شایدم مقذار - نتیجه باشه

انتقال پارامتر - mahdi20 - 12 دى ۱۳۸۹ ۱۰:۰۱ ب.ظ

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

انتقال پارامتر - samanium - 13 دى ۱۳۸۹ ۰۸:۵۸ ق.ظ

ممنون
پیگیرش که شدم متوجه شدم که اصلا یکی ویژگی های الگول فراخوانی با نام هست!
به این صورت که پارامتر واقعی هنگام فراخوانی جایگزین پارامتر مجازی میشه
کتاب سیبستا فصل دوم صفحه ۶۲
جزوه آقای قبائی صفحه ۲۱۲

RE: انتقال پارامتر - ۵۴m4n3h - 13 دى ۱۳۸۹ ۱۲:۲۴ ب.ظ

خب چرا فراخوانی با نام به ریاضیات محض نزدیک تره؟!

انتقال پارامتر - samanium - 14 دى ۱۳۸۹ ۰۹:۰۷ ق.ظ

چون بحث در مورد جای گذاری پارامتر واقعی(در حکم جواب معادله مثلا!) به جای پارامتر مجازی(در حکم متغییر و مجهول معادله) هست!

RE: انتقال پارامتر - ۵۴m4n3h - 14 دى ۱۳۸۹ ۰۹:۳۳ ق.ظ

بحث در مورد انتقال پارامتر هست که انتقال های مختلف میتونه نتایج مختلف داشته باشه!
من هنوز سر حرف خودم هستم!
هیچ تابع ریاضی ای نمیتونه مثلاً دو تا خروجی y و z داشته باشه! اما همه‌ی فراخوانی‌ها غیر از فراخوانی با مقدار میتونن این خاصیت رو داشته باشند!
فراخوانی با مقدار کدوم خاصیت توابع ریاضی رو نقض میکنه؟

من فکر میکنم سوالش سوال خوبی نیست!

انتقال پارامتر - samanium - 14 دى ۱۳۸۹ ۰۹:۴۳ ق.ظ

اخه شما تابع رو با مفهوم برنامه نویسیش میگیرین
که باید یه خروجی داشته باشه
ولی مثلا بعضی توابع مختلط داریم که چند تا جواب دارن‌! درسته؟
سوال مبهمی هست اما نه اینکه خوب نباشه
فکر میکنم بازم .....

انتقال پارامتر - saria - 17 دى ۱۳۸۹ ۰۹:۱۹ ب.ظ

یه موضوع رو هم لحاظ کنید که در ارجاع با نام تا زمانیکه در تابع فراخوانده شده به اون مراجعه نشه هیچ بررسی روش انجام نمیشه یعنی بررسی تا موقع اجرا به تعویق میوفته (LAZY)
که این تو ریاضیات فک کنم مهم باشه ... ولی تو فراخوانی های دیکه اینطور نیس