<em>// PascalABC.NET 3.2, сборка 1353 от 27.11.2016</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var k:=ReadInteger('k=');
var a:=ReadArrInteger('>',k);
var sp:=a.Where(x->x>0).Sum;
var po:=a.Where(x->x<0).Aggregate(BigInteger(1),(p,q)->p*q);
var b:=a.Select(x->x>0?po:(x<0?sp:0)).ToArray;
b.Println
end.
<u>Пример</u>
k= 10
> 9 20 -11 5 0 16 8 11 2 -17
187 187 71 187 0 187 187 187 187 71
А) при x ∈ [-3;8];
б) при x ∈ (- бесконечности;-3)V(8;+бесконечности).
Это реализовано с помощью цикла for:
Program p1;
Var a1,a2,k,i:integer;
Begin
Write('Введите число: ');
Readln(a1);
For i:=0 to 1 do
Begin
Write('Введите число: ');
Readln(a2);
if a2>a1 then
k:=k+1;
a1:=a2;
End;
if k=2 then
Writeln('Эта последовательность является возрастающей') else
Writeln('Эта последовательность не является возрастающей');
End.
Это реализовано с помощью цикла while:
Program p2;
Var a1,a2,k,i:integer;
Begin
Write('Введите число: ');
Readln(a1);
While i<>2 do
Begin
Write('Введите число: ');
Readln(a2);
if a2>a1 then
k:=k+1;
a1:=a2;
i:=i+1;
End;
if k=2 then Writeln('Эта последовательность является возрастающей') else Writeln('Эта последовательность не является возрастающей');
End.
Это реализовано с помощью цикла repeat:
Program p3;
Var a1,a2,k,i:integer;
Begin
Write('Введите число: ');
Readln(a1);
repeat
Begin
i:=i+1;
Write('Введите число: ');
Readln(a2);
if a2>a1 then
k:=k+1;
a1:=a2;
End;
until i=2;
if k=2 then
Writeln('Эта последовательность является возрастающей') else
Writeln('Эта последовательность не является возрастающей');
End.