۰
subtitle
ارسال: #۱
  
خروجی برنامه با استفاده از روش فراخوانی با نام
برنامه زیر را در نظر بگیرید:
خروجی برنامه با استفاده از روش فراخوانی با نام چیست؟
من تو تحلیل کد گیج شدم
پ.ن: سوال ۱۲ - ص ۱۳۸-زبانهای برنامه سازی راهیان ارشد چاپ سوم
کد:
Var s: array[1..3] of char;
var i,j: integer;
Procedure P(X: integer ; y: char);
var j: integer
begin
j:=2;
X= X+1;
output(y);
output(i);
end;
S[1]:='A';S[2]:='B';S[3]:='C';
i:=0; j:=1;
P(i,S[1+j]);
output(i);
من تو تحلیل کد گیج شدم
پ.ن: سوال ۱۲ - ص ۱۳۸-زبانهای برنامه سازی راهیان ارشد چاپ سوم
۰
ارسال: #۲
  
Re: خروجی برنامه با استفاده از روش فراخوانی با نام
بچه ها کاش یه نگاه بهش بندازین. فک کنم کد پاسکاله.
۰
ارسال: #۳
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ آذر ۱۳۹۳ ۰۲:۱۵ ب.ظ)Ametrine نوشته شده توسط: سلام
خب وقتی که تابع فراخوانی شد: [tex]P(i,S[1 j])[/tex]
در تابع P،
[tex]S[1 j][/tex] جایگزین y میشه و i هم جایگزین X
[tex]S[1 j][/tex] چی میشه؟
۱+۱ = ۲ ، پس میشه [tex]S[2][/tex]
یعنی در اصل اول اندیس S حساب میشه بعد میریم توی تابع P
خب حالا تو تابع P یه j تعریف کرده و مقدار ۲ داده که اصلاً کاری بهش نداریم.
بعد X که الان i شده رو جمع کرده با ۱ ، که مقدارش میشه ۱ چون قبلاً صفر بوده.
[tex]output(y)[/tex] که میشه همون [tex]output(S[2])[/tex] که مقدارش B هست.
[tex]output(i)[/tex] هم میشه ۱
بعد برمیگردیم به برنامه اصلی اونجا هم دوباره i چاپ میشه که باز مقدار ۱ رو چاپ میکنه.
پس خروجی میشه: B 1 1
سعی کردم تا اونجا که میتونم واضح توضیح بدم.
اگه سوالی بود بپرسید.
سلام تا اونجایی ک من میدونم فکر کنم پاسخ سوال رو اشتباه دادن چون توی فراخوانی با ارجاع هست ک اول مقدار s حساب میشه بعد داخل تابع میشه
یعنی اینجا مقدار s(1+2)ra میده به خروجی
اگه درغیر اینصورت هست بگین منم متوجه بشم
ارسال: #۴
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۰۱:۲۵ ق.ظ)amin1371 نوشته شده توسط: سلام تا اونجایی ک من میدونم فکر کنم پاسخ سوال رو اشتباه دادن چون توی فراخوانی با ارجاع هست ک اول مقدار s حساب میشه بعد داخل تابع میشهسلام
یعنی اینجا مقدار s(1+2)ra میده به خروجی
اگه درغیر اینصورت هست بگین منم متوجه بشم
این سوال مربوط به کنکور ۷۳ هست.
این مطلب درباره محاسبه ی مقدار و بعد ارسال به تابع رو توی stackoverflow خوندم.
ارسال: #۵
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
سلام اخه اصلا تفاوت فراخوانی با نام و ارجاع تو همین موضوع هست وگرنه فرقی ندارن تو متغرهای ساده یا مغیرهای مشخص مثل b(5 تنها تفاوتشون تو متغرهای نامعین هست و اینکه توی ارجاع مقدار رو حساب میکنه و میفرسته ولی توی نام تو خود تابع مقدار ارابه مشخص میشه
بعدشم stackoverflow یه انجمنه ک هرکسی براساس اطلاعات خودش صحبت میکنه منبع رسمی نیست منبع رسمی ما کتاب هاست
بااین حال اگه بازم مطمین هستید مارو هم در جریان بذارید
بعدشم stackoverflow یه انجمنه ک هرکسی براساس اطلاعات خودش صحبت میکنه منبع رسمی نیست منبع رسمی ما کتاب هاست
بااین حال اگه بازم مطمین هستید مارو هم در جریان بذارید
(۳۰ دى ۱۳۹۳ ۱۱:۲۲ ق.ظ)Ametrine نوشته شده توسط:(30 دى ۱۳۹۳ ۰۱:۲۵ ق.ظ)amin1371 نوشته شده توسط: سلام تا اونجایی ک من میدونم فکر کنم پاسخ سوال رو اشتباه دادن چون توی فراخوانی با ارجاع هست ک اول مقدار s حساب میشه بعد داخل تابع میشهسلام
یعنی اینجا مقدار s(1+2)ra میده به خروجی
اگه درغیر اینصورت هست بگین منم متوجه بشم
این سوال مربوط به کنکور ۷۳ هست.
این مطلب درباره محاسبه ی مقدار و بعد ارسال به تابع رو توی stackoverflow خوندم.
ارسال: #۶
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۱:۳۳ ق.ظ)amin1371 نوشته شده توسط: سلام اخه اصلا تفاوت فراخوانی با نام و ارجاع تو همین موضوع هست وگرنه فرقی ندارن تو متغرهای ساده یا مغیرهای مشخص مثل b(5 تنها تفاوتشون تو متغرهای نامعین هست و اینکه توی ارجاع مقدار رو حساب میکنه و میفرسته ولی توی نام تو خود تابع مقدار ارابه مشخص میشه
بعدشم stackoverflow یه انجمنه ک هرکسی براساس اطلاعات خودش صحبت میکنه منبع رسمی نیست منبع رسمی ما کتاب هاست
بااین حال اگه بازم مطمین هستید مارو هم در جریان بذارید
(۳۰ دى ۱۳۹۳ ۱۱:۲۲ ق.ظ)Ametrine نوشته شده توسط:(30 دى ۱۳۹۳ ۰۱:۲۵ ق.ظ)amin1371 نوشته شده توسط: سلام تا اونجایی ک من میدونم فکر کنم پاسخ سوال رو اشتباه دادن چون توی فراخوانی با ارجاع هست ک اول مقدار s حساب میشه بعد داخل تابع میشهسلام
یعنی اینجا مقدار s(1+2)ra میده به خروجی
اگه درغیر اینصورت هست بگین منم متوجه بشم
این سوال مربوط به کنکور ۷۳ هست.
این مطلب درباره محاسبه ی مقدار و بعد ارسال به تابع رو توی stackoverflow خوندم.
بله مقدار (۱+۲)s میره به خروجی یعنی c
ارسال: #۷
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
ممنون از اینکه من رو هم مطمین کردید
شما درمورد static scoping و daynamic scoping هم اطلاعاتی دارین؟
اگه بتونین توضیحی بدین ممنون میشم
شما درمورد static scoping و daynamic scoping هم اطلاعاتی دارین؟
اگه بتونین توضیحی بدین ممنون میشم
(۳۰ دى ۱۳۹۳ ۱۱:۵۱ ق.ظ)bluebaran نوشته شده توسط:(30 دى ۱۳۹۳ ۱۱:۳۳ ق.ظ)amin1371 نوشته شده توسط: سلام اخه اصلا تفاوت فراخوانی با نام و ارجاع تو همین موضوع هست وگرنه فرقی ندارن تو متغرهای ساده یا مغیرهای مشخص مثل b(5 تنها تفاوتشون تو متغرهای نامعین هست و اینکه توی ارجاع مقدار رو حساب میکنه و میفرسته ولی توی نام تو خود تابع مقدار ارابه مشخص میشه
بعدشم stackoverflow یه انجمنه ک هرکسی براساس اطلاعات خودش صحبت میکنه منبع رسمی نیست منبع رسمی ما کتاب هاست
بااین حال اگه بازم مطمین هستید مارو هم در جریان بذارید
(۳۰ دى ۱۳۹۳ ۱۱:۲۲ ق.ظ)Ametrine نوشته شده توسط:(30 دى ۱۳۹۳ ۰۱:۲۵ ق.ظ)amin1371 نوشته شده توسط: سلام تا اونجایی ک من میدونم فکر کنم پاسخ سوال رو اشتباه دادن چون توی فراخوانی با ارجاع هست ک اول مقدار s حساب میشه بعد داخل تابع میشهسلام
یعنی اینجا مقدار s(1+2)ra میده به خروجی
اگه درغیر اینصورت هست بگین منم متوجه بشم
این سوال مربوط به کنکور ۷۳ هست.
این مطلب درباره محاسبه ی مقدار و بعد ارسال به تابع رو توی stackoverflow خوندم.
بله مقدار (۱+۲)s میره به خروجی یعنی c
ارسال: #۸
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۱:۵۱ ق.ظ)bluebaran نوشته شده توسط: بله مقدار (۱+۲)s میره به خروجی یعنی cیعنی الان خروجی این کد چی میشه از نظر شما؟
این جوابی که من بدست اوردم مطابق با کتاب هست.
شما مطابق با چه کتابی حل کردید.
اصلاً این مطلبی که میگید تو کدوم کتاب نوشته؟
(۳۰ دى ۱۳۹۳ ۱۱:۵۴ ق.ظ)amin1371 نوشته شده توسط: ممنون از اینکه من رو هم مطمین کردیدبرای سوال جدید باید تاپیک جدید ایجاد کنید.
شما درمورد static scoping و daynamic scoping هم اطلاعاتی دارین؟
ارسال: #۹
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۲:۰۵ ب.ظ)Ametrine نوشته شده توسط:کتاب من پوران هست(30 دى ۱۳۹۳ ۱۱:۵۱ ق.ظ)bluebaran نوشته شده توسط: بله مقدار (۱+۲)s میره به خروجی یعنی cیعنی الان خروجی این کد چی میشه از نظر شما؟
این جوابی که من بدست اوردم مطابق با کتاب هست.
شما مطابق با چه کتابی حل کردید.
اصلاً این مطلبی که میگید تو کدوم کتاب نوشته؟
و کلا فراخوانی با نام یعنی ما پارامتر واقعی رو ارسال میکنیم به زیربرنامه و هر جا که استفاده شده و در اون لحظه محاسبه رو انجام میدیم نه قبل از ارسال واسه همینه که میگیم با ارجاع یکیه در صورتی که متغیر ما معمولی باشه و اگه مثل اینجا آرایه با اندیس متغیر باشه و اندیس داخل زیربرنامه تغییر کنه دیگه یکی نیست
ارسال: #۱۰
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۲:۰۵ ب.ظ)Ametrine نوشته شده توسط: [quote='bluebaran' pid='328220' dateline='1421738474']یعنی الان خروجی این کد چی میشه از نظر شما؟
بله مقدار (۱+۲)s میره به خروجی یعنی c
این جوابی که من بدست اوردم مطابق با کتاب هست.
شما مطابق با چه کتابی حل کردید.
اصلاً این مطلبی که میگید تو کدوم کتاب نوشته؟
خروجی c 1 1 هست منابع من کتابای پارسه هست ولی بیشتر از توی جواب تستا میشه روش حل کردن رو پیدا کرد یعنی حل تستای زیاد
ارسال: #۱۱
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۲:۱۳ ب.ظ)bluebaran نوشته شده توسط: کتاب من پوران هستاینجوری خروجی C 1 1 میشه که.
و کلا فراخوانی با نام یعنی ما پارامتر واقعی رو ارسال میکنیم به زیربرنامه و هر جا که استفاده شده و در اون لحظه محاسبه رو انجام میدیم نه قبل از ارسال واسه همینه که میگیم با ارجاع یکیه در صورتی که متغیر ما معمولی باشه و اگه مثل اینجا آرایه با اندیس متغیر باشه و اندیس داخل زیربرنامه تغییر کنه دیگه یکی نیست
خب آخه تو گزینه ها اصلا C نداره!
ارسال: #۱۲
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۲:۱۹ ب.ظ)Ametrine نوشته شده توسط:(30 دى ۱۳۹۳ ۱۲:۱۳ ب.ظ)bluebaran نوشته شده توسط: کتاب من پوران هستاینجوری خروجی C 1 1 میشه که.
و کلا فراخوانی با نام یعنی ما پارامتر واقعی رو ارسال میکنیم به زیربرنامه و هر جا که استفاده شده و در اون لحظه محاسبه رو انجام میدیم نه قبل از ارسال واسه همینه که میگیم با ارجاع یکیه در صورتی که متغیر ما معمولی باشه و اگه مثل اینجا آرایه با اندیس متغیر باشه و اندیس داخل زیربرنامه تغییر کنه دیگه یکی نیست
خب آخه تو گزینه ها اصلا C نداره!
مگه همیشه گزینه درست تو گزینه ها هست
ارسال: #۱۳
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۲:۱۹ ب.ظ)Ametrine نوشته شده توسط:(30 دى ۱۳۹۳ ۱۲:۱۳ ب.ظ)bluebaran نوشته شده توسط: کتاب من پوران هستاینجوری خروجی C 1 1 میشه که.
و کلا فراخوانی با نام یعنی ما پارامتر واقعی رو ارسال میکنیم به زیربرنامه و هر جا که استفاده شده و در اون لحظه محاسبه رو انجام میدیم نه قبل از ارسال واسه همینه که میگیم با ارجاع یکیه در صورتی که متغیر ما معمولی باشه و اگه مثل اینجا آرایه با اندیس متغیر باشه و اندیس داخل زیربرنامه تغییر کنه دیگه یکی نیست
خب آخه تو گزینه ها اصلا C نداره!
من گزینه هاشو ندارم ک ببینم ولی طبق قواعدی ک هست باید خروجی c بشه
ارسال: #۱۴
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۲:۳۲ ب.ظ)Ametrine نوشته شده توسط:(30 دى ۱۳۹۳ ۱۲:۱۸ ب.ظ)amin1371 نوشته شده توسط: خروجی c 1 1 هست منابع من کتابای پارسه هست ولی بیشتر از توی جواب تستا میشه روش حل کردن رو پیدا کرد یعنی حل تستای زیادخب من بجز این، تست دیگه ای ندیدم که اینجوری پارامتر ارسال کنه.
اگه شما دیدید بذارید اینجا لطفاً.
سال ۸۸ یه تست دیگه هست ک با سه روش فراخوانی با نام و ارجاع و مقدار و نتیجه جوابو خواسته یه نگاهی بهش بندازین خوبه
(۳۰ دى ۱۳۹۳ ۱۲:۵۴ ب.ظ)afagh.msm نوشته شده توسط: سلام بچه ها
گزینه درست B 1 1
اصلا داخل گزینه ها c وجود نداره ولی من خودم هم فک میکنم باید c ب جای B قرار میگرفته چون ارجاع با نام ارگومان ها ارزیابی نشده ارسال میشن و موقع ارجاع به اونا در محیط ارجاعی که به عنوان پارامتر ارسال شدند ارزیابی میشه.
حالا توضیحی که پوران گفته برای این سوال اینه :
در ()P ابتدا j برابر ۲ می شود سپس دستور دوم این طور ارزیابی میشود:
i=i+1
چون ارگومان X به جای i سراسری نشسته است و مقدار i سراسری برابر ۱ می گردد.دستور چاپ y در ()p مقدار [ s [j+1 را چاپ می کند منتها j در محیط سراسری ارزیابی می شود نه درون ()p پس مقدارش ۱ است نه ۲ لذا مقدار [۲]s که 'B' چاپ می شود دستور چاپ i هم به i سراسری اشاره می کند که هم اکنون مقدارش ۱ است و پس از برگشت مقدار i دوباره چاپ می شود لذا خروجی
'B',1,1 است
نظرتون؟؟؟
اگه اینجوری باشه درسته
پس توی فراخوانی با نام از متغیرهای سراسری باید استفاده کنیم؟
توی فراخوانی با ارجاع چی؟
ارسال: #۱۵
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۰۱:۰۴ ب.ظ)amin1371 نوشته شده توسط:(30 دى ۱۳۹۳ ۱۲:۳۲ ب.ظ)Ametrine نوشته شده توسط:(30 دى ۱۳۹۳ ۱۲:۱۸ ب.ظ)amin1371 نوشته شده توسط: خروجی c 1 1 هست منابع من کتابای پارسه هست ولی بیشتر از توی جواب تستا میشه روش حل کردن رو پیدا کرد یعنی حل تستای زیادخب من بجز این، تست دیگه ای ندیدم که اینجوری پارامتر ارسال کنه.
اگه شما دیدید بذارید اینجا لطفاً.
سال ۸۸ یه تست دیگه هست ک با سه روش فراخوانی با نام و ارجاع و مقدار و نتیجه جوابو خواسته یه نگاهی بهش بندازین خوبه
(۳۰ دى ۱۳۹۳ ۱۲:۵۴ ب.ظ)afagh.msm نوشته شده توسط: سلام بچه ها
گزینه درست B 1 1
اصلا داخل گزینه ها c وجود نداره ولی من خودم هم فک میکنم باید c ب جای B قرار میگرفته چون ارجاع با نام ارگومان ها ارزیابی نشده ارسال میشن و موقع ارجاع به اونا در محیط ارجاعی که به عنوان پارامتر ارسال شدند ارزیابی میشه.
حالا توضیحی که پوران گفته برای این سوال اینه :
در ()P ابتدا j برابر ۲ می شود سپس دستور دوم این طور ارزیابی میشود:
i=i+1
چون ارگومان X به جای i سراسری نشسته است و مقدار i سراسری برابر ۱ می گردد.دستور چاپ y در ()p مقدار [ s [j+1 را چاپ می کند منتها j در محیط سراسری ارزیابی می شود نه درون ()p پس مقدارش ۱ است نه ۲ لذا مقدار [۲]s که 'B' چاپ می شود دستور چاپ i هم به i سراسری اشاره می کند که هم اکنون مقدارش ۱ است و پس از برگشت مقدار i دوباره چاپ می شود لذا خروجی
'B',1,1 است
نظرتون؟؟؟
اگه اینجوری باشه درسته
پس توی فراخوانی با نام از متغیرهای سراسری باید استفاده کنیم؟
توی فراخوانی با ارجاع چی؟
داخل ارجاع ادرسو میفرستیم و با ادرسا کار میکنیم داخل نام چون نام متغیر رفته اینجوری میشه
۰
ارسال: #۱۶
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
سلام بچه ها
گزینه درست B 1 1
اصلا داخل گزینه ها c وجود نداره چون ارجاع با نام ارگومان ها ارزیابی نشده ارسال میشن و موقع ارجاع به اونا در محیط ارجاعی که به عنوان پارامتر ارسال شدند ارزیابی میشه.
حالا توضیحی که پوران گفته برای این سوال اینه :
در ()P ابتدا j برابر ۲ می شود سپس دستور دوم این طور ارزیابی میشود:
i=i+1
چون ارگومان X به جای i سراسری نشسته است و مقدار i سراسری برابر ۱ می گردد.دستور چاپ y در ()p مقدار [ s [j+1 را چاپ می کند منتها j در محیط سراسری ارزیابی می شود نه درون ()p پس مقدارش ۱ است نه ۲ لذا مقدار [۲]s که 'B' چاپ می شود دستور چاپ i هم به i سراسری اشاره می کند که هم اکنون مقدارش ۱ است و پس از برگشت مقدار i دوباره چاپ می شود لذا خروجی
'B',1,1 است
نظرتون؟؟؟
گزینه درست B 1 1
اصلا داخل گزینه ها c وجود نداره چون ارجاع با نام ارگومان ها ارزیابی نشده ارسال میشن و موقع ارجاع به اونا در محیط ارجاعی که به عنوان پارامتر ارسال شدند ارزیابی میشه.
حالا توضیحی که پوران گفته برای این سوال اینه :
در ()P ابتدا j برابر ۲ می شود سپس دستور دوم این طور ارزیابی میشود:
i=i+1
چون ارگومان X به جای i سراسری نشسته است و مقدار i سراسری برابر ۱ می گردد.دستور چاپ y در ()p مقدار [ s [j+1 را چاپ می کند منتها j در محیط سراسری ارزیابی می شود نه درون ()p پس مقدارش ۱ است نه ۲ لذا مقدار [۲]s که 'B' چاپ می شود دستور چاپ i هم به i سراسری اشاره می کند که هم اکنون مقدارش ۱ است و پس از برگشت مقدار i دوباره چاپ می شود لذا خروجی
'B',1,1 است
نظرتون؟؟؟
ارسال: #۱۷
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۱۲:۵۴ ب.ظ)afagh.msm نوشته شده توسط: سلام بچه ها
گزینه درست B 1 1
اصلا داخل گزینه ها c وجود نداره ولی من خودم هم فک میکنم باید c ب جای B قرار میگرفته چون ارجاع با نام ارگومان ها ارزیابی نشده ارسال میشن و موقع ارجاع به اونا در محیط ارجاعی که به عنوان پارامتر ارسال شدند ارزیابی میشه.
حالا توضیحی که پوران گفته برای این سوال اینه :
در ()P ابتدا j برابر ۲ می شود سپس دستور دوم این طور ارزیابی میشود:
i=i+1
چون ارگومان X به جای i سراسری نشسته است و مقدار i سراسری برابر ۱ می گردد.دستور چاپ y در ()p مقدار [ s [j+1 را چاپ می کند منتها j در محیط سراسری ارزیابی می شود نه درون ()p پس مقدارش ۱ است نه ۲ لذا مقدار [۲]s که 'B' چاپ می شود دستور چاپ i هم به i سراسری اشاره می کند که هم اکنون مقدارش ۱ است و پس از برگشت مقدار i دوباره چاپ می شود لذا خروجی
'B',1,1 است
نظرتون؟؟؟
من الان این مبحثو از پرات خوندم و چه سوال خوبی بچه ها مطرح کردن من خودم به این نکته توجه نکرده بودم
حالا پرات چی گفته: گفته که وقتی با نام فراخوانی میکنیم درسته که پارامتر ارزیابی نشده ارسال میشه ولی باید در نظر بگیریم که وابستگی پارامتر در بلوک فراخواننده هستش
ارسال: #۱۸
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۰۱:۴۷ ب.ظ)bluebaran نوشته شده توسط: من الان این مبحثو از پرات خوندم و چه سوال خوبی بچه ها مطرح کردن من خودم به این نکته توجه نکرده بودمدرسته، الان دیدمش.
حالا پرات چی گفته: گفته که وقتی با نام فراخوانی میکنیم درسته که پارامتر ارزیابی نشده ارسال میشه ولی باید در نظر بگیریم که وابستگی پارامتر در بلوک فراخواننده هستش
ممنون
پس من جوابم رو ویرایش میکنم
۰
ارسال: #۱۹
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
سلام.به نظر من منم B,1,1 درسته.اینم مهندسی ۸۸ که جوابش ۴ میشه.با استدلالی مشابه
۰
ارسال: #۲۰
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
B 1 1 درسته چون اون j متغیر محلی تابع ۲ شده ربطی به j ما نداره...
فقط در جامع دوم پارسه نمی دونم چرا اونجوری شد! اگه اینجوری استدلال کنیم استدلالمون در تاپیک بررسی آزمون پارسه اشتباهه؟!
فقط در جامع دوم پارسه نمی دونم چرا اونجوری شد! اگه اینجوری استدلال کنیم استدلالمون در تاپیک بررسی آزمون پارسه اشتباهه؟!
۰
ارسال: #۲۱
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
کتاب پرات نوشته:
روش فراخوانی با نام با پارامترهای واقعی به صورت زیربرنامه های ساده ی بدون پارامتر رفتار میکند. هر زمانی که پارامتر رسمی با پارامتر واقعی با نام مطابقت مینماید و در زیربرنامه به آن رجوع میشود، زیربرنامه ای که برای آن پارامتر کامپایل شده است اجرا میگردد و باعث ارزشیابی پارامتر واقعی در محیط مناسب ارجاع میشود و نتیجه به عنوان مقدار زیربرنامه برگردانده میشود.
اینم از کتاب sebesta.
A pass-byname formal parameter is bound to an access method at the time of the subprogram call, but the actual binding to a value or an address is delayed until the formal parameter is assigned or referenced. Implementing a pass-by-name parameter requires a subprogram to be passed to the called subprogram to evaluate the address or value of the formal parameter. The referencing environment of the passed subprogram must also be passed.
روش فراخوانی با نام با پارامترهای واقعی به صورت زیربرنامه های ساده ی بدون پارامتر رفتار میکند. هر زمانی که پارامتر رسمی با پارامتر واقعی با نام مطابقت مینماید و در زیربرنامه به آن رجوع میشود، زیربرنامه ای که برای آن پارامتر کامپایل شده است اجرا میگردد و باعث ارزشیابی پارامتر واقعی در محیط مناسب ارجاع میشود و نتیجه به عنوان مقدار زیربرنامه برگردانده میشود.
اینم از کتاب sebesta.
A pass-byname formal parameter is bound to an access method at the time of the subprogram call, but the actual binding to a value or an address is delayed until the formal parameter is assigned or referenced. Implementing a pass-by-name parameter requires a subprogram to be passed to the called subprogram to evaluate the address or value of the formal parameter. The referencing environment of the passed subprogram must also be passed.
ارسال: #۲۲
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۰۸:۲۹ ب.ظ)Ametrine نوشته شده توسط: کتاب پرات نوشته:یعنی در اون سوال پارسه جواب با نام گزینه ۴ نمی شه؟
روش فراخوانی با نام با پارامترهای واقعی به صورت زیربرنامه های ساده ی بدون پارامتر رفتار میکند. هر زمانی که پارامتر رسمی با پارامتر واقعی با نام مطابقت مینماید و در زیربرنامه به آن رجوع میشود، زیربرنامه ای که برای آن پارامتر کامپایل شده است اجرا میگردد و باعث ارزشیابی پارامتر واقعی در محیط مناسب ارجاع میشود و نتیجه به عنوان مقدار زیربرنامه برگردانده میشود.
ارسال: #۲۳
  
RE: خروجی برنامه با استفاده از روش فراخوانی با نام
(۳۰ دى ۱۳۹۳ ۰۸:۴۷ ب.ظ)gogooli نوشته شده توسط: یعنی در اون سوال پارسه جواب با نام گزینه ۴ نمی شه؟اصلاً گزینه صحیح نداره!
با این تعریف ها، خروجی با نام و با ارجاعش مثل هم میشه.
---------------------------------------------------------------
دوستان ببخشید من اشتباه استدلال کرده بودم.
ارسال های اشتباهم رو پاک کردم تا دوستان گمراه نشن.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close