5. Ohjelma, joka ratkaisee yhtälöitä

Ohjelma, joka ratkaisee yhtälöitä

Olemme tähän mennessä oppineet muutamia asioita:
  • tekstin tulostaminen näytölle riippuen, onko kyseessä numeroita vai merkkijonoja (eli tekstiä)
  • muuttujan luominen (muuttujalla on nimi ja arvo, jota voidaan muuttaa ohjelman edetessä)
  • while-silmukan käyttö (while-silmukka on kätevä silloin, kun jotakin asiaa toistetaan monta kertaa)
  • if-komennon käyttö (if-komennolla saadaan ohjelma tekemään eri asioita eri tilanteissa)

Tässä kappaleessa yhdistämme opitut asiat luodaksemme ohjelman, joka ratkaisee yhtälöitä. Pitäydymme yksinkertaisissa yhtälöissä, joiden ratkaisut ovat kokonaislukuja ja täten helpommin löydettävissä.

Yhtälöitä ratkaiseva ohjelma voidaan tehdä kahdella tavalla:

1) Kokeillaan eri arvoja muuttujalle [[$x$]] while-silmukalla ja katkaistaan silmukka sopivalla if-komennolla, kun ratkaisu on löytynyt.

2) Kokeillaan eri arvoja muuttujalle [[$x$]] ja laitetaan while-silmukkaan sopiva ehto, joka pysäyttää silmukan, kun ratkaisu on löytynyt.

Tapa 1)

Kuvitellaan, että haluamme ratkaista yhtälön [[$3x=2x \ + \ 10$]]. Helposti nähdään, että yhtälö toteutuu, kun [[$x=10$]].

Luodaan ohjelma, joka kokeilee while-silmukalla muuttujalle [[$x$]] eri arvoja alkaen luvusta yksi. Silmukka pysähtyy, kun ratkaisu yhtälöön [[$3x=2x \ + \ 10$]] löytyy.
​​

Tapa 2)

Pidetään ratkaistava yhtälö samana eli [[$3x=2x \ + \ 10$]]. 

Tässä tapauksessa ratkaistava yhtälö laitetaan suoraan while-silmukan ehtoon. Nyt yhtälön eri puolet pitää vain merkitä erisuuriksi merkinnällä !=. Silmukka pysähtyy, kun yhtälön molemmat puolet ovat yhtä suuret.


Yhtälön ratkaiseminen ohjelmoimalla on kätevää etenkin silloin, kun yhtälön ratkaisu on suuri luku.

Tehtävä 1.

Ratkaise yhtälö [[$4x \ + \ 20 \ = \ 2x \ + \ 260$]] luomalla ohjelma molemmilla yllä mainituilla tavoilla. Muista antaa riittävän suuri yläraja tavassa 1). Mieti, kumpi on mielestäsi järkevämpi tapa.
​​

Tehtävät

Ratkaise tehtävät ohjelmoimalla.

1. Ratkaise yhtälö [[$3x \ + \ 7 \ = \ 3010$]]. Jos käytät tapaa 1), niin laita ylärajaksi iso luku (esim. [[$1500$]]).

2. Alla olevan kolmion piiri on [[$1050$]] metriä. Muodosta yhtälö ja ratkaise kolmion sivujen pituudet.

3.* Neliön muotoisen alueen pinta-ala on [[$16 \ m^2$]]. Muodosta yhtälö ja ratkaise neliön sivun pituus.

4.* Ratkaise yhtälö [[$ \frac{x}{2} = \frac{x}{3} + \frac{3}{2}$]].

Peda.net käyttää vain välttämättömiä evästeitä istunnon ylläpitämiseen ja anonyymiin tekniseen tilastointiin. Peda.net ei koskaan käytä evästeitä markkinointiin tai kerää yksilöityjä tilastoja. Lisää tietoa evästeistä