امیرحسین نائی | امیر اچ ان

حل معادله درجه دو (سی شارپ)

حل معادله درجه دو (سی شارپ)

تو این آموزش میخواییم یه کد سی شارپ بنویسیم که سه تا مقدار a و b و c مربوط به معادله درجه دو رو دریافت کنه و با روش دلتا حلش کنه و جواب رو نمایش بده !

بسیار خب !
من این کد رو نوشتم و حالا میخواییم خط به خط با هم بررسیش کنیم .

	
	using System;

	namespace naeiweb
	{
		class Program
		{
			static void Main(string[] args)
			{
				amir();
			}

			static void amir()
			{
				System.Console.Write("Please Enter a : ");
				int a = int.Parse(System.Console.ReadLine());
				System.Console.Write("Please Enter b : ");
				int b = int.Parse(System.Console.ReadLine());
				System.Console.Write("Please Enter c : ");
				int c = int.Parse(System.Console.ReadLine());

				int delta = (b * b) - (4 * a * c);

				if (delta > 0)
				{
					double x1 = (-b + Math.Sqrt(delta)) / (2 * a);
					double x2 = (-b - Math.Sqrt(delta)) / (2 * a);
					System.Console.WriteLine("x1 = " + x1 + "\nx2 = " + x2);

				} else if (delta == 0)
				{

					double x = (-b + Math.Sqrt(delta)) / (2 * a);
					System.Console.WriteLine("x = " + x);

				} else 
				{
					System.Console.WriteLine("No Answer");
				}

				amir();

			}
		}
	}

	

کد بالا ، کد نهایی و کامل است که در ادامه بررسیش میکنیم.

من تو متد main کد بالا اومدم تابع amir رو فراخوانی کردم .
تو تابع امیر اولین کاری که میکنیم اینه که سه تا مقدار a و b و c معادله رو که میخواستیم از کاربر درخواست میکنیم .

	
	System.Console.Write("Please Enter a : ");
	int a = int.Parse(System.Console.ReadLine());
	System.Console.Write("Please Enter b : ");
	int b = int.Parse(System.Console.ReadLine());
	System.Console.Write("Please Enter c : ");
	int c = int.Parse(System.Console.ReadLine());
	

حالا دلتا رو بدست میاریم. (طبق فرمولی که بلدیم)
بعد از اینکه دلتا رو بدست آوردیم ، چک میکنیم که اگر دلتا عددی مثبت بود بخش زیر اجرا شود زیرا که اگر دلتا مثبت باشد معادله دو جواب دارد .
در این بخش طبق فرمولی که بلدیم میاییم x هارو پیدا میکنیم و در کنسول چاپ میکنیم.

	
	double x1 = (-b + Math.Sqrt(delta)) / (2 * a);
	double x2 = (-b - Math.Sqrt(delta)) / (2 * a);
	System.Console.WriteLine("x1 = " + x1 + "\nx2 = " + x2);
	

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

	
	double x = (-b + Math.Sqrt(delta)) / (2 * a);
	System.Console.WriteLine("x = " + x);
	

بعد از کد بالا هم تعریف کردیم که اگر دلتا منفی بود عبارت «بدون جواب» به انگلیسی چاپ شود. زیرا که اگر دلتا منفی باشد معادله هیچ جوابی ندارد.
در آخر هم دوباره تابع امیر رو فراخوانی میکنیم تا دوباره مراحل تکرار شود.


تاریح ارسال/ویرایش پست : 1396/11/30

مدیر سایت

امیرحسین نائی | امیر اچ ان

امیرحسین نائی (amirhn - امیر اچ ان) هستم.
متولد 1379 عاشق❤️ برنامه نویسی اندروید و بک اند 💪
از 15 سالگی یادگیری برنامه نویسی رو شروع کردم
و تا امروز همچنان درحال یادگیری هستم .
روز به روز بیشتر عاشق برنامه نویسی میشم و هرگز برام خسته کننده نمیشه !!!

ارسال نظر

account_circle
mail
security
متن نظر :