SlideShare a Scribd company logo
1 of 36
Download to read offline
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
1
‫یک‬ ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬
C#
‫زاهدی‬ :‫کننده‬ ‫تهیه‬-‫محمدی‬
‫بهار‬49
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
2
) ‫اول‬ ‫فصل‬‫مفاهیم‬‫پایه‬‫ای‬‫پردازش‬‫داده‬‫ها‬
‫داده‬‫ها‬(Data):‫مجموعه‬‫ای‬‫از‬‫مقادیر‬‫در‬‫مورد‬‫یک‬‫موضوع‬‫یا‬‫شیء‬‫است‬‫که‬‫به‬‫صورت‬‫کم‬‫یک‬ ‫با‬ ‫ی‬‫مقدار‬‫عددی‬‫و‬‫یا‬‫به‬‫صورت‬‫کیفی‬‫نشان‬‫داده‬
‫می‬‫شود‬‫پس‬‫داده‬‫ها‬‫مقادیر‬ ،‫خام‬‫و‬‫اولیه‬‫در‬‫مورد‬‫یک‬‫موضوع‬‫هستند‬‫کالس‬ ‫یک‬ ‫نمرات‬ ‫مانند‬ .
‫پردازش‬(Process):‫برای‬‫اینکه‬‫از‬‫داده‬‫ها‬‫بتوانیم‬‫بهتر‬‫استفاده‬‫کنیم‬‫الزم‬‫است‬‫بر‬‫روی‬‫آنها‬‫محاسبات‬‫و‬‫یا‬‫به‬‫طور‬‫کلی‬‫عملیاتی‬‫را‬‫انجام‬‫د‬‫هیم‬.
‫مجموعه‬ ‫پس‬‫محاسبات‬‫و‬‫عملیاتی‬‫که‬‫بر‬‫روی‬‫داده‬‫ها‬‫صورت‬‫می‬‫گیرد‬‫را‬‫پردازش‬‫می‬‫کامپیوتر‬ (.‫نامند‬‫پردازشگر‬‫داده‬‫ها‬)‫است‬‫ضرب‬ ‫و‬ ‫جمع‬ ‫مانند‬
‫اطالعات‬(Information)‫نتایج‬ :‫حاصل‬‫از‬‫عملیات‬‫و‬‫محاسبات‬‫بر‬‫روی‬‫داده‬‫ها‬‫را‬‫اطالعات‬‫می‬‫نامیم‬‫که‬‫می‬‫تواند‬‫مورد‬‫تفسیر‬‫و‬‫بررسی‬‫قرار‬
‫گیرد‬.
‫و‬‫نتیجه‬‫بررسی‬‫آنها‬‫به‬‫دانش‬‫ختم‬‫گردد‬‫که‬‫دانش‬‫می‬‫تواند‬‫مبنای‬‫تصمیم‬‫گیری‬‫برای‬‫انجام‬‫کاری‬‫شود‬.
‫از‬ ‫کمتر‬ ‫آنها‬ ‫معدل‬ ‫که‬ ‫دانشجویانی‬ : ‫مثال‬21‫نمرات‬ .‫نمایند‬ ‫اخذ‬ ‫توانند‬ ‫می‬ ‫درسی‬ ‫واحد‬ ‫محدودی‬ ‫تعداد‬ ‫بعد‬ ‫ترم‬ ‫در‬ ‫و‬ ‫باشند‬ ‫می‬ ‫مشروط‬ ‫باشد‬
‫مح‬ ‫دانشجو‬ ‫معدل‬ ،)‫(پردازش‬ ‫محاسبات‬ ‫انجام‬ ‫از‬ ‫پس‬ ‫و‬ )‫ها‬ ‫کنند(داده‬ ‫می‬ ‫سیستم‬ ‫وارد‬ ‫را‬ ‫دانشجویان‬‫می‬ ‫معدل‬ ‫از‬ ‫استفاده‬ ‫با‬ . )‫شود(اطالعات‬ ‫می‬ ‫اسبه‬
‫دانشجو‬ ‫وضعیت‬ ‫توان‬)‫(دانش‬.‫نمود‬ ‫مشاهده‬ ‫را‬
‫در‬‫فرایند‬‫رسیدن‬‫از‬‫داده‬‫ها‬‫به‬،‫اطالعات‬‫نکات‬‫زیر‬‫باید‬‫رعایت‬‫گردد‬:
2‫ــ‬‫صحت‬‫داده‬‫ها‬:‫یعنی‬‫داده‬‫ها‬‫ورودی‬ ‫ی‬‫به‬‫درستی‬‫شوند‬ ‫گردآوری‬‫باشد‬ ‫منفی‬ ‫عدد‬ ‫تواند‬ ‫نمی‬ ‫آموز‬ ‫دانش‬ ‫نمره‬ ‫مثال‬ ..
1‫ــ‬‫درستی‬‫انجام‬‫محاسبات‬:‫یعنی‬‫محاسبات‬‫و‬‫یا‬‫به‬‫طور‬‫کلی‬‫عملیاتی‬‫که‬‫بر‬‫روی‬‫داده‬‫ها‬‫صورت‬‫می‬‫گیرد‬‫با‬‫دقت‬‫و‬‫بدون‬‫اشتباه‬‫انجام‬‫شوند‬.‫در‬
‫اشتباه‬ ‫اطالعات‬ ،‫محاسبات‬ ‫در‬ ‫اشتباه‬ ‫صورت‬.‫آید‬ ‫می‬ ‫بدست‬
3‫ــ‬‫روش‬‫انجام‬‫پردازش‬:‫با‬‫توجه‬‫به‬‫هدفی‬‫که‬‫از‬‫گردآوری‬‫داده‬‫ها‬‫در‬‫نظر‬‫داریم‬‫باید‬‫پردازش‬‫مناسب‬‫نیز‬‫بر‬‫روی‬‫آنها‬‫انجام‬‫دهیم‬‫تا‬‫به‬‫اطالعات‬‫مفید‬
‫برسیم‬.‫استفاده‬‫از‬‫روش‬‫های‬‫بهینه‬‫و‬‫الگوریتم‬‫های‬‫مناسب‬‫در‬‫عمل‬‫پردازش‬‫توصیه‬‫می‬‫شود‬.
‫برنامه‬‫به‬ :‫مجموعه‬‫دستوراتی‬‫که‬‫به‬‫کامپیوتر‬‫می‬‫فهماند‬‫که‬‫چه‬‫نوع‬‫پردازشی‬‫را‬‫بر‬‫روی‬‫داده‬‫ها‬‫و‬ ‫دهد‬ ‫انجام‬‫همچنین‬‫ا‬‫طالعات‬‫به‬‫دست‬‫آمده‬‫را‬
‫چگونه‬‫نمایش‬‫دهد‬‫برنامه‬‫گویند‬.
‫ماشین‬ ‫زبان‬(Machine Language):‫زبان‬‫قابل‬‫فهم‬‫کامپیوتر‬‫دنباله‬‫است‬ ‫یک‬ ‫و‬ ‫صفر‬ ‫کدهای‬ ‫از‬ ‫ای‬.
‫مترجم‬(Compiler)‫ترجمه‬ ‫جهت‬ :‫تبدیل‬ ‫و‬‫ماشین‬ ‫زبان‬ ‫از‬ ‫غیر‬ ‫ای‬ ‫برنامه‬)‫باال‬ ‫(سطح‬‫ماشین‬ ‫زبان‬ ‫به‬‫شود‬ ‫می‬ ‫استفاده‬.‫مترجم‬‫خود‬‫یک‬‫برنامه‬
‫کامپیوتری‬‫است‬‫که‬‫وظیفه‬‫آن‬‫ترجمه‬‫ی‬‫برنامه‬‫نوشته‬‫شده‬‫به‬‫یک‬،‫زبان‬‫به‬‫کدهای‬‫زبان‬‫ماشین‬‫است‬.
(‫نویسی‬ ‫برنامه‬Programing)‫نوشتن‬ :‫دستورات‬‫الزم‬‫برای‬‫کنترل‬‫نحوه‬‫کار‬،‫کامپیوتر‬‫به‬‫طوری‬‫که‬‫کامپیوتر‬‫بتواند‬‫یک‬‫کار‬‫مشخص‬‫را‬‫ا‬‫نجام‬
‫دهد‬.
‫برنامه‬‫نوی‬‫س‬(Programmer):‫شخصی‬‫است‬‫که‬‫آشنا‬‫به‬‫دستورات‬‫یک‬‫زبان‬‫برنامه‬‫نویسی‬‫باشد‬‫و‬‫با‬‫به‬‫کارگیری‬‫صحیح‬‫و‬‫مناسب‬‫دستور‬،‫ات‬
‫برنامه‬‫نویسی‬‫کند‬.
‫انواع‬‫زبان‬‫های‬‫برنامه‬‫نویسی‬:
‫زبان‬‫های‬‫برنامه‬‫نویسی‬‫را‬‫از‬‫نظر‬‫این‬‫که‬‫تا‬‫چه‬‫اندازه‬‫به‬‫زبان‬‫محاوره‬‫ای‬‫انسان‬‫نزدیک‬‫باشند‬،‫به‬‫صورت‬‫زیر‬‫دسته‬‫بندی‬‫می‬‫کنند‬:
‫داده‬ ‫اطالعات‬‫پردازش‬
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
3
‫ز‬‫ب‬‫پایین‬ ‫سطح‬ ‫های‬ ‫ان‬(Low Level Language):‫زبان‬‫هایی‬‫که‬‫به‬‫زبان‬‫پردازشگر‬‫کامپیوتر‬(CPU)‫نزدیک‬‫باشد‬‫از‬ ‫و‬‫زبان‬‫محاوره‬‫ای‬‫ما‬
‫دور‬‫هستند‬‫مانند‬‫زبان‬‫ماشین‬‫و‬‫زبان‬‫اسمبلی‬
.‫ندارد‬ ‫مترجم‬ ‫به‬ ‫نیاز‬ ‫کامپیوتر‬ ‫توسط‬ ‫اجرا‬ ‫برای‬ ‫ماشین‬ ‫زبان‬ )‫نکته‬
(‫باال‬ ‫سطح‬ ‫های‬ ‫زبان‬High Level Language):‫زبان‬‫برنامه‬‫نویسی‬‫که‬‫به‬‫زبان‬‫محاوره‬‫ای‬‫ما‬‫نزدیک‬،‫باشد‬‫مانند‬VB،Java‫و‬#C
‫زبان‬‫های‬‫سطح‬‫میانی‬(Medium Level Language:)‫برای‬ ‫دستوراتی‬ ، ‫زبانها‬ ‫این‬ ‫در‬‫دسترسی‬‫راحت‬‫تر‬‫به‬‫سخت‬‫افزار‬‫پیش‬‫بینی‬
‫شده‬‫باشد‬‫و‬‫همچنین‬‫به‬‫زبان‬‫عامیانه‬‫نزدیک‬،‫باشند‬‫مانند‬‫زبان‬C.
‫برنامه‬‫نویسان‬‫از‬‫این‬‫زبان‬‫ها‬‫برای‬‫کار‬‫با‬‫سخت‬‫افزار‬‫کامپیوتر‬‫و‬‫برنامه‬‫ریزی‬‫وسایلی‬‫که‬‫در‬‫آنها‬‫کنند‬ ‫می‬ ‫استفاده‬ ‫دارد‬ ‫وجود‬ ‫پردازشگر‬.
‫ی‬ ‫مجموعه‬ ‫مانند‬ ‫آماده‬ ‫افزارهای‬ ‫نرم‬ ‫وجود‬ ‫با‬ )‫سوال‬Office،‫چیست؟‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫یک‬ ‫یادگیری‬ ‫دلیل‬
‫تمرین‬:‫درجدول‬ ‫شده‬ ‫ذکر‬ ‫عبارات‬‫کنید؟‬ ‫تکمیل‬ ‫چپ‬ ‫سمت‬ ‫عبارات‬ ‫های‬ ‫گزینه‬ ‫با‬ ‫را‬ ‫راست‬ ‫سمت‬ ‫ستون‬
2‫نتایج‬‫حاصل‬‫از‬‫عملیات‬‫و‬‫محاسبات‬‫بر‬‫روی‬‫داده‬‫ها‬‫الف‬‫ماشین‬ ‫زبان‬
1‫مقادیر‬‫خام‬‫و‬‫اولیه‬‫در‬‫مورد‬‫یک‬‫موضوع‬‫ب‬‫اطالعات‬
3‫به‬‫صحیح‬ ‫کارگیری‬‫و‬‫مناسب‬‫دستورات‬‫ج‬‫داد‬‫ه‬‫ها‬
4‫زبان‬‫قابل‬‫فهم‬‫سخت‬‫افزار‬،‫کامپیوتر‬‫د‬‫نویس‬ ‫برنامه‬‫ی‬
)‫تست‬
2‫نویسی‬ ‫برنامه‬ ‫زبان‬ )C#.‫است‬ ‫گرفته‬ ‫..................قرار‬ ‫زبان‬ ‫سطح‬ ‫بندی‬ ‫طبقه‬ ‫در‬
‫باال‬ )‫ج‬ ‫میانی‬ )‫ب‬ ‫پایین‬ )‫الف‬‫هیچکدام‬ )‫د‬
1)‫در‬‫یک‬‫برنام‬،‫ه‬‫منظور‬‫از‬‫ورودی‬‫همان‬...................‫و‬‫منظور‬‫از‬‫خروجی‬‫همان‬.....................‫است‬.
‫اطالعات‬ )‫الف‬–‫اطالعات‬ )‫ب‬ ‫دانش‬–‫دانش‬ )‫ج‬ ‫داده‬–‫داده‬ )‫د‬ ‫داده‬–‫اطالعات‬
3)‫پردا‬ ‫زبان‬ ‫به‬ ‫که‬ ‫زبانهایی‬( ‫کامپیوتر‬ ‫زشگر‬cpu‫باش‬ ‫نزدیک‬ )‫ن‬‫شو‬ ‫می‬ ‫....................گفته‬ ‫سطح‬ ‫زبانهای‬ ‫د‬‫ن‬.‫د‬
‫باال‬ )‫ج‬ ‫میانی‬ )‫ب‬ ‫پایین‬ )‫الف‬)‫د‬‫ب‬ ‫و‬ ‫الف‬
4)‫کد‬ ‫اطالعات‬ ‫به‬ ‫داده‬ ‫رسیدن‬ ‫فرایند‬ ‫در‬‫رعایت‬ ‫گزینه‬ ‫ام‬‫نمی‬‫شود‬‫؟‬
‫محاسبات‬ ‫انجام‬ ‫درستی‬ )‫ب‬ ‫دادها‬ ‫صحت‬ )‫الف‬‫پردازش‬ ‫انجام‬ ‫روش‬ )‫د‬ ‫اطالعات‬ ‫خروجی‬ ) ‫ج‬
5.‫است‬ .................................. ‫مبنای‬ ‫بر‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫برای‬ ‫گیری‬ ‫تصمیم‬ )
)‫ب‬ ‫داده‬ )‫الف‬‫پردازش‬ )‫د‬ ‫دانش‬ )‫ج‬ ‫اطالعات‬
‫فصل‬2)‫آشنایی‬‫با‬‫زبان‬#C
‫یک‬ ‫شارپ‬ ‫سی‬ ‫زبان‬‫زبان‬‫سطح‬،‫باال‬‫شی‬‫گرا‬(Object Oriented Language - OOP)‫و‬‫همه‬‫منظوره‬‫است‬‫که‬‫به‬‫وسیله‬‫شرکت‬
‫مایکروسافت‬‫هم‬‫زمان‬‫با‬‫پیدایش‬‫الیه‬‫نرم‬‫افزاری‬‫جدید‬‫آن‬‫به‬‫نام‬NET.‫ابداع‬‫و‬‫توسعه‬‫پیدا‬‫کرده‬‫است‬.
‫زبان‬ ‫این‬‫شباهت‬‫زیادی‬‫به‬‫زبان‬‫های‬C‫و‬Java‫دارد‬‫زبان‬ ‫برخالف‬ ‫و‬C‫و‬ ‫تطبیق‬ ‫روی‬ ‫بر‬ ‫زیادی‬ ‫دقت‬ ‫برنامه‬ ‫اجرای‬ ‫همچنین‬ ‫و‬ ‫ترجمه‬ ‫هنگام‬ ‫در‬ ،
.‫باشد‬ ‫می‬ ‫مایکروسافت‬ ‫شرکت‬ ‫انحصار‬ ‫در‬ ‫شارپ‬ ‫سی‬ ‫زبان‬ .‫گیرد‬ ‫می‬ ‫صورت‬ ‫ها‬ ‫داده‬ ‫بکارگیری‬
‫سیستم‬‫عامل‬UNIX‫زبان‬ ‫با‬C‫زبان‬ .‫است‬ ‫شده‬ ‫نوشته‬C‫می‬ ‫پذیر‬ ‫امکان‬ ‫نویس‬ ‫برنامه‬ ‫برای‬ ‫را‬ ‫افزار‬ ‫سخت‬ ‫به‬ ‫دسترسی‬ ‫که‬ ‫است‬ ‫ای‬ ‫حرفه‬ ‫زبان‬ ‫یک‬ ،
‫من‬ ‫اشتباهات‬ ‫کمتر‬ ‫دلیل‬ ‫همین‬ ‫به‬ ‫است‬ ‫زیادی‬ ‫بسیار‬ ‫انعطاف‬ ‫دارای‬ ‫و‬ ‫کند‬‫زبان‬ ‫کند(برخالف‬ ‫می‬ ‫کنترل‬ ‫را‬ ‫نویس‬ ‫برنامه‬ ‫طقی‬C#)
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
4
‫شارپ‬ ‫سی‬‫مدی‬ ‫به‬ ‫تیمی‬ ‫توسط‬‫ریت‬‫هایلزبرگ‬ ‫اندرز‬‫ارائ‬ ‫تجربه‬ ‫قبال‬ ‫که‬‫موفقی‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫ه‬‫ه‬‫داشت‬ ‫رو‬ ‫دلفی‬ ‫و‬ ‫پاسکال‬ ‫توربو‬ ‫مچون‬،
.‫شد‬ ‫ایجاد‬
‫شده‬ ‫کامل‬ ‫نسخه‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫این‬c‫و‬c++،‫باشد‬ ‫می‬‫های‬ ‫برنامه‬ ‫درمجموعۀ‬NET‫از‬ ‫تر‬ ‫ساده‬ ،‫دارد‬ ‫بصری‬ ‫محیطی‬ ‫و‬ ‫باشد‬ ‫می‬ .c++‫می‬
.‫قدرتمند‬ ‫اما‬ ،‫باشد‬
‫دستر‬ ‫قابلیت‬ ،‫زبان‬ ‫این‬ ‫های‬ ‫ویژگی‬ ‫از‬.‫باشد‬ ‫می‬ ‫امنیت‬ ‫و‬ ‫حافظه‬ ‫به‬ ‫مستقیم‬ ‫سی‬
‫و‬ ‫برویندوز‬ ‫مبتنی‬ ‫کاربردی،یعنی‬ ‫های‬ ‫برنامه‬ ‫طراحی‬ ‫برای‬ ‫توان‬ ‫می‬.‫نمود‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫وب‬ ‫های‬ ‫سرویس‬ ‫و‬ ‫وب‬ ‫بر‬ ‫مبتنی‬ ‫های‬ ‫برنامه‬
‫زبان‬Java:(‫باز‬ ‫متن‬Open Source‫باشد‬ ‫می‬ )‫زبان‬ ‫پایه‬ ‫بر‬ ‫و‬C‫زبان‬ ‫این‬ ‫نام‬ ‫ابتدا‬ ‫در‬ .‫باشد‬ ‫می‬Oak‫شعا‬ . ‫بود‬‫زبان‬ ‫این‬ ‫ر‬"‫و‬ ‫بنویس‬ ‫یکبار‬
‫کن‬ ‫اجرا‬ ‫هرجا‬".‫باشد‬ ‫می‬
،‫دهند‬ ‫تغییر‬ ‫را‬ ‫آن‬ ‫خود‬ ‫دلخواه‬ ‫به‬ ‫تا‬ ‫گیرد‬ ‫می‬ ‫قرار‬ ‫همه‬ ‫اختیار‬ ‫در‬ ‫سازندگان‬ ‫توسط‬ ‫کدشان‬ ‫که‬ ‫هایی‬ ‫برنامه‬ ‫به‬.‫شود‬ ‫می‬ ‫گفته‬ ‫باز‬ ‫متن‬
‫الیه‬‫نرم‬‫افزاری‬.NET Framework‫شرکت‬‫مایکروسافت‬:
‫به‬ ‫شده‬ ‫نوشته‬ ‫ازکدهای‬ ‫عظیمی‬ ‫حجم‬ ‫حاوی‬‫کتابخانه‬ ‫این‬ ‫داخل‬ ‫آنها‬ ‫که‬ ‫نوشت‬ ‫کد‬ ‫هزاران‬ ‫باید‬ ‫ساده‬ ‫پنجره‬ ‫نوشتن‬ ‫برای‬ ً‫ال‬‫باشد.مث‬ ‫می‬ ‫ویژوال‬ ‫زبان‬
.‫باشد‬ ‫می‬‫اجرایی‬ ‫های‬ ‫برنامه‬ ‫حجم‬ ‫دلیل‬ ‫همین‬ ‫به‬.NET‫های‬ ‫فایل‬ ‫اجرای‬ ‫برای‬ ‫و‬ ‫باشد‬ ‫می‬ ‫کم‬exe‫سیستم‬ ‫روی‬ ‫کتابخانه‬ ‫این‬ ‫باید‬ ً‫ا‬‫حتم‬
.‫باشد‬ ‫نصب‬
‫تو‬ ‫های‬ ‫برنامه‬‫توسط‬ ‫ورك‬ ‫فریم‬ ‫نت‬ ‫دات‬ ‫برای‬ ‫شده‬ ‫لید‬Common Language Runtime‫شوند‬ ‫می‬ ‫اجراء‬.
‫نام‬ ‫به‬ ‫مترجمی‬ ‫دارای‬ ‫نت‬ ‫دات‬csc‫کدهای‬ ‫که‬ ‫است‬C#.‫کند‬ ‫می‬ ‫ترجمه‬ ‫ماشین‬ ‫زبان‬ ‫کدهای‬ ‫به‬ ‫را‬
‫نکته‬‫زبان‬ :#C‫مانند‬‫زبان‬‫های‬C‫و‬avaJ‫نسبت‬‫به‬‫حروف‬‫کوچک‬‫و‬‫بزرگ‬‫حساس‬‫است‬.
‫ب‬ ‫یک‬ ‫ترجمه‬ ‫و‬ ‫نوشتن‬ ‫مراحل‬:‫نت‬ ‫دات‬ ‫مترجم‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫رنامه‬
:‫برنامه‬ ‫نمونه‬ ‫یک‬
‫افزار‬ ‫نرم‬ ‫در‬ ‫را‬ ‫برنامه‬ ‫این‬Notepad.‫کنید‬ ‫تایپ‬ ‫دقت‬ ‫با‬
‫پسوند‬ ‫با‬ ‫و‬ ‫دلخواه‬ ‫نام‬ ‫یک‬ ‫با‬ ‫را‬ ‫برنامه‬ ‫این‬ ‫سپس‬cs‫مثال‬ (‫کنید‬ ‫ذخیره‬
test.cs‫مترجم‬ ‫با‬ ‫سپس‬ )csc‫محیط‬ ‫در‬cmd‫کنید‬ ‫ترجمه‬ ‫را‬ ‫آن‬
‫اجرایی‬ ‫فایل‬ ‫تا‬test.exe‫سا‬.‫کنید‬ ‫اجرا‬ ‫را‬ ‫آن‬ ‫و‬ ‫شود‬ ‫خته‬
‫نصب‬ ‫صورت‬ ‫در‬ )‫نکته‬.NET‫فایل‬csc.exe‫مسیر‬ ‫در‬ ‫توان‬ ‫می‬ ‫در‬ ‫را‬
C:WindowsMicrosoft.NETFrameworkv4.0.30319.‫کرد‬ ‫مشاهده‬
‫فایل‬ ‫مسیر‬ ‫چگونه‬ )‫سوال‬csc.exe‫به‬ ‫را‬path‫کنیم؟‬ ‫اضافه‬ ‫ویندوز‬
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
5
‫باشد‬ ‫خطا‬ ‫دارای‬ ‫شده‬ ‫نوشته‬ ‫برنامه‬ ‫که‬ ‫صورتی‬ ‫در‬ )‫نکته‬‫را‬ ‫آن‬ ‫خطای‬ ‫و‬ ‫است‬ ‫شده‬ ‫ترجمه‬ ‫زیر‬ ‫برنامه‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫شود‬ ‫می‬ ‫اعالم‬ ‫مترجم‬ ‫توسط‬
.‫کنید‬ ‫می‬ ‫مشاهده‬
‫الگوی‬‫یک‬‫برنامه‬‫ساده‬‫به‬‫زبان‬#C
‫کاربردی‬ ‫برنامه‬ ‫یک‬‫نوشته‬‫شده‬‫به‬‫زبان‬#C،‫شامل‬‫مجموعه‬‫ای‬‫از‬‫کالس‬‫ها‬‫است‬‫که‬‫هر‬‫یک‬‫آنها‬‫نیز‬‫شامل‬‫تعدادی‬‫متد‬‫هستند‬.
class ‫یک‬‫نام‬‫دل‬‫خواه‬ {
static void Main()
{
‫دستورات‬‫مربوط‬‫به‬‫انجام‬‫یک‬‫کار‬
}
}
)‫نکته‬‫زبان‬ ‫برای‬ ‫کلمات‬ ‫از‬ ‫بعضی‬C#‫آنها‬ ‫به‬ ‫که‬ ‫هستند‬ ‫شده‬ ‫شناخته‬‫کلمات‬
‫شده‬ ‫رزرو‬ ‫یا‬ ‫کلیدی‬‫مانند‬ .‫گویند‬ ‫می‬void , static , class‫و‬
‫غیره‬
‫نکته‬‫برنا‬ ‫که‬ ‫هایی‬ ‫نام‬ ))‫کالس‬ ‫یک‬ ‫نام‬ ‫مانند‬ (‫کند‬ ‫انتخاب‬ ‫باید‬ ‫نویس‬ ‫مه‬‫ش‬‫ناسه‬
.‫است‬ ‫ضوابطی‬ ‫دارای‬ ‫ها‬ ‫نام‬ ‫این‬ ‫انتخاب‬ ‫و‬ ‫شوند‬ ‫می‬ ‫گفته‬
‫کالس‬:(Class)‫در‬‫ایده‬ ‫یک‬ ‫واقع‬(Concept)‫ـد‬‫ـ‬‫باش‬ ‫می‬ ‫ذهنیت‬ ‫یا‬
‫است‬ ‫شیء‬ ‫یک‬ ‫کارایی‬ ‫و‬ ‫وخصوصیات‬ ‫ها‬ ‫ویژگی‬ ‫از‬ ‫تعریفی‬
‫کالس‬‫به‬‫عنوان‬‫یک‬‫قالب‬‫یا‬‫الگویی‬‫می‬‫باشد‬‫که‬‫در‬‫آن‬‫داده‬‫هایی‬‫تعریف‬‫می‬‫ش‬‫ود‬.
‫این‬‫داده‬‫ها‬‫مربوط‬‫به‬‫یک‬‫ـوع‬‫ـ‬‫موض‬‫ـت‬‫ـ‬‫اس‬‫و‬‫عملیاتی‬‫که‬‫می‬‫توان‬‫بر‬‫روی‬‫آنها‬‫انجام‬
‫داد‬‫متد‬ ‫مانند‬ ‫شود‬ ‫تشکیل‬ ‫تواند‬ ‫می‬ ‫متد‬ ‫تعدادی‬ ‫و‬ ‫داده‬ ‫تعدادی‬ ‫از‬ ‫کالس‬ ‫هر‬ .Main
‫کلیدی‬ ‫کلمه‬ ‫از‬ ‫کالس‬ ‫تعریف‬ ‫برای‬class.‫شود‬ ‫می‬ ‫استفاده‬
class ‫کالس‬ ‫نام‬ }
‫تعریف‬‫داده‬‫ها‬‫و‬‫عملیات‬‫بر‬‫روی‬‫آنها‬
{
‫ک‬ ‫نام‬ ‫در‬ : ‫توجه‬)‫است‬ ‫شناسه‬ ‫یک‬ ‫کالس‬ ‫نام‬ (‫نمود‬ ‫استفاده‬ ‫فاصله‬ ‫از‬ ‫نباید‬ ‫الس‬‫روش‬ ‫از‬ ‫و‬ ‫باشد‬ ‫معنی‬ ‫با‬ ‫گذاری‬ ‫نام‬ ‫بیشتر‬ ‫خوانایی‬ ‫جهت‬ ‫است‬ ‫بهتر‬
)‫باشد‬ ‫بزرگ‬ ‫حرف‬ ‫با‬ ‫کلمه‬ ‫هر‬ ‫حرف‬ ‫اولین‬ (‫شود‬ ‫استفاده‬ ‫نامگذاری‬ ‫برای‬ ‫پاسکال‬
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
6
‫نکته‬‫زبان‬ ‫در‬ )C#‫تعداد‬‫کالس‬ ‫مثال‬ .‫است‬ ‫شده‬ ‫آماده‬ ‫متد‬ ‫زیادی‬ ‫تعداد‬ ‫نیز‬ ‫کدام‬ ‫هر‬ ‫در‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫آماده‬ ‫قبل‬ ‫از‬ ‫کالس‬ ‫زیادی‬Console‫برای‬
.‫است‬ ‫شده‬ ‫تعریف‬ ‫متد‬ ‫زیادی‬ ‫تعداد‬ ‫با‬ )‫کلید‬ ‫صفحه‬ ‫یا‬ ‫و‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ( ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫عملیات‬
‫نا‬ ‫فضاای‬(NameSpace:)‫و‬ ‫ها‬ ‫کالس‬ ‫کتابخانۀ‬ ‫سـازماندهی‬ ‫برای‬‫آنها‬ ‫قراردادن‬‫می‬ ‫استفاده‬ ‫آسان‬ ‫دسـترسی‬ ‫جهت‬ ‫مخصـو‬ ‫آرایش‬ ‫دریک‬
‫و‬ ‫کالس‬ ‫نام‬ ‫است‬ ‫بهتر‬ ‫کالس‬ ‫در‬ ‫ها‬ ‫نام‬ ‫تداخل‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫همچنین‬ ،‫شود‬NameSpace‫دستور‬ ‫از‬ .‫باشد‬ ‫یکسان‬using‫شناساندن‬ ‫برای‬
.‫شود‬ ‫می‬ ‫استفاده‬ ‫برنامه‬ ‫به‬ ‫نام‬ ‫فضای‬
( : ‫ء‬ ‫شی‬Object)‫ساخته‬ ‫که‬ ‫کالس‬ ‫از‬ ‫ای‬ ‫نمونه‬.‫شود‬ ‫می‬ )‫(متولد‬
( : ‫متد‬Method)
‫متد‬‫مجموعه‬‫ای‬‫از‬‫دستورات‬‫است‬‫که‬‫برای‬‫انجام‬‫یک‬‫کار‬‫الزم‬‫است‬.‫هر‬‫متد‬‫مطابق‬‫با‬‫عملکردش‬‫نام‬‫گذاری‬‫می‬‫شود‬‫و‬‫همچنین‬‫دارای‬‫یک‬‫جفت‬
‫پرانتز‬‫باز‬‫و‬‫بسته‬‫است‬‫که‬‫در‬‫آن‬‫ممکن‬‫است‬‫ورودی‬‫هایی‬‫ذکر‬‫شود‬‫که‬‫برای‬‫انجام‬‫کار‬‫الزم‬‫است‬.
‫در‬‫برنامه‬‫های‬‫ز‬‫بان‬#C،‫ممکن‬‫است‬‫متدهای‬‫زیادی‬‫تعریف‬‫و‬‫یا‬‫مورد‬‫استفاده‬،‫قرارگیرند‬‫اما‬‫حتما‬‫باید‬‫متدی‬‫به‬‫نام‬Main()‫تعریف‬‫شده‬‫باشد‬‫که‬
‫نقطه‬‫آغاز‬‫اجرای‬‫برنامه‬‫است‬‫و‬‫اجرای‬‫یک‬‫برنامه‬‫از‬‫اولین‬‫دستور‬‫داخل‬‫آن‬‫شروع‬‫می‬‫شود‬..
‫ف‬ ‫داخل‬ ‫هم‬ ‫کالس‬ ‫و‬ ‫شود‬ ‫می‬ ‫تعریف‬ ‫کالس‬ ‫داخل‬ ‫ها‬ ‫متد‬ ‫شارپ‬ ‫سی‬ ‫در‬( ‫نام‬ ‫ضای‬namespace‫خا‬ ‫متد‬ ‫به‬ ‫دسترسی‬ ‫برای‬ .‫شود‬ ‫می‬ ‫)تعریف‬
: ‫کنیم‬ ‫عمل‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫باید‬
‫نام‬ ‫فضای‬ ‫نام‬ . ‫کالس‬ ‫نام‬ . ‫متد‬ ‫نام‬
‫مثال‬ ‫بعنوان‬System.Console.WriteLine‫متد‬WriteLine‫کالس‬ ‫در‬ ‫که‬ ‫را‬Console‫نام‬ ‫فضای‬ ‫در‬ ‫واقع‬System‫باشد‬ ‫می‬
.‫کند‬ ‫می‬ ‫فراخوانی‬
‫ب‬ ‫متد‬ ‫این‬‫کلمه‬ ‫خواهیم‬ ‫می‬ ‫کنید‬ ‫فرض‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫اطالعات‬ ‫نمایش‬ ‫رای‬Computer‫د‬ ‫نمایش‬ ‫خروجی‬ ‫در‬‫نویسیم‬ ‫می‬ ‫کار‬ ‫این‬ ‫برای‬ .‫شود‬ ‫اده‬:
System.Console.WriteLine("Computer");
‫متد‬WriteLine‫عبارت‬ ‫و‬ ‫دارد‬ ‫پرانتز‬ ‫به‬ ‫نیاز‬ ‫حتما‬Computer‫باید‬ ‫حتما‬ ‫باشد‬ ‫می‬ ‫ای‬ ‫رشته‬ ‫ثابت‬ ‫یک‬ ‫اینکه‬ ‫بدلیل‬‫عالمت‬ ‫بین‬"".‫بگیرد‬ ‫قرار‬
‫نکته‬‫فقط‬ ‫توصیح‬ ‫که‬ ‫صورتی‬ ‫در‬ .‫کنیم‬ ‫استفادئه‬ /* */ ‫یا‬ // ‫عالمت‬ ‫از‬ ‫توانیم‬ ‫می‬ ‫بنویسم‬ ‫را‬ ‫توضیحی‬ ‫برنامه‬ ‫در‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬ :‫ی‬‫ک‬
/* */ ‫عالمت‬ ‫دو‬ ‫بین‬ ‫باید‬ ‫باشد‬ ‫سطر‬ ‫چند‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬ // ‫عالمت‬ ‫خط‬ ‫ابتدای‬ ‫است‬ ‫کافی‬ ‫باشد‬ ‫سطر‬‫قرا‬‫به‬ ‫الزم‬ .‫بگیرد‬ ‫ر‬‫توضیحات‬ ‫است‬ ‫ذکر‬
.‫شوند‬ ‫نمی‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫و‬ ‫باشد‬ ‫می‬ ‫نویس‬ ‫برنامه‬ ‫مخصو‬ ‫فقط‬
‫و‬ ‫ترجمه‬: ‫برنامه‬ ‫اجرای‬
.‫داد‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫این‬ ‫استودیو‬ ‫ویژوال‬ ‫محیط‬ ‫طریق‬ ‫از‬ ‫هم‬ ‫و‬ ‫نمود‬ ‫اجرا‬ ‫و‬ ‫کمپایل‬ ‫را‬ ‫برنامه‬ ‫فرمان‬ ‫خط‬ ‫از‬ ‫هم‬ ‫توان‬ ‫می‬ ‫برنامه‬ ‫اجرای‬ ‫برای‬
‫خط‬ ‫در‬ ‫کار‬ ‫این‬ ‫برای‬( ‫فرمان‬Command Prompt‫فایل‬ ‫از‬ )csc.exe‫کنیم‬ ‫می‬ ‫استفاده‬ ‫برنامه‬ ‫اجرای‬ ‫و‬ ‫کمپایل‬ ‫برای‬
Csc ‫نظر‬ ‫مورد‬ ‫فایل‬ ‫نام‬
‫پسوند‬ ‫دارای‬ ‫شارپ‬ ‫سی‬ ‫کد‬ ‫های‬ ‫فایل‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬cs.‫باشند‬ ‫می‬
‫متد‬ ‫چند‬‫از‬‫کالس‬Console:
WriteLine‫داده‬ ‫متد‬ ‫این‬ .‫رود‬ ‫می‬ ‫بکار‬ ‫اطالعات‬ ‫نمایش‬ ‫برای‬ :(‫زن‬ ‫چشمک‬ ‫سپس‬ ‫و‬ ‫دهد‬ ‫می‬ ‫نمایش‬ ‫را‬ ‫ها‬Cursor‫می‬ ‫منتقل‬ ‫بعد‬ ‫خط‬ ‫به‬ ‫را‬ )
.‫کند‬
System.Console.WriteLine("Hi");
System.Console.WriteLine(125*2);
Write‫مانند‬ ‫متد‬ ‫این‬ :WriteLine.‫شود‬ ‫نمی‬ ‫منتقل‬ ‫بعد‬ ‫خط‬ ‫به‬ ‫نما‬ ‫مکان‬ ‫ولی‬ ‫است‬
System.Console.Write (15+4);
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
7
Clear‫ک‬ ‫پاك‬ ‫برای‬ :.‫رود‬ ‫می‬ ‫بکار‬ ‫کنسول‬ ‫خروجی‬ ‫صفحه‬ ‫ردن‬
System.Console.Clear();
ReadKey.‫دهد‬ ‫فشار‬ ‫را‬ ‫کلید‬ ‫یک‬ ‫کاربر‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫برنامه‬ ‫توقف‬ ‫برای‬ :
System.Console.ReadKey();
BackgroundColor‫کالس‬ ‫در‬ ‫ها‬ ‫رنگ‬ .‫رود‬ ‫می‬ ‫بکار‬ ‫کنسول‬ ‫زمینه‬ ‫رنگ‬ ‫تغییر‬ ‫برای‬ :ConsoleColor.‫اند‬ ‫شده‬ ‫تعریف‬
System.Console.BackgroundColor=System.ConsoleColor.Red;
ForegroundColor‫کالس‬ ‫در‬ ‫ها‬ ‫رنگ‬ .‫رود‬ ‫می‬ ‫بکار‬ ‫کنسول‬ )‫متن(قلم‬ ‫رنگ‬ ‫تغییر‬ ‫برای‬ :ConsoleColor.‫اند‬ ‫شده‬ ‫تعریف‬
System.Console.ForegroundColor= System.ConsoleColor.Blue;
)‫نکته‬21‫کالس‬ ‫در‬ ‫رنگ‬ConsoleColor‫دارد‬ ‫وجود‬.
‫دستور‬using‫نیازی‬ ‫دیگر‬ ‫تا‬ ‫نمود‬ ‫تعریف‬ ‫برنامه‬ ‫باالی‬ ‫در‬ ‫دستور‬ ‫این‬ ‫با‬ ‫را‬ ‫نام‬ ‫فضای‬ ‫توان‬ ‫می‬ ‫کالس‬ ‫از‬ ‫قبل‬ ‫نام‬ ‫فضای‬ ‫نام‬ ‫نوشتن‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ :
‫دستور‬ ‫برنامه‬ ‫باالی‬ ‫در‬ ‫اگر‬ ‫مثال‬ ‫بعنوان‬ . ‫نباشد‬ ‫ها‬ ‫نام‬ ‫فضای‬ ‫نوشتن‬ ‫به‬using System;‫اطالع‬ ‫نمایش‬ ‫برای‬ ‫توانیم‬ ‫می‬ ‫بنویسیم‬ ‫را‬‫کلمه‬ ‫ات‬
System‫دی‬ ‫را‬‫گ‬‫ننویسیم‬ ‫ر‬.
Console.WriteLine(20/3);
‫دستور‬ )‫پرسش‬Console.WriteLine(20.0/3);‫چیست؟‬ ‫حاصل‬ .‫کنید‬ ‫اجرا‬ ‫را‬
‫قول‬ ‫نقل‬ ‫عالمت‬ ‫دو‬ ‫بین‬ ‫رشته‬ ‫یک‬ )‫نکته‬"".‫شود‬ ‫می‬ ‫تشکیل‬ ‫کاراکتر‬ ‫تعدادی‬ ‫از‬ ‫که‬ ‫گیرد‬ ‫می‬ ‫قرار‬"ALI129"
‫دستور‬ )‫پرسش‬Console.WriteLine("15+4");‫چیست؟‬ ‫حاصل‬ .‫کنید‬ ‫اجرا‬ ‫را‬
‫محیط‬ ‫در‬ ‫را‬ ‫زیر‬ ‫برنامه‬ )‫تمرین‬Notepad‫گیرید؟‬ ‫می‬ ‫ایی‬ ‫نتیجه‬ ‫چه‬ .‫کنید‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫سپس‬ ‫و‬ ‫نوشته‬
Console.WriteLine("{0}*{1}={2}",5,4,5*4);
Console.WriteLine("{0}*{0}={1}", 4, 4 * 4);
‫ی‬ ‫کلمه‬ )‫تمرین‬IRAN‫قرم‬ ‫و‬ ‫سفید‬ ‫و‬ ‫سبز‬ ‫رنگ‬ ‫سه‬ ‫به‬ ‫را‬.‫کنید‬ ‫چاپ‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ‫ز‬
)‫تست‬‫دهد؟‬ ‫می‬ ‫انجام‬ ‫ریاضی‬ ‫محاسبه‬ ‫و‬ ‫است‬ ‫صحیح‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫کدامیک‬
)‫الف‬Console.WriteLine("2+2");)‫ب‬.WriteLine(2+2);
)‫ج‬Console.WriteLine("2" + 2);)‫د‬Console.WriteLine(2+2);
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
8
‫فصل‬3)‫استودیو‬ ‫ویژوال‬ ‫با‬ ‫آشنایی‬
‫محیطی‬ ‫به‬ ‫نیاز‬ ،‫برنامه‬ ‫نوشتن‬ ‫برای‬‫که‬ ‫داریم‬‫همه‬‫ابزارها‬‫و‬‫لوازم‬‫مورد‬‫نیاز‬‫برنامه‬‫نویسی‬‫در‬‫آن‬‫گردآوری‬‫و‬‫متمرکز‬‫شده‬‫باشد‬.‫به‬‫چنین‬‫محیط‬‫ب‬‫رنامه‬
‫نویسی‬‫که‬‫در‬‫آن‬‫می‬‫توان‬‫تمام‬‫مراحل‬‫برنامه‬،‫نویسی‬،‫ترجمه‬‫اشکال‬‫یابی‬‫و‬‫متمرکز‬‫می‬‫باشد‬.IDE‫گف‬‫ته‬‫می‬‫شود‬‫که‬‫به‬‫معنای‬‫محیط‬‫تولید‬‫برنامه‬
‫متمرکز‬‫است‬‫شرکت‬ .‫مایکروسافت‬‫یک‬IDE‫بسیار‬‫پیشرفته‬‫برای‬‫برنامه‬‫نویسی‬‫فراهم‬‫کرده‬‫است‬‫که‬‫با‬‫کمک‬‫آن‬‫می‬‫توان‬‫راحت‬‫تر‬‫برنامه‬‫بنویس‬‫یم‬‫و‬
‫ترجمه‬‫و‬‫اجرا‬‫کنیم‬.VS‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫چند‬ ‫از‬C#, C++, VB.‫کند‬ ‫می‬ ‫پشتیبانی‬
‫ایجاد‬ ‫برای‬‫جدید‬ ‫برنامه‬ ‫یک‬‫به‬‫زبان‬#C‫،گزینه‬New Project‫می‬ ‫انتخاب‬ ‫را‬
.‫کنیم‬ ‫می‬ ‫انخاب‬ ‫را‬ ‫حل‬ ‫راه‬ ‫نام‬ ‫سپس‬ ‫کنیم.و‬
‫ی‬ ‫گزینه‬ ‫از‬ ‫پروژه‬ ‫ایجاد‬ ‫برای‬ ‫درس‬ ‫این‬ ‫در‬ )‫توجه‬Console Application
.‫کنیم‬ ‫می‬ ‫استفاده‬
Solution)‫حل‬ ‫(راه‬‫پر‬ ‫چندین‬ ‫شامل‬ ‫نویسی‬ ‫برنامه‬ ‫اصطالح‬ ‫در‬ :‫وژ‬‫ازانواع‬ ‫ه‬
‫می‬ ‫مختلف‬.‫باشد‬
‫راه‬‫باالترین‬ ‫حل‬‫اصوال‬ .‫است‬ ‫نت‬ ‫دات‬ ‫استودیو‬ ‫ویژوال‬ ‫محیط‬ ‫در‬ ‫بندی‬ ‫دسته‬ ‫سطح‬
‫وظیفه‬Solution‫نگهداری‬‫با‬ ‫فایل‬ ‫یک‬ ‫که‬ ‫هاست‬ ‫پروژه‬ ‫بین‬ ‫روابط‬ ‫اطالعات‬
‫پسوند‬sln‫باشد‬ ‫می‬‫د‬ ‫تاثیر‬ ‫دارای‬ ‫و‬‫ر‬.‫بود‬ ‫نخواهد‬ ‫پروژه‬ ‫خروجی‬
‫یک‬ ‫باید‬ ‫برنامه‬ ‫یک‬ ‫ایجاد‬ ‫هنگام‬ ‫به‬Solution‫ش‬ ‫ایجاد‬ ‫را‬.‫ود‬‫نام‬ ‫معموال‬‫را‬‫حل‬ ‫ه‬
‫پروژ‬ ‫نام‬ ‫با‬‫ه‬.‫باشد‬ ‫می‬ ‫یکسان‬
‫معرفی‬‫بخش‬‫های‬‫اصلی‬‫ویژوال‬: ‫استودیو‬
‫پنجره‬ )‫الف‬‫ویرایشگر‬‫برنامه‬
‫پنچره‬ )‫ب‬‫لیست‬‫خطاها‬(Error List):‫ساختاری‬ ‫و‬ ‫تایپی‬ ‫های‬ ‫اشکال‬‫دهد‬ ‫می‬ ‫نمایش‬ ‫را‬.
‫پنجره‬ )‫ج‬Solution Explorer)‫پروژه‬ ‫(مرورگر‬‫تمام‬ ‫و‬ ‫پروژه‬ ‫ساختار‬ :.‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫برنامه‬ ‫های‬ ‫فایل‬
)‫نکته‬ ‫چند‬:
2-‫کلمات‬‫در‬ ‫کلیدی‬IDE.‫شوند‬ ‫می‬ ‫داده‬ ‫نشان‬ ‫آبی‬ ‫بارنگ‬
1-‫نام‬ ‫به‬ ‫برنامه‬ ‫متن‬ ‫فایل‬program.cs.‫داد‬ ‫تغییر‬ ‫را‬ ‫آن‬ ‫نام‬ ‫توان‬ ‫می‬ ‫و‬ ‫است‬
1-‫شود‬ ‫می‬ ‫کشیده‬ ‫آن‬ ‫زیر‬ ‫قرمزرنگی‬ ‫خطوط‬ ‫داشت‬ ‫اشکال‬ ‫گرامری‬ ‫یا‬ ‫امالیی‬ ‫لحاظ‬ ‫از‬ ‫دستوری‬ ‫اگر‬.
3-‫ب‬‫کلید‬ ‫از‬ ‫برنامه‬ ‫ترجمه‬ ‫رای‬F6‫کلید‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫برای‬ ‫و‬F5‫یا‬CTRL+F5‫دهید‬ ‫فشار‬ ‫را‬.
4-‫متد‬ReadKey‫کالس‬ ‫در‬Console‫رود‬ ‫می‬ ‫بکار‬ ‫کلید‬ ‫صفحه‬ ‫از‬ ‫کلید‬ ‫گرفتن‬ ‫جهت‬.
5-‫متد‬Beep( .‫نمود‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫شکل‬ ‫دو‬ ‫به‬ ‫توان‬ ‫می‬ ‫و‬ ‫رود‬ ‫می‬ ‫بکار‬ ‫خا‬ ‫فرکانس‬ ‫با‬ ‫صدا‬ ‫یک‬ ‫ایجاد‬ ‫جهت‬Overload)
Console.Beep();
Console.Beep(1400 , 2000 ); ‫فرکانس‬ ‫با‬ ‫صدا‬2411‫مدت‬ ‫در‬ ‫و‬ ‫هرتز‬1‫کند‬ ‫می‬ ‫پخش‬ ‫ثانیه‬
.‫دهد‬ ‫نشان‬ ‫نمایش‬ ‫صفحه‬ ‫در‬ ‫فارسی‬ ‫زبان‬ ‫به‬ ‫را‬ ‫خودتان‬ ‫خانوادگی‬ ‫نام‬ ‫و‬ ‫نام‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫سئوال‬
)‫تست‬‫دستور‬ ‫خروجی‬‫روبرو‬‫چیست؟‬Console.WriteLine("100+200/2");
)‫الف‬100)‫ب‬150)‫ج‬200)‫د‬100+200/2
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
9
)‫چهارم‬ ‫فصل‬‫متغیرها‬ ‫و‬ ‫ها‬ ‫داده‬ ‫انواع‬ ‫با‬ ‫آشنایی‬
(‫متغیر‬Variable‫مکانی‬ : )‫از‬‫حافظه‬RAM‫کامپیوتر‬‫است‬‫که‬‫برای‬‫نگهداری‬‫موقتی‬‫داده‬‫ها‬‫یا‬‫اطالعات‬‫استفاده‬‫می‬‫شود‬.
‫متغیر‬ ‫از‬ ‫استفاده‬ ‫از‬ ‫قبل‬‫باید‬‫ت‬ ‫را‬ ‫آن‬‫ع‬.‫نماییم‬ ‫ریف‬‫است‬ ‫صورت‬ ‫بدین‬ ‫متغیر‬ ‫تعریف‬ ‫شکل‬:;‫متغیر‬ ‫نام‬‫نوع‬‫داده‬
‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫ویژگی‬ ‫سه‬ ‫کلی‬ ‫بطور‬ ‫متغیر‬ ‫یا‬ ‫داده‬ ‫نوع‬:
‫حسب‬ ‫(بر‬ ‫متغیر‬ ‫اندازه‬)‫بایت‬‫ی‬ ‫حافظه‬ ‫از‬ ‫مقداری‬ ‫اش‬ ‫داده‬ ‫نوع‬ ‫به‬ ‫توجه‬ ‫با‬ ‫متغیر‬ ‫هر‬ :RAM.‫کند‬ ‫می‬ ‫مصرف‬ ‫را‬
‫نوع‬‫اطالعاتی‬‫که‬‫در‬‫متغیر‬‫می‬‫توان‬‫ذخیره‬‫کرد‬:‫مثال‬‫ا‬ ‫یا‬ ‫صحیح‬‫ع‬..... ‫یا‬ ‫ای‬ ‫رشته‬ ‫یا‬ ‫شاری‬
‫نوع‬‫عملیاتی‬‫را‬‫می‬‫توان‬‫بر‬‫روی‬‫آن‬‫انجام‬‫داد‬‫داد‬ ‫انجام‬ ‫را‬ ‫ضرب‬ ‫عمل‬ ‫توان‬ ‫می‬ ‫صحیح‬ ‫اعداد‬ ‫روی‬ ‫بر‬ ‫مثال‬ .‫تعریف‬ ‫ضرب‬ ‫ها‬ ‫رشته‬ ‫روی‬ ‫بر‬ ‫و‬
.‫است‬ ‫نشده‬
:‫است‬ ‫شده‬ ‫ذکر‬ ‫آنها‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫داده‬ ‫انواع‬ ‫زیر‬ ‫جدول‬ ‫در‬
: ‫مثال‬
int a, b; int c,d=11; int a, b = 7,c=b; short a=b=c; // syntax error
int a, b = 7,c=a; // syntax error
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
10
byte x = -10; // syntax error
int a=-10, b=7,c=a; byte x = a; // syntax error
byte x=300; // syntax error
uint B,b;
‫ی‬ ‫نمره‬ ‫نگهداری‬ ‫برای‬ ‫مثال‬ .‫کند‬ ‫می‬ ‫انتخاب‬ ‫را‬ ‫مناسب‬ ‫ی‬ ‫داده‬ ‫نوع‬ ‫متغیرها‬ ‫برای‬ ،‫کند‬ ‫می‬ ‫حل‬ ‫که‬ ‫ایی‬ ‫مساله‬ ‫به‬ ‫توجه‬ ‫با‬ ‫نویس‬ ‫برنامه‬ )‫نکته‬‫ک‬‫چه‬ ‫درس‬
‫است؟‬ ‫تر‬ ‫مناسب‬ ‫ایی‬ ‫داده‬ ‫نوع‬‫است؟‬ ‫تر‬ ‫مناسب‬ ‫داده‬ ‫نوع‬ ‫کدام‬ ‫المپ‬ ‫یک‬ ‫بودن‬ ‫روشن‬ ‫یا‬ ‫خاموش‬ ‫وضعیت‬ ‫تعیین‬ ‫برای‬ ‫مثال‬ ‫یا‬
.‫شود‬ ‫می‬ ‫انجام‬ ‫کار‬ ‫این‬ ‫انتساب‬ ‫دستور‬ ‫با‬ ‫و‬ ‫دارد‬ ‫نگه‬ ‫خود‬ ‫در‬ ‫تواند‬ ‫می‬ ‫مقدار‬ ‫یک‬ ‫فقط‬ ‫متغیر‬ ‫هر‬ )‫نکته‬a=15;
)‫نکته‬‫داده‬ ‫نوع‬float‫اعش‬ ‫های‬ ‫داده‬ ‫برای‬‫اری‬‫حداکثر‬ ‫دقت‬ ‫با‬7‫شود‬ ‫می‬ ‫استفاده‬ ‫اعشار‬ ‫رقم‬‫از‬ ‫بیشتر‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬7‫و‬ ‫شود‬ ‫می‬ ‫گرد‬ ‫باشد‬ ‫رقم‬
‫داده‬ ‫نوع‬double‫دقت‬ ‫با‬ ‫و‬ ‫رود‬ ‫می‬ ‫بکار‬ ‫کوچک‬ ‫بسیار‬ ‫یا‬ ‫بزرگ‬ ‫بسیار‬ ‫های‬ ‫داده‬ ‫برای‬25.‫باشد‬ ‫می‬ ‫اعشار‬ ‫رقم‬
‫چیست؟‬ ‫روبرو‬ ‫برنامه‬ ‫سوال)خروجی‬
‫ابتدا‬ ‫اگر‬ ‫شارپ‬ ‫سی‬ ‫زبان‬ ‫در‬ : ‫نکته‬‫صحیح‬ ‫عدد‬ ‫ی‬0X‫مبنای‬ ‫در‬ ‫عدد‬ ‫گیرد‬ ‫قرار‬21‫شود‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬.
‫مثال‬ ‫به‬‫روبرو‬:‫کنید‬ ‫توجه‬
‫نشانه‬ ‫زیر‬ ‫جدول‬‫های‬‫دا‬ ‫انواع‬:‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫ها‬ ‫ده‬
)‫نکته‬‫اعشاری‬ ‫عدد‬ ‫یک‬ ‫برنامه‬ ‫در‬ ‫اگر‬‫نشانه‬ ‫بدون‬‫اعشاری‬ ‫عدد‬ ‫فرض‬ ‫پیش‬ ‫بطور‬ ‫بنویسید‬
(‫زیاد‬ ‫دقت‬ ‫با‬double‫شو‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ).‫د‬
‫کنید‬ ‫دقت‬ ‫ها‬ ‫مثال‬ ‫به‬:
float a=12.51;
‫اعشاری‬ ‫ثابت‬ ‫های‬ ‫داده‬ ‫زیرا‬ ‫دارد‬ ‫گرامری‬ ‫خطای‬ ‫دستور‬ ‫این‬‫فرض‬ ‫پیش‬ ‫طور‬ ‫به‬،double
‫باشد‬ ‫می‬
‫بنویسید‬ ‫را‬ ‫زیر‬ ‫دستور‬ ‫دو‬ ‫از‬ ‫یکی‬ ‫توان‬ ‫می‬ ‫پس‬:
float a=12.51f; ‫یا‬ double d=12.51;
‫انتساب‬ ‫امکان‬ ‫شارپ‬ ‫سی‬ ‫زبان‬ ‫در‬ ‫کلی‬ ‫بطور‬ )‫نکته‬.‫است‬ ‫خطا‬ ‫کوچکتر‬ ‫ی‬ ‫داده‬ ‫نوع‬ ‫به‬ ‫بزرگتر‬ ‫داده‬ ‫نوع‬ ‫یک‬‫م‬ ‫زیر‬ ‫برنامه‬ ‫در‬‫تغیر‬
s‫نوع‬ ‫از‬integer‫متغیر‬ ‫و‬ ‫است‬h‫نوع‬ ‫از‬byte‫چرا؟‬ .‫است‬ ‫خطا‬ ‫چهارم‬ ‫خط‬ .‫است‬
‫دارد؟‬ ‫وجود‬ ‫خطا‬ ‫این‬ ‫کردن‬ ‫برطرف‬ ‫برای‬ ‫حلی‬ ‫راه‬ ‫آیا‬
‫نکته‬)‫علمی‬ ‫نماد‬ ‫بصورت‬ ‫را‬ ‫اعداد‬ ‫توان‬ ‫می‬)‫شناور‬ ‫(نقطه‬.‫داد‬ ‫نمایش‬ ‫نیز‬‫د‬‫عدد‬ ‫یک‬ ‫اول‬ ‫بخش‬ .‫شود‬ ‫می‬ ‫تشکیل‬ ‫بخش‬ ‫دو‬ ‫از‬ ‫عدد‬ ‫علمی‬ ‫نماد‬ ‫روش‬ ‫ر‬
‫بین‬ ‫صحیح‬ ‫رقمی‬ ‫تک‬1‫تا‬9‫مانتیس‬ ‫آن‬ ‫به‬ ‫که‬ ‫است‬‫از‬ ‫توانی‬ ‫صورت‬ ‫به‬ ‫دوم‬ ‫بخش‬ .‫گویند‬ ‫می‬21‫آن‬ ‫به‬ ‫که‬ ‫است‬‫نما‬.‫گویند‬ ‫می‬
‫مثال‬
double x=1.234E2; //123.4
float w=4.53E-3f; //0.00453
)‫سئوال‬‫ر‬ ‫زیر‬ ‫برنامه‬‫عملگر‬ ‫و‬ ‫نوشته‬ ‫ا‬+‫کنید؟‬ ‫بررسی‬ ‫را‬
float a;
a = 16.274138214f;
Console.WriteLine(a);
float sum;
byte p = 0xE4; // 0XE4
sum = 14.25f;
Console.WriteLine("p=" + p);
static void Main()
{
Console.WriteLine("5" + 4 + 7);
Console.WriteLine(5 + 4 + 7);
Console.WriteLine(5 +"4" + 7);
Console.WriteLine("5" + (4 + 7));
Console.ReadKey();
}
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
11
:‫متغیرها‬ ‫گذاری‬ ‫نام‬ ‫قوانین‬
•‫فقط‬‫زیرخط‬ ‫کاراکتر‬ ‫و‬ ‫اعداد‬ ،‫انگلیسی‬ ‫حروف‬ ‫از‬ ‫استفاده‬(_).‫است‬ ‫مجاز‬
•‫متغیر‬ ‫نام‬‫نمی‬.‫شود‬ ‫شروع‬ ‫عدد‬ ‫با‬ ‫تواند‬5B
•‫انتخابی‬ ‫نام‬‫نمی‬.‫باشد‬ ‫کلیدی‬ ‫کلمه‬ ‫تواند‬iffor
•‫گذار‬ ‫عالمت‬ ‫کاراکترهای‬ ‫از‬ ‫استفاده‬‫مجاز‬ ‫خالی‬ ‫جا‬ ‫و‬ ‫ی‬‫نیست‬.
•‫حساس‬‫بزرگ‬ ‫و‬ ‫کوچک‬ ‫حروف‬ ‫به‬A a
‫است؟‬ ‫مجاز‬ ‫غیر‬ ‫کدام‬ ‫و‬ ‫مجاز‬ ‫متغیر‬ ‫برای‬ ‫نام‬ ‫کدام‬ )‫سوال‬m-ga_br+ta5class vs IF a.b
.‫کنید‬ ‫انتخاب‬ ‫معنی‬ ‫با‬ ‫را‬ ‫متغیرهای‬ ‫نام‬ ‫است‬ ‫بهتر‬
‫متغیره‬ ‫گذاری‬ ‫نام‬ ‫برای‬‫شتری‬ ‫کوهان‬ ‫روش‬ ‫و‬ ‫مجارستانی‬ ‫روش‬ .‫است‬ ‫شده‬ ‫معرفی‬ ‫استاندارد‬ ‫دو‬ ‫ا‬
.‫شود‬ ‫می‬ ‫اضافه‬ ‫متغیر‬ ‫نام‬ ‫ابتدای‬ ‫به‬ ‫متغیر‬ ‫ی‬ ‫داده‬ ‫نوع‬ ‫مخفف‬ ،‫مجارستانی‬ ‫روش‬ ‫در‬intSum lngNumber fltGrade
‫او‬ ‫حرف‬ ‫شود‬ ‫تشکیل‬ ‫کلمه‬ ‫چند‬ ‫از‬ ‫نام‬ ‫اگر‬ ‫و‬ ‫شود‬ ‫می‬ ‫شروع‬ ‫کوچک‬ ‫حرف‬ ‫با‬ ‫متغیر‬ ‫نام‬ ‫شتری‬ ‫کوهان‬ ‫روش‬ ‫در‬‫بزرگ‬ ‫صورت‬ ‫به‬ ‫بعد‬ ‫به‬ ‫دوم‬ ‫کلمات‬ ‫نام‬ ‫ل‬
.‫شود‬ ‫می‬ ‫نوشته‬firstName userName notFound
(‫منطقی‬ ‫داده‬ ‫نوع‬bool: )
‫مقدار‬ ‫دو‬ ‫نگهداری‬ ‫جهت‬ ‫داده‬ ‫نوع‬ ‫این‬true‫یا‬false.‫گردد‬ ‫می‬ ‫استفاده‬
:‫مثال‬
bool flag=true; bool x=Flase; //Syntax error
‫حر‬ ‫داده‬ ‫نوع‬( ‫کاراکتری‬ ‫یا‬ ‫فی‬char: )
‫عالمت‬ ‫دو‬ ‫بین‬ ‫کاراکتری‬ ‫های‬ ‫ثابت‬ ‫شارپ‬ ‫سی‬ ‫زبان‬ ‫در‬) ' '‫فرد‬ ‫به‬ ‫منحصر‬ ‫کدی‬ ‫سیستم‬ ‫در‬ ‫کاراکتر‬ ‫هر‬ .‫گیرند‬ ‫می‬ ‫قرار‬ )‫کوتیشن‬ ‫تک‬.‫دارد‬
‫کاراکتر‬ ‫هر‬ ‫یونیکد‬ ‫استاندارد‬ ‫طبق‬ ‫که‬ ‫کند‬ ‫می‬ ‫اشغال‬ ‫فضا‬ ‫بایت‬ ‫دو‬ ‫داده‬ ‫نوع‬ ‫این‬،‫بین‬ ‫عددی‬1‫تا‬15535‫تمام‬ ‫و‬ ‫باشد‬ ‫می‬‫و‬ ‫ها‬ ‫نشانه‬‫ع‬‫حروف‬ ‫و‬ ‫الئم‬
.‫شود‬ ‫می‬ ‫شامل‬ ‫را‬ ‫مختلف‬ ‫های‬ ‫زبان‬ ‫الفبایی‬.‫است‬ ‫افزار‬ ‫سخت‬ ‫و‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ، ‫عامل‬ ‫سیستم‬ ‫از‬ ‫مستقل‬ ‫کدبندی‬ ‫این‬'a' '8' ' '
‫دستور‬ ‫در‬char ch='A';‫کراکتر‬A‫(کد‬15‫مبنای‬ ‫در‬21‫کد‬ ‫یا‬42‫مبنای‬ ‫در‬21‫متغیر‬ ‫در‬ ‫را‬ )ch‫دس‬ ‫این‬ ‫بجای‬ .‫دهد‬ ‫می‬ ‫قرار‬‫تور‬‫از‬ ‫توان‬ ‫می‬
‫نمود‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬.
char c='x0041'; ‫یا‬ char c='u0041';
‫مبنای‬ ‫در‬ ‫را‬ ‫کد‬ ‫سادگی‬ ‫برای‬21‫هر‬ .‫کنند‬ ‫می‬ ‫اعالم‬4‫مبنای‬ ‫رقم‬ ‫یک‬ ‫بیت‬21.‫است‬
.‫دارند‬ ‫کمپایل‬ ‫خطای‬ ‫همگی‬ ‫زیر‬ ‫دستورهای‬ ‫اما‬
char c = 'X0041';
char c='u41';
char c='ab';
char x = 'a' + 1; //error
)‫نکته‬‫بود‬ ‫خواهد‬ ‫عددی‬ ‫نوع‬ ‫از‬ ‫حاصل‬ ‫شود‬ ‫استفاده‬ ‫صحیح‬ ‫ثابت‬ ‫و‬ ‫عملگر‬ ‫بهمراه‬ ‫کراکتری‬ ‫ثابت‬ ‫از‬ ‫عبارت‬ ‫یک‬ ‫در‬ ‫اگر‬
int x = 'a' + 1; //x = 98
( ‫ای‬ ‫رشته‬ ‫داده‬ ‫نوع‬string):
‫عالمت‬ ‫بین‬ ‫ها‬ ‫رشته‬ .‫شود‬ ‫می‬ ‫گفته‬ ‫رشته‬ ‫حروف‬ ‫و‬ ‫کراکترها‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫به‬""‫هستند‬ ‫قادر‬ ‫ای‬ ‫رشته‬ ‫متغیرهای‬ .‫گیرد‬ ‫می‬ ‫قرار‬‫محلی‬ ‫آدرس‬
: ‫مثال‬ ‫نمایند‬ ‫نگهداری‬ ‫دارد‬ ‫وجود‬ ‫ای‬ ‫رشته‬ ‫داده‬ ‫یک‬ ‫که‬
string st="alireza";
string st = "u0041bc"; // Abc
: ‫مثال‬ .‫نمود‬ ‫استفاده‬ ‫ها‬ ‫رشته‬ ‫الحاق‬ ‫جهت‬ + ‫عملگر‬ ‫از‬ ‫توان‬ ‫می‬ : ‫نکته‬
string st = "ali"+"reza";
string st = 13+"ali" + 12;
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
12
string st = 13 + "" + 12;
string st = '2'+"a";
string st = 13 + 12; // syntax error
string st = '2'; // syntax error
string st = 2; // syntax error
)‫نکته‬‫داده‬ ‫نوع‬char‫نو‬ ‫اما‬ .‫کند‬ ‫می‬ ‫نگهداری‬ ‫را‬ ‫کاراکتر‬ ‫یک‬ ‫فقط‬‫داده‬ ‫ع‬string.‫شود‬ ‫می‬ ‫استفاده‬ ‫کاراکتر‬ ‫یک‬ ‫از‬ ‫بیش‬ ‫یا‬ ‫یک‬ ‫نگهداری‬ ‫برای‬
‫متد‬ ‫از‬ ‫استفاده‬ ‫با‬ )‫تمرین‬WriteLine‫بنویسید؟‬ ‫را‬ ‫حاصل‬ ‫و‬ ‫دهید‬ ‫نمایش‬ ‫را‬ ‫زیر‬ ‫کاراکترهای‬ ‫یا‬ ‫ها‬ ‫رشته‬
‫متد‬ReadLine:
‫دریافت‬ ‫جهت‬ ‫متد‬ ‫این‬‫رشته‬.‫شود‬ ‫می‬ ‫استفاده‬ ‫ورودی‬ ‫از‬‫نوع‬ ‫از‬ ‫متد‬ ‫این‬ ‫خروجی‬‫ا‬ ‫رشته‬‫ی‬‫کلید‬ ‫تا‬ ‫و‬ ‫باشد‬ ‫می‬Enter‫نمی‬ ‫اتمام‬ ‫به‬ ‫کارش‬ ‫نشود‬ ‫زده‬
‫متد‬ ‫البته‬ .‫رسد‬ReadKey‫نوع‬ ‫از‬ ‫آن‬ ‫خروجی‬ ‫و‬ ‫شود‬ ‫می‬ ‫کلید‬ ‫یک‬ ‫دریافت‬ ‫منتظر‬ ‫فقط‬ ‫که‬ ‫باشد‬ ‫می‬ ‫ورودی‬ ‫متدهای‬ ‫از‬ ‫نیز‬ConsoleKeyInfo‫می‬
‫باشد‬.
: ‫مثال‬
string st;
Console.WriteLine("Please Enter Number: ");
st = Console.ReadLine();
‫پیغام‬ ‫مثال‬ ‫این‬ ‫در‬Please Enter Number:‫متغیر‬ ‫داخل‬ ‫ورودی‬ .‫شود‬ ‫می‬ ‫کاربر‬ ‫از‬ ‫اطالعات‬ ‫دریافت‬ ‫منتظر‬ ‫و‬ ‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬ ‫کاربر‬ ‫به‬st
‫محاسبات‬ ‫انجام‬ ‫جهت‬ ‫باشد‬ ‫می‬ ‫ای‬ ‫رشته‬ ‫نوع‬ ‫از‬ ‫متغیر‬ ‫این‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬ .‫شود‬ ‫می‬‫گردد‬ ‫تبدیل‬ ‫عدد‬ ‫به‬ ‫باید‬.
‫ای‬ ‫برنامه‬ )‫تمرین‬‫ی‬ ‫کلمه‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کلید‬ ‫صفحه‬ ‫از‬ ‫را‬ ‫فامیلی‬ ‫و‬ ‫نام‬ ‫که‬ ‫بنویسید‬ ‫ی‬hello‫نمایش‬ ‫رنگی‬ ‫صورت‬ ‫به‬ ‫فامیلی‬ ‫و‬ ‫نام‬ ‫همراه‬ ‫به‬ ‫را‬
.‫دهد‬
:‫عدد‬ ‫به‬ ‫رشته‬ ‫تبدیل‬
‫متد‬ ‫از‬ ‫عدد‬ ‫به‬ ‫رشته‬ ‫تبدیل‬ ‫برای‬Parse‫نوع‬int‫یا‬float.‫شود‬ ‫می‬ ‫استفاده‬
int x=int.Parse("721"); float y=float.Parse("2.35");
int x=int.Parse("721a"); //Runtime Error float y=float.Parse("2.35f"); //Runtime Error
)‫نکته‬‫مثل‬ ‫داده‬ ‫های‬ ‫نوع‬int.‫هستند‬ ‫نیز‬ ‫متدهایی‬ ‫دارای‬ ‫که‬ ‫هستند‬ ‫کالس‬ ‫یک‬ ‫خود‬‫متد‬ ‫مثل‬Parse
Parse‫است‬ ‫کردن‬ ‫تجزیه‬ ‫معنای‬ ‫به‬(‫کاراکتر‬ ‫به‬ ‫کاراکتر‬ ‫بررسی‬)‫رشته‬ ‫یک‬.
‫تمرین‬‫نشان‬ ،‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ‫را‬ ‫آنها‬ ‫تقسیم‬ ‫و‬ ‫تفریق‬ ‫و‬ ‫ضرب‬ ‫و‬ ‫جمع‬ ‫حاصل‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )
.‫دهد‬
int n = int.Parse(Console.ReadLine());
‫تمرین‬‫چا‬ ‫را‬ ‫آنها‬ ‫میانگین‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫کند؟‬ ‫پ‬
‫تفاوت‬'a'‫و‬"a"‫چیست؟‬
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
13
‫فصل‬5): ‫محاسباتی‬ ‫های‬ ‫عبارت‬
‫محاسباتی‬ ‫عبارت‬ ‫یک‬‫ش‬(‫عملگر‬ ‫امل‬Operator(‫عملوند‬ ‫و‬ )Operand‫باشد‬ ‫می‬ ).‫مثال‬ ‫در‬5+3*2‫اعداد‬1‫و‬3‫و‬5.‫باشد‬ ‫می‬ ‫عملگر‬ + ‫و‬ * ‫و‬ ‫عملوند‬
‫و‬ * ‫و‬ + ‫مانند‬ ‫ها‬ ‫عملگر‬ ‫از‬ ‫بعضی‬–( ‫دوتایی‬ / ‫و‬Binary Operator‫می‬ ‫قرار‬ ‫عبارت‬ ‫دو‬ ‫بین‬ ‫یعنی‬ ‫باشند‬ ‫می‬ )‫یکتایی‬ ‫عملگر‬ ‫هم‬ ‫بعضی‬ ‫و‬ ‫گیرند‬
(Unary Operator‫مانند‬ )‫(قرینه‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫کار‬ ‫عملوند‬ ‫یک‬ ‫روی‬ ‫یعنی‬ ‫باشند‬ ‫می‬ )-5‫یا‬–(a*2-4)
)‫نکته‬. ‫دارد‬ ‫حاصل‬ ‫یک‬ ‫عبارت‬ ‫هر‬.‫باشد‬ ‫عددی‬ ‫غیر‬ ‫یا‬ ‫عددی‬ ‫است‬ ‫ممکن‬ ‫عبارت‬ ‫یک‬ ‫نتیجه‬
:‫محاسباتی‬ ‫عملگرهای‬+-/ *-%
) ‫نکته‬‫یکی‬ ‫اگر‬‫عم‬ ‫از‬/ ‫عملگر‬ ‫های‬ ‫لوند‬‫باشد‬ ‫اعشاری‬‫خروجی‬‫نوع‬ ‫از‬ ‫آن‬double‫دستور‬ ‫پس‬ ‫باشد‬ ‫می‬float x=12/5.2;.‫دارد‬ ‫خطا‬
‫بصورت‬ ‫اگر‬ ‫اما‬float x=12/5.2f;.‫ندارد‬ ‫خطا‬ ‫شود‬ ‫نوشته‬
:‫بنویسید‬ ‫را‬ ‫زیر‬ ‫عبارات‬ ‫حاصل‬ )‫سوال‬
2.5 * 2 = 15 / 7 = 15f / 7 =
31 % 3 = 18.2 % 4 = 8 % 16 =
31 % -3 = 1875 % 10= 1875 / 10=
-31 % 3=
-31 % -3=
( : ‫عملگرها‬ ‫اولویت‬Precedence)
‫دارد‬ ‫باال‬ ‫اولویت‬ ‫که‬ ‫عملگری‬ ‫ابتدا‬ ‫باشد‬ ‫عملگر‬ ‫چند‬ ‫که‬ ‫عباراتی‬ ‫در‬‫می‬ ‫انجام‬‫شود‬‫را‬ ‫به‬ ‫چپ‬ ‫سمت‬ ‫(از‬ .‫به‬ ‫که‬ ‫شوند‬ ‫می‬ ‫انجام‬ ‫ترتیب‬ ‫به‬ ‫عملگرها‬ ,‫ست‬
(‫چپ‬ ‫پذیری‬ ‫شرکت‬ ‫آن‬Left Associative.‫گویند‬ ‫می‬ ).‫نمود‬ ‫استفاده‬ ‫پرانتز‬ ‫از‬ ‫توان‬ ‫می‬ ‫بندی‬ ‫اولویت‬ ‫در‬ ‫تغییر‬ ‫برای‬ ‫البته‬
‫عملگر‬ ‫نوع‬‫نشانه‬‫عملگر‬ ‫نام‬‫اولویت‬
‫یکتایی‬-‫قرینه‬2
‫دوتایی‬* / %‫ضرب‬-‫تقسیم‬-‫تقسیم‬ ‫باقیمانده‬1
‫دوت‬‫ایی‬+ -‫جمع‬‫و‬‫تفریق‬3
Console.WriteLine(5 / 2); // 2
Console.WriteLine(5 / 0); // error
Console.WriteLine(5 % 2); // 1
Console.WriteLine(5 / 2.0); // 2.5
Console.WriteLine(5 + 2*3); // 11
Console.WriteLine(5 % 0.9); // 1.5
‫مفهوم‬Strict type checking language.‫شود‬ ‫رعایت‬ ‫باید‬ ‫قوانینی‬ ‫متغیر‬ ‫به‬ ‫عبارت‬ ‫یک‬ ‫انتساب‬ ‫هنگام‬ ‫در‬ ‫که‬ ‫باشد‬ ‫می‬ ‫شارپ‬ ‫سی‬ ‫های‬ ‫ویژگی‬ ‫از‬ :
‫یا‬ ‫سایز‬ ‫همان‬ ‫با‬ ‫متغیری‬ ‫در‬ ‫توان‬ ‫می‬ ‫را‬ ‫صحیح‬ ‫عبارت‬.‫نمود‬ ‫واگذار‬ ‫بزرگتر‬ ‫سایز‬
ushort x = 1412541 / 10; //error
‫را‬ ‫صحیح‬ ‫عبارت‬ ‫حاصل‬‫نوع‬ ‫اعداد‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫نمود‬ ‫ذخیره‬ ‫اعشاری‬ ‫متغیر‬ ‫یک‬ ‫در‬ ‫توان‬ ‫می‬long‫دقت‬ ‫با‬ ‫فقط‬7‫نوع‬ ‫در‬ ‫دقت‬ ‫رقم‬float‫با‬ ‫یا‬ ‫و‬25
‫نوع‬ ‫در‬ ‫دقت‬ ‫رقم‬double.‫شود‬ ‫می‬ ‫گرد‬ ‫ارقام‬ ‫بقیه‬ ‫و‬ ‫ذخیره‬
float x = 12345678956 / 10; Console.WriteLine(x); // 1.234568E+09
double x = 12345678956 / 10; Console.WriteLine(x); // 12345678956
double x = 123456789123456789 / 10; Console.WriteLine(x); //1.23456789123457E+16
float x = 12.1234523f; //12.12345
float x = 12.1234583f; //12.12346
‫بصورت‬ ‫توان‬ ‫نمی‬ ‫را‬ ‫اعشاری‬ ‫عبارت‬ ‫یک‬ ‫حاصل‬.‫داد‬ ‫قرار‬ ‫صحیح‬ ‫نوع‬ ‫متغیر‬ ‫در‬ ‫ضمنی‬
‫اعشاری‬ ‫عبارت‬ ‫یک‬ ‫حاصل‬float‫نوع‬ ‫متغیر‬ ‫در‬ ‫توان‬ ‫می‬ ‫را‬double.‫نمود‬ ‫ذخیره‬
‫اعشاری‬ ‫عبارت‬ ‫یک‬ ‫حاصل‬double‫توان‬ ‫نمی‬ ‫را‬(‫صریح‬ ‫و‬ ‫ضمنی‬ ‫بصورت‬implicit)‫نوع‬ ‫متغیر‬ ‫در‬float.‫نمود‬ ‫ذخیره‬
)‫سوال‬‫برنامه‬ ‫به‬‫روبرو‬‫چیست؟‬ ‫خطاها‬ ‫علت‬ .‫کنید‬ ‫توجه‬
‫کنید؟‬ ‫تقدم‬ ‫تعیین‬ ‫را‬ ‫زیر‬ ‫عبارات‬ ‫عملگرهای‬
12 * ( 15 – 18 / 2 * 3) % ( 17 – 9) * 2
a + b % ( c * (m+n ) ) / ( (h-w) % k ) * s
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
14
‫ت‬‫سکه‬ ‫کمترین‬ ‫به‬ ‫را‬ ‫آن‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫صحیح‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫مرین‬‫های‬21،5،1‫و‬2‫کند؟‬ ‫خرد‬ ‫ریالی‬
‫ثانی‬ ‫چند‬ ‫و‬ ‫دقیقه‬ ‫چند‬ ‫و‬ ‫ساعت‬ ‫چند‬ ،‫ثانیه‬ ‫تعداد‬ ‫این‬ ‫کند‬ ‫مشخص‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫ثانیه‬ ‫عنوان‬ ‫به‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫ش‬ ‫می‬ ‫ه‬‫ود؟‬
‫افز‬ ‫عملگرهای‬‫کاهشی‬ ‫و‬ ‫ایشی‬‫عملگرهای‬ :++‫و‬--.‫شوند‬ ‫می‬ ‫استفاده‬ ‫واحد‬ ‫یک‬ ‫اندازه‬ ‫به‬ ‫متغیر‬ ‫کاهش‬ ‫یا‬ ‫و‬ ‫افزایش‬ ‫برای‬ ‫و‬ ‫باشند‬ ‫می‬ ‫یکتایی‬ ‫عملگرهای‬
++x;  x=x+1; x++;  x=x+1;
--x;  x=x-1; x--;  x=x-1;
)‫نکته‬‫عمل‬ ‫اولویت‬‫کاهشی‬ ‫و‬ ‫افزایشی‬ ‫گرهای‬‫پیشوندی‬‫ب‬‫انتساب‬ ‫عملگر‬ ‫از‬ ‫االتر‬=.‫باشد‬ ‫می‬
int a = 1; int x = ++a; // ‫برابر‬ ‫متغیر‬ ‫دو‬ ‫هر‬ ‫محتوای‬1‫باشد‬ ‫می‬
)‫نکته‬‫کاهشی‬ ‫و‬ ‫افزایشی‬ ‫عملگرهای‬ ‫اولویت‬‫پسوندی‬‫انتساب‬ ‫عملگر‬ ‫از‬ ‫تر‬ ‫پایین‬=.‫باشد‬ ‫می‬
int a = 1; int x = a++;
‫متغیر‬ ‫محتوای‬x‫متغیر‬ ‫محتوای‬ ‫و‬ ‫یک‬ ‫برابر‬a‫برابر‬1‫باشد‬ ‫می‬.
‫چیست؟‬ ‫زیر‬ ‫دستورات‬ ‫خروجی‬ )‫سوال‬
‫بیتی‬ ‫عملگرهای‬1:&|^~>><<
‫عملونده‬ ‫روی‬ ‫بیت‬ ‫به‬ ‫بیت‬ ‫صورت‬ ‫به‬ ‫عملگر‬ ‫سپس‬ ‫و‬ ‫شوند‬ ‫می‬ ‫منتقل‬ ‫دو‬ ‫مبنای‬ ‫به‬ ‫عملوندها‬ ‫ابتدا‬ ‫عملگرها‬ ‫این‬ ‫در‬.‫شود‬ ‫می‬ ‫انجام‬ ‫ا‬
‫مثال‬‫عملکرد‬‫عملگر‬ ‫نوع‬‫نشانه‬‫عملگر‬ ‫ی‬
~aNot‫عدد‬‫یکتایی‬~
a & bAnd‫عدد‬ ‫دو‬‫دوتایی‬&
a | bOr‫عدد‬ ‫دو‬‫دوتایی‬|
a ^ bXor‫عدد‬ ‫دو‬‫دوتایی‬^
a >> 3‫چپ‬ ‫به‬ ‫شیفت‬‫دوتایی‬<<
a << 2‫راست‬ ‫به‬ ‫شیفت‬‫دوتایی‬>>
)‫نکته‬‫شیفت‬ ‫چپ‬ ‫سمت‬ ‫به‬ ‫بار‬ ‫یک‬ ‫عددی‬ ‫اگر‬‫سمت‬ ‫به‬ ‫بار‬ ‫یک‬ ‫اگر‬ ‫و‬ ‫است‬ ‫شده‬ ‫ضرب‬ ‫دو‬ ‫در‬ ‫شود‬ ‫داده‬‫راست‬.‫است‬ ‫شده‬ ‫تقسیم‬ ‫دو‬ ‫بر‬ ‫شود‬ ‫داده‬ ‫شیفت‬
2
.‫اند‬ ‫شده‬ ‫ذکر‬ ‫اینجا‬ ‫در‬ ‫بعدی‬ ‫مطالب‬ ‫بهتر‬ ‫یادگیری‬ ‫برای‬ ‫اما‬ ‫اند‬ ‫نشده‬ ‫مطرح‬ ‫کتاب‬ ‫در‬
int a = 5, b = 12, c;
c = ++a * b--;
Console.WriteLine("{0} {1} {2}", a, b, c);
int m, x = 20, y = 10, z = 5;
m = x++ / --z * ++y+x;
Console.WriteLine("{0} {1} {2} {3}", m, x, y, z);
Console.WriteLine(21 & 13);
Console.WriteLine(21 | 13);
Console.WriteLine(21 ^ 13);
Console.WriteLine(35 >> 2);
‫بیتی‬ ‫عملگرهای‬
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
15
19 >> 1  9 25 << 1  50 21 << 3  ?
‫عملگر‬‫های‬: ‫انتساب‬=
‫با‬ ‫عملگر‬ ‫این‬ ‫چپ‬ ‫سمت‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫متغیر‬ ‫در‬ ‫عبارت‬ ‫یا‬ ‫مقدار‬ ‫یک‬ ‫ذخیره‬ ‫برای‬‫متغیر‬ ‫یک‬ ‫ید‬(‫باشد‬‫نباشد‬ ‫عبارت‬ ‫یا‬ ‫ثابت‬)
.‫است‬ ‫آنها‬ ‫راست‬ ‫سمت‬ ‫ی‬ ‫داده‬ ‫مقدار‬ ،‫انتساب‬ ‫عملگرهای‬ ‫حاصل‬a=5 *(b=8);
‫ارزیابی‬ ‫چپ‬ ‫به‬ ‫راست‬ ‫سمت‬ ‫از‬ ‫انتساب‬ ‫عملگر‬ ‫در‬ ‫شدند‬ ‫می‬ ‫ارزیابی‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫سمت‬ ‫از‬ ‫که‬ ‫ریاضی‬ ‫عملگرهای‬ ‫خالف‬ ‫بر‬‫گیرد(شرکت‬ ‫می‬ ‫صورت‬
)‫راست‬ ‫پذیری‬
int z, y, x; z = x = y = 10;
: ‫دیگر‬ ‫انتسابی‬ ‫عملگرهای‬= , *= , /= , %= , &= , |= , ^= , <<= , >>=-+= ,
x += 4;  x=x+4; a*=2;  a=a*2; s <<= 1;  s= s << 1;
x += a;  x=x+a; n/=10;  n=n/10; y*=a+b;  y= y *(a+b);
)‫سوال‬‫دستور‬ ‫معادل‬‫ات‬x/=y;‫و‬x-=(a+b);.‫بنویسید‬ ‫را‬
‫دهد؟‬ ‫می‬ ‫انجام‬ ‫را‬ ‫عملی‬ ‫چه‬ ‫روبرو‬ ‫برنامه‬ ‫کنید‬ ‫بررسی‬ )‫سوال‬
‫تمرین‬‫نم‬ ‫را‬ ‫آن‬ ‫ارقام‬ ‫جمع‬ ‫حاصل‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫را‬ ‫رقمی‬ ‫سه‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫دهد؟‬ ‫ایش‬
‫تمرین‬)‫سپس‬ .‫کند‬ ‫دریافت‬ ‫نیز‬ ‫را‬ ‫شکل‬ ‫مربعی‬ ‫سرامیک‬ ‫یک‬ ‫ضلع‬ ‫یک‬ ‫اندازه‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫را‬ ‫اتاق‬ ‫یک‬ ‫عرض‬ ‫و‬ ‫طول‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬
)‫شود‬ ‫گرد‬ ‫عدد‬ ( ‫؟‬ ‫کند‬ ‫مشخص‬ ‫را‬ ‫اتاق‬ ‫این‬ ‫کف‬ ‫پوشش‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫سرامیک‬ ‫تعداد‬
‫سوال‬‫د‬ ‫عبارت‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫روبرو‬ ‫ریاضی‬ ‫عبارت‬ )‫ر‬C#‫بنویسید؟‬𝑎 ∗
𝑏−𝑐
𝑠+𝑤
+ 𝑓
‫سوال‬‫چیست؟‬ ‫روبرو‬ ‫دستورات‬ ‫خروجی‬ )
)‫تست‬
2-‫است؟‬ ‫گزینه‬ ‫کدام‬ ‫است‬ ‫ها‬ ‫یک‬ ‫و‬ ‫صفر‬ ‫از‬ ‫ای‬ ‫دنباله‬ ‫که‬ ‫کامپیوتر‬ ‫فهم‬ ‫قابل‬ ‫زبان‬
‫سطح‬ ‫زبان‬ )‫ب‬ ‫اسمبلی‬ ‫زبان‬ )‫الف‬‫میانی‬ ‫سطح‬ ‫زبان‬ )‫د‬ ‫ماشین‬ ‫زبان‬ )‫ج‬ ‫باال‬
1-‫است؟‬ ‫باز‬ ‫متن‬ ‫زیر‬ ‫های‬ ‫زبان‬ ‫از‬ ‫کدامیک‬
)‫الف‬JAVA)‫ب‬C#)‫ج‬C++)‫د‬.NET
3-‫برا‬ ‫که‬ ‫دستورات‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫به‬.‫شود‬ ‫می‬ ‫گفته‬ ...................... ‫شود‬ ‫می‬ ‫نوشته‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫ی‬
)‫الف‬Object)‫ب‬Method)‫ج‬class)‫د‬namespace
4-‫در‬ ‫خطی‬ ‫چند‬ ‫توضیحات‬ ‫نوشتن‬ ‫برای‬C#‫شود؟‬ ‫می‬ ‫استفاده‬ ‫گزینه‬ ‫کدام‬ ‫از‬
)‫الف‬/* */)‫ب‬*/ */)‫ج‬//)‫د‬
5-‫در‬ ‫برنامه‬ ‫ترجمه‬ ‫برای‬C#‫شود؟‬ ‫می‬ ‫استفاده‬ ‫کلید‬ ‫کدام‬ ‫از‬
)‫الف‬F5)‫ب‬F6)‫ج‬F2)‫د‬F10
1-‫کنند؟‬ ‫می‬ ‫اشغال‬ ‫فضا‬ ‫مقدار‬ ‫چه‬ ‫مجموعا‬ ‫روبرو‬ ‫متغیرهای‬
)‫الف‬9)‫ب‬ ‫بایت‬22)‫ج‬ ‫بایت‬21)‫د‬ ‫بایت‬8‫بایت‬
7-‫است؟‬ ‫گزینه‬ ‫کدام‬ ‫روبرو‬ ‫دستور‬ ‫خروجی‬);x0041"u0043b"(.WriteLineConsole
)‫الف‬43b41)‫ب‬CbA)‫ج‬CA‫است‬ ‫خطا‬ ‫دستور‬ ‫این‬ )‫د‬
int a = 14, b = 9;
a = a + b;
b = a - b;
a = a - b;
float b = 461.3762921f;
Console.WriteLine(b);
int a; ushort b;
float c;
bool z;
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
16
‫فصل‬6)‫دستور‬‫های‬: ‫شرطی‬
)‫منطقی(بولین‬ ‫عبارت‬:
‫حاصلش‬ ‫که‬ ‫عبارتی‬true‫یا‬false‫عملگرها‬ ‫از‬ ‫منطقی‬ ‫عبارات‬ ‫در‬ .‫است‬ ‫منطقی‬ ‫عبارت‬ ‫یک‬ ‫است‬.‫شود‬ ‫می‬ ‫استفاده‬ )‫ای‬ ‫ای(رابطه‬ ‫مقایسه‬ ‫ی‬‫مثال‬
12 > 5‫حاصلش‬ ‫که‬ ‫است‬ ‫منطقی‬ ‫عبارت‬ ‫یک‬true.‫است‬:‫اند‬ ‫شده‬ ‫تشریح‬ ‫زیر‬ ‫جدول‬ ‫در‬ ‫ایی‬ ‫مقایسه‬ ‫عملگرهای‬
‫عملگر‬ ‫نام‬‫عملگر‬ ‫ی‬ ‫نشانه‬‫مثال‬
‫برابری‬==12==8  false
‫مساوی‬ ‫نا‬!=12 != 8  true
‫کوچکتر‬<12<8  false
‫کوچکتر‬‫مساوی‬ ‫یا‬<=12 <= 8  false
‫بزرگتر‬>12 > 8  true
‫مساوی‬ ‫یا‬ ‫بزرگتر‬>=12 >= 8  true
)‫ها‬ ‫مثال‬
Console.WriteLine(10 == 12); //false
Console.WriteLine(10 >= 12); //false
Console.WriteLine(10 <= 12); //true
Console.WriteLine('A' == 'B'-1); //true
Console.WriteLine(65 == 'B' - 1); //true
Console.WriteLine('A' == 65); //true
:‫منطقی‬ ‫عملگرهای‬! && || ^
‫عملگرها‬ ‫این‬:‫هستند‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫و‬ .‫شوند‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫شرط‬ ‫ترکیب‬ ‫برای‬
‫عمل‬ ‫عملکرد‬ ‫زیر‬ ‫جدول‬ ‫در‬‫گرهای‬&&‫و‬||‫و‬^:‫است‬ ‫شده‬ ‫تشریح‬
^||&&‫دوم‬ ‫عملوند‬‫اول‬ ‫عملوند‬
falsetruetruetruetrue
truetruefalsefalsetrue
truetruefalsetruefalse
falsefalsefalsefalsefalse
‫آورید؟‬ ‫بدست‬ ‫را‬ ‫روبرو‬ ‫عبارت‬ ‫حاصل‬ )‫تمرین‬18 % 7 > 2 || 25!=17 && 32<=11 ^ 14<5+4
15 > 11 ^ !(22 == 8) && 16 > 9 || 20 < 13
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
17
‫شرطی‬ ‫دستور‬if:
: ‫است‬ ‫صورت‬ ‫بدین‬ ‫دستور‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫کلی‬ ‫شکل‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫دستورات‬ ‫اجرای‬ ‫کنترل‬ ‫برای‬
if( ‫منطقی‬ ‫عبارت‬ )
‫یک‬‫دستور‬ ;
‫سه‬ ‫از‬ ‫دستور‬ ‫این‬‫ب‬‫است‬ ‫شده‬ ‫تشکیل‬ ‫خش‬‫شرط‬ ‫که‬ ‫صورتی‬ ‫در‬ .true‫داخل‬ ‫دستور‬ ‫باشد‬if‫یک‬ ‫از‬ ‫بیش‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬ .‫شود‬ ‫می‬ ‫اجرا‬
‫در‬ ‫دستور‬‫ی‬ ‫بدنه‬if‫شود‬ ‫اجرا‬،‫های‬ ‫عالمت‬ ‫بین‬ ‫را‬ ‫ها‬ ‫آن‬{}‫دهیم‬ ‫می‬ ‫قرار‬.
.‫شود‬ ‫می‬ ‫داده‬ ‫گرامری‬ ‫خطای‬ ‫اینصورت‬ ‫غیر‬ ‫در‬ ‫بگیرد‬ ‫قرار‬ ‫پرانتز‬ ‫دو‬ ‫بین‬ ‫باید‬ ‫حتما‬ ‫شرط‬
‫مثال‬2)
‫مثال‬1)
int a = int.Parse(Console.ReadLine());
if (a < 10)
{
Console.WriteLine("Your Mark is "+a);
Console.WriteLine("Failed ");
}
if (a >= 10)
{
Console.WriteLine("Your Mark is " + a);
Console.WriteLine("Passed ");
}
‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫به‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫عدد‬ ‫یک‬5‫و‬3‫پذیر‬ ‫پخش‬‫پیغام‬ ‫بود‬Yes.‫کند‬ ‫چاپ‬
)‫تمرین‬‫از‬ ‫کمتر‬ ‫نمره‬ ‫اگر‬ .‫کند‬ ‫دریافت‬ ‫را‬ ‫آموز‬ ‫دانش‬ ‫یک‬ ‫نمره‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬21‫کاراکتر‬ ‫بود‬E‫بین‬ ‫نمره‬ ‫اگر‬ .‫دهد‬ ‫نمایش‬ ‫را‬21‫تا‬24
‫بود‬‫کاراکتر‬D‫نمای‬ ‫را‬‫بین‬ ‫نمره‬ ‫اگر‬ ‫دهد‬ ‫ش‬24‫تا‬21‫کاراکتر‬ ‫بود‬C‫بین‬ ‫نمره‬ ‫اگر‬ ‫و‬ ‫دهد‬ ‫نمایش‬ ‫را‬21‫تا‬28‫کاراکتر‬ ‫بود‬B‫و‬ ‫دهد‬ ‫نمایش‬ ‫را‬
‫بین‬ ‫نمره‬ ‫اگر‬11‫تا‬28‫کاراکتر‬ ‫بود‬A‫از‬ ‫نمره‬ ‫اگر‬ ‫نهایت‬ ‫در‬ . ‫دهد‬ ‫نمایش‬ ‫را‬11‫پیغام‬ ‫بود‬ ‫بیشتر‬Error.‫شود‬ ‫صادر‬
:‫بالک‬
‫های‬ ‫عالمت‬ ‫داخل‬ ‫که‬ ‫دستور‬ ‫تعدادی‬ ‫به‬.‫شود‬ ‫می‬ ‫گفته‬ ‫بالك‬ ،‫باشند‬ ‫داشته‬ ‫قرار‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫آکوال‬
.‫باشد‬ ‫دستور‬ ‫یک‬ ‫شامل‬ ‫فقط‬ ‫حتی‬ ‫یا‬ ‫باشد‬ ‫خالی‬ ‫تواند‬ ‫می‬ ‫بالك‬
.‫نویسند‬ ‫می‬ ‫تورفتگی‬ ‫با‬ ‫را‬ ‫بالك‬ ‫داخل‬ ‫دستورات‬ ،‫بیشتر‬ ‫خوانایی‬ ‫برای‬
.‫کرد‬ ‫تلقی‬ ‫دستور‬ ‫یک‬ ‫مانند‬ ‫توان‬ ‫می‬ ‫را‬ ‫بالك‬ ‫یک‬
‫چیست؟‬ ‫روبرو‬ ‫دستورات‬ ‫خروجی‬ )‫مثال‬
int a = int.Parse(Console.ReadLine());
if (a %2 == 0 )
Console.WriteLine(a+ " is Even");
if (a %2 != 0 )
Console.WriteLine(a+ " is Odd");
}
‫دستور‬ ;
‫دستور‬ ;
‫دستور‬ ;
}
int grade = 5;
if (grade > 10) ;
Console.WriteLine("Good");
Console.WriteLine("Bad");
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
18
‫دستو‬‫شرطی‬ ‫ر‬else-if:‫شرط‬ ‫که‬ ‫صورتی‬ ‫در‬if‫قسمت‬ ‫نباشد‬ ‫برقرار‬else.‫شود‬ ‫می‬ ‫اجرا‬
if( ‫عبارت‬‫منطقی‬ )
‫دستور‬2 ;
else
‫دستور‬1 ;
‫دستور‬ ‫باشد‬ ‫درست‬ ‫شرط‬ ‫اگر‬ ‫دستور‬ ‫این‬ ‫در‬2‫شود‬ ‫می‬ ‫اجرا‬
‫دستور‬ ‫نباشد‬ ‫درست‬ ‫شرط‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬1.‫شود‬ ‫می‬ ‫اجرا‬
‫کاربر‬ ‫از‬ ‫عددی‬ ‫زیر‬ ‫برنامه‬ ‫در‬‫متغیر‬ ‫در‬ ‫و‬ ‫شود‬ ‫می‬ ‫گرفته‬a‫قرار‬
‫پیغام‬ ‫باشد‬ ‫زوج‬ ‫عدد‬ ‫این‬ ‫اگر‬ .‫گیرد‬ ‫می‬is Even‫غیر‬ ‫در‬ ‫و‬
‫پیغام‬ ‫صورت‬ ‫این‬is Odd‫ص‬.‫شود‬ ‫می‬ ‫ادر‬
int a = int.Parse(Console.ReadLine());
if (a %2==0 )
Console.WriteLine(a+ " is Even");
else
Console.WriteLine(a+ " is Odd");
)‫نکته‬‫بین‬ ‫همیشه‬if‫و‬else‫باید‬‫یک‬.‫شود‬ ‫می‬ ‫صادر‬ ‫خطا‬ ‫صورت‬ ‫این‬ ‫غیر‬ ‫در‬ ‫بگیرد‬ ‫قرار‬ ‫دستور‬ ‫بالك‬ ‫یک‬ ‫یا‬ ‫دستور‬
if (a %2==0 )
Console.WriteLine(a+ " is Even");
Console.WriteLine();
else
Console.WriteLine(a+ " is Odd");
‫کند؟‬ ‫چاپ‬ ‫را‬ ‫آنها‬ ‫کوچکترین‬ ‫و‬ ‫بزرگترین‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬
)‫تمرین‬‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫را‬ ‫کارمند‬ ‫یک‬ ‫درآمد‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬7‫درآمد‬ ‫که‬ ‫صورتی‬ ‫در‬ .‫کند‬ ‫محاسبه‬ ‫بیمه‬ ‫حق‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫درصد‬
‫م‬ ‫یک‬ ‫از‬ ‫کارمند‬‫است‬ ‫بیشتر‬ ‫یلیون‬5.‫شود‬ ‫می‬ ‫محاسبه‬ ‫زیر‬ ‫فرمول‬ ‫از‬ ‫کارمند‬ ‫هر‬ ‫دریافتی‬ ‫حقوق‬ .‫کنید‬ ‫محاسبه‬ ‫را‬ ‫میلیون‬ ‫یک‬ ‫مازاد‬ ‫مالیات‬ ‫درصد‬
‫خالص‬ ‫حقوق‬ = ‫درآمد‬ – ‫بیمه‬ - ‫مالیات‬
)‫سوال‬‫دارد؟‬ ‫ایرادی‬ ‫چه‬ ‫روبرو‬ ‫برنامه‬
‫تمرین‬2‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫رقمی‬ ‫تک‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫انگلیسی‬ ‫معادل‬ ‫سپس‬5  Five
‫تمرین‬1‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫مطلق‬ ‫قدر‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )
‫تمرین‬3‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫آنها‬ ‫کوچکترین‬ ‫و‬ ‫بزرگترین‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )
int k = 12;
if (k>5);
{
Console.WriteLine("+");
}
else
{
Console.WriteLine("$");
}
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
19
‫دستور‬‫در‬ ‫تو‬ ‫شرطی‬ ‫ات‬:‫تو‬
‫یک‬ ‫ی‬ ‫بدنه‬if‫یک‬ ‫یا‬else‫یک‬ ‫تواند‬ ‫می‬if‫صورت‬ ‫به‬ .‫باشد‬ ‫دیگر‬‫روبرو‬:
)‫مثال‬
)‫دیگر‬ ‫مثال‬
float b;
b = float.Parse(Console.ReadLine());
if (b < 0 || b>20)
Console.WriteLine("Error");
else if (b >= 0 && b < 10)
Console.WriteLine("BAD");
else if(b>=10 && b<15)
Console.WriteLine("Good!");
else if (b>=15 && b<=20)
Console.WriteLine("very Good!");
Console.ReadKey();
:‫هستند‬ ‫معادل‬ ‫زیر‬ ‫دستورات‬
‫درصو‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫انگلیسی‬ ‫حرف‬ ‫کاراکتر‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫نمایش‬ ‫بزرگ‬ ‫حرف‬ ‫صورت‬ ‫به‬ ‫را‬ ‫آن‬ ‫بود‬ ‫کوچک‬ ‫حرف‬ ‫که‬ ‫رتی‬
‫دهید؟‬b  B
‫دهد‬ ‫نمایش‬ ‫را‬ ‫معادله‬ ‫های‬ ‫ریشه‬ ‫وسپس‬ ‫کند‬ ‫دریافت‬ ‫دو‬ ‫درجه‬ ‫معادله‬ ‫یک‬ ‫ضرایب‬ ‫عنوان‬ ‫به‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫؟‬
ax2+bx+c=0
‫است؟‬ ‫خطا‬ ‫گزینه‬ ‫کدام‬ ،‫روبرو‬ ‫متغیرهای‬ ‫تعریف‬ ‫به‬ ‫توجه‬ ‫تست)با‬h;doublem;shortz;floata;int
)‫الف‬h = a;)‫ب‬z = m;)‫ج‬a = z;)‫د‬h = z;
if ( ‫منطقی‬ ‫عبارت‬2 )
{
1‫دستوارت‬
}
else if( ‫منطقی‬ ‫عبارت‬1 )
{
2‫دستوارت‬
}
else if( ‫منطقی‬ ‫عبارت‬3 )
{
‫دستورات‬3
}
else
{
‫دستورات‬4
}
int n = int.Parse(Console.ReadLine());
if (n >= 0 && n < 10)
Console.Write(n);
else if (n == 10)
Console.Write('A');
else if (n == 11)
Console.Write('B');
else if (n == 12)
Console.Write('C');
else if (n == 13)
Console.Write('D');
else if (n == 14)
Console.Write('E');
else if (n == 15)
Console.Write('F');
else
Console.Write("Error");
if (a>5)
if (a<12)
Console.WriteLine("test");
if (a>5 && a<12)
Console.WriteLine("test");
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
20
‫دستور‬switch:‫ا‬ ‫از‬ ‫کنیم‬ ‫اجرا‬ ‫را‬ ‫دستورهایی‬ ‫آن‬ ‫اساس‬ ‫بر‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫عبارت‬ ‫یک‬ ‫مختلف‬ ‫های‬ ‫حالت‬ ‫بخواهیم‬ ‫که‬ ‫مواردی‬ ‫در‬‫استفاده‬ ‫دستور‬ ‫ین‬
‫کنیم‬ ‫می‬.
‫عبارت‬ ‫این‬ .‫شود‬ ‫می‬ ‫ارزیابی‬ ‫پرانتز‬ ‫داخل‬ ‫عبارت‬ ‫ابتدا‬‫توان‬ ‫نمی‬‫جلوی‬ ‫مقدار‬ ‫کدام‬ ‫برابر‬ ‫عبارت‬ ‫این‬ ‫حاصل‬ ‫شود‬ ‫می‬ ‫بررسی‬ ‫سپس‬ .‫باشد‬ ‫اعشاری‬case
‫دستور‬ ‫به‬ ‫رسیدن‬ ‫تا‬ ‫آن‬ ‫با‬ ‫متناسب‬ ‫دستور‬ ‫و‬ ‫باشد‬ ‫می‬break‫ا‬ ‫کدام‬ ‫هیچ‬ ‫برابر‬ ‫مقدار‬ ‫این‬ ‫اگر‬ .‫شود‬ ‫می‬ ‫اجرا‬‫جلوی‬ ‫مقادیر‬ ‫ز‬case‫دستورات‬ ‫نبود‬
‫از‬ ‫بعد‬default.‫شود‬ ‫می‬ ‫اجرا‬‫مثال‬
) ‫نکته‬‫عبارت‬default.‫باشد‬ ‫می‬ ‫اختیاری‬ ‫دستور‬ ‫این‬ ‫در‬
)‫نکته‬‫دستور‬ ‫از‬break‫یک‬ ‫به‬ ‫داده‬ ‫خاتمه‬ ‫برای‬case‫شود‬ ‫می‬ ‫استفاده‬‫دستور‬ ‫اگر‬ .break‫زیر‬ ‫بصورت‬ ‫اگر‬ ‫البته‬ ‫شود‬ ‫می‬ ‫صادر‬ ‫خطا‬ ‫نشود‬ ‫نوشته‬
‫خط‬ ‫شود‬ ‫نوشته‬‫شود‬ ‫نمی‬ ‫صادر‬ ‫ا‬:
switch(a){
case 1:
case 2:
Console.WriteLine("Two");
break;}
‫مقدار‬ ‫اگر‬ ‫حالت‬ ‫این‬ ‫در‬a‫یک‬ ‫برابر‬‫یا‬‫عبارت‬ ‫باشد‬ ‫دو‬Two.‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬
)‫نکته‬‫از‬ ‫بعد‬ ‫دستور‬case‫یک‬ ‫حتی‬ ‫دستوری‬ ‫هر‬ ‫تواند‬ ‫می‬switch‫یا‬if‫مثال‬ ‫باشد‬ ‫دیگر‬
case 2:
if (b < 3 && b > 2)
Console.WriteLine("test");
else
Console.WriteLine("Good");
break;
‫جلوی‬ ‫عبارت‬ )‫نکته‬switch‫حرف‬ ‫تواند‬ ‫می‬ ‫اما‬ ‫باشد‬ ‫اعشاری‬ ‫تواند‬ ‫نمی‬.‫است‬ ‫خطا‬ ‫زیر‬ ‫دستور‬ .‫باشد‬ ‫صحیح‬ ‫و‬ ‫ای‬ ‫رشته‬ ،‫ی‬
switch( n/10.0)
switch(‫)عبارت‬
}
case 2‫مقدار‬ :
‫دستور‬2 ;
break;
case 1‫مقدار‬ :
‫دستور‬1 ;
break;
.
.
default :
‫دیگر‬ ‫;دستورهای‬
break;
{
int a = int.Parse(Console.ReadLine());
switch(a){
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
break;
case 3:
Console.WriteLine("Three");
break;
case 4:
Console.WriteLine("Four");
break;
default :
Console.WriteLine(a+ " Is > 4 or < 1 ");
break;
}
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
21
‫به‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫کن‬ ‫دریافت‬ ‫سال‬ ‫ماه‬ ‫ی‬ ‫شماره‬ ‫عنوان‬.‫کند‬ ‫تعیین‬ ‫را‬ ‫آن‬ ‫فصل‬ ‫و‬ ‫د‬
int b = int.Parse(Console.ReadLine());
switch (b)
}
case 1:
case 2:
case 3:
Console.WriteLine("Spring");
break;
case 4:
case 5:
case 6:
Console.WriteLine("Summer");
break;
case 7:
case 8:
case 9:
Console.WriteLine("Fall");
break;
case 10:
case 11:
case 12:
Console.WriteLine("Winter");
break;
{
‫زوج‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫فرد‬ ‫یا‬)‫ورودی‬ ‫عدد‬ ‫یکان‬ ‫رقم‬ ‫از‬ ‫استفاده‬ ‫با‬ ( ‫کند‬ ‫مشخص‬ ‫را‬ ‫آن‬ ‫بودن‬
int n = int.Parse(Console.ReadLine());
int r = n % 10;
switch (r)
{
case 0:
case 2:
case 4:
case 6:
case 8:
Console.Write("Is Even");
break;
default :
Console.Write("Is Odd");
break;
}
‫بنویسید؟‬ ‫را‬ ‫روبرو‬ ‫فلوچارت‬ ‫به‬ ‫مربوط‬ ‫برنامه‬ )‫تمرین‬)‫است‬ ‫رقمی‬ ‫سه‬ ‫ورودی‬ ‫عدد‬ ‫کنید‬ ‫فرض‬ (
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
22
‫فصل‬7)‫تکرا‬ ‫دستورات‬‫ر‬: ‫حلقه‬
‫از‬ ‫دستورات‬ ‫تکرار‬ ‫برای‬‫دستورات‬while‫یا‬do-while‫یا‬for.‫کنیم‬ ‫می‬ ‫استفاده‬‫دس‬ ‫تعدادی‬ ،‫تکرار‬ ‫دستورات‬ ‫در‬‫تور‬)‫حلقه‬ ‫ی‬ ‫(بدنه‬‫درستی‬ ‫اساس‬ ‫بر‬
‫دستورات‬ .‫شوند‬ ‫می‬ ‫بندی‬ ‫دسته‬ ‫نامعین‬ ‫و‬ ‫معین‬ ‫گروه‬ ‫دو‬ ‫به‬ ‫تکرار‬ ‫دستورات‬ .‫شوند‬ ‫می‬ ‫تکرار‬ ‫شرط‬ ‫یک‬while‫و‬do-while‫یعنی‬ ‫هستند‬ ‫نامعین‬
‫دستور‬ ‫اما‬ .‫دارد‬ ‫حلقه‬ ‫شرط‬ ‫به‬ ‫بستگی‬ ‫و‬ ‫است‬ ‫نامشخص‬ ‫دستورات‬ ‫تکرار‬ ‫تعداد‬for‫می‬ ‫تکرار‬ ‫مشخصی‬ ‫تعداد‬ ‫و‬ ‫است‬ ‫معین‬.‫شود‬
‫دستور‬while:
while (‫منطقی‬ ‫عبارت‬)
‫دستور‬ ‫یک‬;
‫و‬ ‫شود‬ ‫می‬ ‫اجرا‬ ‫دستور‬ ‫باشد‬ ‫درست‬ ‫اگر‬ ‫شود‬ ‫می‬ ‫بررسی‬ ‫شرط‬ ‫ابتدا‬ ‫در‬‫ک‬‫برن‬ ‫نترل‬‫امه‬
‫دستور‬ ‫به‬ ‫دوباره‬while‫شرط‬ ‫اگر‬ .‫شود‬ ‫می‬ ‫بررسی‬ ‫مجددا‬ ‫شرط‬ ‫و‬ ‫گردد‬ ‫می‬ ‫باز‬
.‫شود‬ ‫نمی‬ ‫تکرار‬ ‫دیگر‬ ‫حلقه‬ ‫باشد‬ ‫نادرست‬
‫ا‬ ‫روبرو‬ ‫فلوچارت‬ ‫در‬‫مجددا‬ ‫و‬ ‫گردد‬ ‫می‬ ‫انجام‬ ‫دستور‬ ‫بود‬ ‫درست‬ ‫اگر‬ ‫بررسی‬ ‫شرط‬ ‫بتدا‬
‫می‬ ‫پیدا‬ ‫ادامه‬ ‫کار‬ ‫این‬ .‫گردد‬ ‫می‬ ‫بررسی‬ ‫شرط‬ ‫دوباره‬ ‫و‬ ‫گردد‬ ‫می‬ ‫بر‬ ‫فلوچارت‬ ‫باالی‬ ‫به‬
.‫شود‬ ‫نادرست‬ ‫شرط‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫کند‬
: ‫مثال‬
int a=1;
while (a < 5)
{
Console.WriteLine( a);
a++;
}
Console.WriteLine("End");
‫مثال‬ ‫این‬ ‫در‬‫تا‬ ‫یک‬ ‫اعداد‬4‫که‬ ‫هنگامی‬ ‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬a=5‫عبارت‬ ‫و‬ ‫آید‬ ‫می‬ ‫بیرون‬ ‫حلقه‬ ‫از‬ ‫و‬ ‫شود‬ ‫می‬ ‫نادرست‬ ‫حلقه‬ ‫شرط‬ ‫شود‬ ‫می‬End‫را‬
‫ن‬‫شرطی‬ ‫دستور‬ ‫همانند‬ ‫که‬ ‫این‬ ‫مهم‬ ‫نکته‬ .‫دهد‬ ‫می‬ ‫مایش‬if‫داخل‬ ‫را‬ ‫آنها‬ ‫شوند‬ ‫تکرار‬ ‫دستور‬ ‫دو‬ ‫خواهیم‬ ‫می‬ ‫چون‬{}. ‫دهیم‬ ‫می‬ ‫قرار‬
: ‫دیگر‬ ‫مثال‬
int a=1;
while (a < 10)
Console.WriteLine(a++);
Console.WriteLine("End");
‫ن‬‫کته‬)‫اگر‬‫در‬‫حلقه‬ ‫ابتدای‬ ‫همان‬،.‫شود‬ ‫نمی‬ ‫تکرار‬ ‫حلقه‬ ‫باشد‬ ‫نادرست‬ ‫شرط‬
‫نکته‬)‫از‬ ‫بعد‬ ‫اگر‬while‫عالمت‬;‫عبارت‬ ‫باشد‬ ‫برقرار‬ ‫شرط‬ ‫که‬ ‫درصورتی‬ ‫گیرد‬ ‫قرار‬;‫می‬ ‫تکرار‬
‫شود‬ ‫می‬ ‫نهایت‬ ‫بی‬ ‫حلقه‬ ‫و‬ ‫شود‬)‫منطقی‬ ‫(خطای‬.
‫بدنه‬ ‫که‬ ‫صورتی‬ ‫در‬ )‫نکته‬‫ی‬‫استفاده‬ ‫به‬ ‫نیازی‬ ‫باشد‬ ‫دستور‬ ‫یک‬ ‫فقط‬ ‫حلقه‬‫ام‬ .‫نیست‬ ‫بالك‬ ‫از‬‫اگر‬ ‫ا‬
.‫شود‬ ‫استفاده‬ ‫بالك‬ ‫از‬ ‫باید‬ ‫باشد‬ ‫دستور‬ ‫یک‬ ‫از‬ ‫بیشتر‬ ‫حلقه‬ ‫ی‬ ‫بدنه‬
‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫رقمی‬ ‫دو‬ ‫زوج‬ ‫اعداد‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬
‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫ارقام‬ ‫مجموع‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫صحیح‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬
‫خروجی‬a
11
22
33
44
End5
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
23
‫برنامه‬ )‫تمرین‬‫زیر‬‫چه‬‫دهد؟‬ ‫می‬ ‫انجام‬ ‫را‬ ‫عملی‬
‫بنویسید؟‬ ‫را‬ ‫روبرو‬ ‫فلوچارت‬ ‫به‬ ‫مربوط‬ ‫برنامه‬ )‫تمرین‬
‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫عدد‬ ‫مغلوب‬ ‫کند‬ ‫دریافت‬ ‫عدد‬5241 1425
‫دستور‬while-do:‫دستور‬ ‫مانند‬ ‫دستور‬ ‫این‬while‫اجرای‬ ‫از‬ ‫بعد‬ ‫حلقه‬ ‫شرط‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫است‬‫می‬ ‫اجرا‬ ‫یکبار‬ ‫حداقل‬ ‫لذا‬ .‫شود‬ ‫می‬ ‫بررسی‬ ‫حلقه‬ ‫ی‬ ‫بدنه‬
.‫شود‬:‫دستور‬ ‫کلی‬ ‫شکل‬
‫در‬،‫فوق‬ ‫برنامه‬.‫شود‬ ‫می‬ ‫اجرا‬ ‫یکبار‬ ‫حداقل‬ ‫اما‬ ‫باشد‬ ‫می‬ ‫نادرست‬ ‫شرط‬ ‫ارزش‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬5‫می‬ ‫نمایش‬ ‫را‬
‫چون‬ ‫و‬ ‫کند‬ ‫می‬ ‫بررسی‬ ‫را‬ ‫شرط‬ ‫سپس‬ ‫دهد‬false‫از‬ ‫باشد‬ ‫می‬‫حلقه‬‫عبارت‬ ‫و‬ ‫شده‬ ‫خارج‬End‫ر‬‫می‬ ‫نمایش‬ ‫ا‬
.‫دهد‬
‫نکته‬)‫بین‬do‫و‬while‫باید‬‫بین‬ ‫را‬ ‫آنها‬ ‫کنیم‬ ‫تکرار‬ ‫را‬ ‫دستور‬ ‫یک‬ ‫از‬ ‫بیش‬ ‫بخواهیم‬ ‫اگر‬ ‫و‬ ‫باشد‬ ‫دستور‬ ‫یک‬ ‫فقط‬
{}.‫دهیم‬ ‫می‬ ‫قرار‬
‫نکته‬(‫دستور‬ ‫در‬do – while‫ا‬ ‫چون‬‫ن‬‫دستور‬ ‫تهای‬while‫لذا‬ ‫باشد‬ ‫می‬‫از‬ ‫بعد‬while‫باید‬ ‫حتما‬;‫دهیم‬ ‫قرار‬.
)‫تمرین‬‫روبرو‬ ‫برنامه‬.‫ندهد‬ ‫رخ‬ ‫خطا‬ ‫تا‬ ‫دهید‬ ‫تغییری‬ ‫برنامه‬ ‫در‬ ‫و‬ ‫نوشته‬ ‫را‬ ‫آن‬ ‫علت‬ ‫دارد؟‬ ‫خطا‬
‫را‬ ‫شده‬ ‫وارد‬ ‫اعداد‬ ‫میانگین‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫عدد‬ ‫تعدادی‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬
)‫است‬ ‫صفر‬ ،‫اعداد‬ ‫بخش‬ ‫پایان‬ (.‫دهد‬ ‫نمایش‬ ‫و‬ ‫محاسبه‬
int a=5;
do
Console.WriteLine(a);
a++;
while (a > 7);
Console.WriteLine("End");
int n = int.Parse(Console.ReadLine());
long f = 1;
int c = 1;
while(c<=n)
{
f *= c;
++c;
}
Console.WriteLine(f);
Console.ReadKey();
do
‫دستور‬;
while(‫منطقی‬ ‫عبارت‬);
int a=5;
do
Console.WriteLine(a);
while (a > 7);
Console.WriteLine("End");
int number, sum = 0, tedad = 0;
do
{
number = int.Parse(Console.ReadLine());
sum += number;
tedad++;
} while (number != 0);
float avrg = sum / (tedad - 1);
Console.WriteLine(avrg);
Console.ReadKey();
‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬
24
‫تمرین‬)
2‫بنویس‬ ‫را‬ ‫روبرو‬ ‫دستورات‬ ‫)خروجی‬‫ید؟‬
1)‫پرکنید؟‬ ‫مناسب‬ ‫عبارات‬ ‫با‬ ‫را‬ ‫زیر‬ ‫های‬ ‫جاخالی‬
‫مترجم‬ )‫الف‬‫نمی‬‫تواند‬‫نوع‬‫داده‬.............‫را‬‫به‬‫طور‬‫ضمنی‬‫و‬‫خودکار‬‫به‬‫نوع‬float‫تبدیل‬‫کند‬.
‫درزبان‬ )‫ب‬‫برنامه‬‫نویسی‬C#،‫عملگرهای‬‫یکتایی‬++‫و‬--‫به‬‫ترتیب‬‫برای‬...........‫و‬..............‫یک‬ ‫مقدار‬‫متغیر‬‫به‬‫اندازه‬‫ی...............واحددر‬
‫نظر‬‫گرفته‬‫شده‬‫است‬.
‫آکوالد‬ )‫ج‬‫های‬‫باز‬‫و‬‫بسته‬‫محدوده‬‫عملیات‬..........‫و‬............‫دستور‬switch‫را‬‫معین‬‫می‬‫کند‬.
‫اگر‬ )‫د‬‫در‬‫برنامه‬‫ای‬‫با‬‫عبارت‬‫ها‬‫و‬‫اعداد‬‫اعشاری‬‫با‬‫دقت‬‫حداکثر‬7‫رقم‬‫سر‬‫و‬‫کار‬.............. ‫نوع‬ ‫متغیرهای‬ ‫از‬ ‫دارید‬.‫شود‬ ‫می‬ ‫استفاده‬ .
3)‫به‬ ‫زیر‬ ‫رشته‬ ‫نمایش‬ ‫برای‬ ‫صحیح‬ ‫دستوری‬‫ز‬‫بان‬C#.‫بنویسید‬
I study "computer".
4‫اگر‬ )int x=7 , y=2;‫عدد‬ ،‫عبارت‬ ‫کدام‬ ‫نتیجه‬4‫نمی‬‫شود؟‬
)‫الف‬y+x/2-1)‫ب‬(x+y)%2+2)‫ج‬x-2+(--y))‫د‬-y*2+4*2
5‫روبرو‬ ‫برنامه‬ )‫دهد؟‬ ‫می‬ ‫انجام‬ ‫را‬ ‫عملی‬ ‫چه‬
1)‫آورید؟‬ ‫بدست‬ ‫را‬ ‫روبرو‬ ‫برنامه‬ ‫خروجی‬
7‫چیست؟‬ ‫آن‬ ‫خروجی‬ ‫و‬ ‫کنید‬ ‫بررسی‬ ‫را‬ ‫روبرو‬ ‫برنامه‬ )
8.‫بنویسید‬ ‫را‬ ‫روبرو‬ ‫فلوچارت‬ ‫به‬ ‫مربوط‬ ‫برنامه‬ )
‫ارقام‬ ‫مجموع‬ ‫و‬ ‫کند‬ ‫می‬ ‫دریافت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫ایی‬ ‫برنامه‬
.‫کند‬ ‫می‬ ‫چاپ‬ ‫و‬ ‫محاسبه‬ ‫را‬ ‫آن‬
9)‫خروج‬‫است؟‬ ‫گزینه‬ ‫کدام‬ ‫روبرو‬ ‫برنامه‬ ‫ی‬
)‫الف‬SalamBye)‫ب‬Salam
)‫ج‬Bye‫شود‬ ‫نمی‬ ‫چاپ‬ ‫چیزی‬ ‫هیچ‬ )‫د‬
static void Main()
{
int a = 1, b = 1;
if ( ! (a==1 && b==2))
Console.WriteLine(true);
if (a !=1 || b!=2)
Console.WriteLine(false);
}
char ch,up;
ch = char.Parse(Console.ReadLine());
if (ch >= 'a' && ch <= 'z')
up = (char) (ch - 32);
else
up = ch;
Console.WriteLine(up);
Console.ReadKey();
int a, b, c;
a=b=1;
while(a<100) {
Console.WriteLine(a);
c = a + b;
a = b;
b = c;
}
int n = 1;
while (n < 10) ;
}
Console.WriteLine(n);
++n;
{
int s = 0x12;
if (s == 18)
Console.Write("Salam");
if (s == 12) ;
Console.WriteLine("Bye");
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#
Mohamady zahedy c#

More Related Content

What's hot

03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.iraminnezarat
 
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از Hamid Saberi
 
Machine & Assembly Language - Chapter 1
Machine & Assembly Language - Chapter 1Machine & Assembly Language - Chapter 1
Machine & Assembly Language - Chapter 1M Nemati
 
Advance programming c++
Advance programming c++Advance programming c++
Advance programming c++AliNazarizadeh
 
How to program with c in persian
How to program with c in persianHow to program with c in persian
How to program with c in persianmoein jazemi
 

What's hot (6)

03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
03 open mp_fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
Amjadi - Ebook 5 - Function - v1
Amjadi - Ebook 5 - Function - v1Amjadi - Ebook 5 - Function - v1
Amjadi - Ebook 5 - Function - v1
 
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
 
Machine & Assembly Language - Chapter 1
Machine & Assembly Language - Chapter 1Machine & Assembly Language - Chapter 1
Machine & Assembly Language - Chapter 1
 
Advance programming c++
Advance programming c++Advance programming c++
Advance programming c++
 
How to program with c in persian
How to program with c in persianHow to program with c in persian
How to program with c in persian
 

Viewers also liked

برنامه عملیاتی94 95
برنامه عملیاتی94 95برنامه عملیاتی94 95
برنامه عملیاتی94 95danesh_fd
 
Tracking Message Flows in DataPower With CA APM
Tracking Message Flows in DataPower With CA APMTracking Message Flows in DataPower With CA APM
Tracking Message Flows in DataPower With CA APMCA Technologies
 
Conjunctiva
ConjunctivaConjunctiva
Conjunctivariddhi27
 
Insights_PE_FamilyOfficesPlayPowerfulNewRole
Insights_PE_FamilyOfficesPlayPowerfulNewRoleInsights_PE_FamilyOfficesPlayPowerfulNewRole
Insights_PE_FamilyOfficesPlayPowerfulNewRoleJohn A. Bova
 
What's New in CA Test Data Manager 4.0?
What's New in CA Test Data Manager 4.0?What's New in CA Test Data Manager 4.0?
What's New in CA Test Data Manager 4.0?CA Technologies
 
Trabajo de naturales 5 nerea s, laura sy, lucia, laura p, paula j y raquel
Trabajo de naturales 5 nerea s, laura sy, lucia, laura p, paula j y raquelTrabajo de naturales 5 nerea s, laura sy, lucia, laura p, paula j y raquel
Trabajo de naturales 5 nerea s, laura sy, lucia, laura p, paula j y raqueljlealleon
 
Report de l'ouverture de la station de ski de Saint-Lary Soulan a une date ul...
Report de l'ouverture de la station de ski de Saint-Lary Soulan a une date ul...Report de l'ouverture de la station de ski de Saint-Lary Soulan a une date ul...
Report de l'ouverture de la station de ski de Saint-Lary Soulan a une date ul...Philippe Villette
 
Corps humain. lucía cazorla, nico, marcos, victor, joaquin
Corps humain. lucía cazorla, nico, marcos, victor, joaquinCorps humain. lucía cazorla, nico, marcos, victor, joaquin
Corps humain. lucía cazorla, nico, marcos, victor, joaquinjlealleon
 
Corneal ulcers
Corneal ulcers Corneal ulcers
Corneal ulcers sameep94
 

Viewers also liked (15)

برنامه عملیاتی94 95
برنامه عملیاتی94 95برنامه عملیاتی94 95
برنامه عملیاتی94 95
 
TEAM_1
TEAM_1TEAM_1
TEAM_1
 
Tracking Message Flows in DataPower With CA APM
Tracking Message Flows in DataPower With CA APMTracking Message Flows in DataPower With CA APM
Tracking Message Flows in DataPower With CA APM
 
Conjunctiva
ConjunctivaConjunctiva
Conjunctiva
 
Insights_PE_FamilyOfficesPlayPowerfulNewRole
Insights_PE_FamilyOfficesPlayPowerfulNewRoleInsights_PE_FamilyOfficesPlayPowerfulNewRole
Insights_PE_FamilyOfficesPlayPowerfulNewRole
 
آموزش C
آموزش Cآموزش C
آموزش C
 
What's New in CA Test Data Manager 4.0?
What's New in CA Test Data Manager 4.0?What's New in CA Test Data Manager 4.0?
What's New in CA Test Data Manager 4.0?
 
Trabajo de naturales 5 nerea s, laura sy, lucia, laura p, paula j y raquel
Trabajo de naturales 5 nerea s, laura sy, lucia, laura p, paula j y raquelTrabajo de naturales 5 nerea s, laura sy, lucia, laura p, paula j y raquel
Trabajo de naturales 5 nerea s, laura sy, lucia, laura p, paula j y raquel
 
Report de l'ouverture de la station de ski de Saint-Lary Soulan a une date ul...
Report de l'ouverture de la station de ski de Saint-Lary Soulan a une date ul...Report de l'ouverture de la station de ski de Saint-Lary Soulan a une date ul...
Report de l'ouverture de la station de ski de Saint-Lary Soulan a une date ul...
 
Corps humain. lucía cazorla, nico, marcos, victor, joaquin
Corps humain. lucía cazorla, nico, marcos, victor, joaquinCorps humain. lucía cazorla, nico, marcos, victor, joaquin
Corps humain. lucía cazorla, nico, marcos, victor, joaquin
 
Dry Eye Disease
Dry Eye DiseaseDry Eye Disease
Dry Eye Disease
 
AddReality
AddRealityAddReality
AddReality
 
SCS Group
SCS GroupSCS Group
SCS Group
 
Corneal ulcers
Corneal ulcers Corneal ulcers
Corneal ulcers
 
Sociologia
SociologiaSociologia
Sociologia
 

Similar to Mohamady zahedy c#

چرا نود.جی اس؟
چرا نود.جی اس؟چرا نود.جی اس؟
چرا نود.جی اس؟Masoud Sharifi
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationMorteza Zakeri
 
About Programming - persion.pptx
About Programming - persion.pptxAbout Programming - persion.pptx
About Programming - persion.pptxHossein Darvishi
 
ویژوال فصل سوم
ویژوال فصل سومویژوال فصل سوم
ویژوال فصل سومcomputerka
 
سوالات کاربر تولید محتوا از فصل 4 تا 7
سوالات کاربر تولید محتوا از فصل 4  تا 7سوالات کاربر تولید محتوا از فصل 4  تا 7
سوالات کاربر تولید محتوا از فصل 4 تا 7nazaninjam
 
Natural Language Processing with Python
Natural Language Processing with PythonNatural Language Processing with Python
Natural Language Processing with PythonHassan Saleh
 
بسته 3 دی 94
بسته 3 دی 94بسته 3 دی 94
بسته 3 دی 94azarsadri
 
مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدعباس بني اسدي مقدم
 
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازMobin Ranjbar
 
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهرانFarafekr Technology
 
امتحان دی ماه وب مقدماتی
امتحان دی ماه وب مقدماتیامتحان دی ماه وب مقدماتی
امتحان دی ماه وب مقدماتیsomayeh daneshparvar
 
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نتآموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نتfaradars
 

Similar to Mohamady zahedy c# (20)

چرا نود.جی اس؟
چرا نود.جی اس؟چرا نود.جی اس؟
چرا نود.جی اس؟
 
مقدمه ای بر F#
مقدمه ای بر F#مقدمه ای بر F#
مقدمه ای بر F#
 
programing.pptx
programing.pptxprograming.pptx
programing.pptx
 
C++
C++C++
C++
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in Implementation
 
About Programming - persion.pptx
About Programming - persion.pptxAbout Programming - persion.pptx
About Programming - persion.pptx
 
Lecture2
Lecture2Lecture2
Lecture2
 
ویژوال فصل سوم
ویژوال فصل سومویژوال فصل سوم
ویژوال فصل سوم
 
سوالات کاربر تولید محتوا از فصل 4 تا 7
سوالات کاربر تولید محتوا از فصل 4  تا 7سوالات کاربر تولید محتوا از فصل 4  تا 7
سوالات کاربر تولید محتوا از فصل 4 تا 7
 
Natural Language Processing with Python
Natural Language Processing with PythonNatural Language Processing with Python
Natural Language Processing with Python
 
بسته 3 دی 94
بسته 3 دی 94بسته 3 دی 94
بسته 3 دی 94
 
مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهد
 
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیرازIntroduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
 
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
1st Hadoop Tehran Workshop - اسلاید اولین کارگاه آموزش هدوپ تهران
 
امتحان دی ماه وب مقدماتی
امتحان دی ماه وب مقدماتیامتحان دی ماه وب مقدماتی
امتحان دی ماه وب مقدماتی
 
مدل رانده
مدل راندهمدل رانده
مدل رانده
 
RESUME
RESUMERESUME
RESUME
 
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نتآموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
 
RESUME
RESUMERESUME
RESUME
 
RESUME
RESUMERESUME
RESUME
 

More from danesh_fd

Final report
Final reportFinal report
Final reportdanesh_fd
 
گزارش عملیاتی سه ماهه اول
گزارش عملیاتی سه ماهه اولگزارش عملیاتی سه ماهه اول
گزارش عملیاتی سه ماهه اولdanesh_fd
 
Gozaresh se mahe_dovom
Gozaresh se mahe_dovomGozaresh se mahe_dovom
Gozaresh se mahe_dovomdanesh_fd
 
Gozaresh 1 3 95 mahe (2)
Gozaresh 1 3 95 mahe  (2)Gozaresh 1 3 95 mahe  (2)
Gozaresh 1 3 95 mahe (2)danesh_fd
 
تحلیل آزمون پیشرفت تحصیلی مرحله 3
تحلیل آزمون پیشرفت تحصیلی مرحله 3تحلیل آزمون پیشرفت تحصیلی مرحله 3
تحلیل آزمون پیشرفت تحصیلی مرحله 3danesh_fd
 
94 95 علمی عملی
94 95 علمی عملی94 95 علمی عملی
94 95 علمی عملیdanesh_fd
 
تحلیل سیزدهیمن دوره_مسابقات_علمی
تحلیل سیزدهیمن دوره_مسابقات_علمیتحلیل سیزدهیمن دوره_مسابقات_علمی
تحلیل سیزدهیمن دوره_مسابقات_علمیdanesh_fd
 
3گزارش بازبینی
3گزارش بازبینی3گزارش بازبینی
3گزارش بازبینیdanesh_fd
 
گزارش بازبینی زبان دانش
گزارش بازبینی زبان دانشگزارش بازبینی زبان دانش
گزارش بازبینی زبان دانشdanesh_fd
 
2گزارش بازبینی
2گزارش بازبینی2گزارش بازبینی
2گزارش بازبینیdanesh_fd
 
گزارش بازبینی شبکه دانش
گزارش بازبینی شبکه دانشگزارش بازبینی شبکه دانش
گزارش بازبینی شبکه دانشdanesh_fd
 
گزارش بازبینی بانک اطلاعاتی دانش
گزارش بازبینی بانک اطلاعاتی دانشگزارش بازبینی بانک اطلاعاتی دانش
گزارش بازبینی بانک اطلاعاتی دانشdanesh_fd
 
1گزارش بازبینی
1گزارش بازبینی1گزارش بازبینی
1گزارش بازبینیdanesh_fd
 
1گزارش بازبینی
1گزارش بازبینی1گزارش بازبینی
1گزارش بازبینیdanesh_fd
 
Behine saze site
Behine saze siteBehine saze site
Behine saze sitedanesh_fd
 
Farakhan weblog1
Farakhan weblog1Farakhan weblog1
Farakhan weblog1danesh_fd
 
Form esfahan weblog emtiaz
Form esfahan weblog emtiazForm esfahan weblog emtiaz
Form esfahan weblog emtiazdanesh_fd
 
Form esfahan weblog emtiaz
Form esfahan weblog emtiazForm esfahan weblog emtiaz
Form esfahan weblog emtiazdanesh_fd
 

More from danesh_fd (20)

Final report
Final reportFinal report
Final report
 
گزارش عملیاتی سه ماهه اول
گزارش عملیاتی سه ماهه اولگزارش عملیاتی سه ماهه اول
گزارش عملیاتی سه ماهه اول
 
Gozaresh se mahe_dovom
Gozaresh se mahe_dovomGozaresh se mahe_dovom
Gozaresh se mahe_dovom
 
Gozaresh 1 3 95 mahe (2)
Gozaresh 1 3 95 mahe  (2)Gozaresh 1 3 95 mahe  (2)
Gozaresh 1 3 95 mahe (2)
 
تحلیل آزمون پیشرفت تحصیلی مرحله 3
تحلیل آزمون پیشرفت تحصیلی مرحله 3تحلیل آزمون پیشرفت تحصیلی مرحله 3
تحلیل آزمون پیشرفت تحصیلی مرحله 3
 
94 95 علمی عملی
94 95 علمی عملی94 95 علمی عملی
94 95 علمی عملی
 
تحلیل سیزدهیمن دوره_مسابقات_علمی
تحلیل سیزدهیمن دوره_مسابقات_علمیتحلیل سیزدهیمن دوره_مسابقات_علمی
تحلیل سیزدهیمن دوره_مسابقات_علمی
 
3گزارش بازبینی
3گزارش بازبینی3گزارش بازبینی
3گزارش بازبینی
 
گزارش بازبینی زبان دانش
گزارش بازبینی زبان دانشگزارش بازبینی زبان دانش
گزارش بازبینی زبان دانش
 
2گزارش بازبینی
2گزارش بازبینی2گزارش بازبینی
2گزارش بازبینی
 
گزارش بازبینی شبکه دانش
گزارش بازبینی شبکه دانشگزارش بازبینی شبکه دانش
گزارش بازبینی شبکه دانش
 
گزارش بازبینی بانک اطلاعاتی دانش
گزارش بازبینی بانک اطلاعاتی دانشگزارش بازبینی بانک اطلاعاتی دانش
گزارش بازبینی بانک اطلاعاتی دانش
 
1گزارش بازبینی
1گزارش بازبینی1گزارش بازبینی
1گزارش بازبینی
 
1گزارش بازبینی
1گزارش بازبینی1گزارش بازبینی
1گزارش بازبینی
 
Behine saze site
Behine saze siteBehine saze site
Behine saze site
 
Rooholahy
RooholahyRooholahy
Rooholahy
 
Mokhtary c#
Mokhtary c#Mokhtary c#
Mokhtary c#
 
Farakhan weblog1
Farakhan weblog1Farakhan weblog1
Farakhan weblog1
 
Form esfahan weblog emtiaz
Form esfahan weblog emtiazForm esfahan weblog emtiaz
Form esfahan weblog emtiaz
 
Form esfahan weblog emtiaz
Form esfahan weblog emtiazForm esfahan weblog emtiaz
Form esfahan weblog emtiaz
 

Mohamady zahedy c#

  • 1. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 1 ‫یک‬ ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬ C# ‫زاهدی‬ :‫کننده‬ ‫تهیه‬-‫محمدی‬ ‫بهار‬49
  • 2. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 2 ) ‫اول‬ ‫فصل‬‫مفاهیم‬‫پایه‬‫ای‬‫پردازش‬‫داده‬‫ها‬ ‫داده‬‫ها‬(Data):‫مجموعه‬‫ای‬‫از‬‫مقادیر‬‫در‬‫مورد‬‫یک‬‫موضوع‬‫یا‬‫شیء‬‫است‬‫که‬‫به‬‫صورت‬‫کم‬‫یک‬ ‫با‬ ‫ی‬‫مقدار‬‫عددی‬‫و‬‫یا‬‫به‬‫صورت‬‫کیفی‬‫نشان‬‫داده‬ ‫می‬‫شود‬‫پس‬‫داده‬‫ها‬‫مقادیر‬ ،‫خام‬‫و‬‫اولیه‬‫در‬‫مورد‬‫یک‬‫موضوع‬‫هستند‬‫کالس‬ ‫یک‬ ‫نمرات‬ ‫مانند‬ . ‫پردازش‬(Process):‫برای‬‫اینکه‬‫از‬‫داده‬‫ها‬‫بتوانیم‬‫بهتر‬‫استفاده‬‫کنیم‬‫الزم‬‫است‬‫بر‬‫روی‬‫آنها‬‫محاسبات‬‫و‬‫یا‬‫به‬‫طور‬‫کلی‬‫عملیاتی‬‫را‬‫انجام‬‫د‬‫هیم‬. ‫مجموعه‬ ‫پس‬‫محاسبات‬‫و‬‫عملیاتی‬‫که‬‫بر‬‫روی‬‫داده‬‫ها‬‫صورت‬‫می‬‫گیرد‬‫را‬‫پردازش‬‫می‬‫کامپیوتر‬ (.‫نامند‬‫پردازشگر‬‫داده‬‫ها‬)‫است‬‫ضرب‬ ‫و‬ ‫جمع‬ ‫مانند‬ ‫اطالعات‬(Information)‫نتایج‬ :‫حاصل‬‫از‬‫عملیات‬‫و‬‫محاسبات‬‫بر‬‫روی‬‫داده‬‫ها‬‫را‬‫اطالعات‬‫می‬‫نامیم‬‫که‬‫می‬‫تواند‬‫مورد‬‫تفسیر‬‫و‬‫بررسی‬‫قرار‬ ‫گیرد‬. ‫و‬‫نتیجه‬‫بررسی‬‫آنها‬‫به‬‫دانش‬‫ختم‬‫گردد‬‫که‬‫دانش‬‫می‬‫تواند‬‫مبنای‬‫تصمیم‬‫گیری‬‫برای‬‫انجام‬‫کاری‬‫شود‬. ‫از‬ ‫کمتر‬ ‫آنها‬ ‫معدل‬ ‫که‬ ‫دانشجویانی‬ : ‫مثال‬21‫نمرات‬ .‫نمایند‬ ‫اخذ‬ ‫توانند‬ ‫می‬ ‫درسی‬ ‫واحد‬ ‫محدودی‬ ‫تعداد‬ ‫بعد‬ ‫ترم‬ ‫در‬ ‫و‬ ‫باشند‬ ‫می‬ ‫مشروط‬ ‫باشد‬ ‫مح‬ ‫دانشجو‬ ‫معدل‬ ،)‫(پردازش‬ ‫محاسبات‬ ‫انجام‬ ‫از‬ ‫پس‬ ‫و‬ )‫ها‬ ‫کنند(داده‬ ‫می‬ ‫سیستم‬ ‫وارد‬ ‫را‬ ‫دانشجویان‬‫می‬ ‫معدل‬ ‫از‬ ‫استفاده‬ ‫با‬ . )‫شود(اطالعات‬ ‫می‬ ‫اسبه‬ ‫دانشجو‬ ‫وضعیت‬ ‫توان‬)‫(دانش‬.‫نمود‬ ‫مشاهده‬ ‫را‬ ‫در‬‫فرایند‬‫رسیدن‬‫از‬‫داده‬‫ها‬‫به‬،‫اطالعات‬‫نکات‬‫زیر‬‫باید‬‫رعایت‬‫گردد‬: 2‫ــ‬‫صحت‬‫داده‬‫ها‬:‫یعنی‬‫داده‬‫ها‬‫ورودی‬ ‫ی‬‫به‬‫درستی‬‫شوند‬ ‫گردآوری‬‫باشد‬ ‫منفی‬ ‫عدد‬ ‫تواند‬ ‫نمی‬ ‫آموز‬ ‫دانش‬ ‫نمره‬ ‫مثال‬ .. 1‫ــ‬‫درستی‬‫انجام‬‫محاسبات‬:‫یعنی‬‫محاسبات‬‫و‬‫یا‬‫به‬‫طور‬‫کلی‬‫عملیاتی‬‫که‬‫بر‬‫روی‬‫داده‬‫ها‬‫صورت‬‫می‬‫گیرد‬‫با‬‫دقت‬‫و‬‫بدون‬‫اشتباه‬‫انجام‬‫شوند‬.‫در‬ ‫اشتباه‬ ‫اطالعات‬ ،‫محاسبات‬ ‫در‬ ‫اشتباه‬ ‫صورت‬.‫آید‬ ‫می‬ ‫بدست‬ 3‫ــ‬‫روش‬‫انجام‬‫پردازش‬:‫با‬‫توجه‬‫به‬‫هدفی‬‫که‬‫از‬‫گردآوری‬‫داده‬‫ها‬‫در‬‫نظر‬‫داریم‬‫باید‬‫پردازش‬‫مناسب‬‫نیز‬‫بر‬‫روی‬‫آنها‬‫انجام‬‫دهیم‬‫تا‬‫به‬‫اطالعات‬‫مفید‬ ‫برسیم‬.‫استفاده‬‫از‬‫روش‬‫های‬‫بهینه‬‫و‬‫الگوریتم‬‫های‬‫مناسب‬‫در‬‫عمل‬‫پردازش‬‫توصیه‬‫می‬‫شود‬. ‫برنامه‬‫به‬ :‫مجموعه‬‫دستوراتی‬‫که‬‫به‬‫کامپیوتر‬‫می‬‫فهماند‬‫که‬‫چه‬‫نوع‬‫پردازشی‬‫را‬‫بر‬‫روی‬‫داده‬‫ها‬‫و‬ ‫دهد‬ ‫انجام‬‫همچنین‬‫ا‬‫طالعات‬‫به‬‫دست‬‫آمده‬‫را‬ ‫چگونه‬‫نمایش‬‫دهد‬‫برنامه‬‫گویند‬. ‫ماشین‬ ‫زبان‬(Machine Language):‫زبان‬‫قابل‬‫فهم‬‫کامپیوتر‬‫دنباله‬‫است‬ ‫یک‬ ‫و‬ ‫صفر‬ ‫کدهای‬ ‫از‬ ‫ای‬. ‫مترجم‬(Compiler)‫ترجمه‬ ‫جهت‬ :‫تبدیل‬ ‫و‬‫ماشین‬ ‫زبان‬ ‫از‬ ‫غیر‬ ‫ای‬ ‫برنامه‬)‫باال‬ ‫(سطح‬‫ماشین‬ ‫زبان‬ ‫به‬‫شود‬ ‫می‬ ‫استفاده‬.‫مترجم‬‫خود‬‫یک‬‫برنامه‬ ‫کامپیوتری‬‫است‬‫که‬‫وظیفه‬‫آن‬‫ترجمه‬‫ی‬‫برنامه‬‫نوشته‬‫شده‬‫به‬‫یک‬،‫زبان‬‫به‬‫کدهای‬‫زبان‬‫ماشین‬‫است‬. (‫نویسی‬ ‫برنامه‬Programing)‫نوشتن‬ :‫دستورات‬‫الزم‬‫برای‬‫کنترل‬‫نحوه‬‫کار‬،‫کامپیوتر‬‫به‬‫طوری‬‫که‬‫کامپیوتر‬‫بتواند‬‫یک‬‫کار‬‫مشخص‬‫را‬‫ا‬‫نجام‬ ‫دهد‬. ‫برنامه‬‫نوی‬‫س‬(Programmer):‫شخصی‬‫است‬‫که‬‫آشنا‬‫به‬‫دستورات‬‫یک‬‫زبان‬‫برنامه‬‫نویسی‬‫باشد‬‫و‬‫با‬‫به‬‫کارگیری‬‫صحیح‬‫و‬‫مناسب‬‫دستور‬،‫ات‬ ‫برنامه‬‫نویسی‬‫کند‬. ‫انواع‬‫زبان‬‫های‬‫برنامه‬‫نویسی‬: ‫زبان‬‫های‬‫برنامه‬‫نویسی‬‫را‬‫از‬‫نظر‬‫این‬‫که‬‫تا‬‫چه‬‫اندازه‬‫به‬‫زبان‬‫محاوره‬‫ای‬‫انسان‬‫نزدیک‬‫باشند‬،‫به‬‫صورت‬‫زیر‬‫دسته‬‫بندی‬‫می‬‫کنند‬: ‫داده‬ ‫اطالعات‬‫پردازش‬
  • 3. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 3 ‫ز‬‫ب‬‫پایین‬ ‫سطح‬ ‫های‬ ‫ان‬(Low Level Language):‫زبان‬‫هایی‬‫که‬‫به‬‫زبان‬‫پردازشگر‬‫کامپیوتر‬(CPU)‫نزدیک‬‫باشد‬‫از‬ ‫و‬‫زبان‬‫محاوره‬‫ای‬‫ما‬ ‫دور‬‫هستند‬‫مانند‬‫زبان‬‫ماشین‬‫و‬‫زبان‬‫اسمبلی‬ .‫ندارد‬ ‫مترجم‬ ‫به‬ ‫نیاز‬ ‫کامپیوتر‬ ‫توسط‬ ‫اجرا‬ ‫برای‬ ‫ماشین‬ ‫زبان‬ )‫نکته‬ (‫باال‬ ‫سطح‬ ‫های‬ ‫زبان‬High Level Language):‫زبان‬‫برنامه‬‫نویسی‬‫که‬‫به‬‫زبان‬‫محاوره‬‫ای‬‫ما‬‫نزدیک‬،‫باشد‬‫مانند‬VB،Java‫و‬#C ‫زبان‬‫های‬‫سطح‬‫میانی‬(Medium Level Language:)‫برای‬ ‫دستوراتی‬ ، ‫زبانها‬ ‫این‬ ‫در‬‫دسترسی‬‫راحت‬‫تر‬‫به‬‫سخت‬‫افزار‬‫پیش‬‫بینی‬ ‫شده‬‫باشد‬‫و‬‫همچنین‬‫به‬‫زبان‬‫عامیانه‬‫نزدیک‬،‫باشند‬‫مانند‬‫زبان‬C. ‫برنامه‬‫نویسان‬‫از‬‫این‬‫زبان‬‫ها‬‫برای‬‫کار‬‫با‬‫سخت‬‫افزار‬‫کامپیوتر‬‫و‬‫برنامه‬‫ریزی‬‫وسایلی‬‫که‬‫در‬‫آنها‬‫کنند‬ ‫می‬ ‫استفاده‬ ‫دارد‬ ‫وجود‬ ‫پردازشگر‬. ‫ی‬ ‫مجموعه‬ ‫مانند‬ ‫آماده‬ ‫افزارهای‬ ‫نرم‬ ‫وجود‬ ‫با‬ )‫سوال‬Office،‫چیست؟‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫یک‬ ‫یادگیری‬ ‫دلیل‬ ‫تمرین‬:‫درجدول‬ ‫شده‬ ‫ذکر‬ ‫عبارات‬‫کنید؟‬ ‫تکمیل‬ ‫چپ‬ ‫سمت‬ ‫عبارات‬ ‫های‬ ‫گزینه‬ ‫با‬ ‫را‬ ‫راست‬ ‫سمت‬ ‫ستون‬ 2‫نتایج‬‫حاصل‬‫از‬‫عملیات‬‫و‬‫محاسبات‬‫بر‬‫روی‬‫داده‬‫ها‬‫الف‬‫ماشین‬ ‫زبان‬ 1‫مقادیر‬‫خام‬‫و‬‫اولیه‬‫در‬‫مورد‬‫یک‬‫موضوع‬‫ب‬‫اطالعات‬ 3‫به‬‫صحیح‬ ‫کارگیری‬‫و‬‫مناسب‬‫دستورات‬‫ج‬‫داد‬‫ه‬‫ها‬ 4‫زبان‬‫قابل‬‫فهم‬‫سخت‬‫افزار‬،‫کامپیوتر‬‫د‬‫نویس‬ ‫برنامه‬‫ی‬ )‫تست‬ 2‫نویسی‬ ‫برنامه‬ ‫زبان‬ )C#.‫است‬ ‫گرفته‬ ‫..................قرار‬ ‫زبان‬ ‫سطح‬ ‫بندی‬ ‫طبقه‬ ‫در‬ ‫باال‬ )‫ج‬ ‫میانی‬ )‫ب‬ ‫پایین‬ )‫الف‬‫هیچکدام‬ )‫د‬ 1)‫در‬‫یک‬‫برنام‬،‫ه‬‫منظور‬‫از‬‫ورودی‬‫همان‬...................‫و‬‫منظور‬‫از‬‫خروجی‬‫همان‬.....................‫است‬. ‫اطالعات‬ )‫الف‬–‫اطالعات‬ )‫ب‬ ‫دانش‬–‫دانش‬ )‫ج‬ ‫داده‬–‫داده‬ )‫د‬ ‫داده‬–‫اطالعات‬ 3)‫پردا‬ ‫زبان‬ ‫به‬ ‫که‬ ‫زبانهایی‬( ‫کامپیوتر‬ ‫زشگر‬cpu‫باش‬ ‫نزدیک‬ )‫ن‬‫شو‬ ‫می‬ ‫....................گفته‬ ‫سطح‬ ‫زبانهای‬ ‫د‬‫ن‬.‫د‬ ‫باال‬ )‫ج‬ ‫میانی‬ )‫ب‬ ‫پایین‬ )‫الف‬)‫د‬‫ب‬ ‫و‬ ‫الف‬ 4)‫کد‬ ‫اطالعات‬ ‫به‬ ‫داده‬ ‫رسیدن‬ ‫فرایند‬ ‫در‬‫رعایت‬ ‫گزینه‬ ‫ام‬‫نمی‬‫شود‬‫؟‬ ‫محاسبات‬ ‫انجام‬ ‫درستی‬ )‫ب‬ ‫دادها‬ ‫صحت‬ )‫الف‬‫پردازش‬ ‫انجام‬ ‫روش‬ )‫د‬ ‫اطالعات‬ ‫خروجی‬ ) ‫ج‬ 5.‫است‬ .................................. ‫مبنای‬ ‫بر‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫برای‬ ‫گیری‬ ‫تصمیم‬ ) )‫ب‬ ‫داده‬ )‫الف‬‫پردازش‬ )‫د‬ ‫دانش‬ )‫ج‬ ‫اطالعات‬ ‫فصل‬2)‫آشنایی‬‫با‬‫زبان‬#C ‫یک‬ ‫شارپ‬ ‫سی‬ ‫زبان‬‫زبان‬‫سطح‬،‫باال‬‫شی‬‫گرا‬(Object Oriented Language - OOP)‫و‬‫همه‬‫منظوره‬‫است‬‫که‬‫به‬‫وسیله‬‫شرکت‬ ‫مایکروسافت‬‫هم‬‫زمان‬‫با‬‫پیدایش‬‫الیه‬‫نرم‬‫افزاری‬‫جدید‬‫آن‬‫به‬‫نام‬NET.‫ابداع‬‫و‬‫توسعه‬‫پیدا‬‫کرده‬‫است‬. ‫زبان‬ ‫این‬‫شباهت‬‫زیادی‬‫به‬‫زبان‬‫های‬C‫و‬Java‫دارد‬‫زبان‬ ‫برخالف‬ ‫و‬C‫و‬ ‫تطبیق‬ ‫روی‬ ‫بر‬ ‫زیادی‬ ‫دقت‬ ‫برنامه‬ ‫اجرای‬ ‫همچنین‬ ‫و‬ ‫ترجمه‬ ‫هنگام‬ ‫در‬ ، .‫باشد‬ ‫می‬ ‫مایکروسافت‬ ‫شرکت‬ ‫انحصار‬ ‫در‬ ‫شارپ‬ ‫سی‬ ‫زبان‬ .‫گیرد‬ ‫می‬ ‫صورت‬ ‫ها‬ ‫داده‬ ‫بکارگیری‬ ‫سیستم‬‫عامل‬UNIX‫زبان‬ ‫با‬C‫زبان‬ .‫است‬ ‫شده‬ ‫نوشته‬C‫می‬ ‫پذیر‬ ‫امکان‬ ‫نویس‬ ‫برنامه‬ ‫برای‬ ‫را‬ ‫افزار‬ ‫سخت‬ ‫به‬ ‫دسترسی‬ ‫که‬ ‫است‬ ‫ای‬ ‫حرفه‬ ‫زبان‬ ‫یک‬ ، ‫من‬ ‫اشتباهات‬ ‫کمتر‬ ‫دلیل‬ ‫همین‬ ‫به‬ ‫است‬ ‫زیادی‬ ‫بسیار‬ ‫انعطاف‬ ‫دارای‬ ‫و‬ ‫کند‬‫زبان‬ ‫کند(برخالف‬ ‫می‬ ‫کنترل‬ ‫را‬ ‫نویس‬ ‫برنامه‬ ‫طقی‬C#)
  • 4. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 4 ‫شارپ‬ ‫سی‬‫مدی‬ ‫به‬ ‫تیمی‬ ‫توسط‬‫ریت‬‫هایلزبرگ‬ ‫اندرز‬‫ارائ‬ ‫تجربه‬ ‫قبال‬ ‫که‬‫موفقی‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫ه‬‫ه‬‫داشت‬ ‫رو‬ ‫دلفی‬ ‫و‬ ‫پاسکال‬ ‫توربو‬ ‫مچون‬، .‫شد‬ ‫ایجاد‬ ‫شده‬ ‫کامل‬ ‫نسخه‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫این‬c‫و‬c++،‫باشد‬ ‫می‬‫های‬ ‫برنامه‬ ‫درمجموعۀ‬NET‫از‬ ‫تر‬ ‫ساده‬ ،‫دارد‬ ‫بصری‬ ‫محیطی‬ ‫و‬ ‫باشد‬ ‫می‬ .c++‫می‬ .‫قدرتمند‬ ‫اما‬ ،‫باشد‬ ‫دستر‬ ‫قابلیت‬ ،‫زبان‬ ‫این‬ ‫های‬ ‫ویژگی‬ ‫از‬.‫باشد‬ ‫می‬ ‫امنیت‬ ‫و‬ ‫حافظه‬ ‫به‬ ‫مستقیم‬ ‫سی‬ ‫و‬ ‫برویندوز‬ ‫مبتنی‬ ‫کاربردی،یعنی‬ ‫های‬ ‫برنامه‬ ‫طراحی‬ ‫برای‬ ‫توان‬ ‫می‬.‫نمود‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫وب‬ ‫های‬ ‫سرویس‬ ‫و‬ ‫وب‬ ‫بر‬ ‫مبتنی‬ ‫های‬ ‫برنامه‬ ‫زبان‬Java:(‫باز‬ ‫متن‬Open Source‫باشد‬ ‫می‬ )‫زبان‬ ‫پایه‬ ‫بر‬ ‫و‬C‫زبان‬ ‫این‬ ‫نام‬ ‫ابتدا‬ ‫در‬ .‫باشد‬ ‫می‬Oak‫شعا‬ . ‫بود‬‫زبان‬ ‫این‬ ‫ر‬"‫و‬ ‫بنویس‬ ‫یکبار‬ ‫کن‬ ‫اجرا‬ ‫هرجا‬".‫باشد‬ ‫می‬ ،‫دهند‬ ‫تغییر‬ ‫را‬ ‫آن‬ ‫خود‬ ‫دلخواه‬ ‫به‬ ‫تا‬ ‫گیرد‬ ‫می‬ ‫قرار‬ ‫همه‬ ‫اختیار‬ ‫در‬ ‫سازندگان‬ ‫توسط‬ ‫کدشان‬ ‫که‬ ‫هایی‬ ‫برنامه‬ ‫به‬.‫شود‬ ‫می‬ ‫گفته‬ ‫باز‬ ‫متن‬ ‫الیه‬‫نرم‬‫افزاری‬.NET Framework‫شرکت‬‫مایکروسافت‬: ‫به‬ ‫شده‬ ‫نوشته‬ ‫ازکدهای‬ ‫عظیمی‬ ‫حجم‬ ‫حاوی‬‫کتابخانه‬ ‫این‬ ‫داخل‬ ‫آنها‬ ‫که‬ ‫نوشت‬ ‫کد‬ ‫هزاران‬ ‫باید‬ ‫ساده‬ ‫پنجره‬ ‫نوشتن‬ ‫برای‬ ً‫ال‬‫باشد.مث‬ ‫می‬ ‫ویژوال‬ ‫زبان‬ .‫باشد‬ ‫می‬‫اجرایی‬ ‫های‬ ‫برنامه‬ ‫حجم‬ ‫دلیل‬ ‫همین‬ ‫به‬.NET‫های‬ ‫فایل‬ ‫اجرای‬ ‫برای‬ ‫و‬ ‫باشد‬ ‫می‬ ‫کم‬exe‫سیستم‬ ‫روی‬ ‫کتابخانه‬ ‫این‬ ‫باید‬ ً‫ا‬‫حتم‬ .‫باشد‬ ‫نصب‬ ‫تو‬ ‫های‬ ‫برنامه‬‫توسط‬ ‫ورك‬ ‫فریم‬ ‫نت‬ ‫دات‬ ‫برای‬ ‫شده‬ ‫لید‬Common Language Runtime‫شوند‬ ‫می‬ ‫اجراء‬. ‫نام‬ ‫به‬ ‫مترجمی‬ ‫دارای‬ ‫نت‬ ‫دات‬csc‫کدهای‬ ‫که‬ ‫است‬C#.‫کند‬ ‫می‬ ‫ترجمه‬ ‫ماشین‬ ‫زبان‬ ‫کدهای‬ ‫به‬ ‫را‬ ‫نکته‬‫زبان‬ :#C‫مانند‬‫زبان‬‫های‬C‫و‬avaJ‫نسبت‬‫به‬‫حروف‬‫کوچک‬‫و‬‫بزرگ‬‫حساس‬‫است‬. ‫ب‬ ‫یک‬ ‫ترجمه‬ ‫و‬ ‫نوشتن‬ ‫مراحل‬:‫نت‬ ‫دات‬ ‫مترجم‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫رنامه‬ :‫برنامه‬ ‫نمونه‬ ‫یک‬ ‫افزار‬ ‫نرم‬ ‫در‬ ‫را‬ ‫برنامه‬ ‫این‬Notepad.‫کنید‬ ‫تایپ‬ ‫دقت‬ ‫با‬ ‫پسوند‬ ‫با‬ ‫و‬ ‫دلخواه‬ ‫نام‬ ‫یک‬ ‫با‬ ‫را‬ ‫برنامه‬ ‫این‬ ‫سپس‬cs‫مثال‬ (‫کنید‬ ‫ذخیره‬ test.cs‫مترجم‬ ‫با‬ ‫سپس‬ )csc‫محیط‬ ‫در‬cmd‫کنید‬ ‫ترجمه‬ ‫را‬ ‫آن‬ ‫اجرایی‬ ‫فایل‬ ‫تا‬test.exe‫سا‬.‫کنید‬ ‫اجرا‬ ‫را‬ ‫آن‬ ‫و‬ ‫شود‬ ‫خته‬ ‫نصب‬ ‫صورت‬ ‫در‬ )‫نکته‬.NET‫فایل‬csc.exe‫مسیر‬ ‫در‬ ‫توان‬ ‫می‬ ‫در‬ ‫را‬ C:WindowsMicrosoft.NETFrameworkv4.0.30319.‫کرد‬ ‫مشاهده‬ ‫فایل‬ ‫مسیر‬ ‫چگونه‬ )‫سوال‬csc.exe‫به‬ ‫را‬path‫کنیم؟‬ ‫اضافه‬ ‫ویندوز‬
  • 5. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 5 ‫باشد‬ ‫خطا‬ ‫دارای‬ ‫شده‬ ‫نوشته‬ ‫برنامه‬ ‫که‬ ‫صورتی‬ ‫در‬ )‫نکته‬‫را‬ ‫آن‬ ‫خطای‬ ‫و‬ ‫است‬ ‫شده‬ ‫ترجمه‬ ‫زیر‬ ‫برنامه‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫شود‬ ‫می‬ ‫اعالم‬ ‫مترجم‬ ‫توسط‬ .‫کنید‬ ‫می‬ ‫مشاهده‬ ‫الگوی‬‫یک‬‫برنامه‬‫ساده‬‫به‬‫زبان‬#C ‫کاربردی‬ ‫برنامه‬ ‫یک‬‫نوشته‬‫شده‬‫به‬‫زبان‬#C،‫شامل‬‫مجموعه‬‫ای‬‫از‬‫کالس‬‫ها‬‫است‬‫که‬‫هر‬‫یک‬‫آنها‬‫نیز‬‫شامل‬‫تعدادی‬‫متد‬‫هستند‬. class ‫یک‬‫نام‬‫دل‬‫خواه‬ { static void Main() { ‫دستورات‬‫مربوط‬‫به‬‫انجام‬‫یک‬‫کار‬ } } )‫نکته‬‫زبان‬ ‫برای‬ ‫کلمات‬ ‫از‬ ‫بعضی‬C#‫آنها‬ ‫به‬ ‫که‬ ‫هستند‬ ‫شده‬ ‫شناخته‬‫کلمات‬ ‫شده‬ ‫رزرو‬ ‫یا‬ ‫کلیدی‬‫مانند‬ .‫گویند‬ ‫می‬void , static , class‫و‬ ‫غیره‬ ‫نکته‬‫برنا‬ ‫که‬ ‫هایی‬ ‫نام‬ ))‫کالس‬ ‫یک‬ ‫نام‬ ‫مانند‬ (‫کند‬ ‫انتخاب‬ ‫باید‬ ‫نویس‬ ‫مه‬‫ش‬‫ناسه‬ .‫است‬ ‫ضوابطی‬ ‫دارای‬ ‫ها‬ ‫نام‬ ‫این‬ ‫انتخاب‬ ‫و‬ ‫شوند‬ ‫می‬ ‫گفته‬ ‫کالس‬:(Class)‫در‬‫ایده‬ ‫یک‬ ‫واقع‬(Concept)‫ـد‬‫ـ‬‫باش‬ ‫می‬ ‫ذهنیت‬ ‫یا‬ ‫است‬ ‫شیء‬ ‫یک‬ ‫کارایی‬ ‫و‬ ‫وخصوصیات‬ ‫ها‬ ‫ویژگی‬ ‫از‬ ‫تعریفی‬ ‫کالس‬‫به‬‫عنوان‬‫یک‬‫قالب‬‫یا‬‫الگویی‬‫می‬‫باشد‬‫که‬‫در‬‫آن‬‫داده‬‫هایی‬‫تعریف‬‫می‬‫ش‬‫ود‬. ‫این‬‫داده‬‫ها‬‫مربوط‬‫به‬‫یک‬‫ـوع‬‫ـ‬‫موض‬‫ـت‬‫ـ‬‫اس‬‫و‬‫عملیاتی‬‫که‬‫می‬‫توان‬‫بر‬‫روی‬‫آنها‬‫انجام‬ ‫داد‬‫متد‬ ‫مانند‬ ‫شود‬ ‫تشکیل‬ ‫تواند‬ ‫می‬ ‫متد‬ ‫تعدادی‬ ‫و‬ ‫داده‬ ‫تعدادی‬ ‫از‬ ‫کالس‬ ‫هر‬ .Main ‫کلیدی‬ ‫کلمه‬ ‫از‬ ‫کالس‬ ‫تعریف‬ ‫برای‬class.‫شود‬ ‫می‬ ‫استفاده‬ class ‫کالس‬ ‫نام‬ } ‫تعریف‬‫داده‬‫ها‬‫و‬‫عملیات‬‫بر‬‫روی‬‫آنها‬ { ‫ک‬ ‫نام‬ ‫در‬ : ‫توجه‬)‫است‬ ‫شناسه‬ ‫یک‬ ‫کالس‬ ‫نام‬ (‫نمود‬ ‫استفاده‬ ‫فاصله‬ ‫از‬ ‫نباید‬ ‫الس‬‫روش‬ ‫از‬ ‫و‬ ‫باشد‬ ‫معنی‬ ‫با‬ ‫گذاری‬ ‫نام‬ ‫بیشتر‬ ‫خوانایی‬ ‫جهت‬ ‫است‬ ‫بهتر‬ )‫باشد‬ ‫بزرگ‬ ‫حرف‬ ‫با‬ ‫کلمه‬ ‫هر‬ ‫حرف‬ ‫اولین‬ (‫شود‬ ‫استفاده‬ ‫نامگذاری‬ ‫برای‬ ‫پاسکال‬
  • 6. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 6 ‫نکته‬‫زبان‬ ‫در‬ )C#‫تعداد‬‫کالس‬ ‫مثال‬ .‫است‬ ‫شده‬ ‫آماده‬ ‫متد‬ ‫زیادی‬ ‫تعداد‬ ‫نیز‬ ‫کدام‬ ‫هر‬ ‫در‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫آماده‬ ‫قبل‬ ‫از‬ ‫کالس‬ ‫زیادی‬Console‫برای‬ .‫است‬ ‫شده‬ ‫تعریف‬ ‫متد‬ ‫زیادی‬ ‫تعداد‬ ‫با‬ )‫کلید‬ ‫صفحه‬ ‫یا‬ ‫و‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ( ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫عملیات‬ ‫نا‬ ‫فضاای‬(NameSpace:)‫و‬ ‫ها‬ ‫کالس‬ ‫کتابخانۀ‬ ‫سـازماندهی‬ ‫برای‬‫آنها‬ ‫قراردادن‬‫می‬ ‫استفاده‬ ‫آسان‬ ‫دسـترسی‬ ‫جهت‬ ‫مخصـو‬ ‫آرایش‬ ‫دریک‬ ‫و‬ ‫کالس‬ ‫نام‬ ‫است‬ ‫بهتر‬ ‫کالس‬ ‫در‬ ‫ها‬ ‫نام‬ ‫تداخل‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫همچنین‬ ،‫شود‬NameSpace‫دستور‬ ‫از‬ .‫باشد‬ ‫یکسان‬using‫شناساندن‬ ‫برای‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫برنامه‬ ‫به‬ ‫نام‬ ‫فضای‬ ( : ‫ء‬ ‫شی‬Object)‫ساخته‬ ‫که‬ ‫کالس‬ ‫از‬ ‫ای‬ ‫نمونه‬.‫شود‬ ‫می‬ )‫(متولد‬ ( : ‫متد‬Method) ‫متد‬‫مجموعه‬‫ای‬‫از‬‫دستورات‬‫است‬‫که‬‫برای‬‫انجام‬‫یک‬‫کار‬‫الزم‬‫است‬.‫هر‬‫متد‬‫مطابق‬‫با‬‫عملکردش‬‫نام‬‫گذاری‬‫می‬‫شود‬‫و‬‫همچنین‬‫دارای‬‫یک‬‫جفت‬ ‫پرانتز‬‫باز‬‫و‬‫بسته‬‫است‬‫که‬‫در‬‫آن‬‫ممکن‬‫است‬‫ورودی‬‫هایی‬‫ذکر‬‫شود‬‫که‬‫برای‬‫انجام‬‫کار‬‫الزم‬‫است‬. ‫در‬‫برنامه‬‫های‬‫ز‬‫بان‬#C،‫ممکن‬‫است‬‫متدهای‬‫زیادی‬‫تعریف‬‫و‬‫یا‬‫مورد‬‫استفاده‬،‫قرارگیرند‬‫اما‬‫حتما‬‫باید‬‫متدی‬‫به‬‫نام‬Main()‫تعریف‬‫شده‬‫باشد‬‫که‬ ‫نقطه‬‫آغاز‬‫اجرای‬‫برنامه‬‫است‬‫و‬‫اجرای‬‫یک‬‫برنامه‬‫از‬‫اولین‬‫دستور‬‫داخل‬‫آن‬‫شروع‬‫می‬‫شود‬.. ‫ف‬ ‫داخل‬ ‫هم‬ ‫کالس‬ ‫و‬ ‫شود‬ ‫می‬ ‫تعریف‬ ‫کالس‬ ‫داخل‬ ‫ها‬ ‫متد‬ ‫شارپ‬ ‫سی‬ ‫در‬( ‫نام‬ ‫ضای‬namespace‫خا‬ ‫متد‬ ‫به‬ ‫دسترسی‬ ‫برای‬ .‫شود‬ ‫می‬ ‫)تعریف‬ : ‫کنیم‬ ‫عمل‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫باید‬ ‫نام‬ ‫فضای‬ ‫نام‬ . ‫کالس‬ ‫نام‬ . ‫متد‬ ‫نام‬ ‫مثال‬ ‫بعنوان‬System.Console.WriteLine‫متد‬WriteLine‫کالس‬ ‫در‬ ‫که‬ ‫را‬Console‫نام‬ ‫فضای‬ ‫در‬ ‫واقع‬System‫باشد‬ ‫می‬ .‫کند‬ ‫می‬ ‫فراخوانی‬ ‫ب‬ ‫متد‬ ‫این‬‫کلمه‬ ‫خواهیم‬ ‫می‬ ‫کنید‬ ‫فرض‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫اطالعات‬ ‫نمایش‬ ‫رای‬Computer‫د‬ ‫نمایش‬ ‫خروجی‬ ‫در‬‫نویسیم‬ ‫می‬ ‫کار‬ ‫این‬ ‫برای‬ .‫شود‬ ‫اده‬: System.Console.WriteLine("Computer"); ‫متد‬WriteLine‫عبارت‬ ‫و‬ ‫دارد‬ ‫پرانتز‬ ‫به‬ ‫نیاز‬ ‫حتما‬Computer‫باید‬ ‫حتما‬ ‫باشد‬ ‫می‬ ‫ای‬ ‫رشته‬ ‫ثابت‬ ‫یک‬ ‫اینکه‬ ‫بدلیل‬‫عالمت‬ ‫بین‬"".‫بگیرد‬ ‫قرار‬ ‫نکته‬‫فقط‬ ‫توصیح‬ ‫که‬ ‫صورتی‬ ‫در‬ .‫کنیم‬ ‫استفادئه‬ /* */ ‫یا‬ // ‫عالمت‬ ‫از‬ ‫توانیم‬ ‫می‬ ‫بنویسم‬ ‫را‬ ‫توضیحی‬ ‫برنامه‬ ‫در‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬ :‫ی‬‫ک‬ /* */ ‫عالمت‬ ‫دو‬ ‫بین‬ ‫باید‬ ‫باشد‬ ‫سطر‬ ‫چند‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬ // ‫عالمت‬ ‫خط‬ ‫ابتدای‬ ‫است‬ ‫کافی‬ ‫باشد‬ ‫سطر‬‫قرا‬‫به‬ ‫الزم‬ .‫بگیرد‬ ‫ر‬‫توضیحات‬ ‫است‬ ‫ذکر‬ .‫شوند‬ ‫نمی‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫و‬ ‫باشد‬ ‫می‬ ‫نویس‬ ‫برنامه‬ ‫مخصو‬ ‫فقط‬ ‫و‬ ‫ترجمه‬: ‫برنامه‬ ‫اجرای‬ .‫داد‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫این‬ ‫استودیو‬ ‫ویژوال‬ ‫محیط‬ ‫طریق‬ ‫از‬ ‫هم‬ ‫و‬ ‫نمود‬ ‫اجرا‬ ‫و‬ ‫کمپایل‬ ‫را‬ ‫برنامه‬ ‫فرمان‬ ‫خط‬ ‫از‬ ‫هم‬ ‫توان‬ ‫می‬ ‫برنامه‬ ‫اجرای‬ ‫برای‬ ‫خط‬ ‫در‬ ‫کار‬ ‫این‬ ‫برای‬( ‫فرمان‬Command Prompt‫فایل‬ ‫از‬ )csc.exe‫کنیم‬ ‫می‬ ‫استفاده‬ ‫برنامه‬ ‫اجرای‬ ‫و‬ ‫کمپایل‬ ‫برای‬ Csc ‫نظر‬ ‫مورد‬ ‫فایل‬ ‫نام‬ ‫پسوند‬ ‫دارای‬ ‫شارپ‬ ‫سی‬ ‫کد‬ ‫های‬ ‫فایل‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬cs.‫باشند‬ ‫می‬ ‫متد‬ ‫چند‬‫از‬‫کالس‬Console: WriteLine‫داده‬ ‫متد‬ ‫این‬ .‫رود‬ ‫می‬ ‫بکار‬ ‫اطالعات‬ ‫نمایش‬ ‫برای‬ :(‫زن‬ ‫چشمک‬ ‫سپس‬ ‫و‬ ‫دهد‬ ‫می‬ ‫نمایش‬ ‫را‬ ‫ها‬Cursor‫می‬ ‫منتقل‬ ‫بعد‬ ‫خط‬ ‫به‬ ‫را‬ ) .‫کند‬ System.Console.WriteLine("Hi"); System.Console.WriteLine(125*2); Write‫مانند‬ ‫متد‬ ‫این‬ :WriteLine.‫شود‬ ‫نمی‬ ‫منتقل‬ ‫بعد‬ ‫خط‬ ‫به‬ ‫نما‬ ‫مکان‬ ‫ولی‬ ‫است‬ System.Console.Write (15+4);
  • 7. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 7 Clear‫ک‬ ‫پاك‬ ‫برای‬ :.‫رود‬ ‫می‬ ‫بکار‬ ‫کنسول‬ ‫خروجی‬ ‫صفحه‬ ‫ردن‬ System.Console.Clear(); ReadKey.‫دهد‬ ‫فشار‬ ‫را‬ ‫کلید‬ ‫یک‬ ‫کاربر‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫برنامه‬ ‫توقف‬ ‫برای‬ : System.Console.ReadKey(); BackgroundColor‫کالس‬ ‫در‬ ‫ها‬ ‫رنگ‬ .‫رود‬ ‫می‬ ‫بکار‬ ‫کنسول‬ ‫زمینه‬ ‫رنگ‬ ‫تغییر‬ ‫برای‬ :ConsoleColor.‫اند‬ ‫شده‬ ‫تعریف‬ System.Console.BackgroundColor=System.ConsoleColor.Red; ForegroundColor‫کالس‬ ‫در‬ ‫ها‬ ‫رنگ‬ .‫رود‬ ‫می‬ ‫بکار‬ ‫کنسول‬ )‫متن(قلم‬ ‫رنگ‬ ‫تغییر‬ ‫برای‬ :ConsoleColor.‫اند‬ ‫شده‬ ‫تعریف‬ System.Console.ForegroundColor= System.ConsoleColor.Blue; )‫نکته‬21‫کالس‬ ‫در‬ ‫رنگ‬ConsoleColor‫دارد‬ ‫وجود‬. ‫دستور‬using‫نیازی‬ ‫دیگر‬ ‫تا‬ ‫نمود‬ ‫تعریف‬ ‫برنامه‬ ‫باالی‬ ‫در‬ ‫دستور‬ ‫این‬ ‫با‬ ‫را‬ ‫نام‬ ‫فضای‬ ‫توان‬ ‫می‬ ‫کالس‬ ‫از‬ ‫قبل‬ ‫نام‬ ‫فضای‬ ‫نام‬ ‫نوشتن‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ : ‫دستور‬ ‫برنامه‬ ‫باالی‬ ‫در‬ ‫اگر‬ ‫مثال‬ ‫بعنوان‬ . ‫نباشد‬ ‫ها‬ ‫نام‬ ‫فضای‬ ‫نوشتن‬ ‫به‬using System;‫اطالع‬ ‫نمایش‬ ‫برای‬ ‫توانیم‬ ‫می‬ ‫بنویسیم‬ ‫را‬‫کلمه‬ ‫ات‬ System‫دی‬ ‫را‬‫گ‬‫ننویسیم‬ ‫ر‬. Console.WriteLine(20/3); ‫دستور‬ )‫پرسش‬Console.WriteLine(20.0/3);‫چیست؟‬ ‫حاصل‬ .‫کنید‬ ‫اجرا‬ ‫را‬ ‫قول‬ ‫نقل‬ ‫عالمت‬ ‫دو‬ ‫بین‬ ‫رشته‬ ‫یک‬ )‫نکته‬"".‫شود‬ ‫می‬ ‫تشکیل‬ ‫کاراکتر‬ ‫تعدادی‬ ‫از‬ ‫که‬ ‫گیرد‬ ‫می‬ ‫قرار‬"ALI129" ‫دستور‬ )‫پرسش‬Console.WriteLine("15+4");‫چیست؟‬ ‫حاصل‬ .‫کنید‬ ‫اجرا‬ ‫را‬ ‫محیط‬ ‫در‬ ‫را‬ ‫زیر‬ ‫برنامه‬ )‫تمرین‬Notepad‫گیرید؟‬ ‫می‬ ‫ایی‬ ‫نتیجه‬ ‫چه‬ .‫کنید‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫سپس‬ ‫و‬ ‫نوشته‬ Console.WriteLine("{0}*{1}={2}",5,4,5*4); Console.WriteLine("{0}*{0}={1}", 4, 4 * 4); ‫ی‬ ‫کلمه‬ )‫تمرین‬IRAN‫قرم‬ ‫و‬ ‫سفید‬ ‫و‬ ‫سبز‬ ‫رنگ‬ ‫سه‬ ‫به‬ ‫را‬.‫کنید‬ ‫چاپ‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ‫ز‬ )‫تست‬‫دهد؟‬ ‫می‬ ‫انجام‬ ‫ریاضی‬ ‫محاسبه‬ ‫و‬ ‫است‬ ‫صحیح‬ ‫زیر‬ ‫دستورات‬ ‫از‬ ‫کدامیک‬ )‫الف‬Console.WriteLine("2+2");)‫ب‬.WriteLine(2+2); )‫ج‬Console.WriteLine("2" + 2);)‫د‬Console.WriteLine(2+2);
  • 8. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 8 ‫فصل‬3)‫استودیو‬ ‫ویژوال‬ ‫با‬ ‫آشنایی‬ ‫محیطی‬ ‫به‬ ‫نیاز‬ ،‫برنامه‬ ‫نوشتن‬ ‫برای‬‫که‬ ‫داریم‬‫همه‬‫ابزارها‬‫و‬‫لوازم‬‫مورد‬‫نیاز‬‫برنامه‬‫نویسی‬‫در‬‫آن‬‫گردآوری‬‫و‬‫متمرکز‬‫شده‬‫باشد‬.‫به‬‫چنین‬‫محیط‬‫ب‬‫رنامه‬ ‫نویسی‬‫که‬‫در‬‫آن‬‫می‬‫توان‬‫تمام‬‫مراحل‬‫برنامه‬،‫نویسی‬،‫ترجمه‬‫اشکال‬‫یابی‬‫و‬‫متمرکز‬‫می‬‫باشد‬.IDE‫گف‬‫ته‬‫می‬‫شود‬‫که‬‫به‬‫معنای‬‫محیط‬‫تولید‬‫برنامه‬ ‫متمرکز‬‫است‬‫شرکت‬ .‫مایکروسافت‬‫یک‬IDE‫بسیار‬‫پیشرفته‬‫برای‬‫برنامه‬‫نویسی‬‫فراهم‬‫کرده‬‫است‬‫که‬‫با‬‫کمک‬‫آن‬‫می‬‫توان‬‫راحت‬‫تر‬‫برنامه‬‫بنویس‬‫یم‬‫و‬ ‫ترجمه‬‫و‬‫اجرا‬‫کنیم‬.VS‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫چند‬ ‫از‬C#, C++, VB.‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫ایجاد‬ ‫برای‬‫جدید‬ ‫برنامه‬ ‫یک‬‫به‬‫زبان‬#C‫،گزینه‬New Project‫می‬ ‫انتخاب‬ ‫را‬ .‫کنیم‬ ‫می‬ ‫انخاب‬ ‫را‬ ‫حل‬ ‫راه‬ ‫نام‬ ‫سپس‬ ‫کنیم.و‬ ‫ی‬ ‫گزینه‬ ‫از‬ ‫پروژه‬ ‫ایجاد‬ ‫برای‬ ‫درس‬ ‫این‬ ‫در‬ )‫توجه‬Console Application .‫کنیم‬ ‫می‬ ‫استفاده‬ Solution)‫حل‬ ‫(راه‬‫پر‬ ‫چندین‬ ‫شامل‬ ‫نویسی‬ ‫برنامه‬ ‫اصطالح‬ ‫در‬ :‫وژ‬‫ازانواع‬ ‫ه‬ ‫می‬ ‫مختلف‬.‫باشد‬ ‫راه‬‫باالترین‬ ‫حل‬‫اصوال‬ .‫است‬ ‫نت‬ ‫دات‬ ‫استودیو‬ ‫ویژوال‬ ‫محیط‬ ‫در‬ ‫بندی‬ ‫دسته‬ ‫سطح‬ ‫وظیفه‬Solution‫نگهداری‬‫با‬ ‫فایل‬ ‫یک‬ ‫که‬ ‫هاست‬ ‫پروژه‬ ‫بین‬ ‫روابط‬ ‫اطالعات‬ ‫پسوند‬sln‫باشد‬ ‫می‬‫د‬ ‫تاثیر‬ ‫دارای‬ ‫و‬‫ر‬.‫بود‬ ‫نخواهد‬ ‫پروژه‬ ‫خروجی‬ ‫یک‬ ‫باید‬ ‫برنامه‬ ‫یک‬ ‫ایجاد‬ ‫هنگام‬ ‫به‬Solution‫ش‬ ‫ایجاد‬ ‫را‬.‫ود‬‫نام‬ ‫معموال‬‫را‬‫حل‬ ‫ه‬ ‫پروژ‬ ‫نام‬ ‫با‬‫ه‬.‫باشد‬ ‫می‬ ‫یکسان‬ ‫معرفی‬‫بخش‬‫های‬‫اصلی‬‫ویژوال‬: ‫استودیو‬ ‫پنجره‬ )‫الف‬‫ویرایشگر‬‫برنامه‬ ‫پنچره‬ )‫ب‬‫لیست‬‫خطاها‬(Error List):‫ساختاری‬ ‫و‬ ‫تایپی‬ ‫های‬ ‫اشکال‬‫دهد‬ ‫می‬ ‫نمایش‬ ‫را‬. ‫پنجره‬ )‫ج‬Solution Explorer)‫پروژه‬ ‫(مرورگر‬‫تمام‬ ‫و‬ ‫پروژه‬ ‫ساختار‬ :.‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫برنامه‬ ‫های‬ ‫فایل‬ )‫نکته‬ ‫چند‬: 2-‫کلمات‬‫در‬ ‫کلیدی‬IDE.‫شوند‬ ‫می‬ ‫داده‬ ‫نشان‬ ‫آبی‬ ‫بارنگ‬ 1-‫نام‬ ‫به‬ ‫برنامه‬ ‫متن‬ ‫فایل‬program.cs.‫داد‬ ‫تغییر‬ ‫را‬ ‫آن‬ ‫نام‬ ‫توان‬ ‫می‬ ‫و‬ ‫است‬ 1-‫شود‬ ‫می‬ ‫کشیده‬ ‫آن‬ ‫زیر‬ ‫قرمزرنگی‬ ‫خطوط‬ ‫داشت‬ ‫اشکال‬ ‫گرامری‬ ‫یا‬ ‫امالیی‬ ‫لحاظ‬ ‫از‬ ‫دستوری‬ ‫اگر‬. 3-‫ب‬‫کلید‬ ‫از‬ ‫برنامه‬ ‫ترجمه‬ ‫رای‬F6‫کلید‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫برای‬ ‫و‬F5‫یا‬CTRL+F5‫دهید‬ ‫فشار‬ ‫را‬. 4-‫متد‬ReadKey‫کالس‬ ‫در‬Console‫رود‬ ‫می‬ ‫بکار‬ ‫کلید‬ ‫صفحه‬ ‫از‬ ‫کلید‬ ‫گرفتن‬ ‫جهت‬. 5-‫متد‬Beep( .‫نمود‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫شکل‬ ‫دو‬ ‫به‬ ‫توان‬ ‫می‬ ‫و‬ ‫رود‬ ‫می‬ ‫بکار‬ ‫خا‬ ‫فرکانس‬ ‫با‬ ‫صدا‬ ‫یک‬ ‫ایجاد‬ ‫جهت‬Overload) Console.Beep(); Console.Beep(1400 , 2000 ); ‫فرکانس‬ ‫با‬ ‫صدا‬2411‫مدت‬ ‫در‬ ‫و‬ ‫هرتز‬1‫کند‬ ‫می‬ ‫پخش‬ ‫ثانیه‬ .‫دهد‬ ‫نشان‬ ‫نمایش‬ ‫صفحه‬ ‫در‬ ‫فارسی‬ ‫زبان‬ ‫به‬ ‫را‬ ‫خودتان‬ ‫خانوادگی‬ ‫نام‬ ‫و‬ ‫نام‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫سئوال‬ )‫تست‬‫دستور‬ ‫خروجی‬‫روبرو‬‫چیست؟‬Console.WriteLine("100+200/2"); )‫الف‬100)‫ب‬150)‫ج‬200)‫د‬100+200/2
  • 9. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 9 )‫چهارم‬ ‫فصل‬‫متغیرها‬ ‫و‬ ‫ها‬ ‫داده‬ ‫انواع‬ ‫با‬ ‫آشنایی‬ (‫متغیر‬Variable‫مکانی‬ : )‫از‬‫حافظه‬RAM‫کامپیوتر‬‫است‬‫که‬‫برای‬‫نگهداری‬‫موقتی‬‫داده‬‫ها‬‫یا‬‫اطالعات‬‫استفاده‬‫می‬‫شود‬. ‫متغیر‬ ‫از‬ ‫استفاده‬ ‫از‬ ‫قبل‬‫باید‬‫ت‬ ‫را‬ ‫آن‬‫ع‬.‫نماییم‬ ‫ریف‬‫است‬ ‫صورت‬ ‫بدین‬ ‫متغیر‬ ‫تعریف‬ ‫شکل‬:;‫متغیر‬ ‫نام‬‫نوع‬‫داده‬ ‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫ویژگی‬ ‫سه‬ ‫کلی‬ ‫بطور‬ ‫متغیر‬ ‫یا‬ ‫داده‬ ‫نوع‬: ‫حسب‬ ‫(بر‬ ‫متغیر‬ ‫اندازه‬)‫بایت‬‫ی‬ ‫حافظه‬ ‫از‬ ‫مقداری‬ ‫اش‬ ‫داده‬ ‫نوع‬ ‫به‬ ‫توجه‬ ‫با‬ ‫متغیر‬ ‫هر‬ :RAM.‫کند‬ ‫می‬ ‫مصرف‬ ‫را‬ ‫نوع‬‫اطالعاتی‬‫که‬‫در‬‫متغیر‬‫می‬‫توان‬‫ذخیره‬‫کرد‬:‫مثال‬‫ا‬ ‫یا‬ ‫صحیح‬‫ع‬..... ‫یا‬ ‫ای‬ ‫رشته‬ ‫یا‬ ‫شاری‬ ‫نوع‬‫عملیاتی‬‫را‬‫می‬‫توان‬‫بر‬‫روی‬‫آن‬‫انجام‬‫داد‬‫داد‬ ‫انجام‬ ‫را‬ ‫ضرب‬ ‫عمل‬ ‫توان‬ ‫می‬ ‫صحیح‬ ‫اعداد‬ ‫روی‬ ‫بر‬ ‫مثال‬ .‫تعریف‬ ‫ضرب‬ ‫ها‬ ‫رشته‬ ‫روی‬ ‫بر‬ ‫و‬ .‫است‬ ‫نشده‬ :‫است‬ ‫شده‬ ‫ذکر‬ ‫آنها‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫ها‬ ‫داده‬ ‫انواع‬ ‫زیر‬ ‫جدول‬ ‫در‬ : ‫مثال‬ int a, b; int c,d=11; int a, b = 7,c=b; short a=b=c; // syntax error int a, b = 7,c=a; // syntax error
  • 10. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 10 byte x = -10; // syntax error int a=-10, b=7,c=a; byte x = a; // syntax error byte x=300; // syntax error uint B,b; ‫ی‬ ‫نمره‬ ‫نگهداری‬ ‫برای‬ ‫مثال‬ .‫کند‬ ‫می‬ ‫انتخاب‬ ‫را‬ ‫مناسب‬ ‫ی‬ ‫داده‬ ‫نوع‬ ‫متغیرها‬ ‫برای‬ ،‫کند‬ ‫می‬ ‫حل‬ ‫که‬ ‫ایی‬ ‫مساله‬ ‫به‬ ‫توجه‬ ‫با‬ ‫نویس‬ ‫برنامه‬ )‫نکته‬‫ک‬‫چه‬ ‫درس‬ ‫است؟‬ ‫تر‬ ‫مناسب‬ ‫ایی‬ ‫داده‬ ‫نوع‬‫است؟‬ ‫تر‬ ‫مناسب‬ ‫داده‬ ‫نوع‬ ‫کدام‬ ‫المپ‬ ‫یک‬ ‫بودن‬ ‫روشن‬ ‫یا‬ ‫خاموش‬ ‫وضعیت‬ ‫تعیین‬ ‫برای‬ ‫مثال‬ ‫یا‬ .‫شود‬ ‫می‬ ‫انجام‬ ‫کار‬ ‫این‬ ‫انتساب‬ ‫دستور‬ ‫با‬ ‫و‬ ‫دارد‬ ‫نگه‬ ‫خود‬ ‫در‬ ‫تواند‬ ‫می‬ ‫مقدار‬ ‫یک‬ ‫فقط‬ ‫متغیر‬ ‫هر‬ )‫نکته‬a=15; )‫نکته‬‫داده‬ ‫نوع‬float‫اعش‬ ‫های‬ ‫داده‬ ‫برای‬‫اری‬‫حداکثر‬ ‫دقت‬ ‫با‬7‫شود‬ ‫می‬ ‫استفاده‬ ‫اعشار‬ ‫رقم‬‫از‬ ‫بیشتر‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬7‫و‬ ‫شود‬ ‫می‬ ‫گرد‬ ‫باشد‬ ‫رقم‬ ‫داده‬ ‫نوع‬double‫دقت‬ ‫با‬ ‫و‬ ‫رود‬ ‫می‬ ‫بکار‬ ‫کوچک‬ ‫بسیار‬ ‫یا‬ ‫بزرگ‬ ‫بسیار‬ ‫های‬ ‫داده‬ ‫برای‬25.‫باشد‬ ‫می‬ ‫اعشار‬ ‫رقم‬ ‫چیست؟‬ ‫روبرو‬ ‫برنامه‬ ‫سوال)خروجی‬ ‫ابتدا‬ ‫اگر‬ ‫شارپ‬ ‫سی‬ ‫زبان‬ ‫در‬ : ‫نکته‬‫صحیح‬ ‫عدد‬ ‫ی‬0X‫مبنای‬ ‫در‬ ‫عدد‬ ‫گیرد‬ ‫قرار‬21‫شود‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬. ‫مثال‬ ‫به‬‫روبرو‬:‫کنید‬ ‫توجه‬ ‫نشانه‬ ‫زیر‬ ‫جدول‬‫های‬‫دا‬ ‫انواع‬:‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫ها‬ ‫ده‬ )‫نکته‬‫اعشاری‬ ‫عدد‬ ‫یک‬ ‫برنامه‬ ‫در‬ ‫اگر‬‫نشانه‬ ‫بدون‬‫اعشاری‬ ‫عدد‬ ‫فرض‬ ‫پیش‬ ‫بطور‬ ‫بنویسید‬ (‫زیاد‬ ‫دقت‬ ‫با‬double‫شو‬ ‫می‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ).‫د‬ ‫کنید‬ ‫دقت‬ ‫ها‬ ‫مثال‬ ‫به‬: float a=12.51; ‫اعشاری‬ ‫ثابت‬ ‫های‬ ‫داده‬ ‫زیرا‬ ‫دارد‬ ‫گرامری‬ ‫خطای‬ ‫دستور‬ ‫این‬‫فرض‬ ‫پیش‬ ‫طور‬ ‫به‬،double ‫باشد‬ ‫می‬ ‫بنویسید‬ ‫را‬ ‫زیر‬ ‫دستور‬ ‫دو‬ ‫از‬ ‫یکی‬ ‫توان‬ ‫می‬ ‫پس‬: float a=12.51f; ‫یا‬ double d=12.51; ‫انتساب‬ ‫امکان‬ ‫شارپ‬ ‫سی‬ ‫زبان‬ ‫در‬ ‫کلی‬ ‫بطور‬ )‫نکته‬.‫است‬ ‫خطا‬ ‫کوچکتر‬ ‫ی‬ ‫داده‬ ‫نوع‬ ‫به‬ ‫بزرگتر‬ ‫داده‬ ‫نوع‬ ‫یک‬‫م‬ ‫زیر‬ ‫برنامه‬ ‫در‬‫تغیر‬ s‫نوع‬ ‫از‬integer‫متغیر‬ ‫و‬ ‫است‬h‫نوع‬ ‫از‬byte‫چرا؟‬ .‫است‬ ‫خطا‬ ‫چهارم‬ ‫خط‬ .‫است‬ ‫دارد؟‬ ‫وجود‬ ‫خطا‬ ‫این‬ ‫کردن‬ ‫برطرف‬ ‫برای‬ ‫حلی‬ ‫راه‬ ‫آیا‬ ‫نکته‬)‫علمی‬ ‫نماد‬ ‫بصورت‬ ‫را‬ ‫اعداد‬ ‫توان‬ ‫می‬)‫شناور‬ ‫(نقطه‬.‫داد‬ ‫نمایش‬ ‫نیز‬‫د‬‫عدد‬ ‫یک‬ ‫اول‬ ‫بخش‬ .‫شود‬ ‫می‬ ‫تشکیل‬ ‫بخش‬ ‫دو‬ ‫از‬ ‫عدد‬ ‫علمی‬ ‫نماد‬ ‫روش‬ ‫ر‬ ‫بین‬ ‫صحیح‬ ‫رقمی‬ ‫تک‬1‫تا‬9‫مانتیس‬ ‫آن‬ ‫به‬ ‫که‬ ‫است‬‫از‬ ‫توانی‬ ‫صورت‬ ‫به‬ ‫دوم‬ ‫بخش‬ .‫گویند‬ ‫می‬21‫آن‬ ‫به‬ ‫که‬ ‫است‬‫نما‬.‫گویند‬ ‫می‬ ‫مثال‬ double x=1.234E2; //123.4 float w=4.53E-3f; //0.00453 )‫سئوال‬‫ر‬ ‫زیر‬ ‫برنامه‬‫عملگر‬ ‫و‬ ‫نوشته‬ ‫ا‬+‫کنید؟‬ ‫بررسی‬ ‫را‬ float a; a = 16.274138214f; Console.WriteLine(a); float sum; byte p = 0xE4; // 0XE4 sum = 14.25f; Console.WriteLine("p=" + p); static void Main() { Console.WriteLine("5" + 4 + 7); Console.WriteLine(5 + 4 + 7); Console.WriteLine(5 +"4" + 7); Console.WriteLine("5" + (4 + 7)); Console.ReadKey(); }
  • 11. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 11 :‫متغیرها‬ ‫گذاری‬ ‫نام‬ ‫قوانین‬ •‫فقط‬‫زیرخط‬ ‫کاراکتر‬ ‫و‬ ‫اعداد‬ ،‫انگلیسی‬ ‫حروف‬ ‫از‬ ‫استفاده‬(_).‫است‬ ‫مجاز‬ •‫متغیر‬ ‫نام‬‫نمی‬.‫شود‬ ‫شروع‬ ‫عدد‬ ‫با‬ ‫تواند‬5B •‫انتخابی‬ ‫نام‬‫نمی‬.‫باشد‬ ‫کلیدی‬ ‫کلمه‬ ‫تواند‬iffor •‫گذار‬ ‫عالمت‬ ‫کاراکترهای‬ ‫از‬ ‫استفاده‬‫مجاز‬ ‫خالی‬ ‫جا‬ ‫و‬ ‫ی‬‫نیست‬. •‫حساس‬‫بزرگ‬ ‫و‬ ‫کوچک‬ ‫حروف‬ ‫به‬A a ‫است؟‬ ‫مجاز‬ ‫غیر‬ ‫کدام‬ ‫و‬ ‫مجاز‬ ‫متغیر‬ ‫برای‬ ‫نام‬ ‫کدام‬ )‫سوال‬m-ga_br+ta5class vs IF a.b .‫کنید‬ ‫انتخاب‬ ‫معنی‬ ‫با‬ ‫را‬ ‫متغیرهای‬ ‫نام‬ ‫است‬ ‫بهتر‬ ‫متغیره‬ ‫گذاری‬ ‫نام‬ ‫برای‬‫شتری‬ ‫کوهان‬ ‫روش‬ ‫و‬ ‫مجارستانی‬ ‫روش‬ .‫است‬ ‫شده‬ ‫معرفی‬ ‫استاندارد‬ ‫دو‬ ‫ا‬ .‫شود‬ ‫می‬ ‫اضافه‬ ‫متغیر‬ ‫نام‬ ‫ابتدای‬ ‫به‬ ‫متغیر‬ ‫ی‬ ‫داده‬ ‫نوع‬ ‫مخفف‬ ،‫مجارستانی‬ ‫روش‬ ‫در‬intSum lngNumber fltGrade ‫او‬ ‫حرف‬ ‫شود‬ ‫تشکیل‬ ‫کلمه‬ ‫چند‬ ‫از‬ ‫نام‬ ‫اگر‬ ‫و‬ ‫شود‬ ‫می‬ ‫شروع‬ ‫کوچک‬ ‫حرف‬ ‫با‬ ‫متغیر‬ ‫نام‬ ‫شتری‬ ‫کوهان‬ ‫روش‬ ‫در‬‫بزرگ‬ ‫صورت‬ ‫به‬ ‫بعد‬ ‫به‬ ‫دوم‬ ‫کلمات‬ ‫نام‬ ‫ل‬ .‫شود‬ ‫می‬ ‫نوشته‬firstName userName notFound (‫منطقی‬ ‫داده‬ ‫نوع‬bool: ) ‫مقدار‬ ‫دو‬ ‫نگهداری‬ ‫جهت‬ ‫داده‬ ‫نوع‬ ‫این‬true‫یا‬false.‫گردد‬ ‫می‬ ‫استفاده‬ :‫مثال‬ bool flag=true; bool x=Flase; //Syntax error ‫حر‬ ‫داده‬ ‫نوع‬( ‫کاراکتری‬ ‫یا‬ ‫فی‬char: ) ‫عالمت‬ ‫دو‬ ‫بین‬ ‫کاراکتری‬ ‫های‬ ‫ثابت‬ ‫شارپ‬ ‫سی‬ ‫زبان‬ ‫در‬) ' '‫فرد‬ ‫به‬ ‫منحصر‬ ‫کدی‬ ‫سیستم‬ ‫در‬ ‫کاراکتر‬ ‫هر‬ .‫گیرند‬ ‫می‬ ‫قرار‬ )‫کوتیشن‬ ‫تک‬.‫دارد‬ ‫کاراکتر‬ ‫هر‬ ‫یونیکد‬ ‫استاندارد‬ ‫طبق‬ ‫که‬ ‫کند‬ ‫می‬ ‫اشغال‬ ‫فضا‬ ‫بایت‬ ‫دو‬ ‫داده‬ ‫نوع‬ ‫این‬،‫بین‬ ‫عددی‬1‫تا‬15535‫تمام‬ ‫و‬ ‫باشد‬ ‫می‬‫و‬ ‫ها‬ ‫نشانه‬‫ع‬‫حروف‬ ‫و‬ ‫الئم‬ .‫شود‬ ‫می‬ ‫شامل‬ ‫را‬ ‫مختلف‬ ‫های‬ ‫زبان‬ ‫الفبایی‬.‫است‬ ‫افزار‬ ‫سخت‬ ‫و‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ، ‫عامل‬ ‫سیستم‬ ‫از‬ ‫مستقل‬ ‫کدبندی‬ ‫این‬'a' '8' ' ' ‫دستور‬ ‫در‬char ch='A';‫کراکتر‬A‫(کد‬15‫مبنای‬ ‫در‬21‫کد‬ ‫یا‬42‫مبنای‬ ‫در‬21‫متغیر‬ ‫در‬ ‫را‬ )ch‫دس‬ ‫این‬ ‫بجای‬ .‫دهد‬ ‫می‬ ‫قرار‬‫تور‬‫از‬ ‫توان‬ ‫می‬ ‫نمود‬ ‫استفاده‬ ‫زیر‬ ‫دستور‬. char c='x0041'; ‫یا‬ char c='u0041'; ‫مبنای‬ ‫در‬ ‫را‬ ‫کد‬ ‫سادگی‬ ‫برای‬21‫هر‬ .‫کنند‬ ‫می‬ ‫اعالم‬4‫مبنای‬ ‫رقم‬ ‫یک‬ ‫بیت‬21.‫است‬ .‫دارند‬ ‫کمپایل‬ ‫خطای‬ ‫همگی‬ ‫زیر‬ ‫دستورهای‬ ‫اما‬ char c = 'X0041'; char c='u41'; char c='ab'; char x = 'a' + 1; //error )‫نکته‬‫بود‬ ‫خواهد‬ ‫عددی‬ ‫نوع‬ ‫از‬ ‫حاصل‬ ‫شود‬ ‫استفاده‬ ‫صحیح‬ ‫ثابت‬ ‫و‬ ‫عملگر‬ ‫بهمراه‬ ‫کراکتری‬ ‫ثابت‬ ‫از‬ ‫عبارت‬ ‫یک‬ ‫در‬ ‫اگر‬ int x = 'a' + 1; //x = 98 ( ‫ای‬ ‫رشته‬ ‫داده‬ ‫نوع‬string): ‫عالمت‬ ‫بین‬ ‫ها‬ ‫رشته‬ .‫شود‬ ‫می‬ ‫گفته‬ ‫رشته‬ ‫حروف‬ ‫و‬ ‫کراکترها‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫به‬""‫هستند‬ ‫قادر‬ ‫ای‬ ‫رشته‬ ‫متغیرهای‬ .‫گیرد‬ ‫می‬ ‫قرار‬‫محلی‬ ‫آدرس‬ : ‫مثال‬ ‫نمایند‬ ‫نگهداری‬ ‫دارد‬ ‫وجود‬ ‫ای‬ ‫رشته‬ ‫داده‬ ‫یک‬ ‫که‬ string st="alireza"; string st = "u0041bc"; // Abc : ‫مثال‬ .‫نمود‬ ‫استفاده‬ ‫ها‬ ‫رشته‬ ‫الحاق‬ ‫جهت‬ + ‫عملگر‬ ‫از‬ ‫توان‬ ‫می‬ : ‫نکته‬ string st = "ali"+"reza"; string st = 13+"ali" + 12;
  • 12. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 12 string st = 13 + "" + 12; string st = '2'+"a"; string st = 13 + 12; // syntax error string st = '2'; // syntax error string st = 2; // syntax error )‫نکته‬‫داده‬ ‫نوع‬char‫نو‬ ‫اما‬ .‫کند‬ ‫می‬ ‫نگهداری‬ ‫را‬ ‫کاراکتر‬ ‫یک‬ ‫فقط‬‫داده‬ ‫ع‬string.‫شود‬ ‫می‬ ‫استفاده‬ ‫کاراکتر‬ ‫یک‬ ‫از‬ ‫بیش‬ ‫یا‬ ‫یک‬ ‫نگهداری‬ ‫برای‬ ‫متد‬ ‫از‬ ‫استفاده‬ ‫با‬ )‫تمرین‬WriteLine‫بنویسید؟‬ ‫را‬ ‫حاصل‬ ‫و‬ ‫دهید‬ ‫نمایش‬ ‫را‬ ‫زیر‬ ‫کاراکترهای‬ ‫یا‬ ‫ها‬ ‫رشته‬ ‫متد‬ReadLine: ‫دریافت‬ ‫جهت‬ ‫متد‬ ‫این‬‫رشته‬.‫شود‬ ‫می‬ ‫استفاده‬ ‫ورودی‬ ‫از‬‫نوع‬ ‫از‬ ‫متد‬ ‫این‬ ‫خروجی‬‫ا‬ ‫رشته‬‫ی‬‫کلید‬ ‫تا‬ ‫و‬ ‫باشد‬ ‫می‬Enter‫نمی‬ ‫اتمام‬ ‫به‬ ‫کارش‬ ‫نشود‬ ‫زده‬ ‫متد‬ ‫البته‬ .‫رسد‬ReadKey‫نوع‬ ‫از‬ ‫آن‬ ‫خروجی‬ ‫و‬ ‫شود‬ ‫می‬ ‫کلید‬ ‫یک‬ ‫دریافت‬ ‫منتظر‬ ‫فقط‬ ‫که‬ ‫باشد‬ ‫می‬ ‫ورودی‬ ‫متدهای‬ ‫از‬ ‫نیز‬ConsoleKeyInfo‫می‬ ‫باشد‬. : ‫مثال‬ string st; Console.WriteLine("Please Enter Number: "); st = Console.ReadLine(); ‫پیغام‬ ‫مثال‬ ‫این‬ ‫در‬Please Enter Number:‫متغیر‬ ‫داخل‬ ‫ورودی‬ .‫شود‬ ‫می‬ ‫کاربر‬ ‫از‬ ‫اطالعات‬ ‫دریافت‬ ‫منتظر‬ ‫و‬ ‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬ ‫کاربر‬ ‫به‬st ‫محاسبات‬ ‫انجام‬ ‫جهت‬ ‫باشد‬ ‫می‬ ‫ای‬ ‫رشته‬ ‫نوع‬ ‫از‬ ‫متغیر‬ ‫این‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬ .‫شود‬ ‫می‬‫گردد‬ ‫تبدیل‬ ‫عدد‬ ‫به‬ ‫باید‬. ‫ای‬ ‫برنامه‬ )‫تمرین‬‫ی‬ ‫کلمه‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کلید‬ ‫صفحه‬ ‫از‬ ‫را‬ ‫فامیلی‬ ‫و‬ ‫نام‬ ‫که‬ ‫بنویسید‬ ‫ی‬hello‫نمایش‬ ‫رنگی‬ ‫صورت‬ ‫به‬ ‫فامیلی‬ ‫و‬ ‫نام‬ ‫همراه‬ ‫به‬ ‫را‬ .‫دهد‬ :‫عدد‬ ‫به‬ ‫رشته‬ ‫تبدیل‬ ‫متد‬ ‫از‬ ‫عدد‬ ‫به‬ ‫رشته‬ ‫تبدیل‬ ‫برای‬Parse‫نوع‬int‫یا‬float.‫شود‬ ‫می‬ ‫استفاده‬ int x=int.Parse("721"); float y=float.Parse("2.35"); int x=int.Parse("721a"); //Runtime Error float y=float.Parse("2.35f"); //Runtime Error )‫نکته‬‫مثل‬ ‫داده‬ ‫های‬ ‫نوع‬int.‫هستند‬ ‫نیز‬ ‫متدهایی‬ ‫دارای‬ ‫که‬ ‫هستند‬ ‫کالس‬ ‫یک‬ ‫خود‬‫متد‬ ‫مثل‬Parse Parse‫است‬ ‫کردن‬ ‫تجزیه‬ ‫معنای‬ ‫به‬(‫کاراکتر‬ ‫به‬ ‫کاراکتر‬ ‫بررسی‬)‫رشته‬ ‫یک‬. ‫تمرین‬‫نشان‬ ،‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ‫را‬ ‫آنها‬ ‫تقسیم‬ ‫و‬ ‫تفریق‬ ‫و‬ ‫ضرب‬ ‫و‬ ‫جمع‬ ‫حاصل‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫صحیح‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ ) .‫دهد‬ int n = int.Parse(Console.ReadLine()); ‫تمرین‬‫چا‬ ‫را‬ ‫آنها‬ ‫میانگین‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫کند؟‬ ‫پ‬ ‫تفاوت‬'a'‫و‬"a"‫چیست؟‬
  • 13. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 13 ‫فصل‬5): ‫محاسباتی‬ ‫های‬ ‫عبارت‬ ‫محاسباتی‬ ‫عبارت‬ ‫یک‬‫ش‬(‫عملگر‬ ‫امل‬Operator(‫عملوند‬ ‫و‬ )Operand‫باشد‬ ‫می‬ ).‫مثال‬ ‫در‬5+3*2‫اعداد‬1‫و‬3‫و‬5.‫باشد‬ ‫می‬ ‫عملگر‬ + ‫و‬ * ‫و‬ ‫عملوند‬ ‫و‬ * ‫و‬ + ‫مانند‬ ‫ها‬ ‫عملگر‬ ‫از‬ ‫بعضی‬–( ‫دوتایی‬ / ‫و‬Binary Operator‫می‬ ‫قرار‬ ‫عبارت‬ ‫دو‬ ‫بین‬ ‫یعنی‬ ‫باشند‬ ‫می‬ )‫یکتایی‬ ‫عملگر‬ ‫هم‬ ‫بعضی‬ ‫و‬ ‫گیرند‬ (Unary Operator‫مانند‬ )‫(قرینه‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫کار‬ ‫عملوند‬ ‫یک‬ ‫روی‬ ‫یعنی‬ ‫باشند‬ ‫می‬ )-5‫یا‬–(a*2-4) )‫نکته‬. ‫دارد‬ ‫حاصل‬ ‫یک‬ ‫عبارت‬ ‫هر‬.‫باشد‬ ‫عددی‬ ‫غیر‬ ‫یا‬ ‫عددی‬ ‫است‬ ‫ممکن‬ ‫عبارت‬ ‫یک‬ ‫نتیجه‬ :‫محاسباتی‬ ‫عملگرهای‬+-/ *-% ) ‫نکته‬‫یکی‬ ‫اگر‬‫عم‬ ‫از‬/ ‫عملگر‬ ‫های‬ ‫لوند‬‫باشد‬ ‫اعشاری‬‫خروجی‬‫نوع‬ ‫از‬ ‫آن‬double‫دستور‬ ‫پس‬ ‫باشد‬ ‫می‬float x=12/5.2;.‫دارد‬ ‫خطا‬ ‫بصورت‬ ‫اگر‬ ‫اما‬float x=12/5.2f;.‫ندارد‬ ‫خطا‬ ‫شود‬ ‫نوشته‬ :‫بنویسید‬ ‫را‬ ‫زیر‬ ‫عبارات‬ ‫حاصل‬ )‫سوال‬ 2.5 * 2 = 15 / 7 = 15f / 7 = 31 % 3 = 18.2 % 4 = 8 % 16 = 31 % -3 = 1875 % 10= 1875 / 10= -31 % 3= -31 % -3= ( : ‫عملگرها‬ ‫اولویت‬Precedence) ‫دارد‬ ‫باال‬ ‫اولویت‬ ‫که‬ ‫عملگری‬ ‫ابتدا‬ ‫باشد‬ ‫عملگر‬ ‫چند‬ ‫که‬ ‫عباراتی‬ ‫در‬‫می‬ ‫انجام‬‫شود‬‫را‬ ‫به‬ ‫چپ‬ ‫سمت‬ ‫(از‬ .‫به‬ ‫که‬ ‫شوند‬ ‫می‬ ‫انجام‬ ‫ترتیب‬ ‫به‬ ‫عملگرها‬ ,‫ست‬ (‫چپ‬ ‫پذیری‬ ‫شرکت‬ ‫آن‬Left Associative.‫گویند‬ ‫می‬ ).‫نمود‬ ‫استفاده‬ ‫پرانتز‬ ‫از‬ ‫توان‬ ‫می‬ ‫بندی‬ ‫اولویت‬ ‫در‬ ‫تغییر‬ ‫برای‬ ‫البته‬ ‫عملگر‬ ‫نوع‬‫نشانه‬‫عملگر‬ ‫نام‬‫اولویت‬ ‫یکتایی‬-‫قرینه‬2 ‫دوتایی‬* / %‫ضرب‬-‫تقسیم‬-‫تقسیم‬ ‫باقیمانده‬1 ‫دوت‬‫ایی‬+ -‫جمع‬‫و‬‫تفریق‬3 Console.WriteLine(5 / 2); // 2 Console.WriteLine(5 / 0); // error Console.WriteLine(5 % 2); // 1 Console.WriteLine(5 / 2.0); // 2.5 Console.WriteLine(5 + 2*3); // 11 Console.WriteLine(5 % 0.9); // 1.5 ‫مفهوم‬Strict type checking language.‫شود‬ ‫رعایت‬ ‫باید‬ ‫قوانینی‬ ‫متغیر‬ ‫به‬ ‫عبارت‬ ‫یک‬ ‫انتساب‬ ‫هنگام‬ ‫در‬ ‫که‬ ‫باشد‬ ‫می‬ ‫شارپ‬ ‫سی‬ ‫های‬ ‫ویژگی‬ ‫از‬ : ‫یا‬ ‫سایز‬ ‫همان‬ ‫با‬ ‫متغیری‬ ‫در‬ ‫توان‬ ‫می‬ ‫را‬ ‫صحیح‬ ‫عبارت‬.‫نمود‬ ‫واگذار‬ ‫بزرگتر‬ ‫سایز‬ ushort x = 1412541 / 10; //error ‫را‬ ‫صحیح‬ ‫عبارت‬ ‫حاصل‬‫نوع‬ ‫اعداد‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫نمود‬ ‫ذخیره‬ ‫اعشاری‬ ‫متغیر‬ ‫یک‬ ‫در‬ ‫توان‬ ‫می‬long‫دقت‬ ‫با‬ ‫فقط‬7‫نوع‬ ‫در‬ ‫دقت‬ ‫رقم‬float‫با‬ ‫یا‬ ‫و‬25 ‫نوع‬ ‫در‬ ‫دقت‬ ‫رقم‬double.‫شود‬ ‫می‬ ‫گرد‬ ‫ارقام‬ ‫بقیه‬ ‫و‬ ‫ذخیره‬ float x = 12345678956 / 10; Console.WriteLine(x); // 1.234568E+09 double x = 12345678956 / 10; Console.WriteLine(x); // 12345678956 double x = 123456789123456789 / 10; Console.WriteLine(x); //1.23456789123457E+16 float x = 12.1234523f; //12.12345 float x = 12.1234583f; //12.12346 ‫بصورت‬ ‫توان‬ ‫نمی‬ ‫را‬ ‫اعشاری‬ ‫عبارت‬ ‫یک‬ ‫حاصل‬.‫داد‬ ‫قرار‬ ‫صحیح‬ ‫نوع‬ ‫متغیر‬ ‫در‬ ‫ضمنی‬ ‫اعشاری‬ ‫عبارت‬ ‫یک‬ ‫حاصل‬float‫نوع‬ ‫متغیر‬ ‫در‬ ‫توان‬ ‫می‬ ‫را‬double.‫نمود‬ ‫ذخیره‬ ‫اعشاری‬ ‫عبارت‬ ‫یک‬ ‫حاصل‬double‫توان‬ ‫نمی‬ ‫را‬(‫صریح‬ ‫و‬ ‫ضمنی‬ ‫بصورت‬implicit)‫نوع‬ ‫متغیر‬ ‫در‬float.‫نمود‬ ‫ذخیره‬ )‫سوال‬‫برنامه‬ ‫به‬‫روبرو‬‫چیست؟‬ ‫خطاها‬ ‫علت‬ .‫کنید‬ ‫توجه‬ ‫کنید؟‬ ‫تقدم‬ ‫تعیین‬ ‫را‬ ‫زیر‬ ‫عبارات‬ ‫عملگرهای‬ 12 * ( 15 – 18 / 2 * 3) % ( 17 – 9) * 2 a + b % ( c * (m+n ) ) / ( (h-w) % k ) * s
  • 14. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 14 ‫ت‬‫سکه‬ ‫کمترین‬ ‫به‬ ‫را‬ ‫آن‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫صحیح‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫مرین‬‫های‬21،5،1‫و‬2‫کند؟‬ ‫خرد‬ ‫ریالی‬ ‫ثانی‬ ‫چند‬ ‫و‬ ‫دقیقه‬ ‫چند‬ ‫و‬ ‫ساعت‬ ‫چند‬ ،‫ثانیه‬ ‫تعداد‬ ‫این‬ ‫کند‬ ‫مشخص‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫ثانیه‬ ‫عنوان‬ ‫به‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫ش‬ ‫می‬ ‫ه‬‫ود؟‬ ‫افز‬ ‫عملگرهای‬‫کاهشی‬ ‫و‬ ‫ایشی‬‫عملگرهای‬ :++‫و‬--.‫شوند‬ ‫می‬ ‫استفاده‬ ‫واحد‬ ‫یک‬ ‫اندازه‬ ‫به‬ ‫متغیر‬ ‫کاهش‬ ‫یا‬ ‫و‬ ‫افزایش‬ ‫برای‬ ‫و‬ ‫باشند‬ ‫می‬ ‫یکتایی‬ ‫عملگرهای‬ ++x;  x=x+1; x++;  x=x+1; --x;  x=x-1; x--;  x=x-1; )‫نکته‬‫عمل‬ ‫اولویت‬‫کاهشی‬ ‫و‬ ‫افزایشی‬ ‫گرهای‬‫پیشوندی‬‫ب‬‫انتساب‬ ‫عملگر‬ ‫از‬ ‫االتر‬=.‫باشد‬ ‫می‬ int a = 1; int x = ++a; // ‫برابر‬ ‫متغیر‬ ‫دو‬ ‫هر‬ ‫محتوای‬1‫باشد‬ ‫می‬ )‫نکته‬‫کاهشی‬ ‫و‬ ‫افزایشی‬ ‫عملگرهای‬ ‫اولویت‬‫پسوندی‬‫انتساب‬ ‫عملگر‬ ‫از‬ ‫تر‬ ‫پایین‬=.‫باشد‬ ‫می‬ int a = 1; int x = a++; ‫متغیر‬ ‫محتوای‬x‫متغیر‬ ‫محتوای‬ ‫و‬ ‫یک‬ ‫برابر‬a‫برابر‬1‫باشد‬ ‫می‬. ‫چیست؟‬ ‫زیر‬ ‫دستورات‬ ‫خروجی‬ )‫سوال‬ ‫بیتی‬ ‫عملگرهای‬1:&|^~>><< ‫عملونده‬ ‫روی‬ ‫بیت‬ ‫به‬ ‫بیت‬ ‫صورت‬ ‫به‬ ‫عملگر‬ ‫سپس‬ ‫و‬ ‫شوند‬ ‫می‬ ‫منتقل‬ ‫دو‬ ‫مبنای‬ ‫به‬ ‫عملوندها‬ ‫ابتدا‬ ‫عملگرها‬ ‫این‬ ‫در‬.‫شود‬ ‫می‬ ‫انجام‬ ‫ا‬ ‫مثال‬‫عملکرد‬‫عملگر‬ ‫نوع‬‫نشانه‬‫عملگر‬ ‫ی‬ ~aNot‫عدد‬‫یکتایی‬~ a & bAnd‫عدد‬ ‫دو‬‫دوتایی‬& a | bOr‫عدد‬ ‫دو‬‫دوتایی‬| a ^ bXor‫عدد‬ ‫دو‬‫دوتایی‬^ a >> 3‫چپ‬ ‫به‬ ‫شیفت‬‫دوتایی‬<< a << 2‫راست‬ ‫به‬ ‫شیفت‬‫دوتایی‬>> )‫نکته‬‫شیفت‬ ‫چپ‬ ‫سمت‬ ‫به‬ ‫بار‬ ‫یک‬ ‫عددی‬ ‫اگر‬‫سمت‬ ‫به‬ ‫بار‬ ‫یک‬ ‫اگر‬ ‫و‬ ‫است‬ ‫شده‬ ‫ضرب‬ ‫دو‬ ‫در‬ ‫شود‬ ‫داده‬‫راست‬.‫است‬ ‫شده‬ ‫تقسیم‬ ‫دو‬ ‫بر‬ ‫شود‬ ‫داده‬ ‫شیفت‬ 2 .‫اند‬ ‫شده‬ ‫ذکر‬ ‫اینجا‬ ‫در‬ ‫بعدی‬ ‫مطالب‬ ‫بهتر‬ ‫یادگیری‬ ‫برای‬ ‫اما‬ ‫اند‬ ‫نشده‬ ‫مطرح‬ ‫کتاب‬ ‫در‬ int a = 5, b = 12, c; c = ++a * b--; Console.WriteLine("{0} {1} {2}", a, b, c); int m, x = 20, y = 10, z = 5; m = x++ / --z * ++y+x; Console.WriteLine("{0} {1} {2} {3}", m, x, y, z); Console.WriteLine(21 & 13); Console.WriteLine(21 | 13); Console.WriteLine(21 ^ 13); Console.WriteLine(35 >> 2); ‫بیتی‬ ‫عملگرهای‬
  • 15. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 15 19 >> 1  9 25 << 1  50 21 << 3  ? ‫عملگر‬‫های‬: ‫انتساب‬= ‫با‬ ‫عملگر‬ ‫این‬ ‫چپ‬ ‫سمت‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫متغیر‬ ‫در‬ ‫عبارت‬ ‫یا‬ ‫مقدار‬ ‫یک‬ ‫ذخیره‬ ‫برای‬‫متغیر‬ ‫یک‬ ‫ید‬(‫باشد‬‫نباشد‬ ‫عبارت‬ ‫یا‬ ‫ثابت‬) .‫است‬ ‫آنها‬ ‫راست‬ ‫سمت‬ ‫ی‬ ‫داده‬ ‫مقدار‬ ،‫انتساب‬ ‫عملگرهای‬ ‫حاصل‬a=5 *(b=8); ‫ارزیابی‬ ‫چپ‬ ‫به‬ ‫راست‬ ‫سمت‬ ‫از‬ ‫انتساب‬ ‫عملگر‬ ‫در‬ ‫شدند‬ ‫می‬ ‫ارزیابی‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫سمت‬ ‫از‬ ‫که‬ ‫ریاضی‬ ‫عملگرهای‬ ‫خالف‬ ‫بر‬‫گیرد(شرکت‬ ‫می‬ ‫صورت‬ )‫راست‬ ‫پذیری‬ int z, y, x; z = x = y = 10; : ‫دیگر‬ ‫انتسابی‬ ‫عملگرهای‬= , *= , /= , %= , &= , |= , ^= , <<= , >>=-+= , x += 4;  x=x+4; a*=2;  a=a*2; s <<= 1;  s= s << 1; x += a;  x=x+a; n/=10;  n=n/10; y*=a+b;  y= y *(a+b); )‫سوال‬‫دستور‬ ‫معادل‬‫ات‬x/=y;‫و‬x-=(a+b);.‫بنویسید‬ ‫را‬ ‫دهد؟‬ ‫می‬ ‫انجام‬ ‫را‬ ‫عملی‬ ‫چه‬ ‫روبرو‬ ‫برنامه‬ ‫کنید‬ ‫بررسی‬ )‫سوال‬ ‫تمرین‬‫نم‬ ‫را‬ ‫آن‬ ‫ارقام‬ ‫جمع‬ ‫حاصل‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫را‬ ‫رقمی‬ ‫سه‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫دهد؟‬ ‫ایش‬ ‫تمرین‬)‫سپس‬ .‫کند‬ ‫دریافت‬ ‫نیز‬ ‫را‬ ‫شکل‬ ‫مربعی‬ ‫سرامیک‬ ‫یک‬ ‫ضلع‬ ‫یک‬ ‫اندازه‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫را‬ ‫اتاق‬ ‫یک‬ ‫عرض‬ ‫و‬ ‫طول‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫شود‬ ‫گرد‬ ‫عدد‬ ( ‫؟‬ ‫کند‬ ‫مشخص‬ ‫را‬ ‫اتاق‬ ‫این‬ ‫کف‬ ‫پوشش‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫سرامیک‬ ‫تعداد‬ ‫سوال‬‫د‬ ‫عبارت‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫روبرو‬ ‫ریاضی‬ ‫عبارت‬ )‫ر‬C#‫بنویسید؟‬𝑎 ∗ 𝑏−𝑐 𝑠+𝑤 + 𝑓 ‫سوال‬‫چیست؟‬ ‫روبرو‬ ‫دستورات‬ ‫خروجی‬ ) )‫تست‬ 2-‫است؟‬ ‫گزینه‬ ‫کدام‬ ‫است‬ ‫ها‬ ‫یک‬ ‫و‬ ‫صفر‬ ‫از‬ ‫ای‬ ‫دنباله‬ ‫که‬ ‫کامپیوتر‬ ‫فهم‬ ‫قابل‬ ‫زبان‬ ‫سطح‬ ‫زبان‬ )‫ب‬ ‫اسمبلی‬ ‫زبان‬ )‫الف‬‫میانی‬ ‫سطح‬ ‫زبان‬ )‫د‬ ‫ماشین‬ ‫زبان‬ )‫ج‬ ‫باال‬ 1-‫است؟‬ ‫باز‬ ‫متن‬ ‫زیر‬ ‫های‬ ‫زبان‬ ‫از‬ ‫کدامیک‬ )‫الف‬JAVA)‫ب‬C#)‫ج‬C++)‫د‬.NET 3-‫برا‬ ‫که‬ ‫دستورات‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫به‬.‫شود‬ ‫می‬ ‫گفته‬ ...................... ‫شود‬ ‫می‬ ‫نوشته‬ ‫کار‬ ‫یک‬ ‫انجام‬ ‫ی‬ )‫الف‬Object)‫ب‬Method)‫ج‬class)‫د‬namespace 4-‫در‬ ‫خطی‬ ‫چند‬ ‫توضیحات‬ ‫نوشتن‬ ‫برای‬C#‫شود؟‬ ‫می‬ ‫استفاده‬ ‫گزینه‬ ‫کدام‬ ‫از‬ )‫الف‬/* */)‫ب‬*/ */)‫ج‬//)‫د‬ 5-‫در‬ ‫برنامه‬ ‫ترجمه‬ ‫برای‬C#‫شود؟‬ ‫می‬ ‫استفاده‬ ‫کلید‬ ‫کدام‬ ‫از‬ )‫الف‬F5)‫ب‬F6)‫ج‬F2)‫د‬F10 1-‫کنند؟‬ ‫می‬ ‫اشغال‬ ‫فضا‬ ‫مقدار‬ ‫چه‬ ‫مجموعا‬ ‫روبرو‬ ‫متغیرهای‬ )‫الف‬9)‫ب‬ ‫بایت‬22)‫ج‬ ‫بایت‬21)‫د‬ ‫بایت‬8‫بایت‬ 7-‫است؟‬ ‫گزینه‬ ‫کدام‬ ‫روبرو‬ ‫دستور‬ ‫خروجی‬);x0041"u0043b"(.WriteLineConsole )‫الف‬43b41)‫ب‬CbA)‫ج‬CA‫است‬ ‫خطا‬ ‫دستور‬ ‫این‬ )‫د‬ int a = 14, b = 9; a = a + b; b = a - b; a = a - b; float b = 461.3762921f; Console.WriteLine(b); int a; ushort b; float c; bool z;
  • 16. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 16 ‫فصل‬6)‫دستور‬‫های‬: ‫شرطی‬ )‫منطقی(بولین‬ ‫عبارت‬: ‫حاصلش‬ ‫که‬ ‫عبارتی‬true‫یا‬false‫عملگرها‬ ‫از‬ ‫منطقی‬ ‫عبارات‬ ‫در‬ .‫است‬ ‫منطقی‬ ‫عبارت‬ ‫یک‬ ‫است‬.‫شود‬ ‫می‬ ‫استفاده‬ )‫ای‬ ‫ای(رابطه‬ ‫مقایسه‬ ‫ی‬‫مثال‬ 12 > 5‫حاصلش‬ ‫که‬ ‫است‬ ‫منطقی‬ ‫عبارت‬ ‫یک‬true.‫است‬:‫اند‬ ‫شده‬ ‫تشریح‬ ‫زیر‬ ‫جدول‬ ‫در‬ ‫ایی‬ ‫مقایسه‬ ‫عملگرهای‬ ‫عملگر‬ ‫نام‬‫عملگر‬ ‫ی‬ ‫نشانه‬‫مثال‬ ‫برابری‬==12==8  false ‫مساوی‬ ‫نا‬!=12 != 8  true ‫کوچکتر‬<12<8  false ‫کوچکتر‬‫مساوی‬ ‫یا‬<=12 <= 8  false ‫بزرگتر‬>12 > 8  true ‫مساوی‬ ‫یا‬ ‫بزرگتر‬>=12 >= 8  true )‫ها‬ ‫مثال‬ Console.WriteLine(10 == 12); //false Console.WriteLine(10 >= 12); //false Console.WriteLine(10 <= 12); //true Console.WriteLine('A' == 'B'-1); //true Console.WriteLine(65 == 'B' - 1); //true Console.WriteLine('A' == 65); //true :‫منطقی‬ ‫عملگرهای‬! && || ^ ‫عملگرها‬ ‫این‬:‫هستند‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫و‬ .‫شوند‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫شرط‬ ‫ترکیب‬ ‫برای‬ ‫عمل‬ ‫عملکرد‬ ‫زیر‬ ‫جدول‬ ‫در‬‫گرهای‬&&‫و‬||‫و‬^:‫است‬ ‫شده‬ ‫تشریح‬ ^||&&‫دوم‬ ‫عملوند‬‫اول‬ ‫عملوند‬ falsetruetruetruetrue truetruefalsefalsetrue truetruefalsetruefalse falsefalsefalsefalsefalse ‫آورید؟‬ ‫بدست‬ ‫را‬ ‫روبرو‬ ‫عبارت‬ ‫حاصل‬ )‫تمرین‬18 % 7 > 2 || 25!=17 && 32<=11 ^ 14<5+4 15 > 11 ^ !(22 == 8) && 16 > 9 || 20 < 13
  • 17. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 17 ‫شرطی‬ ‫دستور‬if: : ‫است‬ ‫صورت‬ ‫بدین‬ ‫دستور‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫کلی‬ ‫شکل‬ .‫شود‬ ‫می‬ ‫استفاده‬ ‫دستورات‬ ‫اجرای‬ ‫کنترل‬ ‫برای‬ if( ‫منطقی‬ ‫عبارت‬ ) ‫یک‬‫دستور‬ ; ‫سه‬ ‫از‬ ‫دستور‬ ‫این‬‫ب‬‫است‬ ‫شده‬ ‫تشکیل‬ ‫خش‬‫شرط‬ ‫که‬ ‫صورتی‬ ‫در‬ .true‫داخل‬ ‫دستور‬ ‫باشد‬if‫یک‬ ‫از‬ ‫بیش‬ ‫بخواهیم‬ ‫که‬ ‫صورتی‬ ‫در‬ .‫شود‬ ‫می‬ ‫اجرا‬ ‫در‬ ‫دستور‬‫ی‬ ‫بدنه‬if‫شود‬ ‫اجرا‬،‫های‬ ‫عالمت‬ ‫بین‬ ‫را‬ ‫ها‬ ‫آن‬{}‫دهیم‬ ‫می‬ ‫قرار‬. .‫شود‬ ‫می‬ ‫داده‬ ‫گرامری‬ ‫خطای‬ ‫اینصورت‬ ‫غیر‬ ‫در‬ ‫بگیرد‬ ‫قرار‬ ‫پرانتز‬ ‫دو‬ ‫بین‬ ‫باید‬ ‫حتما‬ ‫شرط‬ ‫مثال‬2) ‫مثال‬1) int a = int.Parse(Console.ReadLine()); if (a < 10) { Console.WriteLine("Your Mark is "+a); Console.WriteLine("Failed "); } if (a >= 10) { Console.WriteLine("Your Mark is " + a); Console.WriteLine("Passed "); } ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫به‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫عدد‬ ‫یک‬5‫و‬3‫پذیر‬ ‫پخش‬‫پیغام‬ ‫بود‬Yes.‫کند‬ ‫چاپ‬ )‫تمرین‬‫از‬ ‫کمتر‬ ‫نمره‬ ‫اگر‬ .‫کند‬ ‫دریافت‬ ‫را‬ ‫آموز‬ ‫دانش‬ ‫یک‬ ‫نمره‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬21‫کاراکتر‬ ‫بود‬E‫بین‬ ‫نمره‬ ‫اگر‬ .‫دهد‬ ‫نمایش‬ ‫را‬21‫تا‬24 ‫بود‬‫کاراکتر‬D‫نمای‬ ‫را‬‫بین‬ ‫نمره‬ ‫اگر‬ ‫دهد‬ ‫ش‬24‫تا‬21‫کاراکتر‬ ‫بود‬C‫بین‬ ‫نمره‬ ‫اگر‬ ‫و‬ ‫دهد‬ ‫نمایش‬ ‫را‬21‫تا‬28‫کاراکتر‬ ‫بود‬B‫و‬ ‫دهد‬ ‫نمایش‬ ‫را‬ ‫بین‬ ‫نمره‬ ‫اگر‬11‫تا‬28‫کاراکتر‬ ‫بود‬A‫از‬ ‫نمره‬ ‫اگر‬ ‫نهایت‬ ‫در‬ . ‫دهد‬ ‫نمایش‬ ‫را‬11‫پیغام‬ ‫بود‬ ‫بیشتر‬Error.‫شود‬ ‫صادر‬ :‫بالک‬ ‫های‬ ‫عالمت‬ ‫داخل‬ ‫که‬ ‫دستور‬ ‫تعدادی‬ ‫به‬.‫شود‬ ‫می‬ ‫گفته‬ ‫بالك‬ ،‫باشند‬ ‫داشته‬ ‫قرار‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫آکوال‬ .‫باشد‬ ‫دستور‬ ‫یک‬ ‫شامل‬ ‫فقط‬ ‫حتی‬ ‫یا‬ ‫باشد‬ ‫خالی‬ ‫تواند‬ ‫می‬ ‫بالك‬ .‫نویسند‬ ‫می‬ ‫تورفتگی‬ ‫با‬ ‫را‬ ‫بالك‬ ‫داخل‬ ‫دستورات‬ ،‫بیشتر‬ ‫خوانایی‬ ‫برای‬ .‫کرد‬ ‫تلقی‬ ‫دستور‬ ‫یک‬ ‫مانند‬ ‫توان‬ ‫می‬ ‫را‬ ‫بالك‬ ‫یک‬ ‫چیست؟‬ ‫روبرو‬ ‫دستورات‬ ‫خروجی‬ )‫مثال‬ int a = int.Parse(Console.ReadLine()); if (a %2 == 0 ) Console.WriteLine(a+ " is Even"); if (a %2 != 0 ) Console.WriteLine(a+ " is Odd"); } ‫دستور‬ ; ‫دستور‬ ; ‫دستور‬ ; } int grade = 5; if (grade > 10) ; Console.WriteLine("Good"); Console.WriteLine("Bad");
  • 18. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 18 ‫دستو‬‫شرطی‬ ‫ر‬else-if:‫شرط‬ ‫که‬ ‫صورتی‬ ‫در‬if‫قسمت‬ ‫نباشد‬ ‫برقرار‬else.‫شود‬ ‫می‬ ‫اجرا‬ if( ‫عبارت‬‫منطقی‬ ) ‫دستور‬2 ; else ‫دستور‬1 ; ‫دستور‬ ‫باشد‬ ‫درست‬ ‫شرط‬ ‫اگر‬ ‫دستور‬ ‫این‬ ‫در‬2‫شود‬ ‫می‬ ‫اجرا‬ ‫دستور‬ ‫نباشد‬ ‫درست‬ ‫شرط‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫و‬1.‫شود‬ ‫می‬ ‫اجرا‬ ‫کاربر‬ ‫از‬ ‫عددی‬ ‫زیر‬ ‫برنامه‬ ‫در‬‫متغیر‬ ‫در‬ ‫و‬ ‫شود‬ ‫می‬ ‫گرفته‬a‫قرار‬ ‫پیغام‬ ‫باشد‬ ‫زوج‬ ‫عدد‬ ‫این‬ ‫اگر‬ .‫گیرد‬ ‫می‬is Even‫غیر‬ ‫در‬ ‫و‬ ‫پیغام‬ ‫صورت‬ ‫این‬is Odd‫ص‬.‫شود‬ ‫می‬ ‫ادر‬ int a = int.Parse(Console.ReadLine()); if (a %2==0 ) Console.WriteLine(a+ " is Even"); else Console.WriteLine(a+ " is Odd"); )‫نکته‬‫بین‬ ‫همیشه‬if‫و‬else‫باید‬‫یک‬.‫شود‬ ‫می‬ ‫صادر‬ ‫خطا‬ ‫صورت‬ ‫این‬ ‫غیر‬ ‫در‬ ‫بگیرد‬ ‫قرار‬ ‫دستور‬ ‫بالك‬ ‫یک‬ ‫یا‬ ‫دستور‬ if (a %2==0 ) Console.WriteLine(a+ " is Even"); Console.WriteLine(); else Console.WriteLine(a+ " is Odd"); ‫کند؟‬ ‫چاپ‬ ‫را‬ ‫آنها‬ ‫کوچکترین‬ ‫و‬ ‫بزرگترین‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬ )‫تمرین‬‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫را‬ ‫کارمند‬ ‫یک‬ ‫درآمد‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬7‫درآمد‬ ‫که‬ ‫صورتی‬ ‫در‬ .‫کند‬ ‫محاسبه‬ ‫بیمه‬ ‫حق‬ ‫عنوان‬ ‫به‬ ‫آن‬ ‫درصد‬ ‫م‬ ‫یک‬ ‫از‬ ‫کارمند‬‫است‬ ‫بیشتر‬ ‫یلیون‬5.‫شود‬ ‫می‬ ‫محاسبه‬ ‫زیر‬ ‫فرمول‬ ‫از‬ ‫کارمند‬ ‫هر‬ ‫دریافتی‬ ‫حقوق‬ .‫کنید‬ ‫محاسبه‬ ‫را‬ ‫میلیون‬ ‫یک‬ ‫مازاد‬ ‫مالیات‬ ‫درصد‬ ‫خالص‬ ‫حقوق‬ = ‫درآمد‬ – ‫بیمه‬ - ‫مالیات‬ )‫سوال‬‫دارد؟‬ ‫ایرادی‬ ‫چه‬ ‫روبرو‬ ‫برنامه‬ ‫تمرین‬2‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫رقمی‬ ‫تک‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫انگلیسی‬ ‫معادل‬ ‫سپس‬5  Five ‫تمرین‬1‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫مطلق‬ ‫قدر‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ ) ‫تمرین‬3‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫آنها‬ ‫کوچکترین‬ ‫و‬ ‫بزرگترین‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ ) int k = 12; if (k>5); { Console.WriteLine("+"); } else { Console.WriteLine("$"); }
  • 19. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 19 ‫دستور‬‫در‬ ‫تو‬ ‫شرطی‬ ‫ات‬:‫تو‬ ‫یک‬ ‫ی‬ ‫بدنه‬if‫یک‬ ‫یا‬else‫یک‬ ‫تواند‬ ‫می‬if‫صورت‬ ‫به‬ .‫باشد‬ ‫دیگر‬‫روبرو‬: )‫مثال‬ )‫دیگر‬ ‫مثال‬ float b; b = float.Parse(Console.ReadLine()); if (b < 0 || b>20) Console.WriteLine("Error"); else if (b >= 0 && b < 10) Console.WriteLine("BAD"); else if(b>=10 && b<15) Console.WriteLine("Good!"); else if (b>=15 && b<=20) Console.WriteLine("very Good!"); Console.ReadKey(); :‫هستند‬ ‫معادل‬ ‫زیر‬ ‫دستورات‬ ‫درصو‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫انگلیسی‬ ‫حرف‬ ‫کاراکتر‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫نمایش‬ ‫بزرگ‬ ‫حرف‬ ‫صورت‬ ‫به‬ ‫را‬ ‫آن‬ ‫بود‬ ‫کوچک‬ ‫حرف‬ ‫که‬ ‫رتی‬ ‫دهید؟‬b  B ‫دهد‬ ‫نمایش‬ ‫را‬ ‫معادله‬ ‫های‬ ‫ریشه‬ ‫وسپس‬ ‫کند‬ ‫دریافت‬ ‫دو‬ ‫درجه‬ ‫معادله‬ ‫یک‬ ‫ضرایب‬ ‫عنوان‬ ‫به‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫؟‬ ax2+bx+c=0 ‫است؟‬ ‫خطا‬ ‫گزینه‬ ‫کدام‬ ،‫روبرو‬ ‫متغیرهای‬ ‫تعریف‬ ‫به‬ ‫توجه‬ ‫تست)با‬h;doublem;shortz;floata;int )‫الف‬h = a;)‫ب‬z = m;)‫ج‬a = z;)‫د‬h = z; if ( ‫منطقی‬ ‫عبارت‬2 ) { 1‫دستوارت‬ } else if( ‫منطقی‬ ‫عبارت‬1 ) { 2‫دستوارت‬ } else if( ‫منطقی‬ ‫عبارت‬3 ) { ‫دستورات‬3 } else { ‫دستورات‬4 } int n = int.Parse(Console.ReadLine()); if (n >= 0 && n < 10) Console.Write(n); else if (n == 10) Console.Write('A'); else if (n == 11) Console.Write('B'); else if (n == 12) Console.Write('C'); else if (n == 13) Console.Write('D'); else if (n == 14) Console.Write('E'); else if (n == 15) Console.Write('F'); else Console.Write("Error"); if (a>5) if (a<12) Console.WriteLine("test"); if (a>5 && a<12) Console.WriteLine("test");
  • 20. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 20 ‫دستور‬switch:‫ا‬ ‫از‬ ‫کنیم‬ ‫اجرا‬ ‫را‬ ‫دستورهایی‬ ‫آن‬ ‫اساس‬ ‫بر‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫عبارت‬ ‫یک‬ ‫مختلف‬ ‫های‬ ‫حالت‬ ‫بخواهیم‬ ‫که‬ ‫مواردی‬ ‫در‬‫استفاده‬ ‫دستور‬ ‫ین‬ ‫کنیم‬ ‫می‬. ‫عبارت‬ ‫این‬ .‫شود‬ ‫می‬ ‫ارزیابی‬ ‫پرانتز‬ ‫داخل‬ ‫عبارت‬ ‫ابتدا‬‫توان‬ ‫نمی‬‫جلوی‬ ‫مقدار‬ ‫کدام‬ ‫برابر‬ ‫عبارت‬ ‫این‬ ‫حاصل‬ ‫شود‬ ‫می‬ ‫بررسی‬ ‫سپس‬ .‫باشد‬ ‫اعشاری‬case ‫دستور‬ ‫به‬ ‫رسیدن‬ ‫تا‬ ‫آن‬ ‫با‬ ‫متناسب‬ ‫دستور‬ ‫و‬ ‫باشد‬ ‫می‬break‫ا‬ ‫کدام‬ ‫هیچ‬ ‫برابر‬ ‫مقدار‬ ‫این‬ ‫اگر‬ .‫شود‬ ‫می‬ ‫اجرا‬‫جلوی‬ ‫مقادیر‬ ‫ز‬case‫دستورات‬ ‫نبود‬ ‫از‬ ‫بعد‬default.‫شود‬ ‫می‬ ‫اجرا‬‫مثال‬ ) ‫نکته‬‫عبارت‬default.‫باشد‬ ‫می‬ ‫اختیاری‬ ‫دستور‬ ‫این‬ ‫در‬ )‫نکته‬‫دستور‬ ‫از‬break‫یک‬ ‫به‬ ‫داده‬ ‫خاتمه‬ ‫برای‬case‫شود‬ ‫می‬ ‫استفاده‬‫دستور‬ ‫اگر‬ .break‫زیر‬ ‫بصورت‬ ‫اگر‬ ‫البته‬ ‫شود‬ ‫می‬ ‫صادر‬ ‫خطا‬ ‫نشود‬ ‫نوشته‬ ‫خط‬ ‫شود‬ ‫نوشته‬‫شود‬ ‫نمی‬ ‫صادر‬ ‫ا‬: switch(a){ case 1: case 2: Console.WriteLine("Two"); break;} ‫مقدار‬ ‫اگر‬ ‫حالت‬ ‫این‬ ‫در‬a‫یک‬ ‫برابر‬‫یا‬‫عبارت‬ ‫باشد‬ ‫دو‬Two.‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬ )‫نکته‬‫از‬ ‫بعد‬ ‫دستور‬case‫یک‬ ‫حتی‬ ‫دستوری‬ ‫هر‬ ‫تواند‬ ‫می‬switch‫یا‬if‫مثال‬ ‫باشد‬ ‫دیگر‬ case 2: if (b < 3 && b > 2) Console.WriteLine("test"); else Console.WriteLine("Good"); break; ‫جلوی‬ ‫عبارت‬ )‫نکته‬switch‫حرف‬ ‫تواند‬ ‫می‬ ‫اما‬ ‫باشد‬ ‫اعشاری‬ ‫تواند‬ ‫نمی‬.‫است‬ ‫خطا‬ ‫زیر‬ ‫دستور‬ .‫باشد‬ ‫صحیح‬ ‫و‬ ‫ای‬ ‫رشته‬ ،‫ی‬ switch( n/10.0) switch(‫)عبارت‬ } case 2‫مقدار‬ : ‫دستور‬2 ; break; case 1‫مقدار‬ : ‫دستور‬1 ; break; . . default : ‫دیگر‬ ‫;دستورهای‬ break; { int a = int.Parse(Console.ReadLine()); switch(a){ case 1: Console.WriteLine("One"); break; case 2: Console.WriteLine("Two"); break; case 3: Console.WriteLine("Three"); break; case 4: Console.WriteLine("Four"); break; default : Console.WriteLine(a+ " Is > 4 or < 1 "); break; }
  • 21. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 21 ‫به‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫کن‬ ‫دریافت‬ ‫سال‬ ‫ماه‬ ‫ی‬ ‫شماره‬ ‫عنوان‬.‫کند‬ ‫تعیین‬ ‫را‬ ‫آن‬ ‫فصل‬ ‫و‬ ‫د‬ int b = int.Parse(Console.ReadLine()); switch (b) } case 1: case 2: case 3: Console.WriteLine("Spring"); break; case 4: case 5: case 6: Console.WriteLine("Summer"); break; case 7: case 8: case 9: Console.WriteLine("Fall"); break; case 10: case 11: case 12: Console.WriteLine("Winter"); break; { ‫زوج‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫فرد‬ ‫یا‬)‫ورودی‬ ‫عدد‬ ‫یکان‬ ‫رقم‬ ‫از‬ ‫استفاده‬ ‫با‬ ( ‫کند‬ ‫مشخص‬ ‫را‬ ‫آن‬ ‫بودن‬ int n = int.Parse(Console.ReadLine()); int r = n % 10; switch (r) { case 0: case 2: case 4: case 6: case 8: Console.Write("Is Even"); break; default : Console.Write("Is Odd"); break; } ‫بنویسید؟‬ ‫را‬ ‫روبرو‬ ‫فلوچارت‬ ‫به‬ ‫مربوط‬ ‫برنامه‬ )‫تمرین‬)‫است‬ ‫رقمی‬ ‫سه‬ ‫ورودی‬ ‫عدد‬ ‫کنید‬ ‫فرض‬ (
  • 22. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 22 ‫فصل‬7)‫تکرا‬ ‫دستورات‬‫ر‬: ‫حلقه‬ ‫از‬ ‫دستورات‬ ‫تکرار‬ ‫برای‬‫دستورات‬while‫یا‬do-while‫یا‬for.‫کنیم‬ ‫می‬ ‫استفاده‬‫دس‬ ‫تعدادی‬ ،‫تکرار‬ ‫دستورات‬ ‫در‬‫تور‬)‫حلقه‬ ‫ی‬ ‫(بدنه‬‫درستی‬ ‫اساس‬ ‫بر‬ ‫دستورات‬ .‫شوند‬ ‫می‬ ‫بندی‬ ‫دسته‬ ‫نامعین‬ ‫و‬ ‫معین‬ ‫گروه‬ ‫دو‬ ‫به‬ ‫تکرار‬ ‫دستورات‬ .‫شوند‬ ‫می‬ ‫تکرار‬ ‫شرط‬ ‫یک‬while‫و‬do-while‫یعنی‬ ‫هستند‬ ‫نامعین‬ ‫دستور‬ ‫اما‬ .‫دارد‬ ‫حلقه‬ ‫شرط‬ ‫به‬ ‫بستگی‬ ‫و‬ ‫است‬ ‫نامشخص‬ ‫دستورات‬ ‫تکرار‬ ‫تعداد‬for‫می‬ ‫تکرار‬ ‫مشخصی‬ ‫تعداد‬ ‫و‬ ‫است‬ ‫معین‬.‫شود‬ ‫دستور‬while: while (‫منطقی‬ ‫عبارت‬) ‫دستور‬ ‫یک‬; ‫و‬ ‫شود‬ ‫می‬ ‫اجرا‬ ‫دستور‬ ‫باشد‬ ‫درست‬ ‫اگر‬ ‫شود‬ ‫می‬ ‫بررسی‬ ‫شرط‬ ‫ابتدا‬ ‫در‬‫ک‬‫برن‬ ‫نترل‬‫امه‬ ‫دستور‬ ‫به‬ ‫دوباره‬while‫شرط‬ ‫اگر‬ .‫شود‬ ‫می‬ ‫بررسی‬ ‫مجددا‬ ‫شرط‬ ‫و‬ ‫گردد‬ ‫می‬ ‫باز‬ .‫شود‬ ‫نمی‬ ‫تکرار‬ ‫دیگر‬ ‫حلقه‬ ‫باشد‬ ‫نادرست‬ ‫ا‬ ‫روبرو‬ ‫فلوچارت‬ ‫در‬‫مجددا‬ ‫و‬ ‫گردد‬ ‫می‬ ‫انجام‬ ‫دستور‬ ‫بود‬ ‫درست‬ ‫اگر‬ ‫بررسی‬ ‫شرط‬ ‫بتدا‬ ‫می‬ ‫پیدا‬ ‫ادامه‬ ‫کار‬ ‫این‬ .‫گردد‬ ‫می‬ ‫بررسی‬ ‫شرط‬ ‫دوباره‬ ‫و‬ ‫گردد‬ ‫می‬ ‫بر‬ ‫فلوچارت‬ ‫باالی‬ ‫به‬ .‫شود‬ ‫نادرست‬ ‫شرط‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫کند‬ : ‫مثال‬ int a=1; while (a < 5) { Console.WriteLine( a); a++; } Console.WriteLine("End"); ‫مثال‬ ‫این‬ ‫در‬‫تا‬ ‫یک‬ ‫اعداد‬4‫که‬ ‫هنگامی‬ ‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬a=5‫عبارت‬ ‫و‬ ‫آید‬ ‫می‬ ‫بیرون‬ ‫حلقه‬ ‫از‬ ‫و‬ ‫شود‬ ‫می‬ ‫نادرست‬ ‫حلقه‬ ‫شرط‬ ‫شود‬ ‫می‬End‫را‬ ‫ن‬‫شرطی‬ ‫دستور‬ ‫همانند‬ ‫که‬ ‫این‬ ‫مهم‬ ‫نکته‬ .‫دهد‬ ‫می‬ ‫مایش‬if‫داخل‬ ‫را‬ ‫آنها‬ ‫شوند‬ ‫تکرار‬ ‫دستور‬ ‫دو‬ ‫خواهیم‬ ‫می‬ ‫چون‬{}. ‫دهیم‬ ‫می‬ ‫قرار‬ : ‫دیگر‬ ‫مثال‬ int a=1; while (a < 10) Console.WriteLine(a++); Console.WriteLine("End"); ‫ن‬‫کته‬)‫اگر‬‫در‬‫حلقه‬ ‫ابتدای‬ ‫همان‬،.‫شود‬ ‫نمی‬ ‫تکرار‬ ‫حلقه‬ ‫باشد‬ ‫نادرست‬ ‫شرط‬ ‫نکته‬)‫از‬ ‫بعد‬ ‫اگر‬while‫عالمت‬;‫عبارت‬ ‫باشد‬ ‫برقرار‬ ‫شرط‬ ‫که‬ ‫درصورتی‬ ‫گیرد‬ ‫قرار‬;‫می‬ ‫تکرار‬ ‫شود‬ ‫می‬ ‫نهایت‬ ‫بی‬ ‫حلقه‬ ‫و‬ ‫شود‬)‫منطقی‬ ‫(خطای‬. ‫بدنه‬ ‫که‬ ‫صورتی‬ ‫در‬ )‫نکته‬‫ی‬‫استفاده‬ ‫به‬ ‫نیازی‬ ‫باشد‬ ‫دستور‬ ‫یک‬ ‫فقط‬ ‫حلقه‬‫ام‬ .‫نیست‬ ‫بالك‬ ‫از‬‫اگر‬ ‫ا‬ .‫شود‬ ‫استفاده‬ ‫بالك‬ ‫از‬ ‫باید‬ ‫باشد‬ ‫دستور‬ ‫یک‬ ‫از‬ ‫بیشتر‬ ‫حلقه‬ ‫ی‬ ‫بدنه‬ ‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫رقمی‬ ‫دو‬ ‫زوج‬ ‫اعداد‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬ ‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫ارقام‬ ‫مجموع‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫صحیح‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬ ‫خروجی‬a 11 22 33 44 End5
  • 23. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 23 ‫برنامه‬ )‫تمرین‬‫زیر‬‫چه‬‫دهد؟‬ ‫می‬ ‫انجام‬ ‫را‬ ‫عملی‬ ‫بنویسید؟‬ ‫را‬ ‫روبرو‬ ‫فلوچارت‬ ‫به‬ ‫مربوط‬ ‫برنامه‬ )‫تمرین‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬‫دهد؟‬ ‫نمایش‬ ‫را‬ ‫عدد‬ ‫مغلوب‬ ‫کند‬ ‫دریافت‬ ‫عدد‬5241 1425 ‫دستور‬while-do:‫دستور‬ ‫مانند‬ ‫دستور‬ ‫این‬while‫اجرای‬ ‫از‬ ‫بعد‬ ‫حلقه‬ ‫شرط‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫است‬‫می‬ ‫اجرا‬ ‫یکبار‬ ‫حداقل‬ ‫لذا‬ .‫شود‬ ‫می‬ ‫بررسی‬ ‫حلقه‬ ‫ی‬ ‫بدنه‬ .‫شود‬:‫دستور‬ ‫کلی‬ ‫شکل‬ ‫در‬،‫فوق‬ ‫برنامه‬.‫شود‬ ‫می‬ ‫اجرا‬ ‫یکبار‬ ‫حداقل‬ ‫اما‬ ‫باشد‬ ‫می‬ ‫نادرست‬ ‫شرط‬ ‫ارزش‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬5‫می‬ ‫نمایش‬ ‫را‬ ‫چون‬ ‫و‬ ‫کند‬ ‫می‬ ‫بررسی‬ ‫را‬ ‫شرط‬ ‫سپس‬ ‫دهد‬false‫از‬ ‫باشد‬ ‫می‬‫حلقه‬‫عبارت‬ ‫و‬ ‫شده‬ ‫خارج‬End‫ر‬‫می‬ ‫نمایش‬ ‫ا‬ .‫دهد‬ ‫نکته‬)‫بین‬do‫و‬while‫باید‬‫بین‬ ‫را‬ ‫آنها‬ ‫کنیم‬ ‫تکرار‬ ‫را‬ ‫دستور‬ ‫یک‬ ‫از‬ ‫بیش‬ ‫بخواهیم‬ ‫اگر‬ ‫و‬ ‫باشد‬ ‫دستور‬ ‫یک‬ ‫فقط‬ {}.‫دهیم‬ ‫می‬ ‫قرار‬ ‫نکته‬(‫دستور‬ ‫در‬do – while‫ا‬ ‫چون‬‫ن‬‫دستور‬ ‫تهای‬while‫لذا‬ ‫باشد‬ ‫می‬‫از‬ ‫بعد‬while‫باید‬ ‫حتما‬;‫دهیم‬ ‫قرار‬. )‫تمرین‬‫روبرو‬ ‫برنامه‬.‫ندهد‬ ‫رخ‬ ‫خطا‬ ‫تا‬ ‫دهید‬ ‫تغییری‬ ‫برنامه‬ ‫در‬ ‫و‬ ‫نوشته‬ ‫را‬ ‫آن‬ ‫علت‬ ‫دارد؟‬ ‫خطا‬ ‫را‬ ‫شده‬ ‫وارد‬ ‫اعداد‬ ‫میانگین‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫کاربر‬ ‫از‬ ‫عدد‬ ‫تعدادی‬ ‫که‬ ‫بنویسید‬ ‫ایی‬ ‫برنامه‬ )‫تمرین‬ )‫است‬ ‫صفر‬ ،‫اعداد‬ ‫بخش‬ ‫پایان‬ (.‫دهد‬ ‫نمایش‬ ‫و‬ ‫محاسبه‬ int a=5; do Console.WriteLine(a); a++; while (a > 7); Console.WriteLine("End"); int n = int.Parse(Console.ReadLine()); long f = 1; int c = 1; while(c<=n) { f *= c; ++c; } Console.WriteLine(f); Console.ReadKey(); do ‫دستور‬; while(‫منطقی‬ ‫عبارت‬); int a=5; do Console.WriteLine(a); while (a > 7); Console.WriteLine("End"); int number, sum = 0, tedad = 0; do { number = int.Parse(Console.ReadLine()); sum += number; tedad++; } while (number != 0); float avrg = sum / (tedad - 1); Console.WriteLine(avrg); Console.ReadKey();
  • 24. ‫سازی‬ ‫برنامه‬ ‫درس‬ ‫جزوه‬1(C#)‫زاهدی‬–‫محمدی‬ 24 ‫تمرین‬) 2‫بنویس‬ ‫را‬ ‫روبرو‬ ‫دستورات‬ ‫)خروجی‬‫ید؟‬ 1)‫پرکنید؟‬ ‫مناسب‬ ‫عبارات‬ ‫با‬ ‫را‬ ‫زیر‬ ‫های‬ ‫جاخالی‬ ‫مترجم‬ )‫الف‬‫نمی‬‫تواند‬‫نوع‬‫داده‬.............‫را‬‫به‬‫طور‬‫ضمنی‬‫و‬‫خودکار‬‫به‬‫نوع‬float‫تبدیل‬‫کند‬. ‫درزبان‬ )‫ب‬‫برنامه‬‫نویسی‬C#،‫عملگرهای‬‫یکتایی‬++‫و‬--‫به‬‫ترتیب‬‫برای‬...........‫و‬..............‫یک‬ ‫مقدار‬‫متغیر‬‫به‬‫اندازه‬‫ی...............واحددر‬ ‫نظر‬‫گرفته‬‫شده‬‫است‬. ‫آکوالد‬ )‫ج‬‫های‬‫باز‬‫و‬‫بسته‬‫محدوده‬‫عملیات‬..........‫و‬............‫دستور‬switch‫را‬‫معین‬‫می‬‫کند‬. ‫اگر‬ )‫د‬‫در‬‫برنامه‬‫ای‬‫با‬‫عبارت‬‫ها‬‫و‬‫اعداد‬‫اعشاری‬‫با‬‫دقت‬‫حداکثر‬7‫رقم‬‫سر‬‫و‬‫کار‬.............. ‫نوع‬ ‫متغیرهای‬ ‫از‬ ‫دارید‬.‫شود‬ ‫می‬ ‫استفاده‬ . 3)‫به‬ ‫زیر‬ ‫رشته‬ ‫نمایش‬ ‫برای‬ ‫صحیح‬ ‫دستوری‬‫ز‬‫بان‬C#.‫بنویسید‬ I study "computer". 4‫اگر‬ )int x=7 , y=2;‫عدد‬ ،‫عبارت‬ ‫کدام‬ ‫نتیجه‬4‫نمی‬‫شود؟‬ )‫الف‬y+x/2-1)‫ب‬(x+y)%2+2)‫ج‬x-2+(--y))‫د‬-y*2+4*2 5‫روبرو‬ ‫برنامه‬ )‫دهد؟‬ ‫می‬ ‫انجام‬ ‫را‬ ‫عملی‬ ‫چه‬ 1)‫آورید؟‬ ‫بدست‬ ‫را‬ ‫روبرو‬ ‫برنامه‬ ‫خروجی‬ 7‫چیست؟‬ ‫آن‬ ‫خروجی‬ ‫و‬ ‫کنید‬ ‫بررسی‬ ‫را‬ ‫روبرو‬ ‫برنامه‬ ) 8.‫بنویسید‬ ‫را‬ ‫روبرو‬ ‫فلوچارت‬ ‫به‬ ‫مربوط‬ ‫برنامه‬ ) ‫ارقام‬ ‫مجموع‬ ‫و‬ ‫کند‬ ‫می‬ ‫دریافت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫ایی‬ ‫برنامه‬ .‫کند‬ ‫می‬ ‫چاپ‬ ‫و‬ ‫محاسبه‬ ‫را‬ ‫آن‬ 9)‫خروج‬‫است؟‬ ‫گزینه‬ ‫کدام‬ ‫روبرو‬ ‫برنامه‬ ‫ی‬ )‫الف‬SalamBye)‫ب‬Salam )‫ج‬Bye‫شود‬ ‫نمی‬ ‫چاپ‬ ‫چیزی‬ ‫هیچ‬ )‫د‬ static void Main() { int a = 1, b = 1; if ( ! (a==1 && b==2)) Console.WriteLine(true); if (a !=1 || b!=2) Console.WriteLine(false); } char ch,up; ch = char.Parse(Console.ReadLine()); if (ch >= 'a' && ch <= 'z') up = (char) (ch - 32); else up = ch; Console.WriteLine(up); Console.ReadKey(); int a, b, c; a=b=1; while(a<100) { Console.WriteLine(a); c = a + b; a = b; b = c; } int n = 1; while (n < 10) ; } Console.WriteLine(n); ++n; { int s = 0x12; if (s == 18) Console.Write("Salam"); if (s == 12) ; Console.WriteLine("Bye");