DD_Bonus Mark Assignment_QM Algorithm Implementation.pdf

‫مدار های منطقی (‪)04-222‬‬
‫مدرس‪ :‬دکتر اجاللی‬
‫نيمسال دوم ‪02-04‬‬
‫دانشکده مهندسی کامپيوتر‬
‫تمرین نمره اضافه – پيادهسازی الگوریتم ساده سازی ‪QUINE–MCCLUSKEY‬‬
‫مهلت تحویل ‪91/2/8‬‬
‫در این تمرین باید الگوریتم سادهسازی ‪ Quine–McCluskey‬را با یکی زبانهای ‪ C/C++, Java‬پيادهسازی‬
‫کنيد‪ .‬برای این منظور باید برنامه ای بنویسيد که یک تابع جبری با تعداد متغیر دلخواه را از ورودی گرفته و به‬
‫کمک الگوریتم و طی کردن مراحلی که در شرح آن آورده شده است‪ ،‬عمليات سادهسازی را انجام دهد و عبارت منطقی‬
‫ساده شده را در خروجی چاپ کند‪.‬‬
‫برای هر تابع ابتدا تعداد متغيرهای آن از ورودی خوانده می شود‪ ،‬سپس تعداد ‪ Minterm‬ها و بعد از آن شماره‬
‫‪ Minterm‬ها گرفته میشود‪ .‬متغيرهای توابع را به ترتيب حروف الفبای انگليسی در نظر بگيرید‪)a, a’( .‬‬
‫نمونهای از ورودی و خروجی برای برنامهی مورد نظر در زیر آورده شده است‪:‬‬
‫‪Input:‬‬
‫‪6‬‬
‫‪10‬‬
‫‪1 2 3 4 10 11 12 15 22 32‬‬
‫‪Output:‬‬
‫‪ab'+c'd'+a'+ac'e'f‬‬
‫توجه!‬
‫‬‫‬‫‪-‬‬
‫این تمرین اختياری است و انجام آن به صورت نمره اضافه بر نمرهی کل تمرین ها در نظر گرفته میشود‪.‬‬
‫به منظور سادهسازی میتوانيد تصور کنيد که تعداد متغير های برنامه حداکثر ‪ 22‬است‪.‬‬
‫در نظر گرفتن ‪ Don’t Care‬ها اختياری است و در صورت پيادهسازی صحيح نمره مخصوص خود را خواهد داشت‪ .‬برای این منظور‬
‫میتوانيد فرض کنيد که در خط ‪ 4‬ام ورودی تعداد ‪ Don’t Care‬ها و در خط در بعد شماره ی آنها خواهد آمد‪.‬‬
‫در هنگام چاپ‪ ،‬ترتيب جمالت عبارت ساده شده اهميتی ندارد‪.‬‬
‫برای سادگی نمرهدهی‪ ،‬ورودیها را از فایل ‪ in.txt‬خوانده و نتایج را به ترتيب در فایل ‪ out.txt‬بنویسيد‪.‬‬
‫‪-‬‬
‫کد های خود و مستندی از شرح پیاده سازی الگوریتم و مراحل آن و اجزای برنامه ی خود (کالس ها‪ ،‬توابع و ‪ )...‬را تا‬
‫‬‫‪-‬‬
‫‪-‬‬
‫قبل از مهلت اعالم شده به آدرس ‪ [email protected]‬ارسال کنيد‪ .‬این تمرین را باید به صورت حضوری تحویل دهيد (که‬
‫زمان بندی آن متعاقبا اعالم می شود) و نمره دهی بر اساس صحت نتایج و کيفيت کارتان خواهد بود‪.‬‬
‫این تمرین تک نفره است و رعایت اخالق آکادميک الزامی است! در صورت مشاهده مشابهت با کدهای آماده و یا دیگران‪ ،‬شخص‬
‫خاطی جریمه خواهد شد‪.‬‬
‫موفق باشيد ‪‬‬
‫ایزدی راد‬