Заметим, чтобы сгенерировать строку, нужно знать только предыдущую строку. Будет генерировать по порядку от 1 до n-ой строки.
Программа:
var n, i: integer; cur_str, prev_str: string; begin read(n); prev_str := ''; for i := 1 to n do {Генерируем строки по порядку от 1 до n} begin str(i, cur_str); {Записываем в текущую строку её порядковый номер} cur_str := prev_str + prev_str + cur_str; {Дописываем предыдущую строку два раза в начало} prev_str := cur_str; {Записываем текущею строку вместо предудущей} end; writeln(cur_str); end.
Программа:
var
n, i: integer;
cur_str, prev_str: string;
begin
read(n);
prev_str := '';
for i := 1 to n do {Генерируем строки по порядку от 1 до n}
begin
str(i, cur_str); {Записываем в текущую строку её порядковый номер}
cur_str := prev_str + prev_str + cur_str; {Дописываем предыдущую строку два раза в начало}
prev_str := cur_str; {Записываем текущею строку вместо предудущей}
end;
writeln(cur_str);
end.
Первая задача:
var
i:integer;
a: array [1..7] of String;
begin
a[1]:='мама';
a[2]:='ель';
a[3]:='парта';
a[4]:='каникулы';
a[5]:='прыжок';
a[6]:='ура';
a[7]:='прикол';
for i:=1 to 7 do
writeln(a[i],' ', Length(a[i]));
end.
Вторая задача:
var
i, j, c:integer;
a:array [1..8] of integer;
begin
for i:=1 to 8 do
begin
writeln('Введите эл. массива A[', i, ']');
readln(a[i]);
end;
writeln();
for i:=1 to 8 do
write(a[i], ' ');
for i:=1 to 7 do
for j:=i+1 to 8 do
if a[i]>a[j] then
begin
c:=a[i];
a[i]:=a[j];
a[j]:=c;
end;
writeln();
for i:=1 to 8 do
write(a[i], ' ');
end.