Здесь, как говорится, возможна масса разных вариантов. Один из самых простых такой:
var i,j: integer;
begin
for j:=1 to 5 do begin
for i:=1 to 8 do write('* ');
writeln;
for i:=1 to 8 do write(' *');
writeln;
end;
<span>end.
Если не подойдет - уточняйте требования к программе.</span>
1) - 1 (=12)
2) - 3 (=11)
3) - 5 (=7)
4) - 2 (=6 )
5) - 4 (=5 в дес)
Const n=4; m=5;
var a:array[1..n,1..m] of integer;
i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(1000);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
for j:=1 to m do
if (a[i,j] mod 7=0)and(a[i,j]>99)and(a[i,j]<1000) then a[i,j]:=a[i,j]-10;
writeln('New:');
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:4);
writeln;
end;
end.
Пример<span>889 188 17 186 772
394 121 406 679 936
20 147 868 691 450
525 73 575 232 416
New:
879 188 17 186 772
394 121 396 669 936
20 137 858 691 450
515 73 575 232 416
</span>
А) 247 "5"
Выполним несколько первых шагов алгоритма:
1 "2", 244 "5"
2 "2", 241 "5"
3 "2", 238 "5"
239 "5"
1 "2", 236 "5"
2 "2", 233 "5"
3 "2", 230 "5"
231 "5"
Очевидно, что из 231 "5" получим в конце концов 7 "5"
(231-8*28=231-224=7):
7 "5"
А далее:
1 "2", 4 "5"
2 "2", 1 "5"
Таким образом, из 247 "5" получится строка "225"
Б) Рассуждая аналогичным образом, из 247 "2" получим строку "552"