по первому заданию:
обычно глубина цвета (не изображения) измеряется в битах.
Посмотрим сколько всего бит у нас есть:
384 килобайта = 384*1024 байт = 393216 байт
в каждом байте 8 бит, значит 393216*8 = 3145728 бит.
теперь посмотрим сколько у нас всего пикселей:
1024*768 = 786432 пикселей.
Посмотрим сколько у нас получается бит на каждый пиксел.
Разделим биты на пикселы:
3145728/786432 = 4 бита на пискел.
4 бита на пискел это 2^4 = 16 цветов.
ответ: глубина цвета изображения 4 бита или 16 цветов.
2ое задание:
Длина кода изображения равна 600 Кб, битовая глубина цвета - 16 битов. Какой размер растра используется для вывода изображения: 640х480 или 1024х768?
у нас есть 600Кб информации.
Посмотрим сколько это бит
600(килобайт)*1024(байт в килобайте)*8(бит в байте) = 4915200 бит.
У нас каждая точка(пиксел) занимает 16 бит
Значит у нас: 4915200/16 = 307200 пикселей.
Посчиатем пикселы для разных разрешений (размеров растра)
640*480=307200
1024*768 = 786432
Значит ответ: размер растра у нас 640*480. (совпадают количества пикселей)
Не лишу себя удовольствия показать еще одно очень красивое и очень странное решение через словари.
n = int(input())
print({1<=n<=4: "Начальная школа",
5<=n<=9: "Среднее звено",
10<=n<=11: "Старшее звено"}[True])
Здесь мы создаем неименованный словарь, который в качестве ключа использует условное выражение, а в качестве значения - соответствующую этому выражению строку.
Когда мы тут же передаем ему в качестве ключа True, словарь начнет проверять ключи и вернет именно то значение, у которого выражение-ключ было истинным.
N,K,A:integer;
S,P:real;
Begin
Write('N = ');ReadLn(N);
K:=0;
P:=1;
For N:= 1 to N do
Begin
Read(A);
if A < 0 then
Begin
P:=P*A;
K:=K+1
End
else if A > 0 then S:=S+A;
End;
WriteLn('S = ',S);
WriteLn('P = ',P);
WriteLn('K = ',K);
End.