по поводу сокращения кода
Код:
a:=0;
While a<=25 do // 1 цикл
begin
a:=a+1;
b:=0;
While b<=25 do // 2 цикл
begin
b:=b+1;
c:=0;
While c<=25 do // 3 цикл
begin
c:=c+1;
d:=0;
While d<=25 do // 4 цикл
begin
d:=d+1;
e:=0;
While e<=25 do // 5 цикл
begin
e:=e+1;
f:=0;
While f<=25 do // 6 цикл
begin
f:=f+1;
g:=0;
While g<=25 do // 7 цикл
begin
g:=g+1;
h:=0;
While h<=25 do // 8 цикл
begin
h:=h+1;
i:=0;
While i<=25 do // 9 цикл
begin
i:=i+1;
Memo1.Lines.Add(Abc[a]+Abc[b]+Abc[c]+Abc[d]+Abc[e]+Abc[f]+Abc[g]+Abc[h]+Abc[i]);
можно переписать так:
Код:
for a:= 1 to 26 do
for b:= 1 to 26 do
for c:= 1 to 26 do
for d:= 1 to 26 do
for e:= 1 to 26 do
for f:= 1 to 26 do
for g:= 1 to 26 do
for h:= 1 to 26 do
for i:= 1 to 26 do
Memo1.Lines.Add(Abc[a]+Abc[b]+Abc[c]+Abc[d]+Abc[e]+Abc[f]+Abc[g]+Abc[h]+Abc[i]);
соответственно это с учетом того, что используется строка ABC: string = 'abcdefghijklmnopqrstuvwxyz', у которой ABC[1] = a, а ABC[26] - z. это я к написанному выше о нулевом элементе.