Tässä ohjelmassa opit etsimään kaikki neliöllisen yhtälön juuret (determinantista riippuen) ja tulostamaan ne Kotlinin muodossa ().
Neliöllisen yhtälön vakiomuoto on:
ax 2 + bx + c = 0, missä a, b ja c ovat reaalilukuja ja a ≠ 0
Termi tunnetaan toisen asteen yhtälön determinanttina. Määritelmä kertoo juurien luonteen.b2-4ac
- Jos determinantti on suurempi kuin 0, juuret ovat todellisia ja erilaisia.
- Jos determinantti on yhtä suuri kuin 0, juuret ovat todellisia ja yhtä suuria.
- Jos determinantti on alle 0, juuret ovat monimutkaisia ja erilaisia.
Esimerkki: Kotlin-ohjelma toisen asteen yhtälön juurien löytämiseksi
fun main(args: Array) ( val a = 2.3 val b = 4 val c = 5.6 val root1: Double val root2: Double val output: String val determinant = b * b - 4.0 * a * c // condition for real and different roots if (determinant> 0) ( root1 = (-b + Math.sqrt(determinant)) / (2 * a) root2 = (-b - Math.sqrt(determinant)) / (2 * a) output = "root1 = %.2f and root2 = %.2f".format(root1, root2) ) // Condition for real and equal roots else if (determinant == 0.0) ( root2 = -b / (2 * a) root1 = root2 output = "root1 = root2 = %.2f;".format(root1) ) // If roots are not real else ( val realPart = -b / (2 * a) val imaginaryPart = Math.sqrt(-determinant) / (2 * a) output = "root1 = %.2f+%.2fi and root2 = %.2f-%.2fi".format(realPart, imaginaryPart, realPart, imaginaryPart) ) println(output) )
Kun suoritat ohjelmaa, tulos on:
root1 = -0,87 + 1,30i ja root2 = -0,87-1,30i
Edellä olevassa ohjelmassa kertoimet a, b ja c asetetaan vastaavasti 2,3, 4 ja 5,6. Sitten determinant
lasketaan .b2 - 4ac
Determinantin arvon perusteella juuret lasketaan yllä olevan kaavan mukaisesti. Huomaa, että olemme käyttäneet kirjastofunktiota Math.sqrt () luvun neliöjuuren laskemiseen.
Tulostettava tulos tallennetaan sitten merkkijonomuuttujana Kotlinin vakiomuotoisen libary-toiminnon avulla format()
. Tulosteet tulostetaan sitten käyttämällä println()
.
Tässä on yllä olevan ohjelman vastaava Java-koodi: Java-ohjelma löytää kaikki kvadraktisen yhtälön juuret