PDA

View Full Version : کسی میتواند در برنامه جدول کارنو طرحی ارائه دهد!!!



hedi
شنبه 11 فروردین 1386, 02:34 صبح
ما چند دانشجوی رشته کامپیوتر هستیم و در درس طراحی مدارهای منطقی برای (جدول کارنو)
چند الگوریتم ارائه کردیم ولی هرگز نتوانستیم اساس کا را پیاده سازی کنیم اگر کسی چیزی بلده ممنون می شم کمکمان کند

__H2__
شنبه 11 فروردین 1386, 13:47 عصر
سلام
منظورتان از طرح چیست؟ مشکلتان کجاست؟ سوال واضحی بپرسید!
طبیعتاَ باید یک الگوریتم طراحی کنید و یک آرایه دو بعدی به عنوان ماتریکس بسازید و در دو جفت حلقه ی تودرتو داده ها را تحلیل کنید.

برای طراحی اش باید کمی حوسله به خرج دهید.

hedi
شنبه 11 فروردین 1386, 21:00 عصر
اصلا می خوام بدونم برای نوشتن برنامه جدول کارنو سه متغیره چه کار باید کرد اگر کد نمونه ای باشد خیلی راحت تر می توان آنرا پیاده سازی کرد اگر شما چیزی بلدید درمورد روش کار مثلا برای همین 3 متغیره , کمی کمک کنید متشکر می شویم

__H2__
چهارشنبه 15 فروردین 1386, 12:50 عصر
سلام
اگر یک شمایی از الگوریتم کلی را میخواهید، باید کمی فرصت دهید تا فسفر بسوزونم!!!
انشاا... اگر خدایی ناکرده تا شنبه زنده بودم، جوابی میدهم.

شاید هم تا آن موقع کسی مشکلتان را حل کرد.

hedi
چهارشنبه 15 فروردین 1386, 19:38 عصر
متشکرم از توجه شما پس تا شنبه منتظر می مانم ...

__H2__
شنبه 18 فروردین 1386, 11:00 صبح
سلام
من معمولا از دستم در نمی رود! ولی دیدم هر چقدر که توضیح دهم آخر خواهند گفت همش تئوری میگه...

در نتیجه یک کلاسس چهارچوب برای شما تهیه کردم که شامل یک زیر کلاسس هم است و در کل با در نظر گیری سازنده های New دارای 9 تابع است.

برای حل یک مسئله همیشه سعی کنید آن را به واحدهای کوچک بشکنید، زور ذهن به بلوک های کوچک میرسد ولی به یک بلوک واحد و بزرگ نه! (ورق کاغذ و فلوچارت و این شنگولک منگولک بازی ها را هم نمی خواهد!)

توضیحات بیشتر را در فایل ضمینه داده ام.

از این 9 تابع 6 تابع را من تکمیل کرده ام و 3 تابع را شما باید تکمیل کنید!
مقادیر عمومی: شما مقادیر جدول (Me.Matrix) و اندازه ها (Me.RowsCount, Me.ColumnsCount, Me.VariantCount) و مقداری که باید دنبالش بگردید (M._ByValue) (صفر یا یک - True یا False) را دارید.

KarnaughEngine.FindChildBoxs
به این تابع ابعاد محدوده (مثلاَ 2 در 2) داده میشود و این تابع باید تمام این محدوده ها را بیابد و به متغیر ret اضافه کند.

KarnaughEngine.BoxToString
به این تابع یک محدوده شامل مختصات نقاط محدوده داده میشود و این تابع باید عبارت جبری String نظیر آن محدوده را پس دهد.

KarnaughEngine.Box.IsChildBox
دو محدوده کوچک و بزرگ در اختیار تابع قرار میگیرد و تابع باید تأیین کند محدوده کوچک تر داخل محدوده بزگ قرار دارد؟ مثلا در یک محدوده 2 در 2 ما دارای دو محدوده کوچمتر 1 در 2 و دومحدوده 2 در 1 هستیم، این تابع باید این وضعیت را تشخیص دهد.
این تابع راحت ترین است! کافیست در یک حلقه تمام نقاط عضو محدوده کوچکتر را چک کند و ببیند عضو محدوده بزرگ تر هستند؟ به محض یافتن اولین مقدار از خانه از محدوده کوچک که داخل محدوده بزرگ تر نیست باید مقدار False را پس دهد و اگر حلقه تمام شد و هیچ تضادی پیدا نشد باید True پس دهد.


برای حل سه تابع پیشنهاد میکنم:
1- نمونه کدهای من را برای توابع دیگر نوشته امن بدقت مطالعه کنید، تا هم باکد آشنا شوید و هم با الگوریتم.
2- در زمان حل هر تابع صرفاَ به آن تابع فکر کنید نه چیز دیگری. انگار به شما گفته اند فقط همین تابع را برای ما درست کن و برو!!!
3- اول از تابع KarnaughEngine.Box.IsChildBox شروع کنید که فوق العاده راحت است.


دانلود کد: (4KByte)
http://www.H002.info/Download.aspx?File=Temp/KarnaughEngine.vb
یا اگر نشد این یکی!
http://www.h-two.info/Download.aspx?File=Temp/KarnaughEngine.vb
این لینک ها با توجه به آخرین تاریخ دانلود امکان دارد تا دو هفته دیگر از بین بروند.
اگر احیاناَ، احتمالاَ، شاید(!) کسی بعد از این تاریخ وارد گود این تاپیک شد و احیاناَ، احتمالاَ، شاید(!) احساس کرد که به فایل نیاز دارد، بگوید تا یا مجدداَ Upload کنم یا برایش با Email بفرستم.

مجدداَ تکرار میکنم برای توضیحات بیشتر به انتهای فایل ضمینه مراجعه کنید.

موفق باشد.

hastik
یک شنبه 24 تیر 1386, 10:26 صبح
سلام
لینک های بالا وجود ندارند. می شه لطفا فایل را مجددا upload کنید.

__H2__
یک شنبه 24 تیر 1386, 10:33 صبح
سلام
چشم! ولی یک روز طول میکشد! چون خودم هم الآن ندارم و باید در تعدادی زیادی از CD های Backup که فقط تاریخ دارند یک فایل را پیدا کنم (همان سوزن و انبار کاه!!!)

__H2__
دوشنبه 25 تیر 1386, 10:55 صبح
سلام
این هم لینک جدید
http://www.H02.ir/Download.aspx?File=Temp/KarnaughEngine.vb

ضمناً از شما دوست عزیز هم به علت "جستجو" و نزدن تاپیک جدید تشکر میکنم!
بعضی از مواقع عنوان یک تاپیک را که میبینم از بس تکرار شده و مدام پرسیده اند و
نفربعدی هم مجدداً مطرح کرده، آدم واقعاً پنچر میشود!
مثل این است که در تلویزیون یک فیلم بدرد نخور را تکرار بگذارند!

ونیز یادآور میشوم خوشبختانه یا بدبختانه(!) کدها با VB8 نوشته شده.