Pascal
а) C[1]:= C[3] + C[5];
б) С[6]:= C[1] * C[2] * 2;
Program spiski;
type
ListElement = ^TListElement;
TListElement = record
Data: integer;
Next, Previous: ListElement;
end;
var
first, current, last: ListElement;
i: integer;
procedure Delete(var element: ListElement);
var
x: ListElement;
begin
while element <> nil do
begin
if (element^.Data = 0) and (element^.Next <> nil) then begin
x := element^.Next; {следующий элемент который надо удалить}
{сшиваем дырку которая образуется после удаления х}
element^.Next := x^.Next;
if (x^.Next <> nil) then
x^.Next^.Previous := element;
Dispose(x);
end;
element := element^.Next;
end;
end;
procedure Print(first: ListElement);
begin
if first = nil then
begin
writeln('Список пуст.');
exit;
end;
while first <> nil do
begin
Write(first^.Data, ' ');
first := first^.Next
end;
writeln;
end;
begin
for i := 1 to 11 do
begin
if first = nil then
begin
new(first);
first^.Next := nil;
first^.Previous := nil;
last := first;
end
else
begin
new(last^.Next);
last^.Next^.Previous := last;
last := last^.Next;
last^.Next := nil;
end;
last^.Data := random(8 + 5) - 5;
end;
current := first;
Print(first);
Delete(current);
Print(first);
end.
Ширина изображения: 6 * 256 = 1536
Высота изображения 8 * 256 = 2048
Общее количество точек в изображении 1536 * 2048 = 3 145 728
6 МБайт = 6 * 1024 * 1024 = 6 291 456
На каждую точку приходится 6 291 456 / 3 145 728 = 2 байта или 16 битов
Цвет состоит из 3 компонент (красный, зелёный, синий), поэтому на каждый цвет приходится 16 / 3 = 5 бит.
Ответ: цветовая глубина 5 бит на пиксель.
Примечание: часто используется схема, в которой на красный и синий отводится по 5 битов, а на зелёный 6, что позволяет полностью занять все 16 битов.
512 цветов это 2^9 т.е глубина цвета 9 бит
переведём объем в биты
3600*8=28800 бит
определим количество точек
28800/9= 3200 точек
Первая программа
var x,s,z:integer;
begin
writeln('Введите целое число:');
readln(x);
z:=x;
while z <> 0 do begin
s:=s + z mod 10;
z:=z div 10;
end;
writeln('Сумма цифр числа ',x,' равна ',s);
end.
Вторая программа
var x,i,z,j,k,leng:integer;
a:array of integer;
begin
writeln('Введите целое число:');
readln(x);
z:=x;
while z <> 0 do begin
leng += 1;
z:=z div 10;
end;
SetLength(a,leng+1);
for i:=leng downto 1 do begin
a[i]:=x mod 10;
x:=x div 10;
end;
for i:=1 to leng do begin
for j:=i to leng-1 do begin
if(a[i] = a[j+1]) then
k += 1;
end;
end;
if(k > 0) then
writeln('Да')
else
writeln('Нет');
end.