Cäsar < Algorithmen < Schule < Informatik < Vorhilfe
|
Aufgabe | Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt. |
Hallo, es soll ein Pascalprogramm erstellt werden, wo ein Text nach dem Cäsarprinzip verschlüsselt werden soll.
Hier mein Programm:
{******************Cäsar-Chiffrierung*****************}
program uebersetzer;
uses crt;
var text : string;
l,k : integer;
ascii : integer;
begin
clrscr;
readln(text);
readln;
l:=length(text);
for k:=1 to l do
begin
ascii:=ord(text[k]);
if (ascii<91) and (ascii>64)
then
begin
ascii:=ascii + 5;
if ascii > 90 then
ascii:=ascii - 26;
text[k] := chr(ascii)
end;
end;
writeln(text);writeln;writeln(l);
readln;
end.
{*****ENDE*****}
Lieder wird nur der erste Buchstabe geändert z.B.s --> z)
Wo ist mein Fehler ?
lg
Mareicke
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:20 So 24.08.2008 | Autor: | piet.t |
Hallo und
Dein Programm sieht auf den ersten Blick eigentlich richtig aus. Welchen Text willst Du denn verschlüsseln?
Hast Du auch beachtet, dass dein Programm im Moment nur Grossbuchstaben (ASCII Position 65-90) verarbeitet? Für Kleinbuchstaben müsstest du etwas entsprechendes noch für den ASCII-Bereich 97 bis 122 machen!
Gruß
piet
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:33 So 24.08.2008 | Autor: | uliweil |
Hallo Mareicke,
Dein Programm ist "im Prinzip" richtig, es arbeitet aber wegen der Beschränkung auf ASCII - Zeichen zwischen 65=A und 90=Z nur für Großbuchstaben. Die kleinen liegen zwischen 97=a und 122=z. Du hast bei Deinem Test wahrscheinlich ein Wort mit großem Anfangsbuchstaben eingegeben, den hat das Programm dann umgesetzt, die folgenden kleinen aber nicht. So reagiert Dein Programm jedenfalls, ich habe es kopiert und mit meiner Pascalumgebung getestet (Free Pascal IDE).
Weiter viel Spaß mit Pascal.
Gruß
Uli
|
|
|
|