Существует два основных вида компьютерной графики - векторная и растровая. Растровый рисунок представляет из себя сетку пикселей, разность цветов этих пикселей образует графический образ, воспринимаемый человеческим глазом как единая картина. Векторный же рисунок состоит из отдельных сущностей: линии, многоугольники, эллипсы и т.п. геометрические фигуры, отрисовкой этих фигур попиксельно занимается просмотрщик изображения (например браузер).
Основным преимуществом векторного рисунка является то, что такой рисунок может как угодно трансформироваться и масштабироваться без потери качества. Каждая геометрическая фигура перед выводом на экран рассчитывается по математическим формулам и может быть перерисована (перерассчитана) за доли секунды, если это потребуется. Естественно, это дает преимущество и в конечном размере файла, так как нет необходимости описывать каждый пиксель, все пиксели отрисовываются, исходя из инструкций.
Однако в векторном формате можно создавать лишь достаточно примитивные изображения. Представьте себе красочную фотографию, где присутствует пляж, закат, пальмы, туристы, птицы. Представили? А теперь подумайте, сколько нужно усилий, чтобы эту фотографию сделать из геометрических фигур, сколько математических формул применить, сколько маленьких участков залить цветом и каким образом реализовать плавный переход от синего моря до желтого пляжа. Наверное, вам стало страшно, именно поэтому основным способом хранения для фотографий является растровый формат JPEG с большой степенью сжатия.
Вектор идеально подходит для создания схем, простых образов без сложного перехода цветов.
Векторное изображение: Растровое изображение:
растровое изображение
Пример сложной векторной графики:
Сложная векторная графика
Как видите, каждая из веток графики содержит свои плюсы и минусы. Было бы глупо не найти способ объединить эти виды в единое целое, поэтому большинство форматов векторной графики сегодня позволяют смешивать себя с растровой графикой. Растровая картинка в векторном формате является такой же единой сущностью, как и другие геометрические фигуры. Например, в SVG растровые картинки можно подключать из отдельного файла и выводить на любом участке холста.
Наибольшее возможное значение выражения (F+O+X+E)*(F*R*D*D) = 236196. Прилагаю небольшой скрипт на Python. Простенькая задачка на корректную организацию перебора с использованием вложенных циклов:
max_num = 0
for f in xrange(10):
for o in xrange(10):
for x in xrange(10):
for e in xrange(10):
for r in xrange(10):
for d in xrange(10):
b = f*r*d*d
if b == 0:
continue
num = (f + o + x + e) * b
if num > max_num:
max_num = num
print "Maximum value of (F+O+X+E)*(F*R*D*D) is: \%i" \% max_num
Решение можно получить гораздо проще, если догадаться, что наибольшее значение выражения достигается, когда сумма F+O+X+E и произведение F*R*D*D являются максимальными. Это одновременно происходит, когда все цифры равны 9: (9+9+9+9)*9*9*9*9 = 236196
Информационный объем аудиофайла I=t*n*i*k, где t- время звучания (с.), n- частота дискретизации (Гц), i- глубина кодирования звука (бит), k- количество каналов записи.
I=10*48000*16*2= 15360000 бит = 1875 Кбайт
Язык Python
import random. sys
A = [random.randrange(-5, 5) for i in range(18)] #создаем массив из 18 эл от -5 до 5
print A # печатаем его
zero = -1 # ищем последний 0
for i in range(len(A)):
if A[i] == 0: zero = i
if zero == -1:
print "Нулевых элементов нет"
sys.exit(0) # выход
cnt = 0 # считаем сумму до zero
for i in range(0, zero):
if A[i]<0: cnt += A[i]
print "Сумма отрицательных до последнего нуля: ", cnt
mul = 1 # считаем произведение
for i in range(zero+1, len(A)):
mul *= A[i]
print "Произведение правее zero ", mul
Var i,s,x:integer;;
Begin
s:=0;
For i:=1 to 15 do
Begin
x:=sqr(i);
s:=s+x;
End;
Writeln('suma =',s );
<span>End.
2) второе решение
</span>Var i,s,x:integer;;
Begin
s:=0;
For i:=1 to 15 do s:=s+sqr(i);
Writeln('suma =',s );
End.<span>
</span>