Krožnice
Navodilo
Preden oddaš domačo nalogo, moraš obvezno preizkusiti, ali
pravilno deluje. To lahko narediš v DrJava kar v ukazni vrstici,
ali pa napišeš glavni program, ki preizkusi vse dele domače
naloge. Preizkus moraš oddati skupaj z rešitvijo:
- če si preizkusil delovanje z DrJava, v datoteko
preizkus.txt
prekopiraj primere z rezultati, ki si jih naredil v ukazni vrstici. Datoteko oddaj skupaj z ostalimi rešitvami. - če si preizkusil delovanje z glavnim programom
Preizkus.java
, ga oddaj skupaj z ostalimi rešitvami.
Naloga
Naloga 1: Razred za delo s krožnicami
Na vajah smo definirali razreda za delo s točkami in
premicami. Definiraj še razred
Kroznica
za delo s
krožnicami:
- Komponente: krožnica je določena s središčem, ki je objekt razreda
Tocka
, in polmerom, ki je realno število. - Konstruktor: sprejme središče (objekt razreda
Tocka
) in polmer. - Objektne metode:
String toString()
vrne predstavitev krožnice z nizom, npr."K((1.2,0.3),3.1)"
je krožnica s središčem v točki (1.2,0.3) in polmerom 3.1. (Namig: uporabi metodotoString
iz razredaTocka
.)boolean equals(Kroznica k)
vrnetrue
, če je krožnicathis
enaka krožnicik
.
Naloga 2
Sestavi metodo
Tocka podKotom(double fi)
, ki vrne
točko, ki leži na krožnici this
, tako da poltrak iz
središča krožnice skozi točko oklepa kot fi
z
vodoravno smerjo.
Na primer, če imamo krožnico
Kroznica k = new
Kroznica(new Tocka(1.0, 2.0), 3.0)
, vrne
k.podKotom(Math.PI/2.0)
točko s koordinatami
(1.0,5.0).
Naloga 3: dodatna naloga — tangenta na krožnico
Sestavi metodo
Premica[] tangenta(Tocka t)
, ki vrne
tabelo, ki vsebuje tangente na krožnico this
, ki
potekajo skozi točko t
.
Nauk: če leži
t
zunaj krožnice, potem obstajata dve
tangenti, če leži na krožnici, je tangenta ena, če pa leži v
njeni notranjosti, potem tangente ni.