1)Графический редактор–это программа, предназначенная специально для рисования и редактирования изображений. Точнее, программа позволяющая вам создавать настоящие шедевры живописи прямо на вашем компьютере, или редактировать уже за ранее готовые фотографии и изображения (простой пример возможностей редактора — убрать распространенный «эффект красных глаз»). 2)Растр — изображение, построенное из отдельных элементов (точек), как правило, расположенных регулярно. В большинстве приложений компьютерной графики, растровое изображение представляется двумерным массивом точек, цвет и яркость каждой из которых задаются независимо. Пиксел — это наименьшая единица растрового изображения, получаемого с графических систем вывода информации (компьютерные мониторы, принтеры и т. д.) 4)Графический примитив - простейший геометрический объект, отображаемый на экране дисплея или на рабочем поле графопостроителя: точка, отрезок прямой, дуга окружности или эллипса, прямоугольник и т.п. 5)Векторная графика состоит из точек линий квадратов. Качество не ухудшается при увеличении. Используется в больших плакатах, гербах... 6)Качество растрового изображения зависит от размера изображения (количества пикселей по горизонтали и вертикали) и количества цветов, которые можно задать для каждого пикселя. 7)Растровая графика позволяет создать практически любой рисунок, вне зависимости от сложности, в отличие, например, от векторной, где невозможно точно передать эффект перехода от одного цвета к другому без потерь в размере файла. Распространённость — растровая графика используется сейчас практически везде: от маленьких значков до плакатов. Высокая скорость обработки сложных изображений, если не нужно масштабирование. Растровое представление изображения естественно для большинства устройств ввода-вывода графической информации, таких как мониторы (за исключением векторных устройств вывода), матричные и струйные принтеры, цифровые фотоаппараты, сканеры, а также сотовые телефоны.
type R = record v: integer; p: integer end; mR = array[1..n] of R;
function SummOfDigits(n: integer): integer; { Сумма цифр в трехзначном числе } begin SummOfDigits := (n div 100) + ((n mod 100) div 10) + (n mod 10) end;
procedure Swp(var a, b: R); { Меняет местами элементы a и b } var t: R; begin t.v := a.v; t.p := a.p; a.v := b.v; a.p := b.p; b.v := t.v; b.p := t.p end;
procedure Shell(var a: mR; n: integer); { сортировка методом Шелла } var i, j, step: integer;
begin step := n div 2; while step > 0 do begin for j := n - step downto 1 do begin i := j; while i <= n - step do begin if a[i].v > a[i + step].v then Swp(a[i], a[i + step]); i := i + step end end; step := step div 2 end end;
var a: array[1..n] of integer; b: mR; i: integer;
begin Randomize; Writeln('*** Исходные элементы массива ***'); for i := 1 to n do begin a[i] := Random(900) + 100; b[i].v := SummOfDigits(a[i]); b[i].p := i; Write(a[i]:4) end; Writeln; Shell(b, n); Writeln('*** Упорядоченные по возрастанию суммы цифр элементы массива ***'); for i := 1 to n do begin Write(a[b[i].p]:4) end; Writeln end.