Skillnad mellan versioner av "Inlämningsuppgifter Csharp"

Från Mathonline
Hoppa till: navigering, sök
(Skapade sidan med '__NOTOC__ {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | style="border-bottom:1px solid #797979" width="5px" |   {{Selected tab|Inlämningsupp...')
 
m
Rad 1: Rad 1:
 
__NOTOC__
 
__NOTOC__
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
 
| style="border-bottom:1px solid #797979" width="5px" |  
 
{{Selected tab|[[Inlämningsuppgifter (Progr 3)|Inlämningsuppgifter]]}}
 
| style="border-bottom:1px solid #797979"  width="100%"|  
 
|}
 
  
  
Rad 12: Rad 7:
 
<big><b><span style="color:red">Kryptering av text</span></b></big>
 
<big><b><span style="color:red">Kryptering av text</span></b></big>
  
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">funktionen encrypt()</span></b>]].  
* &nbsp; Modifiera klassen <b>EncryptChar</b> till en ny klass <b>EncryptChar_Fkt</b> så här:
+
* &nbsp; Modifiera funktionen <b>encrypt()</b> till en ny funktion <b>encrypt_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 funktionen <b>encrypt(oldText, k)</b> till <b>encrypt(coldText, k, 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>ch = chr(ord(ch) + k);</b> med <b>ch = chr((k*ord(ch) + 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>t[i] = (char) ((t[i] - m)/k);</b>
 
&nbsp; &nbsp; &nbsp; &nbsp; den inversa funktionen y = (x - m) / k dvs: <b>t[i] = (char) ((t[i] - m)/k);</b>

Versionen från 22 november 2021 kl. 13.25


Inlämningsuppgift 1

Kryptering av text

Vidareutveckla krypteringsalgoritmen i funktionen encrypt().

  •   Modifiera funktionen encrypt() till en ny funktion encrypt_Fkt() så här:
  •   Modifiera funktionen encrypt(oldText, k) till encrypt(coldText, k, m).
  •   Definiera krypteringen av tecknen med en linjär funktion y = k x + m, dvs:
  •   Ersätt satsen ch = chr(ord(ch) + k); med ch = chr((k*ord(ch) + 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


Regler

Inlämningsuppgifterna bidrar med bonuspoäng till provbbetygen i kursen Programmering 1.

  •     Uppgifterna kan genomföras individuellt eller i grupp à max 3 personer.
  •     Alla gruppmedlemmar måste vara beredda att förklara koden om de frågas.
    Ange ditt resp. dina gruppmedlemmarnas namn.
  •     Skicka *.py-filerna som bifogade filer via mail till taifun.alishenas@lbs.se.
  •     Tillämpa alltid God programmeringsstil när du skriver kod.







Copyright © 2021 TechPages AB. All Rights Reserved.