![]() |
کد میانی سه آدرسه - نسخهی قابل چاپ |
کد میانی سه آدرسه - joyebright - 02 دى ۱۳۹۳ ۰۶:۳۵ ب.ظ
سلام ، استراتژی حل این سوالات به چه صورت هست؟ |
RE: کد میانی سه آدرسه - Ametrine - 02 دى ۱۳۹۳ ۰۷:۴۸ ب.ظ
از اولویت بالاتر شروع میکنیم و حاصل رو توی یک متغیر موقت میذاریم تا اونجا که میشه سعی میکنیم از حداقل متغیرهای موقت استفاده کنیم. [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] دو متغیر موقت استفاده شد پس به ۲ حافظه موقت نیاز داریم. |
RE: کد میانی سه آدرسه - joyebright - 02 دى ۱۳۹۳ ۰۸:۴۶ ب.ظ
(۰۲ دى ۱۳۹۳ ۰۷:۴۸ ب.ظ)Ametrine نوشته شده توسط: از اولویت بالاتر شروع میکنیم و حاصل رو توی یک متغیر موقت میذاریم یه سوالی ؟ چرا یک متغیر t2 دوباره تعریف کردید خوب دوباره می نوشتید [tex]T_1=T_1\ast K 1[/tex] مثل بقیه . آیا قانون خاص یا حدی در تعداد کاراکتر یا علامت در متغیر موقتی وجود دارد؟ |
RE: کد میانی سه آدرسه - Ametrine - 02 دى ۱۳۹۳ ۰۹:۰۹ ب.ظ
(۰۲ دى ۱۳۹۳ ۰۸:۴۶ ب.ظ)joyebright نوشته شده توسط: یه سوالی ؟ چرا یک متغیر t2 دوباره تعریف کردید خوب دوباره می نوشتید [tex]T_1=T_1\ast K 1[/tex] مثل بقیه . آیا قانون خاص یا حدی در تعداد کاراکتر یا علامت در متغیر موقتی وجود دارد؟چون از کد سه آدرسه استفاده میکنیم. فقط آدرس ۳تا متغیر رو میتونه بگیره. |
RE: کد میانی سه آدرسه - joyebright - 02 دى ۱۳۹۳ ۰۹:۲۷ ب.ظ
(۰۲ دى ۱۳۹۳ ۰۹:۰۹ ب.ظ)Ametrine نوشته شده توسط:(02 دى ۱۳۹۳ ۰۸:۴۶ ب.ظ)joyebright نوشته شده توسط: یه سوالی ؟ چرا یک متغیر t2 دوباره تعریف کردید خوب دوباره می نوشتید [tex]T_1=T_1\ast K 1[/tex] مثل بقیه . آیا قانون خاص یا حدی در تعداد کاراکتر یا علامت در متغیر موقتی وجود دارد؟چون از کد سه آدرسه استفاده میکنیم. خوب تو متغیر t1 سومین خط شما مجموعا ۴ تا متغیر دارید که ? لطف کنید این قسمتو توضیح بدید |
RE: کد میانی سه آدرسه - Ametrine - 02 دى ۱۳۹۳ ۰۹:۴۳ ب.ظ
(۰۲ دى ۱۳۹۳ ۰۹:۲۷ ب.ظ)joyebright نوشته شده توسط: خوب تو متغیر t1 سومین خط شما مجموعا ۴ تا متغیر دارید که ? لطف کنید این قسمتو توضیح بدیدمنظورتون این هست؟ T1=T1∗T2 دوتا متغیر هست که! c+d محاسبه میشه و مقدارش میره توی T1 k+1 هم محاسبه میشه و مقدارش میره تو T2 حالا T1 و T2 هم ضرب میشن و دوباره میریزیمش تو T1 |
RE: کد میانی سه آدرسه - joyebright - 02 دى ۱۳۹۳ ۱۰:۳۵ ب.ظ
(۰۲ دى ۱۳۹۳ ۰۹:۴۳ ب.ظ)Ametrine نوشته شده توسط:(02 دى ۱۳۹۳ ۰۹:۲۷ ب.ظ)joyebright نوشته شده توسط: خوب تو متغیر t1 سومین خط شما مجموعا ۴ تا متغیر دارید که ? لطف کنید این قسمتو توضیح بدیدمنظورتون این هست؟ T1=T1∗T2 مگه تو t1 , t2 مجموعاً ۴ تا متغیر نیست؟ |
RE: کد میانی سه آدرسه - Ametrine - 02 دى ۱۳۹۳ ۱۱:۳۸ ب.ظ
(۰۲ دى ۱۳۹۳ ۱۰:۳۵ ب.ظ)joyebright نوشته شده توسط: مگه تو t1 , t2 مجموعاً ۴ تا متغیر نیست؟نه، سه تا هست. به نظرم شما باید اول کد سه آدرسه رو مطالعه کنید. ببینید کد سه آدرسه ، ۳ عملوند میگیره. حالا این عملوندها میتونن متغیر باشن یا عدد. (که البته واضح هست که نمیشه سمت چپ رو عدد گذاشت چون حاصل باید بره تو یه متغیر نه یه عدد!) |
RE: کد میانی سه آدرسه - Ametrine - 03 دى ۱۳۹۳ ۱۱:۱۷ ق.ظ
ببینید توی هر دستور حداکثر ۳ عملوند میتونیم داشته باشیم. تاکید میکنم توی هر دستور. احتمالاً شما همه ی دستورات رو با هم حساب میکردید. فکر کنم الان دیگه رفع ابهام شده باشه. |
RE: کد میانی سه آدرسه - joyebright - 03 دى ۱۳۹۳ ۱۲:۱۵ ب.ظ
(۰۳ دى ۱۳۹۳ ۱۱:۱۷ ق.ظ)Ametrine نوشته شده توسط: ببینید توی هر دستور حداکثر ۳ عملوند میتونیم داشته باشیم. تاکید میکنم توی هر دستور. یعنی شما هر موقع می نویسید t1=t2*2 اونموقع t1 هم خودش یه عملوند حساب میشه و دیگه به توی خود t1 , t2 نگاه نمی کنیم که چند تا عملوند دارن؟ درسته؟ |
RE: کد میانی سه آدرسه - Ametrine - 03 دى ۱۳۹۳ ۱۲:۲۳ ب.ظ
(۰۳ دى ۱۳۹۳ ۱۲:۱۵ ب.ظ)joyebright نوشته شده توسط: یعنی شما هر موقع می نویسید t1=t2*2 اونموقع t1 هم خودش یه عملوند حساب میشه و دیگه به توی خود t1 , t2 نگاه نمی کنیم که چند تا عملوند دارن؟ درسته؟آره دیگه. توش یه مقدار هست. مثلاً c+d جمع دو عدد هست دیگه. با هم جمعشون میکنه مثلاً اگر c=2 و d=4 بوده حاصل که ۶ باشه میره تو t1. در کل اینجا برامون مهم نیست توشون چی هست. |