Mam taką prośbę: w komentarzach są pytania - czy ktoś mógłby mi wyjaśnić co zrobić i czy są jakieś inne błędy?
(Jest to program, który szyfruje znaki, przesuwając je o ileś (delta) znaków, np. w wzorcu ABCD delta 1 znak A to będzie B itp.)
program Konwerter;
uses Crt;
const ilosc_znakow = 26;
const wzorzec: STRING[ilosc_znakow]='jqzdeuhoysbvipflmrtwnxgack';
var delta:LongInt;
var znak:Char;
VAR pozycja:Integer;
VAR nowa_pozycja:Integer;
Function Koduj;
begin //blad: Assertion Error in the line #194 of module DATA
pozycja:=Pos(znak,wzorzec);
if pozycja<>0 then begin
nowa_pozycja:=pozycja+delta;
If nowa_pozycja<0 then Inc(nowa_pozycja,ilosc_znakow);
if nowa_pozycja>ilosc_znakow then Dec(nowa_pozycja,ilosc_znakow);
koduj:=wzorzec[nowa_pozycja];
end;
else
koduj:=znak
end;
procedure Delta;
begin
writeLn('Delta:');
readln(delta);
delta:=delta+3;
delta:=delta*2;
end;
begin
// Co tu wstawic?
end.
Jeśli to ułatwi sprawę mogę dać wzór algorytmu w języku umownym