
2 925 символов
Объяснение:
I = K * i
I - информационный объём текстового сообщения (размер файла, содержащего сообщение)
K - количество символов в сообщении
i - информационный вес одного символа (число бит, используемых для записи одного символа)
N = 2^i
N - мощность алфавита (количество символов в алфавите)
i - информационный вес одного символа (число бит, используемых для записи одного символа)
Дано:
I = 2,5 Кбайт = 20 480 бит
N = 128 символов
Найти:
K
128 = 2^i
128 = 2⁷
i = 7 бит
I = K * i
K = I / i
K = 20 480 / 7 ≈ 2 925 символов
1 Кбайт = 1 024 байт
1 байт = 8 бит
Во первых рекомендую пользоваться компилятором.
Я прикрепила фото результата работы программы. Вышло 405.
Чтоб найти сколько раз повторяется цикл, нужно напротив цикла поставить точку останова и в режиме отладки смотреть сколько раз будет повторяться цикл. Либо добавить еще одну переменную int i= 0;
и в цикле после выражений написать i++; И дальше в конце ее вывести на экран и тебе покажет кол-во итераций(я приложила второе фото с таким решением, посмотри. Результат кол-ва итераций=21)
Когда условие перестанет выполняться, произойдет выход из цикла
(В данном случае условие s/n>=2. До тех пор пока s/n>=2 цикл будет выполняться. Когда результат от деления s/n будет будет меньше 2 цикл перестанет выполняться.)
Если под рукой нет компилятора и нужно узнать сколько раз повторяется цикл, нужно опять таки смотреть на условие цикла.
подставляешь в выражения числа и смотришь выполнится условие или нет. Если выполняется-дальше считаешь. Если не выполняется-выходишь из цикла.
Например, заходим в цикл:
s=300+5 (в итоге s=305)
n=100+5(в итоге n=105)
Дальше смотрим на условие цикла s/n>=2 (305/105>=2 да, значит цикл произведет еще одну итерацию)
s=305+5 (в итоге 310)
n=105+5 (в итоге 110)
Опять проверяем условие(310/110>=2 да, значит цикл произведет еще одну итерацию)
Продолжаем расчеты
s=310+5 (в итоге 315)
n=110+5 (в итоге 115)
Опять проверяем условие(315/115>=2 да, значит цикл произведет еще одну итерацию)
s=315+5 (в итоге 320)
n=115+5 (в итоге 120)
Опять проверяем условие(320/120>=2 да, значит цикл произведет еще одну итерацию)
и тд. пока условие не перестанет выполняться.
Когда оно перестанет выполняться, цикл перестанет выполняться тоже. Потом Посчитаешь сколько раз ты производил вычисления.(сколько было итераций) и поймешь, что их было 21. Т.е твой цикл 21 раз повторяется и выводит результат вычисления переменной s равный 405.
Будут вопросы, спрашивай.
Удачи:)
