لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 142
آغاز کار با C#
در این درس با ارائه چند برنامه و مثال ساده به طرز کار زبان C# میپردازیم. اهداف این درس عبارتند از :
فهم ساختار پایهای یک برنامه C#
آشنایی با Namespace
آشنایی با کلاس (Class)
آشنایی با عملکرد متد Main()
آشنایی با ورودی/خروجی یا I/O
لیست 1-1، یک برنامة ساده با عنوان Welcome در زبان C#
// Namespace اعلان
using System;
// کلاس آغازین برنامه
class WelcomeCSS
{
// آغاز کار اجرای برنامه
public static void Main()
{
// نوشتن متن در خروجی
Console.WriteLine("Welcome to the C# Persian Tutorial!");
}
}
برنامة لیست 1-1 دارای 4 پارامتر اصلی است، اعلان Namespace، کلاس، متد Main() و یک دستور زبان C#.
در همین جا باید به یک نکته اشاره کنم، برای زبان C# همانند بیشتر زبانهای برنامهسازی دو نوع کامپایلر وجود دارد. یک نوع کامپایلر که به کامپایلر Command Line معروف است و نوع دیگر کامپایلر Visual است. کامپایلرهای Command Line محیطی شبیه به محیط DOS دارند و با دادن یک سری دستورات به اجرا در میآیند. کامپایلرهای Visual محیطی همانند ویندوز دارند که با دارا بودن محیط گرافیکی و ابزارهای خاص، برنامهنویس را در امر برنامهسازی کمک میکنند. از نمونههای هر یک از کامپایلرها، میتوان به Microsoft C# Command Line Compiler که یک کامپایلر Command Line و Microsoft Visual C# که یک کامپایلر Visual است، اشاره کرد. البته در حال حاضر بیشتر از کامپایلرهای ویژوال استفاده میشود.
من سعی میکنم در آینده به توضیح محیط Visual C# و Visual Studio.Net بپردازم. اما فعلاً برای اجرای برنامهها میتوانید از Visual Studio.Net استفاده کنید. پس از نصب آن، وارد محیط C# شده و در قسمت انتخاب برنامة جدید گزینة Console را جهت اجرای برنامهها انتخاب نمایید.
برای این درس، فعلاً به توضیحات بیشتر دربارة محیط ویژوال نمیپردازم اما در آینده به توضیح کامل محیط Visual Studio.Net خواهم پرداخت.
برای اجرای کد بالا در صورتیکه از محیط ویژوال استفاده میکنید باید بر روی دکمة Run کلیک کنید و در صورتیکه کامپایلر Command Line دارید با دستور زیر میتوانید برنامه را اجرا کنید : csc Welcome.cs
پس از اجرای برنامه، کامپایلر برای شما یک فایل قابل اجرا(Executable) تحت نام Welcome.exe تولید میکند.
نکته : در صورتیکه از Visual Studio.Net(VS.Net) استفاده کنید، پس از اجرای برنامه، یک صفحه برای نمایش خروجی به سرعت باز شده و بسته میشود و شما قادر به دیدن خروخی نخواهید بود. برای اینکه بتوانید خروجی برنامه را ببینید، در انتهای برنامه دستور زیر را وارد نمایید :
Console.ReadLine();
استفاده از این دستور باعث میشود تا برنامه منتظر دریافت یک ورودی از کاربر بماند، که در این حالت شما میتوانید خروجی برنامه خود را دیده و سپس با زدن کلید Enter برنامه را خاتمه دهید.
نکتة دیگری که در مورد زبان برنامهنویسی C# باید مورد توجه قرار دهید اینست که این زبان Case Sensitive است، بدین معنا که به حروف کوچک و بزرگ حساس است یعنی برای مثال ReadLine با readLine متفاوت است به طوریکه اولی جزو دستورات زبان C# و دومی به عنوان یک نام برای متغیر یا یک تابع که از طرف کاربر تعریف شده است در نظر گرفته میشود.
اعلان Namespace به سیستم اعلان مینماید که شما از توابع کتابخانهای System جهت اجرای برنامهها خود استفاده مینمایید. دستوراتی مانند WriteLine و ReadLine جزو توابع کتابخانهای System میباشند. اغلب دستورات و توابع مهم و کلیدی استفاده از کنسول ورودی/خروجی در این کتابخانه میباشد. در صورتیکه در ابتدای برنامه از using System استفاده نکنید، یابد در ابتدای هر یک از دستورات برنامه که مربوط این کتابخانه است، از کلمة System استفاده نمایید. بعنوان مثال در صورت عدم استفاده از using System باید از دستور System.Console.WriteLine() به جای Console.WriteLine() استفاده نمایید.
تعریف کلاس،Class Welcome CSS، شامل تعریف دادهها(متغیرها) و متدها جهت اجرای برنامه است. یک کلاس، جزو معدود عناصر زبان C# است که بوسیلة آن میتوان به ایجاد یک شی (Object) از قبیل واسط ها (Interfaces) و ساختارها(Structures)، پرداخت. توضیحات بیشتر در این زمینه در درسهای آینده ذکر میشوند. در این برنامه کلاس هیچ داده و متغیری ندارد و تنها شامل یک متد است. این متد، رفتار(Behavior) این کلاس را مشخص میکند.
متد درون این کلاس بیان میکند که این کلاس چه کاری را پس از اجرا شدن انجام خواهد داد. کلمة کلیدی Main() که نام متد این کلاس نیز میباشد جزو کلمات رزرو شده زبان C# است که مشخص میکند برنامه از کجا باید آغاز به کار نماید. وجود متد Main() در تمامی برنامههای اجرایی ضروری است. در صورتیکه یک برنامه حاوی متد Main() نباشد بعنوان توابع سیستمی همانند dll های ویندوز در نظر گرفته میشود.
قبل از کلمة Main() کلمه دیگری با عنوان static آورده شده است. این کلمه در اصطلاح Modifier میگویند. استفاده از static برای متد Main() بیان میدارد که این متد تنها در در همین کلاس قابل اجراست و هیچ نمونهای (Instance) دیگری از روی آن قابل اجرا نمیباشد. استفاده از static برای متد Main() الزامی است زیرا در ابتدای آغاز برنامه هیچ نمونهای از هیچ کلاس و شیای موجود نمیباشد و تنها متد Main() است که اجرا میشود. (در صورتیکه با برخی اصطلاحات این متن از قبیل کلاس، شی، متد و نمونه آشنایی ندارید، این به دلیل آنست که این مفاهیم جزو مفاهیم اولیة برنامهنویسی شیگرا (OOP) هستند. سعی میکنم در درسهای آینده به توضیح این مفاهیم نیز بپردازم، ولی فعلاً در همین حد کافی میباشد.)
هر متد باید دارای یک مقدار بازگشتی باشد، یعنی باید مقداری را به سیستم بازگرداند، در این مثال نوع بازگشتی void تعزیف شده است که نشان دهنده آنست که این متد هیچ مقداری را باز نمیگرداند یا به عبارت بهتر خروجی ندارد. همچنین هر متد میتواند دارای پارامترهایی نیز باشد که لیست پارامترهای آن در داخل پرانتزهای جلوی آن قرار میگیرد. برای سادگی کار در این برنامه متد ما دارای هیچ پارامتری نیست ولی در ادامة همین درس به معرفی پارامترها نیز میپردازم.
متد Main() رفتار و عمل خود را بوسیله Console.WriteLine(…) مشخص مینماید. Console کلاسی در System است و WriteLine() متدی در کلاس Console. در زبان C# از اپراتور "." (نقطه dot) جهت جداسازی زیرروتینها و زیرقسمتها استفاده میکنیم. همانطور که ملاحظه میکنید چون WriteLine() یک متد درون کلاس Console است به همین جهت از "." جهت جداسازی آن استفاده کردهایم.
در زبان C#، برای قرار دادن توضیحات در کد برنامه از // استفاده میکنیم. بدین معنا که کامپایلر در هنگام اجرای برنامه توجهی به این توضیحات نمیکند و این توضیحات تنها به منظور بالا بردن خوانایی متن و جهت و کمک به فهم بهتر برنامه قرار میگیرند. استفاده از // تنها در مواردی کاربرد دارد که توضیحات شما بیش از یک خط نباشد. در صورت تمایل برای استفاده از توضیحات چند خطی باید در ابتدای شروع توضیحات از /* و در انتها آن از */ استفاده نمایید. در این حالت تمامی مطالبی که بین /* */ قرار میگیرند به عنوان توضیحات (Comments) در نظر گرفته میشوند.
تمامی دستورات (Statements) با ";"، سمی کولون، پایان مییابند. کلاسها و متدها با } آغاز شده و با { خاتمه مییابند. تمامی دستورات بین { } یک بلوک را میسازند.
بسیاری از برنامهها از کاربر ورودی دریافت میکنند. انواع گوناگونی از این ورودیها میتوانند به عنوان پارامتری برای متد Main() در نظر گرفته شوند. لیست 2-1 برنامهای را نشان میدهد نام کاربر را از ورودی دریافت کرده و آن را بر روی صفحه نمایش میدهد. این ورودی به صورت پارامتری برای متد Main() در نظر گرفته شده است.
لیست 2-1 : برنامهای که ورودی را از کاربر، بعنوان پارامتر Main()، دریافت میکند.
// Namespace اعلان
using System;
// کلاس آغازین برنامه
class NamedWelcome
{
// آغاز اجرا برنامه
public static void Main(string[] args)
{
// نمایش بر روی صفحه
Console.WriteLine("Hello, {0}!", args[0]);
Console.WriteLine("Welcome to the C# Persian Tutorial!");
}
}
توجه داشته باشید که این برنامه، ورودی را به صورت Command-Line دریافت میکند و در هنگام اجرای برنامه باید ورودی را در Command-Line وارد نمایید. در صورتیکه ورودی را وارد ننمایید برنامه دچار مشکل شده و متوقف خواهد شد.
همان طور که در لیست 2-1 مشاهده مینمایید، پارامتر متد Main() با عنوان args مشخص شده است. با استفاده از این نام در داخل متد میتوان آن استفاده نمود. نوع این پارامتر از نوع آرایهای از نوع رشته (string[]) در نظر گرفته شده است. انواع(types) و آرایهها را در درسهای بعدی بررسی میکنیم. فعلاً بدانید که آرایه رشتهای جهت نگهداری چندین کاراکتر مورد استفاده قرار میگیرد. [] مشخص کننده آرایه هستند که مانند یک لیست عمل میکند.
همانطور که ملاحظه میکنید در این برنامه دو دستور Console.WriteLine(…) وجود دارد که اولین دستور مقداری با دستور دوم متفاوت است. همانطور که مشاهده میکنید داخل دستور Console.WriteLine(…) عبارتی به شکل {0} وجود دارد. این آرگومان، نشان میدهد که به جای آن چه مقداری باید نمایش داده شود که در این جا args[0] نشان داده میشود. عبارتی که داخل " " قرار دارد عیناً در خروجی نمایش داده میشود، به جای آرگومان {0}، مقداری که پس از " قرار دارد، قرار میگیرد. حال به آرگومان بعدی یعنی args[0] توجه کنید. مقدار صفر داخل [] نشان میدهد که کدام عنصر از آرایه مورد استفاده است. در C# اندیس آرایه از صفر شروع میشود به همین جهت برای دسترسی به اولین عنصر آرایه باید از اندیس صفر استفاده کنیم.(همانطور که قبلاً نیز کفتم آرایهها را در درسهای آینده توضیح خواهم داد، هدف از این درس تنها آشنایی با C# است.!)
مجدداً به آرگومان {0} بازگردیم. این آرگومان نشان می دهد که یک مقدار باید در رشته خروجی قرار گیرد، این مقدار همان args[0] است. اگر شما این برنامه را از طریق Command-Line اجرا نمایید خروجی شبیه به زیر خواهید گرفت :
>Hello!, Meysam!
>Welcome to C# Persian Tutorial!
همان گونه که میبینید، پس از اجرای برنامه نام شما که از طریق Command-Line آنرا وارد نمودهاید در خروجی ظاهر میشود. استفاده از آرگومان {n}، که در آن n یک مقدار عددی است، جهت فرمت دادن به متن خروجی است که بر روی صفحه به نمایش در میآید. مقدار n از صفر آغاز شده و به ترتیب افزایش میباید. به مثال زیر توجه کنید :
Console.WriteLine("Hello! ,{0} ,{1}, {2}",args[0],args[1],args[2]);
این خط از برنامه سه مقدار args[0],args[1],args[2] را در خروجی به ترتیب نمایش میدهد. ملاحظه مینمایید که چون 3 مقدار را میخواهیم نمایش دهیم، سه بار از آرگومان
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 24 صفحه
قسمتی از متن .doc :
توابع :
دربرنامه های طولانی وپیچیده که شامل چندین بخش منطقی ومستقل از هم هستند ، بهتر است برای هرقسمت منطقی ، برنامه جداگانه ای نوشته شود .
برنامه هایی که برای هر یک از بخش نوشته می شود ، تابع نام دارد درواقع تابع ، برنامه ای است که برای حل بخشی از مسئله نوشته می شود .
توابع کتابخانه ای :
تعدادی از توابع که دراغلب برنامه ها مورد استفاده قرارمی گیرند و کاربرد زیادی دارند ، از قبل نوشته شده ، به همراه کامپایلر C++ ارائه می شوند که به آنهاتوابع کتابخانه ای گویند مثل تابع clrsc() که صفحه نمایش را پاک می کند .
برحسب ضرورت می توان توابعی را بنویسید ودر برنامه مورد استفاده قرار داد .
بااستفاده از توابع می توان برنامه های ساخت یافته نوشت وظایف این نوع برنامه ها توسط بخش های مستقلی که تشکیل دهنده برنامه اند انجام می شود .
این بخش ها ی مستقل همان توابع هستند امتیازات برنامه نویسی ساخت یافته عبارتند از 1- نوشتن برنامه های ساخت یافته آسان است 2- همکاری بین افراد رافراهم می کند 3- اشکال زدایی برنامه های ساخت یافته ساده تر است 4- برنامه نویس ساخت یافته موجب صرفه جویی در وقت می شود .
نوشتن تابع
برای نوشتن تابع باید اهداف تابع مشخص باشد تابع چه وظیفه ای به عهده دارد ،ورودی های تابع چیست ، وخروجی های تابع کدامند با دانستن این موارد نوشتن تابع چندان دشوار نیست .
هر تابع دارای سه جنبه است ،1- جنبه تعریف تابع : که مجموع ای از دستورات است که عملکرد تابع را مشخص می کند 2- جنبه فراخوانی تابع دستوری است که تابع را فراخوانی می کندفراخوانی تابع بانام آن انجام می شود 3- جنبه اعلان .
نکاتی درمورد نوشتن تابع :
1- ابتدا بدون پرداختن به جزئیات پیاده سازی توابع ، آرگومانها ونتیجه ای را که ازتابع انتظار دارید ،مشخص کرده ،برنامه اصلی را بنویسید به عبارت دیگر درقدم اول لازم نیست با جزئیات پیاده سازی تابع بپردازید پس ازنوشتن برنامه اصلی ، توابع دیگر را بنویسید 2- توابع را طوری طراحی وپیاده سازی کنید که هرتابع فقط به آنچه که نیاز دارد دسترسی داشته باشد وبقیه قسمتهای برنامه وسایر اطلاعات توسط توابع غیرمرتبط قابل دستیابی نباشد این موضوع را پنهان سازی اطلاعات گویند برای این منظور ، هرتابع باید یک نقطه ورود ویک نقطه خروج داشته باشد .
3- برای ارتباط بین توابع ، ازآرگومان ها وپارامترها استفاده کنید .
چگونگی کار تابع :
وقتی تابعی ،توسط تابع دیگری فراخوانی می شود ، دستورات آن تابع اجرا می شوند پس از اجرای دستورات تابع ،کنترل اجرای برنامه ، به برنامه فراخوانی بر می گردد ، پس ازبرگشت ازتابع فراخوانی شده ، اولین دستور بعداز فراخوانی تابع ( درتابع فراخوانی ) اجرامی شود .
روش های ارسال پارامترها به توابع :
پارامترها را به دوطریق می توان ازتابع فراخوانی شونده ارسال کرد . این دوروش عبارت اند از 1- روش فراخوانی بامقدار 2- روش فراخوانی با ارجاع .
روش فراخوانی ، تعداد مقادیری رامشخص می کندکه توابع فراخوانی شونده می توانند بر گردانند در روش فراخوانی بامقدار ، دو دسته توابع می توانند وجود داشته باشد 1- توابعی که هیچ مقداری رابر نمی گردانند 2- توابعی که فقط یک مقدار را برمی گردانند اما در روش فراخوانی باارجاع توابع می توانند چندین مقدار را به تابع فراخوان برگردانند .
توابعی که هیچ مقداری را برنمی گردانند :
ممکن است در برنامه ای
توابعی که هیچ مقداری را بر نمی گردانند
ممکن است دربرنامه از توابعی استفاده کنیم که آن توابع پس از فراخوانی ، عملیات مورد نظر را انجام دهند و خروجی های مورد انتظار راتولید وچاپ نمایند وهیچ مقداری را به تابع فراخوان تحویل ندهند . دربسیاری از مسئله هایی که با کامپیوتر حل می شوند ، این گونه توابع به چشم می خورند .
توابعی که یک مقدار را بر می گردانند
در بسیاری از مسئله هایی که توسط کامپیوتر حل می شوند ، نیاز به نوشتن توابعی است که یک مقدار را بر می گردانند .
مثل تابع Sin () که سینوس یک زاویه رابر می گرداند . اینگونه ، توابع کاربردهای فراوانی دارند . برای نوشتن اینگونه توابع ، نوع آنها رابا ید در الگوی تابع وعنوان تابع مشخص کرد برای برگرداندن مقداری توسط تابع ، ازدستور return به صورت های زیر استفاده میشود :
،(> عبارت <) return
؛ >عبارت< return
تفاوتی بین دورش کاربرد return وجودندارد مقداری که توسط دستور returnبرگشت داده می شود درنام تابع قرارمی گیرددربرنامه فراخوان ، می توان نام تابع را به متغیری نسبت داد وازمحتویات آن استفاده کرد. به عنوان مثال اگر ، f1() یک تابع از نوع x,int متغیری از نوع int باشد ، دستورزیر ، تابع f1() رافراخوانی کرده ، مقداری را که توسط دستور return در نام تابع قرارمی گیرد ، در x قرار می دهد .
بازگشتی
بازگشتی به مفهومی گفته می شود که در آن ، تابعی خودش را فراخوانی می کند . توابع می توانند به طور مستقیم یا غیر مستقیم خودشان رافراخوانی کنند . درروش مستقیم ، یکی ازدستورات تابع ، فراخوانی خودش است در روش غیر مستقیم ، تابعی مثل f1() تابع f2() رافراخوانی می کند وتابع f2() نیز به نوبه خود تابع f1() را فرا خوانی می نماید برای ایجاد بازگشتی ، الگوریتمی که توسط تابع پیاده سازی می شود ، باید خصوصیت بازگشتی داشته باشد .
طرح کلی الگوریتم های بازگشتی به صورت زیر است :
یک یا چند حالت ، که در آن ، تابع وظیفه خودش را به صورت بازگشتی انجام می دهد . یعنی این حالت ها خاصیت بازگشتنی دارند .
یک یا چندحالت که در آن ، تابع وظیفه خودش را بدون فراخوانی بازگشتنی انجام می دهد . این حالت را حالت توقف گویند .
اغلب با استفاده از یک دستور if مشخص می شود که کدام یک از این حالت ها باید انجام شوندبرای این که فراخوانی های بازگشتی به اتمام برسد . باید حالت توقف اتفاق بیفتد . یعنی هر فراخوانی تابع ، سرانجام باید به حالت توقف ختم شود ، در غیر این صورت ، فراخوانی تابع خاتمه نمی یابد .