آموزش #C مقدماتی - آموزش الگوریتم - قسمت اول

نکته مهم: این مقاله به مرور زمان، ویرایش و یا تکمیل می‌شود!
در صورتی که با مشکل تایپی، دستوری و یا مفهومی در این مقاله برخورد کردید، از شما دوست عزیز و گرامی، صمیمانه تقاضا می‌کنم که اینجانب را مطلع کرده، تا نسبت به تصحیح و تکمیل آن، در اسرع وقت اقدام نمایم.
با کمال تشکر
داریوش تصدیقی
۰۹۱۲۱۰۸۷۴۶۱ - DariushT@GMail.com - https://WebsiteAnalytics.ir - کانال تلگرام: IranianExperts@
نسخه ۱.۰
تمامی آموزش‌های این سری، با ابزار Visual Studio 2019 و در محیط Console Application نوشته و اجرا می‌شود. نسخه Net Framework. نیز 4.8 انتخاب شده است، هر چند که نسخه Net Framework. در اجرای دستورات این سری مقالات هیچ تاثیری ندارد!
توصیه می‌گردد که بعد از مشاهده تمرین (سوال)، ابتدا سعی کنید که برنامه را با زبان برنامه‌نویسی #C نوشته و در صورتی که به مشکل خورده و یا ابهامی داشتید، سورس‌کدی را که ذیل تمرین (سوال) نوشته شده است، مشاهده نمایید!

تمرین شماره یک

برنامه‌ای بنویسید که اعداد صحیح از یک تا ده را بر روی صفحه نمایش، چاپ کند



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

namespace MY_APPLICATION
{
	internal static class Program
	{
		internal static void Main()
		{
			int i = 1;

			while (i <= 10)
			{
				System.Console.WriteLine(i);

				i = i + 1;
			}

			System.Console.Write(&quotPress [ENTER] To Exit... &quot);
			System.Console.ReadLine();
		}
	}
}

حال می‌خواهیم پاسخ را قدم به قدم بهبود ببخشیم...

قدم اول

به عنوان یک حرفه‌ای، هیچ‌گاه از متغیرهای بی‌معنی استفاده نمی‌کنیم! بلکه متغیرها را بامعنی و به طور کامل انتخاب می‌کنیم (یعنی مخفف نمی‌کنیم)! در مثال فوق، و در قدم اول به جای متغیر (i) از متغیری به نام (index) استفاده می‌کنیم.

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

namespace MY_APPLICATION
{
 	internal static class Program
 	{
 		internal static void Main()
 		{
 			int index = 1;
  			while (index <= 10)
 			{
 				System.Console.WriteLine(index);
  				index = index + 1;
 			}
  			System.Console.Write(&quotPress [ENTER] To Exit... &quot); 
			System.Console.ReadLine();
 		}
 	}
 }

قدم دوم

چهار عبارت ذیل، کاملا با هم معادل بوده، ولی عبارات سوم و چهارم، شیک‌تر و حرفه‌ای‌تر می‌باشند!

index = index + 1;
index += 1;
index++;
++index;

با توجه به مطلب فوق، پاسخ را تغییر می‌دهیم.

پاسخ سوم به تمرین شماره یک

namespace MY_APPLICATION
{
	internal static class Program
	{
		internal static void Main()
		{
			int index = 1;
			
			while (index <= 10)
			{
				System.Console.WriteLine(index);
				index++;
			}
			
			System.Console.Write(&quotPress [ENTER] To Exit... &quot);
			System.Console.ReadLine();
		}
	}
}

قدم سوم

به طور کلی، زمانی که می‌خواهیم چیزی را بشماریم! مثلا می‌خواهیم که ده‌بار اتفاقی بی‌افتد، بهتر است که از دستور for به جای دستور while استفاده نماییم.

دو مجموعه دستورات ذیل کاملا با هم معادل می‌باشند.

حالت اول

int index = 1;
while(index <= 10)
{
    // Do Something(s)!
    index++;
}

حالت دوم

for(int index = 1; index <= 10; index++)
{
    // Do Something(s)!
}

با توجه به نکات فوق، پاسخ را به شکل بهتری (شیک‌تری) می‌نویسیم.

پاسخ چهارم به تمرین شماره یک

namespace MY_APPLICATION
{
	internal static class Program
	{
		internal static void Main()
		{
			for (int index = 1; index <= 10; index++)
			{
				System.Console.WriteLine(index);
			}

			System.Console.Write(&quotPress [ENTER] To Exit... &quot);
			System.Console.ReadLine();
		}
	}
}

حال با عنایت به نکات فوق، تمرین‌های دیگری را مطرح می‌کنیم:

تمرین شماره دو

برنامه‌ای بنویسید که اعداد صحیح فرد از یک تا ده را بر روی صفحه نمایش، چاپ کند



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

namespace MY_APPLICATION
{
	internal static class Program
	{
		internal static void Main()
		{
			for (int index = 1; index <= 10; index += 2)
			{
				System.Console.WriteLine(index);
			}

			System.Console.Write(&quotPress [ENTER] To Exit... &quot);
			System.Console.ReadLine();
		}
	}
}

تمرین شماره سه

برنامه‌ای بنویسید که اعداد صحیح زوج از دو تا ده را بر روی صفحه نمایش، چاپ کند



پاسخ به تمرین شماره سه

namespace MY_APPLICATION
{
	internal static class Program
	{
		internal static void Main()
		{
			for (int index = 2; index <= 10; index += 2)
			{
				System.Console.WriteLine(index);
			}

			System.Console.Write(&quotPress [ENTER] To Exit... &quot);
			System.Console.ReadLine();
		}
	}
}

پایان