Πρόγραμμα Java για εύρεση όλων των ριζών μιας τετραγωνικής εξίσωσης

Σε αυτό το πρόγραμμα, θα μάθετε να βρίσκετε όλες τις ρίζες μιας τετραγωνικής εξίσωσης και να τις εκτυπώνετε χρησιμοποιώντας τη μορφή () στην Java.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Java αν… αλλιώς Δήλωση
  • Java Math sqrt ()

Η τυπική μορφή μιας τετραγωνικής εξίσωσης είναι:

 ax2 + bx + c = 0

Εδώ, τα a, b και c είναι πραγματικοί αριθμοί και το a δεν μπορεί να είναι ίσο με 0.

Μπορούμε να υπολογίσουμε τη ρίζα ενός τετραγωνικού χρησιμοποιώντας τον τύπο:

 x = (-b ± √(b2-4ac)) / (2a)

Το ±σύμβολο δείχνει ότι θα υπάρχουν δύο ρίζες:

 root1 = (-b + √(b2-4ac)) / (2a) root1 = (-b - √(b2-4ac)) / (2a)

Ο όρος είναι γνωστός ως καθοριστικός παράγοντας μιας τετραγωνικής εξίσωσης. Προσδιορίζει τη φύση των ριζών. Αυτό είναι,b2-4ac

  • αν καθοριστικό> 0 , οι ρίζες είναι πραγματικές και διαφορετικές
  • αν καθοριστικό == 0 , οι ρίζες είναι πραγματικές και ίσες
  • αν ο προσδιοριστής <0 , οι ρίζες είναι πολύπλοκες και διαφορετικές

Παράδειγμα: Πρόγραμμα Java για εύρεση ριζών μιας τετραγωνικής εξίσωσης

 public class Main ( public static void main(String() args) ( // value a, b, and c double a = 2.3, b = 4, c = 5.6; double root1, root2; // calculate the determinant (b2 - 4ac) double determinant = b * b - 4 * a * c; // check if determinant is greater than 0 if (determinant> 0) ( // two real and distinct roots root1 = (-b + Math.sqrt(determinant)) / (2 * a); root2 = (-b - Math.sqrt(determinant)) / (2 * a); System.out.format("root1 = %.2f and root2 = %.2f", root1, root2); ) // check if determinant is equal to 0 else if (determinant == 0) ( // two real and equal roots // determinant is equal to 0 // so -b + 0 == -b root1 = root2 = -b / (2 * a); System.out.format("root1 = root2 = %.2f;", root1); ) // if determinant is less than zero else ( // roots are complex number and distinct double real = -b / (2 * a); double imaginary = Math.sqrt(-determinant) / (2 * a); System.out.format("root1 = %.2f+%.2fi", real, imaginary); System.out.format("root2 = %.2f-%.2fi", real, imaginary); ) ) )

Παραγωγή

 root1 = -0.87 + 1.30i και root2 = -0.87-1.30i

Στο παραπάνω πρόγραμμα, οι συντελεστές a, b και c ορίζονται σε 2,3, 4 και 5,6 αντίστοιχα. Στη συνέχεια, το determinantυπολογίζεται ως .b2 - 4ac

Με βάση την τιμή του καθοριστικού παράγοντα, οι ρίζες υπολογίζονται όπως δίνεται στον παραπάνω τύπο. Παρατηρήστε ότι χρησιμοποιήσαμε τη λειτουργία βιβλιοθήκης Math.sqrt()για τον υπολογισμό της τετραγωνικής ρίζας ενός αριθμού.

Χρησιμοποιήσαμε τη format()μέθοδο για την εκτύπωση των υπολογισμένων ριζών.

Η format()συνάρτηση μπορεί επίσης να αντικατασταθεί από printf():

 System.out.printf("root1 = root2 = %.2f;", root1);

ενδιαφέροντα άρθρα...