Tämä esittelee itseisarvoepäyhtälöiden laskemista. Ohjelman laskiessa suurempi kuin tapauksia lasketaan suurempi tai pienempi kuin, kuten esim. x < -8 tai x > 8 ja laskettaessa pienempi kuin lasketaan -8 < x < 8, joka voidaan ilmaista myös ja sanalla.
while true do print("Syötä kerroin, vakiotermi ja luku") kerroin, vakiotermi, luku = io.read("*number","*number","*number") if kerroin ~= 0 then break end end print("Onko yhtälö muotoa 1) ax^2+b vai 2) ax+b") muoto = io.read("*number") --Näytetään lausekeet --Itsearvoyhtälön ollessa suurempi kuin lasketaan pienempi kuin luku (negatiivinen) tai suurempi kuin luku (positiivinen) --Itsearvoyhtälön ollessa pienempi kuin lasketaan negatiivisesta positiiviseen voidaan käyttää sanaa ja if muoto == 1 then io.write(string.format("|%d*x^2 + %d| > %d\n",kerroin,vakiotermi,luku)) io.write(string.format("|%d*x^2 + %d| < %d \n",kerroin,vakiotermi,luku)) else io.write(string.format("|%d*x + %d| > %d\n",kerroin,vakiotermi,luku)) io.write(string.format("|%d*x + %d| < %d \n",kerroin,vakiotermi,luku)) end --Lasketaan ensin suurempi kuin tuntematon_1 = (luku-vakiotermi)/kerroin tuntematon_2 = (-1*luku-vakiotermi)/kerroin if muoto == 1 then if tuntematon_1 > 0 then tuntematon_1 = math.sqrt(tuntematon_1) else io.write("Ei ole määritelty reaalilukujen joukossa!") tuntematon_1 = 0.0 end if tuntematon_2 > 0 then tuntematon_2 = math.sqrt(tuntematon_2) else io.write("Ei ole määritelty reaalilukujen joukossa!") tuntematon_2 = 0.0 end end --Näytetään tulokset. if kerroin < 0 then io.write(string.format("x > %.2f tai x < %.2f\n",tuntematon_2,tuntematon_1)) else io.write(string.format("x > %.2f tai x < %.2f\n",tuntematon_1,tuntematon_2)) end --Lasketaan sitten pienempi kuin if (tuntematon_1 > tuntematon_2) then io.write(string.format("%.2f < x < %.2f\n",tuntematon_2,tuntematon_1)) else io.write(string.format("%.2f < x < %.2f\n",tuntematon_1,tuntematon_2)) end
Aihe on jo aika vanha, joten et voi enää vastata siihen.