Объем изображения= количество пикселей экрана*глубину кодирования=
1024*768*32= 25165824 бит
25165824/8= 3145728 байт
3145728/1024= 3072 Кбайт
3072/1024= 3 Мбайт
Непростая задача...
const
n = 16;
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.
Тестовое решение:
*** Исходные элементы массива ***
862 244 599 379 595 840 551 151 614 383 185 893 131 172 139 256
*** Упорядоченные по возрастанию суммы цифр элементы массива ***
131 151 244 172 551 614 840 139 256 185 383 862 595 379 893 599
1.
var a,b,c,d,e,s1,s2:real;
procedure p(x,y,z:real; var s:real);
var p:real;
begin
p:=(x+y+z)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
end;
begin
writeln('a, b, c, d, e:');
readln(a,b,c,d,e);
p(a,b,c,s1);
p(c,d,e,s2);
writeln('s = ',s1+s2:5:2);
end.
Пример:
a, b, c, d, e:
5 2 6 3 4
s = 9.37
2.
var a,b,c,d,q:real;
function x(z,y:real):real;
begin
x:=exp((1/y)*ln(z));
end;
begin
writeln('a, b, c, d:');
readln(a,b,c,d);
q:=(x(b,a)+x(d,c))/x(b+d,a+c);
writeln('q = ',q:5:2);
end.
Пример:
a, b, c, d:
2 16 3 9
q = 3.1939
3.
Процедура используется, как правило, в тех случаях, когда требуется выполнить некоторые действия, не обязательно связанные с вычислениями (например, что-то ввести, вывести, нарисовать и т.д.). Кроме того, процедуры используются, если требуется вычислить несколько значений и использовать их в дальнейшем в основной программе. Функция применяется обычно для вычисления некоторого единственного значения.