Opgaver Lektion 4

Aflevering af opgaver

Send en mail til neinalways@gmail.com med:

  • Ordet grprog i emnelinjen.
  • EN vedlagt arkivfil i rar, jar, 7z, zip, eller tgz.format indeholdende jeres kildekode.
  • Alle relevante filer skal være i arkivfilen. Relevante filer er .java-filer.
  • Arkivfilen skal have lektionsnummer og initialer i filnavnet. Fx NMLlektion3.jar. INGEN MELLEMRUM i directory- eller filnavne, tak!

Øvelse 4.0

Vi har tidligere prøvet Math.random() i opgaven om at slå med en terning.

Math.random() giver jo tal (double) i intervallet [0.0;1.0[. Han stiller to spørgsmål, som I nu skal besvare verbalt og eksemplificere i kodeform.

  1. Skriv et program, der genererer et array med 20 elementer, der alle befinder sig i intervallet [80.0;100.0[. Programmet skal også skrive arrayets indhold ud.
  2. Skriv et program, der genererer et array med 1000 heltal, der alle befinder sig i intervallet [0;36].
    1. Beregn og udskriv derefter hvor mange 0'ere, 1'ere, ..., 36'ere der var i % af det samlede antal (1000).
    2. Beregn og udskriv endvidere hvor mange lige, henholdsvis ulige, tal der var blandt de 1000.

Øvelse 4.1

En (ikke specielt effektiv) måde at sortere et array på er at finde det mindste element, og lade det bytte plads med det første element. Derefter finder vi det næstmindste element og lader det bytte plads med det andet element, etc.

  1. Skriv en metode minInRange, der returnerer index-tallet for det mindste element i et område i et array. Metoden kunne som input tage et array og to indices for start- og slut-index til afgrænsning af området.
  2. Skriv en metode swapElements, der med et array og to indices som input bytter om på værdierne på de to pladser udpeget af indices.
  3. Skriv en metode sortArray, der ved hjælp af minInRange og swapElements sorterer elementerne i et array i stigende orden.
  4. Skriv et program, der tester sortering på et array af integers. Klarer det også et array af doubles?

Øvelse 4.3

Primtal er positive heltal, der uden rest kun kan divideres med 1, og tallet selv.

Skriv et program der tager indtastning af et heltal af størrelse op til en maksimal long. Til information: Det størst tænkelige tal som en long kan indeholde er 9223372036854775807. Det største primtal af typen long er 9223372036854775783.

Skriv en metode, public static boolean isPrime(long n), der kan afsløre om et tal n er et primtal. Prøv metoden på det indtastede tal. Hint: Metoden bør loope igennem divisioner med skiftende heltal op i heltallet. Hvis et heltal går op, er det indtastede tal ikke et primtal.