Skillnad mellan versioner av "Övningar 20 (Progr 3)"

Från Mathonline
Hoppa till: navigering, sök
m
m
Rad 25: Rad 25:
 
Vidareutveckla krypteringsalgoritmen i [[3.5_Kryptering_av_text,_teckenvis#Klassen EncryptChar|<b><span style="color:blue">Klassen EncryptChar</span></b>]].  
 
Vidareutveckla krypteringsalgoritmen i [[3.5_Kryptering_av_text,_teckenvis#Klassen EncryptChar|<b><span style="color:blue">Klassen EncryptChar</span></b>]].  
 
* &nbsp; Modifiera klassen <b>EncryptChar</b> till en ny klass <b>EncryptChar_Fkt</b> så här:
 
* &nbsp; Modifiera klassen <b>EncryptChar</b> till en ny klass <b>EncryptChar_Fkt</b> så här:
−
* &nbsp; Modifiera metoden <b>Encrypt(char[] t, int n)</b> till <b>Encrypt(char[] t, int k, int m)</b>.
+
* &nbsp; Modifiera metoden <b>Encrypt(char[ ] t, int n)</b> till <b>Encrypt(char[ ] t, int k, int m)</b>.
 
* &nbsp; Definiera krypteringen av tecknen med en linjär funktion y = k x + m, dvs:
 
* &nbsp; Definiera krypteringen av tecknen med en linjär funktion y = k x + m, dvs:
 
* &nbsp; Ersätt satsen <b>t[i] = (char)(t[i] + n);</b> med <b>t[i] = (char)(k*t[i] + m);</b>
 
* &nbsp; Ersätt satsen <b>t[i] = (char)(t[i] + n);</b> med <b>t[i] = (char)(k*t[i] + m);</b>
−
* &nbsp; Lägg till en ny metod <b>Decrypt(char[] t, int k, int m)</b> som dekrypterar tecknen med
+
* &nbsp; Lägg till en ny metod <b>Decrypt(char[ ] t, int k, int m)</b> som dekrypterar tecknen med
 
&nbsp; &nbsp; &nbsp; &nbsp; den inversa funktionen y = (x - m) / k dvs: <b>ch = (char)((ch - m)/k);</b>
 
&nbsp; &nbsp; &nbsp; &nbsp; den inversa funktionen y = (x - m) / k dvs: <b>ch = (char)((ch - m)/k);</b>
 
* &nbsp; Anropa båda metoderna från Main() genom att skicka värdena 3 till k och -40 till m.
 
* &nbsp; Anropa båda metoderna från Main() genom att skicka värdena 3 till k och -40 till m.

Versionen från 27 oktober 2021 kl. 15.05

        <<  Lektion 20          Genomgång          Dagens övningar          Nästa lektion  >>      


Dagens övningar


Vidareutveckla krypteringsalgoritmen i Klassen EncryptChar.

  •   Modifiera klassen EncryptChar till en ny klass EncryptChar_Fkt så här:
  •   Modifiera metoden Encrypt(char[ ] t, int n) till Encrypt(char[ ] t, int k, int m).
  •   Definiera krypteringen av tecknen med en linjär funktion y = k x + m, dvs:
  •   Ersätt satsen t[i] = (char)(t[i] + n); med t[i] = (char)(k*t[i] + m);
  •   Lägg till en ny metod Decrypt(char[ ] t, int k, int m) som dekrypterar tecknen med

        den inversa funktionen y = (x - m) / k dvs: ch = (char)((ch - m)/k);

  •   Anropa båda metoderna från Main() genom att skicka värdena 3 till k och -40 till m.

        Dvs krypteringsfunktionen blir y = 3 x - 40 och dekrypteringsfunktionen y = (x + 40) / 3







Copyright © 2021 TechPages AB. All Rights Reserved.