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

امیرحسین نائی | نائی وب

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

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

تو این آموزش میخواییم یه کد سی شارپ بنویسیم که سه تا مقدار 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

مدیر سایت

امیرحسین نائی | نائی وب

امیرحسین نائی هستم .
متولد سال 1379 ، عاشق برنامه نویسی ، مخصوصا اندروید و وب :)
مشتاق برای یادگیری بیشتر ...
خستگی ناپذیر و بدون توقف !!! (بیشتر ...)

ارسال نظر

account_circle
mail
security
متن نظر :