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

کد میانی سه آدرسه

ارسال:
  

joyebright پرسیده:

کد میانی سه آدرسه

سلام ، استراتژی حل این سوالات به چه صورت هست؟


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

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

۰
ارسال:
  

Ametrine پاسخ داده:

RE: کد میانی سه آدرسه

از اولویت بالاتر شروع میکنیم و حاصل رو توی یک متغیر موقت میذاریم
تا اونجا که میشه سعی میکنیم از حداقل متغیرهای موقت استفاده کنیم.

[tex]a b((c d)\ast(k 1))[/tex]

[tex]T_1=c d[/tex]

[tex]T_2=k 1[/tex]

[tex]T_1=T_1\ast T_2[/tex]

[tex]T_1=b\ast T_1[/tex]

[tex]T_1=a\: T_1[/tex]

دو متغیر موقت استفاده شد پس به ۲ حافظه موقت نیاز داریم.
نقل قول این ارسال در یک پاسخ

ارسال:
  

joyebright پاسخ داده:

RE: کد میانی سه آدرسه

(۰۲ دى ۱۳۹۳ ۰۷:۴۸ ب.ظ)Ametrine نوشته شده توسط:  از اولویت بالاتر شروع میکنیم و حاصل رو توی یک متغیر موقت میذاریم
تا اونجا که میشه سعی میکنیم از حداقل متغیرهای موقت استفاده کنیم.

[tex]a b((c d)\ast(k 1))[/tex]

[tex]T_1=c d[/tex]

[tex]T_2=k 1[/tex]

[tex]T_1=T_1\ast T_2[/tex]

[tex]T_1=b\ast T_1[/tex]

[tex]T_1=a\: T_1[/tex]

دو متغیر موقت استفاده شد پس به ۲ حافظه موقت نیاز داریم.

یه سوالی ؟ چرا یک متغیر t2 دوباره تعریف کردید خوب دوباره می نوشتید [tex]T_1=T_1\ast K 1[/tex] مثل بقیه . آیا قانون خاص یا حدی در تعداد کاراکتر یا علامت در متغیر موقتی وجود دارد؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

Ametrine پاسخ داده:

RE: کد میانی سه آدرسه

(۰۲ دى ۱۳۹۳ ۰۸:۴۶ ب.ظ)joyebright نوشته شده توسط:  یه سوالی ؟ چرا یک متغیر t2 دوباره تعریف کردید خوب دوباره می نوشتید [tex]T_1=T_1\ast K 1[/tex] مثل بقیه . آیا قانون خاص یا حدی در تعداد کاراکتر یا علامت در متغیر موقتی وجود دارد؟
چون از کد سه آدرسه استفاده میکنیم.
فقط آدرس ۳تا متغیر رو میتونه بگیره.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

joyebright پاسخ داده:

RE: کد میانی سه آدرسه

(۰۲ دى ۱۳۹۳ ۰۹:۰۹ ب.ظ)Ametrine نوشته شده توسط:  
(02 دى ۱۳۹۳ ۰۸:۴۶ ب.ظ)joyebright نوشته شده توسط:  یه سوالی ؟ چرا یک متغیر t2 دوباره تعریف کردید خوب دوباره می نوشتید [tex]T_1=T_1\ast K 1[/tex] مثل بقیه . آیا قانون خاص یا حدی در تعداد کاراکتر یا علامت در متغیر موقتی وجود دارد؟
چون از کد سه آدرسه استفاده میکنیم.
فقط آدرس ۳تا متغیر رو میتونه بگیره.

خوب تو متغیر t1 سومین خط شما مجموعا ۴ تا متغیر دارید که ? لطف کنید این قسمتو توضیح بدید
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

Ametrine پاسخ داده:

RE: کد میانی سه آدرسه

(۰۲ دى ۱۳۹۳ ۰۹:۲۷ ب.ظ)joyebright نوشته شده توسط:  خوب تو متغیر t1 سومین خط شما مجموعا ۴ تا متغیر دارید که ? لطف کنید این قسمتو توضیح بدید
منظورتون این هست؟ T1=T1∗T2
دوتا متغیر هست که!
c+d محاسبه میشه و مقدارش میره توی T1
k+1 هم محاسبه میشه و مقدارش میره تو T2
حالا T1 و T2 هم ضرب میشن و دوباره میریزیمش تو T1
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

joyebright پاسخ داده:

RE: کد میانی سه آدرسه

(۰۲ دى ۱۳۹۳ ۰۹:۴۳ ب.ظ)Ametrine نوشته شده توسط:  
(02 دى ۱۳۹۳ ۰۹:۲۷ ب.ظ)joyebright نوشته شده توسط:  خوب تو متغیر t1 سومین خط شما مجموعا ۴ تا متغیر دارید که ? لطف کنید این قسمتو توضیح بدید
منظورتون این هست؟ T1=T1∗T2
دوتا متغیر هست که!
c+d محاسبه میشه و مقدارش میره توی T1
k+1 هم محاسبه میشه و مقدارش میره تو T2
حالا T1 و T2 هم ضرب میشن و دوباره میریزیمش تو T1

مگه تو t1 , t2 مجموعاً ۴ تا متغیر نیست؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

Ametrine پاسخ داده:

RE: کد میانی سه آدرسه

(۰۲ دى ۱۳۹۳ ۱۰:۳۵ ب.ظ)joyebright نوشته شده توسط:  مگه تو t1 , t2 مجموعاً ۴ تا متغیر نیست؟
نه، سه تا هست.
به نظرم شما باید اول کد سه آدرسه رو مطالعه کنید.
ببینید کد سه آدرسه ، ۳ عملوند میگیره. حالا این عملوندها میتونن متغیر باشن یا عدد.
(که البته واضح هست که نمیشه سمت چپ رو عدد گذاشت چون حاصل باید بره تو یه متغیر نه یه عدد!)
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

Ametrine پاسخ داده:

RE: کد میانی سه آدرسه

ببینید توی هر دستور حداکثر ۳ عملوند میتونیم داشته باشیم. تاکید میکنم توی هر دستور.
احتمالاً شما همه ی دستورات رو با هم حساب میکردید.

فکر کنم الان دیگه رفع ابهام شده باشه.
نقل قول این ارسال در یک پاسخ

ارسال: #۱۰
  

joyebright پاسخ داده:

RE: کد میانی سه آدرسه

(۰۳ دى ۱۳۹۳ ۱۱:۱۷ ق.ظ)Ametrine نوشته شده توسط:  ببینید توی هر دستور حداکثر ۳ عملوند میتونیم داشته باشیم. تاکید میکنم توی هر دستور.
احتمالاً شما همه ی دستورات رو با هم حساب میکردید.

فکر کنم الان دیگه رفع ابهام شده باشه.

یعنی شما هر موقع می نویسید t1=t2*2 اونموقع t1 هم خودش یه عملوند حساب میشه و دیگه به توی خود t1 , t2 نگاه نمی کنیم که چند تا عملوند دارن؟ درسته؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال: #۱۱
  

Ametrine پاسخ داده:

RE: کد میانی سه آدرسه

(۰۳ دى ۱۳۹۳ ۱۲:۱۵ ب.ظ)joyebright نوشته شده توسط:  یعنی شما هر موقع می نویسید t1=t2*2 اونموقع t1 هم خودش یه عملوند حساب میشه و دیگه به توی خود t1 , t2 نگاه نمی کنیم که چند تا عملوند دارن؟ درسته؟
آره دیگه. توش یه مقدار هست.
مثلاً c+d جمع دو عدد هست دیگه. با هم جمعشون میکنه مثلاً اگر c=2 و d=4 بوده حاصل که ۶ باشه میره تو t1.
در کل اینجا برامون مهم نیست توشون چی هست.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  مشکل در سوال .. تولید کد میانی بهینه mostafa2012 ۲ ۱,۹۳۰ ۰۲ بهمن ۱۳۹۳ ۰۵:۳۳ ب.ظ
آخرین ارسال: mostafa2012
  تولید کد میانی goto moloodi ۰ ۱,۲۲۰ ۲۵ آذر ۱۳۹۳ ۰۲:۲۵ ق.ظ
آخرین ارسال: moloodi
  ارسال ایمیل به آدرسهایی که با infoشروع میشوند mahtab26 ۴ ۳,۱۵۸ ۱۱ آذر ۱۳۹۳ ۰۲:۲۷ ب.ظ
آخرین ارسال: mahtab26
  مهندسی کامپیوتر ۸۲ - ماشین های چند آدرسه unicornux ۹ ۳,۹۳۴ ۰۸ بهمن ۱۳۹۲ ۱۱:۳۰ ب.ظ
آخرین ارسال: hosshah
  تعداد دستورات تک آدرسه(it92) behnam8811413 ۵ ۲,۷۵۸ ۰۱ دى ۱۳۹۲ ۰۲:۲۸ ب.ظ
آخرین ارسال: behnam8811413
  متغییر های میانی؟ *Najmeh* ۵ ۳,۷۲۲ ۱۴ اسفند ۱۳۹۰ ۰۳:۴۸ ب.ظ
آخرین ارسال: mfXpert

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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