Amin Company
Amin Company
خواندن ۳ دقیقه·۶ سال پیش

برنامه محاسبه ریشه های معادله درجه ۲ در جاوا

در دوران دبیرستان و در درس ریاضیات بارها به این نیاز پیدا کرده اید که ریشه یک معادله درجه ۲ به شکل ax^2 + bx + c = 0 را محاسبه کنید. در این مقاله قصد داریم که برنامه ای بنویسیم که ریشه های یک معادله درجه ۲ را محاسبه می کن

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

Delta = b^2 - 4ac

در واقع در معادله ax^2 + bx + c = 0 ضریب دوم (b) را به توان ۲ می رسانیم و سپس ۴ برابر ضریب اول (a) در ضریب سوم (c) را از آن کم می کنیم.

سپس از طریق روابط زیر آن را محاسبه می کنیم :

خوب بیاید نگاهی به کدهای برنامه بندازیم. بعد از نوشتن کد ها به توضیح برنامه خواهم پرداخت !


import java.util.Scanner; public class Delta { public static void main(String[] args) { Scanner input = new Scanner(System.in); int a,b,c , delta; double x1,x2; //دریافت ۳ رقم از ورودی توسط کاربر System.out.println("Please enter 3 number : "); a = input.nextInt(); b = input.nextInt(); c = input.nextInt(); //محاسبه دلتا delta = b * b - 4 * a * c; //اگر دلتا بزرگتر از صفر باشد دو ریشه حقیقی دارد if (delta > 0) { x1 = (-b + Math.sqrt(delta) / (2 * a)); x2 = (-b - Math.sqrt(delta) / (2*a)); System.out.printf("rishe aval : %f \n", x1); System.out.printf("rishe dovom : %f", x2); } //اگر دلتا برابر صفر باشد تنها یک ریشه مضاعف دارد if (delta == 0) { x1 = -b / (2 * a); System.out.printf("rishe : %.1f", x1); } //اگر دلتا کوچکتر از صفر باشد فاقد ریشه می باشد if (delta < 0 ) { System.out.println("rishe nadarad !!"); } } }

برای نوشتن این برنامه به زبان جاوا ابتدا مقادیر a , b ,c را از ورودی دریافت می کنیم. دلتا را از طریق فرمولی که در بالا شرح داده شد محاسبه می کنیم. در اینجا ۳ حالت به وجود می آید :

  1. اگر دلتا بزرگتر از صفر شود معادله دو ریشه حقیقی دارد.
  2. اگر دلتا مساوی صفر شود معادله یک ریشه مضاعف دارد.
  3. اگر دلتا کوچکتر از صفر شود معادله فاقد ریشه می باشد.

در حالتی که معادله دو ریشه حقیقی دارد از کلاس و متد ()Math.sqrt استفاده کرده ایم. متد sqrt جذر مقادیر ورودی را محاسبه کرده و آن را بر می گرداند. از فرمول مربوطه استفاده کردیم و مقادیر هر دو ریشه را بدست می آوریم.

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

معادله درجه ۲جاواjavaمعادله درجه دو جاوا
شاید از این پست‌ها خوشتان بیاید