Создание файла - Pascal ABC
Формулировка задачи:
Доброго дня всем! Нужна помощь в создании программы. Если она уже есть, киньте пожалуйста, ссылку в описании(сам искал, но, к сожалению, не нашел... Может, проглядел просто).
Необходимо создать файл *.txt , состоящий из 10-ти символьных строк, значение которых инкриментируются от 0000000000 до ZZZZZZZZZZ (соотв. 0000000000..0000000009; 000000000a..000000000z; 000000000A..000000000Z; 0000000010...). Желательно использовать *:file of byte. После каждой строки необходим перенос. Заранее спасибо.
Решение задачи: «Создание файла»
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.
Объяснение кода листинга программы
- Создается константа Const, которая определяет массив символов m от '0' до '61'.
- Создается переменная St типа String, которая будет использоваться для хранения строки.
- Создается функция GetN, которая принимает символ и возвращает номер его позиции в массиве m.
- Создается процедура IncS, которая принимает переменную s типа String и увеличивает каждый символ в строке на единицу, при условии, что результат не превышает 61.
- В основной части программы создается переменная St, которая инициализируется строкой '0000000000'.
- Затем с помощью цикла Writeln выводится значение переменной St.
- Затем вызывается процедура IncS, которая увеличивает каждый символ в строке St на единицу.
- Цикл продолжается до тех пор, пока строка St не достигнет конца ('ZZZZZZZZZZ').