<em>// PascalABC.NET 3.3, сборка 1547 от 07.10.2017</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
function InArea(p:(real,real)):boolean; begin var (x,y):=p; Result:=(Abs(x)<=1) and (Abs(y)<=1) or (y>=x-2) and (x>=0) and (y<=0) end;
begin var n:=ReadInteger('n='); Randomize; var P:=ArrGen(n,i->(Random(-11,22)/10,Random(-22,12)/10)); Writeln('Исходные точки (x,y)'); P.Println; var R:=P.Where(x->InArea(x)).ToArray; Writeln('Отобрано точек - ',R.Length); Writeln('Отобранные точки (x,y)'); R.Println end.
var a,n,c:integer; x,y:real; begin readln(a); readln(n); readln(c); if ((a > n) and (n > c)) then begin x:=(a+n)/2; y:=(n+c)/2; end else if((n > a) and (a > c)) then begin x:=(a+n)/2; y:=(a+c)/2; end else if((c > a) and (a > n)) then begin x:=(a+c)/2; y:=(a+n)/2; end else if((c > n) and (n > c)) then begin x:=(c+n)/2; y:=(n+c)/2; end else if((n > c) and (c > a)) then begin x:=(c+n)/2; y:=(a+c)/2; end else if((a > c) and (c > n)) then begin x:=(c+a)/2; y:=(n+c)/2; end else if((c > n) and (n > a)) then begin x:=(c+n)/2; y:=(n+a)/2; end; write('наибольшее: ',x,' наименьшее: ',y); end.