Ошибка "ожидался идентификатор" - Pascal ABC
Формулировка задачи:
Шифр состоит из двух частей: зашифрованного сообщения и ключа к нему. Зашифрованное сообщение и ключ объединялись в одно сообщение, которое передавалось на Луну: сначала матрица сообщения,затем ключ. Они размер N x N и расположены друг за другом без пробелов.
Ключ состоит из из цифр[0..9], а затем букв латиницы['A'..'Z'], что соответствует лексикографическому порядку.
Требуется: Определить способ расшифровки и написать программу, позволяющую по заданному сообщению и ключу осуществить расшифровку.
в строке for var выдает ошибку: ожидался идентификатор
пытался сделать в 2 строки и более не помогло
Решение задачи: «Ошибка "ожидался идентификатор"»
textual
Листинг программы
uses
sysutils;
var
code, key : string;
n : byte;
procedure Init;
var
fin : text; tmp : string;
y:integer;
begin
Assign(fin, 'input3.txt'); reset(fin);
readln(fin, n);
for y := 1 to n do
begin
readln(fin, tmp);
code := code + tmp;
end;
for y := 1 to n do
begin
readln(fin, tmp);
key := key + tmp;
end;
close(fin);
end;
procedure Solve;
var
res: string; fout: text;
i:integer;
begin
Setlength(res, n*n);
for i := 1 to n*n do
begin
if key[i] in ['0'..'9'] then
res[StrToInt(key[i])+1] := code[i];
if key[i] in ['A'..'Z'] then
res[ord(key[i])-ord('A')+11] := code[i];
end;
assign(fout, 'otput3.txt');ReWrite(fout);
writeln(fout, res); Close(fout);
end;
BEGIN
Init;Solve;
END.
Объяснение кода листинга программы
- В процедуре Init открывается файл 'input3.txt', считывается число n и выполняется цикл, в котором считываются строки от 1 до n. Каждая строка добавляется к переменной code.
- После завершения цикла для каждой строки считывается второй раз ключ и добавляется к переменной key.
- В процедуре Solve создается строка res длиной nn, и выполняется цикл, в котором для каждой позиции i от 1 до nn проверяется, является ли i-й символ ключа цифрой или буквой. Если это цифра, то соответствующий символ из переменной code добавляется в строку res. Если это буква, то в строку res добавляется символ, который находится на 11 позиций влево от символа ключа.
- После завершения цикла строка res записывается в файл 'output3.txt'.