1)
var
a:array[1..10] of integer;
i:integer;
begin randomize;
for i:=1 to 10 do a[i]:=random(100)-40;
writeln;i:=1;
while i<=10 do begin
if a[i]<0 then begin a[i]:=0;
i:=11;end;
inc(i);
end;
for i:=1 to 10 do write(a[i]:3);
<span>end.
2)
var a:array[1..10] of integer;
i:integer;
begin
for i:= i to 10 do read(a[i]);
</span>for i:= i to 10 do<span>
if a[i] mod 3 =0 then a[i]:=a[i]*3;
</span>for i:= i to 10 do write(a[i]);
end.
Тут нужно объяснить: каждое слово представляет собой некоторое непустое множество документов, а значки "I" и "&" означают следующее:
I -это объединение двух множеств,
& -это пересечение двух множеств.
Еще возможны скобки, которые, как и обычной арифметике, указывают порядок действий.
Отношения больше или меньше - это вложенность множеств друг в друга (то есть одно из множеств является подмножеством другого), это не всегда выполняется, но в данном случае выполняется.
Самое большое множество это второе, потом первое - его подмножество, затем третье - подмножество первого, а четвертое - подмножество третьего. В порядке возрастания количества документов - это 4) 3) 1) 2).
Может что не ясно?
| -это логическое "ИЛИ",
& -это логическое "И".
<span>const Ei=2.71
</span>i:integer;<span>
S0, S1, S2, S3: real;
</span>begin
S0:=0;
<span>for i := 1 to 30 do
begin
S0 := </span>S0<span>+</span>exp( 2 * ln(cos(i)))<span>;
end;
</span>S1:=0;
for i := 1 to 10 do
begin
S1 := S1*sin(exp( 2 * ln(i)));
end;
S2:=<span>exp( S0 * ln(Ei));
</span>S3:=exp( S1 * ln(Ei));
writeln('S= ',S2+S3);
end.