Общий расчёт делается через двоичный логарифм (его можно заменить делением двух десятичных или натуральных логарифмов) и потом округление до целого числа с избытком (т.е. округляем всегда вверх) обозначается вот такими палочками с выступами сверху ⌈ ⌉ .
Единственный нюанс в том, что это формула для N значений. А тут спрашивается, сколько разрядов нужно для хранения числа 134.
Я так понимаю, что при этом количество значений N = 134 + 1 = 135 (эта единица- учёт того, что есть ещё и нулевое значение, по крайней мере в такой форме хранения целых числел- в виде двоичного числа).
Ну, либо можно использовать таблицу степеней двойки, и подобрать по ней такую степень, значение которой равно или чуть больше вашего числа. Опять же, здесь N- это количество значений, которые можно хранить в двоичных разрядов (т.е. тут тоже надо считать и нулевое значение). Например:
1 2
2 4
3 8
4 16
5 32
6 64
7 128 <-- это значение ещё не достаточное (меньше, чем 135)
8 256 <-- а вот это значение минимально необходимое (8 разрядов)
Не совсем понял суть вопроса, но, скорее всего, задача состоит в том, чтобы подсчитать число итераций (количество прохождений цикла), поэтому, распишу такую постановку вопроса
а) for i:=1 to 2 do
В данном цикле переменная i принимает значение 1 и проводит итерации (повторения) до тех пор, пока не дойдёт до значения 2.
- первый проход (i равно единице)
- второй проход (i равно двум)
- конец
То есть, в этой циклической конструкции код исполнился 2 раза (т.к. i увеличивалось с единицы до двух)
б) for i:=2 to 3 do
В данном цикле переменная i принимает значение 2 и проводит итерации (повторения) до тех пор, пока не дойдёт до значения 3.
- первый проход (i равно двум)
- второй проход (i равно трём)
- конец
То есть, в этой циклической конструкции код исполнился 2 раза (т.к. i увеличивалось с двух до трёх)
в) for i:=1 to 3 do
В данном цикле переменная i принимает значение 1 и проводит итерации (повторения) до тех пор, пока не дойдёт до значения 3.
- первый проход (i равно единице)
- второй проход (i равно двум)
- третий проход (i равно трём)
- конец
То есть, в этой циклической конструкции код исполнился 3 раза (т.к. i увеличивалось с единицы до трёх)
Приношу извинения за то, что на русском языке, но украинский я не знаю :)
Общий расчёт делается через двоичный логарифм (его можно заменить делением двух десятичных или натуральных логарифмов) и потом округление до целого числа с избытком (т.е. округляем всегда вверх) обозначается вот такими палочками с выступами сверху ⌈ ⌉ .
Единственный нюанс в том, что это формула для N значений. А тут спрашивается, сколько разрядов нужно для хранения числа 134.
Я так понимаю, что при этом количество значений N = 134 + 1 = 135 (эта единица- учёт того, что есть ещё и нулевое значение, по крайней мере в такой форме хранения целых числел- в виде двоичного числа).
Ну, либо можно использовать таблицу степеней двойки, и подобрать по ней такую степень, значение которой равно или чуть больше вашего числа. Опять же, здесь N- это количество значений, которые можно хранить в двоичных разрядов (т.е. тут тоже надо считать и нулевое значение). Например:
1 2
2 4
3 8
4 16
5 32
6 64
7 128 <-- это значение ещё не достаточное (меньше, чем 135)
8 256 <-- а вот это значение минимально необходимое (8 разрядов)
9 512
10 1024
11 2048
12 4096
13 8192
14 16384
15 32768
16 65536
а) исполнился 2 раза
б) исполнился 2 раза
в) исполнился 3 раза
Объяснение:
Не совсем понял суть вопроса, но, скорее всего, задача состоит в том, чтобы подсчитать число итераций (количество прохождений цикла), поэтому, распишу такую постановку вопроса
а) for i:=1 to 2 do
В данном цикле переменная i принимает значение 1 и проводит итерации (повторения) до тех пор, пока не дойдёт до значения 2.
- первый проход (i равно единице)
- второй проход (i равно двум)
- конец
То есть, в этой циклической конструкции код исполнился 2 раза (т.к. i увеличивалось с единицы до двух)
б) for i:=2 to 3 do
В данном цикле переменная i принимает значение 2 и проводит итерации (повторения) до тех пор, пока не дойдёт до значения 3.
- первый проход (i равно двум)
- второй проход (i равно трём)
- конец
То есть, в этой циклической конструкции код исполнился 2 раза (т.к. i увеличивалось с двух до трёх)
в) for i:=1 to 3 do
В данном цикле переменная i принимает значение 1 и проводит итерации (повторения) до тех пор, пока не дойдёт до значения 3.
- первый проход (i равно единице)
- второй проход (i равно двум)
- третий проход (i равно трём)
- конец
То есть, в этой циклической конструкции код исполнился 3 раза (т.к. i увеличивалось с единицы до трёх)
Приношу извинения за то, что на русском языке, но украинский я не знаю :)
Надеюсь и правильно понял суть вопроса