C++ in One Hour a Day
Author(s):Siddhartha Rao
Publisher:Sams Publishing
Year:2017
Language:English
Pages:770
Extension:pdf
C++ in One Hour a Day
C++ in One Hour a Day
Author(s):Siddhartha Rao
Publisher:Sams Publishing
Year:2017
Language:English
Pages:770
Extension:pdf
فرمت فایل :power point( قابل ویرایش) تعداد اسلاید: 9 اسلاید
ورود و خروج فرمتدار
پاورپوینت درس برنامه سازی پیشرفته c++ در 554 اسلاید بسیار جامع و کامل در 11 بخش به توضیح مطالب این درس می پردازد که شامل بخش های زیر می باشد:
جلسه اول: «مقدمات برنامهنویسی با C++»
1- چرا C++ ؟
2- تاریخچۀ C++
3- آمادهسازی مقدمات
4- شروع کار با C++
5- عملگر خروجی
6- لیترالها و کاراکترها
7- متغیرها و تعریف آنها
8- مقداردهی اولیه به متغیرها
9- ثابتها
10- عملگر ورودی
جلسه دوم: «انواع اصلی»
1- انواع دادۀ عددی
2- متغیر عدد صحیح
3- محاسبات اعداد صحیح
4- عملگرهای افزایشی و کاهشی
5- عملگرهای مقدارگذاری مرکب
6- انواع ممیز شناور
7- تعریف متغیر ممیز شناور
8 - شکل علمی مقادیر ممیز شناور
9- نوع بولین bool
10- نوع کاراکتری char
11- نوع شمارشی enum
12- تبدیل نوع، گسترش نوع
13- برخی از خطاهای برنامهنویسی
14 - سرریزی عددی
15- خطای گرد کردن
16- حوزۀ متغیرها
جلسه سوم: «انتخاب»
1- دستور if
2- دستور if..else
3- عملگرهای مقایسهای
4- بلوکهای دستورالعمل
5- شرطهای مرکب
6- ارزیابی میانبری
7- عبارات منطقی
8 - دستورهای انتخاب تودرتو
9- ساختار else if
10- دستورالعمل switch
11- عملگر عبارت شرطی
12- کلمات کلیدی
جلسه چهارم: ‹‹تکرار»
1- دستور while
2- خاتمه دادن به یک حلقه
3- دستور do..while
4- دستور for
5- دستور break
6- دستور continue
7- دستور goto
8- تولید اعداد شبه تصادفی
جلسه پنجم: «توابع»
1- توابع کتابخانهای C++ استاندارد
2- توابع ساخت کاربر
3- برنامۀ آزمون
4- اعلانها و تعاریف تابع
5- کامپایل جداگانۀ توابع
6- متغیرهای محلی، توابع محلی
7- تابع void
8 - توابع بولی
9- توابع ورودی/خروجی (I/O)
10- ارسال به طریق ارجاع (آدرس)
11- ارسال از طریق ارجاع ثابت
12-توابع بیواسطه
13- چندشکلی توابع
14- تابع main()
15- آرگومانهای پیشفرض
جلسه ششم: « آرایهها»
1- پردازش آرایهها
2- مقداردهی آرایهها
3- ایندکس بیرون از حدود آرایه
4- ارسال آرایه به تابع
5- الگوریتم جستجوی خطی
6- مرتبسازی حبابی
7- الگوریتم جستجوی دودویی
8- استفاده از انواع شمارشی در آرایه
9- تعریف انواع
10 -آرایههای چند بعدی
جلسه هفتم: «اشارهگرها و ارجاعها»
1- عملگر ارجاع
2- ارجاعها
3- اشارهگرها
4- مقداریابی
5- چپ مقدارها، راست مقداره
6- بازگشت از نوع ارجاع
7- آرایهها و اشارهگرها
8- عملگر new
9- عملگر delete
10- آرایههای پویا
11- اشارهگر ثابت
12- آرایهای از اشارهگرها
13- اشارهگری به اشارهگر دیگر
14- اشارهگر به توابع
15- NUL و NULL
جلسه هشتم: «رشتههای کاراکتری و فایلها در ++Cاستاندارد»
مروری بر اشارهگرها
رشتههای کاراکتری در C
ورودی/خروجی رشتههای کاراکتری
چند تابع عضو cin و cout
توابع کاراکتری C استاندارد
آرایهای از رشتهها
توابع استاندارد رشتههای کاراکتری
رشتههای کاراکتری در C++ استاندارد
نگاهی دقیقتر به تبادل دادهها
ورودی قالببندی نشده
نوع string در ++C استاندارد
فایلها
جلسه نهم: «شیئگرایی»
1- اعلان کلاسها
2- سازندهها
3- فهرست مقداردهی در سازندهها
4- توابع دستیابی
5- توابع عضو خصوصی
6- سازندۀ کپی
7- نابود کننده
8 - اشیای ثابت
9- اشارهگر به اشیا
10- اعضای دادهای ایستا
11- توابع عضو ایستا
جلسه دهم: «سربارگذاری عملگرها»
1- توابع دوست
2- سربارگذاری عملگر جایگزینی (=)
3- اشارهگر this
4- سربارگذاری عملگرهای حسابی
5- سربارگذاری عملگرهای جایگزینی حسابی
6- سربارگذاری عملگرهای رابطهای
7- سربارگذاری عملگرهای افزایشی و کاهشی
جلسه یازدهم: «ترکیب و وراثت»
مقدمه
ترکیب
وراثت
اعضای حفاظت شد
غلبه کردن بر وراثت
اشارهگرها در وراثت
توابع مجازی و چندریختی
نابودکنندۀ مجازی
مقدمه
زبان C یک زبان همه منظوره است. دستورالعملهای این زبان بسیار شبیه عبارات جبری و نحو آن شبیه جملات انگلیسی می باشد. این امر سبب میشود که C یک زبان سطح بالا باشد که برنامهنویسی در آن آسان است ›››
++C که از نسل C است، تمام ویژگیهای C را به ارث برده است. اما برتری فنی دیگری هم دارد: C++ اکنون «شیگرا» است. میتوان با استفاده از این خاصیت، برنامههای شیگرا تولید نمود. برنامههای شیگرا منظم و ساختیافتهاند، قابل روزآمد کردناند، به سهولت تغییر و بهبود مییابند و قابلیت اطمینان و پایداری بیشتری دارند.
مقدمات برنامهنویسی با C++
هدف کلی:
آشنایی با تاریخچه و مزایای زبان برنامهنویسی C++ و بیان مفاهیم بنیادی شیگرایی و عناصر مهم برنامههای C++
هدفهای رفتاری:
انتظار میرود پس از پایان این جلسه بتوانید:
- مزایای زبان C++ را بر زبانهای مشابه ذکر کرده و تفاوت آن را با زبان C بیان کنید.
- شرح مختصری از روند پیشرفت زبانهای برنامهنویسی را بیان کرده و مشکلات هر دوره را به اختصار شرح دهید.
- مزایای شیگرایی در تولید نرمافزار را برشمارید.
- اصول سهگانۀ شیگرایی را نام برده و هر یک را به اختصار شرح دهید.
- قالب کلی برنامههای C++ را بشناسید و بتوانید برنامههای کوچک را نوشته و آزمایش کنید.
- عملگر ورودی و خروجی را در C++ شناخته و از آنها در برنامهها استفاده کنید.
- نحوۀ اعلان متغیرها و شیوۀ مقداردهی به آنها را بدانید.
- سه موجودیت «لیترال»، «کاراکتر» و «عدد» را شناخته و فرق بین آنها را شرح دهید.
- علت و شیوههای افزودن توضیح به کد برنامه را شرح دهید.
- علت و شیوۀ معرفی ثابتها در برنامه را شرح دهید.
مقدمه
در دهه 1970 در آزمایشگاههای بل زبانی به نام C ایجاد شد. انحصار این زبان در اختیار شرکت بل بود تا این که در سال 1978 توسط Kernighan و Richie شرح کاملی از این زبان منتشر شد و به سرعت نظر برنامهنویسان حرفهای را جلب نمود.
هنگامی که بحث شیگرایی و مزایای آن در جهان نرمافزار رونق یافت، زبان C که قابلیت شیگرایی نداشت ناقص به نظر میرسید تا این که در اوایل دهۀ 1980 دوباره شرکت بل دست به کار شد و Bjarne Stroustrup زبان C++ را طراحی نمود
C++ ترکیبی از دو زبان C و Simula بود و قابلیتهای شیگرایی نیز داشت. از آن زمان به بعد شرکتهای زیادی کامپایلرهایی برای C++ طراحی کردند. این امر سبب شد تفاوتهایی بین نسخههای مختلف این زبان به وجود بیاید و از قابلیت سازگاری و انتقال آن کاسته شود.
به همین دلیل در سال 1998 زبان C++ توسط موسسۀ استانداردهای ملی آمریکا (ANSI) به شکل استاندارد و یکپارچه درآمد.
1- چرا C++ ؟
در این زبان عملگرهایی تعبیه شده که برنامهنویسی سطح پایین و به زبان ماشین را نیز امکانپذیر میسازد
چون C عملگرهای فراوانی دارد، کد منبع برنامهها در این زبان بسیار کوتاه است
- زبان C برای اجرای بسیاری از دستوراتش از توابع کتابخانهای استفاده میکند و بیشتر خصوصیات وابسته به سختافزار را به این توابع واگذار مینماید.
C++ که از نسل C است، تمام ویژگیهای جذاب C را به ارث برده است .
و سرانجام آخرین دلیل استفاده از C++ ورود به دنیای C# است.
2- تاریخچۀ C++
در دهه 1970 در آزمایشگاههای بل زبانی به نام C ایجاد شد. انحصار این زبان در اختیار شرکت بل بود تا این که در سال 1978 توسط Kernighan و Richie شرح کاملی از این زبان منتشر شد و به سرعت نظر برنامهنویسان حرفهای را جلب نمود. هنگامی که بحث شیگرایی و مزایای آن در جهان نرمافزار رونق یافت، زبان C که قابلیت شیگرایی نداشت ناقص به نظر میرسید تا این که در اوایل دهۀ 1980 دوباره شرکت بل دست به کار شد و Bjarne Stroustrup زبان C++ را طراحی نمود.
C++ ترکیبی از دو زبان C و Simula بود و قابلیتهای شیگرایی نیز داشت از آن زمان به بعد شرکتهای زیادی کامپایلرهایی برای C++ طراحی کردند. این امر سبب شد تفاوتهایی بین نسخههای مختلف این زبان به وجود بیاید و از قابلیت سازگاری و انتقال آن کاسته شود. به همین دلیل در سال 1998 زبان C++ توسط موسسۀ استانداردهای ملی آمریکا (ANSI) به شکل استاندارد و یکپارچه درآمد. کامپایلرهای کنونی به این استاندارد پایبندند. کتاب حاضر نیز بر مبنای همین استاندارد نگارش یافته است.
3- آمادهسازی مقدمات
¥یک «برنامه» دستورالعملهای متوالی است که میتواند توسط یک رایانه اجرا شود. برای نوشتن و اجرای هر برنامه به یک «ویرایشگر متن» و یک «کامپایلر» احتیاج داریم.
¥ بستۀ Visual C++ محصول شرکت میکروسافت و بستۀ C++ Builder محصول شرکت بورلند نمونههای جالبی از محیط مجتمع تولید برای زبان C++ به شمار میروند...
در این برنامه قرار است شما یک بازی دونفره پیاده سازی نمایید. در این بازی دو بازیکن شرکت دارند: بازیکن قرمز و بازیکن آبی و هر بازیکن دارای یک مهره است. علاوه بر آن تعدادی دیوار و تعدادی ستاره هم در صفحه وجود دارد. (خانه های هاشورخورده بیانگر دیوار هستند.)
بازیکنان قرمز و آبی به نوبت یکی پس از دیگری، مهره خود را حرکت می دهند. هدف بازی جمع کردن ستاره ها می باشد و هر بازیکنی ستاره بیشتری جمع کند برنده می شود. شرط پایان بازی اتمام ستاره ها است.
هر بازیکنی که نوبتش می شود بایستی مهره خود را به خانه جدید حرکت دهد. خانه جدید در همان سطر یا در همان ستون میتواند باشد بنابراین حرکت اریب مجاز نمی باشد. ضمنا مهره ها نمیتوانند
از دیوار عبور کنند. همچنین خانه مقصد نمی تواند خانه ای باشد که حریف در آن قرار دارد.( لازم به ذکر است این برنامه در محیاز دیوار عبور کنند. همچنین خانه مقصد نمی تواند خانه ای باشد که حریف در آن قرار دارد.از دیوار عبور کنند. همچنین خانه مقصد نمی تواند خانه ای باشد که حریف در آن قرار دارد.( لازم به ذکر است این برنامه در محیط visual studio2012 نوشته شده و برای مبانی کامپیوتر میباشد. همچنین جدول ذیل و محتوییاتش به صورت کاراکتری میباشد. بازیکنان “&”و”@” و دیوارها”#” میباشد.)
فرمت فایل : word(قابل ویرایش)تعداد صفحات136
فهرست مطالب
عنوان صفحه
چکیده 1
مقدمه 2
الگوریتم ژنتیک 5
تعریف خروجی(نمایش) 8
عملگرهای مجموعه ژن 10
شئ جمعیت 13
توابع شئ و مقیاس گذاری مناسب 14
نمایش الگوریتم ژنتیک درc++ 15
توانایی عملگرها 17
چگونگی تعریف عملگرها 18
چگونگی تعریف کلاس مجموعه ژن 22
سلسله مراتب کلاس ها 23
1. سلسله مراتب کلاس GALib – گرافیکی 23
2. سلسله مراتب کلاس GALib – مراتب 24
رابط برنامه نویسی 25
نام پارامترها و گزینه های خط فرمان 26
رفع خطا 28
توابع اعداد تصادفی 29
GAGeneticAlgorithm 31
GADemeGA 42
GAIncrementalGA 44
GASimpleGA 47
GASteadyStateGA 50
Terminators 52
Replacement Schemes 54
GAGenome 55
GA1DArrayGenome<T> 62
GA1DArrayAlleleGenome<T> 65
GA2DArrayGenome<T> 67
GA2DArrayAlleleGenome<T> 70
GA3DArrayGenome<T> 72
GA3DArrayAlleleGenome<T> 76
GA1DBinaryStringGenome 78
GA2DBinaryStringGenome 81
GA3DBinaryStringGenome 85
GABin2DecGenome 88
GAListGenome<T> 91
GARealGenome 92
GAStringGenome 94
GATreeGenome<T> 96
GAEvalData 97
GABin2DecPhenotype 98
GAAlleleSet<T> 100
GAAlleleSetArray<T> 103
GAParameter and GAParameterList 104
GAStatistics 108
GAPopulation 113
GAScalingScheme 123
GASelectionScheme 127
GAArray<T> 130
GABinaryString 132
نتیجه گیری 135
مراجع 136