<em>PascalABC.NET 3.2, сборка 1382 от 06.02.2017</em>
<em>Внимание! Если программа не работает, обновите версию!</em>
<em>1. Заданный контрольный пример:</em>
begin
var a:=Arr(4,-5,3,10,-4,-6,8,-10,1,0); a.Println;
var im1,im2:integer;
if a[im1]<a[im2] then Swap(im1,im2);
for var i:=2 to a.High do
if a[i]>a[im1] then begin im2:=im1; im1:=i end
else
if a[i]>a[im2] then im2:=i;
WritelnFormat('a[{0}]={1}, a[{2}]={3}',im1+1,a[im1],im2+1,a[im2])
end.
<u>Результат</u>
4 -5 3 10 -4 -6 8 -10 1 0
a[4]=10, a[7]=8
<em>2. Решение задания</em>
begin
var a:=ArrRandom(10,-10,10); a.Println;
var im1,im2:integer;
if a[im1]<a[im2] then Swap(im1,im2);
for var i:=2 to a.High do
if a[i]>a[im1] then begin im2:=im1; im1:=i end
else
if a[i]>a[im2] then im2:=i;
WritelnFormat('a[{0}]={1}, a[{2}]={3}',im1+1,a[im1],im2+1,a[im2])
end.
<u>Пример</u>
-1 10 -6 3 -4 -3 -4 7 0 -7
a[8]=7, a[4]=3
<em>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
1.To(ReadInteger('n=')).Aggregate(BigInteger(1),(x,y)->x*y*y).Println
end.
<u>Пример</u>
n= 100
8709782489089480079416590161944485865569720643940840134215932536243379996346583325877967096332754920644690380762219607476364289411435920190573960677507881394607489905331729758013432992987184764607375889434313483382966801515156280854162691766195737493173453603519594496000000000000000000000000000000000000000000000000