فی فوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فی فوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

دانلود مقاله کامل درباره برنامه نویسی شی گراء در دات نت

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

دانلود مقاله کامل درباره برنامه نویسی شی گراء در دات نت


دانلود مقاله کامل درباره برنامه نویسی شی گراء در دات نت

لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 29

 

مقدمه ای بر برنامه نویسی شی گراء در دات نت

برنامه نویسی شی گراء، بدون شک مهمترین تحول در دنیای نرم افزار طی سالیان گذشته بوده که بیشترین تاثیر را در پیشبرد نرم افزار بدنبال داشته  و ما امروز در صنعت گسترده نرم افزار از دستاوردهای وسیع  آن بهره مند هستیم . در این مقاله قصد داریم ، به بررسی برنامه نویسی شی گراء پرداخته و از این زاویه نگاهی به دات نت  داشته باشیم .

بمنظور شناخت برنامه نویسی شی گراء ، کافی است به اطراف خود نگاهی داشته باشیم .جارو برقی ، قهوه جوش ، پنکه سقفی  و مجموعه بسیار گسترده ای  از سایر اشیاء را پیرامون زندگی خود مشاهده می نمائیم . اشیاء ما را محاصره و یا در محاصره اشیاء می باشیم . برخی از این اشیاء نظیر دوربین ، مستقل عمل نموه و برخی دیگر نظیر تلفن و ماشین های پاسخگو با سایر اشیاء ارتباط دارند . برخی از اشیاء دارای داده ها ئی می باشند که بین کاربران استفاده می گردد(یک دفترچه تلقن) . برخی از اشیاء شامل اشیاء دیگری می باشند، یک دستگاه بستنی ساز درون فریزر ، نمونه ای در این زمینه است .

بسیاری از اشیاء از لحاظ عملکرد با یکدیگر مشابه ولی از لحاظ اهداف با یکدیگر متفاوت می باشند . مثلا" وان حمام و سینک آشبزخانه هر دو امکان استفاده از آب را فراهم می نمایند ،ولی این کار بندرت اتفاق خواهد افتاد که شما در سینک آشبزخانه دوش گرفته و یا ظروف آشبزخانه خود را در وان حمام بشوئید! بهرحال وان حمام و سینک آشبزخانه موجود در منزل ، احتمالا" از یک لوله آب مشترک در ساختمان استفاده و اینترفیس آنها در موارد متعددی مشترک است ( پیچ آب گرم وسرد ، یک شیر آب ، یک فاضلاب ) .

در صورت تامل در ارتباط با اشیاء فوق ، با سوالات متعددی مواجه خواهیم شد . چه تفاوت هائی بین یک وان حمام و سینک آشبزحانه ، وجود دارد ؟ آیا اختلاف موجود به  محل آنها ، اندازه لگن و یا  گودی  آنها از سطح زمین برمی گردد. شباهت موجود بین اشیاء فوق چیست ؟
در برخی موارد انجام عملات یکسان در ارتباط با یک شی ، رفتارهای متفاوتی را بدنبال خواهد داشت . یک شی  قادر به انجام عملیات متفاوتی با توجه به ماهیت وضعیت بوجود آمده است . مثلا "  زمانیکه دکمه Play  یک دستگاه کنترل کننده DVD و یا VCD فعال می گردد ، دستگاه قوق ، یک فیلم را پخش و ما شاهد نمایش آن بر روی صفحه تلویزیون خواهیم بود. اما اگر یک CD در دستگاه Player باشد ، همزمان با فشردن دکمه Play ، دستگاه Player باعث پخش CD صوتی شده و ما شاهد نواختن موسیقی از بلندگوهای مربوطه خواهیم بود.  همانگونه که مشاهده می گردد در چنین وضعیتی ، فعال نمودن دکمه ها ی مشابه ، عملیات یکسان ولی با  نتایج متفاوت را بدنبال داشته است .

به بسیاری از اشیاء پیرامون خود، می توان بعنوان جعبه های سیاه  ( black box ) ، نگاه نمود.در چنین حالتی نسبت به اصول اولیه عملکرد شی مورد نظر و پردازش های اولیه آن شناخت لازم وجود خواهد داشت ولی بسیاری از جزئیات عملیاتی که یک شی انجام می دهد برای ما ناشناخته خواهد بود. اکثرا" در زمان استفاده از یک شی علاقه مند به رویکرد فوق می باشند ( آشنائی با پتانسیل های شی و نحوه بالفعل نمودن آنان و پرهیز از درگیر شدن و آگاهی از جزئیات مربوطه ) . در چنین مواردی برای استفاده از اشیاء موجود در منزل ، ضرورتی به آگاهی از مکانیزم داخلی بعنوان شرط لازم وجود نخواهد داشت و می توان بدون درگیر شدن در جزئیات از شی موجود استفاده نمود.

بمنظور بررسی موضوع اشاره شده ، می توانیم  نگاهی به عملکرد یک لامپ  100 وات ، داشته باشیم . سیم پیچ درون لامپ چیزی بیشتر از یک مقاومت ساده نیست . زمانیکه برق فعال ( سوئیج  فعال گردد) شده باشد ، حرارت سیم پیچ درون لامپ در حدود 2500 درجه سلسیوس ، خواهد بود.وضعیت فوق ، باعث تشعش گرما ئی متناسب با طول رشته سیم درون لامپ ( قطر خیر ) و حدود 1750 لومن ( واحد پخش نور) می گردد .بدین ترتیب نور مرئی با طول موجی حدود 555 نانومنر را شاهد خواهیم بود. رشته موجود در لامپ از تنگستن تشکیل شده است . آیا به این حجم ازاطلاعات بهمراه جزئیات مربوطه  در زمان استفاده از لامپ ، نیاز خواهیم داشت و یا  صرفا"  می خواهیم زمانیکه سوئیچ فعال می گردد، لامپ روشن و با سایر مسائل و نحوه انجام این کار ، کاری نداریم ؟ در این راستا ، استفاده کنندگان از لامپ آن را بمنزله یک جعبه سیاه در نظر گرفته و صرفا" تمایل به آگاهی از نحوه استفاده از اینترفیس مربوطه برای بخدمت گرفتن پتانسیل موجود را دارند .

هر شی دارای دو خصلت ذاتی است : وضعیت (  state ) و رفتار ( Behavior ) . مثلا" یک لامپ  دارای اطلاعاتی نظیر :  روشن/خاموش بودن  ، نام تجاری ، طول عمر و موارد دیگر است که جملگی وضعیت شی فوق را مشخص می نمایند. رفتار لامپ ، شامل ارائه نور و روشنائی است .
یک شی مسلما" نسبت به خود ، بمنزله  یک جزیره است . بسیاری از اشیاء بصورت دسته جمعی و با  تشریک مساعی در یک سیستم  قرار خواهند گرفت . مثلا"  تلویزیون و بلندگوهای آن بخشی از سیستمی می باشند که موسوم به تئاتر خانوادگی است . یخچال و اجاق گاز بخشی از سیستمی با نام آشپزخانه می باشند. این نوع سیستم ها خود متعلق به یک سیستم بزرگتر و با نام آپارتمان و یا خانه می باشند . مجموعه ای از آپارتمانها سیستم دیگری را با نام مجتمع ایجاد می نمایند.
یک نرم افزار را می توان  مشتمل بر مجموعه ای از اشیاء در نظر گرفت که هر یک پتانسیل های لازم را ارائه و با بخدمت گرفتن آنان و بهره گیری از پتانسیل های موجود زمینه نیل به اهداف  مورد نظر فراهم خواهد شد.   بمنظور طراحی و پیاده سازی یک برنامه شی گراء در اولین  مرحله می بایست ، اقدام به طراحی و ایجاد اشیاء مورد نظر با توجه به اهداف نرم افزار نمود.مرحله فوق ، اولین گام و بدون شک مهمترین مرحله در فرآیند ایجاد یک سیستم است . در مرحله دوم که ارزش آن شاید بمراتب بالاتر از مرحله قبل باشد ، می بایست نحوه ارتباط اشیاء با یکدیگر بدرستی مشخص گردد. در زمان ایجاد یک سیستم بزرگ که دارای پیچیدگی های خاص خود است ، می بایست نسبت به دو مرحله فوق ، شناخت لازم وجود داشته و بدون آگاهی لازم ، امکان ایچاد اینچنین سیستم های بزرگی با رویکرد شی گراء ، چالش های خاص خود را بدنبال خواهند داشت .  در چنین مواردی می توان فرآیند پیاده سازی یک سیستم را شامل دو مرحله مهم طراحی شی گراء و برنامه نویسی شی گراء در نظر گرفت . برنامه نویسی مبتنی بر عنصر ، پایه و اساس این نوع سیستم ها محسوب می گردد .  برنامه نویسی اشیاء در نرم افزار ، نیازمند یک زبان برنامه نویسی شی گراء نمی باشد و اگر از یک زبان برنامه نویسی شی گراء استفاده می گردد ، بدین مفهوم نخواهد بود که کد نوشته شده ، شی گراء خواهد بود. زبان ها صرفا" می توانند کمکی در فرآیند فوق را ارائه و هیچگونه تضمینی در این رابطه را ارائه نخواهند داد. با استفاده از ویژوال بیسیک ، امکان نوشتن نرم افزار شی گراء وجود خواهد داشت . البته لازم است به این موضوع اشاره گردد که نوشتن برنامه شی گراء در ویژوال بیسیک همواره بسادگی انجام نخواهد شد ، چراکه  ویژوال بیسیک همواره دارای رویکردی شی گراء نمی باشد. پیاده سازی عناصر باینری با قابلیت استفاده مجدد در ویژوال بیسک در حال حاضر میسر و امکان پذیراست ولی استفاده از اینگونه عناصر  بین زبان های متفاوت چالش های خود را بدنبال خواهد داشت . با عرضه دات نت که مطابق آخرین دستاوردهای علمی ایجاد شده است ، ویژوال بیسیک دات نت بعنوان یکی از زبانهای حمایت شده ،  دارای امکانات قدرتمند وغنی بمنظور استفاده ازمزایای آخرین دستاوردهای پیاده سازی در برنامه نویسی شی گراء است .

ویژوال بیسیک دات نت و برنامه نویسی شی گراء

ویژوال بیسیک دات نت یک زبان برنامه نویسی شی گراء کامل است . این بدان معنی است که زبان فوق از چهار اصل برنامه نویسی شی گراء یعنی : انتزاع (abstraction ) ، کپسوله سازی کد و داده  ( encapsulation  ) ، وراثت  ( inheritance) ، چند ریختی ( polymorphism ) حمایت می نماید. در ادامه با اصول چهار گانه فوق بیشتر آشنا شده و مشاهده خواهیم کرد که هر یک از اصول فوق، چه دستاوردی را  برای پیاده کنندگان نرم افزار شی گراء بدنبال خواهند داشت .

انتزاع  ( abstraction )

رادیو دارای یک تیونر ، یک آنتن ، یک پیچ صدا و یک سوئیچ روشن و خاموش است . بمنظور استفاده از رادیو، ضرورتی به به آگاهی از نحوه دریافت سیگنال هائی رادیوئی توسط آنتن مربوطه ، تبدیل آنان به سیگنال های الکتریکی ، تقویت قدرت آنان بر اساس یک مدار تقویت کننده فرکانس بالا ، نخواهد بود. در این راستا لازم نیست از نحوه فیلتر نمودن نتایج ، تقویت و تبدیل آنان به صوت ، آگاهی داشت .ما صرفا" رادیو را روشن و پس از تنظیم ایستگاه مورد علاقه خود ، از آن استفاده می نمائیم . بدین ترتیب استفاده کنندگان می توانند بدون آگاهی از جزئیات داخلی از رادیو استفاده نمایند. ویژگی فوق ،  بسیار مهم بوده و امکان استفاده از رادیو برای هر شخص فراهم می گردد ( نه فقط افرادیکه دارای اطلاعات فنی در رابطه با نحوه عملکرد آن می باشند). بنابراین می توان این استنباط را داشت که رادیو یک شی است که بگونه ای طراحی شده است که پیچیدگی ها ی مربوط نمایان نباشد ( مخفی شدن پیچیدگی ) .
در نرم افزار شی گراء ، پیچیدگی با استفاده از انتراع ، مدیریت می گردد . انتزاع ، فرآیندی است که بر اساس آن رفتار حیاتی و مهم یک شی مشخص و جزئیات نامرتبط  ، حذف می گردد. یک انتزاع خوش فکر ، عموما" ساده بوده و  سمت و سوی آن نگریستن به موضوع (شی ) از دیدگاه کاربر است . فرآیند انتزاع ، نسبت به ساختار و ماهیت شی مورد نظر متفاوت بوده و لازم است برای ایجاد یک انتزاع برتر و مناسب ، موضوع بدفعات و از زوایای متفاوت مورد بررسی قرار گیرد.مثلا" در صورتیکه  بخواهیم  از رادیو با دو هدف متفاوت : گوش دادن به موزیک و یا آمورش اصول الکترونیک ، استفاده نمائیم ، نگرش به انتزاع رادیو در هر یک از موارد فوق با یکدیگر متفاوت خواهد بود .
انتزاع ، یک باید غیر قابل اتتخاب و جزء لاینفک یک شی است . مثلا"  شی Button که در فرم های ویندوز و یا وب از آن بدفعات استفاده می گردد ، دارای متدی با نام  Click  است . متد فوق ، یک انتزاع است و چه بخواهیم و یا نخواهیم وجود خواهد داشت . ( تغییر شکل اولیه Button در زمانیکه بر روی آن کلیک می گردد ).  در این رابطه رویداد OnClick  یک انتخاب است که پیاده کنندگان می توانند با توجه به سیاست های موجود در نرم افزار نحوه برخورد با رویداد فوق را تبین و مشخص نمایند .

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید


دانلود با لینک مستقیم


دانلود مقاله کامل درباره برنامه نویسی شی گراء در دات نت

بازی دوز با سی شارپ

اختصاصی از فی فوو بازی دوز با سی شارپ دانلود با لینک مستقیم و پر سرعت .
بازی دوز با سی شارپ

این بازی در محیط کنسول اپلیکیشن ویژوال استودیو با استفاده از متد ها و آرایه ها ، کاراکتر ها و رشته ها و همچنین از برنامه نویسی شی گرا  در آن با ظاهری زیبا استفاده شده است.


دانلود با لینک مستقیم


بازی دوز با سی شارپ

مقاله در مورد هوش مصنوعی

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

مقاله در مورد هوش مصنوعی


مقاله در مورد هوش مصنوعی

لینک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

  

تعداد صفحه:43

 

  

 فهرست مطالب

 

 

مقدمه

 

آلن تورینگ

 

تاریخ هوش مصنوعی

 

AIهای متخصص:

 

زبان ، شناخت و خلاصه پردازی

 

توجه به سطح دانش

 

خصوصیات مطلوب یک زبان AI

 

 انعطاف پذیر بودن کنترل:

 

پشتیبانی از روش های برنامه نویسی جستجویی.

 

1-قابلیت Modularity کدها

 

2-قابلیت گسترش

 

3-وجود ساختارهای مفید سطح بالا

 

4-پشتیبانی برای ساخت Prototype اولیه

 

5-قابلیت خواندن برنامه و مستندسازی آن

 

6-مفسرها

 

7-محیطهای توسعه

 

  1. تعاریف مشخص و واضح

 

خلاصه ای دربارة LISP و PROLOG

 

  1. برنامه نویسی شیء گرا

 

 

 

مقدمه

 « هوش مصنوعی، دانش ساختن ماشین‌‌ ها یا برنامه‌های هوشمند است. »

 

   همانگونه که از تعریف فوق-که توسط یکی از بنیانگذاران هوش مصنوعی ارائه شده است- برمی‌آید،حداقل به دو سؤال باید پاسخ داد:
1ـ هوشمندی چیست؟
2ـ برنامه‌های هوشمند، چه نوعی از برنامه‌ها هستند؟

تعریف دیگری که از هوش مصنوعی می‌توان ارائه داد به قرار زیر است:
   « هوش مصنوعی، شاخه‌ایست از علم کامپیوتر که ملزومات محاسباتی اعمالی همچون ادراک (Perception)، استدلال(reasoning) و یادگیری(learning) را بررسی کرده و سیستمی جهت انجام چنین اعمالی ارائه می‌دهد

و در نهایت تعریف سوم هوش مصنوعی از قرار زیر است:
   «هوش مصنوعی، مطالعه روش‌هایی است برای تبدیل کامپیوتر به ماشینی که بتواند اعمال انجام شده توسط انسان را انجام دهد.»

   به این ترتیب می‌توان دید که دو تعریف آخر کاملاً دو چیز را در تعریف نخست واضح کرده‌اند.
1ـ منظور از موجود یا ماشین هوشمند چیزی است شبیه انسان.
2ـ ابزار یا ماشینی که قرار است محمل هوشمندی باشد یا به انسان شبیه شود، کامپیوتر است.

   هر دوی این نکات کماکان مبهم و قابل پرسشند. آیا تنها این نکته که هوشمندترین موجودی که می‌شناسیم، انسان است کافی است تا هوشمندی را به تمامی اعمال انسان نسبت دهیم؟ حداقل این نکته کاملاً واضح است که بعضی جنبه‌های ادراک انسان همچون دیدن و شنیدن کاملاً ضعیف‌تر از موجودات دیگر است.

   علاوه بر این، کامپیوترهای امروزی با روش‌هایی کاملاً مکانیکی(منطقی) توانسته‌اند در برخی جنبه‌های استدلال، فراتر از توانایی‌های انسان عمل کنند.

   بدین ترتیب، آیا می‌توان در همین نقطه ادعا کرد که هوش مصنوعی تنها نوعی دغدغه علمی یا کنجکاوی دانشمندانه است و قابلیت تعمق مهندسی ندارد؟(زیرا اگر مهندسی، یافتن روش‌های بهینه انجام امور باشد، به هیچ رو مشخص نیست که انسان اعمال خویش را به گونه‌ای بهینه انجام می‌دهد). به این نکته نیز باز خواهیم گشت.   اما همین سؤال را می‌توان از سویی دیگر نیز مطرح ساخت، چگونه می‌توان یقین حاصل کرد که کامپیوترهای امروزین، بهترین ابزارهای پیاده‌سازی هوشمندی هستند؟

   رؤیای طراحان اولیه کامپیوتر از بابیج تا تورینگ، ساختن ماشینی بود که قادر به حل تمامی  مسائل باشد، البته ماشینی که در نهایت ساخته شد(کامپیوتر) به جز دسته ای خاص از مسائل قادر به حل تمامی مسائل بود. اما نکته در اینجاست که این «تمامی مسائل» چیست؟ طبیعتاً چون طراحان اولیه کامپیوتر، منطق‌دانان و ریاضیدانان بودند، منظورشان تمامی مسائل منطقی یا محاسباتی بود. بدین ترتیب عجیب نیست، هنگامی که فون‌نیومان سازنده اولین کامپیوتر، در حال طراحی این ماشین بود، کماکان اعتقاد داشت برای داشتن هوشمندی شبیه به انسان، کلید اصلی، منطق(از نوع به کار رفته در کامپیوتر) نیست، بلکه احتمالاً چیزی خواهد بود شبیه ترمودینامیک!

       به هرحال، کامپیوتر تا به حال به چنان درجه‌ای از پیشرفت رسیده و چنان سرمایه‌گذاری عظیمی برروی این ماشین انجام شده است که به فرض این که بهترین انتخاب نباشد هم، حداقل سهل‌الوصول‌ترین و ارزان‌ترین و عمومی‌ترین انتخاب برای پیاده‌سازی هوشمندیست.

   بنابراین ظاهراً به نظر می‌رسد به جای سرمایه‌گذاری برای ساخت ماشین‌های دیگر هوشمند، می‌توان از کامپیوترهای موجود برای پیاده‌سازی برنامه‌های هوشمند استفاده کرد و اگر چنین شود، باید گفت که طبیعت هوشمندی ایجاد شده حداقل از لحاظ پیاده‌سازی، کاملاً با طبیعت هوشمندی انسانی متناسب خواهد بود، زیرا هوشمندی انسانی، نوعی هوشمندی بیولوژیک است که با استفاده از مکانیسم‌های طبیعی ایجاد شده، و نه استفاده از عناصر و مدارهای منطقی.

 

 


دانلود با لینک مستقیم


مقاله در مورد هوش مصنوعی