Создание файла - Pascal ABC

Формулировка задачи:

Доброго дня всем! Нужна помощь в создании программы. Если она уже есть, киньте пожалуйста, ссылку в описании(сам искал, но, к сожалению, не нашел... Может, проглядел просто). Необходимо создать файл *.txt , состоящий из 10-ти символьных строк, значение которых инкриментируются от 0000000000 до ZZZZZZZZZZ (соотв. 0000000000..0000000009; 000000000a..000000000z; 000000000A..000000000Z; 0000000010...). Желательно использовать *:file of byte. После каждой строки необходим перенос. Заранее спасибо.

Код к задаче: «Создание файла - Pascal ABC»

textual
Const
  m  : array[0..61] of Char = ('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
Var
  St : String;
 
Function GetN(c : Char) : Byte;
Var i : Byte;
Begin
  For i:=0 to 61 do
    If m[i]=c then
    Begin
      GetN:=i;
      Break;
    end;
end;
 
Procedure IncS(Var s : String);
Var
  j   : Byte;
  per : Boolean;
Begin
  j:=10; per:=False;
  Repeat
    If GetN(s[j])+1>61 then
    Begin
      s[j]:='0';
      per:=True;
    end
      else
    Begin
      s[j]:=m[GetN(s[j])+1];
      per:=False;
    end;
    Dec(j);
  Until (j=0) or (not per);
End;
 
Begin
  St:='0000000000';
  Writeln(St);
  Repeat
    IncS(St);
    Writeln(St);
  Until St='ZZZZZZZZZZ';
end.

12   голосов, оценка 3.417 из 5


СОХРАНИТЬ ССЫЛКУ