سیب بخورید و سی شارپ یاد بگیرید

 Eat Apple and Learn c#

بفرمایید سیب

به سی شارپ خوش آمدید.

 


این مقاله را به زبان انگلیسی برای دانشجویان رشته بیزنیس دانشگاه اولوستبری نوشته بودم و اکنون آنرا به زبان پارسی برای شما عزیزان در سایت قرار دادم.

 


لطفاً پیش از خواندن این مقاله آموزشی یک سیب بردارید و پس از خواندن مقدمه درحین مطالعه، آن را میل کنید.

 

مقدمه

ما برای تولید نرم افزار به چندین نگرش و ابزار احتیاج داریم:

  • توانایی تبدیل مسائل پیرامون و جهان واقعی به آنچه کامپیوتر می فهمد.

 

  • نگاه تحلیلی با یک دیدگاه فلسفی مشترک بین انسان و کامپیوتر که شی گرا و مهندسی نرم افزار این نقطه را پوشش می دهد.

 

  • تکنیک ها و تکنولوژی های مختلف برای تولید نرم افزار

 


توجه داشته باشید: با انجام ماژول ۷ در طرح کویل ما قصد داریم در گزینه یک به صورت جهانی کار کنیم و ببینیم دیدگاه دانشجویان سراسر دنیا به چه شکلی خواهد بود.



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

مسئله این بود که اغلب افراد برنامه نویسی را وابسته به داشتن پایه قوی در خصوص ریاضیات می دانستند و این در حالی بود که من یکی از برنامه نویسان شهرمان بودم و هیچ وقت ریاضی ام خوب نبود.

دکتر ابراهیمی به این مسئله اشاره کردند که ابداً برنامه نویسی به داشتن تبهر در ریاضی احتیاج ندارد و برنامه نویسی در واقع شبیه سازی عمکرد ذهنی و مغزی ما می باشد.

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

آموزش برنامه نویسی سی شارپ:


با این نگاه با یک مثال ساده  برنامه نویسی سی شارپ
 را به طور کوتاه به شما  آموزش خواهم داد:

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

عمل خوردن سیب  را تصور کنید :

مقدمات سی شارپ


سیب
را به عنوان ورودی می گیرد. صحت سلامت آن را تست می کند در صورت سالم بودن مرتباً آن را می جود و بعد کار خوردن تمام می شود.

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

به عنوان مثال تابع Main یا همان تابع اصلی بیانگر فعل اصلی یا کاری است که هدف برنامه قرار گرفته است و آنرا  انجام می دهد.

به عبارتی دیگر تابع Main بیانگر فعل اصلی است که قرار است از دنیای واقعی در دنیای کامپیوتر انجام شود. و این کدهای مرتبط و تصمیم گیرنده و تکرار شونده داخلی آن است که مشخص می کند فعل اصلی قرار است چه کاری انجام دهد. مثلاً در اینجا فرض می کنیم فعل اصلی در دنیای واقعی خوردن و در دنیای برنامه نویسی تابع Main  است.

در ادامه  برنامه نویسی با زبان سی شارپ را ادامه می دهیم:

تابع اصلی در سی شارپ



برای آنکه برنامه اجراشده بلافاصله بسته نشود و منتظر کاربر بماند تا یک چیز به عنوان ورودی دریافت کند از قطعه کد زیر استفاده می کنیم:

 

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

در این صورت برنامه به صورت زیر نمایش داده خواهد شد:

برنامه نویسی کنسول در سی شارپ



همانطور که در دنیای واقعی خوردن باورودی گرفتن سیب  کار خود را انجام می دهد در دنیای برنامه نویسی نیز ما از کاربران خود ورودی دریافت می کنیم.

جهت گرفتن ورودی از دستور زیر استفاده می کنیم:

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

 

متغییرها در سی شارپ:

نکته:  جالب این هست که درMicrosoft Visual Studio  این دستور برای زبان های  C++ ، C# ، VB.NET قابل استفاده است .

تعریف جایی برای نگهداری داده ها همانطور که در دنیای واقعی هر چیزی در جایی قرار می گیرد و از جایی به جای دیگری منتقل می شود ما نیز در دنیای برنامه نویسی که هر چیزی یک داده می باشد را در جایی به اسم متغیر قرار می دهیم این اسم نیز جالب است که بعدا بیشتر توضیح خواهم داد

به عنوان مثال سیب در دهان قرار می گیرد و دهان متغیری است که سیب در آن ورودی می شود:

متغییرها در سی شارپ

 

حال برای آنکه  متغیری تعریف کنیم به این نکته باید توجه داشته باشیم که هر متغیر در برگیرنده داده باید با توجه به نوع داده تعریف شود مثل لیوان که برای نگهداری آب، جعبه پیتزا برای پیتزا  و دهان برای نگهداری غذا ها تعریف شده است.

ما در دنیای برنامه نویسی جایی برای ذخیره اعداد از نوع های عددی و  برای متن ها  نوع های رشته ای را می سازیم، البته نوع های دیگری نیز وجود دارند که می توانید بعدا مطالعه کنید:

برای تعریف این متغیرهای از شکل زیر استفاده می کنیم:

 DataType Variable;

مثال برای اعداد:

 

 

متغییر عددی در سی شارپ

برای متن ها:

 

متن در سی شارپ

پس تا الان دو چیز برای برنامه نویسی سی شارپ یاد گرفتیم:

  • دستور ورودی گرفتن
  • جایی برای نگهداری داده

 

 

در مثال زیر داده را از ورودی گرفته و در متغیر ذخیره می کنیم:

کنسول نویسی در سی شارپ

برنامه را  اجرا می کنیم و فرض می کنیم که کاربر مقدار Hi را وارد نموده است : 

مثال سی شارپ

 

تبدیل نوع در سی شارپ:

اینکه اسم جاهایی که برای نگهداری داده تعریف می کنیم متغیر است به این دلیل می باشد که دهان یکبار تعریف شده که نوع آن غذاهای مختلفی را می گیرد .به عبارتی دیگر ما متغیرها را تعریف می کنیم و در آن ها هر بار یک داده که می خواهیم قرار می دهیم و بار بعدی می تواند تغییر کند. مانند اینکه ما می توانیم هر بار یک غذای جدید را وارد دهان کنیم. اما همیشه فقط یک نوع داده را می گیرد و متغیری از نوع عددی داده متنی را نمی تواند بگیرد همانطور که متغیر دهان نیز غیر از داده های خوراکی را نمی تواند ذخیره کند.

 

گاهی ما نمی توانیم مستقیما ورودی بگیریم و ابتدا باید آن ورودی را به نوعی تبدیل  کنیم که قابل نگهداری در جای خودش باشد مثلا در مواقعی افراد نمی توانند سیب خام را بخورند و ما ابتدا آن را تبدیل به آب سیب(آبیموه) می کنیم و بعد آن را در هان قرار می دهیم. این نوع تبدیلات در دنیای برنامه نویسی سی شارپ نیز وجود دارد و در C# با استفاده از  یک ابزار آماده(کلاس) به اسم Convert  اینکار انجام می شود:

 

تبدیل نوع در سی شارپ

 

نکته: تمام داده هایی که از طریق دستور ()Console.ReadLine وارد کامپیوتر می شوند از نوع  String هستند بنابراین اگر ما متغیری از نوع عددی داشتیم و داده ای از ورودی را خواستیم در آن قرار دهیم باید ابتدا آن را تبدیل به عدد کنیم و پس از آن در متغیر قرار دهیم. مثال:

تبدیل عددی سی شارپ

حال با داشتن سیب یا متن hi یا حتی عدد آن است که عمل یا عملیاتی پشت سرهم برای انجام فعل انجام شود.

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

 

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

 


تصمیم در سی شارپ:

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

مثال :

ما در برنامه فقط قرار است روی اعداد دو رقمی کار کنیم و نه بیشتر و اگر غیر از این اعداد وارد شود پیغام خطایی به کاربر نشان داده می شود که داده ی درستی وارد نرم افزار نشده است:

شرط های سی شارپ

 

 

برای نمایش و خروجی دادن از دستورConsole.Write استفاده می کنیم و باز هم نکته جالب این هست که این دستور در تمام زبان های  C++، C# ، VB.NET در محیط Microsoft Visual Studio  یکسان است.

 

تکرارها و حلقه ها در برنامه نویسی سی شارپ:

نکته ی جالبی وجود دارد که شاید به آن توجه نکرده باشیم و آن این است که اکثر مواقع یک عمل یکبار انجام نمی شود بلکه چندین بار انجام می شود تا یک فعل به سرانجام برسد مثلاً  ما یک بار عمل جویدن را انجام نمی دهیم بلکه چندین بار اینکار را انجام می دهیم تا عمل خوردن انجام شود.

 

حلقه ها در سی شارپ

 

 

اما سوالی مطرح می شود: ما تا کی  این عمل را انجام می دهیم؟

پاسخ این است: تا زمانی که به شرایط مطلوب برسیم و شناخت شرط مطلوب نیز مهم است. مثلاً ما سیب را تا زمانی می جویم که قابل قورت دادن باشد. حال در برنامه نویسی تصور کنید ما تا زمانی عددی را دو برابر می کنیم که آن عدد دوبرابر شده کمتر از ۵۰۰۰ باشد. برای تکرار یک عمل تا زمانی که شرط از بین برود به شکل زیر عمل می کنیم:

 

(while (a*a <= 5000

}

;a=a*a

{

مثلاً اگر عدد ۳ را وارد کنید آنقدر دو برابر می شود تا به عدد ۸۱ برسد.

این قطعه کد بین C# و C++ مشترک است.

آنقدر سیب جویده می شود که قابل قورت دادن شود.

برخی از تکرارها تعدادشان مشخص است و نیازی به تکراری تا نقض شرط ندارند مثلاً ما می دانیم که برای خوردن سیب  با سه بار جویدن، قابل قورت دادن است.

برای تکرارهایی با تعداد دفعات معین از دستور زیر استفاده می شود:

(++for (int i = 1; i < 3; i

}

;a=a*a

 

در انتها یاد آوری می کنم:

  • افعال هستند که در دنیا کار انجام می دهند و تابع main یک فعل است مثل فعل خوردن در دنیای واقعی.

 

  • ما سیب را گاز می زنیم و ورودی می کنیم در برنامه نویسی readline() می کنیم.

 

  • متغیرهایی مانند a مانند دهان جهت نگهداری داده به کار می روند.

  • ما در دنیای واقعی بدون تصمیم پیوسته کاری را انجام نمی دهیم بلکه در جاهایی تصمیم می گیریم پس در دنیای برنامه نویسی نیز همین کار را بوسیله دستور {}()If انجام می دهیم.

  • عملیاتی مانند a*a مانند جویدن است و ما به تعداد نامحدودی عمل می توانیم برای انجام فعل ها انجام دهیم.

 

 

در ادامه با همین نگاه آسان می خواهیم سیستم Payroll  را انجام دهیم.

 

فیلم های ارزشمندی در خصوص تطبیق دنیای واقعی با دنیای برنامه نویسی برای مباحثی چون شی گرا و تولید نرم افزارهای تجاری تهیه کرده ایم. این فیلم ها که با الهام از جهان واقعی و جهان طبیعت  و همچنین فضاهای واقعی کسب و کار آموزش برنامه نویسی داده می شود که در ادامه با زیر نویس و یا ترجمه  ارسال می کنیم.

درباره نویسنده

مطالب مرتبط

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود رایگان
فایل ویدئویی خاطرات نرم افزارهای 14 سال قبل استاد مدحج + پروژه عظیم کدهای سایت کد تجاری
دانلود رایگان
فایل صوتی راز کیفیت محصولات اپل با شی گرا
دانلود رایگان
مالکیت فکری نرم افزار در داخل تیم تولید و خارج از آن
دانلود رایگان
نگاه شی گرا با استفاده از مکانیزم طبیعی ذهن در تولید نرم افزار
دانلود رایگان
گزارش سازی با linqtosql و stimulsoft