برنامه سازی پیشرفته 2

Download Report

Transcript برنامه سازی پیشرفته 2

‫جلسه او ‌ل‬
‫اعظم فرخ‬
‫بهار‪94‬‬
‫دانشکده فنی و حرفه‌ای قم‬
: ‫مرجع‬
Visual C# 2012 How To Program 5th ed


Paul Deitel, Harvey Deitel
: ‫ابزار‬

: ‫وبالگ‬

: ‫ایمیل‬

Microsoft Visual Studio 2013
www.azamfarokh.rozblog.com
[email protected]
‫دانشکده فنی و حرفه‌ای قم‬
2
‫‪‬‬
‫کتبی پایان ترم (‪)4‬‬
‫‪‬‬
‫امتحان عملی پایان ترم ‪ +‬میان ترم (‪)7‬‬
‫‪‬‬
‫پروژه (‪)4‬‬
‫‪‬‬
‫تمرینات هفتگی (‪)3‬‬
‫‪‬‬
‫کوئیز ‌و فعالیت کالس ی (‪)2‬‬
‫‌‬
‫‪‬‬
‫نمره اضافه‬
‫‪ ‬تقلب‪ ،‬کپی برداری در انجام تمرین و پروژه = صفر‬
‫‪3‬‬
‫دانشکده فنی و حرفه‌ای قم‬
‫‪4‬‬
‫‪‬‬
‫در ویژوال استودی ‌و برنامه ‪ C#.NET‬نوشت ‪:‬‬
‫به طور‌ کلی به د ‌و صورت می توان ‌‬
‫‪‬‬
‫‪Windows Form Application )1‬‬
‫‪‬‬
‫‪Console Application )2‬‬
‫دانشکده فنی و حرفه‌ای قم‬
‫‪5‬‬
‫دانشکده فنی و حرفه‌ای قم‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪6‬‬
‫‪ : Name‬نام پروژه را مشخص می کند‪.‬‬
‫فولدر اصلی پروژه می باشد ‌و یک ‪ Solution‬می تواند شامل چندین‬
‫‌‬
‫‪ : Solution name‬نام‬
‫در مورد پروژه‬
‫پروژه مختلف باشد‪ .‬فایل ‪ solution‬دارای پسوند ‪ sln‬می باشد ‌و شامل جزئیاتی ‌‬
‫ها ‌و فایل های وابسته به آن می باشد‪.‬‬
‫همه فایل های دارای کد ‪ C#‬دارای پسوند ‪ .cs‬می باشند‪.‬‬
‫فایل اصلی برنامه ‪ program.cs‬نام دارد‪ .‬می توان این نام را‬
‫تغییر داد‪ .‬بدین منظو ‌ر ‌بر روی اسم فایل کلیک‬
‫به یک نام دلخواه ‌‬
‫در قسمت ‪ FileName‬نام‬
‫در پنجره ‪‌ Properties‬‬
‫کنید‪ ،‬سپس ‌‬
‫تغییر دهید‪.‬‬
‫آن را ‌‬
‫دانشکده فنی و حرفه‌ای قم‬
‫;‪System‬‬
‫;‪System.Collections.Generic‬‬
‫;‪System.Linq‬‬
‫;‪System.Text‬‬
‫;‪System.Threading.Tasks‬‬
‫‪using‬‬
‫‪using‬‬
‫‪using‬‬
‫‪using‬‬
‫‪using‬‬
‫‪namespace Welcome1‬‬
‫{‬
‫‪class Welcome1‬‬
‫{‬
‫‪// Main method begins execution of C# application‬‬
‫)‪static void Main(string[] args‬‬
‫{‬
‫;)"!‪System.Console.WriteLine("Welcome to C#.Net Tutorials‬‬
‫}‬
‫}‬
‫}‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪7‬‬
‫‪ Namespace‬یا فضای نام برای دسته بندی کالس ها استفاده می شود ‌و کالس هایی که به هم مرتبط‬
‫در یک فضای نام قر ‌ار می گیرند‪.‬‬
‫هستند ‌‬
‫‪ Using‬ها مانند ‪ Include‬ها در ‪ c++‬هستند‪ .‬برای اعالن ‌و اضافه کردن یک فضای نام به کد‬
‫در برنامه)‪‌ ،‬از دستور‌ ‪ Using‬استفاده می‌شود‪.‬‬
‫(شناساندن تمام کالس های درون فضای نام ‌‬
‫در آینده توضیح داده می شوند‪ .‬به طور‌ کلی کدها باید داخل کالس نوشته شوند‪.‬‬
‫‪ Class‬ها ‌‬
‫آغاز اجرای برنامه است یعنی ابتدا کدهای داخل متد ‪ Main‬اجرا می شوند‪.‬‬
‫متد ‪ Main‬نقطه ‌‬
‫دانشکده فنی و حرفه‌ای قم‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫سبز رنگ استفاده نمود‪.‬‬
‫برای اجرای برنامه می توان ‌از دکمه ‪‌ F5‬و یا مثلث ‌‬
‫زمانی که بوسیله ‪ F5‬پروژه را اجرا می شود‪ ،‬مراحل ز ‌یر به ترتیب انجام می شوند ‪:‬‬
‫‪ )1‬ذخیره پروژه – ‪save‬‬
‫در فولدر‬
‫‪ )2‬کامپایل یا ‪ Build‬شدن پروژه که باعث می شود فایل ‪ exe‬پروژه که قابلیت اجرا دارد ‌‬
‫‪ bin>Debug‬ساخته شود‪.‬‬
‫‪ )3‬اجرا شدن پروژه‬
‫یکی ‌از ویژگی های ویژوال استودیو ‪ IntelliSense‬می باشد که ما را قادر می سازد به سرعت به کالس‬
‫ها‪ ،‬متدها و ویژگی ها دسترس ی پیدا کنیم‪ .‬زمانی که در محیط کدنویس ی حرفی را تایپ کنید‪،‬‬
‫‪ IntelliSense‬فعال می شود‪ .‬اگر بر روی گزینه مورد نظر لحظه ای مکث کنید‪ ،‬توضیحی در رابطه با‬
‫آن مشاهده خواهید کرد‪.‬‬
‫برای ظاهر شدن ‪ IntelliSense‬کافی است دکمه ترکیبی ‪ Ctrl + Space‬را فشار دهید‪.‬‬
‫دانشکده فنی و حرفه‌ای قم‬
‫‪‬‬
‫در کنسول‌ ‌از د ‌و دستور‌ )(‪ Write‬و )(‪ WriteLine‬استفاده می‬
‫برای چاپ اطالعات (‪ - string‬رشته) ‌‬
‫سطر جاری‌‬
‫شود‪ .‬تنها تفاوت میان این د ‌و دستور‌ این است که دستور‌ ‪ WriteLine‬عالوه ‌بر نمایش خروجی‪‌ ،‬‬
‫سطر بعدی عمل کند‪.‬‬
‫در ‌‬
‫را رد می کند ‌و دستور‌ چاپ بعدی می تواند ‌‬
‫)‪static void Main(string[] args‬‬
‫{‬
‫;)"‪Console.Write("Welcome to‬‬
‫;)"‪Console.WriteLine("C#‬‬
‫;)"!‪Console.WriteLine("Programming‬‬
‫}‬
‫‪‬‬
‫بیشتر موارد تبدیل‬
‫در ‌‬
‫اشکال مختلف این متدها برای انواع داده ها ‌از قبل تعریف شده اند بنابراین ‌‬
‫مقادیر به رشته ها قبل ‌از نوشتن آن ها الزم نیست‪.‬‬
‫‌‬
‫)‪static void Main(string[] args‬‬
‫{‬
‫;"‪string str = "advanced‬‬
‫;‪int number = 2‬‬
‫;)"‪Console.WriteLine("This is " + str +" programming "+ number + " class‬‬
‫}‬
‫‪9‬‬
‫دانشکده فنی و حرفه‌ای قم‬
‫توضیح‬
‫رشته کنترلی‬
‫‪\n‬‬
‫خط جدید‪ :‬مکان نما را به ابتدای خط بعد منتقل می کند‪.‬‬
‫‪\t‬‬
‫مکان نما را به ابتدای ‪ 8‬محل بعدی منتقل می کند‪.‬‬
‫‪\r‬‬
‫مکان نما را در اول سطر جاری قرار می دهد‪ .‬هر کاراکتری که بعد از این رشته کنترلی‬
‫قرار بگیرد‪ ،‬بر روی کاراکترهایی که قبال در آن خط نوشته شده است‪،‬‬
‫‪ overwrite‬می شود‪.‬‬
‫\\‬
‫عالمت \ را چاپ می کند‪.‬‬
‫”\‬
‫عالمت ” را چاپ می کند‪.‬‬
‫)‪static void Main(string[] args‬‬
‫{‬
‫;)""\!‪Console.WriteLine("Welcome\nto\tC#\n\"Programming‬‬
‫;)"‪Console.WriteLine("This is advanced \rprogramming class‬‬
‫}‬
‫‪10‬‬
‫دانشکده فنی و حرفه‌ای قم‬
‫‪‬‬
‫با استفاده ‌از دستور‌ )(‪ ReadLine‬می توان یک خط ‌از اطالعات را ‌از ورودی خواند‪ .‬به عبارت‬
‫فشار‬
‫در انتها دکمه ‪ Enter‬را ‌‬
‫صبر می کند تا کار ‌بر رشته ای ‌از کاراکترها را وارد کند ‌و ‌‬
‫دیگر این متد ‌‬
‫‌‬
‫دهد‪ .‬خروجی این دستور‌ به صورت ‪ string‬می باشد‪.‬‬
‫)‪static void Main(string[] args‬‬
‫{‬
‫;)" ‪Console.WriteLine("Please Enter your name:‬‬
‫;)(‪string str = Console.ReadLine‬‬
‫;)‪Console.WriteLine("Your name is: " + str‬‬
‫;)(‪Console.ReadLine‬‬
‫}‬
‫‪11‬‬
‫دانشکده فنی و حرفه‌ای قم‬
‫‪‬‬
‫‪‬‬
‫‪12‬‬
‫مقادیر مجاز‬
‫نوع‬
‫‪ -2147483647‬تا ‪2147483648‬‬
‫‪int‬‬
‫تا ‪ 7‬رقم دقت‬
‫‪float‬‬
‫تا ‪ 15‬رقم دقت‬
‫‪double‬‬
‫کاراکتر‬
‫‪char‬‬
‫رشته یا مجموعه ای از کاراکترها‬
‫‪string‬‬
‫‪ true‬یا ‪ false‬مقدار‬
‫‪bool‬‬
‫‪ : char‬کاراکترها باید داخل یک کوتیشن ساده قر ‌ار بگیرند‪ .‬مانند ‪‘a’ :‬‬
‫‪ : string‬یک رشته باید داخل دابل کوتیشن قر ‌ار بگیرد‪ .‬مانند ‪“program” :‬‬
‫دانشکده فنی و حرفه‌ای قم‬
.‫دیگر تبدیل می کند‬
‌ ‫مقادیر را ‌از نوعی به نوع‬
‌
‫ دارای متدهایی است که‬Convert ‫کالس‬

static void Main(string[] args)
{
double x = 9.99;
int convertedValue = Convert.ToInt32(x);
Console.WriteLine("Original value is: " + x);
Console.WriteLine("Converted value is: " + convertedValue);
{
‫دانشکده فنی و حرفه‌ای قم‬
13
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪14‬‬
‫ی را می تواند به عدد صحیح تبدیل کند‪.‬‬
‫در مثال ز ‌یر دستور‌ او ‌ل صحیح است زیرا عدد اعشار ‌‬
‫‌‬
‫نیز صحیح است زیرا رشته ”‪ “44‬قابل تبدیل به عدد ‪ 44‬می باشد‪.‬‬
‫دستور‌ دوم ‌‬
‫دستور‌ سوم خطا است زیرا رشته ”‪ “99.9‬قابل تبدیل به یک عدد صحیح نیست‪‌ .‬و نهایتا به وسیله دستور‌‬
‫)”‪ Convert.ToDouble(“99.9‬می تواند به عدد اعشاری‌ ‪ 99.9‬تبدیل شود‪.‬‬
‫دانشکده فنی و حرفه‌ای قم‬
‫‪15‬‬
‫‪‬‬
‫یکدیگر جمع کند ‌و‬
‫‌‬
‫برنامه ای بنویسید که د ‌و عدد ‌از ورودی دریافت کند‪ ،‬سپس این د ‌و عدد را با‬
‫در خروجی نمایش دهد‪.‬‬
‫نتیجه را ‌‬
‫‪‬‬
‫نکته ‪ :‬زمانی که ‌از تابع )‪ Convert.ToInt32(x‬استفاده می کنیم ‌و یک عدد ‌از کار ‌بر دریافت می‬
‫در زمان اجرا یک خطای منطقی رخ می دهد که‬
‫غیر صحیح را وارد کند‪‌ ،‬‬
‫مقدار ‌‬
‫‌‬
‫کنیم‪ ،‬اگر کار ‌بر یک‬
‫استثنا یا ‪ Exception‬نامیده می شود ‌و برنامه خاتمه می یابد‪.‬‬
‫دانشکده فنی و حرفه‌ای قم‬
static void Main(string[] args)
{
int number1; // declare first number to add
int number2; // declare second number to add
int sum; // declare sum of number1 and number2
Console.Write("Enter first integer: "); // prompt user read first number from user
number1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter second integer: "); // prompt user read second number from user
number2 = Convert.ToInt32(Console.ReadLine());
sum = number1 + number2; // add numbers
Console.WriteLine("Sum is: " + sum); // display sum
Console.ReadLine();
}
‫دانشکده فنی و حرفه‌ای قم‬
16