2048 это два в 11 степени, значит для записи информации о цвете требуется одиннадцать двоичных разрядов(бит). Это и есть глубина цвета- 11 бит.
Чтобы найти в какую степень требуется возвести двойку для получения числа 2048, нужно вычислить логарифм 2048 по основанию 2 (log₂ 2048). Либо, можно делить 2048 на 2 до тех пор, пока не останется 1 (сколько раз делили и будет ответом).
Если ваш калькулятор не позволяет вычислять логарифмы по произвольному основанию, то можно воспользоваться формулой смены основания логарифма, тогда для расчёта можно использовать десятичный либо натуральный логарифм:
Используем натуральный логарифм:
(если при вычислении не округлять результаты, а использовать полную точность, то получится ровно 11)
1. Алгоритмы бывают линейные, разветвляющиеся (содержащие условия), циклические (содержащие циклы) и комбинированные (объединяющие в себе несколько из перечисленных выше алгоритмов). Несколько особняком стоят рекурсивные алгоритмы. Это алгоритмы, которые повторно обращаются сами к себе. Рекурсивный алгоритм может быть сведен к комбинированному, но в некоторых случаях процесс сведения оказывается трудоемким, а сам алгоритм теряет свою наглядность.
2. Цикл со счетчиком относится к циклическим алгоритмам. Управляет циклом специальная переменная, которая называется счетчиком или параметром цикла. Особенность такого цикла в том, что он всегда выполняется известное число раз, которое определяется заголовком цикла до первого входа в тело цикла. Цикл со счетчиком обеспечивает изменение параметра цикла от некоторого начального значения a до значения b c шагом h. Количество повторений такого цикла вычисляется по формуле , где первое слагаемое округляется до ближайшего меньшего целого. Если n≤0, цикл не выполняется ни разу.
3. В языке Паскаль цикл со счетчиком накладывает весьма жесткие условия на параметр цикла (счетчик): - параметр цикла должен быть целочисленной переменной; - шаг изменения параметра цикла может быть равен или 1, или -1; - значения границ интервала (a,b) и шага h фиксируются перед первым входом в тело цикла и даже будучи измененными в теле цикла уже не влияют на параметр цикла; - значение параметра цикла нельзя изменять в теле цикла; - значение параметра цикла после выхода из цикла считается неопределенным, т.е. не должно использоваться в случае тиражирования исходного кода программы, поскольку в разных реализациях Паскаля это значение может оказать различным- любым, равным последнему допустимому в теле цикла значению, либо отличающимся от этого значение на величину шага в сторону изменения параметра цикла.
4. Реализация поставленной задачи. Число считается четным, если оно делится на 2 без остатка. Нам нужно найти сумму четных чисел из ряда 12, 14, 16, ... 28, 30. Цикл со счетчиком, как было замечено выше, не может обеспечить изменение параметра цикла с шагом два. Поэтому есть три пути. Первый путь - организовать цикл со счетчиком, который переберет все числа от 12 до 30. В теле цикла проверять условие четности и удовлетворяющие этому условию числа передавать не суммирование. Второй путь - найти формулу для общего члена последовательности чисел и реализовать её при изменении счетчика с шагом 1. Формула для получения четных числ натурального ряда известна: m=2*k, где k=1,2,3,... Если мы будем менять k от 6 до 15, то получим набор целых четных чисел m от 12 до 30. Третий путь - вспомнить формулу суммы ряда арифметической прогрессии.
На этом, третьем пути, мы легко нашли ответ и программа получается не нужна. Тем не менее, в задании сказано реализовать цикл со счетчиком и мы выбираем второй путь, как более эффективный.
5. Программа на языке Pascal
var i, s: integer;
begin s := 0; for i := 6 to 15 do s := s + 2 * i; Writeln('Сумма четных чисел от 12 до 30 равна ', s) end.
Результат выполнения: Сумма четных чисел от 12 до 30 равна 210
var
a,b,c,d:Integer;
begin
b:=30;
for a:=1 to 15 do
Begin
c:=5;
WriteLn(b,'/',c);
b:=b-2;
end ;
readln;
end.
Объяснение:
Я смог