Avatar billede axe2 Nybegynder
28. oktober 2000 - 16:57 Der er 1 løsning

invariant og kvotient

Jeg har fået følgende opgave for den lyder således
Implement the following function:

      public static int kvotientOgRest(int x, int y)   
      // kun + og - må bruges ved udregningen
      // pre:  y != 0  og  x > 0               
      // post: udskriver kvotient og rest af x/y
        int q;  // kvotient
        int r;  // rest

        q = ?; r = ?;

        // inv: x = q*y + r
        while ( r >= y ) {
          // gør r mindre, men bevar invarianten
        }

        System.out.println(\"Kvotient af \" + x + \"/\" + y \": \" + q);
        System.out.println(\"Rest af    \" + x + \"/\" + y \": \" + r);
      }

hvordan skal invarianten forståes og hvad er kvotient og rest ?

Avatar billede moa Nybegynder
28. oktober 2000 - 17:48 #1
Invariant?? - Det ved jeg simpelthen ikke? - Men det betyder jo nok at den ligning:
  x = q*y + r
Altid skal være opfyldt!

Kvotient og rest er jo simpelthen bare det du skal beregne! Det er almindelige heltalsdivisions-begreber, eks.:
  x := 10, y := 3
Resultat:
  Kvotient = 3 (10 / 3 går op 3 gange)
  Rest = 1 (10 - 3*3)

Du vil kun have forklaret hvad kvotient og rest er går jeg udfra? Selve opgaven må du hellere selv løse! - Det er som bekendt den eneste og bedste måde at lære på ;-)

Nu kan jeg jo se at invarianten bare er den ligning du skal bruge i din løkke for at nå frem til resultatet.

Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester