, с информатикой! Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды.
Команда нашлось (v) проверяет, встречается ли цепочка v в строке, поданной на вход исполнителя.
Команда заменить (v, w) заменяет в строке первое слева вхождение цепочки v на цепочку w.
Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (44) ИЛИ нашлось (11)
ЕСЛИ нашлось (44)
ТО заменить (44, 1)
ИНАЧЕ заменить (11, 4)
КОНЕЦ ЕСЛИ
const n=10;
var a:array[1..n] of integer; i,k:integer;
begin
writeln('Исходный массив: ');
for i:=1 to n do begin
a[i]:=random(10);
write(' ',a[i]);
end;
writeln;
for i:=1 to n do begin
if ((i mod 2) = 0) then
a[i]:=a[i]*2
else
a[i]:=a[i]*3;
end;
writeln('Конечный массив: ');
for i:=1 to n do
write(' ',a[i]);
end.
б)
const n=10;
var a:array[1..n] of integer; i,k:integer;
begin
writeln('Исходный массив: ');
for i:=1 to n do begin
a[i]:=random(10);
write(' ',a[i]);
end;
writeln;
for i:=1 to n do begin
if ((i mod 2) = 0) then
a[i]:=a[i]-a[i]*2;
end;
writeln('Конечный массив: ');
for i:=1 to n do
write(' ',a[i]);
end.
5 a)
const n=10;
var a:array[1..n] of integer; i,k:integer;
begin
k:=0;
writeln('Исходный массив: ');
for i:=1 to n do begin
a[i]:=random(10);
write(' ',a[i]);
end;
writeln;
for i:=1 to n do begin
if (i>2) and (a[i]>a[i-1]) then
k:=k+1;
end;
writeln('Конечный массив: ');
for i:=1 to n do
write(' ',a[i]);
writeln;
write('Кол-во элементов больших соседа слева ',k);
end.
5 б)
const n=10;
var a:array[1..n] of integer; z,i,k:integer;
begin
k:=0;
z:=0;
writeln('Исходный массив: ');
for i:=1 to n do begin
a[i]:=random(10);
write(' ',a[i]);
end;
writeln;
for i:=1 to n do begin
if ((i mod 2) = 0) then
k:=k+1;
if k=2 then
begin
k:=0;
z:=z+1;
end;
end;
writeln('Конечный массив: ');
for i:=1 to n do
write(' ',a[i]);
writeln;
write('Кол-во четных пар: ',z);
end.
6 а)
const n=10;
var a:array[1..n] of integer; s,k,i:integer;
sr:real;
begin
s:=0;
k:=0;
writeln('Исходный массив: ');
for i:=1 to n do begin
a[i]:=random(10);
write(' ',a[i]);
end;
writeln;
for i:=1 to n do begin
if ((a[i] mod 2) = 0) and ((i mod 2) <> 0) then
begin
s:=s+a[i];
k:=k+1;
end;
end;
sr:=s/k;
writeln('Конечный массив: ');
for i:=1 to n do
write(' ',a[i]);
writeln;
write('Среднее арифметическое четных элементов с нечетными индексами: ',sr);
end.