// PascalABC.NET 3.0, сборка 1157 от 02.02.2016 begin var a:array[1..20] of integer; Randomize; for var i:=1 to 20 do a[i]:=Random(-50,50); a.Println; var b:=Range(2,20,2).Select(i->a[i]); Writeln('Элементы с четными индексами по возрастанию'); b.Sorted.Println; Writeln('Элементы с четными индексами по убыванию'); b.SortedDescending.Println; end.
Тестовое решение: -15 46 -34 -3 43 16 -17 -28 -19 12 -28 -11 48 -12 -1 33 -37 9 6 -40 Элементы с четными индексами по возрастанию -40 -28 -12 -11 -3 9 12 16 33 46 Элементы с четными индексами по убыванию 46 33 16 12 9 -3 -11 -12 -28 -40
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 type Point=record x,y:real end;
function GetPoint(c:char):Point; begin Writeln('Введите координаты точки ',c,':'); Read(Result.x,Result.y) end;
function Line(A,B:Point):real; begin Result:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y)) end;
function SqTriangle(pA,pB,pC:Point):real; begin var a:=Line(pB,pC); var b:=Line(pA,pC); var c:=Line(pA,pB); if (a+b>c) and (a+c>b) and (b+c>a) then begin var p:=(a+b+c)/2; Result:=sqrt(p*(p-a)*(p-b)*(p-c)) end else Result:=0 end;
begin var A:=GetPoint('A'); var B:=GetPoint('B'); var C:=GetPoint('C'); Writeln('Площадь треугольника равна ',SqTriangle(A,B,C)) end.
Тестовое решение: Введите координаты точки A: -5 3.18 Введите координаты точки B: 1.45 6.2 Введите координаты точки C: 6 -5.93 Площадь треугольника равна 45.98975
begin
var a:array[1..20] of integer;
Randomize;
for var i:=1 to 20 do a[i]:=Random(-50,50); a.Println;
var b:=Range(2,20,2).Select(i->a[i]);
Writeln('Элементы с четными индексами по возрастанию');
b.Sorted.Println;
Writeln('Элементы с четными индексами по убыванию');
b.SortedDescending.Println;
end.
Тестовое решение:
-15 46 -34 -3 43 16 -17 -28 -19 12 -28 -11 48 -12 -1 33 -37 9 6 -40
Элементы с четными индексами по возрастанию
-40 -28 -12 -11 -3 9 12 16 33 46
Элементы с четными индексами по убыванию
46 33 16 12 9 -3 -11 -12 -28 -40