1 / 9

Tahvlipraktikum 9

Animatsiooni näide Ruutvõrrandi lahendamine Siseklass Andmed käsurealt Andmed tekstifailist Tulemused tekstifaili. Tahvlipraktikum 9. Animatsiooni näide Vt. http://www.cs.ut.ee/~kiho/progr/fall06/Tahvlipraktikum/T8/PorkePall/

ghada
Download Presentation

Tahvlipraktikum 9

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Animatsiooni näideRuutvõrrandi lahendamine SiseklassAndmed käsurealtAndmed tekstifailistTulemused tekstifaili Tahvlipraktikum 9

  2. Animatsiooni näide Vt. http://www.cs.ut.ee/~kiho/progr/fall06/Tahvlipraktikum/T8/PorkePall/ http://www.cs.ut.ee/~kiho/progr/fall06/Tahvlipraktikum/T8/TP8GraafikaLoogika.ppt

  3. Ülesanne 1. Kirjutada meetod ruutvõrrandi lahendamiseks. Antud: kolm reaalarvu. Tulemus: tagastatakse kolme-elemendiline järjend (esimene [indeksiga 0] – õnnestumise tunnus) Täiendada programmi selle meetodi testimisega. Meetod: • ??? rtvl(double a, double b, double c) • Antud: ruutvõrrandi kordajad a, b, c • Tulemus: luuakse kolme-elemendiline järjend, selles • [0]: õnnestumise tunnus – kui õnnestus, siis > 0 • [1]:[2]:lahendid (õnnestumise korral) • tagastatakse viit loodud järjendile • ??? tulem = new ??? ; • … • tulem[0] = … • tulem[1] = … • tulem[2] = … • … • return tulem; Rakendamine: ??? lah = rtvl(1.0, 2.0, -3.0); if(??? > 0) println(“x1 = “ + ???); println(“x2 = “ + ???); else println(“Lahendit ei leitud!“);

  4. Aineprogrammi-väline ---------------------------------------------------------------------- Ülesanne 2. Kirjutada meetod ruutvõrrandi lahendamiseks. Antud: kolm reaalarvu. Tulemus: tagastatakse objekt, mis koosneb kolmest väljast: boolean ok – õnnestumise tunnus double x1 double x2 Täiendada programmi selle meetodi testimisega.

  5. Siseklassi kirjeldus (siin: sisaldab ainult andmevälju) Alt+kirje static class Lahend{ boolean ok; double x1; double x2; } class Lahend boolean ok; double x1; double x2; Meetod: • Lahend rtvl(double a, double b, double c) • Antud: ruutvõrrandi kordajad a, b, c • Tulemus: luuakse objekt Lahend (klassi Lahend isend), selles • ok – õnnestumise tunnus • x1 ja x2: lahendid (õnnestumise korral) • tagastatakse viit loodud isendile • Lahend tulem = new Lahend(); • … • tulem.ok = … • tulem.x1 = … • tulem.x2 = … • … • return tulem; Rakendamine: Lahend lah = rtvl(1.0, 2.0, -3.0); if(lah.ok) println(“x1 = “ + lah.x1); println(“x2 = “ + lah.x2); else println(“Lahendit ei leitud!“); ---------------------------------------------------------------------- Aineprogrammi-väline.

  6. Ülesanne 3. Kirjutada ruutvõrrandi lahendamise meetodi katsetamise programm, mis saab ruutvõrrandi kordajad käsurea argumentidena. if (args.length != ???) õpetus(); return; Alt+s2d Double.parseDouble(args[0/1/2]) . . . … rtvl(…) … … õpetus(…) …

  7. Ülesanne 4. Kirjutada ruutvõrrandi lahendamise meetodi katsetamise programm, mis saab ühe ruutvõrrandi kordajad tekstifaili järjekordsest reast. Arvude vahel on tühik(ud). AlgJava I/O, readln Alt+io !! try print(“Palun faili nimi: “) String kust = readln(); sisendfaili nimi BufferedReader sfail = readerFrom(kust); sisendfailst lugeja String rida = ""; * while((rida = sfail.readLine()) != null)lugeda rida sisendfailist println(rida); rea väljastamine konsoolile lõpetamine sfail.close(); catch (IOException e){ System.err.println(e.getMessage()); Vt. järgmine slaid

  8. String abc[] = rida.trim().split(“( )+”); eraldaja: üks või mitu tühikut if on parajasti kolm arvu, siis double a = ???; double b = ???; double c = ???; Lahendada ruutvõrrand: ??? Väljastada vastus: ??? else Väljastada: “Vigane rida: pole kolm arvu!” String abc[] = rida.trim().split(“,( )*”); eraldaja: koma ja null või enam tühikut

  9. Ülesanne 4. Kirjutada ruutvõrrandi lahendamise meetodi katsetamise programm, mis saab ühe ruutvõrrandi kordajad tekstifaili järjekordsest reast ja väljastab teise tekstifaili read: kas Kordajad: <a>, <b>, <c>; x1 = … x2 = … --- õnnestumise korral või Kordajad: <a>, <b>, <c>; reallahendeid ei ole või Vigane rida! Sisendfailis on arvude vahel koma ja null või enam tühikut.

More Related