<em>// PascalABC.NET 3.2, сборка 1437 от 03.05.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
a:=a.SortedDescending.ToArray; a.Println;
Writeln('П=',a.Where(k->k mod 7=0).DefaultIfEmpty
.Aggregate(1,(i,j)->i*j))
end.
<u>Пример</u>
n= 15
80 -59 89 66 -88 -50 -16 -30 -65 -75 28 -51 56 35 36
89 80 66 56 36 35 28 -16 -30 -50 -51 -59 -65 -75 -88
П=54880
begin
var b:=ArrRandom(ReadInteger('n='),-99,99); b.Println;
b:=b+Arr(b.Sum); b.Println
end.
<u>Пример</u>
n= 15
-36 98 64 -21 -8 57 -52 56 -58 -66 -1 -60 13 22 -79
-36 98 64 -21 -8 57 -52 56 -58 -66 -1 -60 13 22 -79 -71
begin
var c:=ArrRandom(ReadInteger('n='),-99,99); c.Println;
var a:=ReadInteger('a=');
var b:=c.Where(x->x>a).ToArray;
Write('B[',b.Count,']='); b.Println
end.
<u>Пример</u>
n= 16
58 -91 12 -48 -42 1 -73 5 -47 99 -80 55 -10 31 -62 0
a= 10
B[5]=58 12 99 55 31
Sub Zadanie()
n = CInt(InputBox("n ="))
y = 1
for i = 1 to n
y = y * (2 * i - 1)
next
MsgBox y
End Sub
Самые главные недостатки:
- высокие требования к аппаратной составляющей компьютера: к его оперативной памяти, быстроте работы процессора и т.д.,
- необходимость больших временных затрат на создание моделей всех объектов сцены, могущих оказаться в поле зрения камеры. Конечно, такая работа стократно окупается результатом,
- меньшую свободу в создании изображения, чем в двухмерной графике. Создавая объект карандашом на бумаге или средствами 2D-графике на экране, можно совершенно свободно искажать пропорции объектов, пренебрегать законами перспективы и пр. В 3D-формате это возможно только в наиболее мощных пакетах, но даже в них это требует дополнительных усилий и изобретательности,
- необходимость постоянно отслеживать взаимное положение объектов в составе сцене, в частности, при создании 3D-анимации. Так как объекты 3D-графики «бестелесны», они легко проникают друг в друга и важно контролировать отсутствие ненужного контакта между ними.