Відповідь:
Пояснення:
Несмотря на все плюсы трехмерных изображений, они не лишены и некоторых минусов, которые нужно учитывать при разработке графических проектов. К недостаткам 3D-графики можно отнести:
- высокие требования к аппаратной составляющей компьютера: к его оперативной памяти, быстроте работы процессора и т.д.,
- необходимость больших временных затрат на создание моделей всех объектов сцены, могущих оказаться в поле зрения камеры. Конечно, такая работа стократно окупается результатом,
- меньшую свободу в создании изображения, чем в двухмерной графике. Создавая объект карандашом на бумаге или средствами 2D-графике на экране, можно совершенно свободно искажать пропорции объектов, пренебрегать законами перспективы и пр. В 3D-формате это возможно только в наиболее мощных пакетах, но даже в них это требует дополнительных усилий и изобретательности,
- необходимость постоянно отслеживать взаимное положение объектов в составе сцене, в частности, при создании 3D-анимации. Так как объекты 3D-графики «бестелесны», они легко проникают друг в друга и важно контролировать отсутствие ненужного контакта между ними.
Можно привести пример: модель персонажа анимации вместо того, чтобы сидеть на стуле, может полностью в него «провалиться» или зависнуть в воздухе. С этой же причиной связана необходимость использования приемов для деформации объектов при их столкновении между собой или разрешении. Если упустить этот момент, то, например, два сталкивающихся между собой персонажа пройдут друг сквозь друга.
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
Writeln('Sпол.неч = ',ArrRandom(50,-10,20).Println
.Where((x,i)->(x>0) and (i.IsEven)).Sum)
end.
Тестовое решение
15 16 0 17 20 7 -3 -4 9 9 -3 -8 14 10 10 11 7 18 -8 8 0 15 1 4 11 1 9 -10 -7 -7 12 17 8 13 7 15 1 13 12 11 4 -5 -3 -6 -5 -10 -9 -8 8 -8
Sпол.неч = 148
2. Длинный "школьный" вариант ("почувствуйте разницу")
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
var
a:array[1..50] of integer;
i,s:integer;
begin
Randomize;
s:=0;
for i:=1 to 50 do begin
a[i]:=Random(31)-10; Write(a[i],' ');
if (a[i]>0) and Odd(i) then s:=s+a[i]
end;
Writeln;
Writeln('Sпол.неч = ',s)
end.
Тестовое решение
4 14 4 7 9 -4 3 6 20 -10 3 -3 15 12 9 0 3 12 13 -1 9 -2 -2 16 18 -2 5 9 17 -3 4 -6 10 10 -5 10 8 13 12 15 13 1 12 1 7 6 9 2 -9 -6
Sпол.неч = 207