زمان کنونی: ۱۰ اردیبهشت ۱۴۰۳, ۰۱:۱۵ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

زیر برنامه های بازگشتی سال ۸۲ و ۸۰

ارسال:
  

m@hboobe پرسیده:

زیر برنامه های بازگشتی سال ۸۲ و ۸۰

اصلا متوجه نمیشم این دو سوال به چه صورت حل شده؟؟!!Huh ممنون میشم کمکم کنید

بعد از حل تستها متوجه شدم تکه برنامه هایی که بعد از فراخوانی خود تابع باز دستور هست مقداری مشکل دارم!!!

جواب هر دو تست گزینه ۴ هست.


فایل‌(های) پیوست شده

نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

ahp89 پاسخ داده:

RE: زیر برنامه های بازگشتی سال ۸۲ و ۸۰

(۱۰ مهر ۱۳۹۱ ۱۱:۵۱ ب.ظ)m@hboobe نوشته شده توسط:  اصلا متوجه نمیشم این دو سوال به چه صورت حل شده؟؟!!Huh ممنون میشم کمکم کنید

بعد از حل تستها متوجه شدم تکه برنامه هایی که بعد از فراخوانی خود تابع باز دستور هست مقداری مشکل دارم!!!

جواب هر دو تست گزینه ۴ هست.

ببین قرار نیس F1و F2 همزمان اجرا شن اول F1 اجرا کن جوابتو بگیر و بعد F2 رو اجرا کن ببین جواب چی میشه که من مراحل اجرایه F1 رو میگم
-F1 با ورودی ۴ اجرامیشه
-F2 با ورودی ۳ صدا زده میشه و همزمان printf 4 در پشته قرار میگیره
-F2 عبارت printf y+1 که برابر ۴ میشود را چاپ می کند پس تا الان ما فقط عدد چهار رو چاپ کردیم.
-F2 تابع F1 را با ورودی ۲ صدا میزند .
-F1 با ورودی ۱ تا بع f2 را صدا میزند و همزمان printf 2 را در پشته ذخیره میکند .
-تابع F2 عدد ۲ را چاپ میکند .(پس تا اینجا ۴۲چاپ شده) و تابع F1 با ورودی ۰ صدا زده میشود.
-F1 با وردی ۰ دیگر F2 را صدا نمیزند و print 0 اجرا میشود و خروجی تا اینجا ۴۲۰ است
-در پایان پشته هم خالی میشود که نتیجه ۴۲۰۲۴خواهد شد.

سواله بعدیتون هم هینطور حل میشه.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

sahar2 پاسخ داده:

زیر برنامه های بازگشتی سال ۸۲ و ۸۰

من یه سوال دارم، چرا قبل از اینکه به سراغ ّF2 بریم مقدار printf 4 رو در پشته ذخیره میکنیم؟؟ چون اگه به F2 بریم و برگردیم مقدار آن تغییر خواهد کرد?
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

mfXpert پاسخ داده:

زیر برنامه های بازگشتی سال ۸۲ و ۸۰

(۱۴ مهر ۱۳۹۱ ۰۴:۴۳ ق.ظ)sahar2 نوشته شده توسط:  من یه سوال دارم، چرا قبل از اینکه به سراغ ّF2 بریم مقدار printf 4 رو در پشته ذخیره میکنیم؟؟ چون اگه به F2 بریم و برگردیم مقدار آن تغییر خواهد کرد?
دستوری در پشته ذخیره نمیشه. این آدرس دستور printf x هست که در پشته ذخیره میشه تا بعد از بازگشت از زیربرنامه F1 بدونیم که از کجا باید ادامه کار بدیم. با توجه به اینکه مقدار x به صورت "پارامتر با مقدار" به زیربرنامه F1 فرستاده میشه پس مقدار x قبل از فراخوانی F1 با مقدار x بعد از فراخوانی F1 هیچ تفاوتی نداره. در اینجا مقدار x قبل از فراخوانی F1 برابر با ۴ هستش و بعد از فراخوانی هم همون ۴ باقی خواهد موند.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

csharpisatechnology پاسخ داده:

زیر برنامه های بازگشتی سال ۸۲ و ۸۰

ببینید وقتی( F2(x رو با مقدار ۱-۴ یعنی ۳ فراخوانی میکنیم اگر توش داشته باشیم
(F1(X-1
(print(x
==
مقدار ۳ برای خط (print(x به صورت ("print("3 توی پشته ذخیره میشه و اول F1 با( F1(3-2 فراخوانی میشه و کاراشو انجام میده وقتی کارش تمام شد،این print_3 از پشته ورداشته میشه و ادامه ی عملیات رو کامپایلر یا مفسر انجام میده
==
پس اگه تا آخر برنامه برید برای تست اول،گزینه ی ۴ درست هست
=================
در تست دوم هم ابتدا مقدار ۱ ریترن میشه و میره توی r بعدش این ۱ باعث میشه مقدار ۵ ریترن بشه بریزه توی r و در نهایت ۵*۵ = ۲۵ و سپس ۲۵ * ۵ = ۱۲۵ برگشت داده میشه
پس اینجا هم گزینه ی ۴ درست هست.
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  کمک برای شروع برنامه نویسی seyed ehsn ۲۱ ۱۴,۳۸۳ ۲۴ بهمن ۱۴۰۲ ۰۵:۱۰ ب.ظ
آخرین ارسال: maryamjafari63
  رودمپی برای برنامه نویسی Doctorwho ۱ ۱,۸۰۹ ۲۵ آذر ۱۴۰۰ ۰۳:۰۲ ق.ظ
آخرین ارسال: one hacker alone
  استخدام برنامه نویس یا کارآموز برنامه نویسی سی شارپ Hesitant_Girl ۰ ۱,۵۱۹ ۲۰ شهریور ۱۴۰۰ ۱۲:۰۲ ب.ظ
آخرین ارسال: Hesitant_Girl
  رودمپی برای یادگیری برنامه نویسی Doctorwho ۰ ۱,۶۰۶ ۲۳ اردیبهشت ۱۴۰۰ ۱۱:۲۲ ق.ظ
آخرین ارسال: Doctorwho
  درخواست برنامه برای اردینو در iot seokheiry ۱ ۳,۰۱۹ ۱۳ بهمن ۱۳۹۹ ۱۲:۵۵ ب.ظ
آخرین ارسال: iot-programer
  کدام زبان برنامه‌نویسی بهترین انتخاب است؟ elecomco ۲ ۲,۸۰۰ ۱۰ شهریور ۱۳۹۹ ۰۵:۱۶ ب.ظ
آخرین ارسال: kilookiloo
Sad مشکل در برنامه نویسی شیء گرا Xialu ۰ ۱,۹۹۱ ۰۵ شهریور ۱۳۹۹ ۱۲:۰۰ ب.ظ
آخرین ارسال: Xialu
  برای آموزش مبانی برنامه نویسی چکار کنیم؟ elecomco ۰ ۲,۳۲۹ ۱۹ تیر ۱۳۹۹ ۱۲:۰۵ ق.ظ
آخرین ارسال: elecomco
  همکار در حوزه speech recognition و برنامه نویسی اندروید pasargad7788 ۰ ۱,۹۹۸ ۳۱ خرداد ۱۳۹۹ ۰۹:۰۶ ب.ظ
آخرین ارسال: pasargad7788
  چرا یادگیری برنامه نویسی ؟ elecomco ۰ ۲,۲۹۰ ۰۲ خرداد ۱۳۹۹ ۰۲:۵۷ ب.ظ
آخرین ارسال: elecomco

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close