Можно быстро сообразить, какой будет ответ, при кругов Эйлера.
Всего есть 2^6 = 64 возможных комбинаций входных параметров и, соответственно, в таблице 64 строки. Изобразим области истинности выражений A и B. Область истинности выражения A + -B – это объединение области истинности A и области ложности выражения B; область истинности изображена на рисунке зелёным цветом.
Чтобы в закрашенную область попало как можно больше элементов, в незакрашенной области элементов должно быть как можно меньше. В данном случае ничего не мешает тому, чтобы в незакрашенной области вообще не было элементов, при этом все 5 элементов в области истинности B должны одновременно быть и в области истинности A. При этом в область истинности выражения A + -B входят все 64 элемента, максимально возможное число единиц равно 64.
1) var a, b: array [1..10] of integer; i, sum: integer; begin sum := 0; for i := 1 to 10 do b[i] := 0; for i := 1 to 10 do begin read(a[i]); if a[i] < 0 then begin sum := sum + 1; b[i] := i; end; end; writeln('Amount of negative numbers: ', sum); for i := 1 to 10 do if b[i] <> 0 then write(b[i], ' '); end.
2) var a: array [1..10] of integer; i: integer; flag: boolean; begin flag := false; randomize; for i := 1 to 10 do begin a[i] := random(10); if a[i] = 5 then flag := true; end; for i := 1 to 10 do write(a[i], ' '); if flag then writeln('YES') else writeln('NO'); end.
3) var a: array [1..10] of integer; i, ind, odd: integer; begin randomize; ind := 0; for i := 1 to 10 do begin a[i] := random(10); if a[i] mod 2 <> 0 then begin ind := i; odd := a[i]; end; end; for i := 1 to 10 do write(a[i], ' '); if ind <> 0 then writeln(a[ind], ' ', ind) else writeln('Array has no odd elements'); end.
4) var a: array [1..10] of integer; i: integer; begin writeln; randomize; for i := 1 to 10 do begin a[i] := random(20); write(a[i], ' '); end; writeln; for i := 1 to 10 do if (a[i] < 15) and(a[i] > 5) then write(a[i], ' '); end.
Всего есть 2^6 = 64 возможных комбинаций входных параметров и, соответственно, в таблице 64 строки. Изобразим области истинности выражений A и B. Область истинности выражения A + -B – это объединение области истинности A и области ложности выражения B; область истинности изображена на рисунке зелёным цветом.
Чтобы в закрашенную область попало как можно больше элементов, в незакрашенной области элементов должно быть как можно меньше. В данном случае ничего не мешает тому, чтобы в незакрашенной области вообще не было элементов, при этом все 5 элементов в области истинности B должны одновременно быть и в области истинности A. При этом в область истинности выражения A + -B входят все 64 элемента, максимально возможное число единиц равно 64.
var a, b: array [1..10] of integer; i, sum: integer;
begin
sum := 0;
for i := 1 to 10 do
b[i] := 0;
for i := 1 to 10 do
begin
read(a[i]);
if a[i] < 0 then
begin
sum := sum + 1;
b[i] := i;
end;
end;
writeln('Amount of negative numbers: ', sum);
for i := 1 to 10 do
if b[i] <> 0 then write(b[i], ' ');
end.
2)
var a: array [1..10] of integer; i: integer; flag: boolean;
begin
flag := false;
randomize;
for i := 1 to 10 do
begin
a[i] := random(10);
if a[i] = 5
then
flag := true;
end;
for i := 1 to 10 do
write(a[i], ' ');
if flag
then
writeln('YES')
else
writeln('NO');
end.
3)
var a: array [1..10] of integer; i, ind, odd: integer;
begin
randomize;
ind := 0;
for i := 1 to 10 do
begin
a[i] := random(10);
if a[i] mod 2 <> 0
then
begin
ind := i;
odd := a[i];
end;
end;
for i := 1 to 10 do
write(a[i], ' ');
if ind <> 0
then
writeln(a[ind], ' ', ind)
else
writeln('Array has no odd elements');
end.
4)
var a: array [1..10] of integer; i: integer;
begin
writeln;
randomize;
for i := 1 to 10 do
begin
a[i] := random(20);
write(a[i], ' ');
end;
writeln;
for i := 1 to 10 do
if (a[i] < 15) and(a[i] > 5)
then
write(a[i], ' ');
end.