Skillnad mellan versioner av "Kap 4 Tillämpningar"

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" |   {{Not selected tab|Lektion 9...')
 
m
Rad 2: Rad 2:
 
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
 
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
 
| style="border-bottom:1px solid #797979" width="5px" |  
 
| style="border-bottom:1px solid #797979" width="5px" |  
{{Not selected tab|[[Lektion 9 (Algoritmer)| <<&nbsp;&nbsp;Agenda]]}}
+
{{Not selected tab|[[Lektion 10 (Algoritmer)| <<&nbsp;&nbsp;Agenda]]}}
 
{{Not selected tab|[[Planering Algoritmer, datastrukturer och design patterns|<span style="color:blue">Kursens planering</span>]]}}
 
{{Not selected tab|[[Planering Algoritmer, datastrukturer och design patterns|<span style="color:blue">Kursens planering</span>]]}}
{{Selected tab|[[Kap 3 Datastrukturer och abstrakta datatyper (forts. 3)|Genomgång]]}}
+
{{Selected tab|[[Kap 4 Tillämpningar|Genomgång]]}}
{{Not selected tab|[[Övningar 9 (Algoritmer)|Dagens övningar]]}}
+
{{Not selected tab|[[Övningar 10 (Algoritmer)|Dagens övningar]]}}
{{Not selected tab|[[Lektion 10 (Algoritmer)|Nästa lektion&nbsp;&nbsp;>> ]]}}
+
{{Not selected tab|[[Lektion 11 (Algoritmer)|Nästa lektion&nbsp;&nbsp;>> ]]}}
 
| style="border-bottom:1px solid #797979"  width="100%"| &nbsp;
 
| style="border-bottom:1px solid #797979"  width="100%"| &nbsp;
 
|}
 
|}
Rad 12: Rad 12:
 
<br>
 
<br>
  
= <b><span style="color:#931136">3.9 &nbsp;&nbsp; Generiska metoder (Generics)</span></b> =
+
= <b><span style="color:#931136">Klassen EncryptStr</span></b> =
 
<div class="ovnE">
 
<div class="ovnE">
[[Image: Generics.jpg]]
+
[[Image: EncryptStr.jpg]]
  
<big>
 
<b><span style="color:red">Generics</span></b> omfattar generiska klasser, metoder, operatorer, interfaces, properties och delegates.
 
  
Den variabla datatypen T kallas för <b><span style="color:red">typ-parametern</span></b> och är en platshållare för en datatyp.
 
 
Typ-parametern T skrivs efter typnamnet så här: <b><span style="color:red">TypeName <T></span></b>, t.ex. <b><span style="color:red">G_out <T></span></b>.
 
</big>
 
</div>
 
 
 
= <b><span style="color:#931136">Klassen G_Output</span></b> =
 
<div class="ovnC">
 
[[Image: G_Output.jpg]]
 
</div>
 
 
 
= <b><span style="color:#931136">Programmet GenericTest</span></b> =
 
<div class="ovnA">
 
[[Image: GenericTesta.jpg]]
 
 
<big>
 
Den generiska metoden <b><span style="color:red">G_out()</span></b> är definierad i klassen Output.
 
 
Den generiska metoden <b><span style="color:red">G_sort()</span></b> är definierad i klassen Bubble.
 
</big>
 
</div>
 
 
 
= <b><span style="color:#931136">Körexempel</span></b> =
 
<div class="ovnA">
 
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: GenericTestKorex.jpg]]</div>
 
</div>
 
 
 
= <b><span style="color:#931136">Klassen G_Bubble</span></b> =
 
<div class="ovnA">
 
[[Image: G_Bubblea.jpg]]
 
</div>
 
 
 
= <b><span style="color:#931136">3.10 &nbsp;&nbsp; Listor</span></b> =
 
<div class="ovnE">
 
=== <b><span style="color:#931136">Programmet Lista</span></b> ===
 
[[Image: Programmet Lista.jpg]]
 
 
<big><big>
 
<big><big>
:Klassen <b><span style="color:red">List</span></b> är fördefinierad i C#-biblioteket <b>System.Collectins.Genetric</b>.
+
:Krypteringsfunktionen är <b><span style="color:red"><math> \quad\, y \, = \, x \, + \, n \; </math></span></b>.
 
+
:Klassen <b>Lista</b> är vår egendefinierad klass i vilken vi skriver vår <b>Main()</b>-metod.
+
  
:Där skapar vi ett objekt av klassen <b><span style="color:red">List</span></b> dvs en lista och kallar den för <b>intList</b>.
+
:Den <b><span style="color:red">inversa</span></b> funktionen är <b><span style="color:red"><math> \;\; y \, = \, x \, - \, n \; </math></span></b>: Kan användas för dekryptering.
 
</big></big>
 
</big></big>
 
</div>
 
</div>
  
  
= <b><span style="color:#931136">Klassen RandList</span></b> =
+
= <b><span style="color:#931136">Programmet EncryptStrTest</span></b> =
 
<div class="ovnC">
 
<div class="ovnC">
[[Image: Klassen RandList.jpg]]
+
[[Image: EncryptStrTest.jpg]]
<big><big>
+
:Metoden <b><span style="color:red">Add()</span></b> är definierad i klassen List.
+
  
:Varje anrop av <b><span style="color:red">Add()</span></b> infogar ett slumptal i listan <b>no</b>.
 
  
:Vi behöver inte ange i förväg hur lång listan ska vara. Den är öppen och växer vid behov.
+
<big><big>
</big></big>
+
:Krypteringsnyckeln är <b><span style="color:red">key</span></b>, ett slumptal mellan 50 och 200.
</div>
+
  
 +
:<b><span style="color:red">key</span></b> skickas till <b><span style="color:red"><math> \; n \; </math></span></b> i metoden <b>Encrypt()</b>, definierad i klassen <b>EncryptStr</b>.
  
= <b><span style="color:#931136">foreach i listor: Klassen Print</span></b> =
+
:Dekrypteringsnyckeln är <b><span style="color:red"><math> - </math>key</span></b>.
<div class="ovnA">
+
[[Image: Klassen Print.jpg]]
+
<big><big>
+
:Metoden <b>Out()</b> definieras här och anropas i klassen <b>List</b> två gånger:
+
 
+
:En gång före och en gång efter sorteringen.
+
 
</big></big>
 
</big></big>
 
</div>
 
</div>
Rad 95: Rad 41:
  
 
= <b><span style="color:#931136">Körexempel</span></b> =
 
= <b><span style="color:#931136">Körexempel</span></b> =
<div class="ovnE">
+
<div class="ovnC">
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: ListaKorex.jpg]]</div>
+
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: EncryptStrTestKorex.jpg]]</div>
 
</div>
 
</div>
  

Versionen från 2 november 2022 kl. 14.58

        <<  Agenda          Kursens planering          Genomgång          Dagens övningar          Nästa lektion  >>      


Klassen EncryptStr

EncryptStr.jpg


Krypteringsfunktionen är \( \quad\, y \, = \, x \, + \, n \; \).
Den inversa funktionen är \( \;\; y \, = \, x \, - \, n \; \): Kan användas för dekryptering.


Programmet EncryptStrTest

EncryptStrTest.jpg


Krypteringsnyckeln är key, ett slumptal mellan 50 och 200.
key skickas till \( \; n \; \) i metoden Encrypt(), definierad i klassen EncryptStr.
Dekrypteringsnyckeln är \( - \)key.


Körexempel

EncryptStrTestKorex.jpg


Referensen null

Ref null.jpg