Нарисуем диаграмму Эйлера-Венна для всех запросов, содержащих Маркиз (см. вложение). Каждой области на диаграмме соответствует множество результатов, найденных по какому-либо запросу.
Нам необходимо найти общее число результатов, содержащих Маркиз, а также Граф ИЛИ Виконт. Глядя на диаграмму, понимаем, что если сложим количества результатов по запросам Граф, Виконт (круг + прямоугольник), то получим то, что надо, за исключением того, что область пересечения (Граф И Виконт) окажется посчитанной дважды. Тогда, чтобы получить верный ответ, нужно сложить количество ответов на запросы Граф, Виконт и вычесть количество ответов на запрос Граф И Виконт.
Там где символы не понятные это разделители задач, 3 из 4 program task; const n=15; var a:array[1..n] of integer; i,s,j,first,max: integer;
begin óñëîâèå À begin a[i]:=0+random(15); write(a[i]:4); if(i mod 2=0) then s:=s + a[i]; end; çàäà÷à Á begin a[i]:=0+random(15); write(a[i]:4); end; writeln(); max:=1; for i:=1 to n do if a[i]>a[max] then max:=i; first:=a[1]; a[1]:=a[max]; a[max]:=first; writeln('Âåêòîð:'); for i:=1 to n do çà÷à  for i:= 1 to 15 do begin a[i]:= random(20); write(a[i],' '); if a[i] > 0 then end; writeln; writeln; for i:= 1 to 14 do for j:= i+1 to 15 do if a[i] < a[j] then begin max:= a[i]; a[i]:= a[j]; a[j]:= max; end; for i:= 1 to 15 do begin write(a[i],' '); end;
Нарисуем диаграмму Эйлера-Венна для всех запросов, содержащих Маркиз (см. вложение). Каждой области на диаграмме соответствует множество результатов, найденных по какому-либо запросу.
Нам необходимо найти общее число результатов, содержащих Маркиз, а также Граф ИЛИ Виконт. Глядя на диаграмму, понимаем, что если сложим количества результатов по запросам Граф, Виконт (круг + прямоугольник), то получим то, что надо, за исключением того, что область пересечения (Граф И Виконт) окажется посчитанной дважды. Тогда, чтобы получить верный ответ, нужно сложить количество ответов на запросы Граф, Виконт и вычесть количество ответов на запрос Граф И Виконт.
320 + 575 - 55 = 840
ответ. 840.
program task;
const n=15;
var a:array[1..n] of integer;
i,s,j,first,max: integer;
begin
óñëîâèå À
begin
a[i]:=0+random(15);
write(a[i]:4);
if(i mod 2=0) then
s:=s + a[i];
end;
çàäà÷à Á
begin
a[i]:=0+random(15);
write(a[i]:4);
end;
writeln();
max:=1;
for i:=1 to n do
if a[i]>a[max] then max:=i;
first:=a[1];
a[1]:=a[max];
a[max]:=first;
writeln('Âåêòîð:');
for i:=1 to n do
çà÷à Â
for i:= 1 to 15 do begin
a[i]:= random(20);
write(a[i],' ');
if a[i] > 0 then
end;
writeln;
writeln;
for i:= 1 to 14 do
for j:= i+1 to 15 do
if a[i] < a[j] then begin
max:= a[i];
a[i]:= a[j];
a[j]:= max;
end;
for i:= 1 to 15 do begin
write(a[i],' ');
end;
end.