ВАРИАНТ No1. 1. Какие записи являются правильными командами повторения и ветвления (укажите буквы): а) ПОВТОРИ К ВВЕРХ г) ЕСЛИ НЕ 5 ТО ВВЕРХ б) ПОВТОРИ 5 ВНИЗ д) ЕСЛИ дом ТО ВНИЗ ИНАЧЕ изба в) ПОВТОРИ 4 КУБ е) ЕСЛИ ЦИФРА ТО вход ИНАЧЕ выход
Const n = 10; var a : array [1..n] of integer; r : boolean; i,j : integer; begin //Формирование массива пропущено
r := true; While r do begin if a[i] mod 2 =0 then begin for j := n-1 downto i + 2 do a[j] := a[j-1]; a[i+1] := 0; r := false; end; i := i +1; end; for i := 1 to n do writeln (a[i]); end.
Во избежании ошибок стоит учесть наличие такового элемента в массиве и размерность массива (чтобы его можно было корректно расширить на один элемент)
var a: array[1..n] of real; i, imax, imin: integer; r, rmax, rmin:real;
begin Randomize; Writeln('Элементы массива'); rmax:=-1; { заведомо меньше меньшего } rmin:=100; { заведомо больше большего } for i := 1 to n do begin r:=Random(10); a[i]:=r; Write(r,' '); if rmax<r then begin rmax:=r; imax:=i end; if rmin>=r then begin rmin:=r; imin:=i end end; Writeln; { меняем местами и выводим результат } a[imax]:=rmin; a[imin]:=rmax; Writeln('Конечное состояние массива'); for i := 1 to n do Write(a[i],' '); Writeln end.
n = 10;
var
a : array [1..n] of integer;
r : boolean;
i,j : integer;
begin
//Формирование массива пропущено
r := true;
While r do
begin
if a[i] mod 2 =0 then
begin
for j := n-1 downto i + 2 do
a[j] := a[j-1];
a[i+1] := 0;
r := false;
end;
i := i +1;
end;
for i := 1 to n do
writeln (a[i]);
end.
Во избежании ошибок стоит учесть наличие такового элемента в массиве и размерность массива (чтобы его можно было корректно расширить на один элемент)
n = 20;
var
a: array[1..n] of real;
i, imax, imin: integer;
r, rmax, rmin:real;
begin
Randomize;
Writeln('Элементы массива');
rmax:=-1; { заведомо меньше меньшего }
rmin:=100; { заведомо больше большего }
for i := 1 to n do
begin
r:=Random(10);
a[i]:=r;
Write(r,' ');
if rmax<r then begin rmax:=r; imax:=i end;
if rmin>=r then begin rmin:=r; imin:=i end
end;
Writeln;
{ меняем местами и выводим результат }
a[imax]:=rmin; a[imin]:=rmax;
Writeln('Конечное состояние массива');
for i := 1 to n do Write(a[i],' ');
Writeln
end.
Тестовое решение:
Элементы массива
4 1 2 8 6 3 7 5 5 1 4 4 3 3 6 8 5 4 7 6
Конечное состояние массива
4 1 2 1 6 3 7 5 5 8 4 4 3 3 6 8 5 4 7 6
Видно, что первая восьмерка поменялась местами с последней единицей.