Gymnasium Zitta/Langer/Beispiel 2
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Pascal</language>
'''Der Caesar-Algorithmus'''
# Teste das Programm mit verschiedenen Eingaben.
# Erkläre mit eigenen Worten, was das Programm macht.
<code id="4d36f53cceb17" hidden>
function caesar_test(klar:string,v:integer):string;
var a,i,ascii:integer;
begin
a:=length(klar);
wort:='';
for i:=1 to a do
begin
ascii:=(klar[i]); //ord noch nicht bekannt, einfach weglassen, dann wandelt er automatisch um
if (ascii<91) and (ascii>64)
then begin ascii:=ascii+v;
if ascii>90 then ascii:=ascii-26;
wort:=wort+chr(ascii);
end
else wort:=wort+' ';
end;
result:=wort;
end;
</code>
<run id="4d36f53ccebf8">
klar:= inputDialog('Klartext');
v:= StrToInt(inputDialog('Verschiebezahl'));
caesar_test(klar,v);
writeln (Wort);
</run>
# Ergänze den Quelltext.
<code id="4d36f53cceb77">
function caesar(klar:string,v:integer):string;
var a,i,ascii:integer;
begin
//Länge vom Klartext (klar) bestimmen
//Zählschleife mit Laufvariable i
begin
//Ermittle den ASCII-Code (ascii) des i-ten Buchstabens
//addiere v zum Ascii-Code
wort:=wort+chr(ascii)
end;
result:=wort;
end;
</code>
<check>result:= caesar(HALLO,2) = Caesar_test(HALLO,2);</check>