Skillnad mellan versioner av "Övningar 20 (Progr 3)"
Från Mathonline
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
| Rad 29: | Rad 29: | ||
* Ersätt satsen <b>t[i] = (char)(t[i] + n);</b> med <b>t[i] = (char)(k*t[i] + m);</b> | * Ersätt satsen <b>t[i] = (char)(t[i] + n);</b> med <b>t[i] = (char)(k*t[i] + m);</b> | ||
* Lägg till en ny metod <b>Decrypt(char[ ] t, int k, int m)</b> som dekrypterar tecknen med | * Lägg till en ny metod <b>Decrypt(char[ ] t, int k, int m)</b> som dekrypterar tecknen med | ||
| − | den inversa funktionen y = (x - m) / k dvs: <b> | + | den inversa funktionen y = (x - m) / k dvs: <b>t[i] = (char)((t[i] - m)/k);</b> |
* Anropa båda metoderna från Main() genom att skicka värdena 3 till k och -40 till m. | * 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 | Dvs krypteringsfunktionen blir y = 3 x - 40 och dekrypteringsfunktionen y = (x + 40) / 3 | ||
Versionen från 27 oktober 2021 kl. 15.06
| << Lektion 20 | Genomgång | Dagens övningar | Nästa lektion >> |
Dagens övningar
- Mata in Klassen EncryptChar. Kompilera.
- Mata in Programmet EncryptCharTest. Kompilera och kör.
- Läs om Kryptering av text, teckenvis i kursboken, sid 87-89.
- Lös uppgiften nedan:
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: t[i] = (char)((t[i] - 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.