int tall = (int) (Math.random() * 100);
Programmet skal skrive ut i tabellform alle tall som blir trukket, med
10 tall per linje. Utskriften skal gjøres i et tekstområde som blir
plassert i dialogboks. (Se Introduksjon til programmering,
kapittel 5, Tekst i eget tekstområde, for beskrivelse av hvordan dette
kan gjøres.) Programmet skal også finne og skrive ut det minste, det nest
minste, det nest største og det største av tallene som blir trukket.
På utskriften vil du kunne se om det er funnet riktige verdier for disse tallene!
Skriv et program som beregner og skriver ut andre og tredje potens av de hele tallene fra 0 til 10, sammen med tallene selv, slik at du får en tabell tilsvarende det som er vist i dialogboksen nedenfor.
Bruk en løkke for å beregne potensene og skrive ut tabellen. Prøv å lage programmet slik at det er lett å endre det i tilfelle vi isteden ønsker å skrive ut tall og potenser for tall fra et annet intervall.
Det skal lages et program som er en utvidelse og generalisering av
programmet beskrevet i oppgave 3. Du skal gjøre følgende:
Definer en klasse Potenstabell
med innhold som beskrevet
i pseudo-kode nedenfor.
public class Potenstabell { // Beregner og returnerer potensen med grunntall x og eksponenent y public int power(int x, int y) { < beregner og returnerer potens > } // Beregner potenser for tall og skriver ut potensene på tabellform // i et tekstområde. Parametrene har følgende betydning: // startverdi: første tall det beregnes potenser for. // makseksponenent: høyeste eksponent i potensene som beregnes. // antall: antall forskjellige tall det beregnes potenser for. // For hvert tall fra og med startverdi og oppover beregnes førstepotens, // andrepotens, ..., til og med potens med eksponent lik makseksponent. public void potenser(int startverdi, int makseksponent, int antall) { < beregner og skriver ut potenser > } }
Definer en "driverklasse" til klassen Potenstabell
beskrevet ovenfor, det vil si en klasse som inneholder en main
-metode.
Denne må opprette et Potenstabell
-objekt og foreta et passsende
metodekall for å få ut den potenstabell du ønsker. Dersom du for eksempel
ønsker å få skrevet ut første til femtepotens for tallene fra 1 til 15, skal
du få ut en tabell tilsvarende som vist på følgende bilde:
2 7 5 0 3
Det er her meningen at du skal behandle tallet som en int
-verdi og
bruke regneoperasjoner
for å splitte det opp i enkeltsifre.
(Det innleste tallet og hvert enkelt siffer skal lagres i hver sin heltallsvariabel.
Du skal altså ikke behandle tallet som en sifferstreng
og bruke String
-metoder.)
Frivillig utfordrning: Prøv å modifisere programmet slik at det virker for
et vilkårlig antall sifre i det innleste tallet (forutsatt at tallet ikke er
for stort til å kunne leses inn som en int
-verdi).
Oppgave 1 |
Oppgave 1, utvidet løsning |
Oppgave 2 |
Oppgave 3a |
Oppgave 3b |
Oppgave 3b, hovedprogram |