Gymnasium Zittau/Langer/Verschluesselung/einfache klassische Verfahren
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Pascal</language>
== Beispiel 1: Rückwärtsschrift ==
<code id="4ea0296d4140b">
var k:string;
function rueck_test(klar:string):string;
var l,i:integer; wort:string;
begin
l:=length(klar);
wort:='';
for i:=1 to l do wort:=klar[i]+wort;
result:=wort;
end;
</code>
<run id="4ea0296d414a2">writeln(rueck_test(testen))</run>
Schreibe eine Funktion, die einen eingegebenen Text rückwärts ausgibt.
<code id="4ea024cdbec99">
function rueck(klar:string):string;
var wort:string;
//vervollständige hier die Variablendeklaration
begin
//ergänze hier die Anweisungen
result:=wort;
end;
</code>
<check> result:=rueck_test(rückwärts testen) = rueck(rückwärts testen) </check>
== Beispiel 2: Vokale ersetzen ==
<code id="4ea024cdbecff" hidden>
Function vokale_test(klar,v:string;):string;
var wort:string;
l,i:integer;
begin
l:=length(klar);
wort:='';
for i:=1 to l do
begin
if (klar[i]='a') or (klar[i]='e') or (klar[i]='i') or (klar[i]='o') or (klar[i]='u')
then wort:=wort+v
else wort:=wort+klar[i];
end;
result:=wort;
end;
</code>
Ihr kennt sicher aus eurer Kinderzeit das Lied "Drei Chinesen mit dem Kontrabass". Entsprechend diesem musikalischen Spiel ersetzen wir im nächsten Beispiel die Vokale eines Textes durch den Buchstaben, der für v eingegeben wird. <br>
Vervollständige für dieses Beispiel den Quelltext.
<code id="4ea024cdbed6e">
Function vokale(klar,v:string;):string;
var wort:string;
//vervollständige hier die Variablendeklaration
begin
// ergänze hier die Anweisungen
result:=wort;
end;
</code>
<check> result:=vokale_test(drei chinesen,i) = vokale(drei chinesen,i) </check>
== Beispiel 3: Zickzackschrift ==
<code id="4ea024cdbee1a" hidden>
Function zickzack_test(klar:string;):string;
var l,i,n:integer; wort:string;
begin
l:=length(klar);
wort:='';
if l mod 2 = 0 then n:=l div 2
else n:=l div 2 +1;
for i:=1 to n do wort:=wort+klar[i]+klar[n+i];
result:=wort;
end;
</code>>
Eine etwas kompliziertere Variante der Verschlüsselung ist die Zickzackschrift. <br>
Die Buchstaben werden nicht durch andere Zeichen oder Symbole ersetzt, sondern einfach neu gemischt. Dieses Prinzip nennt man auch "Anagramm".
Zerlege den Text in zwei gleich lange Zeilen und lies dann im Zickzack: <br>
n t e i t n i b i e w r e s c t a w r e u z t n e d e e m r ä m n i h b r e d n <br>
wird zu <br>
n t e i t n i b i e w r e s c t a w r e <br>
u z t n e d e e m r ä m n i h b r e d n <br>
im Zickzack gelesen: nutzetintendiebeimerwärmensichtbarwerden <br>
Vervollständige nun den Quelltext.
<code id="4ea024cdbee9a">
Function zickzack(klar:string;):string;
var wort:string;
//vervollständige hier die Variablendeklaration
begin
// ergänze hier die Anweisungen
result:=wort;
end;
</code>>
<check> result:=zickzack_test(drei chinesen,i) = zickzack(drei chinesen,i) </check>